KR20120034044A - Methods and apparatus for video transform encoding/decoding - Google Patents

Methods and apparatus for video transform encoding/decoding Download PDF

Info

Publication number
KR20120034044A
KR20120034044A KR1020110099710A KR20110099710A KR20120034044A KR 20120034044 A KR20120034044 A KR 20120034044A KR 1020110099710 A KR1020110099710 A KR 1020110099710A KR 20110099710 A KR20110099710 A KR 20110099710A KR 20120034044 A KR20120034044 A KR 20120034044A
Authority
KR
South Korea
Prior art keywords
information
decoding
block
inverse transform
transform
Prior art date
Application number
KR1020110099710A
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 한국전자통신연구원
Publication of KR20120034044A publication Critical patent/KR20120034044A/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/124Quantisation
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

PURPOSE: An image transformation encoding/decoding method and a device thereof are provided to minimize the capacity of transmission data and enhance the performance of image compression. CONSTITUTION: A decoder acquires context information to derive an inverse transformation method for a decoding target block(S610). The decoder derives the inverse transformation method for the decoding target block with the context information(S620). The decoder performs the inverse transformation for the decoding target block by using the derived inverse transformation method(S630).

Description

영상 변환 부호화/복호화 방법 및 장치 {METHODS AND APPARATUS FOR VIDEO TRANSFORM ENCODING/DECODING}Method and apparatus for image transformation encoding / decoding {METHODS AND APPARATUS FOR VIDEO TRANSFORM ENCODING / DECODING}

본 발명은 영상 처리에 관한 것으로서, 보다 상세하게는 영상 부호화/복호화 방법 및 장치에 관한 것이다.The present invention relates to image processing, and more particularly, to an image encoding / decoding method and apparatus.

최근 HD(High Definition) 해상도를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되면서, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지고 있으며 이에 따라 많은 기관들이 차세대 영상기기에 대한 개발에 박차를 가하고 있다. 또한 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 보다 높은 해상도, 고화질의 영상에 대한 압축기술이 요구되고 있다.Recently, as broadcasting services having high definition (HD) resolution have been expanded not only in Korea but also in the world, many users are accustomed to high resolution and high quality images, and many organizations are accelerating the development of next generation video equipment. In addition, as interest in Ultra High Definition (UHD), which has four times the resolution of HDTV, is increasing along with HDTV, a compression technology for higher resolution and higher quality images is required.

영상 압축 기술에는 시간적으로 이전 및/또는 이후의 픽쳐로부터 현재 픽쳐에 포함된 화소값을 예측하는 인터(inter) 예측 기술, 현재 픽쳐 내의 화소 정보를 이용하여 현재 픽쳐에 포함된 화소값을 예측하는 인트라(intra) 예측 기술, 원 영상 신호를 주파수 영역의 신호로 분해하는 변환 기술, 주파수 영역의 신호를 원 영상 신호로 복원하는 역변환 기술, 출현 빈도가 높은 심볼(symbol)에 짧은 부호를 할당하고 출현 빈도가 낮은 심볼에 긴 부호를 할당하는 엔트로피 부호화 기술 등이 있다. 이러한 영상 압축 기술들에 의해 영상 데이터가 효율적으로 압축될 수 있다.Image compression techniques include an inter prediction technique that predicts pixel values included in a current picture from a previous and / or subsequent picture in time, and an intra predictor of pixel values included in a current picture using pixel information in the current picture. (intra) prediction technique, transformation technique that decomposes the original video signal into the frequency domain signal, inverse transformation technique that restores the signal in the frequency domain to the original image signal, assigns a short code to the high frequency symbol There is an entropy encoding technique for assigning a long code to a low symbol. Image data can be efficiently compressed by these image compression techniques.

본 발명의 기술적 과제는 전송되는 정보량을 최소화하면서 영상 압축 성능을 향상시킬 수 있는 영상 부호화 방법 및 장치를 제공함에 있다.An object of the present invention is to provide an image encoding method and apparatus capable of improving image compression performance while minimizing the amount of transmitted information.

본 발명의 다른 기술적 과제는 전송되는 정보량을 최소화하면서 영상 압축 성능을 향상시킬 수 있는 영상 복호화 방법 및 장치를 제공함에 있다.Another object of the present invention is to provide an image decoding method and apparatus capable of improving image compression performance while minimizing the amount of transmitted information.

본 발명의 또 다른 기술적 과제는 전송되는 정보량을 최소화하면서 영상 압축 성능을 향상시킬 수 있는 변환 방법 및 장치를 제공함에 있다.Another technical problem of the present invention is to provide a conversion method and apparatus capable of improving image compression performance while minimizing the amount of transmitted information.

본 발명의 또 다른 기술적 과제는 전송되는 정보량을 최소화하면서 영상 압축 성능을 향상시킬 수 있는 역변환 방법 및 장치를 제공함에 있다.Another technical problem of the present invention is to provide an inverse transform method and apparatus capable of improving image compression performance while minimizing the amount of transmitted information.

본 발명의 또 다른 기술적 과제는 전송되는 정보량을 최소화하면서 영상 압축 성능을 향상시킬 수 있는 엔트로피 부호화 방법 및 장치를 제공함에 있다.Another technical problem of the present invention is to provide an entropy encoding method and apparatus capable of improving image compression performance while minimizing the amount of transmitted information.

본 발명의 또 다른 기술적 과제는 전송되는 정보량을 최소화하면서 영상 압축 성능을 향상시킬 수 있는 엔트로피 복호화 방법 및 장치를 제공함에 있다.Another technical problem of the present invention is to provide an entropy decoding method and apparatus capable of improving image compression performance while minimizing the amount of transmitted information.

영상 복호화 방법이 제공된다. 상기 방법은 복호화 대상 블록, 상기 복호화 대상 블록의 복호화 수행 전에 이미 복호화된 블록 및 상기 복호화 대상 블록의 복호화 수행 전에 이미 복원된 화소의 화소값들에 포함된 정보 중 적어도 하나를 이용하여 상기 복호화 대상 블록에 대한 문맥 정보를 획득하는 단계, 상기 문맥 정보를 이용하여 상기 복호화 대상 블록에 대한 역변환 방법을 도출하는 단계 및 상기 도출된 역변환 방법을 이용하여 복호화 대상 블록에 대한 역변환을 수행하는 단계를 포함하고, 상기 문맥 정보를 이용하여 상기 복호화 대상 블록에 대한 역변환 방법을 도출하는 단계에서는, 복수의 역변환 방법들 중 하나를 선택하는 방법 및 초기 역변환식을 갱신하는 방법 중 적어도 하나를 이용하여 상기 역변환 방법을 도출하고, 상기 복수의 역변환 방법들은 상기 복호화 대상 블록에 대한 복호화 수행 이전에 이미 정해진 역변환 방법들이고 상기 초기 역변환식은 상기 복호화 대상 블록에 대한 복호화 수행 이전에 이미 정해진 역변환식이다.An image decoding method is provided. The method may include decoding at least one of a decoding object block, at least one of a block already decoded before decoding the decoding object block and information included in pixel values of a pixel which is already reconstructed before decoding the decoding object block. Acquiring context information for the data, deriving an inverse transform method for the decoding object block using the context information, and performing inverse transform for the decoding object block using the derived inverse transform method; In the deriving of the inverse transform method for the decoding object block using the context information, the inverse transform method is derived using at least one of a method of selecting one of a plurality of inverse transform methods and a method of updating an initial inverse transform equation. And the plurality of inverse transform methods Deulyigo already given way to perform the inverse transform decoding of the block prior to the initial inversion expression is already determined before performing the inverse transform formula for decoding the current block.

본 발명에 따른 영상 부호화 방법에 의하면 전송되는 정보량이 최소화되면서 영상 압축 성능이 향상될 수 있다.According to the image encoding method according to the present invention, the image compression performance can be improved while minimizing the amount of transmitted information.

본 발명에 따른 영상 복호화 방법에 의하면 전송되는 정보량이 최소화되면서 영상 압축 성능이 향상될 수 있다.According to the image decoding method of the present invention, the image compression performance can be improved while minimizing the amount of transmitted information.

본 발명에 따른 변환 방법에 의하면 전송되는 정보량이 최소화되면서 영상 압축 성능이 향상될 수 있다.According to the conversion method according to the present invention, the image compression performance can be improved while minimizing the amount of transmitted information.

본 발명에 따른 역변환 방법에 의하면 전송되는 정보량이 최소화되면서 영상 압축 성능이 향상될 수 있다.According to the inverse transform method according to the present invention, the image compression performance can be improved while minimizing the amount of transmitted information.

본 발명에 따른 엔트로피 부호화 방법에 의하면 전송되는 정보량이 최소화되면서 영상 압축 성능이 향상될 수 있다.According to the entropy encoding method according to the present invention, image compression performance can be improved while minimizing the amount of transmitted information.

본 발명에 따른 엔트로피 복호화 방법에 의하면 전송되는 정보량이 최소화되면서 영상 압축 성능이 향상될 수 있다.According to the entropy decoding method according to the present invention, image compression performance can be improved while minimizing the amount of transmitted information.

도 1은 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 변환 방법을 개략적으로 나타내는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 엔트로피 부호화 방법을 개략적으로 나타내는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 엔트로피 복호화 방법을 개략적으로 나타내는 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 역변환 방법을 개략적으로 나타내는 흐름도이다.
1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment.
2 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment.
3 is a flowchart schematically illustrating a conversion method according to an embodiment of the present invention.
4 is a flowchart schematically illustrating an entropy encoding method according to an embodiment of the present invention.
5 is a flowchart schematically illustrating an entropy decoding method according to an embodiment of the present invention.
6 is a flowchart schematically illustrating an inverse transform method according to an embodiment of the present invention.

이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.EMBODIMENT OF THE INVENTION Hereinafter, embodiment of this invention is described concretely with reference to drawings. In describing the embodiments of the present specification, when it is determined that a detailed description of a related well-known configuration or function may obscure the gist of the present specification, the detailed description thereof will be omitted.

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

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

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

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

도 1은 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다. 도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조영상 버퍼(190)를 포함한다. 1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment. Referring to FIG. 1, the image encoding apparatus 100 may include a motion predictor 111, a motion compensator 112, an intra predictor 120, a switch 115, a subtractor 125, and a converter 130. And a quantization unit 140, an entropy encoding unit 150, an inverse quantization unit 160, an inverse transform unit 170, an adder 175, a filter unit 180, and a reference image buffer 190.

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

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

인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 영상 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터와 참조 영상 버퍼(190)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. In the inter mode, the motion predictor 111 may obtain a motion vector by searching for a region that best matches an input block in the reference image stored in the reference image buffer 190 during the motion prediction process. The motion compensator 112 may generate a prediction block by performing motion compensation using the motion vector and the reference image stored in the reference image buffer 190.

감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔여 블록(residual block)을 생성할 수 있다. 변환부(130)는 잔여 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 변환 방법에는 고정 변환 방법, 최적 변환 방법, 화면 내 예측 모드별 변환 방법(MDDT: Mode Dependent Directional Transform) 등이 있을 수 있다. 각각의 상세는 후술한다. The subtractor 125 may generate a residual block by the difference between the input block and the generated prediction block. The transform unit 130 may output a transform coefficient by performing transform on the residual block. The transformation method may include a fixed transformation method, an optimal transformation method, and an intra prediction mode-dependent transformation method (MDDT). Each detail is mentioned later.

양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다. The quantization unit 140 may output a quantized coefficient by quantizing the input transform coefficient according to the quantization parameter.

엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 비트스트림(bit stream)을 출력할 수 있다. The entropy encoder 150 may output a bit stream by performing entropy encoding based on values calculated by the quantizer 140 or encoding parameter values calculated in the encoding process.

엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. When entropy encoding 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, thereby representing bits for encoding symbols. The size of the heat can be reduced. Therefore, the compression performance of the image encoding can be enhanced through the entropy encoding.

엔트로피 부호화를 위해 지수 골룸(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법이 사용될 수 있다. 예를 들어, 엔트로피 부호화부(150)에는 가변 길이 부호화(VLC: Variable Lenghth Coding/Code) 테이블과 같은 엔트로피 부호화를 수행하기 위한 테이블이 저장될 수 있고, 엔트로피 부호화부(150)는 저장된 가변 길이 부호화(VLC) 테이블을 사용하여 엔트로피 부호화를 수행할 수 있다. 또한 다른 예를 들면 엔트로피 부호화부(150)는, 심볼을 이진화하여 빈(bin)으로 변환하고 문맥 모델(context model)에 따라 빈의 발생 확률을 예측하여 빈의 산술 부호화(arithmetic encoding)를 수행하여 비트스트림을 생성하는 CABAC 엔트로피 부호화 방법을 사용할 수도 있다. 여기서, 빈(bin)은 심볼이 이진화를 통해 2진수의 열로 표현될 때, 각각의 2진수의 값(0 또는 1)을 의미한다.For entropy coding, coding methods such as exponential golomb, context-adaptive variable length coding (CAVLC), and context-adaptive binary arithmetic coding (CABAC) may be used. For example, the entropy encoder 150 may store a table for performing entropy encoding, such as a variable length coding (VLC) table, and the entropy encoder 150 may store the stored variable length encoding. Entropy encoding may be performed using the (VLC) table. In another example, the entropy encoding unit 150 binarizes a symbol, converts the symbol into a bin, predicts the occurrence probability of the bin according to a context model, and performs arithmetic encoding of the bin. A CABAC entropy encoding method for generating a bitstream may be used. Here, a bin means a value (0 or 1) of each binary number when the symbol is represented as a binary column through binarization.

엔트로피 부호화부(150)는 엔트로피 부호화 모델에 따라 엔트로피 부호화를 수행할 수 있다. 엔트로피 부호화 모델은 예를 들어 심볼의 발생 빈도수, 발생 확률값 또는 확률 천이(transition) 모델을 포함할 수 있다. 또한 다른 실시예로 엔트로피 부호화 모델은 이진 부호화 방법에 관한 정보를 포함할 수 있다. 여기서 이진 부호화 방법에는 가변 길이 부호화, 산술 부호화 등이 있을 수 있다.
The entropy encoder 150 may perform entropy encoding according to an entropy encoding model. The entropy coding model may include, for example, a frequency of occurrence, a probability of occurrence of a symbol, or a probability transition model. In another embodiment, the entropy coding model may include information about a binary coding method. Here, the binary coding method may include variable length coding, arithmetic coding, or the like.

양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환될 수 있다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성될 수 있다. The quantized coefficients may be inversely quantized by the inverse quantizer 160 and inversely transformed by the inverse transformer 170. The inverse quantized and inverse transformed coefficients are added to the prediction block through the adder 175 and a reconstruction block can be generated.

복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(180)를 거친 복원 블록은 참조 영상 버퍼(190)에 저장될 수 있다.
The reconstruction block passes through the filter unit 180, and the filter unit 180 applies at least one or more of a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the reconstruction block or the reconstruction picture. can do. The reconstructed block that has passed through the filter unit 180 may be stored in the reference image buffer 190.

도 2는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다. 도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 필터부(260) 및 참조 영상 버퍼(270)를 포함한다.2 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment. 2, the image decoding apparatus 200 may include an entropy decoder 210, an inverse quantizer 220, an inverse transformer 230, an intra predictor 240, a motion compensator 250, and a filter. 260 and a reference picture buffer 270.

영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔여 블록(residual block)을 얻고 예측 블록을 생성한 후 복원된 잔여 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.
The image decoding apparatus 200 may receive a bitstream output from the encoder and perform decoding in an intra mode or an inter mode, and output a reconstructed image, that is, a reconstructed image. In the intra mode, the switch may be switched to intra, and in the inter mode, the switch may be switched to inter. The image decoding apparatus 200 may generate a reconstructed block, that is, a reconstructed block by obtaining a residual block reconstructed from the received bitstream, generating a prediction block, and adding the reconstructed residual block and the prediction 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 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, whereby the size of the bit string for each symbol is increased. Can be reduced. Therefore, the compression performance of image decoding can be improved through an entropy decoding method.

엔트로피 복호화부(210)는, 엔트로피 부호화부(150)와 같이, 엔트로피 복호화 모델에 따라 엔트로피 복호화를 수행할 수 있다. 엔트로피 복호화 모델은 예를 들어 심볼의 발생 빈도수, 발생 확률값 또는 확률 천이(transition) 모델을 포함할 수 있다. 또한 다른 실시예로 엔트로피 복호화 모델은 이진 부호화 방법에 관한 정보를 포함할 수 있다. 여기서 이진 부호화 방법에는 가변 길이 부호화, 산술 부호화 등이 있을 수 있다.
The entropy decoder 210, like the entropy encoder 150, may perform entropy decoding according to an entropy decoding model. The entropy decoding model may include, for example, a frequency of occurrence, a probability of occurrence of a symbol, or a probability transition model. In another embodiment, the entropy decoding model may include information about a binary coding method. Here, the binary coding method may include variable length coding, arithmetic coding, or the like.

양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 복원된 잔여 블록(residual block)이 생성될 수 있다. 역변환이 수행되는 경우, 도 1의 실시예에서 상술한 고정 변환 방법, 최적 변환 방법, 화면 내 예측 모드별 변환 방법(MDDT: Mode Dependent Directional Transform) 등이 역으로 적용될 수 있다. 각각의 상세는 후술한다.
The quantized coefficients are inversely quantized by the inverse quantizer 220 and inversely transformed by the inverse transformer 230, and as a result of the inverse quantization / inverse transformation of the quantized coefficients, a reconstructed residual block may be generated. When the inverse transformation is performed, the fixed transformation method, the optimal transformation method, the intra-prediction mode-dependent transformation method (MDDT) described above in the embodiment of FIG. 1 may be applied inversely. Each detail is mentioned later.

인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 영상 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. In the intra mode, the intra predictor 240 may generate a predictive block by performing spatial prediction using pixel values of an already encoded block around the current block. In the inter mode, the motion compensator 250 may generate a prediction block by performing motion compensation using the motion vector and the 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 passes through the filter unit 260. The filter unit 260 may apply at least one or more of the deblocking filter, SAO, and ALF to the reconstructed block or the reconstructed picture. The filter unit 260 outputs a reconstructed image, that is, a reconstructed image. The reconstructed picture may be stored in the reference picture buffer 270 to be used for inter prediction.

도 1 및 도 2의 실시예에서 상술한 바와 같이, 변환 방법에는 고정 변환 방법, 최적 변환 방법, 화면 내 예측 모드별 변환 방법 등이 있을 수 있다.As described above in the embodiments of FIGS. 1 and 2, the transformation method may include a fixed transformation method, an optimal transformation method, and an intra prediction mode transformation method.

고정 변환 방법은 DCT(이산 코사인 변환: Discrete Cosine Transform) 등과 같은 고정된 변환식을 사용하여 변환 또는 역변환을 수행하는 방법이다. 고정 변환 방법은, 부호화 대상 신호 특성의 변화를 반영할 수 없어, 압축 성능에 한계를 가진다.The fixed transform method is a method of performing a transform or inverse transform using a fixed transform equation such as a DCT (Discrete Cosine Transform). The fixed conversion method cannot reflect a change in signal characteristics to be encoded, and has a limitation in compression performance.

최적 변환 방법은, 부호화 대상 신호의 자기 상관도(auto-correlation)나 공분산(covariance) 같은 통계치를 구한 후 통계치에 따라 변환식을 결정하여 변환을 수행하는 방법이다. 최적 변환 방법의 실시예로 KLT(Karhunen-Loeve Transform) 등이 있을 수 있다. 최적 변환 방법은 신호 적응적으로 변환을 수행할 수 있다. 그러나 최적 변환 방법에서는, 복호화기가 통계치나 변환식에 관한 정보를 스스로 알 수 없으므로, 통계치에 관한 정보 또는 변환식 자체를 복호화기에 전달하기 위한 부호화 비트량이 추가적으로 소요된다는 단점이 존재한다.The optimal transformation method is a method of performing a transformation by obtaining a statistical value such as auto-correlation or covariance of a signal to be encoded, and then determining a conversion equation according to the statistical value. An example of an optimal transformation method may include a Karhunen-Loeve Transform (KLT). The optimal conversion method may perform a signal adaptive conversion. However, in the optimal transform method, since the decoder cannot know the statistics or the information about the transform equation by itself, there is a disadvantage in that an amount of coded bits for transmitting the information about the statistics or the transform itself to the decoder is additionally required.

화면 내 예측 모드별 변환(MDDT: Mode Dependent Directional Transform) 방법은, 화면 내 예측 모드별 다수의 트레이닝 데이터(training data)에 대해 최적 변환식을 미리 결정해 놓은 후, 미리 결정된 최적 변환식을 고정적으로 사용하여 변환을 수행하는 방법이다. 상기 최적 변환식은 KLT, DCT, DST(Discrete Sine Transform) 등을 이용한 변환식일 수 있다.Mode Dependent Directional Transform (MDDT) method is to determine the optimal transform equation for a plurality of training data for each prediction mode in the screen, and then use the predetermined optimal transform equation fixedly. How to do the conversion. The optimum transform equation may be a transform equation using KLT, DCT, Discrete Sine Transform (DST), or the like.

화면 내 예측 모드별 변환 방법에서는, 예측 모드에 따른 신호 특성이 반영될 수 있고, 부호화기에서 복호화기로 전송되는 추가적인 부호화 비트가 필요하지 않으므로 압축 성능이 향상될 수 있다. 그러나, 부호화 대상 신호의 특성이 트레이닝 데이터와 다른 경우, 압축 성능에 한계가 있을 수 있다.In the intra prediction mode transform method, a signal characteristic according to a prediction mode may be reflected, and compression performance may be improved since no additional coding bits transmitted from the encoder to the decoder are needed. However, if the characteristics of the signal to be encoded are different from the training data, there may be a limit in the compression performance.

따라서 부호화기에서 복호화기로 전송되는 추가적인 부호화 비트 발생을 최소화하고 영상 압축 성능을 향상시키기 위해, 부호화/복호화 대상 블록, 이미 부호화/복호화된 블록 또는 이미 복원된 화소값 등으로부터 얻어진 문맥 정보를 이용하여 변환/역변환을 수행하는 방법이 제공될 수 있다.
Therefore, in order to minimize the generation of additional coded bits transmitted from the encoder to the decoder and to improve the image compression performance, the context information obtained from the encoding / decoding target block, the already encoded / decoded block, or the reconstructed pixel value is used to convert / A method for performing inverse transformation can be provided.

도 3은 본 발명의 일 실시예에 따른 변환 방법을 개략적으로 나타내는 흐름도이다. 도 3의 실시예에 따른 변환은 부호화기에서 수행될 수 있으며, 일 실시예로 부호화기의 변환부에서 수행될 수도 있다.3 is a flowchart schematically illustrating a conversion method according to an embodiment of the present invention. The transformation according to the embodiment of FIG. 3 may be performed by the encoder, or, in an embodiment, may be performed by the transformer of the encoder.

도 3을 참조하면, 부호화기는 부호화 대상 블록의 변환 방법 도출에 사용될 문맥 정보를 획득한다(S310). 변환 방법 도출에 사용될 문맥 정보(context information)에는 다양한 유형이 있을 수 있다.
Referring to FIG. 3, the encoder obtains context information to be used for deriving a transform method of an encoding target block (S310). There may be various types of context information to be used for deriving the conversion method.

일 실시예로 문맥 정보에는 부호화 대상 블록의 부호화 파라미터 또는 이미 부호화된 블록의 부호화 파라미터가 포함될 수 있다. 부호화 파라미터에는 예측 모드 정보, 움직임 또는 이동 정보, 양자화 정보, 블록 크기 정보 또는 필터 정보 등이 있을 수 있다. In an embodiment, the context information may include an encoding parameter of an encoding target block or an encoding parameter of an already encoded block. The coding parameter may include prediction mode information, motion or motion information, quantization information, block size information, or filter information.

예측 모드 정보는 예를 들어, 화면 간 예측인지 화면 내 예측인지를 지시하는 정보 및/또는 세부적으로 어떤 예측 방향 및/또는 예측 방법이 사용되는지를 지시하는 정보 등을 포함할 수 있다. 움직임 또는 이동 정보는 예를 들어, 움직임 벡터(motion vector)나 이동(변이) 벡터의 부호화 여부를 지시하는 정보, 벡터의 크기 정보, 참조 영상의 인덱스 및/또는 참조 영상의 개수에 관한 정보 등을 포함할 수 있다. 양자화 정보는 양자화 파라미터(quantization parameter), 양자화 스텝(quantization step) 크기, 양자화 가중치 행렬의 종류 및/또는 양자화 가중치 행렬의 값 등에 관한 정보를 포함할 수 있다. 블록 크기 정보는 블록의 크기, 블록의 분할 여부, 블록의 분할 유형, 블록의 분할 경계 위치 및/또는 블록의 분할 경계 방향 등에 관한 정보를 포함할 수 있다. 필터 정보는 보간 필터(interpolation filter), 디노이징 필터(denoising filter), 디밴딩 필터(debanding filter), 디블록킹 필터(deblocking filter) 등의 적용 여부를 지시하는 정보, 필터 계수 정보 및/또는 필터 강도에 관한 정보 등을 포함할 수 있다.The prediction mode information may include, for example, information indicating whether inter prediction or intra prediction and / or information indicating which prediction direction and / or prediction method is used in detail. The motion or motion information may include, for example, information indicating whether a motion vector or a motion (variation) vector is encoded, size information of the vector, information about an index of a reference picture, and / or information about the number of reference pictures. It may include. The quantization information may include information about a quantization parameter, a quantization step size, a type of quantization weight matrix, and / or a value of a quantization weight matrix. The block size information may include information about the size of the block, whether the block is divided, the type of division of the block, the location of the partition boundary of the block, and / or the direction of the partition boundary of the block. The filter information includes information indicating whether to apply an interpolation filter, a denoising filter, a debanding filter, a deblocking filter, and the like, filter coefficient information, and / or filter strength. It may include information about.

상기와 같은 부호화 파라미터의 값들은 직접 문맥 정보로 활용될 수 있다. 또한 부호화 파라미터 값들의 조합이나 발생 빈도가 구해진 후, 그 조합이나 발생 빈도 정보가 문맥 정보로 활용될 수도 있다.
The values of the coding parameters may be directly used as context information. In addition, after a combination or occurrence frequency of encoding parameter values is obtained, the combination or occurrence frequency information may be used as context information.

다른 실시예로 문맥 정보는 이미 부호화된 블록의 변환 계수 정보를 포함할 수 있다. In another embodiment, the context information may include transform coefficient information of an already encoded block.

예를 들어, 변환 계수 정보는 변환 계수의 존재 여부를 나타내는 정보를 포함할 수 있다. 변환 계수의 존재 여부를 나타내는 정보에는 코디드 블록 패턴(Coded Block Pattern), 코디드 블록 플래그(Coded Block Flags), 스플릿 플래그(Split Flags) 등이 있을 수 있다. 또한 예를 들어, 변환 계수 정보는 변환 계수의 분포 및/또는 변환 계수의 분포 유형에 관한 정보도 포함할 수 있다. 변환 계수의 분포 및/또는 변환 계수의 분포 유형에 관한 정보에는 변환 계수가 주로 저주파 영역에 분포함을 지시하는 정보, 변환 계수가 특정 방향에 주로 존재함을 지시하는 정보, 변환 계수가 고르게 분포함을 지시하는 정보 등이 있을 수 있다. 변환 계수 정보는 변환 계수에 대한 스캔 방식 및/또는 스캔 순서에 관한 정보도 포함할 수 있다.
For example, the transform coefficient information may include information indicating whether a transform coefficient exists. Information indicating whether a transform coefficient is present may include coded block patterns, coded block flags, split flags, and the like. Also, for example, the transform coefficient information may also include information regarding the distribution of the transform coefficients and / or the distribution type of the transform coefficients. Information on the distribution of the transform coefficients and / or the distribution type of the transform coefficients includes information indicating that the transform coefficients are mainly distributed in a low frequency region, information indicating that the transform coefficients are mainly in a specific direction, and evenly transform coefficients. There may be information indicating that. The transform coefficient information may also include information about a scan scheme and / or a scan order for the transform coefficients.

또 다른 실시예로 문맥 정보는 이미 복원된 화소값들을 포함할 수 있다. 상기 화소값들이 구해지는 영역은 다양하게 정해질 수 있다. 예를 들어 상기 화소값들은 부호화 대상 블록과 공간적으로 가까이 위치한 화소들 중 이미 복원된 화소들의 화소값들일 수 있다. 다른 예로, 상기 화소값들은 부호화 대상 블록의 화소값 예측에 사용된 화소들 중 이미 복원된 화소들의 화소값들일 수 있다.In another embodiment, the context information may include pixel values that have already been restored. The area where the pixel values are obtained may be determined in various ways. For example, the pixel values may be pixel values of pixels that are already reconstructed among pixels that are spatially close to the encoding target block. As another example, the pixel values may be pixel values of pixels that are already reconstructed among pixels used for pixel value prediction of an encoding target block.

부호화기는 상기 화소값들 전체 또는 일부를 이용하여 상기 화소값들을 대표할 수 있는 특징값을 도출한 후, 그 특징값을 문맥 정보로 이용할 수도 있다. 상기 특징값은 예를 들어, 평균 변이(variance, deviation) 값, 상관도(correlation) 등의 통계값일 수 있다. 또한 상기 특징값은 예를 들어, 화소값들로부터 산출된 경사도(gradient), 에지니스(edgeness) 등 영상의 특징(feature)을 나타내는 값일 수도 있다. 여기서, 에지니스는 소벨 연산자(Sobel operator) 또는 라플라시안 연산자(Laplacian operator) 등이 적용되어 얻어진 결과일 수 있다.
The encoder may derive a feature value representing the pixel values by using all or part of the pixel values and then use the feature value as context information. The feature value may be, for example, a statistical value such as an average variation value or a correlation. In addition, the feature value may be, for example, a value representing a feature of an image such as a gradient and an edgeness calculated from pixel values. Here, the edgeness may be a result obtained by applying a Sobel operator or a Laplacian operator.

부호화기는 상술한 부호화 대상 블록의 부호화 파라미터, 이미 부호화된 블록의 부호화 파라미터, 이미 부호화된 블록의 변환 계수 정보, 이미 복원된 화소값 정보들 중 적어도 하나를 이용하여 부호화 대상 블록의 변환 방법 도출에 사용될 문맥 정보를 획득할 수 있다.
The encoder is used for deriving a transformation method of an encoding object block using at least one of the above-described encoding parameters of the encoding object block, encoding parameters of an already encoded block, transformation coefficient information of an already encoded block, and pixel values information that have been reconstructed. Contextual information can be obtained.

다시 도 3을 참조하면, 부호화기는, 획득한 문맥 정보를 이용하여, 부호화 대상 블록에 적용되는 변환 방법을 도출한다(S320). Referring back to FIG. 3, the encoder derives a transformation method applied to the encoding object block by using the obtained context information (S320).

문맥 정보를 이용하여 변환 방법을 결정할 때 부호화기는 다양한 방법 또는 수단을 사용할 수 있다. 예를 들어, 문맥 정보 자체가 특정 범위에 포함되는지 여부를 판단하는 수단이 사용될 수 있다. 다른 예로서, 문맥 정보 자체가 특정 조건을 만족하는지 여부를 판단하는 수단이 사용될 수도 있다. 또 다른 예로서, 같은 종류의 문맥 정보들 간의 차이가, 특정 범위에 포함되는지 여부를 판단하는 수단이 사용될 수도 있다. The encoder may use various methods or means when determining the conversion method using the contextual information. For example, means for determining whether the contextual information itself is included in a particular range may be used. As another example, means for determining whether the contextual information itself satisfies a particular condition may be used. As another example, means for determining whether a difference between context information of the same kind is included in a specific range may be used.

부호화기는 상기 판단된 결과를 그대로 이용하여 변환 방법을 도출할 수 있다. 또한 부호화기는 상기 판단 수단을 여러 차례 적용하여 특정 범위에 포함되는 문맥 정보 및/또는 특정 조건을 만족하는 문맥 정보의 발생 빈도를 측정하여 빈도값을 구할 수도 있다. 이 때, 부호화기는 그 빈도값을 이용하여 변환 방법을 도출할 수도 있다.
The encoder may derive the conversion method using the determined result as it is. In addition, the encoder may apply the determination means several times to obtain a frequency value by measuring the occurrence frequency of the context information included in the specific range and / or the context information satisfying the specific condition. In this case, the encoder may derive the transformation method using the frequency value.

부호화기는, 변환 방법을 도출함에 있어, 미리 정해진 복수의 변환 방법 중 하나를 선택할 수 있다. The encoder may select one of a plurality of predetermined transformation methods in deriving a transformation method.

이 때, 부호화기는 방법 자체를 달리하는 복수의 변환 방법 중 하나를 선택할 수 있다. 복수의 변환 방법에는 KLT, DCT, DST, 하다마드(Hadamard) 변환, 웨이블릿(Wavelet) 변환, 방향성(Directional) 변환 등이 있을 수 있다. In this case, the encoder may select one of a plurality of transformation methods having different methods. The transformation methods may include KLT, DCT, DST, Hadamard transformation, Wavelet transformation, Directional transformation, and the like.

부호화기는 동일한 변환 방법 내에서 복수의 변환식 중 하나를 선택할 수도 있다. 예를 들어, 상기 복수의 변환식은 KLT 변환 방법에서 서로 다른 트레이닝 데이터에 최적화된 복수 개의 변환식일 수 있다.
The encoder may select one of a plurality of transform equations within the same transform method. For example, the plurality of transform equations may be a plurality of transform equations optimized for different training data in the KLT transform method.

부호화기는, 변환 방법을 도출함에 있어, 미리 정해진 초기 변환식을 문맥 정보에 따라 갱신할 수도 있다. 여기서, 미리 정해진 초기 변환식은, 예를 들어 KLT, DCT 등의 변환 방법에 대한 초기 변환식을 의미한다. The encoder may update the predetermined initial transform equation according to the context information in deriving the transform method. Here, the predetermined initial conversion equation means, for example, an initial conversion equation for a conversion method such as KLT and DCT.

상기 초기 변환식은 다양한 단계에서 미리 정해질 수 있다. 예를 들어 초기 변환식은 시퀀스(sequence) 단계에서 미리 정해질 수 있고, GOP(Group of Picture) 단계에서 미리 정해질 수도 있다. GOP는 픽쳐군, 즉 픽쳐의 그룹을 의미한다. 또한 다른 예로 초기 변환식은 픽쳐, 슬라이스(slice), 부호화 유닛 또는 변환 유닛 등의 단계에서도 미리 정해질 수 있다.The initial conversion equation may be predetermined in various steps. For example, the initial conversion equation may be predetermined at the sequence stage, or may be predetermined at the group of picture (GOP) stage. GOP means a picture group, that is, a group of pictures. As another example, the initial transform equation may be predetermined in steps of a picture, a slice, a coding unit, or a transform unit.

초기 변환식에 대한 갱신 여부 결정 및/또는 초기 변환식에 대한 실제 갱신 과정은 부호화 대상 블록에 대한 변환 이전에 이루어질 수 있다. 또한 초기 변환식에 대한 갱신 여부 결정 및/또는 초기 변환식에 대한 실제 갱신 과정은 부호화 대상 블록에 대한 변환 이후에 이루어질 수도 있다.
Determining whether to update the initial transform equation and / or the actual update process for the initial transform equation may be performed before the transform for the encoding target block. In addition, whether to update the initial transform equation and / or the actual update process for the initial transform equation may be performed after the transform on the encoding target block.

부호화기는 획득한 문맥 정보를 이용하여 변환 방법을 도출함에 있어, 상술한 미리 정해진 복수의 변환 방법 중 하나를 선택하는 방법들 및 미리 정해진 초기 변환식을 문맥 정보에 따라 갱신하는 방법들 중 적어도 하나를 이용할 수 있다.
In deriving a transformation method using the obtained context information, the encoder may use at least one of a method of selecting one of the plurality of predetermined transformation methods described above and a method of updating a predetermined initial transformation expression according to the context information. Can be.

다시 도 3을 참조하면, 부호화기는, 도출된 변환 방법을 이용하여 입력 영상의 부호화 대상 블록에 대한 변환을 수행한다(S330). 변환은 변환 블록 단위로 수행될 수 있다.
Referring to FIG. 3 again, the encoder performs transformation on the encoding target block of the input image by using the derived transformation method (S330). The transformation may be performed in units of transform blocks.

부호화기는 부호화 대상 블록에 대한 문맥 정보를 이용하여 블록 단위로 최적의 변환 방법 및/또는 변환식을 도출할 수 있다. 또한 부호화기는 상기 변환 방법 및/또는 변환식을 이용하여 변환을 수행함으로써, 문맥 적응적(context-adaptvie) 또는 신호 적응적으로 변환을 수행할 수 있다. 따라서 부호화기는 부호화 대상 신호 특성의 변화에 따라 최대한 적응적으로 변환을 수행할 수 있다.The encoder may derive an optimal transform method and / or transform equation on a block-by-block basis using context information about a block to be encoded. In addition, the encoder may perform the transformation by context-adaptvie or signal adaptive by performing the transformation using the transformation method and / or the transformation equation. Therefore, the encoder can perform the transformation as adaptively as possible according to the change of the signal to be encoded characteristic.

또한 도 3의 실시예에서, 변환 방법 및/또는 변환식을 도출하거나 문맥 정보를 획득하기 위해 사용되는 정보들은, 부호화기로부터 전송되는 별도의 추가적인 정보 없이도 복호화기가 얻을 수 있는 정보들이다. 따라서 본 발명의 실시예에 따른 변환 방법에서는, 부호화기에서 복호화기로 전송되는 추가적인 비트량이 최소화되거나 발생되지 않을 수 있다.
In addition, in the embodiment of FIG. 3, information used to derive a transform method and / or a transform equation or obtain context information is information that can be obtained by a decoder without additional information transmitted from an encoder. Therefore, in the conversion method according to the embodiment of the present invention, the amount of additional bits transmitted from the encoder to the decoder may be minimized or not generated.

변환 결과 생성된 변환 계수들은 양자화 파라미터에 따라 양자화되어 엔트로피 부호화부에 제공될 수 있다. 도 1의 실시예에서 상술한 바와 같이 엔트로피 부호화부는 엔트로피 부호화 모델에 따라 엔트로피 부호화를 수행할 수 있다. 도 3의 실시예에서와 같이 변환 방법이 문맥 적응적으로 도출되는 경우에는 엔트로피 부호화시 문맥 정보에 따라 심볼의 발생 확률이나 빈도 또는 이진 부호화 방법 등이 달라질 수 있다. 따라서 일 실시예로 변환 방법이 문맥 적응적으로 도출되는 경우, 엔트로피 부호화 모델도 문맥 적응적으로 도출될 수 있다.
The transform coefficients generated as a result of the transformation may be quantized according to the quantization parameter and provided to the entropy encoder. As described above in the embodiment of FIG. 1, the entropy encoder may perform entropy encoding according to an entropy encoding model. When the transformation method is contextually derived as in the embodiment of FIG. 3, the occurrence probability, frequency, or binary encoding method of a symbol may vary according to context information during entropy encoding. Therefore, in one embodiment, when the transformation method is derived contextually, the entropy coding model may also be derived contextually.

도 4는 본 발명의 일 실시예에 따른 엔트로피 부호화 방법을 개략적으로 나타내는 흐름도이다. 도 4의 실시예에 따른 엔트로피 부호화는 부호화기에서 수행될 수 있으며, 일 실시예로 부호화기의 엔트로피 부호화부에서 수행될 수도 있다.4 is a flowchart schematically illustrating an entropy encoding method according to an embodiment of the present invention. Entropy encoding according to the embodiment of FIG. 4 may be performed by an encoder, or in an embodiment, may be performed by an entropy encoding unit of an encoder.

도 4를 참조하면, 부호화기는 엔트로피 부호화 모델 도출에 사용되는 문맥 정보를 획득한다(S410). Referring to FIG. 4, the encoder obtains context information used for deriving an entropy coding model (S410).

상기 문맥 정보는 엔트로피 부호화 과정에서 별개로 획득되는 문맥 정보가 아닐 수 있으며, 변환 과정에서 얻어진 문맥 정보가 그대로 엔트로피 부호화 과정에서 사용될 수도 있다.The context information may not be context information separately obtained in the entropy encoding process, and the context information obtained in the transformation process may be used in the entropy encoding process.

부호화기는 획득한 문맥 정보를 이용하여 엔트로피 부호화 모델을 도출한다(S420). The encoder derives an entropy coding model using the obtained context information (S420).

도 3의 실시예에서 상술한 바와 같이, 부호화기는 변환 방법을 도출함에 있어, 미리 정해진 복수의 변환 방법 중 하나를 선택할 수 있다. 이 때, 부호화기는 미리 정해진 복수의 변환 방법 중 어느 방법을 선택하였는지를 나타내는 지시자를 전송 또는 시그널링할 수 있다. 부호화기는 상기 지시자의 엔트로피 부호화 모델을 도출하기 위해, 획득한 문맥 정보를 이용할 수 있다. 일 실시예로, 부호화기는 부호화 대상 블록의 주변 블록(들)의 화면 내 예측 모드 값에 따라, 미리 정해진 복수의 변환 방법에 대해 엔트로피 부호화 모델을 갱신할 수 있다. 엔트로피 부호화 모델을 도출하는 방법은 상기 실시예에 한하지 않으며, 획득한 문맥 정보의 유형, 변환 방법 도출 방식 등에 따라 달리 정해질 수 있다. As described above in the embodiment of FIG. 3, the encoder may select one of a plurality of predetermined transformation methods in deriving a transformation method. In this case, the encoder may transmit or signal an indicator indicating which of a plurality of predetermined transformation methods is selected. The encoder may use the obtained context information to derive the entropy coding model of the indicator. According to an embodiment, the encoder may update the entropy encoding model for a plurality of predetermined transformation methods according to intra prediction mode values of neighboring block (s) of the encoding target block. The method of deriving an entropy coding model is not limited to the above embodiment, and may be determined differently according to the type of context information obtained, a method of deriving a transformation method, and the like.

상기 도출된 엔트로피 부호화 모델은 예를 들어 심볼의 발생 빈도수, 발생 확률값 또는 확률 천이(transition) 모델을 포함할 수 있다. 또한 다른 예로서, 엔트로피 부호화 모델은 이진 부호화 방법에 관한 정보를 포함할 수 있다. 여기서 이진 부호화 방법에는 가변 길이 부호화, 산술 부호화 등이 있을 수 있다.The derived entropy coding model may include, for example, a frequency of occurrence of a symbol, a probability of occurrence of a symbol, or a probability transition model. As another example, the entropy coding model may include information about a binary coding method. Here, the binary coding method may include variable length coding, arithmetic coding, or the like.

다시 도 4를 참조하면, 부호화기는 도출된 엔트로피 부호화 모델을 이용하여 엔트로피 부호화를 수행한다(S430).Referring back to FIG. 4, the encoder performs entropy encoding using the derived entropy encoding model (S430).

도 4의 실시예에서, 엔트로피 부호화 모델을 도출하기 위해 사용되는 정보들은 부호화기로부터 전송되는 별도의 추가적인 정보 없이도 복호화기가 얻을 수 있는 정보들이다. 따라서 본 발명의 실시예에 따른 엔트로피 부호화 방법이 사용되는 경우, 부호화기에서 복호화기로 전송되는 추가적인 비트량이 최소화될 수 있다. 또한 부호화기는 획득한 문맥 정보를 이용하여 엔트로피 부호화를 수행함으로써, 부호화 대상 신호 특성의 변화에 따라 최대한 적응적으로 부호화를 수행할 수 있다.
In the embodiment of FIG. 4, the information used to derive the entropy coding model is information that can be obtained by the decoder without any additional information transmitted from the encoder. Therefore, when the entropy encoding method according to the embodiment of the present invention is used, the amount of additional bits transmitted from the encoder to the decoder can be minimized. In addition, the encoder may perform entropy encoding using the obtained context information, so that encoding may be performed as adaptively as possible according to a change in signal characteristics to be encoded.

도 3 및 도 4에서 상술한 본 발명의 실시예에 따르면, 부호화기에서 복호화기로 전송되는 추가적인 부호화 비트 발생 없이, 부호화 대상 신호 특성의 변화에 따라 최대한 적응적으로 변환 및/또는 엔트로피 부호화가 수행될 수 있다. 따라서 영상 부호화의 압축 성능이 향상된다.
According to the embodiments of the present invention described above with reference to FIGS. 3 and 4, the transformation and / or entropy encoding may be performed as adaptively as possible according to the change of the signal target signal characteristic without generating additional encoding bits transmitted from the encoder to the decoder. have. Therefore, the compression performance of video encoding is improved.

상술한 변환 부호화 방법과 유사하게, 복호화기에서도 역변환 방법이 문맥 정보에 따라 적응적으로 도출될 수 있다. 복호화기에서 문맥 적응적 역변환 방법이 사용되는 경우, 엔트로피 복호화시 사용되는 심볼의 발생 확률 등에 관한 정보가 문맥 정보에 따라 달라질 수 있다. 따라서, 엔트로피 복호화에 있어서도 문맥 정보에 따라 적응적으로 도출된 엔트로피 복호화 모델이 사용될 수 있다.
Similar to the above-described transcoding method, the inverse transform method may be adaptively derived according to the context information in the decoder. When the context-adaptive inverse transform method is used in the decoder, information about a probability of occurrence of a symbol used in entropy decoding may vary according to context information. Therefore, in entropy decoding, an entropy decoding model adaptively derived according to context information may be used.

도 5는 본 발명의 일 실시예에 따른 엔트로피 복호화 방법을 개략적으로 나타내는 흐름도이다. 도 5의 실시예에 따른 엔트로피 복호화는 복호화기에서 수행될 수 있으며, 일 실시예로 복호화기의 엔트로피 복호화부에서 수행될 수도 있다.5 is a flowchart schematically illustrating an entropy decoding method according to an embodiment of the present invention. Entropy decoding according to the embodiment of FIG. 5 may be performed in a decoder, or in an embodiment, may be performed in an entropy decoding unit of a decoder.

도 5를 참조하면, 복호화기는 엔트로피 복호화 모델 도출에 사용되는 문맥 정보를 획득한다(S510). 엔트로피 복호화 모델 도출에 사용되는 문맥 정보에는 다양한 유형이 있을 수 있다.
Referring to FIG. 5, the decoder obtains context information used for deriving an entropy decoding model (S510). There may be various types of context information used to derive the entropy decoding model.

일 실시예로 문맥 정보에는 복호화 대상 블록의 부호화 파라미터 및/또는 이미 복호화된 블록의 부호화 파라미터가 포함될 수 있다. 부호화 파라미터에는 예측 모드 정보, 움직임 또는 이동 정보, 양자화 정보, 블록 크기 정보 또는 필터 정보 등이 있을 수 있다. In an embodiment, the context information may include encoding parameters of a decoding target block and / or encoding parameters of a block that is already decoded. The coding parameter may include prediction mode information, motion or motion information, quantization information, block size information, or filter information.

예측 모드 정보는 예를 들어, 화면 간 예측인지 화면 내 예측인지를 지시하는 정보 및/또는 세부적으로 어떤 예측 방향 및/또는 예측 방법이 사용되는지를 지시하는 정보 등을 포함할 수 있다. 움직임 또는 이동 정보는 예를 들어, 움직임 벡터(motion vector)나 이동(변이) 벡터의 부호화 여부를 지시하는 정보, 벡터의 크기 정보, 참조 영상의 인덱스 및/또는 참조 영상의 개수에 관한 정보 등을 포함할 수 있다. 양자화 정보는 양자화 파라미터(quantization parameter), 양자화 스텝(quantization step) 크기, 양자화 가중치 행렬의 종류 및/또는 양자화 가중치 행렬의 값 등에 관한 정보를 포함할 수 있다. 블록 크기 정보는 블록의 크기, 블록의 분할 여부, 블록의 분할 유형, 블록의 분할 경계 위치 및/또는 블록의 분할 경계 방향 등에 관한 정보를 포함할 수 있다. 필터 정보는 보간 필터(interpolation filter), 디노이징 필터(denoising filter), 디밴딩 필터(debanding filter), 디블록킹 필터(deblocking filter) 등의 적용 여부를 지시하는 정보, 필터 계수 정보 및/또는 필터 강도에 관한 정보 등을 포함할 수 있다.The prediction mode information may include, for example, information indicating whether inter prediction or intra prediction and / or information indicating which prediction direction and / or prediction method is used in detail. The motion or motion information may include, for example, information indicating whether a motion vector or a motion (variation) vector is encoded, size information of the vector, information about an index of a reference picture, and / or information about the number of reference pictures. It may include. The quantization information may include information about a quantization parameter, a quantization step size, a type of quantization weight matrix, and / or a value of a quantization weight matrix. The block size information may include information about the size of the block, whether the block is divided, the type of division of the block, the location of the partition boundary of the block, and / or the direction of the partition boundary of the block. The filter information includes information indicating whether to apply an interpolation filter, a denoising filter, a debanding filter, a deblocking filter, and the like, filter coefficient information, and / or filter strength. It may include information about.

상기와 같은 부호화 파라미터의 값들은 직접 문맥 정보로 활용될 수 있다. 또한 부호화 파라미터 값들의 조합이나 발생 빈도가 구해진 후, 그 조합이나 발생 빈도 정보가 문맥 정보로 활용될 수도 있다.
The values of the coding parameters may be directly used as context information. In addition, after a combination or occurrence frequency of encoding parameter values is obtained, the combination or occurrence frequency information may be used as context information.

다른 실시예로 문맥 정보는 이미 복호화된 블록의 변환 계수 정보를 포함할 수 있다. In another embodiment, the context information may include transform coefficient information of an already decoded block.

예를 들어, 변환 계수 정보는 변환 계수의 존재 여부를 나타내는 정보를 포함할 수 있다. 변환 계수의 존재 여부를 나타내는 정보에는 코디드 블록 패턴(Coded Block Pattern), 코디드 블록 플래그(Coded Block Flags), 스플릿 플래그(Split Flags) 등이 있을 수 있다. 또한 예를 들어, 변환 계수 정보는 변환 계수의 분포 및/또는 변환 계수의 분포 유형에 관한 정보도 포함할 수 있다. 변환 계수의 분포 및/또는 변환 계수의 분포 유형에 관한 정보에는 변환 계수가 주로 저주파 영역에 분포함을 지시하는 정보, 변환 계수가 특정 방향에 주로 존재함을 지시하는 정보, 변환 계수가 고르게 분포함을 지시하는 정보 등이 있을 수 있다. 변환 계수 정보는 변환 계수에 대한 스캔 방식 및/또는 스캔 순서에 관한 정보도 포함할 수 있다.
For example, the transform coefficient information may include information indicating whether a transform coefficient exists. Information indicating whether a transform coefficient is present may include coded block patterns, coded block flags, split flags, and the like. Also, for example, the transform coefficient information may also include information regarding the distribution of the transform coefficients and / or the distribution type of the transform coefficients. Information on the distribution of the transform coefficients and / or the distribution type of the transform coefficients includes information indicating that the transform coefficients are mainly distributed in a low frequency region, information indicating that the transform coefficients are mainly in a specific direction, and evenly transform coefficients. There may be information indicating that. The transform coefficient information may also include information about a scan scheme and / or a scan order for the transform coefficients.

또 다른 실시예로 문맥 정보는 이미 복원된 화소값들을 포함할 수 있다. 상기 화소값들이 구해지는 영역은 다양하게 정해질 수 있다. 예를 들어 상기 화소값들은 복호화 대상 블록과 공간적으로 가까이 위치한 화소들 중 이미 복원된 화소들의 화소값들일 수 있다. 다른 예로, 상기 화소값들은 복호화 대상 블록의 화소값 예측에 사용된 화소들 중 이미 복원된 화소들의 화소값들일 수 있다.In another embodiment, the context information may include pixel values that have already been restored. The area where the pixel values are obtained may be determined in various ways. For example, the pixel values may be pixel values of pixels that are already reconstructed among pixels that are spatially close to the decoding target block. As another example, the pixel values may be pixel values of pixels that are already reconstructed among pixels used for pixel value prediction of a decoding object block.

복호화기는 상기 화소값들 전체 또는 일부를 이용하여 상기 화소값들을 대표할 수 있는 특징값을 도출한 후, 그 특징값을 문맥 정보로 이용할 수도 있다. 상기 특징값은 예를 들어, 평균 변이(variance, deviation) 값, 상관도(correlation) 등의 통계값일 수 있다. 또한 상기 특징값은 예를 들어, 화소값들로부터 산출된 경사도(gradient), 에지니스(edgeness) 등 영상의 특징(feature)을 나타내는 값일 수도 있다.
The decoder may derive a feature value representing the pixel values by using all or part of the pixel values, and then use the feature value as context information. The feature value may be, for example, a statistical value such as an average variation value or a correlation. In addition, the feature value may be, for example, a value representing a feature of an image such as a gradient and an edgeness calculated from pixel values.

복호화기는 상술한 복호화 대상 블록의 부호화 파라미터, 이미 복호화된 블록의 부호화 파라미터, 이미 복호화된 블록의 변환 계수 정보, 이미 복원된 화소값 정보들 중 적어도 하나를 이용하여 엔트로피 복호화 모델 도출에 사용될 문맥 정보를 획득할 수 있다.
The decoder obtains the context information to be used for deriving the entropy decoding model using at least one of the above-described encoding parameters of the decoding object block, encoding parameters of the already decoded block, transform coefficient information of the already decoded block, and pixel values information which have already been reconstructed. Can be obtained.

복호화기는 획득한 문맥 정보를 이용하여 엔트로피 복호화 모델을 도출한다(S520). The decoder derives an entropy decoding model using the obtained context information (S520).

도 6의 실시예에서 후술되는 바와 같이, 본 발명의 실시예에 따른 복호화기는 역변환 방법을 도출함에 있어, 미리 정해진 복수의 역변환 방법 중 하나를 선택할 수 있다. 이 때, 복호화기는 비트스트림(bitstream)을 파싱(parsing)하여 변환 방법 선택을 위한 지시자를 구한 후 지시자 값에 따라 미리 정해진 복수의 역변환 방법 중 하나를 선택할 수 있다. 복호화기는 상기 지시자의 파싱에 필요한 엔트로피 복호화 모델 도출을 위해 앞서 획득한 문맥 정보를 이용할 수 있다. 일 실시예로, 복호화기는 복호화 대상 블록 주변 블록(들)의 화면 내 예측 모드 값에 따라, 미리 정해진 복수의 역변환 방법에 대해 엔트로피 복호화 모델을 갱신할 수 있다. 엔트로피 복호화 모델을 도출하는 방법은 상기 실시예에 한하지 않으며, 획득한 문맥 정보의 유형, 역변환 방법 도출 방식 등에 따라 달리 정해질 수 있다. As described below in the embodiment of FIG. 6, the decoder according to the embodiment of the present invention may select one of a plurality of predetermined inverse transform methods in deriving an inverse transform method. In this case, the decoder may parse the bitstream to obtain an indicator for selecting a conversion method, and then select one of a plurality of predetermined inverse transform methods according to the indicator value. The decoder may use the obtained context information to derive an entropy decoding model required for parsing the indicator. According to an embodiment, the decoder may update the entropy decoding model for a plurality of predetermined inverse transformation methods according to the intra prediction mode values of the block (s) surrounding the decoding target block. The method of deriving the entropy decoding model is not limited to the above embodiment, and may be determined differently according to the type of the acquired context information, the inverse transformation method derivation method, and the like.

상기 도출된 엔트로피 복호화 모델은 예를 들어 심볼의 발생 빈도수, 발생 확률값 또는 확률 천이(transition) 모델을 포함할 수 있다. 또한 다른 예로서, 엔트로피 복호화 모델은 이진 부호화 방법에 관한 정보를 포함할 수 있다. 여기서 이진 부호화 방법에는 가변 길이 부호화, 산술 부호화 등이 있을 수 있다.The derived entropy decoding model may include, for example, a frequency of occurrence, a probability of occurrence of a symbol, or a probability transition model. As another example, the entropy decoding model may include information about a binary encoding method. Here, the binary coding method may include variable length coding, arithmetic coding, or the like.

다시 도 5를 참조하면, 복호화기는 도출된 엔트로피 복호화 모델을 이용하여 엔트로피 복호화를 수행한다(S530).Referring back to FIG. 5, the decoder performs entropy decoding using the derived entropy decoding model (S530).

도 5의 실시예에서, 엔트로피 복호화 모델을 도출하기 위해 사용되는 정보들은 부호화기로부터 전송되는 별도의 추가적인 정보 없이도 복호화기가 얻을 수 있는 정보들이다. 따라서 본 발명의 실시예에 따른 엔트로피 복호화 방법이 사용되는 경우, 부호화기에서 복호화기로 전송되는 추가적인 비트량이 최소화될 수 있다. 또한 복호화기는 획득한 문맥 정보를 이용하여 엔트로피 복호화를 수행함으로써, 복호화 대상 신호 특성의 변화에 따라 최대한 적응적으로 복호화를 수행할 수 있다.
In the embodiment of FIG. 5, the information used to derive the entropy decoding model is information that can be obtained by the decoder without any additional information transmitted from the encoder. Therefore, when the entropy decoding method according to the embodiment of the present invention is used, the amount of additional bits transmitted from the encoder to the decoder can be minimized. In addition, the decoder performs entropy decoding using the obtained context information, so that decoding can be performed as adaptively as possible according to a change in signal characteristics to be decoded.

엔트로피 복호화 결과 생성된 값들은 복호화기의 양자화부에 제공될 수 있으며, 양자화부는 양자화 파라미터에 따라 역양자화를 수행할 수 있다. 역양자화 결과 생성된 변환 계수들은 복호화기의 역변환부에 제공될 수 있다.
The values generated as a result of entropy decoding may be provided to the quantization unit of the decoder, and the quantization unit may perform inverse quantization according to the quantization parameter. The transform coefficients generated as a result of inverse quantization may be provided to an inverse transform unit of the decoder.

도 6은 본 발명의 일 실시예에 따른 역변환 방법을 개략적으로 나타내는 흐름도이다. 도 6의 실시예에 따른 역변환은 복호화기에서 수행될 수 있으며, 일 실시예로 복호화기의 역변환부에서 수행될 수도 있다.6 is a flowchart schematically illustrating an inverse transform method according to an embodiment of the present invention. The inverse transform according to the embodiment of FIG. 6 may be performed by the decoder, or in an embodiment, may be performed by the inverse transformer of the decoder.

도 6을 참조하면, 복호화기는 복호화 대상 블록의 역변환 방법 도출에 사용될 문맥 정보를 획득한다(S610). Referring to FIG. 6, the decoder obtains context information to be used for deriving an inverse transform method of a decoding object block (S610).

상기 문맥 정보는 역변환 과정에서 별개로 획득되는 문맥 정보가 아닐 수 있으며, 엔트로피 복호화 과정에서 얻어진 문맥 정보가 그대로 역변환 과정에서 사용될 수도 있다. 엔트로피 복호화 과정에서 문맥 정보가 사용되지 않는 경우, 복호화기는 역변환 과정에서 별개로 문맥 정보를 획득할 수도 있다. 이 때, 역변환 방법 도출에 사용될 문맥 정보에는 다양한 유형이 있을 수 있으며, 예를 들어 문맥 정보는 도 5의 실시예에서 상술한 유형의 정보들일 수 있다.
The context information may not be context information separately obtained in the inverse transform process, and the context information obtained in the entropy decoding process may be used in the inverse transform process. When the context information is not used in the entropy decoding process, the decoder may separately obtain the context information in the inverse transformation process. At this time, there may be various types of context information to be used for deriving the inverse transformation method. For example, the context information may be the types of information described above in the embodiment of FIG. 5.

다시 도 6을 참조하면, 복호화기는, 획득한 문맥 정보를 이용하여, 복호화 대상 블록에 적용되는 역변환 방법을 도출한다(S620). Referring back to FIG. 6, the decoder derives an inverse transform method applied to the decoding target block by using the obtained context information (S620).

문맥 정보를 이용하여 역변환 방법을 결정할 때 복호화기는 다양한 방법 또는 수단을 사용할 수 있다. 예를 들어, 문맥 정보 자체가 특정 범위에 포함되는지 여부를 판단하는 수단이 사용될 수 있다. 다른 예로서, 문맥 정보 자체가 특정 조건을 만족하는지 여부를 판단하는 수단이 사용될 수도 있다. 또 다른 예로서, 같은 종류의 문맥 정보들 간의 차이가, 특정 범위에 포함되는지 여부를 판단하는 수단이 사용될 수도 있다. The decoder may use various methods or means when determining the inverse transform method using the context information. For example, means for determining whether the contextual information itself is included in a particular range may be used. As another example, means for determining whether the contextual information itself satisfies a particular condition may be used. As another example, means for determining whether a difference between context information of the same kind is included in a specific range may be used.

복호화기는 상기 판단된 결과를 그대로 이용하여 역변환 방법을 도출할 수 있다. 또한 복호화기는 상기 판단 수단을 여러 차례 적용하여 특정 범위에 포함되는 문맥 정보 및/또는 특정 조건을 만족하는 문맥 정보의 발생 빈도를 측정하여 빈도값을 구할 수도 있다. 이 때, 복호화기는 그 빈도값을 이용하여 역변환 방법을 도출할 수도 있다.
The decoder may derive the inverse transform method by using the determined result as it is. In addition, the decoder may apply the determination means several times to obtain a frequency value by measuring the occurrence frequency of the context information included in the specific range and / or the context information satisfying the specific condition. In this case, the decoder may derive the inverse transform method using the frequency value.

복호화기는, 역변환 방법을 도출함에 있어, 미리 정해진 복수의 역변환 방법 중 하나를 선택할 수 있다. The decoder may select one of a plurality of predetermined inverse transform methods in deriving the inverse transform method.

이 때, 복호화기는 방법 자체를 달리하는 복수의 역변환 방법 중 하나를 선택할 수 있다. 복수의 역변환 방법에는 KLT, DCT, DST, 하다마드(Hadamard) 변환, 웨이블릿(Wavelet) 변환, 방향성(Directional) 변환 등이 있을 수 있다. In this case, the decoder may select one of a plurality of inverse transform methods that vary the method itself. A plurality of inverse transformation methods may include KLT, DCT, DST, Hadamard transformation, Wavelet transformation, Directional transformation, and the like.

복호화기는 동일한 역변환 방법 내에서 복수의 역변환식 중 하나를 선택할 수도 있다. 예를 들어, 상기 복수의 역변환식은 KLT 변환 방법에서 서로 다른 트레이닝 데이터에 최적화된 복수 개의 역변환식일 수 있다.
The decoder may select one of a plurality of inverse transform equations within the same inverse transform method. For example, the plurality of inverse transform equations may be a plurality of inverse transform equations optimized for different training data in the KLT transform method.

복호화기는, 역변환 방법을 도출함에 있어, 미리 정해진 초기 역변환식을 문맥 정보에 따라 갱신할 수도 있다. 여기서, 미리 정해진 초기 역변환식은, 예를 들어 KLT, DCT 등의 역변환 방법에 대한 초기 역변환식을 의미한다. The decoder may update the predetermined initial inverse transform equation according to the context information in deriving the inverse transform method. Here, the predetermined initial inverse transform equation means, for example, an initial inverse transform equation for an inverse transform method such as KLT and DCT.

상기 초기 역변환식은 다양한 단계에서 미리 정해질 수 있다. 예를 들어 초기 역변환식은 시퀀스(sequence) 단계에서 미리 정해질 수 있고, GOP(Group of Picture) 단계에서 미리 정해질 수도 있다. 또한 다른 예로 초기 역변환식은 픽쳐, 슬라이스(slice), 부호화 유닛 또는 변환 유닛 등의 단계에서도 미리 정해질 수 있다.The initial inverse transform equation may be predetermined at various stages. For example, the initial inverse transform equation may be predetermined at the sequence stage, or may be predetermined at the group of picture (GOP) stage. As another example, the initial inverse transform equation may be predetermined in steps of a picture, a slice, a coding unit, or a transform unit.

초기 역변환식에 대한 갱신 여부 결정 및/또는 초기 역변환식에 대한 실제 갱신 과정은 복호화 대상 블록에 대한 역변환 이전에 이루어질 수 있다. 또한 초기 역변환식에 대한 갱신 여부 결정 및/또는 초기 역변환식에 대한 실제 갱신 과정은 복호화 대상 블록에 대한 역변환 이후에 이루어질 수도 있다.
The determination of whether to update the initial inverse transform equation and / or the actual update process for the initial inverse transform equation may be performed before the inverse transform on the decoding object block. Also, whether to update the initial inverse transform equation and / or the actual update process for the initial inverse transform equation may be performed after the inverse transform on the decoding object block.

복호화기는 획득한 문맥 정보를 이용하여 역변환 방법을 도출함에 있어, 상술한 미리 정해진 복수의 역변환 방법 중 하나를 선택하는 방법들 및 미리 정해진 초기 역변환식을 문맥 정보에 따라 갱신하는 방법들 중 적어도 하나를 이용할 수 있다.
When the decoder derives the inverse transform method using the obtained context information, the decoder may select at least one of a method of selecting one of the plurality of predetermined inverse transform methods and a method of updating a predetermined initial inverse transform equation according to the context information. It is available.

다시 도 6을 참조하면, 복호화기는, 도출된 역변환 방법을 이용하여 복호화 대상 블록에 대한 역변환을 수행한다(S630). 역변환은 변환 계수들에 대해 변환 블록 단위로 수행될 수 있다.
Referring to FIG. 6 again, the decoder performs an inverse transform on the decoding object block by using the derived inverse transform method (S630). The inverse transform may be performed in transform block units on the transform coefficients.

도 6의 실시예에서 복호화기는 복호화 대상 블록에 대한 문맥 정보를 이용하여 블록 단위로 최적의 역변환 방법 및/또는 역변환식을 도출할 수 있다. 또한 복호화기는 상기 역변환 방법 및/또는 역변환식을 이용하여 역변환을 수행함으로써, 문맥 적응적 또는 신호 적응적으로 역변환을 수행할 수 있다. 따라서 복호화기는 복호화 대상 신호 특성의 변화에 따라 최대한 적응적으로 역변환을 수행할 수 있다.In the embodiment of FIG. 6, the decoder may derive an optimal inverse transform method and / or an inverse transform equation in units of blocks by using context information about a decoding target block. In addition, the decoder may perform inverse transform by context-adaptive or signal-adaptive by performing inverse transform using the inverse transform method and / or inverse transform equation. Accordingly, the decoder can perform inverse transform as adaptively as possible according to the change of the signal to be decoded.

또한 도 6의 실시예에서, 역변환 방법 및/또는 역변환식을 도출하거나 문맥 정보를 획득하기 위해 사용되는 정보들은, 부호화기로부터 전송되는 별도의 추가적인 정보 없이도 복호화기가 얻을 수 있는 정보들이다. 따라서 본 발명의 실시예에 따른 역변환 방법에서는, 부호화기에서 복호화기로 전송되는 추가적인 비트량이 최소화되거나 발생되지 않을 수 있다.
In addition, in the embodiment of FIG. 6, information used for deriving an inverse transform method and / or an inverse transform equation or obtaining context information is information that a decoder can obtain without additional information transmitted from an encoder. Therefore, in the inverse transform method according to the embodiment of the present invention, the amount of additional bits transmitted from the encoder to the decoder may be minimized or not generated.

도 5 및 도 6에서 상술한 본 발명의 실시예에 따르면, 부호화기에서 복호화기로 전송되는 추가적인 부호화 비트 발생 없이, 복호화 대상 신호 특성의 변화에 따라 최대한 적응적으로 역변환 및/또는 엔트로피 복호화가 수행될 수 있다. 따라서 영상 부호화 및 복호화의 압축 성능이 향상된다.
According to the embodiments of the present invention described above with reference to FIGS. 5 and 6, inverse transform and / or entropy decoding may be performed as adaptively as possible according to a change in signal characteristics to be decoded without generating additional encoded bits transmitted from the encoder to the decoder. have. Therefore, the compression performance of video encoding and decoding is improved.

상술한 실시예에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.In the above-described embodiment, the methods are described based on a flowchart as a series of steps or blocks, but the present invention is not limited to the order of steps, and any steps may occur in a different order or at the same time than the other steps described above. have. Also, one of ordinary skill in the art appreciates that the steps shown in the flowcharts are not exclusive, that other steps may be included, or that one or more steps in the flowcharts may be deleted without affecting the scope of the present invention. I can understand.

상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.The above-described embodiments include examples of various aspects. While it is not possible to describe every possible combination for expressing various aspects, one of ordinary skill in the art will recognize that other combinations are possible. Accordingly, it is intended that the invention include all alternatives, modifications and variations that fall within the scope of the following claims.

Claims (1)

복호화 대상 블록, 상기 복호화 대상 블록의 복호화 수행 전에 이미 복호화된 블록 및 상기 복호화 대상 블록의 복호화 수행 전에 이미 복원된 화소의 화소값들에 포함된 정보 중 적어도 하나를 이용하여 상기 복호화 대상 블록에 대한 문맥 정보를 획득하는 단계;
상기 문맥 정보를 이용하여 상기 복호화 대상 블록에 대한 역변환 방법을 도출하는 단계; 및
상기 도출된 역변환 방법을 이용하여 복호화 대상 블록에 대한 역변환을 수행하는 단계를 포함하고,
상기 문맥 정보를 이용하여 상기 복호화 대상 블록에 대한 역변환 방법을 도출하는 단계에서는, 복수의 역변환 방법들 중 하나를 선택하는 방법 및 초기 역변환식을 갱신하는 방법 중 적어도 하나를 이용하여 상기 역변환 방법을 도출하고,
상기 복수의 역변환 방법들은 상기 복호화 대상 블록에 대한 복호화 수행 이전에 이미 정해진 역변환 방법들이고 상기 초기 역변환식은 상기 복호화 대상 블록에 대한 복호화 수행 이전에 이미 정해진 역변환식인 영상 복호화 방법.
Context for the decoding object block using at least one of a decoding object block, a block already decoded before decoding the decoding object block, and information included in pixel values of a pixel that is already reconstructed before decoding the decoding object block. Obtaining information;
Deriving an inverse transform method for the decoding object block using the context information; And
Performing an inverse transform on the decoding object block by using the derived inverse transform method,
In the deriving of the inverse transform method for the decoding object block using the context information, the inverse transform method is derived using at least one of a method of selecting one of a plurality of inverse transform methods and a method of updating an initial inverse transform equation. and,
The plurality of inverse transform methods are inverse transform methods previously determined before the decoding on the decoding object block, and the initial inverse transform equation is an inverse transform equation already determined before decoding on the decoding object block.
KR1020110099710A 2010-09-30 2011-09-30 Methods and apparatus for video transform encoding/decoding KR20120034044A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020100095111 2010-09-30
KR20100095111 2010-09-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020150015606A Division KR101854640B1 (en) 2010-09-30 2015-01-30 Methods and apparatus for video transform encoding/decoding

Publications (1)

Publication Number Publication Date
KR20120034044A true KR20120034044A (en) 2012-04-09

Family

ID=46136624

Family Applications (13)

Application Number Title Priority Date Filing Date
KR1020110099710A KR20120034044A (en) 2010-09-30 2011-09-30 Methods and apparatus for video transform encoding/decoding
KR1020150015606A KR101854640B1 (en) 2010-09-30 2015-01-30 Methods and apparatus for video transform encoding/decoding
KR1020170067642A KR101874015B1 (en) 2010-09-30 2017-05-31 Methods and apparatus for video transform encoding/decoding
KR1020180074074A KR101995908B1 (en) 2010-09-30 2018-06-27 Methods and apparatus for video transform encoding/decoding
KR1020180074046A KR101973563B1 (en) 2010-09-30 2018-06-27 Methods and apparatus for video transform encoding/decoding
KR1020180074051A KR101973571B1 (en) 2010-09-30 2018-06-27 Methods and apparatus for video transform encoding/decoding
KR1020180074054A KR101995915B1 (en) 2010-09-30 2018-06-27 Methods and apparatus for video transform encoding/decoding
KR1020180074040A KR101973568B1 (en) 2010-09-30 2018-06-27 Methods and apparatus for video transform encoding/decoding
KR1020190077001A KR102218696B1 (en) 2010-09-30 2019-06-27 Methods and apparatus for video transform encoding/decoding
KR1020210020624A KR102439871B1 (en) 2010-09-30 2021-02-16 Methods and apparatus for video transform encoding/decoding
KR1020220109399A KR102548881B1 (en) 2010-09-30 2022-08-30 Methods and apparatus for video transform encoding/decoding
KR1020230081096A KR102669273B1 (en) 2010-09-30 2023-06-23 Methods and apparatus for video transform encoding/decoding
KR1020240066042A KR20240074743A (en) 2010-09-30 2024-05-21 Methods and apparatus for video transform encoding/decoding

Family Applications After (12)

Application Number Title Priority Date Filing Date
KR1020150015606A KR101854640B1 (en) 2010-09-30 2015-01-30 Methods and apparatus for video transform encoding/decoding
KR1020170067642A KR101874015B1 (en) 2010-09-30 2017-05-31 Methods and apparatus for video transform encoding/decoding
KR1020180074074A KR101995908B1 (en) 2010-09-30 2018-06-27 Methods and apparatus for video transform encoding/decoding
KR1020180074046A KR101973563B1 (en) 2010-09-30 2018-06-27 Methods and apparatus for video transform encoding/decoding
KR1020180074051A KR101973571B1 (en) 2010-09-30 2018-06-27 Methods and apparatus for video transform encoding/decoding
KR1020180074054A KR101995915B1 (en) 2010-09-30 2018-06-27 Methods and apparatus for video transform encoding/decoding
KR1020180074040A KR101973568B1 (en) 2010-09-30 2018-06-27 Methods and apparatus for video transform encoding/decoding
KR1020190077001A KR102218696B1 (en) 2010-09-30 2019-06-27 Methods and apparatus for video transform encoding/decoding
KR1020210020624A KR102439871B1 (en) 2010-09-30 2021-02-16 Methods and apparatus for video transform encoding/decoding
KR1020220109399A KR102548881B1 (en) 2010-09-30 2022-08-30 Methods and apparatus for video transform encoding/decoding
KR1020230081096A KR102669273B1 (en) 2010-09-30 2023-06-23 Methods and apparatus for video transform encoding/decoding
KR1020240066042A KR20240074743A (en) 2010-09-30 2024-05-21 Methods and apparatus for video transform encoding/decoding

Country Status (1)

Country Link
KR (13) KR20120034044A (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120034044A (en) * 2010-09-30 2012-04-09 한국전자통신연구원 Methods and apparatus for video transform encoding/decoding
JP2021509789A (en) * 2018-09-02 2021-04-01 エルジー エレクトロニクス インコーポレイティド Video signal coding / decoding method and equipment for that purpose
KR20240017119A (en) * 2018-09-05 2024-02-06 엘지전자 주식회사 Method for encoding/decoding video signal, and apparatus therefor
MX2021016158A (en) * 2019-06-19 2022-03-04 Lg Electronics Inc Context coding for information on transform kernel set in image coding system.
KR20210158400A (en) 2019-06-19 2021-12-30 엘지전자 주식회사 Signaling of information indicating a transform kernel set in image coding
MX2021016155A (en) 2019-06-19 2022-02-22 Lg Electronics Inc Coding of information about transform kernel set.
KR20230063307A (en) 2021-11-01 2023-05-09 한국전자통신연구원 Apparatus for switching main screen based on distributed telepresence and method using the same

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4447197B2 (en) * 2002-01-07 2010-04-07 三菱電機株式会社 Moving picture encoding apparatus and moving picture decoding apparatus
KR20120034044A (en) * 2010-09-30 2012-04-09 한국전자통신연구원 Methods and apparatus for video transform encoding/decoding

Also Published As

Publication number Publication date
KR101995908B1 (en) 2019-07-04
KR101973563B1 (en) 2019-04-30
KR20180075468A (en) 2018-07-04
KR20170063500A (en) 2017-06-08
KR102439871B1 (en) 2022-09-05
KR20180075466A (en) 2018-07-04
KR20220123624A (en) 2022-09-08
KR20180075464A (en) 2018-07-04
KR20240074743A (en) 2024-05-28
KR101973568B1 (en) 2019-04-30
KR102548881B1 (en) 2023-06-30
KR20180075465A (en) 2018-07-04
KR20210020971A (en) 2021-02-24
KR101854640B1 (en) 2018-05-08
KR101973571B1 (en) 2019-04-30
KR101995915B1 (en) 2019-07-04
KR20180075467A (en) 2018-07-04
KR102218696B1 (en) 2021-02-22
KR102669273B1 (en) 2024-05-27
KR20150027776A (en) 2015-03-12
KR20190080842A (en) 2019-07-08
KR20230098527A (en) 2023-07-04
KR101874015B1 (en) 2018-07-04

Similar Documents

Publication Publication Date Title
US11438601B2 (en) Method for encoding/decoding image and device using same
US20220060755A1 (en) Method of Coding and Decoding Images, Coding and Decoding Device and Computer Programs Corresponding Thereto
KR102439871B1 (en) Methods and apparatus for video transform encoding/decoding
KR20200026863A (en) Method for intra prediction and apparatus thereof
JP2015508617A (en) Coding of coefficients in video coding
KR20130034559A (en) Method for encoding/decoding an intra prediction mode and apparatus for the same
KR20130051384A (en) Method and apparatus video encoding and decoding using skip mode
KR20200126962A (en) Method for intra prediction and apparatus thereof
KR20120100836A (en) Method for transform coefficient scan and apparatus thereof
US20240114151A1 (en) Method for encoding/decoding image and device using same
KR20170046112A (en) Entrpy decoding method and apparatus for transform skip information
JP2017073598A (en) Moving image coding apparatus, moving image coding method, and computer program for moving image coding
WO2012118358A2 (en) Method for scanning transform coefficient and device therefor

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
A302 Request for accelerated examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment