KR100991138B1 - Encoder and method for selecting candidate mode types - Google Patents

Encoder and method for selecting candidate mode types Download PDF

Info

Publication number
KR100991138B1
KR100991138B1 KR1020090033333A KR20090033333A KR100991138B1 KR 100991138 B1 KR100991138 B1 KR 100991138B1 KR 1020090033333 A KR1020090033333 A KR 1020090033333A KR 20090033333 A KR20090033333 A KR 20090033333A KR 100991138 B1 KR100991138 B1 KR 100991138B1
Authority
KR
South Korea
Prior art keywords
mode
type
candidate
types
macroblock
Prior art date
Application number
KR1020090033333A
Other languages
Korean (ko)
Other versions
KR20100114776A (en
Inventor
장의선
이선영
김시경
이명중
최기호
Original Assignee
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Priority to KR1020090033333A priority Critical patent/KR100991138B1/en
Publication of KR20100114776A publication Critical patent/KR20100114776A/en
Application granted granted Critical
Publication of KR100991138B1 publication Critical patent/KR100991138B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Abstract

부호화기 및 부호화기의 후보 모드 결정 방법이 개시된다. 후보 모드 결정 방법은 현재 프레임 내의 a개의 참조 매크로블록에 대한 모드 타입 및 하나 이상의 이전 프레임 내의 b개 참조 매크로블록에 대한 모드 타입의 모드 타입 인덱스를 포함하는 시공간적 컨텍스트를 입력받는 단계; 및 상기 시공간적 컨텍스트에 포함된 상기 모드 타입 인덱스의 합산 값, 상기 인트라 모드 타입의 수 및 P8x8 모드 타입의 수 중 하나 이상을 이용하여 후보 모드 타입을 결정하는 단계를 포함할 수 있다. 본 발명에 의해, AVC/H.264 표준의 모드 선택 및 인코딩 처리가 신속하게 이루어질 수 있다.Disclosed are an encoder and a method of determining candidate modes of an encoder. The method of determining a candidate mode includes receiving a spatiotemporal context including a mode type index of a mode type for a reference macroblock in a current frame and a mode type for b reference macroblock in one or more previous frames; And determining a candidate mode type by using one or more of the sum of the mode type indexes included in the spatiotemporal context, the number of intra mode types, and the number of P8x8 mode types. By the present invention, mode selection and encoding processing of the AVC / H.264 standard can be made quickly.

인코더, 부호화, 모드Encoder, encoding, mode

Description

부호화기 및 부호화기의 후보 모드 결정 방법{Encoder and method for selecting candidate mode types}{Encoder and method for selecting candidate mode types}

본 발명은 부호화기에 관한 것으로, 특히 매크로블록의 부호화 모드 타입을 신속하게 결정할 수 있는 부호화기 및 부호화기의 후보 모드 결정 방법에 관한 것이다.The present invention relates to an encoder, and more particularly, to an encoder and a method of determining a candidate mode of an encoder capable of quickly determining an encoding mode type of a macroblock.

최신 동영상 부호화 표준인, MPEG-4 AVC/H.264는 현존하는 동영상 부호화 표준 중 압축률에 있어서 최대 성능을 제공하는 것으로 알려져 있다. 블록 기반의 비디오 데이터를 압축하는 AVC/H.264 방식의 비디오 인코더(encoder)는, 예측 부호화 방법을 이용하여 잔차 데이터(residual data)를 감소시키고, 이 과정에서의 잔차 데이터(residual data), 모드 정보, 움직임 벡터 정보 등을 블록 DCT(Discrete Cosine Transform), 양자화(Quantization), 엔트로피 코딩(entropy coding) 등의 과정으로 압축된 데이터 스트림으로 만든다.MPEG-4 AVC / H.264, the latest video coding standard, is known to provide maximum performance in compression ratios among existing video coding standards. AVC / H.264 video encoder that compresses block-based video data reduces residual data by using a predictive encoding method, and residual data and mode in this process. Information, motion vector information, and the like are made into a compressed data stream by a process such as block DCT, quantization, entropy coding, or the like.

예측 부호화 방법은 인터 예측(inter prediction)과 인트라 예측(intra prediction)으로 구분된다. 인터 예측은 이전 영상의 시간적(temporal) 상관관계를 이용하는 방법이고, 인트라 예측은 공간적(spatial) 상관관계를 이용하는 방법이다. H.264/AVC 방식 등의 비디오 인코더에서는 예를 들어 I-프레임에 대해서는 인트라 예측을 수행하고, P-프레임이나 B-프레임에 대해서는 인터 예측과 인트라 예측을 모두 수행한다.The prediction encoding method is divided into inter prediction and intra prediction. Inter prediction is a method of using a temporal correlation of a previous image, and intra prediction is a method of using a spatial correlation. In a video encoder such as an H.264 / AVC scheme, for example, intra prediction is performed on an I-frame, and both inter prediction and intra prediction are performed on a P-frame or a B-frame.

다양한 압축 방법 중 AVC/H.264 JM 인코더의 매크로블록(MB, macroblock)에 대한 모드 선택 과정은, 매 매크로블록마다 다수의 모드 타입들(mode types)을 평 가한 후 그 중 가장 성능이 우수한 모드 타입을 해당 매크로 블록의 모드 타입으로 선정하는 과정이다.Among the various compression methods, the mode selection process for the macroblock (MB, macroblock) of the AVC / H.264 JM encoder is performed by evaluating a plurality of mode types for each macroblock and then performing the highest performance mode among them. This is the process of selecting the type as the mode type of the macro block.

아래의 표 1은 AVC/H.264 BP(baseline profile) 표준에서 사용되는 매크로블록 모드 타입들을 나열한 것이고, 도 1은 종래기술에 따른 AVC/H.264 JM 11.0에서의 최적 모드 타입 선정 과정을 나타낸 도면이다.Table 1 below lists the macroblock mode types used in the AVC / H.264 baseline profile (BP) standard, and FIG. 1 shows a process for selecting an optimal mode type in AVC / H.264 JM 11.0 according to the prior art. Drawing.

표 1. AVC/H.264 BP 표준의 매크로블록 모드 타입들Table 1. Macroblock Mode Types of the AVC / H.264 BP Standard

Figure 112009023155784-pat00001
Figure 112009023155784-pat00001

도 1에 도시된 바와 같이, 매크로블록의 부호화를 위한 최적 모드 타입(best mode type)을 결정하기 위하여, 표 1에 제시된 각 모드 타입들에 대한 인터 예측 및 인트라 예측을 순차적으로 수행(단계 110 및 단계 120)한 후 각각의 모드에 대한 비트율-왜곡 비용(Rate-Distortion cost)을 계산하여(단계 130), 최소 비트율- 왜곡 비용을 보이는 모드 타입을 최적 모드 타입으로 선택(단계 140)하고 압축을 수행한다.As shown in FIG. 1, in order to determine a best mode type for encoding a macroblock, inter prediction and intra prediction are sequentially performed for each mode type shown in Table 1 (step 110 and After step 120), the rate-distortion cost for each mode is calculated (step 130), so that the mode type showing the minimum bit rate-distortion cost is selected as the optimal mode type (step 140) and compression is performed. To perform.

참고로, 부호화기의 최적 모드 타입 결정에는 코딩 비트(coding bits (rate))와 이미지 퀄리티(image quality (distortion))라는 두 가지 요인이 고려 될 수 있다. AVC/H.264 표준에서는 모드 타입을 결정함에 있어 세 가지 모드를 지원한다. For reference, two factors, such as coding bits (rate) and image quality (distortion), may be considered in determining an optimal mode type of the encoder. The AVC / H.264 standard supports three modes in determining the mode type.

첫째, "RDO=ON" 모드로서, 각 모드 타입의 비용(cost)을 측정하기 위해 RDO 함수를 이용한다. 이때 RDO 함수는 하나의 모드 타입이 적용 될 때 발생하는 비용을 비트율(rate)과 이미지 왜곡(distortion)을 고려하여 산정한다.First, as the "RDO = ON" mode, the RDO function is used to measure the cost of each mode type. In this case, the RDO function calculates the cost incurred when one mode type is applied in consideration of the bit rate and image distortion.

둘째, "RDO=ON and earlySkip" 모드로서, 모드 타입 결정을 위해서는 "RDO=ON" 모드와 동일하게 RDO 함수를 이용하지만, 해당 매크로블록 타입이 스킵 모드(SKIP mode) 인지를 조기에 결정하여, 스킵 모드인 경우는 그 외 다른 모드 타입을 평가하지 않는다. 이를 통해, "RDO=ON" 모드에 비해 복잡도를 상당량 감소시킬 수 있는 장점이 있다.Second, as the "RDO = ON and earlySkip" mode, the RDO function is used in the same manner as the "RDO = ON" mode to determine the mode type, but it is determined early whether the macroblock type is the skip mode. In case of skip mode, other mode types are not evaluated. Through this, there is an advantage that can significantly reduce the complexity compared to the "RDO = ON" mode.

셋째, "RDO=OFF" 모드로서, 일부 비트율과 이미지 왜곡만을 측정함으로써 계산 복잡도를 낮추어 모든 모드 타입들을 평가하는 방법이다.Third, the "RDO = OFF" mode is a method of evaluating all the mode types by reducing the computational complexity by measuring only some bit rates and image distortions.

상술한 바와 같이, 매 매크로블록을 부호화하기 위해 수많은 매크로블록 모드 타입들 중에서 하나의 모드 타입을 결정하는 방법은 엄청난 복잡도를 가지게 된다. 또한 엄청난 복잡도로 인해 부호화기의 성능이 약화되며, 이는 실시간 비디오 데이터 처리에 대한 문제점을 야기할 수도 있다.As described above, the method of determining one mode type from among numerous macroblock mode types for encoding every macroblock has enormous complexity. Enormous complexity also degrades the performance of the encoder, which can cause problems with real-time video data processing.

본 발명은 다양한 모드 타입들 중 시간적 및 공간적 상관관계(spatial and temporal correlation)를 이용하여 일부의 후보 모드 타입들(CMT, candidate mode types)을 선별함으로써 AVC/H.264 표준의 모드 선택 및 인코딩 처리가 신속하게 이루어질 수 있도록 하는 부호화기 및 부호화기의 후보 모드 결정 방법을 제공하기 위한 것이다.The present invention uses mode and temporal correlation among various mode types to select some candidate mode types (CMT, candidate mode types) by selecting the mode and encoding process of the AVC / H.264 standard. It is to provide an encoder and a method of determining a candidate mode of an encoder so that the operation can be performed quickly.

본 발명은 시간적 및 공간적 상관관계(spatial and temporal correlation)를 이용하여 모드 선택 방법을 단순화함으로써 부호화기의 복잡도를 최소화할 수 있는 부호화기 및 부호화기의 후보 모드 결정 방법을 제공하기 위한 것이다.An object of the present invention is to provide a method of determining an encoder and a candidate mode of an encoder which can minimize the complexity of an encoder by simplifying a mode selection method using spatial and temporal correlation.

또한 본 발명은 복잡도의 감소로 인해 부호화기의 성능이 극대화되며, 실시간 비디오 처리에 보다 효과적인 부호화기 및 부호화기의 후보 모드 결정 방법을 제공하기 위한 것이다.In addition, the present invention is to provide an encoder and a method of determining a candidate mode of the encoder is more effective in the real-time video processing is maximized due to the reduction of the complexity.

또한 본 발명은 MPEG-4 AVC/H.264 부호화기를 사용하는 모든 기기에서 동영상 부호화 시간을 최소화하도록 하는 부호화기 및 부호화기의 후보 모드 결정 방법을 제공하기 위한 것이다.Another object of the present invention is to provide a method of determining a candidate mode of an encoder and an encoder to minimize video encoding time in all devices using the MPEG-4 AVC / H.264 encoder.

본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다.Other objects of the present invention will be readily understood through the following description.

본 발명의 일 측면에 따르면, 후보 모드 타입 결정 방법 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체가 제공된다.According to an aspect of the present invention, there is provided a recording medium in which a candidate mode type determination method and a program for performing the method are recorded.

본 발명의 일 실시예에 따르면, 인코더에서 수행되는 매크로블록의 인코딩을 위한 후보 모드 타입(CMT) 결정 방법으로서, 현재 프레임 내의 a개의 참조 매크로블록에 대한 모드 타입 및 하나 이상의 이전 프레임 내의 b개 참조 매크로블록에 대한 모드 타입의 모드 타입 인덱스(mode type index)를 포함하는 시공간적 컨텍스트(spatio-temporal context)를 입력받는 단계; 및 상기 시공간적 컨텍스트에 포함된 상기 모드 타입 인덱스를 참조하여 후보 모드 타입을 결정하는 단계를 포함하는 후보 모드 타입 결정 방법이 제공된다. 여기서, 상기 a와 b는 각각 임의의 자연수일 수 있다.According to an embodiment of the present invention, a method of determining a candidate mode type (CMT) for encoding a macroblock performed in an encoder, the mode type for a reference macroblock in a current frame and b references in one or more previous frames Receiving a spatio-temporal context including a mode type index of a mode type for the macroblock; And determining a candidate mode type by referring to the mode type index included in the spatiotemporal context. Here, a and b may each be any natural number.

상기 후보 모드 타입을 결정하기 위해 상기 모드 타입 인덱스의 합산 값, 상기 인트라 모드 타입의 수 및 P8x8 모드 타입의 수 중 하나 이상이 이용될 수 있다.One or more of a sum value of the mode type index, the number of intra mode types, and the number of P8x8 mode types may be used to determine the candidate mode type.

상기 시공간적 컨텍스트에 포함된 모드 타입 인덱스의 합이 0인 경우 SKIP 모드와 16x16 모드가 후보 모드 타입으로 결정될 수 있다. If the sum of the mode type indexes included in the spatiotemporal context is 0, the SKIP mode and the 16x16 mode may be determined as candidate mode types.

상기 시공간적 컨텍스트에 포함된 모드 타입 인덱스의 합이 1 이상이고 n미만인 경우 SKIP 모드, 16x16 모드, 16x8 모드 및 8x16 모드가 후보 모드 타입으로 결정될 수 있다. 여기서, 상기 n은 미리 설정된 임의의 자연수일 수 있다. 예를 들어 상기 n은 4일 수 있다.If the sum of the mode type indexes included in the spatiotemporal context is 1 or more and less than n, the SKIP mode, the 16x16 mode, the 16x8 mode, and the 8x16 mode may be determined as candidate mode types. Here, n may be a predetermined natural number. For example, n may be 4.

상기 시공간적 컨텍스트에 포함된 모드 타입 인덱스의 합이 n미만이 아니고, 인트라 모드 타입의 수가 0인 경우 SKIP 모드, 16x16 모드, 16x8 모드, 8x16 모드 및 P8x8 모드가 후보 모드 타입으로 결정될 수 있다.If the sum of the mode type indexes included in the spatiotemporal context is not less than n and the number of intra mode types is 0, the SKIP mode, the 16x16 mode, the 16x8 mode, the 8x16 mode, and the P8x8 mode may be determined as candidate mode types.

상기 시공간적 컨텍스트에 포함된 모드 타입 인덱스의 합이 n미만이 아니고, 인트라 모드 타입의 수가 0이 아니며, P8x8 모드의 수가 0인 경우 SKIP 모드, 16x16 모드, 16x8 모드, 8x16 모드, I4MB 모드 및 I16MB 모드가 후보 모드 타입으로 결정될 수 있다.If the sum of the mode type indexes included in the spatiotemporal context is not less than n, the number of intra mode types is not 0, and the number of P8x8 modes is 0, SKIP mode, 16x16 mode, 16x8 mode, 8x16 mode, I4MB mode, and I16MB mode May be determined as a candidate mode type.

상기 시공간적 컨텍스트에 포함된 모드 타입 인덱스의 합이 n미만이 아니고, 인트라 모드 타입의 수가 0이 아니며, P8x8 모드의 수가 0이 아닌 경우, SKIP 모드, 16x16 모드, 16x8 모드, 8x16 모드, P8x8 모드, I4MB 모드 및 I16MB 모드가 후보 모드 타입으로 결정될 수 있다.If the sum of the mode type indexes included in the spatiotemporal context is not less than n, the number of intra mode types is not 0, and the number of P8x8 modes is not 0, SKIP mode, 16x16 mode, 16x8 mode, 8x16 mode, P8x8 mode, The I4MB mode and the I16MB mode may be determined as candidate mode types.

상기 현재 프레임 내의 2개의 참조 매크로블록은 인코딩될 상기 매크로블록의 상측과 좌측에 각각 위치된 매크로블록일 수 있다. 또한, 상기 b개의 참조 매크로블록은 현재 프레임인 t번째 프레임의 직전 프레임인 t-1번째 프레임에서의 상기 매크로블록과 동일 위치인 매크로블록 및 이전 프레임인 t-2번째 프레임에서의 상기 매크로블록과 동일 위치인 매크로블록을 포함할 수 있다.The two reference macroblocks in the current frame may be macroblocks located respectively above and to the left of the macroblock to be encoded. The b reference macroblocks may include a macroblock at the same position as the macroblock in a t-1th frame that is a frame immediately before the tth frame that is a current frame, and the macroblock in a t-2th frame that is a previous frame. It may include a macroblock in the same position.

본 발명의 다른 실시예에 따르면, 인코더에서 수행되는 매크로블록의 인코딩을 위한 후보 모드 타입(CMT) 결정 방법으로서, 현재 프레임 내의 a개의 참조 매크로블록에 대한 모드 타입 및 하나 이상의 이전 프레임 내의 b개 참조 매크로블록에 대한 모드 타입의 모드 타입 인덱스를 포함하는 시공간적 컨텍스트를 입력받는 단 계; 및 미리 저장된 발생 확률 데이터를 기반으로 상기 시공간적 컨텍스트에 포함된 모드 타입 인덱스에 따른 후보 모드 타입을 결정하는 단계를 포함하는 후보 모드 타입(CMT) 결정 방법이 제공된다. 여기서, 상기 발생 확률 데이터는 각 컨텍스트 타입별 각 매크로블록의 모드 타입에 대한 발생 확률값이 기재된 데이터이고, 상기 a과 b는 각각 임의의 자연수일 수 있다.According to another embodiment of the present invention, a method of determining a candidate mode type (CMT) for encoding a macroblock performed at an encoder, the mode type for a reference macroblock in a current frame and b references in at least one previous frame Receiving a spatiotemporal context including a mode type index of the mode type for the macroblock; And determining a candidate mode type according to a mode type index included in the spatiotemporal context based on prestored occurrence probability data. Here, the occurrence probability data is data in which occurrence probability values for the mode types of each macroblock for each context type are described, and a and b may each be any natural numbers.

상기 후보 모드 타입을 결정하는 단계는, 미리 설정된 빈도 임계값을 만족할 때까지 상기 발생 확률 데이터에 기반하여 발생 확률값이 높은 모드 타입의 순서로 발생 확률값을 합산하는 단계; 및 상기 합산된 발생 확률값의 모드 타입을 후보 모드 타입으로 결정하는 단계를 포함할 수 있다.The determining of the candidate mode type may include summing occurrence probability values in order of a mode type in which occurrence probability values are high based on the occurrence probability data until a preset frequency threshold is satisfied; And determining a mode type of the summed occurrence probability value as a candidate mode type.

상기 현재 프레임 내의 2개의 참조 매크로블록은 인코딩될 상기 매크로블록의 상측과 좌측에 각각 위치된 매크로블록일 수 있다.The two reference macroblocks in the current frame may be macroblocks located respectively above and to the left of the macroblock to be encoded.

상기 b개의 참조 매크로블록은 현재 프레임인 t번째 프레임의 직전 프레임인 t-1번째 프레임에서의 상기 매크로블록과 동일 위치인 매크로블록 및 이전 프레임인 t-2번째 프레임에서의 상기 매크로블록과 동일 위치인 매크로블록을 포함할 수 있다.The b reference macroblocks are in the same position as the macroblock in the t-1th frame that is the immediately preceding frame of the tth frame that is the current frame and in the same position as the macroblock in the t-2th frame that is the previous frame. It may include a macroblock.

본 발명의 또 다른 실시예에 따르면, 인코더에서 수행되는 매크로블록의 인코딩을 위한 후보 모드 타입(CMT) 결정 방법으로서, 입력 가능한 모든 시공간적 컨텍스트 각각에 대해 후보 모드 타입이 지정된 CMT 테이블이 저장되는 단계; 현재 프레임 내의 a개의 참조 매크로블록에 대한 모드 타입 및 하나 이상의 이전 프레임 내의 b개 참조 매크로블록에 대한 모드 타입의 모드 타입 인덱스를 포함하는 시공 간적 컨텍스트를 입력받는 단계; 및 상기 CMT 테이블을 참조하여 상기 입력된 시공간적 컨텍스트에 부합하도록 지정된 후보 모드 타입을 선택하는 단계를 포함하는 후보 모드 타입 결정 방법이 제공된다. 여기서 상기 a과 b는 각각 임의의 자연수일 수 있다.According to another embodiment of the present invention, there is provided a method of determining a candidate mode type (CMT) for encoding a macroblock performed in an encoder, the method comprising: storing a CMT table in which candidate mode types are designated for each of the input spatiotemporal contexts; Receiving a construction context that includes a mode type for a reference macroblock in a current frame and a mode type index of a mode type for b reference macroblocks in one or more previous frames; And selecting a candidate mode type designated to match the input spatiotemporal context with reference to the CMT table. Wherein a and b may each be any natural number.

상기 현재 프레임 내의 2개의 참조 매크로블록은 인코딩될 상기 매크로블록의 상측과 좌측에 각각 위치된 매크로블록일 수 있고, 상기 b개의 참조 매크로블록은 현재 프레임인 t번째 프레임의 직전 프레임인 t-1번째 프레임에서의 상기 매크로블록과 동일 위치인 매크로블록 및 이전 프레임인 t-2번째 프레임에서의 상기 매크로블록과 동일 위치인 매크로블록을 포함할 수 있다.The two reference macroblocks in the current frame may be macroblocks located above and to the left of the macroblock to be encoded, and the b reference macroblocks are the t-1 th frames that are immediately preceding the t th frame that is the current frame. The macroblock may include a macroblock at the same position as the macroblock in a frame and a macroblock at the same position as the macroblock in a t-2th frame, which is a previous frame.

본 발명의 다른 측면에 따르면, 후보 모드 타입 결정 방법이 적용되는 부호화기가 제공된다.According to another aspect of the present invention, an encoder to which the candidate mode type determination method is applied is provided.

본 발명의 일 실시예에 따른 부호화기는, 현재 프레임 내의 a개의 참조 매크로블록에 대한 모드 타입 및 하나 이상의 이전 프레임 내의 b개 참조 매크로블록에 대한 모드 타입의 모드 타입 인덱스를 포함하는 시공간적 컨텍스트를 이용하여 후보 모드 타입(CMT)을 결정하는 후보 모드 결정 유닛; 상기 후보 모드 타입에 대해 인터 예측(inter prediction) 및 인트라 예측(intra prediction) 중 하나 이상을 수행하는 모드 예측 유닛; 및 상기 모드 예측 수행된 모드 타입에 대해 레이트(rate) 및 왜곡(distortion) 중 하나 이상의 측정에 따라 최적 모드 타입을 결정하는 비용 계산 유닛을 포함할 수 있다. 상기 a와 b는 각각 임의의 자연수일 수 있 다.An encoder according to an embodiment of the present invention uses a spatiotemporal context that includes a mode type index of a mode type for a reference macroblock in a current frame and a mode type for b reference macroblock in one or more previous frames. A candidate mode determination unit for determining a candidate mode type (CMT); A mode prediction unit that performs one or more of inter prediction and intra prediction for the candidate mode type; And a cost calculation unit for determining an optimal mode type according to one or more measurements of rate and distortion with respect to the mode type in which the mode prediction is performed. A and b may each be any natural number.

상기 후보 모드 결정 유닛은 상기 시공간적 컨텍스트에 포함된 상기 모드 타입 인덱스의 합산 값, 상기 인트라 모드 타입의 수 및 P8x8 모드 타입의 수 중 하나 이상을 이용하여 후보 모드 타입을 결정할 수 있다. The candidate mode determination unit may determine a candidate mode type by using one or more of the sum of the mode type indexes included in the spatiotemporal context, the number of intra mode types, and the number of P8x8 mode types.

상기 시공간적 컨텍스트에 포함된 모드 타입 인덱스의 합이 0인 제1 조건을 만족하면 SKIP 모드와 16x16 모드가 후보 모드 타입으로 결정되고, 상기 시공간적 컨텍스트에 포함된 모드 타입 인덱스의 합이 1 이상이고 n미만인 제2 조건을 만족하면 SKIP 모드, 16x16 모드, 16x8 모드 및 8x16 모드가 후보 모드 타입으로 결정되며, 상기 시공간적 컨텍스트에 포함된 모드 타입 인덱스의 합이 n미만이 아니고, 인트라 모드 타입의 수가 0인 제3 조건을 만족하면 SKIP 모드, 16x16 모드, 16x8 모드, 8x16 및 P8x8 모드가 후보 모드 타입으로 결정되고, 상기 시공간적 컨텍스트에 포함된 모드 타입 인덱스의 합이 n미만이 아니고, 인트라 모드 타입의 수가 0이 아니며, P8x8 모드의 수가 0인 제4 조건을 만족하면 SKIP 모드, 16x16 모드, 16x8 모드, 8x16, I4MB 모드 및 I16MB 모드가 후보 모드 타입으로 결정되며, 상기 제1 조건 내지 상기 제4 조건을 만족하지 않는 경우 SKIP 모드, 16x16 모드, 16x8 모드, 8x16 모드, P8x8 모드, I4MB 모드 및 I16MB 모드가 후보 모드 타입으로 결정될 수 있다. 여기서, 상기 n은 미리 설정된 임의의 자연수일 수 있으며, 예를 들어 상기 n은 4일 수 있다.If the sum of the mode type indexes included in the spatiotemporal context satisfies the first condition of 0, the SKIP mode and the 16x16 mode are determined as candidate mode types, and the sum of the mode type indexes included in the spatiotemporal context is 1 or more and less than n. If the second condition is satisfied, the SKIP mode, the 16x16 mode, the 16x8 mode, and the 8x16 mode are determined as candidate mode types, and the sum of the mode type indexes included in the spatiotemporal context is less than n, and the number of intra mode types is zero. 3 If the condition is satisfied, SKIP mode, 16x16 mode, 16x8 mode, 8x16, and P8x8 mode are determined as candidate mode types, and the sum of the mode type indexes included in the spatiotemporal context is less than n, and the number of intra mode types is 0. If the fourth condition where the number of P8x8 modes is 0 is satisfied, SKIP mode, 16x16 mode, 16x8 mode, 8x16, I4MB mode, and I16MB mode are candidate mode types. When the first condition to the fourth condition is not satisfied, the SKIP mode, 16x16 mode, 16x8 mode, 8x16 mode, P8x8 mode, I4MB mode, and I16MB mode may be determined as candidate mode types. Here, n may be a predetermined natural number, for example, n may be 4.

상기 후보 모드 결정 유닛은 미리 저장된 발생 확률 데이터를 기반으로 상기 시공간적 컨텍스트에 포함된 모드 타입 인덱스에 따른 후보 모드 타입을 결정할 수 있다. 여기서, 상기 발생 확률 데이터는 각 컨텍스트 타입별 각 매크로블록의 모드 타입에 대한 발생 확률값이 기재된 데이터일 수 있다.The candidate mode determination unit may determine a candidate mode type according to a mode type index included in the spatiotemporal context based on prestored occurrence probability data. Here, the occurrence probability data may be data in which an occurrence probability value of a mode type of each macroblock for each context type is described.

상기 후보 모드 타입을 결정하는 단계는, 미리 설정된 빈도 임계값을 만족할 때까지 상기 발생 확률 데이터에 기반하여 발생 확률값이 높은 모드 타입의 순서로 발생 확률값을 합산하는 단계; 및 상기 합산된 발생 확률값의 모드 타입을 후보 모드 타입으로 결정하는 단계를 포함할 수 있다.The determining of the candidate mode type may include summing occurrence probability values in order of a mode type in which occurrence probability values are high based on the occurrence probability data until a preset frequency threshold is satisfied; And determining a mode type of the summed occurrence probability value as a candidate mode type.

본 발명의 실시예에 의하면, 다양한 모드 타입들 중 시간적 및 공간적 상관관계(spatial and temporal correlation)를 이용하여 일부의 후보 모드 타입들(CMT, candidate mode types)을 선별함으로써 AVC/H.264 표준의 모드 선택 및 인코딩 처리가 신속하게 이루어질 수 있도록 하는 효과가 있다.According to an embodiment of the present invention, the candidate mode types (CMT) are selected by using temporal and temporal correlation among various mode types. There is an effect that the mode selection and encoding process can be made quickly.

또한 시간적 및 공간적 상관관계(spatial and temporal correlation)를 이용하여 모드 선택 방법을 단순화함으로서 부호화기의 복잡도를 최소화할 수 있는 효과가 있다.In addition, by simplifying the mode selection method using spatial and temporal correlation, the complexity of the encoder can be minimized.

또한 복잡도의 감소로 인해 부호화기의 성능이 극대화되며, 실시간 비디오 처리에 보다 효과적인 장점도 있다.The reduced complexity also maximizes the performance of the encoder and has the advantage of being more effective for real-time video processing.

또한 MPEG-4 AVC/H.264 부호화기를 사용하는 모든 기기에서 동영상 부호화 시간을 최소화하도록 할 수 있는 효과도 있다.It also has the effect of minimizing video encoding time in all devices using MPEG-4 AVC / H.264 encoder.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all transformations, equivalents, and substitutes included in the spirit and scope of the present invention. In the following description of the present invention, if it is determined that the detailed description of the related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 또한, "/"의 기호는 "및"과 "또는"을 포함하는 것이고, 문장에서 어느 하나의 의미로 또는 둘을 모두 포함하여 해석되는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof. Also, it is to be understood that the symbol "/" includes "and" and "or" and is to be interpreted in either sense in the sentence or both.

이하, 본 발명의 실시예에 대해 관련 도면들을 참조하여 상세히 설명하기로 한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 일 실시예에 따른 고속 모드 선택부의 구성을 나타낸 블록 구성도이고, 도 3은 본 발명의 일 실시예에 따른 모드 결정 모델(MDM, mode decision model)의 후보 모드 타입 결정 과정을 나타낸 순서도이다.2 is a block diagram illustrating a configuration of a fast mode selector according to an embodiment of the present invention, and FIG. 3 is a process of determining a candidate mode type of a mode decision model (MDM) according to an embodiment of the present invention. Is a flow chart showing.

도 2를 참조하면, 고속 모드 선택부는 후보 모드 결정 유닛(210), 모드 예측 유닛(220) 및 비용 계산 유닛(230)을 포함한다. 고속 모드 선택부 또는 고속 모드 선택부에 포함된 하나 이상의 구성 요소는 하드웨어 구성으로 구현되거나 소프트웨어 알고리즘의 형태로 구현될 수도 있다.Referring to FIG. 2, the fast mode selection unit includes a candidate mode determination unit 210, a mode prediction unit 220, and a cost calculation unit 230. One or more components included in the fast mode selector or the fast mode selector may be implemented in a hardware configuration or in the form of a software algorithm.

후보 모드 결정 유닛(210)은 네 개의 매크로블록 타입 정보 (T1, T2, T3, T4)를 입력받아 모드 결정 모델(MDM, mode decision model)을 이용하여 후보 모드 타입들(CMTs, candidate mode types)을 선별하고, 선별한 후모 모드 타입들에 관한 정보를 모드 예측 유닛(220)으로 제공한다. The candidate mode determination unit 210 receives four macroblock type information (T 1 , T 2 , T 3 , T 4 ) and uses candidate mode types CMTs, using a mode decision model (MDM). candidate mode types) are selected and information about the selected posterior mode types is provided to the mode prediction unit 220.

네 개의 매크로블록 타입 정보는 세 개의 프레임에서 현재 부호화 모드 결정을 위한 매크로블록에 대한 시간적 및 공간적 상관관계(spatial and temporal correlation)를 이용하여 인식될 수 있다. Four macroblock type information may be recognized using temporal and temporal correlation with respect to a macroblock for determining a current encoding mode in three frames.

예를 들어, 공간적(spatial) 상관관계로서 현재 프레임(t번째 프레임)에서 해당 매크로블록의 상측(top) 매크로블록과 좌측(left) 매크로블록의 타입 정보들과, 시간적(temporal) 상관관계로서 직전 프레임(t-1번째 프레임)과 그 이전 프레 임(t-2번째 프레임)에서의 동일 위치의 매크로블록의 타입 정보들이 이용될 수 있다. 여기서, 본 실시예에 따른 후보 모드 타입 결정 방법은 t가 3이상인 자연수일 때 이용될 수 있다.For example, as the spatial correlation, the type information of the top macroblock and the left macroblock of the macroblock in the current frame (t th frame) is immediately preceding the temporal correlation. Type information of the macroblock at the same position in the frame (t-1st frame) and the previous frame (t-2th frame) may be used. Here, the candidate mode type determination method according to the present embodiment may be used when t is a natural number of 3 or more.

상술한 예에서 t번째 프레임에서 (i, j) 위치의 매크로블록의 타입을 위한 시간적 및 공간적 상관관계(spatial and temporal correlation)는 하기 수학식 1과 같이 표현될 수 있다. In the above example, the temporal and temporal correlation for the type of the macroblock at the position (i, j) in the t-th frame may be expressed by Equation 1 below.

Figure 112009023155784-pat00002
(T1,T2,T3,T4) = ()
Figure 112009023155784-pat00002
(T1, T2, T3, T4) = ()

여기서,

Figure 112009023155784-pat00003
은 t번째 프레임의 (i, j) 위치의 매크로블록 타입을 나타낸다.here,
Figure 112009023155784-pat00003
Denotes a macroblock type at position (i, j) of the t-th frame.

물론, 참조되는 네 개의 매크로블록의 위치는 상기 예에 제한되지 않으며, 시간적으로 해당 매크로블록에 앞서서 모드 타입이 결정된 매크로블록이면 임의로 지정될 수도 있다. 또한, 참조를 위한 매크로블록의 수량도 위의 예에서 제시된 네 개의 매크로블록으로 제한되지 않음은 당연하다.Of course, the positions of the four macroblocks referred to are not limited to the above example, and may be arbitrarily designated as long as the mode type is determined in advance of the macroblock in time. In addition, it is obvious that the number of macroblocks for reference is not limited to the four macroblocks shown in the above example.

상술한 수학식 1에 따른 네 개의 MB types 정보를 이용하여 t번째 프레임의 (i, j) 위치의 매크로블록 타입을 위해 선별된 후보 모드 타입들(CMTs)의 표기 방법은 아래 수학식 2와 같이 예시될 수 있다.The method of notifying candidate mode types (CMTs) selected for the macroblock type at the position (i, j) of the t-th frame using the four MB types information according to Equation 1 described above is shown in Equation 2 below. May be exemplified.

CMT(T1,T2,T3,T4) = b0b1...bn CMT (T1, T2, T3, T4) = b 0 b 1 ... b n

여기서, 모드 타입 k가 선정되었을 때 bk = 1이고, 그렇지 않은 경우라면 bk = 0이다. 모드 타입 k는 앞서 설명한 표 1의 모드 타입 인덱스(mode type index)에서 확인할 수 있다. 즉, CMT는 7비트의 형태로 표기될 수 있으며, 각 비트는 표 1에 기재된 모드 타입 인덱스의 순서로, 각 모드 타입이 선택되었는지 여부를 나타낸다. 물론, CMT의 표기 방식이나 순서는 다양하게 지정될 수 있다.Here, b k = 1 when the mode type k is selected, and b k = 0 otherwise. The mode type k can be found in the mode type index of Table 1 described above. That is, the CMT may be expressed in the form of 7 bits, and each bit indicates whether each mode type is selected in the order of the mode type indexes described in Table 1. Of course, the notation or order of the CMT may be variously designated.

예를 들어, 현재의 AVC/H.264 JM 인코더의 경우, 매 매크로블록마다 모든 모드 타입이 항상 활성화 되어 있으므로, 수학식 2 및 도 2를 참조할 때 CMT는 "1111111"로 표기될 수 있다. 그러나 만약, 후보 모드 타입으로 SKIP 및 16x16 모드 타입들만이 선정된 경우라면 CMT는 "1100000"로 표기될 수 있다. 마찬가지로 후보 모드 타입으로 SKIP, 16x16, 16x8 및 8x16 모드 타입들만이 선정된 경우라면 CMT는 "1111000"로 표기될 수 있다.For example, in the current AVC / H.264 JM encoder, since all mode types are always activated in every macroblock, the CMT may be expressed as “1111111” when referring to Equation 2 and FIG. 2. However, if only SKIP and 16x16 mode types are selected as candidate mode types, the CMT may be indicated as “1100000”. Likewise, if only SKIP, 16x16, 16x8 and 8x16 mode types are selected as candidate mode types, the CMT may be indicated as "1111000".

후보 모드 결정 유닛(210)의 모드 결정 모델(MDM, mode decision model)은 후보 모드 타입들(CMTs)에 관한 정보(예를 들어, (T1,T2,T3,T4)와 같은 시공간적 컨텍스트(spatio-temporal context))를 입력받아 후보 모드 타입들을 보다 효과적으로 결정할 수 있도록 한다.The mode decision model (MDM) of the candidate mode decision unit 210 may include a spatio-temporal context such as information about candidate mode types CMTs (for example, (T1, T2, T3, T4). temporal context)) to receive candidate mode types more effectively.

모드 결정 모델이 후보 모드 타입들을 보다 신속히 결정할 수 있도록 모드 타입들의 유형은 아래 표 2와 같이 5개로 설정될 수 있다. 물론, 모드 타입들의 유형은 보다 세분화하여 설정될 수도 있다.The type of mode types may be set to five as shown in Table 2 below so that the mode decision model may determine candidate mode types more quickly. Of course, the type of mode types may be set in more detail.

표 2. 모드 타입에 기반한 CMT 형식Table 2. CMT format based on mode type

Figure 112009023155784-pat00004
Figure 112009023155784-pat00004

표 2에는 모드 타입들과 각 CMT가 지원하는 모드 타입들이 나열되어 있다. 모드 결정 모델은 각 매크로블록의 시공간적 컨텍스트를 이용하여 CMT 타입을 결정한다. 이때, 이용되는 컨텍스트들을 예시하면 아래와 같다.Table 2 lists the mode types and the mode types supported by each CMT. The mode decision model determines the CMT type using the spatiotemporal context of each macroblock. In this case, examples of the contexts used are as follows.

먼저, T1, T2, T3 및 T4의 합인 컨텍스트의 합(Context_sum=T1+T2+T3+T4)이 있을 수 있다. 수학식 1에서 보여지는 바와 같이, 만일 (T1, T2, T3, T4) = (0, 0, 0, 0)이라면 표 1에 따를 때 네 개의 참조 매크로블록 모두 SKIP 모드인 것으로, 그 합(Context_sum)은 0이 된다. 그러나 만일 (T1, T2, T3, T4) = (0, 0, 0, 1)이라면 표 1에 따를 때 세 개의 참조 매크로블록은 SKIP 모드이고 다른 하나의 참조 매크로블록은 16x16 모드로서, 그 합(Context_sum)은 1이 된다.First, there may be a sum of contexts (Context_sum = T1 + T2 + T3 + T4) that is a sum of T1, T2, T3, and T4. As shown in Equation 1, if (T1, T2, T3, T4) = (0, 0, 0, 0), all four reference macroblocks are in SKIP mode according to Table 1, the sum (Context_sum) ) Becomes 0. However, if (T1, T2, T3, T4) = (0, 0, 0, 1), then, according to Table 1, three reference macroblocks are in SKIP mode and the other reference macroblock is 16x16 mode. Context_sum) is 1.

다음으로, 컨텍스트 내의 인트라 모드 타입들의 수(Intra_cnt)가 있을 수 있다. 만일 (T1, T2, T3, T4) = (0, 0, 0, 0)이라면 표 1에 따를 때 네 개의 참조 매크로블록 모두 인터 모드인 것으로, Intra_cnt는 0이 된다.Next, there may be a number of intra mode types (Intra_cnt) in the context. If (T1, T2, T3, T4) = (0, 0, 0, 0), all four reference macroblocks are in inter mode according to Table 1, and Intra_cnt is 0.

다음으로, 컨텍스트 내의 P8x8 모드 타입들의 수(P8x8_cnt)가 있을 수 있다. 만일 (T1, T2, T3, T4) = (0, 0, 0, 0)이라면 표 1에 따를 때 네 개의 참조 매크로블록 모두 인터 모드 중 SKIP 모드인 것으로, P8x8_cnt는 0이 된다.Next, there may be a number P8x8_cnt of P8x8 mode types in the context. If (T1, T2, T3, T4) = (0, 0, 0, 0), according to Table 1, all four reference macroblocks are SKIP modes among the inter modes, and P8x8_cnt becomes 0.

이하 도 3을 참조하여 모드 결정 모델이 입력된 시공간적 컨텍스트를 이용하여 CMT 타입을 결정하는 방법을 설명한다.Hereinafter, a method of determining a CMT type using a spatiotemporal context into which a mode determination model is input will be described with reference to FIG. 3.

단계 310에서, 모드 결정 모델은 컨텍스트의 합(Context_sum)이 0인지 여부를 판단한다. 만일 컨텍스트의 합이 0이라면 CMT 1 유형인 것으로 결정하여, CMT 정보로 1100000을 출력한다.In operation 310, the mode determination model determines whether the sum of contexts Context_sum is zero. If the sum of contexts is 0, it is determined that the CMT 1 type, and 1100000 is output as the CMT information.

그러나, 컨텍스트의 합이 0이 아니라면, 모드 결정 모델은 단계 320에서 컨텍스트의 합(Context_sum)이 임의의 자연수인 n 미만인지 여부를 판단한다. 다만 여기서 n은 4인 경우를 가정하여 설명한다. 이는 이후 설명될 표 3에 예시된 컨텍스트 타입 및 매크로블록의 발생 확률값을 참조할 때 n이 4미만인 발생 확률의 합이 45%에 달하기 때문이다. 물론, n의 값은 설계자 또는 사용자의 분석에 따른 확률 정확도 설정값에 따라 상이해질 수 있을 것이다.However, if the sum of contexts is not zero, the mode decision model determines whether the sum of contexts (Context_sum) is less than n, which is a natural number, in step 320. However, it is assumed here that n is 4. This is because the sum of the probability of occurrence where n is less than 4 reaches 45% when referring to the probability of occurrence of the context type and the macroblock illustrated in Table 3 to be described later. Of course, the value of n may be different according to the probability accuracy setting according to the analysis of the designer or the user.

만일 컨텍스트의 합이 4 미만이라면 CMT 2 유형인 것으로 결정하여, CMT 정보로 1111000을 출력한다.If the sum of the contexts is less than 4, it is determined that the CMT 2 type, and 111111 is output as the CMT information.

그러나 Context_sum이 4이상인 경우에는 이하에서 설명되는 바와 같이 인트라 모드 타입들(intra mode types)이나 P8x8 모드 타입의 존재 여부가 중요한 변수로 작용된다.However, when Context_sum is 4 or more, the existence of intra mode types or P8x8 mode types is an important variable as described below.

즉, 컨텍스트의 합이 4 미만이 아니라면, 모드 결정 모델은 단계 330에서 인트라 모드 타입들의 수(Intra_cnt)가 0인지 여부를 판단한다. 만일 인트라 모드 타입들의 수가 0이라면 CMT 3 유형인 것으로 결정하여, CMT 정보로 1111100을 출력한다. 이는 컨텍스트에 인트라 모드 타입들이 존재하지 않으면 이에 대한 현재 매크 로블록의 CMT에도 인트라 모드 타입들이 존재하지 않을 확률이 높기 때문이다.That is, if the sum of the contexts is not less than 4, the mode determination model determines whether the number of intra mode types Intra_cnt is 0 in step 330. If the number of intra mode types is 0, it is determined to be a CMT 3 type, and 1111100 is output as CMT information. This is because if there are no intra mode types in the context, there is a high probability that the intra mode types do not exist in the current macroblock CMT.

그러나 인트라 모드 타입들이 존재하는 경우라면, 아래에서 설명하는 바와 같이 P8x8 모드 타입의 존재 여부에 따라 CMT 타입이 결정된다.However, if there are intra mode types, the CMT type is determined according to the presence or absence of the P8x8 mode type as described below.

즉, 인트라 모드 타입들의 수가 0이 아니라면, 모드 결정 모델은 단계 340에서 P8x8 모드 타입들의 수(P8x8_cnt)가 0인지 여부를 판단한다. 만일 P8x8 모드 타입들의 수(P8x8_cnt)가 0이라면 CMT 4 유형인 것으로 결정하여, CMT 정보로 1111011을 출력한다. 그러나 만일 P8x8 모드 타입들의 수(P8x8_cnt)가 0이 아니라면 CMT 5 유형인 것으로 결정하여, CMT 정보로 1111111을 출력한다.That is, if the number of intra mode types is not zero, the mode determination model determines whether the number of P8x8 mode types (P8x8_cnt) is zero at step 340. If the number of P8x8 mode types (P8x8_cnt) is 0, it is determined to be a CMT 4 type, and 1111011 is output as CMT information. However, if the number of P8x8 mode types (P8x8_cnt) is not 0, it is determined that the CMT 5 type and outputs 1111111 as CMT information.

상술한 바와 같이, 모드 결정 모델이 시공간적 컨텍스트를 이용하여 CMT를 결정하도록 함으로써 전체 또는 다수의 모드 타입들을 평가함으로써 야기되는 복잡도를 상당부분 감소시킬 수 있다.As discussed above, having the mode decision model determine the CMT using the spatiotemporal context can significantly reduce the complexity caused by evaluating all or multiple mode types.

모드 예측 유닛(220)은 후보 모드 결정 유닛(210)으로부터 입력되는 후보 모드 타입에 관한 정보를 이용하여 인터 예측 및/또는 인트라 예측을 순차적으로 또는 병렬적으로 수행한다.The mode prediction unit 220 performs inter prediction and / or intra prediction sequentially or in parallel using information on the candidate mode type input from the candidate mode determination unit 210.

비용 계산 유닛(230)은 모드 예측 유닛(220)의 예측 결과에 따른 모드들에 대해 비트율-왜곡 비용(Rate-Distortion cost)을 계산하여, 최소 비트율-왜곡 비용을 보이는 모드 타입을 최적 모드 타입으로 선택한다. 선택된 최적 모드 타입으로 부호화가 수행될 것이다.The cost calculating unit 230 calculates a rate-distortion cost for the modes according to the prediction result of the mode prediction unit 220, thereby converting the mode type showing the minimum bit rate-distortion cost into an optimal mode type. Choose. The encoding will be performed with the selected optimal mode type.

비용 계산 유닛(230)은 최적 모드 타입의 선택을 위해 앞서 설명한 "RDO=ON" 모드, "RDO=ON and earlySkip" 모드, "RDO=OFF" 모드, 이와 별도의 모드로서 최적 모드 타입 결정을 위한 임의의 모드 들 중 하나 이상을 수행할 수 있을 것이다.The cost calculating unit 230 is a separate mode for selecting the optimum mode type, the "RDO = ON" mode, the "RDO = ON and earlySkip" mode, the "RDO = OFF" mode, and other modes for determining the optimum mode type. It may be able to perform one or more of any of the modes.

도 4는 본 발명의 다른 실시예에 따른 모드 결정 모델(MDM, mode decision model)의 후보 모드 타입 결정 과정을 나타낸 순서도이다.4 is a flowchart illustrating a candidate mode type determination process of a mode decision model (MDM) according to another embodiment of the present invention.

모드 결정 모델은 입력된 시공간적 컨텍스트별로 발생 빈도가 높은 상위 몇 개의 모드 타입들을 후보 모드 타입들로 선정할 수도 있다.The mode decision model may select the top several mode types having a high occurrence frequency for each input spatiotemporal context as candidate mode types.

아래의 표 3은 전체 매크로블록들에서 발생할 수 있는 컨텍스트 타입에 대한 확률과 해당 컨텍스트 타입을 가진 매크로블록들의 발생 확률값을 나타낸다.Table 3 below shows the probability of a context type that can occur in all macroblocks and the probability of occurrence of macroblocks having the context type.

표 3. 컨텍스트 타입 및 매크로블록의 발생 확률값Table 3. Probability of occurrence of context type and macroblock

Figure 112009023155784-pat00005
Figure 112009023155784-pat00005

표 3은 전체 2,401개의 컨텍스트 타입들 중에서 상위 10개의 컨텍스트에 대한 자료이며, 표 3에서 보여지는 바와 같이 10개의 컨텍스트가 전체 2,401개 컨텍스트 발생 확률의 50%에 가까운 비중을 차지한다. 또한. 컨텍스트 (0, 0, 0, 0)으로 모두 SKIP 모드인 경우가 전체 2,401개 컨텍스트 발생 확률의 약 34%의 비중을 차지한다. 또한, 컨텍스트 (0, 0, 0, 0)인 경우 현재 매크로블록에 대한 후보 모드 가 0, 즉 SKIP 모드일 경우가 96%의 발생 확률을 가진다.Table 3 shows data for the top 10 contexts out of a total of 2,401 context types. As shown in Table 3, 10 contexts account for nearly 50% of the probability of generating 2,401 contexts. Also. In the case of all the contexts (0, 0, 0, 0), the SKIP mode accounts for about 34% of the total probability of generating 2,401 contexts. In addition, in the case of context (0, 0, 0, 0), the candidate mode for the current macroblock is 0, that is, in case of the SKIP mode, there is a 96% probability of occurrence.

상술한 발생 확률 데이터에 기반하여 모드 결정 모델은 후보 모드 타입을 결정할 수 있다. 이하, 도 4를 참조하여 모드 결정 모델의 후보 모드 타입 결정 방법을 설명한다.The mode determination model may determine the candidate mode type based on the above probability data. Hereinafter, a candidate mode type determination method of the mode determination model will be described with reference to FIG. 4.

도 4를 참조하면, 단계 410에서 빈도 임계값이 설정된다. 빈도 임계값은 발생 비율 기준값으로 예를 들어 95% 등과 같이 확률값으로 설정될 수 있으며, 디폴트(default) 또는/및 사용자에 의한 수정 설정될 수 있다.Referring to FIG. 4, a frequency threshold is set in step 410. The frequency threshold may be set as a probability value such as, for example, 95% as an occurrence rate reference value, and may be set as a default or / and modified by a user.

단계 420에서 시공간적 컨텍스트(spatio-temporal context)가 입력되면, 모드 결정 모델은 단계 430에서 입력된 시공간적 컨텍스트에 따른 현재 매크로블록의 모드 타입에 대한 발생 확률 데이터를 이용하여 후보 모드 타입을 선정한다.If a spatio-temporal context is input in step 420, the mode determination model selects a candidate mode type using occurrence probability data for the mode type of the current macroblock according to the spatio-temporal context input in step 430.

단계 410에서 빈도 임계값이 95%로 설정되고, 입력된 시공간적 컨텍스트가 (0, 0, 0, 0)이라면 발생 확률 데이터에 기반하여 96%의 발생 확률을 가지는 0(SKIP 모드)이 후보 모드 타입으로 선정된다. 이는 SKIP 모드에 대한 발생 확률만으로 빈도 임계값을 만족하기 때문에 다른 모드 타입들은 고려할 필요가 없기 때문이다. In step 410, if the frequency threshold is set to 95%, and the input spatiotemporal context is (0, 0, 0, 0), 0 (SKIP mode) having a probability of occurrence of 96% based on the probability of occurrence data is a candidate mode type. Is selected. This is because the frequency threshold is satisfied only by the occurrence probability for the SKIP mode, so other mode types need not be considered.

그러나, 동일한 빈도 임계값에 대해 입력된 시공간적 컨텍스트가 (8,8,8,8)인 경우라면 후보 모드 타입은 발생 빈도 순으로 70% 확률을 가지는 8(P8x8), 11% 확률을 가지는 1(16x16), 9% 확률을 가지는 2(16x8), 8% 확률을 가지는 3(8x16) 및 2% 확률을 가지는 9(I4MB)가 나열될 수 있으며, 빈도 임계값을 만족하는 모드 타입들 8(P8x8), 1(16x16), 2(16x8), 3(8x16-8)이 후보 모드 타입들로 선정될 수 있다. 이는, 후보 모드 타입들로 선정된 모드 타입들의 발생 확률의 합이 빈도 임계값을 만족(70%+11%+9%+8%=98%)시키기 때문이다. 만약 이 경우 빈도 임계값이 90%로 지정되었다면, 같은 이유로 8(P8x8), 1(16x16) 및 2(16x8)만이 후보 모드 타입들로 선정될 것이다(70%+11%+9%=90%). However, if the spatiotemporal context input for the same frequency threshold is (8,8,8,8), then the candidate mode type is 8 (P8x8) with 70% probability in order of occurrence frequency, 1 (with 11% probability). 16x16), 2 (16x8) with 9% probability, 3 (8x16) with 8% probability, 9 (I4MB) with 2% probability, and mode types 8 (P8x8) that satisfy the frequency threshold. ), 1 (16x16), 2 (16x8), and 3 (8x16-8) may be selected as candidate mode types. This is because the sum of the occurrence probabilities of the mode types selected as candidate mode types satisfies the frequency threshold (70% + 11% + 9% + 8% = 98%). If the frequency threshold is specified as 90% in this case, only 8 (P8x8), 1 (16x16) and 2 (16x8) will be selected as candidate mode types for the same reason (70% + 11% + 9% = 90%). ).

상술한 바와 같이, 모드 결정 모델은 설정된 빈도 임계값에 후보 모드 타입들의 개수를 조절할 수 있다. 이는 전체 인코딩의 압축률과 복잡도를 조절할 수 있음을 의미한다.As described above, the mode decision model may adjust the number of candidate mode types at a set frequency threshold. This means that the compression rate and complexity of the entire encoding can be adjusted.

모드 결정 모델은 단계 440에서 선정된 후보 모드 타입들에 대한 정보(CMT 정보)를 출력한다.The mode decision model outputs information (CMT information) about candidate mode types selected in step 440.

또한 본 발명의 또 다른 실시예에 따르면 미리 저장된 시공간적 컨텍스트에 따른 CMT 테이블을 이용하여 후보 모드 타입 정보를 추출하는 모드 결정 모델이 제공될 수 있다. 즉, 모든 시공간적 컨텍스트의 종류에 따라 후보 모드 타입을 미리 지정한 CMT 테이블을 미리 구비한 상태에서, 현재 프레임 내의 n(임의의 자연수)개의 참조 매크로블록에 대한 모드 타입 및 하나 이상의 이전 프레임 내의 k(임의의 자연수)개 참조 매크로블록에 대한 모드 타입의 모드 타입 인덱스를 포함하는 시공간적 컨텍스트가 입력되면, 미리 구비된 CMT 테이블에서 입력된 시공간적 컨텍스트에 매칭되도록 미리 지정된 후보 모드 타입들을 추출하여 CMT 정보를 생성할 수도 있다. 이 경우, CMT 테이블은 사용자 또는 설계자의 필요 또는 설계 의도 등에 따라 다양하게 구성될 수 있다.In addition, according to another embodiment of the present invention, a mode decision model for extracting candidate mode type information using a prestored CMT table according to a spatiotemporal context may be provided. That is, the mode type for n (arbitrary natural numbers) reference macroblocks in the current frame and k in one or more previous frames, with the CMT table pre-designated candidate mode types according to all kinds of spatiotemporal contexts in advance. When the spatiotemporal context including the mode type index of the mode type for the reference macroblock is input, CMT information may be generated by extracting candidate mode types predetermined to match the spatiotemporal context input from the pre-configured CMT table. It may be. In this case, the CMT table may be variously configured according to the needs or design intentions of a user or a designer.

도 5 내지 도 8은 본 발명의 실시예에 따른 인코딩 처리 성능을 측정하여 나타낸 그래프이다.5 to 8 are graphs illustrating measurement of encoding processing performance according to an embodiment of the present invention.

아래의 표 4는 앞서 설명한 "RDO=ON" 모드에서의 시퀀스(sequence)별 평균 인코딩 시간을 나타낸다. 본 발명의 실시예에 따른 모드 선택 방법(fast mode selection with MDM (FMS-MDM))에 따를 때, 종래의 AVC/H.264 JM 인코더에 비해 CIF 및 SIF sequences에서는 약 25%, full HD sequences에서는 약 20% 빠름을 알 수 있다. 이외에도 전반적으로 모든 경우에서 실시예에 따른 모드 선택 방법이 더 빠른 인코딩 속도를 나타냄을 알 수 있다.Table 4 below shows the average encoding time per sequence in the "RDO = ON" mode described above. According to the fast mode selection with MDM (FMS-MDM) according to an embodiment of the present invention, about 25% in CIF and SIF sequences, and in full HD sequences, compared to the conventional AVC / H.264 JM encoder It's about 20% faster. In addition, in all cases, it can be seen that the mode selection method according to the embodiment shows a faster encoding speed.

표 4. RDO=ON 모드에서의 시퀀스별 평균 인코딩 시간Table 4. Average Encoding Time by Sequence in RDO = ON Mode

Figure 112009023155784-pat00006
Figure 112009023155784-pat00006

아래의 표 5는 RDO 모드별 전체 시퀀스의 평균 인코딩 시간을 나타낸다. 표 5에서 보여지는 바와 같이, 실시예에 따른 모드 선택 방법이 모든 RDO mode에서 우수한 성능을 보여주며, "RDO=ON" 모드에서 상대적으로 가장 좋은 성능을 보여준다.Table 5 below shows the average encoding time of the entire sequence for each RDO mode. As shown in Table 5, the mode selection method according to the embodiment shows excellent performance in all RDO modes, and shows relatively best performance in the "RDO = ON" mode.

표 5. RDO 모드별 전체 시퀀스의 평균 인코딩 시간Table 5. Average Encoding Time of Entire Sequence by RDO Mode

Figure 112009023155784-pat00007
Figure 112009023155784-pat00007

또한, 도 5 내지 8의 측정 그래프에서 보여지는 바와 같이 모든 RDO 모드에서 실시예에 따른 모드 선택 방법(FMS-MDM)의 압축 성능이 AVC/H.264 JM 인코더와 동일함을 보이고 있다. 참고로, 도 5는 mobile, 도 6은 foreman, 도 7은 pedestrian, 도 8은 rush-hour에 대한 측정 그래프이다.In addition, as shown in the measurement graphs of FIGS. 5 to 8, the compression performance of the mode selection method (FMS-MDM) according to the embodiment is identical to that of the AVC / H.264 JM encoder in all RDO modes. For reference, FIG. 5 is a measurement graph for mobile, FIG. 6 is foreman, FIG. 7 is pedestrian, and FIG. 8 is rush-hour.

결론적으로 제안하는 기술은 동일한 압축 성능에서 인코딩 시간을 상당히 감소시킬 수 있는 장점이 있다.In conclusion, the proposed technique has the advantage of significantly reducing the encoding time at the same compression performance.

상술한 후보 모드 결정 방법은 부호화기에 내장된 소프트웨어 프로그램 등에 의해 시계열적 순서에 따른 자동화된 절차로 수행될 수도 있음은 자명하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 상기 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록 매체 및 캐리어 웨이브 매체를 포함한다.It is apparent that the above-described candidate mode determination method may be performed by an automated procedure in time series order by a software program or the like embedded in the encoder. The codes and code segments that make up the program can be easily deduced by a computer programmer in the field. In addition, the program is stored in a computer readable media, and read and executed by a computer to implement the method. The information storage medium includes a magnetic recording medium, an optical recording medium and a carrier wave medium.

상기에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to embodiments of the present invention, those skilled in the art may variously modify the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. And can be changed.

도 1은 종래기술에 따른 AVC/H.264 JM 11.0에서의 최적 모드 타입 선정 과정을 나타낸 도면.1 is a view showing an optimal mode type selection process in AVC / H.264 JM 11.0 according to the prior art.

도 2는 본 발명의 일 실시예에 따른 고속 모드 선택부의 구성을 나타낸 블록 구성도.2 is a block diagram showing a configuration of a fast mode selection unit according to an embodiment of the present invention.

도 3은 본 발명의 일 실시예에 따른 모드 결정 모델(MDM, mode decision model)의 후보 모드 타입 결정 과정을 나타낸 순서도.3 is a flowchart illustrating a process of determining a candidate mode type of a mode decision model (MDM) according to an embodiment of the present invention.

도 4는 본 발명의 다른 실시예에 따른 모드 결정 모델(MDM, mode decision model)의 후보 모드 타입 결정 과정을 나타낸 순서도.4 is a flowchart illustrating a process of determining a candidate mode type of a mode decision model (MDM) according to another embodiment of the present invention.

도 5 내지 도 8은 본 발명의 실시예에 따른 인코딩 처리 성능을 측정하여 나타낸 그래프.5 to 8 are graphs showing measurement performance of encoding processing according to an embodiment of the present invention.

Claims (21)

인코더에서 수행되는 매크로블록의 인코딩을 위한 후보 모드 타입(CMT) 결정 방법으로서,A method of determining a candidate mode type (CMT) for encoding a macroblock performed at an encoder, 인코딩될 매크로블록이 포함된 현재 프레임인 t번째 프레임 내의 a개의 참조 매크로블록에 대한 모드 타입과, 상기 현재 프레임의 이전 프레임인 t-1번째 프레임과 t-2번째 프레임 각각에서 상기 인코딩될 매크로블록과 동일 위치인 참조 매크로블록에 대한 모드 타입의 모드 타입 인덱스(mode type index)들을 포함하는 시공간적 컨텍스트(spatio-temporal context)를 입력받는 단계;A mode type for a reference macroblock in a t-th frame that is a current frame containing a macroblock to be encoded, and the macroblock to be encoded in each of a t-1 th frame and a t-2 th frame that are previous frames of the current frame Receiving a spatio-temporal context including mode type indexes of the mode type for the reference macroblock at the same position as the first macroblock; 상기 시공간적 컨텍스트에 포함된 상기 모드 타입 인덱스의 합산 값, 상기 모드 타입 중 인트라 모드 타입의 개수 및 상기 모드 타입 중 P8x8 모드 타입의 개수를 판단하는 단계; 및Determining a sum value of the mode type indexes included in the spatiotemporal context, the number of intra mode types among the mode types, and the number of P8x8 mode types among the mode types; And 상기 판단의 결과 정보를 이용하여 미리 설정된 후보 모드 타입의 그룹 유형들 중 어느 하나의 후보 모드 타입의 그룹 유형을 선정하는 단계를 포함하되,Selecting a group type of any one candidate mode type from among preset group types of candidate mode types by using the result information of the determination, 상기 a는 임의의 자연수이고, 상기 t는 3이상인 임의의 자연수인 것을 특징으로 하는 후보 모드 타입 결정 방법.Wherein a is any natural number and t is any natural number of 3 or more. 삭제delete 제1항에 있어서,The method of claim 1, 상기 결과 정보가 상기 모드 타입 인덱스의 합산 값이 0(zero)임을 나타내는 경우, 상기 선정된 후보 모드 타입의 그룹 유형은 SKIP 모드와 16x16 모드를 후보 모드로 포함하는 것을 특징으로 하는 후보 모드 타입 결정 방법.And when the result information indicates that the sum of the mode type index is zero, the group type of the selected candidate mode type includes a SKIP mode and a 16x16 mode as candidate modes. . 제3항에 있어서,The method of claim 3, 상기 결과 정보가 상기 모드 타입 인덱스의 합산 값이 1 이상이고 n미만임을 나타내는 경우, 상기 선정된 후보 모드 타입의 그룹 유형은 SKIP 모드, 16x16 모드, 16x8 모드 및 8x16 모드를 후보 모드로 포함하되,If the result information indicates that the sum of the mode type index is 1 or more and less than n, the group type of the selected candidate mode type includes a SKIP mode, a 16x16 mode, a 16x8 mode, and an 8x16 mode as candidate modes. 상기 n은 미리 설정된 임의의 자연수인 것을 특징으로 하는 후보 모드 타입 결정 방법.And n is a predetermined natural number set in advance. 제4항에 있어서,The method of claim 4, wherein 상기 결과 정보가 상기 모드 타입 인덱스의 합산 값이 n미만이 아니고, 상기 인트라 모드 타입의 개수가 0(zero)임을 나타내는 경우, 상기 선정된 후보 모드 타입의 그룹 유형은 SKIP 모드, 16x16 모드, 16x8 모드, 8x16 모드 및 P8x8 모드를 후보 모드로 포함하는 것을 특징으로 하는 후보 모드 타입 결정 방법.When the result information indicates that the sum of the mode type index is not less than n and the number of the intra mode types is zero, the group type of the selected candidate mode type is SKIP mode, 16x16 mode, 16x8 mode. And a 8x16 mode and a P8x8 mode as candidate modes. 제5항에 있어서,The method of claim 5, 상기 결과 정보가 상기 모드 타입 인덱스의 합산 값이 n미만이 아니고, 상기 인트라 모드 타입의 개수가 0이 아니며, 상기 P8x8 모드의 개수가 0임을 나타내는 경우, 상기 선정된 후보 모드 타입의 그룹 유형은 SKIP 모드, 16x16 모드, 16x8 모드, 8x16 모드, I4MB 모드 및 I16MB 모드를 후보 모드로 포함하는 것을 특징으로 하는 후보 모드 타입 결정 방법.If the result information indicates that the sum of the mode type index is not less than n, the number of the intra mode types is not 0, and the number of the P8x8 modes is 0, the group type of the selected candidate mode type is SKIP. 12. A method for determining a candidate mode type comprising a mode, a 16x16 mode, a 16x8 mode, an 8x16 mode, an I4MB mode, and an I16MB mode. 제6항에 있어서,The method of claim 6, 상기 결과 정보가 상기 모드 타입 인덱스의 합산 값이 n미만이 아니고, 상기 인트라 모드 타입의 개수가 0이 아니며, 상기 P8x8 모드의 개수가 0이 아닌 경우, 상기 선정된 후보 모드 타입의 그룹 유형은 SKIP 모드, 16x16 모드, 16x8 모드, 8x16 모드, P8x8 모드, I4MB 모드 및 I16MB 모드를 후보 모드로 포함하는 것을 특징으로 하는 후보 모드 타입 결정 방법.If the result information indicates that the sum of the mode type index is not less than n, the number of the intra mode types is not 0, and the number of the P8x8 modes is not 0, the group type of the selected candidate mode type is SKIP. 12. A method for determining a candidate mode type comprising a mode, a 16x16 mode, a 16x8 mode, an 8x16 mode, a P8x8 mode, an I4MB mode, and an I16MB mode. 제4항에 있어서,The method of claim 4, wherein 상기 n은 4인 것을 특징으로 하는 후보 모드 타입 결정 방법.Wherein n is 4; 제1항에 있어서,The method of claim 1, 상기 현재 프레임 내의 a개의 참조 매크로블록은 상기 인코딩될 매크로블록의 상측과 좌측에 각각 위치된 매크로블록인 것을 특징으로 하는 후보 모드 타입 결정 방법.A reference macroblocks in the current frame are macroblocks positioned above and to the left of the macroblock to be encoded, respectively. 제1항, 제3항 내지 제9항 중 어느 하나에 기재된 후보 모드 타입 결정 방법을 수행하기 위하여 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체.A program of instructions that can be executed by a digital processing apparatus for performing the method of determining a candidate mode type according to any one of claims 1 to 3 is tangibly implemented and can be read by the digital processing apparatus. Recording medium that records the program. 부호화기에 있어서,In the encoder, 인코딩될 매크로블록이 포함된 현재 프레임인 t번째 프레임 내의 a개의 참조 매크로블록에 대한 모드 타입과, 상기 현재 프레임의 이전 프레임인 t-1번째 프레임과 t-2번째 프레임 각각에서 상기 인코딩될 매크로블록과 동일 위치인 참조 매크로블록에 대한 모드 타입의 모드 타입 인덱스(mode type index)들을 포함하는 시공간적 컨텍스트(spatio-temporal context)를 입력받고, 상기 시공간적 컨텍스트에 포함된 상기 모드 타입 인덱스의 합산 값, 상기 모드 타입 중 인트라 모드 타입의 개수 및 상기 모드 타입 중 P8x8 모드 타입의 개수를 판단한 결과 정보를 이용하여 미리 설정된 후보 모드 타입의 그룹 유형들 중 어느 하나의 후보 모드 타입의 그룹 유형을 선정하는 후보 모드 결정 유닛;A mode type for a reference macroblock in a t-th frame that is a current frame containing a macroblock to be encoded, and the macroblock to be encoded in each of a t-1 th frame and a t-2 th frame that are previous frames of the current frame Receiving a spatio-temporal context including mode type indexes of the mode type for the reference macroblock which is the same position as, and a sum value of the mode type indexes included in the spatiotemporal context, Determining a candidate mode for selecting a group type of any one candidate mode type among preset group types of candidate mode types by using the result of determining the number of intra mode types among the mode types and the number of P8x8 mode types among the mode types. unit; 상기 선정된 후보 모드 타입의 그룹 유형에 포함된 후보 모드에 대해 인터 예측(inter prediction) 및 인트라 예측(intra prediction) 중 하나 이상을 수행하는 모드 예측 유닛; 및A mode prediction unit that performs one or more of inter prediction and intra prediction on a candidate mode included in the group type of the selected candidate mode type; And 상기 모드 예측 수행된 모드 타입에 대해 비트율 및 이미지 왜곡 중 하나 이상의 측정에 따라 최적 모드 타입을 결정하는 비용 계산 유닛을 포함하되,A cost calculation unit for determining an optimal mode type according to one or more measurements of bit rate and image distortion for the mode type on which the mode prediction has been performed, 상기 a는 임의의 자연수이고, 상기 t는 3이상인 임의의 자연수인 것을 특징으로 하는 부호화기.Wherein a is any natural number and t is any natural number of 3 or more. 제11항에 있어서,The method of claim 11, 상기 결과 정보가 상기 모드 타입 인덱스의 합산 값이 0(zero)임을 나타내는 경우, 상기 선정된 후보 모드 타입의 그룹 유형은 SKIP 모드와 16x16 모드를 후보 모드로 포함하는 것을 특징으로 하는 부호화기.And if the result information indicates that the sum of the mode type index is zero, the group type of the selected candidate mode type includes a SKIP mode and a 16x16 mode as candidate modes. 제12항에 있어서,The method of claim 12, 상기 결과 정보가 상기 모드 타입 인덱스의 합산 값이 1 이상이고 n미만임을 나타내는 경우, 상기 선정된 후보 모드 타입의 그룹 유형은 SKIP 모드, 16x16 모드, 16x8 모드 및 8x16 모드를 후보 모드로 포함하되,If the result information indicates that the sum of the mode type index is 1 or more and less than n, the group type of the selected candidate mode type includes a SKIP mode, a 16x16 mode, a 16x8 mode, and an 8x16 mode as candidate modes. 상기 n은 미리 설정된 임의의 자연수인 것을 특징으로 하는 부호화기.And n is a predetermined natural number. 제13항에 있어서,The method of claim 13, 상기 결과 정보가 상기 모드 타입 인덱스의 합산 값이 n미만이 아니고, 상기 인트라 모드 타입의 개수가 0(zero)임을 나타내는 경우, 상기 선정된 후보 모드 타입의 그룹 유형은 SKIP 모드, 16x16 모드, 16x8 모드, 8x16 모드 및 P8x8 모드를 후보 모드로 포함하는 것을 특징으로 하는 부호화기.When the result information indicates that the sum of the mode type index is not less than n and the number of the intra mode types is zero, the group type of the selected candidate mode type is SKIP mode, 16x16 mode, 16x8 mode. And an 8x16 mode and a P8x8 mode as candidate modes. 제14항에 있어서,The method of claim 14, 상기 결과 정보가 상기 모드 타입 인덱스의 합산 값이 n미만이 아니고, 상기 인트라 모드 타입의 개수가 0이 아니며, 상기 P8x8 모드의 개수가 0임을 나타내는 경우, 상기 선정된 후보 모드 타입의 그룹 유형은 SKIP 모드, 16x16 모드, 16x8 모드, 8x16 모드, I4MB 모드 및 I16MB 모드를 후보 모드로 포함하는 것을 특징으로 하는 부호화기.If the result information indicates that the sum of the mode type index is not less than n, the number of the intra mode types is not 0, and the number of the P8x8 modes is 0, the group type of the selected candidate mode type is SKIP. And a candidate mode including a mode, a 16x16 mode, a 16x8 mode, an 8x16 mode, an I4MB mode, and an I16MB mode. 제15항에 있어서,The method of claim 15, 상기 결과 정보가 상기 모드 타입 인덱스의 합산 값이 n미만이 아니고, 상기 인트라 모드 타입의 개수가 0이 아니며, 상기 P8x8 모드의 개수가 0이 아닌 경우, 상기 선정된 후보 모드 타입의 그룹 유형은 SKIP 모드, 16x16 모드, 16x8 모드, 8x16 모드, P8x8 모드, I4MB 모드 및 I16MB 모드를 후보 모드로 포함하는 것을 특징으로 하는 부호화기.If the result information indicates that the sum of the mode type index is not less than n, the number of the intra mode types is not 0, and the number of the P8x8 modes is not 0, the group type of the selected candidate mode type is SKIP. And a candidate mode including a mode, a 16x16 mode, a 16x8 mode, an 8x16 mode, a P8x8 mode, an I4MB mode, and an I16MB mode. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020090033333A 2009-04-16 2009-04-16 Encoder and method for selecting candidate mode types KR100991138B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090033333A KR100991138B1 (en) 2009-04-16 2009-04-16 Encoder and method for selecting candidate mode types

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090033333A KR100991138B1 (en) 2009-04-16 2009-04-16 Encoder and method for selecting candidate mode types

Publications (2)

Publication Number Publication Date
KR20100114776A KR20100114776A (en) 2010-10-26
KR100991138B1 true KR100991138B1 (en) 2010-11-01

Family

ID=43133872

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090033333A KR100991138B1 (en) 2009-04-16 2009-04-16 Encoder and method for selecting candidate mode types

Country Status (1)

Country Link
KR (1) KR100991138B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HUE050473T2 (en) 2012-01-20 2020-12-28 Dolby Laboratories Licensing Corp Intra prediction mode mapping method
EP3139616A1 (en) 2012-05-29 2017-03-08 HFI Innovation Inc. Method and apparatus for coding of sample adaptive offset information

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100728031B1 (en) 2006-01-23 2007-06-14 삼성전자주식회사 Method and apparatus for deciding encoding mode for variable block size motion estimation
KR100842558B1 (en) 2007-01-26 2008-07-01 삼성전자주식회사 Determining method of block mode, and the apparatus therefor video encoding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100728031B1 (en) 2006-01-23 2007-06-14 삼성전자주식회사 Method and apparatus for deciding encoding mode for variable block size motion estimation
KR100842558B1 (en) 2007-01-26 2008-07-01 삼성전자주식회사 Determining method of block mode, and the apparatus therefor video encoding

Also Published As

Publication number Publication date
KR20100114776A (en) 2010-10-26

Similar Documents

Publication Publication Date Title
JP5785285B2 (en) Dynamic selection of motion prediction search range and extended motion vector range
KR100728031B1 (en) Method and apparatus for deciding encoding mode for variable block size motion estimation
JP5422168B2 (en) Video encoding method and video decoding method
JP4127818B2 (en) Video coding method and apparatus
TWI392370B (en) Video coding with large macroblocks
KR100898176B1 (en) Inter mode decision Method for video encoding
US20120051431A1 (en) Motion direction based adaptive motion vector resolution signaling for video coding
US10638127B2 (en) Adaptive anchor frame and quantization parameter decision in video coding
JP2009094828A (en) Device and method for encoding image, and device and method for decoding image
US20190028732A1 (en) Moving image encoding device, moving image encoding method, and recording medium for recording moving image encoding program
KR100991138B1 (en) Encoder and method for selecting candidate mode types
JP6652068B2 (en) Moving picture coding apparatus, moving picture coding method and moving picture coding program
KR101138736B1 (en) Encoder and method for selecting candidate mode types
KR100982514B1 (en) Method and apparatus for predictive intra coding for image data
JP2009049969A (en) Device and method of coding moving image and device and method of decoding moving image
JP5887012B2 (en) Image decoding method
JP2007251996A (en) Moving picture coding method, and apparatus adopting same
KR20070090494A (en) Inter frame error concealment method and apparatus using the average motion vector
JP5887013B2 (en) Image decoding method
JP5788952B2 (en) Video decoding method
JP2008153802A (en) Moving picture encoding device and moving picture encoding program
JP5864022B2 (en) Video decoding method
JP5887020B1 (en) Video decoding method
JP5890933B1 (en) Video decoding method
JP5864023B2 (en) Calculation method of prediction vector

Legal Events

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

Payment date: 20130930

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140923

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151012

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161004

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170926

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20181008

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190905

Year of fee payment: 10