Вуль Владимир Абрамович
Шрифт:
Используемый в формате JPEG подход "сжатие с потерями" частично идентифицирует и удаляет ту информацию, которая несущественна для восприятия изображения. Лишь при сжатии изображения с резко выраженными контурами линии начинают "дрожать". При высоких значениях коэффициента качества изображения этот эффект не проявляется. Возможно, в дальнейшем появится вариант формата с избирательной установкой коэффициента качества для различных фрагментов изображения, что позволит достигнуть высокого качества при очень высоких коэффициентах сжатия. В заключение этого раздела следует отметить последовательность графических форматов в порядке убывания их популярности (или частоты применения) для электронных изданий и документов: GIF, JPEG, PNG, TIFF.
3.4. Форматы представления аудиофайлов
В этом разделе речь пойдет о цифровых форматах файлов, предназначенных для хранения звука. Иначе говоря, – о хранении оцифрованного звука. Напряжение, передаваемое по телефонным каналам и несущее звук, представляет собой аналоговый сигнал достаточно сложной формы. Чтобы преобразовать такой сигнал в цифровую форму необходимо выполнить последовательно две операции: дискретизацию и квантование. Дискретизация состоит в периодическом измерении значений напряжения (на рис. 3.7 дискретизация сигнала производится в моменты времени t1,.., t4,..), а квантование – в преобразовании аналоговых значений в дискретный цифровой код. На рисунке показан пример 3-разрядного квантования аналогового сигнала, при котором имеется 23 = 8 уровней квантования. Соответственно на качество оцифрованного звукового сигнала оказывают влияние 2 фактора: частота дискретизации и разрядность цифрового кода, получаемого при квантовании. При увеличении частоты дискретизации и разрядности кода качество оцифрованного звука улучшается, но пропорционально возрастает объем информации, которая должна хранится в файле. Таким образом необходимо найти компромиссное решение между качеством и размерами файла.
Частоту дискретизации определить достаточно просто. В соответствии с теоремой Котельникова частота дискретизации должна быть вдвое больше максимальной частоты спектра звукового сигнала. Принятая в настоящее время частота дискретизации для аудио-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 существует целая группа программ-плееров. Список большинства из них можно найти на сайтеСамые популярные из них это 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 различных цветовых оттенков, каждый из которых может быть использован в любом из изображений, которое хранится в данном файле. Локальные палитры относятся к каждому отдельному изображению, т. е. хранимые в них цветовые оттенки не могут использоваться в других (не своих) изображениях. Каждое такое изображение формирует отдельный кадр, причем задержка следующего кадра и его линейное смещение относительно предыдущего по каждой координате может регулироваться. Разрешение для всех изображений, входящих в данный файл, или количество пикселов по каждой координате должно в таком файле поддерживаться постоянным.
Структура файлового формата GIF 87а представлена на рис. 3.8. Файл начинается с общего заголовка и дескриптора логического экрана, причем в последнем хранится ширина и высота каждого изображения в пикселах, индекс цвета фона и значение коэффициента сжатия. Там же задается размер глобальной цветовой таблицы, которая может и отсутствовать. В этом случае обязательно используется для каждого отдельного изображения локальная палитра. В большинстве случаев рекомендуется пользоваться именно глобальной палитрой, что экономит общее информационное пространство, занимаемое файлом.
После указанных трех элементов следуют наборы данных, характеризующие каждое из входящих в файл изображений. Каждое изображение в отдельности описывается локальным дескриптором и локальной цветовой палитрой, после которых следуют данные изображения. Данные обычно состоят из последовательностей пакетов данных, называемых блоками, причем в состав отдельных блоков могут входить и подблоки.
Малый размер GIF-файлов связан с использованием поблочного LZWсжатия изображения, причем большинство сжимаемых блоков имеют размер 255 байтов. Каждый пиксел декодированного изображения характеризуется размером в 1 байт и содержит значение индекса цвета, т. е. положение нужного цветового тона в глобальной или локальной цветовой палитре.Помимо первоначальной версии формата GIF-файлов, названной GIF 87a, имеется выпущенная двумя годами позднее вторая версия – GIF 89a. Вторая версия добавила несколько новых возможностей, в том числе, хранение текстовых и графических данных в одном файле. Для этого в описание файла добавлен специальный блок "Управляющие расширения", который размещен сразу после трех общих для всего файла элементов и предшествует описанию отдельных изображений в составе файла. Этот блок состоит из трех элементов: "Расширение комментариев", "Расширение приложений" и "Расширение управления графикой" (рис. 3.9).
На рисунке этот блок выделен двумя жирными линиями. В состав управляющих расширений входят: расширение комментариев, расширение приложений и расширение управления графикой. В последнем указано, в частности, и величина задержки кадра в сотых долях секунды, а также значение индекса прозрачности цвета, который позволяет создавать новые анимационные эффекты. Кстати, большинство современных программ-аниматоров обеспечивает подготовку анимационных файлов именно в этом формате (см. главу 5).
3.5.2. Принципы представления цифрового видео
Обычные телевизионные видеоданные представляют собой поток аналоговых сигналов. Компьютерная обработка видеоинформации состоит в преобразовании их в цифровой формат с последующим хранением этих данных на жестком или компакт-диске или другом устройстве хранения информации. Оцифровка видеосигнала, как и оцифровка звука, включает те же две стадии: дискретизацию данных аналогового видеопотока, т. е. снятие отсчетов с определенной частотой, и преобразование каждого такого отсчета в цифровой эквивалент или квантование.
При хранении оцифрованных данных в несжатом формате изображение размером 400×300 пикселов с глубиной цвета 24 бита на пиксел, обновляемое с частотой 25 Гц, потребует скорости передачи информации около 9 Мбайт/с. А хранение данных для показа 5-минутного ролика в указанном формате потребует информационное пространство, превышающее 2,5 Гбайта. Естественно, что при работе с такими объемами информации невозможно обойтись без сжатия данных, однако и этом случае потребуется время и определенные вычислительные мощности на распаковку данных. Достичь оптимального сжатия можно путем совершенствования аппаратных или программных средств, а может быть – совместно тех и других.
В качестве аппаратных средств используются специальные видеопроцессоры, которые поддерживают высокоскоростную компрессию и декомпрессию данных, не загружая центральный процессор компьютера. Второй подход состоит в использовании специализированных методов программного сжатия и распаковки предварительно сжатых видеоданных.
Аналоговый видеосигнал включает в себя несколько различных компонентов, объединенных в единое целое. Такой составной видеосигнал малопригоден для оцифровки. Предварительно его следует разделить на так называемые базовые компоненты. Обычно компоненты представляют собой три различных сигнала, соответствующие определенной цветовой модели. Если в статической графике используется RGB-модель, то в цифровом видео чаще используется модель YUV. Эта модель уже много лет успешно используется в аналоговом телевидении, так как позволяет принимать сигналы цветного телевидения на черно-белый телевизионный приемник. Исходный RGB-сигнал преобразуется в яркостной сигнал Y и два сигнала цветности U и V по следующим формулам: