ГОСТ Р 53556.1-2012
Приложение А
(справочное)
Форматы обмена аудиофайлами
А.1 Введение
Полные воз(ложности и гибкость MPEG-Л Аудио, такие как композиция звуковых сцен из множественных зву
ковых объектов, синтезированный звук и преобразование текста в речь, доступны, только если MPEG-Л Аудио ис
пользуется вместе с MPEG- 4Системы. Форматы обмена, определенные здесьв приложении А. поддерживают лишь
небольшое подмножество возможностей MPEG-А Аудио, определяя форматы для хранения и передачи отдельных
моно, стерео или многоканальных звуковых обьектов. схожих с форматами, определенным в MPEG- 1 и MPEG-2.
Нормативные элементы в MPEG-Л Аудио заканчиваются определением полезных нагрузок (примерные эк
виваленты фреймам потока битов в MPEG- 1 и MPEG-2) и структурами конфигурации кодера (напоминающими
MPEG-1/2 информацию заголовка). Однако нет никакого нормативного определения MPEG-Л Аудио относительно
того, какэти элементы мультиплексируются, поскольку это требуется толькодля ограниченного числа приложений.
Однако это информативное приложение описывает такое мультиплексирование. Тем не менее декодеры MPEG-Л
не обязательно должны иметь эти форматы интерфейса.
А.2 Форматы обмена ААС
А.2.1 Синтаксис
А.2.1.1 ААС MPEG-2 Audio
_
Data
_
lnterchange
_
Format. ADIF (таблицы А.1. А.2. А.З. А.4. А.5).
Таблица А.1-Синтаксисadif
_
sequence
СинтаксисКоличествобитовМнемоника
adif sequence))
{
adif
_
headerQ:
byte
_
alignment():
raw data stream)):
i
_______________________________________________________________
Таблица А.2 - Синтаксис adif
_
header ()
СинтаксисКоличествобитовМнемоника
adif header))
32 bslbf
1 bslbf
72bslbf
1bslbf
1bslbf
1bslbf
23uimsbf
4 bslbf
20uimsbf
{
adif
_
id:
copyrightjd
_
present:
if (copyrightJd
_
presenl)
copyrightjd:
ohginal
_
copy:
home:
bitstream type:
bitrate:
пит
_
program
_
config
_
elements:
if (bitstreamJype == 0) {
adif buffer fullness:
for (i =0; i <num
_
program
_
config
_
elements + 1; /++) {
program config element)):
}
}
Таблица А.З - Синтаксис ravr
_
data
_
stream ()
СинтаксисКоличествобитовМнемоника
raw data stream()
{
while (data
_
available()) {
raw data blockQ;
}
}
68