RU2182727C2 - Method for searching motion vectors of parts in amplitude images - Google Patents

Method for searching motion vectors of parts in amplitude images Download PDF

Info

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
Application number
RU2000119205/09A
Other languages
Russian (ru)
Other versions
RU2000119205A (en
Inventor
А.В. Дворкович
В.П. Дворкович
А.Ю. Соколов
Original Assignee
Дворкович Александр Викторович
Дворкович Виктор Павлович
Соколов Александр Юрьевич
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Дворкович Александр Викторович, Дворкович Виктор Павлович, Соколов Александр Юрьевич filed Critical Дворкович Александр Викторович
Priority to RU2000119205/09A priority Critical patent/RU2182727C2/en
Priority to GB0019508A priority patent/GB2365246A/en
Priority to US10/333,275 priority patent/US20040042552A1/en
Priority to EP01949770A priority patent/EP1305951A2/en
Priority to AU2001270885A priority patent/AU2001270885A1/en
Priority to PCT/GB2001/003259 priority patent/WO2002009419A2/en
Application granted granted Critical
Publication of RU2182727C2 publication Critical patent/RU2182727C2/en
Publication of RU2000119205A publication Critical patent/RU2000119205A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • G06T7/238Analysis of motion using block-matching using non-full search, e.g. three-step search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Abstract

FIELD: video information engineering; digital coders for video telephones, video conference communications, digital television broadcast at standard and high frequencies. SUBSTANCE: method involves conversion of image frame sequence into digital form; storage of brightness digital readings for current and reference frames; division of current frame into macroblocks and search for motion vectors of each macroblock of current frame relative to reference frame by minimizing check sum of given macroblock for set of motion vectors under discussion, this sum being the sum of normalized pixel-by-pixel layer difference in current and reference frames; selection of greatest number of pixels characterizing macroblock value relief among plurality of pixels of each macroblock; calculation of mentioned check sum using only chosen reference pixels, coordinates of chosen pixels in macroblock being found using values of all macroblock pixels. EFFECT: reduced number of computer operations, enlarged vector search area ensuring better quality of reproducing fast moving parts. 6 cl, 21 dwg

Description

Настоящее изобретение относится к видеоинформационной технике и может найти применение при разработке и внедрении цифровых кодирующих устройств для видеотелефонии, видеоконференцсвязи, телевизионного цифрового вещания стандартной и высокой четкости, а более конкретно к способу поиска векторов движения деталей в динамических изображениях. The present invention relates to video information technology and may find application in the development and implementation of digital encoders for video telephony, video conferencing, standard and high definition television digital broadcasting, and more particularly, to a method for searching motion vectors of parts in dynamic images.

Известно множество способов анализа векторов движения деталей в динамических изображениях. Many methods are known for analyzing the motion vectors of parts in dynamic images.

Наиболее простым и точным является способ поиска векторов движения макроблоков на основе алгоритма полного перебора (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). Согласно этому способу для поиска вектора движения

Figure 00000002
рассматривается норма разницы сигналов яркости двух макроблоков в текущем и опорном кадрах SAD со сдвигом на вектор движения:
Figure 00000003

Здесь F - значение яркости, (х, у) - пространственные координаты точки в кадре, t - временной индекс кадра, суммирование производится по всем точкам макроблока. Значение
Figure 00000004
, для которого норма SAD имеет наименьшее значение, принимается за искомый вектор. Векторы движения ищутся методом полного перебора в некоторой ограниченной окрестности: min<Vx, Vy<max. Предполагая, что размер этой окрестности равен ±N пикселов по координатам х и у, получим для числа операций, необходимых для определения вектора движения одного макроблока размером 16х16 пикселов, величину порядка 3•256 (2N+1)2. На один пиксел макроблока количество операций составляет 3•(2N+1)2, что уже при N=15 (значения векторов движения в пределах ±15 точек) составляет значительную величину более 103 операций/пиксел.The simplest and most accurate way is to search for macroblock motion vectors based on a complete enumeration algorithm (KR Rao, JJ Hwang. "Techniques and Standards for Image, Video and Audio Coding", 1996, Prentice-Hall PTR, ISBN 0-13-309907-5 , p. 89-91). According to this method, to search for a motion vector
Figure 00000002
the norm of the difference of the brightness signals of two macroblocks in the current and reference SAD frames with a shift by the motion vector is considered:
Figure 00000003

Here F is the brightness value, (x, y) are the spatial coordinates of the point in the frame, t is the temporal index of the frame, summation is performed over all points of the macroblock. Value
Figure 00000004
, for which the SAD norm has the least value, is taken as the sought vector. The motion vectors are searched by exhaustive search in some limited neighborhood: min <V x , V y <max. Assuming that the size of this neighborhood is ± N pixels along the x and y coordinates, we obtain for the number of operations necessary to determine the motion vector of one macroblock 16x16 pixels in size, a value of the order of 3 • 256 (2N + 1) 2 . For one pixel of the macroblock, the number of operations is 3 • (2N + 1) 2 , which already at N = 15 (values of motion vectors within ± 15 points) is a significant amount of more than 10 3 operations / pixel.

Этот способ обычно используется в качестве эталонного для оценки качества других способов анализа векторов движения деталей в динамических изображениях. This method is usually used as a reference for assessing the quality of other methods for analyzing the motion vectors of parts in dynamic images.

Недостатком этого способа является требуемое большое количество вычислительных операций и в связи с этим низкое быстродействие. The disadvantage of this method is the required large number of computational operations and, therefore, low speed.

Наиболее близким по технической сущности к заявляемому техническому решению является способ анализа векторов движения деталей в динамических изображениях (Патент РФ 2137194), предусматривающий преобразование последовательности кадров изображений в цифровую форму, запоминание дискретных отсчетов яркости текущего и соседнего по времени (опорного) кадров, разбиение текущего кадра на макроблоки и поиск вектора движения каждого из макроблоков текущего кадра относительно опорного кадра посредством минимизации по рассматриваемому множеству векторов движения контрольной суммы данного макроблока, являющейся суммой норм попиксельной разности уровней в текущем и опорных кадрах, причем все множество пикселов рассматриваемого макроблока разбивается на участки, в каждом из которых выбирается только один пиксел, и упомянутая контрольная сумма вычисляется лишь по выбранным упомянутым пикселам, при этом упомянутые пикселы в каждом из участков выбираются таким образом, что их уровни в смежных участках наиболее отличаются друг от друга. The closest in technical essence to the claimed technical solution is a method for analyzing the motion vectors of parts in dynamic images (RF Patent 2137194), which provides for the conversion of a sequence of image frames into digital form, storing discrete samples of brightness of the current and neighboring (reference) frames, splitting the current frame on macroblocks and search for the motion vector of each of the macroblocks of the current frame relative to the reference frame by minimizing the considered sets motion vectors of the checksum of this macroblock, which is the sum of the norms of the pixel-by-pixel level difference in the current and reference frames, the whole set of pixels of the macroblock being considered is divided into sections, in each of which only one pixel is selected, and the said checksum is calculated only for the selected mentioned pixels, when this said pixels in each of the areas are selected so that their levels in adjacent areas are most different from each other.

Дополнительно в этом способе анализа векторов движения для каждого текущего рассматриваемого значения вектора движения вычисление контрольной суммы по выбранным упомянутым пикселам производится в порядке убывания отклонения значения сигнала в каждом пикселе от среднего значения по всей совокупности упомянутых пикселов и прерыванием дальнейшего вычисления контрольной суммы в случае, когда она превышает значение минимальной контрольной суммы, найденной среди всех уже рассмотренных векторов движения. Additionally, in this method of analyzing motion vectors for each current considered value of the motion vector, the checksum for the selected mentioned pixels is calculated in descending order of the deviation of the signal value in each pixel from the average value for the entire set of said pixels and the interruption of the further calculation of the checksum when it exceeds the value of the minimum checksum found among all the motion vectors already considered.

Ограничением вышеописанного способа является разбиение макроблока на несколько строго зафиксированных участков и выбор по заданному алгоритму характерного пиксела без учета структуры сигнала в остальных участках, что ограничивает и является лишь одним из возможных способов выборов опорных пикселов. A limitation of the above method is to split the macroblock into several strictly fixed sections and select a characteristic pixel according to a given algorithm without taking into account the signal structure in the remaining sections, which limits and is only one of the possible ways of selecting reference pixels.

В Патенте РФ 2137194 рассмотрен также второй способ выбора опорных пикселов макроблока с помощью использования порядковой статистики для всех пикселов макроблока, что также ограничивает и является лишь одним из возможных способов выборов опорных пикселов. Кроме того, согласно патенту РФ 2137194 поиск векторов движения производится по опорным пикселам макроблока только для исходного разрешения кадра, что ограничивает технический результат по уменьшению числа вычислительных операций. In the RF Patent 2137194, a second method for selecting macroblock reference pixels by using ordinal statistics for all pixels of the macroblock is also considered, which also limits and is only one of the possible ways of selecting reference pixels. In addition, according to RF patent 2137194, motion vectors are searched for by reference pixels of the macroblock only for the initial resolution of the frame, which limits the technical result of reducing the number of computational operations.

В основу настоящего изобретения положена задача создания способа поиска векторов движения деталей в динамических изображениях, позволяющего уменьшить количество вычислительных операций при более общем возможном выборе структуры опорных точек, характеризующих рельеф ("скелет") значений макроблока. The basis of the present invention is the creation of a method for searching the motion vectors of parts in dynamic images, which allows to reduce the number of computational operations with a more general possible choice of the structure of reference points characterizing the relief ("skeleton") of the macroblock values.

Другая техническая задача, поставленная в рамках настоящего изобретения, заключается в создании способа поиска векторов движения деталей в динамических изображениях, позволяющего снизить вычислительную сложность метода, что позволяет уменьшить сложность устройства для вычисления векторов движения на аппаратном уровне, повысить быстродействие кодирующих устройств и вследствие этого производить анализ движения деталей динамических изображений в больших областях, сократив при этом объем сжатой информации и повысив качество воспроизведения быстродвижущихся деталей. Another technical problem posed in the framework of the present invention is to create a method for searching the motion vectors of parts in dynamic images, which allows to reduce the computational complexity of the method, which reduces the complexity of the device for calculating motion vectors at the hardware level, improves the performance of encoding devices and, as a result, analyzes movement of parts of dynamic images in large areas, while reducing the amount of compressed information and improving the quality of playback conducting fast-moving parts.

Эти и другие задачи решены посредством способа анализа векторов движения деталей в динамических изображениях, включающего преобразование последовательности кадров изображений в цифровую форму, запоминание дискретных отсчетов пикселов текущего и соседнего по времени (опорного) кадров, разбиение текущего кадра на макроблоки и поиск вектора движения каждого из макроблоков текущего кадра относительно опорного кадра посредством минимизации по рассматриваемому множеству векторов движения контрольной суммы данного макроблока, являющейся суммой норм попиксельной разности уровней в текущем и опорном кадрах, и согласно которому в соответствии с изобретением среди множества пикселов каждого макроблока выбирают небольшое число пикселов, характеризующих рельеф значений макроблока, и упомянутую контрольную сумму вычисляют лишь по выбранным опорным пикселам, при этом координаты выбранных пикселов в макроблоке определяют с использованием значений всех пикселов макроблока. These and other problems are solved by a method of analyzing motion vectors of parts in dynamic images, including converting a sequence of image frames into digital form, storing discrete pixel samples of the current and neighboring (reference) frames, dividing the current frame into macroblocks, and searching for the motion vector of each of the macroblocks the current frame relative to the reference frame by minimizing over the considered set of motion vectors the checksum of this macroblock, which is I am the sum of the norms of the pixel-by-pixel level difference in the current and reference frames, and according to which, according to the invention, among the set of pixels of each macroblock, a small number of pixels are selected that characterize the relief of macroblock values, and the checksum is calculated only for the selected reference pixels, while the coordinates of the selected pixels in the macroblock is determined using the values of all pixels of the macroblock.

Было бы целесообразно перед выбором опорных пикселов производить передискретизацию исходного и опорного кадров с уменьшением пространственного разрешения по вертикали и горизонтали в заданное число раз посредством применения фильтра к исходному и опорному кадрам, после чего для каждого получившегося макроблока меньшего размера производить выбор опорных пикселов и находить один или несколько наилучших векторов движения по отношению к опорному кадру меньшего разрешения посредством минимизации контрольной суммы с использованием выбранных опорных пикселов, значение полученных одного или нескольких векторов движения увеличивают в отношении исходного разрешения кадра и разрешения, полученного после передискретизации, после этого в окрестностях одного или нескольких полученных векторов производят поиск вектора движения макроблока в кадре исходного разрешения с точностью до целых либо половинных значений пикселов посредством минимизации контрольной суммы с использованием пикселов макроблока исходного разрешения. It would be advisable to select the reference pixels before resampling the source and reference frames by decreasing the spatial resolution vertically and horizontally by a specified number of times by applying a filter to the source and reference frames, after which, for each resulting macroblock of a smaller size, select the reference pixels and find one or several best motion vectors with respect to the reference frame of lower resolution by minimizing the checksum using early reference pixels, the value of one or more motion vectors obtained is increased with respect to the initial resolution of the frame and the resolution obtained after resampling, after which, in the vicinity of one or more of the vectors obtained, a macroblock motion vector is searched for in the frame of the original resolution up to integer or half pixel values by minimizing the checksum using the pixels of the macroblock of the original resolution.

Было бы не менее целесообразно для выбора опорных пикселов производить переупорядочивание пикселов каждой из строк макроблока в порядке возрастания их значений, выбрать нескольких равноотстоящих друг от друга пикселов в порядке возрастания получившихся номеров пикселов, для выбранных таким образом в макроблоке пикселов произвести переупорядочивание по столбцам в порядке возрастания их значений, выбрать нескольких равноотстоящих друг от друга пикселов в порядке возрастания получившихся номеров пикселов, при этом для каждого из выбранных пикселов запомнить их координаты в исходном макроблоке. It would be no less advisable to select the reference pixels to reorder the pixels of each row of the macroblock in ascending order of their values, select several equally spaced pixels in ascending order of the resulting pixel numbers, for the pixels selected in this way in the macroblock, reorder the columns in ascending order their values, select several equally spaced pixels in ascending order of the resulting pixel numbers, while for each data pixels remember their coordinates in the source macroblock.

Разумно для выбора опорных пикселов в каждой из строк макроблока выбирать несколько первых пикселов в порядке убывания абсолютного отклонения значений пикселов от их среднего значения по строке, среди выбранных таким образом пикселов в каждом из столбцов выбирать несколько первых пикселов в порядке убывания абсолютного отклонения значений пикселов от их среднего значения по столбцу, при этом для каждого из выбранных пикселов запомнить их координаты в исходном макроблоке. It is reasonable to select the first pixels in each row of the macroblock to select the first few pixels in descending order of the absolute deviation of the pixel values from their average value per row, among the pixels selected in this way in each of the columns to select the first few pixels in the descending order of the absolute deviation of the pixel values from the average value for the column, and for each of the selected pixels, remember their coordinates in the original macroblock.

Возможно для выбора опорных пикселов каждый макроблок разбить на несколько областей, в каждой из которых выбирать в качестве опорного только один пиксел, имеющий максимальное либо минимальное значение внутри данной области, при этом, если в данной области выбран пиксел с максимальным значением, то в соседней с ним области выбрать пиксел с минимальным значением, и наоборот, причем для каждого из выбранных пикселов запоминают их координаты в исходном макроблоке. It is possible to select each pixel in the macroblock into several areas, in each of which only one pixel with the maximum or minimum value inside this area should be selected as the reference, and if the pixel with the maximum value is selected in this area, then in the adjacent areas to select a pixel with a minimum value, and vice versa, and for each of the selected pixels, their coordinates are stored in the original macroblock.

Возможен и другой вариант, при котором для каждого текущего рассматриваемого значения вектора движения вычисление контрольной суммы с использованием выбранных опорных пикселов производят в порядке убывания отклонения значения сигнала в каждом пикселе от среднего значения по всей совокупности опорных пикселов и прерывают дальнейшее вычисление контрольной суммы в случае, когда она превышает К-ое минимальное значение контрольной суммы, найденной среди всех уже рассмотренных векторов движения. Another option is possible in which, for each current value of the motion vector under consideration, the checksum is calculated using the selected reference pixels in the descending order of the deviation of the signal value in each pixel from the average value over the entire set of reference pixels and the further checksum is interrupted in the case when it exceeds the Kth minimum value of the checksum found among all the motion vectors already considered.

В дальнейшем настоящее изобретение будет более подробно раскрыто посредством более подробного описания способа анализа векторов движения деталей в динамических изображениях устройств, реализующих заявляемый способ, а также поясняющих чертежей, на которых:
Фиг. 1-а изображает блок-схему устройства для реализации способа поиска векторов движения деталей в динамических изображениях;
Фиг. 1-б изображает блок-схему еще одного устройства для реализации способа поиска векторов движения деталей в динамических изображениях, предусматривающего пространственную передискретизацию исходного изображения и предварительный поиск векторов движения по отношению к передискретизованному изображению;
Фиг. 2 приведены текущий (а) и опорный кадры (б) видеопоследовательности "Сад цветов";
Фиг. 3 иллюстрирует увеличенное изображения одного макроблока (а) из последовательности "Сад цветов", на примере которого излагаются предлагаемые способы поиска векторов движения, и (б) участка опорного кадра, соответствующего макроблоку (а);
Фиг. 4 иллюстрирует рельеф (а) и цифровые значения (б) сигнала яркости выбранного макроблока;
Фиг. 5-11 изображают таблицы уровней пикселов выбранного макроблока, иллюстрирующие алгоритм выбора опорных точек в способе поиска векторов движения;
Фиг. 12-14 изображают векторы движения, рассчитанные согласно предлагаемому способу поиска векторов;
Фиг. 15 изображает векторы движения, расчитанные согласно эталонному способу поиска векторов движения;
Фиг. 16 изображает таблицу результатов кодирования последовательности "Сад цветов" в рамках стандарта MPEG-2, иллюстрирующую эффективность предлагаемых способов поиска векторов движения;
Фиг. 17-18 изображают таблицы значений отсчетов выбранного макроблока, иллюстрирующие алгоритм выбора опорных точек в способе поиска векторов движения;
Фиг. 19 приведены векторы движения, рассчитанные по заявляемому способу поиска векторов;
Фиг. 20-21 изображают таблицы результатов кодирования последовательности "Сад цветов" в рамках стандарта MPEG-2, иллюстрирующие эффективность способа поиска векторов движения.
In the future, the present invention will be disclosed in more detail by means of a more detailed description of the method for analyzing the motion vectors of parts in dynamic images of devices implementing the inventive method, as well as explaining the drawings, in which:
FIG. 1-a depicts a block diagram of a device for implementing a method for searching motion vectors of parts in dynamic images;
FIG. 1-b depicts a block diagram of another device for implementing a method for searching for motion vectors of parts in dynamic images, providing for spatial resampling of the original image and preliminary search of motion vectors with respect to the resampling image;
FIG. 2 shows the current (a) and reference frames (b) of the “Flower Garden” video sequence;
FIG. 3 illustrates an enlarged image of one macroblock (a) from the Garden of Flowers sequence, an example of which describes the proposed methods for searching motion vectors, and (b) a portion of the reference frame corresponding to macroblock (a);
FIG. 4 illustrates a topography (a) and digital values (b) of a luminance signal of a selected macroblock;
FIG. 5-11 are pixel level tables of a selected macroblock illustrating an algorithm for selecting anchor points in a method for searching motion vectors;
FIG. 12-14 depict motion vectors calculated according to the proposed method for searching vectors;
FIG. 15 shows motion vectors calculated according to a reference method for searching motion vectors;
FIG. 16 shows a table of results of coding the sequence "Flower Garden" in the framework of the MPEG-2 standard, illustrating the effectiveness of the proposed methods for searching motion vectors;
FIG. 17-18 depict tables of sample values of the selected macroblock, illustrating an algorithm for selecting control points in a method for searching motion vectors;
FIG. 19 shows the motion vectors calculated by the claimed method of searching vectors;
FIG. 20-21 are tables of the results of coding the sequence "Flower Garden" in the framework of the MPEG-2 standard, illustrating the effectiveness of the method of searching motion vectors.

В дальнейшем заявляемый способ поиска векторов движения деталей в динамических изображениях раскрывается более подробно посредством анализа блок-схем устройств, реализующих заявляемый способ. Блок-схема устройства, изображенная на фиг.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 устройства. In the future, the inventive method for searching the motion vectors of parts in dynamic images is disclosed in more detail by analyzing block diagrams of devices that implement the inventive method. The block diagram of the device shown in FIG. 1-a contains a synchronization unit 2 connected in parallel to input 1 and an analog-to-digital converter 3 connected in series, a luminance signal allocation circuit 4, a memory block 5 of the current frame and a memory block 6 of the reference frame connected to the outputs of the memory block of the current frame, the memory block 7 of the current macroblock, the reordering block of 8 pixels of the macroblock and the calculator of 9 positions and levels of characteristic pixels of the macroblock, the first outputs which are connected to the memory block with 10 levels of selected pixels, and the second inputs through the adder 11 to the control inputs of the memory block of the reference frame 6, the outputs of which through the memory block of 12 levels of comparison pixels are connected to the first inputs of the block 13 pixel-by-pixel subtraction of the levels of characteristic pixels of the current and reference frames, the second inputs of which are connected to the second outputs of the memory unit 10, and the outputs to the summing unit of 14 modules, the outputs of which are connected in parallel to the sum comparing unit 15 and the calculation unit 16 of the minimum sum and current motion vectors, the second inputs of the sum comparing block 15 are connected to the outputs of block 16, and the outputs are directly to the control inputs of block 14 and through the displacement counter 17 to the second input of adder 11, the second outputs of block 16 are connected through the memory block 18 of the motion vectors to the outputs devices 19, the second outputs of block 18 are connected in parallel with additional inputs of block 16 and counter 17, the outputs of synchronization block 2 are connected to control inputs of blocks 3 and 4, and also through control block 20 with synchronization inputs of blocks 5-18 stroystva.

Блок-схема устройства, изображенная на фиг.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. The block diagram of the device shown in FIG. 1-b contains a synchronization block 2 connected in parallel to input 1 and an analog-to-digital converter 3 connected in series, a luminance signal extraction circuit 4, a resampling unit 5, a memory block 6 of the current frame, and a block memory 7 of the reference frame, connected to the outputs of the memory block of the current frame, sequentially connected memory block 8 of the current macroblock, a reordering unit of 9 pixels of the macroblock and a computer 10 positions and levels of characteristic pixels of the macroblock, the first outputs of which are connected to the memory block of 11 levels of selected pixels, and the second inputs through an adder 12 to the control inputs of the memory block of the reference frame 6, the outputs of which through the memory block of 13 levels of comparison pixels are connected to the first inputs of the block 13 pixel-by-pixel subtraction of characteristic levels pixels of the current and reference frames, the second inputs of which are connected to the second outputs of the memory block 11, and the outputs are connected to the summing unit of 15 modules, the outputs of which are connected in parallel to the sum comparing unit 16 and the subtracting unit Sequence 17 of the minimum sum and current motion vectors, the second inputs of the sum comparison block 16 are connected to the outputs of the block 17, and the outputs are directly to the control inputs of the block 15 and through the displacement counter 18 to the second input of the adder 12, the second outputs of the block 17 are connected through the memory block 19 motion vectors to the memory block of the current frame 21, the second outputs of block 19 are connected in parallel with additional inputs of block 17 and counter 18, the outputs of synchronization block 2 are connected to control inputs of blocks 3 and 4, and also through control block 20 from the input synchronization of the operation of blocks 6-19 of the device, the memory block of the reference frame 21, the input of which is connected to the output of the luminance signal allocation circuit 4, the memory block of the reference frame 22, one input of which is connected to the output of the memory block of the current frame 21, and the other to the output of the adder 25 , a memory block of the levels of comparison pixels 23, the input of which is connected to the memory block of the reference frame 22, the memory block of macroblocks 24, the input of which is connected to the output of the memory block of the reference frame 21, adder 25, one input of which is connected to the output of the memory block of the macroblock 24, and d another to the output of the displacement counter 27, the pixel-by-pixel subtraction block 26, one input of which is connected to the output of the memory block of the levels of comparison pixels 23, and the other to the memory block of the levels of all pixels 29, the displacement counter 27, one input of which is connected to the block of motion vector memory 31, and the other to the sum comparing unit 30, the summing unit of modules 28, one input of which is connected to the output of the pixel-by-pixel subtraction unit 26, and the other to the output of the sum comparing unit 30, the level memory block of all pixels 29, the input of which is connected to the memory unit ma Kroblok 24, the unit for comparing the amounts of 30, one input of which is connected to the unit for summing the modules 28, the block of memory of the motion vectors 31, the input of which is connected to the unit for calculating the minimum amount and current motion vectors 32 and the block for calculating the minimum amount and current motion vectors 32, the input of which connected to the output of the motion vector memory unit 31, and the other to the output of the summing unit of modules 28.

Сущность предлагаемого способа вычисления векторов движения состоит в следующем. Изложение предлагаемого способа иллюстрируется на примере анализа вектора движения одного из макроблоков динамического изображения (фиг.2). На фиг. 3а приведена в увеличенном масштабе часть изображения текущего кадра в увеличенном масштабе с обведенным макроблоком, вектор движения которого определяется в зоне опорного кадра, изображенной на фиг.3б. Макроблок имеет размер 16х16 пикселов, зона поиска движения - 64х64 пиксела. На фиг.3б обозначено положение смещенного макроблока в опорном кадре. The essence of the proposed method for calculating motion vectors is as follows. The presentation of the proposed method is illustrated by the example of the analysis of the motion vector of one of the macroblocks of a dynamic image (figure 2). In FIG. 3a shows on an enlarged scale part of the image of the current frame on an enlarged scale with a circled macroblock, the motion vector of which is determined in the area of the reference frame shown in fig.3b. The macroblock has a size of 16x16 pixels, the motion search area is 64x64 pixels. On figb designated the position of the offset macroblock in the reference frame.

В случае использования стандартного метода поиска вектора движения в указанной зоне поиска требуется использование вычислительной мощности в 3•492= 7203 операций на каждый пиксел макроблока. Рельеф сигнала яркости макроблока изображен на фиг. 4а, а на фиг.4б приведены цифровые значения пикселов этого макроблока.In the case of using the standard method of searching for the motion vector in the specified search zone, the use of computing power of 3 • 49 2 = 7203 operations per pixel of the macroblock is required. The relief of the macroblock luminance signal is shown in FIG. 4a, and FIG. 4b shows the digital pixel values of this macroblock.

В соответствии с предлагаемым способом в макроблоке выбирается несколько опорных пикселов, характеризующих рельеф (скелет) макроблока. Рассмотрим пример, когда число опорных пикселов равняется 16. In accordance with the proposed method in the macroblock selects several reference pixels characterizing the relief (skeleton) of the macroblock. Consider an example where the number of reference pixels is 16.

Существуют различные предлагаемые способы выбора опорных пикселов. В соответствии с одним из заявляемых способов выбора опорных пикселов все пикселы макроблока переупорядочивают по строкам в порядке возрастания их значений (фиг.5). После переупорядочивания производят выбор пикселов с номерами столбцов х={1, 6, 11, 16} (фиг.6). После выбора столбцов производят переупорядочивание выбранных пикселов по столбцам в порядке возрастания значений (фиг.7). После переупорядочивания по столбцам производят конечный выбор опорных пикселов с номерами строк у={1, 6, 11, 16} (фиг.8). При выборе опорных пикселов их координаты запоминают в исходном макроблоке, выбранные опорные пикселы обозначены подчеркиванием (фиг.4-8). There are various suggested methods for selecting reference pixels. In accordance with one of the claimed methods of selecting reference pixels, all the pixels of the macroblock are reordered in rows in ascending order of their values (Fig. 5). After reordering, a selection of pixels with column numbers x = {1, 6, 11, 16} is made (FIG. 6). After selecting the columns, the selected pixels are reordered in the columns in ascending order of values (Fig. 7). After reordering the columns, a final selection of reference pixels with row numbers y = {1, 6, 11, 16} is made (Fig. 8). When selecting reference pixels, their coordinates are stored in the original macroblock, the selected reference pixels are indicated by underlining (Figs. 4-8).

Согласно еще одному заявляемому способу выбора опорных пикселов из исходных пикселов макроблока (фиг.4) выбирают в каждой строке такие пикселы, которые имеют максимальное абсолютное отклонение своих значений от среднего значения уровня по строке (фиг.9). После этого выбирают в каждом сформированном столбце такие пикселы, которые имеют максимальное абсолютное отклонение своих значений от среднего значения уровня по столбцам (фиг.10). Данные выбранные пикселы используют в качестве опорных, их положения в исходном макроблоке показаны подчеркиванием (фиг.11). According to another claimed method of selecting reference pixels from the source pixels of the macroblock (Fig. 4), in each row, such pixels are selected that have the maximum absolute deviation of their values from the average level value per row (Fig. 9). After that, in each formed column, such pixels are selected that have the maximum absolute deviation of their values from the average level value in the columns (Fig. 10). These selected pixels are used as reference pixels, their positions in the original macroblock are shown by underlining (Fig. 11).

Для поиска вектора движения

Figure 00000005
рассматривают сумму нормы разницы сигналов выбранных пикселов для двух макроблоков в текущем и опорном кадрах SAD1 со сдвигом на вектор движения:
Figure 00000006

В способе поиска векторов движения для выбора опорных пикселов необходимо выполнить порядка
Figure 00000007

обращений к одному пикселу макроблока, где М - число опорных пикселов (в данном случае М=16), для поиска вектора движения с использованием (2) необходимо выполнить порядка
Figure 00000008
операций. При окне поиска N> 10 количество операций, необходимых для поиска опорных пикселов пренебрежимо мало по сравнению с числом операций, необходимых для вычисления суммы (2) и поиска вектора движения. Поэтому в способе достигается ускорение поиска векторов приблизительно в 256/М=16 раз.To search for a motion vector
Figure 00000005
consider the sum of the norm of the difference of the signals of the selected pixels for two macroblocks in the current and reference frames SAD1 with a shift by the motion vector:
Figure 00000006

In the method of searching for motion vectors to select reference pixels, it is necessary to fulfill the order
Figure 00000007

calls to one pixel of the macroblock, where M is the number of reference pixels (in this case, M = 16), to search for a motion vector using (2), it is necessary to execute the order
Figure 00000008
operations. When the search window is N> 10, the number of operations required to search for reference pixels is negligible compared to the number of operations necessary to calculate the sum (2) and search for the motion vector. Therefore, the method achieves acceleration of the search for vectors by approximately 256 / M = 16 times.

Эффективность предложенного способа поиска векторов движения характеризуется фиг.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% при точности векторов в один пиксел. The effectiveness of the proposed method for searching motion vectors is characterized by FIGS. 12-16. 12-13, motion vectors are shown. On Fig shows the motion vectors obtained by the standard reference algorithm using all the pixels of the macroblock (1). As can be seen from Fig.12-15, the motion vectors in the majority coincide. To quantify the proposed method, we consider the results of encoding a dynamic sequence of frames (Fig. 16) in the framework of the MPEG-2 standard (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) using the proposed method. Since within the framework of the standard it is possible to use motion vectors up to half the pixel values, we consider two cases of coding - without refinement of the obtained vectors according to the proposed methods and with refinement within +/- 0.5 pixels using interpolation between pixels. For clarification, we will use the checksum (1) with all 256 pixels of the macroblock. Refining vectors to half a pixel requires about 3 • 9 = 27 additional operations per pixel. As follows from the analysis of the encoding result (Fig. 16), the proposed methods significantly accelerate the search for motion vectors (by 16 times at 16 reference points), while the compression ratio worsens no more than 1-3% in the case of using the accuracy of the vectors to 0.5 pixels and 4-10% with one pixel vectors accuracy.

Сущность предлагаемого способа вычисления векторов движения, предусматривающего пространственную передискретизацию исходного изображения и предварительный поиск векторов движения по отношению к передискретизованному изображению, состоит в следующем. The essence of the proposed method for calculating motion vectors, providing spatial oversampling of the original image and a preliminary search for motion vectors with respect to the oversampled image, is as follows.

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

Figure 00000009

Здесь F(d) (х, у) - значение пиксела после передискретизации. В соответствии с (3) отсчеты пикселов макроблока, приведенного на фиг.3-4, после передискретизации будут иметь значения, показанные на фиг.17.The presentation of the proposed method is illustrated by the example of one of the macroblocks of the dynamic image (figure 2) using the best search algorithm for reference pixels, taking into account the values in the table in figure 16. In contrast to the principle of searching vectors in the method described above, before selecting reference points for each macroblock, the initial and reference frames are oversampling. Consider the case when oversampling is performed with a decrease in spatial resolution by 2 times using the averaging of neighboring pixels:
Figure 00000009

Here F (d) (x, y) is the pixel value after oversampling. In accordance with (3), the pixel samples of the macroblock shown in FIGS. 3-4, after oversampling, will have the values shown in FIG.

Согласно наилучшему способу выбора опорных пикселов передискретизованный макроблок размером 8х8 пикселов делят на несколько областей, в каждой из которых выбирают одно максимальное либо минимальное значение в чередующемся порядке в качестве опорного пиксела. Рассмотрим случай, когда число опорных пикселов равно 16. На фиг.18 показан макроблок, разделенный на 16 областей, (а) - разбиение макроблока на участки и порядок выбора опорных пикселов, (б) - положение выбранных пикселов (опорные пикселы помечены подчеркиванием). According to the best method for selecting reference pixels, a resampled macroblock of size 8x8 pixels is divided into several areas, in each of which one maximum or minimum value is selected in alternating order as the reference pixel. Consider the case where the number of reference pixels is 16. On Fig shows a macroblock divided into 16 areas, (a) the macroblock is divided into sections and the order of selection of reference pixels, (b) the position of the selected pixels (reference pixels are marked with underline).

Для поиска вектора движения

Figure 00000010
в предлагаемом способе рассматривают сумму нормы разницы сигналов выбранных пикселов для двух макроблоков в текущем и опорном передискретизованных кадрах SAD1d со сдвигом на вектор движения:
Figure 00000011

В процессе минимизации (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 пиксел.To search for a motion vector
Figure 00000010
in the proposed method, the sum of the norm of the difference of the signals of the selected pixels for two macroblocks in the current and reference oversampling frames SAD1d with a shift by the motion vector is considered:
Figure 00000011

In the process of minimizing (4) in the search window of +/- (N / 2) pixels, K vectors V1d, V2d, V3d, ..., VKd are determined that give the smallest SAD1d values:
Min = SAD1d (V1d) ≤SAD1d (V2d) ≤SAD1d (V3d) ... (5)
After finding the best vectors V1d, V2d, V3d, ..., VKd corresponding to the oversampled reference and current frames, the value of the vectors is increased in relation to the resolutions of the original and oversampled frames, in this case 2 times. Further, in a small neighborhood (for example, +/- 1 pixel) from each of the obtained values of the vectors (2 • V1d, 2 • V2d, 2 • V3d, ..., 2 • VKd), the checksum (1) is minimized and the best motion vector providing a minimum (1). This vector is taken as the final motion vector of the macroblock in the case of using the accuracy of 1 pixel vectors.

При использовании точности векторов движения, равной половине пиксела, как это, например, используется в стандарте MPEG-2, последний найденный выше вектор уточняется с использованием (1) в окрестности +/- 0,5 пиксела своего значения либо сразу в малых окрестностях (например, +/- 1 пиксел) векторов 2•V1d, 2•V2d, 2•V3d,..., 2•VKd с точностью до 0,5 пиксела. When using the accuracy of motion vectors equal to half a pixel, as, for example, is used in the MPEG-2 standard, the last vector found above is refined using (1) in the vicinity of +/- 0.5 pixels of its value or immediately in small neighborhoods (for example , +/- 1 pixel) of vectors 2 • V1d, 2 • V2d, 2 • V3d, ..., 2 • VKd with an accuracy of 0.5 pixels.

В описываемом способе поиска векторов движения на этапе поиска векторов движения в передискретизованном кадре число операций на один пиксел передискретизованного кадра составляет

Figure 00000012
где Z - отношение исходного и передискретизованного разрешений (в данном случае Z=2) или
Figure 00000013
на пиксел в кадре исходного разрешения. Уточнение векторов движения в окрестности каждого из найденных векторов занимает небольшое количество операций порядка 3K(2•1+1)2 на пиксел в кадре исходного разрешения, где К - число наилучших векторов, и не зависит от N. При небольших К≤3 и N>10 последним числом можно пренебречь. В этом случае ускорение по сравнению с эталонным способом полного перебора составляет
Figure 00000014

Дополнительно скорость анализа векторов движения макроблоков можно улучшить согласно изобретению за счет определенного подбора вычисления контрольной суммы SAD1 или SAD1d. Для этого вычисляют среднее значение выбранных пикселов макроблока
Figure 00000015

Затем вычисляют модули разностей
X(x,y) = |F(x,y,t)-Fср|,
где (х, у) - координаты выбранных точек в соответствующих участках макроблока,
и контрольную сумму (2) вычисляют последовательно по координатам (х, у), для которых величины Х(х, у) располагаются в убывающей последовательности.In the described method of searching for motion vectors at the stage of searching for motion vectors in a resampled frame, the number of operations per pixel of the resampled frame is
Figure 00000012
where Z is the ratio of the original and resampled resolutions (in this case, Z = 2) or
Figure 00000013
per pixel in the frame of the original resolution. Refining the motion vectors in the vicinity of each of the found vectors takes a small number of operations of the order of 3K (2 • 1 + 1) 2 per pixel in the frame of the original resolution, where K is the number of best vectors, and does not depend on N. For small K≤3 and N > 10, the last number can be neglected. In this case, the acceleration compared to the standard method of exhaustive search is
Figure 00000014

Additionally, the speed of analysis of the motion vectors of macroblocks can be improved according to the invention by a certain selection of the calculation of the checksum SAD1 or SAD1d. To do this, calculate the average value of the selected pixels of the macroblock
Figure 00000015

Then the difference modules are calculated.
X (x, y) = | F (x, y, t) -F cp |,
where (x, y) are the coordinates of the selected points in the corresponding sections of the macroblock,
and the checksum (2) is calculated sequentially at the coordinates (x, y) for which the values X (x, y) are arranged in a decreasing sequence.

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

Figure 00000016
не соответствует истинному вектору движения, для которого контрольная сумма минимальна, рассчитываемая контрольная сумма статистически достаточно быстро возрастает и в этом случае обычно не требуется производить вычисления по всем выбранным точкам макроблока. При этом в среднем по кадру скорость анализа движения макроблоков дополнительно возрастает в два раза.In the proposed method for the analysis of motion vectors in case the current selected vector
Figure 00000016
does not correspond to the true motion vector for which the checksum is minimal, the calculated checksum increases statistically quickly enough and in this case it is usually not necessary to perform calculations on all selected points of the macroblock. In this case, on average, the frame rate of analysis of the movement of macroblocks is additionally doubled.

В предлагаемом способе анализа векторов движения вычисление контрольной суммы прекращается, если ее текущее значение превышает К-ое минимальное значение контрольной суммы среди уже рассмотренных значений векторов движения. При этом в среднем по кадру скорость анализа движения макроблоков дополнительно возрастает в полтора-два раза. In the proposed method for analyzing motion vectors, the calculation of the checksum is terminated if its current value exceeds the K-th minimum value of the checksum among the already considered values of the motion vectors. At the same time, on average over the frame, the speed of analysis of the movement of macroblocks additionally increases one and a half to two times.

Эффективность предлагаемого способа анализа движения по способу с использованием предварительной передискретизации изображения иллюстрируется на фиг.19-20. На фиг.19 приведены векторы движения, полученные с использованием наилучшего способа выбора опорных пикселов при К=3, а на фиг.20 приведены результаты кодирования тестовых динамической последовательности кадров в рамках стандарта MPEG-2 (К=1, 2 и 3). The effectiveness of the proposed method of motion analysis by the method using preliminary resampling of the image is illustrated in Fig.19-20. In Fig.19 shows the motion vectors obtained using the best method of selecting reference pixels at K = 3, and Fig.20 shows the encoding results of the test dynamic sequence of frames in the framework of the MPEG-2 standard (K = 1, 2 and 3).

Из таблицы на фиг.20 следует, что предлагаемый способ при Z=2 уступает по коэффициенту сжатия наилучшему эталонному способу перебора по всем пикселам не более 1% уже при К=2 и 3 и превосходит рассмотренные выше способы, не использующие передискретизацию (фиг.19). При этом коэффициент ускорения анализа движения по сравнению с эталонным способом составляет 64 раза при Z=2. From the table in Fig. 20, it follows that the proposed method at Z = 2 is inferior in compression ratio to the best standard enumeration method for all pixels by no more than 1% already at K = 2 and 3 and exceeds the methods discussed above that do not use oversampling (Fig. 19 ) In this case, the acceleration coefficient of the motion analysis compared to the reference method is 64 times at Z = 2.

Заметим, что в предлагаемом способе фильтрация (по уравнению 3) улучшает результат. Например, если бы передискретизация проводилась без фильтрации, а только за счет прореживания по формуле
F(d) (x, y)=F(2x, 2y), (7)
то результат по коэффициенту сжатия был бы хуже на 1-2% (фиг.20).
Note that in the proposed method, filtering (according to equation 3) improves the result. For example, if oversampling was carried out without filtering, but only due to thinning according to the formula
F (d) (x, y) = F (2x, 2y), (7)
then the result in compression ratio would be 1-2% worse (Fig. 20).

Устройство для реализации предложенного способа анализа векторов движения без использования фильтрации работает следующим образом. A device for implementing the proposed method of analyzing motion vectors without using filtering works as follows.

Предположим, на вход 1 устройства (фиг.1-а) поступает аналоговый сигнал изображения, например полный цветовой телевизионный сигнал стандартных систем SECAM, PAL или NTSС. С входа этот сигнал подается параллельно на блок синхронизации 2, выделяющий соответствующие сигналы и обеспечивающий формирование импульсов дискретизации, и на аналого-цифровой преобразователь АЦП 2, в котором дискретные отсчеты сигнала преобразуются в цифровой код, поступающий на схему выделения сигнала яркости 4, устраняющую цветовые поднесущие из полного цветового телевизионного сигнала. Выделение сигнала яркости необходимо, поскольку в соответствии со стандартами MPEG анализ движения деталей изображения осуществляется только при использовании яркостной компоненты изображения. Синхронизация работы схемы 4 осуществляется также дискретизирующими импульсами, поступающими с блока синхронизации 2. Suppose that the input 1 of the device (Fig.1-a) receives an analog image signal, for example, a full color television signal from standard SECAM, PAL or NTSС systems. From the input, this signal is fed in parallel to the synchronization unit 2, which selects the corresponding signals and provides the formation of sampling pulses, and to the analog-to-digital converter ADC 2, in which the discrete samples of the signal are converted into a digital code, which is fed to the luminance 4 signal extraction circuit eliminating color subcarriers from the full color television signal. Isolation of the luminance signal is necessary because, in accordance with MPEG standards, the analysis of the motion of image details is carried out only when using the luminance component of the image. The synchronization of the operation of circuit 4 is also carried out by sampling pulses from the synchronization unit 2.

Цифровой поток сигнала яркости со схемы 4 последовательно поступает на блок памяти 5 текущего кадра и блок памяти 6 опорного кадра, в которых запоминаются дискретные отсчеты сигналов яркости текущего кадра, анализ движения макроблоков которого осуществляется относительно соответствующих структур опорного кадра. The digital stream of the luminance signal from circuit 4 is sequentially supplied to the memory block 5 of the current frame and the memory block 6 of the reference frame, in which discrete samples of the brightness signals of the current frame are stored, the macroblock movement of which is analyzed relative to the corresponding structures of the reference frame.

Выходы блока 5 соединены со входами блока памяти макроблока 7, анализ движения которого производится. В этом блоке запоминаются значения рельефа сигнала яркости макроблока 16х16 пикселов. После вычисления вектора движения 1-го макроблока, соответствующего левому верхнему углу изображения, в память этого блока вводится рельеф сигнала яркости следующего за ним макроблока. Отсчет номера макроблока осуществляется обычно слева направо и сверху вниз. The outputs of block 5 are connected to the inputs of the memory block of the macroblock 7, the analysis of the movement of which is performed. In this block, the terrain values of the brightness signal of the macroblock 16x16 pixels are stored. After calculating the motion vector of the 1st macroblock corresponding to the upper left corner of the image, the relief of the brightness signal of the macroblock following it is introduced into the memory of this block. The macroblock number is usually counted from left to right and from top to bottom.

В вычислителе 9 выделяются значения уровней яркости выбранных пикселов и их координаты х и у. В этом же блоке осуществляется преобразование выбранных пикселов в последовательность по мере убывания отклонений значений уровней пикселов от их среднего значения. In the calculator 9, the values of the brightness levels of the selected pixels and their x and y coordinates are highlighted. In the same block, the selected pixels are converted into a sequence as the deviations of the values of the pixel levels from their average value decrease.

Далее уровни сигналов яркости в рассчитанной пиксельной последовательности запоминаются в блоке памяти 10, а их координаты (х, у) через сумматор 11 поступают на вход управления блока памяти опорного кадра 6, обеспечивая запись в блоке 12 памяти уровней пикселов сравнения уровней пикселов с координатами
(x-V0X-Vx,y-V0Y-Vy),
где (V0X, V0Y ) - координаты начального вектора смещения, которые определяются, например, из результатов оценки движения соответствующих макроблоков в предыдущем кадре или из иных соображений или задаются равными нулю,
(Vx, Vy) - координаты текущего вектора смещения макроблока, при изменении которых производится анализ контрольной суммы разностей модулей уровней выбранных пикселов в макроблоке и пикселов в опорном кадре.
Next, the levels of luminance signals in the calculated pixel sequence are stored in the memory unit 10, and their coordinates (x, y) are fed through the adder 11 to the control input of the memory unit of the reference frame 6, providing recording in the memory unit 12 of the pixel level comparison of pixel levels with coordinates
(xV 0X -V x , yV 0Y -V y ),
where (V 0X , V 0Y ) are the coordinates of the initial displacement vector, which are determined, for example, from the results of the motion estimation of the corresponding macroblocks in the previous frame or from other considerations or are set equal to zero,
(V x , V y ) - coordinates of the current macroblock displacement vector, when changed, the checksum of the differences of the level moduli of the selected pixels in the macroblock and pixels in the reference frame is analyzed.

С блоков памяти 10 и 12 в указанной выше последовательности значения соответствующих уровней пикселов поступают на блок попиксельного вычитания 13 и с его выхода - на блок суммирования модулей 14. Блоки 13 и 14 совместно реализуют операцию, определяемую соотношением (2). From the memory blocks 10 and 12 in the above sequence, the values of the corresponding pixel levels are sent to the pixel-by-pixel subtraction block 13 and, from its output, to the summing unit of the modules 14. The blocks 13 and 14 jointly implement the operation determined by relation (2).

Последовательно вычисляемая в блоке 14 сумма поступает параллельно на блок сравнения сумм 15 и блок вычисления 16 минимальной суммы и соответствующих ей векторов движения. Первоначально сумма устанавливается нереально большой величины. The sum sequentially calculated in block 14 is sent in parallel to the sum comparing block 15 and the calculation block 16 of the minimum sum and the corresponding motion vectors. Initially, the amount is set unrealistically large.

При вычислении суммы для начального вектора движения эта сумма запоминается в блоке 16 и становится опорной для последующих расчетов. По окончании расчета суммы при нулевом векторе (Vx, Vy ) блок сравнения 15 выдает команду на изменение координат вектора движения в счетчик перемещений 17 и обнуление результатов суммирования в блок 14.When calculating the sum for the initial motion vector, this sum is stored in block 16 and becomes the reference for subsequent calculations. At the end of the calculation of the sum at the zero vector (V x , V y ), the comparison unit 15 issues a command to change the coordinates of the motion vector to the displacement counter 17 and reset the totalization results to block 14.

В счетчике 17 формируется вектор (- V0X-Vx,-V0Y-Vy), который затем суммируется в схеме 11 с текущими значениями координат выбранных характерных пикселов макроблока. Полученные координаты определяют запись уровней яркости соответствующих пикселов из блока 6 в блок 12, и процесс анализа вектора движения продолжается до тех пор, пока не найден будет истинный вектор движения макроблока.In the counter 17, a vector is formed (- V 0X -V x , -V 0Y -V y ), which is then summed in circuit 11 with the current coordinate values of the selected characteristic pixels of the macroblock. The obtained coordinates determine the recording of the brightness levels of the corresponding pixels from block 6 to block 12, and the process of analyzing the motion vector continues until a true macroblock motion vector is found.

Ускорение процесса анализа движения за счет определенного порядка обработки опорных пикселов согласно настоящему изобретению обеспечивается непрерывным сравнением текущей суммы и минимальной суммы в блоке 15. Если текущая сумма (до окончания процесса суммирования по всем выбранным пикселам) превышает ранее найденную минимальную сумму, то процесс суммирования прекращается и счетчик 17 перемещений изменяет координаты текущего вектора движения макроблока. The acceleration of the motion analysis process due to a certain processing order of the reference pixels according to the present invention is provided by a continuous comparison of the current amount and the minimum amount in block 15. If the current amount (before the end of the summation process for all selected pixels) exceeds the previously found minimum amount, then the summation process stops and the counter 17 movements changes the coordinates of the current motion vector of the macroblock.

Результаты вычисления векторов движения, определяемые в блоке 16, запоминаются блоком памяти 18. С блока 18 координаты векторов движения подаются на цифровые выходы устройства 19. The results of the calculation of the motion vectors defined in block 16 are stored by the memory unit 18. From block 18, the coordinates of the motion vectors are fed to the digital outputs of the device 19.

Выполнение операций различных блоков устройства в описанной выше последовательности задается блоком управления, синхронизируемым импульсами с выхода блока синхронизации. The operations of the various units of the device in the sequence described above is set by the control unit, synchronized by pulses from the output of the synchronization unit.

Работа устройства для реализации предложенного способа анализа векторов движения с использованием пространственной передискретизации изображения (фиг. 1-б) обусловлена работой блоков 1-5, обеспечивающих дискретизацию аналогового сигнала и описанных выше работы блока управления 20, работы блока передискретизации 5, работы вычислителя векторов уменьшенного разрешения (блоки 6-19) и работы вычислителя векторов конечного разрешения в (блоки 21-32). Работа вычислителя векторов уменьшенного разрешения аналогична работе устройства на фиг.1-а. Отличие заключается в том, что блоки 6-19 работают с уменьшенным разрешением кадра, соответственно макроблоки имеют размер 8х8 пикселов. Кроме того, результатом работы вычислителя векторов уменьшенного разрешения является несколько наилучших векторов, которые подаются на вход вычислителя векторов для конечного разрешения. Для вычисления наилучших векторов в блоке 17 запоминают несколько наилучших контрольных сумм и соответствующих им векторов движения. В сумматоре 25 значения векторов движения увеличиваются в отношение исходного и передискретизованного разрешений и добавляются к координатам смещения в опорном кадре с использованием счетчика перемещений 27. Работа вычислителя векторов конечного разрешения (блоки 21-31) также аналогична работе блоков 5-18 на фиг.1-а за исключением того, что в устройстве отсутствуют блоки переупорядочивания и вычисления положений опорных пикселов, так как на этапе уточнения векторов конечного разрешения используются все пикселы каждого макроблока. The operation of the device for implementing the proposed method of analyzing motion vectors using spatial oversampling of the image (Fig. 1-b) is due to the operation of units 1-5 that provide sampling of the analog signal and the above-described operation of the control unit 20, the operation of the oversampling unit 5, the operation of the calculator of reduced resolution vectors (blocks 6-19) and the work of the calculator of the final resolution vectors in (blocks 21-32). The operation of the calculator of vectors of reduced resolution is similar to the operation of the device in figure 1-a. The difference is that blocks 6-19 work with a reduced frame resolution, respectively, macroblocks are 8x8 pixels in size. In addition, the result of the work of the reduced resolution vector calculator is a few of the best vectors that are fed to the input of the vector calculator for final resolution. To calculate the best vectors in block 17, several best checksums and their corresponding motion vectors are stored. In adder 25, the values of the motion vectors are increased in relation to the initial and oversampled resolutions and added to the offset coordinates in the reference frame using the displacement counter 27. The operation of the final resolution vector calculator (blocks 21-31) is also similar to the operation of blocks 5-18 in Fig. 1- but with the exception that the device does not have reordering blocks and calculates the positions of reference pixels, since at the stage of refining the final resolution vectors, all pixels of each macroblock are used.

Claims (6)

1. Способ анализа векторов движения деталей в динамических изображениях, предусматривающий преобразование последовательности кадров изображений в цифровую форму, запоминание дискретных отсчетов пикселов текущего и опорного кадров, разбиение текущего кадра на макроблоки и поиск вектора движения каждого из макроблоков текущего кадра относительно опорного кадра посредством минимизации по рассматриваемому множеству векторов движения контрольной суммы данного макроблока, являющейся суммой норм попиксельной разности уровней в текущем и опорном кадрах, отличающийся тем, что среди множества пикселов каждого макроблока выбирают опорные пикселы, уровни которых характеризуют рельеф макроблока, и упомянутую контрольную сумму вычисляют лишь по выбранным опорным пикселам, при этом координаты пикселов, характеризующих рельеф макроблока, выбирают путем анализа значений уровней всех пикселов макроблока. 1. A method for analyzing the motion vectors of parts in dynamic images, which involves converting a sequence of image frames into digital form, storing discrete pixel samples of the current and reference frames, dividing the current frame into macroblocks, and searching for the motion vector of each of the macroblocks of the current frame relative to the reference frame by minimizing by the considered the set of motion vectors of the checksum of a given macroblock, which is the sum of the norms of the pixel-by-pixel level difference in the current and reference frames, characterized in that among the many pixels of each macroblock, reference pixels are selected whose levels characterize the macroblock topography, and said checksum is calculated only from the selected reference pixels, while the coordinates of the pixels characterizing the macroblock topography are selected by analyzing the values of the levels of all pixels macroblock. 2. Способ анализа векторов движения деталей в динамических изображениях по п. 1, отличающийся тем, что перед выбором опорных пикселов производят передискретизацию исходного и опорного кадров с уменьшением пространственного разрешения по вертикали и горизонтали в заданное число раз посредством применения фильтра к исходному и опорному кадрам, после чего для каждого получившегося макроблока меньшего размера производят выбор опорных пикселов и находят один или несколько наилучших векторов движения по отношению к опорному кадру меньшего разрешения посредством минимизации контрольной суммы с использованием выбранных опорных пикселов, значение полученных одного или нескольких векторов движения увеличивают в отношение исходного разрешения кадра и разрешения, полученного после передискретизации, в окрестностях одного или нескольких полученных векторов производят поиск вектора движения макроблока в кадре исходного разрешения с точностью до целых либо половинных значений интервалов между пикселами посредством минимизации контрольной суммы с использованием пикселов макроблока исходного разрешения. 2. A method for analyzing the motion vectors of parts in dynamic images according to claim 1, characterized in that before selecting the reference pixels, the initial and reference frames are resampled with a decrease in spatial resolution both vertically and horizontally by a specified number of times by applying a filter to the original and reference frames, after which, for each resulting macroblock of a smaller size, reference pixels are selected and one or more best motion vectors are found with respect to the reference frame of the smaller resolution by minimizing the checksum using the selected reference pixels, the value of the obtained one or more motion vectors is increased in relation to the initial resolution of the frame and the resolution obtained after oversampling, in the vicinity of one or more received vectors, the macroblock motion vector is searched in the frame of the original resolution up to integer or half-pixel spacing by minimizing the checksum using pixels macroblock initial resolution. 3. Способ анализа векторов движения деталей в динамических изображениях по одному из пп. 1 и 2, отличающийся тем, что для выбора опорных пикселов производят переупорядочивание пикселов каждой из строк макроблока в порядке возрастания их значений, выбор нескольких равноотстоящих друг от друга пикселов в порядке возрастания получившихся номеров пикселов, для выбранных таким образом в макроблоке пикселов производят переупорядочивание по столбцам в порядке возрастания их значений, выбор нескольких равноотстоящих друг от друга пикселов в порядке возрастания получившихся номеров пикселов, при этом для каждого из выбранных пикселов запоминают их координаты в исходном макроблоке. 3. The method of analysis of the motion vectors of parts in dynamic images according to one of paragraphs. 1 and 2, characterized in that, for the selection of reference pixels, the pixels of each row of the macroblock are reordered in order of increasing values, several equally spaced pixels are selected in ascending order of the resulting pixel numbers, for the pixels selected in this way in the macroblock are reordered in columns in the order of increasing their values, the choice of several pixels equally spaced from each other in the increasing order of the resulting pixel numbers, for each of the selected pixels spruces remember their coordinates in the source macroblock. 4. Способ анализа векторов движения деталей в динамических изображениях по одному из пп. 1 и 2, отличающийся тем, что для выбора опорных пикселов в каждой из строк макроблока выбирают несколько первых пикселов в порядке убывания абсолютного отклонения значений уровней пикселов от их среднего значения по строке, среди выбранных таким образом пикселов в каждом из столбцов выбирают несколько первых пикселов в порядке убывания абсолютного отклонения значений уровней пикселов от их среднего значения по столбцу, при этом для каждого из выбранных пикселов запоминают их координаты в исходном макроблоке. 4. The method of analysis of the motion vectors of parts in dynamic images according to one of paragraphs. 1 and 2, characterized in that to select the reference pixels in each row of the macroblock, select the first few pixels in descending order of the absolute deviation of the values of the pixel levels from their average value in the row, among the selected pixels in each of the columns select the first few pixels in the descending order of the absolute deviation of the values of the pixel levels from their average values in the column, while for each of the selected pixels their coordinates are stored in the original macroblock. 5. Способ анализа векторов движения деталей в динамических изображениях по одному из пп. 1 и 2, отличающийся тем, что для выбора опорных пикселов каждый макроблок разбивают на несколько областей, в каждой из которых выбирают в качестве опорного только один пиксел, имеющий максимальное, либо минимальное значение уровня внутри данной области, при этом, если в данной области выбран пиксел с максимальным значением уровня, то в соседней с ним области выбирают пиксел с минимальным значением уровня, и наоборот, причем для каждого из выбранных пикселов запоминают их координаты в исходном макроблоке. 5. The method of analysis of the motion vectors of parts in dynamic images according to one of paragraphs. 1 and 2, characterized in that for the selection of reference pixels, each macroblock is divided into several areas, in each of which only one pixel is selected as a reference, having a maximum or minimum level value inside this area, while if selected in this area a pixel with a maximum value of a level, then in a neighboring region, a pixel with a minimum value of a level is selected, and vice versa, moreover, for each of the selected pixels, their coordinates are stored in the original macroblock. 6. Способ анализа векторов движения деталей в динамических изображениях по одному из пп. 1 и 2, отличающийся тем, что для каждого текущего рассматриваемого значения вектора движения вычисление контрольной суммы по выбранным опорным пикселам производят в порядке убывания отклонения значения уровня каждого из выбранных опорных пикселов от среднего значения по всей совокупности этих пикселов и прерывают дальнейшее вычисление контрольной суммы в случае, когда она превышает К-ое минимальное значение контрольной суммы, найденной среди всех уже рассмотренных векторов движения. 6. The method of analysis of the motion vectors of parts in dynamic images according to one of paragraphs. 1 and 2, characterized in that for each current considered value of the motion vector, the checksum is calculated for the selected reference pixels in descending order of the deviation of the level value of each of the selected reference pixels from the average value for the entire set of these pixels and interrupt further checksum calculation in the case when it exceeds the K-th minimum value of the checksum found among all the motion vectors already considered.
RU2000119205/09A 2000-07-20 2000-07-20 Method for searching motion vectors of parts in amplitude images RU2182727C2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
RU2000119205/09A RU2182727C2 (en) 2000-07-20 2000-07-20 Method for searching motion vectors of parts in amplitude images
GB0019508A GB2365246A (en) 2000-07-20 2000-08-08 Determining motion vectors using selected pixels from a macroblock
US10/333,275 US20040042552A1 (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
AU2001270885A AU2001270885A1 (en) 2000-07-20 2001-07-19 Method and apparatus for determining motion vectors in dynamic images
PCT/GB2001/003259 WO2002009419A2 (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 (en) 2000-07-20 2000-07-20 Method for searching motion vectors of parts in amplitude images

Publications (2)

Publication Number Publication Date
RU2182727C2 true RU2182727C2 (en) 2002-05-20
RU2000119205A RU2000119205A (en) 2002-07-10

Family

ID=20238082

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2000119205/09A RU2182727C2 (en) 2000-07-20 2000-07-20 Method for searching motion vectors of parts in amplitude images

Country Status (2)

Country Link
GB (1) GB2365246A (en)
RU (1) RU2182727C2 (en)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2333616C2 (en) * 2002-04-09 2008-09-10 Эл Джи Электроникс Инк. Method of prediction of block using improved mode of direct predicting
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 (en) * 2008-02-21 2012-09-20 Шарп Кабусики Кайся Video display device
US8290052B2 (en) 2002-07-15 2012-10-16 Thomson Licensing Adaptive weighting of reference pictures in video encoding
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
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 (en) * 2011-12-15 2013-09-20 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" Method for block interframe motion compensation for video encoders
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 (en) * 2011-09-09 2016-10-20 Кт Корпорейшн Method for deriving temporal predictive motion vector, and apparatus using said method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100366141B1 (en) * 1994-01-31 2003-03-03 소니 가부시끼 가이샤 Image Control Method and Apparatus
KR0171120B1 (en) * 1995-04-29 1999-03-20 배순훈 Method and apparatus for determining motion region in video coding technique using feature point based motion compensation
KR100209793B1 (en) * 1995-10-28 1999-07-15 전주범 Apparatus for encoding/decoding a video signals by using feature point based motion estimation
KR100235355B1 (en) * 1997-08-13 1999-12-15 전주범 Improved motion estimator and estimation method thereof
JPH11275587A (en) * 1998-03-20 1999-10-08 Pioneer Electron Corp Motion vector generator, image coder, motion vector generating method and image coding method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 (en) * 2002-04-09 2008-09-10 Эл Джи Электроникс Инк. Method of prediction of block using improved mode of direct predicting
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
US8290051B2 (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
US8290052B2 (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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 (en) * 2008-02-21 2012-09-20 Шарп Кабусики Кайся Video display device
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
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
RU2513707C1 (en) * 2010-01-14 2014-04-20 Самсунг Электроникс Ко., Лтд. Method and apparatus for encoding and decoding motion vector
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 (en) * 2010-01-14 2014-05-10 Самсунг Электроникс Ко., Лтд. Method and apparatus for encoding and decoding motion vector
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
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
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
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 (en) * 2011-09-09 2016-10-20 Кт Корпорейшн Method for deriving temporal predictive motion vector, and apparatus using said method
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 (en) * 2011-12-15 2013-09-20 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" Method for block interframe motion compensation for video encoders

Also Published As

Publication number Publication date
GB0019508D0 (en) 2000-09-27
GB2365246A (en) 2002-02-13

Similar Documents

Publication Publication Date Title
RU2182727C2 (en) Method for searching motion vectors of parts in amplitude images
KR100203913B1 (en) Motion vector generator
CN1106768C (en) Method and apparatus for detecting motion vectors
US5398068A (en) Method and apparatus for determining motion vectors for image sequences
US7362379B2 (en) Image processing apparatus and method, recording medium, and program
US9247250B2 (en) Method and system for motion compensated picture rate up-conversion of digital video using picture boundary processing
KR100530223B1 (en) Frame interpolation method and apparatus at frame rate conversion
KR950009699B1 (en) Motion vector detection method and apparatus
KR102587638B1 (en) Motion estimation method and system using neighboring block patterns for video coding
KR100226684B1 (en) A half pel motion estimator
US20030112873A1 (en) Motion estimation for video compression systems
KR100246167B1 (en) Dual prime motion estimation system and method
KR20040108046A (en) Pixel-data selection device for motion compensation, and method of the same
JPS60168276A (en) Detection system of motion direction of moving body on screen
EP1305951A2 (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 (en) Method for analysis of movement vectors of elements in dynamic images
US8253817B2 (en) Image compression method, device, electronic camera, and program
KR20020076196A (en) Method of simultaneous format reduction and decoding of encoded video signals
JPH1098695A (en) Image information converter and its device and product sum arithmetic unit
JPH08294129A (en) Motion vector detector and detection method
RU2408160C1 (en) Method for finding vectors of part movement in dynamic images and device for its realisation
US6931066B2 (en) Motion vector selection based on a preferred point
JPH0614218A (en) Noise reducing device
US6925125B2 (en) Enhanced aperture problem solving method using displaced center quadtree adaptive partitioning

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