39
- Поиск спектральных данных и декодирование
Спектральные данные восстанавливаются как последняя часть анализа ICS. Они состоят из всех ненулевых коэффициентов, оставшихся в спектре или спектрах, упорядоченных, как описано в ICSinfo. Для каждой ненулевой, неинтенсивностной кодовой книги данные восстанавливаются с помощью Хаффмана, декодированием четверок или пар, как показано в инструменте прозрачного кодирования (см. раздел 7). Если спектральные данные связываются с беззнаковой кодовой книгой Хаффмана, необходимые знаковые биты следуют за кодовым словом Хаффмана (см. 7.3). В случае сборника кодов ESCAPE, при получении значения escape, соответствующая escape-последовательность появится после указанного кода Хаффмана. Может встречаться от нуля до двух escape-последовательностей для каждой кодовой комбинации в сборнике кодов ESCAPE, в соответствии с наличием escape-значений в декодируемой кодовой комбинации. Для каждого раздела декодирование Хаффмана продолжается до тех пор, пока все спектральные значения в этом разделе не будут декодированы. Как только все разделы декодированы, данные умножаются на декодированные масштабные коэффициенты, и, в случае необходимости, устраняется чередование.
- Окна и последовательности окон
Квантование и кодирование выполняются в частотном пространстве. С этой целью временной сигнал в кодере трансформируется в частотное пространство. Декодер выполняет обратное преобразование (см. раздел 13). В зависимости от сигнала кодер может варьировать частотно-временное разрешение путем использования двух различных окон: LONG WINDOWи SHORT WINDOW. Для переключения между окнами используются промежуточные окна перехода, L ONGSTARTWINDOW и LONG_STOP_WINDOW. В таблице 43 даны окна, соответствующая длина преобразования и форма окон. Используются 2 размера преобразования: 1024 (называемое длинным преобразованием) и 128 коэффициентов (называемое коротким преобразованием).
Последовательности окон образуются из окон исходя из того, что raw_data_block () всегда содержит данные, соответствующие 1024 выходным отсчетам. Элемент данных window_sequence определяет используемую последовательность окон. В таблице 44 показано, как последовательности окон образуются из отдельных окон.
- Полосы масштабных коэффициентов и группировка
Множество инструментов декодера выполняют операции над группами последовательных спектральных значений, называемыми полосами масштабных коэффициентов (сокращенно 'sfb'). Ширина полос масштабных коэффициентов выбирается так, чтобы имитировать критические полосы слуховой системы человека. По этой причине число полос масштабных коэффициентов и их ширина зависят от длины преобразования и частоты дискретизации. В таблицах 45 — 57 приведены смещения начала каждой полосы масштабных коэффициентов для длин преобразования 1024 и 128 и различных частот дискретизации, соответственно.
Чтобы уменьшить количество служебной информации в случае использования последовательностей, которые содержат SHORT_WINDOWS, соседние SHORT_WINDOWS могут быть сгруппированы (см. рисунок 4). Информация о группировке содержится в элементе данных scale_factor_grouping. Группировка означает, что передается только один набор масштабных коэффициентов для всех сгруппированных окон, как будто э то одно окно. Масштабные коэффициенты в этом случае применяются к соответствующим спектральным данным всех сгруппированных окон. Чтобы увеличить э ффективность прозрачного кодирования (см. раздел 7), спектральные данные группы передаются в порядке чередования (см. 6.3.5). Чередование выполняется по полосам масштабных коэффициентов так, чтобы спектральные данные могли быть сгруппированы, чтобы сформировать виртуальную полосу масштабных коэффициентов, к которой может быть применен общий масштабный коэффициент. В пределах этого документа выражение «полоса масштабных коэффициентов» (сокращенно ' sfb') означает эти виртуальные полосы масштабных коэффициентов. Если речь идет о полосах масштабных коэффициентов отдельных окон, используется выражение «оконная полоса масштабных коэффициентов» (сокращенно ' sfb'). Из-за влияния на полосы масштабных коэффициентов группировка сказывается на section_data, порядке следования спектральных данных (см. 6.3.5) и общем количестве полос масштабных коэффициентов. Для LONGWINDOW полосы масштабных коэффициентов и оконные полосы масштабных коэффициентов окна идентичны, так как на одно окно приходится только одна группа.
Чтобы уменьшить количество информации, необходимой для передачи служебных данных, относящихся к каждой полосе масштабных коэффициентов, передается элемент данных maxsfb. Его значение превышает на единицу самую высокую активную полосу масштабных коэффициентов во всех группах. maxsfb влияет на интерпретацию данных раздела (см. раздел 7), передачу масштабных коэффициентов (см. разделы 7 и 9), передачу данных предсказывающего устройства (см. раздел 11) и передачу ms_mask (см. 10.1).
Так как полосы масштабных коэффициентов являются основным элементом алгоритма кодирования, необходимы некоторые справочные переменные и массивы для описания процесса декодирования во всех инструментах, с использованием полос масштабных коэффициентов. Эти справочные переменные зависят от sampling_frequency, windowsequence, scalefactorgrouping и maxsfb и должны быть созданы для каждого