KR100516711B1 - Device and method for motion vector detection - Google Patents

Device and method for motion vector detection Download PDF

Info

Publication number
KR100516711B1
KR100516711B1 KR10-1998-0032213A KR19980032213A KR100516711B1 KR 100516711 B1 KR100516711 B1 KR 100516711B1 KR 19980032213 A KR19980032213 A KR 19980032213A KR 100516711 B1 KR100516711 B1 KR 100516711B1
Authority
KR
South Korea
Prior art keywords
motion vector
search range
search
block
range
Prior art date
Application number
KR10-1998-0032213A
Other languages
Korean (ko)
Other versions
KR19990023458A (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 마츠시타 덴끼 산교 가부시키가이샤
Publication of KR19990023458A publication Critical patent/KR19990023458A/en
Application granted granted Critical
Publication of KR100516711B1 publication Critical patent/KR100516711B1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

Abstract

본 발명은 다양한 특징을 갖는 화상에 대하여 정밀도가 높으면서 효율적으로 모션 벡터 검출을 실현할 수 있게 한다.The present invention makes it possible to realize motion vector detection with high precision for an image having various features.

모션 벡터 검출부(30)는 부호화 대상 블록에 대하여 탐색범위 내의 후보 블록과의 상관도로부터 모션 벡터를 검출한다. 탐색범위 저장 메모리(20)는 원탐색 범위의 화소 데이터를 기억하고 있으며, 메모리 어드레스(MA)에 따라 탐색범위의 화소 데이터를 모션 벡터 검출부(30)에 공급한다. 제어부(40)는 모션 벡터 검출부(30)로부터 공급되며, 기억하고 있는 모션 벡터 및 상관도 평가값에 기초하여 탐색범위의 사이즈 및 위치를 설정하고, 이 탐색범위의 수평방향 및 수직방향의 화소폭과 원탐색 범위에 대한 상대위치를 나타내는 오프셋값을 생성한다. 어드레스 생성부(10)는 제어부(40)에 의해 생성된 탐색범위의 화소폭 및 오프셋값에 기초하여 탐색범위 저장 메모리(20)에 부여하는 메모리 어드레스(MA)를 생성한다.The motion vector detection unit 30 detects a motion vector of a block to be encoded from a degree of correlation with candidate blocks within a search range. The search range storage memory 20 stores the pixel data of the original search range, and supplies the pixel data of the search range to the motion vector detector 30 according to the memory address MA. The control unit 40 is supplied from the motion vector detection unit 30, sets the size and position of the search range based on the stored motion vector and the correlation evaluation value, and the pixel width in the horizontal and vertical directions of the search range. And offset values representing relative positions to the original search range. The address generator 10 generates a memory address MA which is assigned to the search range storage memory 20 based on the pixel width and the offset value of the search range generated by the controller 40.

Description

모션 벡터 검출장치 및 모션 벡터 검출방법{DEVICE AND METHOD FOR MOTION VECTOR DETECTION}Motion vector detection device and motion vector detection method {DEVICE AND METHOD FOR MOTION VECTOR DETECTION}

본 발명은 디지털 동화상 데이터의 압축 부호화 방법인 모션 보상 예측 부호화에서 이용되는 모션 벡터 검출에 관한 것이다.The present invention relates to motion vector detection used in motion compensation predictive encoding, which is a compression encoding method of digital video data.

동화상의 화상 부호화를 실현하는 방법으로서, 현재 화면의 어떤 부분이 하나 앞 화면의 어느 장소로부터 이동하였는지를 나타내는 정보(모션 벡터)를 이용하여, 시간적인 용장성(redundancy)을 삭감한다고 하는 방법이 있다. 이 모션 벡터를 추출하기 위한 하나의 방법으로서 블록 매칭법이 있다.As a method of realizing image coding of a moving image, there is a method of reducing temporal redundancy by using information (motion vectors) indicating which part of the current screen has moved from one place of the previous screen. One method for extracting this motion vector is a block matching method.

도 16은 블록 매칭법의 원리를 도시한 도면이다. 부호화의 대상인 대상 프레임 화상(대상 프레임)과 모션 벡터를 탐색하는 탐색 프레임 화상(탐색 프레임)을 비교하여, 대상 프레임의 부호화 대상 블록과 가장 유사한(즉, 상관도가 가장 높은) 블록(베스트 매칭 블록)을 탐색 프레임의 탐색범위내로부터 추출하여 모션 벡터를 검출한다. 이 블록 매칭법은 화상 압축 부호화의 모션 보상 예측에 널리 이용되고 있다.16 shows the principle of the block matching method. The target frame image (target frame), which is the object of encoding, is compared with the search frame image (search frame) for searching the motion vector, so that the block most similar to the encoding target block of the target frame (that is, the highest correlation) (the best matching block) ) Is extracted from within the search range of the search frame to detect the motion vector. This block matching method is widely used for motion compensation prediction of picture compression coding.

블록 매칭법에서는 1개의 부호화 대상 블록에 대하여 탐색 프레임의 탐색범위내의 복수의 후보 블록과의 상관도를 각각 연산하여 상관도가 가장 높은 후보 블록을 베스트 매칭 블록으로서 선택하고, 베스트 매칭 블록과 부호화 대상 블록의 위치의 차이를 모션 벡터로서 검출한다.In the block matching method, a correlation between a plurality of candidate blocks in a search range of a search frame is calculated for one encoding target block, and a candidate block having the highest correlation is selected as the best matching block, and the best matching block and the encoding target The difference in the position of the block is detected as a motion vector.

상관도의 평가값으로서는 일반적으로는 제곱오차의 누산값(Square Error)이나 절대값 오차의 누산값(Absolute Error)이 이용된다. 부호화 대상 블록과 후보 블록의 차이값은 그 상관도가 높을수록 작아지므로, 제곱오차의 누산값이나 절대값 오차의 누산값을 평가값으로서 이용한 경우에는, 평가값은 상관도가 높을수록 작은 값이 된다.As an evaluation value of a correlation degree, the square error (Square Error) and the absolute value error (Absolute Error) are used normally. Since the difference value between the block to be encoded and the candidate block becomes smaller as the correlation is higher, when the accumulated value of the square error or the accumulated value of the absolute value error is used as the evaluation value, the higher the correlation, the smaller the evaluation value. do.

모션 벡터 검출의 목적은 모션 보상 예측 부호화에서 부호량을 가장 효과적으로 삭감할 수 있는 블록을 탐색 프레임으로부터 검출하는 것이다. 따라서 모션 벡터의 검출 정밀도가 모션 벡터 검출장치의 중요한 성능의 하나이다. 그러나 모션 벡터 검출은 화상 부호화 알고리즘중에서도 특히 연산량을 필요로 하는 처리이며, 이것을 하드웨어로 실현하는 경우에는 처리시간이 길어지거나 하드 규모가 커짐에 따라 소비전력이 커진다고 하는 문제점이 있다. 또한 현재의 상태에서는 소프트웨어에 의한 실시간 처리가 매우 곤란하다. 이들 배경으로부터 검출 정밀도가 높으면서 처리 효율이 높은 모션 벡터 검출이 요구되고 있다.The purpose of motion vector detection is to detect from the search frame a block that can most effectively reduce the amount of code in motion compensated prediction coding. Therefore, the detection accuracy of the motion vector is one of the important performances of the motion vector detection apparatus. However, motion vector detection is a process that requires an operation amount, especially among image coding algorithms. When this is realized by hardware, there is a problem that the power consumption increases as the processing time increases or the hard scale increases. In the present state, real-time processing by software is very difficult. From these backgrounds, motion vector detection with high detection accuracy and high processing efficiency is required.

종래의 모션 벡터 검출장치로서 모션이 작은 화상에 대해서는 탐색범위를 작게 하여 모션 벡터 검출을 위한 처리시간을 단축하는 한편, 모션이 큰 화상에 대해서는 탐색범위를 크게 함으로써 검출 정밀도를 낮추지 않고 처리 효율의 향상을 도모한 것이 있다.As a conventional motion vector detection apparatus, a search range is reduced for an image having a small motion, and a processing time for detecting a motion vector is shortened, while a search range is increased for an image having a large motion, thereby improving processing efficiency without decreasing detection accuracy. There is a plan.

예를 들면 일본국 특개평 8-32969호 공보에 개시된 모션 벡터 검출장치는, 처리 블록과 같은 위치에서의 상관 평가를 행하는 수단과, 같은 위치의 상관 평가 결과에 따라 탐색범위의 크기를 적응적으로 선택 제어하는 수단과, 탐색범위의 각 후보 블록과의 상관을 평가하여 모션 벡터 검출을 행하는 수단을 구비하며, 같은 위치의 상관이 높아짐에 따라 탐색범위를 축소하고 있다. 이에 따라 적은 연산량으로 모션 벡터를 정밀도 좋게 검출할 수 있게 된다.For example, the motion vector detection apparatus disclosed in Japanese Patent Application Laid-open No. Hei 8-32969 adaptively adjusts the size of the search range according to the means for performing correlation evaluation at the same position as the processing block and the correlation evaluation result at the same position. Means for performing selection control and means for performing motion vector detection by evaluating the correlation between the candidate blocks in the search range, and reducing the search range as the correlation of the same position increases. As a result, the motion vector can be detected with high accuracy.

그러나 종래의 모션 벡터 검출장치에는 다음과 같은 문제점이 있다.However, the conventional motion vector detection apparatus has the following problems.

카메라 촬영 등에 의한 영상에서는 화면 전체가 일정한 방향으로 이동하는 이른바 팬 화상이 빈번하게 이용된다. 팬 화상에서는 화면에 비춰진 물체 자체는 변하지 않고 그 위치가 일정한 방향으로 이동한다.In images taken by cameras or the like, so-called pan images in which the entire screen moves in a constant direction are frequently used. In the pan image, the object itself reflected on the screen does not change and its position moves in a constant direction.

상기 종래의 모션 벡터 검출장치에서는 처리 블록과 같은 위치에서의 상관 평가에 의해 탐색범위의 크기를 설정하고 있기 때문에, 예를 들면 팬 화상에 대해서는 같은 위치에서의 상관도는 낮으므로, 항상 큰 탐색범위가 설정되게 된다. 또한 같은 위치 상관평가를 모션 벡터 검출에 앞서 실행하므로, 처리가 복잡하게 된다는 문제점도 있다.In the conventional motion vector detection apparatus, since the size of the search range is set by correlation evaluation at the same position as the processing block, for example, since the correlation at the same position is low for the fan image, the search range is always large. Will be set. In addition, since the same position correlation evaluation is performed before motion vector detection, there is a problem that the processing becomes complicated.

상기 문제점을 감안하여, 본 발명은 다양한 특징을 갖는 화상에 대하여 효율적이면서 정밀도 좋게 모션 벡터 검출을 실행할 수 있게 하는 것을 목적으로 하며, 특히 팬 화상에 대하여 정확하면서 고속으로 모션 벡터 검출을 실행할 수 있게 한다. In view of the above problems, an object of the present invention is to make it possible to efficiently and accurately perform motion vector detection on an image having various features, and in particular, to perform motion vector detection on a pan image with high speed and accuracy. .

상기 과제를 해결하기 위해, 본 발명이 강구한 해결수단은 모션 벡터 검출장치로서, 대상 프레임의 부호화 대상 블록과, 탐색 프레임의 탐색범위내의 후보 블록의 상관도를 나타내는 평가값을 산출하고, 이들 상관도 평가값을 기초로 하여 상기 부호화 대상 블록에 대한 모션 벡터를 검출하는 모션 벡터 검출수단과, 원탐색 범위의 화소 데이터를 기억하고 있고, 주어진 메모리 어드레스에 따라 화소 데이터를 판독하고, 상기 모션 벡터 검출수단에 공급하는 원탐색 범위 기억수단과, 탐색범위의 수평방향의 화소폭인 제 1 탐색폭 및 수직방향의 화소폭인 제 2 탐색폭과, 상기 탐색범위의 원탐색 범위에 대한 상대 위치를 나타내는 오프셋값을 생성하는 제어수단과, 상기 제어수단에 의해 생성된 제 1 및 제 2 탐색폭과 오프셋값에 기초하여, 상기 원탐색 범위 기억수단에 부여되는 메모리 어드레스를 생성하는 어드레스 생성수단을 구비한 것이다.In order to solve the above problems, the present invention seeks to provide a motion vector detection apparatus, which is used to calculate an evaluation value indicating a degree of correlation between an encoding target block of a target frame and a candidate block within a search range of a search frame. Motion vector detecting means for detecting a motion vector for the encoding target block based on the evaluation value, and pixel data in the original search range are stored, and the pixel data is read in accordance with a given memory address, and the motion vector is detected. The original search range storage means to be supplied to the means, a first search width which is a pixel width in the horizontal direction of the search range, a second search width which is a pixel width in the vertical direction, and a relative position with respect to the original search range of the search range. Control means for generating an offset value, and the original search range based on the first and second search widths and offset values generated by the control means. Is provided with an address generating means for generating a memory address which is given to the memory means.

상기의 구성에 의하면 제어수단에 의해 생성된 제 1 및 제 2 탐색폭과 오프셋값에 기초하여, 어드레스 생성수단은 탐색범위에 대응하는 메모리 어드레스를 생성한다. 이 메모리 어드레스에 따라 원탐색 범위 기억수단으로부터 판독된 화소 데이터를 이용하여, 모션 벡터 검출수단은 부호화 대상 블록과 탐색범위내의 후보 블록의 상관도를 나타내는 평가값을 산출하고, 모션 벡터를 검출한다. 이 때문에 탐색범위의 사이즈 및 위치를 자유롭게 설정할 수 있게 되며, 효율적이면서 정밀도 좋게 모션 벡터 검출을 실행할 수 있다.According to the above arrangement, based on the first and second search widths and the offset values generated by the control means, the address generating means generates a memory address corresponding to the search range. Using the pixel data read from the original search range storage means in accordance with this memory address, the motion vector detecting means calculates an evaluation value indicating the correlation between the encoding target block and the candidate block in the search range, and detects the motion vector. Thus, the size and position of the search range can be freely set, and motion vector detection can be performed efficiently and with high accuracy.

그리고 상기 모션 벡터 검출장치에 있어서, 상기 모션 벡터 검출수단은 검출한 모션 벡터와 이 모션 벡터에 대응하는 상관도 평가값을 상기 제어수단에 공급하는 것으로 하고, 상기 제어수단은 상기 모션 벡터 검출수단으로부터 공급된 모션 벡터 및 상관도 평가값에 기초하여 제 1 및 제 2 탐색폭과 오프셋값의 생성을 행하는 것으로 한다.In the motion vector detecting apparatus, the motion vector detecting means supplies the detected motion vector and the correlation evaluation value corresponding to the motion vector to the control means, and the control means is provided from the motion vector detecting means. The first and second search widths and offset values are generated based on the supplied motion vectors and the correlation evaluation values.

상기의 구성에 의하면, 탐색범위의 제 1 및 제 2 탐색폭과 오프셋값은 이미 검출된 모션 벡터 및 평가값에 기초하여 생성되므로, 탐색범위의 사이즈 및 위치를 결정하기 위해 모션 벡터 검출에 앞서 새로운 처리를 행할 필요가 없다. 또한 모션 벡터는 화상의 모션을 표시하는 것이므로, 모션 벡터와 이에 대응하는 상관도 평가값을 기초로 하여 탐색범위의 설정을 행함으로써, 특히 화상이 일정한 방향으로 움직이는 팬 화상에 대하여 적절한 탐색범위의 설정이 가능하게 된다.According to the above configuration, since the first and second search widths and the offset values of the search range are generated based on the motion vectors and the evaluation values already detected, the first and second search widths and the offset values are generated before the motion vector detection to determine the size and position of the search range. There is no need to perform the processing. In addition, since the motion vector indicates the motion of the image, the search range is set based on the motion vector and the corresponding correlation evaluation value, so that the proper search range is set, particularly for a pan image in which the image moves in a constant direction. This becomes possible.

또 상기 모션 벡터 검출장치에서의 제어수단은 대상 프레임의 앞 프레임에서의 당해 부호화 대상 블록과 동일 위치 또는 그 근방의 블록을 범위설정 기준블록으로 하고, 상기 범위설정 기준블록에 대응하는 상관도 평가값에 기초하여 탐색범위의 사이즈를 설정하는 것으로 한다.The control means in the motion vector detection apparatus uses a block at the same position as or near the encoding target block in the frame preceding the target frame as the range setting reference block, and the correlation evaluation value corresponding to the range setting reference block. The size of the search range is set based on.

상기한 구성에 의하면 대상 프레임의 앞 프레임에서의 당해 부호화 대상 블록과 동일 위치 또는 그 근방에 있는 범위설정 기준블록에 대응하는 상관도 평가값에 의해, 당해 부호화 대상 블록의 탐색 프레임과의 관련의 정도는 어느 정도 예측할 수 있으므로, 이 범위설정 기준블록의 상관도 평가값에 의해 탐색범위의 사이즈를 설정함으로써, 특히 화상이 일정한 방향으로 이동하는 팬 화상에 대하여 적절한 탐색범위의 설정이 가능해진다.According to the above configuration, the degree of association with the search frame of the encoding target block is determined by a correlation evaluation value corresponding to a range setting reference block at the same position or in the vicinity of the encoding target block in the frame preceding the target frame. Can be predicted to some extent, and by setting the size of the search range based on the correlation evaluation value of this range setting reference block, it is possible to set an appropriate search range particularly for a pan image in which the image moves in a constant direction.

또한 상기 모션 벡터 검출장치에서의 제어수단은 대상 프레임의 앞 프레임에서의 당해 부호화 대상 블록과 동일 위치 또는 그 근방의 블록을 범위설정 기준블록으로 하고, 상기 범위설정 기준블록에 대응하는 모션 벡터에 기초하여 탐색범위의 위치를 설정하는 것으로 한다.The control means in the motion vector detecting apparatus uses a block at the same position as or near the encoding target block in the frame preceding the target frame as the range setting reference block and is based on the motion vector corresponding to the range setting reference block. It is assumed that the position of the search range is set.

상기한 구성에 의하면 대상 프레임의 앞 프레임에서의 당해 부호화 대상 블록과 동일 위치 또는 그 근방에 있는 범위설정 기준블록에 대응하는 모션 벡터에 의해 당해 부호화 대상 블록의 모션은 어느 정도 예측할 수 있으므로, 이 범위설정 기준블록의 모션 벡터에 의해 탐색범위의 위치를 설정함으로써, 특히 화상이 일정한 방향으로 움직이는 팬 화상에 대하여 적절한 탐색범위의 설정이 가능하게 된다.According to the above configuration, the motion of the encoding target block can be predicted to some extent by a motion vector corresponding to the range setting reference block at the same position or in the vicinity of the encoding target block in the frame before the target frame. By setting the position of the search range by the motion vector of the setting reference block, it is possible to set an appropriate search range, particularly for a pan image in which the image moves in a constant direction.

또 상기 모션 벡터 검출장치에서의 제어수단은 대상 프레임의 앞 프레임에서의 당해 부호화 대상 블록과 동일 위치 또는 그 근방의 블록을 범위설정 기준블록으로 하고, 상기 범위설정 기준블록에 대응하는 상관도 평가값이 나타내는 상관도가 상대적으로 낮을 때는 원탐색 범위를 탐색범위로서 설정하는 한편, 상대적으로 높을 때는 탐색범위의 사이즈를 상기 원탐색 범위보다 작게 설정하며, 그 탐색범위의 위치를 상기 범위설정 기준블록에 대응하는 모션 벡터를 기초로 하여 설정하는 것으로 한다.The control means in the motion vector detection apparatus uses a block at the same position as or near the encoding target block in the frame preceding the target frame as the range setting reference block, and the correlation evaluation value corresponding to the range setting reference block. When the correlation is relatively low, the original search range is set as the search range, while when the correlation degree is relatively high, the size of the search range is set smaller than the original search range, and the position of the search range is set to the range setting reference block. It is set based on the corresponding motion vector.

또한 상기 모션 벡터 검출장치에서의 오프셋값은 원탐색 범위의 탐색기점을 시작단으로 하고, 탐색범위의 탐색기점을 종료단으로 하는 벡터의 성분으로 한다.The offset value in the motion vector detection apparatus is a component of a vector whose end point is the search point in the original search range and whose end point is the search point in the search range.

또 상기 모션 벡터 검출장치에서의 어드레스 생성수단은, 클록을 계수하는 제 1 카운터와, 상기 제 1 탐색폭과 상기 제 1 카운터의 계수값을 비교하여 일치했을 때, 상기 제 1 카운터의 계수값을 리세트하는 것과 함께 카운트 업 신호를 출력하는 비교기와, 상기 카운트 업 신호를 계수하는 제 2 카운터와, 상기 오프셋값과 상기 제 1 및 제 2 카운터의 계수값에 기초하여 소정의 계산식에 따라 상기 원탐색 범위 기억수단에 공급하는 메모리 어드레스를 생성하는 메모리 어드레스 변환부를 구비하고 있는 것으로 한다.The address generating means in the motion vector detecting apparatus compares the count value of the first counter with a first counter for counting a clock and compares the count value of the first search width with the first counter. A comparator for resetting and outputting a count-up signal, a second counter for counting the count-up signal, and the original value according to a predetermined calculation formula based on the offset value and the count value of the first and second counters. It is assumed that a memory address conversion section for generating a memory address supplied to the search range storage means is provided.

또한 상기 모션 벡터 검출장치에 있어서, 상기 제어수단은 제 1 및 제 2 탐색폭과 오프셋값에 부가하여, 당해 탐색범위의 수평방향의 서브 샘플 정도를 표시하는 제 1 서브 샘플수 및 수직방향의 서브 샘플 정도를 나타내는 제 2 서브 샘플수를 생성하는 것이며, 상기 어드레스 생성수단은 상기 원탐색 범위 기억수단에 부여되는 메모리 어드레스의 생성을 상기 제어수단에 의해 생성된 제 1 및 제 2 탐색폭, 제 1 및 제 2 서브 샘플수와 오프셋값에 기초하여 행하는 것으로 한다.Further, in the motion vector detecting apparatus, the control means may include the first subsample number and the vertical sub-number indicating the subsample degree in the horizontal direction of the search range in addition to the first and second search widths and offset values. Generating a second subsample number indicating a sample degree, wherein the address generating means generates the first and second search widths and the first and second search widths generated by the control means to generate a memory address given to the original search range storage means. And based on the second subsample number and the offset value.

또한 본 발명이 강구한 해결수단은 부호화 대상 블록에 대하여 모션 벡터를 검출하는 방법으로서, 탐색 프레임에서의 소정의 영역내에 상기 부호화 대상 블록과 유사한 부분이 있는지의 여부를 판정하는 제 1 단계와, 상기 제 1 단계에서 유사한 부분이 있다고 판정했을 때, 탐색 프레임에서 이 유사한 부분을 포함하며, 또한 상기 소정의 영역보다 작은 제 1 영역을 모션 벡터 검출을 위한 탐색범위로서 설정하는 제 2 단계와, 상기 제 1 단계에서 유사한 부분이 없다고 판정했을 때 상기 제 1 영역보다 큰 영역을 모션 벡터 검출을 위한 탐색범위로서 설정하는 제 3 단계를 구비하고 있는 것이다.The present invention also provides a method for detecting a motion vector with respect to an encoding target block, comprising: a first step of determining whether a portion similar to the encoding target block exists in a predetermined region of a search frame; A second step of setting a first area including this similar part in the search frame and smaller than the predetermined area as a search range for motion vector detection when it is determined that there is a similar part in the first step; When it is determined in step 1 that there is no similar part, a third step of setting an area larger than the first area as a search range for motion vector detection is provided.

상기의 구성에 의하면 탐색 프레임에서의 소정의 영역내에, 부호화 대상 블록과 유사한 부분이 있는지의 여부를 판정하여, 있다고 판정했을 때 탐색 프레임에서 이 유사한 부분을 포함하고, 또한 상기 소정의 영역보다 작은 영역을 모션 벡터 검출을 위한 탐색범위로서 설정하므로, 특히 화상이 일정한 방향으로 이동하는 팬 화상에 대하여 적절한 탐색범위의 설정이 가능하게 된다. 이로써 효율적이면서 정밀도 높게 모션 벡터 검출을 실행할 수 있다.According to the above arrangement, it is determined whether or not there is a portion similar to the encoding target block in a predetermined region in the search frame, and when it is determined, the region includes the similar portion and is smaller than the predetermined region. Is set as a search range for motion vector detection, so that an appropriate search range can be set, particularly for a pan image in which the image moves in a constant direction. In this way, motion vector detection can be performed efficiently and with high accuracy.

또 상기 모션 벡터 검출방법에 있어서, 상기 제 1 단계는 대상 프레임의 앞 프레임에서의 당해 부호화 대상 블록과 동일 위치 또는 그 근방의 블록을 범위설정 기준블록으로 하고, 이 범위설정 기준블록에 대하여 검출한 모션 벡터에 대응하는 상관도 평가값을 기초로 하여 상기 판정을 행하는 것으로 하고, 상기 제 2 단계는 탐색범위의 위치를 상기 범위설정 기준블록에 대하여 검출한 모션 벡터를 기초로 하여 설정하는 것으로 한다.In the motion vector detection method, in the first step, a block is set as a range setting reference block at or near the same position as the encoding target block in the frame before the target frame, and the range setting reference block is detected. The determination is made based on the correlation evaluation value corresponding to the motion vector, and in the second step, the position of the search range is set based on the motion vector detected with respect to the range setting reference block.

또한 상기 모션 벡터 검출방법에 있어서, 상기 제 1 단계는 부호화 대상 블록의 일부를 적어도 포함하는 단위영역과, 탐색 프레임에서의 당해 부호화 대상 블록과 동일 위치의 근방에 설치한, 상기 단위영역과 동일 사이즈의 복수의 비교영역에 대하여 소정의 화소연산을 각각 행하고, 이들 연산결과를 기초로 하여 상기 판정을 행하는 것이며, 상기 제 2 단계는 상기 소정의 화소연산의 연산결과로부터 상기 복수의 비교영역중 상기 단위영역과 가장 유사한 것을 구하고, 이 비교영역의 위치를 기초로 하여 탐색범위의 위치를 설정하는 것으로 한다.Further, in the motion vector detection method, the first step includes a unit area including at least a part of an encoding target block and the same size as the unit region provided in the vicinity of the same position as the encoding target block in the search frame. Predetermined pixel operations are performed on the plurality of comparison areas of the plurality of comparison areas, and the determination is performed based on these calculation results, and the second step is the unit of the plurality of comparison areas from the calculation result of the predetermined pixel operation. The most similar thing to the area is obtained, and the position of the search range is set based on the position of this comparison area.

또한 본 발명이 강구한 해결수단은 모션 벡터 검출방법으로서, 모션 벡터 검출을 위한 탐색범위를 설정하는 단계와, 부호화 대상 블록에 대하여 상기 탐색범위내의 후보 블록과의 상관도를 기초로 하여 모션 벡터를 검출하는 단계를 구비하며, 상기 탐색범위 설정단계는 대상 프레임의 앞 프레임에서의 당해 부호화 대상 블록과 동일 위치 또는 그 근방의 블록을 범위설정 기준블록으로 하고, 이 범위설정 기준블록에 대하여 검출한 모션 벡터에 대응하는 상관도 평가값을 기초로 하여 탐색범위의 사이즈를 설정하는 것이다.The present invention also provides a motion vector detection method, comprising: setting a search range for detecting a motion vector, and determining a motion vector based on a correlation between candidate blocks within the search range with respect to an encoding target block. And a step of detecting the motion range, wherein the search range setting step uses a block at the same position as or near the encoding target block in the frame preceding the target frame as the range setting reference block, and detects the motion with respect to the range setting reference block. The size of the search range is set based on the correlation evaluation value corresponding to the vector.

상기한 구성에 의하면 대상 프레임의 앞 프레임에서의 당해 부호화 대상 블록과 동일 위치 또는 그 근방에 있는 범위설정 기준블록에 대응하는 상관도 평가값에 의해, 당해 부호화 대상 블록의 탐색 프레임과의 연관의 정도는 어느 정도 예측할 수 있으므로, 이 범위설정 기준블록의 상관도 평가값에 의해 탐색범위의 사이즈를 설정함으로써 적절한 탐색범위의 설정이 가능하게 된다.According to the above-described configuration, the degree of association with the search frame of the encoding target block is based on the correlation evaluation value corresponding to the range setting reference block at the same position or in the vicinity of the encoding target block in the frame before the target frame. Can be predicted to some extent, so that the appropriate search range can be set by setting the size of the search range based on the correlation evaluation value of this range setting reference block.

또한 본 발명이 강구한 해결수단은 모션 벡터 검출방법으로서, 모션 벡터 검출을 위한 탐색범위를 설정하는 단계와, 부호화 대상 블록에 대하여 상기 탐색범위내의 후보 블록과의 상관도를 기초로 하여 모션 벡터를 검출하는 단계를 구비하며, 상기 탐색범위 설정단계는 대상 프레임의 앞 프레임에서의 당해 부호화 대상 블록과 동일 위치 또는 그 근방의 블록을 범위설정 기준블록으로 하고, 이 범위설정 기준블록에 대하여 검출한 모션 벡터를 기초로 하여 탐색범위의 위치를 설정하는 것이다.The present invention also provides a motion vector detection method, comprising: setting a search range for detecting a motion vector, and determining a motion vector based on a correlation between candidate blocks within the search range with respect to an encoding target block. And a step of detecting the motion range, wherein the search range setting step uses a block at the same position as or near the encoding target block in the frame preceding the target frame as the range setting reference block, and detects the motion with respect to the range setting reference block. The position of the search range is set based on the vector.

상기한 구성에 의하면, 대상 프레임의 앞 프레임에서의 당해 부호화 대상 블록과 동일 위치 또는 그 근방에 있는 범위설정 기준블록에 대응하는 모션 벡터에 의해 당해 부호화 대상 블록의 모션은 어느 정도 예측할 수 있으므로, 그 범위설정 기준블록의 모션 벡터에 의해 탐색범위의 위치를 설정함으로써 적절한 탐색범위의 설정이 가능하게 된다.According to the above configuration, the motion of the encoding target block can be predicted to some extent by a motion vector corresponding to the range setting reference block at the same position or in the vicinity of the encoding target block in the frame preceding the target frame. By setting the position of the search range by the motion vector of the range setting reference block, an appropriate search range can be set.

상술한 목적 및 기타의 목적과 본 발명의 특징 및 이점은 첨부도면과 관련한 다음의 상세한 설명을 통해 보다 분명해질 것이다.The above and other objects and features and advantages of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings.

( 실시예 )(Example)

이하 본 발명의 실시예에 대하여 도면을 참조하여 설명하기로 한다.Hereinafter, embodiments of the present invention will be described with reference to the drawings.

( 제 1 실시예 )(First embodiment)

도 1은 시간적으로 연속된 3장의 프레임 화상을 도시한 도면으로, 카메라를 오른쪽으로부터 왼쪽으로 이동시켜 촬영한 이른바 팬 화상을 나타내고 있다. 팬 화상에서는 일반적으로 매우 짧은 시간 동안 본 경우에는 화면상의 물체는 일정 속도로 움직이고 있다고 할 수 있다. 따라서 본 실시예에서는 대상 프레임(프레임(1))의 부호화 대상 블록(CB)에 대한 모션 벡터(MV)를 검출할 때, 탐색 프레임(프레임(0))에서의 부호화 대상 블록(CB)과 동일 위치의 블록(AB)을 범위설정 기준블록으로 하고, 이 범위설정 기준블록(AB)에 대하여 검출한 모션 벡터(BMV) 및 그 때의 상관도 평가값(BAE)을 기초로 하여 탐색범위의 사이즈 및 위치를 설정한다. 이들에 의해 도 1에 도시된 바와 같이 탐색 프레임내에서 부호화 대상 블록(CB)의 화상이 존재했다고 추정되는 위치로 좁혀, 모션 벡터 검출을 위한 탐색범위를 설정할 수 있다. 따라서 모션 벡터 검출을 정확하면서 고속으로 실행할 수 있다.FIG. 1 is a diagram showing three frame images consecutive in time, and shows a so-called pan image photographed by moving a camera from right to left. In fan images, when viewed for a very short time, the object on the screen is moving at a constant speed. Therefore, in the present embodiment, when the motion vector MV for the encoding target block CB of the target frame (frame 1) is detected, it is the same as the encoding target block CB in the search frame (frame 0). The size of the search range is based on the block AB of the position as the range setting reference block and based on the motion vector BMV detected with respect to the range setting reference block AB and the correlation evaluation value BAE at that time. And position. As a result, as shown in FIG. 1, the search range for motion vector detection can be set by narrowing to the position where the image of the encoding object block CB exists in the search frame. Therefore, motion vector detection can be performed accurately and at high speed.

도 2는 본 실시예에 관한 모션 벡터 검출을 위한 탐색범위를 도시한 개략도이다. 본 실시예에서는 탐색범위의 사이즈는 2종류로 한다. 도 2는 MPEG 등의 화상 부호화 규격에 있어서의 일반적인 사이즈(수평방향 16화소, 수직방향 16화소)의 부호화 대상 블록(CB)에 대한 탐색범위의 예를 도시하고 있고, 도 2중 (a)는 큰 탐색범위(W)의 예로서의 수평방향 46화소, 수직방향 46화소의 탐색범위를 나타내며, (b)는 작은 탐색범위(S)의 예로서의 수평방향 30화소, 수직방향 30화소의 탐색범위를 나타내고 있다.2 is a schematic diagram showing a search range for motion vector detection according to the present embodiment. In this embodiment, the size of the search range is two types. FIG. 2 shows an example of a search range for a coding target block CB of a general size (16 pixels in the horizontal direction and 16 pixels in the vertical direction) in an image coding standard such as MPEG, and FIG. The search range of the horizontal direction 46 pixels and the vertical direction 46 pixels as an example of a large search range W is shown, (b) has shown the search range of the horizontal 30 pixels and 30 pixels of a vertical direction as an example of a small search range S. .

작은 탐색범위(S)의 위치는 큰 탐색범위(W)를 기준으로 한 상대위치에 따라 나타낸다. 여기에서는 탐색범위(W)의 탐색기점인 좌상코너를 시작단으로 하고 탐색범위(S)의 탐색기점인 좌상코너를 종료단으로 하는 벡터를 오프셋(Hoff, Voff)으로 하고, 이 오프셋의 성분인 오프셋값에 따라, 탐색범위(S)의 위치를 나타내는 것으로 한다. 이 때 예를 들면 화상이 정지화상이며 부호화 대상 블록(CB)의 위치에 탐색범위(S)가 설정되었을 때는 도 2의 (b)에 도시한 바와 같이 오프셋값은,The position of the small search range S is indicated according to the relative position with respect to the large search range W. FIG. In this case, a vector having the upper left corner as the search point in the search range W as the start end and the upper left corner as the search point in the search range S as the end is referred to as offsets (Hoff, Voff). According to the offset value, it is assumed that the position of the search range S is shown. At this time, for example, when the image is a still image and the search range S is set at the position of the encoding target block CB, the offset value is as shown in FIG.

Hoff = 8Hoff = 8

Voff = 8Voff = 8

이 된다. 또한 탐색범위의 수평방향의 화소폭을 제 1 탐색폭으로서의 탐색 수평(H) 화소폭으로 하고, 탐색범위의 수직방향의 화소폭을 제 2 탐색폭으로서의 탐색 수직(V) 화소폭으로 한다.Becomes The pixel width in the horizontal direction of the search range is set to the search horizontal (H) pixel width as the first search width, and the pixel width in the vertical direction of the search range is set to the search vertical (V) pixel width as the second search width.

도 3은 본 실시예에 관한 모션 벡터 검출장치의 구성을 도시한 도면이다. 도 3에서 10은 탐색 H화소폭, 탐색 V화소폭 및 오프셋을 기초로 하여 메모리 어드레스(MA)를 생성하는 어드레스 생성수단으로서의 어드레스 생성부, 20은 원탐색 범위의 화상 데이터를 저장하는 원탐색 범위 기억수단으로서의 탐색범위 저장 메모리, 30은 부호화 대상 블록과 탐색범위내의 후보 블록의 상관도를 나타내는 평가값을 산출하고, 최대의 상관도에 대응하는 모션 벡터 및 이 모션 벡터에 대응하는 평가값을 출력하는 모션 벡터 검출수단으로서의 모션 벡터 검출부, 40은 모션 벡터 검출부(30)가 출력한 모션 벡터 및 평가값으로부터 탐색 H화소폭, 탐색 V화소폭 및 오프셋을 결정하고, 이들을 어드레스 생성부(10)에 출력하는 제어수단으로서의 제어부, 50은 부호화 대상 블록의 화상 데이터를 저장하는 부호화 대상 블록 저장 메모리이다. 여기에서는 46×46 화소의 큰 탐색범위(W)를 원탐색 범위로 한다.3 is a diagram showing the configuration of a motion vector detection apparatus according to the present embodiment. 3 to 10 are address generation units as address generation means for generating a memory address MA based on search H pixel width, search V pixel width, and offset, and 20 are original search ranges for storing image data of the original search range. The search range storage memory 30 as the storage means calculates an evaluation value indicating the correlation between the encoding target block and the candidate block in the search range, and outputs a motion vector corresponding to the maximum correlation and an evaluation value corresponding to the motion vector. The motion vector detection unit 40 serving as a motion vector detection unit determines the search H pixel width, the search V pixel width, and the offset from the motion vector and the evaluation value output from the motion vector detection unit 30, and sends them to the address generator 10. The control unit 50 as a control means for outputting is an encoding target block storage memory for storing image data of the encoding target block. Here, the large search range W of 46 x 46 pixels is used as the original search range.

도 4는 제어부(40)의 동작을 도시한 흐름도이다. 제어부(40)의 동작을 도 4의 흐름도 및 도 1을 참조하여 설명하기로 한다.4 is a flowchart illustrating the operation of the controller 40. An operation of the controller 40 will be described with reference to the flowchart of FIG. 4 and FIG. 1.

지금, 대상 프레임에서의 부호화 대상 블록(CB)에 대하여 모션 벡터 검출을 위한 탐색범위를 설정하는 것으로 한다. 제어부(40)는 탐색 프레임의 범위설정 기준블록(AB)에 대한 모션 벡터(BMV) 및 그 때의 상관도 평가값(BAE)을 기초로 하여 탐색범위를 표시하는 탐색 H화소폭, 탐색 V화소폭 및 오프셋을 어드레스 생성부(10)에 공급한다.Now, a search range for motion vector detection is set for the encoding target block CB in the target frame. The control unit 40 displays a search H pixel width and a search V, which display a search range based on the motion vector BMV of the range setting reference block AB of the search frame and the correlation evaluation value BAE at that time. The small width and the offset are supplied to the address generator 10.

우선 단계 S1에서 범위설정 기준블록(AB)의 상관도 평가값(BAE)과 임계치(AE0)를 비교한다. 이 비교의 결과 평가값(BAE)이 임계치(AE0)보다 클 경우는 모션 벡터(BMV)에 대응하는 상관도가 낮은 것으로부터 탐색 프레임에서의 소정의 영역내에 부호화 대상 블록(CB)과 유사한 부분은 없다고 판정하여 탐색범위를 좁히지 않고, 원탐색 범위 즉 46×46 화소의 큰 탐색범위(W)를 모션 벡터 검출을 위한 탐색범위로서 설정한다(단계 S2). 즉 이 경우는 탐색 H화소폭 및 탐색 V화소폭은 모두 「46」으로 하고 오프셋은 (0, 0)으로 한다.First, in step S1, the correlation evaluation value BAE of the range setting reference block AB is compared with the threshold value AE0. As a result of this comparison, when the evaluation value BAE is larger than the threshold AE0, a portion similar to the encoding target block CB in a predetermined region of the search frame is low because the correlation corresponding to the motion vector BMV is low. The search range W is set as the search range for motion vector detection without determining the search range and narrowing the search range, i.e., the large search range W of 46 x 46 pixels (step S2). In this case, the search H pixel width and the search V pixel width are both "46" and the offset is (0, 0).

범위설정 기준블록(AB)의 상관도 평가값(BAE)이 임계치(AE0)보다 크지 않을 때는 모션 벡터(BMV)에 대응하는 상관도가 높은 것으로부터 탐색 프레임에서의 소정의 영역내에 부호화 대상 블록(CB)과 유사한 부분이 있다고 판정하여 30×30 화소의 적은 탐색범위(S)를 모션 벡터 검출을 위한 탐색범위로서 설정한다(단계 S3). 그리고 단계(S4)에서 범위설정 기준블록(AB)의 모션 벡터(BMV)의 크기 와 임계치(MV0)를 비교한다.When the correlation evaluation value BAE of the ranging reference block AB is not larger than the threshold AE0, the encoding target block ( It is determined that there is a portion similar to CB), and a small search range S of 30 x 30 pixels is set as a search range for motion vector detection (step S3). And the magnitude of the motion vector BMV of the range setting reference block AB in step S4. And threshold MV0.

이 비교의 결과 모션 벡터(BMV)의 크기가 임계치(MV0)보다 클 때는 부호화 대상 블록(CB)의 모션은 크다고 판정하여, 이 모션 벡터(BMV)의 성분을 이용하여 오프셋을 설정한다(단계 S5). 구체적으로는 오프셋(Hoff, Voff)의 각 성분의 값을 다음과 같이 설정한다.As a result of this comparison, when the magnitude of the motion vector BMV is larger than the threshold value MV0, it is determined that the motion of the encoding target block CB is large, and the offset is set using the components of the motion vector BMV (step S5). ). Specifically, the values of the components of the offsets Hoff and Voff are set as follows.

Hoff = x + 8Hoff = x + 8

Voff = y + 8Voff = y + 8

즉, 이 경우는 탐색 H화소폭 및 탐색 V화소폭을 모두 「30」으로 하고, 또한 오프셋은 (x+8, y+8)로 한다.That is, in this case, both the search H pixel width and the search V pixel width are "30", and the offset is (x + 8, y + 8).

한편 모션 벡터(BMV)의 크기가 임계치(MV0)보다 크지 않을 때는, 부호화 대상 블록(CB)의 모션은 미소하며 정지화상인 것으로 판단하여 오프셋을 (8, 8)로 설정한다. 즉 이 경우는 탐색 H화소폭 및 탐색 V화소폭을 모두 「30」으로 하고, 또한 오프셋은 (8, 8)로 한다.On the other hand, when the magnitude of the motion vector BMV is not larger than the threshold value MV0, the motion of the encoding target block CB is determined to be small and a still picture, and the offset is set to (8, 8). In this case, both the search H pixel width and the search V pixel width are set to "30", and the offset is set to (8, 8).

어드레스 생성부(10)는 제어부(40)로부터 출력된 탐색 H화소폭 및 탐색 V화소폭과 오프셋에 기초하여 메모리 어드레스(MA)를 생성한다. 모션 벡터 검출부(30)는 부호화 대상 블록(CB)에 대하여 탐색범위 저장 메모리(20)로부터 판독한 탐색범위의 화소 데이터를 이용하여 모션 벡터 검출을 행한다(단계 S10).The address generator 10 generates the memory address MA based on the search H pixel width, the search V pixel width, and the offset output from the control unit 40. The motion vector detection unit 30 performs motion vector detection on the encoding target block CB using pixel data of the search range read from the search range storage memory 20 (step S10).

도 5는 어드레스 생성부(10)의 구성을 도시한 블록도이다. 도 5에 도시한 바와 같이 어드레스 생성부(10)는 클록을 계수하는 제 1 카운터로서의 H 카운터(11)와, 탐색 H화소폭과 H 카운터(11)의 계수값을 비교하여, 일치했을 때 H 카운터(11)의 계수값을 리세트하는 것과 함께, 카운트 업 신호(CU)를 출력하는 비교기로서의 H 비교기(12)와, 카운트 업 신호(CU)를 계수하는 제 2 카운터로서의 V 카운터(13)와, 탐색 V화소폭과 V 카운터(13)의 계수값을 비교하여, 일치했을 때 모션 벡터 검출부(30)의 동작을 종료시키는 동작 신호를 생성하는 V 비교기(14)와, 오프셋값과 H 카운터(11) 및 V 카운터(13)의 계수값에 기초하여 탐색범위 저장 메모리(20)의 메모리 어드레스(MA)를 생성하는 메모리 어드레스 변환부(15)에 의해 구성되어 있다. 제어부(40)로부터 공급되는 개시신호에 따라 H 카운터(11) 및 V 카운터(13)는 리세트되고 어드레스 생성부(10)는 동작을 개시한다.5 is a block diagram showing the configuration of the address generator 10. As shown in Fig. 5, the address generator 10 compares the H counter 11 as the first counter for counting the clock with the count value of the search H pixel width and the H counter 11, and when H matches, In addition to resetting the count value of the counter 11, the H comparator 12 as a comparator for outputting the count up signal CU and the V counter 13 as a second counter for counting the count up signal CU And a V comparator 14 which compares the search V pixel width and the count value of the V counter 13 and generates an operation signal for terminating the operation of the motion vector detection unit 30 when the match is made, and the offset value and the H counter. And a memory address conversion section 15 that generates a memory address MA of the search range storage memory 20 based on the count values of the (11) and V counters (13). In response to the start signal supplied from the control unit 40, the H counter 11 and the V counter 13 are reset, and the address generator 10 starts operation.

도 5에 도시한 어드레스 생성부(10)의 동작에 대하여 도 6∼도 8을 참조하여 설명하기로 한다.The operation of the address generator 10 shown in FIG. 5 will be described with reference to FIGS. 6 to 8.

도 6은 탐색범위 저장 메모리(20)에 저장된 원탐색 범위와 모션 벡터 검출을 위한 탐색범위의 관계를 표시하는 도면이다. 여기에서는 도 6에 도시된 바와 같이 탐색범위 저장 메모리(20)는 원탐색 범위로서 수평 12화소×수직 8화소의 화소 데이터를 저장하고 있고, 모션 벡터 검출을 위한 탐색범위로서 탐색 H화소폭이 8, 탐색 V화소폭이 6, 오프셋이 (2, 1)인 탐색범위가 설정되어 있는 것으로 한다.FIG. 6 is a diagram showing the relationship between the original search range stored in the search range storage memory 20 and the search range for motion vector detection. Here, as shown in FIG. 6, the search range storage memory 20 stores pixel data of 12 pixels x 8 pixels horizontally as the original search range, and the search H pixel width is 8 as the search range for motion vector detection. It is assumed that a search range with a search V pixel width of 6 and an offset of (2, 1) is set.

도 7은 도 6에 도시한 2차원의 화소 데이터를 탐색범위 저장 메모리(20)의 1차원의 어드레스 공간에 매핑한 결과를 도시한 도면이다. 어드레스 생성부(10)는 모션 벡터 검출을 위한 탐색범위의 화소 데이터를 탐색범위 저장 메모리(20)로부터 판독하기 위한 메모리 어드레스(MA)를 생성한다.FIG. 7 is a diagram illustrating a result of mapping two-dimensional pixel data illustrated in FIG. 6 to an one-dimensional address space of the search range storage memory 20. The address generator 10 generates a memory address MA for reading pixel data of a search range for motion vector detection from the search range storage memory 20.

도 8은 어드레스 생성부(10)의 동작을 도시한 타이밍도이다. 도 8에 도시한 바와 같이 개시신호가 입력되면, H 카운터(11)는 클록의 계수를 개시한다. H 카운터(11)의 계수값이 탐색 H화소폭에 상당하는 값에 도달하면, H 비교기(12)는 카운트 업 신호(CU)를 출력하고 이에 따라 H 카운터(11)의 계수값은 리세트된다. V 카운터(13)는 카운트 업 신호(CU)를 계수한다. V 카운터(13)의 계수값이 탐색 V화소폭에 상당하는 값에 도달하면 V 비교기(14)는 동작신호를 출력한다.8 is a timing diagram illustrating an operation of the address generator 10. When the start signal is input as shown in Fig. 8, the H counter 11 starts counting the clock. When the count value of the H counter 11 reaches a value corresponding to the search H pixel width, the H comparator 12 outputs a count up signal CU, whereby the count value of the H counter 11 is reset. . The V counter 13 counts the count up signal CU. When the count value of the V counter 13 reaches a value corresponding to the search V pixel width, the V comparator 14 outputs an operation signal.

메모리 어드레스 변환부(15)는 오프셋(Hoff, Voff)이 입력되면, 탐색범위 저장 메모리(20)에 저장된 원탐색 범위의 수평방향의 화소폭(Hmax) 및 수직방향의 화소폭(Vmax)으로부터 모션 벡터 검출을 위한 탐색범위의 기점으로 되는 어드레스(SA0)를 구한다. 이 기점 어드레스(SA0)는 다음 식에 의해 구해진다.When the offsets Hoff and Voff are input, the memory address conversion unit 15 moves from the horizontal pixel width Hmax and the vertical pixel width Vmax of the original search range stored in the search range storage memory 20. The address SA0 serving as the starting point of the search range for vector detection is obtained. This starting address SA0 is obtained by the following equation.

SA0 = Hmax×Voff+HoffSA0 = Hmax × Voff + Hoff

도 6의 예에서는In the example of FIG. 6

SA0 = 12×1+2 = 14SA0 = 12 × 1 + 2 = 14

로 된다.It becomes

그리고 메모리 어드레스 변환부(15)는 다음 식에 기초하여 메모리 어드레스(MA)를 구한다.The memory address conversion section 15 obtains the memory address MA based on the following equation.

MA = SA0+Hmax×(V 카운터(13)의 계수값)MA = SA0 + Hmax × (Count value of the V counter 13)

+ H 카운터(11)의 계수값     + Count value of H counter 11

이 결과 메모리 어드레스(MA)는 도 8에 도시한 바와 같이 변화한다. 예를 들면 도 7에 도시한 바와 같이 기점 어드레스(SA0)로부터 탐색 H화소폭분까지는 기점 어드레스(SA0)에 H 카운터(11)의 계수값을 가산함으로써 메모리 어드레스(MA)가 얻어진다. 다음의 클록 입력에 의해 H 카운터(11)의 계수값은 0이 되고, V 카운터(13)의 계수값은 1이 된다. 이 때 메모리 어드레스(MA)는,As a result, the memory address MA changes as shown in FIG. For example, as shown in Fig. 7, the memory address MA is obtained by adding the count value of the H counter 11 to the starting address SA0 from the starting address SA0 to the search H pixel width. By the next clock input, the count value of the H counter 11 becomes zero, and the count value of the V counter 13 becomes one. At this time, the memory address MA is

MA = 14+12×1+0 = 26MA = 14 + 12 × 1 + 0 = 26

으로 된다.Becomes

이상과 같이 본 실시예에 의하면 팬 화상에 대해서도 정밀도 좋으면서 효율적으로 모션 벡터 검출을 행할 수 있다.As described above, according to the present embodiment, motion vectors can be detected efficiently and efficiently with respect to the fan image.

또한 본 실시예에서는 탐색 프레임에서의 부호화 대상 블록과 동일 위치에 있는 블록을 범위설정 기준블록으로서 이용하였지만, 이 대신에 탐색 프레임에서의 부호화 대상 블록과 동일 위치의 근방의 블록을 범위설정 기준블록으로서 이용해도 상관없다. 또한 탐색 프레임보다 더욱 앞의 프레임에서의 부호화 대상 블록과 동일 위치 또는 그 근방에 있는 블록을 범위설정 기준블록으로서 이용해도 된다.In the present embodiment, a block at the same position as the encoding target block in the search frame is used as the range setting reference block. Instead, a block near the same position as the encoding target block in the search frame is used as the ranging reference block. You may use it. Alternatively, a block at the same position as or adjacent to the encoding target block in the frame before the search frame may be used as the range setting reference block.

또한 본 실시예에서는 탐색범위의 사이즈는 2종류로 했지만 이 이상의 종류의 사이즈를 설정해도 상관없다. 또한 범위설정 기준블록의 모션 벡터 성분의 크기 등을 평가지표로 하여 탐색 H화소폭이나 탐색 V화소폭을 가변으로 하는 것도 실시할 수 있다.In the present embodiment, the size of the search range is set to two types, but the size of this or more types may be set. Further, the search H pixel width and the search V pixel width can be changed by using the magnitude of the motion vector component of the range setting reference block as an evaluation index.

( 제 1 실시예의 변형예 )(Modification of the first embodiment)

제 1 실시예에서 서브 샘플을 병합하여 적용할 수도 있다. 이 경우 제어부(40)는 탐색 H화소폭, 탐색 V화소폭 및 오프셋값에 덧붙여, 탐색범위의 제 1 서브 샘플수로서의 수평방향의 서브 샘플수(DH) 및 제 2 서브 샘플수로서의 수직방향의 서브 샘플수(DV)를 어드레스 생성부(10)에 입력한다.In the first embodiment, subsamples may be merged and applied. In this case, in addition to the search H pixel width, the search V pixel width, and an offset value, the control unit 40 controls the horizontal subsample number DH as the first subsample number in the search range and the vertical direction as the second subsample number. The subsample number DV is input to the address generator 10.

도 9는 본 변형예에 관한 제어부(40)의 동작을 도시한 흐름도이다. 도 4와 다른 것은 탐색범위의 사이즈 및 위치의 설정에 덧붙여, 서브 샘플의 유무를 지정하고 있는 점이다. 즉 큰 탐색범위(W)를 설정하는 단계 S2A 및 작은 탐색범위(S)를 부호화 대상 블록(CB)의 위치 이외에 설정하는 단계 S5A에서는 서브 샘플 있음을 지정하는 한편, 작은 탐색범위(S)를 부호화 대상 블록(CB)의 위치에 설정하는 단계 S6A에서는 서브 샘플 없음을 지정한다.9 is a flowchart showing the operation of the control unit 40 according to the present modification. The difference from FIG. 4 is that the presence or absence of a subsample is specified in addition to setting the size and position of the search range. That is, in step S2A of setting the large search range W and in the step S5A of setting the small search range S other than the position of the encoding target block CB, the subsample is specified and the small search range S is encoded. In step S6A, which is set at the position of the target block CB, no subsample is specified.

도 10은 본 변형예에 관한 모션 벡터 검출을 위한 탐색범위를 도시한 개략도이다. 여기에서는 수평방향의 서브 샘플수(DH) 및 수직방향의 서브 샘플수(DV)는 모두 2로 한다. 도 10중 (a)는 서브 샘플 있음이 지정된 큰 탐색범위(W)의 예를, (b)는 서브 샘플 있음이 지정된 작은 탐색범위(S)의 예를, (c)는 서브 샘플 없음이 지정된 작은 탐색범위(S)의 예를 나타내고 있다. 단계 S6A에서 작은 탐색범위(S)를 부호화 대상 블록(CB)의 위치에 설정하는 것은 부호화 대상 블록(CB)의 모션이 미소한 것으로 판정했기 때문이다. 이 경우에는 탐색의 정밀도를 낮추는 일은 바람직하지 않으므로 도 10의 (c)에 도시한 바와 같이 서브 샘플 없음을 지정한다.10 is a schematic diagram showing a search range for motion vector detection according to the present modification. Here, the number of subsamples DV in the horizontal direction and the number of subsamples DV in the vertical direction are both two. In Fig. 10, (a) shows an example of a large search range W in which subsamples are specified, (b) shows an example of a small search range S in which subsamples are specified, and (c) designates no subsample. An example of a small search range S is shown. The setting of the small search range S at the position of the encoding object block CB in step S6A is because it is determined that the motion of the encoding object block CB is minute. In this case, since it is not desirable to reduce the accuracy of the search, as shown in Fig. 10C, no subsample is designated.

본 변형예에 관한 어드레스 생성부(10)의 동작에 대하여 도 11∼도 13을 참조하여 설명하기로 한다.The operation of the address generator 10 according to the present modification will be described with reference to FIGS. 11 to 13.

도 11은 탐색범위 저장 메모리(20)에 저장된 원탐색 범위와 모션 벡터 검출을 위한 탐색범위의 관계를 표시하는 도면이다. 여기에서는 도 11에 도시한 바와 같이 모션 벡터 검출을 위한 탐색범위로서 탐색 H화소폭이 6, 탐색(V) 폭이 4, 오프셋이 (0, 0), 서브 샘플(DH, DV)이 모두 2인 탐색범위가 설정되어 있는 것으로 한다.FIG. 11 is a diagram showing the relationship between the original search range stored in the search range storage memory 20 and the search range for motion vector detection. Here, as shown in FIG. 11, as the search range for motion vector detection, the search H pixel width is 6, the search V width is 4, the offset is (0, 0), and the subsamples (DH, DV) are all 2 It is assumed that the search range is set.

도 12는 도 11에 도시한 2차원의 화소 데이터를 탐색범위 저장 메모리(20)의 1차원의 어드레스 공간에 매핑한 결과를 도시한 도면이다.FIG. 12 is a diagram illustrating a result of mapping the two-dimensional pixel data shown in FIG. 11 to the one-dimensional address space of the search range storage memory 20.

도 13은 어드레스 생성부(10)의 동작을 도시한 타이밍도이다. 본 변형예에서는 메모리 어드레스 변환부(15)는 다음 식에 기초하여 메모리 어드레스(MA)를 구한다.13 is a timing diagram illustrating an operation of the address generator 10. In this modification, the memory address conversion section 15 obtains the memory address MA based on the following equation.

MA = SA0+Hmax×(V 카운터(13)의 계수값)×DVMA = SA0 + Hmax × (Count value of V counter 13) × DV

+(H 카운터(11)의 계수값)×DH     + (Count value of H counter 11) x DH

이 결과 메모리 어드레스(MA)는 도 12에 도시한 바와 같이 변화한다. As a result, the memory address MA changes as shown in FIG.

또한 서브 샘플(DH, DV)의 설정에 의해 화상의 회전이나 확대/축소에 대응한 모션 벡터 검출에 대해서도 본 발명은 용이하게 적용할 수 있다.In addition, the present invention can be easily applied to motion vector detection corresponding to the rotation and enlargement / reduction of an image by setting the subsamples DH and DV.

( 제 2 실시예 )(2nd Example)

본 발명의 제 2 실시예는 탐색 프레임에서 부호화 대상 블록과 동일 위치의 근방에 당해 부호화 대상 블록과 동일 사이즈의 복수의 블록을 설치하여 부호화 대상 블록과, 탐색 프레임에 설정한 복수의 블록에 대하여 소정의 화소연산을 각각 행하고 이들 연산결과를 기초로 하여 모션 벡터 검출을 위한 탐색범위의 사이즈 및 위치를 설정하는 것이다. 여기에서는 소정의 화소연산으로서 블록내의 화소 데이터의 누산연산을 행하는 것이다.According to the second embodiment of the present invention, a plurality of blocks having the same size as that of the encoding target block are provided in the vicinity of the same position as the encoding target block in the search frame, and the predetermined blocks are assigned to the encoding target block and the plurality of blocks set in the search frame. Each pixel operation is performed, and the size and position of the search range for motion vector detection are set based on these calculation results. Here, accumulation operation of pixel data in a block is performed as a predetermined pixel operation.

도 14는 본 실시예에 관한 탐색 프레임에서의 블록 설정의 일례를 도시한 도면이다. 도 14에서는 단위영역으로서의 16×16 화소의 부호화 대상 블록(CB)에 대하여 탐색 프레임에 비교영역으로서의 16×16 화소의 9개의 블록(SB0∼SB8)을 설정하고 있다.14 is a diagram showing an example of block setting in the search frame according to the present embodiment. In Fig. 14, nine blocks SB0 to SB8 of 16x16 pixels as a comparison area are set in a search frame with respect to the encoding target block CB of 16x16 pixels as a unit area.

본 실시예에 관한 모션 벡터 검출장치는 제 1 실시예와 마찬가지로 도 3과 같이 구성된다. 단 제어부(40)는 모션 벡터 검출부(30)로부터 출력된 모션 벡터 및 평가값은 입력으로 하지 않고 이 대신에 각 프레임의 화상 데이터를 입력한다.The motion vector detecting apparatus according to the present embodiment is configured as shown in FIG. 3 as in the first embodiment. However, the control part 40 does not input the motion vector and evaluation value output from the motion vector detection part 30, but inputs image data of each frame instead.

도 15는 본 실시예에 관한 모션 벡터 검출장치에서의 제어부(40)의 동작을 도시한 흐름도이다. 우선 단계 S21에서 부호화 대상 블록(CB) 및 탐색 프레임에 설정된 각 블록(SB0∼SB8)에 대하여 블록내의 화소 데이터의 누산연산을 행한다. 단계 S22에서 부호화 대상 블록의 누산 연산결과(AC(CB))와, 탐색 프레임의 각 블록의 누산 연산결과(AC(SBn)(n=0∼8))의 차의 절대값의 최소값(SAmin)과, 임계치(SA0)를 비교한다. 이 비교의 결과 최소값(SAmi)이 임계치(SA0)보다 클 때는 탐색 프레임에서의 소정의 영역내에 부호화 대상 블록(CB)과 유사한 부분은 없다고 판정하여 탐색범위를 좁히지 않고, 46×46 화소의 큰 탐색범위(W)를 모션 벡터 검출을 위한 탐색범위로서 설정한다(단계 S23). 즉 이 경우는 탐색 H화소폭 및 탐색 V화소폭은 모두 「46」으로 하고, 오프셋은 (0, 0)으로 한다.15 is a flowchart showing the operation of the control unit 40 in the motion vector detection apparatus according to the present embodiment. First, in step S21, accumulation operation of the pixel data in the block is performed on the encoding target block CB and each of the blocks SB0 to SB8 set in the search frame. In step S22, the minimum value SAmin of the difference between the accumulation operation result AC (CB) of the encoding target block and the accumulation operation result AC (SBn) (n = 0 to 8) of each block of the search frame. And threshold SA0 are compared. As a result of this comparison, when the minimum value SAmi is larger than the threshold SA0, a large search of 46x46 pixels is determined without narrowing the search range by determining that there is no portion similar to the encoding target block CB in a predetermined area of the search frame. The range W is set as a search range for motion vector detection (step S23). In this case, the search H pixel width and the search V pixel width are both "46" and the offset is (0, 0).

최소값(SAmi)이 임계치(SA0)보다 크지 않을 때는 탐색 프레임에서의 소정의 영역내에 부호화 대상 블록(CB)과 유사한 부분이 있다고 판정하여, 30×30 화소의 작은 탐색범위(S)를 모션 벡터 검출을 위한 탐색범위로 하여 설정한다(단계 S24). 그리고 단계 S25에서 블록(SBk)의 누산 연산결과와 부호화 대상 블록(CB)의 누산 연산결과의 차의 절대값이 최소가 될 때 블록(SBk)의 위치에 탐색범위(S)가 설정되도록 오프셋을 설정한다.When the minimum value SAmi is not larger than the threshold SA0, it is determined that there is a portion similar to the encoding target block CB in a predetermined area of the search frame, and a small search range S of 30 x 30 pixels is detected in the motion vector. It is set as the search range for (step S24). In step S25, when the absolute value of the difference between the accumulation operation result of the block SBk and the accumulation operation result of the encoding target block CB becomes minimum, the offset is set so that the search range S is set at the position of the block SBk. Set it.

예를 들면 부호화 대상 블록(CB)과 동일 위치에 블록(SB0)을 설정하고, 그 주위에 블록(SB1∼SB8)을 설정한 경우에는 블록(SB0)의 누산 연산결과와 부호화 대상 블록(CB)의 누산 연산결과의 차의 절대값이 최소가 될 때는 오프셋으로서 (8, 8)을 설정한다. 또한 블록(SB0)의 우하(右下)에 위치하는 블록(SB8)의 누산 연산결과와 부호화 대상 블록(CB)의 누산 연산결과의 차의 절대값이 최소가 될 때는 오프셋으로서 (16, 16)을 설정한다.For example, when the block SB0 is set at the same position as the encoding target block CB, and the blocks SB1 to SB8 are set around it, the accumulation operation result of the block SB0 and the encoding target block CB. When the absolute value of the difference between the accumulated operation results in is minimized, set (8, 8) as the offset. In addition, when the absolute value of the difference between the accumulation operation result of the block SB8 located at the bottom right of the block SB0 and the accumulation operation result of the encoding target block CB becomes minimum, the offset is (16, 16). Set.

이상과 같이 본 실시예에 의하면 앞 프레임에서 검출한 모션 벡터를 이용하지 않고 오프셋을 설정하기 때문에, 모션 벡터 검출을 행하는 당초의 프레임으로부터 오프셋을 설정할 수 있으므로, 제 1 실시예보다 더욱 효율적으로 모션 벡터 검출을 행할 수 있다.As described above, according to the present embodiment, since the offset is set without using the motion vector detected in the previous frame, the offset can be set from the original frame in which the motion vector is detected, so that the motion vector is more efficiently than the first embodiment. Detection can be performed.

또 부호화 대상 블록의 일부를 단위영역으로 하고, 이 단위영역과 동일 사이즈의 복수의 비교영역을 설정하여 이들에 대하여 소정의 화소연산을 각각 행해도 상관없다. 또한 이 단위영역에 부호화 대상 블록 근방의 영역을 포함하여도 상관없다. 또 이 단위영역은 어떠한 형상이어도 상관없다.In addition, a part of the encoding target block may be set as a unit region, and a plurality of comparison regions having the same size as the unit region may be set, and predetermined pixel operations may be performed on them. It is also possible to include a region near the encoding target block in this unit region. The unit area may be in any shape.

또한 소정의 화소연산으로서 누산 연산 외에, 예를 들면 인접 화소의 차이의 누산연산, 화소의 분산연산, 화소의 주파수 분포연산 등을 이용해도 된다. 또한 연산결과에 대하여 영역의 위치에 따른 가중을 실시해도 상관없다.In addition to the accumulation operation as a predetermined pixel operation, for example, an accumulation operation of a difference between adjacent pixels, a dispersion operation of pixels, a frequency distribution operation of pixels, and the like may be used. The calculation result may be weighted according to the position of the region.

이상과 같이 본 발명에 의하면 탐색범위의 사이즈 및 위치를 자유롭게 설정할 수 있으므로, 효율적이면서 정밀도 좋고 모션 벡터 검출을 실행할 수 있다. 또한 이미 검출된 모션 벡터와 이에 대응하는 상관도 평가값을 기초로 하여 탐색범위의 설정을 행하므로, 특히 화상이 일정한 방향으로 이동하는 팬 화상에 대하여 적절한 탐색범위의 설정이 가능하게 된다.As described above, according to the present invention, since the size and position of the search range can be freely set, the motion vector detection can be performed efficiently and with high accuracy. Further, since the search range is set on the basis of the motion vectors already detected and the correlation evaluation value corresponding thereto, the search range can be set appropriately, particularly for a pan image in which the image moves in a constant direction.

또한 탐색 프레임에서 부호화 대상 블록과 유사한 부분을 포함하는 영역을 모션 벡터 검출을 위한 탐색범위로서 설정하므로, 특히 화상이 일정한 방향으로 이동하는 팬 화상에 대하여 적절한 탐색범위의 설정이 가능하게 된다.In addition, since a region including a portion similar to the encoding target block in the search frame is set as a search range for motion vector detection, an appropriate search range can be set, particularly for a pan image in which the image moves in a constant direction.

또 대상 프레임의 앞 프레임에서의 당해 부호화 대상 블록과 동일 위치 또는 그 근방에 있는 범위설정 기준블록에 대응하는 모션 벡터 및 상관도 평가값에 의해 탐색범위의 사이즈 및 위치를 설정하므로 적절한 탐색범위의 설정이 가능하게 된다.In addition, since the size and position of the search range are set by the motion vector and the correlation evaluation value corresponding to the range setting reference block at the same position or in the vicinity of the encoding target block in the frame before the target frame, the appropriate search range is set. This becomes possible.

본 발명의 바람직한 실시예들은 예시의 목적을 위해 개시된 것이며, 당업자라면 첨부된 특허청구범위에 개시된 본 발명의 사상과 범위를 통해 각종 수정, 변경, 대체 및 부가가 가능할 것이다.Preferred embodiments of the present invention are disclosed for purposes of illustration, and those skilled in the art will be able to make various modifications, changes, substitutions and additions through the spirit and scope of the present invention as set forth in the appended claims.

도 1은 본 발명의 제 1 실시예를 설명하기 위한 도면으로, 팬 화상을 나타내는 시간적으로 연속된 3장의 프레임 화상을 도시한 도면.BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a view for explaining a first embodiment of the present invention, showing three frame images in successive time, each representing a fan image.

도 2는 본 발명의 제 1 실시예에 관한 모션 벡터 검출에서의 탐색범위를 도시한 개략도이며, (a)는 큰 탐색범위의 예, (b)는 작은 탐색범위의 예를 도시한 도면.Fig. 2 is a schematic diagram showing a search range in motion vector detection according to the first embodiment of the present invention, where (a) is an example of a large search range and (b) is an example of a small search range.

도 3은 본 발명의 실시예에 관한 모션 벡터 검출장치의 구성도.3 is a block diagram of a motion vector detection apparatus according to an embodiment of the present invention.

도 4는 본 발명의 제 1 실시예에 관한 제어부의 동작을 도시한 흐름도.4 is a flowchart showing the operation of the control unit according to the first embodiment of the present invention.

도 5는 어드레스 생성부의 구성을 도시한 블록도.5 is a block diagram showing a configuration of an address generator.

도 6은 탐색범위 저장 메모리에 저장된 최대 탐색범위와 모션 벡터 검출을 위한 탐색범위의 관계를 표시한 도면.6 is a view showing a relationship between a maximum search range stored in a search range storage memory and a search range for motion vector detection;

도 7은 도 6에 도시한 2차원의 화소 데이터를 탐색범위 저장 메모리의 1차원 어드레스 공간에 매핑한 결과를 도시한 도면.FIG. 7 illustrates a result of mapping two-dimensional pixel data shown in FIG. 6 to a one-dimensional address space of a search range storage memory; FIG.

도 8은 본 발명의 제 1 실시예에 관한 어드레스 생성부의 동작을 도시한 타이밍도.Fig. 8 is a timing diagram showing the operation of the address generator according to the first embodiment of the present invention.

도 9는 본 발명의 제 1 실시예의 변형예에 관한 제어부의 동작을 도시한 흐름도.9 is a flowchart showing the operation of the control unit according to the modification of the first embodiment of the present invention.

도 10은 본 발명의 제 1 실시예의 변형예에 관한 모션 벡터 검출에서의 탐색범위를 도시한 개략도.10 is a schematic diagram showing a search range in motion vector detection according to a modification of the first embodiment of the present invention.

도 11은 탐색범위 저장 메모리에 저장된 원탐색 범위와 모션 벡터 검출을 위한 탐색범위의 관계를 표시한 도면.FIG. 11 is a diagram showing a relationship between a circle search range stored in a search range storage memory and a search range for motion vector detection; FIG.

도 12는 도 11에 도시한 2차원의 화소 데이터를 탐색범위 저장 메모리의 1차원 어드레스 공간에 매핑한 결과를 도시한 도면.FIG. 12 is a view showing a result of mapping two-dimensional pixel data shown in FIG. 11 to a one-dimensional address space of a search range storage memory; FIG.

도 13은 본 발명의 제 1 실시예의 변형예에 관한 어드레스 생성부의 동작을 도시한 타이밍도.Fig. 13 is a timing diagram showing the operation of the address generator according to the modification of the first embodiment of the present invention.

도 14는 본 발명의 제 2 실시예에 관한 탐색 프레임에서의 비교영역 설정의 일례를 도시한 도면.Fig. 14 is a diagram showing an example of setting a comparison area in a search frame according to the second embodiment of the present invention.

도 15는 본 발명의 제 2 실시예에 관한 제어부의 동작을 도시한 흐름도.15 is a flowchart showing the operation of the control unit according to the second embodiment of the present invention.

도 16은 블록 매칭을 도시한 도면.16 illustrates block matching.

* 도면의 주요부분에 대한 부호의 설명 *             Explanation of symbols on main parts of drawing

CB : 부호화 대상 블록 AB : 범위설정 기준블록CB: Encoding block AB: Range setting reference block

BMV : 범위설정 기준블록의 모션 벡터BMV: Motion vector of range setting reference block

BAE : 범위설정 기준블록의 상관도 평가값BAE: Correlation evaluation value of range setting reference block

Hoff, Voff : 오프셋값 MA :메모리 어드레스Hoff, Voff: Offset value MA: Memory address

CU : 카운트 업 신호CU: count up signal

DH : 수평방향의 서브 샘플수(제 1 서브 샘플수)DH: Number of subsamples in the horizontal direction (number of first subsamples)

DV : 수직방향의 서브 샘플수(제 2 서브 샘플수)DV: Number of subsamples in the vertical direction (number of second subsamples)

SB0∼SB8 : 블록(비교영역)SB0 to SB8: Block (comparative area)

10 : 어드레스 생성부(어드레스 생성수단)10: address generator (address generating means)

11 : H 카운터(제 1 카운터) 12 : H 비교기(비교기)11: H counter (first counter) 12: H comparator (comparator)

13 : V 카운터(제 2 카운터) 15 : 메모리 어드레스 변환부13: V counter (second counter) 15: Memory address conversion unit

20 : 탐색범위 저장 메모리(원탐색 범위 기억수단)20: search range storage memory (original search range storage means)

30 : 모션 벡터 검출부(모션 벡터 검출수단)30: motion vector detection unit (motion vector detection means)

40 : 제어부(제어수단) 40 control part (control means)

Claims (13)

(정정)(correction) 대상 프레임의 부호화 대상 블록과 탐색 프레임의 탐색범위 내의 후보 블록과의 상관도를 나타내는 평가 값을 산출하고, 이들 상관도 평가 값을 기초로 하여, 상기 부호화 대상 블록에 대한 모션 벡터를 검출하는 모션 벡터 검출수단과,A motion vector for calculating a correlation value indicating a correlation between an encoding target block of a target frame and a candidate block within a search range of a search frame, and detecting a motion vector for the encoding target block based on these correlation evaluation values Detection means, 원 탐색 범위의 화소 데이터를 기억하고 있고, 부여되는 메모리 어드레스에 따라서 화소 데이터를 판독하여 상기 모션 벡터 검출수단에 공급하는 원 탐색 범위 기억수단과,Original search range storage means for storing pixel data of the original search range and reading pixel data in accordance with a given memory address and supplying the pixel data to the motion vector detecting means; 탐색범위의 수평방향의 화소 폭인 제 1 탐색 폭 및 수직방향의 화소 폭인 제 2 탐색 폭과, 상기 탐색범위의 원 탐색 범위에 대한 상대위치를 나타내는 오프셋 값을 생성하는 제어수단과,Control means for generating a first search width that is a pixel width in the horizontal direction of the search range and a second search width that is a pixel width in the vertical direction, and an offset value indicating a relative position with respect to the original search range of the search range; 상기 제어수단에 의해서 생성된 제 1 및 제 2 탐색 폭과 오프셋 값에 기초하여 상기 원 탐색 범위 기억수단에 부여되는 메모리 어드레스를 생성하는 어드레스 생성수단을 구비한 것을 특징으로 하는 모션 벡터 검출장치.And address generation means for generating a memory address assigned to said original search range storage means on the basis of the first and second search widths and offset values generated by said control means. (정정)(correction) 제 1항에 있어서,The method of claim 1, 상기 모션 벡터 검출수단은,The motion vector detection means, 검출한 모션 벡터와, 이 모션 벡터에 대응하는 상관도 평가 값을 상기 제어수단에 공급하는 것이며,Supplying the detected motion vector and the correlation evaluation value corresponding to the motion vector to the control means, 상기 제어수단은,The control means, 상기 모션 벡터 검출수단으로부터 공급된 모션 벡터 및 상관도 평가 값에 기초하여 제 1 및 제 2 탐색 폭과 오프셋 값의 생성을 행하는 것인 것을 특징으로 하는 모션 벡터 검출장치.And generating a first and a second search width and an offset value based on the motion vector and the correlation evaluation value supplied from the motion vector detecting means. 제 2항에 있어서,The method of claim 2, 상기 제어수단은,The control means, 대상 프레임의 앞 프레임에서의 당해 부호화 대상 블록과 동일 위치 또는 그 근방의 블록을 범위설정 기준블록으로 하고, 상기 범위설정 기준블록에 대응하는 상관도 평가 값에 기초하여 탐색범위의 사이즈를 설정하는 것인 것을 특징으로 하는 모션 벡터 검출장치.Setting a size of a search range on the basis of a correlation evaluation value corresponding to the range setting reference block, with a range setting reference block having a block at or near the encoding target block in the frame preceding the target frame; Motion vector detection device, characterized in that. 제 2항에 있어서, The method of claim 2, 상기 제어수단은,The control means, 대상 프레임의 앞 프레임에서의 당해 부호화 대상 블록과 동일 위치 또는 그 근방의 블록을 범위설정 기준블록으로 하고, 상기 범위설정 기준블록에 대응하는 모션 벡터에 기초하여 탐색범위의 위치를 설정하는 것인 것을 특징으로 하는 모션 벡터 검출장치.The position of the search range is set based on the motion vector corresponding to the range setting reference block, and the block at the same position as or near the encoding target block in the frame before the target frame is set. Motion vector detection device characterized in that. 제 2항에 있어서,The method of claim 2, 상기 제어수단은,The control means, 대상 프레임의 앞 프레임에서의 당해 부호화 대상 블록과 동일 위치 또는 그 근방의 블록을 범위설정 기준블록으로 하고, 상기 범위설정 기준블록에 대응하는 상관도 평가 값이 나타내는 상관도가 상대적으로 낮을 때에는 원 탐색 범위를 탐색범위로서 설정하는 한편, 상대적으로 높을 때에는 탐색범위의 사이즈를 상기 원 탐색 범위보다 작게 설정하며, 그 탐색범위의 위치를 상기 범위설정 기준블록에 대응하는 모션 벡터를 기초로 하여 설정하는 것을 특징으로 하는 모션 벡터 검출장치.When the block at the same position as or near the encoding target block in the frame preceding the target frame is a range setting reference block, and the correlation degree indicated by the correlation evaluation value corresponding to the range setting reference block is relatively low, the original search is performed. While the range is set as the search range, when the size is relatively high, the size of the search range is set smaller than the original search range, and the position of the search range is set based on the motion vector corresponding to the range setting reference block. Motion vector detection device characterized in that. 제 1항에 있어서,The method of claim 1, 오프셋 값은 원 탐색 범위의 탐색 기점을 시작 단으로 하고, 탐색범위의 탐색기점을 종료 단으로 하는 벡터 성분인 것을 특징으로 하는 모션 벡터 검출장치.The offset vector is a motion vector detection device characterized in that it is a vector component whose starting point is the search starting point of the original search range and whose ending point is the search point. 제 1항에 있어서,The method of claim 1, 상기 어드레스 생성수단은,The address generating means, 클록을 계수하는 제 1 카운터와,A first counter for counting a clock, 상기 제 1 탐색 폭과 상기 제 1 카운터의 계수 값을 비교하여 일치했을 때, 상기 제 1 카운터의 계수 값을 리세트 하는 것과 함께 카운트 업 신호를 출력하는 비교기와,A comparator configured to reset the count value of the first counter and output a count up signal when the first search width and the count value of the first counter are matched to each other; 상기 카운트 업 신호를 계수하는 제 2 카운터와,A second counter for counting the count up signal; 상기 오프셋 값과 상기 제 1 및 제 2 카운터의 계수 값에 기초하여, 소정의 계산식에 따라 상기 원 탐색 범위 기억수단에 공급되는 메모리 어드레스를 생성하는 메모리 어드레스 변환부를 구비하는 것을 특징으로 하는 모션 벡터 검출장치.And a memory address conversion unit for generating a memory address supplied to the original search range storage unit according to a predetermined calculation formula based on the offset value and the coefficient values of the first and second counters. Device. 제 1항에 있어서,The method of claim 1, 상기 제어수단은,The control means, 제 1 및 제 2 탐색 폭과 오프셋 값에 부가하여 당해 탐색범위의 수평방향의 서브 샘플 정도를 나타내는 제 1 서브 샘플 수 및 수직방향의 서브 샘플 정도를 나타내는 제 2 서브 샘플 수를 생성하는 것이며,Generating a first subsample number indicating a horizontal subsample degree and a second subsample number indicating a vertical subsample degree in addition to the first and second search widths and an offset value, 상기 어드레스 생성수단은,The address generating means, 상기 원 탐색 범위 기억수단에 부여되는 메모리 어드레스의 생성을 상기 제어수단에 의해 생성된 제 1 및 제 2 탐색 폭, 제 1 및 제 2 서브 샘플수와 오프셋 값에 기초하여 행하는 것인 것을 특징으로 하는 모션 벡터 검출장치.Generation of a memory address assigned to the original search range storage means is performed based on the first and second search widths, the first and second subsample numbers generated by the control means, and an offset value. Motion vector detector. (정정)(correction) 부호화 대상 블록에 대하여 모션 벡터를 검출하는 방법으로서,A method of detecting a motion vector with respect to an encoding target block, 탐색 프레임에서의 소정의 영역 내에 상기 부호화 대상 블록과 유사한 부분이 있는지의 여부를 판정하는 제 1 단계와,A first step of determining whether there is a part similar to the encoding target block in a predetermined region of a search frame; 상기 제 1 단계에서 유사한 부분이 있다고 판정한 때, 탐색 프레임에 있어서, 이 유사한 부분을 포함하고, 또한, 상기 소정의 영역보다 작은 제 1 영역을 모션 벡터 검출을 위한 탐색범위로서 설정하는 제 2 단계와,A second step of setting, as a search range for motion vector detection, a first area including this similar part and smaller than the predetermined area in the search frame when it is determined that there is a similar part in the first step. Wow, 상기 제 1 단계에서 유사한 부분이 없다고 판정한 때, 상기 제 1 영역보다도 큰 영역을 모션 벡터 검출을 위한 탐색범위로서 설정하는 제 3 단계를 구비하는 것을 특징으로 하는 모션 벡터 검출방법.And a third step of setting an area larger than the first area as a search range for motion vector detection when it is determined that there is no similar portion in the first step. 제 9항에 있어서,The method of claim 9, 상기 제 1 단계는,The first step is, 대상 프레임의 앞 프레임에서의 당해 부호화 대상 블록과 동일 위치 또는 그 근방의 블록을 범위설정 기준블록으로 하고, 이 범위설정 기준블록에 대하여 검출한 모션 벡터에 대응하는 상관도 평가 값을 기초로 하여 상기 판정을 행하는 것이며,Based on the correlation evaluation value corresponding to the motion vector detected with respect to the motion vector detected with respect to this encoding object block in the frame before or similar to the said encoding object block in the frame, and the area | region set to the above, Is to make a judgment, 상기 제 2 단계는,The second step, 탐색범위의 위치를 상기 범위설정 기준블록에 대하여 검출한 모션 벡터를 기초로 하여 설정하는 것인 것을 특징으로 하는 모션 벡터 검출방법.And a position of a search range is set based on a motion vector detected with respect to the range setting reference block. 제 9항에 있어서,The method of claim 9, 상기 제 1 단계는,The first step is, 부호화 대상 블록의 일부를 적어도 포함하는 단위영역과, 탐색 프레임에서의 당해 부호화 대상 블록과 동일 위치의 근방에 설치한, 상기 단위영역과 동일한 사이즈의 복수의 비교영역에 대하여 소정의 화소연산을 각각 행하고, 이들 연산결과를 기초로 하여 상기 판정을 행하는 것이며,Predetermined pixel operations are performed on a unit region including at least part of an encoding target block and a plurality of comparison regions of the same size as the unit region provided in the vicinity of the same position as the encoding target block in the search frame. The above determination is made based on these calculation results. 상기 제 2 단계는,The second step, 상기 소정의 화소연산의 연산결과로부터 상기 복수의 비교영역 중 상기 단위영역과 가장 유사한 것을 구하고, 이 비교영역의 위치를 기초로 하여 탐색범위의 위치를 설정하는 것인 것을 특징으로 하는 모션 벡터 검출방법.Obtaining the most similar to the unit region among the plurality of comparison regions from the operation result of the predetermined pixel operation, and setting the position of the search range based on the position of the comparison region. . 모션 벡터 검출을 위한 탐색범위를 설정하는 단계와,Setting a search range for motion vector detection; 부호화 대상 블록에 대하여 상기 탐색범위내의 후보 블록과의 상관도를 기초로 하여 모션 벡터를 검출하는 단계를 구비하며,Detecting a motion vector with respect to an encoding target block based on a correlation with a candidate block in the search range, 상기 탐색범위 설정단계는,The search range setting step, 대상 프레임의 앞 프레임에서의 당해 부호화 대상 블록과 동일 위치 또는 그 근방의 블록을 범위설정 기준블록으로 하고, 이 범위설정 기준블록에 대하여 검출한 모션 벡터에 대응하는 상관도 평가 값을 기초로 하여 탐색범위의 사이즈를 설정하는 것인 것을 특징으로 하는 모션 벡터 검출방법.Search based on the correlation evaluation value corresponding to the motion vector detected with respect to the motion vector detected with respect to this range setting reference block which makes the block which is the same position or the vicinity of this encoding object block in the frame before the target frame. A motion vector detection method, characterized in that the size of the range is set. 모션 벡터 검출을 위한 탐색범위를 설정하는 단계와,Setting a search range for motion vector detection; 부호화 대상 블록에 대하여 상기 탐색범위내의 후보 블록과의 상관도를 기초로 하여 모션 벡터를 검출하는 단계를 구비하며,Detecting a motion vector with respect to an encoding target block based on a correlation with a candidate block in the search range, 상기 탐색범위 설정단계는,The search range setting step, 대상 프레임의 앞 프레임에서의 당해 부호화 대상 블록과 동일 위치 또는 그 근방의 블록을 범위설정 기준블록으로 하고, 이 범위설정 기준블록에 대하여 검출한 모션 벡터를 기초로 하여 탐색범위의 위치를 설정하는 것인 것을 특징으로 하는 모션 벡터 검출방법.Setting a position of a search range on the basis of a motion vector detected with respect to the range-referenced block as a range-setting reference block with a block at or near the encoding target block in the frame preceding the target frame. Motion vector detection method characterized in that.
KR10-1998-0032213A 1997-08-07 1998-08-07 Device and method for motion vector detection KR100516711B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP???9-212826 1997-08-07
JP212826 1997-08-07

Publications (2)

Publication Number Publication Date
KR19990023458A KR19990023458A (en) 1999-03-25
KR100516711B1 true KR100516711B1 (en) 2005-11-25

Family

ID=65899344

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1998-0032213A KR100516711B1 (en) 1997-08-07 1998-08-07 Device and method for motion vector detection

Country Status (1)

Country Link
KR (1) KR100516711B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102005549B1 (en) * 2018-08-09 2019-07-30 주식회사 센스톤 System, method and program for providing financial transaction by virtual code, vritual code generator and vritual code verification device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04298184A (en) * 1991-03-27 1992-10-21 Oki Electric Ind Co Ltd Motion vector detector
KR950005043A (en) * 1993-07-29 1995-02-18 김광호 Moving picture motion detection device
JPH07274178A (en) * 1994-03-31 1995-10-20 Sony Corp Motion vector detector
KR100219005B1 (en) * 1993-02-22 1999-09-01 모리시타 요이찌 Image encoding method and apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04298184A (en) * 1991-03-27 1992-10-21 Oki Electric Ind Co Ltd Motion vector detector
KR100219005B1 (en) * 1993-02-22 1999-09-01 모리시타 요이찌 Image encoding method and apparatus
KR950005043A (en) * 1993-07-29 1995-02-18 김광호 Moving picture motion detection device
KR100234237B1 (en) * 1993-07-29 1999-12-15 윤종용 Moving picture motion detecting apparatus
JPH07274178A (en) * 1994-03-31 1995-10-20 Sony Corp Motion vector detector

Also Published As

Publication number Publication date
KR19990023458A (en) 1999-03-25

Similar Documents

Publication Publication Date Title
US6289050B1 (en) Device and method for motion vector detection
KR100534207B1 (en) Device and method for motion estimating of video coder
KR100840133B1 (en) Motion estimator for reduced halos in MC up-conversion
JP3089165B2 (en) Motion vector search device
JP2010288110A (en) Image processing apparatus and method
KR100727795B1 (en) Motion estimation
US20100027900A1 (en) Motion vector detecting apparatus, motion vector detecting method, and program
US20050180506A1 (en) Unit for and method of estimating a current motion vector
US20050105620A1 (en) Motion vector detecting device and motion vector detecting program
JP3276073B2 (en) Motion vector detection device and motion vector detection method
KR100516711B1 (en) Device and method for motion vector detection
JP2006215655A (en) Method, apparatus, program and program storage medium for detecting motion vector
JP3175914B2 (en) Image encoding method and image encoding device
JPH05236452A (en) Method and device for detection motion vector
JP4250598B2 (en) Motion compensation IP conversion processing apparatus and motion compensation IP conversion processing method
JPH0478286A (en) Detection method for moving vector using initial deviation vector
JPH0262178A (en) Motion detection system for picture processor
JP2000165883A (en) Motion vector detector
KR20010034374A (en) Device and method for detecting moving vector
JPH0614316A (en) Motion vector detector
JP4241021B2 (en) Motion vector detection method, motion vector detection device, and image encoding device
JP2001285873A (en) Circuit and method for detecting movement vector
JP2743763B2 (en) Motion estimation method for moving images
JP3397486B2 (en) MOTION VECTOR MOTION VECTOR DETECTION METHOD AND MOTION VECTOR DETECTION CIRCUIT
Amer et al. Real-time motion estimation by object-matching for high-level video representation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090824

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee