KR101561461B1 - Video encoding and decoding method and apparatus using the same - Google Patents

Video encoding and decoding method and apparatus using the same Download PDF

Info

Publication number
KR101561461B1
KR101561461B1 KR1020130145501A KR20130145501A KR101561461B1 KR 101561461 B1 KR101561461 B1 KR 101561461B1 KR 1020130145501 A KR1020130145501 A KR 1020130145501A KR 20130145501 A KR20130145501 A KR 20130145501A KR 101561461 B1 KR101561461 B1 KR 101561461B1
Authority
KR
South Korea
Prior art keywords
block
motion prediction
base layer
merging motion
upper layer
Prior art date
Application number
KR1020130145501A
Other languages
Korean (ko)
Other versions
KR20140077824A (en
Inventor
박광훈
김경용
이민성
Original Assignee
경희대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경희대학교 산학협력단 filed Critical 경희대학교 산학협력단
Publication of KR20140077824A publication Critical patent/KR20140077824A/en
Application granted granted Critical
Publication of KR101561461B1 publication Critical patent/KR101561461B1/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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

Abstract

본 발명은 복수의 계층을 지원하는 영상의 복호화 방법은 복호화 대상이 되는 상위 계층의 대상 블록이 참조할 수 있는 기본 계층의 참조 블록을 복호화 하는 단계와; 상기 참조 블록의 병합 움직임 예측 영역에 기초하여 상기 대상 블록의 병합 움직임 예측 영역을 설정하는 단계와; 상기 대상 블록의 병합 움직임 예측 영역에 기초하여 상기 대상 블록에 대한 병합 움직임 예측 목록을 유도하는 단계와; 상기 병합 움직임 예측 목록에 기초하여 상기 대상 블록에 대한 움직임 보상을 수행하는 단계를 포함할 수 있다. 이로 인해 다른 계층의 정보를 이용하여 머지 예측을 수행하는 경우 머지 예측 영역(merge estimated region)을 재설정할 수 있는 영상의 부호화/복호화 방법 및 이를 이용하는 장치가 제공된다A method of decoding an image supporting a plurality of layers includes decoding a reference block of a base layer that can be referred to by a target block of an upper layer to be decoded; Setting a merged motion prediction region of the target block based on the merged motion prediction region of the reference block; Deriving a merged motion prediction list for the target block based on the merged motion prediction region of the target block; And performing motion compensation on the target block based on the merged motion prediction list. There is provided a method of encoding / decoding an image, which can reset a merge estimated region when merge prediction is performed using information of another layer, and an apparatus using the same

Figure R1020130145501
Figure R1020130145501

Description

영상의 부호화/복호화 방법 및 이를 이용하는 장치{VIDEO ENCODING AND DECODING METHOD AND APPARATUS USING THE SAME}TECHNICAL FIELD [0001] The present invention relates to a video encoding / decoding method, and a video encoding /

본 발명은 영상의 부호화 및 복호화 처리에 관한 것으로서, 보다 상세하게는 계층적 비디오 부호화에서 병렬성을 제공하기 위한 계층간 영상 부/복호화 방법 및 그 장치에 관한 것이다.The present invention relates to an image coding and decoding process, and more particularly, to a hierarchical image coding / decoding method and apparatus for providing parallelism in hierarchical video coding.

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

영상 압축을 위해, 시간적으로 이전 및/또는 이후의 픽쳐로부터 현재 픽쳐에 포함된 화소값을 예측하는 인터(inter) 예측 기술, 현재 픽쳐 내의 화소 정보를 이용하여 현재 픽쳐에 포함된 화소값을 예측하는 인트라(intra) 예측 기술, 출현 빈도가 높은 심볼(symbol)에 짧은 부호를 할당하고 출현 빈도가 낮은 심볼에 긴 부호를 할당하는 엔트로피 부호화 기술 등이 사용될 수 있다.An inter prediction technique for predicting a pixel value included in a current picture from temporally preceding and / or following pictures for image compression, a prediction method of predicting a pixel value included in a current picture using pixel information in the current picture An intra prediction technique, an entropy coding technique in which a short code is assigned to a symbol having a high appearance frequency and a long code is assigned to a symbol having a low appearance frequency.

영상 압축 기술에는 유동적인 네트워크 환경을 고려하지 않고 하드웨어의 제한적인 동작 환경하에서 일정한 네트워크 대역폭을 제공하는 기술이 있다. 그러나 수시로 대역폭이 변화하는 네트워크 환경에 적용되는 영상 데이터를 압축하기 위해서는 새로운 압축 기술이 요구되고, 이를 위해 스케일러블(scalable) 비디오 부호화/복호화 방법이 사용될 수 있다. There is a technique for providing a constant network bandwidth under a limited operating environment of hardware without considering a flexible network environment. However, a new compression technique is required in order to compress image data applied to a network environment in which the bandwidth varies from time to time, and a scalable video encoding / decoding method can be used for this purpose.

이러한 일환으로, 다양한 공간적 해상도(Spatial Resolution), 다양한 프레임율(Frame-rate)을 지원 가능한 하나의 통합된 데이터를 생성하여 다양한 전송환경과 다양한 단말들에게 데이터를 효율적으로 전송하고자 하는 요구가 증가하고 있다. 이러한 데이터의 효율적인 전송을 지원하기 위한 비디오 부호화 기술로써, HEVC를 기반으로 하는 SHVC(SHVC; Scalable High efficiency Video Coding)에 대한 표준화가 진행 중이다. SHVC에서 상위 계층의 영상 정보는 하위 계층의 영상 정보를 통해 부호화될 수 있다. 여기서 하위 계층은 기본 계층을 의미할 수도 있다.As a result, there is an increasing demand to efficiently transmit data to various terminals and various transmission environments by generating one integrated data capable of supporting various spatial resolutions and various frame rates have. As a video coding technology to support efficient transmission of such data, standardization of SHVC (SHVC: Scalable High Efficiency Video Coding) based on HEVC is underway. The image information of the upper layer in the SHVC can be encoded through the image information of the lower layer. Here, the lower layer may mean a base layer.

본 발명은 각 계층들의 부호화/복호화 시간의 동기화 및 더 나은 병렬성을 제공하기 위한 방법을 제공한다. The present invention provides a method for providing synchronization and better parallelism of encoding / decoding time of each layer.

본 발명은 다른 계층의 정보를 이용하여 머지 예측을 수행하는 경우 머지 예측 영역(merge estimated region)을 재설정할 수 있는 영상의 부호화/복호화 방법 및 이를 이용하는 장치를 제공한다. The present invention provides an image encoding / decoding method and an apparatus using the same that can reset a merge estimated region when performing merge prediction using information of another layer.

본 발명의 일실시예는, SHVC에서 계층들을 부호화 할때, 기본 계층에서의 MER 크기에 따라 상위 계층에서의 MER 크기를 재설정해줌으로써, 기본 계층 블록의 부호화/복호화 시간과 상위 계층 블록의 부호화/복호화 시간의 차이를 감소시킬 수 있는 영상의 부호화/복호화 방법 및 이를 이용하는 장치를 제공한다.According to an embodiment of the present invention, when coding layers in the SHVC, the MER size in the upper layer is reset according to the MER size in the base layer, so that the encoding / decoding time of the base layer block and the encoding / A method for encoding / decoding an image that can reduce a difference in decoding time and an apparatus using the same.

본 발명의 일 실시예인 복수의 계층을 지원하는 영상의 복호화 방법은 복호화 대상이 되는 상위 계층의 대상 블록이 참조할 수 있는 기본 계층의 참조 블록을 복호화 하는 단계와; 상기 참조 블록의 병합 움직임 예측 영역에 기초하여 상기 대상 블록의 병합 움직임 예측 영역을 설정하는 단계와; 상기 대상 블록의 병합 움직임 예측 영역에 기초하여 상기 대상 블록에 대한 병합 움직임 예측 목록을 유도하는 단계와; 상기 병합 움직임 예측 목록에 기초하여 상기 대상 블록에 대한 움직임 보상을 수행하는 단계를 포함할 수 있다.According to an embodiment of the present invention, there is provided a method of decoding an image supporting a plurality of layers, the method comprising: decoding a reference block of a base layer that can be referred to by a target block of an upper layer to be decoded; Setting a merged motion prediction region of the target block based on the merged motion prediction region of the reference block; Deriving a merged motion prediction list for the target block based on the merged motion prediction region of the target block; And performing motion compensation on the target block based on the merged motion prediction list.

상기 대상 블록의 병합 움직임 예측 영역은 상기 기본 계층의 픽쳐 너비와 상기 상위 계측의 픽쳐 너비의 비율에 따라 설정될 수 있다. The merged motion prediction region of the target block may be set according to a ratio of a picture width of the base layer and a picture width of the upper measurement.

상기 기본 계층의 픽쳐 너비와 상기 상위 계측의 픽쳐 너비의 비율(이하, 제1 비율)이 1 이상이면, 상기 대상 블록의 병합 움직임 예측 영역은 상기 참조 블록의 병합 움직임 예측 영역을 나타내는 소정의 레벨값에 상기 제1 비율을 2로 나눈 몫에 대응하는 제2비율을 더한 값으로 설정될 수 있다. Wherein the merged motion prediction region of the target block is a predetermined level value indicating a merged motion prediction region of the reference block and a ratio of a picture width of the base layer to a picture width of the upper metric And a second ratio corresponding to a quotient obtained by dividing the first ratio by two.

상기 기본 계층의 픽쳐 너비와 상기 상위 계측의 픽쳐 너비의 비율(이하, 제1 비율)이 1 미만이면, 상기 대상 블록의 병합 움직임 예측 영역은 상기 참조 블록의 병합 움직임 예측 영역을 나타내는 소정의 레벨값에서 상기 제1 비율의 역수를 2로 나눈 몫에 대응하는 제2 비율을 뺀 값으로 설정될 수 있다.Wherein a merged motion prediction region of the target block is a predetermined level value indicating a merged motion prediction region of the reference block and a ratio of a picture width of the base layer to a picture width of the upper metric The second ratio corresponding to a quotient obtained by dividing the reciprocal of the first ratio by two.

상기 레벨값은 상기 기본 계층에 대한 log2_parallel_merge_level_minus2라는 구문 요소의 디코딩을 통하여 유도될 수 있다. The level value may be derived through decoding of a syntax element log2_parallel_merge_level_minus2 for the base layer.

상기 대상 블록의 병합 움직임 예측 영역을 나타내는 소정의 구문 요소를 수신하는 단계를 더 포함할 수 있다. And receiving a predetermined syntax element indicating a merged motion prediction region of the target block.

상기 대상 블록은 적어도 둘 이상의 예측 블록으로 분할되는 코딩 블록이고, 상기 병합 움직임 예측 영역에 내에 포함되는 예측 블록 간에는 병렬적 병합 움직임 목록이 생성될 수 있다. The target block is a coding block divided into at least two prediction blocks, and a parallel merged motion list may be generated between prediction blocks included in the merged motion prediction area.

상기 대상 블록의 병합 움직임 예측 영역은 상기 대상 블록이 휘도 블록인지 색차 블록인지에 따라 기설정된 크기로 설정될 수 있다.The merged motion prediction region of the target block may be set to a predetermined size according to whether the target block is a luminance block or a color difference block.

본 발명의 다른 실시 형태에 따른 복수의 계층을 지원하는 영상의 복호화 장치는 복호화 대상이 되는 상위 계층의 대상 블록이 참조할 수 있는 기본 계층의 참조 블록을 복호화 하는 기본 계층 복호화부와; 상기 참조 블록의 병합 움직임 예측 영역에 기초하여 상기 대상 블록의 병합 움직임 예측 영역을 설정하고, 상기 대상 블록의 병합 움직임 예측 영역에 기초하여 상기 대상 블록에 대한 병합 움직임 예측 목록을 유도하고, 상기 병합 움직임 예측 목록에 기초하여 상기 대상 블록에 대한 움직임 보상을 수행하는 상위 계층 복호화부를 포함할 수 있다. According to another aspect of the present invention, there is provided an apparatus for decoding an image supporting a plurality of layers, the apparatus comprising: a base layer decoding unit decoding a reference block of a base layer that can be referred to by a target block of an upper layer to be decoded; Setting a merged motion prediction region of the target block based on the merged motion prediction region of the reference block, deriving a merged motion prediction list for the target block based on the merged motion prediction region of the target block, And an upper layer decoding unit for performing motion compensation on the target block based on the prediction list.

본 발명은 비디오 부호화에서 각 계층들의 부호화/복호화 시간의 동기화에 이용된다.The present invention is used to synchronize the encoding / decoding time of each layer in video coding.

본 발명의 일실시예에 따르면, SHVC에서 계층들을 부호화 할때, 기본 계층에서의 MER 크기에 따라 상위 계층에서의 MER 크기를 재설정해줌으로써, 기본 계층 블록의 부호화/복호화 시간과 상위 계층 블록의 부호화/복호화 시간의 차이를 감소시킬 수 있는 영상의 부호화/복호화 방법 및 이를 이용하는 장치가 제공된다.According to an embodiment of the present invention, when the layers are encoded in the SHVC, the MER size in the upper layer is reset according to the MER size in the base layer, so that the coding / decoding time of the base layer block, A method of encoding / decoding an image capable of reducing a difference in decoding time, and an apparatus using the same.

도 1은 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 본 발명이 적용될 수 있는, 복수 계층을 이용한 스케일러블 비디오 코딩 구조의 일 실시예를 개략적으로 나타내는 개념도이다.
도 4는 병합 움직임 후보 목록에 포함될 수 있는 주변 블록을 나타낸 도면이다.
도 5는 하나의 CU가 2개의 PU로 나누어졌을 경우(Nx2N), 병합 움직임 후보 목록을 설정하는 일예를 도시한 도면이다.
도 6은 여러 개의 CU를 포함하고 있는 2Nx2N CU에 대한 일예를 도시한 도면이다.
도 7은 병렬적으로 병합 움직임 후보 목록을 구성하기 위한 방법을 설명하는 실시 일예를 도시한 도면이다.
도 8은 본 발명의 일 예에 따라 여러 개의 MER로 묶여진 블록들을 도시한 도면이다.
도 9는 SHVC에서의 부호화/복호화 구조의 일 예를 도시한 도면이다.
도 10은 SHVC 비트스트림 구조의 일예를 도시한 도면이다.
도 11은 블록 기반으로 병렬적 부호화/복호화를 실현하는 방법의 일예를 도시한 도면이다.
도 12는 상위 계층과 기본 계층 간 실제 병렬적 부호화/복호화 순서 및 그에 따른 시간 차이의 일예를 도시한 도면이다.
도 13은 하나의 상위 계층 블록과 그에 상응하는 기본 계층 블록 간 부호화/복호화 시간의 차이의 일예를 도시한 도면이다.
도 14는 블록 간 부호화/복호화 시간 차이에 따른 하나의 상위 계층 영상과 그에 상응하는 기본 계층 영상 간 부호화/복호화 시간의 차이의 일예를 도시한 도면이다.
도 15는 하위 계층 및 이에 대응하는 상위 계층 블록을 병렬적으로 부호화/복호화 하는 방법의 일예를 도시한 도면이다.
도 16은 상위 계층 블록 간 의존성에 의한 부호화/복호화 시간의 증가의 일예를 도시한 도면이다.
도 17은 계층 간 상응하는 블록에 대하여 상위 계층의 MER 크기와 기본 계층의 MER 크기가 동일한 경우의 일예를 도시한 도면이다.
도 18은 상위 계층과 기본 계층 간의 MER 크기 차이로 인한 의존성 발생에 따른 부호화/복호화 시간의 증가의 일예를 도시한 도면이다.
도 19은 상위 계층 블록의 병렬적 부호화/복호화를 통한 부호화/복호화 시간 감소의 일예를 도시한 도면이다.
도 20은 본 발명의 일 실시예에 따른 시간 동기화 방법의 개념도에 대한 일예를 도시한 도면이다.
도 21은 상위 계층 영상의 MER크기 재설정으로 인한 부호화/복호화 시간의 감소의 일예를 도시한 도면이다.
도 22는 본 발명의 일 실시예에 따른 복호화기 구조도를 나타낸 제어 블록도이다.
도 23은 본 발명의 다른 실시예에 따른 복호화기 구조도를 나타낸 제어 블록도이다.
도 24는 본 발명의 일 실시예에 따른 부호화기 구조도를 나타낸 제어 블록도이다.
도 25는 본 발명의 다른 실시예에 따른 부호화기 구조도를 나타낸 제어 블록도이다.
도 26은 본 발명에 따라 상위 계층의 영상 크기가 기본 계층의 영상 크기보다 큰 경우의 일예를 도시한 도면이다.
도 27은 본 발명에 따라 상위 계층의 영상 크기가 기본 계층의 영상 크기보다 작은 경우의 일예를 도시한 도면이다.
도 28은 본 발명에 따라 상위 계층과 기본 계층의 영상 비례 값에 따라 상위 계층의 MER 크기를 정하는 알고리즘의 제어 흐름도의 일예를 도시한 도면이다.
도 29는 본 발명에 따른 방법들을 조합하는 경우에 대한 실시예를를 도시한 도면이다.
1 is a block diagram showing a configuration of an image encoding apparatus according to an embodiment of the present invention.
2 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
3 is a conceptual diagram schematically showing an embodiment of a scalable video coding structure using a plurality of layers to which the present invention can be applied.
4 is a diagram illustrating neighboring blocks that may be included in the merged motion candidate list.
FIG. 5 shows an example of setting a merged motion candidate list when one CU is divided into two PUs (Nx2N).
6 is a diagram illustrating an example of a 2Nx2N CU including a plurality of CUs.
Fig. 7 is a diagram showing an embodiment for explaining a method for constructing a merged motion candidate list in parallel.
FIG. 8 is a block diagram illustrating a plurality of MERs according to an exemplary embodiment of the present invention. Referring to FIG.
9 is a diagram showing an example of a coding / decoding structure in SHVC.
10 is a diagram showing an example of the SHVC bitstream structure.
11 is a diagram showing an example of a method for realizing block-based parallel encoding / decoding.
FIG. 12 is a diagram showing an example of the actual parallel coding / decoding order between the upper layer and the base layer and the time difference therebetween.
FIG. 13 is a diagram illustrating an example of a difference in encoding / decoding time between one higher layer block and a corresponding base layer block.
FIG. 14 is a diagram illustrating an example of difference in encoding / decoding time between one higher layer image and a corresponding base layer image according to the inter-block coding / decoding time difference.
15 is a diagram illustrating an example of a method of coding / decoding a lower layer and a corresponding upper layer block in parallel.
16 is a diagram showing an example of an increase in coding / decoding time due to dependency between upper layer blocks.
FIG. 17 is a diagram illustrating an example in which the MER size of an upper layer and the MER size of a base layer are the same for blocks corresponding to layers. FIG.
18 is a diagram illustrating an example of an increase in coding / decoding time due to a dependency due to a difference in MER between an upper layer and a base layer.
19 is a diagram illustrating an example of coding / decoding time reduction by parallel coding / decoding of an upper layer block.
20 is a conceptual diagram of a time synchronization method according to an embodiment of the present invention.
FIG. 21 is a diagram illustrating an example of reduction in coding / decoding time due to MER size reset of an upper layer image.
22 is a control block diagram illustrating a structure of a decoder according to an embodiment of the present invention.
23 is a control block diagram illustrating a structure of a decoder according to another embodiment of the present invention.
24 is a block diagram illustrating a structure of an encoder according to an embodiment of the present invention.
25 is a block diagram illustrating a structure of an encoder according to another embodiment of the present invention.
26 is a diagram illustrating an example in which an image size of an upper layer is larger than an image size of a base layer according to the present invention.
27 is a diagram illustrating an example in which the image size of the upper layer is smaller than the image size of the base layer according to the present invention.
28 is a diagram illustrating an example of a control flowchart of an algorithm for determining an MER size of an upper layer according to an image proportional value of an upper layer and a base layer according to the present invention.
FIG. 29 is a diagram illustrating an embodiment for combining methods according to the present invention.

이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the following description of the embodiments of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present disclosure rather unclear.

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

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

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

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

도 1은 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다. 스케일러블(scalable) 비디오 부호화/복호화 방법 또는 장치는 스케일러빌리티(scalability)를 제공하지 않는 일반적인 영상 부호화/복호화 방법 또는 장치의 확장(extension)에 의해 구현될 수 있으며, 도 1의 블록도는 스케일러블 비디오 부호화 장치의 기초가 될 수 있는 영상 부호화 장치의 일 실시예를 나타낸다.1 is a block diagram showing a configuration of an image encoding apparatus according to an embodiment of the present invention. A scalable video encoding / decoding method or apparatus may be implemented by a general image encoding / decoding method or apparatus extension that does not provide scalability, and the block diagram of FIG. 1 is a scalable 1 shows an embodiment of a video encoding apparatus that can be a basis of a video encoding apparatus.

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

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

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

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

감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔여 블록(residual block)을 생성할 수 있다. 변환부(130)는 잔여 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다. The subtractor 125 may generate a residual block by a difference between the input block and the generated prediction block. The transforming unit 130 may perform a transform on the residual block to output a transform coefficient. The quantization unit 140 may quantize the input transform coefficient according to the quantization parameter to output a quantized coefficient.

엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로, 심볼(symbol)을 확률 분포에 따라 엔트로피 부호화하여 비트스트림(bit stream)을 출력할 수 있다. 엔트로피 부호화 방법은 다양한 값을 갖는 심볼을 입력 받아, 통계적 중복성을 제거하면서, 복호 가능한 2진수의 열로 표현하는 방법이다. The entropy encoding unit 150 entropy-codes a symbol according to a probability distribution based on the values calculated by the quantization unit 140 or the encoding parameter value calculated in the encoding process to obtain a bit stream Can be output. The entropy coding method is a method of receiving symbols having various values and expressing them as decodable binary numbers while eliminating statistical redundancy.

여기서, 심볼이란 부호화/복호화 대상 구문 요소(syntax element) 및 부호화 파라미터(coding parameter), 잔여 신호(residual signal)의 값 등을 의미한다. 부호화 파라미터는 부호화 및 복호화에 필요한 매개변수로서, 구문 요소와 같이 부호화 장치에서 부호화되어 복호화 장치로 전달되는 정보뿐만 아니라, 부호화 혹은 복호화 과정에서 유추될 수 있는 정보를 포함할 수 있으며 영상을 부호화하거나 복호화할 때 필요한 정보를 의미한다. 부호화 파라미터는 예를 들어 인트라/인터 예측모드, 이동/움직임 벡터, 참조 영상 색인, 부호화 블록 패턴, 잔여 신호 유무, 변환 계수, 양자화된 변환 계수, 양자화 파라미터, 블록 크기, 블록 분할 정보 등의 값 또는 통계를 포함할 수 있다. 또한 잔여 신호는 원신호와 예측 신호의 차이를 의미할 수 있고, 또한 원신호와 예측 신호의 차이가 변환(transform)된 형태의 신호 또는 원신호와 예측 신호의 차이가 변환되고 양자화된 형태의 신호를 의미할 수도 있다. 잔여 신호는 블록 단위에서는 잔여 블록이라 할 수 있다.Here, the symbol means a syntax element to be encoded / decoded, a coding parameter, a value of a residual signal, and the like. The encoding parameter is a parameter necessary for encoding and decoding. The encoding parameter may include information that can be inferred in an encoding or decoding process, as well as information encoded and encoded in a encoding device such as a syntax element, and may be encoded or decoded It means the information that is needed when doing. The coding parameters include, for example, values such as intra / inter prediction mode, motion / motion vector, reference picture index, coding block pattern, presence of residual signal, transform coefficient, quantized transform coefficient, quantization parameter, block size, Statistics can be included. In addition, the residual signal may mean a difference between the original signal and the prediction signal, or a signal in which the difference between the original signal and the prediction signal is transformed or a difference between the original signal and the prediction signal is transformed and the quantized signal . The residual signal can be regarded as a residual block in block units.

엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. When entropy coding is applied, a small number of bits are allocated to a symbol having a high probability of occurrence, and a large number of bits are allocated to a symbol having a low probability of occurrence, so that the size of a bit string for the symbols to be coded Can be reduced. Therefore, the compression performance of the image encoding can be enhanced through the entropy encoding.

엔트로피 부호화를 위해 지수 골룸(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법이 사용될 수 있다. 예를 들어, 엔트로피 부호화부(150)에는 가변 길이 부호화(VLC: Variable Lenghth Coding/Code) 테이블과 같은 엔트로피 부호화를 수행하기 위한 테이블이 저장될 수 있고, 엔트로피 부호화부(150)는 저장된 가변 길이 부호화(VLC) 테이블을 사용하여 엔트로피 부호화를 수행할 수 있다. 또한 엔트로피 부호화부(150)는 대상 심볼의 이진화(binarization) 방법 및 대상 심볼/빈(bin)의 확률 모델(probability model)을 도출한 후, 도출된 이진화 방법 또는 확률 모델을 사용하여 엔트로피 부호화를 수행할 수도 있다.For entropy encoding, an encoding method such as exponential golomb, context-adaptive variable length coding (CAVLC), and context-adaptive binary arithmetic coding (CABAC) may be used. For example, a table for performing entropy encoding such as a variable length coding / code (VLC) table may be stored in the entropy encoding unit 150, and the entropy encoding unit 150 may store the stored variable length encoding (VLC) table for performing entropy encoding. Further, the entropy encoding unit 150 derives a binarization method of a target symbol and a probability model of a target symbol / bin, and then performs entropy encoding using the derived binarization method or probability model You may.

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

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

도 2는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다. 도 1에서 상술한 바와 같이 스케일러블 비디오 부호화/복호화 방법 또는 장치는 스케일러빌리티를 제공하지 않는 일반적인 영상 부호화/복호화 방법 또는 장치의 확장에 의해 구현될 수 있으며, 도 2의 블록도는 스케일러블 비디오 복호화 장치의 기초가 될 수 있는 영상 복호화 장치의 일 실시예를 나타낸다.2 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention. As described above with reference to FIG. 1, the scalable video encoding / decoding method or apparatus may be implemented by expanding a general image encoding / decoding method or apparatus that does not provide scalability, and the block diagram of FIG. 2 illustrates scalable video decoding / 1 shows an embodiment of an image decoding apparatus which can be the basis of the apparatus.

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

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

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

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

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

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

상기 영상 복호화 장치(200)에 포함되어 있는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 필터부(260) 및 참조 영상 버퍼(270) 중 영상의 복호화에 직접적으로 관련된 구성요소들, 예컨대, 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 필터부(260) 등을 다른 구성요소와 구분하여 복호화부 또는 디코딩부로 표현할 수 있다. An entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, an intra prediction unit 240, a motion compensation unit 250, a filter unit 260 included in the image decoding apparatus 200, An entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, an intraprediction unit 240, a motion compensation unit 240, And the filter unit 260 may be expressed as a decoding unit or a decoding unit.

또한, 영상 복호화 장치(200)는 비트스트림에 포함되어 있는 인코딩된 영상에 관련된 정보를 파싱하는 도시하지 않은 파싱부를 더 포함할 수 있다. 파싱부는 엔트로피 복호화부(210)를 포함할 수도 있고, 엔트로피 복호화부(210)에 포함될 수도 있다. 이러한 파싱부는 또한 디코딩부의 하나의 구성요소로 구현될 수도 있다.
In addition, the video decoding apparatus 200 may further include a parsing unit (not shown) for parsing information related to the encoded video included in the bitstream. The parsing unit may include an entropy decoding unit 210 or may be included in the entropy decoding unit 210. Such a parsing unit may also be implemented as one component of the decoding unit.

도 3은 본 발명이 적용될 수 있는, 복수 계층을 이용한 스케일러블 비디오 코딩 구조의 일 실시예를 개략적으로 나타내는 개념도이다. 도 3에서 GOP(Group of Picture)는 픽처군 즉, 픽처의 그룹을 나타낸다.3 is a conceptual diagram schematically showing an embodiment of a scalable video coding structure using a plurality of layers to which the present invention can be applied. In FIG. 3, a GOP (Group of Pictures) represents a picture group, that is, a group of pictures.

영상 데이터를 전송하기 위해서는 전송 매체가 필요하며, 그 성능은 다양한 네트워크 환경에 따라 전송 매체별로 차이가 있다. 이러한 다양한 전송 매체 또는 네트워크 환경에의 적용을 위해 스케일러블 비디오 코딩 방법이 제공될 수 있다.In order to transmit video data, a transmission medium is required, and the performance of the transmission medium varies depending on various network environments. A scalable video coding method may be provided for application to these various transmission media or network environments.

스케일러블 비디오 코딩 방법은 계층(layer) 간의 텍스쳐 정보, 움직임 정보, 잔여 신호 등을 활용하여 계층간 중복성을 제거하여 부호화/복호화 성능을 높이는 코딩 방법이다. 스케일러블 비디오 코딩 방법은, 전송 비트율, 전송 에러율, 시스템 자원 등의 주변 조건에 따라, 공간적, 시간적, 화질적 관점에서 다양한 스케일러빌리티를 제공할 수 있다.The scalable video coding method is a coding method for enhancing the coding / decoding performance by eliminating inter-layer redundancy by utilizing texture information, motion information, residual signal, etc. between layers. The scalable video coding method can provide various scalabilities in terms of spatial, temporal, and image quality according to surrounding conditions such as a transmission bit rate, a transmission error rate, and a system resource.

스케일러블 비디오 코딩은, 다양한 네트워크 상황에 적용 가능한 비트스트림을 제공할 수 있도록, 복수 계층(multiple layers) 구조를 사용하여 수행될 수 있다. 예를 들어 스케일러블 비디오 코딩 구조는, 일반적인 영상 부호화 방법을 이용하여 영상 데이터를 압축하여 처리하는 기본 계층을 포함할 수 있고, 기본 계층의 부호화 정보 및 일반적인 영상 부호화 방법을 함께 사용하여 영상 데이터를 압축 처리하는 향상 계층을 포함할 수 있다.Scalable video coding can be performed using multiple layers structure to provide a bitstream applicable to various network situations. For example, the scalable video coding structure may include a base layer that compresses and processes image data using a general image encoding method, and compresses and compresses the image data using the base layer encoding information and general image encoding method Lt; RTI ID = 0.0 > layer. ≪ / RTI >

여기서, 계층(layer)은 공간(spatial, 예를 들어, 영상 크기), 시간(temporal, 예를 들어, 부호화 순서, 영상 출력 순서, 프레임 레이트), 화질, 복잡도 등을 기준으로 구분되는 영상 및 비트스트림(bitstream)의 집합을 의미한다. 또한 기본 계층은 하위 계층, 참조 계층 또는 Base layer, 향상 계층은 상위 계층, Enhancement layer를 의미할 수 있다. 또한 복수의 계층들은 서로 간에 종속성을 가질 수도 있다.Here, the layer may be classified into a video and a bit classified based on spatial (e.g., image size), temporal (e.g., coding order, image output order, frame rate), image quality, Means a set of bitstreams. In addition, the base layer may be a lower layer, a reference layer or a base layer, an enhancement layer may mean an enhancement layer, and an enhancement layer. The plurality of layers may also have dependencies between each other.

도 3을 참조하면, 예를 들어 기본 계층은 SD(standard definition), 15Hz의 프레임율, 1Mbps 비트율로 정의될 수 있고, 제1 향상 계층은 HD(high definition), 30Hz의 프레임율, 3.9Mbps 비트율로 정의될 수 있으며, 제2 향상 계층은 4K-UHE(ultra high definition), 60Hz의 프레임율, 27.2Mbps 비트율로 정의될 수 있다. 상기 포맷(format), 프레임율, 비트율 등은 하나의 실시예로서, 필요에 따라 달리 정해질 수 있다. 또한 사용되는 계층의 수도 본 실시예에 한정되지 않고 상황에 따라 달리 정해질 수 있다. Referring to FIG. 3, for example, the base layer may be defined by a standard definition (SD), a frame rate of 15 Hz, a bit rate of 1 Mbps, and a first enhancement layer may be defined as high definition (HD), a frame rate of 30 Hz, And the second enhancement layer may be defined as 4K-UHE (ultra high definition), a frame rate of 60 Hz, and a bit rate of 27.2 Mbps. The format, the frame rate, the bit rate, and the like are one example, and can be determined as needed. Also, the number of layers to be used is not limited to the present embodiment, but can be otherwise determined depending on the situation.

예를 들어, 전송 대역폭이 4Mbps라면 상기 제1향상계층 HD의 프레임 레이트를 줄여서 15Hz이하로 전송할 수 있다. 스케일러블 비디오 코딩 방법은 상기 도 3의 실시예에서 상술한 방법에 의해 시간적, 공간적, 화질적 스케일러빌리티를 제공할 수 있다.
For example, if the transmission bandwidth is 4 Mbps, the frame rate of the first enhancement layer HD may be reduced to 15 Hz or less. The scalable video coding method can provide temporal, spatial, and image quality scalability by the method described in the embodiment of FIG.

비트스트림 내 복수의 계층을 지원하는 비디오의 부호화 및 복호화, 즉 스케일러블 코딩(scalable coding)의 경우, 복수의 계층간에는 강한 연관성(correlation)이 존재하기 때문에 이런 연관성을 이용하여 예측을 수행하면 데이터의 중복 요소를 제거할 수 있고 영상의 부호화 성능을 향상시킬 수 있다. 다른 계층의 정보를 이용하여 예측의 대상이 되는 현재 레이어의 예측을 수행하는 것을 이하에서는 계층간 예측(inter-layer prediction)이라고 표현한다. 스케일러블 비디오 코딩은 이하 부호화 관점에서는 스케일러블 비디오 부호화, 복호화 관점에서는 스케일러블 비디오 복호화와 동일한 의미를 가진다. In the case of coding and decoding of video supporting a plurality of layers in a bitstream, that is, scalable coding, there is a strong correlation between a plurality of layers. Therefore, if prediction is performed using this association, It is possible to eliminate the redundant elements and improve the image coding performance. Hereinafter, prediction of a current layer to be predicted using information of another layer is referred to as inter-layer prediction. Scalable video coding has the same meaning as scalable video coding in view of coding and scalable video decoding in view of decoding.

복수의 계층들은 해상도, 프레임 레이트, 컬러 포맷 중 적어도 하나가 서로 다를 수 있으며, 계층간 예측 시 해상도의 조절을 위하여 레이어의 업샘플링 또는 다운샘플링이 수행될 수 있다.
At least one of the plurality of layers may be different from one another in resolution, frame rate, and color format, and upsampling or downsampling of the layer may be performed for adjusting the resolution in inter-layer prediction.

통상적으로 화면간 예측은 현재 픽처의 이전 픽처 또는 이후 픽처 중 적어도 하나를 참조 픽처로 하고, 참조 픽처를 기반으로 현재 블록에 대한 예측을 수행할 수 있다. 현재 블록의 예측에 이용되는 영상을 참조 픽처(reference picture) 또는 참조 프레임(reference frame)이라고 한다. Generally, inter-picture prediction can be performed on a current block based on a reference picture, with at least one of a previous picture or a following picture of the current picture being a reference picture. An image used for prediction of a current block is referred to as a reference picture or a reference frame.

참조 픽처 내의 영역은 참조 픽처를 지시하는 참조 픽처 인덱스(refIdx) 및 움직임 벡터(motion vector) 등을 이용하여 나타낼 수 있다. An area in the reference picture can be represented using a reference picture index refIdx indicating a reference picture and a motion vector.

화면간 예측은 참조 픽처 및 참조 픽처 내에서 현재 블록에 대응하는 참조 블록을 선택해서, 현재 블록에 대한 예측 블록을 생성할 수 있다. The inter picture prediction can generate a prediction block for the current block by selecting a reference block corresponding to the current block in the reference picture and the reference picture.

화면 간 예측에서 부호화 장치 및 복호화 장치는 현재 블록의 움직임 정보를 도출한 후, 도출된 움직임 정보에 기반하여 화면 간 예측 및/또는 움직임 보상을 수행할 수 있다. 이 때, 부호화 장치 및 복호화 장치는 복원된 주변 블록(neighboring block) 및/또는 이미 복원된 콜(col) 픽쳐(collocated picture) 내에서 현재 블록에 대응되는 콜(col) 블록(collocated block)의 움직임 정보를 이용함으로써, 부호화/복호화 효율을 향상시킬 수 있다. In the inter-picture prediction, the coding apparatus and the decoding apparatus derive the motion information of the current block, and then perform inter-picture prediction and / or motion compensation based on the derived motion information. At this time, the encoding apparatus and the decoding apparatus perform a motion of a collocated block corresponding to a current block in a restored neighboring block and / or a collocated picture already restored, By using information, coding / decoding efficiency can be improved.

여기서, 복원된 주변 블록은 이미 부호화 및/또는 복호화되어 복원된 현재 픽쳐 내의 블록으로서, 현재 블록에 인접한 블록 및/또는 현재 블록의 외부 코너에 위치한 블록을 포함할 수 있다. 또한 부호화 장치 및 복호화 장치는, 콜 픽쳐 내에서 현재 블록과 공간적으로 대응되는 위치에 존재하는 블록을 기준으로 소정의 상대적인 위치를 결정할 수 있고, 상기 결정된 소정의 상대적인 위치(상기 현재 블록과 공간적으로 대응되는 위치에 존재하는 블록의 내부 및/또는 외부의 위치)를 기반으로 상기 콜 블록을 도출할 수 있다. 여기서, 일례로 콜 픽쳐는 참조 픽쳐 리스트에 포함된 참조 픽쳐 중에서 하나의 픽쳐에 해당될 수 있다.Here, the reconstructed neighboring block may include a block adjacent to the current block and / or a block located at the outer corner of the current block, which is a block in the current picture reconstructed by decoding and / or decoding. The coding apparatus and the decoding apparatus may determine a predetermined relative position based on a block existing at a position spatially corresponding to the current block in the call picture, and determine a predetermined relative position based on the determined relative position The location of the call block can be derived based on the internal and / or external location of the block at the location where it is located. Here, for example, the call picture may correspond to one picture among the reference pictures included in the reference picture list.

화면간 예측은 현재 블록과의 레지듀얼(residual) 신호가 최소화되며 움직임 벡터 크기 역시 최소가 되도록 예측 블록을 생성할 수 있다.Inter prediction may generate a prediction block such that the residual signal with respect to the current block is minimized and the motion vector size is minimized.

한편, 움직임 정보 도출 방식은 현재 블록의 예측 모드에 따라 달라질 수 있다. 인터 예측을 위해 적용되는 예측 모드에는 AMVP(Advanced Motion Vector Predictor), 머지(merge) 등이 있을 수 있다.Meanwhile, the motion information derivation method can be changed according to the prediction mode of the current block. The prediction mode applied for inter prediction may be an Advanced Motion Vector Predictor (AMVP), a merge, or the like.

일례로, AMVP(Advanced Motion Vector Predictor)가 적용되는 경우, 부호화 장치 및 복호화 장치는 복원된 주변 블록의 움직임 벡터 및/또는 콜 블록의 움직임 벡터를 이용하여, 예측 움직임 벡터 후보 리스트를 생성할 수 있다. 즉, 복원된 주변 블록의 움직임 벡터 및/또는 콜 블록의 움직임 벡터는 예측 움직임 벡터 후보로 사용될 수 있다. 부호화 장치는 상기 리스트에 포함된 예측 움직임 벡터 후보 중에서 선택된 최적의 예측 움직임 벡터를 지시하는 예측 움직임 벡터 인덱스를 복호화 장치로 전송할 수 있다. 이 때, 복호화 장치는 상기 예측 움직임 벡터 인덱스를 이용하여, 예측 움직임 벡터 후보 리스트에 포함된 예측 움직임 벡터 후보 중에서, 현재 블록의 예측 움직임 벡터를 선택할 수 있다.For example, when an Advanced Motion Vector Predictor (AMVP) is applied, the encoder and the decoder can generate a predicted motion vector candidate list using a motion vector of a reconstructed neighboring block and / or a motion vector of a call block . That is, the motion vector of the reconstructed neighboring block and / or the motion vector of the call block may be used as a predicted motion vector candidate. The encoding apparatus may transmit to the decoding apparatus a predicted motion vector index indicating an optimal predicted motion vector selected from the predicted motion vector candidates included in the list. At this time, the decoding apparatus can select the predicted motion vector of the current block from the predicted motion vector candidates included in the predicted motion vector candidate list using the predicted motion vector index.

부호화 장치는 현재 블록의 움직임 벡터와 예측 움직임 벡터 간의 움직임 벡터 차분(MVD: Motion Vector Difference)을 구할 수 있고, 이를 부호화하여 복호화 장치로 전송할 수 있다. 이 때, 복호화 장치는 수신된 움직임 벡터 차분을 복호화할 수 있고, 복호화된 움직임 벡터 차분과 예측 움직임 벡터의 합을 통해 현재 블록의 움직임 벡터를 도출할 수 있다.The encoding apparatus can obtain a motion vector difference (MVD) between a motion vector of a current block and a predictive motion vector, and can transmit the motion vector difference to a decoding apparatus. At this time, the decoding apparatus can decode the received motion vector difference, and derive the motion vector of the current block through the sum of the decoded motion vector difference and the predicted motion vector.

부호화 장치는 또한 참조 픽처를 지시하는 참조 픽처 인덱스 등을 복호화 장치에 전송할 수 있다. The encoding apparatus can also transmit a reference picture index or the like that indicates a reference picture to the decoding apparatus.

복호화 장치는 주변 블록의 움직임 정보들을 이용하여 현재 블록의 움직임 벡터를 예측하고, 부호화 장치로부터 수신한 레지듀얼을 이용하여 현재 블록에 대한 움직임 벡터를 유도할 수 있다. 복호화 장치는 유도한 움직임 벡터와 부호화 장치로부터 수신한 참조 픽처 인덱스 정보를 기반으로 현재 블록에 대한 예측 블록을 생성할 수 있다.The decoding apparatus predicts a motion vector of a current block using motion information of a neighboring block and derives a motion vector of the current block using residuals received from the encoding apparatus. The decoding apparatus can generate a prediction block for the current block based on the derived motion vector and the reference picture index information received from the encoder.

다른 예로, 머지(merge)가 적용되는 경우, 부호화 장치 및 복호화 장치는 복원된 주변 블록의 움직임 정보 및/또는 콜 블록의 움직임 정보를 이용하여, 머지 후보 리스트를 생성할 수 있다. 즉, 부호화 장치 및 복호화 장치는 복원된 주변 블록 및/또는 콜 블록의 움직임 정보가 존재하는 경우, 이를 현재 블록에 대한 머지 후보로 사용할 수 있다. As another example, when a merge is applied, the encoding apparatus and the decoding apparatus can generate a merge candidate list using the motion information of the restored neighboring block and / or the motion information of the call block. That is, when motion information of the restored neighboring block and / or call block exists, the encoder and the decoder can use it as a merge candidate for the current block.

부호화 장치는 머지 후보 리스트에 포함된 머지 후보 중에서 최적의 부호화 효율을 제공할 수 있는 머지 후보를 현재 블록에 대한 움직임 정보로 선택할 수 있다. 이 때, 상기 선택된 머지 후보를 지시하는 머지 인덱스가 비트스트림에 포함되어 복호화 장치로 전송될 수 있다. 복호화 장치는 상기 전송된 머지 인덱스를 이용하여, 머지 후보 리스트에 포함된 머지 후보 중에서 하나를 선택할 수 있으며, 상기 선택된 머지 후보를 현재 블록의 움직임 정보로 결정할 수 있다. 따라서, 머지 모드가 적용되는 경우, 복원된 주변 블록 및/또는 콜 블록의 움직임 정보가 현재 블록의 움직임 정보로 그대로 사용될 수 있다. 복호화 장치는 예측 블록과 부호화 장치로부터 전송되는 레 지듀얼을 더하여 현재 블록을 복원할 수 있다.The encoding apparatus can select a merge candidate that can provide the optimal encoding efficiency among the merge candidates included in the merge candidate list as the motion information for the current block. At this time, a merge index indicating the selected merge candidate may be included in the bitstream and transmitted to the decoding apparatus. The decoding apparatus can select one of merge candidates included in the merge candidate list using the transmitted merge index and determine the selected merge candidate as the motion information of the current block. Therefore, when the merge mode is applied, the motion information of the restored neighboring block and / or call block can be used as it is as motion information of the current block. The decoding apparatus can restore the current block by adding the predictive block and the residual transmitted from the encoding apparatus.

상술한 AMVP 및 머지 모드에서는, 현재 블록의 움직임 정보를 도출하기 위해, 복원된 주변 블록의 움직임 정보 및/또는 콜 블록의 움직임 정보가 사용될 수 있다.In the above-described AMVP and merge modes, motion information of a restored neighboring block and / or motion information of a call block may be used to derive motion information of the current block.

화면 간 예측에 이용되는 다른 모드 중 하나 인 스킵 모드의 경우에, 주변 블록의 정보를 그대로 현재 블록에 이용할 수 있다. 따라서 스킵 모드의 경우에, 부호화 장치는 현재 블록의 움직임 정보로서 어떤 블록의 움직임 정보를 이용할 것인지를 지시하는 정보 외에 레지듀얼 등과 같은 신택스 정보를 복호화 장치에 전송하지 않는다. In the case of the skip mode which is one of the other modes used for the inter-picture prediction, the information of the neighboring blocks can be used as it is for the current block. Therefore, in the case of the skip mode, the encoding apparatus does not transmit syntax information such as residuals to the decoding apparatus in addition to information indicating which block motion information is to be used as motion information of the current block.

부호화 장치 및 복호화 장치는 상기 도출된 움직임 정보에 기반하여 현재 블록에 대한 움직임 보상을 수행함으로써, 현재 블록의 예측 블록을 생성할 수 있다. 여기서, 예측 블록은 현재 블록에 대한 움직임 보상 수행 결과 생성된, 움직임 보상된 블록을 의미할 수 있다. 또한, 복수의 움직임 보상된 블록은 하나의 움직임 보상된 영상을 구성할 수 있다.The encoding apparatus and the decoding apparatus can perform motion compensation on the current block based on the derived motion information, thereby generating a prediction block of the current block. Here, the prediction block may be a motion compensated block generated as a result of performing motion compensation on a current block. In addition, a plurality of motion-compensated blocks may constitute one motion-compensated image.

복호화 장치는 현재 블록의 인터 예측에 필요한 움직임 정보, 예컨대 움직임 벡터, 참조 픽처 인덱스 등에 관한 정보를 부호화 장치로부터 수신한 스킵 플래그, 머지 플래그 등을 확인하고 이에 대응하여 유도할 수 있다. The decoding apparatus can confirm the skip flag, the merge flag, and the like received from the encoding apparatus on the motion information necessary for inter-prediction of the current block, for example, information on the motion vector, reference picture index,

예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 서로 다를 수 있다. 예컨대, 예측 블록 단위로 예측모드가 정해져서 변환 블록 단위로 예측이 수행될 수도 있고, 예측 블록 단위로 예측 모드가 정해지고 변환 블록 단위로 화면 내 예측이 수행될 수 도 있다. The processing unit in which the prediction is performed and the processing unit in which the prediction method and the concrete contents are determined may be different from each other. For example, the prediction mode may be determined for each prediction block, and the prediction may be performed on a conversion block basis, the prediction mode may be determined on a prediction block basis, and the intra prediction may be performed on a conversion block basis.

병합(merge) 움직임 예측 방법, 즉 머지 예측에 사용되는 움직임 정보란, 움직임 벡터, 참조영상에 대한 인덱스 그리고 예측 방향(단방향, 양방향, 등) 중에서 적어도 하나를 포함하는 정보다. 예측 방향은 참조 픽쳐 목록(Reference Picture List; RefPicList)의 사용에 따라 크게 단방향 예측과 양방향 예측으로 나누어 질 수 있다.The merge motion prediction method, that is, the motion information used in the merge prediction is information including at least one of a motion vector, an index for a reference image, and a prediction direction (unidirectional, bidirectional, etc.). The prediction direction can be largely divided into unidirectional prediction and bidirectional prediction according to use of a reference picture list (Ref PictureList).

단방향 예측에는 순방향 참조 픽쳐 목록 (LIST 0)을 사용한 순방향 예측(Pred_L0; Prediction L0)과 역방향 참조픽쳐목록 (LIST 1)을 사용한 역방향 예측(Pred_L1; Prediction L1)으로 구분된다. The unidirectional prediction is divided into forward prediction (Pred_L0) using the forward reference picture list (LIST0) and backward prediction (Pred_L1; Prediction L1) using the reverse reference picture list (LIST1).

또한, 양방향 예측(Pred_BI; Prediction BI)은 순방향 참조픽쳐목록 (LIST 0)와 역방향 참조픽쳐목록 (LIST 1)을 모두 사용하며, 순방향 예측과 역방향 예측이 모두 존재하는 것을 의미할 수 있다.Bidirectional prediction (Pred_BI) may use both the forward reference picture list (LIST 0) and the backward reference picture list (LIST 1), which means that both the forward prediction and the backward prediction exist.

또한, 순방향 참조픽쳐목록(LIST 0)을 역방향 참조픽쳐목록 (LIST 1)에 복사하여 순방향 예측이 두 개 존재하는 경우도 양방향 예측의 범위에 포함될 수 있다. 이러한 예측 방향 여부는 predFlagL0, predFlagL1와 같은 플래그 정보를 사용하여 표현될 수 있다.Also, when there are two forward predictions by copying the forward reference picture list (LIST 0) to the reverse reference picture list (LIST 1), they may be included in the range of bidirectional prediction. Such prediction direction can be expressed using flag information such as predFlagL0, predFlagL1.

실시 일예로, 단방향 예측이고 순방향 예측일 경우 predFlagL0는 ‘1’이 되고 predFlagL1은 ‘0’이 될 수 있다. 또한, 단방향 예측이고 역방향 예측일 경우 predFlagL0는 ‘0’이 되고 predFlagL1은 ‘1’이 될 수 있다. 또한, 양방향 예측일 경우 predFlagL0는 ‘1’이 되고 predFlagL1은 ‘1’이 될 수 있다. For example, in the case of unidirectional prediction and forward prediction, predFlagL0 may be '1' and predFlagL1 may be '0'. In case of unidirectional prediction and backward prediction, predFlagL0 may be '0' and predFlagL1 may be '1'. In case of bi-directional prediction, predFlagL0 may be '1' and predFlagL1 may be '1'.

병합 움직임 예측은 부호화 유닛(Coding Unit: CU, 이하 ‘CU’라 함) 별로 수행될 수도 있고, 예측 유닛(Prediction Unit: PU, 이하 ‘PU’라 함) 별로 수행될 수도 있다. The merged motion prediction may be performed by a coding unit (CU) or a prediction unit (PU).

CU 또는 PU(설명의 편의를 위해 CU 는 ‘부호화 블록’, PU는 ‘예측 블록’, CU 및PU를 통칭하여 ‘블록’으로 표현할 수 있음) 별로 병합 움직임을 수행하는 경우에는, 블록 파티션(partition)별로 병합 움직임 예측을 수행할지에 관한 정보와 현재 블록에 인접한 주변 블록(현재 블록의 좌측 인접 블록, 현재 블록의 상측 인접 블록, 현재 블록의 시간적(temporral) 인접 블록 등) 중 어떤 블록과 병합 움직임을 할 것인지에 대한 정보가 시그널링 되어야 한다. In a case where a merge movement is performed for each CU or PU (a CU is referred to as an 'encoding block' for convenience of explanation, a PU can be expressed as' a block ', a CU and a PU may be collectively referred to as a' ) And merging motion with any of the neighboring blocks adjacent to the current block (the left adjacent block of the current block, the upper adjacent block of the current block, the temporal adjacent block of the current block, etc.) Should be signaled.

병합 움직임 후보 목록(merge list)은 움직임 정보들이 저장된 목록을 나타내며, 병합 움직임 예측이 수행되기 전에 생성된다. 병합 움직임 후보 목록에 저장되는 움직임 정보는 현재 블록에 인접한 주변 블록의 움직임 정보이거나 참조 영상에서 현재 블록에 대응되는(collocated) 블록의 움직임 정보일 수 있다. 또한 병합 움직임 후보 목록에 저장되는 움직임 정보는 이미 병합 움직임 후보 목록에 존재하는 움직임 정보들을 조합하여 만든 새로운 움직임 정보일 수 있다.
The merged motion candidate list represents a list in which motion information is stored, and is generated before the merged motion prediction is performed. The motion information stored in the merged motion candidate list may be motion information of a neighboring block adjacent to the current block or motion information of a collocated block corresponding to the current block in the reference image. Also, the motion information stored in the merged motion candidate list may be new motion information created by combining motion information already present in the merged motion candidate list.

도 4는 본 병합 움직임 후보 목록에 포함될 수 있는 주변 블록을 나타낸 도면이다. 4 is a diagram illustrating neighboring blocks that may be included in the merged motion candidate list.

도 4의 주변 블록(A, B, C, D, E)과 그리고 동일 위치의 후보 블록(H(혹은 M))에 대하여 해당 블록의 움직임 정보가 현재 블록의 병합 움직임 예측에 이용될 수 있는지 여부가 판단되며, 특정 블록이 병합 움직임 예측에 이용 가능한 경우에 해당 블록의 움직임 정보가 병합 움직임 후보 목록에 추가될 수 있다.It is determined whether or not the motion information of the corresponding block in the neighboring blocks A, B, C, D, and E and the candidate block H (or M) in the same position can be used for the merging motion prediction of the current block And when the specific block is available for the merged motion prediction, the motion information of the corresponding block may be added to the merged motion candidate list.

또한, 각 주변 블록은 서로 동일한 움직임 정보를 가지는지 확인하여 동일한 움직임 정보일 경우, 해당 주변 블록의 움직임 정보는 병합 움직임 후보 목록에 포함되지 않는다.Also, if each neighboring block has the same motion information, the motion information of the neighboring block is not included in the merging motion candidate list.

실시 일 예로, 도 4에서 X 블록에 대한 병합 움직임 후보 목록을 생성할 때, 주변 블록 A가 사용 가능하여 병합 움직임 후보 목록에 포함된 후, 주변 블록 B는 주변 블록 A와 동일한 움직임 정보가 아닐 경우에만, 병합 움직임 후보 목록에 포함될 수 있다.For example, when generating a merged motion candidate list for an X block in FIG. 4, a neighboring block A is included in the merged motion candidate list after the neighboring block A is available. If the neighboring block B is not the same motion information as the neighboring block A Only candidate merging motion candidate list.

동일한 방법으로 주변 블록 C는 주변 블록 B와 동일한 움직임 정보가 아닐 경우에만 병합 움직임 후보 목록에 포함될 수 있다. 동일한 방법이 주변 블록 D와 주변 블록 E에 적용될 수 있다.In the same way, the neighboring block C can be included in the merged motion candidate list only when it is not the same motion information as the neighboring block B. The same method can be applied to the peripheral block D and the peripheral block E.

여기서, 동일한 움직임 정보라는 것은 움직임 벡터가 동일하고 동일한 참조픽쳐를 사용하고 동일한 예측 방향(단방향(순방향, 역방향), 양방향)을 사용함을 의미할 수 있다.Here, the same motion information may mean that the motion vector is the same and the same reference picture is used and the same prediction direction (unidirectional (forward, reverse), bidirectional) is used.

마지막으로 도 4에서 X 블록에 대한 병합 움직임 후보 목록은 소정의 순서, 예컨대, A→B→C→D→E→H(혹은 M) 블록 순서로 목록에 추가될 수 있다. 여기서 A는 A1으로, B는 B1으로, C는 B0로, D는 A0로, E는 B2라고 표현될 수 있고, 이 경우, A→B→C→D→E→H(혹은 M)를 A1→B1→B0→A0→B2→H(혹은 M)로 표현할 수 있다.
Finally, in FIG. 4, the merged motion candidate list for the X block may be added to the list in a predetermined order, for example, A → B → C → D → E → H (or M) block order. Here, A can be expressed as A1, B as B1, C as B0, D as A0, and E as B2. In this case, A → B → C → D → E → H (or M) → B1 → B0 → A0 → B2 → H (or M).

도 5는 하나의 CU가 2개의 PU로 나누어졌을 경우(Nx2N), 병합 움직임 후보 목록을 설정하는 일예를 도시한 도면이다.FIG. 5 shows an example of setting a merged motion candidate list when one CU is divided into two PUs (Nx2N).

병합 움직임 예측을 위한 주변 블록은 현재 블록에 인접한 주변 블록의 움직임 정보이거나 참조 영상에서 현재 블록에 대응되는(collocated) 블록의 움직임 정보일 수 있다.The neighboring block for merged motion prediction may be motion information of a neighboring block adjacent to the current block or motion information of a collocated block corresponding to the current block in the reference image.

도 5의 (가)와 (나)는 각각 첫 번째 PU(PU0)와 두 번째 PU(PU1)에 대한 병합 움직임 후보 목록을 구성하기 위해 사용되는 주변 블록들을 나타낸다. 5A and 5B show neighboring blocks used for constructing the merged motion candidate list for the first PU (PU0) and the second PU (PU1), respectively.

도 5에 도시되어 있는 (나)의 두 번째 PU의 병합 움직임 후보 목록을 병렬적으로 구성하기 위해서 첫 번째 PU에 위치한 A1 블록은 두 번째 PU의 병합 움직임 후보 목록에 포함되지 않는다. 즉, (나)의 첫 번째 PU에 위치한 A1 블록은 두 번째 PU의 병합 움직임 후보 목록 구성에 사용 가능하지 않으며, A1 블록의 움직임 정보는 병합 움직임 후보 목록 구성 시 접근될 수 없다는 것을 의미할 수 있다. 또는, A1 블록에 대한 움직임 정보가 존재하지 않는다는 것을 의미할 수 있으며, 혹은 블록 움직임 정보의 가용성이 없음을 의미할 수도 있다.The A1 block located in the first PU is not included in the merged motion candidate list of the second PU in order to construct the merged motion candidate list of the second PU shown in FIG. 5 in parallel. That is, the A1 block located in the first PU of (b) is not usable in the merged motion candidate list construction of the second PU, and the motion information of A1 block can not be accessed in the merging motion candidate list construction . Or, it may mean that there is no motion information for block A1, or it may mean that block motion information is not available.

도 6은 여러 개의 CU를 포함하고 있는 2Nx2N CU에 대한 일예를 도시한 도면이다.6 is a diagram illustrating an example of a 2Nx2N CU including a plurality of CUs.

첫 번째 CU는 PU로 분할되지 않으며, 두 번째 CU의 CUO은 2NxN 의 PU로 분할되고, 세 번째 CU의 CU0는 Nx2N 의 PU로 분할되고, 마지막 CU의 CU0는 NxN 의 PU로 분할된다. The first CU is not divided into PUs, the CUO of the second CU is divided into PUs of 2NxN, the CU0 of the third CU is divided into PUs of Nx2N, and the CU0 of the last CU is divided into PUs of NxN.

부호화기 및 복호화기는 PU에 대한 병합 움직임 후보 목록을 구성하여 움직임 정보에 대한 부호화/복호화를 수행한다. 병합 움직임 후보 목록을 구성하기 위해서는 주변 PU에 대한 움직임 정보가 존재하여야 한다.The encoder and the decoder construct a merged motion candidate list for the PU to perform coding / decoding on the motion information. In order to construct a merged motion candidate list, motion information about neighboring PUs must exist.

한편, 도 6에 도시된 바와 같이 여러 개의 CU를 포함하고 있는 2Nx2N CU에서 인코더가 병렬적으로 병합 움직임 예측(Merge Estimation)을 수행할 경우, 2Nx2N CU안에 PU들 중에서 첫 번째 PU에 해당하는 PU0 경우에만 병합 움직임 예측(Merge Estimation)을 수행할 수 있다.On the other hand, when the encoder performs merge estimation in parallel in the 2Nx2N CU including several CUs as shown in FIG. 6, the PU0 corresponding to the first PU among the PUs in the 2Nx2N CU Only Merge Estimation can be performed.

그 외 PU들은 병렬적으로 병합 움직임 예측(Merge Estimation)을 수행할 수 없다. 그 이유는 각 PU는 병합 움직임 후보 목록을 구성한 후 병합 움직임 예측(Merge Estimation)을 수행하여야 하는데, PU0를 제외한 PU 경우에는 인접한 주변 블록의 PU에 대한 움직임 정보가 없으므로 병합 움직임 후보 목록을 구성할 수 없다. 따라서 PU0를 제외한 PU는 병렬적으로 병합 움직임 예측(Merge Estimation)이 불가능하다.Other PUs can not perform Merge Estimation in parallel. The reason for this is that each PU should construct a merged motion candidate list and then perform merge estimation. In case of PU except PU0, there is no motion information about PUs of adjacent neighboring blocks, so a merged motion candidate list can be constructed none. Therefore, PU except PU0 can not perform merge estimation in parallel.

도 6의 PU0를 제외한 PU들에 병렬적으로 병합 움직임 예측(Merge Estimation)이 수행되도록 적용하기 위하여 병렬 병합 움직임 예측(PME; Parallel Merge Estimation) 방법을 사용할 수 있으며, 그 방법의 실시 일 예는 도 7과 같다.
A parallel Merge Estimation (PME) method can be used to apply Merge Estimation to the PUs except for PU0 in FIG. 6 in parallel. An example of the method is shown in FIG. 7.

도 7은 병렬적으로 병합 움직임 후보 목록을 구성하기 위한 방법을 설명하는 실시 일예를 도시한 도면이다. Fig. 7 is a diagram showing an embodiment for explaining a method for constructing a merged motion candidate list in parallel.

도시된 바와 같이, LCU(largest coding block)는 복수의 CU로 분할되며, 하나의 CU 역시 하나 이상의 PU로 분할될 수 있다. 예측 대상이 되는 PU의 주변에서는 여러 블록이 존재할 있으며, 이러한 블록에 대한 움직임 정보는 사용 가능하거나 불가능 할 수 있다. 즉, 이미 코딩/ 디코딩되어 사용 가능한 MVPs(motion vector predictions/motion vector precidictors), 동일한 MER에 포함되어 있는 사용 불가능한 MVPs, 아직 주변 PU가 코딩/디코딩 되지 않아 사용 불가능한 MVPs가 존재한다. As shown, an LCU (largest coding block) is divided into a plurality of CUs, and one CU may be divided into one or more PUs. There are several blocks around the PU to be predicted, and the motion information for such blocks may or may not be available. That is, there are MVPs (motion vector predictions / motion vector precidictors) that are already coded / decoded, unavailable MVPs included in the same MER, and MVPs that are not yet used because surrounding PUs are not coded / decoded.

도 7에서 “PU0”의 경우, 주변 블록에 사용 가능한 움직임 정보가 이미 존재하므로 병합 움직임 예측 목록을 만들 수 있다. In the case of " PU0 " in FIG. 7, since motion information available in neighboring blocks already exists, a merged motion prediction list can be created.

도 7에서 “PU1”의 경우, 주변 블록이 부호화(혹은 복호화) 되지 않았으므로 사용 가능한 움직임 정보가 없어서, 기존 방법으로는 병렬적으로 병합 움직임 방법을 사용할 수 없다. 이 경우, 주변 블록의 사용 가능하지 않은 움직임 정보를 병합 움직임 후보 목록에 포함시키지 않게 함으로써, 병렬적으로 병합 움직임 예측 방법을 사용 가능하도록 만들수 있다. 다시 말해, 현재 PU에 대하여 사용 가능한 주변 블록의 움직임 정보만을 사용하여 병합 움직임 후보 목록을 구성함으로써, 병렬적으로 병합 움직임 후보 목록을 구성할 수 있게 된다.In the case of " PU1 " in FIG. 7, since neighboring blocks are not coded (or decoded), there is no usable motion information, and the conventional method can not use the concurrent motion method in parallel. In this case, by not including the unusable motion information of the neighboring blocks in the merged motion candidate list, it is possible to make the merged motion prediction method usable in parallel. In other words, the merge motion candidate list can be configured in parallel by constructing the merged motion candidate list using only the motion information of the available neighbor blocks with respect to the current PU.

이러한 병렬 병합 움직임 예측(PME) 방법의 허용 범위를 병합 움직임 예측 범위(MER; Merge Estimation Region, 혹은 병합 움직임 예측 영역)이라고 표현할 수 있다. 도 7의 LCU는 4개의 MER로 구성될 수 있다. The permissible range of the parallel merged motion estimation (PME) method can be expressed as a merged estimation region (MER; merge prediction region). The LCU of Fig. 7 can be composed of four MERs.

실시 일예로, 도 7에서 “PU2”의 경우, 같은 MER 내에 존재하는 주변 블록의 움직임 정보를 병합 움직임 후보 목록에 포함시키지 않을 수 있으며, 다른 MER에 존재하는 주변 블록의 움직임 정보만을 병합 움직임 후보 목록에 포함시킬 수 있다.
For example, in the case of " PU2 " in FIG. 7, motion information of neighboring blocks existing in the same MER may not be included in the merged motion candidate list, and only motion information of neighboring blocks existing in another MER may be included in the merged motion candidate list .

도 8은 본 발명의 일 예에 따라 여러 개의 MER로 묶여진 블록들을 도시한 도면이다. 도시된 바와 같이, 블록들은 일정한 크기를 갖는 MER에 포함되어 있다. FIG. 8 is a block diagram illustrating a plurality of MERs according to an exemplary embodiment of the present invention. Referring to FIG. As shown, the blocks are contained in a MER having a constant size.

PME는 해당 MER 내에서만 수행되며, 해당 MER 내에서는 병렬적으로 부호화/복호화가 수행되기 때문에 해당 MER 내에 포함되는 움직임 후보에 대해서는 ‘비가용 혹은 사용할 수 없음(Unavailable)’으로 표기하여 후보에서 제외한다. 즉 MER 내의 움직임 후보는 움직임 후보 리스트에 포함시키지 않는다.
Since the PME is performed only within the corresponding MER and coding / decoding is performed in parallel within the corresponding MER, the motion candidate included in the corresponding MER is marked as 'unavailable' and excluded from the candidate . That is, the motion candidates in the MER are not included in the motion candidate list.

도 9는 SHVC에서의 부호화/복호화 구조의 일 예를 도시한 도면이다. 9 is a diagram showing an example of a coding / decoding structure in SHVC.

도 9에 도시된 바와 같이, SHVC(Scalable High efficiency Video Coding)의 영상은 가장 저해상도(또는 저화질)로 구성된 기본 계층(Base Layer, B0, B1, B2, B3...) 및 고해상도(또는 고화질)인 상위 계층(Enhanced Layer, E0, E1, E2, E3...)으로 구성될 수 있다. 물론 상위 계측은 두 개 이상이 가능하다.As shown in FIG. 9, an image of Scalable High Efficiency Video Coding (SHVC) is composed of a base layer (B0, B1, B2, B3 ...) and a high-resolution (or high- (Enhanced Layer, E0, E1, E2, E3 ...). Of course, two or more of the above measurements are possible.

도 9를 참조하면, SHVC(Scalable High efficiency Video Coding)의 부호화/복호화 구조는 가장 저해상도(또는 저화질)로 구성된 기본 계층(Base Layer)의 영상 부호화/복호화 후, 고해상도(또는 고화질)인 상위 계층(Enhanced Layer)의 영상이 부호화/복호화 되도록 구성되어 있다. 화살표는 영상의 부호화 /복호화 순서를 나타낸다.Referring to FIG. 9, a coding / decoding structure of Scalable High Efficiency Video Coding (SHVC) is a coding / decoding structure of a higher layer (or higher picture quality) after encoding / decoding of a base layer composed of the lowest resolution Enhanced Layer) is encoded / decoded. The arrows indicate the encoding / decoding order of the image.

그러나, 이러한 순서대로 부호화/복호화할 때에는 한 픽처(Picture) 단위로 지연이 발생한다. 이는 상위 계층의 영상을 부호화/복호화 하기 위해 그에 상응하는 기본 계층의 영상을 예측에 사용하므로, 그 기본 계층 영상이 모두 부호화/복호화 되기까지 기다려야 하기 때문이다. However, when encoding / decoding is performed in this order, a delay occurs in units of one picture (Picture). This is because the base layer image corresponding to the higher layer image is used for prediction in order to encode / decode the image of the upper layer, and it is necessary to wait until all the base layer images are encoded / decoded.

도 10은 SHVC 비트스트림 구조의 일 예를 도시한 도면이다. 10 is a diagram showing an example of the SHVC bitstream structure.

도 6에서처럼 상위 계층 영상을 부호화/복호화 하기 위해서는 그와 동일한 시간에 있는 기본 계층 영상이 모두 부호화/복호화 될 때까지 기다려야 한다. 하지만 도 10에 도시되어 있는 것처럼 비트스트림에서는 NAL 헤더를 통해 NAL유닛 단위로 분리가 가능하므로 상위 계층의 데이터와 기본 계층의 데이터를 구분할 수 있다. 따라서, 각각의 계층에 대해 따로 병렬적으로 부호화/복호화 하는 것이 가능하다. As shown in FIG. 6, in order to encode / decode an upper layer image, it is necessary to wait until all base layer images at the same time are encoded / decoded. However, as shown in FIG. 10, the bitstream can be divided into NAL units in units of NAL headers, so that the upper layer data and the base layer data can be distinguished from each other. Therefore, it is possible to separately code / decode each layer separately.

따라서 병렬적으로 기본 계층 영상과 상위 계층 영상을 함께 부호화/복호화 할 수 있으며, 이러한 방법의 하나로 각각의 계층 간에 상응하는 블록끼리 병렬적으로 부호화/복호화 하는 것이 가능하다.Therefore, the base layer image and the upper layer image can be encoded / decoded together in parallel, and it is possible to parallelly encode / decode corresponding blocks among the respective layers as one of such methods.

이 때 상위 계층을 구성하는 블록을 부호화/복호화 하기 위해서는 그에 상응하는 기본 계층의 블록이 먼저 부호화/복호화되어 있어야 한다.
In this case, in order to encode / decode a block constituting an upper layer, a block of the corresponding base layer must be encoded / decoded first.

도 11은 블록 기반으로 병렬적 부호화/복호화를 실현하는 방법의 일예를 도시한 도면이다.11 is a diagram showing an example of a method for realizing block-based parallel encoding / decoding.

도 11에 도시된 바와 같이, E0를 부호화/복호화 하기 위해서는 B0가 먼저 부호화/복호화 되어있어야 하며, E1를 부호화/복호화 하기 위해서는 B1이 먼저 부호화/복호화 되어 있어야 한다. 즉 상위 계층과 기본 계층 간의 부호화/복호화 순서는 B0 - B1 ( E0 ) - B2 ( E1 ) - B3 ( E2 ) - … 순이 된다. 여기서 괄호는 부호화/복호화가 수행 가능함을 나타낸다.
As shown in FIG. 11, in order to encode / decode E0, B0 must be coded / decoded first. To encode / decode E1, B1 must be coded / decoded first. The coding / decoding order between the upper layer and the base layer is B0 - B1 (E0) - B2 (E1) - B3 (E2) - ... Respectively. Where the parentheses indicate that encoding / decoding is possible.

도 12는 상위 계층과 기본 계층 간 실제 병렬적 부호화/복호화 순서 및 그에 따른 시간 차이의 일예를 도시한 도면이고, 도 13은 하나의 상위 계층 블록과 그에 상응하는 기본 계층 블록 간 부호화/복호화 시간의 차이의 일예를 도시한 도면이다.12 is a diagram illustrating an example of a sequence of actual parallel coding / decoding between an upper layer and a base layer and a time difference therebetween, and FIG. 13 is a diagram illustrating an example of a time difference between an upper layer block and a corresponding base layer block coding / And Fig.

SHVC에서의 병렬 부호화/복호화는 기본 계층 블록의 부호화/복호화가 먼저 시작되면 그에 상응하는 상위 계층 블록의 부호화/복호화가 진행된다.In the parallel encoding / decoding in the SHVC, when the encoding / decoding of the base layer block starts first, encoding / decoding of the corresponding upper layer block proceeds.

보다 구체적으로는 도 12에서와 도시된 바와 같이, 하나의 기본 계층의 블록과 그에 상응하는 상위 계층의 블록 간에는 부호화/복호화에 있어서 많은 시간 차이가 발생한다. 각 상위 계층 영상의 블록은 일반적으로 기본 계층 블록의 두 배에 해당하는 너비, 높이를 가짐으로써 생기는 부호화/복호화 과정의 증가, 업샘플링을 통한 예측 부호화 과정 등을 통해 기본 계층 영상 블록의 부호화/복호화 시간보다 약 4배 이상의 시간 지연이 생긴다. 따라서 상위 계층 영상 자체의 부호화/복호화 또한 기본 계층 영상보다 약 4배 이상의 시간 지연이 생기게 된다.
More specifically, as shown in FIG. 12, a large amount of time difference occurs in encoding / decoding between a block of one base layer and a block of a corresponding upper layer. The block of each upper layer image generally has a width and a height corresponding to twice the height of the base layer block, and the coding / decoding of the base layer image block is performed through the process of increasing the number of encoding / A time delay of about 4 times or more than the time is generated. Therefore, the encoding / decoding of the higher layer image itself also has a time delay of about four times that of the base layer image.

도 13은 상위 계층 블록과 하위 계층 블록 간에 발생하는 부호화/복호화 시간 차이를 보여주고 있으며, 도 14는 블록 간 부호화/복호화 시간 차이에 따른 하나의 상위 계층 영상과 그에 상응하는 기본 계층 영상 간 부호화/복호화 시간의 차이를 보여주고 있다. 기본 계층 영상과 상위 계층 영상의 블록 수가 모두 N으로 같다고 가정하고, 각 계층의 블록 간 부호화/복호화 시간의 차이를 t라고 한다면, 상위 계층 영상의 부호화/복호화 함으로써 생기는 시간 지연은 t x N이 된다.FIG. 13 shows the coding / decoding time differences between the upper layer block and the lower layer block, FIG. 14 illustrates an encoding / decoding time difference between an upper layer image and a corresponding base layer image encoding / And the difference in decoding time. Assuming that the number of blocks of the base layer picture and the picture of the upper layer picture are all equal to N, and the difference between the blocks coding / decoding time of each layer is t, the time delay caused by encoding / decoding of the picture of the upper layer is t x N.

이러한 시간 지연 문제, 특히 상위 계층에서의 시간 지연은 기본 계층에서 보다 전체적인 부호화/복호화 시간에 많은 영향을 미치므로 가능한 줄이거나, 적어도 증가하지 않을 수 있도록 하는 것이 바람직하다.
This time delay problem, particularly the time delay in the upper layer, is much more effective in the overall coding / decoding time than in the base layer, so that it is desirable to reduce it, or at least not to increase it.

도 15는 하위 계층 및 이에 대응하는 상위 계층 블록을 병렬적으로 부호화/복호화 하는 방법의 일예를 도시한 도면이고, 도 16은 상위 계층 블록 간 의존성에 의한 부호화/복호화 시간의 증가의 일예를 도시한 도면이다.FIG. 15 shows an example of a method of encoding / decoding a lower layer and a corresponding upper layer block in parallel, and FIG. 16 shows an example of an increase in encoding / decoding time due to dependency between upper layer blocks FIG.

도 15는 E13을 4개의 블록으로 분할하여 부호화/복호화를 수행할 경우이다. 이 경우, 각각의 상의 계층영상 블록들(E13A, E13B, E13C, E13D)은 기본 계층의 영상 블록과 크기가 동일하므로, 부호화/복호화 하는 데는 기본 계층의 블록과 많은 차이를 보이지 않는다. FIG. 15 shows a case where encoding / decoding is performed by dividing E13 into four blocks. In this case, since the hierarchical image blocks E13A, E13B, E13C, and E13D of the respective layers are the same size as the image block of the base layer, there is not much difference from the base layer block in encoding / decoding.

하지만 네 개의 블록(E13A, E13B, E13C, E13D) 간에는 공간적인 의존성이 존재한다. 결국 서로 순차적으로 부호화/복호화할 수 밖에 없으므로 도 16과 같은 순서로 부호화된다.However, there is a spatial dependency between the four blocks (E13A, E13B, E13C, E13D). As a result, they can only be sequentially encoded / decoded with each other, so they are encoded in the order as shown in Fig.

HEVC에서는 병합 움직임 예측 영역(Merge Estimation Region: MER)이라는 개념을 도입하고 있다. 즉, MER 영역 내에서는 공간적 의존성을 줄여 영역 내에 포함되는 블록에 대해서는 병렬적으로 움직임 예측을 수행할 수 있게 하는 방법이다. HEVC introduces the concept of Merge Estimation Region (MER). That is, in the MER area, spatial dependence is reduced, and motion prediction can be performed in parallel on blocks included in the area.

도 15에서 상위 계층의 E13 블록을 부호화/복호화하는 경우를 생각해보자. 만일 상위 계층의 E13 블록에 PME를 적용할 경우, 기본 계층과 상위 계층은 동일한 PPS를 사용하므로 기본 계층의 PME 에 대한 MER 영역 설정이 상위 계층에 그대로 적용된다. 따라서 상위계층에서는 E13A, E13B, E13C, E13D 각 블록 내에서만 PME가 적용되고, E13A, E13B, E13C, E13D 블록 간에는 부호화/복호화 의존성이 남아있게 된다. 즉, MER 영역 내에서는 병렬적으로 움직임 예측을 수행하지만, MER 영역 간에는 일반 블록처럼 의존도가 존재한다.Consider the case of encoding / decoding the E13 block of the upper layer in FIG. If the PME is applied to the E13 block of the upper layer, since the base layer and the upper layer use the same PPS, the MER area setting for the PME of the base layer is directly applied to the upper layer. Therefore, in the upper layer, PME is applied only in each block of E13A, E13B, E13C, and E13D, and encoding / decoding dependency remains between E13A, E13B, E13C, and E13D blocks. That is, motion prediction is performed in parallel in the MER domain, but there is a dependency between the MER domains as in the case of a general block.

도 17은 계층 간 상응하는 블록에 대하여 상위 계층의 MER 크기와 기본 계층의 MER 크기가 동일한 경우의 일예를 도시한 도면이이고, 도 18은 상위 계층과 기본 계층 간의 MER 크기 차이로 인한 의존성 발생에 따른 부호화/복호화 시간의 증가의 일예를 도시한 도면이다.FIG. 17 is a diagram illustrating an example of a case where the MER size of the upper layer and the MER size of the base layer are the same for the corresponding block between the layers, FIG. 18 is a diagram illustrating a case where the MER size difference between the upper layer and the base layer FIG. 2 is a diagram showing an example of an increase in encoding / decoding time according to FIG.

도 17에 도시되어 있는 것처럼, 하위 계층의 MER0를 부호화/복호화 하는 경우 상위 계층에서는 MER0-0, MER0-1, MER0-2, MER0-3을 차례대로 부호화/복호화해야 한다. 즉, 상위 계층에서 MER 간의 의존도로 인해 부호화/복호화 시간의 증가가 발생한다. 이는 하위 계층의 MER 크기와 상위 계층의 MER 크기가 동일하기 때문에 발생되는 문제점이다. As shown in FIG. 17, when encoding / decoding the lower layer MER0, the upper layer must encode / decode MER0-0, MER0-1, MER0-2, and MER0-3 in order. That is, the coding / decoding time increases due to the dependency between MERs in the upper layer. This is a problem that occurs because the MER size of the lower layer and the MER size of the upper layer are the same.

따라서 이러한 경우 도 16과 유사하게 블록 간 의존도가 발생했던 것처럼, MER 간에도 의존성이 발생함에 따라 부호화/복호화 시간이 증가하게 된다(도 18). In this case, as in the case of FIG. 16, the dependency between MERs occurs as in the case of inter-block dependency, so that the coding / decoding time increases (FIG. 18).

상기한 바와 같은 문제를 개선하기 위하여, 본 발명에 따를 경우, 블록 간의 공간적 의존성을 제거한다. 블록 간의 공간적 의존성을 제거하면 각 블록들이 병렬적으로 부호화/복호화될 수 있으므로 부호화/복호화 시간이 크게 감소될 수 있다. In order to solve the above problems, according to the present invention, spatial dependency between blocks is eliminated. If the spatial dependency between the blocks is removed, each block can be encoded / decoded in parallel, so that the encoding / decoding time can be greatly reduced.

예를 들면, 도 15의 E13을 부호화하기 위해 네 개의 블록(E13A, E13B, E13C, E13D) 각각에 대하여 부호화를 병렬적으로 수행하면 도 16의 부호화/복호화 구조는 도 19과 같은 구조로 바뀌게 된다. For example, if encoding is performed in parallel for each of the four blocks E13A, E13B, E13C, and E13D to encode E13 in FIG. 15, the encoding / decoding structure of FIG. 16 is changed to the structure shown in FIG. 19 .

도 19은 상위 계층 블록의 병렬적 부호화/복호화를 통한 부호화/복호화 시간 감소의 일예를 도시한 도면이다. 도 19에 도시된 바와 같이, 하위 계층의 B0이 부호화/복호화 되면, 상위 계층의 E0A, E0B E0C E0D는 병렬적으로 부호화/복호화가 가능하다. 즉, 상위 계층의 E0A, E0B E0C E0D가 포함되는 E0이 하나의 MER로 설정되어 있으면 MER 내의 블록 간에는 블록 간 가용성 여부가 적용되지 않기 때문에 병렬적 병합 움직임 예측이 가능하다.
19 is a diagram illustrating an example of coding / decoding time reduction by parallel coding / decoding of an upper layer block. As shown in FIG. 19, when B0 of the lower layer is encoded / decoded, E0A and E0B E0C E0D of the upper layer can be encoded / decoded in parallel. That is, if E0 including E0A and E0B E0C E0D of the upper layer is set as one MER, parallel merging motion prediction can be performed because inter-block availability is not applied between blocks in MER.

본 발명에 따르면 화면 간 부호화에서, 기본 계층 MER 크기 기반의 상위 계층 MER 크기 설정을 통한 부호화/복호화 시간 동기화 방법 및 장치가 제공될 수 있다. According to the present invention, in inter-picture coding, a method and apparatus for synchronizing an encoding / decoding time by setting an upper layer MER size based on a base layer MER size can be provided.

이를 위하여 기본 계층에서의 MER 크기에 따라 상위 계층에서의 MER 크기를 재설정해줌으로써, 기본 계층 블록의 부호화/복호화 시간과 상위 계층 블록의 부호화/복호화 시간의 차이를 줄이는 것이 가능하다. For this, it is possible to reduce the difference between the encoding / decoding time of the base layer block and the encoding / decoding time of the upper layer block by resetting the MER size in the upper layer according to the MER size in the base layer.

도 20은 본 발명의 일 실시예에 따른 시간 동기화 방법의 개념도에 대한 일예를 도시한 도면이다. 도 20에 도시되어 있는 MER은 도 17에 도시되어 있는 세부적으로 나누어졌던 상위 계층의 MER보다 크다. 20 is a conceptual diagram of a time synchronization method according to an embodiment of the present invention. The MER shown in FIG. 20 is larger than the MER of the uppermost hierarchical layer shown in FIG.

도 21은 상위 계층 영상의 MER크기 재설정으로 인한 부호화/복호화 시간의 감소의 일예를 도시한 도면이다. 도 20에 따라 MER를 재설정할 경우, 도 21과 같이 기본 계층 블록의 부호화/복호화 시간과 상위 계층 블록의 부호화/복호화 시간의 차이를 줄이는 것이 가능하다. 이러한 방법은 도 19에 도시되어 있는 상위 계층 블록의 병렬적 부호화/복호화를 이뤄내는 것과 유사할 수 있다.
FIG. 21 is a diagram illustrating an example of reduction in coding / decoding time due to MER size reset of an upper layer image. When the MER is reset according to FIG. 20, it is possible to reduce the difference between the encoding / decoding time of the base layer block and the encoding / decoding time of the upper layer block as shown in FIG. This method may be similar to performing the parallel encoding / decoding of the upper layer block shown in FIG.

도 22는 본 발명의 일 실시예에 따른 복호화기 구조도를 나타낸 제어 블록도이다. 22 is a control block diagram illustrating a structure of a decoder according to an embodiment of the present invention.

도 22는 하위 계층의 MER 정보를 기반으로 상위 계층의 MER 정보를 설정하는 경우이다. 도 22에 도시한 바와 같이, 영상의 비트스트림이 복호화기로 입력되면 비트스트림 분리부(221)에서 상위 계층의 비트스트림과 하위 계층의 비트스트림을 분리하여 각 계층의 복호화부(222, 223)로 전달한다.22 shows a case where MER information of an upper layer is set based on MER information of a lower layer. As shown in FIG. 22, when a bitstream of an image is input to a decoder, the bitstream separator 221 separates a bitstream of an upper layer and a bitstream of a lower layer into decoders 222 and 223 .

또한 비트스트림 분리부(221)에서는 MER 정보를 포함하는 비트스트림을 MER 파싱부(224)로 전달하는 역할을 수행한다. MER 파싱부(224)에서 얻은 MER 정보는 각 계층의 복호화부(222, 223)로 전달된다. The bitstream separator 221 performs a role of delivering a bitstream including MER information to the MER parser 224. The MER information obtained from the MER parsing unit 224 is transmitted to the decoding units 222 and 223 of the respective layers.

상위 계층에 전달되는 MER 정보는 MER 재설정부(225)를 거쳐서 새롭게 설정된 후에 상위 계층 복호화부(223)로 전달된다.The MER information transmitted to the upper layer is newly transmitted through the MER resuming unit 225 and then transmitted to the upper layer decoding unit 223. [

기본 계층의 복호화부(222)는 기본 계층에 해당하는 MER 정보와 비트스트림 정보를 입력받아 영상을 복원한다. The decoding unit 222 of the base layer receives the MER information and the bitstream information corresponding to the base layer and reconstructs the image.

상위 계층의 복호화부(223)는 기본 계층의 복원 영상(혹은 블록)과 상위 계층에 해당하는 비트스트림 정보, 그리고 새롭게 설정된 MER 정보를 입력 받아 상위 계층 복원 영상을 출력한다.The decoding unit 223 of the upper layer receives the restored image (or block) of the base layer, the bitstream information corresponding to the upper layer, and the newly set MER information, and outputs the restored upper layer image.

MER 파싱부(224)는 독립된 구성 요소일 수도 있고, 기본 계층의 복호화부(222) 또는 상위 계층의 복호화부(223) 중 어느 하나에 머지되거나 포함되는 구성요소 일 수 있다. The MER parsing unit 224 may be an independent component or may be a component merged or included in either the decoding unit 222 of the base layer or the decoding unit 223 of the upper layer.

MER 재설정부(225)는 상술한 바와 같이, 독립적이 구성 요소일 수도 있고, 상위 계층의 복호화부(223)에 머지되거나 포함되는 구성요소 일 수 있다.
The MER resetting unit 225 may be an independent component, as described above, or may be a component that is merged or included in the decryption unit 223 of the higher layer.

도 23은 본 발명의 다른 실시예에 따른 복호화기 구조도를 나타낸 제어 블록도이다. 23 is a control block diagram illustrating a structure of a decoder according to another embodiment of the present invention.

도 23은 각각의 MER정보가 별도로 부호화된 경우에 대한 복호화기를 도시한 것이다. 도 23에서는 영상의 비트스트림이 복호화기로 입력되면 비트스트림 분리부(231)에서 상위 계층 영상에 해당하는 비트스트림은 상위 계층 복호화부(233)로 전달하고, 기본 계층 영상에 해당하는 비트스트림은 기본 계층 복호화부(232)로 전달한다. FIG. 23 shows a decoder for cases where each MER information is separately coded. 23, when a bitstream of an image is input to a decoder, the bitstream separator 231 transfers a bitstream corresponding to an upper layer image to an upper layer decoder 233, Layer decoding unit 232. The layer-

또한 비트스트림 분리부(231)는 상위 계층의 MER 정보를 포함하는 비트스트림을 상위 계층 MER 파싱부(235)로, 기본 계층의 MER 정보를 포함하는 비트스트림은 기본 계층 MER 파싱부(234)로 전달한다.The bitstream separator 231 separates the bitstream including the MER information of the upper layer into an upper layer MER parser 235 and the bitstream including the MER information of the base layer to the base layer MER parser 234 .

상위 계층의 MER 파싱부(235)에서는 상위 계층에 해당하는 MER 정보를 상위 계층 복호화부(233)로, 기본 계층의 MER 파싱부에서는 그에 해당하는 MER 정보를 기본 계층 복호화부(232)로 전달한다.In the MER parser 235 of the upper layer, the MER information corresponding to the upper layer is transmitted to the upper layer decoder 233, and the MER parser of the base layer transmits the corresponding MER information to the base layer decoder 232 .

기본 계층 복호화부(232)에서는 기본 계층 비트스트림과 기본 계층 MER 정보를 받아 복호화를 수행하여 기본 계층의 영상을 복원한다.The base layer decoding unit 232 decodes the base layer bitstream and the base layer MER information, and restores the base layer image.

상위 계층 복호화부(233)에서는 기본 계층의 복원 영상(혹은 블록)과 상위 계층 비트스트림, 그리고 상위 계층 MER 정보를 받아 상위 계층의 영상을 복원한다. The upper layer decoding unit 233 receives the restored image (or block) of the base layer, the upper layer bitstream, and the upper layer MER information, and restores the image of the upper layer.

기본 계층 MER 파싱부(234)는 독립적이 구성 요소일 수도 있고 기본 계층 복호화부(232)에 머지되거나 포함되는 구성요소일 수 있고, 상위 계층의 MER 파싱부(235) 역시 독립적이 구성 요소일 수도 있고 상위 계층 복호화부(233) 에 머지되거나 포함되는 구성요소일 수 있다.
The base layer MER parsing unit 234 may be an independent component or may be a component merged or included in the base layer decoding unit 232 and the MER parsing unit 235 of the upper layer may be an independent component And may be a component that is merged or included in the upper layer decoding unit 233.

도 24는 본 발명의 일 실시예에 따른 부호화기 구조도를 나타낸 제어 블록도이다. 24 is a block diagram illustrating a structure of an encoder according to an embodiment of the present invention.

도 24은 하위 계층의 MER 정보를 기반으로 상위 계층의 MER 정보를 설정하는 경우의 부호화기를 나타낸다. 24 shows an encoder in a case where MER information of an upper layer is set based on MER information of a lower layer.

도 24에서는 기본 계층의 영상과 기본 계층 MER 설정부(241)에서 설정된 기본 계층 MER 정보를 함께 입력 받아 기본 계층 부호화부(242)에서 부호화를 진행한다.In FIG. 24, the base layer encoding unit 242 receives the base layer image and base layer MER information set in the base layer MER setting unit 241, and proceeds to the encoding in the base layer encoding unit 242.

상위 계층 MER 설정부(243)에서는 기본 계층 MER 설정부(241)에서 설정된 MER 정보를 입력받아 상위 계층의 MER 정보를 재설정한다. The upper layer MER setting unit 243 receives the MER information set by the base layer MER setting unit 241, and resets the MER information of the upper layer.

상위 계층 부호화부(244)에서는 상위 계층의 영상과 기본 계층 영상(혹은 블록), 상위 계층 MER 정보를 입력받아 상위 계층 영상을 부호화한다. The upper layer coding unit 244 receives the upper layer image, the base layer image (or block), and the upper layer MER information, and encodes the upper layer image.

각 계층의 영상이 부호화되면 비트스트림 통합부(245)에서 하나의 비트스트림으로 통합하여 전송하게 된다.
When the images of the respective layers are encoded, the bitstream integrating unit 245 integrates and transmits the bitstreams into one bitstream.

도 25는 본 발명의 다른 실시예에 따른 부호화기 구조도를 나타낸 제어 블록도이다. 도 25는 각 계층의 MER정보가 별도로 부호화되는 경우의 부호화기를 나타낸다. 25 is a block diagram illustrating a structure of an encoder according to another embodiment of the present invention. 25 shows an encoder in which MER information of each layer is separately encoded.

도 25에서는 기본 계층 MER설정부(251)에서 설정된 기본 계층 MER 정보와 기본 계층 영상이 기본 계층 부호화부(252)로 입력되면 기본 계층 영상의 부호화를 진행한다.In FIG. 25, when the base layer MER information and the base layer image set in the base layer MER setting unit 251 are input to the base layer encoding unit 252, the base layer image encoding is performed.

그리고 상위 계층 MER 설정부(253)에서 설정된 상위 계층 MER 정보와 기본 계층 영상(혹은 블록), 그리고 상위 계층 영상이 상위 계층 부호화부(254)로 입력이 되면 상위 계층 영상의 부호화를 진행한다. When the upper layer MER information, the base layer image (or block), and the upper layer image set in the upper layer MER setting unit 253 are input to the upper layer encoding unit 254, the upper layer image is encoded.

각 계층의 부호화부에서 부호화가 진행된 각 계층의 비트스트림은 비트스트림 통합부(255)에서 하나의 비트스트림으로 통합된다.
The bit streams of the respective layers, which have been encoded by the encoding units of the respective layers, are integrated into one bit stream by the bit stream integrating unit 255.

이하에서는, 상위 계층 영상과 기본 계층 영상 간 MER 크기 관계에 따라 발생할 수 있는 경우에 대한 본 발명의 구체적인 방법에 대하여 설명한다.Hereinafter, a specific method of the present invention will be described in which the MER can be generated according to the MER size relationship between the upper layer image and the base layer image.

도 26은 본 발명에 따라 상위 계층의 영상 크기가 기본 계층의 영상 크기보다 큰 경우의 일예를 도시한 도면이다..26 is a diagram illustrating an example in which an image size of an upper layer is larger than an image size of a base layer according to the present invention.

도 26에 도시된 바와 같이, 상위 계층의 영상 크기가 기본 계층의 영상 크기보다 큰 경우 기본 계층의 log2_parallel_merge_level_minus2에 + 1을 하여 상위 계층의 log2_parallel_merge_level_minus2 값을 재설정한다.As shown in FIG. 26, when the image size of the upper layer is larger than the image size of the base layer, the value of log2_parallel_merge_level_minus2 of the upper layer is reset by adding +1 to log2_parallel_merge_level_minus2 of the base layer.

MER의 크기는 HEVC에서 PPS 신택스의 log2_parallel_merge_level_minus2의 값으로 정의된다. 따라서 기본 계층에서의 log2_parallel_merge_level_minus2 값을 기반으로 상위 계층에서의 log2_parallel_merge_level_minus2 값을 재설정할 수 있다.
The size of the MER is defined as the value of log2_parallel_merge_level_minus2 of the PPS syntax in HEVC. Therefore, the value of log2_parallel_merge_level_minus2 in the upper layer can be reset based on the value of log2_parallel_merge_level_minus2 in the base layer.

도 27은 본 발명에 따라 상위 계층의 영상 크기가 기본 계층의 영상 크기보다 작은 경우의 일예를 도시한 도면이다27 is a diagram illustrating an example in which an image size of an upper layer is smaller than an image size of a base layer according to the present invention

도 27에 도시된 바와 같이, 상위 계층의 영상 크기가 기본 계층의 영상 크기보다 작은 경우, 기본 계층의 log2_parallel_merge_level_minus2에 -1을 더하여 상위 계층의 log2_parallel_merge_level_minus2 값을 재설정한다.As shown in FIG. 27, when the image size of the upper layer is smaller than the image size of the base layer, log2_parallel_merge_level_minus2 of the upper layer is reset by adding -1 to log2_parallel_merge_level_minus2 of the base layer.

MER의 크기는 HEVC에서 PPS 신택스의 log2_parallel_merge_level_minus2의 값으로 정의된다. 따라서 기본 계층에서의 log2_parallel_merge_level_minus2 값을 기반으로 상위 계층에서의 log2_parallel_merge_level_minus2 값을 재설정할 수 있다.
The size of the MER is defined as the value of log2_parallel_merge_level_minus2 of the PPS syntax in HEVC. Therefore, the value of log2_parallel_merge_level_minus2 in the upper layer can be reset based on the value of log2_parallel_merge_level_minus2 in the base layer.

위의 두 가지 경우를 포함하는 경우를 일반화하면, 기본 계층의 영상 크기와 상위 계층의 영상 크기를 비교하고 영상 크기 간 비율을 통하여 상위 계층 영상의 log2_parallel_merge_level_minus2 값을 재설정할 수 있다. In general, if the above two cases are included, the log2_parallel_merge_level_minus2 value of the upper layer image can be reset through comparing the image size of the base layer with the image size of the upper layer and the ratio between the image sizes.

도 28은 본 발명에 따라 상위 계층과 기본 계층의 영상 비례 값에 따라 상위 계층의 MER 크기를 정하는 알고리즘의 제어 흐름도의 일예를 도시한 도면이다.28 is a diagram illustrating an example of a control flowchart of an algorithm for determining an MER size of an upper layer according to an image proportional value of an upper layer and a base layer according to the present invention.

우선, 기본 계층과 상위 계층의 픽쳐 비율을 파악한다(S281).First, the picture ratios of the base layer and the upper layer are grasped (S281).

예를 들어 기본 계층 영상의 너비가 640라고 하고, log2_parallel_merge_level_minus2의 값은 3, 즉, MER의 크기가 32x32이고 상위 계층 영상의 너비가 1280라고 가정하자.For example, suppose the width of the base layer image is 640 and the value of log2_parallel_merge_level_minus2 is 3, that is, the size of the MER is 32x32 and the width of the upper layer image is 1280.

이 때 기본 계층의 픽쳐 너비(bl_pic_width)와 상위 계층의 픽쳐 너비(el_pic_width)의 비율 값(ratio)은 1280/640으로 2가 된다. At this time, the ratio of the picture width (bl_pic_width) of the base layer to the picture width (el_pic_width) of the upper layer is 2 (1280/640).

기본 계층과 상위 계층의 픽쳐 비율을 파악되면 ratio이 1보다 같거나 큰지 여부가 판단되고, 판단 결과에 따라 ratio가 재설정된다. 재설된 ratio에 따라 상위 계층의 MER 역시 재 설정된다.When the picture ratio of the base layer and the upper layer is determined, it is determined whether the ratio is equal to or larger than 1, and the ratio is reset according to the determination result. The MER of the upper layer is also reset according to the re-established ratio.

만약, 상술한 가정처럼 상위 계층의 픽쳐 너비가 기본 계층의 픽쳐 너비보다 2배 커서 ratio 값이 1보다 크다면(S282), 새로운 ratio 값은 2를 2로 나눈 1이 되고, 상위 계층 영상의 log2_parallel_merge_level_minus2의 값은 기본 계층의 log2_parallel_merge_level_minus2의 값인 3에 1을 더하여 4가 된다. 따라서, 상위 계층 영상의 MER의 크기는 64x64가 된다. If the picture width of the upper layer is twice as large as the picture width of the base layer and the ratio value is larger than 1 (S282) as in the above-described assumption, the new ratio value becomes 1, which is 2 divided by 2, and log2_parallel_merge_level_minus2 Is added to the value of log2_parallel_merge_level_minus2 in the base layer by adding one to three. Therefore, the size of the MER of the upper layer image is 64x64.

또 다른 예로 기본 계층 영상의 너비와 상위 계층 영상의 너비가 1280으로 같다고 하자. 하위 계층의 log2_parallel_merge_level_minus2의 값은 4, 즉, MER의 크기가 64x64이고, ratio는 1이다. ratio를 2로 나누면 0.5이고, 소수점 이하는 버림이 되므로 새로운 ratio 값은 0이 된다. 따라서 기본 계층 영상의 log2_parallel_merge_level_minus2에 0이 더해지는 것이므로 상위 계층 영상의 log2_parallel_merge_level_minus2는 하위 계층 영상의 값과 같게 된다.  As another example, assume that the width of the base layer image and the width of the upper layer image are equal to 1280. The value of log2_parallel_merge_level_minus2 in the lower layer is 4, that is, the size of the MER is 64x64, and the ratio is 1. If the ratio is divided by 2, it is 0.5, and since the decimal point is discarded, the new ratio value becomes 0. Therefore, 0 is added to log2_parallel_merge_level_minus2 of the base layer image, so log2_parallel_merge_level_minus2 of the upper layer image becomes equal to the value of the lower layer image.

즉, 기본 계층의 픽쳐 너비(bl_pic_width)와 상위 계층의 픽쳐 너비(el_pic_width)의 비율(ratio)이 1보다 같거나 크면, 새로운 ratio은 ratio ≫ 1으로 설정되고, 재설정될 상위 계층의 MER(el_log2_parallel_merge_level_minus2)은 기본 계층의 MER(bl_log2_parallel_merge_level_minus2)에 새로운 ratio를 더한 값으로 설정된다(S283).That is, if the ratio of the picture width (bl_pic_width) of the base layer to the picture width (el_pic_width) of the upper layer is equal to or larger than 1, the new ratio is set to ratio 1 and the MER (el_log2_parallel_merge_level_minus2) Is set to a value obtained by adding a new ratio to the MER of the base layer (bl_log2_parallel_merge_level_minus2) (S283).

만약, 상위 계층의 픽쳐 너비가 기본 계층의 픽쳐 너비보다 작아서, ratio 값은 1보다 작으면(S284), 새로운 ratio은 (1/ratio) ≫ 1으로 설정되고, 재설정될 상위 계층의 MER(el_log2_parallel_merge_level_minus2)은 기본 계층의 MER(bl_log2_parallel_merge_level_minus2)에 새로운 ratio를 뺀 값으로 설정된다(S285).If the ratio is less than 1 (S284), the new ratio is set to (1 / ratio) " 1, and the MER of the upper layer to be reset (el_log2_parallel_merge_level_minus2) Is set to a value obtained by subtracting the new ratio from the MER of the base layer (bl_log2_parallel_merge_level_minus2) (S285).

예를 들어, 기본 계층 영상의 너비가 1280이고 log2_parallel_merge_level_minus2의 값이 3, 즉, MER의 크기가 32x32이며, 상위 계층 영상의 너비가 320이라고 가정 하자. 이 때 ratio는 320/1280가 되어 1/4이 된다. For example, suppose that the width of the base layer image is 1280 and the value of log2_parallel_merge_level_minus2 is 3, that is, the size of the MER is 32x32 and the width of the upper layer image is 320. In this case, the ratio becomes 320/1280 and becomes 1/4.

ratio가 1보다 작으므로 역수화 하면 4, 이것을 반으로 나누면 2이다. 따라서 기본 계층의 bl_log2_parallel_merge_level_minus2 값 3에서 ratio 값인 2를 빼면 1이 되어 상위 계층의 MER(el_log2_parallel_merge_level_minus2)의 크기는 8x8이 된다.Since the ratio is less than 1, it is 4 if it is reversed and 2 if it is halved. Therefore, if the ratio value 2 is subtracted from the bl_log2_parallel_merge_level_minus2 value 3 of the base layer, the value becomes 1, and the size of the MER (el_log2_parallel_merge_level_minus2) of the upper layer becomes 8x8.

만약, 상위 계층의 MER(el_log2_parallel_merge_level_minus2)이 0보다 작으면(S286), 상위 계층의 MER(el_log2_parallel_merge_level_minus2)은 0으로 설정된다(S287).If the MER (el_log2_parallel_merge_level_minus2) of the upper layer is smaller than 0 (S286), the MER (el_log2_parallel_merge_level_minus2) of the upper layer is set to 0 (S287).

본 발명의 또 다른 실시예에 따르면, 기본 계층과 상위 계층 간 공유하던 신택스 정보를 각각의 계층별로 나누어 시그널링 할 수 있다. According to another embodiment of the present invention, the syntax information shared between the base layer and the upper layer can be divided into signals for each layer.

기존의 SHVC 구조에서는 각 계층의 PPS가 따로 존재 하지 않으며, 기본 계층과 상위 계층 간에 하나의 PPS를 공유하여 사용하였다. 이로 인해 PPS 내 포함 된 MER 정보에 의해 동일한 MER이 각 계층에 사용된다. In the existing SHVC structure, there is no PPS for each layer, and one PPS is shared between the base layer and the upper layer. Due to this, the same MER is used for each layer by the MER information included in the PPS.

각 계층마다 MER을 다르게 설정하기 위하여, 계층마다 MER 설정 정보를 시그널링 할 수 있다. 실시 일예로, 계층 별 MER 설정 정보는 VPS (video parameter set), SPS(sequence parameter set), PPS(picture parameter set), 슬라이스 헤더 등에 포함하여 전송될 수 있다. 이러한 방법을 통하여, 상위 계층에서는 새로운 MER 크기를 사용함으로써기본 계층과 MER 크기가 달라질 수 있게 된다.In order to set the MER differently for each layer, it is possible to signal MER setting information for each layer. For example, the layer-by-layer MER setting information may be transmitted by including a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS) Through this method, the base layer and the MER size can be changed by using a new MER size in the upper layer.

상술한 방법들 모두 블록 크기 혹은 CU 깊이 등에 따라 적용 범위를 달리할 수 있다. 이렇게 적용 범위를 결정하는 변수(즉, 크기 혹은 깊이 정보)는 부호화기 및 복호화기가 미리 정해진 값을 사용하도록 설정할 수도 있고, 프로파일 또는 레벨에 따라 정해진 값을 사용하도록 할 수 도 있고, 부호화기가 변수 값을 비트스트림에 시그널링하면 복호화기는 비트스트림으로부터 이 값을 구하여 사용할 수도 있다. All of the above methods can be applied differently depending on block size or CU depth. The variable (i.e., size or depth information) for determining the coverage can be set to use a predetermined value by the encoder or decoder, use a predetermined value according to the profile or level, If signaling to the bitstream, the decoder may use this value from the bitstream.

CU 깊이에 따라 적용 범위를 달리하는 할 때는 아래 표 1에 예시한 바와 같이, 주어진 깊이 이상의 깊이에만 적용하는 방식(방식A), 주어진 깊이 이하에만 적용하는 방식(방식B), 주어진 깊이에만 적용하는 방식이 있을 수 있다(방식C). When applying CU to different depths, as shown in Table 1 below, a method that applies only to a given depth or more (Method A), a method that applies only to a given depth or less (Method B) There is a way (method C).

아래의 표 1은 주어진 CU 깊이가 2인 경우, 본 발명의 방법들을 적용하는 범위 결정 방식의 예를 나타낸 것이다. 이 때, O은 해당 깊이에 적용됨을 나타내고, X는 해당 깊이에 적용하지 않음을 나타낸다.Table 1 below shows an example of the range determination method applying the methods of the present invention when the given CU depth is 2. At this time, O indicates that it is applied to the corresponding depth, and X indicates that it does not apply to the corresponding depth.

<표 1><Table 1>

Figure 112013108479434-pat00001
Figure 112013108479434-pat00001

모든 깊이에 대하여 본 발명의 방법들을 적용하지 않는 경우는 임의의 지시자(flag)를 사용하여 나타낼 수도 있고, CU 깊이의 최대값보다 하나 더 큰 값을 적용범위를 나타내는 CU 깊이 값으로 시그널링 함으로써 표현할 수도 있다. When the methods of the present invention are not applied to all the depths, they may be indicated by using an optional flag, or a value one greater than the maximum value of the CU depth may be expressed by signaling with a CU depth value indicating the application range have.

또한 상술한 방법은 휘도 블록의 크기에 따라 색차 블록에 다르게 적용할 수 있으며, 또한, 휘도 신호 영상 및 색차 영상에 다르게 적용할 수 있다.In addition, the above-described method can be applied to color difference blocks differently depending on the size of a luminance block, and can be applied to a luminance signal image and a chrominance image differently.

도 29는 본 발명에 따른 방법들을 조합하는 경우에 대한 실시예를를 도시한 도면이다.FIG. 29 is a diagram illustrating an embodiment for combining methods according to the present invention.

도 29의 변형된 방법들 중에서 방법 “사 1”을 살펴보면, 휘도블록의 크기가 8(8x8, 8x4, 2x8 등)인 경우이고, 그리고 색차 블록의 크기가 4(4x4, 4x2, 2x4)인 경우에 명세서의 방법을 휘도 신호 및 색차 신호 및 수평 신호 및 수직 신호에 적용할 수 있다.Among the modified methods of Fig. 29, when the method of &quot; H1 &quot; is described as the case where the size of the luminance block is 8 (8x8, 8x4, 2x8, etc.) and the size of the color difference block is 4 (4x4, 4x2, 2x4) The method of the specification can be applied to the luminance signal and color difference signal, and the horizontal signal and the vertical signal.

위의 변형된 방법들 중에서 방법 “파 2”을 살펴보면, 휘도블록의 크기가 16(16x16, 8x16, 4x16 등)인 경우이고, 그리고 색차 블록의 크기가 4(4x4, 4x2, 2x4)인 경우에 명세서의 방법을 휘도 신호 및 색차 신호 및 수평 신호에 적용하고 수직 신호에는 적용하지 않을 수 있다.Among the above modified methods, the method "wave 2" is a case where the size of a luminance block is 16 (16 × 16, 8 × 16, 4 × 16, etc.) and the size of a color difference block is 4 (4 × 4, 4 × 2, 2 × 4) The method of the specification may be applied to the luminance signal and the color difference signal and the horizontal signal and not to the vertical signal.

또 다른 변형된 방법들로 휘도 신호에만 명세서의 방법이 적용되고 색차 신호에는 적용되지 않을 수 있다. 반대로 색차 신호에만 명세서의 방법이 적용되고 휘도 신호에는 적용되지 않을 수 있다.In another modified method, the method of the specification is applied only to the luminance signal and may not be applied to the color difference signal. Conversely, the method of the specification is applied only to the color difference signal, and may not be applied to the luminance signal.

상술한 본 발명에 따른 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.The method according to the present invention may be implemented as a program for execution on a computer and stored in a computer-readable recording medium. Examples of the computer-readable recording medium include a ROM, a RAM, a CD- , A floppy disk, an optical data storage device, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet).

컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The computer readable recording medium may be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner. And, functional programs, codes and code segments for implementing the above method can be easily inferred by programmers of the technical field to which the present invention belongs.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It should be understood that various modifications may be made by those skilled in the art without departing from the spirit and scope of the present invention.

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

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

Claims (16)

복수의 계층을 지원하는 영상의 복호화 방법에 있어서,
복호화 대상이 되는 상위 계층의 대상 블록이 참조할 수 있는 기본 계층의 참조 블록을 복호화 하는 단계와;
상기 기본 계층의 병렬 병합 움직임 예측 범위의 크기에 기초하여 상기 상위 계층의 병렬 병합 움직임 예측 범위를 설정하는 단계와;
상기 기본 계층의 병렬 병합 움직임 예측 범위 내 존재하는 상기 참조 블록에 기초하여 상기 상위 계층의 대상 블록에 대한 병렬 병합 움직임 예측 목록을 유도하는 단계와;
상기 병렬 병합 움직임 예측 목록에 기초하여 상기 대상 블록에 대한 병렬 움직임 보상을 수행하는 단계를 포함하고,
상기 복수의 계층을 지원하는 영상은 공간(Spatial), 시간(Temporal) 및 화질(Quality) 중 적어도 하나를 기준으로 구분되는 영상을 포함하는 것을 특징으로 하는 영상의 복호화 방법.
A method of decoding an image supporting a plurality of layers,
Decoding a reference block of a base layer that can be referred to by a target block of an upper layer to be decoded;
Setting a parallel merging motion prediction range of the upper layer based on a size of a parallel merging motion prediction range of the base layer;
Deriving a parallel merging motion prediction list for a target block of the upper layer based on the reference blocks existing in the parallel merging motion prediction range of the base layer;
And performing parallel motion compensation on the target block based on the parallel merging motion prediction list,
Wherein the image supporting the plurality of layers includes an image classified based on at least one of spatial, temporal, and image quality.
제1항에 있어서,
상기 대상 블록의 병렬 병합 움직임 예측 범위는 상기 기본 계층의 픽쳐 너비와 상기 상위 계측의 픽쳐 너비의 비율에 따라 설정되는 것을 특징으로 하는 영상의 복호화 방법.
The method according to claim 1,
Wherein the parallel merging motion prediction range of the target block is set according to a ratio of a picture width of the base layer and a picture width of the upper measurement.
제2항에 있어서,
상기 기본 계층의 픽쳐 너비와 상기 상위 계측의 픽쳐 너비의 비율(이하, 제1 비율)이 1 이상이면,
상기 대상 블록의 병렬 병합 움직임 예측 범위는 상기 참조 블록의 병렬 병합 움직임 예측 범위를 나타내는 소정의 레벨값에 상기 제1 비율을 2로 나눈 몫에 대응하는 제2비율을 더한 값으로 설정되는 것을 특징으로 하는 영상의 복호화 방법.
3. The method of claim 2,
If the ratio of the picture width of the base layer to the picture width of the upper metric (hereinafter referred to as a first ratio) is 1 or more,
Wherein the parallel merging motion prediction range of the target block is set to a predetermined level value representing a parallel merging motion prediction range of the reference block plus a second ratio corresponding to a quotient obtained by dividing the first ratio by 2 The method comprising:
제2항에 있어서,
상기 기본 계층의 픽쳐 너비와 상기 상위 계측의 픽쳐 너비의 비율(이하, 제1 비율)이 1 미만이면,
상기 대상 블록의 병렬 병합 움직임 예측 범위는 상기 참조 블록의 병렬 병합 움직임 예측 범위를 나타내는 소정의 레벨값에서 상기 제1 비율의 역수를 2로 나눈 몫에 대응하는 제2 비율을 뺀 값으로 설정되는 것을 특징으로 하는 영상의 복호화 방법.
3. The method of claim 2,
If the ratio of the picture width of the base layer to the picture width of the upper metric (hereinafter, the first ratio) is less than 1,
The parallel merging motion prediction range of the target block is set to a value obtained by subtracting a second ratio corresponding to a quotient obtained by dividing the inverse number of the first ratio by 2 from a predetermined level value indicating a parallel merging motion prediction range of the reference block And decodes the decoded image.
제3항 또는 제4항에 있어서,
상기 레벨값은 상기 기본 계층에 대한 log2_parallel_merge_level_minus2라는 구문 요소의 디코딩을 통하여 유도되는 것을 특징으로 하는 영상의 복호화 방법.
The method according to claim 3 or 4,
Wherein the level value is derived through decoding of a syntax element log2_parallel_merge_level_minus2 for the base layer.
제1항에 있어서,
상기 대상 블록의 병렬 병합 움직임 예측 범위를 나타내는 소정의 구문 요소를 수신하는 단계를 더 포함하는 것을 특징으로 하는 영상의 복호화 방법.
The method according to claim 1,
Further comprising the step of receiving a predetermined syntax element indicating a parallel merging motion prediction range of the target block.
제1항에 있어서,
상기 대상 블록은 적어도 둘 이상의 예측 블록으로 분할되는 코딩 블록이고,
상기 병렬 병합 움직임 예측 범위 내에 포함되는 예측 블록 간에는 병렬 병합 움직임 목록이 생성되는 것을 특징으로 하는 영상의 복호화 방법.
The method according to claim 1,
Wherein the target block is a coding block divided into at least two prediction blocks,
And a parallel merging motion list is generated between prediction blocks included in the parallel merging motion prediction range.
제1항에 있어서,
상기 대상 블록의 병렬 병합 움직임 예측 범위는 상기 대상 블록이 휘도 블록인지 색차 블록인지에 따라 기설정된 크기로 설정되는 것을 특징으로 하는 영상의 복호화 방법.
The method according to claim 1,
Wherein the parallel merging motion prediction range of the target block is set to a predetermined size according to whether the target block is a luminance block or a color difference block.
복수의 계층을 지원하는 영상의 복호화 장치에 있어서,
복호화 대상이 되는 상위 계층의 대상 블록이 참조할 수 있는 기본 계층의 참조 블록을 복호화 하는 기본 계층 복호화부와;
상기 기본 계층의 참조 블록을 포함하는 병렬 병합 움직임 예측 범위의 크기에 기초하여 상기 대상 블록을 포함하는 병렬 병합 움직임 예측 범위를 설정하고, 상기 기본 계층의 병렬 병합 움직임 예측 범위 내 존재하는 상기 참조 블록에 기초하여 상기 대상 블록에 대한 병렬 병합 움직임 예측 목록을 유도하고, 상기 병렬 병합 움직임 예측 목록에 기초하여 상기 대상 블록에 대한 병렬 움직임 보상을 수행하는 상위 계층 복호화부를 포함하고,
상기 복수의 계층을 지원하는 영상은 공간(Spatial), 시간(Temporal) 및 화질(Quality) 중 적어도 하나를 기준으로 구분되는 영상을 포함하는 것을 특징으로 하는 영상의 복호화 장치.
An apparatus for decoding an image supporting a plurality of layers,
A base layer decoding unit for decoding a reference block of a base layer that can be referred to by a target block of an upper layer to be decoded;
A parallel merging motion prediction range including the target block is set based on a size of a parallel merging motion prediction range including a reference block of the base layer, And an upper layer decoding unit for deriving a parallel merging motion prediction list for the target block and performing parallel motion compensation on the target block based on the parallel merging motion prediction list,
Wherein the image supporting the plurality of layers includes an image classified based on at least one of spatial, temporal, and image quality.
제9항에 있어서,
상기 상위 계층 복호화부는 상기 대상 블록의 병렬 병합 움직임 예측 범위를 상기 기본 계층의 픽쳐 너비와 상기 상위 계측의 픽쳐 너비의 비율에 따라 설정하는 것을 특징으로 하는 영상의 복호화 장치.
10. The method of claim 9,
Wherein the upper layer decoding unit sets a parallel merging motion prediction range of the target block according to a ratio of a picture width of the base layer and a picture width of the upper measurement.
제10항에 있어서,
상기 기본 계층의 픽쳐 너비와 상기 상위 계측의 픽쳐 너비의 비율(이하, 제1 비율)이 1 이상이면,
상기 상위 계층 복호화부는 상기 대상 블록의 병렬 병합 움직임 예측 범위를 상기 참조 블록의 병렬 병합 움직임 예측 범위를 나타내는 소정의 레벨값에 상기 제1 비율을 2로 나눈 몫에 대응하는 제2비율을 더한 값으로 설정하는 것을 특징으로 하는 영상의 복호화 장치.
11. The method of claim 10,
If the ratio of the picture width of the base layer to the picture width of the upper metric (hereinafter referred to as a first ratio) is 1 or more,
Wherein the upper layer decoding unit compares a parallel merging motion prediction range of the target block with a predetermined level value indicating a parallel merging motion prediction range of the reference block plus a second ratio corresponding to a quotient obtained by dividing the first ratio by 2 And decodes the decoded image.
제10항에 있어서,
상기 기본 계층의 픽쳐 너비와 상기 상위 계측의 픽쳐 너비의 비율(이하, 제1 비율)이 1 미만이면,
상기 상위 계층 복호화부는 상기 대상 블록의 병렬 병합 움직임 예측 범위를 상기 참조 블록의 병렬 병합 움직임 예측 범위를 나타내는 소정의 레벨값에서 상기 제1 비율의 역수를 2로 나눈 몫에 대응하는 제2 비율을 뺀 값으로 설정하는 것을 특징으로 하는 영상의 복호화 장치.
11. The method of claim 10,
If the ratio of the picture width of the base layer to the picture width of the upper metric (hereinafter, the first ratio) is less than 1,
Wherein the upper layer decoding unit compares the parallel merging motion prediction range of the target block with a predetermined level value indicating a parallel merging motion prediction range of the reference block minus a second ratio corresponding to a quotient obtained by dividing the inverse number of the first ratio by 2 Value of the video signal.
제11항 또는 제12항에 있어서,
상기 상위 계층 복호화부는 상기 기본 계층에 대한 log2_parallel_merge_level_minus2라는 구문 요소의 디코딩을 통하여 상기 레벨값을 유도하는 것을 특징으로 하는 영상의 복호화 장치.
13. The method according to claim 11 or 12,
Wherein the upper layer decoding unit derives the level value by decoding a syntax element log2_parallel_merge_level_minus2 for the base layer.
제9항에 있어서,
상기 상위 계층 복호화부는 상기 대상 블록의 병렬 병합 움직임 예측 범위를 나타내는 소정의 구문 요소를 수신하여 파싱하는 것을 특징으로 하는 영상의 복호화 장치.
10. The method of claim 9,
Wherein the upper layer decoding unit receives and parses a predetermined syntax element indicating a parallel merging motion prediction range of the target block.
제9항에 있어서,
상기 대상 블록은 적어도 둘 이상의 예측 블록으로 분할되는 코딩 블록이고,
상기 상위 계층 복호화부는 상기 병렬 병합 움직임 예측 범위 내에 포함되는 예측 블록 간에 병렬 병합 움직임 목록을 생성하는 것을 특징으로 하는 영상의 복호화 장치.
10. The method of claim 9,
Wherein the target block is a coding block divided into at least two prediction blocks,
Wherein the upper layer decoding unit generates a parallel merging motion list between prediction blocks included in the parallel merging motion prediction range.
제9항에 있어서,
상기 상위 계층 복호화부는 상기 대상 블록의 병렬 병합 움직임 예측 범위를 상기 대상 블록이 휘도 블록인지 색차 블록인지에 따라 기설정된 크기로 설정하는 것을 특징으로 하는 영상의 복호화 장치.
10. The method of claim 9,
Wherein the upper layer decoding unit sets a parallel merging motion prediction range of the target block to a predetermined size according to whether the target block is a luminance block or a color difference block.
KR1020130145501A 2012-11-27 2013-11-27 Video encoding and decoding method and apparatus using the same KR101561461B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20120135656 2012-11-27
KR1020120135656 2012-11-27

Publications (2)

Publication Number Publication Date
KR20140077824A KR20140077824A (en) 2014-06-24
KR101561461B1 true KR101561461B1 (en) 2015-10-20

Family

ID=51129664

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130145501A KR101561461B1 (en) 2012-11-27 2013-11-27 Video encoding and decoding method and apparatus using the same

Country Status (1)

Country Link
KR (1) KR101561461B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020050600A1 (en) * 2018-09-03 2020-03-12 한국전자통신연구원 Video encoding/decoding method and device, and recording medium for storing bitstream

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11350118B2 (en) 2018-05-30 2022-05-31 Digitalinsights Inc. Image encoding/decoding method and device
US11172214B2 (en) * 2018-12-21 2021-11-09 Qualcomm Incorporated Derivation of processing area for parallel processing in video coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101197176B1 (en) 2011-09-23 2012-11-05 주식회사 케이티 Methods of derivation of merge candidate block and apparatuses for using the same
KR101205017B1 (en) * 2011-11-23 2012-11-26 (주)휴맥스 Methods for encoding/decoding of video using common merging candidate set of asymmetric partitions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101197176B1 (en) 2011-09-23 2012-11-05 주식회사 케이티 Methods of derivation of merge candidate block and apparatuses for using the same
KR101205017B1 (en) * 2011-11-23 2012-11-26 (주)휴맥스 Methods for encoding/decoding of video using common merging candidate set of asymmetric partitions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020050600A1 (en) * 2018-09-03 2020-03-12 한국전자통신연구원 Video encoding/decoding method and device, and recording medium for storing bitstream
US11743452B2 (en) * 2018-09-03 2023-08-29 Electronics And Telecommunications Research Institute Video encoding/decoding method and device, and recording medium for storing bitstream

Also Published As

Publication number Publication date
KR20140077824A (en) 2014-06-24

Similar Documents

Publication Publication Date Title
US11889052B2 (en) Method for encoding video information and method for decoding video information, and apparatus using same
CN113302932B (en) Video encoding and decoding method, device and storage medium
US10021406B2 (en) Scalable video coding method and apparatus using inter prediction mode
KR102209109B1 (en) Method and apparatus for image encoding/decoding
KR20140016823A (en) Video decoding method and apparatus using the same
KR20140005296A (en) Method and apparatus of scalable video coding
JP2013545372A (en) Video information encoding method and decoding method
KR101979284B1 (en) Method and apparatus for scalable video coding using inter prediction mode
KR102045983B1 (en) Method and apparatus for encoding and decoding based on merge
KR101561461B1 (en) Video encoding and decoding method and apparatus using the same
KR20130085088A (en) Method for fast mode decision in scalable video coding and apparatus thereof
KR102356481B1 (en) Method and Apparatus for Video Encoding and Video Decoding
KR102219841B1 (en) Method and Apparatus for Video Encoding and Video Decoding
KR102602633B1 (en) Method and apparatus for image encoding/decoding
KR102325977B1 (en) Video decoding method and apparatus using the same
KR20150112470A (en) Video encoding and decoding method and apparatus using the same
KR20210013254A (en) Method and apparatus for image encoding/decoding
KR20140088015A (en) Video encoding and decoding method and apparatus using the same
KR20140081682A (en) Method and apparatus for image encoding/decoding
KR102222311B1 (en) Video decoding method and apparatus using the same
KR20170021675A (en) Apparatus and method for video transform encoding
KR20170021677A (en) Apparatus and method for video transform encoding

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20181002

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 5