WO2013009029A2 - Method and apparatus for setting the size of an encoding unit - Google Patents

Method and apparatus for setting the size of an encoding unit Download PDF

Info

Publication number
WO2013009029A2
WO2013009029A2 PCT/KR2012/005299 KR2012005299W WO2013009029A2 WO 2013009029 A2 WO2013009029 A2 WO 2013009029A2 KR 2012005299 W KR2012005299 W KR 2012005299W WO 2013009029 A2 WO2013009029 A2 WO 2013009029A2
Authority
WO
WIPO (PCT)
Prior art keywords
coding unit
depth
size
prediction mode
unit
Prior art date
Application number
PCT/KR2012/005299
Other languages
French (fr)
Korean (ko)
Other versions
WO2013009029A3 (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 한양대학교 산학협력단
Publication of WO2013009029A2 publication Critical patent/WO2013009029A2/en
Publication of WO2013009029A3 publication Critical patent/WO2013009029A3/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present invention relates to a method and apparatus for determining a size of a coding unit (CU).
  • CU coding unit
  • a limited encoding method is applied based on a macroblock having a predetermined size in encoding video data.
  • HEVC High Efficiency Video Coding
  • CU coding unit
  • PU Prediction Unit
  • TU Transform Unit
  • the concept uses a hierarchical video compression scheme. 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.
  • FIG. 1A is a diagram illustrating coding units (CUs) and prediction units (PUs) for each depth presented by HEVC
  • FIG. 1B is a diagram illustrating a relationship between coding units and transformation units (TUs)
  • FIG. 2 is conventional.
  • FIG. 3 is a diagram illustrating a process of determining a size of a coding unit for each data unit according to a technology
  • FIG. 3 is a diagram illustrating an example in which a size of a coding unit is determined for each data unit.
  • the depth refers to a step of hierarchically dividing a coding unit (CU), and as the depth increases, the coding unit for each depth is determined from the maximum coding unit (for example, 64 x 64) to the minimum coding unit ( For example, up to 8 x 8).
  • Depth can be expressed from the upper depth (for example, depth 0) to the lower depth (for example, depth 3), and as the depth increases, the number of splits of the maximum coding unit increases, and the maximum coding is performed.
  • the total number of divisible units corresponds to the maximum depth.
  • the maximum size and the maximum depth of the coding unit may be preset.
  • FIG. 1A illustrates a case where a maximum height and width of a coding unit is 64 and a maximum depth is 3 as a hierarchical structure of a coding unit. As shown, the size of the largest coding unit 110 at the highest depth (that is, depth 0) may be represented as 64 ⁇ 64.
  • the processor 140 divides the image into a size of a coding unit having a size of 8 ⁇ 8 at a depth of 3, which is the lowest depth.
  • an 8 x 8 coding unit of depth 3 may be referred to as a minimum coding unit.
  • a prediction unit which is a partial data unit that is the basis of prediction encoding of each deeper 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 64 x 64 having a depth of 0 includes a 64 x 64 partial data unit, a 64 x 32 partial data unit, and a 32 x 64 size included in a 64 x 64 coding unit. It may be a partial data unit of, 32x32 partial data unit and the like. Accordingly, the coding unit may be represented by a data unit that is a square having a minimum size including each partial data unit.
  • a 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 of 16x16 size.
  • the prediction unit of the coding unit 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 illustrates a relationship between coding units and transformation units.
  • the encoding apparatus encodes an image in a coding unit having a size smaller than or equal to the maximum coding unit for each maximum coding unit.
  • 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.
  • frequency conversion may be performed using a 32 ⁇ 32 transform unit.
  • the transform unit having the least error with the original may be selected.
  • the encoding apparatus considering the depth-based coding unit illustrated in FIG. 1A should perform encoding for each coding unit of each depth included in the maximum coding unit 110. As a result, as shown in FIG. 2, the size of a coding unit for each data unit may be determined.
  • each of the coding units having one depth 1 and four coding units having four depths 2 should be encoded.
  • each data unit is applied after applying both a prediction mode and a transform mode at each depth to obtain the best coding gain.
  • the size of the optimal coding unit (CU), the prediction unit (PU), and the transformation unit (TU) are determined according to stars (that is, from 64 x 64 data units to 8 x 8 data units).
  • the coding unit for each data unit determined by this is illustrated in FIG. 2.
  • the encoding apparatus determines the optimal cost to determine the size of the coding unit for each data unit. At least 1xCU0 + 4xCU1 + 16xCU2 + 64xCU3 must be processed.
  • An object of the present invention is to provide a method and apparatus for determining a size of a coding unit to shorten a coding time for video data in all devices using an encoder.
  • An object of the present invention is to provide a method and apparatus for determining a size of a coding unit, which enables to determine a size of a coding unit for each data unit for a coding process quickly and with low complexity.
  • an encoding apparatus for performing a method of determining a size of a coding unit is provided.
  • An encoding apparatus includes a prediction mode determiner configured to determine a prediction mode for a coding unit (CU) at a current depth; And a determination unit for omitting determination of a coding unit of a lower depth and determining a size of a coding unit of a current depth as the size of an optimal coding unit when the determined prediction mode matches a predetermined threshold. Can be.
  • the determination unit instructs the prediction mode determination unit to determine the prediction mode for the next lower depth, and the prediction mode determined at the next lower depth matches the threshold.
  • the size of the coding unit may be determined as the size of the optimal coding unit.
  • the determination unit determines the size of the coding unit having the least cost among the costs for the coding units at each depth. Can be determined.
  • the cost may be a calculation result of a predetermined cost function for evaluating a rate-distortion cost.
  • the threshold may be preset to include one or more of SKIP, Inter 2Nx2N, Inter 2NxN, Inter Nx2N, and Inter NxN.
  • the width and width of the coding unit of the current depth may be twice each of the width and the width of the coding unit of the next lower depth.
  • a method of determining a size of a coding unit provided by an encoding apparatus is provided.
  • a method of determining an optimal coding unit size performed in an encoding apparatus includes determining a prediction mode for a coding unit (CU) at a current depth; Determining whether the determined prediction mode matches a predetermined threshold; And if it matches, omitting determination of the coding unit of the lower depth and determining the size of the coding unit of the current depth as the size of the optimal coding unit.
  • the method of determining an optimal coding unit size may include: instructing the prediction mode determiner to determine a prediction mode for a next lower depth when the prediction mode determined for the current depth does not match the threshold value; Determining whether a prediction mode determined at a lower depth coincides with the threshold value; And if it matches, determining the size of the corresponding coding unit in the next lower depth as the size of the optimal coding unit.
  • the method of determining an optimal coding unit size may include: a size of a coding unit having a minimum cost among coding units at each depth when prediction modes determined at each depth up to the lowest depth are inconsistent with the threshold value.
  • the method may further include determining a size of an optimal coding unit.
  • the cost may be a calculation result of a predetermined cost function for evaluating a rate-distortion cost.
  • the threshold may be preset to include one or more of SKIP, Inter 2Nx2N, Inter 2NxN, Inter Nx2N, and Inter NxN.
  • the width and width of the coding unit of the current depth may be twice each of the width and the width of the coding unit of the next lower depth.
  • all devices using the encoder can reduce the encoding time for video data.
  • 1A is a diagram illustrating coding units (CUs) and prediction units (PUs) for each depth presented by HEVC.
  • 1B is a diagram illustrating a relationship between a coding unit and a transformation unit (TU).
  • FIG. 2 is a diagram illustrating a process for determining a size of a coding unit for each data unit according to the prior art.
  • FIG. 3 is a diagram illustrating an example in which a size of a coding unit is determined for each data unit.
  • FIG. 4 is a diagram schematically illustrating a configuration of a coding unit determination unit according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating a processing procedure for determining the size of a coding unit for each data unit according to an embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a coding unit determination method according to an embodiment of the present invention.
  • first and second 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.
  • ... unit ... group”, “... unit”, “... module”, “... block”, etc. described in the specification mean a unit that processes at least one function or operation. It may be implemented in software or a combination of hardware and software.
  • hierarchical coding units are used to consider the image characteristics in applying the method of determining the size of the coding unit, and the maximum height, the width, and the 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, for convenience of description, a 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.
  • FIG. 4 is a diagram schematically illustrating a configuration of a coding unit determination unit according to an embodiment of the present invention
  • FIG. 5 is a flowchart illustrating a process for determining the size of a coding unit for each data unit according to an embodiment of the present invention.
  • the coding unit determination unit included in the encoder may include a prediction mode determiner 410, a determiner 420, a cost evaluator 430, and an output unit 440.
  • a prediction mode determiner 410 the prediction mode of the encoder
  • a determiner 420 the determiner 420
  • a cost evaluator 430 the cost evaluator 430
  • an output unit 440 the output unit 440.
  • one or more components included in the coding unit determination unit may be implemented in one or more forms of an algorithm, a software program, and the like implemented by a combination of program codes.
  • the prediction mode determiner 410 determines a prediction mode for a coding unit (CU) at a current depth.
  • the prediction mode determined by the prediction mode determiner 410 may be a value for any one of a SKIP mode, an intra mode, and an inter mode, and specifically, the prediction mode is, for example, SKIP. , Inter 2Nx2N, Inter 2NxN, Inter Nx2N, Inter NxN, etc. may be specified.
  • the method of determining the prediction mode for any coding unit or data unit by the prediction mode determiner 410 is obvious to those skilled in the art, and a description thereof will be omitted.
  • the determination unit 420 determines whether the prediction mode of the coding unit of the current depth determined by the prediction mode determination unit 410 matches a predetermined threshold value (eg, the SKIP mode).
  • the threshold may be pre-specified as one or more of the determinable prediction modes. For example, if the determinable prediction mode is SKIP, Inter 2Nx2N, Inter 2NxN, Inter Nx2N, Inter NxN, one or more of them may be the threshold. Can be specified.
  • the determination unit 420 skips the review of the lower depth and sizes the current coding unit. Is determined as the size of an optimal coding unit.
  • the prediction mode determiner 410 instructs the determination of the prediction mode for the coding unit of the next lower depth, and the prediction mode at the newly determined next lower depth. Determine whether or not to search for a coding unit of a new lower-depth depth as whether or not is equal to the threshold. This is repeated to the lowest depth.
  • the determination unit 420 may determine the RD cost ( Rate-Distortion Cost) is used to determine the coding unit size of the data unit having the minimum cost as the optimal coding unit size.
  • the cost evaluator 430 performs a cost evaluation by applying a predetermined cost function to each data unit.
  • the cost evaluator 430 may use, for example, a rate-distortion cost function for cost evaluation.
  • the cost evaluator 430 may be included as a component of the determiner 420. Since the method for performing the cost evaluation using a predetermined cost function in the cost evaluator 430 is obvious to those skilled in the art, a description thereof will be omitted.
  • the output unit 440 outputs encoding information for each coding unit according to the determination result of the determination unit 420.
  • the encoding information may include, for example, split information about a coding unit (for example, a coding depth of a corresponding coding unit), partition type information (for example, 2N ⁇ 2N and 2N, which are partition types of a transformation unit in a coding unit). information such as one of x N, N x 2N, and N x N), prediction mode information (e.g., one of intra mode, inter mode, and skip mode), transform unit size information, and the like. Can be.
  • parent_cost CU_processing (depth, index)
  • Best_CU CU (depth)
  • Best_CU CU (depth + 1)
  • HEVC applies a recursive structure to determine the size of an optimal coding unit.
  • the HEVC encoding apparatus performs four RD cost evaluations on the coding unit sizes of the current depth and the coding unit sizes at the next lower depth.
  • an optimal coding unit is determined for each data unit with respect to one maximum coding unit size.
  • a pseudo code illustrating a method of determining a size of a coding unit according to the present embodiment is as follows.
  • parent_cost CU_processing (depth, index)
  • Best_CU CU (depth)
  • Best_CU CU (depth)
  • Best_CU CU (depth + 1)
  • the coding unit size determination method determines whether to search for a next lower depth based on whether a prediction mode determined from the coding unit size of the current depth corresponds to a predetermined threshold. It is characteristic to decide to choose.
  • the search for the lower depths is stopped (that is, the search for the remaining depth is omitted) and the current depth is decreased. It is possible to quickly determine the optimal coding unit size by determining the coding unit size of the optimal coding unit size.
  • the size of the coding unit of the corresponding depth is optimal in the data unit. It is determined by the size of the coding unit, and the search for the next lower depth is omitted.
  • the threshold value is based on a prediction mode that may be determined based on the coding unit size of the current depth, and the target may be, for example, SKIP, Inter 2Nx2N, Inter 2NxN, Inter Nx2N, or Inter NxN.
  • the threshold value may be selected in consideration of the time complexity reduction rate and the bitrate growth rate. However, when the SKIP mode is selected as the threshold as described below, it is experimentally confirmed that the optimum bitrate increase rate and the time decrease rate are shown, but the selection target of the threshold value is not limited to the SKIP mode.
  • the setting form of the threshold value may be more diverse.
  • the threshold is not limited to any one, and it is natural that two or more prediction modes may be set as the threshold depending on the purpose. If the threshold is specified as the SKIP mode and Inter 2Nx2N, if the prediction mode determined at any depth is one of the SKIP mode and Inter 2Nx2N as the threshold, the size of the coding unit of the depth is the optimal coding unit in the data unit. It is determined by the size of, and the search for the next lower depth is omitted.
  • a comparison experiment result of designating a threshold value as a SKIP mode is presented as follows.
  • the comparison target was applied with the MPEG-H HEVC test model 3.0.
  • Table 1 shows the comparative experiment environment
  • Table 2 shows the experimental results according to the low-delay scenario
  • Table 3 shows the experimental results according to the random-access scenario Indicates.
  • the method of determining an optimal coding unit according to the present embodiment shows a time saving effect of about 40% compared to the MPEG-H HEVC test model 3.0, but compared with the bitrate. 0.5% decrease, PSNR 0.04dB decrease can be seen.
  • FIG. 6 is a flowchart illustrating a coding unit determination method according to an embodiment of the present invention.
  • the coding unit determination unit determines a coding mode for a coding unit size of a current depth.
  • the coding unit determination unit determines whether the determined encoding mode matches the encoding mode previously designated as a threshold. As described above, one or more encoding modes may be designated as thresholds.
  • step 630 If the encoding mode determined at the corresponding depth matches the encoding mode previously determined as the threshold, the flow proceeds to step 630 to stop searching for the next lower depth and determine the size of the encoding mode of the current depth as the optimal encoding mode size.
  • step 640 determines whether the current depth at which the processing of steps 610 and 620 is performed is for the lowest depth.
  • the depth is increased by 1 and then the process proceeds to step 610 to search for the next lower depth.
  • step 650 the coding unit determining unit is optimally encoded for each data unit to have a minimum cost by using the cost value as in the method of determining the optimal coding mode according to the prior art. Determine the unit size.
  • the above-described method of determining the size of a coding unit may be performed by an automated procedure according to a time series order by a software program or the like embedded in the encoder. Codes and code segments constituting the program can be easily inferred by a computer programmer in the art.
  • 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.

Landscapes

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

Abstract

Disclosed are a method, and an apparatus, for setting the size of an encoding unit. The encoding apparatus according to the present invention may comprise: a prediction mode setting part which sets a prediction mode for the encoding unit in a present depth; and a determining part which, if the above-set prediction mode corresponds to a predetermined threshold value, omits a determination on an encoding unit of a sub-depth and sets the size of the encoding unit of the present depth to be the size of an optimum encoding unit. The method and apparatus of the present invention exhibit the effect of enabling the time required for encoding motion pictures to be shortened in all devices which use the encoding apparatus.

Description

부호화 단위의 크기 결정 방법 및 장치Method and apparatus for determining the size of coding units
본 발명은 부호화 단위(CU, Coding Unit)의 크기 결정 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for determining a size of a coding unit (CU).
다양한 멀티미디어 기기의 발전과 디지털 멀티미디어 방송 서비스의 일반화 등으로 인해 고화질 동영상 서비스에 대한 수요가 증가하고 있다. 이를 위해, 고해상도의 비디오 컨텐츠를 재생하고 저장할 수 있는 기기의 개발 및 보급이 가속화되고 있으며, 또한 고해상도의 비디오 컨텐츠를 효과적으로 부호화하거나 복호화하는 비디오 코덱의 개발이 진행되고 있다.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.
이러한 제한을 극복하고 보다 효과적인 부호화가 가능하도록 하기 위해, 차세대 동영상 부호화 기술인 HEVC(High Efficiency Video Coding)에서는 예측(Prediction) 및 변환(Transform)의 기본 단위가 되는 부호화 단위(CU, Coding Unit)의 크기(size)를 예를 들어 64 x 64부터 8 x 8까지 이용하고 있으며, 또한 부호화 단위(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. 17091720, Dec. 2010).In order to overcome these limitations and enable more efficient encoding, the next-generation video coding technology, HEVC (High Efficiency Video Coding), has a size of a coding unit (CU) that is a basic unit of prediction and transformation. (size) is used, for example, from 64 x 64 to 8 x 8, and also has three blocks: Coding Unit (CU), Prediction Unit (PU), and Transform Unit (TU). The concept uses a hierarchical video compression scheme. 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. 17091720, Dec. 2010).
도 1a는 HEVC에서 제시하는 심도(depth)별 부호화 단위(CU) 및 예측 단위(PU)를 나타낸 도면이고, 도 1b는 부호화 단위 및 변환 단위(TU)의 관계를 나타낸 도면이며, 도 2는 종래 기술에 따른 데이터 단위별 부호화 단위의 크기를 결정하기 위한 처리 과정을 나타낸 도면이고, 도 3은 각 데이터 단위별로 부호화 단위의 크기가 결정된 예를 나타낸 도면이다.FIG. 1A is a diagram illustrating coding units (CUs) and prediction units (PUs) for each depth presented by HEVC, FIG. 1B is a diagram illustrating a relationship between coding units and transformation units (TUs), and FIG. 2 is conventional. FIG. 3 is a diagram illustrating a process of determining a size of a coding unit for each data unit according to a technology, and FIG. 3 is a diagram illustrating an example in which a size of a coding unit is determined for each data unit.
여기서, 심도(depth)란 부호화 단위(CU)가 계층적으로 분할되는 단계를 의미하고, 심도가 깊어질수록 심도별 부호화 단위는 최대 부호화 단위(예를 들어, 64 x 64)로부터 최소 부호화 단위(예를 들어, 8 x 8)까지 분할될 수 있다. 상위 심도(예를 들어, 심도 0)로부터 하위 심도(예를 들어, 심도 3)의 방향으로 심도가 깊어진다고 표현될 수 있으며, 심도가 깊어짐에 따라 최대 부호화 단위의 분할 횟수가 증가하고, 최대 부호화 단위의 분할 가능한 총 횟수는 최대 심도로 대응된다. 부호화 단위의 최대 크기 및 최대 심도가 미리 설정되어 있을 수 있다.Here, the depth refers to a step of hierarchically dividing a coding unit (CU), and as the depth increases, the coding unit for each depth is determined from the maximum coding unit (for example, 64 x 64) to the minimum coding unit ( For example, up to 8 x 8). Depth can be expressed from the upper depth (for example, depth 0) to the lower depth (for example, depth 3), and as the depth increases, the number of splits of the maximum coding unit increases, and the maximum coding is performed. The total number of divisible units corresponds to the maximum depth. The maximum size and the maximum depth of the coding unit may be preset.
도 1a에는 부호화 단위의 계층 구조로서 부호화 단위의 최대 높이 및 너비가 64이며, 최대 심도가 3인 경우가 도시되어 있다. 도시된 바와 같이, 최상위 심도(즉, 심도 0)에서의 최대 부호화 단위(110)의 크기는 64 x 64로 표현될 수 있다.FIG. 1A illustrates a case where a maximum height and width of a coding unit is 64 and a maximum depth is 3 as a hierarchical structure of a coding unit. As shown, the size of the largest coding unit 110 at the highest depth (that is, depth 0) may be represented as 64 × 64.
부호화 단위의 계층 구조의 세로축을 따라 심도가 깊어지며, 이에 따라 심도별 부호화 단위의 높이 및 너비가 각각 분할된다. 따라서, 최상위 심도인 심도 0에서의 최대 부호화 단위의 크기인 64 x 64는 심도 1에서 32 x 32인 부호화 단위의 크기로 분할(120)되고, 심도 2에서 16 x 16인 부호화 단위의 크기로 분할(130)되고, 최하위 심도인 심도 3에서 8 x 8인 부호화 단위의 크기로 분할(140)된다. 여기서, 심도 3의 8 x 8 크기의 부호화 단위는 최소 부호화 단위라 지칭될 수 있다.A depth deepens along a vertical axis of a hierarchical structure of a coding unit, and thus, a height and a width of a coding unit for each depth are divided. Therefore, 64 x 64, which is the size of the largest coding unit at depth 0, which is the highest depth, is divided into a size of a coding unit having a depth of 1 at 32 x 32 (120), and is divided into a size of a coding unit having a depth of 16 x 16 at depth 2. In operation 130, the processor 140 divides the image into a size of a coding unit having a size of 8 × 8 at a depth of 3, which is the lowest depth. Here, an 8 x 8 coding unit of depth 3 may be referred to as a minimum coding unit.
또한, 부호화 단위의 계층 구조의 가로축을 따라, 각각의 심도별 부호화 단위의 예측 부호화의 기반이 되는 부분적 데이터 단위인 예측 단위(PU)가 도시되어 있다. 즉, 심도 0의 크기 64 x 64의 부호화 단위(110)의 예측 단위는, 크기 64 x 64의 부호화 단위에 포함되는 64 x 64 크기의 부분적 데이터 단위, 64x32 크기의 부분적 데이터 단위, 32 x 64 크기의 부분적 데이터 단위, 32x32 크기의 부분적 데이터 단위 등일 수 있다. 따라서, 부호화 단위는 각 부분적 데이터 단위들을 포함하는 최소 크기의 정사각형인 데이터 단위로 표현될 수도 있다.Also, a prediction unit (PU), which is a partial data unit that is the basis of prediction encoding of each deeper 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 64 x 64 having a depth of 0 includes a 64 x 64 partial data unit, a 64 x 32 partial data unit, and a 32 x 64 size included in a 64 x 64 coding unit. It may be a partial data unit of, 32x32 partial data unit and the like. Accordingly, the coding unit may be represented by a data unit that is a square having a minimum size including each partial data unit.
마찬가지로, 심도 1의 32x32 크기의 부호화 단위의 예측 단위는 32x32 크기의 부분적 데이터 단위, 32x16 크기의 부분적 데이터 단위, 16x32 크기의 부분적 데이터 단위, 16x16 크기의 부분적 데이터 단위 등일 수 있고, 심도 2의 16x16 크기의 부호화 단위의 예측 단위는 16x16 크기의 부분적 데이터 단위, 16x8 크기의 부분적 데이터 단위, 8x16 크기의 부분적 데이터 단위, 8x8 크기의 부분적 데이터 단위 등일 수 있다.Similarly, a 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 of 16x16 size. The prediction unit of the coding unit 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 illustrates a relationship between coding units and transformation units.
부호화 장치는 최대 부호화 단위마다 최대 부호화 단위보다 작거나 같은 크기의 부호화 단위로 영상을 부호화하며. 부호화 과정에서 주파수 변환을 위한 변환 단위(TU)의 크기는 각각의 부호화 단위보다 크지 않은 데이터 단위를 기반으로 선택될 수 있다. The encoding apparatus encodes an image in 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.
예를 들어, 현재 부호화 단위가 64 x 64 크기인 경우를 가정할 때, 32 x 32 크기의 변환 단위를 이용하여 주파수 변환이 수행될 수 있다. 또한, 64x64 크기의 부호화 단위의 데이터를 64x64 크기 이하인 32x32, 16x16, 8x8, 4x4 크기의 변환 단위들로 각각 주파수 변환을 수행하여 부호화한 후, 원본과의 오차가 가장 적은 변환 단위가 선택될 수도 있다.For example, assuming that the current coding unit is 64 × 64 size, frequency conversion may be performed using a 32 × 32 transform unit. In addition, after data of 64x64 size coding unit is encoded by performing frequency transformation on 32x32, 16x16, 8x8, and 4x4 size transform units having 64x64 size or less, the transform unit having the least error with the original may be selected. .
도 1a에 도시된 심도별 부호화 단위가 고려되는 부호화 장치는 최대 부호화 단위(110)에 대한 부호화 심도를 결정하기 위해, 최대 부호화 단위(110)에 포함된 각 심도의 부호화 단위마다 부호화를 수행하여야 하며, 이러한 결과로서 도 2에 도시된 바와 같이 각 데이터 단위에 대한 부호화 단위의 크기가 결정될 수 있다.In order to determine the coding depth for the maximum coding unit 110, the encoding apparatus considering the depth-based coding unit illustrated in FIG. 1A should perform encoding for each coding unit of each depth included in the maximum coding unit 110. As a result, as shown in FIG. 2, the size of a coding unit for each data unit may be determined.
이때, 동일한 범위 및 크기의 데이터를 포함하기 위한 심도별 부호화 단위의 개수는 심도가 깊어질수록 심도별 부호화 단위의 개수도 증가한다. 예를 들어, 심도 1의 부호화 단위 한 개가 포함하는 데이터에 대해서, 심도 2의 부호화 단위는 네 개가 필요하다. 따라서, 동일한 데이터의 부호화 결과를 심도별로 비교하기 위해서, 한 개의 심도 1의 부호화 단위 및 네 개의 심도 2의 부호화 단위를 이용하여 각각 부호화되어야 한다. At this time, as the depth of the number of coding units according to depths for including data having the same range and size increases, the number of coding units according to depths also increases. For example, four coding 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에 도시된 바와 같이 HEVC에서는 최선의 코딩 이득(Best Coding gain)을 얻기 위해 각각의 심도에서의 예측 모드(prediction mode)와 변환 모드(transform mode)를 모두 적용시켜 본 뒤 각 데이터 단위별(즉, 64 x 64 크기의 데이터 단위부터 8 x 8 크기의 데이터 단위까지) 최적의 부호화 단위(CU)의 크기와 이에 따른 예측 단위(PU) 및 변환 단위(TU)를 결정한다. 이에 의해 최적으로 결정된 각 데이터 단위별 부호화 단위가 도 2에 도시되어 있다.That is, as shown in FIG. 2, in HEVC, each data unit is applied after applying both a prediction mode and a transform mode at each depth to obtain the best coding gain. The size of the optimal coding unit (CU), the prediction unit (PU), and the transformation unit (TU) are determined according to stars (that is, from 64 x 64 data units to 8 x 8 data units). The coding unit for each data unit determined by this is illustrated in FIG. 2.
그러나, 종래기술에서 제시하는 방식으로 부호화 단위(CU)의 크기를 결정하는 방법에 따를 때, 다양한 부호화 단위 크기를 고려함으로써 최적의 부호화 기본 단위를 결정할 수는 있지만, 그 결정 과정에서 지나치게 복잡도가 증가되는 문제가 발생된다. 예를 들어 도 2에 도시된 바와 같이 최하위 심도가 3이고 최대 부호화 단위의 크기가 64 x 64인 경우, 부호화 장치는 최적의 비용(cost)을 결정하여 데이터 단위별 부호화 단위의 크기를 결정하기 위해 적어도 1xCU0 + 4xCU1 + 16xCU2 + 64xCU3의 수량에 해당하는 처리를 실시하여야 한다.However, according to the method of determining the size of a coding unit (CU) by the method proposed in the prior art, although it is possible to determine the optimal coding base unit 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 64 × 64, the encoding apparatus determines the optimal cost to determine the size of the coding unit for each data unit. At least 1xCU0 + 4xCU1 + 16xCU2 + 64xCU3 must be processed.
따라서, 최적의 부호화 단위의 크기를 신속하고 적은 복잡도로서 결정하기 위한 방안이 요구된다.Therefore, a method for determining the size of an optimal coding unit as fast and with low complexity is required.
본 발명은 부호화기를 사용하는 모든 기기에서 비디오 데이터에 대한 부호화 시간을 단축할 수 있도록 하는 부호화 단위의 크기 결정 방법 및 장치를 제공하기 위한 것이다.An object of the present invention is to provide a method and apparatus for determining a size of a coding unit to shorten a coding time for video data in all devices using an encoder.
본 발명은 부호화 처리를 위한 각 데이터 단위별 부호화 단위의 크기를 신속하고 적은 복잡도로서 결정할 수 있도록 하는 부호화 단위의 크기 결정 방법 및 장치를 제공하기 위한 것이다.An object of the present invention is to provide a method and apparatus for determining a size of a coding unit, which enables to determine a size of a coding unit for each data unit for a coding process quickly and with low complexity.
본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다.Other objects of the present invention will be readily understood through the following description.
본 발명의 일 측면에 따르면, 부호화 단위의 크기 결정 방법을 수행하는 부호화 장치가 제공된다. According to an aspect of the present invention, an encoding apparatus for performing a method of determining a size of a coding unit is provided.
본 발명의 일 실시예에 따른 부호화 장치는, 현재 심도(depth)에서의 부호화 단위(CU, Coding Unit)에 대한 예측 모드(Prediction mode)를 결정하는 예측 모드 결정부; 및 상기 결정된 예측 모드가 미리 지정된 임계값(threshold)과 일치하는 경우, 하위 심도의 부호화 단위에 대한 판단을 생략하고, 현재 심도의 부호화 단위의 크기를 최적 부호화 단위의 크기로 결정하는 판단부를 포함할 수 있다.An encoding apparatus according to an embodiment of the present invention includes a prediction mode determiner configured to determine a prediction mode for a coding unit (CU) at a current depth; And a determination unit for omitting determination of a coding unit of a lower depth and determining a size of a coding unit of a current depth as the size of an optimal coding unit when the determined prediction mode matches a predetermined threshold. Can be.
상기 판단부는 현재 심도에 대해 결정된 상기 예측 모드가 상기 임계값과 불일치하는 경우, 상기 예측 모드 결정부로 차하위 심도에 대한 예측 모드 결정을 지시하고, 차하위 심도에서 결정된 예측 모드가 상기 임계값과 일치하는 경우 해당 부호화 단위의 크기를 최적 부호화 단위의 크기로 결정할 수 있다.If the prediction mode determined for the current depth is inconsistent with the threshold, the determination unit instructs the prediction mode determination unit to determine the prediction mode for the next lower depth, and the prediction mode determined at the next lower depth matches the threshold. In this case, the size of the coding unit may be determined as the size of the optimal coding unit.
상기 판단부는 최하위 심도까지 각각의 심도에서 결정된 예측 모드들이 상기 임계값과 모두 불일치하는 경우, 각각의 심도에서의 부호화 단위들에 대한 비용 중 최소의 비용을 가지는 부호화 단위의 크기를 최적 부호화 단위의 크기로 결정할 수 있다.When the prediction modes determined in each depth up to the lowest depth are inconsistent with the threshold, the determination unit determines the size of the coding unit having the least cost among the costs for the coding units at each depth. Can be determined.
상기 비용은 RD 비용(Rate-Distortion Cost) 평가를 위해 미리 지정된 비용 함수의 연산 결과값일 수 있다.The cost may be a calculation result of a predetermined cost function for evaluating a rate-distortion cost.
상기 임계값은 SKIP, Inter 2Nx2N, Inter 2NxN, Inter Nx2N 및 Inter NxN 중 하나 이상을 포함하도록 미리 설정될 수 있다.The threshold may be preset to include one or more of SKIP, Inter 2Nx2N, Inter 2NxN, Inter Nx2N, and Inter NxN.
현재 심도의 부호화 단위의 폭 및 너비는 차하위 심도의 부호화 단위의 폭 및 너비의 각각 2배일 수 있다.The width and width of the coding unit of the current depth may be twice each of the width and the width of the coding unit of the next lower depth.
본 발명의 다른 측면에 따르면, 부호화 장치에서 제공되는 부호화 단위의 크기 결정 방법이 제공된다. According to another aspect of the present invention, a method of determining a size of a coding unit provided by an encoding apparatus is provided.
본 발명의 일 실시예에 따른 부호화 장치에서 수행되는 최적 부호화 단위의 크기 결정 방법은, 현재 심도(depth)에서의 부호화 단위(CU, Coding Unit)에 대한 예측 모드(Prediction mode)를 결정하는 단계; 상기 결정된 예측 모드가 미리 지정된 임계값(threshold)과 일치하는지 여부를 판단하는 단계; 및 일치하는 경우, 하위 심도의 부호화 단위에 대한 판단을 생략하고, 현재 심도의 부호화 단위의 크기를 최적 부호화 단위의 크기로 결정하는 단계를 포함할 수 있다.A method of determining an optimal coding unit size performed in an encoding apparatus according to an embodiment of the present invention includes determining a prediction mode for a coding unit (CU) at a current depth; Determining whether the determined prediction mode matches a predetermined threshold; And if it matches, omitting determination of the coding unit of the lower depth and determining the size of the coding unit of the current depth as the size of the optimal coding unit.
최적 부호화 단위의 크기 결정 방법은, 현재 심도에 대해 결정된 상기 예측 모드가 상기 임계값과 불일치하는 경우, 상기 예측 모드 결정부로 차하위 심도에 대한 예측 모드 결정을 지시하는 단계; 차하위 심도에서 결정된 예측 모드가 상기 임계값과 일치하는지 여부를 판단하는 단계; 및 일치하는 경우, 차하위 심도에서의 해당 부호화 단위의 크기를 최적 부호화 단위의 크기로 결정하는 단계를 더 포함할 수 있다.The method of determining an optimal coding unit size may include: instructing the prediction mode determiner to determine a prediction mode for a next lower depth when the prediction mode determined for the current depth does not match the threshold value; Determining whether a prediction mode determined at a lower depth coincides with the threshold value; And if it matches, determining the size of the corresponding coding unit in the next lower depth as the size of the optimal coding unit.
최적 부호화 단위의 크기 결정 방법은, 최하위 심도까지 각각의 심도에서 결정된 예측 모드들이 상기 임계값과 모두 불일치하는 경우, 각각의 심도에서의 부호화 단위들에 대한 비용 중 최소의 비용을 가지는 부호화 단위의 크기를 최적 부호화 단위의 크기로 결정하는 단계를 더 포함할 수 있다.The method of determining an optimal coding unit size may include: a size of a coding unit having a minimum cost among coding units at each depth when prediction modes determined at each depth up to the lowest depth are inconsistent with the threshold value. The method may further include determining a size of an optimal coding unit.
상기 비용은 RD 비용(Rate-Distortion Cost) 평가를 위해 미리 지정된 비용 함수의 연산 결과값일 수 있다.The cost may be a calculation result of a predetermined cost function for evaluating a rate-distortion cost.
상기 임계값은 SKIP, Inter 2Nx2N, Inter 2NxN, Inter Nx2N 및 Inter NxN 중 하나 이상을 포함하도록 미리 설정될 수 있다.The threshold may be preset to include one or more of SKIP, Inter 2Nx2N, Inter 2NxN, Inter Nx2N, and Inter NxN.
현재 심도의 부호화 단위의 폭 및 너비는 차하위 심도의 부호화 단위의 폭 및 너비의 각각 2배일 수 있다.The width and width of the coding unit of the current depth may be twice each of the width and the width of the coding unit of the next lower depth.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.Other aspects, features, and advantages other than those described above 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.
또한, 부호화 처리를 위한 각 데이터 단위별 부호화 단위의 크기를 신속하고 적은 복잡도로서 결정할 수 있도록 하는 효과도 있다.In addition, there is an effect that the size of the coding unit for each data unit for encoding processing can be determined quickly and with low complexity.
도 1a는 HEVC에서 제시하는 심도(depth)별 부호화 단위(CU) 및 예측 단위(PU)를 나타낸 도면.1A is a diagram illustrating coding units (CUs) and prediction units (PUs) for each depth presented by HEVC.
도 1b는 부호화 단위 및 변환 단위(TU)의 관계를 나타낸 도면.1B is a diagram illustrating a relationship between a coding unit and a transformation unit (TU).
도 2는 종래 기술에 따른 데이터 단위별 부호화 단위의 크기를 결정하기 위한 처리 과정을 나타낸 도면.2 is a diagram illustrating a process for determining a size of a coding unit for each data unit according to the prior art.
도 3은 각 데이터 단위별로 부호화 단위의 크기가 결정된 예를 나타낸 도면.3 is a diagram illustrating an example in which a size of a coding unit is determined for each data unit.
도 4는 본 발명의 일 실시예에 따른 부호화 단위 결정 유닛의 구성을 개략적으로 나타낸 도면.4 is a diagram schematically illustrating a configuration of a coding unit determination unit according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 데이터 단위별 부호화 단위의 크기를 결정하기 위한 처리 과정을 나타낸 도면.5 is a diagram illustrating a processing procedure for determining the size of a coding unit for each data unit according to an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 부호화 단위 결정 방법을 나타낸 순서도.6 is a flowchart illustrating a coding unit determination method according to an embodiment of the present invention.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all transformations, equivalents, and substitutes included in the spirit and scope of the present invention. In the following description of the present invention, if it is determined that the detailed description of the related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. Terms such as first and second 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.
또한, 명세서에 기재된 "…부", "…기", "…유닛", "…모듈", "…블록" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, the terms “… unit”, “… group”, “… unit”, “… module”, “… block”, etc. described in the specification mean a unit that processes at least one function or operation. It may be implemented in software or a combination of hardware and software.
이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, and in the following description with reference to the accompanying drawings, the same or corresponding components are given the same reference numerals and redundant description thereof will be omitted. Shall be.
이하에서는 심도별 부호화 단위의 크기 결정을 신속하게 수행하는 부호화기를 중심으로 설명하지만, 동일 또는 유사한 기술적 사상이 복호화기에 적용될 수도 있음은 당연하다.Hereinafter, a description will be given of an encoder for quickly determining a size of a coding unit for each depth, but it is natural that the same or similar technical concept may be applied to a decoder.
또한, 부호화 단위의 크기 결정 방법을 적용함에 있어 영상 특성을 고려하기 위해 계층적인 부호화 단위가 사용되고, 부호화 단위의 최대 높이 및 너비, 최대 심도는 영상의 특성에 따라 적응적으로 결정될 수도 있으며, 사용자의 요구에 따라서도 다양하게 설정되도록 구현될 수 있다. 다만, 설명의 편의를 위해 부호화 단위의 최대 높이 및 너비가 각각 64이고, 최대 심도가 3인 경우를 예로 들어 설명하기로 한다.In addition, hierarchical coding units are used to consider the image characteristics in applying the method of determining the size of the coding unit, and the maximum height, the width, and the 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, for convenience of description, a 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는 본 발명의 일 실시예에 따른 데이터 단위별 부호화 단위의 크기를 결정하기 위한 처리 과정을 나타낸 도면이다.4 is a diagram schematically illustrating a configuration of a coding unit determination unit according to an embodiment of the present invention, and FIG. 5 is a flowchart illustrating a process for determining the size of a coding unit for each data unit according to an embodiment of the present invention. Drawing.
도 4를 참조하면, 부호화기에 포함되는 부호화 단위 결정 유닛은 예측 모드 결정부(410), 판단부(420), 비용 평가부(430) 및 출력부(440)를 포함할 수 있다. 부호화 단위 결정 유닛에 포함되는 하나 이상의 구성 요소는 프로그램 코드의 조합에 의해 구현된 알고리즘, 소프트웨어 프로그램 등 중 하나 이상의 형태로 구현될 수도 있음은 당연하다.Referring to FIG. 4, the coding unit determination unit included in the encoder may include a prediction mode determiner 410, a determiner 420, a cost evaluator 430, and an output unit 440. Naturally, one or more components included in the coding unit determination unit may be implemented in one or more forms of an algorithm, a software program, and the like implemented by a combination of program codes.
예측 모드 결정부(410)는 현재 심도에서의 부호화 단위(CU, Coding Unit)에 대한 예측 모드(Prediction mode)를 결정한다. The prediction mode determiner 410 determines a prediction mode for a coding unit (CU) at a current depth.
예측 모드 결정부(410)에 의해 결정되는 예측 모드는 SKIP 모드, 인트라(Intra) 모드 및 인터(Inter) 모드 중 어느 하나에 대한 값(value)일 수 있으며, 구체적으로 예측 모드는 예를 들어 SKIP, Inter 2Nx2N, Inter 2NxN, Inter Nx2N, Inter NxN 등 중 어느 하나로 지정될 수도 있다. 예측 모드 결정부(410)가 임의의 부호화 단위 또는 데이터 단위에 대해 예측 모드를 결정하는 방법은 당업자에게 자명한 사항이므로 이에 대한 설명은 생략하기로 한다.The prediction mode determined by the prediction mode determiner 410 may be a value for any one of a SKIP mode, an intra mode, and an inter mode, and specifically, the prediction mode is, for example, SKIP. , Inter 2Nx2N, Inter 2NxN, Inter Nx2N, Inter NxN, etc. may be specified. The method of determining the prediction mode for any coding unit or data unit by the prediction mode determiner 410 is obvious to those skilled in the art, and a description thereof will be omitted.
판단부(420)는 예측 모드 결정부(410)에 의해 결정된 현재 심도의 부호화 단위의 예측 모드가 미리 지정된 임계값(예를 들어, SKIP 모드)과 일치하는지 여부를 판단한다. 여기서, 임계값은 결정 가능한 예측 모드들 중 하나 이상으로 미리 지정될 수 있으며, 예를 들어 결정 가능한 예측 모드가 SKIP, Inter 2Nx2N, Inter 2NxN, Inter Nx2N, Inter NxN라면 이들 중 하나 이상이 임계값으로 지정될 수 있다.The determination unit 420 determines whether the prediction mode of the coding unit of the current depth determined by the prediction mode determination unit 410 matches a predetermined threshold value (eg, the SKIP mode). Here, the threshold may be pre-specified as one or more of the determinable prediction modes. For example, if the determinable prediction mode is SKIP, Inter 2Nx2N, Inter 2NxN, Inter Nx2N, Inter NxN, one or more of them may be the threshold. Can be specified.
판단부(420)는 만일 예측 모드 결정부(410)에 의해 결정된 현재 심도의 부호화 단위의 예측 모드가 미리 지정된 임계값과 일치하는 경우라면, 하위 심도에 대한 검토를 생략하고 현재의 부호화 단위의 크기를 최적 부호화 단위의 크기로 결정한다. If the prediction mode of the coding unit of the current depth determined by the prediction mode determiner 410 coincides with a predetermined threshold, the determination unit 420 skips the review of the lower depth and sizes the current coding unit. Is determined as the size of an optimal coding unit.
그러나 만일, 결정된 예측 모드가 미리 지정된 임계값과 일치하지 않는 경우라면 예측 모드 결정부(410)로 차하위 심도의 부호화 단위에 대한 예측 모드의 결정을 지시하고, 새롭게 결정된 차하위 심도에서의 예측 모드가 임계값과 일치하는지 여부로서 새로운 차하위 심도의 부호화 단위에 대한 탐색 여부를 결정한다. 이는 최하위 심도까지 반복된다.However, if the determined prediction mode does not match a predetermined threshold, the prediction mode determiner 410 instructs the determination of the prediction mode for the coding unit of the next lower depth, and the prediction mode at the newly determined next lower depth. Determine whether or not to search for a coding unit of a new lower-depth depth as whether or not is equal to the threshold. This is repeated to the lowest depth.
또한 만일 최하위 심도의 최소 부호화 단위에 대해서까지 예측 모드 결정부(410)에 의해 결정된 예측 모드가 임계값과 비일치하는 경우라면, 판단부(420)는 비용 평가부(430)에 의한 RD 비용(Rate-Distortion Cost) 평가를 통해 최소 비용을 가지는 데이터 단위의 부호화 단위 크기를 최적 부호화 단위의 크기로 결정한다.Also, if the prediction mode determined by the prediction mode determiner 410 does not match the threshold value even for the minimum coding unit of the lowest depth, the determination unit 420 may determine the RD cost ( Rate-Distortion Cost) is used to determine the coding unit size of the data unit having the minimum cost as the optimal coding unit size.
비용 평가부(430)는 각 데이터 단위에 대해 소정의 비용 함수를 적용하여 비용 평가를 실시한다. 비용 평가부(430)는 비용 평가를 위해 예를 들어 RD 비용(Rate-Distortion Cost) 함수를 이용할 수 있다. 비용 평가부(430)는 판단부(420)의 일 구성요소로 포함될 수도 있다. 비용 평가부(430)에서 소정의 비용 함수를 이용하여 비용 평가를 수행하는 방법은 당업자에게 자명한 사항이므로 이에 대한 설명은 생략하기로 한다.The cost evaluator 430 performs a cost evaluation by applying a predetermined cost function to each data unit. The cost evaluator 430 may use, for example, a rate-distortion cost function for cost evaluation. The cost evaluator 430 may be included as a component of the determiner 420. Since the method for performing the cost evaluation using a predetermined cost function in the cost evaluator 430 is obvious to those skilled in the art, a description thereof will be omitted.
출력부(440)는 판단부(420)의 판단 결과에 따른 부호화 단위별 부호화 정보를 출력한다. 부호화 정보는 예를 들어, 부호화 단위에 대한 분할 정보(예를 들어, 해당 부호화 단위의 부호화 심도 등), 파티션 타입 정보(예를 들어, 부호화 단위에서의 변환 단위의 파티션 타입인 2N x 2N, 2N x N, N x 2N 및 N x N 중 하나의 정보 등), 예측 모드 정보(예를 들어, 인트라 모드, 인터 모드 및 스킵 모드 중 하나인 정보), 변환 단위 크기 정보 등 중 하나 이상을 포함할 수 있다. The output unit 440 outputs encoding information for each coding unit according to the determination result of the determination unit 420. The encoding information may include, for example, split information about a coding unit (for example, a coding depth of a corresponding coding unit), partition type information (for example, 2N × 2N and 2N, which are partition types of a transformation unit in a coding unit). information such as one of x N, N x 2N, and N x N), prediction mode information (e.g., one of intra mode, inter mode, and skip mode), transform unit size information, and the like. Can be.
이하, 종래 기술에 따른 부호화 단위의 크기 결정 방법과 본 실시예에 따른 크기 결정 방법을 각각의 의사 코드(Pseudo code)를 이용하여 간략히 설명하면 다음과 같다.Hereinafter, the method for determining the size of a coding unit according to the prior art and the method for determining the size according to the present embodiment will be briefly described using respective pseudo codes.
먼저, 종래 기술에 따른 부호화 단위의 크기 결정 방법, 즉 HEVC의 부호화 단위 크기 결정 과정을 나타낸 의사 코드를 제시하면 아래와 같다.First, a pseudo code indicating a method of determining a coding unit according to the prior art, that is, a coding unit sizing process of HEVC will be described below.
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
}}
위에 제시된 바와 같이, HEVC는 최적의 부호화 단위의 크기 결정을 위해 재귀적 구조(recursive structure)를 적용한다.As suggested above, HEVC applies a recursive structure to determine the size of an optimal coding unit.
즉, HEVC의 부호화 장치는 현재 심도의 부호화 단위 크기와 차하위 심도에서의 부호화 단위 크기들에 대해 4개의 RD 비용 평가를 실시한다. 이러한 과정을 재귀적으로 동작하게 구현함으로써, 하나의 최대 부호화 단위 크기에 대해 각 데이터 단위별로 최적의 부호화 단위가 결정된다. That is, the HEVC encoding apparatus performs four RD cost evaluations on the coding unit sizes of the current depth and the coding unit sizes at the next lower depth. By implementing this process recursively, an optimal coding unit is determined for each data unit with respect to one maximum coding unit size.
다음으로, 본 실시예에 따른 부호화 단위의 크기 결정 방법을 나타낸 의사 코드를 제시하면 아래와 같다.Next, a pseudo code illustrating a method of determining a size of a coding unit according to the present embodiment is as follows.
Recursive_CU_Processing (depth, index) {Recursive_CU_Processing (depth, index) {
parent_cost = CU_processing (depth, index) parent_cost = CU_processing (depth, index)
if (Selected predictoin_mode <= Threshold)if (Selected predictoin_mode <= Threshold)
Best_CU = CU(depth)     Best_CU = CU (depth)
pruning remaining processes     pruning remaining processes
elseelse
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
}}
위에 제시된 바와 같이, 본 실시예에 따른 부호화 단위 크기 결정 방법은 현재 심도의 부호화 단위 크기에서 결정된 예측 모드가 미리 지정된 임계값(Threshold)과 상응하는지 여부를 기준으로 하여 차하위 심도에 대한 탐색 유무를 선택하도록 정하는 것이 특징이다. As described above, the coding unit size determination method according to the present embodiment determines whether to search for a next lower depth based on whether a prediction mode determined from the coding unit size of the current depth corresponds to a predetermined threshold. It is characteristic to decide to choose.
만약 현재 심도의 부호화 단위 크기에서 결정된 예측 모드가 미리 지정된 임계값과 매치되면, 도 5에 도시된 바와 같이 차하위 심도들에 대한 탐색을 중지(즉, 남은 심도에 대한 탐색을 생략)하고 현재 심도의 부호화 단위 크기를 최적의 부호화 단위 크기로 결정함으로써 신속하게 최적 부호화 단위 크기의 결정이 가능하다. If the prediction mode determined in the coding unit size of the current depth matches a predetermined threshold, as shown in FIG. 5, the search for the lower depths is stopped (that is, the search for the remaining depth is omitted) and the current depth is decreased. It is possible to quickly determine the optimal coding unit size by determining the coding unit size of the optimal coding unit size.
도 5를 참조하면, 심도 1의 CU13와 심도 2의 CU23의 경우 결정된 예측 모드가 SKIP 모드로 미리 지정된 임계값과 일치하였으므로, 해당 심도의 부호화 단위의 크기가 해당 데이터 단위에서의 최적 부호화 단위의 크기로 결정되고, 차하위 심도에 대한 탐색은 생략된다. Referring to FIG. 5, in the case of the CU 1 3 of the depth 1 and the CU 2 3 of the depth 2, since the determined prediction mode coincides with a threshold predetermined as the SKIP mode, the size of the coding unit of the corresponding depth is optimal in the data unit. It is determined by the size of the coding unit, and the search for the next lower depth is omitted.
여기서, 임계값은 현재 심도의 부호화 단위 크기에서 결정될 수 있는 예측 모드를 기준으로 하며, 그 대상은 예를 들어 SKIP, Inter 2Nx2N, Inter 2NxN, Inter Nx2N, Inter NxN 등일 수 있다. Here, the threshold value is based on a prediction mode that may be determined based on the coding unit size of the current depth, and the target may be, for example, SKIP, Inter 2Nx2N, Inter 2NxN, Inter Nx2N, or Inter NxN.
그리고, 임계값은 시간 복잡도 감소율과 비트레이트 증가율을 고려하여 선택될 수 있다. 다만, 후술하여 설명되는 바와 같이 SKIP 모드를 임계값으로 선택한 경우, 최적의 비트레이트 증가율과 시간 감소율을 나타내는 것으로 실험적으로 확인되었으나, 임계값의 선택 대상이 SKIP 모드로 제한되지는 않는다. The threshold value may be selected in consideration of the time complexity reduction rate and the bitrate growth rate. However, when the SKIP mode is selected as the threshold as described below, it is experimentally confirmed that the optimum bitrate increase rate and the time decrease rate are shown, but the selection target of the threshold value is not limited to the SKIP mode.
따라서, 비트레이트 증가율과 시간 감소율을 구현 목적에 따라 탄력적으로 고려하면 임계값의 설정 형태는 보다 다양할 수 있을 것이다. Therefore, when the bitrate increase rate and the time decrease rate are flexibly considered according to the implementation purpose, the setting form of the threshold value may be more diverse.
물론, 임계값이 어느 하나만으로 설정되도록 제한되지 않으며, 그 목적에 따라 둘 이상의 예측 모드가 임계값으로 설정될 수도 있음은 당연하다. 만일 임계값이 SKIP 모드 및 Inter 2Nx2N로 지정된 경우, 임의의 심도에서 결정된 예측 모드가 임계값으로 지정된 SKIP 모드 및 Inter 2Nx2N 중 어느 하나이면 해당 심도의 부호화 단위의 크기가 해당 데이터 단위에서의 최적 부호화 단위의 크기로 결정되고, 차하위 심도에 대한 탐색은 생략된다. Of course, the threshold is not limited to any one, and it is natural that two or more prediction modes may be set as the threshold depending on the purpose. If the threshold is specified as the SKIP mode and Inter 2Nx2N, if the prediction mode determined at any depth is one of the SKIP mode and Inter 2Nx2N as the threshold, the size of the coding unit of the depth is the optimal coding unit in the data unit. It is determined by the size of, and the search for the next lower depth is omitted.
본 실시예에서 제시한 최적 부호화 단위 크기 결정 방법에서 임계값을 SKIP 모드로 지정하여 실시한 비교 실험 결과를 제시하면 아래와 같다. 비교 대상은 MPEG-H HEVC test model 3.0으로 적용하였다.In the optimal coding unit size determination method presented in this embodiment, a comparison experiment result of designating a threshold value as a SKIP mode is presented as follows. The comparison target was applied with the MPEG-H HEVC test model 3.0.
참고로, 아래의 표 1은 비교 실험 환경을 나타내고, 표 2는 로우 딜레이 시나리오(low-delay scenario)에 따른 실험 결과를 나타내고, 표 3은 램덤 엑세스 시나리오(random-access scenario)에 따른 실험 결과를 나타낸다. For reference, Table 1 below shows the comparative experiment environment, Table 2 shows the experimental results according to the low-delay scenario, Table 3 shows the experimental results according to the random-access scenario Indicates.
표 1
Test Sequences ·Class A (2560'600):Traffic and PeopleOnStreet·Class B (1920'080):Kimono, ParkScene, Cactus, and BQTerrace·Class C (832'80): BasketballDrill, BQMall, PartyScene, and RaceHorsesC·Class D (416x240): BasketballPass, BQSquare, BlowingBubbles, RaceHorses·Class E (1280'20): Vidyo1, Vidyo3, and Vidyo4
Total Frames to be Coded ·Class A: 5 seconds of video duration·Other Classes: 10 seconds of video duration
Software ·HM 3.0
Quantization Parameter ·22, 27, 32 and 37
Table 1
Test sequences Class A (2560'600): Traffic and People On Street Class B (1920'080): Kimono, ParkScene, Cactus, and BQTerraceClass C (832'80): BasketballDrill, BQMall, PartyScene, and RaceHorsesC Class D ( 416x240): BasketballPass, BQSquare, BlowingBubbles, RaceHorsesClass E (1280'20): Vidyo1, Vidyo3, and Vidyo4
Total Frames to be Coded · Class A: 5 seconds of video duration · Other Classes: 10 seconds of video duration
Software · HM 3.0
Quantization Parameter · 22, 27, 32 and 37
표 2
Class HM 3.0 Proposed Method Comparison
Bitrate PSNR Time Bitrate PSNR Time △Bitrate(%) △PSNR(dB) △Time(%)
Class B Average 10,587 36.74 697.29 10,553 36.72 450.76 -0.34 -0.02 -37.54
Class C Average 3,803 35.04 141.45 3,794 35.02 104.81 -0.33 -0.02 -28.74
Class D Average 1,031 34.55 34.58 1,027 34.52 25.86 -0.44 -0.03 -28.29
Class E Average 1,862 40.19 246.60 1,847 40.16 104.67 -0.78 -0.03 -58.21
Average -0.44 -0.03 -36.66
TABLE 2
Class HM 3.0 Proposed Method Comparison
Bitrate PSNR Time Bitrate PSNR Time △ Bitrate (%) △ PSNR (dB) △ Time (%)
Class B Average 10,587 36.74 697.29 10,553 36.72 450.76 -0.34 -0.02 -37.54
Class C Average 3,803 35.04 141.45 3,794 35.02 104.81 -0.33 -0.02 -28.74
Class D Average 1,031 34.55 34.58 1,027 34.52 25.86 -0.44 -0.03 -28.29
Class E Average 1,862 40.19 246.60 1,847 40.16 104.67 -0.78 -0.03 -58.21
Average -0.44 -0.03 -36.66
표 3
Class HM 3.0 Proposed Method Comparison
Bitrate PSNR Time Bitrate PSNR Time △Bitrate(%) △PSNR(dB) △Time(%)
Class A Average 14,423 37.11 1,116.54 14,363 37.05 690.30 -0.61 -0.06 -40.66
Class B Average 9,620 36.74 548.42 9,564 36.70 300.70 -0.55 -0.04 -47.05
Class C Average 3,533 35.09 112.66 3,523 35.04 74.15 -0.51 -0.05 -37.01
Class D Average 942 34.78 27.46 940 34.74 18.51 -0.44 -0.04 -35.79
Average -0.52 -0.05 -40.57
TABLE 3
Class HM 3.0 Proposed Method Comparison
Bitrate PSNR Time Bitrate PSNR Time △ Bitrate (%) △ PSNR (dB) △ Time (%)
Class A Average 14,423 37.11 1,116.54 14,363 37.05 690.30 -0.61 -0.06 -40.66
Class B Average 9,620 36.74 548.42 9,564 36.70 300.70 -0.55 -0.04 -47.05
Class C Average 3,533 35.09 112.66 3,523 35.04 74.15 -0.51 -0.05 -37.01
Class D Average 942 34.78 27.46 940 34.74 18.51 -0.44 -0.04 -35.79
Average -0.52 -0.05 -40.57
위 표 2 및 3에 보이는 바와 같이, 본 실시예에 따른 최적 부호화 단위 결정 방법은 MPEG-H HEVC test model 3.0과 비교할 때, 약 40%의 시간 절감 효과가 나타났지만, 이에 비해 비트레이트(bitrate) 0.5% 감소, PSNR 0.04dB 감소의 결과를 나타냄을 확인할 수 있다.As shown in Tables 2 and 3 above, the method of determining an optimal coding unit according to the present embodiment shows a time saving effect of about 40% compared to the MPEG-H HEVC test model 3.0, but compared with the bitrate. 0.5% decrease, PSNR 0.04dB decrease can be seen.
도 6은 본 발명의 일 실시예에 따른 부호화 단위 결정 방법을 나타낸 순서도이다.6 is a flowchart illustrating a coding unit determination method according to an embodiment of the present invention.
도 6을 참조하면, 부호화 단위 결정 유닛은 단계 610에서 현재 심도의 부호화 단위 사이즈에 대한 부호화 모드를 결정한다.Referring to FIG. 6, in operation 610, the coding unit determination unit determines a coding mode for a coding unit size of a current depth.
단계 620에서 부호화 단위 결정 유닛은 결정된 부호화 모드가 임계값으로 미리 지정된 부호화 모드와 일치하는지 여부를 판단한다. 앞서 설명한 바와 같이 임계값으로 지정되는 부호화 모드는 하나 이상일 수 있다.In operation 620, the coding unit determination unit determines whether the determined encoding mode matches the encoding mode previously designated as a threshold. As described above, one or more encoding modes may be designated as thresholds.
만일 해당 심도에서 결정된 부호화 모드가 임계값으로 미리 지정된 부호화 모드와 일치한다면, 단계 630으로 진행하여 차하위 심도에 대한 탐색을 중지하고 현재 심도의 부호화 모드의 크기를 최적 부호화 모드 크기로 결정한다.If the encoding mode determined at the corresponding depth matches the encoding mode previously determined as the threshold, the flow proceeds to step 630 to stop searching for the next lower depth and determine the size of the encoding mode of the current depth as the optimal encoding mode size.
그러나 만일 해당 심도에서 결정된 부호화 모드가 임계값으로 미리 지정된 부호화 모드와 일치하지 않는다면, 단계 640으로 진행하여 단계 610 및 단계 620의 처리가 진행된 현재 심도가 최하위 심도에 대한 것이었는지 여부를 판단한다.However, if the encoding mode determined at the corresponding depth does not match the encoding mode predetermined as the threshold value, the method proceeds to step 640 to determine whether the current depth at which the processing of steps 610 and 620 is performed is for the lowest depth.
만일 최하위 심도에 대한 판단이 아닌 경우라면 심도를 1 증가한 후 단계 610으로 다시 진행함으로써 차하위 심도에 대한 탐색이 진행되도록 한다.If it is not the determination of the lowest depth, the depth is increased by 1 and then the process proceeds to step 610 to search for the next lower depth.
그러나 만일 최하위 심도에 대한 판단인 경우라면, 단계 650으로 진행하여 부호화 단위 결정 유닛은 종래 기술에 따른 최적 부호화 모드 크기 결정 방법과 마찬가지로 비용 값을 이용하여 최소 비용을 가지도록 각 데이터 단위에 대한 최적 부호화 단위 크기를 결정한다.However, if it is the determination of the lowest depth, the process proceeds to step 650 where the coding unit determining unit is optimally encoded for each data unit to have a minimum cost by using the cost value as in the method of determining the optimal coding mode according to the prior art. Determine the unit size.
상술한 부호화 단위의 크기 결정 방법은 부호화기에 내장된 소프트웨어 프로그램 등에 의해 시계열적 순서에 따른 자동화된 절차로 수행될 수도 있음은 자명하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 상기 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체 및 캐리어 웨이브 매체를 포함한다.It is apparent that the above-described method of determining the size of a coding unit may be performed by an automated procedure according to a time series order by a software program or the like embedded in the encoder. Codes and code segments constituting the program can be easily inferred by a computer programmer in the art. In addition, the program is stored in a computer readable media, and read and executed by a computer to implement the method. The information storage medium includes a magnetic recording medium, an optical recording medium and a carrier wave medium.
상기에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to embodiments of the present invention, those skilled in the art may variously modify the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. And can be changed.

Claims (12)

  1. 부호화 장치에 있어서,In the encoding device,
    현재 심도(depth)에서의 부호화 단위(CU, Coding Unit)에 대한 예측 모드(Prediction mode)를 결정하는 예측 모드 결정부; 및A prediction mode determiner configured to determine a prediction mode for a coding unit (CU) at a current depth; And
    상기 결정된 예측 모드가 미리 지정된 임계값(threshold)과 일치하는 경우, 하위 심도의 부호화 단위에 대한 판단을 생략하고, 현재 심도의 부호화 단위의 크기를 최적 부호화 단위의 크기로 결정하는 판단부를 포함하는 부호화 장치.If the determined prediction mode matches a predetermined threshold, encoding including a determination unit omitting determination of the coding unit of the lower depth and determining the size of the coding unit of the current depth as the size of the optimal coding unit. Device.
  2. 제1항에 있어서,The method of claim 1,
    상기 판단부는 현재 심도에 대해 결정된 상기 예측 모드가 상기 임계값과 불일치하는 경우, The determination unit, if the prediction mode determined for the current depth is inconsistent with the threshold,
    상기 예측 모드 결정부로 차하위 심도에 대한 예측 모드 결정을 지시하고, 차하위 심도에서 결정된 예측 모드가 상기 임계값과 일치하는 경우 해당 부호화 단위의 크기를 최적 부호화 단위의 크기로 결정하는 것을 특징으로 하는 부호화 장치.And instructing the prediction mode determiner to determine a prediction mode for the next lower depth, and when the prediction mode determined at the next lower depth matches the threshold, determines the size of the corresponding coding unit as the size of the optimal coding unit. Encoding device.
  3. 제2항에 있어서,The method of claim 2,
    상기 판단부는 최하위 심도까지 각각의 심도에서 결정된 예측 모드들이 상기 임계값과 모두 불일치하는 경우, The determination unit, when the prediction modes determined at each depth up to the lowest depth are inconsistent with the threshold value,
    각각의 심도에서의 부호화 단위들에 대한 비용 중 최소의 비용을 가지는 부호화 단위의 크기를 최적 부호화 단위의 크기로 결정하는 것을 특징으로 하는 부호화 장치.And a coding unit having a minimum cost among coding costs in each depth as a size of an optimal coding unit.
  4. 제3항에 있어서,The method of claim 3,
    상기 비용은 RD 비용(Rate-Distortion Cost) 평가를 위해 미리 지정된 비용 함수의 연산 결과값인 것을 특징으로 하는 부호화 장치.And the cost is an operation result value of a predetermined cost function for evaluating a rate-distortion cost.
  5. 제1항에 있어서,The method of claim 1,
    상기 임계값은 SKIP, Inter 2Nx2N, Inter 2NxN, Inter Nx2N 및 Inter NxN 중 하나 이상을 포함하도록 미리 설정되는 것을 특징으로 하는 부호화 장치.And the threshold is preset to include at least one of SKIP, Inter 2Nx2N, Inter 2NxN, Inter Nx2N, and Inter NxN.
  6. 제1항에 있어서,The method of claim 1,
    현재 심도의 부호화 단위의 폭 및 너비는 차하위 심도의 부호화 단위의 폭 및 너비의 각각 2배인 것을 특징으로 하는 부호화 장치.The width and width of the coding unit of the current depth is twice the width and width of the coding unit of the next lower depth, respectively.
  7. 부호화 장치에서 수행되는 최적 부호화 단위의 크기 결정 방법에 있어서,In the method of determining the optimal coding unit size performed in the encoding device,
    현재 심도(depth)에서의 부호화 단위(CU, Coding Unit)에 대한 예측 모드(Prediction mode)를 결정하는 단계; Determining a prediction mode for a coding unit (CU) at a current depth;
    상기 결정된 예측 모드가 미리 지정된 임계값(threshold)과 일치하는지 여부를 판단하는 단계; 및Determining whether the determined prediction mode matches a predetermined threshold; And
    일치하는 경우, 하위 심도의 부호화 단위에 대한 판단을 생략하고, 현재 심도의 부호화 단위의 크기를 최적 부호화 단위의 크기로 결정하는 단계를 포함하는 최적 부호화 단위의 크기 결정 방법.If it matches, skipping the determination of the coding unit of the lower depth and determining the size of the coding unit of the current depth as the size of the optimal coding unit.
  8. 제7항에 있어서,The method of claim 7, wherein
    현재 심도에 대해 결정된 상기 예측 모드가 상기 임계값과 불일치하는 경우, 상기 예측 모드 결정부로 차하위 심도에 대한 예측 모드 결정을 지시하는 단계; If the prediction mode determined for the current depth is inconsistent with the threshold, instructing the prediction mode determiner to determine a prediction mode for the next lower depth;
    차하위 심도에서 결정된 예측 모드가 상기 임계값과 일치하는지 여부를 판단하는 단계; 및Determining whether a prediction mode determined at a lower depth coincides with the threshold value; And
    일치하는 경우, 차하위 심도에서의 해당 부호화 단위의 크기를 최적 부호화 단위의 크기로 결정하는 단계를 더 포함하는 최적 부호화 단위의 크기 결정 방법.And if it matches, determining the size of the corresponding coding unit at the next lower depth as the size of the optimal coding unit.
  9. 제8항에 있어서,The method of claim 8,
    최하위 심도까지 각각의 심도에서 결정된 예측 모드들이 상기 임계값과 모두 불일치하는 경우, 각각의 심도에서의 부호화 단위들에 대한 비용 중 최소의 비용을 가지는 부호화 단위의 크기를 최적 부호화 단위의 크기로 결정하는 단계를 더 포함하는 최적 부호화 단위의 크기 결정 방법.When the prediction modes determined in each depth up to the lowest depth are inconsistent with the threshold value, the size of the coding unit having the least cost among the costs for the coding units in each depth is determined as the size of the optimal coding unit. The size determining method of the optimal coding unit further comprising the step.
  10. 제9항에 있어서,The method of claim 9,
    상기 비용은 RD 비용(Rate-Distortion Cost) 평가를 위해 미리 지정된 비용 함수의 연산 결과값인 것을 특징으로 하는 최적 부호화 단위의 크기 결정 방법.The cost is a method of determining the size of the optimal coding unit, characterized in that the calculation result value of a predetermined cost function for the rate-distortion cost evaluation.
  11. 제7항에 있어서,The method of claim 7, wherein
    상기 임계값은 SKIP, Inter 2Nx2N, Inter 2NxN, Inter Nx2N 및 Inter NxN 중 하나 이상을 포함하도록 미리 설정되는 것을 특징으로 하는 최적 부호화 단위의 크기 결정 방법.And the threshold is preset to include at least one of SKIP, Inter 2Nx2N, Inter 2NxN, Inter Nx2N, and Inter NxN.
  12. 제7항에 있어서,The method of claim 7, wherein
    현재 심도의 부호화 단위의 폭 및 너비는 차하위 심도의 부호화 단위의 폭 및 너비의 각각 2배인 것을 특징으로 하는 최적 부호화 단위의 크기 결정 방법.The width and width of the coding unit of the current depth is twice the width and width of the coding unit of the next sub-depth, respectively.
PCT/KR2012/005299 2011-07-08 2012-07-04 Method and apparatus for setting the size of an encoding unit WO2013009029A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20110067619 2011-07-08
KR10-2011-0067619 2011-07-08

Publications (2)

Publication Number Publication Date
WO2013009029A2 true WO2013009029A2 (en) 2013-01-17
WO2013009029A3 WO2013009029A3 (en) 2013-03-07

Family

ID=47506660

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/005299 WO2013009029A2 (en) 2011-07-08 2012-07-04 Method and apparatus for setting the size of an encoding unit

Country Status (1)

Country Link
WO (1) WO2013009029A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016093995A1 (en) * 2014-12-11 2016-06-16 Intel Corporation Partition mode and transform size determination based on flatness of video

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090064404A (en) * 2006-10-10 2009-06-18 니폰덴신뎅와 가부시키가이샤 Intra prediction encoding control method and device, its program, and storage medium containing program
KR20090117863A (en) * 2008-05-10 2009-11-13 삼성전자주식회사 Apparatus and method for managing reference frame buffer in layered video coding
KR20110017302A (en) * 2009-08-13 2011-02-21 삼성전자주식회사 Method and apparatus for encoding/decoding image by using motion vector accuracy control
KR20110044487A (en) * 2009-10-23 2011-04-29 삼성전자주식회사 Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090064404A (en) * 2006-10-10 2009-06-18 니폰덴신뎅와 가부시키가이샤 Intra prediction encoding control method and device, its program, and storage medium containing program
KR20090117863A (en) * 2008-05-10 2009-11-13 삼성전자주식회사 Apparatus and method for managing reference frame buffer in layered video coding
KR20110017302A (en) * 2009-08-13 2011-02-21 삼성전자주식회사 Method and apparatus for encoding/decoding image by using motion vector accuracy control
KR20110044487A (en) * 2009-10-23 2011-04-29 삼성전자주식회사 Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016093995A1 (en) * 2014-12-11 2016-06-16 Intel Corporation Partition mode and transform size determination based on flatness of video
US20160173906A1 (en) * 2014-12-11 2016-06-16 Intel Corporation Partition mode and transform size determination based on flatness of video

Also Published As

Publication number Publication date
WO2013009029A3 (en) 2013-03-07

Similar Documents

Publication Publication Date Title
WO2018080135A1 (en) Video encoding/decoding method and apparatus, and recording medium in which bit stream is stored
WO2011034372A2 (en) Methods and apparatuses for encoding and decoding mode information
WO2011126277A2 (en) Low complexity entropy-encoding/decoding method and apparatus
WO2017057953A1 (en) Method and device for coding residual signal in video coding system
WO2019194440A1 (en) Image coding method using lookup table for intra prediction mode and apparatus therefor
WO2013025065A2 (en) Image encoding/decoding apparatus and method to which filter selection by precise units is applied
WO2011087323A2 (en) Method and apparatus for encoding and decoding image by using large transform unit
WO2011010900A2 (en) Method and apparatus for encoding images and method and apparatus for decoding images
WO2012005551A2 (en) Method and apparatus for entropy encoding/decoding a transform coefficient
WO2011019250A2 (en) Method and apparatus for encoding video, and method and apparatus for decoding video
WO2013157797A1 (en) Method and device for coding multi-layer video, and method and device for decoding multi-layer video
WO2012044074A2 (en) Adaptive filtering method and apparatus
WO2013109122A1 (en) Method and apparatus for encoding video and method and apparatus for decoding video changing scanning order depending on hierarchical coding unit
WO2015194922A1 (en) Method and apparatus for encoding video, and method and apparatus for decoding video
WO2017043769A1 (en) Encoding device, decoding device, and encoding method and decoding method thereof
WO2020197038A1 (en) Intra prediction method and device based on intra sub-partitions in image coding system
WO2018155996A1 (en) Method for controlling bit rate on basis of bit prediction by video coding process supporting offline cabac and device therefor
WO2013157796A1 (en) Video encoding method and device and video decoding method and device for parallel processing
WO2021225338A1 (en) Image decoding method and apparatus therefor
WO2013109125A1 (en) Video encoding method and apparatus and video decoding method and apparatus using unified syntax for parallel processing
WO2020141856A1 (en) Image decoding method and device using residual information in image coding system
KR101305093B1 (en) Method and encoder for determining transform unit size
WO2013009029A2 (en) Method and apparatus for setting the size of an encoding unit
WO2016129851A1 (en) Method and apparatus for encoding and decoding video signal by means of non-uniform phase interpolation
WO2021206524A1 (en) Image decoding method and device for same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12810740

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12810740

Country of ref document: EP

Kind code of ref document: A2