Преобразование элементов mp3_channel_elements в потоки битов MPEG-1/2, уровень 3
В.1 Обзор
Элементы mp3_channel_elements, извлеченные из единицы доступа, должны подвергнуться следующим операциям преобразования, чтобы получить аудиопотоки битов MPEG-1/2, уровень 3, соответствующие ГОСТ Р 54711 или ГОСТ Р 54712:
- для каждого mp3_channel_element на устройство доступа открыть экземпляр декодера или выходной поток;
- для каждого mp3_channel_element в каждой единице доступа выполнить:
- восстановить syncword и IDех;
- скорректировать bitrate_index;
- отрегулировать main_data_begin;
- пересчитать crc_word;
- восстановить кадрирование.
В.2 Сигнализация о частоте дискретизации
Чтобы позволить использовать сигнализацию о частотах дискретизации, не определенных в ГОСТ Р 54711 или ГОСТ Р 54712, используется последний бит syncword. Это приводит к следующей модификации синтаксиса:
Синтаксис | Количество битов | Мнемоника |
header () | ||
{ | ||
syncword; | 11 | bslbf |
Idex; | 1 | bslbf |
... |
syncword Битовая строка '1111 1111 111'.
IDех Один бит, чтобы указать на расширенный ID алгоритма. Имеет значение '0' для частот дискретизации, не определенных в ГОСТ Р 54711 или ГОСТ Р 54712.
Следующая таблица определяет частоту дискретизации в зависимости от значений для IDех и ID:
IDех | ID | Частота дискретизации |
0 | 0 | 8, 11,025, 12 кГц |
1 | 0 | 16, 22,05, 24 кГц (см. ГОСТ Р 54712) |
1 | 1 | 32, 44,1, 48 кГц (см. ГОСТ Р 54711) |
В.3 Инструкции по воcстановлению
Этот процесс реконструкции предоставляет определенные степени свободы:
bitrate_index [чтобы отрегулировать длину фрейма потока битов согласно новым настройкам bitrate_index, частоте дискретизации и padding_bit, может потребоваться вставка битов (стаффинг)].
1) Установить максимально позволенное значение (сигнализация максимально позволенной длины фрейма потока битов).
2) Установить ближайшее более высокое значение, которое соответствует длине mp3_channel_element.
3) Установить ближайшее более высокое значение, которое соответствует длине mp3_channel_element минус main_data_begin текущего аудиофрейма.
4) main_data_begin обнулить.