Кодирование и декодирование многоуровневого видеопотока

Иллюстрации

Показать все

Изобретение относится к обработке многоуровнего видеопотока. Техническим результатом является повышение эффективности обработки многоуровнего видеопотока. Способ содержит: извлечение, на основе упомянутого кодируемого многоуровневого видеопотока и для уровня с индексом 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 уровня; и определение информации взаимосвязи декодирования, задающей взаимосвязь декодирования между упомянутыми многочисленными уровнями, на основе упомянутого соответствующего флага непосредственной зависимости. 15 н. и 6 з.п. ф-лы, 23 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ

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

УРОВЕНЬ ТЕХНИКИ

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ой встречи: Шанхай, CN, 10-19 Октября 2012 именованный JCTVC-K1007, относящийся к заголовку единицы NAL и воплощениям наборов параметров для расширений HEVC, включает в себя спецификации воплощений наборов параметров для расширений масштабируемого и многоракурсного/3D кодирования HEVC. Согласно этому документу, зависимости уровня сигнализируются как часть синтаксической структуры vps_extension, как указано ниже по тексту:

vps_extension( ){ Дескриптор
for(i=1; i ≤ vps_max_layers_minus1; i++) {
//зависимость уровня
num_direct_ref_layers[i] u(6)
for(j=0; j<num_direct_ref_layers[i]; j++)
ref_layer_id[i][j] u(6)
}
}

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

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

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

Фиг. 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 схематически иллюстрирует другой пример многоуровневого видеопотока.

ПОДРОБНОЕ ОПИСАНИЕ

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

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

Многоуровневое видео в общем относится к многоракурсному видео, 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 данных, который может быть передан как часть кодируемого многоуровневого видеопотока из кодера в декодер. В качестве примера, заголовки 42 транспортного протокола реального времени (RTP), протокола пользовательских дейтаграмм (UDP) и протокола межсетевого обмена данными (IP) могут быть добавлены в единицу 44 NAL. Эта форма пакетизации единиц 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, идентифицированных на основе идентификаторов уровня, отображенных от индексов уровня.

Далее, вариант осущест