RU2538284C2 - Способ предсказания движения - Google Patents

Способ предсказания движения Download PDF

Info

Publication number
RU2538284C2
RU2538284C2 RU2012138901/08A RU2012138901A RU2538284C2 RU 2538284 C2 RU2538284 C2 RU 2538284C2 RU 2012138901/08 A RU2012138901/08 A RU 2012138901/08A RU 2012138901 A RU2012138901 A RU 2012138901A RU 2538284 C2 RU2538284 C2 RU 2538284C2
Authority
RU
Russia
Prior art keywords
block
motion
current
options
motion vector
Prior art date
Application number
RU2012138901/08A
Other languages
English (en)
Other versions
RU2012138901A (ru
Inventor
Ю-Пао ТСАЙ
Чинг-Минг ФУ
Джиан-Лианг ЛИНН
Ю-Вен ХУАНГ
Шау-Мин ЛЕЙ
Original Assignee
Медиатэк, Инк.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/957,644 external-priority patent/US9036692B2/en
Application filed by Медиатэк, Инк. filed Critical Медиатэк, Инк.
Publication of RU2012138901A publication Critical patent/RU2012138901A/ru
Application granted granted Critical
Publication of RU2538284C2 publication Critical patent/RU2538284C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

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

Description

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
Данная заявка притязает на преимущество приоритета предварительной патентной заявки США с серийным номером 61/295,810, поданной 18 января, 2010, и предварительной патентной заявки США с серийным номером 61/ 326,731, поданной 22 апреля 2010, которые полностью включены сюда на основании ссылки.
ОБЛАСТЬ ТЕХНИКИ
Данное изобретение относится к обработке видеоинформации и, в частности, к предсказанию движения видеоинформации.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
Новый перспективный Н.264 стандарт сжатия может обеспечить хорошее качество видео при значительно более низкой скорости передачи в битах, чем предшествующие стандарты, за счет субпиксельной точности и многократных ссылок. Процесс сжатия видео можно в целом разделить на 5 частей, а именно: inter-предсказание /intra-предсказание, преобразование/обратное преобразование, квантование/обратное квантование, ФНЧ (синхронного детектора) и энтропийное кодирование. Н.264 используется в различных приложениях, таких как Blu-ray диски, DVB службы вещания, спутниковое телевизионное вещание, кабельное телевизионное вещание и видеоконференции в режиме реального времени.
Поток данных видеосигналов включает множество кадров, и каждый кадр разделен на множество кодирующих блоков (например, макроблоки или расширенные макроблоки) для обработки видеоинформации. Каждый кодирующий блок может быть сегментирован на фрагменты квадротимического представления, и листовой кодирующий блок называется блоком предсказания. Блок предсказания может быть также сегментирован на фрагменты квадротимического представления, причем для каждого фрагмента устанавливается параметр движения. Чтобы сократить расходы на передачу огромного количества параметров движения, предсказатель векторов движения (MVP) рассчитывается для каждого фрагмента путем ссылки на соседние кодовые блоки, и, таким образом, эффективность кодирования может быть улучшена, поскольку движение соседних блоков имеет тенденцию к высокой пространственной корреляции.
На принципиальной схеме Фиг.1 показаны текущий блок 100 и множество соседних блоков А, В, С и D. В этом примере как текущий блок 100, так и соседние блоки А, В, С и D имеют один и тот же размер, однако эти блоки не обязательно должны иметь одинаковый размер. Предсказатель векторов движения (MVP) текущего блока 100 прогнозируется на основе векторов движения соседних блоков А, В и С, или А, В и D, если С недоступен. Когда текущий блок 100 - это 16x16 блок, и доступен вектор движения соседнего блока С, то среднее значение векторов движения соседних блоков А, В и С и является MVP текущего блока 100. Когда текущий блок 100 - это 16x16 блок, и отсутствует вектор движения соседнего блока С, то среднее значение векторов движения соседних блоков А, В и D является MVP текущего блока 100. Когда текущий блок 100 - это 8x16 сегмент левой половины 16x16 блока, то вектор движения соседнего блока А становится MVP текущего блока 100. Когда текущий блок 100 - это 8x16 сегмент правой половины 16x16 блока, вектор движения соседнего блока С становится MVP текущего блока 100. Когда текущий блок 100 - это 16x8 сегмент верхней половины 16x16 блока, вектор движения соседнего блока В становится MVP текущего блока 100. Когда текущий блок 100 - это 16x8 сегмент нижней половины 16×16 блока, вектор движения соседнего блока А становится MVP текущего блока 100.
Когда MVP текущего блока прогнозируется на основе векторов движения соседних блоков А, В, С и D, то векторы движения соседних блоков А, В, С и D не имеют надлежащего масштабирования во времени. Например, базовые кадры соседних блоков А, В и С различны, и векторы движения соседних блоков А, В и С соответствуют базовым кадрам в указанном порядке. Временные интервалы между каждым базовым кадром и текущим кадром различны. Таким образом, векторы движения соседних блоков А, В и С должны быть масштабированы во времени на основании временных интервалов до предсказания MVP текущего блока 100 на основе векторов движения соседних блоков А, В и С.
MVP текущего блока 100 предсказывается только на основе векторов движения соседних блоков А, В, С и D. Точность предсказания MVP может быть также улучшена за счет рассмотрения большего числа вариантов MVP, и на основе оптимизации степени искажения выбирается лучший вариант MVP. Например, предлагается состязательность векторов движения (MVC) для выбора лучшего MVP из предварительно заданного набора вариантов, оговоренных в уровне последовательности. Предварительно заданный набор вариантов может включать Н.2 64 стандартный предсказатель (например, медианный MV соседних блоков), MV совместного блока в том же месте в базовом кадре, что и текущий блок, и MV соседних блоков. Рекомендованное число MVP в предварительно заданном наборе вариантов составляет два варианта. Предварительно заданный набор вариантов, исходя из способа состязательности векторов движения, закрепляется в уровне последовательности видеоинформации.
КРАТКОЕ ОПИСАНИЕ
Это изобретение представляет способ предсказания движения. Прежде всего, определяется множество вариантов блоков, соответствующих текущему блоку текущего кадра. Затем получено множество векторов движения вариантов блоков. Затем рассчитывается множество факторов временного масштабирования вариантов блоков исходя из множества временных интервалов между множеством базовых кадров вектора движения и текущим кадром. Вектора движения вариантов блоков затем масштабируются на основе факторов масштабирования по времени, чтобы получить множество масштабных векторов движения. В заключение, предсказатель вектора движения для предсказания движения текущего блока выбирается из вариантов блоков исходя из масштабных векторов движения.
Изобретение также представляет собой способ предсказания движения. Сначала определяется множество вариантов блоков для предсказания движения текущего блока. Затем определяется множество кодирующих блоков, соответствующих текущему блоку. Далее рассчитывается множество величин разности движения между векторами движения вариантов блоков, соответствующих кодирующим блокам, и векторами движения кодирующих блоков. Величины разности движения, соответствующие вариантам блоков, затем суммируются в соответствии с рядом весовых коэффициентов, чтобы получить множество взвешенных сумм, соответствующих вариантам блоков в указанном порядке. В заключение, по меньшей мере один вариант блока для предсказания движения текущего блока выбирается из вариантов блоков на основе взвешенных сумм.
В следующих вариантах осуществления дано детальное описание со ссылкой на сопутствующие чертежи.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Наиболее полное представление об изобретении можно получить на основе чтения последующего детального описания и примеров со ссылками на сопутствующие чертежи, где:
Фиг.1 - это принципиальная схема текущего кодирующего блока и множества соседних кодирующих блоков;
Фиг.2 - это блок-схема кодера сигнала изображения в соответствии с изобретением;
Фиг.3 - это принципиальная схема масштабирования векторов движения двух вариантов блоков;
Фиг.4 - это блок-схема способа предсказания движения с регулировкой разности по времени;
Фиг.5 - это принципиальная схема множества вариантов блоков для предсказания движения текущего блока в соответствии с вариантом осуществления изобретения;
Фигуры. 6А и 6В иллюстрируют блок-схему способа предсказания движения с адаптивно выбранными вариантами блоков в соответствии с вариантом осуществления изобретения; и
Фиг.7 - это принципиальная схема занесенных в таблицу величин разности движения, соответствующих разным кодирующим блокам и вариантам блоков в соответствии с вариантом осуществления изобретения.
ДЕТАЛЬНОЕ ОПИСАНИЕ
Следующее описание представляет собой подробное рассмотрение способа осуществления данного изобретения. Данное описание представлено с целью иллюстрации общих принципов изобретения и не должно рассматриваться как лимитирующий фактор. Объем изобретения наилучшим образом определяется со ссылкой на прилагаемые пункты патентной формулы.
На Фиг.2 показана блок-схема кодера сигнала изображения 200. В одном варианте осуществления кодер сигнала изображения 200 включает модуль предсказания движения 202, модуль вычитания 204, модуль преобразования 206, модуль квантования 208 и модуль энтропийного кодирования 210. Кодер сигнала изображения 200 принимает входной видеосигнал и генерирует битовый поток в качестве выходного сигнала. Модуль предсказания движения 202 осуществляет предсказание движения по входному видеосигналу, чтобы генерировать предсказанные выборки и информацию предсказания. Модуль вычитания 204 затем вычитает предсказанные выборки из входного видеосигнала, чтобы получить остаточные данные, сокращая при этом объем видеоинформации с информации входного видеосигнала до информации остаточных данных. Остаточные данные затем последовательно отправляются на модуль преобразования 206 и модуль квантования 208. Модуль преобразования 206 выполняет дискретное косинусное преобразование (DCT) по остаточным данным, чтобы получить трансформированные остаточные данные. Модуль квантования 208 затем квантует трансформированные остаточные данные, чтобы получить квантованные остаточные данные. Модуль энтропийного кодирования 210 затем выполняет энтропийное кодирование по квантованным остаточным данным и информации предсказания, чтобы получить цифровой поток в качестве выходного сигнала изображения.
Модуль предсказания движения 202 прогнозирует предсказатель вектора движения (MVP) текущего блока текущего кадра на основе векторов движения множества вариантов блоков. В одном варианте осуществления варианты блоков - это варианты блоков, расположенные рядом с текущим блоком. Перед тем как модуль предсказания движения 202 предсказывает MVP текущего блока, рассчитываются временные интервалы между базовыми кадрами вариантов блоков и текущим кадром, а векторы движения вариантов блоков масштабируются на основе временных интервалов. На Фиг.3 показана принципиальная схема масштабирования векторов движения двух вариантов блоков 310 и 320. Текущий кадр k включает два варианта блоков 310 и 320 для предсказания движения текущего блока 300. Первый вариант блока 310 имеет вектор движения MV1, соответствующий базовому кадру i, затем рассчитывается первая временная разность Dik между базовым кадром i и текущим кадром k. Второй вариант блока 320 имеет вектор движения MV2, соответствующий базовому кадру 1, затем рассчитывается вторая временная разность Dik между базовым кадром 1 и текущим кадром k.
Далее рассчитывается целевая временная разность Djk между целевым поисковым кадром j и текущим кадром k. Целевой поисковый кадр j - это отобранный базовый кадр. Затем рассчитывается первый фактор временного масштабирования путем деления целевого временного интервала Djk на первый временной интервал Dik, и вектор движения MV1 первого варианта блока 310 умножается на первый фактор масштабирования по времени (Djk/Dik), чтобы получить масштабный вектор движения MV1', соответствующий первому варианту блока 310. Затем рассчитывается второй фактор масштабирования по времени путем деления целевого временного интервала Djk на второй временной интервал Dik, и вектор движения MV2 второго варианта блока 320 умножается на второй фактор масштабирования по времени (Djk/Dik), чтобы получить масштабный вектор движения MV2', соответствующий второму варианту блока 20. Таким образом, оба масштабных вектора движения MV1' и MV2' измерены на основе целевого поискового кадра j, и, таким образом, фактор разности временных интервалов устраняется из масштабных векторов движения MV1' и MV2'. Затем модуль предсказания движения 202 может предсказывать MVP текущего кадра 300 на основе масштабных векторов движения MV1' и MV2' вариантов блоков 310 и 320.
На Фиг.4 показана блок-схема способа предсказания движения 400 с регулировкой временной разности. Прежде всего, определяется множество вариантов блоков для предсказания движения текущего блока текущего кадра (шаг 402). Варианты блоков и текущий блок - это блоки, имеющие одинаковый или различные размеры, и каждый из этих блоков может быть кодирующим блоком, блоком предсказания или сегментом блока предсказания. В одном варианте осуществления, варианты блоков включают левый блок А на левой стороне текущего блока, верхний блок В на верхней стороне текущего блока, верхний блок С, расположенный в верхнем правом углу текущего блок, и левый блок D, расположенный в верхнем левом углу текущего блока. Затем получаем множество векторов движения вариантов блоков (шаг 404). Затем рассчитывается множество факторов масштабирования по времени для вариантов блоков исходя из временных интервалов между базовыми кадрами вариантов блоков и текущим кадром (шаг 406). В одном варианте осуществления, сначала рассчитывается множество временных интервалов между базовыми кадрами вариантов блоков и текущим кадром, затем рассчитывается целевая временная разность между целевым поисковым кадром и текущим кадром, и целевой временной интервал затем в соответствующем порядке делится на временные интервалы, соответствующие вариантам блоков, чтобы получить множество факторов масштабирования по времени, соответствующих вариантам блоков, как показано на Фиг.3.
Векторы движения вариантов блоков затем масштабируются на основе факторов масштабирования по времени, чтобы получить множество масштабных векторов движения (шаг 408). В одном варианте осуществления, векторы движения вариантов блоков соответственно умножаются на факторы масштабирования по времени вариантов блоков, чтобы получить масштабные векторы движения вариантов блоков, как показано на Фиг.3. Затем предсказатель вектора движения текущего блока выбирается из вариантов блоков на основе масштабных векторов движения (шаг 410). В одном варианте осуществления масштабные векторы движения сортируются, и медианный масштабный вектор движения затем выбирается из масштабных векторов движения в качестве MVP текущего блока.
Когда модуль предсказания движения 202 определяет MVP текущего блока на основе способа состязательности векторов движения; обычно только векторы движения двух вариантов блоков, определенных на уровне последовательности, включены в набор вариантов для определения MVP текущего блока. Кроме того, набор вариантов не определяется адаптивно на основе характеристик текущего блока. Осуществление предсказания движения может стать более точным, если набор вариантов определяется адаптивно на основе характеристик текущего блока.
На Фиг.5 показана принципиальная схема множества вариантов блоков для предсказания движения текущего блока 512 на основе варианта осуществления изобретения. В этом варианте осуществления текущий блок 512 и варианты блоков - это блоки различных размеров, например, текущий блок 512 - это блок 16×16, и варианты блоков - это блоки 4×4. В другом варианте осуществления размер текущего блока и размеры вариантов блоков могут быть одинаковы или различны, причем размер может быть 4×4, 8×8, 8×16, 16×8, 16×16, 32×32 или 64×64. В этом варианте осуществления векторы движения четырех вариантов блоков А, В, С и D текущего кадра 502 могут быть взяты в качестве вариантов для определения MVP текущего блока 512. Кроме того, совместный блок 514 имеет то же местоположение в базовом кадре 504, что и текущий блок 512 в текущем кадре 502; и векторы движения множества вариантов блоков a~j, расположенных рядом с совместным блоком 514 или в пределах совместного блока 514, могут быть также взяты в качестве вариантов для определения MVP текущего блока 512.
Вариант блока А в текущем кадре 502 - это сегмент на левой стороне текущего блока 512, вариант блока В в текущем кадре 502 - это сегмент на верхней стороне текущего блока 512, вариант блока С в текущем кадре 502 - это сегмент, расположенный в правом верхнем углу текущего блока 512, и вариант блока D в текущем кадре 502 - это сегмент, расположенный в верхнем левом углу текущего блока 512. Вариант блока а в базовом кадре 504 - это сегмент на левой стороне совместного блока 514, вариант блока b в базовом кадре 504 -это сегмент на верхней стороне совместного блока 514, вариант блока с в базовом кадре 504 - это сегмент, расположенный в верхнем правом углу совместного блока 514, и вариант блока d в базовом кадре 504 - это сегмент, расположенный в верхнем правом углу совместного блока 514. Кроме того, вариант блока е в базовом кадре 504 - это сегмент внутри совместного блока 514, варианты блоков f и g в базовом кадре 504 - это сегменты на правой стороне совместного блока 514, вариант блока h в базовом кадре 504 - это сегмент, расположенный в нижнем левом углу совместного блока 514, вариант блока i в базовом кадре 504 - это сегмент, расположенный на нижней стороне совместного блока 514, и вариант блока j в базовом кадре 504 - это сегмент, расположенный в нижнем правом углу совместного блока 514. В одном варианте осуществления набор вариантов для определения MVP текущего блока 512 также включает рассчитанные векторы движения, например вектор движения, равный среднему значению векторов движения вариантов блоков А, В и С, вектор движения, равный среднему значению векторов движения вариантов блоков А, В и D, и масштабный MVP, полученный на основе способа, аналогичного Фиг.4.
После того как определяется множество векторов движения, соответствующих текущему блоку 512, чтобы включить данные векторы в набор вариантов, по меньшей мере один вектор движения адаптивно выбирается из набора вариантов для предсказания движения текущего блока 512. На Фиг.6 показана блок-схема способа предсказания движения 600 на основе адаптивного определения набора вариантов. Набор вариантов для текущего блока 512 выбирается из множества векторов движения, соответствующих текущему блоку 512 (шаг 602). Векторы движения могут включать один вектор движения или комбинацию векторов движения кодирующих сегментов/блоков в одном и том же кадре, расчетные векторы движения и векторы движения в базовом кадре (кадрах). В одном варианте осуществления, набор вариантов, соответствующих текущему блоку 512, показанному на Фиг.5, включает векторы движения блоков А, В, С и D в текущем кадре 502 и вектор движения блока е в базовом кадре 504. Набор вариантов может быть определен на основе предшествующих статистических данных, информации о соседних блоках, формы текущего блока и положения текущего блока. Например, множество векторов движения, соответствующих текущему блоку 512, ранжируется на основе информации о соседних блоках, и первые три вектора отбираются для включения в набор вариантов. Конечный MVP может быть выбран из набора вариантов на основе способа состязательности векторов движения или другого способа отбора. В некоторых вариантах осуществления, множество вектора движения ранжируется на основе порядка отбора, а порядок отбора определяется на основе взвешенной суммы
разностей движения. Разности движения рассчитываются между каждым предсказателем вектора движения и соответствующим декодированным вектором движения (то есть, реальными векторами движения) вариантов блоков. Весовые коэффициенты могут быть определены по форме и положению текущего блока, или весовые коэффициенты могут быть определены по форме и положению соседних блоков.
На Фиг.7 показана принципиальная схема представленных в табличной форме величин разности движении, соответствующих различным кодирующим блокам и вариантам блоков, в соответствии с изобретением. Например, предположим, что блок А выбирается в качестве целевого кодирующего блока. Рассчитывается величина разности движения DA/A между векторами движения блока А и вариантом блока АА на левой стороне блока А. Также рассчитывается величина разности движения DB,A между векторами движения блока А и вариантом блока ВА на верхней стороне блока А. Также рассчитывается величина разности движения DC,A между векторами движения блока А и варианта блока СА в правом верхнем углу блока А. Также рассчитывается величина разности движения DD,A между векторами движения блока А и варианта блока DAB в верхнем левом углу блока А. Также рассчитывается величина разности движения Da,A между векторами движения блока А и варианта блока АА на левой стороне совместного блока, соответствующего блоку А. Аналогично также рассчитываются величины разности движения DDd,A,…, Dj,A, соответствующие кодирующему блоку А. Затем в таблице Фиг.7 регистрируются расчетные величины разности движения DA,A, DB/A, Dc,a, DD/A, Da,A, Db(A, Dj,A, соответствующие целевому кодирующему блоку А. Далее другой целевой колирующий блок В выбирается из кодирующих блоков (шаг 604), а также рассчитываются и заносятся в таблицу Фиг.7 (шаг 606) величины разности движения DA,B, DB,B, DC/B, DD,B, Da,B, Db,B,…, Dj,B, соответствующие целевому кодирующему блоку В.
Шаги 604 и 606 повторяются до тех пор, пока не отбираются все кодирующие блоки А, В, С, D и Е, чтобы стать целевым кодирующим блоком, а затем рассчитываются величины разности движения, соответствующие кодирующим блокам А, В, С, D (шаг 608).
После расчета всех разностей движения, соответствующих кодирующим блокам А, В, С, D и Е, определяется порядок отбора множества векторов движения на основе суммы взвешивания разностей движения (шаг 610). Например, если вариант блока А выбран в качестве целевого варианта блока, то величины разности движения DA,A, DA,B, DA,C, DA,D и DA,е, соответствующие целевому варианту блока А, затем суммируются на основании ряда взвешиваний WA, WB, Wc, WD и We, чтобы получить взвешенную сумму SA=[(DA,A×WA)+(DA,B×WB)+(DA,C+WC)+(DA,DxWD)+(DA,e×We)], соответствующую целевому варианту блока t А, где весовые коэффициенты WA, WB, Wc, WD и We в установленном порядке соответствуют одному из кодирующих блоков А, В, С, D и Е. Далее последовательно выбираются другие варианты блоков В, С, D, е,…, i и j, чтобы стать целевым вариантом блока, а также последовательно рассчитываются взвешенные суммы SB, Sc, SD, Se,…, Si и Sj, соответствующие вариантам блоков В, С, D, е,…, i и j (шаги 610 и 612).
Когда отобраны все варианты блоков, чтобы стать целевым вариантом блока и когда рассчитаны все взвешенные суммы SA, Sb, Sc, SD, Se,…, Si и Sj, соответствующие всем вариантам блоков А, В, С, D, е,…, i и j (шаг 614), по меньшей мере один выбранный вариант блоков для предсказания движения текущего блока отбирается из вариантов блоков А, В, С, D, е,…, i и j на основе взвешенных сумм SA, SB, Sc, SD, Se,…, Si и Sj, соответствующих вариантам блоков А, В, С, D, е, i и j (шаг 616). В одном варианте осуществления взвешенные суммы SA, SB, SC, SD, Se,…, Si и Sj сортируются на основе размеров блоков, и вариант блока, соответствующий самой малой взвешенной сумме, становится выбранным вариантом блока. И в заключение, вектор движения текущего блока 512 предсказывается на основе вектора движения выбранного варианта блока.
Хотя изобретение было описано на основе примеров и в терминологии предпочтительного варианта осуществления, следует понимать, что изобретение этим не ограничивается. Как раз наоборот, выражается намерение отразить как можно больше различных модификаций и аналогичных компоновок (что будет очевидно для специалистов в данной области). Таким образом, объем пунктов патентной формулы должен соответствовать самой широкой интерпретации таким образом, чтобы охватить все такие модификации и аналогичные компоновки.

Claims (18)

1. Способ предсказания движения, включающий: установление множества вариантов блоков, соответствующих текущему блоку текущего кадра, причем варианты блоков включают по меньшей мере один соседний блок текущего кадра и по меньшей мере один совместный блок текущего кадра; получение множества векторов движения вариантов блоков; расчет множества факторов масштабирования по времени для вариантов блоков на основе множества временных интервалов между множеством базовых кадров вектора движения и текущим кадром; масштабирование векторов движения вариантов блоков на основе факторов масштабирования по времени, чтобы получить множество масштабных векторов движения; и отбор предсказателя векторов движения для предсказания движения текущего блока из вариантов блоков в соответствии со способом состязательности векторов движения, причем варианты блоков включают масштабные векторы движения.
2. Способ предсказания движения по п.1, в котором предсказатель вектора движения явно выбирается из набора кандидатов на основании предсказания информации в битовом потоке.
3. Способ предсказания движения по п.1, в котором способ состязательности векторов движения включает выбор предсказателя вектора движения из набора вариантов для предсказания движения текущего кадра на основе оптимизации степени искажения.
4. Способ предсказания движения по п.1, где способ также включает: предсказание вектора движения текущего блока на основе вектора движения предсказателя вектора движения.
5. Способ предсказания движения по п.1, где расчет факторов масштабирования по времени включает: расчет временных интервалов между базовыми кадрами вектора движения вариантов блоков и текущим кадром; расчет целевой временной разности между целевым поисковым кадром и текущим кадром; и, соответственно, деление целевого временного интервала на временные интервалы для получения факторов масштабирования по времени.
6. Способ предсказания движения по п.5, где масштабирование векторов движения вариантов блоков включает: соответственно, умножение векторов движения вариантов блоков на факторы масштабирования по времени вариантов блоков, чтобы получить масштабные векторы движения вариантов блоков.
7. Способ предсказания движения по п.1, где выбор предсказателя векторов движения включает: расчет медианного масштабного вектора движения на основе масштабных векторов движения; и определение варианта блока, соответствующего медианному вектору движения, чтобы получить предсказатель вектора движения.
8. Способ предсказания движения по п.1, где варианты блоков включают левый блок на левой стороне текущего блока, верхний блок на верхней стороне текущего блока, блок в верхнем правом углу текущего блока и блок в верхнем левом углу текущего блока.
9. Способ предсказания движения по п.1, где текущий блок и варианты блоков - это макроблоки или блоки.
10. Способ предсказания движения, включающий:
установление множества вариантов блоков для предсказания движения текущего блока; установление множества кодирующих блоков, соответствующих текущему блоку; отбор целевого кодирующего блока из кодирующих блоков; расчет величин разности движения между векторами движения вариантов блоков, соответствующих целевому кодирующему блоку, и вектором движения целевого кодирующего блока; повтор выбора целевого кодирующего блока и расчет величин разности движения, соответствующих целевому кодирующему блоку, пока каждый из кодирующих блоков не будет выбран в качестве целевого кодирующего блока; выбор целевого варианта блока из вариантов блоков; суммирование величин разности движения, соответствующих целевому варианту блока, на основе ряда весовых коэффициентов, чтобы получить взвешенные суммы, соответствующие целевому варианту блока; и повтор выбора целевого варианта блока и суммирование величин разности движения, соответствующих целевому варианту блока, пока все варианты блоков не будут выбраны в качестве целевого варианта блока, выбор по меньшей мере одного варианта блока для предсказания движения текущего блока из вариантов блоков на основе взвешенных сумм.
11. Способ предсказания движения по п.10, где способ также включает:
предсказание вектора движения текущего блока на основе вектора движения выбранного варианта блока.
12. Способ предсказания движения по п.10, где весовые коэффициенты соответствуют одному из кодирующих блоков в указанном порядке.
13. Способ предсказания движения по п.10, где отбор выбранных вариантов блоков включает: сортировку взвешенных сумм и отбор варианта блока, соответствующего самой малой взвешенной сумме, чтобы быть выбранным в качестве варианта блока.
14. Способ предсказания движения по п.10, где кодирующие блоки включают левый блок на левой стороне текущего блока, верхний блок на верхней стороне текущего блока, блок в верхнем правом углу текущего блока, блок в верхнем левом углу текущего блока и совместный блок, имеющий такое же местоположение в базовом кадре, что и текущий блок в текущем кадре.
15. Способ предсказания движения по п.10, где варианты блоков включают левый блок на левой стороне текущего блока, верхний блок на верхней стороне текущего блока, блок в верхнем правом углу текущего блока и блок в верхнем левом углу текущего блока.
16. Способ предсказания движения по п.15, где варианты блоков также включают первый медианный блок с вектором движения, равным среднему значению векторов движения левого блока, верхнего блока и блока в верхнем правом углу, и второй медианный блок с вектором движения, равным среднему значению векторов движения левого блока, верхнего блока и блока в верхнем левом ряду.
17. Способ предсказания движения по п.15, где совместный блок имеет такое же местоположение в базовом кадре, что и текущий блок в текущем кадре, и варианты блоков также включают левый совместный блок на левой стороне совместного блока, верхний совместный блок на верхней стороне совместного блока, совместный блок в верхнем правом углу совместного блока и совместный блок в верхнем левом углу совместного блока, совместный блок, правый совместный блок на правой стороне совместного блока, совместный блок в левом нижнем углу совместного блока, нижний совместный блок внизу совместного блока и совместный блок в нижнем правом углу совместного блока.
18. Способ предсказания движения по п.10, где текущий блок и варианты блоков - это макроблоки или блоки.
RU2012138901/08A 2010-04-22 2011-04-07 Способ предсказания движения RU2538284C2 (ru)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US32673110P 2010-04-22 2010-04-22
US61/326,731 2010-04-22
US12/957,644 2010-12-01
US12/957,644 US9036692B2 (en) 2010-01-18 2010-12-01 Motion prediction method
PCT/CN2011/072500 WO2011131089A1 (en) 2010-04-22 2011-04-07 Motion prediction method

Publications (2)

Publication Number Publication Date
RU2012138901A RU2012138901A (ru) 2014-07-20
RU2538284C2 true RU2538284C2 (ru) 2015-01-10

Family

ID=44833699

Family Applications (2)

Application Number Title Priority Date Filing Date
RU2012138901/08A RU2538284C2 (ru) 2010-04-22 2011-04-07 Способ предсказания движения
RU2012138564/08A RU2538317C2 (ru) 2010-04-22 2011-04-08 Способ предсказания движения и способ кодирования видеоинформации

Family Applications After (1)

Application Number Title Priority Date Filing Date
RU2012138564/08A RU2538317C2 (ru) 2010-04-22 2011-04-08 Способ предсказания движения и способ кодирования видеоинформации

Country Status (10)

Country Link
EP (4) EP2534841B1 (ru)
JP (3) JP5913283B2 (ru)
KR (3) KR101865011B1 (ru)
AU (1) AU2011242239B2 (ru)
BR (1) BR112012027033B1 (ru)
CA (1) CA2794378C (ru)
IL (1) IL222430A (ru)
MX (1) MX2012012246A (ru)
RU (2) RU2538284C2 (ru)
WO (2) WO2011131089A1 (ru)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9300970B2 (en) 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
KR101456499B1 (ko) * 2010-07-09 2014-11-03 삼성전자주식회사 움직임 벡터의 부호화 방법 및 장치, 그 복호화 방법 및 장치
CN107027339A (zh) * 2014-05-06 2017-08-08 联发科技股份有限公司 确定调整大小的参考帧的参考块的位置的视频处理方法和相关视频处理装置
JP5750191B2 (ja) * 2014-10-15 2015-07-15 日立マクセル株式会社 画像復号化方法
JP5911982B2 (ja) * 2015-02-12 2016-04-27 日立マクセル株式会社 画像復号化方法
JP5951915B2 (ja) * 2016-03-30 2016-07-13 日立マクセル株式会社 画像復号化方法
JP5946980B1 (ja) * 2016-03-30 2016-07-06 日立マクセル株式会社 画像復号化方法
JP6181242B2 (ja) * 2016-06-08 2017-08-16 日立マクセル株式会社 画像復号化方法
KR102471076B1 (ko) 2017-09-19 2022-11-25 삼성전자주식회사 움직임 정보의 부호화 및 복호화 방법, 및 움직임 정보의 부호화 및 복호화 장치
WO2020184847A1 (ko) 2019-03-12 2020-09-17 엘지전자 주식회사 Dmvr 및 bdof 기반의 인터 예측 방법 및 장치
KR102664876B1 (ko) 2019-03-22 2024-05-10 로즈데일 다이나믹스 엘엘씨 Dmvr 및 bdof 기반의 인터 예측 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1523896A (zh) * 2003-09-12 2004-08-25 浙江大学 视频编解码中运动矢量的预测方法和装置
CN1925614A (zh) * 2005-08-30 2007-03-07 深圳清华大学研究院 快速运动估计方法
JP2007214741A (ja) * 2006-02-08 2007-08-23 Right Image:Kk 画像データ圧縮装置、画像表示装置、画像データ圧縮方法、画像表示方法、画像データ圧縮プログラム、画像表示プログラム、記憶媒体
RU2007142185A (ru) * 2005-04-15 2009-05-27 ЭлДжи ЭЛЕКТРОНИКС ИНК. (KR) Способ масштабируемого кодирования и декодирования видеосигнала

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10224800A (ja) * 1997-02-07 1998-08-21 Matsushita Electric Ind Co Ltd 動きベクトル符号化方法および復号化方法
US5991447A (en) * 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
US6130911A (en) * 1997-11-21 2000-10-10 Sharp Laboratories Of America, Inc. Method and apparatus for compressing reference frames in an interframe video codec
US5946043A (en) * 1997-12-31 1999-08-31 Microsoft Corporation Video coding using adaptive coding of block parameters for coded/uncoded blocks
JP2004208258A (ja) * 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd 動きベクトル計算方法
AU2003251964A1 (en) * 2002-07-16 2004-02-02 Nokia Corporation A method for random access and gradual picture refresh in video coding
US7023921B2 (en) * 2002-08-06 2006-04-04 Motorola, Inc. Method and apparatus for determining block match quality
NO318167B1 (no) * 2002-11-27 2005-02-14 Tandberg Telecom As Vektorprediksjon
JP4373702B2 (ja) * 2003-05-07 2009-11-25 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
KR100579493B1 (ko) * 2003-06-16 2006-05-15 삼성전자주식회사 움직임 벡터 생성 장치 및 방법
US7978769B2 (en) * 2003-06-30 2011-07-12 Ntt Docomo, Inc. Method and apparatus for coding motion information
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7889792B2 (en) * 2003-12-24 2011-02-15 Apple Inc. Method and system for video encoding using a variable number of B frames
TWI401957B (zh) * 2004-07-20 2013-07-11 Qualcomm Inc 在短暫的視訊壓縮中運動向量預估之方法、裝置、電腦可讀媒體及處理器
US20070064805A1 (en) * 2005-09-16 2007-03-22 Sony Corporation Motion vector selection
JP2007228560A (ja) * 2006-01-25 2007-09-06 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像符号化装置
US20070171977A1 (en) * 2006-01-25 2007-07-26 Shintaro Kudo Moving picture coding method and moving picture coding device
JP2008109632A (ja) * 2006-09-28 2008-05-08 Toshiba Corp 動きベクトル検出装置及びその方法
KR101383540B1 (ko) * 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
KR101356735B1 (ko) * 2007-01-03 2014-02-03 삼성전자주식회사 전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한방법, 장치, 인코더, 디코더 및 복호화 방법
CN101222627A (zh) * 2007-01-09 2008-07-16 华为技术有限公司 一种多视点视频编解码系统以及预测向量的方法和装置
US8488676B2 (en) * 2007-05-14 2013-07-16 Himax Technologies Limited Motion estimation method
JP2011501555A (ja) * 2007-10-16 2011-01-06 エルジー エレクトロニクス インコーポレイティド ビデオ信号処理方法及び装置
CN101198064A (zh) * 2007-12-10 2008-06-11 武汉大学 一种分辨率分层技术中的运动矢量预测方法
CN101232619B (zh) * 2008-01-25 2011-05-11 浙江大学 嵌入帧内编码块的视频编码方法
KR101505195B1 (ko) * 2008-02-20 2015-03-24 삼성전자주식회사 직접 모드 부호화 및 복호화 방법
EP2266318B1 (en) * 2008-03-19 2020-04-22 Nokia Technologies Oy Combined motion vector and reference index prediction for video coding
JP5406465B2 (ja) * 2008-04-24 2014-02-05 株式会社Nttドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム
JP4977094B2 (ja) * 2008-06-25 2012-07-18 株式会社東芝 画像符号化方法
CN102577392A (zh) * 2009-10-20 2012-07-11 夏普株式会社 运动图像编码装置、运动图像解码装置以及数据结构
KR101522850B1 (ko) * 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
KR101768207B1 (ko) * 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
WO2011125211A1 (ja) * 2010-04-08 2011-10-13 株式会社 東芝 画像符号化方法及び画像復号化方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1523896A (zh) * 2003-09-12 2004-08-25 浙江大学 视频编解码中运动矢量的预测方法和装置
RU2007142185A (ru) * 2005-04-15 2009-05-27 ЭлДжи ЭЛЕКТРОНИКС ИНК. (KR) Способ масштабируемого кодирования и декодирования видеосигнала
CN1925614A (zh) * 2005-08-30 2007-03-07 深圳清华大学研究院 快速运动估计方法
JP2007214741A (ja) * 2006-02-08 2007-08-23 Right Image:Kk 画像データ圧縮装置、画像表示装置、画像データ圧縮方法、画像表示方法、画像データ圧縮プログラム、画像表示プログラム、記憶媒体

Also Published As

Publication number Publication date
EP2534842B1 (en) 2017-09-06
JP2013528992A (ja) 2013-07-11
EP2534842A1 (en) 2012-12-19
EP2534841A4 (en) 2014-07-02
WO2011131091A1 (en) 2011-10-27
CA2794378A1 (en) 2011-10-27
JP5860491B2 (ja) 2016-02-16
KR20130029069A (ko) 2013-03-21
RU2538317C2 (ru) 2015-01-10
KR101482514B1 (ko) 2015-01-14
JP2014103698A (ja) 2014-06-05
EP2860981B1 (en) 2018-08-22
AU2011242239B2 (en) 2014-03-06
JP2013526142A (ja) 2013-06-20
JP5913283B2 (ja) 2016-04-27
IL222430A (en) 2016-10-31
EP2534841B1 (en) 2017-11-29
KR20130036231A (ko) 2013-04-11
IL222430A0 (en) 2012-12-31
EP2534842B8 (en) 2017-10-18
CA2794378C (en) 2018-05-29
EP2860981A1 (en) 2015-04-15
EP3285490A1 (en) 2018-02-21
MX2012012246A (es) 2012-12-17
EP2534841A1 (en) 2012-12-19
EP3285490B1 (en) 2021-03-10
EP2534842A4 (en) 2014-07-09
AU2011242239A1 (en) 2012-09-27
JP5593440B2 (ja) 2014-09-24
KR101865011B1 (ko) 2018-06-05
BR112012027033A2 (pt) 2016-07-19
KR20170098959A (ko) 2017-08-30
WO2011131089A1 (en) 2011-10-27
RU2012138901A (ru) 2014-07-20
BR112012027033A8 (pt) 2017-07-11
KR101772252B1 (ko) 2017-08-29
BR112012027033B1 (pt) 2022-10-11
RU2012138564A (ru) 2014-05-27

Similar Documents

Publication Publication Date Title
RU2538284C2 (ru) Способ предсказания движения
US9036692B2 (en) Motion prediction method
US20230239468A1 (en) Method and apparatus for processing intra-prediction-based video signal
CN110463201A (zh) 使用参考块的预测方法和装置
KR20190093534A (ko) 인터 예측 방법 및 그 장치
CN117201815A (zh) 图像解码方法、图像编码方法以及发送比特流的方法
CN110476425A (zh) 基于块形式的预测方法和装置
CN102396230A (zh) 图像处理设备和方法
CN104041048A (zh) 利用跳过模式进行视频编码和解码的方法和设备
JP2010035137A (ja) 画像処理装置および方法、並びにプログラム
KR20070005848A (ko) 인트라 예측 모드 결정 방법 및 장치
CN102131094A (zh) 运动预测方法
US20130182768A1 (en) Method and apparatus for encoding / decoding video using error compensation
KR100878536B1 (ko) 영상 보간 방법 및 장치
US11245905B2 (en) Method and apparatus for blended intra prediction
JP2012151576A (ja) 画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置
WO2012081949A2 (ko) 인터 예측 방법 및 그 장치
CN102396231A (zh) 图像处理设备及方法
US20230328276A1 (en) Derivation of affine merge candidates with linear regression for video coding
TW202431844A (zh) 用於視頻寫碼基於迴歸的解碼器側仿射運動導出

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20161003