Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Инженерка.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
5.69 Mб
Скачать

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