WO2014081261A1 - Method and device for encoding/decoding video using motion information merging - Google Patents

Method and device for encoding/decoding video using motion information merging Download PDF

Info

Publication number
WO2014081261A1
WO2014081261A1 PCT/KR2013/010745 KR2013010745W WO2014081261A1 WO 2014081261 A1 WO2014081261 A1 WO 2014081261A1 KR 2013010745 W KR2013010745 W KR 2013010745W WO 2014081261 A1 WO2014081261 A1 WO 2014081261A1
Authority
WO
WIPO (PCT)
Prior art keywords
lcu
merge
information
region
block
Prior art date
Application number
PCT/KR2013/010745
Other languages
French (fr)
Korean (ko)
Inventor
문주희
이재영
한종기
Original Assignee
인텔렉추얼 디스커버리 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔렉추얼 디스커버리 주식회사 filed Critical 인텔렉추얼 디스커버리 주식회사
Priority to KR1020157018916A priority Critical patent/KR20150105346A/en
Publication of WO2014081261A1 publication Critical patent/WO2014081261A1/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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A method for decoding video using motion information, according to one embodiment of the present invention, comprises the steps of: decoding partition information from a received code; determining a partition form of a largest coding unit (LCU) according to the partition information; parsing an area flag from the code according to the partition form of the LCU; and determining whether to merge motion information on coding units included in the LCU on the basis of the area flag, and decoding the coding units.

Description

움직임 정보 병합을 이용한 비디오 부호화/복호화 방법 및 장치Method and apparatus for video encoding / decoding using motion information merging
본 발명은 비디오 코덱에 관한 것으로, 더욱 상세하게는 부호화 및 복호화 시 코딩 블록의 주변 블록들로부터 정보를 상속받는 비디오 부호화 제공 방법 및 장치에 관한 것이다.The present invention relates to a video codec, and more particularly, to a video encoding providing method and apparatus that inherit information from neighboring blocks of a coding block during encoding and decoding.
일반적인 비디오 부호화 및 복호화에 있어서, 현재 코딩 블록이 inter coded block 일 때, 주변 블록들의 움직임벡터(MV)와 참조 영상 index 등을 바탕으로 MVP를 계산하거나, Merge skip mode를 고려한다. 현재 코딩 블록이 intra coded block 일 때, 주변 블록들의 인트라 예측 모드들을 바탕으로 현재 블록을 intra coding하기 위한 MPM을 계산한다. 그러나, 이러한 일반적인 방법에서는, 주변 블록들로부터 상속받는 정보들의 종류가 제한적이라는 문제점이 있다.In general video encoding and decoding, when a current coding block is an inter coded block, MVP is calculated based on a motion vector (MV) and a reference image index of neighboring blocks, or a merge skip mode is considered. When the current coding block is an intra coded block, an MPM for intra coding the current block is calculated based on intra prediction modes of neighboring blocks. However, in this general method, there is a problem that the kind of information inherited from neighboring blocks is limited.
본 발명의 실시 예는 비디오 코덱에서 지금보다 더 다양한 정보들을 주변블록들로부터 상속받는 방법을 제공한다.An embodiment of the present invention provides a method of inheriting more various information from neighboring blocks than in the video codec.
다만, 본 발명의 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the embodiment of the present invention is not limited to the technical problems as described above, and other technical problems may exist.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 비디오 부호화 제공 방법은 주변 블록들로부터 상속받을 수 있는 정보들의 종류 및 개수를 증가시키고, 이전에 부호화 및 복호화된 복수 개의 픽쳐들에서 정보를 추출하여 부호화에 이용한다.As a technical means for achieving the above technical problem, the video encoding providing method according to the first aspect of the present invention increases the type and number of information that can be inherited from neighboring blocks, and a plurality of previously encoded and decoded Information is extracted from the pictures and used for encoding.
또한, 상기한 기술적 과제를 달성하기 위한 본 발명의 실시 예에 따른 움직임 정보를 이용한 비디오 복호화 방법은 비디오 복호화 방법에 있어서, 수신된 코드로부터 분할 정보를 복호화하는 단계; 상기 분할 정보에 따라 LCU(largest coding unit)의 분할 형태를 결정하는 단계; 상기 LCU의 분할 형태에 따라 상기 코드로부터 영역 플래그를 파싱하는 단계; 및 상기 영역 플래그에 기초하여 상기 LCU에 포함된 코딩 유닛들에 대한 움직임 정보 머지 여부를 결정하고, 상기 코딩 유닛들을 복호화하는 단계를 포함한다.In addition, a video decoding method using motion information according to an embodiment of the present invention for achieving the above technical problem, the video decoding method, comprising: decoding the segmentation information from the received code; Determining a partition type of a large coding unit (LCU) according to the partition information; Parsing an area flag from the code according to the partition type of the LCU; And determining whether to merge motion information for coding units included in the LCU based on the region flag, and decoding the coding units.
본 발명에 따르면, 지금보다 더 다양한 정보들을 주변블록들로부터 상속받아 부호화 효율을 향상시킬 수 있다.According to the present invention, coding efficiency can be improved by inheriting more various information from neighboring blocks than now.
도 1은 비디오 부호화 장치의 구성에 대한 일예를 나타내는 블록도이다.1 is a block diagram illustrating an example of a configuration of a video encoding apparatus.
도 2는 인터 예측 부호화 장치 구조에 대한 일예를 나타내는 블록도이다.2 is a block diagram illustrating an example of a structure of an inter prediction encoding apparatus.
도 3은 인터 예측 복호화 장치의 구성에 대한 일예를 나타내는 블록도이다.3 is a block diagram illustrating an example of a configuration of an inter prediction decoding apparatus.
도 4는 Merge/Merge Skip을 고려하는 방식에 대한 일예를 설명하기 위한 도면이다.FIG. 4 is a diagram for explaining an example of a method of considering a merge / merge skip.
도 5는 본 발명의 일실시예에 따른 Merge/Merge Skip 결정 방법을 설명하기 위한 도면이다.5 is a view for explaining a method of determining a merge / merge skip according to an embodiment of the present invention.
도 6 내지 도 8은 Merge/Merge Skip 되는 주변 영역들에 대한 실시예들을 나타내는 도면들이다.6 to 8 are diagrams illustrating embodiments of peripheral regions that are merged / merge skipped.
도 9는 일반적인 부호화 블록 구조 및 그 결정 방법을 나타낸다.9 shows a general coding block structure and a method of determining the same.
도 10은 Merge candidates의 예를 나타낸다.10 shows an example of merge candidates.
도 11은 코딩 유닛(CU, coding unit)과 예측 유닛(PU, prediction unit)의 헤더 구조를 표현한 것이다.11 illustrates a header structure of a coding unit (CU) and a prediction unit (PU).
도 12는 해상도에 따른 영상 분할 차이를 나타낸다.12 illustrates an image segmentation difference according to resolution.
도 13은 통합된 Merge 정보를 부호화하기 위한 LCU 분할 방법을 설명하기 위한 도면이다.FIG. 13 is a diagram for explaining an LCU segmentation method for encoding integrated Merge information.
도 14는 이웃하는 LCU들의 영역 분할 정보들 차이를 설명하기 위한 도면이다.FIG. 14 is a diagram for explaining difference of region division information of neighboring LCUs. FIG.
도 15는 현재 LCU의 분할 정보를 부호화하는 방법을 나타낸다.15 shows a method of encoding split information of a current LCU.
도 16은 분할된 영역 내의 CU 부호화 순서 일 예를 나타낸다.16 shows an example of a CU encoding order in a divided region.
도 17은 본 발명의 실시 예에 따라 분할된 LCU 내부의 CU 및 PU들의 부호화 예시도이다.17 is a diagram illustrating coding of CUs and PUs in a split LCU according to an embodiment of the present invention.
도 18a는 Normal 영역에서 Merge Flag 전송을 나타낸다.18A illustrates Merge Flag transmission in a normal region.
도 18b는 Merge 영역에서 Merge Flag 전송을 나타낸다.18B illustrates Merge Flag transmission in the Merge region.
도 19는 본 발명의 실시 예에 따른 LCU단위 Decoding flow chart를 나타낸다.19 illustrates an LCU unit decoding flow chart according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시 예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present disclosure. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted for simplicity of explanation, and like reference numerals designate like parts throughout the specification.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.Throughout this specification, when a portion is "connected" to another portion, this includes not only "directly connected" but also "electrically connected" with another element in between. do.
본원 명세서 전체에서, 어떤 부재가 다른 부재 “상에” 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout this specification, when a member is located “on” another member, this includes not only when one member is in contact with another member but also when another member exists between the two members.
본원 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 본원 명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본원의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본원 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.Throughout this specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding the other components unless specifically stated otherwise. As used throughout this specification, the terms "about", "substantially" and the like are used at, or in the sense of, numerical values when a manufacturing and material tolerance inherent in the stated meanings is indicated, Accurate or absolute figures are used to assist in the prevention of unfair use by unscrupulous infringers. As used throughout this specification, the term "step to" or "step of" does not mean "step for."
본원 명세서 전체에서, 마쿠시 형식의 표현에 포함된 “이들의 조합”의 용어는 마쿠시 형식의 표현에 기재된 구성 요소들로 이루어진 군에서 선택되는 하나 이상의 혼합 또는 조합을 의미하는 것으로서, 상기 구성 요소들로 이루어진 군에서 선택되는 하나 이상을 포함하는 것을 의미한다.Throughout this specification, the term “combination of these” included in the expression of the makushi form means one or more mixtures or combinations selected from the group consisting of constituents described in the expression of the makushi form, wherein the constituents It means to include one or more selected from the group consisting of.
실제 영상과 그것의 깊이 정보 맵을 부호화하는 방법의 일예로, 현재까지 개발된 비디오 부호화 표준 중에서 최고의 부호화 효율을 가지는 MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)에서 공동으로 표준화를 진행 중인 HEVC(High Efficiency Video Coding)를 이용하여 부호화를 수행할 수 있다. As an example of a method of encoding a real image and its depth information map, standardization is jointly performed by the Moving Picture Experts Group (MPEG) and the Video Coding Experts Group (VCEG), which have the highest coding efficiency among the video coding standards developed to date. Encoding may be performed by using high efficiency video coding (HEVC).
도 1은 비디오 부호화 장치의 구성에 대한 일예를 블록도로 도시한 것으로, HEVC의 부호화 구조도를 나타낸 것이다.1 is a block diagram illustrating an example of a configuration of a video encoding apparatus and illustrates a coding structure diagram of HEVC.
도 1에서와 같이 HEVC에는 부호화 단위 및 구조, 화면 간(Inter) 예측, 화면 내(Intra) 예측, 보간(Interpolation), 필터링(filtering), 변환(Transform) 방법 등 다양한 새로운 알고리즘들을 포함하고 있다.As shown in FIG. 1, HEVC includes various new algorithms such as coding units and structures, inter prediction, intra prediction, interpolation, filtering, and transform methods.
도 2는 인터 예측 부호화 장치 구조에 대한 일예를 블록도로 도시한 것으로, 인터 예측 부호화 장치는 움직임 정보 결정부(110), 움직임 정보 부호화 모드 결정부(120), 움직임 정보 부호화부(130), 예측 블록 생성부(140), 잔차 블록 생성부(150), 잔차 블록 부호화부(160) 및 멀티 플렉서(170)를 포함하여 구성될 수 있다.2 is a block diagram illustrating an example of a structure of an inter prediction encoding apparatus. The inter prediction encoding apparatus includes a motion information determiner 110, a motion information encoding mode determiner 120, a motion information encoder 130, and a prediction. The block generator 140, the residual block generator 150, the residual block encoder 160, and the multiplexer 170 may be configured.
도 2를 참조하면, 움직임 정보 결정부(110)는 현재 블록의 움직임 정보를 결정한다. 움직임 정보는 참조 픽쳐 인덱스와 움직임 벡터를 포함한다. 참조 픽쳐 인덱스는 이전에 부호화되어 복원된 픽쳐 중 어느 하나를 나타낸다. 현재 블록이 단방향 인터 예측 부호화되는 경우에는 리스트 0(L0)에 속하는 참조 픽쳐들 중의 어느 하나를 나타낸다.Referring to FIG. 2, the motion information determiner 110 determines motion information of the current block. The motion information includes a reference picture index and a motion vector. The reference picture index represents any one of the previously coded and reconstructed pictures. When the current block is unidirectional inter prediction coded, it indicates any one of the reference pictures belonging to list 0 (L0).
반면에, 현재 블록이 양방향 예측 부호화되는 경우에는 리스트 0(L0)의 참조 픽쳐들 중 하나를 나타내는 참조픽쳐 인덱스와 리스트 1(L1)의 참조 픽쳐들 중의 하나를 나타내는 참조픽쳐 인덱스를 포함할 수 있다. 또한, 현재 블록이 양방향 예측 부호화되는 경우에는 리스트 0과 리스트 1을 결합하여 생성된 복합 리스트(LC)의 참조 픽쳐들 중의 1개 또는 2개의 픽쳐를 나타내는 인덱스를 포함할 수 있다.On the other hand, when the current block is bidirectional predictively coded, the current block may include a reference picture index indicating one of the reference pictures of list 0 (L0) and a reference picture index indicating one of the reference pictures of list 1 (L1). . In addition, when the current block is bidirectional predictively coded, the current block may include an index indicating one or two pictures of reference pictures of the composite list LC generated by combining the list 0 and the list 1.
움직임 벡터는 각각의 참조픽쳐 인덱스가 나타내는 픽쳐 내의 예측 블록의 위치를 나타낸다. 움직임 벡터는 화소단위(정수단위)일수도 있으나, 서브화소단위일 수도 있다. 예를 들어, 1/2, 1/4, 1/8 또는 1/16 화소의 해상도를 가질 수 있다. 움직임 벡터가 정수단위가 아닐 경우에는 예측 블록은 정수 단위의 화소들로부터 생성된다.The motion vector indicates the position of the prediction block in the picture indicated by each reference picture index. The motion vector may be pixel unit (integer unit) or sub pixel unit. For example, it may have a resolution of 1/2, 1/4, 1/8 or 1/16 pixels. If the motion vector is not an integer unit, the prediction block is generated from pixels of an integer unit.
움직임 정보 부호화 모드 결정부(120)는 현재 블록의 움직임 정보를 스킵 모드로 부호화할지, 머지 모드로 부호화할지, AMVP 모드로 부호화할지를 결정한다.The motion information encoding mode determiner 120 determines whether to encode the motion information of the current block in the skip mode, the merge mode, or the AMVP mode.
스킵 모드는 현재 블록의 움직임 정보와 동일한 움직임 정보를 갖는 스킵 후보자가 존재하고, 잔차신호가 0인 경우에 적용된다. 또한, 스킵 모드는 현재 블록이 코딩 유닛과 사이즈가 같을 때 적용된다. 현재 블록은 예측 유닛으로 볼 수 있다.The skip mode is applied when a skip candidate having the same motion information as the motion information of the current block exists and the residual signal is zero. Also, the skip mode is applied when the current block is the same size as the coding unit. The current block can be viewed as a prediction unit.
머지 모드는 현재 블록의 움직임 정보와 동일한 움직임 정보를 갖는 머지 후보자가 존재할 때 적용된다. 머지 모드는 현재 블록이 코딩 유닛과 사이즈가 다르거나, 사이즈가 같을 경우에는 잔차 신호가 존재하는 경우에 적용된다. 머지 후보자와 스킵 후보자는 동일할 수 있다.The merge mode is applied when there is a merge candidate having the same motion information as that of the current block. The merge mode is applied when a residual signal exists when the current block has a different size or the same size as the coding unit. The merge candidate and the skip candidate may be the same.
AMVP 모드는 스킵 모드 및 머지 모드가 적용되지 않을 때 적용된다. 현재 블록의 움직임 벡터와 가장 유사한 움직임 벡터를 갖는 AMVP 후보자를 AMVP 예측자로 선택한다.AMVP mode is applied when skip mode and merge mode are not applied. An AMVP candidate having a motion vector most similar to the motion vector of the current block is selected as an AMVP predictor.
움직임 정보 부호화부(130)는 움직임 정보 부호화 모드 결정부(120)에 의해 결정된 방식에 따라 움직임 정보를 부호화한다. 움직임 정보 부호화 모드가 스킵 모드 또는 머지 모드일 경우에는 머지 움직임 벡터 부호화 과정을 수행한다. 움직임 정보 부호화 모드가 AMVP일 경우에는 AMVP 부호화 과정을 수행한다.The motion information encoder 130 encodes the motion information according to a method determined by the motion information encoding mode determiner 120. If the motion information encoding mode is the skip mode or the merge mode, the merge motion vector encoding process is performed. When the motion information encoding mode is AMVP, the AMVP encoding process is performed.
예측 블록 생성부(140)는 현재 블록의 움직임 정보를 이용하여 예측 블록을 생성한다. 움직임 벡터가 정수 단위일 경우에는, 참조픽쳐 인덱스가 나타내는 픽쳐 내의 움직임 벡터가 나타내는 위치에 대응하는 블록을 복사하여 현재 블록의 예측 블록을 생성한다.The prediction block generator 140 generates a prediction block by using motion information of the current block. If the motion vector is an integer unit, the block corresponding to the position indicated by the motion vector in the picture indicated by the reference picture index is copied to generate a prediction block of the current block.
그러나, 움직임 벡터가 정수 단위가 아닐 경우에는, 참조픽쳐 인덱스가 나타내는 픽쳐내의 정수 단위 화소들로 부터 예측 블록의 화소들을 생성한다. 이 경우, 휘도 화소의 경우에는 8탭의 보간 필터를 사용하여 예측 화소를 생성할 수 있다. 색차 화소의 경우에는 4탭 보간 필터를 사용하여 예측 화소를 생성할 수 있다.However, when the motion vector is not an integer unit, pixels of the prediction block are generated from integer unit pixels in the picture indicated by the reference picture index. In this case, in the case of the luminance pixel, the prediction pixel may be generated using an interpolation filter of 8 taps. In the case of chrominance pixels, a prediction pixel may be generated using a 4-tap interpolation filter.
잔차 블록 생성부(150)는 현재 블록과 현재 블록의 예측 블록을 이용하여 잔차 블록을 생성한다. 현재 블록의 크기가 2Nx2N인 경우에는 현재 블록과 현재 블록에 대응하는 2Nx2N 크기의 예측 블록을 이용하여 잔차 블록을 생성한다.The residual block generator 150 generates a residual block by using the current block and the prediction block of the current block. When the size of the current block is 2Nx2N, the residual block is generated by using the current block and a prediction block having a size of 2Nx2N corresponding to the current block.
그러나, 예측에 이용되는 현재 블록의 크기가 2NxN 또는 Nx2N인 경우에는 2Nx2N을 구성하는 2개의 2NxN 블록 각각에 대한 예측 블록을 구한 후, 상기 2개의 2NxN 예측 블록을 이용하여 2Nx2N 크기의 최종 예측 블록을 생성할 수 있다. 그리고, 상기 2Nx2N 크기의 예측 블록을 이용하여 2Nx2N 의 잔차 블록을 생성할 수도 있다. 2NxN 크기의 2개의 예측블록들의 경계부분의 불연속성을 해소하기 위해 경계 부분의 픽셀들을 오버랩 스무딩할 수 있다.However, when the size of the current block used for prediction is 2NxN or Nx2N, the prediction block for each of the 2NxN blocks constituting the 2Nx2N is obtained, and then the final prediction block having the size of 2Nx2N is obtained using the two 2NxN prediction blocks. Can be generated. In addition, a residual block of 2Nx2N may be generated by using the prediction block having a size of 2Nx2N. In order to solve the discontinuity of the boundary portion of two prediction blocks having a size of 2N × N, overlapping pixels of the boundary portion may be smoothed.
잔차 블록 부호화부(160)는 생성된 잔차 블록을 하나 이상의 변환 유닛으로 나눈다. 그리고, 각 변환 유닛을 변환 부호화, 양자화 및 엔트로피 부호화된다. 이때, 변환 유닛의 크기는 잔차 블록의 크기에 따라 쿼드트리 방식으로 결정될 수 있다.The residual block encoder 160 divides the generated residual block into one or more transform units. Each transform unit is then transform coded, quantized, and entropy coded. In this case, the size of the transform unit may be determined by the quadtree method according to the size of the residual block.
잔차 블록 부호화부(160)는 인터 예측 방법에 의해 생성된 잔차 블록을 정수기반 변환 매트릭스를 이용하여 변환한다. 상기 변환 매트릭스는 정수기반 DCT 매트릭스이다. 잔차 블록 부호화부(160)는 상기 변환 매트릭스에 의해 변환된 잔차 블록의 계수들을 양자화하기 위해 양자화 매트릭스를 이용한다. 상기 양자화 매트릭스는 양자화 파라미터에 의해 결정된다. 상기 양자화 파라미터는 미리 정해진 크기 이상의 코딩 유닛별로 결정된다. 상기 미리 정해진 크기는 8x8 또는 16x16일 수 있다.The residual block encoder 160 transforms the residual block generated by the inter prediction method using an integer-based transform matrix. The transformation matrix is an integer based DCT matrix. The residual block encoder 160 uses a quantization matrix to quantize coefficients of the residual block transformed by the transform matrix. The quantization matrix is determined by the quantization parameter. The quantization parameter is determined for each coding unit of a predetermined size or more. The predetermined size may be 8x8 or 16x16.
따라서 현재 코딩 유닛이 상기 미리 정해진 크기보다 작은 경우에는 상기 미리 정해진 크기 내의 복수개의 코딩 유닛 중 부호화 순서상 첫번째 코딩 유닛의 양자화 파라미터만을 부호화하고, 나머지 코딩 유닛의 양자화 파라미터는 상기 파라미터와 동일하므로 부호화할 필요가 없다.Therefore, when the current coding unit is smaller than the predetermined size, only the quantization parameter of the first coding unit in the coding order among the plurality of coding units within the predetermined size is encoded, and since the quantization parameter of the remaining coding units is the same as the parameter, no need.
그리고, 결정된 양자화 파라미터 및 예측 모드에 따라 결정되는 양자화 매트릭스를 이용하여 상기 변환 블록의 계수들을 양자화한다.The coefficients of the transform block are quantized using the quantization matrix determined according to the determined quantization parameter and the prediction mode.
상기 미리 정해진 크기 이상의 코딩 유닛별로 결정되는 양자화 파라미터는 현재 코딩 유닛에 인접한 코딩 유닛의 양자화 파라미터를 이용하여 예측 부호화된다. 현재 코딩 유닛의 좌측 코딩 유닛, 상측 코딩 유닛 순서로 검색하여 유효한 1개 또는 2개의 유효한 양자화 파라미터를 이용하여 현재 코딩 유닛의 양자화 파라미터 예측자를 생성할 수 있다.The quantization parameter determined for each coding unit of the predetermined size or more is predictively coded using the quantization parameter of the coding unit adjacent to the current coding unit. The left coding unit of the current coding unit and the upper coding unit may be searched to generate a quantization parameter predictor of the current coding unit using one or two valid quantization parameters.
예를 들어, 상기 순서로 검색된 유효한 첫번째 양자화 파라미터를 양자화 파라미터 예측자로 결정할 수 있다. 또한, 좌측 코딩 유닛, 부호화 순서상 바로 이전의 코딩 유닛 순으로 검색하여 유효한 첫 번째 양자화 파라미터를 양자화 파라미터 예측자로 결정할 수 있다.For example, the first valid quantization parameter found in the above order may be determined as a quantization parameter predictor. In addition, the first quantization parameter that is valid may be determined as a quantization parameter predictor by searching the left coding unit and the coding unit immediately before the coding order.
양자화된 변환 블록의 계수들은 스캐닝되어 1차원의 양자화 계수들로 변환한다. 스캐닝 방식은 엔트로피 부호화 모드에 따라 달리 설정될 수 있다. 예를 들어, CABAC으로 부호화될 경우에는 인터 예측 부호화된 양자화 계수들은 미리 정해진 하나의 방식(지그재그, 또는 대각선 방향으로의 래스터 스캔)으로 스캐닝될 수 있다. 반면에 CAVLC으로 부호화될 경우에는 상기 방식과 다른 방식으로 스캐닝될 수 있다. 예를 들어, 스캐닝 방식이 인터의 경우에는 지그재그, 인트라의 경우에는 인트라 예측 모드에 따라 결정될 수 있다.The coefficients of the quantized transform block are scanned and converted into one-dimensional quantization coefficients. The scanning method may be set differently according to the entropy encoding mode. For example, when coded with CABAC, the inter prediction coded quantization coefficients may be scanned in one predetermined manner (zigzag or diagonal raster scan). On the other hand, when encoded by CAVLC, scanning may be performed in a manner different from that described above. For example, the scanning method may be determined according to a zigzag in case of inter and an intra prediction mode in case of intra.
또한, 계수 스캐닝 방식은 변환 단위의 크기에 따라 달리 결정될 수도 있다. 상기 스캔 패턴은 방향성 인트라 예측 모드에 따라 달라질 수 있다. 양자화 계수들의 스캔순서는 역방향으로 스캔한다.In addition, the coefficient scanning scheme may be determined differently according to the size of the transform unit. The scan pattern may vary depending on the directional intra prediction mode. The scan order of the quantization coefficients scans in the reverse direction.
멀티플렉서(170)는 상기 움직임 정보 부호화부(130)에 의해 부호화된 움직임 정보들과 상기 잔차 블록 부호화부에 의해 부호화된 잔차 신호들을 다중화한다. 상기 움직임 정보는 부호화 모드에 따라 달라질 수 있다. 즉, 스킵 또는 머지일 경우에는 예측자를 나타내는 인덱스만을 포함한다. 그러나, AMVP일 경우에는 현재 블록의 참조 픽쳐 인덱스, 차분 움직임 벡터 및 AMVP 인덱스를 포함한다.The multiplexer 170 multiplexes the motion information encoded by the motion information encoder 130 and the residual signals encoded by the residual block encoder. The motion information may vary according to an encoding mode. That is, in case of skip or merge, only the index indicating the predictor is included. However, in the case of AMVP, it includes a reference picture index, a differential motion vector, and an AMVP index of the current block.
도 3은 인터 예측 복호화 장치의 구성에 대한 일예를 블록도로 도시한 것으로, 인터 예측 복호화 장치(200)는 디멀티플렉서(210), 움직임 정보 부호화 모드 판단부(220), 머지 모드 움직임 정보 복호화부(230), AMVP 모드 움직임 정보 복호화부(240), 예측블록 생성부(250), 잔차 블록 복호화부(260) 및 복원블록 생성부(270)를 포함하여 구성될 수 있다.3 is a block diagram illustrating an example of a configuration of an inter prediction decoding apparatus. The inter prediction decoding apparatus 200 includes a demultiplexer 210, a motion information encoding mode determiner 220, and a merge mode motion information decoder 230. ), The AMVP mode motion information decoder 240, the prediction block generator 250, the residual block decoder 260, and the reconstructed block generator 270.
도 3을 참조하면, 디멀티플렉서(210)는 수신된 비트스트림으로부터 현재 부호화된 움직임 정보와 부호화된 잔차 신호들을 역다중화한다. 디멀티플렉서(210)는 상기 역다중화된 움직임 정보를 움직임 정보 부호화 모드 판단부(220)로 전송하고, 역다중화된 잔차신호를 잔차블록 복호화부(260)로 전송한다.Referring to FIG. 3, the demultiplexer 210 demultiplexes currently encoded motion information and encoded residual signals from a received bitstream. The demultiplexer 210 transmits the demultiplexed motion information to the motion information encoding mode determiner 220 and transmits the demultiplexed residual signal to the residual block decoder 260.
움직임 정보 부호화 모드 판단부(220)는 현재 블록의 움직임 정보 부호화 모드를 판단한다. 움직임 정보 부호화 모드 판단부(220)는 수신된 비트스트림의 skip_flag가 1의 값을 갖는 경우에는 현재 블록의 움직임 정보 부호화 모드가 스킵 부호화 모드로 부호화된 것으로 판단한다. 움직임 정보 부호화 모드 판단부(220)는 수신된 비트스트림의 skip_flag가 0의 값을 갖고, 디멀티블렉서(210)로부터 수신된 움직임 정보가 머지 인덱스만을 갖는 현재 블록의 움직임 정보 부호화 모드가 머지 모드로 부호화된 것으로 판단한다.The motion information encoding mode determiner 220 determines the motion information encoding mode of the current block. When skip_flag of the received bitstream has a value of 1, the motion information encoding mode determiner 220 determines that the motion information encoding mode of the current block is encoded by the skip encoding mode. The motion information encoding mode determiner 220 has a skip_flag of the received bitstream having a value of 0, and the motion information encoding mode of the current block in which the motion information received from the demultiplexer 210 has only a merge index. It is determined that it is encoded by.
움직임 정보 부호화 모드 판단부(220)는 수신된 비트스트림의 skip_flag가 0의 값을 갖고, 디멀티블렉서(210)로부터 수신된 움직임 정보가 참조 픽쳐 인덱스와 차분 움직임 벡터와 AMVP인덱스를 갖는 경우에는 현재 블록의 움직임 정보 부호화 모드가 AMVP 모드로 부호화된 것으로 판단한다.If the skip_flag of the received bitstream has a value of 0 and the motion information received from the demultiplexer 210 has a reference picture index, a differential motion vector, and an AMVP index, the motion information encoding mode determiner 220 includes: It is determined that the motion information encoding mode of the current block is encoded in the AMVP mode.
머지 모드 움직임 정보 복호화부(230)는 움직임 정보 부호화 모드 판단부(220)가 현재 블록의 움직임 정보 부호화 모드를 스킵 또는 머지 모드로 판단한 경우에 활성화된다.The merge mode motion information decoder 230 is activated when the motion information encoding mode determiner 220 determines that the motion information encoding mode of the current block is a skip or merge mode.
AMVP 모드 움직임 정보 복호화부(240)는 움직임 정보 부호화 모드 판단부(220)가 현재 블록의 움직임 정보 부호화 모드를 AMVP 모드로 판단한 경우에 활성화된다.The AMVP mode motion information decoder 240 is activated when the motion information encoding mode determiner 220 determines that the motion information encoding mode of the current block is the AMVP mode.
예측블록 생성부(250)는 상기 머지 모드 움직임 정보 복호화부(230) 또는 AMVP 모드 움직임 정보 복호화부(240)에 의해 복원된 움직임 정보를 이용하여 현재 블록의 예측 블록을 생성한다. 움직임 벡터가 정수 단위일 경우에는, 참조픽쳐 인덱스가 나타내는 픽쳐 내의 움직임 벡터가 나타내는 위치에 대응하는 블록을 복사하여 현재 블록의 예측 블록을 생성한다.The prediction block generator 250 generates the prediction block of the current block by using the motion information reconstructed by the merge mode motion information decoder 230 or the AMVP mode motion information decoder 240. If the motion vector is an integer unit, the block corresponding to the position indicated by the motion vector in the picture indicated by the reference picture index is copied to generate a prediction block of the current block.
그러나, 움직임 벡터가 정수 단위가 아닐 경우에는, 참조픽쳐 인덱스가 나타내는 픽쳐내의 정수 단위 화소들로부터 예측 블록의 화소들을 생성한다. 이 경우, 휘도 화소의 경우에는 8탭의 보간 필터를 사용하여 예측 화소를 생성할 수 있다. 색차 화소의 경우에는 4탭 보간 필터를 사용하여 예측 화소를 생성할 수 있다.However, when the motion vector is not an integer unit, the pixels of the prediction block are generated from the integer unit pixels in the picture indicated by the reference picture index. In this case, in the case of the luminance pixel, the prediction pixel may be generated using an interpolation filter of 8 taps. In the case of chrominance pixels, a prediction pixel may be generated using a 4-tap interpolation filter.
잔차 블록 복호화부(260)는 잔차신호를 엔트로피 복호화한다. 그리고, 엔트로피 복호화된 계수들을 역스캐닝하여 2차원의 양자화된 계수 블록을 생성한다. 역스캐닝 방식은 엔트로피 복호화 방식에 따라 달라질 수 있다.The residual block decoder 260 entropy decodes the residual signal. Inverse scanning of the entropy decoded coefficients generates a two-dimensional quantized coefficient block. The reverse scanning method may vary depending on the entropy decoding method.
즉, CABAC 기반으로 복호화된 경우와 CAVLC 기반으로 복호화된 경우의 인터 예측 잔차신호의 역스캐닝 방식이 달라질 수 있다. 예를 들어, CABAC 기반으로 복호화된 경우에는 대각선 방향의 래스터 역스캔 방식으로, CAVLC 기반으로 복호화된 경우에는 지그재그 역스캔 방식이 적용될 수 있다. 또한, 예측 블록의 크기에 따라 역스캐닝 방식이 달리 결정될 수도 있다.That is, the inverse scanning scheme of the inter prediction residual signal when the CABAC decoding is performed and the CAVLC decoding may be different. For example, when the CABAC-based decoding is performed, the diagonal raster inverse scan method may be used, and when the CAVLC-based decoding is performed, the zigzag inverse scanning method may be used. In addition, the inverse scanning scheme may be determined differently according to the size of the prediction block.
잔차블록 복호화부(260)는 생성된 계수블록을 역양자화 매트릭스를 이용하여 역양자화한다. 상기 양자화 매트릭스를 유도하기 위해 양자화 파리미터를 복원한다. 양자화 스텝 사이즈는 미리 정해진 크기 이상의 코딩 유닛별로 복원된다.The residual block decoder 260 dequantizes the generated coefficient block using an inverse quantization matrix. Restore quantization parameters to derive the quantization matrix. The quantization step size is reconstructed for each coding unit of a predetermined size or more.
상기 미리 정해진 크기는 8x8 또는 16x16일 수 있다. 따라서, 현재 코딩 유닛이 상기 미리 정해진 크기보다 작은 경우에는 상기 미리 정해진 크기 내의 복수개의 코딩 유닛 중 부호화 순서상 첫번째 코딩 유닛의 양자화 파라미터만을 복원하고, 나머지 코딩 유닛의 양자화 파라미터는 상기 파라미터와 동일하므로 부호화할 필요가 없다.The predetermined size may be 8x8 or 16x16. Therefore, when the current coding unit is smaller than the predetermined size, only the quantization parameter of the first coding unit in the coding order of the plurality of coding units within the predetermined size is restored, and since the quantization parameter of the remaining coding units is the same as the parameter, the encoding is performed. There is no need to do it.
상기 미리 정해진 크기 이상의 코딩 유닛별로 결정된 양자화 파라미터를 복원하기 위해 현재 코딩 유닛에 인접한 코딩 유닛의 양자화 파라미터를 이용한다. 현재 코딩 유닛의 좌측 코딩 유닛, 상측 코딩 유닛 순서로 검색하여 유효한 첫번째 양자화 파라미터를 현재 코딩 유닛의 양자화 파라미터 예측자로 결정할 수 있다. 또한, 좌측 코딩 유닛, 부호화 순서상 바로 이전의 코딩 유닛 순으로 검색하여 유효한 첫번째 양자화 파라미터를 양자화 파라미터 예측자로 결정할 수 있다.The quantization parameter of the coding unit adjacent to the current coding unit is used to recover the quantization parameter determined for each coding unit of the predetermined size or more. The first valid quantization parameter may be determined as a quantization parameter predictor of the current coding unit by searching in the order of the left coding unit and the upper coding unit of the current coding unit. Further, the first valid quantization parameter may be determined as a quantization parameter predictor by searching the left coding unit and the coding unit immediately before the coding order.
상기 결정된 양자화 파라미터 예측자와 차분 양자화 파라미터를 이용하여 현재 예측 유닛의 양자화 파라미터를 복원한다.The quantization parameter of the current prediction unit is recovered using the determined quantization parameter predictor and the differential quantization parameter.
잔차블록 복호화부(260)는 상기 역양자화된 계수 블록을 역변환하여 잔차블록을 복원한다.The residual block decoder 260 inversely transforms the inverse quantized coefficient block to restore the residual block.
복원블록 생성부(270)는 상기 예측블록 생성부(250)에 의해 생성된 예측블록과 상기 잔차블록 복호화부(260)에 의하여 생성된 잔차블록을 더하여 복원블록을 생성한다.The reconstruction block generation unit 270 generates a reconstruction block by adding the prediction block generated by the prediction block generation unit 250 and the residual block generated by the residual block decoding unit 260.
현재 코딩 블록이 inter coded block 일 때, 주변에 이미 부호화된 블록들의 움직임벡터(MV)와 참조 영상 index 등을 바탕으로 MVP를 계산하거나, Merge Mode, Merge Skip Mode를 고려한다.When the current coding block is an inter coded block, MVP is calculated based on a motion vector (MV) and a reference image index of blocks already coded around it, or a merge mode and a merge skip mode are considered.
도 4는 Merge/Merge Skip을 고려하는 방식에 대한 일예를 설명하기 위한 도면이다.FIG. 4 is a diagram for explaining an example of a method of considering a merge / merge skip.
도 4를 참조하면, 현재 블록의 왼쪽 블록(A1), 왼쪽 아래 블록(A2), 오른쪽 위 블록(B0), 위 블록(B1), 왼쪽 위 블록(B2)의 움직임 벡터들을 Spatial candidate 움직임 벡터로 고려하고, 추가로 참조 프레임 내부에서 Col-located block의 오른쪽 아래(H) 그리고 가운데(C3) 위치의 움직임 벡터를 Temporal candidate 움직임 벡터로 고려한다. 이들 후보 MV들을 고려하여 현재 부호화 블록을 Merge나 Merge Skip mode로 부호화할 수 있는지를 고려한다.Referring to FIG. 4, motion vectors of a left block A1, a lower left block A2, an upper right block B0, an upper block B1, and an upper left block B2 of the current block are defined as Spatial candidate motion vectors. In addition, the motion vector at the lower right (H) and the middle (C3) positions of the Col-located block in the reference frame is considered as a temporal candidate motion vector. Considering these candidate MVs, it is considered whether the current coding block can be encoded in Merge or Merge Skip mode.
도 4를 참조하여 설명한 바와 같은 방법들에서 고려되는 merge 또는 merge skip의 개념은 초고해상도 영상에 적용하기에 제한적이며, 확대된 개념의 merge 및 merge skip 개념이 사용될 필요가 있다.The concept of merge or merge skip considered in the methods described with reference to FIG. 4 is limited to be applied to an ultra high resolution image, and an enlarged concept of merge and merge skip needs to be used.
본 발명의 일실시예에 따르면, merge 또는 merge skip이 현재 부호화 블록과 인접한 주변 블록과의 유사성만을 고려하여 제한적으로 사용되는 것과 달리, 본 발명에서는 현재 부호화 블록 주위의 넓은 영역에 위치한 이웃 블록들과의 유사성을 고려하여, 확장된 merge 및 merge skip 개념을 제안한다.According to an embodiment of the present invention, unlike merge or merge skip, which is limited in consideration of similarities with neighboring blocks adjacent to the current coding block, in the present invention, neighboring blocks located in a large area around the current coding block Considering the similarity of, we propose extended merge and merge skip concept.
즉, Merge/Merge Skip을 고려할 때, 정보를 참고하는 주변 블록의 범위가 현재 블록을 기준으로 바로 윗줄의 블록들과 바로 왼편의 블록들에 한정되어 있기 때문에, 초고해상도 영상을 부호화하는 과정에서 부호화 효율성이 제한되고 있다. 이를 해결하기 위하여 본 발명에서는 더 넓은 범위의 주변 블록들의 다양한 정보들을 고려하여 Merge/Merge Skip을 결정한다.In other words, when considering Merge / Merge Skip, since the range of neighboring blocks referencing the information is limited to the blocks in the upper row and the blocks on the left, based on the current block, encoding in the process of encoding a super high resolution image Efficiency is limited. In order to solve this problem, the present invention determines Merge / Merge Skip in consideration of various information of a wider range of neighboring blocks.
도 5는 본 발명의 일실시예에 따른 Merge/Merge Skip 결정 방법을 설명하기 위한 도면이다.5 is a view for explaining a method of determining a merge / merge skip according to an embodiment of the present invention.
도 5를 참조하면, B(i,j)가 현재 코딩 블록이라고 할 때, 주변의 이미 부호화를 마치고 복원된 블록들의 코딩 정보들을 이용하여 현재 블록을 부호화한다.Referring to FIG. 5, when B (i, j) is a current coding block, the current block is encoded using coding information of blocks that have already been encoded and reconstructed around the neighbor.
Merge/Merge Skip을 고려할 때, 정보를 참고하는 주변 블록의 범위가 현재 블록을 기준으로 바로 윗줄의 블록들과 바로 왼편의 블록들에 한정되어 있기 때문에 (즉, B(i,j-1), B(i-1,j-1), B(i-1,j), B(i-1,j+1) 들의 정보들만 이용), 초고해상도 영상을 부호화하는 과정에서 부호화 효율성이 제한되고 있다.Considering Merge / Merge Skip, since the range of neighboring blocks referencing information is limited to the blocks on the top row and the blocks on the left, based on the current block (i.e., B (i, j-1), Only coding information of B (i-1, j-1), B (i-1, j), and B (i-1, j + 1) is used, and encoding efficiency is limited in the process of encoding an ultra high resolution image. .
이를 해결하기 위하여, 본 발명의 일실시예에서는, 더 넓은 범위의 주변 블록들을 사용한다. 이때, merge를 위해 사용되는 주변 블록들의 정보들은 움직임 정보(MV, MVD, 참조 영상 번호 등)뿐만 아니라 양자화 파라미터, PU 분할 정보, merge 정보 등이 추가되며, 이러한 정보들을 조합하여 Merge/Merge Skip을 결정한다. 즉, Merge의 개념이 훨씬 더 다양하게 확장되는 것이며, Merge의 mode도 다양하게 지원된다.To solve this, one embodiment of the present invention uses a wider range of peripheral blocks. In this case, the information of the neighboring blocks used for merging is added not only motion information (MV, MVD, reference picture number, etc.) but also quantization parameter, PU partition information, merge information, and the like. Decide In other words, the concept of Merge extends much more diversely, and Merge's mode is also supported in various ways.
즉, 참조할 수 있는 주변 블록의 개수를 증가시켜 더 멀리 위치한 B(i-k,j-m) 들까지도 참조할 수 있다. 여기서, k와 m은 참조 블록 영역에 따라 가변적인 값을 가질 수 있다. That is, the number of neighboring blocks that can be referred to may be increased to refer to B (i-k, j-m) located farther. Here, k and m may have a variable value according to the reference block region.
도 6 내지 도 8은 Merge/Merge Skip 되는 주변 영역들에 대한 실시예들을 도시한 것으로, 유사한 움직임 정보 등을 갖는 넓은 영역에 위치한 블록들이 간단한 Merge/Merge Skip flag만으로 표현됨으로써 압축효율을 높일 수 있다.6 to 8 illustrate embodiments of neighboring regions that are merged / merge skipped, and blocks located in a wider area having similar motion information may be expressed only by a simple merge / merge skip flag, thereby increasing compression efficiency. .
즉, 본 발명의 실시예들에 따르면, 현재 부호화 블록을 기준으로 바로 윗줄의 블록들과 바로 왼편의 블록들의 정보를 한정적으로 정보 참고에 이용하는 것을 벗어나 초고해상도 영상을 부호화하는 과정에서 부호화 효율성을 높이기 위해 더 많은 주변 블록을 정보 참고에 이용한다.That is, according to embodiments of the present invention, the encoding efficiency is increased in the process of encoding a super high resolution image by using information of the blocks in the immediately upper row and the blocks on the left immediately based on the current encoding block for limited information reference. More neighboring blocks are used for informational reference.
예를 들어, 도 6을 참조하면, 부호화하고자 하는 현재 코딩 블록은 직접 붙어있는 주변 블록들 뿐 아니라 더 넓은 영역의 블록들과 merge/merge skip 될 수 있다.For example, referring to FIG. 6, the current coding block to be encoded may be merged / merge skipped with blocks of a wider area as well as neighboring blocks directly attached thereto.
또한, 예를 들어 도 7을 참조하면, 부호화하고자 하는 현재 코딩 블록은 임의의 위치에 있는 블록들과 merge/merge skip 될 수 있다.For example, referring to FIG. 7, a current coding block to be encoded may be merged / merge skipped with blocks at arbitrary positions.
그리고, 예를 들어 도 8을 참조하면, 부호화하고자 하는 현재 코딩 블록은 직접 붙어있는 주변 블록들을 제외한 더 떨어진 주변 블록들과 merge/merge skip 될 수 있다.For example, referring to FIG. 8, a current coding block to be encoded may be merged / merge skipped with further neighboring blocks except directly attached neighboring blocks.
초고해상도 영상을 위한 확장된 영역의 Merge 플래그 표현 방법Merge Flag Representation of Extended Region for Ultra-High Resolution Images
이하에서는 초고해상도 영상을 위해 Merge의 개념을 확장하는 방법을 설명한다.Hereinafter, a method of extending the concept of merge for an ultra high resolution image will be described.
앞서 설명한 바와 같이, 다양한 크기의 코딩 유닛을 사용함으로써, 영상의 공간 해상도 및 블록 특성을 효과적으로 고려하여 부호화할 수 있다. As described above, by using coding units of various sizes, the coding may be performed by considering the spatial resolution and the block characteristics of an image effectively.
도 9는 일반적인 부호화 블록 구조 및 그 결정 방법을 나타낸다.9 shows a general coding block structure and a method of determining the same.
도 9에 도시된 바와 같이, 일반적으로 영상의 해상도가 작거나 화소값들이 국지적으로 크게 변화는 경우에는 작은 크기의 코딩 유닛들을 이용하여 인트라 및 인터 예측을 수행하는 것이 효율적일 수 있다. 작은 크기의 코딩 유닛을 이용하게 되면 부호화에 필요한 헤더 비트량은 증가하지만, 상대적으로 예측이 정밀하게 이루어져 양자화 에러와 변환 계수의 부호화에 필요한 비트량이 감소하는 장점이 있다. As shown in FIG. 9, in general, when the resolution of the image is small or the pixel values change locally, it may be efficient to perform intra and inter prediction using coding units having a small size. The use of a small coding unit increases the amount of header bits required for encoding, but has the advantage of reducing the amount of bits required for encoding quantization errors and transform coefficients due to relatively accurate prediction.
반대로 영상의 공간해상도가 크거나 화소값들의 변화가 적은 영역에서는 큰 코딩 유닛를 사용하는 것이 부호화 효율을 높일 수 있다. 이 경우에는 큰 코딩 유닛를 사용하여도 작은 코딩 유닛을 사용하여 예측하는 경우에 비하여 예측오차가 크게 증가하지 않는 경향이 있으므로 이러한 블록들을 부호화할 경우, 큰 코딩 유닛을 사용하여 헤더 비트량을 절약하는 것이 효율적일 수 있다.On the contrary, in a region having a large spatial resolution or a small change in pixel values, using a large coding unit may increase coding efficiency. In this case, even when a large coding unit is used, the prediction error does not tend to increase as much as when a small coding unit is predicted. Therefore, when encoding these blocks, it is preferable to use a large coding unit to save the header bit amount. It can be efficient.
앞서 설명한 바와 같이, 영상의 부호화에는 Inter Mode 및 Skip Mode 뿐만 아니라 Merge Mode가 사용될 수 있다. As described above, in addition to the inter mode and the skip mode, a merge mode may be used for encoding an image.
도 10은 Merge candidates의 예를 나타낸다.10 shows an example of merge candidates.
도 10과 같이, Merge Mode는 현재 예측 유닛 주변에 존재하는 예측 유닛들의 움직임 정보들 중 하나를 현재 예측 유닛을 부호화하는데 사용될 수 있다. 이에 따라 어느 이웃 예측 유닛의 움직임 정보를 현재 예측 유닛에서 사용했는지를 나타내는 색인 정보를 추가로 부호화할 수 있다. 현재 예측 유닛의 주변에 위치한 A~E의 Merge candidates는 공간적으로 이웃한 예측 유닛들의 움직임 정보를 나타내고, T는 시간적으로 다른 프레임에 현재 블록과 대응되는 위치의 Merge candidate을 의미할 수 있다.As shown in FIG. 10, the merge mode may be used to encode one of motion information of prediction units present around a current prediction unit. Accordingly, index information indicating which motion prediction information of the neighboring prediction unit is used in the current prediction unit may be further encoded. Merge candidates of A to E located around the current prediction unit represent motion information of spatially neighboring prediction units, and T may mean a merge candidate of a position corresponding to the current block in another frame in time.
또한, HEVC의 SKIP 모드는 Merge Skip을 의미하는데, SKIP에서는 Merge mode와 같이 이웃 예측 유닛의 움직임 벡터를 사용하는 것은 같지만, 현재 부호화 블록의 잔차 신호를 전송하지 않는 차이점이 있다. 즉, Skip은 SKIP flag와 Merge Index만으로 코딩 유닛의 정보를 표현하는 모드일 수 있다.In addition, the SKIP mode of HEVC means Merge Skip. In SKIP, although the motion vector of the neighboring prediction unit is the same as in the Merge mode, there is a difference in that the residual signal of the current coding block is not transmitted. That is, Skip may be a mode that expresses information of a coding unit using only a SKIP flag and a merge index.
도 11은 코딩 유닛(CU, coding unit)과 예측 유닛(PU, prediction unit)의 헤더 구조를 표현한 것이다. CU에서는 SKIP flag로 현재 CU가 SKIP인지 아닌지 구별할 수 있다. 만약, CU에서 SKIP flag가 1 이라면 더 이상 CU의 다른 Herder정보를 부/복호하지 않고 PU의 헤더에서 Merge Index만 부/복호한다. 11 illustrates a header structure of a coding unit (CU) and a prediction unit (PU). In CU, SKIP flag can be used to distinguish whether CU is SKIP or not. If the SKIP flag is 1 in the CU, only the Merge Index is encoded / decoded in the header of the PU without further encoding / decoding other Herder information of the CU.
만일 현재 CU가 SKIP이 아니면서 Inter CU일 때, PU에서는 Merge flag를 두어 현재 PU가 Merge Mode인지 아닌지 구별 할 수 있다. 만약, 현재 PU가 Merge Mode이면 Merge Index를 부/복호하고 Merge Mode가 아니면 움직임 정보를 부/복호한다. If the current CU is not SKIP and is an Inter CU, the PU can put a merge flag to distinguish whether or not the current PU is in merge mode. If the current PU is in Merge mode, the Merge Index is decoded / decoded. If not, the motion information is decoded / decoded.
이 경우, 초고해상도 영상과 저해상도 영상을 같은 크기의 블록으로 나누면, 저해상도의 영상보다 초고해상도의 영상의 블록간의 상관도가 높을 수 있다.In this case, if the ultra high resolution image and the low resolution image are divided into blocks of the same size, the correlation between the blocks of the ultra high resolution image may be higher than that of the low resolution image.
도 12는 해상도에 따른 영상 분할 차이를 나타낸다.12 illustrates an image segmentation difference according to resolution.
도 12에 도시된 바와 같이, 동일한 영역을 같은 크기의 블록으로 나누어도 저해상도 영상보다 초고해상도 영상이 더 많은 블록을 사용하여 분할해야 하는 문제점이 있다.As shown in FIG. 12, even if the same area is divided into blocks of the same size, there is a problem in that the ultra-high resolution image is divided using more blocks than the low resolution image.
다시 말하면, 초고해상도 영상에서는 이웃에 위치한 CU들을 구성하는 PU들이 유사한 모드로 부호화가 된다. 즉, 초고해상도 영상에서는 하나의 PU가 Merge 모드로 결정되면, 이웃한 PU도 Merge모드로 결정될 확률이 저해상도 영상보다 높다. 이런 상황에서, 각 PU마다 Merge정보를 알려주는 Merge Flag를 매번 반복적으로 전송하는 기존의 부호화 방법을 사용하는 것은 부호화 효율이 떨어질 수 있다.In other words, in a super high resolution image, PUs constituting neighboring CUs are encoded in a similar mode. That is, in a super high resolution image, when one PU is selected as the merge mode, the probability of neighboring PUs also being determined as the merge mode is higher than that of the low resolution image. In such a situation, using an existing encoding method that repeatedly transmits a Merge Flag that informs Merge information for each PU may reduce coding efficiency.
*따라서, 본 발명에서는 가장 큰 코딩 유닛 단위인 LCU(Largest coding unit)에 대해, LCU 내부의 영상 특성에 따라 한 LCU를 복수개의 영역들로 나눈 후, 각 영역 내에 위치하고 있는 복수 개 PU들의 Merge 관련 정보를 반복적으로 전송하는 대신, 해당 PU들이 Merge 영역에 포함된다는 정보만을 전송함으로써 각 PU 헤더마다 반복적으로 전송했던 Merge flag들을 대신할 수 있는 부호화/복호화 방법을 제안한다.Therefore, in the present invention, for a large coding unit unit (LCU), a LCU is divided into a plurality of areas according to the image characteristics inside the LCU, and then merges a plurality of PUs located in each area. Instead of transmitting information repeatedly, we propose an encoding / decoding method that can replace Merge flags repeatedly transmitted for each PU header by transmitting only information that corresponding PUs are included in a merge region.
이하에서는 본 발명의 실시 예에 따른 부호화 방법을 설명한다.Hereinafter, an encoding method according to an embodiment of the present invention will be described.
(가) LCU 내부 영역 분할 방법 (A) How to divide the internal area of LCU
각 LCU에서는 LCU에 포함된 이웃하는 PU들의 merge 정보들을 반복적으로 전송하지 않고, 대신 그 PU들이 Merge 영역에 포함되어 있다는 정보를 부호화한다. 즉, 공간적으로 이웃하면서 merge 모드로 부호화되는 복수개의 PU들을 한 집합으로 묶은 후, 그 PU들이 merge 영역에 위치한다는 정보만을 부호화한다. Each LCU does not repeatedly transmit merge information of neighboring PUs included in the LCU, but instead encodes information indicating that the PUs are included in the merge region. That is, after grouping a plurality of PUs that are spatially neighbored and encoded in a merge mode into a set, only information indicating that the PUs are located in a merge region is encoded.
도 13은 통합된 Merge 정보를 부호화하기 위한 LCU 분할 방법을 설명하기 위한 도면이다.FIG. 13 is a diagram for explaining an LCU segmentation method for encoding integrated Merge information.
도 13에서는 LCU에 포함되어 있는 CU들을 여러 개의 집합으로 나누는 방법을 나타낸다. 도 13에서 LCU 내부의 CU들을 분류할 때, 직선을 사용해서 나누는데, 이 분류하는 직선은 항상 LCU의 가운데 점을 지나게 된다. 이 직선은 LCU의 가운데 점을 지나면서 8가지 기울기를 가지게 되는데, 구체적인 기울기 종류는 도 13에 표시되어 있다.FIG. 13 illustrates a method of dividing CUs included in an LCU into several sets. In FIG. 13, when classifying the CUs inside the LCU, a straight line is used to divide the straight line, which always passes through the center point of the LCU. This straight line has eight slopes passing through the center point of the LCU, and the specific slope type is shown in FIG. 13.
도 13과 같이 총 8 가지 종류의 기울기를 갖는 직선들 중에 최대 2 가지 종류의 직선을 선택하여 LCU를 나누게 되어, 최대 4개의 영역으로 LCU를 구분할 수 있다. LCU 내부를 분할할 필요가 없는 경우는 분할을 하지 않고 도 13의 0 번인 No Partition을 선택한다. 도 13의 아래 줄의 맨 왼쪽 그림은 LCU를 1번 기울기 분할선과 4번 기울기 분할선을 이용하여 4개의 영역으로 분할한 예시이다. 도 13의 아래 줄의 가운데 그림은 LCU를 4번 기울기 분할선만을 이용하여 2개 영역으로 분할한 예시이다. 도 13의 아래 줄의 오른쪽 그림은 LCU를 분할하지 않고 1개 영역으로 고려하는 예시이다.As shown in FIG. 13, LCUs are divided by selecting up to two types of straight lines among a total of eight types of slopes, and thus LCUs can be divided into up to four areas. If the LCU does not need to be partitioned, No Partition, which is 0 in FIG. 13, is selected without partitioning. The leftmost figure in the lower row of FIG. 13 illustrates an example in which the LCU is divided into four regions using the first slope dividing line and the fourth slope dividing line. The middle figure of the lower row of FIG. 13 is an example of dividing the LCU into two regions using only the fourth slope dividing line. The right figure of the lower row of FIG. 13 is an example of considering the LCU as one area without dividing.
도 13처럼 하나의 LCU가 여러 개 영역으로 분할된 경우, 각 영역들은 Normal 영역과 Merge 영역 중에 하나로 분류될 수 있다. Normal 영역으로 분류된 영역 내의 모든 CU들은 일반적인 부호화 방법을 그대로 사용하여 부호화된다. Merge 영역으로 분류된 영역 내의 CU들은 Inter CU도 될 수도 있고, Intra CU도 될 수도 있지만, Inter CU일 경우에는 Inter CU들의 내부에 있는 PU들이 merge mode 만으로 부호화된다. Merge 영역 내의 Inter CU들은 merge mode로 부호화된 다수의 PU들을 포함하므로, 이 PU들의 merge flag들을 반복적으로 전송하는 대신, 이 PU 들이 merge area에 소속되어 있다는 정보를 전송함으로써 부호화 효율을 향상시킨다. When one LCU is divided into several regions as shown in FIG. 13, each region may be classified into one of a normal region and a merge region. All CUs in the region classified as the normal region are encoded using the general encoding method as it is. CUs in an area classified as a merge area may be Inter CUs or Intra CUs, but in the case of Inter CUs, the PUs inside the Inter CUs are encoded only in the merge mode. Since the Inter CUs in the merge region include a plurality of PUs encoded in merge mode, encoding efficiency is improved by transmitting information indicating that these PUs belong to the merge area, instead of repeatedly transmitting merge flags of the PUs.
앞에서 설명한 것처럼 초고해상도 영상에서는 이웃한 블록들이 서로간에 비슷한 성질을 갖는 데이터일 확률이 매우 높기 때문에 merge mode로 부호화된 PU들이 이웃한 위치에 연속적으로 발생할 수 있으며, 이 경우 merge flag를 전송하지 않음으로써 부호화 효율을 향상 시킬 수 있다.As described above, in the case of ultra-high resolution images, since neighboring blocks have a high probability of being data having similar properties with each other, PUs encoded in merge mode may occur continuously at neighboring positions. In this case, by not transmitting a merge flag Encoding efficiency can be improved.
(나) LCU 내부 영역 분할정보를 부호화하는 방법(B) Method of encoding internal region segmentation information in LCU
앞의 도 13처럼 LCU를 분할한 후에는 이 분할모양에 관한 정보를 부호화해야 한다. 본 절에서는 이 분할 모양에 관한 정보를 부호화하는 방법에 대해서 설명한다.After dividing the LCU as shown in FIG. 13, information about the divisional shape should be encoded. This section describes a method of encoding information about this division shape.
도 14는 이웃하는 LCU들의 영역 분할 정보들 차이를 설명하기 위한 도면이다.FIG. 14 is a diagram for explaining difference of region division information of neighboring LCUs. FIG.
도 13 또는 도 14에서 알 수 있듯이, 각 LCU의 분할 정보는 분할 직선 2개로 표현된다. 이들 분할 직선을 첫 번째 분할직선과 두 번째 분할직선이라고 명칭한다. 이런 두 개의 분할 직선들이 매 LCU 마다 있기 때문에, 특정 LCU의 분할직선 정보들은 이전 LCU의 분할 직선들을 이용하여 예측 부호화될 수 있다.As can be seen from FIG. 13 or FIG. 14, the split information of each LCU is represented by two split straight lines. These split straight lines are called the first split straight line and the second split straight line. Since these two split straight lines are in every LCU, split straight line information of a specific LCU can be predictively coded using split straight lines of the previous LCU.
현재 LCU의 첫 번째 분할 직선의 index는 도 13의 index 인 0 ~ 8 중에 하나가 될 수 있다. 본 발명의 실시 예에 따르면, 부호화기는 이 index 자체를 그대로 부호화하는 것이 아니라, 이전 LCU의 분할 정보를 이용해서 현재 LCU의 첫 번째 분할 정보를 위한 예측 분할 정보를 만든 후, 실제 분할 정보와 예측 분할 정보간의 차이 정보를 부호화할 수 있다다.The index of the first split straight line of the current LCU may be one of 0 to 8, the index of FIG. 13. According to an embodiment of the present invention, the encoder does not encode the index itself as it is, but uses the partition information of the previous LCU to make prediction partition information for the first partition information of the current LCU, and then the actual partition information and the prediction partition. The difference information between the information can be encoded.
구체적으로 설명하면, 부호화기는 이전 LCU의 첫 번째 분할 직선의 index를 현재 LCU의 첫 번째 분할 직선을 부호화하기 위한 예측 index로 사용한다. 만약 현재 LCU의 첫 번째 분할 직선의 index가 이전 LCU의 첫 번째 분할 직선의 index와 같다면 MPP_flag(1) = 1로 표시한다. 그렇지 않고, 만약 현재 LCU의 첫 번째 분할 직선의 index가 이전 LCU의 첫 번째 분할 직선의 index와 다르다면, MPP_flag(1) = 0 으로 표시하고, 현재 LCU의 첫 번째 분할 직선에 대한 정보를 부호화한다. 이때, 이전 LCU의 첫 번째 분할 직선의 index가 현재 LCU의 첫 번째 분할 직선의 index보다 큰 값이면, 현재 LCU의 첫 번째 분할 직선 index 자체를 3비트의 2진수로 표현하고, 그렇지 않고 이전 LCU의 첫 번째 분할 직선의 index가 현재 LCU의 첫 번째 분할 직선의 index보다 작은 값이면, 현재 LCU의 첫 번째 분할 직선 index - 1 을 3비트의 2진수로 표현한다. 이와 같은 과정을 LCU의 두 번째 분할 직선 부호화에도 사용한다. Specifically, the encoder uses the index of the first split straight line of the previous LCU as a prediction index for encoding the first split straight line of the current LCU. If the index of the first split straight line of the current LCU is equal to the index of the first split straight line of the previous LCU, MPP_flag (1) = 1 is indicated. Otherwise, if the index of the first split straight line of the current LCU is different from the index of the first split straight line of the previous LCU, MPP_flag (1) = 0 and encode information on the first split straight line of the current LCU. . At this time, if the index of the first split straight line of the previous LCU is greater than the index of the first split straight line of the current LCU, the first split straight line index of the current LCU is represented by a 3-bit binary number. If the index of the first split straight line is smaller than the index of the first split straight line of the current LCU, the first split straight line index-1 of the current LCU is represented by a 3-bit binary number. This process is also used for the second segmented straight-line coding of the LCU.
도 15는 현재 LCU의 분할 정보를 부호화하는 방법을 나타낸다.15 shows a method of encoding split information of a current LCU.
앞서 설명한 방법이 도 15와 같이 표현될 수 있다. 도 15와 같이, 한 분할 직선의 인덱스를 부호화하기 위해서 최소 1비트에서 최대 4비트가 필요하다. 따라서 한 LCU 의 분할 정보를 나타내는 첫 번째 및 두 번째 분할 정보를 모두 부호화하기 위해서는 최소 2비트에서 최대 8비트가 필요할 수 있다.The method described above may be represented as shown in FIG. 15. As illustrated in FIG. 15, at least 1 bit and at most 4 bits are required to encode an index of one division straight line. Therefore, in order to encode both the first and second partition information indicating the partition information of one LCU, a minimum of 2 bits and a maximum of 8 bits may be required.
(다) Merge 정보 부호화 방법(C) Method of Merge Information Coding
도 16은 분할된 영역 내의 CU 부호화 순서 일 예를 나타낸다.16 shows an example of a CU encoding order in a divided region.
최대 4개로 분할된 LCU의 각 영역은 1 비트인 area_wide_merge_flag를 사용해 해당 영역이 Merge 영역(Merge Area)인지 아니면 Normal 영역인지 구별할 수 있다. Each area of the LCU divided into up to four can be distinguished whether the area is a merge area or a normal area by using area_wide_merge_flag, which is 1 bit.
도 16과 같이 해당 영역이 Merge Area인 경우에는 area_wide_merge_flag를 1 로 설정하고, 해당 영역이 Normal 인 경우에는 area_wide_merge_flag를 0 으로 설정한다. Merge 영역은 해당 영역 안에 화면간 예측 모드로 결정된 CU의 모든 PU가 Merge 모드로 부호화 되는 것을 의미하며, 이때 Merge 영역에는 Intra CU도 존재할 수 있다. Normal 영역 안에 존재하는 모든 CU는 SKIP/Inter/Intra 등 존재하는 모드 중에서 하나의 모드로 부호화 될 수 있고 PU 또한 사용 가능한 모든 모드로 부호화 될 수 있다. 해당 영역이 Merge Area인 지를 구별하는 area_wide_merge_flag는 LCU가 분할된 영역의 수만큼 부호화 된다.As shown in FIG. 16, when the corresponding area is the merge area, area_wide_merge_flag is set to 1, and when the corresponding area is normal, area_wide_merge_flag is set to 0. The merge region means that all the PUs of the CU determined as the inter prediction mode are encoded in the merge mode. In this case, an intra CU may also exist in the merge region. All CUs existing in the normal region can be encoded in one mode among existing modes such as SKIP / Inter / Intra and PU can also be encoded in all available modes. Area_wide_merge_flag that distinguishes whether the corresponding area is a merge area is encoded by the number of areas where the LCU is divided.
LCU 내부의 CU 스캔 순서는 부호기와 복호기가 약속한 스캔 순서를 사용할 수 있다. 도 16은 도시된 본 발명의 일 실시 예에 따른 방법을 적용할 때, 사용할 수 있는 CU의 부호화 순서를 예시로써 나타낸 것으로써, 래스터 스캔을 기본으로 부호화 순서를 결정한 예시 방법이다. 본 발명이 LCU 내부의 CU 스캔 순서로 한정되는 것은 아니다. The CU scan order within the LCU can use the scan order promised by the encoder and the decoder. 16 illustrates an example of an encoding sequence of a CU that can be used when applying the illustrated method according to an embodiment of the present invention, and is an exemplary method of determining an encoding sequence based on a raster scan. The present invention is not limited to the CU scan order inside the LCU.
도 17은 본 발명의 실시 예에 따라 분할된 LCU 내부의 CU 및 PU들의 부호화 예시도이다.17 is a diagram illustrating coding of CUs and PUs in a split LCU according to an embodiment of the present invention.
도 17에 도시된 바와 같이, Merge Area로 결정된 영역 안에서 화면간 예측모드로 결정된 CU 내부의 모든 PU는 Merge 모드로 부호화된다. As shown in FIG. 17, all the PUs in the CU determined as the inter prediction mode in the area determined as the merge area are encoded in the merge mode.
도 18은 Normal 영역과 Merge 영역에서 Merge Flag 전송의 차이를 나타낸다.18 illustrates a difference between Merge Flag transmissions in a normal region and a merge region.
특히, 도 18a는 merge flag를 전송하는 방법에 대해 나타내고 있다. 또한, 도 18b에서는 먼저 Normal 영역에서의 flag 전송 방법을 설명하고 있다. 이 영역에서는 각 PU 마다 merge flag를 전송하는 것을 특징으로 한다. In particular, FIG. 18A illustrates a method of transmitting a merge flag. In addition, FIG. 18B describes a method of transmitting a flag in a normal region. In this area, a merge flag is transmitted for each PU.
도 18b에서는 Merge 영역에서 merge flag를 전송하는 방법을 설명하고 있다. 이 그림에서 알 수 있듯이 Merge 영역에서는 merge flag를 별도로 전송하지 않아도 Merge 영역 내에 속해있다는 사실만으로 merge mode로 부호화된 것을 알 수 있다. 도 18b에서 Merge Index는 merge mode 여부를 나타내는 것이 아니라, merge mode로 부호화 될 경우, 주위 어느 Motion Vector Predictor를 이용하여 merge하는 지를 표현하는 syntax일 수 있다.18B illustrates a method of transmitting a merge flag in a merge region. As can be seen from this figure, the merge mode is encoded in the merge mode only by the fact that it belongs to the merge region even if the merge flag is not transmitted separately. In FIG. 18B, the Merge Index does not indicate whether a merge mode is used, but may be a syntax representing which Motion Vector Predictor is merged when the merge mode is encoded.
위와 같은 방법으로 Merge flag를 표현하면 merge mode로 부호화된 PU가 연속적으로 발생하는 경우, merge flag를 매번 전송하지 않고, 그 CU 및 PU가 merge 영역에 포함되었다는 정보만 전송함으로써 해당 정보를 전송할 수 있어 부호화 효율이 향상된다.When the Merge flag is expressed in the above manner, when a PU encoded in merge mode occurs continuously, the information can be transmitted by transmitting only the information that the CU and the PU are included in the merge area, without transmitting the merge flag each time. Encoding efficiency is improved.
(라) LCU Encoding방법(D) LCU Encoding Method
앞에서 설명한 것과 같이 한 LCU를 1개에서 최대 4개까지 분할할 수 있다. 한 LCU를 2개로 분할할 경우에, 분할할 수 있는 형태의 가지 수는 8가지가 된다. 또한 한 LCU를 4개로 분할할 경우 분할할 수 있는 형태의 가지 수는 8 X 7 = 72 가지가 된다. 이렇게 가능한 여러 가지 분할 타입 형태들 중에서 어떻게 최적의 분할 형태를 결정할 것인가는 본 발명의 내용에서 제한되지 않는다. 통상적으로 분할 가능한 분할 형태들 중에서 가장 낮은 Rate Distortion Cost를 발생시키는 분할 형태를 선택할 수 있다. 그 외에도 여러 가지 방법으로 최적의 분할 형태를 결정할 수 있으며, 본 발명에서는 LCU의 최적의 분할 형태를 결정하는 방법에 대해서 제한하지 않는다.As mentioned earlier, one LCU can be split from one to up to four. When dividing an LCU into two, there are eight branches that can be divided. In addition, if one LCU is divided into four, the number of branches that can be divided is 8 X 7 = 72 branches. How to determine the best partition type among the various partition type forms that are possible is not limited in the context of the present invention. In general, among division types that can be divided, a division type that generates the lowest rate distortion cost may be selected. In addition, it is possible to determine the optimal partitioning form in various ways, and the present invention does not limit the method of determining the optimal partitioning form of the LCU.
LCU를 분할하는 형태 및 분할 영역 개수를 결정한 후에는 앞에서 설명한 LCU 내부 영역 분할정보를 부호화하는 방법 을 이용하여 분할 형태를 부호화한다. 이 과정을 통해서 현재 LCU가 몇 개의 영역으로 나누어지고, 어떻게 나누어 졌는지를 전송할 수 있다.After determining the type of partitioning the LCU and the number of partitions, the partition type is encoded using the method of encoding the LCU internal region partition information described above. This process allows the current LCU to be divided into several areas and how it is divided.
그 다음 단계에서는 분할 영역의 개수만큼 area_wide_merge_flag를 전송한다. 이때 해당 영역이 merge area이면 area_wide_merge_flag를 1로 전송하고, 해당 영역이 normal area이면 area_wide_merge_flag를 0으로 전송한다.In the next step, area_wide_merge_flag is transmitted as many as the number of partitions. In this case, if the corresponding area is the merge area, area_wide_merge_flag is transmitted to 1, and if the corresponding area is the normal area, area_wide_merge_flag is transmitted to 0.
이렇게 area_wide_merge_flag들을 전송한 후, 앞의 <그림 10>에서 설명한 방법으로 해당 LCU 내부의 CU들을 부호화한다.After transmitting the area_wide_merge_flags like this, the CUs in the LCU are encoded using the method described in <Figure 10>.
분할 영역과 분할 영역 사이의 경계에 위치한 CU는 현재 CU의 영역 중에서 더 많은 부분이 포함되는 분할영역을 현재 CU가 속하는 영역으로 설정한다. 만약 하나의 CU가 두 영역에 동일한 면적이 나누어 포함되어 있고 두 영역의 특성이 다르다면, 해당 CU는 Normal영역으로 설정한다.The CU located at the boundary between the partitioned area and the partitioned area sets a partitioned area including more parts of the current CU as an area to which the current CU belongs. If a CU contains the same area in two areas and the characteristics of the two areas are different, the CU is set to the normal area.
(2) Decoding 방법(2) Decoding method
도 19는 본 발명의 실시 예에 따른 LCU단위 Decoding flow chart를 나타낸다.19 illustrates an LCU unit decoding flow chart according to an embodiment of the present invention.
도 19와 같이, LCU단위의 복호 과정에서는 현재 LCU의 분할형태에 관한 정보를 복호하기 위해 첫 번째 및 두 번째 분할 직선에 대한 정보를 복호화해야한다.As illustrated in FIG. 19, in the decoding process of the LCU unit, information about the first and second division straight lines should be decoded in order to decode the information about the current LCU division type.
이를 위해서 먼저 첫 번째 분할 직선에 대한 MPP_flag를 확인하여 이 값이 1 인 경우는 현재 LCU의 첫 번째 분할 직선이 바로 직전에 복호된 LCU의 첫 번째 분할 직선과 같다고 해석한다. 그렇지 않고 만약 이 MPP_flag가 0 인 경우에는 현재 LCU의 첫 번째 분할 직선이 직전 LCU의 첫 번째 분할 직선과 다르다고 해석한다.To do this, first check the MPP_flag for the first split straight line, and if the value is 1, it is interpreted that the first split straight line of the current LCU is the same as the first split straight line of the immediately decoded LCU. Otherwise, if the MPP_flag is 0, it is interpreted that the first split line of the current LCU is different from the first split line of the previous LCU.
이렇게 다르다고 해석될 경우, 추가로 3 비트를 parsing해서 현재 LCU의 첫 번째 분할 직선의 index를 위한 임시값을 얻는다. 이 임시값이 이전 LCU의 첫 번째 분할 index보다 작다면 이 임시값을 그대로 현재 LCU의 첫 번째 분할 직선 정보로 사용한다. 그렇지만, 이 임시값이 이전 LCU의 첫 번째 분할 정보 index와 같거나 크다면, 이 임시값에 + 1 을 더한 값을 현재 LCU의 첫 번째 분할 정보로 복호화한다. 이런 과정을 현재 LCU의 두 번째 분할 직선을 복호화할 때도 반복한다. 이 과정을 통해 현재 LCU가 어떤 분할 형태로 영역이 분할 되었는지 알 수 있다.If interpreted this way, an additional 3 bits are parsed to obtain a temporary value for the index of the first split straight line of the current LCU. If this temporary value is smaller than the first partitioning index of the previous LCU, this temporary value is used as the first partitioning straight line information of the current LCU. However, if this temporary value is equal to or greater than the first partition information index of the previous LCU, the value obtained by adding + 1 to this temporary value is decoded as the first partition information of the current LCU. This process is repeated when decoding the second split straight line of the current LCU. Through this process, it is possible to know in which partition type the current LCU is divided.
앞의 과정을 통해서 분할 영역의 개수를 알 수 있으므로 이 영역의 개수만큼 area_wide_merge_flag들을 parsing하고 복호화한다. 각 영역에 따라 복호된 area_wide_ merge_flag가 1 인 경우는 해당 영역 내부의 화면간 예측모드로 결정된 CU를 구성하는 모든 PU의 모드가 merge이며, 0 인 경우는 해당 영역의 화면간 예측모드로 결정된 CU들의 모드를 해석 가능한 모든 예측 모드로 복호될 수 있다. 이 정보를 이용하여 현재 LCU 내부의 CU들을 복호화한다.Since the number of partitions can be known through the above process, parsing and decoding area_wide_merge_flag as many as this number. If the area_wide_merge_flag decoded according to each area is 1, the modes of all the PUs constituting the CU determined as the inter-screen prediction mode in the area are merge, and if 0, the CUs determined as the inter-screen prediction mode of the area. The mode can be decoded into all interpretable prediction modes. This information is used to decode CUs inside the current LCU.
상술한 본 발명에 따른 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.The method according to the present invention described above may be stored in a computer-readable recording medium that is produced as a program for execution on a computer, and examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape , Floppy disks, optical data storage devices, and the like, and also include those implemented in the form of carrier waves (eg, transmission over the Internet).
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The computer readable recording medium can be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. In addition, functional programs, codes, and code segments for implementing the method can be easily inferred by programmers in the art to which the present invention belongs.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해 되어서는 안될 것이다.In addition, although the preferred embodiment of the present invention has been shown and described above, the present invention is not limited to the specific embodiments described above, but the technical field to which the invention belongs without departing from the spirit of the invention claimed in the claims. Of course, various modifications can be made by those skilled in the art, and these modifications should not be individually understood from the technical spirit or prospect of the present invention.

Claims (14)

  1. 비디오 복호화 방법에 있어서,In the video decoding method,
    수신된 코드로부터 분할 정보를 복호화하는 단계;Decoding the segmentation information from the received code;
    상기 분할 정보에 따라 LCU(largest coding unit)의 분할 형태를 결정하는 단계;Determining a partition type of a large coding unit (LCU) according to the partition information;
    상기 LCU의 분할 형태에 따라 상기 코드로부터 영역 플래그를 파싱하는 단계; 및Parsing an area flag from the code according to the partition type of the LCU; And
    상기 영역 플래그에 기초하여 상기 LCU에 포함된 코딩 유닛들에 대한 움직임 정보 머지 여부를 결정하고, 상기 코딩 유닛들을 복호화하는 단계를 포함하는 움직임 정보 병합을 이용한 비디오 복호화 방법.Determining whether to merge motion information for coding units included in the LCU based on the region flag, and decoding the coding units.
  2. 제1항에 있어서,The method of claim 1,
    상기 LCU의 분할 형태는 적어도 하나의 분할 직선에 따라 결정되는 것을 특징으로 하는 비디오 복호화 방법.The split type of the LCU is determined according to at least one split straight line.
  3. 제1항에 있어서,The method of claim 1,
    상기 분할 정보는 이전 코딩 유닛의 분할 직선에 대한 인덱스 정보를 포함하는 것을 특징으로 하는 비디오 복호화 방법.The splitting information includes index information of a split straight line of a previous coding unit.
  4. 제3항에 있어서,The method of claim 3,
    상기 복호화하는 단계는The decoding step
    상기 인덱스 정보를 상기 LCU의 분할 직선에 대한 예측 인덱스로 이용하여 상기 LCU의 분할 직선을 복호화하는 단계를 포함하는Decoding the split straight line of the LCU by using the index information as a prediction index for the split straight line of the LCU;
    비디오 복호화 방법.Video decoding method.
  5. 제1항에 있어서,The method of claim 1,
    상기 LCU는 미리 결정된 기울기를 갖는 분할선에 따라 복수의 영역으로 분할되는 비디오 복호화 방법.The LCU is divided into a plurality of areas according to a dividing line having a predetermined slope.
  6. 제1항에 있어서,The method of claim 1,
    상기 LCU가 복수의 영역으로 분할된 경우, 각 영역은 노말 영역 또는 머지 영역 중 어느 하나인 비디오 복호화 방법.If the LCU is divided into a plurality of regions, each region is either a normal region or a merge region.
  7. 제6항에 있어서,The method of claim 6,
    상기 복호화하는 단계는The decoding step
    상기 영역 플래그에 기초하여 상기 LCU 내의 머지 영역을 식별하고, 상기 머지 영역의 움직임 정보를 병합하는 단계를 포함하는Identifying a merge region in the LCU based on the region flag, and merging motion information of the merge region;
    비디오 복호화 방법.Video decoding method.
  8. 비디오 복호화 장치에 있어서,In the video decoding apparatus,
    수신된 코드로부터 분할 정보를 복호화하는 복호화부;A decoder which decodes partition information from the received code;
    상기 분할 정보에 따라 LCU(largest coding unit)의 분할 형태를 결정하는 결정부; 및A determination unit to determine a partition type of a large coding unit (LCU) according to the partition information; And
    상기 LCU의 분할 형태에 따라 상기 코드로부터 영역 플래그를 파싱하는 파싱부를 포함하고,A parsing unit for parsing an area flag from the code according to the division type of the LCU;
    상기 복호화부는 상기 영역 플래그에 기초하여 상기 LCU에 포함된 코딩 유닛들에 대한 움직임 정보 머지 여부를 결정하고, 상기 코딩 유닛들을 복호화하는 움직임 정보 병합을 이용한 비디오 복호화 장치.And the decoder determines whether motion information for coding units included in the LCU is merged based on the region flag, and decodes the coding units.
  9. 제8항에 있어서,The method of claim 8,
    상기 LCU의 분할 형태는 적어도 하나의 분할 직선에 따라 결정되는 것을 특징으로 하는 비디오 복호화 장치.The splitting type of the LCU is determined according to at least one split straight line.
  10. 제8항에 있어서,The method of claim 8,
    상기 분할 정보는 이전 코딩 유닛의 분할 직선에 대한 인덱스 정보를 포함하는 것을 특징으로 하는 비디오 복호화 장치.And the splitting information includes index information of a split straight line of a previous coding unit.
  11. 제10항에 있어서,The method of claim 10,
    상기 복호화부는 상기 인덱스 정보를 상기 LCU의 분할 직선에 대한 예측 인덱스로 이용하여 상기 LCU의 분할 직선을 복호화하는 비디오 복호화 장치.And the decoder to decode the segmented straight line of the LCU using the index information as a prediction index for the segmented straight line of the LCU.
  12. 제8항에 있어서,The method of claim 8,
    상기 LCU는 미리 결정된 기울기를 갖는 분할선에 따라 복수의 영역으로 분할되는 비디오 복호화 장치.The LCU is divided into a plurality of areas according to a dividing line having a predetermined slope.
  13. 제8항에 있어서,The method of claim 8,
    상기 LCU가 복수의 영역으로 분할된 경우, 각 영역은 노말 영역 또는 머지 영역 중 어느 하나인 비디오 복호화 장치.When the LCU is divided into a plurality of regions, each region is one of a normal region and a merge region.
  14. 제13항에 있어서,The method of claim 13,
    상기 복호화부는 상기 영역 플래그에 기초하여 상기 LCU 내의 머지 영역을 식별하고, 상기 머지 영역의 움직임 정보를 병합하는 비디오 복호화 장치.And the decoding unit identifies a merge region in the LCU based on the region flag and merges motion information of the merge region.
PCT/KR2013/010745 2012-11-23 2013-11-25 Method and device for encoding/decoding video using motion information merging WO2014081261A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020157018916A KR20150105346A (en) 2012-11-23 2013-11-25 Method and device for encoding/decoding video using motion information merging

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
KR10-2012-0133410 2012-11-23
KR20120133410 2012-11-23
KR20120133411 2012-11-23
KR20120133415 2012-11-23
KR10-2012-0133415 2012-11-23
KR10-2012-0133411 2012-11-23
KR10-2012-0133414 2012-11-23
KR10-2012-0133413 2012-11-23
KR20120133413 2012-11-23
KR20120133414 2012-11-23
KR20130041188 2013-04-15
KR10-2013-0041188 2013-04-15

Publications (1)

Publication Number Publication Date
WO2014081261A1 true WO2014081261A1 (en) 2014-05-30

Family

ID=50776357

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/010745 WO2014081261A1 (en) 2012-11-23 2013-11-25 Method and device for encoding/decoding video using motion information merging

Country Status (2)

Country Link
KR (1) KR20150105346A (en)
WO (1) WO2014081261A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110087087A (en) * 2019-04-09 2019-08-02 同济大学 VVC interframe encode unit prediction mode shifts to an earlier date decision and block divides and shifts to an earlier date terminating method
CN111418211A (en) * 2018-11-06 2020-07-14 北京字节跳动网络技术有限公司 Multiple Merge lists and order for inter-frame prediction with geometric partitioning
CN113841408A (en) * 2019-05-17 2021-12-24 北京字节跳动网络技术有限公司 Motion information determination and storage for video processing
US11477442B2 (en) 2016-10-04 2022-10-18 Electronics And Telecommunications Research Institute Method and apparatus for encoding and decoding image, and recording medium for storing bitstream

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102435445B1 (en) * 2017-08-29 2022-08-22 세종대학교산학협력단 Method and apparatus for encoding/decoding a video signal

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003125408A (en) * 2001-10-15 2003-04-25 Nippon Telegr & Teleph Corp <Ntt> Image coder, image decoder, its method, image coding program, and image decoding program
KR20110046016A (en) * 2009-10-28 2011-05-04 삼성전자주식회사 Method and apparatus for encoding residual block, and method and apparatus for decoding residual block
KR20110112167A (en) * 2010-04-05 2011-10-12 삼성전자주식회사 Method and apparatus for video encoding with in-loop filtering based on tree-structured data unit, method and apparatus for video decoding with the same
WO2012094342A1 (en) * 2011-01-05 2012-07-12 Qualcomm Incorporated Frame splitting in video coding
JP2012186763A (en) * 2011-03-08 2012-09-27 Mitsubishi Electric Corp Video encoding device, video decoding device, video encoding method, and video decoding method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003125408A (en) * 2001-10-15 2003-04-25 Nippon Telegr & Teleph Corp <Ntt> Image coder, image decoder, its method, image coding program, and image decoding program
KR20110046016A (en) * 2009-10-28 2011-05-04 삼성전자주식회사 Method and apparatus for encoding residual block, and method and apparatus for decoding residual block
KR20110112167A (en) * 2010-04-05 2011-10-12 삼성전자주식회사 Method and apparatus for video encoding with in-loop filtering based on tree-structured data unit, method and apparatus for video decoding with the same
WO2012094342A1 (en) * 2011-01-05 2012-07-12 Qualcomm Incorporated Frame splitting in video coding
JP2012186763A (en) * 2011-03-08 2012-09-27 Mitsubishi Electric Corp Video encoding device, video decoding device, video encoding method, and video decoding method

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11477442B2 (en) 2016-10-04 2022-10-18 Electronics And Telecommunications Research Institute Method and apparatus for encoding and decoding image, and recording medium for storing bitstream
CN111418211A (en) * 2018-11-06 2020-07-14 北京字节跳动网络技术有限公司 Multiple Merge lists and order for inter-frame prediction with geometric partitioning
CN111418205A (en) * 2018-11-06 2020-07-14 北京字节跳动网络技术有限公司 Motion candidates for inter prediction
CN111418207A (en) * 2018-11-06 2020-07-14 北京字节跳动网络技术有限公司 Block size dependent storage of motion information
CN111418211B (en) * 2018-11-06 2024-02-27 北京字节跳动网络技术有限公司 Multiple Merge lists and sequences for inter prediction with geometric partitioning
CN111418207B (en) * 2018-11-06 2024-04-19 北京字节跳动网络技术有限公司 Storage of motion information dependent on block size
CN110087087A (en) * 2019-04-09 2019-08-02 同济大学 VVC interframe encode unit prediction mode shifts to an earlier date decision and block divides and shifts to an earlier date terminating method
CN110087087B (en) * 2019-04-09 2023-05-12 同济大学 VVC inter-frame coding unit prediction mode early decision and block division early termination method
CN113841408A (en) * 2019-05-17 2021-12-24 北京字节跳动网络技术有限公司 Motion information determination and storage for video processing
CN113841408B (en) * 2019-05-17 2024-02-06 北京字节跳动网络技术有限公司 Motion information determination and storage for video processing

Also Published As

Publication number Publication date
KR20150105346A (en) 2015-09-16

Similar Documents

Publication Publication Date Title
WO2013032074A1 (en) Apparatus for decoding merge mode motion information
WO2016204360A1 (en) Method and device for predicting block on basis of illumination compensation in image coding system
WO2017052000A1 (en) Method and apparatus for motion vector refinement-based inter prediction in image coding system
WO2017057953A1 (en) Method and device for coding residual signal in video coding system
WO2013069932A1 (en) Method and apparatus for encoding image, and method and apparatus for decoding image
WO2017043786A1 (en) Intra prediction method and device in video coding system
WO2015142054A1 (en) Method and apparatus for processing multiview video signals
WO2011068331A2 (en) Video encoding device and encoding method thereof, video decoding device and decoding method thereof, and directional intra-prediction method to be used thereto
WO2011149291A2 (en) Method and apparatus for processing a video signal
WO2011126277A2 (en) Low complexity entropy-encoding/decoding method and apparatus
WO2012005551A2 (en) Method and apparatus for entropy encoding/decoding a transform coefficient
WO2011126285A2 (en) Method and apparatus for encoding and decoding information on encoding modes
WO2016200043A1 (en) Method and apparatus for inter prediction on basis of virtual reference picture in video coding system
WO2013157820A1 (en) Video coding method and device using high-speed edge detection, and related video decoding method and device
KR20150140722A (en) Determining palette indices in palette-based video coding
WO2020251260A1 (en) Video signal processing method and device using block dpcm prediction method
WO2013077659A1 (en) Method and apparatus for predictive encoding/decoding of motion vector
WO2014081261A1 (en) Method and device for encoding/decoding video using motion information merging
WO2018056602A1 (en) Inter-prediction method and apparatus in image coding system
WO2019112071A1 (en) Image decoding method and apparatus based on efficient transformation of chroma component in image coding system
WO2019194500A1 (en) Intra-prediction-based image coding method and device therefor
WO2011108879A2 (en) Video coding device, video coding method thereof, video decoding device, and video decoding method thereof
WO2019132567A1 (en) Video coding method and device which use sub-block unit intra prediction
WO2018128222A1 (en) Method and apparatus for image decoding in image coding system
WO2018212430A1 (en) Frequency domain filtering method in image coding system, and device therefor

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13856785

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20157018916

Country of ref document: KR

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 13856785

Country of ref document: EP

Kind code of ref document: A1