KR100608048B1 - Apparatus for correcting motion vector error and method therefor, and recording medium for recording programs for realizing the same - Google Patents

Apparatus for correcting motion vector error and method therefor, and recording medium for recording programs for realizing the same Download PDF

Info

Publication number
KR100608048B1
KR100608048B1 KR1020030049135A KR20030049135A KR100608048B1 KR 100608048 B1 KR100608048 B1 KR 100608048B1 KR 1020030049135 A KR1020030049135 A KR 1020030049135A KR 20030049135 A KR20030049135 A KR 20030049135A KR 100608048 B1 KR100608048 B1 KR 100608048B1
Authority
KR
South Korea
Prior art keywords
motion vector
current block
block
pattern
neighboring blocks
Prior art date
Application number
KR1020030049135A
Other languages
Korean (ko)
Other versions
KR20050009844A (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 KR1020030049135A priority Critical patent/KR100608048B1/en
Publication of KR20050009844A publication Critical patent/KR20050009844A/en
Application granted granted Critical
Publication of KR100608048B1 publication Critical patent/KR100608048B1/en

Links

Images

Classifications

    • 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/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Abstract

주변 블록들의 움직임 정보 및 패턴 정보를 이용한 현재 블록의 움직임 벡터 정정 방법 및 그 장치와, 이를 구현하기 위한 프로그램이 기록된 컴퓨터로 판독가능한 기록 매체가 개시되어 있다. 본 발명은 움직임 벡터 정정 방법에 있어서, (a) 현재 블록이 패턴 형태를 가지는지 여부를 결정하는 단계와; (b) 상기 (a) 단계에서의 결정에 따라 상기 현재 블록의 주변 블록의 움직임 벡터에 기초하여 상기 현재 블록의 움직임 벡터를 정정하는 단계를 포함한다. 본 발명에 따른 움직임 벡터 정정 방법에 따르면, 주변 블록의 움직임 벡터를 이용한 현재 처리되는 블록의 움직임 벡터에 대한 오류 정정시, 현재 처리되는 블록의 패턴 유무를 고려함으로써, 보다 자연스러운 움직임 벡터 필드를 구성하는 것이 가능하다.Disclosed are a method and apparatus for correcting a motion vector of a current block using motion information and pattern information of neighboring blocks, and a computer-readable recording medium having recorded thereon a program for implementing the same. The present invention provides a method of correcting a motion vector, comprising: (a) determining whether a current block has a pattern shape; (b) correcting the motion vector of the current block based on the motion vector of the neighboring block of the current block according to the determination in step (a). According to the motion vector correction method according to the present invention, when the error correction of the motion vector of the currently processed block using the motion vector of the neighboring block, by considering the presence or absence of the pattern of the currently processed block, to configure a more natural motion vector field It is possible.

Description

움직임 벡터 오류 정정 방법 및 그 장치와 이를 구현하기 위한 프로그램이 기록된 기록 매체{Apparatus for correcting motion vector error and method therefor, and recording medium for recording programs for realizing the same}Apparatus for correcting motion vector error and method therefor, and recording medium for recording programs for realizing the same}

도 1(a)(b)(c)은 움직임 추정 오류를 도시하는 도면이다.1 (a) (b) (c) are diagrams showing a motion estimation error.

도 2는 단방향 움직임 추정 방식에서 현재 블록의 움직임 벡터와 현재 블록의 후보 벡터로 이용하게 될 주변 블록의 움직임 벡터를 도시하는 블록도이다.FIG. 2 is a block diagram illustrating a motion vector of a current block and a motion vector of a neighboring block to be used as candidate vectors of the current block in the unidirectional motion estimation method.

도 3은 움직임 벡터 오류 정정을 위해 사용되는 가중치 생성 방법을 설명하기 위한 도면이다.3 is a diagram for describing a weight generation method used for motion vector error correction.

도 4는 본 발명의 일 실시예에 따른 움직임 벡터 평탄화 장치를 도시하는 블록도이다.4 is a block diagram illustrating a motion vector flattening apparatus according to an embodiment of the present invention.

도 5는 도 4에 도시된 움직임 벡터 평탄화 장치에서 수행되는 움직임 벡터 평탄화 방법을 설명하기 위한 플로우 차트이다.FIG. 5 is a flowchart for describing a motion vector planarization method performed in the motion vector planarizer shown in FIG. 4.

본 발명은 움직임 벡터 정정 방법 및 그 장치와, 이를 구현하기 위한 프로그램이 기록된 기록 매체에 관한 것으로서, 특히 입력 영상의 특성 및 현재 블록의 주변 블록들을 고려하여 적응적으로 움직임 벡터 정정을 수행하는 방법에 관한 것이다.The present invention relates to a method and apparatus for correcting a motion vector, and a recording medium on which a program for implementing the same is recorded. Particularly, a method for adaptively performing motion vector correction in consideration of characteristics of an input image and neighboring blocks of a current block. It is about.

일반적으로, 동영상 압축을 위해 사용되는 방법으로서, N×M 블록 단위로 이전 영상과 현재 영상을 비교하여 이전 영상 블록으로부터 현재 영상 블록이 얼마나 이동되었는지를 추정하여 움직임 만큼의 좌표의 내용과 현재 영상의 차 성분을 구하여 전송하는 방법을 사용하고 있다. 이 경우, 차 성분만을 전송하기 때문에, 영상 압축 효율이 크게 증대된다.In general, a method used for compressing a video, by comparing the previous video and the current video in units of N × M blocks, estimating how much the current video block is moved from the previous video block, and calculating the coordinates of the current video and the current video. The method of obtaining and transmitting the difference component is used. In this case, since only the difference component is transmitted, the video compression efficiency is greatly increased.

이러한 동영상 압축 방법에서 움직임 추정이 적절히 이루어진 경우에는 압축 효율이 증대되는 효과가 있지만, 추정된 현재 블록의 움직임 벡터가 주변 블록의 움직임 벡터와 차이가 크다면 추정된 현재 블록의 움직임 벡터는 움직임 모델과 부합하지 않거나, 노이즈 또는 배경 부분과 움직이는 물체의 방향이 엇갈리는 폐색(occlusion) 영역일 가능성이 높다. 따라서, 이러한 경우, 추정된 움직임 벡터를 그대로 사용할 경우, 움직임 보상부에서는 블록 아티펙트(block artifact)가 발생하게 된다. 이를 제거하기 위해, 추정된 움직임 벡터 필드에서 미디안 필터(median filter)와 같은 비선형(nonlinear) 필터링이 적용될 수 있지만, 여전히 폐색 영역에서는 움직임 벡터 필드가 평탄하게 보상되지 않는 문제점이 있었다.When the motion estimation is properly performed in such a video compression method, the compression efficiency is increased. However, if the motion vector of the estimated current block has a large difference from the motion vector of the neighboring block, the estimated motion vector of the current block is compared with the motion model. It is likely that the area does not match or is an occlusion area in which the direction of the moving object and noise or background parts are staggered. Therefore, in this case, when the estimated motion vector is used as it is, a block artifact occurs in the motion compensator. To remove this, nonlinear filtering such as a median filter may be applied to the estimated motion vector field, but there is still a problem that the motion vector field is not compensated evenly in the occlusion region.

본 발명이 이루고자하는 기술적 과제는 주변 블록의 움직임 벡터 및 영상 특성을 고려하여 적응적으로 해당 블록의 움직임 벡터를 정정함으로써, 각 블록의 움직임 벡터의 정정 효율을 향상시키기 위한 움직임 벡터 오류 정정 방법 및 그 장치 와, 이를 구현하기 위한 프로그램이 기록된 기록 매체를 제공하기 위한 것이다.SUMMARY OF THE INVENTION The present invention provides a motion vector error correction method for improving the correction efficiency of a motion vector of each block by adaptively correcting a motion vector of a block in consideration of motion vectors and image characteristics of neighboring blocks. An apparatus and a recording medium having recorded thereon a program for implementing the same are provided.

상기 기술적 과제는, 움직임 벡터 정정 방법에 있어서, (a) 현재 블록이 패턴 형태를 가지는지 여부를 결정하는 단계와; (b) 상기 (a) 단계에서의 결정에 따라 상기 현재 블록의 주변 블록의 움직임 벡터에 기초하여 상기 현재 블록의 움직임 벡터를 정정하는 단계를 포함하는 방법에 의해 달성된다.The technical problem comprises the steps of: (a) determining whether a current block has a pattern form; and (b) correcting the motion vector of the current block based on the motion vector of the neighboring block of the current block according to the determination in step (a).

또한, 상기 기술적 과제는 움직임 벡터 정정 장치에 있어서, 현재 블록이 패턴 형태를 가지는지 여부를 검출하는 패턴 검출부와; 상기 패턴 검출부에서의 검출 결과에 따라 상기 현재 블록의 주변 블록의 움직임 벡터에 기초하여 상기 현재 블록의 움직임 벡터를 정정하는 움직임 벡터 정정부를 포함하는 장치에 의해 달성된다.In addition, the technical problem is an apparatus for correcting a motion vector, comprising: a pattern detector for detecting whether a current block has a pattern shape; And a motion vector correcting unit for correcting the motion vector of the current block based on the motion vector of the neighboring block of the current block according to the detection result of the pattern detecting unit.

또한, 상기 기술적 과제는 (a) 현재 블록이 패턴 형태를 가지는지 여부를 결정하는 단계와; (b) 상기 (a) 단계에서의 결정에 따라 상기 현재 블록의 주변 블록의 움직임 벡터에 기초하여 상기 현재 블록의 움직임 벡터를 정정하는 단계를 포함하는 것을 특징으로 하는 움직임 벡터 정정 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 의해 달성된다.In addition, the technical problem is (a) determining whether the current block has a pattern form; (b) correcting the motion vector of the current block based on the motion vector of the neighboring block of the current block according to the determination in step (a). A computer readable recording medium having recorded a program is achieved.

도 1 (a) (b) (c)는 노이즈 및 움직임 폐색 등과 같은 영향에 의해 발생한 움직임 추정 오류를 도시하는 도면이다. 도 1(a)는 움직임 벡터 추정의 대상이 되는 움직이는 물체를 도시하는 도면이다. 도 1(b)는 실제 움직임 벡터 필드를 도시하는 도면이다. 도 1(c)는 추정된 움직임 벡터 필드를 도시하는 도면이다.1 (a), (b) and (c) are diagrams showing a motion estimation error caused by influences such as noise and motion occlusion. Fig. 1A is a diagram showing a moving object that is the object of motion vector estimation. 1B is a diagram illustrating an actual motion vector field. 1 (c) is a diagram illustrating an estimated motion vector field.

움직임 추정 및 보상 기법을 이용한 동영상 압축 방식에서 움직임 추정이 부정확한 경우 도 1(c)에서와 같은 움직임 추정 오류가 발생하며, 이는 복호화단에서의 움직임 보상시 블록 아티팩트를 초래한다.If the motion estimation is inaccurate in the video compression method using the motion estimation and compensation technique, a motion estimation error as shown in FIG. 1 (c) occurs, which causes block artifacts in motion compensation at the decoding end.

이러한 문제점을 해결하기 위해, 본 발명에서는 우선 움직임 보상에서 현재 블록과 주변 블록들의 움직임 벡터 필드의 평탄성(smoothness)을 고려한다. 즉, 현재 블록의 움직임 벡터와 주변 블록의 움직임 벡터 필드가 평탄하다는 가정하에서, 입력 영상의 특성을 고려하여 오류가 발생한 현재 블록의 움직임 벡터를 평탄한 움직임 벡터로 대체한다. In order to solve this problem, the present invention first considers the smoothness of the motion vector field of the current block and neighboring blocks in motion compensation. That is, assuming that the motion vector of the current block and the motion vector field of the neighboring block are flat, the motion vector of the current block in which the error occurs is replaced with the flat motion vector in consideration of the characteristics of the input image.

도 2는 단방향 움직임 추정 방식에서 현재 블록의 움직임 벡터와 현재 블록의 후보 벡터로 이용하게될 주변 블록의 움직임 벡터를 도시한다. 블록간의 움직임이 평탄하고, 입력 영상이 패턴을 가지지 않는 경우에는, 현재 블록의 움직임 벡터 추정에 오류가 있는 경우, 추정이 잘된 주변 블록의 움직임 벡터가 현재 블록의 움직임 벡터로 대체될 수 있다. 2 illustrates a motion vector of a current block and a motion vector of a neighboring block to be used as candidate vectors of the current block in a unidirectional motion estimation method. When the motion between the blocks is flat and the input image does not have a pattern, when there is an error in the motion vector estimation of the current block, the motion vector of the neighboring block with a good estimation may be replaced with the motion vector of the current block.

도 3은 본 발명에 따른 움직임 벡터 오류 정정을 위해 사용되는 가중치 생성 방법을 설명하기 위한 도면이다.3 is a view for explaining a weight generation method used for motion vector error correction according to the present invention.

우선, 현재 처리 블록 5의 새로운 움직임 벡터를 구하기 위해, 블록 1 내지 9까지의 움직임 벡터와 각 블록의 움직임 벡터에 따른 화소간의 차이값(sum of absolute difference: SAD)과, 제로 벡터(zero vector), 즉 현재 처리 블록의 움직임 벡터를 계산 및 검출한다.First, in order to obtain a new motion vector of the current processing block 5, the sum of absolute difference (SAD) and the zero vector according to the motion vectors of blocks 1 to 9 and the motion vectors of each block are obtained. That is, the motion vector of the current processing block is calculated and detected.

화소간의 차이값은 아래 수학식 1에 의해 계산된다. The difference value between pixels is calculated by Equation 1 below.

Figure 112003026169269-pat00001
Figure 112003026169269-pat00001

여기에서, r(m,n)은 기준 블록 (현재 처리 블록)의 데이터를 나타내며, s(m+i,n+j)는 후보 블록 (이전 영상의 탐색 영역내의 블록)의 데이터를 나타낸다. 이때, 기준 블록의 움직임 벡터는 탐색 영역 내의 가능한 모든 후보 블록의 움직임 벡터 중에서 SAD 값이 가장 작은 블록의 움직임 벡터가 된다.Here, r (m, n) represents data of a reference block (current processing block), and s (m + i, n + j) represents data of a candidate block (block in a search region of a previous image). In this case, the motion vector of the reference block is the motion vector of the block having the smallest SAD value among the motion vectors of all possible candidate blocks in the search region.

움직임 벡터 오류 정정을 위해 사용되는 가중치는 아래 수학식 2에 따라 계산된다.The weight used for motion vector error correction is calculated according to Equation 2 below.

Figure 112003026169269-pat00002
Figure 112003026169269-pat00002

여기에서, 는 각 블록들의 가중치, 는 각 블록들의 움직임 벡터, 는 각 블록들의 SAD를 의미한다.Here, denotes a weight of each block, denotes a motion vector of each block, denotes SAD of each block.

수학식 2에 따르면, 각 블록들에 대한 가중치 값은 SAD 값에 따라 결정되며, 역수의 관계가 있다. SAD 값이 작아서 추정이 잘 된 것은 가중치 값이 커지며, SAD 값이 커서 추정이 부정확한 경우에는 가중치 값이 작아진다.According to Equation 2, the weight value for each block is determined according to the SAD value, and there is an inverse relationship. The smaller the SAD value, the better the estimate is, the larger the weight value is. If the SAD value is large and the estimation is incorrect, the weight value is small.

또한, 현재 처리 블록에 대한 새로운 움직임 벡터를 결정하기 위한 가중치(weight)는 여러 개의 후보 벡터, 예를 들어 주변 블록들의 벡터에 수학식 2에서 계산된 가중치를 부가하여 계산한다. 본 실시예에서는, 기준 블록의 새로운 움직임 벡터는 아래 수학식 3에 따라 계산된다.In addition, a weight for determining a new motion vector for the current processing block is calculated by adding weights calculated in Equation 2 to a plurality of candidate vectors, for example, vectors of neighboring blocks. In this embodiment, the new motion vector of the reference block is calculated according to Equation 3 below.

Figure 112003026169269-pat00003
Figure 112003026169269-pat00003

는 현재 처리 블록에 대한 새로운 움직임 벡터를 의미한다.Denotes a new motion vector for the current processing block.

도 4는 본 발명의 일 실시예에 따른 움직임 벡터 평탄화 장치(400)를 도시하는 도면이다.4 is a diagram illustrating a motion vector flattening apparatus 400 according to an embodiment of the present invention.

본 발명에 따른 움직임 벡터 평탄화 장치(400)는 블록별 가중치 계산부(420), 패턴 검출부(440), 및 움직임 벡터 정정부(460)를 포함한다.The motion vector planarization apparatus 400 according to the present invention includes a block weight calculator 420, a pattern detector 440, and a motion vector corrector 460.

블록별 가중치 계산부(420)는 입력된 블록별 움직임 벡터 및 SAD 정보에 기초하여 수학식 2에 따라 블록별 가중치를 계산하고, 계산된 블록별 가중치를 움직임 벡터 정정부(460)로 출력한다.The block weight calculator 420 calculates the block weights according to Equation 2 based on the input block motion vector and the SAD information, and outputs the calculated block weights to the motion vector corrector 460.

패턴 검출부(440)는 입력 영상 데이터에 기초하여 현재 처리 블록내의 데이터가 패턴의 형태를 가지는지 여부를 결정한다. 본 실시예에서는, 현재 처리 블록을 기준으로 주변 블록들의 패턴 유무를 카운트하여, 패턴을 갖는 블록의 수에 따라 현재 처리 블록내의 데이터가 패턴의 형태를 갖는지 여부를 결정한다. The pattern detector 440 determines whether the data in the current processing block has the form of a pattern based on the input image data. In this embodiment, the presence or absence of the pattern of neighboring blocks is counted based on the current processing block, and it is determined whether or not the data in the current processing block has the form of the pattern according to the number of blocks having the pattern.

예를 들어, 도 3에 도시된 바와 같이, 5번 블록이 현재 처리 블록인 경우, 1, 2, 3, . . ., 9의 9개의 블록들 중 몇 개의 블록이 패턴 형태를 갖는지를 카운트하여, 카운트된 수가, 소정의 패턴_임계값을 초과하는 경우, 현재 처리 블록은 패턴을 갖는 것으로 결정한다.For example, as shown in Fig. 3, when block 5 is the current processing block, 1, 2, 3,. . , Counts how many of the nine blocks of nine have a pattern form, and if the counted number exceeds a predetermined pattern_threshold, the current processing block determines that it has a pattern.

이와 같이, 현재 처리 블록이 패턴을 갖는지 여부를 고려함으로써, 격자 무늬 또는 패턴 등에서 움직임 벡터에 오류가 발생하는 경우, 블록별 가중치 계산부(420)에서 계산된 가중치를 사용하여 움직임 벡터를 정정할 때 오류 정정 기능이 저하되는 문제가 발생하는 것을 방지할 수 있게 된다. As such, when an error occurs in the motion vector in the grid or the pattern by considering whether the current processing block has a pattern, when the motion vector is corrected using the weight calculated by the block weight calculator 420. The problem that the error correction function is degraded can be prevented from occurring.

상기 패턴_임계값은 초기에 설정되거나 또는 사용자에 의해 외부로부터 입력될 수 있다.The pattern threshold value may be initially set or input by an external user.

패턴 검출부(440)에서 생성된 현재 처리 블록의 패턴 유무에 관한 정보는 움직임 벡터 정정부(460)로 입력된다.The information on the presence or absence of the pattern of the current processing block generated by the pattern detector 440 is input to the motion vector corrector 460.

움직임 벡터 정정부(460)에서는 블록별 가중치 계산부(420)에서 입력된 블록별 가중치 정보와 패턴 검출부(440)에서 입력된 현재 처리 블록의 패턴 유무에 관한 정보를 이용하여 현재 처리 블록의 움직임 벡터를 정정한다.The motion vector corrector 460 uses the block weight information input by the block weight calculator 420 and information about the presence or absence of a pattern of the current process block input by the pattern detector 440 to determine the motion vector of the current process block. Correct it.

즉, 현재 처리 블록의 패턴이 있는 경우, 현재 처리 블록의 움직임 벡터에 대한 정정 없이, 현재 처리 블록의 움직임 벡터를 그대로 출력한다.That is, when there is a pattern of the current processing block, the motion vector of the current processing block is output as it is without correction for the motion vector of the current processing block.

또한, 현재 처리 블록의 패턴이 있는 경우에는, 수학식 3에 따라 새로운 움직임 벡터를 생성하여, 생성된 새로운 움직임 벡터를 현재 처리 블록의 움직임 벡터로서 출력한다.If there is a pattern of the current processing block, a new motion vector is generated according to Equation 3, and the generated new motion vector is output as a motion vector of the current processing block.

도 5는 도 4에 도시된 움직임 벡터 평탄화 장치에서 수행되는 움직임 벡터 평탄화 방법을 설명하기 위한 플로우 차트이다.FIG. 5 is a flowchart for describing a motion vector planarization method performed in the motion vector planarizer shown in FIG. 4.

단계 520에서는 입력 영상 데이터에 기초하여 현재 처리 블록내의 데이터가 패턴의 형태를 가지는지 여부를 결정한다. 본 실시예에서는, 현재 처리 블록을 기 준으로 주변 블록들의 패턴 유무를 카운트하여, 패턴을 갖는 블록의 수에 따라 현재 처리 블록내의 데이터가 패턴의 형태를 갖는지 여부를 결정한다. In operation 520, it is determined whether the data in the current processing block has the form of a pattern based on the input image data. In the present embodiment, the presence or absence of a pattern of neighboring blocks is counted based on the current processing block, and it is determined whether or not data in the current processing block has a pattern form according to the number of blocks having a pattern.

현재 처리 블록이 패턴 형태를 가지는 것으로 결정된 경우, 단계 560으로 진행하고, 현재 처리 블록이 패턴 형태를 가지지 않는 것으로 결정된 경우에는 단계 580으로 진행한다. If it is determined that the current processing block has a pattern form, the process proceeds to step 560. If it is determined that the current processing block does not have a pattern form, the process proceeds to step 580.

단계 540에서는 입력된 블록별 움직임 벡터 및 SAD 정보에 기초하여 수학식 2에 따라 블록별 가중치를 계산한다.In operation 540, the weight of each block is calculated according to Equation 2 based on the input motion vector of each block and the SAD information.

단계 560에서는 입력된 블록별 가중치 정보에 기초하여 수학식 3에 따라 새로운 움직임 벡터를 생성하여, 생성된 새로운 움직임 벡터를 출력한다.In operation 560, a new motion vector is generated according to Equation 3 based on the input weight information for each block, and the generated new motion vector is output.

단계 580에서는 현재 처리 블록의 움직임 벡터에 대한 정정 없이, 현재 처리 블록의 움직임 벡터를 그대로 출력한다.In operation 580, the motion vector of the current processing block is output as it is without correction for the motion vector of the current processing block.

본 발명은 상술한 실시예에 한정되지 않으며, 본 발명의 사상내에서 당업자에 의한 변형이 가능함은 물론이다.  The present invention is not limited to the above-described embodiment, and of course, modifications may be made by those skilled in the art within the spirit of the present invention.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드디스크, 플로피디스크, 플래쉬 메모리, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산 되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로서 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, hard disk, floppy disk, flash memory, optical data storage device, and also carrier waves (for example, transmission over the Internet). It also includes the implementation in the form of. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

상술한 바와 같이 본 발명에 의하면, 주변 블록의 움직임 벡터를 이용한 현재 처리되는 블록의 움직임 벡터에 대한 오류 정정시, 현재 처리되는 블록의 패턴 유무를 고려함으로써, 오류 정정 기능의 저하없이 평탄하면서도 보다 자연스러운 움직임 벡터 필드를 구성하는 것이 가능하다는 효과가 있다.As described above, according to the present invention, when the error correction of the motion vector of the currently processed block using the motion vector of the neighboring block, considering the presence or absence of the pattern of the currently processed block, a flat and more natural without deterioration of the error correction function The effect is that it is possible to construct a motion vector field.

Claims (15)

움직임 벡터 정정 방법에 있어서,In the motion vector correction method, (a) 현재 블록에 인접한 주변 블록들 중, 패턴 형태를 갖는 주변 블록들의 수에 기초하여, 상기 현재 블록이 패턴 형태를 가지는지 여부를 결정하는 단계와;(a) determining whether the current block has a pattern form based on the number of neighboring blocks having a pattern form among neighboring blocks adjacent to the current block; (b) 상기 현재 블록이 패턴 형태를 가지지 않는 것으로 결정된 경우, 상기 현재 블록의 주변 블록의 움직임 벡터에 기초하여 상기 현재 블록의 움직임 벡터를 정정하고, 상기 현재 블록이 패턴 형태를 가지는 것으로 결정된 경우, 상기 현재 블록의 움직임 벡터에 대한 정정을 수행하지 않는 단계를 포함하는 것을 특징으로 하는 움직임 벡터 정정 방법.(b) if it is determined that the current block does not have a pattern shape, and corrects the motion vector of the current block based on a motion vector of a neighboring block of the current block, and determines that the current block has a pattern shape, And not performing correction on the motion vector of the current block. 삭제delete 삭제delete 삭제delete 제1항에 있어서, The method of claim 1, 상기 (b) 단계는 (b1) 상기 현재 블록 및 주변 블록들 각각의 움직임 벡터와 SAD 값에 기초하여 가중치를 계산하는 단계와, (b2) 상기 계산된 가중치에 기초하여 상기 현재 블록에 대한 새로운 움직임 벡터를 생성하는 단계를 더 포함하는 것을 특징으로 하는 움직임 벡터 정정 방법.The step (b) includes (b1) calculating a weight based on the motion vector and the SAD value of each of the current block and the neighboring blocks, and (b2) a new motion for the current block based on the calculated weight. Further comprising generating a vector. 움직임 벡터 정정 장치에 있어서,In the motion vector correction device, 현재 블록에 인접한 주변 블록들 중, 패턴 형태를 갖는 주변 블록의 수에 기초하여, 상기 현재 블록이 패턴 형태를 가지는지 여부를 검출하는 패턴 검출부와;A pattern detector for detecting whether the current block has a pattern shape based on the number of neighboring blocks having a pattern shape among neighboring blocks adjacent to the current block; 상기 패턴 검출부에서 상기 현재 블록이 패턴 형태를 가지지 않는 것으로 결정된 경우, 상기 현재 블록의 주변 블록의 움직임 벡터에 기초하여 상기 현재 블록의 움직임 벡터를 정정하고, 상기 패턴 검출부에서 현재 블록이 패턴 형태를 가지는 것으로 결정한 경우, 상기 현재 블록의 움직임 벡터에 대한 정정을 수행하지 않는 움직임 벡터 정정부를 포함하는 것을 특징으로 하는 움직임 벡터 정정 장치,If it is determined that the current block does not have a pattern shape by the pattern detector, the motion vector of the current block is corrected based on the motion vector of a neighboring block of the current block, and the current block has a pattern shape by the pattern detector. And a motion vector correcting unit that does not perform correction on the motion vector of the current block. 삭제delete 삭제delete 삭제delete 제6항에 있어서, The method of claim 6, 상기 현재 블록 및 주변 블록들 각각의 움직임 벡터와 SAD 값에 기초하여 가중치를 계산하는 블록별 가중치 계산부를 더 포함하며,The apparatus may further include a block weight calculator for calculating weights based on the motion vector and the SAD value of each of the current block and neighboring blocks. 상기 움직임 벡터 정정부는 상기 계산된 가중치에 기초하여 상기 현재 블록에 대한 새로운 움직임 벡터를 생성하는 것을 특징으로 하는 움직임 벡터 정정 장치.And the motion vector corrector generates a new motion vector for the current block based on the calculated weight. (a) 현재 블록에 인접한 주변 블록들 중, 패턴 형태를 갖는 주변 블록들의 수에 기초하여, 현재 블록이 패턴 형태를 가지는지 여부를 결정하는 단계와;(a) determining whether the current block has a pattern form based on the number of neighboring blocks having a pattern form among neighboring blocks adjacent to the current block; (b) 상기 현재 블록이 패턴 형태를 가지지 않는 것으로 결정된 경우, 상기 현재 블록의 주변 블록의 움직임 벡터에 기초하여 상기 현재 블록의 움직임 벡터를 정정하고, 상기 현재 블록이 패턴 형태를 가지는 것으로 결정된 경우, 상기 현재 블록의 움직임 벡터에 대한 정정을 수행하지 않는 단계를 포함하는 것을 특징으로 하는 움직임 벡터 정정 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.(b) if it is determined that the current block does not have a pattern shape, and corrects the motion vector of the current block based on a motion vector of a neighboring block of the current block, and determines that the current block has a pattern shape, And a step of not performing a correction on the motion vector of the current block. 17. A computer-readable recording medium having recorded thereon a program for realizing a motion vector correction method. 삭제delete 삭제delete 삭제delete 제11항에 있어서, The method of claim 11, 상기 (b) 단계는 (b1) 상기 현재 블록 및 주변 블록들 각각의 움직임 벡터와 SAD 값에 기초하여 가중치를 계산하는 단계와, (b2) 상기 계산된 가중치에 기초하여 상기 현재 블록에 대한 새로운 움직임 벡터를 생성하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록 매체.The step (b) includes (b1) calculating a weight based on the motion vector and the SAD value of each of the current block and the neighboring blocks, and (b2) a new motion for the current block based on the calculated weight. And further comprising generating a vector.
KR1020030049135A 2003-07-18 2003-07-18 Apparatus for correcting motion vector error and method therefor, and recording medium for recording programs for realizing the same KR100608048B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030049135A KR100608048B1 (en) 2003-07-18 2003-07-18 Apparatus for correcting motion vector error and method therefor, and recording medium for recording programs for realizing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030049135A KR100608048B1 (en) 2003-07-18 2003-07-18 Apparatus for correcting motion vector error and method therefor, and recording medium for recording programs for realizing the same

Publications (2)

Publication Number Publication Date
KR20050009844A KR20050009844A (en) 2005-01-26
KR100608048B1 true KR100608048B1 (en) 2006-08-02

Family

ID=37222435

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030049135A KR100608048B1 (en) 2003-07-18 2003-07-18 Apparatus for correcting motion vector error and method therefor, and recording medium for recording programs for realizing the same

Country Status (1)

Country Link
KR (1) KR100608048B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101548269B1 (en) 2008-12-02 2015-08-31 삼성전자주식회사 Apparatus and method for estimating motion by block segmentation and combination

Also Published As

Publication number Publication date
KR20050009844A (en) 2005-01-26

Similar Documents

Publication Publication Date Title
US10404917B2 (en) One-pass video stabilization
US6809758B1 (en) Automated stabilization method for digital image sequences
US8064522B2 (en) Motion-vector detecting device, motion-vector detecting method, and computer program
KR101830804B1 (en) Digital image stabilization method with adaptive filtering
JP5281891B2 (en) Adaptive motion search range
US8184705B2 (en) Method and apparatus for motion compensated filtering of video signals
US8274602B2 (en) Image processing apparatus and image processing method with redundant frame detection
KR101217627B1 (en) Method and apparatus for estimating motion vector based on block
JP2007188493A (en) Method and apparatus for reducing motion blur in motion blur image, and method and apparatus for generating image with reduced motion blur by using a plurality of motion blur images each having its own blur parameter
US9036695B2 (en) Motion-compensated temporal filtering based on variable filter parameters
US20110188583A1 (en) Picture signal conversion system
KR100657261B1 (en) Method and apparatus for interpolating with adaptive motion compensation
JP2013059016A (en) Image processing device, method, and program
JP2008146643A (en) Method and device for reducing blur caused by movement in image blurred by movement, and computer-readable medium executing computer program for reducing blur caused by movement in image blurred by movement
EP2221763A1 (en) Image generation method, device, its program and recording medium stored with program
CN104995908A (en) Image processing device, image processing method, image processing program, and recording medium
US8189054B2 (en) Motion estimation method, device, and system for image processing
KR101033243B1 (en) Object tracking method and apparatus
JP6642570B2 (en) Image processing apparatus, image processing method, and image processing program
JP2002223374A (en) Device and method for removing noise
KR100608048B1 (en) Apparatus for correcting motion vector error and method therefor, and recording medium for recording programs for realizing the same
KR20080066486A (en) Apparatus and method for estimating motion vector
JPWO2009048112A1 (en) Moving picture decoder, moving picture decoding method, and moving picture decoding program
US20120328208A1 (en) Information processing apparatus, information processing method, program, and recording medium
JP2016201037A (en) Image processing device, image processing method, and program

Legal Events

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

Payment date: 20130627

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee