Настоящий патентный документ относится к способам, устройствам и системам для обработки видео.
Уровень техники
Несмотря на все достижения в области сжатия видео, цифровое видео по-прежнему занимает наибольшую долю полосы частот в сети Интернет и в других цифровых сетях связи. Поскольку число присоединенных пользовательских устройств, способных принимать и представлять видео на дисплее, увеличивается, ожидается, что потребности в полосе для использования цифровым видео будут продолжать расти.
Раскрытие сущности изобретения
Описаны устройства, системы и способы, относящиеся к обработке цифрового видео и, в частности, к определению векторов движения. Описываемые способы могут быть применены к существующим стандартам кодирования видео (например, к стандарту высокоэффективного видео кодирования (High Efficiency Video Coding (HEVC)) или к стандарту универсального видео кодирования (Versatile Video Coding (VVC))) и к стандартам будущего для кодирования видео или к видеокодекам.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этап, на котором выполняют преобразование между текущим видеоблоком видео и кодированным представлением видео, причем кодированное представление содержит первый параметр, указывающий точность информации о движении из набора множества уровней точности для текущего видеоблока, который не использует точность по умолчанию для информации о движении, и/или второй параметр, идентифицирующий, используется ли для преобразования альтернативный интерполяционный фильтр с точностью в половину пикселя, при этом каждый из первого параметра и/или второго параметра ассоциирован с одним или более бинами, и кодирование на основе контекстной модели используется только для первого бина из указанных одного или более бинов в указанном кодированном представлении.
Согласно другому аспекту предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых определяют, для преобразования между текущим видеоблоком видео и кодированным представлением видео, информацию о движении с использованием интерполяционного фильтра, причем информация о движении имеет точность M целых пикселей или точность 1/N долю пикселя, где M и N являются положительными целыми числами и N не равно 2; и выполняют преобразование на основе информации о движении; причем поле синтаксиса в кодированном представлении соответствует интерполяционному фильтру.
Согласно другому аспекту предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых генерируют, для преобразования между текущим видеоблоком видео и кодированным представлением видео, первого кандидата движения на основе одного или более кандидатов движения в списке кандидатов движения и одного или более интерполяционных фильтров, ассоциированных с указанным одним или более кандидатами движения; причем интерполяционный фильтр назначается первому кандидату движения согласно правилу, зависящему от указанного одного или более интерполяционных фильтров, ассоциированных с указанным одним или более кандидатами движения; вставляют первого кандидата движения в список кандидатов движения; и выполняют преобразование на основе списка кандидатов движения.
Согласно другому аспекту предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых ассоциируют, с каждым из множества блоков, содержащих первый блок в первой видеообласти и второй блок во второй видеообласти видео, информацию о движении, содержащую информацию о соответствующем интерполяционном фильтре, используемом для интерполяции информации о разности векторов движения для каждого из указанного множества блоков; и выполняют преобразование между видео и кодированным представлением видео с использованием информации о движении.
Согласно другому аспекту предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этап, на котором выполняют преобразование между текущим видеоблоком видео и кодированным представлением видео, причем текущий видеоблок представлен в указанном кодированном представлении с использованием режима объединения или режима объединения с использованием разности векторов движения (merge with motion vector difference (MMVD)), при этом используется интерполяционный фильтр, имеющий точность 1/N, для интерполяции блока прогнозирования, ассоциированного с текущим видеоблоком, в соответствии с правилом, где N – положительное целое число; а правило определяет условие для наследования информации об интерполяции в случае, когда интерполяционный фильтр представляет собой альтернативный интерполяционный фильтр, отличный от интерполяционного фильтра по умолчанию.
Согласно другому аспекту предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых обрабатывают текущий видеоблок в процессе преобразования между видео, содержащим текущий видеоблок, и кодированным представлением видео; и сравнивают и избирательно обновляют список объединяемых кандидатов с использованием информации о движении для текущего видеоблока, причем информация о движении содержит информацию интерполяционного фильтра; при этом информация интерполяционного фильтра содержит параметры интерполяционного фильтра, используемого для интерполяции значений разностей векторов движения, применяемых для представления текущего видеоблока в виде кодированного представления.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых поддерживают, до преобразования между текущим видеоблоком видеообласти и кодированным представлением видео, по меньшей мере одну таблицу для режима прогнозирования вектора движения на основе предыстории (history-based motion vector prediction (HMVP)), причем таблица прогнозирования HMVP содержит одну или более позиций, соответствующих информации о движении для одного или более ранее обработанных блоков; и выполняют преобразование с использованием указанной по меньшей мере одной таблицы прогнозирования HMVP,при этом информация о движении для каждой позиции выполнена так, чтобы содержать информацию интерполяционного фильтра для указанного одного или более ранее обработанных блоков, причем информация интерполяционного фильтра указывает интерполяционные фильтры, используемые для интерполяции блоков прогнозирования на основе указанного одного или более ранее обработанных блоков.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых поддерживают, до преобразования между текущим видеоблоком видеообласти и кодированным представлением видео, по меньшей мере одну таблицу прогнозирования вектора движения на основе предыстории (HMVP), содержащей одну или более позиций, соответствующих информации о движении одного или более ранее обработанных блоков, причем информация о движении для каждой позиции выполнена так, чтобы содержать информацию интерполяционного фильтра для указанного одного или более ранее обработанных блоков; строят, для указанного преобразования, список кандидатов движения, который содержит объединяемого кандидата для прогнозирования HMVP, причем указанный кандидат для прогнозирования HMVP определяется путем «наследования» одной из позиций таблицы прогнозирования HMVP, включающей в себя соответствующую информацию интерполяционного фильтра, ассоциированную с указанной одной позицией; и выполняют преобразование на основе списка кандидатов движения.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых принимают решение о режиме кодирования, используемом для представления текущего видеоблока видео в кодированном представлении видео; и кодируют текущий видеоблок в кодированное представление в соответствии с указанным режимом кодирования, причем использование точности в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых выполняют синтаксический анализ кодированного представления видео для определения, что текущий видеоблок видео кодирован с использованием режима кодирования; и генерируют декодированное представление текущего видеоблока из указанного кодированного представления в соответствии с указанным режимом кодирования, при этом использование точности в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых определяют, для текущего видеоблока, обработанного с применением режима обобщенного двунаправленного прогнозирования (generalized Bi-prediction (GBi)), использование первого весового коэффициента и второго, отличного от первого, весового коэффициента соответственно для первого блока прогнозирования и для второго блока прогнозирования, причем первый весовой коэффициент и второй весовой коэффициент выбираются из наборов весовых коэффициентов; и выполняют преобразование между текущим видеоблоком видео и кодированным представлением видео на основе результата указанного определения, при этом первый набор весовых коэффициентов, используемый для режима межкадрового прогнозирования, отличается от второго набора весовых коэффициентов, используемого для аффинного режима межкадрового прогнозирования.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа обработки видео. Способ содержит этапы, на которых определяют, для преобразования между множеством видеоединиц видеообласти видео и кодированным представлением указанного множества видеоединиц, информацию относительно интерполяционного фильтра в зависимости от режима кодирования видеоединицы, причем интерполяционный фильтр используется для интерполяции значений разностей векторов движения в кодированном представлении и имеет точность M целых пикселей или точность в 1/N долю пикселя, где M и N являются положительными целыми числами; и выполняют преобразование с использованием указанного интерполяционного фильтра.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа кодирования видео. Способ содержит этапы, на которых принимают решение о режиме кодирования, используемом для представления текущего видеоблока видео в кодированном представлении этого видео; и кодируют текущий видеоблок в кодированное представление в соответствии с указанным режимом кодирования, при этом использование альтернативных фильтров с точностью в половину пикселя в дополнение к фильтру по умолчанию с точностью в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа декодирования видео. Способ содержит этапы, на которых выполняют синтаксический анализ кодированного представления видео для определения, что текущий видеоблок видео кодирован с использованием режима кодирования; и генерируют декодированное представление текущего видеоблока на основе указанного кодированного представления в соответствии с указанным режимом кодирования, причем использование альтернативных фильтров с точностью в половину пикселя в дополнение к фильтру по умолчанию с точностью в половину пикселя для представления информации о движении не активизировано для указанного текущего видеоблока вследствие использования указанного режима кодирования.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа кодирования видео. Способ содержит этапы, на которых определяют, вследствие использования альтернативного интерполяционного фильтра, активизированного для видеоблока видео, что режим кодирования не допустим для кодирования указанного видеоблока в кодированное представление видео; и генерируют кодированное представление видеоблока на основе указанного определения, причем указанный альтернативный интерполяционный фильтр используется для интерполяции блоков межкадрового прогнозирования для текущего видеоблока.
Согласно одному из репрезентативных аспектов предлагаемая технология может быть использована для обеспечения способа декодирования видео. Способ содержит этапы, на которых определяют, вследствие использования альтернативного интерполяционного фильтра, активизированного для видеоблока видео, что использование режима кодирования для представления указанного видеоблока в кодированном представлении видео не допускается; и генерируют декодированный видеоблок посредством синтаксического анализа кодированного представления на основе указанного определения.
Далее, согласно одному из репрезентативных аспектов любой из раскрытых способов представляет собой реализацию на стороне кодирующего устройства.
Кроме того, согласно репрезентативному аспекту любой из раскрытых способов представляет собой реализацию на стороне декодирующего устройства.
Один из описываемых выше способов реализован в виде выполняемого процессором кода и сохранен на читаемом компьютером носителе для хранения программ.
Согласно еще одному из репрезентативных аспектов предложено устройство в видеосистеме, содержащее процессор и энергонезависимое запоминающее устройство с записанными в нем командами. Команды, при исполнении процессором вызывают выполнение процессором любого из раскрытых способов.
Приведенные выше и другие аспекты и признаки предлагаемой технологии описаны более подробно на чертежах, в описании и в формуле изобретении.
Краткое описание чертежей
Фиг. 1 показывает иллюстрацию структуры блока типа дерева квадратов плюс двоичное дерево (Quadtree plus binary tree (QTBT)).
Фиг. 2 показывает пример построения списка объединяемых кандидатов.
Фиг. 3 показывает пример позиций пространственных кандидатов.
Фиг. 4 показывает пример пар кандидатов, подвергаемых контролю избыточности пространственных объединяемых кандидатов.
Фиг. 5A и 5B показывает примеры позиций второй единицы прогнозирования (prediction unit (PU)) на основе размера и формы текущего блока.
Фиг. 6 показывает пример масштабирования вектора движения для временных объединяемых кандидатов.
Фиг. 7 показывает пример позиций кандидатов для временных объединяемых кандидатов.
Фиг. 8 показывает пример создания объединяемого кандидата с комбинированным двунаправленным прогнозированием.
Фиг. 9 показывает пример построения кандидатов для прогнозирования векторов движения.
Фиг. 10 показывает пример масштабирования вектора движения для пространственных кандидатов векторов движения.
Фиг. 11A и 11B представляют блок-схемы примеров аппаратной платформы для реализации способов декодирования визуальных медиа или кодирования визуальных медиа, описываемых в настоящем документе.
Фиг. 12A и 12B показывают логические схемы примеров способов обработки видео на основе некоторых вариантов реализации предлагаемой технологии.
Фиг. 13A – 13C показывают логические схемы примеров способов обработки видео на основе некоторых вариантов реализации предлагаемой технологии.
Фиг. 14A и 14B показывают логические схемы примеров способов обработки видео на основе некоторых вариантов реализации предлагаемой технологии.
Фиг. 15A – 15D показывают логические схемы примеров способов обработки видео на основе некоторых вариантов реализации предлагаемой технологии.
Фиг. 16A – 16D показывают логические схемы примеров способов обработки видео на основе некоторых вариантов реализации предлагаемой технологии.
Осуществление изобретения
1. Кодирование видео в стандарте кодирования HEVC/H.265
Стандарты кодирования видео развивались главным образом через разработку хорошо известных стандартов ITU-T и ISO/IEC. Союз ITU-T выпустил стандарты H.261 и H.263, организация ISO/IEC выпустила стандарты MPEG-1 и MPEG-4 Visual, а также эти две организации совместно выпустили стандарты H.262/MPEG-2 Video и H.264/MPEG-4 Advanced Video Coding (AVC) (усовершенствованное видео кодирование) и H.265/HEVC. Со времени стандарта H.262, стандарты кодирования видео основаны на гибридной структуре кодирования видео, использующей временное прогнозирование плюс преобразовательное кодирование. Для исследований в области технологий кодирования видео будущего, которые будут разработаны после технологии кодирования HEVC, группа экспертов по кодированию видео (VCEG) и группа экспертов по кинематографии (MPEG) в 2015 г. совместно основали Объединенную группу исследований в области видео (Joint Video Exploration Team (JVET)). С тех пор группа JVET разработала множество способов и ввела их в эталонное программное обеспечение, называемое Совместной исследовательской моделью (Joint Exploration Model (JEM)). В апреле 2018 г. группа VCEG (Q6/16) и отдел ISO/IEC JTC1 SC29/WG11 (MPEG) создали объединенную группу экспертов в области видео (Joint Video Expert Team (JVET)) для работ над стандартом VVC, имея целью добиться снижения требуемой скорости передачи битов данных на 50% по сравнению с кодированием HEVC.
2.1. Структура блоков на основе дерева квадратов плюс двоичного дерева (QTBT) с единицами CTU большего размера
В стандарте кодирования HEVC, единицу дерева кодирования (CTU) разбивают на единицы кодирования (CU) с использованием структуры дерева квадратов, обозначенной в качестве дерева кодирования, с целью адаптации к разнообразным локальным характеристикам. Решение о том, следует ли кодировать какую-либо область изображения с использованием межкадрового (временного) или внутрикадрового (пространственного) прогнозирования, принимается на уровне единиц CU. Каждая единица CU может быть далее разбита на одну, две или четыре единицы PU в соответствии с типом разбиения на единицы PU. Внутри одной единицы PU, применяется одна и та же процедура прогнозирования и относящуюся к этому информацию передают декодирующему устройству на основе единиц PU. После получения блока остатка посредством применения процедуры прогнозирования на основе типа разбиения на единицы PU, единица CU может быть разбита на единицы преобразования (transform unit (TU)) в соответствии с другой структурой дерева квадратов, аналогичной дереву кодирования для рассматриваемой единицы CU. Одним из главных признаков структуры кодирования HEVC является то, что она имеет несколько концепций разбиения, включая разбиение на единицы CU, единицы PU и единицы TU.
На фиг. 1 показана иллюстрация структуры блоков типа дерево квадратов плюс двоичное дерево (Quadtree plus binary tree (QTBT)). Структура дерева QTBT устраняет концепцию нескольких типов разбиения, т.е. она устраняет разделение концепций разбиения на единицы CU, единицы PU и единицы TU и поддерживает большую гибкость форм разбиения на единицы CU. В структуре блоков дерева QTBT единица CU может иметь квадратную или прямоугольную форму. Как показано на фиг. 1, единицу дерева кодирования (coding tree unit (CTU)) сначала разбивают в структуре дерева квадратов. Концевые узлы дерева квадратов далее разбивают в структуре двоичного дерева. Разбиение по схеме двоичного дерева имеет два типа, а именно – симметричное горизонтальное разбиение и симметричное вертикальное разбиение. Концевые узлы двоичного дерева также называются единицами кодирования (coding unit (CU)), и такая сегментация используется для процедур прогнозирования и преобразования без какого-либо дальнейшего разбиения. Это означает, что в структуре блоков кодирования типа дерева QTBT единицы CU, единицы PU и единицы TU имеют одинаковый размер блоков. В модели JEM, единица CU иногда состоит из блоков кодирования (coding block (CB)) разных цветовых составляющих, например, одна единица CU содержит один блок CB яркостной составляющей и два блока CB цветностных составляющих в случае P-срезов и B-срезов в цветностном формате 4:2:0, и иногда состоит из блоков CB одной составляющей, например, одна единица CU содержит только один блок CB яркостной составляющей или только два блока CB цветностной составляющей в случае I-срезов.
Для схемы разбиения по дереву QTBT определены следующие параметры:
- размер единицы CTU: размер корневого узла в дереве квадратов, такая же концепция, как при кодировании HEVC,
- размер MinQTSize: минимальный допустимый размер концевого узла дерева квадратов,
- размер MaxBTSize: максимальный допустимый размер корневого узла двоичного дерева,
- глубина MaxBTDepth: максимальная допустимая глубина двоичного дерева,
- размер MinBTSize: минимальный допустимый размер концевого узла двоичного дерева.
В одном из примеров структуры разбиения по схеме дерева QTBT, размер единицы CTU установлен равным 128×128 отсчетов яркостной составляющей с двумя соответствующими блоками размером 64×64 каждый отсчетов цветностной составляющей, размер MinQTSize установлен равным 16×16, размер MaxBTSize установлен равным 64×64, размер MinBTSize (и для ширины, и для высоты) установлен равным 4×4, и глубина MaxBTDepth установлена равной 4. Сначала к единице CTU применяют разбиение по схеме дерева квадратов для генерации концевых узлов дерева квадратов. Эти концевые узлы дерева квадратов могут иметь размер от 16×16 т.е. от размера MinQTSize) до 128×128 (т.е. до размера единицы CTU). Если размер концевого узла дерева квадратов равен 128×128, этот узел не должен быть далее разбит по схеме двоичного дерева, поскольку этот размер превышает значение MaxBTSize (т.е. 64×64). В противном случае, концевой узел дерева квадратов может быть дальше разбит по схеме двоичного дерева. Поэтому, такой концевой узел дерева квадратов также является корневым узлом для двоичного дерева и имеет равную 0 глубину двоичного дерева. Когда глубина двоичного дерева достигнет значения MaxBTDepth (т.е. 4), никакое дальнейшее разбиение не рассматривается. Когда узел двоичного дерева имеет ширину, равную MinBTSize (т.е. 4), никакое дальнейшее горизонтальное разбиение не рассматривается. Аналогично, когда узел двоичного дерева имеет высоту, равную MinBTSize, никакое дальнейшее вертикальное разбиение не рассматривается. После этого концевые узлы двоичного дерева обрабатывают посредством процедур прогнозирования и преобразования без какого-либо дальнейшего разбиения. В модели JEM, максимальный размер единицы CTU равен 256×256 отсчетов яркостной составляющей.
Фиг. 1 (слева) иллюстрирует пример разбиения блоков с использованием дерева QTBT, а фиг. 1 (справа) иллюстрирует соответствующее представление дерева. Сплошные линии обозначают разбиение по схеме дерева квадратов, а штриховые показывают разбиение по схеме двоичного дерева. В каждом разбиении узла (т.е. неконцевого) двоичного дерева, сообщают в виде сигнализации один флаг, чтобы обозначить, какой именно тип разбиения (т.е. горизонтальный или вертикальный) используется, где 0 обозначает горизонтальное разбиение и 1 обозначает вертикальное разбиение. Для разбиения по схеме дерева квадратов нет необходимости указывать тип разбиения, поскольку при разбиении по схеме дерева квадратов всегда разбивают блок и горизонтально, и вертикально для получения 4 субблоков одинакового размера.
Кроме того, схема разбиения по дереву QTBT поддерживает способность яркостной и цветностной составляющих иметь раздельные структуры дерева QTBT. В настоящий момент, для P-срезов и B-срезов, блоки CTB для яркостной составляющей и цветностной составляющей в одной единице CTU совместно используют одну и ту же структуру дерева QTBT. Однако для I-срезов, блок CTB яркостной составляющей разбивают на единицы CU по схеме одной структуры QTBT, а блоки CTB цветностной составляющей разбивают на единицы CU цветностной составляющей с применением другой структуры QTBT. Это означает, что единица CU в I-срезе состоит из блока кодирования яркостной составляющей или из блоков кодирования двух цветностных составляющих, и единица CU в P-срезе или в B-срезе состоит из блоков кодирования всех трех цветовых составляющих.
В стандарте кодирования HEVC, межкадровое кодирование для блоков небольшого размера ограничено, чтобы уменьшить число обращений к памяти при компенсации движения, так что двунаправленное прогнозирование не поддерживается для блоков размером 4×8 и 8×4, и межкадровое прогнозирование не поддерживается для блоков размером 4×4. При использовании структуры дерева QTBT в модели JEM, эти ограничения снимаются.
2.2. Межкадровое прогнозирование в стандарте кодирования HEVC/H.265
Каждая единица межкадрового прогнозирования PU имеет параметры движения для одного или двух списков опорных изображений. Совокупность параметров движения содержит вектор движения и индекс опорного изображения. Об использовании одного или двух списков опорных изображений может быть также сообщено в виде сигнализации с применением параметра inter_pred_idc. Векторы движения могут быть в явной форме закодированы в виде приращений относительно предикторов.
Когда единица CU кодирована в режиме пропуска, с этой единицей CU ассоциирована одна единица PU, и при этом нет ни значительных коэффициентов остатка, ни кодированного приращения вектора движения или индекса опорного изображения. Режим объединения специфицирован таким образом, что параметры движения для текущей единицы PU получают из соседних единиц PU, включая пространственные и временные кандидаты. Режим объединения может быть применен к любой единице PU межкадрового прогнозирования, не только в режиме пропуска. Альтернативой режима для объединения является передача параметров движения в явном виде, где векторы движения (более точно, разницы векторов движения относительно предиктора вектора движения), соответствующий индекс опорного изображения для каждого списка опорных изображений и показатель использования списка опорных изображений передают в виде сигнализации в явной форме для каждой единицы PU. Этот тип режима называется в настоящем описании усовершенствованным прогнозированием вектора движения (advanced motion vector prediction (AMVP)).
Когда сигнализация указывает, что следует использовать один из двух списков опорных изображений, единицу PU создают из одного блока отсчетов. Это называется «однонаправленным прогнозированием» (‘uni-prediction’). Однонаправленное прогнозирование доступно для срезов обоих видов – P-среза (P-slice) или среза со ссылкой на предыдущий срез (предсказанного среза) и B-среза (B-slice) или среза со ссылками на предыдущий и последующий срезы (или двунаправлено интерполированного среза).
Когда сигнализация указывает, что следует использовать оба списка опорных изображений, единицу PU создают из двух блоков отсчетов. Это называется «двунаправленной интерполяцией (прогнозированием)» (‘bi-prediction’). Двунаправленное прогнозирование доступно только для B-срезов.
Следующий текст содержит подробности относительно режимов межкадрового прогнозирования, специфицированных в стандарте кодирования HEVC. Описание начинается с режима объединения.
2.2.1. Режим объединения
2.2.1.1. Определение кандидатов для режима объединения
Когда единицу PU прогнозируют с использованием режима объединения, индекс, указывающий на позицию в списке объединяемых кандидатов, выделяют путем синтаксического анализа из потока битов данных и используют для извлечения информации о движении. Процедура построения указанного списка специфицирована в стандарте кодирования HEVC и может быть суммирована в соответствии со следующей последовательностью этапов:
• Этап 1: Получение первоначального списка кандидатов
○ Этап 1.1: Получение пространственных кандидатов
○ Этап 1.2: Контроль избыточности для пространственных кандидатов
○ Этап 1.3: Получение временных кандидатов
• Этап 2: Вставка дополнительных кандидатов
○ Этап 2.1: Создание двунаправлено прогнозированных кандидатов
○ Этап 2.2: Вставка кандидатов с нулевым движением
Эти этапы схематично показаны на фиг. 2. Для получения пространственных объединяемых кандидатов, выбирают максимум четверых объединяемых кандидатов из совокупности кандидатов, расположенных в пяти различных позициях. Для получения временных объединяемых кандидатов выбирают максимум одного объединяемого кандидата из двух кандидатов. Поскольку в декодирующем устройстве предполагается постоянное число кандидатов для каждой единицы PU, если число кандидатов, полученное после этапа 1, не достигает максимального числа объединяемых кандидатов (MaxNumMergeCand), передаваемого в форме сигнализации в заголовке среза, генерируют дополнительных кандидатов. Поскольку число кандидатов является постоянным, индекс наилучшего объединяемого кандидата кодируют с использованием усеченной унарной бинаризации (truncated unary binarization (TU)). Если размер единицы CU равен 8, все единицы PU из текущей единицы CU совместно используют один список объединяемых кандидатов, который идентичен списку объединяемых кандидатов для единицы прогнозирования размером 2N×2N.
В последующем, операции, ассоциированные с приведенными выше этапами, описаны подробно.
2.2.1.2. Определение пространственных кандидатов
При получении пространственных объединяемых кандидатов выбирают максимум четырех объединяемых кандидатов из совокупности кандидатов, расположенных в позициях, показанных на фиг. 3. Кандидатов выбирают в следующем порядке A1, B1, B0, A0 и B2. Позицию B2 учитывают только тогда, когда какая-либо из единиц PU, которые должны быть в позициях A1, B1, B0, A0, недоступна (например, потому, что эта единица принадлежит другому срезу или другой плитке) или кодирована с применением внутрикадрового прогнозирования. После добавления кандидата в позиции A1 добавление остальных кандидатов должно происходить с контролем избыточности, что обеспечивает исключение кандидатов с одинаковой информацией о движении из списка, так что эффективность кодирования улучшается. Для уменьшения вычислительной сложности не все возможные пары кандидатов рассматривают в процессе упомянутого контроля избыточности. Напротив, учитывают только пары, связанные стрелкой на фиг. 4, и какого-либо кандидата добавляют в список только в том случае, если соответствующий кандидат, использованный для контроля избыточности, не имеет такую же самую информацию о движении. Другим источником дублированной информации о движении является “вторая единица PU”, ассоциированная с разбиениями, отличными от 2Nx2N. В качестве примера, Фиг. 5 показывает вторую единицу PU для случаев N×2N и 2N×N, соответственно. Когда текущую единицу PU разбивают как N×2N, кандидат в позиции A1 не учитывается при построении списка. На деле, добавление этого кандидата приведет к тому, что две единицы прогнозирования будут иметь одинаковую информацию о движении, что является избыточным с точки зрения требования иметь только одну единицу PU в единице кодирования. Аналогично, позицию B1 не учитывают, когда текущую единицу PU разбивают как 2N×N.
2.2.1.3. Определение временных кандидатов
На этом этапе в список добавляют только одного кандидата. В частности, при получении этого временного объединяемого кандидата, формируют масштабированный вектор движения на основе расположенной в этом же месте единицы PU, принадлежащей изображению, имеющему наименьшую разницу порядковых номеров картинки (Picture Order Count (POC)) относительно текущего изображения в рассматриваемом списке опорных изображений. О списке опорных изображений, который должен быть использован для получения расположенной в том же месте единицы PU, сигнализируют в явной форме в заголовке среза. Масштабированный вектор движения для временного объединяемого кандидата получают, как показывает штриховая линия на фиг. 6, путем масштабирования из вектора движения для расположенной в том же месте единицы PU с использованием расстояний по порядковым номерам (POC-расстояний), tb и td, где расстояние tb определяют как разницу номеров POC между опорным изображением для текущего изображения и самим текущим изображением и расстояние td определяют как разницу номеров POC между опорным изображением для расположенного в том же месте изображения и самим расположенным в том же месте изображением. Индекс опорного изображения для временного объединяемого кандидата устанавливают равным нулю. Практическая реализация процедуры масштабирования описана в спецификации стандарта кодирования HEVC. Для B-среза получают два вектора движения, один для списка 0 опорных изображений и другой для списка 1 опорных изображений, и комбинируют эти векторы для получения двунаправлено прогнозируемого объединяемого кандидата.
В расположенной в том же месте единице PU (Y), принадлежащей опорному кадру, позицию для временного кандидата выбирают между кандидатами C0 и C1, как показано на фиг. 7. Если единица PU в позиции C0 недоступна, кодирована с применением внутрикадрового прогнозирования или находится вне текущей строки единиц CTU, используют позицию C1. В противном случае, для получения временного объединяемого кандидата используют позицию C0.
2.2.1.4. Вставка дополнительных кандидатов
Помимо пространственно-временных объединяемых кандидатов имеются еще два дополнительных типа объединяемых кандидатов: комбинированный двунаправлено прогнозируемый объединяемый кандидат и нулевой объединяемый кандидат. Комбинированных двунаправлено прогнозируемых объединяемых кандидатов генерируют с использованием пространственных и временных объединяемых кандидатов. Комбинированный двунаправлено прогнозируемый объединяемый кандидат используется только для B-среза. Таких комбинированных двунаправлено прогнозируемых кандидатов генерируют путем комбинирования параметров движения из первого списка опорных изображений для первоначального кандидата с параметрами движения из второго списка опорных изображений для другого кандидата. Если эти две группы параметров формируют разные гипотезы движения, они создадут нового двунаправлено прогнозируемого кандидата. В качестве примера, на фиг. 8 показан случай, где двух кандидатов из исходного списка (слева), имеющих параметры mvL0 и refIdxL0 или mvL1 и refIdxL1, используют для создания комбинированного двунаправлено прогнозируемого объединяемого кандидата, добавляемого в конечный список (справа). Имеются многочисленные правила относительно построения таких комбинаций, учитываемые при генерации таких дополнительных объединяемых кандидатов.
Кандидатов с нулевым движением вставляют для заполнения оставшихся позиций в списке объединяемых кандидатов и тем самым достижения максимальной емкости MaxNumMergeCand списка. Эти кандидаты имеют нулевое пространственное смещение, а индекс опорного изображения начинается с нуля и увеличивается каждый раз, когда в список добавляют нового кандидата с нулевым движением. Число опорных кадров, используемых этими кандидатами, равно одному и двум для однонаправленного прогнозирования и двунаправленного прогнозирования, соответственно. Наконец, для этих кандидатов контроль избыточности не осуществляется.
2.2.1.5. Области оценки движения для параллельной обработки
Для ускорения процедуры кодирования оценку движения можно осуществлять параллельно, благодаря чему векторы движения для всех единиц прогнозирования внутри конкретной рассматриваемой области определяют одновременно. Это определение объединяемых кандидатов из пространственно окружающей области может мешать параллельной обработке, поскольку одна единица прогнозирования не может вывести параметры движения из соседней единицы PU до тех пор, пока ассоциированная оценка движения не будет завершена. Для сглаживания компромисса между эффективностью кодирования и задержкой обработки, процедура HEVC определение области оценки движения (motion estimation region (MER)), размер которой сообщают в виде сигнализации в наборе параметров изображения с использованием синтаксического элемента “log2_parallel_merge_level_minus2”. Когда область MER определена, объединяемые кандидаты, попадающие в одну и ту же область, маркируют как недоступные и потому не учитывают при построении списка.
2.2.2. Усовершенствованное прогнозирование вектора движения (AMVP)
Прогнозирование AMVP использует пространственно-временную корреляцию вектора движения с соседними единицами PU, что используется для передачи параметров движения в явной форме. Для каждого списка опорных изображений, при построении списка векторов-кандидатов движения сначала проверяют доступность временных соседних единиц PU в позициях слева сверху, исключают избыточных кандидатов и добавляют нулевой вектор, чтобы сделать список кандидатов постоянной длины. Тогда кодирующее устройство может выбрать наилучшего предиктора из списка кандидатов и передать соответствующий индекс, указывающий выбранного кандидата. Аналогично передаче индекса объединения посредством сигнализации, индекс наилучшего вектора-кандидата движения кодируют с использованием усеченной унарной бинаризации. Максимальное значение, подлежащее кодированию, в этом случае равно 2 (см. фиг. 9). В последующих разделах приведены подробности процедуры получения кандидата при прогнозировании вектора движения.
2.2.2.1. Получение кандидатов при прогнозировании AMVP
Фиг. 9 суммирует процедуру получения вектора-кандидата при прогнозировании вектора движения.
При прогнозировании векторов движения рассматривают два типа векторов-кандидатов движения: пространственный вектор-кандидат движения и временной вектор-кандидат движения. Для формирования пространственного вектора-кандидата движения в конечном итоге получают два вектора-кандидата движения на основе векторов движения для каждой из единиц PU, расположенных в пяти разных позициях, как было ранее показано на фиг. 3.
Для формирования временного вектора-кандидата движения выбирают одного вектора-кандидата движения из двух кандидатов, получаемых на основе двух разных расположенных в одном месте позиций. После создания первого списка пространственно-временных кандидатов из этого списка исключают дублированные векторы-кандидаты движения. Если число потенциальных кандидатов больше двух, векторы-кандидаты движения, для которых индекс опорного изображения в ассоциированном списке опорных изображений больше 1, исключают из этого списка. Если это число пространственно-временных векторов движения кандидатов меньше двух, в список добавляют дополнительный нулевой вектор-кандидат движения.
2.2.2.2. Пространственные векторы-кандидаты движения
Для получения пространственных векторов-кандидатов движения, учитывают максимум двух потенциальных кандидатов из совокупности пяти потенциальных кандидатов, получаемых из единиц PU, расположенных в позициях, как это ранее показано на фиг. 3, эти позиции являются такими же, как при объединении движения. Порядок формирования для левой стороны от текущей единицы PU задан как кандидат A0, кандидат A1 и масштабированный кандидат A0, масштабированный кандидат A1. Порядок формирования для верхней стороны от текущей единицы PU задан как кандидат B0, кандидат B1, кандидат B2, масштабированный кандидат B0, масштабированный кандидат B1, масштабированный кандидат B2. Для каждой стороны, поэтому, имеются четыре случая, которые могут быть использованы в качестве векторов-кандидатов движения, где в двух случаях не требуется использовать пространственное масштабирование, и в двух случаях пространственное масштабирование применяется.
• Нет пространственного масштабирования
- (1) Одинаковый список опорных изображений и одинаковый индекс опорного изображения (одинаковый порядок POC)
- (2) Разные списки опорных изображений, но одинаковое опорное изображение (одинаковый порядок POC)
• Пространственное масштабирование
- (3) Одинаковый список опорных изображений, но разные опорные изображения (разный порядок POC)
- (4) Разные списки опорных изображений и разные опорные изображения (разный порядок POC)
Случаи без пространственного масштабирования проверяют первыми, после чего проверяют случаи, позволяющие пространственное масштабирование. Пространственное масштабирование рассматривается, когда порядок POC различается между опорным изображением для соседней единицы PU и опорным изображением для текущей единицы PU независимо от списка опорных изображений. Если все единицы PU кандидатов слева недоступны или кодированы с применением внутрикадрового прогнозирования, допускается масштабирование вектора движения для единицы сверху, чтобы способствовать параллельному определению векторов-кандидатов MV слева и сверху. В противном случае для вектора движения единицы сверху пространственное масштабирование не допускается.
В процессе пространственного масштабирования, вектор движения для соседней единицы PU масштабируют способом, аналогичным временному масштабированию, как показано в примере на фиг. 10. Основное различие состоит в том, что в качестве входных данных используют список опорных изображений и индекс текущей единицы PU; фактическая процедура масштабирования является такой же, как в случае временного масштабирования.
2.2.2.3. Временные векторы-кандидаты движения
Помимо получения индекса опорного изображения, все процедуры для формирования временных объединяемых кандидатов являются такими же, как и для формирования пространственных векторов-кандидатов движения (см. фиг. 7). Индекс опорного изображения сообщают посредством сигнализации декодирующему устройству.
2.3. Адаптивное разрешение разности векторов движения (AMVR)
В стандарте кодирования VVC, для обычного режима межкадрового прогнозирования, разность векторов движения (motion vector difference (MVD)) может быть кодирована в единицах четвертей отсчетов яркостной составляющей, целых отсчетов яркостной составляющей или четверок отсчетов яркостной составляющей. Разрешением разностей MVD управляют на уровне единиц кодирования (CU), и флаги разрешения разностей MVD передают в виде сигнализации условно для каждой единицы CU, которая имеет по меньшей мере одну ненулевую составляющую разности MVD.
Для единицы CU, имеющей по меньшей мере одну ненулевую составляющую разности MVD, передают в виде сигнализации первый флаг для указания, используется ли точность в одну четверть отсчета яркостной составляющей для вектора MV в этой единице CU. Когда первый флаг (равный 1) указывает, что точность в четверть отсчета яркостной составляющей не используется для вектора MV, передают в виде сигнализации другой флаг для указания, что используется точность в один отсчет яркостной составляющей или в четыре отсчета яркостной составляющей для вектора MV.
Когда первый флаг разрешения разности MVD для какой-то единицы CU равен нулю, или не кодирован для какой-то единицы CU (это означает, что все разности MVD для этой единицы CU являются нулевыми), для этой единицы CU используется точность в четверть отсчета яркостной составляющей для вектора MV. Когда какая-то единица CU использует точность в один отсчет яркостной составляющей для вектора MV или в четыре отсчета яркостной составляющей для вектора MV, прогнозы MVP в списке кандидатов прогнозирования AMVP для этой единицы CU округляют до соответствующей точности.
2.4. Интерполяционные фильтры в стандарте кодирования VVC
Для интерполяционной фильтрации яркостной составляющей используют имеющие 8 отводов разделяемые интерполяционные фильтры для отсчетов с точностью в 1/16-pel (1/16 пикселя), как показано в таблице 1.
Таблица1. Коэффициенты fL 8 отводов для интерполяции яркостной составляющей с точностью 1/16-pel пикселя.
дробного отсчета
Аналогично, имеющие 4 отвода разделяемые интерполяционные фильтры используются для интерполяции цветностной составляющей с точностью в 1/32-pel (1/32 пикселя) как показано в таблице 2.
Таблица 2. Интерполяционные коэффициенты fC 4 отводов для интерполяции цветностной составляющей с точностью 1/32-pel (пикселя).
Для вертикальной интерполяции каналов цветностной составляющей в формате 4:2:2 и для горизонтальной и вертикальной интерполяции каналов цветностной составляющей в формате 4:4:4 нечетные позиции в таблице 2 не используются, результатом чего является интерполяция цветностной составляющей с точностью 1/16-pel (пикселя).
2.5. Альтернативные интерполяционные фильтры с точностью в половину пикселя для яркостной составляющей
В стандарте JVET-N0309, предложены альтернативные фильтры с точностью в половину пикселя.
Подключение интерполяционного фильтра с точностью в половину пикселя производится в зависимости от точности вектора движения. В дополнение к существующим режимам с разрешением AMVR с точностью в четверть пикселя, полный пиксель и 4 пикселя введен новый режим разрешения AMVR с точностью в половину пикселя. Только в случае равной половине пикселя точности вектора движения может быть выбран альтернативный интерполяционный фильтр с точностью в половину пикселя для яркостной составляющей.
2.5.1. Режим разрешения AMVR с точностью в половину пикселя
Предложен дополнительный режим с разрешением AMVR для неаффинных необъединенных единиц CU в режиме межкадрового прогнозирования, который позволяет передавать в виде сигнализации разности векторов движения с точностью в половину пикселя. Существующая схема режима с разрешением AMVR из сегодняшнего проекта стандарта кодирования VVC прямолинейно расширена следующим образом: Сразу же вслед за синтаксическим элементом amvr_flag, если флаг amvr_flag == 1, следует новый моделируемый в соответствии с контекстом двоичный синтаксический элемент hpel_amvr_flag, который обозначает использование нового режима разрешения AMVR с точностью в половину пикселя, если hpel_amvr_flag == 1. В противном случае, т.е. если флаг hpel_amvr_flag == 0, выбор между режима разрешения AMVR с точностью в полный пиксель или в 4 пикселя обозначен синтаксическим элементом amvr_precision_flag, как в сегодняшнем стандарте кодирования VVC.
2.5.2. Альтернативные интерполяционные фильтры с точностью в половину пикселя для яркостной составляющей
Для неаффинной, необъединяемой кодированной в режиме межкадрового прогнозирования единицы CU, использующей точность вектора движения в половину пикселя (т.е. режим с разрешением AMVR в половину пикселя), переключение между интерполяционным фильтром яркостной составляющей с точностью в половину пикселя для кодирования HEVC/VVC и одной или несколькими альтернативными интерполяциями с точностью в половину пикселя осуществляется на основе значения нового синтаксического элемента if_idx. Этот синтаксический элемент if_idx передают в виде сигнализации только в случае режима разрешения AMVR с точностью в половину пикселя. В случае режима пропуска/объединения с использованием пространственного объединяемого кандидата значение синтаксического элемента if_idx «наследуется» от соседнего блока.
2.5.2.1. Тест 1: Один альтернативный интерполяционный фильтр с точностью в половину пикселя
В этом тестовом случае, используется один интерполяционный фильтр с 6 отводами в качестве альтернативы обычному интерполяционному фильтру с точностью в половину пикселя для стандарта кодирования HEVC/VVC. Следующая таблица показывает отображение между значением синтаксического элемента if_idx и выбранным интерполяционным фильтром с точностью в половину пикселя для яркостной составляющей:
2.5.2.2. Тест 2: Два альтернативных интерполяционных фильтра с точностью в половину пикселя
В этом тестовом случае, используются два интерполяционных фильтра с 8 отводами в качестве альтернативы обычному интерполяционному фильтру с точностью в половину пикселя для стандарта кодирования HEVC/VVC. Следующая таблица показывает отображение между значением синтаксического элемента if_idx и выбранным интерполяционным фильтром с точностью в половину пикселя для яркостной составляющей:
Параметр amvr_precision_idx передают в виде сигнализации для индикации, использует ли текущая единица CU вектор MV с точностью 1/2-pel, 1-pel или 4-pel. Здесь нужно кодировать 2 бина.
Параметр hpel_if_idx передают в виде сигнализации для индикации, используется интерполяционный фильтр по умолчанию с точностью в половину пикселя или альтернативные интерполяционные фильтры с точностью в половину пикселя. Когда используются 2 альтернативных интерполяционных фильтра с точностью в половину пикселя, нужно кодировать 2 бина.
2.6. Обобщенное двунаправленное прогнозирование
В случае обычного двунаправленного прогнозирования предикторы из списков L0 и L1 усредняют для генерации конечного предиктора с использованием одинакового весового коэффициента 0.5. Формула генерации предиктора показана как в уравнении Equ. (3)
PTraditionalBiPred = (PL0 + PL1 + RoundingOffset) >> shiftNum, … (1)
В уравнении Equ. (3), PTraditionalBiPred обозначает конечный предиктор для обычного двунаправленного прогнозирования, PL0 и PL1 обозначают предикторы из списков L0 и L1, соответственно, и RoundingOffset и shiftNum используются для нормировки конечного предиктора.
Обобщенное двунаправленное прогнозирование (GBI) предложено для того, чтобы позволить применять разные весовые коэффициенты к предикторам из списков L0 и L1. Генерация предиктора показана в уравнении Equ. (4).
PGBi = ( (1-w1)* PL0 + w1 * PL1 + RoundingOffsetGBi) >> shiftNumGBi, … (2)
В уравнении Equ. (4), PGBi обозначает конечный предиктор при прогнозировании GBi. Коэффициенты (1-w1) и w1 обозначают выбранные весовые коэффициенты для прогнозирования GBI, применяемые к предикторам из списков L0 и L1, соответственно. Параметры RoundingOffsetGBi и shiftNumGBi используются для нормировки конечного предиктора при прогнозировании GBi.
В качестве весового коэффициента w1 поддерживаются значения {-1/4, 3/8, 1/2, 5/8, 5/4}. Здесь поддерживаются один набор равных весовых коэффициентов и четыре набора неравных весовых коэффициентов. В случае равных весовых коэффициентов процедура генерации конечного предиктора является точно такой же, как в режиме обычного двунаправленного прогнозирования. Для случаев истинного двунаправленного прогнозирования в условиях произвольного доступа (random access (RA)) число наборов-кандидатов весовых коэффициентов уменьшено до трех.
Для режима усовершенствованного прогнозирования вектора движения (AMVP) сигнализацию о выборе весовых коэффициентов для прогнозирования GBI передают в явном виде на уровне единиц CU, если эта единица CU кодирована посредством двунаправленного прогнозирования. Для режима объединения выбор весовых коэффициентов наследуется от объединяемого кандидата.
3. Проблемы в обычных реализациях
Альтернативные интерполяционные фильтры с точностью в половину пикселя могут быть унаследованы в режиме объединения с использованием разности векторов движения (MMVD) даже если точность вектора MV, полученного в этом режиме MMVD не равна 1/2-pel, что не разумно.
При кодировании параметров amvr_precision_idx и hpel_if_idx, все бины кодируют контекстно-зависимым способом.
4. Примеры вариантов и способов
Варианты, подробно описанные ниже, следует считать примерами для пояснения общих концепций. Эти варианты не следует интерпретировать в узком смысле. Более того, варианты можно комбинировать любым способом.
Способ определения вектора движения на стороне декодирующего устройства (decoder-side motion vector derivation (DMVD)) используется для представления двунаправленного оптического потока (BDOF (bi-direction optical flow)) или уточнения векторов движения на стороне декодирующего устройства (DMVR (decoder-side motion vector refinement)) и/или других инструментов, ассоциированных с уточнением вектора движения или прогнозируемых отсчетов в декодирующем устройстве.
В последующем тексте термин «интерполяционный фильтр по умолчанию» может обозначать фильтр, определяемый в стандарте кодирования HEVC/VVC. Вновь вводимые интерполяционные фильтры (такие, как фильтры, предлагаемые в документе JVET-N0309) в последующем описании могут также называться альтернативными интерполяционными фильтрами.
1. Альтернативные интерполяционные фильтры с точностью 1/N-pel могут быть использованы для разных N, при N не равно 2.
a. В одном из примеров, N может быть равно 4, 16 и т.д.
b. В одном из примеров, индекс интерполяционных фильтров с точностью 1/N-pel может быть сообщен в виде сигнализации в режиме разрешения AMVR.
i. В качестве альтернативы, кроме того, индекс интерполяционных фильтров с точностью 1/N-pel тоже быть сообщен в виде сигнализации только тогда, когда рассматриваемый блок выбрал точность 1/N-pel для вектора MV/разности MVD.
c. В одном из примеров, альтернативные интерполяционные фильтры с точностью 1/N-pel могут не быть унаследованы в режиме объединения и/или в режиме MMVD.
i. В качестве альтернативы, кроме того, только интерполяционный фильтр по умолчанию с точностью 1/N-pel может быть использован в режиме объединения и/или в режиме MMVD.
d. В одном из примеров, альтернативные интерполяционные фильтры с точностью 1/N-pel могут быть унаследованы в режиме объединения.
e. В одном из примеров, альтернативные интерполяционные фильтры с точностью 1/N-pel могут быть унаследованы в режиме MMVD.
i. В одном из примеров, альтернативные интерполяционные фильтры с точностью 1/N-pel могут быть унаследованы в режиме MMVD, когда конечные выведенные векторы MV имеют точность 1/N-pel, т.е. ни один из компонентов векторов MV не имеет более высокую точность.
ii. В одном из примеров, альтернативные интерполяционные фильтры с точностью 1/N-pel могут быть унаследованы в режиме MMVD, когда K (K >=1) компонентов конечных выведенных векторов MV имеют точность 1/N-pel.
f. В одном из примеров, альтернативные интерполяционные фильтры с точностью 1/N-pel могут быть унаследованы в режиме MMVD и/или в режиме объединения, однако альтернативные интерполяционные фильтры с точностью 1/N-pel используются только при компенсации движения. Индекс альтернативных интерполяционных фильтров с точностью 1/N-pel может не быть сохранен для рассматриваемого блока и может не быть использован для следующих кодируемых блоков.
2. Индикация интерполяционных фильтров (таких как интерполяционный фильтр по умолчанию с точностью в половину пикселя (half-pel), альтернативные интерполяционные фильтры с точностью в половину пикселя) может быть сохранена вместе с другой информацией о движении, такой как векторы движения, опорные индексы.
a. В одном из примеров, для одного блока, подлежащего кодирования/декодированию, когда производится обращение и доступ к 2-ому блоку, расположенному в другой области (такой как другие строки единиц CTU, в другой единице VPDU), интерполяционные фильтры, ассоциированные с этим 2-ым блоком, не допускается использовать для кодирования/декодирования текущего блока.
3. Альтернативные интерполяционные фильтры с точностью в половину пикселя могут не быть унаследованы в режиме объединения или/и в режиме MMVD.
a. В одном из примеров, альтернативные интерполяционные фильтры с точностью в половину пикселя могут не быть унаследованы в режиме MMVD.
i. В качестве альтернативы, кроме того, интерполяционный фильтр по умолчанию с точностью в половину пикселя в стандарте кодирования VVC всегда может быть использован для режима MMVD.
ii. В качестве альтернативы, альтернативные интерполяционные фильтры с точностью в половину пикселя могут быть унаследованы в режиме MMVD. Иными словами, для режима MMVD, может быть унаследован альтернативный интерполяционный фильтр с точностью в половину пикселя, ассоциированный с базовым объединяемым кандидатом.
b. В одном из примеров, альтернативные интерполяционные фильтры с точностью в половину пикселя могут быть унаследованы в режиме MMVD при определенных условиях.
i. В одном из примеров, альтернативные интерполяционные фильтры с точностью в половину пикселя могут быть унаследованы, когда конечные выведенные векторы MV имеют точность 1/2-pel, т.е. ни один из компонентов векторов MV не имеет более высокую точность, такую как точность 1/4-pel, точность 1/16.
ii. В одном из примеров, альтернативные интерполяционные фильтры с точностью в половину пикселя могут быть унаследованы в режиме MMVD, когда K (K >=1) компонентов конечных выведенных векторов MV имеют точность 1/2-pel.
c. В одном из примеров, альтернативные интерполяционные фильтры с точностью в половину пикселя могут быть унаследованы в режиме MMVD или/и в режиме объединения, однако альтернативные интерполяционные фильтры с точностью в половину пикселя используются только при компенсации движения. Индекс интерполяционных фильтров по умолчанию с точностью в половину пикселя, вместо индекса альтернативных интерполяционных фильтров с точностью в половину пикселя, может быть сохранен для рассматриваемого блока и может быть использован для последующих кодируемых блоков.
d. Приведенные выше способы могут быть применимы в других случаях, где могут быть применены несколько интерполяционных фильтров с точностью 1/N-pel.
4. Информация интерполяционного фильтра может быть сохранена в таблице прогнозирования вектора движения на основе предыстории (HMVP) и может быть унаследована объединяемым кандидатом в режиме прогнозирования HMVP. В некоторых вариантах, таблицу прогнозирования HMVP избирательно обновляют после преобразования между видеоблоком видеообласти и кодированным представлением. Решение обновлять ли таблицу, т.е. избирательность при обновлении таблицы, основано на определении, после преобразования видеоблока, имеется ли используемый при преобразовании кандидат движения, подходящий для обновления таблицы прогнозирования HMVP (например, путем применения усечения и т.п.).
a. В одном из примеров, при вставке нового кандидата в преобразовательную таблицу прогнозирования HMVP можно учитывать информацию интерполяционного фильтра. Например, два кандидата с одинаковой информацией о движении, но с различной информацией интерполяционного фильтра могут считаться двумя разными кандидатами.
b. В одном из примеров, при вставке нового кандидата в преобразовательную таблицу прогнозирования HMVP два кандидата с одинаковой информацией о движении, но с различной информацией интерполяционного фильтра могут считаться одинаковыми кандидатами.
5. При вставке объединяемых кандидатов в список объединяемых кандидатов, информацию интерполяционного фильтра можно учитывать в процессе усечения.
a. В одном из примеров, два объединяемых кандидата с разными интерполяционными фильтрами могут рассматриваться как два разных объединяемых кандидатов.
b. В одном из примеров, при вставке объединяемых кандидатов для прогнозирования HMVP в список объединения информация интерполяционного фильтра может учитываться в процессе усечения.
c. В одном из примеров, при вставке объединяемых кандидатов для прогнозирования HMVP в список объединения информация интерполяционного фильтра может не учитываться в процессе усечения.
6. При генерации попарно объединяемых кандидатов или/и комбинированных объединяемых кандидатов или/и кандидатов с нулевыми векторами движения или/и других кандидатов по умолчанию, можно учитывать информацию интерполяционного фильтра вместо того, чтобы всегда использовать интерполяционный фильтр по умолчанию.
a. В одном из примеров, если оба кандидата (участвующие в генерации попарно объединяемых кандидатов или/и комбинированных объединяемых кандидатов) используют один и тот же альтернативный интерполяционный фильтр, такой интерполяционный фильтр может быть унаследован в попарно объединяемых кандидатах или/и в комбинированных объединяемых кандидатах.
b. В одном из примеров, если один из двух кандидатов (участвующих в генерации попарно объединяемых кандидатов или/и комбинированных объединяемых кандидатов) не использует интерполяционный фильтр по умолчанию, интерполяционный фильтр для этого кандидата может быть унаследован в попарно объединяемых кандидатах или/и комбинированных объединяемых кандидатах.
c. В одном из примеров, если один из двух кандидатов (участвующих в генерации попарно объединяемых кандидатов или/и комбинированных объединяемых кандидатов) не использует интерполяционный фильтр по умолчанию, интерполяционный фильтр для этого кандидата может быть унаследован в комбинированных объединяемых кандидатах. Однако такой интерполяционный фильтр может быть использован только для соответствующего направления прогнозирования.
d. В одном из примеров, если два кандидата (участвующие в генерации комбинированных объединяемых кандидатов) используют разные интерполяционные фильтры, их интерполяционные фильтры оба могут быть унаследованы в комбинированных объединяемых кандидатах. В таком случае, разные интерполяционные фильтры могут быть использованы для разных направлений прогнозирования.
e. В одном из примеров, не более K (K>=0) попарно объединяемых кандидатов или/и комбинированных объединяемых кандидатов могут использовать альтернативные интерполяционные фильтры.
f. В одном из примеров, интерполяционные фильтры всегда используются для попарно объединяемых кандидатов или/и комбинированных объединяемых кандидатов.
7. Предлагается не активизировать использование точности в половину пикселя для векторов движения/разностей векторов движения, когда текущий блок кодируют в режиме копирования IBC.
a. В качестве альтернативы, кроме того, нет необходимости передавать в виде сигнализации индикацию использования точности в половину пикселя для MV/MVD.
b. В одном из примеров, альтернативный интерполяционный фильтр с точностью в половину пикселя всегда не активизируют, если текущий блок кодируют в режиме копирования IBC.
c. В качестве альтернативы, кроме того, нет необходимости передавать в виде сигнализации индикацию интерполяционного фильтра с точностью в половину пикселя.
d. В одном из примеров, условие, что текущий блок кодируют в режиме копирования IBC, может быть заменено условием, что текущий блок кодируют в некотором режиме. Такой режим может быть определен как треугольный режим, режим объединения и т.п. Один из примеров режимов соответствует режиму кодирования, в котором текущий блок разбивают на две части, где каждая часть ассоциирована с одним кандидатом движения, и двух кандидатов движения определяют из одного и того же списка кандидатов движения.
8. При кодировании параметров amvr_precision_idx и/или hpel_if_idx, только первый бин может быть кодирован контекстно-зависимым способом.
a. В качестве альтернативы, кроме того, другие бины могут быть подвергнуты обходному кодированию.
b. В одном из примеров, первый бин параметра amvr_precision_idx может быть подвергнут обходному кодированию.
c. В одном из примеров, первый бин параметра hpel_if_idx может быть подвергнут обходному кодированию.
d. В одном из примеров, только 1 контекст может быть использован для кодирования первого бина параметра amvr_precision_idx.
e. В одном из примеров, только 1 контекст может быть использован для кодирования первого бина параметра hpel_if_idx.
f. В одном из примеров, все бины параметра amvr_precision_idx могут совместно использовать один и тот же контекст.
g. В одном из примеров, все бины параметра hpel_if_idx могут совместно использовать один и тот же контекст.
9. Некоторые инструменты кодирования могут быть недопустимыми, когда используются альтернативные интерполяционные фильтры.
a. В одном из примеров, двунаправленный оптический поток (BDOF) может быть недопустим, когда используются альтернативные интерполяционные фильтры.
b. В одном из примеров, уточнение DMVR или/и определение DMVD может быть недопустимым, когда используются альтернативные интерполяционные фильтры.
c. В одном из примеров, комбинированный режим кодирования с внутрикадровым и межкадровым прогнозированием (CIIP (combined inter-intra prediction)) может быть недопустим, когда используются альтернативные интерполяционные фильтры.
i. В одном из примеров, флаг режима прогнозирования CIIP может быть пропущен или признан «ложным», когда объединяемый кандидат «наследует» альтернативные интерполяционные фильтры.
ii. В качестве альтернативы, когда флаг режима прогнозирования CIIP является истинным, может быть всегда использован интерполяционный фильтр по умолчанию.
d. В одном из примеров, режим с симметричной разностью векторов движения (SMVD (symmetric motion vector difference)) может быть недопустим, когда используются альтернативные интерполяционные фильтры.
i. В одном из примеров, когда используется режим разностей SMVD, всегда применяются интерполяционные фильтры по умолчанию, и не передают в виде сигнализации синтаксические элементы, относящиеся к альтернативным интерполяционным фильтрам.
ii. В качестве альтернативы, когда синтаксические элементы, относящиеся к альтернативным интерполяционным фильтрам, указывают, что используются альтернативные интерполяционные фильтры, синтаксические элементы, относящиеся к режиму разностей SMVD, можно не передавать в виде сигнализации, и режим разностей SMVD не используется.
e. В одном из примеров, преобразование субблоков (SBT (subblock transform)) может быть недопустимо, когда используются альтернативные интерполяционные фильтры.
i. В одном из примеров, когда используется преобразование SBT, всегда применяются интерполяционные фильтры по умолчанию, и синтаксические элементы, относящиеся к альтернативным интерполяционным фильтрам, не передают в виде сигнализации.
ii. В качестве альтернативы, когда синтаксические элементы, относящиеся к альтернативным интерполяционным фильтрам, указывают, что используются альтернативные интерполяционные фильтры, синтаксические элементы, относящиеся к преобразованию SBT, могут не передавать в виде сигнализации, и преобразование SBT не применяется.
f. В одном из примеров, треугольное прогнозирование и другие режимы кодирования, в которых блок разделяют на две части, могут быть недопустимыми, когда используются альтернативные интерполяционные фильтры. В некоторых вариантах, когда блок разделен на две части, каждая часть ассоциирована с одним кандидатом движения и двух кандидатов движения определяют из одного и того же списка кандидатов движения.
i. В одном из примеров, информация интерполяционного фильтра может не быть унаследована в режиме треугольного прогнозирования, и только интерполяционные фильтры по умолчанию могут быть использованы.
g. В качестве альтернативы, треугольное прогнозирование и другие режимы кодирования, в которых блок разделяют на две части, могут быть допустимыми, когда используются альтернативные интерполяционные фильтры. В некоторых вариантах, когда блок разделен на две части, каждая часть ассоциирована с одним кандидатом движения и двух кандидатов движения определяют из одного и того же списка кандидатов движения.
i. В одном из примеров, информация интерполяционного фильтра может быть унаследована в режиме треугольного прогнозирования.
h. В качестве альтернативы, для инструмента кодирования, упомянутого выше, если он активизирован, тогда альтернативный интерполяционный фильтр с точностью в половину пикселя может быть не активизирован.
10. К векторам MV с точностью N-pel может быть применен фильтр.
a. В одном из примеров, N может быть равно 1, 2 или 4 и т.п.
b. В одном из примеров, указанный фильтр может быть фильтром нижних частот.
c. В одном из примеров, указанный фильтр может представлять собой одномерный (1-d) фильтр.
i. Например, указанный фильтр может представлять собой одномерный (1-d) горизонтальный фильтр.
ii. Например, указанный фильтр может представлять собой одномерный (1-d) вертикальный фильтр.
d. В одном из примеров, в виде сигнализации может быть сообщен флаг для индикации, используется такой фильтр или нет.
i. В качестве альтернативы, кроме того, такой флаг может быть сообщен в виде сигнализации только в том случае, когда для блока используется точность N-pel для разности MVD (сообщается в виде сигнализации в режиме разрешения AMVR).
11. Для обычного режима межкадрового прогнозирования и аффинного режима в режиме прогнозирования GBI могут быть использованы разные наборы весовых коэффициентов.
a. В одном из примеров, наборы весовых коэффициентов, используемые для обычного режима межкадрового прогнозирования и аффинного режима, могут быть сообщены в виде сигнализации в наборе SPS/заголовке группы плиток /заголовке среза/наборе VPS/наборе PPS и т.п.
b. В одном из примеров, наборы весовых коэффициентов, используемые для обычного режима межкадрового прогнозирования и аффинного режима, могут быть определены заранее в кодирующем устройстве и в декодирующем устройстве.
12. Как определить/выбрать альтернативные интерполяционные фильтры, может зависеть от информации о режиме кодирования.
a. В одном из примеров, для аффинного режима и для неаффинного режима допустимые наборы альтернативных интерполяционных фильтров могут быть разными.
b. В одном из примеров, для режима копирования IBC и для режима, не являющегося режимом копирования IBC, допустимые наборы альтернативных интерполяционных фильтров могут быть разными.
5. Примеры реализации предлагаемой технологии
На фиг. 11A представлена блок-схема устройства 1100 для обработки видео. Устройство 1100 может быть использовано для реализации одного или нескольких описываемых здесь способов. Это устройство 1100 может представлять собой смартфон, планшетный компьютер, обычный компьютер, приемник Интернет вещей (Internet of Things (IoT)) и т.д. Устройство 1100 может содержать один или несколько процессоров 1102, одно или несколько запоминающих устройств 1104 и аппаратуру 1106 для обработки видео. Процессор (ы) 1102 может быть конфигурирован для реализации одного или нескольких способов, описываемых в настоящем документе. Запоминающее устройство (устройства) 1104 может быть использовано для сохранения данных и кода, применяемых для реализации способов и технологий, описываемых здесь. Аппаратура 1106 для обработки видео может быть использована для реализации, в аппаратной схеме, некоторых технологий, описываемых в настоящем документе, и может частично или полностью быть частью процессоров 1102 (например, представлять собой графическое процессорное ядро GPU или другую схему обработки сигнала).
На фиг. 11B представлен другой пример блок-схемы системы обработки видео, в которой может быть реализована предлагаемая технология. На фиг. 11B представлена блок-схема, показывающая пример системы 4100 обработки видео, где могут быть реализованы разнообразные способы, описываемые здесь. Различные варианты реализации могут содержать некоторые или все компоненты системы 4100. Система 4100 может иметь вход 4102 для приема контента видео. Этот контент видео может быть принят в исходном или в несжатом формате, например, 8 или 10-битовые многокомпонентные значения пикселей, либо может быть в сжатом или кодированном формате. Вход 4102 может представлять сетевой интерфейс, интерфейс шины периферийных устройств или интерфейс запоминающего устройства. К примерам сетевых интерфейсов относятся проводные интерфейсы, такие как Этернет, пассивная оптическая сеть (passive optical network (PON)) и т.д., и беспроводные интерфейсы, такие как Wi-Fi или сотовые интерфейсы.
Система 4100 может содержать кодирующий компонент 4104, которые может осуществлять разнообразные способы кодирования, описываемые в настоящем документе. Кодирующий компонент 4104 может уменьшить среднюю частоту передачи битов данных видео, поступающего от входа 4102 к выходу кодирующего компонента 4104 для получения кодированного представления видео. Поэтому такие способы кодирования иногда называют способами сжатия (компрессии) видео или способами транскодирования видео. Выходной сигнал кодирующего компонента 4104 может быть либо сохранен, либо передан по присоединенной линии связи, как это представлено компонентом 4106. Это сохраненное или переданное в потоке битов данных (или кодированное) представление видео, принятого на вход 4102, может быть использовано компонентом 4108 для генерации значений пикселей или представляемого на дисплее видео, которое передают интерфейсу 4110 дисплея. Процесс генерации наблюдаемого пользователем видео из представления в форме потока битов данных иногда называется расширением (или декомпрессией) видео. Кроме того, хотя определенные операции обработки видео называются операциями или инструментами «кодирования», должно быть понятно, что инструменты или операции кодирования используются в кодирующем устройстве, а соответствующие инструменты или операции декодирования, обращающие результаты кодирования будут производиться в декодирующем устройстве.
К примерам интерфейса шины периферийных устройств или интерфейса дисплея относятся универсальная последовательная шина (universal serial bus (USB)) или мультимедийный интерфейс высокой четкости (high definition multimedia interface (HDMI)) или Displayport, и т.д. К примерам интерфейса запоминающих устройств относятся интерфейс усовершенствованного последовательного соединения (SATA (serial advanced technology attachment)), интерфейс периферийных устройств (PCI), интерфейс IDE и другие подобные интерфейсы. Способы, описываемые в настоящем документе, могут быть реализованы в разнообразных электронных устройствах, таких как мобильные телефоны, портативные компьютеры, смартфоны или другие устройства, способные осуществлять цифровую обработку данных и/или представлять видео на дисплее.
Некоторые варианты предлагаемой технологии содержат принятие решения или определение, что следует активизировать инструмент или режим обработки видео. В одном из примеров, когда инструмент или режим обработки видео активизирован, кодирующее устройство будет использовать или осуществлять этот инструмент или режим при обработке блока видео, но может не обязательно модифицировать получаемый в результате поток битов данных на основе использования этого инструмента или режима. Иными словами, процедура преобразования от блока видео к представлению этого видео в форме потока битов данных будет использовать указанный инструмент или режим обработки видео, когда этот инструмент или режим активизирован на основе результата указанного принятия решения или определения. В другом примере, когда инструмент или режим обработки видео активизирован, декодирующее устройство будет обрабатывать поток битов данных с использованием знания, что этот поток битов данных был модифицирован на основе указанного инструмента или режима обработки видео. Иными словами, процедура преобразования из представления видео в форме потока битов данных в блок этого видео будет осуществлена с использованием инструмента или режима обработки видео, который был активизирован на основе указанного решения или определения.
Некоторые варианты предлагаемой технологии содержат принятие решения или определение, что следует отменить активизацию инструмента или режима обработки видео. В одном из примеров, когда инструмент или режим обработки видео не активизирован, кодирующее устройство не будет использовать этот инструмент или режим при преобразовании блока видео в его представление в форме потока битов данных. В другом примере, когда указанный инструмент или режим обработки видео не активизирован, декодирующее устройство будет обрабатывать поток битов данных с использованием знания, что поток битов данных не был модифицирован с использованием инструмента или режима обработки видео, активизация которого была отменена на основе указанного режима или определения.
В настоящем документе термин «обработка видео» может обозначать кодирование видео, декодирование видео, сжатие видео или расширение (декомпрессию) видео. Например, алгоритмы сжатия видео могут быть применены в процессе преобразования от пиксельного представления видео в соответствующее представление в форме потока битов данных или наоборот. Представление текущего видеоблока в форме потока битов данных может, например, соответствовать битам, которые либо расположены в одном месте, либо распределены в разных местах в потоке битов данных, как это определено в синтаксисе. Например, макроблок может быть кодирован в терминах преобразованных и кодированных остаточных значений ошибок, а также использования битов в заголовках и в других полях в потоке битов данных.
Следует понимать, что рассмотренные здесь способы и технологии дадут преимущества для вариантов кодирующего устройства для видео и/или декодирующего устройства для видео, встроенных в устройства для обработки видео, такие как смартфоны, портативные компьютеры, настольные компьютеры и другие подобные устройства, позволяя пользователю использовать технологии, описываемые в настоящем документе.
На фиг. 12A представлена логическая схема примера способа 1210 обработки видео. Этот способ 1210 содержит, на этапе 1212, осуществление преобразования между текущим видеоблоком видео и кодированным представлением этого видео. В некоторых вариантах, это кодированное представление содержит первый параметр, обозначающий точность информация о движении из набора нескольких уровней точности для текущего видеоблока, который не использует уровень точности по умолчанию для информации о движении, и/или второй параметр, идентифицирующий, что для преобразования используется альтернативный интерполяционный фильтр с точностью в половину пикселя. В некоторых вариантах, каждый из этих параметров – первый параметр и/или второй параметр, ассоциирован с одним или более бинами, причем для первого бина из указанного одного или более бинов в кодированном представлении используется только кодирование на основе контекстной модели. В некоторых вариантах, текущий видеоблок представлен в соответствующем кодированном представлении с использованием режима объединения или режима объединения с использованием разности векторов движения (MMVD), где интерполяционный фильтр с точностью 1/N используется для интерполяции блока прогнозирования, ассоциированного с текущим видеоблоком в соответствии с некоторым правилом, где N – положительное целое число; здесь указанное правило определяет условие для наследования информации об интерполяции в случае, когда интерполяционный фильтр представляет собой альтернативный интерполяционный фильтр, отличный от интерполяционного фильтра по умолчанию.
На фиг. 12B представлена логическая схема примера способа 1220 обработки видео. Этот способ 1220 содержит, на этапе 1222, определение, для преобразования между текущим видеоблоком видео и кодированным представлением этого видео, информации о движении с использованием интерполяционного фильтра, эта информация о движении имеет точность M целых пикселей или точность в 1/N долю пикселя, где M и N – положительные целые числа и N не равно 2. Способ 1220 далее содержит, на этапе 1224, осуществление преобразования на основе найденной информации о движении.
На фиг. 13A представлена логическая схема примера способа 1310 обработки видео. Этот способ 1310 содержит, на этапе 1312, генерацию, для преобразования между текущим видеоблоком видео и кодированным представлением этого видео, первого кандидата движения на основе одного или нескольких кандидатов движения из списка кандидатов движения и одного или нескольких интерполяционных фильтров, ассоциированных с этими одним или несколькими кандидатами движения, где интерполяционный фильтр назначают первому кандидату движения в соответствии с некоторым правилом, которое зависит от одного или нескольких интерполяционных фильтров, ассоциированных с одним или несколькими кандидатами движения. Способ 1310 далее содержит, на этапе 1314, вставку первого кандидата движения в список кандидатов движения. Способ 1310 далее содержит, на этапе 1316, осуществление преобразования на основе списка кандидатов движения.
На фиг. 13B представлена логическая схема примера способа 1320 обработки видео. Этот способ 1320 содержит, на этапе 1322, ассоциирование, с каждым из совокупности нескольких блоков, содержащей первый блок в первой видеообласти и второй блок во второй видеообласти видео, информации о движении, содержащей информацию о соответствующем интерполяционном фильтре, используемом для интерполяции информации о разностях векторов движения для каждого из совокупности нескольких блоков. Способ 1320 далее содержит, на этапе 1324, осуществление преобразования между видео и кодированным представлением этого видео с использованием указанной информации о движении.
На фиг. 13C представлена логическая схема примера способа 1330 обработки видео. Этот способ 1330 содержит, на этапе 1332, обработку текущего видеоблока в процессе преобразования между видео, содержащим текущий видеоблок, и кодированным представлением этого видео. Способ 1330 далее содержит, на этапе 1334, сравнение и избирательное обновление списка объединяемых кандидатов с информацией о движении текущего видеоблока. В некоторых вариантах, эта информация о движении содержит информацию интерполяционного фильтра, где эта информация интерполяционного фильтра содержит параметры интерполяционного фильтра, используемые для интерполяции значений разностей векторов движения, используемых для представления текущего видеоблока в кодированном представлении.
На фиг. 14A представлена логическая схема примера способа 1410 обработки видео. Этот способ 1410 содержит, на этапе 1412, поддержание, прежде преобразования между текущим видеоблоком видеообласти и кодированным представлением видео, по меньшей мере одной таблицы прогнозирования вектора движения на основе предыстории (HMVP), где эта таблица прогнозирования HMVP содержит одну или несколько позиций, соответствующих информации о движении одного или нескольких ранее обработанных блоков. Способ 1410 далее содержит, на этапе 1414, осуществление преобразования с использованием по меньшей мере одной таблицы прогнозирования HMVP. В некоторых вариантах, информация о движении для каждой позиции конфигурирована так, что она содержит информацию интерполяционного фильтра для одного или нескольких ранее обработанных блоков. В некоторых вариантах, информация интерполяционного фильтра обозначает интерполяционные фильтры, используемые для интерполяции блоков прогнозирования из совокупности одного или нескольких ранее обработанных блоков.
На фиг. 14B представлена логическая схема примера способа 1420 обработки видео. Этот способ 1420 содержит, на этапе 1422, поддержание, прежде преобразования между текущим видеоблоком видеообласти и кодированным представлением видео, по меньшей мере одной таблицы прогнозирования вектора движения на основе предыстории (HMVP), содержащей одну или несколько позиций, соответствующих информации о движении одного или нескольких ранее обработанных блоков, и где информация о движении для каждой позиции конфигурирована так, чтобы содержать информацию интерполяционного фильтра одного или нескольких ранее обработанных блоков. Способ 1420 далее содержит, на этапе 1424, построение, для преобразования, списка кандидатов движения, содержащего объединяемого кандидата для прогнозирования HMVP, где этого кандидата для прогнозирования HMVP определяют путем наследования одной позиции из таблицы прогнозирования HMVP, содержащей соответствующую информацию интерполяционного фильтра, ассоциированного с этой позицией. Способ 1420 далее содержит, на этапе 1426, осуществление преобразования на основе списка кандидатов движения.
На фиг. 15A представлена логическая схема примера способа 1510 обработки видео. Этот способ 1510 содержит, на этапе 1512, принятие решения о режиме кодирования, используемом для представления текущего видеоблока видео в кодированном представлении этого видео. Способ 1510 далее содержит, на этапе 1514, кодирование текущего видеоблока и его преобразование в кодированное представление в соответствии с указанным режимом кодирования, где использование точности в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования.
На фиг. 15B представлена логическая схема примера способа 1520 обработки видео. Этот способ 1520 содержит, на этапе 1522, синтаксический анализ кодированного представления видео с целью определения, что текущий видеоблок этого видео кодирован с использованием некоторого режима кодирования. Способ 1520 далее содержит, на этапе 1524, генерацию декодированного представления текущего видеоблока из кодированного представления в соответствии с указанным режимом кодирования, где использование точности в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования.
На фиг. 15C представлена логическая схема примера способа 1530 обработки видео. Этот способ 1530 содержит, на этапе 1532, определение, для текущего видеоблока, обрабатываемого в режиме обобщенного двунаправленного прогнозирования (GBi), что следует использовать первый весовой коэффициент и второй, отличный от первого весовой коэффициент для первого блока прогнозирования и для второго блока прогнозирования, соответственно, эти первый весовой коэффициент и второй весовой коэффициент выбирают из наборов весовых коэффициентов. Способ 1530 далее содержит, на этапе 1534, осуществление преобразования между текущим видеоблоком видео и кодированным представлением этого видео на основе результатов определения. В некоторых вариантах, первый набор весовых коэффициентов, используемый для режима межкадрового прогнозирования, отличается от второго набора весовых коэффициентов, используемого для аффинного режима межкадрового прогнозирования.
На фиг. 15D представлена логическая схема примера способа 1540 обработки видео. Этот способ 1540 содержит, на этапе 1542, определение, для преобразования между несколькими видео единицами видеообласти видео и кодированным представлением этих нескольких видео единиц, информации относительно интерполяционного фильтра в зависимости от режима кодирования видео единицы, этот интерполяционный фильтр используется для интерполяции значений разностей векторов движения в кодированном представлении и имеет точность M целых пикселей или точность в 1/N долю пикселя, где M и N – положительные целые числа. Способ 1540 далее содержит, на этапе 1544, осуществление преобразования с использованием указанного интерполяционного фильтра.
На фиг. 16A представлена логическая схема примера способа 1610 обработки видео. Этот способ 1610 содержит, на этапе 1612, принятие решения о режиме кодирования, используемом для представления текущего видеоблока видео в кодированном представлении этого видео. Способ 1610 далее содержит, на этапе 1614, кодирование этого текущего видеоблока с преобразованием его в кодированное представление в соответствии с указанным режимом кодирования. В некоторых вариантах, использование альтернативных фильтров с точностью в половину пикселя в дополнение к фильтру по умолчанию с точностью в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования.
На фиг. 16B представлена логическая схема примера способа 1620 обработки видео. Этот способ 1620 содержит, на этапе 1622, синтаксический анализ кодированного представления видео для определения, что текущий видеоблок этого видео кодирован с использованием некоторого режима кодирования. Способ 1620 далее содержит, на этапе 1624, генерацию декодированного представления текущего видеоблока из его кодированного представления в соответствии с найденным режимом кодирования. В некоторых вариантах, использование альтернативных фильтров с точностью в половину пикселя в дополнение к фильтру по умолчанию с точностью в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования.
На фиг. 16C представлена логическая схема примера способа 1630 обработки видео. Этот способ 1630 содержит, на этапе 1632, определение, вследствие того, что для некоторого видеоблока видео активизировано использование альтернативного интерполяционного фильтра, что некоторый режим кодирования недопустим для кодирования этого видеоблока и преобразования его в кодированное представление видео. Способ 1630 далее содержит, на этапе 1634, генерацию кодированного представления видеоблока на основе результата указанного определения, где альтернативный интерполяционный фильтр используется для интерполяции блоков при межкадровом прогнозирование текущего видеоблока.
На фиг. 16D представлена логическая схема примера способа 1640 обработки видео. Этот способ 1640 содержит, на этапе 1642, определение, вследствие того, что для некоторого видеоблока видео активизировано использование альтернативного интерполяционного фильтра, что использование некоторого режима кодирования для представления некого видеоблока в кодированном представлении видео недопустимо. Способ 1640 далее содержит, на этапе 1644, генерацию декодированного видеоблока посредством синтаксического анализа кодированного представления на основе результата определения.
Разнообразные способы и варианты могут быть описаны с использованием следующего постатейного формата.
Первая группа статей описывает некоторые признаки и аспекты способов, описываемых в предыдущем разделе.
1. Способ обработки видео, содержащий определение, для текущего видеоблока, одного набора информации о движении на основе применения по меньшей мере одного интерполяционного фильтра к группе соседних блоков, где этот по меньшей мере один интерполяционный фильтр может быть конфигурирован для точности в целое число пикселей или для точности на уровне долей пикселя для одного набора информации о движении; и осуществление преобразования между текущим видеоблоком и представлением этого текущего видеоблока в форме потока битов данных, где это преобразование содержит этап уточнения векторов движения на стороне декодирующего устройства (DMVR) с целью уточнения указанного одного набора информации о движении, сообщенного в виде сигнализации в представлении в форме потока битов данных.
2. Способ согласно статье 1, отличающийся тем, что когда один набор информации о движении ассоциирован с режимом адаптивное разрешение вектора движения (AMVR), индекс по меньшей мере одного интерполяционного фильтра сообщают в виде сигнализации в представлении в форме потока битов данных.
3. Способ согласно статье 1, отличающийся тем, что когда указанный один набор информации о движении ассоциирован с режимом объединения, индекс по меньшей мере одного интерполяционного фильтра наследуется от предыдущего видеоблока.
4. Способ согласно статье 1, отличающийся тем, что когда указанный один набор информации о движении ассоциирован с режимом объединения с использованием разности векторов движения (MMVD), индекс по меньшей мере одного интерполяционного фильтра наследуется от предыдущего видеоблока.
5. Способ согласно статье 1, отличающийся тем, что указанный по меньшей мере один интерполяционный фильтр соответствует фильтру по умолчанию с точностью на уровне долей пикселя, и отличающийся тем, что указанный один набор информации о движении ассоциирован с режимом объединения с использованием разности векторов движения (MMVD).
6. Способ согласно какой-либо из статей 2 – 4, отличающийся тем, что коэффициенты по меньшей мере одного интерполяционного фильтра для текущего видеоблока наследуются от предыдущего видеоблока.
7. Способ согласно какой-либо из статей 1 – 6, отличающийся тем, что точность на уровне долей пикселя для указанного одного набора информации о движении составляет 1/4 пикселя или 1/16 пикселя.
8. Способ согласно какой-либо из статей 1 – 7, отличающийся тем, что один или несколько компонентов указанного одного набора информации о движении имеют точность на уровне долей пикселя.
9. Способ согласно статье 1, отличающийся тем, что указанный по меньшей мере один интерполяционный фильтр представлен с использованием 6 коэффициентов или 8 коэффициентов.
10. Способ согласно статье 5, отличающийся тем, что индекс указанного по меньшей мере одного интерполяционного фильтра ассоциирован исключительно с текущим видеоблоком и не ассоциирован с последующими видеоблоками
11. Способ согласно статье 1, отличающийся тем, что информацию относительно указанного по меньшей мере одного интерполяционного фильтра сохраняют вместе с указанным одним набором информации о движении.
12. Способ согласно статье 11, отличающийся тем, что информация относительно указанного по меньшей мере одного интерполяционного фильтра идентифицирует указанный по меньшей мере один интерполяционный фильтр как фильтр по умолчанию.
13. Способ согласно статье 1, отличающийся тем, что предотвращают использование коэффициентов по меньшей мере одного интерполяционного фильтра для текущего видеоблока интерполяционным фильтром для другого видеоблока.
14. Способ согласно какой-либо из статей 1 – 13, отличающийся тем, что указанный по меньшей мере один интерполяционный фильтр соответствует нескольким фильтрам, где каждый фильтр из совокупности этих нескольких фильтров ассоциирован с точностью на уровне долей пикселя из одного набора информации о движении.
15. Способ согласно какой-либо из статей 1-14, отличающийся тем, что точность каждого компонента из указанного одного набора информации о движении равна или ниже точности на уровне долей пикселя этого одного набора информации о движении.
16. Способ согласно какой-либо из статей 1-15, отличающийся тем, что характеристики указанного по меньшей мере одного интерполяционного фильтра сохранены в преобразовательной таблице прогнозирования вектора движения на основе предыстории (HMVP).
17. Способ согласно статье 16, дополнительно содержащий:
после обнаружения, что информация о движении для другого видеоблока является такой же, как указанный один набор информации о движении для текущего видеоблока, вставку этого одного набора информации о движении в таблицу прогнозирования HMVP без вставки информации о движении другого видеоблока.
18. Способ согласно статье 16, дополнительно содержащий: после обнаружения, что информация о движении для другого видеоблока является такой же, как указанный один набор информации о движении для текущего видеоблока, вставку, в таблицу прогнозирования HMVP, этого одного набора информации о движении для текущего видеоблока и информации о движении для другого видеоблока.
19. Способ согласно какой-либо из статей 17 – 18, отличающийся тем, что указанный другой видеоблок ассоциирован с интерполяционным фильтром, и отличающийся тем, что указанная вставка основана, по меньшей мере частично, на указанном по меньшей мере одном интерполяционном фильтре для текущего видеоблока и/или интерполяционном фильтре для другого видеоблока.
20. Способ согласно какой-либо из статей 17 – 19, отличающийся тем, что указанные текущий видеоблок и другой видеоблок соответствуют спаренным кандидатам или комбинированным объединяемым кандидатам.
21. Способ согласно какой-либо из статей 17 – 20, отличающийся тем, что указанный по меньшей мере один интерполяционный фильтр для текущего видеоблока и указанный интерполяционный фильтр для другого видеоблока являются одинаковыми.
22. Способ согласно какой-либо из статей 17 – 20, отличающийся тем, указанный по меньшей мере один интерполяционный фильтр для текущего видеоблока и указанный интерполяционный фильтр для другого видеоблока являются разными.
23. Способ согласно статье 1, отличающийся тем, что текущий видеоблок кодируют в режиме внутрикадрового копирования блоков (IBC), и отличающийся тем, что использование точности на уровне долей пикселя при представлении указанного одного набора информации о движении не активизировано.
24. Способ согласно какой-либо из статей 1 – 23, отличающийся тем, что использование указанного по меньшей мере одного интерполяционного фильтра не активизировано.
25. Способ согласно статье 1, отличающийся тем, что указанный по меньшей мере один интерполяционный фильтр ассоциирован с флагом amvr_precision_idx flag и/или флагом hpel_if_idx.
26. Способ согласно статье 25, отличающийся тем, что флаг amvr_precision_idx и/или флаг hpel_if_idx ассоциированы с бинами, подвергнутыми обходному кодированию, или бинами, кодированными контекстно-зависимым способом.
27. Способ согласно статье 26, отличающийся тем, что первый бин представляет собой бин, подвергнутый обходному кодированию, или бин, кодированный контекстно-зависимым способом.
28. Способ согласно какой-либо из статей 25-27, отличающийся тем, что все бины совместно используют один и тот же контекст.
29. Способ согласно статье 1, отличающийся тем, что один или несколько этапов обработки видео не активизируют на основе использования по меньшей мере одного интерполяционного фильтра.
30. Способ согласно статье 29, отличающийся тем, что совокупность указанных одного или нескольких этапов обработки видео содержит этап уточнения векторов движения на стороне декодирующего устройства (DMVR), этап двунаправленного оптического потока (BDOF), этап комбинированного межкадрового-внутрикадрового прогнозирования (CIIP), этап применения режима симметричной разности векторов движения (SMVD), этап преобразования субблоков (SBT) или этап треугольного прогнозирования.
31. Способ согласно статье 30, отличающийся тем, что указанный по меньшей мере один интерполяционный фильтр соответствует фильтру по умолчанию.
32. Способ согласно какой-либо из статей 30 – 31, отличающийся тем, что отмена активизации одного или нескольких этапов содержит отказ от активизации, в представлении в форме потока битов данных, индикации этих одного или нескольких этапов обработки видео.
33. Способ согласно какой-либо из статей 30 – 31, отличающийся тем, что отмена активизации одного или нескольких этапов содержит отказ от активизации наследования указанного по меньшей мере одного интерполяционного фильтра для текущего видеоблока другим видеоблоком.
34. Способ согласно статье 1, отличающийся тем, что точность указанного одного набора информации о движении на уровне целых пикселей соответствует 1 пикселю, 2 пикселям или 4 пикселям.
35. Способ согласно статье 34, отличающийся тем, что указанный по меньшей мере один интерполяционный фильтр представляет собой фильтр нижних частот.
36. Способ согласно статье 34, отличающийся тем, что указанный по меньшей мере one интерполяционный фильтр представляет собой одномерный фильтр.
37. Способ согласно статье 36, отличающийся тем, что указанный одномерный фильтр представляет собой горизонтальный фильтр или вертикальный фильтр.
38. Способ согласно статье 34, отличающийся тем, что специальный флаг в представлении в форме потока битов данных обозначает, используется ли указанный по меньшей мере один интерполяционный фильтр или нет.
39. Способ согласно какой-либо из статей 1 – 38, отличающийся тем, что текущий видеоблок ассоциирован с режимом адаптивного разрешения вектора движения (AMVR).
40. Способ согласно какой-либо из статей 1 – 39, отличающийся тем, что указанный по меньшей мере один интерполяционный фильтр для режима межкадрового прогнозирования для текущего видеоблока отличается от фильтра для режима обобщенного двунаправленного прогнозирования (GBI) для текущего видеоблока.
41. Способ согласно какой-либо из статей 1 – 40, отличающийся тем, что указанный по меньшей мере один интерполяционный фильтр задан предварительно.
42. Способ согласно какой-либо из статей 1 – 41, отличающийся тем, что представление в форме потока битов данных содержит набор параметров видео (VPS), набор параметров изображения (PPS), заголовок изображения, заголовок группы плиток или заголовок среза, ассоциированный с текущим видеоблоком.
43. Способ согласно какой-либо одной или нескольким статьям 1 – 42, отличающийся тем, что указанная процедура обработки видео представляет собой реализацию на стороне кодирующего устройства.
44. Способ согласно какой-либо одной или нескольким статьям 1 – 42, отличающийся тем, что указанная процедура обработки видео представляет собой реализацию на стороне декодирующего устройства.
45. Устройство в видео системе, содержащее процессор и энергонезависимое запоминающее устройство с записанными в нем командами, при выполнении которых процессор осуществляет способ согласно какой-либо из статей 1 – 44.
46. Компьютерный программный продукт, сохраняемый на читаемых компьютером энергонезависимых носителях, этот компьютерный программный продукт содержит программный код для осуществления способа согласно какой-либо одной или нескольким из статей 1 – 45.
Вторая группа статей описывает некоторые признаки и аспекты способов, описываемых в предыдущем разделе, включая, например, Примеры реализаций 1, 8 и 10.
1. Способ обработки видео, содержащий: осуществление преобразования между текущим видеоблоком видео и кодированным представлением этого видео, где это кодированное представление содержит первый параметр, указывающий точность информации о движении из набора нескольких уровней точности для текущего видеоблока, который не использует точность по умолчанию для информации о движении, и/или второй параметр, который идентифицирует, используется ли альтернативный интерполяционный фильтр с точностью в половину пикселя для преобразования, и где каждый из этих параметров – первый параметр и/или второй параметр, ассоциирован с одним или более бинами, и кодирование на основе контекстной модели используется только для первого бина из указанного одного или более бинов в кодированном представлении.
2. Способ согласно статье 1, отличающийся тем, что информация о движении содержит по меньшей мере одно из: прогнозируемый вектор движения, разность векторов движения и вектор движения.
3. Способ согласно статье 1, отличающийся тем, что первый параметр представляет собой amvr_precision_idx.
4. Способ согласно статье 1, отличающийся тем, что точность информации о движении по умолчанию составляет 1/4-отсчета яркостной составляющей.
5. Способ согласно статье 1, отличающийся тем, что набор нескольких уровней точности содержит по меньшей мере одно из: 1/16-отсчета яркостной составляющей, 1/2-отсчета яркостной составляющей, 1 отсчет яркостной составляющей и/или 4 отсчета яркостной составляющей.
6. Способ согласно статье 1, отличающийся тем, что текущий блок кодируют в режиме межкадрового прогнозирования, в аффинном режиме межкадрового прогнозирования или в режиме внутрикадрового копирования блоков.
7. Способ согласно статье 1, отличающийся тем, что один контекст используется для первого бина первого параметра.
8. Способ согласно статье 1, отличающийся тем, что остальные бины подвергают обходному кодированию.
9. Способ согласно статье 1, отличающийся тем, что первый бин первого параметра и второй бин второго параметра подвергают обходному кодированию.
10. Способ согласно статье 1, отличающийся тем, что один контекст используется для первого бина второго параметра.
11. Способ согласно статье 1, отличающийся тем, что один контекст совместно используется всеми бинами первого параметра.
12. Способ согласно статье 1, отличающийся тем, что один контекст совместно используется всеми бинами второго параметра.
13. Способ согласно статье 1, отличающийся тем, что второй параметр имеет первое значение, указывающее использование интерполяционного фильтра по умолчанию с точностью в половину пикселя.
14. Способ согласно статье 1, отличающийся тем, что второй параметр имеет второе значение, указывающее использование альтернативного интерполяционного фильтра с точностью в половину пикселя.
15. Способ согласно статье 13, отличающийся тем, что интерполяционный фильтр по умолчанию с точностью в половину пикселя имеет набор коэффициентов [-1, 4, -11, 40, 40, -11, 4, -1].
16. Способ согласно статье 1, отличающийся тем, что альтернативный интерполяционный фильтр с точностью в половину пикселя имеет набор коэффициентов [0, 3, 9, 20, 20, 9, 3, 0].
17. Способ обработки видео, содержащий: определение, для преобразования между текущим видеоблоком видео и кодированным представлением этого видео, информации о движении с использованием интерполяционного фильтра, эта информация о движении имеет точность M целых пикселей или точность в 1/N долю пикселя, где M и N –положительные целые числа и N не равно 2; и осуществление преобразования на основе информации о движении; где поле синтаксиса в кодированном представлении соответствует интерполяционному фильтру.
18. Способ согласно статье 17, отличающийся тем, что N равно 4. В качестве альтернативы, в некоторых вариантах N равно 16.
19. Способ согласно статье 17, отличающийся тем, что, поскольку текущий видеоблок кодирован в режиме с адаптивным разрешением разности векторов движения (AMVR), кодированное представление содержит индекс интерполяционного фильтра.
20. Способ согласно статье 17, отличающийся тем, что, поскольку текущий видеоблок кодирован в режиме объединения и/или в режиме объединения с использованием разности векторов движения (MMVD), индекс интерполяционного фильтра не наследуется от предыдущего видеоблока.
21. Способ согласно статье 17, отличающийся тем, что, поскольку текущий видеоблок кодирован в режиме объединения и/или в режиме объединения с использованием разности векторов движения (MMVD), поле синтаксиса указывает интерполяционный фильтр по умолчанию.
22. Способ согласно статье 17, отличающийся тем, что для текущего видеоблока, кодированного в режиме объединения и/или в режиме объединения с использованием разности векторов движения (MMVD), индекс интерполяционного фильтра наследуется от предыдущего видеоблока.
23. Способ согласно статье 22, отличающийся тем, что информация о движении имеет точность на уровне долей пикселя.
24. Способ согласно статье 22, отличающийся тем, что информация о движении содержит один или несколько компонентов с точностью на уровне долей пикселя.
25. Способ согласно статье 22, отличающийся тем, что индекс интерполяционного фильтра ассоциирован исключительно с текущим видеоблоком и не ассоциирован с последующими видеоблоками.
26. Способ согласно статье 17, отличающийся тем, что M равно 1, 2 или 4.
27. Способ согласно статье 17, отличающийся тем, что интерполяционный фильтр представляет собой фильтр нижних частот.
28. Способ согласно статье 17, отличающийся тем, что интерполяционный фильтр представляет собой одномерный фильтр.
29. Способ согласно статье 28, отличающийся тем, что указанный одномерный фильтр представляет собой горизонтальный фильтр или вертикальный фильтр.
30. Способ согласно статье 17, отличающийся тем, что кодированное представление избирательно содержит флаг, указывающий, активизирован ли интерполяционный фильтр, имеющий точность M целых пикселей.
31. Способ согласно статье 30, отличающийся тем, что указанный флаг передают в виде сигнализации, если и только если текущий видеоблок кодируют с использованием векторов движения с точностью в целое число пикселей.
32. Способ согласно какой-либо из статей 1 – 31, отличающийся тем, что процедура преобразования содержит генерацию видео на основе кодированного представления.
33. Способ согласно какой-либо из статей 1 – 31, отличающийся тем, что процедура преобразования содержит генерацию кодированного представления на основе видео.
34. Устройство в видео системе, содержащее процессор и энергонезависимое запоминающее устройство с записанными в нем командами, при выполнении которых процессор осуществляет способ согласно какой-либо из статей 1 – 33.
35. Компьютерный программный продукт, сохраняемый на читаемых компьютером энергонезависимых носителях, этот компьютерный программный продукт содержит программный код для осуществления способа согласно какой-либо одной или нескольким из статей 1 – 35.
Третья группа статей описывает некоторые признаки и аспекты способов, описываемых в предыдущем разделе, включая, например, Примеры реализаций 2, 3, 5 и 6.
1. Способ обработки видео, содержащий: генерацию, для преобразования между текущим видеоблоком видео и кодированным представлением этого видео, первого кандидата движения на основе одного или нескольких кандидатов движения из списка кандидатов движения и одного или нескольких интерполяционных фильтров, ассоциированных с одним или несколькими кандидатами движения; где первому кандидату движения назначают интерполяционный фильтр в соответствии с неким правилом, которое зависит от одного или нескольких интерполяционных фильтров, ассоциированных с одним или несколькими кандидатами движения, вставку первого кандидата движения в список кандидатов движения; и осуществление преобразования на основе списка кандидатов движения.
2. Способ согласно статье 1, отличающийся тем, что указанный первый кандидат движения соответствует по меньшей мере одному из – одному из попарно объединяемых кандидатов, комбинируемому объединяемому кандидату, кандидату с нулевым вектором движения и/или другими кандидатами по умолчанию.
3. Способ согласно статье 1, отличающийся тем, что каждый кандидат движения ассоциирован с индексом интерполяционного фильтра с точностью в половину пикселя, и интерполяционный фильтр с точностью в половину пикселя для первого кандидата движения определяют на основе индексов интерполяционных фильтров с точностью в половину пикселя по меньшей мере для двух кандидатов движения.
4. Способ согласно статье 1, отличающийся тем, что, для двух кандидатов движения, ассоциированных с одним и тем же интерполяционным фильтром с точностью в половину пикселя, указанное правило специфицирует, что тот же самый интерполяционный фильтр с точностью в половину пикселя унаследован первым кандидатом движения.
5. Способ согласно статье 4, отличающийся тем, что тот же самый интерполяционный фильтр соответствует альтернативному интерполяционному фильтру с точностью в половину пикселя, ассоциированному с равным 1 индексом интерполяционного фильтра с точностью в половину пикселя, альтернативный интерполяционный фильтр с точностью в половину пикселя, отличный от интерполяционного фильтра по умолчанию с точностью в половину пикселя, ассоциирован с равным 0 индексом интерполяционного фильтра с точностью в половину пикселя.
6. Способ согласно статье 1, отличающийся тем, что для одного из кандидатов движения, не ассоциированного с интерполяционным фильтром по умолчанию, указанное правило специфицирует, что этот интерполяционный фильтр унаследован первым кандидатом движения.
7. Способ согласно статье 6, отличающийся тем, что указанный интерполяционный фильтр используется только для соответствующего направления прогнозирования.
8. Способ согласно статье 1, отличающийся тем, что, когда два кандидата движения ассоциированы с разными интерполяционными фильтрами, указанное правило специфицирует, что эти разные интерполяционные фильтры унаследованы первым кандидатом движения.
9. Способ согласно статье 1, отличающийся тем, что для разных направлений прогнозирования используют разные интерполяционные фильтры.
10. Способ согласно статье 1, отличающийся тем, что номер первого кандидата движения, назначенный которому интерполяционный фильтр соответствует альтернативному интерполяционному фильтру, не больше K, где K не меньше 0.
11. Способ согласно статье 1, отличающийся тем, что интерполяционный фильтр по умолчанию всегда используется для первого кандидата движения.
12. Способ обработки видео, содержащий: ассоциирование, с каждым из совокупности нескольких блоков, содержащей первый блок в первой видеообласти и второй блок во второй видеообласти видео, информации о движении, содержащей информацию о соответствующем интерполяционном фильтре, используемом для интерполяции информации о разностях векторов движения для каждого из указанной совокупности нескольких блоков; и осуществление преобразования между видео и кодированным представлением видео с использованием информации о движении.
13. Способ согласно статье 12, отличающийся тем, что информация о движении содержит информацию, указывающую использование интерполяционного фильтра по умолчанию для движения.
14. Способ согласно статье 12, отличающийся тем, что указанная информация о движении идентифицирует альтернативный интерполяционный фильтр, отличный от интерполяционного фильтра по умолчанию.
15. Способ согласно статье 12, отличающийся тем, что указанная информация о движении содержит один или несколько векторов движения и один или несколько индексов опорных кадров.
16. Способ согласно какой-либо из статей 12 – 15, отличающийся тем, что указанные первая видеообласть и вторая видеообласть представляют собой строки единиц дерева кодирования.
17. Способ согласно какой-либо из статей 12 – 15, отличающийся тем, что указанные первая видеообласть и вторая видеообласть представляют собой единицы данных виртуального конвейера
18. Способ согласно какой-либо из статей 12 – 17, отличающийся тем, что указанные первая видеообласть и вторая видеообласть являются разными областями.
19. Способ согласно какой-либо из статей 12 – 18, отличающийся тем, что второй блок кодируют или декодируют посредством доступа к первому блоку, и отличающийся тем, что информация о движении формируется согласно некоторому правилу, специфицирующему, что не допускается, чтобы интерполяционный фильтр, используемый для второго блока, был таким же, как интерполяционный фильтр, используемый для первого блока, в случае, когда первая видеообласть отличается от второй видеообласти.
20. Способ согласно какой-либо из статей 12 – 17, отличающийся тем, что первая видеообласть и вторая видеообласть одинаковы.
21. Способ обработки видео, содержащий: осуществление преобразования между текущим видеоблоком видео и кодированным представлением этого видео, где текущий видеоблок представляют в этом кодированном представлении с использованием режима объединения или режима объединения с использованием разности векторов движения (MMVD), где интерполяционный фильтр с точностью 1/N используется для интерполяции блока прогнозирования, ассоциированного с текущим видеоблоком, в соответствии с некоторым правилом, где N – положительное целое число; где указанное правило определяет условие для наследования информации об интерполяции, когда интерполяционный фильтр представляет собой альтернативный интерполяционный фильтр, отличный от интерполяционного фильтра по умолчанию.
22. Способ согласно статье 21, отличающийся тем, что указанное правило определяет, когда следует не допустить наследования коэффициентов альтернативного интерполяционного фильтра.
23. Способ согласно статье 21, отличающийся тем, что синтаксический элемент в кодированном представлении всегда обозначает интерполяционный фильтр по умолчанию.
24. Способ согласно статье 21, отличающийся тем, что указанное правило определяет, когда следует допустить наследование коэффициентов альтернативного интерполяционного фильтра.
25. Способ согласно статье 24, отличающийся тем, что коэффициенты альтернативного интерполяционного фильтра наследуются, когда конечные выведенные векторы движения имеют точность в половину пикселя (1/2-pel) и отсутствуют компоненты вектора движения, обладающие более высокой точностью.
26. Способ согласно статье 24, отличающийся тем, что коэффициенты альтернативного интерполяционного фильтра наследуются, когда конечные выведенные векторы движения имеют один или несколько компонентов, обладающих точностью в половину пикселя (1/2-pel).
27. Способ согласно статье 24, отличающийся тем, что альтернативный интерполяционный фильтр используется только для компенсации движения.
28. Способ согласно статье 24, отличающийся тем, что индекс интерполяционного фильтра по умолчанию сохраняется для текущего видеоблока и используется кодированными блоками, следующими после текущего видеоблока.
29. Способ обработки видео, содержащий: обработку текущего видеоблока в процессе преобразования между видео, содержащим этот текущий видеоблок, и кодированным представлением этого видео; и сравнение и избирательное обновление списка объединяемых кандидатов с использованием информации о движении текущего видеоблока, где такая информация о движении содержит информацию интерполяционного фильтра; где эта информация интерполяционного фильтра содержит параметры интерполяционного фильтра, используемого для интерполяции значений разностей векторов движения, применяемых для представления текущего видеоблока в кодированном представлении.
30. Способ согласно статье 29, отличающийся тем, что два объединяемых кандидата, ассоциированных с разными интерполяционными фильтрами, рассматриваются как два разных объединяемых кандидата.
31. Способ согласно статье 29, отличающийся тем, что процедура сравнения и избирательного обновления списка объединяемых кандидатов содержит вставку объединяемого кандидата с прогнозированием вектора движения на основе предыстории (HMVP) в список объединяемых кандидатов с учетом информации интерполяционного фильтра.
32. Способ согласно статье 29, отличающийся тем, что процедура сравнения и избирательного обновления списка объединяемых кандидатов содержит вставку объединяемого кандидата с прогнозированием вектора движения на основе предыстории (HMVP) в список объединяемых кандидатов без учета информации интерполяционного фильтра.
33. Способ согласно какой-либо из статей 1 – 32, отличающийся тем, что интерполяционный фильтр по умолчанию для движения имеет набор коэффициентов [-1, 4, -11, 40, 40, -11, 4, -1].
34. Способ согласно какой-либо из статей 1 – 32, отличающийся тем, что альтернативный интерполяционный фильтр имеет набор коэффициентов [0, 3, 9, 20, 20, 9, 3, 0].
35. Способ согласно какой-либо из статей 1 – 34, отличающийся тем, что процедура преобразования содержит генерацию кодированного представления из текущего видеоблока.
36. Способ согласно какой-либо из статей 1 – 34, отличающийся тем, что процедура преобразования содержит генерацию текущего видеоблока из кодированного представления.
37. Устройство в видео системе, содержащее процессор и энергонезависимое запоминающее устройство с записанными в нем командами, при выполнении которых процессор осуществляет способ согласно какой-либо из статей 1 – 36.
38. Компьютерный программный продукт, сохраняемый на читаемых компьютером энергонезависимых носителях, этот компьютерный программный продукт содержит программный код для осуществления способа согласно какой-либо одной или нескольким из статей 1 – 36.
Четвертая группа статей описывает некоторые признаки и аспекты способов, описываемых в предыдущем разделе, включая, например, Пример реализации 4.
1. Способ обработки видео, содержащий: поддержание, прежде преобразования между текущим видеоблоком видео и кодированным представлением этого видео, по меньшей мере одной таблицы прогнозирования вектора движения на основе предыстории (HMVP), где эта таблица прогнозирования HMVP содержит одну или несколько позиций, соответствующих информации о движении одного или нескольких ранее обработанных блоков; и осуществление преобразования с использованием по меньшей мере одной таблицы прогнозирования HMVP; и где информация о движении из каждой позиции конфигурирована, чтобы содержать информацию интерполяционного фильтра для одного или нескольких ранее обработанных блоков, где информация интерполяционного фильтра указывает интерполяционные фильтры, используемые для интерполяции блоков прогнозирования одного или нескольких ранее обработанных блоков.
2. Способ обработки видео, содержащий: поддержание, прежде преобразования между текущим видеоблоком видео и кодированным представлением этого видео, по меньшей мере одной таблицы прогнозирования вектора движения на основе предыстории (HMVP), содержащий одну или несколько позиций, соответствующих информации о движении одного или нескольких ранее обработанных блоков, и где информация о движении для каждой позиции конфигурирована так, чтобы содержать информацию интерполяционного фильтра для одного или нескольких ранее обработанных блоков; построение, для преобразования, списка кандидатов движения, содержащего объединяемого кандидата для прогнозирования HMVP, где этого кандидата для прогнозирования HMVP получают путем наследования одной позиции из таблицы прогнозирования HMVP, включая соответствующую информацию интерполяционного фильтра, ассоциированную с этой одной позицией; и осуществление преобразования на основе списка кандидатов движения.
3. Способ согласно статье 1 или 2, способ дополнительно содержит обновление, избирательно после преобразования, таблицы прогнозирования HMVP.
4. Способ согласно статье 1 или 2, способ дополнительно содержит обновление избирательно таблицы прогнозирования HMVP с использованием информации о движении, полученной в процессе преобразования для текущего видеоблока, где информация о движении, полученная для текущего видеоблока, содержит информацию интерполяционного фильтра для этого текущего видеоблока.
5. Способ согласно статье 3 или 4, отличающийся тем, что процедура обновления содержит определение, следует ли вставить нового кандидата в таблицу прогнозирования HMVP, без учета информации интерполяционного фильтра.
6. Способ согласно статье 4, отличающийся тем, что новый кандидат и позиция в таблице прогнозирования HMVP прежде обновления, имеющие разную информацию интерполяционного фильтра, но одинаковую часть или всю остальную информацию о движении, исключая информацию интерполяционного фильтра, рассматриваются как один и тот же кандидат.
7. Способ согласно статье 3 или 4, отличающийся тем, что процедура обновления содержит определение, следует ли вставить нового кандидата в таблицу прогнозирования HMVP, путем рассмотрения информации интерполяционного фильтра.
8. Способ согласно статье 7, отличающийся тем, что новый кандидат и позиция в таблице прогнозирования HMVP прежде обновления, имеющие одинаковую часть или всю остальную информацию о движении, исключая информацию интерполяционного фильтра, рассматриваются как два разных кандидата.
9. Способ согласно какой-либо из статей 5 – 8, отличающийся тем, что указанного нового кандидата получают на основе информации о движении для текущего видеоблока;
10. Способ согласно какой-либо из статей 5 – 8, отличающийся тем, что процедура обновления содержит, для нового кандидата, отличного от позиций в таблице прогнозирования HMVP, добавление такого нового кандидата в эту таблицу прогнозирования HMVP.
11. Способ согласно какой-либо из статей 5 – 8, отличающийся тем, что процедура обновления содержит, для нового кандидата, совпадающего с одной из позиций таблицы прогнозирования HMVP, исключение этой позиции из таблицы прогнозирования HMVP и добавление такого нового кандидата в указанную таблицу прогнозирования HMVP.
12. Способ согласно какой-либо из статей 1 – 11, отличающийся тем, что информация интерполяционного фильтра содержит индекс интерполяционного фильтра с точностью в половину отсчета, который указывает использование альтернативного интерполяционного фильтра или интерполяционного фильтра по умолчанию.
13. Способ согласно статье 12, отличающийся тем, что индекс интерполяционного фильтра с точностью в половину отсчета равен 0 для индикации использования интерполяционного фильтра по умолчанию.
14. Способ согласно статье 12, отличающийся тем, что индекс интерполяционного фильтра с точностью в половину отсчета равен 1 для индикации использования альтернативного интерполяционного фильтра.
15. Способ согласно статье 12, отличающийся тем, что интерполяционный фильтр по умолчанию имеет набор коэффициентов [-1, 4, -11, 40, 40, -11, 4, -1].
16. Способ согласно статье 12, отличающийся тем, что the альтернативный интерполяционный фильтр имеет набор коэффициентов [0, 3, 9, 20, 20, 9, 3, 0].
17. Способ согласно какой-либо из статей 1 – 16, отличающийся тем, что процедура преобразования содержит генерацию кодированного представления из текущего видеоблока.
18. Способ согласно какой-либо из статей 1 – 16, отличающийся тем, что процедура преобразования содержит генерацию текущего видеоблока из кодированного представления.
19. Устройство в видео системе, содержащее процессор и энергонезависимое запоминающее устройство с записанными в нем командами, при выполнении которых процессор осуществляет способ согласно какой-либо из статей 1 – 18.
20. Компьютерный программный продукт, сохраняемый на читаемых компьютером энергонезависимых носителях, этот компьютерный программный продукт содержит программный код для осуществления способа согласно какой-либо одной или нескольким из статей 1 – 18.
Пятая группа статей описывает некоторые признаки и аспекты способов, описываемых в предыдущем разделе, включая, например, Примеры реализации 7 и 11-12.
1. Способ кодирования видео, содержащий: принятие решения о режиме кодирования, используемом для представления текущего видеоблока видео в кодированном представлении этого видео; и кодирование текущего видеоблока с преобразованием в кодированное представление в соответствии с режимом кодирования, где использование точности в половину пикселя для представления информации о движении не активизируют для текущего видеоблока вследствие использования указанного режима кодирования.
2. Способ декодирования видео, содержащий: синтаксический анализ кодированного представления видео с целью определения, что текущий видеоблок видео кодирован с использованием некоторого режима кодирования; и генерацию декодированного представления текущего видеоблока на основе указанного кодированного представления согласно указанному режиму кодированию, где использование точности в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования.
3. Способ согласно статье 1 или 2, отличающийся тем, что указанная информация о движении соответствует одному или нескольким векторам движения для текущего видеоблока.
4. Способ согласно статье 1 или 2, отличающийся тем, что указанная информация о движении соответствует одному или более значениям разностей векторов движения для текущего видеоблока.
5. Способ согласно статье 1 или 2, отличающийся тем, что указанная информация о движении соответствует одному или нескольким векторам движения для текущего видеоблока и одному или более значениям разностей векторов движения для текущего видеоблока.
6. Способ согласно какой-либо из статей 1 – 4, отличающийся тем, что, вследствие использования указанного режима кодирования указанное кодированное представление исключает биты и/или бины для передачи в виде сигнализации, применимо ли разрешение в половину пикселя к текущему видеоблоку.
7. Способ согласно какой-либо из статей 1 – 6, отличающийся тем, что указанный режим кодирования соответствует режиму с внутрикадровым копированием блоков (IBC), который генерирует блок прогнозирования с использованием по меньшей мере блочного вектора, указывающего на видео кадр, содержащий текущий видеоблок, с целью кодирования этого текущего видеоблока.
8. Способ согласно статье 7, отличающийся тем, что индикацию интерполяционного фильтра с точностью в половину пикселя не передают в виде сигнализации.
9. Способ согласно статье 1, отличающийся тем, что указанный режим кодирования соответствует режиму, в котором текущий видеоблок разбивают на две части, каждая часть ассоциирована с одним кандидатом движения, и из одного и того же списка кандидатов движения выводят двух кандидатов движения.
10. Способ согласно статье 9, отличающийся тем, что указанный режим кодирования соответствует треугольному режиму прогнозирования.
11. Способ согласно статье 1, отличающийся тем, что указанный режим кодирования соответствует режиму объединения, в котором текущий видеоблок и соседние блоки совместно используют информацию о движении.
12. Способ обработки видео, содержащий: определение, что для текущего видеоблока, обрабатываемого с использованием режима обобщенного двунаправленного прогнозирования (GBi), следует использовать первый весовой коэффициент и второй, отличный от первого весовой коэффициент для первого блока прогнозирования и второго блока прогнозирования, соответственно, эти первый весовой коэффициент и второй весовой коэффициент выбирают из наборов весовых коэффициентов; и осуществление преобразования между текущим видеоблоком видео и кодированным представлением этого видео с использованием конечного предиктора, где первый набор весовых коэффициентов, используемый для режима межкадрового прогнозирования, отличается от второго набора весовых коэффициентов, используемого для аффинного режима межкадрового прогнозирования.
13. Способ согласно статье 12, отличающийся тем, что сумма первого весового коэффициента и второго весового коэффициента равна 1.
14. Способ согласно статье 12, отличающийся тем, что указанные наборы весовых коэффициентов сообщают в виде сигнализации в наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке группы плиток или заголовке среза, ассоциированного с текущим видеоблоком.
15. Способ согласно статье 12, отличающийся тем, что указанные наборы весовых коэффициентов задают предварительно.
16. Способ обработки видео, содержащий: определение, для преобразования между несколькими видео единицами видеообласти видео и кодированным представлением этих нескольких видео единиц, информации относительно интерполяционного фильтра в зависимости от режима кодирования видео единицы, этот интерполяционный фильтр используется для интерполяции значений разностей векторов движения в кодированном представлении и имеет точность M целых пикселей или точность 1/N долю пикселя, где M и N – положительные целые числа; и осуществление преобразования с использованием этого интерполяционного фильтра.
17. Способ согласно статье 16, отличающийся тем, что процедура определения осуществляет определение первого набора коэффициентов интерполяционного фильтра для видео единицы, кодированной в аффинном режиме, и отличающийся тем, что процедура определения осуществляет определение второго, отлично от первого набора коэффициентов интерполяционного фильтра для другой видео единицы, кодированной в неаффинном режиме.
18. Способ согласно статье 16, отличающийся тем, что процедура определения осуществляет определение первого набора коэффициентов интерполяционного фильтра для видео единицы, кодированной в режиме копирования IBC, и отличающийся тем, что процедура определения осуществляет определение второго, отличного от первого набора коэффициентов для интерполяции другой видео единицы, кодированной не в режиме IBC.
19. Способ согласно какой-либо из статей 1 – 18, отличающийся тем, что процедура преобразования содержит генерацию кодированного представления на основе текущего видеоблока.
20. Способ согласно какой-либо из статей 1 – 18, отличающийся тем, что процедура преобразования содержит генерацию текущего видеоблока на основе кодированного представления.
21. Устройство в видео системе, содержащее процессор и энергонезависимое запоминающее устройство с записанными в нем командами, при выполнении которых процессор осуществляет способ согласно какой-либо из статей 1 – 20.
22. Компьютерный программный продукт, сохраняемый на читаемых компьютером энергонезависимых носителях, этот компьютерный программный продукт содержит программный код для осуществления способа согласно какой-либо одной или нескольким из статей 1 – 20.
Шестая группа статей описывает некоторые признаки и аспекты способов, описываемых в предыдущем разделе, включая, например, Пример реализации 9.
1. Способ кодирования видео, содержащий: принятие решения о режиме кодирования, используемом для представления текущего видеоблока видео в форме кодированного представления видео; и кодирование текущего видеоблока с преобразованием в кодированное представление в соответствии с режимом кодирования, где использование альтернативных фильтров с точностью в половину пикселя в дополнение к фильтру по умолчанию с точностью в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования.
2. Способ декодирования видео, содержащий: синтаксический анализ кодированного представления видео для определения, что текущий видеоблок видео кодирован с использованием некого режима кодирования; и генерацию декодированного представления текущего видеоблока на основе кодированного представления в соответствии с указанным режимом кодирования, где использование альтернативных фильтров с точностью в половину пикселя в дополнение к фильтру по умолчанию с точностью в половину пикселя для представления информации о движении не активизировано для текущего видеоблока вследствие использования указанного режима кодирования.
3. Способ согласно статье 1 или 2, отличающийся тем, что указанный режим кодирования соответствует режиму треугольного прогнозирования, в котором видеоблок разбит на несколько частей, по меньшей мере одна из которых имеет непрямоугольную форму.
4. Способ согласно статье 3, отличающийся тем, что информация относительно альтернативного фильтра с точностью в половину пикселя не наследуется в режиме треугольного прогнозирования, и используется только фильтр по умолчанию с точностью в половину пикселя.
5. Способ согласно статье 1 или 2, отличающийся тем, что указанный режим кодирования соответствует двунаправленному оптическому потоку (BDOF), в котором текущий блок прогнозируют двунаправленным способом.
6. Способ согласно статье 1 или 2, отличающийся тем, что указанный режим кодирования соответствует режиму уточнения векторов движения на стороне декодирующего устройства (DMVR), в котором уточняют информацию прогнозирования на основе информации о движении, полученной на стороне декодирующего устройства.
7. Способ согласно статье 1 или 2, отличающийся тем, что указанный режим кодирования соответствует режиму определения вектора движения на стороне декодирующего устройства (DMVD), что определяет информацию о движении на стороне декодирующего устройства.
8. Способ согласно статье 1 или 2, отличающийся тем, что указанный режим кодирования соответствует комбинированному режиму межкадрового-внутрикадрового прогнозирования (CIIP), в котором комбинируют межкадровое и внутрикадровое прогнозирование для генерации конечного прогнозированного сигнала.
9. Способ согласно статье 1 или 2, отличающийся тем, что указанный режим кодирования соответствует режиму симметричной разности векторов движения (SMVD), в котором симметрично обрабатывают разность векторов движения.
10. Способ согласно статье 1 или 2, отличающийся тем, что указанный режим кодирования соответствует режиму SBT (преобразование субблоков), который трансформирует субблок в преобразованный блок.
11. Способ кодирования видео, содержащий: определение, что поскольку использование альтернативного интерполяционного фильтра активизировано для видеоблока видео, некий режим кодирования недопустим для кодирования видеоблока с преобразованием в кодированное представление видео; и генерацию кодированного представления видеоблока на основе результата определения, где альтернативный интерполяционный фильтр используется для интерполяции блоков межкадрового прогнозирования для текущего видеоблока.
12. Способ декодирования видео, содержащий: определение, что поскольку использование альтернативного интерполяционного фильтра активизировано для видеоблока видео, использование некоего режима кодирования для представления этого видеоблока в кодированном представлении видео недопустимо; и генерацию декодированного видеоблока посредством синтаксического анализа кодированного представления на основе результата определения.
13. Способ согласно статье 11 или 12, отличающийся тем, что указанный альтернативный интерполяционный фильтр представляет собой альтернативный интерполяционный фильтр с точностью в половину отсчета.
14. Способ согласно статье 11, отличающийся тем, что процедура определения осуществляет определение, что следует не допускать режим кодирования, соответствующий режиму кодирования, в котором текущий видеоблок разделяют на две части, каждая часть ассоциирована с одним кандидатом движения, и из одного и того же списка кандидатов движения выводят двух кандидатов движения.
15. Способ согласно статье 14, отличающийся тем, что указанный режим кодирования соответствует режиму треугольного прогнозирования.
16. Способ согласно статье 13 или 14, отличающийся тем, что информация относительно альтернативного интерполяционного фильтра не наследуется в указанном режиме кодирования, а используется только интерполяционный фильтр по умолчанию с точностью в половину отсчета.
17. Способ согласно статье 11 или 12, отличающийся тем, что процедура определения осуществляет определение, что следует не допустить режим кодирования, соответствующий двунаправленному оптическому потоку (BDOF), в котором (режиме) текущий блок подвергают двунаправленному прогнозированию.
18. Способ согласно статье 17, отличающийся тем, что процедура определения осуществляет определение, что следует не допустить режим кодирования, соответствующий процедуре уточнения векторов движения на стороне декодирующего устройства (DMVR), которая уточняет информацию о прогнозировании на основе информации о движении, полученной на стороне декодирующего устройства.
19. Способ согласно статье 12, отличающийся тем, что процедура определения осуществляет определение, что следует не допустить режим кодирования, соответствующий процедуре определения вектора движения на стороне декодирующего устройства (DMVD), которая определяет информацию о движении на стороне декодирующего устройства.
20. Способ согласно статье 11, отличающийся тем, что процедура определения осуществляет определение, что следует не допустить режим кодирования, соответствующий режиму комбинированного межкадрового-внутрикадрового прогнозирования (CIIP), в котором комбинируют межкадровое и внутрикадровое прогнозирование для генерации конечного прогнозируемого сигнала.
21. Способ согласно статье 20, отличающийся тем, что флаг комбинированного режима прогнозирования CIIP пропускают и признают ложным в случае, когда объединяемый кандидат наследует интерполяционный фильтр.
22. Способ согласно статье 20, отличающийся тем, что интерполяционный фильтр по умолчанию всегда используется, когда флаг режима комбинированного прогнозирования CIIP является истинным.
23. Способ согласно статье 11, отличающийся тем, что процедура определения осуществляет определение, что следует не допустить режим кодирования, соответствующий использованию режима SMVD (симметричная разность векторов движения), который симметрично обрабатывает разности векторов движения.
24. Способ согласно статье 23, отличающийся тем, что интерполяционный фильтр по умолчанию всегда используется при применении режима SMVD симметричных разностей и отличающийся тем, что синтаксический элемент относительно этого интерполяционного фильтра не передают в виде сигнализации.
25. Способ согласно статье 23, отличающийся тем, что синтаксический элемент, относящийся к интерполяционному фильтру, указывает, что интерполяционный фильтр не используется, а синтаксический элемент, относящийся к режиму SMVD симметричных разностей, не передают в виде сигнализации, и режим SMVD не используется.
26. Способ согласно статье 12, отличающийся тем, что процедура определения осуществляет определение, что следует не допустить режим кодирования, соответствующий процедуре SBT (преобразование субблоков), которая трансформирует субблок и превращает его в преобразованный блок.
27. Способ согласно статье 26, отличающийся тем, что интерполяционный фильтр по умолчанию всегда используется в режиме преобразования SBT, и синтаксический элемент, относящийся к интерполяционному фильтру, не передают в виде сигнализации.
28. Способ согласно статье 26, отличающийся тем, что синтаксический элемент, относящийся к интерполяционному фильтру, указывает, что интерполяционный фильтр не используется, синтаксический элемент, относящийся к преобразованию SBT, не передают в виде сигнализации, и режим преобразования SBT не используется.
29. Способ согласно статье 11, отличающийся тем, что процедура генерации кодированного представления содержит генерацию этого кодированного представления посредством кодирования видеоблока с использованием режима треугольного кодирования, в каком видеоблок разбивают на несколько фрагментов, так что по меньшей мере один из этих фрагментов является непрямоугольным.
30. Способ согласно статье 29, отличающийся тем, что информацию относительно интерполяционного фильтра наследуют в режиме треугольного кодирования.
31. Способ согласно статье 11, отличающийся тем, что процедура генерации кодированного представления содержит генерацию этого кодированного представления путем исключения синтаксических элементов, сигнализирующих использование режима кодирования.
32. Способ согласно статье 12, отличающийся тем, что процедура синтаксического анализа кодированного представления содержит синтаксический анализ этого кодированного представления в отсутствие синтаксических элементов, сигнализирующих использование режима кодирования.
33. Устройство в видео системе, содержащее процессор и энергонезависимое запоминающее устройство с записанными в нем командами, при выполнении которых процессор осуществляет способ согласно какой-либо из статей 1 – 32.
34. Компьютерный программный продукт, сохраняемый на читаемых компьютером энергонезависимых носителях, этот компьютерный программный продукт содержит программный код для осуществления способа согласно какой-либо одной или нескольким из статей 1 – 32.
В некоторых вариантах, описанные выше способы могут быть реализованы посредством устройства, содержащего процессор, конфигурируемый для осуществления соответствующего способа.
Предлагаемые и другие решения, примеры, варианты, модули и функциональные операции, описываемые в этом документе, могут быть реализованы в цифровой электронной схеме или в компьютерном загружаемом программном обеспечении, встроенном программном обеспечении или аппаратуре, включая структуры, рассматриваемые в настоящем документе, и их структурные эквиваленты, либо в комбинации одного или нескольких перечисленных компонентов. Рассмотренные и другие варианты могут быть реализованы в одном или нескольких компьютерных программных продуктах, т.е. в одном или нескольких модулях компьютерных программных команд, закодированных на читаемом компьютером носителе информации для выполнения посредством устройства обработки данных или для управления работой этого устройства обработки данных. Этот читаемый компьютером носитель может представлять собой машиночитаемое устройство для хранения информации, машиночитаемую подложку для хранения информации, запоминающее устройство, композицию объектов, генерирующую машиночитаемый распространяющийся сигнал, или комбинацию одного или нескольких перечисленных объектов. Термин «устройство обработки данных» охватывает все устройства, аппаратуру и машины для обработки данных, включая, например, программируемый процессор, компьютер, либо нескольких процессоров или компьютеров. Такое устройство может содержать, в дополнение к аппаратуре, код, создающий среду для выполнения рассматриваемой компьютерной программы, например, код, составляющий встроенное программное обеспечение процессора, стек протоколов, систему управления базой данных, операционную систему или комбинацию одного или нескольких перечисленных объектов. Распространяющийся сигнал представляет собой искусственно генерируемый сигнал, например, генерируемый машиной электрический, оптический или электромагнитный сигнал, генерируемый для кодирования информации с целью передачи подходящему приемному устройству.
Компьютерная программа (также известная как программа, программное обеспечение, программное приложение, сценарий (скрипт) или код) может быть написана на каком-либо языке программирования, включая компилируемые или интерпретируемые языки, и может быть развернута в любой форме, включая автономную программу или в виде модуля, компонента, подпрограммы или другой единицы, подходящей для использования в компьютерной среде. Компьютерная программа необязательно соответствует файлу в файловой системе. Программа может быть сохранена в части файла, который содержит также другие программы или данные (например, один или несколько сценариев сохраняются в документе на языке разметки), в одном файле, специально предназначенном только для рассматриваемой программы, или в нескольких координированных файлах (например, в файлах, сохраняющих один или несколько модулей, подпрограмм или фрагментов кода). Компьютерная программа может быть развернута для выполнения на одном компьютере или на нескольких компьютерах, расположенных в одном пункте или распределенных по нескольким пунктам и соединенных посредством сети связи.
Процедуры и логические схемы, описываемые в настоящем документе, могут быть осуществлены одним или несколькими программируемыми процессорами, выполняющими одну или несколько компьютерных программ для реализации функций путем оперирования над входными данными и генерации выходных данных. Эти процедуры и логические схемы могут также быть осуществлены посредством, и аппаратура может также быть реализована в виде, логической схемы специального назначения, например, программируемой пользователем вентильной матрицы (FPGA (field programmable gate array)) или специализированной интегральной схемы (ASIC (application specific integrated circuit)).
К процессорам, подходящим для выполнения компьютерной программы, относятся, например, микропроцессоры общего и специального назначения и какие-либо один или несколько процессоров цифрового компьютера какого-либо типа. В общем случае, процессор будет принимать команды и данные из постоянного запоминающего устройства и/или из запоминающего устройства с произвольной выборкой. Основными элементами компьютера являются процессор для выполнения команд и одно или несколько запоминающих устройств для сохранения команд и данных. В общем случае, компьютер должен также содержать или быть оперативно связанным для приема данных и/или для передачи данных, одно или несколько запоминающих устройств большой емкости для хранения данных, например, магнитные устройства, магнитооптические диски или оптические диски. Однако компьютеру необязательно иметь такие устройства. К читаемым компьютером носителям для сохранения команд компьютерных программ и данных относятся все формы энергонезависимых запоминающих устройств и носителей информации, включая, например, полупроводниковые запоминающие устройства, например, стираемое, программируемое постоянное запоминающее устройство (СППЗУ (EPROM)), электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ (EEPROM)) и устройства флэш-памяти; магнитные диски, например, встроенные жесткие диски или съемные диски; магнитооптические диски; и диски CD ROM и DVD-ROM. Процессор и запоминающее устройство могут быть дополнены или встроены в логическую схему специального назначения.
Хотя настоящий патентный документ содержит много конкретных деталей, их не следует толковать в качестве ограничений объема какого-либо предмета изобретения или того, что может быть заявлено в Формуле изобретения, а всего лишь как описание признаков, которые могут быть специфичны для конкретных вариантов конкретных способов. Некоторые признаки, описываемые в настоящем патентном документе в контексте раздельных вариантов, могут также быть реализованы в сочетании в одном варианте. Напротив, различные признаки, описываемые в контексте одного варианта, могут также быть реализованы в нескольких вариантах по отдельности или в какой-либо подходящей субкомбинации. Более того, хотя признаки могут быть описаны выше как действующие в некоторых комбинациях и даже первоначально заявлены таковыми, один или несколько признаков из заявленной комбинации могут, в некоторых случаях, быть исключены из такой комбинации, и заявленная комбинация может быть превращена в субкомбинацию или в вариацию субкомбинации.
Аналогично, хотя операции показаны на чертежах в конкретном порядке, это не следует понимать как требование, чтобы такие операции всегда осуществлялись именно в показанном конкретном порядке, или в последовательном порядке, или чтобы все показанные операции были выполнены, для достижения желаемого результата. Более того, разделение разнообразных компонентов системы в описываемых в настоящем патентном документе вариантах не следует понимать как требование такого разделения во всех вариантах.
Здесь описано только небольшое число реализаций и примеров, но и другие варианты реализации, усовершенствования и вариации могут быть сделаны на основе того, что описано и иллюстрируется в настоящем патентном документе.
Изобретение относится к способам, устройствам и системам для обработки видео. Техническим результатом является повышение эффективности кодирования видео. Результат достигается тем, что поддерживают, до преобразования между текущим видеоблоком видео и кодированным представлением видео, по меньшей мере одну таблицу прогнозирования вектора движения на основе предыстории (HMVP), причем таблица прогнозирования HMVP содержит одну или более позиций, соответствующих информации о движении одного или более ранее обработанных блоков; и выполняют преобразование с использованием указанной по меньшей мере одной таблицы прогнозирования HMVP; причем информация о движении для каждой позиции выполнена так, чтобы содержать информацию интерполяционного фильтра для указанного одного или более ранее обработанных блоков, при этом информация интерполяционного фильтра указывает интерполяционные фильтры, используемые для интерполяции блоков прогнозирования для указанного одного или более ранее обработанных блоков. 4 н. и 11 з.п. ф-лы, 28 ил., 2 табл.
1. Способ обработки видео, содержащий этапы, на которых:
поддерживают, до преобразования между текущим видеоблоком видео и потоком битов данных видео, по меньшей мере одну таблицу прогнозирования вектора движения на основе предыстории (HMVP), причем таблица прогнозирования HMVP содержит одну или более позиций, соответствующих информации о движении одного или более ранее обработанных блоков, причем каждая позиция дополнительно выполнена так, чтобы включать в себя информацию интерполяционного фильтра для указанного одного или более ранее обработанных блоков, причем информация интерполяционного фильтра указывает по меньшей мере один интерполяционный фильтр, используемый для блоков прогнозирования из указанного одного или более ранее обработанных блоков;
строят, для указанного преобразования, список кандидатов движения, содержащий кандидата прогнозирования HMVP, причем кандидата прогнозирования HMVP определяют путем наследования одной позиции из таблицы прогнозирования HMVP, причем наследование содержит наследование информации интерполяционного фильтра, ассоциированной с указанной одной позицией; и
выполняют указанное преобразование на основе списка кандидатов движения.
2. Способ по п. 1, в котором на этапе поддержания по меньшей мере одной таблицы прогнозирования HMVP:
избирательно обновляют указанную по меньшей мере одну таблицу прогнозирования HMVP путем вставки нового кандидата в указанную по меньшей мере одну таблицу прогнозирования HMVP,
причем указанного нового кандидата определяют на основе информации о движении без учета информации интерполяционного фильтра о том, что указанный новый кандидат является тем же самым кандидатом, что и один кандидат, соответствующий одной позиции в таблице прогнозирования HMVP.
3. Способ по п. 2, в котором в ответ на то, что указанный новый кандидат и указанный один кандидат имеют одинаковую информацию о движении, но разную информацию интерполяционного фильтра, определяют, что указанный новый кандидат является тем же самым кандидатом, что и указанный один кандидат.
4. Способ по любому из пп. 1-3, в котором список кандидатов движения содержит одного или более первых кандидатов движения и второго кандидата движении, которого определяют из указанного одного или более первых кандидатов движения, которые были добавлены в список кандидатов движения,
при этом генерируется информация второго интерполяционного фильтра, назначенная второму кандидату движения, на основе информации об одном или более первых интерполяционных фильтрах, назначенной указанному одному или более первым кандидатам движения.
5. Способ по п. 4, в котором второй кандидат движения является попарно усредненным объединяемым кандидатом.
6. Способ по п. 4, в котором указанного второго кандидата движения добавляют в список кандидатов движения после указанного одного или более первых кандидатов движения.
7. Способ по п. 4, в котором указанный один или более первых кандидатов движения содержат указанного кандидата прогнозирования HMVP.
8. Способ по п. 4, в котором информация об одном или более первых интерполяционных фильтрах и информация о втором интерполяционном фильтре ассоциированы с индексами интерполяционных фильтров с точностью в половину отсчета.
9. Способ по п. 8, в котором в ответ на то, что указанный один или более первых кандидатов движения содержат двух первых кандидатов движения и что индексы двух интерполяционных фильтров с точностью в половину отсчета, ассоциированные с указанными двумя первыми кандидатами движения, равны друг другу, индекс интерполяционного фильтра с точностью в половину отсчета, ассоциированный со вторым интерполяционным фильтром, устанавливается равным индексам интерполяционных фильтров с точностью в половину отсчета, ассоциированным с указанными двумя первыми кандидатами движения.
10. Способ по п. 8, в котором в ответ на то, что указанный один или более первых кандидатов движения содержат двух первых кандидатов движения и что индексы двух интерполяционных фильтров с точностью в половину отсчета, ассоциированные с указанными двумя первыми кандидатами движения, не равны друг другу, индекс интерполяционного фильтра с точностью в половину отсчета, ассоциированный со вторым интерполяционным фильтром, устанавливается равным 0.
11. Способ по любому из пп. 1-10, в котором на этапе преобразования кодируют текущий видеоблок в поток битов данных.
12. Способ по любому из пп. 1-10, в котором на этапе преобразования декодируют текущий видеоблок из потока битов данных.
13. Устройство обработки данных видео, содержащее процессор и энергонезависимое запоминающее устройство с записанными в нем командами, причем команды при исполнении процессором вызывают выполнение процессором:
поддержания, до преобразования между текущим видеоблоком видео и потоком битов данных видео, по меньшей мере одной таблицы прогнозирования вектора движения на основе предыстории (HMVP), которая содержит одну или более позиций, соответствующих информации о движении одного или более ранее обработанных блоков, причем каждая позиция дополнительно выполнена так, чтобы включать в себя информацию интерполяционного фильтра для указанного одного или более ранее обработанных блоков, при этом информация интерполяционного фильтра указывает по меньшей мере один интерполяционный фильтр, используемый для блоков прогнозирования из указанного одного или более ранее обработанных блоков;
построения, для указанного преобразования, списка кандидатов движения, содержащего кандидата прогнозирования HMVP, причем кандидат прогнозирования HMVP определяется путем наследования одной позиции из таблицы прогнозирования HMVP, причем наследование содержит наследование информации интерполяционного фильтра, ассоциированной с указанной одной позицией; и
выполнение указанного преобразования на основе списка кандидатов движения.
14. Энергонезависимый читаемый компьютером носитель для хранения информации, хранящий команды, которые вызывают выполнение процессором:
поддержания, до преобразования между текущим видеоблоком видео и потоком битов данных видео, по меньшей мере одной таблицы прогнозирования вектора движения на основе предыстории (HMVP), которая содержит одну или более позиций, соответствующих информации о движении одного или более ранее обработанных блоков, причем каждая позиция дополнительно выполнена так, чтобы включать в себя информацию интерполяционного фильтра для указанного одного или более ранее обработанных блоков, при этом информация интерполяционного фильтра указывает по меньшей мере один интерполяционный фильтр, используемый для блоков прогнозирования из указанного одного или более ранее обработанных блоков;
построения, для указанного преобразования, списка кандидатов движения, содержащего кандидата прогнозирования HMVP, причем кандидат прогнозирования HMVP определяется путем наследования одной позиции из таблицы прогнозирования HMVP, причем наследование содержит наследование информации интерполяционного фильтра, ассоциированной с указанной одной позицией; и
выполнение указанного преобразования на основе списка кандидатов движения.
15. Способ сохранения потока битов данных видео, содержащий этапы, на которых:
поддерживают по меньшей мере одну таблицу прогнозирования вектора движения на основе предыстории (HMVP), которая содержит одну или более позиций, соответствующих информации о движении одного или более ранее обработанных блоков, причем каждая позиция дополнительно выполнена так, чтобы включать в себя информацию интерполяционного фильтра для указанного одного или более ранее обработанных блоков, причем информация интерполяционного фильтра указывает по меньшей мере один интерполяционный фильтр, используемый для блоков прогнозирования из указанного одного или более ранее обработанных блоков;
строят список кандидатов движения, содержащий кандидата прогнозирования HMVP, причем кандидата прогнозирования HMVP определяют путем наследования одной позиции из таблицы прогнозирования HMVP, причем наследование содержит наследование информации интерполяционного фильтра, ассоциированной с указанной одной позицией;
генерируют поток битов на основе списка кандидатов движения;
сохраняют поток битов данных на энергонезависимом читаемом компьютером носителе для записи информации.
US 2018098066 A1, 2018.04.05 | |||
US 2010111182 A1, 2010.05.06 | |||
US 2010002770 A1, 2010.01.07 | |||
CN 106464863 A, 2017.02.22 | |||
US 2010074329 A1, 2010.03.25 | |||
US 2018309987 A1, 2018.10.25 | |||
US 2018199057 A1, 2018.07.12 | |||
ПРЕДСКАЗАНИЕ ВЕКТОРА БЛОКА В КОДИРОВАНИИ/ДЕКОДИРОВАНИИ ВИДЕО И ИЗОБРАЖЕНИЙ | 2014 |
|
RU2669005C2 |
US 2018115787 A1, 2018.04.26. |
Авторы
Даты
2024-01-31—Публикация
2020-04-01—Подача