KR20170142860A - Method and apparatus for encoding or decoding video signal - Google Patents

Method and apparatus for encoding or decoding video signal Download PDF

Info

Publication number
KR20170142860A
KR20170142860A KR1020170035361A KR20170035361A KR20170142860A KR 20170142860 A KR20170142860 A KR 20170142860A KR 1020170035361 A KR1020170035361 A KR 1020170035361A KR 20170035361 A KR20170035361 A KR 20170035361A KR 20170142860 A KR20170142860 A KR 20170142860A
Authority
KR
South Korea
Prior art keywords
block
transform
coding
square
prediction
Prior art date
Application number
KR1020170035361A
Other languages
Korean (ko)
Other versions
KR102426131B1 (en
Inventor
한종기
이재영
Original Assignee
세종대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 세종대학교산학협력단 filed Critical 세종대학교산학협력단
Priority to PCT/KR2017/005497 priority Critical patent/WO2017209455A2/en
Priority to CN202210049050.3A priority patent/CN114222138A/en
Priority to CN202210049201.5A priority patent/CN114222139A/en
Priority to CN202210049407.8A priority patent/CN114222140A/en
Priority to CN201780033620.7A priority patent/CN109417638B/en
Priority to US16/305,214 priority patent/US11736712B2/en
Priority to CN202210048882.3A priority patent/CN114222137A/en
Priority to CN202210049739.6A priority patent/CN114222141A/en
Publication of KR20170142860A publication Critical patent/KR20170142860A/en
Priority to KR1020220091076A priority patent/KR102534604B1/en
Application granted granted Critical
Publication of KR102426131B1 publication Critical patent/KR102426131B1/en
Priority to US18/341,460 priority patent/US20230336769A1/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/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/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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods 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 a set of transform coefficients

Abstract

The present invention relates to a method for decoding a video signal and an apparatus thereof. The method for decoding a video signal according to the present invention includes the steps of: setting a structure of a coding block constituting a current image; setting a structure of transform blocks corresponding to the coding block; and generating a prediction signal using the transform blocks, wherein the coding block includes at least one of a square block and a non-square block. Accordingly, the present invention can improve coding efficiency.

Description

비디오 신호의 부호화 또는 복호화 방법 및 장치{METHOD AND APPARATUS FOR ENCODING OR DECODING VIDEO SIGNAL}TECHNICAL FIELD [0001] The present invention relates to a method and apparatus for encoding or decoding a video signal,

본 발명은 비디오 신호의 부호화 또는 복호화 방법 및 장치에 관한 것으로서, 더욱 상세하게는, 비정방형 코딩 블록 및/또는 비정방형 변환 블록을 이용하는 비디오 신호의 부호화 또는 복호화 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for encoding or decoding a video signal, and more particularly, to a method and apparatus for encoding or decoding a video signal using a non-square coding block and / or a non-square conversion block.

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

비디오 압축 기술들은 비디오 시퀀스들에 고유한 리던던시를 감소 또는 제거하기 위해 공간 예측 및/또는 시간 예측을 포함한다. 블록 기반 비디오 코딩에 있어서, 비디오 프레임 또는 슬라이스는 블록들로 분할될 수 있다. 각각의 블록은 추가적으로 분할될 수 있다. 인트라 코딩된 I 프레임 또는 슬라이스에서의 블록들은 동일 프레임 또는 슬라이스에서의 이웃 블록들에서의 참조 샘플에 대한 공간 예측을 이용하여 인코딩된다. 인터 코딩된 P 또는 B 프레임 또는 슬라이스에서의 블록들은 동일 프레임 또는 슬라이스에서의 이웃 블록들에서의 참조 샘플에 대한 공간 예측, 또는 다른 참조 프레임에서의 참조 샘플에 대한 시간 예측을 이용할 수도 있다. 공간 또는 시간 예측은 코딩될 블록에 대한 예측 블록을 발생시킨다. 잔여 데이터는 코딩될 원 블록과 예측 블록 사이의 픽셀 차이를 나타낸다.Video compression techniques include spatial prediction and / or temporal prediction to reduce or eliminate redundancy inherent in video sequences. In block-based video coding, a video frame or slice may be divided into blocks. Each block can be further divided. Blocks in an intra-coded I frame or slice are encoded using spatial prediction for reference samples in neighboring blocks in the same frame or slice. Blocks in an intercoded P or B frame or slice may use spatial prediction for reference samples in neighboring blocks in the same frame or slice, or temporal prediction for reference samples in different reference frames. The spatial or temporal prediction generates a prediction block for the block to be coded. The residual data represents the pixel difference between the original block to be coded and the prediction block.

일반적으로 현재 블록은 동일한 크기의 정방향 코딩 블록(CU) 및 변환 블록(TU)를 이용하여 영상을 부호화하며, 각 코딩 블록 또는 예측 블록 크기를 기반으로 변환 블록들은 쿼드트리 분할 구조로 코딩 블록에 적용된다. 그러나, 이러한 정방향 코딩 블록을 이용하는 경우, 코딩 블록마다 예측 모드 및 예측 정보를 전송하여야 하므로 영상의 종류에 따라 불필요한 정보를 전송하여 부호화 효율을 저하시킬 수 있다. 또한, 코딩 블록에 해당하는 영상의 특성과 예측 모드에 따라 발생하는 잔차 신호의 특성을 고려하지 못하는 단점이 있다.Generally, the current block is encoded using a forward coding block (CU) and a transform block (TU) of the same size, and conversion blocks based on each coding block or prediction block size are applied to a coding block do. However, when the forward coding block is used, since the prediction mode and the prediction information must be transmitted for each coding block, unnecessary information may be transmitted according to the type of the image, thereby reducing the coding efficiency. In addition, there is a disadvantage in that characteristics of an image corresponding to a coding block and characteristics of a residual signal generated according to a prediction mode can not be considered.

본 발명이 해결하고자 하는 과제는 영상에 따라 다양한 모양의 코딩 블록 및 변환 블록을 이용함으로써 코딩 효율을 향상시키는 비디오 신호의 부호화 및 복호화 장치를 제공하는 것이다.SUMMARY OF THE INVENTION It is an object of the present invention to provide an apparatus and method for encoding and decoding a video signal that improves coding efficiency by using coding blocks and transform blocks of various shapes according to images.

또한, 본 발명이 해결하고자 하는 다른 과제는 현재 블록의 화면 내 예측 모드에 따라 코딩 효율을 높일 수 있는 변환 블록의 코딩 순서를 결정하는 방법 및 이를 수행하는 비디오 신호의 부호화 및 복호화 방법 및 장치를 제공하는 것이다.Another object of the present invention is to provide a method of determining a coding order of a transform block capable of increasing a coding efficiency according to an intra-picture prediction mode of a current block, and a method and apparatus for encoding and decoding a video signal .

상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 비디오 신호의 복호화 방법은, 현재 영상을 구성하는 코딩 블록의 구조를 설정하는 단계; 상기 코딩 블록에 대응하는 변환 블록들의 구조를 설정하는 단계; 및 상기 변환 블록들을 이용하여 예측 신호를 생성하는 단계를 포함하고, 상기 코딩 블록은 정방형(square) 블록 및 비정방형(non-square) 블록 중 어느 하나 이상을 포함한다.According to an aspect of the present invention, there is provided a method of decoding a video signal, the method comprising: setting a structure of a coding block constituting a current image; Setting a structure of transform blocks corresponding to the coding block; And generating a prediction signal using the transform blocks, wherein the coding block includes at least one of a square block and a non-square block.

상기 변환 블록은 상기 코딩 블록의 동일한 크기 또는 작은 크기의 정방형(square) 변환 블록 및 비정방형(non-square) 변환 블록 중 어느 하나 이상을 포함한다.The transform block includes at least one of a square transform block and a non-square transform block having the same size or a small size of the coding block.

일 실시예에서, 상기 정방형 변환 블록은 쿼트트리 구조를 갖는 변환 블록일 수 있고, 상기 비정방형 변환 블록은 비정방형 바이너리트리 구조 또는 비정방형 쿼트트리 구조를 갖는 변환 블록일 수 있다. 또한, 상기 변환 블록의 모양 및 크기를 나타내는 변환 블록 분할 정보를 수신하는 단계를 더 포함할 수 있다.In one embodiment, the square transform block may be a transform block having a quadtree structure, and the non-square transform block may be a transform block having a non-square binary tree structure or an unquadratic quadtree structure. The method may further include receiving transform block division information indicating the shape and size of the transform block.

일 실시예에서, 상기 변환 블록은 비정방형 변환 서브 블록 및 정방형 변환 서브 블록 중 어느 하나 이상을 포함하여 분할될 수 있고, 상기 변환 블록을 서브 변환 블록들로 재분할하는 단계를 더 포함하며, 상기 서브 변환 블록들로 재분할되는 경우, 상기 예측 신호는 상기 서브 변환 블록별로 생성될 수 있다. 또한, 상기 서브 변환 블록들은 비정방형 서브 변환 블록 및 정방형 서브 변환 블록 중 어느 하나 이상을 포함할 수 있다.In one embodiment, the transform block may be divided to include at least one of a non-square transform sub-block and a square transform sub-block, further comprising re-dividing the transform block into sub-transform blocks, When re-divided into transform blocks, the prediction signal may be generated for each sub-transform block. In addition, the sub-transform blocks may include at least one of a non-square sub-transform block and a square sub-transform block.

일 실시예에서, 상기 현재 블록이 화면내 예측을 수행하는 경우, 상기 현재 블록의 화면내 예측 모드의 방향이 90˚이상 180˚미만의 각도를 갖는 제 1 모드 영역, 180˚이상 225˚ 미만의 각도를 갖는 제 2 모드 영역, 및 45˚이상 90˚미만의 각도를 갖는 제 3 영역 중 어느 모드 영역에 속하는지 판단하는 단계; 및 상기 화면내 예측 모드이 속하는 모드 영역에 기초하여 상기 변환 블록의 코딩 순서를 가변적으로 결정하는 단계를 더 포함할 수 있다.In one embodiment, when the current block performs intra-frame prediction, the intra-frame prediction mode of the current block is divided into a first mode area having an angle of 90 degrees or more and less than 180 degrees, A second mode area having an angle, and a third area having an angle of more than 45 degrees and less than 90 degrees; And a step of variably determining a coding order of the transform block based on a mode area to which the intra prediction mode belongs.

상기 화면내 예측 모드의 방향이 제 2 모드 영역인 경우, 상기 변환 블록은 좌측 하단으로부터 우측 상단 방향순으로 코딩될 수 있고, 상기 변환 블록이 정방형 변환 블록이면, 좌측 하단, 우측 하단, 좌측 상단, 및 우측 상단의 순서로 코딩될 수 있으며, 상기 변환 블록이 정방형 변환 블록이면, 좌측 하단, 좌측 상단, 우측 하단, 및 우측 상단의 순서로 코딩될 수 있다.And if the direction of the intra prediction mode is the second mode area, the transform block may be coded in order from the lower left to the upper right direction, and if the transform block is a square transform block, the lower left, lower right, And the upper right corner, and if the transform block is a square transform block, it can be coded in the order of the lower left, upper left, lower right, and upper right.

또한, 상기 변환 블록이 세로로 분할된 비정방형 변환 블록이면, 좌측으로부터 우측의 순서로 코딩될 수 있고, 상기 변환 블록이 가로로 분할된 비정방형 변환 블록이면, 하단으로부터 상단의 순서로 코딩될 수 있다.Further, if the transform block is a vertically-divided non-square transform block, it can be coded in order from left to right. If the transform block is a horizontally divided non-square transform block, it can be coded in order from bottom to top have.

상기 화면내 예측 모드의 방향이 제 3 영역 모드인 경우, 상기 변환 블록은 우측 상단으로부터 좌측 하단 순서로 코딩될 수 있고, 상기 변환 블록이 정방형 변환 블록이면, 우측 상단, 좌측 상단, 우측 하단, 및 좌측 하단의 순서로 코딩될 수 있으며, 상기 변환 블록이 정방형 변환 블록이면, 우측 상단, 우측 하단, 좌측 상단, 및 좌측 하단의 순서로 코딩될 수 있다.When the direction of the intra prediction mode is the third region mode, the transform block may be coded in order from the upper right to the lower left, and if the transform block is a square transform block, the upper right, upper left, lower right, And the lower left end, and if the transform block is a square transform block, it can be coded in the order of the right upper end, the lower right end, the upper left end, and the lower left end.

또한, 상기 변환 블록이 세로로 분할된 비정방형 변환 블록이면, 우측으로부터 좌측의 순서로 코딩될 수 있고, 상기 변환 블록이 가로로 분할된 비정방형 변환 블록이면, 상단으로부터 하단의 순서로 코딩될 수 있다.In addition, if the transform block is a vertically-divided non-square transform block, it can be coded in the order from right to left. If the transform block is a horizontally divided non-square transform block, have.

상기 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 비디오 신호의 복호화 장치는, 현재 영상을 구성하는 코딩 블록의 구조를 설정하고, 상기 코딩 블록에 대응하는 변환 블록들의 구조를 설정하는 블록 설정부; 및 상기 변환 블록들을 이용하여 예측 신호를 생성하는 예측 신호 생성부를 포함하고, 상기 코딩 블록 및 상기 변환 블록은 정방형(square) 블록 및 비정방형(non-square) 블록 중 어느 하나 이상을 포함하며, 상기 예측 신호 생성부는 상기 코딩 블록의 화면내 예측 모드를 예측 방향에 따라 구분한 모드 영역들 중 어느 모드 영역에 속하는지에 따라 가변적인 코딩 순서에 따라 상기 변환 블록들을 코딩할 수 있다.According to another aspect of the present invention, there is provided an apparatus for decoding a video signal, the apparatus comprising: a block setting unit configured to set a structure of a coding block constituting a current image and to set a structure of conversion blocks corresponding to the coding block; ; And a prediction signal generator for generating a prediction signal using the transform blocks, wherein the coding block and the transform block include at least one of a square block and a non-square block, The predictive signal generator may code the transform blocks according to a mode coding mode in which the intra-picture prediction mode of the coding block belongs to which mode area among the mode areas classified according to the prediction direction.

본 발명의 실시예에 따르면, 영상에 따라 비정방형 코딩 블록 및 비정방형 변환 블록을 이용함으로써 부호화 효율을 향상시키는 비디오 신호의 부호화 및 복호화 장치를 제공하는 것이다.According to an embodiment of the present invention, there is provided an apparatus for encoding and decoding a video signal that improves coding efficiency by using non-square coding blocks and non-square conversion blocks according to an image.

또한, 본 발명의 다른 실시예에 따르면, 현재 블록의 화면 내 예측 모드의 방향에 따라 변환 블록의 코딩 순서를 변경함으로써, 고해상도의 영상을 부호화 및 복호화할 수 있고, 코딩 효율을 증가시킬 수 있는 변환 블록의 코딩 순서를 결정하는 방법 및 이를 수행하는 비디오 신호의 복호화 방법 및 장치를 제공하는 것이다.According to another embodiment of the present invention, by changing the coding order of the transform block in accordance with the direction of the intra-picture prediction mode of the current block, a high-resolution image can be encoded and decoded, A method for determining a coding order of a block, and a method and apparatus for decoding a video signal to perform the method.

도 1은 본 발명의 일 실시예에 따른 비디오 부호화 장치를 개략적으로 나타낸 블록도이다.
도 2는 본 발명의 일 실시예에 따른 비디오 복호화 장치를 개략적으로 나타낸 블록도이다.
도 3은 일반적인 방법에 따른 현재 블록의 코딩 블록을 설명하기 위한 것이다.
도 4a 내지 도 4c 는 본 발명의 일 실시예에 따른 현재 블록의 비정방형 코딩 블록들의 예시를 나타내는 것이다.
도 5a 내지 도 6d 는 본 발명의 일 실시예에 따른 현재 코딩 블록을 위한 변환 블록들의 예시를 나타내는 것이다.
도 7a 내지 도 10 은 본 발명의 일 실시예에 따른 서브 변환 블록들의 예시를 나타내는 것이다.
도 11은 일반적인 방법에 따른 변환 블록의 코딩 순서 및 방법을 설명하기 위한 것이다.
도 12a 내지 도 12c 는 본 발명의 일 실시예에 따른 변환 블록들의 예시를 나타내는 것이다.
도 13는 본 발명의 일 실시예에 따른 화면 내 예측 모드가 속하는 모드 영역들을 나타내는 것이다.
도 14a 및 도 14b 는 본 발명의 일 실시예에 따른 현재 블록의 화면내 예측 모드가 제 1 모드 영역에 속하는 경우 변환 블록들의 코딩 순서를 나타내는 것이고, 도 15a 내지 도 15c 는 본 발명의 일 실시예에 따른 현재 블록의 화면내 예측 모드가 제 2 모드 영역에 속하는 경우 변환 블록들의 코딩 순서를 나타내는 것이며, 도 16a 내지 도 16c 는 본 발명의 일 실시예에 따른 현재 블록의 화면내 예측 모드가 제 3 모드 영역에 속하는 경우 변환 블록들의 코딩 순서를 나타내는 것이다.
도 17a 내지 도 19c 는 본 발명의 일 실시예에 따른 화면내 예측 모드를 고려한 변환 블록의 코딩 순서를 적용하여 정방형 및 비정방형 변환 블록을 코딩하는 순서의 다양한 예시를 나타내는 것이다.
1 is a block diagram schematically illustrating a video encoding apparatus according to an embodiment of the present invention.
2 is a block diagram schematically showing a video decoding apparatus according to an embodiment of the present invention.
FIG. 3 illustrates a coding block of a current block according to a general method.
4A to 4C illustrate examples of non-square coding blocks of a current block according to an embodiment of the present invention.
5A-6D illustrate examples of transform blocks for a current coding block according to an embodiment of the present invention.
7A to 10 illustrate examples of sub-transform blocks according to an embodiment of the present invention.
Fig. 11 is a diagram for explaining a coding procedure and a coding method of a transform block according to a general method.
Figures 12A-12C illustrate examples of transform blocks in accordance with an embodiment of the present invention.
13 illustrates mode regions to which an intra prediction mode according to an embodiment of the present invention belongs.
FIGS. 14A and 14B show the coding order of transform blocks when the intra-picture prediction mode of the current block belongs to the first mode region according to an embodiment of the present invention. FIGS. 16A through 16C illustrate the coding order of the transform blocks when the intra-picture prediction mode of the current block according to the present invention belongs to the second mode area. And the coding order of the transform blocks when belonging to the mode area.
FIGS. 17A to 19C show various examples of a procedure for coding square and non-square transform blocks by applying a coding order of transform blocks considering an intra prediction mode according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 실시예들은 당해 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위하여 제공되는 것이며, 하기 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 하기 실시예에 한정되는 것은 아니다. 오히려, 이들 실시예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 발명의 사상을 완전하게 전달하기 위하여 제공되는 것이다.The embodiments of the present invention are described in order to more fully explain the present invention to those skilled in the art, and the following embodiments may be modified into various other forms, It is not limited to the embodiment. Rather, these embodiments are provided so that this disclosure will be more faithful and complete, and will fully convey the scope of the invention to those skilled in the art.

또한, 도면에서 각 유닛의 두께나 크기는 설명의 편의 및 명확성을 위하여 과장된 것이며, 도면상에서 동일 부호는 동일한 요소를 지칭한다. 본 명세서에서 사용된 바와 같이, 용어 "및/또는"은 해당 열거된 항목 중 어느 하나 및 하나 이상의 모든 조합을 포함한다.In the drawings, the thickness and the size of each unit are exaggerated for convenience and clarity of description, and the same reference numerals denote the same elements in the drawings. As used herein, the term "and / or" includes any and all combinations of one or more of the listed items.

본 명세서에서 사용된 용어는 특정 실시예를 설명하기 위하여 사용되며, 본 발명을 제한하기 위한 것이 아니다. 본 명세서에서 사용된 바와 같이, 단수 형태는 문맥상 다른 경우를 분명히 지적하는 것이 아니라면, 복수의 형태를 포함할 수 있다. 또한, 본 명세서에서 사용되는 경우 "포함한다 (comprise)" 및/또는 "포함하는 (comprising)"은 언급한 형상들, 숫자, 단계, 동작, 부재, 요소 및/또는 이들 그룹의 존재를 특정하는 것이며, 하나 이상의 다른 형상, 숫자, 동작, 부재, 요소 및/또는 그룹들의 존재 또는 부가를 배제하는 것이 아니다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a," "an," and "the" include singular forms unless the context clearly dictates otherwise. Also, " comprise "and / or" comprising "when used herein should be interpreted as specifying the presence of stated shapes, numbers, steps, operations, elements, elements, and / And does not preclude the presence or addition of one or more other features, integers, operations, elements, elements, and / or groups.

본 명세서에서 제 1, 제 2 등의 용어가 다양한 구성요소, 부재, 부품, 영역, 및/또는 부분들을 설명하기 위하여 사용되지만, 이들 구성요소, 부재, 부품, 영역, 및/또는 부분들은 이들 용어에 의해 한정되어서는 안됨은 자명하다. 이들 용어는 하나의 구성요소, 부재, 부품, 영역 또는 부분을 다른 영역 또는 부분과 구별하기 위하여만 사용된다. 따라서, 이하 상술할 제 1 구성요소, 부재, 부품, 영역 또는 부분은 본 발명의 가르침으로부터 벗어나지 않고서도 제 2 구성요소, 부재, 부품, 영역 또는 부분을 지칭할 수 있다. 또한, 및/또는 용어는 복수의 관련되어 기재되는 항목들의 조합 또는 복수의 관련되어 기재되는 항목들 중의 어느 항목을 포함한다.Although the terms first, second, etc. are used herein to describe various elements, members, parts, regions, and / or sections, these elements, members, parts, It should be understood that the present invention should not be construed as being limited thereto. These terms are only used to distinguish one element, element, component, region, or portion from another region or portion. Thus, a first component, element, component, region, or section described below may refer to a second component, element, component, region, or portion without departing from the teachings of the present invention. Furthermore, and / or terms include any combination of the plurality of related described items or any of the plurality of related items described.

어느 구성요소가 다른 구성요소에 "연결되어" 있거나 "접속되어" 있다고 언급되는 경우에는, 상기 다른 구성요소에 직접적으로 연결되어 있거나 접속되어 있는 경우 뿐만 아니라, 상기 어느 구성요소와 상기 다른 구성요소 사이에 다른 구성요소가 존재하는 경우를 포함하여 이해되어야 한다. 그러나, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있거나 "직접 접속되어" 있다고 지칭되는 경우에는, 중간에 다른 구성요소가 존재하지 아니하고 상기 어느 구성요소와 상기 다른 구성요소가 직접 연결 또는 접속된 것으로 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it is understood that the element is not directly connected or connected to the other element, And < / RTI > the case where other components are present. However, when an element is referred to as being "directly connected" or "directly connected" to another element, there is no other element in between and the element and the other element are directly connected or connected It should be understood that

이하, 본 발명의 실시예들은 본 발명의 이상적인 실시예들을 개략적으로 도시하는 도면들을 참조하여 설명한다. 도면들에 있어서, 예를 들면, 부재들의 크기와 형상은 설명의 편의와 명확성을 위하여 과장될 수 있으며, 실제 구현시, 도시된 형상의 변형들이 예상될 수 있다. 따라서, 본 발명의 실시예는 본 명세서에 도시된 영역의 특정 형상에 제한된 것으로 해석되어서는 아니된다.Hereinafter, embodiments of the present invention will be described with reference to the drawings schematically showing ideal embodiments of the present invention. In the drawings, for example, the size and shape of the members may be exaggerated for convenience and clarity of explanation, and in actual implementation, variations of the illustrated shape may be expected. Accordingly, embodiments of the present invention should not be construed as limited to any particular shape of the regions shown herein.

도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 개략적으로 나타낸 블록도이다.1 is a block diagram schematically showing an image encoding apparatus according to an embodiment of the present invention.

도 1을 참조하면, 영상 부호화 장치(100)는 픽처 분할부(105), 화면간 예측부(110), 화면내 예측부(115), 변환부(120), 양자화부(125), 재정렬부(130), 엔트로피 부호화부(135), 역양자화부(140), 역변환부(145), 필터부(150) 및 메모리(155)를 포함한다. 1, the image encoding apparatus 100 includes a picture dividing unit 105, an inter-picture predicting unit 110, an intra-picture predicting unit 115, a transform unit 120, a quantization unit 125, An entropy encoding unit 135, an inverse quantization unit 140, an inverse transformation unit 145, a filter unit 150, and a memory 155.

도 1에 나타난 각 구성요소들은 영상 부호화 장치에서 서로 다른 특징적인 기능들을 나타내기 위하여 독립적으로 도시한 것이며, 각 구성요소들이 분리된 하드웨어나 각각 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성요소는 설명의 편의상 각각의 구성요소로 나열하여 포함한 것으로 각 구성요소 중 적어도 두 개의 구성요소가 합쳐져 하나의 구성요소로 이루어지거나, 하나의 구성요소가 복수개의 구성요소로 나뉘어져 기능을 수행할 수 있다. 이러한 각 구성요소가 통합된 실시예 또는 분리된 실시예도 본 발명의 본질적인 측면에서 벗어나지 않는 한 본 발명의 권리범위에 포함될 수 있다.Each component shown in FIG. 1 is shown independently to represent different characteristic functions in the image encoding apparatus, and does not mean that each component is composed of separate hardware or one software constituent unit. That is, each component is listed as a separate component for convenience of explanation. At least two components of each component are combined to form one component, or one component is divided into a plurality of components, Can be performed. It is to be understood that the embodiments in which each of these components is integrated or the separate embodiments can be included in the scope of the present invention without departing from the essential aspect of the present invention.

픽처 분할부(105)는 입력된 픽처를 적어도 하나의 처리 단위로 분할할 수 있다. 상기 처리 단위는 예측 블록(Prediction Unit, 이하 "PU"라 함)일 수 있고, 변환 블록(Transform Unit, 이하 "TU"라 함)일 수도 있으며, 코딩 블록(Coding Unit, 이하 "CU"라 함)일 수도 있다. 다만, 본 명세서에서는 설명의 편의를 위해, 예측 블록을 예측 단위, 변환 블록을 변환 단위, 부호화 또는 복호화 블록을 부호화 단위 또는 복호화 단위로 표현할 수도 있다.The picture dividing unit 105 can divide the inputted picture into at least one processing unit. The processing unit may be a prediction unit (PU), a transform unit (TU), a coding unit (CU) ). However, for the sake of convenience of explanation, the prediction block may be expressed as a prediction unit, the conversion block as a conversion unit, and the encoding or decoding block as a coding unit or a decoding unit.

일 실시예에서, 픽처 분할부(105)는 하나의 픽처에 대하여 복수의 부호화 블록, 예측 블록, 및 변환 블록의 조합으로 분할하고, 소정의 기준(예를 들어, 비용 함수)에 기초하여 하나의 부호화 블록, 예측 블록, 및 변환 블록의 조합을 선택하여 픽처를 부호화할 수 있다.In one embodiment, the picture dividing section 105 divides a picture into a combination of a plurality of coding blocks, a prediction block, and a conversion block, and generates a picture based on a predetermined criterion (for example, a cost function) It is possible to encode a picture by selecting a combination of an encoding block, a prediction block, and a transform block.

예를 들어, 하나의 픽처는 복수 개의 코딩 블록으로 분할될 수 있다. 일 실시예에서, 하나의 픽처는 쿼드 트리 구조(Quad Tree Structure) 또는 바이너리 트리 구조와 같은 재귀적인 트리 구조를 사용하여 상기 코딩 블록을 분할할 수 있으며, 하나의 영상 또는 최대 크기 코딩 블록(largest coding unit)를 루트로 하여 다른 코딩 블록으로 분할되는 코딩 블록은 분할된 코딩 블록의 개수만큼의 자식 노드를 가지고 분할될 수 있다. 이러한 과정을 통하여 더 이상 분할되지 아니하는 코딩 블록은 리프 노드가 될 수 있다. 예를 들어, 하나의 코딩 블록에 대하여 정방형 분할만이 가능하다고 가정한 경우에는 하나의 코딩 블록은 예를 들어, 4 개의 코딩 블록으로 분할될 수 있다. 그러나, 본 발명에서는 상기 코딩 블록, 예측 블록 및/또는 변환 블록은 분할 시 대칭 분할에 한정하지 아니하고, 비대칭 분할(Asymmetric Partition)도 가능하며 4 개의 분할 뿐만 아니라 2 개의 분할도 가능하다. 그러나, 이러한 분할 개수는 예시적일 뿐 본 발명이 이에 한정되는 것은 아니다. 이와 같이, 코딩 블록 및 변환 블록으로 비대칭 분할된 비정방형(non-square) 블록을 이용하는 비디오 신호의 부호화 및 복호화 방법 및 장치에 대하여 도 3 내지 도 19c를 참조하여 설명하기로 한다.For example, one picture may be divided into a plurality of coding blocks. In one embodiment, a picture may be partitioned using a recursive tree structure, such as a quad tree structure or a binary tree structure, and may include one picture or a maximum coding unit) as a root can be divided by the number of child nodes as many as the number of the divided coding blocks. Through this process, the coding block that is not further divided can become a leaf node. For example, in a case where it is assumed that only a square division is possible for one coding block, one coding block may be divided into four coding blocks, for example. However, in the present invention, the coding block, the prediction block, and / or the transform block are not limited to the symmetric division at the time of division. Asymmetric division is also possible. However, the number of divisions is only an example, and the present invention is not limited thereto. A method and apparatus for coding and decoding a video signal using a non-square block that is asymmetrically divided into a coding block and a transform block will be described with reference to FIGS. 3 to 19C.

예측 블록도 하나의 코딩 블록 내에서 동일한 크기의 적어도 하나의 정방형(square) 또는 비정방형(non-square) 등의 형태를 가지고 분할된 것일 수 있고, 하나의 코딩 블록 내에서 분할된 예측 블록 중 어느 하나의 예측 블록이 다른 하나의 예측 블록과 상이한 형태와 크기를 가지도록 분할될 수도 있다. 일 실시예에서는, 코딩 블록과 예측 블록이 동일할 수 있다. 즉, 코딩 블록과 예측 블록을 구분하지 아니하고, 분할된 코딩 블록을 기준으로 예측이 수행될 수도 있다. The prediction block may also be divided into at least one square or non-square shape having the same size in one coding block, and one of the divided prediction blocks in one coding block One prediction block may be divided so as to have a different shape and size from the other prediction block. In one embodiment, the coding block and the prediction block may be the same. That is, the prediction may be performed based on the divided coding blocks without distinguishing between the coding blocks and the prediction blocks.

예측부는 화면간 예측(inter prediction)을 수행하는 화면간 예측부(110) 및 화면내 예측(intra prediction)을 수행하는 화면내 예측부(115)를 포함할 수 있다. 코딩 효율을 높이기 위하여, 영상 신호를 그대로 부호화하는 것이 아니라, 이미 부호화 및 복호화가 완료된 픽처 내부의 특정 영역을 이용하여 영상을 예측하고, 원래의 영상과 예측 영상 사이의 레지듀얼 값을 부호화한다. 또한, 예측을 위하여 사용된 예측 모드 정보, 움직임 벡터 정보 등은 레지듀얼 값과 함께 엔트로피 부호화부(135)에서 부호화되어 복호화부에 전달될 수 있다. 특정한 부호화 모드를 이용하는 경우에는 예측부(110, 115)를 통하여 예측 블록을 생성하지 아니하고, 원본 블록을 그대로 부호화하여 복호화부에 전송하는 것도 가능하다.The predicting unit may include an inter-picture predicting unit 110 for performing inter-prediction and an intra-picture predicting unit 115 for performing intra-prediction. In order to improve the coding efficiency, instead of encoding the video signal as it is, the video is predicted using a specific area in the already coded and decoded picture, and the residual value between the original video and the predicted video is encoded. In addition, the prediction mode information and the motion vector information used for the prediction may be encoded by the entropy encoding unit 135 together with the residual value, and then transmitted to the decoding unit. When a particular encoding mode is used, it is also possible that the original block is encoded as it is without generating a prediction block through the predicting units 110 and 115, and is transmitted to the decoding unit.

일 실시예에서, 예측부(110, 115)는 예측 블록에 대하여 화면간 예측을 수행할 것인지 화면내 예측을 수행할 것인지를 결정하고, 화면간 예측 모드, 움직임 벡터, 및 참조 픽쳐와 같은 상기 예측 방법 각각에 따른 구체적인 정보들을 결정할 수 있다. 이 경우, 예측이 수행되는 처리 단위와 예측 방법, 그리고 세부 처리 단위는 각각 다를 수 있다. 예를 들어, 예측 모드와 예측 방법은 예측 블록에 따라 결정되더라도, 예측의 수행은 변환 블록에 따라 수행될 수 있다.In one embodiment, the predicting units 110 and 115 determine whether to perform intra-picture prediction or intra-picture prediction for a prediction block, and determine whether the intra-picture prediction mode, the motion vector, Specific information according to each method can be determined. In this case, the processing unit in which the prediction is performed, the prediction method, and the detail processing unit may be different from each other. For example, even if the prediction mode and the prediction method are determined according to the prediction block, the prediction can be performed according to the conversion block.

예측부(110, 115)는, 픽처 분할부(105)에서 분할된 픽처의 처리 단위에 대하여 예측을 수행하여 예측된 샘플로 구성되는 예측 블록을 생성할 수 있다. 예측부(110, 115)에서의 픽처 처리 단위는 코딩 블록 단위일 수 있고, 변환 블록 단위일 수도 있으며, 예측 블록 단위일 수도 있다.The predicting units 110 and 115 can predict a processing unit of a divided picture in the picture dividing unit 105 to generate a prediction block composed of predicted samples. The picture processing unit in the predicting units 110 and 115 may be a coding block unit, a conversion block unit, or a prediction block unit.

화면간 예측부(110)는 현재 픽처의 이전 픽처 또는 이후 픽처 중 적어도 하나 이상의 픽처의 정보를 기초로 예측 블록을 예측할 수 있고, 경우에 따라 현재 픽처 내의 코딩이 완료된 일부 영역의 정보를 기초로 예측 블록을 예측할 수 있다. 화면간 예측부(110)는 참조 픽처 보간부, 움직임 예측부, 및 움직임 보상부를 포함할 수 있다.The inter picture prediction unit 110 may predict a prediction block based on information of at least one of a previous picture or a following picture of the current picture and may predict a prediction block based on information of a partial area in which coding in the current picture is completed The block can be predicted. The inter-picture predicting unit 110 may include a reference picture interpolating unit, a motion predicting unit, and a motion compensating unit.

일 실시예에서, 화면간 예측부(110)에서 예측을 위하여 이용되는 상기 하나 이상의 픽처의 정보는 이미 부호화 및 복호화가 진행된 픽처들의 정보일 수 있고, 임의의 방법으로 변형되어 저장된 픽처들의 정보일 수 있다. 예를 들어, 상기 임의의 방법으로 변형되어 저장된 픽처는 부호화 및 복호화가 진행된 픽처를 확대 또는 축소한 픽처일 수 있고, 또는 픽처 내의 모든 픽셀 값의 밝기를 변형시키거나, 칼라 포맷을 변형시킨 픽처일 수도 있다. In one embodiment, the information of the at least one picture used for prediction in the inter picture prediction unit 110 may be information of already coded and decoded pictures, have. For example, the picture modified and stored by any of the above methods may be a picture enlarged or reduced in a picture in which encoding and decoding has been performed, or may be a picture in which the brightness of all pixel values in a picture is changed, It is possible.

참조 픽처 보간부는 메모리(155)로부터 참조 픽처 정보를 제공받아 참조 픽처에서 정수 픽셀 이하의 픽셀 정보를 생성할 수 있다. 휘도 픽셀의 경우, 필터의 계수를 달리하는 DCT 기반의 8-탭 보간 필터(DCT-based Interpolation Filter)를 이용하여 1/4 픽셀 단위로 정수 이하의 픽셀 정보를 생성할 수 있다. 색차 신호의 경우에는 필터의 계수를 달리하는 DCT 기반의 4-탭 보간 필터(DCT-based Interpolation Filter)를 이용하여 1/8 픽셀 단위로 정수 이하의 픽셀 정보를 생성할 수 있다. 그러나, 필터의 종류 및 정수 이하의 픽셀 정보를 생성하는 단위는 이에 한정되지는 아니하고, 다양한 보간 필터를 이용하여 정수 이하의 픽셀 정보를 생성하는 단위가 결정될 수 있을 것이다.The reference picture interpolator can generate the pixel information of integer pixels or less from the reference picture by receiving the reference picture information from the memory 155. [ In the case of luminance pixels, it is possible to generate pixel information of less than or equal to a whole number in units of a quarter pixel by using a DCT-based 8-tap interpolation filter having different coefficients of the filter. In the case of a color difference signal, pixel information less than or equal to a certain integer can be generated in units of 1/8 pixel by using a DCT-based 4-tap interpolation filter having different coefficients of a filter. However, the unit for generating the pixel information of the type and the integer of the filter is not limited to this, and a unit for generating pixel information below the integer using various interpolation filters may be determined.

움직임 예측부는 상기 참조 픽처 보간부에 의하여 보간된 참조 픽처를 기초로 하여 움직임 예측을 수행할 수 있다. 움직임 벡터를 산출하기 위하여 다양한 방법이 사용될 수 있다. 움직임 벡터는 보간된 픽셀을 기초로 하여 정수 픽셀 단위 또는 1/4 또는 1/8 픽셀 단위의 움직임 벡터값을 가질 수 있다. 일 실시예에서는, 움직임 예측부에서 움직임 예측 방법을 다르게 하여 현재 블록의 예측 단위를 예측할 수 있다. 상기 움직임 예측 방법은 머지(Merge) 방법, AMVP(Advanced Motion Vector Prediction) 방법, 및 스킵(Skip) 방법을 포함하여 다양한 방법이 사용될 수 있다. 이와 같이, 화면간 예측부(110)에서 선택된 참조 픽처의 인덱스, 움직임 벡터 예측자(MVP), 레지듀얼 신호를 포함하는 정보들은 엔트로피 코딩되어 복호화기로 전송될 수 있다.The motion prediction unit may perform motion prediction based on the reference pictures interpolated by the reference picture interpolation unit. Various methods can be used to calculate the motion vector. The motion vector may have an integer pixel unit or a motion vector value of 1/4 or 1/8 pixel unit based on the interpolated pixel. In one embodiment, a prediction unit of the current block can be predicted by differentiating the motion prediction method in the motion prediction unit. The motion prediction method may include a merge method, an AMVP (Advanced Motion Vector Prediction) method, and a skip method. In this way, the information including the index of the reference picture selected in the inter-picture prediction unit 110, the motion vector predictor (MVP), and the residual signal can be entropy-coded and transmitted to the decoder.

화면내 예측부(115)는 화면간 예측과 달리 현재 픽처 내의 픽셀 정보인 현재 블록 주변의 참조 픽셀 정보들을 기초로 하여 예측 블록을 생성할 수 있다. 상기 예측 블록의 주변 블록들은 화면간 예측을 수행한 블록인 경우, 즉, 참조 픽셀이 화면간 예측을 수행한 픽셀인 경우에는 화면간 예측을 수행한 블록에 포함되는 참조 픽셀을 주변의 화면내 예측을 수행한 블록의 참조 픽셀 정보로 대체하여 사용할 수도 있다. Unlike the inter-picture prediction, the intra-frame prediction unit 115 can generate a prediction block based on reference pixel information around the current block, which is pixel information in the current picture. In the case where the neighboring blocks of the prediction block are blocks in which the inter-picture prediction is performed, that is, when the reference pixels are pixels performing inter-picture prediction, the reference pixels included in the inter- May be replaced with the reference pixel information of the block.

상기 참조 픽셀이 이용 가능하지 아니하는 경우(unavailable)에는 이를 이용 가능하도록 설정하는 것이 선행되어야 한다. 일반적으로 이와 같은 경우, 상기 이용 가능하지 아니한 참조 픽셀은 이용 가능한(available) 주변 화소들 중 적어도 하나의 참조 픽셀로 대체하여 사용되거나 기설정된 샘플값을 할당하여 이용해왔다. If the reference pixel is unavailable, it must be set up to be available. Generally, in such a case, the non-available reference pixel has been used by replacing at least one reference pixel among available peripheral pixels or by assigning a predetermined sample value.

그러나, 이러한 이용 가능하지 아니한 참조 픽셀에 이용 가능한 참조 픽셀을 복사하여 이용하는 방법은, 현재 영상의 복호화시 화면내 예측 부호화 효율을 저하시키는 문제점이 발생할 수 있다. 본 발명의 다양한 실시예에 따르면, 이러한 문제점을 해결하기 위하여, 변환 블록의 코딩시 이용 가능하지 아니한 참조 픽셀 영역보다는 이용 가능한 참조 픽셀 영역을 이용해 화면 내 예측을 수행할 수 있도록, 화면 내 예측 모드의 방향에 따라 변환 블록들의 코딩 순서를 다양한 방법으로 변경할 수 있다. 이와 관련한 자세한 설명은 후술하기로 한다. However, a method of copying and using reference pixels available for such unavailable reference pixels may cause a problem of degrading the intra-picture prediction coding efficiency in decoding the current image. According to various embodiments of the present invention, in order to solve this problem, in order to perform intra prediction using an available reference pixel area rather than a reference pixel area that is not available in the coding of a transform block, The coding order of the transform blocks can be changed in various ways depending on the direction. A detailed description thereof will be described later.

또한, 화면내 예측부(115)는 화면내 예측 모드를 부호화하기 위하여 이웃 블록들로부터 획득한 가장 가능성 있는 화면내 예측 모드(MPM : Most Probable mode)를 이용할 수 있다. 본 발명의 다양한 실시예에 따르면, 상기 가장 가능성 있는 화면내 예측 모드들로 구성되는 가장 가능성 있는 화면내 예측 모드 리스트(MPM List)는 다양한 방법으로 구성될 수 있다. In addition, the intra-picture predicting unit 115 may use the most probable intra-picture prediction mode (MPM: Most Probable mode) obtained from the neighboring blocks to encode the intra-picture prediction mode. According to various embodiments of the present invention, the most probable intra-picture prediction mode list (MPM List) composed of the most probable intra-picture prediction modes may be configured in various ways.

화면내 예측부(115)가 화면내 예측을 수행하는 경우에도 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 서로 다를 수 있다. 예를 들어, 예측 모드가 예측 단위(PU)로 정해져서 상기 예측 단위로 예측이 수행될 수도 있고, 예측 모드는 예측 단위로 정해지되 예측의 수행은 변환 단위(TU)로 수행될 수도 있다. 일 실시예에서, 예측 모드가 코딩 블록(CU) 단위로 결정되고, 상기 코딩 블록 단위와 예측 단위가 동일하여 상기 코딩 블록 단위로 예측이 수행될 수도 있다.Even when the intra-frame prediction unit 115 performs intra-frame prediction, the processing unit in which the prediction is performed, the prediction method, and the processing unit in which the concrete contents are determined may be different from each other. For example, the prediction mode may be defined as a prediction unit (PU), the prediction may be performed in the prediction unit, the prediction mode may be defined as a prediction unit, and the prediction may be performed in a conversion unit (TU). In one embodiment, the prediction mode may be determined in units of coding blocks (CU), and the prediction may be performed in units of the coding blocks, because the coding unit and the prediction unit are the same.

화면내 예측의 예측 모드는 65개의 방향성 예측 모드 및 적어도 2 개 이상의 비방향성 모드를 포함할 수 있다. 상기 비방향성 모드는 DC 예측 모드 및 플래너 모드(Planar Mode)를 포함할 수 있다. 상기 67개의 화면간 예측 모드의 개수는 예시적일 뿐, 본 발명이 이에 한정되는 것은 아니며, 다양한 방법으로 예측하기 위하여 더 많은 방향성 또는 비방향성 모드로 화면내 예측을 수행할 수 있다.The prediction mode of the intra prediction can include 65 directional prediction modes and at least two non-directional modes. The non-directional mode may include a DC prediction mode and a planar mode. The number of the 67 inter picture prediction modes is only an example, and the present invention is not limited thereto, and intra prediction can be performed in more directional or non-directional modes to predict in various ways.

일 실시예에서, 화면내 예측은 참조 픽셀에 필터를 적용한 후 예측 블록을 생성할 수 있다. 이 경우, 상기 참조 픽셀에 필터를 적용할지 여부는 현재 블록의 화면내 예측 모드 및/또는 크기에 따라 결정될 수 있다.In one embodiment, intra prediction may generate a prediction block after applying a filter to a reference pixel. In this case, whether to apply the filter to the reference pixel can be determined according to the intra-picture prediction mode and / or size of the current block.

예측 단위(PU)는 더 이상 분할되지 않는 코딩 유닛(CU)으로부터 다양한 사이즈 및 형태로 결정될 수 있다. 예를 들어, 화면간 예측의 경우 예측 단위는 2N x 2N, 2N x N, N x 2N 또는 N x N와 같은 크기를 가질 수 있다. 화면내 예측의 경우 예측 단위는 2N x 2N 또는 N x N (N은 정수)와 같은 크기를 가질 수 있으나, 이와 같은 정방향 크기 뿐만 아니라 비정방향 크기 모양으로도 화면내 예측을 수행할 수 있다. 이 경우, N x N 크기의 예측 단위는 특정한 경우에만 적용하도록 설정할 수도 있다. 또한, 상술한 크기의 예측 단위 이외에도, N x mN, mN x N, 2N x mN 또는 mN x 2N (m은 분수 또는 정수임) 와 같은 크기를 갖는 화면내 예측 단위를 더 정의하여 사용할 수도 있다.The prediction unit (PU) can be determined in various sizes and forms from a coding unit (CU) which is no longer divided. For example, in case of inter-picture prediction, the prediction unit may have the same size as 2N x 2N, 2N x N, N x 2N or N x N. In case of the intra prediction, the prediction unit may have the same size as 2N x 2N or N x N (N is an integer), but the intra prediction can be performed not only in the forward direction but also in the non-directional size. In this case, the N x N size prediction unit may be set to be applied only in a specific case. An intra prediction unit having the same size as N x mN, mN x N, 2N x mN or mN x 2N (m is a fraction or an integer) may be further defined and used in addition to the prediction unit of the above-described size.

화면내 예측부(115)에서 생성된 예측 블록과 원본 블록 사이의 레지듀얼 값(레지듀얼 블록 또는 레지듀얼 신호)은 변환부(120)에 입력될 수 있다. 또한, 예측을 위하여 사용되는 예측 모드 정보, 보간 필터 정보 등은 레지듀얼 값과 함께 엔트로피 부호화부(135)에서 부호화되어 복호화기로 전달될 수 있다.A residual value (a residual block or a residual signal) between the prediction block and the original block generated by the intra prediction unit 115 may be input to the transform unit 120. [ In addition, the prediction mode information, the interpolation filter information, and the like used for prediction can be encoded by the entropy encoding unit 135 together with the residual value and transmitted to the decoder.

변환부(120)는 변환 단위로 원본 블록과 예측부(110, 115)를 통하여 생성된 예측 단위의 레지듀얼 값 정보를 포함하는 레지듀얼 블록을 DCT(Discrete Cosine Transform), DST(Discrete Sine Transform), KLT(Karhunen Loeve Transform)과 같은 변환 방법을 이용하여 변환시킬 수 있다. 레지듀얼 블록을 변환하기 위하여 DCT, DST 또는 KLT 를 적용할지는 레지듀얼 블록을 생성하기 위하여 사용된 예측 단위의 화면내 예측 모드 정보를 기초로 결정할 수 있다.The transforming unit 120 transforms the residual block including the residual value information of the prediction unit generated through the original block and the prediction units 110 and 115 into a DCT (Discrete Cosine Transform), a DST (Discrete Sine Transform) , And KLT (Karhunen Loeve Transform). Whether the DCT, DST, or KLT is applied to transform the residual block can be determined based on the intra prediction mode information of the prediction unit used to generate the residual block.

변환부(120)에서의 변환 블록은 TU일 수 있고, 정방형(square) 구조, 비정방형(non-square) 구조, 정방형 쿼드 트리(square quad tree) 구조, 비정방형 쿼드 트리(non-square quad tree) 구조 또는 바이너리 트리(binary tree) 구조를 가질 수 있다. 일 실시예에서, 변환 단위의 크기는 소정의 최대 및 최소 크기의 범위 내에서 정해질 수 있다. 또한, 하나의 변환 블록은 서브 변환 블록으로 더 분할될 수 있으며, 상기 서브 변환 블록들은 정방형(square) 구조, 비정방형(non-square) 구조, 정방형 쿼드 트리(square quad tree) 구조, 비정방형 쿼드 트리(non-square quad tree) 구조 또는 바이너리 트리(binary tree) 구조를 가질 수 있다.The transform block in transformer 120 may be a TU and may be a square, a non-square, a square quad tree structure, a non-square quad tree ) Structure or a binary tree structure. In one embodiment, the size of the conversion unit may be determined within a range of predetermined maximum and minimum sizes. Also, one transform block may be further divided into sub transform blocks, which may be a square structure, a non-square structure, a square quad tree structure, a non-square quad A non-square quad tree structure or a binary tree structure.

양자화부(125)는 변환부(120)에서 변환된 레지듀얼 값들을 양자화하여 양자화 계수를 생성할 수 있다. 일 실시예에서, 상기 변환된 레지듀얼 값들은 주파수 영역으로 변환된 값일 수 있다. 상기 양자화 계수는 변환 단위에 따라 또는 영상의 중요도에 따라 변경될 수 있으며, 양자화부(125)에서 산출된 값은 역양자화부(140) 및 재정렬부(130)에 제공될 수 있다.The quantization unit 125 may quantize the residual values transformed by the transform unit 120 to generate a quantization coefficient. In one embodiment, the transformed residual values may be a frequency domain transformed value. The quantization coefficient may be changed according to the conversion unit or the importance of the image and the value calculated by the quantization unit 125 may be provided to the dequantization unit 140 and the rearrangement unit 130.

재정렬부(130)는 양자화부(125)로부터 제공된 양자화 계수를 재정렬할 수 있다. 재정렬부(130)는 상기 양자화 계수를 재정렬함으로써 엔트로피 부호화부(135)에서의 부호화 효율을 향상시킬 수 있다. 재정렬부(130)는 계수 스캐닝(Coefficient Scanning) 방법을 통하여 2차원 블록 형태의 양자화 계수들을 1차원의 벡터 형태로 재정렬할 수 있다. 상기 계수 스캐닝 방법은 변환 단위의 크기 및 화면내 예측 모드에 따라 어떠한 스캔 방법이 사용될지 여부가 결정될 수 있다. 상기 계수 스캐닝 방법은 지그-재그 스캔, 2차원의 블록 형태의 계수를 열 방향으로 스캔하는 수직 스캔, 및 2차원의 블록 형태 계수를 행 방향으로 스캔하는 수평 스캔을 포함할 수 있다. 일 실시예에서, 재정렬부(130)는 양자화부에서 전송되는 계수들의 확률적인 통계를 기반으로 계수 스캐닝의 순서를 변경함으로써 엔트로피 부호화부(135)에서의 엔트로피 부호화 효율을 높일 수도 있다.The reordering unit 130 may rearrange the quantization coefficients provided from the quantization unit 125. [ The reordering unit 130 can improve the coding efficiency in the entropy encoding unit 135 by rearranging the quantization coefficients. The reordering unit 130 may rearrange the quantization coefficients of the two-dimensional block form into a one-dimensional vector form through a coefficient scanning method. In the coefficient scanning method, it may be determined which scanning method is used according to the size of the conversion unit and the intra prediction mode. The coefficient scanning method may include a jig-jag scan, a vertical scan that scans a coefficient of a two-dimensional block form in a column direction, and a horizontal scan that scans a block form coefficient of a two-dimensional row in a row direction. In one embodiment, the reordering unit 130 may increase the entropy encoding efficiency in the entropy encoding unit 135 by changing the order of the coefficient scanning based on the probabilistic statistics of the coefficients transmitted from the quantization unit.

엔트로피 부호화부(135)는 재정렬부(130)에 의하여 재정렬된 양자화 계수들에 대한 엔트로피 부호화를 수행할 수 있다. 엔트로피 부호화는 예를 들어, 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Content-Adaptive Binary Arithmetic Coding)과 같은 다양한 부호화 방법을 이용할 수 있다. The entropy encoding unit 135 may perform entropy encoding on the rearranged quantization coefficients by the rearrangement unit 130. For entropy encoding, various encoding methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC), and Content-Adaptive Binary Arithmetic Coding (CABAC) may be used.

엔트로피 부호화부(135)는 재정렬부(130) 및 예측부(110, 115)로부터 전달받은 코딩 유닛의 양자화 계수 정보 및 블록 타입 정보, 예측 모드 정보, 분할 단위 정보, 예측 유닛 정보 및 전송 단위 정보, 움직임 벡터 정보, 참조 픽처 정보, 블록의 보간 정보, 필터링 정보와 같은 다양한 정보를 부호화할 수 있다. 또한, 일 실시예에서 엔트로피 부호화부(135)는 필요한 경우에, 전송하는 파라미터 셋 또는 신택스에 일정한 변경을 가할 수도 있다. The entropy encoding unit 135 quantizes the quantization coefficient information, block type information, prediction mode information, division unit information, prediction unit information, and transmission unit information of the coding unit received from the reordering unit 130 and the prediction units 110 and 115, Various information such as motion vector information, reference picture information, interpolation information of a block, and filtering information can be encoded. Further, in one embodiment, the entropy encoding unit 135 may apply a certain change to the parameter set or syntax to be transmitted, if necessary.

역양자화부(140)는 양자화부(125)에서 양자화된 값들을 역양자화하고, 역변환부(145)는 역양자화부(140)에서 역양자화된 값들을 역변화한다. 역양자화부(140) 및 역변환부(145)에서 생성된 레지듀얼 값은 예측부(110,115)에서 예측된 예측 블록과 합쳐져 복원 블록(Reconstructed Block)이 생성될 수 있다. 상기 생성된 복원 블록들로 구성된 영상은 움직임 보상 영상 또는 MC 영상(Motion Compensated Picture)일 수 있다.The inverse quantization unit 140 dequantizes the quantized values in the quantization unit 125 and the inverse transformation unit 145 inversely changes the dequantized values in the inverse quantization unit 140. [ The residual values generated by the inverse quantization unit 140 and the inverse transform unit 145 may be combined with prediction blocks predicted by the prediction units 110 and 115 to generate a reconstructed block. The reconstructed block may be a motion compensated image or an MC image (Motion Compensated Picture).

상기 움직임 보상 영상은 필터부(150)에 입력될 수 있다. 필터부(150)는 디블록킹 필터부, 오프셋 보정부(Sample Adaptive Offset, SAO), 및 적응적 루프 필터부(Adaptive Loop Filter, ALF)를 포함할 수 있으며, 요약하자면, 상기 움직임 보상 영상는 디블록킹 필터부에서 디블록킹 필터가 적용되어 블록킹 잡음(blocking artifact)를 감소 또는 제거 시킨 후, 오프셋 보정부에 입력되어 오프셋을 보정시킬 수 있다. 상기 오프셋 보정부에서 출력된 픽처는 상기 적응적 루프 필터부에 입력되어 ALF(Adaptive Loop Filter) 필터를 통과하며, 상기 필터를 통과한 픽처는 메모리(155)로 전송될 수 있다.The motion compensation image may be input to the filter unit 150. The filter unit 150 may include a deblocking filter unit, a sample adaptive offset (SAO), and an adaptive loop filter (ALF). In summary, A deblocking filter is applied in the filter section to reduce or eliminate blocking artifacts, and then input to the offset correction section to correct the offset. The picture output from the offset correcting unit is input to the adaptive loop filter unit, passes through an ALF (Adaptive Loop Filter) filter, and the picture passed through the filter can be transmitted to the memory 155.

필터부(150)에 대하여 구체적으로 설명하면, 상기 디블록킹 필터부는 복원된 픽처에서 블록 간의 경계에 생성된 블록 내의 왜곡을 제거할 수 있다. 디블록킹을 수행할지 여부를 판단하기 위해서는 블록에 포함된 몇 개의 열 또는 행에 포함된 픽셀을 기초로 현재 블록에 디블록킹 필터를 적용할지 여부를 판단할 수 있다. 블록에 디블록킹 필터를 적용하는 경우, 필요한 디블록킹 필터링 강도에 따라 강한 필터(Strong Filter) 또는 약한 필터(Weak Filter)를 적용할 수 있다. 또한, 디블록킹 필터를 적용함에 있어 수직 필터링 및 수평 필터링 수행시 수평 방향 필터링 및 수직 방향 필터링이 병행 처리되도록 할 수 있다.To describe the filter unit 150 in detail, the deblocking filter unit can remove distortion in a block generated at a boundary between blocks in a reconstructed picture. In order to determine whether deblocking is to be performed, it may be determined whether to apply a deblocking filter to a current block based on pixels included in a few columns or rows included in the block. When a deblocking filter is applied to a block, a strong filter or a weak filter may be applied according to the required deblocking filtering strength. In applying the deblocking filter, horizontal filtering and vertical filtering may be performed concurrently in performing vertical filtering and horizontal filtering.

오프셋 보정부는 디블록킹 필터가 적용된 레지듀얼 블록에 대하여, 픽셀 단위로 원본 영상과의 오프셋을 보정할 수 있다. 특정 픽처에 대한 오프셋을 보정하기 위하여 영상에 포함된 픽셀을 일정한 수의 영역으로 구분한 후, 오프셋을 수행할 영역을 결정하고, 해당 영역에 오프셋을 적용하는 방법(Band Offset) 또는 각 픽셀의 에지 정보를 고려하여 오프셋을 적용하는 방법(Edge Offset)의 형태로 적용될 수 있다. 그러나, 일 실시예에서 화면간 예측에 사용되는 복원 블록에 대하여는 필터부(150)에서 필터링을 적용하지 아니할 수 있다.The offset correcting unit may correct the offset from the original image in units of pixels for the residual block to which the deblocking filter is applied. In order to correct an offset for a specific picture, a method of dividing a pixel included in an image into a predetermined number of regions, determining an area to be subjected to the offset, and applying an offset to the area (Band Offset) (Edge Offset) in which information is taken into consideration. However, in one embodiment, the filtering unit 150 may not apply the filtering to the reconstruction block used in inter-view prediction.

적응적 루프 필터부(Adaptive Loop Filter, ALF)는 필터링한 복원 영상과 원래의 영상을 비교한 값을 기초로, 고효율을 적용하는 경우에만 수행될 수 있다. 영상에 포함된 픽셀을 소정의 그룹으로 나눈 후, 해당 그룹에 적용될 하나의 필터를 결정하여 그룹마다 차별적으로 필터링을 수행할 수 있다. 상기 ALF를 적용할지 여부에 관련된 정보는 휘도 신호는 부호화 단위(Coding Unit, CU) 별로 전송될 수 있고, 각각의 블록에 따라 적용될 ALF 필터의 모양 및 필터 계수는 달라질 수 있다. 또한, 적용 대상 블록의 특성에 관계없이 동일한 형태(고정된 형태)의 ALF 필터가 적용될 수도 있다.The adaptive loop filter (ALF) can be performed only when high efficiency is applied based on a value obtained by comparing the filtered reconstructed image with the original image. After dividing the pixels included in the image into a predetermined group, one filter to be applied to the group may be determined and different filtering may be performed for each group. Information related to whether or not to apply the ALF may be transmitted for each coding unit (CU), and the shape and filter coefficient of an ALF filter to be applied may be different according to each block. In addition, an ALF filter of the same type (fixed form) may be applied regardless of the characteristics of the application target block.

메모리(155)는 필터부(150)을 통하여 산출된 복원 블록 또는 픽처를 저장할 수 있다. 메모리(155)에 저장된 복원 블록 또는 픽처는 화면간 예측을 수행하는 화면간 예측부(110) 또는 화면내 예측부(115)에 제공될 수 있다. 화면내 예측부(115)에서 사용되는 복원 블록들의 화소값은 디블록킹 필터부, 오프셋 보정부, 및 적응적 루프 필터부가 적용되지 아니한 데이터들 일 수 있다.The memory 155 may store restored blocks or pictures calculated through the filter unit 150. [ The restored block or the picture stored in the memory 155 may be provided to the inter-picture predicting unit 110 or the intra-picture predicting unit 115 for performing inter-picture prediction. The pixel values of the reconstruction blocks used in the intra prediction unit 115 may be data to which the deblocking filter unit, the offset correction unit, and the adaptive loop filter unit are not applied.

도 2는 본 발명의 일 실시예에 따른 영상 복호화 장치를 개략적으로 나타낸 블록도이다. 도 2 를 참조하면, 영상 복호화 장치(200)는 엔트로피 복호화부(210), 재정렬부(215), 역양자화부(220), 역변환부(225), 화면간 예측부(230), 화면내 예측부(235), 필터부(240), 메모리(245)를 포함한다.2 is a block diagram schematically showing an image decoding apparatus according to an embodiment of the present invention. 2, the image decoding apparatus 200 includes an entropy decoding unit 210, a reordering unit 215, an inverse quantization unit 220, an inverse transform unit 225, an inter-picture prediction unit 230, A filter unit 240, and a memory 245. The memory unit 245 includes a memory unit 235, a filter unit 240,

영상 부호화 장치로부터 영상 비트스트림이 입력되는 경우, 입력된 비트스트림은 부호화 장치에서 영상 정보가 처리된 절차의 역과정으로 복호화될 수 있다. 예를 들어, 영상 부호화 장치에서 엔트로피 부호화를 수행하기 위하여 CAVLC와 같은 가변 길이 부호화(Variable Length Coding: VLC, 이하 ?VLC?라 함)가 사용된 경우에는, 엔트로피 복호화부(210)도 부호화 장치에서 사용한 VLC 테이블과 동일한 VLC 테이블로 구현하여 엔트로피 복호화를 수행할 수 있다. 또한, 부호화 장치에서 엔트로피 부호화를 수행하기 위하여 CABAC을 이용한 경우에는 엔트로피 복호화부(210)에서 이에 대응하여 CABAC을 이용한 엔트로피 복호화를 수행할 수 있다.When an image bitstream is input from the image encoding apparatus, the input bitstream can be decoded in an inverse process of a process in which image information is processed in the encoding apparatus. For example, when variable length coding (VLC), such as CAVLC, is used to perform entropy coding in the image coding apparatus, the entropy decoding unit 210 is also used in an encoding apparatus It is possible to implement entropy decoding by implementing the same VLC table as the used VLC table. When CABAC is used to perform entropy encoding in the encoding apparatus, the entropy decoding unit 210 can perform entropy decoding using CABAC in correspondence thereto.

엔트로피 복호화부(210)에서는 복호화된 정보 중 예측 블록을 생성하기 위한 정보를 화면간 예측부(230) 및 화면내 예측부(235)로 제공하고, 엔트로피 복호화부에서 엔트로피 복호화가 수행된 레지듀얼 값은 재정렬부(215)로 입력될 수 있다.The entropy decoding unit 210 provides the information for generating a prediction block among the decoded information to the inter-picture predicting unit 230 and the intra-picture predicting unit 235. The entropy decoding unit 210 calculates residual values of entropy- May be input to the reordering unit 215. [

재정렬부(215)는 엔트로피 복호화부(210)에서 엔트로피 복호화된 비트스트림을 영상 부호화기에서 재정렬한 방법을 기초로 재정렬할 수 있다. 재정렬부(215)는 부호화 장치에서 수행된 계수 스캐닝에 관련된 정보를 제공받고 부호화 장치에서 수행된 스캐닝 순서에 기초하여 역으로 스캐닝하는 방법을 통하여 재정렬을 수행할 수 있다.The reordering unit 215 may rearrange the entropy-decoded bitstream in the entropy decoding unit 210 based on a method of rearranging the entropy-decoded bitstream in the image encoder. The reordering unit 215 can perform reordering by providing information related to the coefficient scanning performed by the encoder and performing a reverse scanning based on the scanning order performed by the encoder.

역양자화부(220)는 부호화 장치에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행할 수 있다. 역변환부(225)는 영상 부호화 장치에서 수행된 양자화 결과에 대하여, 부호화 장치의 변환부가 수행한 DCT, DST, 또는 KLT 에 대해 역DCT, 역DST, 또는 역KLT를 수행할 수 있다. 역변환은 부호화 장치에서 결정된 전송 단위 또는 영상의 분할 단위를 기초로 수행될 수 있다. 인코딩 장치의 변환부에서는 예측 방법, 현재 블록의 크기 및 예측 방향과 같은 정보에 따라 DCT, DST, 또는 KLT를 선택적으로 수행할 수 있고, 복호화 장치의 역변환부(225)는 부호화 장치의 변환부에서 수행된 변환 정보를 기초로 역변환 방법이 결정되어 역변환을 수행할 수 있다.The inverse quantization unit 220 may perform inverse quantization based on the quantization parameters provided by the encoding apparatus and the coefficient values of the re-arranged blocks. The inverse transform unit 225 may perform inverse DCT, inverse DST, or inverse KLT on the DCT, DST, or KLT performed by the transform unit of the encoding apparatus, on the quantization result performed by the image encoding apparatus. The inverse transform can be performed based on the transmission unit determined by the encoding apparatus or the division unit of the image. The transforming unit of the encoding apparatus can selectively perform DCT, DST, or KLT according to the prediction method, information such as the size and prediction direction of the current block, and the inverse transform unit 225 of the decoding apparatus transforms The inverse transform method is determined based on the transformed information to perform inverse transform.

예측부(230, 235)는 엔트로피 복호화부(210)에서 제공된 예측 블록 생성과 관련된 정보와 메모리(245)에서 제공된 이전에 복호화된 블록 및/또는 픽처 정보를 기초로 예측 블록을 생성할 수 있다. 복원 블록은 예측부(230, 235)에서 생성된 예측 블록과 역변환부(225)에서 제공된 레지듀얼 블록을 이용하여 생성될 수 있다. 예측부(230, 235)에서 수행하는 구체적인 예측의 방법은 부호화 장치의 예측부(110, 115)에서 수행되는 예측의 방법과 동일할 수 있다.The prediction units 230 and 235 may generate a prediction block based on the information related to the prediction block generation provided by the entropy decoding unit 210 and the previously decoded block and / or picture information provided in the memory 245. The reconstruction block may be generated using the prediction block generated by the prediction units 230 and 235 and the residual block provided by the inverse transform unit 225. [ The concrete prediction method performed by the prediction units 230 and 235 may be the same as the prediction method performed by the prediction units 110 and 115 of the encoding apparatus.

예측부(230, 235)는 예측 단위 판별부(미도시), 화면간 예측부(230), 및 화면내 예측부(235)를 포함할 수 있다. 예측 단위 판별부는 엔트로피 복호화부(210)에서 입력되는 예측 단위 정보, 화면내 예측 방법의 예측 모드 정보, 화면간 예측 방법의 움직임 예측 관련 정보와 같은 다양한 정보를 입력 받아, 현재 코딩 블록에서의 예측 블록을 구분하고, 예측 블록이 화면간 예측을 수행하는지 아니면 화면내 예측을 수행하는지 여부를 판별할 수 있다.The prediction units 230 and 235 may include a prediction unit determination unit (not shown), an inter picture prediction unit 230, and an intra prediction unit 235. The prediction unit determination unit receives various information such as prediction unit information input from the entropy decoding unit 210, prediction mode information of the intra prediction method, motion prediction related information of the inter picture prediction method, And it is possible to discriminate whether the prediction block performs intra-picture prediction or intra-picture prediction.

화면간 예측부(230)는 영상 부호화기에서 제공된 현재 예측 블록의 화면간 예측에 필요한 정보를 이용하여 현재 예측 블록이 포함된 현재 픽처의 이전 픽처 또는 이후 픽처 중 적어도 하나의 픽처에 포함된 정보를 기초로 현재 예측 블록에 대한 화면간 예측을 수행할 수 있다. The inter-picture predicting unit 230 predicts information included in at least one of a previous picture or a following picture of a current picture including a current prediction block, based on information necessary for inter-picture prediction of a current prediction block provided by an image encoder Inter prediction can be performed on the current prediction block.

구체적으로 화면간 예측에서는 현재 블록에 대하여, 참조 픽처를 선택하고 현재 블록과 동일한 크기의 참조 블록을 선택하여 현재 블록에 대한 예측 블록을 생성할 수 있다. 이 때, 참조 픽처의 정보를 이용하기 위하여, 현재 픽처의 주변 블록들의 정보를 이용할 수 있다. 예를 들어, 스킵(skip) 모드, 머지(merge) 모드, 및 AMVP(Advanced Motion Vector Prediction)와 같은 방법을 이용하여 주변 블록의 정보에 기반하여 현재 블록에 대한 예측 블록을 생성할 수 있다.Specifically, in the inter-picture prediction, a reference block having the same size as the current block is selected for a current block, and a prediction block for the current block can be generated. At this time, information of neighboring blocks of the current picture can be used to use the information of the reference picture. For example, a prediction block for a current block can be generated based on information of a neighboring block using a skip mode, a merge mode, and an AMVP (Advanced Motion Vector Prediction) method.

예측 블록은 1/2 픽셀 샘플 단위와 1/4 픽셀 샘플 단위와 같이 정수 이하의 샘플 단위로 생성될 수 있다. 이 경우, 움직임 벡터 역시 정수 픽셀 이하의 단위로 표현될 수 있다. 예를 들어, 휘도 픽셀에 대해서는 1/4 픽셀 단위로, 색차 픽셀에 대하여는 1/8 픽셀 단위로 표현될 수 있다.The prediction block can be generated in units of samples below integer, such as a half pixel sample unit and a quarter pixel sample unit. In this case, the motion vector may also be expressed in units of integer pixels or less. For example, it can be expressed in units of 1/4 pixel for luminance pixels and 1/8 pixels for chrominance pixels.

현재 블록의 화면간 예측에 필요한 움직임 벡터 및 참조 픽처 인덱스를 포함하는 움직임 정보는 부호화 장치로부터 수신한 스킵 플래그, 머지 플래그 등을 확인하고 이에 대응하여 유도될 수 있다.The motion information including the motion vector and the reference picture index necessary for inter-picture prediction of the current block can be derived corresponding to the skip flag and the merge flag received from the encoding device.

화면내 예측부(235)는 현재 픽처 내의 픽셀 정보를 기초로 예측 블록을 생성할 수 있다. 예측 단위가 화면내 예측을 수행한 예측 단위인 경우에는 영상 부호화기에서 제공된 예측 단위의 화면내 예측 모드 정보를 기초로 화면내 예측을 수행할 수 있다. 상기 예측 단위의 주변 블록들은 화면간 예측을 수행한 블록인 경우, 즉, 참조 픽셀이 화면간 예측을 수행한 픽셀인 경우에는 화면간 예측을 수행한 블록에 포함되는 참조 픽셀을 주변의 화면내 예측을 수행한 블록의 참조 픽셀 정보로 대체하여 사용할 수도 있다. The intra prediction unit 235 can generate a prediction block based on the pixel information in the current picture. If the prediction unit is a prediction unit that performs intra prediction, the intra prediction can be performed based on the intra prediction mode information of the prediction unit provided by the image encoder. In the case where the neighboring blocks of the predictive unit are the blocks on which the inter-view prediction is performed, that is, the reference pixels are the pixels performing the inter-view prediction, the reference pixels included in the block in which the inter- May be replaced with the reference pixel information of the block.

상기 참조 픽셀이 이용 가능하지 아니하는 경우(unavailable)에는 이를 이용 가능하도록 설정하는 것이 선행되어야 한다. 일반적으로 이와 같은 경우, 상기 이용 가능하지 아니한 참조 픽셀은 이용 가능한(available) 주변 화소값들 중 적어도 하나의 참조 픽셀로 대체하여 사용되거나 기설정된 샘플값을 할당하여 이용해왔다.If the reference pixel is unavailable, it must be set up to be available. Generally, in such a case, the unavailable reference pixel has been used by substituting at least one reference pixel among available neighbor pixel values or assigning a predetermined sample value.

그러나, 이러한 이용 가능하지 아니한 참조 픽셀에 이용 가능한 참조 픽셀을 복사하여 이용하는 방법은, 현재 영상의 복호화시 화면내 예측 부호화 효율을 저하시키는 문제점이 발생할 수 있다. 본 발명의 다양한 실시예에 따르면, 이러한 문제점을 해결하기 위하여, 변환 블록의 코딩시 이용 가능하지 아니한 참조 픽셀 영역보다는 이용 가능한 참조 픽셀 영역을 이용해 화면 내 예측을 수행할 수 있도록, 화면 내 예측 모드의 방향에 따라 변환 블록들의 코딩 순서를 다양한 방법으로 변경할 수 있다. 이와 관련된 자세한 설명은 후술하기로 한다.However, a method of copying and using reference pixels available for such unavailable reference pixels may cause a problem of degrading the intra-picture prediction coding efficiency in decoding the current image. According to various embodiments of the present invention, in order to solve this problem, in order to perform intra prediction using an available reference pixel area rather than a reference pixel area that is not available in the coding of a transform block, The coding order of the transform blocks can be changed in various ways depending on the direction. A detailed description related thereto will be described later.

또한, 화면내 예측부(235)는 화면내 예측 모드를 부호화하기 위하여 이웃 블록들로부터 획득한 가장 가능성 있는 화면내 예측 모드(MPM: Most Probable Mode)을 이용할 수 있다. 일 실시예에서, 상기 가장 가능성 있는 화면내 예측 모드는 현재 블록의 공간적 이웃 블록의 화면내 예측 모드를 이용할 수 있다. In addition, the intra prediction unit 235 may use the most probable intra prediction mode (MPM) obtained from the neighboring blocks to encode the intra prediction mode. In one embodiment, the most probable intra-picture prediction mode may use an intra-picture prediction mode of a spatial neighbor block of the current block.

일 실시예에서, 화면내 예측부(235)에서 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 서로 다를 수 있다. 예를 들어, 예측 단위로 예측 모드가 정해져 예측 단위로 예측이 수행될 수 있고, 예측 단위로 예측 모드가 정해지고 변환 단위로 화면내 예측이 수행될 수도 있다.In one embodiment, the processing unit in which the prediction is performed in the intra prediction unit 235, the prediction method, and the processing unit in which the concrete contents are determined may be different from each other. For example, the prediction mode may be determined as a prediction unit, the prediction may be performed in the prediction unit, the prediction mode may be determined in the prediction unit, and the intra prediction may be performed in the conversion unit.

이 경우, 예측 블록(PU)은 더 이상 분할되지 않는 코딩 블록(CU)으로부터 다양한 사이즈 및 형태로 결정될 수 있다. 예를 들어, 화면내 예측의 경우 예측 블록은 2N x 2N 또는 N x N (N은 정수)와 같은 크기를 가질 수 있으나, 이와 같은 정방향 크기 뿐만 아니라 비정방향 크기 모양인 N x mN, mN x N, 2N x mN 또는 mN x 2N (m은 분수 또는 정수임)으로도 화면내 예측을 수행할 수 있다. 이 경우, N x N 크기의 예측 단위는 특정한 경우에만 적용하도록 설정할 수도 있다. In this case, the prediction block PU may be determined in various sizes and shapes from the coding block (CU) which is not further divided. For example, in the case of the intra prediction, the prediction block may have the same size as 2N x 2N or N x N (N is an integer), but the N x mN, mN x N , 2N x mN or mN x 2N (m is a fraction or an integer). In this case, the N x N size prediction unit may be set to be applied only in a specific case.

또한, 변환 블록(TU)도 다양한 사이즈 및 형태로 결정될 수 있다. 예를 들어, 변환 블록은 2N x 2N 또는 N x N (N은 정수)와 같은 크기를 가질 수 있으나, 이와 같은 정방향 크기 뿐만 아니라 비정방향 크기 모양인 N x mN, mN x N, 2N x mN 또는 mN x 2N (m은 분수 또는 정수임)으로도 화면내 예측을 수행할 수 있다. 이 경우, N x N 크기의 예측 단위는 특정한 경우에만 적용하도록 설정할 수도 있다. 일 실시예에서, 변환 블록은 정방형(square) 구조, 비정방형(non-square) 구조, 정방형 쿼드 트리(square quad tree) 구조, 비정방형 쿼드 트리(non-square quad tree) 구조, 또는 바이너리 트리(binary tree) 구조로 갖는 블록들 중 하나일 수 있다. 일 실시예에서, 변환 블록의 크기는 소정의 최대 및 최소 크기의 범위 내에서 정해질 수 있다. 또한, 하나의 변환 블록은 서브 변환 블록으로 분할될 수 있으며, 이 경우 상기 서브 변환 블록들도 정방형(square) 구조, 비정방형(non-square) 구조, 정방형 쿼드 트리(square quad tree) 구조, 비정방형 쿼드 트리(non-square quad tree) 구조, 또는 바이너리 트리(binary tree) 구조로 분할될 수 있다. Also, the transform block TU may be determined in various sizes and shapes. For example, the transform block may have a size such as 2N x 2N or N x N (where N is an integer), but not only such a normal size but also N x mN, mN x N, 2N x mN, mN x 2N (m is a fraction or an integer). In this case, the N x N size prediction unit may be set to be applied only in a specific case. In one embodiment, the transform block may be a square, a non-square, a square quad tree, a non-square quad tree, or a binary tree binary tree structure. In one embodiment, the size of the transform block may be determined within a range of predetermined maximum and minimum sizes. In addition, one transform block may be divided into sub-transform blocks. In this case, the sub transform blocks may have a square structure, a non-square structure, a square quad tree structure, A quad-tree structure, a non-square quad tree structure, or a binary tree structure.

화면내 예측부(235)에는 AIS(Adaptive Intra Smoothing) 필터부, 참조 픽셀 보간부, DC 필터부를 포함할 수 있다. 상기 AIS 필터부는 현재 블록의 참조 픽셀에 필터링을 수행하는 부분으로써 현재 예측 단위의 예측 모드에 따라 필터의 적용 여부를 결정하여 적용할 수 있다. 영상 부호화기에서 제공된 예측 단위의 예측 모드 및 AIS 필터 정보를 이용하여 현재 블록의 참조 픽셀에 AIS 필터링을 수행할 수 있다. 현재 블록의 예측 모드가 AIS 필터링을 수행하지 아니하는 모드인 경우에는, 상기 AIS 필터부는 현재 블록에 적용되지 아니할 수 있다.The intra picture prediction unit 235 may include an AIS (Adaptive Intra Smoothing) filter unit, a reference pixel interpolation unit, and a DC filter unit. The AIS filter unit performs filtering on the reference pixels of the current block, and may determine whether to apply the filter according to the prediction mode of the current prediction unit. The AIS filtering can be performed on the reference pixels of the current block using the prediction mode of the prediction unit provided in the image encoder and the AIS filter information. If the prediction mode of the current block is a mode in which AIS filtering is not performed, the AIS filter unit may not be applied to the current block.

참조 픽셀 보간부는 예측 단위의 예측 모드가 참조 픽셀을 보간한 샘플값을 기초로 화면내 예측을 수행하는 예측 단위인 경우에, 참조 픽셀을 보간하여 정수값 이하의 픽셀 단위의 참조 픽셀을 생성할 수 있다. 현재 예측 단위의 예측 모드가 참조 픽셀을 보간하지 아니하고 예측 블록을 생성하는 예측 모드인 경우, 참조 픽셀은 보간되지 아니할 수 있다. DC 필터부는 현재 블록의 예측 모드가 DC 모드인 경우에 필터링을 통하여 예측 블록을 생성할 수 있다.The reference pixel interpolator can interpolate a reference pixel to generate a reference pixel in a pixel unit less than an integer value when the prediction mode of the prediction unit is a prediction unit that performs intra-frame prediction based on a sample value obtained by interpolating a reference pixel have. If the prediction mode of the current prediction unit does not interpolate the reference pixel and generates a prediction block, the reference pixel may not be interpolated. The DC filter unit may generate a prediction block through filtering when the prediction mode of the current block is the DC mode.

복원된 블록 및/또는 픽처는 필터부(240)로 제공될 수 있다. 필터부(240)는 복원된 블록 및/또는 픽처에 디블록킹 필터부, 오프셋 보정부(Sample Adaptive Offset) 및/또는 적응적 루프 필터부를 포함할 수 있다. 상기 디블록킹 필터부는 영상 부호화기로부터 해당 블록 또는 픽처에 디블록킹 필터가 적용되었는지 여부를 나타내는 정보 및 디블록킹 필터가 적용된 경우 강한 필터 또는 약한 필터를 적용하였는지를 나타내는 정보를 제공받을 수 있다. 상기 디블록킹 필터부는 영상 부호화기에서 제공된 디블록킹 필터 관련 정보를 제공받고, 영상 복호화기에서 해당 블록에 대한 디블록킹 필터링을 수행할 수 있다.The restored blocks and / or pictures may be provided to the filter unit 240. The filter unit 240 may include a deblocking filter unit, a sample adaptive offset, and / or an adaptive loop filter unit on the restored block and / or the picture. The deblocking filter unit may receive information indicating whether a deblocking filter is applied to a corresponding block or a picture from the image encoder and information indicating whether a strong or weak filter is applied when a deblocking filter is applied. The deblocking filter unit may receive the deblocking filter related information provided by the image encoder and may perform deblocking filtering on the corresponding block in the image decoder.

상기 오프셋 보정부는 부호화시 영상에 적용된 오프셋 보정의 종류 및 오프셋 값 정보 등을 기초로 복원된 영상에 오프셋 보정을 수행할 수 있다. 상기 적응적 루프 필터부는 부호화기로부터 제공된 적응적 루프 필터의 적용 여부에 관한 정보, 적응적 루프 필터의 계수 정보와 같은 정보들을 기초로 부호화 단위로 적용될 수 있다. 상기 적응적 루프 필터와 관련된 정보들은 특정 파라미터 셋(parameter set)에 포함되어 제공될 수 있다.The offset correcting unit may perform offset correction on the reconstructed image based on the type and offset value information of the offset correction applied to the image at the time of encoding. The adaptive loop filter unit may be applied as a coding unit based on information such as information on whether the adaptive loop filter provided from the encoder is applied or coefficient information of the adaptive loop filter. The information associated with the adaptive loop filter may be provided in a specific parameter set.

메모리(245)는 복원된 픽처 또는 블록을 저장하여 이후에 참조 픽처 또는 참조 블록으로 사용할 수 있고, 또한 복원된 픽처를 출력부로 제공할 수 있다.The memory 245 stores the reconstructed picture or block, and can later use the reconstructed picture or reference block as a reference picture or reference block, and can provide the reconstructed picture to the output unit.

본 명세서에서는 설명의 편의를 위하여 생략하였지만, 복호화 장치에 입력되는 비트스트림은 파싱(parsing) 단계를 거쳐 엔트로피 복호화부로 입력될 수 있다. 또한, 엔트로피 복호화부에서 파싱 과정을 수행하도록 할 수 있다.Although omitted herein for the sake of convenience, the bit stream input to the decoding apparatus may be input to the entropy decoding unit through a parsing step. In addition, the entropy decoding unit may perform the parsing process.

본 명세서에서 코딩은 경우에 따라 부호화 또는 복호화로 해석될 수 있고, 정보(information)는 값(values), 파라미터(parameter), 계수(coefficients), 성분(elements), 플래그(flag) 등을 모두 포함하는 것으로 이해될 수 있다. '화면' 또는 '픽처(picture)'는 일반적으로 특정 시간대의 하나의 영상을 나타내는 단위를 의미하며, '슬라이스(slice)', '프레임(frame)' 등은 실제 비디오 신호의 코딩에 있어서 픽처의 일부를 구성하는 단위이며, 필요에 따라서는 픽처와 서로 혼용되어 사용될 수 있다.In this specification, coding may be interpreted as encoding or decoding in some cases, and information includes both values, parameters, coefficients, elements, flags, and the like. . ≪ / RTI > A 'slice', a 'frame', or the like refers to a unit of a picture in a specific time zone, and a 'picture' Is a unit constituting a part, and can be used in combination with a picture as needed.

'픽셀(pixel)', '픽셀' 또는 'pel'은 하나의 영상을 구성하는 최소의 단위를 나타낸다. 또한, 특정한 픽셀의 값을 나타내는 용어로서, '샘플(sample)'을 사용할 수 있다. 샘플은 휘도(Luma) 및 색차(Chroma) 성분으로 나누어질 수 있으나, 일반적으로는 이를 모두 포함하는 용어로 사용될 수 있다. 상기에서 색차 성분은 정해진 색상들 간의 차이를 나타내는 것으로 일반적으로 Cb 및 Cr로 구성된다.'Pixel', 'pixel' or 'pel' represents the smallest unit of a single image. Also, as a term indicating the value of a specific pixel, 'sample' can be used. The sample may be divided into luminance (Luma) and chroma (chroma) components, but generally it can be used as a term including both of them. The chrominance component represents a difference between predetermined colors, and is generally composed of Cb and Cr.

'유닛(unit)'은 상술한 부호화 유닛, 예측 유닛, 변환 유닛과 같이 영상 처리의 기본 단위 또는 영상의 특정 위치를 지칭하며, 경우에 따라서는 '블록' 또는 '영역(area)'등의 용어와 서로 혼용하여 사용될 수 있다. 또한, 블록은 M개의 열과 N개의 행으로 구성된 샘플들 또는 변환 계수(transform coefficient)들의 집합을 나타내는 용어로 사용될 수도 있다.A 'unit' refers to a specific unit of an image processing unit or an image, such as the encoding unit, the prediction unit, and the conversion unit described above. In some cases, terms such as 'block' or 'area' Can be used in combination with each other. The block may also be used as a term indicating a set of samples or transform coefficients consisting of M columns and N rows.

도 3은 종래 기술에 따른 현재 블록에 대한 코딩 블록을 설명하기 위한 것이다. FIG. 3 illustrates a coding block for a current block according to the prior art.

도 3을 참조하면, 현재 블록(10)에 해당하는 영상은 동일한 크기의 정방형(square) 코딩 블록들(11, 12, 13, 14)을 이용하여 부호화 또는 복호화될 수 있다. 예를 들어, 현재 블록(10)의 영상이 현재 블록 내에서 한쪽에 치우쳐 정방형 코딩 블록들 중 CU1(12) 및 CU3(14)에만 위치하는 경우에도, 4 개의 정방형 코딩 블록으로 분할되어 실제 영상이 존재하지 아니하는 코딩 블록인 CU0(11) 및 CU2(13)도 부호화 또는 복호화 하여야 하므로, 상기 CU0(11) 및 CU2(13)에 대한 예측 모드 및 예측 정보도 전송하여야 한다. 이와 같은 방법은, 해당 블록의 영상의 특징과는 관계없이 전송하여야 하는 정보들이 많기 때문에 부호화 효율을 저하시킬 수 있다. 이러한 문제점을 해결하기 위하여 본 발명의 일 실시예에 따른 코딩 블록은 정방형 코딩 블록 뿐만 아니라, 비정방형(non-square) 코딩 블록을 포함할 수 있다.Referring to FIG. 3, an image corresponding to the current block 10 may be encoded or decoded using square-sized coding blocks 11, 12, 13, and 14 of the same size. For example, even when the image of the current block 10 is shifted to one side in the current block and located only in the CU1 12 and the CU3 14 among the square coding blocks, the image is divided into four square coding blocks, The CU0 11 and the CU2 13 which are not present in the CU0 11 and the CU2 13 must also be encoded or decoded so that the CU0 11 and the CU2 13 should also transmit the prediction mode and prediction information. In such a method, since there are many pieces of information to be transmitted irrespective of the characteristics of the image of the block, the coding efficiency can be lowered. In order to solve such a problem, a coding block according to an embodiment of the present invention may include a non-square coding block as well as a square coding block.

도 4a 내지 도 4c는 본 발명의 일 실시예에 따른 현재 블록의 비정방형 코딩 블록들의 예시를 나타내는 것이다.4A to 4C illustrate examples of non-square coding blocks of a current block according to an embodiment of the present invention.

도 4a 내지 도 4c에 나타난 바와 같이, 코딩 블록은 비정방형 코딩 블록을 포함할 수 있다. 또한, 각 코딩 블록마다 예측 모드와 예측 정보들은 독립적으로 결정되어 전송될 수 있다. 일 실시예에서, 상기 비정방형 코딩 블록은 가로 방향보다 세로 방향의 길이가 더 긴 세로 방향의 비정방형 코딩 블록 및 세로 방향보다 가로 방향의 길이가 더 긴 가로 방향의 비정방형 코딩 블록을 포함할 수 있다.As shown in FIGS. 4A-4C, the coding block may include non-square coding blocks. Also, the prediction mode and prediction information for each coding block can be independently determined and transmitted. In one embodiment, the non-square coding block may include a longitudinal non-square coding block having a longer length in the longitudinal direction than the lateral direction and a non-square coding block in the horizontal direction longer in the lateral direction than the longitudinal direction. have.

먼저 도 4a를 참조하면, 현재 블록을 코딩하기 위한 코딩 블록(21 내지 27)은 세로 방향의 비정방형 모양의 코딩 블록들(21, 24, 25)을 포함하는 예시를 나타낸다. 예를 들어, 세로 방향의 비정방형 코딩 블록은 16 x 32 의 크기를 갖거나(21) 8 x 32 의 크기를 가질 수 있으나(24, 25), 본 발명에서 코딩 블록의 가로 및 세로 크기 비율은 제한되지 아니한다. 일 실시예에서, 세로 방향의 비정방형 모양의 코딩 블록들은 현재 블록에 해당하는 영상이 가로 방향에 비하여 세로 방향으로 변화가 큰 경우 이용될 수 있다. First, referring to FIG. 4A, coding blocks 21 to 27 for coding a current block represent an example including coding blocks 21, 24 and 25 of non-square shape in the longitudinal direction. For example, vertically oriented non-square coding blocks may have a size of 16 x 32 (21) and a size of 8 x 32 (24, 25), but the aspect ratio of the coding block in the present invention is It is not limited. In one embodiment, the non-square shaped coding blocks in the vertical direction can be used when the image corresponding to the current block is largely changed in the vertical direction as compared with the horizontal direction.

또한, 도 4b를 참조하면, 현재 블록을 코딩하기 위한 코딩 블록(31 내지 37)은 가로 방향의 비정방형 모양의 코딩 블록들(31, 34, 35)을 포함하는 예시를 나타낸다. 예를 들어, 가로 방향의 비정방형 코딩 블록은 32 x 16 의 크기를 갖거나(31) 32 x 8 의 크기를 가질 수 있으나(34, 35), 본 발명에서 코딩 블록의 가로 및 세로 크기 비율은 제한되지 아니한다. 일 실시예에서, 가로 방향의 비정방형 모양의 코딩 블록들은 현재 블록에 해당하는 영상이 세로 방향에 비하여 가로 방향으로 변화가 큰 경우 이용될 수 있다. 그러나, 이는 예시일 뿐, 현재 블록을 위하여 어느 방향의 비정방형 코딩 블록을 이용하는지 여부의 결정 방법은 본 발명에서 제한하지 아니하며, 비정방형 코딩 블록의 최대 및 최소 크기도 제한하지 아니한다. 또한, 비정방형 코딩 블록의 개수 및 가로 길이와 세로 길이와의 비율도 제한하지 아니하며, 현재 블록은 1:N 으로도 분할될 수 있다.4B, the coding blocks 31 to 37 for coding the current block represent an example including the non-square shaped coding blocks 31, 34 and 35 in the horizontal direction. For example, the horizontal non-square coding block may have a size of 32 x 16 (31) or 32 x 8 (34, 35), but the ratio of the horizontal and vertical size of the coding block It is not limited. In one embodiment, the non-square shaped coding blocks in the horizontal direction can be used when the image corresponding to the current block is largely changed in the horizontal direction as compared with the vertical direction. However, this is merely an example, and a method for determining whether or not to use the non-square coding block in which direction for the current block is not limited in the present invention and does not limit the maximum and minimum size of the non-square coding block. Also, the number of non-square coding blocks and the ratio of the horizontal length to the vertical length are not limited, and the current block can be also divided into 1: N.

일 실시예에서는, 현재 코딩 블록(CU)에 대응되는 예측 블록(PU)을 별도로 설정하는 것이 아니라 현재 코딩 블록(CU)이 그대로 예측 블록(PU)으로 이용될 수 있다. 이 경우에도 코딩 블록(CU)은 일반적인 방법과 같이 정방향 블록의 모양 뿐만 아니라, 비정방향 블록일 수 있고, 상기 코딩 블록(CU)들을 포함하는 현재 블록은 1:N 분할 구조를 갖는 것도 가능하다. 또한, 다른 실시예에서는, 현재 코딩 블록(CU)이 예측 블록(PU) 및 변환 블록(TU)으로 모두 동일하게 이용될 수도 있으며, 이 경우에도 상술한 바와 같이 현재 코딩 블록을 포함하는 현재 블록이 정방형 블록들로 분할되는 구조, 비정방형 블록들로 분할되는 구조, 및 1:N 로 분할되는 구조들을 이용하여 분할될 수 있다. In one embodiment, not the prediction block PU corresponding to the current coding block CU but the current coding block CU can be directly used as the prediction block PU. Also in this case, the coding block CU may be a non-forward block as well as a forward block as in a general method, and a current block including the coding blocks CU may have a 1: N division structure. Also, in another embodiment, the current coding block (CU) may be used equally to both the prediction block (PU) and the transform block (TU), and in this case also, the current block containing the current coding block Can be divided using a structure divided into square blocks, a structure divided into non-square blocks, and structures divided into 1: N.

도 4c를 참조하면, 코딩 트리 블록(Coding Tree Unit, CTU)은 다양한 크기의 정방형 코딩 블록(CB0 내지 CB4, CB8, CB9, CB11, CB12, CB15) 및 다양한 크기의 비정방형 코딩 블록(CB5 내지 CB7, CB10, CB13, CB14, CB17 내지 CB19)을 포함할 수 있다. 이와 같이, 정방형 코딩 블록 뿐만 아니라 비정방형 코딩 블록을 이용하여 현재 블록을 코딩함으로써, 불필요한 예측 모드 및 예측 정보의 전송을 감소시킴으로써 코딩 효율을 향상시킬 수 있다.Referring to FIG. 4C, a coding tree unit (CTU) includes square-shaped coding blocks CB0 to CB4, CB8, CB9, CB11, CB12 and CB15 of various sizes and non-square coding blocks CB5 to CB7 , CB10, CB13, CB14, CB17 to CB19). As described above, by coding the current block using the square coding block as well as the non-square coding block, it is possible to improve the coding efficiency by reducing the transmission of the unnecessary prediction mode and the prediction information.

종래의 비디오 신호의 코딩에 있어서, 코딩 블록으로서 정방형 블록만을 이용할 뿐 아니라, 변환 블록으로서도 정방형 변환 블록만을 사용하였다. 각 코딩 블록 또는 예측 블록의 크기에 기초하는 변환 블록들은 쿼드트리 분할 구조로 재분할 될 수 있으며, 예를 들어, 하나의 변환 블록을 쿼드트리 구조로 분할하는 경우, 상기 변환 블록은 4 개의 정방형 서브 변환 블록들로 분할될 수 있다. 이러한 정방형 변환 블록들만 이용하는 종래의 코딩 방법은 코딩 블록에 해당하는 영상의 특성과 예측 모드에 따라 발생되는 잔차 신호의 특성을 고려하기 어려운 점이 있다. 따라서, 본 발명의 일 실시예에 따른 비디오 신호의 코딩 방법은 비정방형 코딩 블록 뿐 아니라, 변환 블록으로서 비정방형 변환 블록 및 비정방형 서브 변환 블록을 이용할 수 있다. In the coding of a conventional video signal, not only a square block is used as a coding block but only a square conversion block is used as a conversion block. The transform blocks based on the size of each coding block or prediction block can be subdivided into a quadtree partition structure. For example, when one transform block is divided into a quad tree structure, the transform block has four square sub- Blocks. Conventional coding methods using only such square transform blocks are difficult to consider characteristics of an image corresponding to a coding block and characteristics of a residual signal generated according to a prediction mode. Therefore, the coding method of a video signal according to an embodiment of the present invention can use non-square transform blocks and non-square transform blocks as transform blocks, as well as non-square coding blocks.

도 5a 내지 도 6c는 본 발명의 일 실시예에 따른 현재 코딩 블록을 위한 변환 블록들의 예시를 나타내는 것이다. 도 5a 및 도 5b는 N x N 크기의 정방형의 현재 코딩 블록(미도시)에 대한 초기 변환 블록의 구성의 예시이고, 도 6a 내지 도 6c는 비정방형의 현재 코딩 블록에 대한 초기 변환 블록의 구성을 나타내는 것이다.Figures 5A-6C illustrate examples of transform blocks for a current coding block according to an embodiment of the present invention. FIGS. 5A and 5B are examples of the configuration of an initial transform block for a current coding block (not shown) of a square of N x N size, and FIGS. 6A to 6C illustrate a configuration of an initial transform block for a non-square current coding block Lt; / RTI >

정방형의 현재 코딩 블록에 대하여 하나 또는 다수의 변환 블록들을 이용하는 경우, 현재 코딩 블록을 구성하는 변환 블록은 정방형 변환 블록 및 비정방형 변환 블록을 포함할 수 있다. 상기 변환 블록은 변환 매트릭스를 이용하여 잔차 신호를 주파수 영역으로 변환할 수 있다. When one or a plurality of transform blocks are used for a current coding block in a square, the transform block constituting the current coding block may include a square transform block and a non-square transform block. The transform block may transform the residual signal into a frequency domain using a transform matrix.

도 5a를 참조하면, 정방형 코딩 블록은 초기 변환 블록의 구성으로서 하나의 정방형 변환 블록(41) 또는 4 개의 정방형 변환 블록들(42 내지 45)로 구성될 수 있다. 또한, 도 5b를 참조하면, 정방형 코딩 블록을 이용하는 경우에는 초기 변환 블록으로서 2 개의 비정방형 변환 블록(46 내지 48) 또는 4 개의 비정방형 변환 블록(51 내지 58)으로 구성될 수 있다. 상기 2 개의 비정방형 변환 블록은 N/2 x N 크기의 세로 방향의 비정방형 변환 블록(46, 47) 또는 N x N/2 크기의 가로 방향의 비정방형 변환 블록(48, 49)일 수 있고, 상기 4 개의 비정방형 변환 블록은 N/4 x N 크기의 세로 방향의 비정방형 변환 블록(51 내지 54) 또는 N x N/4 크기의 가로 방향의 비정방형 변환 블록(55 내지 58)일 수 있다.Referring to FIG. 5A, the square coding block may be constituted by one square transform block 41 or four square transform blocks 42 to 45 as a configuration of an initial transform block. Referring to FIG. 5B, in the case of using a square coding block, it may be composed of two non-square conversion blocks 46 to 48 or four non-square conversion blocks 51 to 58 as an initial conversion block. The two non-square conversion blocks may be N / 2 x N longitudinal non-square conversion blocks 46 and 47 or N x N / 2 horizontal non-square conversion blocks 48 and 49 , The four non-square conversion blocks may be N / 4 x N longitudinal non-square conversion blocks 51 to 54 or N x N / 4 horizontal non-square conversion blocks 55 to 58 have.

이와 같이, 정방형 코딩 블록을 위한 변환 블록을 구성하는 경우, 정방형 변환 블록 뿐만 아니라, 비정방형 변환 블록으로 초기 변환 블록을 구성할 수 있다. 앞서 2 개 또는 4 개의 비정방형 변환 블록을 예시하였으나, 본 발명에서 비정방형 변환 블록의 크기 및 개수는 이에 한정되지 아니한다. 또한, 현재 코딩 블록이 화면내 예측을 수행하는 경우, 화면 내 예측 모드의 방향성에 따라 현재 코딩 블록의 변환 블록 구성을 상이하게 결정할 수 있다. 예를 들면, 현재 코딩 블록이 수직 방향의 화면 내 예측 모드를 이용하는 경우에는 현재 코딩 블록에 대한 변환 블록으로서 가로로 분할된 비정방형 변환 블록을 이용함으로써, 상단의 복호된 참조 샘플들을 이용하여 현재 변환 블록이 예측 신호를 생성할 수 있게 된다. In this manner, when a transform block for a square coding block is constructed, an initial transform block can be constituted by a square transform block as well as a non-square transform block. Although two or four non-square conversion blocks have been described above, the size and the number of the non-square conversion blocks in the present invention are not limited thereto. In addition, when the current coding block performs intra prediction, the transform block configuration of the current coding block can be determined differently according to the direction of the intra prediction mode. For example, when the current coding block uses the in-picture intra prediction mode in the vertical direction, by using the non-square transform block that is horizontally divided as the transform block for the current coding block, The block can generate the prediction signal.

도 6a 내지 도 6d를 참조하는 일 실시예에 따르면, 비정방형의 현재 코딩 블록(미도시)에 대하여 하나 또는 다수의 변환 블록들을 이용하는 경우에도, 현재 코딩 블록을 구성하는 변환 블록은 정방형 변환 블록 및 비정방형 변환 블록을 포함할 수 있다. 6A to 6D, even in the case of using one or a plurality of transform blocks with respect to a non-square current coding block (not shown), the transform block constituting the current coding block includes a square transform block Square conversion block.

도 6a를 참조하면, 본 발명에서 코딩 블록은 가로 길이(A)와 세로 길이(B)가 상이한 비정방형 코딩 블록(60a, 60b)일 수 있다. 이 경우, 현재 비정방형의 코딩 블록을 하나 또는 다수의 변환 블록들로 초기 구성할 때, 코딩 블록을 균등하게 분할하기 위하여 정방형 변환 블록을 이용하거나 비정방형 변환 블록을 이용할 수 있다.Referring to FIG. 6A, in the present invention, the coding block may be non-square coding blocks 60a and 60b having different widths A and B from each other. In this case, when the current non-square coding block is initially configured with one or a plurality of transform blocks, a square transform block may be used or a non-square transform block may be used to evenly divide the coding block.

도 6b를 참조하면, 비정방형 코딩 블록(60a, 60b)을 위한 초기 변환 블록 구성으로서 N 개의 a x a 크기의 정방형 변환 블록(61)이 이용될 수 있다. 이 경우, 정방형 변환 블록(61)의 가로 및 세로 길이인 a 는 비정방형 코딩 블록의 가로 및 세로 길이 중 작은 길이와 동일할 수 있다. 일 실시예에서는, 정방형 변환 블록(61)의 가로 및 세로 길이를 상위 파라미터로부터 계산하거나 기설정된 방법을 통하여 획득할 수 있다.Referring to FIG. 6B, as the initial transform block configuration for the non-square coding blocks 60a and 60b, N a x a size square transform blocks 61 may be used. In this case, the horizontal and vertical length a of the square transform block 61 may be the same as the smallest of the horizontal and vertical lengths of the non-square coding block. In one embodiment, the horizontal and vertical lengths of the square transform block 61 can be calculated from the upper parameters or obtained through a predetermined method.

도 6c를 참조하면, 비정방형 코딩 블록(60a, 60b)을 위한 초기 변환 블록의 구성으로서 M (여기서 M은 정수)개의 비정방형 변환 블록(62 내지 65)이 이용될 수 있다. 상기 비정방형 변환 블록(62, 63)은 비정방형 코딩 블록(60a)와 동일한 크기일 수 있고, 또는, 비정방형 코딩 블록(60a, 60b) 보다 작은 크기의 비정방형 변환 블록(64, 65)일 수도 있다. 일 실시예에서, 비정방형 변환 블록(62, 63)의 가로 길이(a) 및 세로 길이(b)는 코딩 블록(60a, 60b)의 가로 및 세로 길이와 동일하게 설정될 수 있다. 다른 실시예에서는, 비정방형 변환 블록(64, 65)의 가로 및 세로 길이를 상위 파라미터로부터 계산하거나 기설정된 방법을 통하여 획득할 수 있다.Referring to FIG. 6C, M (where M is an integer) number of non-square transform blocks 62 to 65 may be used as an initial transform block configuration for the non-square coding blocks 60a and 60b. The non-square conversion blocks 62 and 63 may be the same size as the non-square coding block 60a or the non-square conversion blocks 64 and 65 smaller than the non-square coding blocks 60a and 60b It is possible. In one embodiment, the horizontal length (a) and the vertical length (b) of the non-square conversion blocks 62 and 63 may be set equal to the horizontal and vertical lengths of the coding blocks 60a and 60b. In another embodiment, the transverse and vertical lengths of the non-square transform blocks 64 and 65 may be computed from the upper parameters or obtained through a predetermined method.

또한, 도 6d를 참조하면, 비정방형 코딩 블록(60a, 60b)을 위한 초기 변환 블록의 구성으로서 쿼드트리 구조의 M 개의 비정방형 또는 정방형 변환 블록(66, 67)이 이용될 수 있다. 상기 비정방형 또는 정방형 변환 블록(66, 67)은 비정방형 코딩 블록보다 작은 크기의 블록으로서 상기 비정방형 코딩 블록의 크기가 커 변환 블록 하나로 대응되지 아니하는 경우, 이용될 수 있다. 본 발명에서는 쿼드트리 구조의 변환 블록들에 대하여 설명하지만, 상기 비정방형 또는 정방형 변환 블록(66, 67)의 개수는 이에 한정되지 아니한다.6D, M non-square or square transform blocks 66 and 67 of a quad tree structure may be used as the configuration of the initial transform block for non-square coding blocks 60a and 60b. The non-square or square conversion block 66, 67 may be used when the size of the non-square coding block is not corresponded to one large conversion block as a block smaller than the non-square coding block. Although the conversion blocks of the quad tree structure are described in the present invention, the number of the non-square or square conversion blocks 66 and 67 is not limited thereto.

현재 코딩 블록을 구성하는 변환 블록은 더 작은 크기의 서브 변환 블록들로 분할될 수 있다. 상기 서브 변환 블록들은 각각 독립적인 변환 과정을 수행하여 변환 계수를 생성할 수 있으며, 다양한 모양 및 크기를 가질 수 있다. 또한, 상기 서브 변환 블록들로 분할되기 이전의 상위 변환 블록의 크기 및 모양에 기초하여 분할 방법을 다르게 결정할 수 있고, 상기 상위 변환 블록의 모양와 독립적으로 상이한 모양을 가질 수 있다.The transform block constituting the current coding block can be divided into sub-transform blocks of a smaller size. The sub-transform blocks may perform independent transform processes to generate transform coefficients, and may have various shapes and sizes. In addition, the dividing method can be determined differently based on the size and shape of the upper transform block before being divided into the sub transform blocks, and the shape can be different from the shape of the upper transform block independently.

도 7a 내지 도 10 은 본 발명의 일 실시예에 따른 서브 변환 블록의 예시를 나타내는 것이다. 도 7a 내지 도 7d는 변환 블록이 정방형 변환 블록인 경우 상기 변환 블록의 서브 변환 블록들의 예시를 나타낸 것이고, 도 8a 내지 도 8d는 변환 블록이 세로 방향의 비정방형 변환 블록인 경우, 서브 변환 블록들의 예시를 나타낸 것이며, 도 9a 내지 도 9d는 가로 방향의 비정방형 변환 블록에 대한 서브 변환 블록들의 예시를 나타낸 것이다. 또한, 도 10은 여러가지 서브 변환 블록들로 구성된 변환 블록을 나타낸 것이다.7A-10 illustrate examples of sub-transform blocks in accordance with an embodiment of the present invention. FIGS. 7A to 7D show examples of sub-transform blocks of the transform block when the transform block is a square transform block, and FIGS. 8A to 8D show the case where the transform block is a non-square transform block in the vertical direction, 9A to 9D illustrate examples of sub-transform blocks for a transversal non-square transform block. FIG. 10 shows a transform block composed of various sub-transform blocks.

도 7a 내지 도 7d를 참조하면, 현재 변환 블록이 N x N 크기의 정방형 변환 블록(70)인 경우, 정방형 변환 블록(70)은 다양한 방법으로 분할되어 서브 변환 블록(71a 내지 74d)를 생성할 수 있다. 정방형 변환 블록(70)은 정방형 쿼드트리 분할 방법을 이용하여 정방형의 4 개의 서브 변환 블록들(71a 내지 71d)로 분할될 수 있고(도 7b), 바이너리트리 분할 방법을 이용하여 세로 또는 가로 방향의 비정방형 2 개의 서브 변환 블록들(72a 내지 72d)로 분할될 수 있다(도 7c). 일 실시예서는, 비정방형 쿼드트리 분할 방법을 이용하여 세로 또는 가로 방향의 4 개의 비정방형 서브 변환 블록(73a 내지 73h)로 분할될 수 있다(도 7d). 분할되는 상기 서브 변환 블록들의 개수 및 크기는 일 예시일 뿐, 본 발명의 설명에 한정되지 아니한다.7A to 7D, when the current transform block is an N x N size square transform block 70, the square transform block 70 is divided into various methods to generate the sub transform blocks 71a to 74d . The square transform block 70 may be divided into four sub-transform blocks 71a to 71d (FIG. 7b) using a square quadtree division method, and may be divided into four vertically or horizontally And can be divided into two non-square sub-transform blocks 72a to 72d (Fig. 7C). One embodiment can be divided into four non-square sub-transform blocks 73a through 73h in the longitudinal or transverse direction using the non-square quad tree segmentation method (Fig. 7d). The number and size of the sub-transform blocks to be divided are illustrative only and are not limited to the description of the present invention.

도 8a 내지 도 8d를 참조하면, 도 8a와 같이 현재 변환 블록이 A(가로 길이) x B(세로 길이) 크기의 비정방형 변환 블록(80)인 경우, 비정방형 변환 블록(80)은 다양한 방법으로 분할되어 서브 변환 블록(81a 내지 84d)를 생성할 수 있다. 비정방형 변환 블록(80)은 정방형 쿼드트리 분할 방법을 이용하여 정방형의 4 개의 서브 변환 블록들(81a 내지 81d)로 분할될 수 있고(도 8b), 4 개 이상의 서브 변환 블록들(미도시)로 분할될 수 있다. 이 경우, 정방형 서브 변환 블록들의 가로 및 세로의 길이는 비정방형 변환 블록(80)의 가로 및 세로 길이 중 짧은 길이(도 8a에서는 A)와 동일할 수 있으나, 본 발명은 이에 한정되지 아니한다. 비정방형 변환 블록(80)의 세로 길이(B)가 가로 길이(A)의 정수 배인 경우, 비정방형 변환 블록(80)은 도 8b와 같은 정방형 분할 방법에 따라 서브 변환 블록으로 분할될 수 있다.Referring to FIGS. 8A to 8D, when the current transform block is a non-square transform block 80 having a size of A (width) x B (length) as shown in FIG. 8A, the non- To generate sub-transform blocks 81a through 84d. The non-square conversion block 80 can be divided into four sub-transform blocks 81a to 81d (FIG. 8B) using square quad tree segmentation method, and four or more sub-transform blocks (not shown) Lt; / RTI > In this case, the horizontal and vertical lengths of the square sub-transform blocks may be the same as the short length (A in FIG. 8A) of the horizontal and vertical lengths of the non-square conversion block 80, but the present invention is not limited thereto. When the vertical length B of the non-square conversion block 80 is an integral multiple of the horizontal length A, the non-square conversion block 80 may be divided into sub-conversion blocks according to the square division method as shown in FIG. 8B.

도 8c를 참조하면, 비정방형 변환 블록(80)은 바이너리트리 분할 방법을 이용하여 세로 또는 가로 방향의 비정방형 2 개의 서브 변환 블록들(82a 내지 82d)로 분할될 수 있다. 도 8d를 참조하면, 비정방형 쿼드트리 분할 방법을 이용하여 비정방형 변환 블록(80)은 4 개의 비정방형 서브 변환 블록(83a 내지 83d)로 분할될 수 있다. 분할되는 상기 서브 변환 블록들의 개수 및 크기는 일 예시일 뿐, 본 발명의 설명에 한정되지 아니한다.Referring to FIG. 8C, the non-square transform block 80 may be divided into two sub-transform blocks 82a to 82d in non-square vertical or horizontal direction using a binary tree segmentation method. Referring to FIG. 8D, the non-square transform block 80 may be divided into four non-square sub transform blocks 83a to 83d using the non-square quad tree segmentation method. The number and size of the sub-transform blocks to be divided are illustrative only and are not limited to the description of the present invention.

도 9a 내지 도 9d를 참조하면, 도 9a와 같이 현재 변환 블록이 A(가로 길이) x B(세로 길이) 크기의 비정방형 변환 블록(90)인 경우, 비정방형 변환 블록(90)은 다양한 방법으로 분할되어 서브 변환 블록(91a 내지 94d)를 생성할 수 있다. 비정방형 변환 블록(90)은 정방형 쿼드트리 분할 방법을 이용하여 정방형의 4 개의 서브 변환 블록들(91a 내지 91d)로 분할될 수 있고(도 9b), 4 개 이상의 서브 변환 블록들(미도시)로 분할될 수 있다. 이 경우, 정방형 서브 변환 블록들의 가로 및 세로의 길이는 비정방형 변환 블록(90)의 가로 및 세로 길이 중 짧은 길이(도 9a에서는 B)와 동일할 수 있으나, 본 발명은 이에 한정되지 아니한다. 비정방형 변환 블록(90)의 가로 길이(A)가 세로 길이(B)의 정수 배인 경우, 비정방형 변환 블록(90)은 도 9b와 같은 정방형 분할 방법에 따라 서브 변환 블록으로 분할될 수 있다. 9A to 9D, when the current transform block is a non-square transform block 90 having a size of A (width) x B (length) as shown in FIG. 9A, the non- To generate the sub-transform blocks 91a to 94d. The non-square conversion block 90 can be divided into four sub-transform blocks 91a to 91d (FIG. 9B) using square quad tree segmentation method, and four or more sub-transform blocks (not shown) Lt; / RTI > In this case, the horizontal and vertical lengths of the square sub-transform blocks may be the same as the short length (B in FIG. 9A) of the horizontal and vertical length of the non-square conversion block 90, but the present invention is not limited thereto. When the horizontal length A of the non-square conversion block 90 is an integral multiple of the vertical length B, the non-square conversion block 90 can be divided into sub-conversion blocks according to the square division method as shown in FIG. 9B.

도 9c를 참조하면, 비정방형 변환 블록(90)은 바이너리트리 분할 방법을 이용하여 세로 또는 가로 방향의 비정방형 2 개의 서브 변환 블록들(92a 내지 92d)로 분할될 수 있다. 도 9d를 참조하면, 비정방형 쿼드트리 분할 방법을 이용하여 비정방형 변환 블록(90)은 4 개의 비정방형 서브 변환 블록(93a 내지 93d)로 분할될 수 있다. 분할되는 상기 서브 변환 블록들의 개수 및 크기는 일 예시일 뿐, 본 발명의 설명에 한정되지 아니한다.Referring to FIG. 9C, the non-square conversion block 90 may be divided into two sub-transformation blocks 92a to 92d, which are non-square longitudinal or transverse directions, using a binary tree segmentation method. Referring to FIG. 9D, the non-square conversion block 90 may be divided into four non-square sub-conversion blocks 93a to 93d using the non-square quad tree segmentation method. The number and size of the sub-transform blocks to be divided are illustrative only and are not limited to the description of the present invention.

도 10은 도 7a 내지 도 9d에 나타난 바와 같은 분할 방법을 이용하여 현재 코딩 블록을 변환한 예시를 나타낸 것이다. 도 10에 따르면, 현재 코딩 블록은 정방형 변환 블록 뿐만 아니라, 비정방형 변환 블록이 적용될 수 있고, 상기 정방형 또는 비정방형 변환 블록은 정방형 서브 변환 블록 뿐만 아니라 비정방형 서브 변환 블록으로도 분할될 수 있다. 이러한 변환 블록 적용 및 서브 변환 블록으로의 분할은 도 7a 내지 도 9d에서 도시한 바와 같은 방법 중 하나 또는 그 이상을 조합하여 적용될 수 있다. 또한, 변환 블록의 모양 및 개수 또는 서브 변환 블록의 모양 및 개수는 본 발명의 예시에 한정되지 아니함은 마찬가지이다.FIG. 10 shows an example in which a current coding block is transformed using the dividing method as shown in FIGS. 7A to 9D. According to FIG. 10, the current coding block can be a square transform block, as well as a non-square transform block, and the square or non-square transform block can be divided into a square sub-transform block as well as a non-square sub transform block. Applying such a transform block and dividing it into sub transform blocks may be applied in combination with one or more of the methods as shown in Figs. 7A to 9D. Also, the shape and the number of the transform block or the shape and the number of the sub transform block are not limited to the example of the present invention.

일반적으로 현재 블록이 화면내 예측을 수행하는 경우, 래스터 스캔(raster scan) 방법을 이용하여 변환 블록을 복호화하며, 화면내 예측 모드의 방향에 따라 예측 신호를 생성하기 위하여 이용되는 참조 샘플들이 결정된다. Generally, when the current block performs intra prediction, a transform block is decoded using a raster scan method, and reference samples used for generating a prediction signal according to a direction of an intra prediction mode are determined .

도 11은 일반적인 방법에 따른 변환 블록의 코딩 순서 및 방법을 설명하기 위한 것이다. 도 11을 참조하면, 현재 블록의 화면내 예측 모드의 방향이 2 내지 10 번인 경우, 각 변환 블록들(TU0 내지 TU3)은 언제나 상기 변환 블록의 좌측에 위치하는 참조 샘플만을 이용하여 예측 신호를 생성하게 된다. 이 경우, 변환 블록들 중 가장 먼저 예측 신호를 생성하는 제 1 변환 블록(TU0)은 변환 블록에 위치하는 제 1 참조 샘플 영역(111)을 이용하여 예측 신호를 생성하는데, 제 1 참조 샘플 영역(111)은 이용 가능한 참조 샘플 및/또는 이용 가능하지 아니한 참조 샘플들로 구성될 수 있다. 이후, 제 2 변환 블록(TU1)도 제 1 변환 블록(TU0)의 일부 픽셀들이 제 2 변환 블록(TU1)을 위한 제 2 참조 샘플 영역(112)을 구성하므로, 제 2 참조 샘플 영역(112)은 복호된 샘플들인 제 1 변환 블록(TU0)의 일부 픽셀들, 즉, 이용 가능한 참조 샘플들로 구성됨을 알 수 있다.Fig. 11 is a diagram for explaining a coding procedure and a coding method of a transform block according to a general method. 11, when the direction of the intra prediction mode of the current block is 2 to 10, each transform block TU0 to TU3 always generates a prediction signal using only reference samples located on the left side of the transform block . In this case, the first transform block TU0, which generates the prediction signal first among the transform blocks, generates a prediction signal using the first reference sample region 111 located in the transform block. The first reference sample region 111 may comprise available reference samples and / or reference samples that are not available. Since the second transform block TU1 also constitutes the second reference sample area 112 for the second transform block TU1 because some pixels of the first transform block TU0 are included in the second reference sample area 112, Is composed of some pixels of the first transform block TU0, i.e., available reference samples, which are decoded samples.

그 후 예측 신호를 생성하는 제 3 변환 블록(TU2)은 제 3 변환 블록(TU2)의 좌측에 위치하는 픽셀들을 참조 샘플로서 이용하기 때문에, 복호된 제 1 변환 블록(TU0) 및 제 2 변환 블록(TU1)의 픽셀들을 이용하지 아니하므로 예측을 위해 이용되는 제 3 참조 샘플 영역(113)은 이용 가능하지 아니한 참조 샘플들로 구성될 수 있다. 제 4 변환 블록(TU3)은 제 3 변환 블록(TU2)의 일부 픽셀들이 제 4 변환 블록(TU3)을 위한 제 4 참조 샘플 영역(114)을 구성하므로, 제 4 참조 샘플 영역(114)은 복호된 샘플들인 제 3 변환 블록(TU2)의 일부 픽셀들, 즉, 이용 가능한 참조 샘플들로 구성됨을 알 수 있다.Since the third transform block TU2 for generating the prediction signal then uses the pixels located on the left side of the third transform block TU2 as reference samples, the decoded first transform block TU0 and the second transform block TU2, The third reference sample area 113 used for prediction can be composed of reference samples that are not available because pixels of the first reference sample area TU1 are not used. Since the fourth transform block TU3 constitutes the fourth reference sample area 114 for the fourth transform block TU3 by some pixels of the third transform block TU2, (TU2), i.e., the available reference samples.

이와 같이, 종래의 코딩 순서에 따라 변환 블록으로부터 예측 신호를 생성하는 경우, 화면내 예측 모드의 방향에 따라 이용 가능하지 아니한 참조 샘플들을 이용하여 예측 신호를 생성하는 경우들이 발생할 수 있다. 따라서, 본 발명의 일실시예에 따른 비디오 신호의 코딩 방법은 현재 코딩 블록의 화면내 예측 모드의 방향에 따라 변환 블록들의 코딩 순서를 가변적으로 결정함으로써 부호화 효율을 높일 수 있다.In this manner, when a prediction signal is generated from a transform block in accordance with a conventional coding order, there may occur cases where a prediction signal is generated using reference samples that are not available according to the direction of the intra prediction mode. Therefore, the coding method of the video signal according to an embodiment of the present invention can increase the coding efficiency by variably determining the coding order of the transform blocks according to the direction of the intra-picture prediction mode of the current coding block.

도 12a 내지 도 12c는 본 발명의 일 실시예에 따른 변환 블록들의 예시를 나타내는 것이다.Figures 12A-12C illustrate examples of transform blocks in accordance with an embodiment of the present invention.

도 12a 내지 도 12c 를 참조하면, 본 발명의 일 실시예에 따른 변환 블록들은 동일한 크기의 4 개의 변환 블록들이 2 개의 라인으로 구성되어 있는 구조일 수 있고(도 12a), 동일한 크기의 변환 블록들이 가로 또는 세로로 나열된 구조일 수 있다(도 12b 및 도 12c). 상기 변환 블록들은 더 작은 크기의 서브 변환 블록들로 재분할될 수 있고, 재분할시 서브 변환 블록들의 구조도 도 12a 내지 도 12c에 나타난 바와 같은 구조를 가질 수 있다.12A to 12C, the transform blocks according to an embodiment of the present invention may have a structure in which four transform blocks of the same size are composed of two lines (Fig. 12A), and the transform blocks of the same size Or may be arranged horizontally or vertically (Figs. 12B and 12C). The transform blocks may be subdivided into smaller-sized sub-transform blocks, and the sub-transform blocks may have a structure as shown in FIGS. 12A to 12C when re-divided.

현재 블록의 화면내 예측 모드를 고려하지 아니하고 변환 블록들을 코딩하면 각 변환 블록의 예측 신호 생성시 복호되지 아니한 주변 블록들을 이용할 수 있다. 이 경우, 상기 예측 신호 생성을 위하여 이용되는 참조 샘플들은 이용 가능하지 아니한(unavailable) 샘플들일 수 있으므로, 주변의 이용 가능한 샘플값들이 복사된 상기 이용 가능하지 아니한 샘플들을 이용하게 되어 부호화 효율이 좋지 아니할 수 있다. 따라서, 본 발명에서는 변환 블록들에 대응하는 현재 블록의 화면내 예측 모드가 어떤 모드 영역에 속하는지를 고려하여 변환 블록의 코딩 순서를 가변적으로 결정하는 방법을 제안한다.If the transform blocks are coded without considering the intra-picture prediction mode of the current block, neighbor blocks that have not been decoded can be used in the generation of the predictive signal of each transform block. In this case, since the reference samples used for generating the prediction signal may be unavailable samples, the neighboring available sample values may use the copied unavailable samples, resulting in poor coding efficiency . Accordingly, the present invention proposes a method of variably determining a coding order of a transform block by considering which mode area the intra-picture prediction mode of the current block corresponding to the transform blocks belongs to.

변환 블록들의 코딩 순서를 화면내 예측 모드에 따라 가변적으로 결정하기 위하여 먼저 화면내 예측 모드를 예측 방향에 따라 구분할 수 있다. 도 13은 본 발명의 일 실시예에 따른 화면내 예측 모드가 속하는 모드 영역들을 나타내는 것이다. In order to variably determine the coding order of the transform blocks according to the intra prediction mode, the intra prediction mode may be firstly classified according to the prediction direction. 13 illustrates mode regions to which an intra prediction mode according to an embodiment of the present invention belongs.

도 13을 참조하면, 방향성을 갖는 화면내 예측 모드들은 예측 방향에 따라 제 1 모드 영역 내지 제 3 모드 영역(131 내지 133)으로 구분할 수 있다. 도 13에 나타난 화면내 예측 모드 중 가로 방향 및 세로 방향의 화면내 예측 모드를 제외한 90˚ 내지 180˚의 각도를 갖는 화면내 예측 모드들은 제 1 모드 영역(131)을 구성하는 화면내 예측 모드일 수 있다. 제 2 모드 영역은 가로 방향의 예측 모드 및 180˚ 내지 225˚의 각도를 갖는 화면내 예측 모드일 수 있으며, 제 3 모드 영역은 세로 방향의 예측 모드 및 45˚ 내지 90˚의 각도를 갖는 화면내 예측 모드일 수 있다. 이와 같이 구분된 모드 영역에 기초하여 변환 블록들이 속하는 모드 영역에 따라 변환 블록들의 코딩 순서를 가변적으로 결정할 수 있다. Referring to FIG. 13, intra-picture prediction modes having directionality can be classified into a first mode region to a third mode region 131 to 133 according to a prediction direction. 13, except for the intra-picture prediction modes in the horizontal direction and the vertical direction, are in-picture prediction modes constituting the first mode area 131 . The second mode region may be an intra prediction mode having a horizontal prediction mode and an angle of 180 to 225 degrees and the third mode region may be a prediction mode in the vertical direction and a Prediction mode. The coding order of the transform blocks can be variably determined according to the mode area to which the transform blocks belong, based on the thus-classified mode area.

도 14a 및 도 14b는 본 발명의 일 실시예에 따른 현재 블록의 화면내 예측 모드가 제 1 모드 영역에 속하는 경우 변환 블록들의 코딩 순서를 나타내는 것이다. 제 1 모드 영역에 속하는 경우의 변환 블록들의 코딩 순서는 종래의 변환 블록들의 코딩 순서와 동일하다. 도 14a는 변환 블록들이 N x N 구조를 갖는 경우 코딩 순서를 나타나며, TB0, TB1, TB2, TB3 순으로 코딩될 수 있다. 도 14b는 변환 블록들이 세로 방향 및 가로 방향의 비정방형 변환 블록인 경우 코딩 순서를 나타내며, 좌측으로부터 우측으로, 상단으로부터 하단으로의 순서로 코딩된다. 예를 들어, TB4, TB5, TB6, TB7, TB8, TB9, 및 TB10 의 순서로 코딩될 수 있다.FIGS. 14A and 14B show a coding order of transform blocks when the intra-picture prediction mode of the current block belongs to the first mode region according to an embodiment of the present invention. The coding order of the transform blocks in the case of belonging to the first mode area is the same as the coding order of the conventional transform blocks. Figure 14A shows the coding order when the transform blocks have an N x N structure and can be coded in order TB0, TB1, TB2, TB3. Fig. 14B shows a coding order when the transform blocks are non-square transform blocks in the longitudinal direction and the transverse direction, and is coded in order from left to right and from top to bottom. For example, TB4, TB5, TB6, TB7, TB8, TB9, and TB10.

도 15a 내지 도 15c 는 본 발명의 일실시예에 따른 화면내 예측 모드가 제 2 모드 영역에 속하는 변환 블록들의 코딩 순서를 나타내는 것이다. 상기 복수 개의 변환 블록들은 좌측 하단으로부터 우측 상단의 순서로 코딩될 수 있으며, N x N 구조를 갖는 변환 블록들은 도 15a 및 도 15b에 나타난 바와 같이 코딩될 수 있다. 도 15a를 참조하면, 좌측 하단에 위치하는 TB2 로부터 TB3, TB0, 및 TB1의 순서로 코딩될 수 있고, 도 15b를 참조하면 좌측 하단에 위치하는 TB2 로부터 TB0, TB3, 및 TB1의 순서로 코딩될 수 있다.FIGS. 15A to 15C show coding sequences of transform blocks in which the intra prediction mode according to an embodiment of the present invention belongs to the second mode region. The plurality of transform blocks may be coded in order from the bottom left to the top right, and the transform blocks having the N x N structure may be coded as shown in Figs. 15A and 15B. Referring to FIG. 15A, TB2, TB0, and TB1 may be coded in the order of TB2, TB0, and TB1 located at the lower left, and TB2, TB3, and TB1 may be coded in the order of TB2, .

또한, 세로 및 가로 방향의 비정방형 변환 블록들은 좌측으로부터 우측으로, 하단으로부터 상단의 순서로 코딩될 수 있다. 도 15c를 참조하면, 좌측에 위치하는 TB4로부터 TB5, TB6이 코딩되고, 우측 하단에 위치하는 TB10로부터 TB9, TB8, 및 TB7 순서로 코딩될 수 있다.Further, the non-square conversion blocks in the vertical and horizontal directions can be coded in order from left to right and bottom to top. Referring to FIG. 15C, TB5 to TB6 are coded from TB4 located on the left side, and TB10 to TB9, TB8, and TB7 located on the lower right side are coded.

도 16a 내지 도 16c 는 본 발명의 일실시예에 따른 화면내 예측 모드가 제 3 모드 영역에 속하는 변환 블록들의 코딩 순서를 나타내는 것이다. 상기 복수 개의 변환 블록들은 우측 상단으로부터 좌측 하단의 순서로 코딩될 수 있으며, N x N 구조를 갖는 변환 블록들은 도 16a 및 도 16b에 나타난 바와 같이 코딩될 수 있다. 도 16a를 참조하면, 우측 상단에 위치하는 TB1 로부터 TB0, TB3, 및 TB2의 순서로 코딩될 수 있고, 도 16b를 참조하면 우측 상단에 위치하는 TB1 로부터 TB3, TB0, 및 TB2의 순서로 코딩될 수 있다.FIGS. 16A to 16C show coding sequences of transform blocks in which the intra prediction mode according to an embodiment of the present invention belongs to the third mode region. The plurality of transform blocks may be coded in order from the upper right to the lower left, and the transform blocks having the N x N structure may be coded as shown in Figs. 16A and 16B. Referring to FIG. 16A, TB1, TB3, and TB2 may be coded in the order of TB1, TB3, and TB2 located at the upper right, TB1 to TB3, TB0, and TB2 may be coded in the order of TB1, .

또한, 세로 및 가로 방향의 비정방형 변환 블록들은 우측으로부터 좌측으로, 상단으로부터 하단의 순서로 코딩될 수 있다. 도 16c를 참조하면, 우측 상단에 위치하는 TB7로부터 아래로 TB8, TB9, 및 TB10 이 차례로 코딩되고, 좌측의 세로 방향의 비정방형 변환 블록들 중 우측에 위치하는 TB6, TB5, 및 TB4 의 순서로 코딩될 수 있다.Further, the non-square conversion blocks in the vertical and horizontal directions can be coded in order from right to left, top to bottom. Referring to FIG. 16C, TB8, TB9, and TB10 are sequentially coded down from the TB7 located at the right upper end, and TB6, TB5, and TB4 located at the right of the left vertical direction non- Lt; / RTI >

이와 같이, 현재 블록의 화면내 예측 모드의 방향을 고려하여 구분된 모드 영역 및 변환 블록의 모양을 고려하여 가변적으로 변환 블록의 코딩 순서를 결정함으로써, 각 변환 블록이 복호화된 주변 블록의 이용 가능한 참조 샘플들을 이용하여 예측 신호를 생성할 수 있으므로 부호화 효율이 향상될 수 있다.In this manner, by determining the coding order of the transform block in consideration of the shape of the transformed block and the mode region classified in consideration of the direction of the intra-picture prediction mode of the current block, each transform block can determine the available reference Since the prediction signal can be generated using the samples, the coding efficiency can be improved.

일 실시예에서, 변환 블록들이 앞서 설명한 도 12a 내지 도 12c와 같은 유형의 구조를 갖는 경우, 상기 변환 블록들에 해당하는 현재 코딩 블록의 화면내 예측 모드가 속하는 모드 영역에 따라 결정되는 변환 블록들의 코딩 순서는 하기 표 1과 같다.In one embodiment, when the transform blocks have a structure of the type shown in Figs. 12A to 12C, the transform blocks are determined according to the mode region to which the intra prediction mode of the current coding block corresponding to the transform blocks belongs The coding order is shown in Table 1 below.

변환 블록
구조 유형
Conversion block
Structure type
화면 내 예측 모드 영역In-picture prediction mode area
영역 1Area 1 영역 2Area 2 영역 3Area 3 유형 1
(도 12a)
Type 1
(Fig. 12A)
TB0->TB1->TB2->TB3TB0-> TB1-> TB2-> TB3 TB2->TB3->TB0->TB1TB2 -> TB3 -> TB0 -> TB1 TB1->TB0->TB3->TB2TB1-> TB0-> TB3-> TB2
유형 2
(도 12b)
Type 2
(Fig. 12B)
TB0->TB1->…->TBNTB0-> TB1-> ... -> TBN TB0->TB1->…->TBNTB0-> TB1-> ... -> TBN TBN->…->TB1->TB1TBN-> ... -> TB1-> TB1
유형 3
(도 12c)
Type 3
(Fig. 12C)
TB0->TB1->…->TBNTB0-> TB1-> ... -> TBN TBN->…->TB1->TB1TBN-> ... -> TB1-> TB1 TB0->TB1->…->TBNTB0-> TB1-> ... -> TBN

도 17a 내지 도 17c는 표 1에 기재된 변환 블록의 코딩 순서를 이용하여 현재 블록을 구성하고 있는 정방형 및 비정방형 변환 블록들의 코딩 순서를 나타내는 예시이다. 도 17a는 현재 블록의 화면내 예측 모드가 제 1 모드 영역에 속하는 경우의 현재 블록에 대한 변환 블록들의 코딩 순서를 나타내는 것이고, 도 17b는 현재 블록의 화면내 예측 모드가 제 2 모드 영역에 속하는 경우 현재 블록에 대한 변환 블록들의 코딩 순서를 나타내는 것이며, 도 17c는 현재 블록의 화면내 예측 모드가 제 3 모드 영역에 속하는 경우 현재 블록에 대한 변환 블록들의 코딩 순서를 나타내는 것이다. FIGS. 17A to 17C are examples showing coding sequences of square and non-square transform blocks constituting a current block using the coding sequence of the transform block shown in Table 1. FIG. 17A shows the coding order of the transform blocks for the current block when the intra-picture prediction mode of the current block belongs to the first mode area, FIG. 17B shows the coding order of the transform blocks for the current block when the intra- FIG. 17C shows the coding order of the transform blocks for the current block when the intra-picture prediction mode of the current block belongs to the third mode area.

도 17a를 참조하면, 현재 블록의 화면내 예측 모드가 제 1 모드 영역에 속하는 경우에는 변환 블록의 모양에 관계없이 변환 블록들은 일반적인 코딩 순서와 마찬가지로 좌측 상단으로부터 우측 하단의 순서로 코딩될 수 있다. 또한, 현재 블록의 화면내 예측 모드가 제 2 모드 영역에 속하는 경우에는 변환 블록이 예측 신호 생성시 좌측 하단 블록에 속하는 참조 샘플들을 이용하므로, 좌측 하단으로부터 우측 상단의 순서로 변환 블록을 코딩하는 것이 부호화 효율을 향상시킬 수 있다. 도 17b를 참조하면, 현재 블록은 좌측 하단으로부터 우측 상단의 순서로 코딩함에 있어서, 좌측 하단, 우측 하단, 좌측 상단, 및 우측 상단의 순서로 코딩하는 방법을 선택할 수 있다. Referring to FIG. 17A, when the intra prediction mode of the current block belongs to the first mode region, the transform blocks may be coded in order from the upper left to the lower right in the same manner as the normal coding order regardless of the shape of the transform block. When the intra prediction mode of the current block belongs to the second mode area, the transform block uses the reference samples belonging to the lower left block at the time of generating the prediction signal. Thus, coding the transform block from the lower left end to the upper right end The coding efficiency can be improved. Referring to FIG. 17B, a current block may be coded in the order of the left lower end, the lower right end, the upper left end, and the upper right end in coding in the order from the lower left end to the upper right end.

현재 블록의 화면내 예측 모드가 제 3 모드 영역에 속하는 경우에는 변환 블록이 예측 신호 생성시 우측 상단에 속하는 참조 샘플들을 이용하므로 우측 상단으로부터 좌측 하단의 순서로 변환 블록을 코딩하는 것이 부호화 효율을 향상시킬 수 있다. 도 17c를 참조하면, 이 중 우측 상단, 좌측 상단, 우측 하단, 및 좌측 하단의 순서로 코딩하는 방법을 선택할 수 있다.When the intra-prediction mode of the current block belongs to the third mode area, since the transform block uses the reference samples belonging to the upper right corner at the time of generating the prediction signal, coding the transform block in the order from the upper right to the lower left improves the coding efficiency . Referring to FIG. 17C, it is possible to select a method of coding in the order of right upper end, left upper end, right lower end, and left lower end.

다른 실시예에서는, 화면내 예측 모드를 고려하는 변환 블록의 코딩 순서를 하기 표 2와 같이 결정할 수 있다.In another embodiment, the coding order of the transform block considering the intra prediction mode can be determined as shown in Table 2 below.

변환 블록
구조 유형
Conversion block
Structure type
화면 내 예측 모드 영역In-picture prediction mode area
제 1 모드 영역The first mode area 제 2 모드 영역The second mode area 제 3 모드 영역The third mode area 유형 1
(도 12a)
Type 1
(Fig. 12A)
TB0->TB1->TB2->TB3TB0-> TB1-> TB2-> TB3 TB2->TB0->TB3->TB1TB2-> TB0-> TB3-> TB1 TB1->TB0->TB3->TB2TB1-> TB0-> TB3-> TB2
유형 2
(도 12b)
Type 2
(Fig. 12B)
TB0->TB1->…->TBNTB0-> TB1-> ... -> TBN TB0->TB1->…->TBNTB0-> TB1-> ... -> TBN TBN->…->TB1->TB1TBN-> ... -> TB1-> TB1
유형 3
(도 12c)
Type 3
(Fig. 12C)
TB0->TB1->…->TBNTB0-> TB1-> ... -> TBN TBN->…->TB1->TB1TBN-> ... -> TB1-> TB1 TB0->TB1->…->TBNTB0-> TB1-> ... -> TBN

도 18a 내지 도 18c는 표 2에 기재된 변환 블록의 코딩 순서를 이용하여 현재 블록을 구성하고 있는 정방형 및 비정방형 변환 블록들의 코딩 순서를 나타내는 예시이다. 도 18a는 현재 블록의 화면내 예측 모드가 제 1 모드 영역에 속하는 경우의 현재 블록에 대한 변환 블록들의 코딩 순서를 나타내는 것이고, 도 18b는 현재 블록의 화면내 예측 모드가 제 2 모드 영역인 경우 현재 블록에 대한 변환 블록들의 코딩 순서를 나타내는 것이며, 도 18c는 현재 블록의 화면내 예측 모드가 제 3 모드 영역인 경우 현재 블록에 대한 변환 블록들의 코딩 순서를 나타내는 것이다. FIGS. 18A to 18C are examples showing the coding order of square and non-square conversion blocks constituting the current block using the coding order of the conversion blocks shown in Table 2. FIG. 18A shows the coding order of the transform blocks for the current block when the intra-frame prediction mode of the current block belongs to the first mode area, FIG. 18B shows the coding order of the transform blocks for the current block when the intra- FIG. 18C shows the coding order of the transform blocks for the current block when the intra-picture prediction mode of the current block is the third mode region.

도 18a를 참조하면, 현재 블록의 화면내 예측 모드가 제 1 모드 영역에 속하는 경우에는 변환 블록의 모양에 관계없이 변환 블록들은 일반적인 코딩 순서와 마찬가지로 좌측 상단으로부터 우측 하단의 순서로 코딩될 수 있다. 또한, 현재 블록의 화면내 예측 모드가 제 2 모드 영역에 속하는 경우에는 변환 블록이 예측 신호 생성시 좌측 하단 블록에 속하는 참조 샘플들을 이용하므로 좌측 하단으로부터 우측 상단의 순서로 변환 블록을 코딩하는 것이 부호화 효율을 향상시킬 수 있다. 도 18b를 참조하면, 현재 블록은 좌측 하단으로부터 우측 상단의 순서로 코딩함에 있어서, 좌측 하단, 좌측 상단, 우측 하단, 및 우측 상단의 순서로 코딩하는 방법을 선택할 수 있다. Referring to FIG. 18A, when the intra prediction mode of the current block belongs to the first mode region, the transform blocks may be coded in order from the upper left to the lower right in the same manner as the normal coding order regardless of the shape of the transform block. If the intra-picture prediction mode of the current block belongs to the second mode area, the transform block uses the reference samples belonging to the lower-left block at the time of generating the prediction signal, so coding the transform block from the lower- The efficiency can be improved. Referring to FIG. 18B, when coding the current block in order from the lower left to the upper right, a method of coding in the order of the lower left, upper left, lower right, and upper right can be selected.

현재 블록의 화면내 예측 모드가 제 3 모드 영역에 속하는 경우에는 변환 블록이 예측 신호 생성시 우측 상단에 속하는 참조 샘플들을 이용하므로 우측 상단으로부터 좌측 하단의 순서로 변환 블록을 코딩하는 것이 부호화 효율을 향상시킬 수 있다. 도 18c를 참조하면, 이 중 우측 상단, 우측 하단, 좌측 상단, 및 좌측 하단의 순서로 코딩하는 방법을 선택할 수 있다. When the intra-prediction mode of the current block belongs to the third mode area, since the transform block uses the reference samples belonging to the upper right corner at the time of generating the prediction signal, coding the transform block in the order from the upper right to the lower left improves the coding efficiency . Referring to FIG. 18C, it is possible to select a coding method in the order of the right upper end, the lower right end, the upper left end, and the lower left end.

이러한 모드 영역에 따른 변환 블록들의 코딩 순서는 상기 예시에 한정되는 것이 아니라, 상기 예시들의 조합으로 결정되는 것도 가능하다. The coding order of the conversion blocks according to the mode area is not limited to the above example, but it is also possible to determine the coding order of the conversion blocks according to the mode area.

도 19a 내지 도 19c는 도 17a 내지 도 18c를 참조하여 설명한 모드 영역별 변환 블록들의 코딩 순서를 교차적으로 선택한 경우 변환 블록들의 코딩 순서를 나타낸 것이다.FIGS. 19A to 19C show the coding order of the transform blocks when the coding order of the transform blocks according to each mode region is alternately selected with reference to FIGS. 17A to 18C.

도 19a는 현재 블록의 화면내 예측 모드가 제 1 모드 영역에 속하는 경우의 현재 블록에 대한 변환 블록들의 코딩 순서를 나타내는 것이고, 도 19b는 현재 블록의 화면내 예측 모드가 제 2 모드 영역인 경우 현재 블록에 대한 변환 블록들의 코딩 순서를 나타내는 것이며, 도 19c는 현재 블록의 화면내 예측 모드가 제 3 모드 영역인 경우 현재 블록에 대한 변환 블록들의 코딩 순서를 나타내는 것이다. 19A shows the coding order of the transform blocks for the current block when the intra-picture prediction mode of the current block belongs to the first mode area, FIG. 19B shows the coding order of the transform blocks for the current block when the intra- FIG. 19C shows the coding order of the transform blocks for the current block when the intra prediction mode of the current block is the third mode region.

제 1 모드 영역인 경우 변환 블록들의 코딩 순서는 도 17a 및 도 18a를 참조하여 설명한 바와 같이 좌측 상단으로부터 우측 하단으로 결정될 수 있다. 제 2 모드 영역인 경우, 도 19b를 참조하면, 도 17b를 참조하여 결정된 코딩 순서에 따라 좌측 하단, 우측 하단, 좌측 상단, 및 우측 상단의 순서로 변환 블록들을 코딩할 수 있고, 도 19c를 참조하면, 현재 블록의 화면내 예측 모드가 제 3 모드 영역인 경우 도 18c를 참조하여 설명한 코딩 순서에 따라 우측 상단, 우측 하단, 좌측 상단, 및 좌측 하단의 순서로 변환 블록들을 코딩할 수 있다. 다른 실시예에서는, 제 2 모드 영역 및 제 3 모드 영역의 코딩 순서를 도 18b 및 도 17c를 참조하여 설명한 코딩 순서로 결정할 수도 있다. 이와 같이, 현재 블록에 대한 변환 블록들은 상기 현재 블록의 화면내 예측 모드에 따라 결정되는 다양한 코딩 순서의 조합을 이용하여 예측 신호를 생성함으로써, 부호화 효율을 향상시킬 수 있게 된다.In the case of the first mode area, the coding order of the transform blocks may be determined from the upper left corner to the lower right corner as described with reference to Figs. 17A and 18A. In the case of the second mode area, referring to FIG. 19B, conversion blocks can be coded in the order of the lower left, lower right, upper left, and upper right according to the coding order determined with reference to FIG. 17B, If the intra prediction mode of the current block is the third mode, the transform blocks may be coded in the order of the upper right, lower right, upper left, and lower left according to the coding order described with reference to FIG. 18C. In another embodiment, the coding order of the second mode area and the third mode area may be determined in the coding order described with reference to Figs. 18B and 17C. In this way, the conversion blocks for the current block can generate the prediction signal using a combination of various coding sequences determined according to the intra-picture prediction mode of the current block, thereby improving the coding efficiency.

이상에서 설명한 본 발명이 전술한 실시예 및 첨부된 도면에 한정되지 않으며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러가지 치환, 변형 및 변경이 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention as defined in the appended claims. It will be clear to those who have knowledge.

Claims (22)

현재 영상을 구성하는 코딩 블록의 구조를 설정하는 단계;
상기 코딩 블록에 대응하는 변환 블록들의 구조를 설정하는 단계; 및
상기 변환 블록들을 이용하여 예측 신호를 생성하는 단계를 포함하고,
상기 코딩 블록은 정방형(square) 블록 및 비정방형(non-square) 블록 중 어느 하나 이상을 포함하는 비디오 신호의 복호화 방법.
Setting a structure of a coding block constituting a current image;
Setting a structure of transform blocks corresponding to the coding block; And
And generating a prediction signal using the transform blocks,
Wherein the coding block comprises at least one of a square block and a non-square block.
제 1 항에 있어서,
상기 변환 블록은 상기 코딩 블록의 동일한 크기 또는 작은 크기의 정방형(square) 변환 블록 및 비정방형(non-square) 변환 블록 중 어느 하나 이상을 포함하는 비디오 신호의 복호화 방법.
The method according to claim 1,
Wherein the transform block comprises at least one of a square transform block and a non-square transform block of the same size or small size of the coding block.
제 2 항에 있어서,
상기 정방형 변환 블록은 쿼트트리 구조를 갖는 변환 블록인 비디오 신호의 복호화 방법.
3. The method of claim 2,
Wherein the square transform block is a transform block having a quadtree structure.
제 2 항에 있어서,
상기 비정방형 변환 블록은 비정방형 바이너리트리 구조 또는 비정방형 쿼트트리 구조를 갖는 변환 블록인 비디오 신호의 복호화 방법.
3. The method of claim 2,
Wherein the non-square transform block is a transform block having a non-square binary tree structure or a non-square quadtree structure.
제 2 항에 있어서,
상기 변환 블록은 비정방형 변환 서브 블록 및 정방형 변환 서브 블록 중 어느 하나 이상을 포함하여 분할된 비디오 신호의 복호화 방법.
3. The method of claim 2,
Wherein the transform block includes at least one of a non-square transform sub-block and a square transform sub-block.
제 1 항에 있어서,
상기 변환 블록의 모양 및 크기를 나타내는 변환 블록 분할 정보를 수신하는 단계를 더 포함하는 비디오 신호의 복호화 방법.
The method according to claim 1,
And receiving transform block division information indicating the shape and size of the transform block.
제 1 항에 있어서,
상기 변환 블록을 서브 변환 블록들로 재분할하는 단계를 더 포함하며,
상기 서브 변환 블록들로 재분할되는 경우, 상기 예측 신호는 상기 서브 변환 블록별로 생성되는 비디오 신호의 복호화 방법.
The method according to claim 1,
Further comprising re-partitioning the transform block into sub-transform blocks,
Transformed into the sub-transform blocks, the prediction signal is generated for each sub-transform block.
제 7 항에 있어서,
상기 서브 변환 블록들은 비정방형 서브 변환 블록 및 정방형 서브 변환 블록 중 어느 하나 이상을 포함하는 비디오 신호의 복호화 방법.
8. The method of claim 7,
Wherein the sub-transform blocks include at least one of a non-square sub-transform block and a square sub-transform block.
제 2 항에 있어서,
상기 현재 블록이 화면내 예측을 수행하는 경우, 상기 현재 블록의 화면내 예측 모드의 방향이 90˚이상 180˚미만의 각도를 갖는 제 1 모드 영역, 180˚이상 225˚ 미만의 각도를 갖는 제 2 모드 영역, 및 45˚이상 90˚미만의 각도를 갖는 제 3 영역 중 어느 모드 영역에 속하는지 판단하는 단계; 및
상기 화면내 예측 모드가 속하는 모드 영역에 기초하여 상기 변환 블록의 코딩 순서를 가변적으로 결정하는 단계를 더 포함하는 비디오 신호의 복호화 방법.
3. The method of claim 2,
Wherein when the current block performs intra prediction, a direction of an intra prediction mode of the current block is a first mode area having an angle of 90 degrees or more and less than 180 degrees, a second mode area having an angle of 180 degrees or more and less than 225 degrees, A mode region, and a third region having an angle of 45 degrees or more and less than 90 degrees; And
Further comprising the step of variably determining a coding order of the transform block based on a mode area to which the intra prediction mode belongs.
제 9 항에 있어서,
상기 화면내 예측 모드의 방향이 제 2 모드 영역인 경우, 상기 변환 블록은 좌측 하단으로부터 우측 상단 방향순으로 코딩되는 비디오 신호의 복호화 방법.
10. The method of claim 9,
And when the direction of the intra-picture prediction mode is the second mode region, the transform block is coded in order from the lower left end to the upper right direction.
제 10 항에 있어서,
상기 변환 블록이 정방형 변환 블록이면, 좌측 하단, 우측 하단, 좌측 상단, 및 우측 상단의 순서로 코딩되는 비디오 신호의 복호화 방법.
11. The method of claim 10,
And if the transform block is a square transform block, coding is performed in the order of the lower left, lower right, upper left, and upper right.
제 10 항에 있어서,
상기 변환 블록이 정방형 변환 블록이면, 좌측 하단, 좌측 상단, 우측 하단, 및 우측 상단의 순서로 코딩되는 비디오 신호의 복호화 방법.
11. The method of claim 10,
And if the transform block is a square transform block, coding is performed in the order of the left lower end, the upper left end, the lower right end, and the upper right end.
제 10 항에 있어서,
상기 변환 블록이 세로로 분할된 비정방형 변환 블록이면, 좌측으로부터 우측의 순서로 코딩되는 비디오 신호의 복호화 방법.
11. The method of claim 10,
And if the transform block is a vertically-divided non-square transform block, coding is performed in order from left to right.
제 10 항에 있어서,
상기 변환 블록이 가로로 분할된 비정방형 변환 블록이면, 하단으로부터 상단의 순서로 코딩되는 비디오 신호의 복호화 방법.
11. The method of claim 10,
And if the transform block is a horizontally divided non-square transform block, coded in order from bottom to top.
제 9 항에 있어서,
상기 화면내 예측 모드의 방향이 제 3 영역 모드인 경우, 상기 변환 블록은 우측 상단으로부터 좌측 하단 순서로 코딩되는 비디오 신호의 복호화 방법.
10. The method of claim 9,
When the direction of the intra prediction mode is the third region mode, the transform block is coded in order from the upper right end to the lower left end.
제 15 항에 있어서,
상기 변환 블록이 정방형 변환 블록이면, 우측 상단, 좌측 상단, 우측 하단, 및 좌측 하단의 순서로 코딩되는 비디오 신호의 복호화 방법.
16. The method of claim 15,
And if the transform block is a square transform block, coding is performed in order of a right upper end, a left upper end, a lower right end, and a lower left end.
제 15 항에 있어서,
상기 변환 블록이 정방형 변환 블록이면, 우측 상단, 우측 하단, 좌측 상단, 및 좌측 하단의 순서로 코딩되는 비디오 신호의 복호화 방법.
16. The method of claim 15,
And if the transform block is a square transform block, coding is performed in the order of the right upper end, the lower right end, the upper left end, and the lower left end.
제 15 항에 있어서,
상기 변환 블록이 세로로 분할된 비정방형 변환 블록이면, 우측으로부터 좌측의 순서로 코딩되는 비디오 신호의 복호화 방법.
16. The method of claim 15,
And if the transform block is a vertically-divided non-square transform block, coding is performed in a right-to-left order.
제 15 항에 있어서,
상기 변환 블록이 가로로 분할된 비정방형 변환 블록이면, 상단으로부터 하단의 순서로 코딩되는 비디오 신호의 복호화 방법.
16. The method of claim 15,
And if the transform block is a horizontally divided non-square transform block, the transform block is coded in order from the top to the bottom.
제 1 항에 있어서,
상기 코딩 블록은 상기 코딩 블록에 대응하는 예측 블록으로 설정되는 비디오 신호의 복호화 방법.
The method according to claim 1,
Wherein the coding block is set as a prediction block corresponding to the coding block.
제 1 항에 있어서,
상기 코딩 블록은 상기 코딩 블록에 대응하는 예측 블록 및 상기 변환 블록으로 설정되는 비디오 신호의 복호화 방법.
The method according to claim 1,
Wherein the coding block is set as a prediction block corresponding to the coding block and the transform block.
현재 영상을 구성하는 코딩 블록의 구조를 설정하고, 상기 코딩 블록에 대응하는 변환 블록들의 구조를 설정하는 블록 설정부; 및
상기 변환 블록들을 이용하여 예측 신호를 생성하는 예측 신호 생성부를 포함하고,
상기 코딩 블록 및 상기 변환 블록은 정방형(square) 블록 및 비정방형(non-square) 블록 중 어느 하나 이상을 포함하며,
상기 예측 신호 생성부는 상기 코딩 블록의 화면내 예측 모드를 예측 방향에 따라 구분한 모드 영역들 중 어느 모드 영역에 속하는지에 따라 가변적인 코딩 순서에 따라 상기 변환 블록들을 코딩하는 비디오 신호의 복호화 장치.
A block setting unit setting a structure of a coding block constituting a current image and setting a structure of conversion blocks corresponding to the coding block; And
And a prediction signal generator for generating a prediction signal using the conversion blocks,
Wherein the coding block and the transform block comprise at least one of a square block and a non-square block,
Wherein the prediction signal generator encodes the transform blocks according to which mode region among the mode regions classified according to the prediction direction of the intra-frame prediction mode of the coding block according to a variable coding order.
KR1020170035361A 2016-05-28 2017-03-21 Method and apparatus for encoding or decoding video signal KR102426131B1 (en)

Priority Applications (10)

Application Number Priority Date Filing Date Title
CN202210049050.3A CN114222138A (en) 2016-05-28 2017-05-26 Video signal decoding device
CN202210049201.5A CN114222139A (en) 2016-05-28 2017-05-26 Method for decoding video signal
CN202210049407.8A CN114222140A (en) 2016-05-28 2017-05-26 Method for decoding video signal
CN201780033620.7A CN109417638B (en) 2016-05-28 2017-05-26 Method and apparatus for encoding or decoding video signal
PCT/KR2017/005497 WO2017209455A2 (en) 2016-05-28 2017-05-26 Method and apparatus for encoding or decoding video signal
US16/305,214 US11736712B2 (en) 2016-05-28 2017-05-26 Method and apparatus for encoding or decoding video signal
CN202210048882.3A CN114222137A (en) 2016-05-28 2017-05-26 Method for forming prediction motion vector list
CN202210049739.6A CN114222141A (en) 2016-05-28 2017-05-26 Video signal decoding method and video signal decoding device
KR1020220091076A KR102534604B1 (en) 2016-06-17 2022-07-22 Method and apparatus for encoding or decoding video signal
US18/341,460 US20230336769A1 (en) 2016-05-28 2023-06-26 Method and Apparatus for Encoding or Decoding Video Signal

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160075723 2016-06-17
KR1020160075723 2016-06-17

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220091076A Division KR102534604B1 (en) 2016-06-17 2022-07-22 Method and apparatus for encoding or decoding video signal

Publications (2)

Publication Number Publication Date
KR20170142860A true KR20170142860A (en) 2017-12-28
KR102426131B1 KR102426131B1 (en) 2022-07-27

Family

ID=60939829

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020170035361A KR102426131B1 (en) 2016-05-28 2017-03-21 Method and apparatus for encoding or decoding video signal
KR1020230062915A KR20230074086A (en) 2016-06-17 2023-05-16 Method and apparatus for encoding or decoding video signal

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020230062915A KR20230074086A (en) 2016-06-17 2023-05-16 Method and apparatus for encoding or decoding video signal

Country Status (1)

Country Link
KR (2) KR102426131B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019209028A1 (en) * 2018-04-24 2019-10-31 삼성전자 주식회사 Video encoding method and device and video decoding method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100037180A (en) * 2008-10-01 2010-04-09 에스케이 텔레콤주식회사 Method and apparatus for encoding and decoding vedio
KR20110126485A (en) * 2010-05-17 2011-11-23 에스케이 텔레콤주식회사 Video coding and decoding method and apparatus for macroblock including intra and inter blocks
KR20140092861A (en) * 2011-10-31 2014-07-24 미쓰비시덴키 가부시키가이샤 Moving picture encoding device, moving picture decoding device, moving picture encoding method, and moving picture decoding method
KR20140131299A (en) * 2014-09-25 2014-11-12 에스케이텔레콤 주식회사 Video Encoding/Decoding Method and Apparatus by Using Selective Encoding
KR20150014414A (en) * 2009-10-01 2015-02-06 에스케이텔레콤 주식회사 Video Coding/Decoding Apparatus and Method Using Variable Size Macroblock

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100037180A (en) * 2008-10-01 2010-04-09 에스케이 텔레콤주식회사 Method and apparatus for encoding and decoding vedio
KR20150014414A (en) * 2009-10-01 2015-02-06 에스케이텔레콤 주식회사 Video Coding/Decoding Apparatus and Method Using Variable Size Macroblock
KR20110126485A (en) * 2010-05-17 2011-11-23 에스케이 텔레콤주식회사 Video coding and decoding method and apparatus for macroblock including intra and inter blocks
KR20140092861A (en) * 2011-10-31 2014-07-24 미쓰비시덴키 가부시키가이샤 Moving picture encoding device, moving picture decoding device, moving picture encoding method, and moving picture decoding method
KR20140131299A (en) * 2014-09-25 2014-11-12 에스케이텔레콤 주식회사 Video Encoding/Decoding Method and Apparatus by Using Selective Encoding

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019209028A1 (en) * 2018-04-24 2019-10-31 삼성전자 주식회사 Video encoding method and device and video decoding method and device
US11297315B2 (en) 2018-04-24 2022-04-05 Samsung Electronics Co., Ltd. Video encoding method and device and video decoding method and device
US11870981B2 (en) 2018-04-24 2024-01-09 Samsung Electronics Co., Ltd. Video encoding method and device and video decoding method and device

Also Published As

Publication number Publication date
KR102426131B1 (en) 2022-07-27
KR20230074086A (en) 2023-05-26

Similar Documents

Publication Publication Date Title
KR101552632B1 (en) Method of coefficient scan based on partition mode of prediction unit and apparatus using the same
KR101759672B1 (en) Method for managing a reference picture list, and apparatus using same
KR20200041810A (en) Method for encodign/decodign video signal and apparatus therefor
KR20190024212A (en) A method of constructing the tiles and an apparatus having the same
US11418808B2 (en) Method and device for encoding or decoding image on basis of inter mode
EP3843402A1 (en) Image signal encoding/decoding method and apparatus therefor
US20230336769A1 (en) Method and Apparatus for Encoding or Decoding Video Signal
KR20180038371A (en) A method of decoding a video signal and an apparatus having the same
US11736712B2 (en) Method and apparatus for encoding or decoding video signal
KR20180086094A (en) Method and apparatus for encoding or decoding video signal
KR20230054805A (en) A method of decoding a video signal and an apparatus having the same
KR20180033030A (en) Method and apparatus for processing a video signal based on adaptive block patitioning
KR101468078B1 (en) Method and apparatus for intra prediction
KR20180032775A (en) Method and apparatus for processing a video signal based on adaptive block patitioning
KR20230074086A (en) Method and apparatus for encoding or decoding video signal
KR102345458B1 (en) A method of setting advanced motion vector predictor list and an apparatus having the same
KR102435502B1 (en) Method and apparatus for encoding or decoding video signal
KR102447951B1 (en) A method of decoding a video signal and an apparatus having the same
KR102534604B1 (en) Method and apparatus for encoding or decoding video signal
KR102523384B1 (en) A method of decoding a video signal and an apparatus having the same
KR20180086093A (en) Method and apparatus for encoding or decoding video signal
KR20220134476A (en) Method for encoding/decoding a video signal and recording medium storing a bitsteram generated based on the method
KR20190023294A (en) Method and apparatus for encoding/decoding a video signal
KR20210082877A (en) Method for encoding/decoding video signal and apparatus therefor
KR20210113914A (en) Video signal encoding method and apparatus and video decoding method and apparatus

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right