Способ передискретизации опорного изображения со смещением в битовом потоке видеоданных

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

 

Перекрестная ссылка на родственную заявку

[1] По настоящей заявке испрашивается приоритет предварительной заявки на выдачу патента США №62/905,319, поданной 24 сентября 2019 года, и заявки на выдачу патента США №17/022,727, поданной 16 сентября 2020 года, содержание которых полностью включено в настоящее описание посредством ссылки.

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

[2] Изобретение относится к кодированию и декодированию видеоданных и, более конкретно, к сигнализации передискретизации опорного изображения с указанием размера изображения передискретизации.

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

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

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

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

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

[7] Изменение размера изображения для предсказываемых изображений получило широко распространение в современном кодировании видеоданных. Например, VP9 позволяет выполнять передискретизацию опорного изображения и изменять разрешение для всего изображения. Аналогичным образом, некоторые предложения, сделанные в отношении VVC (в том числе, например, Hendry, et. al, "On adaptive resolution change (ARC) for VVC", документ JVET-M0135-v1, 9-19 января 2019 года, полностью включенный в настоящий документ), позволяют выполнять передискретизацию целых опорных изображений с различными - более высокими или более низкими - разрешениями. В настоящем документе предлагается кодировать различные возможные разрешения в наборе параметров последовательности и ссылаться на синтаксические элементы для каждого изображения в наборе параметров изображения.

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

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

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

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

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

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

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

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

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

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

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

[17] Фиг. 6А-6В схематические иллюстрации примеров таблиц синтаксиса в соответствии с вариантом осуществления изобретения.

[18] Фиг. 7 - схематическая иллюстрация сигнализации размера изображения и окна соответствия в PPS в соответствии с вариантом осуществления изобретения.

[19] Фиг. 8 схематическая иллюстрация сигнализации размера изображения и окна соответствия в PPS согласно варианту осуществления изобретения.

[20] Фиг. 9 блок-схема примера способа декодирования битового потока кодированных видеоданных в соответствии с вариантом осуществления изобретения.

[21] Фиг. 10 - схематическая иллюстрация компьютерной системы в соответствии с вариантом осуществления изобретения.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

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

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

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

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

[26] Система потоковой передачи может включать подсистему (213) захвата, которая может включать источник (201) видеоданных, например цифровую камеру, создающую, например, несжатый поток (202) отсчетов видеоданных. Этот поток (202) отсчетов, изображенный жирной линией, чтобы подчеркнуть большой объем данных по сравнению с битовыми потоками кодированных видеоданных, может быть обработан кодером (203), соединенным с камерой (201). Кодер (303) может включать в себя оборудование, программное обеспечение или их комбинацию для обеспечения или реализации аспектов настоящего изобретения, как более подробно описано ниже. Битовый поток (204) кодированных видеоданных, изображенный в виде тонкой линии, чтобы подчеркнуть меньший объем данных по сравнению с потоком отсчетов, может быть сохранен на сервере (205) потоковой передачи для дальнейшего использования. Один или более клиентов (206, 208) потоковой передачи могут получить доступ к серверу (205) потоковой передачи для извлечения копий (207, 209) битового потока (204) кодированных видеоданных. Клиент (206) может включать в себя видеодекодер (210), декодирующий входящую копию битового потока (207) кодированных видеоданных и создающий исходящий поток (211) отсчетов видеоданных, который может быть отображен на дисплее (212) или другом устройстве визуализации (не показано). В некоторых системах потоковой передачи битовые потоки (204, 207, 209) видеоданных могут кодироваться в соответствии с определенными стандартами кодирования/сжатия видеоданных. Примеры этих стандартов включают Рекомендацию МСЭ-Т Н.265. В стадии разработки находится стандарт кодирования видеоданных, неофициально известный как Универсальное кодирование видеоданных или VVC (Versatile Video Coding). Настоящее изобретение может использоваться в контексте VVC.

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

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

[29] Видеодекодер (210) может включать анализатор (320) для реконструкции символов (321) из энтропийно-кодированной видеопоследовательности. Категории этих символов включают информацию, используемую для управления работой декодера (210), и, возможно, информацию для управления устройством визуализации, например дисплеем (212), который не является неотъемлемой частью декодера, но может быть подключен к нему, как показано на фиг. 3. Информация управления для устройств(а) визуализации может представлять собой сообщения информации дополнительного улучшения (SEI, Supplemental Enhancement Information) или фрагменты набора параметров информации о возможности использования видео (VUI, Video Usability Information) (не показаны). Анализатор (320) может анализировать / энтропийно декодировать принятую кодированную видеопоследовательность. Кодирование видеопоследовательности может осуществляться в соответствии с технологией или стандартом видео кодирования и может следовать принципам, известным специалисту в данной области техники, включая кодирование с переменной длиной серии, кодирование Хаффмана, арифметическое кодирование с контекстной чувствительностью или без нее и т.д. Анализатор (320) может извлекать из кодированной видеопоследовательности набор параметров подгруппы для по меньшей мере одной из подгрупп пикселей в видеодекодере на основе по меньшей мере одного параметра, соответствующего группе. Подгруппы могут включать группы изображений (GOP, Groups of Pictures), изображения, субизображения, тайлы, слайсы, модули, макроблоки, единицы дерева кодирования (CTU, Coding Tree Unit), единицы кодирования (CU, Coding Unit), блоки, единицы преобразования (TU, Transform Unit), единицы предсказания (PU, Prediction Unit) и т.д. Тайл может указывать на прямоугольную область CU/CTU в определенном столбце и строке тайла на изображении. Модуль может указывать на прямоугольную область строк CU/CTU внутри определенного тайла. Слайс может указывать на один или более модулей изображения, которые содержатся в блоке NAL. Субизображение может указывать на прямоугольную область одного или более слайсов на изображении. Энтропийный декодер / анализатор также может извлекать из кодированной видеопоследовательности информацию, например, коэффициенты преобразования, значения параметров квантователя, векторы движения и т.д.

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

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

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

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

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

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

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

[37] Модуль (356) контурного фильтра может выдавать поток отсчетов, который может поступать на устройство (212) визуализации, а также сохраняться в памяти 557 опорных изображений для использования в будущем внешнем предсказании изображения.

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

[39] Видеодекодер 210 может осуществлять операции декодирования согласно заранее заданной технологии сжатия видеоданных, задокументированной в стандарте, таком как Рекомендация МСЭ-Т Н.265. Кодированная видеопоследовательность может соответствовать синтаксису, заданному используемой технологией или используемым стандартом сжатия видеоданных, в том смысле, что кодированная видеопоследовательность может придерживаться синтаксиса технологии или стандарта сжатия видеоданных, указанного в документе технологии сжатия видеоданных или в стандарте и, в частности, в документе, касающемся профилей. Также для согласованности может быть необходимо, чтобы сложность кодированной видеопоследовательности оставалась в границах, заданных уровнем технологии или стандарта сжатия видеоданных. В ряде случаев, уровни ограничивают максимальный размер изображения, максимальную частоту кадров, максимальную частоту отсчетов для реконструкции (измеряемую, например, в мегаотсчетах в секунду), максимальный размер опорного изображения и т.д. Пределы, установленные уровнями, в ряде случаев могут дополнительно ограничиваться спецификациями гипотетического эталонного декодера (HRD, Hypothetical Reference Decoder) и метаданными для управления буфером HRD, сигнализируемыми в кодированной видеопоследовательности.

[40] Согласно варианту осуществления изобретения, приемник (310) может принимать дополнительные (избыточные) данные с кодированными видеоданными. Дополнительные данные могут быть включены как часть кодированной(ых) видеопоследовательности(ей). Дополнительные данные могут использоваться видеодекодером (210) для правильного декодирования данных и/или более точной реконструкции исходных видеоданных. Дополнительные данные могут представлять собой, например, временные уровни улучшения, пространственные уровни улучшения или уровни улучшения отношения "сигнал/шум" (SNR, signal noise ratio), избыточные слайсы, избыточные изображения, коды прямой коррекции ошибок и т.д.

[41] На фиг. 4 показана функциональная схема видеокодера (203) согласно варианту осуществления настоящего изобретения.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[59] Видеокодер (203) может осуществлять операции кодирования согласно заранее заданной технологии или стандарту кодирования видеоданных, например, Рекомендации МСЭ-Т Н.265. В своей работе видеокодер (203) может осуществлять различные операции сжатия, в том числе операции кодирования с предсказанием, которые используют временную и пространственную избыточность во входной видеопоследовательности. Поэтому кодированные видеоданные могут соответствовать синтаксису, заданному используемой технологией или используемым стандартом кодирования видеоданных.

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

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

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

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

[64] Передискретизация опорного изображения (RPR, Reference Picture Resampling) или адаптивное изменение разрешения (ARC, Adaptive Resolution Change) могут относиться к механизмам, которые позволяют изменять разрешение изображения или субизображения в кодированной видеопоследовательности, например, посредством передискретизации опорного изображения. Параметры RPR/ARC в дальнейшем относятся к управляющей информации, которая необходима для выполнения адаптивного изменения разрешения и может включать, например, параметры фильтра, коэффициенты масштабирования, разрешения выходных и/или опорных изображений, различные флаги управления и т.д.

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

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

[67] Классы параметров RPR/ARC могут включать:

[68] - коэффициенты повышающей/понижающей дискретизации, по отдельности или в комбинации в измерениях X и Y

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

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

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

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

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

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

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

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

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

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

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

[80] Как показано на фиг. 6А, заголовок (601) группы тайлов в качестве примера синтаксической структуры заголовка, применимого к (возможно, прямоугольной) части изображения, может условно содержать синтаксический элемент dec_pic_size_idx (602) (выделен жирным шрифтом) переменной длины, кодированный экспоненциальным кодом Голомба. Наличие этого синтаксического элемента в заголовке группы тайлов может быть обусловлено использованием адаптивного разрешения (603) - здесь значение флага не выделено жирным шрифтом, что означает, что флаг присутствует в битовом потоке в том месте, где он встречается в синтаксической диаграмме. О том, используется ли адаптивное разрешение для данного изображения или его части, может сигнализироваться в любой синтаксической структуре высокого уровня внутри или вне битового потока. В показанном примере это сигнализируется в наборе параметров последовательности, как описано ниже.

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

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

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

[84] Наконец, показана таблица возможных значений ширины и высоты изображения при декодировании. Такая таблица может быть выражена, например, указанием таблицы (num_dec_pic_size_in_luma_samples_minus1) (616). Здесь "minus1" может относиться к интерпретации значения этого синтаксического элемента. Например, если кодированное значение равно нулю, то присутствует одна запись таблицы. Если значение равно пяти, то в таблице присутствует шесть записей. Для каждой "строки" в таблице ширина и высота декодированного изображения затем включаются в синтаксис (617).

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

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

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

[88] В одном из вариантов осуществления изобретения размер окна соответствия может сигнализироваться в PPS. Параметры окна соответствия могут использоваться для вычисления коэффициента передискретизации, когда размер окна соответствия опорного изображения отличается от размера окна соответствия текущего изображения. Декодеру может потребоваться распознать размер окна соответствия каждого изображения, чтобы определить необходимость процесса передискретизации.

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

[90] Однако это также может вызвать различные проблемы. Например, когда размер окна соответствия сильно отличается от размера декодированного изображения с большими значениями смещения, для иммерсивных медиаприложений (таких как 360-градусная кубическая карта, стереоскопические изображения, облако точек), вычисление коэффициента масштабирования на основе размера окна соответствия может не гарантировать качество внешнего предсказания с различными разрешениями. В крайних случаях совмещенная область текущей CU в опорном изображении может отсутствовать. Когда RPR используется для масштабируемости с множеством уровней, смещения окна соответствия могут не использоваться для расчета ссылочной области между уровнями. Следует отметить, что ссылочная область каждого непосредственно зависимого уровня может быть явно передана в PPS-расширении, в расширении масштабируемости HEVC (SHVC, HEVC Scalability Extension). Когда из всего битового потока извлекается битовый субпоток, нацеленный на определенную область (субизображение), размер окна соответствия вовсе не совпадает с размером изображения. Следует отметить, что параметры окна соответствия не могут быть обновлены до тех пор, пока они используются для вычисления масштабирования после кодирования битового потока.

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

[92] В одном из вариантов осуществления изобретения, показанном на фиг. 7, флаг conformance_window_flag может сигнализироваться в PPS. Флаг conformance_window_flag, равный 1, может указывать на то, что параметры смещения окна соответствия для обрезки следуют далее в PPS. Флаг conformance_window_flag, равный 0, может указывать на то, что параметры смещения окна соответствия для обрезки отсутствуют.

[93] В варианте осуществления изобретения, показанном на фиг. 7, conf_win_left_offset, conf_win_right_offset, conf_win_top_offset и conf_win_bottom_offset определяют отсчеты изображений, ссылающихся на PPS, которые выводятся в процессе декодирования, в отношении прямоугольной области, указанной в координатах изображения для вывода. Когда параметр conformance_window_flag равен 0, может быть сделан вывод, что значения conf_win_left_offset, conf_win_right_offset, conf_win_top_offset и conf_win_bottom_offset равны 0.

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

[95] В одном из вариантов осуществления изобретения, показанном на фиг. 8А, флаг use_conf_win_for_rpr_flag, равный 0, может указывать на то, что resampled_pic_width_in_luma_samples и resampled_pic_height_in_luma samples следуют в подходящем месте, например, далее в PPS.

[96] В одном из вариантов осуществления изобретения флаг use_conf_win_for_rpr_flag, равный 1, может указывать на то, что resampling_pic_width_in_luma_samples и resampling_pic_height_in_luma samples отсутствуют.

[97] В одном из вариантов осуществления изобретения параметр resampling_pic_width_in_luma_samples может означать ширину каждого опорного изображения, относящегося к PPS, в единицах отсчетов яркости для передискретизации. Значение параметра resampling_pic_width_in_luma_samples может быть не равно 0, может быть целым числом, кратным Мах(8, MinCbSizeY), и может быть меньше или равно значению pic_width_max_in_luma_samples.

[98] В одном из вариантов осуществления изобретения параметр resampling_pic_height_in_luma_samples может означать высоту каждого опорного изображения, относящегося к PPS, в единицах отсчетов яркости, для передискретизации. Значение параметра resampling_pic_height_in_luma_samples может быть не равно 0, может быть целым числом, кратным Мах(8, MinCbSizeY), и может быть меньше или равно значению pic_height_max_in_luma_samples.

[99] Если синтаксический элемент resampling_pic_width_in_luma_samples отсутствует, может быть сделан вывод, что значение resampling_pic_width_in_luma_samples равно PicOutputWidthL.

[100] Если синтаксический элемент resampling_pic_height_in_luma_samples отсутствует, может быть сделан вывод, что значение resampling_pic_height_in_luma_samples равно PicOutputHeightL.

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

[102] Переменная fRefWidth может быть задана равной значению resampling_pic_width_in_luma_samples опорного изображения в отсчетах яркости.

[103] Переменная fRefHeight может быть задана равной resampling_pic_height_in_luma_samples опорного изображения в отсчетах яркости.

[104] Вектор движения mvLX может быть задан равным (refMvLX - mvOffset).

[105] Если значение cIdx равно 0, коэффициенты масштабирования и их представления с фиксированной точкой могут быть заданы в соответствии с выражениями (1) и (2) ниже:

[106] В варианте осуществления изобретения, показанном на фиг. 8В, флаг use_conf_win_for_rpr_flag, равный 0, может указывать на то, что resampled_pic_width_in_luma_samples и resampled_pic_height_in_luma_samples следуют далее в PPS. Значение use_conf_wid_for_rpr_flag, равное 1, указывает на то, что значения resampling_pic_width_in_luma_samples и resampling_pic_height_in_luma_samples отсутствуют.

[107] В одном из вариантов осуществления изобретения параметр ref_region_left_offset может задавать горизонтальное смещение левого верхнего отсчета яркости опорной области в декодированном изображении. Значение refregion_left_offset должно находиться в диапазоне от -214 до 214 - 1 включительно. Если значение ref_region_left_offset отсутствует, можно сделать вывод, что оно равно conf_win_left_offset.

[108] В одном из вариантов осуществления изобретения параметр ref_region_top_offset может задавать вертикальное смещение левого верхнего отсчета яркости опорной области в декодированном изображении. Значение ref_region_top_offset должно находиться в диапазоне от -214 до 214 - 1 включительно. Если значение ref_region_top_offset отсутствует, можно сделать вывод, что оно равно conf_win_right_offset.

[109] В одном из вариантов осуществления изобретения параметр ref_region_right_offset может задавать горизонтальное смещение нижнего правого отсчета яркости опорной области в декодированном изображении. Значение ref_layer_right_offset должно находиться в диапазоне от 214 до 214 1 включительно. Если значение ref_region_right_offset отсутствует, можно сделать вывод, что оно равно conf_win_top_offset.

[110] В одном из вариантов осуществления изобретения ref_region_bottom offset может задавать вертикальное смещение нижнего правого отсчета яркости опорной области в декодированном изображении. Значение ref_layer_bottom offset должно находиться в диапазоне от -214 до 214 - 1 включительно. Если значение ref_region_bottom_offset[ ref_loc_offset_layer id[i]] отсутствует, можно сделать вывод, что оно равно conf_win_bottom_offset.

[111] Переменные PicRefWidthL и PicRefHeightL могут быть получены, как показано в выражениях (3) и (4) ниже:

[112] Переменная fRefWidth может быть задана равной значению PicRefWidthL опорного изображения в отсчетах яркости.

[113] Переменная fReffleight может быть задана равной значению PicRefHeightL опорного изображения в отсчетах яркости.

[114] Вектор движения mvLX может быть задан равным (refMvLX mvOffset).

[115] Если cIdx равно 0, коэффициенты масштабирования и их представления с фиксированной точкой могут быть определены, как показано в выражениях (5) и (6) ниже:

[116] Левая верхняя координата ограничивающего блока для дополнения (padding) опорных отсчетов (xSbIntL, ySbIntL) может быть задана равной

(xSb+(mvLX[0] >> 4), ySb+(mvLX[1] >> 4)).

[117] Для каждого местоположения отсчета яркости

(xL=0..sbWidth - 1+brdExtSize, yL=0..sbHeight - 1+brdExtSize)

в массиве отсчетов яркости для предсказания predSamplesLX, соответствующее значение отсчета яркости для предсказания predSamplesLX[xL][yL] может быть получено следующим образом:

- Пусть (refxSbL, refySbL) и (refxL, refyL) являются местоположениями для яркости, на которые указывает вектор движения (refMvLX, refMvLX), заданный в единицах измерения 1/16 отсчета. Переменные refxSbL, refxL, refySbL и refyL могут быть получены, как показано в выражениях (7)-(10) ниже:

[118] На фиг. 9 представлена блок-схема, представляющая собой пример способа 900 декодирования битового потока кодированных видеоданных. В некоторых вариантах осуществления изобретения один или более этапов способа на фиг. 9 могут выполняться декодером 210. В некоторых вариантах осуществления изобретения один или более этапов способа на фиг. 9 могут выполняться другим устройством или группой устройств, отдельных от декодера 210 или включающих декодер 210, например кодером 203.

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

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

[121] Если определено, что второй флаг указывает на то, что размер изображения передискретизации сигнализируется (ветвь "Да" на этапе 920), способ 900 может перейти к этапу 930, а затем к этапу 950. На этапе 930 способ 900 может включать определение коэффициента передискретизации на основе размера изображения передискретизации.

[122] Если определено, что второй флаг не указывает на то, что окно соответствия используется для передискретизации опорного изображения (ветвь "Нет" на этапе 920), способ 900 может перейти к этапу 940, а затем к этапу 950. На этапе 940 способ 900 может включать определение коэффициента передискретизации на основе размера выходного изображения.

[123] Как показано на фиг. 9, способ 900 может включать осуществление передискретизации опорного изображения для текущего изображения с использованием коэффициента передискретизации (этап 950).

[124] В варианте осуществления флаг может сигнализироваться в наборе параметров изображения.

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

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

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

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

[129] В варианте осуществления изобретения по меньшей мере одно расстояние смещения может сигнализироваться в наборе параметров изображения.

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

[131] Хотя на фиг. 9 показаны примеры этапов способа 900, в некоторых вариантах осуществления изобретения способ 900 может включать дополнительные этапы, меньшее количество этапов, другие этапы или этапы, расположенные по-другому, чем показано на фиг.9. Дополнительно или альтернативно два или более этапа способа 900 могут выполняться параллельно.

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

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

[134] Компьютерное программное обеспечение может кодироваться с использованием любого подходящего машинного кода или компьютерного языка, который может подвергаться ассемблированию, компиляции, редактированию связей или аналогичной обработке для создания кода, содержащего инструкции, которые могут выполняться напрямую или посредством интерпретации, выполнения микрокода и т.п., компьютерными центральными процессорами (CPU, central processing units), графическими процессорами (GPU, Graphics Processing Units) и т.п.

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

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

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

[138] Входной человеко-машинный интерфейс устройства может включать одно или более из следующего (показано по одному): клавиатура 1001, мышь 1002, сенсорная панель 1003, сенсорный экран 1010 и связанный с ним графический адаптер 1050, информационная перчатка, джойстик 1005, микрофон 1006, сканер 1007 и камера 1008.

[139] Компьютерная система 1000 также может включать в себя некоторые устройства вывода с человеко-машинным интерфейсом. Такие устройства вывода могут стимулировать органы чувств одного или более пользователей посредством, например, тактильного вывода, звука, света и запаха/вкуса. Такие устройства вывода могут включать устройства тактильного вывода (например, тактильной обратной связи посредством сенсорного экрана 1010, информационной перчатки или джойстика 1005, а также устройства тактильной обратной связи, которые не служат устройствами ввода), устройства вывода аудио (например: динамики 1009, наушники (не показаны)), устройства визуального вывода (например, экраны 1010, в том числе экраны на электронно-лучевых трубках (CRT, cathode ray tube), жидкокристаллические экраны (LCD, liquid-crystal display), плазменные экраны, экраны на органических светодиодах (OLED, organic light-emitting diode), каждый с возможностями сенсорного экранного ввода или без них, каждый с возможностями тактильной обратной связи или без них, некоторые из них способны к двумерному визуальному выводу или более чем трехмерному выводу посредством, например, стереографическому выводу, очки виртуальной реальности (не показаны), голо графические дисплеи, дымовые баки (не показаны) и принтеры (не показаны).

[140] Компьютерная система 1000 также может включать доступные человеку запоминающие устройства и связанные с ними носители, например, оптические носители, включающие CD/DVD ROM/RW 1020 с носителями 1021 CD/DVD и т.п., карты 1022 флэш-памяти, сменный жесткий диск или твердотельный диск 1023, традиционные магнитные носители, например, ленту и магнитный диск (не показан), специализированные устройства на основе ROM/ASIC/PLD, например, защитные аппаратные ключи (не показаны) и т.п.

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

[142] Компьютерная система 1000 также может включать интерфейс(ы) к одной или более сетям (1155) связи. Сети могут быть, например, беспроводными, проводными, оптическими. Сети могут быть также локальными, глобальными, городскими, транспортными и промышленными, реального времени, допускающими задержку и т.д. Примеры сетей включают локальные сети, например, Ethernet, беспроводные сети LAN, сотовые сети, в том числе глобальные системы мобильной связи (GSM, global systems for mobile communications), сети поколений 3G, 4G и 5G, сети технологии долгосрочного развития (LTE, Long-Term Evolution) и т.п., глобальные цифровые сети проводного или беспроводного телевидения, в том числе кабельное телевидение, спутниковое телевидение и наземное телевещание, транспортные и промышленные сети, включающие CANBus и т.д. Некоторые сети обычно требуют внешних адаптеров (1154) сетевого интерфейса, которые подключены к некоторым портам данных общего назначения или периферийным шинам (1149) (например, порты универсальной последовательной шины (USB, universal serial bus) компьютерной системы 1000); другие обычно встраиваются в ядро компьютерной системы 1000 путем подключения к системной шине, как описано ниже (например, интерфейс Ethernet в компьютерную систему PC или интерфейс сотовой сети в компьютерную систему смартфона). Например, сеть 1055 может быть подключена к периферийной шине 1049 с использованием сетевого интерфейса 1054. Используя любую из этих сетей, компьютерная система 1000 может осуществлять связь с другими объектами. Такая связь может быть однонаправленной с возможностью только приема (например, телевещания), однонаправленной с возможностью только передачи (например, CANbus к некоторым устройствам CANbus) или двунаправленной, например, к другим компьютерным системам с использованием локальной или глобальной цифровой сети. Некоторые протоколы и стеки протоколов могут использоваться в каждой из этих сетей и вышеописанных сетевых интерфейсов (1154).

[143] Вышеупомянутые устройства человеко-машинного интерфейса, доступные человеку запоминающие устройства и сетевые интерфейсы могут подключаться к ядру 1040 компьютерной системы 1000.

[144] Ядро 1040 может включать один или более центральных процессоров (CPU) 1041, графические процессоры (GPU) 1042, специализированные программируемые модули обработки в форме вентильных матриц, программируемых пользователем (FPGA, Field Programmable Gate Arrays) 1043, аппаратные ускорители 1044 для некоторых задач и т.д. Эти устройства, совместно с постоянной памятью (ROM) 1045, оперативной памятью 1046 (RAM), внутренним хранилищем данных большой емкости, например, внутренними жесткими дисками, недоступными пользователю, твердотельными накопителями (SSD, solid-state drives) и т.п. 1047, могут соединяться посредством системной шины 1048. В некоторых компьютерных системах системная шина 1048 может быть доступна в форме одного или более физических разъемов для обеспечения расширений за счет дополнительных процессоров CPU, GPU и т.п. Периферийные устройства могут подключаться либо напрямую к системной шине 1048 ядра, либо через периферийную шину 1049. Архитектуры периферийной шины включают шину соединения периферийных компонентов (PCI, peripheral component interconnect), USB и т.п.

[145] Устройства CPU 1041, GPU 1042, FPGA 1043 и ускорители 1044 могут выполнять некоторые инструкции, которые совместно могут составлять вышеупомянутый компьютерный код. Этот компьютерный код может храниться в памяти ROM 1045 или RAM 1046. Временные данные также могут храниться в памяти RAM 1046, тогда как постоянные данные могут храниться, например, во внутреннем хранилище 1047 данных большой емкости. Быстрое сохранение и извлечение из любого запоминающего устройства может обеспечиваться за счет использования кэшпамяти, которая может быть тесно связана с одним или более процессорами CPU 1041, GPU 1042, хранилищем 1047 данных большой емкости, памятью ROM 1045, RAM 1046 и т.п.

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

[147] В порядке примера, но не ограничения изобретения, компьютерная система, имеющая архитектуру 1000, и, в частности, ядро 1040 может обеспечивать функциональные возможности благодаря выполнению процессором(ами) (включающим(и) в себя CPU, GPU, FPGA, ускорители и т.п.) программного обеспечения, воплощенного в одном или более материальных машиночитаемых носителей. Такие машиночитаемые носители могут быть носителями, связанными с доступным пользователю хранилищем данных большой емкости, представленным выше, а также некоторым постоянным хранилищем ядра 1040, например, внутренним хранилищем 1047 данных большой емкости или ROM 1045. Программное обеспечение, реализующее различные варианты осуществления настоящего изобретения, может храниться в таких устройствах и выполняться ядром 1040. Машиночитаемый носитель может включать одно или более запоминающих устройств или микросхем, в соответствии с конкретными нуждами. Программное обеспечение может предписывать ядру 1040 и, в частности, его процессорам (включая CPU, GPU, FPGA и т.п.) выполнять конкретные способы или конкретные части описанных здесь конкретных способов, включая задание структур данных, хранящихся в памяти RAM 1046, и модификацию таких структур данных согласно способам, заданным программным обеспечением. Дополнительно или альтернативно, компьютерная система может обеспечивать функциональные возможности благодаря логике, зашитой или иным образом воплощенной в схеме (например, ускоритель 1044), которая может действовать вместо программного обеспечения или совместно с программным обеспечением для выполнения конкретных способов или конкретных частей описанных здесь конкретных способов. Ссылка на программное обеспечение может охватывать логику, и наоборот, когда это уместно. Ссылка на машиночитаемые носители может охватывать схему (например, интегральную схему (IC, integrated circuit)), где хранится программное обеспечение для выполнения, схему, воплощающую логику для выполнения, или обе схемы, когда это уместно. Настоящее изобретение охватывает любую подходящую комбинацию аппаратного и программного обеспечения.

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

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

получение флага, указывающего на то, что окно соответствия не используется для передискретизации опорного изображения;

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

на основе определения того, что размер изображения передискретизации сигнализируется, определение коэффициента передискретизации на основе размера изображения передискретизации;

на основе определения того, что размер изображения передискретизации не сигнализируется, определение коэффициента передискретизации на основе размера выходного изображения; и

выполнение передискретизации опорного изображения для текущего изображения с использованием коэффициента передискретизации.

2. Способ по п. 1, в котором флаг сигнализируют в наборе параметров изображения.

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

4. Способ по п. 3, в котором ширину и/или высоту сигнализируют в наборе параметров изображения.

5. Способ по п. 3, в котором ширину и/или высоту выражают как количество отсчетов яркости, включенных в ширину и/или высоту.

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

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

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

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

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

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

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

9. Устройство для декодирования битового потока кодированных видеоданных, содержащее:

по меньшей мере одну память, сконфигурированную для хранения программного кода, и

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

10. Машиночитаемый носитель, хранящий инструкции, включающие: одну или более инструкций, которые при их исполнении одним или более процессорами устройства для декодирования битового потока кодированных видеоданных обеспечивают выполнение одним или более процессорами способа декодирования битового потока кодированных видеоданных по любому из пп. 1-8.



 

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

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

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

Изобретение относится к области вычислительной техники для обмена данными изображения. Технический результат заключается в улучшении обмена данными изображения на основе нелинейности восприятия яркости между разными возможностями отображения.

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

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

Изобретение относится к средствам для обработки изображений. Технический результат заключается в повышении эффективности кодирования изображений за счет понижения объема памяти используемого для хранения временных векторов движения (MV) при обеспечении требуемой точности MV.

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

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

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

Группа изобретений относится к технологиям предсказывания компонента цветности видео. Техническим результатом является повышение точности предсказываемого значения цветоразностного компонента.

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