Декодирование многослойного видеопотока

Иллюстрации

Показать все

Изобретение относится к вычислительной технике. Технический результат заключается в эффективной сигнализации слоевых зависимостей для многослойного видеопотока. Способ определения отношения декодирования для кодированного многослойного видеопотока, задающего множественные слои изображений, в котором извлекают на основании упомянутого кодированного многослойного видеопотока и для слоя с индексом i слоя из упомянутых множественных слоев соответствующий флаг непосредственной зависимости, direct_dependency_flag[i][j], для каждого слоя из упомянутых множественных слоев, имеющего индекс j слоя, для которого 0≤j<i, причем флаг непосредственной зависимости, direct_dependency_flag[i][j], равный 1, указывает, что упомянутый слой с индексом j слоя является непосредственным опорным слоем для упомянутого слоя с индексом i слоя, и флаг непосредственной зависимости, direct_dependency_flag[i][j], равный 0, указывает, что упомянутый слой с индексом j слоя не является непосредственным опорным слоем для упомянутого слоя с индексом i слоя; определяют информацию отношения декодирования, задающую любое отношение декодирования между упомянутыми множественными слоями, на основании упомянутого соответствующего флага непосредственной зависимости. 8 н. и 16 з.п. ф-лы, 27 ил.

Реферат

Область техники, к которой относится изобретение

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

Уровень техники

HEVC (высокоэффективное видеокодирование) является стандартом видеокодирования нового поколения, в настоящее время находящимся в разработке. HEVC существенно повышает эффективность кодирования по сравнению с традиционным H.264/усовершенствованным видеокодированием (AVC). Первоначально HEVC разрабатывался применительно к моноскопическому видео, т.е. одному виду камеры, при фиксированных качестве и битовой скорости, т.е. без масштабирования. В настоящее время подготавливается многослойные расширения стандарта HEVC, например, масштабируемое расширение, многовидовое расширение и 3D-расширение. Эти расширения требуют многослойной поддержки. Битовый поток HEVC без расширений можно рассматривать как однослойный битовый поток, т.е. он представляет видео в единичном представлении, например единичный вид видео, единичное разрешение и единичное качество. В многослойных расширениях, однослойный битовый поток HEVC обычно включен в качестве “базового слоя”. В многовидовых или 3D-расширениях, дополнительные слои могут представлять дополнительные виды видео, захваченные из разных позиций камеры или, например, информации глубины. В расширениях масштабируемости, дополнительные слои могут представлять видео с дополнительными, обычно более высокими, разрешениями видеоизображениями, или более высокой пиксельной верностью, или другие цветовые пространства, и пр., обеспечивая повышенное качество видео относительно базового слоя.

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

Информация зависимости в HEVC обычно получается в так называемых наборах параметров, например наборе параметров изображения (PPS), наборе параметров последовательности (SPS), или наборе параметров видео (VPS), совместно с другой информацией. Обычно, каждый набор параметров инкапсулируется в единицу уровня сетевых абстракций (NAL), т.е. пакет в битовом потоке видеоданных. Поскольку наборы параметров содержат информацию, важную для декодирования, они могут повторно отправляться в битовом потоке или переноситься посредством передачи “вне диапазона”, т.е. передаваться отдельно от остального битового потока, например по надежному соединению. Такая передача вне диапазона может происходить, например, в ходе установления сеанса, например, с использованием протокола описания сеансов (SDP).

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

Документ объединенной команды сотрудничества по видеокодированию (JCT-VC) из ITU-T SG 16 WP 3 и ISO/IEC JTC 1/SC 29/WG 11 на 11-ой встрече: Шанхай, КНР, 10-19 октября 2012 г., обозначенный JCTVC-K1007, относящийся к конструкциям заголовка единицы NAL и набора параметров для расширений HEVC включает в себя спецификации конструкций набора параметров для расширений многовидового/3D HEVC и масштабируемого кодирования. Согласно этому документу, слоевые зависимости сигнализируются как часть указанной ниже синтаксической структуры vps_extension:

num_direct_ref_layers[ i ] указывает количество слоев, от которых непосредственно зависит i-й слой.

ref_layer_id[ i ][ j ] идентифицирует j-й слой, от которого непосредственно зависит i-й слой.

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

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

Общей задачей является обеспечение эффективной обработки многослойного видеопотока.

Частной задачей является эффективная сигнализация слоевых зависимостей для многослойного видеопотока.

Эти и другие задачи решаются согласно раскрытым здесь вариантам осуществления.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Согласно варианту осуществления этого другого аспекта, этап отображения содержит извлечение флага vps_nuh_layer_id_present_flag на основании кодированного многослойного видеопотока. Этап отображения также содержит установление, для каждого опорного слоя и для слоя и при условии vps_nuh_layer_id_present_flag=0, его идентификатора слоя равным его индексу слоя. Этап отображения дополнительно содержит извлечение, для каждого опорного слоя и для слоя и при условии vps_nuh_layer_id_present_flag=1, его идентификатора слоя из вектора layer_id_in_nuh[ i ], i ∈ [1, vps_max_layers_minus1], где vps_max_layers_minus1 + 1 указывает максимальное количество слоев, и layer_id_in_nuh[ i ] указывает идентификатор слоя для слоя с индексом i слоя.

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

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

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

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

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

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

Согласно варианту осуществления этого другого родственного аспекта, блок отображения индекса в идентификатор выполнен с возможностью извлечения флага vps_nuh_layer_id_present_flag на основании кодированного многослойного видеопотока. Блок отображения индекса в идентификатор также выполнен с возможностью устанавливать, для каждого опорного слоя и для слоя и при условии vps_nuh_layer_id_present_flag=0, его идентификатор слоя равным его индексу слоя. Блок отображения индекса в идентификатор дополнительно выполнен с возможностью извлечения, для каждого опорного слоя и для слоя и при условии vps_nuh_layer_id_present_flag=1, его идентификатора слоя из вектора layer_id_in_nuh[ i ], i ∈ [1, vps_max_layers_minus1], где vps_max_layers_minus1 + 1 указывает максимальное количество слоев, и layer_id_in_nuh[ i ] указывает идентификатор слоя для слоя с индексом i слоя.

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

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

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

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

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

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

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

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

фиг. 1 схематически демонстрирует пример многослойного видеопотока;

фиг. 2 схематически демонстрирует другой пример многослойного видеопотока;

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

фиг. 4 демонстрирует пример пакета данных многослойного видеопотока;

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

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

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

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

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

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

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

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

фиг. 13 - упрощенная блок-схема устройства для определения отношения декодирования согласно варианту осуществления;

фиг. 14 - упрощенная блок-схема устройства для определения отношения декодирования согласно другому варианту осуществления;

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

фиг. 16 - упрощенная блок-схема устройства для определения отношения кодирования согласно варианту осуществления;

фиг. 17 - упрощенная блок-схема устройства для определения отношения кодирования согласно другому варианту осуществления;

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

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

фиг. 20 - схема, демонстрирующая количество битов, необходимое для сигнализации слоевых зависимостей, когда каждый слой с индексом слоя i≥1 имеет один опорный слой;

фиг. 21 - схема, демонстрирующая количество битов, необходимое для сигнализации слоевых зависимостей, когда каждый слой с индексом слоя i≥2 имеет два опорных слоя, и слой с индексом слоя i=1 имеет один опорный слой;

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

фиг. 23 схематически демонстрирует другой пример многослойного видеопотока;

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

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

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

фиг. 27 - упрощенная блок-схема устройства для определения отношения декодирования согласно другому варианту осуществления.

Подробное описание

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

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

Многослойное видео, в целом, означает многовидовое видео, 3D-видео и/или масштабируемое видео. В многовидовом видео сцена захватывается из разных видов камеры, как указано на фиг. 1, демонстрирующей три таких видов камеры. В этом случае многослойный видеопоток 1 содержит, в этом примере, изображения 20, 22, 24 из трех разных слоев 10, 12, 14 или видов. Изображения 20, 22, 24 в многослойном видеопотоке 1 могут кодироваться и декодироваться с использованием опорных изображений, принадлежащих одному и тому же слою 10, 12, 14 или виду или принадлежащих другому слою 10, 12, 14 или виду. Фиг. 1 схематически демонстрирует отношения кодирования и декодирования между изображениями стрелками. Например, изображение 24 кодируется и декодируется относительно предыдущего, согласно порядку кодирования и декодирования, изображения 22, принадлежащего одному и тому же слою 12 или виду. Это изображение 22 хотя кодируется и декодируется с использованием предыдущего изображения одного и того же слоя 12 или вида и другого изображения 20, принадлежащего другому слою 10 или виду. На фиг. 1 слой 10 или вид является базовым слоем или видом, тогда как другие слои 12, 14 или виды являются дополнительными слоями или видами, также известными как слои улучшения или зависимыми видами.

В 3D-видео дополнительный(е) слой(и) может(ут) нести информацию глубины или другие данные, которые можно использовать совместно с пиксельными данными базового слоя для генерации 3D-видео.

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

Фиг. 23 схематически демонстрирует пример многослойного видеопотока 1 для масштабируемого видео. На фигуре указана организация изображений 20, 22, 24 в различных масштабируемых слоях 10, 12, 14, где слой 10 указывает базовый слой.

Фиг. 2 схематически демонстрирует временную масштабируемость, в котором каждый слой 12, 14 улучшения повышает частоту кадров.

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

Кодирование слайса генерирует кодированное представление 30 слайса, содержащего заголовок 32 слайса и данные 34 слайса, как показан на фиг. 3. Кодированное представление 30 выводится из процесса кодирования в качестве так называемой единицы 44 уровня сетевой адаптации (NAL), как показано на фиг. 4. Единица 44 NAL может дополняться заголовками 42 для формирования пакета 40 данных, который может передаваться как часть кодированного многослойного видеопотока от кодера на декодер. Например, к единице 44 NAL можно добавлять заголовки 42 транспортного протокола реального времени (RTP), протокола пользовательских дейтаграмм (UDP) и интернет-протокола (IP). Эта форма пакетирования единиц 44 NAL составляет лишь пример в связи с переносом видео. Возможны другие подходы к манипулированию единицами 44 NAL, например, форматами файла, транспортными потоками MPEG-2, программными потоками MPEG-2, и т.д. Фиг. 19 схематически демонстрирует генерацию кодированного многослойного видеопотока 2 из входного многослойного видеопотока 1, содержащего множественные слои 10, 12, 14 изображений 20, 22, 24.

Аспект вариантов осуществления относится к способу декодирования кодированного многослойного видеопотока 2, задающего множественные слои 10, 12, 14 изображений 20, 22, 24. Каждый слой 10, 12, 14 из множественных слоев 10, 12, 14 имеет соответствующий идентификатор слоя. Способ содержит извлечение, для слоя 12 с индексом слоя из множественных слоев 10, 12, 14, информация отношения декодирования на основании кодированного многослойного видеопотока 2. Информация отношения декодирования задает соответствующий индекс слоя для любого опорного слоя 10 из множественных слоев 10, 12, 14, от которого непосредственно зависит слой 12. Способ также содержит отображение, для каждого опорного слоя 10 и для слоя 12, его индекса слоя в идентификатор слоя на основании информации отображения иерархического отношения отображения между идентификаторами слоев и индексами слоев. Информация отображения извлекается на основании кодированного многослойного видеопотока 2. Способ дополнительно содержит декодирование изображения 22 слоя 12 на основании, по меньшей мере, одного ранее декодированного изображения 20 в слое 10 из множественных слоев 10, 12, 14, идентифицированных на основании идентификаторов слоев, отображаемых из индексов слоев.

Далее вариант осуществления этого аспекта будет дополнительно описан со ссылкой на блок-схему операций, представленной на фиг. 5. Таким образом, на фиг. 5 раскрыт способ декодирования кодированного многослойного видеопотока, например, многовидового видеопотока, 3D видеопотока или масштабируемого видеопотока. Многослойный видеопоток задает или содержит множественные слои изображений. Каждый такой слой многослойного видеопотока имеет соответствующий идентификатор слоя.

Способ обычно начинается на этапе S1, где информация отношения декодирования извлекается для (текущего) слоя из множественных слоев в многовидовом видеопотоке. Текущий слой, для которого извлекается информация отношения декодирования, имеет индекс слоя. Таким образом, текущий слой имеет, помимо вышеупомянутого идентифицированного идентификатора слоя, который является общим или “глобальным” идентификатором для текущего слоя, индекс слоя, который является индексом, применяемым для сигнализации слоевых зависимостей. Поэтому, индекс слоя предпочтительно, выполнен с возможностью использования вместо идентификатора слоя для сигнализации слоевых зависимостей.

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

Используемый здесь слой X непосредственно зависит (или является непосредственно зависимым) от слоя Y, если, например, пиксельное прогнозирование из слоя Y в слой X необходимо использовать для деко