KR20120010367A - Apparatuses and methods for encoding/decoding of video using interpolation filter in a precise unit - Google Patents

Apparatuses and methods for encoding/decoding of video using interpolation filter in a precise unit Download PDF

Info

Publication number
KR20120010367A
KR20120010367A KR1020100071848A KR20100071848A KR20120010367A KR 20120010367 A KR20120010367 A KR 20120010367A KR 1020100071848 A KR1020100071848 A KR 1020100071848A KR 20100071848 A KR20100071848 A KR 20100071848A KR 20120010367 A KR20120010367 A KR 20120010367A
Authority
KR
South Korea
Prior art keywords
unit
block
prediction
filter
information
Prior art date
Application number
KR1020100071848A
Other languages
Korean (ko)
Inventor
이충구
김민성
이을호
Original Assignee
(주)휴맥스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)휴맥스 filed Critical (주)휴맥스
Priority to KR1020100071848A priority Critical patent/KR20120010367A/en
Priority to PCT/KR2011/000786 priority patent/WO2011096770A2/en
Priority to US13/576,607 priority patent/US20120300850A1/en
Publication of KR20120010367A publication Critical patent/KR20120010367A/en
Priority to US14/528,536 priority patent/US20150055701A1/en
Priority to US14/528,465 priority patent/US20150049818A1/en
Priority to US14/528,379 priority patent/US20150055711A1/en
Priority to US14/528,490 priority patent/US20150055705A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Abstract

PURPOSE: An image encoding and decoding apparatus and method thereof are provided to improve encoding effects by reducing additional information amounts. CONSTITUTION: An encoding apparatus creates a prediction block by correcting the movement of an inputted image(903). The encoding apparatus selects an interpolation filter which is used for predicting a movement correction screen(905). The encoding apparatus creates residual values by calculating a difference between a current predicting unit and the predicted predicting unit. After the residual value is quantized and changed, the encoding apparatus creates bit streams by encoding entropy(907, 909).

Description

정밀한 단위의 보간 필터 선택을 적용한 영상 부호화/복호화 장치 및 방법{APPARATUSES AND METHODS FOR ENCODING/DECODING OF VIDEO USING INTERPOLATION FILTER IN A PRECISE UNIT} Apparatus and method for image coding / decoding applying precise unit interpolation filter selection

본 발명은 영상의 부호화 및 복호화에 관한 것으로, 더욱 상세하게는 영상의 화면간 예측 부호화/복호화에 적용할 수 있는 영상 부호화/복호화 장치 및 방법에 관한 것이다.The present invention relates to encoding and decoding of an image, and more particularly, to an image encoding / decoding apparatus and method applicable to inter prediction encoding / decoding of an image.

일반적으로 영상 압축 방법에서는 압축 효율을 높이기 위해 픽쳐들의 중복도를 제거하는 화면간 예측(inter prediction) 및 화면내 예측(intra prediction) 기술을 이용한다. In general, an image compression method uses inter prediction and intra prediction techniques that remove redundancy of pictures in order to increase compression efficiency.

화면간 예측을 이용해 영상을 부호화하는 방법은 픽춰들 사이의 시간적인 중복성(spatial redundancy)을 제거하여 영상을 압축하는 방법으로서 대표적으로 움직임 보상 예측 부호화 방법이 있다. An image encoding method using inter prediction is a method of compressing an image by removing temporal redundancy among pictures, and a typical motion compensation prediction encoding method is used.

움직임 보상 예측 부호화는 현재 부호화되는 픽춰의 앞 및/또는 뒤에 위치하는 적어도 하나의 참조 픽춰에서 현재 부호화되는 블록과 유사한 영역을 검색하여 움직임 벡터(MV: Motion Vector)를 생성하고, 생성된 움직임 벡터를 이용하여 움직임 보상을 수행하여 얻어지는 예측 블록과 현재 블록의 잔여값(residue)을 DCT(Discrete Cosine Transform) 변환하고 양자화한 후 엔트로피 부호화하여 전송한다. The motion compensation predictive encoding generates a motion vector (MV) by searching a region similar to the block currently encoded in at least one reference picture located before and / or after the currently encoded picture, and generates the motion vector. Discrete Cosine Transform (DCT) transforms a prediction block obtained by performing motion compensation and a residual block of the current block, quantizes it, and then transmits it by entropy encoding.

움직임 보상 화면간 예측의 경우, 하나의 픽춰를 소정 크기를 가지는 복수의 블록(block)으로 구분하여 움직임 벡터(MV)를 생성하고, 생성된 움직임 벡터를 이용하여 움직임 보상을 수행한다. 움직임 보상을 수행하여 얻어지는 각각의 예측 블록에 대한 개별적인 움직임 파라미터는 디코더로 전송된다. In the case of motion compensation inter prediction, a motion vector (MV) is generated by dividing one picture into a plurality of blocks having a predetermined size, and motion compensation is performed using the generated motion vector. Individual motion parameters for each prediction block obtained by performing motion compensation are transmitted to the decoder.

움직임 벡터들은 비-정수 값들을 가질 수 있기 때문에, 움직임 보상 화면간 예측은 비-정수 위치들에서 참조 픽춰의 화소값들을 평가하는 것을 필요로 한다. 비-정수 위치에서의 화소값은 서브-픽셀 값으로 지칭되고 이러한 값을 결정하는 과정을 보간(interpolation)이라고 한다. 서브-픽셀값의 계산은 참조 픽춰의 정수 픽셀의 주위 픽셀들에 대해 필터 계수를 적용하여 필터링함으로써 행해진다. 예를 들어, H.264/AVC의 경우 P 픽춰의 경우 필터 계수들((1, -5, 20, 20, -5, 1)/32)을 지닌 6-탭 보간 필터를 사용하여 예측된다. 일반적으로 더 높은 차수의 필터들을 사용할 경우 더 나은 움직임 예측 성능을 가져오지만, 그 만큼 디코더로 전송할 보간 필터의 필터 계수의 전송량이 증가하게 되는 단점이 있다. Since motion vectors can have non-integer values, motion compensated inter picture prediction requires evaluating pixel values of the reference picture at non-integer positions. Pixel values at non-integer positions are referred to as sub-pixel values and the process of determining these values is called interpolation. The calculation of the sub-pixel values is done by applying filter coefficients to the pixels around the integer pixels of the reference picture. For example, it is predicted using a 6-tap interpolation filter with filter coefficients ((1, -5, 20, 20, -5, 1) / 32) for P picture for H.264 / AVC. In general, when higher order filters are used, better motion prediction performance is obtained, but the amount of transmission of the filter coefficients of the interpolation filter to be transmitted to the decoder increases.

본 발명의 제1 목적은 HD(High Definition)급 이상의 해상도를 가지는 고해상도 영상에서의 부호화 정밀도를 향상시키기 위한 영상 부호화 방법 및 부호화 장치를 제공하는 것이다. A first object of the present invention is to provide an image encoding method and an encoding apparatus for improving encoding accuracy in a high resolution image having a resolution of HD or higher definition.

본 발명의 제2 목적은 HD(High Definition)급 이상의 해상도를 가지는 고해상도 영상에서의 부호화 정밀도를 향상시키기 위한 영상 복호화 방법 및 복호화 장치를 제공하는 것이다. A second object of the present invention is to provide an image decoding method and decoding apparatus for improving encoding accuracy in a high resolution image having a resolution of HD or higher definition.

상술한 본 발명의 제1 목적을 달성하기 위한 본 발명의 일 측면에 따른 영상 부호화 방법은 입력 영상에 대해 화면간 예측을 위한 예측 유닛을 생성하는 단계와, 상기 예측 유닛에 대한 움직임 보상 화면간 예측을 수행하는 단계를 포함하되, 상기 예측 유닛에 대한 움직임 보상 화면간 예측을 수행하는 단계는 상기 움직임 보상 화면간 예측에 사용되는 필터를 픽춰 단위 보다 정밀한 단위-상기 정밀한 단위는 슬라이스(slice) 단위 및 파티션 단위 중 적어도 하나를 포함함-별로 선택하여 서브-픽셀값을 산출하는 단계를 포함한다. 상기 예측 유닛에 대한 움직임 보상 화면간 예측을 수행하는 단계는 상기 예측 유닛에 대한 파티션 분할후 현재 블록의 주변 샘플들을 포함하는 병합 가능 블록 집합에 속하는 샘플들을 상기 현재 블록과 병합하는 블록 병합을 수행하는 단계와, 상기 움직임 보상 화면간 예측에 사용되는 필터의 필터 정보-상기 필터 정보는 필터 인덱스 및 필터 계수 중 적어도 하나를 포함함-를 상기 정밀한 단위별로 선택하여 서브-픽셀값을 산출하는 단계를 포함할 수 있다. 상기 병합된 블록에 대해서는 동일한 필터 정보를 할당하여 복호화기로 전송할 수 있다. 상기 병합 가능 블록 집합은 비대칭(asymmetric) 파티션닝(partitioning)에 의해 생성된 블록 및 기하학적(geometrical) 파티션닝(partitioning)에 의해 생성된 블록 중 적어도 하나를 포함할 수 있다. According to an aspect of the present invention, there is provided a method of encoding an image, the method including generating a prediction unit for inter prediction on an input image, and performing motion compensation inter prediction on the prediction unit. And performing the motion compensated inter picture prediction for the prediction unit, wherein the filter used for the motion compensated inter picture prediction is a more precise unit than a picture unit, wherein the precise unit is a slice unit and And selecting at least one of the partition units to calculate sub-pixel values. The performing of the motion compensation inter prediction for the prediction unit may include performing block merge to merge samples belonging to a mergeable block set including neighboring samples of the current block after partitioning the prediction unit with the current block. And calculating the sub-pixel value by selecting the filter information of the filter used for the motion compensation inter prediction, wherein the filter information includes at least one of a filter index and a filter coefficient, for each of the precise units. can do. The same filter information may be allocated to the merged block and transmitted to the decoder. The mergeable block set may include at least one of a block generated by asymmetric partitioning and a block generated by geometrical partitioning.

또한, 본 발명의 제2 목적을 달성하기 위한 본 발명의 일 측면에 따른 영상의 복호화 방법은 수신된 비트 스트림을 엔트로피 복호화하여 잔여값을 역양자화 및 역변환하여 잔여값을 복원하는 단계와, 예측 유닛 정보 및 움직임 파라미터를 이용하여 예측 유닛을 생성하는 단계와, 픽춰 단위 보다 정밀한 단위-상기 정밀한 단위는 슬라이스(slice) 단위 및 파티션 단위 중 적어도 하나를 포함함-별로 선택하여 부호화된 필터 정보-상기 필터 정보는 필터 인덱스 및 필터 계수 중 적어도 하나를 포함함-를 이용하여 상기 예측 유닛에 대해 화면간 예측을 수행하는 단계와, 상기 화면간 예측이 수행된 예측 유닛에 상기 잔여값을 더하여 영상을 복원하는 단계를 포함한다. 상기 예측 유닛에 대한 파티션 분할후 병합 가능 블록 집합에 속하는 블록들 중 현재 블록과 병합된 블록에 대해서는 동일한 필터 정보를 가질 수 있다. 상기 필터 정보는 움직임 보상 화면간 예측에 사용되는 필터의 필터 정보가 될 수 있다. 상기 병합 가능 블록 집합은 비대칭(asymmetric) 파티션닝(partitioning)에 의해 생성된 블록 및 기하학적(geometrical) 파티션닝(partitioning)에 의해 생성된 블록 중 적어도 하나를 포함할 수 있다. 상기 엔트로피 복호화를 통해 복호화된 헤더 정보에는 예측 유닛 정보, 움직임 보상 및 예측을 위한 움직임 파라미터 및 필터 정보를 포함할 수 있다. In addition, the method of decoding an image according to an aspect of the present invention for achieving the second object of the present invention comprises the steps of entropy decoding the received bit stream to dequantize and inverse transform the residual value to restore the residual value, the prediction unit Generating a prediction unit by using the information and the motion parameter; and a unit that is more precise than a picture unit, wherein the unit of precision includes at least one of a slice unit and a partition unit. Information includes at least one of a filter index and a filter coefficient to perform inter prediction on the prediction unit, and reconstruct an image by adding the residual value to the prediction unit on which the inter prediction is performed. Steps. After partitioning the prediction unit, the blocks merged with the current block among the blocks belonging to the mergeable block set may have the same filter information. The filter information may be filter information of a filter used for motion compensation inter prediction. The mergeable block set may include at least one of a block generated by asymmetric partitioning and a block generated by geometrical partitioning. The header information decoded through entropy decoding may include prediction unit information, motion parameter and filter information for motion compensation and prediction.

또한, 본 발명의 제2 목적을 달성하기 위한 본 발명의 다른 측면에 따른 영상의 복호화 장치는 수신된 비트 스트림을 엔트로피 복호화하여 잔여값을 역양자화하고 역변환하여 잔여값을 복원하는 역양자화 및 역변환부와, 예측 유닛 정보 및 움직임 파라미터를 이용하여 예측 유닛을 생성하는 움직임 보상부와, 예측 유닛에 상기 잔여값을 더하여 영상을 복원하는 가산부를 포함하되, 상기 움직임 보상부는 픽춰 단위 보다 정밀한 단위-상기 정밀한 단위는 슬라이스(slice) 단위 및 파티션 단위 중 적어도 하나를 포함함-별로 선택하여 부호화된 필터 정보-상기 필터 정보는 필터 인덱스 및 필터 계수 중 적어도 하나를 포함함-를 이용하여 상기 예측 유닛에 대해 화면간 예측을 수행한다. In addition, the apparatus for decoding an image according to another aspect of the present invention to entropy decode the received bit stream to dequantize the residual value and inverse transform to restore the residual value by inverse quantization and inverse transform unit And a motion compensator for generating a prediction unit using the prediction unit information and the motion parameter, and an adder for reconstructing the image by adding the residual value to the prediction unit, wherein the motion compensator is more precise than the picture unit. The unit includes at least one of a slice unit and a partition unit, and selects and encodes the filtered information by the filter, wherein the filter information includes at least one of a filter index and a filter coefficient. Perform inter prediction.

상술한 바와 같은 블록 병합을 이용한 영상 부호화/복호화 장치 및 방법에 따르면, HD(High Definition)급 이상의 해상도를 가지는 고해상도 영상에서의 움직임 보상 화면간 예측에 사용되는 보간 필터를 픽춰 단위 보다 더 정밀한 단위-예를 들어 슬라이스(slice) 단위 또는 파티션 단위(상기 파티션 단위는 확장 매크로 블록, 매크로 블록, 또는 블록을 포함할 수 있음)-별로 선택함으로써 부호화 정밀도를 향상시킬 수 있다. According to the image encoding / decoding apparatus and method using block merging as described above, an interpolation filter used for motion compensation inter-prediction in a high resolution image having a high definition (HD) or higher resolution is more precise than a picture unit. For example, encoding precision may be improved by selecting a slice unit or a partition unit (the partition unit may include an extended macroblock, a macroblock, or a block).

또한, 움직임 보상 화면간 예측에 사용되는 보간 필터의 필터 정보-필터 인덱스 또는 필터 계수-의 전송 단위로 파티션 단위를 사용할 경우 블록 병합을 이용하여 병합된 블록 전체를 필터 정보의 전송 단위로 사용함으로써 디코더로 전송할 부가 정보의 양을 줄임으로써 HD급 또는 울트라 HD(Ultra High Definition)급 이상의 고해상도를 가지는 영상의 부호화 효율을 향상시킬 수 있다.In addition, when the partition unit is used as the transmission unit of the filter information-the filter index or the filter coefficient of the interpolation filter used for the motion compensation inter prediction, the entire block merged using the block merge is used as the transmission unit of the filter information. By reducing the amount of additional information to be transmitted, the coding efficiency of an image having a high resolution of HD or Ultra HD (Ultra High Definition) or higher can be improved.

도 1은 본 발명의 일 실시예에 따른 순환적 코딩 유닛 구조를 나타낸 개념도이다.
도 2는 본 발명의 일 실시예에 따른 필터를 슬라이스 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 3은 본 발명의 다른 실시예에 따른 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 4는 본 발명의 다른 실시예에 따른 필터를 비대칭적 파티션(asymmetric partitioning) 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 5는 예측 유닛(PU)에 대해 정사각형이외의 모양을 가지는 기하학적 파티션(geometric partition) 분할을 하는 경우의 일실시예를 나타낸 것이다.
도 6은 본 발명의 다른 실시예에 따른 필터를 정사각형이외의 모양을 가지는 기하학적 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 7은 본 발명의 또 다른 실시예에 따른 필터를 정사각형이외의 모양을 가지는 기하학적 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 8은 본 발명의 다른 실시예에 따른 블록 병합(block merging)을 이용하여 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 9 및 도 10은 본 발명의 다른 실시예에 따른 비대칭적 파티션 분할(asymmetric partitioning)의 경우 블록 병합(block merging)을 이용하여 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 11은 본 발명의 다른 실시예에 따른 기하학적 파티션 분할(geometrical partitioning)의 경우 블록 병합(block merging)을 이용하여 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 12 및 도 13은 본 발명의 다른 실시예에 따른 기하학적 파티션 분할(geometrical partitioning)의 경우 블록 병합(block merging)을 이용하여 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 14는 본 발명의 일 실시예에 따른 슬라이스 또는 파티션 단위로 필터를 선택하여 부호화하기 위한 영상 부호화 장치의 구성을 나타내는 블록도이다.
도 15는 본 발명의 일 실시예에 따른 슬라이스 또는 파티션 단위로 필터를 선택하여 부호화하기 위한 영상 부호화 방법을 나타내는 흐름도이다.
도 16는 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 나타내는 블록도이다.
도 17은 본 발명의 일 실시예에 따른 영상 복호화 방법을 나타내는 흐름도이다.
1 is a conceptual diagram illustrating a recursive coding unit structure according to an embodiment of the present invention.
2 is a conceptual view illustrating a process of selecting and using a filter in a slice unit according to an embodiment of the present invention.
3 is a conceptual view illustrating a process of selecting and using a filter in a partition unit according to another embodiment of the present invention.
4 is a conceptual diagram illustrating a process of selecting and using a filter in units of asymmetric partitioning according to another embodiment of the present invention.
FIG. 5 illustrates an embodiment of performing geometric partition division having a shape other than square with respect to the prediction unit PU.
6 is a conceptual diagram illustrating a process of selecting and using a filter in a geometric partition unit having a shape other than square according to another embodiment of the present invention.
FIG. 7 is a conceptual diagram illustrating a process of selecting and using a filter in a geometric partition unit having a shape other than square according to another embodiment of the present invention.
FIG. 8 is a conceptual diagram illustrating a process of selecting and using a filter in partition units using block merging according to another embodiment of the present invention.
9 and 10 are conceptual views illustrating a process of selecting and using a filter in partition units using block merging in case of asymmetric partitioning according to another embodiment of the present invention.
FIG. 11 is a conceptual diagram illustrating a process of selecting and using a filter in partition units using block merging in the case of geometric partitioning according to another embodiment of the present invention.
12 and 13 are conceptual views illustrating a process of selecting and using a filter in partition units using block merging in the case of geometric partitioning according to another embodiment of the present invention.
14 is a block diagram illustrating a configuration of an image encoding apparatus for selecting and encoding a filter in units of slices or partitions, according to an embodiment of the present invention.
15 is a flowchart illustrating an image encoding method for selecting and encoding a filter in units of slices or partitions according to an embodiment of the present invention.
16 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
17 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.As the present invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is said to be "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that another component may exist in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. In the following description of the present invention, the same reference numerals are used for the same elements in the drawings and redundant descriptions of the same elements will be omitted.

본 발명의 일실시예에서는 HD(High Definition)급 이상의 해상도를 가지는 고해상도에 적용하기 위하여 32x32 픽셀 크기 이상의 확장 매크로블록(Extended Macroblock) 크기를 이용하여 화면간/화면내 예측, 변환, 양자화, 엔트로피 부호화등의 부호화와 복호화를 수행할 수도 있고, 하기 설명하는 순환적(recursive) 코딩 유닛(Coding Unit; CU) 구조를 사용하여 부호화 및 복호화를 수행할 수도 있다. In one embodiment of the present invention, inter-picture / in-picture prediction, transform, quantization, and entropy encoding are performed using an extended macroblock size of 32x32 pixel size or more to apply to a high resolution having a high definition (HD) or higher resolution. Encoding and decoding may be performed, or encoding and decoding may be performed using a recursive coding unit (CU) structure to be described below.

이하에서, 서브-픽셀값 보간은 화상의 휘도(luma) 및 색(chroma) 성분들 양자에 적용될 수 있다. 여기에서는 설명의 단순화를 위하여 휘도 성분의 서브-픽셀값들의 보간만을 예로 들어 설명한다. In the following, sub-pixel value interpolation may be applied to both luma and chroma components of an image. In the following description, only the interpolation of the sub-pixel values of the luminance component is described for simplicity.

도 1은 본 발명의 일 실시예에 따른 순환적 코딩 유닛 구조를 나타낸 개념도이다. 1 is a conceptual diagram illustrating a recursive coding unit structure according to an embodiment of the present invention.

도 1을 참조하면, 각 코딩 유닛(CU)은 정사각형 모양을 가지며, 각 코딩 유닛(CU)은 2N X 2N(단위 pixel) 크기의 가변적인 크기를 가질 수 있다. 화면간 예측, 화면내 예측, 변환, 양자화 및 엔트로피 부호화는 코딩 유닛(CU) 단위로 이루어질 수 있다. 코딩 유닛(CU)은 최대 코딩 유닛(LCU), 최소 코딩 유닛(SCU)를 포함할 수 있으며, 최대 코딩 유닛(LCU), 최소 코딩 유닛(SCU)의 크기는 8이상의 크기를 가지는 2의 거듭제곱 값으로 나타낼 수 있다. Referring to FIG. 1, each coding unit CU has a square shape, and each coding unit CU may have a variable size of 2N × 2N (unit pixel) size. Inter prediction, intra prediction, transform, quantization, and entropy encoding may be performed in units of coding units (CUs). The coding unit (CU) may comprise a maximum coding unit (LCU), a minimum coding unit (SCU), the size of the maximum coding unit (LCU), the minimum coding unit (SCU) is a power of two having a size of 8 or more. Can be represented by a value.

본 발명의 일 실시예에 따른 코딩 유닛(CU)은 순환적인 트리 구조를 가질 수 있다. 도 1은 최대 코딩 유닛(LCU)인 CU0의 한변의 크기(2N0)가 128(N0=64)이고, 최대 계층 레벨(level) 또는 계층 깊이(depth)가 5인 경우를 나타낸다. 순환적인 구조는 일련의 플래그(flag)를 통하여 표현될 수 있다. 예를들어, 계층 레벨(level) 또는 계층 깊이(depth)가 k인 코딩 유닛(CUk)의 플래그(flag)값이 0인 경우, 코딩 유닛(CUk)에 대한 코딩(coding)은 현재의 계층 레벨(level) 또는 계층 깊이(depth)에 대해 이루어지며, 플래그(flag)값이 1인 경우, 현재의 계층 레벨(level) 또는 계층 깊이(depth)가 k인 코딩 유닛(CUk)은 4개의 독립적인 코딩 유닛(CUk+1)으로 분할되며, 분할된 코딩 유닛(CUk+1)은 계층 레벨(level) 또는 계층 깊이(depth)가 k+1이 되며, 크기는 Nk+1 X Nk+1가 된다. 이 경우 코딩 유닛(CUk+1)은 코딩 유닛(CUk)의 서브 코딩 유닛으로 나타낼 수 있다. 코딩 유닛(CUk+1)의 계층 레벨(level) 또는 계층 깊이(depth)가 최대 허용 가능한 계층 레벨(level) 또는 계층 깊이(depth)에 도달할 때까지 코딩 유닛(CUk+1)은 순환적으로(recursive) 처리될 수 있다. 코딩 유닛(CUk+1)의 계층 레벨(level) 또는 계층 깊이(depth)가 최대 허용 가능한 계층 레벨(level) 또는 계층 깊이(depth)-도 2에서는 4인 경우를 예로 들었음-과 동일한 경우에는 더 이상의 분할은 허용되지 않는다.Coding unit (CU) according to an embodiment of the present invention may have a circular tree structure. FIG. 1 illustrates a case where the size 2N0 of one side of CU0, which is the maximum coding unit (LCU), is 128 (N0 = 64), and the maximum hierarchical level or hierarchical depth is five. The recursive structure can be represented through a series of flags. For example, when a flag value of a coding unit CUk having a layer level or a layer depth k is 0, the coding for the coding unit CUk is a current layer level. for a level or layer depth, and if the flag value is 1, the coding unit CUk with the current layer level or layer depth k is 4 independent. The coding unit CUk + 1 is divided into a coding unit CUk + 1, and the divided coding unit CUk + 1 has a hierarchical level or layer depth k + 1 and a size Nk + 1 X Nk + 1. . In this case, the coding unit CUk + 1 may be represented as a sub coding unit of the coding unit CUk. The coding unit CUk + 1 is cyclically cycled until the hierarchical level or hierarchical depth of the coding unit CUk + 1 reaches the maximum allowable hierarchical level or hierarchical depth. (recursive) can be processed. If the hierarchical level or hierarchical depth of the coding unit CUk + 1 is the same as the maximum allowable hierarchical level or hierarchical depth, the case of 4 in FIG. 2 is taken as an example. The above division is not allowed.

최대 코딩 유닛(LCU)의 크기 및 최소 코딩 유닛(SCU)의 크기는 시퀀스 파라미터 셋(Sequence Parameter Set; SPS)에 포함될 수 있다. 시퀀스 파라미터 셋(SPS)는 최대 코딩 유닛(LCU)의 최대 허용 가능한 계층 레벨(level) 또는 계층 깊이(depth)를 포함할 수 있다. 예를 들어, 도 1의 경우는 최대 허용 가능한 계층 레벨(level) 또는 계층 깊이(depth)는 5이고, 최대 코딩 유닛(LCU)의 한변의 크기가 128(단위 pixel)인 경우, 128 X 128(LCU), 64 X 64, 32 X 32, 16 X 16 및 8 X 8(SCU)의 5가지 종류의 코딩 유닛 크기가 가능하다. 즉, 최대 코딩 유닛(LCU)의 크기 및 최대 허용 가능한 계층 레벨(level) 또는 계층 깊이(depth)가 주어지면 허용가능한 코딩 유닛의 크기가 결정될 수 있다.The size of the largest coding unit (LCU) and the size of the minimum coding unit (SCU) may be included in a sequence parameter set (SPS). The sequence parameter set (SPS) may comprise the maximum allowable layer level or layer depth of the maximum coding unit (LCU). For example, in the case of FIG. 1, when the maximum allowable layer level or layer depth is 5, and the size of one side of the maximum coding unit (LCU) is 128 (unit pixel), 128 X 128 ( LCU), 64 X 64, 32 X 32, 16 X 16 and 8 X 8 (SCU) are available in five different coding unit sizes. That is, the size of the allowable coding unit may be determined given the size of the largest coding unit (LCU) and the maximum allowable layer level or layer depth.

상기와 같은 본 발명의 일 실시예에 따른 순환적 코딩 유닛 구조를 사용할 경우의 장점은 다음과 같다. Advantages of using a recursive coding unit structure according to an embodiment of the present invention as described above are as follows.

첫째, 기존의 16 X 16 매크로블록보다 큰 사이즈를 지원할 수 있다. 만약 관심 이미지 영역이 균일(homogeneous)하다면, 큰 코딩 유닛(LCU)은 여러 개의 작은 블록들을 사용하는 경우보다 관심 이미지 영역을 더 적은 개수의 심볼들로 표시할 수 있다. First, it can support a larger size than the existing 16 X 16 macroblock. If the image region of interest is homogeneous, the large coding unit (LCU) may display the image region of interest with fewer symbols than if using several small blocks.

둘째, 고정된 크기의 매크로블록을 사용하는 경우에 비하여 임의의 다양한 크기를 가지는 최대 코딩 유닛(LCU)을 지원함으로써 코덱은 다양한 콘텐츠, 애플리케이션 및 장치에 용이하게 최적화될 수 있다. 즉, 최대 코딩 유닛(LCU) 크기 및 최대 계층 레벨(level) 또는 최대 계층 깊이(depth)를 적절히 선택함으로써, 상기 계층적 블록 구조는 목표로 하는 애플리케이션에 보다 더 최적화 될 수 있다.Second, the codec can be easily optimized for various contents, applications and devices by supporting a maximum coding unit (LCU) having any of various sizes as compared to using fixed size macroblocks. That is, by appropriately selecting the maximum coding unit (LCU) size and the maximum hierarchical level or maximum hierarchical depth, the hierarchical block structure can be further optimized for the target application.

셋째, 매크로블록, 서브-매크로블록, 확장 매크로 블록을 구분하지 않고 코딩 유닛(LCU)이라는 한 개의 단일 유닛 형태를 사용함으로써, 멀티레벨 계층적 구조를 최대 코딩 유닛(LCU) 크기, 최대 계층 레벨(level)(또는 최대 계층 깊이(depth)) 및 일련의 플래그를 이용하여 매우 간단하게 나타낼 수 있다. 크기 독립적(size-independent)인 신택스 표현(syntax representation)과 함께 사용될 경우 나머지 코딩 툴들에 대한 하나의 일반화된 크기의 신택스 아이템을 명시하는데 충분하게 되며, 이러한 일관성이 실제 파싱 과정등을 단순화 시킬 수 있다. 계층 레벨(level)(또는 최대 계층 깊이(depth))의 최대값은 임의값을 가질 수 있으며 기존의 H.264/AVC 부호화 방식에서 혀용된 값보다 더 큰 값을 가질 수 있다. 크기 독립적 신택스 표현을 사용하여 코딩 유닛(CU)의 크기에 독립적으로 일관된 방식으로 모든 신택스 엘리먼트(syntax elements)를 명시할 수 있다. 코딩 유닛(CU)에 대한 분할 과정(splitting process)은 순환적으로 명시될 수 있고, 말단 코딩 유닛(leaf coding unit)-계층 레벨의 마지막 코딩 유닛-에 대한 다른 신택스 엘리먼트들은 코딩 유닛 크기에 무관하게 동일한 크기로 정의될 수 있다. 상기와 같은 표현법은 파싱 복잡도를 줄이는 데 매우 효과적이며, 큰 계층 레벨 또는 계층 깊이가 허용되는 경우 표현의 명료성이 향상될 수 있다.Third, by using a single unit type called a coding unit (LCU) without distinguishing macroblocks, sub-macroblocks, and extended macroblocks, a multilevel hierarchical structure can be defined as a maximum coding unit (LCU) size, a maximum hierarchical level ( It can be represented very simply using level (or maximum layer depth) and a series of flags. When used with a size-independent syntax representation, it is sufficient to specify one generalized size syntax item for the remaining coding tools, which can simplify the actual parsing process, etc. . The maximum value of the hierarchical level (or maximum hierarchical depth) may have a random value and may have a larger value than that allowed in the existing H.264 / AVC coding scheme. Size independent syntax representation can be used to specify all syntax elements in a manner consistent with the size of the coding unit (CU) independent of. The splitting process for the coding unit (CU) can be specified circularly, and other syntax elements for the leaf coding unit-the last coding unit at the layer level-are independent of the coding unit size. Can be defined to be the same size. Such a representation is very effective in reducing parsing complexity, and the clarity of the representation can be improved when a large hierarchical level or hierarchical depth is allowed.

상기와 같은 계층적인 분할 과정이 완료되면 더 이상의 분할 없이 코딩 유닛 계층 트리의 말단 노드에 대해 화면간 예측 또는 화면내 예측을 수행할 수 있으며, 이러한 말단 코딩 유닛이 화면간 예측 또는 화면내 예측의 기본 단위인 예측 유닛(Prediction Unit; PU)으로 사용된다. When the hierarchical splitting process is completed, inter-screen prediction or intra-screen prediction may be performed on the end nodes of the coding unit hierarchical tree without further splitting. It is used as a prediction unit (PU) which is a unit.

즉, 화면간 예측 또는 화면내 예측을 위하여 상기 말단 코딩 유닛에 대해 파티션(partition) 분할이 수행 된다. 파티션 분할은 예측 유닛(PU)에 대해 수행된다. 여기서, 에측 유닛(PU)는 화면간 예측 또는 화면내 예측을 위한 기본 단위의 의미이며, 기존의 매크로 블록 단위 또는 서브-매크로 블록 단위가 될 수도 있고, 32 X 32 픽셀 크기 이상의 확장 매크로 블록 단위가 될 수도 있다.That is, partition division is performed on the end coding unit for inter prediction or intra prediction. Partitioning is performed for the prediction unit (PU). Here, the prediction unit PU means a basic unit for inter prediction or intra prediction, and may be a conventional macro block unit or a sub-macro block unit, and an extended macro block unit of 32 × 32 pixels or more May be

예측과 관련된 정보(움직임 벡터, 움직임 벡터의 차이값등)는 화면간 예측의 기본 단위인 예측 유닛별로 디코더로 전송된다. The information related to the prediction (motion vector, difference value of motion vector, etc.) is transmitted to the decoder for each prediction unit, which is a basic unit of inter prediction.

상기 화면간 예측 또는 화면내 예측을 위한 파티션 분할은 비대칭적 파티션 분할(asymmetric partitioning) 방식으로 이루어질 수도 있고, 정사각형이외의 임의의 모양을 가지는 기하학적 파티션 분할(geometrical partitioning) 방식으로 이루어질 수도 있고, 에지 방향에 따른 파티션 분할 방식으로 이루어질 수도 있다.Partitioning for inter-screen prediction or intra-screen prediction may be performed by asymmetric partitioning, by geometrical partitioning with an arbitrary shape other than square, or by edge direction. It may be made in a partition scheme according to.

움직임 보상 화면간 예측의 경우, 하나의 픽춰를 소정 크기를 가지는 복수의 블록(block)으로 구분하여 움직임 벡터(MV)를 생성하고, 생성된 움직임 벡터를 이용하여 움직임 보상을 수행한다. 움직임 벡터들은 비-정수 값들을 가질 수 있기 때문에, 움직임 보상 화면간 예측은 비-정수 위치들에서 참조 픽춰의 서브-픽셀값들을 계산하기 위하여 보간 필터(Interpolation Filter)를 사용한다. 즉, 서브-픽셀값의 계산은 참조 픽춰의 정수 픽셀의 주위 픽셀들에 대해 필터 계수를 적용하여 필터링함으로써 행해진다. 더 높은 차수의 필터들을 사용할 경우 더 나은 움직임 예측 성능을 가져오지만, 그 만큼 디코더로 전송할 보간 필터의 필터 계수의 전송량이 증가하게 된다. In the case of motion compensation inter prediction, a motion vector (MV) is generated by dividing one picture into a plurality of blocks having a predetermined size, and motion compensation is performed using the generated motion vector. Since motion vectors can have non-integer values, motion compensated inter picture prediction uses an interpolation filter to calculate sub-pixel values of the reference picture at non-integer positions. That is, the calculation of the sub-pixel value is done by applying filter coefficients to the pixels around the integer pixels of the reference picture. Using higher order filters results in better motion prediction performance, but increases the amount of transmission of the filter coefficients of the interpolation filter to be transmitted to the decoder.

따라서, 본 발명의 실시예들에 따른 보간 필터의 적응적 사용 방법은 하나의 픽춰내에서 최적의 보간 필터는 픽춰내의 영역에 따라 다를 수 있다는 실험 결과에 근거하여 보간 필터를 픽춰 단위 보다 더 정밀한 단위- 예를 들어 슬라이스(slice) 단위 또는 파티션 단위(상기 파티션 단위는 확장 매크로 블록, 매크로 블록, 또는 블록을 포함할 수 있음)로 선택하여 사용함으로써 부호화/복호화를 수행한다. Accordingly, in the adaptive method of using the interpolation filter according to the embodiments of the present invention, the interpolation filter is more precise than the picture unit based on the experimental result that the optimal interpolation filter in one picture may be different depending on the area within the picture. For example, encoding / decoding is performed by selecting and using a slice unit or a partition unit (the partition unit may include an extended macro block, a macro block, or a block).

이하, 본 발명의 실시예들에 따른 움직임 보상 화면간 예측에 사용되는 보간 필터를 픽춰 단위 보다 더 정밀한 단위-예를 들어 슬라이스(slice) 단위 또는 파티션 단위(상기 파티션 단위는 확장 매크로 블록, 매크로 블록, 또는 블록을 포함할 수 있음)-로 선택하여 사용함으로써 부호화/복호화하는 방법에 대해 구체적으로 설명한다. Hereinafter, an interpolation filter used for motion compensated inter picture prediction according to embodiments of the present invention is more precise than a picture unit, for example, a slice unit or a partition unit (the partition unit may be an extended macro block or a macro block. Or a block), which will be described in detail.

도 2는 본 발명의 일 실시예에 따른 필터를 슬라이스 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다. 2 is a conceptual view illustrating a process of selecting and using a filter in a slice unit according to an embodiment of the present invention.

도 2를 참조하면, 시간 t에 대한 현재 픽처(Pt)는 시간 t에서의 후보 필터 집합(CFSt)에 속하는 후보 필터들- 예를들어 F1, F2, F3 세개의 필터- 중에서 최적의 하나의 필터를 선택하여 사용한다. 복수의 필터들은 필터 인덱스(filter index)로 서로 구분될 수 있다. 필터 인덱스는 선택된 필터들을 구분하기 위한 식별자이다. 필터 인덱스는 선택된 필터에 대한 필터 정보에 포함되어 복호화기로 전송될 수 있다. 이하, 상기 필터는 예를 들어 움직임 보상 화면간 예측시에 사용되는 보간 필터가 될 수 있다. Referring to FIG. 2, the current picture Pt for time t is an optimal one among candidate filters belonging to the candidate filter set CFSt at time t, for example, three filters F1, F2, and F3. Select to use. The plurality of filters may be distinguished from each other by a filter index. The filter index is an identifier for distinguishing selected filters. The filter index may be included in the filter information for the selected filter and transmitted to the decoder. Hereinafter, the filter may be, for example, an interpolation filter used in motion compensation inter prediction.

또한, 시간 t에 대한 현재 픽처(Pt) 내에서 슬라이스 단위로 시간 t에서의 후보 필터 집합(CFSt)에 속하는 후보 필터들- 예를들어 F1, F2, F3 세개의 필터- 중에서 최적의 하나의 필터를 선택하여 사용할 수 있다. 즉, 현재 픽처(Pt)의 슬라이스 별로 최적의 필터를 선택할 수 있으며, 따라서 선택된 최적의 필터는 현재 픽처(Pt)의 슬라이스(slice #0, slice #1, slice #2, ...slice #N) 별로 서로 다른 필터가 될 수 있다. 예를 들어, 현재 픽처(Pt)의 슬라이스 번호 0(slice #0)에 대해서는 후보 필터 집합(CFSt)에 속하는 후보 필터들 중에서 F1 필터를 선택하고, 현재 픽처(Pt)의 슬라이스 번호 1(slice #1)에 대해서는 후보 필터 집합(CFSt)에 속하는 후보 필터들 중에서 F2 필터를 선택할 수 있다. 또는, 선택된 최적의 필터는 현재 픽처(Pt)의 슬라이스별로 동일한 필터가 될 수도 있다. 예를 들어, 현재 픽처(Pt)의 슬라이스 번호 0에 대해서는 후보 필터 집합(CFSt)에 속하는 후보 필터들 중에서 F1 필터를 선택하고, 현재 픽처(Pt)의 슬라이스 번호 1에 대해서도 후보 필터 집합(CFSt)에 속하는 후보 필터들 중에서 F1 필터가 선택될 수 있다. In addition, an optimal one of the candidate filters belonging to the candidate filter set CFSt at time t in slice units within the current picture Pt for time t, for example, three filters F1, F2, and F3 You can select and use. That is, an optimal filter may be selected for each slice of the current picture Pt, and thus the selected optimal filter may include slice # 0, slice # 1, slice # 2, ... slice #N of the current picture Pt. ) Can be different filters. For example, for slice number 0 (slice # 0) of the current picture Pt, the F1 filter is selected from candidate filters belonging to the candidate filter set CFSt, and slice number 1 (slice # of the current picture Pt) is selected. For 1), the F2 filter may be selected from candidate filters belonging to the candidate filter set CFSt. Alternatively, the selected optimal filter may be the same filter for each slice of the current picture Pt. For example, for slice number 0 of the current picture Pt, the F1 filter is selected from the candidate filters belonging to the candidate filter set CFSt, and for the slice number 1 of the current picture Pt, the candidate filter set CFSt is also selected. The F1 filter may be selected from candidate filters belonging to.

현재 픽처(Pt)의 슬라이스 별 최적의 필터 선택은 율-왜곡 최적화 기준(Rate-distortion optimization criterion)에 따라서 후보 필터 집합(Candidate Filter Set; CFS)에 속하는 필터들 중에서 필터를 선택할 수 있다. The optimal filter selection for each slice of the current picture Pt may select a filter among filters belonging to a candidate filter set (CFS) according to a rate-distortion optimization criterion.

시간 t에 대한 현재 픽처(Pt) 내에서 슬라이스 단위로 시간 t에서의 후보 필터 집합(CFSt)에 속하는 후보 필터들- 예를들어 F1, F2, F3 세개의 필터- 중에서 최적의 하나의 필터를 선택함으로써 픽처 단위보다 더 정밀한 슬라이스 단위로 필터 정보-필터 인덱스 또는 필터 계수-를 전송할 수 있게 되어 부호화 정밀도를 향상시킬 수 있다.Select the best one among candidate filters belonging to the candidate filter set CFSt at time t in slice units within the current picture Pt for time t, e.g. three filters F1, F2, F3. As a result, the filter information-the filter index or the filter coefficient-can be transmitted in a slice unit more precisely than the unit of the picture, thereby improving the encoding precision.

도 3은 본 발명의 다른 실시예에 따른 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다. 3 is a conceptual view illustrating a process of selecting and using a filter in a partition unit according to another embodiment of the present invention.

여기서, 파티션(partition)은 확장 매크로 블록(EMB), 매크로 블록(MB), 또는 블록을 포함할 수 있다. 확장 매크로 블록 크기는 32 X 32 픽셀 크기 이상을 의미하며, 예를 들어, 32 X 32 픽셀, 64 X 64 픽셀, 또는 128 X 128 픽셀 크기를 포함할 수 있다. 매크로 블록 크기는 예를 들어 16 X 16 픽셀이 될 수 있다. The partition may include an extended macro block (EMB), a macro block (MB), or a block. The extended macro block size means more than 32 X 32 pixels, and may include, for example, 32 X 32 pixels, 64 X 64 pixels, or 128 X 128 pixels. The macro block size can be, for example, 16 X 16 pixels.

도 3에서는 파티션이 64 X 64 픽셀, 32 X 32 픽셀, 16 X 16 픽셀로 이루어진 경우를 예로 들어 파티션과 필터 인덱스(filter indices)간의 관계를 도시한 것이다. 도 3의 좌측 64 X 64 파티션은 64 X 64 파티션이 64 X 64 픽셀 크기의 확장 매크로 블록인 경우를 나타내며, 도 3의 가운데 그림은 64 X 64 파티션이 4개의 32 X 32 픽셀 크기의 파티션으로 분할된 경우로서, 32 X 32 픽셀 크기의 파티션이 32 X 32 픽셀 크기의 확장 매크로 블록인 경우를 나타낸다. 도 3의 우측 그림은 64 X 64 파티션이 4개의 32 X 32 픽셀 크기의 파티션으로 분할되고, 다시 좌측 하단의 32 X 32 파티션이 4개의 16 X 16 파티션으로 분할된 경우로서, 32 X 32 픽셀 크기의 파티션이 32 X 32 픽셀 크기의 확장 매크로 블록이고 16 X 16 픽셀 크기의 파티션이 16 X 16 픽셀 크기의 매크로 블록인 경우를 나타낸다.3 illustrates a relationship between partitions and filter indices, for example, when a partition is composed of 64 × 64 pixels, 32 × 32 pixels, and 16 × 16 pixels. The left 64 X 64 partition of FIG. 3 shows a case where the 64 X 64 partition is an extended macro block of size 64 X 64 pixels, and the middle figure of FIG. 3 divides the 64 X 64 partition into four 32 X 32 pixel size partitions. In this case, the partition having a size of 32 X 32 pixels is an extended macro block having a size of 32 X 32 pixels. 3 shows a case where a 64 X 64 partition is divided into four 32 X 32 pixel partitions, and the lower left 32 X 32 partition is divided into four 16 X 16 partitions. This indicates that the partition of is a 32 × 32 pixel extended macroblock and a 16 × 16 pixel partition is a 16 × 16 pixel macroblock.

예를 들어, 도 3의 좌측 64 X 64 파티션은 율-왜곡 최적화를 통해 64 X 64 파티션이 한 개의 64 X 64 블록으로 선택되는 경우로서, 64 X 64 파티션에 대해 한 개의 필터 인덱스 Ix가 복호화기로 전송된다. For example, the left 64 X 64 partition of FIG. 3 is a case in which a 64 X 64 partition is selected as one 64 X 64 block through rate-distortion optimization, and one filter index Ix is selected as the decoder for the 64 X 64 partition. Is sent.

예를 들어, 도 3의 가운데 64 X 64 파티션은 4개의 32 X 32 파티션 각각에 대해 한 개의 필터 인덱스가 복호화기로 전송된다. 여기서, 4개의 32 X 32 파티션 각각에 대해 도 3의 가운데 그림과 같이 율-왜곡 최적화를 통해 서로 다른 필터 인덱스가 선택될 수도 있고(Ix0, Ix1, Ix2, Ix3), 4개의 32 X 32 파티션에 대해 율-왜곡 최적화를 통해 일부 동일하거나 전부 동일한 필터 인덱스가 선택될 수도 있다. For example, in the middle 64 X 64 partition of FIG. 3, one filter index is transmitted to the decoder for each of the four 32 X 32 partitions. Here, for each of the four 32 X 32 partitions, different filter indices may be selected through rate-distortion optimization as shown in the center of FIG. 3 (Ix0, Ix1, Ix2, Ix3). For some equal or all identical filter indices may be selected through rate-distortion optimization for.

예를 들어, 도 3의 우측 64 X 64 파티션은 3개의 32 X 32 파티션 각각에 대해 한 개의 필터 인덱스가 복호화기로 전송되고, 4개의 32 X 32 파티션 각각에 대해 한 개의 필터 인덱스가 복호화기로 전송되어 최대 7개의 필터 인덱스가 사용될 수 있다. 여기서, 4개의 32 X 32 파티션 각각에 대해 도 3의 가운데 그림과 같이 율-왜곡 최적화를 통해 서로 다른 필터 인덱스가 선택될 수도 있고(Ix0, Ix1, Ix2, Ix3), 4개의 32 X 32 파티션에 대해 율-왜곡 최적화를 통해 일부 동일하거나 전부 동일한 필터 인덱스가 선택될 수도 있다. For example, in the right 64 X 64 partition of FIG. 3, one filter index is transmitted to the decoder for each of the three 32 X 32 partitions, and one filter index is transmitted to the decoder for each of the four 32 X 32 partitions. Up to seven filter indices may be used. Here, for each of the four 32 X 32 partitions, different filter indices may be selected through rate-distortion optimization as shown in the center of FIG. 3 (Ix0, Ix1, Ix2, Ix3). For some equal or all identical filter indices may be selected through rate-distortion optimization for.

64 X 64 파티션은 16개의 16 X 16 파티션으로 분할될 경우 최대 16개의 필터 인덱스가 사용될 수 있다. When a 64 X 64 partition is partitioned into 16 16 X 16 partitions, up to 16 filter indices can be used.

도 4는 본 발명의 다른 실시예에 따른 필터를 비대칭적 파티션(asymmetric partitioning) 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다. 4 is a conceptual diagram illustrating a process of selecting and using a filter in units of asymmetric partitioning according to another embodiment of the present invention.

화면간 예측 또는 화면내 예측을 위한 예측 유닛(PU)의 크기가 M X M(M은 자연수로서 단위는 pixel)인 경우 코딩 유닛의 수평방향으로 비대칭적 파티션 분할을 하거나 또는 수직방향으로 비대칭적 파티션 분할을 할 수 있다. 도 4에서는 예측 유닛(PU)의 크기가 예를 들어 64 X 64인 경우에 대해 도시하였다. If the size of the prediction unit (PU) for inter prediction or intra prediction is MXM (M is a natural number, the unit is pixel), asymmetric partition division is performed in the horizontal direction of the coding unit or asymmetric partition division is performed in the vertical direction. can do. In FIG. 4, the size of the prediction unit PU is, for example, 64 × 64.

도 4를 참조하면, 수평 방향으로 비대칭적 파티션 분할을 하여 64 X 16 픽셀 크기의 파티션 P11a와 64 X 48 픽셀 크기의 P21a로 분할하거나, 64 X 48 픽셀 크기의 파티션 P12a와 64 X 16 픽셀 크기의 P22a로 분할할 수 있다. 또한, 수직 방향으로 비대칭적 파티션 분할을 하여 16 X 64 픽셀 크기의 파티션 P13a와 48 X 64 픽셀 크기의 P23a로 분할하거나, 48 X 64 픽셀 크기의 파티션 P14a와 16 X 64 픽셀 크기의 P24a로 분할할 수 있다. Referring to FIG. 4, asymmetric partitioning in the horizontal direction is performed to partition the partition P11a having a size of 64 X 16 pixels and P21a having a size of 64 X 48 pixels, or partition P12a having a size of 64 X 48 pixels and a size of 64 X 16 pixels. It can divide into P22a. You can also split the partition asymmetrically in the vertical direction into partitions P13a 16 x 64 pixels and P23a 48 x 64 pixels, or P24a 48 x 64 pixels and P24a 16 x 64 pixels. Can be.

도 4의 64 X 16 파티션, 64 X 48 파티션, 16 X 64 파티션, 48 X 64 파티션 각각에 대해서 한 개의 필터 인덱스가 복호화기로 전송된다. 여기서, 64 X 64 파티션 내의 64 X 16 파티션, 64 X 48 파티션, 16 X 64 파티션, 48 X 64 파티션 각각에 대해 율-왜곡 최적화를 통해 서로 다른 필터 인덱스가 선택될 수도 있고, 전부 동일한 필터 인덱스가 선택될 수도 있다. One filter index is transmitted to the decoder for each of the 64 X 16 partition, the 64 X 48 partition, the 16 X 64 partition, and the 48 X 64 partition of FIG. Here, different filter indices may be selected through rate-distortion optimization for each of the 64 X 16 partitions, the 64 X 48 partitions, the 16 X 64 partitions, and the 48 X 64 partitions within the 64 X 64 partitions. It may be chosen.

도 5는 예측 유닛(PU)에 대해 정사각형이외의 모양을 가지는 기하학적 파티션(geometric partition) 분할을 하는 경우의 일실시예를 나타낸 것이다. FIG. 5 illustrates an embodiment of performing geometric partition division having a shape other than square with respect to the prediction unit PU.

도 5를 참조하면, 예측 유닛(PU)에 대해 기하학적 파티션의 경계선 L은 다음과 같이 정의할 수 있다. 예측 유닛(PU)의 중심(O)을 X, Y 축을 이용하여 4개 사분면으로 등분하여 예측 유닛(PU)의 중심(O)으로부터 경계선 L에 수선을 그리면, 예측 유닛(PU)의 중심(O)으로부터 경계선 L까지의 수직 거리 ρ, X축으로부터 반시계 방향으로 상기 수선까지의 회전각도 θ에 의해 임의 방향의 모든 경계선을 특정할 수 있다.Referring to FIG. 5, the boundary line L of the geometric partition for the prediction unit PU may be defined as follows. By dividing the center O of the prediction unit PU into four quadrants using the X and Y axes and drawing a waterline from the center O of the prediction unit PU to the boundary line L, the center of the prediction unit PU All boundary lines in any direction can be specified by the vertical distance ρ from) to the boundary line L and the rotation angle θ from the X axis to the waterline in the counterclockwise direction.

도 6은 본 발명의 다른 실시예에 따른 필터를 정사각형이외의 모양을 가지는 기하학적 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다. 6 is a conceptual diagram illustrating a process of selecting and using a filter in a geometric partition unit having a shape other than square according to another embodiment of the present invention.

도 6을 참조하면, 화면간 예측 또는 화면내 예측을 위한 예측 유닛(PU)을 중심을 기준으로 4개 사분면으로 등분한 후, 2사분면의 좌상단 블록을 파티션 P11b, 나머지 1, 3, 4분면으로 이루어진 '』' 모양의 블록을 파티션 P21b로 분할 할 수 있다. 또는, 3사분면의 좌하단 블록을 파티션 P12b, 나머지 1, 2, 4분면으로 이루어진 블록을 파티션 P22b로 분할 할 수 있다. 또는, 1사분면의 우상단 블록을 파티션 P13b, 나머지 2, 3, 4분면으로 이루어진 블록을 파티션 P23b로 분할 할 수 있다. 또는, 4사분면의 우하단 블록을 파티션 P14b, 나머지 1, 2, 3분면으로 이루어진 블록을 파티션 P24b로 분할 할 수 있다.Referring to FIG. 6, after dividing a prediction unit (PU) for inter-screen prediction or intra-screen prediction into four quadrants based on the center, the upper left block of the quadrant 2 is divided into partitions P11b and the remaining 1, 3, and 4 quadrants. It is possible to divide the formed '』' block into partition P21b. Alternatively, the lower left block of the three quadrants may be partitioned into partition P12b, and the blocks consisting of the remaining one, two, and four quadrants may be divided into partitions P22b. Alternatively, the upper right block of the first quadrant may be partitioned into partition P13b, and the block consisting of the remaining two, three, and four quadrants may be partitioned into partition P23b. Alternatively, the lower right block of the quadrant 4 may be partitioned into partition P14b, and the block consisting of the remaining 1, 2, and 3 quadrants may be partitioned into partition P24b.

상기와 같이 'ㄱ' 자 모양으로 파티션을 분할함으로써 파티션 분할시 에지 블록, 즉 좌상단, 좌하단, 우상단, 우하단 블록에 움직이는 객체(object)가 존재하는 경우 4개 블록으로 파티션 분할하는 경우보다 효과적으로 부호화를 할 수 있다. 상기 4가지 파티션 중에 움직이는 객체(object)가 어느 에지 블록에 위치하느냐에 따라서 해당되는 파티션이 선택되어 사용될 수 있다.By partitioning the partition into a '-' shape as above, if there are moving objects in the edge block, that is, the upper left, lower left, upper right and lower right blocks, the partition is divided into four blocks more effectively. Encoding can be done. Among the four partitions, a corresponding partition may be selected and used according to which edge block a moving object is located.

도 6을 참조하면, 각각의 기하학적 파티션 각각에 대해서 한 개의 필터 인덱스가 복호화기로 전송될 수 있다. 여기서, 기하학적 파티션 각각에 대해 율-왜곡 최적화를 통해 서로 다른 필터 인덱스가 선택될 수도 있고, 전부 동일한 필터 인덱스가 선택될 수도 있다. Referring to FIG. 6, one filter index may be transmitted to the decoder for each geometric partition. Here, different filter indices may be selected through rate-distortion optimization for each of the geometric partitions, or all the same filter indices may be selected.

도 7은 본 발명의 또 다른 실시예에 따른 필터를 정사각형이외의 모양을 가지는 기하학적 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다. FIG. 7 is a conceptual diagram illustrating a process of selecting and using a filter in a geometric partition unit having a shape other than square according to another embodiment of the present invention.

도 7을 참조하면, 화면간 예측 또는 화면내 예측을 위한 예측 유닛(PU)을 두개의 서로 다른 불규칙 영역으로 분할하거나(모드 0, 1) 또는 서로 다른 사이즈의 직사각형 영역으로 분할(모드 2, 3) 할 수 있다. Referring to FIG. 7, the prediction unit PU for inter-screen prediction or intra-screen prediction is divided into two different irregular areas (modes 0 and 1) or divided into rectangular areas of different sizes (modes 2 and 3). ) can do.

여기서, 파라미터 'pos'는 파티션 경계의 위치를 나타내는데 사용된다. 모드 0, 1의 경우 'pos'는 예측 유닛(PU)의 대각선으로부터 파티션 경계까지의 수평방향으로의 거리를 나타내며, 모드 2, 3의 경우 'pos'는 예측 유닛(PU)의 수직이등분선 또는 수평이등분선으로부터 파티션 경계까지의 수평방향으로의 거리를 나타낸다. 도 4c의 경우 모드 정보가 디코더로 전송될 수 있다. 상기 4가지 모드 중에 RD(Rate Distortion) 관점에서 최소 RD 비용(cost)를 가지는 모드가 화면간 예측을 위해 사용될 수 있다.Here, the parameter 'pos' is used to indicate the position of the partition boundary. For modes 0 and 1, 'pos' represents the distance in the horizontal direction from the diagonal of the prediction unit PU to the partition boundary. For modes 2 and 3, 'pos' represents the vertical bisector or horizontal of the prediction unit PU. The horizontal distance from the bisector to the partition boundary. In the case of FIG. 4C, mode information may be transmitted to the decoder. Among the four modes, a mode having a minimum RD cost in terms of RD (Rate Distortion) may be used for inter prediction.

도 7을 참조하면, 각각의 기하학적 파티션 각각에 대해서 한 개의 필터 인덱스가 복호화기로 전송될 수 있다. 여기서, 기하학적 파티션 각각에 대해 율-왜곡 최적화를 통해 서로 다른 필터 인덱스가 선택될 수도 있고, 전부 동일한 필터 인덱스가 선택될 수도 있다. Referring to FIG. 7, one filter index may be transmitted to the decoder for each geometric partition. Here, different filter indices may be selected through rate-distortion optimization for each of the geometric partitions, or all the same filter indices may be selected.

상기와 같은 파티션 분할후의 블록의 크기는 가변될 수 있다. 또한, 상기와 같은 파티션 분할후의 블록의 모양은 전술한 비대칭 파티션 분할, 기하학적 파티션 분할을 적용할 경우 기존의 정사각형 모양뿐만 아니라 도 4 내지 도 7에 도시한 바와 같이 직사각형과 같은 비대칭적 모양, 'ㄱ'자 모양, 삼각형 모양등과 같은 다양한 기하학적 모양을 가질 수 있다. The size of the block after partitioning as described above may vary. In addition, the shape of the block after partitioning as described above is asymmetrical, such as a rectangle as shown in Figs. 'You can have a variety of geometric shapes, like shapes, triangles, and so on.

HD(High Definition)급 이상의 해상도를 가지는 고해상도 영상의 경우 움직임 보상 화면간 예측시 예측 성능을 높여 코딩 효율을 높이기 위하여 상기 보간 필터의 필터 정보-필터 인덱스 또는 필터 계수-를 보내는 단위를 픽춰 단위가 아닌 보다 정밀한 단위- 슬라이스(slice) 단위, (확장) 매크로 블록 단위, 파티션 단위-로 적응적으로 조절할 수 있다. In the case of a high definition image having a high definition (HD) or higher resolution, a unit for transmitting the filter information of the interpolation filter-the filter index or the filter coefficient-is not a unit of picture in order to increase the coding efficiency by increasing the prediction performance when predicting motion compensation. It can be adaptively adjusted in more precise units-slice units, (extended) macro block units, or partition units.

HD(High Definition)급 이상의 해상도를 가지는 고해상도 영상의 경우 하나의 픽춰당 블록의 개수가 증가하게 되므로 각각의 파티션 마다 필터 계수를 디코더로 전송할 경우 전송되는 필터 정보의 양이 매우 많아지게 되어 코딩 효율 측면에서 바람직하지 못할 수 있다. 따라서, 움직임 보상 화면간 예측에 사용되는 보간 필터의 필터 정보의 전송 단위로 상기 파티션 단위를 사용할 경우, 블록 병합을 이용하여 병합된 블록 전체를 전송 단위로 사용함으로써 디코더로 전송할 부가 정보의 양을 줄임으로써 HD급 또는 울트라 HD(Ultra High Definition)급 이상의 고해상도를 가지는 영상의 부호화 효율을 향상시킬 수 있다. In the case of a high resolution image having a high definition (HD) or higher resolution, the number of blocks per picture increases, so when the filter coefficients are transmitted to the decoder for each partition, the amount of filter information transmitted becomes very large. May be undesirable in Therefore, when the partition unit is used as the transmission unit of the filter information of the interpolation filter used for the motion compensation inter prediction, the amount of additional information to be transmitted to the decoder is reduced by using the entire merged block as the transmission unit using block merging. As a result, encoding efficiency of an image having a high resolution of HD or Ultra HD (Ultra High Definition) or higher can be improved.

도 8은 본 발명의 다른 실시예에 따른 블록 병합(block merging)을 이용하여 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다. FIG. 8 is a conceptual diagram illustrating a process of selecting and using a filter in partition units using block merging according to another embodiment of the present invention.

도 8을 참조하면, 하나의 픽춰가 계층적으로 말단 코딩 유닛까지 분할된 후 현재 블록 X는 이전에 부호화된 Ao블록, Bo블록과 병합되어 블록 Ao, Bo, X는 동일한 움직임 파라미터 및/또는 필터 정보를 적용하여 디코더로 전송된다. 여기서, 움직임 파라미터는 예를 들어, 움직임 벡터, 움직임 벡터 차이값 등을 포함할 수 있다. 필터 정보는 필터 인덱스 및/또는 필터 계수를 포함할 수 있다. Referring to FIG. 8, after one picture is hierarchically divided up to an end coding unit, the current block X is merged with a previously encoded Ao block and Bo block so that blocks Ao, Bo, and X are identical motion parameters and / or filters. The information is applied and sent to the decoder. Here, the motion parameter may include, for example, a motion vector, a motion vector difference value, and the like. The filter information may include a filter index and / or a filter coefficient.

이 경우 블록 병합이 적용되었는지 여부를 나타내는 병합 플래그(merging flag)가 디코더로 전송될 수 있다. In this case, a merging flag indicating whether block merging is applied may be transmitted to the decoder.

이하, 화면간 예측의 경우 모든 예측 블록들의 집합을 '임시블록'이라고 하고, 특정 블록과의 병합이 허용되는 블록들의 집합을 '병합 가능 블록'이라고 정의한다. 상기 임시 블록은 현재 블록 이전까지 부호화된 블록들을 포함한다. 상기 병합 가능 블록들의 기준은 예를 들어 현재 블록의 상단(top) 주변 샘플들 및 좌측(left) 주변 샘플들, 또는 현재 블록의 상단(top) 주변 블록 및 좌측(left) 주변 블록의 2개 블록으로 미리 정해둘 수 있다. 또는, 상기 병합 가능 블록들의 기준은 2개 블록 이상, 예를 들어 현재 블록의 상단(top) 주변 블록들 전부 및 좌측(left) 주변 블록들 전부로 미리 정해둘 수도 있다.Hereinafter, in the case of inter prediction, a set of all prediction blocks is called a temporary block, and a set of blocks that are allowed to merge with a specific block is defined as a mergeable block. The temporary block includes blocks coded up to the current block. The criterion of the mergeable blocks is for example two blocks of the top peripheral samples and the left peripheral samples of the current block, or the top peripheral blocks and the left peripheral blocks of the current block. This can be set in advance. Alternatively, the criterion of the mergeable blocks may be preset to two or more blocks, for example, all of the top peripheral blocks and all of the left peripheral blocks of the current block.

상기 병합 가능 블록들의 기준은 인코더 및 디코더간에 서로 약속에 따라 미리 정해질 수 있다. 예를 들어, 디폴트(default) 값으로 상기와 같이 현재 블록의 상단(top) 주변 샘플들 및 좌측(left) 주변 샘플들로 정해놓고 별도로 병합 가능 블록들의 기준을 알려주는 정보를 디코더로 전송하지 않을 수도 있다. 또는 병합 가능 블록들의 기준을 나타내는 정보를 디코더로 보낼 수도 있다.The criteria of the mergeable blocks may be predetermined according to an appointment between the encoder and the decoder. For example, as the default value, the upper and left neighboring samples of the current block are set as described above, and information indicating a criterion of separately mergeable blocks is not transmitted to the decoder. It may be. Alternatively, information indicating a criterion of mergeable blocks may be sent to the decoder.

만약 특정 블록이 부호화되고, 병합 가능 블록이 비어 있지 않은 경우에는 이번 병합 가능 블록이 병합될 것인지 여부의 정보가 디코더로 전송될 수 있다. If a specific block is encoded and the mergeable block is not empty, information on whether or not the mergeable block is to be merged may be transmitted to the decoder.

병합 가능 블록들의 집합은 예를 들어 최대 두개의 요소(상기 두개의 샘플 위치들, 즉 좌측 주변 샘플 위치 및 상단 주변 샘플 위치)를 가질 수 있다. 그러나, 병합 가능 블록들의 집합은 반드시 2개의 후보 샘플 위치 또는 2개의 후보 블록만을 가지는 것으로 한정되는 것은 아니며 2개 이상의 후보 샘플 위치 또는 후보 블록을 가질 수도 있다. 이하 병합 가능 블록들의 집합이 2개의 후보 블록들을 가지는 경우를 도 8을 예로 들어 설명한다. The set of mergeable blocks may have, for example, at most two elements (the two sample positions, ie the left peripheral sample position and the top peripheral sample position). However, the set of mergeable blocks is not necessarily limited to having only two candidate sample positions or two candidate blocks, and may have two or more candidate sample positions or candidate blocks. Hereinafter, a case in which a mergeable block set has two candidate blocks will be described with reference to FIG. 8.

도 8은 하나의 픽춰를 쿼드트리 기반 분할(quadtree-based division) 방식으로 예측 블록들(prediction blocks)로 분할한 경우를 나타낸다. 도 8의 상단의 가장 큰 크기의 2개의 블록(P1, P2)은 매크로 블록으로서 가장 큰 크기의 예측 블록이다. 도 8의 나머지 블록들은 해당 매크로블록의 부분 분할(subdivision)에 의해 얻어진다. 현재 블록은 'X'로 표시하였다. 도 8 내지 도 13에서 점선으로 표시된 영역은 현재 블록 X 이전에 부호화된 블록들을 나타낸 것이며, 전술한 '임시 블록'이 될 수 있다. FIG. 8 illustrates a case in which a picture is divided into prediction blocks by quadtree-based division. The two largest blocks P1 and P2 at the top of FIG. 8 are the macroblocks and are the largest prediction blocks. The remaining blocks of FIG. 8 are obtained by subdivision of the corresponding macroblock. The current block is marked with an 'X'. 8 to 13 illustrate areas encoded before the current block X, and may be the above-mentioned 'temporary block'.

병합 가능 블록은 다음과 같이 생성될 수 있다. The mergeable block may be generated as follows.

현재 블록의 상단-좌측(top-left) 샘플 위치로부터 시작하면, 현재 블록의 좌측 주변 샘플 위치 및 현재 블록의 상단 주변 샘플 위치가 블록 병합을 위한 후보 블록 위치가 된다. 병합 가능 블록들의 집합이 비어 있지 않은 경우(not empty)에는, 현재 블록이 병합 가능 블록과 병합됨을 나타내는 병합 플래그가 디코더로 전송된다. 그렇지 않은 경우, 즉, 병합 플래그가 '0'(false)인 경우, 병합 가능한 블록이 존재하지 않는 경우로서 임시블록들 중 어느 하나의 블록과도 블록 병합이 이루어지지 않은 채 움직임 파라미터들이 디코더로 전송된다. Starting from the top-left sample position of the current block, the left peripheral sample position of the current block and the top peripheral sample position of the current block become candidate block positions for block merging. If the set of mergeable blocks is not empty, a merge flag is sent to the decoder indicating that the current block is merged with the mergeable block. Otherwise, that is, if the merge flag is '0' (false), the motion parameters are transmitted to the decoder without block merging with any one of the temporary blocks as there is no mergeable block. do.

만약 병합 플래그가 '1'(true)인 경우 하기의 동작이 이루어진다. 만약 병합 가능 블록 집합이 단지 한 개 블록만을 포함하는 경우에는, 이러한 병합 가능 블록 집합에 포함된 한 개의 블록은 블록 병합에 사용된다. 병합 가능 블록 집합이 두개의 블록을 포함하고 만약 이러한 두개의 블록의 움직임 파라미터들이 동일하다면, 이러한 병합 가능 블록에 속하는 2개 블록의 움직임 파라미터들은 현재 블록에 대해서도 사용된다. 예를 들어 merge_left_flag가 '1'(true)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 좌측 주변 샘플 위치가 선택될 수 있고, merge_left_flag가 '0'(false)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 나머지인 상단 주변 샘플 위치가 선택될 수 있다. 상기와 같이 선택된 블록들에 대한 움직임 파라미터들은 현재 블록에 대해서도 사용된다. If the merge flag is '1' (true), the following operation is performed. If the mergeable block set includes only one block, one block included in this mergeable block set is used for block merging. If the mergeable block set includes two blocks and the motion parameters of these two blocks are the same, the motion parameters of the two blocks belonging to this mergeable block are also used for the current block. For example, when merge_left_flag is '1' (true), a left peripheral sample position may be selected among the top-left sample positions for the current block X among mergeable block sets, and merge_left_flag is '0' (false). The upper peripheral sample position, which is the remaining of the upper-left sample positions for the current block X, may be selected among the mergeable block set. The motion parameters for the blocks selected as above are also used for the current block.

다시 도 8을 참조하면, 상단-좌측 샘플 위치 중 직접(상단 또는 좌측) 주변 샘플들을 포함하는 블록들('Ao', 'B0' 블록)이 병합 가능 블록 집합내에 포함될 수 있다. 따라서, 현재 블록 X는 블록 Ao 또는 블록 Bo와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 Ao 및 블록 Bo 어느것과도 병합되지 않는다. 만약 블록 Ao 및 블록 Bo가 동일한 움직임 파라미터 및/또는 필터 정보를 가진다면 블록 Ao 및 블록 Bo 2개 블록들 중 어느 하나와 병합하더라도 동일한 결과가 얻어지므로 두개의 블록 Ao 및 블록 Bo를 구분할 필요는 없다. 따라서, 이 경우에는 merge_left_flag는 전송될 필요가 없다. 그렇지 않은 경우, 즉 만약 블록 Ao 및 블록 Bo가 서로 다른 움직임 파라미터들 및/또는 필터 정보를 가진다면, merge_left_flag가 1이면 현재 블록 X는 블록 Bo와 병합되고, merge_left_flag가 0이면 현재 블록 X는 블록 Ao와 병합된다. Referring back to FIG. 8, blocks ('Ao', 'B0' blocks) including direct (top or left) peripheral samples of the top-left sample position may be included in the mergeable block set. Thus, the current block X is merged with block Ao or block Bo. If merge_flag is 0 (false), then the current block X is not merged with either block Ao or block Bo. If block Ao and block Bo have the same motion parameter and / or filter information, there is no need to distinguish the two blocks Ao and Bo since the same result is obtained when merging with either of block Ao and block Bo. . Therefore, merge_left_flag does not need to be sent in this case. Otherwise, if block Ao and block Bo have different motion parameters and / or filter information, if merge_left_flag is 1 then the current block X is merged with block Bo and if merge_left_flag is 0 then current block X is block Ao Is merged with

도 9 및 도 10은 본 발명의 다른 실시예에 따른 비대칭적 파티션 분할(asymmetric partitioning)의 경우 블록 병합(block merging)을 이용하여 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다. 9 and 10 are conceptual views illustrating a process of selecting and using a filter in partition units using block merging in case of asymmetric partitioning according to another embodiment of the present invention.

도 9 및 도 10은 화면간 예측시 도 4의 비대칭적 파티션 분할을 사용하는 경우의 블록 병합을 2개의 예를 들어 설명한 것으로서 도 9 및 도 10에 도시된 경우로만 한정되는 것은 아니며, 도 4에 도시된 다양한 파티션 분할의 경우들의 조합에 대해서도 본 발명의 다른 실시예에 따른 블록 병합을 적용할 수 있음은 물론이다.9 and 10 illustrate two examples of block merging when the asymmetric partition division of FIG. 4 is used in inter prediction, and is not limited to the case illustrated in FIGS. 9 and 10. It is a matter of course that the block merging according to another embodiment of the present invention may be applied to a combination of the various partition partitioning cases shown.

도 9를 참조하면, 현재 블록 X는 병합 가능 블록 집합에 속하는 블록 A1b 또는 블록 B1b와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 A1b 및 블록 B1b 어느것과도 병합되지 않는다. merge_left_flag가 '1'(true)인 경우, 병합 가능 블록 집합 중에서 블록 B1b가 현재 블록 X와 병합하기 위하여 선택될 수 있고, merge_left_flag가 '0'(false)인 경우, 블록 A1b가 현재 블록 X와 병합하기 위하여 선택될 수 있다.Referring to FIG. 9, the current block X is merged with block A1b or block B1b belonging to a mergeable block set. If merge_flag is 0 (false), the current block X is not merged with either block A1b or block B1b. If merge_left_flag is '1' (true), block B1b may be selected from the mergeable block set to merge with the current block X, and if merge_left_flag is '0' (false), block A1b merges with the current block X Can be chosen to.

도 10을 참조하면, 현재 블록 X는 병합 가능 블록 집합에 속하는 블록 A1c 또는 블록 B1c와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 A1c 및 블록 B1c 어느 것과도 병합되지 않는다. merge_left_flag가 '1'(true)인 경우, 병합 가능 블록 집합 중에서 블록 B1c가 현재 블록 X와 병합하기 위하여 선택될 수 있고, merge_left_flag가 '0'(false)인 경우, 블록 A1c가 현재 블록 X와 병합하기 위하여 선택될 수 있다.Referring to FIG. 10, the current block X is merged with block A1c or block B1c belonging to a mergeable block set. If merge_flag is 0 (false), the current block X is not merged with either block A1c or block B1c. If merge_left_flag is '1' (true), block B1c may be selected from the mergeable block set to merge with the current block X, and if merge_left_flag is '0' (false), block A1c merges with the current block X Can be chosen to.

도 9 및 도 10을 참조하면, 블록 병합된 비대칭 파티션들에 대해서 동일한 필터가 선택되어 동일한 필터 정보가 복호화기로 전송될 수 있다. 예를 들어 도 9의 경우 병합된 비대칭 파티션 A1b 및 B1b에 대해 동일한 필터 인덱스 Ix2가 복호기로 전송될 수 있다. 도 10의 경우 병합된 비대칭 파티션 A1c 및 B1c에 대해 동일한 필터 인덱스 Ix2가 복호기로 전송될 수 있다. 9 and 10, the same filter may be selected for block merged asymmetric partitions and the same filter information may be transmitted to the decoder. For example, in FIG. 9, the same filter index Ix2 may be transmitted to the decoder for the merged asymmetric partitions A1b and B1b. In the case of FIG. 10, the same filter index Ix2 may be transmitted to the decoder for the merged asymmetric partitions A1c and B1c.

도 11은 본 발명의 다른 실시예에 따른 기하학적 파티션 분할(geometrical partitioning)의 경우 블록 병합(block merging)을 이용하여 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다. FIG. 11 is a conceptual diagram illustrating a process of selecting and using a filter in partition units using block merging in the case of geometric partitioning according to another embodiment of the present invention.

도 11은 화면간 예측시 도 6의 기하학적 파티션 분할을 사용하는 경우의 블록 병합을 예를 들어 설명한 것으로서 도 11에 도시된 경우로만 한정되는 것은 아니며, 도 6에 도시된 다양한 파티션 분할의 경우들의 조합에 대해서도 본 발명의 다른 실시예에 따른 블록 병합을 적용할 수 있음은 물론이다.FIG. 11 illustrates a block merging in the case of using the geometric partition partitioning of FIG. 6 in inter prediction, and is not limited to the case illustrated in FIG. 11. The combination of the cases of various partition partitioning shown in FIG. Of course, block merge according to another embodiment of the present invention can also be applied to.

도 11을 참조하면, 현재 블록 X의 상단-좌측 샘플 위치 중 상단 또는 좌측 주변 샘플들을 포함하는 블록들('A2', 'B2' 블록)이 병합 가능 블록 집합내에 포함될 수 있다. 따라서, 현재 블록 X는 블록 A2a 또는 블록 B2a와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 A2a 및 블록 B2a 어느 것과도 병합되지 않는다. 예를 들어 merge_left_flag가 '1'(true)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 좌측 주변 샘플들을 포함하는 블록 B2a가 현재 블록 X와 병합하기 위하여 선택될 수 있고, merge_left_flag가 '0'(false)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 나머지인 상단 주변 샘플들을 포함하는 블록 A2a가 현재 블록 X와 병합하기 위하여 선택될 수 있다.Referring to FIG. 11, blocks ('A2' and 'B2' blocks) including upper or left peripheral samples among the upper-left sample positions of the current block X may be included in the mergeable block set. Thus, the current block X is merged with block A2a or block B2a. If merge_flag is 0 (false), the current block X is not merged with either block A2a or block B2a. For example, if merge_left_flag is '1' (true), a block B2a including left peripheral samples of the top-left sample position for the current block X of the mergeable block set may be selected to merge with the current block X and When merge_left_flag is '0' (false), a block A2a including the top peripheral samples remaining among the top-left sample positions for the current block X in the mergeable block set may be selected to merge with the current block X. .

도 11을 참조하면, 블록 병합된 기하학적 파티션들에 대해서 동일한 필터가 선택되어 동일한 필터 정보가 복호화기로 전송될 수 있다. 예를 들어 도 11의 경우 병합된 기하학적 파티션 A2a 및 B2a에 대해 동일한 필터 인덱스 Ix1이 복호기로 전송될 수 있다. Referring to FIG. 11, the same filter may be selected for block merged geometric partitions, and the same filter information may be transmitted to the decoder. For example, in the case of FIG. 11, the same filter index Ix1 may be transmitted to the decoder for the merged geometric partitions A2a and B2a.

도 12 및 도 13은 본 발명의 다른 실시예에 따른 기하학적 파티션 분할(geometrical partitioning)의 경우 블록 병합(block merging)을 이용하여 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다. 12 and 13 are conceptual views illustrating a process of selecting and using a filter in partition units using block merging in the case of geometric partitioning according to another embodiment of the present invention.

도 12 및 도 13은 화면간 예측시 도 5 및 도 7의 기하학적 파티션 분할을 사용하는 경우의 블록 병합을 2개의 예를 들어 설명한 것으로서 도 12 및 도 13에 도시된 경우로만 한정되는 것은 아니며, 도 5 및 도 7에 도시된 다양한 기하학적 파티션 분할의 경우들의 조합에 대해서도 본 발명의 또 다른 실시예에 따른 블록 병합을 적용할 수 있음은 물론이다.12 and 13 illustrate two examples of block merging when the geometric partition division of FIGS. 5 and 7 is used in inter prediction, and is not limited only to the cases illustrated in FIGS. 12 and 13. It is a matter of course that the block merging according to another embodiment of the present invention can be applied to a combination of the cases of the various geometric partition partitions shown in FIGS. 5 and 7.

도 12를 참조하면, 현재 블록 X의 상단-좌측 샘플 위치 중 상단 또는 좌측 주변 샘플들을 포함하는 블록들('A3a', 'B3a' 블록)이 병합 가능 블록 집합내에 포함될 수 있다. 따라서, 현재 블록 X는 블록 A3a 또는 블록 B3a와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 A3a 및 블록 B3a 어느것과도 병합되지 않는다. 예를 들어 merge_left_flag가 '1'(true)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 좌측 주변 샘플들을 포함하는 블록 B3a가 현재 블록 X와 병합하기 위하여 선택될 수 있고, merge_left_flag가 '0'(false)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 나머지인 상단 주변 샘플들을 포함하는 블록 A3a가 현재 블록 X와 병합하기 위하여 선택될 수 있다.Referring to FIG. 12, blocks (“A3a” and “B3a” blocks) including upper or left peripheral samples among the upper-left sample positions of the current block X may be included in the mergeable block set. Thus, the current block X is merged with block A3a or block B3a. If merge_flag is 0 (false), the current block X is not merged with either block A3a or block B3a. For example, if merge_left_flag is '1' (true), block B3a including left neighboring samples of the top-left sample position for the current block X of the mergeable block set may be selected to merge with the current block X and When merge_left_flag is '0' (false), a block A3a including the top peripheral samples remaining among the top-left sample positions for the current block X in the mergeable block set may be selected to merge with the current block X. .

도 13을 참조하면, 현재 블록 X는 병합 가능 블록 집합에 속하는 블록 A3b 또는 블록 B3b와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 A3b 및 블록 B3b 어느것과도 병합되지 않는다. merge_left_flag가 '1'(true)인 경우, 병합 가능 블록 집합 중에서 블록 B3b가 현재 블록 X와 병합하기 위하여 선택될 수 있고, merge_left_flag가 '0'(false)인 경우, 블록 A3b가 현재 블록 X와 병합하기 위하여 선택될 수 있다.Referring to FIG. 13, the current block X is merged with block A3b or block B3b belonging to a mergeable block set. If merge_flag is 0 (false), the current block X is not merged with either block A3b or block B3b. If merge_left_flag is '1' (true), block B3b may be selected from the mergeable block set to merge with the current block X, and if merge_left_flag is '0' (false), block A3b merges with the current block X Can be chosen to.

도 12 및 도 13을 참조하면, 블록 병합된 기하학적 파티션들에 대해서 동일한 필터가 선택되어 동일한 필터 정보가 복호화기로 전송될 수 있다. 예를 들어 도 12의 경우 병합된 기하학적 파티션 A3a 및 B3a에 대해 동일한 필터 인덱스 Ix2가 복호기로 전송될 수 있다. 예를 들어 도 13의 경우 병합된 기하학적 파티션 A3b 및 B3b에 대해 동일한 필터 인덱스 Ix1이 복호기로 전송될 수 있다. 12 and 13, the same filter may be selected for block merged geometric partitions, and the same filter information may be transmitted to the decoder. For example, in FIG. 12, the same filter index Ix2 may be transmitted to the decoder for the merged geometric partitions A3a and B3a. For example, in FIG. 13, the same filter index Ix1 may be transmitted to the decoder for the merged geometric partitions A3b and B3b.

도 14는 본 발명의 일 실시예에 따른 슬라이스 또는 파티션 단위로 필터를 선택하여 부호화하기 위한 영상 부호화 장치의 구성을 나타내는 블록도이다.14 is a block diagram illustrating a configuration of an image encoding apparatus for selecting and encoding a filter in units of slices or partitions, according to an embodiment of the present invention.

도 14를 참조하면, 영상 부호화 장치는 부호화기(630)를 포함하며, 부호화기(630)는 화면간 예측부(632), 인트라 예측부(635), 감산기(637), 변환부(639), 양자화부(641), 엔트로피 부호화부(643), 역양자화부(645), 역변환부(647), 가산기(649) 및 프레임 버퍼(651)를 포함할 수 있다. 화면간 예측부(632)는 움직임 예측부(631)와 움직임 보상부(633)를 포함한다. Referring to FIG. 14, the apparatus for encoding an image includes an encoder 630, and the encoder 630 includes an inter prediction unit 632, an intra prediction unit 635, a subtractor 637, a transformer 639, and quantization. The unit 641 may include an entropy encoder 643, an inverse quantizer 645, an inverse transform unit 647, an adder 649, and a frame buffer 651. The inter prediction predictor 632 includes a motion predictor 631 and a motion compensator 633.

부호화기(630)는 입력된 영상에 대해 부호화를 수행한다. 상기 입력된 영상은 예측 유닛(PU) 단위로 화면간 예측부(632)에서의 화면간 예측 또는 인트라 예측부(635)에서의 화면내 예측을 위해 사용될 수 있다. The encoder 630 performs encoding on the input image. The input image may be used for inter prediction in the inter prediction unit 632 or intra prediction in the intra prediction unit 635 in units of prediction units (PUs).

상기 화면간 예측 또는 화면내 예측에 적용되는 예측 유닛의 크기는 입력된 영상을 부호화기 내부에 마련된 버퍼(미도시)에 저장한 후 저장된 프레임(또는 픽춰)의 시간적 주파수 특성에 따라 결정될 수 있다. 예를 들어, 예측 유닛 결정부(610)는 n-1번째 프레임(또는 픽춰)과 n번째 프레임(또는 픽춰)의 시간 주파수 특성을 분석하고, 분석된 시간 주파수 특성값이 미리 설정된 제1 임계값 미만인 경우에는 예측 유닛의 크기를 64x64 픽셀로 결정하고, 분석된 시간 주파수 특성값이 미리 설정된 제1 임계값 이상 제2 임계값 미만인 경우에는 예측 유닛의 크기를 32x32 픽셀로 결정하며, 분석된 시간 주파수 특성값이 미리 설정된 제2 임계값 이상인 경우에는 예측 유닛의 크기를 16x16 픽셀 이하의 크기로 결정할 수 있다. 여기서, 제1 임계값은 제2 임계값보다 프레임(또는 픽춰)간의 변화량이 작은 경우의 시간 주파수 특성값을 나타낼 수 있다.The size of the prediction unit applied to the inter prediction or intra prediction may be determined according to the temporal frequency characteristics of the stored frame (or picture) after storing the input image in a buffer (not shown) provided in the encoder. For example, the prediction unit determiner 610 analyzes time-frequency characteristics of the n-th frame (or picture) and the n-th frame (or picture), and the first threshold value in which the analyzed time frequency characteristic value is preset. If it is less than the size of the prediction unit is determined to be 64x64 pixels, and if the analyzed time frequency characteristic value is greater than or equal to the preset first threshold value and less than the second threshold value, the size of the prediction unit is determined to be 32x32 pixels, and the analyzed time frequency When the characteristic value is greater than or equal to a second preset threshold, the size of the prediction unit may be determined to be 16x16 pixels or less. Here, the first threshold value may represent a time frequency characteristic value when the amount of change between frames (or pictures) is smaller than the second threshold value.

상기 화면간 예측 또는 화면내 예측에 적용되는 예측 유닛의 크기는 입력된 영상을 부호화기 내부에 마련된 버퍼(미도시)에 저장한 후 저장된 프레임(또는 픽춰)의 공간 주파수 특성에 따라 결정될 수 있다. 예를 들어 입력되는 프레임(또는 픽춰)의 영상 평탄도 또는 균일도가 높은 경우에는 예측 유닛의 크기를 32x32 픽셀 이상으로 크게 설정하고, 프레임(또는 픽춰)의 영상 평탄도 또는 균일도가 낮은 경우(즉, 공간 주파수가 높은 경우)에는 예측 유닛의 크기를 16x16 픽셀 이하로 작게 설정할 수 있다. The size of the prediction unit applied to the inter prediction or intra prediction may be determined according to the spatial frequency characteristic of the stored frame (or picture) after storing the input image in a buffer (not shown) provided in the encoder. For example, when the image flatness or uniformity of the input frame (or picture) is high, the size of the prediction unit is set to be larger than 32x32 pixels, and when the image flatness or uniformity of the frame (or picture) is low (that is, If the spatial frequency is high), the size of the prediction unit can be set small to 16x16 pixels or less.

도 8에서는 도시하지 않았으나, 예측 유닛의 크기를 결정하는 동작은 상기 입력 영상을 입력받아 부호화 제어부(미도시)에서 수행되거나 또는 상기 입력 영상을 입력받아 별도의 예측 유닛 결정부(미도시)에서 수행될 수도 있다. 예를 들어, 예측 유닛의 크기는 16x16 픽셀 이하의 크기, 32x32 픽셀 크기, 64x64 픽셀 크기를 가질 수 있다. Although not shown in FIG. 8, the operation of determining the size of the prediction unit is performed by a coding controller (not shown) by receiving the input image or by a separate prediction unit determination unit (not shown) by receiving the input image. May be For example, the size of the prediction unit may have a size of 16x16 pixels or less, a 32x32 pixel size, and a 64x64 pixel size.

전술한 바와 같이 화면간 예측 또는 화면내 예측을 위해 결정된 예측 유닛 크기를 포함하는 예측 유닛 정보를 엔트로피 부호화부(643)에 제공하고, 결정된 크기를 가지는 예측 유닛 단위로 부호화기(630)에 제공한다. 구체적으로, 확장 매크로블록(Extended Macroblock) 및 확장 매크로 블록 크기를 이용하여 부호화 및 복호화하는 경우에는 예측 블록 정보는 매크로 블록 크기 정보 또는 확장 매크로 블록 크기 정보를 포함할 수 있다. 여기서, 확장 매크로 블록 크기는 32x32 픽셀 크기 이상을 의미하며, 예를 들어, 32x32 픽셀, 64x64 픽셀, 또는 128x128 픽셀 크기를 포함할 수 있다. 전술한 순환적(recursive) 코딩 유닛(Coding Unit; CU)을 사용하여 부호화 및 복호화를 수행할 경우에는 예측 유닛 정보는 상기 마크로 블록의 크기 정보 대신 화면간 예측 또는 화면내 예측을 위해 사용될 말단 코딩 유닛(LCU)의 크기 정보, 즉 예측 유닛의 크기 정보를 포함할 수 있으며, 더 나아가 예측 유닛 정보는 최대 코딩 유닛(LCU)의 크기, 최소 코딩 유닛(SCU)의 크기, 최대 허용 가능한 계층 레벨(level) 또는 계층 깊이(depth), 플래그(flag) 정보를 더 포함할 수 있다. As described above, prediction unit information including the prediction unit size determined for inter-screen prediction or intra-screen prediction is provided to the entropy encoder 643, and is provided to the encoder 630 in units of prediction units having the determined size. In detail, when encoding and decoding using an extended macroblock and an extended macroblock size, the prediction block information may include macroblock size information or extended macroblock size information. In this case, the extended macroblock size may be 32x32 pixels or more, and may include, for example, 32x32 pixels, 64x64 pixels, or 128x128 pixels. When encoding and decoding are performed using the aforementioned recursive coding unit (CU), prediction unit information is an end coding unit to be used for inter prediction or intra prediction instead of the size information of the macro block. The size information of the LCU, that is, the size information of the prediction unit may be included, and further, the prediction unit information may further include the size of the largest coding unit (LCU), the size of the minimum coding unit (SCU), and the maximum allowable hierarchical level. ), Or may further include layer depth and flag information.

부호화기(630)는 상기 결정된 크기를 가지는 예측 유닛에 대해 부호화를 수행한다. The encoder 630 performs encoding on the prediction unit having the determined size.

화면간 예측부(632)는 제공된 현재 부호화될 예측 유닛을 전술한 비대칭 파티션 분할, 기하학적 파티션 분할등의 파티션 분할 방법을 사용하여 분할하고, 상기 파티션 분할된 블록 단위로 움직임을 추정하여 움직임 벡터를 생성한다. The inter prediction unit 632 divides the provided prediction unit to be encoded using a partition partitioning method such as asymmetric partitioning, geometric partitioning, and the like, and estimates motion in units of the partitioned block to generate a motion vector. do.

움직임 예측부(631)는 제공된 현재 예측 유닛을 전술한 다양한 파티션 분할 방법을 사용하여 분할하고, 상기 파티션 분할된 블록 별로 현재 부호화되는 픽춰의 앞 및/또는 뒤에 위치하는 적어도 하나의 참조 픽춰(프레임 버퍼(651)에 부호화가 완료되어 저장됨)에서 현재 부호화되는 파티션 분할된 블록과 유사한 영역을 검색하여 블록 단위로 움직임 벡터를 생성한다. 여기서, 상기 움직임 추정에 사용되는 블록의 크기는 가변될 수 있으며, 또한, 본 발명의 실시예들에 따른 비대칭 파티션 분할, 기하학적 파티션 분할을 적용할 경우 상기 블록의 모양도 기존의 정사각형 모양뿐만 아니라 도 2 내지 도 3c에 도시한 바와 같이 직사각형과 같은 비대칭적 모양, 'ㄱ'자 모양, 삼각형 모양등과 같은 기하학적 모양을 가질 수 있다. The motion predictor 631 divides the provided current prediction unit by using the aforementioned various partition partitioning methods, and includes at least one reference picture (frame buffer) located before and / or after a picture currently encoded for each partitioned block. In step 651, encoding is completed and stored), a region similar to a partitioned block currently encoded is generated and a motion vector is generated in units of blocks. In this case, the size of the block used for the motion estimation may vary, and when the asymmetric partition and the geometric partition partition according to the embodiments of the present invention are applied, the shape of the block is not only a conventional square shape. 2 to 3c may have an asymmetrical shape such as a rectangle, a 'b' shape, a triangular shape, or the like.

움직임 보상부(633)는 움직임 예측부(631)로부터 생성된 움직임 벡터와 참조 픽춰를 이용하여 움직임 보상을 수행하여 얻어지는 예측 블록(또는 예측된 예측 유닛)을 생성한다. The motion compensator 633 generates a prediction block (or predicted prediction unit) obtained by performing motion compensation using the motion vector generated from the motion predictor 631 and the reference picture.

화면간 예측부(632)는 전술한 바와 같이 움직임 보상 화면간 예측에 사용되는 보간 필터를 픽춰 단위 보다 더 정밀한 단위-예를 들어 슬라이스(slice) 단위 또는 파티션 단위(상기 파티션 단위는 확장 매크로 블록, 매크로 블록, 또는 블록을 포함할 수 있음)-별로 선택하여 서브-픽셀값을 계산한다. As described above, the inter-screen prediction unit 632 may use the interpolation filter used for the motion-compensated inter-picture prediction to be more precise than a picture unit, for example, a slice unit or a partition unit (the partition unit may be an extended macro block, Macroblocks, or blocks)) to select sub-pixel values.

화면간 예측부(632)는 보간 필터의 필터 정보-필터 인덱스 또는 필터 계수-의 전송 단위로 파티션 단위를 사용할 경우 전술한 블록 병합을 이용하여 병합된 블록 전체를 움직임 파라미터 및/또는 필터 정보의 전송 단위로 사용한다. When using the partition unit as a transmission unit of the filter information of the interpolation filter-the filter index or the filter coefficient, the inter prediction unit 632 transmits the motion parameter and / or the filter information to the entire merged block using the aforementioned block merging. Use as a unit.

또한, 화면간 예측부(632)는 확장 매크로 블록에 대하여 모션 벡터 정밀도(motion vector precision) 또는 화소 정밀도를 1/2 pel, 1/4-pel, 1/8 pel 중에서 적응적으로 선택하여 사용함으로써 확장 매크로 블록을 사용하는 경우 부호화 효율을 높일 수 있다. 예를 들어, 1/2 pel 모션 벡터 정밀도 또는 화소 정밀도를 적용하는 경우 P 픽춰의 경우 필터 계수들((1, -5, 20, 20, -5, 1)/32)을 지닌 6-탭 보간 필터를 사용하여 1/2 pel 화소 정밀도 신호를 생성할 수 있다. 1/4 pel 모션 벡터 정밀도 또는 화소 정밀도를 적용하는 경우 1/2 pel 화소 정밀도 신호의 값을 생성한 후 평균치 필터를 적용하여 1/4 pel 화소 정밀도 신호를 생성할 수 있다. 1/8 pel 모션 벡터 정밀도 또는 화소 정밀도를 적용하는 경우 1/4 pel 화소 정밀도 신호의 값을 생성한 후 평균치 필터를 적용하여 1/8 pel 화소 정밀도 신호를 생성할 수 있다.In addition, the inter prediction unit 632 adaptively selects motion vector precision or pixel precision from 1/2 pel, 1 / 4-pel, and 1/8 pel for the extended macroblock. When the extended macroblock is used, the coding efficiency can be improved. For example, 6-tap interpolation with filter coefficients ((1, -5, 20, 20, -5, 1) / 32) for P pictures when applying 1/2 pel motion vector precision or pixel precision Filters can be used to generate 1/2 pel pixel precision signals. When applying 1/4 pel motion vector precision or pixel precision, a value of 1/2 pel pixel precision signal may be generated, and then a 1/4 pel pixel precision signal may be generated by applying an average filter. When 1/8 pel motion vector precision or pixel precision is applied, a value of 1/4 pel pixel precision signal may be generated, and then 1/8 pel pixel precision signal may be generated by applying an average filter.

인트라 예측부(635)는 블록간의 화소 상관도를 사용하여 화면내 예측 부호화를 수행한다. 인트라 예측부(635)는 현재 예측 유닛의 예측 블록을 현재 프레임(또는 픽춰)내의 블록의 이미 부호화된 화소값으로부터 화소값을 예측하여 구하는 인트라 예측(Intra Prediction)을 수행한다.The intra predictor 635 performs intra prediction encoding using pixel correlation between blocks. The intra prediction unit 635 performs intra prediction to obtain a prediction block of the current prediction unit by predicting a pixel value from an already encoded pixel value of a block in a current frame (or picture).

감산기(637)는 움직임 보상부(633)에서 제공된 예측 블록(또는 예측된 예측 유닛)과 현재 블록(또는 현재 예측 유닛)을 감산하여 잔여값을 생성하고, 변환부(639) 및 양자화부(641)는 상기 잔여값(residue)을 DCT(Discrete Cosine Transform)변환하고 양자화한다. 여기서, 변환부(639)는 예측 유닛 크기 정보에 기초하여 변환을 수행할 수 있고, 예를 들어, 32x32 또는 64x64 픽셀 크기로 변환을 수행할 수 있다. 또는 변환부(639)는 예측 유닛 결정부(610)로부터 제공된 예측 유닛 크기 정보와 독립적으로 별도의 변환 유닛(Transform Unit; TU) 단위로 변환을 수행할 수 있다. 예를 들어, 변환 유닛(TU) 크기는 최소 4 X 4 픽셀 크기부터 최대 64x64 픽셀 크기를 가질 수 있다. 또는 변환 유닛(TU)의 최대 크기는 64x64 픽셀 크기 이상- 예를 들어 128 X 128 픽셀 크기-를 가질수도 있다. 상기 변환 유닛 크기 정보는 변환 유닛 정보에 포함되어 디코더로 전송될 수 있다.The subtractor 637 generates a residual value by subtracting the prediction block (or the predicted prediction unit) and the current block (or the current prediction unit) provided by the motion compensator 633, and the transformer 639 and the quantizer 641. ) Transforms and residuals the residual cosine transform (DCT). Here, the transform unit 639 may perform the transformation based on the prediction unit size information, and may perform the transformation, for example, to a 32x32 or 64x64 pixel size. Alternatively, the transform unit 639 may perform transform in a separate transform unit (TU) unit independently of the prediction unit size information provided from the prediction unit determiner 610. For example, the transform unit (TU) size may range from a minimum of 4 by 4 pixels to a maximum of 64 by 64 pixels. Alternatively, the maximum size of the transform unit (TU) may have a 64x64 pixel size or more, for example 128 × 128 pixel size. The transform unit size information may be included in the transform unit information and transmitted to the decoder.

엔트로피 부호화부(643)는 양자화된 DCT 계수들과 움직임 벡터, 결정된 예측 유닛 정보, 파티션 정보, 필터 정보, 변환 유닛 정보 등의 헤더 정보를 엔트로피 부호화하여 비트 스트림을 생성한다.The entropy encoder 643 entropy encodes header information such as quantized DCT coefficients, motion vectors, determined prediction unit information, partition information, filter information, and transform unit information to generate a bit stream.

역양자화부(645) 및 역변환부(647)는 양자화부(641)를 통해 양자화된 데이터를 역양자화하고 역변환한다. 가산기(649)는 역변환된 데이터와 움직임 보상부(633)에서 제공된 예측된 예측 유닛을 더하여 영상을 복원하여 프레임 버퍼(651)에 제공하고, 프레임 버퍼(651)는 복원된 영상이 저장된다.The inverse quantizer 645 and the inverse transformer 647 inverse quantizes and inverse transforms the quantized data through the quantizer 641. The adder 649 adds the inverse transformed data and the predictive prediction unit provided by the motion compensator 633 to reconstruct the image and provide the image to the frame buffer 651, and the frame buffer 651 stores the reconstructed image.

도 15는 본 발명의 일 실시예에 따른 슬라이스 또는 파티션 단위로 필터를 선택하여 부호화하기 위한 영상 부호화 방법을 나타내는 흐름도이다. 15 is a flowchart illustrating an image encoding method for selecting and encoding a filter in units of slices or partitions according to an embodiment of the present invention.

도 15를 참조하면, 먼저 부호화 장치에 입력 영상이 입력되면(단계 901), 상기 입력 영상에 대해 화면간 예측 또는 화면내 예측을 위한 예측 유닛을 전술한 다양한 파티션 분할 방법을 사용하여 분할하고, 상기 파티션 분할된 블록 별로 현재 부호화되는 픽춰의 앞 및/또는 뒤에 위치하는 적어도 하나의 참조 픽춰(프레임 버퍼(651)에 부호화가 완료되어 저장됨)에서 현재 부호화되는 파티션 분할된 블록과 유사한 영역을 검색하여 블록 단위로 움직임 벡터를 생성하고, 생성된 움직임 벡터와 픽춰를 이용하여 움직임 보상을 수행함으로써 예측 블록(또는 예측된 예측 유닛)을 생성한다(단계 903). Referring to FIG. 15, when an input image is input to an encoding apparatus (step 901), a prediction unit for inter-screen prediction or intra-picture prediction is partitioned with respect to the input image using the aforementioned various partition partitioning methods. For each partitioned block, a region similar to that of the partitioned block currently encoded is searched for in at least one reference picture (encoded in the frame buffer 651), which is located before and / or after the currently encoded picture. A motion vector is generated in units of blocks, and a prediction block (or a predicted prediction unit) is generated by performing motion compensation using the generated motion vector and the picture (step 903).

그 다음, 부호화 장치는 움직임 보상 화면간 예측에 사용되는 보간 필터를 픽춰 단위 보다 더 정밀한 단위-예를 들어 슬라이스(slice) 단위 또는 파티션 단위(상기 파티션 단위는 확장 매크로 블록, 매크로 블록, 또는 블록을 포함할 수 있음)-별로 선택하여 서브-픽셀값을 계산한다(단계 905). 구체적으로, 부호화 장치는 전술한 바와 같이 움직임 보상 화면간 예측에 사용되는 보간 필터의 필터 정보-필터 인덱스 또는 필터 계수-를 픽춰 단위 보다 더 정밀한 단위-예를 들어 슬라이스(slice) 단위 또는 파티션 단위-별로 선택하여 서브-픽셀값을 계산하여 부호화한다. Then, the encoding apparatus uses the interpolation filter used for the motion compensated inter picture prediction to be more precise than a picture unit, for example, a slice unit or a partition unit (the partition unit is an extended macro block, a macro block, or a block). May be included) to calculate sub-pixel values (step 905). Specifically, as described above, the encoding apparatus may further filter the filter information (filter index or filter coefficient) of the interpolation filter used for the motion compensated inter-picture prediction to a more precise unit than the picture unit, for example, a slice unit or a partition unit. Select and then calculate and encode sub-pixel values.

부호화 장치는 보간 필터의 필터 정보-필터 인덱스 또는 필터 계수-의 전송 단위로 파티션 단위를 사용할 경우 전술한 블록 병합을 이용하여 병합된 블록 전체를 움직임 파라미터 및/또는 필터 정보의 전송 단위로 사용한다. When the encoding apparatus uses a partition unit as a transmission unit of filter information-a filter index or a filter coefficient of an interpolation filter, the encoding apparatus uses the entire merged block as a transmission unit of motion parameters and / or filter information using the aforementioned block merging.

또한, 부호화 장치는 확장 매크로 블록에 대하여 모션 벡터 정밀도(motion vector precision) 또는 화소 정밀도를 1/2 pel, 1/4-pel, 1/8 pel 중에서 적응적으로 선택하여 사용함으로써 확장 매크로 블록을 사용하는 경우 부호화 효율을 높일 수 있다. 예를 들어, 1/2 pel 모션 벡터 정밀도 또는 화소 정밀도를 적용하는 경우 P 픽춰의 경우 필터 계수들((1, -5, 20, 20, -5, 1)/32)을 지닌 6-탭 보간 필터를 사용하여 1/2 pel 화소 정밀도 신호를 생성할 수 있다. 1/4 pel 모션 벡터 정밀도 또는 화소 정밀도를 적용하는 경우 1/2 pel 화소 정밀도 신호의 값을 생성한 후 평균치 필터를 적용하여 1/4 pel 화소 정밀도 신호를 생성할 수 있다. 1/8 pel 모션 벡터 정밀도 또는 화소 정밀도를 적용하는 경우 1/4 pel 화소 정밀도 신호의 값을 생성한 후 평균치 필터를 적용하여 1/8 pel 화소 정밀도 신호를 생성할 수 있다.In addition, the encoding apparatus uses an extended macroblock by adaptively selecting motion vector precision or pixel precision among 1/2 pel, 1 / 4-pel, and 1/8 pel for the extended macroblock. In this case, the coding efficiency can be increased. For example, 6-tap interpolation with filter coefficients ((1, -5, 20, 20, -5, 1) / 32) for P pictures when applying 1/2 pel motion vector precision or pixel precision Filters can be used to generate 1/2 pel pixel precision signals. When applying 1/4 pel motion vector precision or pixel precision, a value of 1/2 pel pixel precision signal may be generated, and then a 1/4 pel pixel precision signal may be generated by applying an average filter. When 1/8 pel motion vector precision or pixel precision is applied, a value of 1/4 pel pixel precision signal may be generated, and then 1/8 pel pixel precision signal may be generated by applying an average filter.

부호화 장치는 현재 예측 유닛과 상기 예측된 예측 유닛 사이의 차이를 구하여 잔여값(residue)을 생성하여 변환 및 양자화한 후(단계 907), 양자화된 DCT 계수들과 움직임 파라미터, 필터 정보 등의 헤더 정보들(또는 구문 요소(syntax element))을 엔트로피 부호화하여 비트 스트림을 생성한다(단계 909).The encoding apparatus obtains the difference between the current prediction unit and the predicted prediction unit, generates, transforms and quantizes a residual value (step 907), and then includes header information such as quantized DCT coefficients, motion parameters, and filter information. (Or syntax elements) are entropy encoded to generate a bit stream (step 909).

엔트로피 부호화는 구문 요소들의 표현에 필요한 비트수를 감소시킨다. 즉, 엔트로피 부호화는 어떤 심볼들은 다른 심볼들보다 더 자주 발생한다는 구문 요소들의 분포 특성을 이용하여 전송되거나 저장된 심볼들을 나타내는데 필요한 비트들의 수를 최소화하는 것을 목표로하는 무손실 동작이다.Entropy coding reduces the number of bits needed for the representation of syntax elements. In other words, entropy coding is a lossless operation that aims to minimize the number of bits needed to represent transmitted or stored symbols using the distributional nature of the syntax elements that some symbols occur more often than others.

본 발명의 실시예들에 따른 영상 부호화 장치 및 부호화 방법에서는 각각의 예측 블록에 대해 필터 정보를 전송하지 않고 블록 병합을 이용하여 병합된 블록 전체에 대해 한번만 필터 정보를 전송하여 필터 정보의 전송량을 줄임으로써 HD급 또는 울트라 HD(Ultra High Definition)급 이상의 고해상도를 가지는 영상의 부호화 효율을 향상시킬 수 있다.In the image encoding apparatus and the encoding method according to the embodiments of the present invention, the filter information is transmitted only once for the entire merged block by using block merging instead of transmitting the filter information for each prediction block, thereby reducing the amount of transmission of the filter information. As a result, encoding efficiency of an image having a high resolution of HD or Ultra HD (Ultra High Definition) or higher can be improved.

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

도 16을 참조하면, 본 발명의 일 실시예에 따른 복호화 장치는 엔트로피 복호화부(731), 역양자화부(733), 역변환부(735), 움직임 보상부(737), 인트라 예측부(739), 프레임 버퍼(741) 및 가산부(743)을 포함한다.Referring to FIG. 16, a decoding apparatus according to an embodiment of the present invention includes an entropy decoder 731, an inverse quantizer 733, an inverse transformer 735, a motion compensator 737, and an intra predictor 739. And a frame buffer 741 and an adder 743.

엔트로피 복호화부(731)는 압축된 비트 스트림을 수신하고 엔트로피 복호화를 수행하여 양자화된 계수를 생성한다. 역양자화부(733) 및 역변환부(735)는 양자화된 계수에 대한 역양자화 및 역변환을 수행하여 잔여값을 복원한다. The entropy decoder 731 receives the compressed bit stream and performs entropy decoding to generate quantized coefficients. The inverse quantization unit 733 and the inverse transform unit 735 restore the residual values by performing inverse quantization and inverse transformation on the quantized coefficients.

엔트로피 복호화부(731)에 의해 복호화된 헤더 정보에는 예측 유닛 크기 정보가 포함될 수 있고, 상기 예측 유닛 크기는 예를 들어, 16x16 픽셀 크기 또는 32x32 픽셀, 64x64 픽셀, 128x128 픽셀 크기의 확장 매크로 블록 크기가 될 수 있다. 또한, 상기 복호화된 헤더 정보는 움직임 보상 및 예측을 위한 움직임 파라미터 및 필터 정보-필터 인덱스 또는 필터 계수-를 포함할 수 있다. 상기 필터 정보는 본 발명의 실시예들에 따른 블록 병합 방법들에 의해 병합된 블록별로 전송된 필터 정보를 포함할 수 있다. The header information decoded by the entropy decoder 731 may include prediction unit size information, and the prediction unit size may include, for example, an extended macroblock size of 16x16 pixels or 32x32 pixels, 64x64 pixels, or 128x128 pixels. Can be. In addition, the decoded header information may include motion parameter and filter information (filter index or filter coefficient) for motion compensation and prediction. The filter information may include filter information transmitted for each block merged by block merging methods according to embodiments of the present invention.

움직임 보상부(737)는 엔트로피 복호화부(731)에 의해 비트 스트림으로부터 복호화된 헤더 정보를 이용하여 부호화된 예측 유닛의 크기와 동일한 크기의 예측 유닛에 대해 상기 움직임 파라미터 및/또는 필터 정보를 이용하여 움직임 보상을 수행하여 예측된 예측 유닛을 생성한다. 움직임 보상부(737)는 본 발명의 실시예들에 따른 블록 병합 방법들에 의해 병합된 블록별로 전송된 움직임 파라미터 및/또는 필터 정보를 이용하여 움직임 보상을 수행하여 예측된 예측 유닛을 생성한다. The motion compensator 737 uses the motion parameter and / or filter information for the prediction unit having the same size as that of the prediction unit encoded using the header information decoded from the bit stream by the entropy decoder 731. Motion compensation is performed to generate predicted prediction units. The motion compensator 737 generates a predicted prediction unit by performing motion compensation using motion parameter and / or filter information transmitted for each block merged by the block merging methods according to the embodiments of the present invention.

또한, 움직임 보상부(737)는 모션 벡터 정밀도(motion vector precision) 또는 화소 정밀도를 1/2 pel, 1/4-pel, 1/8 pel 중에서 적응적으로 선택하여 부호화된 확장 매크로 블록에 대하여, 선택된 화소 정밀도 정보를 기초로 1/2 pel, 1/4-pel, 1/8 pel 중에서 적응적으로 선택하여 확장 매크로 블록에 대하여 움직임 보상을 수행 한다.In addition, the motion compensation unit 737 adaptively selects a motion vector precision or a pixel precision among 1/2 pel, 1 / 4-pel, and 1/8 pel, and encodes an extended macroblock encoded. Based on the selected pixel precision information, motion compensation is performed on the extended macroblock by adaptively selecting among 1/2 pel, 1 / 4-pel, and 1/8 pel.

인트라 예측부(739)는 블록간의 화소 상관도를 사용하여 화면내 예측 부호화를 수행한다. 인트라 예측부(739)는 현재 예측 유닛의 예측 블록을 현재 프레임(또는 픽춰)내의 블록의 이미 부호화된 화소값으로부터 화소값을 예측하여 구하는 인트라 예측(Intra Prediction)을 수행한다.The intra predictor 739 performs intra prediction encoding using pixel correlation between blocks. The intra prediction unit 739 performs intra prediction to obtain a prediction block of the current prediction unit by predicting a pixel value from an already encoded pixel value of the block in the current frame (or picture).

가산부(743)는 역변환부(735)에서 제공된 잔여값과, 움직임 보상부(737)에서 제공된 예측된 예측 유닛을 더하여 영상을 복원하여 프레임 버퍼(741)에 제공하고, 프레임 버퍼(741)는 복원된 영상을 저장한다. 즉, 복호화기에서는 예측 유닛에 압축된 예측 오차(역변환부에서 제공된 잔여값)를 가산하여 복호화 동작을 수행한다. The adder 743 reconstructs the image by adding the residual value provided by the inverse transform unit 735 and the predicted prediction unit provided by the motion compensator 737 to provide the frame buffer 741, and the frame buffer 741 Save the restored image. That is, the decoder performs a decoding operation by adding the compressed prediction error (residual value provided by the inverse transform unit) to the prediction unit.

도 17은 본 발명의 일 실시예에 따른 영상 복호화 방법을 나타내는 흐름도이다. 17 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.

도 17을 참조하면, 먼저 복호화 장치는 부호화 장치로부터 비트 스트림을 수신한다(단계 1101).Referring to FIG. 17, a decoding apparatus first receives a bit stream from an encoding apparatus (step 1101).

이후, 복호화 장치는 수신된 비트 스트림에 대한 엔트로피 복호화를 수행한다(단계 1103). 엔트로피 복호화를 통해 복호화된 데이터에는 현재 예측 유닛과 예측된 예측 유닛 사이의 차이를 나타내는 잔여값(residue)을 포함된다. 엔트로피 복호화를 통해 복호화된 헤더 정보에는 예측 유닛 정보, 움직임 보상 및 예측을 위한 움직임 파라미터 및/또는 필터 정보-필터 인덱스 또는 필터 계수-와 같은 부가 정보가 포함될 수 있다. 상기 예측 유닛 정보는 예측 유닛 크기 정보를 포함할 수 있다. 상기 움직임 파라미터 및/또는 필터 정보는 본 발명의 실시예들에 따른 블록 병합 방법들에 의해 병합된 블록별로 전송된 움직임 파라미터 및/또는 필터 정보를 포함할 수 있다. Thereafter, the decoding apparatus performs entropy decoding on the received bit stream (step 1103). Data decoded through entropy decoding includes a residual indicating a difference between the current prediction unit and the predicted prediction unit. The header information decoded through entropy decoding may include additional information such as prediction unit information, motion parameters and / or filter information (filter index or filter coefficient) for motion compensation and prediction. The prediction unit information may include prediction unit size information. The motion parameter and / or filter information may include motion parameter and / or filter information transmitted for each block merged by block merging methods according to embodiments of the present invention.

여기서, 확장 매크로블록(Extended Macroblock) 및 확장 매크로 블록 크기를 이용하여 부호화 및 복호화하는 방식대신 전술한 순환적(recursive) 코딩 유닛(Coding Unit; CU)을 사용하여 부호화 및 복호화를 수행할 경우에는 상기 예측 유닛(PU) 정보는 최대 코딩 유닛(LCU)의 크기, 최소 코딩 유닛(SCU)의 크기, 최대 허용 가능한 계층 레벨(level) 또는 계층 깊이(depth), 플래그(flag) 정보를 포함할 수 있다.In the case of encoding and decoding using the above-described recursive coding unit (CU) instead of the encoding and decoding method using the extended macroblock and the extended macroblock size, The prediction unit (PU) information may include the size of the largest coding unit (LCU), the size of the minimum coding unit (SCU), the maximum allowable layer level or layer depth, and flag information. .

복호화 제어부(미도시)에서는 부호화 장치에서 적용한 예측 유닛(PU)의 크기에 대한 정보를 부호화 장치로부터 전송받아 부호화 장치에서 적용한 예측 유닛(PU)의 크기에 따라 후술할 움직임 보상 복호화 또는 역변환 또는 역양자화를 수행할 수 있다. The decoding control unit (not shown) receives the information on the size of the prediction unit (PU) applied by the encoding apparatus from the encoding apparatus and according to the size of the prediction unit (PU) applied by the encoding apparatus to be described later, motion compensation decoding or inverse transform or inverse quantization. Can be performed.

복호화 장치는 상기 엔트로피 복호화된 잔여값을 역양자화하고 역변환한다(단계 1105). 상기 역변환과정은 예측 유닛 크기(예를 들면, 32x32 또는 64x64 픽셀) 단위로 수행될 수 있다.The decoding apparatus inverse quantizes and inversely transforms the entropy decoded residual value (step 1105). The inverse transform process may be performed in units of prediction unit sizes (eg, 32x32 or 64x64 pixels).

복호화 장치는 예측 유닛 크기 정보, 움직임 보상 및 예측을 위한 움직임 파라미터, 필터 정보, 이전에 복원된 픽춰를 이용하여 화면간 예측 또는 화면내 예측을 수행하여 예측된 예측 유닛을 생성한다(단계 1107). 복호화 장치는 예측 유닛 크기 정보, 본 발명의 실시예들에 따른 블록 병합 방법들에 의해 병합된 블록별로 전송된 움직임 파라미터 및/또는 필터 정보를 이용하여 화면간 예측 또는 화면내 예측을 수행한다. The decoding apparatus generates the predicted prediction unit by performing inter-screen prediction or intra-screen prediction using prediction unit size information, motion parameters for motion compensation and prediction, filter information, and a previously reconstructed picture (step 1107). The decoding apparatus performs inter-screen prediction or intra-screen prediction using prediction unit size information, motion parameter and / or filter information transmitted for each block merged by the block merging methods according to embodiments of the present invention.

복호화기는 역양자화하고 역변환된 잔여값과 상기 화면간 예측 또는 화면내 예측을 통하여 예측된 예측 유닛을 더하여 영상을 복원한다(단계 1109). The decoder reconstructs an image by adding an inverse quantized and inverse transformed residual value and a prediction unit predicted through the inter prediction or intra prediction.

이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described with reference to the embodiments above, those skilled in the art will understand that the present invention can be variously modified and changed without departing from the spirit and scope of the invention as set forth in the claims below. Could be.

630 : 부호화기 632 : 화면간 예측부
730 : 복호화기
630: encoder 632: inter prediction unit
730: decoder

Claims (14)

영상의 부호화 방법에 있어서,
입력 영상에 대해 화면간 예측을 위한 예측 유닛을 생성하는 단계; 및
상기 예측 유닛에 대한 움직임 보상 화면간 예측을 수행하는 단계를 포함하되, 상기 예측 유닛에 대한 움직임 보상 화면간 예측을 수행하는 단계는
상기 움직임 보상 화면간 예측에 사용되는 필터를 픽춰 단위보다 정밀한 단위-상기 정밀한 단위는 슬라이스(slice) 단위 및 파티션 단위 중 적어도 하나를 포함함-별로 선택하여 서브-픽셀값을 산출하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.
In the video encoding method,
Generating a prediction unit for inter prediction on an input image; And
Performing motion compensated inter picture prediction for the prediction unit, wherein performing motion compensated inter picture prediction for the prediction unit includes:
Calculating a sub-pixel value by selecting the filter used for the motion compensation inter prediction according to a unit more precise than a picture unit, wherein the unit of precision includes at least one of a slice unit and a partition unit; Video encoding method.
제1항에 있어서, 상기 예측 유닛에 대한 움직임 보상 화면간 예측을 수행하는 단계는
상기 예측 유닛에 대한 파티션 분할후 현재 블록의 주변 샘플들을 포함하는 병합 가능 블록 집합에 속하는 샘플들을 상기 현재 블록과 병합하는 블록 병합을 수행하는 단계; 및
상기 움직임 보상 화면간 예측에 사용되는 필터의 필터 정보-상기 필터 정보는 필터 인덱스 및 필터 계수 중 적어도 하나를 포함함-를 상기 정밀한 단위별로 선택하여 서브-픽셀값을 산출하는 단계를 포함하는 것을 특징으로 하는 블록 병합을 이용한 영상 부호화 방법.
The method of claim 1, wherein performing motion compensation inter prediction on the prediction unit is performed.
Performing block merging after merging partitions for the prediction unit, merging samples belonging to a mergeable block set including neighboring samples of a current block with the current block; And
And selecting filter information of the filter used for the motion compensation inter prediction, wherein the filter information includes at least one of a filter index and a filter coefficient, for each of the precise units, to calculate a sub-pixel value. Image coding method using block merging.
제2항에 있어서, 상기 병합된 블록에 대해서는 동일한 필터 정보를 할당하여 복호화기로 전송하는 것을 특징으로 하는 블록 병합을 이용한 영상 부호화 방법.The image encoding method according to claim 2, wherein the merged blocks are allocated with the same filter information and transmitted to the decoder. 제1항에 있어서, 상기 병합 가능 블록 집합은 비대칭(asymmetric) 파티션닝(partitioning)에 의해 생성된 블록 및 기하학적(geometrical) 파티션닝(partitioning)에 의해 생성된 블록 중 적어도 하나를 포함하는 것을 특징으로 하는 블록 병합을 이용한 영상 부호화 방법.The method of claim 1, wherein the mergeable block set includes at least one of a block generated by asymmetric partitioning and a block generated by geometrical partitioning. Image coding method using block merging. 영상의 복호화 방법에 있어서,
수신된 비트 스트림을 엔트로피 복호화하여 잔여값을 역양자화 및 역변환하여 잔여값을 복원하는 단계;
예측 유닛 정보 및 움직임 파라미터를 이용하여 예측 유닛을 생성하는 단계;
픽춰 단위 보다 정밀한 단위-상기 정밀한 단위는 슬라이스(slice) 단위 및 파티션 단위 중 적어도 하나를 포함함-별로 선택하여 부호화된 필터 정보-상기 필터 정보는 필터 인덱스 및 필터 계수 중 적어도 하나를 포함함-를 이용하여 상기 예측 유닛에 대해 화면간 예측을 수행하는 단계; 및
상기 화면간 예측이 수행된 예측 유닛에 상기 잔여값을 더하여 영상을 복원하는 단계를 포함하는 영상 복호화 방법.
In the video decoding method,
Entropy decoding the received bit stream to inverse quantize and inversely transform the residual to restore the residual;
Generating a prediction unit using the prediction unit information and the motion parameter;
A unit of precision that is more precise than a picture unit, wherein the unit of precision includes at least one of a slice unit and a partition unit, and filter information encoded by selecting the filter information, wherein the filter information includes at least one of a filter index and a filter coefficient. Performing inter prediction on the prediction unit by using the inter prediction; And
And reconstructing an image by adding the residual value to the prediction unit on which the inter prediction is performed.
제5항에 있어서, 상기 예측 유닛에 대한 파티션 분할후 병합 가능 블록 집합에 속하는 블록들 중 현재 블록과 병합된 블록에 대해서는 동일한 필터 정보를 가지는 것을 특징으로 하는 영상 복호화 방법.The image decoding method of claim 5, wherein the same filter information is included in a block merged with a current block among blocks belonging to a mergeable block set after partitioning the prediction unit. 제5항에 있어서,상기 필터 정보는 움직임 보상 화면간 예측에 사용되는 필터의 필터 정보인 것을 특징으로 하는 영상 복호화 방법.The method of claim 5, wherein the filter information is filter information of a filter used for motion compensation inter prediction. 제5항에 있어서, 상기 병합 가능 블록 집합은 비대칭(asymmetric) 파티션닝(partitioning)에 의해 생성된 블록 및 기하학적(geometrical) 파티션닝(partitioning)에 의해 생성된 블록 중 적어도 하나를 포함하는 것을 특징으로 하는 영상 복호화 방법.The method of claim 5, wherein the mergeable block set includes at least one of a block generated by asymmetric partitioning and a block generated by geometrical partitioning. An image decoding method. 제5항에 있어서, 상기 엔트로피 복호화를 통해 복호화된 헤더 정보에는 예측 유닛 정보, 움직임 보상 및 예측을 위한 움직임 파라미터 및 필터 정보를 포함하는 것을 특징으로 하는 영상 복호화 방법.The image decoding method of claim 5, wherein the header information decoded through entropy decoding includes prediction unit information, motion parameter, and filter information for motion compensation and prediction. 영상의 복호화 장치에 있어서,
수신된 비트 스트림을 엔트로피 복호화하여 잔여값을 역양자화하고 역변환하여 잔여값을 복원하는 역양자화 및 역변환부;
예측 유닛 정보 및 움직임 파라미터를 이용하여 예측 유닛을 생성하는 움직임 보상부; 및
예측 유닛에 상기 잔여값을 더하여 영상을 복원하는 가산부를 포함하되, 상기 움직임 보상부는 픽춰 단위 보다 정밀한 단위-상기 정밀한 단위는 슬라이스(slice) 단위 및 파티션 단위 중 적어도 하나를 포함함-별로 선택하여 부호화된 필터 정보-상기 필터 정보는 필터 인덱스 및 필터 계수 중 적어도 하나를 포함함-를 이용하여 상기 예측 유닛에 대해 화면간 예측을 수행하는 것을 특징으로 하는 영상 복호화 장치.
In the video decoding apparatus,
An inverse quantization and inverse transform unit for entropy decoding the received bit stream to inverse quantize the residual value and inversely transform the residual value to restore the residual value;
A motion compensator for generating a prediction unit using the prediction unit information and the motion parameter; And
An adder configured to reconstruct an image by adding the residual value to a prediction unit, wherein the motion compensator selects and encodes a unit that is more precise than a picture unit, the precision unit including at least one of a slice unit and a partition unit And perform inter-screen prediction on the prediction unit using the filtered filter information, wherein the filter information includes at least one of a filter index and a filter coefficient.
제10항에 있어서, 상기 예측 유닛에 대한 파티션 분할후 병합 가능 블록 집합에 속하는 블록들 중 현재 블록과 병합된 블록에 대해서는 동일한 필터 정보를 가지는 것을 특징으로 하는 영상 복호화 장치.The image decoding apparatus of claim 10, wherein the same filter information is included in a block merged with a current block among blocks belonging to a mergeable block set after partitioning the prediction unit. 제10항에 있어서, 상기 필터 정보는 움직임 보상 화면간 예측에 사용되는 필터의 필터 정보인 것을 특징으로 하는 영상 복호화 장치.The apparatus of claim 10, wherein the filter information is filter information of a filter used for motion compensation inter prediction. 제10항에 있어서, 상기 병합 가능 블록 집합은 비대칭(asymmetric) 파티션닝(partitioning)에 의해 생성된 블록 및 기하학적(geometrical) 파티션닝(partitioning)에 의해 생성된 블록 중 적어도 하나를 포함하는 것을 특징으로 하는 영상 복호화 장치.11. The method of claim 10, wherein the mergeable block set comprises at least one of a block generated by asymmetric partitioning and a block generated by geometrical partitioning. An image decoding device. 제10항에 있어서, 상기 엔트로피 복호화를 통해 복호화된 헤더 정보에는 예측 유닛 정보, 움직임 보상 및 예측을 위한 움직임 파라미터 및 필터 정보를 포함하는 것을 특징으로 하는 영상 복호화 장치.
The apparatus of claim 10, wherein the header information decoded through entropy decoding includes prediction unit information, motion parameter and filter information for motion compensation and prediction.
KR1020100071848A 2010-02-02 2010-07-26 Apparatuses and methods for encoding/decoding of video using interpolation filter in a precise unit KR20120010367A (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020100071848A KR20120010367A (en) 2010-07-26 2010-07-26 Apparatuses and methods for encoding/decoding of video using interpolation filter in a precise unit
PCT/KR2011/000786 WO2011096770A2 (en) 2010-02-02 2011-02-07 Image encoding/decoding apparatus and method
US13/576,607 US20120300850A1 (en) 2010-02-02 2011-02-07 Image encoding/decoding apparatus and method
US14/528,536 US20150055701A1 (en) 2010-02-02 2014-10-30 Image encoding/decoding apparatus and method
US14/528,465 US20150049818A1 (en) 2010-02-02 2014-10-30 Image encoding/decoding apparatus and method
US14/528,379 US20150055711A1 (en) 2010-02-02 2014-10-30 Image encoding/decoding apparatus and method
US14/528,490 US20150055705A1 (en) 2010-02-02 2014-10-30 Image encoding/decoding apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100071848A KR20120010367A (en) 2010-07-26 2010-07-26 Apparatuses and methods for encoding/decoding of video using interpolation filter in a precise unit

Publications (1)

Publication Number Publication Date
KR20120010367A true KR20120010367A (en) 2012-02-03

Family

ID=45834870

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100071848A KR20120010367A (en) 2010-02-02 2010-07-26 Apparatuses and methods for encoding/decoding of video using interpolation filter in a precise unit

Country Status (1)

Country Link
KR (1) KR20120010367A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111147855A (en) * 2018-11-02 2020-05-12 北京字节跳动网络技术有限公司 Coordination between geometric partitioning prediction modes and other tools

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111147855A (en) * 2018-11-02 2020-05-12 北京字节跳动网络技术有限公司 Coordination between geometric partitioning prediction modes and other tools

Similar Documents

Publication Publication Date Title
US20210281854A1 (en) Method and apparatus for encoding/decoding an image
KR101292093B1 (en) Apparatuses and methods for encoding/decoding of video for intra prediction
US10182237B2 (en) Method for inducing a merge candidate block and device using same
KR20120090740A (en) Apparatuses and methods for encoding/decoding of video using filter in a precise unit
US11107253B2 (en) Image processing method, and image decoding and encoding method using same
US20150055711A1 (en) Image encoding/decoding apparatus and method
US20170374380A1 (en) Image encoding method and image decoding method
US11533470B2 (en) Method and apparatus for encoding/decoding an image signal
US20160191944A1 (en) Method for decoding a moving picture
KR20180046876A (en) Method and apparatus for encoding/decoding image and recording medium for storing bitstream
KR20190029732A (en) Intra prediction mode based image processing method and apparatus therefor
US10893267B2 (en) Method for processing image on basis of intra-prediction mode and apparatus therefor
EP3522538A1 (en) Image processing method and apparatus therefor
AU2013403224A1 (en) Features of intra block copy prediction mode for video and image coding and decoding
WO2012088357A2 (en) Content adaptive motion compensation filtering for high efficiency video coding
CN110622511A (en) Image encoding/decoding method and apparatus thereof
KR20190096432A (en) Intra prediction mode based image processing method and apparatus therefor
US20160191942A1 (en) Apparatus for decoding a moving picture
KR20110135471A (en) Apparatuses and methods for encoding/decoding of video using block merging
KR20120010367A (en) Apparatuses and methods for encoding/decoding of video using interpolation filter in a precise unit
AU2015200359B2 (en) Method for inducing a merge candidate block and device using same
US20230283768A1 (en) Method for predicting quantization parameter used in a video encoding/decoding apparatus
KR20200085235A (en) Image encoding/decoding method and apparatus using efficient motion information prediction

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination