5.2.1 Полезные нагрузки высшего уровня для аудио объекта типов ААС main, ААС SSR, LC ААС и ААС LTP
5.2.1.1 Определения
raw_data_block () | Блок необработанных данных, который содержит аудиоданные для временного периода 1024 или 960 выборок, соответствующая информация и другие данные. Существует семь синтаксических элементов, идентифицированных элементом данных id_syn_ele. У элементов audio_channel_element()'s в одном raw_data_block () должна быть только одна частота дискретизации. В raw_data_block () могут быть несколько экземпляров того же самого синтаксического элемента, но они должны иметь различные 4 бита element_instance_tag, за исключением data_stream_element ()'s и fill_element ()'s. Поэтому в одном raw_data_block () может быть от 0 до максимум 16 экземпляров любого синтаксического элемента, за исключением data_stream_element ()'s и fill_element ()'s, где это ограничение не применяется. Если имеется несколько data_stream_element ()'s, которые имеют тот же самый element_instance_tag, тогда они - часть того же самого потока данных. У fill_element() нет никакого тега element_instance_tag (так как контент не требует последующей ссылки) и он может встретиться любое число раз. Конец raw_data_block () обозначается специальным id_syn_ele (TTERM), который может иметь место только однажды в raw_data_block (). |
id_syn_ele | Элемент данных, который идентифицирует один из следующих синтаксических элементов (таблица 85). |
Таблица 85 - Синтаксические элементы
имя ID | Кодирование | Сокращение | Синтаксический элемент |
ID_SCE | 0x0 | SCE | single_channel_element() |
ID_CPE | 0x1 | CPE | channel_pair_element () |
ID_CCE | 0x2 | CCE | coupling_channel_element () |
ID_LFE | 0x3 | LFE | lfe_channel_element () |
ID_DSE | 0x4 | DSE | data_stream_element () |
ID_PCE | 0x5 | PCE | program_config_element () |
ID_FIL | 0x6 | FIL | fill_element () |
ID_END | 0x7 | TERM |
single_channel_element () | Аббревиатура SCE. Синтаксический элемент потока битов, содержащий кодированные данные для единственного звукового канала. single_channel_element () в основном состоит из individual_channel_stream (). Может быть до 16 таких элементов на блок необработанных данных, у каждого должен быть уникальный element_instance_tag. |
channel_pair_element () | Сокращение CPE. Синтаксический элемент полезной нагрузки потока битов, содержащий данные для пары каналов. channel_pair_element() состоит из двух individual_channel_streams и дополнительной объединенной информации о кодировании канала. Эти два канала могут совместно использовать общую информацию о стороне. У channel_pair_element () имеются те же самые ограничения, что и у элемента единственного канала, касающиеся element_instance_tag и числа экземпляров. |
coupling_channel_element () | Сокращение ССЕ. Синтаксический элемент, который содержит аудиоданные для спаривания канала. Спаренный канал представляет собой информацию для степени многоканальности для одного блока или альтернативно для диалога для многоязычного программирования. Правила для числа coupling_channel_element()'s и тегов экземпляра такие же, как для single_channel_element (). |
Ife_channel_element () | Сокращение LFE. Синтаксический элемент, который содержит канал расширения с малой частотой дискретизации. Правила для числа lfe_channel_element ()'s и теги экземпляра те же, что для single_channel_element ()'s. |
program_config_element () | Сокращение РСЕ. Синтаксический элемент, который содержит данные о конфигурации программы. Правила для числа program_config_element ()'s и теги экземпляра элемента являются теми же самыми, что для single_channel_element ()'s. PCEs должны поступать перед всеми другими синтаксическими элементами в raw_data_block (). |
fill_element () | Сокращение FIL. Синтаксический элемент, который содержит данные заполнения. В нем может быть любое число элементов заполнения, которые могут приходить в любом порядке в блоке необработанных данных. |
data_stream_element () | DSE сокращения. Синтаксический элемент, который содержит данные. Снова там 16 element_instance_tags. Однако нет никакого ограничения на число data_stream_element () 's ни с любым тегом экземпляра, поскольку единственный поток данных может продолжаться через несколько data_stream_element ()'s с тем же самым тегом экземпляра. |
element_instance_tag | Уникальный тег экземпляра для синтаксических элементов кроме fill_element (). Все синтаксические элементы, содержащие теги экземпляра, могут появляться не один раз, но, за исключением data_stream_element ()'s, должны иметь уникальный element_instance_tag в каждом raw_data_block (). Этот тег также используется для ссылочных аудио синтаксических элементов в single_channel_element ()'s, channel_pair_element ()'s, lfe_channel_element ()'s, data_channel_element () 's и coupling_channel_element ()'s в program_config_element () и обеспечивает возможность до 16 независимых program_config_element () 's. |
audio_channel_element | Общее обозначение для single_channel_element (), channel_pair_element, coupling_channel_element () и Ife_channel_element (). |
common_window | Флаг указывающий используются совместно individual_channel_streams и ics_info или нет. В случае совместного использования ics_info является частью channel_pair_element () и должен использоваться для обоих каналов. Иначе ics_info является частью каждого individual_channel_stream. |
5.2.1.2 Процесс декодирования
Предполагая, что начало raw_data_block известно, он может декодироваться без какой-либо дополнительной информации "о транспортном уровне" кроме частоты дискретизации (необходимой для выбора sfb и других таблиц) и производит 1024 или 960 аудиопробов на канал вывода.
Таблица 86 - Примеры самых простых полезных нагрузок потока битов
Сегмент полезной нагрузки потока битов | Выходной сигнал |
<SCE> <TERM> <SCE> <TERM> | Моно сигнал |
<CPE> <TERM> <CPE> <TERM> | Сигнал стерео |
<SCE><CPE><CPE><LFE><TERM><SCE><CPE><CPE><LFE><TERM> | Сигнал канала 5.1 |
Угловые скобки (< >) используются, чтобы разграничить синтаксические элементы. Для моно сигнала у каждого SCE должно быть то же самое значение в его element_instance_tag и точно так же для сигнала стерео у каждого СРЕ должно быть то же самое значение в его element_instance_tag. Для сигналов канала 5.1 у каждого SCE должно быть то же самое значение в его element_instance_tag, у каждого СРЕ, связанного с передней парой каналов, должно быть то же самое значение в его element_instance_tag и у каждого СРЕ, связанного с парой обратных каналов, должно быть то же самое значение в его element_instance_tag.
Если эти полезные нагрузки потока битов должны быть переданы по каналу с постоянной скоростью, тогда они могут включать fill_element (), чтобы корректировать мгновенную скорость передачи. В этом случае пример кодированного сигнала стерео имеет вид
<СРЕ> <FIL> <TERM> <СРЕ> <FIL> <TERM> ...
Если полезные нагрузки потока битов должны переносить вспомогательные данные и работать на основе канала с постоянной скоростью, тогда пример кодированного сигнала стерео будет
<CPE><DSE><FIL><TERM><CPE><DSE><FIL><TERM>...
Все data_stream_element ()'s имеют тот же самый element_instance_tag, если они являются частью того же самого потока данных.
single_channel_element () составляется из element_instance_tag и individual_channel_stream. В этом случае ics_info всегда располагается в individual_channel_stream.