Товары в корзине: 0 шт Оформить заказ
Стр. 1 

173 страницы

943.00 ₽

Купить ГОСТ Р 54711-2011 — бумажный документ с голограммой и синими печатями. подробнее

Распространяем нормативную документацию с 1999 года. Пробиваем чеки, платим налоги, принимаем к оплате все законные формы платежей без дополнительных процентов. Наши клиенты защищены Законом. ООО "ЦНТИ Нормоконтроль"

Наши цены ниже, чем в других местах, потому что мы работаем напрямую с поставщиками документов.

Способы доставки

  • Срочная курьерская доставка (1-3 дня)
  • Курьерская доставка (7 дней)
  • Самовывоз из московского офиса
  • Почта РФ

Определяет кодированное представление высококачественного звукового сигнала на цифровых носителях и метод его восстановления и относится к сигналам с частотами дискретизации 32; 44,1 и 48 кГц. Вход кодера и выход декодера совместимы с существующими стандартами ИКМ, такими как ГОСТ 28376–89, ГОСТ Р 50712–94. Стандарт предназначен для регулирования отношений между оператором и пользователем в процессе установления соединения, в части выполнения технических требований к электрическим параметрам, определяющим качество каналов и трактов звукового вещания с полосой передаваемых частот до 20000 Гц.

 Скачать PDF

Оглавление

1 Область применения

2 Нормативные ссылки

3 Термины, определения, символы и сокращения

     3.1 Термины и определения

     3.2 Символы и сокращения

     3.3 Метод описания синтаксиса потока битов

4. Структура цифровой обработки звуковых сигналов

     4.1 Кодирование

     4.2 Уровни

     4.3 Хранение

     4.4 Декодирование

5 Технические требования

     5.1 Спецификация кодированного звукового потока

     5.2 Семантика потока звуковых сигналов

     5.3 Процесс декодирования данных звука

Приложение А (обязательное) Схемы

Приложение Б (обязательное) Таблицы

Приложение В (обязательное) Процесс кодирования

Приложение Г (обязательное) Психоакустические модели

Приложение Д (обязательное) Разрядная чувствительность к ошибкам

Приложение Е (обязательное) Маскирование ошибок

Приложение Ж (обязательное) Кодирование в режиме joint stereo

Библиография

 
Дата введения01.07.2013
Добавлен в базу01.10.2014
Актуализация01.01.2021

Этот ГОСТ находится в:

Организации:

13.12.2011УтвержденФедеральное агентство по техническому регулированию и метрологии872-ст
РазработанФГУП ЛО ЦНИИС
ИзданСтандартинформ2014 г.

Digital sound broadcasting. Coding of sound broadcasting signals with redundancy reduction for transfer on digital communication channels. MPEG-1 part III (MPEG-1 audio)

Стр. 1
стр. 1
Стр. 2
стр. 2
Стр. 3
стр. 3
Стр. 4
стр. 4
Стр. 5
стр. 5
Стр. 6
стр. 6
Стр. 7
стр. 7
Стр. 8
стр. 8
Стр. 9
стр. 9
Стр. 10
стр. 10
Стр. 11
стр. 11
Стр. 12
стр. 12
Стр. 13
стр. 13
Стр. 14
стр. 14
Стр. 15
стр. 15
Стр. 16
стр. 16
Стр. 17
стр. 17
Стр. 18
стр. 18
Стр. 19
стр. 19
Стр. 20
стр. 20
Стр. 21
стр. 21
Стр. 22
стр. 22
Стр. 23
стр. 23
Стр. 24
стр. 24
Стр. 25
стр. 25
Стр. 26
стр. 26
Стр. 27
стр. 27
Стр. 28
стр. 28
Стр. 29
стр. 29
Стр. 30
стр. 30

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ

НАЦИОНАЛЬНЫЙ

ГОСТР

СТАНДАРТ ( 1^1Х 1 РОССИЙСКОЙ

54711—

ФЕДЕРАЦИИ

2011

Звуковое вещание цифровое

КОДИРОВАНИЕ СИГНАЛОВ ЗВУКОВОГО ВЕЩАНИЯ С СОКРАЩЕНИЕМ ИЗБЫТОЧНОСТИ ДЛЯ ПЕРЕДАЧИ ПО ЦИФРОВЫМ КАНАЛАМ СВЯЗИ MPEG-1 часть III (MPEG-1 audio)

ISO/IEC 11172-3:1993 (NEQ)

Издание официальное

Москва

Стандартинформ

2014

Предисловие

1    РАЗРАБОТАН Санкт-Петербургским филиалом Центрального научно-исследовательского института связи «Ленинградское отделение» (ФГУП ЛО ЦНИИС)

2    ВНЕСЕН Техническим комитетом по стандартизации ТК 480 «Связь»

3    УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ приказом Федерального агентства по техническому регулированию и метрологии от 13 декабря 2011 г. №872-ст

4    Настоящий стандарт разработан с учетом основных нормативных положений международного стандарта ИСО/МЭК 11172-3:1993 «Информационные технологии. Кодирование движущихся изображений и сопутствующего звука для цифровых носителей при скоростях до 1,5 Мбит/с. Часть 3. Аудио» (ISO/IEC 11172-3:1993 «Information technology — Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s- Part 3: Audio») [1 ]

5    ВВЕДЕН ВПЕРВЫЕ

Правила применения настоящего стандарта установлены в ГОСТ Р 1.0-2012 (раздел 8). Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе «Национальные стандарты», а официальный текст изменений и поправок — в ежемесячном информационном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске информационного указателя «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования — на официальном сайте национального органа Российской Федерации по стандартизации в сети Интернет (gost.ru)

© Стандартинформ, 2014

Настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и распространен в качестве официального издания без разрешения Федерального агентства по техническому регулированию и метрологии

Синтаксис

Количество битов

Мнемоника

next_start_code () { while (ibytealignedQ) zero_bit

while (nextbitsQ != '0000 0000 0000 0000 0000 0001') zero byte

}

1

8

‘0’

‘00000000’

Эта функция проверяет, является ли текущая позиция побайтно выровненной. Иначе присутствуют нулевые биты стаффинга. Это означает, что перед синхрословом может присутствовать любое количество нулевых байтов. В связи с этим синхрослово всегда является побайтно выровненным и ему может предшествовать любое число нулевых битов стаффинга.

4. Структура цифровой обработки звуковых сигналов

4.1 Кодирование

Кодер обрабатывает цифровой звуковой сигнал и создает поток сжатых данных для хранения. Алгоритм кодера не подлежит стандартизации и может использовать различные способы оценки слухового маскирования, квантования и масштабирования. Однако формат данных на выходе кодера должен соответствовать спецификациям раздела 5 в целях корректного использования в звуковых приложениях.

Звуковые

ИКМ-отсчеты    Кодированный

32; 44,1; 48 кГц    поток

Рисунок 1 — Общая структура кодера

Рисунок 1 иллюстрирует структуру кодера звуковых сигналов. Отсчеты звукового сигнала поступают на вход кодера. В блоке частотно-временного преобразования сигнал разделяется на полосы с децимацией субполосных отсчетов. Отсчеты на выходе блока частотно-временного преобразования могут быть названы субполосными отсчетами (как на Уровне I или II, см. ниже) или коэффициентами частотно-временного преобразования (как на Уровне III). Психоакустическая модель создает ряд данных, позволяющих управлять квантованием и кодированием. Эти данные различаются в зависимости от фактической реализации кодера. Один из возможных вариантов состоит в использовании оценки порога маскирования для управления квантованием. Блок квантования и кодирования производит символы кода из отсчетов на выходе блока частотно-временного преобразования. Этот блок также может зависеть от конкретного кодера. Блок формирования кадра добавляет данные текущего блока к выходным данным других блоков, а также другую информацию (например данные для коррекции ошибок) в случае необходимости.

Существует четыре различных режима работы кодера: моно; два канала (два независимых звуковых сигнала, кодированные в пределах одного потока битов); стерео (левые и правые сигналы стереопары, кодированной в пределах одного потока битов); и joint stereo (левые и правые сигналы стереопары, кодированной в пределах одного потока битов с устранением пространственной избыточности).

8

ГОСТ P 54711—2011
4.2    Уровни

В зависимости от приложения могут использоваться различные уровни системы кодирования с увеличивающейся сложностью кодера и производительностью. Декодер звукового сигнала Уровня N должен декодировать данные, которые были закодированы в Уровне N и во всех уровнях ниже N.

Уровень I

В этом уровне используется:

-    частотно-временное преобразование на основе разделения входного сигнала на 32 поддиапазона;

-    фиксированная длина кодируемой выборки, психоакустическая модель, управляющая процессом адаптивного распределения битов и квантованием на основе блочного компандирования;

-    формирование потока данных.

Минимальное теоретическое время задержки при кодировании/декодировании для Уровня I составляет приблизительно 19 мс.

Уровень II

В этом уровне используется дополнительное кодирование информации о распределении битов, масштабирующих коэффициентов и отсчетов. Применяются различные размеры выборок. Минимальное теоретическое время задержки при кодировании/декодировании для Уровня II составляет приблизительно 35 мс.

Уровень III

В этом уровне используется гибридный набор фильтров с повышенной разрешающей способностью по частоте. Добавлены неравномерное квантование, адаптивное разделение сигнала на кадры и энтропийное кодирование. Минимальное теоретическое время задержки при кодировании/декодировании для Уровня III составляет приблизительно 59 мс.

Joint Stereo может быть добавлено как дополнительная функция к любому из уровней.

4.3    Хранение

Различные потоки кодированного видео, кодированного звукового синала, данных синхронизации, системных данных и дополнительных данных могут быть сохранены вместе на носителе. Процесс редактирования звуковых сигналов упростится при наличии адресации.

Использование данных может подразумевать удаленный доступ. При этом взаимодействие должно осуществляться через устройство управления, отличное от самого декодера. Это устройство управления должно воспринимать пользовательские команды, считывать и интерпретировать информацию о структуре базы данных, считывать информацию с носителей, демультиплексировать информацию, отличную от звуковой, и передавать аудиоданные к аудиодекодеру с требуемой скоростью считывания.

4.4    Декодирование

Декодер принимает сжатые аудиоданные согласно 5.1, декодирует элементы данных согласно 5.2 и использует информацию для вывода цифрового звукового сигнала согласно 5.3.

Звуковые

Кодированный    ИКМ-отсчеты

поток    32;    44,1;    48    кГц

Рисунок 2 — Общая структура декодера

Рисунок 2 иллюстрирует базовую структуру декодера звуковых сигналов. Данные поступают в декодер и подлежат проверке на наличие ошибок, если при кодировании это было предусмотрено (см. 5.2.4). Затем они распаковываются для восстановления различных частей информации. Блок реконструкции восстанавливает квантованные коэффициенты преобразования. С помощью обратного частотно-временного преобразования эти коэффициенты преобразуются в ИКМ-отсчеты.

9

5 Технические требования

5.1    Спецификация кодированного звукового потока

5.1.1    Звуковая последовательность

Синтаксис

Количество битов

Мнемоника

audio sequenceQ {

while (nextbits ()==syncword) { frame()

}

}

5.1.2 Звуковой фрейм

Синтаксис

Количество битов

Мнемоника

frame () { headerQ error_check() audio_data{) ancillary data{)

}

5.1.3 Заголовок

Синтаксис

Количество битов

Мнемоника

headerQ {

syncword

12

bslbf

ID

1

bslbf

layer

2

bslbf

protection_bit

1

bslbf

bitrate index

4

bslbf

sampling_frequency

2

bslbf

padding_bit

1

bslbf

private_bit

1

bslbf

mode

2

bslbf

mode extension

2

bslbf

copyright

1

bslbf

original/copy

1

bslbf

emphasis

}

2

bslbf

5.1.4 Проверка на ошибки

Синтаксис

Количество

битов

Мнемоника

Error_checkQ {

16

rpchof

if (protection_bit == 0)

crc check

}

5.1.5 Данные звукового сигнала/Уровень I

Синтаксис

Количество битов

Мнемоника

audio data () {

for(sb= 0; sb <bound; sb++)

for(ch=0; ch <nch; ch++)

allocation [ch] [sb]

4

uimsbf

for (sb=bound; sb <32; sb++) { allocation [0] [sb]

allocation [1] [sb]=allocation [0] [sb]

}

for(sb= 0; sb <32; sb++)

4

uimsbf

for{ch=0; ch <nch; ch++)

if (allocation [ch] [sb]/ =0)

scalefactor [ch] [sb]

6

uimsbf

for(s=0; s <12; s++) {

for(sb= 0; sb <bound; sb++)

for(ch= 0; ch <nch; ch++)

if(allocationfch] [sb]/ =0)

sample [ch] [sb] [s]

2... 15

uimsbf

for (sb=bound; sb <32; sb++)

if (allocation [0] [sb]/ =0)

sample [0] [sb] [s]

}

}

2... 15

uimsbf

5.1.6 Данные звукового сигнала. Уровень II

Синтаксис

Количество битов

Мнемоника

audio_data()

{

for(sb = 0; sb<bound; sb++) for (ch= 0; ch <nch; ch++) allocation [cb][sb]

2 ... 4

uimsbf

for (sb=bound; sb<sblimit; sb++) { allocation [0][sb]

2 ... 4

uimsbf

allocation^][sb] =allocation [0][sb]

}

for(sb = 0; sb <sblimit; sb++) for(ch= 0; ch <nch; ch++) if (allocation [cb][sb]! =0) scfsi [ch] [sb]

2

bslbf

for(sb= 0; sb <sblimit; sb++) for(ch= 0; ch <nch; ch++) if (allocation [ch] [sb]! =0) { if (scfsi [ch] [sb] =0) { scalefactor [ch] [sb] [0]

6

uimsbf

scalefactor [ch] [sb] [1 ]

6

uimsbf

scalefactor [chi [sb] [2]

6

uimsbf

}

6

uimsbf

if ((scfsi [ch] [sb] =1) || (scfsi [ch] [sb] =3)) { scalefactor [ch] (sb] [0]

6

uimsbf

scalefactor [ch] [sb] [2]

}

if (scfsi [ch] [sb] == 2) scalefactor [ch] [sb] [0]

6

uimsbf

6

uimsbf

Синтаксис


Количество битов


Мнемоника


}

for (дг=0; дг <12; дг++) {

for(sb= 0; sb <bound; sb++) for(ch=0; ch <nch; ch++) if (allocation [ch] [sb]/ =0) { if (grouping [ch] [sb])

samplecode [ch] [sb] [gr] else

for(s=0; s <3; s++) sample [ch] [sb] [3*gr+s]

}

for (sb=bound; sb <sblimit; sb++) if (allocation [0] [sb]/ =0) { if (grouping [0] [sb])

samplecode [0] [sb] [gr] else

for(s=0; s <3; s++)

sample [0] [sb] [3*gr+s]


}


5 ... 10


3 ... 16


5 ... 10


3 ... 16


uimsbf


uimsbf


uimsbf


uimsbf


}


5.1.7 Данные звукового сигнала. Уровень III


Синтаксис

Количество битов

Мнемоника

audio_data () {

main_data_begin if (mode=single_channel)

9

uimsbf

private_bits

else

5

bslbf

private_bits for(ch=0; ch <nch; ch++)

for (scfsi_band=0; scfsi_band <4; scfsi_band++)

3

bslbf

scfsi [ch] [scfsi_band] for (gr=0; gr <2; gr++)

for (ch= 0; ch <nch; ch++) {

1

bslbf

part2_3_iength [gr] [ch]

12

uimsbf

big_values [gr] [ch]

9

uimsbf

global_gain [gr] [ch]

8

uimsbf

sealefac_compress [gr] [ch]

4

bslbf

window_switching_flag [gr] [ch] if (window_switching_flag [gr] [ch]) {

1

bslbf

biockjtype [gr] [ch]

2

bslbf

mixed_block_flag [gr] [ch]

for (region=0; region <2; region++)

1

uimsbf

table_select [gr] [ch] [region] for (window=0; window<3; window++)

5

bslbf

subblock_gain [gr] [ch] [window]

}

else {

for (region=0; region <3; region++)

3

uimsbf


Синтаксис

Количество битов

Мнемоника

table_select [gr] [ch] [region]

5

bs/bf

region0_count [gr] [ch]

4

bs/bf

region1_count [gr] [ch]

}

preflag [gr] [ch]

3

bs/bf

1

bs/bf

scalefac_scale [gr] [ch]

1

bs/bf

countltable_select [gr] [ch]

}

main_data ()

}

1

bs/bf


Ниже определяется структура основного потока битов данных. Поле main_data в audio_data() содержит байты основных данных. Однако из-за свойств кодов Хаффмана, используемых на Уровне III, основные данные кадра обычно не следуют непосредственно за заголовком и служебной информацией об этом кадре. Данные main_data начинаются в потоке битов перед заголовком фрейма при отрицательном смещении, заданном значением main_data_beg.


Синтаксис

main_data () {

for (gr=0; gr <2; gr++) {

for (ch=0; ch <nch; ch++) {

if ((window_switching_flag [gr] [ch] =1) && (blockjype [gr] [ch] =2)) { if (mixed_block_flag [gr] [ch]) {


for (sfb=Q; sfb <8; sfb++) scalefacj [gr] [ch] [sfb] for(sfb=3; sfb <12; sfb++)

for (window=0; window <3; window++) scalefac_s [gr] [ch] [sft>] [window]

}

else {

for (sfb=0; sfb <12; sfb++)

for (window=0; window <3; window++) scalefac_s [gr] [ch] [sfb] [window]

}

}

else {

if((scfsi [ch] [0] =0)||(gr = 0)) for (sfb=0; sfb <6; sfb++) scalefacj [gr] [ch] [sfb] if((scfsi[ch] [I] =0)||(flfr = 0)) for (sfb=6; sfb <11 ;sfb++) scalefacj [gr] [ch] [sfb] if((scfsi[ch] [2] == 0) || (gr = 0)) for (sfb=11; sfb <16; sfb++)


Количество битов


Мнемоника


0... 4


0... 4


0... 4


0... 4


0... 4


uimsbf


uimsbf


uimsbf


uimsbf


uimsbf


13


Синтаксис

Количество битов

Мнемоника

scalefacj [gr] [ch] [sfo]

0... 3

uimsbf

if((scfsi[ch] [3] =0) || {gr = 0))

if{sfb=16;sfb<21;sfb++)

scalefacj [gr] [ch] [sfo]

}

Huffmancodebits ()

}

0... 3

uimsbf

}

for{b= 0; b <no_of_ancillary_bits; b++)

ancillary_bit}

1

bslbf

}

Синтаксис

Количество битов

Мнемоника

Huffmancodebits () {

for 0=0; / <big_values*2; / + = 2) {

hcod[\x\][\y\]

0... 19

bslbf

if{\x\ == 15 &&linbits> 0)

linbitsx

1... 13

uimsbf

if (x! =0)

signx

1

bslbf

if{\y\ == 15 &&linbits> 0)

linbitsy

1... 13

uimsbf

if (y! =0)

signy

1

bslbf

is [/] = X

/s[/+1]=y}

}

for (; /<b/g values*2+countl*4; 1 + = 4) {

hcod[\v\][\w\][\x\][\y\]

1... 6

bslbf

if (v! =0)

signv

1

bslbf

if (w! =0)

signw

1

bslbf

if (x! =0)

signx

1

bslbf

if (y! =0)

Синтаксис


Количество битов


Мнемоника


signy is [/] = v is [/+/] = w is [1+2] = x is [/+3] = у


bslbf


}


for (; / <576; /++) is[l] = 0


5.1.8 Дополнительные данные

Синтаксис

Количество

битов

Мнемоника

ancillay_data{) {

if {{layer == 1) || {layer == 2))

for {b=0; b <no_of_ancillary_bits; b++) anciiiary_bit

}

1

bslbf


5.2 Семантика потока звуковых сигналов
5.2.1    Общая последовательность данных звуковых сигналов

Фрейм:

-    Уровни I и II:    Часть    потока    битов, декодируемая с использованием данных, которые содер

жатся только в ней самой. Уровень I содержит информацию о 384 отсчетах, Уровень II — о 1152 отсчетах. Начинается с синхрослова и заканчивается непосредственно перед следующим синхрословом. Состоит из целого числа слотов (четыре байта на Уровне I, один байт на Уровне II).

-    Уровень III:    Часть    потока    битов, декодируемая с использованием ранее полученной основ

ной информации. На Уровне III она содержит информацию о 1152 отсчетах. Несмотря на то что расстояние между соседними сиинхрословами равно целому числу слотов (один байт на Уровне III), аудиоданные одного фрейма обычно не содержатся между двумя соседними синхрословами.

5.2.2    Звуковой фрейм

header— Часть потока битов, содержащая синхронизацию и информацию о состоянии. error_check— Часть потока битов, содержащая информацию для обнаружения ошибок. audio_data — Часть потока битов, содержащая информацию об отсчетах звукового сигнала. ancillary_data — Часть потока битов, которая может использоваться для дополнительных данных.

5.2.3    Заголовок

Первые 32 бита (четыре байта) являются заголовком, который одинаков для всех уровней. syncword — Синхрослово, битовая строка‘1111 1111 1111 1111’.

Ю — Идентификатор алгоритма. Равен ‘1’для ISO/IEC11172-3 Аудио, значение ‘0’ зарезервировано. layer— 2 бита, определяющие используемый уровень:


15


Уровень

‘11’

Уровень 1

‘10’

Уровень II

‘01’

Уровень III

‘00’

Зарезервированно

При смене уровня допустим сброс декодера.

protection_bit— Бит, определяющий дополнение нулями, для упрощения обнаружения и устранения ошибок. Равен 1, если дополнение отсутствует, 0 — если таковое присутствует.

bitrate_index — Четыре бита, определяет скорость передачи. При равенстве всех битов нулю устанавливается «свободный формат», при котором используется фиксированная скрость передачи, не указанная в списке. «Фиксированная» означает, что фрейм содержит или Л/, или Л/+1 слотов в зависимости от значения дополнительного бита. bitrate_index является индексом таблицы, которая отличается для различных уровней.

bitrate_index указывает на полную скорость передачи независимо от режима (стерео, joint_stereo, dual_channel, single_channel)\

bitratejndex

Скорость передачи, кбит/с

Уровень 1

Уровень II

Уровень III

‘0000’

Свободный

Свободный

Свободный

‘0001’

32

32

32

‘0010’

64

48

40

‘0011’

96

56

48

‘0100’

128

64

56

‘0101’

160

80

64

‘0110’

192

96

80

‘0111’

224

112

96

‘1000’

256

128

112

‘1001’

288

160

128

‘1010’

320

192

160

‘1011*

352

224

192

‘1100’

384

256

224

‘1101’

416

320

256

‘1110’

448

384

320

‘1111’

Запрещено

Запрещено

Запрещено

Для обеспечения минимально возможной задержки декодер не обязан поддерживать плавное изменение скорости передачи на Уровне I или II. Уровень III поддерживает переменную скорость передачи с переключением bitrate_index. Переключать bitrate_index можно либо для оптимизации требования хранения данных на цифровом носителе, либо для интерполяции произвольной средней скорости передачи данных путем переключения между соседними значениями в таблице скорости передачи. Однако при использовании свободного формата скорость передачи должна быть фиксированной. Декодер, работая в свободном режиме, не обязан поддерживать скорости передачи выше 448 кбит/с, 384 кбит/с и 320 кбит/с на Уровнях I, II и III соответственно.

Для Уровня II разрешены не все возможные комбинации скорости передачи и режима (см. следующую таблицу):

Скорость передачи, кбит/с

Разрешенные режимы

Свободный формат

Все режимы

32

Single_channel

48

Single_channel

56

Single_channel

64

Все режимы

80

Single_channel

96

Все режимы

112

Все режимы

128

Все режимы

160

Все режимы

192

Все режимы

224

Стерео, intensity_stereo, dual_channel

256

Стерео, intensity_stereo, dual_channel

320

Стерео, intensity_stereo, dual_channel

384

Стерео, intensity_stereo, dual_channel

sampling_frequency — Устанавливает частоту дискретизации, согласно данным следующей

таблицы:

Частота дискретизации

Частота, кГц

‘00’

44,1

■or

48

‘10’

32

‘11’

Зарезервировано

При смене частоты дискретизации возможен сброс звукового декодера.

padding_bit— Если этот бит равен ‘Т, фрейм содержит дополнительный слот для подстройки средней скорости передачи к частоте дискретизации, иначе — бит равен ‘0’. Дополнение нулями необходимо при частоте дискретизации 44,1 кГц. Дополнение нулями может также требоваться в свободном формате.

Дополнение нулями должно быть применено к потоку битов так, чтобы суммарная длина кодированных фреймов, после определенного количества аудиофреймов не отклонялась более чем на +0, минус 1 слот от следующего вычисленного значения:

текущий фрейм

суммарная длина фрейма =    ^    (frame sizebitrate/sampling frequency),

первый фрейм

где frame_size = 384 для Уровня I и 1152 для Уровня II или III.

Следующий метод может использоваться для определения необходимости дополнения нулями: для 1-го аудиофрейма: rest = 0; padding = нет;

17

ГОСТ Р 54711-2011

Содержание

1    Область применения..................................................................1

2    Нормативные ссылки..................................................................1

3    Термины, определения, символы и сокращения............................................2

3.1    Термины и определения............................................................2

3.2    Символы и сокращения............................................................4

3.3    Метод описания синтаксиса потока битов.............................................6

4. Структура цифровой обработки звуковых сигналов........................................8

4.1    Кодирование.....................................................................8

4.2    Уровни..........................................................................9

4.3    Хранение........................................................................9

4.4    Декодирование...................................................................9

5 Технические требования..............................................................10

5.1    Спецификация кодированного звукового потока.......................................10

5.2    Семантика потока звуковых сигналов................................................15

5.3    Процесс декодирования данных звука...............................................25

Приложение А (обязательное) Схемы.....................................................33

Приложение Б (обязательное) Таблицы...................................................40

Приложение В (обязательное) Процесс кодирования........................................76

Приложение Г (обязательное) Психоакустические модели...................................116

Приложение Д (обязательное) Разрядная чувствительность к ошибкам........................162

Приложение Е (обязательное) Маскирование ошибок.......................................164

Приложение Ж (обязательное) Кодирование в режиме joint stereo............................164

Библиография.......................................................................168

III

}

для каждого последующего аудиофрейма:

if (Level == 1) dif= (12 * bitrate) % sampiing_frequency; else dif =(144 * bitrate) % sampling_frequency; rest = rest — dif; if (rest <0) {

padding = yes;

rest = rest + sampling_frequency;


else padding = no;

private_bit— Бит для личного пользования. mode — Определяет режим согласно следующей таблице. На Уровнях I и II режим joint_stereo является intensity_stereo, а на Уровне III, это — intensity_stereo и/или ms_stereo.

mode

Режим

‘00’

Стерео

‘01’

joint_stereo (intensity_stereo и/или ms_stereo)

‘10’

dual_channel

‘11’

Моно

На Уровне I во всех режимах кроме joint_stereo, значение bound равно 32. На Уровне II во всех режимах, кроме joint_stereo, значение bound равно sblimit. В режиме joint_stereo bound определяется по mode_extension.

mode_extension — Эти биты используются в режиме joint_stereo. На Уровнях I и II они указывают, какие субполосы находятся в режиме intensity_stereo. Все другие субполосы кодируются в режиме стерео:

mode_extension

Субполосы

‘00’

Субполосы 4—31 в intensity_stereo, bound=4

‘01’

Субполосы 8—31 в intensity_stereo, bound=8

‘10’

Субполосы 12—31 в intensity_stereo, bound=/\2

‘11’

Субполосы 16—31 в intensity_stereo, bound=/\Q

На Уровне III эти биты указывают тип применяемого метода joint_stereo. Частотные диапазоны, для которых применяются режимы intensity_stereo и ms_stereo, неявны в алгоритме:

mode_extension

intensity_stereo

ms_stereo

‘00’

Выкл

Выкл

‘01’

Вкп

Выкл

‘10’

Выкл

Вкл

‘11’

Вкп

Вкл

Следует отметить, что режим stereo используется, если биты режима указывают на stereo или, что эквивалентно, если биты режима указывают на использование режима joint_stereo при mode_ extension показывающем, что режимы intensity_stereo и ms_stereo выключены.

copyright— Если этот бит равен ‘0’, не защищен авторским правом, Т — авторские права защищены.

original/copy— Этот бит равен ‘0’, если поток битов является копией, ‘1’, если это оригинал. emphasis— Указывает на тип частотной коррекции, который должен использоваться:

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Звуковое вещание цифровое

КОДИРОВАНИЕ СИГНАЛОВ ЗВУКОВОГО ВЕЩАНИЯ С СОКРАЩЕНИЕМ ИЗБЫТОЧНОСТИ ДЛЯ ПЕРЕДАЧИ ПО ЦИФРОВЫМ КАНАЛАМ СВЯЗИ MPEG-1 ЧАСТЬ III (MPEG-1 AUDIO)

Digital sound broadcasting.

Coding of sound broadcasting signals with redundancy reduction for transfer on digital communication channels.

MPEG-1 part III (MPEG-1 audio)

Дата введения — 2013—07—01

1    Область применения

Настоящий стандарт определяет кодированное представление высококачественного звукового сигнала на цифровых носителях и метод его восстановления и относится к сигналам с частотами дискретизации 32; 44,1 и 48 кГц.

Вход кодера и выход декодера совместимы с существующими стандартами ИКМ, такими как ГОСТ 28376-89, ГОСТ Р 50712-94.

Стандарт предназначен для регулирования отношений между оператором и пользователем в процессе установления соединения, в части выполнения технических требований к электрическим параметрам, определяющим качество каналов и трактов звукового вещания с полосой передаваемых частот до 20 000 Гц.

Настоящий стандарт используется при проектировании, вводе в эксплуатацию и техническом обслуживании каналов и трактов звукового вещания, организуемых в наземных и спутниковых линиях связи (ГОСТ Р 52742-2007 и ГОСТ Р 53537-2009).

Действие настоящего стандарта распространяется на услуги местной, внутризоновой, междугородной и международной сети звукового вещания, независимо от используемой сетевой технологии, что способствует обеспечению целостности сетей звукового вещания, устойчивости работы сети, выполнению норм на основные электрические параметры при разработке и проектировании каналообразующей аппаратуры звукового вещания.

Показатели, определенные настоящим стандартом, являются базовыми для профессиональной и бытовой аппаратуры — проигрывателей компакт-дисков, усилителей сигналов звуковой частоты и другого оборудования с высоким качеством звука.

2    Нормативные ссылки

В настоящем стандарте использованы нормативные ссылки на следующие стандарты:

ГОСТ Р 52742-2007 Каналы и тракты звукового вещания. Типовые структуры. Основные параметры качества. Методы измерений

ГОСТ Р 53537-2009 Звуковое вещание. Основные электрические параметры каналов и трактов студийного качества (с полосой частот 20 ... 20 000 Гц)

ГОСТ Р 28376-89 Компакт-диск. Параметры и размеры

ГОСТ Р 50712-94 Соединительные линии и аппаратные звукового вещания. Технические характеристики. Методы измерений

Примечание — При пользовании настоящим стандартом целесообразно проверить действие ссылочных стандартов в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодно издаваемому информационному указателю «Национальные стандарты», который опубликован по состоянию на 1 января текущего года,

Издание официальное

и по соответствующим выпускам ежемесячно издаваемого информационного указателя за текущий год. Если ссылочный стандарт заменен (изменен), то при пользовании настоящим стандартом следует руководствоваться замененным (измененным) стандартом. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, применяется в части, не затрагивающей эту ссылку.

3 Термины, определения, символы и сокращения

3.1    Термины и определения

В настоящем стандарте применены следующие термины и сокращения с соответствующими определениями:

3.1.1    аудиобуфер: Буфер в декодере, предназначенный для хранения сжатых аудиоданных.

3.1.2    аудиопоследовательность: Непрерывная последовательность аудио фреймов, в которых следующие параметры не меняются:

-    Ю;

-    Уровень;

-    частота дискретизации;

-    для уровней I и II индекс скорости передачи.

3.1.3    барк: Единица измерения ширины критических полос. Переход к шкале барков от шкалы звуковых частот.

3.1.4    блок доступа к аудиоданным: Для Уровней I и II блок доступа к аудиоданным определяется как самая меньшая часть кодированного потока битов, которая может декодироваться отдельно, в ней под результатом декодирования понимается полностью восстановленный звук. Для Уровня III блок доступа к аудиоданным является частью потока битов, который декодируется с использованием ранее полученной основной информации.

3.1.5    блочное компандирование: Нормирование цифрового представления звукового сигнала в пределах определенного периода времени.

3.1.6    быстрое преобразование Фурье (БПФ): Быстрый алгоритм расчета коэффициентов преобразования Фурье.

3.1.7    гибридный набор фильтров: Последовательная комбинация набора полосовых фильтров и МДКП.

3.1.8    гранула, Уровень II: Набор из трех последовательных отсчетов каждой из 32 субполос, которые объединяются перед квантованием, что соответствует 96 отсчетам ИКМ.

3.1.9    гранула, Уровень III: 576 частотных линий.

3.1.10    декодер: Устройство, в котором реализуется процесс декодирования.

3.1.11    декодирование: Процесс, выполняемый в соответствии с настоящим стандартом, при котором считываемые кодированные данные преобразуются в отсчеты звукового сигнала.

3.1.12    дополнение бит (байт): Биты стаффинга, кодовые комбинации, которые могут быть добавлены в поток сжатых данных и затем отброшены в процессе декодирования. Их назначение в согласовании потока со скоростью передачи.

3.1.13    дискретизация: Дискретизация, выполняемая в соответствии с теоремой Котельникова — Найквиста.

3.1.14    заполнение нулями: Способ скорректировать среднюю длину звукового фрейма в соответствии с продолжительностью выборки ИКМ-отсчетов за счет дополнения нулями.

3.1.15    запрещенный: Термин «запрещенный» относится к символам кодовой последовательности, которые никогда не должны использоваться во избежание совпадения с синхрословами.

3.1.16    зарезервированный: Термин «зарезервированный» указывает на то, что значение может использоваться в будущем для определенных расширений.

3.1.17    звуковое вещание (ЗВ): Передача звуковой информации общего назначения широкому кругу территориально рассредоточенных слушателей.

3.1.18    зеркальная составляющая: Зеркально отраженная составляющая спектра, возникающая в результате элайзинга.

3.1.19    индекс масштабного коэффициента: Числовой код для масштабного коэффициента.

3.1.20    канал: Цифровая среда, которая хранит или транспортирует поток данного стандарта.

3.1.21    канал звукового вещания (КЗВ): Канал, образованный в цифровых или аналоговых системах передачи.

3.1.22    код Хаффмана: Вид энтропийного кодирования.

2

ГОСТ P 54711—2011

3.1.23    кодер: Устройство, в котором реализуется процесс кодирования.

3.1.24    кодирование: Процесс, не определенный в данном стандарте, при котором звуковые отсчеты считываются и преобразуются в кодированный поток битов, как определено в стандарте.

3.1.25    кодирование с переменной длиной слова (VLC): Обратимая процедура кодирования, в результате которой более короткие кодовые комбинации присваиваются наиболее частым событиям и более длительные кодовые комбинации — менее частым событиям.

3.1.26    кодирование Joint Stereo: Метод устранения стереофонической избыточности.

3.1.27    кодированный звуковой поток: Кодированное представление звукового сигнала согласно настоящему стандарту.

3.1.28    коэффициент МДКП: Амплитуда определенной косинусной базисной функции.

3.1.29    критическая полоса: Психоакустическая величина в частотной области, которая соответствует частотной избирательности человеческого уха. Эта избирательность выражается в Барках.

3.1.30    маскирование: Свойство слуховой системы человека, исключающее прием звукового сигнала в присутствии другого звукового сигнала.

3.1.31    масштабный коэффициент: Величина, на которую делится набор значений перед квантованием.

3.1.32    модифицированное дискретное косинусное преобразование (МДКП): Преобразование Фурье, основанное на IV типе косинусного преобразования (ДКП-IV) с дополнительным свойством наложения.

3.1.33    набор фильтров: Набор полосовых фильтров, перекрывающих весь диапазон звуковых частот.

3.1.34    набор фильтров анализа: Набор фильтров в кодере, с помощью которого ИКМ-отсчеты широкополосного звукового сигнала преобразуются в ряд прореженных отсчетов на выходе каждого фильтра.

3.1.35    набор фильтров синтеза: Набор фильтров в декодере, который восстанавливает ИКМ-отсчеты звукового сигнала из субполосных отсчетов.

3.1.36    нетональный компонент: Шумоподобный компонент звукового сигнала.

3.1.37    нижний предел: Самая низкая субполоса, в которой используется кодирование стерео.

3.1.38    обратное модифицированное дискретное косинусное преобразование (ОМДКП): Преобразование, обратное МДКП.

3.1.39    окно Ханна: Оконная функция, которая применяется к выборке отсчетов звукового сигнала перед преобразованием Фурье.

3.1.40    переквантование: Декодирование кодированных субполосных отсчетов для восстановления исходных квантованных значений.

3.1.41    побайтное выравнивание: Бит потока данных обладает побайтным выравниванием, если его позиция кратна 8 с начала потока.

3.1.42    полифазный набор фильтров: Набор фильтров с равной шириной полос пропускания.

3.1.43    полоса масштабного коэффициента: Ряд частотных линий в Уровне III, для которых используется один масштабный коэффициент.

3.1.44    порог маскирования: Функция частоты и времени, определяющая порог, ниже которого звуковой сигнал не может быть воспринят слуховой системой человека.

3.1.45    пост-коррекция: Фильтрация, применяемая к звуковому сигналу после хранения или передачи для предотвращения линейных искажений, вызванных пред-коррекцией.

3.1.46    пред-коррекция: Фильтрация, применяемая к звуковому сигналу перед хранением или передачей для улучшения отношения сигнал-шум на высоких частотах.

3.1.47    преобразование: Преобразование звукового сигнала из временной области в частотную путем субполосной фильтрации и/или МДКП.

3.1.48    программа: Совокупность передач, составленных по определенному плану.

3.1.49    психоакустическая модель: Математическая модель маскирующих свойств слуховой системы человека.

3.1.50    распределение битов: Распределение битов между полосами в соответствии с результатами психоакустического расчета.

3.1.51    распределение шумов квантования: Распределение шумов квантования между частотными полосами в соответствии с результатами психоакустического расчета.

3.1.52    режим двойного канала: Режим, при котором два звуковых канала с независимым содержанием программы (например двуязычный) кодируются в пределах одного потока битов. Процесс кодирования аналогичен используемому в режиме стерео.

3

3.1.53    режим stereo: Режим кодирования, при котором два звуковых канала, формирующих стереопару (левый и правый каналы), кодируются в пределах одного потока битов. Процесс кодирования анологичен процессу в режиме двойного канала.

3.1.54    режим intensity stereo: Метод устранения избыточности в стереофонических звуковых программах, основанный на сохранении на высоких частотах только огибающей энергетического спектра сигналов правого и левого каналов.

3.1.55    режим joint stereo: Режим алгоритма кодирования звуковых сигналов, использующий кодирование joint stereo.

3.1.56    режим MS stereo: Метод устранения избыточности в стереофонических звуковых программах, основанный на кодировании суммарного и разностного сигналов вместо сигналов левого и правого каналов.

3.1.57    свободный формат: Передача данных со скоростью, отличной от скоростей передачи определенных в стандарте, меньшей, чем максимальная допустимая скорость передачи для каждого уровня.

3.1.58    сжатие: Сокращение разрядности элементов данных.

3.1.59    синхрослово: 12-разрядная комбинация в потоке битов, которая идентифицирует начало

кадра.

3.1.60    скорость передачи: Скорость, с которой сжатый поток данных передается от носителя к входу декодера.

3.1.61    слот: Элементарная часть потока битов. В Уровне I слот равен четырем байтам, в Уровнях II и III — одному байту.

3.1.62    служебная информация: Информация, передаваемая в потоке, необходимая для управления декодером.

3.1.63    соединительная линия (СЛ): Канал ограниченной протяженности между различными аппаратными, а также между аппаратной и передатчиком.

3.1.64    субполоса: Часть звукового диапазона.

3.1.65    субполосные отсчеты: Прореженные отсчеты на выходе набора субполосных фильтров кодера звуковых сигналов называют субполосными отсчетами. Из 384 временных отсчетов на входе набора фильтров образуется по 12 отсчетов на выходе каждой из 32 субполос.

3.1.66    субполосный набор фильтров: Ряд полосных фильтров, покрывающих весь диапазон звуковых частот. В данном стандарте под субполосным набором фильтров понимается полифазный набор.

3.1.67    тональный компонент: Компонент звукового сигнала, близкий к синусоиде.

3.1.68    тройка: Три последовательных субполосных отсчета одной субполосы.

3.1.69    уровень: Один из уровней в иерархии кодирования звуковой системы, определенный в [1].

3.1.70    фрейм: Часть ИКМ звукового сигнала из элемента доступа.

3.1.71    функция маскирования: Функция, описывающая распределение маскирования в частотной области.

3.1.72    циклический избыточный код (cyclic redundancy check; CRC): Код, используемый в методе обнаружения ошибок в передаваемом сообщении, заключающемся в сравнении остатков отделения блоков кодовой последовательности на фиксированный делитель, производимого на передающей и приемной сторонах.

3.1.73    элемент доступа: В случае сжатых звуковых данных элемент доступа представляет собой звуковые данные.

3.1.74    энтропийное кодирование: Кодирование без потерь с переменной длиной кодового слова в целях уменьшения статистической избыточности цифрового сигнала.

3.2 Символы и сокращения

3.2.1 Арифметические операторы

Математические операторы, используемые в настоящем стандарте, аналогичны используемым в языке программирования С. Однако целочисленное деление с усечением и округление определены особым образом. Побитные операторы определяются с учетом представления чисел в дополнительном коде. Нумерация и счетчики циклов обычно начинаются с нуля.

+ Сложение.

- Вычитание (как бинарный оператор) или отрицание (как унарный оператор).

++    Инкремент.

4

ГОСТ P 54711—2011

Декремент.

* Умножение. л Возведение в степень.

/ Целочисленное деление с округлением к меньшему по модулю целому. Например, 7/4 и -7/4 округляются до единицы, а -7/4 и 7/-4 округляются до минус одного.

// Целочисленное деление с округлением к ближайшему целому числу. Полуцелые числа округляются в сторону ближайшего большего по модулю числа, если не указано другое. Например, 3//2 округляется до двух, а -3//2 округляется до минус двух.

DIV Целочисленное разделение с округлением результата в сторону -оо.

| |    Абсолютное значение. |х| = х, когда х > 0;

|х| = 0, когда х == 0;

|х| = -х, когда х < 0.

% Деление с остатком. Операция определена только для положительных чисел.

Sign(x) Принимает следующие значения:

Sign(x) = 1, когда х > 0;

Sign(x) = 0, когда х = 0;

Sign(x) = -1, когда х < 0.

NINT( ) Округление до ближайшего целого. Возвращает самое близкое к вещественному аргументу целочисленное значение. Полуцелые числа округляются в сторону от нуля, sin    Синус,

cos    Косинус,

ехр    Экспонента.

V"    Квадратный корень.

Ig    Логарифм по    основанию 10.

In    Натуральный    логарифм.

1од2    Логарифм по    основанию 2.

3.2.2    Логические операторы || Логическое ИЛИ.

&&    Логическое И.

! Логическое НЕ.

3.2.3    Операторы сравнения

>    Больше.

>    =    Больше или равно.

< Меньше.

<=    Меньше или равно.

==    Равно.

! =    Не равно.

max [,...,]    Максимальное значение,

min [,...,]    Минимальное значение.

3.2.4    Побитные операторы

Использование побитных операций подразумевает представление чисел в дополнительном коде. &    Подбитное И.

|    Подбитное ИЛИ.

»    Сдвиг вправо.

«    Сдвиг влево.

3.2.5    Оператор присвоения = Оператор присвоения.

3.2.6    Мнемоники

Следующие мнемоники подлежат определению для описания различных типов данных, используемых в кодированном потоке битов.

5

bslbf    Битовая    строка,    младший    бит    слева в соответствии с настоящим стандартом. Бито

ch

nch

gr

main data

вые строки пишутся как строка единиц и нулей внутри одинарных кавычек, например ‘1000 0001’. Пробелы внутри битовой строки вводятся для удобства чтения и не имеют никакого значения.

Канал. Если ch имеет значение 0, это соответствует левому каналу стереопары или первому из двух независимых каналов.

Количество каналов: равно 1 для singiejchannei mode, 2 — в других режимах.

Гранула 3 * 32 субполосных отсчета в Уровне II звукового сигнала, 18 * 32 субполосных отсчета в Уровне III.

main_data_beg

Часть потока битов, которая содержит масштабные коэффициенты, кодированные методом Хаффмана данные и дополнительную информацию.

part2_length

rpchof

sb

sblimit

scfsi

switch_point_l

switch_point_s

uimsbf

vlclbf

Указатель на начало mainjdata внутри фрейма. Равен позиции конца mainjdata предыдущего фрейма плюс один бит. Вычисляется из mainjdatajend значения предыдущего фрейма.

Количество mainjdata бит, используемых для масштабных коэффициентов.

Коэффициенты остатка от деления на порождающий полином, сначала следует коэффициент высшего порядка.

Субполоса.

Номер самой низкой субполосы, для которой не были выделены биты.

Информация о выборе масштабного коэффициента.

Номер полосы масштабных коэффициентов (полоса «длинного» блока), с которой используется переключение окон.

Номер полосы масштабных коэффициентов (полоса «короткого» блока), с которой используется переключение окон.

Целое число без знака, старший бит первый.

Код с переменной длиной слова, левый бит первый, где «левый» относится к порядку, в котором пишутся коды с переменной длиной.

window    Номер    текущего    временного    интервала    в    случае    biockjtype    ==    2,    0    <    window    <    2.

В многобайтовых словах старший байт является первым.

3.2.7 Константы

л 3,14159265358... е 2,71828182845...

3.3 Метод описания синтаксиса потока битов

Поток битов, полученный декодером, описывается в подразделе 5.1. Каждый элемент данных описывается именем, длиной в битах, мнемоникой типа и порядком передачи.

Действие, вызванное декодируемым элементом данных в потоке битов, зависит от значения этого элемента данных и элементов данных, декодируемых ранее. Декодирование элементов данных и определение параметров состояния, используемых в их декодировании, описываются в подразделе 5.2.

В этом синтаксисе используется принятое в языке С соглашение о том, что переменная или выражение, возвращающие ненулевое значение, эквивалентны результату «истина».

while (condition) { data element

Для выражения условия присутствия элементов данных используются следующие конструкции:

}

do {

data_element

Если «истина», то группа элементов данных появляется в потоке данных. Это повторяется, пока условие не «ложь».

Элемент данных всегда существует, по крайней мере один раз.

ГОСТ P 54711—2011

} while (condition)    Элемент данных повторяется при условии «истина».

if (condition) {    Если условие «истина», то первая группа элементов данных

появляется затем в потоке данных.

data_element    Если условие «истина» не сохраняется, то вторая группа

элементов данных появляется затем в потоке данных.

}

else {

data_element

Является инициализирующим выражением цикла.

*    Обычно оно определяет начальное состояние счетчика.

for (exprl; expr2; ехргЗ){ Является условием, определяющим проверку перед каждой итераци-exprl datajeiement ей цикла. Цикл завершается, когда условие «не истина».

... ехрг2

}

ехргЗ является выражением, которое выполняется в конце каждой итерации цикла, обычно оно инкрементирует счетчик.

Следует обратить внимание на наиболее распространенные варианты использования этой конструкции:

for (7 = 0; i <n; i++) {    Гоуппа элементов данных появляется п раз. Условия в пределах

data_element    группы    элементов    данных могут зависеть от значения

переменной управления циклом i, которая обнуляется при }    первом    появлении,    увеличивается на 1 при втором появлении и т. д.

Как отмечено, группа элементов данных может содержать вложенные условные конструкции. Для компактности скобки {} могут быть опущены, когда следует только один элемент данных.

datajeiement []    Является массивом данных.

Количество элементов массива зависит от контекста.

data_element [л]    Является    (л+1)-м элементом массива данных.

datajeiement [т][п]    Является    элементом (/Т7+1)-й строки (л+1)-го столбца двухмерного массива

данных.

data_element [/][/Т7][п]    Является (/+1), (т+1), (п+1)-м элементом трехмерного массива данных.

datajeiement [т...п]    Биты массива data_element с т по п включительно.

Знание самого синтаксиса потока битов в 5.3 не следует считать достаточным для декодирования. В частности, это лишь определяет корректный и свободный от ошибок входной поток битов. Реальные декодеры для того, чтобы правильно начать декодирование, должны иметь средства обнаружения стартовых последовательностей.

bytealignedO    Возвращает 1, если текущая позиция находится на границе байта, так что следу

ющий бит потока будет первым битом нового байта. В противном случае функция возвращает 0.

nextbitsQ    Реализует сравнение строки битов со строкой битов на входе декодера.

next_start_codeQ    Удаляет все нулевые биты и биты стаффинга и определяет положение следующе

го синхрослова.

7