Программы для работы с растровыми изображениями
Количество программ для работы с растровыми изображениями очень велико, перечислить даже самые популярные не представляется возможности. По этой причине мы остановимся только на нескольких самых простых и на двух самых совершенных программах этого типа.
К простым программам обработки растровых изображений относятся программа Paint, входящая в состав операционной системы Microsoft Windows, и свободная программа ColourPaint, входящая в состав многих дистрибутивов Linux. Обе эти программы поддерживают простые операции по редактированию растровых изображений (вырезание, копирование, вставка фрагментов изображения, закрашивание цветом или узором, рисование пером и кистью, вставка примитивных геометрических фигур и текста) и сохранению их в наиболее распространенных растровых форматах. Обе эти программы скорее пригодны для развлечения, чем для создания сколько-нибудь серьезных графических композиций, и уж совсем непригодны для обработки сложных цифровых растровых изображений, таких как фотографии и сканированные образы документов (рис. 18.15).
Для серьезной работы существуют другие программные продукты — это коммерческие пакеты Adobe Photoshop и GIMP. Если говорить о сходствах и отличиях между программами GIMP и Adobe Photoshop, то функционально программы очень схожи, но различаются набором доступных встраиваемых модулей (для
Глава 18. Средства мультимедиа
Photoshop их, безусловно, на порядок больше, чем для GIMP) и степенью возможностей автоматизации операций и программирования (вот тут GIMP, конечно же, превосходит своего проприетарного собрата). Обе программы способны выполнять самые разнообразные действия с изображениями в растровых форматах: изменять цветовые схемы, выполнять разнообразные коррекционные действия, накладывать фильтры. Мощным средством является представление изображения как многослойной структуры. На рис. 18.16 показано одно и то же растровое изображение, открытое в GIMP и в Adobe Photoshop.
,^шш
д»эйл ПравкаВид Изображение Нзстрг.йкч "jjuu-.t-.^ v'-|^j|| -»#*»,.
••f 'Л
U тгш'тгштг^гштт
адохзоо lobpp loo1* |
^
Рис. 18.15. Простые программы обработки растровых изображений
8^¥^'Л-:': ■
■;.'-. ;■';'■'",'. - .'■'-. ■, .-!.:'-Л.'---* ' ' V'. '."^'...:.'. '.*■']'." '' >'
Й;.
Ь.Г?Щ$> ■£'<-'r"*~-i Л-?-.;~. '■■'■■:■■.' •■ .■•.':■ • ' ' '-. ■■■■'■ ■ "■ ■ "■'■, ■' ■■■■•"■ г.".':'?"--.- ■ -. '■ :.'-.'■'?' ,}' :, ■■■k--:':^-^:i.'v'.'■■:
■' ""■"■'■ ■ ".■ ' *.' ■■■■'. '..■ ■'.■■■•Л-;■'" ■ ■"/:'.„ ■-^■V'.vVV^:'- vf-^v^'^^VV.^y^-'S"^
Рис. 18.16. Сложные программы обработки растровых изображений
Видео 543
18.4. Видео
Кодирование видеосигналов
При кодировании видеосигналов применяются операции, которые обеспечивают очень высокую степень сжатия.
Как кинофильм является практически потоком фотографий, демонстрируемых на экране с частотой 24 кадра в секунду, так и цифровое видео практически представляет собой последовательность цифровых кадров, то есть фотографий. Однако простой расчет показывает, что даже в случаях, когда видеофильм имеет сравнительно небольшой по сегодняшним меркам размер 512 х 512 пикселов, для хранения 1 секунды фильма требуется 786432 х 24 = 18 874 368 байт. Чтобы сохранить хотя бы часовой фильм, это число нужно умножить на 3600, и мы получим 67 947 724 800, то есть 68 Гбайт на один фильм. При таком объеме фильм невозможно уместить на носителе объемом 4 Гбайт (стандартный объем DVD-дисков). За счет чего же появляется возможность уменьшить размер хранимого видеофильма?
Сжатие видео
Для кодирования каждого кадра видеофильма применяется сжатие в формате JPEG, что даже при сравнительно небольшой потере информации может дать заметное (до 10 раз) уменьшение размера. Помимо сжатия каждого кадра, для уменьшения размер хранимого видеофильма используют некоторые дополнительные приемы.
□ Прореживание. Кодер (программа, осуществляющая кодирование) выбирает
кадры через один и записывает их в сжатый поток. Это приводит к двойному
коэффициенту сжатия. Затем декодер принимает кадры и просто дублирует их
два раза подряд.
□ Вычитание. Кадр сравнивается со своим предшественником. Если разница
между ними мала (всего в нескольких пикселах), то кодер кодирует только
эти отличающиеся пикселы, то есть записывает в выходной поток три числа
для каждого из отличающихся пикселов (его координаты и разность пикселов
двух кадров).
□ Вычитание по блокам. Этот метод является развитием предыдущего. Изобра
жение делится на блоки пикселов, и операция вычитания производится не над
парой кадров, а над каждой парой блоков в кадрах.
□ Компенсация движения. Просмотр любого фильма наводит на мысль, что раз
ница между последовательными кадрами мала из-за движения на сцене, переме
щения камеры или в силу обеих причин. Это свойство тоже можно использовать
с целью повышения коэффициента сжатия.
В результате совмещения всех этих операций при кодировании видеосигнала можно получить очень высокую степень сжатия. Все эти методы кодирования реализованы в современных форматах кодирования цифрового видео, таких как MPEG и AVI. Сам факт применения перечисленных приемов сжатия иногда ста-