6.3.1 Определения
6.3.1.1 Элементы данных
common_window | Флаг, указывающий на совместное использование общего ics_info() двумя individual_channel_stream(). В случае совместного использования ics_info() является частью channel_pair_element() и должен использоваться для обоих каналов. Иначе ics_info() является частью каждого individual_channel_stream() (таблица 14). |
ics_reserved_bit | Флаг, зарезервированный для будущего использования. Должен быть равен '0'. |
window_sequence | Указывает на последовательность окон, как определено в таблице 44 (таблица 15). |
window_shape | 1-битное поле, определяющее тип окна для переключения окон (таблица 15). |
max_sfb | Количество полос масштабных коэффициентов на группу (таблица 15). |
scale_factor_grouping | Битовое поле, которое содержит информацию о группировке коротких спектральных данных (таблица 15). |
6.3.1.2 Функции данных
individual_channel_stream () | Содержит данные, необходимые для декодирования одного канала (таблица 16). |
ics_info () | Содержит служебную информацию, необходимую для декодирования individual_channel_stream(). Потоки individual_channel_stream () элемента channel_pair_element () могут совместно использовать один общий ics_info() (таблица 15). |
6.3.1.3 Элементы справки
scalefactor window band | Термин для полос масштабных коэффициентов в пределах окна, см. таблицы 45-57. |
scalefactor band | Термин для полос масштабных коэффициентов в пределах группы. В случае EIGHT_SHORT_SEQUENCE и группировки, полоса масштабных коэффициентов может содержать несколько масштабных коэффициентов окна соответствующей частоты. Для всех остальных window_sequences полосы масштабных коэффициентов и полосы масштабных коэффициентов в окне идентичны. |
g | Индекс группы. |
win | Индекс окна в пределах группы. |
sfb | Индекс полосы масштабных коэффициентов в пределах группы. |
swb | Индекс окна масштабных коэффициентов в пределах окна. |
bin | Индекс коэффициента. |
num_window_groups | Количество групп окон, которые совместно используют один набор масштабных коэффициентов. |
window_group_length[g] | Число окон в каждой группе. |
bit_set (bit_field, bit_num) | Функция, которая возвращает значение bit_num поля bit_field (самый правый бит - бит 0). |
num_windows | Количество окон в фактической последовательности окон. |
num_swb_long_window | Количество полос масштабных коэффициентов для длинных окон. Это число должно быть выбрано в зависимости от частоты дискретизации. См. 6.9. |
num_swb_short_window | Количество оконных масштабных коэффициентов для коротких окон. Это число должно быть выбрано в зависимости от частоты дискретизации. См. 6.9. |
num_swb | Количество оконных полос масштабных коэффициентов для коротких окон в случае EIGHT_SHORT_SEQUENCE, в противном случае - количество оконных полос масштабных коэффициентов для длинных окон. |
swb_offset_long_window [swb] | Таблица, содержащая индекс самого низкого спектрального коэффициента полосы масштабных коэффициентов sfb для длинных окон. Эта таблица должна быть выбрана в зависимости от частоты дискретизации. См. 6.9. |
swb_offset_short_window [swb] | Таблица, содержащая индекс самого низкого спектрального коэффициента полосы масштабных коэффициентов sfb для коротких окон. Эта таблица должна быть выбрана в зависимости от частоты дискретизации. См. 6.9 |
swb_offset [swb] | Таблица, содержащая индекс самого низкого спектрального коэффициента полосы масштабных коэффициентов sfb для коротких окон в случае EIGHT_SHORT_SEQUENCE, иначе для длинных окон. |
sect_sfb_offset [g] [section] | Таблица, которая содержит номер первого коэффициента для section_data () в пределах группы. Это смещение зависит от window_sequence и scale_factor_grouping. |
sampling_frequency_index | Указывает на частоту дискретизации согласно таблицам 8 и 35. |
6.3.2 Процесс декодирования
6.3.2.1 Декодирование single_channel_element () и channel_pair_element ()
Элемент single_channel_element () составляется из element_instance_tag и individual_channel_stream. В этом случае ics_info () всегда располагается в individual_channel_stream.
Элемент channel_pair_element () начинается с element_instance_tag и флага common_window. Если common_window равен '1', то ics_info() используется совместно для двух individual_channel_stream элементов, и информация о MS передается. Если common_window равен '0', то ics_info() существует в каждом individual_channel_stream и информация MS не представлена.
6.3.2.2 Декодирование individual_channel_stream ()
В individual_channel_stream используется следующий порядок декодирования:
- получить global_gain;
- получить ics_info () (искать в потоке битов, если общая информация не присутствует);
- получить section_data ();
- получить scalefactor_data (), если есть;
- получить pulse_data (), если есть;
- получить tns_data (), если есть;
- получить gain_control_data (), если есть;
- получить spectral_data (), если есть.
Процесс восстановления pulse_data описан в разделе 7, tns_data - в разделе 12, gain_control данных - в разделе 14. Краткий обзор декодирования ics_info() (см. 6.3), данных раздела 7, масштабных коэффициентов (разделы 7 и 9) и спектральных данных (раздел 7) дается ниже.