Блок дАМА указывает коэффициент гамма-коррекции, используемый в данном изображении. Только очень немногие системы имеют истинно линейные характеристики дисплея. Это число позволяет высококлассным графическим системам корректировать нелинейность графических данных.
cHRM. Блок cHRM указывает точные значения красного, зеленого, синего цветов и белой точки в стандартных координатах CIE XYZ. Этот блок позволяет высококачественным графическим системам производить коррекцию для различающихся цветов фосфора дисплеев.
Графические данные Графические данные занимают один или несколько блоков IDAT. Это можно представить себе следующим образом: вы воссоздаете изображение, объединяя данные всех блоков IDAT, распаковывая их и производя процедуру, обратную операции фильтрации. Границы между блоками никакого значения не имеют. Программа кодирования PNG может либо поместить сжатое изображение целиком в один блок IDAT, либо вообще поместить каждый байт изображения в свой блок.
Чтобы избежать очевидных проблем, PNG использует алгоритм сжатия Deflation (Deflation compression algorithm) (см. стр. 194). Этот алгоритм используют многие «zip» программы, в том числе PKZIP и GNU GZIP, и он не запатентован. Его бесплатные реализации доступны в Internet.
Подобно многим общим алгоритмам сжатия, этот алгоритм не идеально подходит для сжатия изображения, так как он не использует двухмерную природу изображения. Для улучшения сжатия PNG использует фильтры (filtering). Прежде чем сжимать данные, программы кодирования используют ряд простых функций для обработки данных изображения. Например, одна из таких функций просто вычитает значение каждого пиксела от значения пиксела, стоящего справа от него. Благодаря этому шагу большие области близкого цвета конвертируются в большие области с очень маленькими значениями. Другие функции совершают немного более сложные преобразования, но основная идея их такая же. Алгоритм сжатия Deflation, подобно многим другим алгоритмам, работает гораздо лучше, сжимая данные, представляющие собой много очень небольших значений. Программа кодирования указывает, для каждой строки развертки, какая фильтрующая функция была использована. Таким образом, после распаковки данных программа декодирования может с помощью процесса, обратного фильтрации, восстановить исходное изображение.
Опубликовал Kest
February 22 2013 00:47:29 ·
0 Комментариев ·
2833 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.