СПОСОБ И УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ ДЛЯ ВЫВЕДЕНИЯ ИНФОРМАЦИИ ИНДЕКСА ВЕСА ДЛЯ ГЕНЕРАЦИИ ВЫБОРКИ ПРЕДСКАЗАНИЯ Российский патент 2024 года по МПК H04N19/109 H04N19/527 H04N19/132 G06T7/207 

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

Область ТЕХНИКИ

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

УРОВЕНЬ техники

[2] В последнее время потребность в изображениях/видео высокого разрешения и высокого качества, таких как изображения/видео сверхвысокой четкости (UHD) 4K или 8K или выше, возросла в различных областях. По мере того как разрешение или качество изображения/видео становятся выше, относительно большее количество информации или битов передается по сравнению с данными обычного изображения/видео. Поэтому, если данные изображения/видео передаются с использованием носителей, таких как существующая проводная/беспроводная широкополосная линия, или хранятся в унаследованном носителе хранения, затраты на передачу и хранение увеличиваются.

[3] Более того, в настоящее время возрастают интерес и потребность в контентах виртуальной реальности (VR) и искусственной реальности (AR) и иммерсивных медиа, таких как голограмма, а также возрастает трансляция изображений/видео, имеющих характеристики изображений/видео, отличные от характеристик реального изображения/видео, таких как игровые изображения/видео.

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

Краткое описание сущности изобретения

[5] Настоящее раскрытие обеспечивает способ и аппарат для повышения эффективности кодирования изображения.

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

[7] Настоящее раскрытие также обеспечивает способ и аппарат для выведения информации индекса веса на кандидате в списке аффинных кандидатов объединения во время bi-предсказания (двунаправленное предсказание).

[8] В одном аспекте настоящего раскрытия, обеспечен способ декодирования изображения, выполняемый аппаратом декодирования. Способ декодирования изображения включает в себя прием информации изображения, включающей в себя информацию режима интер-предсказания, посредством битового потока, генерирование списка кандидатов объединения для текущего блока на основе информации режима интер-предсказания, выведение информации движения на текущем блоке на основе кандидата, выбранного из списка кандидатов объединения, генерирование выборок L0-предсказания и выборок L1-предсказания текущего блока на основе информации движения, и генерирование выборок предсказания текущего блока на основе выборок L0-предсказания, выборок L1-предсказания и информации веса, причем информация веса выводится на основе информации индекса веса на выбранном кандидате. Кандидаты включают в себя аффинный кандидат объединения, и аффинный кандидат объединения включает векторы движения контрольных точек (CPMV). Когда аффинный кандидат объединения включает CPMV0 для контрольной точки 0 (CP0), расположенной на верхней-левой стороне текущего блока, информация индекса веса на аффинном кандидате объединения выводится на основе 0-ой информации индекса веса на CP0. Когда аффинный кандидат объединения не включает CPMV0 для CP0, расположенной на верхней-левой стороне текущего блока, информация индекса веса на аффинном кандидате объединения выводится на основе 1-ой информации индекса веса на CP1, расположенной на верхней-правой стороне текущего блока.

[9] В другом аспекте настоящего раскрытия, обеспечен способ кодирования изображения, выполняемый аппаратом кодирования. Способ кодирования изображения включает в себя определение режима интер-предсказания текущего блока и генерирование информации режима интер-предсказания, указывающей режим интер-предсказания, генерирование списка кандидатов объединения для текущего блока на основе режима интер-предсказания, генерирование информации выбора, указывающей один кандидат среди кандидатов, включенных в список кандидатов объединения, и кодирование информации изображения, включающей в себя информацию режима интер-предсказания и информацию выбора. Кандидаты включают аффинный кандидат объединения, и аффинный кандидат объединения включает векторы движения контрольных точек (CPMV). Когда аффинный кандидат объединения включает CPMV0 для контрольной точки 0 (CP0), расположенной на верхней-левой стороне текущего блока, информация индекса веса на аффинном кандидате объединения выражается на основе 0-ой информации индекса веса на CP0. Когда аффинный кандидат объединения не включает CPMV0 для CP0, расположенной на верхней-левой стороне текущего блока, информация индекса веса на аффинном кандидате объединения выражается на основе 1-ой информации индекса веса на контрольной точке 1 (CP1), расположенной на верхней-правой стороне текущего блока.

[10] Еще в одном аспекте настоящего раскрытия, обеспечен считываемый компьютером носитель хранения, хранящий закодированную информацию, которая побуждает аппарат декодирования изображения реализовывать способ декодирования изображения. Способ декодирования изображения включает в себя получение информации изображения, включающей в себя информацию режима интер-предсказания, посредством битового потока, генерирование списка кандидатов объединения для текущего блока на основе информации режима интер-предсказания, выбор одного кандидата из числа кандидатов, включенных в список кандидатов объединения, выведение информации движения на текущем блоке на основе выбранного кандидата, генерирование выборок L0-предсказания и выборок L1-предсказания текущего блока на основе информации движения, и генерирование выборок предсказания текущего блока на основе выборок L0-предсказания, выборок L1-предсказания и информации веса. Информация веса выводится на основе информации индекса веса на выбранном кандидате. Кандидаты включают аффинный кандидат объединения, и аффинный кандидат объединения включает векторы движения контрольных точек (CPMV). Когда аффинный кандидат объединения включает CPMV0 для контрольной точки 0 (CP0) расположенной на верхней-левой стороне текущего блока, информация индекса веса на аффинном кандидате объединения выводится на основе 0-ой информации индекса веса на CP0. Когда аффинный кандидат объединения не включает CPMV0 для CP0, расположенной на верхней-левой стороне текущего блока, информация индекса веса на аффинном кандидате объединения выводится на основе 1-ой информации индекса веса на контрольной точке 1 (CP1).

[11] В соответствии с настоящим раскрытием, можно повысить общую эффективность сжатия изображения/видео.

[12] В соответствии с настоящим раскрытием, можно эффективно формировать кандидаты векторов движения во время интер-предсказания.

[13] В соответствии с настоящим раскрытием, можно эффективно выполнять bi-предсказание на основе веса.

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

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

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

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

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

[18] Фиг. 5 является схемой для пояснения режима объединения в интер-предсказании.

[19] Фиг. 6 является схемой иллюстрирующей пример движения, представленного аффинной моделью движения.

[20] Фиг. 7A и 7B являются схемами, иллюстрирующими пример векторов движения контрольных точек (CPMV) аффинного предсказания движения.

[21] Фиг. 8 является схемой, иллюстрирующей пример, в котором аффинный MVF определяется в единице подблока.

[22] Фиг. 9 является схемой для пояснения аффинного режима объединения в интер-предсказании.

[23] Фиг. 10 является схемой для пояснения положений кандидатов в аффинном режиме объединения.

[24] Фиг. 11 является схемой для пояснения временного предсказания вектора движения на основе подблока (SbTMVP) в интер-предсказании.

[25] Фиг. 12 и 13 являются схемами, схематично иллюстрирующими пример способа кодирования видео/изображения в соответствии с вариантом(ами) осуществления настоящего раскрытия и связанные компоненты.

[26] Фиг. 14 и 15 являются схемами, схематично иллюстрирующими пример способа декодирования изображения/видео в соответствии с вариантом(ами) осуществления настоящего раскрытия и связанные компоненты.

[27] Фиг. 16 является схемой, иллюстрирующей пример системы потоковой передачи контента, в которой могут применяться варианты осуществления настоящего раскрытия.

Описание примерных вариантов осуществления

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

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

[30] В настоящем раскрытии, "A или B" может означать "только A", " только B" или "как A, так и B". Иными словами, "A или B" в настоящем раскрытии может интерпретироваться как "A и/или B". Например, в настоящем раскрытии, "A, B или C" означает "только A", "только B", "только C" или "любое и любая комбинация A, B и C".

[31] Используемые в настоящем раскрытии символы "/" или "," (запятая) могут означать "и/или". Например, "A/B" может означать "A и/или B". Соответственно, "A/B" может означать "только A", "только B" или "как A, так и B". Например, "A, B, C" может означать "A, B или C".

[32] В настоящем описании, "по меньшей мере одно из A и B" может означать "только A", "только B" или "как A, так и B". Кроме того, в настоящем описании, выражение "по меньшей мере одно из A или B" или "по меньшей мере одно из A и/или B" может интерпретироваться так же, как "по меньшей мере одно из A и B".

[33] Кроме того, в настоящем описании, "по меньшей мере одно из A, B и C" может означать "только A", "только B", "только C" или "любая комбинация A, B и C". Кроме того, "по меньшей мере одно из A, B или C" или "по меньшей мере одно из A, B и/или C" может означать "по меньшей мере одно из A, B и C".

[34] Кроме того, круглые скобки, используемые в настоящем раскрытии, могут означать "например". Конкретно, когда указано "предсказание (интра-предсказание)", это может означать, что "интра-предсказание" предлагается как пример "предсказания". Другими словами, термин "предсказание" в настоящей спецификации не ограничен "интра-предсказанием", и это может указывать, что "интра-предсказание" предлагается как пример "предсказания". Кроме того, даже в случае, когда указано "предсказание (т.е., интра-предсказание)", это может указывать, что "интра-предсказание" предлагается как пример "предсказания".

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

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

[37] Фиг. 1 иллюстрирует пример системы кодирования видео/изображения, в которой могут быть применены варианты осуществления настоящего раскрытия.

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

[39] Устройство-источник может включать в себя источник видео, аппарат кодирования и передатчик. Приемное устройство может включать в себя приемник, аппарат декодирования и модуль визуализации (рендерер). Аппарат кодирования может называться аппаратом кодирования видео/изображения, и аппарат декодирования может называться аппаратом декодирования видео/изображения. Передатчик может быть включен в аппарат кодирования. Приемник может быть включен в аппарат декодирования. Модуль визуализации может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.

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

[41] Аппарат кодирования может кодировать входное видео/изображения. Аппарат кодирования может выполнять последовательность процедур, таких как предсказание, преобразование и квантование для компактности и эффективности кодирования. Закодированные данные (закодированная информация видео/изображения) могут выводиться в форме битового потока.

[42] Передатчик может передавать закодированную информацию или данные видео/изображения, выведенные в форме битового потока, на приемник приемного устройства посредством цифрового носителя хранения или сети в форме файла или потоковой передачи. Цифровой носитель хранения может включать в себя различные носители хранения, такие как USB, SD, CD, DVD, Blu-ray, HDD, SSD и тому подобное. Передатчик может включать в себя элемент для генерации медиа файла в предопределенном формате файла и может включать в себя элемент для передачи по сети широковещания/связи. Приемник может принимать/извлекать битовый поток и передавать принятый битовый поток на аппарат декодирования.

[43] Аппарат декодирования может декодировать видео/изображения путем выполнения последовательности процедур, таких как деквантование, обратное преобразование и предсказание, соответствующих операции аппарата кодирования.

[44] Модуль визуализации может визуализировать декодированное видео/изображение. Визуализированное видео/ изображение может отображаться посредством дисплея.

[45] Настоящее раскрытие относится к кодированию видео/изображения. Например, способ/вариант осуществления, раскрытый в настоящем раскрытии, может применяться к способам, раскрытым в стандарте многоцелевого кодирования видео (VVC), стандарте существенного кодирования видео (EVC), стандарте AOMedia Video 1 (AV1), стандарте кодирования аудио видео 2-го поколения (AVS2) или стандарте кодирования видео/изображения следующего поколения (например, H.267 или H.268 и т.д.).

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

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

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

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

[50] Пиксел или пел может означать наименьшую единицу, составляющую одну картинку (или изображение). Также, ‘выборка’ может использоваться как термин, соответствующий пикселу. Выборка может, в общем, представлять пиксел или значение пиксела и может представлять только пиксел/значение пиксела компонента яркости или только пиксел/значение пиксела компонента цветности.

[51] Единица может представлять базовую единицу обработки изображения. Единица может включать в себя по меньшей мере одно из конкретной области картинки и информации, относящейся к области. Одна единица может включать в себя один блок яркости и два блока цветности (например, cb, cr). Единица может использоваться взаимозаменяемо с терминами, такими как блок или область в некоторых случаях. В общем случае, блок M×N может включать в себя выборки (или массивы выборок) или набор (или массив) коэффициентов преобразования M столбцов и N строк. Альтернативно, выборка может означать значение пиксела в пространственной области, и когда такое значение пиксела преобразуется в частотную область, оно может означать коэффициент преобразования в частотной области.

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

[53] Со ссылкой на фиг. 2, аппарат 200 кодирования может включать в себя или конфигурироваться с модулем 210 разбиения изображения, предсказателем 220, процессором 230 остатка, энтропийным кодером 240, сумматором 250, фильтром 260 и памятью 270. Предсказатель 220 может включать в себя интер-предсказатель 221 и интра-предсказатель 222. Процессор 230 остатка может включать в себя преобразователь 232, квантователь 233, деквантователь 234 и обратный преобразователь 235. Процессор 230 остатка может дополнительно включать в себя вычитатель 231. Сумматор 250 может называться модулем восстановления или генератором восстановленного блока. Модуль 210 разбиения изображения, предсказатель 220, процессор 230 остатка, энтропийный кодер 240, сумматор 250 и фильтр 260, которые описаны выше, могут быть сконфигурированы одним или более аппаратными компонентами (например, наборами микросхем или процессорами кодера) в соответствии с вариантом осуществления. К тому же, память 270 может включать в себя буфер декодированной картинки (DPB) или может быть сконфигурирована цифровым носителем данных. Аппаратный компонент может дополнительно включать в себя память 270 как внутренний/внешний компонент.

[54] Модуль 210 разбиения изображения может разбивать входное изображение (или картинку, кадр), введенное в аппарат 200 кодирования, на одну или более единиц обработки. Например, единица обработки может называться единицей кодирования (CU). В этом случае, единица кодирования может рекурсивно разбиваться в соответствии со структурой квадродерева-двоичного дерева-троичного дерева (QTBTTT) из единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU). Например, одна единица кодирования может разбиваться на множество единиц кодирования более глубокой глубины на основе структуры квадродерева, структуры двоичного и/или структуры троичного дерева. В этом случае, например, структура квадродерева применяется первой, а структура двоичного дерева и/или структура троичного дерева могут применяться позже. Альтернативно, структура двоичного дерева может применяться первой. Процедура кодирования в соответствии с настоящим раскрытием может выполняться на основе конечной единицы кодирования, которая больше не разбивается. В этом случае, на основе эффективности кодирования в соответствии с характеристиками изображения или тому подобным, максимальная единица кодирования может непосредственно использоваться как конечная единица кодирования, или, при необходимости, единица кодирования может рекурсивно разбиваться на единицы кодирования более глубокой глубины, так что единица кодирования, имеющая оптимальный размер, может использоваться как конечная единица кодирования. Здесь, процедура кодирования может включать в себя процедуру предсказания, преобразования и восстановления, которые будут описаны далее. В качестве другого примера, единица обработки может дополнительно включать в себя предсказатель (PU) или единицу преобразования (TU). В этом случае, каждое из предсказателя и единицы преобразования могут разделяться или разбиваться из вышеупомянутой конечной единицы кодирования. Предсказатель может быть единицей предсказания выборки, и единица преобразования может быть единицей для выведения коэффициента преобразования и/или единицей для выведения остаточного сигнала из коэффициента преобразования.

[55] Единица может использоваться взаимозаменяемо с терминами, такими как блок или область в некоторых случаях. В общем случае, блок M×N может представлять выборки, состоящие из M столбцов и N строк, или группу коэффициентов преобразования. Выборка может, в общем, представлять пиксел или значение пиксела, может представлять только пиксел/значение пиксела компонента яркости или представлять только пиксел/значение пиксела компонента цветности. Выборка может использоваться как термин, соответствующий пикселу или пелу, конфигурирующему одну картинку (или изображение).

[56] Аппарат 200 кодирования может вычитать сигнал предсказания (предсказанный блок, массив выборок предсказания), выведенный из интер-предсказателя 221 или интра-предсказателя 222, из входного сигнала изображения (исходного блока, исходного массива выборок), чтобы сгенерировать остаточный сигнал (остаточный блок, остаточный массив выборок), и сгенерированный остаточный сигнал передается на преобразователь 232. В этом случае, как показано, модуль для вычитания сигнала предсказания (предсказанного блока, массива выборок предсказания) из входного сигнала изображения (исходного блока, исходного массива выборок) в кодере 200 может называться вычитателем 231. Предсказатель может выполнять предсказание на целевом блоке обработки (далее называемом текущим блоком) и генерировать предсказанный блок, включающий выборки предсказания для текущего блока. Предсказатель может определять, применяется ли интра-предсказание или интер-предсказание в единицах текущего блока или CU. Как описано далее в описании каждого режима предсказания, предсказатель может генерировать различную информацию, относящуюся к предсказанию, такую как информация режима предсказания, и передавать сгенерированную информацию на энтропийный кодер 240. Информация о предсказании может кодироваться энтропийным кодером 240 и выводиться в форме битового потока.

[57] Интра-предсказатель 222 может предсказывать текущий блок со ссылкой на выборки в текущей картинке. Указанные выборки могут быть расположены по соседству с текущим блоком или могут быть разнесены от текущего блока в соответствии с режимом предсказания. В интра-предсказании, режимы предсказания могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, режим DC или планарный режим. Направленный режим может включать в себя, например, 33 направленных режима предсказания или 65 направленных режимов предсказания в соответствии со степенью детализации направления предсказания. Однако это только пример, и больше или меньше направленных режимов предсказания, чем указано выше, могут использоваться в соответствии с настройками. Интра-предсказатель 222 может определять режим предсказания, применяемый к текущему блоку, с использованием режима предсказания, применяемого к соседнему блоку.

[58] Интер-предсказатель 221 может выводить предсказанный блок для текущего блока на основе опорного блока (опорного массива выборок), специфицированного вектором движения на опорной картинке. Здесь, чтобы уменьшить количество информации движения, передаваемой в режиме интер-предсказания, информация движения может предсказываться в единицах блока, подблока или выборки на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорной картинки. Информация движения может дополнительно включать в себя информацию направления интер-предсказания (L0-предсказания, L1-предсказания, Bi-предсказания и т.п.). В случае интер-предсказания, соседний блок может включать в себя пространственный соседний блок, существующий в текущей картинке, и временной соседний блок, существующий в опорной картинке. Опорная картинка, включающая в себя опорный блок, и опорная картинка, включающая в себя временной соседний блок, могут быть одинаковыми или разными. Временной соседний блок может называться совместно расположенным опорным блоком, совмещенной (co-located) CU (colCU) и т.п., и опорная картинка, включающая в себя временной соседний блок, может называться совмещенной картинкой (colPic). Например, интер-предсказатель 221 может конфигурировать список кандидатов информации движения на основе соседних блоков и генерировать информацию, указывающую, какой кандидат используется, чтобы вывести вектор движения и/или индекс опорной картинки текущего блока. Интер-предсказание может выполняться на основе различных режимов предсказания. Например, в случае режима пропуска и режима объединения, интер-предсказатель 221 может использовать информацию движения соседнего блока как информацию движения текущего блока. В случае режима пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. Режим предсказания вектора движения (MVP) может указывать вектор движения текущего блока с использованием вектора движения соседнего блока в качестве предсказателя вектора движения и сигнализации разности векторов движения.

[59] Предсказатель 220 может генерировать сигнал предсказания на основе различных способов предсказания, описанных ниже. Например, предсказатель может применять интра-предсказание или интер-предсказание для предсказания одного блока, и может одновременно применять интра-предсказание и интер-предсказание. Это может называться комбинированным интер- и интра-предсказанием (CIIP). К тому же, предсказатель может быть основан на режиме предсказания внутри-блочного копирования (IBC) или режиме палитры для предсказания блока. Режим предсказания IBC или режим палитры могут использоваться для кодирования контента изображения/видео, такого как игры, например, кодирования контента экрана (SCC). IBC в основном выполняет предсказание в текущей картинке, но может выполняться аналогично интер-предсказанию тем, что опорный блок выводится в текущей картинке. То есть, IBC может использовать по меньшей мере один из методов интер-предсказания, описанных в настоящем раскрытии. Режим палитры может рассматриваться как пример интра-кодирования или интра-предсказания. Когда режим палитры применяется, значение выборки в пределах картинки может сигнализироваться на основе информации о таблице палитры и индексе палитры.

[60] Сигнал предсказания, сгенерированный предсказателем (включающим в себя интер-предсказатель 221 и/или интра-предсказатель 222), может использоваться, чтобы генерировать восстановленный сигнал или чтобы генерировать остаточный сигнал. Преобразователь 232 может генерировать коэффициенты преобразования путем применения метода преобразования к остаточному сигналу. Например, метод преобразования может включать в себя по меньшей мере одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно-нелинейного преобразования (CNT). Здесь, GBT относится к преобразованию, полученному из графа, когда информация отношения между пикселами представлена графом. CNT относится к преобразованию, сгенерированному на основе сигнала предсказания, сгенерированного с использованием всех ранее восстановленных пикселов. К тому же, процесс преобразования может применяться к квадратным блокам пикселов, имеющим одинаковый размер, или может применяться к блокам, имеющим переменный размер, а не квадратным.

[61] Квантователь 233 квантует коэффициенты преобразования и передает их на энтропийный кодер 240, и энтропийный кодер 240 кодирует квантованный сигнал (информацию о квантованных коэффициентах преобразования) и выводит закодированный сигнал как битовый поток. Информация о квантованных коэффициентах преобразования может называться остаточной информацией. Квантователь 233 может переупорядочивать квантованные коэффициенты преобразования в форме блока в форму одномерного вектора на основе порядка сканирования коэффициентов и генерировать информацию о коэффициентах преобразования на основе квантованных коэффициентов преобразования в форме одномерного вектора. Энтропийный кодер 240 может выполнять различные способы кодирования, такие как, например, экспоненциальное кодирование Голомба, контекстно-адаптивное кодирование с переменной длиной (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC). Энтропийный кодер 240 может кодировать информацию, необходимую для восстановления видео/изображения, отличную от квантованных коэффициентов преобразования (например, значения синтаксических элементов и т.д.), вместе или отдельно. Закодированная информация (например, закодированная информация видео/изображения) может передаваться или сохраняться в единицах уровня сетевой абстракции (NAL) в форме битового потока. Информация видео/изображения может дополнительно включать в себя информацию о различных наборах параметров, таких как набор параметров адаптации (APS), набор параметров картинки (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). К тому же информация видео/изображения может дополнительно включать в себя общую информацию ограничения. В настоящем документе, информация и/или синтаксические элементы, передаваемые/сигнализируемые от аппарата кодирования на аппарат декодирования, могут быть включены в информацию видео/картинки. Информация видео/изображения может кодироваться посредством вышеописанной процедуры кодирования и включаться в битовый поток. Битовый поток может передаваться по сети или может сохраняться в цифровом носителе данных. Сеть может включать в себя сеть вещания и/или сеть связи, и цифровой носитель хранения может включать в себя различные носители хранения, такие как USB, SD, CD, DVD, Blu-ray, HDD, SSD и тому подобное. Передающий модуль (не показан), передающий сигнал, и/или модуль хранения (не показан), хранящий сигнал, выведенный из энтропийного кодера 240, могут быть сконфигурированы как внутренние/внешние элементы аппарата 200 кодирования, или передающий модуль может быть включен в энтропийный кодер 240.

[62] Квантованные коэффициенты преобразования, выведенные из квантователя 233, могут использоваться, чтобы генерировать сигнал предсказания. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться путем применения деквантования и обратного преобразования к квантованным коэффициентам преобразования деквантователем 234 и модуль 235 обратного преобразования. Сумматор 250 может добавлять восстановленный остаточный сигнал к сигналу предсказания, выведенному из интер-предсказателя 221 или интра-предсказателя 222, чтобы сгенерировать восстановленный сигнал (восстановленную картинку, восстановленный блок, восстановленный массив выборок). Если отсутствует остаток для целевого блока обработки, например, в случае, где применяется режим пропуска, предсказанный блок может использоваться как восстановленный блок. Сумматор 250 может называться модулем восстановления или генератором восстановленного блока. Сгенерированный восстановленный сигнал может использоваться для интра-предсказания следующего целевого блока обработки в текущей картинке или может использоваться для интер-предсказания следующей картинки после фильтрации, как описано ниже.

[63] Между тем, отображение яркости с масштабированием цветности (LMCS) может применяться во время процесса кодирования и/или восстановления картинки.

[64] Фильтр 260 может улучшать субъективное/объективное качество изображения путем применения фильтрации к восстановленному сигналу. Например, фильтр 260 может генерировать модифицированную восстановленную картинку путем применения различных способов фильтрации к восстановленной картинке и сохранять модифицированную восстановленную картинку в памяти 270, конкретно, в DPB памяти 270. Различные способы фильтрации могут включать в себя, например, фильтрацию устранения блочности, адаптивное смещение выборки, адаптивный контурный фильтр, двунаправленный фильтр и тому подобное. Фильтр 260 может генерировать различные виды информации, относящейся к фильтрации, и передавать сгенерированную информацию на энтропийный кодер 240, как описано далее в описании каждого способа фильтрации. Информация, относящаяся к фильтрации, может кодироваться энтропийным кодером 240 и выводиться в форме битового потока.

[65] Модифицированная восстановленная картинка, передаваемая в память 270, может использоваться как опорная картинка в интер-предсказателе 221. Когда интер-предсказание применяется посредством аппарат кодирования, можно избежать рассогласования предсказания между аппаратом 200 кодирования и аппаратом декодирования, и эффективность кодирования может быть улучшена.

[66] DPB памяти 270 может хранить модифицированную восстановленную картинку для использования в качестве опорной картинки в интер-предсказателе 221. Память 270 может хранить информацию движения блока, из которой выводится (или кодируется) информация движения в текущей картинке, и/или информацию движения блоков в картинке, которые уже были восстановлены. Сохраненная информация движения может передаваться на интер-предсказатель 221 и использоваться как информация движения пространственного соседнего блока или информация движения временного соседнего блока. Память 270 может хранить восстановленные выборки восстановленных блоков в текущей картинке и может переносить восстановленные выборки на интра-предсказатель 222.

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

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

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

[70] Со ссылкой на фиг. 3, аппарат 300 декодирования может включать в себя и конфигурироваться с энтропийным декодером 310, процессором 320 остатка, предсказателем 330, сумматором 340, фильтром 350 и памятью 360. Предсказатель 330 может включать в себя интер-предсказатель 331 и интра-предсказатель 332. Процессор 320 остатка может включать в себя деквантователь 321 и обратный преобразователь 321. Энтропийный декодер 310, процессор 320 остатка, предсказатель 330, сумматор 340 и фильтр 350, которые были описаны выше, могут быть сконфигурированы посредством одного или более аппаратных компонентов (например, чипсетов или процессоров декодера) в соответствии с вариантом осуществления. К тому же, память 360 может включать в себя буфер декодированной картинки (DPB) или может быть сконфигурирована цифровым носителем данных. Компонент аппаратных средств может дополнительно включать в себя память 360 как внутренний/внешний компонент.

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

[72] Аппарат 300 декодирования может принимать сигнал, выведенный из аппарата кодирования согласно фиг. 2 в форме битового потока, и принятый сигнал может декодироваться посредством энтропийного декодера 310. Например, энтропийный декодер 310 может выполнять синтаксический анализ битового потока, чтобы вывести информацию (например, информацию видео/изображения), необходимую для восстановления изображения (или восстановления картинки). Информация видео/изображения может дополнительно включать в себя информацию о различных наборах параметров, таких как набор параметров адаптации (APS), набор параметров картинки (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). К тому же, информация видео/изображения может дополнительно включать в себя общую информацию ограничения. Аппарат декодирования может дополнительно декодировать картинку на основе информации о наборе параметров и/или общей информации ограничения. Сигнализированная/принятая информация и/или синтаксические элементы, описанные далее в настоящем раскрытии, могут быть декодированы для декодирования процедуры декодирования и получены из битового потока. Например, энтропийный декодер декодирует информацию в битовом потоке на основе способа кодирования, такого как экспоненциальное кодирование Голомба, CAVLC или CABAC, и выводит синтаксические элементы, требуемые для восстановления изображения, и квантованные значения коэффициентов преобразования для остатка. Более конкретно, способ энтропийного декодирования CABAC может принимать бин, соответствующий каждому синтаксическому элементу в битовом потоке, определять контекстную модель с использованием информации декодирования целевого синтаксического элемента, информации декодирования для декодирования целевого блока или информации символа/бина, декодированного на предыдущей стадии, и выполнять арифметическое декодирование на бине путем предсказания вероятности появления бина в соответствии с определенной контекстной моделью, и генерировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного декодирования CABAC может обновлять контекстную модель с использованием информации декодированного символа/бина для контекстной модели следующего символа/бина после определения контекстной модели. Информация, относящаяся к предсказанию, среди информации, декодированной энтропийным декодером 310, может предоставляться на предсказатель (интер-предсказатель 332 и интра-предсказатель 331), и значения остатка, на которых энтропийное декодирование было выполнено в энтропийном декодере 310, то есть, квантованные коэффициенты преобразования и связанная информация параметров, могут вводиться в процессор 320 остатка.

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

[74] Обратный преобразователь 322 обратно преобразует коэффициенты преобразования, чтобы получить остаточный сигнал (остаточный блок, остаточный массив выборок).

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

[76] Предсказатель 320 может генерировать сигнал предсказания на основе различных способов предсказания, описанных ниже. Например, предсказатель может не только применять интра-предсказание или интер-предсказание для предсказания одного блока, но также одновременно применять интра-предсказание и интер-предсказание. Это может называться комбинированным интер- и интра-предсказанием (CIIP). К тому же, предсказатель может быть основан на режиме предсказания внутри-блочного копирования (IBC) или режиме палитры для предсказания блока. Режим предсказания IBC или режим палитры могут использоваться для кодирования контента изображения/видео игры или тому подобного, например, кодирования контента экрана (SCC). IBC в основном выполняет предсказание в текущей картинке, но может выполняться аналогично интер-предсказанию тем, что опорный блок выводится в текущей картинке. То есть, IBC может использовать по меньшей мере один из методов интер-предсказания, описанных в настоящем документе. Режим палитры может рассматриваться как пример интра-кодирования или интра-предсказания. Когда режим палитры применяется, информация о таблице палитры и индексе палитры может включаться в информацию видео/изображения и сигнализироваться.

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

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

[79] Сумматор 340 может генерировать восстановленный сигнал (восстановленную картинку, восстановленный блок, восстановленный массив выборок) путем добавления полученного остаточного сигнала к сигналу предсказания (предсказанному блоку, предсказанному массиву выборок), выведенному из предсказателя (включающего в себя интер-предсказатель 332 и/или интра-предсказатель 331). Если отсутствует остаток для целевого блока обработки, например, когда применяется режим пропуска, предсказанный блок может использоваться как восстановленный блок.

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

[81] Между тем, отображение яркости с масштабированием цветности (LMCS) также может применяться в процессе декодирования картинки.

[82] Фильтр 350 может улучшать субъективное/объективное качество изображения путем применения фильтрации к восстановленному сигналу. Например, фильтр 350 может генерировать модифицированную восстановленную картинку путем применения различных способов фильтрации к восстановленной картинке и сохранять модифицированную восстановленную картинку в памяти 360, конкретно, в DPB памяти 360. Различные способы фильтрации могут включать в себя, например, фильтрацию устранения блочности, адаптивное смещение выборки, адаптивный контурный фильтр, двунаправленный фильтр и тому подобное.

[83] (Модифицированная) восстановленная картинка, сохраненная в DPB памяти 360, может использоваться как опорная картинка в интер-предсказателе 332. Память 360 может хранить информацию движения блока, из которого выводится (или декодируется) информация движения в текущей картинке, и/или информацию движения блоков в картинке, которые уже были восстановлены. Сохраненная информация движения может передаваться на интер-предсказатель 332 для использования в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Память 360 может хранить восстановленные выборки восстановленных блоков в текущей картинке и переносить восстановленные выборки на интра-предсказатель 331.

[84] В настоящем раскрытии, варианты осуществления, описанные в фильтре 260, интер-предсказателе 221 и интра-предсказателе 222 аппарата 200 кодирования, могут применяться таким же образом или соответствовать фильтру 350, интер-предсказателю 332 и интра-предсказателю 331.

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

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

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

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

[89] Со ссылкой на фиг. 4, аппарат кодирования определяет режим интер-предсказания для текущего блока в операции S400. Различные режимы интер-предсказания могут использоваться для предсказания текущего блока в картинке. Например, могут использоваться различные режимы, такие как режим объединения, режим пропуска, режим предсказания вектора движения (MVP), аффинный режим, режим объединения подблоков и режим объединения с MVD (MMVD). Режим уточнения вектора движения стороны декодера (DMVR), режим адаптивного разрешения вектора движения (AMVR), двунаправленное (bi-) предсказание с весом уровня CU (BCW), двунаправленный оптический поток (BDOF) и т.д. могут дополнительно использоваться в качестве вспомогательного режима или могут использоваться вместо них. Аффинный режим может называться аффинным режимом предсказания движения. Режим MVP может называться развитым режимом предсказания вектора движения (AMVP). В настоящем раскрытии, некоторые режимы и/или кандидаты информации движения, выведенные некоторыми режимами, могут включаться как один из связанных с информацией движения кандидатов других режимов. Например, кандидат HMVP может добавляться как кандидат объединения режима объединения/пропуска или может добавляться как кандидат MVP режима MVP. Когда кандидат HMVP используется как кандидат информации движения режима объединения или режима пропуска, кандидат HMVP может называться кандидатом HMVP объединения.

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

[91] Аппарат кодирования выводит информацию движения о текущем блоке в операции S410. Информация движения может выводиться на основе режима интер-предсказания.

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

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

[94] Фиг. 5 является схемой для объяснения режима объединения в интер-предсказании.

[95] Когда применяется режим объединения, информация движения на текущем блоке предсказания не передается напрямую, а информация движения на текущем блоке предсказания выводится с использованием информации движения на соседнем блоке предсказания. Соответственно, информация движения на текущем блоке предсказания может указываться путем передачи информации флага, указывающей, что используется режим объединения, и индекса объединения, указывающего, какой блок предсказания в окрестности используется. Режим объединения может называться режимом регулярного объединения. Например, режим объединения может применяться, когда значение синтаксического элемента regular_merge_flag составляет 1.

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

[97] Настоящее раскрытие может обеспечивать различные варианты осуществления блоков-кандидатов объединения, составляющих список кандидатов объединения.

[98] Например, список кандидатов объединения может использовать пять блоков-кандидатов объединения. Например, могут использоваться четыре пространственных кандидата объединения и один временной кандидат объединения. В качестве конкретного примера, в случае пространственного кандидата объединения, блоки, проиллюстрированные на фиг. 4, могут использоваться как пространственные кандидаты объединения. Далее, пространственный кандидат объединения или пространственный кандидат MVP, которые будут описаны далее, могут упоминаться как SMVP, и временной кандидат объединения или временной кандидат MVP, которые будут описаны далее, могут упоминаться как TMVP.

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

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

[101] Аппарат кодирования может выполнять поиск временного соседнего блока текущего блока и вставлять выведенный временной кандидат объединения в список кандидатов объединения. Временной соседний блок может быть расположен в опорной картинке, которая является картинкой, отличной от текущей картинки, в которой расположен текущий блок. Опорная картинка, в которой расположены временные соседние блоки, может называться совмещенной картинкой или col-картинкой. Поиск временных соседних блоков может выполняться в порядке нижнего-правого углового соседнего блока и нижнего-правого центрального блока совмещенного блока по отношению к текущему блоку на col-картинке. Между тем, когда применяется сжатие данных движения, конкретная информация движения может сохраняться как репрезентативная информация движения по каждой предопределенной единице хранения в col-картинке. В этом случае, нет необходимости сохранять информацию движения по всем блокам в предопределенной единице хранения, и за счет этого может быть получен эффект сжатия данных движения. В этом случае, предопределенная единица хранения может быть предопределенной как, например, единицы 16×16 выборок или единицы 8×8 выборок, или информация размера о предопределенной единице хранения может сигнализироваться от аппарата кодирования на аппарат декодирования. Когда применяется сжатие данных движения, информация движения на соседних во времени блоках может заменяться на репрезентативную информацию движения на предопределенной единице хранения, в которой расположены соседние во времени блоки. То есть, в этом случае, с точки зрения реализации, вместо предсказанного блока, расположенного в координатах соседних во времени блоков, временной кандидат объединения может выводиться на основе информации движения на блоке предсказания, покрывающем арифметическое левое сдвинутое положение после арифметического правого сдвига на некоторое значение на основе координат (положение верхней-левой выборки) временного соседнего блока. Например, когда предопределенная единица хранения представляет собой единицы 2n×2n выборок, если координатами соседних во времени блоков являются (xTnb, yTnb), информация движения на блоке предсказания, расположенном в скорректированном положении ((xTnb>>n)<<n), (yTnb>>n)<<n)), может использоваться для временного кандидата объединения. Конкретно, когда предопределенная единица хранения представляет собой единицы 16×16 выборок, если координатами соседних во времени блоков являются (xTnb, yTnb), информация движения на блоке предсказания, расположенном в скорректированном положении ((xTnb>>4)<<4), (yTnb>>4)<<4)), может использоваться для временного кандидата объединения. Альтернативно, когда предопределенная единица хранения представляет собой единицы 8×8 выборок, если координатами соседних во времени блоков являются (xTnb, yTnb), информация движения на блоке предсказания, расположенном в скорректированном положении ((xTnb>>3)<<3), (yTnb>>3)<<3)), может использоваться для временного кандидата объединения.

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

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

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

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

[106] Когда применяется режим пропуска, информация движения о текущем блоке может выводиться аналогично тому, как при применении режима объединения. Однако, когда применяется режим пропуска, остаточный сигнал для соответствующего блока опускается, и, таким образом, выборки предсказания могут непосредственно использоваться как восстановленные выборки. Режим пропуска может применяться, например, когда значение синтаксического элемента cu_skip_flag составляет 1.

[107] Между тем, попарно-средний кандидат объединения может называться попарно-средним кандидатом или попарным кандидатом. Попарно-средний кандидат(ы) может генерироваться путем усреднения пар предопределенных кандидатов в существующем списке кандидатов объединения. К тому же, предопределенные пары могут определяться как {(0, 1), (0, 2), (1, 2), (0, 3), (1, 3), (2, 3)}. Здесь, числа могут указывать индексы объединения для списка кандидатов объединения. Усредненный вектор движения может вычисляться отдельно для каждого опорного списка. Например, когда два вектора движения доступны в одном списке, два вектора движения могут усредняться, даже если они указывают на разные опорные картинки. Например, когда только один вектор движения доступен, один вектор движения может использоваться напрямую. Например, когда нет доступных векторов движения, список может оставаться недействительным.

[108] Например, когда список кандидатов объединения не заполнен даже после того, как добавлены попарно-средние кандидаты объединения, то есть, когда число текущих кандидатов объединения в списке кандидатов объединения меньше, чем максимальное число кандидатов объединения, нулевой вектор (нулевой MVP) может вставляться последним, пока не появится максимальное число кандидатов объединения. То есть, нулевой вектор может вставляться, пока число текущих кандидатов объединения в списке кандидатов объединения не станет максимальным числом кандидатов объединения.

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

[110] Фиг. 6 является схемой, иллюстрирующей пример движения, выраженного аффинной моделью движения.

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

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

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

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

[115] Фиг. 7A и 7B являются схемами, иллюстрирующими пример векторов движения контрольной точки (CPMV) для аффинного предсказания движения.

[116] В аффинном предсказании движения, возможно определить вектор движения положения выборки, включенной в блок, с использованием двух или более векторов движения контрольной точки (CPMV). В этом случае, набор векторов движения может называться аффинным полем векторов движения (MVF).

[117] Например, фиг. 7A может иллюстрировать случай, где используются два CPMV, что может называться 4-параметрической аффинной моделью. В этом случае, вектор движения в положении (x, y) выборки может определяться, например, как в Уравнении 1.

[118] Уравнение 1

[119] Например, фиг. 7B может иллюстрировать случай, где используются три CPMV, что может называться 6-параметрической аффинной моделью. В этом случае, вектор движения в положении (x, y) выборки может определяться, например, как в Уравнении 2.

[120] Уравнение 2

[121] В Уравнениях 1 и 2, {vx, vy} может указывать вектор движения в положении (x, y). К тому же, {v0x, v0y} может указывать CPMV контрольной точки (CP) в верхнем-левом углу блока кодирования, {v1x, v1y} может указывать CPMV CP в верхнем-правом углу блока кодирования, и {v2x, v2y} может указывать CPMV CP в нижнем-левом углу блока кодирования. К тому же, W может указывать ширину текущего блока, и H может указывать высоту текущего блока.

[122] Фиг. 8 является схемой, иллюстрирующей пример, в котором аффинное MVF определяется в единице подблока.

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

[124] В случае фиг. 8, аффинное MVF определяется в единице 4×4 подблоков, но размер подблоков может по-разному модифицироваться.

[125] То есть, когда аффинное предсказание доступно, три модели движения, применимые к текущему блоку, могут включать в себя модель поступательного перемещения, 4-параметрическую аффинную модель движения и 6-параметрическую аффинную модель движения. Здесь, модель поступательного перемещения может представлять модель, в которой используется существующий вектор движения единицы блока, 4-параметрическая аффинная модель движения может представлять модель, в которой используются два CPMV, и 6-параметрическая аффинная модель движения может представлять модель, в которой используются три CPMV.

[126] Между тем, аффинное предсказание движения может включать в себя аффинный MVP (или аффинный интер-) режим или аффинный режим объединения.

[127] Фиг. 9 является схемой для объяснения аффинного режима объединения в интер-предсказании.

[128] Например, в аффинном режиме объединения, CPMV может определяться в соответствии с аффинной моделью движения соседнего блока, закодированного аффинным предсказанием движения. Например, соседние блоки, закодированные как аффинное предсказание движения в порядке поиска, могут использоваться для аффинного режима объединения. То есть, когда по меньшей мере один из соседних блоков закодирован в аффинном предсказании движения, текущий блок может кодироваться в аффинном режиме объединения. Здесь, аффинный режим объединения может называться AF_MERGE.

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

[130] С другой стороны, в случае аффинного режима объединения, в котором вектор движения (MV) выводится в единицах подблоков, он может называться режимом объединения подблоков, который может указываться на основе флага объединения подблоков (или синтаксического элемента merge_subblock_flag). Альтернативно, когда значение синтаксического элемента merge_subblock_flag равно 1, может указываться, что применяется режим объединения подблоков. В этом случае, список аффинных кандидатов объединения, который будет описан далее, может называться списком кандидатов объединения подблока. В этом случае, список кандидатов объединения подблока может дополнительно включать в себя кандидат, выведенный посредством SbTMVP, который будет описан далее. В этом случае, кандидат, выведенный посредством SbTMVP, может использоваться как кандидат индекса 0 списка кандидатов объединения подблока. Иными словами, кандидат, выведенный из SbTMVP, может располагаться до унаследованного аффинного кандидата или созданного аффинного кандидата, которые будут описаны далее, в списке кандидатов объединения подблока.

[131] Когда применяется аффинный режим объединения, список аффинных кандидатов объединения может создаваться, чтобы вывести CPMV для текущего блока. Например, список аффинных кандидатов объединения может включать в себя по меньшей мере один из следующих кандидатов. 1) Унаследованный аффинный кандидат объединения. 2) Созданный аффинный кандидат объединения. 3) Кандидат нулевого вектора движения (или нулевой вектор). Здесь, унаследованный аффинный кандидат объединения является кандидатом, выведенным на основе CPMV соседнего блока, когда соседний блок закодирован в аффинном режиме, созданный аффинный кандидат объединения является кандидатом, выведенным путем создания CPMV на основе MV соседних блоков соответствующей CP в единицах каждого CPMV, и кандидат нулевого вектора движения может указывать кандидат, состоящий из CPMV, значение которых равно 0.

[132] Список аффинных кандидатов объединения может создаваться, например, как описано далее.

[133] Могут существовать до двух унаследованных аффинных кандидатов, и унаследованные аффинные кандидаты могут выводиться из аффинных моделей движения соседних блоков. Соседние блоки могут содержать один левый соседний блок и верхний соседний блок. Блоки кандидатов могут быть расположены, как проиллюстрировано на фиг. 4. Порядок сканирования для левого предсказателя может представлять собой A1A0, и порядок сканирования для верхнего предсказателя может представлять собой B1B0B2. Только один унаследованный кандидат из каждого из левого и верхнего может быть выбран. Проверка отсечения может не выполняться между двумя унаследованными кандидатами.

[134] Когда соседний аффинный блок идентифицирован, векторы движения контрольной точки идентифицированного блока могут использоваться, чтобы выводить кандидат CPMVP в списке аффинного объединения текущего блока. В этом случае, соседний аффинный блок может указывать блок, закодированный в аффинном режиме предсказания, среди соседних блоков текущего блока. Например, со ссылкой на фиг. 8, когда нижний-левый соседний блок А кодируется в аффинном режиме предсказания, могут быть получены вектор движения v2 верхнего-левого угла соседнего блока А, вектор движения v2 верхнего-правого угла соседнего блока А и вектор движения v4 нижнего-левого угла соседнего блока А. Когда соседний блок А кодируется при помощи 4-параметрической аффинной модели движения, два CPMV текущего блока могут вычисляться в соответствии с v2 и v3. Когда соседний блок А кодируется при помощи 6-параметрической аффинной модели движения, три CPMV текущего блока могут вычисляться в соответствии с v2, v3 и v4.

[135] Фиг. 10 является схемой для объяснения положений кандидатов в аффинном режиме объединения.

[136] Созданный аффинный кандидат может относиться к кандидату, созданному путем комбинации информации соседнего поступательного движения по каждой контрольной точке. Информация движения по контрольным точкам может выводиться из специфицированных пространственных соседей и временных соседей. CPMVk (k=0, 1, 2, 3) может указывать k-ую контрольную точку.

[137] Со ссылкой на фиг. 10, для CPMV0, блоки могут проверяться в порядке B2B3A2, и может использоваться вектор движения первого доступного блока. Для CPMV1, блоки могут проверяться в порядке B1B0. Для CPMV2, блоки могут проверяться в порядке A1A0. Временной предсказатель вектора движения (TMVP) может использоваться как CPMV3, если доступен.

[138] После того, как векторы движения четырех контрольных точек получены, аффинные кандидаты объединения могут генерироваться на основе полученной информации движения. Комбинация векторов движения контрольных точек может соответствовать одному из {CPMV0, CPMV1, CPMV2}, {CPMV0, CPMV1, CPMV3}, {CPMV0, CPMV2, CPMV3}, {CPMV1, CPMV2, CPMV3}, {CPMV0, CPMV1} и {CPMV0, CPMV2}.

[139] Комбинация трех CPMV может составлять 6-параметрический аффинный кандидат объединения, и комбинация двух CPMV может составлять 4-параметрический аффинный кандидат объединения. Чтобы избежать процесса масштабирования движения, когда опорные индексы контрольных точек отличаются, релевантные комбинации вектора движения контрольных точек могут отбрасываться.

[140] Фиг. 11 является схемой для пояснения временного предсказания вектора движения на основе подблока (SbTMVP) в интер-предсказании.

[141] Между тем, может также использоваться способ временного предсказания вектора движения на основе подблока (SbTMVP). Например, SbTMVP может называться развитым временным предсказанием вектора движения (ATMVP). SbTMVP может использовать поле движения в совмещенной картинке для улучшения предсказания вектора движения и режима объединения для CU в текущей картинке. Здесь, совмещенная картинка может называться col-картинкой.

[142] Например, SbTMVP может предсказывать движение на уровне подблока (или под-CU). К тому же, SbTMVP может применять сдвиг движения до извлечения временной информации движения из col-картинки. Здесь, сдвиг движения может быть получен из вектора движения одного из пространственно соседних блоков текущего блока.

[143] SbTMVP может предсказывать вектор движения подблока (или под-CU) в текущем блоке (или CU) в соответствии с двумя этапами.

[144] На первом этапе, пространственно соседние блоки могут проверяться в соответствии с порядком A1, B1, B0 и A0 на фиг. 4. Первый пространственный соседний блок, имеющий вектор движения, использующий col-картинку в качестве его опорной картинки, может проверяться, и вектор движения может выбираться как сдвиг движения, подлежащий применению. Когда такое движение не проверяется из пространственно соседних блоков, сдвиг движения может быть установлен в (0, 0).

[145] На втором этапе, сдвиг движения, проверяемый на первом этапе, может применяться, чтобы получить информацию движения уровня подблока (вектор движения и опорные индексы) из col-картинки. Например, сдвиг движения может добавляться к координатам текущего блока. Например, сдвиг движения может быть установлен в движение A1 на фиг. 4. В этом случае, для каждого подблока, информация движения на соответствующем блоке в col-картинке может использоваться для выведения информации движения на подблоке. Масштабирование временного движения может применяться, чтобы выровнять опорные картинки временных векторов движения с опорными картинками текущего блока.

[146] Комбинированный список объединения на основе подблока, включающий в себя и кандидаты SbTVMP, и аффинные кандидаты объединения, может использоваться для сигнализации аффинного режима объединения. Здесь, аффинный режим объединения может называться режимом объединения на основе подблока. Режим SbTVMP может быть доступен или недоступен в соответствии с флагом, включенным в набор параметров последовательности (SPS). Когда режим SbTMVP доступен, предсказатель SbTMVP может добавляться как первая запись списка кандидатов объединения на основе подблока, и аффинные кандидаты объединения могут следовать за ним. Максимальный допустимый размер списка аффинных кандидатов объединения может составлять пять.

[147] Размер под-CU (или подблока), используемого в SbTMVP, может быть фиксирован как 8×8, и, как в аффинном режиме объединения, режим SbTMVP может применяться только к блокам, имеющим ширину и высоту 8 или больше. Логика кодирования дополнительного кандидата объединения SbTMVP может быть той же самой, что и логика других кандидатов объединения. То есть, для каждой CU в P- или B-вырезке, может выполняться проверка RD с использованием дополнительной стоимости по критерию скорость-искажение (RD), чтобы определить, следует ли использовать кандидат SbTMVP.

[148] Между тем предсказанный блок для текущего блока может выводиться на основе информации движения, выведенной в соответствии с режимом предсказания. Предсказанный блок может включать в себя выборки предсказания (массив выборок предсказания) текущего блока. Когда вектор движения текущего блока указывает дробную единицу выборки, может выполняться процедура интерполяции. Посредством этого, выборки предсказания текущего блока могут выводиться на основе опорных выборок дробной единицы выборки в опорной картинке. Когда аффинное интер-предсказание (аффинный режим предсказания) применяется к текущему блоку, выборки предсказания могут генерироваться на основе MV единицы выборки/подблока. Когда применяется bi-предсказание, выборки предсказания могут использоваться как выборки предсказания текущего блока, выведенные через взвешенную сумму или взвешенное среднее (в соответствии с фазой) выборок предсказания, выведенных на основе L0-предсказания (т.е. предсказания с использованием опорной картинки и MVL0 в списке L0 опорной картинки), и выборок предсказания, выведенных на основе L1-предсказания (т.е. предсказания с использованием опорной картинки и MVL1 в списке L1 опорной картинки). Здесь, вектор движения в направлении L0 может называться вектором движения L0 или MVL0, и вектор движения в направлении L1 может называться вектором движения L1 или MVL1. В случае, где применяется bi-предсказание, когда опорная картинка, используемая для L0-предсказания, и опорная картинка, используемая для L1-предсказания, расположены в разных временных направлениях по отношению к текущей картинке (то есть, случай, соответствующий двунаправленному предсказанию или bi-предсказанию), это может называться истинным bi-предсказанием.

[149] Так же, как описано выше, восстановленные выборки и восстановленные картинки могут генерироваться на основе выведенных выборок предсказания, и затем могут выполняться процедуры, такие как внутриконтурная фильтрация.

[150] Между тем, когда bi-предсказание применяется к текущему блоку, выборки предсказания могут выводиться на основе взвешенного среднего. Например, bi-предсказание с использованием взвешенного среднего может называться bi-предсказанием с весом уровня CU (BCW), bi-предсказанием с взвешенным средним (BWA) или bi-предсказанием взвешенного усреднения.

[151] Традиционно, сигнал bi-предсказания (т.е. выборки bi-предсказания) может выводиться через простое среднее сигнала L0-предсказания (выборок L0-предсказания) и сигналов L1-предсказания. То есть, выборки bi-предсказания выводятся как среднее выборок L0-предсказания, основанных на опорной картинке L0 и MVL0, и выборок L1-предсказания, основанных на опорной картинке L1 и MVL1. Однако когда применяется bi-предсказание, сигнал bi-предсказания (выборки bi-предсказания) может выводиться через взвешенное среднее сигнала L0-предсказания и сигнала L1-предсказания, как описано далее. Например, сигналы bi-предсказания (выборки bi-предсказания) могут выводиться как в Уравнении 3.

[152] [Уравнение 3]

[153] В Уравнении 3, Pbi-pred может указывать значение сигнала bi-предсказания, то есть значение выборки предсказания, выведенное путем применения bi-предсказания, и w может указывать вес. К тому же, P0 может указывать значение сигнала L0-предсказания, то есть, значение выборки предсказания, выведенное путем применения L0-предсказания, и P1 может указывать значение сигнала L1-предсказания, т.е. значение выборки предсказания, выведенное путем применения L1-предсказания.

[154] Например, 5 весов могут быть разрешены во взвешенном среднем bi-предсказании. Например, пять весов w могут включать в себя -2, 3, 4, 5 или 10. То есть, вес w может определяться как один из кандидатов веса, включающих в себя -2, 3, 4, 5 или 10. Для каждой CU, к которой применяется bi-предсказание, вес w может определяться одним из двух способов. В первом способе, индекс веса может сигнализироваться после разности векторов движения для необъединенной CU. Во втором способе, индекс веса для объединенной CU может выводиться из соседних блоков на основе индекса кандидата объединения.

[155] Например, bi-предсказание взвешенного среднего может применяться к CU, имеющей 256 или больше выборок яркости. То есть, когда произведение ширины и высоты CU больше или равно 256, может применяться bi-предсказание взвешенного среднего. В случае картинки с низкой задержкой, могут использоваться пять весов, и в случае картинки не с низкой задержкой, могут использоваться три веса. Например, три веса могут включать в себя 3, 4 или 5.

[156] Например, в аппарате кодирования, может применяться алгоритм быстрого поиска, чтобы найти индекс веса без значительного повышения сложности аппарата кодирования. Этот алгоритм может быть кратко изложен следующим образом. Например, когда текущая картинка является картинкой с низкой задержкой при комбинации с разрешением адаптивного вектора движения (AMVR) (когда AMVR используется как режим интер-предсказания), неравные веса могут условно проверяться на точность вектора движения 1 пел и 4 пел. Например, при комбинации с аффинным (когда аффинный режим предсказания используется как режим интер-предсказания), в случае, где аффинный режим предсказания в текущее время выбран как лучший режим, аффинная оценка движения (ME) может выполняться на неравных весах. Например, когда две опорные картинки bi-предсказания являются одинаковыми, неравные веса могут быть условно проверяемыми. Например, когда конкретное условие удовлетворено в зависимости от расстояния POC между текущей картинкой и опорной картинкой, параметра квантования (QP) кодирования и временного уровня, можно не проводить поиск неравных весов.

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

[158] Между тем, когда применяется bi-предсказание, информация веса, используемая для генерирования выборок предсказания, может выводиться на основе информации индекса веса на кандидате, выбранном среди кандидатов, включенных в список кандидатов объединения.

[159] В соответствии с вариантом осуществления настоящего раскрытия, при создании кандидата вектора движения для режима объединения, информация индекса веса по временному кандидату вектора движения может выводиться следующим образом. Например, когда временной кандидат вектора движения использует bi-предсказание, информация индекса веса может выводиться на взвешенном среднем. То есть, когда типом интер-предсказания является bi-предсказание, информация индекса веса (или временной кандидат вектора движения) может выводиться на временном кандидате объединения в списке кандидатов объединения.

[160] Например, информация индекса веса на взвешенном среднем по отношению к временному кандидату вектора движения может всегда выводиться как 0. Здесь, информация индекса веса на 0 может означать, что веса каждого опорного направления (т.е. направления L0-предсказания и направления L1-предсказания в bi-предсказании) являются одинаковыми. Например, процедура для выведения вектора движения компонента яркости для режима объединения может быть показана в Таблице 1 ниже.

[161] Таблица 1

[162]

[163]

[164]

[165]

[166] Со ссылкой на Таблицу 1, gbiIdx может указывать индекс веса bi-предсказания, и gbiIdxCol может указывать индекс веса bi-предсказания для временного кандидата объединения (например, временного кандидата вектора движения в списке кандидатов объединения). В процедуре для выведения вектора движения компонента яркости для режима объединения (Таблица контентов 3 в 8.4.2.2), gbiIdxCol может выводиться как 0. То есть, индекс веса временного кандидата вектора движения может выводиться как 0.

[167] Альтернативно, индекс веса для взвешенного среднего временных кандидатов вектора движения может выводиться на основе информации индекса веса на совместно расположенном блоке. Здесь, совместно расположенный блок может называться col-блоком, совмещенным блоком или совмещенным опорным блоком, и col-блок может указывать блок в том же положении, что и текущий блок на опорной картинке. Например, процедура для выведения вектора движения компонента яркости для режима объединения может быть такой, как показано в Таблице 2 ниже.

[168] Таблица 2

[169]

[170]

[171]

[172]

[173] Со ссылкой на Таблицу 2, gbiIdx может указывать индекс веса bi-предсказания, и gbiIdxCol может указывать индекс веса bi-предсказания для временного кандидата объединения (например, временного кандидата вектора движения в списке кандидатов объединения). В процедуре вывода вектора движения компонента яркости для режима объединения, когда типом вырезки или типом группы мозаичных элементов является B (Таблица контентов 4 в 8.4.2.2), gbiIdxCol может выводиться как gbiIdxCol. То есть индекс веса временного кандидата вектора движения может выводиться как индекс веса col-блока.

[174] Между тем, в соответствии с другим вариантом осуществления настоящего раскрытия, при создании кандидата вектора движения для режима объединения в единицах подблоков, может выводиться индекс веса для взвешенного среднего временных кандидатов вектора движения. Здесь, режим объединения в единицах подблоков может называться аффинным режимом объединения (в единицах подблоков). Временной кандидат вектора движения может указывать временной кандидат вектора движения на основе подблока и может называться кандидатом SbTMVP (или ATMVP). То есть, когда типом интер-предсказания является bi-предсказание, может выводиться информация индекса веса на кандидате SbTMVP (или временном кандидате вектора движения на основе подблока) в списке аффинных кандидатов объединения или списке кандидатов объединения подблока.

[175] Например, информация индекса веса на взвешенном среднем временных кандидатов вектора движения на основе подблока может всегда выводиться как 0. Здесь, информация индекса веса 0 может означать, что веса каждого опорного направления (т.е. направления L0-предсказания и направления L1-предсказания в bi-предсказании) являются одинаковыми. Например, процедура для выведения вектора движения и опорного индекса в режиме объединения подблоков и процедура для выведения временного кандидата объединения на основе подблока могут быть такими, как показано в Таблицах 3 и 4.

[176] Таблица 3

[177]

[178]

[179]

[180]

[181]

[182]

[183]

[184] Таблица 4

[185] Со ссылкой на Таблицы 3 и 4 выше, gbiIdx может указывать индекс веса bi-предсказания, gbiIdxSbCol может указывать индекс веса bi-предсказания для временного кандидата объединения на основе подблока (например, временного кандидата вектора движения в списке кандидатов объединения на основе подблока), и в процедуре (8.4.4.3) для выведения временного кандидата объединения на основе подблока, gbiIdxSbCol может выводиться как 0. То есть, индекс веса временного кандидата вектора движения на основе подблока может выводиться как 0.

[186] Альтернативно, информация индекса веса на взвешенном среднем временных кандидатов вектора движения на основе подблока может выводиться на основе информации индекса веса на временном центральном блоке. Например, временной центральный блок может указывать подблок или выборку, расположенную в центре col-блока, или col-блок и конкретно, может указывать подблок, расположенный внизу-справа из четырех центральных подблоков или выборок col-блока, или выборку. Например, в этом случае, процедура для выведения вектора движения и опорного индекса в режиме объединения подблоков, процедура для выведения временного кандидата объединения на основе подблока и процедура для выведения базовой информации движения для временного объединения на основе подблока могут быть показаны в Таблице 5, Таблице 6 и Таблице 7.

[187] Таблица 5

[188]

[189]

[190]

[191]

[192]

[193]

[194]

[195] Таблица 6

[196]

[197]

[198]

[199] Таблица 7

[200]

[201]

[202]

[203] Со ссылкой на Таблицу 5, Таблицу 6 и Таблицу 7, gbiIdx может указывать индекс веса bi-предсказания, и gbiIdxSbCol может указывать индекс веса bi-предсказания для временного кандидата объединения на основе подблока (например, временного кандидата вектора движения в списке кандидатов объединения на основе подблока).<0} В процедуре (8.4.4.4) для выведения базовой информации движения о временном объединении на основе подблока, gbiIdxSbCol может выводиться как gbiIdxcolCb. То есть, индекс веса временного кандидата вектора движения на основе подблока может выводиться как индекс веса временного центрального блока. Например, временной центральный блок может указывать подблок или выборку, расположенную в центре col-блока, или col-блок и, конкретно, может указывать подблок, расположенный внизу-справа из четырех центральных подблоков или выборок col-блока, или выборку.

[204] Альтернативно, информация индекса веса на взвешенном среднем временных кандидатов вектора движения на основе подблока может выводиться на основе информации индекса веса в единицах каждого подблока и может выводиться на основе информации индекса веса на временном центральном блоке, когда подблок недоступен. Например, временной центральный блок может указывать подблок или выборку, расположенную в центре col-блока, или col-блок и, конкретно, может указывать подблок, расположенный внизу-справа из четырех центральных подблоков или выборок col-блока, или выборку. Например, в этом случае, процедура для выведения вектора движения и опорного индекса в режиме объединения подблоков, процедура для выведения временного кандидата объединения на основе подблока и процедура для выведения базовой информации движения для временного объединения на основе подблока могут быть показаны в Таблице 8, Таблице 9 и Таблице 10.

[205] Таблица 8

[206]

[207]

[208]

[209]

[210]

[211]

[212]

[213] Таблица 9

[214]

[215]

[216]

[217]

[218] Таблица 10

[219]

[220]

[221]

[222] Со ссылкой на Таблицу 8, Таблицу 9 и Таблицу 10, gbiIdx может указывать индекс веса bi-предсказания, и gbiIdxSbCol может указывать индекс веса bi-предсказания для временного кандидата объединения на основе подблока (например, временного кандидата вектора движения в списке кандидатов объединения на основе подблока). В процедуре (8.4.4.3) для выведения базовой информации движения о временном объединении на основе подблока, gbiIdxSbCol может выводиться как gbiIdxcolCb. Альтернативно, в процедуре (8.4.4.3) выведения базовой информации движения о временном объединении на основе подблока в соответствии с условием (например, когда availableFlagL0SbCol и availableFlagL1SbCol оба равны 0), gbiIdxSbCol может выводиться как ctrgbiIdx, и в процедуре (8.4.4.4) для выведения базовой информации движения о временном объединении на основе подблока, ctrgbiIdx может выводиться как gbiIdxSbCol. То есть, индекс веса временного кандидата вектора движения на основе подблока может выводиться как индекс веса в единицах каждого подблока или, когда подблок недоступен, может выводиться как индекс веса временного центрального блока. Например, временной центральный блок может указывать подблок или выборку, расположенную в центре col-блока, или col-блок и, конкретно, может указывать подблок, расположенный внизу-справа из четырех центральных подблоков или выборок col-блока, или выборку.

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

[224] Попарный кандидат может выводиться на основе других двух кандидатов объединения (например, cand0 и cand1) среди кандидатов, включенных в список кандидатов объединения.

[225] Например, информация индекса веса на попарном кандидате может выводиться на основе информации индекса веса на любом одном из двух кандидатов объединения (например, кандидате cand0 объединения или кандидате cand1 объединения). Например, информация индекса веса на попарном кандидате может выводиться на основе информации индекса веса на кандидате с использованием bi-предсказания среди двух кандидатов объединения.

[226] Альтернативно, когда информация индекса веса на каждом из других двух кандидатов объединения является той же, что и первая информация индекса веса, информация индекса веса на попарном кандидате может выводиться на основе первой информации индекса веса. Между тем, когда информация индекса веса на каждом из других двух кандидатов объединения не является одинаковой, информация индекса веса на попарном кандидате может выводиться на основе информации индекса веса по умолчанию. Информация индекса веса по умолчанию может соответствовать информации индекса веса о назначении одинакового веса каждой из выборок L0-предсказания и выборок L1-предсказания.

[227] Альтернативно, когда информация индекса веса на каждом из других двух кандидатов объединения является той же самой, что и первая информация индекса веса, информация индекса веса на попарном кандидате может выводиться на основе первой информации индекса веса. Между тем, когда информация индекса веса на каждом из других двух кандидатов объединения не является одинаковой, информация индекса веса на попарном кандидате включает в себя информацию индекса веса по умолчанию среди информации индекса веса на каждом из других двух кандидатов. Информация индекса веса по умолчанию может соответствовать информации индекса веса о назначении одинакового веса каждой из выборок L0-предсказания и выборок L1-предсказания.

[228] Между тем, в соответствии с другим вариантом осуществления настоящего раскрытия, при создании кандидата вектора движения для режима объединения в единицах подблоков, информация индекса веса может выводиться на взвешенном среднем временных кандидатов вектора движения. Здесь, режим объединения в единицах подблоков может называться аффинным режимом объединения (в единицах подблоков). Временной кандидат вектора движения может указывать временной кандидат вектора движения на основе подблока и может называться кандидатом SbTMVP (или ATMVP). Информация индекса веса на кандидате SbTMVP может выводиться на основе информации индекса веса на левом соседнем блоке текущего блока. То есть, когда кандидат, выведенный посредством SbTMVP, использует bi-предсказание, индекс веса левого соседнего блока текущего блока может выводиться как индекс веса для режима объединения на основе подблока.

[229] Например, поскольку кандидат SbTMVP может выводить col-блок на основе пространственно смежного левого блока (или левого соседнего блока) текущего блока, индекс веса левого соседнего блока может считаться надежным. Соответственно, индекс веса для кандидата SbTMVP может выводиться как индекс веса левого соседнего блока.

[230] Между тем, в соответствии с другим вариантом осуществления настоящего раскрытия, при создании кандидата вектора движения для аффинного режима объединения, в случае, где аффинный кандидат объединения использует bi-предсказание, информация индекса веса может выводиться на взвешенном среднем. То есть, когда типом интер-предсказания является bi-предсказание, информация индекса веса может выводиться на кандидате в списке аффинных кандидатов объединения или списке кандидатов объединения подблока.

[231] Например, среди аффинных кандидатов объединения, созданный аффинный кандидат объединения может выводить CP0, CP1, CP2 или CP3 кандидаты на основе пространственно смежного блока текущего блока или смежного во времени блока, чтобы указать кандидат для выведения MVF как аффинной модели. Например, CP0 может указывать контрольную точку, расположенную в положении верхней-левой выборки текущего блока, CP1 может указывать контрольную точку, расположенную в положении верхней-правой выборки текущего блока, и CP2 может указывать положение нижней-левой выборки текущего блока. Также, CP3 может указывать контрольную точку, расположенную в положении нижней-правой выборки текущего блока.

[232] Например, созданный аффинный кандидат объединения среди аффинных кандидатов объединения может генерироваться на основе комбинации соответственных контрольных точек текущего блока, таких как {CP0, CP1, CP2}, {CP0, CP1, CP3}, {CP0, CP2, CP3}, {CP1, CP2, CP3}, {CP0, CP1} и {CP0, CP2}. Например, аффинный кандидат объединения может включать в себя по меньшей мере одно из {CPMV0, CPMV1, CPMV2}, {CPMV0, CPMV1, CPMV3}, {CPMV0, CPMV2, CPMV3}, {CPMV1, CPMV2, CPMV3}, {CPMV0, CPMV1} и {CPMV0, CPMV2}. CPMV0, CPMV1, CPMV2 и CPMV3 могут соответствовать векторам движения для CP0, CP1, CP2 и CP3, соответственно.

[233] В одном варианте осуществления, когда аффинный кандидат объединения включает в себя CPMV0 для контрольной точки 0 (CP0), расположенной на верхней-левой стороне текущего блока, информация индекса веса для аффинного кандидата объединения может выводиться на основе 0-ой информации индекса веса для CP0. 0-ая информация индекса веса может соответствовать информации индекса веса для блока, который используется для вывода CPMV0 среди соседних блоков CPO. В этом случае, соседние блоки CP0 могут включать в себя верхний-левый угловой соседний блок текущего блока, левый соседний блок, смежный с нижней стороной верхнего-левого углового соседнего блока, и верхний соседний блок, смежный с правой стороной верхнего-левого углового соседнего блока.

[234] С другой стороны, когда аффинный кандидат объединения не включает в себя CPMV0 для CP0, расположенной на верхней-левой стороне текущего блока, информация индекса веса для аффинного кандидата объединения может выводиться на основе первой информации индекса веса для контрольной точки 1 (CP1), расположенной на верхней-правой стороне текущего блока. Первая информация индекса веса может соответствовать информации индекса веса для блока, который используется для вывода CPMV1, среди соседних блоков CP1. В этом случае, соседние блоки CP1 могут включать в себя верхний-правый угловой соседний блок текущего блока и верхний соседний блок, смежный с левой стороной верхнего-правого углового соседнего блока.

[235] В соответствии с вышеописанным способом, информация индекса веса на аффинном кандидате объединения может выводиться на основе информации индекса веса на блоке, который используется для выведения первого CPMV в отношении каждого из {CPMV0, CPMV1, CPMV2}, {CPMV0, CPMV1, CPMV3}, {CPMV0, CPMV2, CPMV3}, {CPMV1, CPMV2, CPMV3}, {CPMV0, CPMV1} и {CPMV0, CPMV2}.

[236] В соответствии с другим вариантом осуществления для выведения информации индекса веса на аффинном кандидате объединения, когда информация индекса веса для CP0, расположенной на верхней-левой стороне текущего блока, и информация индекса веса для CP1, расположенной на правой стороне текущего блока, идентичны друг другу, информация индекса веса на аффинном кандидате объединения может выводиться на основе 0-ой информации индекса веса для CP0. 0-ая информация индекса веса может соответствовать информации индекса веса для блока, который используется для выведения CPMV0 среди соседних блоков CP0. С другой стороны, когда информация индекса веса для CP0, расположенной на верхней-левой стороне текущего блока, и информация индекса веса для CP1, расположенной на верхней-правой стороне текущего блока, не идентичны друг другу, информация индекса веса для аффинного кандидата объединения может выводиться на основе информации индекса веса по умолчанию. Информация индекса веса по умолчанию может соответствовать информации индекса веса для придания одинакового веса каждой из выборок L0-предсказания и выборок L1-предсказания.

[237] В соответствии с другим вариантом осуществления для выведения информации индекса веса на аффинном кандидате объединения, информация индекса веса на аффинном кандидате объединения может выводиться как индекс веса кандидата, имеющего высокую частоту появления среди индексов веса каждого кандидата. Например, индекс веса блока-кандидата, определенного как вектор движения в CP0 среди CP0 блоков-кандидатов, индекс веса блока кандидата, определенного как вектор движения в CP1 среди CP1 блоков-кандидатов, индекс веса блока-кандидата, определенного как вектор движения в CP2 среди CP2 блоков-кандидатов, и/или наиболее перекрывающий индекс веса среди индексов веса блоков-кандидатов, определенных как вектор движения в CP3 среди CP3 блоков-кандидатов, могут выводиться как индекс веса аффинного кандидата объединения.

[238] Например, CP0 и CP1 могут использоваться как контрольная точка, CP0, CP1 и CP2 могут использоваться, и CP3 может не использоваться. Однако, например, когда должен использоваться кандидат CP3 аффинного блока (блока, кодируемого в аффинном режиме предсказания), может использоваться способ вывода индекса веса во временном блоке-кандидате, описанный в вышеизложенных вариантах осуществления.

[239] Фиг. 12 и 13 являются схемами, схематично иллюстрирующими пример способа кодирования видео/изображений в соответствии с вариантом(ами) осуществления настоящего раскрытия и связанные компоненты.

[240] Способ, раскрытый на фиг. 12, может выполняться аппаратом кодирования, раскрытым на фиг. 2 или 13. Конкретно, например, операции S1200-S1220 на фиг. 12 могут выполняться предсказателем 220 аппарата 200 кодирования на фиг. 13, и операция S1230 на фиг. 12 может выполняться энтропийным кодером 240 аппарата 200 кодирования на фиг. 13. К тому же, хотя не проиллюстрировано на фиг. 12, выборки предсказания или связанная с предсказанием информация могут выводиться предсказателем 220 аппарата 200 кодирования на фиг. 12, остаточная информация может выводиться из исходных выборок или выборок предсказания процессором 230 остатка аппарата 200 кодирования, битовый поток может генерироваться из остаточной информации или связанной с предсказанием информации энтропийным кодером 240 аппарата 200 кодирования. Способ, раскрытый на фиг. 12, может включать в себя варианты осуществления, описанные выше в настоящем раскрытии.

[241] Со ссылкой на фиг. 12, аппарат кодирования может определять режим интер-предсказания текущего блока и генерировать информацию режима интер-предсказания, указывающую режим интер-предсказания, в операции S1200. Например, аппарат кодирования может определять режим объединения, аффинный режим (объединения) или режим объединения подблоков как режим интер-предсказания, подлежащий применению к текущему блоку, и может генерировать информацию режима интер-предсказания, указывающую определенный режим интер-предсказания.

[242] Аппарат кодирования может генерировать список кандидатов объединения для текущего блока на основе режима интер-предсказания в операции S1210. Например, аппарат кодирования может генерировать список кандидатов объединения в соответствии с определенным режимом интер-предсказания. В этом случае, когда определенный режим интер-предсказания является аффинным режимом объединения или режимом объединения подблоков, список кандидатов объединения может называться списком аффинных кандидатов объединения или списком кандидатов объединения подблока, но может также просто называться списком кандидатов объединения.

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

[244] Альтернативно, например, кандидаты могут вставляться в список аффинных кандидатов объединения, пока число кандидатов в списке аффинных кандидатов объединения не станет максимальным числом кандидатов. Здесь, кандидат может включать в себя вектор движения контрольной точки (CPMV) текущего блока. Альтернативно, кандидат может указывать кандидат или блок кандидатов для вывода CPMV. CPMV может указывать вектор движения в контрольной точке (CP) текущего блока. Например, число CP может составлять 2, 3 или 4, CP может быть расположена по меньшей мере в части из вверху слева (или в верхнем-левом углу), вверху справа (или в верхнем-правом углу), внизу слева (или в нижнем-левом углу) или внизу справа (или в нижнем-правом углу) текущего блока, и только одна CP может существовать в каждом положении.

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

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

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

[248] К тому же, аппарат кодирования может генерировать информацию типа интер-предсказания, которая указывает тип интер-предсказания текущего блока как bi-предсказание. Например, тип интер-предсказания текущего блока может определяться как bi-предсказание среди L0-предсказания, L1-предсказания или bi-предсказания, и может генерироваться информация типа интер-предсказания, указывающая определение. В этом случае, L0-предсказание может указывать предсказание на основе списка 0 опорных картинок, L1-предсказание может указывать предсказание на основе списка 1 опорных картинок, и bi-предсказание может указывать предсказание на основе списка 0 опорных картинок и списка 1 опорных картинок. Например, аппарат кодирования может генерировать информацию типа интер-предсказания на основе типа интер-предсказания. Например, информация типа интер-предсказания может включать в себя синтаксический элемент inter_pred_idc.

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

[250] Хотя не проиллюстрировано на фиг. 12, например, аппарат кодирования может генерировать выборки предсказания текущего блока. Или, например, аппарат кодирования может генерировать выборки предсказания текущего блока на основе выбранного кандидата. Или, например, аппарат кодирования может выводить информацию движения на основе выбранного кандидата и генерировать выборки предсказания текущего блока на основе информации движения. Например, аппарат кодирования может генерировать выборки L0-предсказания и выборки L1-предсказания в соответствии с bi-предсказанием и может генерировать выборки предсказания текущего блока на основе выборок L0-предсказания и выборок L1-предсказания. В этом случае, выборки предсказания текущего блока могут генерироваться из выборок L0-предсказания и выборок L1-предсказания с использованием информации индекса веса (или информации веса) для bi-предсказания. В этом случае, информация веса может быть выражена на основе информации индекса веса.

[251] Иными словами, например, аппарат кодирования может генерировать выборки L0-предсказания и выборки L1-предсказания текущего блока на основе выбранного кандидата. Например, когда тип интер-предсказания текущего блока определяется как bi-предсказание, список 0 опорных картинок и список 1 опорных картинок могут использоваться для предсказания текущего блока. Например, выборки L0-предсказания могут представлять выборки предсказания текущего блока, выведенные на основе списка 0 опорных картинок, и выборки L1-предсказания могут представлять выборки предсказания текущего блока, выведенные на основе списка 1 опорных картинок.

[252] Например, кандидаты могут включать в себя пространственный кандидат объединения. Например, когда выбранный кандидат является пространственным кандидатом объединения, информация движения L0 и информация движения L1 могут выводиться на основе пространственного кандидата объединения, и выборки L0- предсказания и выборки L1-предсказания генерируются на их основе.

[253] Например, кандидаты могут включать в себя временной кандидат объединения. Например, когда выбранный кандидат является временным кандидатом объединения, информация движения L0 и информация движения L1 могут выводиться на основе временного кандидата объединения, и выборки L0-предсказания и выборки L1-предсказания генерируются на их основе.

[254] Например, кандидаты могут включать в себя попарные кандидаты. Например, когда выбранный кандидат является попарным кандидатом, информация движения L0 и информация движения L1 могут выводиться на основе попарного кандидата, и выборки L0-предсказания и выборки L1-предсказания могут генерироваться на их основе. Например, попарный кандидат может выводиться на основе двух других кандидатов среди кандидатов, включенных в список кандидатов объединения.

[255] Альтернативно, например, список кандидатов объединения может представлять собой список кандидатов объединения подблока, и может выбираться аффинный кандидат объединения, кандидат объединения подблоков или кандидат SbTMVP. Здесь, аффинный кандидат объединения в единицах подблоков может называться кандидатом объединения подблоков.

[256] Например, кандидаты могут включать в себя кандидат объединения подблоков. Например, когда выбранный кандидат является кандидатом объединения подблоков, информация движения L0 и информация движения L1 может выводиться на основе кандидата объединения подблоков, и выборки L0-предсказания и выборки L1-предсказания генерируются на их основе. Например, кандидат объединения подблоков может включать в себя вектор движения контрольных точек (CPMV), и выборки L0-предсказания и выборки L1-предсказания могут генерироваться путем выполнения предсказания в единицах подблока на основе CPMV.

[257] Здесь, CPMV может указываться на основе одного блока среди соседних блоков контрольной точки (CP) текущего блока. Например, число CP может составлять 2, 3 или 4, CP может быть расположена по меньшей мере в части из вверху слева (или в верхнем-левом углу), вверху справа (или в верхнем-правом углу), внизу слева (или в нижнем-левом углу) или внизу справа (или в нижнем-правом углу) от текущего блока, и только одна CP может существовать в каждом положении.

[258] Например, CP может представлять собой CP0, расположенную на верхней-левой стороне текущего блока. В этом случае, соседние блоки могут включать в себя верхний-левый угловой соседний блок текущего блока, левый соседний блок, смежный с нижней стороной верхнего-левого углового соседнего блока, и верхний соседний блок, смежный с правой стороной верхнего-левого углового соседнего блока. Или, соседние блоки могут включать в себя блок A2, блок B2 или блок B3 на фиг. 10.

[259] Или, например, CP может представлять собой CP1, расположенную на правой стороне текущего блока. В этом случае, соседние блоки могут включать в себя верхний-правый угловой соседний блок текущего блока и верхний соседний блок, смежный с левой стороной верхнего-правого углового соседнего блока текущего блока. Или, соседние блоки могут включать в себя блок B0 или блок B1 на фиг. 10.

[260] Или, например, CP может представлять собой CP2, расположенную на нижней-левой стороне текущего блока. В этом случае, соседние блоки могут включать в себя нижний-левый угловой соседний блок текущего блока и левый соседний блок, смежный с верхней стороной нижнего-левого углового соседнего блока. Или, соседние блоки могут включать в себя блок A0 или блок A1 на фиг. 10.

[261] Или, например, CP может представлять собой CP3, расположенную на нижней правой стороне текущего блока. В этом случае, CP3 может также называться RB. В этом случае, соседние блоки могут включать в себя совмещенный блок текущего блока или нижний-правый угловой соседний блок совмещенного блока. В этом случае, совмещенный блок может включать в себя блок в том же самом положении, что и текущий блок в опорной картинке, которая отличается от текущей картинки, в которой расположен текущий блок. Или, соседний блок может включать в себя блок T на фиг. 10.

[262] Альтернативно, например, кандидаты могут включать в себя кандидаты SbTMVP. Например, когда выбранный кандидат является кандидатом SbTMVP, информация движения L0 и информация движения L1 могут выводиться на основе левого соседнего блока текущего блока, и на основе этого, могут генерироваться выборки L0-предсказания и выборки L1-предсказания. Например, выборки L0-предсказания и выборки L1-предсказания могут генерироваться путем выполнения предсказания в единицах подблоков.

[263] Например, информация движения L0 может включать в себя индекс L0 опорной картинки, вектор движения L0 и тому подобное, и информация движения L1 может включать в себя индекс L1 опорной картинки, вектор движения L1 и тому подобное. Индекс L0 опорной картинки может включать в себя информацию, указывающую опорную картинку в списке 0 опорных картинок, и индекс L1 опорной картинки может включать в себя информацию, указывающую опорную картинку в списке 1 опорных картинок.

[264] Например, аппарат кодирования может генерировать выборки предсказания текущего блока на основе выборок L0-предсказания, выборок L1-предсказания и информации веса. Например, информация веса может отображаться на основе информации индекса веса. Информация индекса веса может указывать информацию индекса веса для bi-предсказания. Например, информация веса может включать в себя информацию по взвешенному среднему выборок L0-предсказания или выборок L1-предсказания. То есть, информация индекса веса может указывать информацию индекса о весе, используемого для взвешенного среднего, и может генерировать информацию индекса веса в процедуре генерации выборок предсказания на основе взвешенного среднего. Например, информация индекса веса может включать в себя информацию, указывающую любой один из трех или пяти весов. Например, взвешенное среднее может представлять взвешенное среднее в bi-предсказании с весом уровня CU (BCW) или bi-предсказании с взвешенным средним (BWA).

[265] Например, кандидаты могут включать в себя временной кандидат объединения, и информация индекса веса для временного кандидата объединения может быть представлена посредством 0. То есть, информация индекса веса для временного кандидата объединения может быть представлена посредством 0. Здесь, информация индекса веса 0 может означать, что веса каждого опорного направления (т.е. направление L0-предсказания и направление L1-предсказания в bi-предсказании) являются одинаковыми. Альтернативно, например, кандидаты могут включать в себя временной кандидат объединения, и информация индекса веса может указываться на основе информации индекса веса для col-блока. То есть, информация индекса веса для временного кандидата объединения может указываться на основе информации индекса веса для col-блока. Здесь, совмещенный блок может включать в себя блок в том же положении, что и текущий блок в опорной картинке, отличной от текущей картинки, в которой расположен текущий блок.

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

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

[268] Например, кандидаты могут включать в себя попарный кандидат, и попарный кандидат может указываться на основе других двух кандидатов среди кандидатов. Когда информация индекса веса на каждом из других двух кандидатов является той же, что и первая информация индекса веса, информация индекса веса на попарном кандидате может указываться на основе первой информации индекса веса. Когда информация индекса веса на каждом из других двух кандидатов не является одинаковой, информация индекса веса может указываться на основе информации индекса веса, а не информации индекса веса по умолчанию среди информации индекса веса каждого из других двух кандидатов. Информация индекса веса по умолчанию может соответствовать информации индекса веса при придании одинакового веса каждой из выборок L0-предсказания и выборок L1-предсказания.

[269] Например, список кандидатов объединения может представлять собой список кандидатов объединения подблока, и может выбираться аффинный кандидат объединения, кандидат объединения подблоков или кандидат SbTMVP. Здесь, аффинный кандидат объединения в единицах подблоков может называться кандидатом объединения подблоков.

[270] Например, кандидаты включают в себя аффинный кандидат объединения, и аффинный кандидат объединения может включать в себя вектора движения контрольных точек (CPMV).

[271] Например, когда аффинный кандидат объединения включает в себя CPMV0 для контрольной точки 0 (CP0), расположенной на верхней-левой стороне текущего блока, информация индекса веса на аффинном кандидате объединения может выражаться на основе 0-ой информации индекса веса для CP0. Когда аффинный кандидат объединения не включает в себя CPMV0 для CP0, расположенной на верхней-левой стороне текущего блока, информация индекса веса на аффинном кандидате объединения может выражаться на основе первой информации индекса веса для контрольной точки 1 (CP1), расположенной на верхней-правой стороне текущего блока.

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

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

[274] Альтернативно, например, кандидаты могут включать в себя кандидата SbTMVP, и информация индекса веса на кандидате SbTMVP может указываться на основе информации индекса веса на левом соседнем блоке текущего блока. То есть, информация индекса веса на кандидате SbTMVP может указываться на основе информации индекса веса на левом соседнем блоке.

[275] Альтернативно, например, кандидаты могут включать в себя кандидата SbTMVP, и информация индекса веса на кандидате SbTMVP может быть представлена посредством 0. То есть, информация индекса веса на кандидате SbTMVP может быть представлена посредством 0. Здесь, информация индекса веса 0 может означать, что веса каждого опорного направления (т.е. направления L0-предсказания и направления L1-предсказания в bi-предсказании) являются одинаковыми.

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

[277] Альтернативно, например, кандидаты могут включать в себя кандидата SbTMVP, и информация индекса веса может указываться на основе информации индекса веса на каждом из подблоков в col-блоке. То есть, информация индекса веса на кандидате SbTMVP может указываться на основе информации индекса веса на каждом из подблоков col-блока.

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

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

[280] Фиг. 14 и 15 являются схемами, схематично иллюстрирующими пример способа декодирования видео/изображения в соответствии с вариантом(ами) осуществления настоящего раскрытия и связанных компонентов.

[281] Способ, раскрытый на фиг. 14, может выполняться аппаратом декодирования, проиллюстрированным на фиг. 3 или 15. Конкретно, например, операция S1400 на фиг. 14 может выполняться энтропийным декодером 310 аппарата 300 декодирования на фиг. 15, и операции S1410-S1440 на фиг. 14 могут выполняться предсказателем 330 аппарата 300 декодирования на фиг. 15. К тому же, хотя не проиллюстрировано на фиг. 14, связанная с предсказанием информация или остаточная информация могут выводиться из битового потока энтропийным декодером 310 аппарата 300 декодирования на фиг. 15, остаточные выборки могут выводиться из остаточной информации остаточным процессором 320 аппарата 300 декодирования, выборки предсказания могут выводиться из связанной с предсказанием информации предсказателем 330 аппарата 300 декодирования, и восстановленный блок или восстановленная картинка могут выводиться из остаточных выборок или выборок предсказания сумматором 340 аппарата 300 декодирования. Способ, раскрытый на фиг. 14, может включать в себя варианты осуществления, описанные выше в настоящем раскрытии.

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

[283] Например, связанная с предсказанием информация может включать в себя информацию режима интер-предсказания или информацию типа интер-предсказания. Например, информация режима интер-предсказания может включать в себя информацию, указывающую по меньшей мере один из различных режимов интер-предсказания. Например, могут использоваться различные режимы, такие как режим объединения, режим пропуска, режим предсказания вектора движения (MVP), аффинный режим, режим объединения подблоков или режим объединения с MVD (MMVD). К тому же, режим уточнения вектора движения стороны декодера (DMVR), режим адаптивного разрешения вектора движения (AMVR), BCW (bi-предсказание с весом уровня CU) или BDOF (двунаправленный оптический поток) и т.д. могут дополнительно использоваться как вспомогательный режим или могут использоваться вместо них. Например, информация типа интер-предсказания может включать в себя синтаксический элемент inter_pred_idc. Альтернативно, информация типа интер-предсказания может включать в себя информацию, указывающую любое одно из L0-предсказания, L1-предсказания и bi-предсказания.

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

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

[286] Альтернативно, например, кандидаты могут вставляться в список аффинных кандидатов объединения, пока число кандидатов в списке аффинных кандидатов объединения не станет максимальным числом кандидатов. Здесь, кандидат может включать в себя вектор движения контрольной точки (CPMV) текущего блока. Альтернативно, кандидат может указывать кандидат или блок кандидатов для вывода CPMV. CPMV может указывать вектор движения в контрольной точке (CP) текущего блока. Например, число CP может составлять 2, 3 или 4, CP может быть расположена по меньшей мере в части из вверху слева (или в верхнем-левом углу), вверху справа (или в верхнем-правом углу), внизу слева (или в нижнем-левом углу) или внизу справа (или в нижнем-правом углу) текущего блока, и только одна CP может существовать в каждом положении.

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

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

[289] Аппарат декодирования может генерировать выборки L0-предсказания и выборки L1-предсказания текущего блока на основе информации движения в операции S1430. Например, когда тип интер-предсказания выводится как bi-предсказание, аппарат декодирования может выводить информацию движения L0 и информацию движения L1 на основе выбранного кандидата. Аппарат декодирования может выводить тип интер-предсказания текущего блока как bi-предсказание на основе информации типа интер-предсказания. Например, тип интер-предсказания текущего блока может выводиться как bi-предсказание среди L0-предсказания, L1-предсказания или bi-предсказания на основе информации типа интер-предсказания. В этом случае, L0-предсказание может указывать предсказание на основе списка 0 опорных картинок, L1-предсказание может указывать предсказание на основе списка 1 опорных картинок, и bi-предсказание может указывать предсказание на основе списка 0 опорных картинок и списка 1 опорных картинок. Например, информация типа интер-предсказания может включать в себя синтаксический элемент inter_pred_idc.

[290] Например, информация движения L0 может включать в себя индекс L0 опорной картинки и вектор движения L0, и информация движения L1 может включать в себя индекс L1 опорной картинки и вектор движения L1. Индекс L0 опорной картинки может включать в себя информацию, указывающую опорную картинку в списке 0 опорных картинок, и индекс L1 опорной картинки может включать в себя информацию, указывающую опорную картинку в списке 1 опорных картинок.

[291] Например, кандидаты могут включать в себя пространственный кандидат объединения. Например, когда выбранный кандидат является пространственным кандидатом объединения, информация движения L0 и информация движения L1 могут выводиться на основе пространственного кандидата объединения, и выборки L0-предсказания и выборки L1-предсказания генерируются на их основе.

[292] Например, кандидаты могут включать в себя временной кандидат объединения. Например, когда выбранный кандидат является временным кандидатом объединения, информация движения L0 и информация движения L1 могут выводиться на основе временного кандидата объединения, и выборки L0-предсказания и выборки L1-предсказания генерируются на их основе.

[293] Например, кандидаты могут включать в себя попарные кандидаты. Например, когда выбранный кандидат является попарным кандидатом, информация движения L0 и информация движения L1 могут выводиться на основе попарного кандидата, и выборки L0-предсказания и выборки L1-предсказания могут генерироваться на их основе. Например, попарный кандидат может выводиться на основе двух других кандидатов среди кандидатов, включенных в список кандидатов объединения.

[294] Альтернативно, например, список кандидатов объединения может представлять собой список кандидатов объединения подблока, и могут выбираться аффинный кандидат объединения, кандидат объединения подблоков или кандидат SbTMVP. Здесь, аффинный кандидат объединения в единицах подблоков может называться кандидатом объединения подблоков.

[295] Например, кандидаты могут включать в себя аффинный кандидат объединения. Например, когда выбранный кандидат является аффинным кандидатом объединения, информация движения L0 и информация движения L1 могут выводиться на основе аффинного кандидата объединения, и выборки L0-предсказания и выборки L1-предсказания генерируются на их основе. Например, аффинный кандидат объединения может включать в себя вектор движения контрольных точек (CPMV), и выборки L0-предсказания и выборки L1-предсказания могут генерироваться путем выполнения предсказание в единицах подблока на основе CPMV.

[296] Здесь, CPMV может выводиться на основе одного блока среди соседних блоков контрольной точки (CP) текущего блока. Например, число CP может составлять 2, 3 или 4, CP может быть расположена по меньшей мере в части из вверху слева (или в верхнем-левом углу), вверху справа (или в верхнем-правом углу), внизу слева (или в нижнем-левом углу) или внизу справа (или в нижнем-правом углу) текущего блока, и только одна CP может существовать в каждом положении.

[297] Например, CP может представлять собой CP0, расположенную на верхней-левой стороне текущего блока. В этом случае, соседние блоки могут включать в себя верхний-левый угловой соседний блок текущего блока, левый соседний блок, смежный с нижней стороной верхнего-левого углового соседнего блока, и верхний соседний блок, смежный с правой стороной верхнего-левого углового соседнего блока. Или, соседние блоки могут включать в себя блок A2, блок B2 или блок B3 на фиг. 10.

[298] Или, например, CP может представлять собой CP1, расположенную на правой стороне текущего блока. В этом случае, соседние блоки могут включать в себя верхний-правый угловой соседний блок текущего блока и верхний соседний блок, смежный с левой стороной верхнего-правого углового соседнего блока текущего блока. Или, соседние блоки могут включать в себя блок B0 или блок B1 на фиг. 10.

[299] Или, например, CP может представлять собой CP2, расположенную на нижней-левой стороне текущего блока. В этом случае, соседние блоки могут включать в себя нижний-левый угловой соседний блок текущего блока и левый соседний блок, смежный с верхней стороной нижнего-левого углового соседнего блока. Или, соседние блоки могут включать в себя блок A0 или блок A1 на фиг. 10.

[300] Или, например, CP может представлять собой CP3, расположенную на нижней-правой стороне текущего блока. В этом случае, CP3 может также называться RB. В этом случае, соседние блоки могут включать в себя совмещенный блок текущего блока или нижний-правый угловой соседний блок совмещенного блока. В этом случае, совмещенный блок может включать в себя блок в том же самом положении, что и текущий блок в опорной картинке, которая отличается от текущей картинки, в которой расположен текущий блок. Или, соседний блок может включать в себя блок T на фиг. 10.

[301] Или, например, кандидаты могут включать в себя кандидат SbTMVP. Например, когда выбранный кандидат является кандидатом SbTMVP, информация движения L0 и информация движения L1 могут выводиться на основе левого соседнего блока текущего блока, и выборок L0-предсказания и выборок L1-предсказания могут генерироваться на основе информации движения L0 и информации движения L1. Например, выборки L0-предсказания и выборки L1-предсказания могут генерироваться путем выполнения предсказания в единице подблока.

[302] Аппарат декодирования может генерировать выборки предсказания текущего блока на основе выборок L0-предсказания, выборок L1-предсказания и информации веса в операции S1440. Например, информация веса может выводиться на основе информации индекса веса на кандидате, выбранном среди кандидатов, включенных в список кандидатов объединения. Например, информация веса может включать в себя информацию о взвешенном среднем выборок L0-предсказания или выборок L1-предсказания. То есть, информация индекса веса может указывать информацию индекса для весов, используемых для взвешенного среднего, и взвешенное среднее может быть получено на основе взвешенной информации индекса. Например, информация индекса веса может включать в себя информацию, указывающую любой один из трех или пяти весов. Например, взвешенное среднее может указывать взвешенное среднее в bi-предсказании с весом уровня CU (BCW) или bi-предсказание с взвешенным средним (BWA).

[303] Например, кандидаты могут включать в себя временной кандидат объединения, и информация индекса веса на временном кандидате объединения может выводиться как 0. То есть, информация индекса веса на временном кандидате объединения может выводиться как 0. Здесь, информация индекса веса 0 может означать, что веса каждого опорного направления (т.е. направления L0-предсказания и направления L1-предсказания в bi-предсказании) являются одинаковыми.

[304] Например, кандидаты могут включать в себя временной кандидат объединения, и информация индекса веса на временном кандидате объединения может выводиться на основе информации индекса веса для col-блока. То есть информация индекса веса на временном кандидате объединения может выводиться на основе информации индекса веса для col-блока. Здесь, совмещенный блок может включать в себя блок в том же положении, что и текущий блок в опорной картинке, отличной от текущей картинки, в которой расположен текущий блок.

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

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

[307] Например, кандидаты могут включать в себя попарный кандидат, и попарный кандидат может выводиться на основе других двух кандидатов среди кандидатов. Когда информация индекса веса на каждом из других двух кандидатов является той же, что и первая информация индекса веса, информация индекса веса на попарном кандидате может выводиться на основе первой информации индекса веса. Когда информация индекса веса на каждом из других двух кандидатов не является одинаковой, информация индекса веса может выводиться на основе информации индекса веса, а не информации индекса веса по умолчанию среди информации индекса веса каждого из других двух кандидатов. Информация индекса веса по умолчанию может соответствовать информации индекса веса при придании одинакового веса каждой из выборок L0-предсказания и выборок L1-предсказания.

[308] Например, список кандидатов объединения может представлять собой список кандидатов объединения подблока, и могут выбираться аффинный кандидат объединения, кандидат объединения подблоков или кандидат SbTMVP. Здесь, аффинный кандидат объединения в единицах подблоков может называться кандидатом объединения подблоков.

[309] Например, кандидаты включают в себя аффинный кандидат объединения, и аффинный кандидат объединения может включать в себя вектор движения контрольных точек (CPMV).

[310] Например, когда аффинный кандидат объединения включает в себя CPMV0 для контрольной точки 0 (CP0), расположенной на верхней-левой стороне текущего блока, информация индекса веса для аффинного кандидата объединения может выводиться на основе 0-ой информации индекса веса для CP0. Когда аффинный кандидат объединения не включает в себя CPMV0 для CP0, расположенной на верхней-левой стороне текущего блока, информация индекса веса для аффинного кандидата объединения может выводиться на основе первой информации индекса веса для контрольной точки (CP1), расположенной на верхней-правой стороне текущего блока.

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

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

[313] Альтернативно, например, кандидаты могут включать в себя кандидата SbTMVP, и информация индекса веса на кандидате SbTMVP может выводиться на основе информации индекса веса на левом соседнем блоке текущего блока. То есть информация индекса веса на кандидате SbTMVP может выводиться на основе информации индекса веса на левом соседнем блоке.

[314] Или, например, кандидаты могут включать в себя кандидата SbTMVP, и информация индекса веса на кандидате SbTMVP может выводиться как 0. То есть, информация индекса веса на кандидате SbTMVP может выводиться как 0. Здесь, информация индекса веса, равная 0, может указывать, что веса соответственных опорных направлений (т.е., направления L0-предсказания и направления L1-предсказания в bi-предсказании) являются одинаковыми.

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

[316] Альтернативно, например, кандидаты могут включать в себя кандидат SbTMVP, и информация индекса веса может выводиться на основе информации индекса веса на каждом подблоке в совмещенном блоке. То есть, информация индекса веса на кандидате SbTMVP может выводиться на основе информации индекса веса на каждом подблоке в совмещенном блоке.

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

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

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

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

[321] Когда варианты осуществления настоящего раскрытия реализуются программным обеспечением, вышеупомянутый способ может быть реализован модулем (процессом или функцией), который выполняет вышеупомянутую функцию. Модуль может храниться в памяти и исполняться процессором. Память может быть установлена внутри или вне процессора и может быть соединена с процессором посредством различных хорошо известных средств. Процессор может включать в себя специализированную интегральную схему (ASIC), другие чипсеты, логическую схему и/или устройство обработки данных. Память может включать в себя постоянную память (ROM), память с произвольным доступом (RAM), флэш-память, карту памяти, носитель хранения и/или другое устройство хранения. Иными словами, варианты осуществления в соответствии с настоящим раскрытием могут реализовываться и исполняться на процессоре, микропроцессоре, контроллере или чипе. Например, функциональные модули, проиллюстрированные на соответственных чертежах, могут реализовываться и исполняться на компьютере, процессоре, микропроцессоре, контроллере или чипе. В этом случае, информация о реализации (например, информация об инструкциях) или алгоритмы могут храниться в цифровом носителе хранения.

[322] Кроме того, аппарат декодирования и аппарат кодирования, в которых применяется вариант(ы) осуществления настоящее раскрытие, могут быть включены в приемопередатчик мультимедийного вещания, мобильный терминал связи, устройство домашнего кинотеатра, устройство цифрового кинотеатра, камеру наблюдения, устройство для разговора по видео, устройство связи в реальном времени, такой как видеосвязь, мобильное устройство стриминга, носитель хранения, камеру-регистратор, устройство обеспечения услуги видео по требованию (VoD), устройство доставки видео непосредственно от провайдера контента (OTT), устройство обеспечения услуги Интернет-стриминга, устройство 3D видео, устройство виртуальной реальности (VR), устройство дополненной реальности (AR), устройство видеотелефона для передачи изображений, терминал транспортного средства (например, терминал транспортного средства (включая автономное транспортное средство), бортовой терминал или судовой терминал) и медицинское видеоустройство; и могут использоваться для обработки сигнала видео или данных. Например, видеоустройство OTT может включать в себя игровую консоль, Bluray-плеер, телевизор с интернет-доступом, систему домашнего кинотеатра, смартфон, планшетный PC, цифровой видео-регистратор (DVR).

[323] Кроме того, способ обработки, в котором применяется вариант(ы) осуществления настоящего раскрытия, может выполняться в форме программы, исполняемой компьютером, и может храниться в считываемом компьютером носителе записи. Мультимедийные данные, имеющие структуру данных в соответствии с вариантом(ами) осуществления настоящего раскрытия, могут также храниться в считываемых компьютером носителях записи. Считываемый компьютером носитель записи включает в себя все типы устройств хранения и распределенных устройств хранения, в которых хранятся считываемые компьютером данные. Считываемые компьютером носители записи могут включать в себя, например, Bluray-диск (BD), универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, флоппи-диск и устройство оптического хранения данных. Дополнительно, считываемый компьютером носитель записи включает в себя носители, воплощенные в форме несущей волны (например, передача через Интернет). Кроме того, битовый поток, сгенерированный способом кодирования, может храниться в считываемом компьютером носителе записи или передаваться по сетям проводной или беспроводной связи.

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

[325] Фиг. 16 является схемой, иллюстрирующей пример системы стриминга контента, в которой могут применяться варианты осуществления настоящего раскрытия.

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

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

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

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

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

[331] Например, пользовательское оборудование может включать в себя мобильный телефон, смартфон, ноутбук, терминал цифрового вещания, персональный цифровой помощник (PDA), портативный мультимедийный плеер (PMP), навигатор, тонкий PC, планшетный PC, ультрабук, носимое устройство (например, терминал типа часов (умные часы), терминал типа очков (умные очки), наголовный дисплей (HMD)), цифровой телевизор, настольный компьютер, цифровой указатель и тому подобное.

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

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

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

название год авторы номер документа
Способ и устройство декодирования изображения на основе предсказания аффинного движения с использованием списка кандидатов аффинного MVP в системе кодирования изображения 2019
  • Ли, Дзаехо
RU2768957C1
СПОСОБ И УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ НА ОСНОВЕ ПРЕДСКАЗАНИЯ АФФИННОГО ДВИЖЕНИЯ С ИСПОЛЬЗОВАНИЕМ СПИСКА КАНДИДАТОВ АФФИННОГО MVP В СИСТЕМЕ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ 2019
  • Ли, Дзаехо
RU2800679C2
СПОСОБ И УСТРОЙСТВО ДЛЯ ОБРАБОТКИ СИГНАЛОВ ВИДЕО С ИСПОЛЬЗОВАНИЕМ ИНТЕР-ПРЕДСКАЗАНИЯ 2019
  • Чжао, Джейн
  • Палури, Сеетхал
  • Ким, Сеунгхван
RU2787882C2
СПОСОБ И УСТРОЙСТВО ДЛЯ ОБРАБОТКИ СИГНАЛОВ ВИДЕО С ИСПОЛЬЗОВАНИЕМ ИНТЕР-ПРЕДСКАЗАНИЯ 2019
  • Чжао, Джейн
  • Палури, Сеетхал
  • Ким, Сеунгхван
RU2769146C1
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ РАЗНОСТЕЙ ВЕКТОРОВ ДВИЖЕНИЯ 2023
  • Парк, Наери
  • Нам, Дзунгхак
  • Дзанг, Хиеонгмоон
RU2820303C1
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ РАЗНОСТЕЙ ВЕКТОРОВ ДВИЖЕНИЯ 2020
  • Парк, Наери
  • Нам, Дзунгхак
  • Дзанг, Хиеонгмоон
RU2807635C2
Способ и устройство для видеокодирования 2020
  • Ли Гуйчунь
  • Ли Сян
  • Сюй Сяочжун
  • Лю Шань
RU2789146C1
КОДИРОВАНИЕ ВИДЕО ИЛИ ИЗОБРАЖЕНИЙ НА ОСНОВЕ ОТОБРАЖЕНИЯ ЯРКОСТИ И МАСШТАБИРОВАНИЯ ЦВЕТНОСТИ 2020
  • Чжао, Цзе
  • Ким, Сеунгхван
RU2781435C1
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ РАЗНОСТЕЙ ВЕКТОРОВ ДВИЖЕНИЯ 2020
  • Парк, Наери
  • Нам, Дзунгхак
  • Дзанг, Хиеонгмоон
RU2784417C1
КОДИРОВАНИЕ ВИДЕО ИЛИ ИЗОБРАЖЕНИЙ НА ОСНОВЕ ОТОБРАЖЕНИЯ ЯРКОСТИ И МАСШТАБИРОВАНИЯ ЦВЕТНОСТИ 2023
  • Чжао, Цзе
  • Ким, Сеунгхван
RU2811987C1

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

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

Изобретение относится к области декодирования изображения для выведения информации индекса веса для генерации выборки предсказания. Технический результат заключается в повышении эффективности кодирования/декодирования. Предложен способ декодирования изображения, в котором, когда тип интер-предсказания текущего блока указывает би-предсказание, то может выводиться информация индекса веса для кандидатов в списке кандидатов объединения или списке кандидатов объединения подблока, причем кандидаты содержат созданный аффинный кандидат объединения, и созданный аффинный кандидат объединения содержит векторы движения контрольных точек (CPMV). 3 н. и 9 з.п. ф-лы, 10 табл., 17 ил.

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

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

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

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

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

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

генерируют выборки предсказания текущего блока на основе выборок L0-предсказания, выборок L1-предсказания и индекса веса для текущего блока, причем индекс веса выводится на основе индекса веса для выбранного кандидата,

причем кандидаты содержат созданный аффинный кандидат объединения, и созданный аффинный кандидат объединения содержит векторы движения контрольных точек (CPMV),

причем на основе случая, что созданный аффинный кандидат объединения содержит CPMV0 для контрольной точки 0 (CP0), индекс веса для созданного аффинного кандидата объединения устанавливается равным индексу веса для CP0, причем СР0 относится к верхнему-левому углу текущего блока, и

причем на основе случая, что созданный аффинный кандидат объединения не содержит CPMV0 для CP0, индекс веса для созданного аффинного кандидата объединения устанавливается равным индексу веса для CP1, причем СР1 относится к верхнему-правому углу текущего блока.

2. Способ декодирования изображения по п. 1,

причем индекс веса для СР0 равен индексу веса для блока, который используется для выведения CPMV0 среди соседних блоков CP0, и

причем соседние блоки CP0 содержат верхний-левый угловой соседний блок текущего блока, левый соседний блок, смежный с нижней стороной верхнего-левого углового соседнего блока, и верхний соседний блок, смежный с правой стороной верхнего-левого углового соседнего блока.

3. Способ декодирования изображения по п. 1,

причем индекс веса для СР1 равен индексу веса для блока, который используется для выведения CPMV1 среди соседних блоков CP1, и

причем соседние блоки CP1 содержат верхний-правый угловой соседний блок текущего блока и верхний соседний блок, смежный с левой стороной верхнего-правого углового соседнего блока.

4. Способ декодирования изображения по п. 1,

причем кандидаты содержат кандидат временного предсказания вектора движения на основе подблока (SbTMVP), и

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

5. Способ декодирования изображения по п. 1,

причем кандидаты содержат кандидат временного предсказания вектора движения на основе подблока (SbTMVP), и

причем индекс веса для кандидата SbTMVP выводится как 0.

6. Способ декодирования изображения по п. 1,

причем кандидаты содержат кандидат временного предсказания вектора движения на основе подблока (SbTMVP),

причем индекс веса для кандидата SbTMVP выводится на основе индекса веса для центрального блока в совмещенном блоке,

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

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

7. Способ декодирования изображения по п. 1, причем на основе случая, что созданный аффинный кандидат объединения содержит CPMV0 для CP0, индекс веса для созданного аффинного кандидата объединения устанавливается равным индексу веса для CP0 независимо от индекса веса для СР1 и индекса веса для контрольной точки 2 (СР2), причем СР2 относится к нижнему-левому углу текущего блока.

8. Способ декодирования изображения по п. 1, причем на основе случая, что созданный аффинный кандидат объединения содержит CPMV0 для CP0, индекс веса для созданного аффинного кандидата объединения устанавливается равным индексу веса для CP0 без сравнения индекса веса для СР0 с индексом веса для СР1 или индексом веса для контрольной точки 2 (СР2), причем СР2 относится к нижнему-левому углу текущего блока.

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

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

генерируют список кандидатов объединения для текущего блока на основе режима интер-предсказания;

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

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

причем кандидаты содержат созданный аффинный кандидат объединения, и созданный аффинный кандидат объединения содержит векторы движения контрольных точек (CPMV),

причем на основе случая, что созданный аффинный кандидат объединения содержит CPMV0 для контрольной точки 0 (CP0), индекс веса для созданного аффинного кандидата объединения устанавливается равным индексу веса для CP0, причем СР0 относится к верхнему-левому углу текущего блока, и

причем на основе случая, что созданный аффинный кандидат объединения не содержит CPMV0 для CP0, индекс веса для созданного аффинного кандидата объединения устанавливается равным индексу веса для контрольной точки 1 (CP1), причем СР1 относится к верхнему-правому углу текущего блока.

10. Способ кодирования изображения по п. 9, причем на основе случая, что созданный аффинный кандидат объединения содержит CPMV0 для CP0, индекс веса для созданного аффинного кандидата объединения устанавливается равным индексу веса для CP0 независимо от индекса веса для СР1 и индекса веса для контрольной точки 2 (СР2), причем СР2 относится к нижнему-левому углу текущего блока.

11. Способ кодирования изображения по п. 9, причем на основе случая, что созданный аффинный кандидат объединения содержит CPMV0 для CP0, индекс веса для созданного аффинного кандидата объединения устанавливается равным индексу веса для CP0 без сравнения индекса веса для СР0 с индексом веса для СР1 или индексом веса для контрольной точки 2 (СР2), причем СР2 относится к нижнему-левому углу текущего блока.

12. Способ передачи данных для изображения, причем способ содержит этапы, на которых:

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

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

причем кандидаты содержат созданный аффинный кандидат объединения, и созданный аффинный кандидат объединения содержит векторы движения контрольных точек (CPMV),

причем на основе случая, что созданный аффинный кандидат объединения содержит CPMV0 для контрольной точки 0 (CP0), индекс веса для созданного аффинного кандидата объединения устанавливается равным индексу веса для CP0, причем СР0 относится к верхнему-левому углу текущего блока, и

причем на основе случая, что созданный аффинный кандидат объединения не содержит CPMV0 для CP0, индекс веса для созданного аффинного кандидата объединения устанавливается равным индексу веса для контрольной точки 1 (CP1), причем СР1 относится к верхнему-правому углу текущего блока.

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

WO 2017197126 A1, 2017.11.16
JIE ZHAO et al., CE4-related: Simplification to History Based Motion Vector Prediction, Joint Video Experts Team (JVET) of ITU-T SG16 WP3 and ISO/IEC JTC 1/SC 29/WG11, JVET-L0309, 12th Meeting: Macao, 3-12 October 2018
KR 20170124079 A, 2017.11.09
WO 2017197146 A1, 2017.11.16
BENJAMIN BROSS et al., Versatile Video

RU 2 812 840 C2

Авторы

Парк, Наери

Нам, Дзунгхак

Дзанг, Хиеонгмоон

Даты

2024-02-02Публикация

2020-06-10Подача