Гибкость формата проявляется и в структуре директория для каждого изображения, а также в размещении графических данных, служащих для описания изображений. Эта структура подробнее представлена на рис. 3.5. Заголовок файла содержит информацию, необходимую для идентификации типа файла. Это собственно идентификатор, номер версии и смещение первого директория (IFD0) относительно заголовка файла. В директории изображения (Image File Directory, IFD) содержится несколько структур данных, изначально названных тэгами. В первом из них хранится информации об общем количестве элементов описания изображения – тэгов, а затем размещается каждый такой тэг. В самом конце каждого IFD помещена ссылка на следующий IFD в виде величины его смещения от начала TIFF-файла. Структуры данных, называемые здесь тэгами уже совсем не те тэги, с которыми мы сталкивались в предыдущей главе. Здесь тэг представляет собой элемент данных, служащий для описания изображения. В современных версиях формата TIFF их чаще называют полями. В каждом таком тэге или поле могут содержаться данные изображения или же ссылка на то место в памяти, где они помещены. Все изложенное иллюстрируется рис. 3.5.
   Каждый тэг или поле представляет собой стандартную 12-байтовую структуру, где в первых 4 байтах хранится идентификатор тэга (поля) и тип элементов данных. Следующие 4 байта содержат количество элементов данных в этом поле и лишь последние 4 байта отведены для хранения собственно данных этого поля или же смещения того места, где хранятся эти графические данные.
   Универсальность формата TIFF проявляется также в том, что данные изображения могут быть организованы как в виде полос, так и в виде фрагментов. Понятие полоса для растрового изображения соответствует одной строке или последовательно расположенным нескольким строкам растра. Протяженность полосы измеряется количеством строк растра, которые в нее входят. Таким образом, полоса представляет собой одномерную структуру данных. Каждая полоса задается в некотором тэге (или поле) с помощью смещения относительно начала файла. Это позволяет программам отображения легко находить в файле нужные данные и отображать их независимо от других данных изображения.
 
   Рис. 3.5. Структура размещения данных в TIFF-формате
 
   Фрагмент представляет собой двумерную структуру данных, в нем задается как горизонтальная протяженность (количество пикселов вдоль строки развертки), так и вертикальный размер, т. е. число строк развертки, которые присутствуют (хотя бы частично) внутри фрагмента. Фрагмент – структура прямоугольная. Это позволяет выводить на экран части изображений в том случае, если разрешение компьютера не позволяет вывести изображение целиком. Индивидуальная адресация фрагментов (в виде величины смещения) позволяет программам легко и быстро находить нужный фрагмент изображения и отображать его на экране.
   Нелишним будет также упомянуть, что формат TIFF обладает широкими возможностями развития. Действительно, для того чтобы использовать новый тип данных достаточно определить его в соответствующих тэгах или полях и предусмотреть возможность правильного распознавания этого типа данных в программах просмотра файлов формата TIFF. Именно так были определены сжатые с помощью алгоритма Лемпела-Зива-Велча графические данные в версии 5.0 и с помощью алгоритма JPEG-сжатия – в формате 6.0.
   Формат GIF (Graphic Interchange Format) создан компьютерной информационной службой CompuServe. Он является одним из наиболее употребительных растровых форматов в электронных, в особенности, в сетевых издания. Формат изначально был создан для упрощения обмена данными в локальных компьютерных сетях, при возможности отображения этих данных. Основных достоинств у формата 3:
   ✓ пригодность для различных платформ, т. е. формат GIF является платформно-независимым;
   ✓ возможность хранения нескольких изображений в одном файле и их представление в форме анимационного GIF-файла;
   ✓ малый размер файлов благодаря использованию мощного алгоритма сжатия без потерь.
   Изображение записывается в этом формате с использованием RGB-цветовой модели и данных встроенной в файл палитры индексированных цветов. К сожалению, серьезным ограничением для этого формата является малая глубина цвета, не превышающая 8 бит на пиксел. Важное достоинство этого формата состоит в том, что он позволяет хранить в одном файле несколько изображений. Современная версия GIF89a решила проблему обработки таких изображений, размещенных в одном файле, с помощью дополнительно включенного в файл блока управления графикой. Этот блок позволяет программе просмотра организовать взаимодействие каждого последующего изображения с текущим, что и обеспечило создание широко распространенных анимационных GIF-файлов. Структура анимационного GIF-файла и взаимодействие хранимых в нем различных изображений подробнее рассмотрено в разд. 3.5.1. Там же мы остановимся на структурной организации файлов этого типа. Графические данные в формате GIF могут храниться как последовательно, строка за строкой, так и с различными вариантами чередования строк. В последнем случае рисунок первоначально может создаваться, например, на основе 1/8 части от общего описания, а в дальнейшем к нему добавляются все новые строки, и изображение постепенно "прорисовывается" все четче и четче.
   Растровый формат с глубиной представления цвета до 48 бит и с использованием той же самой RGB-модели создан специальной группой разработчиков и получил название PNG (Portable Network Graphic – переносимый сетевой формат), что произносят как "пинг". Формат PNG изначально планировался как замена формату GIF, но с улучшенными возможностями представления цвета. Он, как и GIF, поддерживает чередование строк и ускоренную начальную загрузку файла. В нем используется еще более эффективный алгоритм сжатия информации. Кроме того, в формате поддерживается режим полупрозрачных корректирующих слоев, аналогичный используемым в векторном AI (Illustrator) и растровом PSD (Photoshop) форматах графических пакетов фирмы Adobe. Единственное ограничение формата PNG по сравнению с GIF состоит в его непригодности для хранения в одном файле нескольких изображений и, вследствие этого, отсутствии анимационных возможностей.
   Рассмотренные выше графические форматы содержали внутреннюю компрессию без потерь информации. Еще один формат, который относят к числу наиболее употребительных, характеризуется регулируемой величиной сжатия в зависимости от допустимой потери качества изображения. Этот формат разработан объединенной группой экспертов в области фотографии JPEG (Joint Photographic Experts Group) и назван аббревиатурой JPEG (расширение файлов, созданных в этом формате – JPG) . Этот формат также растровый с глубиной цвета, равной 24 битам. Преимущественно используется цветовая модель HSL (Hue-Saturation-Lightness или ОттенокНасыщенность-Яркость). Алгоритм сжатия, используемый в таких файлах, носит названия "алгоритм сжатия JPEG". Он был описан ранее в этом же разделе в качестве примера технологии сжатия с потерями в графических файлах. Различные его варианты использованы также при организации сжатия видеоданных (см. разд. 3.5).
   Графические программы, которые позволяют хранить данные в этом формате, обычно выводят специальную линейку, на которой устанавливается значения параметра качества, изменяющегося в пределах от 0 до 10 (см. рис. 3.6). Одновременно с непрерывным изменением коэффициента качества на линейке появляется дискретный параметр качества в форме целого числа в поле ввода Качество, а рядом в раскрывающемся списке расположена соответствующая характеристика этого параметра. При значении от 0 до 4 качество "Низкое", от 5 до 7 – "Среднее", 8 и 9 – "Высокое" и от 10 до 12 – "Максимально". На рисунке значение коэффициента качества равно 6 и качество "Среднее". При сохранении изображения можно установить переключатель Разновидность формата в положение Progressive, при котором величина чередования строк устанавливается в пределах от 3 до 5, что обеспечивает быструю начальную загрузку изображения низкого качества в сетевых структурах.
 
   Рис. 3.6. Диалоговое окно для установки параметров файла в формате JPEG
 
   Используемый в формате JPEG подход "сжатие с потерями" частично идентифицирует и удаляет ту информацию, которая несущественна для восприятия изображения. Лишь при сжатии изображения с резко выраженными контурами линии начинают "дрожать". При высоких значениях коэффициента качества изображения этот эффект не проявляется. Возможно, в дальнейшем появится вариант формата с избирательной установкой коэффициента качества для различных фрагментов изображения, что позволит достигнуть высокого качества при очень высоких коэффициентах сжатия.
   В заключение этого раздела следует отметить последовательность графических форматов в порядке убывания их популярности (или частоты применения) для электронных изданий и документов: GIF, JPEG, PNG, TIFF.

3.4. Форматы представления аудиофайлов

   В этом разделе речь пойдет о цифровых форматах файлов, предназначенных для хранения звука. Иначе говоря, – о хранении оцифрованного звука. Напряжение, передаваемое по телефонным каналам и несущее звук, представляет собой аналоговый сигнал достаточно сложной формы. Чтобы преобразовать такой сигнал в цифровую форму необходимо выполнить последовательно две операции: дискретизацию и квантование. Дискретизация состоит в периодическом измерении значений напряжения (на рис. 3.7 дискретизация сигнала производится в моменты времени t1,.., t4,..), а квантование – в преобразовании аналоговых значений в дискретный цифровой код. На рисунке показан пример 3-разрядного квантования аналогового сигнала, при котором имеется 23 = 8 уровней квантования. Соответственно на качество оцифрованного звукового сигнала оказывают влияние 2 фактора: частота дискретизации и разрядность цифрового кода, получаемого при квантовании. При увеличении частоты дискретизации и разрядности кода качество оцифрованного звука улучшается, но пропорционально возрастает объем информации, которая должна хранится в файле. Таким образом необходимо найти компромиссное решение между качеством и размерами файла.
 
   Рис. 3.7. Дискретизация и квантование аналогового звукового сигнала
 
   Частоту дискретизации определить достаточно просто. В соответствии с теоремой Котельникова частота дискретизации должна быть вдвое больше максимальной частоты спектра звукового сигнала. Принятая в настоящее время частота дискретизации для аудио-CD составляет 44100 Гц, т. е. максимальная воспроизводимая частота звукового спектра составляет 20050 Гц, что превышает диапазон звуков, воспринимаемых ухом человека. Это обеспечивает идеальное звучание таких устройств. Частота дискретизации в телефонных сетях составляет 8000 Гц, что более чем в 2 раза превышает полосу пропускания телефонного канала, равную 3000 Гц.
   Количество уровней или разрядность квантования характеризует точность передачи уровня звукового сигнала. Действительно, при 256 уровнях квантования или представлении уровня звука с помощью 8 бит информации, величина погрешности квантования равна половине расстояния между соседними уровнями, так как именно с этой точностью значение электрического напряжения может быть преобразовано в цифровой код (при том условии, что наименьшему уровню сигнала, обозначенному min на рис. 3.7, соответствует цифровой код 000000002 или 00h, а наибольшему, обозначенному max, – 111111112 или 0ffh в 16-ричной форме представления), т. е. отнесено к одному из двух соседних уровней, между которыми находится реальное значение сигнала.
   Нетрудно сообразить, что при частоте дискретизации в 44100 Гц и квантовании каждого такого уровня 16 двоичными разрядами (65536 уровней квантования) хранение 1 минуты цифрового аудио потребует около 5 Мбайт информационного пространства, а 30 минут стереозвучания – около 300 Мбайт.
   Закодированные описанным способом цифровые аудио-данные характеризуются значительной избыточностью, т. е. они могут быть упакованы, а затем восстановлены без всякой потери качества. Однако применение для сжатия цифрового аудио архиваторов обычного типа, таких как ARJ или ZIP позволяет сжать исходный файл лишь приблизительно на 20%, т. е. такое сжатие является неэффективным.
   Основная идея сжатия аудиосигнала с потерями – пренебрежение теми фрагментами звука, которые лежат вне пределов восприятия человеческого уха. Первая такая возможность определяется маскирующим эффектом, в соответствии с которым сильные звуки приводят к невосприимчивости уха к слабым звукам в том же самом частотном диапазоне. Поэтому слабые звуки можно кодировать с малым количеством уровней, в результате чего сокращается количество информации, используемое при кодировании звука.
   Далее, весь частотный диапазон делится на поддиапазоны, каждый из которых обрабатывается отдельно, причем маскирующий эффект используется как внутри каждого поддиапазона, так и между ними, т. е. очень мощный звук в одном из поддиапазонов приводит к маскированию во всех остальных. Затем используются особенности психоакустической модели человеческого слуха, в соответствии с которой тщательно сохраняются звуки хорошо воспринимаемых частот и удаляются звуки тех частот, которые не воспринимаются.
   Для стереозвучания используется дополнительный прием, связанный с тем, что стереоэффект воспринимается человеком только в области средних звуковых частот. Поэтому сигнал низких и высоких частот передается в монофоническом звучании.
   Наконец, используются специальные алгоритмы сжатия, основанные на высокой предсказуемости звукового сигнала, т. е. большом значении его коэффициента автокорреляции. Все перечисленные выше методы и алгоритмы позволяют получить десятикратный и более высокий коэффициент сжатия практически без потери качества звучания, что реализуется в формате MP3, разработанном комитетом MPEG (Motion Picture Expert Group – группа экспертов в области движущихся изображений).
   Для воспроизведения звуковых файлов формата MP3 существует целая группа программ-плееров. Список большинства из них можно найти на сайте http://www.dailymp3.com. Самые популярные из них это Winamp, которая включена в дистрибутив браузера Netscape Communicator, начиная с версии 4.7, K-Jofol, которая является самым быстрым декодером звука, и NAD (или NADDY), которая является лидером по качеству воспроизведения звука. Другие плееры используются гораздо реже.
   Из форматов звуковых файлов следует упомянуть AU (от слова Audio, предложен фирмой Sun Microsystems) для UNIX-подобных систем и платформ, WAV (Microsoft Waveform – стандарт звуковых файлов для операционной системы Windows), AIFF (Audio Interchange File Format – интерактивный формат аудио файлов) – стандарт звуковых файлов для платформы Apple Macintosh и MIDI (Musical Instrument Digital Interface – цифровой интерфейс для музыкальных инструментов) – межплатформный формат электронных музыкальных инструментов. Кратко остановимся на каждом из них.
   Формат AU – один из наиболее распространенных в сети Интернет. В заголовочной части файла определяются параметры звуковых данных: частота дискретизации и разрядность квантования, число звуковых каналов и метод кодирования. Используется разновидность этого формата с 16-разрядным квантованием стереозвука и частотами дискретизации 20050 и 44100 Гц с одним или несколькими звуковыми каналами. Наиболее распространенные файлы этого формата носят подзаголовок -Law. Они рассчитаны на один звуковой канал с полосой 8000 Гц. Подзаголовок -Law означает преобразование выбранных в процессе дискретизации значений в двоичный код по логарифмическому закону. Преобразование производится в соответствии с выражением:
 
   Yµ = sign(m) ln (1+µ|m/mp|)/ln(1+µ), (3.1)
 
   где Y µ – значение в логарифмической шкале, m – исходное квантованное значение, mp – максимальная величина последнего значения, µ – постоянное значение, величина которого определяет область, в которой обеспечивается наиболее высокое качество звучания.
   В формате AU наряду с 8-разрядным логарифмическим кодированием и 16разрядным линейным кодирование стереозвука, предусмотрена возможность представления 24– и 32-разрядного линейного стереозвука, имеющего частоту дискретизации 22050 и 44100 Гц.
   Формат WAV является основным на платформе Windows. Фактически это специальная разновидность файла формата RIFF (Resource Interchange File Format – файловый формат взаимодействия ресурсов), который предназначен для хранения произвольных структурированных данных. Полное название такого формата – WAVE RIFF Microsoft Windows. Звуковые данные в таком файле обычно хранятся в PCM-форме (PCM – Pulse Code Modulation или импульсно-кодовая модуляция). Это означает запись в файле значений квантованного кода в последовательных точках дискретизации. В заголовочной части файла содержится основная информация об оцифрованном звуке, например, число каналов и частота дискретизации, а также среднее число передаваемых в секунду байтов. Последняя характеристика позволяет программе воспроизведения звука выбрать требуемые размеры буфера для хранения звуковых данных. Большинство программ воспроизведения звука буферизуют количество данных, соответствующее одной секунде непрерывного звучания.
   Формат WAV поддерживает также ряд дополнительных блоков данных. К ним относят дополнительную информацию о сжатых звуковых данных. В частности, фирма IBM зарегистрировала специальные коды форматирования для сжатия в формате -Law. Специальный блок предназначен для того чтобы помечать определенные позиции в потоке звуковых данных, что позволяет синхронизировать звуковой ряд с видеорядом. Предусмотрены также блоки для размещения дополнительной текстовой информации.
   Формат AIFF (Audio Interchange File Format) преимущественно предназначен для работы на платформе Macintosh. Он во многом напоминает WAV, но позволяет, в отличие от последнего, хранить еще и шаблоны, т. е. образцы оцифрованного звука, которые можно использовать как шаблоны для отдельных нот. Специальная версия формата AIFF-C поддерживает сжатие.
   MIDI (Musical Instrument Digital Interface) – старейший звуковой формат, который позволил стандартизировать работу с различными электронными музыкальными инструментами. Стандарт базируется на использовании пакетов данных, каждый из которых соответствует определенному MIDIсобытию. Эти события можно разделить по каналам. Сложная среда такого файла может включать различную аппаратуру на каждом канале, причем отдельная ее часть будет отвечать за события на определенном канале. Такие файлы хранят не запись оцифрованного звука, а только ноты. В результате они гораздо компактнее других типов звуковых файлов. Недостатком такого формата является то, что он не определяет в явном виде всех тонкостей воспроизведения звука.

3.5. Форматы представления анимации и цифрового видео

3.5.1. Анимационные GIF-файлы

   Известно, что анимационные файлы в формате GIF занимают почетное место на Web-страницах. Надо сказать, что в электронных изданиях любого типа анимационные файлы также используются достаточно широко. Это объясняется тем обстоятельством, что GIF-файлы непосредственно воспроизводятся большинством браузеров, причем объем памяти, занимаемый этими файлами, сравнительно невелик. Для учебных электронных изданий анимационные файлы обеспечивают уникальную возможность демонстрации последовательности действий, протекания физических, электрических, технологических и других процессов в простой и наглядной форме. Следует особо отметить, что затрата вычислительных ресурсов на такие демонстрации – минимальна.
   Искусственный мир компьютерной анимации лежит где-то посредине между миром неподвижных изображений, форматы которых были рассмотрены в разд. 3.3, и реальным миром видеоизображений. Обычные мультипликационные фильмы состоят из множества рисованных изображений-кадров, в которых последовательно изменяются позиции объекта анимации. В результате, при отображении с достаточной скоростью такой последовательности изображений у зрителя возникает впечатление движения объектов.
   Возможности GIF-анимации связаны с тем, что этот формат позволяет хранить в одном файле несколько различных изображений. Единственный существенный недостаток GIF-файлов связан с применением индексированных цветов, для чего в файле используется глобальная и локальные цветовые палитры. Глобальная цветовая палитра хранит до 256 различных цветовых оттенков, каждый из которых может быть использован в любом из изображений, которое хранится в данном файле. Локальные палитры относятся к каждому отдельному изображению, т. е. хранимые в них цветовые оттенки не могут использоваться в других (не своих) изображениях. Каждое такое изображение формирует отдельный кадр, причем задержка следующего кадра и его линейное смещение относительно предыдущего по каждой координате может регулироваться. Разрешение для всех изображений, входящих в данный файл, или количество пикселов по каждой координате должно в таком файле поддерживаться постоянным.
 
   Рис. 3.8. Структура анимационного файла формата GIF 87a
 
   Структура файлового формата GIF 87а представлена на рис. 3.8. Файл начинается с общего заголовка и дескриптора логического экрана, причем в последнем хранится ширина и высота каждого изображения в пикселах, индекс цвета фона и значение коэффициента сжатия. Там же задается размер глобальной цветовой таблицы, которая может и отсутствовать. В этом случае обязательно используется для каждого отдельного изображения локальная палитра. В большинстве случаев рекомендуется пользоваться именно глобальной палитрой, что экономит общее информационное пространство, занимаемое файлом.
   После указанных трех элементов следуют наборы данных, характеризующие каждое из входящих в файл изображений. Каждое изображение в отдельности описывается локальным дескриптором и локальной цветовой палитрой, после которых следуют данные изображения. Данные обычно состоят из последовательностей пакетов данных, называемых блоками, причем в состав отдельных блоков могут входить и подблоки.
   
Конец бесплатного ознакомительного фрагмента