Способ и устройство для видеокодирования

Иллюстрации

Показать все

Изобретение относится к кодированию и декодированию данных. Техническим результатом является повышение устойчивости к ошибкам при видеокодировании. Способ содержит прием первого набора параметров; получение идентификатора упомянутого первого набора параметров; прием второго набора параметров; определение действительности упомянутого первого набора параметров на основе по меньшей мере одного из следующего: прием во втором наборе параметров списка действительных значений идентификаторов; и определение того, что упомянутый первый набор параметров является действительным, если идентификатор упомянутого первого набора параметров находится в упомянутом списке действительных значений параметров; прием во втором наборе параметров идентификатора второго набора параметров; и определение того, что упомянутый первый набор параметров является действительным, на основе идентификатора упомянутого первого набора параметров и идентификатора упомянутого второго набора параметров. 8 н. и 22 з.п. ф-лы, 10 ил.

Реферат

Область техники

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

Предпосылки создания изобретения

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

Во многих стандартах видеокодирования синтаксические структуры могут быть организованы с использованием нескольких различных уровней, при этом «уровень» может быть определен как набор синтаксических структур в неразветвленной иерархической связи. Как правило, более высокие уровни могут включать в себя нижние уровни. Кодируемые уровни могут включать, например, уровни кодированной видеопоследовательности, уровни изображения, уровни слайсов и уровни блоков с древовидной структурой кодирования. В некоторых стандартах видеокодирования введено понятие «набора параметров». Экземпляром набора параметров может быть изображение в целом, группа изображений, и данные уровня последовательности, такие как размер изображения, окно отображения, использованные опциональные режимы кодирования, карта распределения макроблоков и др. Каждый экземпляр набора параметров может включать уникальный идентификатор. Каждый заголовок слайса может включать ссылку на идентификатор набора параметров, при этом значения параметров в наборе параметров, на которые осуществляется ссылка, могут быть использованы при декодировании слайса. Наборы параметров могут использоваться для обеспечения независимости порядка передачи и декодирования нечасто меняющихся изображений, GOP и данных уровня последовательности для последовательностей, GOP и границ изображения. Наборы параметров могут передаваться вне основной полосы с использованием надежного протокола связи, единственное условие: они должны быть декодированы до того, как на них будет осуществлена ссылка. Если наборы параметров передаются в основной полосе, они могут повторяться несколько раз для повышения устойчивости к ошибкам по сравнению с традиционными схемами видеокодирования. Наборы параметров могут передаваться во время установления сеанса. Однако в некоторых системах, как правило, системах широковещания, надежная передача наборов параметров вне основной полосы неосуществима, и наборы параметров передаются в основной полосе, в NAL-блоках наборов параметров ("Parameter Set").

Сущность изобретения

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

Различные аспекты примеров настоящего изобретения приведены в разделе с подробным описанием изобретения.

В соответствии с первым аспектом настоящего изобретения предложен способ, включающий:

прием первого набора параметров;

получение идентификатора упомянутого первого набора параметров;

прием второго набора параметров;

определение действительности упомянутого первого набора параметров на основе по меньшей мере одного из следующего:

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

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

В соответствии со вторым аспектом настоящего изобретения предложен способ, включающий:

кодирование первого набора параметров;

прикрепление идентификатора первого набора параметров к упомянутому первому набору параметров;

кодирование второго набора параметров;

определение действительности упомянутого первого набора параметров на основе по меньшей мере одного из следующего:

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

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

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

прием первого набора параметров;

получение идентификатора упомянутого первого набора параметров;

прием второго набора параметров; и

определение действительности упомянутого первого набора параметров на основе по меньшей мере одного из следующего:

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

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

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

кодирование первого набора параметров;

прикрепление идентификатора первого набора параметров к упомянутому первому набору параметров;

кодирование второго набора параметров;

и определение действительности упомянутого первого набора параметров на основе по меньшей мере одного из следующего:

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

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

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

прием первого набора параметров;

получение идентификатора упомянутого первого набора параметров;

прием второго набора параметров;

определение действительности упомянутого первого набора параметров на основе по меньшей мере одного из следующего:

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

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

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

кодирование первого набора параметров;

прикрепление идентификатора первого набора параметров;

кодирование второго набора параметров; определение действительности упомянутого первого набора параметров на основе по меньшей мере одного из следующего:

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

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

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

средства приема первого набора параметров;

средства получения идентификатора упомянутого первого набора параметров;

средства приема второго набора параметров;

средства определения действительности упомянутого первого набора параметров на основе по меньшей мере одного из следующего:

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

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

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

средства кодирования первого набора параметров;

средства прикрепления идентификатора упомянутого первого набора параметров;

средства кодирования второго набора параметров; и

средства определения действительности упомянутого первого набора параметров на основе по меньшей мере одного из следующего:

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

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

В соответствии с девятым аспектом осуществления настоящего изобретения предложен видеодекодер, сконфигурированный:

для приема первого набора параметров;

для получения идентификатора упомянутого первого набора параметров;

для приема второго набора параметров;

для определения действительности упомянутого первого набора параметров на основе по меньшей мере одного из следующего:

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

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

В соответствии с десятым аспектом осуществления настоящего изобретения предложен видеокодер, сконфигурированный:

для кодирования первого набора параметров;

для прикрепления идентификатора упомянутого первого набора параметров к упомянутому второму набору параметров;

для кодирования второго набора параметров;

для определения действительности упомянутого первого набора параметров на основе по меньшей мере одного из следующего:

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

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

Краткое описание чертежей

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

На фиг. 1 эскизно проиллюстрировано электронное устройство, в котором применяются некоторые из аспектов настоящего изобретения;

на фиг. 2 эскизно проиллюстрировано абонентское оборудование, подходящее для применения некоторых из вариантов настоящего изобретения;

на фиг. 3 эскизно проиллюстрированы электронные устройства, в которых применяются некоторые из аспектов настоящего изобретения и которые соединены при помощи проводных и беспроводных сетевых соединений;

на фиг. 4а эскизно проиллюстрирован один из вариантов осуществления настоящего изобретения в составе кодера;

на фиг. 4b эскизно проиллюстрирован один из вариантов осуществления устройства внутреннего предсказания в соответствии с некоторыми из вариантов осуществления настоящего изобретения;

на фиг. 5 проиллюстрирована упрощенная модель системы 3DV на основе DIBR;

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

на фиг. 7 показан один из примеров определения блоков доступа и порядка их кодирования;

на фиг. 8 показан алгоритм верхнего уровня для одного из вариантов осуществления кодера, способного кодировать ракурсы текстуры и глубины; и

на фиг. 9 показан алгоритм верхнего уровня для одного из вариантов осуществления декодера, способного кодировать ракурсы текстуры и глубины.

Подробное описание некоторых вариантов осуществления изобретения

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

Стандарт H.264/AVC был разработан объединенной командой по видео (Joint Video Team, JVT) группы экспертов по видеокодированию (Video Coding Experts Group, VCEG) сектора стандартизации телекоммуникаций Международного союза электросвязи (International Telecommunication Union, ITU-T) и группой экспертов по движущемуся изображению (the Moving Picture Experts Group, MPEG) Международной организации по стандартизации (International Organization for Standardization, ISO) / Международной электротехнической комиссии (International Electrotechnical Commission, IEC). Стандарт H.264/AVC был опубликован обеими родительскими организациями по стандартизации и получил наименование Рекомендации I-L264 ITUT и Международного стандарта 14496-10, известного также как улучшенное видеокодирование (Advanced Video Coding, AVC), 10-ая часть MPEG-4. Были выпущены несколько версий стандарта H.264/AVC, в спецификацию каждой из которых добавлялись новые расширения или элементы. В число этих расширений входили масштабируемое видеокодирование (Scalable Video Coding, SVC) и многоракурсное видеокодирование (Multiview Video Coding, MVC).

В текущий момент объединенной командой по видеокодированию (Joint Collaborative Team - Video Coding, JCT-VC) группы VCEG ведется работа над проектом стандарта высокоэффективного видеокодирования (High Efficiency Video Coding, HEVC).

В настоящем разделе приведены ключевые определения, описана структура битового потока и кодирования, а также основные понятия стандартов H.264/AVC и HEVC, в качестве примера видеокодера, декодера, способа кодирования, способа декодирования и структуры битового потока, в которых могут быть реализованы варианты осуществления настоящего изобретения. Часть ключевых определений, структур битового потока и кодирования, а также основных понятий стандарта H.264/AVC являются общими с проектом стандарта HEVC, в этом случае они описаны ниже совместно. Аспекты настоящего изобретения не ограничены стандартами H.264/AVC или HEVC, напротив, данное описание приведено в качестве описания лишь одной базы для частичной или полной реализации настоящего изобретения.

Аналогично многим предшествующим стандартам видеокодирования, в стандартах H.264/AVC и HEVC определены синтаксис и семантика битового потока, а также процесс декодирования безошибочных битовых потоков. Процесс кодирования не определен, однако кодеры должны формировать битовые потоки, соответствующие стандарту. Соответствие битового потока и декодера стандарту может быть проверено с помощью гипотетического опорного декодера (Hypothetical Reference Decoder (HRD). Стандарты включают в себя инструменты кодирования, помогающие справиться с ошибками и потерями при передаче, однако использование этих инструментов при кодировании не является обязательным, а процесс декодирования для битовых потоков с ошибками не определен.

Элементарным блоком для ввода в декодер H.264/AVC или HEVC и вывода из декодера H.264/AVC или HEVC, соответственно, является изображение. В случае стандартов H.264/AVC и HEVC изображение может представлять собой кадр или поле. Кадр включает в себя матрицу элементов (отсчетов) яркости и соответствующих элементов цветности. Поле представляет собой множество чередующихся строк элементов кадра и может использоваться как входные данные для кодера в случае, когда исходный сигнал является чересстрочным. Разрешение компонентов цветности может быть пониженным, по сравнению с разрешением компонентов яркости. Например, при схеме семплирования 4:2:0 пространственное разрешение компонента цветности будет равно половине разрешения компонента яркости по обеим координатным осям.

В стандарте H.264/AVC макроблок представляет собой блок элементов яркости размером 16×16 и соответствующие блоки элементов цветности. Например, при схеме семплирования 4:2:0 макроблок будет содержать один блок элементов цветности размером 8×8 для каждого компонента цветности. В стандарте H.264/AVC изображение разбивается на одну или более групп слайсов, при этом каждая группа слайсов содержит один или более слайсов. В стандарте H.264/AVC слайс состоит из целого числа макроблоков, упорядоченных в порядке сканирования растра в каждой группе слайсов.

В проекте стандарта HEVC видеоизображения разбивают на блоки кодирования (coding unit, CU), покрывающие область изображения. Каждый из блоков кодирования состоит из одного или более блоков предсказания (prediction unit, PU), определяющих процедуру предсказания значений в блоке кодирования, а также одного или более блоков преобразования (transform units, TU), определяющих процедуру кодирования ошибки предсказания для элементов в блоке кодирования. Как правило, блок кодирования состоит из квадратного блока элементов, размер которого выбирается из заранее заданного множества допустимых размеров блока кодирования. Блок кодирования максимально допустимого размера, как правило, называется LCU (largest coding unit, наибольший блок кодирования), при этом изображение в видео разбивается на неперекрывающиеся LCU. Блок LCU может быть разбит на комбинацию менее крупных блоков кодирования, например, при помощи рекурсивного разбиения LCU и результирующих блоков кодирования. Каждый из результирующих блоков кодирования, как правило, имеет связанный с ним по меньшей мере один блок предсказания и один блок преобразования. Каждый блок предсказания и блок преобразования могут быть разбиты на менее крупные блоки предсказания и блоки преобразования с целью повышения детализации процедур предсказания и кодирования ошибки предсказания, соответственно. Разбиение блока предсказания может быть реализовано как разбиение блока кодирования на четыре квадратных блока предсказания или разбиение блока кодирования на два прямоугольных блока предсказания по вертикали или по горизонтали, симметрично или несимметрично. Разбиение изображения на блоки кодирования и разбиение блоков кодирования на блоки предсказания и блоки преобразования, передаваемые, как правило, в битовом потоке, позволяет воспроизводить заданную структуру этих блоков в декодере.

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

В 5-й редакции рабочего проекта (Working Draft 5, WD 5) стандарта HEVC некоторые из ключевых определений и понятий, связанных с разбиением изображения, определены следующим образом. Разбиением называется разделение множества на подмножества таким образом, что каждый элемент множества находится только в одном из подмножеств.

Базовым блоком кодирования в редакции WD5 стандарта HEVC является блок с древовидной структурой кодирования. Блок с древовидной структурой кодирования представляет собой блок элементов яркости размера N×N и два соответствующих блока элементов цветности изображения, которые имеют по меньшей мере три массива значений, или блок значений размера N×N монохромного изображения, или изображения, кодируемого с использованием трех отдельных цветных слоев. Блок с древовидной структурой кодирования для последующих процедур кодирования и декодирования может разбиваться на части. Разбиение блока с древовидной структурой кодирования представляет собой блок элементов яркости и два соответствующих блока элементов цветности, полученные в результате разбиения блока с древовидной структурой кодирования для изображения, которое имеет три массива значений, или блок элементов яркости, полученные в результате разбиения блока с древовидной структурой кодирования для монохромного изображения или изображения, кодируемого с использованием трех цветных слоев. Каждому блоку с древовидной структурой кодирования ставится в соответствие сигнализация разбиения, предназначенная для определения размеров блоков для внутреннего или внешнего предсказания, а также для кодирования с преобразованием. Разбиение в данном случае представляет собой рекурсивное разбиение с использованием дерева квадрантов. Корень дерева квадрантов ставится в соответствие блоку с древовидной структурой кодирования. Дерево квадрантов разбивается на части до тех пор, пока не будет достигнут лист дерева, который называют узлом кодирования. Узел кодирования является корневым узлом двух деревьев, дерева предсказания и дерева преобразования. Дерево предсказания определяет положение и размер блоков предсказания. Дерево предсказания и связанные с ним данные предсказания называются блоком предсказания. Дерево преобразования определяет положение и размер блоков преобразования. Дерево преобразования и связанные с ним данные преобразования называются блоком преобразования. Информация о разбиении на компоненты яркости и цветности является идентичной для дерева предсказания, при этом для дерева преобразования она может быть как идентичной, так и отличаться. Узел кодирования, вместе со связанными с ним блоками предсказания и преобразования, образуют блок кодирования.

В редакции WD5 стандарта HEVC изображения разбивают на слайсы и плитки. Слайс может представлять собой последовательность блоков с древовидной структурой кодирования, но (в случае так называемого слайса высокой детализации) может иметь также границу внутри блока с древовидной структурой кодирования в точке соприкосновения блока преобразования и блока предсказания. Блоки с древовидной структурой кодирования внутри слайса кодируются и декодируются в порядке сканирования растра. Для первично кодированного изображения деление каждого изображения на слайсы является разбиением.

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

В стандартах H.264/AVC и HEVC предсказание внутри изображения с пересечением границ слайсов может быть запрещено. Соответственно, слайсы можно считать способом деления кодированного изображения на независимо декодируемые части, и, следовательно, слайсы часто считаются элементарными единицами передачи. Во многих случаях кодеры могут указывать в битовом потоке, какие типы внутреннего предсказания с переходом между границами слайсов запрещены, при этом декодер учитывает данную информацию в своей работе, например, делая вывод о доступных источниках предсказания. Например, значения из соседних макроблоков, или блоков кодирования, могут считаться недоступными для внутреннего предсказания, если эти соседние макроблоки, или блоки кодирования, расположены в различных слайсах.

Синтаксическим элементом может быть назван элемент данных, представленных в битовом потоке. Синтаксической структурой может быть назван ноль или более синтаксических элементов, совместно находящихся в битовом потоке в заданном порядке. Элементарным блоком для вывода из декодера H.264/AVC или HEVC и ввода в декодер H.264/AVC или HEVC, соответственно, является блок уровня сетевой абстракции (Network Abstraction Layer, NAL). С целью передачи по сетям пакетной передачи данных или хранения в структурированных файлах NAL-блоки могут инкапсулироваться в пакеты или в аналогичные структуры. Формат битового потока определен в стандартах H.264/AVC и HEVC для сред передачи или хранения, не обеспечивающих структуру кадров. В формате битового потока NAL-блоки отделяются друг от друга при помощи прикрепления перед каждым NAL-блоком специального стартового кода. Чтобы исключить ложное обнаружение границ NAL-блоков в кодерах исполняется байтовый алгоритм предотвращения эмуляции стартового кода, который добавляет байт предотвращения эмуляции к полезной нагрузке NAL-блока, если в противном случае в ней будет присутствовать стартовый код. Чтобы обеспечить прямое шлюзовое взаимодействие между системами пакетной и потоковой передачи данных, предотвращение эмуляции стартового кода должно выполняться в любом случае, независимо от того, применяется формат битового потока или нет. NAL-блок может быть определен как синтаксическая структура, содержащая указание на тип данных, следующих за ней, и байты, содержащие эти данные в форме RBSP (raw byte sequence payload, последовательность исходных байтов полезной нагрузки), чередующиеся, при необходимости, с байтами предотвращения эмуляции. Последовательность RBSP может быть определена как синтаксическая структура, включающая целое число байтов и инкапсулируемая в NAL-блоке. Последовательность RBSP может быть либо пустой, либо иметь форму строки битов данных, содержащих синтаксические элементы, за которыми следует стоп-бит RBSP и ноль или более последующих битов, равных 0.

NAL-блоки состоят из заголовка и полезной нагрузки. В стандартах H.264/AVC и HEVC заголовок NAL-блока указывает на тип данного NAL-блока, а также на то, является ли кодированный слайс, содержащийся в данном NAL-блоке, частью опорного изображения или неопорного изображения. Стандарт H264/AVC включает 2-битный синтаксический элемент nal_ref_idc, который, если он равен 0, указывает на то, что кодированный слайс, содержащийся в данном NAL-блоке, является частью неопорного изображения, и если он больше 0, указывает на то, что кодированный слайс, содержащийся в данном NAL-блоке, является частью опорного изображения. Проект стандарта HEVC включает 1-битный синтаксический элемент nal_ref_idc, который, если он равен 0, указывает на то, что кодированный слайс, содержащийся в данном NAL-блоке, является частью неопорного изображения, и если он равен 1, указывает на то, что кодированный слайс, содержащийся в данном NAL-блоке, является частью опорного изображения. Заголовок NAL-блоков в расширениях SVC и MVC может дополнительно содержать различные указания, связанные с масштабированием и многоракурсной иерархией. В проекте стандарта HEVC заголовок NAL-блока включает синтаксический элемент temporal_id, который определяет временный идентификатор NAL-блока.

NAL-блоки могут быть разделены на две категории: NAL-блоки уровня видеокодирования (Video Coning Layer, VCL) и NAL-блоки, не являющиеся блоками VCL. NAL-блоки категории VCL представляют собой NAL-блоки со стандартным кодированием слайсов. В стандарте H.264/AVC кодированные NAL-блоки слайса содержат синтаксические элементы, представляющие собой один или более кодированных макроблоков, каждый из которых соответствует блоку элементов несжатого изображения. В проекте стандарта HEVC кодированные NAL-блоки слайса содержат синтаксические элементы, представляющие собой один или более блоков кодирования. В стандартах H.264/AVC и HEVC может осуществляться указание на то, что кодированный NAL-блок слайса является кодированным слайсом изображения мгновенного обновления декодирования (Instantaneous Decoding Refresh, IDR) или кодированным слайсом изображения, не являющегося IDR-изображением. В стандарте HEVC может осуществляться указание на то, что NAL-блок кодированного слайса является кодированным слайсом изображения чистого обновления декодирования (Clean Decoding Refresh, CDR) или изображения с чистым произвольным доступом (Clean Random Access, CRA).

NAL-блок, не являющийся блоком VCL, может, например, иметь один из следующих типов: набор параметров последовательности, набор параметров изображения, NAL-блок дополнительной уточняющей информации (supplemental enhancement information, SEI), разделитель блока доступа, конец последовательности NAL-блоков, конец потока NAL-блоков или NAL-блок с данными фильтрации. Наборы параметров могут быть необходимы для восстановления декодированных изображений, при этом многие из остальных типов NAL-блоков, не являющихся блоками VCL, не являются необходимыми для восстановления декодированных изображений.

В набор параметров последовательности могут включаться параметры, которые остаются неизменными в течение всей кодированной видеопоследовательности. В дополнение к параметрам, которые могут быть необходимы для процедуры декодирования, набор параметров последовательности опционально может включать информацию по используемости видео (video usability information, VUI), включающую параметры, которые могут быть важными для буферизации, синхронизации вывода изображения, рендеринга изображения и резервирования ресурсов. В стандарте H.264/AVC определены три типа NAL-блоков, несущих наборы параметров последовательности: NAL-блоки с параметрами последовательности, содержащие все данные для NAL-блоков VCL стандарта H.264/AVC в последовательности, расширенные NAL-блоки набора параметров последовательности, содержащие данные внешне кодируемых изображений и блоки, содержащие поднабор набора параметров для NAL-блоков MVC и SVC VCL. Набор параметров изображения содержит параметры, которые с большой вероятностью будут неизменными для нескольких кодированных изображений.

В проекте стандарта HEVC имеется также третий тип набора параметров, который в настоящем документе называется набором параметров адаптации (Adaptation Parameter Set, APS) и включает параметры, которые с большой вероятностью остаются неизменными для нескольких кодированных слайсов, но могут изменяться, например, в каждом изображении или в каждых нескольких изображениях. В проекте стандарта HEVC синтаксическая структура набора APS содержит параметры или синтаксические элементы, относящиеся к матрицам квантования (quantization matrices, QM), адаптивному смещению значений (adaptive sample offset, SAO), адаптивной петлевой фильтрации (adaptive loop filtering, ALF) и деблокирующей фильтрации. В проекте стандарта HEVC набор APS представляет собой NAL-блок и кодируется без ссылок на другие NAL-блоки и без предсказания на основе других NAL-блоков. В каждый NAL-блок набора APS включают идентификатор, имеющий наименование синтаксического элемента aps_id, который также включается в состав заголовка слайса для указания на конкретный набор APS.

Синтаксис стандартов H.264/AVC и HEVC допускает наличие множественных экземпляров наборов параметров, при этом каждый экземпляр имеет уникальный идентификатор. Чтобы ограничить использование памяти, необходимой для наборов параметров, был ограничен диапазон значений для идентификаторов наборов параметров. В стандарте H.264/AVC и в проекте стандарта HEVC каждый заголовок слайса включает идентификатор набора пар