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



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

 


Владельцы патента RU 2493670:

Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" (RU)

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

 

Изобретение относится к области видеокодирования, в частности к оценке и компенсации движения в динамических изображениях.

Известен способ компенсации движения, в котором кадр разбивается на слои - группы блоков, объединенные по взаимному расположению [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 ) .

Единицы соответствуют блоку, неотрицательные веса а и 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 ) .

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

Поэлементно разделим исходную матрицу А на матрицу S:

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 ) .

Матрица А* обладает всеми свойствами исходной матрицы А и, кроме того, является нормированной (второе свойство), в чем нетрудно убедиться, посчитав матрицу суммы.

Естественно, что маска удовлетворяет всем свойствам не при всех значениях а и 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.

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



 

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

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

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

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

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

Изобретение относится к устройству кодирования видео и устройству декодирования видео. .

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

Изобретение относится к способу и устройству обработки изображения, в частности к кодированию движущихся изображений. Техническим результатом является генерирование прогнозируемого изображения с высокой точностью без увеличения процессорной нагрузки. Указанный технический результат достигается тем, что из опорного кадра выделяют изображение, составленное из макроблоков размером 16×16 пикселов, при этом к каждому макроблоку присоединена полоса шириной «а» пикселов, служащая областью полей, в качестве изображения с компенсацией движения и рассматривают его в качестве входного изображения для процесса фильтрации. Величину «а» определяют в соответствии с числом отводов фильтра с конечной импульсной характеристикой (КИХ). Процесс фильтрации выполняют с использованием изображения с компенсацией движения в качестве входного изображения и передают на выход прогнозируемое изображение размером 16×16 пикселов в качестве выходного изображения процесса фильтрации. Прогнозируемое изображение добавляют в сумматоре к выходному изображению схемы обратного ортогонального преобразования и используют результат суммирования в качестве макроблока, составляющего декодированный кадр. 2 н. и 4 з.п. ф-лы, 46 ил.

Изобретение относится к цифровому кодированию видео изображения и, более конкретно, к кодированию с использованием различных режимов предсказания. Техническим результатом является выполнение предсказания из большего количества различных углов и улучшение эффективности предсказания. Указанный технический результат достигается тем, что секция (13) определения набора предсказания выбирает набор предсказания из группы наборов предсказания, включающей в себя множество наборов предсказания, имеющих различные комбинации режимов предсказания, соответствующих различным направлениям предсказания. Дополнительно, секция (11) определения режима предсказания выбирает режим предсказания из набора предсказания, выбранного таким образом. Секция (4) статистического кодирования кодирует набор предсказания, таким образом выбранный, режим предсказания, таким образом выбранный, и остаточные данные между входным изображением и предсказанным изображением, сформированным на основе набора предсказания и режима предсказания. 4 н. и 6 з.п. ф-лы, 37 табл., 73 ил.

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

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

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

Изобретение относится к вычислительной технике. Технический результат заключается в предотвращении добавления шумов к высокочастотному компоненту данных изображения. Устройство обработки изображения содержит модуль формирования изображения, предназначенный для формирования изображения и генерирования сигнала изображения; модуль обработки, предназначенный для формирования на основе сигнала изображения первых видеоданных, содержащих множество кадров, и вторых видеоданных, имеющих более высокое разрешение, чем у кадров, содержащихся в первых видеоданных; блок кодирования, предназначенный для сжатия первых и вторых видеоданных; модуль прогнозирования движения, предназначенный для детектирования вектора движения между кадрами, содержащимися в первых видеоданных, при этом кадр первых видеоданных увеличивают до такого же разрешения, как и кадр вторых видеоданных; модуль расчета величины различия, предназначенный для расчета величины различия между кадром первых видеоданных, увеличенным до такого же разрешения, как и кадр вторых видеоданных, и кадром вторых видеоданных; и модуль генерирования изображения, предназначенный для генерирования, на основе кадра вторых видеоданных и вектора движения, данных изображения со скомпенсированным движением, имеющих такое же разрешение, как и у вторых видеоданных, если величина различия, рассчитанная модулем расчета величины различия, меньше, чем заданное значение. 2 н. и 6 з.п. ф-лы, 7 ил.

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