СПОСОБ ВЫВОДА ИЗОБРАЖЕНИЯ С НАБОРОМ ВЫХОДНЫХ СЛОЕВ Российский патент 2023 года по МПК H04N19/70 H04N19/30 H04N19/593 

Описание патента на изобретение RU2804274C1

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ

[0001] Данная заявка испрашивает приоритет предварительной заявки на патент США №62/966,127, поданной 27 января 2020 г., и заявки на патент США №17/063937, поданной 6 октября 2020 г., которые полностью включены в настоящий документ.

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

[0002] Варианты осуществления настоящего изобретения относятся к кодированию и декодированию видео, а более конкретно, к выводу изображения с набором выходных слоев.

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

[0003] Кодирование и декодирование видео с использованием интер-кадрового предсказания с компенсацией движения использовалось ранее. Несжатое цифровое видео может включать в себя серию изображений, при этом каждое изображение имеет пространственный размер, например, 1920x1080 отсчетов сигнала яркости и связанных отсчетов сигнала цветности. Серия изображений может иметь фиксированную или переменную частоту изображения (в разговорной речи также известную как частота кадров), например, 60 изображений в секунду или 60 Гц. Несжатое видео имеет значительные требования к битрейту. Например, для видео 1080р60 4:2:0 с частотой 8 бит на отсчет (разрешение отсчета сигнала яркости 1920x1080 при частоте кадров 60 Гц) требуется полоса пропускания, близкая к 1,5 Гбит/с. Час такого видео требует более 600 ГБ пространства памяти.

[0004] Одной из целей кодирования и декодирования видео может быть уменьшение избыточности входного видеосигнала посредством сжатия. Сжатие может помочь снизить вышеупомянутые требования к пропускной способности или пространству памяти, в некоторых случаях на два порядка или более. Могут использоваться как сжатие без потерь, так и сжатие с потерями, а также их комбинация. Сжатие без потерь относится к технологиям, в которых из сжатого исходного сигнала может быть восстановлена точная копия исходного сигнала. При использовании сжатия с потерями восстановленный сигнал может не быть идентичным исходному сигналу, но искажение между исходным и восстановленным сигналами может быть достаточно мало, чтобы сделать восстановленный сигнал пригодным для предполагаемого применения. В случае видео широко используется сжатие с потерями. Допустимая степень искажения зависит от приложения; например, для пользователей определенных потребительских стриминговых приложений допустимы более высокие искажения, чем для пользователей приложений вещательного телевидения. Достижимая степень сжатия может отражать следующее: более высокое допустимое/приемлемое искажение может давать более высокую степень сжатия.

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

[0006] Раньше видеокодеры и декодеры имели тенденцию работать с заданным размером изображения, который в большинстве случаев был определен и оставался постоянным для кодированной видеопоследовательности (CVS), группы изображений (GOP) или аналогичного временного кадра с несколькими изображениями. Например, в MPEG-2 конструкции системы использовались для изменения горизонтального разрешения (и, следовательно, размера изображения) в зависимости от таких факторов, как активность сцены, но только для I изображений, следовательно, обычно для GOP. Повторное сэмплирование опорных изображений для использования различных разрешений в CVS использовалась, например, в Рекомендации МСЭ-Т Rec. Н.263 Приложение Р. Однако здесь размер изображения не изменяется, только опорные изображения подвергаются повторной дискретизации, в результате чего могут использоваться только части холста изображения (в случае понижающего сэмплирования) или только части захватываемой сцены (в случае повышающего сэмплирования). Кроме того, Приложение Q Н.263 разрешает повторное сэмплирование отдельного макроблока с коэффициентом два (в каждом измерении), в сторону увеличения или уменьшения. Опять же размер изображения остается прежним. Размер макроблока фиксирован в Н.263, и поэтому не нужно сигнализировать.

[0007] Изменение размера изображения в предсказанных изображениях стало более распространенным явлением в современном кодировании видео. Например, VP9 позволяет выполнять повторное сэмплирование опорного изображения и изменять разрешение для всего изображения. Аналогично, некоторые предложения, сделанные в отношении VVC (включая, например, Hendry, et al., «Об изменении адаптивного разрешения (ARC) для VVC», документ Joint Video Team JVET-M0135-vl, 9-18 января 2019 г., полностью включенный в настоящий документ) позволяют выполнять повторное сэмплирование целых опорных изображений с другим - более высоким или более низким - разрешением. В таком документе предлагается кодировать различные варианты разрешения в наборе параметров последовательности и ссылаться на них с помощью элементов синтаксиса для каждого изображения в наборе параметров изображения.

РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ

[0008] В последнее время некоторое внимание привлекла агрегация сжатой области или извлечение множества семантически независимых частей изображения в одно видеоизображение. В частности, в контексте, например, кодирования 360 или определенных приложений наблюдения, несколько семантически независимых исходных изображений (например, поверхность шести кубов проектируемой кубом сцены 360 или входы отдельных камер в случае многокамерного наблюдения setup) могут потребоваться отдельные настройки адаптивного разрешения, чтобы справиться с различной активностью каждой сцены в данный момент времени. Другими словами, кодеры в данный момент времени могут выбрать использование разных коэффициентов повторного сэмплирования для разных семантически независимых изображений, составляющих всю 360-градусную сцену или сцену наблюдения. Когда независимые изображения объединяются в одно изображение, возникает необходимость в выполнении повторного сэмплирования опорного изображения и доступности сигналов кодирования с адаптивным разрешением для частей кодированного изображения.

[0009] Варианты осуществления настоящего изобретения могут удовлетворить указанную выше потребность и/или решить другие проблемы.

[0010] Согласно одному или нескольким вариантам осуществления предложен способ, выполняемый по меньшей мере одним процессором. Способ включает в себя: прием кодированного видеопотока, включающего видеоданные, разделенные на множество слоев; и декодирование видеоданных кодированного видеопотока, при этом декодирование включает в себя: определение того, должно ли выводиться первое изображение кодированного видеопотока, на основе элемента синтаксиса, который указывает режим сигнализации набора выходных слоев.

[0011] Согласно варианту осуществления, определение включает в себя определение того, что первое изображение не должно выводиться, на основе элемента синтаксиса, указывающего режим сигнализации набора выходных слоев, причем режим включает следующее: общее количество наборов выходных слоев, заданное набором параметров равно максимально допустимому количеству слоев в каждой кодированной видеопоследовательности кодированного видеопотока, относящегося к набору параметров, i-й набор выходных слоев из наборов выходных слоев включает в себя слои с индексами слоев от 0 до i включительно, и для каждого набора выходных слоев из числа наборов выходных слоев должен выводиться только самый высокий слой в наборе выходных слоев.

[0012] Согласно варианту осуществления элемент синтаксиса имеет значение 0, чтобы указать режим сигнализации набора выходных слоев.

[0013] Согласно варианту осуществления набор параметров представляет собой набор параметров видео.

[0014] Согласно варианту осуществления определение включает в себя определение того, что первое изображение не должно выводиться на основе: элемента синтаксиса, указывающего режим сигнализации набора выходных слоев, второго изображения, которое принадлежит тому же блоку доступа, что и первое изображение, указываемого как подлежащее выводу, второе изображение принадлежит более высокому слою, чем первое изображение, и второе изображение принадлежит выходному слою.

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

[0016] Согласно варианту осуществления элемент синтаксиса имеет значение 2, чтобы указать режим сигнализации набора выходных слоев.

[0017] Согласно варианту осуществления набор параметров представляет собой набор параметров видео.

[0018] Согласно варианту осуществления определение включает в себя определение того, что первое изображение не должно выводиться на основе: элемента синтаксиса, указывающего режим сигнализации набора выходных слоев, значения идентификатора набора параметров, превышающего 0, и второго изображения, которое принадлежит тому же блоку доступа, что и первое изображение, и обозначенного как не принадлежащее какому-либо выходному слою.

[0019] Согласно варианту осуществления определение включает в себя определение, что первое изображение должно быть выведено.

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

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

[0022] Согласно варианту осуществления элемент синтаксиса имеет значение 0, чтобы указать режим сигнализации набора выходных слоев.

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

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

[0025] Согласно варианту осуществления элемент синтаксиса имеет значение 2, чтобы указать режим сигнализации набора выходных слоев.

[0026] Согласно варианту осуществления набор параметров представляет собой набор параметров видео.

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

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

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

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

[0030] На фиг. 1 показана схематическая иллюстрация упрощенной блок-схемы системы связи в соответствии с вариантом осуществления.

[0031] На фиг. 2 показана схематическая иллюстрация упрощенной блок-схемы системы связи в соответствии с вариантом осуществления.

[0032] На фиг. 3 показана схематическая иллюстрация упрощенной блок-схемы декодера в соответствии с вариантом осуществления.

[0033] На фиг. 4 показана схематическая иллюстрация упрощенной блок-схемы кодера в соответствии с вариантом осуществления.

[0034] На фиг. 5А показана схематическая иллюстрация первой конфигурации для сигнализации параметров ARC в соответствии с вариантом осуществления уровня техники.

[0035] На фиг. 5В показана схематическая иллюстрация второй конфигурации для сигнализации параметров ARC в соответствии с вариантом осуществления уровня техники.

[0036] На фиг. 6А показана схематическая иллюстрация первой конфигурации для сигнализации параметров ARC в соответствии с вариантом осуществления.

[0037] На фиг. 6В показана схематическая иллюстрация второй конфигурации для сигнализации параметров ARC в соответствии с вариантом осуществления.

[0038] На фиг. 6С показана схематическая иллюстрация третьей конфигурации для сигнализации параметров ARC в соответствии с вариантом осуществления.

[0039] На фиг. 7А показана схематическая иллюстрация отрывка из заголовка группы мозаичных элементов в соответствии с вариантом осуществления.

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

[0041] На фиг. 8 показан пример структуры предсказания для масштабируемости с адаптивным изменением разрешения.

[0042] На фиг. 9А показан пример таблицы синтаксиса в соответствии с вариантом осуществления.

[0043] На фиг. 9В иллюстрирует пример таблицы синтаксиса в соответствии с вариантом осуществления.

[0044] На фиг. 10 показана схематическая иллюстрация упрощенной блок-схемы синтаксического анализа и декодирования цикла РОС на единицу доступа и значение счетчика единиц доступа в соответствии с вариантом осуществления.

[0045] На фиг. 11 показана схематическая иллюстрация структуры видеобитового потока, содержащей многослойные субизображения, в соответствии с вариантом осуществления.

[0046] На фиг. 12 показана схематическая иллюстрация отображения выбранного субизображения с улучшенным разрешением в соответствии с вариантом осуществления.

[0047] На фиг. 13 показана блок-схема процесса декодирования и отображения битового видеопотока, содержащего многослойные субизображения, в соответствии с вариантом осуществления.

[0048] На фиг. 14 показана схематическая иллюстрация отображения видео 360° с улучшающим слоем субизображения в соответствии с вариантом осуществления.

[0049] На фиг. 15А показан пример компоновки разделенных субизображений в соответствии с вариантом осуществления.

[0050] На фиг. 15В показан пример соответствующего размера субизображения и информации о положении одного субизображения в соответствии с вариантом осуществления.

[0051] На фиг. 16 показана соответствующая структура предсказания изображения для субизображений с фиг. 15А-В.

[0052] На фиг. 17 показан пример входного изображения, разделенного на множество субобластей, которые могут быть закодированы одним или несколькими слоями в соответствии с вариантом осуществления.

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

[0054] На фиг. 19А показана схематическая иллюстрация отрывка из набора параметров видео в соответствии с вариантом осуществления.

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

[0056] На фиг. 20 показан пример таблицы синтаксиса для информации компоновки субизображения в соответствии с вариантом осуществления.

[0057] На фиг. 21 показан пример таблицы синтаксиса для указания выходных слоев и информации профиля/ступени/уровня для каждого набора выходных слоев согласно варианту осуществления.

[0058] На фиг. 22 показан пример таблицы синтаксиса, чтобы указать режим выходного слоя для каждого набора выходных слоев согласно варианту осуществления.

[0059] На фиг. 23 показан пример таблицы синтаксиса для указания текущего субизображения каждого слоя для каждого набора выходных слоев.

[0060] На фиг. 24 показана схема декодера согласно варианту осуществления.

[0061] На фиг. 25 показана схема компьютерной системы, подходящей для реализации вариантов осуществления.

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

[0062] Фиг. 1 иллюстрирует упрощенную блок-схему системы связи (100) согласно варианту осуществления настоящего изобретения. Система (100) может включать в себя по меньшей мере два терминала (110, 120), соединенных между собой через сеть (150). Для однонаправленной передачи данных первый терминал (110) может кодировать видеоданные в локальном местоположении для передачи другому терминалу (120) через сеть (150). Второй терминал (120) может принимать кодированные видеоданные другого терминала из сети (150), декодировать кодированные данные и отображать восстановленные видеоданные. Однонаправленная передача данных может быть обычным явлением в приложениях обслуживания мультимедиа и т.п.

[0063] Фиг. 1 иллюстрирует вторую пару терминалов (130, 140), обеспечивающих поддержку двунаправленной передачи кодированного видео, которая может происходить, например, во время видеоконференцсвязи. Для двунаправленной передачи данных каждый терминал (130, 140) может кодировать видеоданные, захваченные в локальном местоположении, для передачи на другой терминал через сеть (150). Каждый терминал (130, 140) также может принимать кодированные видеоданные, переданные другим терминалом, может декодировать кодированные данные и может отображать восстановленные видеоданные на локальном устройстве отображения.

[0064] На фиг. 1 терминалы (110-140) могут быть проиллюстрированы как серверы, персональные компьютеры и смартфоны и/или любой другой тип терминала. Например, терминалы (110-140) могут быть портативными компьютерами, планшетными компьютерами, медиаплеерами и/или специализированным оборудованием для видеоконференцсвязи. Сеть (150) представляет любое количество сетей, которые передают кодированные видеоданные между терминалами (110-140), включая, например, сети проводной и/или беспроводной связи. Сеть связи (150) может обмениваться данными в каналах с коммутацией каналов и/или с коммутацией пакетов. Типичные сети включают телекоммуникационные сети, локальные сети, глобальные сети и/или Интернет. Для настоящего описания архитектура и топология сети (150) могут быть несущественными для работы настоящего изобретения, если это не объясняется в данном документе ниже.

[0065] Фиг. 2 иллюстрирует, в качестве примера приложения для раскрытого изобретения, размещение видеокодера и декодера в потоковой среде. Раскрытый предмет изобретения может быть в равной степени применим к другим приложениям с поддержкой видео, включая, например, видеоконференцсвязь, цифровое телевидение, хранение сжатого видео на цифровых носителях, включая CD, DVD, карту памяти и т.п., и так далее.

[0066] Как показано на фиг. 2, потоковая система (200) может включать в себя субсистему (213) захвата, которая может включать в себя видеоисточник (201) и кодер (203). Источником видео (201) может быть, например, цифровая камера, и он может быть конфигурирован для создания несжатого потока (202) отсчетов видео. Несжатый поток (202) отсчетов видео может обеспечивать большой объем данных по сравнению с кодированными потоками битов видео и может обрабатываться кодером (203), подключенным к камере (201). Кодер (203) может включать в себя аппаратное обеспечение, программное обеспечение или их комбинацию, чтобы задействовать или реализовать аспекты раскрытого предмета изобретения, как более подробно описано ниже. Кодированный поток битов видео (204) может включать в себя меньший объем данных по сравнению с потоком отсчетов и может быть сохранен на сервере потоковой передачи (205) для использования в будущем. Один или несколько клиентов (206) потоковой передачи могут получить доступ к серверу (205) потоковой передачи для извлечения потоков (209) видеобитов, которые могут быть копиями закодированного потока (204) видеобитов.

[0067] В вариантах осуществления потоковый сервер (205) также может функционировать как медиа-информационный сетевой элемент (MANE). Например, потоковый сервер (205) может быть конфигурирован для сокращения кодированного битового потока видео (204) для адаптации потенциально разных битовых потоков к одному или нескольким потоковым клиентам (206). В вариантах осуществления MANE может быть предоставлен отдельно от потокового сервера (205) в потоковой системе (200).

[0068] Клиенты потоковой передачи (206) могут включать в себя видеодекодер (210) и дисплей (212). Видеодекодер (210) может, например, декодировать поток (209) битов видео, который является входящей копией закодированного потока (209) битов видео, и создавать исходящий поток (211) отсчетов видео, который может отображаться на дисплее (212) или другом устройстве визуализации (не показано). В некоторых потоковых системах потоки (204, 209) видеобитов могут кодироваться в соответствии с определенными стандартами кодирования/сжатия видео. Примеры таких стандартов включают, помимо прочего, Рекомендацию ITU-T Н.265. В стадии разработки находится стандарт кодирования видео, неофициально известный как универсальное кодирование видео (VVC). Варианты осуществления изобретения могут использоваться в контексте VVC.

[0069] На фиг. 3 показана примерная функциональная блок-схема видеодекодера (210), который присоединен к дисплею (212) согласно варианту осуществления настоящего изобретения.

[0070] Видеодекодер (210) может включать в себя канал (312), приемник (310), буферную память (315), энтропийный декодер/анализатор (320), блок (351) масштабирования/обратного преобразования, блок (352) интра-предсказания, блок (353) предсказания компенсации движения, агрегатор (355), блок (356) контурного фильтра, память (357) опорных изображений и память () текущего изображения. По меньшей мере, в одном варианте осуществления видеодекодер (210) может включать в себя интегральную схему, ряд интегральных схем и/или другие электронные схемы. Видеодекодер (210) также может быть частично или полностью реализован в виде программного обеспечения, работающего на одном или нескольких ЦП с ассоциированной памятью.

[0071] В этом варианте осуществления и других вариантах осуществления приемник (310) может принимать одну или несколько кодированных видеопоследовательностей для декодирования декодером (210) по одной кодированной видеопоследовательности за раз, где декодирование каждой кодированной видеопоследовательности не зависит от других закодированных видеопоследовательностей. Кодированная видеопоследовательность может быть принята из канала (312), который может быть аппаратной/программной связью с устройством хранения, в котором хранятся кодированные видеоданные. Приемник (310) может принимать кодированные видеоданные вместе с другими данными, например, кодированными аудиоданными и/или потоками вспомогательных данных, которые могут быть перенаправлены их соответствующим объектам использования (не изображены). Приемник (310) может отделять кодированную видеопоследовательность от других данных. Для борьбы с дрожанием в сети буферная память (315) может быть присоединена между приемником (310) и энтропийным декодером/анализатором (320) (далее «синтаксический анализатор»). Когда приемник (310) принимает данные от устройства хранения/пересылки с достаточной полосой пропускания и управляемости, или из изосинхронной сети, буфер (315) может не использоваться или может быть небольшим. Для использования в пакетных сетях наилучшего качества, таких как Интернет, может потребоваться буфер (315), он может быть сравнительно большим и может иметь адаптивный размер.

[0072] Видеодекодер (210) может включать в себя синтаксический анализатор (320) для восстановления символов (321) из энтропийной кодированной видеопоследовательности. Категории этих символов включают в себя, например, информацию, используемую для управления работой декодера (210), и потенциально информацию для управления устройством визуализации, например дисплеем (212), которое может быть подключено к декодеру, как показано на фиг. 2. Управляющая информация для устройства (устройств) визуализации может быть в форме, например, сообщений дополнительной улучшающей информации (SEI) или мозаичных элементов набора параметров информации о пригодности видео (VUI) (не изображены). Синтаксический анализатор (320) может анализировать/энтропийно декодировать принятую кодированную видеопоследовательность. Кодирование кодированной видеопоследовательности может осуществляться в соответствии с технологией или стандартом видеокодирования и может следовать принципам, хорошо известным специалистам в данной области техники, включая кодирование переменной длины, кодирование Хаффмана, арифметическое кодирование с контекстной чувствительностью или без нее и так далее. Синтаксический анализатор (320) может извлекать из кодированной видеопоследовательности набор параметров подгруппы по меньшей мере для одной из подгрупп пикселей в видеодекодере на основе по меньшей мере одного параметра, соответствующего группе. Подгруппы могут включать в себя группы изображений (GOP), изображения, мозаичные элементы, срезы, макроблоки, единицы кодирования (CU), блоки, единицы преобразования (TU), единицы предсказания (PU) и так далее. Синтаксический анализатор (320) также может извлекать из кодированной видеопоследовательности информацию, такую как коэффициенты преобразования, значения параметров квантователя, векторы движения и так далее.

[0073] Синтаксический анализатор (320) может выполнять операцию энтропийного декодирования/синтаксического анализа видеопоследовательности, принятой из буфера (315), таким образом, чтобы создавать символы (321).

[0074] Реконструкция символов (321) может включать в себя несколько различных блоков в зависимости от типа кодированного видеоизображения или его частей (таких как: интер- и интра-изображение, интер- и интра-блок) и других факторов. Какие блоки задействованы и как они задействованы, можно контролировать с помощью управляющей информации подгруппы, которая была проанализирована из кодированной видеопоследовательности анализатором (320). Поток такой информации управления подгруппой между анализатором (320) и множеством блоков ниже не показан для ясности.

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

[0076] Один блок может быть блоком масштабирования/обратного преобразования (351). Блок масштабирования/обратного преобразования (351) может принимать квантованный коэффициент преобразования, а также информацию управления, включая то, какое преобразование использовать, размер блока, коэффициент квантования, матрицы масштабирования квантования и т.д. В виде символа(ов) (321) от анализатора (320). Блок масштабирования/обратного преобразования (351) может выводить блоки, содержащие значения отсчетов, которые могут быть введены в агрегатор (355).

[0077] В некоторых случаях выходные отсчеты масштабатора/обратного преобразования (351) могут относиться к интра-кодированному блоку; то есть: блок, который не использует информацию предсказания из ранее восстановленных изображений, но может использовать информацию предсказания из ранее восстановленных частей текущего изображения. Такая информация предсказания может быть предоставлена блоком предсказания интра-изображения (352). В некоторых случаях блок (352) интра-предсказания изображения генерирует блок того же размера и формы, что и восстанавливаемый блок, используя окружающую уже восстановленную информацию, извлеченную из текущего (частично восстановленного) изображения из памяти текущего изображения (358). Агрегатор (355) в некоторых случаях добавляет для каждого отсчета информацию предсказания, сгенерированную блоком интра-предсказания (352), к информации выходных отсчетов, предоставляемой блоком масштабирования/обратного преобразования (351).

[0078] В других случаях выходные отсчеты блока масштабирования/обратного преобразования (351) могут относиться к интра-кодированному блоку и, возможно, блоку с компенсацией движения. В таком случае блок (353) предсказания с компенсацией движения может обращаться к памяти (357) опорных изображений для сэмплирования отсчетов, используемых для предсказания. После компенсации движения выбранных отсчетов в соответствии с символами (321), относящимися к блоку, эти отсчеты могут быть добавлены агрегатором (355) к выходу блока масштабирования/обратного преобразования (351) (в этом случае называемого остаточными отсчетами или остаточным сигналом), чтобы сгенерировать информацию о выходных отсчетах. Адреса в памяти (357) опорных изображений, из которых блок предсказания компенсации движения (353) выбирает отсчеты предсказания, могут управляться векторами движения. Векторы движения могут быть доступны блоку (353) предсказания компенсации движения в форме символов (321), которые могут иметь, например, компоненты X, Y и опорного изображения. Компенсация движения также может включать в себя интерполяцию значений отсчетов, извлеченных из памяти (357) опорных изображений, когда используются точные векторы движения суботсчета, механизмы предсказания вектора движения и так далее.

[0079] Выходные отсчеты агрегатора (355) могут подвергаться различным методам контурной фильтрации в блоке (356) контурного фильтра. Технологии сжатия видео могут включать в себя технологии внутриконтурной фильтрации, которые управляются параметрами, включенными в кодированный битовый поток видео и предоставляемыми блоку контурного фильтра (356) в виде символов (321) из анализатора (320), но также могут реагировать на метаинформация, полученная во время декодирования предыдущих (в порядке декодирования) частей кодированного изображения или кодированной видеопоследовательности, а также в ответ на ранее восстановленные и отфильтрованные по петле значения отсчетов.

[0080] Выходом блока контурного фильтра (356) может быть поток отсчетов, который может быть выведен на устройство рендеринга, такое как дисплей (212), а также сохранен в памяти опорных изображений (357) для использования в будущем между интер-предсказании изображений.

[0081] Определенные кодированные изображения после полного восстановления могут использоваться в качестве опорных изображений для будущего предсказания. После того, как кодированное изображение полностью восстановлено, и кодированное изображение было идентифицировано как опорное изображение (например, анализатором (320)), текущее опорное изображение может стать частью памяти опорных изображений (357), а новая текущая память изображений может быть перераспределена перед началом восстановления следующего кодированного изображения.

[0082] Видеодекодер (210) может выполнять операции декодирования согласно заранее определенной технологии сжатия видео, которая может быть задокументирована в стандарте, таком как ITU-T Rec. Н.265 Кодированная видеопоследовательность может соответствовать синтаксису, заданному используемой технологией или стандартом сжатия видео, в том смысле, что она соответствует синтаксису технологии или стандарта сжатия видео, как указано в документе или стандарте технологии сжатия видео и, в частности, в документе профилей в нем. Кроме того, для соответствия некоторым технологиям или стандартам сжатия видео сложность кодированной видеопоследовательности может находиться в пределах, определенных уровнем технологии или стандарта сжатия видео. В некоторых случаях уровни ограничивают максимальный размер изображения, максимальную частоту кадров, максимальную частоту дискретизации восстановления (измеряемую, например, в мегаотсчетах в секунду), максимальный размер эталонного изображения и так далее. Пределы, установленные уровнями, в некоторых случаях могут быть дополнительно ограничены с помощью спецификаций гипотетического эталонного декодера (HRD) и метаданных для управления буфером HRD, передаваемых в кодированной видео последовательности.

[0083] В варианте осуществления приемник (310) может принимать дополнительные (избыточные) данные с кодированным видео. Дополнительные данные могут быть включены как часть кодированной видеопоследовательности (ей). Дополнительные данные могут использоваться видеодекодером (210) для правильного декодирования данных и/или для более точного восстановления исходных видеоданных. Дополнительные данные могут быть в форме, например, временных, пространственных слоев или улучшающих слоев SNR, избыточных срезов, избыточных изображений, кодов прямого исправления ошибок и так далее.

[0084] Фиг. 4 иллюстрирует примерную функциональную блок-схему видеокодера (203), связанного с источником (201) видео, согласно варианту осуществления настоящего изобретения.

[0085] Видеокодер (203) может включать в себя, например, кодер, который является исходным кодером (430), механизм кодирования (432), (локальный) декодер (433), память опорных изображений (434), предсказатель (435), передатчик (440), энтропийный кодер (445), контроллер (450) и канал (460).

[0086] Кодер (203) может принимать отсчеты видео от источника видео (201) (который не является частью кодера), который может захватывать видеоизображение (я) для кодирования кодером (203).

[0087] Источник видеосигнала (201) может предоставить исходную видеопоследовательность для кодирования кодером (203) в форме потока дискретных цифровых видеосигналов, который может иметь любую подходящую битовую глубину (например: 8 бит, 10 бит, 12 бит, …), любое цветовое пространство (например, ВТ.601 Y CrCB, RGB, …) и любую подходящую структуру сэмплирования (например, Y CrCb 4:2:0, Y CrCb 4:4:4). В системе обслуживания мультимедиа источник видео (201) может быть запоминающим устройством, хранящим заранее подготовленное видео. В системе видеоконференцсвязи видеоисточник (203) может быть камерой, которая фиксирует информацию о локальном изображении в виде видеопоследовательности. Видеоданные могут быть предоставлены как множество отдельных изображений, которые при последовательном просмотре передают движение. Сами изображения могут быть организованы как пространственный массив пикселей, в котором каждый пиксель может содержать один или несколько отсчетов в зависимости от используемой структуры сэмплирования, цветового пространства и т.д. Специалист в данной области техники может легко понять взаимосвязь между пикселями и отсчетами. Описание ниже сфокусировано на отсчетах.

[0088] Согласно варианту осуществления кодер (203) может кодировать и сжимать изображения исходной видеопоследовательности в кодированную видеопоследовательность (443) в реальном времени или с любыми другими временными ограничениями, как того требует приложение. Обеспечение соответствующей скорости кодирования - одна из функций контроллера (450). Контроллер (450) может также управлять другими функциональными блоками, как описано ниже, и может быть функционально связан с этими блоками. Соединение не изображено для ясности. Параметры, установленные контроллером (450), могут включать в себя параметры, относящиеся к управлению скоростью (пропуск изображения, квантователь, значение лямбда методов оптимизации скорости-искажения, …), размер изображения, макет группы изображений (GOP), максимальный диапазон поиска вектора движения и так далее. Специалист в данной области техники может легко определить другие функции контроллера (450), поскольку они могут относиться к видеокодеру (203), оптимизированному для определенной конструкции системы.

[0089] Некоторые видеокодеры работают в том, что специалист в данной области легко распознает как «цикл кодирования». В качестве упрощенного описания цикл кодирования может состоять из кодирующей части исходного кодера (430) (ответственного за создание символов на основе входного изображения, которое должно быть кодировано, и опорного изображения (изображений)), и (локального) декодера (433), встроенного в кодер (203), который восстанавливает символы для создания данных отсчетов, которые (удаленный) декодер также будет создавать, когда сжатие между символами и кодированным битовым потоком видео осуществляется без потерь в определенных технологиях сжатия видео. Этот восстановленный поток отсчетов может быть введен в память (434) опорных изображений. Поскольку декодирование потока символов приводит к результатам с точностью до бита, независимо от местоположения декодера (локального или удаленного), содержимое памяти опорных изображений также является точным в битах между локальным кодером и удаленным кодером. Другими словами, часть предсказания кодера «видит» в качестве отсчетов опорного изображения точно такие же значения отсчетов, которые декодер «видел» при использовании предсказания во время декодирования. Этот фундаментальный принцип синхронности опорного изображения (и результирующего дрейфа, если синхронность не может поддерживаться, например, из-за ошибок канала) известен специалисту в данной области техники.

[0090] Работа «локального» декодера (433) может быть такой же, как у «удаленного» декодера (210), который уже был подробно описан выше в описании к фиг. 3. Однако, поскольку символы доступны, и кодирование/декодирование символов в кодированную видеопоследовательность энтропийным кодером (445) и анализатором (320) может осуществляться без потерь, части энтропийного декодирования декодера (210), включая канал (312), приемник (310), буфер (315) и синтаксический анализатор (320) не могут быть полностью реализованы в локальном декодере (433).

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

[0092] В качестве части своей работы исходный кодер (430) может выполнять кодирование с предсказанием с компенсацией движения, которое кодирует входной кадр с предсказанием со ссылкой на один или несколько ранее закодированных кадров из видеопоследовательности, которые были обозначены как «опорные кадры». Таким образом, механизм кодирования (432) кодирует различия между блоками пикселей входного кадра и блоками пикселей опорного кадра(ов), которые могут быть выбраны в качестве опорного(ых) предсказания для входного кадра.

[0093] Локальный видеодекодер (433) может декодировать кодированные видеоданные кадров, которые могут быть обозначены как опорные кадры, на основе символов, созданных исходным кодером (430). Операции механизма кодирования (432) могут быть преимущественно процессами с потерями. Когда кодированные видеоданные могут быть декодированы в видеодекодере (не показан на фиг. 4), восстановленная видеопоследовательность обычно может быть копией исходной видеопоследовательности с некоторыми ошибками. Локальный видеодекодер (433) копирует процессы декодирования, которые могут выполняться видеодекодером на опорных кадрах, и может вызывать сохранение восстановленных опорных кадров в памяти (434) опорных изображений. Таким образом, кодер (203) может локально хранить копии восстановленных опорных кадров, которые имеют общий контент, как восстановленные опорные кадры, которые будут получены видеодекодером на дальнем конце (при отсутствии ошибок передачи).

[0094] Предсказатель (435) может выполнять поиски предсказания для механизма кодирования (432). То есть для нового кадра, который должен быть закодирован, предсказатель (435) может искать в памяти (434) опорных изображений данные отсчетов (в качестве кандидатов опорных блоков пикселей) или определенные метаданные, такие как векторы движения опорных изображений, формы блоков и т.д., и это может служить подходящей опорой для предсказания новых изображений. Предсказатель (435) может работать на блочной основе отсчета от блока к пикселю, чтобы найти соответствующие ссылки для прогнозирования. В некоторых случаях, как определено результатами поиска, полученными предсказателем (435), входное изображение может иметь ссылки предсказания, взятые из множества опорных изображений, сохраненных в памяти (434) опорных изображений.

[0095] Контроллер (450) может управлять операциями кодирования видеокодера (430), включая, например, установку параметров и параметров подгруппы, используемых для кодирования видеоданных.

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

[0097] Передатчик (440) может буферизовать закодированные видеопоследовательности, созданные энтропийным кодером (445), чтобы подготовить их к передаче через канал связи (460), который может быть аппаратным/программным каналом связи с устройством хранения, который хранит закодированные видеоданные. Передатчик (440) может объединять кодированные видеоданные из видеокодера (430) с другими данными, которые должны быть переданы, например, с кодированными аудиоданными и/или потоками вспомогательных данных (источники не показаны).

[0098] Контроллер (450) может управлять работой кодера (203). Во время кодирования контроллер (450) может назначить каждому кодированному изображению определенный тип кодированного изображения, что может повлиять на методы кодирования, которые могут быть применены к соответствующему изображению. Например, изображения часто могут быть назначены как интра-изображение (изображение I), изображение с предсказанием (изображение Р) или изображение с двунаправленным предсказанием (изображение В).

[0099] Интра-изображение (I-изображение) может быть таким, которое можно кодировать и декодировать без использования какого-либо другого кадра в последовательности в качестве источника предсказания. Некоторые видеокодеки позволяют использовать различные типы интра-изображений, включая, например, изображения с обновлением независимого декодера (IDR). Специалисту известны данные варианты изображений I и их соответствующие применения и особенности.

[0100] Изображение с предсказанием (Р изображение) может быть таким, которое может быть закодировано и декодировано с использованием интра-предсказания или интер-предсказания с использованием не более одного вектора движения и опорного индекса для предсказания значений отсчетов каждого блока.

[0101] Изображение с двунаправленным предсказанием (В изображение) может быть таким, которое может быть закодировано и декодировано с использованием интра-предсказания или интер-предсказания с использованием не более двух векторов движения и опорных индексов для предсказания значений отсчетов каждого блока. Точно так же изображения с множественным предсказанием могут использовать более двух опорных изображений и связанных метаданных для восстановления одного блока.

[0102] Исходные изображения обычно могут быть пространственно разделены на множество блоков отсчетов (например, блоки 4x4, 8x8, 4x8 или 16x16 отсчетов каждый) и закодированы на поблочной основе. Блоки могут кодироваться с предсказанием со ссылкой на другие (уже кодированные) блоки, как определено назначением кодирования, применяемым к соответствующим изображениям блоков. Например, блоки из I изображений могут кодироваться без предсказания или они могут кодироваться с предсказанием со ссылкой на уже кодированные блоки одного и того же изображения (пространственное предсказание или интра-предсказание). Пиксельные блоки Р изображений могут кодироваться без предсказания, посредством пространственного предсказания или посредством временного предсказания со ссылкой на одно ранее кодированное опорное изображение. Блоки В изображений могут кодироваться без предсказания, посредством пространственного предсказания или посредством временного предсказания со ссылкой на одно или два ранее кодированных опорных изображения.

[0103] Видеокодер (203) может выполнять операции кодирования в соответствии с заранее определенной технологией или стандартом кодирования видео, например ITU-T Rec. Н.265 В своей работе видеокодер (203) может выполнять различные операции сжатия, включая операции кодирования с предсказанием, которые используют временную и пространственную избыточность во входной видеопоследовательности. Кодированные видеоданные, следовательно, могут соответствовать синтаксису, заданному используемой технологией или стандартом кодирования видео.

[0104] В варианте осуществления передатчик (440) может передавать дополнительные данные с кодированным видео. Видеокодер (430) может включать такие данные как часть кодированной видеопоследовательности. Дополнительные данные могут содержать временные/пространственные/улучшающие слои отношения сигнал/шум, другие формы избыточных данных, такие как избыточные изображения и срезы, сообщения дополнительной расширенной информации (SEI), мозаичные элементы набора параметров информации визуального использования (VUI) и так далее.

[0105] Перед более подробным описанием определенных аспектов вариантов осуществления изобретения ниже вводятся несколько терминов, на которые дается ссылка в оставшейся части этого описания.

[0106] «Субизображение» в дальнейшем относится в некоторых случаях к прямоугольной компоновке отсчетов, блоков, макроблоков, единиц кодирования или подобных объектов, которые семантически сгруппированы и которые могут быть независимо кодированы с измененным разрешением. Одно или несколько субизображений могут образовывать изображение. Одно или несколько кодированных субизображения могут образовывать кодированное изображение. Одно или несколько субизображения могут быть собраны в изображение, и одно или несколько субизображения могут быть извлечены из изображения. В определенных средах одно или несколько кодированных субизображений могут быть собраны в сжатой области без перекодирования до уровня отсчета в кодированное изображение, и в тех же или некоторых других случаях одно или несколько кодированных субизображений могут быть извлечены из закодированного изображения в сжатом домене.

[0107] «Адаптивное изменение разрешения» (ARC) в дальнейшем относится к механизмам, которые позволяют изменять разрешение изображения или субизображения в кодированной видеопоследовательности, например, посредством повторного сэмплирования опорного изображения. «Параметры ARC» далее относятся к управляющей информации, необходимой для выполнения адаптивного изменения разрешения, которая может включать в себя, например, параметры фильтра, коэффициенты масштабирования, разрешения выходных и/или опорных изображений, различные флаги управления и так далее.

[0108] Приведенное выше описание сосредоточено на кодировании и декодировании одного семантически независимого кодированного видеоизображения. Перед описанием последствий кодирования/декодирования множества субизображений с независимыми параметрами ARC и подразумеваемой дополнительной сложности должны быть описаны варианты осуществления сигнализации параметров ARC.

[0109] На фиг. 6А-С показаны несколько новых примерных вариантов осуществления для сигнализации параметров ARC. Как отмечено для каждого из вариантов осуществления, они имеют определенные преимущества с точки зрения эффективности кодирования, сложности и архитектуры. Стандарт или технология видеокодирования могут реализовывать один или несколько из этих вариантов осуществления, а также могут включать варианты осуществления, известные из сравнительного уровня техники, для сигнализации параметров ARC. Сравнительные варианты осуществления включают примеры, проиллюстрированные на фиг. 5А-В. Новые варианты осуществления могут не быть взаимоисключающими и, возможно, могут быть включены в стандарт или технологию, которая также включает варианты осуществления из уровня техники, так что любой из них может использоваться на основе потребностей применения, задействованной технологии стандартов или выбора кодировщика.

[0110] Классы параметров ARC могут включать: (1) коэффициенты увеличения/уменьшения дискретизации, отдельные или объединенные в измерениях X и Y, или (2) коэффициенты увеличения/уменьшения дискретизации с добавлением временного измерения, указывающие на постоянную скорость увеличения/уменьшения данного количества изображений. Любой из двух вышеупомянутых может включать в себя кодирование или декодирование одного или нескольких элементов синтаксиса, которые могут указывать на таблицу, содержащую фактор(ы). В вариантах осуществления такие элементы синтаксиса могут быть короткими по длине.

[0111] «Разрешение» может относиться к разрешению в измерении X или Y, в единицах отсчетов, блоков, макроблоков, CU или любой другой подходящей степени детализации входного изображения, выходного изображения, опорного изображения, кодированного изображения, объединенного или по отдельности. Если существует более одного разрешения (например, одно для входного изображения, одно для опорного изображения), то в некоторых случаях один набор значений может быть выведен из другого набора значений. Разрешение может быть ограничено, например, с помощью флагов. Более подробный пример разрешения представлен ниже.

[0112] Координаты «деформации», аналогичные тем, которые используются в Приложении Р Н.263, могут иметь подходящую степень детализации, как описано выше. Приложение Р Н.263 определяет один эффективный способ кодирования таких координат деформации, но, возможно, также могут использоваться другие, потенциально более эффективные способы. Например, обратимое кодирование переменной длины в стиле «Хаффмана» для координат деформации согласно Приложению Р может быть заменено двоичным кодированием подходящей длины, где длина двоичного кодового слова может быть, например, получена из максимального размера изображения, возможно, умноженное на определенный коэффициент и смещенное на определенное значение, чтобы учесть «деформацию» за пределами границ максимального размера изображения.

[0113] Что касается параметров фильтра с повышающей или понижающей дискретизацией, в простейшем случае может быть только один фильтр для повышающего и/или понижающего сэмплирования. Однако в некоторых случаях может быть предпочтительно обеспечить большую гибкость в конструкции фильтра, которая может быть реализована путем сигнализации параметров фильтра. Такие параметры могут быть выбраны с помощью индекса в списке возможных конструкций фильтров, фильтр может быть полностью определен (например, с помощью списка коэффициентов фильтра с использованием подходящих методов энтропийного кодирования), и/или фильтр может быть выбран неявно с помощью передаточных чисел повышающей/понижающей дискретизации, которые сигнализируются в соответствии с любым из механизмов, упомянутых выше, и так далее.

[0114] Далее в описании предполагается примерный случай, когда кодирование конечного набора коэффициентов повышающей/понижающей дискретизации (один и тот же коэффициент должен использоваться как в измерениях X, так и Y), которые указываются посредством кодового слова. Это кодовое слово может быть предпочтительно закодировано переменной длины, например, с использованием кода Ext-Golomb, общего для определенных элементов синтаксиса в спецификациях кодирования видео, таких как Н.264 и Н.265. Одно подходящее отображение значений в коэффициенты увеличения/уменьшения может, например, соответствовать таблице 1 ниже.

[0115] Многие аналогичные сопоставления могут быть разработаны в соответствии с потребностями применения и возможностями механизмов увеличения и уменьшения масштаба, доступных в технологии или стандарте сжатия видео. Таблица может быть расширена до большего количества значений. Значения также могут быть представлены механизмами энтропийного кодирования, отличными от кодов Ext-Golomb (например, с использованием двоичного кодирования), которые могут иметь определенные преимущества, когда коэффициенты повторного сэмплирования представляли интерес за пределами самих механизмов обработки видео (прежде всего кодировщика и декодера), например, с помощью MANE. Следует отметить, что для (предположительно) наиболее распространенного случая, когда изменение разрешения не требуется, можно выбрать код Ext-Golomb, который является коротким (например, только один бит, как, например, показано во второй строке таблицы 1), который может иметь преимущество в эффективности кодирования по сравнению с использованием двоичных кодов для наиболее распространенного случая.

[0116] Количество записей в таблице, а также их семантика могут быть полностью или частично настраиваемыми. Например, основная структура таблицы может быть передана в «высоком» наборе параметров, таком как последовательность или набор параметров декодера. В качестве альтернативы или в дополнение, одна или несколько таких таблиц могут быть определены в технологии или стандарте видеокодирования и могут быть выбраны, например, с помощью декодера или набора параметров последовательности.

[0117] Ниже приведено описание того, как коэффициент повышающей/понижающей дискретизации (информация ARC), закодированный, как описано выше, может быть включен в технологию кодирования видео или стандартный синтаксис. Аналогичные соображения могут применяться к одному или нескольким кодовым словам, управляющим фильтрами повышающей/понижающей дискретизации. Ниже также приводится описание того, когда могут потребоваться сравнительно большие объемы данных для фильтра или других структур данных.

[0118] Как показано на фиг. 5А, Приложение Р Н.263 включает информацию (502) ARC в форме четырех координат деформации в заголовок изображения (501), в частности, в расширение заголовка Н.263 PLUSPTYPE (503). Такая конструкция может быть разумной, когда (а) имеется доступный заголовок изображения и (б) ожидаются частые изменения информации ARC. Однако служебные данные при использовании сигнализации в стиле Н.263 могут быть довольно высокими, и коэффициенты масштабирования могут не относиться к границам изображения, поскольку заголовок изображения может иметь временный характер.

[0119] Как показано на фиг. 5В, JVCET-M135-v1 включает в себя справочную информацию ARC (505) (индекс), расположенную в наборе параметров изображения (504), которая индексирует таблицу (506), включая целевые разрешения, которая находится внутри набора параметров последовательности (507). Размещение возможного разрешения в таблице (506) в наборе параметров последовательности (507) может быть оправдано использованием SPS (507) в качестве точки согласования функциональной совместимости во время обмена возможностями. Разрешение может изменяться в пределах, установленных значениями в таблице (506) от изображения к изображению, путем обращения к соответствующему набору параметров изображения (504).

[0120] Как показано на фиг. 6А-С, следующие варианты осуществления настоящего изобретения могут передавать информацию ARC в потоке видеобитов, например, в декодер настоящего изобретения. Каждый из этих вариантов осуществления имеет определенные преимущества по сравнению с уровнем техники, описанным выше. Варианты осуществления могут одновременно присутствовать в одной и той же технологии или стандарте видео кодирования.

[0121] В варианте осуществления с фиг. 6А, информация ARC (509), такая как коэффициент повторного сэмплирования (масштабирования), может присутствовать в заголовке (508), таком как, например, заголовок среза, заголовок GOB, заголовок мозаичного элемента или заголовок группы мозаичных элементов. В качестве примера фиг. 6А иллюстрирует заголовок (508) как заголовок группы мозаичных элементов. Такая конфигурация может быть адекватной, если информация ARC мала, например, одиночное кодовое слово переменной длины ue (v) или кодовое слово фиксированной длины из нескольких битов, например, как показано в таблице 1. Наличие информации ARC непосредственно в заголовке группы мозаичных элементов имеет дополнительное преимущество, заключающееся в том, что информация ARC может быть применима к субизображению, представленному, например, группой мозаичных элементов, соответствующей заголовку группы мозаичных элементов, а не ко всему изображению. Кроме того, даже если технология или стандарт сжатия видео использует только адаптивные изменения разрешения всего изображения (в отличие, например, от изменений адаптивного разрешения на основе групп мозаичных элементов), размещение информации ARC в заголовке группы мозаичных элементов (например, в Н.263 - style picture header) имеет определенные преимущества с точки зрения устойчивости к ошибкам. Хотя приведенное выше описание описывает информацию (509) ARC, присутствующую в заголовке группы мозаичных элементов, следует понимать, что приведенное выше описание может аналогичным образом применяться в случаях, когда информация (509) ARC присутствует, например, в заголовке среза, заголовке GOB или заголовке мозаичного элемента.

[0122] В том же или другом варианте осуществления со ссылкой на фиг. 6В, информация (512) ARC сама по себе может присутствовать в соответствующем наборе (511) параметров, таком как, например, набор параметров изображения, набор параметров заголовка, набор параметров мозаичного элемента, набор параметров адаптации и так далее. В качестве примера фиг. 6В иллюстрирует набор параметров (511) как набор параметров адаптации (APS). Объем этого набора параметров может преимущественно быть не больше изображения. Например, областью набора параметров может быть группа мозаичных элементов. Использование информации ARC (512) может быть неявным посредством активации соответствующего набора параметров. Например, когда технология или стандарт видео кодирования рассматривают только ARC на основе изображения, тогда набор параметров изображения или эквивалент может быть подходящим в качестве соответствующего набора параметров.

[0123] В том же или другом варианте осуществления с фиг. 6С, справочная информация (513) ARC может присутствовать в заголовке (514) группы мозаичных элементов или аналогичной структуре данных. Справочная информация ARC (513) может относиться к подмножеству информации ARC (515), доступной в наборе (516) параметров, с областью действия за пределами одного изображения. Например, набор параметров (516) может быть набором параметров последовательности (SPS) или набором параметров декодера (DPS).

[0124] Дополнительный уровень косвенного обращения подразумевает активацию PPS из заголовка группы мозаичных элементов, PPS или SPS, которые используются в JVET-M0135-v1, может быть ненужным, поскольку наборы параметров изображения, как и наборы параметров последовательности, могут использоваться для согласования возможностей или объявления. Однако, если информация ARC должна быть применима к субизображению, которое также представлено, например, группой (группами) мозаичных элементов, набором параметров (например, набором параметров адаптации или набором параметров заголовка) с областью активации, ограниченной до группа мозаичных элементов может быть лучшим выбором. Кроме того, если информация ARC имеет более чем пренебрежимо малый размер - например, содержит информацию управления фильтром, такую как многочисленные коэффициенты фильтра, - тогда параметр может быть лучшим выбором, чем использование заголовка непосредственно с точки зрения эффективности кодирования, поскольку эти настройки могут быть повторно использованы будущими изображениями или субизображениями, ссылаясь на тот же набор параметров.

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

[0126] (1) Набор (516) параметров для хранения информации (515) ARC в таблице может в некоторых случаях быть набором параметров последовательности, но в других случаях может быть преимущественно набором параметров декодера. Набор параметров декодера может иметь область активации нескольких CVS, а именно кодированный видеопоток, то есть все закодированные видеобиты от начала сеанса до разрыва сеанса. Такой объем может быть более подходящим, потому что возможные факторы ARC могут быть функцией декодера, возможно, реализованной в аппаратном обеспечении, а аппаратные функции, как правило, не меняются с любым CVS (который, по крайней мере, в некоторых развлекательных системах представляет собой группу изображений, одну секунду или меньше в длину). Тем не менее некоторые варианты осуществления могут включать информационную таблицу ARC в набор параметров последовательности, как описано в данном документе, в частности, в связи с пунктом (2) ниже.

[0127] (2) Справочная информация ARC (513) может быть предпочтительно помещена непосредственно в заголовок (514) (например, заголовок изображения/среза/GOB/группы мозаичных элементов; далее заголовок группы мозаичных элементов), а не в набор параметров изображения, как в JVCET-M0135-v1, причина в следующем: когда кодировщик хочет изменить одно значение в наборе параметров изображения, такое как, например, справочная информация ARC, тогда кодеру, возможно, придется создать новый PPS и ссылаться на этот новый PPS. В случае, если изменяется только справочная информация ARC, но другая информация, такая как, например, информация матрицы квантования в PPS, остается, такая информация может иметь значительный размер, и ее необходимо будет повторно передать, чтобы сделать новый PPS завершенным. Поскольку справочная информация ARC может быть одним кодовым словом, например индексом в таблице информации ARC, которое будет единственным изменяющимся значением, было бы громоздко и расточительно повторно передавать, например, всю информацию матрицы квантования. Соответственно, размещение справочной информации ARC непосредственно в заголовке (например, заголовке (514)) может быть значительно лучше с точки зрения эффективности кодирования, поскольку можно избежать косвенного обращения через PPS, как предлагается в JVET-M0135-v1. Кроме того, размещение опорной информации ARC в PPS имеет дополнительный недостаток, заключающийся в том, что информация ARC, на которую ссылается опорная информация ARC, обязательно должна применяться ко всему изображению, а не к субизображению, поскольку объемом активации набора параметров изображения является изображение.

[0128] В том же или другом варианте осуществления сигнализация параметров ARC может следовать подробному примеру, как показано на фиг. 7А-В. Фиг. 7А-В в синтаксических диаграммах. Обозначения таких синтаксических диаграмм примерно соответствуют программированию в стиле С. Строки, выделенные жирным шрифтом, указывают на элементы синтаксиса, присутствующие в потоке битов, а строки без жирного шрифта часто указывают на поток управления или установку переменных.

[0129] В качестве примера синтаксической структуры заголовка, применимого к (возможно, прямоугольной) части изображения, заголовок группы мозаичных элементов (600) может условно содержать, переменной длины, закодированный Exp-Golomb синтаксический элемент dec_pic_size_idx (602) (выделен жирным шрифтом). Присутствие этого синтаксического элемента в заголовке (600) группы мозаичных элементов может быть ограничено использованием адаптивного разрешения (603). Здесь значение флага адаптивного разрешения не выделено жирным шрифтом, что означает, что флаг присутствует в потоке битов в той точке, где он встречается на синтаксической диаграмме. О том, используется ли адаптивное разрешение для этого изображения или его частей, можно сигнализировать в любой синтаксической структуре высокого уровня внутри или вне потока битов. В примере с фиг. 7А-В адаптивное разрешение сигнализируется в наборе параметров последовательности (610), как показано ниже.

[0130] Фиг. 7В иллюстрирует отрывок из набора параметров последовательности (610). Первый показанный элемент синтаксиса - это adaptive_pic_resolution_change_flag (611). Когда это правда, такой флаг может указывать на использование адаптивного разрешения, которое, в свою очередь, может требовать определенной управляющей информации. В примере такая управляющая информация присутствует условно на основе значения флага на основе оператора if () (612) в наборе параметров последовательности (610) и заголовке группы мозаичных элементов (600).

[0131] Когда используется адаптивное разрешение, в этом примере закодировано выходное разрешение (613) в единицах отсчетов. Выходное разрешение (613) в этом примерном варианте осуществления относится к обоим синтаксическим элементам output_pic_width_in_luma_samples и output_pic_height_in_luma_samples, которые вместе могут определять разрешение выходного изображения. В другом месте технологии или стандарта видеокодирования могут быть определены определенные ограничения для любого значения. Например, определение уровня может ограничивать количество общих выходных отсчетов, которые могут быть произведением значений двух вышеуказанных элементов синтаксиса. Кроме того, определенные технологии или стандарты видеокодирования, или внешние технологии или стандарты, такие как, например, системные стандарты, могут ограничивать диапазон нумерации (например, одно или оба измерения должны делиться на степень 2) или соотношение аспектов (например, ширина и высота должны быть в таком соотношении, как 4:3 или 16:9). Такие ограничения могут быть введены для облегчения аппаратных реализаций или по другим причинам.

[0132] В некоторых вариантах применения может быть целесообразно, чтобы кодер инструктировал декодер использовать определенный размер опорного изображения, а не неявно предполагать размер как размер выходного изображения. В этом примере элемент синтаксиса reference_pic_size_present_flag (614) блокирует условное присутствие размеров (615) опорного изображения (опять же, число относится как к ширине, так и к высоте в примерном варианте осуществления).

[0133] Фиг. 7В дополнительно иллюстрирует таблицу возможной ширины и высоты изображения декодирования. Такая таблица может быть выражена, например, указанием таблицы (616) (например, синтаксическим элементом num_dec_pic_size_in_luma_samples_minus1). «Минус 1» элемента синтаксиса может относиться к интерпретации значения этого элемента синтаксиса. Например, если закодированное значение элемента синтаксиса равно нулю, присутствует одна запись в таблице. Если кодированное значение равно пяти, в таблице присутствуют шесть записей. Для каждой «строки» в таблице ширина и высота декодированного изображения затем включаются в синтаксис как записи таблицы (617).

[0134] Представленные записи (617) таблицы могут быть проиндексированы с использованием синтаксического элемента dec_pic_size_idx (602) в заголовке (600) группы мозаичных элементов, тем самым допуская различные декодированные размеры - в сущности, коэффициенты масштабирования - для каждой группы мозаичных элементов.

[0135] Определенные технологии или стандарты видеокодирования, например VP9, поддерживают пространственную масштабируемость путем реализации определенных форм повторного сэмплирования опорного изображения (которая может сигнализироваться совершенно иначе, чем варианты осуществления настоящего изобретения) в сочетании с временной масштабируемостью, чтобы обеспечить пространственную масштабируемость. В частности, некоторые опорные изображения могут подвергаться повышающей дискретизации с использованием технологий ARC-стиля до более высокого разрешения для формирования основы слоя пространственного улучшения. Такие изображения с повышенной дискретизацией можно было бы улучшить с помощью обычных механизмов прогнозирования с высоким разрешением, чтобы добавить детали.

[0136] Варианты осуществления изобретения могут использоваться в такой среде. В некоторых случаях, в том же или другом варианте осуществления, значение в заголовке блока слоя абстракции сети (NAL), например поле временного идентификатора, может использоваться для указания не только временного, но и пространственного слоя. Это дает определенные преимущества для определенных систем; например, существующие выбранные блоки пересылки (SFU), созданные и оптимизированные для пересылки, выбранной на временном слое на основе значения временного идентификатора заголовка блока NAL, могут использоваться без модификации для масштабируемых сред. Чтобы сделать это возможным, варианты осуществления настоящего раскрытия могут включать в себя отображение между размером кодированного изображения и временным слоем, которое должно указываться полем временного идентификатора в заголовке блока NAL.

[0137] В некоторых технологиях кодирования видео блок доступа (AU) может относиться к кодированным изображениям, срезам, мозаичным элементам, блокам NAL и т.д., которые были захвачены и скомпонованы в соответствующий битовый поток изображения/среза/мозаичного элемента/блока NAL в данный момент времени. Таким моментом времени может быть время композиции.

[0138] В HEVC и некоторых других технологиях кодирования видео значение счетчика порядка изображений (РОС) может использоваться для указания выбранного опорного изображения среди множества опорных изображений, хранящихся в буфере декодированных изображений (DPB). Когда единица доступа (AU) содержит одно или несколько изображений, срезов или мозаичных элементов, каждое изображение, срез или мозаичный элемент, принадлежащие одному и тому же AU, могут нести одно и то же значение РОС, из которого можно сделать вывод, что они были созданы из содержимого то же время композиции. Другими словами, можно определить, что два изображения/среза/мозаичных элемента принадлежат одному и тому же AU и имеют одинаковое время композиции в сценарии, где два изображения/среза/мозаичных элемента несут одно и то же заданное значение РОС. И наоборот, два изображения/среза/мозаичных элемента, имеющие разные значения РОС, могут указывать, что эти изображения/срезы/мозаичных элемента принадлежат разным AU и имеют разное время композиции.

[0139] В варианте осуществления изобретения вышеупомянутая жесткая взаимосвязь может быть ослаблена, поскольку блок доступа может содержать изображения, срезы или мозаичные элементы с разными значениями РОС. Допуская различные значения РОС в AU, становится возможным использовать значение РОС для идентификации потенциально независимо декодируемых изображений/срезов/мозаичных элемента с идентичным временем представления. Соответственно, вариант осуществления настоящего изобретения может обеспечивать поддержку множества масштабируемых слоев без изменения сигнализации выбора опорных изображений (например, сигнализации набора опорных изображений или сигнализации списка опорных изображений), как более подробно описано ниже.

[0140] В варианте осуществления по-прежнему желательно иметь возможность идентифицировать AU, которому принадлежит изображение/срез/мозаичный элемент, по отношению к другому изображению/срезу/мозаичному элементу, имеющим другие значения РОС, только на основе значения РОС. Это может быть достигнуто в вариантах осуществления, описанных ниже.

[0141] В тех же или других вариантах осуществления подсчет единиц доступа (AUC) может сигнализироваться в синтаксической структуре высокого уровня, такой как заголовок блока NAL, заголовок среза, заголовок группы мозаичных элементов, сообщение SEI, набор параметров или ограничитель AU. Значение AUC может использоваться, чтобы идентифицировать, какие блоки NAL, изображения, срезы или мозаичные элементы принадлежат данному AU. Значение AUC может соответствовать отдельному моменту времени композиции. Значение AUC может быть кратным значению РОС. Путем деления значения РОС на целочисленное значение может быть вычислено значение AUC. В некоторых случаях операции деления могут накладывать определенную нагрузку на реализации декодеров. В таких случаях небольшие ограничения в пространстве нумерации значений AUC могут позволить замену операции деления операциями сдвига, выполняемыми вариантами осуществления настоящего изобретения. Например, значение AUC может быть равно значению старшего значащего бита (MSB) диапазона значений РОС.

[0142] В том же варианте осуществления значение цикла РОС на AU (например, элемент синтаксиса рос_cycle_au) может сигнализироваться в высокоуровневой структуре синтаксиса, такой как заголовок блока NAL, заголовок среза, заголовок группы мозаичных элементов, сообщение SEI, набор параметров или разделитель AU. Элементы синтаксиса poc_cycle_au могут указывать, сколько различных и последовательных значений РОС может быть связано с одним и тем же AU. Например, если значение рос_cycle_au равно 4, изображения, срезы или мозаичные элементы со значением РОС, равным 0-3 включительно, связаны с AU со значением AUC, равным 0, а изображения, срезы или мозаичные элементы со значением РОС от 4 до 7 включительно связаны с AU со значением AUC, равным 1. Следовательно, значение AUC может быть выведено вариантами осуществления настоящего изобретения посредством деления значения РОС на значение рос cycle au.

[0143] В том же или другом варианте осуществления значение poc_cycle_au может быть получено из информации, расположенной, например, в наборе параметров видео (VPS), которая идентифицирует количество пространственных слоев или слоев SNR в кодированной видеопоследовательности. Такая возможная взаимосвязь кратко описывается ниже. Хотя вывод, как описано выше, может сэкономить несколько битов в VPS и, следовательно, может повысить эффективность кодирования, может быть выгодно явно кодировать рос_cycle_au в соответствующей синтаксической структуре высокого уровня иерархически ниже набора параметров видео, чтобы иметь возможность минимизировать poc_cycle_au для данной небольшой части битового потока, например изображения. Эта оптимизация может сэкономить больше битов, чем может быть сохранено посредством процесса вывода, описанного выше, потому что значения РОС (и/или значения элементов синтаксиса, косвенно относящиеся к РОС) могут быть закодированы в структурах синтаксиса низкого уровня.

[0144] В том же или другом варианте осуществления фиг. 9А иллюстрирует пример таблицы синтаксиса, чтобы сигнализировать элемент синтаксиса vps_poc_cycle_au (632) в VPS (630) или SPS, который указывает рос_cycle_au, используемый для всех изображений/срезов в кодированной видеопоследовательности, а фиг. 9В иллюстрирует пример таблицы синтаксиса, чтобы сигнализировать элемент синтаксиса slice_poc_cycle_au (642), который указывает poc_cycle_au текущего среза в заголовке среза (640). Если значение РОС увеличивается равномерно для каждого AU, vps_contant_poc_cycle_per_au (634) в VPS (630) устанавливается равным 1, а vps_poc_cycle_au (632) сигнализируется в VPS (630). В этом случае slice_poc_cycle_au (642) явно не сигнализируется, и значение AUC для каждой AU вычисляется путем деления значения РОС на vps_poc_cycle_au (632). Если значение РОС не увеличивается равномерно на AU, vps_contant_poc_cycle_per_au (634) в VPS (630) устанавливается равным 0. В этом случае vps_access_unit_cnt не передается, в то время как slice_access_unit_cnt передается в заголовке среза для каждого среза или изображения. Каждый срез или изображение может иметь различное значение slice_access_unit_cnt. Значение AUC для каждой AU вычисляется путем деления значения РОС на slice_poc_cycle_au (642).

[0145] Фиг. 10 иллюстрирует блок-схему для описания соответствующей последовательности операций варианта осуществления. Например, декодер (или кодер) анализирует VPS/SPS и определяет, является ли цикл РОС на AU постоянным или нет (652). Затем декодер (или кодер) принимает решение (654) на основании того, является ли цикл РОС на AU постоянным в кодированной видеопоследовательности. То есть, если цикл РОС на AU является постоянным, декодер (или кодер) вычисляет значение счетчика единиц доступа из значения poc_cycle_au уровня последовательности и значения РОС (656). В качестве альтернативы, если цикл РОС на AU не является постоянным, декодер (или кодер) вычисляет значение счетчика единиц доступа из значения poc_cycle_au уровня изображения и значения РОС (658). В любом случае декодер (или кодер) может затем повторить процесс, например, проанализировав VPS / SPS и определив, является ли цикл РОС на AU постоянным или нет (662).

[0146] В тех же или других вариантах осуществления, даже если значение РОС изображения, среза или мозаичного элемента может быть другим, изображение, срез или мозаичный элемент, соответствующие AU с одинаковым значением AUC, могут быть связаны с одним и тем же декодированием или экземпляром времени вывода. Следовательно, без какой-либо зависимости взаимного анализа/декодирования между изображениями, срезами или мозаичными элементами в одном и том же AU, все или подмножество изображений, срезов или мозаичных элементов, связанных с одним и тем же AU, могут быть декодированы параллельно и могут быть выведены в тот же экземпляр времени.

[0147] В тех же или других вариантах осуществления, даже если значение РОС изображения, среза или мозаичного элемента может быть другим, изображение, срез или мозаичный элемент, соответствующие AU с одинаковым значением AUC, могут быть связаны с одним и тем же декодированием или экземпляром времени композиция/дисплей. Когда время композиции содержится в формате контейнера, даже если изображения соответствуют разным AU, если изображения имеют одинаковое время композиции, изображения могут отображаться в один и тот же момент времени.

[0148] В тех же или других вариантах осуществления каждое изображение, срез или мозаичный элемент может иметь один и тот же временной идентификатор (например, temporal_id синтаксического элемента) в одном и том же AU. Все или подмножество изображений, срезов или мозаичных элементов, соответствующих моменту времени, могут быть связаны с одним и тем же временным подслоем. В тех же или других вариантах осуществления каждое изображение, срез или мозаичный элемент может иметь одинаковый или другой идентификатор пространственного слоя (например, layer_id синтаксического элемента) в одном и том же AU. Все или подмножество изображений, срезов или мозаичных элементов, соответствующих моменту времени, могут быть связаны с тем же или другим пространственным слоем.

[0149] Фиг. 8 иллюстрирует пример структуры видеопоследовательности (680) с комбинацией 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. В варианте осуществления значение poc_cycle_au может быть установлено равным количеству слоев (пространственной масштабируемости). В этом примере значение РОС увеличивается на 2, а значение AUC увеличивается на 1. В качестве примера фиг. 8 иллюстрирует в пределах первого AU (AUC = 0) I-срез (681), имеющий РОС 0, TID 0 и LID 0, и В-срез (682), имеющий РОС 1, TID 0 и LID. 1. Во второй AU (AUC = 1) фиг. 8 иллюстрирует В-срез (683), имеющий РОС 2, TID 1 и LID 0, и В-срез (684), имеющий РОС 3, TID 1 и LID 1. В пределах третьей AU (AUC = 3) на фиг. 8 иллюстрирует В-срез (685), имеющий РОС 4, TID 0 и LID 0, и В-срез (686), имеющий РОС 5, TID 0 и LID 1.

[0150] В вышеупомянутых вариантах осуществления все или подмножество структуры предсказания интер-изображения или интер-слоя и индикация опорного изображения могут поддерживаться с использованием сигнализации существующего набора опорных изображений (RPS) в HEVC или сигнализации списка опорных изображений (RPL). В RPS или RPL выбранное опорное изображение указывается посредством сигнализации значения РОС или значения дельты РОС между текущим изображением и выбранным опорным изображением. В вариантах осуществления настоящего изобретения RPS и RPL могут использоваться для указания структуры предсказания интер-изображения или интер-слоя без изменения сигнализации, но со следующими ограничениями. Если значение temporal_id опорного изображения больше, чем значение temporal_id текущего изображения, текущее изображение может не использовать опорное изображение для компенсации движения или других предсказаний. Если значение layer_id опорного изображения больше, чем значение layer_id текущего изображения, текущее изображение может не использовать опорное изображение для компенсации движения или других предсказаний.

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

[0152] В том же и других вариантах осуществления масштабирование вектора движения на основе разности РОС для временного предсказания вектора движения может быть необязательно отключено для множества изображений, когда пространственное разрешение опорного изображения отличается от пространственного разрешения текущего изображения. Когда масштабирование вектора движения разрешено, вектор движения может масштабироваться на основе как разности РОС, так и отношения пространственного разрешения между текущим изображением и опорным изображением.

[0153] В том же или другом варианте осуществления вектор движения может масштабироваться на основе разности AUC вместо разности РОС для временного предсказания вектора движения, особенно когда рос_cycle_au имеет неоднородное значение (когда vps_contant_poc_cycle_per_au == 0). В противном случае (когда vps_contant_poc_cycle_per_au == 1) масштабирование вектора движения на основе разности AUC может быть идентично масштабированию вектора движения на основе разности РОС.

[0154] В том же или другом варианте осуществления, когда вектор движения масштабируется на основе разности AUC, опорный вектор движения в том же AU (с тем же значением AUC) с текущим изображением не масштабируется на основе разности AUC и используется для предсказания вектора движения без масштабирования или с масштабированием на основе отношения пространственного разрешения между текущим изображением и опорным изображением.

[0155] В том же и других вариантах осуществления значение AUC используется для идентификации границы AU и используется для операции гипотетического опорного декодера (HRD), для которой требуется синхронизация ввода и вывода с детализацией AU. В большинстве случаев декодированное изображение с самым высоким слоем в AU может выводиться для отображения. Значение AUC и значение layer_id могут использоваться для идентификации выходного изображения.

[0156] В варианте осуществления изображение может содержать одно или несколько субизображений. Каждое субизображение может охватывать локальную область или всю область изображения. Область, поддерживаемая субизображением, может перекрываться или не перекрываться с областью, поддерживаемой другим субизображением. Область, составленная из одного или нескольких субизображений, может покрывать или не покрывать всю область изображения. Если изображение состоит из субизображения, область, поддерживаемая субизображением, может быть идентична области, поддерживаемой изображением.

[0157] В том же варианте осуществления субизображение может быть закодировано способом кодирования, аналогичным способу кодирования, используемому для кодированного изображения. Субизображение может быть независимо закодировано или может быть закодировано в зависимости от другого стандартного изображения или кодированного изображения. Субизображение может иметь или не иметь какую-либо зависимость анализа от другого стандартного изображения или кодированного изображения.

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

[0159] В том же или другом варианте осуществления субизображение с (W, Н), где W обозначает ширину субизображения, а Н обозначает высоту субизображения, соответственно, может быть кодирован и содержаться в кодированном потоке битов, соответствующем слою 0, в то время как субизображение с повышающей (или понижающей дискретизацией) с исходным пространственным разрешением, с (W*Sw, k, Н*Sh, k), может быть закодировано и содержаться в кодированном потоке битов, соответствующем слою k, где Sw,k, Sh,k указывают коэффициенты повторного сэмплирования по горизонтали и вертикали. Если значения Sw, k, Sh, k больше 1, повторное сэмплирование равно повышающему сэмплированию. В то время как, если значения Sw,k, Sh,k меньше 1, повторное сэмплирование равно понижающему сэмплированию.

[0160] В том же или другом варианте осуществления кодированное субизображение в слое может иметь визуальное качество, отличное от качества кодированного субизображения в другом слое в том же субизображении или другом субизображении. Например, субизображение i в слое n кодируется параметром квантования Qi, n, тогда как субизображение j в слое m кодируется параметром квантования Oj, m.

[0161] В том же или другом варианте осуществления кодированное субизображение на слое может быть декодировано независимо, без какой-либо зависимости от синтаксического анализа или декодирования от кодированного субизображения на другом слое той же локальной области. Слой субизображения, который можно независимо декодировать без ссылки на другой слой субизображения той же локальной области, является независимым слоем субизображения. Кодированное субизображение на слое независимого субизображения может иметь или не иметь зависимость декодирования или анализа от ранее кодированного субизображения на том же слое субизображения, но кодированное субизображение может не иметь никакой зависимости от закодированного изображения в другом слое субизображения.

[0162] В том же или другом варианте осуществления кодированное субизображение на слое может быть декодировано независимо, без какой-либо зависимости от синтаксического анализа или декодирования от кодированного субизображения на другом слое той же локальной области. Слой субизображения, который можно независимо декодировать без ссылки на другой слой субизображения той же локальной области, является независимым слоем субизображения. Кодированное субизображение в зависимом субизображении может ссылаться на кодированное субизображение, принадлежащее тому же субизображению, ранее кодированному субизображению в том же слое субизображения или обоим опорным субизображениям.

[0163] В том же или другом варианте осуществления кодированное субизображение содержит один или несколько независимых слоев субизображений и один или несколько зависимых слоев субизображений. Однако по меньшей мере один независимый слой субизображения может присутствовать для кодированного субизображения. Слой независимого субизображения может иметь значение идентификатора слоя (например, layer_id синтаксического элемента), которое может присутствовать в заголовке блока NAL или другой синтаксической структуре высокого уровня, равное 0. Слой субизображения с layer_id, равным 0, может быть базовым слоем субизображения.

[0164] В том же или другом варианте осуществления изображение может содержать одно или несколько субизображений переднего плана и одно субизображение фона. Область, поддерживаемая субизображением фона, может быть равна области изображения. Область, поддерживаемая субизображением переднего плана, может перекрываться с областью, поддерживаемой субизображением фона. Субизображение фона может быть базовым слоем субизображения, тогда как стандартное изображение переднего плана может быть не базовым (улучшающим) слоем субизображения. Один или несколько неосновных слоев субизображения могут ссылаться на один и тот же базовый слой для декодирования. Каждый небазовый слой субизображения с layer_id, равным а, может ссылаться на небазовый слой субизображения с layer_id, равным b, где а больше, чем b.

[0165] В том же или другом варианте осуществления изображение может содержать одно или несколько субизображений переднего плана с субизображением фона или без него. Каждое субизображение может иметь свой собственный базовый слой субизображения и один или несколько неосновных (улучшающих) слоев. На каждый базовый слой субизображения может ссылаться один или несколько неосновных слоев субизображения. Каждый небазовый слой субизображения с layer_id, равным а, может ссылаться на небазовый слой субизображения с layer_id, равным b, где а больше, чем b.

[0166] В том же или другом варианте осуществления изображение может содержать одно или несколько субизображений переднего плана с субизображением фона или без него. На каждое кодированное субизображение в (базовом или небазовом) слое субизображения может ссылаться одно или несколько субизображений не базового слоя, принадлежащих одному и тому же субизображению, и одному или нескольким субизображениям не базового слоя, которые не принадлежат одному субизображению.

[0167] В том же или другом варианте осуществления изображение может содержать одно или несколько субизображений переднего плана с субизображением фона или без него. Субизображение в слое а может быть дополнительно разделено на несколько субизображений в одном и том же слое. Одно или несколько кодированных субизображения на слое b могут ссылаться на разделенные субизображения на слое а.

[0168] В том же или другом варианте осуществления кодированная видеопоследовательность (CVS) может быть группой кодированных изображений. CVS может содержать одну или несколько последовательностей кодированных субизображений (CSPS), где CSPS может быть группой кодированных субизображений, покрывающих одну и ту же локальную область изображения. CSPS может иметь то же или другое временное разрешение, чем у кодированной видеопоследовательности.

[0169] В том же или другом варианте осуществления CSPS может быть закодирован и содержаться на одном или нескольких слоях. CSPS может содержать или состоять из одного или нескольких слоев CSPS. Декодирование одного или нескольких слоев CSPS, соответствующих CSPS, может восстанавливать последовательность субизображений, соответствующих одной и той же локальной области.

[0170] В том же или другом варианте осуществления количество слоев CSPS, соответствующих CSPS, может быть идентичным или отличаться от количества слоев CSPS, соответствующих другому CSPS.

[0171] В том же или другом варианте осуществления слой CSPS может иметь временное разрешение (например, частоту кадров), отличное от другого слоя CSPS. Исходное (несжатое) субизображение может подвергаться повторной пространственной повторной дискретизации (повышать или понижать дискретизацию), кодироваться с различными параметрами временного разрешения и содержаться в потоке битов, соответствующем слою.

[0172] В том же или другом варианте осуществления последовательность субизображений с частотой кадров F может быть закодирована и содержаться в кодированном потоке битов, соответствующем слою 0, в то время как последовательность субизображения с повышенной (или пониженной) дискретизацией по времени из исходной последовательности субизображений, причем F*St,k может быть закодировано и содержаться в кодированном потоке битов, соответствующем слою k, где St, k указывает коэффициент временного сэмплирования для слоя k. Если значение St, k больше 1, процесс временного сэмплирования равен преобразованию с повышением частоты кадров. Принимая во внимание, что, если значение St, k меньше 1, процесс временной передискретизации равен преобразованию с понижением частоты кадров.

[0173] В том же или другом варианте осуществления, когда на субизображения со слоем a CSPS а ссылается субизображение со слоем b CSPS для компенсации движения или любого межслоевого предсказания, если пространственное разрешение слоя a CSPS отличается исходя из пространственного разрешения слоя bCSPS, декодированные пиксели на слое a CSPS повторно сэмплируются и используются в качестве опорных. Для процесса повторного сэмплирования может потребоваться фильтрация с повышением или понижением частоты сэмплирования.

[0174] Фиг. 11 иллюстрирует примерный видеопоток, включающий в себя фоновое видео CSPS с layer_id, равным 0, и несколько слоев CSPS переднего плана. В то время как кодированная субизображение может содержать один или несколько улучшающих слоев CSPS (704), фоновая область, которая не принадлежит какому-либо слою CSPS переднего плана, может содержать базовый слой (702). Базовый слой (702) может содержать фоновую область и области переднего плана, тогда как улучшающий CSPS-слой (704) содержит область переднего плана. Улучшающий слой CSPS (704) может иметь лучшее визуальное качество, чем базовый слой (702), в той же области. Улучшающий слой CSPS (704) может ссылаться на восстановленные пиксели и векторы движения базового слоя (702), соответствующие одной и той же области.

[0175] В том же или другом варианте осуществления поток видеобитов, соответствующий базовому слою (702), содержится в дорожке, в то время как слои CSPS (704), соответствующие каждому субизображению, содержатся на отдельной дорожке в видеофайле.

[0176] В том же или другом варианте осуществления поток видеобитов, соответствующий базовому слою (702), содержится в дорожке, в то время как слои (704) CSPS с одинаковым layer_id содержатся в отдельной дорожке. В этом примере дорожка, соответствующая слою k, включает в себя только слои (704) CSPS, соответствующие слою k.

[0177] В том же или другом варианте осуществления каждый слой (704) CSPS каждого субизображения хранится на отдельной дорожке. Каждая дорожка может иметь или не иметь зависимости синтаксического анализа или декодирования от одной или нескольких других дорожек.

[0178] В том же или другом варианте осуществления каждая дорожка может содержать потоки битов, соответствующие от слоя i до слоя j слоев CSPS (704) всех или подмножества субизображений, где 0<i=<j=<k, где к является наивысшим слоем CSPS.

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

[0180] В том же или другом варианте осуществления фиг. 12 иллюстрирует пример видеоконференции, основанной на способе создания многослойных субизображений. В видеопотоке содержатся один битовый поток видео базового слоя, соответствующий фоновому изображению, и один или несколько битовых потоков видео улучшающего слоя, соответствующих субизображениям переднего плана. Каждый битовый поток видео улучшающего слоя может соответствовать слою CSPS. На дисплее изображение, соответствующее базовому слою (712), отображается по умолчанию. Базовый слой (712) может содержать одно или несколько изображений пользователя в изображении (PIP). Когда конкретный пользователь выбирается управлением клиента, улучшающий слой CSPS (714), соответствующий выбранному пользователю, декодируется и отображается с улучшенным качеством или пространственным разрешением.

[0181] Фиг. 13 иллюстрирует схему работы варианта осуществления. В варианте осуществления декодер может декодировать поток битов видео, который включает в себя несколько слоев, таких как, например, один базовый слой и один или несколько улучшающих слоев CSPS (722). Далее декодер может идентифицировать область фона и одно или несколько субизображений переднего плана (724) и принимать решение относительно того, выбрана ли конкретная область субизображений (726). Если определенная область субизображения, соответствующая, например, пользовательской PIP, выбрана (ДА), декодер может декодировать и отобразить улучшенное субизображение, соответствующее выбранному пользователю (728). Например, декодер может декодировать и отображать изображение, соответствующее улучшающему слою CSPS (714). Если не выбрана конкретная область субизображения (НЕТ), декодер может декодировать и отображать фоновую область (730). Например, декодер может декодировать и отображать изображение, соответствующее базовому слою (712).

[0182] В том же или другом варианте осуществления промежуточный блок сети (такой как маршрутизатор) может выбирать подмножество слоев для отправки пользователю в зависимости от своей полосы пропускания. Организация изображения/субизображения может использоваться для адаптации полосы пропускания. Например, если у пользователя нет полосы пропускания, маршрутизатор разделяет слои или выбирает некоторые субизображения из-за их важности или на основе используемых настроек. В варианте осуществления такие процессы могут выполняться динамически для адаптации к полосе пропускания.

[0183] Фиг. 14 иллюстрирует пример использования 360-градусного видео. Когда сферическое 360-градусное изображение (742) проецируется на плоское изображение, сферическое 360-градусное изображение (742), которое проецируется, может быть разделено на множество субизображений (745) в качестве базового слоя (744). Улучшающий слой (746) конкретного одного из субизображений (745) может быть закодирован и передан клиенту. Декодер может декодировать как базовый слой (744), включая все субизображения (745), так и улучшающий слой (746) выбранного одного из субизображений (745). Когда текущее окно просмотра идентично выбранному одному из субизображений (745), отображаемое изображение может иметь более высокое качество с декодированным субизображением (745) с улучшающим слоем (746). В противном случае декодированное изображение с базовым слоем (744) может отображаться с более низким качеством.

[0184] В том же или другом варианте осуществления любая информация о компоновке для отображения может присутствовать в файле как дополнительная информация (например, сообщение SEI или метаданные). Одно или несколько декодированных субизображений могут быть перемещены и отображены в зависимости от переданной информации компоновки. Информация о компоновке может быть передана потоковым сервером или вещательной компанией, или может быть восстановлена сетевым объектом или облачным сервером, или может быть определена индивидуальной настройкой пользователя.

[0185] В варианте осуществления, когда входное изображение делится на одну или несколько (прямоугольных) подобластей, каждая подобласть может кодироваться как независимый слой. Каждый независимый слой, соответствующий локальной области, может иметь уникальное значение layer_id. Для каждого независимого слоя может передаваться информация о размере субизображения и местоположении. Например, может передаваться информация о размере изображения (ширина, высота) и смещении левого верхнего угла (х_offset, у_offset). Фиг. 15А иллюстрирует пример компоновки разделенных субизображений (752), фиг. 15В иллюстрирует пример соответствующего размера субизображения и информации о положении одного из субизображений (752), и фиг. 16 иллюстрирует соответствующую структуру предсказания изображения. Информация о компоновке, включая размер(ы) субизображения и позицию (позиции) субизображения, может быть передана в виде сигналов в синтаксической структуре высокого уровня, такой как набор(ы) параметров, заголовок среза или группы мозаичных элементов или сообщение SEI.

[0186] В том же варианте осуществления каждое субизображение, соответствующее независимому слою, может иметь свое уникальное значение РОС в пределах AU. Когда опорное изображение из числа изображений, хранящихся в DPB, указывается с использованием элемента(ов) синтаксиса в структуре RPS или RPL, может использоваться значение(я) РОС каждого субизображения, соответствующего слою.

[0187] В том же или другом варианте осуществления, чтобы указать структуру (межслойного) предсказания, layer_id может не использоваться, и может использоваться значение РОС (дельта).

[0188] В том же варианте осуществления субизображение со значением РОС, равным N, соответствующий слою (или локальной области), может или не может использоваться в качестве опорного изображения субизображения со значением РОС, равным K+N, соответствующий тому же слою (или той же локальной области) для предсказания с компенсацией движения. В большинстве случаев значение числа K может быть равно максимальному количеству (независимых) слоев, которое может быть идентично количеству подобластей.

[0189] В том же или другом варианте осуществления фиг. 17-18 иллюстрируют расширенный вариант с фиг. 15А-В и фиг. 16. Когда входное изображение разделено на несколько (например, четыре) подобластей, каждая локальная область может быть закодирована одним или несколькими слоями. В этом случае количество независимых слоев может быть равно количеству подобластей, и один или несколько слоев могут соответствовать подобласти. Таким образом, каждая подобласть может быть закодирована одним или несколькими независимыми слоями и нулевым или несколькими зависимыми слоями.

[0190] В том же варианте осуществления, как показано на фиг. 17 входное изображение может быть разделено на четыре подобласти, включая левую верхнюю подобласть (762), верхнюю правую подобласть (763), нижнюю левую подобласть (764) и нижнюю правую подобласть (765). Правая верхняя подобласть (763) может быть закодирована как два слоя, которые являются слоем 1 и слоем 4, в то время как правая нижняя подобласть (765) могут быть закодированы как два слоя, которые являются слоем 3 и слоем 5. В этом случае слой 4 может ссылаться на слой 1 для предсказания с компенсацией движения, тогда как слой 5 может ссылаться на слой 3 для компенсации движения.

[0191] В том же или другом варианте осуществления внутриконтурная фильтрация (например, деблокирующая фильтрация, адаптивная внутриконтурная фильтрация, изменение формы, двусторонняя фильтрация или любая фильтрация на основе глубокого обучения) через границу слоя может быть (опционально) отключена.

[0192] В том же или другом варианте осуществления предсказание с компенсацией движения или внутриблочное копирование через границу слоя может быть (опционально) отключено.

[0193] В том же или другом варианте осуществления граничное заполнение для предсказания с компенсацией движения или внутриконтурная фильтрация на границе субизображения может опционально обрабатывается. Флаг, указывающий, обрабатывается ли граничное заполнение или нет, может сигнализироваться в синтаксической структуре высокого уровня, такой как набор(ы) параметров (VPS, SPS, PPS или APS), заголовок группы срезов или мозаичных элементов или сообщение SEI.

[0194] В том же или другом варианте осуществления информация о компоновке подобласти(ов) (или субизображения(ий)) может передаваться в VPS или SPS. Фиг. 19А иллюстрирует пример элементов синтаксиса в VPS (770), и фиг. 19В иллюстрирует пример элементов синтаксиса SPS (780). В этом примере vps_sub_picture_dividing_flag (772) передается в VPS (770). Флаг может указывать, разделены ли входные изображения на несколько подобластей или нет. Когда значение vps_sub_picture_dividing_flag (772) равно 0, входное изображение (изображения) в кодированной видеопоследовательности (ах), соответствующей текущей VPS, не может быть разделено на несколько подобластей. В этом случае размер входного изображения может быть равен размеру кодированного изображения (pic_width_in_luma_samples (786), pic_height_in_luma_samples (788)), который передается в SPS (680). Когда значение vps_sub_picture_dividing_flag (772) равно 1, входное изображение(я) может быть разделено на несколько подобластей. В этом случае элементы синтаксиса vps_full_pic_width_in_luma_samples (774) и vps_full_pic_height_in_luma_samples (776) передаются в VPS (770). Значения vps_full_pic_width_in_luma_samples (774) и vps_full_pic_height_in_luma_samples (776) могут быть равны ширине и высоте входного изображения (изображений) соответственно.

[0195] В том же варианте осуществления значения vps_full_pic_width_in_luma_samples (774) и vps_full_pic_height_in_luma_samples (776) не могут использоваться для декодирования, но могут использоваться для композиции и отображения.

[0196] В том же варианте осуществления, когда значение vps_sub_picture_dividing_flag (772) равно 1, элементы синтаксиса pic_offset_x (782) и pic_offset_у (784)) могут передаваться в SPS (780), что соответствует определенному слою (слоям). В этом случае размер кодированного изображения (pic_width_in_luma_samples (786), pic_height_in_luma_samples (788)), передаваемый в SPS (780), может быть равен ширине и высоте подобласти, соответствующей конкретному слою. Кроме того, позиция (pic_offset_x (782), pic_offset_y (784)) левого верхнего угла подобласти может сигнализироваться в SPS (780).

[0197] В том же варианте осуществления информация о положении (pic_offset_х (782), pic_offset_y (784)) левого верхнего угла подобласти не может использоваться для декодирования, но может использоваться для композиции и отображения.

[0198] В том же или другом варианте осуществления информация о компоновке (размер и положение) всей или подмножества подобластей(ов) входного изображения (изображений), а также информация о зависимости между слоями может передаваться в набор параметров или сообщение SEI. Фиг. 20 иллюстрирует пример элементов синтаксиса, которые указывают информацию о компоновке подобластей, зависимости между слоями и отношения между подобластью и одним или несколькими слоями. В этом примере элемент синтаксиса num_sub_region (791) указывает количество (прямоугольных) подобластей в текущей кодированной видеопоследовательности. Элемент синтаксиса num_layers (792) указывает количество слоев в текущей кодированной видеопоследовательности. Значение num_layers (792) может быть равно или больше, чем значение num_sub_region (791). Когда любая подобласть кодируется как один слой, значение num_layers (792) может быть равно значению num_sub_region (791). Когда одна или несколько подобластей кодируются как несколько слоев, значение num_layers (792) может быть больше, чем значение num_sub_region (791). Элемент синтаксиса direct_dependency_flag [i] [j] (793) указывает зависимость от j-го слоя к i-му слою. Элемент синтаксиса num_layers_for_region [i] (794) указывает количество слоев, связанных с i-й подобластью. Элемент синтаксиса sub_region_layer_id [i] [j] (795) указывает layer_id j-го слоя, связанного с i-й подобластью. Элементы синтаксиса sub_region_offset_х [i] (796) и sub_region_offset_у [i] (797) указывают горизонтальное и вертикальное положение левого верхнего угла i-й подобласти соответственно. Элементы синтаксиса sub_region_width [i] (798) и sub_region_height [i] (799) указывают ширину и высоту i-й подобласти соответственно.

[0199] В одном варианте осуществления один или несколько элементов синтаксиса, которые определяют набор выходных слоев для указания одного или нескольких слоев, которые должны выводиться с информацией уровня ряда профиля или без нее, могут сигнализироваться в структуре синтаксиса высокого уровня (например, VPS, DPS, SPS, PPS, Сообщение APS или SEI). На фиг. 21 синтаксический элемент num_output_layer_sets (804), указывающий количество наборов выходных слоев (OLS) в кодированной видеопоследовательности, относящейся к VPS, может сигнализироваться в VPS. Для каждого набора выходных слоев синтаксический элемент output_layer_flag (810) может сигнализироваться столько раз, сколько есть выходных слоев.

[0200] В том же варианте осуществления элемент синтаксиса output_layer_flag (810), равный 1, указывает, что выводится i-й слой. Элемент синтаксиса output_layer_flag (810), равный 0, указывает, что i-й слой не выводится.

[0201] В том же или другом варианте осуществления один или несколько элементов синтаксиса, которые определяют информацию уровня ряда профиля для каждого набора выходных слоев, могут сигнализироваться в структуре синтаксиса высокого уровня (например, сообщение VPS, DPS, SPS, PPS, APS или SEI). На фиг. 21 элемент синтаксиса num_prrofile_tier_level (806), указывающий количество информации ряда профиля на OLS в кодированной видеопоследовательности, относящейся к VPS, может сигнализироваться в VPS. Для каждого набора выходных слоев набор элементов синтаксиса для информации уровня ряда профиля или индекс, указывающий конкретную информацию уровня ряда профиля из числа записей в информации уровня ряда профиля, может сигнализироваться столько раз, сколько есть выходных слоев.

[0202] В том же варианте осуществления элемент синтаксиса profile_tier_level_idx [i] [j] (812) указывает индекс в списке структур синтаксиса profile_tier_level () (808) в VPS синтаксической структуры profile_tier_level () (808), которая применяется к j-му слою i-го МНК.

[0203] Профили, ряды и уровни (и соответствующая информация о них) могут указывать ограничения на потоки битов и, таким образом, ограничения на возможности, необходимые для декодирования потоков битов. Профили, ряды и уровни (и соответствующая информация о них) также могут использоваться для указания точек взаимодействия между отдельными реализациями декодера. Профиль может быть подмножеством всего синтаксиса битового потока, например, стандарта. Каждый профиль (и соответствующая информация о нем) может определять подмножество алгоритмических функций и ограничений, которые могут поддерживаться всеми декодерами, соответствующими профилю. Уровни и уровни могут быть указаны в каждом профиле, и уровень ряда может быть заданным набором ограничений, наложенных на значения элементов синтаксиса в потоке битов. Каждый уровень ряда (и соответствующая информация о нем) может определять набор пределов значений и/или пределов арифметических комбинаций значений, которые могут быть приняты синтаксическими элементами решения. Один и тот же набор рядов и определений уровней может использоваться со всеми профилями, но отдельные реализации могут поддерживать другой ряд, а внутри ряда - другой уровень для каждого поддерживаемого профиля. Для любого заданного профиля уровень ряда может соответствовать конкретной нагрузке обработки декодера и возможностям памяти. Уровень, указанный для более низкого ряда, может быть более ограниченным, чем уровень, указанный для более высокого ряда.

[0204] В том же или другом варианте осуществления, как показано на фиг. 22, элементы синтаксиса num_profile_tier_level (806) и/или num_output_layer_sets (804) могут сигнализироваться, когда количество максимальных слоев больше 1 (vps_max_layers_minus1>0).

[0205] В том же или другом варианте осуществления, как показано на фиг. 22, элемент синтаксиса vps_output_layers_mode [i] (822), указывающий режим сигнализации выходного слоя для 1-го набора выходных слоев, может присутствовать в VPS.

[0206] В том же варианте осуществления элемент синтаксиса vps_output_layers_mode [i] (822), равный 0, указывает, что только самый высокий слой выводится с i-м набором выходных слоев. Элемент синтаксиса vps_output_layers_mode [i] (822), равный 1, указывает, что все слои выводятся с i-м набором выходных слоев. Элемент синтаксиса vps_output_layers_mode [i] (822), равный 2, указывает, что слои, которые выводятся, являются слоями с vps_output_layer_flag [i] [j], равным 1, с набором i-го выходных слоев. Могут быть зарезервированы другие значения.

[0207] В том же варианте осуществления элемент синтаксиса output_layer_flag [i] [j] (810) может сигнализироваться или не сигнализироваться в зависимости от значения элемента синтаксиса vps_output_layers_mode [i] (822) для i-го набора выходных слоев.

[0208] В том же или другом варианте осуществления, как показано на фиг. 22, флаг vps_ptl_signal_flag [i] (824) может присутствовать для i-го набора выходных слоев. В зависимости от значения vps_ptl_signal_flag [i] (824) информация уровня ряда профиля для i-го набора выходных слоев может передаваться или не передаваться.

[0209] В том же или другом варианте осуществления, как показано на фиг. 23, количество субизображений, max_subpics_minus1, в текущем CVS может сигнализироваться в синтаксической структуре высокого уровня (например, в сообщении VPS, DPS, SPS, PPS, APS или SEI).

[0210] В том же варианте осуществления, как показано на фиг. 23, идентификатор субизображения, sub_pic_id [i] (821), для i-го субизображения может сигнализироваться, когда количество субизображений больше 1 (max_subpics_minus1>0).

[0211] В том же или другом варианте осуществления один или несколько элементов синтаксиса, указывающих идентификатор субизображений, принадлежащий каждому слою каждого набора выходных слоев, могут сигнализироваться в VPS. На фиг. 23 идентификатор sub_pic_id_layer [i] [j] [k] (826) указывает k-e субизображение, присутствующую в j-м слое i-го набора выходных слоев. Используя информацию идентификатора sub_pic_id_layer [i] [j] [k] (826), декодер может распознать, какое субизображение может быть декодирован и выведен для каждого слоя конкретного набора выходных слоев.

[0212] В варианте осуществления переменная TargetOlsIdx, которая идентифицирует индекс OLS целевой OLS, которая должна быть декодирована, и переменная Htid, которая идентифицирует самый высокий временной подслой, который должен быть декодирован, устанавливаются некоторыми внешними средствами. Битовый поток BitstreamToDecode может не содержать никаких других слоев, кроме тех, которые включены в целевой OLS, и не может включать в себя какой-либо блок NAL с Temporalid больше, чем Htid.

[0213] В том же или другом варианте осуществления ols_output_layer_flag [i] [j], равное 1, указывает, что слой с nuh_layer_id, равным vps_layer_id [j], является выходным слоем i-го OLS, когда ols_mode_idc (864) равен 2. Элемент синтаксиса ols_output_layer_flag [i] [j], равный 0, указывает, что слой с nuh_layer_id, равным vps_layer_id [j], не является выходным слоем i-го OLS, когда элемент синтаксиса ols_mode_idc равен 2. Элемент синтаксиса nuh_layer_id может определять идентификатор слоя, которому принадлежит блок NAL слоя кодирования без видеокодирования (VCL), или идентификатор слоя, к которому применяется блок NAL, не относящийся к VCL. Значение nuh_layer_id может быть одинаковым для всех блоков VCL NAL кодированного изображения. Значение nuh_layer_id кодированного изображения или блока изображения (PU) может быть значением nuh_layer_id блоков VCL NAL кодированного изображения или PU. Значение синтаксиса elemetn nal_unit_type может быть одинаковым для всех изображений начала кодированной видеопоследовательности (CVSS) AU.

[0214] Переменная NumOutputLayersInOls [i], указывающая количество выходных слоев в i-м OLS, переменная NumSubLayersInLayerlnOLS [i] [j], указывающая количество подслоев в j-м слое в i-м OLS, переменная OutputLayerldlnOls [i] [j], определяя значение nuh_layer_id j-го выходного слоя в i-м OLS, и переменную LayerUsedAsOutputLayerFlag [k], определяющую, используется ли k-й слой в качестве выходного слоя по крайней мере в один OLS, может быть получен следующим образом:

[0215] Для каждого значения i в диапазоне от 0 до vps_max_layers_minus 1 включительно значения LayerUsedAsRefLayerFlag [i] и LayerUsedAsOutputLayerFlag [i] не могут быть равными 0 одновременно. Другими словами, может не быть слоя, который не является ни выходным слоем хотя бы одного OLS, ни прямым опорным слоем любого другого слоя.

[0216] Для каждой OLS может быть по меньшей мере один слой, который является выходным слоем. Другими словами, для любого значения i в диапазоне от 0 до TotalNumOlss - 1 включительно значение NumOutputLayersInOls [i] может быть больше или равно 1.

[0217] Можно получить переменную NumLayersInOls [i], определяющую количество слоев в i-м OLS, и переменную LayerldlnOls [i] [j], определяющую значение nuh_layer_id j-го слоя в i-м OLS, следующее:

[0218]

0-й OLS может содержать только самый нижний слой (т.е. слой с nuh_layer_id, равным vps_layer_id [0]), а для 0-го OLS может выводиться только включенный слой.

[0219] Переменная OlsLayerldx [i] [j], определяющая индекс слоя OLS для слоя с nuh_layer_id, равным LayerldlnOls [i] [j], получается следующим образом:

[0220] Самый нижний слой в каждой OLS может быть независимым слоем. Другими словами, для каждого i в диапазоне от 0 до TotalNumOlss - 1 включительно значение vps_independent_layer_flag [GeneralLayerldx [LayerldlnOls [i] [0]]] может быть равно 1.

[0221] Каждый слой может быть включен по крайней мере в одну OLS, заданную VPS. Другими словами, для каждого слоя с конкретным значением nuh_layer_id, nuhLayerId, равным одному из vps_layer_id [к] для k в диапазоне от 0 до vps_max_layers_minus1 включительно, может быть по меньшей мере одна пара значений i и j, где i находится в диапазоне от 0 до TotalNumOlss - 1 включительно, a j находится в диапазоне NumLayersInOls [i] - 1 включительно, так что значение LayerldInOls [i] [j] равно nuhLayerId.

[0222] Элемент синтаксиса ols_mode_idc (864), равный 0, может указывать, что общее количество OLS, заданных VPS, равно vps_max_layers_minusl+1, i-й OLS включает в себя слои с индексами слоев от 0 до i включительно, и для каждого OLS выводится только на самом высоком слое OLS.

[0223] Элемент синтаксиса ols_mode_idc (864), равный 1, может указывать, что общее количество OLS, заданных VPS, равно vps_max_layers_minus 1+1, i-й OLS включает в себя слои с индексами слоев от 0 до i включительно, и для каждого OLS выводятся все слои OLS.

[0224] Элемент синтаксиса ols_mode_idc (864), равный 2, может указывать, что общее количество OLS, заданных VPS, явно сигнализируется, и для каждого OLS выходные слои явно сигнализируются, а другие слои являются слоями, которые являются прямыми или косвенными опорными слоями выходных слоев OLS.

[0225] Значение элемента синтаксиса ols_mode_idc (864) может находиться в диапазоне от 0 до 2 включительно. Значение 3 элемента синтаксиса ols_mode_idc (864) может быть зарезервировано для будущего использования ITU-T|ISO/IEC.

[0226] В том же или другом варианте осуществления процессы декодирования могут выполняться, как описано ниже.

[0227] Bross, et. al, «Универсальное кодирование видео (черновик 8)», документ Объединенной группы экспертов по видео JVET-Q2001-vA, 7-17 января 2020 г., полностью включен в настоящий документ и далее именуется «Документ 1».

[0228] Процессы декодирования могут применяться к каждому кодированному изображению в потоке битов BitstreamToDecode. Каждое кодированное изображение может называться текущим изображением и обозначаться переменной CurrPic. Битовый поток BitstreamToDecode может быть входом для процессов декодирования.

[0229] Элемент синтаксиса chroma_format_idc может быть получен кодером или декодером. Элемент синтаксиса chroma_format_idc может указывать сэмплирование цветности относительно сэмплирования яркости. В зависимости от значения элемента синтаксиса chromaformatidc количество массивов отсчета текущего изображения может быть (например, определено декодером) следующим образом:

[0230] (А) Если элемент синтаксиса chroma_format_idc равен 0, текущее изображение состоит из 1 массива отсчетов SL.

[0231] (В) В противном случае (chroma_format_idc не равно 0) текущее изображение состоит из 3 массивов отсчетов SL,SCb,SCr.

[0232] Процесс декодирования текущего изображения может принимать в качестве входных данных элементы синтаксиса и переменные верхнего регистра из раздела 7 Документа 1. При интерпретации семантики каждого элемента синтаксиса в каждом блоке NAL и в остальных частях раздела 8 Документа 1 термин «поток битов» (или его часть, например, CVS потока битов) относится к BitstreamToDecode (или его части).

[0233] Элемент синтаксиса separate colour_jt_lane_flag может указывать, кодируется ли изображение с использованием отдельных цветовых плоскостей. Например, когда элемент элемента синтаксиса element selected_colour_plane_flag равен 1, этот элемент синтаксиса может указывать, что изображение кодируется с использованием трех отдельных цветовых плоскостей. Когда изображение кодируется с использованием трех отдельных цветовых плоскостей, срез может содержать только единицы дерева кодирования (CTU) одного цветового компонента, идентифицируемого соответствующим значением colour_plane_id, и каждый массив цветовых компонентов изображения может состоять из срезов, имеющих одинаковые colour_plane_id значение. Кодированные срезы с разными значениями colour_jt_lane_id в изображении могут чередоваться друг с другом с ограничением, что для каждого значения colour_plane_id блоки NAL кодированных срезов с этим значением colou_plane_id могут быть в порядке увеличения адреса CTU в порядке сканирования мозаичных элементов для первой CTU каждого блока NAL кодированного среза. Когда элемент синтаксиса separate_colour_plane_flag равен 1, каждая CTU цветового компонента может содержаться ровно в одном срезе (т.е. информация для каждого CTU изображения присутствует ровно в трех срезах, и эти три среза имеют разные значения colour_plane_id). Когда элемент синтаксиса separate colour_plane_flag равен 0, каждый CTU изображения может содержаться ровно в одном срезе.

[0234] В зависимости от значения элемента синтаксиса separate_colour_plane_flag процесс декодирования может быть структурирован следующим образом:

[0235] (А) Если separate_colour_plane_flag равен 0, процесс декодирования запускается один раз с текущим изображением, которое является выходным.

[0236] (В) В противном случае (separate_colour_plane_flag равен 1) процесс декодирования может быть запущен три раза. Входами в процесс декодирования являются все блоки NAL кодированного изображения с идентичным значением colour_plane_id. Процесс декодирования блоков NAL с конкретным значением colour_plane_id может быть определен так, как если бы в потоке битов присутствовала только CVS с монохромным цветовым форматом с этим конкретным значением colour_plane_id. Выходные данные каждого из трех процессов декодирования могут быть назначены одному из трех массивов выборок текущего изображения, при этом блоки NAL с colour_plane_id, равными 0, 1 и 2, назначаются SL,SCb и SCr соответственно.

[0237] Переменная ChromaArrayType может быть получена как равная 0, если элемент синтаксиса separate_colour_plane_flag равен 1, a chroma_format_idc равно 3. В процессе декодирования может быть оценено значение переменной ChromaArrayType, что может привести к операциям, идентичным операциям с монохромными изображениями (когда chroma_format_idc равно 0).

[0238] Для текущего изображения CurrPic процесс декодирования может выполняться следующим образом:

[0239] (А) Декодирование блоков NAL может выполняться в соответствии с пунктом 8.2 Документа 1. Например, входами декодирования могут быть блоки NAL текущих изображений и связанные с ними блоки NAL, не относящиеся к VCL. Выходные данные декодирования могут быть проанализированы синтаксическими структурами полезной нагрузки последовательности байтов (RBSP), инкапсулированными в блоки NAL. Декодирование для каждого блока NAL может извлекать структуру синтаксиса RBSP из блока NAL, а затем анализировать структуру синтаксиса RBSP.

[0240] (В) Процессы декодирования с использованием элементов синтаксиса на слое заголовка среза и выше могут выполняться в соответствии, например, с пунктом 8.3 Документа 1:

[0241] (1) Переменные и функции, относящиеся к подсчету порядка изображений, могут быть получены в соответствии с разделом 8.3.1 Документа 1. Это может быть вызвано только для первого среза изображения.

[0242] (2) В начале процесса декодирования для каждого среза изображения без IDR может быть запущен процесс декодирования для построения списков опорных изображений для получения списка 0 опорных изображений (RefPicList [0]) и списка 1 опорных изображений (RefPicList [1]) в соответствии с пунктом 8.3.2 Документа 1.

[0243] (3) Процесс декодирования для маркировки опорных изображений может выполняться в соответствии с пунктом 8.3.3 Документа 1, в котором опорные изображения могут быть помечены как «неиспользуемые для ссылки» или «используемые для долгосрочной ссылки». Процесс декодирования для маркировки опорного изображения может быть запущен только для первого среза изображения.

[0244] (4) Когда текущее изображение является изображением CRA с NoOutputBeforeRecoveryFlag, равным 1, или изображением GDR с NoOutputBeforeRecoveryFlag, равным 1, может быть запущен процесс декодирования для генерации недоступных опорных изображений в соответствии с подпунктом 8.3.4 Документа 1, который может быть вызван только для первый срез изображения.

[0245] (5) PictureOutputFlag может быть установлен (например, декодером) следующим образом:

[0246] Если одно из следующих условий определено как истинное, PictureOutputFlag текущего изображения может быть установлено равным 0, так что изображение будет помечено как «не требуется для вывода» и не выводится:

[0247] (а) Текущее изображение является изображением RASL, а элемент синтаксиса NoOutputBeforeRecoveryFlag связанного изображения IRAP равен 1.

[0248] (b) Элемент синтаксиса gdr_enabled_flag равен 1, а текущее изображение является изображением GDR с NoOutputBeforeRecoveryFlag, равным 1.

[0249] (с) Элемент синтаксиса gdr_enabled_flag равен 1, текущее изображение связано с изображением GDR с NoOutputBeforeRecoveryFlag, равным 1, и PicOrderCntVal текущего изображения меньше RpPicOrderCntVal связанного изображения GDR.

[0250] (d) Элемент синтаксиса sps_video_parameter_set_id больше 0, ols_mode_idc равен 0, и текущий AU содержит изображение picA, которое удовлетворяет всем следующим условиям: PicA имеет PictureOutputFlag, равный 1; PicA имеет nuh_layer_id nuhLid больше, чем у текущего изображения; и PicA принадлежит выходному слою (например, ols_output_layer_flag [TargetOlsIdx] [GeneralLayerldx [nuh_layer_id]] равно 1).

[0251] (e) Элемент синтаксиса sps_video_parameter_set_id больше 0, ols_mode_idc равен 2, а элемент синтаксиса ols_output_layer_flag [TargetOlsIdx] [GeneralLayerldx [nuh_layer_id]] равен 0.

[0252] В противном случае PictureOutputFlag устанавливается равным pic_output_flag.

[0253] Процессы декодирования могут выполняться с использованием элементов синтаксиса на всех слоях структуры синтаксиса в соответствии с пунктами 8.4, 8.5, 8.6, 8.7 и 8.8 Документа 1. Например, может выполняться процесс декодирования для блоков кодирования, закодированных в режиме интра-предсказания, режиме интер-предсказания и режиме предсказания IBC; могут выполняться процессы масштабирования, преобразования и обработки массива; и могут выполняться процессы внутриконтурной фильтрации. Может требоваться соответствие битового потока, чтобы кодированные срезы изображения содержали данные срезов для каждого CTU изображения, так что деление изображения на срезы и разделение срезов на CTU образует разделение каждого изображения.

[0254] После того, как все срезы текущего изображения были декодированы, текущее декодированное изображение может быть помечено как «используется для краткосрочной ссылки», и каждая запись ILRP в RefPicList [0] или RefPicList [1] может быть помечена как «используется для краткосрочной справки».

[0255] Переменная GeneralLayerldx [i], определяющая индекс слоя для слоя с nuh_layer_id, равным vps_layer_id [i], может быть получена следующим образом:

[0256] Согласно одному или нескольким вариантам осуществления, блоки NAL и элементы синтаксиса в них (например, описанные в настоящем документе) могут быть приняты декодерами настоящего изобретения для декодирования видеоданных из кодированного видеопотока. Декодеры настоящего изобретения могут декодировать видеоданные из кодированного видеопотока. Например, как показано на фиг. 24, декодер (880) может содержать код декодирования (885), конфигурированный так, чтобы побудить по меньшей мере один процессор декодера (880) декодировать видеоданные. Согласно вариантам осуществления, код декодирования (885) может содержать код определения (887), конфигурированный так, чтобы побудить по меньшей мере один процессор определять, должно ли выводиться первое изображение кодированного видеопотока (например, PictureOutputFlag=0 или 1) на основе элемент синтаксиса (например, ols_mode_idc), который указывает режим (например, ols_mode_idc=0 или ols_mode_idc=2) сигнализации набора выходного слоя. Альтернативно или дополнительно, код определения (885) может быть конфигурирован так, чтобы побудить по меньшей мере один процессор определять, должно ли выводиться первое изображение кодированного видеопотока, на основе других условий, описанных в настоящем изобретении.

[0257] Методы, описанные выше, могут быть реализованы в виде компьютерного программного обеспечения с использованием машиночитаемых инструкций и физически сохранены на одном или нескольких машиночитаемых носителях. Например, фиг. 25 иллюстрирует компьютерную систему (900), подходящую для реализации вариантов осуществления раскрытого изобретения.

[0258] Компьютерное программное обеспечение может быть закодировано с использованием любого подходящего машинного кода или компьютерного языка, который может быть предметом сборки, компиляции, связывания или подобных механизмов для создания кода, содержащего инструкции, которые могут выполняться напрямую или посредством интерпретации, выполнения микрокода и т.п. центральными процессорами (ЦП) компьютера, блоками обработки графики (ГП) и т.п.

[0259] Инструкции могут выполняться на компьютерах различных типов или их компонентах, включая, например, персональные компьютеры, планшетные компьютеры, серверы, смартфоны, игровые устройства, устройства Интернета вещей и т.п.

[0260] Компоненты, показанные на фиг. 25 для компьютерной системы (900) являются примерными по своей природе и не предназначены для предложения каких-либо ограничений в отношении объема использования или функциональных возможностей компьютерного программного обеспечения, реализующего варианты осуществления настоящего изобретения. Конфигурация компонентов также не должна интерпретироваться как имеющая какую-либо зависимость или требование, относящееся к любому одному или комбинации компонентов, проиллюстрированных в примерном варианте осуществления компьютерной системы (900).

[0261] Компьютерная система (900) может включать в себя определенные устройства ввода с интерфейсом человека. Такое устройство ввода с человеческим интерфейсом может реагировать на ввод одним или несколькими пользователями-людьми посредством, например, тактильного ввода (например, нажатия клавиш, смахивания, движения перчаток данных), звукового ввода (например, голоса, хлопков в ладоши), визуального ввода, (например: жесты), обонятельный ввод (не изображен). Устройства с человеческим интерфейсом также могут использоваться для захвата определенных носителей, не обязательно напрямую связанных с сознательным вводом человеком, таких как звук (например, речь, музыка, окружающий звук), изображения (например, сканированные изображения, фотографические изображения, полученные из камера для неподвижных изображений), видео (например, двухмерное видео, трехмерное видео, включая стереоскопическое видео).

[0262] Устройства ввода с человеком могут включать в себя одно или несколько из (только по одному из каждого изображенного): клавиатура (901), мышь (902), трекпад (903), сенсорный экран (910), перчатка для данных, джойстик (905), микрофон (906), сканер (907) и камера (908).

[0263] Компьютерная система (900) может также включать в себя определенные устройства вывода с интерфейсом человека. Такие устройства вывода с человеческим интерфейсом могут стимулировать чувства одного или нескольких пользователей-людей посредством, например, тактильного вывода, звука, света и запаха/вкуса. Такие устройства вывода с человеческим интерфейсом могут включать в себя тактильные устройства вывода (например, тактильную обратную связь с помощью сенсорного экрана (910), перчаток для данных или джойстика (905), но также могут быть устройства с тактильной обратной связью, которые не служат в качестве устройств ввода). Например, такими устройствами могут быть устройства вывода звука (такие как: динамики (909), наушники (не показаны)), устройства вывода изображения (например, экраны (910), включая ЭЛТ-экраны, ЖК-экраны, плазменные экраны, OLED-экраны, каждый с возможностью ввода с сенсорного экрана или без него, каждый с возможностью тактильной обратной связи или без нее, некоторые из которых могут выводить двухмерный визуальный вывод или более трехмерный вывод с помощью таких средств, как стереографический вывод; очки виртуальной реальности (не изображены), голографические дисплеи и дымовые баки (не изображены)), а также принтеры (не изображены).

[0264] Компьютерная система (900) также может включать в себя доступные для человека устройства хранения и связанные с ними носители, такие как оптические носители, включая CD/DVD ROM/RW (920) с CD/DVD или подобные носители (921), флэш-накопитель (922), съемный жесткий диск или твердотельный накопитель (923), унаследованные магнитные носители, такие как лента и дискета (не показаны), специализированные устройства на основе ROM/ASIC/PLD, такие как защитные ключи (не показаны) и т.п.

[0265] Специалисты в данной области также должны понимать, что термин «машиночитаемый носитель», используемый в связи с раскрытым здесь предметом изобретения, не охватывает среды передачи, несущие волны или другие временные сигналы.

[0266] Компьютерная система (900) также может включать в себя интерфейс для одной или нескольких сетей связи. Сети могут быть, например, беспроводными, проводными, оптическими. Кроме того, сети могут быть локальными, глобальными, городскими, автомобильными и промышленными, работающими в реальном времени, устойчивыми к задержкам и т.д. Примеры сетей включают в себя локальные сети, такие как Ethernet, беспроводные LAN, сотовые сети, включая GSM, 3G, 4G, 5G, LTE и т.п., проводные телевизионные или беспроводные глобальные цифровые сети, включая кабельное телевидение, спутниковое телевидение и наземное вещание. Телевидение, автомобильное и промышленное оборудование, включая CANBus и т.д. Некоторым сетям обычно требуются адаптеры внешнего сетевого интерфейса, которые подключены к определенным портам данных общего назначения или периферийным шинам (949) (например, к портам USB компьютерной системы (900); другие обычно интегрируются в ядро компьютерной системы 900) путем подключения к системной шине, как описано ниже (например, интерфейс Ethernet к компьютерной системе ПК или интерфейс сотовой сети к компьютерной системе смартфона). Используя любую из этих сетей, компьютерная система (900) может связываться с другими объектами. Такая связь может быть однонаправленной, только для приема (например, широковещательное телевидение), однонаправленной только для отправки (например, CANbus на определенные устройства CANbus) или двунаправленной, например, для других компьютерных систем, использующих локальную или глобальную территорию цифровых сетей. Такое общение может включать обмен данными со средой облачных вычислений (955). Определенные протоколы и стеки протоколов могут использоваться в каждой из этих сетей и сетевых интерфейсов, как описано выше.

[0267] Вышеупомянутые устройства интерфейса человека, доступные человеку устройства хранения и сетевые интерфейсы (954) могут быть присоединены к ядру (940) компьютерной системы (900).

[0268] Ядро (940) может включать в себя один или несколько центральных процессоров (CPU) (941), графических процессоров (GPU) (942), специализированных программируемых процессоров в виде программируемых вентильных областей (FPGA) (943), аппаратного обеспечения, ускорители (944) для определенных задач и т.д. Эти устройства, наряду с постоянной памятью (ПЗУ) (945), памятью с произвольным доступом (946), внутренними запоминающими устройствами, такими как внутренние жесткие диски, не доступные пользователю, твердотельные накопители и т.п. (947), могут быть подключены через системную шину (948). В некоторых компьютерных системах системная шина (948) может быть доступна в форме одного или нескольких физических разъемов для обеспечения возможности расширения с помощью дополнительных процессоров, графических процессоров и т.п. Периферийные устройства могут быть подключены либо непосредственно к системной шине (948) ядра, либо через периферийную шину (949). Архитектура периферийной шины включает PCI, USB и т.п. Графический адаптер 950 может быть включен в ядро 940.

[0269] CPU (941), GPU (942), FPGA (943) и ускорители (944) могут исполнять определенные инструкции, которые в сочетании могут составлять вышеупомянутый компьютерный код. Этот компьютерный код может храниться в ROM (945) или RAM (946). Переходные данные также могут храниться в RAM (946), тогда как постоянные данные могут храниться, например, во внутреннем запоминающем устройстве (947). Быстрое хранение и извлечение на любое из запоминающих устройств могут быть включены за счет использования кэш-памяти, которая может быть тесно связана с одним или несколькими CPU (941), GPU (942), запоминающим устройством (947), ROM (945), RAM (946) и тому подобное.

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

[0271] В качестве примера, а не ограничения, компьютерная система, имеющая архитектуру (900) и, в частности, ядро (940), может обеспечивать функциональность за счет процессора(ов) (включая CPU, GPU, FPGA, ускорители и т.п.), исполняющего программное обеспечение, воплощенное на одном или нескольких материальных машиночитаемых носителях. Такие машиночитаемые носители могут быть носителями, связанными с доступным для пользователя массовым хранилищем, как описано выше, а также определенным хранилищем ядра (940), которое имеет энергонезависимую природу, например, внутреннее хранилище большой емкости (947) или ROM (945). Программное обеспечение, реализующее различные варианты осуществления настоящего изобретения, может храниться в таких устройствах и исполняться ядром (940). Машиночитаемый носитель может включать в себя одно или несколько запоминающих устройств или микросхем в соответствии с конкретными потребностями. Программное обеспечение может заставить ядро (940) и, в частности, процессоры в нем (включая CPU, GPU, FGPA и т.п.) выполнять определенные процессы или определенные части конкретных процессов, описанных в данном документе, включая определение структур данных, хранящихся в RAM (946), и изменение таких структур данных в соответствии с процессами, определенными программным обеспечением. Дополнительно или альтернативно компьютерная система может обеспечивать функциональность в результате логики, встроенной в аппаратную схему или иным образом воплощенной в схеме (например, ускоритель (944)), которая может работать вместо или вместе с программным обеспечением для выполнения определенных процессов или отдельных частей конкретных процессов, описанных в данном документе. Ссылка на программное обеспечение может включать в себя логику и наоборот, где это уместно. Ссылка на машиночитаемый носитель может охватывать схему (например, интегральную схему (IC)), хранящую программное обеспечение для исполнения, схему, воплощающую логику для исполнения, или и то, и другое, где это необходимо. Настоящее изобретение охватывает любую подходящую комбинацию аппаратного и программного обеспечения.

[0272] Хотя здесь описано несколько неограничивающих примерных вариантов осуществления, существуют изменения, перестановки и различные заменяющие эквиваленты, которые попадают в объем правовой охраны настоящего изобретения. Таким образом, будет принято во внимание, что специалисты в данной области техники смогут разработать многочисленные системы и способы, которые, хотя явно не показаны или не описаны здесь, воплощают принципы изобретения и, таким образом, находятся в рамках его сущности и объема.

Похожие патенты RU2804274C1

название год авторы номер документа
СПОСОБ ВЫВОДА НАБОРА СЛОЕВ ДЛЯ МНОГОСЛОЙНОГО ВИДЕОПОТОКА 2020
  • Чой Беондоо
  • Лю Шань
  • Венгер Штефан
RU2807213C1
СПОСОБ ВЫВЕДЕНИЯ НА ОСНОВЕ НАБОРА ВЫХОДНЫХ СЛОЕВ ПО СУБСЛОЮ 2021
  • Чой Беондоо
  • Лю Шань
  • Венгер Штефан
RU2809562C1
СПОСОБ ИНДИКАЦИИ ЧИСЛА ПОДУРОВНЕЙ В МНОГОУРОВНЕВОМ ВИДЕОПОТОКЕ 2020
  • Чой Бёнду
  • Лю Шань
  • Венгер Стефан
RU2783961C1
СПОСОБЫ СИГНАЛИЗИРОВАНИЯ КОМБИНАЦИИ ПЕРЕДИСКРЕТИЗАЦИИ ОПОРНОГО ИЗОБРАЖЕНИЯ И ПРОСТРАНСТВЕННОЙ МАСШТАБИРУЕМОСТИ 2021
  • Чой Беондоо
  • Венгер Штефан
  • Лю Шань
RU2810966C1
СПОСОБ ДЛЯ РЕЖИМА НАБОРА ВЫХОДНЫХ УРОВНЕЙ 2021
  • Чой Бёнду
  • Лю Шань
  • Венгер Стефан
RU2781173C1
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ВИДЕО 2021
  • Чой Беондоо
  • Лю Шань
  • Венгер Штефан
RU2808148C1
Способ сигнализации набора выходных уровней с субизображением 2020
  • Чой Бёнду
  • Венгер Стефан
  • Лю Шань
RU2777924C1
СПОСОБ СИГНАЛИЗАЦИИ НАБОРА ВЫХОДНЫХ СЛОЕВ С СУБИЗОБРАЖЕНИЕМ 2020
  • Чой Беондоо
  • Венгер Штефан
  • Лю Шань
RU2799572C1
Техника извлечения битового потока субизображения из потока кодированных видеоданных 2021
  • Чой Бёнду
  • Венгер Стефан
  • Лю Шань
RU2785689C1
СПОСОБ ДЛЯ РЕЖИМА НАБОРА ВЫХОДНЫХ УРОВНЕЙ В МНОГОУРОВНЕВОМ ВИДЕОПОТОКЕ 2020
  • Чой Бёнду
  • Лю Шань
  • Венгер Стефан
RU2787691C1

Иллюстрации к изобретению RU 2 804 274 C1

Реферат патента 2023 года СПОСОБ ВЫВОДА ИЗОБРАЖЕНИЯ С НАБОРОМ ВЫХОДНЫХ СЛОЕВ

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

Формула изобретения RU 2 804 274 C1

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

2. Способ по п.1, в котором одиночный элемент синтаксиса имеет значение 0 для указания режима сигнализации набора выходных слоев.

3. Способ по п.1, в котором набор параметров представляет собой набор параметров видео.

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

5. Способ по п.1, в котором одиночный элемент синтаксиса имеет значение 2 для указания режима сигнализации набора выходных слоев.

6. Способ по п.1, в котором набор параметров представляет собой набор параметров видео.

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

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

9. Система по п.8, в которой одиночный элемент синтаксиса имеет значение 0 для указания режима сигнализации набора выходных слоев.

10. Система по п.8, в которой набор параметров представляет собой набор параметров видео.

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

12. Система по п.8, в которой одиночный элемент синтаксиса имеет значение 2 для указания режима сигнализации набора выходных слоев.

13. Система по п.8, в которой набор параметров представляет собой набор параметров видео.

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

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

Документы, цитированные в отчете о поиске Патент 2023 года RU2804274C1

СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ВИДЕОДАННЫХ 2015
  • Ханнуксела Миска
RU2653299C2
SACHIN DESHPANDE, On VPS and Output Layer Set Signalling, Joint Video Experts Team (JVET) of ITU-T SG16 WP3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-Q0220-v1, 17th Meeting: Brussels, 7-17 January 2020
US 2015373376 A1 - 2015-12-24
US 2014301469 A1 - 2014-10-09
US 2015319462A1 - 2015-11-05
US 2015189322 A1 - 2015-07-02

RU 2 804 274 C1

Авторы

Чой Беондоо

Лю Шань

Венгер Штефан

Даты

2023-09-26Публикация

2020-10-15Подача