RU2493670C2 - Способ блочной межкадровой компенсации движения для видеокодеков - Google Patents

Способ блочной межкадровой компенсации движения для видеокодеков Download PDF

Info

Publication number
RU2493670C2
RU2493670C2 RU2011150931/08A RU2011150931A RU2493670C2 RU 2493670 C2 RU2493670 C2 RU 2493670C2 RU 2011150931/08 A RU2011150931/08 A RU 2011150931/08A RU 2011150931 A RU2011150931 A RU 2011150931A RU 2493670 C2 RU2493670 C2 RU 2493670C2
Authority
RU
Russia
Prior art keywords
blocks
block
vectors
layer
displacement vector
Prior art date
Application number
RU2011150931/08A
Other languages
English (en)
Other versions
RU2011150931A (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
Application filed by Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" filed Critical Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ"
Priority to RU2011150931/08A priority Critical patent/RU2493670C2/ru
Publication of RU2011150931A publication Critical patent/RU2011150931A/ru
Application granted granted Critical
Publication of RU2493670C2 publication Critical patent/RU2493670C2/ru

Links

Images

Abstract

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

Description

Изобретение относится к области видеокодирования, в частности к оценке и компенсации движения в динамических изображениях.
Известен способ компенсации движения, в котором кадр разбивается на слои - группы блоков, объединенные по взаимному расположению [1]. Процедура компенсации движения заключается в поиске векторов перемещений. Каждый следующий слой использует векторы перемещений, найденные на предыдущем слое. Таким образом, последний слой использует наибольшее число векторов соседних блоков. Авторы ограничиваются тремя слоями. В качестве прогноза для первого слоя служит вектор глобального перемещения кадра. Для второго слоя прогнозом являются найденные векторы первого и, по возможности, второго слоев. Третий слой предсказывается по векторам со всех слоев. Каждый слой использует заранее определенный шаблон поиска.
Недостатками описанного способа являются применение традиционной квадратной формы блоков и недостаточно эффективное использование соседних блоков (для построения прогнозного вектора используются максимум шесть соседних блоков из восьми).
Наиболее близким к настоящему изобретению является способ компенсации движения, основанный на поиске векторов перемещений [2]. В нем используются несколько прогнозов для текущего вектора перемещения, поиск глобального перемещения, выбор схемы поиска и иерархический поиск векторов. Недостатком способа является квадратная форма блоков.
Задача предлагаемого способа заключается в повышении качества восстановленного видеоряда за счет уменьшения ошибки предсказания векторов перемещений вследствие улучшенных корреляционных свойств используемых блоков.
Поставленная задача решается следующим образом. Каждый кадр разбивается на блоки шестиугольной формы, которые группируются в 3 слоя. Из блоков первого слоя выбираются несколько блоков, на основании которых находится глобальный вектор перемещения кадра. Для каждого блока осуществляется поиск вектора перемещения по определенному для слоя шаблону поиска. Предварительно область поиска смещается на прогнозный вектор, найденный в результате медианной фильтрации векторов тех соседних блоков, для которых вектор перемещения уже найден.
При поиске вектора перемещения используется специальная весовая функция (маска) для подсчета нормы отклонения. Ее применение позволяет улучшить визуальное качество изображения и повысить сжатие векторов перемещений. Основная проблема возникает при построении маски: необходимо учитывать шестиугольную форму блока.
Геометрически выгодной формой блока является круг, так как при заданной площади фигуры он объединяет наиболее близко расположенные (следовательно, наиболее коррелированные) точки изображения. На практике круг невозможно использовать в качестве формы блока, потому что область изображения невозможно покрыть неперекрывающимися блоками круглой формы. Ближайшей формой блока, которая близка к кругу и которую возможно применять как форму блока, является правильный шестиугольник. Соседние блоки с формой шестиугольника будут находиться на одинаковом расстоянии друг от друга, что позволяет использовать их при построении прогнозного вектора перемещения без весовых коэффициентов. Также применение шестиугольной формы позволяет использовать все 6 соседних блоков при прогнозе.
На фиг.1 представлена предлагаемая пиксельная реализация шестиугольной формы блока.
На фиг.2 представлено разбиение изображения на шестиугольные формы блоков; горизонтальной ломаной линией показано формирование строк, формирование столбцов показано вертикальной линией.
На фиг.3 представлено распределение шестиугольных блоков по трем слоям; цифрами обозначен номер слоя.
На фиг.4 представлена маска для шестиугольной формы блоков.
Содержанием настоящего изобретения является применение шестиугольной формы блока, используемой как основная единица блочной компенсации движения. Однозначно представить правильный шестиугольный блок в пиксельном формате невозможно. Предлагаемая реализация такого блока (фиг.1) имеет следующие характеристики:
- блок вмещается в прямоугольную область размером 8×10 пикселей;
- площадь блока составляет 64 пикселя и совпадает с площадью квадратного блока 8×8 пикселей - стандартного для многих алгоритмов компрессии изображения. Блоки индексируются по позициям в строке и столбце. По вертикали блоки располагаются строго друг под другом. По горизонтали - каждый нечетный блок располагается выше своего соседа на половину своего размера, а каждый четный, наоборот, располагается ниже своего соседа на ту же величину. Блоки, располагающиеся по вертикали и горизонтали, формируют столбцы и строки соответственно (фиг.2). Зная индекс блока по строке и столбцу, можно найти всех его соседей.
У каждого блока есть шесть соседей:
- два соседа слева и справа, индексы столбца которых на единицу меньше и на единицу больше индекса столбца текущего блока. Индекс строки этих соседей совпадает с индексом рассматриваемого блока;
- два соседа слева и справа с аналогичной индексацией, но располагающиеся на строку выше или ниже;
- два блока сверху и снизу. Их индексы столбца совпадают с индексом блока, а индекс строки на единицу больше и на единицу меньше индекса блока.
Каждому блоку соответствует число от одного до трех, характеризующее номер слоя, к которому он относится. Возьмем первый столбец и пронумеруем его блоки от одного до трех, зациклив последовательность. То есть каждому i-му блоку соответствует номер
mod(i,3)+1,
где mod(i, 3) - операция получения остатка от деления числа i на 3.
Второй столбец имеет нумерацию блоков на единицу больше:
mod(i+1,3)+1.
Нумерация третьего столбца совпадает с нумерацией первого, четвертого столбца - со вторым и т.д. Пусть блок В имеет координаты (i,j) строки и столбца. Тогда номер слоя, к которому он относится, рассчитывается по формуле:
mod(i+mod(j,2)+С,3)+1,
где С - константа, от которой зависит начальное расположение слоев. Например, при С=1 получим, что блоки первой строки будут принадлежать только второму или третьему слою (нумерацию строк и столбцов следует начинать с нуля).
Таким образом, у блоков второго слоя есть три соседа с первого слоя. Соседями для блоков третьего слоя являются все окружающие шесть блоков. Одна половина из них - блоки второго слоя, другая - блоки первого слоя. Количество блоков на каждом слое примерно одинаковое, поэтому каждый слой покрывает примерно ⅓ изображения.
Обработка блоков происходит послойно. Область поиска смещается на прогнозный вектор, затем производится поиск вектора перемещения блока по заданному для слоя шаблону поиска. Прогнозный вектор получается в результате медианной фильтрации векторов соседних блоков, которые уже были обработаны. Для блоков второго слоя прогнозный вектор строится на основе векторов перемещений соседних блоков с первого слоя. Для блоков третьего слоя прогнозный вектор строится на основе векторов перемещений соседних блоков со всех слоев.
Предварительно из первого слоя выбираются примерно 1/6 блоков, для которых производится поиск векторов перемещений. Затем производится медианная фильтрация координат найденных векторов. В итоге получается вектор перемещения, который показывает глобальное движение кадра. Поэтому этот вектор называется вектором глобального перемещения. Он используется как прогнозный вектор для всех блоков первого слоя.
Критерием поиска вектора перемещения является минимум функции среднеквадратичного отклонения. Предварительно точки блока и окружающие его пиксели умножаются на весовую функцию окна. Под взвешенным окном или маской понимается матрица, значения которой умножаются на значения блока. Матрица превосходит по своим размерам блок, поэтому при умножении захватываются прилегающие к блоку пиксели. Маска должна удовлетворять следующим свойствам:
- ее коэффициенты не должны превышать единицы;
- при наложении соседних масок их сумма должна быть равна единице;
- ее коэффициенты не убывают при движении к ее центру;
- ее коэффициенты выбираются таким образом, чтобы обеспечивать максимальное качество восстановленного кадра.
Так как маска симметрична, то можно рассматривать только одну из ее четвертей (для удобства выбрана верхняя левая четверть).
Пусть матрица А - предполагаемая матрица, зависящая только от двух коэффициентов а и b:
A = ( 0 0 0 0 a a a 0 0 a b a b b b 0 0 a b 1 1 1 0 a b b 1 1 1 1 0 a b 1 1 1 1 a b 1 1 1 1 1 ) .
Figure 00000001
Единицы соответствуют блоку, неотрицательные веса а и b меньше единицы, причем а<b. Очевидно, что произведение аb будет одновременно меньше и а, и b. Такая маска не является нормированной: она не удовлетворяет второму свойству.
Если сложить все соседние маски в том порядке, в каком они расположены на изображении, то получим матрицу суммы:
S = ( 1 1 + a b 1 + b 1 + b 1 + 2 a 1 + a 1 + a 1 1 1 + a b + a 1 + a + b 1 + 2 b 1 + a + b 1 + b 1 1 1 + a b + a 1 + a + b 1 + 2 b 1 + a + b 1 + b 1 1 + a b 1 + b 1 + b 1 + 2 a 1 + a 1 + a 1 + a 1 + 2 a 1 + b 1 + b 1 + a b 1 1 1 + a + b 1 + 2 b 1 + a + b 1 + a b + a 1 1 1 ) .
Figure 00000002
Так как коэффициенты отличны от нуля, то каждый элемент матрицы суммы больше либо равен единице. Отсюда и следует, что изначальная маска не нормирована.
Поэлементно разделим исходную матрицу А на матрицу S:
Figure 00000003
A * = ( a i j s i j ) = ( 0 0 0 0 a 1 + 2 a a 1 + a a 1 + a 0 0 a b 1 + a b + a a 1 + a + b b 1 + 2 b b 1 + a + b b 1 + b 0 0 a 1 + a b + b b 1 + a + b 1 1 + 2 b 1 1 + a + b 1 1 + b 0 a b 1 + a b b 1 + b 1 1 + b 1 1 + 2 a 1 1 + a 1 1 + a 0 1 1 + 2 a b 1 + b 1 1 + b 1 1 + a b 1 1 a 1 + a + b b 1 + 2 b 1 1 + a + b 1 1 + a b + a 1 1 1 ) .
Figure 00000004
Матрица А* обладает всеми свойствами исходной матрицы А и, кроме того, является нормированной (второе свойство), в чем нетрудно убедиться, посчитав матрицу суммы.
Естественно, что маска удовлетворяет всем свойствам не при всех значениях а и b. В проведенных экспериментах использовалась маска, представленная на фиг.4 (а=0.365, b=0.73).
Предложенная модификация на основе шестиугольной формы блоков допускает применение RD-оптимизации и использование дробных значений векторов перемещений [4]. Для сжатия разностного изображения целесообразно использовать кодек на основе вейвлет-преобразования, например SPIHT [3].
Раскрытое изобретение может обеспечить высокую эффективность сжатия при низком уровне вычислительных затрат. При сравнении со стандартными способами, использующими традиционную квадратную форму блока, настоящее изобретение достигает приблизительно на 2% лучшую эффективность сжатия при одинаковом значении пикового отношения сигнала к шуму. Кроме того, сложность вычислений настоящего способа оказывается аналогичной сложности вычислений оценки движения на основе квадратных блоков. Изобретение может быть использовано в портативных устройствах, где ширина полосы типично ограничена 200-300 кбит/с, а размер видеокадра составляет QCIF или CIF.
Источники информации
1. Александров А.А., Коплович Е.А., Умняшкин С.В. Алгоритм видеокомпрессии на основе дискретного вейвлет-преобразования с трехслойной схемой кодирования векторов движения // Известия вузов. Электроника. - №5. - 2008. - С.69-73.
2. Патент РФ №2323541 - прототип.
3. Said, Amir; Pearlman, William A. (June 1996). "A new fast and efficient image codec based on set partitioning in hierarchical trees". IEEE Transactions on Circuits and Systems for Video Technology 6: 243-250. doi:10.1109/76.499834. ISSN 1051-8215.
4. Ричардсон Я. Видеокодирование. Н.264 и MPEG-4 - стандарты нового поколения. М.: Техносфера, 2005.

Claims (1)

  1. Способ блочной межкадровой компенсации движения для видеокодеков, включающий разбиение изображения на блоки, поиск глобального вектора перемещения, поиск векторов перемещений, использующий заданный шаблон поиска, найденные векторы перемещений для соседних блоков и глобальный вектор перемещения, сжатие найденных векторов, отличающийся тем, что изображение разбивается на блоки шестиугольной формы, блоки группируются в три слоя так, чтобы у каждого блока было по три соседних блока из других слоев, причем блоки из одного и того же слоя не являются соседними, из блоков первого слоя выбираются несколько блоков, для которых находятся векторы перемещений, координаты найденных векторов фильтруются по медиане, и получается глобальный вектор перемещения, блоки обрабатываются послойно, область поиска для каждого блока смещается на прогнозный вектор, найденный в результате медианной фильтрации векторов блоков, для которых вектор перемещения уже найден, для подсчета нормы отклонения блоков применяется весовая функция (маска).
RU2011150931/08A 2011-12-15 2011-12-15 Способ блочной межкадровой компенсации движения для видеокодеков RU2493670C2 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2011150931/08A RU2493670C2 (ru) 2011-12-15 2011-12-15 Способ блочной межкадровой компенсации движения для видеокодеков

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2011150931/08A RU2493670C2 (ru) 2011-12-15 2011-12-15 Способ блочной межкадровой компенсации движения для видеокодеков

Publications (2)

Publication Number Publication Date
RU2011150931A RU2011150931A (ru) 2013-06-20
RU2493670C2 true RU2493670C2 (ru) 2013-09-20

Family

ID=48785147

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2011150931/08A RU2493670C2 (ru) 2011-12-15 2011-12-15 Способ блочной межкадровой компенсации движения для видеокодеков

Country Status (1)

Country Link
RU (1) RU2493670C2 (ru)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2669005C2 (ru) * 2014-01-03 2018-10-05 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Предсказание вектора блока в кодировании/декодировании видео и изображений
US10368091B2 (en) 2014-03-04 2019-07-30 Microsoft Technology Licensing, Llc Block flipping and skip mode in intra block copy prediction
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
US10582213B2 (en) 2013-10-14 2020-03-03 Microsoft Technology Licensing, Llc Features of intra block copy prediction mode for video and image coding and decoding
US10785486B2 (en) 2014-06-19 2020-09-22 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
US10812817B2 (en) 2014-09-30 2020-10-20 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
US11109036B2 (en) 2013-10-14 2021-08-31 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07107487A (ja) * 1993-10-06 1995-04-21 Kyocera Corp 動画像符号化装置の動き探索方法
RU2182727C2 (ru) * 2000-07-20 2002-05-20 Дворкович Александр Викторович Способ поиска векторов движения деталей в динамических изображениях
RU2263349C2 (ru) * 2002-07-18 2005-10-27 Эл Джи Электроникс Инк. Способ определения предсказываемого вектора движения
WO2006124885A2 (en) * 2005-05-12 2006-11-23 Kylintv, Inc. Codec for iptv
US20080043843A1 (en) * 2006-08-18 2008-02-21 Fujitsu Limited Interframe prediction processor with mechanism for providing locations of reference motion vectors used in macroblock adaptive field/frame mode
RU2323541C2 (ru) * 2002-08-06 2008-04-27 Моторола, Инк. Способ и устройство для выполнения высококачественного быстрого поиска прогнозируемого движения

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07107487A (ja) * 1993-10-06 1995-04-21 Kyocera Corp 動画像符号化装置の動き探索方法
RU2182727C2 (ru) * 2000-07-20 2002-05-20 Дворкович Александр Викторович Способ поиска векторов движения деталей в динамических изображениях
RU2263349C2 (ru) * 2002-07-18 2005-10-27 Эл Джи Электроникс Инк. Способ определения предсказываемого вектора движения
RU2323541C2 (ru) * 2002-08-06 2008-04-27 Моторола, Инк. Способ и устройство для выполнения высококачественного быстрого поиска прогнозируемого движения
WO2006124885A2 (en) * 2005-05-12 2006-11-23 Kylintv, Inc. Codec for iptv
US20080043843A1 (en) * 2006-08-18 2008-02-21 Fujitsu Limited Interframe prediction processor with mechanism for providing locations of reference motion vectors used in macroblock adaptive field/frame mode

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10582213B2 (en) 2013-10-14 2020-03-03 Microsoft Technology Licensing, Llc Features of intra block copy prediction mode for video and image coding and decoding
US11109036B2 (en) 2013-10-14 2021-08-31 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
RU2669005C2 (ru) * 2014-01-03 2018-10-05 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Предсказание вектора блока в кодировании/декодировании видео и изображений
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
US10469863B2 (en) 2014-01-03 2019-11-05 Microsoft Technology Licensing, Llc Block vector prediction in video and image coding/decoding
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10368091B2 (en) 2014-03-04 2019-07-30 Microsoft Technology Licensing, Llc Block flipping and skip mode in intra block copy prediction
US10785486B2 (en) 2014-06-19 2020-09-22 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
US10812817B2 (en) 2014-09-30 2020-10-20 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction

Also Published As

Publication number Publication date
RU2011150931A (ru) 2013-06-20

Similar Documents

Publication Publication Date Title
RU2493670C2 (ru) Способ блочной межкадровой компенсации движения для видеокодеков
US10218972B2 (en) Apparatus for encoding and decoding image by skip encoding and method for same
CN103597831B (zh) 方向帧内预测方法及其装置
EP3746944A1 (en) Use of non-linear function applied to quantization parameters in machine-learning models for video coding
US20150350671A1 (en) Motion compensation method and device for encoding and decoding scalable video
KR20010075232A (ko) 비디오 시퀀스의 압축을 위한 인코딩 방법
CN106375766B (zh) 一种光场图像压缩方法
Benchikh et al. A hybrid image compression technique based on DWT and DCT transforms
Maitre et al. Depth and depth–color coding using shape-adaptive wavelets
EP3743855A1 (en) Receptive-field-conforming convolution models for video coding
CN103929649A (zh) 一种视频压缩感知的重建方法
Zhou et al. A high performance missing pixel reconstruction algorithm for hyperspectral images
US8958642B2 (en) Method and device for image processing by image division
Kishk et al. Integral images compression using discrete wavelets and PCA
Boucetta et al. DWT based-approach for color image compression using genetic algorithm
Zhang et al. Ldmic: Learning-based distributed multi-view image coding
RU2487489C2 (ru) Способ поиска векторов перемещений в динамических изображениях
Ramakrishna et al. Spectral/spatial hyperspectral image compression in conjunction with virtual dimensionality
Shen et al. Tree-based wavelets for image coding: Orthogonalization and tree selection
Kekre et al. Color Image Compression using Hybrid Wavelet Transform with Haar as Base Transform
Hamzah et al. Adaptive directional lifting structure of three dimensional non-separable discrete wavelet transform for high resolution volumetric data compression
Lee et al. An attention emphasized bit arrangement in 3-D SPIHT video coding for human vision
Biadgie Near-lossless image compression using an improved edge adaptive hierarchical interpolation
Nagamani et al. Image Compression Techniques for High Resolution Satellite Imageries using Classical Lifting Scheme
Nayan et al. Baseline JPEG-like DWT CODEC for disparity compensated residual coding of stereo images

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20171216