KR20220074233A - Apparatus and method for motion prediction of multi view or multi layer video - Google Patents

Apparatus and method for motion prediction of multi view or multi layer video Download PDF

Info

Publication number
KR20220074233A
KR20220074233A KR1020200162490A KR20200162490A KR20220074233A KR 20220074233 A KR20220074233 A KR 20220074233A KR 1020200162490 A KR1020200162490 A KR 1020200162490A KR 20200162490 A KR20200162490 A KR 20200162490A KR 20220074233 A KR20220074233 A KR 20220074233A
Authority
KR
South Korea
Prior art keywords
motion vector
block
motion
prediction
blocks
Prior art date
Application number
KR1020200162490A
Other languages
Korean (ko)
Other versions
KR102501051B1 (en
Inventor
김지언
김용환
허진강
Original Assignee
한국전자기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자기술연구원 filed Critical 한국전자기술연구원
Priority to KR1020200162490A priority Critical patent/KR102501051B1/en
Publication of KR20220074233A publication Critical patent/KR20220074233A/en
Application granted granted Critical
Publication of KR102501051B1 publication Critical patent/KR102501051B1/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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • 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/527Global motion vector estimation

Landscapes

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

Abstract

본 발명은 다 시점 또는 다 계층 영상의 부호화에 관한 것으로 다 시점 또는 다 계층 영상의 부호화 단계에서 움직임 예측을 종래 공간적, 시간적 픽처 내에서 진행하던 것을 다른 시점 또는 다른 구성 요소의 대응 픽처의 움직임 정보까지 이용하여 진행함으로써 움직임 예측 부호화의 효율을 높일 수 있는 장점이 있다.The present invention relates to encoding of a multi-view or multi-layer video, from motion prediction in the conventional spatial and temporal picture in the encoding step of a multi-view or multi-layer video to motion information of a corresponding picture of another view or other component. There is an advantage in that the efficiency of motion prediction encoding can be improved by using the .

Description

다 시점 화면 또는 계층 간 예측에서의 움직임 정보 예측 장치 및 그 방법{APPARATUS AND METHOD FOR MOTION PREDICTION OF MULTI VIEW OR MULTI LAYER VIDEO}Motion information prediction apparatus and method in multi-view screen or inter-layer prediction {APPARATUS AND METHOD FOR MOTION PREDICTION OF MULTI VIEW OR MULTI LAYER VIDEO}

본 발명은 다 시점 또는 다 계층 영상의 부호화/복호화에 관한 것으로, 특히 다 시점 또는 다 계층 영상의 특징을 이용한 움직임 정보 예측 기술에 관한 것이다.The present invention relates to encoding/decoding of a multi-view or multi-layered image, and more particularly, to a motion information prediction technique using features of a multi-view or multi-layered image.

최근 디스플레이의 크기가 커지고 해상도도 높아지면서 비디오 데이터의 양도 점점 증가하는 추세이다. 게다가 3D 비디오나 다 시점(Multi View) 비디오와 같이 종래의 2D 비디오로는 커버할 수 없는 몰입형 비디오를 추구하는 새로운 비디오 포맷의 등장으로 전송되는 비디오 데이터의 양은 엄청나게 증가하고 있다.Recently, as the size of the display increases and the resolution increases, the amount of video data is also increasing. In addition, with the advent of new video formats pursuing immersive video, which cannot be covered by conventional 2D video, such as 3D video or multi-view video, the amount of transmitted video data is increasing tremendously.

이러한 대용량의 비디오 데이터를 그대로 전송하거나 저장한다면 그 전송 비용이나 저장 비용을 감당하기 어렵게 된다. 따라서 대용량 비디오 압축 부호화 기술은 필수적이다.If such a large amount of video data is transmitted or stored as it is, it becomes difficult to bear the transmission cost or storage cost. Therefore, large-capacity video compression encoding technology is essential.

여러 비디오 압축 부호화 기술들이 있는데 그 중 움직임 예측(Motion Prediction)은 화면을 여러 블록으로 분할하여 현재 프레임의 블록이 이전 프레임의 어느 블록이 이동한 것인가를 예측하는 방법이다. 블록의 움직임을 예측하여 움직임 벡터(Motion Vector)만을 전송하면 되므로 전송되는 데이터 양을 줄일 수 있다.There are several video compression encoding techniques. Among them, motion prediction is a method of predicting which block of the previous frame is moved from the block of the current frame by dividing the screen into several blocks. Since it is only necessary to predict the motion of a block and transmit only a motion vector, the amount of transmitted data can be reduced.

종래 HEVE(High efficiency video coding) 혹은 VVC(Versatile Video Coding) 등의 비디오 코덱은 움직임 벡터 예측 방법으로 머지 모드(Merge Mode) 또는 AMVP(Advanced Motion Vector Prediction) 모드 등을 사용하고 있다.Conventional video codecs such as high efficiency video coding (HEV) or versatile video coding (VVC) use a merge mode or advanced motion vector prediction (AMVP) mode as a motion vector prediction method.

이는 현재 예측 블록(PU: Prediction Unit, or CU: Coding Unit)과 동일한 프레임 내에 존재하는 주변 블록들과 참조 프레임 내의 현재 예측 블록과 동일한 위치의 블록으로부터 유도되는 후보들을 이용하여 움직임 벡터 예측을 위한 후보 블록들을 선정하고 이들로부터 움직임을 예측하게 된다.This is a candidate for motion vector prediction using neighboring blocks existing in the same frame as the current prediction block (PU: Prediction Unit, or CU: Coding Unit) and candidates derived from blocks at the same position as the current prediction block in the reference frame. Blocks are selected and movement is predicted from them.

하지만 3D 비디오 혹은 다 시점 비디오의 경우에는 종래기술과 같은 공간적, 시간적 후보들 외에도 다른 시점의 프레임들 또는 다른 구성요소의 프레임들을 이용하면 움직임 예측을 보다 정확하게 할 수 있으나 아직까지 이러한 시도는 없는 실정이다.However, in the case of 3D video or multi-view video, motion prediction can be performed more accurately by using frames of other views or other components in addition to spatial and temporal candidates as in the prior art, but there is no such attempt yet.

본 발명의 발명자들은 이러한 종래 기술의 다 시점 또는 다 계층 비디오의 움직임 예측 문제 해결을 위해 연구 노력해 왔다. 다 시점 또는 다 계층 비디오의 다른 시점 또는 다른 구성요소의 프레임들을 이용한 움직임 예측 장치 및 방법을 완성하기 위해 많은 노력 끝에 본 발명을 완성하기에 이르렀다.The inventors of the present invention have been researching and trying to solve the motion prediction problem of the multi-view or multi-layer video of the prior art. The present invention has been completed after much effort to complete an apparatus and method for motion prediction using frames of different views or different components of a multi-view or multi-layer video.

본 발명의 목적은 다 시점 또는 다 계층 영상에서 다른 시점 또는 다른 구성요소의 움직임 정보들을 이용함으로써 영상 부호화의 효율을 향상시키려는 것이다.It is an object of the present invention to improve the efficiency of video encoding by using motion information of different views or other components in a multi-view or multi-layer video.

한편, 본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론 할 수 있는 범위 내에서 추가적으로 고려될 것이다.On the other hand, other objects not specified in the present invention will be additionally considered within the range that can be easily inferred from the following detailed description and effects thereof.

본 발명에 따른 움직임 예측 장치는, Motion prediction apparatus according to the present invention,

부호화가 완료된 다른 시점 또는 다른 구성요소의 블록을 이용하여 움직임 벡터 예측 후보 리스트를 생성하는 움직임 벡터 후보 생성부; 및 상기 움직임 벡터 예측 후보 리스트를 이용하여 현재 블록의 움직임 벡터 예측 정보를 생성하는 움직임 벡터 예측부;를 포함한다.a motion vector candidate generator for generating a motion vector prediction candidate list using blocks of other components or other viewpoints for which encoding has been completed; and a motion vector prediction unit that generates motion vector prediction information of a current block by using the motion vector prediction candidate list.

상기 움직임 벡터 후보 생성부는 상기 부호화가 완료된 다른 시점 또는 다른 구성요소의 블록 중 상기 현재 블록과 동일한 위치에 있는 블록을 이용하여 상기 움직임 벡터 예측 후보 리스트를 생성하는 것을 특징으로 한다.The motion vector candidate generator may generate the motion vector prediction candidate list by using a block located at the same position as the current block among blocks of other components or at another time point at which the encoding is completed.

상기 움직임 벡터 후보 생성부는 상기 현재 블록의 좌측 하단 블록, 좌측 블록, 우측 상단 블록, 상단 블록, 좌측 상단 블록, 상기 부호화가 완료된 다른 시점 또는 다른 구성요소의 블록 중 상기 현재 블록과 동일한 위치에 있는 블록, 참조 프레임 내의 상기 현재 블록과 동일한 위치에 있는 블록의 순으로 상기 움직임 벡터 예측 후보 리스트를 생성하는 것을 특징으로 한다.The motion vector candidate generation unit is a block located at the same position as the current block among blocks of the lower left block, the left block, the upper right block, the upper block, the upper left block, another time point at which the encoding is completed, or other component blocks of the current block. , and generating the motion vector prediction candidate list in the order of blocks located at the same position as the current block in the reference frame.

상기 움직임 벡터 후보 생성부는 상기 부호화가 완료된 다른 시점 또는 다른 구성요소의 블록 중 상기 현재 블록과 동일한 위치에 있는 블록이 움직임 정보를 가지지 않으면 상기 현재 블록과 동일한 위치에 있는 블록의 상단 블록, 상단 좌측 블록, 좌측 블록의 순서로 움직임 정보를 확인하여 상기 움직임 벡터 예측 후보 리스트를 생성하는 것을 특징으로 한다.The motion vector candidate generator may determine if a block located at the same position as the current block among blocks at another time point or other component blocks at which the encoding is completed does not have motion information, an upper block and upper left block of a block located at the same position as the current block. , and generating the motion vector prediction candidate list by checking the motion information in the order of the left blocks.

상기 움직임 벡터 후보 생성부는 상기 현재 블록의 좌측 하단 블록과 좌측 블록 중 하나와 상기 현재 블록의 우측 상단 블록, 상단 블록 및 좌측 상단 블록 중 하나를 상기 움직임 벡터 예측 후보 리스트로 생성하되, 상기 움직임 벡터 예측 후보 리스트에 추가된 블록들의 움직임 정보가 중복되어 있으면 중복된 블록을 제거하고 상기 부호화가 완료된 다른 시점 또는 다른 구성요소의 블록 중 상기 현재 블록과 동일한 위치에 있는 블록을 상기 움직임 벡터 예측 후보 리스트에 추가하는 것을 특징으로 한다.The motion vector candidate generator generates one of a lower left block and a left block of the current block and one of an upper right block, an upper block, and an upper left block of the current block as the motion vector prediction candidate list, wherein the motion vector prediction is performed If motion information of blocks added to the candidate list is duplicated, the duplicated block is removed, and a block located at the same position as the current block among blocks at another time point or other components at which the encoding is completed is added to the motion vector prediction candidate list characterized in that

상기 움직임 벡터 후보 생성부는 상기 현재 블록과 동일한 위치에 있는 블록의 움직임 정보가 상기 움직임 벡터 예측 후보 리스트에 이미 추가된 블록의 움직임 정보와 같으면 상기 현재 블록과 동일한 위치에 있는 블록 대신 0으로 구성되는 움직임 벡터 후보를 상기 움직임 벡터 예측 후보 리스트에 추가하는 것을 특징으로 한다.If the motion vector candidate generator is the same as the motion information of the block that is located at the same position as the current block, the motion vector is composed of 0 instead of the block located at the same position as the current block. A vector candidate is added to the motion vector prediction candidate list.

상기 움직임 벡터 후보 생성부는 상기 현재 블록이 속하는 현재 픽처의 현재 코딩 유닛(CU: Coding Unit)과 대응하는 다른 시점 또는 다른 구성요소의 픽처에서 상기 현재 코딩 유닛과 대응하는 위치의 코딩 유닛의 서브블록들의 조합으로 상기 움직임 벡터 예측 후보 리스트를 생성하는 것을 특징으로 한다.The motion vector candidate generation unit includes subblocks of a coding unit at a position corresponding to the current coding unit in a picture of a different view or other component corresponding to a current coding unit (CU) of the current picture to which the current block belongs. It is characterized in that the motion vector prediction candidate list is generated by combining.

상기 움직임 벡터 후보 생성부는 상기 서브블록의 사이즈를 상기 현재 코딩 유닛의 사이즈를 두 비트(Bit) 우측으로 시프트(Shift) 하는 비트 연산 결과 값으로 정하는 것을 특징으로 한다.The motion vector candidate generator determines the size of the subblock as a bit operation result value of shifting the size of the current coding unit to the right by two bits.

상기 움직임 벡터 후보 생성부는 상기 비트 연산 결과 값이 8x8보다 작은 경우 상기 서브블록의 사이즈를 8x8로 고정하는 것을 특징으로 한다.The motion vector candidate generator may fix the size of the subblock to 8x8 when the bit operation result value is less than 8x8.

상기 움직임 벡터 후보 생성부는 상기 부호화가 완료된 다른 시점 또는 다른 구성요소의 블록 중 상기 현재 블록과 동일한 위치에 있는 블록이 어파인(Affine) 기반 움직임 예측 기술로 부호화 된 경우 그 블록을 현재 CU의 CPMV(Control Point Motion Vector)로 사용하는 것을 특징으로 한다.The motion vector candidate generating unit converts the block to the CPMV (CPMV) of the current CU when the block located at the same position as the current block among blocks of other components or at another time point at which the encoding is completed is encoded using Affine-based motion prediction technology. It is characterized in that it is used as a Control Point Motion Vector).

상기 움직임 벡터 후보 생성부는 상기 움직임 벡터 후보 생성부는 상기 부호화가 완료된 다른 시점 또는 다른 구성요소의 블록 중 상기 현재 블록과 동일한 위치에 있는 블록을 CPMV(Control Point Motion Vector)로 사용하여 조합 어파인 머지(Affine Merge) 후보를 생성하는 것을 특징으로 한다.The motion vector candidate generator unit uses, as a Control Point Motion Vector (CPMV), a block at the same position as the current block among blocks of another time point or other component blocks for which the encoding is completed, and performs a combination affine merge ( Affine Merge) candidates are generated.

본 발명의 다른 실시예에 따른 움직임 예측 방법은,A motion prediction method according to another embodiment of the present invention,

부호화가 완료된 다른 시점 또는 다른 구성요소의 블록을 이용하여 움직임 벡터 예측 후보 리스트를 생성하는 단계; 및 상기 움직임 벡터 예측 후보 리스트를 이용하여 현재 블록의 움직임 벡터 예측 정보를 생성하는 단계;를 포함한다.generating a motion vector prediction candidate list by using blocks of other views or other components from which encoding has been completed; and generating motion vector prediction information of the current block by using the motion vector prediction candidate list.

본 발명에 따르면 다른 시점 또는 다른 구성 요소의 대응 픽처의 움직임 정보까지 이용하여 진행함으로써 움직임 예측 부호화의 효율을 높일 수 있는 효과가 있다.According to the present invention, there is an effect that the efficiency of motion prediction encoding can be increased by proceeding using motion information of a picture corresponding to another view or other component.

한편, 여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급됨을 첨언한다.On the other hand, even if it is an effect not explicitly mentioned herein, it is added that the effects described in the following specification expected by the technical features of the present invention and their potential effects are treated as described in the specification of the present invention.

도 1은 본 발명의 바람직한 어느 실시예에 따른 움직임 예측 장치의 개략적인 구조도이다.
도 2는 움직임 예측을 위해 사용하는 주변 블록들의 예를 나타낸다.
도 3은 서브블록 기반 병합 모드의 예를 나타낸다.
도 4는 어파인 병합 모드의 예를 나타낸다.
도 5는 3차원 영상의 픽처 구성 예를 보여준다.
도 6은 3차원 영상에서 다른 시점의 영상을 참조하는 예를 나타낸다.
도 7은 3차원 영상에서 움직임 벡터 예측 후보 리스트를 구성하는 예를 나타낸다.
도 8은 서브블록 기반 병합 모드의 예를 나타낸다.
도 9는 본 발명의 바람직한 어느 실시예에 따른 움직임 예측 방법의 개략적인 흐름도이다.
도 10은 본 발명의 바람직한 또 다른 실시예에 따른 영상 복호화기의 움직임 예측 장치의 개략적인 구조도이다.
도 11은 본 발명의 바람직한 또 다른 실시예에 따른 영상 복호화기의 움직임 예측 방법의 개략적인 흐름도이다.
※ 첨부된 도면은 본 발명의 기술사상에 대한 이해를 위하여 참조로서 예시된 것임을 밝히며, 그것에 의해 본 발명의 권리범위가 제한되지는 아니한다
1 is a schematic structural diagram of a motion prediction apparatus according to a preferred embodiment of the present invention.
2 shows an example of neighboring blocks used for motion prediction.
3 shows an example of a subblock-based merge mode.
4 shows an example of an affine merge mode.
5 shows an example of a picture configuration of a 3D image.
6 shows an example of referring to an image from a different viewpoint in a 3D image.
7 shows an example of configuring a motion vector prediction candidate list in a 3D image.
8 shows an example of a subblock-based merge mode.
9 is a schematic flowchart of a motion prediction method according to a preferred embodiment of the present invention.
10 is a schematic structural diagram of a motion prediction apparatus of an image decoder according to another preferred embodiment of the present invention.
11 is a schematic flowchart of a motion prediction method of an image decoder according to another preferred embodiment of the present invention.
※ It is revealed that the accompanying drawings are exemplified as a reference for understanding the technical idea of the present invention, and the scope of the present invention is not limited thereby

이하, 도면을 참조하여 본 발명의 다양한 실시예가 안내하는 본 발명의 구성과 그 구성으로부터 비롯되는 효과에 대해 살펴본다. 본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. Hereinafter, the configuration of the present invention guided by various embodiments of the present invention and effects resulting from the configuration will be described with reference to the drawings. In the description of the present invention, if it is determined that related known functions are obvious to those skilled in the art and may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted.

'제1', '제2' 등의 용어는 다양한 구성요소를 설명하는데 사용될 수 있지만, 상기 구성요소는 위 용어에 의해 한정되어서는 안 된다. 위 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 수 있다. 예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 '제1구성요소'는 '제2구성요소'로 명명될 수 있고, 유사하게 '제2구성요소'도 '제1구성요소'로 명명될 수 있다. 또한, 단수의 표현은 문맥상 명백하게 다르게 표현하지 않는 한, 복수의 표현을 포함한다. 본 발명의 실시예에서 사용되는 용어는 다르게 정의되지 않는 한, 해당 기술분야에서 통상의 지식을 가진 자에게 통상적으로 알려진 의미로 해석될 수 있다.Terms such as 'first' and 'second' may be used to describe various elements, but the elements should not be limited by the above terms. The above term may be used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a 'first component' may be termed a 'second component', and similarly, a 'second component' may also be termed a 'first component'. can Also, the singular expression includes the plural expression unless the context clearly dictates otherwise. Unless otherwise defined, terms used in the embodiments of the present invention may be interpreted as meanings commonly known to those of ordinary skill in the art.

이하, 도면을 참조하여 본 발명의 다양한 실시예가 안내하는 본 발명의 구성과 그 구성으로부터 비롯되는 효과에 대해 살펴본다.Hereinafter, the configuration of the present invention guided by various embodiments of the present invention and effects resulting from the configuration will be described with reference to the drawings.

이하에서 영상 부호화/복호화를 위한 비디오 코덱은 ISO/IEC MPEG-I versatile video coding (VVC)을 기준으로 설명하지만 본 발명이 이에 한정되는 것은 아니며 다른 모든 비디오 코덱에 적용될 수 있음은 물론이다.Hereinafter, a video codec for image encoding/decoding will be described based on ISO/IEC MPEG-I versatile video coding (VVC), but the present invention is not limited thereto and may be applied to all other video codecs.

도 1은 본 발명의 바람직한 어느 실시예에 따른 움직임 예측 장치의 개략적인 구조도이다.1 is a schematic structural diagram of a motion prediction apparatus according to a preferred embodiment of the present invention.

본 발명에 따른 움직임 예측 장치(100)는 영상 부호화기(1)에 포함되며 움직임 벡터 후보 생성부(110) 및 움직임 벡터 예측부(120)를 포함한다. 또한 움직임 예측 장치(100)는 하나 이상의 프로세서 및 메모리(미도시)를 포함한다. 프로세서는 움직임을 예측하여 움직임 정보를 생성하기 위해 사용되며 메모리에는 프로세서를 구동하기 위한 프로그램 코드 및 데이터들을 저장할 수 있다.The motion prediction apparatus 100 according to the present invention is included in the image encoder 1 and includes a motion vector candidate generator 110 and a motion vector predictor 120 . Also, the motion prediction apparatus 100 includes one or more processors and a memory (not shown). The processor is used to generate motion information by predicting motion, and program codes and data for driving the processor may be stored in the memory.

움직임 벡터 후보 생성부(110)는 부호화가 진행중인 현재 블록의 주변 정보들을 이용하여 움직임 예측을 위한 후보 블록들의 리스트를 생성한다.The motion vector candidate generator 110 generates a list of candidate blocks for motion prediction by using information surrounding the current block that is being encoded.

도 2는 움직임 예측을 위해 사용하는 주변 블록들의 예를 나타낸다.2 shows an example of neighboring blocks used for motion prediction.

병합(Merge) 모드에서는 움직임 정보를 이용하기 위한 후보 리스트를 구성한다. 도 2에서 현재 예측 유닛(10, PU: Prediction Unit)과 공간적, 시간적으로 관련된 블록들을 움직임 예측을 위한 후보 블록으로 사용한다.In the merge mode, a candidate list for using motion information is constructed. In FIG. 2 , blocks spatially and temporally related to the current prediction unit 10 (PU) are used as candidate blocks for motion prediction.

A0, A1, B0, B1, B2는 현재 예측 유닛(10)과 동일한 프레임 내에 존재하면서 부호화가 완료된 주변 블록들로 공간적 후보들이다.A0, A1, B0, B1, and B2 are spatial candidates that exist in the same frame as the current prediction unit 10 and are encoded neighboring blocks.

C0, C1은 현재 예측 유닛(10)과 다른 프레임, 즉, 참조 프레임 내의 블록들인데 현재 예측 유닛과 동일한 위치의 예측 유닛에서 유도되는 시간적 후보들이다.C0 and C1 are blocks in a frame different from the current prediction unit 10, that is, a reference frame, and are temporal candidates derived from a prediction unit at the same position as the current prediction unit.

움직임 벡터 후보 생성부(110)는 이러한 공간적, 시간적 후보들로부터 후보 리스트를 구성한다. 병합 모드 움직임 벡터 예측 후보 리스트는 A0 →A1 →B0→B1→B2→C0→C1의 순으로 생성할 수 있다. 병합 모드 리스트는 최대 5개의 후보를 가질 수 있는데 동일한 정보를 가지는 블록은 후보에서 제외될 수 있다. 동일 정보를 가지는 블록이 제외됨에 따라 5개의 후보가 다 채워지지 않으면 가상의 후보들로 남은 리스트를 채울 수 있다. 가상 후보들로는 HMVP(history-based motion vector prediction), PAMVP(pairwise average motion vector prediction), 제로 후보 등이 될 수 있다.The motion vector candidate generator 110 constructs a candidate list from these spatial and temporal candidates. The merge mode motion vector prediction candidate list may be generated in the order of A0 → A1 → B0 → B1 → B2 → C0 → C1. The merge mode list may have a maximum of 5 candidates, and blocks having the same information may be excluded from the candidates. As blocks having the same information are excluded, if all five candidates are not filled, the remaining list may be filled with virtual candidates. The virtual candidates may be history-based motion vector prediction (HMVP), pairwise average motion vector prediction (PAMVP), a zero candidate, and the like.

움직임 후보를 생성하는 다른 방법으로 서브블록 기반 병합 모드가 있을 수 있다.As another method of generating motion candidates, there may be a subblock-based merging mode.

도 3은 서브블록 기반 병합 모드의 예를 나타낸다.3 shows an example of a subblock-based merge mode.

서브블록 기반 병합 모드는 코딩 유닛(CU: Coding Unit)을 서브 코딩 유닛 으로 분할하여 서브 코딩 유닛 단위로 다른 움직임 벡터를 유도하여 예측신호를 생성한다. 블록을 분할하지 않고 작은 서브 코딩 유닛 단위로 움직임 벡터를 유도하여 예측을 수행함으로써 예측 정확도를 높일 수 있다.In the subblock-based merge mode, a prediction signal is generated by dividing a coding unit (CU) into sub-coding units and inducing different motion vectors in units of sub-coding units. Prediction accuracy may be improved by performing prediction by inducing a motion vector in units of small sub-coding units without dividing blocks.

움직임 벡터 후보 생성부(110)는 우선 현재 코딩 유닛의 대응 블록을 찾는다. 현재 코딩 유닛(22)의 대응 블록은 슬라이스 헤더에서 전송되는 대응 참조 픽처(30, Collocated Picture)에 존재하는 블록으로 현재 코딩 유닛의 좌측 하단에 위치하는 A1 블록이다. A1 블록의 참조 픽처가 대응 참조 픽처(30)와 동일한 경우 A1 위치와 동일한 A1' 블록의 움직임 벡터를 이용하고, 동일하지 않은 경우에는 제로 움직임 벡터를 이용하여 대응 참조 픽처(30)에서 대응 블록의 위치를 찾게 된다.The motion vector candidate generator 110 first searches for a corresponding block of the current coding unit. The corresponding block of the current coding unit 22 is a block existing in the corresponding reference picture 30 (Collocated Picture) transmitted in the slice header, and is an A1 block located at the lower left of the current coding unit. When the reference picture of the A1 block is the same as the corresponding reference picture 30, the motion vector of the A1' block that is the same as the A1 position is used. find the location.

다음으로 대응 블록으로부터 현재 코딩 유닛(22)의 서브 코딩 유닛(24, 8x8크기 고정 단위) 단위의 움직임 벡터를 유도한다. 이를 위해 현재 코딩 유닛(22)을 8x8의 서브 코딩 유닛(24)으로 분할하고 대응 블록에서 각 서브 코딩 유닛(34)의 중심 위치에 대응되는 움직임 정보를 이용하여 현재 블록의 각 서브 코딩 유닛들의 움직임 벡터를 8x8 단위로 유도하게 된다. Next, a motion vector in units of sub coding units (24, 8x8 size fixed units) of the current coding unit 22 is derived from the corresponding block. To this end, the current coding unit 22 is divided into 8x8 sub coding units 24, and motion information corresponding to the center position of each sub coding unit 34 in the corresponding block is used to move each sub coding unit of the current block. The vector is derived in units of 8x8.

마지막으로 대응 블록에서 유도된 움직임 벡터가 참조 픽처에 적용될 수 있도록 스케일링 과정을 거쳐서 서브 코딩 유닛 단위 움직임 벡터인 SbTMVP (sub-block temporal MVP)로 설정된다.Finally, a motion vector derived from a corresponding block is set to a sub-block temporal MVP (SbTMVP), which is a sub-coding unit unit motion vector, through a scaling process so that it can be applied to a reference picture.

서브블록 기반 병합 모드 예측과정은 이러한 과정을 거쳐 유도된 8x8 블록 기반의 움직임 정보들을 이용하여 현재 코딩 유닛의 예측 블록을 생성한다. 이때 일반 병합 모드와 동일하게 움직임 추정(Motion Estimation) 과정 없이 움직임 보상(Motion Compensation) 과정만이 요구된다. 또한, MVD(Motion Vector Difference)는 복호화기로 전송되지 않는다.The subblock-based merge mode prediction process generates a prediction block of the current coding unit using the 8x8 block-based motion information derived through this process. In this case, only a motion compensation process is required without a motion estimation process as in the general merge mode. In addition, motion vector difference (MVD) is not transmitted to the decoder.

움직임 벡터 후보 생성부(110)는 AMVP 모드로 움직임 벡터 예측 후보 리스트를 생성할 수 있다. AVMP 모드는 최대 2개의 후보를 가질 수 있다. The motion vector candidate generator 110 may generate a motion vector prediction candidate list in AMVP mode. AVMP mode may have a maximum of two candidates.

도 2의 A0, A1 블록 중에서 하나의 후보를 선택하고 B0, B1, B2 블록 중에서 하나의 후보를 선택하는데 중복성 확인을 통해 중복된 움직임 정보는 리스트에서 제거된다. 중복 정보 제거에 의해 후보 리스트가 다 채워지지 않는다면 시간적 후보들인 C0, C1과 HMVP 후보가 추가될 수 있다.In FIG. 2 , one candidate is selected from blocks A0 and A1 and one candidate is selected from blocks B0, B1, and B2, and duplicate motion information is removed from the list through redundancy check. If the candidate list is not completely filled by the redundant information removal, temporal candidates C0, C1 and HMVP candidates may be added.

움직임 벡터 후보 생성부(110)는 또한 어파인 병합 모드를 이용하여 움직임 벡터 예측 후보 리스트를 생성할 수 있다. 어파인 기반 병합 모드 후보들은 상속 어파인 병합 후보들과 조합 어파인 머지 후보들로 구성된다.The motion vector candidate generator 110 may also generate a motion vector prediction candidate list using the affine merge mode. The affine-based merge mode candidates are composed of inherited affine merge candidates and combination affine merge candidates.

도 4는 어파인 병합 모드의 예를 나타낸다.4 shows an example of an affine merge mode.

상속 어파인 병합 후보는 현재 코딩 유닛(40)의 상단 혹은 좌측 주변 코딩 유닛이 어파인 기반 움직임 벡터 예측 기술을 적용하여 부호화된 경우 해당 코딩 유닛의 CPMV(Control Point Motion Vector)로부터 유도한 현재 코딩 유닛(40)의 CPMV를 의미한다.The inherited affine merge candidate is a current coding unit derived from a Control Point Motion Vector (CPMV) of the current coding unit 40 when the upper or left neighboring coding unit of the current coding unit 40 is encoded by applying an affine-based motion vector prediction technique. (40) means CPMV.

조합 어파인 병합 후보는 주변의 움직임 벡터를 결합하여 유도한 현재 코딩 유닛(40)의 CPMV를 의미한다. 도 4에서 B2→→순서로 움직임 벡터의 존재 여부를 확인하여 첫번째로 가용한 움직임 벡터를 CPMV1로 설정하고, 다음 B1→순서로 움직임 벡터를 확인하여 CPMV2, A1→순서로 움직임 벡터를 확인하여 CPMV3, TMVP (C0 or C1)를 CPMV4로 각각 설정한다.The combinatorial affine merge candidate means the CPMV of the current coding unit 40 derived by combining neighboring motion vectors. In FIG. 4, the first available motion vector is set as CPMV1 by checking the existence of a motion vector in the order B2→→, and then CPMV2 and A1→ by checking the motion vector in the order of CPMV3. , set TMVP (C0 or C1) to CPMV4, respectively.

설정된 CPMV들은 다음과 같이 조합하여 조합 어파인 머지 후보로 사용된다. 다음은 3개의 CPMV들로 구성된 6-파라미터 어파인 병합 후보이다.The set CPMVs are combined as follows and used as a combination affine merge candidate. The following is a 6-parameter affine merge candidate composed of three CPMVs.

{CPMV1, CPMV2, CPMV3}, {CPMV1, CPMV2, CPMV4},{CPMV1, CPMV2, CPMV3}, {CPMV1, CPMV2, CPMV4},

{CPMV1, CPMV3, CPMV4}, {CPMV2, CPMV3, CPMV4}{CPMV1, CPMV3, CPMV4}, {CPMV2, CPMV3, CPMV4}

다음은 2개의 CPMV들로 구성된 4-파라미터 어파인 병합 후보이다.The following is a 4-parameter affine merge candidate composed of two CPMVs.

{CPMV1, CPMV2}, {CPMV1, CPMV3}{CPMV1, CPMV2}, {CPMV1, CPMV3}

부호화기에서 6-파라미터 어파인 병합 후보를 사용했는지, 4-파라미터 정보를 사용했는지에 대한 여부는 SPS(sequence parameter set)에 sps_affine_type_flag에 표시되어 복호화기로 전송된다.Whether the encoder uses the 6-parameter affine merge candidate or the 4-parameter information is indicated in sps_affine_type_flag in the sequence parameter set (SPS) and transmitted to the decoder.

움직임 벡터 후보 생성부(110)는 이상과 같은 2차원 화면의 움직임 벡터 예측 정보를 3차원 영상 또는 다 시점 영상 등에도 확장할 수 있다.The motion vector candidate generator 110 may extend the motion vector prediction information of the two-dimensional screen as described above to a three-dimensional image or a multi-view image.

도 5는 3차원 영상의 픽처 구성 예를 보여준다.5 shows an example of a picture configuration of a 3D image.

기본 시점(Base View) 또는 독립 시점(Independent View)으로 불리는 시점의 영상(V0)은 다른 시점들에 의존하지 않고 독립적으로 부호화된다. 다른 시점의 영상들(V1, V2)는 3차원 부호화기를 이용하여 다른 시점들의 영상을 참조하여 부호화될 수 있기 때문에 의존 시점(Dependent View)이라 불린다.An image V0 of a viewpoint called a base view or an independent view is independently coded without depending on other views. Since the images V1 and V2 of different views can be encoded with reference to images of other views using a 3D encoder, they are called dependent views.

현재 픽처(Current Picture)는 여러 액세스 유닛(Access Unit)으로 구성되고, 액세스 유닛은 텍스처와 깊이 맵으로 나누어진다.A current picture consists of several access units, and the access units are divided into a texture and a depth map.

움직임 벡터 후보 생성부(110)는 3차원 영상에서 이처럼 다른 시점의 영상 정보들을 사용하여 현재 코딩 유닛의 움직임 벡터 예측 정보를 생성할 수 있다.The motion vector candidate generator 110 may generate motion vector prediction information of the current coding unit by using image information of different viewpoints in the 3D image.

도 6은 3차원 영상에서 다른 시점의 영상을 참조하는 예를 나타낸다.6 illustrates an example of referring to an image from a different viewpoint in a 3D image.

움직임 벡터 후보 생성부(110)는 3차원 영상을 구성하는 깊이 픽처(50, Depth Picture)의 움직임 벡터 후보 생성을 위해 깊이 픽처(50)에 대응하는 텍스처 픽처(60, Texture Picture)의 블록들을 참조할 수 있다.The motion vector candidate generator 110 refers to blocks of a texture picture 60 corresponding to the depth picture 50 to generate a motion vector candidate for a depth picture 50 constituting a 3D image. can do.

움직임 벡터 후보 생성부(110)는 3차원 영상의 종속 시점에서 움직임 정보를 예측하는 경우 부호화가 완료된 다른 시점 ?C은 다른 구성 요소의 움직임 정보를 이용할 수 있다.When the motion vector candidate generator 110 predicts motion information from a dependent view of the 3D image, the motion information of other components may be used at another view C for which encoding is completed.

앞의 예들과 마찬가지로 3차원 영상에서도 일반 병합 모드와 AMVP 모드를 이용하여 후보 리스트를 구성할 수 있다.As in the previous examples, a candidate list may be constructed in a 3D image by using the normal merge mode and the AMVP mode.

도 7은 3차원 영상에서 움직임 벡터 예측 후보 리스트를 구성하는 예를 나타낸다.7 shows an example of configuring a motion vector prediction candidate list in a 3D image.

도 7의 (b)는 현재 부호화를 진행하고 있는 종속 시점의 코딩 유닛을 나타내고, 도 7의 (a)는 움직임 정보를 참조하기 위한 부호화가 완료된 다른 시점 또는 다른 구성요소를 나타낸다.FIG. 7B shows a coding unit of a dependent view that is currently being encoded, and FIG. 7A shows another view or other components in which encoding for referring to motion information is completed.

움직임 벡터 후보 생성부(110)는 현재 코딩 유닛(70)의 공간적 후보들(A0, A1, B0, B1, B2)과 시간적 후보들(C0, C1) 외에 다른 시점의 코딩 유닛(80)의 블록들(X0, X1, X2, X3)를 추가로 이용하여 음직임 정보 후보 리스트를 생성할 수 있다.The motion vector candidate generator 110 is configured to block blocks ( X0, X1, X2, X3) may be additionally used to generate a list of candidates for job position information.

움직임 벡터 후보 생성부(110)는 일반 병합 모드로 후보 리스트를 생성할 수 있다. 공간적, 시간적 후보를 이용하던 앞의 예에서 추가로 다른 시점의 후보 블록을 이용함으로써 일반 병합 모드 후보 리스트는 A0 →A1 →B0→B1→B2→ X0 →C0 (→C0를 이용할 수 없는 경우 C1)의 순으로 확인할 수 있다. 이들 중 서로 중복되지 않는 후보들을 일반 병합 후보 리스트로 삽입된다. The motion vector candidate generator 110 may generate the candidate list in the normal merge mode. In the previous example of using spatial and temporal candidates, by additionally using candidate blocks at different viewpoints, the general merge mode candidate list is A0 → A1 → B0 → B1 → B2 → X0 → C0 (C1 when → C0 is not available) can be checked in the order of Candidates that do not overlap with each other among them are inserted into the general merge candidate list.

만일 X0이 움직임 정보를 가지지 않으면, 즉, 화면 내 모드로 부호화 되었으면 X0 블록을 기준으로 반시계 방향으로 가까운 블록들을 확인한다. 다시 말해 X1 →X2 →X3 순서로 움직임 정보를 확인하여 사용 가능한 블록들의 움직임 정보를 확인하는 것이다.If X0 does not have motion information, that is, if it is encoded in the intra-picture mode, blocks that are close to the X0 block in a counterclockwise direction are checked. In other words, the motion information of the usable blocks is checked by checking the motion information in the order of X1 → X2 → X3.

움직임 벡터 후보 생성부(110)는 AMVP 모드로 후보 리스트를 생성할 수도 있다. 도 7의 (b)에서 A0→중에서 하나의 후보를, B0→→에서 하나의 후보를 선택하여 두 개의 후보를 후보 리스트로 생성한다. 이때 중복성 확인을 통해 중복된 움직임 정보는 리스트에서 제거되며, 중복 제거에 의해 후보 리스트가 다 채워지지 않는다면 도 7의 (a)에서 X0, X1, X2, X3 중 움직임 정보를 가지고 있는 후보를 확인하여 리스트에 추가된다. 여기서도 물론 중복 정보는 체크되어 제거된다. 이 과정 이후에도 기존 후보의 수가 2개 보다 작을 경우 후보 집합에 제로 후보가 추가된다.The motion vector candidate generator 110 may generate the candidate list in AMVP mode. In (b) of FIG. 7 , two candidates are generated as a candidate list by selecting one candidate from A0→ and one candidate from B0→→. At this time, duplicate motion information is removed from the list through redundancy check, and if the candidate list is not fully filled by the redundancy check, in FIG. added to the list Here too, of course, duplicate information is checked and removed. Even after this process, if the number of existing candidates is less than two, zero candidates are added to the candidate set.

움직임 벡터 후보 생성부(110)는 서브블록 기반 병합 모드로 후보 리스트를 생성할 수도 있다. 도 8은 서브블록 기반 병합 모드의 예를 나타낸다.The motion vector candidate generator 110 may generate the candidate list in the subblock-based merge mode. 8 shows an example of a subblock-based merge mode.

3차원 영상을 포함한 다 시점 화면 및 계층 간 예측에서는 현재 픽처의 대응 참조 픽처 외에도 현재 픽처에 대응하는 다른 시점 또는 다른 구성요소 픽처의 정보를 확인할 수 있다. In a multi-view screen including a 3D image and inter-layer prediction, information on other views or other component pictures corresponding to the current picture may be checked in addition to the corresponding reference picture of the current picture.

따라서 본 발명의 움직임 벡터 후보 생성부(110)는 현재 픽처(도 8의 (a))의 대응하는 다른 시점 또는 다른 구성요소의 픽처(도 8의 (b))가 있는 경우 시간적 참조 픽처 대신 다른 시점 또는 다른 구성요소의 픽처를 이용할 수 있다.Therefore, the motion vector candidate generation unit 110 of the present invention may be used instead of a temporal reference picture when there is a picture of a different viewpoint or a different component (FIG. 8(b)) corresponding to the current picture ((a) of FIG. 8). A picture of a viewpoint or other component may be used.

현재 코딩 유닛(91)의 대응 블록은 현재 픽처에 대응하는 다른 시점 또는 다른 구성요소의 픽처에서 현재 코딩 유닛(91)의 좌측 상단의 (posX, posY)에 위치하는 블록(92)에 대응하는 블록(94)이다.The corresponding block of the current coding unit 91 is a block corresponding to the block 92 located at (posX, posY) in the upper left corner of the current coding unit 91 in another view corresponding to the current picture or a picture of another component. (94).

이때 서브 코딩 유닛의 사이즈는 8x8 사이즈로 고정하지 않고 현재 코딩 유닛(91)의 사이즈에 따라 다음 식과 같이 가변적으로 정할 수 있다.In this case, the size of the sub coding unit is not fixed to the 8x8 size, but may be variably determined according to the size of the current coding unit 91 as shown in the following equation.

size_of_sub_CU = size_of_current_CU >> 2size_of_sub_CU = size_of_current_CU >> 2

size_of_sub_CU는 서브 코딩 유닛의 사이즈이고 size_of_current_CU는 현재 코딩 유닛(91)의 사이즈이다. 비트 연산에 의해 size_of_sub_CU가 8x8보다 작아지는 경우에는 8x8 크기로 고정할 수도 있다.size_of_sub_CU is the size of the sub coding unit and size_of_current_CU is the size of the current coding unit 91 . When size_of_sub_CU becomes smaller than 8x8 by bit operation, the size may be fixed to 8x8.

움직임 벡터 후보 생성부(110)는 다른 시점 또는 다른 구성요소의 픽처를 참조하여 어파인 기반 병합 움직임 예측도 가능하다.The motion vector candidate generator 110 may also perform affine-based merge motion prediction by referring to pictures of other viewpoints or other components.

도 7의 (a)에서 X0, X1, X2, X3 블록이 어파인 기반 움직임 예측 기술로 부호화 된 경우 그 블록을 현재 코딩 유닛의 CPMV로 사용할 수 있는 것이다.When blocks X0, X1, X2, and X3 in FIG. 7A are coded using the affine-based motion prediction technique, the blocks can be used as the CPMV of the current coding unit.

예를 들어 X0를 CPMV5로 설정한다면 6-파라미터 어파인 병합 후보들의 조합은 다음과 같이 구성할 수 있다.For example, if X0 is set to CPMV5, the combination of 6-parameter affine merge candidates can be configured as follows.

{CPMV1, CPMV2, CPMV3}, {CPMV1, CPMV2, CPMV5 }, {CPMV1, CPMV2, CPMV3}, {CPMV1, CPMV2, CPMV5 },

{CPMV1, CPMV3, CPMV5 }, {CPMV2, CPMV3, CPMV5 }{CPMV1, CPMV3, CPMV5 }, {CPMV2, CPMV3, CPMV5 }

움직임 벡터 예측부(120)는 이렇게 움직임 벡터 후보 생성부(110)에서 생성한 움직임 벡터 예측 후보 리스트를 사용하여 현재 코딩 유닛의 움직임을 예측하여 부호화를 진행하게 된다.The motion vector prediction unit 120 predicts the motion of the current coding unit by using the motion vector prediction candidate list generated by the motion vector candidate generation unit 110 in this way to perform encoding.

도 9는 본 발명의 바람직한 다른 실시예에 따른 움직임 예측 방법의 개략적인 흐름도이다.9 is a schematic flowchart of a motion prediction method according to another preferred embodiment of the present invention.

본 발명의 움직임 예측 방법은 3차원 영상과 같은 다 시점 또는 다 계층 영상에서 다른 시점 또는 다른 구성요소의 정보를 이용할 수 있다.The motion prediction method of the present invention may use information of other views or other components in a multi-view or multi-layer image such as a 3D image.

우선 다른 시점 또는 다른 구성요소의 블록 중 부호화가 완료된 블록을 움직임 벡터 예측 후보 리스트로 생성할 수 있다(S110). 움직임 후보 리스트 생성은 일반 병합 모드와 AMVP 모드를 이용할 수 있다. 또한 서브블록 기반 병합 모드를 이용하는 것도 가능하다. 각 모드의 자세한 방법은 앞서 설명한 바와 같다.First, blocks that have been coded among blocks of different views or other components may be generated as a motion vector prediction candidate list (S110). A general merge mode and an AMVP mode may be used to generate the motion candidate list. It is also possible to use a subblock-based merge mode. The detailed method of each mode is as described above.

움직임 벡터 예측 후보 리스트를 생성한 다음 이 후보 리스트를 이용하여 움직임 예측을 하는 부호화를 진행한다(S120).After a motion vector prediction candidate list is generated, encoding for motion prediction is performed using the candidate list (S120).

도 10은 본 발명의 바람직한 또 다른 실시예에 따른 영상 복호화기에서의 움직임 예측 장치의 개략적인 구조도이다.10 is a schematic structural diagram of a motion prediction apparatus in an image decoder according to another preferred embodiment of the present invention.

본 발명의 움직임 예측 장치(2)는 움직임 벡터 후보 생성부(210) 및 움직임 벡터 적용부(220)로 구성된다.The motion prediction apparatus 2 of the present invention includes a motion vector candidate generating unit 210 and a motion vector applying unit 220 .

움직임 벡터 후보 생성부(210)는 다른 시점 또는 다른 구성요소의 블록 중 복호화가 완료된 블록의 움직임 벡터들을 움직임 벡터 예측 후보 리스트로 생성한다. 움직임 벡터 후보 리스트 생성은 일반 병합 모드와 AMVP 모드를 이용할 수 있다. 또한 서브블록 기반 병합 모드를 이용하는 것도 가능하다. 각 모드의 자세한 방법은 앞서 설명한 바와 같다.The motion vector candidate generator 210 generates motion vectors of blocks of a decoded block from another viewpoint or blocks of other components as a motion vector prediction candidate list. The general merge mode and AMVP mode may be used to generate the motion vector candidate list. It is also possible to use a subblock-based merge mode. The detailed method of each mode is as described above.

움직임 벡터 적용부(220)는 앞서 생성한 움직임 벡터 후보 리스트 중에서 부호화기로부터 전송받은 움직임 벡터 후보 인덱스에 해당하는 움직임 벡터를 사용하여 3차원 영상의 복호화에 적용하게 된다.The motion vector application unit 220 applies a motion vector corresponding to a motion vector candidate index received from an encoder among the previously generated motion vector candidate list to decoding of a 3D image.

도 11은 본 발명의 바람직한 또 다른 실시예에 따른 영상 복호화기에서의 움직임 예측 방법의 흐름도이다.11 is a flowchart of a motion prediction method in an image decoder according to another preferred embodiment of the present invention.

우선 복호화가 완료된 다른 시점 또는 다른 구성요소의 블록의 움직임 벡터들을 이용하여 움직임 벡터 예측 후보 리스트를 생성한다(S210). 움직임 벡터 후보 리스트 생성은 일반 병합 모드와 AMVP 모드를 이용할 수 있다. 또한 서브블록 기반 병합 모드를 이용하는 것도 가능하다.First, a motion vector prediction candidate list is generated by using motion vectors of blocks of other components or blocks at another time point after decoding has been completed ( S210 ). The general merge mode and AMVP mode may be used to generate the motion vector candidate list. It is also possible to use a subblock-based merge mode.

움직임 벡터 예측 후보 리스트가 완성되면 부호화기로부터 전송받은 움직임 벡터 후보 인덱스에 해당하는 움직임 벡터를 이용하여 현재 블록의 움직임 벡터를 적용하는 복호화를 진행하게 된다(S220).When the motion vector prediction candidate list is completed, decoding is performed using the motion vector corresponding to the motion vector candidate index received from the encoder to apply the motion vector of the current block (S220).

이렇게 다 시점 또는 다 계층 영상에서 다른 시점 또는 다른 구성요소의 블록을 움직임 예측을 위해 사용함으로써 본 발명은 움직임 예측 부호화의 효율을 높일 수 있는 효과가 있다.In this way, by using blocks of different views or different components in a multi-view or multi-layer image for motion prediction, the present invention has the effect of increasing the efficiency of motion prediction encoding.

본 발명의 보호범위가 이상에서 명시적으로 설명한 실시예의 기재와 표현에 제한되는 것은 아니다. 또한, 본 발명이 속하는 기술분야에서 자명한 변경이나 치환으로 말미암아 본 발명이 보호범위가 제한될 수도 없음을 다시 한 번 첨언한다.The protection scope of the present invention is not limited to the description and expression of the embodiments explicitly described above. In addition, it is added once again that the protection scope of the present invention cannot be limited due to obvious changes or substitutions in the technical field to which the present invention pertains.

Claims (14)

다 시점 또는 다 계층 영상을 부호화하기 위한 움직임 예측 장치에 있어서:
부호화가 완료된 다른 시점 또는 다른 구성요소의 블록을 이용하여 움직임 벡터 예측 후보 리스트를 생성하는 움직임 벡터 후보 생성부; 및
상기 움직임 벡터 예측 후보 리스트를 이용하여 현재 블록의 움직임 벡터 예측 정보를 생성하는 움직임 벡터 예측부;를 포함하는 것을 특징으로 하는, 움직임 예측 장치.
In the motion prediction apparatus for encoding a multi-view or multi-layer image:
a motion vector candidate generator for generating a motion vector prediction candidate list using blocks of other components or other views from which encoding has been completed; and
and a motion vector prediction unit generating motion vector prediction information of a current block by using the motion vector prediction candidate list.
제1항에 있어서,
상기 움직임 벡터 후보 생성부는 상기 부호화가 완료된 다른 시점 또는 다른 구성요소의 블록 중 상기 현재 블록과 동일한 위치에 있는 블록을 이용하여 상기 움직임 벡터 예측 후보 리스트를 생성하는 것을 특징으로 하는, 움직임 예측 장치.
The method of claim 1,
and the motion vector candidate generator generates the motion vector prediction candidate list by using a block located at the same position as the current block among blocks of another component or another time point at which the encoding is completed.
제1항에 있어서,
상기 움직임 벡터 후보 생성부는 상기 현재 블록의 좌측 하단 블록, 좌측 블록, 우측 상단 블록, 상단 블록, 좌측 상단 블록, 상기 부호화가 완료된 다른 시점 또는 다른 구성요소의 블록 중 상기 현재 블록과 동일한 위치에 있는 블록, 참조 프레임 내의 상기 현재 블록과 동일한 위치에 있는 블록의 순으로 상기 움직임 벡터 예측 후보 리스트를 생성하는 것을 특징으로 하는, 움직임 예측 장치.
According to claim 1,
The motion vector candidate generation unit is a block located at the same position as the current block among blocks of the lower left block, the left block, the upper right block, the upper block, the upper left block, another time point at which the encoding is completed, or other component blocks of the current block. , characterized in that the motion vector prediction candidate list is generated in the order of blocks located at the same position as the current block in a reference frame.
제3항에 있어서,
상기 움직임 벡터 후보 생성부는 상기 부호화가 완료된 다른 시점 또는 다른 구성요소의 블록 중 상기 현재 블록과 동일한 위치에 있는 블록이 움직임 정보를 가지지 않으면 상기 현재 블록과 동일한 위치에 있는 블록의 상단 블록, 상단 좌측 블록, 좌측 블록의 순서로 움직임 정보를 확인하여 상기 움직임 벡터 예측 후보 리스트를 생성하는 것을 특징으로 하는, 움직임 예측 장치.
4. The method of claim 3,
The motion vector candidate generator may determine if a block located at the same position as the current block among blocks at another time point or other component blocks at which the encoding is completed does not have motion information, an upper block and upper left block of a block located at the same position as the current block. , and generating the motion vector prediction candidate list by checking motion information in the order of the left blocks.
제1항에 있어서,
상기 움직임 벡터 후보 생성부는 상기 현재 블록의 좌측 하단 블록과 좌측 블록 중 하나와 상기 현재 블록의 우측 상단 블록, 상단 블록 및 좌측 상단 블록 중 하나를 상기 움직임 벡터 예측 후보 리스트로 생성하되, 상기 움직임 벡터 예측 후보 리스트에 추가된 블록들의 움직임 정보가 중복되어 있으면 중복된 블록을 제거하고 상기 부호화가 완료된 다른 시점 또는 다른 구성요소의 블록 중 상기 현재 블록과 동일한 위치에 있는 블록을 상기 움직임 벡터 예측 후보 리스트에 추가하는 것을 특징으로 하는, 움직임 예측 장치.
According to claim 1,
The motion vector candidate generator generates one of a lower left block and a left block of the current block and one of an upper right block, an upper block, and an upper left block of the current block as the motion vector prediction candidate list, wherein the motion vector prediction is performed If motion information of blocks added to the candidate list is duplicated, the duplicated block is removed, and a block located at the same position as the current block among blocks at another time point or other components at which the encoding is completed is added to the motion vector prediction candidate list A motion prediction device, characterized in that.
제5항에 있어서,
상기 움직임 벡터 후보 생성부는 상기 현재 블록과 동일한 위치에 있는 블록의 움직임 정보가 상기 움직임 벡터 예측 후보 리스트에 이미 추가된 블록의 움직임 정보와 같으면 상기 현재 블록과 동일한 위치에 있는 블록 대신 0으로 구성되는 움직임 벡터 후보를 상기 움직임 벡터 예측 후보 리스트에 추가하는 것을 특징으로 하는, 움직임 예측 장치.
6. The method of claim 5,
If the motion vector candidate generator is the same as the motion information of the block that is located at the same position as the current block, the motion vector is composed of 0 instead of the block located at the same position as the current block. A vector candidate is added to the motion vector prediction candidate list, the motion prediction apparatus.
제1항에 있어서,
상기 움직임 벡터 후보 생성부는 상기 현재 블록이 속하는 현재 픽처의 현재 코딩 유닛(CU: Coding Unit)과 대응하는 다른 시점 또는 다른 구성요소의 픽처에서 상기 현재 코딩 유닛과 대응하는 위치의 코딩 유닛의 서브블록들의 조합으로 상기 움직임 벡터 예측 후보 리스트를 생성하는 것을 특징으로 하는, 움직임 예측 장치.
According to claim 1,
The motion vector candidate generation unit includes subblocks of a coding unit at a position corresponding to the current coding unit in a picture of a different view or other component corresponding to a current coding unit (CU) of the current picture to which the current block belongs. A motion prediction apparatus, characterized in that the motion vector prediction candidate list is generated by combining.
제7항에 있어서,
상기 움직임 벡터 후보 생성부는 상기 서브블록의 사이즈를 상기 현재 코딩 유닛의 사이즈를 두 비트(Bit) 우측으로 시프트(Shift) 하는 비트 연산 결과 값으로 정하는 것을 특징으로 하는, 움직임 예측 장치.
8. The method of claim 7,
The motion vector candidate generator determines the size of the subblock as a bit operation result value of shifting the size of the current coding unit to the right by two bits.
제8항에 있어서,
상기 움직임 벡터 후보 생성부는 상기 비트 연산 결과 값이 8x8보다 작은 경우 상기 서브블록의 사이즈를 8x8로 고정하는 것을 특징으로 하는, 움직임 예측 장치.
9. The method of claim 8,
Wherein the motion vector candidate generator sets the size of the subblock to 8x8 when the bit operation result value is less than 8x8.
제1항에 있어서,
상기 움직임 벡터 후보 생성부는 상기 부호화가 완료된 다른 시점 또는 다른 구성요소의 블록 중 상기 현재 블록과 동일한 위치에 있는 블록이 어파인(Affine) 기반 움직임 예측 기술로 부호화 된 경우 그 블록을 현재 CU의 CPMV(Control Point Motion Vector)로 사용하는 것을 특징으로 하는, 움직임 예측 장치.
According to claim 1,
The motion vector candidate generating unit converts the block to the CPMV (CPMV) of the current CU when the block located at the same position as the current block among blocks of other components or at another time point at which the encoding is completed is encoded using Affine-based motion prediction technology. Control Point Motion Vector), characterized in that used as a motion prediction device.
제1항에 있어서,
상기 움직임 벡터 후보 생성부는 상기 움직임 벡터 후보 생성부는 상기 부호화가 완료된 다른 시점 또는 다른 구성요소의 블록 중 상기 현재 블록과 동일한 위치에 있는 블록을 CPMV(Control Point Motion Vector)로 사용하여 조합 어파인 머지(Affine Merge) 후보를 생성하는 것을 특징으로 하는, 움직임 예측 장치.
The method of claim 1,
The motion vector candidate generator unit uses, as a Control Point Motion Vector (CPMV), a block at the same position as the current block among blocks of another time point or other component blocks for which the encoding is completed, and performs a combination affine merge ( Affine Merge), a motion prediction apparatus, characterized in that the candidate is generated.
하나 이상의 프로세서 및 메모리를 포함하는 제어부에 의해 수행되는 다 시점 또는 다 계층 영상을 부호화하기 위한 움직임 예측 방법에 있어서:
부호화가 완료된 다른 시점 또는 다른 구성요소의 블록을 이용하여 움직임 벡터 예측 후보 리스트를 생성하는 단계; 및
상기 움직임 벡터 예측 후보 리스트를 이용하여 현재 블록의 움직임 벡터 예측 정보를 생성하는 단계;를 포함하는 것을 특징으로 하는, 움직임 예측 방법.
A motion prediction method for encoding a multi-view or multi-layer image performed by a controller including one or more processors and a memory, the method comprising:
generating a motion vector prediction candidate list using blocks of other views or other components from which encoding has been completed; and
and generating motion vector prediction information of a current block by using the motion vector prediction candidate list.
다 시점 또는 다 계층 영상을 복호화하기 위한 움직임 예측 장치에 있어서:
복호화가 완료된 다른 시점 또는 다른 구성요소의 블록을 이용하여 움직임 벡터 예측 후보 리스트를 생성하는 움직임 벡터 후보 생성부; 및
상기 움직임 벡터 예측 후보 리스트를 이용하여 부호화기로부터 전송받은 인덱스에 해당하는 움직임 벡터를 현재 블록의 움직임 벡터로 적용하여 복호화를 진행하는 움직임 벡터 적용부;를 포함하는 것을 특징으로 하는, 움직임 예측 장치.
In the motion prediction apparatus for decoding a multi-view or multi-layer image:
a motion vector candidate generator for generating a motion vector prediction candidate list by using another time point or blocks of other components from which decoding is completed; and
and a motion vector application unit that performs decoding by applying a motion vector corresponding to an index transmitted from an encoder to a motion vector of a current block using the motion vector prediction candidate list.
하나 이상의 프로세서 및 메모리를 포함하는 제어부에 의해 수행되는 다 시점 또는 다 계층 영상을 복호화하기 위한 움직임 예측 방법에 있어서:
복호화가 완료된 다른 시점 또는 다른 구성요소의 블록을 이용하여 움직임 벡터 예측 후보 리스트를 생성하는 단계; 및
상기 움직임 벡터 예측 후보 리스트를 이용하여 부호화기로부터 전송받은 인덱스에 해당하는 움직임 벡터를 현재 블록의 움직임 벡터로 적용하여 복호화를 진행하는 단계;를 포함하는 것을 특징으로 하는, 움직임 예측 방법.
A motion prediction method for decoding a multi-view or multi-layer image performed by a controller including one or more processors and a memory, the method comprising:
generating a motion vector prediction candidate list by using blocks of another time point or other components from which decoding is completed; and
and performing decoding by applying a motion vector corresponding to an index transmitted from an encoder to a motion vector of a current block using the motion vector prediction candidate list.
KR1020200162490A 2020-11-27 2020-11-27 Apparatus and method for motion prediction of multi view or multi layer video KR102501051B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200162490A KR102501051B1 (en) 2020-11-27 2020-11-27 Apparatus and method for motion prediction of multi view or multi layer video

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200162490A KR102501051B1 (en) 2020-11-27 2020-11-27 Apparatus and method for motion prediction of multi view or multi layer video

Publications (2)

Publication Number Publication Date
KR20220074233A true KR20220074233A (en) 2022-06-03
KR102501051B1 KR102501051B1 (en) 2023-02-17

Family

ID=81982458

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200162490A KR102501051B1 (en) 2020-11-27 2020-11-27 Apparatus and method for motion prediction of multi view or multi layer video

Country Status (1)

Country Link
KR (1) KR102501051B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150043228A (en) * 2013-10-14 2015-04-22 삼성전자주식회사 Method and apparatus for multi-view video encoding, method and apparatus for multi-view video decoding
KR20190116101A (en) * 2018-04-03 2019-10-14 인텔렉추얼디스커버리 주식회사 Method and apparatus for image encoding/decoding based on affine model
KR20200080191A (en) * 2018-12-26 2020-07-06 주식회사 엑스리스 Method for encodign/decodign video signal and apparatus therefor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150043228A (en) * 2013-10-14 2015-04-22 삼성전자주식회사 Method and apparatus for multi-view video encoding, method and apparatus for multi-view video decoding
KR20190116101A (en) * 2018-04-03 2019-10-14 인텔렉추얼디스커버리 주식회사 Method and apparatus for image encoding/decoding based on affine model
KR20200080191A (en) * 2018-12-26 2020-07-06 주식회사 엑스리스 Method for encodign/decodign video signal and apparatus therefor

Also Published As

Publication number Publication date
KR102501051B1 (en) 2023-02-17

Similar Documents

Publication Publication Date Title
US10484706B2 (en) Image encoding/decoding apparatus and method
CN104412597B (en) The method and device that unified difference vector for 3D Video codings is derived
US10110915B2 (en) Method and apparatus for inter-component motion prediction in three-dimensional video coding
KR101370919B1 (en) A method and apparatus for processing a signal
KR101753171B1 (en) Method of simplified view synthesis prediction in 3d video coding
CN104718760B (en) Method and apparatus for three peacekeeping multi-view video codings
US10264281B2 (en) Method and apparatus of inter-view candidate derivation in 3D video coding
US20120189060A1 (en) Apparatus and method for encoding and decoding motion information and disparity information
US9961369B2 (en) Method and apparatus of disparity vector derivation in 3D video coding
KR101747434B1 (en) Apparatus and method for encoding and decoding motion information and disparity information
EP3065405B1 (en) Method for decoding video using buffer compression for motion vector competition
KR101861497B1 (en) Method and apparatus of camera parameter signaling in 3d video coding
JP2015533038A5 (en)
WO2014008817A1 (en) Method and apparatus of inter-view sub-partition prediction in 3d video coding
US20150365649A1 (en) Method and Apparatus of Disparity Vector Derivation in 3D Video Coding
WO2014166348A1 (en) Method and apparatus of view synthesis prediction in 3d video coding
KR20140121315A (en) Method and apparatus for image encoding and decoding based on multi-layer using reference picture list
EP2965520A1 (en) Method of reference view selection for 3d video coding
CN113796084A (en) Motion vector and prediction sample refinement
KR20230129320A (en) Method and device for creating inter-view merge candidates
KR20200005575A (en) Method and apparatus for determining motion vector
KR102501051B1 (en) Apparatus and method for motion prediction of multi view or multi layer video
KR102403817B1 (en) Block vector estimation method for multiview video based on intra block copy and decoder
Chen et al. Motion hooks for the multiview extension of HEVC
CA2921759A1 (en) Method of motion information prediction and inheritance in multi-view and three-dimensional video coding

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant