KR20060021149A - Method for selecting macro block type - Google Patents

Method for selecting macro block type Download PDF

Info

Publication number
KR20060021149A
KR20060021149A KR1020040070002A KR20040070002A KR20060021149A KR 20060021149 A KR20060021149 A KR 20060021149A KR 1020040070002 A KR1020040070002 A KR 1020040070002A KR 20040070002 A KR20040070002 A KR 20040070002A KR 20060021149 A KR20060021149 A KR 20060021149A
Authority
KR
South Korea
Prior art keywords
type
macroblock
determined
candidate
inter
Prior art date
Application number
KR1020040070002A
Other languages
Korean (ko)
Other versions
KR100657277B1 (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 KR1020040070002A priority Critical patent/KR100657277B1/en
Publication of KR20060021149A publication Critical patent/KR20060021149A/en
Application granted granted Critical
Publication of KR100657277B1 publication Critical patent/KR100657277B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]

Abstract

본 발명은 동영상을 부호화 할 때 매크로블록 타입을 빠르게 결정하고, 그 매크로블록 타입을 이용하여 동영상을 부호화하는 매크로블록 타입 결정 방법에 관한 것으로, 영상의 부호화를 위한 매크로블록 결정 방법에 있어서, 매크로블록을 구성하는 화소값들의 분산을 계산하는 단계; 및 상기 매크로블록의 분산값에 따라 인터 매크로블록 타입을 결정하는 단계를 포함하는 것을 특징으로 한다.The present invention relates to a method for determining a macroblock type for quickly determining a macroblock type when encoding a video and to encoding a video using the macroblock type. The present invention relates to a macroblock determination method for encoding a video. Calculating a variance of pixel values constituting the circuit; And determining an inter macroblock type according to the variance value of the macroblock.

본 발명에 의하면, 영상을 부호화 할 때 매크로블록 타입을 결정하는 소비시간과 계산량을 상당량 감소시킬 수 있으므로, 영상 부호기의 실시간 구현 가능성을 높일 수 있다.According to the present invention, since the time required to determine the macroblock type and the amount of computation can be significantly reduced when encoding an image, the possibility of real-time implementation of an image encoder can be enhanced.

H.264, 매크로블록, 움직임 추정(motion estimation)H.264, macroblocks, motion estimation

Description

매크로블록 타입 결정 방법{Method for selecting macro block type}Method for selecting macro block type}

도 1은 종래의 H.264 표준에서 움직임 추정 및 보상을 위한 매크로블록 분할예를 나타낸 도면.1 is a diagram illustrating an example of macroblock partitioning for motion estimation and compensation in the conventional H.264 standard.

도 2는 종래의 H.264 부호기에서 매크로블록 타입 결정 방법의 일 예를 나타낸 플로우 차트.2 is a flowchart illustrating an example of a method for determining a macroblock type in a conventional H.264 encoder.

도 3은 종래의 H.264 부호기에서 매크로블록 타입 결정 방법의 다른 예를 나타낸 플로우 차트.3 is a flowchart illustrating another example of a method for determining a macroblock type in a conventional H.264 encoder.

도 4는 본 발명의 바람직한 실시예에 따른 H.264 부호기의 블록도.4 is a block diagram of an H.264 encoder in accordance with a preferred embodiment of the present invention.

도 5는 도 4의 움직임 추정부의 구성을 개략적으로 나타낸 블록도.5 is a block diagram schematically illustrating a configuration of a motion estimation unit of FIG. 4.

도 6은 본 발명에 따른 H.264 부호기의 매크로블록 타입 결정 방법을 나타낸 플로우 차트.6 is a flowchart illustrating a method of determining a macroblock type of an H.264 encoder according to the present invention.

도 7 내지 도 9는 본 발명에 따른 H.264 부호기에서 후보 타입 매크로블록을 선택하는 방법을 설명하기 위한 실시예들을 나타낸 도면.7 to 9 illustrate embodiments for explaining a method of selecting a candidate type macroblock in an H.264 encoder according to the present invention.

도 10은 후보 인터 매크로블록 타입을 추가 선정하는 기능을 갖는 분산 계산부의 후보 타입 선택 실시예를 설명하기 위한 도면.FIG. 10 is a diagram for describing a candidate type selection embodiment of a distribution calculator having a function of further selecting a candidate inter macroblock type; FIG.

< 도면의 주요 부분에 대한 설명 ><Description of Main Parts of Drawings>

100: 움직임 추정부 101: P_16×16 타입 움직임 추정부100: motion estimation unit 101: P_16 x 16 type motion estimation unit

102: P_Skip 타입 결정부 103: 분산 계산부102: P_Skip type determination unit 103: variance calculation unit

104: P_16×16 타입 결정부 105: 후보 타입 선택부104: P_16x16 type determination unit 105: candidate type selection unit

106: 후보 타입 움직임 추정부 107: 인터 매크로블록 타입 결정부106: candidate type motion estimation unit 107: inter macroblock type determination unit

본 발명은 동영상 압축 시스템에 관한 것으로, 보다 상세히는 동영상을 부호화 할 때 매크로블록 타입을 빠르게 결정하고, 그 매크로블록 타입을 이용하여 동영상을 부호화하는 영상 부호기의 매크로블록 타입 결정 방법에 관한 것이다.The present invention relates to a video compression system, and more particularly, to a method of determining a macroblock type of a video encoder for rapidly determining a macroblock type when encoding a video and encoding a video using the macroblock type.

H.264는 ITU―T(국제전기통신연합)ㆍISO(국제표준화기구)ㆍIEC(국제전기표준회의)가 공동으로 추진하는 차세대 비디오 압축표준으로 MPEG―4 파트 10 또는 MPEG―4 AVC(Advanced Video Codec)으로 불린다. 상기 H.264는 MPEG―2에 비해 3배 이상, MPEG―4에 비해 2배 이상의 데이터 압축능력을 제공한다.H.264 is the next generation video compression standard jointly promoted by ITU-T (International Telecommunication Union), ISO (International Organization for Standardization) and IEC (International Electrotechnical Commission). MPEG-4 Part 10 or MPEG-4 AVC (Advanced) Video Codec). The H.264 provides a data compression capacity of three times or more than MPEG-2 and twice or more than MPEG-4.

또한, 기존의 MPEG-2, MPEG-4, H.263의 동영상 부호기에서 움직임 추정, 보상 과정에서 16×16 또는 8×8 크기의 매크로블록에 대해 전,후 방향 각각 한 개의 참조 프레임을 사용하도록 하는데 반하여, H.264 부호기에서는 움직임 추정, 보상 과정에서 복수개의 참조 프레임을 이용할 수 있으며, 7가지의 움직임 추정 단위를 사용한 움직임 추정 및 1/4 화소 움직임 벡터 정확도를 지원한다.In addition, in motion estimation and compensation process of existing MPEG-2, MPEG-4, and H.263, one reference frame is used for each of 16x16 or 8x8 macroblocks in forward and backward directions. In contrast, the H.264 encoder can use a plurality of reference frames for motion estimation and compensation, and supports motion estimation using seven motion estimation units and 1/4 pixel motion vector accuracy.

H.264 표준에서는 하나의 픽처는 크게 I, B, P 슬라이스 중 어느 하나의 슬라이스로 나누어지고, 각 슬라이스는 복수개의 매크로블록으로 나누어진다. 상기 매크로블록은 인터 모드와 인트라 모드의 두 가지 방식으로 부호화된다.In the H.264 standard, one picture is divided into one slice of I, B, and P slices, and each slice is divided into a plurality of macroblocks. The macroblock is encoded in two ways, inter mode and intra mode.

먼저, 인터 모드(inter mode)는 현재 픽처의 매크로블록을 부호화하기 위해서 참조 픽처에서 선택된 하나 또는 복수개의 블록들의 위치를 나타내는 움직임 벡터정보와 화소값의 차를 부호화하는 인터 프리딕션에서 사용되는 모드이다. H.264 표준에서는 참조 픽처를 최대 5개까지 가질 수 있으므로 참조 픽처를 저장한 프레임 메모리내에서 참조 픽처를 검색하여 현재 매크로블록이 참조할 블록을 찾는다. 프레임 메모리에 저장되는 참조 픽처는 현재 픽처를 기준으로 과거 픽처 또는 미래 픽처가 될 수 있다.First, an inter mode is a mode used in an interprediction encoding a difference between pixel values and motion vector information indicating positions of one or a plurality of blocks selected from a reference picture in order to encode a macroblock of a current picture. . Since the H.264 standard can have up to five reference pictures, the reference picture is searched in the frame memory in which the reference picture is stored to find a block to which the current macroblock refers. The reference picture stored in the frame memory may be a past picture or a future picture based on the current picture.

다음으로, 인트라 모드(intra mode)는 현재 픽처의 매크로블록을 부호화하기 위해서 참조 픽처를 참조하는 것이 아니라, 부호화하고자 하는 매크로블록과 공간적으로 인접한 화소값을 이용하여 부호화하고자 하는 매크로블록에 대한 예측값을 계산한 후, 이 예측값과 화소값의 차를 부호화하는 인트라 프리딕션에서 사용되는 모드이다.Next, the intra mode does not refer to a reference picture in order to encode a macroblock of a current picture, but uses a pixel value spatially adjacent to a macroblock to be encoded to obtain a prediction value for a macroblock to be encoded. After calculation, this mode is used in the intra prediction for encoding the difference between the predicted value and the pixel value.

도 1은 종래의 H.264 표준에서 움직임 추정 및 보상을 위한 매크로블록 분할예를 나타낸 도면이다. 하나의 16×16 매크로블록은 16×16, 16×8, 8×16, 또는 8×8 블록으로 나누어 질 수 있고, 각각의 8×8 블록은 더 작은 단위인 8×4, 4×8, 4×4 블록으로 나누어 질 수 있다. 이렇게 나누어진 각각의 매크로블록을 인터 프리딕션에서의 모든 부호화 모드 및 인트라 프리딕션에서의 모든 부호화 모드에서 부호화해 본 후에 매크로블록의 부호화에 소요되는 비트율과, 원 매크로블록과 복호화된 매크로블록과의 왜곡정도에 따라 부호화 모드를 하나 정해 부호화 한다.1 is a diagram illustrating an example of macroblock partitioning for motion estimation and compensation in the conventional H.264 standard. One 16 × 16 macroblock can be divided into 16 × 16, 16 × 8, 8 × 16, or 8 × 8 blocks, with each 8 × 8 block being a smaller unit: 8 × 4, 4 × 8, It can be divided into 4 × 4 blocks. Each of the divided macroblocks is encoded in all encoding modes in inter-prediction and in all encoding modes in intra-prediction, and thereafter, the bit rate required for encoding the macroblock, and the original macroblock and the decoded macroblock One encoding mode is determined and encoded according to the degree of distortion.

도 2는 상기 부호화 방법에 따른 종래의 H.264 부호기에서 매크로블록 타입 결정 방법의 일 예를 나타낸 플로우 차트이다. 이하에서, 'P_X×Y'는 인터 프리딕션에서 이용되는 X×Y 크기의 매크로블록 타입을 의미하며, 'I_X×Y'는 인트라 프리딕션에서 이용되는 X×Y 크기의 매크로블록 타입을 의미한다.2 is a flowchart illustrating an example of a method for determining a macroblock type in a conventional H.264 encoder according to the encoding method. Hereinafter, 'P_X × Y' refers to a macroblock type of size X × Y used in inter prediction, and 'I_X × Y' refers to a macroblock type of size X × Y used in intra prediction. .

먼저, 부호화하고자 하는 매크로블록이 속한 슬라이스가 P 슬라이스인지를 확인한다(S10). 부호화하고자 하는 매크로블록이 I 슬라이스인 경우에는 바로 인트라 부호화 단계(S13)로 넘어간다.First, it is checked whether the slice to which the macroblock to be encoded belongs is a P slice (S10). If the macroblock to be encoded is an I slice, the process proceeds directly to the intra encoding step (S13).

상기 단계(S10)의 판단 결과 P 슬라이스인 경우에는 움직임 추정부에서 각 참조 프레임에 대하여 'P_16×16', 'P_16×8', 'P_8×16', 'P_8×8', 'P_Skip' 타입에서 움직임 추정이 수행된다(S11).In the case of the P slice as a result of the determination in step S10, the motion estimating unit types 'P_16 × 16', 'P_16 × 8', 'P_8 × 16', 'P_8 × 8', and 'P_Skip' for each reference frame. Motion estimation is performed at step S11.

상기 단계(S11)를 통해 각 타입별로 최적의 참조 프레임이 결정되고, 움직임 벡터와 최적의 비트율-왜곡치(Rate-Distortion cost: RD cost)가 계산된다. 상기 계산 결과를 근거로 각 타입에서의 비트율-왜곡치를 비교하여, 상기 비트율-왜곡치가 최소인 타입을 최적의 인터 매크로블록 타입으로 결정하고, 결정된 인터 매크로블록 타입의 움직임 벡터와 참조 프레임은 최종 움직임 벡터와 최종 참조 프레임이 된다(S12).In operation S11, an optimal reference frame is determined for each type, and a motion vector and an optimal rate-distortion cost (RD cost) are calculated. The bit rate-distortion value of each type is compared based on the result of the calculation, and the type having the minimum bit rate-distortion value is determined as an optimal inter macroblock type, and the motion vector and the reference frame of the determined inter macroblock type have the final motion. It becomes a vector and a final reference frame (S12).

다음, 인트라 부호화부에서는 매크로블록을 'I_4×4', 'I_16×16'으로 부호화한 후, 각 타입에 따른 비트율-왜곡치를 계산한다(S13).Next, the intra encoder encodes the macroblocks as 'I_4 × 4' and 'I_16 × 16', and then calculates bit rate-distortion values for each type (S13).

상기 단계(S13)의 계산 결과를 근거로, 인트라 매크로블록 타입 결정부에서는 각 인트라 매크로블록 타입의 비트율-왜곡치를 비교하여, 상기 비트율-왜곡치가 최소인 인트라 매크로블록 타입을 최적의 인트라 매크로블록 타입으로 결정한다(S14).Based on the calculation result of step S13, the intra macroblock type determination unit compares the bit rate-distortion value of each intra macroblock type, and selects an intra macroblock type having the minimum bit rate-distortion value as an optimal intra macroblock type. Determined (S14).

최적 매크로블록 타입 결정부에서는 상기 단계(S12,S14)에서 결정된 최적의 인터 매크로블록 타입과 최적의 인트라 매크로블록 타입을 비교하여 더 작은 비트율-왜곡치를 갖는 타입을 최적 매크로블록 타입으로 결정한다. I 슬라이스의 경우에는, 상기한 바와 같이, 움직임 추정 과정(S11)이 생략되고, 최적의 인트라 매크로블록 타입이 그대로 최적의 매크로블록 타입으로 결정된다.The optimum macroblock type determination unit compares the optimal inter macroblock type determined in the above steps S12 and S14 with the optimal intra macroblock type to determine a type having a smaller bit rate-distortion value as the optimal macroblock type. In the case of an I slice, as described above, the motion estimation process S11 is omitted, and the optimal intra macroblock type is determined as the optimal macroblock type as it is.

그러나, 상기 도 2에 나타낸 매크로블록 타입 결정 방법은 모든 추정 단위를 대상으로 하는 움직임 추정이 이루어지기 때문에 최적의 움직임 벡터와 최적의 매크로블록 타입을 얻을 수 있는 장점이 있지만, 복잡도가 크고 부호화 과정에서 상당한 양의 계산을 요구하므로 실시간 부호화가 어려운 단점이 있다.However, the method of determining the macroblock type shown in FIG. 2 has an advantage of obtaining an optimal motion vector and an optimal macroblock type because motion estimation is performed for all estimation units. Real time coding is difficult because it requires a considerable amount of computation.

이러한 단점을 극복하고자, 도 3에 나타낸 바와 같이 H.264 부호기에서 매크로블록 타입 결정 방법의 다른 예가 개시된 바 있다.In order to overcome this disadvantage, another example of the macroblock type determination method in the H.264 encoder has been disclosed as shown in FIG. 3.

도 3을 참조하면, 종래 H.264 부호기에서 매크로블록 타입 결정 방법의 다른 예는 움직임 추정을 'P_16×16' 타입과 그 이외의 타입으로 나누어 움직임 추정(S21, S25)을 하며, 상기 'P_16×16' 타입에 대한 움직임 추정(S21)의 결과를 이용하여 'P_Skip' 타입인지를 결정하는 단계(S22)가 포함되는 것을 특징으로 한다. 이는 부호화되는 많은 매크로블록이 'P_Skip' 타입으로 결정된다는 사실을 기초로 하여, 사전에 'P_Skip' 타입으로 결정될 매크로블록을 가려내어 다른 타입에서의 움직임 추정 과정을 생략하기 위한 것이다. 즉, 'P_Skip' 타입으로 결정되는 매크로 블록에 대해서는 다른 타입에서의 움직임 추정과 별도의 인트라 매크로블록 타입 결정 과정(S25 내지 S29) 없이 최적의 매크로블록 타입을 'P_Skip'으로 결정하여 부호화 시간을 줄이는 것이다.Referring to FIG. 3, another example of a method for determining a macroblock type in a conventional H.264 encoder divides motion estimation into a 'P_16 × 16' type and other types to perform motion estimation (S21 and S25). A step S22 of determining whether the P_Skip type is performed using the result of the motion estimation S21 for the x16 'type is included. This is based on the fact that many macroblocks to be coded are determined to be of the 'P_Skip' type, so as to filter out macroblocks to be previously determined to be of the 'P_Skip' type and to omit the motion estimation process from other types. That is, for a macroblock determined as a 'P_Skip' type, an encoding time is reduced by determining an optimal macroblock type as 'P_Skip' without a motion estimation in another type and a separate intra macroblock type determination process (S25 to S29). will be.

그러나, 상기 도 3의 종래 매크로블록 결정 방법에 있어서, 'P_Skip' 타입으로 결정되지 않는 매크로블록의 타입을 결정하는 과정에서는 여전히 많은 계산량과 부호화 시간을 필요로 하는 문제점이 있다. However, in the conventional macroblock determination method of FIG. 3, the process of determining the type of the macroblock that is not determined as the 'P_Skip' type still requires a large amount of computation and encoding time.

또한, 부호화되는 영상에서는 16×16 타입으로 결정되는 매크로블록이 다른 타입으로 결정되는 매크로블록보다 많다. 특히 P 슬라이스의 경우에는 움직임이 적고 복잡하지 않은 부분의 매크로블록은 대부분 'P_Skip' 이나 'P_16×16' 타입으로 결정된다. 비록 상기 도 3에서는 'P_Skip' 타입을 미리 가려내어 다른 타입에 대한 불필요한 움직임 추정 과정을 생략토록 하고 있으나, 'P_16×16' 타입으로 결정될 매크로블록은 미리 선별할 수 없는 문제점이 있다.In addition, in a video to be encoded, there are more macroblocks determined by the 16 × 16 type than macroblocks determined by the other type. In particular, in the case of P slices, most of the macroblocks of the less complicated and uncomplicated parts are determined as 'P_Skip' or 'P_16 × 16' types. Although the above-mentioned 'P_Skip' type is previously screened out in FIG. 3 to avoid unnecessary motion estimation for other types, the macroblock to be determined as the 'P_16 × 16' type cannot be selected in advance.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 움직임 추정을 위해 모든 매크로블록 타입을 이용하지 않고, 매크로블록의 분산을 이용하여 매크로블록 타입을 빠르게 결정할 수 있는 매크로블록 타입 결정 방법을 제공하는 데에 목적이 있다.The present invention has been made to solve the above problems, and provides a macroblock type determination method capable of quickly determining a macroblock type using variance of macroblocks without using all macroblock types for motion estimation. The purpose is to.

또한, 본 발명은 시간적, 공간적으로 인접한 매크로블록은 같은 타입으로 부호화 될 가능성이 크다는 사실을 이용하여, 부호화할 매크로블록과 시간적, 공간적으로 인접한 매크로블록 타입의 정보를 이용하여 부호화할 매크로블록의 타입을 예 측하는 매크로블록 타입 결정 방법을 제공하는 데에 목적이 있다.In addition, the present invention takes advantage of the fact that macroblocks that are temporally and spatially adjacent are likely to be encoded in the same type, and thus types of macroblocks to be encoded using information of macroblocks to be encoded and macroblock type information that are temporally and spatially adjacent to each other. It is an object of the present invention to provide a method for determining a macroblock type for estimating.

상기한 바와 같은 과제를 해결하기 위하여 본 발명인 매크로블록 타입 결정 방법은 영상의 부호화를 위한 매크로블록 타입 결정 방법에 있어서, 매크로블록을 구성하는 화소값들의 분산을 계산하는 단계; 및 상기 매크로블록의 분산값에 따라 인터 매크로블록 타입을 결정하는 단계를 포함하는 것을 특징으로 한다.In order to solve the above problems, the present invention provides a method for determining a macroblock type, the method comprising: calculating a variance of pixel values constituting a macroblock; And determining an inter macroblock type according to the variance value of the macroblock.

상기 결정 단계는, 상기 매크로블록의 분산값이 소정값 이하인 경우에는, 인터 매크로블록 타입을 16×16 크기의 매크로블록으로 결정하는 것이 바람직하다.In the determining step, when the variance value of the macroblock is less than or equal to a predetermined value, it is preferable to determine the inter macroblock type as a macroblock having a size of 16 × 16.

상기 결정 단계는, 상기 매크로블록의 분산값이 소정값 이상인 경우에는, 소정의 후보 매크로블록 타입에 대하여 움직임 추정을 수행하여 인터 매크로블록 타입을 결정하는 단계를 포함하는 것이 바람직하다.The determining may include determining an inter macroblock type by performing motion estimation on a predetermined candidate macroblock type when the variance value of the macroblock is greater than or equal to a predetermined value.

상기 소정의 후보 매크로블록 타입은, 16×16 타입 움직임 벡터를 이용하여 선택되는 것이 바람직하다.The predetermined candidate macroblock type is preferably selected using a 16 × 16 type motion vector.

상기 인터 매크로블록 타입은, 16×16 매크로블록 타입에 대한 비트율 왜곡치와 후보 매크로블록 타입에 대한 비트율 왜곡치를 비교하여 최소 비트율 왜곡치를 갖는 타입으로 결정되는 것이 바람직하다.The inter macroblock type is preferably determined to have a minimum bit rate distortion value by comparing the bit rate distortion value for the 16 × 16 macroblock type and the bit rate distortion value for the candidate macroblock type.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다. 특히, 바람직한 실시예로서 H.264 표준에 따른 부호기를 중심으로 설명하지만, 본 발명의 사상은 다른 영상 부호기에도 적용할 수 있다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In particular, the preferred embodiment will be described based on the encoder according to the H.264 standard, but the idea of the present invention can be applied to other video encoders.

본 발명에 따른 H.264 부호기는 동영상 데이터를 부호화한다. 동영상 데이터 는 시간축 상에 나열되는 복수개의 픽처로 구성되며, 각 픽처는 다시 복수개의 슬라이스로 구성되며, 각 슬라이스는 복수개의 블록으로 구성된다. 전술한 도 1에 나타낸 바와 같이, 블록은 매크로블록, 매크로블록을 수직 또는 수평 방향으로 이분할 또는 사분할하여 얻어진 서브 블록을 포함한다. 이러한 다양한 종류의 가변 블록을 이용하여 인터 프리딕션을 수행하면 영상의 특성과 움직임에 따라서 효과적으로 부호화를 수행한다.The H.264 encoder according to the present invention encodes video data. The video data is composed of a plurality of pictures arranged on the time axis, each picture is composed of a plurality of slices, and each slice is composed of a plurality of blocks. As shown in FIG. 1 described above, a block includes a macroblock, a subblock obtained by dividing or dividing a macroblock in a vertical or horizontal direction. When interprediction is performed using these various types of variable blocks, encoding is effectively performed according to characteristics and motions of an image.

도 4는 본 발명의 바람직한 실시예에 따른 H.264 부호기의 블록도이다. H.264 부호기는 움직임 추정부(100), 움직임 보상부(120), 인트라 프리딕션 수행부(122), 변환부(124), 양자화부(126), 재정렬부(128), 엔트로피 코딩부(130), 역양자화부(132), 역변환부(134), 필터(136) 및 프레임 메모리(138)를 구비한다.4 is a block diagram of an H.264 encoder according to a preferred embodiment of the present invention. The H.264 encoder includes a motion estimator 100, a motion compensator 120, an intra prediction unit 122, a transform unit 124, a quantization unit 126, a reordering unit 128, and an entropy coding unit ( 130, an inverse quantizer 132, an inverse transformer 134, a filter 136, and a frame memory 138.

인터 프리딕션을 위해 현재 부호화할 매크로블록의 예측치를 참조 픽처에서 찾는 것은 움직임 추정부(100)에서 수행된다. 그리고, 움직임 보상부(120)는 1/2 화소 또는 1/4 화소 단위로 참조 블록이 찾아진 경우에는 이들 중간 화소값을 계산하여 참조 블록 데이터 값을 정한다. 이렇게 인터 프리딕션은 움직임 추정부(100)와 움직임 보상부(120)에서 수행된다.The motion estimation unit 100 performs a search for a prediction value of a macroblock to be currently encoded for interprediction in the reference picture. When the reference block is found in units of 1/2 or 1/4 pixels, the motion compensator 120 calculates these intermediate pixel values to determine the reference block data value. In this way, the interprediction is performed by the motion estimator 100 and the motion compensator 120.

또한, 현재 픽처의 매크로블록의 예측치를 현재 픽처 내에서 찾는 인트라 프리딕션이 인트라 프리딕션 수행부(122)에서 수행된다. 현재 매크로블록에 대해 인터 프리딕션을 수행할 것인가 또는 인트라 프리딕션을 수행할 것인가 하는 것은 모든 부호화 모드하에서의 비트율-왜곡치를 계산하여 그 값이 가장 작은 모드를 상기 블록의 부호화 모드로 결정하여 매크로블록에 대한 부호화를 수행한다. In addition, the intra prediction unit 122 that finds the prediction value of the macroblock of the current picture within the current picture is performed by the intra prediction unit 122. Whether to perform inter-prediction or intra-prediction on the current macroblock is performed by calculating the bit rate-distortion value under all encoding modes, and determining the mode with the smallest value as the encoding mode of the block. Perform encoding on

상술한 바와 같이 인터 프리딕션 또는 인트라 프리딕션이 수행되어 현재 프레임의 매크로블록이 참조할 예측 데이터가 찾아졌다면, 이를 현재 픽처의 매크로블록에서 빼서 변환부(124)에서 변환을 수행한 후에 양자화부(126)에서 양자화를 수행한다. 현재 프레임의 매크로블록에서 움직임 추정된 참조 블록을 뺀 것을 잔차(residual)이라고 하는데 부호화시의 데이터량을 줄이기 위해서 잔차값을 부호화하는 것이다. 양자화된 잔차값은 엔트로피 코딩부(130)에서 인코딩하기 위하여 재정렬부(128)를 거친다.As described above, if inter prediction or intra prediction is performed and prediction data to be referred to by the macroblock of the current frame is found, the transform unit 124 performs subtraction by subtracting the macroblock from the macroblock of the current picture and then performing quantization ( 126). The subtraction of the motion estimation reference block from the macroblock of the current frame is called residual. The residual value is encoded to reduce the amount of data during encoding. The quantized residual value passes through the reordering unit 128 for encoding in the entropy coding unit 130.

한편, 인터 프리딕션에 사용될 참조 픽처를 얻기 위하여 양자화된 픽처를 역양자화부(132)와 역변환부(134)를 거쳐 현재 픽처를 복원한다. 이렇게 복원된 현재 픽처는 프레임 메모리에 저장되었다가 다음 픽처에 대하여 인터 프리딕션을 수행하는데 사용된다. 복원된 픽처가 필터(136)를 통과하면 원래 픽처에서 약간의 부호화 에러를 포함한 픽처가 된다.Meanwhile, in order to obtain a reference picture to be used for interprediction, the current picture is reconstructed through the inverse quantization unit 132 and the inverse transform unit 134. The reconstructed current picture is stored in frame memory and used to perform interprediction on the next picture. When the reconstructed picture passes the filter 136, it becomes a picture with some encoding error in the original picture.

도 5는 도 4의 움직임 추정부(100)의 구성을 개략적으로 나타낸 블록도이다.FIG. 5 is a block diagram schematically illustrating a configuration of the motion estimation unit 100 of FIG. 4.

상기 움직임 추정부(100)는 P_16×16 타입 움직임 추정부(100), P_Skip 타입 결정부(102), 분산 계산부(103), P_16×16 타입 결정부(104), 후보 타입 선택부(105), 후보 타입 움직임 추정부(106), 및 인터 매크로블록 타입 결정부(107)를 포함한다. 전술한 바와 같이, 이하에서 'P_X×Y'는 인터 프리딕션에서 이용되는 X×Y 크기의 매크로블록 타입을 의미하며, 'I_X×Y'는 인트라 프리딕션에서 이용되는 X×Y 크기의 매크로블록 타입을 의미한다.The motion estimator 100 includes a P_16 × 16 type motion estimator 100, a P_Skip type determiner 102, a variance calculator 103, a P_16 × 16 type determiner 104, and a candidate type selector 105. ), A candidate type motion estimation unit 106, and an inter macroblock type determination unit 107. As described above, in the following, 'P_X × Y' refers to a macroblock type of size X × Y used in inter prediction, and 'I_X × Y' refers to a macroblock of size X × Y used in intra prediction. It means type.

P 슬라이스에 속한 매크로블록의 경우에는, 먼저 상기 P_16×16 타입 움직임 추정부(101)에서 16×16 타입의 매크로블록을 이용하여 움직임 추정이 이루어진다.In the case of a macroblock belonging to a P slice, motion estimation is first performed by using a 16 × 16 type macroblock in the P_16 × 16 type motion estimation unit 101.

상기 P_Skip 타입 결정부(102)에서는 상기 P_16×16 타입 움직임 추정부(101)의 움직임 추정의 결과를 이용하여 부호화할 매크로블록이 P_Skip 타입인지를 결정한다.The P_Skip type determiner 102 determines whether the macroblock to be encoded is a P_Skip type by using the result of the motion estimation of the P_16 × 16 type motion estimator 101.

스킵(Skip) 모드는 부호화하고자 하는 블록의 부호화 모드 정보만을 전송 또는 저장하는 모드이다. 영상의 배경부분 등에서는 현재 픽처의 주어진 블록이 참조 픽처의 해당 블록과 화소값이 동일할 확률이 높고, 이 경우에는 잔차(residual) 신호나 움직임 벡터 정보와 같이 별도의 부호화된 데이터의 전송 또는 저장의 필요없이 부호화 모드 정보만을 전송하거나 저장하면 되기 때문이다. 현재 부호화할 매크로블록이 P_Skip 타입인지를 결정하기 위해서 상기 P_Skip 타입 결정부(102)에서는 다음의 네 조건을 만족하는지 여부에 따라 판단할 수 있다.The skip mode is a mode for transmitting or storing only encoding mode information of a block to be encoded. In the background part of the image, a given block of the current picture is likely to have the same pixel value as the corresponding block of the reference picture, and in this case, the transmission or storage of separate coded data such as a residual signal or motion vector information This is because only encoding mode information needs to be transmitted or stored without requiring. In order to determine whether a macroblock to be encoded is a P_Skip type, the P_Skip type determiner 102 may determine whether the following four conditions are satisfied.

i) 인터 프리딕션에 사용되는 블록의 크기가 16x16 이고, ii) 현재 블록을 부호화하는데 사용되는 참조 픽처가 프레임 메모리에 저장된 참조픽처 중 현재 픽처와 시간적으로 가장 가까운 픽처이며, iii) 움직임 벡터가 (0,0) 이거나 예측 움직임 벡터(Predicted Motion Vector:PMV)와 같고, iV) 현재 블록과 참조 픽처의 블록의 화소값의 차이인 잔차값을 변환하고 양자화한 후의 값이 0인 경우이다.i) the size of the block used for interprediction is 16x16, ii) the reference picture used to encode the current block is the one closest in time to the current picture among the reference pictures stored in the frame memory, and iii) the motion vector is ( 0, 0) or the same as a predicted motion vector (PMV), and iV) a value after converting and quantizing a residual value that is a difference between pixel values of a current block and a block of a reference picture is 0.

또는, 다음의 세가지 경우를 모두 만족시키는 경우이다. i) 인터 프리딕션에 사용되는 블록의 크기가 8x8 이고, ii) 현재 블록을 부호화하는데 사용되는 참조 픽처와 움직임 벡터가, 현재 블록의 공간적 또는 시간적 인접 블록의 참조픽처와 움직임 벡터 정보로부터 추정한 것과 동일하며, iii) 현재 블록과 참조 픽처의 블 록의 화소값의 차이인 잔차값을 변환하고 양자화한 후의 값이 0인 경우이다.Alternatively, all three cases are satisfied. i) the size of the block used for interprediction is 8x8, and ii) the reference picture and the motion vector used for encoding the current block are estimated from the reference picture and motion vector information of the spatial or temporal neighboring block of the current block. Iii) The value after converting and quantizing a residual value, which is a difference between pixel values of a block of a current block and a reference picture, is 0.

상술한 스킵 조건을 모두 만족하면 상기 P_Skip 타입 결정부(102)에서는 그 매크로블록을 P_Skip 타입으로 결정하고 다른 매크로블록 타입에 대해서는 체크하지 않고 종료된다. 다만, 상기 스킵 조건에 한정되지 않고, 다양한 P_Skip 타입 여부를 결정하는 방법을 이용할 수 있다.If all of the above skip conditions are satisfied, the P_Skip type determination unit 102 determines that the macroblock is a P_Skip type and ends without checking other macroblock types. However, the present invention is not limited to the skip condition, and a method of determining whether various P_Skip types are used may be used.

상기 분산 계산부(103)는 상기 P_Skip 타입 결정부(102)에서 P_Skip 타입으로 결정되지 않은 매크로블록에 대한 분산을 계산한다. 즉, 부호화할 매크로블록을 구성하는 각 화소값과 매크로블록을 구성하는 화소값의 평균의 차를 제곱하여 합산한 후, 매크로블록의 화소수로 나누어 줌으로써 매크로블록의 분산을 계산한다. 구체적인 수식은 후술하기로 한다.The variance calculator 103 calculates a variance for macroblocks not determined as P_Skip type by the P_Skip type determiner 102. That is, the variance of the macroblock is calculated by dividing the difference between the average of each pixel value constituting the macroblock to be encoded and the average pixel value constituting the macroblock by dividing by the number of pixels of the macroblock. Specific formulas will be described later.

상기 P_16×16 타입 결정부(104)는 상기 P_16×16 타입 움직임 추정부(101)에서 추정된 P_16×16 타입의 움직임 벡터와 참조 프레임 정보, 및 상기 분산 계산부(103)에서 계산된 매크로블록의 분산을 이용하여 현재 매크로블록을 P_16×16 타입의 매크로블록으로 결정할지를 판단한다.The P_16x16 type determiner 104 is a P_16x16 type motion vector and reference frame information estimated by the P_16x16 type motion estimator 101, and a macroblock calculated by the variance calculator 103. It is determined whether the current macroblock is determined to be a P_16x16 type macroblock using the variance of.

상기 P_16×16 타입 결정부(104)에서 P_16×16 타입으로 결정된 경우에는 최적의 인터 매크로블록 타입이 'P_16×16'으로 결정되며, 상기 인트라 프리딕션 수행부(122)에서 결정된 최적의 인트라 매크로블록 타입과 비교되어 더 작은 비트율-왜곡치를 갖는 것이 최적 매크로블록 타입이 결정된다.When the P_16 × 16 type determination unit 104 determines the P_16 × 16 type, the optimal inter macroblock type is determined as 'P_16 × 16', and the optimal intra macro determined by the intra prediction unit 122 is determined. Compared to the block type, having a smaller bit rate-distortion value determines the optimal macroblock type.

상기 후보 타입 선택부(105)는 상기 P_16×16 타입 결정부(104)에서 P_16×16 타입으로 결정되지 않은 매크로블록에 대하여 'P_16×16', 'P_16×8', 'P_8× 16', 'P_8×8' 타입의 매크로블록 중 결정될 확률이 높은 인터 매크로블록 타입을 예측하여 선택한다. 이 때, 상기 P_16×16 타입 움직임 추정부(101)에서 얻은 'P_16×16' 타입 움직임 벡터를 이용하여 인터 매크로블록 타입을 예측 선택한다.The candidate type selector 105 may select 'P_16 × 16', 'P_16 × 8', 'P_8 × 16', for macroblocks not determined as P_16 × 16 type by the P_16 × 16 type determiner 104. An inter macroblock type having a high probability of being determined among macroblocks of the 'P_8 × 8' type is predicted and selected. At this time, the inter macroblock type is predicted and selected using the 'P_16 × 16' type motion vector obtained by the P_16 × 16 type motion estimation unit 101.

상기 후보 타입 움직임 추정부(106)는 상기 후보 타입 선택부(105)에서 선택된 후보 타입 중, 'P_16×16' 타입을 제외한 나머지 타입에서의 움직임 추정을 수행하고 비트율-왜곡치를 계산한다. 이 때, 참조 프레임으로는 상기 P_16×16 타입 결정부(104)에서 결정된 참조 프레임이 유일하게 사용된다.The candidate type motion estimation unit 106 performs motion estimation on the remaining types except for the 'P_16 × 16' type among the candidate types selected by the candidate type selection unit 105 and calculates a bit rate-distortion value. In this case, the reference frame determined by the P_16x16 type determination unit 104 is used only as the reference frame.

상기 인터 매크로블록 타입 결정부(107)는 상기 후보 타입들과 P_16×16 타입에서의 비트율-왜곡치를 비교하여, 최소의 비트율-왜곡치를 갖는 타입을 최적의 인터 매크로블록 타입으로 결정한다.The inter macroblock type determiner 107 compares the candidate types with bit rate-distortion values in the P_16x16 type and determines a type having a minimum bit rate-distortion value as an optimal inter macroblock type.

상기 인터 매크로블록 타입 결정부(107)에서 결정된 최적의 인터 매크로블록 타입은, 다시 상기 인트라 프리딕션 수행부(122)에서 결정된 최적의 인트라 매크로블록 타입과 비교되어 더 작은 비트율-왜곡치를 갖는 것이 최적 매크로블록 타입으로 결정된다.The optimal inter macroblock type determined by the inter macroblock type determiner 107 is again compared with the optimal intra macroblock type determined by the intra prediction performer 122 to have a smaller bit rate-distortion value. Determined by macroblock type.

이하, 본 발명의 바람직한 실시예에 따른 H.264 부호기의 매크로블록 타입 결정 방법에 대하여 구체적으로 살펴본다.Hereinafter, a method of determining a macroblock type of an H.264 encoder according to a preferred embodiment of the present invention will be described in detail.

도 6은 본 발명에 따른 H.264 부호기의 매크로블록 타입 결정 방법을 나타낸 플로우 차트이다.6 is a flowchart illustrating a method of determining a macroblock type of an H.264 encoder according to the present invention.

본 발명에 따른 H.264 부호기의 매크로블록 타입 결정 방법은 'P_Skip' 타입 뿐만 아니라, 'P_16×16' 타입의 인터 매크로블록도 사전에 결정하여 걸러냄으로 써, H.264 기반의 동영상 부호화 과정에서 전체 처리 시간의 대부분을 차지하는 복잡한 움직임 추정 과정에 소비되는 시간을 줄이는 데 특징이 있다.In the method of determining the macroblock type of the H.264 encoder according to the present invention, the H.264-based video encoding process is performed by pre-filtering not only the 'P_Skip' type but also the 'P_16 × 16' type inter macroblock. Is characterized by reducing the time spent in the complex motion estimation process, which accounts for most of the total processing time.

구체적으로는, 먼저 현재 부호화할 매크로블록이 P 슬라이스에 속한 것인지를 판단한다(S100).Specifically, first, it is determined whether the macroblock to be currently encoded belongs to the P slice (S100).

상기 단계의 판단 결과 P 슬라이스에 속한 매크로블록의 경우에는, 상기 P_16×16 타입 움직임 추정부(100)는 모든 참조 프레임에서 16×16 타입의 매크로블록을 이용한 움직임 추정을 하여, 상기 16×16 타입의 매크로블록에서의 움직임 벡터와 최적의 비트율-왜곡치, 최적의 참조 프레임을 얻는다(S102).As a result of the determination of the step, in the case of the macroblock belonging to the P slice, the P_16x16 type motion estimator 100 estimates the motion by using the 16x16 type macroblock in all reference frames, and then uses the 16x16 type. A motion vector, an optimal bit rate-distortion value, and an optimal reference frame in the macroblock of are obtained (S102).

상기 단계(S102)의 결과를 이용하여, 상기 P_Skip 타입 결정부(102)에서는 전술한 바와 같은 스킵 조건을 만족하는지 여부를 판단하여, 부호화할 매크로블록이 P_Skip 타입인지를 결정한다(S104).Using the result of the step S102, the P_Skip type determination unit 102 determines whether the skip condition as described above is satisfied, and determines whether the macroblock to be encoded is a P_Skip type (S104).

상기 단계(S104)의 판단 결과, 부호화할 매크로블록이 P_Skip 타입으로 판단되면, 최적 매크로블록 타입을 P_Skip으로 결정하고 다른 매크로블록 타입에서의 움직임 추정을 시행하지 않고 종료한다(S108).As a result of the determination in step S104, if it is determined that the macroblock to be encoded is a P_Skip type, the optimal macroblock type is determined as P_Skip, and the process ends without performing motion estimation in another macroblock type (S108).

상기 단계(S104)의 판단 결과, P_Skip 타입이 아닌 것으로 판단되면 'P_16×16', 'P_16×8', 'P_8×16', 'P_8×8'의 매크로블록 타입을 이용하여 움직임 추정 과정을 거쳐야 하는데, 본 발명은 상기 매크로블록 타입 중에서 부호화할 매크로블록의 분산을 계산하여 'P_16×16' 타입으로 부호화 될 매크로블록을 사전에 결정할 수 있다.If it is determined in step S104 that it is not the P_Skip type, the motion estimation process is performed using macroblock types of 'P_16 × 16', 'P_16 × 8', 'P_8 × 16', and 'P_8 × 8'. In the present invention, the macroblock to be encoded in the 'P_16 × 16' type may be determined in advance by calculating the variance of the macroblock to be encoded among the macroblock types.

구체적으로는, 상기 단계(S104)의 판단 결과 P_Skip 타입이 아닌 것으로 판 단되면 분산 계산부(103)에서는 다음의 수학식 1을 이용하여, 부호화할 매크로블록의 분산(variance)를 계산한다(S110).Specifically, if it is determined that the step S104 is not of the P_Skip type, the variance calculator 103 calculates a variance of the macroblock to be encoded using Equation 1 below (S110). ).

Figure 112004039867315-PAT00001
Figure 112004039867315-PAT00001

상기 수학식 1에서 k는 매크로블록의 번호이고, p(i,j)는 매크로블록 좌측 최상단 화소에서 가로 방향으로 i, 세로 방향으로 j만큼 떨어져 있는 화소값을 나타낸다. 또한, MEAN(k)는 부호화할 매크로블록을 구성하는 모든 화소값의 평균으로 다음의 수학식 2로 표현된다.In Equation 1, k denotes a number of macroblocks, and p (i, j) represents a pixel value spaced apart from the leftmost pixel of the macroblock by i in the horizontal direction and j in the vertical direction. In addition, MEAN (k) is expressed by the following equation 2 as an average of all pixel values constituting a macroblock to be encoded.

Figure 112004039867315-PAT00002
Figure 112004039867315-PAT00002

상기 단계(S110)에서 계산된 분산을 이용하여 P_16×16 타입 결정부(104)에서는 부호화할 매크로블록이 P_16×16 타입의 인터 매크로블록으로 결정될지를 판단하게 된다(S112). 구체적으로는 다음의 수학식 3을 이용하여 P_16×16 타입의 인터 매크로블록인지를 사전에 판단한다.Using the variance calculated in step S110, the P_16 × 16 type determination unit 104 determines whether a macroblock to be encoded is determined to be an P_16 × 16 type inter macroblock (S112). Specifically, it is determined in advance whether it is an P_16x16 type inter macroblock using the following equation (3).

Figure 112004039867315-PAT00003
Figure 112004039867315-PAT00003

Figure 112004039867315-PAT00004
Figure 112004039867315-PAT00004

상기 수학식 3에서, k는 매크로블록 번호이고, VAR(k)는 분산, JP _16 × 16(k)는 P_16×16 에서의 비트율-왜곡치, mb_typeinter(k)는 최종 결정되는 인터 매크로블록 타입을 의미한다. 또한, ThVAR과 ThRD cost는 사용자가 임의로 정할 수 있는 기준값으로, 영상의 특성에 따라 유동적으로 바꿀수 있다. 상기 ThVAR과 ThRD cost 의 값이 클수록 인터 매크로블록 확률이 'P_16×16'으로 결정될 확률이 높아진다.In Equation 3, k is a macroblock number, VAR (k) is variance, J P _ 16 × 16 (k) is a bit rate-distortion value at P_16 × 16, and mb_type inter (k) is an finally determined inter macro. It means the block type. In addition, Th VAR and Th RD cost are user- definable reference values, which can be flexibly changed according to the characteristics of the image. The greater the value of the Th VAR and Th RD cost, the higher the probability that the inter macroblock probability is determined to be 'P_16 × 16'.

상기 수학식 1 내지 3에 나타낸 바와 같이, 본 발명에 따른 H.264 부호기의 매크로블록 타입 결정 방법에서는 부호화할 매크로블록이 복잡한 경우에 분산이 크고, 비교적 평탄화 된 영역으로 이루어진 경우에 분산이 작으며, 일정 기준값 이하의 분산을 갖는 매크로블록은 P_16×16 타입이 될 가능성이 크다는 사실을 이용하는 것이다.As shown in Equations 1 to 3, in the macroblock type determination method of the H.264 encoder according to the present invention, the dispersion is large when the macroblock to be encoded is complex, and the dispersion is small when the relatively flat region is formed. In other words, the macroblock having a variance below a certain reference value takes advantage of the fact that it is likely to be of type P16 × 16.

이때, 상기 단계(S112)에서는 상기 P_16×16 타입 움직임 추정부(101)에서 얻은 P_16×16 타입에서의 최적의 참조 프레임이 최종 참조 프레임으로 결정되고, 다른 매크로블록 타입에서의 움직임 추정시 유일한 참조 프레임으로 사용된다.At this time, in step S112, an optimal reference frame of the P_16x16 type obtained by the P_16x16 type motion estimation unit 101 is determined as the final reference frame, and the only reference in the motion estimation in the other macroblock type is determined. Used as a frame.

다음으로, 상기 수학식 2에 나타낸 조건으로 부호화할 매크로블록의 타입이 P_16×16 타입인지를 판단하여(S114), P_16×16 타입인 경우에는 최적 인터 매크로블록 타입을 P_16×16으로 결정하고, 인트라 부호화 단계(S126)로 진행된다.Next, it is determined whether the type of the macroblock to be encoded is P_16 × 16 type under the condition shown in Equation 2 (S114). In the case of the P_16 × 16 type, the optimal inter macroblock type is determined as P_16 × 16. The intra coding step S126 is reached.

만약 P_16×16 타입으로 판단되지 않은 경우에는, 상기 후보 타입 선택부(105)에서 'P_16×16', 'P_16×8', 'P_8×16', 'P_8×8' 중 결정될 확률이 높은 인터 매크로블록 타입의 후보를 예측 선택한다(S116). 이때, 상기 P_16×16 타입 움직임 추정부(101)에서 얻은 P_16×16 타입 움직임 벡터를 이용한다.If it is not determined that the P_16 × 16 type is determined, the candidate type selector 105 has a high probability of being determined among 'P_16 × 16', 'P_16 × 8', 'P_8 × 16', and 'P_8 × 8'. The candidate of the macroblock type is predictively selected (S116). At this time, the P_16x16 type motion vector obtained by the P_16x16 type motion estimation unit 101 is used.

도 7 내지 도 9는 후보 매크로블록 타입의 선택 실시예를 설명하기 위한 도면이다.7 to 9 are diagrams for describing an exemplary embodiment of selecting a candidate macroblock type.

도 7은 참조 프레임의 4개의 매크로블록으로부터 현재 부호화할 매크로블록이 예측되는 경우를 나타낸 것이다. 도시된 바와 같이, 상기 P_16×16 타입 움직임 벡터가 가리키는 참조 프레임의 4개의 매크로블록을 통해 현재 매크로블록이 예측되는 경우, 각 4개의 매크로블록에서 현재 매크로블록을 예측하는데 필요한 픽셀의 수를 계산한다. 도 7의 경우에는 현재 매크로블록의 예측에 사용되는 픽셀 수는 매크로블록 A가 25, B가 55, C가 55, D가 121이다. 상기 매크로블록 A, B, C, D 중 인트라 타입으로 부호화된 매크로블록을 제외한 나머지 매크로블록 중에서 현 매크로블록의 예측에 사용되는 픽셀 수가 가장 많은 참조 프레임의 매크로블록의 타입을 후보 타입으로 선택한다. 만약 픽셀 수에서 동률을 이루는 둘 이상의 매크로블록이 있다면 현재 부호화할 매크로블록으로부터 거리(euclidian distance)가 가장 가까운 매크로블록에 우선 순위를 부여한다. 만약, 픽셀 수와 현재 부호화할 매크로블록으로부터의 거리도 모두 같은 경우에는 임의로 우선 순위를 부여한다. FIG. 7 illustrates a case in which a macroblock to be currently encoded is predicted from four macroblocks of a reference frame. As shown, when the current macroblock is predicted through four macroblocks of a reference frame indicated by the P_16 × 16 type motion vector, the number of pixels required to predict the current macroblock in each of the four macroblocks is calculated. . In the case of FIG. 7, the number of pixels used for prediction of the current macroblock is 25 for macroblock A, 55 for B, 55 for C, and 121 for D. Among macroblocks A, B, C, and D, the macroblock of the reference frame having the largest number of pixels used for prediction of the current macroblock among the remaining macroblocks is selected as a candidate type. If there are two or more macroblocks equal in the number of pixels, priority is given to the macroblock closest to the euclidian distance from the macroblock to be encoded. If both the number of pixels and the distance from the macroblock to be encoded are the same, priority is given arbitrarily.

또한, 후보 타입으로 선택된 타입이 P_16×16 타입 뿐인 경우는 더 이상의 움직임 추정 과정 없이 인터 매크로블록 타입을 P_16×16 타입으로 결정한다. 만약, 참조 프레임의 매크로블록 A, B, C, D가 모두 인트라 모드로 부호화 되어 있거나, P_Skip 타입으로 부호화 되어 있는 경우는 후보 타입으로 P_16×16, P_Skip 타입을 제외한 나머지 타입인 P_16×8, P_8×16, P_8×8 을 모두 선택한다.In addition, when the type selected as the candidate type is only P_16x16 type, the inter macroblock type is determined as P_16x16 type without further motion estimation process. If macroblocks A, B, C, and D of the reference frame are all encoded in the intra mode or P_Skip type, P_16 × 8 and P_8 which are the remaining types except P_16 × 16 and P_Skip types are candidate types. Select both x16 and P_8x8.

도 8은 후보 타입 선택의 또 다른 실시예로서, 참조 프레임의 2개 매크로블 록 C, D를 통해 현재 매크로블록이 에측되는 경우의 후보 타입 선택 방법을 설명하기 위한 도면이다.FIG. 8 is a diagram for describing a candidate type selection method when a current macroblock is predicted through two macroblocks C and D of a reference frame as another embodiment of selecting a candidate type.

도시된 바와 같이, 참조 프레임의 2개의 매크로블록 C, D 중에서 현재 부호화할 매크로블록의 예측에 사용되는 픽셀 수가 많은 매크로블록의 타입을 후보 타입으로 선택한다. 도 8의 경우, D 매크로블록이 인트라 모드로 부호화 되어 있거나, P_Skip 타입으로 부호화되어 있지 않은 이상 D 매크로블록의 타입인 P_16×16 인 매크로블록 타입이 후보 타입으로 선택된다. As shown, a type of macroblock having a large number of pixels used for prediction of a macroblock to be currently encoded is selected as a candidate type from two macroblocks C and D of a reference frame. In the case of FIG. 8, unless the D macroblock is encoded in the intra mode or the P_Skip type, the macroblock type P_16 × 16 which is the type of the D macroblock is selected as the candidate type.

만약, 예측에 사용되는 픽셀 수가 같은 경우에는 도 7의 경우와 같이 현재 부호화할 매크로블록으로부터 거리가 가까운 참조 프레임의 매크로블록의 타입을 후보 타입으로 선택하게 된다.If the number of pixels used for prediction is the same, as in the case of FIG. 7, the type of the macroblock of the reference frame close to the current macroblock to be encoded is selected as the candidate type.

상기 과정을 통해 선택된 타입이 P_16×16인 경우에는 별도의 움직임 추정 과정 없이 인터 매크로블록 타입을 P_16×16으로 결정하며, 참조 프레임의 매크로블록 C, D가 모두 인트라 모드, 또는 P_Skip 모드로 부호화되어 있는 경우에는 후보 타입으로 'P_16×8', 'P_8×16', 'P_8×8' 타입의 매크로블록을 선택한다. 만약 매크로블록 C, D 중 매크로블록 C만 인터 모드로 부호화되어 있다면 후보 타입은 매크로블록 C의 타입으로 결정된다.In the case where the selected type is P_16 × 16, the inter macroblock type is determined as P_16 × 16 without a separate motion estimation process, and both macroblocks C and D of the reference frame are encoded in the intra mode or the P_Skip mode. If so, macroblocks of type 'P_16 × 8', 'P_8 × 16', and 'P_8 × 8' are selected as candidate types. If only macroblock C of macroblocks C and D is encoded in the inter mode, the candidate type is determined as the type of macroblock C.

도 9는 현재 부호화할 매크로블록이 참조 프레임에서 특정 매크로블록 1개로부터 예측되는 경우 후보 타입의 선택 방법을 나타내기 위한 도면이다.9 is a diagram illustrating a method of selecting a candidate type when a macroblock to be currently encoded is predicted from one specific macroblock in a reference frame.

도 9와 같은 경우에는, 참조 프레임의 해당 매크로블록 타입을 그대로 후보 타입으로 선택한다. 다만, 상기 선택된 후보 타입이 인트라 모드로 부호화되었거 나, P_Skip 타입으로 부호화된 경우에는 후보 타입은 'P_16×8', 'P_8×16', 'P_8×8' 이 된다.In the case of FIG. 9, the macroblock type of the reference frame is selected as a candidate type as it is. However, when the selected candidate type is encoded in the intra mode or the P_Skip type, the candidate types are 'P_16 × 8', 'P_8 × 16', and 'P_8 × 8'.

상기 단계(S116)에서 후보 타입이 선택되면, 상기 후보 타입 중에서 P_16×16 타입 이외의 매크로블록이 존재하는지를 판단하여(S118), 후보 타입으로 P_16×16 타입만 존재하는 경우에는 인터 매크로블록 타입을 P_16×16으로 결정하고 최적의 매크로블록 타입 결정 과정이 종료된다(S120).If the candidate type is selected in step S116, it is determined whether there are macroblocks other than the P_16x16 type among the candidate types (S118), and if only P_16x16 type exists as the candidate type, the inter-macroblock type is selected. P_16 × 16 is determined, and the process of determining the optimal macroblock type is completed (S120).

상기 단계(S118)의 판단 결과, P_16×16 타입 이외의 후보 타입이 존재하는 경우에는 P_16×16 타입 이외의 후보 타입에 대하여 상기 후보 타입 움직임 추정부(106)에서 움직임 추정을 수행한다(S122).As a result of the determination in step S118, when there are candidate types other than the P_16x16 type, the candidate type motion estimation unit 106 performs motion estimation on candidate types other than the P_16x16 type (S122). .

P_16×16 타입에 대하여 움직임 추정을 수행하지 않는 이유는 상기 P_16×16 타입 움직임 추정부(101)에서 P_16×16 타입의 매크로블록에 대한 움직임 추정을 이미 수행하였기 때문이다. 전술한 바와 같이, 참조 프레임으로는 상기 P_16×16 타입 결정부(104)에서 결정된 참조 프레임만이 사용된다.The reason why the motion estimation is not performed for the P_16x16 type is that the motion estimation for the P_16x16 type macroblock has already been performed in the P_16x16 type motion estimation unit 101. As described above, only the reference frame determined by the P_16x16 type determination unit 104 is used as the reference frame.

상기 움직임 추정 단계(S122) 중에서 후보 타입으로 P_8×8 타입이 존재하는 경우는 8×8, 8×4, 4×8, 4×4 크기의 서브-매크로블록 단위까지 움직임 추정이 이루어진다. 상기 움직임 추정 단계(S122)를 통해 각 후보 타입별로 움직임 벡터와 최적의 비트율-왜곡치를 얻는다.If the P_8x8 type is present as a candidate type in the motion estimation step S122, motion estimation is performed up to a sub-macroblock unit of 8x8, 8x4, 4x8, and 4x4 sizes. Through the motion estimation step S122, a motion vector and an optimal bit rate-distortion value are obtained for each candidate type.

다음, 상기 인터 매크로블록 타입 결정부(107)에서는 상기 P_16×16 타입 움직임 추정부(101)에서 얻어진 P_16×16 타입에 대한 비트율-왜곡치와 상기 단계(S122)에서 얻어진 후보 타입별 비트율-왜곡치를 비교하여 최소 비트율-왜곡치를 갖는 매크로블록 타입을 최적의 인터 매크로블록 타입으로 결정한다(S128).Next, the inter macroblock type determination unit 107 determines the bit rate-distortion value for the P_16 × 16 type obtained by the P_16 × 16 type motion estimation unit 101 and the bit rate-distortion for each candidate type obtained in the step S122. By comparing the values, the macroblock type having the minimum bit rate-distortion value is determined as the optimal inter macroblock type (S128).

상기 과정을 통해 최적의 인터 매크로블록 타입이 결정된 상태에서, 상기 인트라 프리딕션 수행부(122)에서는 현재 매크로블록을 'I_4×4', 'I_16×16' 타입으로 부호화한 후, 각 타입에 따른 비트율-왜곡치를 계산한다. 그리고, 상기 계산 결과를 근거로, 각 인트라 매크로블록 타입의 비트율-왜곡치를 비교하여, 상기 비트율-왜곡치가 최소인 인트라 매크로블록 타입을 최적의 인트라 매크로블록 타입으로 결정한다(S128).In the state where the optimal inter macroblock type is determined through the above process, the intra prediction processor 122 encodes the current macroblock into 'I_4 × 4' and 'I_16 × 16' types, and according to each type. Calculate the bit rate-distortion value. The intra macroblock type having the minimum bit rate-distortion value is determined as an optimal intra macroblock type by comparing bit rate-distortion values of respective intra macroblock types based on the calculation result.

최종적으로, 상기 인터 매크로블록 타입 결정 단계(S124)에서 결정된 최적의 인터 매크로블록 타입과 상기 단계(S128)에서 결정된 최적의 인트라 매크로블록 타입을 비교하여 더 작은 비트율-왜곡치를 갖는 타입을 최적 매크로블록 타입으로 결정한다(S130). 다만, 상기 과정은 매크로블록이 P 슬라이스에 속한 경우이며, I 슬라이스의 경우는 최적의 인트라 매크로블록 타입이 최적 매크로블록 타입으로 결정되는 것은 전술한 바이다.Finally, by comparing the optimal inter macroblock type determined in the step S124 of determining the inter macroblock type with the optimal intra macroblock type determined in the step S128, a type having a smaller bit rate-distortion value is an optimal macroblock. Determine the type (S130). However, in the above process, the macroblock belongs to the P slice, and in the case of the I slice, the optimal intra macroblock type is determined as the optimal macroblock type.

한편, 본 발명의 다른 실시예로서, 상기 도 5의 분산 계산부(103)는 상기 후보 타입 선택부(105)와는 별도로 'P_16×8', 'P_8×16', 'P_8×8' 타입 중 후보 인터 매크로블록 타입을 추가 선정하는 기능을 갖도록 할 수 있다. 이 경우 확장된 기능을 갖는 상기 분산 계산부(103)와 상기 후보 타입 선택부(105)에서 결정된 후보 타입에 대해, 상기 후보 타입 움직임 추정부(106)에서 움직임 추정이 이루어 진다.Meanwhile, as another embodiment of the present invention, the variance calculator 103 of FIG. 5 may be one of 'P_16 × 8', 'P_8 × 16', and 'P_8 × 8' types separately from the candidate type selector 105. It may have a function of additionally selecting a candidate inter macroblock type. In this case, the candidate type motion estimation unit 106 performs motion estimation on the candidate type determined by the variance calculator 103 and the candidate type selection unit 105 having an extended function.

도 10은 후보 인터 매크로블록 타입을 추가 선정하는 기능을 갖는 상기 분산 계산부(103)의 후보 타입 선택 실시예를 나타낸 도면이다. 도 10에서 A ~ H 는 매크로블록의 파티션(partition)을 나타낸 것으로 A, B는 16×8 크기의 블록이고, C, D는 8×16 크기의 블록이며, E 내지 H는 8×8 크기의 블록이다.FIG. 10 is a diagram illustrating a candidate type selection embodiment of the variance calculator 103 having a function of further selecting a candidate inter macroblock type. In FIG. 10, A to H represent partitions of macroblocks, A and B are blocks of 16 × 8 size, C and D are blocks of 8 × 16 size, and E to H are blocks of 8 × 8 size. It is a block.

상기 수학식 3에 표현된 분산 VAR(k)는 상기 A ~ H 각 매크로블록 파티션 별로 매크로블록 전체 평균인 MEAN(k)과 파티션 화소값 차이의 제곱합을 SA, SB , SC, SD, SE , SF , SG , SH 을 사용하여 다음의 수학식 4와 같이 표현될 수 있다.The variance VAR (k) expressed in Equation 3 is the sum of the squares of the difference between MEAN (k), which is the overall macroblock, and the partition pixel value for each macroblock partition of A to H, S A , S B , S C, and S D. , S E , S F , S G , S H It can be expressed by using Equation 4 below.

Figure 112004039867315-PAT00005
Figure 112004039867315-PAT00005

Figure 112004039867315-PAT00006
Figure 112004039867315-PAT00006

Figure 112004039867315-PAT00007
Figure 112004039867315-PAT00007

Figure 112004039867315-PAT00008
Figure 112004039867315-PAT00008

상기 수학식 4에서 상기 SA, SB , SC, SD, S E , SF , SG , SH 는 후보 타입 결정에 이용되며, 그 결정 방법은 다음과 같다.In Equation 4, S A , S B , S C, S D, S E , S F , S G , S H Is used for candidate type determination, and the determination method is as follows.

i)

Figure 112004039867315-PAT00009
이면, 후보 타입으로 'P_16×8'을 결정하고,i)
Figure 112004039867315-PAT00009
If it is, the candidate type 'P_16 × 8' is determined,

ii)

Figure 112004039867315-PAT00010
이고,
Figure 112004039867315-PAT00011
이면, 후보 타입으로 'P_8×16'을 결정하고,ii)
Figure 112004039867315-PAT00010
ego,
Figure 112004039867315-PAT00011
If it is, the candidate type 'P_8 × 16' is determined,

iii)

Figure 112004039867315-PAT00012
이고,
Figure 112004039867315-PAT00013
이고,iii)
Figure 112004039867315-PAT00012
ego,
Figure 112004039867315-PAT00013
ego,

Figure 112004039867315-PAT00014
이면, 후보 타입으로 'P_8×8'을 결정한다. 여기서, ThP _16 × 8, ThP _8 × 16, ThP _8 × 8은 부호화하고자 하는 영상의 특성에 따라 임의로 설정할 수 있는 값이다.
Figure 112004039867315-PAT00014
In this case, 'P_8 × 8' is determined as the candidate type. Here, Th P _16 × 8, × 16 _8 P Th, Th P _8 × 8 is a value that can be set arbitrarily according to the characteristics of the image to be coded.

상기한 바와 같은 후보 타입 선택 과정을 통해 부호화할 매크로블록의 움직임 추정 과정에 있어서, 움직임 추정 과정에 이용되는 후보 매크로블록 타입을 빠르게 결정할 수 있다.In the motion estimation process of the macroblock to be encoded through the candidate type selection process as described above, the candidate macroblock type used in the motion estimation process can be quickly determined.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

상기한 바와 같은 본 발명에 따르면, 영상 부호기에서 매크로블록 타입을 결정하는 소비시간과 계산량을 상당량 감소시킬 수 있으므로, 영상 부호기의 실시간 구현 가능성을 높일 수 있다.According to the present invention as described above, it is possible to significantly reduce the amount of time and calculation amount for determining the macroblock type in the video encoder, it is possible to increase the possibility of real-time implementation of the video encoder.

Claims (5)

영상의 부호화를 위한 매크로블록 타입 결정 방법에 있어서,In the macroblock type determination method for encoding an image, 매크로블록을 구성하는 화소값들의 분산을 계산하는 단계; 및Calculating a variance of pixel values constituting the macroblock; And 상기 매크로블록의 분산값에 따라 인터 매크로블록 타입을 결정하는 단계를 포함하는 매크로블록 타입 결정 방법.And determining an inter macroblock type according to the variance value of the macroblock. 제 1항에 있어서, 상기 결정 단계는,The method of claim 1, wherein the determining step, 상기 매크로블록의 분산값이 소정값 이하인 경우에는, 인터 매크로블록 타입을 16×16 크기의 매크로블록으로 결정하는 것을 특징으로 하는 매크로블록 타입 결정 방법.And if the variance value of the macroblock is less than or equal to a predetermined value, determining an inter macroblock type as a macroblock having a size of 16 × 16. 제 1항에 있어서, 상기 결정 단계는,The method of claim 1, wherein the determining step, 상기 매크로블록의 분산값이 소정값 이상인 경우에는, 소정의 후보 매크로블록 타입에 대하여 움직임 추정을 수행하여 인터 매크로블록 타입을 결정하는 단계를 포함하는 것을 특징으로 하는 매크로블록 타입 결정 방법.And determining the inter macroblock type by performing motion estimation on a predetermined candidate macroblock type when the variance value of the macroblock is greater than or equal to a predetermined value. 제 3항에 있어서,The method of claim 3, wherein 상기 소정의 후보 매크로블록 타입은, 16×16 타입 움직임 벡터를 이용하여 선택되는 것을 특징으로 하는 매크로블록 타입 결정 방법.The predetermined candidate macroblock type is selected using a 16x16 type motion vector. 제 3항에 있어서,The method of claim 3, wherein 상기 인터 매크로블록 타입은, 16×16 매크로블록 타입에 대한 비트율 왜곡치와 후보 매크로블록 타입에 대한 비트율 왜곡치를 비교하여 최소 비트율 왜곡치를 갖는 타입으로 결정되는 것을 특징으로 하는 매크로블록 타입 결정 방법.And wherein the inter macroblock type is determined as a type having a minimum bit rate distortion value by comparing the bit rate distortion value for the 16 × 16 macroblock type and the bit rate distortion value for the candidate macroblock type.
KR1020040070002A 2004-09-02 2004-09-02 Method for selecting macro block type KR100657277B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040070002A KR100657277B1 (en) 2004-09-02 2004-09-02 Method for selecting macro block type

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040070002A KR100657277B1 (en) 2004-09-02 2004-09-02 Method for selecting macro block type

Publications (2)

Publication Number Publication Date
KR20060021149A true KR20060021149A (en) 2006-03-07
KR100657277B1 KR100657277B1 (en) 2006-12-14

Family

ID=37128120

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040070002A KR100657277B1 (en) 2004-09-02 2004-09-02 Method for selecting macro block type

Country Status (1)

Country Link
KR (1) KR100657277B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100845644B1 (en) * 2006-12-14 2008-07-10 한국정보통신대학교 산학협력단 Fast motion mode decision method
KR100900316B1 (en) * 2006-12-06 2009-06-02 한국전자통신연구원 Method and Apparatus for Intra mode prediction searching for compression of real time video signal
WO2011019249A3 (en) * 2009-08-14 2011-04-21 Samsung Electronics Co., Ltd. Video encoding method and apparatus and video decoding method and apparatus, based on hierarchical coded block pattern information
KR20160058741A (en) * 2016-05-13 2016-05-25 삼성전자주식회사 Method and apparatus for video encoding considering hierarchical coded block pattern, and method and apparatus for video decoding considering hierarchical coded block pattern
KR20160058740A (en) * 2016-05-13 2016-05-25 삼성전자주식회사 Method and apparatus for video encoding considering hierarchical coded block pattern, and method and apparatus for video decoding considering hierarchical coded block pattern

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100317355B1 (en) * 1994-12-21 2002-02-19 구자홍 System for encoding motion picture video signals
KR100310774B1 (en) 1998-09-30 2001-11-22 전주범 Image encoding apparatus
US7801215B2 (en) 2001-07-24 2010-09-21 Sasken Communication Technologies Limited Motion estimation technique for digital video encoding applications
KR100480698B1 (en) * 2002-04-10 2005-04-06 엘지전자 주식회사 MPEG encoding method

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100900316B1 (en) * 2006-12-06 2009-06-02 한국전자통신연구원 Method and Apparatus for Intra mode prediction searching for compression of real time video signal
KR100845644B1 (en) * 2006-12-14 2008-07-10 한국정보통신대학교 산학협력단 Fast motion mode decision method
WO2011019249A3 (en) * 2009-08-14 2011-04-21 Samsung Electronics Co., Ltd. Video encoding method and apparatus and video decoding method and apparatus, based on hierarchical coded block pattern information
CN102474614A (en) * 2009-08-14 2012-05-23 三星电子株式会社 Video encoding method and apparatus and video decoding method and apparatus, based on hierarchical coded block pattern information
CN102474614B (en) * 2009-08-14 2015-03-25 三星电子株式会社 Video encoding method and apparatus and video decoding method and apparatus, based on hierarchical coded block pattern information
US9148665B2 (en) 2009-08-14 2015-09-29 Samsung Electronics Co., Ltd. Video encoding method and apparatus and video decoding method and apparatus, based on hierarchical coded block pattern information
US9426484B2 (en) 2009-08-14 2016-08-23 Samsung Electronics Co., Ltd. Video encoding method and apparatus and video decoding method and apparatus, based on transformation index information
US9451273B2 (en) 2009-08-14 2016-09-20 Samsung Electronics Co., Ltd. Video encoding method and apparatus and video decoding method and apparatus, based on transformation index information
US9467711B2 (en) 2009-08-14 2016-10-11 Samsung Electronics Co., Ltd. Video encoding method and apparatus and video decoding method and apparatus, based on hierarchical coded block pattern information and transformation index information
US9521421B2 (en) 2009-08-14 2016-12-13 Samsung Electronics Co., Ltd. Video decoding method based on hierarchical coded block pattern information
KR20160058741A (en) * 2016-05-13 2016-05-25 삼성전자주식회사 Method and apparatus for video encoding considering hierarchical coded block pattern, and method and apparatus for video decoding considering hierarchical coded block pattern
KR20160058740A (en) * 2016-05-13 2016-05-25 삼성전자주식회사 Method and apparatus for video encoding considering hierarchical coded block pattern, and method and apparatus for video decoding considering hierarchical coded block pattern

Also Published As

Publication number Publication date
KR100657277B1 (en) 2006-12-14

Similar Documents

Publication Publication Date Title
US8155191B2 (en) Method and apparatus for fast mode decision of B-frames in a video encoder
KR100984517B1 (en) Fast mode decision making for interframe encoding
CA3128548C (en) Intra prediction of a processing block using a predicted value which is proportional to the amount of change in the horizontal direction of the signal value of a pixel adjacent to the left of the processing block
KR100739714B1 (en) Method and apparatus for intra prediction mode decision
US8331449B2 (en) Fast encoding method and system using adaptive intra prediction
US8385416B2 (en) Method and apparatus for fast mode decision for interframes
KR100773761B1 (en) The apparatus and method of moving picture encoding
US8948243B2 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
JP5897218B2 (en) Video encoding method and video encoding apparatus using this method
KR20050053297A (en) Method and apparatus of video encoding
KR20060049850A (en) Method or device for coding a sequence of source pictures
CN103997646A (en) Rapid intra-frame prediction mode selection method in high-definition video coding
US8189667B2 (en) Moving picture encoding apparatus
KR20060008523A (en) Method and apparatus for intra prediction of video data
JP4994877B2 (en) Method and system for selecting a macroblock coding mode in a video frame sequence
KR100657277B1 (en) Method for selecting macro block type
CN113079376A (en) Video coding method and device for static area
KR100807330B1 (en) Method for skipping intra macroblock mode of h.264/avc encoder
KR101603887B1 (en) Method for coding data by fast coding unit decision in high efficiency video coding
Yang et al. Description of video coding technology proposal by Huawei Technologies & Hisilicon Technologies
WO2015015404A2 (en) A method and system for determining intra mode decision in h.264 video coding
KR100939280B1 (en) Video coding method using multiple reference frame and computer readable medium recording the method
KR100900316B1 (en) Method and Apparatus for Intra mode prediction searching for compression of real time video signal
KR100701129B1 (en) High speed block mode decision method
Naito et al. Development of real-time encoder for 8K ultra-high definition television

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: 20121129

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131128

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141127

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151127

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee