СПОСОБ ОГРАНИЧЕНИЯ ССЫЛКИ НА НАБОР ПАРАМЕТРОВ В КОДИРОВАННОМ ПОТОКЕ ВИДЕО
METHOD FOR RESTRICTING REFERENCING TO A SET OF PARAMETERS IN AN ENCODED VIDEO STREAM

Перекрестные ссылки на родственные заявки
[0001] По настоящей заявке испрашивается приоритет на основании предварительной заявки на патент США №62/954883, поданной 30 декабря 2019 г., и заявки на патент США №17/063085, поданной 5 октября 2020 г., которые полностью включены в настоящий документ.
Область техники, к которой относится изобретение
[0002] Раскрываемый предмет изобретения относится к кодированию и декодированию видео и, более конкретно, согласно примерам осуществления, к ссылке на набор параметров и ее границам в кодированном видеопотоке.
Предпосылки создания изобретения
[0003] Кодирование и декодирование видео с использованием межкадрового предсказания с компенсацией движения были известны в течение десятилетий. Несжатое цифровое видео может состоять из последовательности изображений, каждое изображение имеет пространственный размер, например, 1920×1080 отсчетов яркости и связанных с ними отсчетов цветности. Последовательность изображений может иметь фиксированную или переменную частоту изображений (неофициально также известную как частота кадров), например, 60 изображений в секунду или 60 Гц. Несжатое видео предъявляет значительные требования к скорости передачи битов. Например, для видео 1080р60 4:2:0 с 8 битами на отсчет (разрешение 1920×1080 отсчетов яркости при частоте кадров 60 Гц) требуется полоса пропускания, близкая к 1,5 Гбит/с. Час такого видео требует более 600 Гбайт пространства для хранения данных.
[0004] Одной из целей кодирования и декодирования видео может быть уменьшение избыточности входного видеосигнала посредством сжатия. Сжатие может помочь снизить вышеупомянутые требования к пропускной способности или пространству для хранения данных в некоторых случаях на два порядка или более. Может использоваться как сжатие без потерь, так и сжатие с потерями, а также их комбинация. Сжатие без потерь относится к технологиям, при которых точная копия исходного сигнала может быть восстановлена из сжатого исходного сигнала. При использовании сжатия с потерями восстановленный сигнал может не быть идентичным исходному сигналу, но искажение между исходным и восстановленным сигналами достаточно мало, чтобы сделать восстановленный сигнал полезным для предполагаемого применения. В случае видео широко применяется сжатие с потерями. Допустимая степень искажения зависит от применения; например, пользователи определенных потребительских применений потоковой передачи могут допускать более высокие искажения, чем пользователи применений для доставки телевизионных сигналов. Достижимая степень сжатия может отражать следующее: более высокое допустимое/приемлемое искажение может давать более высокие степени сжатия.
[0005] Кодер и декодер видео могут использовать технологии из нескольких широких категорий, включая, например, компенсацию движения, преобразование, квантование и энтропийное кодирование, некоторые из них будут представлены ниже.
[0006] Исторически кодеры и декодеры видео имели тенденцию работать с заданным размером изображения, который в большинстве случаев был определен и оставался постоянным для кодированной видеопоследовательности (CVS, Coded Video Sequence), группы изображений (GOP, Group of Pictures) или аналогичного интервала времени с множественными изображениями. Например, в стандарте Экспертной группы по движущимся изображениям (MPEG, Moving Picture Experts Group) MPEG-2 известны структуры системы для изменения горизонтального разрешения (и, следовательно, размера изображения) в зависимости от таких факторов, как активность сцены, но только для изображений I (Intra-coded picture - изображение кодируется с использованием только той информации, которая содержится в нем самом), следовательно, обычно для группы изображений (GOP, Group of Pictures). Передискретизация опорных изображений для использования различных разрешений в кодированной видеопоследовательности (CVS, Coded Video Sequuence) известна, например, из Приложения Р Рекомендации Н.263 Сектора стандартизации электросвязи Международного союза электросвязи (ITU-Т, International Telecommunication Union-Telecommunication Standardization Sector). Однако здесь размер изображения не изменяется, только опорные изображения подвергаются переднекретизации, в результате чего потенциально используются только части холста изображения (в случае понижения частоты дискретизации) или только части захватываемой сцены (в случае повышения частоты дискретизации). Кроме того, Приложение Q Рекомендации Н.263 допускает передискретизацию отдельного макроблока с коэффициентом два (в каждом измерении) в сторону увеличения или уменьшения. Опять же, размер изображения остается прежним. Размер макроблока фиксирован в Н.263, и поэтому не требуется его сигнализировать.
[0007] Изменения размера изображения в предсказываемых изображениях стало более распространенной тенденцией в современном кодировании видеосигналов. Например, стандарт VP9 (Video Processor 9 - Видеопроцессор 9) позволяет выполнять передискретизацию опорного изображения и изменять разрешение для всего изображения. Аналогичным образом, некоторые предложения, сделанные в отношении Универсального кодирования видео (VVC, Versatile Video Coding) (включая, например, Hendry, et. al, "On adaptive resolution change (ARC) for VVC", документ JVET-M0135-vl, 9-19 января 2019 г., группы экспертов (JVET, Joint Video Experts Team) в рамках совместной программы (JVT, Joint Video Team), полностью включенный в настоящий документ) позволяют выполнять передискретизацию целых опорных изображений для получения другого, более высокого или более низкого, разрешения. В этом документе предлагается кодировать различные возможные разрешения в наборе параметров последовательности и ссылаться на них с помощью синтаксических элементов для каждого изображения в наборе параметров изображения.
[0008] В последнее время некоторое внимание привлекла агрегация сжатой области или извлечение многочисленных семантически независимых частей изображения в одно видеоизображение. В частности, в контексте, например, 360-градусного кодирования или определенных применений наблюдения, многочисленные семантически независимые исходные изображения (например, шесть поверхностей куба проецируемой на куб 360-градусной сцены или входные данные отдельных камер в случае установки многокамерного наблюдения) могут потребовать отдельных настроек адаптивного разрешения, чтобы справиться с различной активностью каждой сцены в данном моменте времени.
Сущность изобретения
[0009] Раскрывается технология сигнализации об адаптивном размере изображения в битовом потоке видео.
[0010] Она включает способ и устройство, содержащее память, сконфигурированную для хранения машинного программного кода, и процессор или процессоры, сконфигурированные для доступа к машинному программному коду и работы в соответствии с командами машинного программного кода. Машинная программа включает в себя код получения, сконфигурированный так, чтобы заставлять по меньшей мере один процессор получать видеоданные, содержащие данные множества семантически независимых исходных изображений; код определения, сконфигурированный так, чтобы заставлять по меньшей мере один процессор определять среди видеоданных, связаны ли ссылки с любым из первого блока доступа (AU, Access Unit) и второго AU согласно по меньшей мере одному сигнальному значению порядкового номера изображения (РОС, Picture Order Count), включенному в видеоданные; и код вывода, сконфигурированный так, чтобы заставлять по меньшей мере один процессор выводить первое количество ссылок, установленных для первого AU, и второе количество ссылок, установленных для второго AU, на основе по меньшей мере одного сигнального значения РОС.
[0011] Согласно примерам осуществления изобретения ссылки содержат по меньшей мере одно из изображений, слайсов и тайлов видеоданных.
[0012] Согласно примерам осуществления изобретения определение, связаны ли ссылки с любым из первого AU и второго AU, включает сравнение соответствующих значений РОС каждой из ссылок по меньшей мере с одним сигнальным значением РОС.
[0013] Согласно примерам осуществления изобретения определение, связаны ли ссылки с любым из первого AU и второго AU, дополнительно включает установку первого количества ссылок для первого AU в ответ на определение того, что каждая из первого количества ссылок, соответственно, содержат одно из множества значений РОС, меньшее, чем по меньшей мере одно сигнальное значение РОС, и установку второго количества ссылок для второго AU в ответ на определение того, что каждая из второго количества ссылок, соответственно, содержит одно из второго множества значений РОС, равное или превышающее по меньшей мере одно сигнальное значение РОС.
[0014] Согласно примерам осуществления изобретения, ссылки содержат слайсы, и по меньшей мере одно сигнальное значение РОС включено в заголовок слайса видеоданных.
[0015] Согласно примерам осуществления изобретения, видеоданные содержат данные набора параметров видео (VPS, Video Parameter Set), идентифицирующие множество пространственных уровней видеоданных.
[0016] Согласно примерам осуществления изобретения, по меньшей мере одно сигнальное значение РОС включено в набор параметров видео (VPS) видеоданных.
[0017] Согласно примерам осуществления изобретения, код определения дополнительно сконфигурирован так, чтобы заставлять по меньшей мере один процессор определять, содержат ли данные VPS по меньшей мере один флаг, указывающий, разделены ли одна или более ссылок на множество подобластей, и определять, в случае, когда по меньшей мере один флаг указывает, что одна или более ссылок разделены на множество подобластей по меньшей мере одно из следующего: ширину полного изображения и высоту полного изображения в отсчетах яркости изображения одной или более ссылок.
[0018] Согласно примерам осуществления изобретения код определения дополнительно сконфигурирован так, чтобы заставлять по меньшей мере один процессор определять в случае, когда по меньшей мере один флаг указывает, что одна или более ссылок разделены на множество подобластей, значение сигнализации, включенное в набор параметров последовательности видеоданных, определяющее смещение части по меньшей мере одной из подобластей.
[0019] Согласно примерам осуществления изобретения множество семантически независимых исходных изображений представляют сферическое 360-градусное изображение.
Краткое описание чертежей
[0020] Дополнительные особенности, сущность и различные преимущества раскрываемого предмета изобретения будут более понятны из следующего подробного описания и прилагаемых чертежей, на которых:
[0021] Фиг. 1 представляет собой схематическое изображение упрощенной блок-схемы системы связи в соответствии с формой осуществления изобретения.
[0022] Фиг. 2 - схематическое изображение упрощенной блок-схемы системы связи в соответствии с формой осуществления изобретения.
[0023] Фиг. 3 - схематическое изображение упрощенной блок-схемы декодера в соответствии с формой осуществления изобретения.
[0024] Фиг. 4 - схематическое изображение упрощенной блок-схемы кодера в соответствии с формой осуществления изобретения.
[0025] Фиг. 5А и 5В - схематические изображения вариантов сигнализации параметров адаптивного изменения разрешения (ARC, Adaptive Resolution Change) в соответствии с предшествующим уровнем техники или формой осуществления изобретения, как указано.
[0026] Фиг. 6 - пример таблицы синтаксиса в соответствии с формой осуществления изобретения.
[0027] Фиг. 7 - схематическое изображение компьютерной системы в соответствии с формой осуществления изобретения.
[0028] Фиг. 8 - пример структуры предсказания для масштабируемости с адаптивным изменением разрешения.
[0029] Фиг. 9 - пример таблицы синтаксиса в соответствии с формой осуществления изобретения.
[0030] Фиг. 10 - схематическое изображение упрощенной блок-схемы цикла синтаксического анализа и декодирования порядкового номера изображений (РОС) на каждый блок доступа и значение номера блока доступа.
[0031] Фиг. 11 - схематическое изображение структуры битового потока видео, содержащей многоуровневые субизображения.
[0032] Фиг. 12 - схематическая иллюстрация отображения выбранного субизображения с улучшенным разрешением.
[0033] Фиг. 13 - блок-схема процесса декодирования и отображения битового потока видео, содержащего многоуровневые субизображения.
[0034] Фиг. 14 - схематическая иллюстрация отображения видео 360° с улучшающим уровнем субизображения.
[0035] Фиг. 15 - пример информации о компоновке субизображений и их соответствующей структуры уровней и предсказания изображения.
[0036] Фиг. 16 - это пример информации о компоновке субизображений и их соответствующей структуры уровней и предсказания изображения с модальностью пространственной масштабируемости локальной области.
[0037] Фиг. 17 - пример синтаксической таблицы для информации о компоновке субизображения.
[0038] Фиг. 18 - пример таблицы синтаксиса сообщения дополнительной улучшающей информации (SEI, Supplemental Enhancement Information) для информации о компоновке субизображения.
[0039] Фиг. 19 - пример таблицы синтаксиса для указания выходных уровней и информации профиля/яруса/уровня для каждого набора выходных уровней.
[0040] Фиг. 20 - пример таблицы синтаксиса для указания режима выходного уровня для каждого набора выходных уровней.
[0041] Фиг. 21 - это пример таблицы синтаксиса для указания текущего субизображения каждого уровня для каждого набора выходных уровней.
[0042] Фиг. 22 - пример ссылки на набор параметров в неопорном уровне.
Проблема, которую нужно решить
[0043] Поскольку агрегирование сжатой области в одно видеоизображение или извлечение нескольких семантически независимых частей изображения привлекло некоторое внимание в контексте, например, 360-градусного кодирования или определенных применений видеонаблюдения, многочисленные семантически независимые исходные изображения (например, шесть поверхностей куба проецируемой на куб 360-градусной сцены или входные данные отдельных камер в случае установки многокамерного видеонаблюдения) могут потребовать отдельных настроек адаптивного разрешения, чтобы учесть различную активность каждой сцены в данный момент времени. Следовательно, в данном документе, среди прочего, раскрыты кодеры, которые в данный момент времени могут выбирать использование разных коэффициентов передискретизации для разных семантически независимых изображений, составляющих всю 360-градусную сцену или сцену видеонаблюдения. При объединении в одно изображение это, в свою очередь, требует, чтобы выполнялась передискретизация опорного изображения и имелась сигнализация кодирования с адаптивным разрешением для частей кодированного изображения.
Подробное описание
[0044] Фиг. 1 иллюстрирует упрощенную блок-схему системы 100 связи согласно одной из форм осуществления настоящего изобретения. Система 100 может содержать по меньшей мере два терминала 110 и 120, соединенных между собой через сеть 150. Для однонаправленной передачи данных первый терминал 110 может кодировать видеоданные в локальном местоположении для передачи другому терминалу 120 через сеть 150. Второй терминал 120 может принимать кодированные видеоданные другого терминала из сети 150, декодировать кодированные данные и отображать восстановленные видеоданные. Однонаправленная передача данных может быть обычным явлением в применениях мультимедийного обслуживания и т.п.
[0045] На фиг. 1 показана вторая пара терминалов 130, 140, обеспечивающих поддержку двунаправленной передачи кодированного видео, которая может происходить, например, во время видеоконференцсвязи. Для двунаправленной передачи данных каждый терминал 130, 140 может кодировать видеоданные, захваченные в локальном местоположении, для передачи другому терминалу через сеть 150. Каждый терминал 130, 140 также может принимать кодированные видеоданные, передаваемые другим терминалом, может декодировать кодированные данные и может отображать восстановленные видеоданные на локальном устройстве отображения.
[0046] На фиг. 1 терминалы 110, 120, 130, 140 могут быть показаны как серверы, персональные компьютеры и смартфоны, но принципы настоящего раскрытия не могут быть ограничены этим. Формы осуществления настоящего изобретения находят применение в портативных компьютерах, планшетных компьютерах, медиаплеерах и/или специализированном оборудовании для видеоконференцсвязи. Сеть 150 представляет любое число сетей, которые передают кодированные видеоданные между терминалами 110, 120, 130, 140, включая, например, проводные и/или беспроводные сети связи. Сеть 150 связи может обмениваться данными по каналам с коммутацией каналов и/или с коммутацией пакетов. Репрезентативные сети включают телекоммуникационные сети, локальные сети, глобальные сети и/или Интернет. Для целей настоящего обсуждения архитектура и топология сети 150 могут быть несущественными для работы настоящего раскрытия, если это не объясняется в данном документе ниже.
[0047] Фиг. 2 показано в качестве примера применения для раскрываемого предмета изобретения размещение кодера и декодера видео в потоковой среде. Раскрываемый предмет изобретения может быть в равной степени применим к другим применениям с поддержкой видео, включая, например, видеоконференцсвязь, цифровое телевидение, хранение сжатого видео на цифровых носителях, включая компакт диск (CD, Compact Disk), универсальный цифровой диск (DVD, Digital Versatile Disk), карту памяти и т.п.
[0048] Система потоковой передачи может содержать подсистему 213 видеозахвата, которая может включать в себя источник 201 видео, например цифровую камеру, создающую, например, поток 202 отсчетов несжатого видео. Этот поток 202 отсчетов, изображенный жирной линией, чтобы подчеркнуть большой объем данных по сравнению с кодированными битовыми потоками видео, может обрабатываться кодером 203, подключенным к камере 201. Кодер 203 может включать в себя аппаратное обеспечение, программное обеспечение или их комбинацию, чтобы задействовать или реализовать аспекты раскрываемого предмета изобретения, как более подробно описано ниже. Кодированный битовый поток 204 видео, изображенный тонкой линией, чтобы подчеркнуть меньший объем данных по сравнению с потоком отсчетов, может сохраняться на сервере 205 потоковой передачи для будущего использования. Один или более клиентов 206, 208 потоковой передачи могут получать доступ к серверу 205 потоковой передачи для получения копий 207, 209 кодированного битового потока 204 видео. Клиент 206 может включать в себя видеодекодер 210, который декодирует входящую копию 207 кодированного битового потока видео и создает исходящий поток 211 отсчетов видео, который может отображаться на дисплее 212 или другом устройстве визуализации (не изображенным). В некоторых потоковых системах битовые потоки 204, 207, 209 видео могут кодироваться в соответствии с определенными стандартами кодирования/сжатия видео. Примеры этих стандартов включают Рекомендацию ITU-T Н.265. В стадии разработки находится стандарт кодирования видеосигналов, неофициально известный как Универсальное кодирование видео (VVC, Versatile Video Coding). Раскрываемый предмет изобретения может использоваться в контексте стандарта VVC.
[0049] Фиг. 3 может представлять функциональную блок-схему видеодекодера 210 согласно одной из форм осуществления настоящего изобретения.
[0050] Приемник 310 может принимать одну или более кодированных видеопоследовательностей, которые должны быть декодированы декодером 210; в той же или другой форме осуществления изобретения - по одной кодированной видеопоследовательности за раз, где декодирование каждой кодированной видеопоследовательности не зависит от других кодированных видеопоследовательностей. Кодированная видеопоследовательность может приниматься из канала 312, который может быть аппаратным/программным соединением с устройством хранения, в котором хранятся кодированные видеоданные. Приемник 310 может принимать кодированные видеоданные вместе с другими данными, например, кодированными аудиоданными и/или потоками вспомогательных данных, которые могут пересылаться их соответствующим объектам использования (не изображенным). Приемник 310 может отделять кодированную видеопоследовательность от других данных. Для борьбы с джиттером сети может быть включена буферная память 315 между приемником 310 и энтропийным декодером/синтаксическим анализатором 320 (далее - "синтаксическим анализатором"). Когда приемник 310 принимает данные от устройства хранения/пересылки с достаточной полосой пропускания и управляемости, или из изосинхронной сети, буфер 315 может не понадобиться или может быть небольшим. Для использования в пакетных сетях с максимальной эффективностью, таких как Интернет, может потребоваться буфер 315, он может быть сравнительно большим и предпочтительно может иметь адаптивный размер.
[0051] Видеодекодер 210 может содержать синтаксический анализатор 320 для восстановления символов 321 из энтропийно кодированной видеопоследовательности. Категории этих символов включают в себя информацию, используемую для управления работой декодера 210, и потенциально информацию для управления устройством визуализации, таким как дисплей 212, который не является неотъемлемой частью декодера, но может быть присоединен к нему, как это было показано на фиг. 2. Управляющая информация для устройства (устройств) визуализации может быть в форме фрагментов набора параметров дополнительной улучшающей информации (сообщений SEI (Supplementary Enhancement Information)) или информации по используемости видео (VUI, Video Usability Information) (не показанных). Синтаксический анализатор 320 может анализировать/энтропийно декодировать принятую кодированную видеопоследовательность. Кодирование кодированной видеопоследовательности может осуществляться в соответствии с технологией или стандартом кодирования видео, включая кодирование переменной длины, кодирование Хаффмана, арифметическое кодирование с учетом контекста или без него и т.д. Синтаксический анализатор 320 может извлекать из кодированной видеопоследовательности набор параметров подгруппы по меньшей мере для одной из подгрупп пикселей в видеодекодере на основе по меньшей мере одного параметра, соответствующего группе. Подгруппы могут включать в себя группы изображений (GOP), изображения, тайлы, слайсы, макроблоки, кодовые блоки (CU, Coding Unit), блоки (blocks), блоки преобразования (TU, Transform Unit), блоки предсказания (PU, Prediction Unit,) и т.д. Энтропийный декодер/синтаксический анализатор также может извлекать из кодированной видеопоследовательности информацию, такую как коэффициенты преобразования, значения параметров квантователя, векторы движения и т.д.
[0052] Синтаксический анализатор 320 может выполнять операцию энтропийного декодирования/синтаксического анализа над видеопоследовательностью, принимаемой из буфера 315, таким образом, чтобы создавать символы 321.
[0053] Восстановление символов 321 может включать в себя несколько различных блоков в зависимости от типа кодированного видеоизображения или его частей (например, изображения, кодированного с внутренним и внешним предсказанием, блока, кодированного с внутренним и внешним предсказанием) и других факторов. Какие блоки задействовать и каким образом, можно управлять с помощью управляющей информации подгруппы, которая была синтаксически проанализирована из кодированной видеопоследовательности с помощью синтаксического анализатора 320. Поток такой управляющей информации подгруппы между синтаксическим анализатором 320 и множеством блоков не показан для ясности.
[0054] Помимо уже упомянутых функциональных блоков, декодер 210 может быть концептуально подразделен на ряд функциональных блоков, как описано ниже. При практической реализации, работающей в условиях коммерческих ограничений, многие из этих блоков тесно взаимодействуют друг с другом и могут, по меньшей мере частично, быть интегрированы друг в друга. Однако для целей описания раскрываемого предмета изобретения уместно концептуальное подразделение на функциональные блоки, приведенные ниже.
[0055] Первым блоком является блок 351 масштабирования/обратного преобразования. Блок 351 масштабирования/обратного преобразования принимает квантованный коэффициент преобразования, а также управляющую информацию, включая то, какое преобразование использовать, размер блока, коэффициент квантования, матрицы масштабирования квантования и т.д. в виде символа(-ов) 321 от синтаксического анализатора 320. Он может выводить блоки, содержащие значения отсчетов, которые могут быть введены в агрегатор 355.
[0056] В некоторых случаях выходные отсчеты блока 351 масштабирования/обратного преобразования могут относиться к блоку, кодированному с внутренним предсказанием, то есть: блоку, который не использует информацию предсказания из ранее восстановленных изображений, но может использовать информацию предсказания из ранее восстановленных частей текущего изображения. Такая информация предсказания может быть предоставлена блоком 352 внутрикадрового предсказания. В некоторых случаях блок 352 внутрикадрового предсказания формирует блок того же размера и формы, что и восстанавливаемый блок, используя окружающую уже восстановленную информацию, извлеченную из текущего (частично восстановленного) изображения 356. Агрегатор 355 в некоторых случаях добавляет для каждого отсчета информацию предсказания, сформированную блоком 352 внутрикадрового предсказания, к информации выходных отсчетов, предоставляемой блоком 351 масштабирования/обратного преобразования.
[0057] В других случаях выходные отсчеты блока 351 масштабирования/обратного преобразования могут относиться к блоку, кодированному с внешним предсказанием и, возможно, с компенсацией движения. В таком случае блок 353 предсказания с компенсацией движения может получать доступ к памяти 357 опорных изображений для выборки отсчетов, используемых для предсказания. После компенсации движения выбранных отсчетов в соответствии с символами 321, относящимися к блоку, эти отсчеты могут быть добавлены агрегатором 355 к выходному сигналу блока масштабирования/обратного преобразования (в этом случае называемых остаточными отсчетами или остаточным сигналом), чтобы сформировать информацию о выходных отсчетах. Адреса в памяти опорных изображений, откуда блок компенсации движения выбирает отсчеты предсказания, могут управляться векторами движения, доступными блоку компенсации движения в форме символов 321, которые могут иметь, например, X, Y и компоненты опорного изображения. Компенсация движения также может включать в себя интерполяцию значений отсчетов, извлеченных из памяти опорных изображений, когда используются точные векторы движения подотсчета, механизмы предсказания вектора движения и т.д.
[0058] Выходные отсчеты агрегатора 355 могут подвергаться различным технологиям петлевой фильтрации в блоке 356 петлевого фильтра. Технологии сжатия видео могут включать в себя технологии внутрипетлевой фильтрации, которые управляются параметрами, включенными в кодированный битовый поток видео и предоставляемыми блоку 356 петлевого фильтра в виде символов 321 из синтаксического анализатора 320, но также могут реагировать на метаинформацию, полученную во время декодирования предыдущих (в порядке декодирования) частей кодированного изображения или кодированной видеопоследовательности, а также в ответ на ранее восстановленные и отфильтрованные по петле значения отсчетов.
[0059] Выходными данными блока 354 петлевого фильтра может быть поток отсчетов, который может выводиться в устройство 212 визуализации, а также сохраняться в памяти опорных изображений для использования в будущем межкадровом предсказании.
[0060] Некоторые кодированные изображения после полного восстановления могут использоваться в качестве опорных изображений для будущего предсказания. После того, как кодированное изображение полностью восстановлено и кодированное изображение было идентифицировано как опорное изображение (например, синтаксическим анализатором 320, текущее опорное изображение 356 может стать частью буфера 357 опорных изображений, и память свежего текущего изображения может быть перераспределена перед началом восстановления следующего кодированного изображения.
[0061] Видеодекодер 210 может выполнять операции декодирования согласно заранее определенной технологии сжатия видео, которая может быть задокументирована в стандарте, таком как Рекомендация ITU-T Н.265. Кодированная видеопоследовательность может соответствовать синтаксису, указанному используемой технологией или стандартом сжатия видео, в том смысле, что она придерживается синтаксиса технологии или стандарта сжатия видео, как указано в документе или стандарте технологии сжатия видео и, в частности, в профилях, задокументированных в них. Для соответствия также необходимо, чтобы сложность кодированной видеопоследовательности находилась в пределах, определенных уровнем технологии или стандарта сжатия видео. В некоторых случаях уровни ограничивают максимальный размер изображения, максимальную частоту кадров, максимальную частоту отсчетов восстановления (измеряемую, например, в миллионах отсчетов в секунду), максимальный размер опорного изображения и т.д. Пределы, установленные уровнями, в некоторых случаях могут быть дополнительно ограничены с помощью спецификаций гипотетического эталонного декодера (HRD, Hypothetical Reference Decoder) и метаданных для управления буфером HRD, сигнализируемых в кодированной видеопоследовательности.
[0062] В одной из форм осуществления изобретения приемник 310 может принимать с кодированным видео дополнительные (избыточные) данные. Дополнительные данные могут быть включены как часть кодированной видеопоследовательности(-ей). Дополнительные данные могут использоваться видеодекодером 210 для правильного декодирования данных и/или для более точного восстановления исходных видеоданных. Дополнительные данные могут быть в форме, например, временных, пространственных уровней или уровней улучшения отношения сигнал/шум (SNR, Signal-to-Noise Ratio), избыточных слайсов, избыточных изображений, кодов прямого исправления ошибок и т.д.
[0063] Фиг. 4 может быть функциональной блок-схемой видеокодера 203 согласно одной из форм осуществления настоящего изобретения.
[0064] Кодер 203 может принимать отсчеты видео от источника 201 видео (не являющегося частью кодера), который может захватывать видеоизображение(-ия) для кодирования кодером 203.
[0065] Источник 201 видео может предоставлять исходную видеопоследовательность, которая должна быть кодирована кодером 203, в форме потока отсчетов цифрового видео, который может иметь какую-то подходящую глубину в битах (например: 8 бит, 10 бит, 12 бит,...), какое-то цветовое пространство (например, пространство Y CrCB по рекомендации ITU-R ВТ.601, RGB, …), какую-то подходящую структуру отсчетов (например, Y CrCb 4:2:0, Y CrCb 4:4:4. В системе обслуживания мультимедиа источник 201 видео может быть запоминающим устройством, хранящим заранее подготовленное видео. В системе видеоконференцсвязи видеосигналов источник 203 может быть камерой, которая фиксирует информацию локального изображения в виде видеопоследовательности. Видеоданные могут предоставляться в виде множества отдельных изображений, которые при последовательном просмотре передают движение. Сами изображения могут быть организованы как пространственный массив пикселей, при этом каждый пиксель может содержать один или более отсчетов в зависимости от используемой структуры отсчетов, цветового пространства и т.д. Специалисты в данной области техники могут легко понять взаимосвязь между пикселями и отсчетами. Описание ниже ориентировано на отсчеты.
[0066] Согласно одной из форм осуществления изобретения кодер 203 может кодировать и сжимать изображения исходной видеопоследовательности в кодированную видеопоследовательность 443 в реальном времени или с какими-либо другими временными ограничениями, как того требует применение. Обеспечение соответствующей скорости кодирования - одна из функций контроллера 450. Контроллер управляет другими функциональными блоками, как описано ниже, и функционально соединен с этими блоками. Соединение не изображено для ясности. Параметры, установленные контроллером, могут включать в себя параметры, связанные с управлением скоростью (пропуск изображения, квантователь, значение лямбда (весового коэффициента) для технологий оптимизации скорость-искажение, …), размером изображения, компоновкой группы изображений (GOP), максимальным диапазоном поиска вектора движения и т.д. Специалисты в данной области техники могут легко определить другие функции контроллера 450, поскольку они могут относиться к видеокодеру 203, оптимизированному для определенной структуры системы.
[0067] Некоторые видеокодеры работают с использованием того, что специалисты в данной области знают как "петля кодирования". В качестве упрощенного описания, петля кодирования может состоять из кодирующей части кодера 430 (далее "кодера источника") (ответственного за создание символов на основе входного изображения, которое должно быть кодировано, и опорного изображения (изображений)), и (локального) декодера 433, встроенного в кодер 203, который восстанавливает символы для создания данных отсчетов, которые (удаленный) декодер также может создавать (поскольку любое сжатие между символами и кодированным битовым потоком видео не имеет потерь в технологиях сжатия видео, рассматриваемых в раскрываемом предмете изобретения). Этот восстановленный поток отсчетов вводится в память 434 опорных изображений. Поскольку декодирование потока символов приводит к результатам с точностью до бита независимо от местоположения декодера (локального или удаленного), содержимое буфера опорных изображений также имеет точность до бита между локальным кодером и удаленным кодером. Другими словами, часть предсказания кодера "видит" в качестве отсчетов опорного изображения точно такие же значения отсчетов, которые декодер "видел бы" при использовании предсказания во время декодирования. Это принцип синхронности опорного изображения (и результирующего дрейфа, если синхронность не может быть сохранена, например, из-за ошибок канала). Этот фундаментальный принцип синхронности опорного изображения (и результирующего дрейфа, если синхронность не может поддерживаться, например, из-за ошибок канала) хорошо известен специалистам в данной области техники.
[0068] Работа "локального" декодера 433 может быть такой же, как у "удаленного" декодера 210, который уже был подробно описан выше в связи с фиг. 3. Кратко обратимся также к фиг. 4, однако, поскольку символы доступны, и кодирование/декодирование символов в кодированную видеопоследовательность энтропийным кодером 445 и синтаксическим анализатором 320 может осуществляться без потерь, части энтропийного декодирования декодера 210, включая канал 312, приемник 310, буфер 315 и синтаксический анализатор 320 могут не быть полностью реализованы в локальном декодере 433.
[0069] На этом этапе можно сделать наблюдение, что любая технология декодирования, помимо синтаксического анализа/энтропийного декодирования, которая присутствует в декодере, также обязательно должна присутствовать в, по существу, идентичной функциональной форме в соответствующем кодере. По этой причине раскрываемый предмет изобретения сосредотачивает внимание на работе декодера. Описание технологий кодирования может быть сокращено, поскольку они являются инверсией полностью описанных технологий декодирования. Только в некоторых областях требуется более подробное описание, которое приводится ниже.
[0070] В качестве части своей работы кодер 430 источника может выполнять кодирование с предсказанием с компенсацией движения, которое кодирует входной кадр с предсказанием со ссылкой на один или более ранее кодированных кадров из видеопоследовательности, которые были обозначены как "опорные кадры". Таким образом, механизм 432 кодирования кодирует разницы между блоками пикселей входного кадра и блоками пикселей опорного кадра(-ов), которые могут быть выбраны в качестве опорных значений предсказания для входного кадра.
[0071] Локальный видеодекодер 433 может декодировать кодированные видеоданные кадров, которые могут быть отмечены как опорные кадры, на основе символов, созданных кодером 430 источника. Операции механизма 432 кодирования могут быть преимущественно процессами с потерями. Когда кодированные видеоданные могут быть декодированы в видеодекодере (не показан на фиг. 4, восстановленная видеопоследовательность обычно может быть копией исходной видеопоследовательности с некоторыми ошибками. Локальный видеодекодер 433 копирует процессы декодирования, которые могут выполняться видеодекодером на опорных кадрах, и может вызывать сохранение восстановленных опорных кадров в кэше 434 опорных изображений. Таким образом, кодер 203 может локально хранить копии восстановленных опорных кадров, которые имеют общее содержимое, как восстановленные опорные кадры, которые будут получены видеодекодером на дальнем конце (при отсутствии ошибок передачи).
[0072] Предсказатель 435 может выполнять поиски с предсказанием для механизма 432 кодирования. То есть, для нового кадра, который должен быть кодирован, предсказатель 435 может искать в памяти 434 опорных изображений данные отсчетов (в качестве возможных опорных блоков пикселей) или определенные метаданные, такие как векторы движения опорных изображений, формы блоков и т.д., это может служить подходящим эталоном для предсказания для новых изображений. Предсказатель 435 может работать на основе блока отсчетов на блок пикселей, чтобы найти соответствующие эталоны для предсказания. В некоторых случаях, как определено результатами поиска, полученными предсказателем 435, входное изображение может иметь эталоны предсказания, взятые из множества опорных изображений, сохраненных в памяти 434 опорных изображений.
[0073] Контроллер 450 может управлять операциями кодирования видеокодера 430, включая, например, установку параметров и параметров подгруппы, используемых для кодирования видеоданных.
[0074] Выходные данные всех вышеупомянутых функциональных блоков могут подвергаться энтропийному кодированию в энтропийном кодере 445. Энтропийный кодер переводит символы, сформированные различными функциональными блоками, в кодированную видеопоследовательность путем сжатия без потерь символов согласно различным технологиям, например кодированию Хаффмана, кодированию с переменной длиной, арифметическому кодированию и т.д.
[0075] Передатчик 440 может буферизовать кодированную видеопоследовательность (видеопоследовательности), созданную энтропийным кодером 445, чтобы подготовить ее к передаче через канал связи 460, который может быть аппаратным/программным каналом связи к устройству хранения данных, которое будет хранить кодированные видеоданные. Передатчик 440 может объединять кодированные видеоданные из видеокодера 430 с другими данными, которые должны быть переданы, например, с кодированными аудиоданными и/или потоками вспомогательных данных (источники не показаны).
[0076] Контроллер 450 может управлять работой кодера 203. Во время кодирования контроллер 450 может назначать каждому кодированному изображению определенный тип кодированного изображения, что может повлиять на технологии кодирования, которые могут быть применены к соответствующему изображению. Например, изображения часто могут быть назначены как один из следующих типов кадров:
[0077] Изображение с внутренним кодированием (I-изображение) (I picture, Intra Picture) может быть таким, которое может быть кодировано и декодировано без использования какого-либо другого кадра в последовательности в качестве источника предсказания. Некоторые видеокодеки позволяют использовать различные типы с внутренним кодированием, включая, например, обновленные изображения, с помощью независимого декодера. Могут быть использованы варианты I-изображений и их соответствующие применения и особенности.
[0078] Изображение, кодированное с предсказанием, (Р-изображение) (Р picture, Predictive picture) может быть таким, которое может быть кодировано и декодировано с использованием внутреннего предсказания или внешнего предсказания с использованием не более одного вектора движения и опорного индекса для предсказания значений отсчетов каждого блока.
[0079] Изображение, кодированное с двунаправленным предсказанием, (В-изображение) (В Picture, Bi-directionally predictive picture) может быть таким, которое может быть кодировано и декодировано с использованием внутреннего предсказания или внешнего предсказания с использованием не более двух векторов движения и справочных индексов для предсказания значений отсчетов каждого блока. Точно так же изображения, кодированные с множественным предсказанием, могут использовать более двух опорных изображений и связанных с ними метаданных для восстановления одиночного блока.
[0080] Исходные изображения обычно могут быть подразделены пространственно на множество блоков отсчетов (например, блоки по 4×4, 8×8, 4×8 или 16×16 отсчетов каждый) и кодированы на поблочной основе. Блоки могут кодироваться с предсказанием со ссылкой на другие (уже кодированные) блоки, как определено назначением кодирования, применяемым к соответствующим изображениям блоков. Например, блоки I-изображений могут кодироваться без предсказания или они могут кодироваться с предсказанием со ссылкой на уже кодированные блоки одного и того же изображения (пространственное предсказание или внутреннее предсказание). Пиксельные блоки Р-изображений могут кодироваться без предсказания, посредством пространственного предсказания или посредством временного предсказания со ссылкой на одно ранее кодированное опорное изображение. Блоки В-изображений могут кодироваться без предсказания, посредством пространственного предсказания или посредством временного предсказания со ссылкой на одно или два ранее кодированные опорные изображения.
[0081] Видеокодер 203 может выполнять операции кодирования согласно заранее определенной технологии или стандарту видеокодирования, такому как Рекомендация ITU-T Н.265. Во время своей работы видеокодер 203 может выполнять различные операции сжатия, включая операции кодирования с предсказанием, которые используют временную и пространственную избыточность во входной видеопоследовательности. Кодированные видеоданные, следовательно, могут соответствовать синтаксису, заданному используемой технологией или стандартом кодирования видео.
[0082] В одной из форм осуществления изобретения передатчик 440 может передавать дополнительные данные с кодированным видео. Видеокодер 430 может включать такие данные как часть кодированной видеопоследовательности. Дополнительные данные могут содержать временные/пространственные/улучшающие SNR уровни, другие формы избыточных данных, такие как избыточные изображения и слайсы, сообщения дополнительной улучшающей информации (SEI), фрагменты набора параметров информации по используемости видео (VUI) и т.д.
[0083] Перед более подробным описанием определенных аспектов раскрытого предмета изобретения необходимо ввести несколько терминов, на которые будут ссылаться в оставшейся части этого описания.
[0084] В дальнейшем термин "субизображение" относится, в некоторых случаях, к прямоугольной структуре из отсчетов, блоков, макроблоков, кодовых блоков или подобных объектов, которые семантически сгруппированы и которые могут быть независимо кодированы с измененным разрешением. Одно или более субизображений могут формировать изображение. Одно или более кодированных субизображений могут формировать кодированное изображение. Одно или более субизображений могут быть собраны в изображение, и одно или более субизображений могут быть извлечены из изображения. В определенных средах одно или более кодированных субизображений могут быть собраны в сжатой области, без перекодирования до уровня отсчетов, в кодированное изображение, и в тех же или некоторых других случаях одно или более кодированных субизображений могут быть извлечены из кодированного изображения в сжатой области.
[0085] Адаптивное изменение разрешения (ARC) относится к механизмам, которые позволяют изменять разрешение изображения или субизображения в кодированной видеопоследовательности, например, посредством передискретизации опорного изображения. Параметры ARC могут относиться к типам управляющей информации, необходимой для выполнения адаптивного изменения разрешения, которая может включать в себя, например, параметры фильтра, коэффициенты масштабирования, разрешения выходных и/или опорных изображений, различные флаги управления и т.д.
[0086] Вышеприведенное описание сосредоточено на кодировании и декодировании одного семантически независимого кодированного видеоизображения. Прежде чем описывать последствия кодирования/декодирования нескольких субизображений с независимыми параметрами ARC и его предполагаемую дополнительную сложность, должны быть описании опции для сигнализации параметров ARC.
[0087] На фиг. 5 показано несколько новых возможных вариантов для сигнализации параметров ARC. Как отмечено для каждого из возможных вариантов, они имеют определенные преимущества и определенные недостатки с точки зрения эффективности кодирования, сложности и архитектуры. Стандарт или технология кодирования видео может выбрать один или более из этих возможных вариантов или других вариантов для сигнализации параметров ARC. Возможные варианты могут не быть взаимоисключающими и, возможно, могут меняться местами в зависимости от потребностей применения, используемых стандартов или выбора кодера.
[0088] Классы параметров ARC могут включать:
- коэффициенты повышения/понижения частоты дискретизации, отдельные или объединенные по измерениям X и Y;
- коэффициенты повышения/понижения частоты дискретизации, с добавлением временного измерения, указывающие на увеличение/уменьшение масштаба с постоянной скоростью для заданного количества изображений.
- какой-либо из вышеупомянутых двух может включать в себя кодирование одного или нескольких предположительно коротких синтаксических элементов, которые могут указывать на таблицу, содержащую коэффициент(-ы).
- разрешение в измерении X или Y в единицах отсчетов, блоков, макроблоков, блоков CU или какой-либо другой подходящей гранулярности входного изображения, выходного изображения, опорного изображения, кодированного изображения, комбинированно или по отдельности. Если существует более одного разрешения (например, одно для входного изображения, одно для опорного изображения), то в некоторых случаях один набор значений может быть логически выведен из другого набора значений. Это может регулироваться, например, с помощью флагов. Более подробный пример см. ниже.
- координаты "деформации", подобные тем, которые используются в Приложении Р Н.263, снова с подходящей гранулярностью, как описано выше. Приложение Р Н.263 определяет один эффективный способ кодирования таких координат деформации, но, возможно, также могут быть разработаны другие, потенциально более эффективные способы. Например, обратимое кодирование переменной длины в стиле "Хаффмана" для координат деформации согласно Приложению Р может быть заменено двоичным кодированием подходящей длины, где длина двоичного кодового слова может быть, например, получена из максимального размера изображения, возможно, умноженного на определенный коэффициент и смещенного на определенное значение, чтобы допустить "деформацию" за пределами границ максимального размера изображения.
- параметры фильтра с повышением или понижением частоты дискретизации. В простейшем случае может быть только один фильтр для повышающей и/или понижающей дискретизации. Однако в некоторых случаях может быть выгодно обеспечить большую гибкость в структуре фильтра, и для этого может потребоваться сигнализация параметров фильтра. Такие параметры могут быть выбраны с помощью индекса в списке возможных структур фильтров, фильтр может быть полностью определен (например, с помощью списка коэффициентов фильтра с использованием подходящих технологий энтропийного кодирования), фильтр может быть выбран неявно с помощью соотношений повышающей/понижающей дискретизации, которые, в свою очередь, сигнализируются в соответствии с каким-либо из механизмов, упомянутых выше, и т.д.
[0089] Далее в описании предполагается кодирование конечного набора коэффициентов повышающей/понижающей дискретизации (один и тот же коэффициент должен использоваться как для измерения X, так и для измерения Y), указываемых с помощью кодового слова. Это кодовое слово может быть преимущественно кодировано с переменной длиной, например, с использованием экспоненциального кода Голомба (Ext-Golomb), общего для определенных синтаксических элементов в спецификациях кодирования видео, таких как Н.264 и Н.265. Одно подходящее сопоставление значений с коэффициентами повышающей/понижающей дискретизации может, например, соответствовать следующей таблице.
[0090] Многие аналогичные сопоставления могут быть разработаны в соответствии с потребностями применения и возможностями механизмов увеличения и уменьшения масштаба, доступных в технологии или стандарте сжатия видео. Таблица может быть расширена до большего количества значений. Значения также могут быть представлены механизмами энтропийного кодирования, отличными от экспоненциальных кодов Голомба, например, с использованием двоичного кодирования. Это может иметь определенные преимущества, когда коэффициенты передискретизации представляли интерес за пределами самих механизмов обработки видео (прежде всего кодера и декодера), например, посредством сетевых элементов с поддержкой мультимедиа (MANE, Media Aware Network Element). Следует отметить, что для (предположительно) наиболее распространенного случая, когда изменение разрешения не требуется, можно выбрать короткий экспоненциальный код Голомба; в таблице выше - только один бит.Это может иметь преимущество в эффективности кодирования по сравнению с использованием двоичных кодов для наиболее распространенного случая.
[0091] Число записей в таблице, а также их семантика могут быть полностью или частично конфигурируемыми. Например, основная структура таблицы может быть передана в наборе параметров "высокого уровня", таком как набор параметров последовательности или декодера. В качестве альтернативы или в дополнение, одна или более таких таблиц могут быть определены в технологии или стандарте видеокодирования и могут быть выбраны, например, с помощью декодера или набора параметров последовательности.
[0092] Далее опишем, как коэффициент повышающей/понижающей дискретизации (информация ARC), кодированный, как описано выше, может быть включен в синтаксис технологии или стандарта кодирования видео. Подобные соображения могут применяться к одному или нескольким кодовым словам, управляющих фильтрами повышающей/понижающей дискретизации. См. ниже обсуждение, когда для фильтра или других структур данных требуются сравнительно большие объемы данных.
[0093] Приложение Р Н.263, показанное на иллюстрации 500А, включает информацию ARC 502 в форме четырех координат деформации в заголовок 501 изображения, в частности, в расширение заголовка PLUSPTYPE 503 стандарта Н.263. Это может быть разумным выбором структуры, когда: а) имеется доступный заголовок изображения и б) ожидаются частые изменения информации ARC. Однако объем служебных данных при использовании сигнализации в стиле Н.263 может быть довольно высоким, и коэффициенты масштабирования могут не относиться к границам изображения, поскольку заголовок изображения может иметь переменный характер.
[0094] Документ JVCET-M135-vl, упомянутый выше, включает справочную информацию ARC 505 (индекс), расположенную в наборе 504 параметров изображения, индексирующую таблицу 506, включающую целевые разрешения, которая, в свою очередь, расположена внутри набора 507 параметров последовательности. Размещение возможного разрешения в таблице 506 в наборе 507 параметров последовательности, в соответствии со словесными заявлениями, сделанными авторами, может быть оправдано использованием набора параметров последовательности (SPS, Sequence Parameter Set) в качестве пункта согласования совместимости во время обмена возможностями. Разрешение может изменяться в пределах, установленных значениями в таблице 506, от изображения к изображению путем обращения к подходящему набору 504 параметров изображения.
[0095] По-прежнему ссылаясь на фиг. 5, могут существовать следующие дополнительные возможные варианты для передачи информации ARC в битовом потоке видео. Каждый из этих возможных вариантов имеет определенные преимущества перед существующим уровнем техники, как описано выше. Возможные варианты могут одновременно присутствовать в одной и той же технологии или стандарте кодирования видео.
[0096] В форме осуществления изобретения, информация ARC 509, как на иллюстрации 500 В, такая как коэффициент передискретизации (масштабирования), может присутствовать в заголовке слайса, заголовке GOB, заголовке тайла или заголовке 508 группы тайлов (далее - заголовке группы тайлов). Этого может быть достаточно для информации ARC небольшого размера, такой как одиночное кодовое слово переменной длины ue(v) или кодовое слово фиксированной длины из нескольких битов, например, как показано выше. Наличие информации ARC в заголовке группы тайлов непосредственно имеет дополнительное преимущество, поскольку информация ARC может быть применима к субизображению, представленному, например, этой группой тайлов, а не ко всему изображению. См. также ниже. Кроме того, даже если технология или стандарт сжатия видео предусматривает только адаптивное изменение разрешения всего изображения (в отличие, например, от адаптивного изменения разрешения на основе группы тайлов), помещение ее в заголовок изображения в стиле стандарта Н.263 имеет определенные преимущества с точки зрения обеспечения устойчивости к ошибкам.
[0097] В той же или другой форме осуществления изобретения сама информация ARC 512 может присутствовать в соответствующем наборе 511 параметров, таком как, например, набор параметров изображения, набор параметров заголовка, набор параметров тайла, набор параметров адаптации и т.д. (показан набор параметров адаптации). Объем этого набора параметров может преимущественно быть не больше, чем изображение, например, представлять группу тайлов. Использование информации ARC неявно осуществляется путем активации соответствующего набора параметров. Например, когда технология или стандарт видеокодирования рассматривают только ARC на основе изображения, тогда может быть подходящим набор параметров изображения или его эквивалент.
[0098] В той же или другой форме осуществления изобретения справочная информация ARC 513 может присутствовать в заголовке 514 группы тайлов или аналогичной структуре данных. Эта справочная информация 513 может относиться к подмножеству информации ARC 515, доступной в наборе 516 параметров с объемом, выходящим за рамки одного изображения, например, наборе параметров последовательности или наборе параметров декодера.
[0099] Дополнительный уровень косвенности, подразумевающий активацию набора параметров изображения (PPS, Picture Parameter Set) из заголовка группы элементов тайла, наборов PPS, SPS, как используется в документе JVET-M0135-vl, кажется ненужным, поскольку наборы параметров изображения, так же, как наборы параметров последовательности, могут использоваться (и используются в некоторых стандартах, таких как RFC3984) для согласования возможностей или объявлений. Если, однако, информация ARC должна быть применима к субизображению, представленному, например, также группами тайлов, то набор параметров с областью активации, ограниченной группой тайлов, такой как набор параметров адаптации или набор параметров заголовка, может быть лучшим выбором. Также, если информация ARC имеет более чем незначительный размер например, содержит информацию управления фильтром, такую как множество коэффициентов фильтра - то тогда параметр может быть лучшим выбором, чем использование заголовка 508 непосредственно, с точки зрения эффективности кодирования, так как эти установки могут быть годными для повторного использования будущими изображениями или субизображениями по ссылке на тот же самый набор параметров.
[0100] При использовании набора параметров последовательности или другого набора параметров более высокого уровня с областью действия, охватывающей несколько изображений, могут применяться определенные соображения:
1. Набор параметров для хранения таблицы 516 информации ARC может в некоторых случаях быть набором параметров последовательности, но в других случаях предпочтительно набором параметров декодера. Набор параметров декодера может иметь область активации нескольких кодированных видеопоследовательностей CVS, а именно кодированного видеопотока, т.е. всех битов кодированного видео от начала сеанса до разрыва сеанса. Такой объем может быть более подходящим, потому что возможные факторы ARC могут быть функцией декодера, возможно, реализованной в аппаратном обеспечении, а аппаратные функции, как правило, не меняются с какой-либо последовательностью CVS (которая по меньшей мере в некоторых развлекательных системах представляет собой группу изображений, длительностью одну секунду или меньше). Тем не менее, включение таблицы в набор параметров последовательности явно включено в варианты размещения, описанные здесь, в частности, в связи с пунктом 2 ниже.
2. Справочная информация ARC 513 может быть преимущественно помещена непосредственно в заголовок 514 изображения/тайла слайса/группы блоков (GOB, Group Of Blocks)/группы тайлов (далее - заголовок группы тайлов), а не в набор параметров изображения, как в документе JVCET-M0135-vl. Причина в следующем: когда кодер хочет изменить одно значение в наборе параметров изображения, такое как, например, справочная информация ARC, он должен создать новый набор PPS и ссылаться на этот новый набор PPS. Предположим, что изменяется только справочная информация ARC, но другая информация, такая как, например, информация матрицы квантования в наборе PPS, остается. Такая информация может быть значительного размера, и ее необходимо будет повторно передать, чтобы завершить новый набор PPS. Поскольку справочная информация ARC может быть одним кодовым словом, например, индексом в таблице 513, и это будет единственное значение, которое изменяется, было бы обременительно и расточительно повторно передавать все целиком, включая, например, информацию матрицы квантования. В этом отношении может быть значительно лучше с точки зрения эффективности кодирования избежать косвенного обращения через набор PPS, как предлагается в документе JVET-M0135-vl. Точно так же размещение справочной информации ARC в наборе PPS имеет дополнительный недостаток, заключающийся в том, что информация ARC, на которую ссылается справочная информация ARC 513, обязательно должна применяться ко всему изображению, а не к субизображению, поскольку задачей активации набора параметров изображения является изображение.
[0101] В той же или другой форме осуществления изобретения, сигнализация параметров ARC может следовать подробному примеру, как показано на фиг. 6. Фиг. 6 изображает схемы, показывающие примеры синтаксиса, в представлении, используемом в стандартах видеокодирования по меньшей мере с 1993 года. Представление таких схем, показывающих примеры синтаксиса, примерно соответствует программированию в стиле языка С.Строки, выделенные жирным шрифтом, указывают на синтаксические элементы, присутствующие в битовом потоке, строки без жирного шрифта часто указывают на поток управления или установочные параметры переменных.
[0102] Заголовок 601 группы тайлов в качестве примера синтаксической структуры заголовка, применимого к (возможно, прямоугольной) части изображения, может условно содержать синтаксический элемент переменной длины, кодированный с помощью экспоненциального кода Голомба, dec_pic_size_idx 602 (выделенный жирным шрифтом). Наличие этого синтаксического элемента в заголовке группы тайлов может быть запущено использованием адаптивного разрешения 603 - здесь значение флага не выделено жирным шрифтом, что означает, что флаг присутствует в битовом потоке в той точке, где он встречается на синтаксической диаграмме. О том, используется ли адаптивное разрешение для этого изображения или его частей, можно сигнализировать в какой-либо синтаксической структуре высокого уровня внутри или вне битового потока. В показанном примере это сигнализируется в наборе параметров последовательности, как показано ниже.
[0103] Обратимся вновь к фиг. 6, на которой показан также фрагмент набора 610 параметров последовательности. Первый показанный синтаксический элемент - это adapive_pic_resolution_change_flag 611. Когда он имеет значение истина, этот флаг может указывать на использование адаптивного разрешения, которое, в свою очередь, может требовать определенной управляющей информации. В примере такая управляющая информация присутствует условно на основе значения флага на основе оператора if() в наборе 612 параметров и заголовке 601 группы тайлов.
[0104] Когда используется адаптивное разрешение, в этом примере кодируется выходное разрешение в единицах отсчетов 613. Запись числа 613 относится как к элементу output_pic_width_in_luma_samples, так и к элементу output_pic_height_in_luma_samples, которые вместе могут определять разрешение выходного изображения. В другом месте технологии или стандарта видеокодирования могут быть определены определенные ограничения для каждого значения. Например, определение уровня может ограничивать число общих выходных отсчетов, которые могут быть произведением значений этих двух синтаксических элементов. Кроме того, определенные технологии или стандарты видеокодирования, или внешние технологии или стандарты, такие как, например, системные стандарты, могут ограничивать диапазон численной величины (например, одно или оба измерения должны делиться на степень числа 2) или формат изображения (например, ширина и высота должны быть в соотношении, например, 4:3 или 16:9). Такие ограничения могут быть введены для облегчения аппаратных реализаций или по другим причинам, и они хорошо известны в данной области техники.
[0105] В некоторых применениях может быть целесообразно, чтобы кодер подавал команду декодеру использовать определенный размер опорного изображения, а не неявно предполагать, что этот размер является размером выходного изображения. В этом примере синтаксический элемент reference_pic size_present_flag 614 запускает условное присутствие размеров 615 опорного изображения (опять же, запись числа относится как к ширине, так и к высоте).
[0106] Наконец, показана таблица возможной ширины и высоты декодированного изображения. Такая таблица может быть выражена, например, указанием таблицы (num_dec_pic_size_in_luma_samples_minus1) 616. Элемент "minus1" может относиться к интерпретации значения этого синтаксического элемента. Например, если кодированное значение равно нулю, присутствует одна запись в таблице. Если значение равно пяти, присутствуют шесть записей таблицы. Затем для каждой "строки" в таблице ширина и высота декодированного изображения включаются в синтаксис 617.
[0107] Представленные 617 записи таблицы могут быть проиндексированы с использованием синтаксического элемента dec_pic_size_idx 602 в заголовке группы тайлов, тем самым позволяя различные декодированные размеры - в сущности, коэффициенты масштабирования - для каждой группы тайлов.
[0108] Некоторые технологии или стандарты кодирования видео, например VP9, поддерживают пространственную масштабируемость путем реализации определенных форм пере дискретизации опорного изображения (сигнализируемой совершенно иначе, чем в раскрываемом предмете изобретения) в сочетании с временной масштабируемостью, чтобы обеспечить пространственную масштабируемость, в частности, определенные опорные изображения могут подвергаться повышающей дискретизации с использованием технологий ARC-стиля до более высокого разрешения для формирования основы уровня пространственного улучшения. Эти изображения с повышенной дискретизацией можно улучшить, используя обычные механизмы предсказания с высоким разрешением, чтобы добавить детали.
[0109] Раскрываемый предмет изобретения может использоваться в такой среде. В некоторых случаях, в той же или другой форме осуществления изобретения, значение в заголовке блока уровня сетевой абстракции (NAL, Network Abstraction Level), например, поле Temporal ID, может использоваться для указания не только временного, но и пространственного уровня. Это дает определенные преимущества для определенных структур систем; например, серверы селективной пересылки потоков (SFU, Selected Forwarding Units), созданные и оптимизированные для селективной пересылки во временном уровне, выбранные на основе значения временного идентификатора Temporal ID заголовка блока NAL, могут использоваться без модификации для масштабируемых сред. Чтобы сделать это возможным, может существовать требование для отображения между размером кодированного изображения и временным уровнем, указываемым полем Temporal ID в заголовке блока NAL.
[ОНО] В некоторых технологиях кодирования видео блок доступа (AU) может ссылаться на кодированное изображение(-ия), слайс(-ы), тайл(-ы), блок(-и) NAL и так далее, которые были захвачены и скомпонованы в соответствующий битовый поток изображения/слайса/тайла/блока NAL в данный момент времени. Таким моментом во времени может быть время компоновки.
[0111] В HEVC и некоторых других технологиях кодирования видео значение порядкового номера изображения (РОС) может использоваться для указания выбранного опорного изображения среди множества опорных изображений, хранящихся в буфере декодированных изображений (DPB, Decoded Picture Buffer). Когда блок доступа (AU) содержит одно или более изображений, слайсов или тайлов, каждое изображение, слайс или тайл, принадлежащие одному и тому же AU, могут нести одно и то же значение РОС, из которого можно сделать вывод, что они были созданы из содержимого одного и того же времени компоновки. Другими словами, в сценарии, где два изображения/слайса/тайла несут одно и то же заданное значение РОС, это может указывать на то, что два изображения/слайса/тайла принадлежат одному и тому же AU и имеют одинаковое время компоновки. Наоборот, если два изображения/слайса/тайла, имеют разные значение РОС, это может указывать на то, что эти изображения/слайсы/тайлы принадлежат к разным блокам доступа (AU) и имеют разные времена компоновки.
[0112] В одной из форм осуществления раскрываемого предмета изобретения вышеупомянутая жесткая взаимосвязь может быть ослаблена, так как блок доступа может содержать изображения, слайсы или тайлы с разными значениями РОС. При разрешении различных значений РОС в AU становится возможным использовать значение РОС для идентификации потенциально независимо декодируемых изображений/слайсов/тайлов с идентичным временем представления. Это, в свою очередь, может обеспечивать поддержку множества масштабируемых уровней без изменения сигнализации выбора опорного изображения (например, сигнализации набора опорных изображений или сигнализации списка опорных изображений), как более подробно описано ниже.
[0113] Тем не менее, все еще желательно иметь возможность идентифицировать AU, которому принадлежит изображение/слайс/тайл, по отношению к другим изображениям/слайсам/тайлам, имеющим другие значения РОС, только на основе значения РОС. Этого можно добиться так, как описано ниже.
[0114] В той же или других формах осуществления изобретения, номер блока доступа (AUC, Access Unit Count) может сигнализироваться в синтаксической структуре высокого уровня, такой как заголовок блока NAL, заголовок слайса, заголовок группы тайлов, сообщение SEI, набор параметров или разделитель AU. Значение AUC может использоваться, чтобы идентифицировать, какие блоки NAL, изображения, слайсы или тайлы принадлежат данному AU. Значение AUC может соответствовать отдельному моменту времени компоновки. Значение AUC может быть кратным значению РОС. Путем деления значения РОС на целочисленное значение может быть вычислено значение AUC. В некоторых случаях операции деления могут создавать определенную нагрузку на реализации декодера. В таких случаях небольшие ограничения в пространстве нумерации значений AUC могут позволить заменить операцию деления операциями сдвига. Например, значение AUC может быть равным значению старшего бита (MSB, Most Significant Bit) диапазона значения РОС.
[0115] В той же форме осуществления изобретения, значение цикла РОС на AU (рос_cycle_au) может сигнализироваться в синтаксической структуре высокого уровня, такой как заголовок блока NAL, заголовок слайса, заголовок группы тайлов, сообщение SEI, набор параметров или разделитель AU. Элемент poc_cycle_au может указывать, сколько различных и последовательных значений РОС может быть связано с одним и тем же AU. Например, если значение poc_cycle_au равно 4, изображения, слайсы или тайлы со значением РОС, равным 0-3 включительно, связаны с AU со значением AUC, равным 0, а изображения, слайсы или тайлы со значением РОС, равным 4-7 включительно, связаны с AU со значением AUC, равным 1. Следовательно, значение AUC может быть логически выведено путем деления значения РОС на значение рос_cycle_au.
[0116] В той же или другой форме осуществления изобретения значение рос_cycle_au может быть выведено из информации, расположенной, например, в наборе параметров видео (VPS), которая идентифицирует число пространственных уровней или уровней SNR в кодированной видеопоследовательности. Такая возможная взаимосвязь кратко описывается ниже. Хотя выведение, как описано выше, может сэкономить несколько битов в VPS и, следовательно, может повысить эффективность кодирования, может быть выгодно явно кодировать рос_cycle_au в соответствующей синтаксической структуре высокого уровня иерархически ниже набора параметров видео, чтобы иметь возможность минимизировать poc_cycle_au для данной небольшой части битового потока, например, изображения. Эта оптимизация может сэкономить больше битов, чем может быть сохранено посредством процесса выведения, описанного выше, потому что значения РОС (и/или значения синтаксических элементов, косвенно относящиеся к РОС) могут быть закодированы в структурах синтаксиса низкого уровня.
[0117] В соответствии с той же или другой формой осуществления изобретения на фиг. 9 показан пример синтаксисических таблиц 900 для сигнализации синтаксического элемента vps_poc_cycle_au в наборе VPS (или наборе SPS), который указывает poc_cycle_au, используемый для всех изображений/слайсов в кодированной видеопоследовательности, и синтаксического элемента slice_poc_cycle_au, который указывает рос_cycle_au текущего слайса в заголовке слайса. Если значение РОС увеличивается равномерно для каждого AU, vps_constant_poc_cycle_per_au в наборе VPS устанавливается равным 1, a vps_poc_cycle_au сигнализируется в наборе VPS. В этом случае slice_poc_cycle_au не сигнализируется явно и значение AUC для каждого AU вычисляется путем деления значения РОС на vps_poc_cycle_au. Если значение РОС не увеличивается равномерно с каждым AU, vps_constant_poc_cycle_per_au в наборе VPS устанавливается равным 0. В этом случае vps_access_unit_cnt не сигнализируется, в то время как slice_access_unit_cnt сигнализируется в заголовке слайса для каждого слайса или изображения. Каждый слайс или изображение может иметь различное значение slice_access_unit_cnt. Значение AUC для каждого AU вычисляется путем деления значения РОС на slice_poc_cycle_au. На фиг. 10 показана блок-схема, иллюстрирующая соответствующий поток 1000 операций.
[0118] На этапе S10 рассматривается семантический анализ набора VPS/SPS и определяется, является ли один или более циклов РОС на каждый AU постоянными. На этапе S11 определяется, является ли цикл РОС на каждый AU постоянным в кодированной видеопоследовательности, и, если нет, на этапе S13 выполняется вычисление значения номера блока доступа на основе рос_cycle_au_value и значения РОС, и если да, то на S12 происходит вычисление значения рос_cycle_au_value уровня последовательности и значения РОС. На этапе S14 выполняется синтаксический анализ набора VPS/SPS и определение, является ли цикл РОС на каждый AU постоянным, что может снова начать такие этапы, описанные выше, или перейти к альтернативной обработке.
[0119] В той же или других формах осуществления изобретения, даже если значение РОС изображения, слайса или тайла может быть различным, изображение, слайс или тайл, соответствующие AU с одинаковым значением AUC, могут быть связаны с тем же самым моментом времени декодирования или вывода. Следовательно, без какой-либо зависимости взаимного синтаксического анализа/декодирования между изображениями, слайсами или тайлами в одном и том же AU, все или подмножество изображений, слайсов или тайлов, связанных с одним и тем же AU, могут быть декодироваться параллельно и могут выводиться в один и тот же момент времени.
[0120] В той же или других формах осуществления изобретения, даже если значение РОС изображения, слайса или тайла может быть разным, изображение, слайс или тайл, соответствующие AU с одинаковым значением AUC, могут быть связаны с тем же самым моментом времени компоновки/отображения. Когда время компоновки содержится в формате контейнера, даже если изображения соответствуют разным блокам AU, если изображения имеют одинаковое время компоновки, изображения могут отображаться в один и тот же момент времени.
[0121] В той же или других формах осуществления изобретения каждое изображение, слайс или тайл может иметь один и тот же временной идентификатор (temporal_id) в одном и том же AU. Все или подмножество изображений, слайсов или тайлов, соответствующих моменту времени, могут быть связаны с одним и тем же временным подуровнем. В той же или других формах осуществления изобретения каждое изображение, слайс или тайл может иметь одинаковый или другой идентификатор пространственного уровня (layer_id) в одном и том же AU. Все или подмножество изображений, слайсов или тайлов, соответствующих моменту времени, могут быть связаны с тем же или другим пространственным уровнем.
[0122] На фиг. 8 показан пример структуры видеопоследовательности с комбинацией значений temporal_id, layer_id, РОС и AUC с адаптивным изменением разрешения. В этом примере изображение, слайс или тайл в первом AU с AUC=0 может иметь temporal_id=0 и layer_id=0 или 1, в то время как изображение, слайс или тайл во втором AU с AUC=1 может иметь temporal_id=1 и layer_id=0 или 1, соответственно. Значение РОС увеличивается на 1 для каждого изображения независимо от значений temporal_id и layer_id. В этом примере значение poc_cycle_au может быть равно 2. Предпочтительно, значение рос_cycle_au может быть установлено равным числу (пространственной масштабируемости) уровней. Следовательно, в этом примере значение РОС увеличивается на 2, а значение AUC увеличивается на 1.
[0123] В вышеописанных формах осуществления изобретения все или подмножество структуры межкадрового или межуровневого предсказания и индикация опорного изображения могут поддерживаться посредством использования существующей сигнализации набора опорных изображений (RPS, Reference Picture Set) в стандарте HEVC или сигнализации списка опорных изображений (RPL, Reference Picture List). В наборе RPS или списке RPL выбранное опорное изображение указывается посредством сигнализации значения номера РОС или значения дельты (изменения) РОС между текущим изображением и выбранным опорным изображением. Для раскрываемого предмета изобретения набор RPS и список RPL могут использоваться для указания структуры межкадрового или межуровневого предсказания без изменения сигнализации, но со следующими ограничениями. Если значение temporal_id опорного изображения больше, чем значение temporal_id текущего изображения, текущее изображение не может использовать опорное изображение для компенсации движения или других предсказаний. Если значение layer_id опорного изображения больше, чем значение layer_id текущего изображения, текущее изображение не может использовать опорное изображение для компенсации движения или других предсказаний.
[0124] В той же и других формах осуществления изобретения, масштабирование вектора движения на основе разности РОС для временного предсказания вектора движения может быть запрещено для множества изображений в блоке доступа. Следовательно, хотя каждое изображение может иметь различное значение РОС в блоке доступа, вектор движения не масштабируется и не используется для временного предсказания вектора движения в блоке доступа. Это связано с тем, что опорное изображение с другим РОС в одном и том же AU считается опорным изображением, имеющим тот же момент времени. Следовательно, в форме осуществления изобретения функция масштабирования вектора движения может возвращать 1, когда опорное изображение принадлежит AU, ассоциированному с текущим изображением.
[0125] В той же и других формах осуществления изобретения масштабирование вектора движения на основе разности номеров РОС для временного предсказания вектора движения может быть опционально запрещено для множества изображений, когда пространственное разрешение опорного изображения отличается от пространственного разрешения текущего изображения. Когда масштабирование вектора движения разрешено, вектор движения масштабируется на основе как разности номеров РОС, так и отношения пространственного разрешения между текущим изображением и опорным изображением.
[0126] В той же или другой форме осуществления изобретения вектор движения может масштабироваться на основе разности номеров AUC вместо разности номеров РОС, для временного предсказания вектора движения, особенно когда poc_cycle_au имеет неоднородное значение (когда vps_constant_poc_cycle_per_au==0). В противном случае (когда vps_constant_рос_cycle_per_au==1) масштабирование вектора движения на основе разности номеров AUC может быть идентично масштабированию вектора движения на основе разности номеров РОС.
[0127] В той же или другой форме осуществления изобретения, когда вектор движения масштабируется на основе разности AUC, опорный вектор движения в том же AU (с тем же значением AUC) с текущим изображением не масштабируется на основе разности AUC и используется для предсказания вектора движения без масштабирования или с масштабированием на основе отношения пространственного разрешения между текущим изображением и опорным изображением.
[0128] В той же и других формах осуществления изобретения значение AUC используется для идентификации границы AU и используется для работы гипотетического эталонного декодера (HRD), который требует синхронизации ввода и вывода с гранулярностью AU. В большинстве случаев декодированное изображение с самым высоким уровнем в AU может выводиться для отображения. Значение AUC и значение layer id могут использоваться для идентификации выходного изображения.
[0129] В одной из форм осуществления изобретения изображение может состоять из одного или нескольких субизображений. Каждое субизображение может охватывать локальную область или всю область изображения. Область, поддерживаемая субизображением, может перекрываться или не перекрываться с областью, поддерживаемой другим субизображением. Область, составленная из одного или нескольких субизображений, может покрывать или не покрывать всю область изображения. Если изображение состоит из субизображения, область, поддерживаемая субизображением, идентична области, поддерживаемой изображением.
[0130] В той же форме осуществления изобретения, субизображение может кодироваться способом кодирования, аналогичным способу кодирования, используемому для кодирования изображения. Субизображение может быть независимо кодировано или может быть кодировано в зависимости от другого субизображения или кодированного изображения. Субизображение может иметь или не иметь какую-либо зависимость синтаксического анализа от другого субизображения или кодированного изображения.
[0131] В той же форме осуществления изобретения кодированное субизображение может содержаться в одном или нескольких уровнях. Кодированное субизображение в уровне может иметь другое пространственное разрешение. Исходное субизображение может быть пространственно передискретизировано (с повышающей или понижающей дискретизацией), кодировано с различными параметрами пространственного разрешения и содержаться в битовом потоке, соответствующем уровню.
w,k
h,k
w,k
h,k
w,k
h,k
w,k
h,k
[0132] В той же или другой форме осуществления изобретения субизображение с (W, H), где W указывает ширину субизображения, а H указывает высоту субизображения, соответственно, может быть кодировано и содержаться в кодированном битовом потоке, соответствующем уровню 0, в то время как субизображение с повышенной частотой дискретизации (или с пониженной частотой дискретизации) относительно субизображения с исходным пространственным разрешением с (W*SH*S) может кодироваться и содержаться в кодированном битовом потоке, соответствующем уровню k, где S, S указывают коэффициенты передискретизации по горизонтали и вертикали. Если значения S, S больше 1, передискретизация эквивалентна повышающей дискретизации. В то время как, если значения S, S меньше 1, передискретизация эквивалентна понижающей передискретизации.
i,n
j,m
[0133] В той же или другой форме осуществления изобретения кодированное субизображение в уровне может иметь визуальное качество, отличное от качества кодированного субизображения в другом уровне в том же субизображении или другом субизображении. Например, субизображение i в уровне n кодируется с параметром квантования Q, тогда как субизображение j в уровне m кодируется с параметром квантования Q.
[0134] В той же или другой форме осуществления изобретения кодированное субизображение в уровне может быть независимо декодируемым, без какой-либо зависимости от синтаксического анализа или декодирования от кодированного субизображения в другом уровне той же локальной области. Уровень субизображения, который может быть независимо декодируемым без ссылки на другой уровень субизображения той же локальной области, является независимым уровнем субизображения. Кодированное субизображение в уровне независимого субизображения может иметь или не иметь зависимости декодирования или семантического анализа от ранее кодированного субизображения в том же уровне субизображения, но кодированное субизображение не может иметь никакой зависимости от кодированного изображения в другом уровне субизображения.
[0135] В той же или другой форме осуществления изобретения кодированное субизображение в уровне может быть зависимо декодируемым, с какой-либо зависимостью синтаксического анализа или декодирования от кодированного субизображения в другом уровне той же локальной области. Уровень субизображения, который может зависимо декодироваться со ссылкой на другой уровень субизображения той же локальной области, является зависимым уровнем субизображения. Кодированное субизображение в зависимом субизображении может ссылаться на кодированное субизображение, принадлежащее тому же субизображению, ранее кодированное субизображение в том же уровне субизображения, или оба опорных субизображения.
[0136] В той же или другой форме осуществления изобретения кодированное субизображение состоит из одного или нескольких независимых уровней субизображения и одного или нескольких зависимых уровней субизображения. Однако по меньшей мере один независимый уровень субизображения может присутствовать для кодированного субизображения. Уровень независимого субизображения может иметь значение идентификатора уровня (layer_id), которое может присутствовать в заголовке блока NAL или другой синтаксической структуре высокого уровня, равное 0. Уровень субизображения с идентификатором уровня, равным 0, является базовым уровнем субизображения.
а
а
[0137] В той же или другой форме осуществления изобретения изображение может состоять из одного или нескольких субизображений переднего плана и одного фонового субизображения. Область, поддерживаемая фоновым субизображением, может быть равна области изображения. Область, поддерживаемая субизображением переднего плана, может перекрываться с областью, поддерживаемой фоновым субизображением. Фоновое субизображение может быть базовым уровнем субизображения, в то время как субизображение переднего плана может быть не базовым (улучшающим) уровнем субизображения. Один или более не базовых уровней субизображения могут ссылаться на один и тот же базовый уровень для декодирования. Каждый не базовый уровень субизображения с layer_id, равным , может ссылаться на не базовый уровень субизображения с идентификатором уровня, равным b, где  больше, чем b.
а
а
[0138] В той же или другой форме осуществления изобретения изображение может состоять из одного или нескольких субизображений переднего плана с фоновым субизображением или без него. Каждое субизображение может иметь свой собственный базовый уровень субизображения и один или более не базовых (улучшающих) уровней. На каждый базовый уровень субизображения может ссылаться один или более не базовых уровней субизображения. Каждый не базовый уровень субизображения с layer_id, равным , может ссылаться на не базовый уровень субизображения с layer_id, равным b, где  больше, чем b.
[0139] В той же или другой форме осуществления изобретения изображение может состоять из одного или нескольких субизображений переднего плана с фоновым субизображением или без него. На каждое кодированное субизображение в (базовом или не базовом) уровне субизображения может ссылаться одно или более субизображений не базового уровня, принадлежащих одному и тому же субизображению, и одно или более субизображений не базового уровня, которые не принадлежат одному и тому же субизображению.
а
а
[0140] В той же или другой форме осуществления изобретения изображение может состоять из одного или нескольких субизображений переднего плана с фоновым субизображением или без него. Субизображение в уровне  может быть дополнительно разделено на несколько субизображений в одном и том же уровне. Одно или более кодированных субизображений в уровне b могут ссылаться на разделенные субизображения в уровне .
[0141] В той же или другой форме осуществления изобретения кодированная видеопоследовательность (CVS) может быть группой кодированных изображений. CVS может состоять из одной или нескольких последовательностей кодированных субизображений (CSPS, Coded Sub-Picture Sequence), где CSPS может быть группой кодированных субизображений, охватывающих одну и ту же локальную область изображения. CSPS может иметь такое же или другое временное разрешение, как у кодированной видеопоследовательности.
[0142] В той же или другой форме осуществления изобретения, последовательность CSPS может быть кодирована и может содержаться в одном или нескольких уровнях. Последовательность CSPS может состоять из одного или нескольких уровней CSPS. Декодирование одного или более уровней CSPS, соответствующих CSPS, может восстанавливать последовательность субизображений, соответствующих одной и той же локальной области.
[0143] В той же или другой форме осуществления изобретения число уровней CSPS, соответствующих CSPS, может быть идентичным или отличаться от количества уровней CSPS, соответствующих другой CSPS.
[0144] В той же или другой форме осуществления изобретения уровень CSPS может иметь временное разрешение (например, частоту кадров), отличное от другого уровня CSPS. Исходная (несжатая) последовательность субизображений может подвергаться временной передискретизации (повышающей или понижающей дискретизации), кодироваться с различными параметрами временного разрешения и содержаться в битовом потоке, соответствующем уровню.
t,k
t,k
t,k
t,k
[0145] В той же или другой форме осуществления изобретения последовательность субизображений с частотой кадров F может быть кодирована и содержаться в кодированном битовом потоке, соответствующем уровню 0, в то время как последовательность субизображений с повышенной (или пониженной) дискретизацией изображений из исходной последовательности субизображения, с F*S, может быть кодирована и содержаться в кодированном битовом потоке, соответствующем уровню k, где S указывает коэффициент временной дискретизации для уровня k. Если значение S больше 1, процесс временной передискретизации эквивалентен преобразованию с повышением частоты кадров. Тогда как, если значение S меньше 1, процесс временной передискретизации эквивалентен преобразованию с понижением частоты кадров.
а
а
а
[0146] В той же или другой форме осуществления изобретения, когда субизображение с уровнем CSPS  является ссылкой (опорным) для субизображения с уровнем CSPS b для компенсации движения или любого межуровневого предсказания, если пространственное разрешение уровня CSPS  отличается от пространственного разрешения уровня CSPS b, декодированные пиксели в уровне CSPS  передискретизируются и используются для ссылки. Для процесса передискретизации может потребоваться фильтрация с повышением или понижением частоты дискретизации.
[0147] На фиг. 11 показан пример 1100 в отношении битового потока видео, включающего в себя последовательность CSPS фонового видео с layer_id, равным 0, и несколько уровней CSPS переднего плана. Хотя кодированное субизображение может состоять из одного или нескольких уровней CSPS, фоновая область, которая не принадлежит какому-либо уровню CSPS переднего плана, может состоять из базового уровня. Базовый уровень может содержать область фона и области переднего плана, в то время как улучшающий уровень CSPS содержит область переднего плана. Улучшающий уровень CSPS может иметь лучшее визуальное качество, чем базовый уровень в той же области. Улучшающий уровень CSPS может ссылаться на восстановленные пиксели и векторы движения базового уровня, соответствующие одной и той же области.
[0148] В той же или другой форме осуществления изобретения битовый поток видео, соответствующий базовому уровню, содержится в треке ("дорожке"), в то время как уровни CSPS, соответствующие каждому субизображению, содержатся в отдельном треке в видеофайле.
[0149] В той же или другой форме осуществления изобретения битовый поток видео, соответствующий базовому уровню, содержится в треке, в то время как уровни CSPS с тем же layer_id содержатся в отдельном треке. В этом примере трек, соответствующий уровню k, включает в себя только уровни CSPS, соответствующие уровню k.
[0150] В той же или другой форме осуществления изобретения каждый уровень CSPS каждого субизображения хранится в отдельном треке. Каждый трек может иметь или не иметь зависимости синтаксического анализа или декодирования от одного или более других треков.
[0151] В той же или другой форме осуществления изобретения каждый трек может содержать битовые потоки, соответствующие уровням, от уровня i до уровня j, CSPS всех или подмножества субизображений, где 0<i=<j=<k, k является наивысшим уровнем CSPS.
[0152] В той же или другой форме осуществления изобретения, изображение состоит из одного или нескольких связанных мультимедийных данных, включая карту глубины, карту прозрачности (alpha map), данные трехмерной геометрии, карту занятости и т.д. Такие связанные синхронизированные мультимедийные данные могут быть разделены на один или более подпотоков данных, каждый из которых соответствует одному субизображению.
[0153] В соответствии с той же или другой формой осуществления изобретения на фиг. 12 показан пример 1200 видеоконференции, основанной на способе создания многоуровневых субизображений. В видеопотоке содержится один битовый поток 1201 видео базового уровня, соответствующий фоновому изображению, и один или более битовых потоков 1202 видео улучшающего уровня, соответствующих субизображениям переднего плана. Каждый битовый поток 1202 видео улучшающего уровня соответствует уровню CSPS. На дисплее по умолчанию отображается изображение, соответствующее базовому уровню. Оно содержит изображение одного или нескольких пользователей в режиме "картинка в картинке" (PIP, Picture In a Picture). Когда конкретный пользователь выбран средствами управления клиента, улучшающий уровень 1202 CSPS, соответствующий выбранному пользователю, декодируется и отображается с улучшенным качеством или пространственным разрешением. На фиг. 13 показана диаграмма 1300 работы.
[0154] На этапе S20 выполняется декодирование битового потока видео с использованием нескольких уровней, а на этапе S21 выполняется идентификация области фона и одного или более субизображений переднего плана. На этапе S22 рассматривается, выбрана ли конкретная область субизображения, и если нет, на этапе S24 декодируется и отображается фоновая область, а если да, то на этапе S23 декодируется и отображается улучшенное субизображение.
[0155] В той же или другой форме осуществления изобретения промежуточный блок сети (такой как маршрутизатор) может выбирать подмножество уровней для передачи пользователю в зависимости от своей пропускной способности. Организация изображения/субизображения может использоваться для адаптации пропускной способности. Например, если у пользователя нет достаточной пропускной способности, маршрутизатор разделяет уровни или выбирает некоторые субизображения на основании их важности или на основе используемых настроек, и это можно делать динамически для адаптации к пропускной способности.
[0156] На фиг. 14 показан случай использования 360-градусного видео 1400. Когда сферическое 360-градусное изображение 1401 проецируется на плоское изображение, проецируемое 360-градусное изображение может быть разделено на несколько субизображений в качестве базового уровня 1402. Улучшающий уровень 1403 конкретного субизображения может быть кодирован и передан клиенту. Декодер может быть способен декодировать как базовый уровень, включающий в себя все субизображения, так и улучшающий уровень выбранного субизображения. Когда текущее окно просмотра идентично выбранному субизображению, отображаемое изображение может иметь более высокое качество с декодированным субизображением с улучшающим уровнем. В противном случае декодированное изображение с базовым уровнем может отображаться с низким качеством.
[0157] В той же или другой форме осуществления изобретения любая информация о компоновке для отображения может присутствовать в файле в качестве дополнительной информации (например, сообщения SEI или метаданных). Одно или более декодированных субизображений могут быть перемещены и отображены в зависимости от сигнализируемой информации о компоновке. Информация о компоновке может сигнализироваться потоковым сервером или вещательной компанией, или может быть восстановлена сетевым объектом или облачным сервером, или может быть определена индивидуальной настройкой пользователя.
[0158] В форме осуществления изобретения, когда входное изображение делится на одну или более (прямоугольных) подобластей, каждая подобласть может кодироваться как независимый уровень. Каждый независимый уровень, соответствующий локальной области, может иметь уникальное значение идентификатора уровня. Для каждого независимого уровня может передаваться информация о размере субизображения и местоположении. Например, размер изображения (ширина, высота), информация о смещении левого верхнего угла (x_offset, y_offset). На фиг. 15 показан пример 1500 компоновки разделенных субизображений, информации о размере и положении его субизображений и соответствующей структуре предсказания изображения. Информация о компоновке, включая размер(-ы) субизображения и позицию(-ии) субизображения, может сигнализироваться в синтаксической структуре высокого уровня, такой как набор(-ы) параметров, заголовок слайса или группы тайлов, или сообщение SEI.
[0159] В той же форме осуществления изобретения, каждое субизображение, соответствующее независимому уровню, может иметь свое уникальное значение РОС в AU. Когда опорное изображение среди изображений, хранящихся в буфере DPB, указывается с использованием элемента(-ов) синтаксиса в структуре набора RPS или списка RPL, может использоваться значение(-ия) РОС каждого субизображения, соответствующего уровню.
[0160] В той же или другой форме осуществления изобретения, чтобы указать структуру (межуровневого) предсказания, layer_id может не использоваться, а может использоваться значение (приращения) РОС.
[0161] В той же или другой форме осуществления изобретения субизображение со значением РОС, равным N, соответствующее уровню (или локальной области), может использоваться или может не использоваться в качестве опорного изображения субизображения со значением РОС, равным N+K, соответствующего тому же уровню (или той же локальной области), для предсказания с компенсацией движения. В большинстве случаев значение числа K может быть равно максимальному числу (независимых) уровней, которое может быть идентично числу подобластей.
[0162] В соответствии с той же или другой формой осуществления изобретения на фиг. 16 показан расширенный случай фиг. 15. Когда входное изображение разделено на несколько подобластей (например, четыре), каждая локальная область может быть кодирована с одним или более уровнями. В этом случае число независимых уровней может быть равно числу подобластей, и один или более уровней могут соответствовать подобласти. Таким образом, каждая подобласть может быть кодирована с одним или более независимыми уровнями и нулем или более зависимыми уровнями.
[0163] В той же форме осуществления изобретения на фиг. 16 показан пример иллюстрации 1600, на которой входное изображение может быть разделено на четыре подобласти. Правая верхняя подобласть может быть кодирована как два уровня, которые являются уровнем 1 и уровнем 4, в то время как правая нижняя подобласть может быть кодирована как два уровня, которые являются уровнем 3 и уровнем 5. В этом случае уровень 4 может ссылаться на уровень 1 для предсказания с компенсацией движения, тогда как уровень 5 может ссылаться на уровень 3 для компенсации движения.
[0164] В той же или другой форме осуществления изобретения внутрипетлевая фильтрация (например, деблокирующая фильтрация, адаптивная внутрипетлевая фильтрация, адаптивный внутрипетлевой преобразователь (сопоставление яркости с масштабированием цветности), двусторонняя фильтрация или любая фильтрация на основе глубокого обучения) с пересечением границы уровня может быть (опционально) запрещена.
[0165] В той же или другой форме осуществления изобретения предсказание с компенсацией движения или внутриблочное копирование через границу уровня может быть (опционально) запрещено.
[0166] В той же или другой форме осуществления изобретения заполнение границы для предсказания с компенсацией движения или внутрипетлевой фильтрации на границе субизображения может обрабатываться опционально. Флаг, указывающий, обрабатывается заполнение границ или нет, может сигнализироваться в синтаксической структуре высокого уровня, такой как набор(-ы) параметров (VPS, SPS, PPS или набор параметров адаптации (APS, Adaptation Parameter Set)), заголовок группы слайсов или тайлов или сообщение SEI.
[0167] В той же или другой форме осуществления изобретения информация о компоновке подобласти(-ей) (или субизображения(-ий)) может сигнализироваться в наборах VPS или SPS. На фиг. 17 показан пример 1700 синтаксических элементов в наборах VPS и SPS. В этом примере vps_sub_picture_dividing_flag сигнализируется в наборе VPS. Флаг может указывать, разделены ли входные изображения на несколько подобластей. Когда значение vps_sub_picture_dividing_flag равно 0, входное изображение (-ия) в кодированной видеопоследовательности(-ях), соответствующей текущему набору VPS, не может быть разделено на несколько подобластей. В этом случае размер входного изображения может быть равен размеру кодированного изображения (ширине изображения в отсчетах яркости, высоте изображения в отсчетах яркости), который сигнализируется в наборе SPS. Когда значение vps_sub_picture_dividing_flag равно 1, входное изображение(-ия) может быть разделено на несколько подобластей. В этом случае синтаксические элементы vps_full_pic_width_in_luma_samples и vps_full_pic_height_in_luma_samples сигнализируются в наборе VPS. Значения vps_full_pic_width_in_luma_samples и vps_full_pic_height_in_luma_samples могут быть равны ширине и высоте входного изображения(-ий), соответственно.
[0168] В той же форме осуществления изобретения значения vps_full_pic_width_in_luma_samples и vps_full_pic_height_in_luma_samples не могут использоваться для декодирования, но могут использоваться для компоновки и отображения.
[0169] В той же форме осуществления изобретения, когда значение vps_sub_picture_dividing_flag равно 1, синтаксические элементы pic_offset_x и pic_offset_у могут сигнализироваться в наборе SPS, что соответствует (а) конкретному уровню(-ям). В этом случае размер кодированного изображения (pic_width_in_luma_samples, pic_height_in_luma_samples), передаваемый в наборе SPS, может быть равен ширине и высоте подобласти, соответствующей конкретному уровню. Кроме того, позиция (pic_offset_х, pic_offset_у) левого верхнего угла подобласти может сигнализироваться в наборе SPS.
[0170] В той же форме осуществления изобретения информация о позиции (pic_offset_x, pic_offset_y) левого верхнего угла подобласти не может использоваться для декодирования, но может использоваться для компоновки и отображения.
[0171] В той же или другой форме осуществления изобретения информация о компоновке (размере и позиции) всей или подмножества подобласти(-ей) входного изображения(-ий), информация о зависимости между уровнем(-ями) может сигнализироваться в наборе параметров или в сообщении SEI. На фиг. 18 показан пример 1800 синтаксических элементов для указания информации о компоновке подобластей, зависимости между уровнями и отношения между подобластью и одним или несколькими уровнями. В этом примере синтаксический элемент num_sub_region указывает число (прямоугольных) подобластей в текущей кодированной видеопоследовательности, синтаксический элемент num_elements синтаксического элемента num_layers указывает число уровней в текущей кодированной видеопоследовательности. Значение num_layers может быть равно или больше значения num_sub_region. Когда некоторая подобласть кодируется как один уровень, значение num_layers может быть равно значению num_sub_region. Когда одна или более подобластей кодируются как несколько уровней, значение num_layers может быть больше, чем значение num_sub_region. Синтаксический элемент direct_dependency_flag[i][j] указывает зависимость от j-го уровня для i-го уровня, num_layers_for_region[i] указывает число уровней, связанных с i-й подобластью; sub_region_layer_id[i][j] указывает layer_id j-го уровня, связанного с i-й подобластью. Элементы sub_region_offset_x[i] и sub_region_offset_y[i] указывают горизонтальное и вертикальное положение левого верхнего угла i-й подобласти, соответственно. Элементы sub_region_width[i] и sub_region_height[i] указывают ширину и высоту i-й подобласти, соответственно.
[0172] В одной из форм осуществления изобретения один или более синтаксических элементов, которые определяют набор выходного уровня, установленный для указания одного или более уровней, которые должны выводиться с информацией об уровне ярусе профиле или без нее, могут сигнализироваться в синтаксической структуре высокого уровня, например, наборе VPS, наборе параметров зависимости (DPS, Dependency Parameter Set), наборах SPS, PPS, APS или сообщении SEI. Как показано на фиг. 19, синтаксический элемент num_output_layer_sets, указывающий число наборов выходных уровней (OLS, Output Layer Set) в кодированной видеопоследовательности, ссылающейся на набор VPS, может сигнализироваться в наборе VPS. Для каждого набора выходных уровней флаг output_layer_flag может сигнализироваться столько раз, сколько имеется выходных уровней.
[0173] В той же форме осуществления изобретения output_layer_flag[i], равный 1, указывает, что выводится i-й уровень. Элемент vps_output_layer_flag[i], равный 0, указывает, что i-й уровень не выводится.
[0174] В той же или другой форме осуществления изобретения один или более синтаксических элементов, которые определяют информацию профиля, яруса и уровня для каждого набора выходных уровней, могут сигнализироваться в синтаксической структуре высокого уровня, например наборах VPS, DPS, SPS, PPS, APS или сообщении SEI. По-прежнему обращаясь к фиг. 19, синтаксический элемент num_profile_tile_level, указывающий номер информации профиля, яруса и уровня для каждого набора OLS в кодированной видеопоследовательности, ссылающейся на набор VPS, может сигнализироваться в наборе VPS. Для каждого набора выходного уровня набор синтаксических элементов для информации профиля, яруса и уровня или индекс, указывающий конкретную информацию профиля, яруса и уровня среди записей в информации профиля, яруса и уровня, может сигнализироваться столько же раз, сколько составляет число выходных уровней.
[0175] В той же форме осуществления изобретения profile_tier_level_idx[i][j] указывает индекс в списке синтаксических структур profile_tier_level() в наборе VPS, синтаксической структуры profile_tier_level(), которая применяется к j-му уровню i-го набора OLS.
[0176] В той же или другой форме осуществления изобретения, как показано на иллюстрации 2000 на фиг. 20, синтаксические элементы num_profile_tile_level и/или num_output_layer_sets могут сигнализироваться, когда максимальное число уровней больше 1 (vps_max_layers_minus1>0).
[0177] В той же или другой форме осуществления изобретения, как показано на фиг. 20, синтаксический элемент vps_output_layers_mode[i], указывающий режим сигнализации выходного уровня для i-го набора выходных уровней, может присутствовать в наборе VPS.
[0178] В той же форме осуществления изобретения, vps_output_layers_mode[i], равный 0, указывает, что только самый верхний уровень выводится с i-м набором выходных уровней. Элемент vps_output_layer_mode[i], равный 1, указывает, что все уровни выводятся с i-м набором выходных уровней. Элемент vps_output_layer_mode[i], равный 2, указывает, что выводимые уровни - это уровни с vps_output_layer flag[i][j], равным 1, с i-м набором выходных уровней. Могут быть зарезервированы и другие значения.
[0179] В той же форме осуществления изобретения, output_layer_flag[i][j] может сигнализироваться или не сигнализироваться в зависимости от значения vps_output_layers_mode[i] для i-го набора выходных уровней.
[0180] В той же или другой форме осуществления изобретения, как показано на фиг. 20, флаг vps_ptl_signal_flag[i] может присутствовать для i-го набора выходных уровней. В зависимости от значения vps_ptl_signal_flag[i] информация профиля, яруса и уровня для i-го набора выходных уровней может сигнализироваться или не сигнализироваться.
[0181] В той же или другой форме осуществления изобретения, как показано на иллюстрации 2100 на фиг. 21, число субизображений, max_subpics_minus1, в текущей последовательности CVS может сигнализироваться в синтаксической структуре высокого уровня, например, наборах VPS, DPS, SPS, PPS, APS или сообщении SEI.
[0182] В той же форме осуществления изобретения, как показано на фиг. 21, идентификатор субизображения, sub_pic_id[i], для i-го субизображения может сигнализироваться, когда число субизображений больше 1 (max_subpics_minus1>0).
[0183] В той же или другой форме осуществления изобретения один или более синтаксических элементов, указывающих идентификатор субизображения, принадлежащий каждому уровню каждого набора выходных уровней, могут сигнализироваться в наборе VPS. Как показано на иллюстрации 2200 на фиг. 22, элемент sub_pic_id_layer[i][j][k] указывает k-oe субизображение, присутствующее в j-м уровне i-го набора выходных уровней. С помощью этой информации декодер может распознать, какое субизображение может быть декодировано и выведено для каждого уровня конкретного набора выходных уровней.
[0184] В одной из форм осуществления изобретения заголовок изображения (РН, Picture Header) представляет собой синтаксическую структуру, содержащую синтаксические элементы, которые применяются ко всем слайсам кодированного изображения. Пакет изображения (PU, Picture Unit) - это набор блоков NAL, которые связаны друг с другом в соответствии с заданным правилом классификации, являются последовательными в порядке декодирования и содержат ровно одно кодированное изображение. Пакет PU может содержать заголовок изображения (РН) и один или более блоков NAL уровня видеокодирования (VCL, Video Coding Layer), составляющих кодированное изображение.
[0185] В одной из форм осуществления изобретения набор SPS (последовательность исходных байтов полезной нагрузки (RBSP, Raw Byte Sequence Payload)) может быть доступен процессу декодирования до того, как на него будет сделана ссылка, включен по меньшей мере в один AU с TemporalId, равным 0, или предоставлен при помощи внешних средств.
[0186] В одной из форм осуществления изобретения набор SPS (RBSP) может быть доступен процессу декодирования до того, как на него будет сделана ссылка, включен по меньшей мере в один AU с TemporalId, равным 0, в последовательности CVS, которая содержит один или более наборов PPS, относящихся к набору SPS или предоставляется при помощи внешних средств.
[0187] В одной из форм осуществления изобретения, набор SPS (RBSP) может быть доступен процессу декодирования до того, как на него будет сделана ссылка одним или более наборами PPS, включен по меньшей мере в один PU с nuh_layer_id, равным наименьшему значению nuh_layer_id блоков NAL набора PPS, ссылающихся на блок NAL набора SPS в последовательности CVS, которая содержит один или более наборов PPS, относящихся к набору SPS или предоставленных при помощи внешних средств.
[0188] В одной из форм осуществления изобретения набор SPS (RBSP) может быть доступен процессу декодирования до того, как на него будут ссылаться один или более наборов PPS, включенных по меньшей мере в один PU с TemporalId, равным 0, и nuh_layer_id, равным наименьшему значению nuh_layer_id блоков NAL набора PPS, которые относятся к блоку NAL набора SPS, или предоставляются при помощи внешних средств.
[0189] В одной из форм осуществления изобретения набор SPS (RBSP) может быть доступен процессу декодирования до того, как на него как на него будут ссылаться один или более наборов PPS, включенных по меньшей мере в один PU с TemporalId, равным 0, и nuh_layer_id, равным наименьшему значению nuh_layer_id блоков NAL набора PPS, которые относятся к блоку NAL набора SPS в последовательности CVS, который содержит один или несколько наборов PPS, относящихся к набору SPS или предоставляемых при помощи внешних средств.
[0190] В той же или другой форме осуществления изобретения pps_seq_parameter_set_id указывает значение sps_seq_parameter_set_id для набора SPS, на который ссылаются. Значение pps_seq_parameter_set_id может быть одинаковым во всех наборах PPS, на которые ссылаются кодированные изображения в последовательности CVS.
[0191] В той же или другой форме осуществления изобретения все блоки NAL набора SPS с конкретным значением sps_seq_parameter_set_id в последовательности CVS могут иметь одинаковое содержимое.
[0192] В той же или другой форме осуществления изобретения, независимо от значений num_layer_id, блоки NAL набора SPS могут совместно использовать одно и то же пространство значений sps_seq_parameter_set_id.
[0193] В той же или другой форме осуществления изобретения значение nuh_layer_id блоков NAL набора SPS может быть равно наименьшему значению идентификатора nuh_layer_id блоков NAL набора PPS, которые ссылаются на блок NAL набора SPS.
[0194] В одной из форм осуществления изобретения, когда на набор SPS с nuh_layer_id, равным m, ссылается один или более наборов PPS с nuh_layer_id, равным n, уровень с nuh_layer_id, равным m, может быть таким же, как уровень с nuh_layer_id, равным n, или (прямой или косвенный) опорный уровень с nuh_layer_id, равным m.
[0195] В одной из форм осуществления изобретения, набор PPS (RBSP) должен быть доступен процессу декодирования до того, как на него будет сделана ссылка, включен по меньшей мере в один AU с TemporalId, равным TemporalId блока NAL набора PPS, или предоставлен при помощи внешних средств.
[0196] В одной из форм осуществления изобретения набор PPS (RBSP) может быть доступен процессу декодирования до того, как на него будет сделана ссылка, включен по меньшей мере в один AU с TemporalId, равным TemporalId блока NAL набора PPS в последовательности CVS, который содержит один или более заголовков РН (или блоков NAL с кодированными слайсами), относящихся к набору PPS, или предоставленных при помощи внешних средств.
[0197] В одной из форм осуществления изобретения набор PPS (RBSP) может быть доступен процессу декодирования до того, как на него будет сделана ссылка одним или более заголовками РН (или блока NALми кодированного слайса), включенных по меньшей мере в один PU с nuh_layer_id, равным наименьшему значению nuh_layer_id блоков NAL кодированных слайсов, которые ссылаются на блок NAL набора PPS в последовательности CVS, содержащий один или более заголовков РН (или блоков NAL кодированных слайсов), относящихся к набору PPS, или предоставленных при помощи внешних средств.
[0198] В одной из форм осуществления изобретения набор PPS (RBSP) может быть доступен процессу декодирования до того, как на него будет сделана ссылка одним или более заголовками РН (или блока NALми кодированного слайса), включенных по меньшей мере в один PU с TemporalId, равным TemporalId блока NAL набора PPS, и nuh_layer_id, равным наименьшему значению nuh_layer_id для блоков NAL кодированного слайса, которые ссылаются на блок NAL набора PPS в последовательности CVS, который содержит один или более заголовков РН (или блоков NAL кодированного слайса), относящихся к набору PPS, или предоставленных при помощи внешних средств.
[0199] В той же или другой форме осуществления изобретения ph_pic_parameter_set_id в РН определяет значение pps_pic_parameter_set_id для используемого набора PPS, на который делается ссылка. Значение pps_seq_parameter_set_id может быть одинаковым во всех наборах PPS, на которые ссылаются кодированные изображения в видеопоследовательности кодированного уровня (CLVS, Coded Layer Video Sequence).
[0200] В той же или другой форме осуществления изобретения все блоки NAL PPS с конкретным значением pps_pic_parameter_set_id в PU должны иметь одинаковое содержимое.
[0201] В той же или другой форме осуществления изобретения, независимо от значений nuh_layer_id, блоки NAL набора PPS могут совместно использовать одно и то же пространство значений pps_pic_parameter_set_id.
[0202] В той же или другой форме осуществления изобретения значение nuh_layer_id блока NAL набора PPS может быть равно наименьшему значению nuh_layer_id для блоков NAL кодированного слайса, которые ссылаются на блок NAL, который ссылается на блок NAL набора PPS.
[0203] В одной из форм осуществления изобретения, когда на набор PPS с nuh_layer_id, равным m, ссылается один или более блоков NAL кодированных слайсов с nuh_layer_id, равным n, уровень с nuh_layer_id, равным m может быть таким же, как уровень с nuh_layer_id равным n, или (прямым или косвенным) опорным уровнем уровня с nuh_layer_id, равным m.
[0204] В одной из форм осуществления изобретения набор PPS (RBSP) должен быть доступен для процесса декодирования до того, как на него будет сделана ссылка, включен по меньшей мере в один AU с TemporalId, равным TemporalId блока NAL набора PPS, или предоставлен при помощи внешних средств.
[0205] В одной из форм осуществления изобретения набор PPS (RBSP) может быть доступен процессу декодирования до того, как на него будет сделана ссылка, включен по меньшей мере в один AU с TemporalId, равным TemporalId блока NAL набора PPS в последовательности CVS, который содержит один или более заголовков РН (или блоков NAL кодированного слайса), относящихся к набору PPS, или предоставленных при помощи внешних средств.
[0206] В одной из форм осуществления изобретения набор PPS (RBSP) может быть доступен процессу декодирования до того, как на него будет сделана ссылка одного или более заголовков РН (или блоков NAL кодированного слайса), включенных по меньшей мере в один PU с nuh_layer_id, равным наименьшему значению nuh_layer_id для блоков NAL кодированного слайса, которые ссылаются на блок NAL набора PPS в последовательности CVS, который содержит один или более РН (или блоков NAL кодированного слайса), относящихся к набору PPS, или предоставленных при помощи внешних средств.
[0207] В одной из форм осуществления изобретения набор PPS (RBSP) может быть доступен процессу декодирования до того, как на него будет ссылаться один или более РН (или блоков NAL кодированного слайса), включенных по меньшей мере в один PU с TemporalId, равным TemporalId блока NAL набора PPS и nuh_layer_id, равным наименьшему значению nuh_layer_id для блоков NAL кодированного слайса, которые ссылаются на блок NAL PPS в последовательности CVS, который содержит один или более заголовков РН (или блоков NAL кодированного слайса), относящиеся к набору PPS, или предоставленных при помощи внешних средств.
[0208] В той же или другой форме осуществления изобретения ph_pic_parameter_set_id в заголовке РН определяет значение pps_pic_parameter_set_id для используемого набора PPS, на который делается ссылка. Значение pps_seq_parameter_set_id может быть одинаковым во всех наборах PPS, на которые ссылаются кодированные изображения в последовательности CLVS.
[0209] В той же или другой форме осуществления изобретения все блоки NAL PPS с конкретным значением pps_pic_parameter_set_id в PU должны иметь одинаковое содержимое.
[0210] В той же или другой форме осуществления изобретения, независимо от значений nuh_layer_id, блоки NAL PPS могут совместно использовать одно и то же пространство значений pps_pic_parameter_set_id.
[0211] В той же или другой форме осуществления изобретения значение nuh_layer_id блока NAL PPS может быть равно наименьшему значению nuh_layer_id для блоков NAL кодированного слайса, ссылаются на блок NAL, который ссылается на блок NAL PPS.
[0212] В одной из форм осуществления изобретения, когда набор PPS с nuh_layer_id, равным m, на который ссылается один или более блоков NAL кодированного слайса с nuh_layer_id, равным n, уровень с nuh_layer_id, равным m, может быть таким же, как уровень с nuh_layer_id, равным n, или (прямым или косвенным) опорным уровнем для уровня с nuh_layer_id, равным m.
[0213] В одной из форм осуществления изобретения, когда флаг no_temporal_sublayer_switching_flag сигнализируется в наборах DPS, VPS или SPS, значение TemporalId PPS, относящееся к набору параметров, содержащему флаг, равный 1, может быть равно 0, в то время как значение TemporalId PPS, относящееся к набору параметров, содержащему флаг, равный 1, может быть равным или большим, чем значение TemporalId набора параметров.
[0214] В одной из форм осуществления изобретения каждый набор PPS (RBSP) может быть доступен для процесса декодирования до того, как на него будет сделана ссылка, включен по меньшей мере в один AU с TemporalId, меньшим или равным TemporalId блока NAL кодированного слайса (или блока NAL РН), который ссылается на него или предоставляется при помощи внешних средств. Когда блок NAL PPS включается в AU до AU, содержащего блок NAL кодированного слайса, ссылающегося на PPS, блок NAL VCL, разрешающий временное переключение на верхний уровень, или блок NAL VCL с nal_unit_type, равным STSA_NUT, который указывает на то, что изображение в блоке NAL VCL может быть изображением пошагового временного доступа к подуровню (STSA, Step-Wise Temporal Sublayer Access), может не присутствовать после блока NAL PPS и до блока NAL кодированного слайса, ссылающегося на APS.
[0215] В той же или другой форме осуществления изобретения блок NAL PPS и блок NAL кодированного слайса (и его блок NAL РН), ссылающиеся на PPS, могут быть включены в один и тот же AU.
[0216] В той же или другой форме осуществления изобретения блок NAL PPS и блок NAL STSA могут быть включены в один и тот же AU, который предшествует блоку NAL кодированного слайса (и его блоку NAL РН), ссылающемуся на PPS.
[0217] В той же или другой форме осуществления изобретения блок NAL STSA, блок NAL PPS и блок NAL кодированного слайса (и его блок NAL РН), ссылающиеся на PPS, могут присутствовать в одном и том же AU.
[0218] В той же форме осуществления изобретения значение TemporalId блока NAL VCL, содержащего PPS, может быть равно значению TemporalId предыдущего блока NAL STSA.
[0219] В той же форме осуществления изобретения значение порядкового номера изображения (РОС) блока NAL PPS может быть равно или больше, чем значение РОС блока NAL STSA.
[0220] В той же форме осуществления изобретения значение порядкового номера изображения (РОС) блока NAL кодированного слайса или блока NAL РН, который ссылается на блок NAL PPS, может быть равно или больше, чем значение РОС блока NAL PPS, на который ссылаются.
[0221] блоки NAL APS, независимо от значений nuh_layer_id, могут совместно использовать одни и те же пространства значений adaptation_parameter_set_id и aps_params_type.
[0222] Значение sps_video_parameter_set_id должно быть одинаковым во всех наборах SPS, на которые ссылаются кодированные изображения в последовательности CVS, в различных уровнях.
[0223] В одной из форм осуществления изобретения в семантике заголовка блока NAL текущего проекта спецификации VVC JVET-P2001 (редакционно обновленного в JVET-Q0041), значение nuh_layer_id для блоков NAL, не являющихся блоками VCL, ограничивается следующим образом: Если nal_unit_type равен PPS_NUT, PREFIX_APS_NUT или SUFFIX_APS_NUT, nuh_layer_id должен быть равен наименьшему значению nuh_layer_id для блоков NAL кодированного слайса, которые ссылаются на блок NAL. В противном случае, если nal_unit_type равен SPS_NUT, nuh_layer_id должен быть равен наименьшему значению nuh_layer_id блоков NAL PPS, которые ссылаются на блок NAL набора SPS.
[0224] Ограничения предназначены для обеспечения возможности ссылки на наборы параметров (SPS, PPS, APS) в различных уровнях так, чтобы блок NAL кодированного слайса мог / должен был ссылаться только на блок NAL PPS/APS в том же или более низком уровне, и блок NAL PPS мог / должен был ссылаться только на блок NAL набора SPS в том же или более низком уровне. Отметим, что блок NAL VCL кодированного слайса может ссылаться на блок NAL PPS/APS в неопорном уровне с заданными ограничениями. Например, на фиг. 22 показан простой пример 2200 с двумя уровнями, где значение nuh_layer_id уровня В больше, чем значение nuh_layer_id уровня А, и уровень А не является прямым/косвенным опорным уровнем уровня В. В этом случае блок NAL VCL кодированного слайса в уровне В может ссылаться на PPS/APS с nuh_layer_id, равным nuh_layer_id уровня А, потому что нет ограничений для запрета ссылки на PPS/APS в неопорном уровне. При этом nuh_layer_id PPS/APS равен наименьшему значению nuh_layer_id блоков NAL кодированного слайса, которые относятся к блоку NAL. В примере уровень А и уровень В могут принадлежать к разным наборам выходных уровней, и блоки NAL уровня А могут быть отброшены процессом извлечения битового потока, в то время как блок NAL уровня В все еще присутствует в выходном битовом потоке. Тогда блоки NAL PPS/APS, на которые ссылается блок NAL кодированного слайса уровня В, могут не присутствовать в выходном битовом потоке.
[0225] В той же или другой форме осуществления изобретения для решения вышеуказанной проблемы необходимо улучшить текущие ограничения. Предлагаемое ограничение состоит в том, что блок NAL кодированного слайса должен ссылаться только на набор PPS/APS в том же уровне или в (прямом) опорном уровне, а блок NAL PPS должен ссылаться только на набор SPS в том же уровне или в (прямом) опорном уровне. На фиг. 22, если уровень А является опорным уровнем для уровня В, оба уровня должны принадлежать одному и тому же набору (выходных) уровней и всегда должны присутствовать в извлекаемом битовом потоке. Тогда блок NAL набора SPS/PPS/APS VCL, на который ссылается блок NAL в другом уровне, никогда не удаляется.
[0226] Согласно формам осуществления изобретения, семантика заголовка блока NAL включает в себя такие особенности, что, когда блок NAL кодированного слайса относится к блоку NAL, не являющемуся блоком VCL, с nal_unit_type, равным PPS_NUT, PREFIX_APS_NUT или SUFFIX_APS_NUT, уровень блока NAL, не являющегося блоком VCL, должен быть равен уровню блока NAL кодированного слайса или прямому опорному уровню для блока NAL кодированного слайса, и, когда блок NAL PPS относится к блок NALy набора SPS, уровень блока NAL набора SPS должен быть равен уровню блока NAL PPS или прямому опорному уровню для блока NAL PPS.
[0227] Согласно формам осуществления изобретения, семантика заголовка блока NAL включает в себя такие особенности, что, когда блок NAL кодированного слайса относится к блоку NAL, не являющемуся блоком VCL, с nal_unit_type, равным PPS_NUT, PREFIX_APS_NUT или SUFFIX_APS_NUT, уровень блока NAL, не являющегося блоком VCL, должен быть равен уровню блока NAL кодированного слайса или прямому/косвенному опорному уровню для блока NAL кодированного слайса, и, когда блок NAL PPS относится к блоку NAL набора SPS, уровень блока NAL набора SPS должен быть равен уровню блока NAL PPS или прямому/косвенному опорному уровню для блока NAL PPS.
[0228] Технологии для сигнализации параметров адаптивного разрешения, описанные выше, могут быть реализованы в виде компьютерного программного обеспечения с использованием машиночитаемых команд и физически сохранены на одном или нескольких машиночитаемых носителях. Например, на фиг. 7 показана компьютерная система 700, подходящая для реализации некоторых форм осуществления раскрываемого предмета изобретения.
[0229] Компьютерное программное обеспечение может быть кодировано с использованием любого подходящего машинного кода или языка вычислительной машины, который может быть предметом трансляции, компиляции, компоновки или подобных механизмов для создания кода, содержащего команды, которые могут выполняться напрямую или посредством интерпретации, выполнения микрокода и т.п.центральными процессорами компьютера (CPU, Central Processing Unit), графическими процессорами (GPU, Graphics Processing Unit) и т.п.
[0230] Команды могут выполняться на компьютерах различных типов или их компонентах, включая, например, персональные компьютеры, планшетные компьютеры, серверы, смартфоны, игровые устройства, устройства Интернета вещей и т.п.
[0231] Компоненты, показанные на фиг. 7 для компьютерной системы 700, являются примерными по своей природе и не предназначены для предложения каких-либо ограничений в отношении объема использования или функциональных возможностей компьютерного программного обеспечения, реализующего формы осуществления настоящего изобретения. Конфигурация компонентов также не должна интерпретироваться как имеющая какую-либо зависимость или требование, относящееся к любому одному или комбинации компонентов, показанных в примере осуществления компьютерной системы 700. Компьютерная система 700 может содержать определенные устройства ввода с интерфейсом пользователя. Такое устройство ввода с интерфейсом пользователя может реагировать на ввод одним или несколькими пользователями-людьми посредством, например, тактильного ввода (например, нажатия клавиш, проведения по экрану, движения информационной перчатки), звукового ввода (например, голоса, хлопков в ладоши), визуального ввода (например: жестов), обонятельного ввода (не изображенного).
[0233] Устройства ввода интерфейса пользователя могут включать в себя одно или более из (только по одному из каждого изображенного): клавиатуры 701, мыши 702, трекпада 703, сенсорного экрана 710, информационной перчатки 704, джойстика 705, микрофона 706, сканера 707, камеры 708.
[0234] Компьютерная система 700 может также содержать определенные устройства вывода с интерфейсом пользователя. Такие устройства вывода с интерфейсом пользователя могут стимулировать чувства одного или нескольких пользователей-людей посредством, например, тактильного вывода, звука, света и запаха/вкуса. Такие устройства вывода с интерфейсом пользователя могут включать в себя тактильные устройства вывода (например, тактильную обратную связь от сенсорного экрана 710, информационной перчатки 704 или джойстика 705, но также могут быть устройствами с тактильной обратной связью, которые не служат в качестве устройств ввода), устройства звукового выхода (такие как громкоговорители 709, головные телефоны (не показанные)), устройства визуального вывода (например, экраны 710, включая экраны электронно-лучевой трубки (CRT, Cathode Ray Tube), экраны жидкокристаллического дисплея (LCD, Liquid-Crystal Display), плазменные экраны, экраны на органических светодиодах (OLED, Organic Light-Emitting Diode), каждое с возможностью сенсорного ввода или без нее, каждое с возможностью тактильной обратной связи или без нее; - некоторые из них могут быть способны выполнять двухмерный визуальный вывод или более чем трехмерный вывод с помощью таких средств, как стереографический вывод; очки виртуальной реальности (не изображенные), голографические дисплеи, дымовые баки (не изображенные) и принтеры (не изображенные).
[0235] Компьютерная система 700 также может содержать доступные пользователю устройства хранения данных и связанные с ними носители, такие как оптические средства включая средства 720 только для чтения (ROM, Read Only Memory)/для чтения и многократной записи (RW, Read and Write) с компакт-дисками (CD, Compact Disk)/цифровыми универсальными дисками (DVD, Digital Versatile Disc) или тому подобные носители 721, флэш-накопитель 722, съемный жесткий диск или твердотельный накопитель 723, традиционные магнитные носители, такие как лента и дискета (не показаны), специализированные устройства на основе постоянных запоминающих устройств (Read Only Memory ROM/специализированных интегральных схем (ASIC, Application-Specific Integrated С1 гсип)/программируемых логических интегральных схем (PLD, Programmable Logic Device), такие как защитные ключи (не показанные) и т.п.
[0236] Специалисты в данной области техники также должны понимать, что термин "машиночитаемый носитель", используемый в связи с раскрываемым в настоящее время предметом изобретения, не охватывает среды передачи, несущие волны или другие временные сигналы.
[0237] Компьютерная система 700 также может содержать интерфейс к одной или более сетям 755 связи. Сети 755 могут быть, например, беспроводными, проводными, оптическими. Сети 755 дополнительно могут быть локальными, глобальными, городскими, автомобильными и промышленными, работающими в реальном времени, устойчивыми к задержкам и так далее. Примеры сетей 755 включают в себя локальные сети, такие как Ethernet, беспроводные локальные сети (LAN, Local Area Network), сотовые сети, включая глобальную систему мобильной связи (GSM, Global System for Mobile communications), сети связи третьего поколения 3G, 3-rd Generation), сети связи четвертого поколения (4G, 4-th Generation), сети связи пятого поколения 5G, 5-th Generation), сеть связи по технологии долгосрочной эволюции (LTE, Long-Term Evolution) и т.п., телевизионные (TV, Television) проводные или беспроводные глобальные цифровые сети, включая кабельное телевидение (TV), спутниковое телевидение (TV) и наземное телевещание, автомобильное и промышленное, включая локальную сеть контроллеров (CANBus, Controller Area Network Bus) и т.д. Некоторым сетям 755 обычно требуются адаптеры 754 внешнего сетевого интерфейса, которые подключены к определенным портам данных общего назначения или периферийным шинам 749 (таким как, например, порты универсальной последовательной шины (USB, Universal Serial Bus) компьютерной системы 700; другие обычно интегрируются в ядро компьютерной системы 700 путем подключения к системной шине, как описано ниже (например, интерфейс Ethernet в компьютерную систему персональных компьютеров (PC, Personal Computer) или интерфейс сотовой сети в компьютерную систему смартфона). Используя любую из этих сетей 755, компьютерная система 700 может связываться с другими объектами. Такая связь может быть однонаправленной, только для приема (например, широковещательное TV), однонаправленной только для передачи (например, CANbus к определенным устройствам CANbus) или двунаправленной, например, с другими компьютерными системами, использующими локальные или глобальные цифровые сети. Определенные протоколы и стеки протоколов могут использоваться в каждой из этих сетей 755 и сетевых интерфейсах 754, как описано выше.
[0238] Вышеупомянутые устройства интерфейса пользователя, доступные пользователю устройства хранения данных и сетевые интерфейсы 754 могут быть присоединены к ядру 740 компьютерной системы 700.
[0239] Ядро 740 может содержать один или более центральных процессоров (CPU, Central Processing Unit) 741, графических процессоров (GPU, Graphics Processing Unit) 742, специализированных программируемых блоков обработки в виде программируемых пользователем матриц 743 логических элементов (FPGA, Field Programmable Gate Area), аппаратных ускорителей 744 для определенных задач и т.д. Эти устройства, наряду с постоянным запоминающим устройством (ROM, Read-Only Memory) 745, оперативным запоминающим устройством (RAM, Random-Access Memory)746, графическим адаптером 750, внутренним запоминающим устройством 747 большой емкости, таким как внутренние жесткие диски, не доступные пользователю, твердотельные накопители (SSD, Solid State Drive) и т.п., могут быть подключены через системную шину 748. В некоторых компьютерных системах системная шина 748 может быть доступна в форме одного или нескольких физических разъемов для обеспечения возможности расширения с помощью дополнительных процессоров, графических процессоров и т.п. Периферийные устройства могут быть подключены либо непосредственно к системной шине 748 ядра, либо через периферийную шину 749. Архитектуры периферийной шины включают шину ввода-вывода для подключения периферийных устройств PCI (Peripheral Component Interconnect), USB и т.п.
[0240] Процессоры CPU 741, GPU 742, матрицы FPGA 743 и ускорители 744 могут выполнять определенные команды, которые в комбинации могут составлять вышеупомянутый машинный код. Этот машинный код может храниться в ROM 745 или RAM 746. Временные данные также могут храниться в RAM 746, тогда как постоянные данные могут храниться, например, во внутреннем запоминающем устройстве 747 большой емкости. Возможность быстрого запоминания и выборки для любого из запоминающих устройств может быть обеспечена посредством использования кэш-памяти, которая может быть тесно связана с одним или более процессорами CPU 741, GPU 742, запоминающим устройством 747 большой емкости, памятью ROM 745, запоминающим устройством RAM 746 и т.п.
[0241] Машиночитаемый носитель может содержать компьютерный код для выполнения различных операций, реализуемых компьютером. Носители и компьютерный код могут быть специально спроектированными и сконструированными для целей настоящего изобретения, или они могут быть хорошо известными и доступными для специалистов в области компьютерного программного обеспечения.
[0242] В качестве примера, а не в качестве ограничения, компьютерная система, имеющая архитектуру 700, и, в частности, ядро 740, может обеспечивать функциональные возможности в результате выполнения процессором(-и) (включая процессоры CPU, GPU, матрицы FPGA, ускорители и т.п.) программного обеспечения, воплощенного на одном или нескольких материальных, машиночитаемых носителях. Такие машиночитаемые носители могут быть носителями, связанными с доступным для пользователя запоминающим устройством большой емкости, как описано выше, а также определенными запоминающими устройствами ядра 740, которые имеют энергонезависимый характер, такими как внутреннее запоминающее устройство 747 большой емкости или ROM 745. Программное обеспечение, реализующее различных формы осуществления настоящего изобретения, может храниться в таких устройствах и выполняться ядром 740. Машиночитаемый носитель может включать в себя одно или несколько запоминающих устройств или интегральных схем в соответствии с конкретными потребностями. Программное обеспечение может заставлять ядро 740 и, в частности, процессоры в нем (включая процессоры CPU, GPU, матрицу FPGA и т.п.) выполнять определенные процессы или определенные части конкретных процессов, описанных в данном документе, включая определение структур данных, хранящихся в RAM 746, и изменение таких структур данных в соответствии с процессами, определяемыми программным обеспечением. Вдобавок или в качестве альтернативы компьютерная система может обеспечивать функциональные возможности в результате логики, встроенной в аппаратную схему или иным образом воплощенной в схеме (например, ускоритель 744, которая может работать вместо или вместе с программным обеспечением для выполнения определенных процессов или определенных частей конкретных процессов, описанных здесь. Ссылка на программное обеспечение может включать в себя логику и наоборот, где это уместно. Ссылка на машиночитаемый носитель может охватывать схему (например, интегральную схему (IC, Integrated Circuit), хранящую программное обеспечение для выполнения, схему, воплощающую логику для выполнения, или и то, и другое, где это необходимо. Настоящее изобретение охватывает любую подходящую комбинацию аппаратного и программного обеспечения.
[0243] Хотя в данном раскрытии описаны несколько примеров осуществления изобретения, существуют изменения, перестановки и различные заменяющие эквиваленты, которые входят в объем изобретения. Таким образом, следует иметь ввиду, что специалисты в данной области техники смогут разработать многочисленные системы и способы, которые, хотя явно не показаны или не описаны здесь, воплощают принципы изобретения и, таким образом, находятся в пределах его сущности и объема.