KR20200104842A - Apparatus and method for encoding and decoding to image of ultra high definition resoutltion - Google Patents

Apparatus and method for encoding and decoding to image of ultra high definition resoutltion Download PDF

Info

Publication number
KR20200104842A
KR20200104842A KR1020200107354A KR20200107354A KR20200104842A KR 20200104842 A KR20200104842 A KR 20200104842A KR 1020200107354 A KR1020200107354 A KR 1020200107354A KR 20200107354 A KR20200107354 A KR 20200107354A KR 20200104842 A KR20200104842 A KR 20200104842A
Authority
KR
South Korea
Prior art keywords
block
prediction
current block
prediction block
decoding
Prior art date
Application number
KR1020200107354A
Other languages
Korean (ko)
Other versions
KR102253157B1 (en
Inventor
임성창
최해철
정세윤
김종호
김진웅
김휘용
이진호
이하현
조숙희
최진수
김경용
박광훈
심동규
오승준
Original Assignee
한국전자통신연구원
경희대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원, 경희대학교 산학협력단 filed Critical 한국전자통신연구원
Publication of KR20200104842A publication Critical patent/KR20200104842A/en
Application granted granted Critical
Publication of KR102253157B1 publication Critical patent/KR102253157B1/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/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/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
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/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/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/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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

Provided are a device and method for encoding an ultra-high definition image using intra prediction encoding, and a device and method for decoding. The device for encoding may generate a prediction block of a current block according to any one of a plurality of predefined prediction block generation methods, and perform entropy encoding on at least one of encoding information and a difference block and output as a bitstream according to whether or not the difference block is encoded.

Description

초고해상도 영상을 부호화하는 장치 및 방법, 그리고 복호화 장치 및 방법{APPARATUS AND METHOD FOR ENCODING AND DECODING TO IMAGE OF ULTRA HIGH DEFINITION RESOUTLTION}An apparatus and method for encoding an ultra-high-resolution image, and a decoding apparatus and method TECHNICAL FIELD

본 발명은 초고해상도 영상에서 화면내 예측 부호화 시 계산 복잡도를 낮추고 부호화 효율을 향상시키는 기술에 관한 것이다. The present invention relates to a technique for reducing computational complexity and improving encoding efficiency during intra prediction encoding in ultra-high resolution images.

1280×1024, 1920×1080 등의 HD(High Definition) 해상도를 갖는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되고 있다. 이에 따라, 사용자들은 더욱 현장감 있는 영상을 시청하기 위해 4K(3840×2160), 8K(7680×4320) 등과 같이 더 큰 해상도와 더 좋은 화질의 컨텐츠를 요구하고 있다. Broadcasting services with high definition (HD) resolutions such as 1280×1024 and 1920×1080 are expanding not only in Korea but also worldwide. Accordingly, users are demanding higher resolution and higher quality content such as 4K (3840×2160) and 8K (7680×4320) in order to view more realistic images.

4K 영상의 화소수는 HD 영상의 4배 크기이고, 8K(7680x4320) 영상의 화소수는 HD 영상의 16배 크기이다. 이에 따라, 4K 및 8K 영상은 HD 해상도를 갖는 영상에 비해 더욱 섬세하고 자연스러운 영상의 표현이 가능하다. 일반적으로, 4K 혹은 8K 영상을 부호화하기 위해 H.264/AVC(MPEG-4 Part 10 Advanced Video Coding)가 이용된다.The number of pixels of a 4K image is four times the size of an HD image, and the number of pixels of an 8K (7680x4320) image is 16 times that of an HD image. Accordingly, 4K and 8K images can express more delicate and natural images than images with HD resolution. In general, H.264/AVC (MPEG-4 Part 10 Advanced Video Coding) is used to encode 4K or 8K video.

이처럼, 영상의 해상도가 증가함에 따라 화소 간의 공간적 상관도가 크게 높아질 수 있다.As such, as the resolution of the image increases, the spatial correlation between pixels may be greatly increased.

도 1은 영상의 일부분을 표현하는 데 사용되는 화소수를 해상도 별로 비교한 도면이다.1 is a diagram comparing the number of pixels used to represent a part of an image for each resolution.

도 1에서, QVGA(352×288) 해상도 이상의 480×270 해상도에서 영상의 일부분을 표현하는 데 사용되는 화소 수가 4개인 경우, 960×540 해상도 및 FULL HDTV(1920×1080)에서는 영상의 일부분을 표현하는데 사용되는 화소 수가 각각 9개, 25개이다. 그리고, 4K(3840×2160) 해상도에서는 화소 수가 100개이고, 8K(7680×4320) 해상도에서는 361개의 화소 수로 영상의 일부분이 표현된다. 이처럼, 4K 및 8K 해상도의 영상은 특정 영상의 일부분을 표현하기 위해 사용되는 화소 수가 과대하게 많아진다. 다시 말해, 4K 및 8K 해상도의 영상은 HD 해상도 이하의 영상보다 화소 간의 상관도가 매우 높다. 특히, 복잡하지 않고 평탄한 특성을 갖는 영상 또는 영상의 일부분에서 화소 간의 상관도가 더욱 높아진다.In FIG. 1, when the number of pixels used to express a part of an image at 480 × 270 resolution higher than QVGA (352 × 288) resolution is 4, a part of image is expressed in 960 × 540 resolution and FULL HDTV (1920 × 1080) The number of pixels used for this is 9 and 25, respectively. In addition, in the 4K (3840 × 2160) resolution, the number of pixels is 100, and in the 8K (7680 × 4320) resolution, a part of the image is represented by the number of 361 pixels. As such, images of 4K and 8K resolutions have an excessively large number of pixels used to represent a part of a specific image. In other words, images of 4K and 8K resolution have a much higher correlation between pixels than images of HD resolution or lower. In particular, in an image or a portion of an image that is not complex and has a flat characteristic, the correlation between pixels is further increased.

이처럼, 4K 또는 8K 등과 같이, 화소 간의 상관성이 매우 높은 초고해상도 영상에서 화면내 예측을 수행하는 경우, 현재 블록의 화소값은 주변 블록의 화소값만을 이용하여 거의 예측될 수 있다. 이에 따라, 화소 간의 상관도가 높은 경우, 차분 블록을 부호화 및 복호화하는 과정은 계산 복잡도를 증가시키며 부호화 효율을 저하시키는 원인이 된다.As described above, when intra-prediction is performed on an ultra-high resolution image having a very high correlation between pixels, such as 4K or 8K, pixel values of the current block can be almost predicted using only pixel values of neighboring blocks. Accordingly, when the correlation between pixels is high, the process of encoding and decoding the difference block increases computational complexity and decreases encoding efficiency.

따라서, 화소 간의 상관도가 높은 초고해상도 영상을 부호화 및 복호화하는 경우, 계산 복잡도를 감소시키면서 부호화 효율을 향상시킬 수 있는 부호화 및 복호화 기술이 필요하다.Accordingly, when encoding and decoding an ultra-high resolution image having a high correlation between pixels, there is a need for an encoding and decoding technology capable of improving encoding efficiency while reducing computational complexity.

본 발명은 화소 간의 상관성이 높은 초고해상도 영상에 대한 화면내 예측 부호화에 따른 계산 복잡도를 감소시킬 수 있는 부호화 장치 및 방법, 복호화 장치 및 방법을 제공한다.The present invention provides an encoding apparatus and method, and a decoding apparatus and method capable of reducing computational complexity according to intra prediction encoding for an ultra-high resolution image having high correlation between pixels.

또한, 본 발명은 복수의 예측 블록들 중 부호화 효율이 가장 좋은 예측 블록을 이용하여 부호화 및 복호화를 수행함에 따라 부호화 효율을 향상시킬 수 있는 부호화 장치 및 방법, 복호화 장치 및 방법을 제공한다.In addition, the present invention provides an encoding apparatus and method, and a decoding apparatus and method capable of improving encoding efficiency by performing encoding and decoding using a prediction block having the best encoding efficiency among a plurality of prediction blocks.

본 발명의 일실시예에 따른 부호화 장치는, 참조 영상에 기초하여 현재 블록의 예측 블록을 생성하는 화면내 예측부, 상기 현재 블록과 상기 생성된 예측 블록의 차를 통해 차분 블록을 생성하는 감산부, 상기 차분 블록의 부호화 여부에 기초하여 상기 차분 블록의 부호화 여부를 나태는 부호화 정보를 생성하는 부호화 정보 생성부, 및 상기 부호화 정보에 기초하여 상기 차분 블록 및 상기 부호화 정보 중 적어도 하나를 엔트로피 부호화하는 엔트로피 부호화부를 포함할 수 있다.An encoding apparatus according to an embodiment of the present invention includes an intra prediction unit that generates a prediction block of a current block based on a reference image, and a subtraction unit that generates a difference block through a difference between the current block and the generated prediction block. An encoding information generator for generating encoding information indicating whether the difference block is encoded based on whether the difference block is encoded, and entropy encoding at least one of the difference block and the encoding information based on the encoding information. It may include an entropy encoding unit.

또한, 상기 부호화 정보가 상기 차분 블록을 부호화하지 않음을 나타내는 정보를 포함하는 경우, 상기 엔트로피 부호화부는, 상기 부호화 정보만 부호화하여 비트스트림을 생성할 수 있다.Further, when the encoding information includes information indicating that the difference block is not encoded, the entropy encoding unit may generate a bitstream by encoding only the encoding information.

또한, 상기 화면내 예측부는, 복수의 예측 블록 생성 방법들 중 어느 하나를 이용하여 상기 예측 블록을 생성할 수 있다.In addition, the intra prediction unit may generate the prediction block using any one of a plurality of prediction block generation methods.

또한, 상기 화면내 예측부는, 복수의 예측 블록 생성 방법에 따라 상기 현재 블록의 예측 블록을 복수 개 생성할 수 있다.In addition, the intra prediction unit may generate a plurality of prediction blocks of the current block according to a method of generating a plurality of prediction blocks.

또한, 상기 화면내 예측부는, 복원된 주변 블록들 각각의 예측 블록 생성 시 이용된 예측 블록 생성 방법에 기초하여 상기 현재 블록의 예측 블록을 하나 이상 생성할 수 있다.In addition, the intra prediction unit may generate one or more prediction blocks of the current block based on a prediction block generation method used when generating prediction blocks of each of the reconstructed neighboring blocks.

또한, 상기 생성된 복수의 현재 블록의 예측 블록들 중에서 어느 하나를 선택하는 예측 블록 선택부를 포함할 수 있다.In addition, it may include a prediction block selection unit that selects any one of the generated prediction blocks of the plurality of current blocks.

본 발명의 일실시예에 따른 부호화 방법은, 참조 영상에 기초하여 현재 블록의 예측 블록을 생성하는 단계, 상기 현재 블록과 상기 생성된 예측 블록의 차를 통해 차분 블록을 생성하는 단계, 상기 차분 블록의 부호화 여부에 기초하여 상기 차분 블록의 부호화 여부를 나태는 부호화 정보를 생성하는 단계, 상기 부호화 정보에 기초하여 상기 차분 블록을 변환 및 양자화하는 단계, 및 상기 부호화 정보에 기초하여 상기 차분 블록 및 상기 부호화 정보 중 적어도 하나를 엔트로피 부호화하는 단계를 포함할 수 있다.An encoding method according to an embodiment of the present invention includes generating a prediction block of a current block based on a reference image, generating a difference block through a difference between the current block and the generated prediction block, and the difference block Generating encoding information indicating whether to encode the difference block based on whether or not to encode the difference block, transforming and quantizing the difference block based on the encoding information, and the difference block and the difference block based on the encoding information It may include entropy encoding at least one of the encoding information.

또한, 상기 엔트로피 부호화하는 단계는, 부호화 정보가 상기 차분 블록을 부호화하지 않음을 나타내는 정보를 포함함에 따라, 상기 부호화 정보만 부호화하여 비트스트림을 생성할 수 있다.Further, in the entropy encoding step, since the encoding information includes information indicating that the difference block is not encoded, only the encoding information may be encoded to generate a bitstream.

또한, 상기 예측 블록을 생성하는 단계는, 복수의 예측 블록 생성 방법에 따라 상기 현재 블록의 예측 블록을 복수 개 생성할 수 있다.In addition, in the generating of the prediction block, a plurality of prediction blocks of the current block may be generated according to a method of generating a plurality of prediction blocks.

또한, 상기 예측 블록을 생성하는 단계는, 복원된 주변 블록들 각각의 예측 블록 생성 시 이용된 예측 블록 생성 방법에 기초하여 상기 현재 블록의 예측 블록을 하나 이상 생성할 수 있다.In addition, in the generating of the prediction block, one or more prediction blocks of the current block may be generated based on a prediction block generation method used when generating prediction blocks of each of the reconstructed neighboring blocks.

또한, 상기 생성된 현재 블록의 예측 블록들 중에서 부호화 효율이 가장 좋은 어느 하나를 선택하는 단계를 더 포함할 수 있다.In addition, the method may further include selecting one of the prediction blocks of the generated current block having the best coding efficiency.

본 발명의 일실시예에 따른 복호화 장치는, 비트스트림으로부터 부호화된 부호화 정보를 추출하여 상기 부호화된 부호화 정보를 복호화하는 엔트로피 복호화부, 복원된 주변 블록을 이용하여 현재 블록의 예측 블록을 생성하는 화면내 예측부, 상기 복호된 부호화 정보에 기초하여 복원된 차분 블록 및 상기 생성된 현재 블록의 예측 블록 중 적어도 하나를 이용하여 현재 블록을 복원하는 가산부를 포함할 수 있다.A decoding apparatus according to an embodiment of the present invention includes an entropy decoder that extracts encoded encoding information from a bitstream and decodes the encoded encoding information, and a screen for generating a prediction block of a current block using reconstructed neighboring blocks. An intra prediction unit, a difference block reconstructed based on the decoded encoding information, and an adder reconstructing a current block using at least one of a prediction block of the generated current block.

또한, 상기 가산부는, 상기 부호화 정보가 차분 블록을 부호화하지 않음을 나타내는 정보를 포함함에 따라, 상기 현재 블록의 예측 블록 만을 이용하여 상기 현재 블록을 복원할 수 있다.In addition, since the encoding information includes information indicating that the difference block is not encoded, the adder may reconstruct the current block using only the prediction block of the current block.

본 발명의 일실시예에 따른 복호화 방법은, 비트스트림으로부터 부호화된 부호화 정보 및 예측 블록 선택 정보 중 적어도 하나를 추출하는 단계, 상기 추출된 부호화 정보 및 예측 블록 선택 정보를 복호화하는 단계, 복원된 주변 블록을 이용하여 현재 블록의 예측 블록들을 생성하는 단계, 상기 복호된 예측 블록 선택 정보에 기초하여 상기 생성된 현재 블록의 예측 블록들 중에서 어느 하나를 선택하는 단계, 및 상기 복호된 부호화 정보에 기초하여 복원된 차분 블록 및 상기 선택된 현재 블록의 예측 블록 중 적어도 하나를 이용하여 현재 블록을 복원하는 단계를 포함할 수 있다.A decoding method according to an embodiment of the present invention includes extracting at least one of encoding information and prediction block selection information encoded from a bitstream, decoding the extracted encoding information and prediction block selection information, and reconstructed surroundings. Generating prediction blocks of a current block using a block, selecting any one of prediction blocks of the generated current block based on the decoded prediction block selection information, and based on the decoded encoding information And reconstructing the current block using at least one of the reconstructed difference block and the prediction block of the selected current block.

본 발명에 따르면, 화소 간의 상관성이 높은 초고해상도 영상에 대한 화면내 예측 부호화 시 현재 블록의 예측 블록만을 이용하여 비트스트림을 출력함에 따라 계산 복잡도를 감소시킬 수 있다.According to the present invention, calculation complexity can be reduced by outputting a bitstream using only a prediction block of a current block when intra prediction encoding an ultra-high resolution image having high correlation between pixels.

본 발명에 따르면, 복수의 예측 블록들 중 부호화 효율이 가장 좋은 예측 블록을 이용하여 부호화 및 복호화를 수행함에 따라 부호화 효율을 향상시킬 수 있다.According to the present invention, encoding and decoding are performed using a prediction block having the best encoding efficiency among a plurality of prediction blocks, thereby improving encoding efficiency.

도 1은 영상의 일부분을 표현하는 데 사용되는 화소수를 해상도 별로 비교한 도면이다.
도 2는 본 발명의 일실시예에 따른 부호화 장치의 구성을 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 부호화 장치의 전체 구성을 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 부호화 장치의 동작을 설명하기 위해 제공되는 흐름도이다.
도 5는 본 발명의 일실시예에 따른 복호화 장치의 구성을 도시한 블록도이다.
도 6은 본 발명의 일실시예에 따른 부호화 장치의 전체 구성을 도시한 도면이다.
도 7은 본 발명의 일실시예에 따른 복호화 장치의 동작을 설명하기 위해 제공되는 흐름도이다.
도 8은 본 발명의 일실시예에 따른 부호화 장치의 구성을 도시한 도면이다.
도 9는 본 발명의 일실시예에 따른 부호화 장치의 동작을 설명하기 위해 제공되는 흐름도이다.
도 10은 본 발명의 일실시예에 따른 복호화 장치의 구성을 도시한 블록도이다.
도 11은 본 발명의 일실시예에 따른 복호화 장치의 동작을 설명하기 위해 제공되는 흐름도이다.
1 is a diagram comparing the number of pixels used to represent a part of an image for each resolution.
2 is a diagram illustrating a configuration of an encoding apparatus according to an embodiment of the present invention.
3 is a diagram illustrating an overall configuration of an encoding apparatus according to an embodiment of the present invention.
4 is a flowchart provided to explain the operation of the encoding apparatus according to an embodiment of the present invention.
5 is a block diagram showing the configuration of a decoding apparatus according to an embodiment of the present invention.
6 is a diagram showing the overall configuration of an encoding apparatus according to an embodiment of the present invention.
7 is a flowchart provided to explain the operation of the decoding apparatus according to an embodiment of the present invention.
8 is a diagram showing the configuration of an encoding apparatus according to an embodiment of the present invention.
9 is a flowchart provided to explain the operation of the encoding apparatus according to an embodiment of the present invention.
10 is a block diagram showing the configuration of a decoding apparatus according to an embodiment of the present invention.
11 is a flowchart provided to explain the operation of the decoding apparatus according to an embodiment of the present invention.

이하에서, 첨부된 도면을 참조하여 본 발명에 따른 실시예들을 상세히 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited or limited by the embodiments. In addition, the same reference numerals shown in each drawing denote the same member.

도 2는 본 발명의 일실시예에 따른 부호화 장치의 구성을 도시한 도면이다.2 is a diagram illustrating a configuration of an encoding apparatus according to an embodiment of the present invention.

도 2에서, 입력 영상은 가로 및 세로가 16×16 화소 크기를 갖는 부호화 단위로 처리될 수 있다. 이때, 부호화 장치는 화면내 예측 부호화 또는 화면간 예측 부호화를 통해 생성된 비트스트림을 출력할 수 있다. 먼저, 도 2를 참조하여 화면내 예측 부호화 과정을 설명하고, 화면간 예측 부호화 과정은 도 3을 참조하여 후술하기로 한다.In FIG. 2, an input image may be processed in coding units having a size of 16×16 pixels in width and height. In this case, the encoding device may output a bitstream generated through intra prediction encoding or inter prediction encoding. First, the intra prediction encoding process will be described with reference to FIG. 2, and the inter prediction encoding process will be described later with reference to FIG. 3.

도 2에 따르면, 부호화 장치(200)는 화면내 예측부(210), 참조 영상 버퍼(220), 감산부(230), 부호화 정보 생성부(240), 변환 및 양자화부(250), 엔트로피 부호화부(260), 역양자화 및 역변환부(270), 그리고 가산부(280)를 포함할 수 있다.Referring to FIG. 2, the encoding apparatus 200 includes an intra prediction unit 210, a reference image buffer 220, a subtraction unit 230, an encoding information generation unit 240, a transformation and quantization unit 250, and entropy encoding. A unit 260, an inverse quantization and inverse transform unit 270, and an addition unit 280 may be included.

화면내 예측부(210)는 참조 영상 버퍼(220)에 저장된 참조영상에 기초하여 현재 블록의 예측 블록을 생성할 수 있다. 이때, 참조영상으로 복원된 주변 블록을 이용하는 경우, 화면내 예측부(210)는 기정의된 복수의 예측 블록 생성 방법들 중 어느 하나와 현재 블록과 공간적으로 인접한 주변 블록들의 화소값을 이용하여 현재 블록의 예측 블록을 생성할 수 있다.The intra prediction unit 210 may generate a prediction block of the current block based on the reference image stored in the reference image buffer 220. In this case, when using a neighboring block reconstructed as a reference image, the intra prediction unit 210 uses one of a plurality of predefined prediction block generation methods and pixel values of neighboring blocks spatially adjacent to the current block. A prediction block of blocks can be generated.

일례로, (1) 화면내 예측부(210)는 현재 블록과 인접한 주변 블록의 화소를 그대로 복사(패딩)하여 현재 블록의 예측 블록을 생성할 수 있다. 이때, 현재 블록에 복사(패딩)되는 화소는 예측되는 방향에 따라 달라질 수 있으며, 예측되는 방향 정보는 부호화되어 비트스트림에 포함될 수 있다. 다시 말해, 화면내 예측부(210)는 H.264/AVC의 화면 내 예측 방법을 이용하여 현재 블록의 예측 블록을 생성할 수 있다. For example, (1) the intra prediction unit 210 may generate a prediction block of the current block by copying (padding) pixels of a neighboring block adjacent to the current block as it is. In this case, the pixel copied (padded) to the current block may vary according to the predicted direction, and the predicted direction information may be encoded and included in the bitstream. In other words, the intra prediction unit 210 may generate a prediction block of the current block by using the intra prediction method of H.264/AVC.

다른 예로, (2) 화면내 예측부(210)는 현재 블록과 주변 블록 간의 유사도에 기초하여 예측 방향을 결정하고, 결정된 예측 방향에 따라 주변 블록의 화소를 복사하여 현재 블록의 예측 블록을 생성할 수 있다. 다시 말해, 화면내 예측부(210)는 현재 블록과 인접하는 복수의 주변 블록들 중에서 결정된 예측 방향에 위치하는 주변 블록을 선택하고, 선택된 주변 블록의 화소를 복사하여 현재 블록의 예측 블록을 생성할 수 있다.As another example, (2) the intra prediction unit 210 determines a prediction direction based on the similarity between the current block and neighboring blocks, and copies pixels of the neighboring blocks according to the determined prediction direction to generate a prediction block of the current block. I can. In other words, the intra prediction unit 210 selects a neighboring block located in the determined prediction direction from among a plurality of neighboring blocks adjacent to the current block, and copies pixels of the selected neighboring block to generate a prediction block of the current block. I can.

또 다른 예로, (3) 화면내 예측부(210)는 이미 부호화가 수행된 현재 화면 영역에서 매칭을 통해 현재 블록과 가장 유사한 블록을 추출할 수 있다. 그리고, 화면내 예측부(210)는 추출된 블록을 이용하여 현재 블록의 예측 블록으로 생성할 수 있다. 이때, 현재 블록과 현재 블록의 예측 블록 간의 위치에 대한 차이 정보는 비트스트림에 포함될 수 있다.As another example, (3) the intra-prediction unit 210 may extract a block most similar to the current block through matching in a current screen region in which encoding has already been performed. In addition, the intra prediction unit 210 may generate a prediction block of the current block by using the extracted block. In this case, difference information about the position between the current block and the prediction block of the current block may be included in the bitstream.

또 다른 예로, (4) 화면내 예측부(210)는 이미 부호화가 수행된 현재 화면 영역에서 주변 블록과 가장 유사한 형태를 찾고, 찾은 형태로 둘러싸인 블록을 현재 블록의 예측 블록으로 생성할 수 있다.As another example, (4) the intra prediction unit 210 may find a shape most similar to a neighboring block in a current screen area in which encoding has already been performed, and generate a block surrounded by the found shape as a prediction block of the current block.

또 다른 예로, (5) 화면내 예측부(210)는 기정의된 복수의 예측 블록 생성 방법들을 혼합하여 현재 블록의 예측 블록을 생성할 수 있다. 이때, 화면내 예측부(210)는 복수의 예측 블록 생성 방법들을 이용하여 생성된 예측 블록들의 평균값을 이용하여 예측 블록을 생성할 수 있다. 또한, 복수의 예측 블록 생성 방법들 각각에 따른 가중치의 합으로 예측 블록을 생성할 수 있다.As another example, (5) the intra prediction unit 210 may generate a prediction block of the current block by mixing a plurality of predefined prediction block generation methods. In this case, the intra prediction unit 210 may generate a prediction block by using an average value of prediction blocks generated using a plurality of prediction block generation methods. In addition, a prediction block may be generated using the sum of weights according to each of the plurality of prediction block generation methods.

감산부(230)는 현재 블록과 현재 블록의 예측 블록을 감산하여 차분 블록(Residual Block)을 생성할 수 있다.The subtraction unit 230 may generate a residual block by subtracting the current block and the prediction block of the current block.

부호화 정보 생성부(240)는 차분 블록의 부호화 여부에 기초하여 부호화 정보를 생성할 수 있다. 일례로, 차분 블록을 부호화할지 부호화지 않을지를 결정하기 위해 현재 블록과 현재 블록의 예측 블록 간의 유사도 등이 이용될 수 있다.The encoding information generator 240 may generate encoding information based on whether the difference block is encoded. For example, a similarity between a current block and a prediction block of the current block may be used to determine whether to encode or not encode the difference block.

현재 블록과 현재 블록의 예측 블록 간의 유사도가 이용되는 경우, 부호화 정보 생성부(240)는 SAD (Sum of Absolute Differences), SATD (Sum of Absolute Transformed Differences), SSD(sum of squared difference) 등을 이용하여 현재 블록 및 현재 블록의 예측 블록 간의 유사도를 계산할 수 있다. 그리고, 부호화 정보 생성부(240)는, 계산된 유사도에 기초하여 부호화 정보를 생성할 수 있다. 여기서, 부호화 정보는 차분 블록을 부호화할지, 부호화하지 않을지 여부를 나타내는 정보를 포함할 수 있다.When the similarity between the current block and the prediction block of the current block is used, the encoding information generation unit 240 uses SAD (Sum of Absolute Differences), SATD (Sum of Absolute Transformed Differences), SSD (sum of squared difference), etc. Thus, the similarity between the current block and the prediction block of the current block can be calculated. In addition, the encoding information generator 240 may generate encoding information based on the calculated similarity. Here, the encoding information may include information indicating whether to encode the difference block or not.

일례로, 현재 블록과 현재 블록의 예측 블록 간의 유사도가 기설정된 기준 유사도 이상인 경우, 부호화 정보 생성부(240)는 차분 블록을 부호화 하지 않음을 나타내는 정보를 포함하는 부호화 정보를 생성할 수 있다. For example, when the similarity between the current block and the prediction block of the current block is greater than or equal to a preset reference similarity, the encoding information generator 240 may generate encoding information including information indicating that the difference block is not encoded.

다른 예로, 현재 블록과 현재 블록의 예측 블록 간의 유사도가 기준 유사도 미만인 경우, 부호화 정보 생성부(240)는 차분 블록을 부호화함을 나타내는 정보를 포함하는 부호화 정보를 생성할 수 있다.As another example, when the similarity between the current block and the prediction block of the current block is less than the reference similarity, the encoding information generator 240 may generate encoding information including information indicating that the difference block is encoded.

그러면, 변환 및 양자화부(250)는 부호화 정보에 기초하여 차분 블록을 변환 및 양자화할 수 있다. 그리고, 엔트로피 부호화부(260)는 부호화 정보에 기초하여 부호화 정보 및 차분 블록 중 적어도 하나를 엔트로피 부호화하여 비트스트림을 생성할 수 있다. Then, the transform and quantization unit 250 may transform and quantize the difference block based on the encoding information. In addition, the entropy encoder 260 may generate a bitstream by entropy encoding at least one of the encoding information and the difference block based on the encoding information.

일례로, 부호화 정보가 차분 블록을 부호화하지 않음을 나타내는 정보를 포함하는 경우, 변환 및 양자화부(250)는 차분 블록을 변환 및 양자화하지 않을 수 있다. 그러면, 엔트로피 부호화부(260)는 차분 블록 없이 부호화 정보만을 엔트로피 부호화하여 비트스트림을 생성할 수 있다. 이에 따라, 차분 블록을 변환 및 양자화함에 따른 계산 복잡도 및 부호화 시간이 감소될 수 있다. 이처럼, 부호화 정보가 차분 블록을 부호화하지 않음을 나타내는 정보를 포함하는 경우, 생성된 비트스트림은 부호화된 부호화 정보를 포함할 수 있다.For example, when the encoding information includes information indicating that the difference block is not encoded, the transform and quantization unit 250 may not transform and quantize the difference block. Then, the entropy encoder 260 may generate a bitstream by entropy encoding only the encoded information without a difference block. Accordingly, computational complexity and encoding time due to transforming and quantizing the difference block may be reduced. As such, when the encoding information includes information indicating that the difference block is not encoded, the generated bitstream may include encoded encoding information.

다른 예로, 부호화 정보가 차분 블록을 부호화함을 나타내는 정보를 포함하는 경우, 변환 및 양자화부(250)는 차분 블록을 변환 및 양자화할 수 있다. 그러면, 엔트로피 부호화부(260)는 변환 및 양자화된 차분 블록을 엔트로피 부호화하고, 부호화 정보를 엔트로피 부호화할 수 있다. 그리고, 엔트로피 부호화부(260)는 부호화된 차분 블록과 부호화된 부호화 정보를 혼합하여 비트스트림을 생성할 수 있다. 이처럼, 부호화 정보가 차분 블록을 부호화함을 나타내는 정보를 포함하는 경우, 생성된 비트스트림은 부호화된 차분 블록 및 부호화된 부호화 정보를 모두 포함할 수 있다.As another example, when the encoding information includes information indicating that the difference block is encoded, the transform and quantization unit 250 may transform and quantize the difference block. Then, the entropy encoding unit 260 may entropy-encode the transformed and quantized difference block and entropy-encode the encoding information. In addition, the entropy encoder 260 may generate a bitstream by mixing the encoded difference block and the encoded encoding information. As described above, when the encoding information includes information indicating that the difference block is encoded, the generated bitstream may include both the encoded difference block and the encoded encoding information.

이때, 변환 및 양자화부(250)는 화면내 예측 부호화 모드에 따라 차분 블록에 대해 변환 및 양자화를 다르게 수행할 수 있다.In this case, the transform and quantization unit 250 may perform different transform and quantization on the difference block according to the intra prediction coding mode.

일례로, 16×16 화면내 예측 부호화를 이용한 경우, 변환 및 양자화부(250)는 차분 블록을 변환하여 변환계수(Transform Coefficient)를 생성하고, 생성된 변환계수 중에서 DC 계수만을 모아서 다시 하다마드 변환을 수행할 수 있다. 그러면, 엔트로피 부호화부(260)는 하다마드 변환된 DC 계수만을 엔트로피 부호화하여 비트스트림으로 출력할 수 있다. For example, in the case of using 16×16 intra prediction coding, the transform and quantization unit 250 transforms the difference block to generate a transform coefficient, collects only the DC coefficient from the generated transform coefficients, and transforms the Hadamard again. Can be done. Then, the entropy encoder 260 may entropy-encode only the Hadamard-transformed DC coefficients and output them as a bitstream.

다른 예로, 16×16 이외에 8×8, 및 4×4 화면내 예측 부호화 모드를 이용한 경우, 변환 및 양자화부(250)는 차분 블록을 변환하여 변환계수(Transform Coefficient)를 생성하고, 생성된 변환계수를 양자화 파라미터에 따라 양자화하여 양자화 계수(Quantized Coefficient)를 생성할 수 있다. 그러면, 엔트로피 부호화부(260)는 생성된 양자화 계수를 확률 분포에 따라 엔트로피 부호화하여 비트스트림으로 출력할 수 있다.As another example, when 8×8 and 4×4 intra prediction coding modes other than 16×16 are used, the transform and quantization unit 250 transforms the difference block to generate a transform coefficient, and the generated transform A quantized coefficient may be generated by quantizing a coefficient according to a quantization parameter. Then, the entropy encoding unit 260 may entropy-encode the generated quantization coefficient according to a probability distribution and output it as a bitstream.

역양자화 및 역변환부(270)는 변환 및 양자화부(250)에서 출력된 양자화 계수를 역양자화 및 역변환하여 차분 블록을 복호화할 수 있다.The inverse quantization and inverse transform unit 270 may inverse quantize and inverse transform the quantization coefficient output from the transform and quantization unit 250 to decode the difference block.

그리고, 가산부(280)는 복호화된 차분 블록과 현재 블록의 예측 블록을 가산하여 현재 블록을 복원할 수 있다. 그러면, 참조 영상 버퍼(220)는 복원된 현재 블록을 저장할 수 있다.In addition, the addition unit 280 may restore the current block by adding the decoded difference block and the prediction block of the current block. Then, the reference image buffer 220 may store the reconstructed current block.

이처럼, 참조 영상 버퍼(220)에 복원된 현재 블록이 저장됨에 따라, 이전 단계에서 복원된 주변 블록이 참조 영상으로 참조 영상 버퍼(220)에 저장될 수 있다. 그러면, 부호화 정보가 차분 블록을 부호화하지 않음을 나타내는 정보를 포함하는 경우, 참조 영상 버퍼(220)에 저장된 복원된 주변 블록은 주변 블록의 예측 블록 만을 이용하여 복원된 블록이다. 그리고, 부호화 정보가 차분 블록을 부호화함을 나타내는 정보를 포함하는 경우, 참조 영상 버퍼(220)에 저장된 복원된 주변 블록은 차분 블록 및 주변 블록의 예측 블록을 이용하여 복원된 블록이다. 이에 따라, 화면내 예측부(210)는 부호화 정보에 따라 주변 블록의 예측 블록 만을 이용하여 복원된 주변 블록, 또는 복원된 차분 블록과 주변 블록의 예측 블록을 이용하여 복원된 주변 블록을 이용하여 현재 블록의 예측 블록을 생성할 수 있다.In this way, as the restored current block is stored in the reference image buffer 220, the neighboring blocks restored in the previous step may be stored in the reference image buffer 220 as a reference image. Then, when the encoding information includes information indicating that the difference block is not encoded, the reconstructed neighboring block stored in the reference image buffer 220 is a reconstructed block using only the prediction block of the neighboring block. In addition, when the encoding information includes information indicating that the difference block is encoded, the reconstructed neighboring block stored in the reference image buffer 220 is a reconstructed block using the difference block and the prediction block of the neighboring block. Accordingly, the intra-prediction unit 210 uses the neighboring block reconstructed using only the prediction block of the neighboring block according to the encoding information, or the neighboring block reconstructed using the reconstructed difference block and the predicted block of the neighboring block. A prediction block of blocks can be generated.

이상의 도 2에서는 설명의 편의를 위해 입력 영상에 대해 화면내 예측 부호화를 수행하는 구성에 대해 설명하였으나, 이하에서는 도 3을 참조하여 화면내 예측 부호화 및 화면간 예측 부호화를 모두 수행하는 구성에 대해 설명하기로 한다.In FIG. 2 above, a configuration for performing intra prediction encoding on an input image has been described for convenience of description, but hereinafter, a configuration for performing both intra prediction encoding and inter prediction encoding on an input image will be described with reference to FIG. 3. I will do it.

도 3은 본 발명의 일실시예에 따른 부호화 장치의 전체 구성을 도시한 도면이다.3 is a diagram illustrating an overall configuration of an encoding apparatus according to an embodiment of the present invention.

도 3에서 도 2의 동작을 설명하면서 언급된 구성 요소는 실질적으로 동일하므로, 중복되는 설명은 생략하기로 한다. 도 3의 부호화 장치(300)는 도 2의 부호화 장치(200)에서 움직임 예측부(310), 움직임 보상부(320), 및 디블로킹부(350)를 더 포함할 수 있다.In FIG. 3, components mentioned while describing the operation of FIG. 2 are substantially the same, and thus, a duplicate description will be omitted. The encoding apparatus 300 of FIG. 3 may further include a motion prediction unit 310, a motion compensation unit 320, and a deblocking unit 350 in the encoding apparatus 200 of FIG. 2.

움직임 예측부(310)는 BMA(Block Matching Algorithm), 위상 상관(Phase Correlation), HSBMA등의 다양한 움직임 추정 알고리즘을 이용하여 참조 영상들 중 현재 블록과 가장 매치가 잘되는 영역을 찾아 움직임 벡터를 계산할 수 있다The motion prediction unit 310 may calculate a motion vector by finding an area that best matches the current block among reference images using various motion estimation algorithms such as BMA (Block Matching Algorithm), Phase Correlation, HSBMA, etc. have

그러면, 움직임 보상부(320)는 계산된 움직임 벡터를 이용하여 움직임 보상을 수행하여 현재 블록의 예측 블록을 생성할 수 있다. 이처럼, 본 발명의 일실시예에 따른 부호화 장치는 움직임 예측 및 보상을 통해 화면간 예측 부호화를 수행할 수 있다. 그러면, 감산부(330)는 화면간 예측 부호화 또는 화면내 예측 부호화를 통해 생성된 현재 블록의 예측 블록과 현재 블록을 감산하여 차분 블록을 생성할 수 있다.Then, the motion compensation unit 320 may perform motion compensation using the calculated motion vector to generate a prediction block of the current block. As such, the encoding apparatus according to an embodiment of the present invention may perform inter prediction encoding through motion prediction and compensation. Then, the subtraction unit 330 may generate a difference block by subtracting the prediction block and the current block of the current block generated through inter prediction encoding or intra prediction encoding.

가산부(340)는 현재 블록의 예측 블록 및 복원된 차분 블록 중 적어도 하나를 이용하여 현재 블록을 복원할 수 있다. 그리고, 복원된 차분 블록은 참조 영상 버퍼에 저장될 수 있다.The adder 340 may reconstruct the current block by using at least one of the prediction block and the reconstructed difference block of the current block. In addition, the reconstructed difference block may be stored in the reference image buffer.

일례로, 변환 및 양자화부에서 차분 블록이 변환 및 양자화되지 않은 경우, 가산부(304)는 현재 블록의 예측 블록만으로 현재 블록을 복원할 수 있다. 다른 예로, 변환 및 양자화부에서 차분 블록이 변환 및 양자화된 경우, 가산부(304)는 현재 블록의 예측 블록과 복원된 차분 블록을 가산하여 현재 블록을 복원할 수 있다. For example, when the difference block is not transformed and quantized by the transform and quantization unit, the adder 304 may reconstruct the current block only with the prediction block of the current block. As another example, when the difference block is transformed and quantized in the transform and quantization unit, the addition unit 304 may reconstruct the current block by adding the prediction block of the current block and the reconstructed difference block.

그러면, 디블로킹부(340)는 디블로킹 필터를 이용하여 복원된 현재 블록에서 블록킹 현상(Blocking Artifact)를 제거하여 참조 영상 버퍼에 저장할 수 있다.Then, the deblocking unit 340 may remove a blocking artifact from the restored current block using the deblocking filter and store it in the reference image buffer.

도 3에서, 화면간 예측 부호화는 16×16, 16×8, 8×16, 8×8 화면간 예측 부호화 모드로 나누어지고, 8×8 화면간 예측 부호화 모드는 다시 8×8, 8×4, 4×8, 4×4 서브 화면간 예측 부호화 모드로 나누어질 수 있다.In FIG. 3, inter prediction encoding is divided into 16×16, 16×8, 8×16, and 8×8 inter prediction encoding modes, and 8×8 inter prediction encoding modes are again 8×8 and 8×4. , 4×8, and 4×4 sub-pictures can be divided into prediction encoding modes.

도 4는 본 발명의 일실시예에 따른 부호화 장치의 동작을 설명하기 위해 제공되는 흐름도이다.4 is a flowchart provided to explain the operation of the encoding apparatus according to an embodiment of the present invention.

먼저, 410 단계에서, 화면내 예측부(210)는 참조 영상에 기초하여 현재 블록의 예측 블록을 생성할 수 있다. First, in step 410, the intra prediction unit 210 may generate a prediction block of a current block based on a reference image.

일례로, 화면내 예측부(210)는 기정의된 복수의 예측 블록 생성 방법들 중 어느 하나를 이용하여 현재 블록의 예측 블록을 생성할 수 있다. 여기서, 참조 영상은 복원된 주변 블록이 이용될 수 있다. 이때, 복원된 주변 블록은 주변 블록의 예측 블록 만을 이용하여 복원되거나, 또는 주변 블록의 예측 블록 및 복호화된 차분 블록을 이용하여 복원된 블록일 수 있다. 그러면, 화면내 예측부(210)는 복원된 주변 블록을 이용하여 현재 블록의 예측 블록을 생성할 수 있다. For example, the intra prediction unit 210 may generate a prediction block of the current block using any one of a plurality of predefined prediction block generation methods. Here, the reconstructed neighboring block may be used as the reference image. In this case, the reconstructed neighboring block may be reconstructed using only the prediction block of the neighboring block, or may be a block reconstructed using the prediction block of the neighboring block and the decoded difference block. Then, the intra prediction unit 210 may generate a prediction block of the current block by using the reconstructed neighboring blocks.

이어, 420 단계에서, 감산부(230)는 현재 블록 및 현재 블록의 예측 블록을 감산하여 차분 블록을 생성할 수 있다.Subsequently, in step 420, the subtraction unit 230 may generate a difference block by subtracting the current block and the prediction block of the current block.

그리고, 430 단계에서, 부호화 정보 생성부(240)는 차분 블록의 부호화 여부에 기초하여 부호화 정보를 생성할 수 있다. 이때, 차분 블록의 부호화 여부는 현재 블록 및 현재 블록의 예측 블록 간의 유사도 등에 기초하여 결정될 수 있다. Then, in step 430, the encoding information generator 240 may generate encoding information based on whether or not the difference block is encoded. In this case, whether to encode the difference block may be determined based on a similarity between the current block and the prediction block of the current block.

일례로, 유사도를 이용하는 경우, 부호화 정보 생성부(240)는 SAD (Sum of Absolute Differences), SATD (Sum of Absolute Transformed Differences), SSD(sum of squared difference) 등을 이용하여 현재 블록 및 현재 블록의 예측 블록 간의 유사도를 계산할 수 있다. 그리고, 부호화 정보 생성부(240)는 계산된 유사도에 기초하여 부호화 정보를 생성할 수 있다.For example, in the case of using the similarity, the encoding information generation unit 240 uses sum of absolute differences (SAD), sum of absolute transformed differences (SATD), sum of squared difference (SSD), etc. Similarity between prediction blocks can be calculated. In addition, the encoding information generator 240 may generate encoding information based on the calculated similarity.

이때, 계산된 유사도가 기준 유사도 이상인 경우, 부호화 정보 생성부(240)는 차분 블록을 부호화하지 않음을 나타내는 정보를 포함하도록 부호화 정보를 생성할 수 있다. 그리고, 계산된 유사도가 기준 유사도 미만인 경우, 부호화 정보 생성부(240)는 차분 블록을 부호화함을 나타내는 정보를 포함하도록 부호화 정보를 생성할 수 있다.In this case, when the calculated similarity is greater than or equal to the reference similarity, the encoding information generator 240 may generate encoding information to include information indicating that the difference block is not encoded. In addition, when the calculated similarity is less than the reference similarity, the encoding information generator 240 may generate encoding information to include information indicating that the difference block is encoded.

이어, 440 단계에서, 변환 및 양자화부(250)는 부호화 정보에 기초하여 차분 블록을 변환 및 양자화할 수 있다. Subsequently, in step 440, the transform and quantization unit 250 may transform and quantize the difference block based on the encoding information.

이때, 부호화 정보가 차분 블록을 부호화함을 나타내는 정보를 포함하는 경우, 변환 및 양자화부(250)는 차분 블록을 변환 및 양자화할 수 있다.In this case, when the encoding information includes information indicating that the difference block is to be encoded, the transform and quantization unit 250 may transform and quantize the difference block.

그리고, 부호화 정보가 차분 블록을 부호화하지 않음을 나타내는 정보를 포함하는 경우, 변환 및 양자화부(250)는 차분 블록을 변환 및 양자화하지 않을 수 있다.In addition, when the encoding information includes information indicating that the difference block is not encoded, the transform and quantization unit 250 may not transform and quantize the difference block.

그러면, 450 단계에서 엔트로피 부호화부(260)는 변환 및 양자화된 차분 블록 및 부호화 정보 중 적어도 하나를 엔트로피 부호화하여 비트스트림으로 출력할 수 있다.Then, in step 450, the entropy encoding unit 260 may entropy-encode at least one of the transformed and quantized difference blocks and encoding information and output them as a bitstream.

일례로, 부호화 정보에 기초하여 차분 블록이 변환 및 양자화된 경우, 엔트로피 부호화부(260)는 변환 및 양자화된 차분 블록을 엔트로피 부호화하고 부호화 정보를 엔트로피 부호화할 수 있다. 그리고, 엔트로피 부호화부(260)는 부호화된 차분 블록 및 부호화 정보를 혼합하여 생성된 비트스트림을 복호화 장치로 전송할 수 있다.For example, when a difference block is transformed and quantized based on encoding information, the entropy encoder 260 may entropy-encode the transformed and quantized difference block and entropy-encode the encoded information. In addition, the entropy encoder 260 may transmit a bitstream generated by mixing the encoded difference block and encoding information to the decoding apparatus.

다른 예로, 부호화 정보에 기초하여 차분 블록이 변환 및 양자화되지 않은 경우, 엔트로피 부호화부(260)는 차분 블록 없이 부호화 정보 만을 엔트로피 부호화하여 비트스트림으로 출력할 수 있다.As another example, when the difference block is not transformed and quantized based on the encoding information, the entropy encoder 260 may entropy-encode only the encoding information without the difference block and output it as a bitstream.

도 5는 본 발명의 일실시예에 따른 복호화 장치의 구성을 도시한 블록도이다.5 is a block diagram showing the configuration of a decoding apparatus according to an embodiment of the present invention.

도 5에 따르면, 복호화 장치(500)는 화면내 예측부(510), 참조 영상 버퍼(520), 엔트로피 복호화부(530), 역양자화 및 역변환부(540), 그리고 가산부(550)를 포함할 수 있다.Referring to FIG. 5, the decoding apparatus 500 includes an intra prediction unit 510, a reference image buffer 520, an entropy decoding unit 530, an inverse quantization and inverse transform unit 540, and an adder 550. can do.

화면내 예측부(510)는 참조 영상에 기초하여 현재 블록의 예측 블록을 생성할 수 있다. 이때, 화면내 예측부(520)는 기정의된 복수의 예측 블록 생성 방법들 중에서 어느 하나를 이용하여 현재 블록의 예측 블록을 생성할 수 있다. 여기서, 기정의된 복수의 예측 블록 생성 방법은 도 2의 화면내 예측부(210)에서 이미 설명하였으므로 중복되는 설명은 생략하기로 한다.The intra prediction unit 510 may generate a prediction block of the current block based on the reference image. In this case, the intra prediction unit 520 may generate a prediction block of the current block using any one of a plurality of predefined prediction block generation methods. Here, since the predefined method of generating a plurality of prediction blocks has already been described by the intra prediction unit 210 of FIG. 2, a redundant description will be omitted.

일례로, 화면내 예측부(510)는 참조 영상 버퍼(520)에 저장된 복원된 주변 블록을 이용하여 현재 블록의 예측 블록을 생성할 수 있다. 이때, 차분 블록의 부호화 여부에 따라, 복원된 주변 블록은 주변 블록의 예측 블록 만을 이용하여 복원되거나, 또는 주변 블록의 예측 블록과 복호화된 차분 블록을 이용하여 복원된 블록일 수 있다.As an example, the intra prediction unit 510 may generate a prediction block of the current block by using the reconstructed neighboring blocks stored in the reference image buffer 520. In this case, depending on whether the difference block is encoded, the reconstructed neighboring block may be reconstructed using only the prediction block of the neighboring block, or a reconstructed block using the prediction block of the neighboring block and the decoded difference block.

엔트로피 복호화부(530)는 비트스트림을 역다중화하여 부호화된 부호화 정보를 추출하고, 부호된 부호화 정보를 엔트로피 복호화할 수 있다.The entropy decoder 530 may demultiplex the bitstream to extract encoded encoding information, and entropy-decode the encoded encoding information.

이때, 부호화 정보가 차분 블록을 부호화함을 나타내는 정보를 포함하는 경우, 엔트로피 복호화부(530)는 비트스트림을 역다중화하면서 부호화된 부호화 정보뿐만 아니라 부호화된 차분 블록을 추출할 수 있다. 그리고, 엔트로피 복호화부(530)는 부호화된 부호화 정보를 복호화하고, 부호화된 차분 블록을 복호화할 수 있다.In this case, when the encoding information includes information indicating that the difference block is encoded, the entropy decoder 530 may extract not only the encoded encoding information but also the encoded difference block while demultiplexing the bitstream. In addition, the entropy decoder 530 may decode the encoded encoding information and decode the encoded difference block.

그리고, 부호화 정보가 차분 블록을 부호화하지 않음 나타내는 정보를 포함하는 경우, 엔트로피 복호화부(530)는 비트스트림을 역다중화하면서 부호화된 부호화 정보를 추출할 수 있다. 즉, 부호화 정보가 차분 블록을 부호화하지 않음 나타내는 정보를 포함하는 경우, 비트스트림에는 부호화된 차분 블록이 포함되지 않을 수 있다. 이에 따라, 엔트로피 복호화부(530)는 부호화된 부호화 정보만을 엔트로피 복호화할 수 있다.Further, when the encoding information includes information indicating that the difference block is not encoded, the entropy decoder 530 may extract the encoded encoding information while demultiplexing the bitstream. That is, when the encoding information includes information indicating that the difference block is not encoded, the encoded difference block may not be included in the bitstream. Accordingly, the entropy decoder 530 may entropy-decode only the encoded information.

역양자화 및 역변환부(540)는 복호된 부호화 정보에 기초하여 차분 블록을 역양자화 및 역변환하여 차분 블록을 복호화할 수 있다.The inverse quantization and inverse transform unit 540 may decode the difference block by inverse quantizing and inverse transforming the difference block based on the decoded encoding information.

일례로, 부호화 정보가 차분 블록을 부호화함을 나타내는 정보를 포함하는 경우, 역양자화 및 역변환부(540)는 부호화된 차분 블록을 확률 분포에 따른 가변길이 복호화를 이용하여 역양자화함에 따라 양자화 계수를 출력할 수 있다. 이때, 출력되는 양자화 계수는 DC 계수 정보 만을 포함할 수도 있고, DC 계수 정보와 AC 계수 정보를 모두 포함할 수도 있다.As an example, when the encoding information includes information indicating that the difference block is to be encoded, the inverse quantization and inverse transform unit 540 inverse quantizes the encoded difference block using variable length decoding according to a probability distribution, thereby calculating a quantization coefficient. Can be printed. In this case, the output quantization coefficient may include only DC coefficient information or both DC coefficient information and AC coefficient information.

다른 예로, 부호화 정보가 차분 블록을 부호화하지 않음 나타내는 정보를 포함하는 경우, 역양자화 및 역변환부(540)는 비트스트림으로부터 추출된 부호화된 차분 블록이 없으므로 동작하지 않을 수 있다. 다시 말해, 역양자화 및 역 변환부(540)는 비트스트림에 부호화된 차분 블록이 포함된 경우에만 동작할 수 있다.As another example, when the encoding information includes information indicating that the difference block is not encoded, the inverse quantization and inverse transform unit 540 may not operate because there is no encoded difference block extracted from the bitstream. In other words, the inverse quantization and inverse transform unit 540 can operate only when an encoded difference block is included in the bitstream.

가산부(550)는 부호화 정보에 기초하여 복호화된 차분 블록 및 현재 블록의 예측 블록 중 적어도 하나를 이용하여 현재 블록을 복원할 수 있다. The adder 550 may reconstruct the current block by using at least one of a difference block decoded based on the encoding information and a prediction block of the current block.

일례로, 부호화 정보가 차분 블록을 부호화함을 나타내는 정보를 포함하는 경우, 가산부(550)는 복원된 차분 블록 및 현재 블록의 예측 블록을 가산하여 현재 블록을 복원할 수 있다.For example, when the encoding information includes information indicating that the difference block is to be encoded, the adder 550 may reconstruct the current block by adding the reconstructed difference block and the prediction block of the current block.

다른 예로, 부호화 정보가 차분 블록을 부호화하지 않음 나타내는 정보를 포함하는 경우, 가산부(550)는 화면내 예측부(510)에서 생성된 현재 블록의 예측 블록만을 이용하여 현재 블록을 복원할 수 있다.As another example, when the encoding information includes information indicating that the difference block is not encoded, the adder 550 may reconstruct the current block using only the prediction block of the current block generated by the intra prediction unit 510. .

참조 영상 버퍼(520)는 복원된 현재 블록을 저장할 수 있다.The reference image buffer 520 may store the reconstructed current block.

도 6은 본 발명의 일실시예에 따른 부호화 장치의 전체 구성을 도시한 도면이다.6 is a diagram showing the overall configuration of an encoding apparatus according to an embodiment of the present invention.

도 6에서 도 5의 동작을 설명하면서 언급된 구성 요소는 실질적으로 동일하므로, 중복되는 설명은 생략하기로 한다. 도 6의 복호화 장치(600)는 도 5의 부호화 장치(500)에서 움직임 보상부(610), 및 디블로킹부(620)를 더 포함할 수 있다.In FIG. 6, since the components mentioned while describing the operation of FIG. 5 are substantially the same, a redundant description will be omitted. The decoding apparatus 600 of FIG. 6 may further include a motion compensation unit 610 and a deblocking unit 620 in the encoding apparatus 500 of FIG. 5.

움직임 보상부(610)는 엔트로피 복호화를 통해 비트스트림으로부터 추출된 움직임 벡터를 이용하여 참조 영상에 대해 움직임 보상을 수행할 수 있다. 그리고, 움직임 보상부(610)는 움직임 보상을 통해 현재 블록의 예측 블록을 생성할 수 있다.The motion compensation unit 610 may perform motion compensation on a reference image using a motion vector extracted from a bitstream through entropy decoding. In addition, the motion compensation unit 610 may generate a prediction block of the current block through motion compensation.

디블로킹부(620)는 복원된 현재 블록에서 블록킹 현상을 제거하여 복원 영상을 출력할 수 있다. 그리고, 복원 영상은 참조 영상 버퍼에 저장될 수 있다.The deblocking unit 620 may output a reconstructed image by removing a blocking phenomenon from the reconstructed current block. In addition, the reconstructed image may be stored in the reference image buffer.

도 7은 본 발명의 일실시예에 따른 복호화 장치의 동작을 설명하기 위해 제공되는 흐름도이다.7 is a flowchart provided to explain the operation of the decoding apparatus according to an embodiment of the present invention.

먼저, 710 단계에서, 화면내 예측부(510)는 참조 영상을 이용하여 현재 블록의 예측 블록을 생성할 수 있다. First, in step 710, the intra prediction unit 510 may generate a prediction block of the current block using a reference image.

일례로, 화면내 예측부(510)는 참조 영상 버퍼(520)에 저장된 복원된 주변 블록을 이용하여 현재 블록의 예측 블록을 생성할 수 있다. 이때, 화면내 예측부(510)는 도 2의 화면내 예측부(210)에서 이미 설명한 바와 같이, 기정의된 복수의 예측 블록 생성 방법들 중 어느 하나에 따라 현재 블록의 예측 블록을 생성할 수 있다. As an example, the intra prediction unit 510 may generate a prediction block of the current block by using the reconstructed neighboring blocks stored in the reference image buffer 520. In this case, the intra prediction unit 510 may generate a prediction block of the current block according to any one of a plurality of predefined prediction block generation methods, as already described in the intra prediction unit 210 of FIG. 2. have.

이어, 720 단계에서, 엔트로피 복호화부(530)는 비트스트림을 역다중화하여 부호화된 부호화 정보를 추출할 수 있다.Subsequently, in step 720, the entropy decoder 530 may extract the encoded information by demultiplexing the bitstream.

그리고, 730 단계에서, 엔트로피 복호화부(530)는 부호화된 부호화 정보를 엔트로피 복호화할 수 있다. 여기서, 부호화 정보는 차분 블록을 부호화함을 나타내는 정보 또는 차분 블록을 부호화하지 않음을 나타내는 정보를 포함할 수 있다.Further, in step 730, the entropy decoder 530 may entropy-decode the encoded encoding information. Here, the encoding information may include information indicating that the difference block is encoded or information indicating that the difference block is not encoded.

이때, 부호화 정보가 차분 블록을 부호화함을 나타내는 정보를 포함하는 경우, 엔트로피 복호화부(530)는 비트스트림으로부터 부호화된 차분 블록을 추출하여 엔트로피 복호화할 수 있다.In this case, when the encoding information includes information indicating that the difference block is to be encoded, the entropy decoder 530 may extract the encoded difference block from the bitstream and perform entropy decoding.

이어, 740 단계에서, 역양자화 및 역변환부(540)는 복호된 부호화 정보에 기초하여 차분 블록을 역양자화 및 역변환할 수 있다.Subsequently, in step 740, the inverse quantization and inverse transform unit 540 may inverse quantize and inversely transform the difference block based on the decoded encoding information.

일례로, 부호화 정보가 차분 블록을 부호화함을 나타내는 정보를 포함하는 경우, 역양자화 및 역변환부(540)는 부호화된 차분 블록을 역양자화하고, 다시 역변환하여 차분 블록을 복원할 수 있다.For example, when the encoding information includes information indicating that the difference block is to be encoded, the inverse quantization and inverse transform unit 540 may inverse quantize the encoded difference block and reconstruct the difference block by inverse transformation.

다른 예로, 부호화 정보가 차분 블록을 부호화하지 않음을 나타내는 정보를 포함하는 경우, 역양자화 및 역변환부(540)는 비트스트림으로부터 추출된 차분 블록이 없으므로 동작을 생략할 수 있다. 다시 말해, 역양자화 및 역변환부(540)는 비트스트림에 부호화된 차분 블록이 포함된 경우에만 동작할 수 있다. 이에 따라, 복호화 장치의 계산 복잡도가 감소하고, 복호화 시간이 단축될 수 있다. As another example, when the encoding information includes information indicating that the difference block is not encoded, the inverse quantization and inverse transform unit 540 may skip the operation because there is no difference block extracted from the bitstream. In other words, the inverse quantization and inverse transform unit 540 can operate only when an encoded difference block is included in the bitstream. Accordingly, computational complexity of the decoding apparatus may be reduced, and a decoding time may be shortened.

그리고, 750 단계에서, 가산부(550)는 현재 블록의 예측 블록 및 복원된 차분 블록 중 적어도 하나에 기초하여 현재 블록을 복원할 수 있다. In addition, in step 750, the adder 550 may reconstruct the current block based on at least one of the prediction block and the reconstructed difference block of the current block.

일례로, 부호화 정보가 차분 블록을 부호화함을 나타내는 정보를 포함하는 경우, 가산부(550)는 현재 블록의 예측 블록 및 복원된 차분 블록을 더하여 현재 블록을 복원할 수 있다. 그러면, 본원 영상인 현재 블록은 디스플레이될 수 있다.For example, when the encoding information includes information indicating that the difference block is to be encoded, the adder 550 may reconstruct the current block by adding the prediction block of the current block and the reconstructed difference block. Then, the current block, which is the image of the present application, may be displayed.

다른 예로, 부호화 정보가 차분 블록을 부호화하지 않음을 나타내는 정보를 포함하는 경우, 가산부(550)는 현재 블록의 예측 블록 만을 이용하여 현재 블록을 복원할 수 있다. 다시 말해, 복원 영상은 현재 블록의 예측 블록 만으로 구성될 수 있다.As another example, when the encoding information includes information indicating that the difference block is not encoded, the adder 550 may reconstruct the current block using only the prediction block of the current block. In other words, the reconstructed image may consist of only the prediction block of the current block.

이상에서는 도 2 내지 도 7을 참조하여, 기정의된 복수의 예측 블록 생성들 중에서 어느 하나를 이용하여 현재 블록의 예측 블록을 생성하는 구성에 대해 설명하였다. 특히, 본 발명의 일실시예에 따른 부호화 및 복호화 장치는 차분 블록의 부호화 여부에 기초하여 현재 블록의 예측 블록 만을 이용하여 현재 블록을 복원하는 구성에 대해 설명하였다. In the above, a configuration for generating a prediction block of a current block by using any one of a plurality of predefined prediction block generations has been described with reference to FIGS. 2 to 7. In particular, a configuration in which the encoding and decoding apparatus according to an embodiment of the present invention reconstructs the current block using only the prediction block of the current block based on whether or not the difference block is encoded has been described.

이하에서는 주변 블록의 예측 블록 생성 시 이용된 예측 블록 생성 방법 또는 기정의된 복수의 예측 블록 생성 방법들에 따라 현재 블록의 예측 블록을 복수 개 생성하고, 현재 블록의 예측 블록들 중에서 어느 하나를 선택하여 부호화 및 복호화를 수행하는 구성에 대해 설명하기로 한다. Hereinafter, a plurality of prediction blocks of the current block are generated according to a prediction block generation method used when generating a prediction block of a neighboring block or a plurality of predefined prediction block generation methods, and any one of the prediction blocks of the current block is selected. Hereinafter, a configuration for encoding and decoding will be described.

도 8은 본 발명의 일실시예에 따른 부호화 장치의 구성을 도시한 도면이다.8 is a diagram showing the configuration of an encoding apparatus according to an embodiment of the present invention.

도 8은 도 2의 부호화 장치에서 예측 블록 선택부를 더 포함하며, 화면내 예측부의 동작이 도 2의 화면내 예측부와 상이하다. 이에 따라, 도 8의 구성 요소들 중 도 2와 중복되는 성명은 생략하고, 예측 블록 선택부 및 화면내 예측부를 중심으로 설명하기로 한다.FIG. 8 further includes a prediction block selection unit in the encoding apparatus of FIG. 2, and an operation of the intra prediction unit is different from the intra prediction unit of FIG. 2. Accordingly, among the constituent elements of FIG. 8, names overlapping with FIG. 2 will be omitted, and description will be made focusing on the prediction block selection unit and the intra prediction unit.

도 8에 따르면, 부호화 장치(800)는 화면내 예측부(810), 참조 영상 버퍼(820), 예측 블록 선택부(830), 감산부(840), 부호화 정보 생성부(850), 변환 및 양자화부(860), 엔트로피 부호화부(870), 역양자화 및 역 변환부(880), 그리고 가산부(890)를 포함할 수 있다.Referring to FIG. 8, the encoding apparatus 800 includes an intra prediction unit 810, a reference image buffer 820, a prediction block selection unit 830, a subtraction unit 840, an encoding information generation unit 850, a transform and A quantization unit 860, an entropy encoding unit 870, an inverse quantization and inverse transform unit 880, and an adder 890 may be included.

화면내 예측부(810)는 참조 영상 버퍼(820)에 저장된 참조 영상을 이용하여 현재 블록의 예측 블록을 하나 이상 생성할 수 있다. 이때, 화면내 예측부(810)는 주변 블록들의 예측 블록 생성 시 이용된 예측 블록 생성 방법의 개수에 기초하여 기정의된 복수의 예측 블록 생성 방법 또는 복원된 주변 블록들 각각의 예측 블록 생성시 이용된 예측 블록 생성 방법에 따라 현재 블록의 예측 블록을 생성할 수 있다.The intra prediction unit 810 may generate one or more prediction blocks of the current block by using the reference image stored in the reference image buffer 820. In this case, the intra-prediction unit 810 is used to generate a plurality of predefined prediction blocks or to generate prediction blocks of each of the reconstructed neighboring blocks based on the number of prediction block generation methods used when generating prediction blocks of neighboring blocks. A prediction block of the current block may be generated according to the predicted block generation method.

일례로, 주변 블록들의 예측 블록 생성 시 이용된 예측 블록 생성 방법이 모두 동일한 경우, 화면내 예측부(810)는 모두 동일하게 이용한 주변 블록의 예측 블록 생성 방법에 따라 현재 블록의 예측 블록을 생성할 수 있다. 다시 말해, 주변 블록들의 예측 블록이 화면내 예측 1에 따라 생성된 경우, 화면내 예측부(810)는 화면내 예측 1에 따라 참조 영상을 이용하여 현재 블록의 예측 블록을 생성할 수 있다. 그러면, 예측 블록 선택부(830)는 생성된 현재 블록의 예측 블록이 하나이므로 생성된 현재 블록의 예측 블록을 그대로 출력할 수 있다.For example, if the prediction block generation methods used to generate the prediction blocks of the neighboring blocks are all the same, the intra prediction unit 810 may generate the prediction blocks of the current block according to the prediction block generation method of the neighboring blocks using the same. I can. In other words, when prediction blocks of neighboring blocks are generated according to intra prediction 1, the intra prediction unit 810 may generate a prediction block of the current block using the reference image according to intra prediction 1. Then, since the prediction block of the generated current block is one, the prediction block selector 830 may output the prediction block of the generated current block as it is.

다른 예로, 주변 블록들의 예측 블록 생성 시 이용된 예측 블록 생성 방법이 2가지 이하인 경우, 화면내 예측부(810)는 주변 블록들의 예측 블록 생성 시 이용된 2개의 예측 블록 생성 방법에 따라 2개의 현재 블록의 예측 블록을 생성할 수 있다. As another example, when two or less prediction block generation methods are used when generating prediction blocks of neighboring blocks, the intra-prediction unit 810 may generate two current prediction blocks according to the two prediction block generation methods used when generating prediction blocks of neighboring blocks. A prediction block of blocks can be generated.

그러면, 예측 블록 선택부(830)는 2개의 현재 블록의 예측 블록 중에서 부호화 효율이 좋은 예측 블록을 선택할 수 있다. 예를 들면, 예측 블록 선택부(830)는 현재 블록의 예측 블록과 현재 블록 간의 유사도, 및 율-왜곡 비용 등을 이용하여 부호화 효율이 좋은 예측 블록을 선택할 수 있다. 그리고, 예측 블록 선택부(830)는 선택된 현재 블록의 예측 블록 생성 시 이용된 예측 블록 생성 방법을 나타내는 정보를 포함하는 예측 블록 선택 정보를 생성할 수 있다. 이때, 예측 블록 선택부(830)는 SAD, SSD, SATD 등을 이용하여 유사도를 계산할 수 있다.Then, the prediction block selector 830 may select a prediction block having good coding efficiency from among prediction blocks of the two current blocks. For example, the prediction block selection unit 830 may select a prediction block having good coding efficiency by using the similarity between the prediction block of the current block and the current block, rate-distortion cost, and the like. In addition, the prediction block selection unit 830 may generate prediction block selection information including information indicating a prediction block generation method used when generating a prediction block of the selected current block. In this case, the prediction block selection unit 830 may calculate the similarity using SAD, SSD, SATD, or the like.

또 다른 예로, 주변 블록들의 예측 블록 생성 시 이용된 예측 블록 생성 방법이 3가지 이상인 경우, 화면내 예측부(810)는 기정의된 복수의 예측 블록 생성 방법들에 따라 현재 블록의 예측 블록을 복수 개 생성할 수 있다. 예를 들면, 도 2의 화면내 예측부(210)에서 설명한 (1)~(5)의 예측 블록 생성 방법들이 기정의된 경우, 화면내 예측부(810)는 기정의된 5개의 예측 블록 생성 방법들을 이용하여 현재 블록의 예측 블록을 5개 생성할 수 있다. 다시 말해, 3가지 이상인 경우, 화면내 예측부(810)는 주변 블록들의 예측 블록 생성시 이용된 예측 블록 생성 방법 대신 기정의된 복수개의 예측 블록 생성 방법들을 이용하여 현재 블록의 예측 블록들을 생성할 수 있다.As another example, when three or more prediction block generation methods are used to generate prediction blocks of neighboring blocks, the intra prediction unit 810 may generate a plurality of prediction blocks of the current block according to a plurality of predefined prediction block generation methods. Can produce dogs. For example, when the prediction block generation methods of (1) to (5) described in the intra prediction unit 210 of FIG. 2 are predefined, the intra prediction unit 810 generates five predefined prediction blocks. Five prediction blocks of the current block can be generated using methods. In other words, in the case of three or more, the intra prediction unit 810 may generate the prediction blocks of the current block using a plurality of predefined prediction block generation methods instead of the prediction block generation method used when generating the prediction blocks of neighboring blocks. I can.

그러면, 예측 블록 선택부(830)는 현재 블록의 예측 블록들 중에서 부호화 효율이 가장 좋은 어느 하나를 선택할 수 있다. 그리고, 예측 블록 선택부(830)는 선택된 현재 블록의 예측 블록 생성 시 이용된 예측 블록 생성 방법을 나타내는 정보를 포함하는 예측 블록 선택 정보를 생성할 수 있다.Then, the prediction block selection unit 830 may select one of the prediction blocks of the current block with the best coding efficiency. In addition, the prediction block selection unit 830 may generate prediction block selection information including information indicating a prediction block generation method used when generating a prediction block of the selected current block.

가산부(840)는 선택된 현재 블록의 예측 블록과 현재 블록을 감산하여 차분 블록을 생성할 수 있다.The addition unit 840 may generate a difference block by subtracting the prediction block and the current block of the selected current block.

부호화 정보 생성부(850)는 차분 블록의 부호화 여부에 기초하여 부호화 정보를 생성할 수 있다. 일례로, 차분 블록을 부호화할지 부호화지 않을지를 결정하기 위해 현재 블록과 현재 블록의 예측 블록 간의 유사도 등이 이용될 수 있다. 여기서, 부호화 정보는 차분 블록을 부호화할지, 부호화하지 않을지 여부를 나타내는 정보를 포함할 수 있다.The encoding information generator 850 may generate encoding information based on whether the difference block is encoded. For example, a similarity between a current block and a prediction block of the current block may be used to determine whether to encode or not encode the difference block. Here, the encoding information may include information indicating whether to encode the difference block or not.

변환 및 양자화부(860)는 부호화 정보에 기초하여 차분 블록을 변환 및 양자화할 수 있다.The transform and quantization unit 860 may transform and quantize the difference block based on the encoding information.

엔트로피 부호화부(870)는 부호화 정보, 예측 블록 선택 정보 및 차분 블록 중 적어도 하나를 엔트로피 부호화하여 비트스트림으로 출력할 수 있다. 일례로, 차분 블록이 부호화되지 않은 경우, 엔트로피 부호화부(870)는 부호화 정보 및 예측 블록 선택 정보를 엔트로피 부호화하여 비트스트림으로 출력할 수 있다. 그리고, 차분 블록이 부호화된 경우, 부호화 정보, 예측 블록 선택 정보 및 차분 블록을 엔트로피 부호화하여 비트스트림으로 출력할 수 있다.The entropy encoder 870 may entropy-encode at least one of encoding information, prediction block selection information, and difference block and output the encoded information as a bitstream. For example, when the difference block is not encoded, the entropy encoder 870 may entropy-encode the encoding information and the prediction block selection information and output the encoded information as a bitstream. In addition, when the difference block is encoded, the encoding information, prediction block selection information, and the difference block may be entropy-encoded and output as a bitstream.

역양자화 및 역변환부(880)는 변환 및 양자화된 차분 블록을 역양자화 및 역변환하여 차분 블록을 복원할 수 있다.The inverse quantization and inverse transform unit 880 may restore the difference block by inverse quantization and inverse transform of the transformed and quantized difference block.

가산부(890)는 부호화 정보에 기초하여 복원된 차분 블록 및 선택된 현재 블록의 예측 블록을 더하여 현재 블록을 복원할 수 있다. 그러면, 참조 영상 버퍼(820)는 복원된 현재 블록을 저장할 수 있다. 이때, 차분 블록이 부호화되지 않은 경우, 가산부(890)는 선택된 현재 블록의 예측 블록만으로 현재 블록을 복원할 수 있다. The adder 890 may reconstruct the current block by adding the difference block reconstructed based on the encoding information and the prediction block of the selected current block. Then, the reference image buffer 820 may store the reconstructed current block. In this case, when the difference block is not encoded, the adder 890 may reconstruct the current block only with the prediction block of the selected current block.

도 9는 본 발명의 일실시예에 따른 부호화 장치의 동작을 설명하기 위해 제공되는 흐름도이다.9 is a flowchart provided to explain the operation of the encoding apparatus according to an embodiment of the present invention.

먼저, 910 단계에서, 예측 블록 생성부(810)는 참조 영상을 이용하여 현재 블록의 예측 블록을 하나 이상 생성할 수 있다.First, in step 910, the prediction block generator 810 may generate one or more prediction blocks of the current block using a reference image.

일례로, 화면내 예측부(810)는 복원된 주변 블록들 각각의 예측 블록 생성시 이용된 예측 블록 생성 방법에 따라 현재 블록의 예측 블록을 생성할 수 있다.For example, the intra prediction unit 810 may generate a prediction block of the current block according to a prediction block generation method used when generating prediction blocks of each of the reconstructed neighboring blocks.

다른 예로, 화면내 예측부(810)는 주변 블록들의 예측 블록 생성 시 이용된 예측 블록 생성 방법의 개수에 기초하여 기정의된 복수의 예측 블록 생성 방법에 따라 현재 블록의 예측 블록을 복수 개 생성할 수 있다.As another example, the intra prediction unit 810 may generate a plurality of prediction blocks of the current block according to a predefined plurality of prediction block generation methods based on the number of prediction block generation methods used when generating prediction blocks of neighboring blocks. I can.

이어, 920 단계에서, 예측 블록 선택부(820)는 복수의 현재 블록의 예측 블록들이 생성됨에 따라 현재 블록의 예측 블록들 중 어느 하나를 선택할 수 있다. 이때, 예측 블록 선택부(820)는 복수의 현재 블록의 예측 블록들 중에서 부호화 효율이 가장 좋은 예측 블록을 선택할 수 있다.Subsequently, in step 920, the prediction block selection unit 820 may select any one of the prediction blocks of the current block as prediction blocks of the plurality of current blocks are generated. In this case, the prediction block selection unit 820 may select a prediction block having the best encoding efficiency from among prediction blocks of a plurality of current blocks.

일례로, 현재 블록과 생성된 현재 블록의 예측 블록 간의 유사도를 이용하는 경우, 예측 블록 선택부(820)는 유사도가 높을수록 부호화 효율이 좋은 것으로 결정할 수 있다. 이에 따라, 예측 블록 선택부(820)는 현재 블록의 예측 블록들 중에서 유사도가 가장 높은 예측 블록을 선택할 수 있다.For example, when using the similarity between the current block and the prediction block of the generated current block, the prediction block selection unit 820 may determine that the higher the similarity, the better the encoding efficiency. Accordingly, the prediction block selection unit 820 may select a prediction block having the highest similarity among prediction blocks of the current block.

다른 예로, 예측 블록 선택부(820)는 율-왜곡 비용을 이용하여 부호화 효율이 가장 좋은 예측 블록을 선택할 수도 있다.As another example, the prediction block selection unit 820 may select a prediction block having the best coding efficiency using rate-distortion cost.

그리고, 930 단계에서, 감산부(840)는 선택된 현재 블록의 예측 블록 및 현재 블록을 감산하여 차분 블록을 생성할 수 있다.Then, in step 930, the subtraction unit 840 may generate a difference block by subtracting the prediction block and the current block of the selected current block.

이어, 940 단계에서, 부호화 정보 생성부(850)는 차분 블록의 부호화 여부에 기초하여 부호화 정보를 생성할 수 있다.Subsequently, in step 940, the encoding information generator 850 may generate encoding information based on whether the difference block is encoded.

그리고, 950 단계에서, 변환 및 양자화부(860)는 부호화 정보에 기초하여 차분 블록을 변환 및 양자화할 수 있다.In step 950, the transform and quantization unit 860 may transform and quantize the difference block based on the encoding information.

이어, 960 단계에서, 엔트로피 부호화부(870)는 부호화 정보에 기초하여 부호화 정보, 예측 블록 선택 정보, 및 차분 블록 중 적어도 하나를 엔트로피 부호화할 수 있다. Subsequently, in step 960, the entropy encoder 870 may entropy-encode at least one of encoding information, prediction block selection information, and difference block based on the encoding information.

일례로, 차분 블록이 부호화된 경우, 엔트로피 부호화부(870)는 부호화 정보, 예측 블록 선택 정보, 및 변환 및 양자화된 차분 블록 각각을 엔트로피 부호화하고, 부호화된 부호화 정보, 부호화된 예측 블록 선택 정보 및 부호화된 차분 블록을 혼합하여 비트스트림으로 출력할 수 있다.For example, when the difference block is encoded, the entropy encoding unit 870 entropy-encodes each of the encoding information, prediction block selection information, and transformed and quantized difference blocks, and encoded encoding information, encoded prediction block selection information, and The encoded difference blocks may be mixed and output as a bitstream.

도 10은 본 발명의 일실시예에 따른 복호화 장치의 구성을 도시한 블록도이다. 10 is a block diagram showing the configuration of a decoding apparatus according to an embodiment of the present invention.

도 10의 복호화 장치(1000)는 도 4의 부호화 장치(400)에서 예측 블록 선택부(1050)를 더 포함할 수 있다. 이에 따라, 도 10에서 도 4의 동작을 설명하면서 언급된 구성 요소는 실질적으로 동일하므로, 중복되는 설명은 생략하기로 한다.The decoding apparatus 1000 of FIG. 10 may further include a prediction block selection unit 1050 in the encoding apparatus 400 of FIG. 4. Accordingly, components mentioned while describing the operation of FIG. 4 in FIG. 10 are substantially the same, and thus, a duplicate description will be omitted.

도 10에 따르면, 복호화 장치(1000)는 화면내 예측부(1010), 참조 영상 버퍼(1020), 엔트로피 복호화부(1030), 역양자화 및 역변환부(1040), 그리고 가산부(1060)를 포함할 수 있다.Referring to FIG. 10, the decoding apparatus 1000 includes an intra prediction unit 1010, a reference image buffer 1020, an entropy decoding unit 1030, an inverse quantization and inverse transform unit 1040, and an adder 1060. can do.

화면내 예측부(1010)는 참조 영상 버퍼(1020)에 저장된 참조 영상에 기초하여 현재 블록의 예측 블록을 생성할 수 있다. The intra prediction unit 1010 may generate a prediction block of the current block based on the reference image stored in the reference image buffer 1020.

일례로, 화면내 예측부(810)는 복원된 주변 블록들 각각의 예측 블록 생성시 이용된 예측 블록 생성 방법에 따라 현재 블록의 예측 블록을 생성할 수 있다.For example, the intra prediction unit 810 may generate a prediction block of the current block according to a prediction block generation method used when generating prediction blocks of each of the reconstructed neighboring blocks.

다른 예로, 화면내 예측부(810)는 주변 블록들의 예측 블록 생성 시 이용된 예측 블록 생성 방법의 개수에 기초하여 기정의된 복수의 예측 블록 생성 방법에 따라 현재 블록의 예측 블록을 복수 개 생성할 수 있다. 여기서, 복수의 예측 블록 생성 방법으로는 도 2의 화면내 예측부(210)에서 설명한 기정의된 (1)~(5)의 예측 블록 생성 방법들이 이용될 수 있다.As another example, the intra prediction unit 810 may generate a plurality of prediction blocks of the current block according to a predefined plurality of prediction block generation methods based on the number of prediction block generation methods used when generating prediction blocks of neighboring blocks. I can. Here, as a method of generating a plurality of prediction blocks, predefined prediction block generation methods of (1) to (5) described in the intra prediction unit 210 of FIG. 2 may be used.

엔트로피 복호화부(1030)는 비트스트림을 역다중화하여 부호화된 부호화 정보, 부호화된 차분 블록, 및 부호화된 예측 블록 선택 정보 중 적어도 하나를 추출할 수 있다. 그리고, 엔트로피 복호화부(1030)는 부호화된 부호화 정보, 부호화된 차분 블록, 및 부호화된 예측 블록 선택 정보를 엔트로피 복호화할 수 있다.The entropy decoder 1030 may demultiplex the bitstream to extract at least one of encoded encoding information, an encoded difference block, and encoded prediction block selection information. In addition, the entropy decoder 1030 may entropy-decode the encoded encoding information, the encoded difference block, and the encoded prediction block selection information.

일례로, 부호화 정보가 차분 블록을 부호화하지 않음을 나타내는 정보를 포함함에 따라, 엔트로피 복호화부(1030)는 부호화된 부호화 정보 및 부호화된 예측 블록 선택 정보 만을 엔트로피 복호화할 수 있다.For example, as the encoding information includes information indicating that the difference block is not encoded, the entropy decoder 1030 may entropy-decode only the encoded encoding information and the encoded prediction block selection information.

다른 예로, 부호화 정보가 차분 블록을 부호화함을 나타내는 정보를 포함함에 따라, 엔트로피 복호화부(1030)는 부호화된 부호화 정보, 부호화된 차분 블록, 및 부호화된 예측 블록 선택 정보 모두를 엔트로피 복호화할 수 있다.As another example, as the encoding information includes information indicating that the difference block is encoded, the entropy decoder 1030 may entropy-decode all of the encoded encoding information, the encoded difference block, and the encoded prediction block selection information. .

예측 블록 선택부(1050)는 예측 블록 선택 정보에 기초하여 생성된 하나 이상의 예측 블록들 중에서 어느 하나를 선택할 수 있다.The prediction block selection unit 1050 may select any one of one or more prediction blocks generated based on prediction block selection information.

역양자화 및 역변환부(1040)는 부호화 정보에 기초하여 부호화된 차분 블록을 역양자화 및 역변환할 수 있다. The inverse quantization and inverse transform unit 1040 may inverse quantize and inverse transform the encoded difference block based on the encoding information.

일례로, 부호화 정보가 차분 블록을 부호화함을 나타내는 정보를 포함함에 따라, 역양자화 및 역변환부(1040)는 부호화된 차분 블록을 역양자화하고, 다시 역변환하여 차분 블록을 복원할 수 있다. 이때, 부호화 정보가 차분 블록을 부호화하지 않음을 나타내는 정보를 포함함에 따라, 역양자화 및 역변환부(1040)는 동작을 생략할 수도 있다.As an example, as the encoding information includes information indicating that the difference block is to be encoded, the inverse quantization and inverse transform unit 1040 may inverse quantize the encoded difference block and reconstruct the difference block by inverse transformation. In this case, since the encoding information includes information indicating that the difference block is not encoded, the inverse quantization and inverse transform unit 1040 may omit the operation.

가산부(1060)는 복원된 차분 블록 및 선택된 현재 블록의 예측 블록 중 적어도 하나를 이용하여 현재 블록을 복원할 수 있다.The adder 1060 may reconstruct the current block by using at least one of the reconstructed difference block and the prediction block of the selected current block.

일례로, 부호화 정보가 차분 블록을 부호화함을 나타내는 정보를 포함함에 따라 차분 블록이 복원된 경우, 가산부(1060)는 복원된 차분 블록 및 선택된 현재 블록의 예측 블록을 더하여 현재 블록을 복원할 수 있다. For example, when the difference block is reconstructed as the encoding information includes information indicating that the difference block is to be encoded, the adder 1060 may restore the current block by adding the reconstructed difference block and the prediction block of the selected current block. have.

다른 예로, 부호화 정보가 차분 블록을 부호화하지 않음을 나타내는 정보를 포함함에 따라 역양자화 및 역변환부가 동작을 생략한 경우, 가산부(1060)는 선택된 현재 블록의 예측 블록만으로 현재 블록을 복원할 수 있다. 그러면, 현재 블록의 예측 블록만으로 구성된 복원 영상이 디스플레이될 수 있다.As another example, when the inverse quantization and inverse transform units are omitted because the encoding information includes information indicating that the difference block is not encoded, the adder 1060 may reconstruct the current block only with the prediction block of the selected current block. . Then, a reconstructed image composed of only prediction blocks of the current block may be displayed.

그리고, 참조 영상 버퍼(1020)는 복원된 현재 블록을 저장할 수 있다.In addition, the reference image buffer 1020 may store the restored current block.

도 11은 본 발명의 일실시예에 따른 복호화 장치의 동작을 설명하기 위해 제공되는 흐름도이다.11 is a flowchart provided to explain the operation of the decoding apparatus according to an embodiment of the present invention.

먼저, 1110 단계에서, 화면내 예측부(1030)는 현재 블록의 예측 블록을 하나 이상 생성할 수 있다. First, in step 1110, the intra prediction unit 1030 may generate one or more prediction blocks of the current block.

일례로, 화면내 예측부(810)는 복원된 주변 블록들 각각의 예측 블록 생성시 이용된 예측 블록 생성 방법에 따라 현재 블록의 예측 블록을 생성할 수 있다.For example, the intra prediction unit 810 may generate a prediction block of the current block according to a prediction block generation method used when generating prediction blocks of each of the reconstructed neighboring blocks.

다른 예로, 화면내 예측부(810)는 주변 블록들의 예측 블록 생성 시 이용된 예측 블록 생성 방법의 개수에 기초하여 기정의된 복수의 예측 블록 생성 방법에 따라 현재 블록의 예측 블록을 복수 개 생성할 수 있다.As another example, the intra prediction unit 810 may generate a plurality of prediction blocks of the current block according to a predefined plurality of prediction block generation methods based on the number of prediction block generation methods used when generating prediction blocks of neighboring blocks. I can.

이어, 1120 단계에서, 엔트로피 복호화부(1030)는 비트스트림을 역다중화하여 부호화된 부호화 정보 및 부호화된 예측 블록 선택 정보를 추출하고, 부호화된 부호화 정보 및 부호화된 예측 블록 선택 정보를 엔트로피 부호화할 수 있다. Subsequently, in step 1120, the entropy decoder 1030 demultiplexes the bitstream to extract the encoded encoding information and the encoded prediction block selection information, and entropy-encode the encoded encoding information and the encoded prediction block selection information. have.

이때, 부호화 정보가 차분 블록을 부호화함을 나타내는 정보를 포함하는 경우, 엔트로피 복호화부(1030)는 역다중화를 통해 비트스트림으로부터 부호화된 차분 블록을 추출하여 엔트로피 복호화할 수 있다.In this case, if the encoding information includes information indicating that the difference block is to be encoded, the entropy decoder 1030 may extract the encoded difference block from the bitstream through demultiplexing and perform entropy decoding.

그러면, 1130 단계에서, 역양자화 및 역변환부(1040)는 부호화된 차분 블록을 역양자화 및 역변환하여 차분 블록을 복원할 수 있다.Then, in step 1130, the inverse quantization and inverse transform unit 1040 may restore the difference block by inverse quantization and inverse transformation of the encoded difference block.

이어, 1140 단계에서, 예측 블록 선택부(1050)는 예측 블록 선택 정보에 기초하여 하나 이상의 현재 블록의 예측 블록 중에서 어느 하나를 선택할 수 있다.Subsequently, in step 1140, the prediction block selection unit 1050 may select any one of prediction blocks of one or more current blocks based on prediction block selection information.

그리고, 1150 단계에서, 가산부(1060)는 선택된 현재 블록의 예측 블록 및 복원된 차분 블록 중 적어도 하나를 이용하여 현재 블록을 복원할 수 있다. 그러면, 참조 영상 버퍼(1020)는 복원된 현재 블록을 저장할 수 있다. Further, in step 1150, the adder 1060 may reconstruct the current block by using at least one of the prediction block and the reconstructed difference block of the selected current block. Then, the reference image buffer 1020 may store the reconstructed current block.

일례로, 부호화 정보가 차분 블록을 부호화하지 않음을 나타내는 정보를 포함함에 따라 역양자화 및 역변환부(1040)의 동작이 생략된 경우, 가산부(1060)는 선택된 현재 블록의 예측 블록 만으로 현재 블록을 복원할 수 있다. 다시 말해, 비트스트림에 부호화된 차분 블록이 포함되지 않았으므로 복원된 차분 블록이 존재하지 않는다. 이에 따라, 복원 영상은 예측 블록 선택 정보에 기초하여 선택된 현재 블록의 예측 블록만으로 구성될 수 있다. For example, when the operation of the inverse quantization and inverse transform unit 1040 is omitted because the encoding information includes information indicating that the difference block is not encoded, the addition unit 1060 determines the current block using only the prediction block of the selected current block. Can be restored. In other words, since the coded difference block is not included in the bitstream, the reconstructed difference block does not exist. Accordingly, the reconstructed image may be composed of only the prediction blocks of the current block selected based on the prediction block selection information.

다른 예로, 부호화 정보가 차분 블록을 부호화함을 나타내는 정보를 포함함에 따라 차분 블록이 복원된 경우, 가산부(1060)는 선택된 현재 블록의 예측 블록 및 복원된 차분 블록을 더하여 현재 블록을 복원할 수 있다.As another example, when the difference block is reconstructed as the encoding information includes information indicating that the difference block is to be encoded, the addition unit 1060 may restore the current block by adding the prediction block of the selected current block and the reconstructed difference block. have.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, although the present invention has been described by limited embodiments and drawings, the present invention is not limited to the above embodiments, and various modifications and variations from these descriptions for those of ordinary skill in the field to which the present invention pertains. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention is limited to the described embodiments and should not be defined, but should be defined by the claims to be described later as well as equivalents to the claims.

210: 화면내 예측부
220: 참조 영상 버퍼
230: 감산부
240: 부호화 정보 생성부
250: 변환 및 양자화부
260: 엔트로피 부호화부
270: 역양자화 및 역변환부
280: 가산부
210: intra-screen prediction unit
220: reference image buffer
230: subtraction
240: encoding information generation unit
250: transform and quantization unit
260: entropy encoding unit
270: Inverse quantization and inverse transform unit
280: adder

Claims (25)

현재 블록에 대한 예측을 수행하는 단계; 및
상기 예측에 기반하여 선택 정보를 포함하는 비트스트림을 생성하는 단계
를 포함하고,
상기 비트스트림은 상기 현재 블록 및 예측 블록 간의 차인 차분 블록에 기반하여 생성된 변환 및 양자화된 차분 블록의 정보를 포함하고,
상기 비트스트림을 사용하는 상기 현재 블록의 복호화에 있어서, 상기 현재 블록에 대한 예측 블록은 상기 현재 블록에 대한 예측 블록 생성 방법에 따라서 생성되고, 상기 현재 블록에 대한 예측 블록 생성 방법은 상기 현재 블록의 복수의 주변 블록들의 복수의 예측 블록 생성 방법들에 기반하여 결정되고,
상기 현재 블록의 복호화에 있어서, 상기 복수의 주변 블록들은 상기 현재 블록에 공간적으로 인접한 블록들이고,
상기 현재 블록의 복호화에 있어서, 상기 복수의 주변 블록들은 복호화된 블록들이고,
상기 현재 블록의 복호화에 있어서, 상기 복수의 주변 블록들의 복수의 예측 블록 생성 방법들은 상기 복수의 주변 블록들의 복수의 예측 블록들의 생성 시 각각 이용된 예측 블록 생성 방법들이고,
상기 현재 블록의 복호화에 있어서, 상기 현재 블록에 대한 예측 블록 생성 방법은 상기 선택 정보에 기반하여 결정되는 부호화 방법.
Performing prediction on the current block; And
Generating a bitstream including selection information based on the prediction
Including,
The bitstream includes information on a transformed and quantized difference block generated based on a difference block that is a difference between the current block and the prediction block,
In decoding the current block using the bitstream, a prediction block for the current block is generated according to a prediction block generation method for the current block, and the prediction block generation method for the current block is It is determined based on methods of generating a plurality of prediction blocks of a plurality of neighboring blocks,
In the decoding of the current block, the plurality of neighboring blocks are blocks spatially adjacent to the current block,
In the decoding of the current block, the plurality of neighboring blocks are decoded blocks,
In the decoding of the current block, the methods of generating a plurality of prediction blocks of the plurality of neighboring blocks are prediction block generation methods respectively used when generating a plurality of prediction blocks of the plurality of neighboring blocks,
In decoding the current block, a method of generating a prediction block for the current block is determined based on the selection information.
제1항에 있어서,
상기 선택 정보는 상기 현재 블록의 예측 블록의 생성을 위해 이용되는 예측 블록 생성 방법을 가리키는 부호화 방법.
The method of claim 1,
The selection information indicates a prediction block generation method used to generate a prediction block of the current block.
제1항에 있어서,
상기 선택 정보는 상기 복수의 예측 블록 생성 방법들 중 상기 현재 블록의 예측 블록의 생성을 위해 이용되는 예측 블록 생성 방법을 가리키는 부호화 방법.
The method of claim 1,
The selection information indicates a prediction block generation method used to generate a prediction block of the current block among the plurality of prediction block generation methods.
제1항에 있어서,
상기 현재 블록의 복호화에 있어서, 상기 선택 정보가 상기 복수의 예측 블록 생성 방법들 중 하나의 예측 블록 생성 방법을 가리킴에 따라, 상기 하나의 예측 블록 생성 방법에 의해 상기 현재 블록의 예측 블록이 생성되는 부호화 방법.
The method of claim 1,
In the decoding of the current block, as the selection information indicates one prediction block generation method among the plurality of prediction block generation methods, the prediction block of the current block is generated by the one prediction block generation method. Encoding method.
제1항에 있어서,
상기 현재 블록의 복호화에 있어서, 상기 선택 정보에 의해 특정되는 상기 현재 블록의 주변 블록의 예측 블록 생성 방법이 상기 현재 블록에 대한 예측 블록 생성 방법으로서 사용되는 부호화 방법.
The method of claim 1,
In decoding the current block, a method of generating a prediction block of a neighboring block of the current block specified by the selection information is used as a method of generating a prediction block for the current block.
제1항에 있어서,
상기 현재 블록의 복호화에 있어서, 상기 현재 블록에 대한 예측 블록 생성 방법은 상기 주변 블록들에 대한 예측들에 대하여 사용된 예측 블록 생성 방법에 대한 서로 다른 값들의 개수에 기반하여 결정되는 부호화 방법.
The method of claim 1,
In decoding the current block, a method of generating a prediction block for the current block is determined based on the number of different values for a method of generating a prediction block used for predictions of the neighboring blocks.
제1항에 있어서,
상기 현재 블록의 복호화에 있어서, 상기 현재 블록에 대한 상기 예측은 화면 내 예측인 부호화 방법.
The method of claim 1,
In decoding the current block, the prediction for the current block is intra prediction.
제1항에 있어서,
상기 현재 블록의 복호화에 있어서, 상기 현재 블록에 대한 상기 예측은 특정된 복호화된 블록을 상기 현재 블록에 대한 상기 예측 블록으로서 사용하는 예측인 부호화 방법.
The method of claim 1,
In decoding the current block, the prediction for the current block is a prediction using a specified decoded block as the prediction block for the current block.
제1항의 부호화 방법에 의해 생성된 상기 비트스트림을 저장하는 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium for storing the bitstream generated by the encoding method of claim 1. 비트스트림으로부터 선택 정보를 추출하는 단계;
현재 블록에 대한 예측을 수행하여 예측 블록을 생성하는 단계; 및
차분 블록 및 상기 예측 블록을 사용하여 현재 블록에 대한 복원된 블록을 생성하는 단계
를 포함하고,
상기 예측 블록은 상기 현재 블록에 대한 예측 블록 생성 방법에 따라서 생성되고, 상기 현재 블록에 대한 예측 블록 생성 방법은 상기 현재 블록의 복수의 주변 블록들의 복수의 예측 블록 생성 방법들에 기반하여 결정되고,
상기 현재 블록의 복호화에 있어서, 상기 복수의 주변 블록들은 상기 현재 블록에 공간적으로 인접한 블록들이고,
상기 복수의 주변 블록들은 복호화된 블록들이고,
상기 복수의 주변 블록들의 복수의 예측 블록 생성 방법들은 상기 복수의 주변 블록들의 복수의 예측 블록들의 생성 시 각각 이용된 예측 블록 생성 방법들이고,
상기 현재 블록에 대한 예측 블록 생성 방법은 상기 선택 정보에 기반하여 결정되는 복호화 방법.
Extracting selection information from the bitstream;
Generating a prediction block by performing prediction on the current block; And
Generating a reconstructed block for a current block using the difference block and the prediction block
Including,
The prediction block is generated according to a prediction block generation method for the current block, and the prediction block generation method for the current block is determined based on a plurality of prediction block generation methods of a plurality of neighboring blocks of the current block,
In the decoding of the current block, the plurality of neighboring blocks are blocks spatially adjacent to the current block,
The plurality of neighboring blocks are decoded blocks,
The plurality of prediction block generation methods of the plurality of neighboring blocks are prediction block generation methods each used when generating a plurality of prediction blocks of the plurality of neighboring blocks,
A method of generating a prediction block for the current block is determined based on the selection information.
제10항에 있어서,
상기 선택 정보는 상기 현재 블록의 상기 예측 블록의 생성을 위해 이용되는 예측 블록 생성 방법을 가리키는 복호화 방법.
The method of claim 10,
The selection information is a decoding method indicating a method of generating a prediction block used to generate the prediction block of the current block.
제10항에 있어서,
상기 선택 정보는 상기 복수의 예측 블록 생성 방법들 중 상기 현재 블록의 상기 예측 블록의 생성을 위해 이용되는 예측 블록 생성 방법을 가리키는 복호화 방법.
The method of claim 10,
The selection information is a decoding method indicating a prediction block generation method used for generating the prediction block of the current block among the plurality of prediction block generation methods.
제10항에 있어서,
상기 선택 정보가 상기 복수의 예측 블록 생성 방법들 중 하나의 예측 블록 생성 방법을 가리킴에 따라, 상기 하나의 예측 블록 생성 방법에 의해 상기 현재 블록의 상기 예측 블록이 생성되는 복호화 방법.
The method of claim 10,
A decoding method in which the prediction block of the current block is generated by the one prediction block generation method as the selection information indicates one prediction block generation method among the plurality of prediction block generation methods.
제10항에 있어서,
상기 선택 정보에 의해 특정되는 상기 현재 블록의 주변 블록의 예측 블록 생성 방법이 상기 현재 블록에 대한 예측 블록 생성 방법으로서 사용되는 복호화 방법.
The method of claim 10,
A decoding method in which a prediction block generation method of a neighboring block of the current block specified by the selection information is used as a prediction block generation method of the current block.
제10항에 있어서,
상기 현재 블록에 대한 예측 블록 생성 방법은 상기 주변 블록들에 대한 예측들에 대하여 사용된 예측 블록 생성 방법에 대한 서로 다른 값들의 개수에 기반하여 결정되는 복호화 방법.
The method of claim 10,
The method of generating the prediction block for the current block is determined based on the number of different values for the prediction block generation method used for predictions of the neighboring blocks.
제10항에 있어서,
상기 현재 블록에 대한 상기 예측은 화면 내 예측인 복호화 방법.
The method of claim 10,
The prediction for the current block is intra prediction.
제10항에 있어서,
상기 현재 블록에 대한 상기 예측은 특정된 복호화된 블록을 상기 현재 블록에 대한 상기 예측 블록으로서 사용하는 예측인 복호화 방법.
The method of claim 10,
The prediction for the current block is a prediction using a specified decoded block as the prediction block for the current block.
영상의 복호화를 위한 비트스트림을 저장하는 컴퓨터 판독 가능한 기록 매체에 있어서,
상기 비트스트림은,
변환 및 양자화된 차분 블록의 정보; 및
선택 정보
를 포함하고,
상기 복호화에 있어서, 상기 변환 및 양자화된 차분 블록에 기반하여 차분 블록이 생성되고, 현재 블록에 대한 재구축된 블록은 상기 차분 블록 및 상기 현재 블록에 대한 예측 블록에 기반하여 생성되고, 상기 예측 블록은 상기 현재 블록에 대한 예측 블록 생성 방법에 따라서 생성되고, 상기 현재 블록에 대한 예측 블록 생성 방법은 상기 현재 블록의 복수의 주변 블록들의 복수의 예측 블록 생성 방법들에 기반하여 결정되고,
상기 현재 블록의 복호화에 있어서, 상기 복수의 주변 블록들은 상기 현재 블록에 공간적으로 인접한 블록들이고,
상기 복호화에 있어서, 상기 복수의 주변 블록들은 복호화된 블록들이고,
상기 복호화에 있어서, 상기 복수의 주변 블록들의 복수의 예측 블록 생성 방법들은 상기 복수의 주변 블록들의 복수의 예측 블록들의 생성 시 각각 이용된 예측 블록 생성 방법들이고,
상기 복호화에 있어서, 상기 현재 블록에 대한 예측 블록 생성 방법은 상기 선택 정보에 기반하여 결정되는 컴퓨터 판독 가능한 기록 매체.
A computer-readable recording medium storing a bitstream for decoding an image, comprising:
The bitstream,
Information of transformed and quantized difference blocks; And
Optional information
Including,
In the decoding, a difference block is generated based on the transformed and quantized difference block, and a reconstructed block for the current block is generated based on the difference block and a prediction block for the current block, and the prediction block Is generated according to the prediction block generation method for the current block, and the prediction block generation method for the current block is determined based on a plurality of prediction block generation methods of a plurality of neighboring blocks of the current block,
In the decoding of the current block, the plurality of neighboring blocks are blocks spatially adjacent to the current block,
In the decoding, the plurality of neighboring blocks are decoded blocks,
In the decoding, the methods of generating a plurality of prediction blocks of the plurality of neighboring blocks are predictive block generation methods respectively used when generating a plurality of prediction blocks of the plurality of neighboring blocks,
In the decoding, a method of generating a prediction block for the current block is determined based on the selection information.
제18항에 있어서,
상기 선택 정보는 상기 현재 블록의 예측 블록의 생성을 위해 이용되는 예측 블록 생성 방법을 가리키는 컴퓨터 판독 가능한 기록 매체.
The method of claim 18,
The selection information is a computer-readable recording medium indicating a method of generating a prediction block used to generate a prediction block of the current block.
제18항에 있어서,
상기 선택 정보는 상기 복수의 예측 블록 생성 방법들 중 상기 현재 블록의 예측 블록의 생성을 위해 이용되는 예측 블록 생성 방법을 가리키는 컴퓨터 판독 가능한 기록 매체.
The method of claim 18,
The selection information is a computer-readable recording medium indicating a prediction block generation method used to generate a prediction block of the current block among the plurality of prediction block generation methods.
제18항에 있어서,
상기 복호화에 있어서, 상기 선택 정보가 상기 복수의 예측 블록 생성 방법들 중 하나의 예측 블록 생성 방법을 가리킴에 따라, 상기 하나의 예측 블록 생성 방법에 의해 상기 현재 블록의 예측 블록이 생성되는 컴퓨터 판독 가능한 기록 매체.
The method of claim 18,
In the decoding, as the selection information indicates one prediction block generation method among the plurality of prediction block generation methods, a prediction block of the current block is generated by the one prediction block generation method. Recording medium.
제18항에 있어서,
상기 복호화에 있어서, 상기 선택 정보에 의해 특정되는 상기 현재 블록의 주변 블록의 예측 블록 생성 방법이 상기 현재 블록에 대한 예측 블록 생성 방법으로서 사용되는 컴퓨터 판독 가능한 기록 매체.
The method of claim 18,
In the decoding, a method of generating a prediction block of a neighboring block of the current block specified by the selection information is used as a method of generating a prediction block for the current block.
제18항에 있어서,
상기 복호화에 있어서, 상기 현재 블록에 대한 예측 블록 생성 방법은 상기 주변 블록들에 대한 예측들에 대하여 사용된 예측 블록 생성 방법에 대한 서로 다른 값들의 개수에 기반하여 결정되는 컴퓨터 판독 가능한 기록 매체.
The method of claim 18,
In the decoding, the prediction block generation method for the current block is determined based on the number of different values for the prediction block generation method used for predictions of the neighboring blocks.
제18항에 있어서,
상기 복호화에 있어서, 상기 현재 블록에 대한 상기 예측은 화면 내 예측인 컴퓨터 판독 가능한 기록 매체.
The method of claim 18,
In the decoding, the prediction for the current block is an intra prediction.
제18항에 있어서,
상기 복호화에 있어서, 상기 현재 블록에 대한 상기 예측은 특정된 복호화된 블록을 상기 현재 블록에 대한 상기 예측 블록으로서 사용하는 예측인 컴퓨터 판독 가능한 기록 매체.
The method of claim 18,
In the decoding, the prediction for the current block is a prediction using a specified decoded block as the prediction block for the current block.
KR1020200107354A 2010-02-17 2020-08-25 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion KR102253157B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20100014050 2010-02-17
KR1020100014050 2010-02-17
KR1020190065536A KR102150089B1 (en) 2010-02-17 2019-06-03 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190065536A Division KR102150089B1 (en) 2010-02-17 2019-06-03 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion

Publications (2)

Publication Number Publication Date
KR20200104842A true KR20200104842A (en) 2020-09-04
KR102253157B1 KR102253157B1 (en) 2021-05-18

Family

ID=61910540

Family Applications (8)

Application Number Title Priority Date Filing Date
KR1020180027075A KR20180028430A (en) 2010-02-17 2018-03-07 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion
KR1020190065536A KR102150089B1 (en) 2010-02-17 2019-06-03 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion
KR1020200107363A KR102253173B1 (en) 2010-02-17 2020-08-25 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion
KR1020200107354A KR102253157B1 (en) 2010-02-17 2020-08-25 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion
KR1020210061023A KR102402474B1 (en) 2010-02-17 2021-05-11 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion
KR1020210061022A KR102402483B1 (en) 2010-02-17 2021-05-11 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion
KR1020220062793A KR102555224B1 (en) 2010-02-17 2022-05-23 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion
KR1020230088890A KR20230110459A (en) 2010-02-17 2023-07-10 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020180027075A KR20180028430A (en) 2010-02-17 2018-03-07 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion
KR1020190065536A KR102150089B1 (en) 2010-02-17 2019-06-03 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion
KR1020200107363A KR102253173B1 (en) 2010-02-17 2020-08-25 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion

Family Applications After (4)

Application Number Title Priority Date Filing Date
KR1020210061023A KR102402474B1 (en) 2010-02-17 2021-05-11 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion
KR1020210061022A KR102402483B1 (en) 2010-02-17 2021-05-11 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion
KR1020220062793A KR102555224B1 (en) 2010-02-17 2022-05-23 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion
KR1020230088890A KR20230110459A (en) 2010-02-17 2023-07-10 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion

Country Status (1)

Country Link
KR (8) KR20180028430A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012077928A1 (en) 2010-12-07 2012-06-14 한국전자통신연구원 Device for encoding ultra-high definition image and method thereof, and decoding device and method thereof
KR20180028430A (en) * 2010-02-17 2018-03-16 한국전자통신연구원 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060027814A (en) * 2003-06-25 2006-03-28 톰슨 라이센싱 Encoding method and apparatus for insertion of watermarks in a compressed video bitstream
JP2008017225A (en) * 2006-07-06 2008-01-24 Toshiba Corp Communication terminal device
KR20090058954A (en) * 2007-12-05 2009-06-10 삼성전자주식회사 Video coding method and apparatus using side matching, and video decoding method and appartus thereof
KR20090088863A (en) * 2007-01-11 2009-08-20 후아웨이 테크놀러지 컴퍼니 리미티드 A method and a device for intra frame prediction encoding/decoding
KR20200104843A (en) * 2010-02-17 2020-09-04 한국전자통신연구원 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100612015B1 (en) * 2004-07-22 2006-08-11 삼성전자주식회사 Method and apparatus for Context Adaptive Binary Arithmetic coding
JP4542107B2 (en) * 2005-07-22 2010-09-08 三菱電機株式会社 Image decoding apparatus and image decoding method
JP2007116351A (en) * 2005-10-19 2007-05-10 Ntt Docomo Inc Image prediction coding apparatus, image prediction decoding apparatus, image prediction coding method, image prediction decoding method, image prediction coding program, and image prediction decoding program
KR100772868B1 (en) * 2005-11-29 2007-11-02 삼성전자주식회사 Scalable video coding based on multiple layers and apparatus thereof
KR100856392B1 (en) * 2006-11-08 2008-09-04 한국전자통신연구원 Video Encoding and Decoding Apparatus and Method referencing Reconstructed Blocks of a Current Frame
US8213515B2 (en) * 2008-01-11 2012-07-03 Texas Instruments Incorporated Interpolated skip mode decision in video compression
JP5413923B2 (en) * 2008-04-11 2014-02-12 トムソン ライセンシング Deblocking filtering for displacement intra prediction and template matching
JP2010010768A (en) * 2008-06-24 2010-01-14 Panasonic Corp Image encoding apparatus and image encoding method
KR101702553B1 (en) * 2009-07-04 2017-02-03 에스케이 텔레콤주식회사 Video Coding Method and Apparatus
KR20110073263A (en) * 2009-12-21 2011-06-29 한국전자통신연구원 Method and apparatus for encoding and decoding for intra prediction

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060027814A (en) * 2003-06-25 2006-03-28 톰슨 라이센싱 Encoding method and apparatus for insertion of watermarks in a compressed video bitstream
JP2008017225A (en) * 2006-07-06 2008-01-24 Toshiba Corp Communication terminal device
KR20090088863A (en) * 2007-01-11 2009-08-20 후아웨이 테크놀러지 컴퍼니 리미티드 A method and a device for intra frame prediction encoding/decoding
KR20090058954A (en) * 2007-12-05 2009-06-10 삼성전자주식회사 Video coding method and apparatus using side matching, and video decoding method and appartus thereof
KR20200104843A (en) * 2010-02-17 2020-09-04 한국전자통신연구원 Apparatus and method for encoding and decoding to image of ultra high definition resoutltion

Also Published As

Publication number Publication date
KR20200104843A (en) 2020-09-04
KR20210058779A (en) 2021-05-24
KR102253173B1 (en) 2021-05-18
KR20220074835A (en) 2022-06-03
KR102150089B1 (en) 2020-08-31
KR102402483B1 (en) 2022-05-30
KR20210059679A (en) 2021-05-25
KR102253157B1 (en) 2021-05-18
KR102402474B1 (en) 2022-05-26
KR20180028430A (en) 2018-03-16
KR20190065994A (en) 2019-06-12
KR102555224B1 (en) 2023-07-14
KR20230110459A (en) 2023-07-24

Similar Documents

Publication Publication Date Title
US11770550B2 (en) Method and device for simplifying the encoding and decoding of ultra-high definition images
US9386325B2 (en) Method and apparatus for encoding and decoding image by using large transformation unit
WO2011083573A1 (en) Video encoder and video decoder
KR101298598B1 (en) Method for encoding/decoding video for rate-distortion optimization and apparatus for performing the same
KR20110083368A (en) Method and apparatus for encoding and decoding image using large transform unit
KR20110090781A (en) Method for encoding/decoding video for rate-distortion optimization and apparatus for performing the same
US8594189B1 (en) Apparatus and method for coding video using consistent regions and resolution scaling
KR102555224B1 (en) Apparatus and method for encoding and decoding to image of ultra high definition resoutltion
KR20110090841A (en) Apparatus and method for encoding/decoding of video using weighted prediction
JP2021027464A (en) Prediction block generation device, image coding device, image decoding device, and program
JP6528635B2 (en) Moving picture coding apparatus, moving picture coding method, and computer program for moving picture coding
JP2014042332A (en) Moving image encoding device and moving image decoding device
KR20110095119A (en) Apparatus and method for encoding and decoding to image of ultra high definition resolution

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant