
- •1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 I bbpbbpbbpbbpbbi вврв
- •Макроблоки
- •Поток видеоданных mpeg-2
- •Декодер видеоинформации
- •Масштабируемость
- •Уровни и профили mpeg-2
- •Отличия mpeg-1 и mpeg-2
- •Психоакустическая модель
- •Стандарт кодирования видео- и звуковой информации mpeg-4
- •Объекты и сцены
- •Кодирование видеообъектов
Психоакустическая модель
Блок психоакустической модели (ПАМ) управляет квантованием и кодированием, определяя параметры выполняемых при этом операций так, чтобы обеспечить наименьшую заметность искажений, создаваемых квантованием (шумов квантования). В стандартах MPEG-1, MPEG-2 предусмотрены два варианта ПАМ, отличающиеся числовыми параметрами.
Одним из факторов, учитываемых в ПАМ, является различная чувствительность слуха на разных частотах. Наибольшая чувствительность характерна для частот 2...4 кГц, поэтому для поддиапазонов, попадающих в эту область, необходимо выделять больше битов, чтобы обеспечить более точное квантование. Ближе к обоим концам диапазона слышимых частот чувствительность слуха уменьшается, поэтому для соответствующих частотных поддиапазонов можно выделять меньше битов, т. е. осуществлять более грубое квантование.
Кроме того, алгоритм работы ПАМ учитывает явление маскирования (или маскировки) одних звуков другими. Громкие звуки маскируют имеющиеся одновременно с ними более тихие звуки в других частотных поддиапазонах, причем чем дальше по частоте отстоит маскируемый тихий звук от маскирующего громкого звука, тем слабее сказывается эффект маскирования. Например, если маскирующий звук имеет частоту 1000 Гц, а маскируемый звук -1100 Гц, то последний не будет слышен, если разница в уровнях громкости составляет не менее 18 дБ. Если же маскируемый звук имеет частоту 2000 Гц, то для полной маскировки необходима разница уровней громкости не менее 45 дБ. Помимо этого, громкий звук маскирует звуки, следующие за ним в интервале времени до 100 мс, и даже звуки, опережающие его на 4...5 мс.
Чтобы выполнить распределение битов в блоке ПАМ анализируется спектр исходного звукового сигнала (не разложенного на поддиапазоны). Для этого производится быстрое преобразование Фурье участков этого сигнала по 512 (Layer I) или по 1024 (Layer II и Layer III) отсчетов, после чего вычисляются спектр мощности звукового сигнала и величины звукового давления в каждом частотном поддиапазоне.
Затем анализируются тональные (синусоидальные) и нетональные составляющие звукового сигнала, определяются локальные и глобальный пороги маскировки и вычисляются отношения сигнал/маскирующий сигнал для всех поддиапазонов, на основании которых производится распределение битов по поддиапазонам (Layer I и Layer II) или выбор параметров обработки коэффициентов МДКП (Layer III).
В тех поддиапазонах, в которых искажения звука, вызывае-мые-квантованием, менее заметны для слушателя или маскируются большим уровнем сигнала в других поддиапазонах, квантование делается более грубым, т. е. для этих поддиапазонов выделяется меньше битов. Для полностью маскируемых поддиапазонов битов совсем не выделяется. Благодаря этому удается существенно уменьшить количество передаваемой информации при сохранении достаточно высокого качества звука.
Как уже отмечалось, ширина поддиапазонов одинакова. Например, если частота дискретизации равна 44,1 кГц, то каждый поддиапазон имеет ширину 690 Гц. В то же время ширина диапазона частот, в котором маскирование сказывается одинаково (критического диапазона - critical band) зависит от положения этого диапазона на оси частот. На частотах порядка 100 Гц ширина критического диапазона около 50 Гц, а на частотах порядка 10 кГц -почти 1,5 кГц. Поэтому разделение сигнала на одинаковые частотные поддиапазоны неоптимально с точки зрения получения наилучшего качества звука, хотя и наиболее удобно для реализации.
На уровне Layer III сигнал каждого поддиапазона проходит МДКП, каждый коэффициент которого представляет частотную составляющую. Всего таких составляющих 18 в каждом поддиапазоне. Шаг по оси частот, таким образом, уменьшается в 18 раз, т. е. до примерно 38 Гц при частоте дискретизации 44,1 кГц. Это меньше ширины самого узкого критического диапазона. В пределах одного частотного поддиапазона блоки коэффициентов МДКП (scalefactor bands) могут квантоваться по-разному, что позволяет более точно учесть маскирование на разных частотах. Это позволяет говорить об увеличении разрешения по частоте в 18 раз, достигаемом на Layer III.
СТРУКТУРА ПОТОКА ДАННЫХ ЗВУКОВЫХ СИГНАЛОВ
Формирование потока данных осуществляется в блоке ФПД (рис. 4.8). Самой крупной структурной единицей потока данных является звуковая последовательность (Audio Sequence), которая состоит из произвольного числа кадров и не имеет собственного заголовка.
Кадр начинается с заголовка, структура которого одинакова для MPEG-1 и MPEG-2. Заголовок содержит синхрослово, данные об уровне кодирования, о частоте дискретизации кодируемых звуковых сигналов, о скорости передачи двоичных символов в потоке данных, о режиме кодирования (стерео, два независимых сигнала и т.д.) и другую информацию.
Далее в кадре следует область звуковых данных, в которой сначала следуют данные для контроля ошибок, затем данные о распределении бит, о масштабных множителях и, наконец, кодированные данные о сигналах по частотным поддиапазонам.
При использовании MPEG-2 далее может следовать расширение, содержащее данные дополнительных звуковых каналов.
ДЕКОДИРОВАНИЕ ЗВУКОВОЙ ИНФОРМАЦИИ
Структурная схема декодера приведена на рис. 4.9. Входные данные поступают на блок распаковки потока данных (РпПД), в котором по синхрословам выделяются отдельные кадры, поступающие затем на блок декодирования и деквантования (КодГ1 и Кв."1).
Данные, содержащиеся в кадре, декодируются в соответствии с порядком их следования и таблицами кодов, которые содержатся в программе работы декодера. Декодированные данные о распределении битов и о масштабных множителях используются для декодирования и деквантования звуковых данных. После деквантования на уровнях Layer I и Layer II отсчеты сигналов поддиапазонов умножаются на соответствующие масштабные множители. На уровне Layer III выполняется обратное МДКП.
После декодирования и деквантования отсчеты сигналов всех поддиапазонов объединяются в выходной цифровой звуковой сигнал, или несколько сигналов, если звук многоканальный.
Аппаратные и программные реализации декодера значительно проще, чем реализации кодера, так как в декодере не требуется психоакустическая модель. Так декодирование стереофонического
звука, сжатого с применением уровня Layer III, производится в реальном времени программными средствами на обычном ПК, в то время как для выполнения соответствующего кодирования необходимо сначала записать звуковой сигнал в несжатом виде в файл, а затем осуществить сжатие, что занимает существенно большее время, чем воспроизведение.
КОДИРОВАНИЕ МНОГОКАНАЛЬНОГО ЗВУКОВОГО СОПРОВОЖДЕНИЯ
Стандарт MPEG-1 допускает четыре режима кодирования:
-
обычный (независимый) стереофонический режим (stereo), в котором сигналы двух каналов кодируются независимо друг от друга;
-
соединенный стереофонический режим (joint_stereo), B котором для увеличения степени сжатия кодируются, например, не сами сигналы левого и правого каналов, а их сумма и разность;
два совершенно независимых звуковых сигнала (dual_channel);
- один звуковой сигнал (single_channel).
Особенности этих режимов здесь не рассматриваются.
Стандарт MPEG-2 дает возможность кодировать до пяти каналов звука: L - левый, R - правый, С - центральный, LS - левый тыловой и RS - правый тыловой. При этом возможны варианты, отличающиеся числом кодируемых каналов и расположением источников звука в пространстве, например, два передних канала и два тыловых, три передних и один тыловой и т.д. Возможно также расширение для кодирование отдельного канала НЧ эффектов.
Возможны два варианта совместимости с MPEG-1. Как указывалось выше, каждый кадр в потоке данных MPEG-2 состоит из основной части, которая может декодироваться декодерами MPEG-1, и расширений, которые декодерами MPEG-1 не воспринимаются. Обозначим 1<) и R0 сигналы, данные которых помещаются в основные части кадров в потоке данных.
В соответствии с первым вариантом перед кодированием выполняются операции, называемые матрицированием
(
4.2)
где х, у, z - постоянные коэффициенты. При декодировании декодером MPEG-2 выполняются обратные операции (дематрицирова-ние). Такой вариант называется "совместимым назад" (backwards
compatibility). При использовании декодеров MPEG-1 этот вариант обеспечит в воспроизводимых сигналах левого и правого каналов наличие информации о центральном и тыловых каналах, т. е. звуковоспроизведение будет более полным. Однако операции матрицирования и дематрицирования вносят дополнительные шумы.
В соответствии со вторым вариантом матрицирование и, естественно, дематрицирование не выполняются. При этом Lo = L, Ro = R. Такой вариант называется "несовместимым назад" (nonbackward compatible - NBC), и обеспечивает несколько лучшее качество звука при использовании декодеров MPEG-2.
Для увеличения степени сжатия многоканального звука в MPEG-2 предусмотрено использование адаптивного кодирования с предсказанием сигналов каналов, данные о которых помещаются в расширения кадров, а также некоторые другие средства уменьшения межканальной избыточности звуковой информации.
ДОСТИЖИМОЕ СЖАТИЕ И КАЧЕСТВО ЗВУКА
Для MPEG-1 и для MPEG-2 в случае отсутствия расширений потоки сжатых звуковых данных имеют следующие диапазоны значений скорости передачи двоичных символов:
-
Layer I - 32...448 кбит/с (обычно 192 кбит/с на канал);
-
Layer II - 32...384 кбит/с (обычно 128 кбит/с на канал);
-
Layer III - 32...320 кбит/с (обычно 64 кбит/с на канал).
В случае кодирования по стандарту MPEG-2 звуковых сигналов с частотами дискретизации 16, 22,05 и 24 кГц минимальные и максимальные значения скорости передачи двоичных символов уменьшаются в два и более раз, причем самая минимальная скорость передачи равна 8 кбит/с. Если же кодируется многоканальный звук, и выходной поток данных содержит соответствующие расширения, то максимальные значения скорости передачи двоичных символов в MPEG-2 увеличиваются до примерно 1000 кбит/с.
Кодер вносит задержку в распространение данных, так как во-первых при выполнении операций кодирования требуется иметь в ЗУ кодера определенное число последних отсчетов звукового сигнала, а во-вторых выполнение требуемых вычислительных операций над этими отсчетами занимает некоторое время. Минимальные длительности задержек для Layer I-50 мс, для Layer II -100 мс, для Layer III - 150 мс, однако задержки в реальных кодерах могут быть значительно больше.При одной и той же скорости передачи двоичных символов в выходном потоке данных кодирование более высокого уровня обеспечивает более высокое качество воспроизводимого звука. Это обусловлено тем, что более точно учитываются свойства сжимаемого сигнала, более гибко изменяются параметры квантования, а на уровне Layer III значительно повышается разрешающая способность по частоте. Значения, указанные в скобках как обычные, соответствуют качеству звука, сопоставимому с качеством звучания обычных (записанных без сжатия) компакт-дисков.
Уровень кодирования Layer III обеспечивает сжатие до 64 кбит/с на канал, т. е. примерно в 11-12 раз. Этот уровень используется при записи получивших широкое распространение компьютерных музыкальных дисков, обеспечивающих при воспроизведении с помощью ПК 10... 11 часов высококачественного звука. Записанные файлы со сжатой звуковой информацией обычно имеют расширение "трЗ", а на дисках или их упаковках часто написано "MPEG-3", что, как следует из изложенного, неправильно.
Системный уровень MPEG-2
Перейдем к рассмотрению системной части стандарта MPEG-2, которая описывает форматы мультиплексированных потоков данных, объединяющих сжатые видеоданные и данные звукового сопровождения от одного или нескольких источников, а также включающих другие виды информации [5, 8].
Стандартом предусмотрено два вида таких мультиплексированных потоков: транспортный поток (Transport Stream - TS) и программный поток (Program Stream).
На рис. 4.10. показана структурная схема процесса формирования транспортного потока. Видеосигналы, т. е. яркостный и цве-торазностные сигналы данной телевизионной программы, а также сигналы одного или нескольких каналов звукового сопровождения данной программы преобразуются в цифровую форму в АЦП и кодируются в соответствующих кодерах, как это было описано выше. Потоки данных на выходах кодеров называются элементарными потоками (ES - Elementary Stream).
В блоках, называемых пакетизаторами, данные разделяются на пакеты - блоки данных, начинающиеся с заголовков определенной структуры. Получающиеся потоки называются пакетизированными элементарными потоками (PES). В каждом пакете в PES объединены данные, относящиеся к структурной единице входного сигнала, например к телевизионному кадру или к кадру сжатого звукового сигнала. Размеры пакетов PES могут быть разными.
Пакетизированные элементарные потоки нескольких телевизионных программ, а также передаваемых дополнительных данных и сигналов управления объединяются в единый транспортный поток (TS - Transport Stream). При этом данные перераспределяются в пакеты TS, имеющие фиксированную длину 188 байт и определенную структуру заголовка (стартовой синхрогруппы пакета), занимающего 4 байта. Следует отметить, что транспортный поток может содержать и всего один элементарный поток, но фиксированная длина пакетов TS сохраняется. Далее транспортный поток проходит кодер канала (на рис. 4.10 не показан), в котором выполняется помехоустойчивое кодирование, и передается по каналу связи.
Каждый пакет TS начинается с идентификатора пакета (PID), который определяет его тип и принадлежность находящихся в нем данных к одному из передаваемых элементарных потоков. Каждый пакет может содержать данные только одного элементарного потока. Пакеты с данными разных элементарных потоков передаются в транспортном потоке в произвольном порядке.
Специальные пакеты типов PAT (Program Association Table) и PMT (Program Map Table) несут информацию о том, какие значения идентификаторов соответствуют тому или иному элементарному потоку. В особых пакетах в среднем 10 раз в секунду передаются метки времени (PCR - Program Clock Reference), содержащие значения моментов времени по часам в передающей части системы. По этим меткам в декодирующей аппаратуре восстанавливаются тактовые частоты каждого отдельного элементарного потока, которые между собой, вообще говоря, не синхронизированы, хотя и имеют стандартное значение 27 МГц ± 1350 Гц.
Структурная схема приема и декодирования транспортного потока приведена на рис. 4.11. На вход поступает поток данных из канала связи, который преобразуется декодером канала в транспортный поток TS. В блоке декодирования и демультиплексирования (Декодер и ДМп TS) из транспортного потока извлекаются пакеты PAT и РМТ, из которых получают идентификаторы пакетов, содержащих данные требуемых элементарных потоков. Далее пакеты с такими идентификаторами извлекаются из транспортного потока, распаковываются, и из содержащихся в них данных формируются элементарные потоки видео и звуковой информации, поступающие на соответствующие декодеры.
В блоке синхронизации (Синхр.) имеются генераторы тактовых импульсов для видео и звукового декодеров. Подстройка частот этих генераторов производится по меткам времени PCR так, чтобы число тактовых импульсов, сформированных в декодере между двумя метками, соответствовало интервалу между моментами, зафиксированными в этих метках. Благодаря этому обеспечиваются правильные длительности интервалов времени в декодируемой телевизионной программе. Если одновременно должны декодиро-ваться несколько элементарных потоков с разными временными базами (несколько независимых телевизионных программ), то эти потоки приводятся к одной временной базе.
Программный поток MPEG-2 аналогичен системному уровню стандарта MPEG-1 и содержит элементарные потоки одной телевизионной программы или нескольких программ, имеющих общую временную базу, т. е. взаимно синхронизированных. Длины пакетов программного потока могут быть различными. Структурные схемы формирования и приема программного потока похожи на приведенные выше схемы для транспортного потока. Программный поток может быть преобразован в транспортный поток. Возможно и обратное преобразование.
Транспортный поток рекомендуется использовать при передаче по каналам связи с помехами, а программный поток - при отсутствии помех.
Следует также отметить, что синтаксис транспортного и программного потоков позволяет обеспечивать условный (ограниченный, по паролю) доступ к передаваемой информации, хотя непосредственно в стандарте MPEG-2 средства решения этой задачи не определены.
Сжатые по стандартам MPEG-1, MPEG-2 видео- и аудиоданные могут также записываться в файлы. Видеопрограммы, сжатые по MPEG-1, записываются на компьютерные видеодиски, а сжатые по MPEG-2 - на диски DVD.