ГОСТ Р 53556.5—2013
5 Синтаксис потока битов и семантика
5.1 Введение в синтаксис потока битов
Этот подпункт описывает формат потока битов, определяющий поток битое структурированного аудио
MPEG-A.
Каждая группа классов записывается с нормативной семантикой, которая определяет знамение
данных, представленных этими классами.
5.2 Синтаксис потока битов
Symbol table definitions
• • • • • • • • ♦ • • « « • • • « « • « • • « • • • « « • А
j
Class symbol {
unsignedint
(16,)
sym: //no more than
65535
symbols/orch * score
)
Class sym_name {
//one name in a symbol table
unsignedint (4) length;//names up to
15
chars long
unsignedint (8) name [length]:
//a whole symbol table
//no more than
65535
symbols/orch
♦score
}
class symtable {
unsignedint
(16)
length:
sym_name name [length];
}
Поток битое может содержать таблицу символов. Таблица символов позволяет текстовому коду
SAOL
и
SASL
быть восстановленным из маркированного представления потока битов. Включение или исключе
ние таблицы символов не влияют на процессдекодирования.
Если таблица символов включена, то все или некоторые из символов в оркестре и таблице должны
быть ассоциированы с текстовым именем следующим образом: каждый символ (символ является только
целым числом)должен быть связан сострокой символов, соединенной с этим символом в объекте
sym_name.
С данным символом должно быть ассоциировано не более одного имени, иначе поток битов недопустим.
Допустимодля таблицы символов быть неполной и содержать имена, ассоциированные с некоторыми,
но
не всеми, символами, используемые в оркестре и таблице. Присутствие строки нулевой длины в записи
таблицы символов указывает, что имя для этого символа не включается втаблицу символов.
Реализации
SAOL
и
SASL.
которые требуют текстового ввода, а не маркируемого ввода, допустимы
в декодере совместимости. Тогдадекодер можетдемаркировать потокбитов прежде, чем он будет обрабо
тан. В этом случае любые символы без ассоциированных имен предполагаются ассоциированными с име
нем по умолчанию формы
_sym_x,
где х является значением символа. Имена этой формы с этой целью
резервируются в
SAOL.
и таким образом гарантируется, что имена не будут приходить в противоречие с
именами символа, определенными с помощью таблицы символов.
orchestra file definitions
class orchjoken}
intdone:
unsigned int (8) token;
switch (token) {
case
OxFO:
symbol sym;
break:
case
0xF1:
float(32) val:
break:
case 0xF2:
unsignedint (32) val:
break;
//a token in an orchestra
//see standard token table. Annex A
//a symbol
// the symbol name
//a constant value
//the floating-point value
// a constant int value
//the integer value
3