KR20210129721A - 병합 모드를 위한 예측 가중치를 결정하는 방법, 디바이스, 및 시스템 - Google Patents

병합 모드를 위한 예측 가중치를 결정하는 방법, 디바이스, 및 시스템 Download PDF

Info

Publication number
KR20210129721A
KR20210129721A KR1020217032611A KR20217032611A KR20210129721A KR 20210129721 A KR20210129721 A KR 20210129721A KR 1020217032611 A KR1020217032611 A KR 1020217032611A KR 20217032611 A KR20217032611 A KR 20217032611A KR 20210129721 A KR20210129721 A KR 20210129721A
Authority
KR
South Korea
Prior art keywords
weight
sub
block
control points
affine
Prior art date
Application number
KR1020217032611A
Other languages
English (en)
Inventor
지에 첸
룰링 랴오
얀 예
Original Assignee
알리바바 그룹 홀딩 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알리바바 그룹 홀딩 리미티드 filed Critical 알리바바 그룹 홀딩 리미티드
Publication of KR20210129721A publication Critical patent/KR20210129721A/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/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/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

본 개시는 병합 모드를 위한 예측 가중치를 결정하는 시스템, 디바이스, 및 방법을 제공한다. 하나의 예시적인 방법은, 코딩 유닛의 상속된 아핀 병합 후보, 구성된 아핀 병합 후보, 또는 제로 모션 벡터 중 적어도 하나에 대한 가중치를 결정하는 단계; 및 결정된 가중치에 기반하여 코딩 유닛을 양방향-예측하는 단계를 포함한다. 현재 코딩 유닛의 가중치는 비트스트림에서 가중치 인덱스를 명시적으로 시그널링함으로써 또는, 디코더 측에서의 암시적 도출을 통해 결정될 수 있다.

Description

병합 모드를 위한 예측 가중치를 결정하는 방법, 디바이스, 및 시스템
본 출원은 2019년 3월 11일에 출원된 미국 가출원 번호 제62/816,879호에 대한 우선권을 주장하며, 이는 그 전체가 본 개시에 참조로서 포함된다.
본 개시는 일반적으로 비디오 데이터 처리, 보다 구체적으로는 병합 모드를 위한 예측 가중치를 결정하는 방법, 디바이스, 및 시스템에 관한 것이다.
예를 들어, 소비되는 저장 공간을 감소하거나 신호들과 연관된 전송 대역폭 소비를 감소하기 위해, 디지털 비디오 신호를 전환 및 압축하는 데에 비디오 코딩이 종종 사용된다.
비디오 코딩 시스템은 코딩 프로세스와 관련된 다양한 문제점을 해결하기 위해 다양한 툴과 기술을 구현할 수 있다. 예를 들어, 비디오 코딩 프로세스에서, 입력 비디오 데이터는 상이한 크기의 블록 유닛으로 분할(partitioned)되어, 블록별로 처리될 수 있다. 예측 프로세스에서, 블록들은 예컨대 인트라 예측 모드(intra prediction mode) 및 인터 예측 모드(inter prediction mode)와 같이 다양한 예측 모드를 이용하여 예측될 수 있다. 블록의 크기에 기반하여, 상이한 예측 모드가 적용될 수 있다. 비디오 코딩의 효율과 정확성을 향상시키기 위해, 그리고 수반되는 계산 복잡성을 줄이기 위해 다양한 기술이 제안되어 왔다.
하지만, 상이한 기술의 어플리케이션에서는 상이한 조건이 있을 수 있다. 예를 들어, 일부 기술은 코딩 유닛이 다양한 조건을 만족할 것을 요구하거나, 코딩 유닛이 특정 모드로 코딩되는 것을 요구할 수 있다. 또 다른 예시로서, 가중 예측 프로세스에서, 일부 기술들이 일부 모션 벡터 후보의 처리에만 적용되고 다른 것에는 적용되지 않을 수 있다. 상이한 기술의 조합은 모든 블록(block) 또는 모든 서브-블록(sub-block)을 처리하는 경우에는 실현 불가능할 수 있다. 따라서, 각각의 적용 가능한 조건을 고려하면서, 다양한 기술을 적절하게 조합 또는 선택하는 것이 바람직하다.
본 개시의 실시예들은 비디오 데이터 처리에서 예측 가중치를 결정하는 방법, 디바이스, 및 시스템을 제공한다. 일부 예시적인 실시예에 따르면, 비디오 데이터의 디코더에 의해 수행되는 방법은, 코딩 유닛의 상속된 아핀 병합 후보(inherited affine merge candidate), 구성된 아핀 병합 후보(constructed affine merge candidate), 또는 제로 모션 벡터(zero motion vector) 중 적어도 하나에 대한 가중치를 결정하는 단계; 및 결정된 가중치에 기반하여 코딩 유닛을 양방향-예측(bi-predicting)하는 단계를 포함한다. 일부 실시예에서, 가중치는 비트스트림에서 시그널링되는 가중치 인덱스(weight index)에 기반하여 결정될 수 있다.
일부 실시예에서, 복수의 제어 지점을 갖는 구성된 아핀 병합 후보에 대한 가중치를 획득하기 위해 디코더에 의해 구현되는 방법이 제공된다. 하나의 예시적인 방법은, 구성된 아핀 병합 후보와 연관된 복수의 제어 지점이 하나 이상의 가중치를 갖는 것에 응답하여, 좌측 상단 제어 지점과 연관된 가중치 또는 우측 상단 제어 지점과 연관된 가중치에 기반하여 구성된 아핀 병합 후보에 대한 가중치를 결정하는 단계를 포함한다.
일부 실시예에서, 복수의 제어 지점을 갖는 구성된 아핀 병합 후보에 대한 가중치를 획득하기 위해 디코더에 의해 구현되는 방법이 제공된다. 하나의 예시적인 방법은, 구성된 아핀 병합 후보와 연관된 복수의 제어 지점이 동일한 가중치를 갖는 것에 응답하여, 복수의 제어 지점의 가중치를 구성된 아핀 병합 후보의 가중치로서 결정하는 단계; 및 복수의 제어 지점이 상이한 가중치를 갖는 것에 응답하여, 디폴트 값(default value)을 구성된 아핀 병합 후보의 가중치로서 결정하는 단계를 포함한다.
일부 실시예에서, 비디오 데이터 처리에서 예측 가중치(prediction weight)를 결정하는 방법이 제공된다. 하나의 예시적인 방법은, 복수의 제어 지점들의 가중치 중에서, 코딩 유닛의 제어 지점들의 가중치에 기반하여 코딩 유닛 내 제1 서브-블록의 가중치를 결정하는 단계; 결정된 가중치에 기반하여 제1 서브-블록의 모션 예측자(motion predictor)를 생성하는 단계; 모션 예측자에 기반하여 코딩 유닛을 처리하는 단계를 포함한다.
일부 실시예에서, 비디오 데이터 처리에서 예측 가중치를 결정하는 디바이스가 제공된다. 하나의 예시적인 비디오 처리 장치는 명령어를 저장하는 메모리와 프로세서를 포함하고, 프로세서는, 디바이스로 하여금 코딩 유닛의 상속된 아핀 병합 후보, 구성된 아핀 병합 후보, 또는 제로 모션 벡터 중 적어도 하나에 대한 가중치를 결정하고; 결정된 가중치에 기반하여 코딩 유닛을 양방향-예측하게 하는 명령어를 실행하도록 구성된다.
일부 실시예에서, 비디오 데이터 처리에서 예측 가중치를 결정하는 디바이스가 제공된다. 하나의 예시적인 비디오 처리 장치는 코딩 유닛의 제어 지점들의 가중치에 기반하여 코딩 유닛 내 제1 서브-블록의 가중치를 결정하고; 결정된 가중치에 기반하여 제1 서브-블록의 모션 예측자를 생성하고; 및 모션 예측자에 기반하여 코딩 유닛을 처리하는 것을 포함한다.
일부 실시예에서, 비-일시적 컴퓨터-판독 가능 매체가 제공된다. 하나의 예시적인 비-일시적 컴퓨터-판독 가능 매체는 비디오 처리 디바이스의 하나 이상의 프로세서에 의해 실행 가능한 명령어의 세트를 저장하고, 명령어의 세트는 디바이스로 하여금, 코딩 유닛의 상속된 아핀 병합 후보, 구성된 아핀 병합 후보, 또는 제로 모션 중 적어도 하나에 대한 가중치를 결정하는 단계; 및 결정된 가중치에 기반하여 코딩 유닛을 양방향-예측하는 단계를 포함하는 방법을 수행하도록 한다.
일부 실시예에서, 비-일시적 컴퓨터-판독 가능 매체가 제공된다. 하나의 예시적인 비-일시적 컴퓨터-판독 가능 매체는 비디오 처리 디바이스의 하나 이상의 프로세서에 의해 실행 가능한 명령어의 세트를 저장하고, 명령어의 세트는 디바이스로 하여금, 코딩 유닛의 제어 지점들의 가중치에 기반하여 코딩 유닛 내 제1 서브-블록의 가중치를 결정하는 단계; 결정된 가중치에 기반하여 제1 서브-블록의 모션 예측자를 생성하는 단계; 및 모션 예측자에 기반하여 코딩 유닛을 처리하는 단계를 포함하는 방법을 수행하도록 한다.
본 개시의 실시예들 및 다양한 양태들은 이하의 상세한 설명 및 첨부된 도면에 나타나 있다. 도면에 도시된 다양한 특징부들은 축척에 맞게 도시된 것은 아니다.
도 1은 본 개시의 일부 실시예에 따른, 예시적인 비디오 인코딩 및 디코딩 시스템을 나타내는 개략도이다.
도 2는 본 개시의 일부 실시예에 따른, 도 1의 예시적인 시스템의 일부분일 수 있는 예시적인 비디오 인코더를 나타내는 개략도이다.
도 3은 본 개시의 일부 실시예에 따른, 도 1의 예시적인 시스템의 일부분일 수 있는 예시적인 비디오 디코더를 나타내는 개략도이다.
도 4a는 본 개시의 일부 실시예에 따른, 예시적인 2-제어-지점 아핀 모션 모델(affine motion model)의 개략도이다.
도 4b는 본 개시의 일부 실시예에 따른, 예시적인 3-제어-지점 아핀 모션 모델의 개략도이다.
도 5는 본 개시의 일부 실시예에 따른, 예시적인 서브-블록 당 아핀 모션 벡터 필드(MVF: motion vector field)를 나타내는 개략도이다.
도 6은 본 개시의 일부 실시예에 따른, 상속된 아핀 모션 예측자들의 예시적인 위치를 나타내는 개략도이다.
도 7은 본 개시의 일부 실시예에 따른, 제어 지점 모션 벡터 상속(control point motion vector inheritance)의 한 예시를 나타내는 개략도이다.
도 8은 본 개시의 일부 실시예에 따른, 구성된 아핀 병합 모드에 대한 예시적인 후보 위치를 나타내는 개략도이다.
도 9a는 본 개시의 일부 실시예에 따른, 2개의 제어 지점을 갖는 코딩 유닛에 대한 수평 서브-블록 분할(partitioning)을 나타내는 개략도이다.
도 9b는 본 개시의 일부 실시예에 따른, 2개의 제어 지점을 갖는 코딩 유닛에 대한 수직 서브-블록 분할(을 나타내는 개략도이다.
도 9c는 본 개시의 일부 실시예에 따른, 2개의 제어 지점을 갖는 코딩 유닛에 대한, 4개의 서브-블록으로의 서브-블록 분할을 나타내는 개략도이다.
도 9d는 본 개시의 일부 실시예에 따른, 2개의 제어 지점을 갖는 코딩 유닛에 대한, 4개의 서브-블록으로의 서브-블록 분할을 나타내는 개략도이다.
도 10a는 본 개시의 일부 실시예에 따른, 3개의 제어 지점을 갖는 코딩 유닛에 대한 수직 서브-블록 분할을 나타내는 개략도이다.
도 10b는 본 개시의 일부 실시예에 따른, 3개의 제어 지점을 갖는 코딩 유닛에 대한 수평 서브-블록 분할을 나타내는 개략도이다.
도 10c는 본 개시의 일부 실시예에 따른, 3개의 제어 지점을 갖는 코딩 유닛에 대한 수평 서브-블록 분할을 나타내는 개략도이다.
도 10d는 본 개시의 일부 실시예에 따른, 3개의 제어 지점을 갖는 코딩 유닛에 대한 수직 서브-블록 분할을 나타내는 개략도이다.
도 10e는 본 개시의 일부 실시예에 따른, 3개의 제어 지점을 갖는 코딩 유닛에 대한, 4개의 서브-블록으로의 서브-블록 분할을 나타내는 개략도이다.
도 10f는 본 개시의 일부 실시예에 따른, 3개의 제어 지점을 갖는 코딩 유닛에 대한, 4개의 서브-블록으로의 서브-블록 분할을 나타내는 개략도이다.
도 10g는 본 개시의 일부 실시예에 따른, 3개의 제어 지점을 갖는 코딩 유닛에 대한, 4개의 서브-블록으로의 서브-블록 분할을 나타내는 개략도이다.
도 10h는 본 개시의 일부 실시예에 따른, 3개의 제어 지점을 갖는 코딩 유닛에 대한, 4개의 서브-블록으로의 서브-블록 분할을 나타내는 개략도이다.
도 11은 본 개시의 일부 실시예에 따른, 4개의 제어 지점을 갖는 코딩 유닛에 대한, 4개의 서브-블록으로의 서브-블록 분할을 나타내는 개략도이다.
이하에서는 예시적인 실시예를 상세하게 참조할 것이며, 그 예시들은 첨부되는 도면에 도시되어 있다. 이하의 설명은 첨부되는 도면을 참조하며, 상이한 도면에서 동일한 도면 부호는 달리 명시하지 않는 한 동일하거나 유사한 요소를 나타낸다. 이하의 예시적인 실시예들의 설명에서 제시되는 구현예들은 본 발명에 따른 모든 구현예를 대표하는 것은 아니다. 오히려, 첨부되는 청구항에 제시된 것과 같은 본 발명과 관련된 양태들에 따른 장치 및 방법의 예시일 뿐이다.
도 1은 HEVC/H.265 및 VVC/H.266과 같은 다양한 비디오 코딩 표준에 따라 기술들을 활용할 수 있는 예시적인 비디오 인코딩 및 디코딩 시스템(100)을 나타내는 블록도이다. 도 1에 도시된 바와 같이, 시스템(100)은 목적지 디바이스(140)에 의해 이후 시간에 디코딩될, 인코딩된 비디오 데이터를 제공하는 소스 디바이스(120)를 포함한다. 본 개시의 일부 실시예에 따르면, 소스 디바이스(120)와 목적지 디바이스(140)의 각각은 데스크톱 컴퓨터, 노트북(예를 들어, 랩톱) 컴퓨터, 태블릿 컴퓨터, 셋-톱 박스, 모바일 폰, 텔레비전, 카메라, 웨어러블 디바이스(예를 들어, 스마트 워치 또는 웨어러블 카메라), 디스플레이 디바이스, 디지털 미디어 플레이어, 비디오 게이밍 콘솔, 비디오 스트리밍 디바이스 등과 같은 넓은 범위의 디바이스들 중 임의의 것을 포함할 수 있다. 소스 디바이스(120)와 목적지 디바이스(140)는 무선 또는 유선 통신을 위한 장비를 갖출 수 있다.
도 1을 참조하면, 소스 디바이스(120)는 비디오 소스(122), 비디오 인코더(124), 및 출력 인터페이스(126)를 포함할 수 있다. 목적지 디바이스(140)는 입력 인터페이스(142), 비디오 디코더(144), 및 디스플레이 디바이스(146)를 포함할 수 있다. 일부 실시예에서, 소스 디바이스 및 목적지 디바이스는 다른 컴포넌트 또는 배치(arrangements)를 더 포함할 수 있다. 예를 들어, 소스 디바이스(120)는 외부 카메라와 같은 외부 비디오 소스(도시되지 않음)으로부터 비디오 데이터를 수신할 수 있다. 유사하게, 목적지 디바이스(140)는 통합된 디스플레이 디바이스를 포함하기 보다는, 외부 디스플레이 디바이스와 인터페이스로 접속될 수 있다.
이하의 설명에도 불구하고, 일부 기술은 비디오 인코딩 디바이스에 의해 수행되는 것으로 설명되며, 기술들은 또한 통상적으로 “코덱(CODEC)”으로 지칭되는 비디오 인코더/디코더에 의해 수행될 수 있다. 또한, 본 개시의 기술들은 비디오 전처리기에 의해 수행될 수도 있다. 소스 디바이스(120)와 목적지 디바이스(140)는 단지 소스 디바이스(120)가 목적지 디바이스(140)로의 전송을 위해 코딩된 비디오 데이터를 생성하는 코딩 디바이스들의 예시일뿐이다. 일부 실시예에서, 소스 디바이스(120)와 목적지 디바이스(140)는, 소스 디바이스(120)와 목적지 디바이스(140)가 각각 비디오 인코딩 및 디코딩 컴포넌트를 포함하도록, 실질적으로 대칭적인 방식으로 동작할 수 있다. 따라서, 시스템(100)은 예를 들어, 비디오 스트리밍, 비디오 재생, 비디오 방송, 또는 비디오 통화를 위한 소스 디바이스(120)와 목적지 디바이스(140) 사이의 단-방향 또는 양-방향 비디오 전송을 지원할 수 있다.
소스 디바이스(120)의 비디오 소스(122)는 비디오 카메라와 같은 비디오 캡처 장치, 사전에 캡처된 비디오 데이터를 포함하는 비디오 아카이브, 또는 비디오 컨텐츠 제공자로부터 비디오를 수신하기 위한 비디오 공급 인터페이스를 포함할 수 있다. 추가적인 대안으로서, 비디오 소스(122)는 소스 비디오로서 컴퓨터 그래픽-기반 데이터를 생성하거나, 라이브 비디오, 보관된(archived) 비디오, 및 컴퓨터-생성된 비디오의 조합을 생성할 수 있다. 캡처된 비디오, 사전-캡처된 비디오, 또는 컴퓨터-생성된 비디오가 비디오 인코더(124)에 의해 인코딩될 수 있다. 그러면 출력 인터페이스(126)에 의해 인코딩된 비디오 정보가 통신 매체(160)로 출력될 수 있다.
출력 인터페이스(126)는 인코딩된 비디오 데이터를 소스 디바이스(120)로부터 목적지 디바이스(140)로 전송할 수 있는 임의의 종류의 매체 또는 디바이스를 포함할 수 있다. 예를 들어, 출력 인터페이스(126)는 인코딩된 비디오 데이터를 소스 디바이스(120)로부터 목적지 디바이스(140)로 직접 실시간으로 전송하도록 구성되는 송신기(transmitter) 또는 트랜시버(transceiver)를 포함할 수 있다. 인코딩된 비디오 데이터는 무선 통신 프로토콜과 같은 통신 표준에 따라 변조(modulate)되어 목적지 디바이스(140)에 전송될 수 있다.
통신 매체(160)는 무선 브로드캐스트나 유선 네트워크 전송과 같은 일시적 매체를 포함할 수 있다. 예를 들어, 통신 매체(160)는 고주파(RF) 스펙트럼 또는 하나 이상의 물리적 전송 라인(예를 들어, 케이블)을 포함할 수 있다. 통신 매체(160)는 근거리 네트워크, 원거리 네트워크, 또는 인터넷과 같은 글로벌 네트워크와 같은 패킷-기반 네트워크의 일부를 형성할 수 있다. 일부 실시예에서, 통신 매체(160)는 라우터, 스위치, 기지국, 또는 소스 디바이스(120)로부터 목적지 디바이스(140)로의 통신을 용이하게 하는 데에 유용할 수 있는 임의의 다른 장비를 포함할 수 있다. 예를 들어, 네트워크 서버(도시되지 않음)가 소스 디바이스(120)로부터 인코딩된 비디오 데이터를 수신하여, 인코딩된 비디오 데이터를 (예를 들어, 네트워크 전송을 통해) 목적지 디바이스(140)에 제공할 수 있다.
통신 매체(160)는 예컨대 하드 디스크, 플래시 드라이브, 콤팩트 디스크, 디지털 비디오 디스크, 블루-레이 디스크, 휘발성 또는 비-휘발성 메모리, 또는 인코딩된 비디오 데이터를 저장하기 위한 임의의 다른 적절한 디지털 저장 매체와 같이 저장 매체(예를 들어, 비-일시적 저장 매체)의 형태일 수도 있다. 일부 실시예에서, 예컨대 디스크 스탬핑 설비(disc stamping facility)와 같은 매체 생산 설비의 컴퓨팅 디바이스가 소스 디바이스(120)로부터 인코딩된 비디오 데이터를 수신하여 인코딩된 비디오 데이터를 포함하는 디스크를 생산할 수 있다.
목적지 디바이스(140)의 입력 인터페이스(142)는 통신 매체(160)로부터 정보를 수신한다. 수신된 정보는 블록 및 다른 코딩된 유닛의 특징 또는 처리를 설명하는 신택스 요소들을 포함한 신택스 정보를 포함할 수 있다. 신택스 정보는 비디오 인코더(124)에 의해 정의되어, 비디오 디코더(144)에 의해 사용된다. 디스플레이 디바이스(146)는 디코딩된 비디오 데이터를 사용자에게 디스플레이하며, 음극선관(CRT: cathode ray tube), 액정 디스플레이(LCD: liquid crystal display), 플라즈마 디스플레이, 유기 발광 다이오드(OLED: organic light emitting diode) 디스플레이, 또는 다른 종류의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 임의의 것을 포함할 수 있다.
또 다른 예시로, 소스 디바이스(120)에 의해 생성되는 인코딩된 비디오는 파일 서버 또는 저장 디바이스에 저장될 수 있다. 입력 인터페이스(142)는 스트리밍 또는 다운로드를 통해 파일 서버 또는 저장 디바이스로부터 저장된 비디오 데이터에 액세스할 수 있다. 파일 서버 또는 저장 디바이스는 인코딩된 비디오 데이터를 저장하고 목적지 디바이스(140)로 인코딩된 비디오 데이터를 전송할 수 있는 임의의 종류의 컴퓨팅 디바이스일 수 있다. 파일 서버의 예시로는, 웹사이트를 지원하는 웹 서버, FTP(file transfer protocol) 서버, NAS(network attached storage) 디바이스, 또는 로컬 디스크 드라이브가 포함된다. 인코딩된 비디오 데이터의 저장 디바이스로부터의 전송은 스트리밍 전송, 다운로드 전송, 또는 이들의 조합일 수 있다.
비디오 인코더(124) 및 비디오 디코더(144) 각각은 하나 이상의 마이크로 프로세서, 디지털 신호 프로세서(DSP), 어플리케이션 특수 집적 회로(ASIC), 필드 프로그램 가능한 게이트 어레이(FPGA), 이산 논리, 소프트웨어, 하드웨어, 펌웨어, 또는 이들의 임의의 조합과 같은 다양한 적절한 인코더 회로망 중 임의의 것으로서 구현될 수 있다. 기술이 부분적으로 소프트웨어의 형태로 구현될 때, 디바이스는 적절한, 비-일시적 컴퓨터-판독 가능 매체에 소프트웨어에 대한 명령어를 저장하고, 본 개시의 기술을 수행하기 위해 하나 이상의 프로세서를 이용하여 하드웨어 내 명령어를 실행할 수 있다. 비디오 인코더(124)와 비디오 디코더(144)의 각각은 하나 이상의 인코더 또는 디코더에 포함될 수 있으며, 이들 중 하나는 조합된 인코더/디코더(CODEC)의 일부로서 각각의 디바이스에 통합될 수 있다.
비디오 인코더(124) 및 비디오 디코더(144)는 예컨대 Versatile Video Coding(VVC/H.266) 표준, High Efficiency Video Coding(HEVC/H.265) 표준, ITU-T H.264(MPEG-4로도 알려짐) 표준 등과 같은 임의의 비디오 코딩 표준에 따라 동작할 수 있다. 도 1에 도시되지는 않았지만, 일부 실시예에서, 비디오 인코더(124)와 비디오 디코더(144)는 각각 오디오 인코더 및 디코더와 통합될 수 있고, 공통 데이터 스트림 또는 별도의 데이터 스트림에서 오디오와 비디오 모두의 인코딩을 처리하기 위해 적절한 MUX-DEMUX 유닛, 또는 다른 하드웨어 및 소프트웨어를 포함할 수 있다.
도 2는 개시된 실시예에 따른 예시적인 비디오 인코더(200)를 나타내는 개략도이다. 예를 들어, 비디오 인코더(200)는 시스템(100)의 비디오 인코더(124) (도 1)로서 사용될 수 있다. 비디오 인코더(200)는 비디오 블록 또는 비디오 블록들의 파티션이나 서브-파티션을 포함한 비디오 프레임 내 블록들의 인트라- 또는 인터-코딩을 수행할 수 있다. 인트라-코딩은 주어진 비디오 프레임 내 비디오의 공간적 반복을 감소 또는 제거하기 위해 공간 예측에 의존할 수 있다. 인터-코딩은 비디오 시퀀스의 인접한 프레임들 내에 있는 비디오에서 시간적 반복을 감소 또는 제거하기 위해 시간 예측에 의존할 수 있다. 인트라 모드는 다수의 공간 기반 압축 모드를 지칭할 수 있다. 인터 모드(예컨대 단일-예측(uni-prediction) 또는 양방향-예측)는 다수의 시간-기반 압축 모드를 지칭할 수 있다.
도 2를 참조하면, 입력 비디오 신호(202)는 블록별로 처리될 수 있다. 예를 들어, 비디오 블록 유닛은 16x16 픽셀 블록(예를 들어, 매크로블록(MB: macroblock))일 수 있다. 비디오 블록의 크기는 사용되는 코딩 기술과 요구되는 정확도 및 효율에 따라 달라질 수 있다. HEVC에서, 예를 들어, 1080p 이상의 해상도의 비디오 신호를 압축하기 위해 확장된 블록 크기(예를 들어, 코딩 트리 유닛(CTU: coding tree unit))가 사용될 수 있다. HEVC에서, CTU는 최대 64x64 루마 샘플, 대응하는 크로마 샘플, 및 연관 신택스 요소를 포함할 수 있다. VVC에서, CTU의 크기는 128x128 루마 샘플, 대응하는 크로마 샘플, 및 연관 신택스 요소들을 포함하기 위해 더 증가될 수 있다. CTU는 예를 들어, 쿼드-트리(quad-tree), 이진 트리(binary tree), 또는 삼진 트리(ternary tree)를 이용하여 코딩 유닛(CU)들로 추가적으로 분할될 수 있다. CU는 별도의 예측 방법이 적용될 수 있는 예측 유닛(PU; prediction unit)들로 더 분할될 수 있다. 각각의 입력 비디오 블록은 공간 예측 유닛(260) 또는 시간 예측 유닛(262)을 이용하여 처리될 수 있다.
공간 예측 유닛(260)은 현재 블록을 포함하는 동일한 화상/슬라이스에 대한 정보를 이용하여 현재 블록/CU에 공간 예측(예를 들어, 인트라 예측)을 수행한다. 공간 예측은 현재 비디오 블록을 예측하기 위해, 동일한 비디오 화상 프레임/슬라이스에서 이미 코딩된 이웃하는 블록들로부터의 픽셀을 이용할 수 있다. 공간 예측은 비디오 신호 내 내재된(inherent) 공간 반복도를 감소할 수 있다.
시간 예측 유닛(262)은 현재 블록을 포함하는 화상/슬라이스와는 다른 화상(들)/슬라이스(들)로부터의 정보를 이용하여 현재 블록에 대한 시간 예측(예를 들어, 인터 예측)을 수행한다. 비디오 블록에 대한 시간 예측은 하나 이상의 모션 벡터에 의해 시그널링될 수 있다. 유닛-방향 시간 예측에서는, 현재 블록에 대한 예측 신호를 생성하기 위해 하나의 참조 화상을 표시하는 하나의 모션 벡터만이 사용된다. 반면에, 양-방향 시간 예측에서는, 현재 블록에 대한 예측 신호를 생성하기 위해 각각이 각각의 참조 화상을 표시하는 2개의 모션 벡터가 사용될 수 있다. 모션 벡터는 현재 블록과 참조 프레임들 내 하나 이상의 연관 블록(들) 사이의 모션의 양 및 방향을 표시할 수 있다. 다수의 참조 화상이 지원되는 경우, 비디오 블록에 대해 하나 이상의 참조 화상 인덱스가 전송될 수 있다. 하나 이상의 참조 인덱스는 참조 화상 저장소(reference picture store) 또는 디코딩된 화상 버퍼(DPB, 264)에서 어떤 참조 화상(들)로부터 시간 예측 신호가 올 수 있는지를 식별하기 위해 사용될 수 있다.
인코더 내 모드 결정 및 인코더 제어 유닛(280)은 예를 들어, 율-왜곡 최적화(rate-distortion optimization)에 기반하여 예측 모드를 선택할 수 있다. 결정된 예측 모드에 기반하여, 예측 블록이 획득될 수 있다. 예측 블록은 가산기(adder)(216)에서 현재 비디오 블록으로부터 감산될 수 있다. 예측 잔차는 변환 유닛(204)에 의해 변환되고 양자화 유닛(206)에 의해 양자화될 수 있다. 양자화된 잔차 계수들은 역양자화 유닛(210)에서 역양자화되고, 역변환 유닛(212)에서 역변환되어 재구성된 잔차를 형성할 수 있다. 재구성된 잔차는 재구성된 비디오 블록을 형성하기 위해 가산기(226)에서 예측 블록에 가산될 수 있다. 인트라 예측에 대한 참조 샘플을 제공하기 위해 루프-필터링 전에 재구성된 비디오 블록이 사용될 수 있다.
재구성된 비디오 블록은 루프 필터(266)에서 루프 필터링을 거칠 수 있다. 예를 들어, 예컨대 디블로킹 필터(deblocking filter), 샘플 적응적 오프셋(SAO: sample adaptive offset), 및 적응적 루프 필터(ALF: adaptive loop filter)와 같은 루프 필터링이 적용될 수 있다. 루프 필터링 이후에 재구성된 블록은 참조 화상 저장소(264)에 저장될 수 있고, 다른 비디오 블록을 코딩하기 위한 인터 예측 참조 샘플을 제공하기 위해 사용될 수 있다. 출력 비디오 비트스트림(220)을 형성하기 위해, 데이터가 압축 및 패킹되어 비트스트림(220)을 형성하기 전에, 비트율을 더 감소시키기 위해 코딩 모드(예를 들어, 인터 또는 인트라), 예측 모드 정보, 모션 정보, 양자화 잔차 계수가 엔트로피 코딩 유닛(entropy coding unit, 208)에 전송될 수 있다.
도 3은 개시된 실시예들에 따른 비디오 디코더(300)를 나타내는 개략도이다. 예를 들어, 비디오 디코더(300)는 시스템(100)의 비디오 디코더(144)와 같이 사용될 수 있다(도 1). 도 3을 참조하면, 비디오스트림(302)은 엔트로피 디코딩 유닛(308)에서 언패킹(unpacked) 또는 엔트로피 디코딩될 수 있다. 코딩 모드 정보는 공간 예측 유닛(360) 또는 시간 예측 유닛(362) 중 어떤 것이 선택되는지를 결정하는 데 사용될 수 있다. 예측 모드 정보는 예측 블록을 생성하기 위해 대응하는 예측 유닛에 전송될 수 있다. 예를 들어, 시간 예측 블록을 형성하기 위해 시간 예측 유닛(362)에 의해 모션 보상 예측이 적용될 수 있다.
재구성된 잔차를 획득하기 위해 잔차 계수가 역양자화 유닛(310) 및 역변환 유닛(312)에 전송될 수 있다. 예측 블록과 재구성된 잔차는 326에서 합산되어, 루프 필터링 전에 재구성된 블록을 형성할 수 있다. 재구성된 블록은 그 다음, 루프 필터(366)에서 루프 필터링을 거칠 수 있다. 예를 들어, 디블로킹 필터, SAO 및 ALF와 같은 루프 필터링이 적용될 수 있다. 루프 필터링 이후의 재구성된 블록은 참조 화상 저장소(364)에 저장될 수 있다. 참조 화상 저장소(364) 내 재구성된 데이터는 디코딩된 비디오(320)를 획득하기 위해 사용되거나, 미래 비디오 블록을 예측하기 위해 사용될 수 있다. 디코딩된 비디오(320)는 시스템(100)에서 설명된 바와 같이, 디스플레이 디바이스(146)(도 1 참조)와 같은 디스플레이 디바이스에서 디스플레이될 수 있다.
일부 실시예에서, 아핀 모션 예측(affine motion prediction)이 적용될 수 있다. HEVC에서, 예를 들어, 모션 보상 예측(MCP; motion compensation prediction)을 위해 병진 운동 모델(translational motion model)이 적용될 수 있다. 현실 세계에는 예컨대 줌 인/아웃, 회전, 원근(perspective) 운동, 또는 다른 불규칙한 운동과 같이 다양한 종류의 모션이 존재한다. VVC에서, 블록-기반 아핀 변환 모션 보상 예측이 적용된다. 도 4a 및 도 4b에 도시된 바와 같이, 블록의 아핀 모션 필드는 2개의 제어 지점(4-파라미터 아핀 모션 모델, 도 4a 참조) 또는 3개의 제어 지점 모션 벡터(6-파라미터 아핀 모션 모델, 도 4b 참조)의 모션 정보에 의해 설명될 수 있다.
도 4a에 도시된 바와 같이, v o 는 좌측-상단 모서리 제어 지점(CP: control point, 402)에 대한 제어 지점 모션 벡터를 나타내고, v 1 은 우측-상단 모서리 CP(404)에 대한 제어 지점 모션 벡터를 나타낸다. 4-파라미터 아핀 모션 모델의 경우, 블록 내 샘플 위치(x, y)에서의 모션 벡터는 다음과 같이 도출(derived)될 수 있다.
Figure pct00001
(1)
여기서, (mv0x, mv0y)는 좌측-상단 모서리(CP)(402)의 모션 벡터를 나타내고, (mv1x, mv1y)는 우측 상단 모서리(CP)(404)의 모션 벡터를 나타낸다.
도 4b에 도시된 바와 같이, 6-파라미터 아핀 모션 모델에서, v o 는 좌측-상단 모서리 제어 지점(CP)(406)에 대한 제어 지점 모션 벡터를 나타내고, v 1 은 우측-상단 모서리 CP(408)에 대한 제어 지점 모션 벡터를 나타내며, v 2 는 좌측 하단 모서리 CP(410)에 대한 제어 지점 모션 벡터를 나타낸다. 6-파라미터 아핀 모션 모델의 경우, 블록 내 샘플 위치(x, y)에서의 모션 벡터는 다음과 같이 도출될 수 있다.
Figure pct00002
(2)
여기서, (mv0x, mv0y)는 좌측-상단 모서리 CP(406)의 모션 벡터를 나타내고, (mv1x, mv1y)는 우측-상단 모서리 CP(408)의 모션 벡터를 나타내며, (mv2x, mv2y)는 좌측-하단 모서리 CP(410)의 모션 벡터를 나타낸다.
일부 실시예에서, 모션 보상 예측 프로세스를 단순화하기 위해, 블록-기반 아핀 변환 예측이 적용될 수 있다. 각각의 4x4 루마 서브-블록의 모션 벡터를 도출하기 위해, 상기 수학식 (1) 및 (2)에 따라 도 5에 도시된 것과 같은 각각의 서브-블록의 중앙 샘플의 모션 벡터가 계산되어, 1/16 프랙션 정확도(fraction accuracy)로 반올림(rounded)될 수 있다. 도 5에 도시된 화살표들은 각각의 서브-블록에 대응하는 모션 벡터를 나타낸다. 그 다음, 모션 보상 내삽 필터가 도출된 모션 벡터 내의 각 서브-블록의 예측을 생성하기 위해 적용될 수 있다. 크로마-성분의 서브-블록 크기도 4x4로 설정될 수 있다. 4x4 크로마 서브-블록의 모션 벡터는 4개의 대응하는 4x4 루마 서브 블록의 모션 벡터들의 평균으로서 계산될 수 있다.
병진 운동 인터 예측에 대해 수행된 바와 같이, 2개의 아핀 모션 인터 예측 모드, 즉 아핀 병합 모드 및 아핀 AMVP(Advanced Motion Vector Prediction) 모드가 존재한다. 아핀 병합 모드는 폭과 높이가 모두 8 이상인 CU에 대해 적용될 수 있다. AMVP 모드에서, 공간적으로 이웃하는 CU의 모션 정보에 기반하여 현재 CU의 제어 지점 모션 벡터(CPMV)가 생성될 수 있다. 최대 5개의 CPMV 후보가 있을 수 있다. 현재 CU에 대해 사용될 하나의 후보를 나타내기 위해 인덱스가 시그널링될 수 있다. 다음의 세 가지 종류의 CPMV 후보, (1) 이웃하는 CU들의 CPMV들로부터 외삽되는 상속된 아핀 병합 후보; (2) 이웃하는 CU들의 병진 모션 벡터(MV)들을 이용하여 도출되는 구성된 아핀 병합 후보 CPMV; (3) 제로 MV가 아핀 병합 후보 리스트를 형성하기 위해 사용된다. 이 세 가지 종류의 후보는 이하에서 더 설명된다.
VVC에서, 최대 2개의 상속된 아핀 병합 후보가 존재할 수 있다. 2개의 상속된 아핀 병합 후보는 이웃하는 블록의 아핀 모션 모델로부터, 즉 하나는 이웃하는 좌측 CU로부터 그리고 하나는 이웃하는 상부 측 CU로부터 도출된다. 후보 블록(A0, A1, B0, B1, 및 B2)들이 도 6에 도시되어 있다. 좌측 모션 벡터 예측자의 경우, 이웃하는 블록들은 다음과 같은 순서, A0 -> A1로 확인될 수 있다. 상부 측 모션 벡터 예측자의 경우, 이웃하는 블록들은 다음과 같은 순서, B0 -> B1 -> B2로 확인될 수 있다. 각 측(좌측 및 상부 측)으로부터 제1 상속된 후보가 선택될 수 있다. 즉, 각 측에서 확인 순서대로 아핀 모드로 코딩되는 제1 이웃하는 블록이 선택된다. 또한, 2개의 상속된 후보 사이에는 프루닝 체크(pruning check)가 수행되지 않을 수 있다.
이웃하는 아핀 CU가 식별되면, 현재 CU의 아핀 병합 리스트에서 CPMV 후보를 도출하기 위해 그 제어 지점 모션 벡터가 사용될 수 있다. 도 7에 도시된 바와 같이, 이웃하는 좌측 하단 블록 A가 아핀 모드로 코딩되는 경우, 블록 A를 포함하는 CU(704)의 좌측-상단 모서리, 우측-상단 모서리, 좌측-하단 모서리의 모션 벡터(v2, v3, 및 v4)가 획득될 수 있다. 블록 A가 4-파라미터 아핀 모델로 코딩되는 경우, 현재 CU(702)의 2개의 CPMV가 v2 및 v3에 따라 계산될 수 있다. 대안적으로, 블록 A가 6-파라미터 아핀 모델로 코딩되는 경우, 현재 CU(702)의 3개의 CPMV는 v2, v3, 및 v4에 따라 계산될 수 있다.
구성된 아핀 후보는, 후보가 각 제어 지점의 이웃하는 모션 정보를 조합함으로써 구성됨을 의미한다. 도 8에 도시된 바와 같이, 4개의 제어 지점(802, 804, 806, 및 808)에 대한 모션 정보는 특정된 공간적 이웃 및 시간적 이웃으로부터 도출될 수 있다. k번째 제어 지점(CPk)의 모션 벡터를 나타내기 위해 CPMVk(k=1, 2, 3, 4)가 사용될 수 있다. CP(801)에 대응하는 CPMV1의 경우, 이웃하는 블록들(B2, B3 및 A2)이 B2 -> B3 -> A2 순서에 따라 확인될 수 있다. 가장 먼저 사용 가능한 블록의 MV가 사용될 수 있다. CP(804)에 대응하는 CPMV2의 경우, 이웃하는 블록들(B1 및 B0)이 B1 -> B0의 순서로 확인될 수 있다. CP(806)에 대응하는 CPMV3의 경우, 이웃하는 블록들(A1 및 A0)은 A1 -> A0의 순서로 확인될 수 있다. CP(808)에 대응하는 CPMV4의 경우, 시간적 모션 벡터 예측자(TMVP; temporal motion vector predictor)가 사용 가능한 경우 TMVP가 CPMV4로서 사용될 수 있다.
4개의 제어 지점(802 내지 808)의 MV가 획득되고 나면, 모션 정보에 기반하여 아핀 병합 후보들이 구성될 수 있다. 제어 지점 MV들의 조합은 다음의 순서, {CPMV1, CPMV2, CPMV3}, {CPMV1, CPMV2, CPMV4}, {CPMV1, CPMV3, CPMV4}, {CPMV2, CPMV3, CPMV4}, {CPMV1, CPMV2}, {CPMV1, CPMV3} 순서로 후보들을 구성하는 데에 사용될 수 있다.
3개의 CPMV의 조합은 6-파라미터 아핀 병합 후보를 구성할 수 있고, 2개의 CPMV의 조합은 4-파라미터 아핀 병합 후보를 구성할 수 있다. 일부 실시예에서, 모션 스케일링 프로세스(motion scaling process)를 회피하기 위해, 제어 지점의 참조 인덱스가 상이할 경우, 제어 지점 MV들의 대응하는 조합이 폐기(discarded)될 수 있다.
상속된 아핀 병합 후보들과 구성된 아핀 병합 후보들이 확인되고 난 이후에, 아핀 병합 후보 리스트가 아직 완전히 차지 않았을 경우(not full), 리스트 마지막에 제로 MV가 삽입될 수 있다.
폭과 높이가 모두 16 이상인 CU에 대해 아핀 AMVP 모드가 적용될 수 있다. 아핀 AMVP 모드가 사용되는지 여부를 표시하기 위해 CU 수준에서의 아핀 플래그가 비트스트림에서 시그널링될 수 있다. 아핀 AMCP 모드가 사용되는 경우, 4-파라미터 아핀 또는 6-파라미터 아핀 중 어느 것이 사용되는지 표시하기 위해 다른 플래그가 시그널링될 수 있다. 현재 CU의 CPMV들과 이들의 예측자(CPMVP)들의 차이가 비트스트림에서 시그널링될 수 있다. 아핀 AMVP 후보 리스트의 크기는 2이다. 후보 리스트는 다음의 네 가지 종류의 CPMVP 후보, (1) 이웃하는 CU들의 CMVP들로부터 외삽되는 상속된 아핀 AMVP 후보; (2) 이웃하는 CU들의 병진 MV들을 이용하여 도출된 아핀 AMVP 후보 CPMVP; (3) 이웃하는 CU들로부터의 병진 MV; 및 (3) 제로 MV를 다음의 순서로 이용함으로써 생성될 수 있다.
상속된 아핀 AMVP 후보들의 확인 순서는 전술한 바와 같이, 상속된 아핀 병합 후보들의 확인 순서와 동일할 수 있다. 유일한 차이점은, AMVP 후보의 경우 현재 블록과 동일한 참조 화상을 갖는 아핀 CU만이 고려된다는 점이다. 상속된 아핀 모션 예측자를 후보 리스트에 삽입할 때 프루닝 프로세스는 적용되지 않는다.
도 8에 도시된 바와 같이, 특정된 공간적 이웃으로부터 구성된 AMVP 후보가 도출될 수 있다. 아핀 병합 후보 구성에 사용된 것과 동일한 확인 순서가 사용될 수 있다. 또한, 이웃 블록의 참조 화상 인덱스 또한 확인된다. 확인 순서에서, 인터 코딩되는 그리고 현재 CU에서와 동일한 참조 화상을 갖는 첫 번째 블록이 사용된다. 현재 CU가 4-파라미터 아핀 모드로 코딩되고, mv 0 mv 1 이 모두 사용 가능할 때, 이들은 아핀 AMVP 리스트에서 하나의 후보로서 추가될 수 있다. 현재 CU가 6-파라미터 아핀 모드로 코딩되고, 3개의 CPMV가 모두 사용 가능할 때, 이들은 아핀 AMVP 리스트에서 하나의 후보로서 추가된다. 그렇지 않을 경우에는, 구성된 AMVP 후보는 사용 불가능한 것으로 설정될 수 있다.
상속된 아핀 AMVP 후보 및 구성된 AMVP 후보가 확인된 후, 아핀 AMVP 리스트 후보들은 여전히 2개 미만일 수 있다. 이 경우, 현재 CU의 모든 제어 지점(MV)을 예측하기 위해, mv 0 , mv 1 , 및 mv 2 가 사용 가능할 경우에 순서대로 병진 운동 MV로서 추가될 수 있다. 마지막으로, 아핀 AMVP 후보 리스트가 아직 가득 차지 않을 경우에는 리스트를 채우기 위해 제로 MV가 사용될 수 있다.
일부 실시예에서, 가중 평균화를 사용한 양방향-예측(BWA; bi-prediction with weighted averaging)이 적용될 수 있다. 종래에는(traditionally), 양방향-예측 신호는 2개의 상이한 참조 화상으로부터 획득된 2개의 예측 신호를 평균화함으로써, 및/또는 2개의 상이한 모션 벡터를 이용해야만 생성된다. VVC에서, 양방향-예측 모드는 단순 평균화보다 확장되어, 다음의 수학식에 도시된 바와 같이 2개의 예측 신호의 가중 평균화를 허용한다.
Figure pct00003
(3)
가중 평균화 양방향-예측에서는 5개의 가중치, w∈{-2, 3, 4, 5, 10}가 허용된다. 각각의 양방향-예측된 CU에 대해, 다음 두 가지 중 하나의 방식으로 가중치(w)가 결정될 수 있다. 1) 비-병합 CU의 경우, 모션 벡터 차이(difference) 이후에 가중치 인덱스가 시그널링될 수 있다. 2) 병합 CU의 경우, 병합 후보 인덱스에 기반하여 이웃하는 블록으로부터 가중치 인덱스가 추론될 수 있다(inferred). 가중 평균화 양방향-예측은 256개 이상의 루마 샘플을 갖는 CU들에 적용될 수 있으며, 이는 CU 폭과 CU 높이를 곱한 것이 256 이상이라는 의미이다. 저-지연 화상(low-delay picture)의 경우, 5개의 가중치가 모두 사용될 수 있다. 비-저-지연 화상(non-low-delay picture)의 경우, 3개의 가중치(w∈{3,4,5})만이 사용된다.
인코더 측에서, 인코더 복잡도를 크게 증가시키지 않으면서 가중치 인덱스를 찾기 위해 고속 탐색 알고리즘이 적용될 수 있다. 이러한 알고리즘들의 적용은 다음에 기반하여 요약될 수 있다. 적응적 모션 벡터 해상도(AMVR: adaptive motion vector resolution)와 조합될 때, 현재 화상이 저-지연 화상일 경우에 비동일(unequal) 가중치들은 1-pel 및 4-pel 모션 벡터 정밀도에 대해서 조건적으로만 확인된다. 아핀 모션 보상과 조합될 때, 아핀 모드가 현재 최적 모드로서 선택될 경우에만 비동일 가중치들에 대해 아핀 모션 추정(ME: motion estimation)이 수행될 것이다. 양방향-예측에서 두 참조 화상이 동일할 경우, 비동일 가중치들은 조건적으로만 확인된다.
일부 실시예에서, 특정 조건이 충족될 때 비동일 가중치는 탐색되지 않는다. 현재 화상과 참조 화상 사이의 화상 순서 카운트(POC: picture order count) 거리, 코딩 양자화 파라미터(QP: quantization parameter), 및 시간 레벨과 같은 다양한 인자들이 고려될 수 있다.
전술한 바와 같이, BWA가 병합 예측과 조합될 때, 가중치 인덱스는 병합 후보 인덱스에 기반하여 이웃하는 블록으로부터 추론될 수 있다. 하지만, 이는 아핀 병합 예측의 경우에는 항상 참은 아닐 수 있다. 전술한 바와 같이 아핀 병합 예측의 경우, 아핀 병합 후보 리스트에는 다음의 세 가지 유형의 CPMV 후보, 1) 이웃하는 CU들의 CPMV로부터 외삽되는 상속된 아핀 병합 후보; 2) 이웃하는 CU들의 병진 MV를 이용하여 도출되는 구성된 아핀 병합 후보 CPMV; 3) 제로 MV가 있을 수 있다. 제1 유형의 후보(상속된 아핀 병합 후보)가 선택되는 경우, 이웃하는 CU의 BWA 가중치 인덱스 또한 상속된다. 따라서, 양방향-예측에서 사용되는 현재 CU의 가중치 인덱스는 이웃하는 CU(이로부터 CPMV가 상속됨)의 가중치 인덱스와 동일하다. 하지만, 제2 유형의 후보(구성된 아핀 병합 후보) 또는 제3 유형의 후보(제로 모션 벡터)가 선택되는 경우, 이웃하는 CU의 BWA 가중치 인덱스는 상속되지 않는다. 그 대신, 일부 기술에서는 현재 CU 가중치 인덱스를 디폴트 값으로 설정함으로써 현재 CU에 대해 동일 가중치가 사용될 수 있다.
전술된 설계는 적어도 다음과 같은 단점을 갖는다. 전술한 설계에 기초하면, 동일한 후보 리스트 내 CPMV 후보의 두 유형인, 상속된 아핀 병합 후보들과 구성된 아핀 병합 후보들 사이에 BWA 가중치 인덱스 상속의 불일치(inconsistency)가 있을 수 있다. 따라서, 인코더와 디코더가 이러한 두 유형의 후보들을 구별하여, 현재 CU에 대한 BWA 가중치를 생성하기 위해 상이한 논리를 사용해야 한다. 상속된 아핀 병합 후보들은 이웃하는 CU로부터 상속되는 반면에, 구성된 아핀 병합 후보들은 고정된다. 따라서, 이는 처리 복잡도를 증가시킨다.
또한, 구성된 아핀 병합 후보가 선택되는 경우 현재 CU에 대한 가중치가 고정될 수 있어, 가중치 선택의 유연성을 상실한다. BWA는 인터 예측에서의 가중치 평균화에 대해 더 많은 옵션을 제공함으로써 코딩 성능을 향상시키기 때문에, BWA가 VVC 표준에서 채택된다. 하지만, 고정된 동일 가중치(equal weight)를 사용하면 BWA의 이점이 감소되어, 코딩 성능이 절충될 수 있다.
또한, 상속된 아핀 병합 후보들 및 구성된 아핀 병합 후보들을 삽입한 이후에도 후보 리스트가 완전히 차지 않을 때, 제로 MV가 아핀 병합 후보 리스트에 삽입된다. 하지만, 후보 리스트에 삽입되는 모든 제로 MV에 대한 BWA 가중치를 고정하는 것은, 리스트에서 동일한 MV 후보들이 중복됨을 의미하며, 이는 후보 시그널링의 리던던시(redundancy)를 야기한다. 또한, 전술한 바와 같이, 구성된 아핀 병합 후보의 경우, 이웃하는 CU 가중치는 사용되지 않는다. 이는, BWA가 병합 모드와 조합될 때, 가중치 인덱스가 병합 후보 인덱스에 기반하여 이웃하는 블록들로부터 추론된다는 설계 개념으로부터 시작한다.
전술한 문제들을 해결하기 위해, 본 개시에는 다음의 기술들이 제공된다.
위의 문제점을 해결하는 한 가지 기술은 명시적(explicit) 가중치 시그널링을 통한 것이다. 명시적 시그널링을 이용하면, 현재 CU의 가중치가 인코더에 의해 선택될 수 있고, 선택된 가중치의 인덱스가 명시적으로 비트스트림에서 시그널링될 수 있다. 이는 가중치 인덱스가 병합 후보 인덱스에 기반하여 이웃하는 블록으로부터 추론된다는 개념을 바꾼다. 아핀 병합 예측의 경우, 현재 CU의 가중치는 더 이상 이웃하는 CU로부터 추론되지 않는다. 인코더는 허용되는 후보 가중치들로부터 임의의 값을 선택하여 선택된 값을 비트스트림에서 시그널링할 수 있다.
본 개시의 일부 실시예에서, 상속된 아핀 병합 후보, 구성된 아핀 병합 후보, 및 제로 모션 벡터를 포함한 모든 종류의 아핀 병합 후보들의 가중치가 모두 인코더에 의해 선택되어 비트스트림에서 시그널링될 수 있다. 일부 실시예에서, 아핀 병합 후보들 중 일부(전부는 아님)의 가중치들이 인코더에 의해 선택되어 비트스트림에서 시그널링될 수 있다. 예를 들어, 구성된 아핀 병합 후보에 대한 가중치만 선택되어 시그널링될 수 있고, 다른 후보들(예를 들어, 상속된 아핀 병합 후보)에 대한 가중치들은 이웃하는 CU들로부터 추론되거나 디폴트 값으로 고정된다.
본 개시의 일부 실시예에서, 가중치 인덱스를 비트스트림에서 전송함으로써 가중치가 시그널링될 수 있다.
기존의 문제점을 해결하는 또 다른 기술은 암시적(implicit) 가중치 도출을 통한 것이다. 이 기술을 이용하면, 구성된 아핀 병합 후보가 이용되는 CU에 대해 가중치가 고정되지 않는다. 그 대신, 가중치가 이웃하는 CU들로부터 추론될 수 있다. 각각의 구성된 아핀 병합 후보에 대해, 이러한 구성된 아핀 병합 후보의 CP에 따라 가중치 또는 가중치 인덱스가 도출될 수 있다. 이러한 구성된 아핀 병합 후보가 CU에 대해 사용되는 경우, 도출된 가중치 또는 가중치 인덱스가 CU에 대해서도 사용될 수 있다.
예를 들어, k번째 CU를 나타내기 위해 CPk(k=1, 2, 3, 4)가 사용될 수 있다. 각각의 CU에 대해, 대응하는 CPMV를 도출하기 위해 이웃하는 CU들이 사용될 수 있다. 이웃하는 CU들은 CP의 가중치 또는 가중치 인덱스를 도출하기 위해서도 사용된다. 일반적으로는, 4개의 제어 지점이 존재한다. 따라서, 구성된 아핀 병합 후보는 최대 4개의 상이한 가중치 또는 가중치 인덱스를 구비할 수 있다. 따라서, 최대 4개의 가중치 또는 가중치 인덱스로부터 구성된 아핀 병합 후보에 대한 하나의 가중치 또는 가중치 인덱스를 도출한다는 규칙이 지정될 수 있다. 예를 들어, 구성된 아핀 병합 후보의 좌측 상단 CP 및/또는 우측 상단 CP를 포함한 복수의 CP들은 하나 이상의 가중치를 가진다. 구성된 아핀 병합 후보에 대한 가중치는 좌측 상단 CP와 연관된 가중치 및/또는 우측 상단 CP와 연관된 가중치에 기반하여 결정될 수 있다. 유사하게, 일부 실시예에서, 구성된 아핀 병합 후보의 좌측 하단 CP 및/또는 우측 하단 CP는 하나 이상의 가중치를 가진다. 구성된 아핀 병합 후보의 가중치는 좌측 하단 CP와 연관된 가중치 및/또는 우측 하단 CP와 연관된 가중치에 기반하여 결정될 수 있다. 도출 프로세스의 예시가 이하에서 더 설명된다. 본 개시의 일부 실시예에서, 모든 CP가 동일한 가중치 또는 가중치 인덱스를 갖는 경우, 그 가중치 또는 가중치 인덱스가 구성된 아핀 병합 후보에 대해 사용될 수 있다. 모든 CP가 동일한 가중치 또는 가중치 인덱스를 갖지 않는 경우, 동일 가중치에 대응하는 디폴트 값이 사용될 수 있다.
예를 들어, 2개의 CP(CPa, CPb)를 갖는 구성된 아핀 병합 후보의 경우,
( CP a 가중치 == CP b 가중치 )일 경우,
아핀 병합 후보 가중치 = CP a 가중치 ,
그렇지 않을 경우,
아핀 병합 후보 가중치 = 디폴트 값.
게다가, 3개의 CP(CPa, CPb, CPc)를 갖는 구성된 아핀 병합 후보의 경우,
( CP a 가중치 == CP b 가중치 && CP b 가중치 == CP c 가중치 )일 경우,
아핀 병합 후보 가중치 = CP a 가중치 ,
그렇지 않을 경우,
아핀 병합 후보 가중치 = 디폴트 값.
유사하게, 위의 규칙은 4개 이상의 CP를 갖는 구성된 아핀 병합 후보에도 적용될 수 있으며, 위의 연산 또한 가중치 인덱스에 적용될 수 있다.
본 개시의 일부 실시예에서, 구성된 아핀 병합 후보의 가중치 또는 가중치 인덱스는 가장 가능성 있는 가중치 또는 가중치 인덱스일 수 있다. 가장 가능성 있는 가중치 또는 가중치 인덱스는 구성된 아핀 병합 후보의 대부분의 CP에 의해 사용되는 가중치 또는 가중치 인덱스에 대응할 수 있다. 예를 들어, 2개의 CP(CPa, CPb)를 갖는 구성된 아핀 병합 후보의 경우, 가중치는 다음에 기반하여 결정될 수 있다.
( CP a 가중치 == CP b 가중치 )일 경우,
아핀 병합 후보 가중치 = CP a 가중치 ,
그렇지 않을 경우,
아핀 병합 후보 가중치 = 디폴트 값.
3개의 CP(CPa, CPb, CPc)를 갖는 구성된 아핀 병합 후보의 경우, 가중치는 다음에 기반하여 결정될 수 있다.
( CP a 가중치 == CP b 가중치 )일 경우,
아핀 병합 후보 가중치 = CP a 가중치 ,
( CP b 가중치 == CP c 가중치 )일 경우,
아핀 병합 후보 가중치 = CP b 가중치 ,
( CP a 가중치 == CP c 가중치 )일 경우,
아핀 병합 후보 가중치 = CP c 가중치 .
위의 규칙은 4개 이상의 CP를 갖는 구성된 아핀 병합 후보, 그리고 가중치 인덱스의 결정에도 적용될 수 있다.
본 개시의 일부 실시예에서, 구성된 아핀 병합 후보의 CP의 모든 가중치 중에서, 동일 가중치로부터의 차이가 가장 작은 가중치가 구성된 아핀 병합 후보의 가중치 또는 가중치 인덱스로서 사용될 수 있다. 예를 들어, 2개의 CP(CPa, CPb)를 갖는 구성된 아핀 병합 후보의 경우, 가중치는 다음에 기반하여 결정될 수 있다.
Diff a = |CP a 가중치 - 동일 가중치| 이고,
Diff b = |CP b 가중치 - 동일 가중치| 일 때,
( Diff a <= Diff b )일 경우,
아핀 병합 후보 가중치 = CP a 가중치 ,
그렇지 않을 경우,
아핀 병합 후보 가중치 = CP b 가중치.
3개의 CP(CPa, CPb, CPc)를 갖는 구성된 아핀 병합 후보의 경우, 가중치는 다음에 기반하여 결정될 수 있다.
Diff a = |CP a 가중치 - 동일 가중치| 이고,
Diff b = |CP b 가중치 - 동일 가중치| 이고,
Diff c = |CP c 가중치 - 동일 가중치| 일 때,
( Diff a <= Diff b && Diff a <= Diff c ) 일 경우,
아핀 병합 후보 가중치 = CP a 가중치 ,
( Diff b <= Diff a && Diff b <= Diff c ) 일 경우,
아핀 병합 후보 가중치 = CP b 가중치 ,
그렇지 않을 경우에는,
아핀 병합 후보 가중치 = CP c 가중치 .
대안적으로, 2개의 CP(CPa, CPb)를 갖는 구성된 아핀 병합 후보의 경우, 가중치는 다음에 기반하여 결정될 수 있다.
(CP a 가중치 >= 동일 가중치 && CP b 가중치 >= 동일 가중치)일 경우,
아핀 병합 후보 가중치 = min( CP a 가중치 , CP b 가중치 ),
( CP a 가중치 <= 동일 가중치 && CP b 가중치 <= 동일 가중치)일 경우,
아핀 병합 후보 가중치 = max( CP a 가중치 , CP b 가중치 ).
3개의 CP(CPa, CPb, CPc)를 갖는 구성된 아핀 병합 후보의 경우, 가중치는 다음에 기반하여 결정될 수 있다.
( CP a 가중치 >= 동일 가중치 && CP b 가중치 >= 동일 가중치 && CP c 가중치 >= 동일 가중치)일 경우,
아핀 병합 후보 가중치 = min( CP a 가중치 , CP b 가중치 , CPc가중치 ),
( CP a 가중치 <= 동일 가중치 && CP b 가중치 <= 동일 가중치 && CP c 가중치 <= 동일 가중치)일 경우,
아핀 병합 후보 가중치 = max( CP a 가중치 , CP b 가중치 , CP c 가중치 ),
그렇지 않을 경우,
아핀 병합 후보 가중치 = 동일 가중치 또는 동일 가중치의 동일 측에 있는 2개 중 동일 가중치에 더 가까운 것.
유사하게, 위의 규칙은 4개 이상의 CP를 갖는 구성된 아핀 병합 후보, 그리고 가중치 인덱스 결정에도 적용될 수 있다.
일부 실시예에서, CP 가중치 또는 가중치 인덱스의 평균은 구성된 아핀 병합 후보의 가중치로서 사용될 수 있다. 예를 들어, 2개의 CP(CPa, CPb)를 갖는 구성된 아핀 병합의 경우, 가중치는 다음에 기반하여 결정될 수 있다.
가중치 = ( CP a 가중치 + CP b 가중치 )/2의 정수 부분,
res = (CP a 가중치 + CP b 가중치)%2 일 때,
(res == 0)일 경우,
아핀 병합 후보 가중치 = 가중치
그렇지 않을 경우,
아핀 병합 후보 가중치 = 동일 가중치를 향한 round( CP a 가중치 + CP b 가중치 )/2.
또한, 3개의 CP(CPa, CPb, CPc)를 갖는 구성된 아핀 병합 후보의 경우, 가중치는 다음에 기반하여 결정될 수 있다.
가중치 = ( CP a 가중치 + CP b 가중치 + CP c 가중치 )/3의 정수 부분,
res = (CP a 가중치 + CP b 가중치 + CP c 가중치)%3 일 때,
(res == 0)일 경우,
아핀 병합 후보 가중치 = 가중치
그렇지 않을 경우,
아핀 병합 후보 가중치 = 동일 가중치를 향한 round( CP a 가중치 + CP b 가중치 + CP c 가중치)/3.
유사하게, 위의 규칙은 4개 이상의 CP를 갖는 구성된 아핀 병합 후보에, 그리고 가중치 인덱스 결정에 적용될 수 있다.
본 개시의 일부 실시예에 따르면, 제로 MV 후보에 대한 BWA 가중치를 이용한 방법 또한 제공된다. 전술한 바와 같이, 상속된 아핀 병합 후보들 및 구성된 아핀 병합 후보들이 아핀 병합 후보 리스트 내에 삽입되고 나면(후보 리스트가 완전히 차지 않았을 경우), 후보 리스트는 완전히 찰 때까지 제로 MV로 채워질 것이다. 본 개시의 일부 실시예에 따르면, 후보 리스트가 상이한 BWA를 갖는 제로 MV로 채워질 수 있으므로, 채워지는 제로 MV 후보들은 상이한 예측자를 제공할 수 있다.
예를 들어, 제로 MV의 가중치들이 후보 리스트에 채워지는 순서는 {4,4}/8, {5,3}/8, {3,5}/8, {-2,10}/8, {10,-2}/8일 수 있다. 상속된 아핀 병합 후보들 및 구성된 아핀 병합 후보들이 도출되고 난 다음, 후보 리스트가 가득 차지 않을 경우, 동일 가중치가 {4,4}/8인 제로 MV가 가장 먼저 삽입될 수 있다. 여전히 리스트가 가득 차지 않았을 경우, 가중치가 {5,3}/8인 제로 MV가 삽입될 수 있다. 그 다음에도 여전히 리스트가 가득 차지 않았을 경우, 리스트가 가득 찰 때까지 가중치가 {3,5}/8, {-2,10}/8, 및 {10,-2}/8인 제로 MV들이 삽입될 수 있다. 모든 가중치들을 갖는 제로 MV들이 삽입되고 난 다음에도 후보 리스트가 가득 차지 않을 경우, 다른 참조 인덱스를 갖는 제로 MV가 삽입될 수 있다.
VVC에는, 다수의 구성된 아핀 병합 후보들이 있을 수 있다. 후보들의 제어 지점 세트/조합의 순서는 다음과 같다. {CP1, CP2, CP3}, {CP1, CP2, CP4}, {CP1, CP3, CP4}, {CP2, CP3, CP4}, {CP1, CP2}, {CP1, CP3}. 인코더와 디코더는 제1 조합부터 마지막 것까지 확인할 수 있다. 조합이 사용 가능한(available) 경우, 이는 후보 리스트에 삽입될 수 있다. 조합이 사용 불가능한 경우, 다음 조합이 확인될 수 있다. 후보 리스트에서 선택된 후보의 인덱스는 가변 길이 코드(variable length code)로 비트스트림에서 표시될 수 있다. 인덱스가 더 작을수록, 더 짧은 길이의 코드로 코딩될 수 있다. 그러므로 리스트 내 후보의 순서는 코딩 효율에 영향을 미칠 수 있다. 구성된 아핀 병합 후보들의 고정된 순서는 각각의 비디오 시퀀스에 대해 최적화될 수 없다.
전술한 문제점을 해결하기 위해, 병합 후보들의 적응적 순서가 구현될 수 있다. 예를 들어, 조합들 내 CP들의 가중치가 확인된다. 확인 결과에 따라, 각 조합의 순서가 결정될 수 있다.
본 개시의 일부 실시예에서, 모든 CP가 동일한 가중치 또는 가중치 인덱스를 갖는 조합에 가장 높은 우선 순위가 할당되고, 리스트에 1순위로 배치된다. CP가 가장 다양한 가중치들 또는 가중치 인덱스들을 갖는 조합은 더 낮은 우선 순위를 가지며, 리스트에서 후순위로 배치된다. 본 개시의 일부 실시예에서, CP들은 CP 가중치들에 따라 상이한 클래스로 분류될 수 있다. 모든 CP들이 동일한 클래스에 속하는 조합에는 가장 높은 우선 순위가 할당되고, 리스트에 1순위로 배치될 수 있다. CP들이 가장 다양한 클래스에 있는 조합에는 더 낮은 우선 순위가 할당되고, 리스트에서 후순위로 배치될 수 있다.
전술한 것에 기반하여, 조합 내에 CP 가중치가 더 일정할수록, 조합은 더 높은 우선 순위를 가진다. 예를 들어, {CPMV1, CPMV2, CPMV3} 및 {CPMV1, CPMV2, CPMV4} 조합의 경우. CP1, CP2 및 CP3이 동일한 가중치 또는 가중치 인덱스를 가지거나 동일한 클래스에 속하고, CP4가 다른 가중치 또는 가중치 인덱스를 가지거나 다른 클래스에 속할 경우, {CPMV1, CPMV2, CPMV3}에 더 높은 우선 순위가 할당될 수 있다. 즉, 리스트에서 {CPMV1, CPMV2, CPMV3}이 {CPMV1, CPMV2, CPMV4}보다 먼저 온다. 대안적으로, CP1, CP2, 및 CP3의 가중치 또는 가중치 인덱스 또는 대응하는 클래스가 모두 상이하지만, CP4의 가중치 또는 가중치 인덱스 또는 대응하는 클래스가 CP1의 것과 동일할 경우, {CPMV1, CPMV2, CPMV4}가 덜 다양하기 때문에 더 높은 우선 순위가 할당될 수 있다. 즉, 리스트에서 {CPMV1, CPMV2, CPMV4}가 {CPMV1, CPMV2, CPMV3}보다 더 먼저 온다. 2개의 조합이 가중치 또는 가중치 인덱스 또는 클래스 면에서 동일한 수준의 다양성을 갖는 경우에는, 이러한 2개의 조합에 디폴트 순서가 할당될 수 있다.
VVC에서, 구성된 아핀 후보는 각 제어 지점의 이웃하는 모션 정보를 조합함으로써 구성되는 후보를 지칭한다. 제어 지점의 다음 조합들은 {CP1, CP2, CP3}, {CP1, CP2, CP4}, {CP1, CP3, CP4}, {CP2, CP3, CP4}, {CP1, CP2}, {CP1, CP3}의 순서로 아핀 병합 후보를 구성하기 위해 사용된다. 인코더와 디코더는 각 조합의 사용 가능성을 확인할 수 있다. 만약 사용 가능할 경우, 구성된 아핀 병합 후보는 후보 리스트에 삽입될 수 있다. 만약 조합이 사용 불가능할 경우, 다음 조합의 사용 가능성이 확인될 수 있다. 기존의 기술에서, 사용 가능성 조건은 이웃하는 CU가 인터 코딩되는지 여부에 초점이 맞춰진다. BWA 가중치는 고려되지 않는다.
본 개시의 일부 실시예에 따르면, 새로운 사용 가능성 조건이 적용될 수 있다. 조합 내 각 CP의 가중치 또는 가중치 인덱스가 확인될 수 있다. 조합의 사용 가능성은 확인 결과에 따라 결정될 수 있다.
일부 실시예에서, 조합 내 2개의 CP의 가중치가 상이한 부호를 가지는 경우, 조합은 사용 불가능한 조합으로서 설정될 수 있다. 예를 들어, 조합 {CP1, CP2, CP3}에서, CP1의 가중치가 (-2, 10)이고, CP2의 가중치가 (10, -2)인 경우, 이 조합은 사용 불가능한 것으로 설정될 수 있다. 또 다른 예시로서, 조합 {CP1, CP2, CP3}에서, CP1의 가중치가 (-2, 10)이고, CP2의 가중치가 (4, 4)인 경우, 이 조합은 사용 불가능한 것으로 설정될 수 있다.
VVC에서, BWA 가중치가 CU 또는 PU 수준에서 적용될 수 있다. 이는, 하나의 CU 또는 PU 내에 있는 각 픽셀이 예측 프로세스에서 동일한 가중치를 갖는다는 것을 의미한다. 하지만, 아핀 모션 예측에서, 서브-블록-기반 모션 보상이 적용될 수 있다. 현재 CU 내 각 서브-블록의 모션 벡터는 현재 CU의 제어 지점들의 모션 터에 의해 도출될 수 있다. 그러면, 도출된 모션 벡터로 각 서브-블록의 예측자를 생성하기 위해 모션 보상 내삽 필터가 적용된다. 모션 벡터와 BWA 가중치를 매치하기 위해, 본 개시의 일부 실시예에 따라 서브-블록 수준 가중치가 도출될 수 있다.
일부 실시예에서, 현재 CU 또는 PU 내 각 서브-블록의 가중치는 현재 CU 또는 PU의 제어 지점들의 가중치들에 의해 도출될 수 있다. 따라서, 각 서브-블록은 상이한 가중치를 가질 수 있다.
일부 실시예에서, CP들의 가중치(wcp0, wcp1, 및 wcp2)들로부터 각 픽셀의 가중치(wx,y)가 내삽될 수 있으며, 이때 (x,y)는 각 픽셀의 좌표를 나타낸다. 다양한 내삽 필터가 사용될 수 있으며, 본 명세서에서는 제한되지 않는다. 내삽 프로세스를 단순화하기 위해, 가중치들은 서브-블록 수준에서 도출될 수 있다. 예를 들어, (x, y)는 각 서브-블록의 중심 좌표일 수 있다. 또한, 서브-블록 크기는 아핀 모션 예측에 사용되는 것과 동일할 수 있다.
본 개시의 일부 실시예에서, CU 또는 PU는 예를 들어, 2개 또는 4개의 서브-블록으로 분할될 수 있다. 각각의 서브-블록에 대해, 서브-블록에 포함되는 제어 지점의 가중치가 서브-블록에 대해 사용될 수 있다. 현재의 구성된 아핀 병합 후보의 제어 지점 조합에 제어 지점이 없는 서브-블록의 경우, 가중치 값을 도출하기 위해 사전 정의된(pre-defined) 규칙이 사용될 수 있다. 예를 들어, 도 9a에 도시된 바와 같이, 2-CP 조합 {CP1, CP3}의 경우, CP 또는 PU(910)는 2개의 서브-블록(911, 912)으로 수평으로 분할될 수 있다. CP1의 가중치(W1)는 상부 서브-블록(911)에 대해 사용될 수 있다. CP3의 가중치(W3)는 하부 서브-블록(912)에 대해 사용될 수 있다. 또 다른 예시로서, 도 9b에 도시된 바와 같이, 2-CP 조합 {CP1, CP2}의 경우, CU 또는 PU(920)는 2개의 서브-블록(921 및 922)으로 수직으로 분할될 수 있다. CP1의 가중치는 좌측 서브-블록(921)에 대해 사용될 수 있다. CP2의 가중치는 우측 서브-블록(922)에 대해 사용될 수 있다.
대안적으로, 2-CP 조합 {CP1, CP3}의 경우, 도 9c에 도시된 바와 같이, CU 또는 PU(930)는 4개의 서브-블록(931, 932, 933, 및 934)으로 분할될 수 있다. CP1의 가중치는 좌측-상단 서브-블록(931)에 대해 사용될 수 있다. CP3의 가중치는 좌측-하단 서브-블록(932)에 대해 사용될 수 있다. 우측-상단 서브-블록(933)의 가중치는 CP1의 가중치로부터 도출되거나 디폴트 값으로 설정될 수 있다. 우측-하단 서브-블록(934)의 가중치는 CP3의 가중치로부터 도출되거나 디폴트 값으로 설정될 수 있다. 유사하게, 도 9d에 도시된 바와 같이, 2 CP 조합 {CP1, CP2}의 경우, CU 또는 PU(940)는 4개의 서브-블록(941, 942, 943, 944)으로 분할될 수 있다. CP1의 가중치는 좌측-상단 서브-블록(941)에 대해 사용될 수 있다. CP2의 가중치는 우측-상단 서브-블록(942)에 대해 사용될 수 있다. 좌측-하단 서브-블록(943)의 가중치는 CP1의 가중치로부터 도출되거나 디폴트 값으로 설정될 수 있다. 우측-하단 서브-블록(944)의 가중치는 CP2로부터 도출되거나 디폴트 값으로 설정될 수 있다.
3개의 CP에 대한 예시적인 분할들이 이하에 더 제공된다. 도 10a에 도시된 바와 같이, 3-CP 조합 {CP1, CP2, CP4}의 경우, CU 또는 PU(1010)가 2개의 서브-블록(1011 및 1012)으로 수직으로 분할될 수 있다. CP1의 가중치는 좌측 서브-블록(1011)에 대해 사용될 수 있다. CP2의 가중치는 우측 서브-블록에 대해 사용될 수 있다. 3-CP 조합 {CP1, CP3, CP4}의 경우, 도 10b에 도시된 바와 같이, CU 또는 PU(1020)가 2개의 서브-블록(1021 및 1022)으로 수평으로 분할될 수 있다. CP1의 가중치는 상부 측 서브-블록(1021)에 대해 사용될 수 있다. CP3의 가중치는 하부 측 서브-블록(1022)에 대해 사용될 수 있다. 도 10c에 도시된 바와 같이, 3-CP 조합 {CP2, CP3, CP4}의 경우, CU 또는 PU(1030)는 서브-블록(1031 및 1032)들로 수평으로 분할될 수 있다. CP2의 가중치는 상부 측 서브-블록(1031)에 대해 사용될 수 있다. CP3의 가중치는 하부 측 서브-블록(1032)에 대해 사용될 수 있다. 대안적으로, 도 10d에 도시된 바와 같이, CU 또는 PU(1040)는 서브-블록(1041 및 1042)들로 수직으로 분할될 수 있다. CP2의 가중치는 우측 서브-블록(1042)에 대해 사용될 수 있다. CP3의 가중치는 좌측 서브-블록(1041)에 대해 사용될 수 있다.
CU 또는 PU는 4개의 서브-블록으로 더 분할될 수 있다. 도 10e에 도시된 바와 같이, 3 CP 조합 {CP1, CP2, CP3}의 경우, CU 또는 PU(1050)는 4개의 서브-블록(1051, 1052, 1053, 및 1054)으로 분할될 수 있다. CP1의 가중치는 좌측-상단 서브-블록(1051)에 대해 사용될 수 있다. CP2의 가중치는 우측-상단 서브-블록(1052)에 대해 사용될 수 있다. CP3의 가중치는 좌측-하단 서브-블록(1053)에 대해 사용될 수 있다. 우측-하단 서브-블록(1054)의 가중치는, CP1, CP2 및 CP3의 세 가중치의 평균값; CP2의 가중치와 CP3의 가중치의 평균값; CP1, CP2, 및 CP3의 세 가중치의 중간 값; CP1, CP2 및 CP3의 세 가중치 중 동일 가중치로부터의 차이가 가장 작은 것; CP2의 가중치와 CP3의 가중치 중 동일 가중치로부터의 차이가 더 작은 것; 동일 가중치; 또는 다른 디폴트 값; 중 하나로 설정될 수 있다.
도 10f에 도시된 바와 같이, 3 CP 조합 {CP1, CP2, CP4}의 경우, CP 또는 PU(1060)는 4개의 서브-블록(1061, 1062, 1063 및 1064)으로 분할될 수 있다. CP1의 가중치는 좌측-상단 서브-블록(1061)에 대해 사용될 수 있다. CP2의 가중치는 우측-상단 서브-블록(1062)에 대해 사용될 수 있다. CP4의 가중치는 우측-하단 서브-블록(1064)에 대해 사용될 수 있다. 좌측-하단 서브-블록(1063)의 가중치는, 세 가중치 모두의 평균값; CP1의 가중치와 CP4의 가중치의 평균값; 세 가중치의 중간 값; CP1, CP2, CP4의 세 가중치 중 동일 가중치로부터의 차이가 가장 작은 것; CP1의 가중치와 CP4의 가중치 중 동일 가중치로부터의 차이가 더 작은 것; 동일 가중치; 또는 다른 디폴트 값; 중 하나로 설정될 수 있다.
도 10g에 도시된 바와 같이, 3 CP 조합 {CP1, CP3, CP4}의 경우, CU 또는 PU(1080)는 4개의 서브-블록(1071, 1072, 1073 및 1074)으로 분할될 수 있다. CP1의 가중치는 좌측-상단 서브-블록(1071)에 대해 사용될 수 있고, CP3의 가중치는 좌측-하단 서브-블록(1073)에 대해 사용될 수 있으며, CP4의 가중치는 우측-하단 서브-블록(1074)에 대해 사용될 수 있다. 우측-상단 서브-블록(1072)의 가중치는, 세 가중치 모두의 평균값; CP1의 가중치와 CP4의 가중치의 평균값; 세 가중치의 중간 값; CP1, CP3, CP4의 세 가중치 중에서 동일 가중치로부터의 차이가 가장 작은 것; CP1의 가중치와 CP4의 가중치 중에서 동일 가중치로부터의 차이가 더 작은 것; 동일 가중치; 또는 다른 디폴트 값; 중 하나로 설정될 수 있다.
도 10h에 도시된 바와 같이, 3 CP 조합 {CP2, CP3, CP4}의 경우, CU 또는 PU(1080)는 4개의 서브-블록(1081, 1082, 1083, 및 1084)로 분할될 수 있다. CP2의 가중치는 우측-상단 서브-블록(1082)에 대해 사용될 수 있다. CP3의 가중치는 좌측-하단 서브-블록(1083)에 대해 사용될 수 있다. CP4의 가중치는 우측-하단 서브-블록(1084)에 대해 사용될 수 있다. 좌측-상단 서브-블록(1081)의 가중치는, 세 가중치 모두의 평균값; CP2의 가중치와 CP3의 가중치의 평균값; 세 제어 지점들의 가중치의 중간 값; CP2, CP3, CP4의 세 가중치 중 동일 가중치로부터의 차이가 가장 작은 것; CP2의 가중치와 CP3의 가중치 중 동일 가중치로부터의 차이가 더 작은 것; 동일 가중치; 또는 다른 디폴트 값 중 하나로 설정될 수 있다.
4개의 CP에 대한 예시적인 분할이 이하에서 더 제공된다. 도 11에 도시된 바와 같이, 조합 {CP1, CP2, CP3, CP4}의 경우, CU 또는 PU(1100)는 4개의 서브-블록(1101, 1102, 1103, 및 1104)으로 분할될 수 있다. CP1의 가중치는 좌측-상단 서브-블록(1101)에 대해 사용될 수 있다. CP2의 가중치는 우측-상단 서브-블록(1102)에 대해 사용될 수 있다. CP3의 가중치는 좌측-하단 서브-블록(1103)에 대해 사용될 수 있다. CP4의 가중치는 우측-하단 서브-블록(1104)에 대해 사용될 수 있다.
일부 실시예에서, 명령어를 포함하는 비-일시적 컴퓨터-판독 가능 저장 매체 또한 제공되며, 명령어는 디바이스(예컨대, 개시된 인코더 또는 디코더)에 의해 전술한 방법을 수행하기 위해 실행될 수 있다. 예를 들어, 비-일시적 매체의 일반적인 형태는 플로피 디스크, 플렉시블 디스크, 하드 디스크, SSD(solid state drive), 자기 테이프, 또는 임의의 다른 자기 데이터 저장 매체, CD-ROM, 임의의 다른 광 데이터 저장 매체, 홀 패턴을 갖는 임의의 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM 또는 임의의 다른 플래시 메모리, NVRAM, 캐시, 레지스터, 임의의 다른 메모리 칩 또는 카트리지, 및 이들의 네트워크형 버전을 포함한다. 디바이스는 하나 이상의 프로세서(CPU), 입력/출력 인터페이스, 네트워크 인터페이스, 및/또는 메모리를 포함할 수 있다.
본 명세서에서 예컨대 “제1” 및 “제2”와 같은 상대적인 용어는 단지, 하나의 독립체 또는 동작을 또 다른 독립체나 동작으로부터 구분하기 위해서 사용되는 것으로, 이들 독립체 또는 동작들 간에 어떤 실제 관계나 순서를 요구하거나 의미하지 않는다. 또한, “포함하다(comprising, containing, including)”, “구비하다(having)”, 및 다른 유사한 형태의 단어는 동일한 의미를 갖는 것으로 의도되며, 이러한 단어들 중 하나의 앞에 오는 항목 또는 항목들이 이러한 항목 또는 항목들의 목록 자체(exhaustive)를 의미하거나 나열된 항목 또는 항목들에 국한되도록 의도되지 않는다는 점에서 개방형(open-ended)인 것으로 의도된다.
본 명세서에서 사용되는 바와 같이, 달리 명시되지 않는 한, “또는”이라는 용어는 불가능한 경우를 제외한, 모든 가능한 조합을 포함한다. 예를 들어, 데이터베이스가 A 또는 B를 포함할 수 있다고 기재되어 있는 경우, 달리 명시되거나 불가능하지 않는 한, 데이터베이스는 A, 또는 B, 또는 A와 B를 포함할 수 있다. 두 번째 예시로서, 데이터베이스가 A, B, 또는 C를 포함할 수 있다고 기재되어 있는 경우, 달리 명시되거나 불가능하지 않는 한, 데이터베이스는 A, 또는 B, 또는 C, 또는 A와 B, 또는 A와 C, 또는 B와 C, 또는 A와 B와 C를 포함할 수 있다.
전술된 실시예들은 하드웨어, 또는 소프트웨어(프로그램 코드), 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있는 것으로 이해된다. 소프트웨어에 의해 구현될 경우, 이는 전술된 컴퓨터-판독 가능한 매체에 저장될 수 있다. 소프트웨어는 프로세서에 의해 실행될 때 개시된 방법을 수행할 수 있다. 본 개시에 설명되는 컴퓨팅 유닛 및 다른 기능적 유닛은 하드웨어, 또는 소프트웨어, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다. 통상의 기술자는 전술된 모듈/유닛 중 다수의 것이 하나의 모듈/유닛으로 조합될 수 있고, 전술된 모듈/유닛 각각이 복수의 서브-모듈/서브-유닛으로 더 분할될 수 있음을 이해할 것이다.
본 개시의 일부 실시예는 다음의 조항을 이용하여 더 설명될 수 있다.
1. 비디오 데이터를 처리하는 방법으로서,
코딩 유닛의 상속된 아핀 병합 후보, 구성된 아핀 병합 후보, 또는 제로 모션 벡터 중 적어도 하나에 대한 가중치를 결정하는 단계; 및
결정된 가중치에 기반하여 코딩 유닛을 양방향-예측(bi-predicting)하는 단계를 포함하는 방법.
2. 제1항에 따른 방법으로서, 가중치가 비트스트림에서 시그널링되는 가중치 인덱스에 기반하여 결정되는 방법.
3. 제1항에 따른 방법으로서, 결정된 가중치는 구성된 아핀 병합 후보에 대한 가중치를 포함하고, 방법은,
구성된 아핀 병합 후보와 연관된 복수의 제어 지점이 하나 이상의 가중치를 갖는 것에 응답하여, 좌측 상단 제어 지점에 연관된 가중치 또는 우측 상단 제어 지점에 연관된 가중치에 기반하여 구성된 아핀 병합 후보에 대한 가중치를 결정하는 단계를 더 포함하는 방법.
4. 제1항 또는 제3항에 따른 방법으로서, 결정된 가중치는 구성된 아핀 병합 후보에 대한 가중치를 포함하고, 방법은,
구성된 아핀 병합 후보와 연관된 복수의 제어 지점이 동일한 가중치를 갖는 것에 응답하여, 복수의 제어 지점의 가중치를 구성된 아핀 병합 후보의 가중치로서 결정하는 단계; 또는
복수의 제어 지점이 상이한 가중치를 갖는 것에 응답하여, 디폴트 값을 구성된 아핀 병합 후보의 가중치로서 결정하는 단계를 더 포함하는 방법.
5. 제1항 또는 제3항에 따른 방법으로서, 결정된 가중치는 구성된 아핀 병합 후보에 대한 가중치를 포함하고, 방법은,
구성된 아핀 병합 후보에 대응하는 복수의 제어 지점의 가중치 중에서 복수의 제어 지점의 대부분에 의해 사용되는 가중치를 결정하는 단계; 및
결정된 가중치를 구성된 아핀 병합 후보의 가중치로서 설정하는 단계를 더 포함하는 방법.
6. 제1항 또는 제3항에 따른 방법으로서, 결정된 가중치는 구성된 아핀 병합 후보에 대한 가중치를 포함하고, 방법은,
동일 가중치와 복수의 제어 지점의 가중치들 사이의 차이를 각각 결정하는 단계;
복수의 제어 지점 중에서, 동일 가중치로부터의 차이가 가장 작은 가중치를 갖는 제1 제어 지점을 결정하는 단계; 및
제1 제어 지점의 가중치를 구성된 아핀 병합 후보의 가중치로서 설정하는 단계를 더 포함하는 방법.
7. 제1항 또는 제3항에 따른 방법으로서, 결정된 가중치는 구성된 아핀 병합 후보에 대한 가중치를 포함하고, 방법은,
구성된 아핀 병합 후보에 대응하는 복수의 제어 지점들에 대한 평균 가중치를 결정하는 단계; 및
평균 가중치를 구성된 아핀 병합 후보의 가중치로서 설정하는 단계를 더 포함하는 방법.
8. 제1항 내지 제7항 중 어느 한 항에 따른 방법으로서, 결정된 가중치에 기반하여 코딩 유닛을 양방항-예측하는 단계는 아핀 병합 모드를 이용하여 비디오 데이터를 처리하는 단계를 포함하고, 방법은,
아핀 병합 후보 리스트를 구성할 때, 비-동일 가중치를 갖는 제로 모션 벡터를 삽입하기 전에, 동일 가중치를 갖는 제로 모션 벡터를 아핀 병합 후보 리스트에 삽입하는 단계를 더 포함하는 방법.
9. 제1항 내지 제7항 중 어느 한 항에 따른 방법으로서, 결정된 가중치에 기반하여 코딩 유닛을 양방향-예측하는 단계는 아핀 병합 모드를 이용하여 비디오 데이터를 처리하는 단계를 포함하고, 방법은,
아핀 병합 후보 리스트를 구성할 때, 복수의 구성된 아핀 병합 후보들의 각각에 대응하는 제어 지점들의 가중치에 기반하여 복수의 구성된 아핀 병합 후보들의 순서를 결정하는 단계를 더 포함하고,
가중치가 덜 다양한 제어 지점들을 가지는 구성된 아핀 병합 후보에, 가중치가 더 다양한 제어 지점들을 가지는 구성된 아핀 병합 후보보다 더 높은 우선 순위가 할당되는 방법.
10. 제9항에 따른 방법으로서, 복수의 구성된 아핀 병합 후보들의 순서를 결정하는 단계는,
2개의 구성된 병합 후보 각각에 대응하는 제어 지점의 가중치가 동일한 수준의 다양성을 갖는 것에 응답하여, 2개의 구성된 병합 후보들에 대해 디폴트 순서를 이용하는 단계를 포함하는 방법.
11. 제9항 또는 제10항에 따른 방법으로서,
제1 구성된 아핀 병합 후보에 대응하는 제어 지점들의 가중치에 기반하여 제1 구성된 아핀 병합 후보의 사용 가능성을 결정하는 단계; 및
제1 구성된 아핀 병합 후보가 사용 가능하다는 결정에 응답하여, 제1 구성된 아핀 병합 후보를 아핀 병합 후보 리스트에 추가하는 단계를 더 포함하는 방법.
12. 제11항에 따른 방법으로서, 제1 구성된 아핀 병합 후보의 사용 가능성을 결정하는 단계는,
제1 구성된 아핀 병합 후보에 대응하는 2개의 제어 지점의 가중치가 상이한 부호를 갖는지 여부를 결정하는 단계; 및
제1 구성된 아핀 병합 후보에 대응하는 2개의 제어 지점의 가중치가 다른 부호를 갖는다는 결정에 응답하여, 제1 구축 아핀 병합 후보는 사용할 수 없음을 결정하는 단계를 포함하는 방법.
13. 비디오 데이터를 처리하는 방법으로서,
코딩 유닛의 제어 지점들의 가중치에 기반하여 코딩 유닛 내 제1 서브-블록의 가중치를 결정하는 단계;
결정된 가중치에 기반하여 제1 서브-블록을 양방향-예측하는 단계를 포함하는 방법.
14. 제13항에 따른 방법으로서,
코딩 유닛 내 제1 서브-블록의 가중치를 결정하는 단계는,
제1 서브-블록이 제어 지점들 중 하나를 포함하는 것에 응답하여, 제어 지점들 중 하나의 가중치를 제1 서브-블록의 가중치로서 사용하는 단계; 또는
제1 서브-블록이 제어 지점들을 포함하지 않는 것에 응답하여, 사전-정의된 규칙에 따라 제1 서브-블록의 가중치를 결정하는 단계를 포함하는 방법.
15. 제13항에 따른 방법으로서,
코딩 유닛이 4개의 서브-블록으로 분할되고, 2개의 제어 지점을 가지며; 및
코딩 유닛 내 제1 서브-블록의 가중치를 결정하는 단계는,
제1 서브-블록이 2개의 제어 지점 중 하나를 포함하는 것에 응답하여, 2개의 제어 지점 중 하나의 가중치를 제1 서브-블록의 가중치로서 사용하는 단계; 또는
제1 서브-블록이 2개의 제어 지점을 포함하지 않는 것에 응답하여, 2개의 제어 지점 중 제1 서브-블록까지의 거리가 더 짧은 것의 가중치 또는 디폴트 값 중 하나로 제1 서브-블록의 가중치를 설정하는 단계를 포함하는 방법.
16. 제13항에 따른 방법으로서,
코딩 유닛이 2개의 서브-블록으로 분할되고 3개의 제어 지점을 가지며; 및
코딩 유닛 내 제1 서브-블록의 가중치를 결정하는 단계는,
제1 서브-블록이 3개의 제어 지점 중 하나만을 포함하는 것에 응답하여, 제어 지점들 중 하나의 가중치를 제1 서브-블록의 가중치로서 사용하는 단계; 또는
제1 서브-블록이 3개의 제어 지점 중 적어도 2개를 포함하는 것에 응답하여, 디폴트 값 또는 2개의 제어 지점들 중 하나의 가중치를 제1 서브-블록의 가중치로서 사용하는 단계를 포함하는 방법.
17. 제13항에 따른 방법으로서,
코딩 유닛이 4개의 서브-블록으로 분할되고 3개의 제어 지점을 가지며, 3개의 지점은 각각 제1, 제2, 및 제3 가중치를 가지며; 및
코딩 유닛 내 제1 서브-블록의 가중치를 결정하는 단계는,
제1 서브-블록이 3개의 제어 지점 중 적어도 하나를 포함하는 것에 응답하여, 제어 지점들 중 하나의 가중치를 제1 서브-블록의 가중치로서 사용하는 단계; 또는
서브-블록이 3개의 제어 지점을 포함하지 않는 것이 응답하여,
제1, 제2, 및 제3 가중치의 평균 값;
제1, 제2, 및 제3 가중치의 중간 값;
코딩 유닛의 동일 가중치;
제1, 제2, 및 제3 가중치 중 동일 가중치로부터의 차이가 가장 작은 것;
제1 및 제2 가중치 중 동일 가중치로부터의 차이가 더 작은 것;
디폴트 값
중 하나로 제1 서브-블록의 가중치를 설정하는 단계를 포함하는 방법.
18. 비디오 처리 장치에 있어서,
명령어를 저장하는 메모리; 및
프로세서를 포함하고,
프로세서는 장치로 하여금,
코딩 유닛의 상속된 아핀 병합 후보, 구성된 아핀 병합 후보, 또는 제로 모션 벡터 중 적어도 하나에 대한 가중치를 결정하고; 및
결정된 가중치에 기반하여 코딩 유닛을 양방향-예측하게 하는 명령어를 실행하도록 구성되는, 비디오 처리 장치.
19. 제18항에 따른 장치로서, 가중치는 비트스트림에서 시그널링되는 가중치 인덱스에 기반하여 결정되는 장치.
20. 제18항에 따른 장치로서, 결정된 가중치는 구성된 아핀 병합 후보에 대한 가중치를 포함하고, 프로세서는 장치로 하여금,
구성된 아핀 병합 후보와 연관된 복수의 제어 지점이 하나 이상의 가중치를 갖는 경우, 좌측 상단 제어 지점에 연관된 가중치 또는 우측 상단 제어 지점에 연관된 가중치에 기반하여 구성된 아핀 병합 후보의 가중치를 결정하는 것을 수행하게 하는 명령어를 실행하도록 더 구성되는 장치.
21. 제18항 또는 제20항에 따른 장치로서,
결정된 가중치는 구성된 아핀 병합 후보에 대한 가중치를 포함하고, 프로세서는 장치로 하여금,
구성된 아핀 병합 후보에 연관된 복수의 제어 지점이 동일한 가중치를 갖는 경우, 복수의 제어 지점의 가중치를 구성된 아핀 병합 후보의 가중치로서 결정하거나; 또는
복수의 제어 지점이 상이한 가중치를 갖는 경우, 디폴트 값을 구성된 아핀 병합 후보의 가중치로서 결정하는 것을 수행하게 하는 명령어를 실행하도록 더 구성되는 장치.
22. 제18항 또는 제20항에 따른 장치로서, 결정된 가중치는 구성된 아핀 병합 후보에 대한 가중치를 포함하고, 프로세서는 장치로 하여금,
구성된 아핀 병합 후보에 대응하는 복수의 제어 지점의 가중치들 중, 복수의 제어 지점들의 대부분에 의해 사용되는 가중치를 결정하고; 및
결정된 가중치를 구성된 아핀 병합 후보의 가중치로서 설정하는 것을 수행하게 하는 명령어를 실행하도록 더 구성되는 장치.
23. 제18항 또는 제20항에 따른 장치로서, 결정된 가중치는 구성된 아핀 병합 후보에 대한 가중치를 포함하고, 프로세서는 장치로 하여금,
동일 가중치와 복수의 제어 지점들의 가중치 사이의 차이를 각각 결정하고;
복수의 제어 지점들 중에서 동일 가중치로부터의 차이가 가장 작은 가중치를 갖는 제1 제어 지점을 결정하고; 및
제1 제어 지점의 가중치를 구성된 아핀 병합 후보의 가중치로서 설정하는 것을 수행하게 하는 명령어를 실행하도록 더 구성되는 장치.
24. 제18항 또는 제20항에 따른 장치로서, 결정된 가중치는 구성된 아핀 병합 후보에 대한 가중치를 포함하고, 프로세서는 장치로 하여금,
구성된 아핀 병합 후보에 대응하는 복수의 제어 지점에 대한 평균 가중치를 결정하고; 및
평균 가중치를 구성된 아핀 병합 후보의 가중치로서 설정하는 것을 수행하게 하는 명령어를 실행하도록 더 구성되는 장치.
25. 제18항 내지 제24항 중 어느 한 항에 따른 장치로서, 결정된 가중치에 기반하여 코딩 유닛을 양방향-예측하는 것은 아핀 병합 모드를 이용하여 비디오 데이터를 처리하는 것을 포함하고, 프로세서는 장치로 하여금,
아핀 병합 후보 리스트를 구성할 때, 비-동일 가중치를 갖는 제로 모션 벡터를 삽입하기 전에, 동일 가중치를 갖는 제로 모션 벡터를 아핀 병합 후보 리스트에 삽입하는 것을 수행하게 하는 명령어를 실행하도록 더 구성되는 장치.
26. 제18항 내지 제24항 중 어느 한 항에 따른 장치로서, 결정된 가중치에 기반하여 코딩 유닛을 양방향-예측하는 것은 아핀 병합 모드를 이용하여 비디오 데이터를 처리하는 것을 포함하고, 프로세서는 장치로 하여금,
아핀 병합 후보 리스트를 구성할 때, 복수의 구성된 아핀 병합 후보들 각각에 대응하는 제어 지점의 가중치에 기반하여 복수의 구성된 아핀 병합 후보들의 순서를 결정하는 것을 수행하게 하는 명령어를 실행하도록 더 구성되고,
가중치가 더 다양한 제어 지점을 갖는 구성된 아핀 병합 후보보다, 가중치가 덜 다양한 제어 지점을 갖는 구성된 아핀 병합 후보에 더 높은 우선 순위가 할당되는, 장치.
27. 제26항에 따른 장치로서, 복수의 구성된 아핀 병합 후보들의 순서를 결정함에 있어서, 프로세서는 장치로 하여금,
2개의 구성된 병합 후보 각각에 대응하는 제어 지점의 가중치가 동일한 수준의 다양성을 갖는 것에 응답하여, 상기 2개의 구성된 병합 후보에 대하여 디폴트 순서를 이용하는 것을 수행하게 하는 명령어를 실행하도록 더 구성되는 장치.
28. 제26항 또는 제27항에 따른 장치로서, 프로세서는 디바이스로 하여금,
제1 구성된 아핀 병합 후보에 대응하는 제어 지점의 가중치에 기반하여 제1 구성된 아핀 병합 후보의 사용 가능성을 결정하고; 및
제1 구성된 아핀 병합 후보가 사용 가능할 경우, 제1 구성된 아핀 병합 후보를 아핀 병합 후보 리스트에 추가하는 것을 수행하게 하는 명령어를 실행하도록 더 구성되는 장치.
29. 제28항에 따른 장치로서, 제1 구성된 아핀 병합 후보의 사용 가능성을 결정함에 있어서, 프로세서는 장치로 하여금,
제1 구성된 아핀 병합 후보에 대응하는 2개의 제어 지점들의 가중치가 상이한 부호를 갖는지 여부를 결정하고; 및
제1 구성된 아핀 병합 후보에 대응하는 2개의 제어 지점들의 가중치가 상이한 부호를 가질 경우, 제1 구성된 아핀 병합 후보가 사용 불가능함을 결정하는 것을 수행하게 하는 명령어를 실행하도록 더 구성되는 장치.
30. 비디오 처리 장치로서,
명령어를 저장하는 메모리; 및
프로세서를 포함하고, 프로세서는 장치로 하여금,
코딩 유닛의 제어 지점의 가중치에 기반하여 코딩 유닛 내 제1 서브-블록의 가중치를 결정하고;
결정된 가중치에 기반하여 제1 서브-블록을 양방향-예측하게 하는 명령어를 실행하도록 구성되는 비디오 처리 장치.
31. 제30항에 따른 장치로서, 코딩 유닛 내 제1 서브-블록의 가중치를 결정함에 있어서, 프로세서는 장치로 하여금,
제1 서브-블록이 제어 지점들 중 하나를 포함하는 경우에는 제1 서브-블록의 가중치로서 제어 지점들 중 하나의 가중치를 사용하고; 또는
제1 서브-블록이 제어 지점을 포함하지 않는 경우에는, 사전 정의된 규칙에 따라 제1 서브-블록의 가중치를 결정하는 것을 수행하게 하는 명령어를 실행하도록 더 구성되는 장치.
32. 제30항에 따른 장치로서,
코딩 유닛이 4개의 서브-블록으로 분할되고, 2개의 제어 지점을 가지며; 및
코딩 유닛 내 제1 서브-블록의 가중치를 결정함에 있어서, 프로세서는 장치로 하여금,
제1 서브-블록이 2개의 제어 지점 중 하나를 포함하는 것에 응답하여, 제1 서브-블록의 가중치로서 2개의 제어 지점 중 하나의 가중치를 사용하고; 또는
제1 서브-블록이 2개의 제어 지점을 포함하지 않는 것에 응답하여, 제1 서브-블록의 가중치를,
2개의 제어 지점 중 제1 서브-블록으로부터의 거리가 더 짧은 것의 가중치; 또는
디폴트 값
중 하나로 설정하는 것을 수행하게 하는 명령어를 실행하도록 더 구성되는 장치.
33. 제30항에 따른 장치로서,
코딩 유닛이 4개의 서브-블록으로 분할되고 3개의 제어 지점을 가지며; 및
코딩 유닛 내 제1 서브-블록의 가중치를 결정함에 있어서, 프로세서는 장치로 하여금,
제1 서브-블록이 3개의 제어 지점 중 하나만을 포함함에 응답하여, 제1 서브-블록의 가중치로서 제어 지점들 중 하나의 가중치를 사용하는 것; 또는
제1 서브-블록이 3개의 제어 지점들 중 적어도 2개를 포함함에 응답하여, 제1 서브-블록의 가중치로서 디폴트 값 또는 2개의 제어 지점들 중 하나의 가중치를 사용하는 것을 수행하게 하는 명령어를 실행하도록 더 구성되는 장치.
34. 제30항에 따른 장치로서,
코딩 유닛이 4개의 서브-블록으로 분할되고 3개의 제어 지점을 가지며, 3개의 제어 지점은 제1, 제2, 및 제3 가중치를 각각 가지고; 및
코딩 유닛 내 제1 서브-블록의 가중치를 결정함에 있어서, 프로세서는 장치로 하여금,
제1 서브-블록이 3개의 제어 지점 중 적어도 하나를 포함함에 응답하여, 제1 서브-블록의 가중치로서 제어 지점들 중 하나의 가중치를 사용하는 것; 또는
서브-블록이 3개의 제어 지점들을 포함하지 않음에 응답하여,
제1, 제2, 및 제3 가중치의 평균 값;
제1, 제2, 및 제3 가중치의 중간 값;
코딩 유닛의 동일 가중치;
제1, 제2, 및 제3 가중치 중 동일 가중치로부터의 차이가 가장 작은 것;
제1 및 제2 가중치 중 동일 가중치로부터의 차이가 더 작은 것; 또는
디폴트 값
중 하나를 제1 서브-블록의 가중치로서 설정하는 것을 수행하게 하는 명령어를 실행하도록 더 구성되는 장치.
35. 비-일시적 컴퓨터-판독 가능 매체로서, 비디오 처리 디바이스의 하나 이상의 프로세서에 의해 실행 가능한 명령어의 세트를 저장하고, 명령어의 세트는 디바이스로 하여금,
코딩 유닛의 상속된 아핀 병합 후보, 구성된 아핀 병합 후보, 또는 제로 모션 벡터 중 적어도 하나에 대한 가중치를 결정하는 단계; 및
결정된 가중치에 기반하여 코딩 유닛을 양방향-예측하는 단계를 포함하는 방법을 수행하도록 하는, 비-일시적 컴퓨터-판독 가능 매체.
36. 제35항에 따른 비-일시적 컴퓨터-판독 가능 매체로서, 가중치는 비트스트림에서 시그널링되는 가중치 인덱스에 기반하여 결정되는 비-일시적 컴퓨터-판독 가능 매체.
37. 제35항에 따른 비-일시적 컴퓨터-판독 가능 매체로서, 결정된 가중치는 구성된 아핀 병합 후보에 대한 가중치를 포함하고, 명령어의 세트는 디바이스로 하여금,
구성된 아핀 병합 후보와 연관된 복수의 제어 지점이 하나 이상의 가중치를 갖는 경우, 좌측 상단 제어 지점과 연관된 가중치 또는 우측 상단 제어 지점과 연관된 가중치에 기반하여 구성된 아핀 병합 후보의 가중치를 결정하는 것을 더 수행하도록 디바이스의 하나 이상의 프로세서에 의해 실행 가능한 비-일시적 컴퓨터-판독 가능 매체.
38. 제35항 또는 제37항에 따른 비-일시적 컴퓨터-판독 가능 매체로서, 명령어의 세트는 디바이스로 하여금,
구성된 아핀 병합 후보와 연관된 복수의 제어 지점이 동일한 가중치를 갖는 경우, 제어 복수의 제어 지점의 가중치를 구성된 아핀 병합 후보의 가중치로서 결정하는 것; 및
복수의 제어 지점이 상이한 가중치를 갖는 경우, 디폴트 값을 구성된 아핀 병합 후보의 가중치로서 결정하는 것을 더 수행하도록 디바이스의 하나 이상의 프로세서에 의해 실행 가능한 비-일시적 컴퓨터-판독 가능 매체.
39. 제35항 또는 제37항에 따른 비-일시적 컴퓨터-판독 가능 매체로서, 명령어의 세트는 디바이스로 하여금,
구성된 아핀 병합 후보에 대응하는 복수의 제어 지점의 가중치 중에서, 복수의 제어 지점의 대부분에 의해 사용되는 가중치를 결정하는 것; 및
결정된 가중치를 구성된 아핀 병합 후보의 가중치로서 설정하는 것을 더 수행하도록 디바이스의 하나 이상의 프로세서에 의해 실행 가능한 비-일시적 컴퓨터-판독 가능 매체.
40. 제35항 또는 제37항에 따른 비-일시적 컴퓨터-판독 가능 매체로서, 명령어의 세트는 디바이스로 하여금,
동일 가중치와 복수의 제어 지점의 가중치 사이의 차이를 각각 결정하는 것;
복수의 제어 지점 중에서, 동일 가중치로부터의 차이가 가장 작은 가중치를 갖는 제1 제어 지점을 결정하는 것; 및
구성된 아핀 병합 후보의 가중치로서 제1 제어 지점의 가중치를 설정하는 것을 더 수행하도록 디바이스의 하나 이상의 프로세서에 의해 실행 가능한 비-일시적 컴퓨터-판독 가능 매체.
41. 제35항 또는 제37항에 따른 비-일시적 컴퓨터-판독 가능 매체로서, 명령어의 세트는 디바이스로 하여금,
구성된 아핀 병합 후보에 대응하는 복수의 제어 지점의 평균 가중치를 결정하는 것; 및
평균 가중치를 구성된 아핀 병합 후보의 가중치로서 설정하는 것을 더 수행하도록 디바이스의 하나 이상의 프로세서에 의해 실행 가능한 비-일시적 컴퓨터-판독 가능 매체.
42. 제35항 내지 제41항 중 어느 한 항에 따른 비-일시적 컴퓨터-판독 가능 매체로서, 명령어의 세트는 디바이스로 하여금,
아핀 병합 후보 리스트를 구성할 때, 비-동일 가중치를 갖는 제로 모션 벡터를 삽입하기 전에, 동일 가중치를 갖는 제로 모션 벡터를 아핀 병합 후보 리스트에 삽입하는 것을 더 수행하도록 디바이스의 하나 이상의 프로세서에 의해 실행 가능한, 비-일시적 컴퓨터-판독 가능 매체.
43. 제35항 내지 제41항 중 어느 한 항에 따른 비-일시적 컴퓨터-판독 가능 매체로서, 명령어의 세트는 디바이스로 하여금,
아핀 병합 후보 리스트를 구성할 때, 복수의 구성된 아핀 병합 후보들의 각각에 대응하는 제어 지점의 가중치에 기반하여 복수의 구성된 아핀 병합 후보의 순서를 결정하는 것을 더 수행하도록 디바이스의 하나 이상의 프로세서에 의해 실행 가능하고,
가중치가 더 다양한 제어 지점을 구비하는 구성된 아핀 병합 후보보다 가중치가 덜 다양한 제어 지점을 구비하는 구성된 아핀 병합 후보에 더 높은 우선 순위가 할당되는, 비-일시적 컴퓨터-판독 가능 매체.
44. 제43항에 따른 비-일시적 컴퓨터-판독 가능 매체로서, 명령어의 세트는 디바이스로 하여금,
2개의 구성된 병합 후보의 각각에 대응하는 제어 지점의 가중치가 동일한 수준의 다양성을 갖는 경우, 2개의 구성된 병합 후보들에 대해 디폴트 순서를 사용하는 것을 더 수행하도록 디바이스의 하나 이상의 프로세서에 의해 실행 가능한, 비-일시적 컴퓨터-판독 가능 매체.
45. 제43항 또는 제44항에 따른 비-일시적 컴퓨터-판독 가능 매체로서, 명령어의 세트는 디바이스로 하여금,
제1 구성된 아핀 병합 후보에 대응하는 제어 지점의 가중치들에 기반하여 제1 구성된 아핀 병합 후보의 사용 가능성을 결정하는 것; 및
제1 구성된 아핀 병합 후보가 사용 가능할 경우, 제1 구성된 아핀 병합 후보를 아핀 병합 후보 리스트에 추가하는 것을 더 수행하도록 디바이스의 하나 이상의 프로세서에 의해 실행 가능한 비-일시적 컴퓨터-판독 가능 매체.
46. 제45항에 따른 비-일시적 컴퓨터-판독 가능 매체로서, 명령어의 세트는 디바이스로 하여금,
제1 구성된 아핀 병합 후보에 대응하는 2개의 제어 지점의 가중치가 상이한 부호를 갖는지 여부를 결정하는 것; 및
제1 구성된 아핀 병합 후보에 대응하는 2개의 제어 지점의 가중치가 상이한 부호를 갖는 경우, 제1 구성된 아핀 병합 후보가 사용 불가능함을 결정하는 것을 더 수행하도록 디바이스의 하나 이상의 프로세서에 의해 실행 가능한 비-일시적 컴퓨터-판독 가능 매체.
47. 비-일시적 컴퓨터-판독 가능 매체로서, 비디오 처리 디바이스의 하나 이상의 프로세서에 의해 실행 가능한 명령어의 세트를 저장하고, 명령어의 세트는 디바이스로 하여금,
코딩 유닛의 제어 지점들의 가중치에 기반하여 코딩 유닛 내 제1 서브-블록의 가중치를 결정하는 단계; 및
결정된 가중치에 기반하여 제1 서브-유닛을 양방향-예측하는 단계를 포함하는 방법을 수행하도록 하는 비-일시적 컴퓨터-판독 가능 매체.
48. 제47항에 따른 비-일시적 컴퓨터-판독 가능 매체로서, 코딩 유닛 내 제1 서브-블록의 가중치를 결정하는 단계는,
제1 서브-블록이 제어 지점들 중 하나를 포함하는 경우, 제어 지점들 중 하나의 가중치를 제1 서브-블록의 가중치로서 사용하는 단계; 또는
제1 서브-블록이 제어 지점들을 포함하지 않는 경우, 사전 정의된 규칙에 따라 제1 서브-블록의 가중치를 결정하는 단계를 포함하는 비-일시적 컴퓨터-판독 가능 매체.
49. 제47항에 따른 비-일시적 컴퓨터-판독 가능 매체로서, 명령어의 세트는 디바이스로 하여금,
코딩 유닛을 4개의 서브-블록으로 분할하는 것 - 코딩 유닛은 2개의 제어 지점을 가짐 - 을 더 수행하도록 디바이스의 하나 이상의 프로세서에 의해 실행 가능하고; 및
코딩 유닛 내 제1 서브-블록의 가중치를 결정하는 단계는,
서브-블록이 2개의 제어 지점 중 하나를 포함하는 경우, 제1 서브-블록의 가중치로서 2개의 제어 지점 중 하나의 가중치를 사용하는 단계, 또는
서브-블록이 2개의 제어 지점을 포함하지 않는 경우, 제1 서브-블록의 가중치를,
2개의 제어 지점들 중 제1 서브-블록으로부터의 거리가 더 짧은 것, 또는
디폴트 값
중 하나로 설정하는 단계를 포함하는, 비-일시적 컴퓨터-판독 가능 매체.
50. 제47항에 따른 비-일시적 컴퓨터-판독 가능 매체로서, 명령어의 세트는 디바이스로 하여금,
코딩 유닛을 2개의 서브-블록으로 분할하는 것 - 코딩 유닛은 3개의 제어 지점을 가짐 - 을 더 수행하도록 디바이스의 하나 이상의 프로세서에 의해 실행 가능하고; 및
코딩 유닛 내 서브-블록의 가중치를 결정하는 단계는,
제1 서브-블록이 3개의 제어 지점들 중 하나만을 포함하는 경우, 제어 지점들 중 하나의 가중치를 제1 서브-블록의 가중치로서 사용하는 단계; 또는
제1 서브-블록이 3개의 제어 지점들 중 2개를 포함하는 경우, 디폴트 값이나 2개의 제어 지점들 중 하나의 가중치를 제1-서브 블록의 가중치로서 사용하는 단계를 포함하는, 비-일시적 컴퓨터-판독 가능 매체.
51. 제47항에 따른 비-일시적 컴퓨터-판독 가능 매체로서, 명령어의 세트는 디바이스로 하여금,
코딩 유닛을 4개의 서브-블록으로 분할하는 것 - 코딩 유닛은 3개의 제어 지점을 가지고, 3개의 제어 지점은 제1, 제2, 및 제3 가중치를 가짐 - 을 더 수행하도록 디바이스의 하나 이상의 프로세서에 의해 실행 가능하고; 및
코딩 유닛 내 제1 서브-블록의 가중치를 결정하는 단계는,
제1 서브-블록이 3개의 제어 지점들 중 적어도 하나를 포함하는 경우, 제어 지점들 중 하나의 가중치를 제1 서브-블록의 가중치로서 사용하는 단계, 또는
제1 서브-블록이 3개의 제어 지점을 포함하지 않는 경우, 제1 서브-블록의 가중치를,
제1, 제2, 및 제3 가중치의 평균 값;
제1, 제2, 및 제3 가중치의 중간 값;
코딩 유닛의 동일 가중치;
제1, 제2, 및 제3 가중치 중 동일 가중치로부터의 차이가 가장 작은 것;
제1 및 제2 가중치 중 동일 가중치로부터의 차이가 더 작은 것; 또는
디폴트 값
중 하나로 설정하는 단계
를 포함하는, 비-일시적 컴퓨터-판독 가능 매체.
전술한 상세한 설명에서, 실시예들은 구현예별로 달라질 수 있는 다수의 특정 디테일들을 참조하여 설명되었다. 설명된 실시예들에 특정한 개조 또는 수정이 이루어질 수 있다. 본 명세서에 개시되는 발명의 상세한 설명 및 실시예를 고려하면 통상의 기술자에게 다른 실시예들이 명백해질 것이다. 상세한 설명과 예시들은 단지 예시적인 것으로 의도되며, 본 발명의 진정한 범위 및 사상은 이하의 청구항에 의해 지시된다. 또한, 도면에 도시된 단계들의 순서는 단지 예시를 위한 것이며, 단계들의 어떤 특정한 순서로 제한되는 것으로 의도되지 않는다. 이와 같이, 통상의 기술자는 이 단계들이 동일한 방법을 구현하면서 상이한 순서로 수행될 수 있음을 이해할 수 있다.
도면 및 상세한 설명에는 예시적인 실시예들이 개시되어 있다. 하지만, 이러한 실시예에는 많은 변형 및 수정이 이루어질 수 있다. 따라서, 특정 용어가 사용되더라도 일반적이고 설명적인 의미로 사용된 것으로, 제한하려는 목적으로 사용된 것이 아니다. 개시된 실시예들은 전술한 예시들에 국한되지 않으며, 대신에 그 전체 범위의 등가물에 고려하여 첨부된 청구항들에 의해 규정된다.

Claims (20)

  1. 비디오 데이터를 처리하는 방법으로서,
    코딩 유닛의 상속된 아핀 병합 후보(inherited affine merge candidate), 구성된 아핀 병합 후보(constructed affine merge candidate), 또는 제로 모션 벡터(zero motion vector) 중 적어도 하나에 대한 가중치를 결정하는 단계; 및
    상기 결정된 가중치에 기반하여 상기 코딩 유닛을 양방향-예측(bi-predicting)하는 단계를 포함하는, 비디오 데이터 처리 방법.
  2. 제1항에 있어서,
    상기 가중치는 비트스트림에서 시그널링되는 가중치 인덱스(weight index)에 기반하여 결정되는, 비디오 데이터 처리 방법.
  3. 제1항에 있어서,
    상기 결정된 가중치는 상기 구성된 아핀 병합 후보에 대한 가중치를 포함하고, 상기 방법은,
    상기 구성된 아핀 병합 후보와 연관된 복수의 제어 지점이 하나 이상의 가중치를 갖는 것에 응답하여, 좌측 상단 제어 지점과 연관된 가중치 또는 우측 상단 제어 지점과 연관된 가중치에 기반하여 상기 구성된 아핀 병합 후보에 대한 가중치를 결정하는 단계를 더 포함하는, 비디오 데이터 처리 방법.
  4. 제3항에 있어서,
    상기 결정된 가중치는 구성된 아핀 병합 후보에 대한 가중치를 포함하고, 상기 방법은,
    상기 구성된 아핀 병합 후보와 연관된 복수의 제어 지점이 동일한 가중치를 갖는 것에 응답하여, 상기 복수의 제어 지점의 가중치를 상기 구성된 아핀 병합 후보의 가중치로서 결정하는 단계; 또는
    상기 복수의 제어 지점이 상이한 가중치를 갖는 것에 응답하여, 디폴트 값을 상기 구성된 아핀 병합 후보의 가중치로서 결정하는 단계를 더 포함하는, 비디오 데이터 처리 방법.
  5. 제3항에 있어서,
    상기 결정된 가중치는 구성된 아핀 병합 후보에 대한 가중치를 포함하고, 상기 방법은,
    상기 구성된 아핀 병합 후보에 대응하는 복수의 제어 지점의 가중치들 중에서, 상기 복수의 제어 지점 대부분에 의해 사용되는 가중치를 결정하는 단계; 및
    상기 결정된 가중치를 상기 구성된 아핀 병합 후보의 가중치로서 설정하는 단계를 더 포함하는, 비디오 데이터 처리 방법.
  6. 제3항에 있어서,
    상기 결정된 가중치는 상기 구성된 아핀 병합 후보에 대한 가중치를 포함하고, 상기 방법은,
    동일 가중치(equal weight)와 상기 복수의 제어 지점의 가중치들 사이의 차이를 각각 결정하는 단계;
    상기 복수의 제어 지점 중에서, 상기 동일 가중치로부터의 차이가 가장 작은 가중치를 갖는 제1 제어 지점을 결정하는 단계; 및
    상기 제1 제어 지점의 가중치를 상기 구성된 아핀 병합 후보의 가중치로서 설정하는 단계를 더 포함하는, 비디오 데이터 처리 방법.
  7. 제3항에 있어서,
    상기 결정된 가중치는 상기 구성된 아핀 병합 후보에 대한 가중치를 포함하고, 상기 방법은,
    상기 구성된 아핀 병합 후보에 대응하는 복수의 제어 지점에 대한 평균 가중치를 결정하는 단계; 및
    상기 평균 가중치를 상기 구성된 아핀 병합 후보의 가중치로서 설정하는 단계를 더 포함하는, 비디오 데이터 처리 방법.
  8. 제1항에 있어서,
    상기 결정된 가중치에 기반하여 상기 코딩 유닛을 양방향-예측하는 단계는 아핀 병합 모드(affine merge mode)를 이용하여 상기 비디오 데이터를 처리하는 것을 포함하고, 상기 방법은,
    아핀 병합 후보 리스트(affine merge candidate list)를 구성할 때, 비-동일 가중치(unequal weight)를 갖는 제로 모션 벡터를 삽입하기 전에, 동일 가중치를 갖는 제로 모션 벡터를 상기 아핀 병합 후보 리스트에 삽입하는 단계를 더 포함하는, 비디오 데이터 처리 방법.
  9. 제1항에 있어서,
    상기 결정된 가중치에 기반하여 상기 코딩 유닛을 양방향-예측하는 단계는 아핀 병합 모드를 이용하여 상기 비디오 데이터를 처리하는 것을 포함하고, 상기 방법은,
    아핀 병합 후보 리스트를 구성할 때, 복수의 구성된 아핀 병합 후보들 각각에 대응하는 제어 지점의 가중치에 기반하여 상기 복수의 구성된 아핀 병합 후보들의 순서를 결정하는 단계를 더 포함하고,
    가중치가 더 다양한 제어 지점을 갖는 구성된 아핀 병합 후보보다 가중치가 덜 다양한 제어 지점을 갖는 구성된 아핀 병합 후보에 더 높은 우선 순위가 할당되는, 비디오 데이터 처리 방법.
  10. 제9항에 있어서,
    상기 복수의 구성된 아핀 병합 후보의 순서를 결정하는 단계는,
    2개의 구성된 병합 후보 각각에 대응하는 제어 지점의 가중치가 동일한 수준의 다양성을 갖는 것에 응답하여, 상기 2개의 구성된 병합 후보에 대해 디폴트 순서를 이용하는 것을 포함하는, 비디오 데이터 처리 방법.
  11. 제9항에 있어서,
    제1 구성된 아핀 병합 후보에 대응하는 제어 지점의 가중치에 기반하여 상기 제1 구성된 아핀 병합 후보의 사용 가능성을 결정하는 단계; 및
    상기 제1 구성된 아핀 병합 후보가 사용 가능하다는 결정에 응답하여, 상기 제1 구성된 아핀 병합 후보를 상기 아핀 병합 후보 리스트에 추가하는 단계를 더 포함하는, 비디오 데이터 처리 방법.
  12. 제11항에 있어서,
    상기 제1 구성된 아핀 병합 후보의 사용 가능성을 결정하는 단계는,
    상기 제1 구성된 아핀 병합 후보에 대응하는 2개의 제어 지점의 가중치가 상이한 부호를 갖는지 여부를 결정하는 단계; 및
    상기 제1 구성된 아핀 병합 후보에 대응하는 상기 2개의 제어 지점의 가중치가 상이한 부호를 갖는다는 결정에 응답하여, 상기 제1 구성된 아핀 병합 후보는 사용 불가능함을 결정하는 단계를 포함하는, 비디오 데이터 처리 방법.
  13. 비디오 데이터를 처리하는 방법으로서,
    코딩 유닛의 제어 지점의 가중치에 기반하여, 상기 코딩 유닛 내 제1 서브-블록의 가중치를 결정하는 단계; 및
    상기 결정된 가중치에 기반하여 상기 제1 서브-블록을 양방향-예측하는 단계를 포함하는, 비디오 데이터 처리 방법.
  14. 제13항에 있어서,
    상기 코딩 유닛 내 상기 제1 서브-블록의 가중치를 결정하는 단계는,
    상기 제1 서브-블록이 상기 제어 지점 중 하나를 포함하는 것에 응답하여, 상기 제1 서브-블록의 가중치로서 상기 제어 지점 중 하나의 가중치를 이용하는 것; 또는
    상기 제1 서브-블록이 상기 제어 지점을 포함하지 않는 것에 응답하여, 사전 정의된 규칙에 따라 상기 제1 서브-블록의 가중치를 결정하는 것을 포함하는, 비디오 데이터 처리 방법.
  15. 제13항에 있어서,
    상기 코딩 유닛이 4개의 서브-블록으로 분할되고(partitioned) 2개의 제어 지점을 가지며; 및
    상기 코딩 유닛 내 상기 제1 서브-블록의 가중치를 결정하는 단계는,
    상기 제1 서브-블록이 상기 2개의 제어 지점 중 하나를 포함하는 것에 응답하여, 상기 2개의 제어 지점 중 하나의 가중치를 상기 제1 서브-블록의 가중치로서 이용하는 단계; 또는
    상기 제1 서브-블록이 상기 2개의 제어 지점을 포함하지 않는 것에 응답하여, 상기 제1 서브-블록의 가중치를,
    상기 2개의 제어 지점 중 상기 제1 서브-블록으로부터의 거리가 더 짧은 것의 가중치; 또는
    디폴트 값;
    중 하나로 설정하는 단계를 포함하는, 비디오 데이터 처리 방법.
  16. 제13항에 있어서,
    상기 코딩 유닛이 2개의 서브-블록으로 분할되고 3개의 제어 지점을 가지며; 및
    상기 코딩 유닛 내 상기 제1 서브-블록의 가중치를 결정하는 단계는,
    상기 제1 서브-블록이 상기 3개의 제어 지점 중 하나만을 포함하는 것에 응답하여, 상기 제어 지점 중 하나의 가중치를 상기 제1 서브-블록의 가중치로서 이용하는 단계; 또는
    상기 제1 서브-블록이 상기 3개의 제어 지점 중 적어도 2개를 포함하는 것에 응답하여, 디폴트 값 또는 상기 2개의 제어 지점 중 하나의 가중치를 상기 제1 서브-블록의 가중치로서 이용하는 단계를 포함하는, 비디오 데이터 처리 방법.
  17. 제13항에 있어서,
    상기 코딩 유닛이 4개의 서브-블록으로 분할되고 3개의 제어 지점을 가지며, 상기 3개의 제어 지점은 각각 제1, 제2, 및 제3 가중치를 가지고; 및
    상기 코딩 유닛 내 상기 제1 서브-블록의 가중치를 결정하는 단계는,
    상기 제1 서브-블록이 상기 3개의 제어 지점 중 적어도 하나를 포함하는 것에 응답하여, 상기 제어 지점 중 하나의 가중치를 상기 제1 서브-블록의 가중치로서 이용하는 단계; 또는
    상기 서브-블록이 상기 3개의 제어 지점을 포함하지 않는 것에 응답하여, 상기 제1 서브-블록의 가중치를,
    상기 제1, 제2, 및 제3 가중치의 평균 값;
    상기 제1, 제2, 및 제3 가중치의 중간 값;
    상기 코딩 유닛의 동일 가중치;
    상기 제1, 제2, 및 제3 가중치 중 상기 동일 가중치와의 차이가 가장 작은 것;
    상기 제1 및 제2 가중치 중 상기 동일 가중치와의 차이가 더 작은 것; 또는
    디폴트 값;
    중 하나로 설정하는 단계를 포함하는, 비디오 데이터 처리 방법.
  18. 비디오 처리 장치로서,
    명령어를 저장하는 메모리; 및
    프로세서를 포함하고,
    상기 프로세서는 상기 디바이스로 하여금,
    코딩 유닛의 상속된 아핀 병합 후보, 구성된 아핀 병합 후보, 또는 제로 모션 벡터 중 적어도 하나에 대한 가중치를 결정하고; 및
    상기 결정된 가중치에 기반하여 상기 코딩 유닛을 양방향-예측하도록 하는 명령어를 실행하도록 구성되는, 비디오 처리 장치.
  19. 비디오 처리 장치로서,
    명령어를 저장하는 메모리; 및
    프로세서를 포함하고,
    상기 프로세서는 상기 디바이스로 하여금,
    코딩 유닛의 제어 지점의 가중치에 기반하여, 상기 코딩 유닛 내 제1 서브-블록의 가중치를 결정하고;
    상기 결정된 가중치에 기반하여 상기 제1 서브-블록을 양방향-예측하도록 하는 명령어를 실행하도록 구성되는, 비디오 처리 장치.
  20. 비-일시적 컴퓨터-판독 가능 매체로서, 비디오 처리 디바이스의 하나 이상의 프로세서에 의해 실행 가능한 명령어의 세트를 저장하고, 상기 명령어의 세트는 상기 디바이스로 하여금:
    코딩 유닛의 상속된 아핀 병합 후보, 구성된 아핀 병합 후보, 또는 제로 모션 벡터 중 적어도 하나에 대한 가중치를 결정하는 단계; 및
    상기 결정된 가중치에 기반하여 상기 코딩 유닛을 양방향-예측하는 단계를 포함하는 방법을 수행하도록 하는, 비-일시적 컴퓨터 판독 가능 매체.
KR1020217032611A 2019-03-11 2020-02-28 병합 모드를 위한 예측 가중치를 결정하는 방법, 디바이스, 및 시스템 KR20210129721A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962816879P 2019-03-11 2019-03-11
US62/816,879 2019-03-11
PCT/US2020/020483 WO2020185429A1 (en) 2019-03-11 2020-02-28 Method, device, and system for determining prediction weight for merge mode

Publications (1)

Publication Number Publication Date
KR20210129721A true KR20210129721A (ko) 2021-10-28

Family

ID=72424206

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217032611A KR20210129721A (ko) 2019-03-11 2020-02-28 병합 모드를 위한 예측 가중치를 결정하는 방법, 디바이스, 및 시스템

Country Status (7)

Country Link
US (2) US11394999B2 (ko)
EP (2) EP3939262A4 (ko)
JP (1) JP2022523350A (ko)
KR (1) KR20210129721A (ko)
CN (1) CN113748673A (ko)
TW (1) TW202044830A (ko)
WO (1) WO2020185429A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3744094A4 (en) * 2018-01-26 2021-11-03 MediaTek Inc. METHOD AND DEVICE FOR AFFINE INTER-PREDICTION FOR A VIDEO ENCODING SYSTEM
JP7104186B2 (ja) 2018-06-05 2022-07-20 北京字節跳動網絡技術有限公司 Ibcとatmvpとの間でのインタラクション
CN110636298B (zh) 2018-06-21 2022-09-13 北京字节跳动网络技术有限公司 对于Merge仿射模式和非Merge仿射模式的统一约束
TWI729422B (zh) 2018-06-21 2021-06-01 大陸商北京字節跳動網絡技術有限公司 色彩分量間的子區塊移動向量繼承
GB2591906B (en) 2018-09-24 2023-03-08 Beijing Bytedance Network Tech Co Ltd Bi-prediction with weights in video coding and decoding
CN112997480B (zh) 2018-11-10 2023-08-22 北京字节跳动网络技术有限公司 成对平均候选计算中的取整
EP3895430A4 (en) * 2018-12-13 2022-10-12 Beijing Dajia Internet Information Technology Co., Ltd. METHOD FOR DRIVING CONSTRUCTED AFFINE FUSION CANDIDATES
US11394999B2 (en) * 2019-03-11 2022-07-19 Alibaba Group Holding Limited Method, device, and system for determining prediction weight for merge mode
WO2020184953A1 (ko) * 2019-03-12 2020-09-17 엘지전자 주식회사 쌍 예측을 위한 가중치 인덱스 정보를 유도하는 비디오 또는 영상 코딩
EP3985981A4 (en) * 2019-06-14 2023-04-19 Lg Electronics Inc. IMAGE DECODER METHOD AND APPARATUS FOR DRIVING WEIGHTING INDEX INFORMATION FOR WEIGHTED AVERAGE WHEN BI-PREDICTION IS APPLIED
KR20220002700A (ko) * 2019-06-24 2022-01-06 엘지전자 주식회사 쌍 예측을 적용하는 영상 디코딩 방법 및 그 장치
WO2023198135A1 (en) * 2022-04-12 2023-10-19 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing
US20240007615A1 (en) * 2022-07-04 2024-01-04 Alibaba (China) Co., Ltd. Deriving bi-prediction with coding unit-level weight indices for merge candidates

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110557631B (zh) 2015-03-10 2023-10-20 华为技术有限公司 图像预测方法和相关设备
WO2017147765A1 (en) * 2016-03-01 2017-09-08 Mediatek Inc. Methods for affine motion compensation
KR102480191B1 (ko) * 2016-05-13 2022-12-21 브이아이디 스케일, 인크. 비디오 코딩을 위한 일반화된 다중-가설 예측 시스템 및 방법
US10448010B2 (en) 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
US10341659B2 (en) * 2016-10-05 2019-07-02 Qualcomm Incorporated Systems and methods of switching interpolation filters
CN110024394B (zh) * 2016-11-28 2023-09-01 韩国电子通信研究院 对图像编码/解码的方法和设备及存储比特流的记录介质
US10555006B2 (en) * 2016-12-22 2020-02-04 Qualcomm Incorporated Deriving bilateral filter information based on a prediction mode in video coding
US10701390B2 (en) * 2017-03-14 2020-06-30 Qualcomm Incorporated Affine motion information derivation
US20180332298A1 (en) * 2017-05-10 2018-11-15 Futurewei Technologies, Inc. Bidirectional Prediction In Video Compression
WO2019002215A1 (en) * 2017-06-26 2019-01-03 Interdigital Vc Holdings, Inc. MULTIPLE PREDICTION CANDIDATES FOR MOTION COMPENSATION
US11184636B2 (en) * 2017-06-28 2021-11-23 Sharp Kabushiki Kaisha Video encoding device and video decoding device
TW201929550A (zh) * 2017-12-13 2019-07-16 財團法人工業技術研究院 視訊編解碼方法及其影像處理裝置
US11140398B2 (en) * 2018-08-20 2021-10-05 Mediatek Inc. Methods and apparatus for generating affine candidates
WO2020058954A1 (en) * 2018-09-23 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. Representation of affine model
CN111373754A (zh) * 2018-10-23 2020-07-03 北京字节跳动网络技术有限公司 仿射编码的自适应控制点选择
WO2020094075A1 (en) * 2018-11-06 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Multiple merge lists and orders for inter prediction with geometric partitioning
KR20210089149A (ko) * 2018-11-16 2021-07-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인터 및 인트라 통합 예측 모드 가중치
CN111771376B (zh) * 2018-12-12 2023-08-08 Lg电子株式会社 以基于历史的运动向量预测为基础处理视频信号的方法和设备
US10855992B2 (en) * 2018-12-20 2020-12-01 Alibaba Group Holding Limited On block level bi-prediction with weighted averaging
US11102476B2 (en) * 2018-12-28 2021-08-24 Qualcomm Incorporated Subblock based affine motion model
WO2020147747A1 (en) * 2019-01-15 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Weighted prediction in video coding
US11025936B2 (en) * 2019-01-25 2021-06-01 Tencent America LLC Method and apparatus for video coding
US11394999B2 (en) * 2019-03-11 2022-07-19 Alibaba Group Holding Limited Method, device, and system for determining prediction weight for merge mode

Also Published As

Publication number Publication date
EP4243417A3 (en) 2023-11-15
EP3939262A1 (en) 2022-01-19
US20220345741A1 (en) 2022-10-27
JP2022523350A (ja) 2022-04-22
US11394999B2 (en) 2022-07-19
US20200296415A1 (en) 2020-09-17
WO2020185429A1 (en) 2020-09-17
EP3939262A4 (en) 2022-11-09
CN113748673A (zh) 2021-12-03
WO2020185429A8 (en) 2021-11-04
TW202044830A (zh) 2020-12-01
EP4243417A2 (en) 2023-09-13

Similar Documents

Publication Publication Date Title
KR20210129721A (ko) 병합 모드를 위한 예측 가중치를 결정하는 방법, 디바이스, 및 시스템
KR102343699B1 (ko) 디코더-측 모션 벡터 도출에 기초한 mvp 도출의 제한
US11265551B2 (en) Decoder-side motion vector derivation
US10785494B2 (en) Low-complexity design for FRUC
US10595035B2 (en) Constraining motion vector information derived by decoder-side motion vector derivation
TWI761415B (zh) 用於雙向光學流(bio)之運動向量重建
JP7259009B2 (ja) インター予測方法および装置
US11206425B2 (en) Inter prediction methods for coding video data
KR20210068439A (ko) 히스토리 기반 모션 벡터 예측자에 대한 개선들
WO2018175756A1 (en) Decoder-side motion vector derivation
WO2019010123A1 (en) MODEL-BASED MATCHING BASED ON PARTIAL RECONSTRUCTION FOR A MOTION VECTOR DIVERSION
KR20220064962A (ko) 히스토리 기반 모션 벡터 예측
KR20220064970A (ko) 벡터 클리핑을 이용한 아핀 코딩
WO2023278964A1 (en) Adaptive bilateral matching for decoder side motion vector refinement