[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20210110742A - 삼각형 예측을 위한 비디오 코딩 방법 및 장치 - Google Patents

삼각형 예측을 위한 비디오 코딩 방법 및 장치 Download PDF

Info

Publication number
KR20210110742A
KR20210110742A KR1020217027107A KR20217027107A KR20210110742A KR 20210110742 A KR20210110742 A KR 20210110742A KR 1020217027107 A KR1020217027107 A KR 1020217027107A KR 20217027107 A KR20217027107 A KR 20217027107A KR 20210110742 A KR20210110742 A KR 20210110742A
Authority
KR
South Korea
Prior art keywords
list
merge
prediction
motion vector
candidate
Prior art date
Application number
KR1020217027107A
Other languages
English (en)
Other versions
KR102489716B1 (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 KR1020227046454A priority Critical patent/KR20230008900A/ko
Publication of KR20210110742A publication Critical patent/KR20210110742A/ko
Application granted granted Critical
Publication of KR102489716B1 publication Critical patent/KR102489716B1/ko

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
    • H04N19/52Processing of motion vectors by encoding by predictive 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/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
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Landscapes

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

Abstract

비디오 코딩을 위한 방법 및 장치가 제공된다. 상기 방법은, 비디오 픽처들을 복수의 코딩 단위(CU)들로 분할하되, 상기 복수의 CU들 중 적어도 하나는 적어도 하나의 기하학적 형상의 예측 단위(PU)를 포함하는 2 개의 PU들로 더 분할되는 단계; 복수의 후보들을 포함하는 제1 머지 리스트를 구성하되, 상기 복수의 후보들 각각은 하나 혹은 그 이상의 움직임 벡터를 포함하는 단계; 및 상기 기하학적 형상의 PU를 위한 일방형-예측 머지 리스트를 획득하되, 상기 일방형-예측 머지 리스트는 복수의 일방향-예측 머지 후보들을 포함하고, 상기 복수의 일방향-예측 머지 후보들 각각은 상기 제1 머지 리스트 중의 대응하는 후보의 하나의 움직임 벡터를 포함하는 단계를 포함한다.

Description

삼각형 예측을 위한 비디오 코딩 방법 및 장치
본 발명은 일반적으로 비디오 코딩 및 압축에 관한 것으로, 구체적으로 비디오 코딩에서 삼각형 예측 단위(즉, 기하학적 분할 예측 단위의 특수한 경우)를 사용한 움직임 보상 예측을 위한 방법 및 장치에 관한 것이나, 이에 제한되지는 않는다.
본 출원은 2019년 3월 12일에 제출한 "삼각형 예측을 통한 비디오 코딩"이라는 명칭의 출원 번호 62/817,537인 미국 임시 출원과 2019년 3월 31일에 제출한 "삼각형 예측을 통한 비디오 코딩"이라는 명칭의 출원 번호 62/817,852인 미국 임시 출원의 우선권을 주장하며, 그 전체 내용은 모든 목적을 위해 인용을 통해 본 문에 병합된다.
디지털 비디오는 디지털 TV, 랩톱 또는 데스크톱 컴퓨터, 태블릿 컴퓨터, 디지털 카메라, 디지털 기록 장치, 디지털 미디어 플레이어, 비디오 게임 콘솔, 스마트 폰, 비디오 화상 회의 장치, 비디오 스트리밍 장치와 같은 다양한 전자 장치에 의해 지지될 수 있다. 전자 장치는 비디오 압축/복원을 구현하여 디지털 비디오 데이터를 송신, 수신, 인코딩, 디코딩 및/또는 저장할 수 있다. 전자 장치는Versatile Video Coding(VVC), Joint Exploration Test Model (JEM), MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Part 10, Advanced Video Coding(AVC), ITU-T H.265/High Efficiency Video Coding(HEVC)에 의하여 정의된 표준 및 이러한 표준의 확장에서 설명한 것과 같은 비디오 코딩 기술들을 구현할 수 있다.
일반적으로, 비디오 코딩은 비디오 이미지 또는 시퀀스에 존재하는 중복성을 활용하는 예측 방법(예를 들어, 인터 예측, 인트라 예측)을 사용할 수 있다. 비디오 코딩 기술들의 중요한 목표는 비디오 데이터를 더 낮은 비트율(bit rate)을 사용하여 압축하면서도 비디오 품질 저하를 방지하거나 최소화하는 것이다. 끊임없이 진화하는 비디오 서비스를 사용할 수 있음에 따라, 더 좋은 코딩 효율성을 가진 인코딩 기술들이 필요하다.
일반적으로, 비디오 압축은 비디오 데이터에 내재된 중복성을 감소하거나 제거하기 위하여 공간적(인트라-프레임) 예측 및/또는 시간적(인터-프레임) 예측을 수행하는 것을 포함할 수 있다. 블록-기반 비디오 코딩의 경우, 비디오 프레임은 하나 또는 그 이상의 슬라이스(slice)로 분할되며, 각 슬라이스는 코딩 트리 단위(coding tree unit, CTU)로도 불리는 비디오 블록을 복수 개 구비할 수 있다. 각 CTU는 하나의 코딩 단위(coding unit, CU)를 포함하거나, 소정의 최소 CU 크기에 도달 할 때까지 더 작은 CU들로 재귀적으로 분할될 수 있다. 각 CU("리프 CU(leaf CU)"라고도 함)는 하나 또는 복수개의 변환 단위(transformation unit, TU)를 포함하고, 각 CU는 하나 또는 복수개의 예측 단위(prediction unit, PU)를 포함할 수 있다. 각 CU는 인트라, 인터 또는 IBC 모드로 코딩될 수 있다. 비디오 프레임의 인트라 코딩된(I) 슬라이스 내의 비디오 블록들은 동일한 비디오 프레임 내의 인접 블록들의 기준 샘플들에 대한 공간적 예측을 사용하여 인코딩될 수 있다. 비디오 프레임의 인터 코딩된(P 또는 B) 슬라이스 내의 비디오 블록들에 대하여, 동일한 비디오 프레임 내의 인접 블록의 기준 샘플들에 대한 공간적 예측 또는 다른 이전 및/또는 미래 기준 비디오 프레임들의 기준 샘플들에 대한 시간적 예측을 사용할 수 있다.
예를 들면, 인접 블록과 같이 이전에 인코딩된 기준 블록에 기초한 공간적 또는 시간적 예측은 코딩될 현재 비디오 블록에 대한 예측 블록을 생성할 수 있다. 기준 블록을 찾는 과정은 블록 매칭 알고리즘에 의해 수행될 수 있다. 코딩될 현재 블록과 예측 블록 사이의 픽셀 차이를 나타내는 잔여 데이터를 잔여 블록 또는 예측 오차라고할 수 있다. 인터-코딩된 블록은 예측 블록을 구성하는 기준 프레임 내의 기준 블록을 가리키는 움직임 벡터(motion vector) 및 잔여 블록에 따라 인코딩될 수 있다. 일반적으로, 움직임 벡터를 확정하는 프로세스를 움직임 추정이라고 한다. 인트라 코딩된 블록은 인트라 예측 모드 및 잔여 블록에 따라 인코딩될 수 있다. 추가 압축을 위하여, 잔여 블록은 픽셀 도메인으로부터 주파수 도메인과 같은 변환 도메인으로 변환되고, 그 결과 추후에 양자화되는 잔여 변환 계수들이 생성될 수 있다. 초기에 2 차원-행렬로 배열된 양자화된 변환 계수들은 스캔되어 변환 계수들의 1 차원-벡터를 생성하고, 다음 비디오 비트스트림으로 엔트로피 인코딩되어 더 많은 압축을 달성할 수 있다.
또한, 인코딩된 비디오 비트스트림은 컴퓨터 판독 가능한 저장 매체(예를 들어, 플래시 메모리)에 저장되어 디지털 비디오 기능을 가진 다른 전자 장치에 의해 액세스되거나 유선 또는 무선으로 전자 장치에 직접 전송될 수 있다. 다음, 전자 장치는 예를 들어 인코딩된 비디오 비트스트림을 파싱하여 비트스트림으로부터 신택스 요소들(systax elements)을 획득하고, 비트스트림으로부터 획득한 신택스 요소들에 적어도 일부분 기초하여 디지털 비디오 데이터를 인코딩된 비디오 비트스트림으로부터 원 포맷으로 재구성하는 것을 통하여 비디오 복원(위에서 설명한 비디오 압축과 반대되는 프로세스)을 수행하며, 전자 장치의 디스플레이상에 재구성된 디지털 비디오 데이터를 렌더링할 수 있다.
디지털 비디오 품질이 고화질에서 4K Х 2K 또는 8K Х 4K로 변화함에 따라, 인코딩/디코딩될 비디오 데이터의 양이 급격히 증가한다. 디코딩된 비디오 데이터의 이미지 품질을 유지하는 동시에 비디오 데이터를 보다 효율적으로 인코딩/디코딩할 수 있는 방법은 끊임없는 문제이다.
Joint Video Experts Team(JVET)회의에서, JVET는Versatile Video Coding(VVC)의 제1 드래프트 및VVC Test Model 1(VTM1)의 인코딩 방법을 정의하였다. VVC의 초기 새로운 코딩 기능으로 이진 및 삼진 분할 코딩 블록 구조를 사용하는 중첩된 멀티 타입 트리를 구비하는 쿼드트리(quadtree)를 포함하기로 결정하였다. 이 후, 인코딩 방법과 드래프트 VVC 디코딩 프로세스를 구현하는 기준 소프트웨어 VTM이 JVET 회의 동안 개발되었다.
일반적으로, 본 개시는 비디오 코딩에서 기하학적 분할 예측의 특수한 경우인 삼각형 예측 단위를 사용한 움직임 보상 예측과 관련된 기술의 예를 설명한다.
본 개시의 제1 측면에 의하면, 비디오 코딩을 위한 방법을 제공하였으며, 당해 방법은, 비디오 픽처들을 복수의 코딩 단위(CU)들로 분할하되, 상기 복수의 CU들 중 적어도 하나는 적어도 하나의 기하학적 형상의 예측 단위(PU)를 포함하는 2 개의 PU들로 더 분할되는 단계; 복수의 후보들을 포함하는 제1 머지 리스트를 구성하되, 상기 복수의 후보들 각각은 하나 혹은 그 이상의 움직임 벡터를 포함하는 단계; 및 상기 기하학적 형상의 PU를 위한 일방형-예측 머지 리스트를 획득하되, 상기 일방형-예측 머지 리스트는 복수의 일방향-예측 머지 후보들을 포함하고, 상기 복수의 일방향-예측 머지 후보들 각각은 상기 제1 머지 리스트 중의 대응하는 후보의 하나의 움직임 벡터를 포함하는 단계, 를 포함한다.
본 개시의 제2 측면에 의하면, 비디오 코딩을 위한 장치를 제공하였으며, 당해 장치는, 하나 혹은 그 이상의 프로세서; 및 상기 하나 혹은 그 이상의 프로세서에 의해 실행 가능한 명령어를 저장하도록 구성된 메모리, 를 포함하되, 상기 하나 혹은 그 이상의 프로세서는 상기 명령어를 실행시 아래와 같은 동작을 수행하도록 구성되며: 비디오 픽처들을 복수의 코딩 단위(CU)들로 분할하되, 상기 복수의 CU들 중 적어도 하나는 적어도 하나의 기하학적 형상의 예측 단위(PU)를 포함하는 2 개의 PU들로 더 분할되고; 각각 하나 혹은 그 이상의 움직임 벡터를 포함하는 복수의 후보들을 포함하는 제1 머지 리스트를 구성하되, 상기 복수의 후보들 각각은 하나 혹은 그 이상의 움직임 벡터를 포함하고; 및 상기 기하학적 형상의 PU를 위한 일방형-예측 머지 리스트를 획득하되, 상기 일방형-예측 머지 리스트는 복수의 일방향-예측 머지 후보들을 포함하고,상기 복수의 일방향-예측 머지 후보들 각각은 상기 제1 머지 리스트 중의 대응하는 후보의 하나의 움직임 벡터를 포함한다.
본 개시의 제3 측면에 의하면, 그 자체에 저장된 명령어들을 포함하는 비-일시적 컴퓨터 판독 가능 저장 매체를 제공하였으며, 하나 혹은 그 이상의 프로세서가 상기 명령어를 실행시, 상기 명력어들은 상기 하나 혹은 그 이상의 프로세서로 하여금: 비디오 픽처들을 복수의 코딩 단위(CU)들로 분할하되, 상기 복수의 CU들 중 적어도 하나는 적어도 하나의 기하학적 형상의 예측 단위(PU)를 포함하는 2 개의 PU들로 더 분할되고; 각각 하나 혹은 그 이상의 움직임 벡터를 포함하는 복수의 후보들을 포함하는 제1 머지 리스트를 구성하되, 상기 복수의 후보들 각각은 하나 혹은 그 이상의 움직임 벡터를 포함하고; 및 상기 기하학적 형상의 PU를 위한 일방형-예측 머지 리스트를 획득하되, 상기 일방형-예측 머지 리스트는 복수의 일방향-예측 머지 후보들을 포함하고,상기 복수의 일방향-예측 머지 후보들 각각은 상기 제1 머지 리스트 중의 대응하는 후보의 하나의 움직임 벡터를 포함한다.
본 개시의 실시예들에 대한 보다 구체적인 설명은 첨부된 도면에 예시된 특정 실시예들을 참조하여 설명될 것이다. 이러한 도면들이 일부 실시예만을 도시하고 범위를 제한하는 것으로 간주하여서는 아니되며, 첨부된 도면 및 추가적인 특수성 및 세부사항을 통하여 실시예들은 설명될 것이다.
도 1은 본 개시의 일부 구현 방식들에 따른 예시적인 비디오 인코더를 도시하는 블록도이다.
도 2는 본 개시의 일부 구현 방식들에 따른 예시적인 비디오 디코더를 도시하는 블록도이다.
도 3은 본 개시의 일부 구현 방식들에 따른 쿼드트리 플러스 이진 트리(quadtree plus binary tree, QTBT)구조를 도시하는 개략도이다.
도 4는 본 개시의 일부 구현 방식들에 따른 픽처를 CTU들로 분할하는 일 예를 도시하는 개략도이다.
도 5는 본 개시의 일부 구현 방식들에 따른 멀티-타입 트리 분할 모드(multi-type tree splitting mode)들을 도시하는 개략도이다.
도 6은 본 개시의 일부 구현 방식들에 따른 CU를 삼각형 예측 단위들로 분할하는 것을 도시하는 개략도이다.
도 7은 본 개시의 일부 구현 방식들에 따른 인접 블록들의 위치들을 도시하는 개략도이다.
도 8은 본 개시의 일부 구현 방식들에 따른 공간적 머지 후보(spatial merge candidate)들의 위치들을 도시하는 개략도이다.
도 9는 본 개시의 일부 구현 방식들에 따른 시간적 머지 후보(temporal merge candidate)에 대한 움직임 벡터 스케일링을 도시하는 개략도이다.
도 10은 본 개시의 일부 구현 방식들에 따른 시간적 머지 후보의 후보 위치들을 도시하는 개략도이다.
도 11a 내지 도 11b는 본 개시의 일부 구현 방식들에 따른 삼각형 예측 모드에 대한 일방향-예측(uni-prediction) 움직임 벡터(MV) 선택의 예들을 도시하는 개략도이다.
도 12a 내지 도 12d는 본 개시의 일부 구현 방식들에 따른 삼각형 예측 모드에 대한 일방향-예측 MV 선택의 예들을 도시하는 개략도이다.
도 13은 본 개시의 일부 구현 방식들에 따른 비디오 코딩을 위한 장치를 도시하는 블록도이다.
도 14는 본 개시의 일부 구현 방식들에 따른 삼각형 예측 유닛을 사용한 움직임 보상 예측을 위한 비디오 코딩의 예시적인 프로세스를 도시하는 흐름도이다.
이하 그 예가 첨부 도면에 도시되어 있는 특정 구현 방식들을 상세히 설명한다. 다음의 상세한 설명에서, 본 명세서에 기재된 내용의 이해를 돕기 위하여 복수의 비-제한적인 특정 세부 사항이 설명된다. 그러나, 다양한 변경을 진행할 수 있음은 당업자에게 자명한 것이다. 예를 들어, 본 명세서에 기재한 기술적 방안은 디지털 비디오 기능을 구비한 다양한 유형의 전자 장치에서 구현될 수 있음은 당업자에게 자명한 것이다.
본 명세서 전반에 걸쳐 "일 실시예", "실시예", "예", "일부 실시예", "일부 예"또는 유사한 용어는 설명 된 특정 특징, 구조 또는 특성이 적어도 하나의 실시예 또는 예에 포함된다는 것을 의미한다. 하나 또는 일부 실시예와 관련하여 설명된 특징, 구조, 요소 또는 특성은 달리 명시적으로 명시되지 않는 한 다른 실시예에도 적용이 가능하다.
달리 명시적으로 명시하지 않는 한, 본 개시 전반에 걸쳐, "제1", "제2", "제3"등의 용어는 관련요소(예를 들어, 장치, 요소, 구성, 단계 등)에 대한 참조를 위한 명명법으로만 사용되는 것이지, 공간적 또는 시간적 순서를 암시하지 않는다. 예를 들어, "제1 장치" 및 "제2 장치"는 별도로 형성된 두개의 장치 또는 동일한 장치의 두 부분, 구성 또는 동작 상태를 의미할 수 있으며, 임의로 명명될 수 있다.
본 명세서에서 사용된 바와 같이, 용어 "만약" 또는 "?경우"는 문맥에 따라 "?할때" 또는 "?응답하여"를 의미하는 것으로 이해될 수 있다. 만약 이러한 용어가 청구항에 기재되면, 관련 제한 또는 특징이 조건부 또는 선택 사항임을 가리키지 않을 수 있다.
용어 "모듈", "서브-모듈", "회로", "서브-회로", "회로망", "서브-회로망", "유닛" 또는 "서브-유닛"은 하나 또는 그 이상의 프로세서에서 실행할 수 있는 코드 또는 명령어를 저장하는 메모리(공유, 전용 또는 그룹)를 포함할 수 있다. 모듈은 저장된 코드 또는 명령어를 가지거나 가지지 않는 하나 또는 그 이상의 회로를 포함할 수 있다. 모듈 또는 회로는 직접 또는 간접적으로 연결된 하나 또는 그 이상의 구성 요소들을 포함할 수 있다. 이러한 구성 요소들은 서로 물리적으로 부착되거나 인접하여 위치할 수도 있고 그렇지 않을 수도 있다.
유닛 또는 모듈은 단순히 소프트웨어, 단순히 하드웨어, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다. 예를 들어, 단순한 소프트웨어 구현방식에서, 유닛 또는 모듈은 특정 기능을 수행하기 위하여 함께 직접 또는 간접적으로 연결된 기능적으로 관련된 코드 블록 또는 소프트웨어 구성 요소들을 포함할 수 있다.
도 1은 블록-기반 프로세스를 사용하는 복수의 비디오 코딩 표준들과 함께 사용할 수 있는 예시적인 블록-기반 하이브리드 비디오 인코더(100)를 도시하는 블록도를 보여준다. 인코더(100)에서, 비디오 프레임은 처리를 위해 복수의 비디오 블록들로 분할된다. 각각의 주어진 비디오 블록에 대하여, 인터 예측 방법 또는 인트라 예측 방법에 기반하여 예측을 형성된다. 인터 예측에서, 사전에 재구성된 프레임들의 픽셀들을 기반으로 움직임 추정 및 움직임 보상을 통해 하나 혹은 그 이상의 예측자를 형성한다. 인트라 예측에서, 현재 프레임 중의 재구성된 픽셀들을 기반으로 예측자를 형성한다. 모드 결정을 통하여 최적의 예측자를 선택하여 현재 블록을 예측할 수 있다.
현재 비디오 블록과 그 예측자 사이의 차이를 나타내는 예측 잔여는 변환 회로(102)로 전송된다. 변환 계수들은 엔트로피 감소를 위해 변환 회로(102)에서 양자화 회로(104)로 전송된다. 다음, 양자화된 계수들은 엔트로피 코딩 회로(106)에 공급되어 압축된 비디오 비트스트림을 생성한다.도 1에 도시된 바와 같이, 인터 예측 회로 및/또는 인트라 예측 회로(112)로부터의 비디오 블록 파티션 정보, 움직임 벡터들, 참조 픽처 인덱스 및 인트라 예측 모드와 같은 예측 관련 정보(110)도 엔트로피 코딩 회로(106)를 통해 공급되고 압축된 비디오 비트스트림(114)에 저장된다.
인코더(100)에서, 예측 목적을 위하여 픽셀들을 재구성하기 위하여, 디코더 관련 회로들도 또한 필요하다. 먼저, 예측 잔여는 역양자화(116) 및 역변환 회로(118)를 통해 재구성된다. 이와 같이 재구성된 예측 잔여는 블록 예측자(120)와 결합되어 현재 비디오 블록에 대한 필터링되지 않은 재구성된 픽셀들을 생성한다.
공간적 예측(또는 "인트라 예측")은 현재 비디오 블록과 동일한 비디오 프레임 중의 이미 코딩된 인접 블록(참조 샘플이라고 함)들의 샘플들의 픽셀들을 사용하여 현재 비디오 블록을 예측한다.
시간적 예측("인터 예측"이라고도 알려짐)은 이미 코딩된 비디오 픽처들의 재구성된 픽셀들을 사용하여 현재 비디오 블록을 예측한다. 시간적 예측은 비디오 신호에 내재된 시간적 중복성을 줄여준다. 주어진 코딩 단위(CU)에 대한 시간적 예측 신호는 일반적으로 하나 혹은 그 이상의 움직임 벡터(MV)에 의해 시그널링되되, 상기 하나 혹은 그 이상의 움직임 벡터(MV)는 현재 CU와 그의 시간적 참조 사이의 움직임의 양과 방향을 가리킬 수 있다. 또한, 복수의 참조 픽처들을 지원하는 경우, 하나의 참조 픽처 인덱스가 추가로 전송되며, 이는 참조 픽처 스토리지 중의 어느 참조 픽처에서 시간적 예측 신호가 오는지 식별하기 위하여 사용된다.
공간적 및/또는 시간적 예측을 수행한 다음, 인코더(100) 중의 인트라/인터 모드 결정 회로(121)는 예를 들어 레이트-왜곡 최적화 방법(rate-distortion optimization method)에 기반하여 최적의 예측 모드를 선택한다. 그 다음, 현재 비디오 블록으로부터 블록 예측자(120)를 감산하고, 그 결과인 예측 잔여는 변환 회로(102) 및 양자화 회로(104)를 사용하여 역상관한다. 그 결과인 양자화된 잔여 계수는 역양자화 회로(116)에 의해 역양자화되고 역변환 회로(118)에 의해 역변환되어 재구성된 잔여가 형성되고,다음 재구성된 잔여는 예측 블록에 다시 가산되어 CU의 재구성된 신호를 형성한다. 재구성된 CU를 픽처 버퍼(117)의 참조 픽처 스토리지에 저장하기 전에 및 미래의 비디오 블록들을 코딩하기 위하여 사용하기 전에, 디블록킹 필터(deblocking filter), 샘플 적응적 오프셋(sample adaptive offset, SAO) 및 적응적 인-루프 필터(adaptive in-loop filter, ALF)와 같은 추가 인-루프 필터링(115)을 재구성된 CU에 추가로 적용할 수 있다. 출력 비디오 비트스트림(114)을 형성하기 위하여, 코딩 모드(인터 또는 인트라), 예측 모드 정보, 움직임 정보 및 양자화된 잔여 계수가 모두 엔트로피 코딩 유닛(106)으로 전송되어 추가로 압축되고 패킹되어 비트스트림을 형성한다.
예를 들어, 디블로킹 필터는 AVC, HEVC 및 현재 버전의 VVC에서 사용할 수 있다. HEVC에서, 코딩 효율성을 더욱 향상시키기 위해 샘플 적응적 오프셋(sample adaptive offset, SAO)라는 추가 인-루프 필터가 정의되었다. 현재 버전의 VVC 표준에서,적응적 루프 필터(adaptive loop filter, ALF)라는 또 다른 인-루프 필터에 대한 연구가 활발히 진행되고 있으며 최종 표준에 포함될 가능성이 높다.
이러한 인-루프 필터 동작은 선택 사항이다. 이러한 동작들을 수행하면 코딩 효율과 시각적 품질을 개선하는데 도움이 된다. 이들은 또한 계산 복잡성을 줄이기 위해 인코더(100)에 의해 렌더링된 결정으로서 턴-오프될 수 있다.
이러한 필터 옵션이 인코더(100)에 의하여 턴-온 된 경우, 인트라 예측은 일반적으로 필터링되지 않은 재구성된 픽셀을 기반으로 진행하는 반면 인터 예측은 필터링된 재구성된 픽셀을 기반으로 진행한다는 점에 유의해야 한다.
도 2는 복수 비디오 코딩 표준들과 함께 사용할 수 있는 예시적인 블록-기반 비디오 디코더(200)를 도시하는 블록도이다. 당해 디코더(200)는 도 1의 인코더(100)에 상주하는 재구성 관련 부분과 유사하다. 디코더(200)에서,먼저 엔트로피 디코딩(202)을 통해 입력되는 비디오 비트스트림(201)을디코딩하여 양자화된 계수 레벨들 및 예측 관련 정보를 도출한다. 그 다음 양자화된 계수 레벨들은 역양자화(204) 및 역변환(206)을 통해 양자화된 계수 레벨들은 처리하여 재구성된 예측 잔여를 획득한다. 인트라/인터 모드 선택기(212)에서 구현되는 블록 예측자 메커니즘은 디코딩된 예측 정보에 기반하여 인트라 예측(208) 또는 움직임 보상(210)을 수행하도록 구성된다. 가산기(214)를 사용하여 역변환(206)의 재구성된 예측 잔차와 블록 예측자 메커니즘에 의해 생성된 예측 출력을 합산하여 필터링되지 않은 재구성된 픽셀 세트를 획득한다.
재구성된 블록은 참조 픽처 스토리지로 기능하는 픽처 버퍼(213)에 저장되기 전에 인-루프 필터(209)를 먼저 거칠 수 있다. 픽처 버퍼(213) 중의 재구성된 비디오는 전송되어 디스플레이 장치를 구동할 수 있을 뿐만 아니라 미래의 비디오 블록을 예측하기 위하여 사용될 수 있다. 인-루프 필터(209)를 턴-온한 경우, 이러한 재구성된 픽셀들에 대해 필터링 작업을 수행하여 최종 재구성된 비디오 출력(222)을 유도할 수 있다.
위에서 언급한 VVC, JEM, HEVC, MPEG-4, Part 10과 같은 비디오 코딩/디코딩 표준은 개념적으로 유사하다. 예를 들어, 이들은 모두 블록-기반 처리를 사용한다. 일부 표준들의 블록 분할 방안은 아래에 상세히 기재되어 있다.
HEVC는 하이브리드 블록-기반의 움직임-보상 변환 코딩 아키텍처를 기반으로 한다. 압축의 기본 단위를 코딩 트리 단위(coding tree unit, CTU)라고 한다. 4 : 2 : 0 크로마 포맷에서, CTU의 최대 크기는 최대 64×64 루마 픽셀과 두개의 32×32 크로마 픽셀의 블록으로 정의된다. 각 CTU는 하나의 코딩 단위(CU)를 포함하거나 미리 정의된 CU의 최소 크기에 도달할 때까지 4 개의 더 작은 CU로 재귀적으로 분할될 수 있다. 각 CU(리프 CU라고도 함)에는 하나 또는 복수의 예측 단위(PU)와 변환 단위(TU)트리가 포함된다.
일반적으로, 모노크롬 콘텐츠를 제외하고, CTU는 하나의 루마 코딩 트리 블록(CTB)과 두 개의 대응하는 크로마 CTB들을 포함할 수 있으며; CU는 하나의 루마 코딩 블록(CB) 및 두 개의 대응하는 크로마 CB들을 포함 할 수 있으며; PU는 하나의 루마 예측 블록(PB) 및 두 개의 대응하는 크로마 PB들을 포함할 수 있으며; TU는 하나의 루마 변환 블록(TB) 및 두 개의 대응하는 크로마 TB들을 포함할 수 있다. 그러나, 예외가 발생할 수 있는데, 이는 루마와 크로마 모두에 대하여 최소 TB 크기는 4×4이고(즉, 4 : 2 : 0 컬러 포맷에 대해 2x2 크로마 TB는 지원되지 않음), 대응하는 인트라 루마 CB에서의 인트라 루마 PB의 수와 관계없이 각 인트라 크로마 CB에는 항상 하나의 인트라 크로마 PB만 있기 때문이다.
인트라 CU의 경우, 루마 CB는 1 개 또는 4 개의 루마 PB에 의해 예측될 수 있고, 2 개의 크로마 CB 각각은 항상 1 개의 크로마 PB에 의해 예측되며, 각 루마 PB는 1 개의 인트라 루마 예측 모드를 가지고, 2 개의 크로마 PB들은 하나의 인트라 크로마 예측 모드를 공유한다. 또한, 인트라 CU의 경우, TB 크기는 PB 크기보다 클 수 없다. 각 PB에서, 인트라 예측을 적용하여 TB의 인접 재구성된 샘플들로부터 PB 내부의 각 TB의 샘플들을 예측할 수 있다. 각 PB에 대하여, 33 개의 방향성 인트라 예측 모드 외에, DC 및 평면 모드도 지원되어 각각 평탄한 영역과 점진적으로 변하는 영역을 예측한다.
각 인터 PU에 대하여, 인터, 스킵, 머지 등 3 가지 예측 모드 중 하나를 선택할 수 있다. 일반적으로 말해서, 움직임 벡터 경쟁(motion vector competition, MVC) 방안을 도입하여 공간적 및 시간적 움직임 후보들을 포함하는 주어진 후보 세트로부터 움직임 후보를 선택한다. 움직임 추정에 대한 다중 참조를 통해 2 개의 가능한 재구성된 참조 픽처 리스트들(즉, List 0 및 List 1)에서 최적의 참조를 찾을 수 있다. 인터 모드(AMVP 모드라고 함, 여기서 AMVP는 고급 움직임 벡터 예측을 나타냄)에 대해, 인터 예측 지시자(List 0, List 1 또는 양방향 예측), 참조 인덱스들, 움직임 후보 인덱스들, 움직임 벡터 차이(MVD) 및 예측 잔여를 전송한다. 스킵 모드 및 머지 모드에 대하여, 머지 인덱스만 전송하며 현재 PU는 코딩된 머지 인덱스가 참조하는 인접 PU로부터 인터 예측 지시자, 참조 인덱스, 움직임 벡터를 상속 받는다. 스킵 코딩된 CU의 경우, 잔여 신호는 생략된다.
JEM (Joint Exploration Test Model)은 HEVC 테스트 모델 위에 구축된다. HEVC의 기본 인코딩 및 디코딩 흐름은 JEM에서 변경되지 않는다. 그러나 블록 구조, 인트라 및 인터 예측, 잔여 변환, 루프 필터 및 엔트로피 코딩 모듈을 포함하는 가장 중요한 모듈의 설계 요소는 다소 수정되고 추가 코딩 도구가 추가된다. JEM에는 다음과 같은 새로운 코딩 기능이 포함되어 있다.
HEVC에서 CTU는 다양한 로컬 특성에 적응하기 위해 코딩 트리로 표시된 쿼드트리 구조를 사용하여 CU로 분할된다. 인터-픽처(시간적) 예측을 사용하여 픽처 영역을 코딩할지 아니면 인트라-픽처(공간적) 예측을 사용하여 픽처 영역을 코딩할지 여부는 CU 레벨에서 결정된다. 각 CU는 PU 분할 타입에 따라 1 개, 2 개 또는 4 개의 PU로 더 분할될 수 있다. 하나의 PU 내부에서는 동일한 예측 프로세스가 적용되고PU를 기반으로 관련 정보가 디코더로 전송된다. PU 분할 타입을 기반으로 예측 프로세스를 적용하여 잔차 블록을 획득한 다음, CU는 CU에 대한 코딩 트리와 유사한 다른 쿼드트리 구조에 따라 변환 단위(TU)로 분할될 수 있다. HEVC 구조의 주요 특징 중 하나는 CU, PU 및 TU를 포함한 다중 분할 개념을 가지고 있다는 것이다.
도 3은 본 개시의 일부 구현 방식들에 따른 쿼드트리 플러스 이진 트리(quadtree plus binary tree, QTBT)구조를 도시하는 개략도이다.
QTBT 구조는 멀티 분할 타입의 개념을 제거하였는바, 즉, CU, PU 및 TU 개념의 분리를 제거하고 CU 분할 형상에 대하여 더 큰 유연성을 지원한다. QTBT 블록 구조에서 CU는 정사각형 또는 직사각형 형상을 가질 수 있다. 도 3에 도시 된 바와 같이, 코딩 트리 단위(CTU)는 먼저 쿼터너리 트리(quaternary tree, 즉, 쿼드 트리) 구조에 의해 분할된다. 쿼드 트리 리프 노드(leaf node)들은 이진 트리(binary tree) 구조에 의해 더 분할될 수 있다. 이진 트리 분할에는 대칭 수평 분할과 대칭 수직 분할과 같은 두 가지 분할 타입이 있다. 이진 트리 리프 노드들을 코딩 단위(CU)라고 하며 이러한 세그멘테이션(segmentation)들은 추가 분할없이 예측 및 변환 프로세싱에 사용된다. 이는 CU, PU 및 TU가 QTBT 코딩 블록 구조에서 동일한 블록 크기를 가짐을 의미한다. JEM에서, CU는 일부 경우에는 서로 다른 컬러 성분의 코딩 블록(CB)으로 구성되고, 예를 들어, 4 : 2 : 0 크로마 포맷의 P 및 B 슬라이스의 경우 하나의 CU는 하나의 루마 CB와 두 개의 크로마 CB를 포함하고, 일부 경우에는 단일 성분의 CB로 구성되며, 예를 들어, I 슬라이스의 경우 하나의 CU는 하나의 루마 CB 만 포함하거나 두 개의 크로마 CB 만 포함한다.
QTBT 분할 방안에 대해 다음과 같은 파라미터가 정의된다.
-CTU 크기 : HEVC에서와 동일한 개념인 쿼드트리의 루트 노드(root node) 크기.
-MinQTSize : 최소 허용 쿼드트리 리프 노드 크기;
-MaxBTSize : 최대 허용 이진 트리 루트 노드 크기;
-MaxBTDepth : 최대 허용 이진 트리 깊이;
-MinBTSize : 최소 허용 이진 트리 리프 노드 크기.
QTBT 분할 구조의 일 예에서, CTU 크기는 128×128 루마 샘플과 함께 두 개의 대응하는 64×64 블록의 크로마 샘플(4 : 2 : 0 크로마 포맷)로 설정되며, MinQTSize는 16x16로 설정되고, MaxBTSize는 64x64로 설정되고, MinBTSize (너비와 높이 모두에 대해)는 4x4로 설정되고, MaxBTDepth는 4로 설정된다. 쿼드트리 분할은 먼저 CTU에 적용되어 쿼드트리 리프 노드들을 생성한다. 쿼드트리 리프 노드들은 16x16(즉, MinQTSize)로부터 128x128(즉, CTU 크기)까지의 크기를 가질 수 있다. 쿼드트리 리프 노드가 128x128일 경우, 크기가 MaxBTSize(즉, 64x64)를 초과하므로 이진 트리에 의해 더 분할되지 않는다. 그렇지 않으면, 쿼드트리 리프 노드는 이진 트리에 의해 더 분할될 수 있다. 따라서 쿼드트리 리프 노드는 이진 트리의 루트 노드이기도 하며 이진 트리 깊이는 0이다. 이진 트리 깊이가 MaxBTDepth(즉, 4)에 도달하면, 분할을 더 이상 고려하지 않는다. 이진 트리 노드의 너비가 MinBTSize(즉, 4)와 같으면, 수평 분할을 더 이상 고려하지 않는다. 이와 유사하게, 이진 트리 노드의 높이가 MinBTSize와 같으면, 수직 분할을 더 이상 고려하지 않는다. 이진 트리의 리프 노드들은 추가 분할없이 예측 및 변환 처리에 의해 추가로 처리된다. JEM에서 최대 CTU 크기는 256Х256 루마 샘플이다.
QTBT 방안을 사용하여 블록을 분할하는 일 예 및 대응하는 트리 표현은 도 3에 도시되어 있다. 실선은 쿼드트리 분할을 나타내고 점선은 이진 트리 분할을 나타낸다. 도 3에 도시된 바와 같이, 코딩 트리 단위(300, CTU)는 먼저 쿼드트리 구조에 의해 분할되고, 4 개의 쿼드트리 리프 노드들(302, 304, 306, 308) 중 3 개는 쿼드트리 구조 또는 이진 트리 구조에 의해 더 분할된다. 예를 들어, 쿼드트리 리프 노드(306)는 쿼드트리 분할에 의해 더 분할되고, 쿼드트리 리프 노드(304)는 이진 트리 분할에 의해 2 개의 리프 노드들(304a, 304b)로 더 분할되고, 쿼드트리 리프 노드(302)는 또한 이진 트리 분할에 의해 더 분할된다. 이진 트리의 각 분할(즉, 리프가 아닌) 노드에서,하나의 플래그가 시그널링되어 어떠한 분할 타입(즉, 수평 또는 수직)이 사용되었는지 가리킬 수 있으며, 0은 수평 분할을 가리키고 1은 수직 분할을 가리킨다. 예를 들어, 쿼드트리 리프 노드(304)의 경우, 수평 분할을 나타내기 위해 0이 시그널링되고, 쿼드트리 리프 노드(302)의 경우, 수직 분할을 나타내기 위해 1이 시그널링된다. 쿼드트리 분할의 경우 분할 타입을 표시할 필요가 없다. 이는 쿼드트리 분할은 항상 블록을 수평 및 수직으로 분할하여 동일한 크기의 4 개의 서브-블록을 생성하기 때문이다.
또한, QTBT 방안은 루마와 크로마가 별도의 QTBT 구조를 가질 수 있도록 지지한다. 현재 P 및 B 슬라이스의 경우, 하나의 CTU의 루마 및 크로마 CTB들은 동일한 QTBT 구조를 공유한다. 그러나 I 슬라이스의 경우, 루마 CTB는 QTBT 구조에 의해 CU들로 분할되고, 크로마 CTB들은 다른 QTBT 구조에 의해 크로마 CU들로 분할된다. 이는 I 슬라이스의 CU는 루마 성분의 코딩 블록 또는 두 개의 크로마 성분들의 코딩 블록들로 구성되며, P 또는 B 슬라이스의 CU는 세 가지 컬러 성분 모두의 코딩 블록들로 구성됨을 의미한다.
공동 비디오 전문가 팀(JVET) 회의에서 JVET는 다용도 비디오 코딩(VVC) 및 VVC 테스트 모델(VTM1) 인코딩 방법의 제 1 드래프트를 정의하였다. VVC의 초기 새로운 코딩 특징으로 이진 및 삼진(ternary) 분할 코딩 블록 구조를 사용하여 중첩된 멀티-타입 트리가 있는 쿼드트리를 포함하기로 결정하였다.
VVC에서 픽처 분할 구조는 입력 비디오를 코딩 트리 단위(CTU)들이라고 하는 블록들로 분할한다. CTU는 중첩된 멀티-타입 트리 구조를 갖는 쿼드 트리를 사용하여 코딩 단위(CU)로 분할되며, 리프 코딩 단위(CU)는 동일한 예측 모드(예를 들어, 인트라 또는 인터)를 공유하는 영역을 정의한다. 여기서 "단위(unit)"라는 용어는 모든 성분들을 커버하는 이미지의 영역을 정의한다. "블록"이라는 용어는 특정 성분(예를 들어, 루마)을 포함하는 영역을 정의하는데 사용되며, 4 : 2 : 0과 같은 크로마 샘플링 포맷을 고려할때 공간 위치가 다를 수 있다.
픽처를 CTU들로 분할
도 4는 본 개시의 일부 구현 방식들에 따른 픽처를 CTU로 분할하는 일 예를 도시하는 개략도이다.
VVC에서, 픽처들은 CTU들의 시퀀스로 분할되며, CTU 개념은 HEVC와 동일하다. 세 개의 샘플 어레이가 있는 픽처의 경우, CTU는 루마 샘플들의 NХN 블록과 함께 두 개의 대응하는 크로마 샘플 블록들로 구성된다. 도 4는 CTU(402)로 분할된 픽처(400)의 예를 도시한다.
CTU에서의 루마 블록의 최대 허용 크기는 128Х128로 지정된다(루마 변환 블록의 최대 크기는 64Х64).
트리 구조를 사용하여 CTU 분할
도 5는 본 개시의 일부 구현 방식들에 따른 멀티-타입 트리 분할 모드(multi-type tree splitting mode)를 도시하는 개략도이다.
HEVC에서, CTU는 다양한 로컬 특성에 적응하기 위해 코딩 트리로 표시된 쿼터너리-트리 구조를 사용하여 CU들로 분할된다. 인터-픽처(시간적) 예측을 사용하여 픽처 영역을 코딩할지 아니면 인트라-픽처(공간적) 예측을 사용하여 픽처 영역을 코딩할지는 CU 레벨에서 결정된다. 각 리프 CU는 PU 분할 타입에 따라 1 개, 2 개 또는 4 개의 PU로 더 분할될 수 있다. 하나의 PU 내부에서는 동일한 예측 프로세스가 적용되고, 관련 정보는 PU를 기반으로 디코더로 전송된다. PU 분할 타입을 기반으로 예측 프로세스를 적용하여 잔여 블록을 획득한 다음, CU에 대한 코딩 트리와 유사한 다른 쿼드트리 구조에 따라 리프 CU는 변환 단위(TU)로 분할될 수 있다. HEVC 구조의 주요 특징 중 하나는 CU, PU 및 TU를 포함한 다중 분할 개념을 가지고 있다는 것이다.
VVC에서, 이진 및 삼진 분할 세그멘테이션(segmentation) 구조를 사용하는 중첩된 멀티-타입 트리를 갖는 쿼드트리는 멀티 분할 단위 타입의 개념을 대체한다. 즉, 최대 변환 길이에 대하여 너무 큰 크기를 가진 CU를 제외하고 CU, PU 및 TU 개념의 구분을 제거하고 분할 형상에 대하여 더 많은 유연성을 지원한다. 코딩 트리 구조에서 CU는 정사각형 또는 직사각형 형상을 가질 수 있다. 먼저, 코딩 트리 단위(CTU)는 먼저 쿼터너리 트리(즉, 쿼드 트리) 구조에 의해 분할된다. 다음, 쿼터너리 트리 리프 노드는 멀티-타입 트리 구조에 의해 더 분할될 수 있다. 도 5에 도시된 바와 같이, 멀티-타입 트리 구조에는 수직 이진 분할(502)(SPLIT_BT_VER), 수평 이진 분할(504)(SPLIT_BT_HOR), 수직 삼진 분할(506)(SPLIT_TT_VER) 및 수평 삼진 분할(508)(SPLIT_TT_HOR)과 같은 네 가지 분할 타입이 있다. 멀티-타입 트리 리프 노드들은 CU(코딩 단위)라고 하며, CU가 최대 변환 길이에 대하여 너무 크지 않은 이상, 이러한 세그멘테이션은 추가 분할없이 예측 및 변환 프로세싱에 사용된다. 이는, 대부분의 경우, CU, PU 및 TU는 중첩된 멀티-타입 트리 코딩 블록 구조를 갖는 쿼드트리에서 동일한 블록 크기를 가짐을 의미한다. 최대 지원 변환 길이가 CU 컬러 성분의 너비 또는 높이보다 작은 경우 예외가 발생한다. VTM1에서, CU는 서로 다른 컬러 성분의 코딩 블록(CB)들로 구성된다. 예를 들어, 하나의 CU는 하나의 루마 CB와 두 개의 크로마 CB를 포함된다(비디오가 모노크롬, 즉 하나의 컬러 성분만 포함하는 경우는 제외).
CU를 복수의 예측 단위들로 분할
VVC에서, 상술한 구조에 따라 분할된 각 CU에 대하여, 전체 CU 블록에 대하여 또는 다음 단락들에서 설명하는 서브-블록 방식으로 블록 콘텐츠의 예측을 수행할 수 있다. 이러한 예측의 동작 단위를 예측 단위(또는 PU)라고 한다.
인트라 예측(또는 인트라-프레임 예측)의 경우, 일반적으로 PU의 크기는 CU의 크기와 동일하다. 다시 말해서, 전체 CU 블록에 대해 예측을 수행한다. 인터 예측(또는 인터-프레임 예측)의 경우, PU의 크기는 CU의 크기보다 작거나 같을 수 있다. 다시 말해서, CU가 복수의 PU들로 분할되는 예측을 진행하는 경우가 존재한다.
CU 크기보다 작은 PU 크기를 갖는 일부 예들로는 아핀 예측 모드, ATMVP(Advanced Temporal Level Motion Vector Prediction) 모드, 삼각형 예측 모드 등이 포함된다.
아핀 예측 모드에서, CU는 복수 개의 4x4 PU들로 분할되어 예측을 진행한다. 각 4x4 PU들에 대해 움직임 벡터를 도출할 수 있으며, 4x4 PU들에 따라 움직임 보상을 수행할 수 있다. ATMVP 모드에서, CU는 하나 또는 복수 개의 8x8 PU들로 분할되어 예측을 진행할 수 있다. 각 8x8 PU들에 대하여 움직임 벡터를 도출할 수 있으며, 8x8 PU들에 따라 움직임 보상을 수행할 수 있다. 삼각형 예측 모드에서, CU는 두 개의 삼각형 형상 예측 단위로 분할될 수 있다. 각 PU에 대해 움직임 벡터를 도출하고, 그에 따라 움직임 보상을 수행한다. 인터 예측을 위해 삼각형 예측 모드가 지원된다. 이하 삼각형 예측 모드를 더욱 상세히 설명한다.
삼각형 예측 모드(또는 삼각형 분할 모드)
도 6은 본 개시의 일부 구현 방식들에 따른 CU를 삼각형 예측 단위들로 분할하는 것을 도시하는 개략도이다.
삼각형 예측 모드의 개념은 움직임 보상 예측을 위해 삼각형 파티션을 도입하는 것이다. 삼각형 예측 모드는 삼각형 예측 단위 모드 또는 삼각형 분할 모드라고 할 수도 있다. 도 6에 도시된 바와 같이, CU(602, 604)는 대각선 또는 역 대각선 방향으로 두 개의 삼각형 예측 단위 PU1 및 PU2로 분할된다(즉, CU(602)에 표시된 바와 같이 좌측 상단 모서리에서 우측 하단 모서리로 분할하거나, CU(604)에 표시된 바와 같이 우측 상단 모서리에서 좌측 하단 모서리로 분할). CU의 각 삼각형 예측 단위는 일방향-예측 후보 리스트(uni-prediction candidate list)로부터 도출된 자체 일방향-예측 움직임 벡터(uni-prediction motion vector)와 참조 프레임 인덱스를 사용하여 인터-예측된다. 삼각형 예측 단위들을 예측한 다음, 대각선 엣지에 대하여 적응 가중치 처리를 수행한다. 그 다음 변환 및 양자화 프로세스가 전체 CU에 적용된다. 유의해야 할 점은, 당해 모드는 현재 VVC에서 스킵 및 머지 모드에만 적용된다. 도 6에서 CU는 정사각형 블록으로 도시되었지만, 삼각형 예측 모드는 정사각형이 아닌(즉, 직사각형) 형상 CU에도 적용될 수 있다.
일방향-예측 후보 리스트는 하나 또는 그 이상의 후보를 포함할 수 있으며, 각 후보는 움직임 벡터일 수 있다. 따라서, 본 명세서 전반에 걸쳐 "일방향-예측 후보 리스트", "일방향-예측 움직임 벡터 후보 리스트" 및 "일방향-예측 머지 리스트"라는 용어는 서로 교환하여 사용될 수 있으며, 또한 "일방향-예측 머지 후보들" 및 "일방향-예측 움직임 벡터들"이라는 용어도 서로 교환하여 사용될 수 있다.
일방향-예측 움직임 벡터 후보 리스트
도 7은 본 개시의 일부 구현 방식들에 따른 인접 블록들의 위치들을 도시하는 개략도이다.
일부 예들에서, 일방향-예측 움직임 벡터 후보 리스트는 2개 내지 5 개의 일방향-예측 움직임 벡터 후보들을 포함할 수 있다. 일부 다른 예들에서, 다른 개수일 수도 있다. 이는 인접 블록들로부터 도출된다. 일방향-예측 움직임 벡터 후보 리스트는 도 7에 도시 된 바와 같이 5 개의 공간적 인접 블록(1 내지 5)과 2 개의 시간적 동일 위치(co-located) 블록(6 내지 7)을 포함하는 7 개의 인접 블록들로부터 도출된다. 7 개의 인접 블록들의 움직임 벡터는 제1 머지 리스트에 수집된다. 그 다음, 특정 순서에 따라 제1 머지 리스트 움직임 벡터들을 기반으로 일방향-예측 후보 리스트를 형성한다. 상기 순서에 기반하여, 먼저 제1 머지 리스트의 일방향-예측 움직임 벡터들을 일방향-예측 움직임 벡터 후보 리스트에 넣고, 다음은 양방향-예측 움직임 벡터들의 참조 픽처 리스트 0 또는 L0 움직임 벡터이며, 다음은 양방향-예측 움직임 벡터들의 참조 픽처 리스트 1 또는 L1 움직임 벡터이며, 다음은 양방향-예측 움직임 벡터들의 L0 및 L1 움직임 벡터들의 평균화 움직임 벡터들이다. 이때, 만약 후보들의 개수가 여전히 목표 개수(현재 VVC에서 5 개)보다 적으면 목표 개수를 충족하기 위하여, 제로(zero) 움직임 벡터들을 리스트에 추가한다.
삼각형 PU 각각에 대하여, 그들의 움직임 벡터를 기반으로 예측자를 도출한다. 도출된 예측자가 실제 삼각형 PU보다 더 큰 영역을 커버하므로 두 개의 삼각형 PU의 공유 대각선 엣지를 따라 두 예측자의 중첩된 영역이 존재한다는 점에 유의하여야 한다. 두 예측자 사이의 대각선 엣지 영역에 가중치 프로세스를 적용하여, CU에 대한 최종 예측을 도출할 수 있다. 현재 루미넌스(luminance) 및 크로미넌스(chrominance) 샘플들에 사용되는 가중치 인자는 각각 {7/8, 6/8, 5/8, 4/8, 3/8, 2/8, 1/8} 및 {6/8, 4/8, 2/8}이다.
일반 머지 모드 움직임 벡터 후보 리스트
현재 VVC에 따르면, 하나 이상의 PU로 분할하지 않고 전체 CU를 예측하는 일반 머지 모드에서는 삼각형 예측과 다른 절차를 사용하여 움직임 벡터 후보 리스트 또는 머지 후보 리스트를 구성한다.
먼저, 공간적 움직임 벡터 후보는 도 8에 도시 된 바와 같이 인접 블록들의 움직임 벡터들을 기반으로 선택되되, 도 8은 본 개시의 일부 구현 방식들에 따른 공간적 머지 후보들(spatial merge candidates)의 위치를 도시하는 개략도이다. 현재 블록(802)의 공간적 머지 후보들의 도출에서, 도 8에 도시된 바와 같은 위치에 위치한 후보들 중에서 최대 4 개의 머지 후보들을 선택한다. 도출 순서는 A1 -> B1 ->B0 -> A0 -> (B2)이다. 위치 B2는 위치 A1, B1, B0, A0의 PU를 사용할 수 없거나 인트라 코딩된 경우에만 고려된다.
다음으로, 시간적 머지 후보를 도출한다. 시간적 머지 후보의 도출에서, 스케일링된 움직임 벡터는 주어진 참조 픽처 리스트내에서 현재 픽처와 가장 작은 픽처 오더 카운트(Picture Order Coutn, POC) 차이를 갖는 픽처에 속하는 동일 위치 PU를 기반으로 도출된다. 동일 위치 PU의 도출에 사용될 참조 픽처 리스트는 슬라이스 헤더에서 명시적으로 시그널링된다. 시간적 머지 후보에 대한 스케일링된 움직임 벡터는 도 9의 점선으로 도시된 바와 같이 획득되되, 도 9는 본 개시의 일부 구현 방식들에 따른 시간적 머지 후보에 대한 움직임 벡터의 스케일링을 도시하는 개략도이다. 시간적 머지 후보에 대한 스케일링된 움직임 벡터는 POC 거리 tb 및 td를 사용하여 동일 위치 PU (col_PU)의 움직임 벡터로부터 스케일링되며, 여기서 tb는 현재 픽처 (curr_pic)의 참조 픽처 (curr_ref)와 현재 픽처 (curr_pic)사이의 POC 차이로 정의되고, td는 동일 위치 픽처(col_pic)의 참조 픽처(col_ref)와 동일 위치 픽처 (col_pic) 사이의 POC 차이로 정의된다. 시간적 머지 후보의 참조 픽처 인덱스는 0으로 설정된다. 스케일링 프로세스의 실제 실현은 HEVC 드래프트 사양에 설명되어 있다. B- 슬라이스의 경우, 2 개의 움직임 벡터들(하나는 참조 픽처 리스트 0에 대한 것이고, 다른 하나는 참조 픽처 리스트 1에 대한 것이다)을 획득하여 결합하여 양방향-예측 머지 후보가 된다.
도 10은 본 개시의 일부 구현 방식들에 따른 시간적 머지 후보의 후보 위치들을 도시하는 개략도이다.
동일 위치 PU의 위치는 도 10에 도시된 바와 같이 두 후보 위치들인 C3 및 H 사이에서 선택된다. 위치 H의 PU가 사용 가능하지 않거나, 인트라 코딩되거나, 현재 CTU 외부에 있는 경우, 위치 C3이 시간적 머지 후보의 도출에 사용된다. 그렇지 않으면, 위치 H가 시간적 머지 후보의 도출에 사용된다.
상술한 바와 같이 공간적 움직임 벡터들와 시간적 움직임 벡터들을 머지 후보 리스트에 삽입한 후, 히스토리-기반 머지 후보들을 추가한다. 소위 히스토리-기반 머지 후보들은 별도의 움직임 벡터 리스트에서 유지되고 특정 규칙에 따라 관리되는 이전에 코딩된 CU들의 움직임 벡터들을 포함한다.
히스토리-기반 후보들을 삽입한 다음, 머지 후보 리스트가 가득 차지 않았을 경우 패어와이즈(pairwise) 평균화 움직임 벡터 후보들을 추가로 리스트에 추가된다. 이름에서 알 수 있듯이, 이 유형의 후보는 현재 리스트에 이미 있는 후보들을 평균화하여 구성된다. 보다 구체적으로, 특정 순서 및 규칙에 따라 매번 머지 후보 리스트에서 두 후보를 취하고 두 후보들의 평균화 움직임 벡터를 현재 리스트에 추가한다.
패어와이즈(pairwise) 평균 움직임 벡터를 삽입한 다음, 머지 후보 리스트가 아직도 가득 차지 않을 경우, 제로(zero) 움직임 벡터를 추가하여 리스트를 가득 채운다.
일반 머지 리스트 구성 프로세스를 사용하여 삼각형 예측을 위한 제1 머지 리스트 구성
예측자를 형성하는 전체 절차에서, 현재 VVC 중의 삼각형 예측 모드는 일반 머지 예측 모드와 일부 유사점이 존재한다. 예를 들어, 두 예측 모드에서, 머지 리스트는 적어도 현재 CU의 인접 공간적 움직임 벡터와 동일 위치 움직임 벡터를 기반으로 구성한다. 동시에 삼각형 예측 모드는 일반 머지 예측 모드와는 다른 일부 측면도 가지고 있다.
예를 들어, 삼각형 예측 모드와 일반 머지 예측 모드 모두에서 머지 리스트를 구성하여야 하지만, 이러한 리스트를 획득하는 구체적인 절차는 서로 다르다.
이러한 차이점은 추가 논리가 필요하기 때문에 코덱(codec) 구현의 추가 코스트를 초래한다. 머지 리스트를 구성하는 절차와 논리는 삼각 예측 모드와 일반 머지 예측 모드에서 통합되어 공유될 수 있다.
일부 예들에서, 삼각형 예측 모드에 대한 단일-방향 예측(일방향-예측이라고도 함) 머지 리스트를 형성할 경우, 머지 리스트에 새로운 움직임 벡터를 추가하기 전에,리스트에 이미 존재하는 이러한 움직임 벡터들에 대해 새로운 움직임 벡터를 완전히 프루닝(pruning)한다. 즉, 새로운 움직임 벡터를 일방향-예측 머지 리스트에 이미 존재하는 각 움직임 벡터와 비교하고, 당해 머지 리스트의 모든 움직임 벡터와 다른 경우에만 리스트에 추가한다. 그렇지 않으면, 새로운 움직임 벡터를 리스트에 추가하지 않는다.
본 개시의 일부 예들에 따르면, 삼각형 예측 모드에서, 일반 머지 리스트로 불리울 수 있는 일반 머지 모드 움직임 벡터 후보 리스트로부터 단일-방향 예측 머지 리스트를 획득 또는 구성할 수 있다.
보다 구체적으로, 삼각형 예측 모드를 위한 머지 후보 리스트를 구성하기 위하여, 먼저 일반 머지 예측을 위한 머지 리스트 구성 프로세스를 기반으로 제1 머지 리스트를 구성한다. 제1 머지 리스트는 복수의 후보들을 포함하고, 각 후보는 움직임 벡터이다. 그 다음, 제1 머지 리스트의 움직임 벡터를 사용하여 삼각형 예측 모드를 위한 일방향-예측 머지 리스트를 추가로 구성하거나 도출한다.
이러한 경우에 구성된 제1 머지 리스트는 통용 머지 모드 또는 일반 머지 모드의 리스트 크기와 다른 리스트 크기를 선택할 수 있음에 유의해야 한다. 본 개시의 일 예에서, 제1 머지 리스트는 일반 머지 모드와 동일한 크기를 갖는다. 본 개시의 다른 예에서, 일반 머지 모드와 다른 리스트 크기를 갖도록 제1 머지 리스트를 구성한다.
제1 머지 리스트로부터 단일-방향 예측 머지 리스트 구성
본 개시의 일부 예들에 따르면, 다음의 방법들 중 하나에 기반하여 제1 머지 리스트로부터 삼각형 예측 모드를 위한 단일-방향 예측 머지 리스트를 구성하거나 도출할 수 있다.
본 개시의 일 예에서, 단일-방향 예측 머지 리스트를 구성하거나 도출하기 위하여, 먼저 제1 머지 리스트 중의 후보들의 예측 리스트 0 움직임 벡터들을 체크하고 단일-방향 예측 머지 리스트로 선택한다. 이 프로세스 이후, 단일-방향 예측 머지 리스트가 가득 차지 않을 경우(예를 들어, 당해 리스트 중의 후보들의 개수가 여전히 목표 개수보다 작음), 제1 머지 리스트 중의 후보들의 예측 리스트 1 움직임 벡터들을 체크하고 단일-방향 예측 머지 리스트로 선택한다. 단일-방향 예측 머지 리스트가 여전히 가득 차지 않을 경우, 예측 리스트 0 제로 벡터(zero vector)들을 단일-방향 예측 머지 리스트에 추가한다. 단일-방향 예측 머지 리스트가 여전히 가득 차지 않을 경우, 예측 리스트 1 제로 벡터들을 단일-방향 예측 머지 리스트에 추가한다.
본 개시의 다른 예에서, 제1 머지 리스트 중의 각 후보에 대해, 그 예측 리스트 0 움직임 벡터 및 예측 리스트 1 움직임 벡터를 단일-방향 예측 머지 리스트에 인터리빙(interleaving) 방식으로 추가한다. 보다 구체적으로, 제1 머지 리스트 중의 각 후보에 대해, 후보가 단일-방향 예측 움직임 벡터인 경우, 단일-방향 예측 머지 리스트에 직접 추가한다. 그렇지 않고, 후보가 제1 머지 리스트 중의 양방향 예측 움직임 벡터인 경우, 먼저 그의 예측 리스트 0 움직임 벡터를 단일-방향 예측 머지 리스트에 추가하고, 다음 예측 리스트 1 움직임 벡터를 추가한다. 제1 머지 리스트 중의 모든 움직임 벡터 후보들을 체크하고 추가하였지만 단일-방향 예측 머지 리스트가 여전히 가득 차지 않을 경우, 단일-방향 예측 제로(zero) 움직임 벡터를 추가할 수 있다. 예를 들어, 각 참조 프레임 인덱스에 대하여, 단방향 예측 머지 리스트가 찰 때까지 예측 리스트 0 제로 움직임 벡터 및 예측 리스트 1 제로 움직임 벡터를 단방향 예측 머지 리스트에 별도로 추가할 수 있다.
본 개시의 또 다른 예에서, 먼저 제1 머지 리스트의 단방향 예측 움직임 벡터를 단방향 예측 머지 리스트로 선택한다. 당해 프로세스 후에 단방향 예측 머지 리스트가 가득 차지 않을 경우, 제1 머지 리스트 중의 각 양방향 예측 움직임 벡터에 대하여, 그의 예측 리스트 0 움직임 벡터를 먼저 단방향 예측 머지 리스트에 추가하고, 다음 예측 리스트 1 움직임 벡터를 추가한다. 이러한 과정 이후에, 단방향 예측 머지 리스트가 아직 채워지지 않을 경우, 단방향 예측 제로(zero) 움직임 벡터를 추가할 수 있다. 예를 들어, 각 참조 프레임 인덱스에 대하여, 예측 리스트 0 제로 움직임 벡터와 예측 리스트 1 제로 움직임 벡터를 리스트가 채워질 때까지 단방향 예측 머지 리스트에 별도로 추가할 수 있다.
상술한 설명에서, 단일-방향 예측 움직임 벡터를 단일-방향 예측 머지 리스트에 추가하는 경우,움직임 벡터 프루닝(pruning) 프로세스를 수행하여 추가될 새로운 움직임 벡터가 기존 움직임 벡터와 상이함을 확보할 수 있다. 더 낮은 복잡성을 위해 부분적인 방식으로 이러한 움직임 벡터 프루닝 프로세스를 수행할 수 있다. 예를 들어, 단일-방향 예측 머지 리스트에 이미 있는 모든 움직임 벡터가 아닌 일부에 대해서만 추가될 새로운 움직임 벡터를 체크한다. 극단적인 경우, 상기 프로세스에서 움직임 벡터 프루닝(즉, 움직임 벡터 비교 동작)을 수행하지 않는다.
픽처 예측 구성(configuration)을 기반으로 제1 머지 리스트로부터 단일-방향 예측 머지 리스트 구성
본 개시의 일부 예들에서, 현재 픽처가 역방향 예측(backward prediction)을 사용하는지 여부에 기반하여 적응적 방식으로 일방향-예측 머지 리스트를 구성할 수 있다. 예를 들어, 현재 픽처가 역방향 예측을 사용하는지 여부에 따라 다른 방식으로 일방향-예측 머지 리스트를 구성할 수 있다. 모든 참조 픽처들의 픽처 순서 카운트(Picture Order Count, POC) 값이 현재 픽처의 POC 값보다 크지 않을 경우, 현재 픽처가 역방향 예측을 사용하지 않음을 의미한다.
본 개시의 일 예에서, 현재 픽처가 역방향 예측을 사용하지 않는 경우 또는 현재 픽처가 역방향 예측을 사용하지 않는 것으로 결정할 경우, 먼저 제1 머지 리스트 중의 후보들의 예측 리스트 0 움직임 벡터들을 체크하고 단일-방향 예측 머지 리스트로 선택하고, 다음 후보들의 예측 리스트 1 움직임 벡터를 선택한다. 만약 단일-방향 예측 머지 리스트가 여전히 가득 차지 않을 경우, 단일-방향 예측 제로(zero) 움직임 벡터를 추가할 수 있다. 그렇지 않으면, 현재 픽처가 역방향 예측을 사용할 경우, 제1 머지 리스트 중의 각 후보의 예측 리스트 0 및 리스트 1 움직임 벡터들을 체크하고 앞서 설명한 바와 같이 인터리빙 방식으로 단일-방향 예측 머지 리스트로 선택할 수 있다. 즉, 제1 머지 리스트 중의 제1 후보의 예측 리스트 0 움직임 벡터를 추가하고, 다음 제1 후보의 예측 리스트 1 움직임 벡터를 추가하고, 그 다음 제2 후보의 예측 리스트 0 움직임 벡터를 추가하고, 다음 제2 후보의 예측 리스트 1 움직임 벡터를 추가하며, 같은 방식으로 기타를 추가하는 것이다. 프로세스가 종료될 경우, 단일-방향 예측 머지 리스트가 여전히 가득 차지 않을 경우, 단일-방향 예측 제로(zero) 벡터들을 추가할 수 있다.
본 개시의 다른 예에서, 현재 픽처가 역방향 예측을 사용하지 않을 경우, 먼저 제1 머지 리스트 중의 후보들의 예측 리스트 1 움직임 벡터를 체크하고 단일-방향 예측 머지 리스트로 선택하고, 그 다음 그 후보들의 예측 리스트 0 움직임 벡터들을 처리한다. 단일-방향 예측 머지 리스트가 여전히 가득 차지 않을 경우, 단일-방향 예측 제로(zero) 움직임 벡터들을 추가할 수 있다. 그렇지 않으면, 현재 픽처가 역방향 예측을 사용할 경우, 제1 머지 리스트 중의 각 후보의 예측 리스트 0 및 예측 리스트 1 움직임 벡터들을 체크하고 앞서 설명한 바와 같이 인터리빙 방식으로 단일-방향 예측 머지 리스트로 선택할 수 있다. 즉, 제1 머지 리스트 중의 제1 후보의 예측 리스트 0 움직임 벡터를 추가하고, 다음 제1 후보의 예측 리스트 1 움직임 벡터를 추가하고, 그 다음 제2 후보의 예측 리스트 0 움직임 벡터를 추가하고, 그 다음 제2 후보의 예측 리스트 1 움직임 벡터를 추가하고, 같은 방식으로 기타를 추가하는 것이다. 프로세스가 종료될 경우 단일-방향 예측 머지 리스트가 여전히 가득 차지 않을 경우, 단일-방향 예측 제로 벡터들을 추가할 수 있다.
본 개시의 또 다른 예에서, 현재 픽처가 역방향 예측을 사용하지 않을 경우, 먼저 제1 머지 리스트 중의 후보들의 예측 리스트 0 움직임 벡터들만을 체크하고 단일-방향 예측 머지 리스트로 선택하고, 단일-방향 예측 머지 리스트가 여전히 가득 차지 않을 경우, 단일-방향 예측 제로 움직임 벡터를 추가할 수 있다. 그렇지 않으면, 현재 픽처가 역방향 예측을 사용할 경우, 제1 머지 리스트 중의 각 후보의 예측 리스트 0 및 예측 리스트 1 움직임 벡터들을 체크하고 앞서 설명한 바와 같이 인터리빙 방식으로 단일-방향 예측 머지 리스트로 선택할 수 있다. 즉, 제1 머지 리스트 중의 제1 후보의 예측 리스트 0 움직임 벡터를 추가하고, 다음 제1 후보의 예측 리스트 1 움직임 벡터를 추가하고, 그 다음 제2 후보의 예측 리스트 0 움직임 벡터를 추가하고, 다음 제2 후보의 예측 리스트 1 움직임 벡터를 추가하고, 같은 방식으로 기타를 추가하는 것이다. 프로세스가 종료될 경우 단일-방향 예측 머지 리스트가 여전히 가득 차지 않을 경우, 단일-방향 예측 제로 벡터를 추가할 수 있다.
본 개시의 또 다른 예에서, 현재 픽처가 역방향 예측을 사용하지 않을 경우, 먼저 제1 머지 리스트 중의 후보들의 예측 리스트 1 움직임 벡터들만을 체크하고 단일-방향 예측 머지 리스트로 선택하고, 단일-방향 예측 머지 리스트가 여전히 가득 차지 않을 경우, 단일-방향 예측 제로 움직임 벡터를 추가할 수 있다. 그렇지 않으면, 현재 픽처가 역방향 예측을 사용할 경우, 제1 머지 리스트 중의 각 후보의 예측 리스트 0 및 예측 리스트 1 움직임 벡터들을 체크하고 앞서 설명한 바와 같이 인터리빙 방식으로 단일-방향 예측 머지 리스트로 선택할 수 있다. 즉, 제1 머지 리스트 중의 제1 후보의 예측 리스트 0 움직임 벡터를 추가하고, 그 다음 제1 후보의 예측 리스트 1 움직임 벡터를 추가하고, 그 다음 제2 후보의 예측 리스트 0 움직임 벡터를 추가하고, 그 다음 제2 후보의 예측 리스트 1 움직임 벡터를 추가하고, 같은 방식으로 기타들을 추가하는 것이다다. 프로세스가 종료될 경우 단일-방향 예측 머지 리스트가 여전히 가득 차지 않을 경우, 단일-방향 예측 제로 벡터를 추가할 수 있다.
단일-방향 예측 머지 리스트를 생성하지 않고 삼각형 예측을 위한 제1 머지 리스트 사용
상술한 예들에서, 제1 머지 리스트의 움직임 벡터를 단일-방향 예측 머지 리스트로 선택하여 삼각형 예측을 위한 단일-방향 예측 머지 리스트를 구성하였다. 그러나, 실제로는단일-방향 예측(또는 일방향-예측) 머지 리스트를 물리적으로 형성하거나 물리적으로 형성하지 않는 다른 방법으로 구현할 수 있다. 일부 예들에서, 단일-방향 예측 머지 리스트를 물리적으로 생성하지 않고 제1 머지 리스트를 직접 사용할 수도 있다. 예를 들어, 특정 순서에 따라 단순히 제1 머지 리스트 중의 각 후보의 리스트 0 및/또는 리스트 1 움직임 벡터를 인덱싱(indexing)하여 제1 머지 리스트로부터 직접 액세스할 수 있다.
예를 들어, 디코더 또는 다른 전자 장치/컴포넌트로부터 제1 머지 리스트를 획득할 수 있다. 다른 예들에서, 일반 머지 예측을 위한 머지 리스트 구성 프로세스에 기반하여 복수의 후보들(후보들 각각은 하나 혹은 그 이상의 움직임 벡터들 임)을 포함하는 제1 머지 리스트를 구성한 다음, 단일-방향 예측 머지 리스트를 구성하지 않고, 대신 복수의 참조 인덱스들(각 참조 인덱스는 제1 머지 리스트 중의 후보의 움직임 벡터에 대한 참조 임)을 포함하는 미리 정의된 인덱스 리스트를 사용하여 삼각형 예측 모드를 위한 단일-방향 머지 후보들을 도출한다. 인덱스 리스트는 삼각형 예측을 위한 단일-방향 예측 머지 리스트의 표현으로 간주할 수 있으며, 단일-방향 예측 머지 리스트는 참조 인덱스들과 대응하는 제1 머지 리스트의 후보들의 서브셋을 적어도 포함한다. 인덱싱 순서는 단일-방향 예측 머지 리스트를 구성하는 예들에서 설명된 선택 순서들 중의 임의의 순서를 따를 수 있다는 점에 유의해야 한다. 실제로, 이러한 인덱스 리스트는 다른 방식으로 구현할 수 있다. 예를 들어, 명시적으로 리스트로 구현할 수 있다. 다른 예들에서, 어떠한 리스트를 명시적으로 형성하지 않고 특정 논리들 및/또는 프로그램 기능들로 구현하거나 획득할 수 있다.
본 개시의 일부 예들에서, 현재 픽처가 역방향 예측을 사용하는지 여부에 기반하여 적응적 방식으로 인덱스 리스트를 결정할 수 있다. 예를 들어, 현재 픽처의 역방향 예측 여부, 즉 현재 픽처의 픽처 순서 카운트(POC, Picture Order Count)와 참조 픽처의 POC의 비교 결과에 따라 인덱스 리스트의 참조 인덱스들을 정렬할 수 있다. 모든 참조 픽처의 픽처 순서 카운트 (POC, Picture Order Count) 값이 현재 픽처의 POC 값보다 크지 않을 경우 현재 픽처가 역방향 예측을 사용하지 않음을 의미한다.
본 개시의 일 예에서, 현재 픽처가 역방향 예측을 사용하지 않을 경우, 제1 머지 리스트 중의 후보들의 예측 리스트 0 움직임 벡터들을 단일-방향 예측 머지 후보들로 사용하고, 제1 머지 리스트에서와 동일한 인덱스 순서로 인덱싱된다. 즉, 현재 픽처의 POC가 참조 픽처들 각각의 POC보다 크다고 확정할 경우, 제1 머지 리스트 중의 후보들의 리스트 0 움직임 벡터들과 동일한 순서에 따라 참조 인덱스들을 정렬한다. 그렇지 않고, 현재 픽처가 역방향 예측을 사용할 경우, 제1 머지 리스트 중의 각 후보의 리스트 0 움직임 벡터 및 리스트 1 움직임 벡터들은 단일-방향 예측 머지 후보들로 사용하고, 인터리빙 방식에 따라 인덱싱된다. 즉, 제1 머지 리스트 중의 제1 후보의 리스트 0 움직임 벡터, 그 다음 제1 후보의 리스트 1 움직임 벡터, 그 다음 제2 후보의 리스트 0 움직임 벡터, 그 다음 제2 후보의 리스트 1 움직임 벡터, 이와 같은 방식으로 기타들을 진행한다. 즉, 현재 픽처의 POC가 참조 픽처의 POC 중 적어도 하나보다 작다고 확정할 경우, 제1 머지 리스트 중의 각 후보가 양-방향 예측 움직임 벡터이면, 제1 머지 리스트 중의 각 후보의 리스트 0 움직임 벡터 및 리스트 1 움직임 벡터들의 인터리빙 방식에 따라 참조 인덱스들을 정렬한다. 제1 머지 리스트 중의 후보가 단일-방향 움직임 벡터인 경우, 제로 움직임 벡터를 상기 후보의 움직임 벡터를 뒤따르는 단일-방향 예측 머지 후보로 인덱싱한다. 이것은 현재 픽처가 역방향 예측을 사용할 경우,제1 머지 리스트 중의 각 후보가 그 자체가 양-방향 또는 단일-방향 예측 움직임 벡터에 관계없이 두 개의 단일-방향 움직임 벡터들을 단일-방향 예측 머지 후보들로 제공하는 것을 확보한다.
본 개시의 다른 예에서, 현재 픽쳐가 역방향 예측을 사용하지 않을 경우, 제1 머지 리스트 중의 후보들의 예측 리스트 0 움직임 벡터들을 단일-방향 예측 머지 후보들로 사용하고, 제1 머지 리스트에서와 동일한 인덱스 순서로 인덱싱된다. 그렇지 않고, 현재 픽처가 역방향 예측을 사용할 경우, 제1 머지 리스트 중의 각 후보의 리스트 0 움직임 벡터 및 리스트 1 움직임 벡터들을 단일-방향 예측 머지 후보들로 사용하고, 인터리빙 방식에 따라 인덱싱된다. 즉, 제1 머지 리스트의 제1 후보의 리스트 0 움직임 벡터, 그 다음 제1 후보의 리스트 1 움직임 벡터, 그 다음 제2 후보의 리스트 0 움직임 벡터, 그 다음 제2 후보의 리스트 1 움직임 벡터, 이와 같은 인덱스 순서이다. 제1 머지 리스트 중의 후보가 단일-방향 움직임 벡터일 경우, 움직임 벡터에 특정 움직임 오프셋을 가산한 값을 후보의 움직임 벡터를 뒤따르는 단일-방향 예측 머지 후보로 인덱싱한다.
따라서, 제1 머지 리스트 중의 후보가 단일-방향 움직임 벡터일 경우, 현재 픽쳐의 POC가 참조 픽쳐들의 POC 중 적어도 하나보다 작은 것으로 확정하게 될 경우, 제1 머지 리스트 중의 각 후보의 움직임 벡터와 제로 움직임 벡터, 또는 움직임 벡터에 오프셋을 가산한 값의한 인터리빙 방식에 따라 참조 인덱스들을 정렬한다.
상술한 프로세스들에서, 단일-방향 예측 머지 리스트에 추가할 새로운 움직임 벡터를 체크할 경우, 전체 또는 부분적으로 프루닝(pruning)을 수행할 수 있다. 부분적으로 수행한다는 것은 새로운 움직임 벡터가 일방향-예측 머지 리스트에 이미 있는 움직임 벡터들의 전부가 아닌 일부와 비교한다는 것을 의미한다. 극단적인 경우, 프로세스에서 움직임 벡터 프루닝(즉, 움직임 벡터 비교 연산)을 수행하지 않는다.
현재 픽쳐가 역방향 예측을 사용하는지 여부에 기반하여 일방향-예측 머지 리스트를 형성하는 과정에서 움직임 벡터 프루닝을 적응적으로 수행할 수 있다. 예를 들어, 픽처 예측 구성에 기반한 인덱스 리스트 결정에 관한 본 개시의 예에 대하여, 현재 픽처가 역방향 예측을 사용하지 않을 경우, 전체 또는 부분적으로 움직임 벡터 프루닝 동작을 수행한다. 현재 픽쳐가 역방향 예측을 사용할 경우 움직임 벡터 프루닝(pruning) 동작을 수행하지 않을 수 있다.
삼각형 예측 모드를 위한 일방향-예측 머지 후보 선택
상술한 예들에 더하여, 일방향-예측 머지 리스트 구성 또는 일방향-예측 머지 후보 선택의 다른 방법을 개시한다.
본 개시의 일 예에서, 일반 머지 모드를 위한 제1 머지 리스트를 구성하면, 하기와 같은 규칙에 따라 삼각형 예측을 위한 일방향-예측 머지 후보들을 선택할 수 있다.
제1 머지 리스트 중의 움직임 벡터 후보에 대하여, 그의 리스트 0 움직임 벡터 및 리스트 1 움직임 벡터 중 하나만을 삼각형 예측에 사용한다;
제1 머지 리스트 중의 주어진 움직임 벡터 후보에 대하여, 당해 움직임 벡터 후보가 리스트에서의 머지 인덱스 값이 짝수이면, 리스트 0 움직임 벡터가 사용이 가능하면 삼각형 예측에 사용하고, 당해 움직임 벡터 후보가 리스트 0 움직임 벡터를 가지고 있지 않을 경우, 그의 리스트 1 움직임 벡터를 삼각형 예측에 사용한다.
제1 머지 리스트 중의 주어진 움직임 벡터 후보에 대하여, 당해 움직임 벡터 후보가 리스트에서의 머지 인덱스 값이 홀수이면, 그의 리스트 1 움직임 벡터가 사용이 가능하면 삼각형 예측에 사용하고, 당해 움직임 벡터 후보가 리스트 1 움직임 벡터를 가지고 있지 않을 경우, 그 리스트 0 움직임 벡터를 삼각형 예측에 사용한다.
도 11A는 삼각형 예측 모드를 위한 일방향-예측 움직임 벡터(MV) 선택(또는 일방향-예측 머지 후보 선택)의 예를 도시한다. 당해 예에서, 제1 머지 리스트로부터 도출한 첫 5개의 머지 MV 후보들은 0부터 4까지 인덱싱되며, 각 행은 제1 머지 리스트 중의 후보에 대한 리스트 0 움직임 벡터 및 리스트 1 움직임 벡터를 각각 나타내는 두 개의 열을 가지고 있다. 리스트 중의 각 후보는 일방향-예측 또는 양방향-예측될 수 있다. 일방향-예측된 후보에 대하여, 리스트 0 움직임 벡터 또는 리스트 1 움직임 벡터만 가지고 있고, 양자를 모두 가질 수는 없다. 양방향-예측 후보에 대하여, 리스트 0움직임 벡터 및 리스트 1 움직임 벡터를 모두 가지고 있다. 도 11A에서, 각 머지 인덱스에 대하여 "x"로 표시된 움직임 벡터는 사용 가능한 경우 삼각형 예측에 먼저 사용되는 움직임 벡터이다. "x"로 표시된 움직임 벡터가 사용 불가능할 경우, 동일한 머지 인덱스와 대응하는 표시되지 않은 움직임 벡터를 삼각형 예측에 사용한다.
상술한 개념은 다른 예들로 확장할 수 있다. 도 11B는 삼각형 예측 모드를 위한 일방향-예측 움직임 벡터(MV) 선택의 다른 예를 도시한다. 도11B에 따르면 삼각형 예측을 위한 일방향-예측 머지 후보들을 선택하는 규칙은 다음과 같다:
제1 머지 리스트 중의 움직임 벡터 후보에 대하여, 그 리스트 0 움직임 벡터 또는 리스트 1 움직임 벡터 중 하나만을 삼각형 예측에 사용한다.
제1 머지 리스트 중의 주어진 움직임 벡터 후보에 대해, 당해 움직임 벡터 후보의 리스트에서의 머지 인덱스 값이 짝수이면, 리스트 1 움직임 벡터가 사용 가능한 경우 삼각형 예측에 사용되고, 당해 움직임 벡터 후보가 리스트 1 움직임 벡터를 가지고 있지 않을 경우, 그의 리스트 0 움직임 벡터를 삼각형 예측에 사용된다.
제1 머지 리스트 중의 주어진 움직임 벡터 후보에 대해, 당해 움직임 벡터 후보의 리스트에서의 머지 인덱스 값이 홀수이면, 리스트 0 움직임 벡터가 사용 가능한 경우 삼각형 예측에 사용되고, 당해 움직임 벡터 후보가 리스트 0 움직임 벡터를 가지고 있지 않을 경우, 그의 리스트 1 움직임 벡터를 삼각형 예측에 사용된다.
일부 예들에서, 기타 상이한 순서들이 정의되어 제1 머지 리스트 중의 움직임 벡터 후보들로부터 삼각형 예측을 위한 일방향-예측 머지 후보들을 선택할 수 있다. 보다 구체적으로, 제1 머지 리스트 중의 주어진 움직임 벡터 후보에 대하여, 삼각형 예측에 사용할 수 있을 경우 리스트 0 움직임 벡터 또는 리스트 1 움직임 벡터가 먼저 사용되는지 여부에 대한 결정은 반드시 상기와 같이 제1 머지 리스트 중의 후보의 인덱스 값의 패리티(parity)에 의존할 필요는 없다. 예를 들어, 다음과 같은 규칙을 사용할 수도 있다:
제1 머지 리스트 중의 움직임 벡터 후보에 대해, 당해 움직임 벡터의 리스트 0 움직임 벡터 및 리스트 1 움직임 벡터 중 하나,더욱 정확히는 하나만을 삼각형 예측에 사용한다.
미리 정의된 특정 패턴에 기반하여, 제1 머지 리스트 중의 몇몇 움직임 벡터 후보들에 대해, 리스트 0 움직임 벡터가 사용 가능한 경우 삼각형 예측에 사용하고, 리스트 0 움직임 벡터가 존재하지 않을 경우, 대응하는 리스트 1 움직임 벡터를 삼각형 예측에 사용한다.
미리 정의된 동일한 패턴에 기반하여, 제1 머지 리스트의 몇몇 움직임 벡터 후보들에 대해, 리스트 1 움직임 벡터가 사용 가능한 경우 삼각형 예측에 사용하고, 리스트 1 움직임 벡터가 존재하지 않을 경우, 대응하는 리스트 0 움직임 벡터를 삼각형 예측에 사용한다.
도 12A 내지 도 12D는 삼각형 예측 모드를 위한 일방향-예측 움직임 벡터(MV) 선택에서 미리 정의된 패턴들의 일부 예들을 도시한다. 각 머지 인덱스에 대해 "x"로 표시된 움직임 벡터들은 사용 가능한 경우 삼각형 예측에 먼저 사용되는 움직임 벡터들이다. "x"로 표시된 움직임 벡터가 사용할 수 없는 경우, 동일한 머지 인덱스와 대응하는 표시되지 않은 움직임 벡터를 삼각형 예측에 사용한다.
도 12A에서, 제1 머지 리스트 중의 첫 3개의 움직임 벡터 후보들에 대하여, 그들의 리스트 0 움직임 벡터들을 먼저 체크한다. 리스트 0 움직임 벡터가 사용할 수 없는 경우에만, 대응되는 리스트 1 움직임 벡터를 삼각형 예측에 사용한다. 제1 머지 리스트 중의 네번째 움직임 벡터 후보 및 다섯번째 움직임 벡터 후보에 대하여, 리스트 1 움직임 벡터들을 먼저 체크한다. 리스트 1 움직임 벡터가 사용할 수 없는 경우에만 대응 리스트 0 움직임 벡터를 삼각형 예측에 사용한다. 도 12B 내지 도 12D는 제1 머지 리스트로부터 일방향-예측 머지 후보들을 선택하는 세 가지 다른 패턴들을 나타낸다. 도면에 도시된 예들은 제한적인 것이 아니며, 추가적인 예가 존재한다. 예를 들어, 도 12A 내지 12D에 도시된 패턴들의 수평 및/또는 수직 미러 버전도 사용할 수 있다.
선택된 일방향-예측 머지 후보들을 제1 머지 리스트로부터 직접 인덱싱하고 액세스할 수 있다. 또는 이러한 선택된 일방향-예측 머지 후보들을 삼각형 예측을 위한 일방향-예측 머지 리스트에 포함시킬 수 있다. 도출된 일방향-예측 머지 리스트는 복수의 일방향-예측 머지 후보들을 포함하고, 각 일방향-예측 머지 후보는 제1 머지 리스트 중의 대응하는 후보의 하나의 움직임 벡터를 포함한다. 본 개시의 일부 예들에 따르면, 제1 머지 리스트 중의 각 후보는 리스트 0 움직임 벡터 및 리스트 1 움직임 벡터 중 적어도 하나를 포함하고, 각각의 일방향-예측 머지 후보는 제1 머지 리스트 중의 대응하는 후보의 리스트 0 움직임 벡터 및 리스트 1 움직임 벡터 중 하나일 수 있다. 각 일방향-예측 머지 후보는 정수 값의 머지 인덱스와 관련되며, 일방향-예측 머지 후보에 대한 미리 설정된 규칙에 기반하여 리스트 0 움직임 벡터 및 리스트 1 움직임 벡터를 선택한다.
일 예에서, 짝수 머지 인덱스 값을 갖는 각각의 일방향-예측 머지 후보에 대하여, 제1 머지 리스트 중의 동일한 머지 인덱스를 갖는 대응하는 후보의 리스트 0 움직임 벡터를 일방향-예측 머지 후보로 선택하고; 홀수 머지 인덱스 값을 갖는 각각의 일방향-예측 머지 후보에 대하여, 제1 머지 리스트 중의 동일한 머지 인덱스를 갖는 대응하는 후보의 리스트 1 움직임 벡터를 선택한다. 다른 예에서, 짝수 머지 인덱스 값을 갖는 각각의 일방향-예측 머지 후보에 대하여, 제1 머지 리스트 중의 동일한 머지 인덱스를 갖는 대응하는 후보의 리스트 1 움직임 벡터를 선택하고, 홀수 머지 인덱스 값을 갖는 각각의 일방향-예측 머지 후보에 대하여, 제1 머지 리스트 중의 동일한 머지 인덱스를 갖는 대응하는 후보의 리스트 0 움직임 벡터를 선택한다.
또 다른 예에서, 각각의 일방향-예측 머지 후보에 대하여, 제1 머지 리스트 중의 대응하는 후보의 리스트 1 움직임 벡터가 사용 가능하다고 결정되면, 당해 리스트 1 움직임 벡터를 일방향-예측 머지 후보로 선택하고, 당해 리스트 1 움직임 벡터가 사용 가능하지 않다고 결정되면 제1 머지 리스트 중의 대응하는 후보의 리스트 0 움직임 벡터를 선택한다.
또 다른 예에서, 제1 범위 내의 머지 인덱스 값을 갖는 각각의 일방향-예측 머지 후보에 대하여, 제1 머지 리스트 중의 대응하는 후보의 리스트 0 움직임 벡터를 일방향-예측 머지 후보로 선택하고, 제2 범위 내의 머지 인덱스 값을 갖는 각각의 일방향-예측 머지 후보에 대하여, 제1 머지 리스트 중의 대응하는 후보의 리스트 1 움직임 벡터를 선택된다.
상술한 프로세스에서, 움직임 벡터 프루닝(pruning)도 수행할 수 있다. 이러한 프루닝은 전체 또는 부분적으로 수행될 수 있다. 부분적으로 수행될 경우, 새로운 움직임 벡터를 일방향-예측 머지 리스트 중에 이미 존재하는 움직임 벡터들의 전부가 아닌 일부와 비교됨을 의미한다. 또한 삼각형 예측을 위한 머지 후보로 사용되기 전에, 새로운 모션 벡터들의 전부가 아닌 일부만을 체크하여 프루닝함을 의미할 수도 있다. 하나의 구체적인 예는, 제2 움직임 벡터를 삼각형 예측을 위한 머지 후보로 사용하기 전에 제1 움직임 벡터에 대해 제2 움직임 벡터만 체크하여 프루닝하고, 다른 모든 움직임 벡터를 체크하여 프루닝하지 않는다. 극단적인 경우, 프로세스 과정에서 움직임 벡터 프루닝(즉, 움직임 벡터 비교 연산)을 수행하지 않는다.
삼각형 예측 모드에 대해 본 개시의 일방향-예측 머지 리스트를 형성하는 방법을 설명하였지만, 이러한 방법은 유사한 종류의 다른 예측 모드에 적용할 수 있다. 예를 들어, CU가 정확히 대각선이 아닌 선을 따라 2개의 PU들로 분할되는 보다 일반적인 기하학적 분할 예측 모드에서, 2개의 PU들은 삼각형, 쐐기 또는 사다리꼴 형상과 같은 기하학적 형상을 가질 수 있습니다. 이러한 경우에, 삼각형 예측 모드에서와 유사한 방식으로 각 PU를 예측하고, 여기에 설명된 방법은 동일하게 적용할 수 있다.
도 13은 본 발명의 일부 구현 방식들에 따른 비디오 코딩을 위한 예시적인 장치를 도시하는 블록도이다. 장치(1300)는 모바일 폰, 태블릿 컴퓨터, 디지털 방송 단말기, 태블릿 디바아스, 또는 개인 휴대 단말기와 같은 단말기일 수 있다.
도 13에 도시된 바와 같이, 장치(1300)는 프로세싱 컴포넌트(1302), 메모리(1304), 전력 공급 컴포넌트(1306), 멀티미디어 컴포넌트(1308), 오디오 컴포넌트(1310), 입출력(I/O) 인터페이스(1312), 센서 컴포넌트(1314) 및 통신 컴포넌트(1316)와 같은 구성 중의 하나 또는 그 이상을 포함할 수 있다.
프로세싱 컴포넌트(1302)는 디스플레이, 전화 통화, 데이터 통신, 카메라 동작 및 레코딩 동작과 관련된 동작들과 같은 장치 (1300)의 전체 동작들을 제어한다. 프로세싱 컴포넌트(1302)는 상기 방법의 전부 또는 일부 단계를 완성하기 위한 명령어를 실행하기 위한 하나 또는 그 이상의 프로세서(1320)를 포함할 수 있다. 또한, 프로세싱 컴포넌트(1302)는 프로세싱 컴포넌트(1302)와 다른 컴포넌트 간의 상호 작용을 용이하게 하기 위해 하나 혹은 그 이상의 모듈을 포함할 수 있다. 예를 들어, 프로세싱 컴포넌트(1302)는 멀티미디어 컴포넌트(1308)와 프로세싱 컴포넌트(1302)간의 상호 작용을 용이하게 하기 위해 멀티미디어 모듈을 포함할 수 있다.
메모리(1304)는 장치(1300)의 동작을 지원하기 위해 서로 다른 유형의 데이터를 저장하도록 구성된다. 이러한 데이터의 예로는 장치(1300)에서 동작하는 임의의 애플리케이션 또는 방법에 대한 명령어, 연락처 데이터, 전화번호부 데이터, 메시지, 사진, 비디오 등을 포함한다. 메모리(1304)는 임의의 유형의 휘발성 또는 비 휘발성 저장 장치 또는 이들의 조합에 의해 구현할 수 있고, 메모리(1304)는 SRAM(Static Random Access Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), EPROM(Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), ROM(Read-Only Memory), 자기 메모리(magnetic memory), 플래시 메모리(flash memory), 자기 디스크(magnetic disk) 또는 컴팩트 디스크(compact disk)일 수 있다.
전력 공급 컴포넌트(1306)는 장치(1300)의 다양한 컴포넌트들에 전력을 공급한다. 전력 공급 컴포넌트(1306)는 전력 공급 관리 시스템, 하나 또는 그 이상의 전원 및 장치(1300)의 전력을 생성, 관리 및 분배하는 것과 관련된 기타 컴포넌트를 포함할 수 있다.
멀티미디어 컴포넌트(1308)는 장치(1300)와 사용자 사이의 출력 인터페이스를 제공하는 스크린을 포함한다. 일부 예들에서, 스크린은LCD 및 터치 패널(TP)을 포함할 수 있다. 스크린이 터치 패널을 포함하는 경우, 스크린은 사용자로부터 입력 신호를 수신하는 터치 스크린으로 구현할 수 있다. 터치 패널은 터치 패널상의 터치, 슬라이드 및 제스처를 감지하기 위한 하나 또는 그 이상의 터치 센서를 포함할 수 있다. 터치 센서는 터치 또는 슬라이딩 동작의 경계를 감지할 뿐만 아니라 터치 또는 슬라이딩 동작과 관련된 지속 시간 및 압력도 감지할 수 있다. 일부 예들에서, 멀티미디어 컴포넌트(1308)는 전방 카메라 및/또는 후방 카메라를 포함할 수 있다. 장치(1300)가 촬영 모드 또는 비디오 모드와 같은 동작 모드에 있을 경우, 전방 카메라 및/또는 후방 카메라는 외부 멀티미디어 데이터를 수신할 수 있다.
오디오 컴포넌트(1310)는 오디오 신호를 출력 및/또는 입력하도록 구성된다. 예를 들어, 오디오 컴포넌트(1310)는 마이크(MIC)를 포함한다. 장치(1300)가 통화 모드, 녹음 모드 및 음성 인식 모드와 같은 동작 모드일 경우, 마이크는 외부 오디오 신호를 수신하도록 구성된다. 수신된 오디오 신호는 또한 메모리(1304)에 저장되거나 통신 컴포넌트(1316)를 통해 전송될 수 있다. 일부 예들에서, 오디오 컴포넌트(1310)는 오디오 신호를 출력하기 위한 스피커를 더 포함한다.
I/O 인터페이스(1312)는 프로세싱 컴포넌트(1302)와 주변 인터페이스 모듈사이의 인터페이스를 제공한다. 상기 주변 인터페이스 모듈은 키보드, 클릭 휠, 버튼 등일 수 있다. 이러한 버튼에는 홈 버튼, 볼륨 버튼, 시작 버튼 및 잠금 버튼이 포함될 수 있지만 이에 제한되지는 않는다.
센서 컴포넌트(1314)는 장치(1300)에 대해 상이한 측면들에서 상태 평가를 제공하기 위한 하나 또는 그 이상의 센서를 포함한다. 예를 들어, 센서 컴포넌트(1314)는 장치(1300)의 온/오프 상태 및 컴포넌트의 상대적 위치를 검출할 수 있다. 예를 들어, 컴포넌트는 장치(1300)의 디스플레이 및 키패드이다. 센서 컴포넌트(1314)는 또한 장치(1300) 또는 장치(1300)의 컴포넌트의 위치 변화, 장치에 대한 사용자의 접촉 유무를 감지할 수 있다. 센서 컴포넌트(1314)는 물리적 터치없이 주변 물체의 존재를 감지하도록 구성된 근접 센서를 포함할 수 있다. 센서 컴포넌트(1314)는 이미징 애플리케이션에 사용되는 CMOS 또는 CCD 이미지 센서와 같은 광학 센서를 더 포함할 수 있다. 일부 예에서, 센서 컴포넌트(1314)는 가속도 센서(acceleration sensor), 자이로스코프 센서(gyroscope sensor), 자기 센서(magnetic sensor), 압력 센서(pressure sensor) 또는 온도 센서(temperature sensor)를 더 포함할 수 있다.
통신 컴포넌트(1316)는 장치(1300)와 기타 장치 사이의 유선 또는 무선 통신을 용이하게 하도록 구성된다. 장치(1300)는 WiFi, 4G, 또는 이들의 조합과 같은 통신 표준에 기반한 무선 네트워크에 접속할 수 있다. 일 예에서, 통신 컴포넌트(1316)는 방송 채널을 통해 외부 방송 관리 시스템으로부터 방송 신호 또는 방송 관련 정보를 수신한다. 일 예에서, 통신 컴포넌트(1316)는 근거리 통신을 촉진하기 위한 근거리 무선 통신(Near Field Communication, NFC) 모듈을 더 포함할 수 있다. 예를 들어, NFC 모듈은 RFID(Radio Frequency Identification)기술, IrDA(Infrared Data Association)기술, UWB(Ultra-Wide Band)기술, BT(Bluetooth)기술 및 기타 기술을 기반으로 구현될 수 있다.
일 예에서, 장치(1300)는 상기 방법을 수행하기 위해 ASIC(Application Specific Integrated Circuit), DSP(Digital Signal Processor), DSPD(Digital Signal Processing Devices), PLD(Programmable Logic Device), FPGA(Field Programmable Gate Array), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 또는 기타 전자 요소중 하나 또는 그 이상에 의해 구현될 수 있다.
비-일시적 컴퓨터 판독 가능 저장 매체는 예를 들어 하드 디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD), 플래시 메모리, 하이브리드 드라이브 또는 솔리드 스테이트 하이브리드 드라이브 (SSHD), ROM(Read-Only Memory), 컴팩트 디스크 ROM(CD-ROM), 자기 테이프, 플로피 디스크 등일 수 있다.
도 14는 본 발명의 일부 구현 방식들에 따른 삼각형 예측 유닛을 사용한 움직임 보상 예측을 위한 비디오 코딩의 예시적인 프로세스를 도시하는 흐름도이다.
단계 1402에서, 프로세서(1320)는 비디오 픽처들을 복수의 코딩 단위(CU)들로 분할하고, 이들 중 적어도 하나는 2개의 예측 단위(PU)들로 더 분할된다. 2개의 PU들은 적어도 하나의 기하학적 형상의 PU를 포함한다. 예를 들어, 기하학적 형상의 PU는 한 쌍의 삼각형 형상의 PU들, 한 쌍의 쐐기형 형상의 PU들, 또는 다른 기하학적 형상의 PU들을 포함할 수 있다.
단계 1404에서, 프로세서(1320)는 복수의 후보(각각의 후보는 하나 혹은 그 이상의 움직임 벡터를 포함하는)들을 포함하는 제1 머지 리스트를 구성한다. 예를 들어, 프로세서(1320)는 일반 머지 예측을 위한 머지 리스트 구성 프로세스에 기반하여 제1 머지 리스트를 구성할 수 있다. 프로세서(1320)는 다른 전자 장치 또는 스토리지로부터 제1 머지 리스트를 획득할 수도 있다.
단계 1406에서, 프로세서(1320)는 삼각형 형상의 PU를 위한 일방형-예측 머지 리스트를 획득하거나 도출하며, 상기 일방향-예측 머지 리스트는 복수의 일방향-예측 머지 후보들을 포함하고, 각 일방향-예측 머지 후보는 제1 머지 리스트 중의 대응하는 후보의 하나의 움직임 벡터를 포함한다.
일부 예들에서, 비디오 코딩을 위한 장치가 제공된다. 상기 장치는 프로세서(1320) 및 프로세서에 의해 실행 가능한 명령어를 저장하도록 구성된 메모리(1304)를 포함하며, 프로세서는 명령어 실행시 도 14에 도시된 방법을 수행하도록 구성된다.
일부 다른 예들에서, 명령어가 저장된 비-일시적 컴퓨터 판독 가능 저장 매체(1304)가 제공된다. 명령어가 프로세서(1320)에 의해 실행될때, 명령어는 프로세서로 하여금 도 14에 도시된 방법을 수행하도록 한다.
본 개시 내용의 설명은 예시의 목적으로 제시된 것이며, 본 개시 내용을 망라하거나 제한하고자 하는 것은 아니다. 전술한 설명 및 관련 도면들의 시사로부터 당업자들은 다양한 수정, 변경 및 대안적인 구현 방식들은 명백히 이해할 것이다.
예시들은 본 개시의 원리 및 당업자가 본 개시를 다양한 구현 방식으로 구현하도록 이해하고, 특정된 용도에 적합하도록 본 발명을 수정하도록 본 발명의 기본적인 원리 및 다양한 구현 방식을 제일 적합하게 사용하도록 설명되었다. 따라서, 본 개시의 범위는 개시된 구현 방식들의 특정 예에 제한되지 않으며, 변형 및 다른 구현 방식들은 본 개시에 포함되는 것으로 해석되어야 한다.

Claims (20)

  1. 비디오 픽처들을 복수의 코딩 단위(CU)들로 분할하되, 상기 복수의 CU들 중 적어도 하나는 적어도 하나의 기하학적 형상의 예측 단위(PU)를 포함하는 2 개의 PU들로 더 분할되는 단계;
    복수의 후보들을 포함하는 제1 머지 리스트를 구성하되, 상기 복수의 후보들 각각은 하나 혹은 그 이상의 움직임 벡터를 포함하는 단계; 및
    상기 기하학적 형상의 PU를 위한 일방형-예측 머지 리스트를 획득하되, 상기 일방형-예측 머지 리스트는 복수의 일방향-예측 머지 후보들을 포함하고, 상기 복수의 일방향-예측 머지 후보들 각각은 상기 제1 머지 리스트 중의 대응하는 후보의 하나의 움직임 벡터를 포함하는 단계, 를 포함하는
    비디오 코딩을 위한 방법.
  2. 제 1 항에있어서,
    상기 제1 머지 리스트 중의 각각의 후보는 리스트 0 움직임 벡터 및 리스트 1 움직임 벡터 중의 적어도 하나를 포함하고, 각각의 일방향-예측 머지 후보는 상기 제1 머지 리스트 중의 각각의 후보의 상기 리스트 0 움직임 벡터 및 상기 리스트 1 움직임 벡터 중 하나를 포함하는,
    비디오 코딩을 위한 방법.
  3. 제 2 항에있어서,
    각각의 일방향-예측 머지 후보는 정수 값의 머지 인덱스와 관련되고, 상기 리스트 0 움직임 벡터 및 상기 리스트 1 움직임 벡터는 상기 일방향-예측 머지 후보들을 위해 미리 설정된 규칙에 기반하여 선택되는,
    비디오 코딩을 위한 방법.
  4. 제 3 항에있어서,
    머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 제1 머지 리스트 중의 동일한 머지 인덱스를 가지는 대응하는 후보의 리스트 0 움직임 벡터 또는 리스트 1 움직임 벡터를 포함하는,
    비디오 코딩을 위한 방법.
  5. 제 4 항에 있어서,
    상기 제1 머지 리스트 중의 상기 대응하는 후보의 리스트 0 움직임 벡터가 사용 가능하다고 확정할 경우, 짝수 머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 대응하는 후보의 리스트 0 움직임 벡터를 포함하고, 또는
    상기 제1 머지 리스트 중의 상기 대응하는 후보의 리스트 0 움직임 벡터가 사용 가능하지 않다고 확정할 경우, 짝수 머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 대응하는 후보의 리스트 1 움직임 벡터를 포함하는,
    비디오 코딩을 위한 방법.
  6. 제 4 항에있어서,
    상기 제1 머지 리스트 중의 상기 대응하는 후보의 리스트 1 움직임 벡터가 사용 가능하다고 확정할 경우, 홀수 머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 대응하는 후보의 리스트 1 움직임 벡터를 포함하고, 또는
    상기 제1 머지 리스트 중의 상기 대응하는 후보의 리스트 1 움직임 벡터가 사용 가능하지 않다고 확정할 경우, 홀수 머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 대응하는 후보의 리스트 0 움직임 벡터를 포함하는,
    비디오 코딩을 위한 방법.
  7. 제 3 항에있어서,
    제1 범위내의 머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 제1 머지 리스트 중의 상기 대응하는 후보의 리스트 0 움직임 벡터를 포함하고, 제2 범위내의 머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 제1 머지 리스트 중의 상기 대응하는 후보의 리스트 1 움직임 벡터를 포함하는,
    비디오 코딩을 위한 방법.
  8. 하나 혹은 그 이상의 프로세서; 및
    상기 하나 혹은 그 이상의 프로세서에 의해 실행 가능한 명령어를 저장하도록 구성된 메모리, 를 포함하되,
    상기 하나 혹은 그 이상의 프로세서는 상기 명령어를 실행시 아래와 같은 동작을 수행하도록 구성되며:
    비디오 픽처들을 복수의 코딩 단위(CU)들로 분할하되, 상기 복수의 CU들 중 적어도 하나는 적어도 하나의 기하학적 형상의 예측 단위(PU)를 포함하는 2 개의 PU들로 더 분할되고;
    복수의 후보들을 포함하는 제1 머지 리스트를 구성하되, 상기 복수의 후보들 각각은 하나 혹은 그 이상의 움직임 벡터를 포함하고; 및
    상기 기하학적 형상의 PU를 위한 일방형-예측 머지 리스트를 획득하되, 상기 일방형-예측 머지 리스트는 복수의 일방향-예측 머지 후보들을 포함하고,상기 복수의 일방향-예측 머지 후보들 각각은 상기 제1 머지 리스트 중의 대응하는 후보의 하나의 움직임 벡터를 포함하는,
    비디오 코딩을 위한 장치.
  9. 제 8 항에있어서,
    상기 제1 머지 리스트 중의 각각의 후보는 리스트 0 움직임 벡터 및 리스트 1 움직임 벡터 중의 적어도 하나를 포함하고, 각각의 일방향-예측 머지 후보는 상기 제1 머지 리스트 중의 각각의 후보의 상기 리스트 0 움직임 벡터 및 상기 리스트 1 움직임 벡터 중 하나를 포함하는,
    비디오 코딩을 위한 장치.
  10. 제 9 항에있어서,
    각각의 일방향-예측 머지 후보는 정수 값의 머지 인덱스와 관련되고, 상기 리스트 0 움직임 벡터 및 상기 리스트 1 움직임 벡터는 상기 일방향-예측 머지 후보들을 위해 미리 설정된 규칙에 기반하여 선택되는,
    비디오 코딩을 위한 장치.
  11. 제 10 항에있어서,
    머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 제1 머지 리스트 중의 동일한 머지 인덱스를 가지는 대응하는 후보의 리스트 0 움직임 벡터 또는 리스트 1 움직임 벡터를 포함하는,
    비디오 코딩을 위한 장치.
  12. 제 10 항에있어서,
    상기 제1 머지 리스트 중의 상기 대응하는 후보의 리스트 0 움직임 벡터가 사용 가능하다고 확정할 경우, 짝수 머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 대응하는 후보의 리스트 0 움직임 벡터를 포함하고, 또는
    상기 제1 머지 리스트 중의 상기 대응하는 후보의 리스트 0 움직임 벡터가 사용 가능하지 않다고 확정할 경우, 짝수 머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 대응하는 후보의 리스트 1 움직임 벡터를 포함하는,
    비디오 코딩을 위한 장치.
  13. 제 10 항에있어서,
    상기 제1 머지 리스트 중의 상기 대응하는 후보의 리스트 1 움직임 벡터가 사용 가능하다고 확정할 경우, 홀수 머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 대응하는 후보의 리스트 1 움직임 벡터를 포함하고, 또는
    상기 제1 머지 리스트 중의 상기 대응하는 후보의 리스트 1 움직임 벡터가 사용 가능하지 않다고 확정할 경우, 홀수 머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 대응하는 후보의 리스트 0 움직임 벡터를 포함하는,
    비디오 코딩을 위한 장치.
  14. 제 10 항에있어서,
    제1 범위내의 머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 제1 머지 리스트 중의 상기 대응하는 후보의 리스트 0 움직임 벡터를 포함하고, 제2 범위내의 머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 제1 머지 리스트 중의 상기 대응하는 후보의 리스트 1 움직임 벡터를 포함하는,
    비디오 코딩을 위한 장치.
  15. 그 자체에 저장된 명령어들을 포함하는 비-일시적 컴퓨터 판독 가능 저장 매체에 있어서,
    하나 혹은 그 이상의 프로세서가 상기 명령어를 실행시, 상기 명력어들은 상기 하나 혹은 그 이상의 프로세서로 하여금:
    비디오 픽처들을 복수의 코딩 단위(CU)들로 분할하되, 상기 복수의 CU들 중 적어도 하나는 적어도 하나의 기하학적 형상의 예측 단위(PU)를 포함하는 2 개의 PU들로 더 분할되고;
    복수의 후보들을 포함하는 제1 머지 리스트를 구성하되, 상기 복수의 후보들 각각은 하나 혹은 그 이상의 움직임 벡터를 포함하고; 및
    상기 기하학적 형상의 PU를 위한 일방형-예측 머지 리스트를 획득하되, 상기 일방형-예측 머지 리스트는 복수의 일방향-예측 머지 후보들을 포함하고,상기 복수의 일방향-예측 머지 후보들 각각은 상기 제1 머지 리스트 중의 대응하는 후보의 하나의 움직임 벡터를 포함하는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  16. 제 15 항에있어서,
    상기 제1 머지 리스트 중의 각각의 후보는 리스트 0 움직임 벡터 및 리스트 1 움직임 벡터 중의 적어도 하나를 포함하고, 각각의 일방향-예측 머지 후보는 상기 제1 머지 리스트 중의 각각의 후보의 상기 리스트 0 움직임 벡터 및 상기 리스트 1 움직임 벡터 중 하나를 포함하는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  17. 제 16 항에있어서,
    각각의 일방향-예측 머지 후보는 정수 값의 머지 인덱스와 관련되고, 상기 리스트 0 움직임 벡터 및 상기 리스트 1 움직임 벡터는 상기 일방향-예측 머지 후보들을 위해 미리 설정된 규칙에 기반하여 선택되는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  18. 제 17 항에있어서,
    머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 제1 머지 리스트 중의 동일한 머지 인덱스를 가지는 대응하는 후보의 리스트 0 움직임 벡터 또는 리스트 1 움직임 벡터를 포함하는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  19. 제 16 항에있어서,
    상기 제1 머지 리스트 중의 상기 대응하는 후보의 리스트 0 움직임 벡터가 사용 가능하다고 확정할 경우, 짝수 머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 대응하는 후보의 리스트 0 움직임 벡터를 포함하고, 또는 상기 제1 머지 리스트 중의 상기 대응하는 후보의 리스트 0 움직임 벡터가 사용 가능하지 않다고 확정할 경우, 짝수 머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 대응하는 후보의 리스트 1 움직임 벡터를 포함하는,및
    상기 제1 머지 리스트 중의 상기 대응하는 후보의 리스트 1 움직임 벡터가 사용 가능하다고 확정할 경우, 홀수 머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 대응하는 후보의 리스트 1 움직임 벡터를 포함하고, 또는 상기 제1 머지 리스트 중의 상기 대응하는 후보의 리스트 1 움직임 벡터가 사용 가능하지 않다고 확정할 경우, 홀수 머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 대응하는 후보의 리스트 0 움직임 벡터를 포함하는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  20. 제 17 항에 있어서,
    제1 범위내의 머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 제1 머지 리스트 중의 상기 대응하는 후보의 리스트 0 움직임 벡터를 포함하고, 제2 범위내의 머지 인덱스 값을 가지는 각각의 일방향-예측 머지 후보는 상기 제1 머지 리스트 중의 상기 대응하는 후보의 리스트 1 움직임 벡터를 포함하는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
KR1020217027107A 2019-03-12 2020-03-12 삼각형 예측을 위한 비디오 코딩 방법 및 장치 KR102489716B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227046454A KR20230008900A (ko) 2019-03-12 2020-03-12 삼각형 예측을 위한 비디오 코딩 방법 및 장치

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962817537P 2019-03-12 2019-03-12
US62/817,537 2019-03-12
US201962817852P 2019-03-13 2019-03-13
US62/817,852 2019-03-13
PCT/US2020/022488 WO2020186117A1 (en) 2019-03-12 2020-03-12 Methods and apparatus of video coding for triangle prediction

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227046454A Division KR20230008900A (ko) 2019-03-12 2020-03-12 삼각형 예측을 위한 비디오 코딩 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210110742A true KR20210110742A (ko) 2021-09-08
KR102489716B1 KR102489716B1 (ko) 2023-01-18

Family

ID=72422831

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020217027107A KR102489716B1 (ko) 2019-03-12 2020-03-12 삼각형 예측을 위한 비디오 코딩 방법 및 장치
KR1020227046454A KR20230008900A (ko) 2019-03-12 2020-03-12 삼각형 예측을 위한 비디오 코딩 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020227046454A KR20230008900A (ko) 2019-03-12 2020-03-12 삼각형 예측을 위한 비디오 코딩 방법 및 장치

Country Status (13)

Country Link
US (2) US11134261B2 (ko)
EP (4) EP4246978A3 (ko)
JP (4) JP7377277B2 (ko)
KR (2) KR102489716B1 (ko)
CN (5) CN116800959B (ko)
DK (1) DK3915254T3 (ko)
ES (1) ES2969378T3 (ko)
FI (1) FI3915254T3 (ko)
HU (1) HUE064582T2 (ko)
MX (1) MX2021010392A (ko)
PL (1) PL3915254T3 (ko)
PT (1) PT3915254T (ko)
WO (1) WO2020186117A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020139903A1 (en) * 2018-12-25 2020-07-02 Beijing Dajia Internet Information Technology Co., Ltd. Video coding with triangular shape prediction units
US11456902B2 (en) * 2019-06-20 2022-09-27 Board Of Trustees Of Michigan State University Data packet position modulation system
US11736720B2 (en) * 2019-09-03 2023-08-22 Tencent America LLC Motion vector refinement methods for video encoding
EP4356609A1 (en) * 2021-06-15 2024-04-24 QUALCOMM Incorporated Motion vector candidate construction for geometric partitioning mode in video coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180107761A (ko) * 2017-03-22 2018-10-02 한국전자통신연구원 참조 블록을 사용하는 예측 방법 및 장치

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK3429205T3 (da) * 2010-05-04 2020-09-07 Lg Electronics Inc Fremgangsmåde og indretning til at behandle et videosignal
RU2619202C1 (ru) * 2010-07-20 2017-05-12 Нтт Докомо, Инк. Устройство кодирования изображений с предсказанием, способ кодирования изображений с предсказанием, программа кодирования изображений с предсказанием, устройство декодирования изображений с предсказанием, способ декодирования изображений с предсказанием и программа декодирования изображений с предсказанием
US9066110B2 (en) * 2011-03-08 2015-06-23 Texas Instruments Incorporated Parsing friendly and error resilient merge flag coding in video coding
KR101935620B1 (ko) * 2011-04-12 2019-01-04 선 페이턴트 트러스트 동화상 부호화 방법, 동화상 부호화 장치, 동화상 복호화 방법, 동화상 복호화 장치, 및 동화상 부호화 복호화 장치
US9485518B2 (en) * 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
EP3614665B1 (en) * 2011-05-27 2022-03-23 Sun Patent Trust Apparatus, method and program for decoding moving pictures
US9866859B2 (en) * 2011-06-14 2018-01-09 Texas Instruments Incorporated Inter-prediction candidate index coding independent of inter-prediction candidate list construction in video coding
IN2014CN02456A (ko) * 2011-09-29 2015-06-19 Sharp Kk
KR20130050407A (ko) * 2011-11-07 2013-05-16 오수미 인터 모드에서의 움직임 정보 생성 방법
TWI580260B (zh) * 2012-01-18 2017-04-21 Jvc Kenwood Corp Dynamic image decoding device, dynamic image decoding method, and dynamic image decoding program
US9451277B2 (en) * 2012-02-08 2016-09-20 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
US9426463B2 (en) * 2012-02-08 2016-08-23 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
US9325991B2 (en) * 2012-04-11 2016-04-26 Qualcomm Incorporated Motion vector rounding
US9479778B2 (en) * 2012-08-13 2016-10-25 Qualcomm Incorporated Device and method for coding video information using base layer motion vector candidate
US9699450B2 (en) * 2012-10-04 2017-07-04 Qualcomm Incorporated Inter-view predicted motion vector for 3D video
US9538180B2 (en) * 2012-12-17 2017-01-03 Qualcomm Incorporated Motion vector prediction in video coding
JP6149151B2 (ja) * 2013-04-02 2017-06-14 ヴィド スケール インコーポレイテッド スケーラブルビデオコーディングのための拡張時間的動きベクトル予測
KR20130067280A (ko) * 2013-04-18 2013-06-21 엠앤케이홀딩스 주식회사 인터 예측 부호화된 동영상 복호화 방법
BR112017010468B1 (pt) * 2014-11-18 2024-01-02 Hfi Innovation Inc Método de decodificação de vídeo para blocos codificados no modo de interpredição e método de codificação de vídeo para blocos codificados no modo de interpredição
US10271064B2 (en) 2015-06-11 2019-04-23 Qualcomm Incorporated Sub-prediction unit motion vector prediction using spatial and/or temporal motion information
US10412407B2 (en) * 2015-11-05 2019-09-10 Mediatek Inc. Method and apparatus of inter prediction using average motion vector for video coding
US10368083B2 (en) * 2016-02-15 2019-07-30 Qualcomm Incorporated Picture order count based motion vector pruning
KR20180136967A (ko) * 2016-04-22 2018-12-26 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US10560718B2 (en) * 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
US10812791B2 (en) * 2016-09-16 2020-10-20 Qualcomm Incorporated Offset vector identification of temporal motion vector predictor
US10582209B2 (en) * 2017-03-30 2020-03-03 Mediatek Inc. Sub-prediction unit temporal motion vector prediction (sub-PU TMVP) for video coding
CN109151468B (zh) * 2017-06-28 2020-12-08 华为技术有限公司 一种图像数据的编码、解码方法及装置
US11019355B2 (en) * 2018-04-03 2021-05-25 Electronics And Telecommunications Research Institute Inter-prediction method and apparatus using reference frame generated based on deep learning
WO2020094079A1 (en) * 2018-11-06 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Block size dependent storage of motion information

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180107761A (ko) * 2017-03-22 2018-10-02 한국전자통신연구원 참조 블록을 사용하는 예측 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Ru-Ling Liao, et al. CE10.3.1.b:Triangular prediction unit mode, Joint Video exploration Team(JVET), JVET-L0124-v2, 2018-10-08* *
Xianglin Wang, et al. Non-CE10: Triangle prediction merge list construction, Joint Video exploration Team(JVET), JVET-M0233, 2019-01-03* *

Also Published As

Publication number Publication date
EP4246977A2 (en) 2023-09-20
JP2024045373A (ja) 2024-04-02
MX2021010392A (es) 2021-10-01
EP3915254A1 (en) 2021-12-01
CN116800959B (zh) 2024-03-26
EP4243419A2 (en) 2023-09-13
KR20230008900A (ko) 2023-01-16
JP2024038441A (ja) 2024-03-19
EP4246978A2 (en) 2023-09-20
CN116800960B (zh) 2024-05-31
EP4243419A3 (en) 2023-12-20
US11134261B2 (en) 2021-09-28
CN113824959A (zh) 2021-12-21
CN116800959A (zh) 2023-09-22
PT3915254T (pt) 2024-01-02
CN115643400A (zh) 2023-01-24
EP4246978A3 (en) 2023-12-27
JP7377277B2 (ja) 2023-11-09
EP3915254A4 (en) 2022-05-18
JP2023134607A (ja) 2023-09-27
PL3915254T3 (pl) 2024-03-11
EP4246977A3 (en) 2023-12-27
US20200296406A1 (en) 2020-09-17
HUE064582T2 (hu) 2024-03-28
CN116800960A (zh) 2023-09-22
CN115643400B (zh) 2023-06-20
KR102489716B1 (ko) 2023-01-18
ES2969378T3 (es) 2024-05-17
JP2022522285A (ja) 2022-04-15
CN113824959B (zh) 2022-10-28
EP3915254B1 (en) 2023-10-11
US20210400293A1 (en) 2021-12-23
CN113475069A (zh) 2021-10-01
FI3915254T3 (fi) 2023-12-28
WO2020186117A1 (en) 2020-09-17
DK3915254T3 (da) 2024-01-08

Similar Documents

Publication Publication Date Title
KR102489716B1 (ko) 삼각형 예측을 위한 비디오 코딩 방법 및 장치
KR20230074855A (ko) 삼각형 예측을 위한 비디오 코딩 방법 및 장치
US20240323354A1 (en) Methods and apparatuses for video coding with triangle prediction
US20240314352A1 (en) Methods and apparatus of video coding for triangle prediction
US20220239902A1 (en) Methods and apparatuses for video coding using triangle partition
CN114982230B (zh) 用于使用三角形分区的视频编解码的方法和装置
CN113841406A (zh) 使用三角形分割用于视频编解码的方法和装置
CN113994672A (zh) 用于利用三角形预测进行视频编解码的方法和装置

Legal Events

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