KR20100068108A - Adaptive coding mode decision method using the motion vector map in h.264/avc - Google Patents
Adaptive coding mode decision method using the motion vector map in h.264/avc Download PDFInfo
- Publication number
- KR20100068108A KR20100068108A KR1020080126828A KR20080126828A KR20100068108A KR 20100068108 A KR20100068108 A KR 20100068108A KR 1020080126828 A KR1020080126828 A KR 1020080126828A KR 20080126828 A KR20080126828 A KR 20080126828A KR 20100068108 A KR20100068108 A KR 20100068108A
- Authority
- KR
- South Korea
- Prior art keywords
- vector map
- motion vector
- value
- motion
- mvm
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
Abstract
Description
본 발명은 H.264/AVC 부호화 모드 결정 방법에 관한 것으로, 더욱 상세하게는 이전 프레임에서의 움직임을 움직임 벡터 맵(Motion Vector Map)으로 정의하여 이 움직임 벡터 맵의 정보에 따라 부호화할 현재 프레임의 공간 예측을 적응적으로 조기에 생략[인트라 예측 모드 적응적 조기 생략]하는, H.264/AVC에서 움직임 벡터 맵을 이용한 적응적 부호화 모드 결정 방법에 관한 것이다.The present invention relates to a method for determining an H.264 / AVC encoding mode, and more particularly, to define a motion in a previous frame as a motion vector map and to determine the current frame to be encoded according to the information of the motion vector map. The present invention relates to an adaptive encoding mode determination method using a motion vector map in H.264 / AVC that adaptively skips spatial prediction early (intra prediction mode adaptive early skipping).
최근에 하드웨어의 고도화, 사용자의 고화질 니즈 등에 부응해 ITU-T와 MPEG에서 'H.264/AVC'라는 고성능 압축 효율을 갖는 동영상 부호화 표준을 정의하였다. 이러한 H.264/AVC는 기존 MPEG-2, MPEG-4, H.263 등과 유사한 압축 구조를 가지면서도 부호화율(압축율), 화질 등이 보다 우수해 다양한 분야(네트워크, 시스템)에 적용되고 있다.Recently, ITU-T and MPEG have defined the H.264 / AVC video coding standard with high performance compression efficiency in response to the advancement of hardware and the high-definition needs of users. The H.264 / AVC has a compression structure similar to the existing MPEG-2, MPEG-4, H.263, etc., but has a higher coding rate (compression rate) and image quality, and is being applied to various fields (networks and systems).
도 1은 본 발명에서 제시하는 알고리즘이 적용되는 H.264/AVC 부호화기에 대한 일실시예 구성도이다.1 is a diagram illustrating an embodiment of an H.264 / AVC encoder to which an algorithm proposed by the present invention is applied.
도 1에 도시된 바와 같이, H.264/AVC 부호화기는 DCT 변환/양자화부[DCT/Quant](1), 엔트로피 코딩부[Entropy Coding](2), DCT 역변환/역양자화부[IDCT/IQuant](3), 참조 프레임 메모리[Ref. Frame Memory](4), 움직임 예측부[Motion Estimation](5), 움직임 보상부 및 인트라 모드 예측부[Motion Compensation, Intra-Mode Prediction](6) 등을 포함한다.As shown in FIG. 1, the H.264 / AVC coder includes a DCT transform / quantization unit [DCT / Quant] (1), an entropy coding unit [Entropy Coding] (2), and a DCT inverse transform / inverse quantization unit [IDCT / IQuant. ] (3), reference frame memory [Ref.
H.264/AVC에서는 입력된 현재 영상이 인트라 프레임인 경우에, 인트라 예측 과정을 통해 최적의 모드로 결정된 예측 화소 블록과 현재 영상과의 차분치를 DCT 변환/양자화부(1)에서 DCT 변환 및 양자화를 통해 양자화 계수를 얻어 엔트로피 코딩부(2)에서 가변길이 부호화 과정을 수행해 복호기로 전송된다. 부호화된 영상은 DCT 역변환/역양자화부(3)에서 역DCT 변환 및 역양자화를 통해 얻어진 영상과 인트라 예측 화소를 더해서 참조 프레임 메모리(4)에 인터 프레임 부호화를 위한 참조 프레임 영상으로 저장된다.In H.264 / AVC, when the input current image is an intra frame, the DCT conversion /
한편 인터 프레임인 경우에, 움직임 예측부(5) 및 움직임 보상부(6)에서 입력된 영상과 참조 영상에 대해 움직임 예측 및 보상으로 얻은 예측 영상과의 차분치를 구하고, 인트라 모드로 예측된 영상과의 차분치 중에서 최적의 모드로 결정된 예측 영상을 현재의 입력 영상과 차분하여 DCT 변환 및 양자화를 거쳐 엔트로피 부호화된다. 부호화된 영상은 인트라 프레임인 경우와 마찬가지로 역DCT 변환 및 역양자화를 통해 얻어진 영상과 움직임 보상이 이루어진 영상이 결합되어 참조 프레 임 메모리(4)에 저장된다.On the other hand, in the case of the inter frame, the difference value between the image inputted by the
일반적으로 H.264/AVC 부호화기에서는 전체 영상 단위로 부호화하는 대신에 한 장의 영상을 일정한 크기의 블록의 화소(picture element 또는 pixel)의 집합 단위로 부호화를 수행하는데, 보편적으로 블록의 크기가 16×16, 8×8, 4×4이다. 여기서 16×16 크기의 블록을 '매크로블록(macroblock)'이라고 부르며, 8×8 또는 4×4 크기의 블록을 '블록(block)'이라고 부른다. 한 장의 영상을 이루는 매크로블록은 주사 방식 순서(raster scanning order; 좌측에서 우측으로, 상단에서 하단으로)대로 부호화된다.In general, the H.264 / AVC encoder encodes one image in units of a set of pixels (picture elements or pixels) of a predetermined size block instead of encoding the entire image unit. 16, 8x8, and 4x4. Herein, a 16 × 16 block is called a 'macroblock' and an 8 × 8 or 4 × 4 block is called a 'block'. Macroblocks constituting a single image are encoded in a raster scanning order (left to right, top to bottom).
도 2는 영상의 매크로블록 단위 분할 및 매크로블록 부호화 순서를 보여주기 위한 일실시예 설명도이다.FIG. 2 is a diagram illustrating an embodiment of macroblock unit division and macroblock encoding order of an image. FIG.
도 2에는 영상을 매크로블록으로 분할하는 예를 보여주는 것으로서, 176×144 크기의 영상이 99개의 매크로블록으로 분할되고, 도 2와 같은 순서의 번호가 부여되어 작은 번호를 가진 매크로블록부터 차례대로 부호화된다.FIG. 2 shows an example of dividing an image into macroblocks. An image having a size of 176 × 144 is divided into 99 macroblocks, numbered in the order shown in FIG. 2, and sequentially encoded from a macroblock having a small number. do.
한편, H.264/AVC의 매크로블록은 가변적인 블록으로 나뉘어서 어떤 모드로 부호화할 지를 율-왜곡 최적화 기법(RDO; Rate-Distortion Optimization)을 이용하여 결정된다. 여기서 가변적인 블록을 가지는 모드는 {16×16, 8×16, 16×8, SUB8×8, I4MB, I16MB}로 분리된다. 이 중에서 최적의 모드는 율-왜곡 최적화 기법에 의해 화질과 비트율면에서 최상의 조건을 가지는 모드로 결정되는 것이다.Meanwhile, a macroblock of H.264 / AVC is divided into variable blocks and determined in which mode to encode using a rate-distortion optimization (RDO). Herein, a mode having a variable block is divided into {16 × 16, 8 × 16, 16 × 8, SUB8 × 8, I4MB, I16MB}. Among these, the optimal mode is determined by the rate-distortion optimization technique that has the best conditions in terms of image quality and bit rate.
도 3은 인터 모드의 블록 크기 분할 파티션을 보여주기 위한 일실시예 설명도이고, 도 4는 인트라 예측 모드의 블록 크기별 예측 과정을 보여주기 위한 일실시예 설명도이다.FIG. 3 is a diagram illustrating an embodiment of a block size division partition in an inter mode, and FIG. 4 is a diagram illustrating an example of a prediction process for each block size in an intra prediction mode.
이하, 도 3 및 도 4를 함께 참조하여 종래기술에 따른 매크로블록의 최적 모드를 결정하는 방식을 설명하기로 한다.Hereinafter, a method of determining an optimal mode of a macroblock according to the prior art will be described with reference to FIGS. 3 and 4.
먼저, 도 3과 같이 인터 모드의 기본 블록인 매크로블록을 {16×16, 16×8, 8×16, SUB8×8} 파티션으로 분리한다. 여기서 SUB8×8은 각 8×8 블록마다 독립적으로 {8×8, 8×4, 4×8, 4×4} 모드들로 더욱 세분화될 수 있다. 이와 같이 분리된 파티션 블록 각각에 대해 다음의 [수학식 1]을 이용해 최소값을 갖는 움직임 벡터와 참조 영상을 결정한다.First, as shown in FIG. 3, macroblocks, which are basic blocks of an inter mode, are divided into {16 × 16, 16 × 8, 8 × 16, and SUB8 × 8} partitions. Here, SUB8 × 8 may be further subdivided into {8 × 8, 8 × 4, 4 × 8, 4 × 4} modes independently for each 8 × 8 block. For each partition block thus partitioned,
상기 [수학식 1] 및 [수학식 2]에서, Jmotion은 최적의 움직임 벡터와 참조 영 상을 결정하기 위한 함수이며, SADmode는 각 파티션 블록에 대해 현재 입력 영상 블록 s와 복호화되어 프레임 메모리에 저장된 과거 영상 블록 r의 차를 이용하여 구해진다. H와 V는 각각의 파티션 블록의 높이와 넓이이며, mx와 mv는 움직임 벡터이다. R(MV, REF)는 움직임 벡터 MV와 참조영상 REF를 부호화하는데 필요한 비트수이며, 은 라그랑지안 계수로서 양자화 계수에 의존하면서 왜곡값과의 차수를 맞춰준다.In [Equation 1] and [Equation 2], J motion is a function for determining the optimal motion vector and reference image, SAD mode is decoded with the current input image block s for each partition block frame memory It is obtained using the difference of the past image blocks r stored in. H and V are the height and width of each partition block, and m x and m v are the motion vectors. R (MV, REF) is the number of bits needed to encode the motion vector MV and the reference picture REF. Is a Lagrangian coefficient that matches the order of distortion, depending on the quantization coefficient.
다음으로, 인트라 예측 모드에 대한 예측이 실행된다. 도 4와 같이 인트라 예측은 4×4 크기의 블록에서 9가지의 예측 방향을 가지는 I4MB 모드와 16×16 크기의 블록에서 4가지의 방향성을 가지는 I16MB 모드로 구분된다. I4MB와 I16MB에 대한 모드는 현재 매크로블록과 방향성에 따른 예측값의 차분치가 최소가 되는 예측 모드를 결정하게 된다. 여기서 차분치 값은 상기 [수학식 2]를 이용하여 계산한다.Next, prediction for the intra prediction mode is performed. As shown in FIG. 4, intra prediction is divided into an I4MB mode having nine prediction directions in a 4 × 4 block and an I16MB mode having four directionalities in a 16 × 16 block. The mode for I4MB and I16MB determines a prediction mode in which the difference between the prediction value according to the current macroblock and the direction is minimized. The difference value is calculated using
상기와 같이 인터 모드와 인트라 모드에 의해서 결정된 예측 모드들은 다음의 [수학식 3]을 이용하여 Jmode 값이 최소가 되는 모드를 매크로블록 부호화를 위한 최적의 모드로 결정하고 부호화한다.As described above, the prediction modes determined by the inter mode and the intra mode determine and encode a mode in which the J mode value is the minimum as the optimal mode for macroblock
상기 [수학식 3] 및 [수학식 4]에서, 는 의 제곱 값이다. H와 V는 모든 블록에 대한 블록 사이즈이며, M은 부호화 가능한 모든 예측 모드이다. R(s, rM, M)은 M에 해당하는 모드로 부호화했을 때 실제로 발생하는 비트수이며, SSDmode는 현재 입력 영상과 복호된 영상 rM과의 차에 제곱으로 구한다.In [Equation 3] and [Equation 4], Is Is the squared value of. H and V are block sizes for all blocks, and M is all predictable prediction modes. R (s, r M , M) is the number of bits actually generated when coding in the mode corresponding to M, and SSD mode is obtained by square the difference between the current input video and the decoded video r M.
즉, 종래기술에서는 H.264/AVC 부호화 과정, 예컨대 매크로블록의 최적 모드를 결정하는 방식은 다양한 블록 크기의 움직임 예측, 9개 방향의 공간 예측을 통해 최적의 율-왜곡값(RDC; Rate-Distortion Cost)을 얻어 최소의 율-왜곡값을 가지는 모드로 부호화를 수행한다.That is, in the prior art, the H.264 / AVC encoding process, for example, the method of determining the optimal mode of the macroblock, has an optimal rate-distortion value (RDC) through motion prediction of various block sizes and spatial prediction in nine directions. Distortion Cost) is used to perform the encoding in the mode having the minimum rate-distortion value.
그런데, 종래기술에서는 매크로블록마다 부호화 가능한 모든 모드의 예측을 통해 율-왜곡값을 계산해야 되기 때문에 그 부호화 복잡도가 기존 MPEG-2, MPEG-4, H.263 등 대비 최대 10배 이상 증가되는 문제점이 있다. 이와 같이 부호화 복잡도가 증가됨에 따라 HD급 이상의 영상에 대한 실시간 부호화가 거의 불가능한 문제점이 있다.However, in the prior art, since the rate-distortion value has to be calculated through prediction of all modes that can be encoded for each macroblock, the coding complexity increases by at least 10 times compared to the conventional MPEG-2, MPEG-4, H.263, etc. There is this. As the coding complexity increases, there is a problem in that real-time encoding of an image of HD or higher is almost impossible.
예컨대, 영상의 특성을 고려컨대 공간적인 상관도보다는 시간적 상관도가 높기 때문에 인트라 예측 모드가 인터 프레임에서 선택될 확률은 매우 낮다. 다만 인 트라 모드로 부호화될 확률이 낮다고 해서 인트라 모드를 강제적으로 생략할 경우에 부호화 효율 이득이 감소될 수도 있다.For example, considering the characteristics of the image, since the temporal correlation is higher than the spatial correlation, the probability of selecting the intra prediction mode in the inter frame is very low. However, if the probability of being encoded in the intra mode is low, the coding efficiency gain may be reduced when the intra mode is forcibly omitted.
따라서, 부호화할 현재 프레임의 공간 예측을 적응적으로 조기에 생략[인트라 예측 모드 적응적 조기 생략]하면서도 화질 열화, 비트의 증가없이 부호화 효율 이득이 감소되지 않도록 하는 H.264/AVC 부호화 고속화 기술이 절실히 요구되고 있다.Accordingly, the H.264 / AVC encoding fastening technique that adaptively omits the spatial prediction of the current frame to be encoded early [intra prediction mode adaptive early omission] while preventing the encoding efficiency gain from being reduced without deterioration of image quality and increase of bits. There is an urgent need.
본 발명은 상기와 같은 문제점을 해결하고 상기와 같은 요구에 부응하기 위하여 제안된 것으로, 그 이루고자 하는 기술적 과제는, 이전 프레임에서의 움직임을 움직임 벡터 맵(Motion Vector Map)으로 정의하여 이 움직임 벡터 맵의 정보에 따라 부호화할 현재 프레임의 공간 예측을 적응적으로 조기에 생략[인트라 예측 모드 적응적 조기 생략]하는, H.264/AVC에서 움직임 벡터 맵을 이용한 적응적 부호화 모드 결정 방법을 제공하는 것이다.The present invention has been proposed to solve the above problems and to meet the above demands. The technical problem to be achieved is to define a motion vector map in a previous frame as a motion vector map. The present invention provides an adaptive encoding mode determination method using a motion vector map in H.264 / AVC, which adaptively omits [intra prediction mode adaptive early omitting] the spatial prediction of the current frame to be encoded according to the information of H.264 / AVC. .
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어질 수 있을 것이다. The objects of the present invention are not limited to the above-mentioned objects, and other objects which are not mentioned will be clearly understood by those skilled in the art from the following description.
상기 목적을 달성하기 위하여, 본 발명의 일실시예에 따른 방법은, H.264/AVC에서 움직임 벡터 맵을 이용한 적응적 부호화 모드 결정 방법에 있어서, 이전 프레임에서의 각 매크로블록마다 움직임 정보를 움직임 벡터 맵(MVM)에 셋팅하되, 최소의 SAD 값을 가지는 위치의 두 움직임 벡터의 합을 구하는 단계; 상기 구한 두 움직임 벡터의 합과 움직임 탐색 영역 크기와의 비교 결과에 따라 상기 움 직임 벡터 맵 상의 현재 매크로블록에 대한 MVM 값을 소정값으로 셋팅하는 단계; 및 다음 프레임부터 이전 프레임에 의한 상기 움직임 벡터 맵 상의 현재 매크로블록에 대한 MVM 값을 이용하여 부호화 모드를 결정하는 단계를 포함한다.In order to achieve the above object, the method according to an embodiment of the present invention, in the adaptive coding mode determination method using a motion vector map in H.264 / AVC, the motion information is moved for each macroblock in the previous frame Setting a vector map (MVM) and obtaining a sum of two motion vectors of positions having a minimum SAD value; Setting an MVM value for a current macroblock on the motion vector map to a predetermined value according to a comparison result of the sum of the two motion vectors and the size of a motion search region; And determining an encoding mode by using an MVM value for a current macroblock on the motion vector map from the next frame to the previous frame.
상기와 같은 본 발명은 움직임 벡터 맵(Motion Vector Map)을 정의해 부호화할 현재 프레임의 공간 예측을 적응적으로 조기에 생략[인트라 예측 모드 적응적 조기 생략]할 수 있는 효과가 있다.As described above, the present invention has the effect of adaptively omitting (intra prediction mode adaptive early skipping) the spatial prediction of the current frame to be encoded by defining a motion vector map.
또한, 본 발명은 공간 예측 생략에 따라 새로운 영상의 영역이 나타나는 부분에서 부호화 에러가 발생될 소지가 있는 점도 해소한 효과가 있다.In addition, the present invention has the effect of eliminating the possibility that a coding error may occur in a portion where a new image region appears due to the omission of spatial prediction.
또한, 본 발명은 H.264/AVC 부호화 표준을 준수하면서 화질 열화, 비트의 증가없이 부호화 효율 이득이 감소되지 않고 평균 30% 이상으로 부호화 복잡도를 감소시킬 수 있고 이에 그 부호화 고속화를 구현할 수 있는 효과가 있다.In addition, the present invention can reduce the coding complexity to an average of 30% or more without degrading the image quality and increasing the bit without conforming to the H.264 / AVC coding standard, thereby realizing the encoding speed. There is.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific details of other embodiments are included in the detailed description and the drawings.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해 질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형 태로 구현될 수 있을 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것으로, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention and methods for achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be embodied in various different forms, and the present embodiments merely make the disclosure of the present invention complete, and are common in the art to which the present invention pertains. It is provided to inform those skilled in the art to the fullest extent of the invention, the invention being defined only by the scope of the claims. Like reference numerals refer to like elements throughout.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명에서는 영상에 대해 매크로블록 단위로 H.264/AVC 부호화를 수행[바람직하게는 매크로블록의 최적 모드를 예측, 결정]하는데 있어 이전 프레임에서의 움직임을 움직임 벡터 맵(Motion Vector Map)으로 정의하고, 각 프레임별 움직임 벡터 맵의 정보에 따라 부호화할 현재 프레임의 공간 예측을 적응적으로 조기에 생략[인트라 예측 모드 적응적 조기 생략]하는 알고리즘을 제시한다.In the present invention, when performing H.264 / AVC encoding on an image in a macroblock unit (preferably, determining an optimal mode of a macroblock), the motion in the previous frame is defined as a motion vector map. An algorithm for adaptively skipping early (intra prediction mode adaptive early skipping) the spatial prediction of the current frame to be encoded according to the information of the motion vector map for each frame is proposed.
본 발명에서 제시하는 움직임 벡터 맵(MVM)은 16x16 크기의 정화소 탐색에 의해 정의된 x, y의 절대 크기 합이 움직임 탐색 크기보다 작을 때 그 MVM 값이 "0"으로 셋팅되고, 반대의 경우에 "1"로 셋팅된다. 즉, 본 발명에서는 부호화할 매크로블록과 같은 위치의 MVM 값이 "0"인 경우에 공간 예측을 조기에 생략하여 부호화 복잡도를 감소시키는 것이다.In the motion vector map (MVM) proposed in the present invention, the MVM value is set to "0" when the sum of the absolute magnitudes of x and y defined by the 16x16 refinery search is smaller than the motion search size, and vice versa. Is set to "1". That is, in the present invention, when the MVM value of the same position as the macroblock to be encoded is "0", spatial prediction is omitted early to reduce coding complexity.
또한, 공간 예측 조기 생략에 따라 새로운 영상의 영역이 나타나는 부분에서 부호화 결과가 좋지 못할 수도 있는 점을 고려해, 본 발명에서는 이전 프레임에서 최적 모드로 결정되어진 SUB8x8, I4MB를 이용해 임계값을 설정하여 움직임 벡터 맵을 이용하는 경우에 발생될 소지가 있는 에러를 최소화시키면서 그 부호화 고속화를 구현한 것이다.In addition, in consideration of the fact that the encoding result may not be good in the region where the new image region appears due to the early omission of the spatial prediction, in the present invention, the threshold value is set using the SUB8x8 and I4MB determined as the optimal mode in the previous frame. The encoding speed is implemented while minimizing the error that may occur when using a map.
도 5는 본 발명에서 제시하는 움직임 벡터 맵에 대한 일실시예 설명도이다.5 is a diagram illustrating an embodiment of a motion vector map according to the present invention.
본 발명에서는 인트라 예측 모드를 적응적으로 조기에 생략하기 위해 움직임 정보의 크기에 주목하였다. 예컨대, 도 5의 '(a)'와 '(c)'와 같이 영상 내 객체가 이동하면 이 객체가 있던 자리에는 새로운 정보가 나타나는 것과 같기 때문에 인트라 모드로 부호화될 가능성이 높다. 또한, 이동된 움직임 벡터의 크기가 크면 RD 값이 클 수 있는데 이 역시 인트라 모드로 부호화될 가능성이 높다.In the present invention, attention was paid to the size of the motion information in order to adaptively omit the intra prediction mode early. For example, when an object in the image moves as shown in (a) and (c) of FIG. 5, new information is likely to appear in the place where the object is located, and thus it is likely to be encoded in the intra mode. In addition, if the size of the moved motion vector is large, the RD value may be large, which is also likely to be encoded in the intra mode.
이에, 본 발명에서는 인트라 예측 모드 생략 여부를 판단하는데 이용할 움직임 벡터 맵(MVM)을 정의하고, 이 움직임 벡터 맵(MVM)에 각 매크로블록마다 움직임 정보를 "0" 또는 "1"로 셋팅한다.Accordingly, the present invention defines a motion vector map (MVM) to be used to determine whether to skip the intra prediction mode, and sets the motion information to "0" or "1" for each macroblock in the motion vector map (MVM).
본 발명에서의 움직임 벡터 맵(MVM) 갱신은, 먼저 16x16 모드의 움직임 탐색을 통해 최소의 SAD(Sum of Absolute Difference) 값을 가지는 위치의 움직임 벡터 MV16x와 MV16y를 구한 후에, 다음의 [수학식 5]와 같은 두 움직임 벡터(MV16x와 MV16y)의 합(MVval)을 이용하여 움직임 벡터 맵 갱신 여부를 결정하는 과정으로 이루어진다. 본 발명에서는 이와 같이 갱신되는 움직임 벡터 맵(MVM)을 이용해 인트라 예측 모드 생략 여부를 판단하게 된다.The motion vector map (MVM) update according to the present invention first obtains the motion vectors MV 16x and MV 16y at the position having the minimum sum of absolute difference (SAD) value through the motion search in the 16x16 mode, and then the following [math] A process of determining whether to update the motion vector map by using the sum MV val of two motion vectors MV 16x and MV 16y as shown in Equation 5]. In the present invention, it is determined whether the intra prediction mode is omitted using the updated motion vector map (MVM).
그럼, 상기 [수학식 5] 및 도 5를 참조하여 움직임 벡터 맵(MVM)을 갱신하는 과정을 구체적으로 설명하기로 한다.Then, the process of updating the motion vector map (MVM) will be described in detail with reference to
첫번째 프레임의 모든 매크로블록이 인트라 모드로 부호화되기에, 움직임 벡터 맵(MVM)을 도 5의 '(b)'와 같이 모드 "0"으로 초기화시킨다.Since all macroblocks of the first frame are encoded in the intra mode, the motion vector map (MVM) is initialized to mode "0" as shown in (b) of FIG.
두번째 프레임, 즉 첫번째 인터 프레임을 부호화하는데 있어 각 매크로블록 단위로 움직임 예측(움직임 탐색)을 수행하며, 이때 움직임 예측을 통해 최소의 SAD 값을 가지는 위치의 움직임 벡터 MV16x와 MV16y를 구하고 상기 [수학식 5]를 이용하여 두 움직임 벡터(MV16x와 MV16y)의 합(MVval)을 구한다.In encoding the second frame, that is, the first inter frame, motion prediction (motion search) is performed in units of macroblocks.At this time, motion vectors MV 16x and MV 16y having a minimum SAD value are obtained through motion prediction. Using Equation 5], the sum MV val of two motion vectors MV 16x and MV 16y is obtained.
그런후, 상기 두 움직임 벡터(MV16x와 MV16y)의 합(MVval)이 움직임 탐색 영역 크기(Search range)보다 크면 움직임 벡터 맵(MVM) 상의 현재 매크로블록에 대한 MVM 값을 "1"로 셋팅한다. 예컨대 두 움직임 벡터(MV16x와 MV16y)의 합(MVval)이 움직임 탐색 영역 크기보다 크다면 현재 매크로블록은 움직임이 많은 영역이기에 인트라 모드로 부호화될 가능성이 높은 것이다.Then, if the sum MV val of the two motion vectors MV 16x and MV 16y is greater than the motion search range size, the MVM value for the current macroblock on the motion vector map MVM is “1”. Set it. For example, if the sum MV val of the two motion vectors MV 16x and MV 16y is larger than the size of the motion search region, the macroblock is a region having a lot of motion, and thus it is highly likely to be encoded in the intra mode.
한편, 상기 두 움직임 벡터(MV16x와 MV16y)의 합(MVval)이 움직임 탐색 영역 크기보다 작으면 현재 매크로블록을 움직임이 적은 영역으로 간주해 움직임 벡터 맵(MVM) 상의 현재 매크로블록에 대한 MVM 값을 "0"으로 셋팅한다.On the other hand, if the sum (MV val ) of the two motion vectors (MV 16x and MV 16y ) is smaller than the size of the motion search region, the current macroblock is regarded as a region with less motion and the MVM for the current macroblock on the motion vector map (MVM). Set the value to "0".
다음 프레임들부터는 움직임 벡터 맵(MVM) 상의 현재 매크로블록에 대한 MVM 값의 갱신 상태를 참조하여 부호화를 수행한다. 즉, 현재 부호화할 매크로블록과 같은 영역의 참조되는 MVM 값이 "0"으로 셋팅되어 있으면 현재의 부호화 영역을 움직임이 적은 영역으로 간주해 인트라 예측 모드 생략, 즉 인트라 예측 모드를 수행하지 않으며, 반대의 경우에는[현재 부호화할 매크로블록과 같은 영역의 참조되는 MVM 값이 "1"로 셋팅되어 있으면] 현재의 부호화 영역을 움직임이 많은 영역으로 간주해 인트라 예측 모드를 수행한다.Starting from the next frames, encoding is performed by referring to an update state of an MVM value for a current macroblock on a motion vector map (MVM). That is, if the referenced MVM value of the same region as the macroblock to be encoded is set to "0", the current encoded region is regarded as a region with little movement, and the intra prediction mode is omitted, that is, the intra prediction mode is not performed. In this case, if the referenced MVM value of the same region as the current macroblock to be encoded is set to "1", the intra prediction mode is performed by considering the current encoding region as a high-motion region.
한편, 앞서 설명한 움직임 벡터 맵(MVM)은 영상의 움직임 정보를 담고 있기에 새로운 영역으로 바뀌는 영상에 대해서 에러가 발생될 소지가 있다.On the other hand, since the motion vector map (MVM) described above contains motion information of an image, an error may occur with respect to an image changed into a new area.
상기와 같은 에러를 줄이기 위해, 본 발명에서는 움직임이 많고 복잡한 영역에서 최적의 모드로 결정될 확률이 높은 SUB8×8과 I4MB의 율-왜곡 값을 이용한 임계값을 다음의 [수학식 6]과 같이 설정하여 새로운 영상이 발생하는지를 결정하는 알고리즘을 제시한다.In order to reduce the error as described above, in the present invention, the threshold value using the rate-distortion value of SUB8 × 8 and I4MB, which has a high probability of being determined as an optimal mode in a lot of motion and complex areas, is set as shown in
상기 [수학식 6]에서, Jmin{inter}는 현재 부호화할 매크로블록의 인터 모드들 중 최소값을 가지는 율-왜곡 값을 의미하며, Avg(J{I4MB}, J{SUB8×8})은 이전에 부호화된 매크로블록들 중 최적의 모드가 SUB8×8 또는 I4MB로 결정되어진 율-왜곡 값의 평균을 의미한다.In
즉, 본 발명에서는 움직임 벡터 맵(MVM)을 이용해 인트라 예측 모드 생략 여부를 판단함과 아울러, 상기 [수학식 6]을 만족하지 않는 경우에는 새로운 영역이 생기는 부분으로 간주해 인트라 예측 모드를 수행한다.In other words, the present invention determines whether the intra prediction mode is omitted using the motion vector map (MVM), and if the equation (6) is not satisfied, the intra prediction mode is performed by considering the new region as a part where a new region is generated.
정리하자면, 본 발명에서 제시하는 알고리즘은 2 단계를 거쳐 인트라 예측 모드 생략 여부를 판단한다.In summary, the algorithm proposed in the present invention determines whether the intra prediction mode is omitted in two steps.
즉, 이전 프레임에 의해 갱신(생성)된 움직임 벡터 맵(MVM) 상의 MVM 값을 이용하여 인트라 예측 모드 생략 여부를 판단한다.That is, it is determined whether the intra prediction mode is omitted using the MVM value on the motion vector map (MVM) updated by the previous frame.
그리고, 새롭게 등장하는 객체나 복잡한 화면 구성의 매크로블록에 대한 보상을 위해, 인터 모드에 관한 최소 율-왜곡 값를 구하여 [수학식 6]을 만족하지 않으면 (인트라 예측 모드를 생략하지 않고서) 인트라 예측 모드를 수행한다.In order to compensate for macroblocks of newly emerging objects or complex screen structures, if the minimum rate-distortion value for the inter mode is obtained and
마지막으로, 다음 프레임 부호화에 사용할 움직임 벡터 맵(MVM) 상의 MVM 값을 갱신한다.Finally, the MVM value on the motion vector map (MVM) to be used for next frame encoding is updated.
전술한 바와 같은 본 발명에 따른 H.264/AVC에서 움직임 벡터 맵을 이용한 적응적 부호화 모드 결정 방법에 대해 도 6을 참조하여 설명하면 다음과 같다.An adaptive encoding mode determination method using a motion vector map in H.264 / AVC according to the present invention as described above will be described with reference to FIG.
도 6은 본 발명에 따른 움직임 벡터 맵을 이용한 적응적 부호화 모드 결정 방법에 대한 일실시예 흐름도이다.6 is a flowchart illustrating an adaptive coding mode determination method using a motion vector map according to the present invention.
먼저, 인트라 프레임에서 움직임 벡터 맵(MVM) 상의 MVM 값을 "0"으로 초기화한다(601).First, an MVM value on a motion vector map (MVM) is initialized to "0" in an intra frame (601).
그런후, 인터 프레임인 경우에 16×16 움직임 예측을 통해 최소의 SAD 값을 가지는 위치의 움직임 벡터 MV16x와 MV16y를 구하고 이 두 움직임 벡터(MV16x와 MV16y)의 합(MVval)을 구한다(602).Then, in the case of inter frame, the motion vectors MV 16x and MV 16y at the position having the minimum SAD value are obtained through 16 × 16 motion prediction, and the sum of these two motion vectors (MV 16x and MV 16y ) (MV val ) is obtained. Obtain (602).
그런후, 인터 프레임인 경우에 현재 프레임의 움직임 벡터 맵(MVM)을 갱신한다(603). 이때 두 움직임 벡터(MV16x와 MV16y)의 합(MVval)이 움직임 탐색 영역 크기보다 크면[MVval > Search range] 움직임 벡터 맵(MVM) 상의 현재 매크로블록에 대한 MVM 값을 "1"로 셋팅하고, 두 움직임 벡터(MV16x와 MV16y)의 합(MVval)이 움직임 탐색 영역 크기보다 작으면[MVval ≤ Search range] 움직임 벡터 맵(MVM) 상의 현재 매크로블록에 대한 MVM 값을 "0"으로 셋팅한다.Then, in case of an inter frame, the motion vector map (MVM) of the current frame is updated (603). If the sum of the two motion vectors (MV 16x and MV 16y ) (MV val ) is larger than the size of the motion search region [M Vval > Search range], the MVM value for the current macroblock on the motion vector map (MVM) is set to "1". If the sum of the two motion vectors (MV 16x and MV 16y ) (MV val ) is less than the size of the motion search region [M Vval ≤ Search range], the MVM value for the current macroblock on the motion vector map (MVM) is " Set to 0 ".
이후, 다음 인터 프레임부터 이전 프레임에 의한 움직임 벡터 맵(MVM) 상의 현재 매크로블록에 대한 MVM 값을 이용해 부호화 모드를 결정한다(604).Then, the encoding mode is determined using the MVM value of the current macroblock on the motion vector map (MVM) of the previous frame from the next inter frame (604).
즉, 현재 매크로블록 위치에 해당하는 MVM 값이 "1"이면 부호화 가능한 모든 모드를 예측하고(605), 현재 매크로블록 위치에 해당하는 MVM 값이 "0"이면 [수학식 6]을 만족하는지를 확인한다(606).That is, when the MVM value corresponding to the current macroblock position is "1", all the codeable modes are predicted (605). When the MVM value corresponding to the current macroblock position is "0", it is checked whether
상기 [수학식 6]을 만족하면, 즉 현재 부호화할 매크로블록의 인터 모드들 중 최소값을 가지는 율-왜곡 값[Jmin{inter}]이 이전에 부호화된 매크로블록들 중 최적의 모드가 SUB8×8 또는 I4MB로 결정되어진 율-왜곡 값의 평균[Avg(J{I4MB}, J{SUB8×8}]보다 작으면 인트라 예측 모드를 생략한다(607).If
다음으로, 현재 부호화된 매크로블록이 인트라 모드이면 현재의 MVM 값을 "1"로 갱신하고서 상기 '603' 과정으로 진행한다.Next, if the currently encoded macroblock is an intra mode, the current MVM value is updated to "1" and the process proceeds to step '603'.
이상, 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해되어야만 한다.Although the embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention belongs may be embodied in other specific forms without changing the technical spirit or essential features of the present invention. You will understand that. Therefore, the embodiments described above are to be understood in all respects as illustrative and not restrictive.
도 1은 본 발명에서 제시하는 알고리즘이 적용되는 H.264/AVC 부호화기에 대한 일실시예 구성도이다.1 is a diagram illustrating an embodiment of an H.264 / AVC encoder to which an algorithm proposed by the present invention is applied.
도 2는 영상의 매크로블록 단위 분할 및 매크로블록 부호화 순서를 보여주기 위한 일실시예 설명도이다.FIG. 2 is a diagram illustrating an embodiment of macroblock unit division and macroblock encoding order of an image. FIG.
도 3은 인터 모드의 블록 크기 분할 파티션을 보여주기 위한 일실시예 설명도이다.3 is a diagram illustrating an embodiment of a block size partitioned partition in an inter mode.
도 4는 인트라 예측 모드의 블록 크기별 예측 과정을 보여주기 위한 일실시예 설명도이다.4 is a diagram for explaining an example of a prediction process for each block size in an intra prediction mode.
도 5는 본 발명에서 제시하는 움직임 벡터 맵에 대한 일실시예 설명도이다.5 is a diagram illustrating an embodiment of a motion vector map according to the present invention.
도 6은 본 발명에 따른 움직임 벡터 맵을 이용한 적응적 부호화 모드 결정 방법에 대한 일실시예 흐름도이다.6 is a flowchart illustrating an adaptive coding mode determination method using a motion vector map according to the present invention.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080126828A KR100989437B1 (en) | 2008-12-12 | 2008-12-12 | Adaptive coding mode decision method using the motion vector map in H.264/AVC |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080126828A KR100989437B1 (en) | 2008-12-12 | 2008-12-12 | Adaptive coding mode decision method using the motion vector map in H.264/AVC |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100068108A true KR20100068108A (en) | 2010-06-22 |
KR100989437B1 KR100989437B1 (en) | 2010-10-26 |
Family
ID=42366604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080126828A KR100989437B1 (en) | 2008-12-12 | 2008-12-12 | Adaptive coding mode decision method using the motion vector map in H.264/AVC |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100989437B1 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050026318A (en) * | 2003-09-09 | 2005-03-15 | 삼성전자주식회사 | Video encoding and decoding device comprising intra skip mode |
KR100718468B1 (en) | 2004-11-30 | 2007-05-16 | 주식회사 휴맥스 | Method and device for video down-sampling transcoding |
KR100807330B1 (en) | 2006-09-07 | 2008-02-28 | 엠엠비 주식회사 | Method for skipping intra macroblock mode of h.264/avc encoder |
-
2008
- 2008-12-12 KR KR1020080126828A patent/KR100989437B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR100989437B1 (en) | 2010-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101177031B1 (en) | Method and apparatus for minimizing number of reference pictures used for inter-coding | |
US8331449B2 (en) | Fast encoding method and system using adaptive intra prediction | |
KR101689997B1 (en) | Video decoding device, and video decoding method | |
KR101362590B1 (en) | Image processing device and method | |
KR20110068792A (en) | Adaptive image coding apparatus and method | |
KR20120140592A (en) | Method and apparatus for reducing computational complexity of motion compensation and increasing coding efficiency | |
KR20100065183A (en) | Image encoding device and decoding device, image encoding method and decoding method, program for the devices and the methods, and recording medium recording program | |
KR101388902B1 (en) | Techniques for motion estimation | |
KR100905059B1 (en) | The method and apparatus for block mode decision using predicted bit generation possibility in video coding | |
JP4994877B2 (en) | Method and system for selecting a macroblock coding mode in a video frame sequence | |
KR100845303B1 (en) | Video compressing encoding device based on feed-back structure for a fast encoding and Decision method of optimal mode | |
CN107613294B (en) | Method for rapidly skipping P, B frame intra-frame prediction mode in HEVC | |
JP5649296B2 (en) | Image encoding device | |
Milicevic et al. | H. 264/AVC standard: A proposal for selective intra-and optimized inter-prediction | |
JP2007531444A (en) | Motion prediction and segmentation for video data | |
KR20110099554A (en) | Qp deciding method of h.264/avc encoder using complexity of frame | |
KR100989437B1 (en) | Adaptive coding mode decision method using the motion vector map in H.264/AVC | |
US10148954B2 (en) | Method and system for determining intra mode decision in H.264 video coding | |
KR100657277B1 (en) | Method for selecting macro block type | |
Chen et al. | Predictive patch matching for inter-frame coding | |
JP4697802B2 (en) | Video predictive coding method and apparatus | |
WO2022140905A1 (en) | Prediction methods, encoder, decoder, and storage medium | |
KR100242653B1 (en) | Intra-frame coding method and apparatus thereof | |
KR20160106348A (en) | Video Coding Method and Apparatus thereof | |
KR20160087205A (en) | Transcoder and transcoding method for moving picture |
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: 20131014 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20141014 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20151006 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |