KR20050052756A - Moving estimation method - Google Patents

Moving estimation method Download PDF

Info

Publication number
KR20050052756A
KR20050052756A KR1020030086301A KR20030086301A KR20050052756A KR 20050052756 A KR20050052756 A KR 20050052756A KR 1020030086301 A KR1020030086301 A KR 1020030086301A KR 20030086301 A KR20030086301 A KR 20030086301A KR 20050052756 A KR20050052756 A KR 20050052756A
Authority
KR
South Korea
Prior art keywords
motion estimation
macroblock
value
sad
image
Prior art date
Application number
KR1020030086301A
Other languages
Korean (ko)
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 KR1020030086301A priority Critical patent/KR20050052756A/en
Publication of KR20050052756A publication Critical patent/KR20050052756A/en

Links

Classifications

    • 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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

동영상 부호화에 있어서 움직임 추정 방법이 개시된다.A motion estimation method is disclosed in video encoding.

본 발명의 움직임 추정 방법은 움직임 추정을 수행하기 전에 현재 영상 및 이전 재구성된 영상으로부터 산출된 SAD 값들을 소정의 임계치와 비교하고, 비교 결과에 따라 각 매크로블록별로 움직임 추정을 수행할지 여부를 판별한다. The motion estimation method of the present invention compares the SAD values calculated from the current image and the previously reconstructed image with a predetermined threshold before performing the motion estimation, and determines whether to perform the motion estimation for each macroblock according to the comparison result. .

따라서, 움직임 추정이 필요치 않은 매크로블록은 선별적으로 배제시켜 움직임 추정을 수행하지 않도록 함으로써, 모든 매크로블록에 대해 움직임 추정을 수행함에 따라 발생되는 계산량의 증가를 방지할 수 있으므로 움직임 추정의 수행속도를 현격하게 향상시킬 수 있다. Therefore, by selectively excluding macroblocks that do not require motion estimation to avoid motion estimation, it is possible to prevent an increase in the amount of computation generated by performing motion estimation for all macroblocks, thereby increasing the speed of motion estimation. You can improve significantly.

Description

움직임 추정 방법{Moving estimation method} Moving estimation method

본 발명은 영상 처리 시스템에 관한 것으로, 특히 동영상 부호화에 있어서 움직임 추정 방법에 관한 것이다.The present invention relates to an image processing system, and more particularly, to a motion estimation method in video encoding.

현재 고속 인터넷 망을 통한 멀티미디어 응용 서비스에 대한 관심 증대와 더불어 ADSL(Asymmetric Digital Subscriber Line : 비대칭 디지털 가입자 회선) 망을 이용한 동영상 서비스의 필요성이 증대되고 있다. In addition to increasing interest in multimedia application services through a high-speed Internet network, the need for video service using an Asymmetric Digital Subscriber Line (ADSL) network is increasing.

ADSL 망은 현재의 전화선을 그대로 사용하면서 고속 데이터 통신과 일반 전화를 통시에 이용할 수 있는 것이 특징이다. 따라서, ADSL 망은 통한 동영상 서비스를 위해서는 고속의 비디오 코덱(CODEC) 구현이 필수적이다.The ADSL network can be used for high-speed data communication and general telephone while still using the current telephone line. Therefore, high speed video codec implementation is essential for video service through ADSL network.

비디오 코덱은 MPEG-4 및 동영상 전화 시스템용 비디오 압축 표준인 ITU-T H.26x(H.263, H.263+. H.263++, H.26L) 등으로 구현 가능하며, 이러한 기법들은 모두 영상의 시간적 상관성을 이용하기 위해서 움직임 추정 방법을 이용하는데, 복잡도(complexity) 측면에서 전체 코덱 성능 즉, 초당 부호화 할 수 있는 프레임 수에 영향을 미치게 된다.Video codecs can be implemented with MPEG-4 and ITU-T H.26x (H.263, H.263 +. H.263 ++, H.26L), the video compression standard for video telephony systems. All use motion estimation to take advantage of the temporal correlation of the image, which affects the overall codec performance, that is, the number of frames that can be encoded per second in terms of complexity.

현재 대부분의 영상 부호화기는 프레임 부호화, 움직임 추정/보상 및 엔트로피 코딩(Entropy Coding)을 수행하도록 구현되었다.Currently, most image encoders are implemented to perform frame coding, motion estimation / compensation, and entropy coding.

도 1은 종래의 영상 부호화 장치의 블록도를 나타낸다.1 is a block diagram of a conventional video encoding apparatus.

도 1에 나타낸 바와 같이, 종래의 영상 부호화 장치는 감산기(101), 모드 스위치(102), DCT(Discrete Cosine Transform) 변환부(103), 양자화기(104), 엔트로피 코딩부(105), 역양자화기(106), IDCT(Inverse Discrete Cosine Transform) 변환부(107), 가산기(108), 영상 메모리(109), 움직임 추정부(110) 등을 구비하여 구성된다.As shown in FIG. 1, a conventional video encoding apparatus includes a subtractor 101, a mode switch 102, a discrete cosine transform (DCT) transform unit 103, a quantizer 104, an entropy coding unit 105, and an inverse. And a quantizer 106, an Inverse Discrete Cosine Transform (IDCT) transform unit 107, an adder 108, an image memory 109, a motion estimation unit 110, and the like.

프레임 메모리(미도시)에 필드 또는 프레임 단위로 원영상이 일시 저장된 후 출력되면, 상기 감산기(101)가 메모리 영상과 재구성 영상의 차분 신호를 출력하며, 상기 모드 스위치(102)에 의해 메모리 영상 또는 상기 차분 신호 중 하나가 선택되어 상기 DCT 변환부(103)로 입력되게 된다. 여기서, 상기 프레임 메모리에 저장된 프레임들 중에서 첫 번째 프레임은 I-프레임이 되고, 나머지 프레임들은 P-프레임이 될 수 있다.When the original image is temporarily stored in a frame memory (not shown) and then output, the subtractor 101 outputs a difference signal between the memory image and the reconstructed image, and the mode switch 102 One of the difference signals is selected and input to the DCT converter 103. Herein, the first frame among the frames stored in the frame memory may be an I-frame, and the remaining frames may be a P-frame.

상기 DCT 변환부(103)에서 DCT 변환된 결과치(DCT 계수)는 상기 양자화기(104)에서 양자화된 후 상기 엔트로피 코딩부(105) 및 역양자화기(106)로 각각 입력된다.The DCT transformed result (DCT coefficient) of the DCT converter 103 is quantized by the quantizer 104 and then input to the entropy coding unit 105 and the inverse quantizer 106, respectively.

상기 역양자화기(106)는 양자화 신호를 역양자화하여 상기 IDCT 변환부(107)를 통해 역 DCT 변환된 이미지를 구함으로써 현재 입력된 영상을 복원하게 된다.The inverse quantizer 106 inversely quantizes a quantized signal to obtain an inverse DCT transformed image through the IDCT converter 107 to reconstruct the currently input image.

상기 복원된 영상은 상기 가산기(108)에서 움직임 보상된 신호와 합산되어 상기 영상 메모리(109)에 저장된 후 상기 움직임 추정부(110)로 입력되게 된다.The reconstructed image is added with the motion compensated signal by the adder 108, stored in the image memory 109, and then input to the motion estimator 110.

상기 움직임 추정부(110)는 16×16 매크로블록 단위마다 정수 화소 단위의 움직임 추정을 수행한 후, 해당 매크로블록에 대한 모드를 결정하고, 이어서 반 화소 단위의 움직임 추정 등을 수행하게 되는데, 이의 동작을 상세히 설명하면 다음과 같다.The motion estimation unit 110 performs motion estimation in units of pixel units for each 16 × 16 macroblock unit, determines a mode for the macroblock, and then performs motion estimation in units of half a pixel. The operation is described in detail as follows.

먼저, 각각의 매크로블록에 대해 정수 화소 단위의 움직임 추정을 수행한 후, 그 매크로블록에 대해 인트라(INTRA) 모드인지 인터(INTER) 모드인지를 판단하게 된다.First, after performing motion estimation in units of an integer pixel for each macroblock, it is determined whether the macroblock is an INTRA mode or an INTER mode.

이에 따라, 인트라 모드로 판단되면, 해당 매크로블록에 대해 I-프레임 부호화와 동일한 방법으로 부호화 한다. Accordingly, if it is determined that the intra mode, the macroblock is encoded in the same manner as the I-frame encoding.

이에 반해, 인터 모드로 판단되면, 움직임을 추정하여 움직임 벡터를 구한 후, 움직임 보상을 실행하고 그때의 움직임 보상 에러값과 현 위치(0,0)에서의 복잡도(분산값)를 이용하여 인트라 모드인 경우와 동일한 방법으로 부호화 하게 된다.On the other hand, if it is determined that the inter mode is determined, the motion vector is estimated by obtaining the motion vector, the motion compensation is performed, and the intra mode is obtained by using the motion compensation error value and the complexity (dispersion value) at the current position (0, 0). It is encoded in the same way as.

이에 따라, 상기 영상 부호화기는 움직임 벡터에 의한 예측 블록과 부호화된 에러 블록을 더하여 재구성된 영상을 얻게 된다.Accordingly, the image encoder obtains a reconstructed image by adding a prediction block by a motion vector and an encoded error block.

동영상의 경우 대다수의 매크로블록이 매우 낮은 움직임을 갖는 것이 일반적이고, 이러한 영상에 대해 전체 영상에 대해 일괄적으로 움직임 추정을 수행하는 것은 매우 비효율적임에 틀림없다.In the case of moving pictures, it is common for the majority of macroblocks to have very low motion, and it must be very inefficient to perform motion estimation on the entire picture for such pictures.

다시 말해, 종래의 영상 부호화기에서 움직임 추정은 대부분의 매크로블록이 작은 움직임성을 가지고 있는 영상 특성을 반영하지 못할 뿐만 아니라, 전체 영상, 매 프레임마다에 포함되는 모든 매크로블록들을 대상으로 동일한 탐색 범위 내에서 불필요한 중복적인 계산(대략, 전체 계산량의 60% 이상을 차지함)을 수행함으로써, 매우 많은 계산량을 필요로 한다. In other words, the motion estimation in the conventional video encoder does not reflect the image characteristics of which most macroblocks have a small mobility, but also within the same search range for all macroblocks included in the entire image and every frame. By doing unnecessary redundant computation (approximately 60% of the total computation), we need a lot of computation.

따라서, 본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로서, 움직임 추정 전에 움직임 추정이 필요한 매크로블록들을 선별적으로 판단하여 움직임 추정에 필요한 계산량을 현격하게 줄임으로써, 부호화 효율을 감소시키지 않으면서 움직임 추정 수행 속도를 향상시킬 수 있는 움직임 추정 방법을 제공함에 그 목적이 있다. Accordingly, the present invention has been made to solve the above problems, and by selectively determining the macroblocks required for motion estimation before motion estimation to significantly reduce the amount of computation required for motion estimation, without reducing the coding efficiency. An object of the present invention is to provide a motion estimation method capable of improving the speed of performing motion estimation.

상기 목적을 달성하기 위한 본 발명의 바람직한 일 실시예에 따르면, 움직임 추정 방법은, 현재 영상 및 이전 재구성된 영상을 이용하여 SAD 값을 산출하는 단계; 상기 산출된 SAD 값을 소정의 임계치와 비교하는 단계; 비교 결과에 따라 움직임 추정 대상 매크로블록을 선별적으로 판단하는 단계; 및 상기 판단 결과에 따라 움직임 추정을 수행하는 단계를 포함한다.According to a preferred embodiment of the present invention for achieving the above object, a motion estimation method comprises: calculating a SAD value using a current image and a previously reconstructed image; Comparing the calculated SAD value with a predetermined threshold; Selectively determining a motion estimation target macroblock according to a comparison result; And performing motion estimation according to the determination result.

여기서, 상기 소정의 임계치는 이전 프레임에서 제로 모션 벡터를 가질 때의 SAD 값들 중에서 가장 작은 값으로 설정될 수 있다.Here, the predetermined threshold may be set to the smallest value among the SAD values when having a zero motion vector in the previous frame.

상기 움직임 추정 방법에서, 비교 결과 상기 소정의 임계치 보다 작은 값을 갖는 SAD 값이 존재하는 경우, 해당 SAD 값에 상응하는 매크로블록은 인터 모드로 설정되고 상기 인터 모드로 설정된 매크로블록은 움직임 추정이 수행되지 않게 된다. In the motion estimation method, when there is a SAD value having a value smaller than the predetermined threshold as a result of the comparison, the macroblock corresponding to the SAD value is set to the inter mode, and the macroblock set to the inter mode performs motion estimation. Will not be.

이하, 첨부된 도면을 참조하여 본 발명의 영상 부호화 장치의 움직임 추정 방법을 설명한다.Hereinafter, a motion estimation method of an image encoding apparatus of the present invention will be described with reference to the accompanying drawings.

도 2는 본 발명의 바람직한 영상 부호화 장치의 블록도를 나타낸다.2 shows a block diagram of a preferred video encoding apparatus of the present invention.

도 2를 참조하면, 본 발명의 영상 부호화 장치는 감산기(101), 모드 스위치(102), DCT 변환부(103), 양자화기(104), 엔트로피 코딩부(105), 역양자화기(106), IDCT 변환부(107), 가산기(108), 영상 메모리(109), 움직임 추정부(110), 추정 대상 판별부(10) 등을 구비하여 구성된다.Referring to FIG. 2, the video encoding apparatus of the present invention includes a subtractor 101, a mode switch 102, a DCT converter 103, a quantizer 104, an entropy coding unit 105, and an inverse quantizer 106. And an IDCT converter 107, an adder 108, an image memory 109, a motion estimator 110, an estimation target discriminator 10, and the like.

여기서, 상기 추정 대상 판별부(10)를 제외한 다른 구성들, 예컨대 감산기(101), 모드 스위치(102), DCT 변환부(103), 양자화기(104), 엔트로피 코딩부(105), 역양자화기(106), IDCT 변환부(107), 가산기(108), 영상 메모리(109), 움직임 추정부(110)는 도 1에 도시된 구성들과 동일하므로, 본 발명에서는 상기 추정 대상 판별부(10)를 중심으로 설명한다.Here, other components except for the estimation target determining unit 10, for example, the subtractor 101, the mode switch 102, the DCT converter 103, the quantizer 104, the entropy coding unit 105, inverse quantization Since the device 106, the IDCT converter 107, the adder 108, the image memory 109, and the motion estimation unit 110 are the same as those shown in FIG. 1, according to the present invention, the estimation target determination unit ( 10) will be described.

앞서 설명한 바와 같이, 도 1의 종래의 영상 부호화 장치에서는 움직임 추정부(110)에서 모든 매크로블록들을 대상으로 움직임 추정이 불필요한 매크로블록까지도 움직임 추정을 수행하게 됨으로써, 움직임 추정이 중복적으로 계산됨으로 인해 움직임 추정의 수행 속도가 현저히 떨어지게 되는 문제가 있었다.As described above, in the conventional video encoding apparatus of FIG. 1, since the motion estimation unit 110 performs motion estimation on all macroblocks that do not require motion estimation, the motion estimation is repeatedly calculated. There is a problem that the performance of the motion estimation is significantly reduced.

이를 해결하기 위해 본 발명에서는 상기 움직임 추정부(110)에서의 움직임 추정을 수행하기 전에 미리 모든 매크로블록들을 대상으로 움직임 추정이 필요한지 여부를 선별적으로 판별하여 주기 위한 상기 추정 대상 판별부(10)가 더 구비된다.In order to solve this problem, in the present invention, the estimation target determination unit 10 selectively determines whether the motion estimation is necessary for all macroblocks before performing the motion estimation in the motion estimation unit 110. Is further provided.

상기 추정 대상 판별부(10)는 현재 영상 및 이전 재구성된 영상을 이용하여 현재 매크로블록 위치에서의 SAD(Sum of Absolute Difference) 값을 산출한다. 여기서, 상기 SAD 값은 하기의 수학식 1과 같이 표현될 수 있다.The estimation object determiner 10 calculates a sum of absolute difference (SAD) value at the current macroblock position using the current image and the previously reconstructed image. Here, the SAD value may be expressed as in Equation 1 below.

여기서, (x,y)는 현재 매크로블록의 위치이고, original은 현재의 영상을 나타내고, decoded previous 이전 재구성된 영상을 나타낸다. Here, (x, y) is the position of the current macroblock, original represents the current image, and decoded previous represents the reconstructed image.

따라서, SAD 값은 탐색 영역(16×16의 매크로블록) 내의 대응하는 픽셀값들간의 차이의 절대값의 합을 나타낸다. 예를 들어, 현재 영상과 이전 재구성된 영상 각각에는 적어도 하나 이상의 16×16의 매크로블록들이 존재하게 된다. 이때, 상기 현재 영상의 매크로블록 상에 존재하는 픽셀값들과 상기 이전 재구성된 영상에서 상기 현재 영상의 매크로블록에 대응하는 매크로블록 상에 존재하는 픽셀값들 사이의 차의 절대값의 합이 SAD 값으로 산출되게 된다. 이에 따라, 상기 SAD 값은 상기 현재 영상 또는 상기 이전 재구성된 영상 중 하나에 존재하는 매크로블록의 개수만큼 산출되게 된다.Thus, the SAD value represents the sum of the absolute values of the differences between the corresponding pixel values in the search area (16 × 16 macroblocks). For example, at least one 16 × 16 macroblock is present in each of the current image and the previously reconstructed image. In this case, the sum of the absolute value of the difference between the pixel values existing on the macroblock of the current image and the pixel values existing on the macroblock corresponding to the macroblock of the current image in the previously reconstructed image is SAD. It will be calculated as a value. Accordingly, the SAD value is calculated by the number of macroblocks existing in one of the current image or the previously reconstructed image.

이와 같이 산출된 SAD 값을 소정 임계치와 비교하여 그 비교 결과에 따라 움직임 추정 대상 매크로블록인지 여부를 판별하게 된다. 여기서, 상기 소정 임계치는 이전 프레임에서 (0,0)의 움직임 벡터(즉, 제로 모션 벡터)를 가질 때의 SAD 값들 중에서 가장 작은 값으로 설정되는 것이 바람직하다.The SAD value calculated as described above is compared with a predetermined threshold value to determine whether the macroblock is a motion estimation target macroblock according to the comparison result. Here, the predetermined threshold is preferably set to the smallest value among the SAD values when having a motion vector (that is, a zero motion vector) of (0,0) in the previous frame.

예를 들어, 상기 산출된 SAD 값이 소정 임계치 보다 작은 경우에는 해당 매크로블록은 움직임 추정 대상 매크로블록이 아닌 것으로 판별되고, 반대로 상기 산출된 SAD 값이 소정 임계치 보다 큰 경우에는 해당 매크로블록은 움직임 추정 대상 매크로블록으로 판별되어 상기 움직임 추정부로 제공되어 움직임 추정이 수행되게 된다.For example, when the calculated SAD value is smaller than a predetermined threshold, the macroblock is determined not to be a motion estimation target macroblock, and conversely, when the calculated SAD value is larger than a predetermined threshold, the macroblock is motion estimation. It is determined as a target macroblock and provided to the motion estimator to perform motion estimation.

모든 영상에 대해 이와 같은 과정을 통해 움직임 추정이 필요한 매크로블록과 그렇지 않은 매크로블록을 선별적으로 판별하게 됨으로써, 종래에 비해 움직임 추정에 소요되는 계산량을 현격하게 줄일 수 있다. Through this process for all images, macroblocks that require motion estimation and macroblocks that do not need motion estimation are selectively discriminated, thereby significantly reducing the amount of computation required for motion estimation.

도 3은 본 발명의 바람직한 일 실시예에 따른 영상 부호화 장치에서 추정 대상 매크로블록을 선별적으로 판별할 수 있는 움직임 추정 방법을 설명하기 위한 순서도이다.3 is a flowchart illustrating a motion estimation method for selectively determining an estimation target macroblock in an image encoding apparatus according to an exemplary embodiment of the present invention.

도 2 및 도 3을 참조하면, 먼저 현재 영상 및 이전 재구성된 영상이 입력된다(S 21). 여기서, 현재 영상은 프레임 메모리(미도시)에 일시 저장된 영상을 나타내고, 상기 이전 재구성된 영상은 상기 영상 메모리(109)에 저장된 영상을 나타낸다.2 and 3, first, a current image and a previously reconstructed image are input (S 21). Here, the current image represents an image temporarily stored in a frame memory (not shown), and the previously reconstructed image represents an image stored in the image memory 109.

이와 같이 입력된 현재 영상 및 이전 재구성된 영상은 각각 소정 크기의 매크로블록 단위로 분할되고, 분할된 매크로블록 단위별로 상기 수학식 1을 이용하여 SAD 값들이 산출된다(S 22). 통상적으로 하나의 영상, 즉 프레임은 복수의 매크로블록으로 분할될 수 있다. 예를 들어, 한 프레임이 144×176의 크기를 갖고, 매크로블록은 16×16의 크기를 갖는다고 하면, 한 프레임으로부터 대략 99개의 매크로블록이 분할되게 된다.The input current image and the previously reconstructed image are respectively divided into macroblock units having a predetermined size, and SAD values are calculated by using Equation 1 for each divided macroblock unit (S22). Typically, one image, that is, the frame, may be divided into a plurality of macroblocks. For example, if one frame has a size of 144 × 176 and a macroblock has a size of 16 × 16, approximately 99 macroblocks are divided from one frame.

이와 같이 산출된 SAD 값들 각각은 소정의 임계치와 비교된다(S 23). 여기서, 소정의 임계치는 이전 프레임, 즉 현재 프레임보다 하나 앞선 프레임에서 (0,0)의 움직임 벡터(즉, 제로 모션 벡터)를 가질 때의 SAD 값들 중에서 가장 작은 값으로 설정되는 것이 바람직하다. 이전 프레임도 이전 재구성된 프레임과의 차이를 통해 복수의 SAD 값이 산출되게 되고, 이와 같이 산출된 SAD 값들 중에는 (0,0)의 움직임 벡터를 가지는 SAD 값들이 다수 존재할 수 있다. 따라서, (0,0)의 움직임 벡터를 가지는 SAD 값들 중에서도 가장 작은 값을 갖는 SAD 값이 상기 소정의 임계치로 설정되도록 한다. 이와 같이 함으로써, 가능한 한 각 매크로블록에 대해서 움직임 추정을 수행하도록 하지만, 상기 소정의 임계치 보다 작은 SAD 값에 대해서는 움직임 추정을 수행하지 않도록 함으로써, 움직임 추정에 대한 계산량이 줄어들게 된다.Each of the SAD values calculated as described above is compared with a predetermined threshold (S 23). Here, it is preferable that the predetermined threshold is set to the smallest value among the SAD values when having a motion vector (i.e., zero motion vector) of (0,0) in the previous frame, that is, one frame before the current frame. A plurality of SAD values may be calculated through a difference between the previous frame and the previous reconstructed frame, and a plurality of SAD values having a motion vector of (0,0) may exist among the calculated SAD values. Therefore, the SAD value having the smallest value among the SAD values having the motion vector of (0,0) is set to the predetermined threshold. In this way, the motion estimation is performed for each macroblock as much as possible, but the calculation amount for the motion estimation is reduced by not performing the motion estimation for the SAD value smaller than the predetermined threshold.

만일 소정의 임계치 보다 작은 값을 갖는 SAD 값이 존재하게 되면, 그 SAD 값에 상응하는 매크로블록은 움직임 추정이 필요치 않게 되는 것으로 판별하여, 움직임 추정 대상 매크로블록에서 배제된다(S 24). If the SAD value having a value smaller than the predetermined threshold exists, the macroblock corresponding to the SAD value is determined to be unnecessary for motion estimation, and is excluded from the motion estimation target macroblock (S 24).

그리고, 이와 같이 움직임 추정 대상 매크로블록에서 제외된 매크로블록은 인터모드로 판별되어 더 이상의 움직임 추정은 수행되지 않게 된다(S 25). 다시 말해, 상기 SAD 값이 소정의 임계치 보다 작은 경우에는 상기 SAD 값에 상응하는 매크로블록은 인터 모드로 판별되고, 부가적인 반 화소 단위의 움직임 추정도 수행되지 않게 된다. 일반적으로, 인터 모드는 not-coded와 coded로 구분되는데, 상기 S 25에서 판별된 인터 모드는 not-coded를 의미하는 것으로, 이와 같이 not-coded로 설정되게 되면 움직임 추정이 수행되지 않게 된다.In this way, the macroblocks excluded from the motion estimation target macroblocks are determined to be in the inter mode, and no further motion estimation is performed (S 25). In other words, when the SAD value is smaller than a predetermined threshold, the macroblock corresponding to the SAD value is determined to be in an inter mode, and no additional half pixel motion estimation is performed. In general, the inter mode is classified into not-coded and coded. The inter mode determined in S 25 means not-coded. When the inter mode is set to not-coded, motion estimation is not performed.

결론적으로, 이와 같은 경우에는 모든 일련의 움직임 추정 과정이 수행되지 않게 됨으로써, 계산량이 줄어들게 된다. In conclusion, in this case, since all the series of motion estimation processes are not performed, the amount of calculation is reduced.

반면에, 소정의 임계치 보다 큰 값을 갖는 SAD 값이 존재하게 되면, 그 SAD 값에 상응하는 매크로블록은 움직임 추정이 필요하게 되는 것으로 판별하게 된다(S 26).On the other hand, if the SAD value having a value larger than the predetermined threshold exists, it is determined that the macroblock corresponding to the SAD value requires the motion estimation (S 26).

이와 같이 움직임 추정이 필요한 것으로 판별된 매크로블록에 대해 움직임 추정이 통상의 움직임 추정 기법에 따라 수행되게 된다(S 27). 여기서, 통상의 움직임 추정 기법은 완전 탐색 기법(full search technic), 3단계 탐색 기법(three step search technic), 대각선 탐색 기법(diagonal search technic) 등이 포함될 수 있는데, 이러한 기법들은 이미 널리 공지된 바 더 이상의 설명은 생략한다.As described above, motion estimation is performed on the macroblock determined to need motion estimation according to a conventional motion estimation technique (S27). Here, the conventional motion estimation technique may include a full search technique, a three step search technique, a diagonal search technique, and the like, which are well known in the art. Further explanation will be omitted.

따라서, 본 발명은 낮은 움직임, 즉 제로 움직임 벡터를 갖는 매크로블록들이 움직임 추정 전에 미리 선처리에 의해 움직임 추정이 수행되지 않게 함으로써, 움직임 추정 수행 속도가 증가되게 된다. Therefore, according to the present invention, the motion estimation performance speed is increased by preventing the motion estimation of the macroblocks having the low motion, that is, the zero motion vector, by preprocessing before the motion estimation.

이상에서 살펴본 바와 같이, 본 발명의 움직임 추정 방법에 의하면, 영상, 즉 프레임의 각 매크로블록에 대해 산출된 SAD 값들을 소정의 임계치와 비교하여, 소정의 임계치보다 작은 SAD 값에 상응하는 매크로블록에 대해서는 움직임 추정을 수행하지 않도록 함으로써, 동영상 부호화 효율을 떨어뜨리지 않으면서 움직임 추정 수행 속도를 현격하게 향상시킬 수 있는 효과가 있다.As described above, according to the motion estimation method of the present invention, an SAD value calculated for each macroblock of an image, that is, a frame, is compared with a predetermined threshold, and the macroblock corresponding to an SAD value smaller than the predetermined threshold is compared. By not performing the motion estimation, the speed of the motion estimation performance can be significantly improved without reducing the video encoding efficiency.

또한, 본 발명은 기존의 어떠한 움직임 추정 기법에 상관없이 적용이 가능하며, 움직임 추정에 따른 계산량을 줄일 수 있으므로, 다양한 네트워크(유/무선, 모바일)를 통한 동영상 전화 시스템 및 MMS 서비스와 같은 실시간 비디오 전송 응용에 필수적으로 사용되는 H.263 및 MPEG-4 코덱의 구현에 적용이 가능하다.In addition, the present invention can be applied regardless of any existing motion estimation technique, and can reduce the amount of calculation according to motion estimation, thereby real-time video such as video telephony system and MMS service through various networks (wired / wireless, mobile). It is applicable to the implementation of the H.263 and MPEG-4 codecs which are essential for transmission applications.

도 1은 종래의 영상 부호화 장치의 블록도.1 is a block diagram of a conventional video encoding apparatus.

도 2는 본 발명의 바람직한 영상 부호화 장치의 블록도.2 is a block diagram of a preferred video encoding apparatus of the present invention.

도 3은 본 발명의 바람직한 일 실시예에 따른 영상 부호화 장치에서 추정 대상 매크로블록을 선별적으로 판별할 수 있는 움직임 추정 방법을 설명하기 위한 순서도.3 is a flowchart illustrating a motion estimation method capable of selectively determining an estimation target macroblock in an image encoding apparatus according to an embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 명칭><Name of the code for the main part of the drawing>

10 : 추정 대상 판별부 100 : 영상 메모리10: estimation object discrimination unit 100: image memory

110 : 움직임 추정부 110: motion estimation unit

Claims (8)

현재 영상 및 이전 재구성된 영상을 이용하여 SAD 값을 산출하는 단계;Calculating a SAD value using the current image and the previously reconstructed image; 상기 산출된 SAD 값을 소정의 임계치와 비교하는 단계;Comparing the calculated SAD value with a predetermined threshold; 비교 결과에 따라 움직임 추정 대상 매크로블록을 선별적으로 판단하는 단계; 및Selectively determining a motion estimation target macroblock according to a comparison result; And 상기 판단 결과에 따라 움직임 추정을 수행하는 단계Performing motion estimation according to the determination result 를 포함하는 움직임 추정 방법.Motion estimation method comprising a. 제1항에 있어서, 상기 SAD 값은 상기 현재 영상의 매크로블록 상에 존재하는 픽셀값들과 상기 이전 재구성된 영상에서 상기 현재 영상의 매크로블록에 대응하는 매크로블록 상에 존재하는 픽셀값들 사이의 차의 절대값의 합인 것을 특징으로 하는 움직임 추정 방법.The method of claim 1, wherein the SAD value is between a pixel value existing on a macroblock of the current image and a pixel value existing on a macroblock corresponding to a macroblock of the current image in the previously reconstructed image. Motion estimation method, characterized in that the sum of the absolute value of the difference. 제1항에 있어서, 상기 SAD 값은 상기 현재 영상 또는 상기 이전 재구성된 영상 중 하나에 존재하는 매크로블록의 개수만큼 산출되는 것을 특징으로 하는 움직임 추정 방법.The method of claim 1, wherein the SAD value is calculated by the number of macroblocks existing in one of the current image and the previously reconstructed image. 제1항에 있어서, 상기 소정의 임계치는 이전 프레임에서 제로 모션 벡터를 가질 때의 SAD 값들 중에서 가장 작은 값으로 설정되는 것을 특징으로 하는 움직임 추정 방법.2. The method of claim 1, wherein the predetermined threshold is set to the smallest value among SAD values when having a zero motion vector in a previous frame. 제1항에 있어서, 비교 결과 상기 소정의 임계치보다 작은 값을 갖는 SAD 값이 존재하는 경우, 해당 SAD 값에 상응하는 매크로블록은 인터 모드로 설정되는 것을 특징으로 하는 움직임 추정 방법.The method of claim 1, wherein when there is a SAD value having a value smaller than the predetermined threshold as a result of the comparison, the macroblock corresponding to the SAD value is set to an inter mode. 제5항에 있어서, 상기 인터 모드로 설정된 매크로블록은 움직임 추정이 수행되지 않는 것을 특징으로 하는 움직임 추정 방법.The method of claim 5, wherein the macroblock set to the inter mode is not subjected to motion estimation. 제1항에 있어서, 상기 소정의 임계치보다 큰 값을 갖는 SAD 값이 존재하는 경우, 해당 SAD 값에 상응하는 매크로블록은 움직임 추정 대상 매크로블록으로 판별되어 움직임 추정이 수행되는 것을 특징으로 하는 움직임 추정 방법.The motion estimation of claim 1, wherein when a SAD value having a value larger than the predetermined threshold exists, a macroblock corresponding to the SAD value is determined as a motion estimation target macroblock, and motion estimation is performed. Way. 제1항에 있어서, 상기 움직임 추정은 완전 탐색 기법, 3단계 탐색 기법, 대각선 탐색 기법 중 하나를 이용하여 수행되는 것을 특징으로 하는 움직임 추정 방법.The method of claim 1, wherein the motion estimation is performed using one of a full search method, a three-stage search method, and a diagonal search method.
KR1020030086301A 2003-12-01 2003-12-01 Moving estimation method KR20050052756A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030086301A KR20050052756A (en) 2003-12-01 2003-12-01 Moving estimation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030086301A KR20050052756A (en) 2003-12-01 2003-12-01 Moving estimation method

Publications (1)

Publication Number Publication Date
KR20050052756A true KR20050052756A (en) 2005-06-07

Family

ID=37248595

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030086301A KR20050052756A (en) 2003-12-01 2003-12-01 Moving estimation method

Country Status (1)

Country Link
KR (1) KR20050052756A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101241508B1 (en) * 2011-04-01 2013-03-11 한양대학교 산학협력단 Methods of motion vector estimation using classfier and apparatuses for using the same
KR101319916B1 (en) * 2006-06-21 2013-10-21 박상래 Motion estimation method and apparatus, and image encoding method and apparatus using the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101319916B1 (en) * 2006-06-21 2013-10-21 박상래 Motion estimation method and apparatus, and image encoding method and apparatus using the same
KR101241508B1 (en) * 2011-04-01 2013-03-11 한양대학교 산학협력단 Methods of motion vector estimation using classfier and apparatuses for using the same

Similar Documents

Publication Publication Date Title
US11089311B2 (en) Parameterization for fading compensation
US8073048B2 (en) Method and apparatus for minimizing number of reference pictures used for inter-coding
US20070274385A1 (en) Method of increasing coding efficiency and reducing power consumption by on-line scene change detection while encoding inter-frame
EP1359770B1 (en) Signaling for fading compensation in video encoding
KR101482896B1 (en) Optimized deblocking filters
MX2007000254A (en) Method and apparatus for using frame rate up conversion techniques in scalable video coding.
US20030206593A1 (en) Fading estimation/compensation
KR20050089838A (en) Video encoding with skipping motion estimation for selected macroblocks
US20120008686A1 (en) Motion compensation using vector quantized interpolation filters
JP2004215275A (en) Motion compensation based improved noise prediction method and apparatus, and moving image encoding method and apparatus using the same
WO2006074043A2 (en) Method and apparatus for providing motion estimation with weight prediction
US7236529B2 (en) Methods and systems for video transcoding in DCT domain with low complexity
US6950470B2 (en) Method and apparatus for optimizing of motion estimation
KR20050052756A (en) Moving estimation method
JP4642033B2 (en) A method for obtaining a reference block of an image by an encoding method in which the number of reference frames is fixed.
KR100351568B1 (en) Apparatus and method for high compression to consider edge direction of motion compensated prediction
KR100778469B1 (en) An optimization of motion estimation method and apparatus
KR100778473B1 (en) Bit rate control method
KR0174441B1 (en) Full motion image encoder by using adaptive motion compensation
KR20020095758A (en) Adaptive motion predict method
KR0124162B1 (en) Prediction coding method
KR0178202B1 (en) Method for establishing the window in motion estimation
KR0174959B1 (en) Motion picture encoder for very low speed transmission
KR0174444B1 (en) Motion compensated apparatus for very low speed transmission
Jindal et al. Fast video coding at low bit-rates for mobile devices

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination