ГОСТ Р 53556.4—2013
Таблица 169 показывает в качестве примера вывод первого шага предварительной сортировки для
коротких блоков, принимая двухмерные сборники кодов для окна 0.1. 6 и 7 и четырехмерные сборники
кодов для окна 2, 3,4 и 5.
Второй шаг предварительной сортировки.
Чем больше энергии, которую содержит линия спектра, тем более слышимо ее искажение. Энергия в
пределах спектральной строки связывается с используемым сборником кодов. Сборники кодов с низкими
числами могут представить только низкие значения и позволяют только небольшие ошибки, вто время как
сборники кодов с высокими числами могут представлять высокие значения и позволяют большие ошибки.
Поэтому кодовые комбинации предварительносортируются взависимости от используемого сборни
ка кодов. Если используются устойчивый к ошибкам раздел данных — порядок 11.31,30,29,28.27,26,25,
24. 23, 22. 21, 20. 19, 18,17,16, 9/10. 7/8, 5/6. 3/4, 1/2. Если используются нормальный раздел данных-
порядок 11.9/10,7/8,5/6.3/4,1/2. Этот порядок основан на наибольшем абсолютном значении таблиц. Этот
второй шаг предварительной сортировки выполняется на описанном модуле базой модуля, используемой в
первом шаге предварительной сортировки. Вывод первого шага предварительной сортировки сканирует ся
последовательным способом для каждого сборника кодов.
Присвоение номеров модулям согласно следующей метрике может выполнить эти два шага предва
рительной сортировки:
codbookPriority [32J =
fx.21,21.20,20,19,19.18,18,17,17,0,х,х,х,х.16.15.14.13.12.11,10,9,8,7,6.5,4.3,2,1/
assignedUnitNr = (codebookPriorily[cb] ’ maxNrOfLinesInWindow
+ nrOfFirstLinelnUnil) * MaxNrOfWindows + window
Приоритет сборника кодовсогласно второму шагу предварительной сортировки.
Постоянное число: Г— в случае одного длинного окна и 128 — в случае восьми
коротких окон.
Число между 0 и 1020 — в случае одного длинного окна и между 0 и 124 — в
случае восьми коротких окон (это число всегда является кратным числа четыре).
Постоянное число: 1— в случав одного длинного окна и 8 — в случае восьми
коротких окон.
Всегда 0 — в случае одного длинного окна, число между 0 и 7— в случае вось
ми коротких окон и вида модулей в порядке возрастания с использованием этих
присвоенных номеров модуля.
Примечание для кодера — Чтобы уменьшить слышимые артефакты в случае ошибок в пределах
спектральныхданных, настоятельно рекомендуется использовать сборник кодов 11 только в случае необ
ходимости.
6.16.3.3.2 Ширина сегмента и инстанцирование (реализация) сегмента
Ширины сегментов зависят от используемогосборника кодов Хаффмана. Они получаются как мини
мумы (в зависимости от сборника кодов) максимальной длины кодовой комбинации и длины самой долин
ной переданной кодовой комбинации:
segmentWidth =минута (maxCwLen. Iengtti_of_longest_codeword).
Таблица 170 показывает значения maxCwLon в зависимости от сборника кодов Хаффмана.
Сегменты реализуются, пока не исчерпывается доступный буфер, тогда как размер этого буфера
дается элементом данных
length_of_rG ordered_speclral_data.
Остающиеся биты в конце буфера увеличива
ют размер последнего сегмента.
6.16.3.3.3 Порядок кодовых комбинаций Хаффмана вспектральных данных
Схема записи для non-PCWs.
Предложенная схема вводит термин набор. Набор содержит определенное число кодовых комбина
ций. Если N является числом сегментов, все наборы, кроме последнего, содержат N кодовых комбинаций.
Non-PCWs пишутся последовательно в эти наборы. В силу алгоритма предварительной сортировки набор
один содержит самые важные non-PCWs. Важность кодовых комбинаций, сохраненных в рамках
набора, является тем меньше, чем выше номер набора.
Наборы пишутся последовательно. Если один набор был записан полностью, запускается запись
следующего набора. Чтобы улучшить поведение распространения ошибок между последовательными на
борами. направление записи в пределах сегментов изменяется от набора к набору. В то время как PCWs
пишутся слева направо, кодовые комбинации набора один пишутся справа налево, кодовые комбинации
c:
codebookPnority [cb]
maxNrOfLinesInWindow
nrOfFirstLinelnUnit
maxNrOfWindObvs
v/indow
184