KR100701129B1 - High speed block mode decision method - Google Patents
High speed block mode decision method Download PDFInfo
- Publication number
- KR100701129B1 KR100701129B1 KR1020050090726A KR20050090726A KR100701129B1 KR 100701129 B1 KR100701129 B1 KR 100701129B1 KR 1020050090726 A KR1020050090726 A KR 1020050090726A KR 20050090726 A KR20050090726 A KR 20050090726A KR 100701129 B1 KR100701129 B1 KR 100701129B1
- Authority
- KR
- South Korea
- Prior art keywords
- mode
- block mode
- motion
- skip
- inter
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
도 1은 입력 비디오 신호를 압축하는 동작을 설명하기 위한 블록 기반의 영상 부호화기를 개략적으로 나타내는 블록도이다.1 is a block diagram schematically illustrating a block-based image encoder for explaining an operation of compressing an input video signal.
도 2는 H.264와 같이 움직임 검색을 하기 위한 다양한 블록 모드를 나타내는 도면이다. 2 is a diagram illustrating various block modes for motion search as in H.264.
도 3은 종래의 블록 모드 결정을 위한 움직임 검색 과정을 구체적으로 보이는 흐름도이다. 3 is a flowchart specifically illustrating a motion search process for determining a conventional block mode.
도 4는 전술된 바와 같은 SKIP 블록 모드의 특성을 이용한 본 발명에 따른 고속 블록 모드 결정 방법의 일실시예를 나타내는 흐름도이다.4 is a flowchart illustrating an embodiment of a fast block mode determination method according to the present invention using the characteristics of the SKIP block mode as described above.
본 발명은 영상 부호화기에 관한 것으로, 특히, 움직임 추정을 통해 부호화를 위한 블록 모드를 결정하는 고속 블록 모드 결정 방법에 관한 것이다. The present invention relates to an image encoder, and more particularly, to a fast block mode determination method for determining a block mode for encoding through motion estimation.
도 1은 입력 비디오 신호를 압축하는 동작을 설명하기 위한 블록 기반의 영상 부호화기를 개략적으로 나타내는 블록도이다. 도 1에 도시된 영상 부호화기는 블록 단위화부(10), 감산부(20), 블록 이산 코사인 변환기(블록 DCT, 30), 양자화기 (40), 가변 길이 부호화기(50), 멀티플렉서(60), 움직임 보상기(70), 역 양자화/IDCT(80), 움직임 추정기(110), 프레임 메모리(100) 및 가산기(90)를 포함하여 구성된다. 1 is a block diagram schematically illustrating a block-based image encoder for explaining an operation of compressing an input video signal. The image encoder illustrated in FIG. 1 includes a
도 1을 참조하여, 블록 단위화부(10)는 비디오 입력의 매 프레임을 블록 단위로 분할한다. 감산기(20)는 블록 단위화부(10)에서 제공되는 현재 프레임 I(t)으로부터 움직임 보상기(70)에서 제공되는 프레임 I(t')을 감산한다. 블록 DCT(30)는 감산기(20)에서 감산된 결과를 이산 코사인 변환하고, 양자화기(40)는 블록 DCT(30)에서 변환된 계수들을 양자화한다. 가변길이 부호화기(50)는 양자화기(40)에서 양자화된 값을 가변길이 코딩을 수행하여 압축 스트림으로 생성한다. 한편, 역 양자화기/IDCT(80)는 양자화기(40)에서 양자화된 값을 역 양자화 및 역 이산 코사인 변환을 수행하며, 가산기(90)는 역 양자화 및 역 이산 코사인 변환결과를 움직임 보상기(70)에서 제공되는 프레임에 가산한다. 프레임 메모리(100)는 가산기(90)에서 가산된 결과를 이전 프레임 I(t-1)으로서 저장한다. 움직임 추정기(110)는 프레임 메모리(100)에 저장된 이전 프레임 I(t-1)과 현재 프레임 I(t) 간의 화소값 비교를 통해 움직임 벡터(MV)를 예측한다. 움직임 보상기(70)는 움직임 예측기(110)에서 제공되는 움직임 벡터(MV)를 프레임 메모리(100)로부터 제공되는 이전 프레임 I(t-1)에 적용하여 새로운 프레임 I(t')을 생성한다. 멀티-플렉서(60)는 가변길이 부호화기(50)에서 생성되는 영상 데이터 또는 움직임 추정기(110)에서 생성되는 움직임 벡터(MV)를 멀티 플렉싱한다. Referring to FIG. 1, the
한편, 현재의 영상 압축 표준들은 구현의 용이성 때문에 블록 기반의 정합 알고리즘을 움직임 추정기(110)에 적용하여 움직임 벡터(MV)를 검출한다. 이경우, 두 프레임간의 상관성을 최대로 제거함으로써 전송해야 할 데이터를 줄일 수 있다. 영상 신호의 압축 표준 중 하나인 H.264는, 움직임 추정기가 현재 입력되는 매크로 블록을 다양한 블록 모드로 움직임 검색을 하고, 그 중 부호화 효율이 가장 높은 블록 모드를 매크로 블록의 최종적인 블록 모드로 선택하므로, 부호화 효율에 있어 많은 이득을 제공한다. 그리고 복수개의 참조영상을 지원하기 때문에 현재 블록과 중복성이 가장 많은 프레임의 블록을 참조영상으로 선택하여 이전 프레임만을 참조영상으로 사용할때보다 더욱 큰 부호화 효율을 얻을 수 있다. Meanwhile, current image compression standards detect a motion vector (MV) by applying a block-based matching algorithm to the
도 2는 H.264와 같이 움직임 검색을 하기 위한 다양한 블록 모드를 나타내는 도면이다. H.264에서는 도 2에 도시된 인터 모드(Inter16x16, Inter16x8, Inter8x16, P8x8)와 인트라 모드(INT16x16, INT4x4), 그리고 SKIP 블록 모드 등 7가지의 가능한 블록 모드 중 부호화 코스트가 최소가 되는 블록 모드를 최종적인 매크로 블록의 블록 모드로 결정한다. 여기서, 부호화 코스트는 화질의 열화와 비트량을 고려한 율-왜곡 최적화 함수값이다. 2 is a diagram illustrating various block modes for motion search as in H.264. In H.264, among the seven possible block modes such as inter mode (Inter16x16, Inter16x8, Inter8x16, P8x8), intra mode (INT16x16, INT4x4), and SKIP block mode shown in FIG. Determine the block mode of the final macroblock. Here, the coding cost is a rate-distortion optimization function value in consideration of deterioration of image quality and bit amount.
도 3은 종래의 블록 모드 결정을 위한 움직임 검색 과정을 구체적으로 보이는 흐름도이다. 3 is a flowchart specifically illustrating a motion search process for determining a conventional block mode.
도 2 및 도 3을 참조하여, 종래의 블록 모드 결정 과정을 설명한다. H.264에서는 매크로 블록의 블록 모드를 결정하기 위한 움직임 검색시, 인터 모드에 대해 검색을 수행한 후 인트라 모드, SKIP 블록 모드에 대해 검색을 수행한다. 먼저, 인 터 모드는 하나의 16x16 매크로 블록을 16x16 블록으로 움직임 검색을 수행하여 Inter 16x16 모드에 대한 부호화 코스트를 구한(제300단계) 후, 16x8 블록으로 나누어 움직임 검색을 수행하여 Inter 16x8 모드에 대한 부호화 코스트를 구한다(제310단계). 그런 다음, 16x16 매크로 블록을 8x16 블록으로 나누어 움직임 검색을 수행하여 Inter 8x16 모드에 대한 부호화 코스트를 구한(제320단계) 후, 8x8 블록으로 나누어 움직임 검색을 수행하여 부호화 코스트를 구한다(제330단계). 제330단계는 구체적으로, 매크로 블록을 8x8 블록으로 나누어 움직임 검색을 수행하여 P8x8 모드에 대한 부화화 코스트를 구하는 단계(제332단계), 8x4 블록으로 나누어 움직임 검색을 수행하여 Inter 8x4에 대한 부화화 코스트를 구하는 단계(제334단계), 4x8블록으로 나누어 움직임 검색을 수행하여 Inter 4x8 모드에 대한 부화화 코스트를 구하는 단계 및 4x4 블록으로 나누어 움직임 검색을 수행하여 Inter 4x4 모드에 대한 부화화 코스트를 구하는 단계(제338단계)를 수행한다. 이상에서와 같이, 다양한 가변 블록 크기로 움직임 검색을 하면 영상의 특성과 움직임에 따라서 영상을 효과적으로 부호화 할 수 있다. 예컨대, 영상의 움직임이 적고 물체가 큰 경우 큰 블록 크기로, 영상의 움직임이 많고 물체가 작을 경우 작은 블록 크기로 움직임 추정 및 부호화 하는 것이 효과적이다. Referring to Figures 2 and 3, a conventional block mode determination process will be described. In H.264, when searching for a motion to determine a block mode of a macroblock, an inter mode is searched and then an intra mode and a SKIP block mode are searched. First, the inter mode performs a motion search on one 16x16 macroblock to a 16x16 block to obtain a coding cost for the Inter 16x16 mode (step 300), and then divides the 16x8 block into a 16x8 block to perform a motion search for the Inter 16x8 mode. The encoding cost is obtained (step 310). Then, the coding cost for the Inter 8x16 mode is obtained by performing a motion search by dividing the 16x16 macroblock into 8x16 blocks (step 320), and then, the motion cost is obtained by dividing the 16x16 macroblock into 8x8 blocks (step 330). . Specifically, in
계속해서, 인터 모드에 대한 움직임 검색이 완료되면 인트라 모드 즉, Intra 4x4, Intra 16x16 및 SKIP 블록 모드로 움직임 검색을 수행하여 각각에 대한 부호화 코스트를 구한다(제340~360단계). 여기서 SKIP 블록 모드는 움직임 벡터가 원점(0,0) 또는 Inter 16x16 모드의 움직임 벡터를 가지며 DCT 및 양자화 후 잔여신호 가 모두 0인 경우이다.Subsequently, when the motion search for the inter mode is completed, the motion search is performed in the intra mode, that is, the Intra 4x4, Intra 16x16, and SKIP block modes, to obtain the encoding cost for each (steps 340 to 360). Here, the SKIP block mode is a case in which the motion vector has a motion vector of origin (0,0) or Inter 16x16 mode, and the residual signal after DCT and quantization is all zero.
이상에서와 같이, 7가지 블록 모드 모두에 대한 부호화 코스트가 모두 구해지면, 그 중 최소의 코스트를 갖는 블록 모드를 최종적으로 선택한다(제370단계). As described above, when the coding costs for all seven block modes are obtained, the block mode having the lowest cost among them is finally selected (step 370).
이상에서 설명된 바와 같이, 종래에는 다수의 블록 모드 별로 움직임 검색을 수행하여 부화화 코스트를 구하고, 그 중 부호화 코스트가 가장 낮은 것 즉, 부호화 효율이 가장 좋게 판정된 블록 모드를 매크로 블록의 최종적인 블록 모드로 결정한다. 따라서, 비트 레이트 측면에서 많은 이득을 볼 수 있으며, 동일 비트 레이트로 더 좋은 화질을 제공하는 영상 압축이 가능하다. As described above, in the related art, a hatching cost is obtained by performing a motion search for a plurality of block modes, and among the macroblocks, the block mode in which the coding cost is determined to be the lowest, that is, the coding efficiency is determined to be the best. Decide on block mode. Therefore, a lot of gains can be seen in terms of bit rate, and image compression that provides better image quality at the same bit rate is possible.
그러나, 영상 부호화기 측면에서는 블록 모드를 결정하기 위해서 다수의 블록 모드를 이용하여 움직임 검색을 수회 수행하므로 계산량이 매우 많아져 영상 부호기의 복잡도를 증가시킨다는 문제가 있다. However, in the aspect of the image encoder, since the motion search is performed several times using a plurality of block modes to determine the block mode, the computational amount becomes very large, thereby increasing the complexity of the image encoder.
본 발명이 이루고자 하는 기술적 과제는, 영상 부호화기에서 움직임 추정을 통해 부호화를 위한 블록 모드 결정시, 입력된 매크로 블록을 SKIP 블록 모드로 할 것인지의 여부를 먼저 판정하고, SKIP 블록 모드로 판정된 매크로 블록에 대해서는 인터 모드에 대한 움직임 검색을 생략함으로써 계산량을 크게 줄일 수 있는 고속 블록 모드 결정 방법에 관한 것이다. The technical problem to be solved by the present invention is to first determine whether to set the input macroblock to the SKIP block mode when determining the block mode for encoding by motion estimation in the image encoder, and then determine the macroblock determined to the SKIP block mode. For a high-speed block mode determination method that can greatly reduce the amount of computation by omitting the motion search for the inter mode.
본 발명이 이루고자 하는 다른 기술적 과제는 상기 고속 블록 모드 결정 방법을 컴퓨터에서 실행 가능한 프로그램 코드로 기록된 기록 매체를 제공하는 데 있다. Another object of the present invention is to provide a recording medium in which the fast block mode determination method is recorded by program code executable by a computer.
상기 기술적 과제를 이루기 위해, 영상 부호화기에서 움직임 추정을 통해 부호화를 위한 블록 모드를 결정하는 본 발명에 따른 고속 블록 모드 결정 방법은 이웃한 프레임간의 움직임을 고려하여 적응적 임계값을 구하는 (a)단계, 적응적 임계값을 이용하여, 입력된 16x16 매크로 블록을 SKIP 블록 모드로 할 것인가를 판별하는 (b)단계, (b)단계에서 SKIP 블록 모드로 판별되면 SKIP 블록 모드에 대한 움직임 검색을 통해 부호화 코스트를 구하고, SKIP 블록 모드로 판별되지 않으면 인터 블록 모드에 대한 움직임 검색을 통해 인터 블록 모드 각각에 대한 부호화 코스트를 구하는 (c)단계, 인트라 블록 모드에 대한 움직임 검색을 통해 인트라 블록 모드 각각에 대한 부호화 코스트를 구하는 (d)단계 및 (c)단계 및 (d)단계에서 구한 부호화 코스트를 비교하여 최소의 부호화 코스트를 갖는 블록 모드를 16x16 매크로 블록의 움직임 추정을 위한 최종 블록 모드로 결정하는 (e)단계를 포함하는 것이 바람직하다. In order to achieve the above technical problem, in the fast block mode determination method according to the present invention in which a block mode for encoding is determined by motion estimation in an image encoder, an adaptive threshold value is determined in consideration of motion between neighboring frames. In step (b) and step (b) of determining whether to input the 16x16 macroblock into the SKIP block mode using the adaptive threshold value, if it is determined to be the SKIP block mode, encoding is performed through the motion search for the SKIP block mode. (C) obtaining a cost for each of the interblock modes through motion search for the interblock mode if the cost is not determined and the SKIP block mode is determined, and for each intrablock mode through the motion search for the intrablock mode. Comparing the coding costs obtained in steps (d) and (c) and (d) for obtaining the coding cost, And (e) determining the block mode having the depreciation cost as the final block mode for motion estimation of the 16x16 macroblock.
이하, 본 발명에 따른 고속 블록 모드 결정 방법을 첨부한 도면들을 참조하여 다음과 같이 설명한다. Hereinafter, a fast block mode determination method according to the present invention will be described with reference to the accompanying drawings.
본 발명에 따른 블록 모드 결정 방법을 설명하기에 앞서 SKIP 블록 모드의 특성에 대해 살펴보면, 7가지 블록 모드 중 SKIP 블록 모드는 동영상에서 배경과 같이 매 프레임마다 반복되는 부분을 효과적으로 부호화하기 위하여 사용한다. 16x16의 매크로 블록이 SKIP 블록 모드로 결정되려면 다음 4가지 조건을 만족해야 한다. Before describing the method of determining a block mode according to the present invention, the characteristics of the SKIP block mode will be described. Among the seven block modes, the SKIP block mode is used to effectively encode a portion repeated every frame like a background in a video. To determine 16x16 macroblock in SKIP block mode, the following four conditions must be met.
1. 움직임 보상 블록이 16x16 이어야 한다. 1. The motion compensation block must be 16x16.
2. 참조 영상이 바로 이전 영상이어야 한다. 2. The reference picture should be the previous picture.
3. 움직임 벡터가 예측 움직임 벡터와 같아야 한다. 3. The motion vector must be the same as the predicted motion vector.
4. 잉여 데이터의 비트량이 0 이어야 한다. 4. The bit amount of surplus data must be zero.
한편, 영상의 특성상 SKIP 블록 모드에 대한 부호화 코스트는 인터 블록 모드(Inter 16x16, Inter 8x16, Inter 16x8 및 P8x8)에 대한 부호화 코스트보다 낮을 가능성이 매우 높다. 본 발명에 따른 고속 블록 모드 결정 방법은 이와 같은 영상의 특성을 이용하여, 입력된 매크로 블록에 대해 인터 블록 모드로 움직인 검색을 수행하기 전에 SKIP 블록 모드 여부를 먼저 판정하고 SKIP 블록 모드로 판정되면 인터 블록 모드에 대한 움직임 검색을 생략함으로써, 영상 부호화기에서 영상 추정기가 보다 빠르고 간단하게 블록 모드를 결정할 수 있다. On the other hand, it is very likely that the encoding cost for the SKIP block mode is lower than the encoding cost for the inter block modes Inter 16x16, Inter 8x16, Inter 16x8, and P8x8. In the fast block mode determination method according to the present invention, whether the SKIP block mode is first determined before performing the search in which the input macroblock is moved to the interblock mode with respect to the input macroblock, and then determined as the SKIP block mode. By omitting the motion search for the inter block mode, the image estimator can determine the block mode more quickly and simply in the image encoder.
도 4는 전술된 바와 같은 SKIP 블록 모드의 특성을 이용한 본 발명에 따른 고속 블록 모드 결정 방법의 일실시예를 나타내는 흐름도이다.4 is a flowchart illustrating an embodiment of a fast block mode determination method according to the present invention using the characteristics of the SKIP block mode as described above.
도 4를 참조하여, 움직임 추정기(도 1참조)는 이웃한 프레임간의 움직임을 고려하여 적응적 임계값(Thskip)을 구한다(제400단계).Referring to FIG. 4, the motion estimator (see FIG. 1) calculates an adaptive threshold Th skip in consideration of motion between neighboring frames (operation 400).
적응적 임계값(Thskip)은 현재의 영상과 이전의 영상의 차 영상에 대한 화소값의 평균 MAFD(Mean Absolute Frame difference)를 이용하여 구할 수 있다. 먼저, 이웃한 두 영상에 대한 화소값의 평균 MAFD는 다음 수학식 1과 같이 구할 수 있다. The adaptive threshold Th skip may be obtained using an average MAFD (Mean Absolute Frame difference) of pixel values of the difference image between the current image and the previous image. First, an average MAFD of pixel values of two neighboring images may be obtained as in
여기서 M,N은 영상의 가로, 세로 크기를 나타내고, Xi,j는 현재 영상에서 (i,j)번째의 화소값을 나타내고, Yi,j는 이전 영상에서 (i,j)번째의 화소값을 나타낸다.Where M and N represent the horizontal and vertical size of the image, X i, j represent the (i, j) th pixel value in the current image, and Y i, j represent the (i, j) th pixel in the previous image Indicates a value.
일반적으로 MAFD는 연속한 프레임의 움직임에 대한 많은 정보를 포함하고 있다. 예컨대, MAFD가 큰 값을 가지면 움직임 경계 또는 움직이는 객체의 경계를 나타내고, 반면 작은 값을 가지면 객체의 움직임이 적은 시퀀스임을 나타낸다. 따라서, 시퀀스 내에서 이웃한 프레임간 움직임이 많이 발생한 부분에서 MAFD는 큰 값을 가질 것이고, 반대로 두 프레임간의 객체의 움직임이 적거나 움직임이 없는 경우 MAFD는 작은 값을 가지게 된다. 이러한 MAFD의 특성을 이용하여 SKIP 블록 모드를 결정하기 위한 임계값을 설정할 수 있다. MAFD를 이용하여 설정한 임계값을 시퀀스 내에서 이웃한 프레임간의 움직임 정도에 따라 추출 프레임마다 적응적으로 적용하여 보다 정확한 SKIP 블록 모드를 추출할 수 있다. MAFD를 이용한 적응적 임계값(Thskip)은 다음 수학식 2와 같이 구한다. In general, MAFD contains a lot of information about the movement of consecutive frames. For example, if the MAFD has a large value, it indicates a motion boundary or a boundary of a moving object, while if the MAFD has a small value, it indicates that the object has a small sequence. Therefore, the MAFD will have a large value at the portion where the neighboring interframe movement occurs in the sequence. On the contrary, the MAFD will have a small value when there is little or no movement of the object between the two frames. By using the characteristics of the MAFD it is possible to set a threshold for determining the SKIP block mode. It is possible to extract more accurate SKIP block mode by adaptively applying the threshold set using MAFD for each extraction frame according to the degree of movement between neighboring frames in the sequence. The adaptive threshold value Th skip using MAFD is obtained as shown in
여기서, w는 임계 최소값(Thskipmin)을 고려한 가중치 성분을 나타내고, 임계 최소값(Thskipmin)은 SAD(0,0)의 실험에 의한 화질 저화 정도의 측정을 통해 결정된다. 수학식 2와 같이, MAFD를 이용하여 구한 적응적 임계값(Thskip)이 임계 최소값(Thskipmin)보다 크면 그 값을 적응적 임계값(Thskip)로 설정하나, 그렇지 않으면 임계 최소값(Thskipmin)을 적응적 임계값(Thskip)으로 설정한다. Here, w denotes a weight component considering the minimum threshold (Th skipmin), a threshold minimum value (Th skipmin) is determined through measurement of the degree of the image quality deteriorates by the experiments of the SAD (0,0). As shown in
제400단계 후에, 입력된 16x16 매크로 블록을 Inter 16x16 모드로 움직임 검색을 수행하여 움직임 벡터 및 부호화 코스트를 구한다(제410단계). 여기서, 부호화 코스트는 전술된 바와 같이 화질의 열화와 발생 비트량을 고려한 율-왜곡 최적화를 통해 구한다. 열화 측정을 위한 함수로는 SAD(Sum of Absolute Difference), SATD(Sum of Absolute Transformed Difference), SSD(Sum of Squared Difference), MAD(Mean of Absolute Difference) 또는 라그란지 함수(Lagrange Function) 등이 있으나 이에 한정되지 않는다. 이 중, SAD 함수를 이용하여 측정된 부호화 코스트는 현재 서브 블록의 각 픽셀의 예측값과 실제 픽섹 값들이 차이의 절대값을 모두 더한 값이다. After
계속해서, 제410단계에서 구한 Inter 16x16 모드 움직임 벡터 및 부호화 코스트가 SKIP 블록 모드의 조건 즉, 움직임 벡터가 원점(0,0)이거나 또는 예측 움직임 벡터와 동일하고, 부호화 코스트는 적응적 임계값(Thskip)보다 작은가의 여부를 판단한다(제420단계).Subsequently, the Inter 16x16 mode motion vector and the encoding cost obtained in
제410단계에서 구한 Inter 16x16의 움직임 벡터 및 부호화 코스트가 제420단계에서의 SKIP 블록 모드의 조건을 만족하면, 현재 입력된 16x16 매크로 블록을 SKIP 블록 모드로 움직임 검색하여 움직임 벡터 및 부호화 코스트를 구한다(제430단계). If the motion vector and the encoding cost of Inter 16x16 obtained in
반면, 410단계에서 구한 움직임 벡터 및 부호화 코스트가 SKIP 블록 모드의 조건을 만족하지 않으면, 나머지 인터 모드인 Ineter16x8 모드, Inter8x16 모드 및 P8x8 모드에 대해 순차적으로 움직임 검색을 하여 각각에 대한 움직 벡터 및 부호화 코스트를 구하고, 이들 중 부호화 코스트가 가작 낮은 모드를 1차 선택한다(제440~470단계). On the other hand, if the motion vector and the encoding cost obtained in
제470단에서 1차 선택된 모드가 Inter 16x16 모드이면 움직임 벡터(MV)가 원점(0,0)인가의 여부를 확인하여(제480단계), 움직임 벡터가 원점(0,0)이면 1차 선택된 모드를 SKIP 블록 모드로 변환한다(제430단계). 이처럼, 1차 선택된 모드가 Inter 16x16 모드이면 움직임 벡터(MV)가 원점(0,0)인가의 여부를 다시 확인함으로써, 제420단계에서 걸러지지 않은 SKIP 블록 모드를 다시 한 번 거를 수 있다. 또한, 이처럼 Inter 16x16 모드에 대해서 SKIP 블록 모드인가의 여부를 판단하는 이유는 전술된 바와 같이, SKIP 블록 모드로 결정되기 위한 기본 조건이 움직임 검색 블록이 16x16 이어야하기 때문이다. If the first selected mode in
입력된 16x16 매크로 블록이 1차 선택된 블록 모드 또는 SKIP 블록 모드로 결정되면, Intra 4x4 모드 및 Intra 16x16 모드를 순차적으로 검색하여 각각의 움직임 벡터 및 부호화 코스트를 구한다(제490 ~ 500단계). When the input 16x16 macroblock is determined as the primary selected block mode or SKIP block mode, the Intra 4x4 mode and the Intra 16x16 mode are sequentially searched to obtain respective motion vectors and encoding costs (
1차 선택된 블록 모드의 부호화 코스트 또는 SKIP 블록 모드의 부호화 코스트와, Intra 4x4 모드 및 Intra 16x16 모드의 부호화 코스트를 비교하여 부호화 코스트가 가장 낮은 블록 모드를 입력된 16x16 매크로 블록의 움직임 예측을 위한 최종 블록 모드로 결정한다. The final block for the motion prediction of the 16x16 macroblock in which the encoding cost of the first selected block mode or the encoding cost of the SKIP block mode is compared with the encoding cost of the Intra 4x4 mode and the Intra 16x16 mode. Determine the mode.
이상에서와 같이, 본 발명에 따른 고속 블록 모드 결정 방법은 제420단계에서 SKIP 블록 모드로 결정된 매크로 블록에 대해서는 Ineter16x8 모드, Inter8x16 모드 및 P8x8 모드에 대한 움직임 검색 및 부호화 코스트를 구하는 계산 과정을 수행하지 않아도 되므로 영상 부호화기의 계산량을 크게 줄일 수 있다. 특히, 본 발명에 따른 고속 블록 모드 결정 방법은 움직임이 많지 않고, 평탄한 영역을 많이 포함하고 있는 시퀀스, 즉 SKIP 블록 모드를 많이 포함하고 있는 영상, 예를 들어 영상 전화, 화상 회의 시스템과 같은 분야에서 뛰어난 성능을 발휘 할 수 있다. As described above, the fast block mode determination method according to the present invention does not perform a calculation process for obtaining a motion search and encoding cost for the Ineter16x8 mode, the Inter8x16 mode, and the P8x8 mode for the macroblock determined as the SKIP block mode in
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.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, floppy disk, optical data storage, and the like, which are also implemented in the form of a carrier wave (for example, transmission over the Internet). It also includes. 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. And functional programs, codes and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.
이상에서 본 발명의 바람직한 실시 예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.Although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the above-described specific preferred embodiments, and the present invention belongs to the present invention without departing from the gist of the present invention as claimed in the claims. Various modifications can be made by those skilled in the art, and such changes are within the scope of the claims.
상술한 바와 같이, 본 발명에 따른 고속 블록 모드 결정 방법은 움직임 예측을 위한 블록 모드 결정시 인터 모드에 대한 움직임 검색에 앞서 SKIP 블록 모드 여부를 먼저 판정하고, SKIP 블록 모드로 판정된 블록에 대해서는 인터 모드로 움직임을 검색하는 과정을 생략할 수 있으므로 보다 적은 계산량으로 빠르게 블록 모드를 결정 할 수 있다. As described above, the fast block mode determination method according to the present invention first determines whether the SKIP block mode is prior to the motion search for the inter mode when determining the block mode for motion prediction, and intercepts the block determined as the SKIP block mode. Since the process of searching for motions can be omitted, the block mode can be determined quickly with less computation.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050090726A KR100701129B1 (en) | 2005-09-28 | 2005-09-28 | High speed block mode decision method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050090726A KR100701129B1 (en) | 2005-09-28 | 2005-09-28 | High speed block mode decision method |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100701129B1 true KR100701129B1 (en) | 2007-03-28 |
Family
ID=41565078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050090726A KR100701129B1 (en) | 2005-09-28 | 2005-09-28 | High speed block mode decision method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100701129B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140043014A (en) * | 2012-09-28 | 2014-04-08 | 연세대학교 산학협력단 | Method and apparatus for image encoding |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050063776A (en) * | 2002-10-01 | 2005-06-28 | 톰슨 라이센싱 소시에떼 아노님 | Implicit weighting of reference pictures in a video encoder |
-
2005
- 2005-09-28 KR KR1020050090726A patent/KR100701129B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050063776A (en) * | 2002-10-01 | 2005-06-28 | 톰슨 라이센싱 소시에떼 아노님 | Implicit weighting of reference pictures in a video encoder |
Non-Patent Citations (1)
Title |
---|
한국공개공보 10-2005-63776 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140043014A (en) * | 2012-09-28 | 2014-04-08 | 연세대학교 산학협력단 | Method and apparatus for image encoding |
KR101924959B1 (en) * | 2012-09-28 | 2018-12-04 | 연세대학교 산학협력단 | Method and Apparatus for image encoding |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8155191B2 (en) | Method and apparatus for fast mode decision of B-frames in a video encoder | |
KR100957316B1 (en) | Mode selection techniques for multimedia coding | |
JP4127818B2 (en) | Video coding method and apparatus | |
KR100627329B1 (en) | Apparatus and method for adaptive motion estimation and mode decision in h.264 video codec | |
US8891619B2 (en) | Rate control model adaptation based on slice dependencies for video coding | |
KR101177031B1 (en) | Method and apparatus for minimizing number of reference pictures used for inter-coding | |
Merritt et al. | x264: A high performance H. 264/AVC encoder | |
KR100723507B1 (en) | Adaptive quantization controller of moving picture encoder using I-frame motion prediction and method thereof | |
KR101656091B1 (en) | Method and apparatus for predictive frame selection supporting enhanced efficiency and subjective quality | |
JP2006513636A (en) | Fast mode decision making for inter-frame coding | |
KR20070064598A (en) | Method and apparatus for fast mode decision for interframes | |
KR20110050283A (en) | Fast motion estimation method using multi-reference frames | |
KR20090099234A (en) | Method and apparatus for video encoding and decoding | |
JP4702059B2 (en) | Method and apparatus for encoding moving picture | |
KR20050119422A (en) | Method and apparatus for estimating noise of input image based on motion compenstion and, method for eliminating noise of input image and for encoding video using noise estimation method, and recording medium for storing a program to implement the method | |
JP2007267414A (en) | In-frame image coding method, and apparatus thereof | |
KR20080009608A (en) | Motion prediction apparatus and method and image encoding apparatus and method employing the same | |
WO2012175723A1 (en) | Rate -distortion optimization for video coding | |
KR101623064B1 (en) | Video encoding device, video encoding method and video encoding program | |
JP4994877B2 (en) | Method and system for selecting a macroblock coding mode in a video frame sequence | |
JP5649296B2 (en) | Image encoding device | |
KR100708182B1 (en) | Rate control apparatus and method in video encoder | |
JP4130617B2 (en) | Moving picture coding method and moving picture coding apparatus | |
KR100701129B1 (en) | High speed block mode decision method | |
KR100657277B1 (en) | Method for selecting macro block type |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |