KR20140120396A - Fast Video coding method - Google Patents

Fast Video coding method Download PDF

Info

Publication number
KR20140120396A
KR20140120396A KR1020130034742A KR20130034742A KR20140120396A KR 20140120396 A KR20140120396 A KR 20140120396A KR 1020130034742 A KR1020130034742 A KR 1020130034742A KR 20130034742 A KR20130034742 A KR 20130034742A KR 20140120396 A KR20140120396 A KR 20140120396A
Authority
KR
South Korea
Prior art keywords
coding
unit
coding unit
depth
block
Prior art date
Application number
KR1020130034742A
Other languages
Korean (ko)
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 KR1020130034742A priority Critical patent/KR20140120396A/en
Publication of KR20140120396A publication Critical patent/KR20140120396A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Landscapes

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

Abstract

The present invention relates to a method for determining coding of a coding unit which comprises the steps of: checking an optimal mode of the coded current coding unit; setting a depth range selection mechanism (DRSM) of the coded coding unit after checking the optimal mode of the current coding unit; and determining a depth range of a coding unit to be coded using the DRSM, thereby rapidly determining whether to code a coding block.

Description

영상의 고속 부호화를 위한 방법{Fast Video coding method}[0001] The present invention relates to a fast video coding method,

본 발명은 영상 부호화 방법 및 이를 이용한 장치에 관한 것으로서, 더 구체적으로는 영상을 코딩하는 블록 설정 및 블록 모드 결정에 대한 영상 부호화 방법 및 이를 이용한 장치에 관한 것이다.The present invention relates to an image encoding method and an apparatus using the same, and more particularly, to an image encoding method for block setting and block mode determination for coding an image and an apparatus using the same.

최근 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 다양한 응용 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고품질이 될수록 기존의 영상 데이터에 비해 상대적으로 데이터량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용해 저장하는 경우, 전송 비용과 저장 비용이 증가하게 된다. 영상 데이터가 고해상도, 고품질화 됨에 따라 발생하는 이러한 문제들을 해결하기 위해서는 고효율의 영상 압축 기술들이 활용될 수 있다.Recently, the demand for high resolution and high quality images such as high definition (HD) image and ultra high definition (UHD) image is increasing in various applications. As the image data has high resolution and high quality, the amount of data increases relative to the existing image data. Therefore, when the image data is transmitted using a medium such as a wired / wireless broadband line or stored using an existing storage medium, The storage cost is increased. High-efficiency image compression techniques can be utilized to solve these problems caused by high-resolution and high-quality image data.

영상 압축 기술로 현재 픽쳐의 이전 또는 이후 픽쳐로부터 현재 픽쳐에 포함된 화소값을 예측하는 화면 간 예측 기술, 현재 픽쳐 내의 화소 정보를 이용하여 현재 픽쳐에 포함된 화소값을 예측하는 화면 내 예측 기술, 출현 빈도가 높은 값에 짧은 부호를 할당하고 출현 빈도가 낮은 값에 긴 부호를 할당하는 엔트로피 부호화 기술 등 다양한 기술이 존재하고 이러한 영상 압축 기술을 이용해 영상 데이터를 효과적으로 압축하여 전송 또는 저장할 수 있다.An inter picture prediction technique for predicting a pixel value included in a current picture from a previous or a subsequent picture of a current picture by an image compression technique, an intra picture prediction technique for predicting a pixel value included in a current picture using pixel information in the current picture, There are various techniques such as an entropy encoding technique in which a short code is assigned to a value having a high appearance frequency and a long code is assigned to a value having a low appearance frequency. Image data can be effectively compressed and transmitted or stored using such an image compression technique.

본 발명의 일 실시예는 코딩 블록에 대하여 코딩을 수행할지 여부를 신속하게 결정할 수 있는 영상의 부호화 방법 및 부호화 장치를 제공하는 것을 목적으로 한다.An object of the present invention is to provide an image coding method and apparatus capable of quickly determining whether coding is to be performed on a coding block.

본 발명의 일 실시예는 코딩 블록을 효과적으로 분할할 수 있는 영상의 부호화 방법 및 부호화 장치를 제공하는 것을 목적으로 한다.An object of the present invention is to provide an image coding method and apparatus capable of effectively dividing a coding block.

본 발명의 일 실시예는 예측 모드 결정 시 연산량을 감소시킬 수 있는 영상의 부호화 방법 및 부호화 장치를 제공하는 것을 목적으로 한다.An object of the present invention is to provide an image encoding method and apparatus capable of reducing the amount of computation when determining a prediction mode.

또한, 본 발명의 일 실시예는 불필요한 화면간 부호화 예측 모드 계산을 감소시킬 수 있는 영상의 부호화 방법 및 부호화 장치를 제공하는 것을 목적으로 한다.It is another object of the present invention to provide an image coding method and apparatus capable of reducing unnecessary inter-picture coding prediction mode calculation.

본 발명의 일 실시형태는 코딩 유닛의 부호화 결정 방법은 부호화가 완료된 현재 코딩 유닛의 최적 모드를 확인하는 단계와, 상기 현재 코딩 유닛의 최적 모드를 확인한 후, 부호화가 완료된 코딩 유닛의 DRSM(Depth Range Selection Mechanism)을 설정하는 단계와, 상기 DRSM을 이용하여 부호화를 수행하는 코딩 유닛의 깊이 범위를 결정하는단계를 포함할 수 있다.According to an embodiment of the present invention, there is provided a coding determination method of a coding unit, comprising: confirming an optimal mode of a current coding unit in which coding has been completed; checking a best mode of the current coding unit; Selection Mechanism), and determining a depth range of a coding unit that performs coding using the DRSM.

본 발명의 일 실시예에 따르면 코딩 블록에 대하여 코딩을 수행할지 여부를 신속하게 결정할 수 있는 영상의 부호화 방법 및 부호화 장치가 제공된다. According to an embodiment of the present invention, there is provided an image encoding method and apparatus capable of quickly determining whether to perform coding on a coding block.

본 발명의 일 실시예에 따르면, 코딩 블록을 효과적으로 분할 할 수 있는 영상의 부호화 방법 및 부호화 장치가 제공된다. 이로써, 복잡도를 감소시킬 수 있다.According to an embodiment of the present invention, an image encoding method and an encoding apparatus capable of effectively dividing a coding block are provided. As a result, the complexity can be reduced.

본 발명의 일 실시예에 따르면 예측 모드 결정 시 연산량을 감소시킬 수 있는 영상의 부호화 방법 및 부호화 장치가 제공된다.According to an embodiment of the present invention, there is provided an image encoding method and an encoding apparatus capable of reducing a computation amount when a prediction mode is determined.

또한, 본 발명의 일 실시예에 따르면 불필요한 화면간 부호화 예측 모드 계산을 감소시킬 수 있는 영상의 부호화 방법 및 부호화 장치가 제공된다.According to an embodiment of the present invention, there is provided an image encoding method and apparatus capable of reducing unnecessary inter-picture encoding prediction mode calculation.

도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 하나의 유닛이 복수의 하위 유닛으로 분할되는 실시예를 개략적으로 나타내는 개념도이다.
도 4는 본 발명의 일 실시예에 따라 영상의 모드를 결정하는 방법을 설명하기 위한 제어 흐름도이다.
도 5는 본 발명의 일 실시예에 따라 코딩 블록이 분할된 예를 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 코딩 유닛의 부호화 조기 결정 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 다른 실시예에 따른 코딩 유닛의 부호화 조기 결정 방법을 설명하기 위한 도면이다.
도8은 본 발명의 또 다른 실시예에 따른 코딩 유닛의 부호화 조기 결정 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 코딩 유닛의 부호화 조기 결정 방법을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 코딩 유닛의 부호화 조기 결정 방법을 설명하기 위한 도면이다.
1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.
2 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
3 is a conceptual diagram schematically showing an embodiment in which one unit is divided into a plurality of lower units.
4 is a control flowchart for explaining a method of determining a mode of an image according to an embodiment of the present invention.
5 is a diagram illustrating an example in which a coding block is divided according to an embodiment of the present invention.
6 is a diagram for explaining an early coding determination method of a coding unit according to an embodiment of the present invention.
7 is a diagram for explaining an early coding determination method of a coding unit according to another embodiment of the present invention.
8 is a diagram for explaining an early coding determination method of a coding unit according to another embodiment of the present invention.
9 is a diagram for explaining an early coding determination method of a coding unit according to an embodiment of the present invention.
FIG. 10 is a diagram for explaining a coding early determination method of a coding unit according to an embodiment of the present invention.

이하, 도면을 참조하여 본 발명의 실시예에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 해당 설명을 생략할 수도 있다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In describing the embodiments of the present invention, if the detailed description of related known structures or functions is deemed to obscure the subject matter of the present specification, the description may be omitted.

본 명세서에서 어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있는 것을 의미할 수도 있고, 중간에 다른 구성 요소가 존재하는 것을 의미할 수도 있다. 아울러, 본 명세서에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다. When an element is referred to herein as being "connected" or "connected" to another element, it may mean directly connected or connected to the other element, Element may be present. In addition, the content of " including " a specific configuration in this specification does not exclude a configuration other than the configuration, and means that additional configurations can be included in the scope of the present invention or the scope of the present invention.

제1, 제2 등의 용어는 다양한 구성들을 설명하는데 사용될 수 있지만, 상기 구성들은 상기 용어에 의해 한정되지 않는다. 상기 용어들은 하나의 구성을 다른 구성으로부터 구별하는 목적으로 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성은 제2 구성으로 명명될 수 있고, 유사하게 제2 구성도 제1 구성으로 명명될 수 있다.The terms first, second, etc. may be used to describe various configurations, but the configurations are not limited by the term. The terms are used for the purpose of distinguishing one configuration from another. For example, without departing from the scope of the present invention, the first configuration may be referred to as the second configuration, and similarly, the second configuration may be named as the first configuration.

또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성 단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 하나의 구성부를 이루거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있다. 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리 범위에 포함된다.In addition, the constituent elements shown in the embodiments of the present invention are shown independently to represent different characteristic functions, which do not mean that each constituent element is composed of separate hardware or a single software constituent unit. That is, each constituent unit is included in each constituent unit for convenience of explanation, and at least two constituent units of each constituent unit may form one constituent unit or one constituent unit may be divided into a plurality of constituent units to perform a function. The integrated embodiments and the separate embodiments of each component are also included in the scope of the present invention unless they depart from the essence of the present invention.

또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.In addition, some of the components are not essential components to perform essential functions in the present invention, but may be optional components only to improve performance. The present invention can be implemented only with components essential for realizing the essence of the present invention, except for the components used for the performance improvement, and can be implemented by only including the essential components except the optional components used for performance improvement Are also included in the scope of the present invention.

우선, 설명의 편의를 도모하고 발명을 이해를 돕기 위해, 본 명세서에서 사용되는 용어들에 대하여 간략하게 설명한다. First, in order to facilitate the description and to facilitate understanding of the invention, terms used in this specification will be briefly described.

유닛(unit)은 영상 부호화 및 복호화의 단위를 의미한다. 다시 말하면, 영상 부호화/복호화에 있어서 부호화 단위 혹은 복호화 단위라 함은, 하나의 영상을 세분화된 유닛으로 분할하여 부호화 혹은 복호화 할 때 그 분할된 단위를 말한다. 블록(block), 매크로 블록, 부호화 유닛(coding unit) 또는 예측 유닛(prediction unit) 또는 변환 유닛(transform unit) 또는 부호화 블록(coding block) 또는 예측 블록(prediction block) 또는 변환 블록(transform block) 등으로 부를 수 있다. 하나의 유닛은 크기가 더 작은 하위 유닛으로 분할될 수 있다.A unit is a unit of image encoding and decoding. In other words, a coding unit or a decoding unit in image coding / decoding refers to a divided unit when one image is divided into subdivided units and is then encoded or decoded. A block, a macroblock, a coding unit or a prediction unit, a transform unit, a coding block, a prediction block or a transform block, etc. . One unit may be divided into smaller-sized lower units.

변환 유닛(transform unit)은 변환, 역변환, 양자화, 역양자화, 변환 계수 부호화/복호화와 같이 잔차 블록(residual block)의 부호화/복호화를 수행함에 있어 기본 유닛 혹은 단위 유닛이며, 하나의 변환 유닛은 분할되어 크기가 다수의 작은 변환 유닛으로 분할될 수 있다. 또한, 변환 블록과 동일한 의미로 사용될 수 있으며, 휘도와 색차 신호에 대한 변환 블록에 관련된 구문 요소(syntax element)가 포함된 형태를 변환 유닛이라 지칭할 수도 있다.A transform unit is a basic unit or a unit unit for performing coding / decoding of residual blocks such as transform, inverse transform, quantization, inverse quantization, and transform coefficient coding / decoding, and one transform unit is divided So that the size can be divided into a plurality of small conversion units. In addition, it can be used in the same sense as a conversion block, and a form including a syntax element related to a conversion block for luminance and chrominance signals may be referred to as a conversion unit.

양자화 행렬(quantization matrix)은 영상의 주관적 화질 혹은 객관적 화질을 향상시키기 위해서 양자화 혹은 역양자화 과정에서 이용되는 행렬을 의미한다. 양자화 행렬은 스케일링 리스트(scaling list)라고도 불린다. A quantization matrix means a matrix used in a quantization or inverse quantization process to improve the subjective or objective image quality of an image. The quantization matrix is also called a scaling list.

양자화/역양자화에 사용되는 양자화 행렬은 비트스트림(bitstream)으로 전송될 수도 있고, 영상 부호화 장치 및/혹은 영상 복호화 장치가 이미 보유한 기본 행렬(default matrix)이 사용될 수도 있다. 전송되는 양자화 행렬의 정보는 시퀀스 파라미터 세트(SPS: sequence parameter set) 또는 픽처 파라미터 세트(PPS: picture parameter set)을 통해 양자화 행렬의 크기 혹은 양자화 행렬이 적용되는 변환 블록 크기 별로 일괄 전송될 수 있다. 예컨대, 4x4 변환 블록을 위한 4x4 양자화 행렬들이 전송되고, 8x8 변환 블록을 위한 8x8 행렬들이 전송되고, 16x16 변환 블록을 위한 16x16 행렬들이 전송되고, 32x32 변환 블록을 위한 32x32 행렬들이 전송될 수 있다.The quantization matrix used for quantization / dequantization may be transmitted as a bitstream, or a default matrix already possessed by the image encoding apparatus and / or the image decoding apparatus may be used. The information of the quantization matrix to be transmitted may be collectively transmitted according to the size of the quantization matrix through a sequence parameter set (SPS) or a picture parameter set (PPS) or the size of a transform block to which a quantization matrix is applied. For example, 4x4 quantization matrices for a 4x4 transform block may be sent, 8x8 matrices for an 8x8 transform block may be sent, 16x16 matrices for a 16x16 transform block may be sent, and 32x32 matrices for a 32x32 transform block may be sent.

현재 블록에 적용되는 양자화 행렬은 (1) 동일한 크기의 양자화 행렬을 복사하여 획득될 수도 있고, (2) 양자화 행렬 내 이전 행렬 계수(matrix coefficient)로부터 예측에 의해 생성될 수도 있다. 동일한 크기의 행렬은 이전에 부호화 혹은 복호화 혹은 사용된 양자화 행렬일 수도 있고, 참조 양자화 행렬일 수도 있으며 기본 양자화 행렬일 수도 있다. 혹은 이전에 부호화 혹은 복호화 혹은 사용된 양자화 행렬, 참조 양자화 행렬, 기본 양자화 행렬 중 적어도 둘을 포함하는 조합으로부터 선택적으로 결정될 수도 있다. The quantization matrix applied to the current block may be obtained by (1) copying a quantization matrix of the same size, or (2) by prediction from a previous matrix coefficient in the quantization matrix. A matrix of the same size may be a previously quantized, decoded, or used quantization matrix, a reference quantization matrix, or a basic quantization matrix. Or a combination including at least two of a quantization matrix, a reference quantization matrix, and a basic quantization matrix which have been previously encoded or decoded or used.

파라미터 세트(parameter set)는 비트스트림 내의 구조 중 헤더 정보에 해당하며, 시퀀스 파라미터 세트, 픽처 파라미터 세트, 적응 파라미터 세트(adaptation parameter set) 등을 통칭하는 의미를 가진다.A parameter set corresponds to header information in a structure in a bitstream, and has a meaning collectively referred to as a sequence parameter set, a picture parameter set, an adaptation parameter set, and the like.

양자화 매개변수(quantization parameter)는 양자화 및 역양자화에서 사용되는 값으로서, 양자화 매개변수는 양자화 스텝 크기(step size)에 매핑된 값일 수 있다.The quantization parameter may be a value used in quantization and inverse quantization, and the quantization parameter may be a value mapped to a quantization step size.

기본 행렬은 영상 부호화 장치 및/혹은 영상 복호화 장치에서 미리 정의되어 있는 소정의 양자화 행렬을 의미할 수 있으며, 본 명세서에서 후술될 기본 양자화 행렬은 기본 행렬과 동일한 의미로 사용될 수 있다. 비-기본 행렬(non-default matrix)은 영상 부호화 장치 및/혹은 영상 복호화 장치에서 미리 정의되지 않고, 영상 부호화 장치에서 영상 복호화 장치로 전송되는 즉, 사용자에 의해서 전송/수신되는 양자화 행렬을 의미할 수 있으며, 본 명세서에서 후술될 비-기본 양자화 행렬은 비-기본 행렬과 동일한 의미로 사용될 수 있다.The basic matrix may denote a predetermined quantization matrix predefined in the image encoding apparatus and / or the image decoding apparatus, and the basic quantization matrix to be described later in this specification may be used in the same meaning as the basic matrix. The non-default matrix means a quantization matrix that is not previously defined in the image encoding apparatus and / or the image decoding apparatus, but is transmitted from the image encoding apparatus to the image decoding apparatus, that is, transmitted / received by the user And a non-basic quantization matrix to be described later in this specification can be used in the same sense as a non-basic matrix.

도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.

도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조 영상 버퍼(190)를 포함한다. 1, the image encoding apparatus 100 includes a motion prediction unit 111, a motion compensation unit 112, an intra prediction unit 120, a switch 115, a subtractor 125, a transform unit 130, A quantization unit 140, an entropy encoding unit 150, an inverse quantization unit 160, an inverse transformation unit 170, an adder 175, a filter unit 180, and a reference image buffer 190.

영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림을 출력할 수 있다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환될 수 있다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분을 부호화할 수 있다. 이때, 입력 영상은 원 영상(original picture)를 의미할 수 있다.The image encoding apparatus 100 may encode an input image in an intra mode or an inter mode and output a bit stream. Intra prediction is intra prediction, and inter prediction is inter prediction. In the intra mode, the switch 115 is switched to the intra mode, and in the inter mode, the switch 115 can be switched to the inter mode. The image encoding apparatus 100 may generate a prediction block for an input block of the input image, and may then code the difference between the input block and the prediction block. At this time, the input image may mean an original picture.

인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.In the intra mode, the intra prediction unit 120 may generate a prediction block by performing spatial prediction using the pixel value of the already coded block around the current block.

인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 영상 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 여기서, 움직임 벡터는 인터 예측에 사용되는 2차원 벡터이며, 현재 블록과 참조 영상 내 블록 사이의 오프셋을 나타낼 수 있다. In the inter mode, the motion predicting unit 111 may obtain a motion vector by searching an area of the reference image stored in the reference image buffer 190, which is best matched with the input block, in the motion estimation process. The motion compensation unit 112 may generate a prediction block by performing motion compensation using a motion vector. Here, the motion vector is a two-dimensional vector used for inter prediction, and can represent an offset between a current block and a block in the reference image.

감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔차 블록을 생성할 수 있다. 변환부(130)는 잔차 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 매개변수와 양자화 행렬 중 적어도 하나를 이용하여 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다. 이때, 양자화 행렬은 영상 부호화 장치에 입력되어질 수 있으며, 입력되어진 양자화 행렬이 영상 부호화 장치에서 사용되기로 결정될 수 있다.The subtractor 125 can generate the residual block by the difference between the input block and the generated prediction block. The transforming unit 130 may perform a transform on the residual block to output a transform coefficient. The quantization unit 140 may quantize the input transform coefficient using at least one of a quantization parameter and a quantization matrix to output a quantized coefficient. At this time, the quantization matrix may be input to the image encoding apparatus, and the input quantization matrix may be determined to be used in the image encoding apparatus.

엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 비트스트림(bit stream)을 출력할 수 있다. 엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. 엔트로피 부호화부(150)는 엔트로피 부호화를 위해 지수-골롬 코드(Exponential-Golomb Code), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다. The entropy encoding unit 150 may output a bit stream by performing entropy encoding based on the values calculated by the quantization unit 140 or the encoding parameter values calculated in the encoding process. When entropy encoding is applied, a small number of bits are allocated to a symbol having a high probability of occurrence, and a large number of bits are allocated to a symbol having a low probability of occurrence, thereby expressing symbols, The size of the column can be reduced. Therefore, the compression performance of the image encoding can be enhanced through the entropy encoding. The entropy encoding unit 150 may use an encoding method such as Exponential-Golomb Code, Context-Adaptive Variable Length Coding (CAVLC), and Context-Adaptive Binary Arithmetic Coding (CABAC) for entropy encoding.

도 1의 실시예에 따른 영상 부호화 장치(100)는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환된다. 역양자화 및 역변환된 계수는 복원된 잔차 블록이 되어 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성된다. Since the image encoding apparatus 100 according to the embodiment of FIG. 1 performs inter-prediction encoding, that is, inter-view prediction encoding, the currently encoded image needs to be decoded and stored for use as a reference image. Accordingly, the quantized coefficients are inversely quantized in the inverse quantization unit 160 and inversely transformed in the inverse transformation unit 170. The inverse quantized and inverse transformed coefficients become reconstructed residual blocks and added to the prediction block through an adder 175 to generate reconstructed blocks.

복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(180)는 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 픽셀값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 필터부(180)를 거친 복원 블록은 참조 영상 버퍼(190)에 저장될 수 있다.
The restoration block passes through the filter unit 180 and the filter unit 180 applies at least one of a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) can do. The filter unit 180 may be referred to as an in-loop filter. The deblocking filter can remove block distortion occurring at the boundary between the blocks. The SAO may add a proper offset value to the pixel value to compensate for coding errors. ALF can perform filtering based on the comparison between the reconstructed image and the original image. The restoration block having passed through the filter unit 180 may be stored in the reference image buffer 190.

도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.2 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.

도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 가산기(255), 필터부(260) 및 참조 영상 버퍼(270)를 포함한다.2, the image decoding apparatus 200 includes an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, an intra prediction unit 240, a motion compensation unit 250, an adder 255, a filter unit 260, and a reference image buffer 270.

영상 복호화 장치(200)는 영상 부호화 장치에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔차 블록(reconstructed residual block)을 얻고 예측 블록을 생성한 후 복원된 잔차 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.The video decoding apparatus 200 receives the bit stream output from the video encoding apparatus, decodes the video stream into the intra mode or the inter mode, and outputs the reconstructed video, that is, the reconstructed video. In the intra mode, the switch is switched to the intra mode, and in the inter mode, the switch can be switched to the inter mode. The image decoding apparatus 200 may obtain a reconstructed residual block from the input bitstream, generate a prediction block, and add the reconstructed residual block and the prediction block to generate a reconstructed block, i.e., a reconstructed block .

엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법과 유사하다.The entropy decoding unit 210 may entropy-decode the input bitstream according to a probability distribution to generate symbols including a symbol of a quantized coefficient type. The entropy decoding method is similar to the entropy encoding method described above.

엔트로피 복호화 방법이 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 각 심볼들에 대한 비트열의 크기가 감소될 수 있다.When the entropy decoding method is applied, a small number of bits are assigned to a symbol having a high probability of occurrence, and a large number of bits are assigned to a symbol having a low probability of occurrence, so that the size of a bit string for each symbol is Can be reduced.

양자화된 계수는 역양자화부(220)에서 양자화 매개변수를 이용해서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환된 결과, 복원된 잔차 블록이 생성될 수 있다. The quantized coefficients are inversely quantized in the inverse quantization unit 220 using the quantization parameters and inversely transformed in the inverse transformation unit 230. The reconstructed residual blocks can be generated as a result of inverse quantization / inverse transformation of the quantized coefficients.

역양자화에 사용되는 양자화 행렬은 스케일링 리스트라고도 불린다. 역양자화부(220)는 양자화된 계수에 양자화 행렬을 적용하여 역양자화된 계수를 생성할 수 있다. The quantization matrix used for inverse quantization is also called a scaling list. The inverse quantization unit 220 may generate a dequantized coefficient by applying a quantization matrix to the quantized coefficients.

이때 역양자화부(220)는 영상 부호화 장치에서 적용된 양자화에 대응하여 역양자화를 수행할 수 있다. 예컨대, 역양자화부(220)는 영상 부호화 장치에서 적용된 양자화 행렬을 양자화된 계수에 역으로 적용하여 역양자화를 수행할 수 있다. In this case, the inverse quantization unit 220 may perform inverse quantization in response to the quantization applied in the image encoding apparatus. For example, the inverse quantization unit 220 can perform inverse quantization by applying the quantization matrix applied in the image coding apparatus to the quantized coefficients inversely.

영상 복호화 장치(200)에서 역양자화에 사용되는 양자화 행렬은 비트스트림으로부터 수신될 수도 있고, 영상 부호화 장치 및/혹은 영상 복호화 장치가 이미 보유한 기본 행렬이 사용될 수도 있다. 전송되는 양자화 행렬의 정보는 시퀀스 파라미터 세트 또는 픽처 파라미터 세트를 통해 양자화 행렬 크기 혹은 양자화 행렬이 적용되는 변환 블록 크기 별로 일괄 수신될 수 있다. 예컨대, 4x4 변환 블록을 위한 4x4 양자화 행렬들이 수신되고, 8x8 변환 블록을 위한 8x8 행렬들이 수신되고, 16x16 변환 블록을 위한 16x16 행렬들이 수신되고, 32x32 변환 블록을 위한 32x32 행렬들이 수신될 수 있다.The quantization matrix used in the inverse quantization in the video decoding apparatus 200 may be received from the bitstream, or a basic matrix already held by the video encoding apparatus and / or the video decoding apparatus may be used. The information of the quantization matrix to be transmitted may be collectively received by the quantization matrix size through the sequence parameter set or the picture parameter set or by the conversion block size to which the quantization matrix is applied. For example, 4x4 quantization matrices for a 4x4 transform block may be received, 8x8 matrices for an 8x8 transform block may be received, 16x16 matrices for a 16x16 transform block may be received, and 32x32 matrices for a 32x32 transform block may be received.

인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 복호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 영상 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. In the intra mode, the intraprediction unit 240 may generate a prediction block by performing spatial prediction using the pixel value of the already decoded block around the current block. In the inter mode, the motion compensation unit 250 can generate a prediction block by performing motion compensation using a motion vector and a reference image stored in the reference image buffer 270. [

복원된 잔차 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거칠 수 있다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 복원 영상은 참조 영상 버퍼(270)에 저장되어 인터 예측에 사용될 수 있다.
The reconstructed residual block and the prediction block are added through the adder 255, and the added block can be passed through the filter unit 260. The filter unit 260 may apply at least one of a deblocking filter, SAO, and ALF to a restoration block or a restored picture. The filter unit 260 may output a reconstructed image, that is, a reconstructed image. The restored image is stored in the reference image buffer 270 and can be used for inter prediction.

도 3은 하나의 유닛이 복수의 하위 유닛으로 분할되는 실시예를 개략적으로 나타내는 개념도이다. 본 도면에서는 설명의 편의 상 영상의 처리 단위를 코딩 유닛(CU)를 일 예로 들어 설명한다.3 is a conceptual diagram schematically showing an embodiment in which one unit is divided into a plurality of lower units. In the figure, for convenience of explanation, the processing unit of the image is described by taking a coding unit (CU) as an example.

코딩 유닛(CU)이란 상기에서 설명한 비디오 신호의 처리 과정, 예를 들어 화면내(intra)/화면간(inter) 예측, 변환(transform), 양자화(quantization) 및/또는 엔트로피 코딩(entropy coding) 등의 과정에서 영상을 처리하기 위한 기본 단위를 의미한다. 하나의 영상을 코딩하는 데 있어서 사용되는 코딩 유닛의 크기는 일정하지 않을 수 있다. The coding unit CU is a processing unit for processing the above-described video signal, for example intra / inter prediction, transform, quantization and / or entropy coding In this paper, The size of the coding unit used in coding one image may not be constant.

코딩 유닛은 사각형 형태를 가질 수 있고, 하나의 코딩 유닛은 다시 여러 개의 코딩 유닛으로 분할 가능하다. 예를 들어, 2N x 2N 크기를 가지는 하나의 코딩 유닛은 다시 네 개의 NxN 크기를 가지는 코딩 유닛으로 분할될 수 있다. 이러한 코딩 유닛의 분할은 재귀적으로 이루어질 수 있으며, 모든 코딩 유닛들이 동일한 형태로 분할 될 필요는 없다. 다만 코딩 및 처리과정에서의 편의를 위하여 코딩 유닛의 최대 크기 또는 최소 크기에 대한 제한이 있을 수 있다. 코딩 유닛의 최대 크기가 정해졌다면 그것을 최대 코딩 유닛 크기라고 하며, 최소 크기가 정해졌다면 그것을 최소 코딩 유닛 크기라고 한다.The coding unit may have a rectangular shape, and one coding unit may be divided into several coding units again. For example, one coding unit having a size of 2N x 2N may again be divided into coding units having four NxN sizes. The division of such a coding unit can be made recursively, and not all the coding units need be divided into the same form. However, there may be restrictions on the maximum or minimum size of the coding unit for convenience in coding and processing. If the maximum size of the coding unit is determined, it is called the maximum coding unit size, and if the minimum size is specified, it is called the minimum coding unit size.

하나의 코딩 유닛에 대하여, 해당 코딩 유닛이 분할 되는지 여부를 나타내는 정보를 지정할 수 있다. 예를 들어, 분할 여부를 나타내는 플래그 값이 1이면 해당 노드에 대응하는 블록은 다시 4개의 블록으로 나누어지고, 0이면 더 이상 나누어지지 않고 해당 코딩 유닛에 대한 처리 프로세스가 수행될 수 있다.For one coding unit, information indicating whether or not the coding unit is divided may be specified. For example, if the flag indicating the division is 1, the block corresponding to the corresponding node is divided into four blocks again. If the flag is 0, the processing process for the corresponding coding unit can be performed without further division.

상기에서 설명한 코딩 유닛의 구조는 재귀적인 트리 구조를 이용하여 나타낼 수 있다. 즉, 하나의 영상 또는 최대 크기 코딩 유닛을 루트(root)로 하여, 다른 코딩 유닛으로 분할 되는 코딩 유닛은 분할된 코딩 유닛의 개수만큼의 자식(child) 노드를 가지게 된다. 따라서, 더 이상 분할되지 않는 코딩 유닛이 리프(leaf) 노드가 된다. 하나의 코딩 유닛에 대하여 정방형 분할만이 가능하다고 가정할 때, 하나의 코딩 유닛은 최대 4개의 다른 코딩 유닛으로 분할 될 수 있으므로 코딩 유닛 구조를 나타내는 트리는 쿼드 트리(Quard tree) 형태가 될 것이다. 편의상 이후 본 문서에서는, 최대 코딩 유닛 크기를 가지는 코딩 유닛을 최대 코딩 유닛(LCU)라고 하며 최소 코딩 유닛 크기를 가지는 코딩 유닛을 최소 코딩 유닛(SCU)라고 한다.The structure of the coding unit described above can be represented using a recursive tree structure. That is, a coding unit that is divided into other coding units, with one image or a maximum size coding unit root, has as many child nodes as the number of the divided coding units. Thus, the coding unit which is not further divided becomes a leaf node. Assuming that only one square division is possible for one coding unit, one coding unit may be divided into a maximum of four different coding units, so that the tree representing the coding unit structure will be in the form of a quad tree. For simplicity's sake, in the present document, a coding unit having a maximum coding unit size is referred to as a maximum coding unit (LCU), and a coding unit having a minimum coding unit size is referred to as a minimum coding unit (SCU).

인코더에서는 비디오 영상의 특성(예를 들어, 해상도)에 따라서 혹은 코딩의 효율을 고려하여 최대 및 최소 코딩 유닛 크기를 결정하고 이에 대한 정보 또는 이를 유도할 수 있는 정보가 비트스트림에 포함될 수 있다. In the encoder, the maximum and minimum coding unit sizes may be determined according to the characteristics (for example, resolution) of the video image or the efficiency of coding, and information about the maximum and minimum coding unit sizes may be included in the bitstream.

예를 들면, 최대 코딩 유닛 의 크기 및 트리의 최대 깊이가 정의되었을 때, 정방형 분할을 한다면, 코딩 유닛의 높이 및 너비는 부모 노드의 코딩 유닛의 높이 및 너비의 반이 되므로, 상기와 같은 정보를 이용하면 최소 코딩 유닛 크기를 구할 수 있다. 혹은 역으로, 최소 코딩 유닛 크기 및 트리의 최대 깊이를 미리 정의하여 이용하고, 이를 이용하여 필요할 경우에 최대 코딩 유닛의 크기를 유도하여 이용할 수 있다. 정방형 분할에서 유닛의 크기는 2의 배수 형태로 변화하기 때문에, 실제 코딩 유닛의 크기는 2를 밑으로 하는 로그 값으로 나타내어 전송 효율을 높일 수 있다.For example, when the maximum coding unit size and the maximum depth of the tree are defined, if the square division is performed, the height and width of the coding unit are half the height and width of the coding unit of the parent node, You can get the minimum coding unit size. Conversely, the minimum coding unit size and the maximum depth of the tree can be predefined and utilized, and the maximum coding unit size can be derived and used if necessary. Since the size of a unit changes in a square of 2 in a square partition, the size of the actual coding unit is expressed as a log value of 2 or less, which can increase the transmission efficiency.

디코더에서는 현재 코딩 유닛이 분할 되었는지를 나타내는 정보를 획득할 수 있다. 이러한 정보는 특정 조건 하에만 획득하게(전송되게) 하면 효율을 높일 수 있다. 예를 들어 현재 코딩 유닛이 SCU라면 더 이상 작은 코딩 유닛으로 분할되지 않으므로, 이러한 경우에는 분할되었는지 나타내는 정보를 획득할 필요가 없다. The decoder may obtain information indicating whether the current coding unit is partitioned. This information can only be obtained (sent) under certain conditions to increase efficiency. For example, if the current coding unit is an SCU, it is no longer divided into smaller coding units, so in this case, it is not necessary to acquire information indicating that it is divided.

만약 상기 정보가 코딩 유닛이 분할되었음을 나타내는 경우, 분할된 코딩 유닛의 크기는 현재 코딩 유닛의 반이 되고, 현재 처리 위치를 기준으로 4개의 정방형 코딩 유닛으로 분할된다. 각 분할된 코딩 유닛들에 대해서 상기와 같은 처리를 반복할 수 있다.If the information indicates that the coding unit has been divided, the size of the divided coding unit is half of the current coding unit, and is divided into four square coding units based on the current processing position. The above processing can be repeated for each divided coding unit.

하나의 유닛 혹은 블록은 트리 구조(tree structure)를 기초로 깊이 정보를 가지고 계층적으로 분할될 수 있다. 각각의 분할된 하위 유닛은 깊이 정보를 가질 수 있다. 상기 깊이 정보는 유닛이 분할된 회수 및/또는 정도를 나타내므로, 상기 하위 유닛의 크기에 관한 정보를 포함할 수도 있다.A unit or block can be hierarchically partitioned with depth information based on a tree structure. Each divided subunit may have depth information. The depth information may include information on the size of the lower unit, as the unit indicates the number and / or degree of division.

도 3의 310을 참조하면, 가장 상위 노드는 루트 노드(root node)로 불릴 수 있고, 가장 작은 깊이 값을 가질 수 있다. 이 때, 가장 상위 노드는 레벨 0의 깊이를 가질 수 있으며, 분할되지 않은 최초의 유닛을 나타낼 수 있다. Referring to 310 of FIG. 3, the uppermost node may be referred to as a root node and may have the smallest depth value. At this time, the uppermost node may have a depth of level 0, and may represent the first unpartitioned unit.

레벨 1의 깊이를 갖는 하위 노드는 최초 유닛이 한 번 분할된 유닛을 나타낼 수 있으며, 레벨 2의 깊이를 갖는 하위 노드는 최초의 유닛이 두 번 분할된 유닛을 나타낼 수 있다. 예를 들어, 도 3의 320에서 노드 a에 대응하는 유닛 a는 최초 유닛에서 한 번 분할된 유닛이고, 레벨 1의 깊이를 가질 수 있다.A lower node having a depth of level 1 may represent a unit in which the first unit is divided once and a lower node having a depth of level 2 may represent the unit in which the first unit is divided twice. For example, in FIG. 3, the unit a corresponding to the node a in 320 is a unit that has been divided once in the initial unit and can have a depth of level 1.

레벨 3의 리프 노드(leaf node)는 최초 유닛이 3번 분할된 유닛을 나타낼 수 있다. 예를 들어, 도3의 320에서 노드 d에 대응하는 유닛 d는 최초 유닛에서 세 번 분할된 유닛이고, 레벨 3의 깊이를 가질 수 있다. 따라서, 가장 하위 노드인 레벨 3의 리프 노드는 가장 깊은 깊이를 가질 수 있다.
A level 3 leaf node may represent a unit in which the first unit is divided three times. For example, in FIG. 3, the unit d corresponding to the node d in 320 is a unit divided three times in the initial unit, and can have a depth of level 3. Therefore, the leaf node of level 3, which is the lowest node, can have the deepest depth.

현재 JCT-VC에서 차세대 비디오 표준으로 HEVC(High Efficiency Video Coding) 기술에 대한 표준을 진행하고 있다. HEVC는 기존에 최고의 압축률을 제공하는 H.264/AVC 대비 약 50% 이상의 압축효율을 목표로 하고 있으며, 이를 위해 많은 부호화 Tools이 새롭게 제안되었다. 기존의 비디오 코덱들은 매크로블럭(16x16)단위로 부호화를 수행한 반면, HEVC에서는 고해상도 비디오에 대해 최적의 압축효율을 높이기 위해 CU (Coding Unit), PU (Prediction Unit), TU (Transform Unit)별 최적의 블록사이즈로 압축할 수 있게 디자인 되었다. Currently, JCT-VC is working on standards for High Efficiency Video Coding (HEVC) technology as the next generation video standard. HEVC aims at compression efficiency of more than 50% compared to H.264 / AVC which provides the best compression ratio. Many coding tools have been proposed for this purpose. Conventional video codecs are coded in macroblocks (16x16), while HEVC is optimized for CU (Coding Unit), PU (Prediction Unit) and TU (Transform Unit) Of the block size.

한편, HEVC에 따른 영상 부호화 방식은 화면간 부호화 모드 계산에 많은 연산량을 요구하고 있다. 이는 HEVC에 따른 영상 부호화 방식이 H.264/AVC 대비 화면간 부호화 과정은 블록의 기본 사이즈가 4배 커졌으며, 트리구조로 동일한 사이즈의 자식 CU들로 분할 되며 매번 PU와 TU에 대해서 계산을 수행하고 있기 때문이다.On the other hand, the image encoding method according to the HEVC requires a large amount of computation to calculate the inter picture coding mode. This is because the basic size of the block coding process is divided into the child CUs of the same size as the tree structure, and the calculation is performed on the PU and TU each time the image coding method according to the HEVC is H.264 / AVC. It is because.

CU는 최대 크기 64x64 (LCU: Largest Coding Unit)부터 32x32, 16x16, 8x8 크기의 블록으로 분할되고, 각각의 CU들은 최적의 PU와 TU의 최적 블록사이즈를 계산한다. 따라서 하나의 CU 사이즈에 (2Nx2N) SKIP, Inter_2Nx2N, Inter_2NxN, Inter_Nx2N, Inter_2NxnU, Inter_2NxnD, Inter_nRx2N, Inter_nLx2N, Intra_PCM mode를 지원하고 있다.The CU is divided into 32x32, 16x16, and 8x8 blocks from a maximum size 64x64 (LCU: Largest Coding Unit), and each CU calculates the optimum block size of the optimal PU and TU. Therefore, SKIP, Inter_2Nx2N, Inter_2NxN, Inter_N2N, Inter_2NxnU, Inter_2NxnD, Inter_nRx2N, Inter_nLx2N, and Intra_PCM modes are supported in one CU size.

만약 현재 CU 사이즈가 8x8인 경우에는 Inter_NxN, Intra_NxN 모드에 대해서도 율-왜곡 최적화 (RDO: Rate-Distortion Optimization)을 수행하여 하나의 CU 사이즈에서 가장 최적의 블록 모드를 결정하고 있다. If the current CU size is 8x8, Rate-Distortion Optimization (RDO) is performed for Inter_NxN and Intra_NxN modes to determine the most optimal block mode in one CU size.

화면간 부호화 자체가 가지는 복잡도가 화면내 부호화 보다 상당히 크기 때문에 효율적으로 화면간 부호화 모드를 조기 종결 할 수 있는 방법이 요구된다.There is a need for a method capable of efficiently terminating the inter-picture coding mode efficiently because the complexity of inter picture coding itself is considerably larger than that of intra picture coding.

따라서, 본 발명은 비디오 부호화 시, 현재 부호화 블록 (CU: Coding Unit)에서 블록 분할 과정을 조기에 결정하여 부호화기의 복잡도를 줄이는 방법 및 이를 이용한 장치를 제공한다. Accordingly, the present invention provides a method of reducing the complexity of an encoder by early determining a block division process in a current CU (Coding Unit) during video coding, and an apparatus using the method.

이러한 조기종결 방법을 적용하기 위하여 하나의 가장 큰 블록 (CTU: Coding Tree Unit)부터 가장 작은 블록 (SCU: Smallest Coding Unit) 까지 수행 할 때, 현재 부호화하는 블록 (CU)의 부모 블록과 자식 블록의 스킵(SKIP) 모드 상관성을 분석하여 조기에 블록 분할 과정을 종결하는 방법을 제안한다.In order to apply this early termination method, when performing from the largest one block (CTU: Coding Tree Unit) to the smallest block (SCU: Smallest Coding Unit), the parent block and the child block We propose a method to terminate the block partitioning process early by analyzing the SKIP mode correlation.

또한, 임의의 블록에 대한 부호화 과정 시, 현재 부호화하는 블록의 최적 모드와 주변 인접한 블록에 대한 스킵 모드 상관성을 이용하여 CU 분할 과정을 조기 종료할 수 있으며, 또한 이전의 부호화한 블록의 스킵 모드를 검출하여 하나의 CTU 내에서 다음 부호화시 최적의 블록(CU) 사이즈로 추정되는 CU에 대해서만 RDO를 계산하게 함으로써 화면간 부호화 과정의 많은 연산량을 줄일 수 있는 방법 및 장치를 제공한다. In addition, during the coding process for an arbitrary block, the CU division process can be terminated early using the optimal mode of the current block to be coded and the skip mode correlation for neighboring blocks, and the skip mode of the previous coded block can be terminated And calculating RDO only for a CU estimated as an optimal block (CU) size in the next encoding in one CTU, thereby providing a method and an apparatus capable of reducing a large amount of computation in inter picture coding.

최적의 블록 사이즈를 추청한다는 것을 보다 상세하게 설명하면 다음과 같다. 비디오 신호의 부호화의 기본 단위인 코딩 유닛(CU)은 정사각형의 사이즈를 가지며 그 크기가 64x64(CU 뎁스 0), 32x32(CU 뎁스 1), 16x16(CU 뎁스 2), 8x8(CU 뎁스 3)으로 나누어질 수 잇다. 상술한 바와 같이 가장 큰 사이즈의 코딩 유닛에 해당하는 64x64를 CTU라고 표현할 수 있다. It will be described in more detail that the optimum block size is estimated. The coding unit (CU), which is a basic unit for encoding a video signal, has a square size and has a size of 64x64 (CU depth 0), 32x32 (CU depth 1), 16x16 (CU depth 2), and 8x8 (CU depth 3) It can be divided. As described above, 64x64 corresponding to the coding unit of the largest size can be expressed as CTU.

이런 CTU를 부호화할 때, 각 사이즈 별로 RDO를 계산하여 가장 양호한, 즉 가장 적은 비트량에 좋은 화질을 코딩할 수 있는 코딩 유닛 구조를 찾는 과정이 필요하다. 예를 들어 코딩 유닛 구조는 64x64로 결정될 수도 있고, 32x32의 4개의 코딩 유닛들로 결정될 수도 있고, 또는 더 복잡한 구조롤 쪼개 질 수도 있다. 본 명세서에서 최적의 블록 사이즈로 추정되는 코딩 유닛이라는 것을 임의의 CTU 중 가장 최상의 부호화를 위하여 다양한 크기의 코딩 유닛을 분할되는 코딩 유닛 구조를 갖는 것을 의미한다. 또한, 모든 코딩 유닛 사이즈에 대하여 RDO를 연산하는 것이 아니라 최적의 블록 사이즈로 추정된 코딩 유닛에서만 RDO를 연산함으로서 복잡도를 감소키는 것을 목적으로 한다.
When coding these CTUs, it is necessary to calculate the RDO for each size and find a coding unit structure that can code the best, that is, the best quality for the smallest bit amount. For example, the coding unit structure may be determined to be 64x64, the coding unit may be determined to be 32x32, or a more complex structure may be split. In this specification, a coding unit estimated with an optimal block size means having a coding unit structure that is divided into coding units of various sizes for the best coding among arbitrary CTUs. It is also intended to reduce the complexity by computing RDO only in a coding unit estimated with an optimal block size, rather than calculating RDO for all coding unit sizes.

도 4는 본 발명의 일 실시예에 따라 영상의 모드를 결정하는 방법을 설명하기 위한 제어 흐름도이다. 4 is a control flowchart for explaining a method of determining a mode of an image according to an embodiment of the present invention.

우선, 부호화가 완료된 현재 코딩 유닛의 최적 모드를 확인한다(S401).First, the optimal mode of the current coding unit in which coding has been completed is confirmed (S401).

도 5는 본 발명의 일 실시예에 따라 코딩 블록이 분할된 예를 도시한 도면이다. 본 발명의 일 실시예에 따르면 현재 부호화하려는 코딩 유닛은 도 5와 같이 분할 구조를 가지고 있다. 이러한 분할 구조는 트리 구조와 유사하며, 코딩 유닛들간은 깊이(depth)에 따른 강한 깊이 유사성 (Depth Correlation)을 가진다. 5 is a diagram illustrating an example in which a coding block is divided according to an embodiment of the present invention. According to an embodiment of the present invention, a coding unit to be coded currently has a divided structure as shown in FIG. This division structure is similar to a tree structure, and the coding units have strong depth similarity according to the depth.

예를 들어, 깊이 2의 코딩 유닛을 현재 코딩 유닛(CU)라고 하면, 깊이 1의 코딩 유닛은 부모 CU , 깊이 3의 코딩 유닛은 자식 CU 라고 표현할 수 있다. 이 때 부모 CU에서 ROD를 계산하여 코딩에 대한 예측 모드가 스킵(SKIP) 모드로 결정되었다면, 현재 부호화하는 블록(현재 CU) 역시 스킵 모드로 결정될 확률이 높다. For example, if a coding unit of depth 2 is referred to as a current coding unit (CU), a coding unit of depth 1 may be referred to as a parent CU, and a coding unit of depth 3 may be referred to as a child CU. At this time, if the prediction mode for the coding is determined to be the skip mode (SKIP mode) by calculating the ROD in the parent CU, the probability of the current coding block (current CU) is also determined to be the skip mode.

코딩 유닛이 분할되며 화면간 예측을 수행할 때, 하나의 CTU에 대한 계산량은 1, 4, 16, 64번의 연산과정을 가지며 예측 유닛과 변환 유닛에 대한 계산량까지 고려한다면 엄청난 연산량을 가지게 된다. When the coding unit is divided and the inter prediction is performed, the calculation amount for one CTU is 1, 4, 16, 64, and the calculation amount for the prediction unit and the conversion unit is enormous.

따라서, 하나의 코딩 유닛에 대한 블록 분할을 통하여 발생하는 엄청난 연산량을 효과적으로 감소시키기 위하여 부호화하는 코딩 유닛의 최적 모드를 추정하기 위하여 현재 코딩 유닛 대한 스킵 모드 정보를 이용할 수 있다.Therefore, it is possible to use the skip mode information for the current coding unit to estimate the optimal mode of the coding unit to be encoded in order to effectively reduce the enormous amount of computation that occurs through block division for one coding unit.

본 발명의 일 실시예에 따르면, 현재 부호화하는 블록의 최적 모드가 스킵 모드 일 때, 현재 부호화된 블록의 자식 CU로 분할 과정을 수행하지 않고 조기에 코딩을 종료할 수 있다 According to an embodiment of the present invention, when the optimal mode of a current block to be coded is a skip mode, coding can be terminated early without performing a dividing process to a child CU of a current coded block

현재 코딩 유닛의 최적 모드를 확인한 후, 부호화가 완료된 코딩 유닛의 DRSM(Depth Range Selection Mechanism)을 설정한다(S402).After confirming the optimal mode of the current coding unit, a DRSM (Depth Range Selection Mechanism) of the coding unit in which the coding is completed is set (S402).

단계 S401에서 현재 부호화한 코딩 유닛의 최적 모드가 스킵 모드로 결정되었을 때, 코딩 유닛의 깊이를 DRSM로 설정하여 CTU로부터 다른 트리의 코딩 유닛을 부호화 할 때 부호화하는 깊이의 코딩 유닛이 스킵 모드를 가지거나 최적의 코딩 유닛인지 추정함으로써 현재 부호화 하려는 블록의 깊이를 결정할 수 있다. When the optimum mode of the coding unit currently coded in step S401 is determined as the skip mode, the coding unit of the depth to be encoded when the coding unit of another tree is encoded from the CTU by setting the depth of the coding unit to DRSM has a skip mode Or the optimal coding unit, thereby determining the depth of the block to be currently encoded.

하나의 CTU 내의 코딩 유닛들은 강한 깊이 유사성 (depth correlation)과 공간적 유사성(spatial correlation)을 가지고 있기 때문에 현재 부호화하려는 코딩 유닛이 스킵 모드일 때, 동일한 깊이를 갖는 코딩 유닛들과 그들의 자식 CU 또한 스킵 모들일 확률이 높다. Since the coding units in one CTU have strong depth correlation and spatial correlation, when the coding unit to be currently coded is the skip mode, the coding units having the same depth and their child CUs are also skipped .

또한, 현재 부호화하려는 코딩 유닛이 스킵 모드일 때, CTU로부터 발생하는 4개의 서브 트리(도 5의 32X32 코딩 유닛이 루트인 트리)에서 스킵 모드가 발생한 코딩 유닛의 부모 코딩 유닛과 동일한 크기를 갖는 다른 서브 트리의 코딩 유닛(detph -1의 코딩 유닛), 스킵 모드가 발생한 코딩 유닛의 자식 CU와 동일한 크기를 갖는 다른 서브 트리의 코딩 유닛(detph +1의 코딩 유닛), 스킵 모드가 발생한 코딩 유닛과 동일한 크기를 갖는 다른 서브 트리의 코딩 유닛(동일한 detph) 또한 스킵 모드일 가능성이 높다. In addition, when the coding unit to be currently coded is a skip mode, in the four subtrees (the tree in which the 32X32 coding unit of Fig. 5 is the root) generated from the CTU, the other coding unit having the same size as the parent coding unit of the coding unit A coding unit of a sub-tree (coding unit of detph-1), a coding unit of another subtree having the same size as a child CU of a coding unit in which a skip mode is generated (a coding unit of detph +1) The coding unit (same detph) of another subtree having the same size is also likely to be a skip mode.

예를 들어, 도 5과 같이 깊이가 2이고, 16x16의 크기를 갖는 코딩 유닛을 현재 CU라고 하는 경우, 깊이 1에 32x32의 크기를 갖는 코딩 유닛은 부모 CU, 깊이 3에 8x8의 크기를 갖는 코딩 유닛은 자식 CU가 된다. 이 때 만약 현재 CU가 스킵 모드이면 부모 CU 및 자식 CU도 스킵 모드일 가능성이 높다.For example, if a coding unit having a depth of 2 and a size of 16x16 is referred to as a CU, as shown in FIG. 5, a coding unit having a size of 32x32 at a depth of 1 includes a parent CU, a coding having a depth of 3, A unit becomes a child CU. At this time, if the current CU is in the skip mode, the parent CU and the child CU are also likely to be in the skip mode.

DRSM이 설정되면, DRSM을 이용하여 부호화를 수행하는 뎁스의 범위를 제한한다(S403). 본 단계를 통하여 현재 부호화하려는 코딩 유닛의 화면 간 부호화 모드를 조기 종결할 수 있다. When the DRSM is set, the range of the depth for performing the encoding using the DRSM is limited (S403). Through this step, the inter picture encoding mode of the coding unit to be currently encoded can be terminated early.

부호화 과정에서 처음으로 최적 모드로 스킵 모드가 선택된다면, 스킵 모드로 선택된 코딩 유닛의 깊이(detph)를 타겟 깊이(target detph)로 DRSM을 설정한다. If the skip mode is selected in the optimum mode for the first time in the encoding process, the DRSM is set to the target depth (target detph) of the depth of the coding unit selected in the skip mode.

DRSM이 결정된 후 나머지 코딩 유닛에 대하여 부호화를 수행할 때, 깊이의 유사성에 따라 손실을 줄이기 위하여 DRSM -1(target detph -1)과 DRSM +1 (target detph +1)의 범위(DRSM -1 ≤현재 부호화 하려는 코딩 유닛의 깊이 ≤ DRSM +1)를 만족하는 깊이의 코딩 유닛에 대해서만 추가적으로 부호화를 수행할 수 있다. (DRSM -1 (target detph -1) and DRSM +1 (target detph +1) in order to reduce the loss according to the similarity of the depth when encoding is performed for the remaining coding units after the DRSM is determined, Lt; = DRSM + 1) of the coding unit to be currently coded.

즉, DRSM이 결정된 후, 나머지 부호화 과정을 수행하는 코딩 유닛이 하기 수식 1의 조건을 만족한다면 부호화 과정을 수행하고, 상기 조건을 만족하기 못하면 부호화 과정을 생략한다. That is, after the DRSM is determined, if the coding unit that performs the remaining coding process satisfies the condition of Equation (1), the coding process is performed, and if the condition is not satisfied, the coding process is skipped.

<수식 1>&Lt; Formula 1 >

DRSM -1 ≤현재 부호화 하려는 코딩 유닛의 깊이 ≤ DRSM +1DRSM -1 ≤ depth of the coding unit to be currently coded ≤ DRSM +1

이러한 조기 결정 과정을 통하여 코딩 유닛에 대한 85번의 연산 과정을 최소 5번의 연산으로 80번의 연산 과정을 감소시킬 수 있다. 또한, 코딩 유닛의 조기 결정에 따른 예측 유닛과 변환 유닛에 대한 연산량을 포함하면 상당한 연산 과정을 감소시킬 수 있다.
Through this early determination process, 85 operations for the coding unit can be reduced to at least 5 operations and 80 operations can be reduced. Including the amount of calculation for the prediction unit and the conversion unit according to the early determination of the coding unit can also reduce a considerable amount of computation.

도 6은 본 발명의 일 실시예에 따른 코딩 유닛의 부호화 조기 결정 방법을 설명하기 위한 도면이다. 6 is a diagram for explaining an early coding determination method of a coding unit according to an embodiment of the present invention.

도 6에는 깊이(detph) 0에서부터 깊이 3까지 트리 구조로 분할된 코딩유닛이 도시되어 있다. 각 코딩 유닛은 복수의 예측 유닛(PUs)을 포함할 수 있다. FIG. 6 shows a coding unit divided into a tree structure from depth 0 to depth 3. Each coding unit may comprise a plurality of prediction units (PUs).

코딩 유닛은 깊이와 부호하 순서에 따라 표현될 수 있다. 예를 들어 가장 큰 코딩 유닛에 대응하는 코딩 유닛(601)은 깊이 0에 해당하므로 0으로 표시될 수 있고, 가장 큰 코딩 유닛(601)로부터 분할된 깊이가 1인 코딩 유닛(611, 612, 613, 614)은 깊이 1과 부호화 순서에 따라 1-0, 1-1, 1-2, 1-3으로 표현할 수 있다. The coding units can be expressed in depth and code order. For example, the coding unit 601 corresponding to the largest coding unit may be represented by 0 since it corresponds to the depth 0, and the coding unit 611, 612, 613 with a depth of 1 divided from the largest coding unit 601 , 614) can be expressed as 1-0, 1-1, 1-2, and 1-3 depending on the depth 1 and the coding order.

유사하게, 깊이 2인 코딩 유닛(620, 621) 및 깊이 3인 코딩 유닛(630, 631) 역시 깊이와 코딩 순서에 따라 2-0, 2-1, 2-2, 2-3, 3-0, 3-1, 3-2, 3-3 으로 표현될 수 있다. Likewise, depth 2 coding units 620 and 621 and depth 3 coding units 630 and 631 are also 2-0, 2-1, 2-2, 2-3 and 3-0 according to their depth and coding order. , 3-1, 3-2, 3-3.

실선으로 표시된 코딩 유닛은 부호화 과정을 수행하는 코딩 유닛을 의미하고, 점선으로 표시된 코딩 유닛은 부호화 과정을 생략하는 코딩 유닛을 의미한다. The coding unit indicated by the solid line means a coding unit for performing an encoding process and the coding unit indicated by a dotted line means a coding unit for omitting the encoding process.

만약, 깊이가 0인 코딩 유닛(601)에 대한 최적 모드를 확인한 결과, 코딩 유닛(601)의 최적 모드가 스킵 모드이면, 부호화가 완료된 코딩 유닛의 DRSM(Depth Range Selection Mechanism)을 설정한다. 본 실시예에 따를 경우, 깊이 0이 DRSM으로 설정된다.If the optimum mode of the coding unit 601 having the depth 0 is checked and the optimal mode of the coding unit 601 is the skip mode, the DRSM (Depth Range Selection Mechanism) of the coding unit in which the coding is completed is set. According to this embodiment, depth 0 is set to DRSM.

DRSM이 설정되면, 다음 부호화 하려는 코딩 유닛의 깊이가 수식 1을 만족하는지 여부를 판단하여 부호화를 수행하는 코딩 유닛의 깊이의 범위를 결정한다. When DRSM is set, it determines whether the depth of the next coding unit to be coded satisfies Equation 1 and determines the depth range of the coding unit to perform coding.

DRSM이 0으로 설정되었기 때문에 수식 1을 만족하는 깊이는 0과 1이 된다. 따라서, 깊이 0에 대한 코딩 유닛은 부호화가 이루어졌기 때문에 깊이 1에 속하는 코딩 유닛(611, 612, 613, 614)은 부호화 과정을 수행하고, 깊이 2 및 3에 속하는 코딩 유닛(620, 621, 630, 631)에 대하여는 부호화 과정을 생략할 수 있다.
Since DRSM is set to 0, the depths satisfying Equation 1 are 0 and 1, respectively. Therefore, since the coding unit for depth 0 is encoded, the coding units 611, 612, 613 and 614 belonging to the depth 1 perform the coding process and the coding units 620, 621 and 630 belonging to the depths 2 and 3 , 631) may be omitted.

도 7은 본 발명의 다른 실시예에 따른 코딩 유닛의 부호화 조기 결정 방법을 설명하기 위한 도면이다.7 is a diagram for explaining an early coding determination method of a coding unit according to another embodiment of the present invention.

도 7에는 도 6과 같이 깊이(detph) 0에서부터 깊이 3까지 트리 구조로 분할된 코딩유닛이 도시되어 있으며, 각 코딩 유닛은 복수의 예측 유닛(PUs)을 포함할 수 있다. FIG. 7 shows a coding unit divided into a tree structure from the depth (detph) 0 to the depth 3 as shown in FIG. 6, and each coding unit may include a plurality of prediction units (PUs).

코딩 유닛은 깊이와 부호화 순서에 따라 표현될 수 있다. 예를 들어 가장 큰 코딩 유닛에 대응하는 코딩 유닛(601)은 깊이 0에 해당하므로 0으로 표시될 수 있고, 가장 큰 코딩 유닛(701)로부터 분할된 깊이가 1인 코딩 유닛(711, 712, 713, 714)은 깊이 1과 부호화 순서에 따라 1-0, 1-1, 1-2, 1-3으로 표현할 수 있다. The coding units can be represented according to the depth and coding order. For example, the coding unit 601 corresponding to the largest coding unit can be represented by 0 since it corresponds to the depth 0, and the coding unit 711, 712, 713 with a depth of 1 divided from the largest coding unit 701 , 714) can be expressed as 1-0, 1-1, 1-2, and 1-3 depending on the depth 1 and the encoding order.

유사하게, 깊이 2인 코딩 유닛(720, 721) 및 깊이 3인 코딩 유닛(730, 731) 역시 깊이와 코딩 순서에 따라 2-0, 2-1, 2-2, 2-3, 3-0, 3-1, 3-2, 3-3 으로 표현될 수 있다. Similarly, the depth 2 coding units 720 and 721 and the depth 3 coding units 730 and 731 are also 2-0, 2-1, 2-2, 2-3, 3-0 , 3-1, 3-2, 3-3.

실선으로 표시된 코딩 유닛은 부호화 과정을 수행하는 코딩 유닛을 의미하고, 점선으로 표시된 코딩 유닛은 부호화 과정을 생략하는 코딩 유닛을 의미한다.The coding unit indicated by the solid line means a coding unit for performing an encoding process and the coding unit indicated by a dotted line means a coding unit for omitting the encoding process.

본 실시예는 CTU로부터 파생된 첫 번째 트리 1-0의 코딩 유닛(711)에서 스킵 모드가최적 모드로 발생하여 1-0의 깊이가 DRSM로 설정된 경우에 대한 예시이다. This embodiment is an example of a case in which the skip mode occurs in the optimum mode in the coding unit 711 of the first tree 1-0 derived from the CTU and the depth of 1-0 is set to DRSM.

DRSM은 깊이 1로 결정되고, DRSM이 결정된 코딩 유닛(711) 다음으로 부호화를 수행할 코딩 유닛(720a)부터는 조건을 판단하게 된다. The DRSM is determined to be a depth 1, and the coding unit 720a to which the DRSM is determined next determines the condition from the coding unit 720a to perform coding.

수식 1을 만족하는 DRSM의 범위는 깊이 0과 2가 된다. 따라서, 깊이 0~2에 속하는 코딩 유닛(701, 711, 712, 713, 714, 720, 721)에 대하여는 부호화 과정을 수행하고, 깊이 3에 속하는 코딩 유닛(730, 731)에 대하여는 부호화 과정을 생략할 수 있다.
The range of DRSM satisfying Eq. 1 is 0 and 2 in depth. Therefore, the coding process is performed for the coding units 701, 711, 712, 713, 714, 720 and 721 belonging to the depths 0 to 2, and the coding process is omitted for the coding units 730 and 731 belonging to the depths 3 can do.

도8은 본 발명의 또 다른 실시예에 따른 코딩 유닛의 부호화 조기 결정 방법을 설명하기 위한 도면이다.8 is a diagram for explaining an early coding determination method of a coding unit according to another embodiment of the present invention.

본 실시예에 따를 경우, CTU로부터 파생된 첫 번째 트리에서 깊이가 2이 첫 번째 코딩 유닛(820a)에서 스킵 모드가 최적 모드로 판단되었다. According to the present embodiment, the skip mode is determined to be the optimal mode in the first coding unit 820a with the depth of 2 in the first tree derived from the CTU.

이 때, 깊이 2가 DRSM으로 설정되며, DRSM이 결정된 코딩 유닛(820a)의 다음 순서로 부호화하는 코딩 유닛(830)부터는 수식 1에 대한 조건을 검사하게 된다. At this time, the depth 2 is set to DRSM, and the coding unit 830 which codes the DRSM in the next order of the determined coding unit 820a checks the condition for Equation 1. [

이때, 조건을 만족하는 깊이의 범위는 1과 3이다. 따라서 깊이 1~3에 속하는 코딩 유닛(811, 812, 813, 814, 820, 821, 830, 831)에 대해서는 부호화 과정을 수행한다. In this case, the range of the depth satisfying the condition is 1 and 3. Therefore, the coding process is performed on the coding units 811, 812, 813, 814, 820, 821, 830, and 831 belonging to the depths 1 to 3.

즉, DRSM이 2로 설정된 경우에는 모든 코딩 유닛에 대하여 부호화 과정을 전부 수행하게 된다.
That is, when DRSM is set to 2, all the coding units are performed for all the coding units.

도 9는 본 발명의 일 실시예에 따른 코딩 유닛의 부호화 조기 결정 방법을 설명하기 위한 도면이다.9 is a diagram for explaining an early coding determination method of a coding unit according to an embodiment of the present invention.

본 실시예에 따르면, CTU로부터 파생된 첫 번째 트리의 깊이 3의 첫 번째 코딩 유닛(930a)에서 스킵 모드가 최적 모드 판단되었다. According to the present embodiment, the skip mode is determined as the best mode in the first coding unit 930a of depth 3 of the first tree derived from the CTU.

이 경우, 이 때, 깊이 3이 DRSM으로 설정되며, DRSM이 결정된 코딩 유닛(930a)의 다음 순서로 부호화하는 코딩 유닛(930b)부터는 수식 1에 대한 조건을 검사하게 된다. In this case, at this time, the depth 3 is set to DRSM, and the condition for Equation 1 is checked from the coding unit 930b for coding in the next order of the coding unit 930a determined by the DRSM.

이때, 조건을 만족하는 깊이의 범위는 2와 3이다. 깊이 4는 설정되어 있지 않기 때문에 본 실시예에서는 부호화 조건을 판단하지 않는다.At this time, the range of the depth satisfying the condition is 2 and 3. Since the depth 4 is not set, the encoding conditions are not determined in this embodiment.

따라서 깊이 2~3에 속하는 코딩 유닛(920, 921, ,930, 931)에 대해서는 부호화 과정을 수행하고, CTU의 서브 트리 중 1-0에 해당하는 코딩 유닛(911)를 제외한 나머지 깊이 1에 속하는 코딩 유닛(912, 913, 914) 대해서는 부호화 과정을 생략한다.
Therefore, the coding process is performed on the coding units 920, 921, 930 and 931 belonging to the depths 2 to 3, and the coding unit 911 belonging to the depth 1 excluding the coding unit 911 corresponding to 1-0 of the CTU subtree The coding process is omitted for the coding units 912, 913, and 914.

도 10은 본 발명의 일 실시예에 따른 코딩 유닛의 부호화 조기 결정 방법을 설명하기 위한 도면이다.FIG. 10 is a diagram for explaining a coding early determination method of a coding unit according to an embodiment of the present invention.

본 실시예에 따르면, CTU로부터 파생된 첫 번째 트리의 깊이 1의 세 번째 코딩 유닛(1013)에서 스킵 모드가 최적 모드 판단되었다. According to the present embodiment, the skip mode is determined as the best mode in the third coding unit 1013 of depth 1 of the first tree derived from the CTU.

이 경우, 이 때, 1-2의 깊이가 DRSM으로 설정되며, DRSM이 결정된 코딩 유닛(1013)의 다음 순서로 부호화하는 코딩 유닛의 서브 코딩 유닛(2-0)부터는 수식 1에 대한 조건을 검사하게 된다. In this case, at this time, the condition for Equation 1 is checked from the subcoding unit 2-0 of the coding unit in which the depth of 1-2 is set to DRSM and the DRSM codes in the next order of the coding unit 1013 determined by the DRSM .

이때, 조건을 만족하는 깊이의 범위는 0과 2이다. 따라서, 깊이 0~2에 속하는 코딩 유닛(1001, 1011, 1012, 1013, 1014, 1020, 1021) 및 코딩 유닛(1013)이 스킵 모드로 판단되기 전에 부호화된 코딩 유닛(1030)에 대해서는 부호화 과정을 수행하고, 깊이 3에 속하는 코딩 유닛(1031, 1032)대해서는 부호화 과정을 생략한다.At this time, the range of the depth satisfying the condition is 0 and 2. Therefore, the coding process is performed for the coding unit 1030 encoded before the coding units 1001, 1011, 1012, 1013, 1014, 1020 and 1021 belonging to the depths 0 to 2 and the coding unit 1013 are judged as the skip mode And the coding process for the coding units 1031 and 1032 belonging to the depth 3 is omitted.

상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함한다. 예컨대, 각 실시예의 조합 역시 본 발명의 일 실시예로서 이해되어야 할 것이다.In the above-described exemplary system, the methods are described on the basis of a flowchart as a series of steps or blocks, but the present invention is not limited to the order of the steps, and some steps may occur in different orders or simultaneously . In addition, the above-described embodiments include examples of various aspects. For example, combinations of the embodiments are also to be understood as one embodiment of the present invention.

100 : 영상 부호화 장치 111: 움직임 예측부
112: 움직임 보상부 120 : 인트라 예측부
115 : 스위치 125 : 감산기
130 : 변환부 140 : 양자화부
150 : 엔트로피 부호화부 160 : 역양자화부
170 : 역변환부 180 : 필터부
100: image encoding device 111: motion prediction unit
112: motion compensation unit 120: intra prediction unit
115: Switch 125:
130: conversion unit 140: quantization unit
150: an entropy encoding unit 160: an inverse quantization unit
170: inverting section 180: filter section

Claims (1)

코딩 유닛의 부호화 결정 방법에 있어서,
부호화가 완료된 현재 코딩 유닛의 최적 모드를 확인하는 단계와;
상기 현재 코딩 유닛의 최적 모드를 확인한 후, 부호화가 완료된 코딩 유닛의 DRSM(Depth Range Selection Mechanism)을 설정하는 단계와;
상기 DRSM을 이용하여 부호화를 수행하는 코딩 유닛의 깊이 범위를 결정하는단계를 포함하는 것을 특징으로 하는 코딩 유닛의 부호화 결정 방법.
A coding method of a coding unit,
Confirming an optimal mode of the current coding unit in which the coding is completed;
Setting a DRSM (Depth Range Selection Mechanism) of a coding unit that has been coded after confirming the optimal mode of the current coding unit;
And determining a depth range of a coding unit that performs coding using the DRSM.
KR1020130034742A 2013-03-29 2013-03-29 Fast Video coding method KR20140120396A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130034742A KR20140120396A (en) 2013-03-29 2013-03-29 Fast Video coding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130034742A KR20140120396A (en) 2013-03-29 2013-03-29 Fast Video coding method

Publications (1)

Publication Number Publication Date
KR20140120396A true KR20140120396A (en) 2014-10-14

Family

ID=51992268

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130034742A KR20140120396A (en) 2013-03-29 2013-03-29 Fast Video coding method

Country Status (1)

Country Link
KR (1) KR20140120396A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120137305A (en) * 2011-06-10 2012-12-20 경희대학교 산학협력단 Methods of spliting block and apparatuses for using the same
JP2013017167A (en) * 2011-07-01 2013-01-24 Mitsubishi Electric Corp Method for coding pictures

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120137305A (en) * 2011-06-10 2012-12-20 경희대학교 산학협력단 Methods of spliting block and apparatuses for using the same
JP2013017167A (en) * 2011-07-01 2013-01-24 Mitsubishi Electric Corp Method for coding pictures

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
동일발명자논문 *

Similar Documents

Publication Publication Date Title
JP7266515B2 (en) Video encoding method and device, and video decoding method and device
KR102292788B1 (en) Multi-Type-Tree Framework for Video Coding
KR102250095B1 (en) Method and apparatus for encoding/decoding video with predicting quantization parameter of hierarchical data unit
CN109547790B (en) Apparatus and method for processing partition mode in high efficiency video codec
KR20170058838A (en) Method and apparatus for encoding/decoding of improved inter prediction
US20180220156A1 (en) Method and device for correcting distortion of panoramic video
WO2014084903A1 (en) Devices and methods for modifications of syntax related to transform skip for high efficiency video coding (hevc)
KR102480967B1 (en) Method and apparatus for image encoding/decoding
KR20130099852A (en) Methods for encoding and decoding candidate mode list in intra prediction mode
KR20140127385A (en) Method for decision of coding unit splittng
KR20170120418A (en) Apparatus and method for fast motion estimation encoding/decoding of enhancement later
KR20150095253A (en) Intra prediction method and apparatus for video coding
KR20150095254A (en) Intra prediction skip method and apparatus for video coding
KR20140120397A (en) Prediction unit mode determining method using Block Mode Complexity
KR102107080B1 (en) Fast Video coding method
KR20150048637A (en) Method and apparatus for inter color component prediction
KR101662741B1 (en) Method for image decoding
KR101618766B1 (en) Method and apparatus for image decoding
KR20150093969A (en) Method and apparatus for early mode decision of video
KR20140120396A (en) Fast Video coding method
KR101525015B1 (en) Method and apparatus for image encoding, and method and apparatus for image decoding
KR101618214B1 (en) Method for image decoding
JP2024513551A (en) Residual and coefficient coding decoding for video coding and decoding
KR20160088086A (en) Method for quantization based on fast rate-distortion optimization, and apparatus for the same
KR20140067996A (en) Method and apparatus for image encoding, and method and apparatus for image decoding

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E601 Decision to refuse application