KR20110039030A - Fast motion-estimation method and video encoding apparatus using the same - Google Patents

Fast motion-estimation method and video encoding apparatus using the same Download PDF

Info

Publication number
KR20110039030A
KR20110039030A KR1020090096291A KR20090096291A KR20110039030A KR 20110039030 A KR20110039030 A KR 20110039030A KR 1020090096291 A KR1020090096291 A KR 1020090096291A KR 20090096291 A KR20090096291 A KR 20090096291A KR 20110039030 A KR20110039030 A KR 20110039030A
Authority
KR
South Korea
Prior art keywords
frame
macroblock
motion
bit
activity
Prior art date
Application number
KR1020090096291A
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 KR1020090096291A priority Critical patent/KR20110039030A/en
Publication of KR20110039030A publication Critical patent/KR20110039030A/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/557Motion estimation characterised by stopping computation or iteration based on certain criteria, e.g. error magnitude being too large or early exit
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PURPOSE: A fast motion-estimation method and a video encoding apparatus using the same are provided to improve a motion estimation speed for removing temporal redundancy of a video. CONSTITUTION: A fast motion-estimation method comprises the steps of: calculating a representative value of a macro block constituting an input frame; calculating the activity degree of the macro block based on the calculated representative value; performing a motion estimation procedure if the activity degree is larger than a threshold value and omitting the motion estimation procedure if the activity degree is lower than the threshold value.

Description

고속 모션 추정 방법 및 이를 이용한 비디오 인코딩 장치{Fast motion-estimation method and video encoding apparatus using the same}Fast motion-estimation method and video encoding apparatus using the same

본 발명은 비디오 압축 방법에 관한 것으로, 보다 상세하게는 비디오의 시간적 중복성을 제거하기 위한 모션 추정의 속도를 향상시키는 향상시키는 방법 및 장치에 관한 것이다.The present invention relates to a video compression method, and more particularly, to a method and apparatus for improving speed of motion estimation for removing temporal redundancy of a video.

인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 전송시에 넓은 대역폭을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩기법을 사용하는 것이 필수적이다.As information and communication technology including the Internet is developed, not only text and voice but also video communication are increasing. Conventional text-based communication methods are not enough to satisfy various needs of consumers, and accordingly, multimedia services that can accommodate various types of information such as text, video, and music are increasing. Multimedia data has a huge amount and requires a large storage medium and a wide bandwidth in transmission. Therefore, in order to transmit multimedia data including text, video, and audio, it is essential to use a compression coding technique.

데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy) 요소를 제거하는 과정이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복이나, 동영상 프레임에서 인접 프레임이 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려한 심리시각 중복을 제거함으로써 데이터를 압축할 수 있다.The basic principle of compressing data is to eliminate redundancy in the data. Spatial overlap, such as the same color or object repeating in an image, temporal overlap, such as when there is almost no change in adjacent frames in a movie frame, or the same note over and over in audio, or high frequency of human vision and perception Data can be compressed by removing the psychological duplication taking into account the insensitive to.

이러한 동영상 압축 기법의 표준화를 위하여, MPEG(Moving Picture Experts Group)-2, MPEG-4, H.264 등 다양한 비디오 코딩 표준들이 등장하고 있다. 도 1에 도시된 바와 같이, 모든 비디오 코딩 기술들은 인접한 비디오 프레임들 간의 시간적 중복성을 제거하기 위하여 블록 모션 추정(block motion estimation)이라는 기법을 채택하고 있다. 예를 들어, 현재 프레임(10) 내의 어떤 블록(30)을 부호화하기 위해서는, 현재 프레임(10)과 다른 시간적 위치에 있는 참조 프레임(20)에서 상기 블록(30)과 매칭되는 블록(40)을 찾는다. 이 후, 현재 프레임(10)의 블록(30)과 참조 프레임(20)의 블록(40) 간의 차분(residual)를 구한 후, 이 차분을 부호화함으로써 부호화 효율을 높이는 것이다. 여기서, 블록들 간의 변위는 모션 벡터로서 표시되며, 모션 벡터에 의하여 참조 프레임(20)에 관한 모션 보상이 이루어진다.To standardize the video compression technique, various video coding standards such as MPEG-2, MPEG-4, and H.264 have emerged. As shown in FIG. 1, all video coding techniques employ a technique called block motion estimation to remove temporal redundancy between adjacent video frames. For example, to encode a block 30 in the current frame 10, the block 40 matching the block 30 in the reference frame 20 at a different time position than the current frame 10 is selected. Find. Subsequently, after obtaining a residual between the block 30 of the current frame 10 and the block 40 of the reference frame 20, the encoding efficiency is increased by encoding the difference. Here, the displacement between the blocks is represented as a motion vector, and motion compensation with respect to the reference frame 20 is performed by the motion vector.

이와 같이, 블록 모션 추정 및 모션 보상 기법은 많은 비디오 압축 표준들에서 핵심적인 기술이다. 그런데, 모션을 추정하기 위해서, 하드웨어 구현 상의 편리성으로 인하여 완전 검색(full search) 알고리즘이 널리 알려져 왔다. 그러나, 완전 검색 알고리즘은 주어진 검색 영역 내에서 모든 후보 변위를 검색하고 최소의 매칭되는 왜곡 포인트를 찾아야 하기 때문에, 계산 부하가 매우 크다는 점에서 단점이 있다. As such, block motion estimation and motion compensation techniques are key technologies in many video compression standards. However, in order to estimate motion, full search algorithms have been widely known due to the convenience of hardware implementation. However, the full search algorithm has a disadvantage in that the computational load is very large because it must search all candidate displacements within a given search range and find the minimum matching distortion point.

1비트 변환(이하 1BT라고 함)을 사용하는 새로운 모션 추정 및 그 구조가 완 전 검색 알고리즘을 개선하기 위하여 제안된 바 있다("Low-complexity block-based motion estimation via one-bit transforms, IEEE Trans. Circuits Syst. Video Technol., 1997"을 참조하라). 상기 1BT는 8비트의 픽셀을 1비트의 값으로 변환한다. 왜곡 매칭의 방법으로서 절대 차이의 합(sum of absolute difference, 이하 SAD라고 함)를 사용하였던 완전 검색 알고리즘과 달리, 1BT는 배타적 논리합(exclusive OR, 이하 XOR라고 함) 연산을 응용한 왜곡 매칭을 위한 새로운 판단 기준이 사용된다. 따라서, 1BT 블록 모션 추정을 이용하는 새로운 병렬 처리 기법이 가능하게 되었다. 그러나, 1BT 기반의 블록 모션 추정은 심각한 시각적 품질의 문제를 야기한다.New motion estimation and its structure using 1-bit transforms (hereinafter referred to as 1BT) have been proposed to improve the full search algorithm ("Low-complexity block-based motion estimation via one-bit transforms, IEEE Trans."). Circuits Syst. Video Technol., 1997 ". The 1BT converts an 8-bit pixel into a 1-bit value. Unlike the full search algorithm that used the sum of absolute difference (SAD) as a method of distortion matching, 1BT is used for distortion matching by applying an exclusive OR (XOR) operation. New criteria are used. Thus, a new parallel processing technique using 1BT block motion estimation is possible. However, 1BT based block motion estimation causes serious visual quality problems.

이에, 2비트 변환(이하 2BT라고 함) 기반의 블록 모션 추정이 이러한 1BT의 블록 모션 추정의 성능 문제를 보상하기 위하여 제안되었다("Two-bit transform for binary block motion estimation", IEEE trans. Circuits Syst. Video Technol., 2005"을 참조하라). 2BT는 포위 윈도우(surrounding threshold window)의 평균 및 표준 편차와 같은 추가적인 정보를 사용한다. 2BT 기반의 블록 모션 추정은 시각적 화질은 1BT 기반의 블록 모션 추정에 비하여 훨씬 개선되었음을 보여준다. 그러나, 2BT 기반의 블록 모션 추정의 계산 부담은 여전히 주로 포위 윈도우의 크기에 종속되기 때문에, 또 다른 고속 모션 추정이 필요하다.Accordingly, a block motion estimation based on 2 bit transform (hereinafter referred to as 2BT) has been proposed to compensate for the performance problem of block motion estimation of 1BT ("Two-bit transform for binary block motion estimation", IEEE trans. Circuits Syst). (See "Video Technol., 2005"). 2BT uses additional information such as the mean and standard deviation of the surrounding threshold window. 2BT-based block motion estimation provides visual quality of 1BT-based block motion estimation. However, the computational burden of 2BT-based block motion estimation is still largely dependent on the size of the enveloping window, so another fast motion estimation is needed.

본 발명은 상기한 필요성을 감안하여 창안된 것으로, 모션 추정의 계산 속도를 향상시키기 위하여 2비트 기반의 블록 모션 추정에 조기종료(early termination) 기법을 적용한 새로운 모션 추정 방법을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made in view of the above necessity, and an object of the present invention is to provide a new motion estimation method using an early termination technique for 2-bit based block motion estimation to improve the calculation speed of motion estimation. .

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.Technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 블록 모션 추정 방법은, 입력 프레임을 구성하는 매크로블록의 대표값을 계산하는 단계; 상기 계산된 대표값을 이용하여 상기 매크로블록의 활동성 정도를 계산하는 단계; 및 상기 활동성 정도가 소정의 문턱값을 넘으면 모션 추정 과정을 수행하고, 상기 활동성 정도가 소정의 문턱값을 넘지 않으면 모션 추정 과정을 생략하는 단계를 포함한다.According to an aspect of the present invention, there is provided a block motion estimation method comprising: calculating a representative value of a macroblock constituting an input frame; Calculating a degree of activity of the macroblock using the calculated representative value; And performing a motion estimation process if the activity level exceeds a predetermined threshold, and skipping the motion estimation process if the activity level does not exceed a predetermined threshold.

상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 비디오 인코딩 장치는, 입력 프레임을 구성하는 매크로블록의 대표값을 계산하는 대표값 계산부; 상기 계산된 대표값을 이용하여 상기 매크로블록의 활동성 정도를 계산하여, 상기 활동성 정도가 소정의 문턱값을 넘지 않으면 모션 추정을 생략할 것으로 판단 하는 조기종료 판단부; 상기 활동성 정도가 소정의 문턱값을 넘는 경우에, 모션 추정을 수행하여 모션 벡터를 탐색하는 모션 추정부; 상기 입력 프레임에서, 상기 모션 벡터에 의해 참조 프레임을 보상한 모션 보상 프레임을 차분하여 잔차 프레임(residual frame)을 얻는 차분기; 및 상기 잔차 프레임을 부호화하는 수단을 포함한다.According to an aspect of the present invention, there is provided a video encoding apparatus comprising: a representative value calculator configured to calculate a representative value of a macroblock constituting an input frame; An early termination determination unit that calculates a degree of activity of the macroblock using the calculated representative value, and determines that motion estimation is to be omitted if the degree of activity does not exceed a predetermined threshold value; A motion estimator for searching for a motion vector by performing motion estimation when the degree of activity exceeds a predetermined threshold; A difference unit in the input frame, obtaining a residual frame by differentially compensating a motion compensation frame for compensating a reference frame by the motion vector; And means for encoding the residual frame.

본 발명에 따르면 종래의 2비트 변환 기법에 비하여 속도는 훨씬 향상되면서도 시각적 화질은 그대로 유지될 수 있는 효과가 있다.According to the present invention, the visual quality is maintained as it is, while the speed is much improved compared to the conventional 2 bit conversion technique.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various forms, and only the present embodiments are intended to complete the disclosure of the present invention, and the general knowledge in the art to which the present invention pertains. It is provided to fully convey the scope of the invention to those skilled in the art, and the present invention is defined only by the scope of the claims. Like reference numerals refer to like elements throughout.

도 2는 본 발명의 일 실시예에 따른 비디오 인코딩 장치(100)의 구성을 도시한 블록도이다.2 is a block diagram illustrating a configuration of a video encoding apparatus 100 according to an embodiment of the present invention.

비디오 인코딩 장치(100)는 매크로블록 분할부(110), 대표값 계산부(115), 조기종료 판단부(120), 모션 벡터 예측부(130), 비트 변환부(140), 모션 추정부(150), 모션 보상부(160), 차분기(165), 인트라 예측부(210), 공간적 변환부(170), 양자화부(175) 및 엔트로피 부호화부(180)를 포함하여 구성될 수 있다.The video encoding apparatus 100 may include a macroblock splitter 110, a representative value calculator 115, an early termination determiner 120, a motion vector predictor 130, a bit converter 140, and a motion estimator ( 150, the motion compensator 160, the difference unit 165, the intra predictor 210, the spatial transform unit 170, the quantization unit 175, and the entropy encoder 180.

매크로블록 분할부(110)는 입력 프레임을 매크로블록의 크기로 분할하고, 분할된 매크로블록들을 차분기(165) 및 대표값 계산부(115)에 제공한다.The macroblock divider 110 divides the input frame into the size of the macroblock and provides the divided macroblocks to the difference unit 165 and the representative value calculator 115.

대표값 계산부(115)는 상기 입력된 매크로블록(16*16 크기를 가짐)을 예를 들어, 8*8 블록으로 분할하고 각각의 8*8 블록을 둘러싸는 소정 크기의 윈도우(이하, 포위 윈도우라고 함)를 설정한다. 이와 같이 8*8 블록을 기준으로 대표값을 계산하는 이유는, 일반적으로 2비트 변환 기반의 블록 모션 추정이 8*8 블록을 사용하기 때문이다. The representative value calculator 115 divides the input macroblock (having a size of 16 * 16) into, for example, 8 * 8 blocks, and surrounds each 8 * 8 block with a predetermined size window (hereinafter, surrounded by). Called Windows). The reason why the representative value is calculated based on the 8 * 8 block is that block motion estimation based on 2 bit transformation generally uses 8 * 8 blocks.

도 3을 참조하면, 입력 프레임(43)에 속하는 8*8 블록(41)은 예를 들어, 40*40 크기의 포위 윈도우(42)에 의하여 둘러 싸여진다. 여기서, 8*8 블록(41)은 포위 윈도우(42)의 중심에 위치하는 것이 바람직할 것이다.Referring to FIG. 3, an 8 * 8 block 41 belonging to the input frame 43 is surrounded by a surrounding window 42, for example, 40 * 40 in size. Here, the 8 * 8 block 41 may be located at the center of the enclosing window 42.

그 후, 대표값 계산부(115)는 다음의 수학식 1과 같이, 상기 포위 윈도우 내에서 평균(μ) 및 근사 표준 편차(σa)를 계산한다. 물론, 포위 윈도우에서 프레임의 경계를 벗어나 픽셀이 존재하지 부분은 상기 계산에서 고려되지 않는다.Thereafter, the representative value calculator 115 calculates an average μ and an approximate standard deviation σ a in the surrounding window, as shown in Equation 1 below. Of course, the portion where no pixels exist outside the boundaries of the frame in the surrounding window is not taken into account in the calculation.

Figure 112009062044784-PAT00001
Figure 112009062044784-PAT00002
Figure 112009062044784-PAT00001
Figure 112009062044784-PAT00002

여기서, Iw는 포위 윈도우 내의 픽셀 값들을 나타낸다. 이와 같이, 직접 σ(표준 편차)를 계산하지 않고, 테일러 급수를 이용하여(즉, 분산인 σ2를 이용함) 근사치인 σa를 구하는 것은, 제곱근 연산의 복잡성을 회피하기 위함이다.Where I w represents pixel values within the surrounding window. Thus, to calculate the approximation σ a using the Taylor series (that is, use variance σ 2 ) without directly calculating σ (standard deviation), it is to avoid the complexity of the square root operation.

상기 계산된 평균(μ) 및 표준 편차(σa)는 조기종료 판단부(120)에 제공된다. 조기종료 판단부(120)는 현재의 매크로블록의 활동성(activity)의 정도를 계산하고, 상기 계산된 활동성의 정도가 소정의 문턱값(threshold)를 넘는가를 기준으로 현재 매크로블록의 조기종료 여부를 판단한다.The calculated mean μ and standard deviation σ a are provided to the early termination determining unit 120. The early termination determination unit 120 calculates the degree of activity of the current macroblock, and determines whether to end the current macroblock early based on whether the calculated degree of activity exceeds a predetermined threshold. To judge.

상기 균질성의 정도를 평가하는 기준의 일 예로는, 다음의 수학식 2와 같은 평균 편차(diff)를 들 수 있다.An example of a criterion for evaluating the degree of homogeneity may be an average deviation as shown in Equation 2 below.

Figure 112009062044784-PAT00003
Figure 112009062044784-PAT00003

여기서, μ는 대표값 계산부(115)로부터 제공된 평균 값이고, i 및 j는 매크로블록 내의 픽셀의 위치를 나타내는 인덱스이며, I(i,j)는 픽셀의 휘도 값이다. 다만, 대표값 계산부(115)에서의 평균값은 하나의 매크로블록 내에서 4개가 존재할 수 있으므로 수학식 2의 μ는 이들 4개의 평균값의 평균을 사용한다.Here, mu is an average value provided from the representative value calculator 115, i and j are indexes indicating the position of the pixel in the macroblock, and I (i, j) is the luminance value of the pixel. However, since there may be four average values in the representative value calculator 115 in one macroblock, μ in Equation 2 uses the average of these four average values.

만약 diff가 크면, 매크로블록 내의 픽셀 값들은 평균 값에 비하여 상당히 차이가 있다고 볼 수 있다. 만약, diff가 작으면, 매크로블록 내의 픽셀 값들은 평균 값에 근접한다고 볼 수 있다. 따라서, 매크로블록의 요동(fluctuation) 내지 활 동성(activity)는 diff로 간단히 표현될 수 있다. 큰 diff는 매크로 블록 내에서 움직임이 있을 가능성이 높고 모션 벡터가 검색되어야 한다는 것을 의미한다. 작은 diff는 상기 영역이 균질하고(homogeneous) 현재 매크로블록의 모션 벡터는 주변의 매크로블록의 모션 벡터와 유사할 가능성이 높다는 것을 의미한다. 따라서, diff는 조기 종료를 위한 문턱값으로서 사용될 수 있다.If the diff is large, the pixel values in the macroblock are significantly different from the average value. If the diff is small, the pixel values in the macroblock can be considered to be close to the average value. Therefore, fluctuation or activity of the macroblock can be simply expressed by diff. A large diff means that there is a high likelihood of motion within the macroblock and that the motion vectors must be searched. Small diff means that the region is homogeneous and the motion vector of the current macroblock is likely to be similar to the motion vector of the surrounding macroblock. Thus, diff can be used as a threshold for early termination.

또한, 상기 매크로블록의 활동성의 측정 기준으로서 대표값 계산부(115)에서 제공되는 표준 편차(σa)가 사용될 수도 있다. 상기 표준 편차(σa)가 크면, 상기 픽셀 값들은 평균 값으로부터 멀리 떨어져 있음을 의미한다. 상기 표준 편차(σa)는 8*8 블록 단위로 계산되었기 때문에, 하나의 매크로블록에는 4개의 표준 편차 값이 존재한다. 결국, 하나의 매크로블록의 표준편차(σs)는 다음의 수학식 3과 같이 4개의 표준 편차들의 합에 의하여 계산될 수 있다.In addition, the standard deviation σ a provided by the representative value calculator 115 may be used as a measure of activity of the macroblock. If the standard deviation σ a is large, it means that the pixel values are far from the average value. Since the standard deviation σ a is calculated in units of 8 * 8 blocks, there are four standard deviation values in one macroblock. As a result, the standard deviation σ s of one macroblock may be calculated by the sum of four standard deviations as shown in Equation 3 below.

Figure 112009062044784-PAT00004
Figure 112009062044784-PAT00004

그런데, 상기 diff 및 σs 중 어느 하나만을 이용하여 현재 매크로블록의 활동성을 계산할 수도 있지만, 상호 보완의 측면에서 양자를 모두 이용하여 상기 활동성을 계산하는 것이 바람직하다.By the way, the activity of the current macroblock may be calculated using only one of the diff and σ s , but it is preferable to calculate the activity using both of them in terms of complementation.

본 발명의 일 실시예에 있어서, 조기종료 판단부(120)는 diff 가 소정의 제1 문턱값(α) 보다 크거나 σs가 소정의 제2 문턱값(β) 보다 크면 2비트 변환 기반의 블록 모션 추정을 적용한다. 그렇지 않다면, 조기종료 판단부(120)는 모션 추정을 조기 종료하고 현재 매크로블록의 모션 벡터는 예측 모션 벡터에 의하여 대체되도록 한다.In one embodiment of the present invention, the early termination determination unit 120 is based on the 2-bit conversion if diff is greater than the first predetermined threshold (α) or σ s is greater than the predetermined second threshold (β) Apply block motion estimation. Otherwise, the early termination determining unit 120 terminates the motion estimation early and replaces the motion vector of the current macroblock by the predictive motion vector.

현재 매크로블록이 조기 종료로 판단된 경우, 모션 벡터 예측부(130)는 통상의 중간값 예측치를 이용하여, 상기 예측 모션 벡터(MVp)를 구할 수 있다. 상기 중간값 예측치는 현재 매크로블록에 공간적으로 인접한 3개의 매크로블록들(좌측, 상측 및 우상측의 매크로블록들)의 모션 벡터들의 중간값을 의미한다. 물론, 중간값 예측치 이외에 평균값 예측치 등 다른 예측치가 이용될 수 도 있을 것이다.When it is determined that the current macroblock is prematurely terminated, the motion vector predictor 130 may obtain the predicted motion vector MV p using a normal median predictor. The median predicted value means a median value of motion vectors of three macroblocks (macroblocks of left, top, and top right) spatially adjacent to the current macroblock. Of course, other predictions, such as mean predictions, may be used in addition to the median predictions.

모션 벡터 예측부(130)에서 구한 예측 모션 벡터(MVp)는 현재 매크로블록의 실제 모션 벡터로서 사용되기 때문에, 모션 보상부(160) 및 엔트로피 부호화부(180)에 제공된다.Since the prediction motion vector MV p obtained by the motion vector predictor 130 is used as the actual motion vector of the current macroblock, it is provided to the motion compensator 160 and the entropy encoder 180.

한편, 현재 매크로블록이 조기 종료되지 않는 것으로 판단되면, 2비트 변환 기반의 블록 모션 추정이 적용된다. 비트 변환부(140)는 현재의 입력 프레임(조기 종료로 판단된 매크로블록은 제외할 수 있음)에 대하여 2비트 변환을 수행한다.On the other hand, if it is determined that the current macroblock is not terminated prematurely, 2-bit transform based block motion estimation is applied. The bit converter 140 performs 2-bit conversion on the current input frame (which may exclude the macroblock determined as early termination).

비트 변환부(140)는 상기 입력 프레임을 픽셀당 2비트의 표현으로 변환하는데, 구체적으로, 대표값 계산부(115)에서 계산된 평균(μ) 및 근사 표준 편차(σa)를 이용하는 다음의 수학식 4와 같이 변환할 수 있다. The bit converting unit 140 converts the input frame into a representation of 2 bits per pixel. Specifically, the bit converting unit 140 uses a mean (μ) and an approximated standard deviation (σ a ) calculated by the representative value calculating unit 115. It can be converted as shown in Equation 4.

Figure 112009062044784-PAT00005
Figure 112009062044784-PAT00005

여기서, I는 영상의 강도이고, (i,j)는 영상의 위치를 나타낸다. B1(i,j)는 제1 비트의 결과를 나타내고, B2(i,j)는 제2비트의 결과를 나타낸다. 결국, 비트 변환부(140)는 입력 프레임을 2비트의 프레임으로 변환한다. 도 4a 및 4b는 각각 원래의 입력 프레임과, 이로부터 비트 변환부(140)에 의하여 변환된 2비트 프레임의 예를 각각 보여준다. 8비트(256개의 휘도 스텝)로 표현된 원래의 입력 프레임에 비하여, 2비트 프레임은 2비트(4개의 휘도 스텝)로 표현되어 있음을 알 수 있다.Where I is the intensity of the image and (i, j) indicates the position of the image. B 1 (i, j) represents the result of the first bit and B 2 (i, j) represents the result of the second bit. As a result, the bit converter 140 converts the input frame into a 2-bit frame. 4A and 4B show an example of an original input frame and a 2-bit frame converted therefrom by the bit converter 140, respectively. Compared to the original input frame represented by 8 bits (256 brightness steps), it can be seen that the 2-bit frame is represented by 2 bits (4 brightness steps).

한편, 블록 모션 추정을 수행하기 위해서, 비트 변환부(140)는 상기 입력 프레임과 아울러, 탐색 대상이 되는 참조 프레임에 대해서도 2비트 변환을 수행한다.Meanwhile, in order to perform block motion estimation, the bit converter 140 performs 2-bit conversion on the reference frame to be searched in addition to the input frame.

모션 추정부(150)는 현재의 입력 프레임의 2비트 프레임(2BFo)과, 참조 프레임의 2비트 프레임(2BFr)을 이용하여 블록 모션 추정을 수행한다. 이러한 움직임 추정을 위해 널리 사용되는 알고리즘은 블록 매칭(block matching) 알고리즘이다. 즉, 주어진 모션 블록을 참조 프레임의 특정 탐색 영역 내에서 픽셀단위로 움직이면서 그 에러가 최저가 되는 경우의 변위를 모션 벡터(MVe)로 추정하는 것이다. 그런데, 상기 에러를 측정하는 기준으로는 일반적으로는 SAD(절대 차이의 합)이 사용되지만, 2비트 프레임은 실제 프레임의 특성과는 차이가 있으므로, 본 발명에서는 상기 에러의 측정 기준으로서, NNMP(number of non-matching point)을 사용하는 것이 바람직하다. 상기 NNMP는 기능적으로는 현재 입력 프레임의 매크로블록과 참조 프레임 간의 대응되는 영역 사이에 있어서, 매칭되지 않는 포인트의 수라고 정의될 수 있다.The motion estimation unit 150 performs block motion estimation using the 2-bit frame 2BF o of the current input frame and the 2-bit frame 2BF r of the reference frame. A widely used algorithm for such motion estimation is a block matching algorithm. That is, the displacement in the case where the error becomes the lowest while moving the given motion block by the pixel unit within the specific search region of the reference frame is estimated by the motion vector MV e . By the way, although SAD (sum of absolute difference) is generally used as a criterion for measuring the error, the 2-bit frame differs from the characteristics of the actual frame, and according to the present invention, NNMP ( It is preferable to use a number of non-matching points. The NNMP may be functionally defined as the number of points that do not match between a corresponding region between a macroblock of a current input frame and a reference frame.

구체적으로, NNMP는 다음의 수학식 5에 의하여 계산될 수 있다.Specifically, NNMP may be calculated by the following Equation 5.

Figure 112009062044784-PAT00006
Figure 112009062044784-PAT00006

여기서, NNMP(m,n)은 가로로 m 및 세로로 n 만큼의 변위를 갖는 픽셀들의 매칭되지 않는 포인트의 수를 나타낸다. Bt 1,2(i,j) 및 Bt-1 1,2(i,j)는 각각, 현재 프레임의 2비트 프레임 및 참조 프레임의 2비트 프레임을 나타낸다. 또한, s는 검색 범위를, N은 매크로블록의 크기를 나타내는 숫자이다. 또한,

Figure 112009062044784-PAT00007
는 불리언 배타적 논리합 연산을, ∥는 불리언 논리합 연산을 각각 나타낸다.Here, NNMP (m, n) represents the number of unmatched points of pixels having m horizontally and n vertically displaced. B t 1,2 (i, j) and B t-1 1,2 (i, j) represent 2-bit frames of the current frame and 2-bit frames of the reference frame, respectively. S is a number indicating a search range, and N is a number indicating the size of a macroblock. Also,
Figure 112009062044784-PAT00007
Denotes a Boolean exclusive OR operation, and ∥ denotes a Boolean OR operation, respectively.

모션 추정부(150)는, 이와 같이, -s 에서 s-1 범위 내에서 각각의 NNMP을 구한 후(총 4s2개의 NNMP가 구해짐), 상기 구한 NNMP들 중에서 최소인 NNMP를 결정한다. 만약, 최소로 결정된 NNMP에서의 m, n이 결국 현재 매크로블록에 대한 모션 벡터(MVe)가 되는 것이다.As described above, the motion estimation unit 150 obtains each NNMP within the range of -s to s-1 (total 4s 2 NNMPs are obtained), and then determines the minimum NNMP among the obtained NNMPs. If m, n in NNMP determined to be the minimum is eventually the motion vector MV e for the current macroblock.

상기 모션 벡터(MVe)는 상기 MVp와 마찬가지로, 모션 보상부(160) 및 엔트로피 부호화부(180)에 제공된다.The motion vector MV e is provided to the motion compensator 160 and the entropy encoder 180, similarly to the MV p .

모션 보상부(160)는 모션 벡터 예측부(130) 및 모션 추정부(150)로부터 제공되는 매크로블록들에 대한 모션 벡터들을 이용하여 참조 프레임에 대하여 모션 보상을 수행하여, 모션 보상 프레임(motion compensated frame)을 얻는다.The motion compensator 160 performs motion compensation on the reference frame using motion vectors for the macroblocks provided from the motion vector predictor 130 and the motion estimator 150, thereby performing a motion compensated frame. frame).

차분기(165)는 상기 입력 프레임과 상기 모션 보상 프레임을 차분함으로써 비디오의 시간적 중복성을 제거한다. 차분기(165)에서의 출력, 잔차 프레임(residual frame)은 공간적 변환부(170)에 제공된다.The differencer 165 removes temporal redundancy of the video by differentiating the input frame and the motion compensation frame. The output from the difference unit 165 and the residual frame are provided to the spatial converter 170.

공간적 변환부(170)는 소정의 공간적 변환법을 이용하여, 상기 잔차 프레임을 주파수 도메인으로 변환한다. 이러한 공간적 변환법으로는 주로 DCT(Discrete Cosine Transform)가 사용되며, 때로는 웨이브렛 변환(wavelet transform)이 사용되기도 한다. 공간적 변환 결과 구해지는 계수들을 변환 계수라고 하는데, 공간적 변환으로 DCT를 사용하는 경우 DCT 계수라고 하고, 웨이브렛 변환을 사용하는 경우 웨이브렛 계수라고 한다.The spatial transform unit 170 converts the residual frame into the frequency domain by using a predetermined spatial transform method. The spatial transform method mainly uses a DCT (Discrete Cosine Transform), and sometimes a wavelet transform is used. The coefficients obtained from the spatial transform are called transform coefficients, which are called DCT coefficients when the DCT is used as the spatial transform, and wavelet coefficients when the wavelet transform is used.

양자화부(175)는 공간적 변환부(170)에서 구한 변환 계수를 양자화한다. 양자화(quantization)란 임의의 실수 값으로 표현되는 상기 변환 계수를 일정 구간으로 나누어 불연속적인 값(discrete value)으로 나타내고, 이를 소정의 인덱스로 매칭(matching)시키는 과정을 의미한다. 특히, 공간적 변환 방법으로 웨이브렛 변환을 이용하는 경우에는 양자화 방법으로서 임베디드 양자화(embedded quantization) 가 이용되기도 한다.The quantization unit 175 quantizes the transform coefficients obtained by the spatial transform unit 170. Quantization refers to a process of dividing the transform coefficients, expressed as arbitrary real values, into discrete values, and matching them by a predetermined index. In particular, when the wavelet transform is used as the spatial transform method, embedded quantization may be used as the quantization method.

엔트로피 부호화부(180)는 양자화부(175)에 의하여 양자화된 변환 계수와, 모션 벡터 예측부(130) 및 모션 추정부(150)에 의하여 제공되는 모션 벡터를 무손실 부호화하여 출력 비트스트림을 생성한다. 이러한 무손실 부호화 방법으로는, 산술 부호화(arithmetic coding), 가변 길이 부호화(variable length coding), 허프만 부호화 등이 있다.The entropy encoder 180 generates an output bitstream by lossless encoding the transform coefficients quantized by the quantizer 175 and the motion vectors provided by the motion vector predictor 130 and the motion estimator 150. . Such lossless coding methods include arithmetic coding, variable length coding, Huffman coding, and the like.

지금까지 도 2의 각 구성요소는 소프트웨어(software) 또는, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)를 의미할 수 있다. 그렇지만 상기 구성요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성요소들 안에서 제공되는 기능은 더 세분화된 구성요소에 의하여 구현될 수 있으며, 복수의 구성요소들을 합하여 특정한 기능을 수행하는 하나의 구성요소로 구현할 수도 있다.Until now, each component of FIG. 2 may refer to software or hardware such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). However, the components are not limited to software or hardware, and may be configured to be in an addressable storage medium and may be configured to execute one or more processors. The functions provided in the above components may be implemented by more detailed components, or may be implemented as one component that performs a specific function by combining a plurality of components.

도 5는 본 발명의 일 실시예에 따른 블록 모션 추정 방법을 도시하는 흐름도이다.5 is a flowchart illustrating a block motion estimation method according to an embodiment of the present invention.

먼저, 매크로블록 분할부(110)는 입력 프레임을 매크로블록의 크기로 분할한다(S10).First, the macroblock dividing unit 110 divides the input frame into the size of the macroblock (S10).

그 다음, 대표값 계산부(115)는 상기 입력된 매크로블록을, 예를 들어, 8*8 블록으로 분할하고 각각의 8*8 블록을 둘러싸는 포위 윈도우를 설정한 후, 상기 포 위 윈도우 내에서 대표값, 예를 들어, 평균(μ) 및 표준 편차(σ)를 계산한다(S20).The representative value calculator 115 then divides the input macroblock into, for example, 8 * 8 blocks and sets an enclosing window that surrounds each 8 * 8 block, and then within the enveloping window. Representative values, for example, the average (μ) and the standard deviation (σ) is calculated at (S20).

조기종료 판단부(120)는 현재 매크로블록의 활동성 정도를 계산하고, 상기 계산된 활동성 정도가 소정의 문턱값를 넘는가를 기준으로 현재 매크로블록의 조기종료 여부를 판단한다(S30).The early termination determination unit 120 calculates the activity degree of the current macroblock, and determines whether to end the current macroblock early based on whether the calculated activity degree exceeds a predetermined threshold (S30).

상기 판단 결과, 조기종료로 판단되면, 모션 벡터 예측부(130)는 주변의 매크로블록에서의 모션 벡터들을 이용하여 현재 매크로블록의 모션 벡터를 예측한다(S40). 예를 들어, 모션 벡터 예측부(130)는 주변의 모션 벡터들의 중간값으로 현재 매크로블록의 모션 벡터를 대체한다.As a result of the determination, if it is determined to be early termination, the motion vector predictor 130 predicts the motion vector of the current macroblock using the motion vectors of the neighboring macroblocks (S40). For example, the motion vector predictor 130 replaces the motion vector of the current macroblock with the median of the surrounding motion vectors.

상기 판단 결과, 조기종료가 아닌 것으로 판단되면, 비트 변환부(140)는 현재 프레임과 탐색 대상이 되는 참조 프레임에 대하여 각각, 2비트 변환을 수행한다(S50). 그 결과, 현재 프레임에 대한 2비트 프레임과 참조 프레임에 대한 2비트 프레임이 각각 구해진다.As a result of the determination, if it is determined that it is not the early termination, the bit converter 140 performs 2-bit conversion on the current frame and the reference frame to be searched, respectively (S50). As a result, 2-bit frames for the current frame and 2-bit frames for the reference frame are obtained, respectively.

모션 추정부(150)는 상기 현재 프레임의 2비트 프레임과, 상기 참조 프레임의 2비트 프레임을 이용하여 블록 모션 추정을 수행한다(S60). 이 때, 최적의 모션 벡터를 탐색하기 위하여 NNMP 알고리즘이 적용될 수 있다.The motion estimation unit 150 performs block motion estimation using the 2-bit frame of the current frame and the 2-bit frame of the reference frame (S60). In this case, the NNMP algorithm may be applied to search for an optimal motion vector.

이와 같은 과정(S10 내지 S60)은, 현재 프레임의 모든 매크로블록에 대하여 완료될 때(S70의 예)까지 반복될 수 있다.Such processes S10 to S60 may be repeated until completion of all macroblocks of the current frame (YES in S70).

이하에서는, 특정 비디오 샘플에 완전 검색(FS), 단순한 2비트 검색(2BT) 및 제안된 발명(2비트 검색에 조기종료 기법 적용)을 적용한 결과에 대하여 설명한다. 상기 3가지 방법은 다수의 CIF(352*288) 및 QCIF(176*144) 크기의 비디오 시퀀스들에 적용되었으며, 검색 범위는 16으로 설정되었다. 객관적인 시각적 품질을 평가하기 위하여 휘도 성분에 대한 PSNR(peak signal-to-noise ratio)이 사용되었다. 다음의 표 1은 그 실험 결과를 보여준다.The following describes the results of applying the complete search (FS), simple two-bit search (2BT), and the proposed invention (applying early termination techniques to two-bit search) to specific video samples. The three methods were applied to multiple CIF (352 * 288) and QCIF (176 * 144) size video sequences, and the search range was set to 16. Peak signal-to-noise ratio (PSNR) for luminance components was used to assess the objective visual quality. Table 1 below shows the experimental results.

Figure 112009062044784-PAT00008
Figure 112009062044784-PAT00008

종료 비율(Termination ratio)은 총 매크로블록에 대하여 조기 종료가 적용되는 매크로블록의 수를 나타내는 비율을 의미한다. 제1 문턱값(α) 및 제2 문턱값(β)은 각각 2000 및 110으로 설정되었다. 몇몇 PSNR 결과에서는 오히려 2BT에 비하여 본 발명이 더 높은 값을 보여주기도 하는데, 이는 중간값 예측치가 잘 작동하였음을 의미한다. 제안된 발명에 따르면, 화질은 대략 그대로 유지하면서도, 평균적으로 CIF 영상에 대하여 29.50%의 매크로블록들과 QCIF 영상에 대하여 24.36%의 매크로블록들에 관한 모션 검색 과정이 생략될 수 있음을 알 수 있다.Termination ratio means a ratio indicating the number of macroblocks to which early termination is applied to the total macroblocks. The first threshold α and the second threshold β are set to 2000 and 110, respectively. In some PSNR results, the present invention shows a higher value than 2BT, which means that the median prediction worked well. According to the proposed invention, it can be seen that the motion search process for 29.50% of macroblocks for CIF images and 24.36% for macroblocks for QCIF images can be omitted on average while maintaining the image quality as it is. .

한편, 다음의 6a 및 6b는 도 4a와 같은 영상에 제안된 발명에 따른 조기종료 알고리즘을 적용한 결과를 보여준다. 이 중에서, 도 6a는 diff에 의하여 감지되는 균일한 매크로블록들(검은색 영역)을 보여주고, 도 6b는 σs에 의하여 감지되는 균일한 매크로블록들(검은색 영역)을 보여준다. 도 6a 및 6b에 따르면, diff는 조기 종료를 위한 개략적인 척도이고, σs는 조기 종료를 위한 다소 엄격한 척도라고 볼 수 있다. 즉, σs는 더 많은 조기 종료 매크로블록을 제시할 수 있다. 결론적으로, 도 6a 및 6b는 두 사람이 움직이고 있는 부분과 카펫, 벽 등과 같이 정지한 영역을 분리하여 보여준다. 따라서, 상기 정지한 영역에 대하여 조기 종료 알고리즘을 적용함으로써 블록 모션 추정의 속도 향상을 꾀할 수 있는 것이다.On the other hand, the following 6a and 6b shows the result of applying the early termination algorithm according to the invention proposed in the image as shown in Figure 4a. Among these, FIG. 6A shows uniform macroblocks (black region) detected by diff, and FIG. 6B shows uniform macroblocks (black region) sensed by σ s . 6a and 6b, diff can be seen as a rough measure for early termination, and s s as a rather strict measure for early termination. In other words, σ s can suggest more early termination macroblocks. As a result, FIGS. 6A and 6B separately show moving parts and stationary areas such as carpets and walls. Therefore, the speed of block motion estimation can be improved by applying an early termination algorithm to the stationary region.

이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야 한다.Although the embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention pertains may implement the present invention in other specific forms without changing the technical spirit or essential features thereof. I can understand that. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive.

도 1은 통상의 블록 모션 추정 기법의 개념을 보여주는 도면이다.1 is a diagram illustrating the concept of a conventional block motion estimation technique.

도 2는 본 발명의 일 실시예에 따른 비디오 인코딩 장치의 구성을 도시한 블록도이다.2 is a block diagram illustrating a configuration of a video encoding apparatus according to an embodiment of the present invention.

도 3은 특정 블록에 포위 윈도우를 설정하는 예를 보여주는 도면이다.3 is a diagram illustrating an example of setting a surrounding window in a specific block.

도 4a 원래의 입력 프레임의 예를 보여주는 도면이다.4A illustrates an example of an original input frame.

도 4b는 상기 원래의 입력 프레임으로부터 비트 변환부에 의하여 변환된 2비트 프레임을 보여주는 도면이다.4B is a diagram illustrating a 2-bit frame converted by a bit converter from the original input frame.

도 5는 본 발명의 일 실시예에 따른 블록 모션 추정 방법을 도시하는 흐름도이다.5 is a flowchart illustrating a block motion estimation method according to an embodiment of the present invention.

도 6a는 도 4a에서 평균편차에 의해 감지되는 균일한 매크로블록들을 보여주는 도면이다.FIG. 6A illustrates uniform macroblocks detected by the mean deviation in FIG. 4A.

도 6b는 도 4a에서 표준편차에 의하여 감지되는 균일한 매크로블록들을 보여주는 도면이다.FIG. 6B illustrates uniform macroblocks detected by standard deviation in FIG. 4A.

(도면의 주요부분에 대한 부호 설명)(Symbol description of main part of drawing)

100: 비디오 인코딩 장치 110: 매크로블록 분할부100: video encoding apparatus 110: macroblock splitter

115: 대표값 계산부 120: 조기종료 판단부115: representative value calculation unit 120: early termination determination unit

130: 모션 벡터 예측부 140: 비트 변환부130: motion vector predictor 140: bit converter

150: 모션 추정부 160: 모션 보상부150: motion estimation unit 160: motion compensation unit

165: 차분기 170: 공간적 변환부165: difference unit 170: spatial transform unit

175: 양자화부 180: 엔트로피 부호화부175: quantization unit 180: entropy encoding unit

Claims (13)

입력 프레임을 부호화하는 비디오 인코딩 장치에 사용되는 블록 모션 추정 방법에 있어서,In the block motion estimation method used in a video encoding apparatus for encoding an input frame, 상기 입력 프레임을 구성하는 매크로블록의 대표값을 계산하는 단계;Calculating a representative value of a macroblock constituting the input frame; 상기 계산된 대표값을 이용하여 상기 매크로블록의 활동성 정도를 계산하는 단계; 및Calculating a degree of activity of the macroblock using the calculated representative value; And 상기 활동성 정도가 소정의 문턱값을 넘으면 모션 추정 과정을 수행하고, 상기 활동성 정도가 소정의 문턱값을 넘지 않으면 모션 추정 과정을 생략하는 단계를 포함하는, 블록 모션 추정 방법.And performing a motion estimation process when the activity degree exceeds a predetermined threshold, and skipping the motion estimation process when the activity degree does not exceed a predetermined threshold. 제1항에 있어서,The method of claim 1, 상기 활동성 정도가 소정의 문턱값을 넘지 않으면, 상기 매크로블록의 주변의 모션 벡터들로부터 상기 매크로블록의 모션 벡터를 예측하는 단계를 더 포함하는, 블록 모션 추정 방법.If the degree of activity does not exceed a predetermined threshold, further comprising predicting a motion vector of the macroblock from motion vectors in the vicinity of the macroblock. 제1항에 있어서, The method of claim 1, 상기 대표값은 평균값이고, 상기 활동성 정도는 상기 매크로블록에 속하는 픽셀들의 값들과 상기 평균값간의 차이의 합인, 블록 모션 추정 방법.The representative value is an average value, and the degree of activity is a sum of a difference between the values of the pixels belonging to the macroblock and the average value. 제1항에 있어서, The method of claim 1, 상기 대표값은 표준편차이고, 상기 활동성 정도는 상기 표준편차인, 블록 모션 추정 방법.The representative value is a standard deviation, and the activity degree is the standard deviation. 제1항에 있어서, 상기 모션 추정 과정은The method of claim 1, wherein the motion estimation process 상기 입력 프레임과 참조 프레임에 대하여 2비트 변환을 수행하여, 상기 입력 프레임에 대한 2비트 프레임과, 상기 참조 프레임에 대한 2비트 프레임을 구하는 단계; 및Performing 2-bit conversion on the input frame and the reference frame to obtain a 2-bit frame for the input frame and a 2-bit frame for the reference frame; And 상기 현재 프레임에 대한 2비트 프레임과, 상기 참조 프레임의 2비트 프레임을 이용하여 상기 매크로블록의 모션 벡터를 구하는 단계를 포함하는, 블록 모션 추정 방법.Obtaining a motion vector of the macroblock using a 2-bit frame for the current frame and a 2-bit frame of the reference frame. 제5항에 있어서, 상기 모션 벡터를 구하는 단계는6. The method of claim 5, wherein obtaining the motion vector 상기 매크로블록과 상기 참조 프레임 간의 대응되는 영역 사이에 있어서, 매칭되지 않는 포인트의 수가 최소가 될 때의 변위를 구하는 단계를 포함하는, 블록 모션 추정 방법.Obtaining a displacement between the macroblock and the corresponding region between the reference frame when the number of unmatched points is minimum. 입력 프레임을 구성하는 매크로블록의 대표값을 계산하는 대표값 계산부;A representative value calculator for calculating a representative value of a macroblock constituting an input frame; 상기 계산된 대표값을 이용하여 상기 매크로블록의 활동성 정도를 계산하여, 상기 활동성 정도가 소정의 문턱값을 넘지 않으면 모션 추정을 생략할 것으로 판단 하는 조기종료 판단부;An early termination determination unit that calculates a degree of activity of the macroblock using the calculated representative value, and determines that motion estimation is to be omitted if the degree of activity does not exceed a predetermined threshold value; 상기 활동성 정도가 소정의 문턱값을 넘는 경우에, 모션 추정을 수행하여 모션 벡터를 탐색하는 모션 추정부;A motion estimator for searching for a motion vector by performing motion estimation when the degree of activity exceeds a predetermined threshold; 상기 입력 프레임에서, 상기 모션 벡터에 의해 참조 프레임을 보상한 모션 보상 프레임을 차분하여 잔차 프레임(residual frame)을 얻는 차분기; 및A difference unit in the input frame, obtaining a residual frame by differentially compensating a motion compensation frame for compensating a reference frame by the motion vector; And 상기 잔차 프레임을 부호화하는 수단을 포함하는 비디오 인코딩 장치.Means for encoding the residual frame. 제7항에 있어서, 상기 잔차 프레임을 부호화하는 수단은8. The apparatus of claim 7, wherein the means for encoding the residual frame is 상기 잔차 프레임을 주파수 도메인으로 변환하여 변환 계수를 생성하는 공간적 변환부;A spatial transform unit transforming the residual frame into a frequency domain to generate transform coefficients; 상기 변환계수를 양자화하는 양자화부; 및A quantizer for quantizing the transform coefficients; And 상기 양자화의 결과와 상기 모션 벡터를 무손실 부호화하는 엔트로피 부호화부를 포함하는 비디오 인코딩 장치.And an entropy encoder configured to losslessly encode the result of the quantization and the motion vector. 제7항에 있어서,The method of claim 7, wherein 상기 활동성 정도가 소정의 문턱값을 넘지 않는 경우에, 상기 매크로블록의 주변의 모션 벡터들로부터 상기 매크로블록의 모션 벡터를 예측하는 모션 벡터 예측부를 더 포함하는, 비디오 인코딩 장치.And a motion vector predictor for predicting the motion vector of the macroblock from the motion vectors around the macroblock when the degree of activity does not exceed a predetermined threshold. 제7항에 있어서, The method of claim 7, wherein 상기 대표값은 평균값이고, 상기 활동성 정도는 상기 매크로블록에 속하는 픽셀들의 값들과 상기 평균값간의 차이의 합인, 비디오 인코딩 장치.The representative value is an average value, and the degree of activity is a sum of a difference between values of pixels belonging to the macroblock and the average value. 제7항에 있어서, The method of claim 7, wherein 상기 대표값은 표준편차이고, 상기 활동성 정도는 상기 표준편차인, 비디오 인코딩 장치.The representative value is a standard deviation, and the degree of activity is the standard deviation. 제1항에 있어서,The method of claim 1, 상기 입력 프레임과 참조 프레임에 대하여 2비트 변환을 수행하여, 상기 입력 프레임에 대한 2비트 프레임과, 상기 참조 프레임에 대한 2비트 프레임을 구하는 비트 변환부를 더 포함하고,And a bit converter configured to perform 2-bit conversion on the input frame and the reference frame to obtain a 2-bit frame for the input frame and a 2-bit frame for the reference frame. 상기 모션 추정부는 상기 현재 프레임에 대한 2비트 프레임과, 상기 참조 프레임의 2비트 프레임을 이용하여 상기 매크로블록의 모션 벡터를 구하는, 비디오 인코딩 장치.And the motion estimation unit obtains a motion vector of the macroblock using a 2-bit frame for the current frame and a 2-bit frame of the reference frame. 제12항에 있어서, 상기 모션 추정부는The method of claim 12, wherein the motion estimation unit 상기 매크로블록과 상기 참조 프레임 간의 대응되는 영역 사이에 있어서, 매칭되지 않는 포인트의 수가 최소가 될 때의 변위를 구하는, 비디오 인코딩 장치.And obtaining a displacement between the macroblock and the corresponding region between the reference frame when the number of unmatched points becomes minimum.
KR1020090096291A 2009-10-09 2009-10-09 Fast motion-estimation method and video encoding apparatus using the same KR20110039030A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090096291A KR20110039030A (en) 2009-10-09 2009-10-09 Fast motion-estimation method and video encoding apparatus using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090096291A KR20110039030A (en) 2009-10-09 2009-10-09 Fast motion-estimation method and video encoding apparatus using the same

Publications (1)

Publication Number Publication Date
KR20110039030A true KR20110039030A (en) 2011-04-15

Family

ID=44045895

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090096291A KR20110039030A (en) 2009-10-09 2009-10-09 Fast motion-estimation method and video encoding apparatus using the same

Country Status (1)

Country Link
KR (1) KR20110039030A (en)

Similar Documents

Publication Publication Date Title
KR102026856B1 (en) Method for predicting motion vectors in a video codec that allows multiple referencing, motion vector encoding/decoding apparatus using the same
US20110235715A1 (en) Video coding system and circuit emphasizing visual perception
KR102218696B1 (en) Methods and apparatus for video transform encoding/decoding
JP2013500661A (en) Method for decoding a stream of encoded data representing an image sequence and method for encoding an image sequence
KR20090079286A (en) Method and apparatus for estimating motion vector of moving images using fast full search block matching algorithm
KR101610029B1 (en) Method for a motion estimation based on a variable size block matching and video encoding apparatus using the same
KR100305582B1 (en) Fast motion estimating method using adaptive scan based on image complexity
KR101610028B1 (en) Method and apparatus for fast motion estimation and video encoding apparatus using the same
KR20110039030A (en) Fast motion-estimation method and video encoding apparatus using the same
KR101070173B1 (en) Encoding system and method of conversion block for raising video compressive efficiency
KR101037743B1 (en) Method for motion estimation using an efficient early termination scheme, and apparatus for video encoding using the same
Liu et al. A fast and novel intra and inter modes decision prediction algorithm for H. 264/AVC based on the characteristics of macro-block
KR101543200B1 (en) Method for predicting motion vectors in a video codec that allows multiple referencing, motion vector encoding/decoding apparatus using the same
KR101037070B1 (en) Fast Motion Estimation Method Using Full Search
KR101619739B1 (en) Method for fast motion estimation and video encoding apparatus using the same
KR20110065105A (en) Motion estimation method and appartus providing sub-pixel accuracy, and video encoder using the same
Koumaras et al. Impact of H. 264 advanced video coding inter-frame block sizes on video quality

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application