KR101337345B1 - Encoder and method for skipping sub-pel motion estimation - Google Patents

Encoder and method for skipping sub-pel motion estimation Download PDF

Info

Publication number
KR101337345B1
KR101337345B1 KR1020120008175A KR20120008175A KR101337345B1 KR 101337345 B1 KR101337345 B1 KR 101337345B1 KR 1020120008175 A KR1020120008175 A KR 1020120008175A KR 20120008175 A KR20120008175 A KR 20120008175A KR 101337345 B1 KR101337345 B1 KR 101337345B1
Authority
KR
South Korea
Prior art keywords
unit
previous
prediction unit
size
motion estimation
Prior art date
Application number
KR1020120008175A
Other languages
Korean (ko)
Other versions
KR20130087133A (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 KR1020120008175A priority Critical patent/KR101337345B1/en
Publication of KR20130087133A publication Critical patent/KR20130087133A/en
Application granted granted Critical
Publication of KR101337345B1 publication Critical patent/KR101337345B1/en

Links

Images

Landscapes

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

Abstract

부호화기 및 서브펠 움직임 추정 생략 방법이 개시된다. 본 발명에 따른 부호화기는, 현재 예측 유닛의 크기가 부호화 모드가 결정된 이전 프레임 내에서 동일 위치에 존재하는 이전 예측 유닛의 크기와 일치하는지 여부를 판단하는 판단부; 상기 현재 예측 유닛의 크기가 상기 이전 예측 유닛의 크기와 일치하는 경우에만 서브펠(sub-pel) 단위의 움직임 추정을 수행하는 서브펠 탐색부를 포함할 수 있다. 본 발명에 의해, 부호화 장치를 사용하는 모든 기기에서 동영상 부호화 시간을 단축할 수 있도록 하는 효과가 있다.An encoder and a subpel motion estimation skipping method are disclosed. The encoder according to the present invention includes: a determining unit that determines whether a size of a current prediction unit matches a size of a previous prediction unit existing at a same position in a previous frame in which an encoding mode is determined; The subpel search unit may perform a motion estimation of a sub-pel unit only when the size of the current prediction unit coincides with the size of the previous prediction unit. According to the present invention, there is an effect that the video encoding time can be shortened in all devices using the encoding device.

Description

부호화기 및 서브펠 움직임 추정 생략 방법{Encoder and method for skipping sub-pel motion estimation}Encoder and method for skipping sub-pel motion estimation

본 발명은 부호화기 및 서브펠 움직임 추정 생략 방법에 관한 것이다.
The present invention relates to an encoder and a method for omitting subpel motion estimation.

다양한 멀티미디어 기기의 발전과 디지털 멀티미디어 방송 서비스의 일반화 등으로 인해 고화질 동영상 서비스에 대한 수요가 증가하고 있다. 이를 위해, 고해상도의 비디오 컨텐츠를 재생하고 저장할 수 있는 기기의 개발 및 보급이 가속화되고 있으며, 또한 고해상도의 비디오 컨텐츠를 효과적으로 부호화하거나 복호화하는 비디오 코덱의 개발이 진행되고 있다.Due to the development of various multimedia devices and the generalization of digital multimedia broadcasting service, the demand for high quality video service is increasing. To this end, the development and dissemination of devices capable of playing and storing high-definition video content has been accelerated, and the development of video codecs for effectively encoding or decoding high-definition video content is underway.

종래 기술에 따른 비디오 코덱의 경우, 비디오 데이터를 부호화함에 있어 소정 크기의 매크로블록에 기반하여 제한된 부호화 방식이 적용되고 있었다.In the case of the video codec according to the related art, a limited encoding method is applied based on a macroblock having a predetermined size in encoding video data.

이러한 제한을 극복하여 보다 효과적인 부호화가 가능하도록 하기 위해, 차세대 동영상 부호화 기술인 MPEG-H HEVC(High Efficiency Video Coding)에서는 예측(Prediction) 및 변환(Transform)의 기본 단위가 되는 부호화 유닛(Coding Unit, CU)의 크기(size)를 예를 들어 64x64부터 8x8까지 이용하고 있으며, 또한 부호화 유닛(Coding Unit, CU), 예측 유닛(Prediction Unit, PU) 및 변환 유닛(Transform Unit, TU)이라는 세 개의 블록 개념을 가지는 계층적 개념의 비디오 압축 스킴(video compression scheme)을 이용하고 있다. 이러한 개념은 일부 논문자료 “Improved Video Compression Efficiency Through Flexible Unit Representation and Corresponding Extension of Coding Tools”에서도 제시되고 있다(W.-J. Han, J. Min, I.-K. Kim, E. Alshina, A. Alshin, T. Lee, J. Chen, V. Seregin, S. Lee, Y. M. Hong, M.-S. Cheon, N. Shlyakhov, K. McCann, T. Davies, J.-H. Park, “Improved Video Compression Efficiency Through Flexible Unit Representation and Corresponding Extension of Coding Tools,” IEEE Trans. Circuits Syst. Video Technol., vol. 20, no. 12, pp. 1709-1720, Dec. 2010).In order to overcome these limitations and enable more efficient encoding, MPEG-H High Efficiency Video Coding (HEVC), a next-generation video encoding technology, is a coding unit (CU) that is a basic unit of prediction and transformation. ) Is used for example, from 64x64 to 8x8, and also has three block concepts: Coding Unit (CU), Prediction Unit (PU), and Transform Unit (TU). A hierarchical video compression scheme is employed. This concept is also present in some of the articles “Improved Video Compression Efficiency Through Flexible Unit Representation and Corresponding Extension of Coding Tools” (W.-J. Han, J. Min, I.-K. Kim, E. Alshina, A.) Alshin, T. Lee, J. Chen, V. Seregin, S. Lee, YM Hong, M.-S. Cheon, N. Shlyakhov, K. McCann, T. Davies, J.-H. Park, “Improved Video Compression Efficiency Through Flexible Unit Representation and Corresponding Extension of Coding Tools, ”IEEE Trans. Circuits Syst. Video Technol., Vol. 20, no. 12, pp. 1709-1720, Dec. 2010).

도 1a는 MPEG-H HEVC에서 제시하는 심도(depth)별 부호화 유닛(CU) 및 예측 유닛(PU)을 나타낸 도면이고, 도 1b는 부호화 유닛 및 변환 유닛(TU)의 관계를 나타낸 도면이며, 도 2는 종래 기술에 따른 데이터 단위별 부호화 유닛의 크기를 결정하기 위한 처리 과정을 나타낸 도면이고, 도 3은 각 데이터 단위별로 부호화 유닛의 크기가 결정된 예를 나타낸 도면이다.FIG. 1A is a diagram illustrating a coding unit CU and a prediction unit PU according to depths presented in MPEG-H HEVC, and FIG. 1B is a diagram illustrating a relationship between a coding unit and a transformation unit (TU). 2 is a diagram illustrating a process for determining the size of a coding unit for each data unit according to the prior art, and FIG. 3 is a diagram illustrating an example in which the size of a coding unit is determined for each data unit.

여기서, 심도(depth)란 부호화 유닛(CU)이 계층적으로 분할되는 단계를 의미하고, 심도가 깊어질수록 심도별 부호화 유닛은 최대 부호화 유닛(예를 들어, 64x64)로부터 최소 부호화 유닛(예를 들어, 8x8)까지 분할될 수 있다. 상위 심도(예를 들어, 심도 0)로부터 하위 심도(예를 들어, 심도 3)의 방향으로 심도가 깊어진다고 표현될 수 있다. 심도가 깊어짐에 따라 최대 부호화 유닛의 분할 횟수가 증가하고, 최대 부호화 유닛의 분할 가능한 총 횟수는 최대 심도에 대응된다. 부호화 유닛의 최대 크기 및 최대 심도가 미리 설정되어 있을 수 있다.Here, the depth means a step in which the coding unit CU is hierarchically divided, and as the depth increases, the coding unit according to depths is determined from the maximum coding unit (for example, 64x64) to the minimum coding unit (eg, 64x64). For example, up to 8x8). The depth of depth may be expressed in a direction from an upper depth (eg, depth 0) to a lower depth (eg, depth 3). As the depth becomes deeper, the number of times of division of the maximum coding unit increases, and the total number of times of division of the maximum coding unit corresponds to the maximum depth. The maximum size and the maximum depth of the coding unit may be preset.

도 1a에는 부호화 유닛의 계층 구조로서 부호화 유닛의 최대 높이 및 너비가 64이며, 최대 심도가 3인 경우가 도시되어 있다. 도시된 바와 같이, 최상위 심도(즉, 심도 0)에서의 최대 부호화 유닛(110)의 크기는 64x64로 표현될 수 있다.FIG. 1A illustrates a case where the maximum height and width of the coding unit are 64 and the maximum depth is 3 as a hierarchical structure of the coding unit. As shown, the size of the largest coding unit 110 at the highest depth (ie, depth 0) may be represented as 64 × 64.

부호화 유닛의 계층 구조의 세로축을 따라 심도가 깊어지며, 이에 따라 심도별 부호화 유닛의 높이 및 너비가 각각 분할된다. 따라서, 최상위 심도인 심도 0에서의 최대 부호화 유닛의 크기인 64x64는 심도 1에서 32x32인 부호화 유닛의 크기로 분할(120)되고, 심도 2에서 16x16인 부호화 유닛의 크기로 분할(130)되며, 최하위 심도인 심도 3에서 8x8인 부호화 유닛의 크기로 분할(140)된다. 여기서, 심도 3의 8x8 크기의 부호화 유닛은 최소 부호화 유닛이라 지칭될 수 있다.The depth is deeper along the vertical axis of the hierarchical structure of the coding unit, and thus the height and width of the coding unit according to depths are respectively divided. Therefore, 64x64, which is the size of the largest coding unit at depth 0, which is the highest depth, is divided 120 into the size of the coding unit having a depth of 32x32 at depth 1, and is 130 divided into the size of the coding unit having a 16x16 at depth 2, at the lowest level. A depth 140 is divided into a size of a coding unit having a depth of 8 × 8 at a depth of 3. Here, an 8x8 sized coding unit of depth 3 may be referred to as a minimum coding unit.

또한, 부호화 유닛의 계층 구조의 가로축을 따라, 각각의 심도별 부호화 유닛의 예측 부호화의 기반이 되는 부분적 데이터 단위인 예측 유닛(PU)이 도시되어 있다. 즉, 심도 0의 크기 64x64의 부호화 유닛(110)의 예측 유닛은, 크기 64x64의 부호화 유닛에 포함되는 64x64 크기의 부분적 데이터 단위, 64x32 크기의 부분적 데이터 단위, 32x64 크기의 부분적 데이터 단위, 32x32 크기의 부분적 데이터 단위 등일 수 있다. 따라서, 부호화 유닛은 각 부분적 데이터 단위들을 포함하는 최소 크기의 정사각형인 데이터 단위로 표현될 수도 있다.Further, a prediction unit PU, which is a partial data unit that is the basis of the prediction encoding of each depth-decoding coding unit, is shown along the horizontal axis of the hierarchical structure of the coding unit. That is, the prediction unit of the coding unit 110 having a size of 64x64 having a depth of 0 includes a 64x64 sized partial data unit, a 64x32 sized partial data unit, a 32x64 sized partial data unit, and a 32x32 sized data included in a 64x64 sized coding unit. Partial data units, and so on. Therefore, the coding unit may be represented by a data unit that is a square of a minimum size including each partial data unit.

마찬가지로, 심도 1의 32x32 크기의 부호화 유닛의 예측 유닛은 32x32 크기의 부분적 데이터 단위, 32x16 크기의 부분적 데이터 단위, 16x32 크기의 부분적 데이터 단위, 16x16 크기의 부분적 데이터 단위 등일 수 있고, 심도 2의 16x16 크기의 부호화 유닛의 예측 유닛은 16x16 크기의 부분적 데이터 단위, 16x8 크기의 부분적 데이터 단위, 8x16 크기의 부분적 데이터 단위, 8x8 크기의 부분적 데이터 단위 등일 수 있다.Similarly, the prediction unit of a 32x32 sized coding unit of depth 1 may be a 32x32 partial data unit, a 32x16 partial data unit, a 16x32 partial data unit, a 16x16 partial data unit, or the like, and a depth 2 16x16 size. The prediction unit of the coding unit of may be a 16x16 partial data unit, a 16x8 partial data unit, an 8x16 partial data unit, an 8x8 partial data unit, or the like.

도 1b에는 부호화 유닛 및 변환 유닛의 관계가 도시되어 있다. 1B shows a relationship between a coding unit and a transform unit.

부호화 장치는 최대 부호화 유닛마다 최대 부호화 유닛보다 작거나 같은 크기의 부호화 유닛으로 영상을 부호화하며. 부호화 과정에서 주파수 변환을 위한 변환 유닛(TU)의 크기는 각각의 부호화 유닛보다 크지 않은 데이터 단위를 기반으로 선택될 수 있다. The encoding apparatus encodes an image with a coding unit having a size smaller than or equal to the maximum coding unit for each maximum coding unit. In the encoding process, the size of a transform unit (TU) for frequency transformation may be selected based on a data unit that is not larger than each coding unit.

예를 들어, 현재 부호화 유닛이 64x64 크기인 경우를 가정할 때, 32x32 크기의 변환 유닛을 이용하여 주파수 변환이 수행될 수 있다. 또한, 64x64 크기의 부호화 유닛의 데이터를 64x64 크기 이하인 32x32, 16x16, 8x8, 4x4 크기의 변환 유닛들로 각각 주파수 변환을 수행하여 부호화한 후, 원본과의 오차가 가장 적은 변환 유닛이 선택될 수도 있다.For example, assuming that the current coding unit is 64x64 size, frequency transformation may be performed using a 32x32 size transform unit. In addition, after encoding the data of the 64x64 size coding unit into 32x32, 16x16, 8x8, and 4x4 size transform units each having 64x64 size or less, the transform unit having the least error with the original may be selected. .

도 1a에 도시된 심도별 부호화 유닛이 고려되는 부호화 장치는 최대 부호화 유닛(110)에 대한 부호화 심도를 결정하기 위해, 최대 부호화 유닛(110)에 포함된 각 심도의 부호화 유닛마다 부호화를 수행하여야 하며, 이러한 결과로서 도 2에 도시된 바와 같이 각 데이터 단위에 대한 부호화 유닛의 크기가 결정될 수 있다.The encoding apparatus considering the depth-based encoding unit illustrated in FIG. 1A should perform encoding for each coding unit of each depth included in the maximum coding unit 110 to determine the coded depth for the maximum coding unit 110. As a result, as shown in FIG. 2, the size of the coding unit for each data unit may be determined.

이때, 동일한 범위 및 크기의 데이터를 포함하기 위한 심도별 부호화 유닛의 개수는 심도가 깊어질수록 증가한다. 예를 들어, 심도 1의 부호화 유닛 한 개가 포함하는 데이터에 대해서, 심도 2의 부호화 유닛은 네 개가 필요하다. 따라서, 동일한 데이터의 부호화 결과를 심도별로 비교하기 위해서, 한 개의 심도 1의 부호화 유닛 및 네 개의 심도 2의 부호화 유닛을 이용하여 각각 부호화되어야 한다. At this time, the number of coding units according to depths for including data of the same range and size increases as the depth increases. For example, four data units of depth 2 are required for data included in one coding unit of depth 1. Therefore, in order to compare the encoding results of the same data for each depth, each of the coding units having one depth 1 and four coding units having four depths 2 should be encoded.

즉, 도 2에 도시된 바와 같이 MPEG-H HEVC에서는 최선의 코딩 이득(Best coding gain)을 얻기 위해 각각의 심도에서의 예측 모드(prediction mode)와 변환 모드(transform mode)를 모두 적용시켜 본 뒤 각 데이터 단위별(즉, 64x64 크기의 데이터 단위부터 8x8 크기의 데이터 단위까지) 최적의 부호화 유닛(CU)의 크기와 이에 따른 예측 유닛(PU) 및 변환 유닛(TU)을 결정한다. 이에 의해 최적으로 결정된 각 데이터 단위별 부호화 유닛이 도 3에 예시되어 있다.That is, as shown in FIG. 2, in the MPEG-H HEVC, both the prediction mode and the transform mode at each depth are applied to obtain the best coding gain. For each data unit (that is, from a 64x64 data unit to an 8x8 data unit), the size of an optimal coding unit CU, a prediction unit PU, and a transform unit TU are determined. A coding unit for each data unit that is optimally determined by this is illustrated in FIG. 3.

그러나, 종래기술에서 제시하는 방식으로 부호화 유닛(CU)의 크기를 결정하는 방법에 따를 때, 다양한 부호화 유닛 크기를 고려함으로써 최적의 부호화 유닛 크기를 결정할 수는 있지만, 그 결정 과정에서 지나치게 복잡도가 증가되는 문제가 발생된다. 예를 들어 도 2에 도시된 바와 같이 최하위 심도가 3이고 최대 부호화 유닛의 크기가 64x64인 경우, 부호화 장치는 최적의 비용(cost)을 결정하여 데이터 단위별 부호화 유닛의 크기를 결정하기 위해 적어도 1xCU0 + 4xCU1 + 16xCU2 + 64xCU3의 수량에 해당하는 처리를 실시하여야 한다.However, according to the method of determining the size of the coding unit (CU) in the manner proposed in the prior art, although the optimal coding unit size can be determined by considering various coding unit sizes, the complexity increases in the determination process. Problem occurs. For example, as shown in FIG. 2, when the lowest depth is 3 and the size of the largest coding unit is 64x64, the encoding apparatus determines at least 1xCU0 to determine the size of the coding unit for each data unit by determining an optimal cost. The processing corresponding to the quantity of + 4xCU1 + 16xCU2 + 64xCU3 should be performed.

또한, 움직임 추정 성능을 높이기 위하여 H.264 등에서는 1/2 픽셀뿐 아니라 1/4 픽셀 혹은 1/8 픽셀 단위로도 움직임 추정이 수행된다. 이는 실제의 움직임이 정수 픽셀 단위로 이루어지지 않아 정수배 단위의 움직임 벡터는 정확도가 떨어지기 때문이다. In addition, in order to increase the performance of the motion estimation, the motion estimation is performed not only in 1/2 pixel but also in 1/4 pixel or 1/8 pixel units. This is because the actual motion is not made by the unit of integer pixel, so the motion vector of the unit of integral multiple is inferior in accuracy.

1/2 픽셀뿐, 1/4 픽셀, 1/8 픽셀 단위 등의 서브펠(Sub-pel, 또는 서브픽셀) 단위로 움직임 추정을 하기 위해서는 일반적으로 두 단계의 과정이 수행된다. 첫번째 단계에서 주어진 탐색 영역에서 정수배 단위로 움직임 추정을 하여 정수배 움직임 벡터를 얻는다. 이어 두번째 단계에서는 정수배 움직임 벡터를 중심으로 서브펠 단위로 움직임 벡터를 예측하여 최종 움직임 벡터를 얻는다. In order to perform motion estimation in units of sub-pels (eg, sub-pels) such as only 1/2 pixel, 1/4 pixel, and 1/8 pixel, a two-step process is generally performed. In the first step, the motion estimation is performed in integer units in the given search region to obtain an integer motion vector. In the second step, the motion vector is predicted in units of subpels based on the integer motion vector to obtain a final motion vector.

서브펠 단위의 움직임 추정시 보다 많은 탐색점에 대한 탐색이 요구될 뿐 아니라 1/2, 1/4, 1/8 픽셀 등을 만드는 보간 과정에서 많은 계산량이 요구된다.In addition to searching for more search points when estimating subpel motion, a large amount of computation is required in the interpolation process to produce 1/2, 1/4, 1/8 pixels, and the like.

이와 같이, 많은 계산량의 요구는 부호화기의 실시간 처리 성능을 약화시키는 등의 문제점을 가지는 바, 화질의 열화는 최소화하면서 서브펠 단위의 움직임 추정을 생략할 수 있도록 함으로써 보다 우수한 효율의 부호화기 개발이 요구된다.
As such, the demand for a large amount of computation has problems such as weakening of the encoder's real-time processing performance. Therefore, it is necessary to develop an encoder with higher efficiency by minimizing degradation of image quality and omitting motion estimation in subpel units. .

본 발명은 부호화기를 사용하는 모든 기기에서 비디오 데이터에 대한 부호화 시간을 단축할 수 있도록 하는 부호화기 및 서브펠 움직임 추정 생략 방법을 제공하기 위한 것이다.An object of the present invention is to provide an encoder and a method for eliminating subpel motion estimation, which can reduce encoding time for video data in all devices using an encoder.

본 발명은 움직임 추정(ME, Motion Estimation) 과정에서 이전 프레임의 부호화 유닛(CU)의 심도(depth), 예측 유닛(PU)의 파티션 크기(Partition size) 및/또는 인덱스를 참조하여 부호화 모드 결정을 위한 현재 프레임의 예측 유닛에 대한 서브펠 단위의 움직임 추정을 생략할 수 있도록 함으로써 보다 신속한 부호화 처리가 가능한 부호화기 및 서브펠 움직임 추정 생략 방법을 제공하기 위한 것이다.The present invention determines encoding mode by referring to a depth of a coding unit (CU) of a previous frame, a partition size and / or an index of a prediction unit (PU) in a motion estimation (ME) process. The present invention provides an encoder and a method of eliminating subpel motion estimation, which enable a faster encoding process by allowing motion estimation of a subpel unit for a prediction unit of a current frame to be omitted.

본 발명은 서브펠을 만드는 과정에서 요구되는 보간(Interpolation)과 서브펠 단위 탐색점을 생략할 수 있어 보다 신속한 부호화 처리가 가능한 부호화기 및 서브펠 움직임 추정 생략 방법을 제공하기 위한 것이다.An object of the present invention is to provide an encoder and a method of skipping subpel motion estimation, which can perform a faster encoding process by interpolation and a subpel unit search point, which are required in the process of making a subpel.

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

본 발명의 일 측면에 따르면, 서브펠 움직임 추정 생략 방법을 수행하는 부호화기가 제공된다. According to an aspect of the present invention, an encoder for performing a subpel motion estimation skipping method is provided.

본 발명의 일 실시예에 따르면, 부호화기에 있어서, 현재 예측 유닛의 크기가 부호화 모드가 결정된 이전 프레임 내에서 동일 위치에 존재하는 이전 예측 유닛의 크기와 일치하는지 여부를 판단하는 판단부; 상기 현재 예측 유닛의 크기가 상기 이전 예측 유닛의 크기와 일치하는 경우에만 서브펠(sub-pel) 단위의 움직임 추정을 수행하는 서브펠 탐색부를 포함하는 부호화기가 제공된다.According to an embodiment of the present invention, an encoder includes: a determining unit that determines whether a size of a current prediction unit matches a size of a previous prediction unit existing at a same position in a previous frame in which an encoding mode is determined; An encoder is provided that includes a subpel search unit that performs motion estimation on a sub-pel basis only when the size of the current prediction unit matches the size of the previous prediction unit.

상기 현재 예측 유닛이 현재 프레임 및 현재 부호화 유닛 내에서의 위치 식별과 상기 이전 예측 유닛이 상기 이전 프레임 및 이전 부호화 유닛 내에서의 위치 식별을 위해 인덱스(index)가 각각 이용될 수 있다.An index may be used for the current prediction unit to identify the position in the current frame and the current coding unit, and the previous prediction unit to the position in the previous frame and the previous coding unit, respectively.

상기 판단부는 상기 현재 예측 유닛이 포함된 현재 부호화 유닛의 심도(depth)와 상기 이전 예측 유닛이 포함된 이전 부호화 유닛의 심도가 일치하고, 현재 예측 유닛의 파티션 크기와 이전 예측 유닛의 파티션 크기가 일치하는지 여부를 참조하여 상기 현재 예측 유닛의 크기와 상기 이전 예측 유닛의 크기 일치 여부를 판단할 수 있다.The determination unit may match a depth of a current coding unit including the current prediction unit and a depth of a previous coding unit including the previous prediction unit, and a partition size of the current prediction unit and a partition size of the previous prediction unit match. It may be determined whether the size of the current prediction unit coincides with the size of the previous prediction unit with reference to the information.

부호화기는 상기 이전 부호화 유닛의 심도 및 상기 이전 부호화 유닛에 포함된 상기 이전 예측 유닛의 파티션 크기에 관한 정보를 저장하는 이전 프레임 정보 저장부를 더 포함할 수 있다.The encoder may further include a previous frame information storage unit that stores information about a depth of the previous coding unit and a partition size of the previous prediction unit included in the previous coding unit.

부호화기는 지정된 탐색 영역에서 정수배 단위로 움직임 추정을 하여 정수배 움직임 벡터를 획득하는 정수픽셀 탐색부를 더 포함할 수 있다. 여기서, 상기 서브펠 움직임 추정의 수행 여부에 의해 상기 정수배 움직임 벡터 또는 서브펠 단위의 움직임 벡터가 최종 움직임 벡터로 출력될 수 있다.The encoder may further include an integer pixel search unit that obtains an integer multiple motion vector by performing motion estimation in units of multiples in a designated search region. Here, the integer motion vector or the motion vector of the subpel unit may be output as the final motion vector depending on whether the subpel motion estimation is performed.

부호화기는 상기 최종 움직임 벡터를 이용하여 움직임 추정된 예측 유닛의 예측 모드(prdeiction mode)별 비용값을 산출하는 비용 산출부를 더 포함할 수 있다.The encoder may further include a cost calculator configured to calculate a cost value for each prediction mode of the motion estimation prediction unit using the final motion vector.

상기 예측 모드는 Inter 2Nx2N, Inter 2NxN, Inter Nx2N 및 Inter NxN 중 하나 이상일 수 있다.The prediction mode may be at least one of Inter 2Nx2N, Inter 2NxN, Inter Nx2N, and Inter NxN.

상기 비용값은 SAD(Sum of Absolute Difference), SSD(Sum of Squared Difference) 및 SATD(Sum of Absolute Transformed Difference) 중 하나 이상을 사용하여 산출될 수 있다.
The cost value may be calculated using one or more of a sum of absorptive difference (SAD), a sum of squared difference (SSD), and a sum of absolute transformed difference (SATD).

본 발명의 다른 측면에 따르면, 부호화기에서 제공되는 서브펠 움직임 추정 생략 방법이 제공된다. According to another aspect of the present invention, a subpel motion estimation skipping method provided by an encoder is provided.

본 발명의 일 실시예에 따르면, 서브펠 움직임 추정 생략 방법에 있어서, (a) 판단부가 현재 예측 유닛의 크기가 부호화 모드가 결정된 이전 프레임 내에서 동일 위치에 존재하는 이전 예측 유닛의 크기와 일치하는지 여부를 판단하는 단계; 및 (b) 현재 예측 유닛의 파티션 크기가 이전 예측 유닛의 파티션 크기와 일치하는 경우에만, 서브펠(sub-pel) 탐색부가 서브펠 단위의 움직임 추정을 수행하는 단계를 포함하는 서브펠 움직임 추정 생략 방법이 제공된다.According to an embodiment of the present invention, in the subpel motion estimation omitting method, (a) the determining unit whether the size of the current prediction unit matches the size of the previous prediction unit existing at the same position in the previous frame in which the encoding mode is determined. Determining whether or not; And (b) the sub-pel searcher performing motion estimation of the subpel unit only when the partition size of the current prediction unit matches the partition size of the previous prediction unit. A method is provided.

상기 판단부는 상기 현재 예측 유닛이 포함된 현재 부호화 유닛의 심도(depth)와 상기 이전 예측 유닛이 포함된 이전 부호화 유닛의 심도가 일치하고, 현재 예측 유닛의 파티션 크기와 이전 예측 유닛의 파티션 크기가 일치하는지 여부를 참조하여 상기 현재 예측 유닛의 크기와 상기 이전 예측 유닛의 크기 일치 여부를 판단할 수 있다.The determination unit may match a depth of a current coding unit including the current prediction unit and a depth of a previous coding unit including the previous prediction unit, and a partition size of the current prediction unit and a partition size of the previous prediction unit match. It may be determined whether the size of the current prediction unit coincides with the size of the previous prediction unit with reference to the information.

상기 이전 부호화 유닛의 심도 및 상기 이전 부호화 유닛에 상응하는 상기 이전 예측 유닛의 파티션 크기에 관한 정보가 이전 프레임 정보 저장부에 저장되는 단계가 상기 단계 (a)에 선행할 수 있다.The step of storing information on the depth of the previous coding unit and the partition size of the previous prediction unit corresponding to the previous coding unit may be stored in a previous frame information storage unit before step (a).

상기 현재 예측 유닛이 현재 프레임 및 현재 부호화 유닛 내에서의 위치 식별과 상기 이전 예측 유닛이 상기 이전 프레임 및 이전 부호화 유닛 내에서의 위치 식별을 위해 인덱스(index)가 각각 이용될 수 있다.An index may be used for the current prediction unit to identify the position in the current frame and the current coding unit, and the previous prediction unit to the position in the previous frame and the previous coding unit, respectively.

상기 단계 (b) 이전에 상기 서브펠 단위의 움직 추정을 수행하는 지정된 탐색 영역에서 정수배 단위로 움직임 추정을 하여 정수배 움직임 벡터를 획득하는 단계가 수행될 수 있고, 상기 서브펠 움직임 추정의 수행 여부에 의해 상기 정수배 움직임 벡터 또는 서브펠 단위의 움직임 벡터가 최종 움직임 벡터로 출력될 수 있다.Before the step (b), a step of acquiring an integer multiple motion vector may be performed by performing motion estimation in units of integral multiples in a designated search area that performs motion estimation in the subpel units, and whether or not the subpel motion estimation is performed. As a result, the integer motion vector or the motion vector of the subpel unit may be output as the final motion vector.

상기 최종 움직임 벡터를 이용하여 움직임 추정된 예측 유닛의 예측 모드(prdeiction mode)별 비용값이 산출될 수 있다.A cost value for each prediction mode of the motion estimation prediction unit may be calculated using the final motion vector.

상기 예측 모드는 Inter 2Nx2N, Inter 2NxN, Inter Nx2N 및 Inter NxN 중 하나 이상일 수 있다.The prediction mode may be at least one of Inter 2Nx2N, Inter 2NxN, Inter Nx2N, and Inter NxN.

상기 비용값은 SAD(Sum of Absolute Difference), SSD(Sum of Squared Difference) 및 SATD(Sum of Absolute Transformed Difference) 중 하나 이상을 사용하여 산출될 수 있다.
The cost value may be calculated using one or more of a sum of absorptive difference (SAD), a sum of squared difference (SSD), and a sum of absolute transformed difference (SATD).

전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
Other aspects, features, and advantages will become apparent from the following drawings, claims, and detailed description of the invention.

본 발명의 실시예에 따르면, 부호화기를 사용하는 모든 기기에서 비디오 데이터에 대한 부호화 시간을 단축할 수 있도록 하는 효과가 있다.According to an embodiment of the present invention, all devices using the encoder can reduce the encoding time for video data.

또한 움직임 추정(ME, Motion Estimation) 과정에서 이전 프레임의 부호화 유닛(CU)의 심도(depth), 예측 유닛(PU)의 파티션 크기(Partition size) 및/또는 인덱스를 참조하여 부호화 모드 결정을 위한 현재 프레임의 예측 유닛에 대한 서브펠 단위의 움직임 추정을 생략할 수 있도록 함으로써 보다 신속한 부호화 처리가 가능한 효과도 있다.In the motion estimation process, the current mode for determining the encoding mode may be determined by referring to the depth of the coding unit CU of the previous frame, the partition size and / or the index of the prediction unit PU. By allowing the motion estimation of the subpel unit with respect to the prediction unit of the frame to be omitted, there is an effect that a faster encoding process can be performed.

또한 서브펠을 만드는 과정에서 요구되는 보간(Interpolation)과 서브펠 단위 탐색점을 생략할 수 있어 보다 신속한 부호화 처리가 가능한 효과도 있다.
In addition, since interpolation and subpel unit search points required in the process of making a subpel can be omitted, a faster encoding process can be performed.

도 1a는 MPEG-H HEVC에서 제시하는 심도(depth)별 부호화 유닛(CU) 및 예측 유닛(PU)을 나타낸 도면.
도 1b는 부호화 유닛 및 변환 유닛(TU)의 관계를 나타낸 도면.
도 2는 종래 기술에 따른 데이터 단위별 부호화 유닛의 크기를 결정하기 위한 처리 과정을 나타낸 도면.
도 3은 각 데이터 단위별로 부호화 유닛의 크기가 결정된 예를 나타낸 도면.
도 4는 본 발명의 일 실시예에 따른 부호화기의 구성을 개략적으로 나타낸 도면.
도 5는 현재 예측 유닛에서 예측 모드를 선택하기 위한 일반적인 과정을 나타낸 도면.
도 6은 MPEG-H HEVC에서 서브펠 움직임 추정을 수행하는 예측 유닛을 나타낸 도면.
도 7은 본 발명의 일 실시예에 따른 부호화기에서 서브펠 움직임 추정을 수행하는 예측 유닛을 나타낸 도면.
도 8은 본 발명의 일 실시예에 따른 부호화기에서 수행되는 서브펠 움직임 추정 생략 방법을 나타낸 도면.
1A is a diagram illustrating depth-specific coding units (CUs) and prediction units (PUs) presented in MPEG-H HEVC.
1B is a diagram illustrating a relationship between a coding unit and a transform unit (TU).
2 is a diagram illustrating a process for determining the size of a coding unit for each data unit according to the prior art.
3 is a diagram illustrating an example in which a size of a coding unit is determined for each data unit.
4 is a diagram schematically illustrating a configuration of an encoder according to an embodiment of the present invention.
5 illustrates a general procedure for selecting a prediction mode in the current prediction unit.
FIG. 6 illustrates a prediction unit for performing subpel motion estimation in MPEG-H HEVC. FIG.
7 illustrates a prediction unit for performing subpel motion estimation in an encoder according to an embodiment of the present invention.
8 is a diagram illustrating a method of omitting subpel motion estimation performed by an encoder according to an embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.The present invention is capable of various modifications and various embodiments, and specific embodiments are illustrated and described in the drawings. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all transformations, equivalents, and substitutes included in the spirit and scope of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

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

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

또한, 명세서에 기재된 "…부", "…기", "…유닛", "…모듈", "…블록" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.The terms "part", "unit", "unit", "module", "block", and the like described in the specification mean units for processing at least one function or operation. Software or a combination of hardware and software.

이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. Referring to the accompanying drawings, the same or corresponding components are denoted by the same reference numerals, .

이하에서는 심도별 부호화 유닛의 크기 결정을 신속하게 수행하는 부호화기를 중심으로 설명하지만, 동일 또는 유사한 기술적 사상이 복호화기에 적용될 수도 있음은 당연하다.Hereinafter, a description will be given of an encoder for quickly determining a size of a coding unit according to depths, but it is natural that the same or similar technical concepts may be applied to a decoder.

또한, 부호화 유닛의 크기 결정 방법을 적용함에 있어 영상 특성을 고려하기 위해 계층적인 부호화 유닛이 사용되고, 부호화 유닛의 최대 높이 및 너비, 최대 심도는 영상의 특성에 따라 적응적으로 결정될 수도 있으며, 사용자의 요구에 따라서도 다양하게 설정되도록 구현될 수 있다. 다만, 설명의 편의를 위해 필요한 경우에는 부호화 유닛의 최대 높이 및 너비가 각각 64이고, 최대 심도가 3인 경우를 예로 들어 설명하기로 한다.
In addition, in applying the size determination method of the coding unit, a hierarchical coding unit is used to consider image characteristics, and the maximum height, width, and maximum depth of the coding unit may be adaptively determined according to the characteristics of the image. It can be implemented to be set in various ways depending on the needs. However, when necessary for the convenience of explanation, the case where the maximum height and width of the coding unit are 64 and the maximum depth is 3 will be described as an example.

도 4는 본 발명의 일 실시예에 따른 부호화기의 구성을 개략적으로 나타낸 도면이고, 도 5는 현재 예측 유닛에서 예측 모드를 선택하기 위한 일반적인 과정을 나타낸 도면이다. 도 6은 MPEG-H HEVC에서 서브펠 움직임 추정을 수행하는 예측 유닛을 나타낸 도면이고, 도 7은 본 발명의 일 실시예에 따른 부호화기에서 서브펠 움직임 추정을 수행하는 예측 유닛을 나타낸 도면이다.4 is a diagram schematically illustrating a configuration of an encoder according to an embodiment of the present invention, and FIG. 5 is a diagram illustrating a general process for selecting a prediction mode in a current prediction unit. FIG. 6 is a diagram illustrating a prediction unit that performs subpel motion estimation in MPEG-H HEVC, and FIG. 7 is a diagram illustrating a prediction unit that performs subpel motion estimation in an encoder according to an embodiment of the present invention.

도 4를 참조하면, 부호화기는 이전 프레임 정보 저장부(410), 움직임 추정부(420), 최적 모드 결정부(450)를 포함한다. 부호화기가 변환/스케일링/양자화부, 인트라 예측부, 엔트로피 인코더부 등을 더 포함할 수 있음은 당업자에게 자명한 사항이나, 해당 구성 요소들이 본 발명의 요지와는 다소 거리감이 있는 사항이므로 이에 대한 설명은 생략하기로 한다.Referring to FIG. 4, the encoder includes a previous frame information storage unit 410, a motion estimation unit 420, and an optimum mode determination unit 450. It is obvious to those skilled in the art that the encoder may further include a transform / scaling / quantization unit, an intra prediction unit, an entropy encoder unit, etc., but since the components are somewhat separated from the gist of the present invention, the description thereof will be provided. Will be omitted.

이전 프레임 정보 저장부(410)는 현재 프레임(current frame) 이전에 최적 부호화 모드가 결정된 이전 프레임의 부호화 유닛(CU)의 심도(depth) 정보 및 각 부호화 유닛(CU)에 대한 예측 유닛(PU)의 파티션 크기(partition size) 정보를 저장한다. 또한, 이전 프레임 정보 저장부(410)는 각 부호화 유닛의 인덱스(index) 및 각 예측 유닛의 인덱스(index) 중 하나 이상을 더 저장할 수도 있다. 여기서, 인덱스는 해당 프레임 내에서 각 부호화 유닛의 위치를 식별하도록 하기 위한 식별 정보일 수 있다.The previous frame information storage unit 410 stores depth information of the coding unit CU of the previous frame in which the optimum coding mode is determined before the current frame and the prediction unit PU for each coding unit CU. Stores partition size information. In addition, the previous frame information storage unit 410 may further store one or more of an index of each coding unit and an index of each prediction unit. Here, the index may be identification information for identifying the position of each coding unit in the frame.

움직임 추정부(420)는 정수픽셀 탐색부(425), 판단부(430), 서브펠 탐색부(435) 및 비용 산출부(440)를 포함한다. The motion estimator 420 includes an integer pixel searcher 425, a determiner 430, a subpel searcher 435, and a cost calculator 440.

일반적으로 종래기술에 따른 부호화기의 움직임 추정부는 모든 예측 유닛에 대해 서브펠 움직임 추정(Sub-pel motion estimation)을 수행(도 6 참조)하기 때문에 많은 계산량을 요구하고 결과적으로 부호화기의 실시간 성능이 저하되는 문제점을 가지고 있었다. In general, since the motion estimator of the encoder according to the prior art performs sub-pel motion estimation for all prediction units (see FIG. 6), a large amount of computation is required and as a result, the real-time performance of the encoder is degraded. Had a problem.

이에 비해, 본 실시예에 따른 움직임 추정부(420)는 이하에서 설명되는 바와 같이, 현재 프레임의 부호화하고자 하는 부호화 유닛(이하 ‘현재 부호화 유닛’이라 칭함)에 대해 해당 프레임 내에서의 위치에 관한 정보인 인덱스(즉, CU 인덱스 정보)를 이용하여 현재 부호화 유닛의 위치를 파악하고, 현재 부호화 유닛 내부에서 분할되는 정보인 심도 정보와 파티션 크기 정보를 이용하여 현재 부호화 유닛의 크기를 파악하며, 현재 부호화 유닛 내부에서 예측 유닛(이하, ‘현재 예측 유닛’이라 칭함)이 존재하는 위치에 관한 정보인 인덱스(즉, CU 내부 인덱스)를 이용하여 이전 프레임 내의 같은 위치에 존재하는 부호화 유닛(이하 ‘이전 부호화 유닛’이라 칭함) 내부의 같은 위치에 존재하는 예측 유닛(이하, ‘이전 예측 유닛’이라 칭함)을 인식하여 이전 예측 유닛의 크기와 현재 예측 유닛의 크기가 일치하는 경우에만 서브펠 움직임 추정을 수행(도 7 참조)함으로써 신속한 부호화 처리가 가능하도록 하는 특징을 가진다. In contrast, the motion estimation unit 420 according to the present embodiment relates to a position in the frame with respect to a coding unit (hereinafter, referred to as a 'current coding unit') to be encoded of the current frame, as described below. Locates the current coding unit by using information index (that is, CU index information), and grasps the size of the current coding unit by using depth information and partition size information, which is information split inside the current coding unit, A coding unit (hereinafter referred to as 'previous') that is located at the same position in a previous frame by using an index (that is, a CU internal index) that is information about a position where a prediction unit (hereinafter, referred to as a 'current prediction unit') exists within the coding unit. Coding Unit ') recognizes prediction units (hereinafter referred to as' previous prediction units') that exist at the same position within the By size and performs a sub-pel motion estimation only if the size of the current prediction unit matches the prediction unit (see Fig. 7) has a characteristic that a fast coding processing is possible.

정수픽셀 탐색부(425)는 지정된 탐색 영역에서 정수배 단위로 움직임 추정을 하여 정수배 움직임 벡터를 획득한다.The integer pixel search unit 425 obtains an integer multiple motion vector by performing motion estimation on an integer multiple unit in the designated search region.

판단부(430)는 이전 프레임 정보 저장부(410)에 저장된 이전 부호화 유닛의 심도 정보와 이전 예측 유닛의 크기 정보를 참조하여 부호화를 진행하고자 하는 현재 예측 유닛의 크기가 이전 예측 유닛의 크기와 일치하는지를 판단한다.The determination unit 430 refers to the depth information of the previous coding unit and the size information of the previous prediction unit stored in the previous frame information storage unit 410, and the size of the current prediction unit to be encoded coincides with the size of the previous prediction unit. Determine.

판단부(430)가 현재 예측 유닛의 크기와 이전 예측 유닛의 크기가 일치하는 것으로 판단한 경우, 서브펠 탐색부(435)는 현재 예측 유닛에 대해 정수픽셀 탐색부(425)에 의해 획득된 정수배 움직임 벡터를 중심으로 서브펠 단위의 움직임 벡터를 예측하여 최종 움직임 벡터를 획득한다. 서브펠 탐색부(435)는 예를 들어 1/2 픽셀, 1/4 픽셀, 1/8 픽셀 등 중 하나 이상의 서브펠 단위로 움직임 추정을 수행할 수 있다.When the determination unit 430 determines that the size of the current prediction unit and the size of the previous prediction unit match, the subpel search unit 435 moves an integer multiple obtained by the integer pixel search unit 425 with respect to the current prediction unit. A final motion vector is obtained by predicting a motion vector of a subpel unit based on the vector. The subpel search unit 435 may perform motion estimation in units of one or more subpels of, for example, 1/2 pixel, 1/4 pixel, 1/8 pixel, and the like.

그러나 만일 판단부(430)가 현재 예측 유닛의 크기와 이전 예측 유닛의 크기가 일치하지 않는 것으로 판단한 경우, 정수픽셀 탐색부(425)에 의해 획득된 정수배 움직임 벡터가 최종 움직임 벡터로 출력된다.However, if the determination unit 430 determines that the size of the current prediction unit does not match the size of the previous prediction unit, the integer motion vector obtained by the integer pixel search unit 425 is output as the final motion vector.

비용 산출부(440)는 정수픽셀 탐색부(425) 또는/및 서브펠 탐색부(435)로부터 제공되는 최종 움직임 벡터 등을 이용하여 움직임 추정된 예측 유닛의 각 예측 모드(prediction mode)에 대한 비용값을 산출한다. 비용값을 산출하는 방법으로는 SAD(Sum of Absolute Difference), SSD(Sum of Squared Difference), SATD(Sum of Absolute Transformed Difference) 등 중 하나 이상이 사용될 수 있으나, 반드시 이에 한정되는 것은 아니다. 비용값 산출 과정은 당업자에게 자명한 사항이므로 이에 대한 설명은 생략한다.The cost calculator 440 costs the cost of each prediction mode of the motion estimation prediction unit using the final motion vector or the like provided from the integer pixel search unit 425 or the subpel search unit 435. Calculate the value. As a method of calculating a cost value, one or more of a sum of absolute difference (SAD), a sum of squared difference (SSD), a sum of absolute transformed difference (SATD), and the like may be used, but is not limited thereto. Cost value calculation process is obvious to those skilled in the art, so a description thereof will be omitted.

움직임 추정부(420)가 각 예측 모드(예를 들어, SKIP, Inter 2Nx2N, Inter NxN, Inter 2NxN, Inter Nx2N, Intra 2Nx2N, Intra NxN 등)에 대해 비용값들을 개별적으로 산출하고, 산출된 비용값들은 최적 모드 결정부(450)로 제공되며, 최적 모드 결정부(450)는 비용값이 최소가 되는 예측 모드를 매크로블록의 최적 부호화 모드로 결정한다. The motion estimation unit 420 separately calculates cost values for each prediction mode (for example, SKIP, Inter 2Nx2N, Inter NxN, Inter 2NxN, Inter Nx2N, Intra 2Nx2N, Intra NxN, etc.), and calculates the calculated cost value. The best mode determiner 450 is provided to the best mode determiner 450, and the best mode determiner 450 determines a prediction mode of which the cost value is the minimum as the optimum coding mode of the macroblock.

이하, 도 5 내지 도 7을 참조하여 본 실시예에 따른 부호화기가 종래기술에 따른 부호화기에 비해 가지는 차별적 특징을 간략히 설명하기로 한다.Hereinafter, the distinctive features of the encoder according to the present embodiment as compared to the encoder according to the prior art will be briefly described with reference to FIGS. 5 to 7.

도 5에 도시된 바와 같이, 최적의 부호화 모드를 결정하기 위해 일반적으로 복수의 예측 모드 각각에 대한 비용값을 산출하고, 최소의 비용값을 가지는 예측 모드를 최적의 부호화 모드로서 결정하게 된다. As shown in FIG. 5, in order to determine an optimal encoding mode, a cost value for each of a plurality of prediction modes is generally calculated, and a prediction mode having a minimum cost value is determined as an optimal encoding mode.

참고로, MPEG-H HEVC에서 적용되는 최적의 부호화 유닛 결정을 위한 의사코드는 회귀 구조(Recursive structure)를 채택하고 있으며 그 내용은 아래와 같다.
For reference, a pseudo code for determining an optimal coding unit applied in MPEG-H HEVC adopts a recursive structure.

Recursive_CU_Processing (depth, index) {Recursive_CU_Processing (depth, index) {

parent_cost = CU_processing (depth, index) parent_cost = CU_processing (depth, index)

for from index = 0 to index = 3 dofor from index = 0 to index = 3 do

children_cost += Recursive_CU_Processing (depth+1, index)   children_cost + = Recursive_CU_Processing (depth + 1, index)

endend

if (parent_cost < children_cost)if (parent_cost <children_cost)

Best_CU = CU(depth)   Best_CU = CU (depth)

elseelse

Best_CU = CU(depth+1)   Best_CU = CU (depth + 1)

if (leaf node) if (leaf node)

return    return

}
}

앞서 설명한 도 2에 도시된 바와 같이, 부호화기는 현재 심도(depth)의 부호화 유닛의 크기와 후속하는 심도에 해당하는 4개의 부호화 유닛에 대한 RD 비용 평가를 수행한다. 이러한 과정이 회귀적, 반복적으로 수행되도록 함으로써 하나의 최대 부호화 유닛 크기(Maximum CU size)에 대해 최적의 부호화 유닛 크기들을 결정한다. 이와 같은 과정에 의해 각 데이터 단위별로 부호화 유닛의 크기가 결정된 예는 앞서 설명한 도 3과 같다.As described above with reference to FIG. 2, the encoder performs RD cost estimation for four coding units corresponding to the size of a coding unit of a current depth and subsequent depths. By performing this process recursively and repeatedly, optimal coding unit sizes are determined for one maximum coding unit size (Maximum CU size). An example in which the size of the coding unit is determined for each data unit by the above process is as illustrated in FIG. 3.

또한, 부호화 유닛 내의 각 예측 유닛에 대해서는 도 5와 같이 미리 지정된 복수의 예측 모드(prediction mode) 각각에 대해 RD 비용을 산출함으로써 최적의 부호화 모드를 결정한다.In addition, for each prediction unit in the coding unit, an optimal coding mode is determined by calculating RD costs for each of a plurality of predetermined prediction modes as shown in FIG. 5.

RD(Rate-Distortion) 비용 평가시 예측을 수행하게 되며, 예측은 SKIP, Inter, Intra와 같이 3가지 모드에 대해 수행된다. Inter와 Intra 모드의 예측은 파티션 크기별로 각각 Inter 2Nx2N, Inter NxN, Inter 2NxN, Inter Nx2N, Intra 2Nx2N, Intra NxN와 같이 6가지 방법으로 나뉘어 수행한다. 이와 같이 각 예측 유닛(PU)에서는 총 7가지 방법의 RD 비용을 각각 구하고 그 중 제일 좋은 RD 비용을 가지는 모드를 최적 부호화 모드로서 결정하게 된다.When evaluating rate-distortion (RD) cost, prediction is performed, and prediction is performed for three modes such as SKIP, Inter, and Intra. Prediction of Inter and Intra modes is performed in six ways by partition size: Inter 2Nx2N, Inter NxN, Inter 2NxN, Inter Nx2N, Intra 2Nx2N, Intra NxN. In this way, each prediction unit PU obtains a total of seven methods of RD costs, and determines a mode having the best RD cost among them as an optimal coding mode.

여기서, Inter 모드에 해당되는 예측 모드별 RD 비용을 산출하기 위해 종래기술에 따른 부호화기는 도 6에 도시된 바와 같이 모든 예측 유닛에 대해 서브펠 움직임 추정을 수행함으로써 많은 계산량이 요구되는 문제점이 있었다.Here, in order to calculate the RD cost for each prediction mode corresponding to the inter mode, the encoder according to the prior art has a problem that a large amount of computation is required by performing subpel motion estimation for all prediction units as shown in FIG. 6.

이에 비해, 본 실시예에 따른 움직임 추정부(420)는 이전 부호화 유닛의 심도 정보 및 이전 예측 유닛의 파티션 크기 정보 등을 이용하여 현재 부호화 유닛 내의 현재 예측 유닛의 크기가 최종 결정된 이전 예측 유닛의 크기와 일치하는 경우에만 서브펠 움직임 추정을 수행함으로써 부호화 처리를 위한 계산량을 최소화시킬 수 있다. In contrast, the motion estimation unit 420 according to the present embodiment uses the depth information of the previous coding unit and the partition size information of the previous prediction unit to determine the size of the previous prediction unit in which the size of the current prediction unit in the current coding unit is finally determined. By calculating the subpel motion only when it is equal to, it is possible to minimize the amount of computation for the encoding process.

즉, 도 7에 도시된 바와 같이, 참조 프레임(즉, 이전 프레임)의 부호화 모드가 710과 같이 제시된 경우, 이에 일치하는 현재 예측 유닛의 크기(720, 730 및 740)인 경우에만 서브펠 움직임 추정을 수행함으로써 부호화 처리를 위한 계산량을 최소화시킨다.That is, as shown in FIG. 7, when the encoding mode of the reference frame (that is, the previous frame) is presented as 710, the subpel motion estimation is performed only when the sizes 720, 730, and 740 of the current prediction unit corresponding thereto are matched. By minimizing the calculation amount for the encoding process.

이 과정은 하기의 의사코드로서 표시될 수 있다.This process can be represented by the following pseudo code.

Motion_Estimation (depth, index, partition) {Motion_Estimation (depth, index, partition) {

Integer_Pel_motion_estimation();Integer_Pel_motion_estimation ();

if(pre_PU_Size(depth, index, partition) == cur_PU_Size(depth, index, partition)if (pre_PU_Size (depth, index, partition) == cur_PU_Size (depth, index, partition)

Sub_Pel_motion_estimation();Sub_Pel_motion_estimation ();

returnreturn

}
}

본 실시예에 따른 서브펠 움직임 추정 생략 방법이 적용된 부호화기와 종래기술에 따른 부호화기를 이용한 실험 결과가 표 1 및 표 2에 제시되어 있다. Table 1 and Table 2 show the experimental results using the encoder with the subpel motion estimation omitting method according to the present embodiment and the encoder according to the prior art.

참고로, 표 1은 본 실시예에 따른 부호화기를 이용하여 종래 기술에 따른 부호화기와 비교 실험한 결과이고, 표 2는 서브펠 움직임 추정을 전혀 수행하지 않는 부호화기를 이용하여 종래 기술에 따른 부호화기와 비교 실험한 결과이다.For reference, Table 1 is a comparison experiment with the encoder according to the prior art using the encoder according to the present embodiment, Table 2 is compared with the encoder according to the prior art using an encoder that does not perform any subpel motion estimation This is the result of the experiment.

△Bitrate(%)△ Bitrate (%) △Y-PSNR△ Y-PSNR △U-PSNR△ U-PSNR △V-PSNRΔV-PSNR △time(%)△ time (%) KimonoKimono 0.35 0.35 -0.03 -0.03 0.00 0.00 0.00 0.00 -33.04 -33.04 ParksceneParkscene 1.06 1.06 -0.05 -0.05 -0.02 -0.02 -0.01 -0.01 -36.72 -36.72 CactusCactus 1.00 1.00 -0.03 -0.03 0.00 0.00 -0.01 -0.01 -36.90 -36.90 BasketballDriveBasketballdrive 0.70 0.70 -0.02 -0.02 0.02 0.02 0.02 0.02 -33.92 -33.92 BQTarrasBQTarras 1.68 1.68 -0.04 -0.04 -0.02 -0.02 -0.03 -0.03 -39.14 -39.14 AverageAverage 0.96 0.96 -0.03 -0.03 0.00 0.00 -0.01 -0.01 -35.95 -35.95

△Bitrate(%)△ Bitrate (%) △Y-PSNR△ Y-PSNR △U-PSNR△ U-PSNR △V-PSNRΔV-PSNR △time(%)△ time (%) KimonoKimono 0.94 0.94 -0.05 -0.05 0.00 0.00 -0.02 -0.02 -43.44 -43.44 ParksceneParkscene 4.79 4.79 -0.11 -0.11 0.00 0.00 -0.02 -0.02 -43.64 -43.64 CactusCactus 3.10 3.10 -0.07 -0.07 0.02 0.02 0.02 0.02 -42.88 -42.88 BasketballDriveBasketballdrive 3.67 3.67 -0.07 -0.07 0.00 0.00 0.00 0.00 -41.90 -41.90 BQTarrasBQTarras 17.37 17.37 -0.13 -0.13 0.00 0.00 0.01 0.01 -44.40 -44.40 AverageAverage 5.97 5.97 -0.09 -0.09 0.00 0.00 0.00 0.00 -43.25 -43.25

표 1 및 표 2를 대비하여 판단할 때, 본 실시예에 따른 서브펠 움직임 추정 생략 방법이 적용된 부호화기를 이용하는 경우 종래기술에 따른 부호화기에 비해 화질의 열화는 최소화되면서 부호화 처리 속도는 극대화됨을 알 수 있다.
Judging from Tables 1 and 2, it can be seen that when the encoder using the subpel motion estimation elimination method according to the present embodiment is used, the encoding process speed is maximized while the deterioration of image quality is minimized compared to the encoder according to the prior art. have.

도 8은 본 발명의 일 실시예에 따른 부호화기에서 수행되는 서브펠 움직임 추정 생략 방법을 나타낸 도면이다.8 is a diagram illustrating a method of omitting subpel motion estimation performed by an encoder according to an embodiment of the present invention.

도 8을 참조하면, 부호화기는 단계 810에서 RD 비용 산출을 위한 현재 예측 유닛의 예측 모드가 Inter 모드인지를 판단한다.Referring to FIG. 8, in step 810, the encoder determines whether the prediction mode of the current prediction unit for calculating the RD cost is an Inter mode.

만일 현재 예측 유닛의 예측 모드가 Inter 모드가 아닌 경우(예를 들어, SKIP 모드, Intra 모드)라면, 단계 860으로 진행하여 부호화기는 종래기술에 따른 RD 비용 산출 방식에 따라 해당 예측 모드에 대한 RD 비용을 산출한다.If the prediction mode of the current prediction unit is not Inter mode (e.g., SKIP mode, Intra mode), the process proceeds to step 860 where the encoder determines the RD cost for the prediction mode according to the RD cost calculation method according to the prior art. To calculate.

그러나 만일 현재 예측 유닛의 예측 모드가 Inter 모드라면, 단계 820으로 진행하여 부호화기는 현재 예측 유닛의 크기에 대해 정수배 단위로 움직임 추정을 수행한다.However, if the prediction mode of the current prediction unit is Inter mode, the flow proceeds to step 820 where the encoder performs motion estimation on an integer multiple of the size of the current prediction unit.

단계 830에서 현재 예측 유닛의 크기가 최종 결정된 이전 예측 유닛의 크기와 일치하는지 여부를 판단한다. 앞서 설명한 바와 같이, 이전 예측 유닛은 저장된 인덱스 등을 이용하여 식별된 현재 예측 유닛과 동일 위치에 존재하는 이전 프레임 내의 예측 유닛이다.In step 830, it is determined whether the size of the current prediction unit matches the size of the last determined previous prediction unit. As described above, the previous prediction unit is a prediction unit in the previous frame that exists at the same position as the current prediction unit identified using the stored index or the like.

단계 830의 판단 결과로 현재 예측 유닛의 크기가 이전 예측 유닛의 크기와 일치하지 않는 경우라면, 부호화기는 단계 840에서 현재 예측 유닛에 대해 정수배 단위로 움직임 추정만을 수행(단계 820)하여 획득한 움직임 벡터를 최종 움직임 벡터로 생성한다. 즉, 현재 예측 유닛의 크기가 이전 예측 유닛의 크기와 일치하지 않는 경우에는 서브펠 단위 움직임 추정이 생략 처리된다.If the size of the current prediction unit does not match the size of the previous prediction unit as a result of the determination in step 830, the encoder performs only a motion estimation on an integer multiple of the current prediction unit in step 840 (step 820). Is generated as the final motion vector. That is, if the size of the current prediction unit does not match the size of the previous prediction unit, the subpel unit motion estimation is omitted.

그러나 단계 830의 판단 결과로 현재 예측 유닛의 크기가 최종 결정된 이전 예측 유닛의 크기와 일치하는 경우라면, 부호화기는 단계 850에서 현재 예측 유닛에 대해 서브펠 단위의 움직임 추정을 더 수행하여 획득한 움직임 벡터를 최종 움직임 벡터로 생성한다. However, if the size of the current prediction unit matches the size of the last determined previous prediction unit as a result of the determination of step 830, the encoder obtains a motion vector obtained by further performing motion estimation of a subpel unit with respect to the current prediction unit in step 850. Is generated as the final motion vector.

이어서, 단계 860에서 부호화기는 단계 820 내지 단계 850에 의해 생성된 최종 움직임 벡터를 이용하여 지정된 예측 모드에 대한 RD 비용을 산출한다.Then, in step 860, the encoder calculates the RD cost for the specified prediction mode using the final motion vector generated by steps 820 through 850.

단계 870에서 부호화기는 최적의 부호화 모드를 결정하기 위해 지정된 모든 예측 모드들에 대한 RD 비용이 산출되었는지를 판단한다. 만일 지정된 모든 예측 모드에 대한 RD 비용이 산출되지 않은 경우라면 단계 810으로 다시 진행한다.In step 870, the encoder determines whether the RD costs for all the specified prediction modes have been calculated to determine the optimal encoding mode. If the RD costs for all the specified prediction modes have not been calculated, go back to step 810.

그러나 만일 지정된 모든 예측 모드들에 대해 RD 비용이 산출된 경우라면 단계 880으로 진행하여 부호화기는 RD 비용이 최소인 예측 모드를 최적의 부호화 모드로 결정한다.
However, if the RD cost is calculated for all the specified prediction modes, the process proceeds to step 880 where the encoder determines the prediction mode with the least RD cost as the optimal encoding mode.

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

상기에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention as defined in the following claims And changes may be made without departing from the spirit and scope of the invention.

410 : 이전 프레임 정보 저장부
420 : 움직임 추정부
425 : 정수픽셀 탐색부
430 : 판단부
435 : 서브펠 탐색부
440 : 비용 산출부
450 : 최적 모드 결정부
410: previous frame information storage unit
420: motion estimation unit
425 integer pixel search unit
430: judgment
435: subpel search unit
440: cost calculator
450: optimum mode determiner

Claims (16)

부호화기에 있어서,
현재 예측 유닛의 크기가 부호화 모드가 결정된 이전 프레임 내에서 동일 위치에 존재하는 이전 예측 유닛의 크기와 일치하는지 여부를 판단하는 판단부; 및
상기 현재 예측 유닛의 크기가 상기 이전 예측 유닛의 크기와 일치하는 경우에만 서브펠(sub-pel) 단위의 움직임 추정을 수행하는 서브펠 탐색부를 포함하되,
상기 현재 예측 유닛이 현재 프레임 및 현재 부호화 유닛 내에서의 위치 식별과 상기 이전 예측 유닛이 상기 이전 프레임 및 이전 부호화 유닛 내에서의 위치 식별을 위해 인덱스(index)가 각각 이용되는 것을 특징으로 하는 부호화기.
In the encoder,
A determination unit that determines whether the size of the current prediction unit matches the size of the previous prediction unit existing at the same position in the previous frame in which the encoding mode is determined; And
And a subpel search unit that performs motion estimation in sub-pel units only when the size of the current prediction unit matches the size of the previous prediction unit.
And an index is used for the current prediction unit to identify the position in the current frame and the current coding unit, and the previous prediction unit to identify the position in the previous frame and the previous coding unit, respectively.
삭제delete 제1항에 있어서,
상기 판단부는 상기 현재 예측 유닛이 포함된 현재 부호화 유닛의 심도(depth)와 상기 이전 예측 유닛이 포함된 이전 부호화 유닛의 심도가 일치하고, 현재 예측 유닛의 파티션 크기와 이전 예측 유닛의 파티션 크기가 일치하는지 여부로서 상기 현재 예측 유닛의 크기와 상기 이전 예측 유닛의 크기 일치 여부를 판단하는 것을 특징으로 하는 부호화기.
The method of claim 1,
The determination unit may match a depth of a current coding unit including the current prediction unit and a depth of a previous coding unit including the previous prediction unit, and a partition size of the current prediction unit and a partition size of the previous prediction unit match. Determine whether the size of the current prediction unit matches the size of the previous prediction unit.
제3항에 있어서,
상기 이전 부호화 유닛의 심도 및 상기 이전 부호화 유닛에 포함된 상기 이전 예측 유닛의 파티션 크기에 관한 정보를 저장하는 이전 프레임 정보 저장부를 더 포함하는 부호화기.
The method of claim 3,
And a previous frame information storage unit which stores information about a depth of the previous coding unit and a partition size of the previous prediction unit included in the previous coding unit.
제1항에 있어서,
지정된 탐색 영역에서 정수배 단위로 움직임 추정을 하여 정수배 움직임 벡터를 획득하는 정수픽셀 탐색부를 더 포함하되,
상기 서브펠 움직임 추정의 수행 여부에 의해 상기 정수배 움직임 벡터 또는 서브펠 단위의 움직임 벡터가 최종 움직임 벡터로 출력되는 것을 특징으로 하는 부호화기.
The method of claim 1,
An integer pixel search unit may further include an integer pixel search unit configured to obtain an integer multiple motion vector by performing motion estimation in units of multiples of a designated search area.
And an integer motion vector or a motion vector of a subpel unit is output as a final motion vector according to whether the subpel motion estimation is performed.
제5항에 있어서,
상기 최종 움직임 벡터를 이용하여 움직임 추정된 예측 유닛의 예측 모드(prdeiction mode)별 비용값을 산출하는 비용 산출부를 더 포함하는 부호화기.
The method of claim 5,
And a cost calculator configured to calculate a cost value for each prediction mode of the prediction unit of the motion estimation using the final motion vector.
제6항에 있어서,
상기 예측 모드는 Inter 2Nx2N, Inter 2NxN, Inter Nx2N 및 Inter NxN 중 하나 이상인 것을 특징으로 하는 부호화기.
The method according to claim 6,
The prediction mode is at least one of Inter 2Nx2N, Inter 2NxN, Inter Nx2N and Inter NxN.
제6항에 있어서,
상기 비용값은 SAD(Sum of Absolute Difference), SSD(Sum of Squared Difference) 및 SATD(Sum of Absolute Transformed Difference) 중 하나 이상을 사용하여 산출되는 것을 특징으로 하는 부호화기.
The method according to claim 6,
And the cost value is calculated using at least one of a sum of absolut difference (SAD), a sum of squared difference (SSD), and a sum of absolute transformed difference (SATD).
서브펠 움직임 추정 생략 방법에 있어서,
(a) 판단부가 현재 예측 유닛의 크기가 부호화 모드가 결정된 이전 프레임 내에서 동일 위치에 존재하는 이전 예측 유닛의 크기와 일치하는지 여부를 판단하는 단계; 및
(b) 현재 예측 유닛의 파티션 크기가 이전 예측 유닛의 파티션 크기와 일치하는 경우에만, 서브펠(sub-pel) 탐색부가 서브펠 단위의 움직임 추정을 수행하는 단계를 포함하되,
상기 판단부는 상기 현재 예측 유닛이 포함된 현재 부호화 유닛의 심도(depth)와 상기 이전 예측 유닛이 포함된 이전 부호화 유닛의 심도가 일치하고, 현재 예측 유닛의 파티션 크기와 이전 예측 유닛의 파티션 크기가 일치하는지 여부로서 상기 현재 예측 유닛의 크기와 상기 이전 예측 유닛의 크기 일치 여부를 판단하는 것을 특징으로 하는 서브펠 움직임 추정 생략 방법.
In the method of omitting subpel motion estimation,
(a) the determining unit determining whether the size of the current prediction unit matches the size of the previous prediction unit existing at the same position in the previous frame in which the encoding mode is determined; And
(b) the sub-pel searcher performing a motion estimation of the subpel unit only if the partition size of the current prediction unit matches the partition size of the previous prediction unit,
The determination unit may match a depth of a current coding unit including the current prediction unit and a depth of a previous coding unit including the previous prediction unit, and a partition size of the current prediction unit and a partition size of the previous prediction unit match. And determining whether the size of the current prediction unit coincides with the size of the previous prediction unit.
삭제delete 제9항에 있어서,
상기 이전 부호화 유닛의 심도 및 상기 이전 부호화 유닛에 상응하는 상기 이전 예측 유닛의 파티션 크기에 관한 정보가 이전 프레임 정보 저장부에 저장되는 단계가 상기 단계 (a)에 선행하는 것을 특징으로 하는 서브펠 움직임 추정 생략 방법.
10. The method of claim 9,
Subpel movement, characterized in that the information on the depth of the previous coding unit and the partition size of the previous prediction unit corresponding to the previous coding unit is stored in a previous frame information storage unit before step (a). Estimation skip method.
제9항에 있어서,
상기 현재 예측 유닛이 현재 프레임 및 현재 부호화 유닛 내에서의 위치 식별과 상기 이전 예측 유닛이 상기 이전 프레임 및 이전 부호화 유닛 내에서의 위치 식별을 위해 인덱스(index)가 각각 이용되는 것을 특징으로 하는 서브펠 움직임 추정 생략 방법.
10. The method of claim 9,
An index is used for the current prediction unit to identify the position in the current frame and the current coding unit and the previous prediction unit to identify the position in the previous frame and the previous coding unit, respectively. How to omit motion estimation.
제9항에 있어서,
상기 단계 (b) 이전에 상기 서브펠 단위의 움직 추정을 수행하는 지정된 탐색 영역에서 정수배 단위로 움직임 추정을 하여 정수배 움직임 벡터를 획득하는 단계가 수행되고,
상기 서브펠 움직임 추정의 수행 여부에 의해 상기 정수배 움직임 벡터 또는 서브펠 단위의 움직임 벡터가 최종 움직임 벡터로 출력되는 것을 특징으로 하는 서브펠 움직임 추정 생략 방법.
10. The method of claim 9,
Prior to the step (b), a step of acquiring an integer multiple motion vector by performing motion estimation in integral units in a designated search area for performing motion estimation in the subpel unit,
The subpel motion estimation omission method according to claim 1, wherein the integer motion vector or the motion vector of a subpel unit is output as a final motion vector according to whether the subpel motion estimation is performed.
제13항에 있어서,
상기 최종 움직임 벡터를 이용하여 움직임 추정된 예측 유닛의 예측 모드(prdeiction mode)별 비용값이 산출되는 것을 특징으로 서브펠 움직임 추정 생략 방법.
The method of claim 13,
And calculating a cost value for each prediction mode of the prediction unit of the motion estimation using the final motion vector.
제14항에 있어서,
상기 예측 모드는 Inter 2Nx2N, Inter 2NxN, Inter Nx2N 및 Inter NxN 중 하나 이상인 것을 특징으로 하는 서브펠 움직임 추정 생략 방법.
15. The method of claim 14,
And the prediction mode is at least one of Inter 2Nx2N, Inter 2NxN, Inter Nx2N, and Inter NxN.
제14항에 있어서,
상기 비용값은 SAD(Sum of Absolute Difference), SSD(Sum of Squared Difference) 및 SATD(Sum of Absolute Transformed Difference) 중 하나 이상을 사용하여 산출되는 것을 특징으로 하는 서브펠 움직임 추정 생략 방법.
15. The method of claim 14,
And the cost value is calculated using at least one of a sum of absolut difference (SAD), a sum of squared difference (SSD) and a sum of absolute transformed difference (SATD).
KR1020120008175A 2012-01-27 2012-01-27 Encoder and method for skipping sub-pel motion estimation KR101337345B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120008175A KR101337345B1 (en) 2012-01-27 2012-01-27 Encoder and method for skipping sub-pel motion estimation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120008175A KR101337345B1 (en) 2012-01-27 2012-01-27 Encoder and method for skipping sub-pel motion estimation

Publications (2)

Publication Number Publication Date
KR20130087133A KR20130087133A (en) 2013-08-06
KR101337345B1 true KR101337345B1 (en) 2013-12-06

Family

ID=49214042

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120008175A KR101337345B1 (en) 2012-01-27 2012-01-27 Encoder and method for skipping sub-pel motion estimation

Country Status (1)

Country Link
KR (1) KR101337345B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015147514A1 (en) * 2014-03-28 2015-10-01 경희대학교산학협력단 Apparatus for encoding video using depth information and method therfor
KR20150114357A (en) * 2014-03-28 2015-10-12 경희대학교 산학협력단 Method and apparatus for encoding of 2demensional video using depth image

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112637592B (en) * 2020-12-11 2024-07-05 百果园技术(新加坡)有限公司 Video predictive coding method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050117729A (en) * 2004-06-11 2005-12-15 삼성전자주식회사 Motion estimation method and apparatus thereof
KR20060057993A (en) * 2004-11-24 2006-05-29 한국전자통신연구원 Fast determining method of block mode, and the apparatus therefor motion estimation
KR20090012986A (en) * 2007-07-30 2009-02-04 한국정보통신대학교 산학협력단 A fast inter-layer prediction mode decision method in scalable video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050117729A (en) * 2004-06-11 2005-12-15 삼성전자주식회사 Motion estimation method and apparatus thereof
KR20060057993A (en) * 2004-11-24 2006-05-29 한국전자통신연구원 Fast determining method of block mode, and the apparatus therefor motion estimation
KR20090012986A (en) * 2007-07-30 2009-02-04 한국정보통신대학교 산학협력단 A fast inter-layer prediction mode decision method in scalable video coding

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015147514A1 (en) * 2014-03-28 2015-10-01 경희대학교산학협력단 Apparatus for encoding video using depth information and method therfor
KR20150114357A (en) * 2014-03-28 2015-10-12 경희대학교 산학협력단 Method and apparatus for encoding of 2demensional video using depth image
KR101603414B1 (en) 2014-03-28 2016-03-15 경희대학교 산학협력단 Method and apparatus for encoding of 2demensional video using depth image
US9769498B2 (en) 2014-03-28 2017-09-19 University-Industry Cooperation Group Of Kyung Hee University Method and apparatus for encoding of video using depth information
US10051287B2 (en) 2014-03-28 2018-08-14 University-Industry Cooperation Group Of Kyung Hee University Method and apparatus for encoding of video using depth information

Also Published As

Publication number Publication date
KR20130087133A (en) 2013-08-06

Similar Documents

Publication Publication Date Title
KR101538837B1 (en) Multiple sign bit hiding within a transform unit
KR102111768B1 (en) Method and apparatus for encoding video, and method and apparatus for decoding video with changing scan order according to hierarchical coding unit
EP3560199A1 (en) Low-complexity sign prediction for video coding
KR102070431B1 (en) Method and apparatus for encoding video with restricting bi-directional prediction and block merging, method and apparatus for decoding video
KR20110044487A (en) Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit
KR20200090985A (en) Image prediction method and device
JP2013514718A (en) Video coding method and apparatus
CN108989799B (en) Method and device for selecting reference frame of coding unit and electronic equipment
KR102169610B1 (en) Method and apparatus for determining intra prediction mode
KR102088383B1 (en) Method and apparatus for encoding and decoding video
CN113709462B (en) Encoding and decoding method, device and equipment
KR20140016983A (en) Run-mode based coefficient coding for video coding
CN113810686B (en) Encoding and decoding method, device and equipment
KR102435493B1 (en) Method and apparatus for encoding/decoding a video signal
KR101337345B1 (en) Encoder and method for skipping sub-pel motion estimation
RU2707719C1 (en) Scanning order selection method and device
KR101305093B1 (en) Method and encoder for determining transform unit size
KR20130050863A (en) Method and apparatus for video encoding with prediction and compensation using reference picture list, method and apparatus for video decoding with prediction and compensation using reference picture list
CN110876057B (en) Inter-frame prediction method and device
KR101926017B1 (en) Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit
KR20160106348A (en) Video Coding Method and Apparatus thereof
KR101516947B1 (en) Apparatus and Method of Early Decision of Transform unit for HEVC
KR101687283B1 (en) Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit
KR101662742B1 (en) Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit
CN114071159B (en) Inter prediction method, encoder, decoder, and computer-readable storage medium

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170926

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181105

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190905

Year of fee payment: 7