Способ компенсации движения и устройство для его реализации Российский патент 2019 года по МПК H04N19/43 H04N19/583 H04N19/513 H04N19/50 

Описание патента на изобретение RU2701058C1

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

Используемые далее понятия.

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

При обработке кадр часто разделяется на блоки, или макроблоки (macroblock) используя терминологию стандарта MPEG-2 (см. ISO/IEC 13818-2:2013 Information technology -- Generic coding of moving pictures and associated audio information -- Part 2: Video [1]). Блоки представляют области одинакового размера и строго определенной формы. Для удобства обработки, блок обычно имеет форму квадрата (32×32, 16×16, 8×8 пикселей).

Для подвижных изображений характерно, что каждый кадр часто похож на соседние кадры. Это называется временной избыточностью, которая позволяет построить предсказание для рассматриваемого блока в текущем кадре из похожего блока в соседнем кадре с некоторым смещением. Для описания такого смещения блока используется вектор движения, определение которого можно найти, например, в статье K.R. Rao, J.J. Hwang Techniques and Standards for Image, Video and Audio Coding, 1996, Prentice-Hall PTR, ISBN 0-13-309907-5 [2]. Для устранения временной избыточности применяются методы поиска и компенсации движения. Наиболее простым и точным является способ поиска векторов движения блоков на основе алгоритма полного перебора [2].

Для поиска вектора движения рассматривается сумма абсолютных разностей (SAD) яркости пикселя из блока в текущем кадре и яркости соответствующего пикселя из блока в опорном кадре со сдвигом на вектор движения:

Здесь Y(u, v) - значение яркости пикселя с координатами (u, v) в текущем кадре;

X(u, v) - значение яркости пикселя с координатами (u, v) в опорном кадре;

- размер блока;

(Vx, Vy) - вектор движения;

(x, y) - координаты верхнего левого угла рассматриваемого блока в текущем кадре.

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

Этот способ обычно используется в качестве эталонного для оценки качества других способов поиска векторов движения.

Более эффективным способом поиска векторов движения с точностью до пикселя является способ из А.В. Дворкович, В.П. Дворкович, Ю.Б. Зубарев, А.Ю. Соколов. Патент РФ №2137194 «Способ анализа векторов движения деталей в динамических изображениях» [3]. Ограничением этого известного способа является нахождение векторов движения лишь с точностью до целого числа пикселей по горизонтали и вертикали, при том, что реальное движение объектов в кадре точнее описывается нецелыми компонентами вектора движения.

Наиболее близким по технической сущности предлагаемого способа является способ из ITU-T Recommendation H.265. High efficiency video coding, 02/2018; ISO/IEC 23008-2:2017 Information technology -- High efficiency coding and media delivery in heterogeneous environments -- Part 2: High efficiency video coding (MPEG-H HEVC) [4], в котором осуществляется поиск векторов движения с точностью до долей пикселя, причем промежуточные точки получают путем интерполяции.

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

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

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

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

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

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

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

где Y(u, v) - значение яркости пикселя с координатами (u, v) в текущем кадре; Х(u, v) - значение яркости пикселя с координатами (u, v) в опорном кадре; М × N - размер блока; (Vx, Vy) - вектор движения;

(х, у) - координаты верхнего левого угла рассматриваемого блока в текущем кадре;

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

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

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

На фиг. 1 изображена функциональная блок-схема заявляемого устройства.

Устройство, изображенное на фиг. 1, содержит подключенные к входу цифрового сигнала динамического изображения 1 последовательно соединенные блок памяти сигнала яркости текущего кадра 2.1 и блок памяти опорного кадра 2.2, которые находятся внутри блока буферизации 2. Выходы блока буферизации 2 подключены ко входам блока поиска движения 3, где происходит вычисление векторов движения с точностью до долей пикселя и параметров дополнительного преобразования. Информация о векторах движения 6 и параметрах дополнительного преобразования 5 подается на выходы устройства и также на вход блока компенсации движения 4. Векторы движения 6 подаются на вход блока первичного предсказания 4.1, выход которого подключен к блоку уточнения предсказания 4.2, выход которого является предсказанием кадра и передается на выход устройства 7. Функционирование устройства регулируется блоком управления.

Сущность предлагаемого способа компенсации движения состоит в следующем. Цифровой сигнал динамического изображения со входа устройства 1 (фиг. 1) поступает на блок сигнала яркости текущего кадра 2.1 и через него на блок памяти опорного (например, предыдущего) кадра 2.2. Дискретные отсчеты соответствующих пикселей текущего и опорного кадров поступают на блок поиска движения 3, в котором с использованием способа [4] осуществляется нахождение кандидатов для вектора движения с точностью до долей пикселя и затем выполняется процесс поиска векторов движения вместе с параметрами дополнительного преобразования. Полученные векторы движения 6 поступают на блок первичного предсказания 4.1 для традиционного предсказания на основе векторов движения и опорного кадра. Блок 4.2 уточняет полученное предсказание с помощью дополнительного преобразования используя для этого параметры 5. На выходы устройства передаются векторы движения 6, параметры дополнительного преобразования 5 и предсказание кадра 7, которые принимают другие модули в кодирующих устройствах.

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

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

Здесь Y(u, v) - значение яркости пикселя с координатами (u, v) в текущем кадре;

X(u, v) - значение яркости пикселя с координатами (u, v) в опорном кадре;

- размер блока;

(Vx, Vy) - вектор движения;

(x, y) - координаты верхнего левого угла рассматриваемого блока в текущем кадре.

Из формулы (2) видно, что в предлагаемом способе используется функция F(X(x, y)), называемая функцией аппроксимации, с помощью которой выполняется процесс уточнения предсказания при компенсации движения. По введенной терминологии, традиционный метод компенсации движения использует простую функцию аппроксимации Y = X, а заявляемый применяет более сложные функции F(X(x, y)), в силу чего обеспечивается повышение качества предсказания по сравнению с традиционным методом.

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

F(X) = aX,

F(X) = aX + b,

F(X) = bXa,

F(X) = X / (bX + a),

F(X) = bXaX,

F(X) = X2 / (a + bX + cX2), и многие другие.

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

где: r - значение яркости пикселя блока в опорном кадре;

F(r) - значение предсказанной яркости пикселя рассматриваемого блока в текущем кадре;

a, b - параметры функции аппроксимации.

Параметры a, b можно вычислить используя метод наименьших квадратов из условия (4):

где: Y - значение яркости пикселя рассматриваемого блока в текущем кадре;

X - значение яркости пикселя блока в опорном кадре;

- размер блока.

Решение условия (4) представлено формулой (5):

где: обозначает среднее значение X по всем пикселям блока.

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

Необходимая точность параметров определяется по формуле (6):

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

Продолжим подробное описание блока поиска движения 3 и блока уточнения предсказания 4.2 предлагаемого устройства. Для каждого кандидата из рассматриваемого множества векторов движения, полученных с помощью способа [4], сначала блок вычисления параметров функции аппроксимации 3.1 вычисляет параметры дополнительного преобразования (a, b) по формулам (5), квантует их до заданным точности и передает их на вход модифицированного блока вычисления функции стоимости 3.2, где происходит вычисление функции стоимости по формулам (2) и (3), которая поступает в блок выбора вектора движения 3.3. В блоке 3.3 выбираются вектор движения и соответствующие квантованные параметры, которые обеспечивают минимум функции стоимости. Как и в традиционном методе компенсации движения, блок 4.1 вычисляет первичное предсказание X на основе опорного кадра из блока 2.2 и вектора движения из блока 3, в результате чего получается блок из опорного кадра, соответствующий полученному вектору движения. Блок 4.2 принимает дополнительные параметры (a, b) из блока 3, первичное предсказание X из блока 4.1 и уточняет предсказание с помощью функции аппроксимации, по формуле (3).

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

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

На фиг. 3-6 показаны кривые зависимости уровня искажений от скорости выходного потока (RD-кривые) для традиционного и предлагаемого способов компенсации движения для тестовых видеопоследовательностей высокого разрешения «1080p_riverbed» и «1080p_rush_hour» (см. Тестовые видеопоследовательности // http://media.xiph.org/video/derf/[5]).

Применение предлагаемого способа компенсации движения для видео высокого разрешения в вейвлет-видеокодере, схема которого изображена на фиг. 2, обеспечивает повышение качества восстановленного кадра, что иллюстрируется кривыми зависимости уровня искажений от скорости выходного потока (RD - кривые), представленными на фиг. 3-6. Полученные результаты демонстрируют существенное уменьшение объема данных при заданном качестве восстановленного кадра. Конкретно, для видео «1080p_riverbed» и режима разбиения кадра на блоки 8×8 получено уменьшение объем данных в 13,5% при качестве восстановленного кадра PSNR = 38, и 10% при PSNR = 40. А для случая разбиения кадра на блоки 16×16 получены уменьшение объема данных в 15% при качестве восстановленного кадра PSNR = 38 и PSNR = 40. Для видео «1080p_rush_hour» и случая разбиения кадра на блоки 16×16, предлагаемый способ может уменьшить объем данных на 34% при качестве восстановленного кадра PSNR = 40. Предложенная схема устройства отличается несложной реализацией и может быть применена в различных видеокодеках, использующих блочное предсказание движения.

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

название год авторы номер документа
СПОСОБ ПОИСКА ВЕКТОРОВ ПЕРЕМЕЩЕНИЙ В ДИНАМИЧЕСКИХ ИЗОБРАЖЕНИЯХ 2011
  • Умняшкин Сергей Владимирович
  • Табориский Александр Евгеньевич
  • Александров Андрей Александрович
RU2487489C2
РАННЕЕ ПРЕКРАЩЕНИЕ УТОЧНЕНИЯ ОПТИЧЕСКОГО ПОТОКА 2020
  • Эсенлик, Семих
  • Сетураман, Срирам
  • А, Джива Радж
  • Котеча, Сагар
RU2808608C2
СПОСОБ ВЫЧИСЛЕНИЯ ПОЗИЦИИ ОПОРНОЙ ВЫБОРКИ ЦЕЛОЧИСЛЕННОЙ СЕТКИ ДЛЯ ВЫЧИСЛЕНИЯ ГРАДИЕНТА ГРАНИЧНОЙ ВЫБОРКИ БЛОЧНОГО УРОВНЯ В ВЫЧИСЛЕНИИ ОПТИЧЕСКОГО ПОТОКА С ДВОЙНЫМ ПРЕДСКАЗАНИЕМ И КОРРЕКЦИИ С ДВОЙНЫМ ПРЕДСКАЗАНИЕМ 2020
  • Сетураман, Срирам
  • А, Джива Радж
  • Котеча, Сагар
RU2820638C2
СПОСОБ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ МНОГОРАКУРСНОЙ ВИДЕОПОСЛЕДОВАТЕЛЬНОСТИ НА ОСНОВЕ ЛОКАЛЬНОЙ КОРРЕКЦИИ ЯРКОСТИ И КОНТРАСТНОСТИ ОПОРНЫХ КАДРОВ БЕЗ ПЕРЕДАЧИ ДОПОЛНИТЕЛЬНЫХ СЛУЖЕБНЫХ ДАННЫХ 2012
  • Фартуков Алексей Михайлович
  • Ковлига Игорь Миронович
  • Мишуровский Михаил Наумович
RU2493668C1
ОКНО ОГРАНИЧЕННОГО ДОСТУПА К ПАМЯТИ ДЛЯ УТОЧНЕНИЯ ВЕКТОРА ДВИЖЕНИЯ 2018
  • Эсенлик, Семих
  • Котра, Ананд, Мехер
  • Чжао, Чжицзе
  • Гао, Хань
RU2761511C2
КОДЕР, ДЕКОДЕР И СООТВЕТСТВУЮЩИЕ СПОСОБЫ 2020
  • Сетураман, Срирам
  • Котеча, Сагар
  • А, Джива Радж
  • Эсенлик, Семих
RU2824186C2
ИНТЕРПОЛЯЦИЯ ДЛЯ ВНЕШНЕГО ПРЕДСКАЗАНИЯ С УТОЧНЕНИЕМ 2019
  • Чжан, Кай
  • Чжан, Ли
  • Лю, Хунбинь
  • Ван, Юэ
RU2808586C2
ОПЕРАЦИИ ПОВТОРНОЙ ДИСКРЕТИЗАЦИИ И ИЗМЕНЕНИЯ РАЗМЕРА ИЗОБРАЖЕНИЯ ДЛЯ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ВИДЕО С ПЕРЕМЕННОЙ РАЗРЕШАЮЩЕЙ СПОСОБНОСТЬЮ 2011
  • Салливан Гари Дж.
RU2456761C1
СПОСОБ ПРОПУСКА УТОЧНЕНИЯ НА ОСНОВАНИИ ПОДОБИЯ ВСТАВКИ ПРИ УТОЧНЕНИИ ВЕКТОРА ДВИЖЕНИЯ НА СТОРОНЕ ДЕКОДЕРА НА ОСНОВАНИИ БИЛИНЕЙНОЙ ИНТЕРПОЛЯЦИИ 2019
  • Сетхураман, Срирам
  • А, Джива Радж
RU2786383C2
СПОСОБ НАХОЖДЕНИЯ ВЕКТОРОВ ДВИЖЕНИЯ ДЕТАЛЕЙ В ДИНАМИЧЕСКИХ ИЗОБРАЖЕНИЯХ И УСТРОЙСТВО ДЛЯ ЕГО РЕАЛИЗАЦИИ 2009
  • Дворкович Виктор Павлович
  • Дворкович Александр Викторович
  • Нечепаев Владислав Владимирович
RU2408160C1

Иллюстрации к изобретению RU 2 701 058 C1

Реферат патента 2019 года Способ компенсации движения и устройство для его реализации

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

где Y(u, v) - значение яркости пикселя с координатами (u, v) в текущем кадре; X(u, v) - значение яркости пикселя с координатами (u, v) в опорном кадре; - размер блока; (Vx, Vy) - вектор движения; (x, y) - координаты верхнего левого угла рассматриваемого блока в текущем кадре; F(X) - функция аппроксимации, содержащая параметры дополнительного преобразования. 2 н. и 1 з.п. ф-лы, 6 ил.

Формула изобретения RU 2 701 058 C1

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

производят запоминание дискретных отсчетов яркости текущего и опорного кадров,

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

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

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

где Y(u, v) - значение яркости пикселя с координатами (u, v) в текущем кадре;

X(u, v) - значение яркости пикселя с координатами (u, v) в опорном кадре;

- размер блока;

(Vx, Vy) - вектор движения;

(x, y) - координаты верхнего левого угла рассматриваемого блока в текущем кадре;

F(X) - функция аппроксимации, содержащая параметры дополнительного преобразования.

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

3. Устройство компенсации движения для осуществления способа по пп. 1, 2, содержащее блок буферизации (2), блок поиска движения (3) и блок компенсации движения (4), в котором в блок поиска движения (3) введен блок вычисления параметров функции аппроксимации (3.1) и модифицированный блок вычисления функции стоимости с учетом предлагаемой функции аппроксимации (3.2), в блок компенсации движения включён блок уточнения предсказания (4.2) с помощью предлагаемой функции аппроксимации с полученными параметрами, в котором выход блока сигнала яркости текущего кадра (2.1) подключен к входу блока памяти опорного кадра (2.2), входу блока вычисления параметров функции аппроксимации (3.1) и входу модифицированного блока вычисления функции стоимости (3.2), выход блока памяти опорного кадра (2.2) подключен к входу блока вычисления параметров функции аппроксимации (3.1), входу модифицированного блока вычисления функции стоимости (3.2) и входу блока первичного предсказания (4.1), выход блока вычисления параметров функции аппроксимации (3.1) подключен к входу модифицированного блока вычисления функции стоимости (3.2) и входом блока выбора вектора движения (3.3), выход блока (3.2) подключен к входу блока выбора вектора движения (3.3), один выход блока выбора вектора движения (3.3) соединен со входом блока первичного предсказания (4.1), а другой выход блока выбора вектора движения (3.3) соединен со входом блока уточнения предсказания (4.2) и выход блока первичного предсказания (4.1) соединен с входом блока уточнения предсказания (4.2) с получением на выходе устройства векторов движения (6), параметров дополнительного преобразования (5) и предсказания кадра (7), для приёма другими модулями в кодирующих устройствах.

Документы, цитированные в отчете о поиске Патент 2019 года RU2701058C1

Способ получения цианистых соединений 1924
  • Климов Б.К.
SU2018A1
Автомобиль-сани, движущиеся на полозьях посредством устанавливающихся по высоте колес с шинами 1924
  • Ф.А. Клейн
SU2017A1
Многоступенчатая активно-реактивная турбина 1924
  • Ф. Лезель
SU2013A1
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок 1923
  • Григорьев П.Н.
SU2008A1
EP 3451666 A1, 06.03.2019
СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ И СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ 2011
  • Сиодера Тайтиро
  • Танизава Акиюки
  • Ямакаге Томоо
  • Тудзо Такеси
RU2571538C2

RU 2 701 058 C1

Авторы

Дворкович Александр Викторович

Грызов Геннадий Юрьевич

Дам Чонг Нам

Даты

2019-09-24Публикация

2019-04-12Подача