ГОСТ Р 53556.9—2013
данные, записанные в прямом направлении, начиная после последней кодовой комбинации
Хаффмана.
8)расположение наполнения (вставки битов) в конце последней кодовой комбинации Хаффмана
(расположение может быть вычислено, используя part_2_3_length): сохраняет вспомогательные
данные, записанные в обратном направлении, начиная перед main_data следующего фрейма.
9) никакое наполнение не требуется: сохраняет любые вспомогательные данные.
В зависимости от требований скорости передачи и вспомогательной обработки данных, эти
возможности могут быть объединены несколькими способами.
Самый простой метод устанавливает максимальную величину скорости передачи. Это
препочтительныйметод,когда питание существующих декодеров MPEG-1/2 уровень3.
main_data_begin обнуляется. Биты стаффинга добавляются до или после вспомогательных данных.
Более передовой метод можно получить из этого простого метода, устанавливая bitrate_index в
ближайшее более высокое значение, которое соответствует длине mp3_channel_element. С этой
модификацией скорость передачи может быть значительно уменьшена.
Для частот дискретизации до 24 кГц (то есть в случаях, где одна гранула формирует фрейм),
размер гранулы может превысить максимальный размер фрейма. Максимальный индекс скорости
передачи может не позволить хранить целый фрейм после заголовка (main_data_begin-0). Это
следует из того факта, что максимальная длина гранулы составляет 960 байтов (7680 битов), но
максимальная длина фрейма, основанная на самом высоком индексе скорости передачи, составляет
576 байтов (для 8 кГц), 417 байтов (для 11.025 кГц). 384 байта (для 12 кГц), 720 байтов (для 16 кГц), 522
байта (для 22,05 кГц), 480 байтов (для 24 кГц). В этом случае main_data_begin должен быть должным
образом скорректирован между нулем и различием между максимальным размером гранулы и
максимальной длиной фрейма.
Чтобыизбежатьнеобходимостистаффингаинеопределенности,main_data_begin
устанавливается в значение, указывающее на конец main_data предыдущего фрейма, bitratejndax
устанавливаетсявближайшееболее высокое значение,котороесоответствуетдлине
mp3_channel_elcmont минус main_data_begin текущего аудиофрейма. Только если main_data_begin
превысит дозволенное значение, должен быть выполнен стаффинг.
Исходный поток битов уровня 3 отлично может быть восстановлен, если корректное значение
main_data_begir соответствующего потока битов MPEG-M2 уровень 3 было сохранено.
9