|
ФЕДЕРАЛЬНОЕ АГЕНТСТВО |
|
ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ |
|
НАЦИОНАЛЬНЫЙ |
ГОСТР |
((Ту |
i СТАНДАРТ 1 РОССИЙСКОЙ |
53556.10— |
|
' ФЕДЕРАЦИИ |
2014 |
Звуковое вещание цифровое
КОДИРОВАНИЕ СИГНАЛОВ ЗВУКОВОГО ВЕЩАНИЯ С СОКРАЩЕНИЕМ ИЗБЫТОЧНОСТИ ДЛЯ ПЕРЕДАЧИ ПО ЦИФРОВЫМ КАНАЛАМ СВЯЗИ
ЧАСТЬ III (MPEG-4 AUDIO)
Передискретизация аудио
ISO/IEC 14496-3:2009 (NEQ)
Издание официальное
Москва
Стандартинформ
2014
ГОСТ P 53556.10—2014
Предисловие
1 РАЗРАБОТАН ТК 480 «Связь»
2 ВНЕСЕН Техническим комитетом по стандартизации № 480 «Связь»
3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 18 апреля 2014 г. № 386-ст
4 Настоящий стандарт разработан с учетом основных нормативных положений международного стандарта ИСО/МЭК 14496-3:2009 «Информационные технологии. Кодирование аудиовизуальных объектов. Часть 3. Аудио» (ISO/IEC 14496-3:2009 «Information technology - Coding of audio-visual objects - Part 3: Audio». NEQ) (1]
5 ВВЕДЕН ВПЕРВЫЕ
Правипа применения настоящего стандарта установлены в ГОСТ Р 1.0-2012 (раздел 8) Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе «Национальные стандарты», а официальный текст изменений и поправок - в ежемесячном информационном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске информационного указателя «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (gost.ru)
© Стандартинформ. 2014
Настоящий стандарт не может быть воспроизведен, тиражирован и распространен в качестве официального издания без разрешения Федерального агентства по техническому регулированию и метрологии
ГОСТ Р 53556.10-2014
НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Звуковое вещание цифровое
КОДИРОВАНИЕ СИГНАЛОВ ЗВУКОВОГО ВЕЩАНИЯ С СОКРАЩЕНИЕМ ИЗБЫТОЧНОСТИ ДЛЯ ПЕРЕДАЧИ ПО ЦИФРОВЫМ КАНАЛАМ СВЯЗИ ЧАСТЬ III (MPEG-4 AUDIO)
Передискретизация аудио
Sound broadcasting digital.
Coding of signals of sound broadcasting with reduction of redundancy for transfer on digital communication channels
Part III (MPEG-4 audio).
Oversampled audio
Дата введения — 2015—01—01
1 Область применения
Стандарт описывает алгоритм кодирования без потерь MPEG-4 для лередискретизированных аудиосигналов.
2 Термины и определения
В этом стандарте используются следующие термины и определения:
Audio Channel Поток битов DSD, предназначенный для одного громкоговорителя. |
Audio Frame |
Фрейм (кадр), содержащий аудиоданные. |
Audio Channel Number |
Порядковый номер, присвоенный звуковому каналу. Номера звуковых каналов присваиваются непрерывно, начиная с единицы. |
Frame |
Блок данных, принадлежащий определенному временному коду. Время воспроизведения фрейма составляет 1Я5 с. |
Reserved |
Все поля, маркированные Reserved (Зарезервировано), резервируются для будущей стандартизации. Все поля Reserved должны быть обнулены. |
Silence Pattern |
Сгенерированная в цифровой форме кодограмма DSD со следующими свойствами:
У всех аудиобайтов одно и то же значение:
Каждый аудиобайт должен содержать 4 бита равные нулю и 4 бита равные единице. |
Direct Stream Digital Direct Stream Transfer |
Однобитовое передискретизированное представление аудиосигнала.
Метод кодирования без потерь, используемый для сигналов DSD в компакт-диске аудио высшего качества. |
Half Probability |
Половинная вероятность определяет для каждого звукового канала в аудиофрейме, кодируются ли первые биты DSD арифметически, используя значения Ptable, или используя вероятность равную 1/2. |
Mapping |
Отображение определяет для каждого сегмента фильтр прогноза и таблицу вероятности. |
|
Издание официальное |
1
Фильтр прогноза является трансверсальным фильтром, используемым, чтобы предсказать значение следующего бита DSD. Фильтр прогноза характеризуется порядком прогноза и коэффициентами.
Таблица вероятности содержит вероятность того, что для данного вывода фильтра прогноза значение бита DSD предсказывается ошибочно.
Частота дискретизации сигнала DSD должна быть 64 * 44,1 кГц. 128 * 44,1 кГц или 256 * 44.1 кГц.
Камщый звуковой канал в аудиофрейме может быть разделен на сегменты.
3 Условные обозначения
3.1 Арифметические и битовые операции
а» b Сдвиг а вправо на b битов. Новые биты msb устанавливаются в '0'.
а « b Сдвиг а влево на b битов. Новые биты Isb устанавливаются в '0'.
а\Ь Поразрядное ИЛИ для а и Ь.
а & b Поразрядное И для а и Ь.
min(a, b) Наименьшее значение из а и Ь.
тах(а. Ь) Наибольшее значение из а и Ь.
mod Ь Значение b по модулю.
trunc{a) Значение а. округленное в меньшую сторону.
|а| Абсолютное значение а.
а = = b Оценить равно ли а и Ь.
а! =Ь Оценить не равны ли а и Ь.
а=Ь Переменная а устанавливается в значение Ь.
а++ а = а + 1
а - = b а = а - b
а + = b а = а + Ь
3.2 Упорядочивание разрядов
Графическое изображение всех многоразрядных величин является таким, что старший значащий бит (msb) расположен слева, а младший значащий бит (Isb) - справа Рисунок 1 определяет позицию двоичного разряда в байте.
msbIsb
Ь7 I Ь6 I Ь5 i Ь4 I ЬЗ | Ь2 I М ЬО
Рисунок 1 - Упорядочивание бита в байте 3.3 Последовательность разрядов
Во всех местах, где используется последовательность битов, применяется нотация со старшим значащим разрядом на первом месте.
2
ГОСТ Р 53556.10-2014
3.4 Десятичная запись
Всем десятичным величинам предшествуют пробел или индикатор диапазона (..), когда включено в диапазон. Старшая значащая цифра находится слева, младшая значащая цифра -справа.
3.5 Порядок битов DSD
Первый выбранный бит DSD сохраняется в старшем значащем бите байта.
3.6 Полярность DSD
Бит DSD. равный единице, означает "плюс". Бит DSD. равный нулю, означает "минус".
3.7 Шестнадцатеричная нотация
Всем шестнадцатеричным значениям предшествует S. Старший значащий полубайт располагается слева, младший значащий полубайт - справа.
3.8 Диапазон
Constant^.. Constant_2 обозначают диапазон от и включая Constant_1 до и включая Constant_2. с инкрементами 1.
3.9 Until
Until используется в рисунках, чтобы указать, что для позиции байта структуры используются до. но не включая, данное значение.
В позиции байта 61 выражение "until 62" определяет байты 62-61. В позиции байта 61 выражение, "until escT определяет число байтов от 61 до и включая последний байт текущего сектора. Позиция байта определяется относительно начала текущего или предыдущего сектора.
4 Основные типы
4.1 BsMsbf
Последовательность битов, старший значащий бит сначала, должна интерпретироваться как строка битов.
4.2 Char
Закодированный однобайтовый символ. NUL (нулевой) символ ($00) не разрешен для Char.
4.3 SiMsbf
Последовательность битов должна интерпретироваться как целое число со знаком.
4.4 UiMsbf
Последовательность битов должна интерпретироваться как целое число без знака.
4.5 Uintn
Закодированный двоичный файл л битов, численное значение без знака.
4.6 Uinta
Двоично закодированное 8-битовое численное значение без знака. Значение Uinta должно записываться в однобайтовом поле.
3
ГОСТ P 53556.10—2014
4.7 Uintl 6
Двоично закодированное 16-битовое численное значение без знака. Значение Uint\6, представленное шестнадцатеричным представлением Swxyz. должно записываться в двухбайтовом поле как Swx Syz (старший значащий байт сначала).
4.8 UintZl
Двоично закодированное 32-битовое численное значение без знака. Значение UinlZ2, представленное шестнадцатеричным представлением Sstuvwxyz, должно записываться в четырехбайтовом поле как Sst Suv Swx Syz (старший значащий байт сначала).
5 Полезные нагрузки для аудиообъекта
5.1 Конфигурация декодера (DSTSpecificConfig)
Таблица 1 - Синтаксис Audio_Frame () |
Синтаксис |
Количество битов |
Мнемоника |
DSTSpecif/cConfigf channelConfigurahon ) { DSDDST Coded |
1 |
UiMsbf UiMsbf |
N Channels |
14 |
UiMsbf |
reserved
I_ |
1 |
|
|
5.2 Полезная нагрузка потока битое |
Таблица 2 - Синтаксис Audio_Frame () |
Синтаксис |
Количество битов |
Мнемоника |
Audio Framef) {
if (DSDDST Coded == 0)
{
DSD()
}
else
{
DSTO
}
J__ |
|
DSD
DST |
|
Таблица 3 - Синтаксис DSD |
Синтаксис |
Количество битов |
Мнемоника |
For (Byte Nr*0; Byte Nr<Frame Length. Byte Nr**)
For (Channв^_Nг=^. Channel_Nr<=N Channels.
Channel Nr**)
{
DSD Byte[Channel NrJ[Byte Nr]
}
} |
1 |
Audio_Byte |
|
4
Таблица 4 - Синтаксис DST |
Синтаксис |
Количество битов |
Мнемоника |
DST() { |
|
|
Process/ ng_Mode if (Processing Mode == 0) {
DST_X_Bit |
1 |
BsMsbf |
1 |
BsMsbf |
Reserved
DSD()
}
else
{
Segmentationf) |
6 |
BsMsbf
DSD |
|
Segmentabon |
Mapping() |
|
Mapping |
Haif_ProbaMtty() |
|
Half Probability |
Filter_Coef_SetsO |
|
Filter Coef Sets |
Probability_ Tables() |
|
Probabihty_ Tables |
Arithmetic Coded Dataf)
}
} |
|
Arithmetic Coded Data |
|
Таблица 5 - Синтаксис сегментации |
Синтаксис |
Количество битов |
Мнемоника |
Segmentationf) {
Same_ Segmentation if (Same Segmentation == 0)
{
Filter_ Segmentationf)
Ptable Segmentabon()
}
else
{
Filter And Ptable Segmentationf)
)
_I_ |
1 |
BsMsbf |
|
Segment_Alloc
Segment_Alloc |
|
Segment_Alloc |
|
Таблица 6 - Синтаксис сегментов |
Синтаксис |
Количество битов |
Мнемоника |
Channel Segmenlation()[Channel Nr)
}
}
else
Channel Segmentationf)^)
}
I__ |
|
Ch annel_ Segmentation |
|
Channel_Segmentation |
|
5
Таблица 7 - Синтаксис Channel Segmentation |
Синтаксис |
Количество битов |
Мнемоника |
Scaled_Length[Nr_Of_Segments] Segment_Length[Nr_Of_Segments] = Resolution * Sca/ed_ Length[Nr_ Of_ Segments] Start(Nr_Of_Segments*)] = Start[Nr_Of_Segments] * Segment_ Length[Nr_ Of_ Segments] Nr_Of_Segments * * |
1.13 |
UiMsbf |
End Of Channel Segm
}
Segment_Length(Nr_Of_Segments] =
Frame Length - Start[Nr Of Segments]
I_ |
1 |
UiMsbf |
|
Таблица 8 - Синтаксис отображения |
Синтаксис |
Количество битов |
Мнемоника |
MappngO {
Same_Mapping iff Same Mapping == 0^
{
Filter_Mappmg()
Ptable Mappmgf)
}
else
{
Filter And Ptable Mappmgf)
} |
1 |
UiMsbf |
|
Maps
Maps |
|
Maps |
|
Таблица 9 - Синтаксис отображений |
Синтаксис |
Количество битов |
Мнемоника |
Mapsf) {
Nr_Of_Elements = 0
Same_ Maps_For_AII_ Channels
iff Same Maps For All Channels == 0;
{
for (Channel_Nr= 1. Channel_Nr<=N_Channels. Channel Nr**)
{
Channel Mappmg()[Channel Nr]
} |
1 |
UiMsbf |
}
else
{
Channel Mappmgf)^]
} |
|
Channel_Mapping |
|
Channel Mapping |
|
Таблица 10-Синтаксис Channel_Mapping |
Синтаксис |
Количество битов |
Мнемоника |
Channel_Mapping() {
for(SegNr= 1. Seg Nr<=Nr Of SegmentsfChannel Nr], Seg Nr**)
Element[Channel_Nr](Seg Nr]
if (Element[Channel Nr][Seg Nr] == Nr Of Elements)
Nr Of Elements**
}
}
1__ |
0..15 |
UiMsbf |
|
6
Таблица 11 - Синтаксис Half_Probability |
Синтаксис |
Количество битов |
Мнемоника |
Half_ Probability() {
for (Channel Nr* 1. Channel Nr<-N Channels: Channel Nr**)
{
Half ProblChannel Nr)
}
J_ |
1 |
BsMsbf |
|
Таблица 12 - Синтаксис Anthmetic_Coded_Dale |
Синтаксис |
Количество битое |
Мнемоника |
Anthmetic Coded Data() {
j=0
do
{
A_Data(j]
} until end of Audio Frame 1_ |
1 |
BsMsbf |
|
Таблица 13 - Синтаксис Filter_Coef_Sets |
Синтаксис |
Количество битов |
Мнемоника |
Filter_Coef_Sets() {
for (Filter Nr=0. Filter Nr<Nr Of Filters. Filter Nr**) {
Coded Fred Order |
|
|
7 |
UiMsbf |
Pred_drderfRlter_Nr]=Coded_Pred_Order* 1
Coded_Ftter_Coef_Set
if (Coded Filter Coef Set==0)
{
for (Coef Nr=0, Coef Nr<Pred OrderlFilter Nr). |
1 |
BsMsbf |
Coef Nr**) { |
9 |
SiMsbf |
CoeflFitter Nr)[Coef Nr)
} |
|
|
}
else |
|
|
{ |
2 |
BsMsbf |
CC Method |
|
|
for (Coef Nr=0; Coef Nr<CCPO. Coef Nr**) { |
9 |
SiMsbf |
CoeffFilter Nr](Coef Nr] |
|
|
}
CCM
for (Coef_Nr=CCPO. Coef Nr<Pred Order[Filter Nr): Coef Nr**)
{
Run_Length=0 |
3 |
UiMsbf |
do |
|
|
{ |
|
|
RL Bit |
|
|
if (RL Bit==0)
{
Run Length**
}
) while (RL Bit==0) |
1 |
BsMsbf |
LSBs
Delta=(Run Length«CC |
0 6 |
|
M)*LSBs |
|
UiMsbf |
if (Delta1 =0) |
|
|
|
ГОСТ P 53556.10—2014
Окончание таблицы 13 |
Синтаксис |
Количество битов |
Мнемоника |
{
Sign
if (Sign==1)
{
Delta = -Delta }
}
CoefJFitter NrJJCoef Nr] = Delta Deltas = 0"
for (Tap Nr= 0. Tap N«CCPO; Tap Nr**)
{
Deltas += 8 'CCPCfTap_ Nr] 'CoefJFilter_ Nr](Coef_ Nr-Tap Nr-1]
" }
if (DeltaS>=Q)
{
CoefJFitter NrJJCoef Nr] -= trunc((DeltaS*A)/S)
}
else
{
CoefJFitter NrJJCoef Nr] *= trvnc((-DeltaS*Z)IS)
}
}
}
}
1_ |
1 |
BsMsbf |
|
8