Кодек, устройство и способ предсказания изображения

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

 

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

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

Уровень техники

Используя технологии сжатия видео, такие как MPEG-2, MPEG-4, ITU-TH.263, ITU-TH.264/MPEG-4, часть 10, усовершенствованное кодирование видео (advanced video coding, AVC), ITU-TH.265 высокоэффективное кодирование видео (high efficiency video coding, HEVC) и технологии сжатия видео, описанные в расширенных частях этих стандартов, цифровая видеоинформация может эффективно передаваться и приниматься между устройствами. Обычно изображение видеопоследовательности делится на блоки изображения для кодирования или декодирования.

Для уменьшения или удаления избыточной информации в видеопоследовательности в технологии сжатия видео вводится/вводятся пространственное предсказание (внутреннее предсказание, intra prediction) и/или временное предсказание (внешнее предсказание, inter prediction), основанное на блоке изображения. Режимы внешнего предсказания могут включать в себя, но не ограничиваются ими, режим объединения (Merge Mode), режим без объединения (например, режим усовершенствованного предсказания вектора движения (AMVP mode)) и т.п., и все внешние предсказания выполняются посредством с использованием способа конкуренции информации мульти-движения.

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

Чтобы повысить точность предсказания изображения, для уточнения информации движения может использоваться существующая технология уточнения вектора движения на стороне декодера (Decoder-side motion vector refinement, DMVR). Однако, когда DMVR решение используется для выполнения предсказания изображения, соответствующий шаблон блока должен быть рассчитан, и потребность соответствия шаблона блоков, которые будут использоваться для раздельного выполнения процесса поиска соответствия в качестве опорного изображения для предсказания вперед и опорного изображения для предсказания назад, что приводит к относительно высокой сложности поиска. Поэтому необходимо решить техническую задачу снижения сложности во время предсказания изображения, одновременно повышения точности предсказания изображения.

Раскрытие сущности изобретения

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

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

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

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

Дополнительно, следует понимать, что текущий блок изображения (называемый текущим блоком) в данном документе может пониматься как блок изображения, который в настоящее время обрабатывается. Например, в процессе кодирования текущий блок изображения является блоком кодирования (encoding block). В процессе декодирования текущий блок изображения является блоком кодирования (decoding block).

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

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

Дополнительно, следует понимать, что критерий стоимости соответствия в данном документе может пониматься как критерий для рассмотрения стоимости соответствия между парными опорными блоками для предсказания вперед и назад. Стоимость соответствия может пониматься как разность между двумя блоками и может рассматриваться как накопленная разница выборок в соответствующих позициях в двух блоках. Разница обычно рассчитывается на основании критерия SAD (сумма абсолютной разности, sum of absolute difference) или другого критерия, например, SATD (сумма абсолютной разности преобразования, sum of absolute transform difference), MR-SAD (удаленное среднее значение сумму абсолютной разности, mean-removed sum of absolute difference) или SSD (сумма квадратов разностей, sum of squared differences).

Дополнительно, следует отметить, что начальная информация движения текущего блока изображения в этом варианте осуществления этого изобретения может включать в себя вектор движения MV и информацию указания опорного изображения. Конечно, начальная информация движения может альтернативно включать в себя одну из вектор движения или информацию указания опорного изображения, или оба вектор движения и информацию указания опорного изображения. Например, когда на стороне кодера и стороне декодера согласовано опорное изображение, начальная информация движения может включать в себя только вектор движения MV. Информация указания опорного изображения используются для указания, которое восстановленное изображение или восстановленные изображения используются в качестве опорного изображения для текущего блока. Вектор движения обозначает смещение позиции опорного блока в используемом опорном изображении по отношению к позиции текущего блока и, в целом, включает в себя горизонтальную составляющую смещения и вертикальную составляющую смещения. Например, используется для представления MV, x представляет смещение позиции в горизонтальном направлении, и y представляет смещение позиции в вертикальном направлении. Позиция опорного блока текущего блока в опорном изображении может быть получено путем добавления MV к позиции текущего блока. Информация указания опорного изображения может включать в себя список опорных изображений и/или индекс опорного изображения, соответствующий списку опорного изображения. Индекс опорного изображения используются для определения опорного изображения, соответствующий используемому вектору движения в указанном списке опорного изображения (RefPicList0 или RefPicList1). Изображение может упоминаться как кадр, и опорное изображение может упоминаться в качестве опорного кадра.

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

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

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

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

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

В другом примере как первое смещение позиции, так и второе смещение позиции равны 0.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Очевидно, что способ предсказания изображения в этом варианте осуществления настоящего изображения применим не только к режиму предсказания объединением (Merge) и/или режиму расширенного предсказания вектора движения (advanced motion vector prediction, AMVP), но также применимо к другому режиму, в котором применяют пространственный опорный блок, временной опорный блок и/или межкадровый опорный блок для предсказания информации движения текущего блока изображения. Это улучшает производительность кодирования.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

определение позиций N опорных блоков для предсказания вперед и позиций N опорных блоков для предсказания назад на основании информации движения i-го раунда и позиции текущего блока изображения, где N опорные блоки для предсказания вперед расположены в опорном изображении для предсказания вперед, N опорные блоки для предсказания назад расположены в опорном изображении для предсказания назад, и N представляет собой целое число больше 1; определение, с позиций M пар опорных блоков на основании критерия стоимости соответствия, что позиции пары опорных блоков являются позицией целевого опорного блока для предсказания вперед i-го раунда текущего блока и позицией целевой опорного блок для предсказания назад i-го раунда текущего блока изображения, где позиции каждой пары опорных блоков включают в себя позицию опорного блока для предсказания вперед и позицию опорного блока для предсказания назад; для позиций каждой пары опорных блоков, первое смещение позиции и второе смещение позиции находятся в зеркальной взаимосвязи, первое смещение позиции представляет собой смещение позиции опорного блока для предсказания вперед по отношению к позиции (i-1) раунда целевого блока для предсказания вперед, и второе смещение позиции представляет смещение позиции опорного блока для предсказания назад относительно позиции (i-1) раунда целевого опорного блока для предсказания назад; и М является целым числом, большим или равным 1, и М является меньшим или равным N; и получение предсказанного значения пикселя текущего блока изображения на основании значения пикселя j-го раунда целевого опорного блока для предсказания вперед, и значения пикселя j-го раунда целевого опорного блока для предсказания назад, где j больше, чем или равно i, и оба i и j являются целыми числами, большими или равными 1.

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

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

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

Если i>1, информация движения i-й раунда включает в себя вектор движения вперед, указывающую позицию (i-1)-го раунда целевого опорного блока для предсказания вперед и вектор движения назад, указывающий позицию (i -1) раунда целевого опорного блока для предсказания назад; и, соответственно, позиция N опорных блоков для предсказания вперед включает в себя позицию одного (i-1)-го раунда целевого опорного блока для предсказания вперед и позиции (N-1) кандидатов опорных блоков для предсказания вперед, и смещение позиции каждого кандидата опорного блока для предсказания вперед относительно позиции (i-1)-го раунда целевого опорного блока для предсказания вперед представляет собой цельно численное расстояние в пикселях или дробное значение расстояния в пикселях; или позиции N опорных блоков для предсказания назад включают в себя позицию одного (i - 1) целевого опорного блока для предсказания назад и позиции (N - 1) кандидатов опорных блоков для предсказания назад и смещение позиции каждого кандидата опорного блока для предсказания назад по отношению к позиции (i-1)-го раунда целевого опорного блока для предсказания назад представляет собой целое расстояние в пикселях или дробное значение расстояния в пикселях.

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

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

когда удовлетворено условие завершения итерации, получение предсказанного значения пикселя блока изображения на основании значения пикселя j-го раунда целевого опорного блока для предсказания вперед и значения пикселя j-го раунда целевого опорного блока для предсказания назад, где j больше или равно i, и i и j являются целыми числами, большими или равными 1.

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

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

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

определение, на основании вектора движения вперед и позиции текущего блока изображения, позиции (i-1)-го раунда целевого опорного блока для предсказания вперед текущего блока изображения в опорном изображении для предсказания вперед, соответствующий индексу опорного изображения для предсказания вперед, используя позицию (i-1)-го раунда целевого опорного блока для предсказания вперед в качестве if-ой начальной точки поиска, и определение позиций (N-1) кандидатов опорных блоков для предсказания вперед в опорном изображении для предсказания вперед, где позиции N опорных блоков для предсказания вперед включают в себя позицию (i-1)-го раунда целевого опорного блока для предсказания вперед и позиции (N-1) кандидатов опорных блоков для предсказания вперед; и

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

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

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

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

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

определение позиций N опорных блоков для предсказания вперед и позиций N опорных блоков для предсказания назад на основании информации движения i-го раунда и позиции текущего блока изображения, где N опорные блоки для предсказания вперед расположены в опорном изображении для предсказания вперед, N опорные блоки для предсказания назад расположены в опорном изображении для предсказания назад, и N представляет собой целое число больше 1; определение, с позиций M пар опорных блоков на основании критерия стоимости соответствия, что позиции пары опорных блоков позиция i-го раунда целевого опорного блока для предсказания вперед текущего блока изображения и позиция i-го раунда целевого опорного блока для предсказания назад текущего блока изображения, где позиции каждой пары опорных блоков включают в себя позицию опорного блока для предсказания вперед и позицию опорного блока для предсказания назад; для позиций каждой пары опорных блоков, первое смещение позиции и второе смещение позиции находится в пропорциональной зависимости, основанной на расстоянии временной области, первое смещение позиции представляет собой смещение позиции опорного блока для предсказания вперед по отношению к позиции (i-1)-го раунда целевого опорного блока для предсказания вперед в опорном изображении для предсказания вперед, и второе смещение позиции представляет собой смещение позиции опорного блоков для предсказания назад по отношению к позиции ап (i-1)-го раунда целевого опорного блоков для предсказания назад в опорном изображении для предсказания назад; и М является целым числом, большим или равным 1, и М является меньшим или равным N; и получение предсказанного значения пикселя текущего блока изображения на основании значения пикселя j-го раунда целевого опорного блока для предсказания вперед, и значение пикселя целевого опорного блока для предсказания назад j-го раунда, где j больше, чем или равно i, и оба i и j являются целыми числами, большими или равными 1.

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

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

Со ссылкой на четвертый аспект, в некоторых реализациях четвертого аспекта, если i = 1, информация движения i-го раунда является начальной информацией движения текущего блока изображения; или, если i> 1, информация движения i-го раунда включает в себя вектор движения вперед, указывающий позицию (i - 1)-го раунда целевого опорного блока для предсказания вперед и вектор движения назад, указывающий позицию (i - 1)-го раунда целевого опорного блока для предсказания назад.

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

когда условие завершения итерации выполняется, получение предсказанного значения пикселя блока изображения на основании значения пикселя j-го раунда целевого опорного блока для предсказания вперед и значения пикселя j-го раунда целевого опорного блока для предсказания назад, где j больше или равно i, и i и j являются целыми числами, большими или равными 1.

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

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

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

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

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

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

определение на основании вектора движения вперед и позиции текущего блока изображения, позиции (i-1)-го раунда целевого опорного блока для предсказания вперед текущего блока изображения в опорном изображении для предсказания вперед, соответствующий индексу опорного изображения для предсказания вперед, используя позицию (i-1)-го раунда целевого опорного блока для предсказания вперед в качестве начальной точки поиска if, и определения позиции (N-1) кандидатов опорных блоков для предсказания вперед в опорном изображении для предсказания вперед, где позиции N опорных блоков для предсказания вперед включают в себя позицию (i-1)-го раунда целевого опорного блока для предсказания вперед и позиции (N-1) кандидатов опорных блоков для предсказания вперед; и

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

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

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

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

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

В различных сценариях реализации устройство для предсказания изображения, например, применяется к устройству для кодирования видео (a video encoder) или устройству для декодирования видео (a video decoder).

Шестой аспект настоящего изобретения обеспечивает устройство предсказания изображения, включающее в себя несколько функциональных блоков, выполненных с возможностью реализации любого способа в соответствии со вторым аспектом. Например, устройство предсказания изображения может включать в себя: второй блок получения, выполненный с возможностью получать начальную информацию движения текущего блока изображения; второй блок поиска, выполненный с возможностью: определять позиции N опорных блоков для предсказания вперед и позиции N опорных блоков для предсказания назад на основании начальной информации движения и позиции текущего блока изображения, где N опорные блоки для предсказания вперед расположены в опорном изображении для предсказания вперед, то N опорные блоки для предсказания назад расположены в опорном изображении для предсказания назад, N представляет собой целое число больше 1; определить, с позиций M пары опорных блоков на основании критерия стоимости соответствия, что позиции пары опорных блоков являются позицией целевого опорного блока для предсказания вперед текущего блока изображения и позицией целевого опорного блока для предсказания назад текущего блока изображения, где позиция каждой пары опорных блоков включает в себя позицию опорного блока для предсказания вперед и позицию опорного блока для предсказания назад; для позиций каждой пары опорных блоков, первое смещение позиции и второе смещение позиции находятся в пропорциональной зависимости, основанной на расстоянии во временной области, первое смещение позиции представляет собой смещение позиции опорного блока для предсказания вперед по отношению к позиции начального опорного блока для представления вперед, и второе смещение позиции представляет смещение позиции опорного блока для предсказания назад по отношению к позиции начального опорного блока для предсказания назад; и М является целым числом, большим или равным 1, и М является меньшим или равным N; и второй блок предсказания, выполненный с возможностью получать значение предсказания пикселя текущего блока изображения на основании значения пикселя целевого опорного блока для предсказания вперед и значение пикселя целевого опорного блока для предсказания назад.

В различных сценариях применения устройство для предсказания изображения, например, применяется к устройству для кодирования видео (a video encoder) или устройству для декодирования видео (a video decoder).

Седьмой аспект настоящего изобретения обеспечивает устройство предсказания изображения, включающее в себя несколько функциональных блоков, выполненных с возможностью реализации любого способа в соответствии с третьим аспектом. Например, устройство предсказания изображения может включать в себя: третий блок получения, выполненный с возможностью получать информацию движения i-го раунда текущего блока изображения; третий блок поиска, выполненный с возможностью: определять позиции N опорных блоков для предсказания вперед и позиции N опорных блоков для предсказания назад на основании информации движения i-го раунда и позиции текущего блока изображения, где N опорные блоки для предсказания вперед расположены в опорном изображении для предсказания вперед, N опорные блоки для предсказания назад расположены в опорном изображении для предсказания назад, и N представляет собой целое число больше 1; определить, с позиций M пар опорных блоков на основании критерия стоимости соответствия, что позиции пар опорных блоков являются позицией i-го раунда целевого опорного блока для предсказания вперед текущего блока изображения и позицией i-го раунда целевого опорного блока для предсказания назад текущего блока изображения, где позиции каждой пары опорных блоков включает в себя позицию опорного блока для предсказания вперед и позицию опорного блока для предсказания назад; для позиций каждой пары опорных блоков, первое смещение позиции и второе смещение позиции находятся в зеркальной взаимосвязи, первое смещение позиции представляет собой смещение позиции опорного блока для предсказания вперед по отношению к позиции (i-1)-го раунда целевого опорного блока для предсказания вперед, и второе смещение позиции представляет смещение позиции опорного блока для предсказания назад относительно позиции (i-1)-го раунда целевого опорного блока для предсказания назад; и М является целым числом, большим или равным 1, и М является меньшим или равным N; и третий блок предсказания, выполненный с возможностью получать значение предсказания пикселя текущего блока изображения на основании значения пикселя j-го раунда целевого опорного блока для предсказания вперед, и значение пикселя j-го-раунда целевого опорного блока для предсказания назад, где j больше или равно i, и i и j являются целыми числами, большими или равными 1.

В различных сценариях применения устройство предсказания изображения, например, применяется к устройству для кодирования видео (a video encoder) или устройству для декодирования видео (a video decoder).

Восьмой аспект настоящего изобретения обеспечивает устройство предсказания изображения, включающее в себя несколько функциональных блоков, выполненных с возможностью реализации любого способа в четвертом аспекте. Например, устройство предсказания изображения может включать в себя: четвертый блок получения, выполненный с возможностью получать информацию движения i-го раунда текущего блока изображения; четвертый блок поиска, выполненный с возможностью: определять позиции N опорных блоков для предсказания вперед и позиции N опорных блоков для предсказания назад на основании информации движения i-го раунда и позиции текущего блока изображения, где N опорные блоки для предсказания вперед расположены в опорном изображении для предсказания вперед, N опорные блоки расположены в опорном изображении для предсказания назад, и N представляет собой целое число больше 1; определить, с позиций M пар опорных блоков на основании критерия стоимости соответствия, что позиции пар опорных блоков являются позицией i-го раунда целевого опорного блока для предсказания вперед текущего блока изображения и позицией i-го раунда целевого опорного блока для предсказания назад текущего блока изображения, где позиция каждой пары опорных блоков включает в себя позицию опорного блока для предсказания вперед и позицию опорного блока для предсказания назад; для позиций каждой пары опорных блоков, первое смещение позиции и второе смещение позиции находится в пропорциональной зависимости, основанной на расстоянии во временной области, первое смещение позиции представляет собой смещение позиции опорного блока для предсказания вперед по отношению к позиции (i-1) -го раунда целевого опорного блока для предсказания вперед в опорном изображении для предсказания вперед, и второе смещение позиции представляет смещение позиции опорного блоков для предсказания назад по отношению к позиции (i-1)-го раунда целевого опорного блоков для предсказания назад в опорном изображении для предсказания назад; и М является целым числом, большим или равным 1, и М является меньшим или равным N; и четвертый блок предсказания, выполненный с возможностью получать значение предсказания пикселя текущего блока изображения на основании значения пикселя j-го раунда целевого опорного блока для предсказания вперед, и значение пикселя j-го раунда целевого опорного блока для предсказания назад, где j больше или равно i, и i и j являются целыми числами, большими или равными 1.

В различных сценариях реализации устройство для предсказания изображения, например, применяется к устройству для кодирования видео (a video encoder) или устройству для декодирования видео (a video decoder).

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

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

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

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

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

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

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

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

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

Краткое описание чертежей

Фиг.1 является блок-схемой системы для кодирования видео согласно варианту осуществления настоящего изобретения;

Фиг.2А является блок-схемой видеокодера согласно варианту осуществления настоящего изобретения;

Фиг.2B является блок-схемой видеодекодера согласно варианту осуществления настоящего изобретения;

Фиг.3 является блок-схемой последовательности операций способа предсказания изображения согласно варианту осуществления настоящего изобретения;

Фиг.4 является схемой получения начальной информации движения стороной кодера в режиме объединения внешнего предсказания;

Фиг.5 является схемой получения начальной информации движения стороной декодера в режиме объединения внешнего предсказания;

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

Фиг.7 является схемой пикселя в позиции целого пикселя и пикселя в позиции дробного пикселя;

Фиг. 8 является схемой начальной точки поиска;

Фиг.9 является блок-схемой первого смещения позиции и второго смещения позиции, которые находятся в зеркальной взаимосвязи, согласно варианту осуществления настоящего изобретения;

Фиг.10 является блок-схемой алгоритма другого способа предсказания изображения согласно варианту осуществления настоящего изобретения;

Фиг.11 является блок-схемой алгоритма другого способа предсказания изображения согласно варианту осуществления настоящего изобретения;

Фиг.12 является блок-схемой алгоритма другого способа предсказания изображения согласно варианту осуществления настоящего изобретения;

Фиг.13 является блок-схемой первого смещения позиции и второго смещения позиции, которые находятся в пропорциональной зависимости на основании расстояния во временной области, согласно варианту осуществления настоящего изобретения;

Фиг.14 является блок-схемой алгоритма другого способа 1400 предсказания изображения согласно варианту осуществления настоящего изобретения;

Фиг.15 является блок-схемой алгоритма другого способа предсказания изображения согласно варианту осуществления настоящего изобретения;

Фиг.16 является блок-схемой алгоритма другого способа 1600 предсказания изображения согласно варианту осуществления настоящего изобретения;

Фиг.17 является блок-схемой алгоритма другого способа предсказания изображения согласно варианту осуществления настоящего изобретения;

Фиг.18 является блок-схемой устройства предсказания изображения согласно варианту осуществления настоящего изобретения;

Фиг.19 является блок-схемой другого устройства предсказания изображения согласно варианту осуществления настоящего изобретения;

Фиг.20 является блок-схемой другого устройства предсказания изображения согласно варианту осуществления настоящего изобретения;

Фиг.21 является схемой другого устройства предсказания изображения согласно варианту осуществления настоящего изобретения; и

Фиг.22 является блок-схемой устройства кодирования или устройства декодирования согласно варианту осуществления настоящего изобретения.

Осуществление изобретения

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

Фиг.1 является схематической блок-схемой системы для кодирования видео согласно варианту осуществления настоящего изобретения. В системе видеокодер 20 и видеодекодер 30 выполнены с возможностью предсказывать значение предсказания пикселя блока изображения на основании различных примеров способов предсказания изображения, представленных в настоящем изобретении, и уточнения информации движения, такой как вектор движения текущего кодированного или декодированного блока изображения, чтобы дополнительно улучшить производительность кодирования. Как показано на фиг.1, система включает в себя устройство 12 источника и устройство 14 назначения. Устройство 12 источника генерирует кодированные видеоданные, которые должны быть декодированы устройством 14 назначения. Устройство 12 источника и устройство 14 назначения могут включать в себя любое из широкого спектра устройств, включающие в себя настольный компьютер, ноутбук, планшетный компьютер, телевизионную приставку, телефонную трубку, такую как «умный» телефон, «умная» сенсорная панель, телевизор, камера, устройство отображения, цифровой мультимедийный проигрыватель, игровая консоль, устройство передачи потокового видео или тому подобное.

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

Альтернативно, кодированные данные могут выводиться из интерфейса 22 вывода в устройство 24 хранения. Аналогично, к кодированным данным можно осуществлять доступ из устройства 24 хранения через интерфейс ввода. Устройство 24 хранения может включать в себя любой из множества распределенных или локальных носителей данных, например, жесткий диск, диск Blu-ray, DVD, CD-ROM, флэш-память, энергозависимую или энергонезависимую память или любой другой соответствующий цифровой носитель информации, используемый для хранения кодированных видеоданных. В другой возможной реализации устройство 24 хранения может соответствовать файловому серверу или другому промежуточному запоминающему устройству, способному хранить кодированное видеоданные, сгенерированные устройством 12 источника. Устройство 14 назначения может получить доступ к сохраненным видеоданным из устройства 24 хранения посредством потоковой передачи или загрузки. Файловый сервер может представлять собой сервер любого типа, способный хранить кодированные видеоданные и передавать кодированные видеоданные в устройство 14 назначения. В возможной реализации файловый сервер включает в себя сервер веб-сайта, сервер протокола передачи файлов, сетевой сервер. подключенное устройство хранения или локальный дисковод. Устройство 14 назначения может осуществлять доступ к кодированным видеоданным через любое стандартное соединение для передачи данных, включающее в себя интернет-соединение. Соединение для передачи данных может включать в себя беспроводной канал (например, соединение Wi-Fi), проводное соединение (например, кабельный модем) или их комбинацию, которое применимо для доступа к кодированным видеоданным, хранящимся на файловом сервере. Передача кодированных видеоданных из устройства 24 хранения может быть потоковой передачей, загрузкой передачи или их комбинацией.

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

В возможной реализации фиг.1, устройство 12 источника включает в себя источник 18 видео, видеокодер 20 и интерфейс 22 вывода. В некоторых приложениях интерфейс 22 вывода может включать в себя модулятор/демодулятор (модем) и/или передатчик. В устройстве 12 источника источник 18 видео может включать в себя, например, следующие источники: устройство захвата видео (например, видеокамера), видеоархив, включающий в себя ранее захваченное видео, интерфейс ввода видео для приема видео от поставщика видеоконтента и/или системы компьютерной графики для генерирования данных компьютерной графики в качестве источника видео или их комбинации. В возможной реализации, если источником 18 видео является видеокамера, устройство 12 источника и устройство 14 назначения могут представлять собой телефон с камерой или видеотелефон. Например, описанные в настоящем изобретении способы, могут применяться к декодированию видео и могут применяться к беспроводным и/или проводным приложениям.

Видеокодер 20 может кодировать видео, которое захватывается, предварительно захватывается или генерируется компьютером. Кодированные видеоданные могут напрямую передаваться в устройство 14 назначения через интерфейс 22 вывода устройства 12 источника. Кодированные видеоданные также могут (или альтернативно) храниться в устройстве 24 хранения для последующего доступа устройством 14 назначения или другим устройством для декодирования и/или воспроизведения.

Устройство 14 назначения включает в себя интерфейс 28 ввода, видеодекодер 30 и устройство 32 отображения. В некоторых приложениях интерфейс 28 ввода может включать в себя приемник и/или модем. Интерфейс 28 ввода устройства 14 назначения принимает кодированные видеоданные с использованием линии 16 связи. Кодированные видеоданные, передаваемые или предоставляемые устройству 24 хранения с помощью линии связи 16, могут включать в себя множество элементов синтаксиса, которые генерируются видеокодером 20 и используемые видеодекодером 30 для декодирования видеоданных. Эти элементы синтаксиса могут быть включены в кодированные видеоданные, передаваемые в среде связи, и храниться на носителе данных или храниться на файловом сервере.

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

Видеокодер 20 и видеодекодер 30 могут работать согласно, например, стандарту сжатия видеокодирования следующего поколения (H.266), который в настоящее время разрабатывается, и могут соответствовать тестовой модели H.266 (JEM)). Альтернативно, видеокодер 20 и видеодекодер 30 могут работать в соответствии, например, с другими выделенными или промышленными стандартами или их расширениями стандарта ITU-TH.265 или стандарта ITU-TH.264. Стандарт ITU-TH.265 также называется стандартом высокоэффективного декодирования видео, и стандарт ITU-TH.264 альтернативно называется MPEG-4 часть 10 или усовершенствованным кодированием видео (advanced video coding, AVC). Однако способы настоящего изобретения не ограничены каким-либо конкретным стандартом декодирования. Другие возможные реализации стандарта сжатия видео включают в себя MPEG-2 и ITU-TH.263.

Хотя это не показано на фиг.1, в некоторых аспектах видеокодер 20 и видеодекодер 30 могут быть соответственно интегрированы с аудиокодером и аудиодекодером и могут включать в себя соответствующий блок мультиплексора-демультиплексора (MUX-DEMUX) или другое аппаратное и программное обеспечение для кодирования обоих аудио и видео в общем потоке данных или в отдельном потоке данных. Если применимо, в некоторых выполнимых реализациях MUX-DEMUX блок может соответствовать протоколу мультиплексора ITUH.223 или другим протоколам, таким как протокол доставки пользовательских дейтаграмм (UDP).

Каждый из видеокодера 20 и видеодекодера 30 может быть реализован как любая из множества соответствующих схем кодера, например, одного или нескольких микропроцессоров, процессоров цифровых сигналов (DSP), специализированных интегральных схем (ASIC) программируемые пользователем вентильные матрицы (FPGA), дискретная логика, программное обеспечение, аппаратное обеспечение, встроенное программное обеспечение или любая их комбинация. Когда способы частично реализованы в виде программного обеспечения, устройство может сохранить инструкцию для программного обеспечения на соответствующем постоянном машиночитаемом носителе и выполнить инструкцию в виде аппаратного обеспечения с использованием одного или нескольких процессоров, чтобы реализовать способы настоящего изобретения. Каждый из видеокодер 20 и видеодекодер 30 может быть включен в один или несколько кодеров или декодеров, и любой из одного или нескольких кодеров или декодеров может быть интегрирован как часть объединенного кодера/декодера (CODEC) в соответствующем устройстве.

Настоящее изобретение может, например, относиться к другому устройству, в котором видеокодер 20 сигнализирует конкретную информацию, например, к видеодекодеру 30. Однако следует понимать, что видеокодер 20 может ассоциировать конкретные элементы синтаксиса с закодированными частями видеоданных, чтобы сигнализировать информацию. То есть, видеокодер 20 может хранить конкретные элементы синтаксиса в информации заголовка кодированных частей видеоданных, чтобы сигнализировать данные. В некоторых реализациях эти элементы синтаксиса могут быть закодированы и сохранены (например, сохранены в системе 34 хранения или файловом сервере 36) до того, как они будут приняты и декодированы видеодекодером 30. Следовательно, термин «сигнал» может означать, например, передачу синтаксиса или других данных, используемых для декодирования сжатых видеоданных, независимо от того, выполняется ли передача в реальном времени, почти в реальном времени или в течение промежутка времени. Например, передача может выполняться, когда элемент синтаксиса сохраняется на носителе во время кодирования, и затем элемент синтаксиса может быть извлечен устройством для декодирования в любое время после сохранения на носителе.

JCT-VC разработал стандарт H.265 (HEVC). Стандартизация HEVC основана на усовершенствованной модели устройства для декодирования видео, и эта модель называется тестовой моделью HEVC (HM). Последний документ стандарта H.265 доступен по адресу http://www.itu.int/rec/T-REC-H.265. Последней версией стандартного документа является H.265 (12/16), и стандартный документ включен в настоящий документ посредством ссылки во всей своей полноте. В HM предполагается, что устройство для декодирования видео имеет несколько дополнительных возможностей по сравнению с существующим алгоритмом ITU-TH.264/AVC. Например, H.264 обеспечивает девять режимов внутреннего предсказания и кодирования, тогда как HM может обеспечить до 35 режимов внутреннего предсказания и кодирования.

JVET стремится к разработке стандарта H.266. Процесс стандартизации H.266 основан на усовершенствованной модели устройства для декодирования видео, и эта модель называется тестовой моделью H.266. Описания алгоритма H.266 доступны по адресу http://phenix.int-evry.fr/jvet, и последние описания алгоритмов включены в JVET-F1001-v2. Этот документ описания алгоритма полностью включен в настоящее описание посредством ссылки. Дополнительно, справочное программное обеспечение для тестовой модели JEM доступно по адресу https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/, которое также включено в настоящий документ посредством ссылки в полном объеме.

Как правило, как описано в рабочей модели HM, видеокадр или изображение могут быть разделены на последовательность древовидных блоков или наибольших блоков кодирования (наибольший блок кодирования, LCU), включающий в себя выборки яркости и цветности. LCU также называется CTU. Древовидный блок имеет функцию, аналогичную макроблоку в стандарте H.264. Сегмент включает в себя более последовательных древовидных блоков в порядке декодирования. Видеокадр или изображение могут быть разделены на один или более сегментов. Каждый древовидный блок может быть разбит на блоки кодирования на основании дерева квадрантов. Например, древовидный блок, действующий как корневой узел дерева квадрантов, может быть разделен на четыре дочерних узла, и каждый дочерний узел может действовать как родительский узел и быть разделен на четыре других дочерних узла. Конечный неразделимый дочерний узел, действующий в качестве конечного узла дерева квадрантов, включает в себя узел декодирования, например, блок декодированных изображений. В синтаксических данных, ассоциированных с декодированным битовым потоком, может быть определено максимальное количество разделяемых времен для древовидного блока и минимальный размер узла декодирования.

Блок кодирования включает в себя узел декодирования, блок предсказания (prediction unit, PU) и блок преобразования (transform unit, TU), ассоциированный с узлом декодирования. CU имеет размер, соответствующий размеру узла декодирования, и должен иметь квадратную форму. Размер CU может варьироваться от 8 x 8 пикселей до максимум 64 x 64 пикселей, или быть большим размером древовидного блока. Каждый CU может включать в себя один или несколько PUs и один или несколько TUs. Например, синтаксические данные, ассоциированные с CU, могут описывать разбиение одного CU на один или несколько PUs. Шаблоны разделения могут различаться, когда CU кодируется в режиме пропуска или прямого режима, кодируется в режиме внутреннего предсказания или кодируется в режиме внешнего предсказания. PU, полученный путем разделения, может иметь неквадратную форму. Например, синтаксические данные, ассоциированные с CU, также могут описывать разбиение одного CU на один или несколько TUs на основании дерева квадрантов. TU может иметь квадратную или неквадратную форму.

Стандарт HEVC допускает преобразование на основании TU, и TUs могут быть разными для разных CUs. Размер TU обычно устанавливается на основании размера PU в пределах данного CU, определенного для разделенного LCU. Тем не менее, это не всегда так. Размер TU обычно равен или меньше размера PU. В некоторых выполнимых реализациях структура дерева квадрантов, называемой «остаточным деревом квадрантов» (residual quadtree, RQT), может использоваться для разделения остаточной выборки, соответствующей CU, на более мелкие блоки. Конечный узел RQT может упоминаться как TU. Разница в пикселях, связанная с TU, может быть преобразована для генерирования коэффициента преобразования, и коэффициент преобразования может быть квантован.

Обычно процессы преобразования и квантования используются для TU. Данный CU с одним или несколькими PUs также может включать в себя один или несколько TUs. После предсказания видеокодер 20 может вычислить остаточное значение, соответствующее PU. Остаточное значение включает в себя разность пикселей, и разность пикселей может быть преобразована в коэффициент преобразования, и коэффициент преобразования квантуется и подвергается сканированию TU для генерирования сериализованного коэффициента преобразования для энтропийного декодирования. В этом изобретении термин «блок изображения» обычно используется для представления узла декодирования CU. В некоторых конкретных приложениях в настоящем изобретении термин «блок изображения» также может использоваться для представления древовидного блока, включающего в себя узел декодирования, PU и TU, например, LCU или CU. В этом варианте осуществления настоящего изобретения различные примеры способов, описанные в способе адаптивного обратного квантования при кодировании или декодировании видео, подробно описаны ниже, чтобы выполнить процесс обратного квантования коэффициента преобразования, соответствующего текущему блоку изображения (а именно, текущему блоку преобразования), чтобы улучшить производительность кодирования.

Видеопоследовательность обычно включает в себя серию видеокадров или изображений. Например, группа изображений (group of picture, GOP) включает в себя серию видеоизображений, одно видеоизображение или множество видеоизображений. GOP может включать в себя синтаксические данные в информации заголовка GOP, в информации заголовка одного или нескольких изображений или в другом месте, и синтаксические данные описывают количество изображений, включенных в GOP. Каждый сегмент изображения может включать в себя синтаксические данные сегмента, описывающие режим кодирования соответствующего изображения. Видеокодер 20 обычно выполняет операцию с блоками изображения в некоторых сегментах видео для кодирования видеоданных. Блок изображения может соответствовать узлу декодирования в CU. Размер блока изображения может быть фиксированным или изменяемым и может варьироваться в зависимости от указанного стандарта декодирования.

В возможной реализации HM поддерживает предсказание для множества размеров PU. Предполагая, что размер данного CU равен 2N x 2N, HM поддерживает внутреннее предсказание для размера PU 2N x 2N или N x N и внешнее предсказание для симметричного размера PU 2N x 2N, 2N x N, N x 2N или N x N. HM также поддерживает асимметричное разделение внешнего предсказания для размеров PU 2N x nU, 2N x nD, nL x 2N и nR x 2N. При асимметричном разделении CU не разделяется в одном направлении, а разделяется на две части в другом направлении, где одна часть занимает 25% CU, а другая часть занимает 75% CU. Часть, занимающая 25% CU, обозначается индикатором, включающим в себя «n», за которым следуют «U (Up)», «D (Down)», «L (Left)» или «R (Right)». Поэтому, например, «2N x nU» относится к горизонтально разделенному 2N x 2N CU, с 2N x 0,5N PU вверху и 2N x 1,5N PU снизу.

В настоящем изобретении «N x M» и «N, умноженный на M», могут использоваться взаимозаменяемо для указания размера пикселя блока изображения в вертикальном измерении и горизонтальном измерении, например, 16 × 8 пикселей или 16 умножить на 8 пикселей. Как правило, блок 16 x 8 имеет 16 пикселей в горизонтальном направлении и 8 пикселей в вертикальном направлении. Другими словами, ширина блока изображения составляет 16 пикселей, и высота блока изображения составляет 8 пикселей.

После декодирования с внутренним или внешним предсказанием PU в CU, видеокодер 20 может вычислять остаточные данные TU в CU. PU может включать в себя данные пикселей в пространственной области (также называемой областью пикселей). TU может включать в себя коэффициент в области преобразования после того, как выполняется преобразование (например, дискретное косинусное преобразование (дискретное косинусное преобразование, DCT), целочисленное преобразование, вейвлет-преобразование или другое концептуально подобное преобразование) для остаточных видеоданных. Остаточные данные могут соответствовать различиям между значениями пикселей не кодированного изображения и предсказанными значениями пикселей, соответствующими PU. Видеокодер 20 может генерировать TU, содержащий остаточные данные CU, и затем преобразовывать TU, чтобы генерировать коэффициент преобразования CU.

В этом варианте осуществления настоящего изобретения, различные примеры способа процесса внешнего предсказания при кодировании видео или декодирования подробно описаны ниже, чтобы получить значение выборки точки выборки оптимального опорного блока для предсказания вперед текущего блока изображения и выборки значения точки дискретизации оптимального опорного блока для предсказания назад текущего блок изображения, чтобы дополнительно предсказать значение дискретизации в точке выборки текущего блока изображения. Блок изображения представляет собой двумерный массив точек выборки и может быть квадратным массивом или прямоугольным массивом. Например, блок изображения размером 4 × 4 может рассматриваться как квадратный массив точек выборки, образованный в общей сложности 4 × 4 = 16 точек выборки. Сигнал в блоке изображения является значением выборки точки выборки в блоке изображения. Дополнительно, точка выборки может также упоминаться как выборка или пиксель и должна использоваться без различия в этом описании настоящего изобретения. Соответственно, значение точки выборки также может упоминаться как значение пикселя и должно использоваться без различия в настоящем изобретении. Изображение также может быть представлено в виде двумерного массива точек выборки и обозначено с использованием способа, аналогичного способу, используемому для блока изображения.

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

Модель JEM дополнительно улучшает структуру кодирования видеоизображения. В частности, представлена структура блочного кодирования, называемая «дерево квадрантов плюс двоичное дерево» (QTBT). Без использования таких концепций, как CU, PU и TU в HEVC, структура QTBT поддерживает более гибкую форму разделения CU. Один CU может иметь квадратную или прямоугольную форму. Разделение дерева квадрантов сначала выполняется на CTU, и разделение двоичного дерева далее выполняется на конечном узле дерева квадрантов. Дополнительно, существует два режима разбиения двоичного дерева: симметричное горизонтальное разбиение и симметричное вертикальное разбиение. Конечный узел двоичного дерева называется CU. CU в JEM не может быть дополнительно разделен во время предсказания и преобразования. Другими словами, CU, PU и TU в JEM имеют одинаковый размер блока. В существующем JEM максимальный размер CTU составляет 256 x 256 пикселей яркости.

В некоторых выполнимых реализациях видеокодер 20 может сканировать квантованный коэффициент преобразования в предварительно определенном порядке сканирования, чтобы генерировать сериализованный вектор, который может быть энтропийно кодирован. В других возможных реализациях видеокодер 20 может выполнять адаптивное сканирование. После сканирования квантованного коэффициента преобразования для формирования одномерного вектора видеокодер 20 может выполнять энтропийное декодирование одномерного вектора с использованием контекстно-адаптивного кодирования с переменной длиной слова (CAVLC), контекстно-адаптивного двоичного арифметического кодирования (CABAC), основанное на синтаксисе контекстно-адаптивного двоичного арифметического кодирования (SBAC), энтропийное декодирование с разделением по вероятностям (PIPE) или другой способ энтропийного декодирования. Видеокодер 20 может дополнительно выполнять энтропийное кодирование для элемента синтаксиса, ассоциированного с кодированными видеоданными, чтобы видеодекодер 30 декодировал видеоданные.

Фиг.2А является блок-схемой видеокодера 20 в соответствии с вариантом осуществления настоящего изобретения. Также со ссылкой на фиг.3, видеокодер 20 может выполнять процесс предсказания изображения и, в частности, блок 44 компенсации движения в видеокодере 20 может выполнять процесс предсказания изображения.

Как показано на фиг.2А, видеокодер 20 может включать в себя модуль 41 предсказания, сумматор 50, модуль 52 преобразования, модуль 54 квантования и блок 56 энтропийного кодирования. В примере, модуль 41 предсказания может включать в себя блок 42 оценки движения, блок 44 компенсации движения и блок 46 внутреннего предсказания. Внутренняя структура модуля 41 предсказания не ограничена в этом варианте осуществления настоящего изобретения. В качестве варианта, для видеокодера с гибридной архитектурой видеокодер 20 может дополнительно включать в себя модуль 58 обратного квантования, модуль 60 обратного преобразования и сумматор 62.

В возможной реализации фиг.2А, видеокодер 20 может дополнительно включать в себя блок разделения (не показан) и память 64 опорных изображений. Следует понимать, что блок разделения и память 64 опорных изображений могут альтернативно располагаться вне видеокодера 20.

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

Как показано на фиг.2А, видеокодер 20 принимает видеоданные, и блок разделения разделяет данные на блоки изображения. Такое разделение может дополнительно включать в себя разделение на сегменты, блоки изображений или другие более крупные блоки, например, разделение блоков изображений на основании структур дерева квадрантов LCU и CU. Обычно, сегмент может быть разделен на множество блоков изображений.

Модуль 41 предсказания выполнен с возможностью генерировать блок предсказания текущего блока кодированного изображения. Модуль 41 предсказания может выбирать один из множества возможных режимов декодирования текущего блока изображения, например, одного из множества режимов внутреннего декодирования или одного из множества режимов внешнего декодирования, на основании качества кодирования и результата вычисления стоимости. (например, стоимость искажения скорости, RDcost). Модуль 41 предсказания может предоставлять блок с внутренним декодированием или внешним декодированием в сумматор 50 для генерирования остаточных данных блока и предоставлять блок с внутренним декодированием или внешним декодированием в сумматор 62 для восстановления кодированного блока и использования восстановленного блока в качестве опорного изображения.

Блок 42 оценки движения и блок 44 компенсации движения в модуле 41 предсказания выполняют декодирование с внешним предсказанием для текущего блока изображения относительно одного или более блоков предсказания в одном или нескольких опорных изображениях для обеспечения временного сжатия. Блок 42 оценки движения выполнен с возможностью определять режим внешнего предсказания для сегмента видео на основании предварительно установленного режима видеопоследовательности. В предварительно установленном режиме сегмент видео в последовательности может быть задан как сегмент P, сегмент B или сегмент GPB. Блок 42 оценки движения и блок 44 компенсации движения могут быть интегрированы с высокой степенью, но описаны отдельно для пояснения концепций. Оценка движения, выполняемая блоком 42 оценки движения, представляет собой процесс генерирования вектора движения для оценки блока изображения. Например, вектор движения может свидетельствовать о перемещении PU блока изображения в текущем кадре видео или изображение относительно блока предсказания в опорном изображении.

Блок предсказания является блоком в PU, который, на основании разности пикселей, находится в точном соответствии с блоком изображения, подлежащим декодированию, и разность пикселей может быть определена на основании суммы абсолютных разностей (SAD), суммы квадратов разностей (SSD) или другого показателя разницы. В некоторых возможных реализациях видеокодер 20 может вычислить значение суб-целого числа (sub-integer) позиции пикселя опорного изображения, сохраненного в памяти 64 опорного изображения.

Сравнивая позицию PU и позицию блока предсказания опорного изображения, блок 42 оценки движения вычисляет вектор движения PU блока изображения в сегменте с внешним декодированием. Опорное изображение может быть выбрано из первого списка опорных изображений (список 0) или второго списка опорных изображений (список 1). Каждый элемент в списке идентифицирует одно или несколько опорных изображений, хранящихся в памяти 64 опорных изображений. Блок 42 оценки движения отправляет вычисленный вектор движения в блок 56 энтропийного кодирования и блок 44 компенсации движения.

Компенсация движения, выполняемая блоком 44 компенсации движения, может включать в себя абстрагирование или генерирование блока предсказания на основании вектора движения, определенного посредством оценки движения, и может выполняться интерполяция на уровне суб-пикселя. После приема вектора движения PU текущего блока изображения блок 44 компенсации движения может найти блок предсказания, на который указывает вектор движения, в одном из списков опорных изображений. Видеокодер 20 вычитает значение пикселя блока предсказания из значения пикселя текущего блока изображения, который декодируется, для получения блока остаточного изображения и получения разности пикселей. Разность пикселей формирует остаточные данные блока и может включать в себя компонент разности яркости и компонент разности цветности. Сумматор 50 представляет собой один или несколько компонентов, выполняющих операцию вычитания. Блок 44 компенсации движения может дополнительно генерировать синтаксический элемент, связанный с блоком изображения и сегментом видео, для видеодекодера 30, чтобы декодировать блок изображения сегмента видео. Далее подробно описан процесс предсказания изображения в вариантах осуществления настоящего изобретения со ссылкой на фиг.3, фиг.10 по фиг.12 и фиг.14 по фиг.17. Подробности здесь не описаны.

Блок 46 внутреннего предсказания в модуле 41 предсказания может выполнять декодирование с внутренним предсказанием для текущего блока изображения относительно одного или более соседних блоков в изображении или сегменте, который является таким же, как текущий блок, который должен быть декодирован, чтобы обеспечить пространственное сжатие. Следовательно, в качестве альтернативы внешнего предсказания (как описано выше), выполняемого блоком 42 оценки движения и блоком 44 компенсации движения, Блок 46 внутреннего предсказания может выполнять внутреннее предсказание для текущего блока. Конкретно, блок 46 внутреннего предсказания может определять режим внутреннего предсказания для кодирования текущего блока. В некоторых возможных реализациях блок 46 внутреннего предсказания может (например) использовать различные режимы внутреннего предсказания для кодирования текущего блока во время отдельного прохождения кодирования, и блок 46 внутреннего предсказания (или в некоторых возможных реализациях, блок 40 выбора режима) может выбирать из протестированных режимов подходящий режим внутреннего предсказания.

После того, как модуль 41 предсказания генерирует блок предсказания текущего блока изображения путем выполнения внешнего предсказания или внутреннего предсказания, видеокодер 20 генерирует блок остаточного изображения путем вычитания блока предсказания из текущего блока изображения. Остаточные видеоданные в остаточном блоке могут быть включены в один или несколько TUs и применены к модулю 52 преобразования. Модуль 52 преобразования выполнен с возможностью преобразовывать разностное значение между исходным блоком текущего блока кодированного изображения и блоком предсказания текущего блока изображения. Модуль 52 преобразования преобразует остаточные данные в коэффициент остаточного преобразования путем выполнения, например, дискретного косинусного преобразования (DCT) или концептуально подобного преобразования (например, дискретного синусоидального преобразования DST). Модуль 52 преобразования может преобразовывать остаточные видеоданные из данных в области пикселей для преобразования данных в области преобразования (например, в частотной области).

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

После квантования модуль 56 энтропийного кодирования может выполнять энтропийное кодирование для квантованного коэффициента преобразования. Например, модуль 56 энтропийного кодирования может выполнять основанное на контексте адаптивное декодирование с переменной длиной (CAVLC), основанное на контексте адаптивное двоичное арифметическое декодирование (CABAC), основанное на синтаксисе контекстно-адаптивное двоичное арифметическое декодирование (SBAC), энтропию разделения вероятностей с интервалом вероятности (PIPE) декодирование или другой способ или технологию энтропийного кодирования. Модуль 56 энтропийного кодирования также может выполнять энтропийное кодирование для вектора движения и другого синтаксического элемента, которые имеют текущий сегмент видео, который кодируется. После того, как модуль 56 энтропийного кодирования выполняет энтропийное кодирование, кодированный битовый поток может быть передан в видеодекодер 30 или сохранен для последующей передачи или поиска видеодекодером 30.

Модуль 58 обратного квантования и модуль 60 обратного преобразования выполняет обратное квантование и обратное преобразование соответственно, чтобы восстановить остаточный блок в пиксельной области в качестве опорного блока опорного изображения. Сумматор 62 добавляет восстановленный остаточный блок к блоку предсказания, сгенерированного модулем 41 предсказания, чтобы генерировать восстановленный блок и использует восстановленный блок в качестве опорного блока для хранения в памяти 64 опорного изображения. Опорный блок может быть использован блоком 42 оценки движения и блоком 44 компенсации движения в качестве опорного блока для выполнения внешнего предсказания на блоке в последующем видеокадре или изображении.

Следует понимать, что для кодирования видеопотока может использоваться другой структурный вариант видеокодера 20. Например, для некоторых блоков изображения или кадров изображения остаточный сигнал может быть квантован непосредственно видеокодером 20 без обработки модулем 52 преобразования и, соответственно, остаточный сигнал не должен обрабатываться модулем 58 обратного преобразования. Альтернативно, для некоторых блоков изображений или кадров изображений видеокодер 20 не генерирует остаточные данные и, соответственно, модуль 52 преобразования, модуль 54 квантования, модуль 58 обратного квантования и модуль 60 обратного преобразования не должны выполнять никакой обработки. В качестве альтернативы, восстановленный блок изображения может непосредственно храниться в виде опорного блока с помощью видеокодера 20 без обработки с помощью фильтра. Альтернативно, модуль 54 квантования и модуль 58 обратного квантования в видеокодере 20 могут быть интегрированы. Альтернативно, модуль 52 преобразования и модуль 60 обратного преобразования в видеокодере 20 могут быть объединены. Альтернативно, сумматор 50 и сумматор 62 могут быть объединены.

Фиг.2B является блок-схемой видеодекодера 30 согласно варианту осуществления настоящего изобретения. Также со ссылкой на фиг.3, фиг.10 по фиг.12 и фиг.14 по фиг. 17, видеодекодер 30 может выполнять процесс предсказания изображения и, в частности, блок 82 компенсации движения в видеодекодере 30 может выполнять процесс предсказания изображения.

Как показано на фиг.2B, видеодекодер 30 может включать в себя модуль 80 энтропийного декодирования, модуль 81 обработки предсказания, модуль 86 обратного квантования, модуль 88 обратного преобразования и модуль 90 восстановления. В примере, модуль 81 предсказания может включать в себя блок 82 компенсации движения и блок 84 внутреннего предсказания. Это не ограничено в этом варианте осуществления настоящего изобретения.

В возможной реализации видеодекодер 30 может дополнительно включать в себя память 92 опорных изображений. Следует понимать, что память 92 опорных изображений может альтернативно располагаться вне видеодекодера 30. В некоторых возможных реализациях видеодекодер 30 может выполнить примерный процесс декодирования, обратный процессу кодирования, описанному в видеокодере 20 на фиг.2А.

Во время декодирования видеодекодер 30 принимает от видеокодера 20 поток битов кодированного видео, который представляет блок изображения кодированного сегмента видео и связанный элемент синтаксиса. Видеодекодер 30 может принимать элемент синтаксиса на уровне сегмента видео и/или на уровне блока изображения. Модуль 80 энтропийного декодирования видеодекодера 30 выполняет энтропийное декодирование в битовом потоке для генерирования квантованного коэффициента и некоторых синтаксических элементов. Модуль 80 энтропийного декодирования направляет элемент синтаксиса в модуль 81 предсказания. В настоящем изображении в примере элемент синтаксиса в данном документе может включать в себя данные внешнего предсказания, относящиеся к текущему блоку изображения, и данные внешнего предсказания могут включать в себя идентификатор индекса block_based_index, чтобы указать, какая информация движения (также упоминаемая как начальная информация движения текущего блока изображения) используется текущим блоком изображения. В качестве варианта, данные внешнего предсказания могут дополнительно включать в себя флаг переключения block_based_enable_flag, чтобы указывать, выполнять ли предсказание изображения для текущего блока изображения с использованием фиг.3 или фиг.14 (иными словами, чтобы указать, выполнять ли внешнее предсказание для текущего блока изображения с использованием ограничения зеркала MVD, предложенного в настоящем изобретении), или же выполнять предсказание изображения для текущего блока изображения с использованием фиг.12 или фиг.16 (другими словами, чтобы указать, следует ли выполнять внешнее предсказание для текущего блока изображения, используя пропорциональные отношения, основанные на расстоянии во временной области и предложенные в настоящем изобретении).

Когда сегмент видео декодируется в сегмент с внутренним декодированием (I), блок 84 внутреннего предсказания модуля 81 предсказания может генерировать блок предсказания блока изображения текущего сегмента видео на основании уведомленного режима внутреннего предсказания, посылая сигнал и данные ранее декодированного блока из текущего кадра или изображения. Когда сегмент видео декодируется внешне декодированный (а именно, B или P) сегмент, блок 82 компенсации движения модуля 81 предсказания может определять на основании синтаксического элемента, принятого из модуля 80 энтропийного декодирования, режим внешнего предсказания используется для декодирования текущего блока изображения текущего сегмента видео и декодирования (например, выполнения внешнего предсказания) текущего блока изображения на основании определенного режима внешнего предсказания. В частности, блок 82 компенсации движения может определить, какой способ предсказания изображения используется для предсказания текущего блока изображения текущего сегмента видео, например, синтаксический элемент указывает, что способ предсказания изображения, основанный на ограничении зеркала MVD, должен использоваться для предсказания текущего блока изображения. Информация движения текущего блока изображения текущего сегмента видео предсказывается или уточняется, чтобы получить или с помощью процесса компенсации движения получить или сгенерировать блок предсказания текущего блока изображения с использованием предсказанной информации движения текущего блока изображения. Информация движения в настоящем документе, может включать в себя информацию опорного изображения и вектор движения. Информация опорного изображения может включать в себя, но не ограничивается однонаправленной/двунаправленной информации предсказания, опорный кадром, номер списка и индекс опорного изображения, соответствующий списку опорных изображений. Для внешнего предсказания блок предсказания может быть сгенерирован из одного из опорных изображений в одном из списков опорных изображений. Видеодекодер 30 может сформировать списки опорных изображений, а именно, список 0 и список 1, на основании опорных изображений, сохраненных в памяти 92 опорного изображения. Индекс опорного изображения текущего кадра может быть включен в один из или оба в список 0 опорных кадров и список 1 опорных кадров. В некоторых случаях видеокодер 20 может отправлять сигнал, чтобы указать, какой новый способ предсказания изображения используется.

В этом варианте осуществления модуль 81 предсказания выполнен с возможностью генерировать блок предсказания текущего блока изображения кодирования. В частности, когда сегмент видео декодируется в сегмент внутреннего декодирования (I), блок 84 внутреннего предсказания модуля 81 предсказания может генерировать блок предсказания блока изображения текущего сегмента видео на основании переданного в режиме внутреннего предсказания сигнала и данные ранее декодированного блока изображения из текущего кадра или изображения. Когда видеоизображение декодируется в интер-декодированный (например, B, P или GPB) сегмент, блок 82 компенсации движения модуля 81 предсказания генерирует блок предсказания блока изображения текущего видеоизображения на основании вектора движения и другие элементы синтаксиса, которые принимаются из блока 80 энтропийного декодирования.

Модуль 86 обратного квантования выполняет обратное квантование, а именно, деквантовывает квантованный коэффициент преобразования, предоставленный в битовом потоке, полученный модулем 80 энтропийного декодирования, посредством декодирования. Процесс обратного квантования может включать в себя: определение степени квантования, подлежащей применению, с использованием параметра квантования, вычисленного видеокодером 20 для каждого блока изображения в сегменте видео, и аналогичным образом определения степени обратного квантования, подлежащего применению. Модуль 88 обратного преобразования выполняет обратное преобразование, например обратное DCT, обратное целочисленное преобразование или концептуально подобный процесс обратного преобразования, коэффициента преобразования, чтобы сгенерировать остаточный блок в пиксельной области.

После того, как блок 82 компенсации движения генерирует блок предсказания для текущего блока изображения, видеодекодер 30 суммирует остаточный блок из модуля 88 обратного преобразования и соответствующего блока предсказания, сгенерированного модулем 82 компенсации движения, для получения восстановленного блока, а именно, блок декодированного изображения. Сумматор 90 представляет компонент, который выполняет операцию суммирования. Когда необходимо, контурный фильтр (в цикле декодирования или после цикла декодирования) может дополнительно использоваться для обеспечения плавного преобразования пикселей, или качество видео может быть улучшено другим способом. Блок фильтра (не показан) может представлять один или несколько контурных фильтров, например, деблокирующий фильтр, адаптивный петлевой фильтр (ALF) и фильтр выборочного адаптивного смещения (SAO). Дополнительно, декодированный блок изображения в заданном кадре или изображениях может дополнительно быть сохранен в буфере 92 декодированного изображения, и буфер 92 декодированного изображения хранит опорное изображение, используемое для последующей компенсации движения. Буфер 92 декодированных изображений может быть частью памяти и может дополнительно хранить декодированное видео для последующего представления на устройстве отображения (например, устройство 32 отображения на фиг.1). Альтернативно, буфер 92 декодированных изображений может быть отделен от такой памяти.

Следует понимать, что другой структурный вариант видеодекодера 30 может использоваться для декодирования кодированного потока битов видео. Например, видеодекодер 30 может генерировать выходной видеопоток без обработки блоком фильтра. Альтернативно, для некоторых блоков изображения или кадров изображения модуль 80 энтропийного декодирования видеодекодера 30 не получает квантованный коэффициент посредством декодирования и, соответственно, обработка модулем 86 обратного квантования и модуль 88 обратного преобразования не требуется. Например, модуль 86 обратного квантования и модуль 88 обратного преобразования в видеодекодере 30 могут быть интегрированы.

Фиг.3 является блок-схемой последовательности операций способа предсказания изображения согласно варианту осуществления настоящего изобретения. Способ, показанный на фиг.3, может выполняться устройством для кодирования видео, видеокодеком, системой для кодирования видео или другим устройством, имеющим функцию кодирования видео. Способ, показанный на фиг.3, может использоваться в процессе кодирования или процессе декодирования. Более конкретно, способ, показанный на фиг.3 может использоваться в процессе внешнего предсказания во время кодирования или декодирования. Процесс 300 может выполняться видеокодером 20 или видеодекодером 30 и, в частности, может выполняться блоком компенсации движения видеокодера 20 или видеодекодером 30. Предполагается, что для потока видеоданных с множеством видеокадров, видеокодер или видеодекодер используется для выполнения процесса 300, включающего в себя следующие этапы, для предсказания предсказанного значения пикселя текущего блока изображения текущего видеокадра.

Способ, показанный на фиг.3 включает в себя этапы с 301 по 304, и этапы с 301 по 304 подробно описаны ниже.

301: получить начальную информацию движения текущего блока изображения.

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

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

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

Способ 1

Ссылаясь на фиг.4 и фиг.5, в режиме объединения внешнего предсказания формируют список кандидатов информации движения на основании информации движения соседнего блока текущего блока изображения, и часть кандидатов информации движения выбирается из списка кандидатов информации движения в качестве начальной информации движения текущего блока изображения. Список кандидатов информации движения включает в себя вектор движения, информацию индекса опорного изображения, и тому подобное. Например, информация движения соседнего блока A0 (со ссылкой на кандидата информации движения, индекс которой равен 0 на фиг.5) выбирается в качестве начальной информации движения текущего блока изображения. В частности, вектор движения вперед A0 используется в качестве вектора движения с предсказанием вперед текущего блока, и вектор движения назад A0 используется в качестве вектора движения с предсказанием назад текущего блока.

Способ 2

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

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

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

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

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

Соответственно, этап 302 может включать в себя:

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

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

В примере, ссылаясь на фиг.7, позиции N опорных блоков для предсказания вперед включают в себя позицию (обозначенную (0, 0)) начального опорного блока для предсказания вперед и позиции (обозначается (0, -1), (-1, -1), ( -1, 1), (1, -1), (1, 1), и тому подобное) (N-1) кандидатов опорных блоков для предсказания вперед, и смещение позиции каждого кандидата опорного блоков для предсказания вперед по отношению к позиции начального опорного блока для предсказания вперед является целым числом пикселей расстояния (как показано на фиг.8.) или дробное значение пикселей расстояния, где N = 9; или позиции N опорных блоков для предсказания назад включают в себя позицию начального опорного блока для предсказания назад и позиции (N - 1) кандидатов опорных блоков для предсказания назад, и смещение позиции каждого кандидата опорного блока для предсказания назад относительно позиции начального опорного блока для предсказания назад представляет собой целое расстояние в пикселях или дробное расстояние в пикселях, где N = 9.

Ссылаясь на фиг.8, в процессе оценки движения или компенсации движения точность MV может быть точностью дробной пикселя (например, точность 1/2 пикселя или точность 1/4 пикселя). Если изображение имеет только значение пикселя целочисленного пикселя, и текущая точность MV является точность дробных пикселей, интерполяция должна быть выполнена с помощью фильтра интерполяции и путем использования значения пикселя целочисленного пиксельного позиции опорного изображения, чтобы получить значение пикселя позиции дробного пикселя, и полученное значение пикселя используется в качестве значения блока предсказания текущего блока. Конкретный процесс интерполяции связан с используемым фильтром интерполяции. Обычно значение пикселя целочисленной выборки вокруг опорной выборки может быть линейно взвешено для получения значения опорной выборки. Обычные интерполяционные фильтры включают в себя интерполяционные фильтры с 4, 6 или 8-отводами и тому подобное.

Как показано на фиг.7 Ai,j представляет собой выборку в позиции целого пикселя, и ее ширина в битах равна bitDepth. a0,0, b0,0, c0,0, d0,0, h0,0, n0,0, e0,0, i0,0, p0,0, f0,0, j0,0, q0,0, g0, 0, k0,0 и r0,0 являются выборками в позициях дробного пикселя. Если используется 8-отводный интерполяционный фильтр, a0,0 можно получить путем расчета по следующей формуле:

а0,0 = (С0 * А-3,0 + С1 * A-2,0 + С2 * A-1,0 + С3 * A0,0 + С4 * A1,0 + С5 * A2,0 + С6 * А3,0 + C7 * A4,0) >> shift1

В вышеприведенной формуле Ck является коэффициентом фильтра интерполяции, и k = 0, 1, ..., 7. Если сумма коэффициентов фильтра интерполяции равна 2 в степени N, усиление фильтра интерполяции равно N. Например, N, равное 6, указывает, что коэффициент усиления фильтра интерполяции равен 6 битам. shift1 является количеством битов правого сдвига, и shift1 может быть установлен в bitDepth-8, где bitDepth является целевой ширины в битах. Таким образом, на основании вышеприведенной формулы окончательно полученная ширина в битах значения пикселя блока предсказания составляет bitDepth + 6 - shift1 = 14 битов.

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

Ссылаясь на фиг.9, смещение позиции кандидата опорного блока 904 для предсказания вперед в опорном изображении Ref0 для предсказания вперед по отношению к позиции начального опорного блока 902 для предсказания вперед (а именно, базовой точки поиска вперед) является MVD0 (delta0x, delta0y). Смещение позиции кандидата опорного блока 905 для предсказания назад в опорном изображении Ref1 для предсказания назад по отношению к позиции начального опорного блока 903 для предсказания назад (а именно, базовая точка поиска назад) является MVD1 (delta1x, delta1y).

MVD0 = -MVD1, а именно:

delta0x = -delta1x; и

delta0y = -delta1y.

В другом примере этап 303 может включать в себя:

определение, с позиций М пар опорных блоков (один опорный блок для предсказания вперед и один опорный блок для предсказания назад), что позиции пары опорных блоков с минимальной ошибкой соответствия являются позицией целевого опорного блока для предсказания вперед текущего блока изображения и позицией целевого опорного блока для предсказания назад текущего блока изображения; или определение, с позиций М пар опорных блоков, что позиции пары опорных блоков с ошибкой соответствия, меньше или равной пороговому значению ошибки соответствия, являются позицией целевого опорного блока для предсказания вперед текущего блока изображения и позицией целевого опорного блока для предсказания назад текущего блока изображения, где М меньше или равно N. Дополнительно, разница между значением пикселя опорного блока для предсказания вперед и значением пикселя в опорном блоке может быть измерена с помощью суммы абсолютных разностей (sum of absolute differences, SAD), суммы абсолютных разностей преобразований (sum of absolute transformation differences, SATD), суммы абсолютных квадратичных разниц и т.п.

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

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

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

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

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

Далее подробно описывается способ предсказания изображения в вариантах осуществления настоящего изобретения со ссылкой на фиг.10.

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

Способ, показанный на фиг.10, включает в себя этапы 1001-1007, и этапы 1001-1007 подробно описаны ниже.

1001: получить начальную информацию движения текущего блока.

Например, для блока изображения, у которого режим внешнего предсказания/кодирования является режимом объединения, группа информации движения получается из списка кандидатов объединения на основании индекса объединения, и информация движения является начальной информацией движения текущего блока. Например, для блока изображения, в котором режимом внешнего предсказания/кодирования является AMVP, MVP получается из списка кандидатов MVP на основании индекса режима AMVP, и MV текущего блока получается путем получения суммы MVP и MVD, включенный в поток битов. Начальная информация движения включает в себя информацию указания опорного изображения и вектор движения. Опорное изображение для предсказания вперед и опорное изображение для предсказания назад определяются с использованием информации указания опорного изображения. Позиция опорного блока для предсказания вперед и позиция опорного блока для предсказания назад определяется с использованием вектора движения.

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

В частности, базовая точка поиска (упоминается как первая базовая точка поиска ниже) в опорном изображении для предсказания вперед получается на основании MV вперед и позиции информации текущего блока. Например, MV информация вперед является (MV0x, MV0y). Информация позиции текущего блока является (B0x, B0y). Первая базовая точка поиска в опорном изображении для предсказания вперед (MV0x + B0x, MV0y + b0y).

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

В частности, базовая точка поиска (упоминается как вторая базовая точка поиска ниже) в опорном изображении получается на основании MV назад и информации позиции текущего блока. Например, MV назад представляет собой (MV1x, MV1y). Информация позиции текущего блока является (B0x, B0y). Вторая базовая точка поиска в опорном изображении для предсказания назад является (MV1x + B0x, MV1y + B0y).

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

MVD зеркальное ограничение может быть представлено следующим образом: смещение позиции блока в опорном изображении для предсказания вперед по отношению к базовой точке поиска вперед является MVD0 (delta0x, delta0y). Смещение позиции блока в опорном изображении для предсказания назад по отношению к базовой точке поиска назад является MVD1 (delta1x, delta1y). Удовлетворены следующие отношения:

MVD0 = -MVD1, а именно:

delta0x = -delta1x; и

delta0y = -delta1y.

Ссылаясь на фиг.7, в опорном изображении для предсказания вперед выполняют этап поиск движения целого числа пикселей с помощью поиска базовой точки (обозначается (0, 0)) в качестве начальной точки. Этап целого числа пикселов, что смещение позиции кандидата опорного блока по отношению к базовой точке поиска является целым числом пикселей расстояния. Следует отметить, что независимо от того, является ли базовая точка поиска целочисленной выборкой (начальной точкой может быть целочисленный пиксель или суб-пиксель, например, 1/2, 1/4, 1/8 или 1/16), поиск движение этапа целого числа пикселя может быть выполнен, во-первых, чтобы получить позицию опорного блока текущего блока изображения вперед. Следует понимать, что, когда поиск выполняется с использованием этапа целочисленного пикселя, начальная точка поиска может представлять собой целочисленный пиксель или дробный пиксель, например, целочисленный пиксель, 1/2 пикселя, 1/4 пикселя. 1/8 пикселя или 1/16 пиксель.

Как показано на фиг.7, точка (0, 0), используется в качестве базовой точки поиска, и восемь поисковых точек на этапе целого числа пикселей вокруг базовой точки поиска выполняются поиском, чтобы получить позицию, соответствующую кандидату опорного блока. Фиг.7 показывает восемь возможных опорных блоков. Если смещение позиции кандидата опорного блока для предсказания вперед в опорном изображении для предсказания вперед по отношению к позиции базовой точки поиска вперед является (-1, -1), смещение позиции, соответствующего кандидату опорного блока для предсказания назад в опорном изображении по отношению к позиции базовой точки поиска назад (1, 1). Следовательно, получают позиции парных кандидатов опорных блоков для предсказания вперед и назад. Для полученных позиций пары опорных блоков вычисляется стоимость соответствия между двумя соответствующими кандидатами опорными блоками. Опорный блок для предсказания вперед и опорный блок для предсказания назад, которые имеют минимальную стоимость соответствия, выбираются в качестве оптимального опорного блока для предсказания вперед и оптимального опорного блока для предсказания назад, и получают оптимальный вектор движения вперед и оптимальный вектор движения назад.

1005 и 1006: выполнить процесс компенсации движения с использованием оптимального вектора движения вперед, полученного на этапе 1004, чтобы получить значение пикселя для оптимального опорного блока для предсказания вперед; и выполнять процесс компенсации движения, используя оптимальный вектор движения назад, полученный на этапе 1004, чтобы получить значение пикселя для оптимального опорного блока для предсказания назад.

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

В частности, предсказанное значение значения пикселя текущего блока изображения может быть получено на основании формулы (2):

predSamples '[x] [y] = (predSamplesL0' [x] [y] + predSamplesL1 '[x] [y] +1) >> 1 (2)

В приведенной выше формуле predSamplesL0' является оптимальным опорным блоком для предсказания вперед, predSamplesL1' является оптимальным опорным блоком, для предсказания назад, predSamples' является блоком предсказания текущего блока изображения, predSamplesL0' [x] [y] является значением пикселя оптимального опорного блока для предсказания вперед на выборке (х, у), predSamplesL1 «[х] [у] является значением пикселя оптимального опорного блока для предсказания назад на выборке (х, у) и predSamples’ [х] [у] является конечным значением пикселя блока предсказания в выборке (x, y).

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

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

Следует отметить, что в этом варианте осуществления настоящего изобретения способ вычисления стоимости соответствия не ограничен. Например, может использоваться критерий SAD, критерий MR-SAD или другой критерий. Дополнительно, стоимость соответствия может быть рассчитана с использованием только компонента яркости или с использованием как компонента яркости, так и компонента цветности.

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

Следует понимать, что последовательность этапа 1005 и этапа 1006 не ограничена, и они могут выполняться одновременно или могут выполняться последовательно.

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

Фиг.11 является блок-схемой последовательности операций способа предсказания изображения согласно варианту осуществления настоящего изобретения. Способ, показанный на фиг.11, может выполняться устройством для кодирования видео, видеокодеком, системой для кодирования видео или другим устройством, имеющим функцию кодирования видео. Способ, показанный на фиг.11, включает в себя этапы 1101 - 1105. Для этапов 1101 - 1103 и этапа 1105 см. описания этапов 1001 - 1003 и этапа 1007 на фиг.10. Подробности не описаны здесь снова.

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

Например, необходимо пересмотреть позиции N пар опорных блоков. Costi представляет собой i-ю стоимость соответствия и MinCost указывает текущую минимальную стоимость соответствия. BFI представляет собой значение пикселя опорного блока для предсказания вперед, и Bbi является значением пикселя опорного блока для предсказания назад, где значение пикселей, полученных в течение i-го времени. BestBf является значением текущего оптимального опорного блока для предсказания вперед и BestBb является значением текущего оптимального опорного блока для предсказания назад. CalCost (M, N) представляет собой стоимость соответствия блока M и блока N.

Когда начинается поиск (i = 1), MinCost = Cost0 = CalCost (Bf0, Bb0), BestBf = Bf0 и BestBb = Bb0.

Когда впоследствии проходят другие пары опорных блоков, обновление BestBf и BestBb выполняется в режиме реального времени. Например, когда выполняется i-й (i> 1) раунд поиска, если Costi <MinCost, BestBf = Bfi и BestBb = Bbi; в противном случае, обновление не выполняется.

Когда поиск заканчивается, BestBf и BestBb используются для получения предсказанного значения пикселя текущего блока.

Фиг.12 является блок-схемой последовательности операций способа предсказания изображения согласно варианту осуществления настоящего изобретения. Способ, показанный на фиг.12, может выполняться устройством для кодирования видео, видеокодеком, системой для кодирования видео или другим устройством, имеющим функцию кодирования видео. Способ, показанный на фиг.12, может использоваться в процессе кодирования или процессе декодирования. Более конкретно, способ, показанный на фиг.12, может использоваться в процессе внешнего предсказания во время кодирования или декодирования. Процесс 1200 может выполняться видеокодером 20 или видеодекодером 30 и, в частности, может выполняться блоком компенсации движения видеокодера 20 или видеодекодером 30. Предполагается, что для потока видеоданных с множеством видеокадров, видеокодер или видеодекодер используется для выполнения процесса 1200, включающего в себя следующие этапы, для получения предсказанного значения пикселя текущего блока изображения текущего видеокадра.

Способ, показанный на фиг.12, включает в себя этапы с 1201 по 1204. Для этапа 1201, этапа 1202 и этапа 1204 см. описания этапа 301, этапа 302 и этапа 304 на фиг.3. Подробности не описаны здесь снова.

Различие между этим вариантом осуществления настоящего изобретения и вариантом осуществления, показанным на фиг.3 заключается в следующем: на этапе 1203, с позиций M пар опорных блоков на основании критерия стоимости соответствия, позиции пары опорных блоков определяются как позиция целевого опорного блока для предсказания вперед текущего блока изображения и позиция целевой обратного опорного блок для предсказания назад текущего блока изображения, где позиция каждой пары опорных блоков включает в себя позицию опорного блока для предсказания вперед и позицию опорного блока для предсказания назад; для позиций каждой пары опорных блоков, первое смещение позиции и второе смещение позиции находится в пропорциональной зависимости, основанной на расстоянии временной области, первое смещение позиции представляет собой смещение позиции опорного блока для предсказания вперед по отношению к позиции начального опорного блока, и второе смещение позиции представляет смещение позиции опорного блока для предсказания назад по отношению к позиции начального опорного блока для предсказания назад; и М является целым числом, большим или равным 1, и М является меньшим или равным N.

Ссылаясь на фиг.13, смещение позиции кандидата опорного блока 1304 для предсказания вперед в опорном изображении Ref0 для предсказания вперед по отношению к позиции начального опорного блока 1302 для предсказания вперед (а именно, базовой точки поиска вперед) является MVD0 (delta0x, delta0y). Смещение позиции кандидата опорного блока 1305 для предсказания назад в опорном изображении REF1 для предсказания назад по отношению к позиции начального опорного блока 1303 для предсказания назад (а именно, базовой точки поиска назад) является MVD1 (delta1x, delta1y).

В процессе поиска смещения позиции двух блоков соответствия соответствуют зеркальной взаимосвязи, и в зеркальной взаимосвязи необходимо учитывать интервал временной области. При этом, ТС, Т0, Т1 и, соответственно, представляет собой момент текущего кадра, момент опорного изображения для предсказания вперед и момент опорного изображения для предсказания назад. TD0 и TD1 указывают временные интервалы между двумя моментами.

TD0 = Тс-Т0; и

TD1 = TC-T1.

В конкретном процессе кодирования TD0 и TD1 могут быть вычислены с использованием счетчика порядка изображения (picture order count, POC). Например:

TD0 = POCc - POC0 и

TD1 = РОСС-POC1.

Здесь, РОСС, POC0 и POC1 соответственно представляет собой РОС текущего изображения, POC опорного изображения для предсказания вперед и РОС опорного изображения для предсказания назад. TD0 представляет счетчик порядка изображения (picture order count, POC) расстояния между текущим изображением и опорным изображением для предсказания вперед и TD1 представляет расстояние POC между текущим изображением и опорным изображением для предсказания назад.

delta0 = (delta0x, delta0y); и

delta1 = (delta1x, delta1y).

Зеркальная взаимосвязь учитывает интервал во временной области и описывается следующим образом:

delta0x = (TD0 / TD1) * delta1x; и

delta0y = (TD0 / TD1) * delta1y; или

delta0x / delta1x = (TD0 / TD1); и

delta0y / delta1y = (TD0 / TD1).

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

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

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

Способ, показанный на фиг.14, в частности, включает в себя следующие этапы с 1401 по 1404.

1401: получить информацию движения i-го раунда текущего блока изображения.

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

Если i = 1, информация движения i-го раунда является начальной информацией движения текущего блока изображения.

Если i> 1, информация движения i-го раунда включает в себя вектор движения вперед, указывающий позицию (i-1)-го раунда целевого опорного блока для предсказания вперед, и вектор движения назад, указывающей позицию (i -1)-го раунда целевого опорного блока для предсказания назад.

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

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

Способ 1

Ссылаясь на фиг.4 и фиг.5, в режиме объединения внешнего предсказания, список кандидатов информации движения формируется на основании информации движения соседнего блока текущего блока изображения, и фрагмент кандидата информации движения выбирается из списка кандидатов информации движения в качестве начальной информации движения текущего блока изображения. Список кандидатов информации движения включает в себя вектор движения, информацию индекса опорного изображения, и тому подобные. Например, информация движения соседнего блока A0 (ссылающаяся на кандидата информации движение, индекс которой равен 0 на фиг.5) выбирается в качестве начальной информации движения текущего блока изображения. В частности, вектор движения вперед A0 используется в качестве вектора движения для предсказания вперед текущего блока, и вектор движения назад A0 используется в качестве вектора движения предсказанием назад текущего блока.

Способ 2

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

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

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

В качестве примера, информация движения i-го раунда включает в себя вектор движения вперед, индекс опорного изображения для предсказания вперед, вектор движения назад и индекс опорного изображения для предсказания назад.

Соответственно, этап 1402 может включать в себя:

определение, на основании вектора движения вперед и позиции текущего блока изображения, позиции (i-1)-го раунда целевого опорного блока для предсказания вперед текущего блока изображения в опорном изображении для предсказания вперед, соответствующий индексу опорного изображения для предсказания вперед, используя позицию (i-1)-го раунда целевого опорного блока для предсказания вперед в качестве начальной точки поиска if, и определение позиций (N-1) кандидатов опорных блоков для предсказания вперед в опорном изображении для предсказания вперед; и

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

В примере, ссылаясь на фиг.7, позиции N опорных блоков для предсказания вперед включают в себя позицию (обозначенную (0,0)) i-го раунда целевого опорного блока для предсказания вперед и позицию (обозначенную (0, -1), (-1, -1 ), (-1,1), (1, -1), (1,1), и тому подобное) из (N-1) кандидатов опорных блоков для предсказания вперед, а также смещение позиции каждого кандидата опорного блока для предсказания вперед по отношению к позиции i-го раунда целевого опорного блока для предсказания вперед представляет собой расстояние целого числа пикселей (как показано на фиг.8.) или расстояние дробного числа пикселей, где N = 9; или позиции N опорных блоков для предсказания назад включают в себя позицию i-го целевого опорного блока для предсказания назад и позиции (N - 1) кандидатов опорных блоков для предсказания назад, а также смещение позиции каждого кандидата опорного блока для предсказания назад относительно позиции i-го раунда целевого опорного блока для предсказания назад представляет собой расстояние целого числа пикселя или расстояние дробного числа пикселей, где N = 9.

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

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

Ссылаясь на фиг.9, смещение позиции кандидата опорного блоков 904 для предсказания вперед в опорного изображения для предсказания вперед Ref0 по отношению к позиции (i-1)-го раунда целевого опорного блока 902 для предсказания вперед (а именно, базовая точка поиска вперед) является MVD0 (delta0x, delta0y). Смещение позиции кандидата опорного блока 905 для предсказания назад в опорном изображении REF1 для предсказания назад по отношению к позиции в (i-1)-го раунда целевого опорного блока 903 для предсказания назад (а именно, базовая точка поиска назад) является MVD1 (delta1x , delta1y).

MVD0 = -MVD1, а именно:

delta0x = -delta1x; и

delta0y = -delta1y.

В другом примере этап 1403 может включать в себя:

определение, с позиций М пар опорных блоков (один опорный блок для предсказания вперед один опорный блок для предсказания назад), что позиции пары опорных блоков с минимальной ошибкой соответствия являются позицией i-го раунда целевого опорного блоков для предсказания вперед текущего блока изображения и позицией i-го раунда целевого опорного блока для предсказания назад текущего блока изображения; или определение, с позиций М пар опорных блоков, что позиции пары опорных блоков с ошибкой соответствия меньше или равно пороговому значению ошибки соответствия является позицией i-го раунда целевого опорного блока для предсказания вперед блока изображения и позицией i-го раунда целевого опорного блока для предсказания назад текущего блок изображения, где М меньше или равно N. Дополнительно, разница между значением пикселя опорного блока для предсказания вперед и значением пикселя опорного блока для предсказания назад может быть измерен с использованием суммы абсолютных разностей (sum of absolute differences, SAD), суммы абсолютных разностей преобразования (sum of absolute transformation differences, SATD), суммы абсолютных квадратных разностей и т.п.

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

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

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

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

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

Способ, показанный на фиг.15, конкретно включает в себя этапы 1501 - 1508, и этапы 1501 - 1508 подробно описаны ниже.

1501: получить начальную информацию движения текущего блока изображения.

Например, для первого раунда поиска используется начальная информация движения текущего блока. Например, для блока изображения, режим кодирования которого является объединением, информация движения получается из списка кандидатов на объединение на основании индекса режима объединения, и информация движения является начальной информацией движения текущего блока. Например, для блока изображения, режим кодирования которого является AMVP, MVP получается из списка кандидатов MVP на основании индекса режима AMVP, MV текущего блока получается путем получения суммы MVP и MVD в битовом потоке. Для не первого раунда поиска используется информация MV, обновленная в предшествующем раунде поиска. Информация движения включает в себя информацию указания опорного изображения и информацию вектора движения. Опорное изображение для предсказания вперед и опорное изображение для предсказания назад определяются с использованием информации указания опорного изображения. Позиция опорного блока для предсказания вперед и позиции опорного блока для предсказания назад определяются с использованием информации вектора движения.

1502: определить базовую точку поиска в опорном изображении для предсказания вперед.

Базовая точка поиска в опорном изображении для предсказания вперед определяется на основании информации MV вперед и информации позиции текущего блока. Конкретный процесс аналогичен процессу в варианте осуществления на фиг.10 или фиг.11. Например, если информация MV вперед является (MV0x, MV0y) и информация позиции текущего блока является (B0x, b0y), базовая точка поиска в опорном изображении для предсказания вперед является (MV0x + B0x, MV0y + B0y).

1503: определить базовую точку поиска в опорном изображении для предсказания назад.

Базовая точка поиска в опорном изображении для предсказания назад определяется на основании информации MV назад и информации позиции текущего блока. Конкретный процесс аналогичен процессу в варианте осуществления на фиг.10 или фиг.11. Например, если информация MV назад является (MV1x, MV1y) и информация позиции текущего блока является (B0x, b0y), базовая точка поиска в опорном изображении для предсказания назад является (MV1x + B0x, MV1y + B0y).

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

Конкретный процесс поиска аналогичен процессу в варианте осуществления на фиг.10 или фиг.11. Подробности не описаны здесь снова.

1505. Определить, удовлетворяется ли условие завершения итерации и, если условие завершения итерации не выполняется, выполнить этапы 1502 и 1503. Если условие завершения итерации выполнено, выполняются этапы 1506 и 1507.

Реализация условия завершения итеративного поиска здесь не ограничена. Например, проход может быть выполнен на основании заданного количества L итераций, или выполняется другое условие завершения итерации. Например, после получения результата текущей операции итерации, если MVD0 близко или равно 0, MVD1 близко или равно 0, например, MVD0 = (0, 0) и MVD1 = (0, 0 ), операция итерации может быть прекращена.

L представляет собой предварительно установленное значение и представляет собой целое число, большее 1. L может быть числовым значением, которое было предварительно установлено до предсказания изображения; цифровое значение L может быть установлено на основании точности предсказания изображения и сложности при поиске блока предсказания; L может быть установлено на основании статистического эмпирического значения; или L может быть определено на основании проверки по результатам промежуточного процесса поиска.

Например, в этом варианте осуществления выполняются два раунда поиска в общей сложности с использованием шага целого пикселя. Во время первого раунда поиска, позиция начального опорного блока для предсказания вперед может быть использовано в качестве базовой точки поиска, а также позиции (N-1) кандидатов опорных блоков для предсказания вперед определяются в опорном изображении для предсказания вперед (также упоминается как опорная область для предсказания вперед). Позиция начального опорного блока для предсказания назад используются в качестве базовой точки поиска, а также позиции (N-1) кандидатов опорных блоков для предсказания назад определяются в опорном изображении для предсказания назад (также называемый в качестве опорной области для предсказания назад). Для одного или нескольких пар позиций опорного блока в позиции N пар опорных блоков вычисляется стоимость соответствия двух соответствующих опорных блоков, например, стоимость согласования начального опорного блока для предсказания вперед и вычисляется начальный опорный блок для предсказания назад, и вычисляются стоимость согласования кандидата опорного блока для предсказания вперед и кандидата опорного блока для предсказания назад, которые удовлетворяют MVD зеркальному ограничению. Таким образом, получают позицию целевого опорного блока для предсказания вперед первого раунда и позицию целевого опорного блока первого раунда для предсказания назад в первом раунде поиска, и дополнительно получают обновленную информацию движения. Обновленная информация движения включает в себя вектор движения вперед, указывающий, что позиция текущих точек блока изображения в позиции первого раунда целевого опорного блока для предсказания вперед и вектор движения назад, указывающее, что позиция текущих точек блока изображения в позиции в первом раунде целевого опорного блока для предсказания назад. Следует понимать, что обновленная информация движения и начальная информация движения включают в себя тот же индекс опорного изображения и тому подобные. Далее выполняется второй раунд поиска. Позиция первого раунда целевого опорного блока для предсказания вперед используется в качестве базовой точки поиска, а также позиции (N-1) кандидатов опорных блоков для предсказания вперед определяются в опорном изображении для предсказания вперед (также именуемой опорная область для предсказания вперед). Позиция первого раунда целевого опорного блока для предсказания назад используются в качестве базовой точки поиска, и позиции (N-1) кандидатов опорных блоков для предсказания назад определяются в опорном изображении для предсказания назад (также именуемый опорная область назад). Для одной или нескольких пар опорного блока позиций в позиции N пар опорных блоков, вычисляется стоимость согласования двух соответствующих опорных блоков, например, вычисляется стоимость согласования первого раунда целевого опорного блока для предсказания вперед и первого раунда целевого опорного блока для предсказания назад и вычисляется стоимость согласования кандидата опорного блока для предсказания вперед и кандидата опорного блока для предсказания назад, которые удовлетворяют MVD зеркальному ограничению. Таким образом, получают позицию второго раунда целевого опорного блока для предсказания вперед и позицию второго раунда целевого опорного блока для предсказания назад во втором раунде поиска и дополнительно получают обновленную информацию движения. Обновленная информация движения включает в себя вектор движения вперед, указывающий, что позиция текущих точек изображения блока в позиции второго раунда целевого опорного блока для предсказания вперед и вектор движения назад, указывающий, что позиция текущих точек изображения блока в позиции второго раунда целевого опорного блока для предсказания назад. Следует понимать, что обновленная информация движения и начальная информация движения включать в себя другую такую же информацию, такую как индекс опорного изображения. Когда заданное количество L итераций равно 2, во втором процессе поиска в данном документе целевой опорный блок для предсказания вперед второго раунда и целевого опорного блоков для предсказания назад второго раунда являются окончательно полученным целевым опорным блоком для предсказания вперед и целевым опорным блоком для предсказания назад (также упоминается в качестве оптимального опорного блока для предсказания вперед и оптимального опорного блока для предсказания назад).

1506 и 1507: выполнить процесс компенсации движения с использованием оптимального вектора движения вперед, полученного на этапе 1504, чтобы получить значение пикселя для оптимального опорного блока для предсказания вперед; и выполнять процесс компенсации движения, используя оптимальный вектор движения назад, полученный на этапе 1504, чтобы получить значение пикселя для оптимального опорного блока для предсказания назад.

1508: получить предсказанное значение значения пикселя текущего блока изображения на основании значения пикселя оптимального опорного блока для предсказания вперед и значения пикселя для оптимального опорного блока для предсказания назад, получаемых на этапах 1506 и 1507.

На этапе 1504, поиск (альтернативно называемый поиском движения) может быть выполнен в опорном изображении для предсказания вперед или опорном изображении для предсказания назад, используя шаг пикселя целого числа, чтобы получить позицию, по меньшей мере, одного опорного блока для предсказания вперед и позицию, по меньшей мере, одного опорного блока для предсказания назад. Когда поиск выполняется с использованием шага целочисленного пикселя, начальная точка поиска может быть целочисленным пикселем или дробным пикселем, например, целочисленным пикселем, 1/2 пикселя, 1/4 пикселя, 1/8 пикселя или 1/16 пикселя.

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

На этапе 1504, для позиций каждой пары опорных блоков, когда вычисляется разность между значением пикселя опорного блока для предсказания вперед и значением пикселя соответствующего опорного блока для предсказания назад, разность между значением пикселя каждого опорного блока для предсказания вперед и значением пикселя соответствующего опорного блока для предсказания назад, могут быть измерены с помощью SAD, SATD, суммы абсолютных квадратных разностей или тому подобные. Однако настоящее изобретение этим не ограничено.

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

В частности, предсказанное значение значения пикселя текущего блока изображения может быть получено на основании формулы (8):

predSamples' [x] [y] = (predSamplesL0' [x] [y] + predSamplesL1' [x] [y] +1) >> 1 (8)

В приведенных выше формулах, predSamplesL0’ [х] [у] является значение пикселя оптимального опорного блока для предсказания вперед на выборке (х, у), predSamplesL1’ [х] [у] является значение пикселя оптимального опорного блока для предсказания назад на выборке (x, y), и predSamples' [x] [y] представляет собой значение предсказания пикселя текущего блока изображения на выборке (x, y).

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

Например, необходимо пересмотреть позиции N пар опорных блоков. Costi является i-й стоимостью соответствия, MinCost указывает текущую минимальную стоимость соответствия. BFI представляет собой значение пикселя опорного блока для предсказания вперед, и Bbi является значением пикселя опорного блока для предсказания назад, где значение пикселей, полученных в течение i-го времени. BestBf является значением пикселя текущего оптимального опорного блока для предсказания вперед и BestBb является значением пикселя текущего оптимального опорного блока для предсказания назад. CalCost (M, N) представляет собой стоимость соответствия блока M и блока N.

Когда начинается поиск (i = 1), MinCost = Cost0 = CalCost (Bf0, Bb0), BestBf = Bf0 и BestBb = Bb0.

Когда впоследствии проходят другие пары опорных блоков, обновление выполняется в режиме реального времени. Например, когда выполняется i-й (i> 1) раунд поиска, если Costi <MinCost, BestBf = Bfi и BestBb = Bbi; в противном случае, обновление не выполняется.

Когда поиск заканчивается, BestBf и BestBb используются для получения предсказанного значения пикселя текущего блока.

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

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

Способ 1600, показанный на фиг.16, включает в себя этапы с 1601 по 1604. Для этапа 1601, этапа 1602 и этапа 1604 см. описания этапа 1401, этапа 1402 и этапа 1404 на фиг.14. Подробности не описаны здесь снова.

Различие между этим вариантом осуществления настоящего изобретения и вариантом осуществления, показанным на фиг.14 заключаются в следующем: на этапе 1603, с позиций M пар опорных блоков на основании критерия стоимости соответствия, позиция пары опорных блоков определяются как позиция целевого опорного блока для предсказания вперед текущего блока изображения и позиция целевого опорного блока для предсказания назад текущего блока изображения, где позиции каждой пары опорных блоков включает в себя позицию опорного блока для предсказания вперед и позицию опорного блока для предсказания назад; для позиций каждой пары опорных блоков, первое смещение позиции и второе смещение позиции находится в пропорциональной зависимости, основанной на расстоянии временной области, первое смещение позиции представляет собой смещение позиции опорного блока для предсказания вперед по отношению к позиции начального опорного блока для предсказания вперед, и второе смещение позиции представляет смещение позиции опорного блока для предсказания назад по отношению к позиции начального опорного блока для предсказания назад; и М является целым числом, большим или равным 1, и М является меньшим или равным N.

Ссылаясь на фиг.13, смещение позиции кандидата опорного блока 1304 для предсказания вперед в опорном изображении Ref0 для предсказания вперед по отношению к позиции начального опорного блока 1302 для предсказания вперед (а именно, базовая точка поиска вперед) является MVD0 (delta0x, delta0y). Смещение позиции кандидата опорного блока 1305 для предсказания назад в опорном изображении REF1 для предсказания назад по отношению к позиции начального опорного блока 1303 для предсказания назад (а именно, базовая точка поиска назад) является MVD1 (delta1x, delta1y).

В процессе поиска смещения позиции двух совпадающих блоков соответствуют зеркальной взаимосвязи, и в зеркальной взаимосвязи необходимо учитывать интервал временной области. При этом, ТС, Т0, Т1 и, соответственно, представляет собой момент текущего кадра, момент опорного изображения вперед, и момент обратного опорного изображения. TD0 и TD1 указывают временные интервалы между двумя моментами.

TD0 = Тс-Т0; и

TD1 = TC-T1.

В конкретном процессе кодирования TD0 и TD1 могут быть вычислены с использованием счетчика порядка изображений (picture order count, POC). Например:

TD0 = РОСС-POC0; и

TD1 = РОСС-POC1.

Здесь, РОСс, POC0 и POC1 соответственно представляет собой РОС текущего изображения, POC опорного изображения для предсказания вперед, и РОС опорного изображения для предсказания назад. TD0 представляет счетчик порядка изображения (picture order count, POC) расстояния между текущим изображением и опорным изображением для предсказания вперед, и TD1 представляет расстояние POC между текущим изображением и опорным изображением для предсказания назад.

delta0 = (delta0x, delta0y); и

delta1 = (delta1x, delta1y).

Зеркальная взаимосвязь с учетом интервала во временной области описывается следующим образом:

delta0x = (TD0/TD1) * delta1x; и

delta0y = (TD0/TD1) * delta1y; или

delta0x/delta1x = (TD0/TD1); и

delta0y/delta1y = (TD0/TD1).

В другом примере этап 1603 может включать в себя:

определение с позиций М пар опорных блоков (один опорный блок для предсказания вперед и один опорный блок для предсказания назад), что позиции пары опорных блоков с минимальной ошибкой соответствия являются позицией i-го раунда целевого опорного блока для предсказания вперед текущего блока изображения и позицией i-го раунда целевого опорного блока для предсказания назад текущего блока изображения; или определение с позиций М пар опорных блоков, что позиции пары опорных блоков с ошибкой соответствия меньше или равно пороговому значению ошибки соответствия является позицией i-го раунда целевого опорного блока для предсказания вперед текущего блока изображения и позицией i-го раунда целевого опорного блока для предсказания назад текущего блока изображения, где М меньше или равно N. Дополнительно, разница между значением пикселя опорного блока для предсказания вперед и значением пикселя опорного блока для предсказания назад может быть измерена с использованием суммы абсолютных разностей (sum of absolute differences, SAD), суммы абсолютных разностей преобразования (sum of absolute transformation differences, SATD), суммы абсолютных квадратных разностей и т.п.

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

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

Способ, показанный на фиг.17, включает в себя этапы 1701 - 1708. Для этапов 1701 - 1703 и 1705 - 1708 см. описания этапов 1501 - 1503 и 1505 - 1508 на фиг.15. Подробности не описаны здесь снова.

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

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

Зеркальное ограничение, в котором MVD основан на расстоянии временной области в данном документе, может быть объяснена следующим образом: смещение позиции MVD0 (delta0x, delta0y) позиции блока в опорном изображении для предсказания вперед по отношению к базовой точке поиска вперед и позиция смещения MVD1 (delta1x, delta1y) позиции блока в опорном изображении для предсказания назад по отношению к базовой точки поиска назад отвечает следующее соотношение:

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

TD0 = Тс-Т0; и

TD1 = TC-T1.

В конкретном процессе кодирования TD0 и TD1 могут быть вычислены с использованием счетчика порядка изображения (picture order count, POC). Например:

TD0 = РОСс-POC0; и

TD1 = РОСс-POC1.

Здесь, РОСс, POC0 и POC1 соответственно представляет собой POC текущего изображения, POC опорного изображения вперед и РОС опорного изображения назад. TD0 представляет счетчик порядка изображения (picture order count, POC) расстояния между текущим изображением и опорным изображением для предсказания вперед, и TD1 представляет расстояние POC между текущим изображением и опорным изображением для предсказания назад.

delta0 = (delta0x, delta0y); и

delta1 = (delta1x, delta1y).

Зеркальная взаимосвязь, учитывающая расстояние во временной области (также называемое интервалом во временной области), описывается следующим образом:

delta0x = (TD0 / TD1) * delta1x; и

delta0y = (TD0 / TD1) * delta1y; или

delta0x / delta1x = (TD0 / TD1); и

delta0y / delta1y = (TD0 / TD1).

Конкретный процесс поиска аналогичен процессу в варианте осуществления на фиг.10 или фиг.11. Подробности не описаны здесь снова.

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

Например, информация указания может быть добавлена к информации заголовка уровня последовательности (SPS), информации заголовка уровня изображения (PPS), заголовка сегмента (slice header) или информации потока битов блока, чтобы указать, рассматривается ли временной интервал в зеркальной взаимосвязи, используемом для текущей последовательности, текущего изображения, текущего сегмента (Slice) или текущего блока.

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

Например, если | POCc - POC0 | - | POCc - POC1 |> T, необходимо учитывать интервал для используемого зеркальной взаимосвязи; в противном случае, временной интервал для зеркальной взаимосвязи, который используется, не рассматривается. Т в данном документе представляет собой заданное пороговое значение. Например, T = 2 или T = 3. Конкретное значение Т здесь не ограничено.

Для другого примера предполагается, что отношение большего значения | POCc - POC0 | и | POCc - POC1 | к меньшему значению | POCc - POC0 | и | POCc - POC1 | больше, чем пороговое значение R, другими словами,

(Max (| РОСс-POC0 |, | РОСс-POC1 |) / Min (| РОСс-POC0 |, | РОСс-POC1 |))> R.

Мах (A, B) указывает большее значение A и B, а Min (A, B) указывает меньшее значение A и B.

В этом случае необходимо учитывать интервал для используемой зеркальной взаимосвязи. Если отношение большего значения | POCc - POC0 | и | POCc - POC1 | к меньшему значению | POCc - POC0 | и | POCc - POC1 | не превышает пороговое значение R, интервал времени для рассматриваемой зеркальной взаимосвязи не рассматривается. R в данном документе представляет собой предварительно установленное пороговое значение. Например, R = 2 или R = 3. Конкретное значение R здесь не ограничено.

Следует понимать, что способ предсказания изображения в этом варианте осуществления настоящего изобретения может конкретно выполняться модулем компенсации движения в кодере (например, кодере 20) или декодере (например, декодере 30). Дополнительно, способ предсказания изображения в этом варианте осуществления настоящего изобретения может выполняться в любом электронном устройстве или устройстве, которое должно кодировать и/или декодировать видеоизображение.

Далее подробно описывается устройство для предсказания изображения в вариантах осуществления настоящего изобретения со ссылкой на фиг.18 по фиг.21.

Фиг.18 является блок-схемой устройства 1800 для предсказания изображения согласно варианту осуществления настоящего изобретения. Следует отметить, что устройство 1800 для предсказания применимо как к внешнему предсказанию для декодирования видеоизображения, так и к внешнему предсказанию для кодирования видеоизображения. Следует понимать, что устройство 1800 для предсказания в данном документе может соответствовать блоку 44 компенсации движения на фиг.2А, или может соответствовать блоку 82 компенсации движения на фиг.2B. Устройство 1800 для предсказания может включать в себя:

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

первый блок 1802 поиска, выполненный с возможностью: определять позиции N опорных блоков для предсказания вперед и позиции N опорных блоков для предсказания назад на основании начальной информации движения и позиции текущего блока изображения, где N опорных блоков для предсказания вперед расположены в опорном изображении для предсказания вперед, N опорных блоков для предсказания назад расположены в опорном изображении для предсказания назад, и N представляет собой целое число больше 1; и определить с позиций M пар опорных блоков на основании критерия стоимости соответствия, что позиции пары опорных блоков являются позицией целевого опорного блока текущего блока изображения для предсказания вперед и позицией целевого опорного блока для предсказания назад текущего блока изображения, где позиция каждой пары опорных блоков включает в себя позиция опорного блока для предсказания вперед и позиция опорного блока для предсказания назад; для позиций каждой пары опорных блоков, первое смещение позиции и второе смещение позиции находится в зеркальной взаимосвязи, первое смещение позиции представляет собой смещение позиции опорного блока для предсказания вперед по отношению к позиции начального опорного блока для предсказания вперед, и второе смещение позиции представляет смещение позиции опорного блока для предсказания назад по отношению к позиции начального опорного блока для предсказания назад; и М является целым числом, большим или равным 1, и М является меньшим или равным N; и

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

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

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

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

В устройстве 1800 в данном варианте осуществления настоящего изобретения, позиции N опорных блоков для предсказания вперед включают в себя позицию одного начального опорного блока для предсказания вперед и позиции (N-1) кандидатов опорных блоков для предсказания вперед, и смещение позиции каждого кандидата опорного блока для предсказания вперед по отношению к позиции начального опорного блока для предсказания вперед представляет собой расстояние целого числа пикселей или дробное расстояние пикселя; или

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

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

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

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

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

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

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

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

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

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

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

Фиг.19 является блок-схемой другого устройства для предсказания изображения согласно варианту осуществления настоящего изобретения. Следует отметить, что устройство 1900 для предсказания применимо как к внешнему предсказанию для декодирования видеоизображения, так и к внешнему предсказанию для кодирования видеоизображения. Следует понимать, что устройство 1900 для предсказания в данном документе может соответствовать блоку 44 компенсации движения на фиг.2А, или может соответствовать блоку 82 компенсации движения на фиг.2B. Устройство предсказания 1900 может включать в себя:

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

второй блок 1902 поиска, выполненный с возможностью: определять позиции N опорных блоков для предсказания вперед и позиции N опорных блоков для предсказания назад на основании начальной информации движения и позиции текущего блока изображения, где N опорных блоков для предсказания вперед расположены в опорном изображении для предсказания вперед, N опорных блоков для предсказания назад расположены в опорном изображении для предсказания назад, и N представляет собой целое число больше 1; и определять, с позиций M пар опорных блоков на основании критерия стоимости соответствия, что позиции пары опорных блоков являются позицией целевого опорного блока для предсказания вперед текущего блока изображения и позицией целевого опорного блока для предсказания назад текущего блока изображения, где позиция каждой пары опорных блоков включает в себя позицию опорного блока для предсказания вперед и позицию опорного блока для предсказания назад; для позиций каждой пары опорных блоков, первое смещение позиции и второе смещение позиции находится в пропорциональной зависимости, основанной на расстоянии временной области, первое смещение позиции представляет собой смещение позиции опорного блока для предсказания вперед по отношению к позиции начального опорного блока для предсказания вперед, и второе смещение позиции представляет смещение позиции опорного блока для предсказания назад по отношению к позиции начального опорного блока для предсказания назад; и М является целым числом, большим или равным 1, и М является меньшим или равным N; и

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

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

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

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

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

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

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

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

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

В примере реализации позиции N опорных блоков для предсказания вперед включают в себя позицию одного начального опорного блока для предсказания вперед и позиции (N-1) кандидатов опорных блоков для предсказания вперед, и смещение позиции каждого кандидата опорного блоков для предсказания вперед по отношению позиции начального опорного блока для предсказания вперед представляет собой расстояние целого числа пикселей или дробное расстояние пикселя; или

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Фиг.20 является блок-схемой другого устройства для предсказания изображения согласно варианту осуществления настоящего изобретения. Следует отметить, что устройство 2000 для предсказания применимо как к внешнему предсказанию для декодирования видеоизображения, так и к внешнему предсказанию для кодирования видеоизображения. Следует понимать, что устройство 2000 для предсказания в данном документе может соответствовать блоку 44 компенсации движения на фиг.2А, или может соответствовать блоку 82 компенсации движения на фиг.2B. Устройство предсказания 2000 может включать в себя:

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

третий блок 2002 поиска, выполненный с возможностью: определять позиции N опорных блоков для предсказания вперед и позиции N опорных блоков для предсказания назад на основании информации движения i-го раунда и позиции текущего блока изображения, где N опорные блоки для предсказания вперед расположены в опорном изображении для предсказания вперед, N опорные блоки для предсказания назад расположены в опорном изображении для предсказания назад, и N представляет собой целое число больше 1; и определять, с позиций M пар опорных блоков на основании критерия соответствия стоимости, что позиции пар опорных блоков является позицией i-го раунда целевого опорного блока для предсказания вперед текущего блока изображения и позицией i-го раунда целевого опорного блока для предсказания назад текущего блока изображения, где позиция каждой пары опорных блоков включает в себя позицию опорного блока для предсказания вперед и позиции опорного блока для предсказания назад; для позиций каждой пары опорных блоков, первое смещение позиции и второе смещение позиции находятся в зеркальной взаимосвязи, первое смещение позиции представляет собой смещение позиции опорного блока для предсказания вперед по отношению к позиции (i-1)-го раунда целевого опорного блок для предсказания вперед, и второе смещение позиции представляет смещение позиции опорного блока для предсказания назад относительно позиции (i-1)-го раунда целевого опорного блока для предсказания назад; и М является целым числом, большим или равным 1, и М является меньшим или равным N; и

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

Следует отметить, что, если i = 1, информация движения i-го раунда является начальной информацией движения текущего блока изображения; и, соответственно, позиции N опорных блоков для предсказания вперед включают в себя позицию одного начального опорного блока для предсказания вперед и позиции (N-1) кандидатов опорных блоков для предсказания вперед, и смещение позиции каждого кандидата опорного блока для предсказания вперед относительно позиции начального опорного блока для предсказания вперед представляет собой целое расстояние в пикселях или дробное расстояние в пикселях; или позиции N опорных блоков для предсказания назад включают в себя позицию одного начального опорного блока для предсказания назад и позиции (N - 1) кандидатов опорных блоков для предсказания назад, и смещение позиции каждого кандидата опорного блока для предсказания назад относительно позиции начального опорного блока для предсказания назад является целочисленное расстояние в пикселях или дробное расстояние в пикселях.

Если i>1, информация движения i-го раунда включает в себя вектор движения вперед, указывающую позицию (i-1)-го раунда целевого опорного блока для предсказания вперед и вектор движения назад, указывающей позицию (i -1)-го раунда целевого опорного блока для предсказания назад; и, соответственно, позиция N опорных блоков для предсказания вперед включает в себя позицию одного (i-1)-го раунда целевого опорного блока для предсказания вперед и позиции (N-1) кандидатов опорных блоков для предсказания вперед, и смещение позиции каждого кандидата опорного блока для предсказания вперед относительно позиции (i-1)-го раунда целевого опорного блока для предсказания вперед представляет собой расстояние целого числа пикселей или дробное расстояние пикселя; или позиции N опорных блоков для предсказания назад включают в себя позицию одного (i - 1) целевого опорного блока для предсказания назад и позиции (N - 1) кандидатов опорных блоков для предсказания назад и смещение позиции каждого кандидата опорного блока для предсказания назад по отношению к позиции (i-1)-го раунда целевого опорного блока для предсказания назад представляет собой расстояние целого числа пикселей или дробное расстояние пикселя.

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

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

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

в аспекте определения позиций N опорных блоков для предсказания вперед и позиций N опорных блоков для предсказания назад на основании информации движения i-го раунда позиции текущего блока изображения, третий блок 2002 поиска специально выполнен с возможностью:

определять на основании вектора движения вперед и позиции текущего блока изображения, позиции (i-1)-го раунда целевого опорного блока для предсказания вперед текущего блока изображения в опорном изображении вперед, соответствующий индексу опорного изображения для предсказания вперед, использовать позицию (i-1)-го раунда целевого опорного блока для предсказания вперед в качестве начальной точки поиска if, и определять позиции (N-1) кандидатов опорных блоков для предсказания вперед в опорном изображении вперед, где позиции N опорных блоков для предсказания вперед включают в себя позицию (i-1)-го раунда целевого опорного блока для предсказания вперед и позиции (N-1) кандидатов опорных блоков для предсказания вперед; и

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

В примере реализации, в аспекте определения с позиций M пар опорных блоков на основании критерия стоимости соответствия, позиции пары опорных блоков являются позицией i-го раунда целевого опорного блоков для предсказания вперед текущего блока изображения и позицией i-го раунда целевого опорного блока для предсказания назад текущего блока изображения, третий блок 2002 поиска специально выполнен с возможностью:

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

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

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

За подробностями обращайтесь к описаниям способа предсказания изображения в этой спецификации. Для краткости, подробности не описываются здесь снова.

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

Фиг.21 является блок-схемой другого устройства для предсказания изображения согласно варианту осуществления настоящего изобретения. Следует отметить, что устройство 2100 для предсказания применимо как к внешнему предсказанию для декодирования видеоизображения, так и к внешнему предсказанию для кодирования видеоизображения. Следует понимать, что устройство 2100 для предсказания в данном документе может соответствовать блоку 44 компенсации движения на фиг.2А, или может соответствовать блоку 82 компенсации движения на фиг.2B. Устройство 2100 для предсказания может включать в себя:

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

четвертый блок 2102 поиска, выполненный с возможностью: определять позиции N опорных блоков для предсказания вперед и позиции N опорных блоков для предсказания назад на основании информации движения i-го раунда и позиции текущего блока изображения, где N опорных блоков для предсказания вперед расположены в опорном изображении для предсказания вперед, N обратные блоки для предсказания назад расположены в опорном изображении для предсказания назад, и N представляет собой целое число больше 1; и определять, с позиций M пар опорных блоков на основании критерия соответствия стоимости, что позиции пары опорных блоков являются позицией i-го раунда целевого опорного блока для предсказания вперед текущего блока изображения и позицией i-го раунда целевого опорного блока для предсказания назад текущего блока изображения, где позиция каждой пары опорных блоков включает в себя позицию опорного блока для предсказания вперед и позиции опорного блока для предсказания назад; для позиций каждой пары опорных блоков, первое смещение позиции и второе смещение позиции находится в пропорциональной зависимости, основанной на расстоянии временной области, первое смещение позиции представляет собой смещение позиции опорного блока для предсказания вперед по отношению к позиции (i-1)-го раунда целевого опорного блока для предсказания вперед в опорном изображении для предсказания вперед, и второе смещение позиции представляет смещение позиции опорного блоков для предсказания назад по отношению к позиции (i-1)-го раунда целевого опорного блоков для предсказания назад в опорном изображении для предсказания назад; и М является целым числом, большим или равным 1, и М является меньшим или равным N; и

четвёртый блок 2103 предсказания, выполненный с возможностью получать предсказанного значения пикселя текущего блока изображения на основании значения пикселя j-го раунда целевого опорного блока для предсказания вперед, и значения пикселя j-го-раунда целевого опорного блока для предсказания назад, где j больше или равно i, и i и j являются целыми числами, большими или равными 1.

В процессе итеративного поиска, если i = 1, информация движения i-го раунда является начальной информацией движения текущего блока изображения.

Если i>1, информация движения i-го раунда включает в себя вектор движения вперед, указывающую позицию (i-1)-го раунда целевого опорного блока для предсказания вперед и вектор движения назад, указывающей позицию (i -1) целевого опорного блока для предсказания назад.

В реализации четвертый блок 2103 предсказания специально выполнен с возможностью: когда условие завершения итерации удовлетворено, получать предсказанное значение значения пикселя блока изображения на основании значения пикселя j-го раунда целевого опорного блока для предсказания вперед и значение пикселя j-го раунда целевого опорного блока для предсказания назад, где j больше, чем или равен i, и оба i и j являются целыми числами больше или равно 1.

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

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

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

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

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

определять на основании вектора движения вперед и позиция текущего блока изображения, позиции (i-1)-го раунда целевого опорного блока для предсказания вперед текущего блока изображения в опорном изображении для предсказания вперед, соответствующий индексу опорного изображения для предсказания вперед, использовать позицию (i-1)-го раунда целевого опорного блока для предсказания вперед в качестве начальной точки поиска if, и определить позиции (N-1) кандидатов опорных блоков для предсказания вперед в опорном изображении для предсказания вперед, где позиции N опорных блоков для предсказания вперед включают в себя позицию (i-1)-го раунда целевого опорного блока для предсказания вперед и позиции (N-1) кандидатов опорных блоков для предсказания вперед; и

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

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

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

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

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

За подробностями обращайтесь к описаниям способа предсказания изображения в этой спецификации. Для краткости, подробности не описываются здесь снова.

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

Фиг.22 является схематической структурной схемой реализации устройства для кодирования видео или устройства для декодирования видео (устройство 2200 для декодирования для краткости) согласно варианту осуществления настоящего изобретения. Устройство 2200 для декодирования может включать в себя процессор 2210, память 2230 и систему 2250 шин. Процессор и память связаны с использованием системы шин. Память выполнена с возможностью хранить инструкции. Процессор выполнен с возможностью выполнения инструкции, хранящейся в памяти. Память устройства для кодирования хранит программный код. Процессор может вызывать программный код, хранящийся в памяти, для выполнения способов кодирования или декодирования видео, описанных в настоящем изобретении, в частности, способов кодирования или декодирования видео в различных режимах внешнего предсказания или режимов внутреннего предсказания, а также способов предсказания информации движения в различных режимах в режиме предсказания внешнего предсказания или режиме внутреннего предсказания. Подробности не описаны здесь снова, чтобы избежать повторения.

В этом варианте осуществления настоящего изобретения процессор 2210 может быть центральным процессором (Central Processing Unit, для краткости «CPU»), или процессор 2210 может быть другим процессором общего назначения, процессором цифровых сигналов (DSP), специализированной интегральной схемой (ASIC), программируемой пользователем вентильной матрицей (FPGA) или другим программируемым логическим устройством, дискретным или транзисторным логическим устройством, дискретным аппаратным компонентом или тому подобное. Процессор общего назначения может быть микропроцессором или может быть любым обычным процессором или тому подобным.

Память 2230 может включать в себя устройство постоянной памяти (ROM) или устройство оперативной памяти (RAM). Любой другой подходящий тип запоминающего устройства также может использоваться в качестве памяти 2230. Память 2230 может включать в себя код и данные 2231, к которым обращается процессор 2210 с использованием системы 2250 шин. Память 2230 может дополнительно включать в себя операционную систему 2233 и прикладную программу 2235. Прикладная программа 2235 включает в себя, по меньшей мере, одну программу, которая позволяет процессору 2210 выполнять способы кодирования или декодирования видео, описанные в настоящем изобретении (в частности, способы предсказания изображения, описанные в настоящем изобретении). Например, прикладная программа 2235 может включать в себя приложения с 1 по N и дополнительно включает в себя приложение для кодирования или декодирования видео (приложение для декодирования видео), которое выполняет способы кодирования или декодирования видео, описанные в настоящем изобретении.

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

В качестве варианта, устройство 2200 для декодирования может дополнительно включать в себя одно или несколько устройств вывода, например, дисплей 2270. В примере, дисплей 2270 может быть сенсорным дисплеем или сенсорным экраном, который объединяет дисплей и сенсорный блок, который функционально обеспечивает сенсорный ввод. Дисплей 2270 может быть подключен к процессору 2210 с использованием шины 2250.

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

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

В качестве примера, но не ограничения, такие машиночитаемые носители могут включать в себя RAM, ROM, EEPROM, CD-ROM или другое устройство хранения компакт-дисков, устройство хранения магнитных дисков или другое магнитное устройство. запоминающее устройство, флэш-память или любой другой носитель, который может использоваться для хранения желаемого программного кода в форме инструкции или структуры данных и к которому может обращаться компьютер. Дополнительно, любое соединение правильно называется машиночитаемым носителем. Например, если инструкция передается с веб-сайта, сервера или другого удаленного источника через коаксиальный кабель, оптоволокно, витую пару, цифровую абонентскую линию (DSL) или беспроводные технологии, такие как инфракрасный порт, радио и микроволновый сигнал, коаксиальный кабель, оптоволоконный кабель, витая пара, DSL или беспроводные технологии, такие как инфракрасный порт, радио и микроволновый сигнал, включены в определение среды. Однако следует понимать, что машиночитаемый носитель данных и носитель данных не включают в себя соединения, носители, сигналы или другие временные носители, но фактически означают постоянные материальные носители данных. Диски, используемые в данной спецификации, включают в себя компакт-диск (CD), лазерный диск, оптический диск, цифровой универсальный диск (DVD) и диск Blu-ray. Диски обычно воспроизводят данные, тогда как диски воспроизводят данные оптически с помощью лазеров. Комбинации вышеизложенного также должны быть включены в объем машиночитаемого носителя.

Соответствующую функцию могут выполнять один или несколько процессоров, таких как один или несколько процессоров цифровых сигналов (DSP), микропроцессоры общего назначения, специализированные интегральные схемы (ASIC), программируемые пользователем вентильные матрицы (FPGA) или другие эквивалентные интегральные или дискретные логические схемы. Следовательно, термин «процессор», используемый в данной спецификации, может быть любой из вышеупомянутых структур или любой другой структурой, подходящей для реализации технологий, описанных в этой спецификации. Дополнительно, в некоторых аспектах функции, описанные со ссылкой на иллюстративные логические блоки, модули и этапы, описанные в этой спецификации, могут предоставляться в выделенных аппаратных и/или программных модулях, выполненных с возможностью кодирования, или могут быть включены в комбинированный кодек. Дополнительно, технологии могут быть полностью реализованы в одной или нескольких схемах или логических элементах. В одном примере различные иллюстративные логические блоки, блоки и модули в видеокодере 20 и видеодекодере 30 могут быть поняты как соответствующие схемные устройства или логические элементы.

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

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

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

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

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

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

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

позиции N опорных блоков для предсказания вперед содержат позицию одного начального опорного блока для предсказания вперед и позиции (N-1) кандидатов опорных блоков для предсказания вперед, и смещение позиции каждого кандидата опорного блока для предсказания вперед по отношению к позиции начального опорного блока для предсказания вперед представляет собой целочисленное расстояние в пикселях;

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

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

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

3. Способ по п. 1 или 2, дополнительно содержащий этап, на котором:

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

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

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

определяют, на основании первого вектора движения и позиции текущего блока изображения, позиции начального опорного блока текущего блока изображения для предсказания вперед в опорном изображении для предсказания вперед, соответствующий первый индекс опорного изображения с использованием позиции начального опорного блока для предсказания вперед в качестве первой начальной точки поиска и определяют позиции (N-1) кандидатов опорных блоков для предсказания вперед в опорном изображении для предсказания вперед, при этом позиции N опорных блоков для предсказания вперед содержат позицию начального опорного блока для предсказания вперед и позиции (N – 1) кандидатов опорных блоков для предсказания вперед; и

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

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

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

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

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

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

7. Способ по любому из пп. 1-6, в котором первое смещение позиции представлено посредством (delta0x, delta0y), а второе смещение позиции представлено посредством (delta1x, delta1y), при этом delta0x=- delta1x и delta0y= -delta1y.

8. Способ по п. 1 или 2, в котором начальная информация движения содержит первый вектор движения, соответствующий списку 0 опорных изображений (RefPicList0) текущего изображения, содержащего текущий блок изображения, и второй вектор движения соответствует списку 1 опорных изображений (RefPicList1) текущего изображения; при этом

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

9. Способ по любому из пп. 1-4, в котором критерий стоимости соответствия представляет собой сумму абсолютной разности, критерий SAD, при этом целевой опорный блок для предсказания вперед и целевой опорный блок для предсказания назад имеют минимальное значение SAD из значений N SAD для N пар опорных блоков.

10. Способ предсказания изображения, содержащий этапы, на которых:

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

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

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

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

позиции N опорных блоков для предсказания вперед содержат позицию одного начального опорного блока для предсказания вперед и позиции (N-1) кандидатов опорных блоков для предсказания вперед, и смещение позиции каждого кандидата опорного блока для предсказания вперед по отношению к позиции начального опорного блока для предсказания вперед представляет собой целочисленное расстояние в пикселях;

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

11. Способ по п. 10, в котором первое смещение позиции и второе смещение позиции находятся в пропорциональном соотношении на основании расстояния во временной области:

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

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

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

12. Способ по п. 10 или 11, дополнительно содержащий этапы, на которых:

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

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

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

определяют, на основании первого вектора движения и позиции текущего блока изображения, позицию начального опорного блока для предсказания вперед текущего блока изображения в опорном изображении для предсказания вперед, соответствующем первому индексу опорного изображения, с использованием позиции начального опорного блока для предсказания вперед в качестве первой начальной точки поиска и определяют позиции (N-1) кандидатов опорных блоков для предсказания вперед в опорном изображении для предсказания вперед, при этом позиции N опорных блоков для предсказания вперед содержат позицию начального опорного блока для предсказания вперед и позиции (N – 1) кандидатов опорных блоков для предсказания вперед; и

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

14. Способ по любому из пп. 10-13, в котором этап определения, с позиций M пар опорных блоков, на основании критерия стоимости соответствия, что позиции пары опорных блоков являются позицией целевого опорного блока для предсказания вперед текущего блока изображения и позицией целевого опорного блока для предсказания назад текущего блока изображения, содержит подэтапы, на которых:

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

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

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

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

16. Способ по п. 10 или 11, в котором начальная информация движения содержит первый вектор движения, соответствующий списку 0 опорных изображений (RefPicList0) текущего изображения, содержащего текущий блок изображения, и второй вектор движения соответствует списку 1 опорных изображений (RefPicList1) текущего изображения; при этом

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

17. Способ по любому из пп. 10-13, в котором критерий стоимости соответствия представляет собой сумму абсолютной разности, критерий SAD, при этом целевой опорный блок для предсказания вперед и целевой опорный блок для предсказания назад имеют минимальное значение SAD из значений N SAD для N пар опорных блоков.

18. Устройство предсказания изображения, содержащее:

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

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

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

позиции N опорных блоков для предсказания вперед содержат позицию одного начального опорного блока для предсказания вперед и позиции (N-1) кандидатов опорных блоков для предсказания вперед, и смещение позиции каждого кандидата опорного блока для предсказания вперед по отношению к позиции начального опорного блока для предсказания вперед представляет собой целочисленное расстояние в пикселях;

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

19. Устройство по п. 18, в котором, то, что первое смещение позиции и второе смещение позиции находятся в зеркальной взаимосвязи:

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

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

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

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

определения, на основании первого вектора движения и позиции текущего блока изображения, позиции начального опорного блока для предсказания вперед текущего блока изображения в опорном изображении для предсказания вперед, соответствующем первому индексу опорного изображения для предсказания вперед, с использованием позиции начального опорного блока для предсказания вперед в качестве первой начальной точки поиска и определения позиций (N-1) кандидатов опорных блоков для предсказания вперед в опорном изображении для предсказания вперед, при этом позиции N опорных блоков для предсказания вперед содержат позицию начального опорного блока для предсказания вперед и позиции (N – 1) кандидатов опорных блоков для предсказания вперед; и

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

22. Устройство по любому из пп. 18-21, в котором в аспекте определения из позиций N пар опорных блоков на основании критерия стоимости соответствия, позиции пары опорных блоков являются позицией целевого опорного блока для предсказания вперед текущего блока изображения и позицией целевого опорного блока для предсказания назад текущего блока изображения, первый блок поиска специально выполнен с возможностью:

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

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

23. Устройство по п. 18 или 19, в котором начальная информация движения содержит первый вектор движения, соответствующий списку 0 опорных изображений (RefPicList0) текущего изображения, содержащего текущий блок изображения, и второй вектор движения соответствует списку 1 опорных изображений (RefPicList1) текущего изображения; при этом

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

24. Устройство по любому из пп. 18-21, в котором критерий стоимости соответствия представляет собой сумму абсолютной разности, критерий SAD, при этом целевой опорный блок для предсказания вперед и целевой опорный блок для предсказания назад имеют минимальное значение SAD из значений N SAD для N пар опорных блоков.

25. Устройство предсказания изображения, содержащее:

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

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

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

позиции N опорных блоков для предсказания вперед содержат позицию одного начального опорного блока для предсказания вперед и позиции (N-1) кандидатов опорных блоков для предсказания вперед, и смещение позиции каждого кандидата опорного блока для предсказания вперед по отношению к позиции начального опорного блока для предсказания вперед представляет собой целочисленное расстояние в пикселях;

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

26. Устройство по п. 25, в котором, то, что первое смещение позиции и второе смещение позиции находятся в пропорциональном отношении на основании расстояния во временной области, содержит:

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

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

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

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

28. Устройство по любому из пп. 25-27, в котором начальная информация движения содержит первый вектор движения и первый индекс опорного изображения в направлении предсказания вперед, и второй вектор движения и второй индекс опорного изображения в направлении предсказания назад; при этом

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

определения, на основании первого вектора движения и позиции текущего блока изображения, позиции начального опорного блока для предсказания вперед текущего блока изображения в опорном изображении для предсказания вперед, соответствующем первому индексу опорного изображения для предсказания вперед, с использованием позиции начального опорного блока для предсказания вперед в качестве первой начальной точки поиска и определения позиций (N-1) кандидатов опорных блоков для предсказания вперед в опорном изображении для предсказания вперед, при этом позиции N опорных блоков для предсказания вперед содержат позицию начального опорного блока для предсказания вперед и позиции (N – 1) кандидатов опорных блоков для предсказания вперед; и

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

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

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

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

30. Устройство по п. 25 или 26, в котором начальная информация движения содержит первый вектор движения, соответствующий списку 0 опорных изображений (RefPicList0) текущего изображения, содержащего текущий блок изображения, и второй вектор движения соответствует списку 1 опорных изображений (RefPicList1) текущего изображения; при этом

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

31. Устройство по любому из пп. 25-28, в котором критерий стоимости соответствия представляет собой сумму абсолютной разности, критерий SAD, при этом целевой опорный блок для предсказания вперед и целевой опорный блок для предсказания назад имеют минимальное значение SAD из значений N SAD для N пар опорных блоков.

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

модуль внешнего предсказания, содержащий устройство для предсказания изображения по любому из пп.18-31, при этом модуль внешнего предсказания выполнен с возможностью получения значения предсказания пикселя блока изображения посредством предсказания;

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

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

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

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

модуль внешнего предсказания, содержащий устройство предсказания изображения по любому из пп. 18-31, при этом модуль внешнего предсказания выполнен с возможностью получения значения предсказания пикселя блока изображения посредством предсказания; и

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

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

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



 

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

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

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

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

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

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

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

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

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

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

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

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