Лекция 7. Сжатие видео и звука
Курс “Теория информации и кодирования”

Наибольший объем кода требуется для представления видео и звука. В данной лекции мы рассмотрим соответствующие методы сжатия, которые широко применяются на практике и позволяют достигать высоких степеней сжатия при приемлемом качестве воспроизведения.

Сжатие видеопотока
Подходы к сжатию звука
Универсальные приемы сжатия звука
Сжатие звука по методу MP3

7.1 Сжатие видеопотока

Подходы к сжатию видео
Подходы к сжатию видеопотока иллюстирует рис.7.1:
  • как известно, видеопоток представляет собой последовательность статических кадров, которые должны воспроизводиться с определенной частотой. Например, при типичных параметрах размер кадра 1280х720, глубина цвета 8 бит и кадровая скорость 25 кадров/с. битрейт несжатого потока составляет около 184 Мбит/с. Эта величина более чем в 100 раз превосходит битрейт несжатого звука. Таким образом, важность сжатия в данном случае высока;
  • для видеопотока выделяются два направления устранения избыточности:
    - “пространственная” избыточность изображения внутри кадров (здесь применяются уже изученные нами методы сжатия изображений с потерями качества);
    - “временная” избыточность, которая определяется инерционностью зрения и неравномерностью скорости изменения изображения в разных зонах кадров;
  • в силу инерционности зрения можно “прореживать” последовательность кадров, сохраняя в ней некий опорный “каркас” из качественных изображений и заполняя промежутки значительно менее детальными картинками, чья задача — создать впечатление плавности изменений. При этом объем кода таких промежуточных кадров может быть многократно меньшим;
  • различие в скорости изменения изображения от кадра к кадру учитываюь, кодируя не сами элементы изображений, а изменения их характеристик. При этом медленно меняющимся участкам будут отвечать малые величины измений (для статичного фона вообще нули), что создаст предпосылки для эффективного сжатия.

Применение упомянутых приемов в сочетании со сжатием отдельных кадров позволяет уменьшать битрейт в сотни раз. Ниже мы рассмотрим реализацию такого подхода на примере популярного стандарта MPEG.

Особенности стандарта сжатия MPEG
Форматы сжатия MPEG предусматривают использование трех типов кадров (рис.7.2):
  • опорные или внутренние I-кадры (Intra frame) получаются за счет сжатия по JPEG исходных кадров видеопотока. Они следуют с невысокой частотой (типична частота 2 кадра/c);
  • прогнозные P-кадры (Predicted frame) вставляются в промежутки между I-кадрами и содержат только изменения между ними (вновь появившиеся части изображения и векторы смещения его элементов). Именно здесь реализуется сжатие за счет разностного кодирования;
  • двунаправленные B-кадры (Bidirectional frame) формируются интерполяцией по данным предшествующего и последующего I- и P- кадров. Они необходимы для плавности восприятия. Важно, что для построения B-кадров все необходимые I- и P- кадры должны быть уже получены.


Блок кадров, начиная с I и включая все зависящие от него P и B, называется GOP (Group of Pictures). Последовательно идущие GOP составляют выходной видеопоток. Типичная последовательность кадров: IBBPBBIBBPBBIBB… (рис.7.2).
Соответственно, последовательность кадров по их номерам будет обрабатываться в следующем порядке: 1423765…. При этом воспроизводится они будут в порядке нумерации, а согласование обработки и воспроизведения произойдет за счет использования задержки по времени.

Обратим внимание, что при таком подходе чем меньше движения присутствует в кодируемой последовательности кадров, тем меньше объем кода P- и B-кадров. То-есть, при неизменной структуре GOP их объем (а вместе с ним и битрейт) автоматически меняется вместе с информативностью исходного видеопотока.

Основные разновидности MPEG имеют следующие особенности:
- MPEG-1 и MPEG-2 используют для формирования опорных кадров алгоритм JPEG. При этом в MPEG-2 используется ряд совершенствований;
- MPEG-4 использует технологию фрактального сжатия изображений.
Сжатие MPEG при приемлемом уровне качества позволяет сокращать объем кода видеопотока в сотни раз.

Контрольные вопросы
1) Каковы основные направления сжатия видеопотока
2) Как реализуется учет инерционности зрения при сжатии видеопотока в стандарте MPEG
3) Как реализуется принцип разностного кодирования при сжатии видеопотока в MPEG
4) Объясните на примере рис.7.2 согласование обработки и воспроизведения поступающих кадров видеопотока.


7.2 Подходы к сжатию звука

Учет особенностей слуха
Особенности слуха и связанные с ними направления сжатия звука иллюстрирует рис.7.3:
  • тихие звуки начиная с некоторого порога практически не воспринимаются на слух. Поэтому соответствующие участки звукового потока можно кодировать очень компактно - например, просто задать длительность интервала "тишины", не передавая в этот период звуковые отсчеты;
  • громкие звуки снижают чувствительность уха слуха. Поэтому их можно кодировать "грубее", увеличивая шаг квантования и используя меньшее количество разрядов. Поскольку чувствительность восстанавливается не сразу, после громкого звука можно некоторое время сохранять режим экономичного кодирования (это называют "маскированием" звука во времени);
  • эффект маскирования проявляется также в частотной области: относительно мощные частотные составляющие маскируют восприятие своих более слабых соседей по спектру. Эти эффекты локализованы внутри конкретных частотных полос, которые названы критическими (их всего 25). Кроме того от полосы частот зависит чувствительность слуха.

Все перечисленные эффекты глубоко исследовались и формализованы в виде так называемой психоакустической модели, которая активно используется для эффективного сжатия звука.

Направления компактного кодирования звука
При рассмотрении компактного кодирования звука выделяются два принципиально различных направления — сжатие результатов исходной оцифровки “натурального” звука и представление для его искусственного синтеза (рис.7.4):
  • мы сосредоточимся именно на сжатии оцифрованного звука. При этом учтем, что методы сжатия речи, которые уже давно широко применялись в телефонии, имеют существенную специфику. Вместе с тем, наибольший интерес для нас будут представлять современные универсальные подходы к сжатию с потерями (в частности, популярный метод MP3);
  • что касается синтеза звука, то здесь ограничимся лишь кратким обзором применяемых в практике подходов. Здесь выделяются направления моделирования источников звука, характеристики которых задаются компактным математическим описанием, а также использование “заготовок” - фрагментов звучания, которые многократно используются при формировании звукового потока;
  • методы моделирования опять-таки существенно различаются для различных категорий источников. Например, модели звучания музыкальных инструментов могут представлять собой системы уравнений, учитывающие особенности их акустики. Модели речевого тракта отображают взаимодействие потока воздуха с его основными элементами (горлом, языком, небом и т.д.). Применение таких методов достаточно специфично и не получило массового распространения;
  • использование “заготовок” - достаточно простой и широко применяемый подход. Нам всем знакомы построенные на этом принципе синтезаторы речи в автоответчиках или автомобильных навигаторах. Более сложный и интересный пример — так называемое “MIDI-кодирование” музыки. Здесь отдельный звук кодируется параметрами частоты, громкости и длительности, а сам звуковой поток синтезируется наложением таких параметров.

Синтез звука — разнообразная и интересная область, однако она далеко выходит за рамки нашего курса.

Контрольные вопросы
1) Назовите основные особенности слуха, которые используются для сжатия звуковых данных с потерями информации
2) Кратко охарактеризуйте направления сжатия звука путем моделирования его источников
3) Кратко охарактеризуйте направления использования “заготовок” при сжатии звука
4) Почему наибольший интерес для курса ТИК представляют методы сжатия исходно оцифрованного звука


7.3 Универсальные приемы сжатия звука

Разностное кодирование амплитуд
Одним из наиболее простых и традиционных способов компактного представления звука является разностное кодирование амплитуд соседних отсчетов (рис.7.5):
  • поскольку изменение амплитуд звука часто происходит плавно, разность соседних значений обычно значительно меньше, чем сами эти значения (пример на рис.7.5). Это позволяет кодировать их меньшим числом разрядов;
  • в частности, при переходе при кодировании речевого сигнала к разностному ватианту (от исходной так называемой Импульсно-кодовой модуляции ИКМ к ее варианту ДИКМ) удается сократить величину битрейта вдвое — от 64 до 32 кбит/с;
  • следующий шаг усовершенствования использует предсказание последующего значения амплитуды по нескольким предыдущим. При этом, разумеется, сам сигнал несет элемент непредсказуемости, так что он часто будет отклоняться от прогноза. Однако само такое отличие уже значительно меньше, чем исходная амплитуда. В результате с помощью данного подхода удается сократить величину битрейта в 4 раза — от 64 до 16 кбит/с (сам способ принято называть адаптивной ДИКМ или АДИКМ).


Неравномерное кодирование амплитуд
Целый ряд традиционных приемов сжатия оцифрованного звука мы объединим в направление неравномерного кодирования (рис.7.6):
  • переменный шаг квантования позволяет сэкономить необходимое количество разрядов кода за счет использования меньшей точности для более громкого звука. Это означает, что величина шага квантования может расти с увеличением амплитуды;
  • кодированием “тишины” называют способ, когда вместо малых амплитуд звуковых отсчетов (которые не воспримутся на слух) кодируется просто длительность соответствующего интервала времени. При воспроизведении этот интервал может заполняться некоторым условным фоном. В частности, 1 секунда кодирования “тишины” при 16-битном кодировании и частоте дискретизации 44 кГц “сэкономит” примерно 88 кбайт;
  • маскирование по времени — это эффект кратковременного снижения чувствительности слуха после сильного воздействия (например, громкого щелчка в наушниках). В такой ситуации ухо теряет чувствительность приблизительно на полсекунды. Звук, который должен восприниматься в это время, можно либо не кодировать (как «тишину»), либо кодировать с гораздо меньшей точностью (а значит — экономичнее).

Использование спектрального представления
Как и в случае изображений, для сжатия звука очень полезным инструментом являются спектральные преобразования. Особенности их применения поясняет рис.7.7:
  • поскольку частотный состав звука меняется во времени (достаточно представить музыкальный отрывок, где солируют разные интсрументы), построение спектра выполняют для коротких отрезков времени. В частности, на рисунке показан звуковой фрагмент из N=500 отсчетов амплитуды xn. При частоте дискретизации 44 кГц он занимает всего около сотой доли секунды;
  • для получения спектра используется широко применяемое дискретное преобразование Фурье (ДПФ). В частности, прямое ДПФ преобразует набор из N значений амплитуды звука xn в набор комплексных величин Xk, по которым опеределяются амплитуды спектральных составляющих. В дальнейшем звуковые амплитуды xn могут быть восстановлены применением обратного ДПФ. Это означает, что хранить звук можно и в спектральной форме;
  • как наглядно видно на примере, спектр звукового фрагмента может быть гораздо лучше приспособлен для сжатия: более, чем в половине всего диапазона амплитуды частотных составлящих нулевые или очень малы;
  • таким образом, спектральное преобразование позволяет создать условия для сжатия кода звука. Такое сжатие может быть особенно эффективным, если дополнительно учесть маскирующее действие соседних частот в рамках психоаккустической модели. Это активно используется, в частности, в современном стандарте сжатия звука MP3, который мы детально рассмотрим ниже.

Контрольные вопросы
1) Кратко поясните использование разностного кодирования при сжатии звука
2) Поясните аббревиатуры ДИКМ и АДИКМ, а также основные особенности соотвествующих методов сжатия речи
3) Поясните основные направления сжатия за счет неравномерного кодирования звуковых амплитуд
4) Поясните, каким образом использование спектрального преобразования позволяет сжимать код звукового потока.


7.4 Сжатие звука по методу MP3

Общая характеристика метода
Метод сжатия звука MP3 является одним из наиболее популярных. Его основные особенности иллюстрирует рис.7.8:
  • принципиальные особенности метода состоят в том, что он
    - во-первых, активно использует психоакустическую модель, удаляя из звукового поток именно ту информацию, которая не будет существенно влиять на восприятие;
    - во-вторых, обеспечивает задание соотношения степени сжатия и величины потерь непосредственно пользователем исходя из величины битрейта. При этом потери качества минимальны при сжатии даже в 5,5 раз (битрейт 256 кбит/с);
  • в MP3 использутся типовые приемы сжатия с потерями, уже знакомые нам по JPEG:
    - разбиение звукового потока на блоки (фреймы);
    - выполнение спектрального преобразования и выделение частотных составляющих, слабо влияющих на восприятие;
    - квантование спектра с целью подготовки к эффективному сжатию с учетом заданного пользователем уровня потерь;
    - сжатие полученных данных c использованием статистических методов.
  • эффективность сжатия дополнительно повышается за счет учета сложности кодирования отдельных фреймов:
    - для более сложных фреймов может автоматически задаваться повышенный битрейт. Это так называемый режим переменного битрейта VBR;
    - объем кода, выделяемый согласно битрейту, автоматически перераспределяется между соседними фреймами — от более простых к более сложным.

Особенности реализации сжатия в MP3
Конкретные особенности сжатия в MP3 отображены на рис.7.9:
  • Этап 1. Разбиение потока на блоки для сжатия
    Поток разбивается на фреймы длиной порядка 1000 звуковых отсчетов (сэмплов). Точное количество сэмплов во фрейме 1152 (унаследовано от предшествующего стандарта). Фрейм состоит из двух «гранул» по 576 сэмплов, которые обрабатываются по-отдельности. При этом каждый фрейм включает заголовок со служебной информацией, который содержит синхровставку, частоту дискретизации, количество звуковых каналов, значение битрейта;
  • Этап 2. Предварительный анализ блока
    На шаге А блок преобразуется в спектр и в нем выделяются частотные полосы для анализа, Для гранулы из 576 сэмплов используется 32 полосы по 18 амплитуд («бинов»).
    На шаге Б выполняется анализ с использованием психоакустической модели. Оценивается возможность маскирования внутри частотных полос. Оценивается необходимость дробления гранул для коротких звуков (576=3*192). Для раздробленых фрагментов выполняется повторное преобразование и анализ;
  • Этап 3. Выполняется огрубление спектра исходя из заданного битрейта
    На шаге А выделяются частотные полосы для огрубления. При этом используются 22 полосы, для которых степень огрубления задается индивидуально.
    На шаге Б выполняется собственно огрубление. Амплитуды внутри полос масштабируются с учетом возможностей маскирования (путем умножения на коэффициент данной полосы Кi<1). Значения амплитуд делятся на значение «квантователя» X исходя из битрейта;
  • Этап 4. Статистическое сжатие
    Выполняется кодирование по Хаффмену для каждой частотной полосы огрубления. Эффект достигается, поскольку после огрубления остаются небольшие числа, среди которых много нулей (для маскируемых значений). Для разных уровней квантования может использоваться несколько кодовых таблиц.

Пример квантования спектра в МР3
Для лучшего понимания приведем числовой пример квантования спектра — рис.7.10:
  • пусть для некоторой i-й полосы спектра значения четырех соседних амплитуд Aij частотных составляющих спектра будут соответственно 8739; 1195; 384; 421 (для кодирования здесь нужно 2*4=8 байтов=64 бита). С учетом условий психоакустической модели три более слабых частотных составляющих не будут восприниматься на слух, поэтому их можно кодировать максимально экономично;
  • огрубление амлитуд выполняется по формуле Gij= int( Aij*Ki/X). Примем, что исходя из заданного битрейта, значение квантователя X=200. При коэффициенте маскирования для полосы Кi=0.2, результаты огрубления Gij получат значения 9; 1; 0; 0. При этом в результате сжатия по Хаффмену нули будут скорее всего закодированы одним битом (они встречаются очень часто), так что общая длина кода составит порядка 10 битов вместо 64-х. Значения восстановленных амплитуд Bij будут отличаться от исходных на величину погрешности квантования и составят соответственно 9000; 1000; 0;
  • кодирование можно сделать еще более компактным, если уменьшить коэффициент маскирования например до Кi=0,1 и тем самым увеличить долю нулей за счет удаления еще одной замаскированной составляющей. В этом случае мы получим последовательность Gij 4; 0; 0; 0, которая будет восстановлена до Bij 8000; 0; 0; 0. Это уже близко к сжатию примерно на порядок. Платой за улучшение сжатия будет увеличение погрешности («шума квантования») для наиболее значимой частотной составляющей: если в первом случае округление выполнялось с точностью до 1000, то во втором — до 2000.

Контрольны вопросы
1) Охарактеризуйте основные особенности метода сжатия звука MP3
2) Каким образом в MP3 используется психоаккустическая модель
3) Опираясь на рис.7.9, расскажите об этапности сжатия звуковых фреймов в MP3
4) Опираясь на рис.7.10, поясните механизм сжатия звуковых данных с использованием квантования спектра.
О дисциплине ТИК
Почему «Теория информации и кодирования» - одна из самых интересных дисциплин, которые изучают будущие системщики и защитники информации?

В ней сочетаются золотая классика и самая актуальная современность computer-science.

продолжение
О сайте
Здесь вы найдете материалы, которые помогут в изучении дисциплины “Теория информации и кодирования” (ТИК) в том виде, как она преподается на кафедре ЭВМ ДИИТа.

На сайте размещены методические материалы:
  • электронный конспект лекций;
  • методическое обеспечение к лабораторным работам;
  • полезные ссылки.

продолжение
© 2008-2013 • Теория информации и кодирования
UP