HMVC ДЛЯ АФФИННОГО РЕЖИМА И РЕЖИМА ПРЕДСКАЗАНИЯ ВЕКТОРА ДВИЖЕНИЯ SBTMVP Российский патент 2024 года по МПК H04N19/513 

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

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

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

Предшествующий уровень техники настоящего изобретения

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

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

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

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

Краткое раскрытие настоящего изобретения

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

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

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

Согласно другому общему аспекту по меньшей мере одного варианта осуществления предлагается устройство, содержащее устройство согласно любому из вариантов осуществления декодирования; и по меньшей мере одно из (i) антенны, выполненной с возможностью приема сигнала, причем сигнал содержит декодированные блоки изображения, (ii) ограничителя полосы, выполненного с возможностью ограничения принятого сигнала полосой частот, содержащей декодированные блоки изображения, и (iii) дисплея, выполненного с возможностью отображения выходного сигнала, представляющего декодированные блоки изображения.

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

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

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

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

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

Краткое описание фигур

На фиг. 1 изображен кодер;

на фиг. 2 изображена принципиальная схема видеодекодера;

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

на фиг. 4 изображены структуры дерева кодирования и единиц дерева кодирования (CTU), используемые для представления сжатых изображений, например, в соответствии со стандартом сжатия видео HEVC;

на фиг. 5А и 5В изображено поле вектора аффинного движения на основании подблоков 4×4 для двух и трех контрольных точек соответственно;

на фиг. 7 схематически изображен способ 70 кодирования/декодирования блоков текущего изображения.

Подробное раскрытие настоящего изобретения

Общие аспекты, описанные в настоящем документе, относятся к области сжатия видео. Эти аспекты направлены на повышение эффективности сжатия по сравнению с существующими системами сжатия видео.

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

Аспекты, описанные и предложенные в настоящей заявке, могут быть реализованы во множестве различных форм. На фиг. 1, 2 и 3 ниже представлены некоторые варианты осуществления, однако возможны и другие варианты осуществления, и описание фиг. 1, 2 и 3 не ограничивает объем вариантов реализации. По меньшей мере один из аспектов в целом относится к кодированию и декодированию видео, и по меньшей мере один другой аспект в целом относится к передаче сгенерированного или кодированного битового потока. Эти и другие аспекты могут быть реализованы как способ, устройство, машиночитаемый носитель данных, на котором хранятся инструкции для кодирования или декодирования видеоданных согласно любому из описанных способов, и/или машиночитаемый носитель данных, на котором хранится битовый поток, сгенерированных согласно любому из описанных способов.

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

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

Различные способы и другие аспекты, описанные в настоящей заявке, могут использоваться для изменения модулей, например, модулей 170 и 275 компенсации движения видеокодера 100 и декодера 200, как показано на фиг. 1 и фиг. 2. Более того, настоящие аспекты не ограничены VVC или HEVC, и могут применяться, например, к другим стандартам и рекомендациям, которые уже существуют или будут разработаны в будущем, и к расширениям любых таких стандартов и рекомендаций (включая VVC и HEVC). Если не указано иное, или если это технически возможно, аспекты, описанные в настоящей заявке, могут использоваться по отдельности или в комбинации.

На фиг. 1 изображен кодер 100. Возможны вариации этого кодера 100, но кодер 100 описан ниже для ясности без описания всех ожидаемых вариаций.

Перед кодированием видеопоследовательность может быть подвергнута обработке 101 перед кодированием, например, применению преобразования цвета к входному цветному изображению (например, преобразования из RGB 4:4:4 в YCbCr 4:2:0), или преобразованию со сжатием компонентов входного изображения для получения распределения сигнала, более устойчивого к сжатию (например, с использованием выравнивания гистограммы одного из компонентов цвета). Метаданные могут быть связаны с предварительной обработкой и прикреплены к битовому потоку.

В кодере 100 изображение кодируется посредством элементов кодера, как описано ниже. Изображение, подлежащее кодированию, разбивается (102) и обрабатывается в виде единиц, например, CU. Каждая единица кодируется, например, с помощью внутри- или межкадрового режима. Когда единица кодируется во внутрикадровом режиме, выполняется внутрикадровое предсказание (160). В межкадровом режиме выполняются оценка движения (175) и компенсация (170). Кодер решает (105), какой режим использовать для кодирования единицы - внутрикадровый или межкадровый, и указывает решение о выборе внутрикадрового/межкадрового режима, например, посредством флага режима предсказания. Остатки предсказания вычисляются, например, путем вычитания (110) предсказанного блока из исходного блока изображения.

Остатки предсказания затем подвергают преобразованию (125) и квантованию (130). Квантованные коэффициенты преобразования, а также векторы движения и другие элементы синтаксиса, подвергают энтропийному кодированию (145) для вывода битового потока. Кодер может пропускать преобразование и применять квантование непосредственно к не подвергнутому преобразованию остаточному сигналу. Кодер может обходить как преобразование, так и квантование, т. е. остаток кодируется непосредственно без применения процессов преобразования или квантования.

Кодер декодирует кодированный блок для обеспечения опорного блока для дальнейших предсказаний. Квантованные коэффициенты преобразования подвергаются деквантованию (140) и обратному преобразованию (150) для декодирования остатков предсказания. За счет комбинирования (155) декодированных остатков предсказания и предсказанного блока восстанавливают блок изображения. Фильтры внутри петли (165) применяются к восстановленному изображению для выполнения, например, удаления блочности/фильтрации SAO (адаптивного смещения отсчетов) для уменьшения артефактов кодирования. Подвергнутое фильтрации графическое изображение хранится в буфере (180) опорных изображений.

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

В частности, входные данные декодера включают битовый поток видео, который может быть сгенерирован видеокодером 100. Битовый поток сначала подвергается энтропийному декодированию (230) для получения коэффициентов преобразования, векторов движения и другой кодированной информации. Информация о разбиении изображения указывает, как разбивается изображение. Декодер, таким образом, может разделять (235) изображение согласно информации о разбиении декодированного изображения. Коэффициенты преобразования подвергаются деквантованию (240) и обратному преобразованию (250) для декодирования остатков предсказания. За счет комбинирования (255) декодированных остатков предсказания и предсказанного блока восстанавливают блок изображения. Предсказанный блок может быть получен (270) на основании внутрикадрового предсказания (260) или предсказания с компенсацией движения (т. е. межкадрового предсказания) (275). Фильтры внутри петли (265) применяются к восстановленному графическому изображению. Подвергнутое фильтрации графическое изображение хранится в буфере (280) опорных изображений.

Декодированное изображение может быть дополнительно подвергнуто обработке (285) после декодирования, например, обратному преобразованию цвета (например, преобразованию из YCbCr 4:2:0 в RGB 4:4:4) или обратному преобразованию со сжатием, выполняющему действие, обратное процессу преобразования со сжатием, выполняемому при обработке (101) перед кодированием. Обработка после декодирования может использовать метаданные, полученные при обработке перед кодированием и переданные в битовом потоке.

На фиг. 3 изображена принципиальная схема примера системы, в которой реализованы различные аспекты и варианты осуществления. Система 1000 может быть реализована как устройство, содержащее различные компоненты, описанные ниже, и выполнена с возможностью выполнения одного или нескольких аспектов, описанных в этом документе. Примеры таких устройств включают, без ограничения, различные электронные устройства, такие как персональные компьютеры, ноутбуки, смартфоны, планшетные компьютеры, цифровые мультимедийные телевизионные приставки, цифровые телевизионные приемники, персональные системы видеозаписи, подключенные бытовые приборы и серверы. Элементы системы 1000, по отдельности или в комбинации, могут быть реализованы в одной интегральной схеме (IC), нескольких IC и/или дискретных компонентах. Например, согласно по меньшей мере одному варианту осуществления элементы обработки и кодера/декодера системы 1000 распределены среди нескольких IC и/или дискретных компонентов. Согласно различным вариантам осуществления система 1000 с возможностью связи соединена с одной или несколькими другими системами или другими электронными устройствами посредством, например, шины связи или посредством выделенных портов ввода и/или вывода. Согласно различным вариантам осуществления система 1000 выполнена с возможностью реализации одного или нескольких аспектов, описанных в настоящем документе.

Система 1000 содержит по меньшей мере один процессор 1010, выполненный с возможностью исполнения инструкций, загруженных на него, для реализации, например, различных аспектов, описанных в настоящем документе. Процессор 1010 может содержать встроенное запоминающее устройство, интерфейс ввода/вывода и различные другие схемы, известные в уровне техники. Система 1000 содержит по меньшей мере одно запоминающее устройство 1020 (например, энергозависимое запоминающее устройство и/или энергонезависимое запоминающее устройство). Система 1000 содержит устройство 1040 хранения данных, которое может содержать энергонезависимое запоминающее устройство и/или энергозависимое запоминающее устройство, включая без ограничения, электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), постоянное запоминающее устройство (ROM), программируемое постоянное запоминающее устройство (PROM), оперативное запоминающее устройство (RAM), динамическое оперативное запоминающее устройство (DRAM), статическое оперативное запоминающее устройство (SRAM), флеш-память, накопитель на магнитных дисках и/или накопитель на оптических дисках. Устройство 1040 хранения данных может включать внутреннее устройство хранения данных, подключаемое устройство хранения данных (включая съемные и несъемные устройства хранения данных) и/или устройство хранения данных с доступом через сеть, в качестве неограничивающих примеров.

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

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

Согласно некоторым вариантам осуществления запоминающее устройство внутри процессора 1010 и/или модуля 1030 кодера/декодера используется для хранения инструкций и обеспечения работающего запоминающего устройства для обработки, которая необходима во время кодирования или декодирования. Однако согласно другим вариантам осуществления запоминающее устройство, внешнее по отношению к обрабатывающему устройству (например, обрабатывающее устройство может быть либо процессором 1010, либо модулем 1030 кодера/декодера), используется для одной или нескольких из этих функций. Внешнее запоминающее устройство может представлять собой запоминающее устройство 1020 и/или устройство 1040 хранения данных, например, динамическое энергозависимое запоминающее устройство и/или энергонезависимую флеш-память. Согласно некоторым вариантам осуществления внешняя энергонезависимая флеш-память используется для хранения операционной системы, например, телевизора. Согласно по меньшей мере одному варианту осуществления быстрое внешнее динамическое энергозависимое запоминающее устройство, такое как RAM, используется как работающее запоминающее устройство для операций кодирования и декодирования видео, например, для MPEG-2 (MPEG относится к Экспертной группе по движущимся изображениям, MPEG-2 также называется ISO/IEC 13818, и 13818-1 также известно как Н.222, и 13818-2 также известно как Н.262), HEVC (HEVC относится к высокоэффективному видеокодированию, также известному как Н.265 и MPEG-H часть 2), или VVC (универсальное кодирование видео, новый стандарт, разработанный JVET, объединенной командой видеоэкспертов).

Ввод в элементы системы 1000 может быть обеспечен посредством различных устройств ввода, как указано в блоке 1130. Такие устройства ввода включают, без ограничения, (i) радиочастотную (RF) часть, которая принимает RF сигнал, переданный, например, по беспроводной связи радиостанцией, (ii) входной разъем компонента (СОМР) (или набор входных разъемов СОМР), (iii) входной разъем универсальной последовательной шины (USB), и/или (iv) входной разъем мультимедийного интерфейса высокой четкости (HDMI).

Согласно различным вариантам осуществления устройства ввода блока 1130 содержат связанные соответствующие элементы обработки ввода, как известно в данной области техники. Например, RF часть может быть связана с элементами, подходящими для (i) выбора желаемой частоты (также называемой выбором сигнала, или ограничением сигнала полосой частот), (ii) преобразования с понижением частоты выбранного сигнала, (iii) повторное ограничение более узкой полосой частот для выбора (например) полосы частот сигнала, которая может считаться каналом согласно некоторым вариантам осуществления, (iv) демодуляции сигнала, подвергнутого преобразованию с понижением частоты и ограничению полосы, (v) выполнения исправления ошибок и (vi) демультиплексирования для выбора желаемого потока пакетов данных. RF часть различных вариантов осуществления содержит один или несколько элементов для выполнения этих функций, например, частотные селекторы, селекторы сигналов, ограничители полосы, селекторы каналов, фильтры, преобразователи с понижением частоты, демодуляторы, блоки исправления ошибок и демультиплексоры. RF часть может содержать блок настройки, который выполняет некоторые из этих функций, включая, например, преобразование с понижением частоты принятого сигнала до более низкой частоты (например, промежуточной частоты или частоты около основной полосы) или основной полосы. Согласно одному варианту осуществления с телевизионной приставкой RF часть и ее связанный элемент обработки ввода принимает RF сигнал, переданный по проводной среде (например, кабелю), и выполняет выбор частоты путем фильтрации, преобразования с понижением частоты и повторной фильтрации до желаемой полосы частот. Согласно различным вариантам осуществления порядок вышеописанных (и других) элементов изменен, некоторые из этих элементов удалены и/или добавлены другие элементы, выполняющие аналогичные или другие функции. Добавление элементов может включать вставку элементов между существующими элементами, например, вставку усилителей и аналого-цифрового преобразователя. Согласно различным вариантам осуществления RF часть содержит антенну.

Дополнительно разъемы USB и/или HDMI могут содержать соответствующие процессоры интерфейса для соединения системы 1000 с другими электронными устройствами посредством соединений USB и/или HDMI. Следует понимать, что различные аспекты обработки ввода, например, исправления ошибок Рида Соломона, могут быть реализованы, например, в пределах отдельной IC обработки ввода или внутри процессора 1010 при необходимости. Аналогично, аспекты обработки интерфейса USB или HDMI могут быть реализованы в отдельных IC интерфейса или в процессоре 1010 по мере необходимости. Демодулированный, с исправленными ошибками и демультиплексированный поток предоставляется в различные элементы обработки, в том числе, например, процессор 1010 и кодер/декодер 1030, которые работают в сочетании с запоминающим устройством элементами хранения для обработки потока данных по мере необходимости для представления на устройства вывода.

Различные элементы системы 1000 могут быть предусмотрены в интегрированном корпусе, в интегрированном корпусе, различные элементы могут быть взаимосвязаны и передавать данные между ними, используя подходящее соединение, например, внутреннюю шину, как известно в данной области техники, включая шину между интегральными схемами (I2C), проводку и печатные платы.

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

Данные передаются в потоковом режиме или иным образом передаются в систему 1000 в различных вариантах осуществления с помощью беспроводной сети, такой как сеть Wi-Fi, например IEEE 802.11 (IEEE обозначает Институт инженеров по электротехнике и радиоэлектронике). Сигнал Wi-Fi этих вариантов осуществления получен по каналу 1060 связи и интерфейсу 1050 связи, которые адаптированы для передач по Wi-Fi. Канал 1060 связи этих вариантов осуществления обычно соединен с точкой доступа или маршрутизатором, которые обеспечивают доступ к внешним сетям, включая Интернет, для обеспечения потоковой передачи и другой передачи по технологии Over-the-top. Согласно другим вариантам осуществления потоковые данные передаются в систему 1000 с использованием телевизионной приставки, которая доставляет данные по подключению HDMI входного блока 1130. Согласно другим вариантам осуществления потоковые данные передаются в систему 1000 с помощью RF соединения с входным блоком 1130. Как указано выше, согласно различным вариантам осуществления данные передаются не в потоковом режиме. Дополнительно, согласно различным вариантам осуществления используются беспроводные сети, отличающиеся от Wi-Fi, например, сотовая сеть или сеть Bluetooth.

Система 1000 может выдавать выходной сигнал на различные устройства вывода, включая дисплей 1100, громкоговорители 1110 и другие периферийные устройства 1120. Дисплей 1100 согласно различным вариантам осуществления включает один или несколько из, например, сенсорного дисплея, дисплея на органических светодиодах (OLED), изогнутого дисплея и/или складного дисплея. Дисплей 1100 может быть предназначен для телевизора, планшета, ноутбука сотового телефона (мобильного телефона) или другого устройства. Дисплей 1100 также может объединен с другими компонентами (например, как в смартфоне) или быть отдельным (например, внешний монитор для ноутбука). Другие периферийные устройства 1120 включают в различных примерах вариантов осуществления одно или несколько из отдельного цифрового видеодиска (или цифрового универсального диска) (DVR, для обоих терминов), проигрывателя дисков, стереосистемы и/или системы подсветки. Согласно различным вариантам осуществления используется одно или несколько периферийных устройств 1120, которые обеспечивают функцию на основании вывода системы 1000. Например, проигрыватель дисков выполняет функцию воспроизведения вывода системы 1000.

Согласно различным вариантам осуществления управляющие сигналы передаются между системой 1000 и дисплеем 1100, громкоговорителями 1110 или другими периферийными устройствами 1120 с помощью такой сигнальной информации, как AV.Link, Consumer Electronics Control (CEC), или других протоколов связи, которые обеспечивают управление между устройствами с вмешательством пользователя или без него. Устройства вывода могут быть соединены с возможностью связи с системой 1000 посредством выделенных соединений через соответствующие интерфейсы 1070, 1080 и 1090. Альтернативно устройства вывода могут быть соединены с системой 1000 с помощью канала 1060 связи посредством интерфейса 1050 связи. Дисплей 1100 и громкоговорители 1110 могут быть встроены в один блок с другим компонентами системы 1000 в электронном устройстве, таком как, например, телевизор. Согласно различным вариантам осуществления интерфейс 1070 дисплея содержит драйвер дисплея, такой как, например, микросхема контроллера синхронизации (Т Con).

Дисплей 1100 и громкоговоритель 1110 могут альтернативно быть отделены от одного или нескольких из других компонентов, например, если RF часть ввода 1130 является частью отдельной телевизионной приставки. Согласно различным вариантам осуществления, в которых дисплей 1100 и громкоговорители 1110 являются внешними компонентами, выходной сигнал может передаваться посредством выделенных выходных соединений, включая, например, порты HDMI, порты USB или выводы СОМР.

Варианты осуществления могут осуществляться посредством компьютерного программного обеспечения, реализованного процессором 1010, или аппаратного обеспечения, или посредством комбинации аппаратного обеспечения и программного обеспечения. В качестве неограничивающего примера варианты осуществления могут быть реализованы посредством одной или нескольких интегральных схем. Запоминающее устройство 1020 может представлять собой любой тип, соответствующий технической среде и, может быть реализовано с использованием любой подходящей технологии хранения данных, такой как оптические запоминающие устройства, магнитные запоминающие устройства, запоминающие устройства на полупроводниках, несъемное запоминающее устройство и съемное запоминающее устройство, в качестве неограничивающих примеров. Процессор 1010 может представлять собой любой тип, соответствующий технической среде, и может охватывать один или несколько из микропроцессоров, компьютеров общего назначения, компьютеров специального назначения и процессоров на основе многоядерной архитектуры, в качестве неограничивающих примеров.

На фиг. 4 изображены структуры дерева кодирования и единиц дерева кодирования (CTU), используемые для представления сжатых изображений, например, в соответствии со стандартом сжатия видео HEVC. В стандартах сжатия видео, как в HEVC, временное предсказание с компенсацией движения используется для применения избыточности, которая существует между последовательными изображениями видео. Вектор движения связан с каждой единицей предсказания (PU), входящей в CTU. Набор CTU изображения представлен в виде дерева кодирования в сжатой области. Это разделение CTU методом квадродерева, где каждый лист называется единицей кодирования (CU). Каждой CU задаются некоторые параметры внутрикадрового или межкадрового предсказания (информация о предсказании). Для этого CU пространственно разбивается на одну или несколько единиц предсказания (PU), причем каждой PU присваивается некоторая информация о предсказании. Режим внутрикадрового или межкадрового предсказания присваивается на уровне CU. В HEVC каждой PU присваивается один вектор движения. Этот вектор движения используется для временного предсказания с компенсацией движения рассматриваемой PU. Поэтому в стандарте сжатия видео, таком как HEVC, модель движения, которая связывает предсказанный блок и его опорный блок, заключается в переносе.

На фиг. 5А и 5В изображено поле вектора аффинного движения на основании подблоков 4×4 для двух и трех контрольных точек соответственно. В недавнем дополнении к стандартам сжатия видео, например, в тестовой модели объединенной исследовательской модели (JEM) и более поздней модели VVC (универсального кодирования видео), разработанной группой JVET (объединенная группа по исследованию видео), поддерживаются некоторые более функциональные модели движения для улучшения временного предсказания. С этой целью PU может быть пространственно разделена на под-PU, и более функциональная модель может быть использована для присвоения каждой под-PU специального вектора движения. CU больше не делится на PU или TU, а некоторые данные о движении непосредственно присваиваются каждой CU. В новой конфигурации кодека CU может быть разделена на под-CU, и для каждой под-CU может быть вычислен вектор движения. Одной из новых моделей движения, представленных в JEM, является аффинная модель, которая заключается в использовании аффинной модели для представления векторов движения в CU.

Поле аффинного движения для 2 контрольных точек на фиг. 5А, также называемое 4-параметрической аффинной моделью, состоит из значений компонентов вектора движения для каждого положения (х, у) внутри рассматриваемого блока в соответствии с уравнением [ур. 1]:

,

где (v0x, v0y) и (v1x, v1y) - так называемые векторы движения 51А и 52А контрольных точек, используемые для генерирования поля аффинного движения, (v0x, v0y) - контрольная точка левого верхнего угла вектора движения, (v1x, v1y) - контрольная точка правого верхнего угла вектора движения.

Модель с 3 контрольными точками, как показано на фиг. 5В, называемая 6-параметрической моделью аффинного движения, также может быть использована для представления поля движения на основании подблоков для данной единицы кодирования. Поле движения в случае 6-параметрической аффинной модели вычисляется как в уравнении [ур. 2], где (v0x, v0y) - вектор 51В, (v1x, v1y) - вектор 52В и (v2x, v2y) - вектор 53В.

На практике для поддержания сложности на приемлемом уровне, один и тот же вектор движения вычисляется для пикселей подблока 4×4 (под-CU) рассматриваемой CU, как показано на фиг. 5А и фиг. 5В. Вектор аффинного движения вычисляется из векторов движения контрольных точек в положении центра каждого подблока. Таким образом, полученные векторы движения представляются с точностью 1/16 пикселя. В результате единица предсказания (PU) единицы кодирования в аффинном режиме создается посредством предсказания с компенсацией движения каждого подблока со своим собственным вектором движения. Компенсация аффинного движения может использоваться 2 способами в тестовой модели VVC (VTM): аффинное AMVP и аффинное слияние. Они представлены ниже.

В VTM CU, размер которой больше 8×8, может быть предсказан в режиме аффинной AMVP. Об этом сигнализирует флаг в битовом потоке, закодированном на уровне CU. Генерирование поля аффинного движения для этой межкадровой CU предусматривает определение векторов движения контрольных точек (CPMV), которые получаются декодером путем сложения разности векторов движения и предсказания вектора движения контрольной точки (CPMVP). CPMVP - это пара (для 4-параметрической аффинной модели, заданной 2 векторами движения контрольных точек) или тройка (для 6-параметрической аффинной модели, заданной 3 векторами движения контрольных точек) векторов движения, используемых в качестве предикторов CPMV текущей CU. CPMVP текущей CU может быть унаследовано от аффинных соседних CU (как в режиме аффинного слияния). Пространственное положение, из которого извлекаются унаследованные CPMVP, выбирается из упорядоченного списка заданных кандидатных положений. Унаследованное CPMVP считается действительным, если его опорное изображение равно опорному изображению текущей CU.

В режиме аффинного слияния флаг на уровне CU указывает, использует ли CU в режиме слияния компенсацию аффинного движения. Если да, то в JEM среди упорядоченного списка заданных кандидатных положений выбирается первая доступная соседняя CU, которая была закодирована в аффинном режиме. После получения первой соседней CU в аффинном режиме, CPMVP текущей CU может быть унаследовано от этой аффинной соседней CU. Извлекаются 3 вектора движения из левого верхнего, правого верхнего и левого нижнего углов соседней аффинной CU. На основании этих трех векторов движения два или три CPMV верхнего левого, верхнего правого и/или нижнего левого углов текущей CU выводятся следующим образом.

Для CU с 4-параметрическим аффинным режимом 2 CPMV текущего CU выводятся следующим образом:

Для CU с 6-параметрическим аффинным режимом 3 вектора движения контрольных точек текущей CU выводятся следующим образом:

о

Когда векторы движения контрольных точек и/или текущей CU получены, поле движения внутри текущей CU вычисляется на основании подблоков 4×4 посредством модели уравнения [ур. 1] или [ур. 2]. Таким образом, аффинная модель может рассматриваться как модель на основании подблоков.

Начиная с VTM-3.0, кандидат SbTMVP (предиктор временного вектора движения на основании подблоков, также называемый ATMVP) является частью списка аффинного слияния как первый кандидат подблока, который оценивается в процессе оптимизации скорости-искажения в режиме аффинного слияния. SbTMVP предсказывает векторы движения подблоков 8×8 в пределах текущей CU, собирая информацию о движении соответствующих подблоков в совместно расположенном изображении, как обычный предиктор TMVP.

На фиг. 6 показан пример обновления списка в способе HMVP. Начиная с версии VTM-3.0 был также введен инструмент предсказания вектора движения на основании истории (HMVP). Выражение «на основании истории» заключается в ведении списка, состоящего из множества единиц информации о движении (векторы движения, связанный опорный кадр, индекс BCW, …), которые были использованы для кодирования/декодирования CU, предшествующих текущей CU. Каждый раз, когда кодируется/декодируется неаффинная и не треугольная межкадровая CU, то есть блок, не основанный на подблоках, соответствующая информация о движении вставляется в конец списка, как новый кандидат HMVP. Как показано на фиг. 6, при вставке нового кандидата движения в таблицу используется ограниченное правило FIFO, где сначала применяется проверка избыточности, чтобы найти, есть ли идентичное HMVP в таблице. Если оно найдено, идентичное HMVP удаляется из таблицы, и все последующие кандидаты HMVP перемещаются вперед, т. е. с индексами, уменьшенными на 1.

Кандидаты HMVP могут быть использованы в процессе построения списка кандидатов на слияние. Последние несколько кандидатов HMVP в таблице проверяются по порядку и вставляются в список кандидатов после кандидата TMVP. Обрезка применяется к кандидатам HMVP для пространственного или временного кандидата слияния, исключая кандидата движения подблоков (т. е. ATMVP).

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

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

Настоящие принципы применимы к каждому из режимов кодирования подблоков. Режимы кодирования подблоков не ограничиваются 3 режимами VTM-5.0: (i) аффинное AMVP, (ii) аффинное слияние и (iii) SbTMVP; но распространяются на все уже известные режимы на основании подблоков, такие как планарный вектор движения, регрессия, треугольный, FRUC, переплетенный аффинный и т. д., а также на все новые режимы на основании подблоков, которые могут быть предложены в будущем. Можно рассматривать только один из этих режимов на основании подблоков при экономии списка HMVP, или комбинацию режимов (как, например, оба аффинных режима), или комбинацию всех режимов на основании подблоков.

На фиг. 7 схематически изображен способ 70 кодирования/декодирования блоков текущего изображения. На стадии 71 кодируют/декодируют первый блок, подлежащий кодированию/декодированию в соответствии с режимом на основании подблоков. Векторы движения, используемые для кодирования/декодирования подблоков первого блока, определяются в соответствии с информацией о движении, содержащейся в CU самого первого блока, как показано, например, на фиг. 5А и 5В. Данные информации о движении включают различные данные, используемые для предсказания движения, например, векторы движения, связанный опорный кадр, индекс BCW и т. д.

Согласно настоящим принципам на стадии 72 определяют набор вторых данных информации о движении в зависимости от указанных первых данных информации о движении; количество определенных единиц данных информации о движении в наборе может быть равно нулю, одному или более. Выбор размера этого набора определяется эффективностью этого выбора для процесса кодирования/декодирования. Он параметризуется и совместно применяется кодером и декодером. Соответствующие параметры могут быть закодированы в заголовках видеопотока.

Согласно одному варианту осуществления вторая информация о движении создается с использованием данных первой информации о движении, то есть информации о движении, связанной с первым блоком. Вектор движения второй информации о движении определяется в зависимости от подмножества векторов движения, определенных для подблоков первого блока. Подблоки, предоставляющие свой вектор движения для комбинации (т. е. в зависимости от векторов движения), выбираются в соответствии с их положением в первом блоке. Например, выбирается уникальный подблок, например, подблок, расположенный в центре первого блока (например, в случае деления подблока 4×4 это подблок [1,1] или [1,2]), а зависимость является функцией тождества. Таким образом, вектор движения определенных вторых данных информации о движении является вектором движения выбранного подблока. В другом примере вектор движения вторых данных информации о движении представляет собой среднее из векторов движения двух или трех или четырех векторов движения подблоков, выбранных по распределению их положений в пределах первого блока, например, два центральных подблока или три подблока: два в верхних углах и один в внизу в центре или четыре подблока в углах первого блока. Зависимость может отличаться от среднего значения. Выбор зависимости и положений выбранных подблоков определяются эффективностью этого выбора для процесса кодирования/декодирования. Он параметризуется и совместно применяется кодером и декодером. Соответствующие параметры могут быть закодированы в заголовках видеопотока.

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

Согласно варианту, применимому к двум вышеуказанным вариантам осуществления, выбранная зависимость векторов движения и/или положение выбранных подблоков зависит от размера первого блока и/или размера подблоков. Например, если первый блок меньше заданного размера (например, 128×128, 64×64, 32×32 или 16×16), то зависимость представляет собой функцию тождества и выбранный подблок выбирается в центре первого блока; если же первый блок больше заданного размера, то зависимость представляет собой средневзвешенное значение (весовые коэффициенты зависят от размера первого блока) двух векторов подблоков в углах первого блока.

Согласно одному варианту количество определяемых единиц вторых данных информации о движении зависит от размера первого блока и/или от размера подблоков. Например, если размер первого блока меньше заданного размера, вторые данные о движении не определяются. В другом примере подблоки первого блока могут быть разделены на области фиксированного размера (например, 64×64, 32×32 или 16×16) или адаптируемого размера, например, области, которые делят CU подблока на 2, 4 или 8. Для этих областей определяются одни вторые данные информации о движении в соответствии с одним из вариантов осуществления и вышеуказанным вариантом. Например, если области имеют фиксированный размер 32×32, то для CU подблока 16×32 определяется только одна единица вторых данных информации о движении, а для CU подблока 64×64 определяется четыре единицы вторых данных информации о движении. В другом примере, если области имеют адаптируемый размер и делят CU подблока на четыре области, то всегда сохраняются четыре единицы данных информации о движении, для CU подблока 16×32 - по одной для каждой области 8×16, а для CU подблока 64×64 - по одной для каждой области 32×32.

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

На стадии 73 способа 70 на фиг. 7 определенный набор данных информации о движении добавляют в список данных информации о движении, например, в список HMVP тестовой модели VCC. Этот список определяется тем, что его элементы используются для определения данных информации о движении для последующих блоков указанного текущего изображения, подлежащих кодированию/декодированию.

Различные варианты реализации предусматривают декодирование. «Декодирование» в контексте настоящей заявки может охватывать все или часть процессов, выполняемых, например, в отношении принятой кодированной последовательности для получения конечного вывода, подходящего для отображения. Согласно различным вариантам осуществления такие процессы включают один или несколько из процессов, обычно выполняемых декодером, например, энтропийное декодирование, обратное квантование, обратное преобразование и дифференциальное декодирование. Согласно различным вариантам осуществления такие процессы также или альтернативно включают процессы, выполняемые декодером различных вариантов реализации, описанных в настоящей заявке, например, работу со списками данных информации о движении для подачи в модули 170 и 275 предсказания движения на фиг. 1 и фиг. 2.

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

Различные варианты реализации предусматривают кодирование. Аналогично вышеприведенному описанию «декодирования», «кодирование», используемое в настоящей заявке, может охватывать все или часть процессов, выполняемых, например, в отношении входной видеопоследовательности для создания кодированного битового потока. Согласно различным вариантам осуществления такие процессы включают один или несколько из процессов, обычно выполняемых кодером, например, разбиение, дифференциальное кодирование, преобразование, квантование и энтропийное кодирование. Согласно различным вариантам осуществления такие процессы также или альтернативно включают процессы, выполняемые кодером различных вариантов реализации, описанных в настоящей заявке, например, работу со списками данных информации о движении для подачи в модули 170 и 275 предсказания движения на фиг. 1 и фиг. 2.

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

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

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

Варианты реализации и аспекты, описанные в настоящем документе, могут быть реализованы, например, в способе или процессе, устройстве, программно реализованной программе, потоке данных или сигнале. Даже если описание ведется только в контексте единственной формы реализации (например, описание только в качестве способа), реализация описанных признаков также может быть выполнена в других формах (например, как устройство или программа). Устройство может быть реализовано, например, в виде соответствующего аппаратного обеспечения, программного обеспечения и программно-аппаратного обеспечения. Способы могут быть реализованы, например, процессором, который относится к устройствам обработки в целом, включая, например, компьютер, микропроцессор, интегральную схему или программируемое логическое устройство. Процессоры также включают устройства связи, такие как, например, компьютеры, сотовые телефоны, портативные/персональные цифровые ассистенты («PDA») и другие устройства, которые облегчают обмен информацией между конечными пользователями.

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

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

Кроме того, настоящая заявка может относиться к «осуществлению доступа» к различным фрагментам информации. Осуществление доступа к информации может включать одно или несколько из, например, получения информации, извлечения информации (например, из запоминающего устройства), сохранения информации, перемещения информации, копирования информации, вычисления информации, определения информации, предсказания информации или оценки информации.

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

Следует понимать, что использование любого из следующего: «/», «и/или» и «по меньшей мере один из», например, в случаях «А/В», «А и/или В» и «по меньшей мере одно из А и В», предназначено для охвата выбора только первого перечисленного варианта (А), или выбора только второго перечисленного варианта (В), или выбора обоих вариантов (А и В). В качестве дополнительного примера в случаях «А, В и/или С» и «по меньшей мере одно из А, В и С», такая фраза охватывает выбор только первого перечисленного варианта (А), выбор только второго перечисленного варианта (В), или выбор только третьего перечисленного варианта (С), или выбор первого и второго перечисленных вариантов (А и В), или выбор только первого и третьего перечисленных вариантов (А и С), или выбор только второго и третьего перечисленных вариантов (В и С), или выбор всех трех вариантов (А, В и С). Это объяснение может быть расширено, так как является очевидным для специалиста в данной области техники, на столько объектов, сколько перечислено.

Также в контексте настоящего документа выражение «сигнализация» относится, среди прочего, к указанию чего-либо соответствующему декодеру. Например, согласно некоторым вариантам осуществления кодер сообщает конкретный один из множества параметров для определения вторых данных информации из кодированных блоков режима на основании подблоков. Таким образом, согласно одному варианту осуществления одинаковый параметр используется как на стороне кодера, так и на стороне декодера. Таким образом, например, кодер может передавать (явным образом сигнализировать) конкретный параметр на декодер, вследствие чего декодер может использовать этот же конкретный параметр. И наоборот, если декодер уже имеет конкретный параметр, а также другие, то сигнализация может использоваться без передачи (неявно сигнализировать), чтобы просто дать знать декодеру и выбрать конкретный параметр. За счет избегания передачи любых фактических функций, согласно различным вариантам осуществления обеспечивается экономия битов. Следует понимать, что сигнализация может быть осуществлена различными способами. Например, один или несколько элементов синтаксиса, флагов и т. д. используются для сигнализации информации на соответствующий декодер согласно различным вариантам осуществления. Хотя выше описана глагольная форма слова «сигнализация», слово «сигнал» также может использоваться в данном документе как существительное.

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

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

название год авторы номер документа
СПОСОБ И УСТРОЙСТВО ДЛЯ ОБРАБОТКИ СИГНАЛОВ ВИДЕО С ИСПОЛЬЗОВАНИЕМ ИНТЕР-ПРЕДСКАЗАНИЯ 2019
  • Чжао, Джейн
  • Палури, Сеетхал
  • Ким, Сеунгхван
RU2787882C2
СПОСОБ И УСТРОЙСТВО ДЛЯ ОБРАБОТКИ СИГНАЛОВ ВИДЕО С ИСПОЛЬЗОВАНИЕМ ИНТЕР-ПРЕДСКАЗАНИЯ 2019
  • Чжао, Джейн
  • Палури, Сеетхал
  • Ким, Сеунгхван
RU2769146C1
СПОСОБ И АППАРАТУРА ВНЕШНЕГО ПРЕДСКАЗАНИЯ 2019
  • Чэнь, Сюй
  • Чжэн, Цзяньхуа
RU2798316C2
СПОСОБ И УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ВИДЕОСИГНАЛА НА ОСНОВАНИИ ОСНОВАННОГО НА ИСТОРИИ ПРЕДСКАЗАНИЯ ВЕКТОРА ДВИЖЕНИЯ 2019
  • Чжао, Джейн
  • Ким, Сеунгхван
RU2773431C1
ВЕДЕНИЕ ТАБЛИЦ ДЛЯ ХРАНЕНИЯ КАНДИДАТОВ ПРЕДСКАЗАНИЯ ВЕКТОРА ДВИЖЕНИЯ НА ОСНОВЕ ИСТОРИИ 2019
  • Чжан, Ли
  • Чжан, Кай
  • Лю, Хунбинь
  • Ван, Юэ
RU2808631C2
СПОСОБ И УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ВИДЕОСИГНАЛА НА ОСНОВАНИИ ОСНОВАННОГО НА ИСТОРИИ ПРЕДСКАЗАНИЯ ВЕКТОРА ДВИЖЕНИЯ 2019
  • Чжао, Джейн
  • Ким, Сеунгхван
RU2807594C2
МНОЖЕСТВО КАНДИДАТОВ ПРЕДСКАЗАТЕЛЯ ДЛЯ КОМПЕНСАЦИИ ДВИЖЕНИЯ 2018
  • Робер, Антуан
  • Лелеаннек, Фабрис
  • Пуарье, Танжи
RU2770185C2
Способ и устройство для видеокодирования 2020
  • Ли Гуйчунь
  • Ли Сян
  • Сюй Сяочжун
  • Лю Шань
RU2789146C1
МНОЖЕСТВО ОСНОВАННЫХ НА ИСТОРИИ НЕСМЕЖНЫХ MVP ДЛЯ ОБРАБОТКИ ВОЛНОВОГО ФРОНТА КОДИРОВАНИЯ ВИДЕО 2019
  • Фам Ван, Луонг
  • Чиэнь, Вэй-Цзюн
  • Серегин, Вадим
  • Карчевич, Марта
  • Хуан, Хань
RU2800009C2
ПРЕДСКАЗАНИЕ ВЕКТОРА ДВИЖЕНИЯ ДЛЯ АФФИННЫХ МОДЕЛЕЙ ДВИЖЕНИЯ В КОДИРОВАНИИ ВИДЕО 2017
  • Чэнь, И-Вэнь
  • Чиэнь, Вэй-Цзюн
  • Чжан, Ли
  • Сунь, Юй-Чэнь
  • Чэнь, Цзяньлэ
  • Карчевич, Марта
RU2718225C1

Иллюстрации к изобретению RU 2 820 339 C2

Реферат патента 2024 года HMVC ДЛЯ АФФИННОГО РЕЖИМА И РЕЖИМА ПРЕДСКАЗАНИЯ ВЕКТОРА ДВИЖЕНИЯ SBTMVP

Изобретение относится к кодированию и декодированию видеоизображения на основании векторов движения, определенных из ранее кодированных или декодированных блоков. Техническим результатом является повышение эффективности сжатия видеоизображения. Результат достигается тем, что устройство для кодирования или декодирования блоков текущего изображения кодирует подблоки первого блока текущего изображения. Подблоки кодируются или декодируются на основании векторов движения, определенных в соответствии с данными информации о движении, связанными с первым блоком. На второй стадии набор вторых данных информации о движении определяется в зависимости от первых данных информации о движении. Эти вторые данные информации о движении добавляются в список данных информации о движении, который используется для определения данных информации о движении для последующих блоков текущего изображения для кодирования или декодирования. 6 н. и 16 з.п. ф-лы, 8 ил.

Формула изобретения RU 2 820 339 C2

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

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

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

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

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

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

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

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

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

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

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

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

7. Устройство по п. 6, в котором вторые данные информации о движении содержат вектор движения, определенный в зависимости от векторов движения выбранных подблоков указанного первого блока, причем указанные выбранные подблоки находятся в заданных положениях внутри указанного первого блока.

8. Устройство по п. 6, в котором вторые данные информации о движении содержат вектор движения, определенный в зависимости от векторов движения, причем указанные векторы движения находятся в указанных первых данных информации о движении.

9. Устройство по п. 7 или 8, в котором указанная зависимость от векторов движения зависит от размера указанного первого блока или от размера указанных подблоков.

10. Устройство по любому из пп. 6-8, в котором указанный набор вторых данных информации о движении содержит некоторое количество элементов, причем указанное количество элементов зависит от размера указанного первого блока или от размера указанных подблоков.

11. Устройство связи пользователя, содержащее:

- устройство по любому из пп. 6-10; и

- по меньшей мере одно из (i) антенны, выполненной с возможностью приема сигнала, причем сигнал содержит декодированные блоки изображения, (ii) ограничителя полосы, выполненного с возможностью ограничения принятого сигнала полосой частот, содержащей декодированные блоки изображения, и (iii) дисплея, выполненного с возможностью отображения выходного сигнала, представляющего декодированные блоки изображения.

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

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

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

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

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

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

15. Способ по п. 13 или 14, в котором указанная зависимость от векторов движения зависит от размера указанного первого блока или от размера указанных подблоков.

16. Способ по любому из пп. 12-14, в котором указанный набор вторых данных информации о движении содержит некоторое количество элементов, причем указанное количество элементов зависит от размера указанного первого блока или от размера указанных подблоков.

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

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

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

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

18. Устройство по п. 17, в котором вторые данные информации о движении содержат вектор движения, определенный в зависимости от векторов движения выбранных подблоков указанного первого блока, причем указанные выбранные подблоки находятся в заданных положениях внутри указанного первого блока.

19. Устройство по п. 17, в котором вторые данные информации о движении содержат вектор движения, определенный в зависимости от векторов движения, причем указанные векторы движения находятся в указанных первых данных информации о движении.

20. Устройство по п. 18 или 19, в котором указанная зависимость от векторов движения зависит от размера указанного первого блока или от размера указанных подблоков.

21. Устройство по любому из пп. 17-20, в котором указанный набор вторых данных информации о движении содержит некоторое количество элементов, причем указанное количество элементов зависит от размера указанного первого блока или от размера указанных подблоков.

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

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

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

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

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

WO 2017118411 A1, 2017.07.13
EP 1968326 A2, 2008.09.10
WO 2018061563 A1, 2018.04.05
US 2019104319 A1, 2019.04.04
US 2019149838 A1, 2019.05.16
US 2019116376 A1, 2019.04.18
WO 2017130696 A1, 2017.08.03
WO 2017148345 A1, 2017.09.08
СПОСОБ ПРОГНОЗИРОВАНИЯ ИЗОБРАЖЕНИЯ И УСТРОЙСТВО ПРОГНОЗИРОВАНИЯ ИЗОБРАЖЕНИЯ 2016
  • Линь Сисинь
  • Хуан Жуопу
  • Ян Хайтао
RU2675092C1

RU 2 820 339 C2

Авторы

Роберт, Антуан

Лелеаннек, Фабрис

Пуарье, Танги

Галпин, Франк

Даты

2024-06-03Публикация

2020-06-18Подача