Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

(по цифровому вещанию) Dvorkovich_V_Cifrovye_videoinformacionnye_sistemy

.pdf
Скачиваний:
301
Добавлен:
15.03.2016
Размер:
23.26 Mб
Скачать

Глава 17. Стандарты кодирования звуковой информации

Рис. 17.4. Структура цифровых данных аудиофрейма MPEG-1 Audio Layer-1

значение скорости цифрового потока для каждого типа кодирования (4 бита);

частоту дискретизации для каждого типа кодирования (2 бита);

бит, равный «1», если частота дискретизации равна 44,1 кГц, и «0» — в противном случае;

бит для использования в специальных целях, например при передаче дополнительной информации;

код режима передачи: «Stereo», «Joint Stereo», «два независимых канала», «один канал» (2 бита);

код режима расширения (2 бита) при использовании системы «Joint Stereo»;

бит права копирования, равный «0», если копирование запрещено;

бит, характеризующий тип передачи «оригинал/копия», равный «1», если передается оригинал;

код предыскажения (2 бита).

После преамбулы 16 битов отводится для помехоустойчивого кодирования — обнаружения и коррекция возможных ошибок (CRC). Затем следуют данные компрессированного сигнала:

сначала передается информация о распределении битов по субполосам (Bit Allocation-BAL); в Layer-1 поле этих данных содержит 4 бита;

затем в аудиофрейме располагается информация о передаваемых масштабных коэффициентах (SCFSI) для каждой из субполос (по 2 бита);

за этой информацией следует передача кодовых слов индексов самих SCF, для передачи одного масштабного коэффициента используется 6 битов;

наконец, далее следуют кодовые слова субполосных нормированных отсчетов (Sabband Samples), которые объединены в 12 блоков: B(j), j = 1, . . . , 12.

Каждый из этих блоков B(j) содержит нормированные отсчеты субполос под номерами от 3j – 2 до 3j, если отсчеты данной полосы передаются. Каждый блок содержит 30 подблоков: C(k), k = 1, . . . , 30, каждый из которых содержит группу

17.1. MPEG-1 Audio — кодирование аудиоинформации для цифровых систем

из трех отсчетов субполосного сигнала. Таким образом, аудиофрейм стандарта MPEG-1 Audio Layer-1 содержит информацию о 384 отсчетах аудиосигнала. Завершается аудиофрейм интервалом, в котором могут предаваться дополнительные данные (Ansillare Data).

Скорость передачи цифровых данных и длина аудиофрейма определяют общее количество битов BC , использемых на кодирование всей информации выборки сигнала. Из этой величины следует исключить биты преамбулы (BHDR, 32 бита), биты помехоустойчивого кодирования (BCRC , 16 битов CRC кода), данные, необходимые для передачи информации о распределении битов по субполосам (BBAL), и биты, необходимые для передачи дополнительной информации (BAN C ). При этом общее количество битов, доступное в каждом аудиофрейме для кодирования информации о масштабных коэффициентах SCFSI, индексов самих масштабных коэффициентов SCF и субполосных отсчетах равно:

BAD = BC − (BHDR + BCRC + BBAL + BAN C ).

(17.2)

Процедура выделения битов на кодирование аудиоинформации обычно производится итерационно. Этот процесс начинается с субполосы, в которой величина SNR, рассчитанная с использованием психоакустической модели, масимальна. Для этой субполосы с номером i сначала выделяются биты, требуемые для передачи информации о распределении коэффициентов по субполосам (SCFSI, 2 бита) и передаче значений этих коэффициентов (SCF, 6 бит). После этого выделяются биты для кодирования отсчетов данной субполосы, начиная с минимально возможной длины кодового слова, определяемой наименьшим числом возможных ступеней квантования отсчетов в данной i-ой субполосе при постепенном увеличении его длины в соответствии с имеющимся набором квантователей.

Процесс выделения бит для передачи данных i-й субполосы продолжается до тех пор, пока фактическое значение отношения SNR в этой полосе не станет больше минимального из множества этих значений, рассчитанных для остальных субполос психоакустической моделью. На этом процесс выделения битов на i-ю субполосу прерывается, а получнное для этой субполосы фактическое значение SNRi заменяет требуемую величину SNR, рассчитанную ранее.

После этого биты начинают выделяться для новой j-й субполосы, где величина SNR оказывается максимальной. Процесс выделения битов при этом аналогичен вышеописанному и продолжается до тех пор, пока полученное фактическое значение SNRj не станет больше, чем в какой-либо другой субполосе, включая i-ю субполосу.

Такой итерационный процесс продолжается до тех пор, пока не будет исчерпано все доступное количество битов.

Декодер сигналов MPEG-1 Audio Layer-1 проверяет входящие данные на ошибки, а также разделяет данные управления процессом декодирования и сжатые информационные аудиоданные. Прежде всего, разделенные на отдельные полосы сигналы экспандируются с помощью информации управления, в результате происходит их обратное преобразование в исходную форму. В инверсном блоке фильтров различные спектральные части звукового сигнала вновь объединяются в первоначальный сигнал. Результатом этого является цифровой поток аудиоданных на выходе декодера, который уже подготовлен для цифро-аналогового преобразования.

Глава 17. Стандарты кодирования звуковой информации

Режим стереовещания при достаточных скоростях передачи цифровой информации обычно осуществляется путем независимой трансляции правого Rn

илевого Ln каналов аудиосигналов.

Вслучае же использования низких скоростей передачи используется так называемый режим «Joint Stereo», психоакустической основой которого являются следующие положения:

частоты ниже 150–250 Гц практически не локализуются;

частоты выше 8–10 кГц весьма часто не влияют на оценку азимута кажущегося источника звука;

на оцену азимута кажущегося источника звука наибольшее влияние оказывают спектральные составляющие с максимальной энергией, чаще всего расположенные в среднечастотной области звукового сигнала; на частотах 1,5–2,5 кГц положение азимута кажущегося источника звука определяется не тонкой временной структурой сигнала, а его огибающей или соотношением энергий высокочастотных составляющих спектров сигналов стереопары.

Эти свойства и используются в режиме «Joint Stereo», при котором высокочастотные составляющие стереопары объединяются и их сумма передается в общем канале в виде монофонической добавки. Процедура распределения битов по субполосам при кодировании объединенного сигнала выполняется так же, как и при независимом кодировании.

17.1.2.MPEG-1 Audio Layer-2 — система кодирования аудиоинформации для высококачественного телерадиовещания

ВMPEG-1 Audio Layer-2 возможно использование трех частот дискретизации — 32, 44,1 и 48 кГц. При fд = 48 кГц аудиофрейм длительностью 24 мс образует выборка, состоящая из 1152 отсчетов звукового сигнала. Структурная схема кодера MPEG-1 Audio Layer-2 такая же, как для Layer-1 (см. рис. 17.2). В каждой из 32 субполос кодирования располагается 1152/32 = 36 отсчетов аудиосигнала. Каждый блок из 36 отсчетов делится на три подблока — гранулы, и в каждой грануле, содержащей 12 отсчетов, определяется максимальный отсчет, являющийся масштабным коэффициентом SCF, общее количество которых равно 32 · 3 = 96. Полученные значения этих масштабных коэффициентов сравниваются с заданными в таблице стандарта, ближайшие значения принимаются за SCF каждой гранулы.

Взависимости от различий величин масштабных коэффициентов трех гранул SCF 1, SCF2 и SCF 3 субполосы может передаваться разное число этих коэффициентов — от одного до трех, либо ни одного, если отсчеты данной субполосы не кодируются.

Определение числа передаваемых коэффициентов осуществляется с использованием разностей:

Dscf1 = SCF1 − SCF2, Dscf2 = SCF2 − SCF3.

(17.3)

Установлено 5 классов этих разностей, указанных в табл. 17.3 и определяющих количество передаваемых масштабных коэффициентов.

17.1. MPEG-1 Audio — кодирование аудиоинформации для цифровых систем

Таблица 17.3. Классы различий пар масштабных коэффициентов

Класс различий

Значение разности

 

 

1

Dscf −3

2

−3 < Dscf < 0

3

Dscf = 0

 

 

4

0 < Dscf < +3

 

 

5

Dscf +3

Набор квантователей масштабных коэффициентов для цифровых потоков 56– 384 кбитов/с для Layer-2 также определяется табл. 17.2.

Процедуры нормирования, квантования и кодирования отсчетов аудиосигналов в кодере MPEG-1 Audio Layer-2 аналогичны соответствующим процедурам в Layer-1.

Структура цифровых данных аудиофрейма MPEG-1 Audio Layer-2 приведена на рис. 17.5.

Рис. 17.5. Структура цифровых данных кодера MPEG-1 Audio Layer-2

Служебная информация в преамбуле и биты, используемые для реализации помехоустойчивого кодирования CRC, аналогичны соответствующим данным цифрового потока кодера MPEG-1 Audio Layer 1.

Длина кодовых слов в поле распределения битов по субполосам (BAL) в кодере Layer 2 переменна, зависит от числа кодируемых субполосных сигналов, частоты дискретизации и изменяется в пределах от 2 до 4 битов. Информация о передаваемых масштабных коэффициентах (SCFSI) использует 2 бита для каждой из субполос. Далее следуют кодовые слова, несущие информацию об индексах самих масштабных коэффициентов (SCF), а затем аудиофрейм несет информацию о 1152 отсчетах звукового сигнала.

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

Глава 17. Стандарты кодирования звуковой информации

Рис. 17.6. Структурная схема кодера MPEG-1 Audio Layer-3

(меньше степень сжатия). И наоборот, при одной и той же степени сжатия более качественно будет передан сигнал, имеющий небольшой частотный диапазон. Алгоритм MPEG-1 Audio Layer-2 предусматривает различные степени сжатия данных с соответствующей скоростью цифрового потока на выходе: 56, 64, 112, 128, 192, 256 и 348 кбитов/с.

Алгоритм режима работы кодера «Joint-Stereo» аналогичен приведенному в описании кодера MPEG-1 Audio Layer-1.

17.1.3.MPEG-1 Audio Layer-3 — система кодирования аудиоинформации для Интернет-вещания

Специфической особенностью кодера MPEG-1 Audio Layer-3 является использование модифицированного дискретного косинусного преобразования МДКП, аудиофрейм образует выборка, состоящая их 1152 отсчетов сигнала длительностью 24 мс.

Структурная схема кодера MPEG-1 Audio Layer-3 приведена на рис. 17.6. Кодированию в данном случае подвергаются коэффициенты МДКП, в каждой из 32 субполос размещается по 18 коэффициентов.

Входной ИКМ-сигнал поступает на гибридный банк фильтров (Hybrid PQMF Filter Bank), содержащий помимо полифазных квадратурных зеркальных фильтров (PQMF) блок прямого МДКП (MDCT) и частотный корректор ЧК (рис. 17.7).

При помощи банка из 32 PQMF-фильтров 1152 отсчета аудиосигнала разделяются двумя блоками по 576 отсчетов на 32 субполосных составляющих, в каждой из которых выделяется 36 = 18 + 18 отсчетов сигнала. Далее в каждом таком субканале выполняется МДКП, при этом длина ортогонального преобразова-

17.1. MPEG-1 Audio — кодирование аудиоинформации для цифровых систем

 

Рис. 17.7. Структурная схема гибридного банка фильтров

 

ния зависит от формы временной выборки звукового сигнала. При отсутствии всплесков в выборке МДКП выполняется над всей группой из 36 отсчетов, а при наличии всплесков отдельно для трех групп, содержащих по 12 отсчетов сигнала. При длинном преобразовании общее число коэффициентов МДКП во всех субполосах равно 18 · 32 = 576, а при коротком имеется 6 · 32 = 192 коэффициента в каждом коротком блоке. Три коротких блока объединяются в гранулу, в которой размещается также 192 · 3 = 576 коэффициентов МДКП.

Для изменения длины ортогонального преобразования используется набор оконных функций: синусное окно «long» — для длинного преобразования, синусное окно «short» — для короткого преобразования и два окна «start» и «stop», необходимые для уменьшения искажений при переходе от одного преобразования к другому (рис. 17.8).

Частотный корректор используется для уменьшения искажений, возникающих вследствие использования процедуры МДКП. Решение о выборе длины МДКП принимает психоакустическая модель кодера (см. раздел 15.7.2, психоакустическая модель 2). Рассчитанные коэффициенты МДКП масштабируются (нормируются), квантуются и кодируются.

В кодере MPEG-1 Audio Layer-3 применяется неравномерное квантование коэффициентов МДКП, которое выполняется при помощи двух итерационных циклов — внутреннего (Inner Iteration Loop), при котором производится квантование коэффициентов МДКП в соответствии с требованиями к установленной скорости передачи информации, и внешнего (Outer Iteration Loop), приводящего результаты квантования в соответствие с требованиями психоакустической модели. Для кодирования величин квантованных коэффициентов МДКП использются таблицы кодов Хаффмана.

Перед квантованием и кодированием рассчитывается приходящееся на одну гранулу среднее количество битов, вычисляемое по формуле:

Глава 17. Стандарты кодирования звуковой информации

Рис. 17.8. Типы оконных функций, используемых в гибридном банке фильтров (а), и последовательность их переключения при наличии всплеска в выборке (б)

mean_bit =

v · N

,

(17.4)

 

Ng · fд

 

где v — установленная скорость передачи цифровых данных, fд — частота дискретизации, N = 1152 — число отсчетов в выборке сигнала, Ng = 2 — количество гранул в аудиофрейме.

Так как преамбула содержит 32 бита и для передачи дополнительной информации отводится 17 байтов (всего 136 битов), то среднее доступное количество битов, приходящееся на одну гранулу равно:

Bcpx = mean_bit −

32 + 136

(17.5)

2 .

Затем инициализируется количество итерационных циклов и вычисляется величина:

quantf = system_const · ln(smf),

(17.6)

где system_const = 210 — системная константа, smf — параметр, характеризующий спектральную неоднородность выборки сигнала, определяемый как

 

 

 

2

 

M−1

 

 

sfm =

exp

 

 

m=0 ln(xrm)

 

 

 

M

,

(17.7)

 

 

 

 

 

 

 

 

 

M

 

1

 

 

 

 

 

 

!

 

 

2

 

 

 

ln(xrm)

 

 

 

 

M

 

 

 

 

 

 

 

 

 

 

m=0

 

 

 

 

 

!

 

 

 

M = 576 — суммарное количество спектральных коэффициентов в грануле,

xrm — m-е значение коэффициента МДКП в грануле. Значение quantf

является

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

 

 

 

Перед входом во внутренний цикл обработки предварительно проверяется, имеются ли ненулевые коэффициенты МДКП. Если все коэффициенты МДКП равны нулю, то внутренние и внешние циклы обработки не проводятся.

Квантование коэффициентов МДКП во внутреннем итерационном цикле осуществляется в соответствии с соотношением:

 

xrm

 

3/4

 

ixm = round )

 

− 0,0946* , m = 0, . . . , 576,

 

4 2qquant| +|quantf

(17.8)

17.1. MPEG-1 Audio — кодирование аудиоинформации для цифровых систем

где ix m и xrm — квантованное и исходное значение m-го коэффициента МДКП, qquant — указатель шага квантования, определяющий степень компрессии, а quantf — шаг изменения величины qquant.

Начальное значение шага квантования принимается равным нулю — qquant = 0, а затем изменяется дискретно с шагом 1: qquant = qquant + 1 до тех пор, пока не будет получена квантованная величина, лежащая в пределах самых больших значений из множества, заданного таблицей Хаффмана.

На следующем шаге определяется число пар квантованных значений коэффициентов МДКП, равных нулю и обозначаемых «rzero». Затем определяется количество четверок коэффициентов, квантованные значения которых не превышают по модулю единицы, включая коэффициенты «rzero». Эти четверки обозначаются «count1 ».

Далее определяется число битов, необходимое для кодирования «count1 » — «bitsum_count1 ». Для каждого четырехкомпонентного вектора x(4)m = [0, 1, 1, 1] определяется длина кодовых слов в соответствии с таблицами A и B стандарта MPEG-1 Audio Layer-1. Например, четырехкомпонентному m-му вектору соответствует по таблице A шестибитовое кодовое слово «000100», а по таблице B — четырехбитовое слово «1000». То есть определяется число битов, необходимых для кодирования «count1 », независимо сначала по таблице A — «bitsum_table0», а затем по таблице B — «bitsum_table1». Из этих двух значений выбирается минимальное и добавляются биты, необходимые для кодирования знака коэффициентов МДКП. Информация об используемой таблице «count1tablt_seltct» кодируется одним битом, равным «0» при таблице A и «1» — при таблице B.

Квантованные коэффициенты МДКП — «bigvalues», не входящие в состав «rzero» и «count1 », для каждой субполосы кодирования разбиваются на 2 региона при использовании окон «short», «start» и «stop» или 3 региона в противном случае.

После разбиений больших значений квантованных коэффициентов МДКП на регионы для каждого из них определяются кодовые таблицы из 32 таблиц Хаффмана.

Параметрами этих таблиц являются переменные x, y, hlen, hcod, linbits. Величины x и y — пара квантованных коэффициентов МДКП, кодируемых одним кодовым словом hcod длиной hlen. В этих таблицах приводятся коды для величин коэффициентов МДКП, меньших 16. Для величин, равных или больших 16, имеются две специальные таблицы. Величина 15 является исключающим символом и кодируется дополнительным кодовым словом с длиной, обозначенной как linbits.

Далее подсчитывается общее количество битов, необходимое для кодирования всех коэффициентов МДКП. Если оно меньше доступной величины, то указатель шага квантования qquant увеличивается на единицу и внутренний итерационный цикл повторяется с новым значением qquant. Этот процесс повторяется до тех пор, пока общее количество битов не будет чуть превышать установленную скорость цифрового потока.

Внешний итерационный цикл управляет величинами искажений, вызванными квантованием коэффициентов МДКП во внутреннем цикле. Прежде всего рассчитывается энергия искажений квантования, приходящаяся на один коэф-

Глава 17. Стандарты кодирования звуковой информации

фициент МДКП для каждой из субполос кодирования m:

 

4/3

4

 

 

2

 

 

 

 

 

 

 

xf sfm = ihigh

|xrk | − ixk

· 2qquant+quantf

 

,

(17.9)

 

Km

 

 

k=ilow

где ilow и ihigh — нижний и верхний индексы коэффициентов МДКП в субполосе m; xrk и ix k — исходное и квантованное значение k-го коэффициента МДКП в субполосе m; Km — общее число коэффициентов МДКП в субполосе m.

Если в какой-либо из субполос кодирования m — величина энергии искажений квантования превышает значение, рассчитанное психоакустической моделью, то значения всех коэффициентов МДКП в данной субполосе корректируются сле-

дующим образом:

xrk = xrk · 2(1+scalefac_scale)·scalefacm , k = ilowm, . . . , ihighm,

(17.10)

где scalefacm — масштабный коэффициент для субполосы m, равный scalefac_lm или scalefac_sm соответственно для длинных и коротких блоков, scalefaс_scale — параметр, управляющий величиной шага изменения корректирующего множителя и имеющий только два значения: 0 или 1.

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

Корректирующий множитель в соотношении (17.10) может иметь разные показатели степени: 1, 2, pretabm, 2 · pretabm и scalefacm в зависимости от ряда условий.

Цикл управления шумами квантования исходно устанавлиается scalefaс_scale = = 0 и затем к нему добавляется 1, если необходимо увеличить диапазон изменения корректирующих множителей.

Значения масштабных коэффициентов scalefacm и указатель шага квантования qquant переаются в составе цифрового потока декодеру.

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

Каждый фрейм в структуре цифрового потока MPEG-1 Audio Layer-3 содержит преамбулу (заголовок), в которой передается служебная информация, блок дополнительной информации и блок аудиоданных, содержащих две гранулы (рис. 17.9). Каждая гранула содержит информацию о 576 коэффициентах МДКП.

В данном случае предполагается, что в первой грануле передается информация о последовательности коэффициентов МДКП длинного блока, а во второй грануле — последовательности из трех коротких блоков, с информацией о 192 коэффициентах МДКП в каждом.

Алгоритм компрессии «Joint Stereo» реализуется в виде двух режимов: сум- марно-разностного кодирования (M/S) и объединения сигналов стереопары. Возможно раздельное и совместное использование этих режимов.

17.1. MPEG-1 Audio — кодирование аудиоинформации для цифровых систем

Рис. 17.9. Структура данных аудиофрейма стандарта MPEG-1 Audio Layer-3

Режим M/S кодирования применяется при условии, если

576

576

 

 

 

 

Fw2.L − Fw2.R < 0,8 ·

Fw2.L + Fw2.R ,

(17.11)

w=0

w=0

 

где Fw.L и Fw.R — спектральные составляющие левого и правого сигналов стереопары.

При работе в данном режиме кодируются независимо суммарный Mm- и разностный Sm-сигналы стереопары в субполосе m по стандартной для Layer-3 процедуре.

В режиме объединения сигналов стереопары коэффициенты преобразования суммы Mm передаются в левом канале, а в правом канале для каждой субполосы передаются так называемые координаты объединения Ψm, необходимые для восстановления энергий исходных сигналов стереопары. Для передачи значений координат объединения используется 3 бита в пределах Ψm = 0, . . . , 6; число Ψm = 7 означает, что процедура объдинения в данной субполосе не использовалась.

При декодировании сначала определяются только те субполосы m, в которых реализована процедура объединения, и определяются координаты Ψm для них. Затем находят энергетические коэффициенты qm в объединенных субполосах:

 

π

 

 

 

 

 

qm = tg Ψm ·

12

 

= +em,R .

(17.12)

 

 

 

 

 

 

Исходные спектральные компоненты стереопары восстанавливаются следующим