
- •Введение
- •Глава 7. Стандартизация в компьютерной графике 189
- •Глава 8. Форматы графических файлов 216
- •Глава 9. Технические средства кг (оборудование кг) 265
- •Г л а в а 1. Основные понятия
- •Разновидности компьютерной графики
- •1.2. Принципы организации графических программ
- •Г л а в а 2. Растровая графика. Базовые растровые алгоритмы
- •2.1. Растровые изображения и их основные характеристики
- •Разрешающая способность в зависимости от расстояния
- •2.2. Вывод изображений на растровые устройства
- •2.3. Методы улучшения растровых изображений
- •2.21. Диагональное расположение ячеек 5x5
- •2.4. Базовые растровые алгоритмы
- •Характеристики шейдерных возможностей видеоадаптеров
- •2.5. Инструменты растровых графических пакетов
- •2.6. Преимущества и недостатки растровой графики
- •Г л а в а 3. Ве кторная графика
- •3.1. Средства создания векторных изображений
- •3.2. Сравнение механизмов формирования изображений в растровой и векторной графике
- •3.3. Структура векторной иллюстрации
- •3.4. Математические основы векторной графики
- •3.5. Элементы (объекты) векторной графики
- •3.6. Достоинства и недостатки векторной графики
- •Г л а в а 4. Фрактальная графика
- •4.1. Математика фракталов. Алгоритмы фрактального сжатия изображений
- •4.2 Обзор основных фрактальных программ
- •Г л а в а 5. Цветовые модели компьютерной графики
- •5.1. Элементы цвета
- •5.1.1 Свет и цвет
- •5.1.2. Физическая природа света и цвета
- •5.1.3. Излученный и отраженный свет
- •5.1.4. Яркостная и цветовая информация
- •5.1.5. Цвет и окраска
- •5.2. Характеристики источника света
- •5.2.1. Стандартные источники
- •5.2.2 Особенности восприятия цвета человеком
- •5.3. Цветовой и динамический диапазоны
- •5.4. Типы цветовых моделей
- •5.4.1. Аддитивные цветовые модели
- •5.4.2. Субтрактивные цветовые модели
- •5.4.3. Перцепционные цветовые модели
- •5.4.4. Системы соответствия цветов и палитры
- •5.4.5. Триадные и плашечные цвета
- •5.4.6. Цветовые режимы
- •Г л а в а 6. Реалистическое представление сцен
- •6.1 Закрашивание поверхностей
- •6.1.1. Модели отражения света
- •6.1.2. Вычисление нормалей и углов отражения
- •6.2 Метод Гуро
- •6.3 Метод Фонга
- •6.4. Имитация микрорельефа
- •6.6. Пример имитации микрорельефа методом dot3 Bump Mapping
- •6.5 Трассировка лучей
- •6.6 Анимация
- •Глава 7. Стандартизация в компьютерной графике
- •7.2 Международная деятельность по стандартизации в машинной графике
- •7.3 Классификация стандартов
- •7.4 Графические протоколы
- •7.4.1 Аппаратно-зависимые графические протоколы
- •7.4.2 Языки описания страниц
- •7.4.3 Аппаратно-независимые графические протоколы
- •7.4.4 Проблемно-ориентированные протоколы
- •7.4.5 Растровые графические файлы
- •Глава 8. Форматы графических файлов
- •8.1 Векторные форматы
- •8.2 Растровые форматы
- •8.3 Методы сжатия графических данных
- •8.5. Форматы мультимедиа
- •8.6. Преобразование файлов из одного формата в другой
- •Глава 9. Технические средства кг (оборудование кг)
- •9.1 Видеоадаптеры
- •9.2 Манипуляторы
- •9.3 Оборудование мультимедиа
- •9.4 Мониторы
- •9.5 Видеобластеры
- •9.6 Периферия
- •9.6.1 Принтеры
- •9.6.2 Имиджсеттеры
- •9.6.3 Плоттеры
- •9.7 Модемы
- •9.8 Звуковые карты
- •9.9 Сканеры
- •Планшетные сканеры
- •9.10. Цифровые фотоаппараты и фотокамеры
- •Литература
8.5. Форматы мультимедиа
Вследствие особенностей видеоинформации, сжатие без потерь в цифровой видеозаписи само по себе почти не применяется. Использование, например, методов, подобных тем, что используются в архиваторах типа WinZIP, позволяет уменьшить размер файла не больше, чем на 2/3, хотя, конечно, при этом не происходит ухудшение качества изображения.
Сжатие с потерей качества является основным методом уменьшения размера видеофайлов. Большинство используемых методов основано на определении и удалении из файла той части информации, которую зритель при просмотре фильма, скорее всего, не заметит, Основными форматами цифрового видео, которые используют сжатие с потерями, на сегодняшний день являются Apple QuickTime, AVI, Intel Indeo, MJPEG, MPEG-1, MPEG-2, и MPEG-4.
Сжатие становится более эффективным при одновременной обработке данных нескольких кадров.
Один из приемов, который используется при работе с видеоданными, состоит в вычислении последовательных различий, а именно - в простом вычитании данных следующего кадра из данных предшествующего и сжатии полученных разностей. Как правило, кадры, идущие друг за другом, во многом похожи, поэтому большие фрагменты изображений будут давать нулевую разность. Однако в ряде случаев этот прием оказывается неэффективным, например, при медленном панорамировании сцены с множеством мелких объектов.
Более эффективным приемом является предсказание движения, а именно - программа кодирования ищет блоки пикселов, которые перемещаются, и кодирует только координаты этого блока и его перемещение. Естественно, сравнительно с декодированием процесс самого кодирования (сжатия) при предсказании движения значительно сложнее реализовать. В результате некоторые наилучшие алгоритмы сжатия видеоданных асимметричны, то есть процесс сжатия требует намного больше усилий (времени), чем процесс декодирования. Следует отметить, что, в данном случае, асимметричность алгоритмов не является важным недостатком из-за того, что сжатие видеоданных осуществляется, как правило, один раз в конце работы над ними. Главное, чтобы при просмотре видеоданных обеспечивалась достаточная скорость декодирования.
Очевидно, для первого кадра фильма нельзя использовать метод вычисления последовательных разностей. Следовательно, всегда будет существовать, по крайней мере, один опорный кадр (I-кадр), не требующий знания предшествующего кадра для декодирования. На самом деле такой опорный кадр не один. По всей длине фильма специально размещены опорные кадры. Некоторые из них - естественные опорные кадры, которые возникают, например, при изменении сцены. Наличие многих опорных кадров полезно в ряде случаев: при потере некоторых кадров; при просмотре фильма не с начала; при необходимости в целях синхронизации пропускать несколько нераспакованных кадров (на медленных процессорах).
Рассмотрим некоторые форматы мультимедиа.
Формат АVI (Audio Video Interleaved), являющийся специальным форматом представления видеофайлов в операционных системах семейства Windows и поэтому широко использующийся в персональных компьютерах. Этот формат создает отдельные моментальные фотографии, фреймы, и потом связывает их в единое целое, причем аудиосигнал может быть частью фреймов. В отличие от других форматов, формат AVI служит как бы оболочкой для программ сжатия видеоданных. Видов сжатия, которые подходят для файлов AV1, очень много. Для создания файла AVI необходимо Использовать соответствующее оборудование, причем возможно использование традиционной аналоговой видеокамеры с последующей оцифровкой аналогового видеосигнала.
Формат видеофайлов MPEG (Motion Picture Experts Group), сжимающий видеофайлы по алгоритмам, удаляющим избыточную информацию, в частности использующим вычисление последовательных различий и предсказание движения. Так, например, если на протяжении нескольких секунд демонстрируется один и тот же неподвижный объект, то в MPEG файле за это время будут сохранены только один фрейм и информация о том, на протяжении какого времени в этом фрейме не происходили изменения. Именно поэтому размеры MPEG файлов меньше в среднем в три раза, чем размеры других видеофайлов. Обычно для их создания и воспроизведения нужно особое аппаратное и программное обеспечение.
Формат QuickTime, разработанный фирмой Apple для операционных систем семейств Macintosh и Windows. QuickTime - расширение программного обеспечения System Macintosh. Программы, поддерживающие QuickTime, отображают анимационные или видеоряды точно синхронизированными с высококачественным цифровым звуком. В операционной системе Windows видеофайлы формата QuickTime имеют расширение .MOV. С 1993 по 1998 г. этот формат был доминирующим. Его версия с номером 4.1 позволяет передавать данные в потоковом режиме. Это значит, что нет необходимости целиком загружать файл, чтобы начать просмотр видеофильма. Однако с появлением спецификаций MPEG данный формат постепенно теряет популярность. Одна из проблем состоит в закрытости стандарта QuickTime. Способы, с помощью которых кодируется видео, Apple держит в секрете.
Формат AVI
AVI (Audio Video Interleaved - чередование аудио и видео) - формат файлов, введенный фирмой Microsoft для обеспечения работы с видеоизображениями в среде Windows. В этом формате секторы видеоданных чередуются с секторами звуковых данных таким образом, чтобы видеоплеер мог поддерживать минимальную буферизацию данных.
AVI является специальным случаем формата RIFF (Resource Interchange File Format). RIFF - универсальный формат для обмена данными мультимедиа, совместно разработанный Microsoft и IBM. Фактически, R1FF - это аналог формата IFF, созданного Electronic Arts в 1984 году.
По структуре файл AVI-формата представляет собой вариант файла формата RIFF. Файл этого формата состоит из блоков (chunks), которые, в свою очередь, могут содержать другие вложенные блоки. Если самый "внешний" блок содержит идентификатор формата "avi", это означает, что мы имеем дело с avi-файлом.
В AVI-файле есть по крайней мере два подблока: подблок заголовка и подблок данных.
Подблок заголовка содержит общую информацию о фильме: разрешающую способность изображения, частоту кадров, аудиоформат, длину файла (на запись отведено 32 байта) и т. п. Разрядность последнего параметра означает, что максимально возможный размер файла - около 4 Гб. Как правило, реальная длина AVl-файла стандартного формата, с которым могут работать программы монтажа, не превышает 2Гб. Этого было достаточно, поскольку файловая система FAT 16 не допускала существования логического диска с размером, большим 2Гб, а размер файла, естественно, не может превышать размер логического диска, С появлением FAT 32 верхняя граница размера раздела значительно отодвинулась.
Подблок данных представляет собой последовательность записей, каждая из которой состоит из одного кадра и соответствующего звукового сопровождения. Если для видео распределение на кадры - естественно, то звук - это непрерывный поток, который искусственно распределяется на фрагменты, соотносящиеся с кадрами. Вследствие этого, если звук пишется через звуковую карту, - точная синхронизация изображения и звука отсутствует, и звук может не совпадать с изображением. Если для записи как видео, так и звука используется устройство видеоввода - с синхронизацией обычно проблем нет.
В формате AVI поддерживается ряд палитр:
8-битная (256 градаций серого);
9-битная YUV (сигнал яркости и два сигнала разности цветов);
12-битная YUV, 4:1:1 (4:1:1 - дискретизация сигнала, который вычисляется для конкретного канала как произведение базовой частоты цифрового кодирования на соответствующий коэффициент: 4 - для канала Y и 1 - для каждого из двух каналов разности цветов);
16-битная YUY2,4:2:2;
8-битная цветная (RGB);
15-битная RGB (16-битная, где старший бит - 0, 5 битов отведено для красного, 5 - для зеленого и 5 - для синего цветов);
16-битная RGB (5 бит - для красного, 6 - для зеленого и 5 -для синего)
24-битная RGB (стандартная RGB палитра; для кодирования каждого из трех цветов отводится 1 байт);
32-битная RGB (по информативности полностью соответствует 24-битной: старший байт устанавливается в 0). 32-битное представление цвета не увеличивает точности цветопередачи.
Аудио - и видеопоследовательности в AVI-файле не содержат временных меток и не создают индексы. Кадры размещены в естественном порядке соответственно их последовательному появлению во времени. Программа-видеоплеер должна отображать кадры видео- последовательности и аудиопотока в соответствии с частотой кадров и частотой дискретизации, указанных в заголовке файла.
Запись в формате AVI может осуществляться без или со сжатием. В отличие от других форматов, AVI служит как бы оболочкой для множества программ сжатия видеоданных. Следует отметить, что иногда это отличие формата из достоинства может превратиться в недостаток. Приведем пример. Допустим, при создании игры для сжатия анимации был использован определенный кодек. Но этот же кодек должен обязательно быть на компьютере пользователя. Конечно, можно распространять кодек с игрой, но тут могут появиться проблемы с установкой и настройкой.
Обычно в формате AVI используется Motion JPEG. Также поддерживаются: Microsoft RLE (только 8-битный цвет), Microsoft Video 1 (только 8- и 16-битный цвет), Indco, Cinepak Editable MPEG (использует только кадры). В последнее время все популярнее при записи в формат AVI становится компрессия по стандарту DVD.
Данные в формате AVI можно экспортировать в разные форматы.
Несмотря на значительное распространение форматов MPEG, формат AVI остается популярным для аудио/видео данных на PC. Значительный процент существующих систем захвата кадров и нелинейного монтажа имеют дело с форматом AVI.
В связи с большим количеством ограничений базового стандарта AVI, консорциумом Open Digital Media было разработано расширение формата AVI - OpenDML AVI - с учетом особенностей, необходимых для профессионального производства видео. Это расширение включает поддержку полей (не только кадров), размеры файлов могут быть больше 1 Гб, есть временной код и много Других особенностей. Microsoft включила поддержку OpenDML AVI в DirectShow 5.1 (ActiveMovie 5.1). Это расширение также используется в разных профессиональных программах для производства видео на PC, в частности DigiSuite (Matrox).
Формат QuickTime
Разработанная фирмой Apple система QuickTime состоит из трех частей:
формат файлов QuickTime Movie file,
QuickTime Media Abstraction Layer.
QuickTime media services.
Media Abstraction Layer - это уровень, который определяет способы взаимодействия между программами, аппаратурой компьютера и набором функций QuickTime, то есть он позволяет разработчикам программного и аппаратного обеспечения получить доступ к возможностям QuickTime, в частности, определяет, как аппаратура компьютера может ускорять работу какой-то отдельной части системы QuickTime и т. п.
QuickTime media services - библиотека встроенных медиа-функций QuickTime, которая обеспечивает программный интерфейс.
Фундамент всей системы - формат файлов QuickTime, называемый QuickTime Movie. Формат может содержать практически любые медиа-данные - видео- и аудиодорожки, последовательности MIDI-сообшений (стандартные MIDI-файлы SMF), текст для титров, графику, анимацию и т. п.
Структура movie определяет номер и тип каждой дорожки, и предоставляет информацию о фильме в целом. Дорожки задают продолжительность, последовательность и происхождение данных. И, наконец, носители содержат реальные данные.
Формат QuickTime Movie позволяет хранить всю возможную информацию не только разного типа медиа-дорожек (разного типа аудио- и видеоинформацию), но и информацию о медиа-композиции (наборе медиа-дорожек разного типа) в целом. Это могут быть, например, описания пространственного расположения источников звука на каждой дорожке (панорама) и т. д.
Кроме того, QuickTime Movie - это формат на базе объектов. Он дает пользователям возможность манипулировать данными, например, извлечь из мультимедиа-файла содержимое дорожек разного типа (видео, звук и т.д.) для отдельной обработки, а потом вставить его назад. Можно, например, увеличить или сжать видеовставку (video insert) либо скорректировать ее положения на своем экране. Можно или заменить содержимое дорожек разного типа на другое, или прибавить к существующим дорожкам новую.
QuickTime предоставляет возможность применять практически любой тип видеокомпрессии с помощью Image Compression Manager.
Формат QuickTime может использоваться в разных средах передачи данных, от обычных телефонных модемов со скоростью 14.4 бит/с до спутниковой трансляции или волоконно- оптических сетей с высокой (до 160 Мбит/с) пропускной способностью.
Файлы QuickTime Movie могут синхронизироваться по встроенному таймеру QuickTime, по таймеру других прикладных программ и даже по коду SMPTE аналоговой видеоленты. Файлы версии QuickTime 3 могут иметь несколько дорожек time-code. Эти дорожки могут содержать информацию об источнике отсчета синхронизации, форматы и нумерацию отдельных кадров. Данные хранятся на этих дорожках во внутреннем формате time-code QuickTime, совместимом со всеми современными стандартами, включая тайм-коды SMPTE, PAL, SECAM, NTSC. Один MOVIE-файл может содержать одновременно дорожки в любом из этих форматов. QuickTime, чтобы синхронизировать воспроизведение, сам определит, какие кадры при этом должны "выпасть" (при использовании тайм-кода "с выпадениями").
Файлы QuickTime состоят из серии вложенных атомов. Каждый атом содержит четырех байтовый идентификатор, задающий длину этого атома и следующий четырехбайтовый идентификатор. Программа чтения такого формата просто пропускает нераспознанные атомы. В файле с одной ветвью информация (видеофрагменты, звуковые данные) объединена в один атом mdat. Atom moov содержит в себе атом заголовка фильма mvhd и набор атомов trak, которые описывают каждую дорожку. Эти атомы trak, в свою очередь, содержат атомы mdia, которые задают формат и размещение данных носителя в атоме mdat. Кроме того, атом trak содержит в себе атом заголовка дорожки tkhd, определяющий вид данных на этой дорожке, и атом списка редактирования edts, задающий порядок воспроизведения разных частей дорожки.
QuickTime не требует сохранять файлы только в своем формате, он позволяет открывать файлы других форматов. Формат файлов QuickTime является расширяемым.
Начиная с третьей версии, весь QuickTime для MacOS перенесен на Windows-платформу - стало возможным создавать QuickTime-файлы в системе Windows. С помощью Windows-вере и и Movie Player'a можно прибавлять звуковые, текстовые и MIDI-дорожки к существующему AVI-файлу и проигрывать его.
Особенностью файлов QuickTime, создаваемых на платформе Macintosh, является то, что они содержат в себе два раздела: данные - data fork и ресурсы - resource fork. Чтобы файлы, созданные на платформе MacOS, открывались на платформе Windows, надо сохранять файл, предварительно выбрав опцию "Make movie self-contained" (тогда раздел resource fork не содержит никакой информации, но размер файла заметно увеличивается).
Файлы QuickTime Movies могут распространяться в виде файлов с расширением .MOV (стандартный файл movie), и с расширением -QTR, в котором хранится resource fork - QuickTime Movie Player for Windows обрабатывает файлы именно с таким расширением.
Форматы MPEG
Стандарт MPEG определяет ряд разных форматов. Например, стандарт MPEG-1 определяет один формат для кодируемых видеоданных, три для кодируемого звука и формат для системного потока, служащий для объединения видео- и аудиоданных. Концепция сжатия видеоизображений в формате MPEG следующая:
• определить, какая именно информация в потоке повторяется хотя бы в течение какого-либо отрезка времени, и принять меры к предотвращению дублирования этой ин формации;
• использовать особенности человеческого зрения при выборе соответствующих методов сжатия и их точности.
Известно, что пиковая зрительная разрешающая способность достигается в участке сетчатки, так называемой центральной ямке, которая охватывает всего лишь два градуса угла зрения. По мере отдаления от центральной ямки плотность фоторецепторов снижается почти по экспонентному закону. Это означает, что для зрителя, который смотрит в центр киноэкрана, разрешающая способность в периферийных зонах изображения почти полностью утрачивает значение (с другой стороны, периферийное зрение характеризуется высокой восприимчивостью к колебаниям яркости). Кроме того, способность человека различать мелкие цветные элементы в движущемся изображении значительно уступает его способности различать изменения яркости - поэтому изменения цветов могут кодироваться значительно грубее, чем изменения яркости.
Объясним, как может реализоваться концепция сжатия видеоизображений на примере следующей сцены: перемещение автомобиля на фоне леса. Фон при этом можно считать неизменным, поскольку основное внимание зрителя обычно обращено на подвижный предмет на переднем плане, даже если появляются какие-то мелкие изменения - зритель едва ли обратит внимание или успеет их заметить. Итак, можно разбить кадр на две составных части - фон, который сохраняется один раз, а потом подставляется при воспроизведении всех кадров, и область с движущимся автомобилем, - ее записывают в отдельности для каждого кадра.
Благодаря реализации этой концепции MPEG-компрессор сжимает видеопоток в десятки и даже сотни раз без значительной потери изображением качества.
Следует отметить, что однозначно оценить качество кодирования какими-то приборами невозможно. Главный критерий - это восприятие человеком декомпрессированной информации. Поэтому правила сжатия видеоданных при MP EG-кодировании разрабатываются на основе модели восприятия человеком видеоизображений (HVS - Human Visual Sense).
Избыточность изображения согласно HVS подразделяется на три основных вида.
Невидимые человеческому глазу участки изображения. Это, например, места гашения по вертикали и горизонтали. Удаление этой информации никак не сказывается на изображении.
Статистически избыточные участки изображения. Различают пространственную (участки изображения, на которым соседние пикселы практически одинаковы) и временную (неизменяемые во времени участки изображения) избыточность.
Избыточные по цвету и яркости участки изображения. Учитывается ограниченная чувствительность человека к небольшим изменениям яркости и в особенности цвета фрагментов изображения.
Рассмотрим, как осуществляется сжатие видеоданных в формате MPEG на примере работы MPEG-1.
Перед началом кодирования происходит анализ видеоинформации, выбираются опорные кадры, которые не будут изменяться при сжатии, а также кадры, при кодировании которых часть информации будет удаляться.
Для удобства кодирования видеоданных весь видеопоток разбивается на группы, которые названы GOP (Group of Pictures- группа изображений). GOP строится, например, следующим способом:
I B B P B B P B B I,
где I - Independent (независимые, опорные) кадры. MPEG-последовательности без этих кадров не может быть. Опорные кадры содержат всю информацию об изображении и не требуют для декодирования никакой дополнительной информации. При компрессии I-ых кадров с помощью метода типа JPEG происходит удаление только пространственной избыточности. Именно с этого кадра начинается декодирование изображения в последовательности.
Р - Predictive кадры. "Предсказанные" кадры, при формировании которых используется разность между предшествующим I - или P-кадром и текущим кадром. Эта разность кодируется и вместе с вектором движения прибавляется к сжатым данным, P-кадр создается с помощью межкадровой компрессии, которая уменьшает как пространственную, так и временную чрезмерность. То есть, при создании P-кадра происходит сжатие, которое учитывает избыточность последовательных кадров. Этот кадр также служит для дальнейшего предсказания изображения.
В - Bi-directional. "Двунаправленные" кадры. Сохраняют только наиболее важную информацию про соседние I- или P-кадры. То есть B-кадры являются промежуточными интерполированными кадрами и имеют высочайшую степень компрессии. Наличие 3-кадров в видеофильме - фактор, благодаря которому MPEG-1 имеет высокий коэффициент сжатия (но не очень высокое качество). Формирование разных 5-кадров в рамках одной GOP может происходить по разным правилам. Разные B-кадры могут использовать информацию (возможно, используя сжатие разности) или об одном, или о двух кадрах (предшествующем и последующем),
Структуру MPEG потока обычно описывают в виде дроби M/N, где М равняется общему числу кадров в G0P, а N показывает, которым по номеру будет очередной P-кадр после предыдущего Р-кадра.
Что касается глубины цвета, то MPEG-1 использует цветовую схему YCbCr, где Y - это плоскость яркости, Сb и Сr - цветовые плоскости. Эти плоскости кодируются с разной разрешающей способностью. Существуют несколько вариантов кодирования.
Как видно из таблицы 8.9, Сb и Сr практически всегда кодируются с меньшей разрешающей способностью, чем Y. Чем меньше разрешающая способность цветовых плоскостей, тем грубее и ненатуральнее цветопередача в видеофильме. Разумеется, самым некачественным, да и самым компактным будет последний вариант.
Таблица 8.9. Варианты кодирования MPEG
Вариант кодирования |
Соотношение разрешения Cb/Y (Cr/Y) по горизонтали |
Соотношение разрешения Cb/Y (Cr/Y) по вертикали |
|
4:4:4 |
1:1 |
1 |
1 |
4:2:2 |
1:2 |
1 |
1 |
4:2:0 |
1:2 |
1 |
2 |
4:1:1 , |
1:4 |
1 |
1 |
4:1;0 |
1:4 |
1 |
4 |
Поток данных MPEG состоит из шести иерархических уровней:
Блок - содержит данные о яркости и цветности для блоков изображения (в MPEG-1 блоки имеют размер 8x8 пикселов). Блоки анализируются по значениям Y, Сb и Сr.
Макроблок - состоит из 4 простых блоков в окне. В формате 4:2:0 макроблок содержит 4 блока данных Y и по одному Сb и Сr.
Слой - содержит несколько сопредельных макроблоков.
Кадр - состоит из группы слоев, содержащих изображение, которое может быть I-,P или В-типа.
Группа изображений (GOP) - содержит последовательность кадров. Должна обязательно начинаться с I-кадра.
Видеопоследовательность - содержит минимум одну GOP, а также заголовок в начале последовательности и код конца последовательности.
По окончании разбивки кадров на разные типы начинается процесс подготовки к кодированию.
I-кадры просто разбиваются на блоки.
Для кадров типа Р и В нужна более сложная подготовка, для их более сильного сжатия используется алгоритм предсказания движения.
В качестве входной информации алгоритм предсказания движения получает блок текущего кадра и аналогичные блоки от предшествующих кадров (I - ли Р - типа). На выходе данного алгоритма располагаем следующей информацией о вышеуказанном блоке:
вектор движения текущего блока относительно предшествующих;
разность между текущим и предшествующими блоками, которая, собственно, и будет подлежать дальнейшему кодированию.
Понятно, что алгоритм предсказания движения имеет ограничение. В фильмах есть статические сцены, в которых движение незначительное или его совсем нет, следовательно, есть блоки или целые кадры, для которых невозможно использовать этот алгоритм.
В случае корректного срабатывания алгоритма предсказания движения, объемы кадров разного типа соотносятся друг с другом приблизительно как I : Р : В = 15:5:2. Таким образом, уменьшение объема видеоинформации имеет место уже на стадии подготовки к кодированию.
По окончании этой стадии начинается собственно само кодирование. Используется сжатие с потерями, благодаря чему достигается высокий коэффициент компрессии.
Синхронизация аудио- и. видеоданных осуществляется с помощью специально выделенного потока данных, так называемого System stream. Этот поток имеет 2 слоя - системный слой с встроенным таймером, работающим с частотой 90 КГц, и со служебной информацией для синхронизации кадров и аудиотрека, а также компрессионный слой с видео- и аудиопотоками. Служебная информация - это несколько видов меток, наиболее важные из которых - SCR (System Clock Reference) - инкремент увеличения значения временного счетчика - и PDS (Presentation Data Stamp) - метка начала воспроизведение видеокадра или аудиофрейма.
Порядок распаковывания кадров зависит от наличия S-кадров, которые могут опираться не только на предшествующие, но и на последующие кадры.
О некотоых других форматах
Adobe PostScript
PostScript - язык описания страниц (язык управления лазерными принтерами) фирмы Adobe. Был создан в 80-х годах для реализации принципа WYSIWYG (What You See is What You Get). Файлы этого формата представляют из себя программу с командами на выполнение для выводного устройства. Они имеют расширение .ps или, реже, .prn и получаются с помощью функции Print to File графических программ при использовании драйвера PostScript-принтера. Такие файлы содержат в себе сам документ (только то, что располагалось на страницах), все связанные файлы (как растровые, так и векторные), использованные шрифты, а так же другую информацию: платы цветоделения, дополнительные платы, линиатуру растра и форму растровой точки для каждой платы и другие данные для выводного устройства. Если файл создан правильно, не имеет значения на какой платформе он делался, были использованы шрифты True Type или Adobe Type 1 - все равно. Тем не менее нужно учитывать, что даже в том случае, когда вы сделали верные установки в окне печати, могут возникнуть проблемы связанные с некорректным переводом используемой вами программы ее графического языка на язык PostScript (например, внедрением информации о неиспользуемых шрифтах). Наиболее корректные PS-файлы создают программы Adobe.
Данные в PostScript-файле, как правило, записываются в двоичной кодировке (Binary). Бинарный код занимает вдвое меньше места, чем ASCII. Кодировка ASCII иногда требуется для передачи файлов через сети, для кроссплатформенного обмена, для печати через последовательные кабели. В приведенных случаях двоичная кодировка может исказиться (что сделает файл нечитаемым) или вызвать "странное" поведение файл-сервера. Эти проблемы давно изжиты в современных системах, но старые компьютеры и серверы бывают им подвержены. Сказанное относится ко всем форматам, основанным на языке PostScript: EPS и PDF, которые описываются ниже.
PDF (Portable Document Format)
PDF предложен фирмой Adobe как независимый от платформы формат для создания электронной документации, презентаций, передачи верстки и графики через сети. Используется как внутренний графический формат в Mac OS X.
PDF-файлы создаются путем конвертации из PostScript-файлов или функцией экспорта ряда программ. Для конвертации используется программа Adobe Acrobat Distiller, это лучший способ создания PDF. Создание PDF методом экспорта из программ дает, как правило худший результат - файлы получаются более тяжелыми, часто имеют проблемы со встраиванием шрифтов.
Для создания PDF так же существует программа PDFWriter, работающая как виртуальный принтер. PDFWriter не основан на PostScript и не может корректно обрабатывать графику. Он предназначен для быстрого изготовления простых текстовых документов. У него наблюдается та же проблема со встраиванием шрифтов, что и многих программ, умеющих экспортировать PDF. Самые надежные и максимально близкие к оригиналу PDF создает из PostScript и EPS-файлов программа Acrobat Distiller, поставляемая в пакете Adobe Acrobat.
PDF первоначально проектировался как компактный формат электронной документации. Поэтому все данные в нем могут сжиматься, причем к разного типа информации применяются разные, наиболее подходящие для них типы сжатия: JPEG, RLE, CCITT, ZIP (похожее на LZW и известное еще как Deflate).
Файл PDF может быть оптимизирован. Из него удаляются повторяющиеся элементы, устанавливается постраничный порядок загрузки страниц через web, с приоритетом сначала для текста, потом графика, наконец шрифты. Однако, когда повторяющихся элементов нет, файл, после оптимизации, как правило, несколько увеличивается.
PDF все больше используется для передачи по сетям в компактном виде графики и верстки. Он может сохранять всю информацию для выводного устройства, которая была в исходном PostScript-файле. Это касается PDF версий 1.2 (Acrobat 3) и выше. Однако, версия 1.2 не может включать сведения о треппинге, некоторые другие специфические данные (DSC, например), не использует цветовые профили. Все это реализовано в последующих вариантах формата.
Adobe Photoshop Document
Внутренний формат популярного растрового редактора Photoshop в последнее время стал поддерживаться все большим количеством программ. Он позволяет записывать изображение со многими слоями (до 1000), их масками, дополнительными Альфа-каналами и каналами простых (spot) цветов, корректирующими, векторными, текстовыми слоями, контурами и другой информацией - все, что может сделать Photoshop. В версии 3.0 появляются слои, контуры и RLE-компрессия, в 4-й версии алгоритм улучшается, файлы становятся еще меньше. В версии 5 реализован принципиально иной подход к управлению цветом. В программу была внедрена архитектура управления цветом, основанная на профилях для сканеров, мониторов и принтеров Международного консорциума по цвету (International Color Consortium, ICC). В шестой версии метод управления цветом переработан.
Несмотря на многочисленные дополнения функциями формат Photoshop'a имеет полную совместимость от 3-й до 7-й версии. В Photoshop'e 2.5 не было слоев и контуров, поэтому он выступает, как отдельный подформат.
Однослойный Photoshop Document понимают ряд программ, многослойные могут импортировать Illustrator и InDesidn. Corel Painter и Corel PHOTO-PAINT открывают на редакцию многослойные документы Photoshop.
Adobe Illustrator Document
Adobe Illustrator - самый первый продукт Adobe. Он был создан сразу же после выхода PostScript Level 1, его можно назвать интерфейсом для PostScript. До 9-й версии ядро формата основывалось на EPS, с 9-й в основе лежит ядро PDF. Это дает основание полагать, что в будущем появится, наконец, многостраничность. Формат Illustrator'а напрямую открывается Photoshop'ом, его поддерживают почти все программы Макинтош и Windows так или иначе связанные с векторной графикой и графикой вообще. Все, что создает Adobe Illustrator, совместимо PostScript (исключение составляют, разве что Gradient Meshes, которые нужно растеризовать перед закрытием на печать).
Формат Illustrator’ра является наилучшим посредником при передаче векторов из одной программы в другую, с РС на Macintosh и назад. Наиболее совместимыми можно назвать 3-ю и 4-ю версии. При передаче градиентных заливок между векторными редакторами в редактируемом виде (когда они не конвертируются в последовательность фигур) нужно использовать версии формата, начиная с 6-й. Внедренные или связанные с документом растровые файлы при обмене через формат Illustrator'a во всех программах, кроме FreeHand версии 9 и выше, теряются. Начиная с 9-й версии формат Illustrator'а может содержать внедренные шрифты (включая такие особенные шрифтовые форматы как Adobe Type 3 и Adobe Multiple Master) и ICC-профиль. Illustrator 9 позволяет сориентировать проект на цветовое пространство RGB или CMYK и сохранить это в файле.
CorelDRAW Document
Формат известен в прошлом низкой устойчивостью, плохой совместимостью файлов, искажением цветовых характеристик внедряемых битовых карт, тем не менее пользоваться CorelDRAW чрезвычайно удобно, он имеет неоспоримое лидерство на платформе РС. Многие программы на РС (FreeHand, Illustrator, PageMaker - среди них) могут импортировать файлы CorelDRAW.
Файлы формата CorelDRAW можно применять для переноса/передачи работ на PC, но нежелательно импортировать в программы верстки. На Макинтош файлы CorelDRAW для Windows открывают версия CorelDRAW для Макинтош и Adobe Illustrator 8 и выше.
PICT (Macintosh QuickDraw Picture Format)
PICT - собственный формат Mac OS Classic. Стандарт для буфера обмена, использует графический язык Mac OS. PICT способен нести растровую, векторную информацию, текст и звук, использует RLE-компрессию. Поддерживается на Mac’e всеми программами. Чисто битовые PICT-файлы могут иметь любую глубину битового представления (от Lineart до CMYK). Векторные PICT-файлы, которые почти исчезли из употребления в наши дни, имели странные проблемы с толщиной линии и другими отклонениями при печати. Формат используется для потребностей Mac OS, и при создании определенных типов презентаций только для Макинтош. Вне Макинтош PICT имеет расширение .pic или .pct, читается отдельными программами, но работа с ним редко бывает простой и бесхитростной.
RTF (Microsoft Rich Text Format)
Текстовый формат RTF попал сюда за свои неординарные способности к переносу текстов из одной программы в другую. Он позволяет передавать форматированный текст из программ оптического распознавания символов или текстовых редакторов в графические программы или в любых других направлениях. RTF может оказаться хорошим решением (а, иногда, и единственным выходом) при переброске из программы в программу нелатинского, например, ивритского текста или русского в разных версиях ОС Windows.
Секрет совместимости заключается в использовании специальных тегов форматирования RTF и Unicode. Именно Unicode (использованный как основа формата Microsoft Word 97/98 для Макинтош и PC) позволяет легко переносить русские тексты с PC на Мак и обратно в файлах MS Word. RTF используется как основной в поставляемом вместе с Mac OS X редакторе TextEdit и в прилагаемом к Windows программе WordPad.
О сохранении изображений в собственных и «чужих» форматах
Как правило, графические программы используют свои собственные форматы для сохранения изображений во внешней памяти. Собственный файловый формат - частный и наиболее эффективный формат для хранения файлов отдельного графического приложения. Например, «родной» формат CorelDRAW - CDR , Adobe PhotoShop - PSD, Fractal Design Painter - RIFF, Paint (стандартная программа WINDOWS ) - BMP. При сохранении изображения в файле всегда нужно указывать тип формата. На рис. 8.5 показано диалоговое окно (Ехроrt \Экспорт), используемое в программе CorelDRAW.
Кроме того, для каждого «чужого» графического формата открываются дополнительные диалоговые окна, с помощью которых пользователь устанавливает параметры формата (количество используемых цветов, необходимость сжатия - для BMP и TIFF, коэффициент сжатия - для JPEG и др.).
Рис. 8.5. Диалоговое окно для сохранения в CorelDRAW изображения в формате JPEG