RU2182727C2 - Способ поиска векторов движения деталей в динамических изображениях - Google Patents
Способ поиска векторов движения деталей в динамических изображениях Download PDFInfo
- Publication number
- RU2182727C2 RU2182727C2 RU2000119205/09A RU2000119205A RU2182727C2 RU 2182727 C2 RU2182727 C2 RU 2182727C2 RU 2000119205/09 A RU2000119205/09 A RU 2000119205/09A RU 2000119205 A RU2000119205 A RU 2000119205A RU 2182727 C2 RU2182727 C2 RU 2182727C2
- Authority
- RU
- Russia
- Prior art keywords
- pixels
- macroblock
- motion vectors
- pixel
- current
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
- H04N5/145—Movement estimation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/223—Analysis of motion using block-matching
- G06T7/238—Analysis of motion using block-matching using non-full search, e.g. three-step search
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/53—Multi-resolution motion estimation; Hierarchical motion estimation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Изобретение относится к видеоинформационной технике и может найти применение при разработке цифровых кодирующих устройств для видеотелефонии, видеоконференцсвязи, телевизионного цифрового вещания стандартной и высокой четкости. Технический результат: сокращение количества вычислительных операций, увеличение зоны поиска векторов движения деталей в динамических изображениях и вследствие этого повышение качества воспроизведения быстро перемещающихся деталей. Этот технический результат получается за счет того, что в способе поиска векторов движения деталей в динамических изображениях, включающем преобразование последовательности кадров изображений в цифровую форму, запоминание дискретных отсчетов яркости текущего и опорного кадров, разбиение текущего кадра на макроблоки и поиск вектора движения каждого из макроблоков текущего кадра относительно опорного кадра посредством минимизации по рассматриваемому множеству векторов движения контрольной суммы данного макроблока, являющейся суммой норм попиксельной разности уровней в текущем и опорных кадрах, производят выбор среди множества пикселов каждого макроблока небольшого числа пикселов, характеризующих рельеф значений макроблока, вычисление упомянутой контрольной суммы лишь по выбранным опорным пикселам, при этом координаты выбранных пикселов в макроблоке определяют с использованием значений всех пикселов макроблока. 5 з.п. ф-лы, 21 ил.
Description
Настоящее изобретение относится к видеоинформационной технике и может найти применение при разработке и внедрении цифровых кодирующих устройств для видеотелефонии, видеоконференцсвязи, телевизионного цифрового вещания стандартной и высокой четкости, а более конкретно к способу поиска векторов движения деталей в динамических изображениях.
Известно множество способов анализа векторов движения деталей в динамических изображениях.
Наиболее простым и точным является способ поиска векторов движения макроблоков на основе алгоритма полного перебора (K. R. Rao, J.J. Hwang. "Techniques and Standards for Image, Video and Audio Coding", 1996, Prentice-Hall PTR, ISBN 0-13-309907-5, стр. 89-91). Согласно этому способу для поиска вектора движения рассматривается норма разницы сигналов яркости двух макроблоков в текущем и опорном кадрах SAD со сдвигом на вектор движения:
Здесь F - значение яркости, (х, у) - пространственные координаты точки в кадре, t - временной индекс кадра, суммирование производится по всем точкам макроблока. Значение , для которого норма SAD имеет наименьшее значение, принимается за искомый вектор. Векторы движения ищутся методом полного перебора в некоторой ограниченной окрестности: min<Vx, Vy<max. Предполагая, что размер этой окрестности равен ±N пикселов по координатам х и у, получим для числа операций, необходимых для определения вектора движения одного макроблока размером 16х16 пикселов, величину порядка 3•256 (2N+1)2. На один пиксел макроблока количество операций составляет 3•(2N+1)2, что уже при N=15 (значения векторов движения в пределах ±15 точек) составляет значительную величину более 103 операций/пиксел.
Здесь F - значение яркости, (х, у) - пространственные координаты точки в кадре, t - временной индекс кадра, суммирование производится по всем точкам макроблока. Значение , для которого норма SAD имеет наименьшее значение, принимается за искомый вектор. Векторы движения ищутся методом полного перебора в некоторой ограниченной окрестности: min<Vx, Vy<max. Предполагая, что размер этой окрестности равен ±N пикселов по координатам х и у, получим для числа операций, необходимых для определения вектора движения одного макроблока размером 16х16 пикселов, величину порядка 3•256 (2N+1)2. На один пиксел макроблока количество операций составляет 3•(2N+1)2, что уже при N=15 (значения векторов движения в пределах ±15 точек) составляет значительную величину более 103 операций/пиксел.
Этот способ обычно используется в качестве эталонного для оценки качества других способов анализа векторов движения деталей в динамических изображениях.
Недостатком этого способа является требуемое большое количество вычислительных операций и в связи с этим низкое быстродействие.
Наиболее близким по технической сущности к заявляемому техническому решению является способ анализа векторов движения деталей в динамических изображениях (Патент РФ 2137194), предусматривающий преобразование последовательности кадров изображений в цифровую форму, запоминание дискретных отсчетов яркости текущего и соседнего по времени (опорного) кадров, разбиение текущего кадра на макроблоки и поиск вектора движения каждого из макроблоков текущего кадра относительно опорного кадра посредством минимизации по рассматриваемому множеству векторов движения контрольной суммы данного макроблока, являющейся суммой норм попиксельной разности уровней в текущем и опорных кадрах, причем все множество пикселов рассматриваемого макроблока разбивается на участки, в каждом из которых выбирается только один пиксел, и упомянутая контрольная сумма вычисляется лишь по выбранным упомянутым пикселам, при этом упомянутые пикселы в каждом из участков выбираются таким образом, что их уровни в смежных участках наиболее отличаются друг от друга.
Дополнительно в этом способе анализа векторов движения для каждого текущего рассматриваемого значения вектора движения вычисление контрольной суммы по выбранным упомянутым пикселам производится в порядке убывания отклонения значения сигнала в каждом пикселе от среднего значения по всей совокупности упомянутых пикселов и прерыванием дальнейшего вычисления контрольной суммы в случае, когда она превышает значение минимальной контрольной суммы, найденной среди всех уже рассмотренных векторов движения.
Ограничением вышеописанного способа является разбиение макроблока на несколько строго зафиксированных участков и выбор по заданному алгоритму характерного пиксела без учета структуры сигнала в остальных участках, что ограничивает и является лишь одним из возможных способов выборов опорных пикселов.
В Патенте РФ 2137194 рассмотрен также второй способ выбора опорных пикселов макроблока с помощью использования порядковой статистики для всех пикселов макроблока, что также ограничивает и является лишь одним из возможных способов выборов опорных пикселов. Кроме того, согласно патенту РФ 2137194 поиск векторов движения производится по опорным пикселам макроблока только для исходного разрешения кадра, что ограничивает технический результат по уменьшению числа вычислительных операций.
В основу настоящего изобретения положена задача создания способа поиска векторов движения деталей в динамических изображениях, позволяющего уменьшить количество вычислительных операций при более общем возможном выборе структуры опорных точек, характеризующих рельеф ("скелет") значений макроблока.
Другая техническая задача, поставленная в рамках настоящего изобретения, заключается в создании способа поиска векторов движения деталей в динамических изображениях, позволяющего снизить вычислительную сложность метода, что позволяет уменьшить сложность устройства для вычисления векторов движения на аппаратном уровне, повысить быстродействие кодирующих устройств и вследствие этого производить анализ движения деталей динамических изображений в больших областях, сократив при этом объем сжатой информации и повысив качество воспроизведения быстродвижущихся деталей.
Эти и другие задачи решены посредством способа анализа векторов движения деталей в динамических изображениях, включающего преобразование последовательности кадров изображений в цифровую форму, запоминание дискретных отсчетов пикселов текущего и соседнего по времени (опорного) кадров, разбиение текущего кадра на макроблоки и поиск вектора движения каждого из макроблоков текущего кадра относительно опорного кадра посредством минимизации по рассматриваемому множеству векторов движения контрольной суммы данного макроблока, являющейся суммой норм попиксельной разности уровней в текущем и опорном кадрах, и согласно которому в соответствии с изобретением среди множества пикселов каждого макроблока выбирают небольшое число пикселов, характеризующих рельеф значений макроблока, и упомянутую контрольную сумму вычисляют лишь по выбранным опорным пикселам, при этом координаты выбранных пикселов в макроблоке определяют с использованием значений всех пикселов макроблока.
Было бы целесообразно перед выбором опорных пикселов производить передискретизацию исходного и опорного кадров с уменьшением пространственного разрешения по вертикали и горизонтали в заданное число раз посредством применения фильтра к исходному и опорному кадрам, после чего для каждого получившегося макроблока меньшего размера производить выбор опорных пикселов и находить один или несколько наилучших векторов движения по отношению к опорному кадру меньшего разрешения посредством минимизации контрольной суммы с использованием выбранных опорных пикселов, значение полученных одного или нескольких векторов движения увеличивают в отношении исходного разрешения кадра и разрешения, полученного после передискретизации, после этого в окрестностях одного или нескольких полученных векторов производят поиск вектора движения макроблока в кадре исходного разрешения с точностью до целых либо половинных значений пикселов посредством минимизации контрольной суммы с использованием пикселов макроблока исходного разрешения.
Было бы не менее целесообразно для выбора опорных пикселов производить переупорядочивание пикселов каждой из строк макроблока в порядке возрастания их значений, выбрать нескольких равноотстоящих друг от друга пикселов в порядке возрастания получившихся номеров пикселов, для выбранных таким образом в макроблоке пикселов произвести переупорядочивание по столбцам в порядке возрастания их значений, выбрать нескольких равноотстоящих друг от друга пикселов в порядке возрастания получившихся номеров пикселов, при этом для каждого из выбранных пикселов запомнить их координаты в исходном макроблоке.
Разумно для выбора опорных пикселов в каждой из строк макроблока выбирать несколько первых пикселов в порядке убывания абсолютного отклонения значений пикселов от их среднего значения по строке, среди выбранных таким образом пикселов в каждом из столбцов выбирать несколько первых пикселов в порядке убывания абсолютного отклонения значений пикселов от их среднего значения по столбцу, при этом для каждого из выбранных пикселов запомнить их координаты в исходном макроблоке.
Возможно для выбора опорных пикселов каждый макроблок разбить на несколько областей, в каждой из которых выбирать в качестве опорного только один пиксел, имеющий максимальное либо минимальное значение внутри данной области, при этом, если в данной области выбран пиксел с максимальным значением, то в соседней с ним области выбрать пиксел с минимальным значением, и наоборот, причем для каждого из выбранных пикселов запоминают их координаты в исходном макроблоке.
Возможен и другой вариант, при котором для каждого текущего рассматриваемого значения вектора движения вычисление контрольной суммы с использованием выбранных опорных пикселов производят в порядке убывания отклонения значения сигнала в каждом пикселе от среднего значения по всей совокупности опорных пикселов и прерывают дальнейшее вычисление контрольной суммы в случае, когда она превышает К-ое минимальное значение контрольной суммы, найденной среди всех уже рассмотренных векторов движения.
В дальнейшем настоящее изобретение будет более подробно раскрыто посредством более подробного описания способа анализа векторов движения деталей в динамических изображениях устройств, реализующих заявляемый способ, а также поясняющих чертежей, на которых:
Фиг. 1-а изображает блок-схему устройства для реализации способа поиска векторов движения деталей в динамических изображениях;
Фиг. 1-б изображает блок-схему еще одного устройства для реализации способа поиска векторов движения деталей в динамических изображениях, предусматривающего пространственную передискретизацию исходного изображения и предварительный поиск векторов движения по отношению к передискретизованному изображению;
Фиг. 2 приведены текущий (а) и опорный кадры (б) видеопоследовательности "Сад цветов";
Фиг. 3 иллюстрирует увеличенное изображения одного макроблока (а) из последовательности "Сад цветов", на примере которого излагаются предлагаемые способы поиска векторов движения, и (б) участка опорного кадра, соответствующего макроблоку (а);
Фиг. 4 иллюстрирует рельеф (а) и цифровые значения (б) сигнала яркости выбранного макроблока;
Фиг. 5-11 изображают таблицы уровней пикселов выбранного макроблока, иллюстрирующие алгоритм выбора опорных точек в способе поиска векторов движения;
Фиг. 12-14 изображают векторы движения, рассчитанные согласно предлагаемому способу поиска векторов;
Фиг. 15 изображает векторы движения, расчитанные согласно эталонному способу поиска векторов движения;
Фиг. 16 изображает таблицу результатов кодирования последовательности "Сад цветов" в рамках стандарта MPEG-2, иллюстрирующую эффективность предлагаемых способов поиска векторов движения;
Фиг. 17-18 изображают таблицы значений отсчетов выбранного макроблока, иллюстрирующие алгоритм выбора опорных точек в способе поиска векторов движения;
Фиг. 19 приведены векторы движения, рассчитанные по заявляемому способу поиска векторов;
Фиг. 20-21 изображают таблицы результатов кодирования последовательности "Сад цветов" в рамках стандарта MPEG-2, иллюстрирующие эффективность способа поиска векторов движения.
Фиг. 1-а изображает блок-схему устройства для реализации способа поиска векторов движения деталей в динамических изображениях;
Фиг. 1-б изображает блок-схему еще одного устройства для реализации способа поиска векторов движения деталей в динамических изображениях, предусматривающего пространственную передискретизацию исходного изображения и предварительный поиск векторов движения по отношению к передискретизованному изображению;
Фиг. 2 приведены текущий (а) и опорный кадры (б) видеопоследовательности "Сад цветов";
Фиг. 3 иллюстрирует увеличенное изображения одного макроблока (а) из последовательности "Сад цветов", на примере которого излагаются предлагаемые способы поиска векторов движения, и (б) участка опорного кадра, соответствующего макроблоку (а);
Фиг. 4 иллюстрирует рельеф (а) и цифровые значения (б) сигнала яркости выбранного макроблока;
Фиг. 5-11 изображают таблицы уровней пикселов выбранного макроблока, иллюстрирующие алгоритм выбора опорных точек в способе поиска векторов движения;
Фиг. 12-14 изображают векторы движения, рассчитанные согласно предлагаемому способу поиска векторов;
Фиг. 15 изображает векторы движения, расчитанные согласно эталонному способу поиска векторов движения;
Фиг. 16 изображает таблицу результатов кодирования последовательности "Сад цветов" в рамках стандарта MPEG-2, иллюстрирующую эффективность предлагаемых способов поиска векторов движения;
Фиг. 17-18 изображают таблицы значений отсчетов выбранного макроблока, иллюстрирующие алгоритм выбора опорных точек в способе поиска векторов движения;
Фиг. 19 приведены векторы движения, рассчитанные по заявляемому способу поиска векторов;
Фиг. 20-21 изображают таблицы результатов кодирования последовательности "Сад цветов" в рамках стандарта MPEG-2, иллюстрирующие эффективность способа поиска векторов движения.
В дальнейшем заявляемый способ поиска векторов движения деталей в динамических изображениях раскрывается более подробно посредством анализа блок-схем устройств, реализующих заявляемый способ. Блок-схема устройства, изображенная на фиг.1-а, содержит подключенные ко входу 1 параллельно блок синхронизации 2 и последовательно соединенные аналого-цифровой преобразователь 3, схему выделения 4 сигнала яркости, последовательно соединенные блок памяти 5 текущего кадра и блок памяти 6 опорного кадра, подключенные к выходам блока памяти текущего кадра последовательно соединенные блок памяти 7 текущего макроблока, блок переупорядочивания 8 пикселов макроблока и вычислитель 9 положений и уровней характерных пикселов макроблока, первые выходы которого соединены с блоком памяти 10 уровней выбранных пикселов, а вторые входы - через сумматор 11 ко входам управления блока памяти опорного кадра 6, выходы которого через блок памяти 12 уровней пикселов сравнения подключены к первым входам блока 13 попиксельного вычитания уровней характерных пикселов текущего и опорного кадров, вторые входы которого подключены ко вторым выходам блока памяти 10, а выходы - к блоку суммирования 14 модулей, выходы которого параллельно подключены к блоку сравнения сумм 15 и блоку вычисления 16 минимальной суммы и текущих векторов движения, вторые входы блока сравнения сумм 15 подключены к выходам блока 16, а выходы - непосредственно ко входам управления блока 14 и через счетчик перемещений 17 ко второму входу сумматора 11, вторые выходы блока 16 подключены через блок памяти 18 векторов движения к выходам устройства 19, вторые выходы блока 18 соединены параллельно с дополнительными входами блока 16 и счетчика 17, выходы блока синхронизации 2 соединены со входами управления блоков 3 и 4, а также через блок управления 20 со входами синхронизации работы блоков 5-18 устройства.
Блок-схема устройства, изображенная на фиг.1-б, содержит подключенные ко входу 1 параллельно блок синхронизации 2 и последовательно соединенные аналого-цифровой преобразователь 3, схему выделения 4 сигнала яркости, последовательно соединенные блок передискретизации 5, блок памяти 6 текущего кадра и блок памяти 7 опорного кадра, подключенные к выходам блока памяти текущего кадра последовательно соединенные блок памяти 8 текущего макроблока, блок переупорядочивания 9 пикселов макроблока и вычислитель 10 положений и уровней характерных пикселов макроблока, первые выходы которого соединены с блоком памяти 11 уровней выбранных пикселов, а вторые входы - через сумматор 12 ко входам управления блока памяти опорного кадра 6, выходы которого через блок памяти 13 уровней пикселов сравнения подключены к первым входам блока 13 попиксельного вычитания уровней характерных пикселов текущего и опорного кадров, вторые входы которого подключены ко вторым выходам блока памяти 11, а выходы - к блоку суммирования 15 модулей, выходы которого параллельно подключены к блоку сравнения сумм 16 и блоку вычисления 17 минимальной суммы и текущих векторов движения, вторые входы блока сравнения сумм 16 подключены к выходам блока 17, а выходы - непосредственно ко входам управления блока 15 и через счетчик перемещений 18 ко второму входу сумматора 12, вторые выходы блока 17 подключены через блок памяти 19 векторов движения к блоку памяти текущего кадра 21, вторые выходы блока 19 соединены параллельно с дополнительными входами блока 17 и счетчика 18, выходы блока синхронизации 2 соединены со входами управления блоков 3 и 4, а также через блок управления 20 со входами синхронизации работы блоков 6-19 устройства, блока памяти опорного кадра 21, вход которого подключен к выходу схемы выделения сигнала яркости 4, блока памяти опорного кадра 22, один вход которого подключен к выходу блока памяти текущего кадра 21, а другой к выходу сумматора 25, блока памяти уровней пикселов сравнения 23, вход которого подключен к блоку памяти опорного кадра 22, блока памяти макроблоков 24, вход которого подключен к выходу блока памяти опорного кадра 21, сумматора 25, один вход которого подключен к выходу блока памяти макроблока 24, а другой к выходу счетчика перемещений 27, блока попиксельного вычитания 26, один вход которого подключен к выходу блока памяти уровней пикселов сравнения 23, а другой к блоку памяти уровней всех пикселов 29, счетчика перемещений 27, один вход которого подключен к блоку 31 памяти векторов движения, а другой к блоку сравнения сумм 30, блока суммирования модулей 28, один вход которого подключен к выходу блока попиксельного вычитания 26, а другой к выходу блока сравнения сумм 30, блока памяти уровней всех пикселов 29, вход которого подключен к блоку памяти макроблока 24, блока сравнения сумм 30, один вход которого подключен к блоку суммирования модулей 28, блока памяти векторов движения 31, вход которого подключен к блоку вычисления минимальной суммы и текущих векторов движения 32 и блока вычисления минимальной суммы и текущих векторов движения 32, вход которого подключен к выходу блока памяти векторов движения 31, а другой к выходу блока суммирования модулей 28.
Сущность предлагаемого способа вычисления векторов движения состоит в следующем. Изложение предлагаемого способа иллюстрируется на примере анализа вектора движения одного из макроблоков динамического изображения (фиг.2). На фиг. 3а приведена в увеличенном масштабе часть изображения текущего кадра в увеличенном масштабе с обведенным макроблоком, вектор движения которого определяется в зоне опорного кадра, изображенной на фиг.3б. Макроблок имеет размер 16х16 пикселов, зона поиска движения - 64х64 пиксела. На фиг.3б обозначено положение смещенного макроблока в опорном кадре.
В случае использования стандартного метода поиска вектора движения в указанной зоне поиска требуется использование вычислительной мощности в 3•492= 7203 операций на каждый пиксел макроблока. Рельеф сигнала яркости макроблока изображен на фиг. 4а, а на фиг.4б приведены цифровые значения пикселов этого макроблока.
В соответствии с предлагаемым способом в макроблоке выбирается несколько опорных пикселов, характеризующих рельеф (скелет) макроблока. Рассмотрим пример, когда число опорных пикселов равняется 16.
Существуют различные предлагаемые способы выбора опорных пикселов. В соответствии с одним из заявляемых способов выбора опорных пикселов все пикселы макроблока переупорядочивают по строкам в порядке возрастания их значений (фиг.5). После переупорядочивания производят выбор пикселов с номерами столбцов х={1, 6, 11, 16} (фиг.6). После выбора столбцов производят переупорядочивание выбранных пикселов по столбцам в порядке возрастания значений (фиг.7). После переупорядочивания по столбцам производят конечный выбор опорных пикселов с номерами строк у={1, 6, 11, 16} (фиг.8). При выборе опорных пикселов их координаты запоминают в исходном макроблоке, выбранные опорные пикселы обозначены подчеркиванием (фиг.4-8).
Согласно еще одному заявляемому способу выбора опорных пикселов из исходных пикселов макроблока (фиг.4) выбирают в каждой строке такие пикселы, которые имеют максимальное абсолютное отклонение своих значений от среднего значения уровня по строке (фиг.9). После этого выбирают в каждом сформированном столбце такие пикселы, которые имеют максимальное абсолютное отклонение своих значений от среднего значения уровня по столбцам (фиг.10). Данные выбранные пикселы используют в качестве опорных, их положения в исходном макроблоке показаны подчеркиванием (фиг.11).
Для поиска вектора движения рассматривают сумму нормы разницы сигналов выбранных пикселов для двух макроблоков в текущем и опорном кадрах SAD1 со сдвигом на вектор движения:
В способе поиска векторов движения для выбора опорных пикселов необходимо выполнить порядка
обращений к одному пикселу макроблока, где М - число опорных пикселов (в данном случае М=16), для поиска вектора движения с использованием (2) необходимо выполнить порядка операций. При окне поиска N> 10 количество операций, необходимых для поиска опорных пикселов пренебрежимо мало по сравнению с числом операций, необходимых для вычисления суммы (2) и поиска вектора движения. Поэтому в способе достигается ускорение поиска векторов приблизительно в 256/М=16 раз.
В способе поиска векторов движения для выбора опорных пикселов необходимо выполнить порядка
обращений к одному пикселу макроблока, где М - число опорных пикселов (в данном случае М=16), для поиска вектора движения с использованием (2) необходимо выполнить порядка операций. При окне поиска N> 10 количество операций, необходимых для поиска опорных пикселов пренебрежимо мало по сравнению с числом операций, необходимых для вычисления суммы (2) и поиска вектора движения. Поэтому в способе достигается ускорение поиска векторов приблизительно в 256/М=16 раз.
Эффективность предложенного способа поиска векторов движения характеризуется фиг.12-16. На фиг.12-13 показаны векторы движения. На фиг.15 показаны векторы движения, полученные стандартным эталонным алгоритмом с использованием всех пикселов макроблока (1). Как видно из фиг.12-15, векторы движения в большинстве совпадают. Чтобы дать количественную оценку предложенного способа, рассмотрим результаты кодирования динамической последовательности кадров (фиг.16) в рамках стандарта MPEG-2 (ISO/IEC 13818-2. Information Technology - Generic Coding of Moving Pictures and Associated Audio Information. Part 2: Video./ Ed.l JTS I/SC 29, 1994) с использованием предложенного способа. Поскольку в рамках стандарта возможно использование векторов движения с точностью до половинных значений пикселов, рассмотрим два случая кодирования - без уточнения полученных векторов по предложенным способам и с уточнением в пределах +/-0.5 пиксела с использованием интерполяции между пикселами. Для уточнения будем использовать контрольную сумму (1) со всеми 256 пикселами макроблока. Уточнение векторов до половины пиксела требует порядка 3•9=27 дополнительных операций на каждый пиксел. Как следует из анализа результата кодирования (фиг.16), предложенные способы дают существенное ускорения поиска векторов движения (в 16 раз при 16 опорных точках), при этом коэфициент сжатия ухудшается не более 1-3% в случае использования точности векторов до 0.5 пиксела и 4-10% при точности векторов в один пиксел.
Сущность предлагаемого способа вычисления векторов движения, предусматривающего пространственную передискретизацию исходного изображения и предварительный поиск векторов движения по отношению к передискретизованному изображению, состоит в следующем.
Изложение предлагаемого способа иллюстрируется на примере одного из макроблоков динамического изображения (фиг.2) с использованием наилучшего алгоритма поиска опорных пикселов с учетом значений в таблице на фиг.16. В отличие от описанного выше принципа поиска векторов в способе перед выбором опорных точек для каждого макроблока проводят передискретизацию исходного и опорного кадров. Рассмотрим случай, когда передискретизацию производят с уменьшением пространственного разрешения в 2 раза с использованием усреднения соседних пикселов:
Здесь F(d) (х, у) - значение пиксела после передискретизации. В соответствии с (3) отсчеты пикселов макроблока, приведенного на фиг.3-4, после передискретизации будут иметь значения, показанные на фиг.17.
Здесь F(d) (х, у) - значение пиксела после передискретизации. В соответствии с (3) отсчеты пикселов макроблока, приведенного на фиг.3-4, после передискретизации будут иметь значения, показанные на фиг.17.
Согласно наилучшему способу выбора опорных пикселов передискретизованный макроблок размером 8х8 пикселов делят на несколько областей, в каждой из которых выбирают одно максимальное либо минимальное значение в чередующемся порядке в качестве опорного пиксела. Рассмотрим случай, когда число опорных пикселов равно 16. На фиг.18 показан макроблок, разделенный на 16 областей, (а) - разбиение макроблока на участки и порядок выбора опорных пикселов, (б) - положение выбранных пикселов (опорные пикселы помечены подчеркиванием).
Для поиска вектора движения в предлагаемом способе рассматривают сумму нормы разницы сигналов выбранных пикселов для двух макроблоков в текущем и опорном передискретизованных кадрах SAD1d со сдвигом на вектор движения:
В процессе минимизации (4) в окне поиска +/- (N/2) пикселов определяют К векторов V1d, V2d, V3d,...,VKd, дающих наименьшие значения SAD1d:
Min=SAD1d(V1d)≤SAD1d(V2d)≤SAD1d(V3d)... (5)
После нахождения наилучших векторов V1d, V2d, V3d,..., VKd, соответствующих передискретизованным опорному и текущему кадрам, значение векторов увеличивают в отношение разрешений исходного и передискретизованного кадров, в данном случае в 2 раза. Далее в небольшой окрестности (например, +/- 1 пиксел) от каждого из полученных значений векторов (2•V1d, 2•V2d, 2•V3d,..., 2•VKd) производят минимизацию контрольной суммы (1) и определяют наилучший вектор движения, обеспечивающий минимум (1). Данный вектор принимается за конечный вектор движения макроблока в случае использования точности векторов 1 пиксел.
В процессе минимизации (4) в окне поиска +/- (N/2) пикселов определяют К векторов V1d, V2d, V3d,...,VKd, дающих наименьшие значения SAD1d:
Min=SAD1d(V1d)≤SAD1d(V2d)≤SAD1d(V3d)... (5)
После нахождения наилучших векторов V1d, V2d, V3d,..., VKd, соответствующих передискретизованным опорному и текущему кадрам, значение векторов увеличивают в отношение разрешений исходного и передискретизованного кадров, в данном случае в 2 раза. Далее в небольшой окрестности (например, +/- 1 пиксел) от каждого из полученных значений векторов (2•V1d, 2•V2d, 2•V3d,..., 2•VKd) производят минимизацию контрольной суммы (1) и определяют наилучший вектор движения, обеспечивающий минимум (1). Данный вектор принимается за конечный вектор движения макроблока в случае использования точности векторов 1 пиксел.
При использовании точности векторов движения, равной половине пиксела, как это, например, используется в стандарте MPEG-2, последний найденный выше вектор уточняется с использованием (1) в окрестности +/- 0,5 пиксела своего значения либо сразу в малых окрестностях (например, +/- 1 пиксел) векторов 2•V1d, 2•V2d, 2•V3d,..., 2•VKd с точностью до 0,5 пиксела.
В описываемом способе поиска векторов движения на этапе поиска векторов движения в передискретизованном кадре число операций на один пиксел передискретизованного кадра составляет где Z - отношение исходного и передискретизованного разрешений (в данном случае Z=2) или на пиксел в кадре исходного разрешения. Уточнение векторов движения в окрестности каждого из найденных векторов занимает небольшое количество операций порядка 3K(2•1+1)2 на пиксел в кадре исходного разрешения, где К - число наилучших векторов, и не зависит от N. При небольших К≤3 и N>10 последним числом можно пренебречь. В этом случае ускорение по сравнению с эталонным способом полного перебора составляет
Дополнительно скорость анализа векторов движения макроблоков можно улучшить согласно изобретению за счет определенного подбора вычисления контрольной суммы SAD1 или SAD1d. Для этого вычисляют среднее значение выбранных пикселов макроблока
Затем вычисляют модули разностей
X(x,y) = |F(x,y,t)-Fср|,
где (х, у) - координаты выбранных точек в соответствующих участках макроблока,
и контрольную сумму (2) вычисляют последовательно по координатам (х, у), для которых величины Х(х, у) располагаются в убывающей последовательности.
Дополнительно скорость анализа векторов движения макроблоков можно улучшить согласно изобретению за счет определенного подбора вычисления контрольной суммы SAD1 или SAD1d. Для этого вычисляют среднее значение выбранных пикселов макроблока
Затем вычисляют модули разностей
X(x,y) = |F(x,y,t)-Fср|,
где (х, у) - координаты выбранных точек в соответствующих участках макроблока,
и контрольную сумму (2) вычисляют последовательно по координатам (х, у), для которых величины Х(х, у) располагаются в убывающей последовательности.
В предлагаемом способе анализа векторов движения в случае, если текущий выбранный вектор не соответствует истинному вектору движения, для которого контрольная сумма минимальна, рассчитываемая контрольная сумма статистически достаточно быстро возрастает и в этом случае обычно не требуется производить вычисления по всем выбранным точкам макроблока. При этом в среднем по кадру скорость анализа движения макроблоков дополнительно возрастает в два раза.
В предлагаемом способе анализа векторов движения вычисление контрольной суммы прекращается, если ее текущее значение превышает К-ое минимальное значение контрольной суммы среди уже рассмотренных значений векторов движения. При этом в среднем по кадру скорость анализа движения макроблоков дополнительно возрастает в полтора-два раза.
Эффективность предлагаемого способа анализа движения по способу с использованием предварительной передискретизации изображения иллюстрируется на фиг.19-20. На фиг.19 приведены векторы движения, полученные с использованием наилучшего способа выбора опорных пикселов при К=3, а на фиг.20 приведены результаты кодирования тестовых динамической последовательности кадров в рамках стандарта MPEG-2 (К=1, 2 и 3).
Из таблицы на фиг.20 следует, что предлагаемый способ при Z=2 уступает по коэффициенту сжатия наилучшему эталонному способу перебора по всем пикселам не более 1% уже при К=2 и 3 и превосходит рассмотренные выше способы, не использующие передискретизацию (фиг.19). При этом коэффициент ускорения анализа движения по сравнению с эталонным способом составляет 64 раза при Z=2.
Заметим, что в предлагаемом способе фильтрация (по уравнению 3) улучшает результат. Например, если бы передискретизация проводилась без фильтрации, а только за счет прореживания по формуле
F(d) (x, y)=F(2x, 2y), (7)
то результат по коэффициенту сжатия был бы хуже на 1-2% (фиг.20).
F(d) (x, y)=F(2x, 2y), (7)
то результат по коэффициенту сжатия был бы хуже на 1-2% (фиг.20).
Устройство для реализации предложенного способа анализа векторов движения без использования фильтрации работает следующим образом.
Предположим, на вход 1 устройства (фиг.1-а) поступает аналоговый сигнал изображения, например полный цветовой телевизионный сигнал стандартных систем SECAM, PAL или NTSС. С входа этот сигнал подается параллельно на блок синхронизации 2, выделяющий соответствующие сигналы и обеспечивающий формирование импульсов дискретизации, и на аналого-цифровой преобразователь АЦП 2, в котором дискретные отсчеты сигнала преобразуются в цифровой код, поступающий на схему выделения сигнала яркости 4, устраняющую цветовые поднесущие из полного цветового телевизионного сигнала. Выделение сигнала яркости необходимо, поскольку в соответствии со стандартами MPEG анализ движения деталей изображения осуществляется только при использовании яркостной компоненты изображения. Синхронизация работы схемы 4 осуществляется также дискретизирующими импульсами, поступающими с блока синхронизации 2.
Цифровой поток сигнала яркости со схемы 4 последовательно поступает на блок памяти 5 текущего кадра и блок памяти 6 опорного кадра, в которых запоминаются дискретные отсчеты сигналов яркости текущего кадра, анализ движения макроблоков которого осуществляется относительно соответствующих структур опорного кадра.
Выходы блока 5 соединены со входами блока памяти макроблока 7, анализ движения которого производится. В этом блоке запоминаются значения рельефа сигнала яркости макроблока 16х16 пикселов. После вычисления вектора движения 1-го макроблока, соответствующего левому верхнему углу изображения, в память этого блока вводится рельеф сигнала яркости следующего за ним макроблока. Отсчет номера макроблока осуществляется обычно слева направо и сверху вниз.
В вычислителе 9 выделяются значения уровней яркости выбранных пикселов и их координаты х и у. В этом же блоке осуществляется преобразование выбранных пикселов в последовательность по мере убывания отклонений значений уровней пикселов от их среднего значения.
Далее уровни сигналов яркости в рассчитанной пиксельной последовательности запоминаются в блоке памяти 10, а их координаты (х, у) через сумматор 11 поступают на вход управления блока памяти опорного кадра 6, обеспечивая запись в блоке 12 памяти уровней пикселов сравнения уровней пикселов с координатами
(x-V0X-Vx,y-V0Y-Vy),
где (V0X, V0Y ) - координаты начального вектора смещения, которые определяются, например, из результатов оценки движения соответствующих макроблоков в предыдущем кадре или из иных соображений или задаются равными нулю,
(Vx, Vy) - координаты текущего вектора смещения макроблока, при изменении которых производится анализ контрольной суммы разностей модулей уровней выбранных пикселов в макроблоке и пикселов в опорном кадре.
(x-V0X-Vx,y-V0Y-Vy),
где (V0X, V0Y ) - координаты начального вектора смещения, которые определяются, например, из результатов оценки движения соответствующих макроблоков в предыдущем кадре или из иных соображений или задаются равными нулю,
(Vx, Vy) - координаты текущего вектора смещения макроблока, при изменении которых производится анализ контрольной суммы разностей модулей уровней выбранных пикселов в макроблоке и пикселов в опорном кадре.
С блоков памяти 10 и 12 в указанной выше последовательности значения соответствующих уровней пикселов поступают на блок попиксельного вычитания 13 и с его выхода - на блок суммирования модулей 14. Блоки 13 и 14 совместно реализуют операцию, определяемую соотношением (2).
Последовательно вычисляемая в блоке 14 сумма поступает параллельно на блок сравнения сумм 15 и блок вычисления 16 минимальной суммы и соответствующих ей векторов движения. Первоначально сумма устанавливается нереально большой величины.
При вычислении суммы для начального вектора движения эта сумма запоминается в блоке 16 и становится опорной для последующих расчетов. По окончании расчета суммы при нулевом векторе (Vx, Vy ) блок сравнения 15 выдает команду на изменение координат вектора движения в счетчик перемещений 17 и обнуление результатов суммирования в блок 14.
В счетчике 17 формируется вектор (- V0X-Vx,-V0Y-Vy), который затем суммируется в схеме 11 с текущими значениями координат выбранных характерных пикселов макроблока. Полученные координаты определяют запись уровней яркости соответствующих пикселов из блока 6 в блок 12, и процесс анализа вектора движения продолжается до тех пор, пока не найден будет истинный вектор движения макроблока.
Ускорение процесса анализа движения за счет определенного порядка обработки опорных пикселов согласно настоящему изобретению обеспечивается непрерывным сравнением текущей суммы и минимальной суммы в блоке 15. Если текущая сумма (до окончания процесса суммирования по всем выбранным пикселам) превышает ранее найденную минимальную сумму, то процесс суммирования прекращается и счетчик 17 перемещений изменяет координаты текущего вектора движения макроблока.
Результаты вычисления векторов движения, определяемые в блоке 16, запоминаются блоком памяти 18. С блока 18 координаты векторов движения подаются на цифровые выходы устройства 19.
Выполнение операций различных блоков устройства в описанной выше последовательности задается блоком управления, синхронизируемым импульсами с выхода блока синхронизации.
Работа устройства для реализации предложенного способа анализа векторов движения с использованием пространственной передискретизации изображения (фиг. 1-б) обусловлена работой блоков 1-5, обеспечивающих дискретизацию аналогового сигнала и описанных выше работы блока управления 20, работы блока передискретизации 5, работы вычислителя векторов уменьшенного разрешения (блоки 6-19) и работы вычислителя векторов конечного разрешения в (блоки 21-32). Работа вычислителя векторов уменьшенного разрешения аналогична работе устройства на фиг.1-а. Отличие заключается в том, что блоки 6-19 работают с уменьшенным разрешением кадра, соответственно макроблоки имеют размер 8х8 пикселов. Кроме того, результатом работы вычислителя векторов уменьшенного разрешения является несколько наилучших векторов, которые подаются на вход вычислителя векторов для конечного разрешения. Для вычисления наилучших векторов в блоке 17 запоминают несколько наилучших контрольных сумм и соответствующих им векторов движения. В сумматоре 25 значения векторов движения увеличиваются в отношение исходного и передискретизованного разрешений и добавляются к координатам смещения в опорном кадре с использованием счетчика перемещений 27. Работа вычислителя векторов конечного разрешения (блоки 21-31) также аналогична работе блоков 5-18 на фиг.1-а за исключением того, что в устройстве отсутствуют блоки переупорядочивания и вычисления положений опорных пикселов, так как на этапе уточнения векторов конечного разрешения используются все пикселы каждого макроблока.
Claims (6)
1. Способ анализа векторов движения деталей в динамических изображениях, предусматривающий преобразование последовательности кадров изображений в цифровую форму, запоминание дискретных отсчетов пикселов текущего и опорного кадров, разбиение текущего кадра на макроблоки и поиск вектора движения каждого из макроблоков текущего кадра относительно опорного кадра посредством минимизации по рассматриваемому множеству векторов движения контрольной суммы данного макроблока, являющейся суммой норм попиксельной разности уровней в текущем и опорном кадрах, отличающийся тем, что среди множества пикселов каждого макроблока выбирают опорные пикселы, уровни которых характеризуют рельеф макроблока, и упомянутую контрольную сумму вычисляют лишь по выбранным опорным пикселам, при этом координаты пикселов, характеризующих рельеф макроблока, выбирают путем анализа значений уровней всех пикселов макроблока.
2. Способ анализа векторов движения деталей в динамических изображениях по п. 1, отличающийся тем, что перед выбором опорных пикселов производят передискретизацию исходного и опорного кадров с уменьшением пространственного разрешения по вертикали и горизонтали в заданное число раз посредством применения фильтра к исходному и опорному кадрам, после чего для каждого получившегося макроблока меньшего размера производят выбор опорных пикселов и находят один или несколько наилучших векторов движения по отношению к опорному кадру меньшего разрешения посредством минимизации контрольной суммы с использованием выбранных опорных пикселов, значение полученных одного или нескольких векторов движения увеличивают в отношение исходного разрешения кадра и разрешения, полученного после передискретизации, в окрестностях одного или нескольких полученных векторов производят поиск вектора движения макроблока в кадре исходного разрешения с точностью до целых либо половинных значений интервалов между пикселами посредством минимизации контрольной суммы с использованием пикселов макроблока исходного разрешения.
3. Способ анализа векторов движения деталей в динамических изображениях по одному из пп. 1 и 2, отличающийся тем, что для выбора опорных пикселов производят переупорядочивание пикселов каждой из строк макроблока в порядке возрастания их значений, выбор нескольких равноотстоящих друг от друга пикселов в порядке возрастания получившихся номеров пикселов, для выбранных таким образом в макроблоке пикселов производят переупорядочивание по столбцам в порядке возрастания их значений, выбор нескольких равноотстоящих друг от друга пикселов в порядке возрастания получившихся номеров пикселов, при этом для каждого из выбранных пикселов запоминают их координаты в исходном макроблоке.
4. Способ анализа векторов движения деталей в динамических изображениях по одному из пп. 1 и 2, отличающийся тем, что для выбора опорных пикселов в каждой из строк макроблока выбирают несколько первых пикселов в порядке убывания абсолютного отклонения значений уровней пикселов от их среднего значения по строке, среди выбранных таким образом пикселов в каждом из столбцов выбирают несколько первых пикселов в порядке убывания абсолютного отклонения значений уровней пикселов от их среднего значения по столбцу, при этом для каждого из выбранных пикселов запоминают их координаты в исходном макроблоке.
5. Способ анализа векторов движения деталей в динамических изображениях по одному из пп. 1 и 2, отличающийся тем, что для выбора опорных пикселов каждый макроблок разбивают на несколько областей, в каждой из которых выбирают в качестве опорного только один пиксел, имеющий максимальное, либо минимальное значение уровня внутри данной области, при этом, если в данной области выбран пиксел с максимальным значением уровня, то в соседней с ним области выбирают пиксел с минимальным значением уровня, и наоборот, причем для каждого из выбранных пикселов запоминают их координаты в исходном макроблоке.
6. Способ анализа векторов движения деталей в динамических изображениях по одному из пп. 1 и 2, отличающийся тем, что для каждого текущего рассматриваемого значения вектора движения вычисление контрольной суммы по выбранным опорным пикселам производят в порядке убывания отклонения значения уровня каждого из выбранных опорных пикселов от среднего значения по всей совокупности этих пикселов и прерывают дальнейшее вычисление контрольной суммы в случае, когда она превышает К-ое минимальное значение контрольной суммы, найденной среди всех уже рассмотренных векторов движения.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2000119205/09A RU2182727C2 (ru) | 2000-07-20 | 2000-07-20 | Способ поиска векторов движения деталей в динамических изображениях |
GB0019508A GB2365246A (en) | 2000-07-20 | 2000-08-08 | Determining motion vectors using selected pixels from a macroblock |
PCT/GB2001/003259 WO2002009419A2 (en) | 2000-07-20 | 2001-07-19 | Method and apparatus for determining motion vectors in dynamic images |
US10/333,275 US20040042552A1 (en) | 2000-07-20 | 2001-07-19 | Method and apparatus for determining motion vectors in dynamic images |
AU2001270885A AU2001270885A1 (en) | 2000-07-20 | 2001-07-19 | Method and apparatus for determining motion vectors in dynamic images |
EP01949770A EP1305951A2 (en) | 2000-07-20 | 2001-07-19 | Method and apparatus for determining motion vectors in dynamic images |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2000119205/09A RU2182727C2 (ru) | 2000-07-20 | 2000-07-20 | Способ поиска векторов движения деталей в динамических изображениях |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2182727C2 true RU2182727C2 (ru) | 2002-05-20 |
RU2000119205A RU2000119205A (ru) | 2002-07-10 |
Family
ID=20238082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2000119205/09A RU2182727C2 (ru) | 2000-07-20 | 2000-07-20 | Способ поиска векторов движения деталей в динамических изображениях |
Country Status (2)
Country | Link |
---|---|
GB (1) | GB2365246A (ru) |
RU (1) | RU2182727C2 (ru) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2333616C2 (ru) * | 2002-04-09 | 2008-09-10 | Эл Джи Электроникс Инк. | Способ предсказания блока с использованием усовершенствованного режима прямого предсказания |
US7646810B2 (en) | 2002-01-25 | 2010-01-12 | Microsoft Corporation | Video coding |
US7664177B2 (en) | 2003-09-07 | 2010-02-16 | Microsoft Corporation | Intra-coded fields for bi-directional frames |
US7720152B2 (en) | 2002-10-01 | 2010-05-18 | Thomson Licensing | Implicit weighting of reference pictures in a video decoder |
US7801217B2 (en) | 2002-10-01 | 2010-09-21 | Thomson Licensing | Implicit weighting of reference pictures in a video encoder |
US7903742B2 (en) | 2002-07-15 | 2011-03-08 | Thomson Licensing | Adaptive weighting of reference pictures in video decoding |
US8189666B2 (en) | 2009-02-02 | 2012-05-29 | Microsoft Corporation | Local picture identifier and computation of co-located information |
US8254455B2 (en) | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
RU2461979C2 (ru) * | 2008-02-21 | 2012-09-20 | Шарп Кабусики Кайся | Устройство видеоотображения |
US8290051B2 (en) | 2002-07-15 | 2012-10-16 | Thomson Licensing | Adaptive weighting of reference pictures in video encoding |
US8345757B2 (en) | 2002-10-04 | 2013-01-01 | Lg Electronics Inc. | Method of deriving a motion vector of a bi-predictive block based on a list o motion vector of a co-located block in a reference picture |
US8369405B2 (en) | 2004-05-04 | 2013-02-05 | Qualcomm Incorporated | Method and apparatus for motion compensated frame rate up conversion for block-based low bit rate video |
US8374246B2 (en) | 2004-07-20 | 2013-02-12 | Qualcomm Incorporated | Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression |
US8374245B2 (en) | 2002-06-03 | 2013-02-12 | Microsoft Corporation | Spatiotemporal prediction for bidirectionally predictive(B) pictures and motion vector prediction for multi-picture reference motion compensation |
US8379722B2 (en) | 2002-07-19 | 2013-02-19 | Microsoft Corporation | Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures |
US8428373B2 (en) | 2002-07-18 | 2013-04-23 | Lg Electronics Inc. | Apparatus for determining motion vectors and a reference picture index for a current block in a picture to be decoded |
RU2493670C2 (ru) * | 2011-12-15 | 2013-09-20 | Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" | Способ блочной межкадровой компенсации движения для видеокодеков |
US8553776B2 (en) | 2004-07-21 | 2013-10-08 | QUALCOMM Inorporated | Method and apparatus for motion vector assignment |
US8630351B2 (en) | 2010-01-14 | 2014-01-14 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding motion vector |
US8634463B2 (en) | 2006-04-04 | 2014-01-21 | Qualcomm Incorporated | Apparatus and method of enhanced frame interpolation in video compression |
US8750387B2 (en) | 2006-04-04 | 2014-06-10 | Qualcomm Incorporated | Adaptive encoder-assisted frame rate up conversion |
US8948262B2 (en) | 2004-07-01 | 2015-02-03 | Qualcomm Incorporated | Method and apparatus for using frame rate up conversion techniques in scalable video coding |
RU2600547C2 (ru) * | 2011-09-09 | 2016-10-20 | Кт Корпорейшн | Способ получения вектора движения с временным предсказанием и устройство, использующее этот способ |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7519115B2 (en) | 2003-03-31 | 2009-04-14 | Duma Video, Inc. | Video compression method and apparatus |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100366141B1 (ko) * | 1994-01-31 | 2003-03-03 | 소니 가부시끼 가이샤 | 화상대조방법및장치 |
KR0171120B1 (ko) * | 1995-04-29 | 1999-03-20 | 배순훈 | 특징점 기반 움직임 보상을 이용한 비디오 신호 부호화에서의 움직임 영역 설정방법 및 장치 |
KR100209793B1 (ko) * | 1995-10-28 | 1999-07-15 | 전주범 | 특징점 기반 움직임 추정을 이용하여 비디오 신호를 부호화 및 복호화하는 장치 |
KR100235355B1 (ko) * | 1997-08-13 | 1999-12-15 | 전주범 | 개선된 움직임 추정 장치 및 그 추정 방법 |
JPH11275587A (ja) * | 1998-03-20 | 1999-10-08 | Pioneer Electron Corp | 動きベクトル生成装置、画像符号化装置、動きベクトル生成方法及び画像符号化方法 |
-
2000
- 2000-07-20 RU RU2000119205/09A patent/RU2182727C2/ru not_active IP Right Cessation
- 2000-08-08 GB GB0019508A patent/GB2365246A/en not_active Withdrawn
Non-Patent Citations (1)
Title |
---|
RAO K.R., HWANG J.J. TECHNIGUES AND STANDARDS FOR IMAGE, VIDEO AND AUDIO CODING, 1996, PRENTICE-HALL PTR, ISBN 0-13-309907-5, с. 89-91. * |
Cited By (109)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7646810B2 (en) | 2002-01-25 | 2010-01-12 | Microsoft Corporation | Video coding |
US8638853B2 (en) | 2002-01-25 | 2014-01-28 | Microsoft Corporation | Video coding |
US8406300B2 (en) | 2002-01-25 | 2013-03-26 | Microsoft Corporation | Video coding |
US9888237B2 (en) | 2002-01-25 | 2018-02-06 | Microsoft Technology Licensing, Llc | Video coding |
US10284843B2 (en) | 2002-01-25 | 2019-05-07 | Microsoft Technology Licensing, Llc | Video coding |
RU2333616C2 (ru) * | 2002-04-09 | 2008-09-10 | Эл Джи Электроникс Инк. | Способ предсказания блока с использованием усовершенствованного режима прямого предсказания |
US9185427B2 (en) | 2002-06-03 | 2015-11-10 | Microsoft Technology Licensing, Llc | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
US8374245B2 (en) | 2002-06-03 | 2013-02-12 | Microsoft Corporation | Spatiotemporal prediction for bidirectionally predictive(B) pictures and motion vector prediction for multi-picture reference motion compensation |
US9571854B2 (en) | 2002-06-03 | 2017-02-14 | Microsoft Technology Licensing, Llc | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
US8873630B2 (en) | 2002-06-03 | 2014-10-28 | Microsoft Corporation | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
US10116959B2 (en) | 2002-06-03 | 2018-10-30 | Microsoft Technology Licesning, LLC | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
US8149924B2 (en) | 2002-07-15 | 2012-04-03 | Thomson Licensing | Adaptive weighting of reference pictures in video decoding |
US8290052B2 (en) | 2002-07-15 | 2012-10-16 | Thomson Licensing | Adaptive weighting of reference pictures in video encoding |
US8155208B2 (en) | 2002-07-15 | 2012-04-10 | Thomson Licensing | Adaptive weighting of reference pictures in video decoding |
US10326993B2 (en) | 2002-07-15 | 2019-06-18 | Interdigital Vc Holdings, Inc. | Adaptive weighting of reference pictures in video encoding |
US8144786B2 (en) | 2002-07-15 | 2012-03-27 | Thomson Licensing | Adaptive weighting of reference pictures in video decoding |
US8144787B2 (en) | 2002-07-15 | 2012-03-27 | Thomson Licensing | Adaptive weighting of reference pictures in video decoding |
US8290051B2 (en) | 2002-07-15 | 2012-10-16 | Thomson Licensing | Adaptive weighting of reference pictures in video encoding |
US8144785B2 (en) | 2002-07-15 | 2012-03-27 | Thomson Licensing | Adaptive weighting of reference pictures in video decoding |
US8290053B2 (en) | 2002-07-15 | 2012-10-16 | Thomson Licensing | Adaptive weighting of reference pictures in video encoding |
US8290050B2 (en) | 2002-07-15 | 2012-10-16 | Thomson Licensing | Adaptive weighting of reference pictures in video encoding |
US8295354B2 (en) | 2002-07-15 | 2012-10-23 | Thomson Licensing | Adaptive weighting of reference pictures in video encoding |
US7903742B2 (en) | 2002-07-15 | 2011-03-08 | Thomson Licensing | Adaptive weighting of reference pictures in video decoding |
US10721472B2 (en) | 2002-07-15 | 2020-07-21 | Interdigital Vc Holdings, Inc. | Adaptive weighting of reference pictures in video encoding |
US8406301B2 (en) | 2002-07-15 | 2013-03-26 | Thomson Licensing | Adaptive weighting of reference pictures in video encoding |
US9549191B2 (en) | 2002-07-15 | 2017-01-17 | Thomson Licensing | Adaptive weighting of reference pictures in video encoding |
US11102486B2 (en) | 2002-07-15 | 2021-08-24 | Interdigital Vc Holdings, Inc. | Adaptive weighting of reference pictures in video encoding |
US9544591B2 (en) | 2002-07-18 | 2017-01-10 | Lg Electronics Inc. | Method of predicting a motion vector for a current block in a current picture |
US8509550B2 (en) | 2002-07-18 | 2013-08-13 | Lg Electronics Inc. | Apparatus for determining motion vectors and a reference picture index for a current block in a picture to be decoded |
US9544589B2 (en) | 2002-07-18 | 2017-01-10 | Lg Electronics Inc. | Method of predicting a motion vector for a current block in a current picture |
US9544590B2 (en) | 2002-07-18 | 2017-01-10 | Lg Electronics Inc. | Method of predicing a motion vector for a current block in a current picture |
US9560354B2 (en) | 2002-07-18 | 2017-01-31 | Lg Electronics Inc. | Method of predicting a motion vector for a current block in a current picture |
US8634666B2 (en) | 2002-07-18 | 2014-01-21 | Lg Electronics Inc. | Apparatus for determining motion vectors and a reference picture index for a current block in a picture to be decoded |
US8908983B2 (en) | 2002-07-18 | 2014-12-09 | Lg Electronics Inc. | Method of predicting a motion vector for a current block in a current picture |
US10425639B2 (en) | 2002-07-18 | 2019-09-24 | Lg Electronics Inc. | Method of predicting a motion vector for a current block in a current picture |
US10897613B2 (en) | 2002-07-18 | 2021-01-19 | Lg Electronics Inc. | Method of predicting a motion vector for a current block in a current picture |
US8571335B2 (en) | 2002-07-18 | 2013-10-29 | Lg Electronics Inc. | Calculation method for prediction motion vector |
US8565544B2 (en) | 2002-07-18 | 2013-10-22 | Lg Electronics Inc. | Apparatus for predicting a motion vector for a current block in a picture to be decoded |
US8712172B2 (en) | 2002-07-18 | 2014-04-29 | Lg Electronics Inc. | Method of predicting a motion vector for a current block in a current picture |
US8655089B2 (en) | 2002-07-18 | 2014-02-18 | Lg Electronics Inc. | Apparatus for determining motion vectors and a reference picture index for a current block in a picture to be decoded |
US8649622B2 (en) | 2002-07-18 | 2014-02-11 | Lg Electronics Inc. | Method of determining motion vectors and a reference picture index for a current block in a picture to be decoded |
US8428373B2 (en) | 2002-07-18 | 2013-04-23 | Lg Electronics Inc. | Apparatus for determining motion vectors and a reference picture index for a current block in a picture to be decoded |
US8649621B2 (en) | 2002-07-18 | 2014-02-11 | Lg Electronics Inc. | Apparatus for determining motion vectors and a reference picture index for a current block in a picture to be decoded |
US8644630B2 (en) | 2002-07-18 | 2014-02-04 | Lg Electronics Inc. | Apparatus for determining motion vectors and a reference picture index for a current block in a picture to be decoded |
US8463058B2 (en) | 2002-07-18 | 2013-06-11 | Lg Electronics Inc. | Calculation method for prediction motion vector |
US8467621B2 (en) | 2002-07-18 | 2013-06-18 | Lg Electronics Inc. | Method of determining motion vectors and a reference picture index for a current block in a picture to be decoded |
US8467622B2 (en) | 2002-07-18 | 2013-06-18 | Lg Electronics Inc. | Method of determining motion vectors and a reference picture index for a current block in a picture to be decoded |
US8467620B2 (en) | 2002-07-18 | 2013-06-18 | Lg Electronics Inc. | Method of determining motion vectors and a reference picture index for a current block in a picture to be decoded |
US8472738B2 (en) | 2002-07-18 | 2013-06-25 | Lg Electronics Inc. | Apparatus for determining motion vectors and a reference picture index for a current block in a picture to be decoded |
US8634667B2 (en) | 2002-07-18 | 2014-01-21 | Lg Electronics Inc. | Method of predicting a motion vector for a current block in a current picture |
US8644631B2 (en) | 2002-07-18 | 2014-02-04 | Lg Electronics Inc. | Method of predicting a motion vector for a current block in a current picture |
US8548264B2 (en) | 2002-07-18 | 2013-10-01 | Lg Electronics Inc. | Apparatus for predicting a motion vector for a current block in a picture to be decoded |
US8639048B2 (en) | 2002-07-18 | 2014-01-28 | Lg Electronics Inc. | Method of determining motion vectors and a reference picture index for a current block in a picture to be decoded |
US8774280B2 (en) | 2002-07-19 | 2014-07-08 | Microsoft Corporation | Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures |
US8379722B2 (en) | 2002-07-19 | 2013-02-19 | Microsoft Corporation | Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures |
US7720152B2 (en) | 2002-10-01 | 2010-05-18 | Thomson Licensing | Implicit weighting of reference pictures in a video decoder |
US7801217B2 (en) | 2002-10-01 | 2010-09-21 | Thomson Licensing | Implicit weighting of reference pictures in a video encoder |
US8351503B2 (en) | 2002-10-04 | 2013-01-08 | Lg Electronics Inc. | Method of deriving a motion vector of a bi-predictive block based on temporal distances associated with a co-located block in a reference picture |
US8351507B2 (en) | 2002-10-04 | 2013-01-08 | Lg Electronics Inc. | Method of deriving a motion vector of a bi-predictive block based on a motion vector of a co-located block in a reference picture |
US8345757B2 (en) | 2002-10-04 | 2013-01-01 | Lg Electronics Inc. | Method of deriving a motion vector of a bi-predictive block based on a list o motion vector of a co-located block in a reference picture |
US8638856B2 (en) | 2002-10-04 | 2014-01-28 | Lg Electronics Inc. | Method to derive at least one motion vector of a bi-predictive block in a current picture |
US9743108B2 (en) | 2002-10-04 | 2017-08-22 | Lg Electronics Inc. | Method to derive at least one motion vector of a bi-predictive block in a current picture |
US8345758B2 (en) | 2002-10-04 | 2013-01-01 | Lg Electronics Inc. | Method of deriving a motion vector of a bi-predictive block based on a motion vector of a co-located block in a reference picture |
US8432969B2 (en) | 2002-10-04 | 2013-04-30 | Lg Electronics Inc. | Method of deriving a motion vector of a bi-predictive block based on a motion vector of a co-located block in a reference picture |
US8428134B2 (en) | 2002-10-04 | 2013-04-23 | Lg Electronics Inc. | Method of deriving a motion vector of a bi-predictive block based on a motion vector of a co-located block in a reference picture |
US8422556B2 (en) | 2002-10-04 | 2013-04-16 | Lg Electronics Inc. | Method of deriving a motion vector of a bi-predictive block based on a motion vector of a co-located block in a reference picture |
US8416854B2 (en) | 2002-10-04 | 2013-04-09 | Lg Electronics Inc. | Method of deriving a motion vector of a bi-predictive block based on a motion vector of a co-located block in a reference picture |
US8351506B2 (en) | 2002-10-04 | 2013-01-08 | Lg Electronics Inc. | Method of deriving a motion vector of a bi-predictive block based on a motion vector of a co-located block in a reference picture |
US8416853B2 (en) | 2002-10-04 | 2013-04-09 | Lg Electronics Inc. | Method of deriving a motion vector of a bi-predictive block based on a motion vector of a co-located block in a reference picture |
US8351505B2 (en) | 2002-10-04 | 2013-01-08 | Lg Electronics Inc. | Method of deriving a motion vector of a bi-predictive block based on a motion vector of a co-located block in a reference picture |
US8351504B2 (en) | 2002-10-04 | 2013-01-08 | Lg Electronics Inc. | Method of deriving a motion vector of a bi-predictive image block by applying a bit operation |
US8411748B2 (en) | 2002-10-04 | 2013-04-02 | Lg Electronics Inc. | Method of deriving a motion vector of a bi-predictive block based on a motion vector of a co-located block in a reference picture |
US9066106B2 (en) | 2002-10-04 | 2015-06-23 | Lg Electronics Inc. | Method to derive at least one motion vector of a bi-predictive block in a current picture |
US9042451B2 (en) | 2002-10-04 | 2015-05-26 | Lg Electronics Inc. | Method to derive at least one motion vector of a bi-predictive block in a current picture |
US9042453B2 (en) | 2002-10-04 | 2015-05-26 | Lg Electronics Inc. | Method to derive at least one motion vector of a bi-predictive block in a current picture |
US9042452B2 (en) | 2002-10-04 | 2015-05-26 | Lg Electronics Inc. | Method to derive at least one motion vector of a bi-predictive block in a current picture |
US8396128B2 (en) | 2002-10-04 | 2013-03-12 | Lg Electronics Inc. | Method of deriving a motion vector of a bi-predictive block based on a motion vector of a co-located block in a reference picture |
US8891623B2 (en) | 2002-10-04 | 2014-11-18 | Lg Electronics Inc. | Method to derive at least one motion vector of a bi-predictive block in a current picture |
US8891624B2 (en) | 2002-10-04 | 2014-11-18 | Lg Electronics Inc. | Method to derive at least one motion vector of a bi-predictive block in a current picture |
US8385417B2 (en) | 2002-10-04 | 2013-02-26 | Lg Electronics, Inc. | Method of deriving a motion vector of a bi-predictive block based on a motion vector of a co-located block in a reference picture |
US7664177B2 (en) | 2003-09-07 | 2010-02-16 | Microsoft Corporation | Intra-coded fields for bi-directional frames |
US7680185B2 (en) | 2003-09-07 | 2010-03-16 | Microsoft Corporation | Self-referencing bi-directionally predicted frames |
US7852936B2 (en) | 2003-09-07 | 2010-12-14 | Microsoft Corporation | Motion vector prediction in bi-directionally predicted interlaced field-coded pictures |
US8064520B2 (en) | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
US8369405B2 (en) | 2004-05-04 | 2013-02-05 | Qualcomm Incorporated | Method and apparatus for motion compensated frame rate up conversion for block-based low bit rate video |
US8948262B2 (en) | 2004-07-01 | 2015-02-03 | Qualcomm Incorporated | Method and apparatus for using frame rate up conversion techniques in scalable video coding |
US8374246B2 (en) | 2004-07-20 | 2013-02-12 | Qualcomm Incorporated | Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression |
US9521411B2 (en) | 2004-07-20 | 2016-12-13 | Qualcomm Incorporated | Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression |
US8553776B2 (en) | 2004-07-21 | 2013-10-08 | QUALCOMM Inorporated | Method and apparatus for motion vector assignment |
US8634463B2 (en) | 2006-04-04 | 2014-01-21 | Qualcomm Incorporated | Apparatus and method of enhanced frame interpolation in video compression |
US8750387B2 (en) | 2006-04-04 | 2014-06-10 | Qualcomm Incorporated | Adaptive encoder-assisted frame rate up conversion |
US8254455B2 (en) | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
RU2461979C2 (ru) * | 2008-02-21 | 2012-09-20 | Шарп Кабусики Кайся | Устройство видеоотображения |
US8189666B2 (en) | 2009-02-02 | 2012-05-29 | Microsoft Corporation | Local picture identifier and computation of co-located information |
US8861610B2 (en) | 2010-01-14 | 2014-10-14 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding motion vector by obtaining motion vector predictor candidate using co-located block |
RU2513707C1 (ru) * | 2010-01-14 | 2014-04-20 | Самсунг Электроникс Ко., Лтд. | Способ и устройство для кодирования и декодирования вектора движения |
US8995529B2 (en) | 2010-01-14 | 2015-03-31 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding motion vector by predicting motion vector according to mode |
RU2514929C2 (ru) * | 2010-01-14 | 2014-05-10 | Самсунг Электроникс Ко., Лтд. | Способ и устройство для кодирования и декодирования вектора движения |
US8630351B2 (en) | 2010-01-14 | 2014-01-14 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding motion vector |
US9131237B2 (en) | 2010-01-14 | 2015-09-08 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding motion vector by predicting motion vector according to mode |
US9106924B2 (en) | 2010-01-14 | 2015-08-11 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding motion vector by predicting motion vector according to mode |
US8861609B2 (en) | 2010-01-14 | 2014-10-14 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding motion vector by obtaining motion vector predictor candidate using co-located block |
US8861608B2 (en) | 2010-01-14 | 2014-10-14 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding motion vector by obtaining motion vector predictor candidate using co-located block |
US8867621B2 (en) | 2010-01-14 | 2014-10-21 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding motion vector by obtaining motion vector predictor candidate using co-located block |
RU2600547C2 (ru) * | 2011-09-09 | 2016-10-20 | Кт Корпорейшн | Способ получения вектора движения с временным предсказанием и устройство, использующее этот способ |
US10805639B2 (en) | 2011-09-09 | 2020-10-13 | Kt Corporation | Method for deriving a temporal predictive motion vector, and apparatus using the method |
US10523967B2 (en) | 2011-09-09 | 2019-12-31 | Kt Corporation | Method for deriving a temporal predictive motion vector, and apparatus using the method |
US11089333B2 (en) | 2011-09-09 | 2021-08-10 | Kt Corporation | Method for deriving a temporal predictive motion vector, and apparatus using the method |
RU2493670C2 (ru) * | 2011-12-15 | 2013-09-20 | Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" | Способ блочной межкадровой компенсации движения для видеокодеков |
Also Published As
Publication number | Publication date |
---|---|
GB0019508D0 (en) | 2000-09-27 |
GB2365246A (en) | 2002-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2182727C2 (ru) | Способ поиска векторов движения деталей в динамических изображениях | |
KR100203913B1 (ko) | 모션 벡터 생성기 | |
CN1106768C (zh) | 用于检测运动矢量的方法和装置 | |
US5398068A (en) | Method and apparatus for determining motion vectors for image sequences | |
KR100530223B1 (ko) | 프레임 레이트 변환시의 프레임 보간 방법 및 그 장치 | |
US9247250B2 (en) | Method and system for motion compensated picture rate up-conversion of digital video using picture boundary processing | |
US7362379B2 (en) | Image processing apparatus and method, recording medium, and program | |
KR100226684B1 (ko) | 반화소 움직임 추정장치 | |
KR102587638B1 (ko) | 비디오 코딩을 위해 이웃 블록 패턴을 이용하는 모션 추정 방법 및 시스템 | |
CN101326550A (zh) | 利用预测指导的抽取搜索的运动估计 | |
KR100246167B1 (ko) | 듀얼프라임 움직임 추정시스템 및 방법 | |
EP1415405A2 (en) | Motion estimation for video compression systems | |
WO2002009419A2 (en) | Method and apparatus for determining motion vectors in dynamic images | |
US5485224A (en) | Motion compensated video signal processing by interpolation of correlation surfaces and apparatus for doing the same | |
RU2137194C1 (ru) | Способ анализа векторов движения деталей в динамических изображениях | |
US8253817B2 (en) | Image compression method, device, electronic camera, and program | |
KR20020076196A (ko) | 부호화된 비디오 신호들을 복호하고 동시에 포맷감소시키는 방법 | |
JPH1098695A (ja) | 画像情報変換装置および方法並びに積和演算装置 | |
JPH08294129A (ja) | 動きベクトル検出装置および検出方法 | |
RU2408160C1 (ru) | Способ нахождения векторов движения деталей в динамических изображениях и устройство для его реализации | |
US6931066B2 (en) | Motion vector selection based on a preferred point | |
JPH0614218A (ja) | ノイズ低減装置 | |
US6925125B2 (en) | Enhanced aperture problem solving method using displaced center quadtree adaptive partitioning | |
US6181385B1 (en) | Method for processing transitional regions in a picture signal | |
RU2242094C2 (ru) | Способ поиска векторов движения деталей в динамических изображениях на основе двумерного дискретного спектрального преобразования |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
QB4A | Licence on use of patent |
Effective date: 20090930 |
|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20110721 |