Уровень сетевой абстракции - Network Abstraction Layer

В Уровень сетевой абстракции (NAL) является частью H.264 / AVC и HEVC стандарты кодирования видео. Основная цель NAL - обеспечение «дружественного к сети» представления видео, адресованного «разговорным» (видеотелефония) и «не диалоговым» (хранение, широковещательная или потоковая передача) приложениям. NAL достиг значительного улучшения гибкости приложений по сравнению с предыдущими стандартами кодирования видео.

Вступление

Растущее количество услуг и растущая популярность телевидения высокой четкости создают большие потребности в более высокой эффективности кодирования. Более того, другие средства передачи, такие как Кабельный модем, xDSL, или же UMTS предлагают гораздо более низкие скорости передачи данных, чем широковещательные каналы, а повышенная эффективность кодирования может позволить передавать больше видеоканалов или более качественные видеопрезентации в рамках существующих возможностей цифровой передачи. ISDN и Т1 /E1 услуга принять PSTN, мобильные беспроводные сети и LAN / Доставка по сети Интернет. На протяжении всей этой эволюции прилагались постоянные усилия для максимизации эффективности кодирования при одновременном рассмотрении разнообразия типов сетей и их характерного форматирования и требований устойчивости к потерям / ошибкам.

В H.264 / AVC и HEVC стандарты предназначены для технических решений, включая такие области, как вещание (более кабель, спутник, кабельный модем, DSL, земной и т. д.) интерактивное или последовательное хранение на оптических и магнитных устройствах, разговорные службы, видео по запросу или потоковая передача мультимедиа, службы обмена мультимедийными сообщениями и т. д. Более того, новые приложения могут быть развернуты в существующих и будущих сетях. Это поднимает вопрос о том, как обрабатывать такое разнообразие приложений и сетей. Чтобы удовлетворить эту потребность в гибкости и настраиваемости, дизайн охватывает NAL, который форматирует Слой кодирования видео (VCL) представляет видео и предоставляет информацию заголовка способом, подходящим для передачи различными транспортными уровнями или носителями данных.

NAL разработан для обеспечения «удобства работы с сетью», чтобы обеспечить простую и эффективную настройку использования VCL для широкого спектра систем. NAL обеспечивает возможность отображать данные VCL на транспортные уровни, такие как:[1]

  • RTP /IP для любых видов проводных и беспроводных Интернет-услуг в режиме реального времени.[1]
  • Форматы файлов, например, ISO MP4 для хранения и MMS.[1]
  • H.32X для проводных и беспроводных разговорных услуг.[1]
  • MPEG-2 системы для служб вещания и др.[1]

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

Единицы NAL

Кодированные видеоданные организованы в блоки NAL, каждый из которых фактически представляет собой пакет, содержащий целое количество байтов. Первый байт каждого H.264 / AVC Блок NAL - это байт заголовка, который содержит указание типа данных в блоке NAL. За HEVC заголовок был расширен до двух байтов. Все оставшиеся байты содержат данные полезной нагрузки того типа, который указан в заголовке. Определение структуры блока NAL определяет общий формат для использования как в пакетно-ориентированных, так и в ориентированных на потоки системах транспортных системах, и упоминается ряд блоков NAL, сгенерированных кодером. как единичный поток NAL.

Единицы NAL в формате байтового потока

В некоторых системах требуется доставка всего или частичного потока блоков NAL в виде упорядоченного потока байтов или битов, в пределах которого местоположения границ блоков NAL должны быть идентифицированы по шаблонам в самих кодированных данных. H.264 / AVC и HEVC спецификации определяют формат потока байтов. В формате байтового потока каждая единица NAL имеет префикс из трех байтов, который называется префиксом стартового кода. Затем границы блока NAL могут быть идентифицированы путем поиска в кодированных данных уникального шаблона префикса начального кода. Использование байтов предотвращения эмуляции гарантирует, что префиксы начального кода являются уникальными идентификаторами начала нового блока NAL. Также добавляется небольшой объем дополнительных данных (один байт на видеоизображение), чтобы позволить декодерам, которые работают в системах, которые предоставляют потоки биты без выравнивания по границам байтов для восстановления необходимого выравнивания из данных в потоке. Дополнительные данные также могут быть вставлены в формат потока байтов, что позволяет увеличить объем передаваемых данных и может помочь в достижении более быстрого восстановления выравнивания байтов , при желании.

Единицы NAL в использовании системы передачи пакетов

В других системах (например, IP /RTP systems), кодированные данные переносятся в пакетах, которые формируются транспортным протоколом системы, и идентификация границ блоков NAL в пакетах может быть установлена ​​без использования шаблонов префиксов начального кода. В таких системах включение префиксов стартового кода в данные было бы пустой тратой пропускной способности данных, поэтому вместо этого блоки NAL могут переноситься в пакетах данных без префиксов стартового кода.

Модули VCL и NAL, не относящиеся к VCL

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

Наборы параметров

Предполагается, что набор параметров содержит информацию, которая, как ожидается, будет редко меняться, и предлагает декодирование большого количества блоков VCL NAL. Есть два типа наборов параметров:

  • наборы параметров последовательности (SPS), которые применяются к серии последовательных кодированных видеоизображений, называемых кодированной видеопоследовательностью
  • наборы параметров изображения (PPS), которые применяются к декодированию одного или нескольких отдельных изображений в кодированной видеопоследовательности

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

Использование набора параметров с надежным «внеполосным» обменом наборами параметров

Единицы доступа

Набор блоков NAL в заданной форме называется блоком доступа. В результате декодирования каждого блока доступа получается одно декодированное изображение. Каждый блок доступа содержит набор блоков VCL NAL, которые вместе составляют изображение с первичным кодированием. Он также может иметь префикс разделитель единиц доступа для помощи в определении местоположения начала блока доступа. Немного дополнительная информация об улучшении содержащие данные, такие как информация о синхронизации изображения, также может предшествовать первично кодированному изображению. Первично кодированное изображение состоит из набора блоков VCL NAL, состоящих из ломтики или же разделы данных среза которые представляют образцы видеоизображения. За первично кодированным изображением могут следовать некоторые дополнительные блоки VCL NAL, которые содержат избыточные представления областей одного и того же видеоизображения. Они называются избыточно закодированные изображения, и доступны для использования декодером при восстановлении после потери или повреждения данных в первично кодированных изображениях. От декодеров не требуется декодировать избыточные кодированные изображения, если они присутствуют. Наконец, если кодированное изображение является последним изображением кодированной видеопоследовательности (последовательность изображений, которая может декодироваться независимо и использует только один набор параметров последовательности), конец последовательности Блок NAL может присутствовать, чтобы указать конец последовательности; и если кодированное изображение является последним кодированным изображением во всем потоке блоков NAL, конец потока Блок NAL может присутствовать, чтобы указать, что поток заканчивается.

Структура блока доступа NAL

Закодированные видеопоследовательности

Кодированная видеопоследовательность состоит из серии блоков доступа, которые являются последовательными в потоке блоков NAL и используют только один набор параметров последовательности. Каждая кодированная видеопоследовательность может быть декодирована независимо от любой другой кодированной видеопоследовательности при наличии необходимой информации о наборе параметров, которая может быть передана «внутри полосы» или «вне полосы». В начале закодированной видеопоследовательности стоит мгновенное обновление декодирования (IDR) блок доступа. Блок доступа IDR содержит внутри изображение, которое является кодированным изображением, которое может быть декодировано без декодирования каких-либо предыдущих изображений в потоке блоков NAL, и наличие блока доступа IDR указывает, что никакое последующее изображение в потоке не потребует ссылки на изображения до внутреннего изображения, которое оно содержит в Поток блока NAL может содержать одну или несколько кодированных видеопоследовательностей.

Рекомендации

  1. ^ а б c d е Джек, Кит (2007). «Глава 14: MPEG-4 и H.264». Видео демистифицировано (5-е изд.). Newnes. п. 762. ISBN  978-0-7506-8395-1.
Источники