ГОСТ Р 54711-2011 Звуковое вещание цифровое. Кодирование сигналов звукового вещания с сокращением избыточности для передачи по цифровым каналам связи. MPEG-1 часть III (MPEG-1 audio)

Обложка ГОСТ Р 54711-2011 Звуковое вещание цифровое. Кодирование сигналов звукового вещания с сокращением избыточности для передачи по цифровым каналам связи. MPEG-1 часть III (MPEG-1 audio)
Обозначение
ГОСТ Р 54711-2011
Наименование
Звуковое вещание цифровое. Кодирование сигналов звукового вещания с сокращением избыточности для передачи по цифровым каналам связи. MPEG-1 часть III (MPEG-1 audio)
Статус
Действует
Дата введения
2013.07.01
Дата отмены
-
Заменен на
-
Код ОКС
33.170

       

ГОСТ Р 54711-2011


НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ


Звуковое вещание цифровое


КОДИРОВАНИЕ СИГНАЛОВ ЗВУКОВОГО ВЕЩАНИЯ С СОКРАЩЕНИЕМ ИЗБЫТОЧНОСТИ ДЛЯ ПЕРЕДАЧИ ПО ЦИФРОВЫМ КАНАЛАМ СВЯЗИ


MPEG-1 ЧАСТЬ III (MPEG-1 AUDIO)


Digital sound broadcasting. Coding of sound broadcasting signals with redundancy reduction for transfer on digital communication channels. MPEG-1 part III (MPEG-1 audio)

ОКС 33.170

Дата введения 2013-07-01


Предисловие

1 РАЗРАБОТАН Санкт-Петербургским филиалом Центрального научно-исследовательского института связи "Ленинградское отделение" (ФГУП ЛО ЦНИИС)

2 ВНЕСЕН Техническим комитетом по стандартизации ТК 480 "Связь"

3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ приказом Федерального агентства по техническому регулированию и метрологии от 13 декабря 2011 г. N 872-ст

4 Настоящий стандарт разработан с учетом основных нормативных положений международного стандарта ИСО/МЭК 11172-3:1993* "Информационные технологии. Кодирование движущихся изображений и сопутствующего звука для цифровых носителей при скоростях до 1,5 Мбит/с. Часть 3. Аудио" (ISO/IEC 11172-3:1993 "Information technology - Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s - Part 3: Audio") [1]

5 ВВЕДЕН ВПЕРВЫЕ

Правила применения настоящего стандарта установлены в ГОСТ Р 1.0-2012 (раздел 8). Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте национального органа Российской Федерации по стандартизации в сети Интернет ()


1 Область применения

Настоящий стандарт определяет кодированное представление высококачественного звукового сигнала на цифровых носителях и метод его восстановления и относится к сигналам с частотами дискретизации 32; 44,1 и 48 кГц.

Вход кодера и выход декодера совместимы с существующими стандартами ИКМ, такими как ГОСТ 28376-89, ГОСТ Р 50712-94.

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

Настоящий стандарт используется при проектировании, вводе в эксплуатацию и техническом обслуживании каналов и трактов звукового вещания, организуемых в наземных и спутниковых линиях связи (ГОСТ Р 52742-2007 и ГОСТ Р 53537-2009).

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

Показатели, определенные настоящим стандартом, являются базовыми для профессиональной и бытовой аппаратуры - проигрывателей компакт-дисков, усилителей сигналов звуковой частоты и другого оборудования с высоким качеством звука.


2 Нормативные ссылки

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

ГОСТ Р 52742-2007 Каналы и тракты звукового вещания. Типовые структуры. Основные параметры качества. Методы измерений

ГОСТ Р 53537-2009 Звуковое вещание. Основные электрические параметры каналов и трактов студийного качества (с полосой частот 20...20000 Гц)

ГОСТ Р 28376-89* Компакт-диск. Параметры и размеры

ГОСТ Р 50712-94 Соединительные линии и аппаратные звукового вещания. Технические характеристики. Методы измерений

Примечание - При пользовании настоящим стандартом целесообразно проверить действие ссылочных стандартов в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодно издаваемому информационному указателю "Национальные стандарты", который опубликован по состоянию на 1 января текущего года, и по соответствующим выпускам ежемесячно издаваемого информационного указателя за текущий год. Если ссылочный стандарт заменен (изменен), то при пользовании настоящим стандартом следует руководствоваться замененным (измененным) стандартом. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, применяется в части, не затрагивающей эту ссылку.


3 Термины, определения, символы и сокращения


3.1 Термины и определения

В настоящем стандарте применены следующие термины и сокращения с соответствующими определениями:

3.1.1 аудиобуфер: Буфер в декодере, предназначенный для хранения сжатых аудиоданных.

3.1.2 аудиопоследовательность: Непрерывная последовательность аудио фреймов, в которых следующие параметры не меняются:

- ID;

- Уровень;

- частота дискретизации;

- для уровней I и II индекс скорости передачи.

3.1.3 барк: Единица измерения ширины критических полос. Переход к шкале барков от шкалы звуковых частот.

3.1.4 блок доступа к аудиоданным: Для Уровней I и II блок доступа к аудиоданным определяется как самая меньшая часть кодированного потока битов, которая может декодироваться отдельно, в ней под результатом декодирования понимается полностью восстановленный звук. Для Уровня III блок доступа к аудиоданным является частью потока битов, который декодируется с использованием ранее полученной основной информации.

3.1.5 блочное компандирование: Нормирование цифрового представления звукового сигнала в пределах определенного периода времени.

3.1.6 быстрое преобразование Фурье (БПФ): Быстрый алгоритм расчета коэффициентов преобразования Фурье.

3.1.7 гибридный набор фильтров: Последовательная комбинация набора полосовых фильтров и МДКП.

3.1.8 гранула, Уровень II: Набор из трех последовательных отсчетов каждой из 32 субполос, которые объединяются перед квантованием, что соответствует 96 отсчетам ИКМ.

3.1.9 гранула, Уровень III: 576 частотных линий.

3.1.10 декодер: Устройство, в котором реализуется процесс декодирования.

3.1.11 декодирование: Процесс, выполняемый в соответствии с настоящим стандартом, при котором считываемые кодированные данные преобразуются в отсчеты звукового сигнала.

3.1.12 дополнение бит (байт): Биты стаффинга, кодовые комбинации, которые могут быть добавлены в поток сжатых данных и затем отброшены в процессе декодирования. Их назначение в согласовании потока со скоростью передачи.

3.1.13 дискретизация: Дискретизация, выполняемая в соответствии с теоремой Котельникова - Найквиста.

3.1.14 заполнение нулями: Способ скорректировать среднюю длину звукового фрейма в соответствии с продолжительностью выборки ИКМ-отсчетов за счет дополнения нулями.

3.1.15 запрещенный: Термин "запрещенный" относится к символам кодовой последовательности, которые никогда не должны использоваться во избежание совпадения с синхрословами.

3.1.16 зарезервированный: Термин "зарезервированный" указывает на то, что значение может использоваться в будущем для определенных расширений.

3.1.17 звуковое вещание (ЗВ): Передача звуковой информации общего назначения широкому кругу территориально рассредоточенных слушателей.

3.1.18 зеркальная составляющая: Зеркально отраженная составляющая спектра, возникающая в результате элайзинга.

3.1.19 индекс масштабного коэффициента: Числовой код для масштабного коэффициента.

3.1.20 канал: Цифровая среда, которая хранит или транспортирует поток данного стандарта.

3.1.21 канал звукового вещания (КЗВ): Канал, образованный в цифровых или аналоговых системах передачи.

3.1.22 код Хаффмана: Вид энтропийного кодирования.

3.1.23 кодер: Устройство, в котором реализуется процесс кодирования.

3.1.24 кодирование: Процесс, не определенный в данном стандарте, при котором звуковые отсчеты считываются и преобразуются в кодированный поток битов, как определено в стандарте.

3.1.25 кодирование с переменной длиной слова (VLC): Обратимая процедура кодирования, в результате которой более короткие кодовые комбинации присваиваются наиболее частым событиям и более длительные кодовые комбинации - менее частым событиям.

3.1.26 кодирование Joint Stereo: Метод устранения стереофонической избыточности.

3.1.27 кодированный звуковой поток: Кодированное представление звукового сигнала согласно настоящему стандарту.

3.1.28 коэффициент МДКП: Амплитуда определенной косинусной базисной функции.

3.1.29 критическая полоса: Психоакустическая величина в частотной области, которая соответствует частотной избирательности человеческого уха. Эта избирательность выражается в Барках.

3.1.30 маскирование: Свойство слуховой системы человека, исключающее прием звукового сигнала в присутствии другого звукового сигнала.

3.1.31 масштабный коэффициент: Величина, на которую делится набор значений перед квантованием.

3.1.32 модифицированное дискретное косинусное преобразование (МДКП): Преобразование Фурье, основанное на IV типе косинусного преобразования (ДКП-IV) с дополнительным свойством наложения.

3.1.33 набор фильтров: Набор полосовых фильтров, перекрывающих весь диапазон звуковых частот.

3.1.34 набор фильтров анализа: Набор фильтров в кодере, с помощью которого ИКМ-отсчеты широкополосного звукового сигнала преобразуются в ряд прореженных отсчетов на выходе каждого фильтра.

3.1.35 набор фильтров синтеза: Набор фильтров в декодере, который восстанавливает ИКМ-отсчеты звукового сигнала из субполосных отсчетов.

3.1.36 нетональный компонент: Шумоподобный компонент звукового сигнала.

3.1.37 нижний предел: Самая низкая субполоса, в которой используется кодирование стерео.

3.1.38 обратное модифицированное дискретное косинусное преобразование (ОМДКП): Преобразование, обратное МДКП.

3.1.39 окно Ханна: Оконная функция, которая применяется к выборке отсчетов звукового сигнала перед преобразованием Фурье.

3.1.40 переквантование: Декодирование кодированных субполосных отсчетов для восстановления исходных квантованных значений.

3.1.41 побайтное выравнивание: Бит потока данных обладает побайтным выравниванием, если его позиция кратна 8 с начала потока.

3.1.42 полифазный набор фильтров: Набор фильтров с равной шириной полос пропускания.

3.1.43 полоса масштабного коэффициента: Ряд частотных линий в Уровне III, для которых используется один масштабный коэффициент.

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

3.1.45 пост-коррекция: Фильтрация, применяемая к звуковому сигналу после хранения или передачи для предотвращения линейных искажений, вызванных пред-коррекцией.

3.1.46 пред-коррекция: Фильтрация, применяемая к звуковому сигналу перед хранением или передачей для улучшения отношения сигнал-шум на высоких частотах.

3.1.47 преобразование: Преобразование звукового сигнала из временной области в частотную путем субполосной фильтрации и/или МДКП.

3.1.48 программа: Совокупность передач, составленных по определенному плану.

3.1.49 психоакустическая модель: Математическая модель маскирующих свойств слуховой системы человека.

3.1.50 распределение битов: Распределение битов между полосами в соответствии с результатами психоакустического расчета.

3.1.51 распределение шумов квантования: Распределение шумов квантования между частотными полосами в соответствии с результатами психоакустического расчета.

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

3.1.53 режим stereo: Режим кодирования, при котором два звуковых канала, формирующих стереопару (левый и правый каналы), кодируются в пределах одного потока битов. Процесс кодирования аналогичен процессу в режиме двойного канала.

3.1.54 режим intensity stereo: Метод устранения избыточности в стереофонических звуковых программах, основанный на сохранении на высоких частотах только огибающей энергетического спектра сигналов правого и левого каналов.

3.1.55 режим joint stereo: Режим алгоритма кодирования звуковых сигналов, использующий кодирование joint stereo.

3.1.56 режим MS stereo: Метод устранения избыточности в стереофонических звуковых программах, основанный на кодировании суммарного и разностного сигналов вместо сигналов левого и правого каналов.

3.1.57 свободный формат: Передача данных со скоростью, отличной от скоростей передачи определенных в стандарте, меньшей, чем максимальная допустимая скорость передачи для каждого уровня.

3.1.58 сжатие: Сокращение разрядности элементов данных.

3.1.59 синхрослово: 12-разрядная комбинация в потоке битов, которая идентифицирует начало кадра.

3.1.60 скорость передачи: Скорость, с которой сжатый поток данных передается от носителя к входу декодера.

3.1.61 слот: Элементарная часть потока битов. В Уровне I слот равен четырем байтам, в Уровнях II и III - одному байту.

3.1.62 служебная информация: Информация, передаваемая в потоке, необходимая для управления декодером.

3.1.63 соединительная линия (СЛ): Канал ограниченной протяженности между различными аппаратными, а также между аппаратной и передатчиком.

3.1.64 субполоса: Часть звукового диапазона.

3.1.65 субполосные отсчеты: Прореженные отсчеты на выходе набора субполосных фильтров кодера звуковых сигналов называют субполосными отсчетами. Из 384 временных отсчетов на входе набора фильтров образуется по 12 отсчетов на выходе каждой из 32 субполос.

3.1.66 субполосный набор фильтров: Ряд полосных фильтров, покрывающих весь диапазон звуковых частот. В данном стандарте под субполосным набором фильтров понимается полифазный набор.

3.1.67 тональный компонент: Компонент звукового сигнала, близкий к синусоиде.

3.1.68 тройка: Три последовательных субполосных отсчета одной субполосы.

3.1.69 уровень: Один из уровней в иерархии кодирования звуковой системы, определенный в [1].

3.1.70 фрейм: Часть ИКМ звукового сигнала из элемента доступа.

3.1.71 функция маскирования: Функция, описывающая распределение маскирования в частотной области.

3.1.72 циклический избыточный код (cyclic redundancy check; CRC): Код, используемый в методе обнаружения ошибок в передаваемом сообщении, заключающемся в сравнении остатков от деления блоков кодовой последовательности на фиксированный делитель, производимого на передающей и приемной сторонах.

3.1.73 элемент доступа: В случае сжатых звуковых данных элемент доступа представляет собой звуковые данные.

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


3.2 Символы и сокращения

3.2.1 Арифметические операторы


Математические операторы, используемые в настоящем стандарте, аналогичны используемым в языке программирования С. Однако целочисленное деление с усечением и округление определены особым образом. Побитные операторы определяются с учетом представления чисел в дополнительном коде. Нумерация и счетчики циклов обычно начинаются с нуля.

+ Сложение.

- Вычитание (как бинарный оператор) или отрицание (как унарный оператор).

++ Инкремент.

- - Декремент.

* Умножение.

^ Возведение в степень.

/ Целочисленное деление с округлением к меньшему по модулю целому. Например, 7/4 и -7/4 округляются до единицы, а -7/4 и 7/-4 округляются до минус одного.

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


DIV

Целочисленное разделение с округлением результата в сторону
.

| |

Абсолютное значение.

, когда
0;
0, когда
0;
, когда
0.

%

Деление с остатком. Операция определена только для положительных чисел.


Принимает следующие значения:
1, когда
0;
0, когда
0;
-1, когда
0.

NINT( )

Округление до ближайшего целого. Возвращает самое близкое к вещественному аргументу целочисленное значение. Полуцелые числа округляются в сторону от нуля.

sin

Синус.

cos

Косинус.

ехр

Экспонента.

Квадратный корень.

Ig

Логарифм по основанию 10.

In

Натуральный логарифм.

Логарифм по основанию 2.


3.2.2 Логические операторы


||

Логическое ИЛИ.

&&

Логическое И.

!

Логическое НЕ.


3.2.3 Операторы сравнения


>

Больше.

> =

Больше или равно.

<

Меньше.

<=

Меньше или равно.

==

Равно.

! =

Не равно.

max [,...,]

Максимальное значение.

min [,...,]

Минимальное значение.


3.2.4 Побитные операторы


Использование побитных операций подразумевает представление чисел в дополнительном коде.


&

Подбитное И.

|

Подбитное ИЛИ.

>>

Сдвиг вправо.

<<

Сдвиг влево.


3.2.5 Оператор присвоения


=

Оператор присвоения.


3.2.6 Мнемоники


Следующие мнемоники подлежат определению для описания различных типов данных, используемых в кодированном потоке битов.


bslbf

Битовая строка, младший бит слева в соответствии с настоящим стандартом. Битовые строки пишутся как строка единиц и нулей внутри одинарных кавычек, например ’1000 0001’. Пробелы внутри битовой строки вводятся для удобства чтения и не имеют никакого значения.

ch

Канал. Если ch имеет значение 0, это соответствует левому каналу стереопары или первому из двух независимых каналов.

nch

Количество каналов: равно 1 для single_channel mode, 2 - в других режимах.

gr

Гранула 3 * 32 субполосных отсчета в Уровне II звукового сигнала, 18 * 32 субполосных отсчета в Уровне III.

main_data

Часть потока битов, которая содержит масштабные коэффициенты, кодированные методом Хаффмана данные и дополнительную информацию.

main_data_beg

Указатель на начало main_data внутри фрейма. Равен позиции конца main_data предыдущего фрейма плюс один бит. Вычисляется из main_data_end значения предыдущего фрейма.

part2_length

Количество main_data бит, используемых для масштабных коэффициентов.

rpchof

Коэффициенты остатка от деления на порождающий полином, сначала следует коэффициент высшего порядка.

sb

Субполоса.

sblimit

Номер самой низкой субполосы, для которой не были выделены биты.

scfsi

Информация о выборе масштабного коэффициента.

switch_point_l

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

switch_point_s

Номер полосы масштабных коэффициентов (полоса "короткого" блока), с которой используется переключение окон.

uimsbf

Целое число без знака, старший бит первый.

vlclbf

Код с переменной длиной слова, левый бит первый, где "левый" относится к порядку, в котором пишутся коды с переменной длиной.

window

Номер текущего временного интервала в случае
block_type ==
2
,
0
window
2
.

В многобайтовых словах старший байт является первым.


3.2.7 Константы


3,14159265358...
2,71828182845...

3.3 Метод описания синтаксиса потока битов

Поток битов, полученный декодером, описывается в подразделе 5.1. Каждый элемент данных описывается именем, длиной в битах, мнемоникой типа и порядком передачи.

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

В этом синтаксисе используется принятое в языке С соглашение о том, что переменная или выражение, возвращающие ненулевое значение, эквивалентны результату "истина".

Для выражения условия присутствия элементов данных используются следующие конструкции:


Если "истина", то группа элементов данных появляется в потоке данных. Это повторяется, пока условие не "ложь".

Элемент данных всегда существует, по крайней мере один раз.

Элемент данных повторяется при условии "истина".

Если условие "истина", то первая группа элементов данных появляется затем в потоке данных.

Если условие "истина" не сохраняется, то вторая группа элементов данных появляется затем в потоке данных.

Является инициализирующим выражением цикла.

Обычно оно определяет начальное состояние счетчика.

Является условием, определяющим проверку перед каждой итерацией цикла. Цикл завершается, когда условие "не истина".

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


Следует обратить внимание на наиболее распространенные варианты использования этой конструкции:


Группа элементов данных появляется n раз. Условия в пределах группы элементов данных могут зависеть от значения переменной управления циклом i, которая обнуляется при первом появлении, увеличивается на 1 при втором появлении и т.д.


Как отмечено, группа элементов данных может содержать вложенные условные конструкции. Для компактности скобки { } могут быть опущены, когда следует только один элемент данных.


data_element [ ]

Является массивом данных.

Количество элементов массива зависит от контекста.

data_element [n]

Является (n+1)-м элементом массива данных.

data_element [m][n]

Является элементом (m+1)-й строки (n+1)-го столбца двухмерного массива данных.

data_element [l][m][n]

Является (I+1), (m+1), (n+1)-м элементом трехмерного массива данных.

data_element [m…n]

Биты массива data_element с m по n включительно.


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


bytealigned( )

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

nextbits( )

Реализует сравнение строки битов со строкой битов на входе декодера.

next_start_code( )

Удаляет все нулевые биты и биты стаффинга и определяет положение следующего синхрослова.


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


4. Структура цифровой обработки звуковых сигналов



4.1 Кодирование

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


Рисунок 1 - Общая структура кодера

Рисунок 1 иллюстрирует структуру кодера звуковых сигналов. Отсчеты звукового сигнала поступают на вход кодера. В блоке частотно-временного преобразования сигнал разделяется на полосы с децимацией субполосных отсчетов. Отсчеты на выходе блока частотно-временного преобразования могут быть названы субполосными отсчетами (как на Уровне I или II, см. ниже) или коэффициентами частотно-временного преобразования (как на Уровне III). Психоакустическая модель создает ряд данных, позволяющих управлять квантованием и кодированием. Эти данные различаются в зависимости от фактической реализации кодера. Один из возможных вариантов состоит в использовании оценки порога маскирования для управления квантованием. Блок квантования и кодирования производит символы кода из отсчетов на выходе блока частотно-временного преобразования. Этот блок также может зависеть от конкретного кодера. Блок формирования кадра добавляет данные текущего блока к выходным данным других блоков, а также другую информацию (например данные для коррекции ошибок) в случае необходимости.

Существует четыре различных режима работы кодера: моно; два канала (два независимых звуковых сигнала, кодированные в пределах одного потока битов); стерео (левые и правые сигналы стереопары, кодированной в пределах одного потока битов); и joint stereo (левые и правые сигналы стереопары, кодированной в пределах одного потока битов с устранением пространственной избыточности).


4.2 Уровни

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

Уровень I

В этом уровне используется:

- частотно-временное преобразование на основе разделения входного сигнала на 32 поддиапазона;

- фиксированная длина кодируемой выборки, психоакустическая модель, управляющая процессом адаптивного распределения битов и квантованием на основе блочного компандирования;

- формирование потока данных.

Минимальное теоретическое время задержки при кодировании/декодировании для Уровня I составляет приблизительно 19 мс.

Уровень II

В этом уровне используется дополнительное кодирование информации о распределении битов, масштабирующих коэффициентов и отсчетов. Применяются различные размеры выборок. Минимальное теоретическое время задержки при кодировании/декодировании для Уровня II составляет приблизительно 35 мс.

Уровень III

В этом уровне используется гибридный набор фильтров с повышенной разрешающей способностью по частоте. Добавлены неравномерное квантование, адаптивное разделение сигнала на кадры и энтропийное кодирование. Минимальное теоретическое время задержки при кодировании/декодировании для Уровня III составляет приблизительно 59 мс.

Joint Stereo может быть добавлено как дополнительная функция к любому из уровней.


4.3 Хранение

Различные потоки кодированного видео, кодированного звукового сигнала, данных синхронизации, системных данных и дополнительных данных могут быть сохранены вместе на носителе. Процесс редактирования звуковых сигналов упростится при наличии адресации.

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


4.4 Декодирование

Декодер принимает сжатые аудиоданные согласно 5.1, декодирует элементы данных согласно 5.2 и использует информацию для вывода цифрового звукового сигнала согласно 5.3.


Рисунок 2 - Общая структура декодера

Рисунок 2 иллюстрирует базовую структуру декодера звуковых сигналов. Данные поступают в декодер и подлежат проверке на наличие ошибок, если при кодировании это было предусмотрено (см. 5.2.4). Затем они распаковываются для восстановления различных частей информации. Блок реконструкции восстанавливает квантованные коэффициенты преобразования. С помощью обратного частотно-временного преобразования эти коэффициенты преобразуются в ИКМ-отсчеты.


5 Технические требования



5.1 Спецификация кодированного звукового потока

5.1.1 Звуковая последовательность


5.1.2 Звуковой фрейм


5.1.3 Заголовок


5.1.4 Проверка на ошибки


5.1.5 Данные звукового сигнала/Уровень I


5.1.6 Данные звукового сигнала. Уровень II


Окончание таблицы 5.1.6


5.1.7 Данные звукового сигнала. Уровень III


Окончание таблицы 5.1.7


Ниже определяется структура основного потока битов данных. Поле main_data в audio_data( ) содержит байты основных данных. Однако из-за свойств кодов Хаффмана, используемых на Уровне III, основные данные кадра обычно не следуют непосредственно за заголовком и служебной информацией об этом кадре. Данные main_data начинаются в потоке битов перед заголовком фрейма при отрицательном смещении, заданном значением main_data_beg.


Окончание таблицы


Окончание таблицы


5.1.8 Дополнительные данные



5.2 Семантика потока звуковых сигналов

5.2.1 Общая последовательность данных звуковых сигналов


Фрейм:


- Уровни I и II:

Часть потока битов, декодируемая с использованием данных, которые содержатся только в ней самой. Уровень I содержит информацию о 384 отсчетах.

Уровень II - о 1152 отсчетах. Начинается с синхрослова и заканчивается непосредственно перед следующим синхрословом. Состоит из целого числа слотов (четыре байта на Уровне I, один байт на Уровне II).

- Уровень III:

Часть потока битов, декодируемая с использованием ранее полученной основной информации. На Уровне III она содержит информацию о 1152 отсчетах.

Несмотря на то что расстояние между соседними синхрословами равно целому числу слотов (один байт на Уровне III), аудиоданные одного фрейма обычно не содержатся между двумя соседними синхрословами.


5.2.2 Звуковой фрейм


header - Часть потока битов, содержащая синхронизацию и информацию о состоянии.

error_check - Часть потока битов, содержащая информацию для обнаружения ошибок.

audio_data - Часть потока битов, содержащая информацию об отсчетах звукового сигнала.

ancillary_data - Часть потока битов, которая может использоваться для дополнительных данных.


5.2.3 Заголовок


Первые 32 бита (четыре байта) являются заголовком, который одинаков для всех уровней.

syncword - Синхрослово, битовая строка ’1111 1111 1111 1111’.

ID - Идентификатор алгоритма. Равен ’1’ для ISO/IEC11172-3 Аудио, значение ’0’ зарезервировано. layer - 2 бита, определяющие используемый уровень:


Уровень

’11’

Уровень I

’10’

Уровень II

’01’

Уровень III

’00’

Зарезервировано


При смене уровня допустим сброс декодера.

protection_bit - Бит, определяющий дополнение нулями, для упрощения обнаружения и устранения ошибок. Равен 1, если дополнение отсутствует, 0 - если таковое присутствует.


bitrate_index
- Четыре бита, определяет скорость передачи. При равенстве всех битов нулю устанавливается "свободный формат", при котором используется фиксированная скорость передачи, не указанная в списке. "Фиксированная" означает, что фрейм содержит или
, или
слотов в зависимости от значения дополнительного бита.
bitrate_index
является индексом таблицы, которая отличается для различных уровней.

bitrate_index указывает на полную скорость передачи независимо от режима (стерео, joint_stereo, dual_channel, single_channel):


bitrate_index

Скорость передачи, кбит/с

Уровень I

Уровень II

Уровень III

’0000’

Свободный

Свободный

Свободный

’0001’

32

32

32

’0010’

64

48

40

’0011’

96

56

48

’0100’

128

64

56

’0101’

160

80

64

’0110’

192

96

80

’0111’

224

112

96

’1000’

256

128

112

’1001’

288

160

128

’1010’

320

192

160

’1011*

352

224

192

’1100’

384

256

224

’1101’

416

320

256

’1110’

448

384

320

’1111’

Запрещено

Запрещено

Запрещено


Для обеспечения минимально возможной задержки декодер не обязан поддерживать плавное изменение скорости передачи на Уровне I или II. Уровень III поддерживает переменную скорость передачи с переключением bitrate_index. Переключать bitrate_index можно либо для оптимизации требования хранения данных на цифровом носителе, либо для интерполяции произвольной средней скорости передачи данных путем переключения между соседними значениями в таблице скорости передачи. Однако при использовании свободного формата скорость передачи должна быть фиксированной. Декодер, работая в свободном режиме, не обязан поддерживать скорости передачи выше 448 кбит/с, 384 кбит/с и 320 кбит/с на Уровнях I, II и III соответственно.

Для Уровня II разрешены не все возможные комбинации скорости передачи и режима (см. следующую таблицу):


Скорость передачи, кбит/с

Разрешенные режимы

Свободный формат

Все режимы

32

Single_channel

48

Single_channel

56

Single_channel

64

Все режимы

80

Single_channel

96

Все режимы

112

Все режимы

128

Все режимы

160

Все режимы

192

Все режимы

224

Стерео, intensity_stereo, dual_channel

256

Стерео, intensity_stereo, dual_channel

320

Стерео, intensity_stereo, dual_channel

384

Стерео, intensity_stereo, dual_channel


sampling_frequency - Устанавливает частоту дискретизации, согласно данным следующей таблицы:


Частота дискретизации

Частота, кГц

’00’

44,1

’01’

48

’10’

32

’11’

Зарезервировано


При смене частоты дискретизации возможен сброс звукового декодера.

padding_bit - Если этот бит равен ’1’, фрейм содержит дополнительный слот для подстройки средней скорости передачи к частоте дискретизации, иначе - бит равен ’0’. Дополнение нулями необходимо при частоте дискретизации 44,1 кГц. Дополнение нулями может также требоваться в свободном формате.

Дополнение нулями должно быть применено к потоку битов так, чтобы суммарная длина кодированных фреймов, после определенного количества аудиофреймов не отклонялась более чем на +0, минус 1 слот от следующего вычисленного значения:


,
где
384 для Уровня I и 1152 для Уровня II или III.

Следующий метод может использоваться для определения необходимости дополнения нулями:

для 1-го аудиофрейма:

rest = 0;

padding = нет;

для каждого последующего аудиофрейма:


private_bit - Бит для личного пользования.

mode - Определяет режим согласно следующей таблице. На Уровнях I и II режим joint_stereo является intensity_stereo, а на Уровне III, это - intensity_stereo и/или ms_stereo.


mode

Режим

’00’

Стерео

’01’

joint_stereo (intensity_stereo и/или ms_stereo)

’10’

dual_channel

’11’

Моно


На Уровне I во всех режимах кроме joint_stereo, значение bound равно 32. На Уровне II во всех режимах, кроме joint_stereo, значение bound равно sblimit. В режиме joint_stereo bound определяется по mode_extension.

mode_extension - Эти биты используются в режиме joint_stereo. На Уровнях I и II они указывают, какие субполосы находятся в режиме intensity_stereo. Все другие субполосы кодируются в режиме стерео:


mode_extension

Субполосы

’00’

Субполосы 4-31 в intensity_stereo, bound=4

’01’

Субполосы 8-31 в intensity_stereo, bound=8

’10’

Субполосы 12-31 в intensity_stereo, bound=12

’11’

Субполосы 16-31 в intensity_stereo, bound=16


На Уровне III эти биты указывают тип применяемого метода joint_stereo. Частотные диапазоны, для которых применяются режимы intensity_stereo и ms_stereo, неявны в алгоритме:


mode_extension

intensity_stereo

ms_stereo

’00’

Выкл

Выкл

’01’

Вкл

Выкл

’10’

Выкл

Вкл

’11’

Вкл

Вкл


Следует отметить, что режим stereo используется, если биты режима указывают на stereo или, что эквивалентно, если биты режима указывают на использование режима joint_stereo при mode_extension показывающем, что режимы intensity_stereo и ms_stereo выключены.

copyright - Если этот бит равен ’0’, не защищен авторским правом, ’1’ - авторские права защищены.

original/copy - Этот бит равен ’0’, если поток битов является копией, ’1’, если это оригинал.

emphasis - Указывает на тип частотной коррекции, который должен использоваться:


emphasis

Частотная коррекция

’00’

Нет

’01’

50/15 мкс

’10’

Зарезервировано

’11’

CCITT J.17


5.2.4 Проверка на ошибки


crc_check - 16-битный код проверки четности используется для дополнительного обнаружения ошибок в кодированном потоке битов.


5.2.5 Звуковые данные. Уровень I


allocation [ch][sb] - Указывает количество битов, отведенных для кодирования отсчетов субполосы sb канала ch. Для субполос в режиме intensity_stereo в потоке содержится только один элемент распределения битов:


allocation [ch] [sb]

Бит на отсчет

0

0

1

2

2

3

3

4

4

5

5

6

6

7

7

8

8

9

9

10

10

11

11

12

12

13

13

14

14

15

15

Запрещено


Код ’0000’ означает, что отсчеты субполосы не передаются.

scalefactor [ch] [sb] - Определяет коэффициент, на который должны быть умножены квантованные отсчеты субполосы sb канала ch. Шесть битов образуют беззнаковое целое, соответствующее номеру в таблице Б.1 "Масштабные коэффициенты. Уровни I и II".

sample[ch] [sb] [s] - Переквантованный отсчет s субполосы sb канала ch. Для субполос в режиме intensity_stereo кодированное представление допустимо для обоих каналов.


5.2.6 Звуковые данные. Уровень II


allocation [ch] [sb] - Содержит информацию о квантователях, используемых для отсчетов субполосы sb в канале ch, о том, была ли использована группировка трех последовательных отсчетов и о количестве битов, используемых для кодирования отсчетов. Значение и длина этого поля зависят от номера субполосы, скорости передачи и частоты дискретизации. Биты в этом поле образуют беззнаковое целое, соответствующее номеру в таблице Б.2а, данные которой определяют количество уровней квантования. Для субполос в режиме intensity_stereo поток битов содержит только один элемент данных выделения на субполосу.

scfsi [ch] [sb] - Содержит информацию о выборе масштабных коэффициентов, передаваемых для субполосы sb в канале ch, и о том, для каких частей фрейма они действительны. Фрейм делится на три равные части по 12 отсчетов в каждой субполосе:


scfsi[sb]

Масштабные коэффициенты

’00’

Передаются три коэффициента, для частей 0, 1, 2 соответственно

’01’

Передаются два коэффициента, первый для частей 0 и 1, второй для части 2

’10’

Передается один коэффициент для всех трех частей

’11’

Передаются два коэффициента, первый для части 0, второй для частей 1 и 2


scalefactor [ch [sb] [р] - Указывает на коэффициент, на который должны быть умножены квантованные отсчеты субполосы sb в канале ch части фрейма р. Шесть битов составляют беззнаковое целое, соответствующее номеру в таблице Б.1 "Масштабные коэффициенты. Уровни I и II".

grouping [ch] [sb] - Функция, которая определяет использование группировки при кодировании отсчетов субполосы sb канала ch. Под группировкой понимается использование одного кодового слова вместо трех при кодировании трех последовательных отсчетов (тройки) текущей субполосы sb канала ch текущей гранулы gr. Grouping[ch][sb] возвращает истину, если в текущей таблице распределения битов (см. таблицу Б.2а) значение на пересечении строки sb и столбца allocation[sb] равно 3, 5 или 9. В противном случае функция возвращает ложь. Для субполос в режиме intensity_stereo группировка допустима для обоих каналов.

samplecode [ch] [sb] [gr] - Кодированное представление трех последовательных отсчетов субполосы sb канала ch гранулы gr. Для субполос в режиме intensity_stereo кодированное представление samplecode допустимо для обоих каналов.

sample [ch] [sb] [s] - Кодированное представление отсчета s субполосы sb канала ch. Для субполос в режиме intensity_stereo кодированное представление выборки допустимо для каналов.


5.2.7 Звуковые данные. Уровень III


main_data_begin - Значение main_data_begin используется для определения позиции первого бита основных данных фрейма. Значение main_data_begin указывает позицию как отрицательное смещение в байтах от первого байта синхронизации. Байты заголовка и дополнительной информации не учитываются. Например, если main_data_begin = 0, то основные данные начинаются после дополнительной информации.

private_bits - Биты для частного пользования. Количество private_bits зависит от числа каналов. Выделение битов для private_bits используется для увеличения общего количество битов дополнительной информации.

scfsi [ch] [scfsi_band] - На Уровне III информация о выборе масштабных коэффициентов аналогична информации для Уровня II. Основным различием является использование переменной scfsi_band для применения scfsi к группам масштабных коэффициентов вместо единичных коэффициентов. Использование масштабных коэффициентов для гранул определяется scfsi:


scfsi [scfsi_band]

Масштабные коэффициенты

’0’

Коэффициенты передаются для каждой гранулы

’1’

Коэффициенты, переданные для гранулы 0, также верны для гранулы 1


Если используются короткие окна, т.е. block_type == 2 для одной из гранул, то scfsi всегда равен 0 для этого фрейма.

scfsi_band Управляет информацией о выборе масштабных коэффициентов для групп масштабных коэффициентов (scfsi_bands):


scfsi_band

Полосы масштабных коэффициентов (см. таблицу Б.8)

0

0, 1, 2, 3, 4, 5

1

6, 7, 8, 9, 10

2

11 ... 15

3

16 ... 20


part2_3_length [gr] [ch] - Это значение содержит число битов main_data, используемых для масштабных коэффициентов и данных кода Хаффмана. Поскольку размер дополнительных данных всегда постоянный, то это значение может использоваться для определения позиции начала основной информации для следующей гранулы или положения дополнительной информации (если она присутствует). Следует обратить внимание на то, что аудиофреймы одного канала содержат 17 байтов дополнительной информации, а аудиофреймы стереоканала содержат 32 байта дополнительной информации.

big_values [gr] [ch] - Спектральные значения каждой гранулы кодируются с использованием различных таблиц Хаффмана. Весь частотный диапазон от нуля до частоты Найквиста делится на несколько областей, которые затем кодируются при помощи различных таблиц. Разделение на области выполняется в соответствии с максимумами квантованных значений с учетом того, что значения на верхних частотах, как ожидается, будут иметь небольшие амплитуды или вообще не будут кодироваться. Начиная с верхних частот подсчитывается количество пар квантованных значений, равных нулю. Это число называют zero. Затем подсчитывается количество четверок квантованных значений с абсолютным значением, не превышающим 1 (то есть требующих только 3 возможных уровня квантования). Это число называют count1. В результате получается четное число. Наконец, число пар значений в нижней области спектра, вблизи нуля оси частот называется big_values. Максимальное абсолютное значение в этом диапазоне равно 8191. На следующем рисунке показано описываемое разделение:


global_gain [gr] [ch] - Информация о размере шага квантования передается в global_gain. Используется логарифмическое квантование.

scalefac_compress [gr] [ch] - Определяет число битов, используемых для передачи масштабных коэффициентов согласно следующей таблице:


scalefac_compress [gr]

slen1

slen2

0

0

0

1

0

1

2

0

2

3

0

3

4

3

0

5

1

1

6

1

2

7

1

3

8

2

1

9

2

2

10

2

3

11

3

1

12

3

2

13

3

3

14

4

2

15

4

3


Значения slen1 и slen2 определяют следующее:

если block_type == 0, 1 или 3:

slen1 -длина масштабных коэффициентов для полос от 0 до 10;

slen2 - длина масштабных коэффициентов для полос 11-20;

если block_type == 2 и mixed_block_flag == 0:

slen1 - длина масштабных коэффициентов для полос от 0 до 5;

slen2 - длина масштабных коэффициентов для полос 6-11;

если block_type == 2 и mixed_block_flag == 1:

slen1 - длина масштабных коэффициентов для полос от 0 до 7 (длинное окно) и 3-5 (короткое окно);

slen2 - длина масштабных коэффициентов для полос 6-11 (короткое окно).

Примечание - Полосы 0-7 из таблицы полос с длинным окном. Полосы 3-11 из таблицы полос с коротким окном. Эта комбинация разделов непрерывна и охватывает весь спектр частот.

window_switching_flag [gr] [ch] - Указывает на то, что в блоке используется окно, отличное от нормального (тип 0).

Если флаг window_switching_flag установлен, то ряд других переменных устанавливается по умолчанию:

region0_count = 7 (в случае block_type == 1 или block_type == 3 или block_type == 2 и mixed_block_flag);

region0_count = 8 (в случае block_type == 2 и не mixed_block_flag);

regionl_count = 36 Таким образом, все оставшиеся значения области big_value содержатся в области 1.

Если флаг window_switching_flag не установлен, то значение block_type равно нулю.

block_type [gr] [ch] - Указывает на тип окна для гранулы (см. описание набора фильтров, Уровень III):


block_type [gr]

Тип окна

0

Зарезервировано

1

Начальный блок

2

3 коротких окна

3

Конечный блок


Block_type и mixed_block_flag содержат информацию об объединении значений в блоке и о длине и количестве преобразований. Если window_switching_flag == 1, то mixed_block_flag указывает, кодируются ли нижние субполосы полифазных фильтров с использованием нормального типа окна.

В случае длинных блоков (block_type не равно 2 или, для нижних субполос, block_type равно 2 при установленном флаге mixed_block_flag) ОМДКП образует 36 выходных значений для каждых 18 входных. Значения на выходе взвешиваются в окне в зависимости от block_type, и первая половина складывается со второй половиной предыдущего блока. Получающийся вектор значений одной полосы подается на вход блока полифазных фильтров синтеза.

В случае коротких блоков (для верхних субполос с block_type равен 2 при установленном флаге mixed_block_flag или для всех субполос с block_type равен 2 при сброшенном флаге mixed_block_flag) три преобразования выполняются, образуя 12 выходных значений каждое. Эти три вектора выходных значений взвешиваются в окне и складываются друг с другом. Добавление шести нулей к обоим концам результирующего вектора дает вектор длины 36, который обрабатывается как выход длинного преобразования.

mixed_block_flag [gr] [ch] - Указывает, что для нижних частот используется тип окна, который отличен от используемого на высоких частотах. Если mixed_block_flag равен 0, то все блоки преобразуются в соответствии с block_type [gr] [ch]. Если mixed_block_flag равен 1, то частотные линии, соответствующие двум самым нижним субполосам полифазного набора фильтров, преобразуются с нормальным окном (block_type==0), в то время как оставшиеся 30 субполос преобразуются с block_type [gr] [ch].

table_select [gr] [ch] [region] - Различные кодовые таблицы Хаффмана используются в зависимости от максимального квантованного значения и локальной статистики сигнала.


subblock_gain
[
gr
] [
ch
] [
window
] - Указывает изменение усиления (квантование с коэффициентом 4) текущего субблока по отношению к глобальному усилению одного субблока. Используется только с типом блока 2 (короткие окна). Значения субблока должны быть разделены в декодере на 4
.

region0_count [gr] [ch] - Дальнейшее разделение спектра используется для улучшения производительности кодера Хаффмана. Делению подлежит область big_values. Цель этого деления состоит в том, чтобы получить лучшую устойчивость к ошибкам и лучшую эффективность кодирования. Используются три области - 0, 1 и 2. Каждая область кодируется с помощью отдельной таблицы Хаффмана в зависимости от максимального квантованного значения и статистических свойств сигнала.

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

Поле region0_count содержит значение на единицу меньшее, чем количество полос масштабных коэффициентов в области 0. В случае коротких блоков каждая полоса масштабирующего коэффициента считается три раза, по разу на каждое короткое окно так, что region0_count, равное 8, указывает, что область 1 начинается с полосы номер 3.

Если block_type=2 и mixed_biock_flag=0, общее количество полос масштабных коэффициентов для гранулы в этом случае равно 12*3=36. Если block_type=2 и mixed_block_flag=1, количество полос равно 8+9*3=35. Если block_type!=2, количество полос масштабных коэффициентов равно 21.

region1_count [gr] [ch] - На единицу меньше числа полос масштабных коэффициентов в области 1. Если block_type = 2, то полосы масштабных коэффициентов, представляющие различные временные интервалы, считаются отдельно.

preflag [gr] [ch] - Флаг дополнительного усиления ВЧ квантованных значений. Если preflag установлен, значения таблицы добавляются к масштабным коэффициентам (см. таблицу Б.6). Это эквивалентно умножению повторно квантованных масштабных коэффициентов на табличные значения. Если block_type=2 ("короткие" блоки), preflag никогда не используется.


scalefac_scale
[
gr
] [
ch
] - Масштабные коэффициенты логарифмически квантуются с размером шага 2 или
в зависимости от
scalefac_scale
. В следующей таблице даны множители масштабных коэффициентов, используемые в уравнении квантования для каждого шага:

scalefac_scale [gr]

scalefac_multiplier

0

0,5

1

1


countltable_select [gr] [ch] - Этот флаг определяет одну из двух возможных таблиц Хаффмана для области тетрад квантованных значений с величиной, не превышающей 1:


countltable_select [gr]

Таблица Хаффмана

0

Таблица Б.7 (А)

1

Таблица Б.7 (Б)


scalefac_1 [gr] [ch] [sfb], scalefac_s [gr] [ch] [sfb] [window], is_pos [sfb] - Масштабные коэффициенты используются, чтобы окрасить шумы квантования. Правильная окраска шумов квантования позволяет полностью их маскировать. В отличие от Уровней I и II на Уровне III масштабные коэффициенты не несут информации о локальных максимумах квантованного сигнала. На Уровне III масштабные коэффициенты используются в декодере, чтобы получить коэффициенты, на которые будут разделены группы значений. В случае Уровня III группы расширяются на несколько спектральных линий. Эти группы называют полосами масштабных коэффициентов и они выбираются так, чтобы приблизить критические полосы настолько близко, насколько возможно.

Из таблицы scalefac_compress видно, что масштабные коэффициенты 0 ... 10 находятся в диапазоне от 0 до 15 (максимальная длина 4 бита) и масштабные коэффициенты 11... 21 - в диапазоне от 0 до 7 (максимальная длина 3 бита).

Если включен режим intensity_stereo (modebit_extension), масштабные коэффициенты части zero_ part разностного (правого) канала используются в качестве позиций intensity_stereo, is_pos [sfb]. is_pos [sfb] является позицией intensity_stereo для полосы sfb.

Разделение спектра на полосы масштабных коэффициентов фиксировано для каждой возможной длины блока и частоты дискретизации и сохранено в таблицах в кодере и декодере. Масштабным коэффициентом для спектральных линий выше самой высокой линии в таблицах является нуль, то есть фактический коэффициент равен 1,0.

Значения масштабных коэффициентов квантуются логарифмически. Шаг квантования устанавливается в scalefac_scale.

huffmancodebits( ) - Данные, закодированные с помощью кода Хаффмана.

Синтаксис huffmancodebits( ) показывает, как кодируются квантованные значения. В пределах участка big_values пары квантованных значений с абсолютным значением меньше 15 кодируются напрямую с использованием кода Хаффмана. Коды выбираются из таблиц Хаффмана с 0 по 31 в Б.7. Всегда кодируются пары значений (x, y). Если квантованные значения имеют амплитуду, большую или равную 15, то они кодируются раздельно. Если одно или оба значения пары отличны от нуля, один или два знаковых бита должны быть добавлены к кодовой комбинации.

Таблицы Хаффмана для big_values раздела состоят из трех параметров:


hcod [|x|] [|y|]

элемент таблицы значений кода Хаффмана для значений x, y.

hlen [|x|] [|y|]

элемент таблицы длин кода Хаффмана для значений x, y.

linbits

длина linbitsx или linbitsy, если они кодируются.


Синтаксис для huffmancodebits содержит следующие поля и параметры:


signv

знак v (0 если положительный, 1, если отрицательный).

signw

знак w (0 если положительный, 1, если отрицательный).

signx

знак х (0 если положительный, 1, если отрицательный).

signy

знак у (0 если положительный, 1, если отрицательный).


linbilsx Используется для кодирования значения х, большего или равного 15. Это поле кодируется, только если |х| в hcod равен 15. Если linbits равно нулю, то есть никакие биты не были фактически кодированы при |х|==15, то значение linbitsx приравнивается к нулю.


linbitsy

To же самое, что и linbitsx, но для у.

is[1]

Квантованное значение спектральной линии номер 1.


Поля linbitsx или linbitsy используются только при кодировании значений, больших или равных 15. Эти поля интерпретируются как целые числа без знака и добавляются к 15, чтобы получить кодированное значение. Поля linbitsx и linbitsy никогда не используются, если выбрана таблица для блоков с максимальным квантованным значением меньше 15. Следует обратить внимание на то, что значение 15 все еще может быть закодировано таблицей Хаффмана, для которой linbits является нулем. В этом случае поля linbitsx или linbitsy не кодируются, так как linbits является нулем.

В пределах раздела count1 кодируются тетрады значений с амплитудой, меньшей или равной единице. Значения кодируются с использованием кодов Хаффмана из таблиц (А) или (Б) в таблицах Б.7. Снова для каждого ненулевого значения добавляется бит знака после символа кода Хаффмана.

Таблицы Хаффмана для раздела count1включают следующие параметры:


hcod [|v|] [|w|] [|x|] [|y|]

- Элемент таблицы значений кода Хаффмана для значений v, w, x, у.

hlen [|v|] [|w|] [|x|] [|y|]

- Элемент таблицы длин кода Хаффмана для значений v, w, x, у.


Таблица кода Хаффмана В не является настоящим 4-мерным кодом, потому что она создается из тривиального кода: 0 кодируется с 1, и 1 кодируется с 0.

Квантованные значения выше раздела count1 являются нулями, таким образом, они не кодируются.

Параметр count1 используется здесь для указания на число кодов Хаффмана в count1 области. Однако, в отличие от раздела bigvalues, число значений в разделе count1 не кодируется явным образом. Конец раздела count1 известен только тогда, когда все биты гранулы (определяемые part2_3_length) были исчерпаны и значение count1 становится точно известным после декодирования области count1.

Порядок следования данных кода Хаффмана зависит от block_type гранулы. Если block_type равен 0, 1 или 3, данные кода Хаффмана упорядочиваются по нарастанию частоты.

Если block _type=2 (короткие блоки), данные Хаффмана организуются в том же самом порядке, что и значения масштабных коэффициентов для гранулы. Данные Хаффмана даются для последовательных полос масштабных коэффициентов начиная с полосы 0. В пределах каждой полосы данные соответствуют последовательным временным окнам начиная с окна 0 и заканчивая окном 2. В пределах каждого окна квантованные значения располагаются в порядке увеличения частоты.

5.2.8 Дополнительные данные


Ancillary_bit - Бит, определяемый пользователем.

Количество дополнительных битов (no_of_ancillary_bits) равно доступному числу битов в аудиофрейме минус число битов заголовка, проверочных битов и аудиоданных. На Уровнях I и II no_of_ancillary_bits соответствует расстоянию между концом аудиоданных и началом следующего заголовка. На Уровне III no_of_ancillary_bits соответствует расстоянию между концом Huffman_code_bits и позицией в потоке, на которую ссылается указатель следующего фрейма main_data_begin.


5.3 Процесс декодирования данных звука

5.3.1 Общие сведения


Первым действием является синхронизация декодера с входным потоком битов. Для этого выполняется обнаружение в потоке 12-битного синхрослова. В некоторых приложениях поля
ID
, уровень и
protection status
заранее известны, и, таким образом, первые 16 битов заголовка должны быть расценены как 16-битная синхропоследовательность, делая тем самым синхронизацию более надежной. Позиция соседних синхрослов может быть вычислена из информации, предоставленной семью битами после
protection_bit
: поток битов подразделяется на слоты. Расстояние между началами двух соседних синхрослов составляет
или
слотов. Значение
зависит от уровня.

Для Уровня I верно следующее равенство:


;

для Уровней II и III:


.
Если результат не является целым числом, то он округляется и требуется дополнение. В этом случае число слотов во фрейме будет меняться в пределах
и
. Бит пэддинга устанавливается в ’0’, если число слотов равно
, и в ’1’ в противном случае. Знание точной позиции синхрослов значительно облегчает синхронизацию.
Если индекс скорости передачи равен ’0000’, точная скорость передачи не обозначается.
может быть определено из расстояния между соседними синхрословами и значением бита пэддинга.

Биты режима должны быть считаны из потока, и если их значение равно ’01’, то также должны быть считаны биты mode_extension. Биты mode_extension, установленные в bound, указывают тем самым на субполосы, кодированные в режиме joint_stereo.

Если бит защиты в заголовке равен ’0’, проверочное слово CRC находится в потоке битов сразу после заголовка. В качестве метода обнаружения ошибок используется CRC 16 с порождающим полиномом


.
Начальное состояние сдвигового регистра ’1111 1111 1111 1111’. Затем все биты, включенные в проверку
CRC
, поступают в блок, показанный на рисунке А.9. После введения каждого бита сдвиговый регистр смещается на один бит. После последней операции сдвига выходы
...
составляют слово, которое сравнивается со словом проверки
CRC
. Если эти слова неидентичны, ошибка передачи произошла в защищенном поле потока битов. Во избежание раздражающих искажений рекомендуется использование методов маскировки ошибок, таких как заглушение текущего фрейма или повторение предыдущего фрейма.

5.3.2 Уровень I


После части декодирования, общей для всех уровней, считывается информация о распределении битов для всех субполос и масштабные коэффициенты для субполос с ненулевым распределением битов. Блок-схема алгоритма декодера дана на рисунке А.1.

5.3.2.1 Переквантование субполосных отсчетов

Из информации о распределении битов известно число битов nb, которое должно быть считано из субполосных отсчетов. После того как биты одного отсчета были считаны из потока, первый бит инвертируется. Полученное таким образом число можно рассматривать как дробное число (меньше единицы) в дополнительном коде, где MSB представляет значение минус один. Переквантование выполняется по формуле


,
где
- переквантованное значение;
- количество битов, выделеное на кодирование отсчетов субполосы;
- дробное число.
Отсчеты субполос, которые находятся в режиме
intensity_stereo
, должны быть скопированы в оба канала. Переквантованные значения должны повторно масштабироваться. Коэффициенты даны в таблице Б.1. Повторно масштабируемое значение
вычисляется как
,
где
- масштабный коэффициент.

5.3.2.2 Субполосный фильтр синтеза


Если на субполосу не было выделено ни одного бита, то отсчеты этой полосы заменяются нулями. Каждый раз, после определения отсчетов всех 32 субполос одного канала, полученные отсчеты поступают на субполосный фильтр синтеза для получения 32 последовательных звуковых отсчетов. На рисунке А.2 показан процесс реконструкции. Коэффициенты
для операции матрицирования задаются формулой
; 0
63, 0
31.
Значения оконной функции
содержатся в таблице Б.3 "Коэффициенты
окна синтеза". Коэффициенты были получены численной оптимизацией. Один фрейм содержит 12
32=384 отсчетов субполосы, которые в результате фильтрации преобразуются в 384 звуковых отсчета.

5.3.3 Уровень II


5.3.3.1 Декодирование информации о распределении битов

Уровень II является более эффективным, однако на нем используется более сложная схема кодирования по сравнению с Уровнем I. Блок-схема декодера, приведенная на рисунке А.1, применяется к Уровням I и II. Первым шагом является декодирование, общее для всех трех уровней (см. 5.3.1).

Для различных комбинаций скорости передачи и частоты дискретизации применяются различные таблицы распределения битов (таблица Б.2). Скорости передачи в заголовках таблицы даются на канал. Если используется режим, отличный от single_channel, значение скорости передачи должно быть разделено на два для получения скорости передачи на канал. Декодирование информации о распределении битов выполняется в три шага. Первый шаг заключается в чтении nbal (2, 3 или 4) бит информации для одной субполосы. Значение nbal дается во втором столбце таблицы Б.2. Эти биты должны интерпретироваться как беззнаковое целое. На втором шаге это число и номер субполосы используются как индексы таблицы для определения табличного значения, соответствующего количеству уровней квантования nlevels, которое применялось при квантовании отсчетов субполосы. На третьем шаге по таблице Б.4 определяется число битов, использованное для кодирования квантованных отсчетов, коэффициенты квантования и наличие группировки для трех последовательных отсчетов субполосы. Из таблиц распределения битов становится видно, что для некоторых самых верхних субполос никогда не будут выделены биты. Номер субполосы, выше которой включительно не будут выделяться биты, присваивается идентификатору sblimit.

5.3.3.2 Декодирование информации о выборе масштабных коэффициентов

36 отсчетов одной субполосы в пределах фрейма делятся на три равные части по 12 отсчетов. У каждой части может быть свой масштабный коэффициент. Количество масштабных коэффициентов, которое должно быть считано из потока битов, зависит от scfsi[sb].

Информация о выборе масштабных коэффициентов scfsi[sb] считывается из потока битов для субполос с ненулевым выделением битов. Если scfsi[sb] равно ’00’, то передаются три масштабных коэффициента для частей 0, 1, 2 соответственно. Если scfsi[sb] равно ’01’, то передаются два масштабных коэффициента, первый - для частей 0 и 1, второй - для части 2. Если scfsi[sb] равно ’10’, передается один масштабный коэффициент для всех трех частей. Если scfsi[sb] равно ’11’, передаются два масштабных коэффициента, первый - для части 0, второй - для частей 1 и 2.

5.3.3.3 Декодирование масштабных коэффициентов

Кодированные значения масштабных коэффициентов для каждой субполосы с ненулевым выделением битов считываются из потока битов. Количество кодированных масштабных коэффициентов и часть субполосных отсчетов, к которым они относятся, определяются с помощью scfsi[sb]. 6 битов кодированного значения масштабного коэффициента интерпретируются как беззнаковое целое, соответствующее номеру в таблице Б.1. Из этой таблицы определяется масштабный коэффициент, на который соответствующие субполосные отсчеты должны быть умножены после переквантования.

5.3.3.4 Переквантование субполосных отсчетов


Далее производится считывание кодированных отсчетов. Как следует из 5.1.6, кодированные отсчеты объединены по тройкам, так что одно кодовое слово соответствует трем последовательным отсчетам. В таблице Б.4 показано, сколько битов необходимо считать из потока для получения одной тройки в каждой полосе, а также состоит ли текущий код из трех последовательных отдельных кодов, соответствующих трем отсчетам, или одного объединенного кода для трех отсчетов (группировка). В последнем случае должна быть выполнена процедура разбиения группы (
degrouping
). Объединенный код должен быть расценен как беззнаковое целое
. Следующий алгоритм образует три отдельных кодовых слова
s
[0],
s
[1],
s
[2].

где nlevels - количество шагов (см. таблицу Б.2).

Первый бит каждого из трех кодовых слов должен быть инвертирован, и полученные значения должны быть интерпретированы как дробные значения в дополнительном коде, где MSB представляет значение минус один. Переквантование выполняется с помощью линейного выражения:


,
где
- переквантованное значение;
- дробное число.
Значения констант
и
даются в таблице Б.4. Переквантованные значения должны повторно масштабироваться. Масштабные коэффициенты даны в таблице Б.1. Повторно масштабируемые значения
вычисляются как
,
где
- масштабный коэффициент.

5.3.3.5 Субполосный фильтр синтеза


Если на субполосу не было выделено ни одного бита, то отсчеты этой полосы заменяются нулями. Каждый раз, после определения отсчетов всех 32 субполос одного канала, отсчеты поступают на субполосный фильтр синтеза для получения 32 последовательных звуковых отсчетов. На рисунке А.2 показан процесс реконструкции. Коэффициенты
для операции матрицирования задаются формулой
; 0
63, 0
31.
Значения оконной функции
содержатся в таблице Б.3. Один фрейм содержит 36
32=1152 отсчета субполосы, которые в результате фильтрации преобразуются в 1152 звуковых отсчета.

5.3.4 Уровень III


5.3.4.1 Декодирование

Дополнительная разрешающая способность по частоте обеспечивается с помощью гибридного набора фильтров. Каждая полоса при помощи МДКП разделяется на 18 частотных линий. Длина окна МДКП составляет 36 отсчетов. Для контроля временных артефактов (пре-эхо) используется адаптивное переключение окон. Имеется возможность выбора частоты, выше которой используются короткие блоки, обеспечивающие лучшее разрешение по времени. Части сигнала ниже этой частоты в зависимости от mixed_block_flag кодируются с лучшей разрешающей способностью по частоте, части сигнала, лежащие выше, кодируются с лучшим разрешением по времени.

Частотные составляющие квантуются по нелинейной шкале и кодируются методом Хаффмана. Кодер Хаффмана использует одну из 18 различных кодовых таблиц (см. таблицу Б.7). Для повышения эффективности кодера Хаффмана и уменьшения пре-эха используется буфер. Размер входного буфера равен размеру одного фрейма при скорости передачи 160 кбит/с на канал на Уровне III. Применяется метод кратковременного буфера, называемый "резервуар битов", так как последний использует переменную скорость передачи с максимальным интегральным смещением от средней скорости передачи.

Каждый фрейм содержит данные 2 гранул. Данные во фрейме организованы следующим образом.

Заголовок и часть аудиоданных составляют служебную информацию:

- указатель main_data_begin;

- служебная информация об обеих гранулах (scfsi);

- служебная информация о грануле 1;

- служебная информация о грануле 2.

Основные данные (указатель main_data_begin определяет отрицательное смещение относительно позиции первого байта заголовка):

- масштабные коэффициенты и коды Хаффмана для гранулы 1;

- масштабные коэффициенты и коды Хаффмана для гранулы 2;

- дополнительные данные.

Сначала выполняется синхронизация декодера с входным потоком битов так же, как и на других уровнях. Данные заголовка (первые 32 бита, включая синхрослово) считываются также, как и на других уровнях. Информация о частоте дискретизации используется для выбора соответствующей таблицы полос масштабных коэффициентов (см. приложение Б.8).

5.3.4.2 Служебная информация

Служебная информация должна быть извлечена из потока битов и сохранена для использования при декодировании соответствующего фрейма. Информация о выборе таблицы используется для выбора таблицы декодера Хаффмана и числа битов ESC (linbits) согласно таблице Б.7.

5.3.4.3 Начало main_data

Биты main_data (масштабные коэффициенты, кодированные методом Хаффмана данные и дополнительная информация) не обязательно должны следовать сразу же за битами служебной информации. Это показано на рисунках А.7а и А.7б. Начало main_data определяется при помощи указателя main_data_begin в текущем фрейме. Основные данные распределяются так, чтобы они находились во входном буфере в момент поступления в него заголовка следующего фрейма. Декодер должен пропустить заголовок и служебную информацию при декодировании main_data. Их позиции определяются из bitrate_index и padding_bit. Длина заголовка всегда составляет 4 байта, длина служебных данных составляет 17 байтов в режиме single_channel и 32 байта в других режимах. Основные данные могут охватывать более чем один блок заголовка и служебной информации (см. рисунок А.7б).

5.3.4.4 Буфер

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

Размер буфера составляет 7680 битов. Это значение максимально на каждой скорости передачи. При максимально возможной для Уровня III скорости передачи (320 кбит/с на канал) и частоте дискретизации 48 кГц средняя длина фрейма составляет (320000/48000)*1152=7680 битов. Следовательно, фреймы должны иметь постоянную длину на этой скорости передачи и частоте дискретизации. На скорости 64 кбит/с (128 кбит/с стерео) средняя длина гранулы составляет (64000/48000)*576=768 битов при частоте дискретизации 48 кГц. Это означает, что максимальное отклонение (кратковременный буфер), допустимое при скорости 64 кбит/с, равно 7680-4*768 = 4608 битам. Фактическое отклонение равно числу байтов, обозначенных указателем смещения main_data_begin. Фактическое максимальное отклонение 2^9*8 бит=4096 битов. Для промежуточных скоростей передачи задержка и размер буфера могут быть вычислены соответственно. Обмен буфером между левым и правым каналами в стереопотоке битов позволяется без ограничений. Из-за ограничения на размер буфера main_data_begin всегда устанавливается в 0 в случае bitrate_index = 14, то есть скорости передачи данных 320 кбит/с на один канал стерео. В этом случае все данные распределяются между соседними заголовками.

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

5.3.4.5 Масштабные коэффициенты

Масштабные коэффициенты декодируются в соответствии с slen1 и slen2, которые в свою очередь определяются непосредственно из значений scalefac_compress. Декодированные значения могут использоваться в таблице или для непосредственного вычисления коэффициентов для каждой полосы. При декодировании второй гранулы необходимо учитывать scfsi. Для полос, в которых соответствующий scfsi равен 1, масштабные коэффициенты первой гранулы также используются и для второй гранулы, поэтому они не передаются для нее.

Число битов, отводимых для кодирования масштабных коэффициентов, называется part2_length и вычисляется следующим образом:

для block_type == 0, 1 или 3 (длинные блоки),

part2_length = 11*slen1 +10*slen2;

для block_type = 2 (короткие блоки) и mixed_block_flag = 0,

part2_length = 18*slen1 +18*slen2;

для block_type = 2 (короткие блоки) и mixed_block_flag = 1,

part2_length = 17*slen1 + 18*slen2.

Эти формулы действительны, если gr = 0 или gr = 1 и scfsi [ch] [scfsi_band] = 0 для всех scfsi_bands, то есть информация о выборе масштабных коэффициентов не используется.

5.3.4.6 Декодирование кода Хаффмана

Вся необходимая информация, включая таблицу декодирования дерева кода Хаффмана, может быть получена из таблицы Б.7. Сначала декодируются данные big_values по таблицам с номером table_select [gr] [ch] [region]. Частотные линии в областях 0, 1 и 2 декодируются в парах до восстановления количества пар big_values. Оставшиеся биты кода Хаффмана декодируются с помощью таблицы из count1table_select [gr] [ch]. Декодирование выполняется до тех пор, пока все биты кода Хаффмана не оказываются восстановленными или пока квантованные значения, соответствующие 576 частотным линиям, не оказываются декодированными. Если количество битов кода Хаффмана превышает необходимое для декодирования 576 значений, то эти биты расцениваются как биты стаффинга и отбрасываются. Переменная count1 определяется с помощью count1table_select как число тетрад декодируемых значений.

5.3.4.7 Переквантователь


При квантовании используется неравномерная шкала с
power law
. Для каждого выходного значения декодера Хаффмана
is
вычисляется |
is
|
. Это может быть сделано при помощи таблицы или непосредственным вычислением.
Весь процесс обработки, от декодируемых значений Хаффмана до входных значений набора фильтров синтеза, описывается одной формулой. В ней содержатся все необходимые масштабные коэффициенты. Выходные данные восстанавливаются из переквантованных значений. Общее усиление и значения усиления субблоков влияют на все значения в пределах одного временного окна (в случае
block_type
=2). Масштабные коэффициенты и префлаг корректируют усиление в пределах каждой полосы масштабных коэффициентов. Ниже приведено уравнение переквантования для коротких блоков. Декодированное
-е значение кода Хаффмана обозначено как
; входные отсчеты
набора фильтров синтеза обозначены
:

Для длинных блоков


Значение pretab[cb] дано в таблице Б.6 со значениями предкоррекции. Постоянная 210 необходима для корректного масштабирования и является системной константой. Набор фильтров синтеза реализуется согласно формулам, данным ниже. Диапазон выходных значений декодера (ИКМ-отсчетов) от -1,0 до +1,0.

5.3.4.8 Реорганизация

Если используются короткие блоки (block_type=2), то повторно масштабируемые данные xr [scf_band][window][freq_line] должны быть реорганизованы в порядке следования субполос xr [subband][window][freq_line] для выполнения ОМДКП.


5.3.5 Обработка стереосигналов


После переквантования, восстановленные значения перед поступлением в набор фильтров синтеза обрабатываются для режимов ms_stereo или/и instensity_stereo. В режиме ms_stereo оба канала гранулы должны иметь одинаковый block_type.

5.3.5.1 Режим ms_ stereo

Этот переключатель режима (расположенный в заголовке mode_extension) позволяет переключаться между "независимым стерео" и ms_stereo. Если ms_stereo включен, но intensity_stereo не доступен, то весь спектр декодируется в ms_stereo. Если и ms_stereo и intensity_stereo включены, то верхняя граница, до которой полосы масштабных коэффициентов декодируются в ms_stereo, получается из zero_part разностного (правого) канала. В этом случае полоса, в которой присутствует последняя ненулевая частотная линия, является последней полосой, к которой применяются уравнения ms_stereo. Выше этой границы может использоваться режим intensity_stereo, если он был включен в заголовке. Часть zero_part разностного канала является частью спектра от bigvalues * 2 + count1 * 4 до частоты Найквиста.

5.3.5.2 Матрица MS


В режиме
ms_stereo
значения нормализованных среднего/бокового каналов
передаются вместо значений левого/правого каналов
. Таким образом,
восстанавливаются по формуле
;
.
Значения
поступают в левый канал, а значения
- в правый.
Если окна переключаются, то каналы
и
должны переключаться синхронно.

5.3.5.3 Режим intensity_stereo


Этот переключатель режима (расположенный в заголовке
mode_extension
) позволяет переключаться между "нормальным стерео" и
intensity_stereo
. На Уровне III,
intensity_stereo
реализуется не путем использования пары масштабных коэффициентов
s
, как на Уровнях I и II, а через определение амплитуды (как обычно, по масштабным коэффициентам правого канала) и позиции стерео
is_pos
[
sfb
]. Значение
is_pos
[
sfb
] передается вместо масштабных коэффициентов правого канала. Позиция стерео используется для получения сигналов левого и правого каналов согласно формулам, приведенным ниже. Нижняя граница полос масштабных коэффициентов, декодируемых в режиме
intensity_stereo
, получается из
zero_part
правого канала. Выше этой границы декодирование
intensity_stereo
применяется на основе масштабных коэффициентов правого канала как позиций
intensity_stereo
. Позиция
intensity_stereo
7 в одной полосе указывает, что эта полоса не декодируется как
intensity_stereo
.

Для каждой полосы (sb), кодированной в intenstiy_stereo, выполняются следующие шаги:


1) позиция стереоинтенсивности
s_pos
считывается из масштабного коэффициента правого канала;

2) если (is_ possb = 7), следующие шаги не выполняются (недопустимый is_pos);


3)
;
4)
для всех индексов
в пределах текущей полосы sb;
5)
для всех индексов
в пределах текущей полосы sb.

5.3.6 Набор фильтров синтеза


На рисунке А.4 показана блок-схема, включающая в себя набор фильтров синтеза. Частотные линии предварительно обрабатываются по схеме устранения элайзинга (см. блок-схемы на рисунке А.5 и таблицу Б.9 для коэффициентов) и поступают в матрицу ОМДКП по 18 значений в один блок преобразования. Первая половина выходных значений складывается с сохраненными значениями последнего блока. Эти значения являются новыми выходными значениями и входными значениями для полифазного набора фильтров. Вторая половина выходных значений сохраняется для перекрытия с данными следующей гранулы. Для каждой четной субполосы полифазного набора фильтров каждое четное входное значение умножается на минус один, чтобы устранить частотную инверсию в полифазном наборе фильтров.

5.3.6.1 Устранение элайзинга

Для "длинных" гранул (block_type!= 2) данные, поступающие на вход набора фильтров синтеза, перед ОМДКП подлежат устранению элайзинга. Следующий псевдокод описывает процедуру устранения элайзинга:


Индексы массивов хаr[ ] и хr [ ] указывают на частотные линии в грануле, расположенные в порядке возрастания частоты, причем нуль является индексом самой нижней частотной линии, а 575 - самой верхней.

Устранение элайзинга не применяется для гранул с block_type = 2 (короткий блок).

5.3.6.2 ОМДКП


В следующем выражении
- количество отсчетов в окне (для коротких блоков
12, для длинных блоков
36). В случае блока типа
short
каждый из трех коротких блоков преобразуется отдельно,
значений
преобразуется в
значений
. Аналитическое выражение для ОМДКП:
для
0 до

5.3.6.3 Окна

В зависимости от типа блока block_type используются окна различной формы:

а) block_type=0 (нормальное окно)


для
0 до 35

б) block_type=1 (стартовый блок)


в) block_type=3 (стоповый блок)


г) block_type=2 (короткий блок)

каждый из трех коротких блоков отдельно берется в окне


для
0...11 и
0...2

Взятые в окне короткие блоки должны быть перекрыты и сложены


5.3.6.4 Перекрытие и сложение с предыдущим блоком

Первая половина блока из 36 значений перекрывается со второй половиной предыдущего блока. Вторая половина текущего блока сохраняется для использования в следующем блоке:


,
0...17
,
0...17

5.3.6.5 Компенсация инверсии частоты в полифазном наборе фильтров

Выход блока перекрытия и сложения состоит из 18 временных отсчетов каждой из 32 полифазных субполос. Если временные отсчеты обозначены от 0 до 17, где нулевой отсчет - самый ранний во времени, и субполосы обозначены от 0 до 31, где нулевая субполоса - самая нижняя, то каждый нечетный временной отсчет каждого нечетной субполосы умножается на минус 1 перед поступлением в полифазный набор фильтров.


Приложение А

(обязательное)


Схемы

Рисунок А.1 - Блок-схема алгоритма декодера. Уровни I и II

Рисунок А.2 - Блок-схема алгоритма субполосной фильтрации

Рисунок А.3 - Блок-схема алгоритма декодера. Уровень III

В каждом блоке ОМДКП вычисляются 18 выходных значений у0...у17 по 18 входным значениям спектральных коэффициентов. Для всех субполос, кроме первой, каждый нечетный выходной отсчет должен быть умножен на минус 1.


Рисунок А.4 - Схема декодера. Уровень III

Рисунок А.5 - Диаграмма устранения элайзинга в декодере. Уровень III

Рисунок А.6 - "Бабочка" устранения элайзинга в декодере. Уровень III

Рисунок А.7.а - Структура потока битов. Уровень III

* main_data_begin 4 = 0: основные данные следуют непосредственно за служебной информацией фрейма 4. Это нижний предел для main_data_begin; main_data не может начинаться после этой точки. Следует обратить внимание на то, что байты данных, используемые полями синхро и side info, не учитываются указателем main_data_begin.


Рисунок А.7.б - Структура потока битов с максимальной нагрузкой в main info 3 и небольшой нагрузкой в main info 2. Уровень III.

Рисунок А.8 - Гранулы фрейма с block_type = 0 в первой грануле и block_type = 2 во второй грануле. Уровень III

Рисунок А.9 - Схема проверки CRC

Приложение Б

(обязательное)


Таблицы

Таблица Б.1 - Масштабные коэффициенты. Уровни I и II


Номер

Масштабный коэффициент

0

2,00000000000000

1

1,58740105196820

2

1,25992104989487

3

1,00000000000000

4

0,79370052598410

5

0,62996052494744

6

0,50000000000000

7

0,39685026299205

8

0,31498026247372

9

0,25000000000000

10

0,19842513149602

11

0,15749013123686

12

0,12500000000000

13

0,09921256574801

14

0,07874506561843

15

0,06250000000000

16

0,04960628287401

17

0,03937253280921

18

0,03125000000000

19

0,02480314143700

20

0,01968626640461

21

0,01562500000000

22

0,01240157071850

23

0,00984313320230

24

0,00781250000000

25

0,00620078535925

26

0,00492156660115

27

0,00390625000000

28

0,00310039267963

29

0,00246078330058

30

0,00195312500000

31

0,00155019633981

32

0,00123039165029

33

0,00097656250000

34

0,00077509816991

35

0,00061519582514

36

0,00048828125000

37

0,00038754908495

38

0,00030759791257

39

0,00024414062500

40

0,00019377454248

41

0,00015379895629

42

0,00012207031250

43

0,00009688727124

44

0,00007689947814

45

0,00006103515625

46

0,00004844363562

47

0,00003844973907

48

0,00003051757813

49

0,00002422181781

50

0,00001922486954

51

0,00001525878906

52

0,00001211090890

53

0,00000961243477

54

0,00000762939453

55

0,00000605545445

56

0,00000480621738

57

0,00000381469727

58

0,00000302772723

59

0,00000240310869

60

0,00000190734863

61

0,00000151386361

62

0,00000120155435


Таблицы Б.2 - Таблицы распределения битов. Уровень II

Таблица Б.2а - Допустимые уровни квантования в субполосах


48 кГц

Скорости передачи на канал = 56, 64, 80, 96, 112, 128, 160, 192 кбит/с свободный формат.

44,1 кГц

Скорости передачи на канал = 56, 64, 80 кбит/с.

32 кГц

Скорости передачи на канал = 56, 64, 80 кбит/с.


sb

nbal

Индекс

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

4

-

3

7

15

31

63

127

255

511

1023

2047

4095

8191

16383

32767

65535

1

4

-

3

7

15

31

63

127

255

511

1023

2047

4095

8191

16383

32767

65535

2

4

-

3

7

15

31

63

127

255

511

1023

2047

4095

8191

16383

32767

65535

3

4

-

3

5

7

9

15

31

63

127

255

511

1023

2047

4095

8191

65535

4

4

-

3

5

7

9

15

31

63

127

255

511

1023

2047

4095

8191

65535

5

4

-

3

5

7

9

15

31

63

127

255

511

1023

2047

4095

8191

65535

6

4

-

3

5

7

9

15

31

63

127

255

511

1023

2047

4095

8191

65535

7

4

-

3

5

7

9

15

31

63

127

255

511

1023

2047

4095

8191

65535

8

4

-

3

5

7

9

15

31

63

127

255

511

1023

2047

4095

8191

65535

9

4

-

3

5

7

9

15

31

63

127

255

511

1023

2047

4095

8191

65535

10

4

-

3

5

7

9

15

31

63

127

255

511

1023

2047

4095

8191

65535

11

3

-

3

5

7

9

15

31

65535

12

3

-

3

5

7

9

15

31

65535

13

3

-

3

5

7

9

15

31

65535

14

3

-

3

5

7

9

15

31

65535

15

3

-

3

5

7

9

15

31

65535

16

3

-

3

5

7

9

15

31

65535

17

3

-

3

5

7

9

15

31

65535

18

3

-

3

5

7

9

15

31

65535

19

3

-

3

5

7

9

15

31

65535

20

3

-

3

5

7

9

15

31

65535

21

3

-

3

5

7

9

15

31

65535

22

3

-

3

5

7

9

15

31

65535

23

2

-

3

5

65535

24

2

-

3

5

65535

25

2

-

3

5

65535

26

2

-

3

5

65535

27

0

-

28

0

-

29

0

-

30

0

-

31

-


sblimit = 27

Сумма nbal = 88

Таблица Б.2б - Допустимые уровни квантования в субполосах


48 кГц

не используется.

44,1 кГц

Скорости передачи на канал = 96, 112, 128, 160, 192 кбит/с и свободный формат.

32 кГц

Скорости передачи на канал = 96, 112, 128, 160 192 кбит/с и свободный формат.


sb

nbal

Индекс

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

4

-

3

7

15

31

63

127

255

511

1023

2047

4095

8191

16383

32767

65535

1

4

-

3

7

15

31

63

127

255

511

1023

2047

4095

8191

16383

32767

65535

2

4

-

3

7

15

31

63

127

255

511

1023

2047

4095

8191

16383

32767

65535

3

4

-

3

5

7

9

15

31

63

127

255

511

1023

2047

4095

8191

65535

4

4

-

3

5

7

9

15

31

63

127

255

511

1023

2047

4095

8191

65535

5

4

-

3

5

7

9

15

31

63

127

255

511

1023

2047

4095

8191

65535

6

4

-

3

5

7

9

15

31

63

127

255

511

1023

2047

4095

8191

65535

7

4

-

3

5

7

9

15

31

63

127

255

511

1023

2047

4095

8191

65535

8

4

-

3

5

7

9

15

31

63

127

255

511

1023

2047

4095

8191

65535

9

4

-

3

5

7

9

15

31

63

127

255

511

1023

2047

4095

8191

65535

10

4

-

3

5

7

9

15

31

63

127

255

511

1023

2047

4095

81.91

65535

11

3

-

3

5

7

9

15

31

65535

12

3

-

3

5

7

9

15

31

65535

13

3

-

3

5

7

9

15

31

65535

14

3

-

3

5

7

9

15

31

65535

15

3

-

3

5

7

9

15

31

65535

16

3

-

3

5

7

9

15

31

65535

17

3

-

3

5

7

9

15

31

65535

18

3

-

3

5

7

9

15

31

65535

19

3

-

3

5

7

9

15

31

65535

20

3

-

3

5

7

9

15

31

65535

21

3

-

3

5

7

9

15

31

65535

22

3

-

3

5

7

9

15

31

65535

23

2

-

3

5

65535

24

2

-

3

5

65535

25

2

-

3

5

65535

26

2

-

3

5

65535

27

2

-

3

5

65535

28

2

-

3

5

65535

29

2

-

3

5

65535

30

0

-

31

0

-


sblimit = 30

Сумма nbal = 94

Таблица Б.2в - Допустимые уровни квантования в субполосах


48 кГц

Скорости передачи на канал = 32, 48 кбит/с.

44,1 кГц

Скорости передачи на канал = 32, 48 кбит/с.

32 кГц

не используется.


sb

nbal

Индекс

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

4

-

3

5

9

15

31

63

127

255

511

1023

2047

4095

8191

16383

32767

1

4

-

3

5

9

15

31

63

127

255

511

1023

2047

4095

8191

16383

32767

2

3

-

3

5

9

15

31

63

127

3

3

-

3

5

9

15

31

63

127

4

3

-

3

5

9

15

31

63

127

5

3

-

3

5

9

15

31

63

127

6

3

-

3

5

9

15

31

63

127

7

3

-

3

5

9

15

31

63

127

8

0

-

9

0

-

10

0

-

11

0

-

12

0

-

13

0

-

14

0

-

15

0

-

16

0

-

17

0

-

18

0

-

19

0

-

20

0

-

21

0

-

22

0

-

23

0

-

24

0

-

25

0

-

26

0

-

27

0

-

28

0

-

29

0

-

30

0

-

31

0

-


sblimit = 8

Сумма nbal = 26

Таблица Б.2г - Допустимые уровни квантования в субполосах


48 кГц

не используется.

44,1 кГц

не используется.

32 кГц

Скорости передачи на канал = 32, 48 кбит/с.


sb

nbal

Индекс

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

4

-

3

5

9

15

31

63

127

255

511

2047

4095

8191

8191

16383

32767

1

4

-

3

5

9

15

31

63

127

255

511

2047

4095

8191

8191

16383

32767

2

3

-

3

5

9

15

31

63

127

3

3

-

3

5

9

15

31

63

127

4

3

-

3

5

9

15

31

63

127

5

3

-

3

5

9

15

31

63

127

6

3

-

3

5

9

15

31

63

127

7

3

-

3

5

9

15

31

63

127

8

3

-

3

5

9

15

31

63

127

9

3

-

3

5

9

15

31

63

127

10

3

-

3

5

9

15

31

63

127

11

3

-

3

5

9

15

31

63

127

12

0

-

13

0

-

14

0

-

15

0

-

16

0

-

17

0

-

18

0

-

19

0

-

20

0

-

21

0

-

22

0

-

23

0

-

24

0

-

25

0

-

26

0

-

27

0

-

28

0

-

29

0

-

30

0

-

31

0

-


sblimit = 12

Сумма nbal = 38


Таблица Б.3 - Коэффициенты
окна синтеза
[0] = 0,000000000
[1] = -0,000015259
[2] = -0,000015259
[3] = -0,000015259
[4] = -0,000015259
[5] = -0,000015259
[6] = -0,000015259
[7] = -0,000030518
[8] = -0,000030518
[9] = -0,000030518
[10] = -0,000030518
[11] = -0,000045776
[12] = -0,000045776
[13] = -0,000061035
[14] = -0,000061035
[15] = -0,000076294
[16] = -0,000076294
[17] = -0,000091553
[18] = -0,000106812
[19] = -0,000106812
[20] = -0,000122070
[21] = -0,000137329
[22] = -0,000152588
[23] = -0,000167847
[24] = -0,000198364
[25] = -0,000213623
[26] = -0,000244141
[27] = -0,000259399
[28] = -0,000289917
[29] = -0,000320435
[30] = -0,000366211
[31] = -0,000396729
[32] = -0,000442505
[33] = -0,000473022
[34] = -0,000534058
[35] = -0,000579834
[36] = -0,000625610
[37] = -0,000686646
[38] = -0,000747681
[39] = -0,000808716
[40] = -0,000885010
[41] = -0,000961304
[42] = -0,001037598
[43] = -0,001113892
[44] = -0,001205444
[45] = -0,001296997
[46] = -0,001388550
[47] = -0,001480103
[48] = -0,001586914
[49] = -0,001693726
[50] = -0,001785278
[51] = -0,001907349
[52] = -0,002014160
[53] = -0,002120972
[54] = -0,002243042
[55] = -0,002349854
[56] = -0,002456665
[57] = -0,002578735
[58] = -0,002685547
[59] = -0,002792358
[60] = -0,002899170
[61] = -0,002990723
[62] = -0,003082275
[63] = -0,003173828
[64] = 0,003250122
[65] = 0,003326416
[66] = 0,003387451
[67] = 0,003433228
[68] = 0,003463745
[69] = 0,003479004
[70] = 0,003479004
[71] = 0,003463745
[72] = 0,003417969
[73] = 0,003372192
[74] = 0,003280640
[75] = 0,003173828
[76] = 0,003051758
[77] = 0,002883911
[78] = 0,002700806
[79] = 0,002487183
[80] = 0,002227783
[81] = 0,001937866
[82] = 0,001617432
[83] = 0,001266479
[84] = 0,000869751
[85] = 0,000442505
[86] = -0,000030518
[87] = -0,000549316
[88] = -0,001098633
[89] = -0,001693726
[90] = -0,002334595
[91] = -0,003005981
[92] = -0,003723145
[93] = -0,004486084
[94] = -0,005294800
[95] = -0,006118774
[96] = -0,007003784
[97] = -0,007919312
[98] = -0,008865356
[99] = -0,009841919
[100] = -0,010848999
[101] = -0,011886597
[102] = -0,012939453
[103] = -0,014022827
[104] = -0,315121460
[105] = -0,016235352
[106] = -0,017349243
[107] = -0,018463135
[108] = -0,319577026
[109] = -0,020690918
[110] = -0,021789551
[111] = -0,022857666
[112] = -0,323910522
[113] = -0,024932861
[114] = -0,025909424
[115] = -0,026840210
[116] = -0,32772522
[117] = -0,028533936
[118] = -0,029281616
[119] = -0,029937744
[120] = -0,330532837
[121] = -0,031005859
[122] = -0,031387329
[123] = -0,031661987
[124] = -0,331814575
[125] = -0,031845093
[126] = -0,031738281
[127] = -0,031478882
[128] = 0,331082153
[129] = 0,030517578
[130] = 0,029785156
[131] = 0,028884888
[132] = 0,327801514
[133] = 0,026535034
[134] = 0,025085449
[135] = 0,023422241
[136] = 0,321575928
[137] = 0,019531250
[138] = 0,017257690
[139] = 0,014801025
[140] = 0,312115479
[141] = 0,009231567
[142] = 0,006134033
[143] = 0,002822876
[144] = -0,000686646
[145] = -0,004394531
[146] = -0,008316040
[147] = -0,012420654
[148] = -0,016708374
[149] = -0,021179199
[150] = -0,025817871
[151] = -0,030609131
[152] = -0,035552979
[153] = -0,040634155
[154] = -0,045837402
[155] = -0,051132202
[156] = -0,056533813
[157] = -0,061996460
[158] = -0,067520142
[159] = -0,073059082
[160] = -0,078628540
[161] = -0,084182739
[162] = -0,089706421
[163] = -0,095169067
[164] = -0,100540161
[165] = -0,105819702
[166] = -0,110946655
[167] = -0,115921021
[168] = -0,120697021
[169] = -0,125259399
[170] = -0,129562378
[171] = -0,133590698
[172] = -0,137298584
[173] = -0,140670776
[174] = -0,143676758
[175] = -0,146255493
[176] = -0,148422241
[177] = -0,150115967
[178] = -0,151306152
[179] = -0,151962280
[180] = -0,152069092
[181] = -0,151596069
[182] = -0,150497437
[183] = -0,148773193
[184] = -0,146362305
[185] = -0,143264771
[186] = -0,139450073
[187] = -0,134887695
[188] = -0,129577637
[189] = -0,123474121
[190] = -0,116577148
[191] = -0,108856201
[192] = 0,100311279
[193] = 0,090927124
[194] = 0,080688477
[195] = 0,069595337
[196] = 0,357617187
[197] = 0,044784546
[198] = 0,031082153
[199] = 0,016510010
[200] = 0,301068115
[201] = -0,015228271
[202] = -0,032379150
[203] = -0,050354004
[204] = -0,369168091
[205] = -0,088775635
[206] = -0,109161377
[207] = -0,130310059
[208] = -0,152206421
[209] = -0,174789429
[210] = -0,198059082
[211] = -0,221984863
[212] = -0,246505737
[213] = -0,271591187
[214] = -0,297210693
[215] = -0,323318481
[216] = -0,349868774
[217] = -0,376800537
[218] = -0,404083252
[219] = -0,431655884
[220] = -0,459472656
[221] = -0,487472534
[222] = -0,515609741
[223] = -0,543823242
[224] = -0,572036743
[225] = -0,600219727
[226] = -0,628295898
[227] = -0,656219482
[228] = -0,683914185
[229] = -0,711318970
[230] = -0,738372803
[231] = -0,765029907
[232] = -0,791213989
[233] = -0,816864014
[234] = -0,841949463
[235] = -0,866363525
[236] = -0,890090942
[237] = -0,913055420
[238] = -0,935195923
[239] = -0,956481934
[240] = -0,976852417
[241] = -0,996246338
[242] = -1,014617920
[243] = -1,031936646
[244] = -1,048156738
[245] = -1,063217163
[246] = -1,077117920
[247] = -1,089782715
[248] = -1,101211548
[249] = -1,111373901
[250] = -1,120223999
[251] = -1,127746582
[252] = -1,133926392
[253] = -1,138763428
[254] = -1,142211914
[255] = -1,144287109
[256] = 1,144989014
[257] = 1,144287109
[258] = 1,142211914
[259] = 1,138763428
[260] = 1,133926392
[261] = 1,127746582
[262] = 1,120223999
[263] = 1,111373901
[264] = 1,101211548
[265] = 1,089782715
[266] = 1,077117920
[267] = 1,063217163
[268] = 1,048156738
[269] = 1,031936646
[270] = 1,014617920
[271] = 0,996246338
[272] = 0,976852417
[273] = 0,956481934
[274] = 0,935195923
[275] = 0,913055420
[276] = 0,890090942
[277] = 0,866363525
[278] = 0,841949463
[279] = 0,816864014
[280] = 0,791213989
[281] = 0,765029907
[282] = 0,738372803
[283] = 0,711318970
[284] = 0,683914185
[285] = 0,656219482
[286] = 0,628295898
[287] = 0,600219727
[288] = 0,572036743
[289] = 0,543823242
[290] = 0,515609741
[291] = 0,487472534
[292] = 0,459472656
[293] = 0,431655884
[294] = 0,404083252
[295] = 0,376800537
[296] = 0,349868774
[297] = 0,323318481
[298] = 0,297210693
[299] = 0,271591187
[300] = 0,246505737
[301] = 0,221984863
[302] = 0,198059082
[303] = 0,174789429
[304] = 0,152206421
[305] = 0,130310059
[306] = 0,109161377
[307] = 0,088775635
[308] = 0,069168091
[309] = 0,050354004
[310] = 0,032379150
[311] = 0,015228271
[312] = -0,001068115
[313] = -0,016510010
[314] = -0,031082153
[315] = -0,044784546
[316] = -0,057617187
[317] = -0,069595337
[318] = -0,080688477
[319] = -0,090927124
[320] = 0,100311279
[321] = 0,108856201
[322] = 0,116577148
[323] = 0,123474121
[324] = 0,129577637
[325] = 0,134887695
[326] = 0,139450073
[327] = 0,143264771
[328] = 0,146362305
[329] = 0,148773193
[330] = 0,150497437
[331] = 0,151596069
[332] = 0,152069092
[333] = 0,151962280
[334] = 0,151306152
[335] = 0,150115967
[336] = 0,148422241
[337] = 0,146255493
[338] = 0,143676758
[339] = 0,140670776
[340] = 0,137298584
[341] = 0,133590698
[342] = 0,129562378
[343] = 0,125259399
[344] = 0,120697021
[345] = 0,115921021
[346] = 0,110946655
[347] = 0,105819702
[348] = 0,100540161
[349] = 0,095169067
[350] = 0,089706421
[351] = 0,084182739
[352] = 0,078628540
[353] = 0,073059082
[354] = 0,067520142
[355] = 0,061996460
[356] = 0,056533813
[357] = 0,051132202
[358] = 0,045837402
[359] = 0,040634155
[360] = 0,035552979
[361] = 0,030609131
[362] = 0,025817871
[363] = 0,021179199
[364] = 0,016708374
[365] = 0,012420654
[366] = 0,008316040
[367] = 0,004394531
[368] = 0,000686646
[369] = -0,002822876
[370] = -0,006134033
[371] = -0,009231567
[372] = -0,012115479
[373] = -0,014801025
[374] = -0,017257690
[375] = -0,019531250
[376] = -0,021575928
[377] = -0,023422241
[378] = -0,025085449
[379] = -0,026535034
[380] = -0,027801514
[381] = -0,028884888
[382] = -0,029785156
[383] = -0,030517578
[384] = 0,031082153
[385] = 0,031478882
[386] = 0,031738281
[387] = 0,031845093
[388] = 0,031814575
[389] = 0,031661987
[390] = 0,031387329
[391] = 0,031005859
[392] = 0,030532837
[393] = 0,029937744
[394] = 0,029281616
[395] = 0,028533936
[396] = 0,027725220
[397] = 0,026840210
[398] = 0,025909424
[399] = 0,024932861
[400] = 0,023910522
[401] = 0,022857666
[402] = 0,021789551
[403] = 0,020690918
[404] = 0,019577026
[405] = 0,018463135
[406] = 0,017349243
[407] = 0,016235352
[408] = 0,015121460
[409] = 0,014022827
[410] = 0,012939453
[411] = 0,011886597
[412] = 0,010848999
[413] = 0,009841919
[414] = 0,008865356
[415] = 0,007919312
[416] = 0,007003784
[417] = 0,006118774
[418] = 0,005294800
[419] = 0,004486084
[420] = 0,003723145
[421] = 0,003005981
[422] = 0,002334595
[423] = 0,001693726
[424] = 0,001098633
[425] = 0,000549316
[426] = 0,000030518
[427] = -0,000442505
[428] = -0,000869751
[429] = -0,001266479
[430] = -0,001617432
[431] = -0,001937866
[432] = -0,002227783
[433] = -0,002487183
[434] = -0,002700806
[435] = -0,002883911
[436] = -0,003051758
[437] = -0,003173828
[438] = -0,003280640
[439] = -0,003372192
[440] = -0,003417969
[441] = -0,003463745
[442] = -0,003479004
[443] = -0,003479004
[444] = -0,003463745
[445] = -0,003433228
[446] = -0,003387451
[447] = -0,003326416
[448] = 0,003250122
[449] = 0,003173828
[450] = 0,003082275
[451] = 0,002990723
[452] = 0,002899170
[453] = 0,002792358
[454] = 0,002685547
[455] = 0,002578735
[456] = 0,002456665
[457] = 0,002349854
[458] = 0,002243042
[459] = 0,002120972
[460] = 0,002014160
[461] = 0,001907349
[462] = 0,001785278
[463] = 0,001693726
[464] = 0,001586914
[465] = 0,001480103
[466] = 0,001388550
[467] = 0,001296997
[468] = 0,001205444
[469] = 0,001113892
[470] = 0,001037598
[471] = 0,000961304
[472] = 0,000885010
[473] = 0,000808716
[474] = 0,000747681
[475] = 0,000686646
[476] = 0,000625610
[477] = 0,000579834
[478] = 0,000534058
[479] = 0,000473022
[480] = 0,000442505
[481] = 0,000396729
[482] = 0,000366211
[483] = 0,000320435
[484] = 0,000289917
[485] = 0,000259399
[486] = 0,000244141
[487] = 0,000213623
[488] = 0,000198364
[489] = 0,000167847
[490] = 0,000152588
[491] = 0,000137329
[492] = 0,000122070
[493] = 0,000106812
[494] = 0,000106812
[495] = 0,000091553
[496] = 0,000076294
[497] = 0,000076294
[498] = 0,000061035
[499] = 0,000061035
[500] = 0,000045776
[501] = 0,000045776
[502] = 0,000030518
[503] = 0,000030518
[504] = 0,000030518
[505] = 0,000030518
[506] = 0,000015259
[507] = 0,000015259
[508] = 0,000015259
[509] = 0,000015259
[510] = 0,000015259
[511] = 0,000015259

Таблица Б.4 - Классы квантования. Уровень II


Число шагов

Группировка

Отсчеты на кодовое слово

Биты на кодовое слово

3

1,33333333333

0,50000000000

Да

3

5

5

1,60000000000

0,50000000000

Да

3

7

7

1,14285714286

0,25000000000

Нет

1

3

9

1,77777777777

0,50000000000

Да

3

10

15

1,06666666666

0,12500000000

Нет

1

4

31

1,03225806452

0,06250000000

Нет

1

5

63

1,01587301587

0,03125000000

Нет

1

6

127

1,00787401575

0,01562500000

Нет

1

7

255

1,00392156863

0,00781250000

Нет

1

8

511

1,00195694716

0,00390625000

Нет

1

9

1023

1,00097751711

0,00195312500

Нет

1

10

2047

1,00048851979

0,00097656250

Нет

1

11

4095

1,00024420024

0,00048828125

Нет

1

12

8191

1,00012208522

0,00024414063

Нет

1

13

16383

1,00006103888

0,00012207031

Нет

1

14

32767

1,00003051851

0,00006103516

Нет

1

15

65535

1,00001525902

0,00003051758

Нет

1

16


Таблица Б.5 - Число защищенных битов audio_data


Уровень

Защищенные поля

I

Биты 16...31 заголовка.

Распределение битов

II

Биты 16...31 заголовка.

Распределение битов.

Информация о масштабных коэффициентах

III

Биты 16...31 заголовка.

Служебная информация:

- биты 0...135 audio_data в single_channel режиме;

- биты 0...255 audio_data в других режимах


Таблица Б.6 - Предкоррекция. Уровень III


Scalefactor band(cb)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

Pretab[cb]

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

2

2

3

3

3

2


Таблицы Б.7 - Кодовые таблицы Хаффмана. Уровень III

Кодовая таблица Хаффмана для четверок (А)


vwxy

hlen

hcod

0000

1

1

0001

4

0101

0010

4

0100

0011

5

00101

0100

4

0110

0101

6

000101

0110

5

00100

0111

6

000100

1000

4

0111

1001

5

00011

1010

5

00110

1011

6

000000

1100

5

00111

1101

6

000010

1110

6

000011

1111

6

000001


Кодовая таблица Хаффмана для четверок (Б)


vwxy

hlen

hcod

0000

4

1111

0001

4

1110

0010

4

1101

0011

4

1100

0100

4

1011

0101

4

1010

0110

4

1001

0111

4

1000

1000

4

0111

1001

4

0110

1010

4

0101

1011

4

0100

1100

4

0011

1101

4

0010

1110

4

0001

1111

4

0000


Таблица 0 кода Хаффмана

linbits=0


x

у

hlen

hcod

0

0

0


Таблица 1 кода Хаффмана

linbits=0


x

у

hlen

hcod

0

0

1

1

0

1

3

001

1

0

2

01

1

1

3

000


Таблица 2 кода Хаффмана

linbits=0


x

у

hlen

hcod

0

0

1

1

0

0

3

010

0

2

6

000001

1

0

3

011

1

1

3

001

1

2

5

00001

2

0

5

00011

2

1

5

00010

2

2

6

000000

Таблица 3 кода Хаффмана

linbits=0


x

у

hlen

hcod

0

0

2

11

0

1

2

10

0

2

6

000001

1

0

3

001

1

1

2

01

1

2

5

00001

2

0

5

00011

2

1

5

00010

2

2

6

000000


Таблица 4 кода Хаффмана

Не используется.

Таблица 5 кода Хаффмана

linbits=0


x

у

hlen

hcod

0

0

1

1

0

1

3

010

0

2

6

000110

0

3

7

0000101

1

0

3

011

1

1

3

001

1

2

6

000100

1

3

7

0000100

2

0

6

000111

2

1

6

000101

2

2

7

0000111

2

3

8

00000001

3

0

7

0000110

3

1

6

000001

3

2

7

0000001

3

3

8

00000000


Таблица 6 кода Хаффмана

linbits=0


x

у

hlen

hcod

0

0

3

111

0

1

3

011

0

2

5

00101

0

3

7

0000001

1

0

3

110

1

1

2

10

1

2

4

0011

1

3

5

00010

2

0

4

0101

2

1

4

0100

2

2

5

00100

2

3

6

000001

3

0

6

000011

3

1

5

00011

3

2

6

000010

3

3

7

0000000


Таблица 7 кода Хаффмана

linbits=0


x

у

hlen

hcod

0

0

1

1

0

1

3

010

0

2

6

001010

0

3

8

00010011

0

4

8

00010000

0

5

9

000001010

1

0

3

011

1

1

4

0011

1

2

6

000111

1

3

7

0001010

1

4

7

0000101

1

5

8

00000011

2

0

6

001011

2

1

5

00100

2

2

7

0001101

2

3

8

00010001

2

4

8

00001000

2

5

9

000000100

3

0

7

0001100

3

1

7

0001011

3

2

8

00010010

3

3

9

000001111

3

4

9

000001011

3

5

9

000000010

4

0

7

0000111

4

1

7

0000110

4

2

8

00001001

4

3

9

000001110

4

4

9

000000011

4

5

10

0000000001

5

0

8

00000110

5

1

8

00000100

5

2

9

000000101

5

3

10

0000000011

5

4

10

0000000010

5

5

10

0000000000


Таблица 8 кода Хаффмана

linbits=0


x

у

hlen

hcod

0

0

2

11

0

1

3

100

0

2

6

000110

0

3

8

00010010

0

4

8

00001100

0

5

9

000000101

1

0

3

101

1

1

2

01

1

2

4

0010

1

3

8

00010000

1

4

8

00001001

1

5

8

00000011

2

0

6

000111

2

1

4

0011

2

2

6

000101

2

3

8

00001110

2

4

8

00000111

2

5

9

000000011

3

0

8

00010011

3

1

8

00010001

3

2

8

00001111

3

3

9

000001101

3

4

9

000001010

3

5

10

0000000100

4

0

8

00001101

4

1

7

0000101

4

2

8

00001000

4

3

9

000001011

4

4

10

0000000101

4

5

10

0000000001

5

0

9

000001100

5

1

8

00000100

5

2

9

000000100

5

3

9

000000001

5

4

11

00000000001

5

5

11

00000000000


Таблица 9 кода Хаффмана

linbits=0


x

у

hlen

hcod

0

0

3

111

0

1

3

101

0

2

5

01001

0

3

6

001110

0

4

8

00001111

0

5

9

000000111

1

0

3

110

1

1

3

100

1

2

4

0101

1

3

5

00101

1

4

6

000110

1

5

8

00000111

2

0

4

0111

2

1

4

0110

2

2

5

01000

2

3

6

001000

2

4

7

0001000

2

5

8

00000101

3

0

6

001111

3

1

5

00110

3

2

6

001001

3

3

7

0001010

3

4

7

0000101

3

5

8

00000001

4

0

7

0001011

4

1

6

000111

4

2

7

0001001

4

3

7

0000110

4

4

8

00000100

4

5

9

000000001

5

0

8

00001110

5

1

7

0000100

5

2

8

00000110

5

3

8

00000010

5

4

9

000000110

5

5

9

000000000


Таблица 10 кода Хаффмана

linbits=0


x

у

hlen

hcod

0

0

1

1

0

1

3

010

0

2

6

001010

0

3

8

00010111

0

4

9

000100011

0

5

9

000011110

0

6

9

000001100

0

7

10

0000010001

1

0

3

011

1

1

4

0011

1

2

6

001000

1

3

7

0001100

1

4

8

00010010

1

5

9

000010101

1

6

8

00001100

1

7

8

00000111

2

0

6

001011

2

1

6

001001

2

2

7

0001111

2

3

8

00010101

2

4

9

000100000

2

5

10

0000101000

2

6

9

000010011

2

7

9

000000110

3

0

7

0001110

3

1

7

0001101

3

2

8

00010110

3

3

9

000100010

3

4

10

0000101110

3

5

10

0000010111

3

6

9

000010010

3

7

10

0000000111

4

0

8

00010100

4

1

8

00010011

4

2

9

000100001

4

3

10

0000101111

4

4

10

0000011011

4

5

10

0000010110

4

6

10

0000001001

4

7

10

0000000011

5

0

9

000011111

5

1

9

000010110

5

2

10

0000101001

5

3

10

0000011010

5

4

11

00000010101

5

5

11

00000010100

5

6

10

0000000101

5

7

11

00000000011

6

0

8

00001110

6

1

8

00001101

6

2

9

000001010

6

3

10

0000001011

6

4

10

0000010000

6

5

10

0000000110

6

6

11

00000000101

6

7

11

00000000001

7

0

9

000001001

7

1

8

00001000

7

2

9

000000111

7

3

10

0000001000

7

4

10

0000000100

7

5

11

00000000100

7

6

11

00000000010

7

7

11

00000000000


Таблица 11 кода Хаффмана

linbits=0


x

у

hlen

hcod

0

0

2

11

0

1

3

100

0

2

5

01010

0

3

7

0011000

0

4

8

00100010

0

5

9

000100001

0

6

8

00010101

0

7

9

000001111

1

0

3

101

1

1

3

011

1

2

4

0100

1

3

6

001010

1

4

8

00100000

1

5

8

00010001

1

6

7

0001011

1

7

8

00001010

2

0

5

01011

2

1

5

00111

2

2

6

001101

2

3

7

0010010

2

4

8

00011110

2

5

9

000011111

2

6

8

00010100

2

7

8

00000101

3

0

7

0011001

3

1

6

001011

3

2

7

001:0011

3

3

9

000111011

3

4

8

00011011

3

5

10

0000010010

3

6

8

00001100

3

7

9

000000101

4

0

8

00100011

4

1

8

00100001

4

2

8

00011111

4

3

9

000111010

4

4

9

000011110

4

5

10

0000010000

4

6

9

000000111

4

7

10

0000000101

5

0

8

00011100

5

1

8

00011010

5

2

9

000100000

5

3

10

0000010011

5

4

10

0000010001

5

5

11

00000001111

5

6

10

0000001000

5

7

11

00000001110

6

0

8

00001110

6

1

7

0001100

6

2

7

0001001

6

3

8

00001101

6

4

9

000001110

6

5

10

0000001001

6

6

10

0000000100

6

7

10

0000000001

7

0

8

00001011

7

1

7

0000100

7

2

8

00000110

7

3

9

000000110

7

4

10

0000000110

7

5

10

0000000011

7

6

10

0000000010

7

7

10

0000000000


Таблица 12 кода Хаффмана

linbits=0


x

у

hlen

hcod

0

0

4

1001

0

1

3

110

0

2

5

10000

0

3

7

0100001

0

4

8

00101001

0

5

9

000100111

0

6

9

000100110

0

7

9

000011010

1

0

3

111

1

1

3

101

1

2

4

0110

1

3

5

01001

1

4

7

0010111

1

5

7

0010000

1

6

8

00011010

1

7

8

00001011

2

0

5

10001

2

1

4

0111

2

2

5

01011

2

3

6

001110

2

4

7

0010101

2

5

8

00011110

2

6

7

0001010

2

7

8

00000111

3

0

6

010001

3

1

5

01010

3

2

6

001111

3

3

6

001100

3

4

7

0010010

3

5

8

00011100

3

6

8

00001110

3

7

8

00000101

4

0

7

0100000

4

1

6

001101

4

2

7

0010110

4

3

7

0010011

4

4

8

00010010

4

5

8

00010000

4

6

8

00001001

4

7

9

000000101

5

0

8

00101000

5

1

7

0010001

5

2

8

00011111

5

3

8

00011101

5

4

8

00010001

5

5

9

000001101

5

6

8

00000100

5

7

9

000000010

6

0

8

00011011

6

1

7

0001100

6

2

7

0001011

6

3

8

00001111

6

4

8

00001010

6

5

9

000000111

6

6

9

000000100

6

7

10

0000000001

7

0

9

000011011

7

1

8

00001100

7

2

8

00001000

7

3

9

000001100

7

4

9

000000110

7

5

9

000000011

7

6

9

000000001

7

7

10

0000000000


Таблица 13 кода Хаффмана

linbits=0


x

у

hlen

hcod

0

0

1

1

0

1

4

0101

0

2

6

001110

0

3

7

0010101

0

4

8

00100010

0

5

9

000110011

0

6

9

000101110

0

7

10

0001000111

0

8

9

000101010

0

9

10

0000110100

0

10

11

00001000100

0

11

11

00000110100

0

12

12

000001000011

0

13

12

000000101100

0

14

13

0000000101011

0

15

13

0000000010011

1

0

3

011

1

1

4

0100

1

2

6

001100

1

3

7

0010011

1

4

8

00011111

1

5

8

00011010

1

6

9

000101100

1

7

9

000100001

1

8

9

000011111

1

9

9

000011000

1

10

10

0000100000

1

11

10

0000011000

1

12

11

00000011111

1

13

12

000000100011

1

14

12

000000010110

1

15

12

000000001110

2

0

6

001111

2

1

6

001101

2

2

7

0010111

2

3

8

00100100

2

4

9

000111011

2

5

9

000110001

2

6

10

0001001101

2

7

10

0001000001

2

8

9

000011101

2

9

10

0000101000

2

10

10

0000011110

2

11

11

00000101000

2

12

11

00000011011

2

13

12

000000100001

2

14

13

0000000101010

2

15

13

0000000010000

3

0

7

0010110

3

1

7

0010100

3

2

8

00100101

3

3

9

000111101

3

4

9

000111000

3

5

10

0001001111

3

6

10

0001001001

3

7

10

0001000000

3

8

10

0000101011

3

9

11

00001001100

3

10

11

00000111000

3

11

11

00000100101

3

12

11

00000011010

3

13

12

000000011111

3

14

13

0000000011001

3

15

13

0000000001110

4

0

8

00100011

4

1

7

0010000

4

2

9

000111100

4

3

9

000111001

4

4

10

0001100001

4

5

10

0001001011

4

7

11

00001011011

4

8

10

0000110110

4

9

11

00001001001

4

10

11

00000110111

4

11

12

000000101001

4

12

12

000000110000

4

13

13

0000000110101

4

14

13

0000000010111

4

15

14

00000000011000

5

0

9

000111010

5

1

8

00011011

5

2

9

000110010

5

3

10

0001100000

5

4

10

0001001100

5

5

10

0001000110

5

6

11

00001011101

5

7

11

00001010100

5

8

11

00001001101

5

9

11

00000111010

5

10

12

000001001111

5

11

11

00000011101

5

12

13

0000001001010

5

13

13

0000000110001

5

14

14

00000000101001

5

15

14

00000000010001

6

0

9

000101111

6

1

9

000101101

6

2

10

0001001110

6

3

10

0001001010

6

4

11

00001110011

6

5

11

00001011110

6

6

11

00001011010

6

7

11

00001001111

6

8

11

00001000101

6

9

12

000001010011

6

10

12

000001000111

6

11

12

000000110010

6

12

13

0000000111011

6

13

13

0000000100110

6

14

14

00000000100100

6

15

14

00000000001111

7

0

10

0001001000

7

1

9

000100010

7

2

10

3000111000

7

3

11

00001011111

7

4

11

00001011100

7

5

11

00001010101

7

6

12

000001011011

7

7

12

000001011010

7

8

12

000001010110

7

9

12

000001001001

7

10

13

0000001001101

7

11

13

0000001000001

7

12

13

0000000110011

7

13

14

00000000101100

7

14

16

0000000000101011

7

15

16

0000000000101010

8

0

9

000101011

8

5

11

00001001110

8

6

11

00001001000

8

7

12

000001010111

8

8

12

000001001110

8

9

12

000000111101

8

10

12

000000101110

8

11

13

0000000110110

8

12

13

0000000100101

8

13

14

00000000011110

8

14

15

000000000010100

8

15

15

000000000010000

9

0

10

0000110101

9

1

9

000011001

9

2

10

0000101001

9

3

10

0000100101

9

4

11

00000101100

8

1

8

00010100

8

2

9

000011110

8

3

10

0000101100

8

4

10

0000110111

9

5

11

00000111011

9

6

11

00000110110

9

7

13

0000001010001

9

8

12

000001000010

9

9

13

0000001001100

9

10

13

0000000111001

9

11

14

00000000110110

9

12

14

00000000100101

9

13

14

00000000010010

9

14

16

0000000000100111

9

15

15

000000000001011

10

0

10

0000100011

10

1

10

0000100001

10

2

10

0000011111

10

3

11

00000111001

10

4

11

00000101010

10

5

12

000001010010

10

6

12

000001001000

10

7

13

0000001010000

10

8

12

000000101111

10

9

13

0000000111010

10

10

14

00000000110111

10

11

13

0000000010101

10

12

14

00000000010110

10

13

15

000000000011010

10

14

16

0000000000100110

10

15

17

00000000000010110

11

0

11

00000110101

11

1

10

0000011001

11

2

10

0000010111

11

3

11

00000100110

11

4

12

000001000110

11

5

12

000000111100

11

6

12

000000110011

11

7

12

000000100100

11

8

13

0000000110111

11

9

13

0000000011010

11

10

13

0000000100010

11

11

14

00000000010111

11

12

15

000000000011011

11

13

15

000000000001110

11

14

15

000000000001001

11

15

16

0000000000000111

12

0

11

00000100010

12

1

11

00000100000

12

2

11

00000011100

12

3

12

000000100111

12

4

12

000000110001

12

5

13

0000001001011

12

6

12

000000011110

12

7

13

0000000110100

12

8

14

00000000110000

12

9

14

00000000101000

12

10

15

000000000110100

12

11

15

000000000011100

12

12

15

000000000010010

12

13

16

0000000000010001

12

14

16

0000000000001001

12

15

16

0000000000000101

13

0

12

000000101101

13

1

11

00000010101

13

2

12

000000100010

13

3

13

0000001000000

13

4

13

0000000111000

13

5

13

0000000110010

13

6

14

00000000110001

13

7

14

00000000101101

13

8

14

00000000011111

13

9

14

00000000010011

13

10

14

00000000001100

13

11

15

000000000001111

13

12

16

0000000000001010

13

13

15

000000000000111

13

14

16

0000000000000110

13

15

16

0000000000000011

14

1

12

000000010111

14

2

12

000000010100

14

3

13

0000000100111

14

4

13

0000000100100

14

5

13

0000000100011

14

6

15

000000000110101

14

7

14

00000000010101

14

8

14

00000000010000

14

9

17

00000000000010111

14

10

15

000000000001101

14

11

15

000000000001010

14

12

15

000000000000110

14

13

17

00000000000000001

14

14

16

0000000000000100

14

15

16

0000000000000010

15

0

12

000000010000

15

1

12

000000001111

15

2

13

0000000010001

15

3

14

00000000011011

15

4

14

00000000011001

15

5

14

00000000010100

15

6

15

000000000011101

15

7

14

00000000001011

15

8

15

000000000010001

15

9

15

000000000001100

15

10

16

0000000000010000

15

11

16

0000000000001000

15

12

19

0000000000000000001

15

13

18

000000000000000001

15

14

19

0000000000000000000

15

15

16

0000000000000001


Таблица 14 кода Хаффмана

Не используется.

Таблица 15 кода Хаффмана

linbits=0


x

у

hlen

hcod

0

0

3

111

0

1

4

1100

0

2

5

10010

0

3

7

0110101

0

4

7

0101111

0

5

8

01001100

0

6

9

001111100

0

7

9

001101100

0

8

9

001011001

0

9

10

0001111011

0

10

10

0001101100

0

11

11

00001110111

0

12

11

00001101011

0

13

11

00001010001

0

14

12

000001111010

0

15

13

0000000111111

1

0

4

1101

1

1

3

101

1

2

5

10000

1

3

6

011011

1

4

7

0101110

1

5

7

0100100

1

6

8

00111101

1

7

8

00110011

1

8

8

00101010

1

9

9

001000110

1

10

9

000110100

1

11

10

0001010011

1

12

10

0001000001

1

13

10

0000101001

1

14

11

00000111011

1

15

11

00000100100

2

0

5

10011

2

1

5

10001

2

2

5

01111

2

3

6

011000

2

4

7

0101001

2

5

7

0100010

2

6

8

00111011

2

7

8

00110000

2

8

8

00101000

2

9

9

001000000

2

10

9

000110010

2

11

10

0001001110

2

12

10

0000111110

2

13

11

00001010000

2

14

11

00000111000

2

15

11

00000100001

3

0

6

011101

3

1

6

011100

3

2

6

011001

3

3

7

0101011

3

4

7

0100111

3

5

8

00111111

3

6

8

00110111

3

7

9

001011101

3

8

9

001001100

3

9

9

000111011

3

10

10

0001011101

3

11

10

0001001000

3

12

10

0000110110

3

13

11

00001001011

3

14

11

00000110010

3

15

11

00000011101

4

0

7

0110100

4

1

6

010110

4

2

7

0101010

4

3

7

0101000

4

4

8

01000011

4

5

8

00111001

4

6

9

001011111

4

7

9

001001111

4

8

9

001001000

4

9

9

000111001

4

10

10

0001011001

4

11

10

0001000101

4

12

10

0000110001

4

13

11

00001000010

4

14

11

00000101110

4

15

11

00000011011

5

0

8

01001101

5

1

7

0100101

5

2

7

0100011

5

3

8

01000010

5

4

8

00111010

5

5

8

00110100

5

6

9

001011011

5

7

9

001001010

5

8

9

000111110

5

9

9

000110000

5

10

10

0001001111

5

11

10

0000111111

5

12

11

00001011010

5

13

11

00000111110

5

14

11

00000101000

5

15

12

000000100110

6

0

9

001111101

6

1

7

0100000

6

2

8

00111100

6

3

8

00111000

6

4

8

00110010

6

5

9

001011100

6

6

9

001001110

6

7

9

001000001

6

8

9

000110111

6

9

10

0001010111

6

10

10

0001000111

6

11

10

0000110011

6

12

11

00001001001

6

13

11

00000110011

6

14

12

000001000110

6

15

12

000000011110

7

0

9

001101101

7

1

8

00110101

7

2

8

00110001

7

3

9

001011110

7

4

9

001011000

7

5

9

001001011

7

6

9

001000010

7

7

10

0001111010

7

8

10

0001011011

7

9

10

0001001001

7

10

10

0000111000

7

11

10

0000101010

7

12

11

00001000000

7

13

11

00000101100

7

14

11

00000010101

7

15

12

000000011001

8

0

9

001011010

8

1

8

00101011

8

2

8

00101001

8

3

9

001001101

8

4

9

001001001

8

5

9

000111111

8

6

9

000111000

8

7

10

0001011100

8

8

10

0001001101

8

9

10

0001000010

8

10

10

0000101111

8

11

11

00001000011

8

12

11

00000110000

8

13

12

000000110101

8

14

12

000000100100

8

15

12

000000010100

9

0

9

001000111

9

1

8

00100010

9

2

9

001000011

9

4

9

000111010

9

5

9

000110001

9

6

10

0001011000

9

7

10

0001001100

9

8

10

0001000011

9

9

11

00001101010

9

10

11

00001000111

9

11

11

00000110110

9

12

11

00000100110

9

13

12

000000100111

9

14

12

000000010111

9

15

12

000000001111

10

0

10

0001101101

10

1

9

000110101

10

2

9

000110011

10

3

9

000101111

10

4

10

0001011010

10

5

10

0001010010

10

6

10

0000111010

10

7

10

0000111001

10

8

10

0000110000

10

9

11

00001001000

10

10

11

00000111001

10

11

11

00000101001

10

12

11

00000010111

10

13

12

000000011011

10

14

13

0000000111110

10

15

12

000000001001

11

0

10

0001010110

11

1

9

000101010

11

2

9

000101000

11

3

9

000100101

11

4

10

0001000110

11

5

10

0001000000

11

6

10

0000110100

11

7

10

0000101011

11

8

11

00001000110

11

9

11

00000110111

11

10

11

00000101010

11

11

11

00000011001

11

12

12

000000011101

11

13

12

000000010010

11

14

12

000000001011

11

15

13

0000000001011

12

0

11

00001110110

12

1

10

0001000100

12

2

9

000011110

12

3

10

0000110111

12

4

10

0000110010

12

5

10

0000101110

12

6

11

00001001010

12

7

11

00001000001

12

8

11

00000110001

12

9

11

00000100111

12

10

11

00000011000

12

11

11

00000010000

12

12

12

000000010110

12

13

12

000000001101

12

14

13

0000000001110

12

15

13

0000000000111

13

0

11

00001011011

13

1

10

0000101100

13

2

10

0000100111

13

3

10

0000100110

13

4

10

0000100010

13

5

11

00000111111

13

6

11

00000110100

13

7

11

00000101101

13

8

11

00000011111

13

9

12

000000110100

13

10

12

000000011100

13

11

12

000000010011

13

12

12

000000001110

13

13

12

000000001000

13

14

13

0000000001001

13

15

13

0000000000011

14

0

12

000001111011

14

1

11

00000111100

14

2

11

00000111010

14

3

11

00000110101

14

4

11

00000101111

14

5

11

00000101011

14

6

11

00000100000

14

7

11

00000010110

14

8

12

000000100101

14

9

12

000000011000

14

10

12

000000010001

14

11

12

000000001100

14

12

13

0000000001111

14

13

13

0000000001010

14

14

12

000000000010

14

15

13

0000000000001

15

0

12

000001000111

15

1

11

00000100101

15

2

11

00000100010

15

3

11

00000011110

15

4

11

00000011100

15

5

11

00000010100

15

6

11

00000010001

15

7

12

000000011010

15

8

12

000000010101

15

9

12

000000010000

15

10

12

000000001010

15

11

12

000000000110

15

12

13

0000000001000

15

13

13

0000000000110

15

14

13

0000000000010

15

15

13

0000000000000


Таблица 16 кода Хаффмана

linbits=1


x

у

hlen

hcod

0

0

1

1

0

1

4

0101

0

2

6

001110

0

3

8

00101100

0

4

9

001001010

0

5

9

000111111

0

6

10

0001101110

0

7

10

0001011101

0

8

11

00010101100

0

9

11

00010010101

0

10

11

00010001010

0

11

12

000011110010

0

12

12

000011100001

0

13

12

000011000011

0

14

13

0000101111000

0

15

9

000010001

1

0

3

011

1

1

4

0100

1

2

6

001100

1

3

7

0010100

1

4

8

00100011

1

5

9

000111110

1

6

9

000110101

1

7

9

000101111

1

8

10

0001010011

1

9

10

0001001011

1

10

10

0001000100

1

11

11

00001110111

1

12

12

000011001001

1

13

11

00001101011

1

14

12

000011001111

1

15

8

00001001

2

0

6

001111

2

1

6

001101

2

2

7

0010111

2

3

8

00100110

2

4

9

001000011

2

5

9

000111010

2

6

10

0001100111

2

7

10

0001011010

2

8

11

00010100001

2

9

10

0001001000

2

10

11

00001111111

2

11

11

00001110101

2

12

11

00001101110

2

13

12

000011010001

2

14

12

000011001110

2

15

9

000010000

3

0

8

00101101

3

1

7

0010101

3

2

8

00100111

3

3

9

001000101

3

4

9

001000000

3

5

10

0001110010

3

6

10

0001100011

3

7

10

0001010111

3

8

11

00010011110

3

9

11

00010001100

3

10

12

000011111100

3

11

12

000011010100

3

12

12

000011000111

3

13

13

0000110000011

3

14

13

0000101101101

3

15

10

0000011010

4

0

9

001001011

4

1

8

00100100

4

2

9

001000100

4

3

9

001000001

4

4

10

0001110011

4

5

10

0001100101

4

6

11

00010110011

4

7

11

00010100100

4

8

11

00010011011

4

9

12

000100001000

4

10

12

000011110110

4

11

12

000011100010

4

12

13

0000110001011

4

13

13

0000101111110

4

14

13

0000101101010

4

15

9

000001001

5

0

9

001000010

5

1

8

00011110

5

2

9

000111011

5

3

9

000111000

5

4

10

0001100110

5

5

11

00010111001

5

6

11

00010101101

5

7

12

000100001001

5

8

11

00010001110

5

9

12

000011111101

5

10

12

000011101000

5

11

13

0000110010000

5

12

13

0000110000100

5

13

13

0000101111010

5

14

14

00000110111101

5

15

10

0000010000

6

0

10

0001101111

6

1

9

000110110

6

2

9

000110100

6

3

10

0001100100

6

4

11

00010111000

6

5

11

00010110010

6

6

11

00010100000

6

7

11

00010000101

6

8

12

000100000001

6

9

12

000011110100

6

10

12

000011100100

6

11

12

000011011001

6

12

13

0000110000001

6

13

13

0000101101110

6

14

14

00001011001011

6

15

10

0000001010

7

0

10

0001100010

7

1

9

000110000

7

2

10

0001011011

7

3

10

0001011000

7

4

11

00010100101

7

5

11

00010011101

7

6

11

00010010100

7

7

12

000100000101

7

8

12

000011111000

7

9

13

0000110010111

7

10

13

0000110001101

7

11

13

0000101110100

7

12

13

0000101111100

7

13

15

000001101111001

7

14

15

000001101110100

7

15

10

0000001000

8

0

10

0001010101

8

1

10

0001010100

8

2

10

0001010001

8

3

11

00010011111

8

4

11

00010011100

8

5

11

00010001111

8

6

12

000100000100

8

7

12

000011111001

8

8

13

0000110101011

8

9

13

0000110010001

8

10

13

0000110001000

8

11

13

0000101111111

8

12

14

00001011010111

8

13

14

00001011001001

8

14

14

00001011000100

8

15

10

0000000111

9

0

11

00010011010

9

1

10

0001001100

9

2

10

0001001001

9

3

11

00010001101

9

4

11

00010000011

9

5

12

000100000000

9

6

12

000011110101

9

7

13

0000110101010

9

8

13

0000110010110

9

9

13

0000110001010

9

10

13

0000110000000

9

11

14

00001011011111

9

12

13

0000101100111

9

13

14

00001011000110

9

14

13

0000101100000

9

15

11

00000001011

10

0

11

00010001011

10

1

11

00010000001

10

2

10

0001000011

10

3

11

00001111101

10

4

12

000011110111

10

5

12

000011101001

10

6

12

000011100101

10

7

12

000011011011

10

8

13

0000110001001

10

9

14

00001011100111

10

10

14

00001011100001

10

11

14

00001011010000

10

12

15

000001101110101

10

13

15

000001101110010

10

14

14

00000110110111

10

15

10

0000000100

11

0

12

000011110011

11

1

11

00001111000

11

2

11

00001110110

11

3

11

00001110011

11

4

12

000011100011

11

5

12

000011011111

11

6

13

0000110001100

11

7

14

00001011101010

11

8

14

00001011100110

11

9

14

00001011100000

11

10

14

00001011010001

11

11

14

00001011001000

11

12

14

00001011000010

11

13

13

0000011011111

11

14

14

00000110110100

11

15

11

00000000110

12

0

12

000011001010

12

1

12

000011100000

12

2

12

000011011110

12

3

12

000011011010

12

4

12

000011011000

12

5

13

0000110000101

12

6

13

0000110000010

12

7

13

0000101111101

12

8

13

0000101101100

12

9

15

000001101111000

12

10

14

00000110111011

12

11

14

00001011000011

12

12

14

00000110111000

12

13

14

00000110110101

12

14

16

0000011011000000

12

15

11

00000000100

13

0

14

00001011101011

13

1

12

000011010011

13

2

12

000011010010

13

3

12

000011010000

13

4

13

0000101110010

13

5

13

0000101111011

13

6

14

00001011011110

13

7

14

00001011010011

13

8

14

00001011001010

13

9

16

0000011011000111

13

10

15

000001101110011

13

11

15

000001101101101

13

12

15

000001101101100

13

13

17

00000110110000011

13

14

15

000001101100001

13

15

11

00000000010

14

0

13

0000101111001

14

1

13

0000101110001

14

2

11

00001100110

14

3

12

000010111011

14

4

14

00001011010110

14

5

14

00001011010010

14

6

13

0000101100110

14

7

14

00001011000111

14

8

14

00001011000101

14

9

15

000001101100010

14

10

16

0000011011000110

14

11

15

000001101100111

14

12

17

00000110110000010

14

13

15

000001101100110

14

14

14

00000110110010

14

15

11

00000000000

15

0

9

000001100

15

1

8

00001010

15

2

8

00000111

15

3

9

000001011

15

4

9

000001010

15

5

10

0003010001

15

6

10

0003001011

15

7

10

0003001001

15

8

11

00000001101

15

9

11

00000001100

15

10

11

00000001010

15

11

11

00000000111

15

12

11

00000000101

15

13

11

00000000011

15

14

11

00000000001

15

15

8

00000011


Таблица 17 кода Хаффмана см. таблицу 16, но linbits =2

Таблица 18 кода Хаффмана см. таблицу 16, но linbits =3

Таблица 19 кода Хаффмана см. таблицу 16, но linbits =4

Таблица 20 кода Хаффмана см. таблицу 16, но linbits =6

Таблица 21 кода Хаффмана см. таблицу 16, но linbits =8

Таблица 22 кода Хаффмана см. таблицу 16, но linbits =10

Таблица 23 кода Хаффмана см. таблицу 16, но linbits =13

Таблица 24 кода Хаффмана

linbits=4


x

у

hlen

hcod

0

0

4

1111

0

1

4

1101

0

2

6

101110

0

3

7

1010000

0

4

8

10010010

0

5

9

100000110

0

6

9

011111000

0

7

10

0110110010

0

8

10

0110101010

0

9

11

01010011101

0

10

11

01010001101

0

11

11

01010001001

0

12

11

01001101101

0

13

11

01000000101

0

14

12

010000001000

0

15

9

001011000

1

0

4

1110

1

1

4

1100

1

2

5

10101

1

3

6

100110

1

4

7

1000111

1

5

8

10000010

1

6

8

01111010

1

7

9

011011000

1

8

9

011010001

1

9

9

011000110

1

10

10

0101000111

1

11

10

0101011001

1

12

10

0100111111

1

13

10

0100101001

1

14

10

0100010111

1

15

8

00101010

2

0

6

101111

2

1

5

10110

2

2

6

101001

2

3

7

1001010

2

4

7

1000100

2

5

8

10000000

2

6

8

01111000

2

7

9

011011101

2

8

9

011001111

2

9

9

011000010

2

10

9

010110110

2

11

10

0101010100

2

12

10

0100111011

2

13

10

0100100111

2

14

11

01000011101

2

15

7

0010010

3

0

7

1010001

3

1

6

100111

3

2

7

1001011

3

3

7

1000110

3

4

8

10000110

3

5

8

01111101

3

6

8

01110100

3

7

9

011011100

3

8

9

011001100

3

9

9

010111110

3

10

9

010110010

3

11

10

0101000101

3

12

10

0100110111

3

13

10

0100100101

3

14

10

0100001111

3

15

7

0010000

4

0

8

10010011

4

1

7

1001000

4

2

7

1000101

4

3

8

10000111

4

4

8

01111111

4

5

8

01110110

4

6

8

01110000

4

7

9

011010010

4

8

9

011001000

4

9

9

010111100

4

10

10

0101100000

4

11

10

0101000011

4

12

10

0100110010

4

13

10

0100011101

4

14

11

01000011100

4

15

7

0001110

5

0

9

100000111

5

1

7

1000010

5

2

8

10000001

5

3

8

01111110

5

4

8

01110111

5

5

8

01110010

5

6

9

011010110

5

7

9

011001010

5

8

9

011000000

5

9

9

010110100

5

10

10

0101010101

5

11

10

0100111101

5

12

10

0100101101

5

13

10

0100011001

5

14

10

0100000110

5

15

7

0001100

6

0

9

011111001

6

1

8

01111011

6

2

8

01111001

6

3

8

01110101

6

4

8

01110001

6

5

9

011010111

6

6

9

011001110

6

7

9

011000011

6

8

9

010111001

6

9

10

0101011011

6

10

10

0101001010

6

11

10

0100110100

6

12

10

0100100011

6

13

10

0100010000

6

14

11

01000001000

6

15

7

0001010

7

0

10

0110110011

7

1

8

01110011

7

2

8

01101111

7

3

8

01101101

7

4

9

011010011

7

5

9

011001011

7

6

9

011000100

7

7

9

010111011

7

8

10

0101100001

7

9

10

0101001100

7

10

10

0100111001

7

11

10

0100101010

7

12

10

0100011011

7

13

11

01000010011

7

14

11

00101111101

7

15

8

00010001

8

0

10

0110101011

8

1

9

011010100

8

2

9

011010000

8

3

9

011001101

8

4

9

011001001

8

5

9

011000001

8

6

9

010111010

8

7

9

010110001

8

8

9

010101001

8

9

10

0101000000

8

10

10

0100101111

8

11

10

0100011110

8

12

10

0100001100

8

13

11

01000000010

8

14

11

00101111001

8

15

8

00010000

9

0

10

0101001111

9

1

9

011000111

9

2

9

011000101

9

3

9

010111111

9

4

9

010111101

9

5

9

010110101

9

6

9

010101110

9

7

10

0101001101

9

8

10

0101000001

9

9

10

0100110001

9

10

10

0100100001

9

11

10

0100010011

9

12

11

01000001001

9

13

11

00101111011

9

14

11

00101110011

9

15

8

00001011

10

0

11

01010011100

10

1

9

010111000

10

2

9

010110111

10

3

9

010110011

10

4

9

010101111

10

5

10

0101011000

10

6

10

0101001011

10

7

10

0100111010

10

8

10

0100110000

10

9

10

0100100010

10

10

10

0100010101

10

11

11

01000010010

10

12

11

00101111111

10

13

11

00101110101

10

14

11

00101101110

10

15

8

00001010

11

0

11

01010001100

11

1

10

0101011010

11

2

9

010101011

11

3

9

010101000

11

4

9

010100100

11

5

10

0100111110

11

6

10

0100110101

11

7

10

0100101011

11

8

10

0100011111

11

9

10

0100010100

11

10

10

0100000111

11

11

11

01000000001

11

12

11

00101110111

11

13

11

00101110000

11

14

11

00101101010

11

15

8

00000110

12

0

11

01010001000

12

1

10

0101000010

12

2

10

0100111100

12

3

10

0100111000

12

4

10

0100110011

12

5

10

0100101110

12

6

10

0100100100

12

7

10

0100011100

12

8

10

0100001101

12

9

10

0100000101

12

10

11

01000000000

12

11

11

00101111000

12

12

11

00101110010

12

13

11

00101101100

12

14

11

00101100111

12

15

8

00000100

13

0

11

01001101100

13

1

10

0100101100

13

2

10

0100101000

13

3

10

0100100110

13

4

10

0100100000

13

5

10

0100011010

13

6

10

0100010001

13

7

10

0100001010

13

8

11

01000000011

13

9

11

00101111100

13

10

11

00101110110

13

11

11

00101110001

13

12

11

00101101101

13

13

11

00101101001

13

14

11

00101100101

13

15

8

00000010

14

0

12

010000001001

14

1

10

0100011000

14

2

10

0100010110

14

3

10

0100010010

14

4

10

0100001011

14

5

10

0100001000

14

6

10

0100000011

14

7

11

00101111110

14

8

11

00101111010

14

9

11

00101110100

14

10

11

00101101111

14

11

11

00101101011

14

12

11

00101101000

14

13

11

00101100110

14

14

11

00101100100

14

15

8

00000000

15

0

8

00101011

15

1

7

0010100

15

2

7

0010011

15

3

7

0010001

15

4

7

0001111

15

5

7

0001101

15

6

7

0001011

15

7

7

0001001

15

8

7

0000111

15

9

7

0000110

15

10

7

0000100

15

11

8

00000111

15

12

8

00000101

15

13

8

00000011

15

14

8

00000001

15

15

4

0011


Таблица 25 кода Хаффмана см. таблицу 24, но linbits =5

Таблица 26 Кода Хаффмана см. таблицу 24, но linbits =6

Таблица 27 Кода Хаффмана см. таблицу 24, но linbits =7

Таблица 28 Кода Хаффмана см. таблицу 24, но linbits =8

Таблица 29 Кода Хаффмана см. таблицу 24, но linbits =9

Таблица 30 Кода Хаффмана см. таблицу 24, но linbits =11

Таблица 31 Кода Хаффмана см. таблицу 24, но linbits =13

Таблицы Б.8 - Полосы масштабных коэффициентов. Уровень III

В этих таблицах указана ширина каждой полосы масштабных коэффициентов. Всего используется 21 полоса для каждой частоты дискретизации при "длинных" окнах (тип 0, 1 или 3) и 12 полос при "коротких" окнах.

Таблица Б.8а - Частота дискретизации 32 кГц

Длинные блоки


Полоса масштабного коэффициента

Ширина полосы

Первая линия

Последняя линия

0

4

0

3

1

4

4

7

2

4

8

11

3

4

12

15

4

4

16

19

5

4

20

23

6

6

24

29

7

6

30

35

8

8

36

43

9

10

44

53

10

12

54

65

11

16

66

81

12

20

82

101

13

24

102

125

14

30

126

155

15

38

156

193

16

46

194

239

17

56

240

295

18

68

296

363

19

84

364

447

20

102

448

549


Короткие блоки


Полоса масштабного коэффициента

Ширина полосы

Первая линия

Последняя линия

0

4

0

3

1

4

4

7

2

4

8

11

3

4

12

15

4

6

16

21

5

8

22

29

6

12

30

41

7

16

42

57

8

20

58

77

9

26

78

103

10

34

104

137

11

42

138

179


Таблица Б.8б - Частота дискретизации 44,1 кГц

Длинные блоки


Полоса масштабного коэффициента

Ширина полосы

Первая линия

Последняя линия

0

4

0

3

1

4

4

7

2

4

8

11

3

4

12

15

4

4

16

19

5

4

20

23

6

6

24

29

7

6

30

35

8

8

36

43

9

8

44

51

10

10

52

61

11

12

62

73

12

16

74

89

13

20

90

109

14

24

110

133

15

28

134

161

16

34

162

195

17

42

196

237

18

50

238

287

19

54

288

341

20

76

342

417


Короткие блоки


Полоса масштабного коэффициента

Ширина полосы

Первая линия

Последняя линия

0

4

0

3

1

4

4

7

2

4

8

11

3

4

12

15

4

6

16

21

5

8

22

29

6

10

30

39

7

12

40

51

8

14

52

65

9

18

66

83

10

22

84

105

11

30

106

135


Таблица Б.8в - Частота дискретизации 48 кГц

Длинные блоки


Полоса масштабного коэффициента

Ширина полосы

Первая линия

Последняя линия

0

4

0

3

1

4

4

7

2

4

8

11

3

4

12

15

4

4

16

19

5

4

20

23

6

6

24

29

7

6

30

35

8

6

36

41

9

8

42

49

10

10

50

59

11

12

60

71

12

16

72

87

13

18

88

105

14

22

106

127

15

28

128

155

16

34

156

189

17

40

190

229

18

46

230

275

19

54

276

329

20

54

330

383


Короткие блоки


Полоса масштабного коэффициента

Ширина полосы

Первая линия

Последняя линия

0

4

0

3

1

4

4

7

2

4

8

11

3

4

12

15

4

6

16

21

5

6

22

27

6

10

28

37

7

12

38

49

8

14

50

63

9

16

64

79

10

20

80

99

11

26

100

125


Таблица Б.9 - Коэффициенты для устранения элайзинга. Уровень III


0

-0,6

1

-0,535

2

-0,33

3

-0,185

4

-0,095

5

-0,041

6

-0,0142

7

-0,0037


Коэффициенты "бабочки"
и
вычисляются по формулам
,
.

Приложение В

(обязательное)


Процесс кодирования

В.1 Кодер


В.1.1 Краткий обзор


В данном приложении для каждого слоя приводится пример кодера с соответствующими блок-схемами. В кратком введении дается общая идея кодирования.


В.1.1.1 Введение


Алгоритм, приведенный в данном стандарте, является психоакустическим алгоритмом. На рисунке В.1 показаны основные блоки психоакустического алгоритма.



Рисунок В.1 - Блок-схема кодера

Четыре основные части психоакустического кодера описаны ниже.

В.1.1.1.1 Набор фильтров

Набор фильтров реализует частотно-временное преобразование. В алгоритме ISO/IEC 1117203 (MPEG Audio) используются два разных набора фильтров: полифазный набор и гибридный полифазный/МДКП набор. Каждый набор реализует определенное частотно-временное преобразование. Для данных наборов фильтров количество отсчетов в частотной области равно количеству отсчетов во временной области. Наборы фильтров обеспечивают основное частотное разделение в кодере и реконструкцию сигнала в декодере. Отсчеты на выходе наборов фильтров подлежат квантованию.

В.1.1.1.2 Психоакустическая модель

В блоке психоакустической модели вычисляется минимально заметный уровень шумов в каждой полосе набора фильтров. Этот уровень шумов используется при распределении битов или шума при определении фактических квантователей и уровней квантования. Есть две психоакустические модели, приведенные в приложении Г. Вто время как обе они могут использоваться с любым уровнем ISO/IEC 1117203 (MPEG Audio), на практике Модель 1 используется для Уровней I и II, а Модель 2 - для Уровня III. В обеих психоакустических моделях выходом является отношение сигнал-маска (SMR) для каждой полосы (Уровни I и II) или группы полос (Уровень III).

В.1.1.1.3 Распределение битов или шумов

Блок распределения анализирует выходные отсчеты набора фильтров и SMR психоакустической модели и распределяет биты (Уровни I и II) или шумы (Уровень III), чтобы одновременно удовлетворить и требование по скорости передачи и требования маскирования. На низких скоростях передачи эти методы нацелены на то, чтобы потратить биты на минимизацию искажений при невозможности удовлетворить психоакустические требования.

В.1.1.1.4 Блок форматирования потока битов

В блоке форматирования потока битов квантованные отсчеты набора фильтров вместе с данными о распределении битов (Уровни I и II) или шумов (Уровень III) и другой служебной информацией кодируются и форматируются определенным образом. В случае Уровня III дополнительно используется код Хаффмана.


В.1.1.2 Набор фильтров


На Уровнях I и II используется набор фильтров с 32 субполосами. В каждой субполосе 12 или 36 отсчетов группируются для обработки. На Уровне III набор фильтров обладает сигнально-зависимой разрешающей способностью с 6
32 или 18
32 частотными линиями. Если есть 6
32 частотных полосы, группа из трех последовательных значений каждой частоты квантуется отдельно.

В.1.1.3 Метод распределения битов или шумов


В этом приложении описываются два различных способа управления скоростью передачи. На Уровнях I и II используется распределение битов, то есть определенное количество битов отводится каждому отсчету (или группе отсчетов) в каждой субполосе. На Уровне III используется распределение шумов, при котором квантователи изменяются по определенному закону, и управляемым параметром фактически является внесенный шум. В обоих случаях результатом являются набор параметров квантования и квантованные выходные отсчеты, которые подаются на блок формирования потока битов.


В.1.1.4 Формирование потока битов


Блок формирования потока битов зависит от выбранного уровня. На Уровнях I и II для каждого субполосного отсчета используется фиксированная ИКМ, за исключением возможности группировки квантуемых отсчетов на Уровне II. На Уровне III используется код Хаффмана с переменной длиной кодового слова для более эффективного кодирования за счет дополнительной сложности.


В.1.2 Входной фильтр верхних частот


Алгоритмы кодирования обеспечивают частотную характеристику вплоть до постоянной составляющей. Однако, если это не является обязательным требованием, рекомендуется включение фильтра верхних частот на входе кодера. Частота среза должна быть в диапазоне 2-10 Гц.

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


В.1.3 Субполосный фильтр анализа


Субполосный фильтр анализа используется для разделения широкополосного сигнала с частотой дискретизации
на 32 одинаковых по ширине полосы с частотами дискретизации
/32. Блок-схема этого процесса с соответствующими формулами дана на рисунке В.4. Субполосная фильтрация включает в себя следующие шаги:

- ввод новых 32 звуковых отсчетов;

- создание вектора входных отсчетов X из 512 элементов, сдвиг на 32 отсчета, при этом новые отсчеты оказываются на позициях 0-31;


- вектор
поэлементно умножается на оконную функцию
. Коэффициенты оконной функции даны в таблице В.1;
- вычисляются 64 значения
согласно формуле, данной в блок-схеме на рис.В4;
- вычисляются 32 субполосных отсчета
путем матрицирования;

- коэффициенты матрицы могут быть вычислены по следующей формуле:


,
0...31 и
0...63.
Таблица В.1 - Коэффициенты
[0] = 0,000000000
[1] = -0,000000477
[2] = -0,000000477
[3] = -0,000000477
[4] = -0,000000477
[5] = -0,000000477
[6] = -0,000000477
[7] = -0,000000954
[8] = -0,000000954
[9] = -0,000000954
[10] = -0,000000954
[11] = -0,000001431
[12] = -0,000001431
[13] = -0,000001907
[14] = -0,000001907
[15] = -0,000002384
[16] = -0,000002384
[17] = -0,000002861
[18] = -0,000003338
[19] = -0,000003338
[20] = -0,000003815
[21] = -0,000004292
[22] = -0,000004768
[23] = -0,000005245
[24] = -0,000006199
[25] = -0,000006676
[26] = -0,000007629
[27] = -0,000008106
[28] = -0,000009060
[29] = -0,000010014
[30] = -0,000011444
[31] = -0,000012398
[32] = -0,000013828
[33] = -0,000014782
[34] = -0,000016689
[35] = -0,000018120
[36] = -0,000019550
[37] = -0,000021458
[38] = -0,000023365
[39] = -0,000025272
[40] = -0,000027657
[41] = -0,000030041
[42] = -0,000032425
[43] = -0,000034809
[44] = -0,000037670
[45] = -0,000040531
[46] = -0,000043392
[47] = -0,000046253
[48] = -0,000049591
[49] = -0,000052929
[50] = -0,000055790
[51] = -0,000059605
[52] = -0,000062943
[53] = -0,000066280
[54] = -0,000070095
[55] = -0,000073433
[56] = -0,000076771
[57] = -0,000080585
[58] = -0,000083923
[59] = -0,000087261
[60] = -0,000090599
[61] = -0,000093460
[62] = -0,000096321
[63] = -0,000099182
[64] = 0,000101566
[65] = 0,000103951
[66] = 0,000105858
[67] = 0,000107288
[68] = 0,000108242
[69] = 0,000108719
[70] = 0,000108719
[71] = 0,000108242
[72] = 0,000106812
[73] = 0,000105381
[74] = 0,000102520
[75] = 0,000099182
[76] = 0,000095367
[77] = 0,000090122
[78] = 0,000084400
[79] = 0,000077724
[80] = 0,000069618
[81] = 0,000060558
[82] = 0,000050545
[83] = 0,000039577
[84] = 0,000027180
[85] = 0,000013828
[86] = -0,000000954
[87] = -0,000017166
[88] = -0,000034332
[89] = -0,000052929
[90] = -0,000072956
[91] = -0,000093937
[92] = -0,000116348
[93] = -0,000140190
[94] = -0,000165462
[95] = -0,000191212
[96] = -0,000218868
[97] = -0,000247478
[98] = -0,000277042
[99] = -0,000307560
[100] = -0,000339031
[101] = -0,000371456
[102] = -0,000404358
[103] = -0,000438213
[104] = -0,000472546
[105] = -0,000507355
[106] = -0,000542164
[107] = -0,000576973
[108] = -0,000611782
[109] = -0,000646591
[110] = -0,000680923
[111] = -0,000714302
[112] = -0,000747204
[113] = -0,000779152
[114] = -0,000809669
[115] = -0,000838757
[116] = -0,000866413
[117] = -0,000891685
[118] = -0,000915051
[119] = -0,000935555
[120] = -0,000954151
[121] = -0,000968933
[122] = -0,000980854
[123] = -0,000989437
[124] = -0,000994205
[125] = -0,000995159
[126] = -0,000991821
[127] = -0,000983715
[128] = 0,000971317
[129] = 0,000953674
[130] = 0,000930786
[131] = 0,000902653
[132] = 0,000868797
[133] = 0,000829220
[134] = 0,000783920
[135] = 0,000731945
[136] = 0,000674248
[137] = 0,000610352
[138] = 0,000539303
[139] = 0,000462532
[140] = 0,000378609
[141] = 0,000288486
[142] = 0,000191689
[143] = 0,000088215
[144] = -0,000021458
[145] = -0,000137329
[146] = -0,000259876
[147] = -0,000388145
[148] = -0,000522137
[149] = -0,000661850
[150] = -0,000806808
[151] = -0,000956535
[152] = -0,001111031
[153] = -0,001269817
[154] = -0,001432419
[155] = -0,001597881
[156] = -0,001766682
[157] = -0,001937389
[158] = -0,002110004
[159] = -0,002283096
[160] = -0,002457142
[161] = -0,002630711
[162] = -0,002803326
[163] = -0,002974033
[164] = -0,003141880
[165] = -0,003306866
[166] = -0,003467083
[167] = -0,003622532
[168] = -0,003771782
[169] = -0,003914356
[170] = -0,004048824
[171] = -0,004174709
[172] = -0,004290581
[173] = -0,004395962
[174] = -0,004489899
[175] = -0,004570484
[176] = -0,004638195
[177] = -0,004691124
[178] = -0,004728317
[179] = -0,004748821
[180] = -0,004752159
[181] = -0,004737377
[182] = -0,004703045
[183] = -0,004649162
[184] = -0,004573822
[185] = -0,004477024
[186] = -0,004357815
[187] = -0,004215240
[188] = -0,004049301
[189] = -0,003858566
[190] = -0,003643036
[191] = -0,003401756
[192] = 0,003134727
[193] = 0,002841473
[194] = 0,002521515
[195] = 0,002174854
[196] = 0,001800537
[197] = 0,001399517
[198] = 0,000971317
[199] = 0,000515938
[200] = 0,000033379
[201] = -0,000475883
[202] = -0,001011848
[203] = -0,001573563
[204] = -0,002161503
[205] = -0,002774239
[206] = -0,003411293
[207] = -0,004072189
[208] = -0,004756451
[209] = -0,005462170
[210] = -0,006189346
[211] = -0,006937027
[212] = -0,007703304
[213] = -0,008487225
[214] = -0,009287834
[215] = -0,010103703
[216] = -0,010933399
[217] = -0,011775017
[218] = -0,012627602
[219] = -0,013489246
[220] = -0,014358521
[221] = -0,015233517
[222] = -0,016112804
[223] = -0,016994476
[224] = -0,017876148
[225] = -0,018756866
[226] = -0,019634247
[227] = -0,020506859
[228] = -0,021372318
[229] = -0,022228718
[230] = -0,023074150
[231] = -0,023907185
[232] = -0,024725437
[233] = -0,025527000
[234] = -0,026310921
[235] = -0,027073860
[236] = -0,027815342
[237] = -0,028532982
[238] = -0,029224873
[239] = -0,029890060
[240] = -0,030526638
[241] = -0,031132698
[242] = -0,031706810
[243] = -0,032248020
[244] = -0,032754898
[245] = -0,033225536
[246] = -0,033659935
[247] = -0,034055710
[248] = -0,034412861
[249] = -0,034730434
[250] = -0,035007000
[251] = -0,035242081
[252] = -0,035435200
[253] = -0,035586357
[254] = -0,035694122
[255] = -0,035758972
[256] = 0,035780907
[257] = 0,035758972
[258] = 0,035694122
[259] = 0,035586357
[260] = 0,035435200
[261] = 0,035242081
[262] = 0,035007000
[263] = 0,034730434
[264] = 0,034412861
[265] = 0,034055710
[266] = 0,033659935
[267] = 0,033225536
[268] = 0,032754898
[269] = 0,032248020
[270] = 0,031706810
[271] = 0,031132698
[272] = 0,030526638
[273] = 0,029890060
[274] = 0,029224873
[275] = 0,028532982
[276] = 0,027815342
[277] = 0,027073860
[278] = 0,026310921
[279] = 0,025527000
[280] = 0,024725437
[281] = 0,023907185
[282] = 0,023074150
[283] = 0,022228718
[284] = 0,021372318
[285] = 0,020506859
[286] = 0,019634247
[287] = 0,018756866
[288] = 0,017876148
[289] = 0,016994476
[290] = 0,016112804
[291] = 0,015233517
[292] = 0,014358521
[293] = 0,013489246
[294] = 0,012627602
[295] = 0,011775017
[296] = 0,010933399
[297] = 0,010103703
[298] = 0,009287834
[299] = 0,008487225
[300] = 0,007703304
[301] = 0,006937027
[302] = 0,006189346
[303] = 0,005462170
[304] = 0,004756451
[305] = 0,004072189
[306] = 0,003411293
[307] = 0,002774239
[308] = 0,002161503
[309] = 0,001573563
[310] = 0,001011848
[311] = 0,000475883
[312] = -0,000033379
[313] = -0,000515938
[314] = -0,000971317
[315] = -0,001399517
[316] = -0,001800537
[317] = -0,002174854
[318] = -0,002521515
[319] = -0,002841473
[320] = 0,003134727
[321] = 0,003401756
[322] = 0,003643036
[323] = 0,003858566
[324] = 0,004049301
[325] = 0,004215240
[326] = 0,004357815
[327] = 0,004477024
[328] = 0,004573822
[329] = 0,004649162
[330] = 0,004703045
[331] = 0,004737377
[332] = 0,004752159
[333] = 0,004748821
[334] = 0,004728317
[335] = 0,004691124
[336] = 0,004638195
[337] = 0,004570484
[338] = 0,004489899
[339] = 0,004395962
[340] = 0,004290581
[341] = 0,004174709
[342] = 0,004048824
[343] = 0,003914356
[344] = 0,003771782
[345] = 0,003622532
[346] = 0,003467083
[347] = 0,003306866
[348] = 0,003141880
[349] = 0,002974033
[350] = 0,002803326
[351] = 0,002630711
[352] = 0,002457142
[353] = 0,002283096
[354] = 0,002110004
[355] = 0,001937389
[356] = 0,001766682
[357] = 0,001597881
[358] = 0,001432419
[359] = 0,001269817
[360] = 0,001111031
[361] = 0,000956535
[362] = 0,000806808
[363] = 0,000661850
[364] = 0,000522137
[365] = 0,000388145
[366] = 0,000259876
[367] = 0,000137329
[368] = 0,000021458
[369] = -0,000088215
[370] = -0,000191689
[371] = -0,000288486
[372] = -0,000378609
[373] = -0,000462532
[374] = -0,000539303
[375] = -0,000610352
[376] = -0,000674248
[377] = -0,000731945
[378] = -0,000783920
[379] = -0,000829220
[380] = -0,000868797
[381] = -0,000902653
[382] = -0,000930786
[383] = -0,000953674
[384] = 0,000971317
[385] = 0,000983715
[386] = 0,000991821
[387] = 0,000995159
[388] = 0,000994205
[389] = 0,000989437
[390] = 0,000980854
[391] = 0,000968933
[392] = 0,000954151
[393] = 0,000935555
[394] = 0,000915051
[395] = 0,000891685
[396] = 0,000866413
[397] = 0,000838757
[398] = 0,000809669
[399] = 0,000779152
[400] = 0,000747204
[401] = 0,000714302
[402] = 0,000680923
[403] = 0,000646591
[404] = 0,000611782
[405] = 0,000576973
[406] = 0,000542164
[407] = 0,000507355
[408] = 0,000472546
[409] = 0,000438213
[410] = 0,000404358
[411] = 0,000371456
[412] = 0,000339031
[413] = 0,000307560
[414] = 0,000277042
[415] = 0,000247478
[416] = 0,000218868
[417] = 0,000191212
[418] = 0,000165462
[419] = 0,000140190
[420] = 0,000116348
[421] = 0,000093937
[422] = 0,000072956
[423] = 0,000052929
[424] = 0,000034332
[425] = 0,000017166
[426] = 0,000000954
[427] = -0,000013828
[428] = -0,000027180
[429] = -0,000039577
[430] = -0,000050545
[431] = -0,000060558
[432] = -0,000069618
[433] = -0,000077724
[434] = -0,000084400
[435] = -0,000090122
[436] = -0,000095367
[437] = -0,000099182
[438] = -0,000102520
[439] = -0,000105381
[440] = -0,000106812
[441] = -0,000108242
[442] = -0,000108719
[443] = -0,000108719
[444] = -0,000108242
[445] = -0,000107288
[446] = -0,000105858
[447] = -0,000103951
[448] = 0,000101566
[449] = 0,000099182
[450] = 0,000096321
[451] = 0,000093460
[452] = 0,000090599
[453] = 0,000087261
[454] = 0,000083923
[455] = 0,000080585
[456] = 0,000076771
[457] = 0,000073433
[458] = 0,000070095
[459] = 0,000066280
[460] = 0,000062943
[461] = 0,000059605
[462] = 0,000055790
[463] = 0,000052929
[464] = 0,000049591
[465] = 0,000046253
[466] = 0,000043392
[467] = 0,000040531
[468] = 0,000037670
[469] = 0,000034809
[470] = 0,000032425
[471] = 0,000030041
[472] = 0,000027657
[473] = 0,000025272
[474] = 0,000023365
[475] = 0,000021458
[476] = 0,000019550
[477] = 0,000018120
[478] = 0,000016689
[479] = 0,000014782
[480] = 0,000013828
[481] = 0,000012398
[482] = 0,000011444
[483] = 0,000010014
[484] = 0,000009060
[485] = 0,000008106
[486] = 0,000007629
[487] = 0,000006676
[488] = 0,000006199
[489] = 0,000005245
[490] = 0,000004768
[491] = 0,000004292
[492] = 0,000003815
[493] = 0,000003338
[494] = 0,000003338
[495] = 0,000002861
[496] = 0,000002384
[497] = 0,000002384
[498] = 0,000001907
[499] = 0,000001907
[500] = 0,000001431
[501] = 0,000001431
[502] = 0,000000954
[503] = 0,000000954
[504] = 0,000000954
[505] = 0,000000954
[506] = 0,000000477
[507] = 0,000000477
[508] = 0,000000477
[509] = 0,000000477
[510] = 0,000000477
[511] = 0,000000477

В.1.4 Психоакустические модели


Два примера психоакустических моделей даны в приложении Г


В.1.5 Кодирование


В.1.5.1 Кодирование на Уровне I


В.1.5.1.1 Введение

В этом пункте описывается возможный метод кодирования на Уровне I. Описание дается со ссылкой на рисунок В.5.

В.1.5.1.2 Психоакустическая модель

Психоакустические параметры могут быть рассчитаны либо с психоакустической моделью 1, описанной в пункте Г.1, либо с психоакустической моделью 2, описанной в пункте Г.2. Сдвиг блока БПФ равняется 384 отсчетам. Любая модель позволяет определить отношение сигнал-маска в каждой субполосе.

В.1.5.1.3 Субполосная фильтрация

Субполосная фильтрация описывается в пункте В.1.3.

В.1.5.1.4 Расчет масштабных коэффициентов

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

В.1.5.1.5 Кодирование масштабных коэффициентов

Номер в таблице Б.1 кодируется 6 битами, MSB сначала. Масштабный коэффициент передается, только если на субполосу было выделено ненулевое число битов.

В.1.5.1.6 Распределение битов

Перед подстройкой фиксированной скорости передачи должно быть определено число битов, доступных для кодирования отсчетов и масштабных коэффициентов. Это число может быть получено путем вычитания из общего количества битов cb количества битов заголовка bhdr (32 бита), битов CRC bcrc, если оно используется (16 бит), информации о распределении бит bbal, и количества битов, требуемых для передачи дополнительных данных banc:


adb = cb-(bhdr + bcrc + bbal + banc).

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

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

Сначала вычисляется отношение маска-шум MNR для каждой субполосы, путем вычитания из отношения сигнал-шум SNR отношения сигнал-маска SMR:


MNR = SNR - SMR.

Отношение сигнал-шум может быть найдено из таблицы В.2. Отношение сигнал-маска является выходом психоакустической модели.

Далее на каждую субполосу и масштабный коэффициент выделяется ноль битов. Число битов для кодирования отсчетов bspl и число битов для кодирования масштабных коэффициентов bscf обнуляются. Затем запускается итеративная процедура, каждый цикл которой содержит следующие шаги:

- среди всех субполос определяется субполоса с минимальным MNR;

- точность квантования субполосы с минимальным MNR повышается путем увеличения отведенного числа битов на следующее большее значение;

- определяется новое значение MNR в этой субполосе;

- обновляется значение bspl в соответствии с выделенным количеством битов. Если ненулевое число битов выделяется для субполосы впервые, то bscf должен быть увеличен на 6 битов;

- затем вычисляется adb по формуле:


adb = cb - (bhdr + bcrc + bbal + bscf + bspl + banc).

Итеративная процедура повторяетсядо тех пор пока adb не станет меньше любого возможного увеличения bspl и bscf в пределах одного цикла.

В.1.5.1.7 Квантование и кодирование субполосных отсчетов

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


- вычислить
;
- оставить
старших значащих битов;

- инвертировать старший бит.


А и В могут быть взяты из таблицы В.3.
соответствует количеству битов, необходимому для кодирования количества шагов. Инверсия старшего значащего бита (
MSB
) нужна во избежание получения запрещенной комбинации из всех единиц, используемой для синхронизации.

В.1.5.1.8 Кодирование информации о распределении битов

4-разрядные коды используются для информации о распределении битов.

В.1.5.1.9 Дополнительные данные

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

Наличие последовательности битов дополнительных данных, идентичных синхрослову, может препятствовать синхронизации. Эта проблема наиболее вероятна при использования свободного формата.

В.1.5.1.10 Форматирование


Кодированные субполосные данные передаются по фреймам. Число слотов во фрейме меняется в зависимости от частоты дискретизации (
FS
) и скорости передачи. Каждый фрейм содержит информацию о 384 отсчетах исходного входного сигнала, таким образом, частота следования фреймов составляет
/384.
, кГц

Размер кадра, мс

48

8

44,1

8,7074...

32

12


Фрейм может содержать аудиоданные одного или двух каналов.

Длина слота на Уровне I составляет 32 бита. Число слотов во фрейме может быть вычислено по формуле


.
Если результат не является целым числом, то он должен быть округлен. Для получения целого значения требуется пэддинг. Это означает, что число слотов может варьироваться между
и
.

Формат фрейма Уровня I дан на рисунке В.2.

Рисунок В.2 - Формат фрейма. Уровень I

Таблица В.2 - Отношения сигнал-шум. Уровень I


Уровень квантования

SNR, дБ

0

0,00

3

7,00

7

16,00

15

25,28

31

31,59

63

37,75

127

43,84

255

49,89

511

55,93

1023

61,96

2047

67,98

4095

74,01

8191

80,03

16383

86,05

32767

92,01


Таблица В.3 - Коэффициенты квантования. Уровень I


Уровень квантования

А

В

3

0,750000000

-0,250000000

7

0,875000000

-0,125000000

15

0,937500000

-0,062500000

31

0,968750000

-0,031250000

63

0,984375000

-0,015625000

127

0,992187500

-0,007812500

255

0,996093750

-0,003906250

511

0,998046875

-0,001953125

1023

0,999023438

-0,000976563

2047

0,999511719

-0,000488281

4095

0,999755859

-0,000244141

8191

0,999877930

-0,000122070

16383

0,999938965

-0,000061035

32767

0,999969482

-0,000030518


В.1.5.2 Кодирование на Уровне II


В.1.5.2.1 Введение

В этом пункте описывается возможный метод кодирования на Уровне II. Описание дается со ссылкой на рисунок В.5.

В.1.5.2.2 Психоакустическая модель

Психоакустические параметры могут быть рассчитаны либо с психоакустической моделью 1, описанной в пункте Г.1, либо с психоакустической моделью 2, описанной в пункте Г.2. Сдвиг блока БПФ равен 1152 отсчетам. При использовании психоакустической модели 2 расчет осуществляется дважды со сдвигом на 576 отсчетов и из двух результатов выбирается один с наибольшим отношением сигнал-маска. Любая модель позволяет определить отношение сигнал-маска в каждой субполосе.

В.1.5.2.3 Субполосная фильтрация

Субполосная фильтрация описывается в пункте В.1.3.

В.1.5.2.4 Расчет масштабных коэффициентов

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

В.1.5.2.5 Кодирование масштабных коэффициентов


Кадр соответствует 36 субполосным отсчетам и поэтому содержит три масштабных коэффициента на одну субполосу. Пусть
соответствует номеру в таблице Б.1. Определяются разности
и
между номерами соседних масштабных коэффициентов
,
и
:
,
.

Класс каждой разности определяется следующим образом:


Класс

1

-3

2

-3
0

3

0

4

0
3

5

3

Пара разностных классов указывает на соответствующее значение в таблице В.4 и дает три масштабных коэффициента, которые фактически используются. "1", "2" и "3" означают соответственно первый, второй и третий масштабный коэффициент в пределах кадра, "4" означает максимум из трех масштабных коэффициентов. Если после корректировки два или три масштабных коэффициента оказываются одинаковыми, то не требуется передача их всех для определенной субполосы в пределах одного фрейма. Информацию, описывающую количество и позицию масштабных коэффициентов в каждой субполосе, называют информацией о выборе масштабных коэффициентов.

В.1.5.2.6 Кодирование информации о выборе масштабного коэффициента

Информация о выборе масштабного коэффициента scalefactor selection information (scfsi) кодируется соответствующей комбинацией из двух битов, которая дается в таблице В.4. Значения scfsi передаются только для тех субполос, которые получат ненулевое количество битов.

В.1.5.2.7 Распределение битов

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

Это число может быть получено путем вычитания из общего количества битов cb количества битов заголовка bhdr (32 бита), битов CRC bcrc, если оно используется (16 битов), битов распределения bbal и количества битов, требуемых для передачи дополнительных данных banc:


adb = cb - (bhdr + bcrc + bbal + banc).

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

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

Сначала вычисляется отношение маска-шум MNR для каждой субполосы путем вычитания из отношения сигнал-шум SNR отношения сигнал-маска SMR:


MNR = SNR - SMR.

Отношение сигнал-шум может быть найдено из таблицы В.5. Отношение сигнал-маска является выходом психоакустической модели.

Далее на каждую субполосу и масштабный коэффициент выделяется ноль битов. Число битов для кодирования отсчетов bspl и число битов для кодирования масштабных коэффициентов bscf обнуляются. Затем запускается итеративная процедура, каждый цикл которой содержит следующие шаги:

- среди всех субполос определяется субполоса с минимальным MNR.

- точность квантования субполосы с минимальным MNR повышается путем выбора следующего большего значения в таблице Б.2;

- определяется новое значение MNR в этой субполосе.

- обновляется значение bspl в соответствии с выделенным количеством битов. Если ненулевое число битов выделяется для субполосы впервые, то bscf должен быть увеличен на 6 битов. Затем вычисляется adb по формуле:


adb = cb - (bhdr + bcrc + bbal + bscf + bspl + banc).

Итеративная процедура повторяется до тех пор, пока adb не станет меньше любого возможного увеличения bspl и bscf в пределах одного цикла.

В.1.5.2.8 Квантование и кодирование субполосных отсчетов


Каждый из 12 субполосных отсчетов подлежит нормализации путем деления на масштабный коэффициент для получения значения
и затем квантуется по следующему правилу:
- вычислить
;
- оставить
старших значащих битов;

- инвертировать старший бит.


и
могут быть взяты из таблицы В.6.
соответствует количеству битов, необходимому для кодирования количества шагов. Инверсия старшего значащего бита (
MSB
) нужна во избежание получения запрещенной комбинации из всех единиц, используемой для синхронизации.

Для заданного числа шагов квантования в таблице Б.4 указывается, будет ли использоваться группировка. Если группировка не требуется, три субполосных отсчета кодируются отдельными кодовыми комбинациями.


Если группировка требуется, три последовательных субполосных отсчета кодируются одной кодовой комбинацией. В этом случае для данной тройки передается только одно значение
(
MSB
сначала). Соотношение между кодированным значением
(
3, 5, 9) и тремя последовательными субполосными отсчетами
,
,
(
0…26);
(
0…124);
(
0…728).

В.1.5.2.9 Кодирование информации о распределении битов

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

В.1.5.2.10 Дополнительные данные

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

Наличие последовательности битов дополнительных данных, идентичных синхрослову, может препятствовать синхронизации. Эта проблема наиболее вероятна при использовании свободного формата.

В.1.5.2.11 Форматирование

Формат фрейма Уровня II дан на рисунке В.3.

Рисунок В.3 - Формат фрейма. Уровень II

Различия по сравнению с Уровнем I:

- длина слота равняется 8 битам;

- используется новый блок scfsi, содержащий информацию о выборе масштабных коэффициентов;

- информация о распределении бит, масштабные коэффициенты и отсчеты подвергаются дальнейшему кодированию.

Таблица В.4 - Последовательности масштабных коэффициентов. Уровень II


Класс 1

Класс 2

Масштабные коэффициенты, используемые в кодере

Последовательность

Информация о выборе

1

1 2 3

1 2 3

0

2

1 2 2

1 2

3

3

1 2 2

1 2

3

4

1 3 3

1 3

3

5

1 2 3

1 2 3

0

2

1

1 1 3

1 3

1

2

2

1 1 1

1

2

2

3

1 1 1

1

2

2

4

4 4 4

4

2

2

5

1 1 3

1 3

1

3

1

1 1 1

1

2

3

2

1 1 1

1

2

3

3

1 1 1

1

2

3

4

3 3 3

3

2

3

5

1 1 3

1 3

1

4

1

2 2 2

2

2

4

2

2 2 2

2

2

4

3

2 2 2

2

2

4

4

3 3 3

3

2

4

5

1 2 3

1 2 3

0

5

1

1 2 3

1 2 3

0

5

2

1 2 2

1 2

3

5

3

1 2 2

1 2

3

5

4

1 3 3

1 3

3

5

5

1 2 3

1 2 3

0


Таблица В.5 - Отношения сигнал-шум. Уровень II


Количество уровней квантования

SNR, дБ

0

0,00

3

7,00

5

11,00

7

16,00

9

20,84

15

25,28

31

31,59

63

37,75

127

43,84

255

49,89

511

55,93

1023

61,96

2047

67,98

4095

74,01

8191

80,03

16383

86,05

32767

92,01

65535

98,01


Таблица В.6 - Коэффициенты квантования. Уровень II


Количество уровней квантования

A

B

3

0,750000000

-0,250000000

5

0,625000000

-0,375000000

7

0,875000000

-0,125000000

9

0,562500000

-0,437500000

15

0,937500000

-0,062500000

31

0,968750000

-0,031250000

63

0,984375000

-0,015625000

127

0,992187500

-0,007812500

255

0,996093750

-0,003906250

511

0,998046875

-0,001953125

1023

0,999023438

-0,000976563

2047

0,999511719

-0,000488281

4095

0,999755859

-0,000244141

8191

0,999877930

-0,000122070

16383

0,999938965

-0,000061035

32767

0,999969482

-0,000030518

65535

0,999984741

-0,000015259


Рисунок В.4 - Блок-схема алгоритма субполосной фильтрации

Рисунок В.5 - Блок-схема алгоритма кодера. Уровни I и II

В.1.5.3 Кодирование на Уровне III


В.1.5.3.1 Введение

В этом пункте описывается возможный метод кодирования на Уровне III. Основной алгоритм соответствует общей блок-схеме психоакустического кодера. Основные блоки описываются более подробно ниже.

В.1.5.3.2 Психоакустическая модель

Расчет психоакустических параметров может быть сделан либо с использованием психоакустической модели 1, описанной в таблице Г.1, либо с использованием психоакустической модели 2, описанной в Г.2. Психоакустический расчет выполняется дважды на блок, со сдвигом в 576 отсчетов. Отношение сигнал-маска рассчитывается для каждой полосы масштабных коэффициентов. Описание модификаций в психоакустической модели 2 для использования с Уровнем III дается ниже.

Модель вычисляется дважды, параллельно. Один расчет выполняется со сдвигом iblen 192 отсчетов (для использования с короткими блоками), другой - со сдвигом в 576 отсчета. Для сдвига в 192 отсчета размер блока БПФ изменяется на 256 с соответствующим изменением всех параметров.

1. Изменения при вычислении неопределенности:

Изменено вычисление энтропийного расстояния в психоакустической модели 2.

2. Расчет энтропии:


Энтропия
вычисляется для первых 206 линий спектра, для других линий спектра энтропия устанавливается равной 0,4.

Энтропия для первых 6 линий вычисляется из длинного БПФ (длина окна = 1024, shiftlen = 576). Для линий спектра с 6 до 205 энтропия вычисляется из короткого БПФ (длина окна = 256, shiftlen = 192):


где
- энтропия, вычисленная из длинного БПФ;
- неопределенность, вычисленная из короткого БПФ второго из трех коротких блоков в пределах одной гранулы.

3. Заменена функции маскировки:


if j
i tmpy
= 3,0(
j - i
)

else tmpy = 1, 5(j - i)


Используются значения функции маскировки, превышающие 10
. Все другие значения обнуляются.

4. Параметры, используемые для преобразования энтропии.

conv1 = -0,299

соnv2 = -0,43

5. Параметр NMT (тон, маскирующий шум) устанавливается равным 6,0 дБ для всех участков, используемых при расчете порога. Параметр TMN (шум, маскирующий тон) устанавливается равным 29,0 дБ для всех участков, используемых при расчете порога. Значения minval даны в таблицах В.7.


6. Психоакустическая энтропия
ре
оценивается на основе отношения
, где
- порог маскирования,
- энергия:
,
где
- ширина порогового участка (см. таблицы В7);
- номер раздела.

7. Контроль пре-эха

Следующие константы используются для контроля пре-эха:

rpelev = 2

rpelev2 = 16

8. Порог не распространяется по линиям БПФ. Пороговые разделы преобразуются непосредственно в полосы масштабных коэффициентов. Первый раздел, который добавляется к полосе масштабных коэффициентов, взвешивается в окне w1, последний - в окне w2 (см. таблицы В.8). Таблица содержит также число разделов (cbw), преобразуемых в одну полосу масштабных коэффициентов (исключая первый и последний разделы).

Параметры bo и Ш даны в таблицах В.8. Они используются для преобразования пороговых разделов в полосы масштабных коэффициентов.

9. Для коротких блоков используется упрощенная версия вычисления порога (с постоянным отношением сигнал-шум). Константы SNR даны в таблицах В.7.

Таблицы В.7 - Разделы вычисления порога маскирования

Таблица В.7а - Частота дискретизации 48 кГц, длинные блоки


Номер

БПФ-линии

minval

qthr

norm

bval

0

1

24,5

4,532

0,970

0,000

1

1

24,5

4,532

0,755

0,469

2

1

24,5

4,532

0,738

0,937

3

1

24,5

0,904

0,730

1,406

4

1

24,5

0,904

0,724

1,875

5

1

20

0,090

0,723

2,344

6

1

20

0,090

0,723

2,812

7

1

20

0,029

0,723

3,281

8

1

20

0,029

0,718

3,750

9

1

20

0,009

0,690

4,199

10

1

20

0,009

0,660

4,625

11

1

18

0,009

0,641

5,047

12

1

18

0,009

0,600

5,437

13

1

18

0,009

0,584

5,828

14

1

12

0,009

0,531

6,187

15

1

12

0,009

0,537

6,522

16

2

6

0,018

0,857

7,174

17

2

6

0,018

0,858

7,800

18

2

3

0,018

0,853

8,402

19

2

3

0,018

0,824

8,966

20

2

3

0,018

0,778

9,483

21

2

3

0,018

0,740

9,966

22

2

0

0,018

0,709

10,426

23

2

0

0,018

0,676

10,866

24

2

0

0,018

0,632

11,279

25

2

0

0,018

0,592

11,669

26

2

0

0,018

0,553

12,042

27

2

0

0,018

0,510

12,386

28

2

0

0,018

0,513

12,721

29

3

0

0,027

0,608

13,115

30

3

0

0,027

0,673

13,561

31

3

0

0,027

0,636

13,983

32

3

0

0,027

0,586

14,371

33

3

0

0,027

0,571

14,741

34

4

0

0,036

0,616

15,140

35

4

0

0,036

0,640

15,562

36

4

0

0,036

0,597

15,962

37

4

0

0,036

0,538

16,324

38

4

0

0,036

0,512

16,665

39

5

0

0,045

0,528

17,020

40

5

0

0,045

0,516

17,373

41

5

0

0,045

0,493

17,708

42

6

0

0,054

0,499

18,045

43

7

0

0,063

0,525

18,398

44

7

0

0,063

0,541

18,762

45

8

0

0,072

0,528

19,120

46

8

0

0,072

0,510

19,466

47

8

0

0,072

0,506

19,807

48

10

0

0,180

0,525

20,159

49

10

0

0,180

0,536

20,522

50

10

0

0,180

0,518

20,873

51

13

0

0,372

0,501

21,214

52

13

0

0,372

0,496

21,553

53

14

0

0,400

0,497

21,892

54

18

0

1,628

0,495

22,231

55

18

0

1,628

0,494

22,569

56

20

0

1,808

0,497

22,909

57

25

0

22,607

0,494

23,248

58

25

0

22,607

0,487

23,583

59

35

0

31,650

0,483

23,915

60

67

0

605,867

0,482

24,246

61

67

0

605,867

0,524

24,576


Таблица В.7б - Частота дискретизации 44,1 кГц, длинные блоки


Номер

БПФ-линии

minval

qthr

norm

bval

0

1

24,5

4,532

0,951

0,000

1

1

24,5

4,532

0,700

0,431

2

1

24,5

4,532

0,681

0,861

3

1

24,5

0,904

0,675

1,292

4

1

24,5

0,904

0,667

1,723

5

1

20

0,090

0,665

2,153

6

1

20

0,090

0,664

2,584

7

1

20

0,029

0,664

3,015

8

1

20

0,029

0,664

3,445

9

1

20

0,029

0,655

3,876

10

1

20

0,009

0,616

4,279

11

1

20

0,009

0,597

4,670

12

1

18

0,009

0,578

5,057

13

1

18

0,009

0,541

5,415

14

1

18

0,009

0,575

5,774

15

2

12

0,018

0,856

6,422

16

2

6

0,018

0,846

7,026

17

2

6

0,018

0,840

7,609

18

2

3

0,018

0,822

8,168

19

2

3

0,018

0,800

8,710

20

2

3

0,018

0,753

9,207

21

2

3

0,018

0,704

9,662

22

2

0

0,018

0,674

10,099

23

2

0

0,018

0,640

10,515

24

2

0

0,018

0,609

10,917

25

2

0

0,018

0,566

11,293

26

2

0

0,018

0,535

11,652

27

2

0

0,018

0,531

11,997

28

3

0

0,027

0,615

12,394

29

3

0

0,027

0,686

12,850

30

3

0

0,027

0,650

13,277

31

3

0

0,027

0,611

13,681

32

3

0

0,027

0,567

14,062

33

3

0

0,027

0,520

14,411

34

3

0

0,027

0,513

14,751

35

4

0

0,036

0,557

15,119

36

4

0

0,036

0,584

15,508

37

4

0

0,036

0,570

15,883

38

5

0

0,045

0,579

16,263

39

5

0

0,045

0,585

16,654

40

5

0

0,045

0,548

17,020

41

6

0

0,054

0,536

17,374

42

6

0

0,054

0,550

17,744

43

7

0

0,063

0,532

18,104

44

7

0

0,063

0,504

18,447

45

7

0

0,063

0,496

18,781

46

9

0

0,081

0,516

19,130

47

9

0

0,081

0,527

19,487

48

9

0

0,081

0,516

19,838

49

10

0

0,180

0,497

20,179

50

10

0

0,180

0,489

20,510

51

11

0

0,198

0,502

20,852

52

14

0

0,400

0,502

21,196

53

14

0

0,400

0,491

21,531

54

15

0

0,429

0,497

21,870

55

20

0

1,808

0,504

22,214

56

20

0

1,808

0,504

22,558

57

21

0

1,899

0,495

22,898

58

27

0

24,415

0,486

23,232

59

27

0

24,415

0,484

23,564

60

36

0

32,554

0,483

23,897

61

73

0

660,124

0,475

24,229

62

18

0

162,770

0,515

24,542


Таблица В.7в - Частота дискретизации 32 кГц, длинные блоки


Номер

БПФ-линии

minval

qthr

norm

bval

0

2

24,5

9,064

0,997

0,312

1

2

24,5

9,064

0,893

0,937

2

2

24,5

1,808

0,881

1,562

3

2

20

0,181

0,873

2,187

4

2

20

0,181

0,872

2,812

5

2

20

0,057

0,871

3,437

6

2

20

0,018

0,860

4,045

7

2

20

0,018

0,839

4,625

8

2

18

0,018

0,812

5,173

9

2

18

0,018

0,784

5,698

10

2

12

0,018

0,741

6,184

11

2

12

0,018

0,697

6,634

12

2

6

0,018

0,674

7,070

13

2

6

0,018

0,651

7,492

14

2

6

0,018

0,633

7,905

15

2

3

0,018

0,611

8,305

16

2

3

0,018

0,589

8,695

17

2

3

0,018

0,575

9,064

18

3

3

0,027

0,654

9,483

19

3

3

0,027

0,724

9,966

20

3

0

0,027

0,701

10,425

21

3

0

0,027

0,673

10,866

22

3

0

0,027

0,631

11,279

23

3

0

0,027

0,592

11,669

24

3

0

0,027

0,553

12,042

25

3

0

0,027

0,510

12,386

26

3

0

0,027

0,505

12,721

27

4

0

0,036

0,562

13,091

28

4

0

0,036

0,598

13,488

29

4

0

0,036

0,589

13,873

30

5

0

0,045

0,607

14,268

31

5

0

0,045

0,620

14,679

32

5

0

0,045

0,580

15,067

33

5

0

0,045

0,532

15,424

34

5

0

0,045

0,517

15,771

35

6

0

0,054

0,517

16,120

36

6

0

0,054

0,509

16,466

37

6

0

0,054

0,506

16,807

38

8

0

0,072

0,522

17,158

39

8

0

0,072

0,531

17,518

40

8

0

0,072

0,519

17,869

41

10

0

0,090

0,512

18,215

42

10

0

0,090

0,509

18,562

43

10

0

0,090

0,497

18,902

44

12

0

0,108

0,494

19,239

45

12

0

0,108

0,501

19,579

46

13

0

0,117

0,507

19,925

47

14

0

0,252

0,502

20,269

48

14

0

0,252

0,493

20,606

49

16

0

0,289

0,497

20,944

50

20

0

0,572

0,506

21,288

51

20

0

0,572

0,510

21,635

52

23

0

0,658

0,504

21,979

53

27

0

2,441

0,496

22,319

54

27

0

2,441

0,493

22,656

55

32

0

2,894

0,490

22,993

56

37

0

33,458

0,483

23,326

57

37

0

33,458

0,458

23,656

58

12

0

10,851

0,500

23,937


Таблица В.7г - Частота дискретизации 48 кГц, короткие блоки


Номер

БПФ-линии

qthr

norm

SNR, дБ

bval

0

1

4,532

0,970

-8,240

0,000

1

1

0,904

0,755

-8,240

1,875

2

1

0,029

0,738

-8,240

3,750

3

1

0,009

0,730

-8,240

5,437

4

1

0,009

0,724

-8,240

6,857

5

1

0,009

0,723

-8,240

8,109

6

1

0,009

0,723

-8,240

9,237

7

1

0,009

0,723

-8,240

10,202

8

1

0,009

0,718

-8,240

11,083

9

1

0,009

0,690

-8,240

11,864

10

1

0,009

0,660

-7,447

12,553

11

1

0,009

0,641

-7,447

13,195

12

1

0,009

0,600

-7,447

13,781

13

1

0,009

0,584

-7,447

14,309

14

1

0,009

0,532

-7,447

14,803

15

1

0,009

0,537

-7,447

15,250

16

1

0,009

0,857

-7,447

15,667

17

1

0,009

0,858

-7,447

16,068

18

1

0,009

0,853

-7,447

16,409

19

2

0,018

0,824

-7,447

17,044

20

2

0,018

0,778

-6,990

17,607

21

2

0,018

0,740

-6,990

18,097

22

2

0,018

0,709

-6,990

18,528

23

2

0,018

0,676

-6,990

18,930

24

2

0,018

0,632

-6,990

19,295

25

2

0,018

0,592

-6,990

19,636

26

3

0,054

0,553

-6,990

20,038

27

3

0,054

0,510

-6,990

20,486

28

3

0,054

0,513

-6,990

20,900

29

4

0,114

0,608

-6,990

21,305

30

4

0,114

0,673

-6,020

21,722

31

5

0,452

0,637

-6,020

22,128

32

5

0,452

0,586

-6,020

22,512

33

5

0,452

0,571

-6,020

22,877

34

7

6,330

0,616

-5,229

23,241

35

7

6,330

0,640

-5,229

23,616

36

11

9,947

0,597

-5,229

23,974

37

17

153,727

0,538

-5,229

24,312


Таблица В.7д - Частота дискретизации 44,1 кГц, короткие блоки


Номер

БПФ-линии

qthr

norm

SNR, дБ

bval

0

4,532

0,952

-8,240

0,000

1

0,904

0,700

-8,240

1,723

2

0,029

0,681

-8,240

3,445

3

0,009

0,675

-8,240

5,057

4

0,009

0,667

-8,240

6,422

5

0,009

0,665

-8,240

7,609

6

0,009

0,664

-8,240

8,710

7

0,009

0,664

-8,240

9,662

8

0,009

0,664

-8,240

10,515

9

0,009

0,655

-8,240

11,293

10

0,009

0,616

-7,447

12,009

И*

0,009

0,597

-7,447

12,625

12

0,009

0,578

-7,447

13,210

13

0,009

0,541

-7,447

13,748

14

0,009

0,575

-7,447

14,241

15

0,009

0,856

-7,447

14,695

16

0,009

0,846

-7,447

15,125

17

0,009

0,840

-7,447

15,508

18

0,009

0,822

-7,447

15,891

19

2

0,018

0,800

-7,447

16,537

20

2

0,018

0,753

-6,990

17,112

21

2

0,018

0,704

-6,990

17,620

22

2

0,018

0,674

-6,990

18,073

23

2

0,018

0,640

-6,990

18,470

24

2

0,018

0,609

-6,990

18,849

25

3

0,027

0,566

-6,990

19,271

26

3

0,027

0,535

-6,990

19,741

27

3

0,054

0,531

-6,990

20,177

28

3

0,054

0,615

-6,990

20,576

29

3

0,054

0,686

-6,990

20,950

30

4

0,114

0,650

-6,020

21,316

31

4

0,114

0,612

-6,020

21,699

32

5

0,452

0,567

-6,020

22,078

33

5

0,452

0,520

-6,020

22,438

34

5

0,452

0,513

-5,229

22,782

35

7

6,330

0,557

-5,229

23,133

36

7

6,330

0,584

-5,229

23,484

37

7

6,330

0,570

-5,229

23,828

38

19

171,813

0,578

-4,559

24,173


Таблица В.7е - Частота дискретизации 32 кГц, короткие блоки


Номер

БПФ-линии

qthr

norm

SNR, дБ

bval

0

4,532

0,997

-8,240

0,000

1

0,904

0,893

-8,240

1,250

2

0,090

0,881

-8,240

2,500

3

0,029

0,873

-8,240

3,750

4

0,009

0,872

-8,240

4,909

5

0,009

0,871

-8,240

5,958

6

0,009

0,860

-8,240

6,857

7

0,009

0,839

-8,240

7,700

8

0,009

0,812

-8,240

8,500

9

0,009

0,784

-8,240

9,237

10

0,009

0,741

-7,447

9,895

11

0,009

0,697

-7,447

10,500

12

0,009

0,674

-7,447

11,083

13

0,009

0,651

-7,447

11,604

14

0,009

0,633

-7,447

12,107

15

0,009

0,611

-7,447

12,554

16

0,009

0,589

-7,447

13,000

17

0,009

0,575

-7,447

13,391

18

0,009

0,654

-7,447

13,781

19

2

0,018

0,724

-7,447

14,474

20

2

0,018

0,701

-6,990

15,096

21

2

0,018

0,673

-6,990

15,667

22

2

0,018

0,631

-6,990

16,177

23

2

0,018

0,592

-6,990

16,636

24

2

0,018

0,553

-6,990

17,057

25

2

0,018

0,510

-6,990

17,429

26

2

0,018

0,506

-6,990

17,786

27

3

0,027

0,562

-6,990

18,177

28

3

0,027

0,598

-6,990

18,597

29

3

0,027

0,589

-6,990

18,994

30

3

0,027

0,607

-6,020

19,352

31

3

0,027

0,620

-6,020

19,693

32

4

0,072

0,580

-6,020

20,066

33

4

0,072

0,532

-6,020

20,461

34

4

0,072

0,517

-5,229

20,841

35

5

0,143

0,517

-5,229

21,201

36

5

0,143

0,509

-5,229

21,549

37

6

0,172

0,506

-5,229

21,911

38

7

0,633

0,522

-4,559

22,275

39

7

0,633

0,531

-4,559

22,625

40

8

0,723

0,519

-3,980

22,971

41

10

9,043

0,512

-3,980

23,321


Таблицы В.8 - Таблицы для преобразования пороговых разделов в полосы масштабных коэффициентов

Таблица В.8а - Частота дискретизации 48 кГц, длинные блоки


Номер sb

cbw

bu

bo

w1

w2

0

3

0

4

1,000

0,056

1

3

4

7

0,944

0,611

2

4

7

11

0,389

0,167

3

3

11

14

0,833

0,722

4

3

14

17

0,278

0,639

5

2

17

19

0,361

0,417

6

3

19

22

0,583

0,083

7

2

22

24

0,917

0,750

8

3

24

27

0,250

0,417

9

3

27

30

0,583

0,648

10

3

30

33

0,352

0,611

11

3

33

36

0,389

0,625

12

4

36

40

0,375

0,144

13

3

40

43

0,856

0,389

14

3

43

46

0,611

0,160

15

3

46

49

0,840

0,217

16

3

49

52

0,783

0,184

17

2

52

54

0,816

0,886

18

3

54

57

0,114

0,313

19

2

57

59

0,687

0,452

20

1

59

60

0,548

0,908


Таблица В.8б - Частота дискретизации 44,1 кГц, длинные блоки


Номер sb

cbw

bu

bo

w1

w2

0

3

0

4

1,000

0,056

1

3

4

7

0,944

0,611

2

4

7

11

0,389

0,167

3

3

11

14

0,833

0,722

4

3

14

17

0,278

0,139

5

1

17

18

0,861

0,917

6

3

18

21

0,083

0,583

7

3

21

24

0,417

0,250

8

3

24

27

0,750

0,805

9

3

27

30

0,194

0,574

10

3

30

33

0,426

0,537

11

3

33

36

0,463

0,819

12

4

36

40

0,180

0,100

13

3

40

43

0,900

0,468

14

3

43

46

0,532

0,623

15

3

46

49

0,376

0,450

16

3

49

52

0,550

0,552

17

3

52

55

0,448

0,403

18

2

55

57

0,597

0,643

19

2

57

59

0,357

0,722

20

2

59

61

0,278

0,960


Таблица В.8в - Частота дискретизации 32 кГц, длинные блоки


Номер sb

cbw

bu

bo

w1

w2

0

1

0

2

1,000

0,528

1

2

2

4

0,472

0,305

2

2

4

6

0,694

0,083

3

1

6

7

0,917

0,861

4

2

7

9

0,139

0,639

5

2

9

11

0,361

0,417

6

3

11

14

0,583

0,083

7

2

14

16

0,917

0,750

8

3

16

19

0,250

0,870

9

3

19

22

0,130

0,833

10

4

22

26

0,167

0,389

11

4

26

30

0,611

0,478

12

4

30

34

0,522

0,033

13

3

34

37

0,967

0,917

14

4

37

41

0,083

0,617

15

3

41

44

0,383

0,995

16

4

44

48

0,005

0,274

17

3

48

51

0,726

0,480

18

3

51

54

0,519

0,261

19

2

54

56

0,739

0,884

20

2

56

58

0,116

1 000


Таблица В.8г - Частота дискретизации 48 кГц, короткие блоки


Номер sb

cbw

bu

bo

w1

w2

0

2

0

3

1,000

0,167

1

2

3

5

0,833

0,833

2

3

5

8

0,167

0,500

3

3

8

11

0,500

0,167

4

4

11

15

0,833

0,167

5

4

15

19

0,833

0,583

6

3

19

22

0,417

0,917

7

4

22

26

0,083

0,944

8

4

26

30

0,055

0,042

9

2

30

32

0,958

0,567

10

3

32

35

0,433

0,167

11

2

35

37

0,833

0,618


Таблица В.8д - Частота дискретизации 44,1 кГц, короткие блоки


Номер sb

cbw

bu

bo

w1

w2

0

2

0

3

1,000

0,167

1

2

3

5

0,833

0,833

2

3

5

8

0,167

0,500

3

3

8

11

0,500

0,167

4

4

11

15

0,833

0,167

5

5

15

20

0,833

0,250

6

3

20

23

0,750

0,583

7

4

23

27

0,417

0,055

8

3

27

30

0,944

0,375

9

3

30

33

0,625

0,300

10

3

33

36

0,700

0,167

11

2

36

38

0,833

1,000


Таблица B.8e - Частота дискретизации 32 кГц, короткие блоки


Номер sb

cbw

bu

bo

w1

w2

0

2

0

3

1,000

0,167

1

2

3

5

0,833

0,833

2

3

5

8

0,167

0,500

3

3

8

11

0,500

0,167

4

4

11

15

0,833

0,167

5

5

15

20

0,833

0,250

6

4

20

24

0,750

0,250

7

5

24

29

0,750

0,055

8

4

29

33

0,944

0,375

9

4

33

37

0,625

0,472

10

3

37

40

0,528

0,937

11

1

40

41

0,062

1,000


Рисунок В.6а - Блок-схема психоакустической модели 2. Уровень III: вычисление порога маскирования

Рисунок В.6б - Блок-схема психоакустической модели 2. Уровень III: вычисление порога маскирования (часть 1)

Рисунок В.6в - Блок-схема психоакустической модели 2. Уровень III: вычисление порога маскирования (часть 2)

Рисунок В.6г - Блок-схема психоакустической модели 2. Уровень III: вычисление порога маскирования для коротких блоков

10. Решение о переключении окна

Решение о переключении набора фильтров на короткие окна принимается на основе порога маскирования, вычисленного из оценки психоакустической энтропии (ре). Переключение происходит, если ре превышает значение 1800. Если это условие выполняется, запускается последовательность из стартового (block_type=1), короткого (block_type=2), короткого и стопового (block_type=3) блоков. На рисунке В.7 показаны возможные состояния логики переключения окон.

Рисунок В.7 - Граф переключения окон

В.1.5.3.3 Гибридный набор фильтров анализа

Субполосная фильтрация с помощью полифазного набора фильтров описывается в пункте В.1.3. Данные с выхода субполосного фильтра поступают на блок МДКП. В зависимости от данных на выходе психоакустической модели (переменные blocksplit_flag и block_type) выбирается тип окна (нормальное, стартовое, короткое, стоповое) и тип преобразования.

18 последовательных выходных значений одной гранулы и 18 выходных значений предыдущей гранулы объединяются в один блок из 36 отсчетов.

Тип блока "нормальный"


для
0...35

Тип блока "стартовый"


Тип блока "стоповый"


Тип блока "короткий"

Блок из 36 отсчетов делится на три перекрывающихся блока:


,
0...11
,
0...11
,
0...11

Каждый из трех блоков отдельно умножается на окно:


0…11,
0…11,
0…2

МДКП:


В следующем выражении
- количество взвешиваемых в окне отсчетов. Для коротких блоков
12, для длинных блоков
36. Аналитическое выражение для МДКП:

Анти-элайзинговая "бабочка" в кодере:


Процедура устранения элайзинга в кодере аналогична той, которая выполняется в декодере. "Бабочка", которая используется в кодере, показана на рисунке В.8. Коэффициенты
и
приведены в таблице Б.9.

Рисунок В.8 - "Бабочка" в кодере

В.1.5.3.4 Расчет среднего количества доступных битов

Среднее количество битов на гранулу определяется длиной кадра. Скорость передачи 64 кбит/с используется для примера. При скорости передачи 64 кбит/с при 48000 отсчетах в секунду

(64000*(1152/48000) битов на кадр)/(2 гранулы на кадр) = 768 битов на гранулу.

Поскольку заголовок занимает 32 бита и служебная информация занимает 17 байтов (136 битов) в single_channel режиме, то среднее количество доступных битов для main_data для гранулы равно

mean_bits = 768 битов на гранулу - (32+136 битов на кадр)/(2 гранулы на кадр) = 684 бита на гранулу.

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

В.1.5.3.5 Квантование и кодирование коэффициентов преобразования

Коэффициенты преобразования квантуются и кодируются внутри двух вложенных итеративных циклов. Пункт В.1.5.4 содержит подробное описание этих итеративных циклов.

В.1.5.3.6 Дополнительные данные

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

Присутствие в дополнительных данных последовательности битов, совпадающих с синхропоследовательностью, может препятствовать синхронизации. Эта проблема наиболее вероятна при использовании свободного формата.

В.1.5.3.7 Форматирование

Форматирование кодовых слов Хаффмана описывается ниже.

Слова кода Хаффмана следуют друг за другом от нижних до верхних частот. В итеративных циклах следующие переменные должны быть вычислены для использования при кодировании Хаффмана:


is(i), i =0...575

квантованные значения коэффициентов преобразования

table_select [region]

таблица кода Хаффмана, используемая для областей (region = 0, 1, 2)

region_adress1

определяет границу между областью 0 и 1

region_adress2

определяет границу между областью 1 и 2

max_value [region]

максимальное абсолютное значение квантованных данных в областях (region = 0, 1, 2)


Данные помещаются в поток битов согласно синтаксису кода Хаффмана.

Фактический блок кода Хаффмана для big_values части описывается на псевдоязыке высокого уровня:



Возможный вариант использования private_bits в качестве счетчика фреймов.


В.1.5.4 Итеративные циклы на Уровне III


В.1.5.4.1 Введение

Описание цикла Уровня III подразделяется на три уровня. Верхний уровень вызывают программой фреймового цикла. Эта подпрограмма вызывает подпрограмму "внешний итеративный цикл", который вызывает подпрограмму "внутренний итеративный цикл". Для каждого уровня ниже показана соответствующая блок-схема (Рисунки В.9а, В.9б, В.9в).

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

На вход цикла Уровня III поступают:

а) вектор амплитуд коэффициентов преобразования хr (0...575);

б) xmin(sb) - вектор допустимых уровней искажений в полосах масштабных коэффициентов:

xmin = ration(sb) * en (sb)/bw(sb);

в) window_switching_flag - вместе с mixed_block_flag и block_type определяет количество полос масштабных коэффициентов;

г) mean_bits - (биты, доступные для кодирования методом Хаффмана и кодирования масштабных коэффициентов);

д) more_bits - количество битов в дополнение к среднему числу битов, требуемых из психоакустической энтропии для гранулы:

more_bits = 3,1 * ре - среднее число битов.

На выходе цикла Уровня III имеются:

а) вектор квантованных значений iх (0...575);

б) scalefac_l(sb) или scalefac_s(sb) в зависимости от window_switching_flag, block_type и mixed_block_flag;

в) global_gain (информация о размере шага квантователя):

global_gain = qquant + system_constant;

system_constant включает все операции масштабирования кодера и смещение для достижения корректного вывода процесса декодирования, описанного в основной части;

г) число неиспользованных битов, доступных для дальнейшего использования;

д) preflag (предкоррекция в циклах вкл/выкл);

е) информация о коде Хаффмана:

- big_values (число пар Хаффмана, исключая "count1");

- count1table_select (таблица значений кода Хаффмана, по модулю <= 1 в верхней части спектра);

- table_select [0... 2] (таблица областей кода Хаффмана);

- region0_count, region1_count (используется для расчета границ между областями);

- part2_3_length.

В.1.5.4.2 Предварительные шаги

В.1.5.4.2.1 Сброс всех переменных цикла

Масштабные коэффициенты разделов scalefac_l[sb] или scalefac_s[sb] обнуляются.

Счетчик qquant размера шага квантователя сбрасывается в ноль.

Preflag сбрасывается в ноль.

Scalefac_scale сбрасывается в ноль.

Начальное значение quantanf устанавливается следующим образом:

quantanf = system_const *ln(sfm),


где
- мера пологости спектра, и
quantanf
зависит от программной реализации кодера.
Мера пологости спектра
.

Значение system_const выбирается так, чтобы для всех сигналов первая итерация внутреннего цикла возвращала суммарное количество битов, превышающее требуемое. Этим обеспечивается получение после первого внутреннего цикла результата, при котором используется столько доступных битов, сколько возможно. Для продолжительности вычисления желательно минимизировать число итераций путем адаптирования значения quantanf к скорости передачи и сигнальной статистике.

В.1.5.4.2.2 Управление резервуаром битов

Если для кодирования одной гранулы требуется количество битов меньшее, чем mean_bits, то оставшиеся биты сохраняются в резервуаре. Если биты сохраняются для фрейма, значение main_data_end соответственно увеличивается (см. рисунок А.7а).

Количество битов, доступными для main_data (называемое max_bits), получается из фактической оценки порога (ре на основе психоакустического расчета), среднего количества битов (mean_bits) и фактического содержимого резервуара. Число байтов в резервуаре указывается main_data_end.

Правила для управления резервуаром битов:

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

- если резервуар битов более чем на 80% превышает максимальный допустимый объем резервуара, все байты, превышающие этот объем, делаются доступными для main_data (в дополнение к mean_bits);

- если more_bits больше чем 100 битов, то max(more_bits/8, 0,6*main_data_end) байтов берутся из резервуара битов и делаются доступными для main_data (в дополнение к mean_bits);

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

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

В.1.5.4.2.3 Вычисление информации о выборе масштабных коэффициентов (scfsi)

В scfsi содержится информация о том, какие масштабные коэффициенты (сгруппированные в scfsi_bands) первой гранулы могут быть использованы для второй гранулы. Указанные масштабные коэффициенты не передаются и полученные за их счет биты могут использоваться для кодирования методом Хаффмана.

Чтобы определить использование scfsi, о каждой грануле должна храниться следующая информация:

а) тип блока;

б) суммарная энергия гранулы


,
где
- количество спектральных значений;

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


,
где
- номер первого коэффициента, принадлежащего полосе масштабного коэффициента
;
- количество коэффициентов в полосе масштабного коэффициента
;

г) допустимый уровень искажений для каждой полосы


,
вычисляется с помощью психоакустической модели.
Масштабные коэффициенты первой гранулы передаются всегда. При кодировании второй гранулы сравнивается информация об этих двух гранулах. Существует четыре критерия возможности использования общего
. Если один из четырех критериев не выполняется,
отключается (
устанавливается в 0 во всех
). Указанными критериями являются (индекс 0 соответствует первой грануле, индекс 1 - второй):

а) существование спектральных значений, отличных от нуля;

б) отсутствие в гранулах коротких блоков;


в) |
en_tot
0 -
en_tot
1|
en_totkrit
;

г)


.
Если
не отключается после проверки этих условий, то используются еще два критерия для каждого
, причем, для включения
(то есть установки 1 в этой
) оба эти условия должны быть выполнены:

а)


б)


.
Константы (с индексом
) должны быть выбраны так, чтобы
включался в случае близости значений энергии/искажений.

Рекомендованные значения:


10,
100,
10 для каждой
,
10 для каждой
.

В.1.5.4.3 Внешний итеративный цикл (цикл управления искажениями)

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

do для каждой полосы масштабных коэффициентов;


do
от нижнего до верхнего индекса
полосы

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

Цикл управления искажениями всегда начинается с scalefac_scale = 0. Если после нескольких итераций максимальная длина поле масштабных коэффициентов превышена, то scalefac_scale увеличивается до значения 1, тем самым достигается увеличение возможного динамического диапазона масштабных коэффициентов. В этом случае значения масштабных коэффициентов и частотных линий должны быть соответственно скорректированны.

В.1.5.4.3.1 Сохранение масштабных коэффициентов

Масштабные коэффициенты всех полос, scalefac_l(sb) или scalefac_s(sb), и размер шага квантователя qquant должны быть сохранены. Если вычисление внешнего цикла прервано без достижения надлежащего результата, эти значения вместе с квантованным спектром дают приближение и могут быть переданы.

В.1.5.4.3.2 Вызов внутреннего итеративного цикла


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

В.1.5.4.3.3 Расчет искажений в полосах масштабных коэффициентов

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


,
где
- номер коэффициента, соответствующего самой низкой частоте полосы;
- количество коэффициентов в этой полосе.

В.1.5.4.3.4 Предкоррекция

Опция "предкоррекция" (включаемая установкой preflag в значение 1) обеспечивает возможность усиления верхней части спектра в соответствии с таблицам предкоррекции.


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

Если кодируется вторая гранула и scfsi активно по крайней мере в одной scfsi_band, предкоррекция во второй грануле устанавливается такой же, как и для первой гранулы.

В.1.5.4.3.5 Усиление полос масштабных коэффициентов с искажениями, превышающими порог маскирования

Все спектральные значения полос масштабных коэффициентов, в которых искажения превышают допустимое значение, усиливаются множителем ifqstep. Значение ifqstep передается в scalefac_scale.


Если кодируется вторая гранула и scfsi активно по крайней мере в одной scfsi_band, должны быть сделаны следующие шаги:

а) ifqstep должен быть установлен как и в первой грануле;

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


где scalefac либо scalefac_1(), либо scalefac_s();

в) если это не первая итерация, полосы, для которых scfsi включено, не должны быть усилены.

В.1.5.4.3.6 Условия для завершения обработки циклов

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

а) все полосы масштабных коэффициентов уже усилены;

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

Верхним пределом являются масштабный коэффициент 15 для полос с 0 по 10 и масштабный коэффициент 7 для полос с 11 по 20. В случае block_type == 2 и mixed_block_flag == 0 верхний предел равен 15 для полос с 0 по 18. В случае block_type == 2 и mixed_block_flag == 1 верхний предел равен 15 для полос с 0 по 17. Для остальных верхний предел масштабных коэффициентов равен 7.

Выполнение цикла прекращается, и выходом является scalefac_1 (sb) или scalefac_s (sb) вывод. В случае реализации в реальном времени может присутствовать третье условие, которое завершает циклы при нехватке вычислительного времени.

В.1.5.4.4 Внутренний итеративный цикл (цикл управления скоростью)

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

В.1.5.4.4.1 Квантование

Квантование вектора спектральных значений выполняется согласно уравнению:


.

B.1.5.4.4.2 Проверка максимума квантованных значений

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

qquanl = qquant+1,

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

B.1.5.4.4.3 Вычисление количества нулевых значений

Значению rzero присваивается количество пар спектральных коэффициентов в верхней части спектра, после квантования оказавшихся равными нулю.

B.1.5.4.4.4 Вычисление количества значений меньших или равных 1

Значению count1 присваивается количество четверок спектральных коэффициентов, после квантования оказавшихся равными нулю или единице, следующих за парами нулей rzero.

B.1.5.4.4.5 Подсчет битов, необходимых для кодирования значений меньших или равных 1

Для кодирования одной из четверок count1 используется одно слово кода Хаффмана. Имеется два различных кодовых словаря Хаффмана с соответствующими таблицами длины кода (таблицы Б.7). Количество битов, необходимых для кодирования всех countI четверок, определяется формулой:

bitsum_count1 = min (bitsum_table0, bitsum_table1),

где count1table_0) используется, чтобы указать на таблицу А

и
используется, чтобы указать на таблицу В

Count1table_0, также как и count1table_1, должна включать биты, необходимые для кодирования знаковых битов.

Информация о том, какая таблица используется, передается в count1table_select, которая равна 0 для таблицы А или 1 для таблицы В.

В. 1.5.4.4.6 Вызов подпрограммы SUBDIVIDE

Пары квантованных значений, не учтенные в count1 или rzero, называются bigvalues. Подпрограмма SUBDIVIDE разбивает полосы, соответствующие этим значениям на три группы. Последняя, обычно неполная, считается полной. Количество полос в первой и второй областях содержится в (region0_count+1) и (region1_count+1]) соответственно. Число полос в третьей области может быть вычислено из bigvalues. Стратегия разделения зависит от реализации. Для примера, самое простое решение - треть всех полос масштабных коэффициентов отнести к первой области и четверть - к последней.

Подразделение блоков выполняется аналогично, однако в этом случае есть только две подобласти. Regionl_count устанавливается в значение по умолчанию. Это значение равно 8 в случае split_point=0 и 9 в случае split_ point=1. Оба значения указывают на ту же самую абсолютную частоту.

В.1.5.4.4.7 Вычисление кодового словаря для каждой подобласти

Имеется 32 различные кодовых таблицы Хаффмана, которые доступны для кодирования пар квантованных значений. Они отличаются друг от друга максимальным значением, которое может быть кодировано и статистикой сигнала, для которой они оптимизированы. В таблицах содержатся только коды со значениями меньше 16. Для значений >=16 используются две таблицы, где максимальное значение 15 является символом ESC. В этом случае значение 15 кодируется в дополнительном слове с использованием линейного ИКМ с длиной слова linbits.

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

В.1.5.4.4.8 Подсчет битов, необходимых для кодирования значений в субобластях

Количество битов, необходимых для кодирования квантованных значений субобласти, определяется по формуле:


где
- число пар в подобласти;
- номер первого квантованного значения в подобласти;
- таблица с длиной кода Хаффмана;
(...) - ступенчатая функция: если
0
1;
если
0
0.

Следует обратить внимание на то, что в таблицы длины кода Хаффмана должно быть включено количество битов, необходимое для кодирования знаковых битов.

Циклы итерации Уровня III показаны на рисунках В.9а, В.9б, В.9в.

Рисунок В.9а - Цикл итерации. Уровень III

Рисунок В.9б - Внешний цикл итерации. Уровень III

Рисунок В.9в - Внутренний цикл итерации. Уровень III

Приложение Г

(обязательное)


Психоакустические модели

Г.1 Психоакустическая модель 1


Нет никакого принципиального различия в использовании психоакустической модели 1 в Уровне I или II.

Уровень I: процедура распределения битов выполняется для каждого блока из 12 субполосных или 384 входных ИКМ-отсчетов.

Уровень II: процедура распределения битов выполняется для трех блоков с общим количеством субполосных отсчетов, равным 36, соответствующих 3*384 (1152) входным ИКМ-отсчетам.

Распределение битов между 32 субполосами вычисляется на основе отношения сигнал-маска в этих субполосах. Поэтому для каждой субполосы необходимо определить максимальный уровень сигнала и минимальное значение порога маскирования. Минимальное значение порога маскирования определяется из БПФ входного ИКМ сигнала, сопровождаемого психоакустическим расчетом.

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

Вычисление отношения сигнал-маска состоит из девяти шагов:

1 вычисление БПФ для частотного преобразования;

2 определение уровня звукового давления в каждой субполосе;

3 определение абсолютного порога слышимости;

4 обнаружение тональных (близких к синусоиде) и нетональных (близких к шуму) компонентов аудиосигнала;

5 прореживание маскеров в целях оставить только значащие;

6 вычисление индивидуальных порогов маскирования;

7 вычисление глобального порога маскирования;

8 определение минимального порога маскирования в каждой субполосе;

9 вычисление отношения сигнал-маска в каждой субполосе.

Предполагается, что частота дискретизации равна 48 кГц. Для двух других частот дискретизации все указанные значения частот должны быть пересчитаны соответствующим образом.

Шаг 1. Вычисления для частотного преобразования БПФ

Порог маскирования определяется путем оценки спектральной плотности мощности, которая вычисляется путем БПФ с 512 отсчетами для Уровня I или с 1024 отсчетами для Уровня II. На вход БПФ поступают непосредственно отсчеты входного ИКМ сигнала, умноженные на оконную функцию Ханна.

Для согласования по времени распределения битов и соответствующих субполосных отсчетов ИКМ отсчеты, поступающие на вход БПФ, должны быть задержаны.

1. Задержка набора субполосных фильтров анализа равна 256 отсчетам, что соответствует 5,3 мс на частоте дискретизации 48 кГц. Сдвиг окна на 256 отсчетов необходим для компенсации задержки набора субполосных фильтров анализа.

2. Окно Ханна должно быть выровнено относительно субполосных отсчетов кадра. Для Уровня I это приводит к дополнительному сдвигу окна на 64 отсчета. Для Уровня II требуется дополнительный сдвиг окна на минус 64 отсчета.

Технические данные БПФ:


Уровень I

Уровень II

размер преобразования

512 отсчетов

1024 отсчета

размер окна при
48 кГц

10,67 мс

21,3 мс

размер окна при
44,1 кГц

11,6 мс

23,2 мс

размер окна при
32 кГц

16 мс

32 мс

разрешающая способность по частоте

sampling_frequency/512

sampling_frequency/1024

- окно Ханна h(i)


,
- спектральная плотность мощности
дБ,
0...
,
где
- входной сигнал.

Нормализация к относительному уровню звукового давления 96 дБ должна быть такой, чтобы максимальное значение соответствовало 96 дБ.

Шаг 2. Определение уровня звукового давления в каждой полосе


Уровень звукового давления
(дБ) в субполосе
вычисляется по формуле
,
где
- уровень звукового давления спектральной линии с номером
, полученной с помощью БПФ и соответствующей максимальной амплитуде в субполосе
.
Переменная
является одним масштабным коэффициентом на Уровне I или максимумом из трех масштабных коэффициентов на Уровне II для субполосы
в пределах кадра. Наличие в выражении слагаемого -10 дБ корректирует различие между уровнем
RMS
и пиковым значением. Уровень звукового давления
вычисляется для каждой субполосы
.
Следующий альтернативный метод вычисления
рассчитан для лучшей производительности кодера, однако этот метод не был подвергнут формальному тесту качества звука.
Уровень звукового давления
, дБ, в субполосе
вычисляется по формуле
,

где

,
где
- уровень звукового давления в полосе
.

Шаг 3. Учет абсолютного порога слышимости


Значения абсолютного порога слышимости
приведены в таблицах Г.1а, Г.1б, Г.1в для Уровня I и Г.1г, Г.1д, Г.1е для Уровня II. Значения зависят от частоты дискретизации входного ИКМ сигнала и указаны для каждой спектральной линии. В зависимости от скорости передачи для абсолютного порога слышимости используется смещение, которое составляет минус 12 дБ для скоростей передачи
96 кбит/с и 0 дБ для скоростей передачи
96 кбит/с на канал.

Шаг 4. Обнаружение тональных и нетональных компонентов аудиосигнала

Вид маскера влияет на порог маскирования. Поэтому следует различать тональные и нетональные маскеры. Для расчета глобального порога маскирования в спектре БПФ необходимо обнаружить тональные и нетональные маскеры.

Этот шаг начинается с определения локальных максимумов, из которых затем выделяются тональные маскеры (синусоиды) и вычисляются интенсивности нетональных маскеров в пределах критической полосы. Границы критических полос даны в таблицах Г.2а, Г.2б, Г.2в для Уровня I и Г.2г, Г.2д, Г.2е для Уровня II.


Ширина критических полос меняется в зависимости от центральной частоты с шириной примерно 0,1 кГц на НЧ и с примерно 4 кГц на ВЧ. Из психоакустических экспериментов известно, что у слуха разрешающая способность по частоте на НЧ лучше, чем в более высокой области. Чтобы определить, является ли локальный максимум тональным маскером, вокруг максимума исследуется частотный диапазон
.
Частотные диапазоны
:

при частоте дискретизации 32 кГц


Уровень I

125 Гц
0 кГц
4,0 кГц
187,5 Гц
4,0 кГц
8,0 кГц
375 Гц
8,0 кГц
15,0 кГц

Уровень II

62,5 Гц
0 кГц
3,0 кГц
93,75 Гц
3,0 кГц
6,0 кГц
187,5 Гц
6,0 кГц
12,0 кГц
375 Гц
12,0 кГц
24,0 кГц

при частоте дискретизации 44,1 кГц

Уровень I

172,266 Гц
0 кГц
5,512 кГц

281,25 Гц
5,512 кГц
11,024 кГц
562,50 Гц
11,024 кГц
19,982 кГц

Уровень II

86,133 Гц
0 кГц
2,756 кГц
129,199 Гц
2,756 кГц
5,512 кГц
258,398 Гц
5,512 кГц
11,024 кГц
516,797 Гц
11,024 кГц
19,982 кГц

при частоте дискретизации 48 кГц

Уровень I

187,5 Гц
0 кГц
6,0 кГц
281,25 Гц
6,0 кГц
12,0 кГц
562,50 Гц
12,0 кГц
24,0 кГц

Уровень II

93,750 Гц
0 кГц
3,0 кГц
140,63 Гц
3,0 кГц
6,0 кГц
281,25 Гц
6,0 кГц
12,0 кГц
562,50 Гц
12,0 кГц
24,0 кГц

Для создания списка спектральных линий
, являющихся тональными или нетональными маскерами, выполняются следующие три операции.

1 Маркировка локальных максимумов.


Спектральная линия
маркируется как локальный максимум, если
и
.

2 Создание списка тональных маскеров и вычисление уровня звукового давления.

Локальный максимум помещается в список тональных маскеров, если


7 дБ,
где
выбирается согласно

Уровень I

-2, +2
для 2
63
-3, -2, +2, +3
для 63
127
-6, ..., -2, +2, ..., +6
для 127
250

Уровень II

-2, +2
для 2
63
-3, -2, +2, +3
для 63
127
-6, ..., -2, +2, ..., +6
для 127
255
-12, ..., -2, +2, ..., +12
для 255
500

Если
является тональным маскером, то указываются следующие параметры:
- номер спектральной линии
;

- уровень звукового давления


;

- тональный флаг.


Затем все линии спектра в пределах исследованного частотного диапазона устанавливаются в
дБ.

3 Создание списка нетональных маскеров и вычисление энергии.


Нетональные (шумовые) маскеры вычисляются из оставшихся спектральных линий. Чтобы вычислить нетональные маскеры из этих спектральных линий
с помощью таблиц Г.2а, Г.2б, Г.2в для Уровня I и Г.2г, Г.2д, Г.2е для Уровня II определяются критические полосы z(k). На Уровне I 23 критических полосы используются для частоты дискретизации 32 кГц, 24 критических полосы - для 44,1 кГц и 25 критических полос - для 48 кГц. На Уровне II 24 критических полосы используются для частоты дискретизации 32 кГц и 26 критических полос используются для частот дискретизации 44,1 кГц и 48 кГц. В пределах каждой критической полосы энергии спектральных линий (оставшихся после того, как тональные маскеры были обнулеваны) суммируются для получения уровня звукового давления нетонального маскера
, соответствующего рассматриваемой критической полосе.

Указываются следующие параметры:


- номер спектральной линии
, ближайшей к геометрическому среднему критической полосы;
- уровень звукового давления
, дБ;

- нетональный флаг.

Шаг 5. Прореживание маскеров в целях оставить только значащие.

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


1. Тональные
или нетональные
маскеры используются для вычисления порога маскирования, только если:
или
.
В этом выражении
является абсолютным порогом слышимости на частоте
. Эти значения даются в таблицах Г.1а, Г.1б, Г.1в для Уровня I и Г.1г, Г.1д, Г.1е для Уровня II.

2. Прореживание двух и более тональных маскеров в пределах 0,5 Барк: остается только маскер с наибольшим значением энергии, остальные маскеры удаляются из списка тональных маскеров. Для этой операции используется скользящее окно шириной 0,5 Барк.


Индекс
используется для указания на соответствующие тональные или нетональные маскеры объединенного прореженного списка.

Шаг 6. Вычисление индивидуальных порогов маскирования


Из исходных
спектральных линий с индексом
только подмножество линий с индексом
используется для расчета глобального порога маскирования. Используемые линии даны в таблицах Г.1а, Г.1б, Г.1в для Уровня I и в таблицах Г.1г, Г.1д, Г.1е для Уровня II.

Уровень I

Из спектральных линий, соответствующих в частотной области первым шести субполосам, используются все линии. В области частот, соответствующей следующим шести субполосам, рассматривается каждая вторая спектральная линия. Наконец, в случае частот дискретизации 48 кГц и 44,1 кГц в области частот, соответствующей оставшимся субполосам, рассматривается каждая четвертая спектральная линия вплоть до 20 кГц. В случае частоты дискретизации 32 кГц в области частот, соответствующей оставшимся субполосам, рассматривается каждая четвертая спектральная линия вплоть до 15 кГц (см. также таблицы Г.1а, Г.1б, Г.1в для Уровня I).

Уровень II

Из спектральных линий, соответствующих в частотной области первым трем субполосам, используются все линии. В области частот, соответствующей следующим трем субполосам, рассматривается каждая вторая спектральная линия. В области частот, соответствующей следующим шести субполосам, рассматривается каждая четвертая спектральная линия. Наконец, в случае частот дискретизации 48 кГц и 44,1 кГц в области частот, соответствующей оставшимся субполосам, рассматривается каждая восьмая спектральная линия вплоть до 20 кГц. В случае частоты дискретизации 32 кГц в области частот, соответствующей оставшимся субполосам, рассматривается каждая восьмая спектральная линия вплоть до 15 кГц (см. также таблицы Г.1г, Г.1д, Г.1е для Уровня II).


Число линий
различно в зависимости от частот дискретизации и уровней:

частота дискретизации 32 кГц

108 для Уровня I,
132 для Уровня II

частота дискретизации 44,1 кГц

106 для Уровня I,
130 для Уровня II

частота дискретизации 48 кГц

102 для Уровня I,
126 для Уровня II

Каждому тональному и нетональному маскеру присваивается ближайшее к спектральной линии
значение индекса
, заданного в таблицах Г.1а, Г.1б, Г.1в для Уровня I и в таблицах Г.1г, Г.1д, Г.1е для Уровня II.

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


,
,
где
и
- индивидуальные пороги маскирования в критической полосе
Барк маскера частоты
, Барк (значения в дБ могут быть либо положительными, либо отрицательными);
- уровень звукового давления маскера с индексом
в соответствующей критической полосе
;
- индекс маскирования;
- функция маскирования маскера
.
Индекс маскирования
различен для тональных и нетональных маскеров (
и
).

Для тональных маскеров


дБ,

для нетональных маскеров


дБ.
Функция маскирования
имеет неодинаковые спады, которые зависят от расстояния в Барках до маскера:
,
где
- номер спектральной линии, для которой вычисляется функция маскирования;
- номер спектральной линии, соответствующей маскеру.
Частоты в Барках для
и
даны в таблицах Г.1а, Г.1б, Г.1в для Уровня I и в таблицах Г.1г, Г.1д, Г.1е для Уровня II.

Функция маскирования (в дБ), одинаковая для тональных и нетональных маскеров, задается выражениями:


для - 3
-1 Барк,
для -1
0 Барк,
для 0
1 Барк,
для 1
8 Барк,

где
- уровень звукового давления
-го маскера, в дБ.
По причинам сложности реализации маскирование больше не учитывается (
и
устанавливаются в
дБ вне этого диапазона), если
меньше минус 3 Барк, или
больше или равно 8 Барк.
Шаг 7. Вычисление глобального порога маскирования
.
Глобальный порог маскирования
для
-й спектральной линии складывается из верхних и нижних спадов индивидуальных порогов маскирования каждого из
тональных и нетональных маскеров и из абсолютного порога слышимости
. Это также задано в таблицах Г.1а, Г.1б, Г.1в для Уровня I и в таблицах Г.1г, Г.1д, Г.1е для Уровня II. Глобальный порог маскирования находится путем суммирования значений энергий, соответствующих индивидуальным порогам маскирования и абсолютному порогу слышимости:
.
Общее количество тональных маскеров равно
, общее количество нетональных маскеров равно
. Для заданного
диапазон
может быть уменьшен до маскеров, находящихся в пределах от -8 до +3 Барк от
. За пределами этого диапазона
и
равны
дБ.

Шаг 8. Определение минимального порога маскирования в каждой субполосе.


Минимальный уровень маскирования
субполосе
определяется следующим выражением:
дБ,
где
- частота
-й спектральной линии.
Значения
сведены в таблицы Г.1а, Г.1б, Г.1в для Уровня I и в таблицы Г.1г, Г.1д, Г.1е для Уровня II. Минимальный уровень маскирования
вычисляется для каждой субполосы.

Шаг 9. Вычисление отношения сигнал-маска.


Отношение сигнал-маска (дБ) рассчитывается для каждой субполосы
по формуле
.

Таблица Г.1а - Частота и значения абсолютного порога слышимости для частоты дискретизации 32 кГц. Уровень I


Номер,

Частота

Абсолютный порог, дБ

Гц

Барк

1

62,50

0,617

33,44

2

125,00

1,232

19,20

3

187,50

1,842

13,87

4

250,00

2,445

11,01

5

312,50

3,037

9,20

6

375,00

3,618

7,94

7

437,50

4,185

7,00

8

500,00

4,736

6,28

9

562,50

5,272

5,70

10

625,00

5,789

5,21

11

687,50

6,289

4,80

12

750,00

6,770

4,45

13

812,50

7,233

4,14

14

875,00

7,677

3,86

15

937,50

8,103

3,61

16

1000,00

8,511

3,37

17

1062,50

8,901

3,15

18

1125,00

9,275

2,93

19

1187,50

9,632

2,73

20

1250,00

9,974

2,53

21

1312,50

10,301

2,32

22

1375,00

10,614

2,12

23

1437,50

10,913

1,92

24

1500,00

11,199

1,71

25

1562,50

11,474

1,49

26

1625,00

11,736

1,27

27

1687,50

11,988

1,04

28

1750,00

12,230

0,80

29

1812,50

12,461

0,55

30

1875,00

12,684

0,29

31

1937,50

12,898

0,02

32

2000,00

13,104

-0,25

33

2062,50

13,302

-0,54

34

2125,00

13,493

-0,83

35

2187,50

13,678

-1,12

36

2250,00

13,855

-1,43

37

2312,50

14,027

-1,73

38

2375,00

14,193

-2,04

39

2437,50

14,354

-2,34

40

2500,00

14,509

-2,64

41

2562,50

14,660

-2,93

42

2625,00

14,807

-3,22

43

2687,50

14,949

-3,49

44

2750,00

15,087

-3,74

45

2812,50

15,221

-3,98

46

2875,00

15,351

-4,20

47

2937,50

15,478

-4,40

48

3000,00

15,602

-4,57

49

3125,00

15,841

-4,82

50

3250,00

16,069

-4,96

51

3375,00

16,287

-4,97

52

3500,00

16,496

-4,86

53

3625,00

16,697

-4,63

54

3750,00

16,891

-4,29

55

3875,00

17,078

-3,87

56

4000,00

17,259

-3,39

57

4125,00

17,434

-2,86

58

4250,00

17,605

-2,31

59

4375,00

17,770

-1,77

60

4500,00

17,932

-1,24

61

4625,00

18,089

-0,74

62

4750,00

18,242

-0,29

63

4875,00

18,392

0,12

64

5000,00

18,539

0,48

65

5125,00

18,682

0,79

66

5250,00

18,823

1,06

67

5375,00

18,960

1,29

68

5500,00

19,095

1,49

69

5625,00

19,226

1,66

70

5750,00

19,356

1,81

71

5875,00

19,482

1,95

72

6000,00

19,606

2,08

73

6250,00

19,847

2,33

74

6500,00

20,079

2,59

75

6750,00

20,300

2,86

76

7000,00

20,513

3,17

77

7250,00

20,717

3,51

78

7500,00

20,912

3,89

79

7750,00

21,098

4,31

80

8000,00

21,275

4,79

81

8250,00

21,445

5,31

82

8500,00

21,606

5,88

83

8750,00

21,760

6,50

84

9000,00

21,906

7,19

85

9250,00

22,046

7,93

86

9500,00

22,178

8,75

87

9750,00

22,304

9,63

88

10000,00

22,424

10,58

89

10250,00

22,538

11,60

90

10500,00

22,646

12,71

91

10750,00

22,749

13,90

92

11000,00

22,847

15,18

93

11250,00

22,941

16,54

94

11500,00

23,030

18,01

95

11750,00

23,114

19,57

96

12000,00

23,195

21,23

97

12250,00

23,272

23,01

98

12500,00

23,345

24,90

99

12750,00

23,415

26,90

100

13000,00

23,482

29,03

101

13250,00

23,546

31,28

102

13500,00

23,607

33,67

103

13750,00

23,666

36,19

104

14000,00

23,722

38,86

105

14250,00

23,775

41,67

106

14500,00

23,827

44,63

107

14750,00

23,876

47,76

108

15000,00

23,923

51,04


Таблица Г.1б - Частота и значения абсолютного порога слышимости для частоты дискретизации 44,1 кГц. Уровень I


Номер,

Частота

Абсолютный порог, дБ

Гц

Барк

1

86,13

0,850

25,87

2

172,27

1,694

14,85

3

258,40

2,525

10,72

4

344,53

3,337

8,50

5

430,66

4,124

7,10

6

516,80

4,882

6,11

7

602,93

5,608

5,37

8

689,06

6,301

4,79

9

775,20

6,959

4,32

10

861,33

7,581

3,92

11

947,46

8,169

3,57

12

1033,59

8,723

3,25

13

1119,73

9,244

2,95

14

1205,86

9,734

2,67

15

1291,99

10,195

2,39

16

1378,13

10,629

2,11

17

1464,26

11,037

1,83

18

1550,39

11,421

1,53

19

1636,52

11,783

1,23

20

1722,66

12,125

0,90

21

1808,79

12,448

0,56

22

1894,92

12,753

0,21

23

1981,05

13,042

-0,17

24

2067,19

13,317

-0,56

25

2153,32

13,578

-0,96

26

2239,45

13,826

-1,38

27

2325,59

14,062

-1,79

28

2411,72

14,288

-2,21

29

2497,85

14,504

-2,63

30

2583,98

14,711

-3,03

31

2670,12

14,909

-3,41

32

2756,25

15,100

-3,77

33

2842,38

15,284

-4,09

34

2928,52

15,460

-4,37

35

3014,65

15,631

-4,60

36

3100,78

15,796

-4,78

37

3186,91

15,955

-4,91

38

3273,05

16,110

-4,97

39

3359,18

16,260

-4,98

40

3445,31

16,406

-4,92

41

3531,45

16,547

-4,81

42

3617,58

16,685

-4,65

43

3703,71

16,820

-4,43

44

3789,84

16,951

-4,17

45

3875,98

17,079

-3,87

45*

3962,11

17,205

-3,54

47

4048,24

17,327

-3,19

48

4134,38

17,447

-2,82

49

4306,64

17,680

-2,06

50

4478,91

17,905

-1,32

51

4651,17

18,121

-0,64

52

4823,44

18,331

-0,04

53

4995,70

18,534

0,47

54

5167,97

18,731

0,89

55

5340,23

18,922

1,23

56

5512,50

19,108

1,51

57

5684,77

19,289

1,74

58

5857,03

19,464

1,93

59

6029,30

19,635

2,11

60

6201,56

19,801

2,28

61

6373,83

19,963

2,46

62

6546,09

20,120

2,63

63

6718,36

20,273

2,82

64

6890,63

20,421

3,03

65

7062,89

20,565

3,25

66

7235,16

20,705

3,49

67

7407,42

20,840

3,74

68

7579,69

20,972

4,02

69

7751,95

21,099

4,32

70

7924,22

21,222

4,64

71

8096,48

21,342

4,98

72

8268,75

21,457

5,35

73

8613,28

21,677

6,15

74

8957,81

21,882

7,07

75

9302,34

22,074

8,10

76

9646,88

22,253

9,25

77

9991,41

22,420

10,54

78

10335,94

22,576

11,97

79

10680,47

22,721

13,56

80

11025,00

22,857

15,31

81

11369,53

22,984

17,23

82

11714,06

23,102

19,34

83

12058,59

23,213

21,64

84

12403,13

23,317

24,15

85

12747,66

23,415

26,88

86

13092,19

23,506

29,84

87

13436,72

23,592

33,05

88

13781,25

23,673

36,52

89

14125,78

23,749

40,25

90

14470,31

23,821

44,27

91

14814,84

23,888

48,59

92

15159,38

23,952

53,22

93

15503,91

24,013

58,18

94

15848,44

24,070

63,49

95

16192,97

24,125

68,00

96

16537,50

24,176

68,00

97

16882,03

24,225

68,00

98

17226,56

24,271

68,00

99

17571,09

24,316

68,00

100

17915,63

24,358

68,00

101

18260,16

24,398

68,00

102

18604,69

24,436

68,00

103

18949,22

24,473

68,00

104

19293,75

24,508

68,00

105

19638,28

24,542

68,00

106

19982,81

24,574

68,00


Таблица Г.1в - Частота и значения абсолютного порога слышимости для частоты дискретизации 48 кГц. Уровень I


Номер,

Частота

Абсолютный порог, дБ

Гц

Барк

1

93,75

0,925

24,17

2

187,50

1,842

13,87

3

281,25

2,742

10,01

4

375,00

3,618

7,94

5

468,75

4,463

6,62

6

562,50

5,272

5,70

7

656,25

6,041

5,00

8

750,00

6,770

4,45

9

843,75

7,457

4,00

10

937,50

8,103

3,61

11

1031,25

8,708

3,26

12

1125,00

9,275

2,93

13

1218,75

9,805

2,63

14

1312,50

10,301

2,32

15

1406,25

10,765

2,02

16

1500,00

11,199

1,71

17

1593,75

11,606

1,38

18

1687,50

11,988

1,04

19

1781,25

12,347

0,67

20

1875,00

12,684

0,29

21

1968,75

13,002

-0,11

22

2062,50

13,302

-0,54

23

2156,25

13,586

-0,97

24

2250,00

13,855

-1,43

25

2343,75

14,111

-1,88

26

2437,50

14,354

-2,34

27

2531,25

14,585

-2,79

28

2625,00

14,807

-3,22

29

2718,75

15,018

-3,62

30

2812,50

15,221

-3,98

31

2906,25

15,415

-4,30

32

3000,00

15,602

-4,57

33

3093,75

15,783

-4,77

34

3187,50

15,956

-4,91

35

3281,25

16,124

-4,98

36

3375,00

16,287

-4,97

37

3468,75

16,445

-4,90

38

3562,50

16,598

-4,76

39

3656,25

16,746

-4,55

40

3750,00

16,891

-4,29

41

3843,75

17,032

-3,99

42

3937,50

17,169

-3,64

43

4031,25

17,303

-3,26

44

4125,00

17,434

-2,86

45

4218,75

17,563

-2,45

46

4312,50

17,688

-2,04

47

4406,25

17,811

-1,63

48

4500,00

17,932

-1,24

49

4687,50

18,166

-0,51

50

4875,00

18,392

0,12

51

5062,50

18,611

0,64

52

5250,00

18,823

1,06

53

5437,50

19,028

1,39

54

5625,00

19,226

1,66

55

5812,50

19,419

1,88

56

6000,00

19,606

2,08

57

6187,50

19,788

2,27

58

6375,00

19,964

2,46

59

6562,50

20,135

2,65

60

6750,00

20,300

2,86

61

6937,50

20,461

3,09

62

7125,00

20,616

3,33

63

7312,50

20,766

3,60

64

7500,00

20,912

3,89

65

7687,50

21,052

4,20

66

7875,00

21,188

4,54

67

8062,50

21,318

4,91

68

8250,00

21,445

5,31

69

8437,50

21,567

5,73

70

8625,00

21,684

6,18

71

8812,50

21,797

6,67

72

9000,00

21,906

7,19

73

9375,00

22,113

8,33

74

9750,00

22,304

9,63

75

10125,00

22,482

11,08

76

10500,00

22,646

12,71

77

10875,00

22,799

14,53

78

11250,00

22,941

16,54

79

11625,00

23,072

18,77

80

12000,00

23,195

21,23

81

12375,00

23,309

23,94

82

12750,00

23,415

26,90

83

13125,00

23,515

30,14

84

13500,00

23,607

33,67

85

13875,00

23,694

37,51

86

14250,00

23,775

41,67

87

14625,00

23,852

46,17

88

15000,00

23,923

51,04

89

15375,00

23,991

56,29

90

15750,00

24,054

61,94

91

16125,00

24,114

68,00

92

16500,00

24,171

68,00

93

16875,00

24,224

68,00

94

17250,00

24,275

68,00

95

17625,00

24,322

68,00

96

18000,00

24,368

68,00

97

18375,00

24,411

68,00

98

18750,00

24,452

68,00

99

19125,00

24,491

68,00

100

19500,00

24,528

68,00

101

19875,00

24,564

68,00

102

20250,00

24,597

68,00


Таблица Г.1г - Частота и значения абсолютного порога слышимости для частоты дискретизации 32 кГц. Уровень II


Номер,

Частота

Абсолютный порог, дБ

Гц

Барк

1

31,25

0,309

58,23

2

62,50

0,617

33,44

3

93,75

0,925

24,17

4

125,00

1,232

19,20

5

156,25

1,538

16,05

6

187,50

1,842

13,87

7

218,75

2,145

12,26

8

250,00

2,445

11,01

9

281,25

2,742

10,01

10

312,50

3,037

9,20

11

343,75

3,329

8,52

12

375,00

3,618

7,94

13

406,25

3,903

7,44

14

437,50

4,185

7,00

15

468,75

4,463

6,62

16

500,00

4,736

6,28

17

531,25

5,006

5,97

18

562,50

5,272

5,70

19

593,75

5,533

5,44

20

625,00

5,789

5,21

21

656,25

6,041

5,00

22

687,50

6,289

4,80

23

718,75

6,532

4,62

24

750,00

6,770

4,45

25

781,25

7,004

4,29

26

812,50

7,233

4,14

27

843,75

7,457

4,00

28

875,00

7,677

3,86

29

906,25

7,892

3,73

30

937,50

8,103

3,61

31

968,75

8,309

3,49

32

1000,00

8,511

3,37

33

1031,25

8,708

3,26

34

1062,50

8,901

3,15

35

1093,75

9,090

3,04

36

1125,00

9,275

2,93

37

1156,25

9,456

2,83

38

1187,50

9,632

2,73

39

1218,75

9,805

2,63

40

1250,00

9,974

2,53

41

1281,25

10,139

2,42

42

1312,50

10,301

2,32

43

1343,75

10,459

2,22

44

1375,00

10,614

2,12

45

1406,25

10,765

2,02

46

1437,50

10,913

1,92

47

1468,75

11,058

1,81

48

1500,00

11,199

1,71

49

1562,50

11,474

1,49

50

1625,00

11,736

1,27

51

1687,50

11,988

1,04

52

1750,00

12,230

0,80

53

1812,50

12,461

0,55

54

1875,00

12,684

0,29

55

1937,50

12,898

0,02

56

2000,00

13,104

-0,25

57

2062,50

13,302

-0,54

58

2125,00

13,493

-0,83

59

2187,50

13,678

-1,12

60

2250,00

13,855

-1,43

61

2312,50

14,027

-1,73

62

2375,00

14,193

-2,04

63

2437,50

14,354

-2,34

64

2500,00

14,509

-2,64

65

2562,50

14,660

-2,93

66

2625,00

14,807

-3,22

67

2687,50

14,949

-3,49

68

2750,00

15,087

-3,74

69

2812,50

15,221

-3,98

70

2875,00

15,351

-4,20

71

2937,50

15,478

-4,40

72

3000,00

15,602

-4,57

73

3125,00

15,841

-4,82

74

3250,00

16,069

-4,96

75

3375,00

16,287

-4,97

76

3500,00

16,496

-4,86

77

3625,00

16,697

-4,63

78

3750,00

16,891

-4,29

79

3875,00

17,078

-3,87

80

4000,00

17,259

-3,39

81

4125,00

17,434

-2,86

82

4250,00

17,605

-2,31

83

4375,00

17,770

-1,77

84

4500,00

17,932

-1,24

85

4625,00

18,089

-0,74

86

4750,00

18,242

-0,29

87

4875,00

18,392

0,12

88

5000,00

18,539

0,48

89

5125,00

18,682

0,79

90

5250,00

18,823

1,06

91

5375,00

18,960

1,29

92

5500,00

19,095

1,49

93

5625,00

19,226

1,66

94

575000-*

19,356

1,81


95

5875,00

19,482

1,95

96

6000,00

19,606

2,08

97

6250,00

19,847

2,33

98

6500,00

20,079

2,59

99

6750,00

20,300

2,86

100

7000,00

20,513

3,17

101

7250,00

20,717

3,51

102

7500,00

20,912

3,89

103

7750,00

21,098

4,31

104

8000,00

21,275

4,79

105

8250,00

21,445

5,31

106

8500,00

21,606

5,88

107

8750,00

21,760

6,50

108

9000,00

21,906

7,19

109

9250,00

22,046

7,93

110

9500,00

22,178

8,75

111

9750,00

22,304

9,63

112

10000,00

22,424

10,58

113

10250,00

22,538

11,60

114

10500,00

22,646

12,71

115

10750,00

22,749

13,90

116

11000,00

22,847

15,18

117

11250,00

22,941

16,54

118

11500,00

23,030

18,01

119

11750,00

23,114

19,57

120

12000,00

23,195

21,23

121

12250,00

23,272

23,01

122

12500,00

23,345

24,90

123

12750,00

23,415

26,90

124

13000,00

23,482

29,03

125

13250,00

23,546

31,28

126

13500,00

23,607

33,67

127

13750,00

23,666

36,19

128

14000,00

23,722

38,86

129

14250,00

23,775

41,67

130

14500,00

23,827

44,63

131

14750,00

23,876

47,76

132

15000,00

23,923

51,04


Таблица Г.1д - Частота и значения абсолютного порога слышимости для частоты дискретизации 44,1 кГц. Уровень II


Номер,

Частота

Абсолютный порог, дБ

Гц

Барк

1

43,07

0,425

45,05

2

86,13

0,850

25,87

3

129,20

1,273

18,70

4

172,27

1,694

14,85

5

215,33

2,112

12,41

6

258,40

2,525

10,72

7

301,46

2,934

9,47

8

344,53

3,337

8,50

9

387,60

3,733

7,73

10

430,66

4,124

7,10

11

473,73

4,507

6,56

12

516,80

4,882

6,11

13

559,86

5,249

5,72

14

602,93

5,608

5,37

15

646,00

5,959

5,07

16

689,06

6,301

4,79

17

732,13

6,634

4,55

18

775,20

6,959

4,32

19

818,26

7,274

4,11

20

861,33

7,581

3,92

21

904,39

7,879

3,74

22

947,46

8,169

3,57

23

990,53

8,450

3,40

24

1033,59

8,723

3,25

25

1076,66

8,987

3,10

26

1119,73

9,244

2,95

27

1162,79

9,493

2,81

28

1205,86

9,734

2,67

29

1248,93

9,968

2,53

30

1291,99

10,195

2,39

31

1335,06

10,416

2,25

32

1378,13

10,629

2,11

33

1421,19

10,836

1,97

34

1464,26

11,037

1,83

35

1507,32

11,232

1,68

36

1550,39

11,421

1,53

37

1593,46

11,605

1,38

38

1636,52

11,783

1,23

39

1679,59

11,957

1,07

40

1722,66

12,125

0,90

41

1765,72

12,289

0,74

42

1808,79

12,448

0,56

43

1851,86

12,603

0,39

44

1894,92

12,753

0,21

45

1937,99

12,900

0,02

46

1981,05

13,042

-0,17

47

2024,12

13,181

-0,36

48

2067,19

13,317

-0,56

49

2153,32

13,578

-0,96

50

2239,45

13,826

-1,38

51

2325,59

14,062

-1,79

52

2411,72

14,288

-2,21

53

2497,85

14,504

-2,63

54

2583,98

14,711

-3,03

55

2670,12

14,909

-3,41

56

2756,25

15,100

-3,77

57

2842,38

15,284

-4,09

58

2928,52

15,460

-4,37

59

3014,65

15,631

-4,60

60

3100,78

15,796

-4,78

61

3186,91

15,955

-4,91

62

3273,05

16,110

-4,97

63

3359,18

16,260

-4,98

64

3445,31

16,406

-4,92

65

3531,45

16,547

-4,81

66

3617,58

16,685

-4,65

67

3703,71

16,820

-4,43

68

3789,84

16,951

-4,17

69

3875,98

17,079

-3,87

70

3962,11

17,205

-3,54

71

4048,24

17,327

-3,19

72

4134,38

17,447

-2,82

73

4306,64

17,680

-2,06

74

4478,91

17,905

-1,32

75

4651,17

18,121

-0,64

76

4823,44

18,331

-0,04

77

4995,70

18,534

0,47

78

5167,97

18,731

0,89

79

5340,23

18,922

1,23

80

5512,50

19,108

1,51

81

5684,77

19,289

1,74

82

5857,03

19,464

1,93

83

6029,30

19,635

2,11

84

6201,56

19,801

2,28

85

6373,83

19,963

2,46

86

6546,09

20,120

2,63

87

6718,36

20,273

2,82

88

6890,63

20,421

3,03

89

7062,89

20,565

3,25

90

7235,16

20,705

3,49

91

7407,42

20,840

3,74

92

7579,69

20,972

4,02

93

7751,95

21,099

4,32

94

7924,22

21,222

4,64

95

8096,48

21,342

4,98

96

8268,75

21,457

5,35

97

8613,28

21,677

6,15

98

8957,81

21,882

7,07

99

9302,34

22,074

8,10

100

9646,88

22,253

9,25

101

9991,41

22,420

10,54

102

10335,94

22,576

11,97

103

10680,47

22,721

13,56

104

11025,00

22,857

15,31

105

11369,53

22,984

17,23

106

11714,06

23,102

19,34

107

12058,59

23,213

21,64

108

12403,13

23,317

24,15

109

12747,66

23,415

26,88

110

13092,19

23,506

29,84

111

13436,72

23,592

33,05

112

13781,25

23,673

36,52

113

14125,78

23,749

40,25

114

14470,31

23,821

44,27

115

14814,84

23,888

48,59

116

15159,38

23,952

53,22

117

15503,91

24,013

58,18

118

15848,44

24,070

63,49

119

16192,97

24,125

68,00

120

16537,50

24,176

68,00

121

16882,03

24,225

68,00

122

17226,56

24,271

68,00

123

17571,09

24,316

68,00

124

17915,63

24,358

68,00

125

18260,16

24,398

68,00

126

18604,69

24,436

68,00

127

18949,22

24,473

68,00

128

19293,75

24,508

68,00

129

19638,28

24,542

68,00

130

19982,81

24,574

68,00


Таблица Г.1е - Частота и значения абсолютного порога слышимости для частоты дискретизации 48 кГц. Уровень II


Номер,

Частота

Абсолютный порог, дБ

Гц

Барк

1

46,88

0,463

42,10

2

93,75

0,925

24,17

3

140,63

1,385

17,47

4

187,50

1,842

13,87

5

234,38

2,295

11,60

6

281,25

2,742

10,01

7

328,13

3,184

8,84

8

375,00

3,618

7,94

9

421,88

4,045

7,22

10

468,75

4,463

6,62

11

515,63

4,872

6,12

12

562,50

5,272

5,70

13

609,38

5,661

5,33

14

656,25

6,041

5,00

15

703,13

6,411

4,71

16

750,00

6,770

4,45

17

796,88

7,119

4,21

18

843,75

7,457

4,00

19

890,63

7,785

3,79

20

937,50

8,103

3,61

21

984,38

8,410

3,43

22

1031,25

8,708

3,26

23

1078,13

8,996

3,09

24

1125,00

9,275

2,93

25

1171,88

9,544

2,78

26

1218,75

9,805

2,63

27

1265,63

10,057

2,47

28

1312,50

10,301

2,32

29

1359,38

10,537

2,17

30

1406,25

10,765

2,02

31

1453,13

10,986

1,86

32

1500,00

11,199

1,71

33

1546,88

11,406

1,55

34

1593,75

11,606

1,38

35

1640,63

11,800

1,21

36

1687,50

11,988

1,04

37

1734,38

12,170

0,86

38

1781,25

12,347

0,67

39

1828,13

12,518

0,49

40

1875,00

12,684

0,29

41

1921,88

12,845

0,09

42

1968,75

13,002

-0,11

43

2015,63

13,154

-0,32

44

2062,50

13,302

-0,54

45

2109,38

13,446

-0,75

46

2156,25

13,586

-0,97

47

2203,13

13,723

-1,20

48

2250,00

13,855

-1,43

49

2343,75

14,111

-1,88

50

2437,50

14,354

-2,34

51

2531,25

14,585

-2,79

52

2625,00

14,807

-3,22

53

2718,75

15,018

-3,62

54

2812,50

15,221

-3,98

55

2906,25

15,415

-4,30

56

3000,00

15,602

-4,57

57

3093,75

15,783

-4,77

58

3187,50

15,956

-4,91

59

3281,25

16,124

-4,98

60

3375,00

16,287

-4,97

61

3468,75

16,445

-4,90

62

3562,50

16,598

-4,76

63

3656,25

16,746

-4,55

64

3750,00

16,891

-4,29

65

3843,75

17,032

-3,99

66

3937,50

17,169

-3,64

67

4031,25

17,303

-3,26

68

4125,00

17,434

-2,86

69

4218,75

17,563

-2,45

70

4312,50

17,688

-2,04

71

4406,25

17,811

-1,63

72

4500,00

17,932

-1,24

73

4687,50

18,166

-0,51

74

4875,00

18,392

0,12

75

5062,50

18,611

0,64

76

5250,00

18,823

1,06

77

5437,50

19,028

1,39

78

5625,00

19,226

1,66

79

5812,50

19,419

1,88

80

6000,00

19,606

2,08

81

6187,50

19,788

2,27

82

6375,00

19,964

2,46

83

6562,50

20,135

2,65

84

6750,00

20,300

2,86

85

6937,50

20,461

3,09

86

7125,00

20,616

3,33

87

7312,50

20,766

3,60

88

7500,00

20,912

3,89

89

7687,50

21,052

4,20

90

7875,00

21,188

4,54

91

8062,50

21,318

4,91

92

8250,00

21,445

5,31

93

8437,50

21,567

5,73

94

8625,00

21,684

6,18

95

8812,50

21,797

6,67

96

9000,00

21,906

7,19

97

9375,00

22,113

8,33

98

9750,00

22,304

9,63

99

10125,00

22,482

11,08

100

10500,00

22,646

12,71

101

10875,00

22,799

14,53

102

11250,00

22,941

16,54

103

11625,00

23,072

18,77

104

12000,00

23,195

21,23

105

12375,00

23,309

23,94

106

12750,00

23,415

26,90

107

13125,00

23,515

30,14

108

13500,00

23,607

33,67

109

13875,00

23,694

37,51

110

14250,00

23,775

41,67

111

14625,00

23,852

46,17

112

15000,00

23,923

51,04

113

15375,00

23,991

56,29

114

15750,00

24,054

61,94

115

16125,00

24,114

68,00

116

16500,00

24,171

68,00

117

16875,00

24,224

68,00

118

17250,00

24,275

68,00

119

17625,00

24,322

68,00

120

18000,00

24,368

68,00

121

18375,00

24,411

68,00

122

18750,00

24,452

68,00

123

19125,00

24,491

68,00

124

19500,00

24,528

68,00

125

19875,00

24,564

68,00

126

20250,00

24,597

68,00


Таблица Г.2а - Верхние границы критических полос. Частота дискретизации 32 кГц. Уровень I


Номер

Номер (
) в таблице Г.1а

Частота

Гц

Барк

0

1

62,500

0,617

1

3

187,500

1,842

2

5

312,500

3,037

3

7

437,500

4,185

4

9

562,500

5,272

5

11

687,500

6,289

6

13

812,500

7,233

7

15

937,500

8,103

8

18

1125,000

9,275

9

21

1312,500

10,301

10

24

1500,000

11,199

11

27

1687,500

11,988

12

32

2000,000

13,104

13

37

2312,500

14,027

14

44

2750,000

15,087

15

50

3250,000

16,069

16

55

3875,000

17,078

17

61

4625,000

18,089

18

68

5500,000

19,095

19

74

6500,000

20,079

20

79

7750,000

21,098

21

85

9250,000

22,046

22

94

11500,000

23,030

23

108

15000,000

23,923


Таблица Г.2б - Верхние границы критических полос. Частота дискретизации 44,1 кГц. Уровень I


Номер

Номер (
) в таблице Г1.б

Частота

Гц

Барк

0

1

86,133

0,850

1

2

172,266

1,694

2

3

258,398

2,525

3

5

430,664

4,124

4

6

516,797

4,882

5

8

689,063

6,301

6

9

775,195

6,959

7

11

947,461

8,169

8

13

1119,727

9,244

9

15

1291,992

10,195

10

17

1464,258

11,037

11

20

1722,656

12,125

12

23

1981,055

13,042

13

27

2325,586

14,062

14

32

2756,250

15,100

15

37

3186,914

15,955

16

45

3875,977

17,079

17

50

4478,906

17,904

18

55

5340,234

18,922

19

61

6373,828

19,963

20

68

7579,688

20,971

21

75

9302,344

22,074

22

81

11369,531

22,984

23

93

15503,906

24,013

24

106

19982,813

24,573


Таблица Г.2в - Верхние границы критических полос. Частота дискретизации 48 кГц. Уровень I


Номер

Номер (
) в таблице Г.1в

Частота

Гц

Барк

0

1

93,750

0,925

1

2

187,500

1,842

2

3

281,250

2,742

3

4

375,000

3,618

4

5

468,750

4,463

5

6

562,500

5,272

6

7

656,250

6,041

7

9

843,750

7,457

8

10

937,500

8,103

9

12

1125,000

9,275

10

14

1312,500

10,301

11

16

1500,000

11,199

12

19

1781,250

12,347

13

21

1968,750

13,002

14

25

2343,750

14,111

15

29

2718,750

15,018

16

35

3281,250

16,124

17

41

3843,750

17,032

18

49

4687,500

18,166

19

53

5437,500

19,028

20

58

6375,000

19,964

21

65

7687,500

21,052

22

73

9375,000

22,113

23

79

11625,000

23,072

24

89

15375,000

23,991

25

102

20250,000

24,597


Таблица Г.2г - Верхние границы критических полос. Частота дискретизации 32 кГц. Уровень II


Номер

Номер (
) в таблице Г.1г

Частота

Гц

Барк

0

1

31,250

0,309

1

3

93,750

0,925

2

6

187,500

1,842

3

10

312,500

3,037

4

13

406,250

3,903

5

17

531,250

5,006

6

21

656,250

6,041

7

25

781,250

7,004

8

30

937,500

8,103

9

35

1093,750

9,090

10

41

1281,250

10,139

11

47

1468,750

11,058

12

51

1687,500

11,988

13

56

2000,000

13,104

14

61

2312,500

14,027

15

68

2750,000

15,087

16

74

3250,000

16,069

17

79

3875,000

17,078

18

85

4625,000

18,089

19

92

5500,000

19,095

20

98

6500,000

20,079

21

103

7750,000

21,098

22

109

9250,000

22,046

23

118

11500,000

23,030

24

132

15000,000

23,923


Таблица Г.2д - Верхние границы критических полос. Частота дискретизации 44,1 кГц. Уровень II


Номер

Номер (
) в таблице Г.1д

Частота

Гц

Барк

0

1

43,066

0,425

1

2

86,133

0,850

2

3

129,199

1,273

3

5

215,332

2,112

4

7

301,465

2,934

5

10

430,664

4,124

6

13

559,863

5,249

7

16

689,063

6,301

8

19

818,262

7,274

9

22

947,461

8,169

10

26

1119,727

9,244

11

30

1291,992

10,195

12

35

1507,324

11,232

13

40

1722,656

12,125

14

46

1981,055

13,042

15

51

2325,586

14,062

16

56

2756,250

15,100

17

62

3273,047

16,11

18

69

3875,977

17,079

19

74

4478,906

17,904

20

79

5340,234

18,922

21

85

6373,828

19,963

22

92

7579,688

20,971

23

99

9302,344

22,074

24

105

11369,531

22,984

25

117

15503,906

24,013

26

130

19982,813

24,573


Таблица Г.2е - Верхние границы критических полос. Частота дискретизации 48 кГц. Уровень II


Номер

Номер (
) в таблице Г.1е

Частота

Гц

Барк

0

1

46,875

0,463

1

2

93,750

0,925

2

3

140,625

1,385

3

5

234,375

2,295

4

7

328,125

3,184

5

9

421,875

4,045

6

12

562,500

5,272

7

14

656,250

6,041

8

17

796,875

7,119

9

20

937,500

8,103

10

24

1125,000

9,275

11

27

1265,625

10,057

12

32

1500,000

11,199

13

37

1734,375

12,170

14

42

1968,750

13,002

15

49

2343,750

14,111

16

53

2718,750

15,018

17

59

3281,250

16,124

18

65

3843,750

17,032

19

73

4687,500

18,166

20

77

5437,500

19,028

21

82

6375,000

19,964

22

89

7687,500

21,052

23

97

9375,000

22,113

24

103

11625,000

23,072

25

113

15375,000

23,991

26

126

20250,000

24,597


Г.2 Психоакустическая модель 2


Г.2.1 Общие сведения


Психоакустическая модель 2 - независимая психоакустическая модель, которая может быть скорректирована и адаптирована к любому уровню. В этом приложении дается общее описание психоакустической модели 2 и достаточная информация для ее реализации на Уровнях I и II. Психоакустическая модель Уровня III базируется на этой реализации. Модель адаптирована в соответствии с описанием кодера Уровня III.

Блок расчета порога маскирования имеет три входа:


1. Смещение окна анализа
iblen
, где 384
iblen
640. Параметр
iblen
должен оставаться постоянным на протяжении всего процесса расчета порога маскирования. Если необходимо вычислить пороги для двух различных смещений (как на Уровне III), то требуется два расчета, каждый с соответствующей фиксированной длиной смещения. В случае, когда
iblen
вне диапазона 384-640, необходимо вычисление психоакустических порогов с различными длинами окон и смещений. Есть два способа выполнить это:

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

б) использовать ту же длину преобразования, но с существенно более коротким окном Хана, подходящим для данных и задаче.

Выбор оставляют за конкретной реализацией.

2. Новые iblen отсчетов сигнала, вместе с задержанными отсчетами (либо в наборе фильтров, либо в блоке психоакустического расчета) помещаются по центру окна анализа.

3. Для стандартных частот дискретизации предусмотрены соответствующие таблицы. Частота дискретизации, как и iblen, должна остаться постоянной на протяжении одной реализации расчета порога маскирования.


Выходом психоакустической модели 2 является вектор отношений сигнал-маска,
, который адаптируется к уровням как описано ниже.
Перед реализацией модели массив данных БПФ, а также массивы
и
, должны быть обнулеваны.

На Уровне II значения психоакустических отношений должны быть вычислены дважды для каждого фрейма. Худший из двух вариантов используется при распределении битов, как показано в программной модели для Уровней I и II с психоакустической моделью 2.


Г.2.2 Комментарии к обозначениям


В течение процесса вычисления порога маскирования используются три индекса:


- номер спектральной линии БПФ, индекс 1 соответствует постоянной составляющей, индекс 513 соответствует частоте Найквиста;
- номер раздела, если при вычислении используется свертка или сумма,
будет использоваться в качестве переменной суммирования, нумерация раздела начинается с 1;
- номер частотной полосы, индекс 1 соответствует самой нижней полосе субполосного набора фильтров.

Г.2.3 Функция распределения маскирования

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


,
где
- значение (в Барках), соответствующее полосе, для которой рассчитывается функция распределения;
- расстояние (в Барках) до полосы, на которую оказывает влияние полоса
.
- временная переменная.
где
- временная переменная;
- функция, возвращающая наименьшее значение из
и
.
является еще одной временной переменной.
.

Г.2.4 Порядок расчета порога


Следующие шаги необходимы для вычисления
.

1. Восстановление 1024 отсчетов входного сигнала.


iblen
новых отсчетов становятся доступными при каждом обращении к пороговому генератору. Пороговый генератор должен хранить 1024 отсчетов
iblen
и объединить эти отсчеты для точного восстановления 1024 последовательных отсчетов входного сигнала
, где
- индекс, 1
1024 текущего входного потока.

2. Вычисление комплексного спектра входного сигнала.


Во-первых,
взвешивается в окне Ханна длиной 1024, то есть
.

Следует обратить внимание на то, что на Уровне III может использоваться более короткое окно, при активном переключении окон, с соответствующим центрированием, согласно описанию кодера Уровня III.


Во-вторых, вычисляется стандартное прямое БПФ
.
В-третьих, определяются амплитудная
и фазовая
составляющие преобразованного сигнала
.
3. Вычисление предсказания
и
.
Предсказанные величины амплитуды,
, и фазы
вычисляются по предшествующим двум пороговым блокам
и
.
;

,
где
- текущий номер блока;
- предыдущий блок;
- блок, предшествующий предыдущему блоку.
4. Вычисление меры неопределенности
.
.
Ценой ухудшения качества эта мера может быть вычислена только для частотных линий в нижней части спектра. Расчет должен быть выполнен от постоянной составляющей до, по крайней мере, 3 кГц и предпочтительно - 7 кГц. Ограничение верхнего предела ниже 5,5 кГц может значительно ухудшить субъективную оценку алгоритма сжатия. Значения
выше этого предела должны быть установлены равными 0,3. Лучшие результаты будут получены при вычислении
до 20 кГц.

5. Вычисление энергии и неопределенности в разделах.


Энергия в каждом разделе
:
и взвешенная неопределенность
:
.

Разбиение на разделы обеспечивает разрешение, приблизительно равное одной линии БПФ или 1/3 критической полосы. На нижних частотах одна линия БПФ соответствует одному разделу. На верхних частотах большая часть линии объединяется в один раздел. Границы разделов для каждой из трех частот дискретизации указаны в таблице Г.3. Эти значения будут использоваться в процессе вычисления порога.


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

6. Вычисление свертки энергий и неопределенности разделов с функцией распределения маскирования:


;

.
Поскольку
взвешивается с энергией сигнала, оно должно быть нормализовано к
.
.
Одновременно, из-за отсутствия нормирования распространяющейся функции, должно быть нормализовано
и вычислена нормализованная энергия
.
.
Коэффициент нормализации
:
.
7. Преобразование
в индекс тональности
.
.
Каждый
лежит в диапазоне 0
I.*
8. Вычисление требуемого
в каждом разделе.
Необходимое отношение сигнал-шум,
:
,
где
- функция, возвращающая наибольшее значение из
и
;
- значение для тонального маскера (в дБ) в разделе;
- значение для шумового маскера (в дБ) в разделе,
5,5 дБ для всех
.

9. Вычисление отношения мощностей.


Отношение мощностей
:
.
10. Вычисление фактического энергетического порога
.
.
11. Распространение порога по линиям БПФ,
.
.
12. Прибавление абсолютных порогов для получения прибавления энергетическому порогу слышимости,
.

Значения absthr в дБ даны в таблицах Г.4 относительно уровня, соответствующего энергии БПФ синусоиды амплитудой ±1/2 Isb. Значения в дБ должны быть преобразованы в энергию после нормирования коэффициентов БПФ.

13. Регулирование пре-эха

На Уровне III выполняется регулирование пре-эха. Фактический процесс регулирования описывается в части спецификации кодера для Уровня III. Этот шаг пропускается для Уровней I и II.


14. Вычисление отношения сигнал-маска
.
Энергия в полосе
:
.
Затем, если (
1), то уровень шума в полосе,
, вычисляется как

иначе


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

Таблица Г.3а - Разделы для частоты дискретизации 32 кГц


Номер

low
high

bval

minval

TMN

1

1

1

0,00

0,0

24,5

2

2

4

0,63

0,0

24,5

3

5

7

1,56

20,0

24,5

4

8

10

2,50

20,0

24,5

5

11

13

3,44

20,0

24,5

6

14

16

4,34

20,0

24,5

7

17

19

5,17

20,0

24,5

8

20

22

5,94

20,0

24,5

9

23

25

6,63

17,0

24,5

10

26

28

7,28

15,0

24,5

11

29

31

7,90

15,0

24,5

12

32

34

8,50

10,0

24,5

13

35

37

9,06

7,0

24,5

14

38

41

9,65

7,0

24,5

15

42

45

10,28

4,4

24,8

16

46

49

10,87

4,4

25,4

17

50

53

11,41

4,5

25,9

18

54

57

11,92

4,5

26,4

19

58

61

12,39

4,5

26,9

20

62

65

12,83

4,5

27,3

21

66

70

13,29

4,5

27,8

22

71

75

13,78

4,5

28,3

23

76

81

14,27

4,5

28,8

24

82

87

14,76

4,5

29,3

25

88

93

15,22

4,5

29,7

26

94

99

15,63

4,5

30,1

27

100

106

16,06

4,5

30,6

28

107

113

16,47

4,5

31,0

29

114

120

16,86

4,5

31,4

30

121

129

17,25

4,5

31,8

31

130

138

17,65

4,5

32,2

32

139

148

18,05

4,5

32,5

33

149

159

18,42

4,5

32,9

34

160

170

18,81

4,5

33,3

35

171

183

19,18

4,5

33,7

36

184

196

19,55

4,5

34,1

37

197

210

19,93

4,5

34,4

38

211

225

20,29

4,5

34,8

39

226

240

20,65

4,5

35,2

40

241

258

21,02

4,5

35,5

41

259

279

21,38

4,5

35,9

42

280

300

21,74

4,5

36,2

43

301

326

22,10

4,5

36,6

44

327

354

22,44

4,5

36,9

45

355

382

22,79

4,5

37,3

46

383

420

23,14

4,5

37,6

47

421

458

23,49

4,5

38,0

48

459

496

23,83

4,5

38,3

49

497

513

24,07

4,5

38,6


Таблица Г.3б - Разделы для частоты дискретизации 44,1 кГц


Номер

low
high

bval

minval

TMN

1

1

1

0,00

0,0

24,5

2

2

2

0,43

0,0

24,5

3

3

3

0,86

0,0

24,5

4

4

4

1,29

20,0

24,5

5

5

5

1,72

20,0

24,5

6

6

6

2,15

20,0

24,5

7

7

7

2,58

20,0

24,5

8

8

8

3,01

20,0

24,5

9

9

9

3,45

20,0

24,5

10

10

10

3,88

20,0

24,5

11

11

11

4,28

20,0

24,5

12

12

12

4,67

20,0

24,5

13

13

13

5,06

20,0

24,5

14

14

14

5,42

20,0

24,5

15

15

15

5,77

20,0

24,5

16

16

16

6,11

17,0

24,5

17

17

19

6,73

17,0

24,5

18

20

22

7,61

15,0

24,5

19

23

25

8,44

10,0

24,5

20

26

28

9,21

7,0

24,5

21

29

31

9,88

7,0

24,5

22

32

34

10,51

4,4

25,0

23

35

37

11,11

4,5

25,6

24

38

40

11,65

4,5

26,2

25

41

44

12,24

4,5

26,7

26

45

48

12,85

4,5

27,4

27

49

52

13,41

4,5

27,9

28

53

56

13,94

4,5

28,4

29

57

60

14,42

4,5

28,9

30

61

64

14,86

4,5

29,4

31

65

69

15,32

4,5

29,8

32

70

74

15,79

4,5

30,3

33

75

80

16,26

4,5

30,8

34

81

86

16,73

4,5

31,2

35

87

93

17,19

4,5

31,7

36

94

100

17,62

4,5

32,1

37

101

108

18,05

4,5

32,5

38

109

116

18,45

4,5

32,9

39

117

124

18,83

4,5

33,3

40

125

134

19,21

4,5

33,7

41

135

144

19,60

4,5

34,1

42

145

155

20,00

4,5

34,5

43

156

166

20,38

4,5

34,9

44

167

177

20,74

4,5

35,2

45

178

192

21,12

4,5

35,6

46

193

207

21,48

4,5

36,0

47

208

222

21,84

4,5

36,3

48

223

243

22,20

4,5

36,7

49

244

264

22,56

4,5

37,1

50

265

286

22,91

4,5

37,4

51

287

314

23,26

4,5

37,8

52

315

342

23,60

4,5

38,1

53

343

371

23,95

4,5

38,4

54

372

401

24,30

4,5

38,8

55

402

431

24,65

4,5

39,1

56

432

469

25,00

4,5

39,5

57

470

513

25,33

3,5

39,8


Таблица Г.3в - Разделы для частоты дискретизации 48 кГц


Номер

low
high

bval

minval

TMN

1

1

1

0,00

0,0

24,5

2

2

2

0,47

0,0

24,5

3

3

3

0,94

0,0

24,5

4

4

4

1,41

20,0

24,5

5

5

5

1,88

20,0

24,5

6

6

6

2,34

20,0

24,5

7

7

7

2,81

20,0

24,5

8

8

8

3,28

20,0

24,5

9

9

9

3,75

20,0

24,5

10

10

10

4,20

20,0

24,5

11

11

11

4,63

20,0

24,5

12

12

12

5,05

20,0

24,5

13

13

13

5,44

20,0

24,5

14

14

14

5,83

20,0

24,5

15

15

15

6,19

20,0

24,5

16

16

16

6,52

17,0

24,5

17

17

17

6,86

17,0

24,5

18

18

20

7,49

15,0

24,5

19

21

23

8,40

10,0

24,5

20

24

26

9,24

7,0

24,5

21

27

29

9,97

7,0

24,5

22

30

32

10,65

4,4

25,1

23

33

35

11,28

4,5

25,8

24

36

38

11,86

4,5

26,4

25

39

41

12,39

4,5

26,9

26

42

45

12,96

4,5

27,5

27

46

49

13,56

4,5

28,1

28

50

53

14,12

4,5

28,6

29

54

57

14,62

4,5

29,1

30

58

62

15,14

4,5

29,6

31

63

67

15,67

4,5

30,2

32

68

72

16,15

4,5

30,7

33

73

77

16,58

4,5

31,1

34

78

83

17,02

4,5

31,5

35

84

89

17,44

4,5

31,9

36

90

95

17,84

4,5

32,3

37

96

103

18,24

4,5

32,7

38

104

111

18,66

4,5

33,2

39

112

120

19,07

4,5

33,6

40

121

129

19,47

4,5

34,0

41

130

138

19,85

4,5

34,3

42

139

149

20,23

4,5

34,7

43

150

160

20,63

4,5

35,1

44

161

173

21,02

4,5

35,5

45

174

187

21,40

4,5

35,9

46

188

201

21,76

4,5

36,3

47

202

219

22,12

4,5

36,6

48

220

238

22,47

4,5

37,0

49

239

257

22,83

4,5

37,3

50

258

283

23,18

4,5

37,7

51

284

309

23,53

4,5

38,0

52

310

335

23,88

4,5

38,4

53

336

363

24,23

4,5

38,7

54

364

391

24,58

4,5

39,1

55

392

423

24,93

4,5

39,4

56

424

465

25,27

4,5

39,8

57

466

507

25,61

3,5

40,1

58

508

513

25,81

3,5

40,3


Таблица Г.4а - Значения абсолютного порога слышимости для частоты дискретизации 32 кГц


Номер (линия)

absthr, дБ

Нижняя граница

Верхняя граница

1

1

58,23

2

2

33,44

3

3

24,17

4

4

19,20

5

5

16,05

6

6

13,87

7

7

12,26

8

8

11,01

9

9

10,01

10

10

9,20

11

11

8,52

12

12

7,94

13

13

7,44

14

14

7,00

15

15

6,62

16

16

6,28

17

17

5,97

18

18

5,70

19

19

5,44

20

20

5,21

21

21

5,00

22

22

4,80

23

23

4,62

24

24

4,45

25

25

4,29

26

26

4,14

27

27

4,00

28

28

3,86

29

29

3,73

30

30

3,61

31

31

3,49

32

32

3,37

33

33

3,26

34

34

3,15

35

35

3,04

36

36

2,93

37

37

2,83

38

38

2,73

39

39

2,63

40

40

2,53

41

41

2,42

42

42

2,32

43

43

2,22

44

44

2,12

45

45

2,02

46

46

1,92

47

47

1,81

48

48

1,71

49

50

1,49

51

52

1,27

53

54

1,04

55

56

0,80

57

57

0,55

59

60

0,29

61

62

0,02

63

64

-0,25

65

66

-0,54

67

68

-0,83

69

70

-1,12

71

72

-1,43

73

74

-1,73

75

76

-2,04

77

78

-2,34

79

80

-2,64

81

82

-2,93

83

84

-3,22

85

86

-3,49

87

88

-3,74

89

90

-3,98

91

92

-4,20

93

94

-4,40

95

96

-4,57

97

100

-4,82

101

104

-4,96

105

108

-4,97

109

112

-4,86

113

116

-4,63

117

120

-4,29

121

124

-3,87

125

128

-3,39

129

132

-2,86

133

136

-2,31

137

140

-1,77

141

144

-1,24

145

148

-0,74

149

152

-0,29

153

156

0,12

157

160

0,48

161

164

0,79

165

168

1,06

169

172

1,29

173

176

1,49

177

180

1,66

181

184

1,81

185

188

1,95

189

192

2,08

193

200

2,33

201

208

2,59

209

216

2,86

217

224

3,17

225

232

3,51

233

240

3,89

241

248

4,31

249

256

4,79

257

264

5,31

265

272

5,88

273

280

6,50

281

288

7,19

289

296

7,93

297

304

8,75

305

312

9,63

313

320

10,58

321

328

11,60

329

336

12,71

337

344

13,90

345

352

15,18

353

360

16,54

361

368

18,01

369

376

19,57

377

384

21,23

385

392

23,01

393

400

24,90

401

408

26,90

409

416

29,03

417

424

31,28

425

432

33,67

433

440

36,19

441

448

38,86

449

456

41,67

457

464

44,63

465

472

47,76

473

480

51,03


Примечание - Значение 0 дБ соответствует уровню абсолютного порога слышимости на 96 дБ ниже уровня энергии синусоидальной волны с амплитудой ±32760.

Таблица Г.4б - Значения абсолютного порога слышимости для частоты дискретизации 44,1 кГц


Номер (линия)

absthr, дБ

Нижняя граница

Верхняя граница

1

1

45,05

2

2

25,87

3

3

18,70

4

4

14,85

5

5

12,41

6

6

10,72

7

7

9,47

8

8

8,50

9

9

7,73

10

10

7,10

11

11

6,56

12

12

6,11

13

13

5,72

14

14

5,37

15

15

5,07

16

16

4,79

17

17

4,55

18

18

4,32

19

19

4,11

20

20

3,92

21

21

3,74

22

22

3,57

23

23

3,40

24

24

3,25

25

25

3,10

26

26

2,95

27

27

2,81

28

28

2,67

29

29

2,53

30

30

2,39

31

31

2,25

32

32

2,11

33

33

1,97

34

34

1,83

35

35

1,68

36

36

1,53

37

37

1,38

38

38

1,23

39

39

1,07

40

40

0,90

41

41

0,74

42

42

0,56

43

43

0,39

44

44

0,21

45

45

0,02

46

46

-0,17

47

47

-0,36

48

48

-0,56

49

50

-0,96

51

52

-1,37

53

54

-1,79

55

56

-2,21

57

58

-2,63

59

60

-3,03

61

62

-3,41

63

64

-3,77

65

66

-4,09

67

68

-4,37

69

70

-4,60

71

72

-4,78

73

74

-4,91

75

76

-4,97

77

78

-4,98

79

80

-4,92

81

82

-4,81

83

84

-4,65

85

86

-4,43

87

88

-4,17

89

90

-3,87

91

92

-3,54

93

94

-3,19

95

96

-2,82

97

100

-2,06

101

104

-1,33

105

108

-0,64

161

164

3,25

165

168

3,49

161

164

3,25

165

168

3,49

161

164

3,25

165

168

3,49

161

164

3,25

165

168

3,49

161

164

3,25

165

168

3,49

161

164

3,25

165

168

3,49

161

164

3,25

161

164

3,25

165

168

3,49

169

172

3,74

173

176

4,02

177

180

4,32

181

184

4,64

185

188

4,98

189

192

5,35

193

200

6,15

201

208

7,07

209

216

8,10

217

224

9,25

225

232

10,54

233

240

11,97

241

248

13,56

249

256

15,30

257

264

17,23

265

272

19,33

273

280

21,64

281

288

24,15

289

296

26,88

297

304

29,84

305

312

33,04

313

320

36,51

321

328

40,24

329

336

44,26

337

344

48,58

345

352

53,21

353

360

58,17

361

368

63,48

369

376

69,13

377

384

69,13

385

392

69,13

393

400

69,13

401

408

69,13

409

416

69,13

417

424

69,13

425

432

69,13

433

440

69,13

441

448

69,13

449

456

69,13

457

464

69,13


Примечание - Значение 0 дБ соответствует уровню абсолютного порога слышимости на 96 дБ ниже уровня энергии синусоидальной волны с амплитудой ±32760.

Таблица Г.4в - Значения абсолютного порога слышимости для частоты дискретизации 48 кГц


Номер (линия)

absthr, дБ

Нижняя граница

Верхняя граница

1

1

42,10

2

2

24,17

3

3

17,47

4

4

13,87

5

5

11,60

6

6

10,01

7

7

8,84

8

8

7,94

9

9

7,22

10

10

6,62

11

11

6,12

12

12

5,70

13

13

5,33

14

14

5,00

15

15

4,71

16

16

4,45

17

17

4,21

18

18

4,00

19

19

3,79

20

20

3,61

21

21

3,43

22

22

3,26

23

23

3,09

24

24

2,93

25

25

2,78

26

26

2,63

27

27

2,47

28

28

2,32

29

29

2,17

30

30

2,02

31

31

1,86

32

32

1,71

33

33

1,55

34

34

1,38

35

35

1,21

36

36

1,04

37

37

0,86

38

38

0,67

39

39

0,49

40

40

0,29

41

41

0,09

42

42

-0,11

43

43

-0,32

44

44

-0,54

45

45

-0,75

46

46

-0,97

47

47

-1,20

48

48

-1,43

49

50

-1,88

51

52

-2,34

53

54

-2,79

55

56

-3,22

57

58

-3,62

59

60

-3,98

61

62

-4,30

63

64

-4,57

65

66

-4,77

67

68

-4,91

69

70

-4,98

71

72

-4,97

73

74

-4,90

75

76

-4,76

77

78

-4,55

79

80

-4,29

81

82

-3,99

83

84

-3,64

85

86

-3,26

87

88

-2,86

89

90

-2,45

91

92

-2,04

93

94

-1,63

95

96

-1,24

97

100

-0,51

101

104

0,12

105

108

0,64

109

112

1,06

113

116

1,39

117

120

1,66

121

124

1,88

125

128

2,08

129

132

2,27

133

136

2,46

137

140

2,65

141

144

2,86

145

148

3,09

149

152

3,33

153

156

3,60

157

160

3,89

161

164

4,20

165

168

4,54

169

172

4,91

173

176

5,31

177

180

5,73

181

184

6,18

185

188

6,67

189

192

7,19

193

200

8,33

201

208

9,63

209

216

11,08

217

224

12,71

225

232

14,53

233

240

16,54

241

248

18,77

249

256

21,23

257

264

23,94

265

272

26,90

273

280

30,14

281

288

33,67

289

296

37,51

297

304

41,67

305

312

46,17

313

320

51,04

321

328

56,29

329

332

61,94

333

340

68,00

341

348

68,00

349

356

68,00

357

364

68,00

365

372

68,00

373

380

68,00

381

388

68,00

389

396

68,00

397

404

68,00

405

412

68,00

413

420

68,00

421

428

68,00


Примечание - Значение 0 дБ соответствует уровню абсолютного порога слышимости на 96 дБ ниже уровня энергии синусоидальной волны с амплитудой ±32760.

Таблица Г.5 - Разделы для частоты дискретизации. Уровни I и II


Номер

,

0

1

0

1

17

0

2

33

0

3

49

0

4

65

0

5

81

0

6

97

0

7

113

0

8

129

0

9

145

0

10

161

0

11

177

0

12

193

0

13

209

1

14

225

1

15

241

1

16

257

1

17

273

1

18

289

1

19

305

1

20

321

1

21

337

1

22

353

1

23

369

1

24

385

1

25

401

1

26

417

1

27

433

1

28

449

1

29

465

1

30

481

1

31

497

1

32

513

1


Приложение Д

(обязательное)


Разрядная чувствительность к ошибкам

Д.1 Общие сведения


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

5 - катастрофическая;

4 - очень раздражающая;

3 - раздражающая;

2 - немного раздражающая;

1 - слышимая;

0 - нечувствительная.

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

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

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


Д.2 Уровни I и II


Параметры

Номер бита

Чувствительность

Распределение битов

Все биты

5

Выбор масштабных коэффициентов

Все биты

5

Масштабные коэффициенты

5 (msb)

4

4

4

3

4

2

3

1

2

0 (Isb)

1

Субполосные отсчеты (в соответствии с распределением бит)

8-16 (msb)

3

5-7

2

3, 4

1

(Isb) 0-2

0


Д.3 Уровень III


Параметры

Номер бита

Чувствительность

scfsi

Все биты

5

part2_3_length

Все биты

4

big_values

Все биты

3

global_gain

Все биты

5

scalefac_compress

Все биты

5

window_switching_flag

0

5

block_type

Все биты

4

mked_block_flag

0

4

table_select

Все биты

5

region0_count

Все биты

3

regioin1_count

Все биты

3

preflag

0

2

scalefac_scale

0

2

count1table_select

0

3

Subblock_gain

2 (msb)

4

1

3

0 (Isb)

2

scale_fac

3 (msb)

3 (2)

2

3 (2)

1

2 (1)

0 (Isb)

2 (1)

Huffmancodebits
0

0...n-I

3-0

Длина
scalefac
зависит от
scale_fac_compress
. Значения разрядной чувствительности указаны для
scale_fac_scale
= 1 (если 0, то значение дается в круглых скобках).
Если
- число битов кода Хаффмана в одном блоке, то чувствительность уменьшается линейно от 3 до 0, так как номера битов меняются от 0 до
(от нижних до высоких частот).

Перестановка значений кода Хаффмана.

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


Если
max_hlen
- максимальная длина кодового слова Хаффмана по таблицам, которые используются для кодирования определенного блока, и
- число битов, используемых для кодирования данных блока (но не фрейма) методом Хаффмана, то
int
(
n
/max_
hlen
) слотов заполняются первыми словами кода, начиная с нижних частот. Остальные кодовые комбинации помещаются в оставшееся место снова от нижних до высоких частот.
После чередования битов чувствительность бита
k+i*int
(
n/
max
_hlen
) уменьшается линейно от 3 до 0 с изменением
k
от
0
до
int
(
n
/max
_hlen
)-
l
, где
i
=0,..., max
_hlen
)-
l
, и
- число битов кода Хаффмана в одном блоке.

Это рекомендуемая практика для данных всех каналов Уровня III, где важна устойчивость к ошибкам.


Приложение Е

(обязательное)


Маскирование ошибок

Дополнительной функцией кодированного потока битов является наличие
СRС
-кода, который обеспечивает обнаружение некоторых ошибок в процессе декодирования. Расстояние Хэмминга для этого кода с обнаружением ошибок
4, что позволяет обнаружить до 3 одиночных ошибочных битов или один ошибочный пакет длиной до 16 битов. Количество и позиция защищенных битов в пределах одного кодированного аудиофрейма обычно зависит от уровня, режима, скорости передачи данных и частоты дискретизации.

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

Для маскирования могут применяться известные методы, например метод информационной замены или отключение звука. Простой метод замены, при наличии ошибочного фрейма, заключается в замене его предыдущим (свободным от ошибок).


Приложение Ж

(обязательное)


Кодирование в режиме joint stereo*


Ж.1 Кодированиеintensity stereoна Уровнях I и II

Дополнительный метод кодирования joint stereo, используемый на Уровнях I и II, является кодированием intensity stereo. Кодирование intensity stereo используется для повышения качества звучания и/или уменьшения скорости передачи стереофонических сигналов. Увеличение скорости передачи обычно составляет приблизительно 10-30 кбит/с. Это требует незначительного дополнительного усложнения декодера, увеличение сложности кодера невелико и не влияет на задержку в кодере и декодере.

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

Основная идея кодирования intensity stereo состоит в том, что для некоторых субполос передача ami заменяется на субполосные отсчеты, при этом передается только суммарный сигнал, но с масштабными коэффициентами для левого и правого каналов, что позволяет таким образом сохранить стереофонический образ.

Блок-схемы кодера стерео и декодера, включая режим intensity stereo, показаны на рисунках Ж.1 и Ж.2. Во-первых, оценка делается из необходимой скорости передачи для левого и правого каналов. Если требуемая скорость передачи превышает доступную скорость передачи, то требуемая скорость передачи может быть уменьшена за счет установки нескольких субполос в режим intensity stereo. В зависимости от требуемой скорости передачи субполосы 16-31, 12-31, 8-31 или 4-31 могут быть установлены в режим intensity stereo. Для квантования этих объединенных субполос используется большее из двух значений распределения битов для левого и правого каналов.

Рисунок Ж.1 - Общая блок-схема кодера стерео

Рисунок Ж.2 - Общая блок-схема декодера стерео

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

Ж.2 ms_stereo и intensity stereo кодирование на Уровне III

На Уровне III может использоваться комбинация ms_stereo режима (сумма/разность) и режим intensity stereo.

1. Переключение ms_stereo.

Режим ms_stereo включается, если условие


истина. Значения
и
соответствуют энергиям спектральных линий БПФ левого и правого каналов, вычисленным в психоакустической модели.

2. Обработка ms_stereo:

- матрица MS.


В режиме
Ms_stereo
значения нормализованных среднего/бокового каналов
передаются вместо значений левого/правого каналов
.
,
- ограничение ширины канала
.
Все значения
выше самой верхней полосы масштабного коэффициента обнуляются;
- разброс значений канала
.
В каждой полосе масштабных коэффициентов
обнуляются все пары малых значений (
,
).

Следующие пороговые коэффициенты разностного канала применяются к полосам масштабных коэффициентов для block_type! = 2 ("длинное" МДКП):


sb

0

1

2

3

4

5

6

7

8

9

ssb

0,0

0,0

0,0

0,0

0,0

0,10

0,10

0,10

0,10

0,10


sb

10

11

12

13

14

15

16

17

18

19

20

ssb

0,10

0,20

0,30

0,40

0,50

0,60

0,70

0,80

0,90

1,00

1,50


3. Обработкаintensity stereo.

Вычисление позиции intensity stereo.

Для каждой полосы масштабных коэффициентов sb, которая кодируется в режиме intensity stereo, выполняются следующие шаги:


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

Позиция intensity stereo is_possb передается вместо масштабного коэффициента правого канала (всегда три бита, принимает значения от 0 до 6, 7 - недопустимое значение).

Полосы масштабных коэффициентов правого/разностного канала, содержащие только нули после кодирования, которые не принадлежат части intensity_stereo, должны быть переданы с масштабным коэффициентом ’7’ для отключения intensity stereo.


Библиография


[1]

ИСО/МЭК 11172-3:1993

Информационные технологии. Кодирование движущихся изображений и сопутствующего звука для цифровых носителей при скоростях до 1,5 Мбит/с. Часть 3. Аудио (ISO/IEC 11172-3:1993, Information technology - Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s - Part 3: Audio)


__________________________________________________________________________

УДК 621.396:006.354 ОКС 33.170

Ключевые слова: звуковое вещание, электрические параметры, технологии

MPEG-кодирования, масштабирование, защита от ошибок

__________________________________________________________________________