KR102463478B1 - 비디오 코딩 시스템을 위한 아핀 인터 예측 방법 및 장치 - Google Patents

비디오 코딩 시스템을 위한 아핀 인터 예측 방법 및 장치 Download PDF

Info

Publication number
KR102463478B1
KR102463478B1 KR1020207023926A KR20207023926A KR102463478B1 KR 102463478 B1 KR102463478 B1 KR 102463478B1 KR 1020207023926 A KR1020207023926 A KR 1020207023926A KR 20207023926 A KR20207023926 A KR 20207023926A KR 102463478 B1 KR102463478 B1 KR 102463478B1
Authority
KR
South Korea
Prior art keywords
affine
affine mvp
candidate list
block
mvp
Prior art date
Application number
KR1020207023926A
Other languages
English (en)
Other versions
KR20200109364A (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 에이치에프아이 이노베이션 인크.
Publication of KR20200109364A publication Critical patent/KR20200109364A/ko
Application granted granted Critical
Publication of KR102463478B1 publication Critical patent/KR102463478B1/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/527Global motion vector estimation
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/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
    • 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

Landscapes

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

Abstract

아핀 인터 모드를 포함하는 비디오 코딩에 대한 인터 예측 방법 및 장치가 개시된다. 일 방법에서, 아핀 MVP 후보 목록이 생성되고, 아핀 MVP 후보 목록은 이웃 블록 세트로부터 유도된 적어도 하나의 상속된 아핀 MVP를 포함한다. 아핀 모션 모델과 연관된 현재 제어점 MV 세트의 예측 차이가 비디오 인코더 측에서 아핀 MVP 후보 목록으로부터 선택된 하나의 예측자를 사용하여 인코딩되거나, 아핀 모션 모델과 연관된 현재 제어점 MV 세트의 예측 차이가 비디오 디코더 측에서 아핀 MVP 후보 목록으로부터 선택된 하나의 예측자를 사용하여 디코딩된다. 또 다른 방법에서, 상속된 아핀 MVP는, 상기 적어도 하나의 이웃 블록의 참조 화상 목록 중 적어도 하나가 현재 블록의 현재 참조 화상과 동일한 하나의 참조 화상을 포함하는지 여부를 고려함으로써 유도된다.

Description

비디오 코딩 시스템을 위한 아핀 인터 예측 방법 및 장치
관련 출원에 대한 상호 참조
본 출원은 2018년 1월 26일에 출원된 미국 특허 가출원 제62/622,227호 및 2018년 5월 2일에 출원된 미국 특허 가출원 제62/665,585호에 대하여 우선권을 주장한다. 상기 미국 특허 가출원들은 인용에 의해 그 전부가 본원에 통합된다.
기술분야
본 발명은 모션 추정 및 모션 보상을 사용한 비디오 코딩에 관한 것이다. 특히, 본 발명은 아핀 인터 모드(affine Inter mode)를 사용하여 코딩된 하나 이상의 블록과 연관된 하나 이상의 아핀 모션 벡터 예측자(motion vector predictor; MVP) 후보를 포함하는 인터 후보 목록을 생성하는 것에 관한 것이다.
지난 20년 동안 다양한 비디오 코딩 표준이 개발되었다. 최신 코딩 표준에서는, 더 강력한 코딩 도구를 사용하여 코딩 효율성을 향상시킨다. 고효율 비디오 코딩(High Efficiency Video Coding; HEVC)은 최근에 개발된 새로운 코딩 표준이다. 고효율 비디오 코딩(HEVC) 시스템에서는 H.264/AVC의 고정 크기 매크로블록이 코딩 단위(coding unit; CU)라고 부르는 유연성 블록(flexible block)으로 교체된다. CU 내의 픽셀들은 코딩 효율을 개선하기 위해 동일한 코딩 파라미터들을 공유한다. CU는 HEVC에서 코딩된 트리 단위(coded tree unit, CTU)라고도 부르는 최대 CU(largest CU, LCU)로 시작할 수 있다. 코딩 단위의 개념 외에, 예측 단위(prediction unit; PU)의 개념이 또한 HEVC에 도입된다. CU 계층 트리의 분할이 이루어진 때, 각각의 리프(leaf) CU는 예측 유형 및 PU 구획(partition)에 따라 하나 이상의 예측 단위(prediction unit; PU)로 추가로 분할된다.
대부분의 코딩 표준에서, 적응 인터/인트라 예측(adaptive Inter/Intra prediction)은 블록 단위로 사용된다. 인터 예측 모드에서, 하나 또는 2개의 모션 벡터가 각각의 블록에 대해 결정되어 하나의 참조 블록(즉, 단방향 예측(uni-prediction)) 또는 2개의 참조 블록(즉, 양방향 예측(bi-prediction))을 선택한다. 모션 벡터 또는 모션 벡터들은 각각의 개별 블록에 대해 결정되고 코딩된다. HEVC에서, 인터 모션 보상은 명시적(explicit) 시그널링 또는 묵시적(implicit) 시그널링의 두 가지 상이한 방식으로 지원된다. 명시적인 시그널링에서, 블록(즉, PU)에 대한 모션 벡터는 예측 코딩 방법을 사용하여 시그널링된다. 모션 벡터 예측자는 현재 블록의 공간적 및 시간적 이웃(temporal neighbours)과 연관된 모션 벡터에 대응한다. MV 예측자가 결정된 후, 모션 벡터 차이(motion vector difference; MVD)가 코딩되고 전송된다. 이 모드는 AMVP(advanced motion vector prediction) 모드라고도 한다. 묵시적 시그널링에서, 후보 예측자 세트로부터의 하나의 예측자가 현재 블록(즉, PU)에 대한 모션 벡터로서 선택된다. 인코더 및 디코더 모두 후보 세트를 유도하고 동일한 방식으로 최종 모션 벡터를 선택하므로, 묵시적 모드에서 MV 또는 MVD를 시그널링할 필요가 없다. 이 모드는 병합 모드(Merge mode)라고도 한다. 병합 모드에서 예측자 세트의 형성은 병합 후보 목록 구성이라고도 한다. 병합 인덱스(Merge index)라고 하는 인덱스는 현재 블록에 대한 MV로서 선택된 예측자를 나타 내기 위해 시그널링된다.
시간 축(temporal axis)을 따라 화상을 가로질러 모션이 발생하면 다수의 상이한 모델로 설명 될 수 있다. A(x, y)를 고려중인 위치(x, y)에서의 원래 픽셀이고, A'(x', y')는 현재 픽셀 A(x, y)에 대한 참조 화상(reference picture) 내의 위치(x', y')에서의 대응 픽셀이라고 가정하면, 아핀 모션 모델은 다음과 같이 설명된다.
아핀 모델은 2차원 블록 회전뿐만 아니라 2차원 변형(deformations)을 설명하여 정사각형(또는 직사각형)을 평행 사변형으로 변환할 수 있다. 이 모델은 다음과 같이 설명될 수 있다:
Figure 112020087087668-pct00001
ITU-VCEG에 제출된 ITU-T13-SG16-C1016 기고문(contribution)(Lin 등, "차세대 비디오 코딩을 위한 아핀 변환 예측(Affine transform prediction for next generation video coding)", ITU-U, 연구 그룹 16, 질문 Q6/16, 기고문 C1016, 2015년 9월, 제네바, 스위스)에서, 4-파라미터 아핀 예측이 개시되며, 아핀 병합 모드를 포함한다. 아핀 모션 블록이 움직이고 있을 때, 블록의 모션 벡터 필드는 다음과 같이 2개의 제어점 모션 벡터 또는 4개의 파라미터에 의해 설명될 수 있으며, 여기서(vx, vy)는 모션 벡터를 나타낸다.
Figure 112020087087668-pct00002
4-파라미터 아핀 모델의 예가 도 1a에 도시되어 있다. 변환된 블록은 직사각형 블록이다. 이 이동 블록에서 각 점의 모션 벡터 필드는 다음 수학식으로 설명될 수 있다.
Figure 112020087087668-pct00003
상기 수학식에서, (v0x, v0y)는 블록의 상부 좌측 코너(upper-left corner)에 있는 제어점 모션 벡터(즉, v0)이고, (v1x, v1y)는 블록의 상부 우측 코너에 있는 또 다른 제어점 모션 벡터(즉, v1)이다. 2개의 제어점의 MV가 디코딩될 때, 블록의 각 4x4 블록의 MV는 상기 수학식에 따라 결정될 수 있다. 다시 말해, 블록에 대한 아핀 모션 모델은 2개의 제어점에서 2개의 모션 벡터에 의해 명시될 수 있다. 또한, 블록의 상부 좌측 코너 및 상부 우측 코너가 2개의 제어점으로서 사용되는 반면, 다른 2개의 제어점도 사용될 수 있다. 현재 블록에 대한 모션 벡터의 예는 수학식 3에 따라 도 1b에 도시된 바와 같이 2개의 제어점의 MV에 기초하여 각각의 4x4 서브블록(sub-block)에 대해 결정될 수 있다.
ITU-T13-SG16-C1016 기고문에 의해, 인터 모드 코딩된 CU에 대해, CU 크기가 16x16 이상일 때 아핀 인터 모드가 적용되는지 여부를 나타내기 위해 아핀 플래그가 시그널링된다. 현재 블록(예를 들어, 현재 CU)이 아핀 인터 모드로 코딩되면, 후보 MVP 쌍 목록은 이웃 유효 재구성된 블록을 사용하여 구축된다. 도 2는 코너 유도된(corner derived) 아핀 후보를 유도하기 위해 사용되는 이웃 블록 세트를 도시한다. 도 2에 도시된 바와 같이,
Figure 112020087087668-pct00004
는 이웃 블록 a0(위쪽 좌측 블록이라고 지칭됨), a1(내부 위쪽 좌측 블록이라고 지칭됨) 및 a2(하부 위쪽 좌측(lower above-left) 블록으로 지칭됨)의 모션 벡터로부터 선택되는, 현재 블록(210)의 상부 좌측 코너에서 블록 V0의 모션 벡터에 대응하고,
Figure 112020087087668-pct00005
는 이웃 블록 b0(위쪽 블록이라고 지칭됨) 및 b1(위쪽 우측 블록이라고 지칭됨)의 모션 벡터로부터 선택되는, 현재 블록(210)의 상부 우측 코너에서 블록 V1의 모션 벡터에 대응한다. 후보 MVP 쌍을 선택하기 위해, "DV"(본 개시에서 왜곡 값으로 명명됨)는 다음에 따라 계산된다:
Figure 112020087087668-pct00006
상기 수학식에서, MVa는 블록 a0, a1 또는 a2와 연관된 모션 벡터이고, MVb는 블록 b0 및 b1의 모션 벡터로부터 선택되며, MVc는 블록 c0 및 c1의 모션 벡터로부터 선택된다. 최소 DV를 가진 MVa 및 MVb가 MVP 쌍을 형성하도록 선택된다. 따라서, 2개의 MV 세트(즉, MVa 및 MVb)만이 최소 DV를 검색될(searched) 것이지만, 제3 DV 세트(즉, MVc)도 선택 프로세스에 관여된다. 제3 DV 세트는, 이웃 블록 c0(좌측 블록으로 지칭됨) 및 c1(좌측 하단 블록으로 지칭됨)의 모션 벡터로부터 선택되는, 현재 블록(210)의 하부 좌측 코너에 있는 블록의 모션 벡터에 대응한다. 도 2의 예에서, 아핀 모션 모델에 대한 제어점 MV를 구성하는데 사용되는 이웃 블록(a0, a1, a2, b0, b1, b2, c0 및 c1)은 본 개시에서 이웃 블록 세트로 지칭된다.
ITU-T13-SG16-C1016 기고문에서, 아핀 병합 모드도 제안된다. 현재 블록이 병합 코딩된 PU인 경우, 이웃하는 5개의 블록(도 3의 A0, A1, B0, B1 및 B2 블록)은, 이들 중 어느 것이 아핀 인터 모드 또는 아핀 병합 모드로 코딩되는지를 결정하기 위해 체크된다(checked). 그렇다면, 현재 PU가 아핀 모드인지를 나타내기 위해 아핀_플래그가 시그널링된다. 현재 PU가 아핀 병합 모드에서 적용될 때, 그것은 유효한 이웃 재구성된 블록들로부터 아핀 모드로 코딩된 제1 블록을 얻는다. 후보 블록의 선택 순서는 좌측 블록(A1)으로부터 위쪽 블록(B1), 위쪽 우측 블록(B0), 좌측 하단 블록(A0)을 거쳐 위쪽 좌측 블록(B2)까지이다. 다시 말해, 검색 순서는 도 3에 도시된 바와 같이 A1 -> B1 -> B0 -> A0 -> B2이다. 아핀 코딩된 블록의 아핀 파라미터는 현재 PU에 대한 v0 및 v1을 유도하는데 사용된다. 도 3의 예에서, 아핀 모션 모델에 대한 제어점 MV를 구성하는데 사용되는 이웃 블록(A0, A1, B0, B1, 및 B2)은 본 개시에서 이웃 블록 세트로서 지칭된다.
6-파라미터 아핀 모델은 아핀 병합 모드 및 아핀 인터 모드에 대한 JVET-K0337(Han 등, "CE4.1.3: 아핀 모션 보상 예측(Affine motion compensation prediction)", ITU-T SG 16 WP 3의 JVET(Joint Video Exploration Team) 및 ISO/IEC JTC 1/SC 29/WG 11, 제11차 회의: 류블랴나, SI, 2018년 7월 10일 - 18일, 문서: JVET-K0337)에 개시되어있다. 6-파라미터 아핀 모델은 도 4a에 도시된 바와 같이 3개의 제어점(
Figure 112020087087668-pct00007
)을 사용하는데, 여기서 블록(410)은 현재 PU에 대응한다. 6-파라미터 아핀 모션 모델은 도 4b에 도시된 바와 같이 직사각형을 평행 사변형(420)으로 변환할 수 있다. 아핀 모션 블록이 움직이고 있을 때, 블록의 모션 벡터 필드는 다음과 같이 3개의 제어점 모션 벡터 또는 4개의 파라미터에 의해 설명될 수 있으며, 여기서(vx, vy)는 모션 벡터를 나타낸다.
Figure 112020087087668-pct00008
3개의 제어점의 MV가 디코딩될 때, 각 4x4 블록의 MV는 하기 수학식에 따라 유도될 수 있다:
Figure 112020087087668-pct00009
중심 픽셀의 MV(즉, 4x4 블록의 (2, 2)에서의 위치)는 4x4 블록의 MV를 나타낸다.
4- 및 6-파라미터 아핀 모델을 모두 지원하는 시스템에서, 하나의 파라미터 플래그가 시그널링되어 4- 또는 6-파라미터 아핀 모델의 선택을 나타낸다. 또한, 아핀 인터 모드에서는,
· 4-파라미터 아핀 모델이 사용되는 경우, 1개의 MVP 쌍과 2개의 MVD가 시그널링되고,
· 6-파라미터 아핀 모델이 사용되는 경우, 1개의 MVP 삼중쌍(3개의 MVP를 가짐)과 3개의 MVD가 시그널링된다.
본 발명에서, 기존의 코딩 시스템의 코딩 성능을 향상시키기 위해 모션 보상을 활용하는 방법이 개시된다.
편의상, MVP 세트라는 용어는 MVP 쌍과 MVP 삼중쌍을 지칭하는데 사용된다.
병합 모드 코딩에서 병합 후보 목록을 유도하기 위한 아핀 모션 모델은 비디오 시퀀스 내에서 보다 복잡한 모션을 처리하는(handle) 데 유용한 코딩 툴(coding tool)인 것으로 도시되었다. 시스템 코딩 성능을 추가로 개선하기 위해 아핀 모션 기술을 개발하는 것이 바람직하다. 따라서, 다양한 아핀 기반 모션 벡터 예측 기술이 본 발명에 개시되었다.
아핀 인터 모드와 아핀 병합 모드를 포함하는 코딩 모드로 코딩된 블록과 연관된 모션 벡터(MV)를 코딩하기 위해 모션 벡터 예측(MVP)을 활용하는 비디오 인코더 또는 비디오 디코더에 의해 수행되는 비디오 코딩에 대한 인터 예측 방법 및 장치가 개시된다. 하나의 방법에 따라, 비디오 인코더 측에서 현재 블록과 관련된 입력 데이터 또는 비디오 디코더 측에서 현재 블록을 포함하는 압축된 데이터에 대응하는 비디오 비트스트림이 수신된다. 현재 블록의 이웃 블록 세트가 결정된다. 적어도 하나의 이웃 블록이 아핀 모션 모델을 사용하여 코딩되면, 적어도 하나의 상속된 MVP는 상기 적어도 하나의 이웃 블록의 대응하는 제어점 MV 세트에 기초하여 유도된다. 아핀 AMVP(advance MVP) 후보 목록 또는 아핀 병합 MVP 목록을 포함하는 아핀 MVP 후보 목록이 생성되며, 여기서 아핀 MVP 후보 목록은 상기 적어도 하나의 상속된 아핀 MVP를 포함한다. 아핀 AMVP 목록 내의 후보에 대해, 아핀 모션 모델과 연관된 현재 제어점 MV 세트의 예측 차이는, 비디오 인코더 측에서 아핀 AMVP 후보 목록으로부터 선택된 하나의 예측자를 사용하여 인코딩되거나, 상기 아핀 모션 모델과 연관된 현재 제어점 MV 세트의 예측 차이는 비디오 디코더 측에서 아핀 AMVP 후보 목록으로부터 선택된 하나의 예측자를 사용하여 디코딩된다.
일 실시예에서, 이웃 블록 세트는 위쪽 블록(B1), 위쪽 우측 블록(B0), 위쪽 좌측 블록(B2), 좌측 블록(A1) 및 좌측 하단 블록(A0)을 포함한다. 미리 정의된 순서는 A1 -> B1 -> B0 -> A0 -> B2일 수 있다. 또 다른 실시예에서, 이웃 블록 세트는 제1 서브세트 및 제2 서브세트로 분할되고, 제1 서브세트는 A0 및 A1을 포함하고 제2 서브세트는 B0, B1 및 B2를 포함한다. 2개의 서브세트의 경우에 대해, 제1 상속된 아핀 MVP는 A0 -> A1의 제1 순서에 따라 제1 서브세트에서 제일 먼저 사용 가능한 제1 아핀 코딩된 블록의 제1 제어점 MV 세트에 기초하여 유도될 수 있고, 제2 상속된 아핀 MVP는 제2 순서 B0 -> B1 -> B2에 따라 제2 서브세트에서 제일 먼저 사용 가능한 제2 아핀 코딩된 블록의 제2 제어점 MV 세트에 기초하여 유도될 수 있다.
아핀 MVP 목록 패딩이 적용될 수 있다. 예를 들면, 상기 적어도 하나의 상속된 아핀 MVP가 아핀 MVP 후보 목록에 삽입된 후, 아핀 MVP 후보 목록이 가득 차지 않으면 정상(normal) MVP 목록으로부터의 정상 MVP가 아핀 MVP 후보 목록에 추가된다. 아핀 MVP 목록 프루닝(prunning)이 또한 적용될 수 있다. 예를 들면, 상기 적어도 하나의 상속된 아핀 MVP가 상기 아핀 MVP 후보 목록에 이미 있는 또 다른 아핀 MVP와 동일한 경우, 상기 적어도 하나의 상속된 아핀 MVP가 제거되거나 아핀 MVP 후보 목록에 삽입되지 않는다. 또 다른 예에서, 상기 적어도 하나의 상속된 아핀 MVP와 아핀 MVP 후보 목록의 또 다른 아핀 MVP 사이의 제어점 MV의 차이가 문턱값보다 작은 경우, 상기 적어도 하나의 상속된 아핀 MVP가 제거되거나 아핀 MVP 후보 목록에 삽입되지 않는다. 또 다른 예에서, 상기 적어도 하나의 상속된 아핀 MVP의 모든 제어점 MV가 동일한 경우, 상기 적어도 하나의 상속된 아핀 MVP가 제거되거나 아핀 MVP 후보 목록에 삽입되지 않는다.
또 다른 실시예에서, 적어도 하나의 구성된 아핀 MVP는, 상기 적어도 하나의 이웃 블록 또는 2개의 이웃 블록이 인터 예측 모드를 사용하여 코딩되는 경우, 상이한 이웃 블록들로부터 유도된 제2 제어점 MV 세트에 기초하여 유도되고, 상기 아핀 MVP 후보 목록은 상기 적어도 하나의 구성된 아핀 MVP를 포함한다. 상기 적어도 하나의 상속된 아핀 MVP는 상기 적어도 하나의 구성된 아핀 MVP 전에 아핀 MVP 후보 목록에 삽입될 수 있다. 또 다른 실시예에서, 아핀 MVP 후보 목록이 미리 정의된 수보다 작으면 적어도 하나의 구성된 아핀 MVP가 사용된다. 더 나아가, 상기 적어도 하나의 구성된 아핀 MVP의 모든 제어점 MV가 동일한 경우, 상기 적어도 하나의 구성된 아핀 MVP가 제거되거나 상기 아핀 MVP 후보 목록에 삽입되지 않을 수 있다.
또 다른 방법에 따르면, 적어도 하나의 이웃 블록이 아핀 모션 모델을 사용하여 코딩되고 상기 적어도 하나의 이웃 블록의 참조 화상 목록 중 적어도 하나가 현재 블록의 현재 참조 화상과 동일한 하나의 참조 화상을 포함하는 경우, 적어도 하나의 상속된 아핀 MVP는 상기 적어도 하나의 이웃 블록의 대응하는 제어점 MV 세트에 기초하여 유도된다. 아핀 MVP 후보 목록은 상기 적어도 하나의 상속된 아핀 MVP를 아핀 MVP 후보 목록에 포함시킴으로써 생성된다. 아핀 AMVP 목록 내의 후보에 대해, 아핀 모션 모델과 연관된 현재 제어점 MV 세트의 예측 차이는, 비디오 인코더 측에서 아핀 AMVP 후보 목록으로부터 선택된 하나의 예측자를 사용하여 인코딩되거나, 아핀 모션 모델과 연관된 현재 제어점 MV 세트의 예측 차이는 비디오 디코더 측에서 아핀 AMVP 후보 목록으로부터 선택된 하나의 예측자를 사용하여 디코딩된다.
일 실시예에서, 상기 적어도 하나의 이웃 블록의 참조 화상 목록 중 상기 적어도 하나는 현재 블록의 현재 참조 화상 목록에 대응한다. 또 다른 실시예에서, 상기 적어도 하나의 이웃 블록의 참조 화상 목록 중 상기 적어도 하나는 현재 블록의 현재 참조 화상 목록과는 상이한 하나의 참조 화상 목록에 대응한다.
일 실시예에서, 스케일링되지 않은(non-scaled) 상속된 아핀 MVP가 삽입된 후에 아핀 MVP 목록이 가득 차지 않으면, 스케일링된 상속된 아핀 MVP가 유도되어 아핀 MVP 목록에 삽입될 수 있다. 이 경우, 스케일링된 상속된 아핀 MVP는 아핀 코딩된 이웃 블록의 대응하는 제어점 MV 세트를 스케일링함으로써 유도되지만, 아핀 코딩된 이웃 블록의 참조 화상은 현재 블록의 참조 화상과 상이하다. 아핀 코딩된 이웃 블록의 참조 화상은 현재 블록의 동일한 참조 화상 목록으로부터 먼저 선택될 수 있다. 대안적으로, 아핀 코딩된 이웃 블록의 참조 화상은 현재 블록의 참조 화상 목록과는 상이한 참조 화상 목록으로부터 먼저 선택 될 수 있다.
또한, 앞서 언급한 아핀 MVP 목록 패딩 및 프루닝은 제2 방법에도 적용될 수 있다.
도 1a는 변환된 블록이 여전히 직사각형 블록인 4-파라미터 아핀 모델의 예를 도시한다.
도 1b는 2개의 제어점의 MV에 기초하여 각각의 4x4 서브블록에 대해 결정된 현재 블록에 대한 모션 벡터의 예를 도시한다.
도 2는 코너 유도된 아핀 후보를 유도하기 위해 사용되는 이웃 블록 세트를 도시한다.
도 3은 상속된 아핀 후보를 유도하기 위해 사용되는 이웃 블록 세트를 도시한다.
도 4a는 6-파라미터 아핀 모델에 대한 3개의 제어점(
Figure 112020087087668-pct00010
)의 예를 도시한다.
도 4b는 직사각형을 평행 사변형으로 변환할 수 있는 6-파라미터 아핀 모션 모델의 예를 도시한다.
도 5는 3개의 제어점 모션 벡터 각각이 이웃 블록 세트로부터 유도되는 코너 유도 후보의 예를 도시한다.
도 6은 2-분기(two-branch) 프로세스를 사용하는 상속된 후보의 예를 도시하는데, 하나의 상속된 후보는 블록 A0 및 A1로부터 유도되고 또 다른 상속된 후보는 블록 B0, B1 및 B2로부터 유도된다.
도 7은 본 발명의 실시예를 포함하는 아핀 인터 모드를 갖는 비디오 코딩 시스템에 대한 예시적인 흐름도를 도시하고, 여기서 시스템은 현재 블록의 모션 정보를 코딩하기 위해 아핀 MVP 후보 목록을 사용한다.
도 8은 본 발명의 실시예를 포함하는 아핀 인터 모드를 갖는 비디오 코딩 시스템에 대한 또 다른 예시적인 흐름도를 도시하고, 여기서 시스템은 현재 블록의 모션 정보를 코딩하기 위해 아핀 MVP 후보 목록을 사용한다.
이하에서는 본 발명의 최상으로 예상되는 실행 모드를 설명한다. 이 설명은 본 발명의 일반적인 원리를 예시하기 위한 것이고 제한하는 의도로 해석되지 않아야 한다. 발명의 범위는 첨부된 특허 청구항들을 참고하여 최상으로 결정된다.
본 발명에서, 비디오 압축을 위한 아핀 모션 추정 및 보상을 활용하는 다양한 방법이 개시된다. 특히, 아핀 모션 추정 또는 보상은 병합 모드 또는 인터 예측 모드에서 비디오 데이터를 코딩하는데 사용된다.
아핀 AMVP 모드 MVP 유도
본 발명에서, 아핀 모션 모델은 아핀 어드밴스 MVP(AMVP) 코딩 모드 및 아핀 병합 모드 둘 다에 대해 아핀 MVP 후보를 유도하기 위해 사용된다. 또한, 아핀 MVP 후보 목록은 하나보다 많은 아핀 MVP 후보를 포함할 수 있다. AMVP 모드로 코딩된 블록의 경우, 선택된 후보 MVP 쌍의 인덱스는 비트스트림으로 시그널링된다. 2개의 제어점의 MV 차이(MVD)는 4-파라미터 아핀 모델에 대한 비트스트림으로 코딩된다. 3개의 제어점의 MV 차이(MVD)는 6-파라미터 아핀 모델에 대한 비트스트림으로 코딩된다. 아핀 병합 모드로 코딩된 블록의 경우, 선택된 후보 MVP 쌍의 인덱스만이 비트스트림으로 시그널링된다. 다음의 논의에서, 편의를 위해 2개의 제어점 모션 벡터를 갖는 4-파라미터 아핀 모델에 대한 대부분의 예가 제공된다. 그러나, 본 발명은 3개의 제어점 모션 벡터를 갖는 6-파라미터 아핀 모델의 경우에도 적용될 수 있는 것으로 이해된다.
아핀 AMVP 모드와 아핀 병합 모드에는 두 종류의 아핀 후보가 사용된다. 두 종류의 아핀 후보는 상속된 아핀 후보 및 코너 유도된 후보에 대응한다. 두 종류의 아핀 후보의 유도는 다음과 같이 간략하게 검토된다.
상속된 아핀 후보
상속된 아핀 후보는 이웃 블록의 아핀 모델을 상속함으로써 유도된다. 상속된 아핀 후보를 유도하기 위해 사용되는 이웃 블록이 도 3에 도시되어 있으며, 여기서 현재 블록(310)의 하부 좌측 코너 주위의 블록(A0 및 A1) 및 현재 블록(310) 위의 블록(B0, B1 및 B2)이 사용된다. 두 후보가 유도된다. 하나의 후보는 블록(A0 및 A1)으로부터 유도된다. 블록(A0)이 아핀 모드를 사용하여 예측되고 참조 화상 목록 0 또는 목록 1의 참조 화상이 현재 블록의 타겟 참조 화상과 동일한 것을 가리키는 경우, A0의 제어점 MV는 하나의 상속된 아핀 후보로서 사용된다. 그렇지 않으면, 블록(A1)이 아핀 모드를 사용하여 예측되고, 참조 목록 0 또는 목록 1의 참조 화상이 현재 블록의 타겟 참조 화상과 동일한 것을 가리키는지 여부가 체크된다. 그렇다면, A1의 제어점 MV는 하나의 아핀 MVP 후보로서 사용된다. 즉, 검색 순서는(A0 -> A1)이다. 동일한 프로세스가(B0 -> B1 -> B2) 순서로 상단 이웃 블록에 적용되어 다른 상속된 아핀 후보를 유도한다. 상속된 아핀 후보의 경우, 동일한 이웃 블록으로부터의 제어점 MV가 선택된다. 본 개시에서, 참조 화상 목록은 편의상 참조 목록으로 지칭될 수도 있다.
코너 유도된 후보(또는 구성된 후보)
코너 유도된 후보들에 대해, 제어점 MV들은 상이한 이웃 블록들로부터 유도된다. 코너 유도된 후보의 예가 도 5에 도시된다. 코너 유도된 후보
Figure 112020087087668-pct00011
는 이웃 블록 {a0,a1,a2}에서 제1 사용 가능한 MV에 대응한다. 코너 유도된 후보
Figure 112020087087668-pct00012
는 이웃 블록 {b0, b1}에서 제일 먼저 사용 가능한 MV에 대응하고, 코너 유도된 후보
Figure 112020087087668-pct00013
는 이웃 블록 {c0, c1}에서 제일 먼저 사용 가능한 MV에 대응한다. 제일 먼저 사용 가능한 MV는 현재 참조 화상과 동일한 타겟 참조 화상을 가리키는 목록 0(즉, L0) 또는 목록 1(즉, L1)의 MV이다. 예를 들어, 검색 순서는 b0-L0, b0-L1, b1-L0, 및 b1-L1일 수 있다. 하나의 코너 유도된 아핀 후보만이 삽입된다.
상속된 후보는 아핀 MVP 후보 목록에서 코너 유도된 후보 이전에 삽입될 수 있다.
아핀 AMVP 모드에서 아핀 MVP 쌍 유도
ITU-T13-SG16-C-1016에서, 이웃 MV는 MVP 쌍을 형성하는 데 사용된다. 본 발명에서는, 아핀 MVP 쌍을 생성하기 위해 아핀 모드에 의해 코딩된 이웃 블록들로부터 수학식 2의 아핀 정보 {a, b, e, f}를 사용하는 것이 제안된다. 예를 들어, 이웃 블록 C1이 아핀 모드에 의해 코딩된다면, 현재 블록이 아핀 모드에 의해 코딩될 때, 그 아핀 정보는 하나의 MV 쌍을 아핀 MVP 쌍으로서 유도하기 위해 사용된다. 수학식 3에 기초해, 현재 블록의 (v0x , v0y) 및 (v1x , v1y)가 수학식 7에 의해 결정될 수 있다:
Figure 112020087087668-pct00014
상기 수학식에서, {a, b, e, f}는 이웃 블록 C1에서 사용되는 아핀 파라미터이다. 이 아핀 MVP 쌍의 우선 순위는 원래 방법보다 높을 수 있다. 본 발명의 실시예에 따르면, 이웃 블록들로부터 아핀 정보를 사용하여 생성된 모든 아핀 MVP 쌍이 MVP 쌍 목록에 먼저 삽입된다. 그 후, 원래의 방법에 기초한 MVP 유도가 이어질 수 있다. 또 다른 실시예에서, 이 제안된 방법은 MVP 쌍에 기초하여 원래의 방법과 인터리빙될 수 있다.
또 다른 실시예에서, 4-파라미터 아핀 모델에 대해, 공간 상속된 아핀 후보의 2개의 제어점 MVP의 MV는 다음 수학식에 따라 유도될 수 있다:
V0x = VB0x +(VB0y - VB1y) * (posCurCU_Y - posRefCU_Y)/RefCU_width +(VB1x - VB0x) * (posCurCU_X - posRefCU_X)/RefCU_width
V0y = VB0y + (VB1x - VB0x) * (posCurCU_Y - posRefCU_Y)/RefCU_width + (VB1y - VB0y) * (posCurCU_X - posRefCU_X)/RefCU_width
V1x = VB0x + (VB0y - VB1y) * (posCurCU_Y - posRefCU_Y)/RefCU_width + (VB1x - VB0x) * (posCurCU_X + CU_width - posRefCU_X)/RefCU_width
V1y = VB0y + (VB1x - VB0x) * (posCurCU_Y - posRefCU_Y)/RefCU_width + (VB1y - VB0y) * (posCurCU_X + CU_width - posRefCU_X)/RefCU_width
상기 수학식에서, VB0 및 VB1은 각각 임의의 참조/이웃 CU의 상단 좌측 MV 및 상단 우측 MV로 대체될 수 있고, (posCurCU_X, posCurCU_Y)는 화상의 상단 좌측 샘플에 대한 현재 CU의 상단 좌측 샘플의 픽셀 위치이며, (posRefCU_X, posRefCU_Y)는 화상의 상단 좌측 샘플에 대한 참조/이웃 CU의 상단 좌측 샘플의 픽셀 위치이다.
6-파라미터 아핀 모델에 대해, 공간 상속된 아핀 후보의 2개의 제어점 MVP의 MV는 다음 수학식에 따라 유도될 수 있다.
V0x = VB0x + (VB2x - VB0x) * (posCurCU_Y - posRefCU_Y)/RefCU_height + (VB1x - VB0x) * (posCurCU_X - posRefCU_X)/RefCU_width
V0y = VB0y + (VB2y - VB0y) * (posCurCU_Y - posRefCU_Y)/RefCU_height + (VB1y - VB0y) * (posCurCU_X - posRefCU_X)/RefCU_width
V1x = VB0x + (VB2x - VB0x) * (posCurCU_Y - posRefCU_Y)/RefCU_height + (VB1x - VB0x) * (posCurCU_X + CU_width - posRefCU_X)/RefCU_width
V1y = VB0y + (VB2y - VB0y) * (posCurCU_Y - posRefCU_Y)/RefCU_height + (VB1y - VB0y) * (posCurCU_X + CU_width - posRefCU_X)/RefCU_width
V2x = VB0x + (VB2x - VB0x) * (posCurCU_Y + CU_height - posRefCU_Y)/RefCU_height + (VB1x - VB0x) * (posCurCU_X - posRefCU_X)/RefCU_width
V2y = VB0y + (VB2y - VB0y) * (posCurCU_Y + CU_height - posRefCU_Y)/RefCU_height + (VB1y - VB0y) * (posCurCU_X - posRefCU_X)/RefCU_width
상기 수학식에서, VB0, VB1, 및 VB2는 각각 임의의 참조/이웃 CU의 상단 좌측 MV, 상단 우측 MV, 및 하단 좌측 MV로 대체될 수 있고, (posCurCU_X, posCurCU_Y)는 화상의 상단 좌측 샘플에 대한 현재 CU의 상단 좌측 샘플의 픽셀 위치이며, (posRefCU_X, posRefCU_Y)는 화상의 상단 좌측 샘플에 대한 참조/이웃 CU의 상단 좌측 샘플의 픽셀 위치이다.
상속된 아핀 모델 제어점 MV 유도는 또한 다음과 같이 표현될 수 있다. 먼저 일부 변수가 정의된다:
- 루마 위치(xCb, yCb)는 현재 화상의 상단 좌측 루마 샘플에 대한 현재 루마 코딩 블록의 상단 좌측 샘플을 명시하고,
- 2개의 변수 cbWidth 및 cbHeight는 현재 루마 코딩 블록의 폭과 높이를 명시하고,
- 루마 위치(xCb, yCb)는 현재 화상의 상단 좌측 루마 샘플에 대한 이웃 루마 코딩 블록의 상단 좌측 샘플을 명시하고,
- 2개의 변수 nNbW 및 nNbH는 이웃 루마 코딩 블록의 폭과 높이를 명시하고,
- numCpMv는 제어점 모션 벡터의 수이며,
- cpMvLX[cpIdx]는 cpIdx = 0,..., numCpMv - 1이고 X가 0 또는 1(목록 0의 경우 0, 목록 1의 경우 1)인 루마 아핀 제어점 벡터이다.
log2NbW 및 log2NbH 변수는 다음과 같이 유도된다:
log2NbW = Log2(nNbW),
log2NbH = Log2(nNbH).
변수 mvScaleHor, mvScaleVer, dHorX 및 dVerX는 다음과 같이 유도된다:
mvScaleHor = MvLX[xNb][yNb][0] << 7
mvScaleVer = MvLX[xNb][yNb][1] << 7
dHorX = (MvLX[xNb + nNbW - 1][yNb][0] - MvLX[xNb][yNb][0]) << (7 - log2NbW)
dVerX = (MvLX[xNb + nNbW - 1][yNb][1] - MvLX[xNb][yNb][1]) << (7 - log2NbW)
위의 수학식에서 MvLX[xNb][yNb]는 위치(xNb, yNb)의 모션 벡터에 대응한다. 변수 dHorY 및 dVerY는 다음과 같이 유도된다:
- MotionModelIdc[xNb][yNb]가 2인 경우 다음이 적용된다:
dHorY = (MvLX[xNb][yNb + nNbH - 1][0] - MvLX[xNb][yNb][0]) << (7 - log2NbH)
dVerY = (MvLX[xNb][yNb + nNbH - 1][1] - MvLX[xNb][yNb][1]) << (7 - log2NbH)
- 그렇지 않은 경우(MotionModelIdc[xNb][yNb]가 1인 경우), 다음이 적용된다:
dHorY =  -dVerX
dVerY = dHorX
cpIdx = 0,..., numCpMv - 1이고 X가 0 또는 1인 루마 아핀 제어점 모션 벡터 cpMvLX[cpIdx]는 다음과 같이 유도된다:
- 처음 두 제어점 모션 벡터 cpMvLX[0] 및 cpMvLX[1]은 다음과 같이 유도된다:
cpMvLX[0][0] = (mvScaleHor + dHorX * (xCb - xNb) + dHorY * (yCb - yNb))
cpMvLX[0][1] = (mvScaleVer + dVerX * (xCb - xNb) + dVerY * (yCb - yNb))
cpMvLX[1][0] = (mvScaleHor + dHorX * (xCb + cbwidth - xNb) + dHorY * (yCb - yNb))
cpMvLX[1][1] = (mvScaleVer + dVerX * (xCb + cbwidth - xNb) + dVerY * (yCb - yNb))
- numCpMv가 3인 경우, 제3 제어점 벡터 cpMvLX[2]는 다음과 같이 유도된다:
cpMvLX[2][0] = (mvScaleHor + dHorX * (xCb - xNb) + dHorY * (yCb + cbHeight - yNb))
cpMvLX[2][1] = (mvScaleVer + dVerX * (xCb - xNb) + dVerY * (yCb + cbHeight - yNb))
삽입 순서는 미리 정의될 수 있다. 예를 들어, 이웃한 상속된 아핀 MVP 쌍은 "A1 -> B1 -> B0 -> A0 -> B2"의 순서로 삽입될 수 있다. 이웃한 상속된 아핀 MVP 쌍은 미리 정의된 순서에 따라 아핀 MVP 후보 목록에 삽입될 수 있다. 일 예에서, 이웃 블록 중 하나가 아핀 코딩된 블록이고 블록의 참조 목록 중 하나가 현재 타겟 참조 화상을 가리키는 경우, 아핀 MVP 쌍이 후보를 유도하기 위해 선택되어 후보 목록에 삽입된다. 현재 타겟 참조 목록과 동일한 참조 목록이 먼저 체크되거나 나중에 체크할 수 있다. 예를 들어, 현재 타겟 참조 목록과 동일한 참조 목록이 먼저 체크되고, 현재 타겟 참조 목록이 목록 1이면, 위치 A1의 블록에서, 목록 1의 참조 화상이 먼저 체크된다; 참조 화상이 현재 타겟 참조 화상과 동일하지 않으면, 목록 0의 참조 화상이 체크된다. 목록 0의 참조 화상이 타겟 참조 화상과 동일하면, 아핀 MVP 쌍이 후보를 유도하기 위해 선택되어 MVP 후보 목록에 삽입된다. 목록 0 및 목록 1 둘 다의 참조 화상이 현재 타겟 참조 화상과 동일하지 않으면, 아핀 MVP 쌍은 후보를 유도하기 위해 선택되지 않는다.
또 다른 실시예에서, 미리 정의된 순서에 따라, B1, B0, A0, 및 B2의 블록은 아핀 MVP 후보 목록이 가득 찰 때까지 체크될 것이다. 예를 들어, 이웃 블록들 중 하나가 아핀 코딩된 블록이고 이 블록이 현재 타겟 참조 목록과 동일한 참조 목록에서 현재 타겟 참조 화상을 가리키는 경우, 아핀 MVP 쌍이 후보를 유도하기 위해 선택되고 후보 목록에 삽입된다. 또 다른 예시에서, 이웃 블록들 중 하나가 아핀 코딩된 블록이고 이 블록이 현재 타겟 참조 목록의 다른 참조 목록 내의 현재 타겟 참조 화상을 가리키는 경우, 아핀 MVP 쌍이 후보를 유도하기 위해 선택되고 후보 목록에 삽입된다. 위의 프로세스 후에, 후보 목록이 가득 차지 않으면, 스케일링된 아핀 MVP 쌍이 추가될 수 있다. 모션 벡터 스케일링은 당업계에 공지되어 있다. 모션 벡터가 현재 참조 화상 이외의 참조 화상을 가리킬 때, 스케일링된 MV는 화상 거리에 따라 원래의 MV로부터 유도될 수 있다. 스케일링된 제어점 MV는 이웃 상속 아핀 MVP 쌍으로 사용될 수 있다. 예를 들어, 사용 가능한 제어점 MV는 MVP 후보 중 하나로서 타겟 참조 화상으로 스케일링된다. 어느 참조 목록 제어점 MV가 먼저 스케일링되어야 하는지에 관한 순서는 미리 정의되거나 유도될 수 있다. 예를 들어, 동일한 참조 목록이 먼저 또는 나중에 체크될 수 있다.
일 실시예에서, 아핀 코딩된 블록이 아핀 MVP 쌍을 생성하기 위해 이미 사용된다면, 그 사용은 아핀 MVP 쌍 생성 프로세스에서 스킵(skip)될 수 있다. 예를 들어, MV 스케일링 없이 아핀 MVP 쌍을 생성하기 위해 아핀 코딩된 블록이 이미 사용된 경우, 아핀 코딩된 블록은 MV 스케일링으로 아핀 MVP 쌍을 생성하는 데 사용되지 않을 것이다. 또 다른 예에서, 미리 정의된 블록 스캔 순서하에서, 스케일링되지 않은 아핀 MVP 쌍 및/또는 스케일링된 아핀 MVP 쌍이 하나씩 삽입된다. 예를 들어, 아핀 MVP 쌍은 다음 순서로 삽입될 수 있다: A1의 스케일링되지 않은 아핀 MVP 쌍, A1의 스케일링된 MVP 쌍, B1의 스케일링되지 않은 아핀 MVP 쌍, B1의 스케일링된 아핀 MVP 쌍 등. 또한, 스케일링되지 않은 아핀 MVP 쌍이 사용된 경우, 스케일링된 아핀 MVP 쌍이 스킵될 수 있다.
또 다른 예에서, 삽입 순서는 다르다. 도 6에 도시된 바와 같이, 그것은 현재 블록(710)에 대한 2개의 프로세스 분기를 갖는다. 제1 분기에서는 좌측 블록이 먼저 스캔된다. 이 스캔은 좌측 블록으로부터 하나의 아핀 MVP 후보 쌍을 유도한다(예를 들어, 먼저 A0, 그런 다음, A1, 또는 먼저 A1, 그런 다음 A0). 위에서 언급된 유사한 프로세스가 사용될 수 있다. 예를 들어, 이웃 블록들 중 하나가 아핀 코딩된 블록이고 현재 블록의 현재 타겟 참조 목록과 동일한 이웃 블록의 참조 목록 내의 참조 화상이 현재 타겟 참조 화상을 가리키는 경우, 아핀 MVP 쌍은 후보를 유도하기 위해 선택되어 후보 목록에 삽입된다. 제일 먼저 사용 가능한 MV가 사용된다. 현재 타겟 참조 목록과 동일한 이웃 블록의 참조 목록이 먼저 또는 나중에 체크될 수 있다. 예를 들어, 현재 타겟 참조 목록과 동일한 참조 목록이 먼저 체크되고 현재 타겟 참조 목록이 목록 1인 경우, 목록 1의 참조 화상이 위치 A0의 블록에 대해 먼저 체크된다. 참조 화상이 현재 타겟 참조 화상과 동일하지 않으면, 목록 0의 참조 화상이 체크된다. 목록 0의 참조 화상이 타겟 참조 화상과 동일하면, 아핀 MVP 쌍이 후보를 유도하기 위해 선택되고 후보 목록에 삽입되며; 블록 A1은 더 이상 체크되지 않을 것이다. 목록 0 및 목록 1 둘 다에서 블록 A0의 참조 화상이 현재 타겟 참조 화상과 동일하지 않으면, 아핀 MVP 쌍은 후보를 유도하기 위해 선택되지 않으며; 그런 다음, 블록 A1의 참조 화상이 체크될 것이다. 목록 1의 참조 화상이 현재 타겟 참조 화상과 동일하면, 아핀 MVP 쌍이 후보를 유도하기 위해 선택되어 아핀 MVP 후보 목록에 삽입된다. 이들 중 어느 것도 사용 가능하지 않으면, 위에서 언급된 스케일링된 아핀 MVP 쌍이 사용될 수 있다. 예를 들어, 사용 가능한 제어점 MV는 아핀 MVP 후보 중 하나로서 타겟 참조 화상으로 스케일링될 수 있다.
하나의 실시예에서, MV 스케일링없이 아핀 MVP 쌍을 생성하기 위해 아핀 코딩된 블록이 이미 사용된 경우, 아핀 코딩된 블록은 MV 스케일링으로 아핀 MVP 쌍을 생성하는 데 사용되지 않을 것이다. 제2 분기에서는, 위쪽 블록이 스캔된다. 이 스캔은, 검색 순서에 따라(예를 들면, B0에서 B2로 또는 B2에서 B0로) 위쪽 블록으로부터 하나의 아핀 MVP 후보 쌍을 유도한다. 제1 분기의 유사한 프로세스가 적용될 수 있다. 제일 먼저 사용 가능한 MV가 사용된다. 현재 타겟 참조 목록과 동일한 참조 목록이 먼저 또는 나중에 체크될 수 있다. 예를 들어, 현재 타겟 참조 목록이 목록 1이면, 참조 목록 1이 먼저 체크된다. 위치 B0의 블록의 경우, 목록 1의 참조 화상이 먼저 체크된다. 참조 화상이 현재 타겟 참조 화상과 동일하지 않으면, 목록 0의 참조 화상이 체크된다. 목록 0의 참조 화상이 타겟 참조 화상과 동일하면, 아핀 MVP 쌍이 후보를 유도하기 위해 선택되어 후보 목록에 삽입된다. 이 경우 B1 및 B2는 체크되지 않을 것이다. 블록 B0의 목록 0 및 목록 1 둘 다에서 블록 B0의 참조 화상이 현재 타겟 참조 화상과 동일하지 않으면, 아핀 MVP 쌍은 후보를 유도하기 위해 선택되지 않으며, 그런 다음, 블록 B1의 참조 화상이 체크될 것이다. 목록 1의 참조 화상이 현재 타겟 참조 화상과 동일하면, 아핀 MVP 쌍이 후보를 유도하기 위해 선택되어 MVP 후보 목록에 삽입된다. 이 경우, 블록 B2는 더 체크되지 않을 것이다. 블록 B1의 목록 0 및 목록 1 둘 다의 참조 화상이 현재 타겟 참조 화상과 동일하지 않으면, 블록 B2가 체크될 것이다. 블록 B2의 목록 1의 참조 화상이 현재 타겟 참조 화상과 동일하면, 아핀 MVP 쌍이 후보를 유도하기 위해 선택되어 아핀 MVP 목록에 삽입된다. 또 다른 예에서, 미리 정의된 블록 스캔 순서에 따라, 스케일링되지 않은 아핀 MVP 쌍 및/또는 스케일링된 아핀 MVP 쌍이 한 쌍씩 삽입된다. 예를 들어, 아핀 MVP 쌍은 다음 순서로 제1 분기에 삽입된다: A0의 스케일링되지 않은 아핀 MVP 쌍, A0의 스케일링된 아핀 MVP 쌍, A1의 스케일링되지 않은 아핀 MVP 쌍, 그런 다음, A1의 스케일링된 아핀 MVP 쌍. 또한, 스케일링되지 않은 아핀 MVP 쌍이 아핀 MVP 후보 목록에 이미 있는 경우, 스케일링된 아핀 MVP 쌍이 스킵될 수 있다.
중복을 방지하기 위해 추가될 아핀 MVP 쌍에 대해 프루닝이 수행될 수 있음에 유의한다. 프루닝 프로세스는 a) 모든 제어점 MV가 MVP 쌍 중 하나와 동일한지 여부를 체크하는 것, b) 하나 이상의 이미 목록에 있는 아핀 MVP 쌍을 가진 제어점 MV의 MV 차이가 문턱값보다 작은지 여부를 체크하는 것일 수 있다.
또한, 아핀 MVP 쌍에서 모든 제어점의 유도된 MV가 동일하면(즉, 아핀 모델이 병진(translational) 모션 모델인 경우), 유도된 아핀 MVP 쌍은 폐기되거나 후보 목록에 삽입되지 않을 수 있다. 대안적으로, 이러한 종류의 아핀 MVP 쌍의 우선 순위는 낮은 우선 순위로 이동된다(즉, 다른 후보들이 존재하지 않거나 후보 목록이 가득 차지 않은 경우 목록에 삽입됨).
이 아핀 MVP 쌍의 우선 순위는 원래 방법보다 높을 수 있다. 예를 들어, 이웃 블록으로부터 아핀 정보를 사용하여 생성된 모든 아핀 MVP 쌍은 먼저 아핀 MVP 쌍 목록에 삽입될 수 있다. 그 후에 원래의 방법이 이어질 수 있다. 원래의 방법 또는 일반적인 방법에 의해 생성된 아핀 MVP 후보는 아핀 정보를 사용하지 않는 방법을 지칭한다. 또 다른 실시예에서, 이 제안된 방법은 아핀 MVP 쌍에 기초하여 원래의 방법과 인터리빙될 수 있다.
아핀 MVP 쌍의 수가 미리 정의된 값보다 작은 경우(예를 들면, 2), 코너 유도된 아핀 후보가 사용될 수 있다. 도 5에 도시된 바와 같이, 이웃 모션 벡터는 아핀 MVP 쌍을 유도하는데 사용될 수 있다. 제1 코너 유도된 아핀 후보의 경우, 세트 A에서 제일 먼저 사용 가능한 MV(즉, 블록 a0, a1, 및 a2)와 세트 B에서 제일 먼저 사용 가능한 MV(즉, 블록 b0 및 b1)는 제1 MVP 쌍을 구성하는 데 사용된다. 제2 코너 유도된 아핀 후보의 경우, 세트 A에서 제일 먼저 사용 가능한 MV 및 세트 C에서 제일 먼저 사용 가능한 MV(즉, 블록 c0 및 c1)는 상단 우측 제어점의 MV를 계산하는데 사용된다. 세트 A에서 제일 먼저 사용 가능한 MV와 계산된 상단 우측 제어점 MV는 제2 아핀 MVP 쌍이다. 또한, 아핀 MVP 쌍에서 모든 제어점의 유도된 MV가 동일하면(즉, 아핀 모델이 병진 모션 모델인 경우), 유도된 아핀 MVP 쌍은 폐기되거나 후보 목록에 삽입되지 않을 수 있다. 대안적으로, 이러한 종류의 아핀 MVP 쌍의 우선 순위는 낮은 우선 순위로 이동된다(예를 들면, 다른 후보들이 존재하지 않거나 후보 목록이 가득 차지 않은 경우 목록에 삽입됨).
이웃 상속 아핀 및 코너 아핀 MVP를 추가한 후에, 아핀 MVP의 수가 미리 정의된 값보다 여전히 작으면, 정상적인 AMVP MVP가 사용된다. 아핀 MVP 쌍의 두 제어점은 정상 AMVP MVP 목록에서 MVP 중 하나로부터 동일한 MV로 채워진다.
상기 개시된 바와 같은 본 발명의 실시예에서, 2개의 제어점 MVP 쌍이 4-파라미터 아핀 모션 모델의 예로서 사용된다. 그럼에도 불구하고, 본 발명은 4-파라미터 아핀 모델로 제한되지 않는다. 본 발명은 6-파라미터 모델과 같은 다른 아핀 모델에 적용될 수 있다. 6-파라미터 아핀 모델의 경우, MVP 세트는 MVP 삼중쌍(즉, 3개의 MV) 또는 MV 세트 일 수 있다.
상기 실시예는 또한 아핀 AMVP 및 아핀 병합 모드 후보 목록 구성 둘 다에 적용될 수 있다.
전술한 제안된 방법 중 임의의 것이 인코더 및/또는 디코더에서 구현될 수 있다. 예를 들어, 제안된 방법들 중 임의의 방법은 인코더 측 또는 디코더 측의 아핀 MV/MVP 생성 모듈에서 구현될 수 있다. 대안적으로, 제안된 방법들 중 임의의 방법은 인코더 및/또는 디코더의 아핀 MV/MVP 생성 모듈에 결합된 회로로서 구현되어 아핀 MV/MVP 생성 모듈에 필요한 정보를 제공할 수 있다.
도 7은 본 발명의 실시예를 포함하는 아핀 인터 모드를 갖는 비디오 코딩 시스템에 대한 예시적인 흐름도를 도시하고, 여기서 시스템은 현재 블록의 모션 정보를 코딩하기 위해 아핀 MVP 후보 목록을 사용한다. 흐름도에 도시된 단계들은 인코더 측에서 하나 이상의 프로세서(예를 들어, 하나 이상의 CPU) 상에서 실행 가능한 프로그램 코드로서 구현될 수 있다. 흐름도에 도시된 단계는 또한 흐름도의 단계를 수행하도록 배열된 하나 이상의 전자 디바이스 또는 프로세서와 같은 하드웨어에 기초하여 구현될 수 있다. 이 방법에 따라, 현재 블록과 관련된 입력 데이터가 비디오 인코더 측에서 수신되거나, 현재 블록을 포함하는 압축된 데이터에 대응하는 비디오 비트스트림이 단계(810)에서 비디오 디코더 측에서 수신된다. 이 방법은 디코딩뿐만 아니라 인코딩에도 적용될 수 있다. 따라서, 단계(810)에서 인코더 및 디코더에 대한 데이터 입력이 적절하게 나열된다. 현재 블록의 이웃 블록 세트는 단계(820)에서 결정된다. 단계(830)에서, 적어도 하나의 상속된 아핀 MVP는, 상기 적어도 하나의 이웃 블록이 아핀 모션 모델을 사용하여 코딩된다면, 적어도 하나의 이웃 블록의 대응하는 제어점 MV 세트에 기초하여 유도된다. 단계(840)에서, 아핀 MVP 후보 목록이 생성되고, 아핀 MVP 후보 목록은 상기 적어도 하나의 상속된 아핀 MVP를 포함한다. 단계(850)에서, 아핀 모션 모델과 연관된 현재 제어점 MV 세트의 예측 차이는, 비디오 인코더 측에서 아핀 MVP 후보 목록으로부터 선택된 하나의 예측자를 사용하여 인코딩되고, 상기 아핀 모션 모델과 연관된 현재 제어점 MV 세트의 예측 차이는, 비디오 디코더 측에서 아핀 MVP 후보 목록으로부터 선택된 하나의 예측자를 사용하여 디코딩된다.
도 8은 본 발명의 실시예를 포함하는 아핀 인터 모드를 갖는 비디오 코딩 시스템에 대한 또 다른 예시적인 흐름도를 도시하고, 여기서 시스템은 현재 블록의 모션 정보를 코딩하기 위해 아핀 MVP 후보 목록을 사용한다. 이 방법에 따라, 현재 블록과 관련된 입력 데이터가 비디오 인코더 측에서 수신되거나, 현재 블록을 포함하는 압축된 데이터에 대응하는 비디오 비트스트림이 단계(910)에서 비디오 디코더 측에서 수신된다. 이 방법은 디코딩뿐만 아니라 인코딩에도 적용될 수 있다. 따라서, 단계(910)에서 인코더 및 디코더에 대한 데이터 입력이 적절하게 나열된다. 현재 블록의 이웃 블록 세트는 단계(920)에서 결정된다. 단계(930)에서, 상기 적어도 하나의 이웃 블록이 아핀 모션 모델을 사용하여 코딩되고, 상기 적어도 하나의 이웃 블록의 참조 화상 목록 중 적어도 하나가 현재 블록의 현재 참조 화상과 동일한 하나의 참조 화상을 포함하는 경우, 적어도 하나의 상속된 아핀 MVP가 적어도 하나의 이웃 블록의 대응하는 제어점 MV 세트에 기초하여 유도된다. 단계(940)에서, 아핀 MVP 후보 목록이 생성되고, 아핀 MVP 후보 목록은 상기 적어도 하나의 상속된 아핀 MVP를 포함한다. 단계(950)에서, 아핀 모션 모델과 연관된 현재 제어점 MV 세트의 예측 차이는, 비디오 인코더 측에서 아핀 MVP 후보 목록으로부터 선택된 하나의 예측자를 사용하여 인코딩되고, 아핀 모션 모델과 연관된 현재 제어점 MV 세트의 예측 차이는, 비디오 디코더 측에서 아핀 MVP 후보 목록으로부터 선택된 하나의 예측자를 사용하여 디코딩된다.
도시된 흐름도는 본 발명에 따른 비디오의 예를 도시하도록 의도된다. 당업자라면 본 발명의 정신으로부터 벗어나지 않고 본 발명을 실시하기 위해 각 단계를 수정하거나, 단계들을 재배열하거나, 단계를 분할하거나, 또는 단계들을 결합할 수 있다. 본 개시에서, 특정 구문 및 어의론은 본 발명의 실시예를 구현하는 예를 설명하기 위해 사용되었다. 당업자라면 본 발명의 정신으로부터 벗어나지 않고 구문 및 어의론을 등가적인 구문 및 어의론으로 대체하여 본 발명을 실시할 수 있다.
전술한 설명은 당업자가 특정 응용 및 그 요건의 상황에서 제공된 대로 본 발명을 실시할 수 있게 하기 위해 제시된다. 당업자에게는 설명된 실시예에 대한 각종 수정이 명백할 것이고, 여기에서 규정된 일반 원리는 다른 실시예에 적용될 수 있다. 그러므로 본 발명은 도시되고 설명된 특정 실시예로 제한되지 않고, 여기에서 개시된 원리 및 신규 특징과 일치하는 최광의의 범위로 고려되어야 한다. 전술한 상세한 설명에서, 본 발명의 완전한 이해를 제공하기 위해 각종의 특정 세부 사항들이 설명되었다. 그렇기는 하지만, 당업자라면 그러한 세부 사항 없이 본 발명이 실시될 수 있다는 것을 이해할 것이다.
전술한 본 발명의 실시예는 각종 하드웨어, 소프트웨어 코드, 또는 이들의 조합으로 구현될 수 있다. 예를 들면, 본 발명의 실시예는 여기에서 설명된 프로세싱을 수행하도록 비디오 압축 칩에 집적된 회로 또는 비디오 압축 소프트웨어에 통합된 프로그램 코드일 수 있다. 본 발명의 실시예는 또한 여기에서 설명된 프로세싱을 수행하도록 디지털 신호 프로세서(Digital Signal Processor; DSP)에서 실행되는 프로그램 코드일 수 있다. 본 발명은 컴퓨터 프로세서, 디지털 신호 프로세서, 마이크로프로세서 또는 현장 프로그램가능 게이트 어레이(field programmable gate array; FPGA)에 의해 수행될 다수의 기능을 또한 수반할 수 있다. 이러한 프로세서들은 본 발명에 의해 구현되는 특수 방법들을 규정하는 기계 판독가능 소프트웨어 코드 또는 펌웨어 코드를 실행함으로써, 본 발명에 따른 특정 작업(tasks)을 수행하도록 구성될 수 있다. 소프트웨어 코드 또는 펌웨어 코드는 상이한 프로그래밍 언어 및 상이한 포맷 또는 스타일로 개발될 수 있다. 소프트웨어 코드는 상이한 타겟 플랫폼용으로 또한 컴파일될 수 있다. 그러나 소프트웨어 코드의 상이한 코드 포맷, 스타일과 언어, 및 본 발명에 따른 작업을 수행하도록 코드를 구성하는 다른 수단은 본 발명의 정신 및 범위로부터 벗어나지 않을 것이다.
본 발명은 그 정신 또는 본질적 특성으로부터 벗어나지 않고 다른 특정 형태로 구현될 수 있다. 설명된 예들은 모든 점에서 예시하는 것이지 제한하는 것이 아닌 것으로 고려되어야 한다. 그러므로 본 발명의 범위는 전술한 상세한 설명에 의해서보다는 첨부된 청구항들에 의해 규정된다. 청구항들의 균등물의 의미 및 범위 내에 있는 모든 변화들은 본 발명의 범위 내에 포함되어야 한다.

Claims (31)

  1. 아핀 모션 모드(affine motion mode)를 포함하는 코딩 모드로 코딩된 블록과 연관된 모션 벡터(motion vector; MV)를 코딩하기 위해 모션 벡터 예측(motion vector prediction; MVP)을 활용하는 비디오 인코더 또는 비디오 디코더에 의해 수행되는 비디오 코딩에 대한 인터 예측 방법에 있어서,
    비디오 인코더 측에서 현재 블록과 관련된 입력 데이터를 또는 비디오 디코더 측에서 상기 현재 블록을 포함하는 압축된 데이터에 대응하는 비디오 비트스트림을 수신하는 단계;
    상기 현재 블록의 이웃 블록 세트를 결정하는 단계;
    적어도 하나의 이웃 블록이 아핀 모션 모델을 사용하여 코딩된다면, 상기 적어도 하나의 이웃 블록의 대응하는 제어점 MV 세트에 기초하여 적어도 하나의 상속된(inherited) 아핀 MVP를 유도하는(derive) 단계;
    아핀 MVP 후보 목록을 생성하는 단계 - 상기 아핀 MVP 후보 목록은 상기 적어도 하나의 상속된 아핀 MVP를 포함함 -; 및
    상기 비디오 인코더 측에서 상기 아핀 MVP 후보 목록으로부터 선택된 하나의 예측자를 사용하여 상기 아핀 모션 모델과 연관된 현재 제어점 MV 세트의 예측 차이를 인코딩하거나, 상기 비디오 디코더 측에서 상기 아핀 MVP 후보 목록으로부터 선택된 하나의 예측자를 사용하여 상기 아핀 모션 모델과 연관된 상기 현재 제어점 MV 세트의 예측 차이를 디코딩하고 상기 현재 제어점 MV 세트를 재구성하는 단계
    를 포함하는, 비디오 코딩에 대한 인터 예측 방법.
  2. 제1항에 있어서,
    상기 이웃 블록 세트는 위쪽 블록(B1), 위쪽 우측 블록(B0), 위쪽 좌측 블록(B2), 좌측 블록(A1) 및 좌측 하단 블록(A0)을 포함하는 것인, 비디오 코딩에 대한 인터 예측 방법.
  3. 제2항에 있어서,
    상기 아핀 모션 모델을 사용하여 임의의 이웃 블록이 코딩되는지의 여부는 A1 -> B1 -> B0 -> A0 -> B2에 대응하는 미리 정의된 순서에 따라 체크(check)되는 것인, 비디오 코딩에 대한 인터 예측 방법.
  4. 제2항에 있어서,
    상기 이웃 블록 세트는 제1 서브세트 및 제2 서브세트로 분할되고, 상기 제1 서브세트는 A0 및 A1을 포함하며, 상기 제2 서브세트는 B0, B1 및 B2를 포함하는 것인, 비디오 코딩에 대한 인터 예측 방법.
  5. 제4항에 있어서,
    A0 -> A1의 제1 순서에 따라 상기 제1 서브세트에서 제일 먼저 사용 가능한 제1 아핀 코딩된 블록의 제1 제어점 MV 세트에 기초하여 제1 상속된 아핀 MVP가 유도되고, 제2 순서 B0 -> B1 -> B2에 따라 상기 제2 서브세트에서 제일 먼저 사용 가능한 제2 아핀 코딩된 블록의 제2 제어점 MV 세트에 기초하여 제2 상속된 아핀 MVP가 유도되는 것인, 비디오 코딩에 대한 인터 예측 방법.
  6. 제1항에 있어서,
    상기 적어도 하나의 상속된 아핀 MVP가 상기 아핀 MVP 후보 목록에 삽입된 후에, 상기 아핀 MVP 후보 목록이 가득 차있지 않은 경우, 정상(normal) MVP 목록으로부터의 정상 MVP가 상기 아핀 MVP 후보 목록에 추가되는 것인, 비디오 코딩에 대한 인터 예측 방법.
  7. 제1항에 있어서,
    상기 적어도 하나의 상속된 아핀 MVP가 상기 아핀 MVP 후보 목록에 이미 있는 또 다른 아핀 MVP와 동일한 경우, 상기 적어도 하나의 상속된 아핀 MVP가 제거되거나 상기 아핀 MVP 후보 목록에 삽입되지 않는 것인, 비디오 코딩에 대한 인터 예측 방법.
  8. 제1항에 있어서,
    상기 적어도 하나의 상속된 아핀 MVP와 상기 아핀 MVP 후보 목록의 또 다른 아핀 MVP 사이의 제어점 MV의 차이가 문턱값보다 작은 경우, 상기 적어도 하나의 상속된 아핀 MVP가 제거되거나 상기 아핀 MVP 후보 목록에 삽입되지 않는 것인, 비디오 코딩에 대한 인터 예측 방법.
  9. 제1항에 있어서,
    상기 적어도 하나의 상속된 아핀 MVP의 모든 제어점 MV가 동일한 경우, 상기 적어도 하나의 상속된 아핀 MVP가 제거되거나 상기 아핀 MVP 후보 목록에 삽입되지 않는 것인, 비디오 코딩에 대한 인터 예측 방법.
  10. 제1항에 있어서,
    상기 적어도 하나의 이웃 블록 또는 2개의 이웃 블록이 인터 예측 모드를 사용하여 코딩되는 경우, 상이한 이웃 블록들로부터 유도된 제2 제어점 MV 세트에 기초하여 적어도 하나의 구성된(constructed) 아핀 MVP를 유도하는 단계를 더 포함하고, 상기 아핀 MVP 후보 목록은 상기 적어도 하나의 구성된 아핀 MVP를 포함하는 것인, 비디오 코딩에 대한 인터 예측 방법.
  11. 제10항에 있어서,
    상기 적어도 하나의 상속된 아핀 MVP는, 상기 적어도 하나의 구성된 아핀 MVP 전에 상기 아핀 MVP 후보 목록에 삽입되는 것인, 비디오 코딩에 대한 인터 예측 방법.
  12. 제1항에 있어서,
    상기 아핀 MVP 후보 목록에 있는 아핀 MVP 후보의 수는 미리 정의된 수보다 작을 때, 상기 적어도 하나의 이웃 블록 또는 2개의 이웃 블록이 인터 예측 모드를 사용하여 코딩되는 경우, 상이한 이웃 블록들로부터 유도된 제2 제어점 MV 세트에 기초하여 적어도 하나의 구성된 아핀 MVP가 유도되며, 상기 아핀 MVP 후보 목록은 상기 적어도 하나의 구성된 아핀 MVP를 포함하는 것인, 비디오 코딩에 대한 인터 예측 방법.
  13. 제12항에 있어서,
    상기 적어도 하나의 상속된 아핀 MVP의 모든 제어점 MV가 동일한 경우, 상기 적어도 하나의 구성된 아핀 MVP가 제거되거나 상기 아핀 MVP 후보 목록에 삽입되지 않는 것인, 비디오 코딩에 대한 인터 예측 방법.
  14. 아핀 모션 모드를 포함하는 코딩 모드로 코딩된 블록과 연관된 모션 벡터(motion vector; MV)를 코딩하기 위해 모션 벡터 예측(motion vector prediction; MVP)을 활용하는 비디오 인코더 또는 비디오 디코더에 의해 수행되는 비디오 코딩에 대한 인터 예측을 위한 장치에 있어서,
    상기 장치는 하나 이상의 전자 회로 또는 프로세서를 포함하고, 상기 하나 이상의 전자 회로 또는 프로세서는,
    비디오 인코더 측에서 현재 블록과 관련된 입력 데이터를 또는 비디오 디코더 측에서 상기 현재 블록을 포함하는 압축된 데이터에 대응하는 비디오 비트스트림을 수신하고;
    상기 현재 블록의 이웃 블록 세트를 결정하고;
    적어도 하나의 이웃 블록이 아핀 모션 모델을 사용하여 코딩된다면, 상기 적어도 하나의 이웃 블록의 대응하는 제어점 MV 세트에 기초하여 적어도 하나의 상속된 아핀 MVP를 유도하고;
    아핀 MVP 후보 목록을 생성하며 - 상기 아핀 MVP 후보 목록은 상기 적어도 하나의 상속된 아핀 MVP를 포함함 -;
    상기 비디오 인코더 측에서 상기 아핀 MVP 후보 목록으로부터 선택된 하나의 예측자를 사용하여 상기 아핀 모션 모델과 연관된 현재 제어점 MV 세트의 예측 차이를 인코딩하거나, 상기 비디오 디코더 측에서 상기 아핀 MVP 후보 목록으로부터 선택된 하나의 예측자를 사용하여 상기 아핀 모션 모델과 연관된 상기 현재 제어점 MV 세트의 예측 차이를 디코딩하고 상기 현재 제어점 MV 세트를 재구성하도록
    구성되는 것인, 비디오 코딩에 대한 인터 예측을 위한 장치.
  15. 아핀 모션 모드를 포함하는 코딩 모드로 코딩된 블록과 연관된 모션 벡터(motion vector; MV)를 코딩하기 위해 모션 벡터 예측(motion vector prediction; MVP)을 활용하는 비디오 인코더 또는 비디오 디코더에 의해 수행되는 비디오 코딩에 대한 인터 예측 방법에 있어서,
    비디오 인코더 측에서 현재 블록과 관련된 입력 데이터를 또는 비디오 디코더 측에서 상기 현재 블록을 포함하는 압축된 데이터에 대응하는 비디오 비트스트림을 수신하는 단계;
    상기 현재 블록의 이웃 블록 세트를 결정하는 단계;
    적어도 하나의 이웃 블록이 아핀 모션 모델을 사용하여 코딩되고, 상기 적어도 하나의 이웃 블록의 참조 화상 목록 중 적어도 하나가 상기 현재 블록의 현재 참조 화상과 동일한 하나의 참조 화상을 포함하는 경우, 상기 적어도 하나의 이웃 블록의 대응하는 제어점 MV 세트에 기초하여 적어도 하나의 상속된 아핀 MVP를 유도하는 단계;
    아핀 MVP 후보 목록을 생성하는 단계 - 상기 아핀 MVP 후보 목록은 상기 적어도 하나의 상속된 아핀 MVP를 포함함 -; 및
    상기 비디오 인코더 측에서 상기 아핀 MVP 후보 목록으로부터 선택된 하나의 예측자를 사용하여 상기 아핀 모션 모델과 연관된 현재 제어점 MV 세트의 예측 차이를 인코딩하거나, 상기 비디오 디코더 측에서 상기 아핀 MVP 후보 목록으로부터 선택된 하나의 예측자를 사용하여 상기 아핀 모션 모델과 연관된 상기 현재 제어점 MV 세트의 예측 차이를 디코딩하고 상기 현재 제어점 MV 세트를 재구성하는 단계
    를 포함하는, 비디오 코딩에 대한 인터 예측 방법.
  16. 제15항에 있어서,
    상기 적어도 하나의 이웃 블록의 참조 화상 목록 중 상기 적어도 하나는 상기 현재 블록의 현재 참조 화상 목록에 대응하는 것인, 비디오 코딩에 대한 인터 예측 방법.
  17. 제15항에 있어서,
    상기 적어도 하나의 이웃 블록의 참조 화상 목록 중 상기 적어도 하나는 상기 현재 블록의 현재 참조 화상 목록과는 다른 하나의 참조 화상 목록에 대응하는 것인, 비디오 코딩에 대한 인터 예측 방법.
  18. 제15항에 있어서,
    상기 적어도 하나의 상속된 아핀 MVP가 상기 아핀 MVP 후보 목록에 삽입된 후에, 상기 아핀 MVP 후보 목록이 가득 차있지 않은 경우:
    선택된 이웃 블록이 상기 아핀 모션 모델에서 코딩되고 상기 선택된 이웃 블록의 타겟 참조 화상이 상기 현재 블록의 상기 현재 참조 화상과 다른 경우:
    상기 방법은,
    상기 타겟 이웃 블록의 대응하는 제어점 MV 세트를 상기 타겟 참조 화상으로부터 상기 현재 참조 화상으로 스케일링함으로써 스케일링된 상속된 아핀 MVP를 유도하는 단계; 및
    상기 스케일링된 상속된 아핀 MVP를 상기 아핀 MVP 후보 목록에 삽입하는 단계
    를 더 포함하는 것인, 비디오 코딩에 대한 인터 예측 방법.
  19. 제18항에 있어서,
    상기 현재 블록의 현재 참조 화상 목록과 동일한 참조 화상 목록에 있는 상기 타겟 참조 화상은, 상기 현재 블록의 상기 현재 참조 화상 목록과는 다른 참조 화상 목록에 있는 타겟 참조 화상 이전에 체크되는 것인, 비디오 코딩에 대한 인터 예측 방법.
  20. 제18항에 있어서,
    상기 현재 블록의 현재 참조 화상 목록과 동일한 참조 화상 목록에 있는 상기 타겟 참조 화상은, 상기 현재 블록의 상기 현재 참조 화상 목록과는 다른 참조 화상 목록에 있는 타겟 참조 화상 이후에 체크되는 것인, 비디오 코딩에 대한 인터 예측 방법.
  21. 제18항에 있어서,
    상기 선택된 이웃 블록으로부터 유도된 하나의 상속된 아핀 MVP가 상기 아핀 MVP 후보 목록에 이미 삽입된 경우, 상기 스케일링된 상속된 아핀 MVP를 상기 아핀 MVP 후보 목록에 포함시키는 것이 스킵(skip)되는 것인, 비디오 코딩에 대한 인터 예측 방법.
  22. 제18항에 있어서,
    상기 선택된 이웃 블록으로부터 유도된 상기 스케일링된 상속된 아핀 MVP는, 상기 선택된 이웃 블록으로부터 유도된 대응하는 상속된 아핀 MVP 이후의 위치에서 상기 아핀 MVP 후보 목록에 삽입되는 것인, 비디오 코딩에 대한 인터 예측 방법.
  23. 제15항에 있어서,
    상기 적어도 하나의 상속된 아핀 MVP가 상기 아핀 MVP 후보 목록에 삽입된 후에, 상기 아핀 MVP 후보 목록이 가득 차있지 않은 경우, 정상 MVP 목록으로부터의 정상 MVP가 상기 아핀 MVP 후보 목록에 추가되는 것인, 비디오 코딩에 대한 인터 예측 방법.
  24. 제15항에 있어서,
    상기 적어도 하나의 상속된 아핀 MVP가 상기 아핀 MVP 후보 목록에 이미 있는 또 다른 아핀 MVP와 동일한 경우, 상기 적어도 하나의 상속된 아핀 MVP가 제거되거나 상기 아핀 MVP 후보 목록에 삽입되지 않는 것인, 비디오 코딩에 대한 인터 예측 방법.
  25. 제15항에 있어서,
    상기 적어도 하나의 상속된 아핀 MVP와 상기 아핀 MVP 후보 목록의 또 다른 아핀 MVP 사이의 제어점 MV의 차이가 문턱값보다 작은 경우, 상기 적어도 하나의 상속된 아핀 MVP는 제거되거나 상기 아핀 MVP 후보 목록에 삽입되지 않는 것인, 비디오 코딩에 대한 인터 예측 방법.
  26. 제15항에 있어서,
    상기 적어도 하나의 상속된 아핀 MVP의 모든 제어점 MV가 동일한 경우, 상기 적어도 하나의 상속된 아핀 MVP가 제거되거나 상기 아핀 MVP 후보 목록에 삽입되지 않는 것인, 비디오 코딩에 대한 인터 예측 방법.
  27. 제15항에 있어서,
    상기 적어도 하나의 이웃 블록 또는 2개의 이웃 블록이 인터 예측 모드를 사용하여 코딩되는 경우, 상이한 이웃 블록들로부터 유도된 제2 제어점 MV 세트에 기초하여 적어도 하나의 구성된 아핀 MVP를 유도하는 단계를 더 포함하고, 상기 아핀 MVP 후보 목록은 상기 적어도 하나의 구성된 아핀 MVP를 포함하는 것인, 비디오 코딩에 대한 인터 예측 방법.
  28. 제27항에 있어서,
    상기 적어도 하나의 상속된 아핀 MVP는 상기 적어도 하나의 구성된 아핀 MVP 전에 상기 아핀 MVP 후보 목록에 삽입되는 것인, 비디오 코딩에 대한 인터 예측 방법.
  29. 제15항에 있어서,
    상기 아핀 MVP 후보 목록에 있는 아핀 MVP 후보의 수는 미리 정의된 수보다 작을 때, 상기 적어도 하나의 이웃 블록 또는 2개의 이웃 블록이 인터 예측 모드를 사용하여 코딩되는 경우, 상이한 이웃 블록들로부터 유도된 제2 제어점 MV 세트에 기초하여 적어도 하나의 구성된 아핀 MVP가 유도되며, 상기 아핀 MVP 후보 목록은 상기 적어도 하나의 구성된 아핀 MVP를 포함하는 것인, 비디오 코딩에 대한 인터 예측 방법.
  30. 제29항에 있어서,
    상기 적어도 하나의 상속된 아핀 MVP의 모든 제어점 MV가 동일한 경우, 상기 적어도 하나의 구성된 아핀 MVP가 제거되거나 상기 아핀 MVP 후보 목록에 삽입되지 않는 것인, 비디오 코딩에 대한 인터 예측 방법.
  31. 아핀 모션 모드를 포함하는 코딩 모드로 코딩된 블록과 연관된 모션 벡터(motion vector; MV)를 코딩하기 위해 모션 벡터 예측(motion vector prediction; MVP)을 활용하는 비디오 인코더 또는 비디오 디코더에 의해 수행되는 비디오 코딩에 대한 인터 예측을 위한 장치에 있어서,
    상기 장치는 하나 이상의 전자 회로 또는 프로세서를 포함하고, 상기 하나 이상의 전자 회로 또는 프로세서는,
    비디오 인코더 측에서 현재 블록과 관련된 입력 데이터를 또는 비디오 디코더 측에서 상기 현재 블록을 포함하는 압축된 데이터에 대응하는 비디오 비트스트림을 수신하고;
    상기 현재 블록의 이웃 블록 세트를 결정하고;
    적어도 하나의 이웃 블록이 아핀 모션 모델을 사용하여 코딩되고, 상기 적어도 하나의 이웃 블록의 참조 화상 목록 중 적어도 하나가 상기 현재 블록의 현재 참조 화상과 동일한 하나의 참조 화상을 포함하는 경우, 상기 적어도 하나의 이웃 블록의 대응하는 제어점 MV 세트에 기초하여 적어도 하나의 상속된 아핀 MVP를 유도하고;
    아핀 MVP 후보 목록을 생성하며 - 상기 아핀 MVP 후보 목록은 상기 적어도 하나의 상속된 아핀 MVP를 포함함 -;
    상기 비디오 인코더 측에서 상기 아핀 MVP 후보 목록으로부터 선택된 하나의 예측자를 사용하여 상기 아핀 모션 모델과 연관된 현재 제어점 MV 세트의 예측 차이를 인코딩하거나, 상기 비디오 디코더 측에서 상기 아핀 MVP 후보 목록으로부터 선택된 하나의 예측자를 사용하여 상기 아핀 모션 모델과 연관된 상기 현재 제어점 MV 세트의 예측 차이를 디코딩하고 상기 현재 제어점 MV 세트를 재구성하도록
    구성되는 것인, 비디오 코딩에 대한 인터 예측을 위한 장치.
KR1020207023926A 2018-01-26 2019-01-24 비디오 코딩 시스템을 위한 아핀 인터 예측 방법 및 장치 KR102463478B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862622227P 2018-01-26 2018-01-26
US62/622,227 2018-01-26
US201862665585P 2018-05-02 2018-05-02
US62/665,585 2018-05-02
PCT/CN2019/072980 WO2019144908A1 (en) 2018-01-26 2019-01-24 Method and apparatus of affine inter prediction for video coding system

Publications (2)

Publication Number Publication Date
KR20200109364A KR20200109364A (ko) 2020-09-22
KR102463478B1 true KR102463478B1 (ko) 2022-11-04

Family

ID=67394507

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207023926A KR102463478B1 (ko) 2018-01-26 2019-01-24 비디오 코딩 시스템을 위한 아핀 인터 예측 방법 및 장치

Country Status (6)

Country Link
US (1) US11356657B2 (ko)
EP (1) EP3744094A4 (ko)
KR (1) KR102463478B1 (ko)
CN (1) CN111466116B (ko)
TW (1) TWI702831B (ko)
WO (1) WO2019144908A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020252422A1 (en) * 2019-06-13 2020-12-17 Beijing Dajia Internet Information Technology Co., Ltd. Motion vector prediction for video coding
CN117941344A (zh) * 2021-09-15 2024-04-26 抖音视界有限公司 用于视频处理的方法、装置和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014056423A1 (en) * 2012-10-09 2014-04-17 Mediatek Inc. Method and apparatus for motion information prediction and inheritance in video coding
WO2017118411A1 (en) * 2016-01-07 2017-07-13 Mediatek Inc. Method and apparatus for affine inter prediction for video coding system

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001054418A1 (en) 2000-01-21 2001-07-26 Nokia Corporation A motion estimation method and a system for a video coder
CN114866770A (zh) * 2015-08-07 2022-08-05 Lg 电子株式会社 视频编译系统中的帧间预测方法和装置
WO2017147765A1 (en) 2016-03-01 2017-09-08 Mediatek Inc. Methods for affine motion compensation
US10638152B2 (en) * 2016-03-15 2020-04-28 Mediatek Inc. Method and apparatus of video coding with affine motion compensation
US10560712B2 (en) 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
US11451816B2 (en) * 2018-04-24 2022-09-20 Mediatek Inc. Storage of motion vectors for affine prediction
EP3780617B1 (en) * 2018-04-24 2023-09-13 LG Electronics Inc. Method and apparatus for inter prediction in video coding system
WO2019235822A1 (ko) * 2018-06-04 2019-12-12 엘지전자 주식회사 어파인 움직임 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치
BR112021002335A2 (pt) * 2018-08-09 2021-05-04 Lg Electronics Inc. método de decodificação de imagem com base na predição de movimento afim e dispositivo usando lista de candidatos à fusão afins no sistema de codificação de imagem
US11140398B2 (en) * 2018-08-20 2021-10-05 Mediatek Inc. Methods and apparatus for generating affine candidates
US10944984B2 (en) * 2018-08-28 2021-03-09 Qualcomm Incorporated Affine motion prediction
WO2020050695A1 (ko) * 2018-09-06 2020-03-12 엘지전자 주식회사 영상 코딩 시스템에서 머지 후보 리스트를 사용하는 움직임 예측에 기반한 영상 디코딩 방법 및 장치
WO2020050281A1 (ja) * 2018-09-06 2020-03-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法
KR102408695B1 (ko) * 2018-09-10 2022-06-14 엘지전자 주식회사 영상 코딩 시스템에서 어파인 mvp 후보 리스트를 사용하는 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치
US11057636B2 (en) * 2018-09-17 2021-07-06 Qualcomm Incorporated Affine motion prediction
US11546605B2 (en) * 2018-09-20 2023-01-03 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium storing bitstream
US11418793B2 (en) * 2018-10-04 2022-08-16 Qualcomm Incorporated Adaptive affine motion vector coding
US20200120335A1 (en) * 2018-10-12 2020-04-16 Qualcomm Incorporated Affine candidate derivation for video coding
CN112889269B (zh) * 2018-10-23 2023-10-27 腾讯美国有限责任公司 视频解码方法及装置
WO2020084510A1 (en) * 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Adaptive control point selection for affine coding
EP3857879A4 (en) * 2018-11-12 2022-03-16 Beijing Bytedance Network Technology Co., Ltd. SIMPLIFICATION OF COMBINED INTER-INTRA PREDICTION
WO2020102034A1 (en) * 2018-11-14 2020-05-22 Tencent America LLC Method and apparatus for video coding
WO2020098782A1 (en) * 2018-11-16 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Weights in combined inter intra prediction mode
EP4236320A3 (en) * 2018-12-06 2023-10-11 LG Electronics Inc. Method and device for processing video signal on basis of inter prediction
CN113170189B (zh) * 2018-12-07 2024-06-14 三星电子株式会社 视频解码方法和装置以及视频编码方法和装置
US11394989B2 (en) * 2018-12-10 2022-07-19 Tencent America LLC Method and apparatus for video coding
CN116668685A (zh) * 2018-12-12 2023-08-29 Lg电子株式会社 图像编解码设备执行的处理视频信号的方法和发送方法
US10904549B2 (en) * 2018-12-13 2021-01-26 Tencent America LLC Method and apparatus for signaling of multi-hypothesis for skip and merge mode and signaling of distance offset table in merge with motion vector difference
JP7247345B2 (ja) * 2018-12-13 2023-03-28 ベイジン、ターチア、インターネット、インフォメーション、テクノロジー、カンパニー、リミテッド ビデオ復号化方法、ビデオ復号化装置、及びプログラム
CN116980598A (zh) * 2018-12-21 2023-10-31 北京达佳互联信息技术有限公司 用于视频解码的方法和装置及存储介质
US11102476B2 (en) * 2018-12-28 2021-08-24 Qualcomm Incorporated Subblock based affine motion model
CN112042191B (zh) * 2019-01-01 2024-03-19 Lg电子株式会社 以基于历史的运动矢量为基础预测处理视频信号的方法和设备
US11234007B2 (en) * 2019-01-05 2022-01-25 Tencent America LLC Method and apparatus for video coding
US11153590B2 (en) * 2019-01-11 2021-10-19 Tencent America LLC Method and apparatus for video coding
US11025951B2 (en) * 2019-01-13 2021-06-01 Tencent America LLC Method and apparatus for video coding
US11032560B2 (en) * 2019-01-17 2021-06-08 Tencent America LLC Method and apparatus for video coding without updating the HMVP table
US10904553B2 (en) * 2019-01-22 2021-01-26 Tencent America LLC Method and apparatus for video coding
US11025936B2 (en) * 2019-01-25 2021-06-01 Tencent America LLC Method and apparatus for video coding
US11202089B2 (en) * 2019-01-28 2021-12-14 Tencent America LLC Method and apparatus for determining an inherited affine parameter from an affine model
US11089325B2 (en) * 2019-02-08 2021-08-10 Qualcomm Incorporated Constrained affine motion inheritance for video coding
US10869050B2 (en) * 2019-02-09 2020-12-15 Tencent America LLC Method and apparatus for video coding
US11140406B2 (en) * 2019-02-20 2021-10-05 Qualcomm Incorporated Signalling for merge mode with motion vector differences in video coding
US11134262B2 (en) * 2019-02-28 2021-09-28 Tencent America LLC Method and apparatus for video coding
US20200288175A1 (en) * 2019-03-06 2020-09-10 Qualcomm Incorporated Signaling of triangle merge mode indexes in video coding
US11166015B2 (en) * 2019-03-06 2021-11-02 Tencent America LLC Method and apparatus for video coding
US11323731B2 (en) * 2019-03-08 2022-05-03 Tencent America LLC Method and apparatus for video coding
US20210084291A1 (en) * 2019-03-11 2021-03-18 Alibaba Group Holding Limited Inter coding for adaptive resolution video coding
JP2022523350A (ja) * 2019-03-11 2022-04-22 アリババ グループ ホウルディング リミテッド マージモードのための予測重み付けを決定する方法、装置及びシステム
US11290722B2 (en) * 2019-03-12 2022-03-29 Tencent America LLC Method and apparatus for video encoding or decoding
US11394993B2 (en) * 2019-03-13 2022-07-19 Tencent America LLC Method and apparatus for affine inter prediction with small subblocks
US10979716B2 (en) * 2019-03-15 2021-04-13 Tencent America LLC Methods of accessing affine history-based motion vector predictor buffer
AU2020240048B2 (en) * 2019-03-18 2022-12-22 Tencent America LLC Method and apparatus for video coding
US20200304828A1 (en) * 2019-03-18 2020-09-24 Qualcomm Incorporated Affine motion inheritance with virtual pipeline data unit (vpdu) constraint in video coding
US11343525B2 (en) * 2019-03-19 2022-05-24 Tencent America LLC Method and apparatus for video coding by constraining sub-block motion vectors and determining adjustment values based on constrained sub-block motion vectors
US11350083B2 (en) * 2019-04-19 2022-05-31 Qualcomm Incorporated Intra block copy merging data syntax for video coding
KR20220002897A (ko) * 2019-04-25 2022-01-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 모션 벡터 차에 대한 제한
US11523109B2 (en) * 2019-05-02 2022-12-06 Tencent America LLC Method and apparatus for improvements of affine prof
US11146813B2 (en) * 2019-05-23 2021-10-12 Tencent America LLC Method and apparatus for video coding
US11611759B2 (en) * 2019-05-24 2023-03-21 Qualcomm Incorporated Merge mode coding for video coding
US11153598B2 (en) * 2019-06-04 2021-10-19 Tencent America LLC Method and apparatus for video coding using a subblock-based affine motion model
US11006121B2 (en) * 2019-06-20 2021-05-11 Tencent America LLC LIC signaling methods
US11272200B2 (en) * 2019-06-24 2022-03-08 Tencent America LLC Method and apparatus for video coding
US11330287B2 (en) * 2019-06-28 2022-05-10 Tencent America LLC Method and apparatus for video coding
US11190789B2 (en) * 2019-06-30 2021-11-30 Tencent America LLC Method and apparatus for video coding using inter-prediction mode signaling to dertermine motion vectors
US11272203B2 (en) * 2019-07-23 2022-03-08 Tencent America LLC Method and apparatus for video coding
US11425414B2 (en) * 2019-08-05 2022-08-23 Tencent America LLC Method and apparatus for video coding
US11375222B2 (en) * 2019-09-22 2022-06-28 Tencent America LLC Method and device for video encoding and decoding with interpolation filter flag being consistent with MMVD distances
US20210092434A1 (en) * 2019-09-23 2021-03-25 Qualcomm Incorporated Adaptive motion vector resolution for affine motion model in video coding
US11582475B2 (en) * 2019-09-24 2023-02-14 Qualcomm Incorporated History-based motion vector prediction
US11317111B2 (en) * 2019-09-29 2022-04-26 Qualcomm Incorporated Affine coding with vector clipping
US11240524B2 (en) * 2019-11-27 2022-02-01 Mediatek Inc. Selective switch for parallel processing
US11212523B2 (en) * 2020-01-12 2021-12-28 Mediatek Inc. Video processing methods and apparatuses of merge number signaling in video coding systems
US11595689B2 (en) * 2020-03-20 2023-02-28 Tencent America LLC Local weighted prediction
WO2021202104A1 (en) * 2020-03-29 2021-10-07 Alibaba Group Holding Limited Enhanced decoder side motion vector refinement
US11405628B2 (en) * 2020-04-06 2022-08-02 Tencent America LLC Method and apparatus for video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014056423A1 (en) * 2012-10-09 2014-04-17 Mediatek Inc. Method and apparatus for motion information prediction and inheritance in video coding
WO2017118411A1 (en) * 2016-01-07 2017-07-13 Mediatek Inc. Method and apparatus for affine inter prediction for video coding system

Also Published As

Publication number Publication date
CN111466116A (zh) 2020-07-28
US11356657B2 (en) 2022-06-07
CN111466116B (zh) 2023-04-14
TW201933872A (zh) 2019-08-16
KR20200109364A (ko) 2020-09-22
EP3744094A1 (en) 2020-12-02
US20210067771A1 (en) 2021-03-04
TWI702831B (zh) 2020-08-21
WO2019144908A1 (en) 2019-08-01
EP3744094A4 (en) 2021-11-03

Similar Documents

Publication Publication Date Title
US10750203B2 (en) Method and apparatus of adaptive bi-prediction for video coding
EP3616406B1 (en) Method and apparatus of motion vector constraint for video coding
CA2995507C (en) Method and apparatus of decoder side motion derivation for video coding
WO2017118411A1 (en) Method and apparatus for affine inter prediction for video coding system
US20210160527A1 (en) Video Processing Methods and Apparatuses for Sub-block Motion Compensation in Video Coding Systems
US20180199057A1 (en) Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding
JP7425808B2 (ja) 動き候補リスト構築プロセスの条件付き実行
US11539977B2 (en) Method and apparatus of merge with motion vector difference for video coding
TWI720753B (zh) 簡化的三角形合併模式候選列表導出的方法以及裝置
WO2019223790A1 (en) Method and apparatus of affine mode motion-vector prediction derivation for video coding system
KR102463478B1 (ko) 비디오 코딩 시스템을 위한 아핀 인터 예측 방법 및 장치
KR20210024565A (ko) 비디오 코딩 시스템을 위한 모션 벡터 버퍼 관리 방법 및 장치
WO2024078331A1 (en) Method and apparatus of subblock-based motion vector prediction with reordering and refinement in video coding
WO2024027784A1 (en) Method and apparatus of subblock-based temporal motion vector prediction with reordering and refinement in video coding

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant