KR20210084479A - 모션 정보의 위치 의존적 저장 - Google Patents

모션 정보의 위치 의존적 저장 Download PDF

Info

Publication number
KR20210084479A
KR20210084479A KR1020217012826A KR20217012826A KR20210084479A KR 20210084479 A KR20210084479 A KR 20210084479A KR 1020217012826 A KR1020217012826 A KR 1020217012826A KR 20217012826 A KR20217012826 A KR 20217012826A KR 20210084479 A KR20210084479 A KR 20210084479A
Authority
KR
South Korea
Prior art keywords
motion
motion information
prediction
list
candidates
Prior art date
Application number
KR1020217012826A
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 KR20210084479A publication Critical patent/KR20210084479A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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

Abstract

기하학적 파티셔닝을 포함하는, 디지털 비디오 코딩을 위한 디바이스들, 시스템들 및 방법들이 설명된다. 예시적인 비디오 처리 방법은, 우선순위 규칙에 기초하여, 비디오의 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 위한 모션 후보 리스트로의 모션 후보들의 삽입 순서에 관한 결정을 행하는 단계 - 현재 블록은 기하학적 파티션 모드를 사용하여 코딩됨 - ; 및 결정 및 모션 후보 리스트에 기초하여, 변환을 수행하는 단계를 포함한다.

Description

모션 정보의 위치 의존적 저장
관련 출원의 상호 참조
파리 조약에 따른 적용가능한 특허법 및/또는 규칙들 하에서, 본 출원은 2018년 11월 6일에 출원된 국제 특허 출원 제PCT/CN2018/114057호, 2019년 5월 17일에 출원된 국제 특허 출원 제PCT/CN2019/087372호, 2019년 6월 5일에 출원된 국제 특허 출원 제PCT/CN2019/090127호, 및 2019년 6월 20일에 출원된 국제 특허 출원 제PCT/CN2019/092151호에 대한 우선권 및 이익을 적시에 주장하기 위해 작성되었다. 미국 특허법 하에서 모든 목적을 위해, 전술한 출원들의 전체 개시내용들은 본 출원의 개시내용의 일부로서 참조로 통합된다.
기술분야
본 문헌은 비디오 코딩 기법들, 시스템들 및 디바이스들에 관한 것이다.
비디오 압축의 발전에도 불구하고, 디지털 비디오는 인터넷 및 다른 디지털 통신 네트워크들에서 여전히 가장 큰 대역폭 사용을 차지한다. 비디오를 수신 및 디스플레이할 수 있는 연결된 사용자 디바이스들의 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 수요는 계속해서 증가할 것으로 예상된다.
기하학적 파티셔닝(geometric partitioning)을 포함하는, 디지털 비디오 코딩에 관련된 디바이스들, 시스템들 및 방법들이 설명된다. 설명된 방법들은 기존의 비디오 코딩 표준들(예를 들어, HEVC(High Efficiency Video Coding) 및/또는 VVC(Versatile Video Coding))과 미래의 비디오 코딩 표준들 또는 비디오 코덱들 둘 다에 적용될 수 있다.
하나의 대표적인 양태에서, 개시된 기술은 비디오 처리 방법을 제공하는 데 사용될 수 있다. 이 방법은, 우선순위 규칙에 기초하여, 비디오의 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 위한 모션 후보 리스트로의 모션 후보들의 삽입 순서에 관한 결정을 행하는 단계 - 현재 블록은 기하학적 파티션 모드를 사용하여 코딩됨 - ; 및 결정 및 모션 후보 리스트에 기초하여, 변환을 수행하는 단계를 포함한다.
다른 대표적인 양태에서, 개시된 기술은 비디오 처리 방법을 제공하는 데 사용될 수 있다. 이 방법은, 비디오의 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 위한 모션 후보 리스트에, 하나의 정규 모션 후보로부터 도출된 리스트 0 및 리스트 1로부터의 하나 이상의 평균화된 단방향-예측 모션 후보(averaged uni-prediction motion candidate)를 삽입하는 단계 - 현재 블록은 기하학적 파티션 모드를 사용하여 코딩됨 - ; 및 모션 후보 리스트에 기초하여, 변환을 수행하는 단계를 포함한다.
또 다른 대표적인 양태에서, 개시된 기술은 비디오 처리 방법을 제공하는 데 사용될 수 있다. 이 방법은, 비디오의 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 위한 모션 후보 리스트에, 단방향-예측을 갖는 정규 모션 후보들로부터 도출된 단방향-예측을 갖는 하나 이상의 평균화된 모션 후보를 삽입하는 단계 - 현재 블록은 기하학적 파티션 모드를 사용하여 코딩됨 - ; 및 모션 후보 리스트에 기초하여, 변환을 수행하는 단계를 포함한다.
또 다른 대표적인 양태에서, 개시된 기술은 비디오 처리 방법을 제공하는 데 사용될 수 있다. 이 방법은, 비디오의 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 위한 모션 후보 리스트에, 이용가능한 모션 후보들로부터 도출된 하나 이상의 가상 모션 후보를 삽입하는 단계 - 현재 블록은 기하학적 파티션 모드를 사용하여 코딩됨 - ; 및 모션 후보 리스트에 기초하여, 변환을 수행하는 단계를 포함한다.
또 다른 대표적인 양태에서, 개시된 기술은 비디오 처리 방법을 제공하는 데 사용될 수 있다. 이 방법은, 우선순위 규칙에 기초하여, 기하학적 파티션 모드를 사용하여 코딩된 비디오의 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 위한 모션 후보 리스트로의 모션 후보들의 삽입 순서에 관한 결정을 행하는 단계 - 우선순위 규칙은 모션 후보들 중의 모션 후보가 도출되는 위치 또는 모션 후보와 연관된 하나 이상의 참조 화상 리스트에 기초함 - ; 및 결정 및 모션 후보 리스트에 기초하여, 변환을 수행하는 단계를 포함한다.
또 다른 대표적인 양태에서, 개시된 기술은 비디오 처리 방법을 제공하는 데 사용될 수 있다. 이 방법은, 우선순위 규칙에 기초하여, 비디오의 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 위한 모션 후보 리스트로의 모션 후보들의 삽입 순서에 관한 결정을 행하는 단계 - 현재 블록은 기하학적 파티션 모드를 사용하여 코딩되고, 삽입 순서는 시퀀스에서 시퀀스로, 화상에서 화상으로, 슬라이스에서 슬라이스로, 타일 그룹에서 타일 그룹으로, 또는 현재 블록으로부터 비디오의 후속 블록으로 변경가능함 - ; 및 결정 및 모션 후보 리스트에 기초하여, 변환을 수행하는 단계를 포함한다.
또 다른 대표적인 양태에서, 개시된 기술은 비디오 처리 방법을 제공하는 데 사용될 수 있다. 이 방법은, 기하학적 파티션 모드를 사용하여 코딩된 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계; 다수의 모션 후보 리스트들을 구성하는 단계 - 각각의 모션 후보 리스트는 다수의 파티션들 각각에 대응함 - ; 및 다수의 모션 후보 리스트들에 기초하여, 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
또 다른 대표적인 양태에서, 개시된 기술은 비디오 처리 방법을 제공하는 데 사용될 수 있다. 이 방법은, 기하학적 파티션 모드를 사용하여 코딩된 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계; 다수의 모션 후보 리스트들을 구성하는 단계 - 다수의 파티션들 각각은 다수의 모션 후보 리스트들 중 동일한 모션 후보 리스트를 선택하도록 구성됨 - ; 및 선택된 동일한 모션 후보 리스트에 기초하여, 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
또 다른 대표적인 양태에서, 개시된 기술은 비디오 처리 방법을 제공하는 데 사용될 수 있다. 이 방법은, 비디오 단위 내의 비디오의 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 비트스트림 표현은 비디오 영역에서 인에이블되는 기하학적 파티션 모드에 대한 모션 후보 리스트 내의 허용된 모션 후보의 최대 수를 나타내는 필드를 포함한다.
또 다른 대표적인 양태에서, 개시된 기술은 비디오 처리 방법을 제공하는 데 사용될 수 있다. 이 방법은, 기하학적 파티션 모드를 사용하여 다수의 파티션들로 파티셔닝되는 비디오의 현재 블록에 대해, 복수의 가중 인자 그룹들로부터 가중 인자 그룹을 선택하는 단계 - 가중 인자 그룹은 현재 블록의 적어도 폭 또는 높이에 기초하여 선택됨 - ; 및 현재 블록과 비디오의 비트스트림 표현 사이의 변환의 일부로서, 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계를 따르는 샘플들에 가중 인자 그룹을 적용하는 단계를 포함한다.
또 다른 대표적인 양태에서, 개시된 기술은 비디오 처리 방법을 제공하는 데 사용될 수 있다. 이 방법은, 기하학적 파티션 모드를 사용하여 다수의 파티션들로 파티셔닝되는 비디오의 현재 블록 내의 샘플에 대해, 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계의 각도에 기초하여 적어도 하나의 가중 인자를 결정하는 단계; 및 적어도 하나의 가중 인자에 기초하여, 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
또 다른 대표적인 양태에서, 개시된 기술은 비디오 처리 방법을 제공하는 데 사용될 수 있다. 이 방법은, 기하학적 파티션 모드를 사용하여 다수의 파티션들로 파티셔닝되는 비디오의 현재 블록에 대해, 4×4 샘플 크기와 상이한 샘플 크기를 갖는 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계를 따르는 샘플들에 모션 보상 프로세스를 수행하는 단계; 및 모션 보상 프로세스에 기초하여, 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
또 다른 대표적인 양태에서, 개시된 기술은 비디오 처리 방법을 제공하는 데 사용될 수 있다. 이 방법은, 기하학적 파티션 모드를 사용하여 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계; 다수의 파티션들과 연관된 모션 정보로부터 도출되는 현재 블록 내의 K×L 영역에 대한 단일 모션 정보 세트를 저장하는 단계; 및 다수의 파티션들 중 적어도 하나의 파티션과 연관된 적어도 하나의 모션 정보 세트를 사용하여, 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
또 다른 대표적인 양태에서, 개시된 기술은 비디오 처리 방법을 제공하는 데 사용될 수 있다. 이 방법은, 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계; 및 기하학적 파티션 모드를 사용하여 코딩된 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 현재 블록의 각각의 M×N 블록 단위에 대해 단일 모션 정보 세트가 저장되고, 단일 모션 정보 세트는 다수의 파티션들 각각과 연관된 모션 정보로부터 도출되고, M 또는 N은 4와 같지 않고, M×N 블록 단위의 각각의 샘플은 동일한 모션 정보를 공유한다.
또 다른 대표적인 양태에서, 개시된 기술은 비디오 처리 방법을 제공하는 데 사용될 수 있다. 이 방법은, 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계; 및 현재 블록과 비디오의 비트스트림 표현 사이의 변환의 일부로서, 현재 블록의 제1 서브-영역에 대해, 저장될 제1 서브-영역과 연관된 제2 모션 정보와 상이한 제1 모션 정보에 기초하여 모션 보상 프로세스를 수행하는 단계를 포함한다.
또 다른 대표적인 양태에서, 개시된 기술은 비디오 처리 방법을 제공하는 데 사용될 수 있다. 이 방법은, 기하학적 파티션 모드를 사용하여 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계; 다수의 파티션들과 연관된 구분 방향(splitting direction) 또는 디코딩된 병합 인덱스들 또는 병합 후보 리스트들에 기초하여, 제1 샘플 세트 및 제2 샘플 세트에 대한 모션 정보를 저장하는 단계 - 제1 샘플 세트는 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계 상에 있고, 제2 샘플 세트는 다수의 파티션들 중 적어도 2개의 파티션 중 하나의 파티션의 내부에 있음 - ; 및 저장된 모션 정보에 기초하여, 현재 블록과 비디오의 비트스트림 표현 사이의 변환 또는 비디오의 후속 블록들과 비트스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
또 다른 대표적인 양태에서, 개시된 기술은 비디오 처리 방법을 제공하는 데 사용될 수 있다. 이 방법은, 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계; 다수의 파티션들 중 적어도 2개의 파티션의 모션 정보에 기초한 가상 양방향-예측 모션 정보(virtual bi-prediction motion information)를 저장하는 단계; 및 가상 양방향-예측 모션 정보에 기초하여, 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
또 다른 대표적인 양태에서, 개시된 기술은 비디오 처리 방법을 제공하는 데 사용될 수 있다. 이 방법은, 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계; 낮은 지연 체크 플래그(low delay check flag)에 기초하여, 다수의 파티션들 중 제1 파티션에 대한 모션 정보(MvInfo1) 및 다수의 파티션들 중 제2 파티션에 대한 모션 정보(MvInfo2)를 저장하는 단계 - 낮은 지연 체크 플래그는 현재 블록을 포함하는 현재 화상의 화상 순서 카운트(picture order count, POC) 값보다 크지 않은 POC 값들을 갖는 모든 참조 화상들을 나타냄 - ; 및 저장된 모션 정보에 기초하여, 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
또 다른 대표적인 양태에서, 전술한 방법은 프로세서 실행가능 코드의 형태로 구체화되어 컴퓨터 판독가능 프로그램 매체에 저장된다.
또 다른 대표적인 양태에서, 전술한 방법을 수행하도록 구성되거나 동작가능한 디바이스가 개시된다. 디바이스는 이 방법을 구현하도록 프로그래밍되는 프로세서를 포함할 수 있다.
또 다른 대표적인 양태에서, 비디오 디코더 장치는 본 명세서에 설명된 바와 같은 방법을 구현할 수 있다.
개시된 기술의 상기한 및 다른 양태들 및 특징들이 도면들, 상세한 설명 및 청구항들에 더 상세히 설명된다.
도 1은 병합 후보 리스트 구성을 위한 도출 프로세스의 예이다.
도 2는 공간적 병합 후보들의 예시적인 위치들을 도시한다.
도 3은 공간적 병합 후보들의 잉여 검사(redundancy check)를 위해 고려되는 후보 쌍들의 예를 도시한다.
도 4a 및 도 4b는 N×2N 및 2N×N 파티션들의 제2 예측 단위(prediction unit, PU)에 대한 예시적인 위치들을 도시한다.
도 5는 시간적 병합 후보에 대한 모션 벡터 스케일링의 예시적인 도면이다.
도 6은 시간적 병합 후보 C0 및 C1에 대한 예시적인 후보 위치들을 도시한다.
도 7은 조합된 양방향-예측 병합 후보의 예를 도시한다.
도 8은 모션 벡터 예측 후보들에 대한 예시적인 도출 프로세스를 도시한다.
도 9는 공간적 모션 벡터 후보에 대한 모션 벡터 스케일링의 예시적인 도면이다.
도 10은 CU에 대한 대안적인 시간적 모션 벡터 예측(alternative temporal motion vector prediction, ATMVP) 모션 예측의 예를 도시한다.
도 11은 4개의 서브-블록(A-D) 및 그 이웃 블록(a-d)을 갖는 하나의 CU의 예를 도시한다.
도 12는 상이한 MV 정밀도로 인코딩하는 예의 흐름도이다.
도 13a 및 도 13b는 135도 파티션 타입(상단-좌측 코너로부터 하단-우측 코너로의 구분) 및 45도 구분 패턴들을 도시한다. CU를 2개의 삼각형 예측 단위(2개의 구분 패턴)로 구분하는 도면이다.
도 14는 이웃 블록들의 위치의 예를 도시한다.
도 15a 및 도 15b는 모션 벡터 저장의 예들을 도시한다.
도 16a 및 도 16b는 삼각형 예측 모드(triangular prediction mode, TPM)의 시그널링의 예들을 도시한다.
도 17은 TPM 플래그 코딩에서 컨텍스트 선택에 사용되는 이웃 블록들(A 및 L)의 예들을 도시한다.
도 18a 및 도 18b는 중첩 블록 모션 보상(overlapped block motion compensation, OBMC)이 적용되는 서브-블록들의 예시적인 도면들이다.
도 18c는 삼각형 예측 모드에 대한 단방향-예측 MV 선택의 예를 도시한다.
도 19는 IC 파라미터들을 도출하기 위해 사용되는 이웃 샘플들의 예들을 도시한다.
도 20a 및 도 20b는 단순화된 아핀 모션 모델 4-파라미터 아핀 및 6-파라미터 아핀 모델들을 도시한다.
도 21은 서브-블록당 아핀 모션 벡터 필드(motion vector field, MVF)의 예를 도시한다.
도 22a 및 도 22b는 4-파라미터 아핀 모델 및 6-파라미터 아핀 모델의 예들을 도시한다.
도 23은 AF_INTER에 대한 모션 벡터 예측자(motion vector predictor, MVP)의 예를 도시한다.
도 24a 및 도 24b는 AF_MERGE에 대한 예시적인 후보들을 도시한다.
도 25는 아핀 병합 모드에 대한 후보 위치들의 예를 도시한다.
도 26은 광학 흐름 궤적(optical flow trajectory)의 예를 도시한다.
도 27a 및 도 27b는 블록 확장이 없는 BIO의 예들을 도시한다: a) 블록 외부의 액세스 위치들; b) 부가의 메모리 액세스 및 계산을 피하기 위해 패딩이 사용된다.
도 28은 양방향 템플릿 매칭(bilateral template matching)에 기초한 디코더-측 모션 벡터 리파인먼트(decoder-side motion vector refinement, DMVR)의 예를 도시한다.
도 29는 상이한 파티션의 모션 후보 리스트 구성 프로세스들에 사용되는 블록들의 예들을 도시한다.
도 30a 내지 도 30c는 triangleDir이 0인 MV 저장 영역의 3개의 예를 도시한다.
도 31 내지 도 48은 비디오 처리 방법의 예들에 대한 흐름도들이다.
도 49는 본 문헌에 설명된 시각적 매체 디코딩 또는 시각적 매체 인코딩 기법을 구현하기 위한 하드웨어 플랫폼의 예의 블록도이다.
도 50은 개시된 기법들이 구현될 수 있는 예시적인 비디오 처리 시스템의 블록도이다.
본 문헌은 압축해제된 또는 디코딩된 디지털 비디오의 품질을 향상시키기 위해 비디오 비트스트림들의 디코더에 의해 사용될 수 있는 다양한 기법들을 제공한다. 또한, 비디오 인코더는 추가 인코딩을 위해 사용되는 디코딩된 프레임들을 재구성하기 위해 인코딩 프로세스 동안 이러한 기법들을 또한 구현할 수 있다.
섹션 제목들은 이해의 편의를 위해 본 문헌에서 사용되고 실시예들 및 기법들을 대응하는 섹션들로 제한하지 않는다. 이와 같이, 하나의 섹션으로부터의 실시예들은 다른 섹션들로부터의 실시예들과 조합될 수 있다.
1. 개요
이 특허 문헌은 비디오 코딩 기술들에 관한 것이다. 구체적으로는, 비디오 코딩에서의 기하학적 파티셔닝 하에서의 모션 벡터 코딩 및 시그널링에 관한 것이다. 그것은 HEVC와 같은 기존의 비디오 코딩 표준, 또는 완성될 표준(예를 들어, VVC(Versatile Video Coding))에 적용될 수 있다. 그것은 미래의 비디오 코딩 표준들 또는 비디오 코덱에도 또한 적용가능할 수 있다.
2. 소개 코멘트
비디오 코딩 표준들은 주로 잘 알려진 ITU-T 및 ISO/IEC 표준들의 개발을 통해 진화하였다. ITU-T는 H.261 및 H.263를 제정하였고, ISO/IEC는 MPEG-1 및 MPEG-4 Visual을 제정하였고, 두 조직은 H.262/MPEG-2 Video 및 H.264/MPEG-4 AVC(Advanced Video Coding) 및 H.265/HEVC 표준들을 공동으로 제정하였다. H.262 이후, 비디오 코딩 표준들은 시간적 예측 플러스 변환 코딩이 이용되는 하이브리드 비디오 코딩 구조에 기초한다. HEVC를 넘어서는 미래의 비디오 코딩 기술들을 탐색하기 위해, 2015년 VCEG 및 MPEG가 공동으로 JVET(Joint Video Exploration Team)를 설립하였다. 그 이후, JVET가 많은 새로운 방법들을 채택하여 JEM(Joint Exploration Model)으로 명명된 참조 소프트웨어에 넣었다. 2018년 4월에, VCEG (Q6/16)와 ISO/IEC JTC1 SC29/WG11 (MPEG) 간의 JVET(Joint Video Expert Team)는 HEVC에 비해 50% 비트레이트 감소를 목표로 하는 VVC(versatile video coding) 표준 작업을 위해 설립되었다.
VVC 드래프트의 최신 버전, 즉, Versatile Video Coding (Draft 2)은 다음에서 찾을 수 있다:
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/11_Ljubljana/wg11/JVET-K1001-v7.zip
VTM으로 명명된 VVC의 최신 참조 소프트웨어는 다음에서 찾을 수 있다:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-2.1
2.1 HEVC/H.265에서의 인터 예측
각각의 인터-예측된 PU는 하나 또는 2개의 참조 화상 리스트에 대한 모션 파라미터들을 갖는다. 모션 파라미터들은 모션 벡터 및 참조 화상 인덱스를 포함한다. 2개의 참조 화상 리스트 중 하나의 사용은 또한 inter_pred_idc를 사용하여 시그널링될 수 있다. 모션 벡터들은 예측자들에 대해 델타들로서 명시적으로 코딩될 수 있다.
CU가 스킵 모드로 코딩될 때, 하나의 PU는 CU와 연관되고, 어떠한 유의 잔여 계수(significant residual coefficient)도 없고, 어떠한 코딩된 모션 벡터 델타 또는 참조 화상 인덱스도 없다. 공간적 및 시간적 후보들을 포함하는 이웃 PU들로부터 현재 PU에 대한 모션 파라미터들이 획득되는 병합 모드가 특정된다. 병합 모드는 스킵 모드에 대해서뿐만 아니라 임의의 인터-예측된 PU에 적용될 수 있다. 병합 모드에 대한 대안은 모션 파라미터들의 명시적 송신이며, 여기서 모션 벡터(더 정확하게는, 모션 벡터 예측자와 비교한 모션 벡터 차이), 각각의 참조 화상 리스트에 대한 대응하는 참조 화상 인덱스 및 참조 화상 리스트 사용이 각각의 PU마다 명시적으로 시그널링된다. 이러한 모드는 본 개시내용에서 고급 모션 벡터 예측(Advanced motion vector prediction, AMVP)으로 명명된다.
시그널링이 2개의 참조 화상 리스트 중 하나가 사용될 것임을 나타낼 때, PU는 하나의 샘플 블록으로부터 생성된다. 이것을 '단방향-예측(uni-prediction)'이라고 지칭한다. P-슬라이스 및 B-슬라이스 둘 다에 대해 단방향-예측이 이용가능하다.
시그널링이 참조 화상 리스트들 둘 다가 사용될 것임을 나타낼 때, PU는 2개의 샘플 블록으로부터 생성된다. 이것을 '양방향-예측(bi-prediction)'이라고 지칭한다. 양방향-예측은 B-슬라이스에 대해서만 이용가능하다.
다음의 텍스트는 HEVC에서 특정된 인터 예측 모드들에 대한 상세사항들을 제공한다. 설명은 병합 모드로 시작할 것이다.
2.1.1 참조 화상 리스트
HEVC에서, 인터 예측이라는 용어는 현재 디코딩된 화상 이외의 참조 화상들의 데이터 요소들(예를 들어, 샘플 값들 또는 모션 벡터들)로부터 도출된 예측을 나타내기 위해 사용된다. H.264/AVC에서와 같이, 화상은 다수의 참조 화상들로부터 예측될 수 있다. 인터 예측에 사용되는 참조 화상들은 하나 이상의 참조 화상 리스트로 조직된다. 참조 인덱스는 리스트 내의 참조 화상들 중 어느 것이 예측 신호를 생성하기 위해 사용되어야 하는지를 식별한다.
단일 참조 화상 리스트, 즉, 리스트 0이 P 슬라이스에 사용되고 2개의 참조 화상 리스트, 즉, 리스트 0과 리스트 1이 B 슬라이스에 사용된다. 리스트 0/1에 포함된 참조 화상들은 캡처링/디스플레이 순서의 관점에서 과거 및 미래 화상들로부터의 것일 수 있다는 점에 유의해야 한다.
2.1.2 병합 모드
2.1.2.1 병합 모드에 대한 후보들의 도출
PU가 병합 모드를 사용하여 예측될 때, 병합 후보 리스트 내의 엔트리를 가리키는 인덱스가 비트스트림으로부터 파싱되고 모션 정보를 검색하는 데 사용된다. 이 리스트의 구성은 HEVC 표준에 명시되고 다음의 단계들의 시퀀스에 따라 요약될 수 있다:
● 단계 1: 초기 후보 도출
○ 단계 1.1: 공간적 후보 도출
○ 단계 1.2: 공간적 후보에 대한 잉여 검사
○ 단계 1.3: 시간적 후보 도출
● 단계 2: 추가적인 후보 삽입
○ 단계 2.1: 양방향-예측 후보들의 생성
○ 단계 2.2: 제로 모션 후보들의 삽입
이러한 단계들은 또한 도 1에 개략적으로 도시되어 있다. 공간적 병합 후보 도출의 경우, 5개의 상이한 위치에 위치하는 후보들 중에서 최대 4개의 병합 후보가 선택된다. 시간적 병합 후보 도출의 경우, 2개의 후보 중에서 최대 하나의 병합 후보가 선택된다. 디코더에서 각각의 PU에 대한 일정한 수의 후보들이 가정되기 때문에, 단계 1로부터 획득된 후보들의 수가 슬라이스 헤더에서 시그널링되는 병합 후보의 최대 수(MaxNumMergeCand)에 도달하지 않을 때 추가적인 후보들이 생성된다. 후보들의 수가 일정하기 때문에, 절단된 단항 이진화(truncated unary binarization, TU)를 사용하여 최상의 병합 후보의 인덱스가 인코딩된다. CU의 크기가 8과 같으면, 현재 CU의 모든 PU들은 2N×2N 예측 단위의 병합 후보 리스트와 동일한 단일 병합 후보 리스트를 공유한다.
다음에서는, 전술한 단계들과 연관된 동작들이 상세히 설명된다.
2.1.2.2 공간적 후보 도출
공간적 병합 후보들의 도출에서, 도 2에 도시된 위치들에 위치한 후보들 중에서 최대 4개의 병합 후보가 선택된다. 도출 순서는 A1, B1, B0, A0 및 B2이다. 위치 B2는 위치 A1, B1, B0, A0의 임의의 PU가 이용가능하지 않거나(예를 들어, 그것이 다른 슬라이스 또는 타일에 속하기 때문) 또는 인트라 코딩될 때에만 고려된다. 위치 A1에서의 후보가 추가된 후에, 나머지 후보들의 추가에 대해 잉여 검사를 수행하여 동일한 모션 정보를 갖는 후보들이 리스트로부터 배제되는 것을 보장해서, 코딩 효율을 향상시킨다. 계산 복잡성을 감소시키기 위해, 모든 가능한 후보 쌍들이 언급된 잉여 검사에서 고려되지는 않는다. 대신에, 도 3에서 화살표로 연결된 쌍들만이 고려되고, 잉여 검사를 위해 사용되는 대응하는 후보가 동일한 모션 정보를 갖지 않는 경우에만 리스트에 후보가 추가된다. 중복 모션 정보(duplicate motion information)의 다른 소스는 2N×2N과는 상이한 파티션들과 연관된 "제2 PU"이다. 예로서, 도 4a 및 도 4b는 각각 N×2N 및 2N×N의 경우에 대한 제2 PU를 도시한다. 현재 PU가 N×2N으로서 파티셔닝될 때, 위치 A1에서의 후보는 리스트 구성에 고려되지 않는다. 실제로, 이 후보를 추가하면, 코딩 단위에서 단 하나의 PU를 갖기에는 잉여인, 동일한 모션 정보를 갖는 2개의 예측 단위로 이어질 것이다. 유사하게, 현재 PU가 2N×N으로서 파티셔닝될 때 위치 B1은 고려되지 않는다.
2.1.2.3 시간적 후보 도출
이 단계에서는, 하나의 후보만이 리스트에 추가된다. 특히, 이 시간적 병합 후보의 도출에서는, 주어진 참조 화상 리스트 내의 현재 화상과 가장 작은 POC 차이를 갖는 화상에 속하는 공동-위치된 PU에 기초하여 스케일링된 모션 벡터가 도출된다. 공동-위치된 PU의 도출에 사용될 참조 화상 리스트는 슬라이스 헤더에서 명시적으로 시그널링된다. 시간적 병합 후보에 대한 스케일링된 모션 벡터는 도 5에서 점선으로 도시된 바와 같이 얻어지며, 이는 POC 거리들 tb 및 td를 사용하여 공동-위치된 PU의 모션 벡터로부터 스케일링되고, 여기서 tb는 현재 화상의 참조 화상과 현재 화상 사이의 POC 차이인 것으로 정의되고, td는 공동-위치된 화상의 참조 화상과 공동-위치된 화상 사이의 POC 차이인 것으로 정의된다. 시간적 병합 후보의 참조 화상 인덱스는 제로와 동일하게 설정된다. 스케일링 프로세스의 실제적인 실현은 HEVC 사양에서 설명된다. B-슬라이스의 경우, 2개의 모션 벡터 - 하나는 참조 화상 리스트 0에 대한 것이고 다른 하나는 참조 화상 리스트 1에 대한 것임 - 가 획득되고 조합되어 양방향-예측 병합 후보를 만든다.
참조 프레임에 속하는 공동-위치된 PU(Y)에서, 시간적 후보에 대한 위치는 도 6에 도시된 바와 같이 후보들 C0과 C1 사이에서 선택된다. 위치 C0에서의 PU가 이용가능하지 않거나, 인트라 코딩되거나, 현재 CTU 행의 외부에 있으면, 위치 C1이 사용된다. 그렇지 않으면, 위치 C0은 시간적 병합 후보의 도출에서 사용된다.
2.1.2.4 추가적인 후보 삽입
공간적 및 시간적 병합 후보들 이외에, 2개의 추가적인 타입의 병합 후보들이 있다: 조합된 양방향-예측 병합 후보 및 제로 병합 후보. 조합된 양방향-예측 병합 후보들은 공간적 및 시간적 병합 후보들을 이용하여 생성된다. 조합된 양방향-예측 병합 후보는 B-슬라이스에만 사용된다. 조합된 양방향-예측 후보들은 초기 후보의 제1 참조 화상 리스트 모션 파라미터들을 또 다른 초기 후보의 제2 참조 화상 리스트 모션 파라미터들과 조합함으로써 생성된다. 이들 2개의 투플(tuple)이 상이한 모션 가설(motion hypotheses)을 제공하는 경우, 이들은 새로운 양방향-예측 후보를 형성할 것이다. 예로서, 도 7은 원래의 리스트(좌측) 내의 2개의 후보 - 이는 mvL0 및 refIdxL0 또는 mvL1 및 refIdxL1을 가짐 - 를 사용하여 최종 리스트(우측)에 추가되는 조합된 양방향-예측 병합 후보를 생성하는 경우를 도시한다. 이러한 추가적인 병합 후보들을 생성하기 위해 고려되는 조합들에 관한 다수의 규칙들이 있다.
제로 모션 후보들을 삽입하여 병합 후보 리스트 내의 나머지 엔트리들을 채우고 그에 따라 MaxNumMergeCand 용량에 도달(hit)한다. 이러한 후보들은 제로 공간적 변위 및 제로에서 시작하여 새로운 제로 모션 후보가 리스트에 추가될 때마다 증가하는 참조 화상 인덱스를 갖는다. 이러한 후보들에 의해 사용되는 참조 프레임들의 수는 단방향 및 양방향 예측에 대해 각각 1 및 2이다. 마지막으로, 이러한 후보들에 대해서는 잉여 검사가 수행되지 않는다.
2.1.2.5 병렬 처리를 위한 모션 추정 영역들
인코딩 프로세스의 속도를 높이기 위해, 모션 추정이 병렬로 수행될 수 있고, 그에 의해 주어진 영역 내부의 모든 예측 단위들에 대한 모션 벡터들이 동시에 도출된다. 공간적 이웃으로부터의 병합 후보들의 도출은 병렬 처리를 방해할 수 있는데, 그 이유는 하나의 예측 단위가 그의 연관된 모션 추정이 완료될 때까지 인접한 PU로부터 모션 파라미터들을 도출할 수 없기 때문이다. 코딩 효율과 처리 레이턴시 사이의 트레이드오프를 완화하기 위해, HEVC는 모션 추정 영역(motion estimation region, MER)을 정의하며, MER의 크기는 "log2_parallel_merge_level_minus2" 구문 요소를 사용하여 화상 파라미터 세트에서 시그널링된다. MER이 정의될 때, 동일한 영역에 속하는 병합 후보들은 이용불가능한 것으로 표시되고, 따라서 리스트 구성에서 고려되지 않는다.
2.1.3 AMVP
AMVP는 모션 벡터와 이웃 PU들의 시공간적 상관을 이용하며, 이는 모션 파라미터들의 명시적 송신을 위해 사용된다. 각각의 참조 화상 리스트에 대해, 모션 벡터 후보 리스트는 먼저 좌측, 상부 시간적으로 이웃하는 PU 위치들의 이용가능성을 검사하고, 잉여 후보들을 제거하고 제로 벡터를 추가하여 후보 리스트를 일정한 길이로 만드는 것에 의해 구성된다. 이어서, 인코더는 후보 리스트로부터 최상의 예측자를 선택하고 선택된 후보를 나타내는 대응하는 인덱스를 송신할 수 있다. 병합 인덱스 시그널링과 유사하게, 최상의 모션 벡터 후보의 인덱스는 절단된 단항(truncated unary)을 사용하여 인코딩된다. 이 경우에 인코딩될 최대 값은 2이다(도 8 참조). 다음의 섹션들에서는, 모션 벡터 예측 후보의 도출 프로세스에 관한 상세사항들이 제공된다.
2.1.3.1 AMVP 후보들의 도출
도 8은 모션 벡터 예측 후보에 대한 도출 프로세스를 요약한 것이다.
모션 벡터 예측에서는, 2가지 타입의 모션 벡터 후보가 고려된다: 공간적 모션 벡터 후보 및 시간적 모션 벡터 후보. 공간적 모션 벡터 후보 도출의 경우, 궁극적으로 도 2에 도시된 바와 같이 5개의 상이한 위치에 위치하는 각각의 PU의 모션 벡터들에 기초하여 2개의 모션 벡터 후보가 도출된다.
시간적 모션 벡터 후보 도출의 경우, 2개의 상이한 공동-위치된 위치에 기초하여 도출되는 2개의 후보로부터 하나의 모션 벡터 후보가 선택된다. 시공간적 후보들의 제1 리스트가 만들어진 후에, 리스트 내의 중복된 모션 벡터 후보들이 제거된다. 잠재적 후보들의 수가 2보다 크면, 연관된 참조 화상 리스트 내의 참조 화상 인덱스가 1보다 큰 모션 벡터 후보들이 리스트로부터 제거된다. 시공간적 모션 벡터 후보들의 수가 2보다 작으면, 추가적인 제로 모션 벡터 후보들이 리스트에 추가된다.
2.1.3.2 공간적 모션 벡터 후보들
공간적 모션 벡터 후보들의 도출에서, 도 2에 도시된 바와 같은 위치들에 위치하는 PU들로부터 도출되는 5개의 잠재적 후보 중에서 최대 2개의 후보가 고려되며, 그 위치들은 모션 병합의 위치들과 동일하다. 현재 PU의 좌측에 대한 도출 순서는 A0, A1, 및 스케일링된 A0, 스케일링된 A1로서 정의된다. 현재 PU의 상부 측에 대한 도출 순서는 B0, B1, B2, 스케일링된 B0, 스케일링된 B1, 스케일링된 B2로서 정의된다. 따라서 각각의 측면에 대해 모션 벡터 후보로서 사용될 수 있는 4개의 경우가 있으며, 2개의 경우는 공간적 스케일링을 사용할 필요가 없고, 2개의 경우는 공간적 스케일링을 사용한다. 4개의 상이한 경우가 다음과 같이 요약된다.
● 공간적 스케일링 없음
- (1) 동일한 참조 화상 리스트, 및 동일한 참조 화상 인덱스(동일한 POC)
- (2) 상이한 참조 화상 리스트이지만, 동일한 참조 화상(동일한 POC)
● 공간적 스케일링
- (3) 동일한 참조 화상 리스트이지만, 상이한 참조 화상(상이한 POC)
- (4) 상이한 참조 화상 리스트, 및 상이한 참조 화상(상이한 POC)
공간적 스케일링이 없는 경우들이 먼저 검사되고 이어서 공간적 스케일링이 검사된다. 참조 화상 리스트에 관계없이 이웃 PU의 참조 화상과 현재 PU의 참조 화상 사이에 POC가 상이할 때 공간적 스케일링이 고려된다. 좌측 후보들의 모든 PU들이 이용가능하지 않거나 인트라 코딩되는 경우, 좌측 및 상부 MV 후보들의 병렬 도출을 돕기 위해 상부 모션 벡터에 대한 스케일링이 허용된다. 그렇지 않으면, 상부 모션 벡터에 대해 공간적 스케일링이 허용되지 않는다.
공간적 스케일링 프로세스에서, 이웃 PU의 모션 벡터는 도 9에 도시된 바와 같이 시간적 스케일링에 대한 것과 유사한 방식으로 스케일링된다. 주요 차이점은 현재 PU의 참조 화상 리스트 및 인덱스가 입력으로서 주어진다는 것이다; 실제 스케일링 프로세스는 시간적 스케일링의 것과 동일하다.
2.1.3.3 시간적 모션 벡터 후보들
참조 화상 인덱스 도출 이외에, 시간적 병합 후보들의 도출을 위한 모든 프로세스들은 공간적 모션 벡터 후보들의 도출과 동일하다(도 6 참조). 참조 화상 인덱스는 디코더에 시그널링된다.
2.2 JEM에서의 새로운 인터 예측 방법들
2.2.1 서브-CU 기반 모션 벡터 예측
QTBT를 갖는 JEM에서, 각각의 CU는 각각의 예측 방향에 대해 많아야 하나의 모션 파라미터 세트를 가질 수 있다. 2개의 서브-CU 레벨 모션 벡터 예측 방법은 큰 CU를 서브-CU들로 구분하고 큰 CU의 모든 서브-CU들에 대한 모션 정보를 도출함으로써 인코더에서 고려된다. 대안적인 시간적 모션 벡터 예측(ATMVP) 방법은 각각의 CU가 병치된 참조 화상에서 현재 CU보다 작은 다수의 블록들로부터 다수의 모션 정보 세트들을 페치할 수 있게 한다. 시공간적 모션 벡터 예측(spatial-temporal motion vector prediction, STMVP) 방법에서, 서브-CU들의 모션 벡터들은 시간적 모션 벡터 예측자 및 공간적 이웃 모션 벡터를 사용함으로써 재귀적으로 도출된다.
서브-CU 모션 예측을 위한 더 정확한 모션 필드를 보존하기 위해, 참조 프레임들에 대한 모션 압축은 현재 디스에이블된다.
2.2.1.1 대안적인 시간적 모션 벡터 예측
도 10을 참조하면, 대안적인 시간적 모션 벡터 예측(ATMVP) 방법에서, 모션 벡터 시간적 모션 벡터 예측(TMVP)은 현재 CU보다 작은 블록들로부터 다수의 모션 정보 세트들(모션 벡터들 및 참조 인덱스들을 포함함)을 페치함으로써 수정된다. 일 예에서, 서브-CU들은 정사각형 N×N 블록들이다(N은 디폴트로 4로 설정된다).
ATMVP는 2개의 단계에서 CU 내의 서브-CU들의 모션 벡터들을 예측한다. 제1 단계는 소위 시간적 벡터로 참조 화상에서 대응하는 블록을 식별하는 것이다. 참조 화상은 모션 소스 화상이라고 불린다. 제2 단계는 현재 CU를 서브-CU들로 구분하고 각각의 서브-CU에 대응하는 블록으로부터 각각의 서브-CU의 참조 인덱스들뿐만 아니라 모션 벡터들을 획득하는 것이다.
제1 단계에서, 참조 화상 및 대응하는 블록은 현재 CU의 공간적 이웃 블록들의 모션 정보에 의해 결정된다. 이웃 블록들의 반복적인 스캐닝 프로세스를 피하기 위해, 현재 CU의 병합 후보 리스트 내의 제1 병합 후보가 사용된다. 제1 이용가능한 모션 벡터 및 그의 연관된 참조 인덱스는 시간적 벡터 및 모션 소스 화상에 대한 인덱스인 것으로 설정된다. 이러한 방식으로, ATMVP에서는, TMVP와 비교하여 대응하는 블록이 더 정확하게 식별될 수 있고, 대응하는 블록(때때로 병치된 블록(collocated block)이라고 불림)은 항상 현재 CU에 대해 하단-우측 또는 중심 위치에 있다.
제2 단계에서, 서브-CU의 대응하는 블록은 현재 CU의 좌표에 시간 벡터를 더함으로써, 모션 소스 화상에서의 시간적 벡터에 의해 식별된다. 각각의 서브-CU에 대해, 그의 대응하는 블록(중심 샘플을 커버하는 가장 작은 모션 그리드)의 모션 정보는 서브-CU에 대한 모션 정보를 도출하기 위해 사용된다. 대응하는 N×N 블록의 모션 정보가 식별된 후에, 그것은 HEVC의 TMVP와 동일한 방식으로, 현재 서브-CU의 모션 벡터들 및 참조 인덱스들로 변환되고, 모션 스케일링 및 다른 절차들이 적용된다. 예를 들어, 디코더는 저지연 조건이 충족되는지(즉, 현재 화상의 모든 참조 화상들의 POC들이 현재 화상의 POC보다 작은지)를 검사하고, 가능하게는 모션 벡터 MVx(참조 화상 리스트 X에 대응하는 모션 벡터)를 사용하여 각각의 서브-CU에 대해 모션 벡터 MVy(X는 0 또는 1과 같고 Y는 1-X와 같음)를 예측한다.
2.2.1.2 시공간적 모션 벡터 예측(STMVP)
이 방법에서, 서브-CU들의 모션 벡터들은, 래스터 스캔 순서에 따라, 재귀적으로 도출된다. 도 11은 이러한 개념을 도시한다. 4개의 4×4 서브-CU A, B, C, 및 D를 포함하는 8×8 CU를 고려한다. 현재 프레임 내의 이웃하는 4×4 블록들은 a, b, c, 및 d로 라벨링된다.
서브-CU A에 대한 모션 도출은 그것의 2개의 공간적 이웃을 식별함으로써 시작된다. 제1 이웃은 서브-CU A의 상부의 N×N 블록(블록 c)이다. 이 블록 c가 이용가능하지 않거나 인트라 코딩되는 경우, 서브-CU A의 상부의 다른 N×N 블록들이 검사된다(블록 c에서 시작하여 좌측으로부터 우측으로). 제2 이웃은 서브-CU A의 좌측의 블록(블록 b)이다. 블록 b가 이용가능하지 않거나 인트라 코딩되는 경우, 서브-CU A의 좌측의 다른 블록들이 검사된다(블록 b에서 시작하여 상단으로부터 하단으로). 각각의 리스트에 대해 이웃 블록들로부터 획득된 모션 정보는 주어진 리스트에 대해 제1 참조 프레임으로 스케일링된다. 다음으로, 서브-블록 A의 시간적 모션 벡터 예측자(temporal motion vector predictor, TMVP)는 HEVC에서 특정된 바와 같은 TMVP 도출의 동일한 절차를 따르는 것에 의해 도출된다. 위치 D에서의 병치된 블록의 모션 정보가 페치되고 그에 따라 스케일링된다. 마지막으로, 모션 정보를 검색하고 스케일링한 후에, 모든 이용가능한 모션 벡터(최대 3개)가 각각의 참조 리스트에 대해 개별적으로 평균화된다. 평균화된 모션 벡터는 현재 서브-CU의 모션 벡터로서 할당된다.
2.2.1.3 서브-CU 모션 예측 모드 시그널링
서브-CU 모드들은 추가적인 병합 후보들로서 인에이블되고 모드들을 시그널링하는데 요구되는 추가적인 구문 요소가 없다. ATMVP 모드 및 STMVP 모드를 나타내기 위해 각각의 CU의 병합 후보 리스트에 2개의 추가적인 병합 후보가 추가된다. 시퀀스 파라미터 세트가 ATMVP 및 STMVP가 인에이블되는 것을 나타내는 경우, 최대 7개의 병합 후보가 사용된다. 추가적인 병합 후보들의 인코딩 로직은 HM에서의 병합 후보들에 대한 것과 동일하며, 이는 P 또는 B 슬라이스의 각각의 CU의 경우, 2개의 추가적인 병합 후보에 대해 RD 검사가 2회 더 필요하다는 것을 의미한다.
JEM에서, 병합 인덱스의 모든 빈(bin)들은 CABAC에 의해 컨텍스트 코딩된다(context coded). HEVC에서는 제1 빈만이 컨텍스트 코딩되고 나머지 빈들은 컨텍스트 바이-패스 코딩된다(context by-pass coded).
2.2.2 적응적 모션 벡터 차이 해상도
HEVC에서, 슬라이스 헤더의 use_integer_mv_flag가 0일 때 (PU의 모션 벡터와 예측된 모션 벡터 사이의) 모션 벡터 차이(motion vector difference, MVD)는 1/4(quarter) 루마 샘플 단위로 시그널링된다. JEM에서, 로컬 적응적 모션 벡터 해상도(locally adaptive motion vector resolution, LAMVR)가 도입된다. JEM에서, MVD는 1/4 루마 샘플, 정수 루마 샘플 또는 4 루마 샘플 단위로 코딩될 수 있다. MVD 해상도는 코딩 단위(CU) 레벨에서 제어되며, MVD 해상도 플래그들은 적어도 하나의 비-제로 MVD 성분을 갖는 각각의 CU에 대해 조건부로 시그널링된다.
적어도 하나의 비-제로 MVD 성분을 갖는 CU에 대해, 제1 플래그는 CU에서 1/4 루마 샘플 MV 정밀도가 사용되는지를 지시하기 위해 시그널링된다. 제1 플래그(1과 같음)가 1/4 루마 샘플 MV 정밀도가 사용되지 않는다는 것을 나타낼 때, 정수 루마 샘플 MV 정밀도가 사용되는지 또는 4 루마 샘플 MV 정밀도가 사용되는지를 지시하기 위해 다른 플래그가 시그널링된다.
CU의 제1 MVD 해상도 플래그가 0이거나 CU에 대해 코딩되지 않을 때(CU에서의 모든 MVD들이 0임을 의미함), 1/4 루마 샘플 MV 해상도가 CU에 대해 사용된다. CU가 정수 루마 샘플 MV 정밀도 또는 4 루마 샘플 MV 정밀도를 사용할 때, CU에 대한 AMVP 후보 리스트 내의 MVP들은 대응하는 정밀도로 라운딩된다.
인코더에서, 어느 MVD 해상도가 CU에 대해 사용되어야 하는지를 결정하기 위해 CU-레벨 RD 검사들이 사용된다. 즉, CU-레벨 RD 검사는 각각의 MVD 해상도에 대해 3회 수행된다. 인코더 속도를 가속화하기 위해, 다음의 인코딩 스킴들이 JEM에서 적용된다.
● 정상 1/4 루마 샘플 MVD 해상도를 사용하는 CU의 RD 검사 동안, 현재 CU의 모션 정보(정수 루마 샘플 정확도)가 저장된다. 저장된 모션 정보(라운딩 후)는 정수 루마 샘플 및 4 루마 샘플 MVD 해상도를 사용하는 동일한 CU에 대한 RD 검사 동안 더 작은 범위의 모션 벡터 리파인먼트를 위한 시작점으로서 사용되므로, 시간 소모적인 모션 추정 프로세스가 3회 반복되지 않는다.
● 4 루마 샘플 MVD 해상도를 사용하는 CU의 RD 검사가 조건부로 인보크된다. CU의 경우, RD 비용 정수 루마 샘플 MVD 해상도가 1/4 루마 샘플 MVD 해상도보다 훨씬 더 클 때, CU에 대한 4 루마 샘플 MVD 해상도의 RD 검사는 스킵된다.
인코딩 프로세스는 도 12에 도시되어 있다. 먼저, 1/4 화소(pel) MV가 테스트되고 RD 비용이 계산되어 RDCost0으로 표시되고, 이어서 정수 MV가 테스트되고 RD 비용이 RDCost1로 표시된다. RDCost1 < th * RDCost0(여기서 th는 양의 값임)이면, 4-화소 MV가 테스트되고; 그렇지 않으면, 4-화소 MV가 스킵된다. 기본적으로, 정수 또는 4-화소 MV를 검사할 때 1/4 화소 MV에 대해 모션 정보 및 RD 비용 등이 이미 알려져 있으며, 이를 재사용하여 정수 또는 4-화소 MV의 인코딩 프로세스를 가속화할 수 있다.
2.2.3 삼각형 예측 모드
삼각형 예측 모드(TPM)의 개념은 모션 보상 예측을 위한 새로운 삼각형 파티션을 도입하는 것이다. 도 13a 및 도 13b에 도시된 바와 같이, 이는 CU를 대각선 또는 역 대각선 방향으로 2개의 삼각형 예측 단위로 구분한다. CU 내의 각각의 삼각형 예측 단위는 하나의 단일 단방향-예측 후보 리스트로부터 도출되는 그 자신의 단방향-예측 모션 벡터 및 참조 프레임 인덱스를 사용하여 인터-예측된다. 삼각형 예측 단위들을 예측한 후에 대각선 에지에 대해 적응적 가중 프로세스(adaptive weighting process)가 수행된다. 그 후, 변환 및 양자화 프로세스가 전체 CU에 적용된다. 이 모드는 병합 모드들(스킵 모드를 포함하며, 스킵 모드는 특수 병합 모드로서 취급됨)에만 적용된다는 점에 유의한다.
본 문헌에서, 삼각형 예측 모드(TPM)는 대안적으로 삼각형 파티셔닝 모드, 삼각형 예측 모드, 삼각형 파티셔닝 모드, 기하학적 파티션 모드, 또는 기하학적 파티셔닝 모드로 지칭된다.
일부 실시예들에서, 비-TPM(비-기하학적으로도 지칭됨) 병합 모드의 경우, 병합 리스트에 대한 병합 인덱스가 시그널링되고, 다수의 정규 병합 후보들로 이루어진 병합 리스트는 다음과 같이 구성된다: 공간적 병합 후보들(최대 5개의 공간적 이웃으로부터 도출됨), 시간적 병합 후보(TMVP), HMVP, 쌍별 평균화된 후보(pairwise averaged candidate), 및 디폴트 병합 후보(일부 할당된 참조 화상들을 갖는 제로 MV). 일부 실시예들에서, 정규 병합 후보는 비-기하학적(비-TPM) 파티션 모드를 사용하여 코딩된 비디오의 블록에 대해 도출된 모션 후보이다.
대조적으로, TPM 코딩된 블록의 경우, 병합 리스트에 대한 (예측 코딩을 갖는) 2개의 병합 인덱스가 시그널링된다.
○ 하나의 경우에, 전술한 비-TPM 파티션 모드에 대한 것과 유사한 방식으로 병합 리스트가 구성될 수 있으며, 그 결과 TPM 모션 후보들이 생성된다.
○ 다른 경우에, 2개의 파티션의 단방향-예측 모션 정보를 선택하기 위해 패리티가 사용될 수 있다. 2개의 선택된 병합 인덱스는 idx0 및 idx1로 표시될 수 있다. 각각의 병합 후보에 대해, 그의 참조 화상 리스트 X=(idx0 & idx1)이 참이면, 파티션의 모션 정보는 병합 후보의 리스트 X 정보로 설정된다. 그렇지 않으면, 파티션의 모션 정보는 병합 후보의 리스트 Y(Y=1-X) 정보로 설정된다. 이것은 TPM 후보들로서 단방향-예측을 갖는 최종 모션 정보를 초래하고, 제1 경우에서의 후보들은 (비-TPM 모드 코딩된 블록들에 대해 설명된 병합 리스트 구성 프로세스를 사용하여 생성된) 정규 병합 후보들이다.
2.2.3.1 TPM에 대한 단방향-예측 후보 리스트
TPM 모션 후보 리스트라고 명명된 단방향-예측 후보 리스트는 5개의 단방향-예측 모션 벡터 후보로 구성된다. 이는 도 14에 도시된 바와 같이, 5개의 공간적 이웃 블록(1 내지 5) 및 2개의 시간적 공동-위치된 블록(6 내지 7)을 포함하는 CU의 7개의 이웃 블록으로부터 도출된다. 7개의 이웃 블록의 모션 벡터들이 수집되고 단방향-예측 모션 벡터, 양방향-예측 모션 벡터들의 L0 모션 벡터, 양방향-예측 모션 벡터들의 L1 모션 벡터, 및 양방향-예측 모션 벡터들의 L0 및 L1 모션 벡터들의 평균화된 모션 벡터의 순서에 따라 단방향-예측 후보 리스트에 넣어진다. 후보들의 수가 5보다 작으면, 제로 모션 벡터가 리스트에 추가된다. TPM에 대해 이 리스트에 추가된 모션 후보들은 TPM 후보들로 불리고, 공간적/시간적 블록들로부터 도출된 모션 정보는 정규 모션 후보들로 불린다.
더 구체적으로, 다음의 단계들이 수반된다:
1) 어떠한 가지치기(pruning) 동작들도 없이 A1, B1, B0, A0, B2, Col 및 Col2(도 14의 블록 1-7에 대응함)로부터 정규 모션 후보들을 획득한다.
2) 변수 numCurrMergeCand = 0를 설정한다
3) A1, B1, B0, A0, B2, Col 및 Col2로부터 도출되고 numCurrMergeCand이 5 미만인 각각의 정규 모션 후보들에 대해, 정규 모션 후보가 (리스트 0 또는 리스트 1로부터의) 단방향-예측이면, 이것은 TPM 후보로서 병합 리스트에 직접 추가되고 numCurrMergeCand가 1만큼 증가한다. 이러한 TPM 후보를 '원래 단방향-예측된 후보(originally uni-predicted candidate)'라고 한다.
완전 가지치기(full pruning)가 적용된다.
4) A1, B1, B0, A0, B2, Col 및 Col2로부터 도출되고 numCurrMergeCand이 5 미만인 각각의 모션 후보들에 대해, 정규 모션 후보가 양방향-예측이면, 리스트 0으로부터의 모션 정보가 새로운 TPM 후보로서 TPM 병합 리스트에 추가(즉, 리스트 0으로부터의 단방향-예측인 것으로 수정)되고 numCurrMergeCand가 1만큼 증가한다. 이러한 TPM 후보를 '절단된 리스트0-예측된 후보(Truncated List0-predicted candidate)'라고 한다.
완전 가지치기가 적용된다.
5) A1, B1, B0, A0, B2, Col 및 Col2로부터 도출되고 numCurrMergeCand이 5 미만인 각각의 모션 후보들에 대해, 정규 모션 후보가 양방향-예측이면, 리스트 1로부터의 모션 정보가 TPM 병합 리스트에 추가(즉, 리스트 1로부터의 단방향-예측인 것으로 수정)되고 numCurrMergeCand가 1만큼 증가한다. 이러한 TPM 후보를 '절단된 리스트1-예측된 후보(Truncated List1-predicted candidate)'라고 한다.
완전 가지치기가 적용된다.
6) A1, B1, B0, A0, B2, Col 및 Col2로부터 도출되고 numCurrMergeCand이 5 미만인 각각의 모션 후보들에 대해, 정규 모션 후보가 양방향-예측이면,
- 리스트 0 참조 화상의 슬라이스 QP가 리스트 1 참조 화상의 슬라이스 QP보다 작으면, 리스트 1의 모션 정보는 먼저 리스트 0 참조 화상으로 스케일링되고, 2개의 MV(하나는 원래의 리스트 0으로부터의 것이고, 다른 하나는 리스트 1로부터의 스케일링된 MV임)의 평균이 TPM 병합 리스트에 추가되고, 이러한 후보를 리스트 0으로부터의 평균화된 단방향-예측 모션 후보(averaged uni-prediction from List 0 motion candidate)라 하고, numCurrMergeCand가 1만큼 증가한다.
- 그렇지 않으면, 리스트 0의 모션 정보는 먼저 리스트 1 참조 화상으로 스케일링되고, 2개의 MV(하나는 원래의 리스트 1로부터의 것이고, 다른 하나는 리스트 0으로부터의 스케일링된 MV임)의 평균이 TPM 병합 리스트에 추가되고, 이러한 TPM 후보를 리스트 1로부터의 평균화된 단방향-예측 모션 후보(averaged uni-prediction from List 1 motion candidate)라 하고, numCurrMergeCand가 1만큼 증가한다.
완전 가지치기가 적용된다.
7) numCurrMergeCand가 5 미만이면, 제로 모션 벡터 후보들이 추가된다.
2.2.3.2 적응적 가중 프로세스
각각의 삼각형 예측 단위를 예측한 후에, 2개의 삼각형 예측 단위 사이의 대각선 에지에 적응적 가중 프로세스가 적용되어 전체 CU에 대한 최종 예측을 도출한다. 2개의 가중 인자 그룹이 다음과 같이 정의된다:
● 제1 가중 인자 그룹: {7/8, 6/8, 4/8, 2/8, 1/8} 및 {7/8, 4/8, 1/8}이 루미넌스 및 크로미넌스 샘플들에 대해 각각 사용된다;
● 제2 가중 인자 그룹: {7/8, 6/8, 5/8, 4/8, 3/8, 2/8, 1/8} 및 {6/8, 4/8, 2/8}이 루미넌스 및 크로미넌스 샘플들에 대해 각각 사용된다.
가중 인자 그룹은 2개의 삼각형 예측 단위의 모션 벡터들의 비교에 기초하여 선택된다. 제2 가중 인자 그룹은 2개의 삼각형 예측 단위의 참조 화상들이 서로 상이하거나 그것들의 모션 벡터 차이가 16 화소(pixel)보다 클 때 사용된다. 그렇지 않으면, 제1 가중 인자 그룹이 사용된다. 예들이 도 15a 내지 도 15b에 도시되어 있다.
2.2.3.3 모션 벡터 저장
삼각형 예측 단위들의 모션 벡터들(도 16a 및 도 16b의 Mv1 및 Mv2)은 4×4 그리드들에 저장된다. 각각의 4×4 그리드에 대해, CU에서의 4×4 그리드의 위치에 따라 단방향-예측 또는 양방향-예측 모션 벡터가 저장된다. 도 16a 및 도 16b에 도시된 바와 같이, 비-가중 영역(non-weighted area)에 위치된(즉, 대각선 에지에 위치되지 않은) 4×4 그리드에 대해 Mv1 또는 Mv2 중 어느 하나인 단방향-예측 모션 벡터가 저장된다. 한편, 가중 영역(weighted area)에 위치한 4×4 그리드에 대해 양방향-예측 모션 벡터가 저장된다. 양방향-예측 모션 벡터는 다음과 같은 규칙에 따라 Mv1 및 Mv2로부터 도출된다:
1) Mv1 및 Mv2가 상이한 방향들(L0 또는 L1)로부터의 모션 벡터를 갖는 경우에, Mv1 및 Mv2는 간단히 조합되어 양방향-예측 모션 벡터를 형성한다.
2) Mv1과 Mv2 둘 다가 동일한 L0(또는 L1) 방향으로부터의 것인 경우에,
- Mv2의 참조 화상이 L1(또는 L0) 참조 화상 리스트 내의 화상과 동일하면, Mv2가 화상으로 스케일링된다. Mv1과 스케일링된 Mv2가 조합되어 양방향-예측 모션 벡터를 형성한다.
- Mv1의 참조 화상이 L1(또는 L0) 참조 화상 리스트 내의 화상과 동일하면, Mv1이 화상으로 스케일링된다. 스케일링된 Mv1과 Mv2가 조합되어 양방향-예측 모션 벡터를 형성한다.
- 그렇지 않으면, 가중 영역에 대해 Mv1만이 저장된다.
2.2.3.4 삼각형 예측 모드(TPM)의 시그널링
TPM이 사용되는지를 지시하기 위한 1 비트 플래그가 먼저 시그널링될 수 있다. 그 후, (도 13a 및 도 13b에 도시된 바와 같은) 2개의 구분 패턴의 지시들, 및 2개의 파티션 각각에 대한 선택된 병합 인덱스들이 더 시그널링된다.
2.2.3.4.1 TPM 플래그의 시그널링
하나의 루마 블록의 폭 및 높이를 각각 W 및 H로 나타낸다. W*H < 64이면, 삼각형 예측 모드가 디스에이블된다.
하나의 블록이 아핀 모드로 코딩될 때, 삼각형 예측 모드가 또한 디스에이블된다.
하나의 블록이 병합 모드로 코딩될 때, 그 블록에 대해 삼각형 예측 모드가 인에이블되는지 또는 디스에이블되는지를 지시하기 위해 1 비트 플래그가 시그널링될 수 있다.
플래그는 다음 수학식에 기초하여 3개의 컨텍스트로 코딩된다(도 17 참조).
Ctx 인덱스 = ( (좌측 블록 L 이용가능 && L이 TPM으로 코딩됨?) 1: 0 ) + ( (상부 블록 A 이용가능 && A가 TPM으로 코딩됨?) 1: 0 );
2.2.3.4.2 (도 13a 및 도 13b에 도시된 바와 같은) 2개의 구분 패턴의 지시, 및 2개의 파티션 각각에 대한 선택된 병합 인덱스들의 시그널링
구분 패턴들, 2개의 파티션의 병합 인덱스들은 공동으로 코딩된다는 점에 유의한다. 일 예에서, 2개의 파티션이 동일한 참조 인덱스를 사용할 수 없도록 제한된다. 따라서, 2(구분 패턴들) * N(병합 후보들의 최대 수) * (N-1)개의 가능성이 있으며, 여기서 N은 5로 설정된다. 하나의 지시가 코딩되고 구분 패턴들, 2개의 병합 인덱스 및 코딩된 지시 사이의 맵핑이 아래에 정의된 어레이로부터 도출된다:
Figure pct00001
구분 패턴들(45도 또는 135도) = g_TriangleCombination[시그널링된 지시][0];
후보 A의 병합 인덱스 = g_TriangleCombination[시그널링된 지시];
후보 B의 병합 인덱스 = g_TriangleCombination[시그널링된 지시];
2개의 모션 후보 A 및 B가 도출되면, 2개의 파티션(PU1 및 PU2)의 모션 정보가 A 또는 B로부터 설정될 수 있다. PU1이 병합 후보 A 또는 B의 모션 정보를 사용하는지는 2개의 모션 후보의 예측 방향들에 의존한다. 표 1은 2개의 도출된 모션 후보 A 및 B와 2개의 파티션 사이의 관계를 나타낸다.
표 1: 도출된 2개의 병합 후보(A, B)로부터의 파티션들의 모션 정보의 도출
Figure pct00002
2.2.3.4.3 지시의 엔트로피 코딩(merge_triangle_idx로 표시)
merge_triangle_idx는 모두 포함하여 범위 [0, 39] 내에 있다. K차 지수 골룸(Exponential Golomb, EG) 코드는 merge_triangle_idx의 이진화를 위해 사용되며, 여기서 K는 1로 설정된다.
K차 EG
더 적은 비트들로 더 큰 수들을 인코딩하기 위해(더 많은 비트들을 사용하여 더 작은 수들을 인코딩하는 대가로), 이것은 음이 아닌 정수 파라미터 k를 사용하여 일반화될 수 있다. 음이 아닌 정수 x를 k차 지수 골룸 코드로 인코딩하기 위해:
1. 위에 설명된 0차 지수 골룸 코드를 사용하여
Figure pct00003
을 인코딩하고, 그 후
2. x mod 2k를 바이너리로 인코딩한다
표 2: 지수-골룸-k 코딩 예들
Figure pct00004
2.2.3.5 TPM의 최근 진행
정규 병합 후보 리스트는 추가 모션 벡터 가지치기 없이 삼각형 파티션 병합 예측에 재사용된다. 정규 병합 후보 리스트 내의 각각의 병합 후보에 대해, L0 또는 L1 모션 벡터 중 하나만이 삼각형 예측에 사용된다. 또한, L0 대 L1 모션 벡터를 선택하는 순서는 그의 병합 인덱스 패리티에 기초한다. 이러한 스킴에 의해, 정규 병합 리스트가 직접 사용될 수 있다.
일단 정규 병합 리스트가 구성되면, 정규 병합 후보 리스트 내의 각각의 병합 후보에 대해, L0 또는 L1 모션 벡터 중 하나만이 삼각형 예측에 사용된다. 또한, L0 대 L1 모션 벡터를 선택하는 순서는 그의 병합 인덱스 패리티에 기초한다. 더 구체적으로, 도 18c에 도시된 바와 같이, 짝수 값 인덱스를 갖는 후보에 대해, L0 모션 벡터가 먼저 삼각형 예측을 위해 사용되도록 선택된다. 그것이 이용가능하지 않은 경우, L1 모션 벡터가 대신 사용될 것이다. 홀수 값 인덱스를 갖는 후보에 대해, L1 모션 벡터가 먼저 삼각형 예측을 위해 사용되도록 선택된다. 그것이 이용가능하지 않은 경우, L0 모션 벡터가 대신 사용될 것이다. 도 18c에서, 각각의 병합 인덱스에 대응하여, "x"로 표시된 모션 벡터가 먼저 삼각형 예측을 위해 선택된다.
7.3.7.7 병합 데이터 구문
Figure pct00005
2.2.4 중첩 블록 모션 보상
중첩 블록 모션 보상(Overlapped Block Motion Compensation, OBMC)은 H.263에서 이전에 사용되었다. JEM에서는, H.263에서와 달리, OBMC가 CU 레벨에서의 구문을 사용하여 스위치 온 및 오프될 수 있다. OBMC가 JEM에서 사용될 때, OBMC는 CU의 우측 및 하단 경계들을 제외한 모든 모션 보상(MC) 블록 경계들에 대해 수행된다. 또한, 이것은 루마 성분과 크로마 성분 둘 다에 적용된다. JEM에서, MC 블록은 코딩 블록에 대응한다. CU가 서브-CU 모드(서브-CU 병합, 아핀 및 FRUC 모드를 포함함)로 코딩될 때, CU의 각각의 서브-블록은 MC 블록이다. 균일한 방식으로 CU 경계들을 처리하기 위해, OBMC는 모든 MC 블록 경계들에 대해 서브-블록 레벨에서 수행되며, 여기서 서브-블록 크기는 도 18a 및 도 18b에 도시된 바와 같이 4×4와 동일하게 설정된다.
OBMC가 현재 서브-블록에 적용될 때, 현재 모션 벡터들 외에, 4개의 연결된 이웃 서브블록의 모션 벡터들은, 이용가능하고 현재 모션 벡터와 동일하지 않은 경우, 현재 서브-블록에 대한 예측 블록을 도출하기 위해 또한 사용된다. 다수의 모션 벡터들에 기초한 이러한 다수의 예측 블록들은 조합되어 현재 서브-블록의 최종 예측 신호를 생성한다.
이웃하는 서브-블록의 모션 벡터들에 기초한 예측 블록은 PN으로서 표시되며, N은 이웃하는 상부, 하부, 좌측 및 우측 서브-블록들에 대한 인덱스를 나타내고, 현재 서브-블록의 모션 벡터들에 기초한 예측 블록은 PC로서 표시된다. PN이 현재 서브-블록에 대해 동일한 모션 정보를 포함하는 이웃하는 서브-블록의 모션 정보에 기초할 때, OBMC는 PN으로부터 수행되지 않는다. 그렇지 않으면, PN의 모든 샘플이 PC 내의 동일한 샘플에 추가되는데, 즉, PN의 4개의 행/열이 PC에 추가된다. 가중 인자들 {1/4, 1/8, 1/16, 1/32}은 PN에 사용되고 가중 인자들 {3/4, 7/8, 15/16, 31/32}은 PC에 사용된다. 예외적으로 작은 MC 블록들(즉, 코딩 블록의 높이 또는 폭이 4와 같거나 CU가 서브-CU 모드로 코딩될 때)의 경우 PN의 2개의 행/열만이 PC에 추가된다. 이 경우, 가중 인자들 {1/4, 1/8}은 PN에 사용되고 가중 인자들 {3/4, 7/8}은 PC에 사용된다. 수직으로(수평으로) 이웃하는 서브-블록의 모션 벡터들에 기초하여 생성되는 PN의 경우, PN의 동일한 행(열) 내의 샘플들이 동일한 가중 인자를 사용하여 PC에 추가된다.
JEM에서, 256개의 루마 샘플 이하의 크기를 갖는 CU의 경우, 현재 CU에 대해 OBMC가 적용되는지 여부를 지시하기 위해 CU 레벨 플래그가 시그널링된다. 256개의 루마 샘플보다 큰 크기를 갖거나 AMVP 모드로 코딩되지 않은 CU들의 경우, OBMC는 디폴트로 적용된다. 인코더에서, OBMC가 CU에 적용될 때, 모션 추정 스테이지 동안 그 영향이 고려된다. 상단 이웃 블록 및 좌측 이웃 블록의 모션 정보를 사용하여 OBMC에 의해 형성된 예측 신호는 현재 CU의 원래 신호의 상단 및 좌측 경계들을 보상하는데 사용되고, 그 후 정상 모션 추정 프로세스가 적용된다.
2.2.5 국부 조명 보상
국부 조명 보상(Local Illumination Compensation, LIC)은 스케일링 인자 a 및 오프셋 b를 사용하여 조명 변화에 대한 선형 모델에 기초한다. 그리고 이것은 각각의 인터-모드 코딩된 코딩 단위(CU)에 대해 적응적으로 인에이블되거나 디스에이블된다.
LIC가 CU에 적용될 때, 현재 CU의 이웃 샘플들 및 그것들의 대응하는 참조 샘플들을 사용하여 파라미터들 a 및 b를 도출하기 위해 최소 제곱 에러 방법(least square error method)이 이용된다. 더 구체적으로, 도 19에 예시된 바와 같이, CU의 서브샘플링된(2:1 서브샘플링) 이웃 샘플들 및 참조 화상에서의 대응하는 샘플들(현재 CU 또는 서브-CU의 모션 정보에 의해 식별됨)이 사용된다. IC 파라미터들은 각각의 예측 방향에 대해 개별적으로 도출되고 적용된다.
CU가 병합 모드로 코딩될 때, 병합 모드에서의 모션 정보 복사와 유사한 방식으로, LIC 플래그는 이웃 블록들로부터 복사된다; 그렇지 않으면, LIC가 적용되는지 여부를 지시하기 위해 LIC 플래그가 CU에 대해 시그널링된다.
LIC가 화상에 대해 인에이블될 때, LIC가 CU에 대해 적용되는지 여부를 결정하기 위해 추가적인 CU 레벨 RD 검사가 필요하다. LIC가 CU에 대해 인에이블될 때, MR-SAD(mean-removed sum of absolute difference) 및 MR-SATD(mean-removed sum of absolute Hadamard-transformed difference)가 정수 화소 모션 탐색 및 분수 화소 모션 탐색을 위해, SAD 및 SATD 대신에, 각각 사용된다.
인코딩 복잡성을 감소시키기 위해, 다음의 인코딩 스킴이 JEM에서 적용된다.
● 현재 화상과 그것의 참조 화상들 사이에 명백한 조명 변화가 없을 때 전체 화상에 대해 LIC가 디스에이블된다. 이러한 상황을 식별하기 위해, 현재 화상 및 현재 화상의 모든 참조 화상의 히스토그램들이 인코더에서 계산된다. 현재 화상과 현재 화상의 모든 참조 화상 사이의 히스토그램 차이가 주어진 임계값보다 작으면, LIC는 현재 화상에 대해 디스에이블되고; 그렇지 않으면, LIC는 현재 화상에 대해 인에이블된다.
2.2.6 아핀 모션 보상 예측
HEVC에서, 변환 모션 모델만이 모션 보상 예측(MCP)에 적용된다. 현실 세계에는, 많은 종류의 모션, 예를 들어, 줌 인/아웃, 회전, 원근 모션 및 다른 불규칙한 모션이 있다. JEM에서, 단순화된 아핀 변환 모션 보상 예측이 적용된다. 도 20a 및 도 20b에 도시된 바와 같이, 블록의 아핀 모션 필드는 2개의 제어 포인트 모션 벡터에 의해 설명된다.
블록의 모션 벡터 필드(motion vector field, MVF)는 다음의 수학식에 의해 설명된다:
Figure pct00006
6-파라미터 아핀의 경우,
Figure pct00007
여기서 (v0x, v0y)는 상단-좌측 코너 제어 포인트의 모션 벡터이고, (v1x, v1y)은 상단-우측 코너 제어 포인트의 모션 벡터이고, (v2x, v2y)는 하단-좌측 코너 제어 포인트의 모션 벡터이고, (x, y)는 현재 블록 내의 상단-좌측 샘플에 대한 대표 포인트의 좌표를 나타낸다. VTM에서, 대표 포인트는 서브-블록의 중심 위치인 것으로 정의되는데, 예를 들어, 현재 블록 내의 상단-좌측 샘플에 대한 서브-블록의 좌측-상단 코너의 좌표가 (xs, ys)일 때, 대표 포인트의 좌표는 (xs+2, ys+2)인 것으로 정의된다.
모션 보상 예측을 더 단순화하기 위해, 서브-블록 기반 아핀 변환 예측이 적용된다. 서브-블록 크기 M×N은 수학식 2에서와 같이 도출되며, 여기서 MvPre는 모션 벡터 분수 정확도(JEM에서 1/16)이고, (v2x, v2y)는 수학식 1에 따라 계산된 하단-좌측 제어 포인트의 모션 벡터이다.
Figure pct00008
수학식 2에 의해 도출된 후에, M 및 N은 필요에 따라 각각 w 및 h의 제수(divisor)가 되도록 하향 조정되어야 한다.
각각의 M×N 서브-블록의 모션 벡터를 도출하기 위해, 도 20a 및 도 20b에 도시된 바와 같이, 각각의 서브-블록의 중심 샘플의 모션 벡터가 수학식 1에 따라 계산되고 1/16 분수 정확도로 라운딩된다. 이어서, 섹션 2.2.3에서 언급된 모션 보상 보간 필터를 적용하여 도출된 모션 벡터를 사용하여 각각의 서브-블록의 예측을 생성한다.
도 21은 서브-블록당 아핀 모션 벡터 필드(motion vector field, MVF)의 예를 도시한다.
MCP 후에, 각각의 서브-블록의 높은 정확도의 모션 벡터는 라운딩되어 정상 모션 벡터와 동일한 정확도로 세이브된다.
2.2.6.1 AF_INTER 모드
JEM에는, 2개의 아핀 모션 모드인 AF_INTER 모드와 AF_MERGE 모드가 있다. 폭과 높이 둘 다가 8보다 큰 CU들의 경우, AF_INTER 모드가 적용될 수 있다. CU 레벨에서의 아핀 플래그는 AF_INTER 모드가 사용되는지를 지시하기 위해 비트스트림에서 시그널링된다. 이 모드에서, 모션 벡터 쌍
Figure pct00009
을 갖는 후보 리스트가 이웃 블록들을 사용하여 구성된다. 도 22a 및 도 22b에 도시된 바와 같이, v0은 블록 A, B 또는 C의 모션 벡터들로부터 선택된다. 이웃 블록으로부터의 모션 벡터는 참조 리스트 및 이웃 블록에 대한 참조의 POC, 현재 CU에 대한 참조의 POC 및 현재 CU의 POC 사이의 관계에 따라 스케일링된다. 그리고 이웃 블록 D 및 E로부터 v1을 선택하는 접근법은 유사하다. 후보 리스트의 수가 2보다 작으면, 리스트는 AMVP 후보들 각각을 복제하여 구성된 모션 벡터 쌍에 의해 패딩된다. 후보 리스트가 2보다 큰 경우, 후보들은 먼저 이웃 모션 벡터들의 일관성(쌍 후보에서의 2개의 모션 벡터의 유사성)에 따라 정렬되고 처음 2개의 후보만이 유지된다. 어느 모션 벡터 쌍 후보가 현재 CU의 제어 포인트 모션 벡터 예측(control point motion vector prediction, CPMVP)으로서 선택되는지를 결정하기 위해 RD 비용 검사가 사용된다. 그리고 후보 리스트에서의 CPMVP의 위치를 지시하는 인덱스가 비트스트림에서 시그널링된다. 현재 아핀 CU의 CPMVP가 결정된 후에, 아핀 모션 추정이 적용되고 제어 포인트 모션 벡터(CPMV)가 발견된다. 그 다음, CPMV와 CPMVP의 차이가 비트스트림에서 시그널링된다.
도 23은 AF_INTER에 대한 모션 벡터 예측자(MVP)의 예를 도시한다.
AF_INTER 모드에서, 4/6 파라미터 아핀 모드가 사용될 때, 2/3 제어 포인트들이 요구되며, 따라서 도 22a 및 도 22b에 도시된 바와 같이 이들 제어 포인트들에 대해 2/3 MVD가 코딩될 필요가 있다. 기존의 구현에서는, MV를 다음과 같이 도출하는 것, 즉 mvd0으로부터 mvd1 및 mvd2를 예측하는 것이 제안된다.
Figure pct00010
여기서,
Figure pct00011
, mvdi 및 mv1은 도 22b에 도시된 바와 같이 각각 상단-좌측 화소(i=0), 상단-우측 화소(i=1) 또는 좌측-하단 화소(i=2)의 예측된 모션 벡터, 모션 벡터 차이 및 모션 벡터이다. 2개의 모션 벡터(예를 들어, mvA(xA, yA) 및 mvB(xB, yB))의 추가는 개별적으로 2개의 성분의 합산과 같으며, 즉 newMV = mvA + mvB이고, newMV의 2개의 성분은 (xA + xB) 및 (yA + yB)로 각각 설정된다는 점에 유의한다.
2.2.6.2 AF_MERGE 모드
CU가 AF_MERGE 모드에서 적용될 때, 그것은 유효 이웃 재구성된 블록들로부터 아핀 모드로 코딩된 첫번째 블록을 얻는다. 그리고 후보 블록에 대한 선택 순서는 도 24a에 도시된 바와 같이 좌측, 상부, 상부 우측, 좌측 하단에서 상부 좌측 순이다. 이웃 좌측 하단 블록 A가 도 24b에 도시된 바와 같이 아핀 모드로 코딩되면, 블록 A를 포함하는 CU의 상단 좌측 코너, 상부 우측 코너 및 좌측 하단 코너의 모션 벡터들 v2, v3 및 v4가 도출된다. 그리고 현재 CU 상의 상단 좌측 코너의 모션 벡터 v0은 v2, v3 및 v4에 따라 계산된다. 둘째로, 현재 CU의 상부 우측의 모션 벡터 v1가 계산된다.
현재 CU v0 및 v1의 CPMV가 도출된 후에, 간략화된 아핀 모션 모델 수학식 1에 따라, 현재 CU의 MVF가 생성된다. 현재 CU가 AF_MERGE 모드로 코딩되는지를 식별하기 위해, 아핀 모드로 코딩된 적어도 하나의 이웃 블록이 존재할 때 아핀 플래그가 비트스트림에서 시그널링된다.
일부 구현들에서, 아핀 병합 후보 리스트는 다음의 단계들로 구성된다:
상속된 아핀 후보들을 삽입
상속된 아핀 후보는 후보가 그의 유효 이웃 아핀 코딩된 블록의 아핀 모션 모델로부터 도출된다는 것을 의미한다. 공통 기준으로, 도 24a 및 도 24b에 도시된 바와 같이, 후보 위치들에 대한 스캔 순서는 A1, B1, B0, A0 및 B2이다.
후보가 도출된 후에, 동일한 후보가 리스트에 삽입되었는지를 검사하기 위해 완전 가지치기 프로세스가 수행된다. 동일한 후보가 존재하는 경우, 도출된 후보는 폐기된다.
구성된 아핀 후보들을 삽입
아핀 병합 후보 리스트 내의 후보들의 수가 MaxNumAffineCand 미만이면(이 기고문에서는 5로 설정됨), 구성된 아핀 후보들이 후보 리스트에 삽입된다. 구성된 아핀 후보는 각각의 제어 포인트의 이웃 모션 정보를 조합하여 후보가 구성되는 것을 의미한다.
제어 포인트에 대한 모션 정보는 먼저 도 24a 및 도 24b에 도시된 특정된 공간적 이웃 및 시간적 이웃으로부터 도출된다. CPk (k=1, 2, 3, 4)는 k번째 제어 포인트를 나타낸다. A0, A1, A2, B0, B1, B2 및 B3은 CPk (k=1, 2, 3)를 예측하기 위한 공간적 위치들이고; T는 CP4를 예측하기 위한 시간적 위치이다.
CP1, CP2, CP3 및 CP4의 좌표들은 각각 (0, 0), (W, 0), (H, 0) 및 (W, H)이며, 여기서 W 및 H는 현재 블록의 폭 및 높이이다.
도 25는 아핀 병합 모드에 대한 후보 위치들의 예를 도시한다.
각각의 제어 포인트의 모션 정보는 다음 우선순위 순서에 따라 획득된다:
CP1의 경우, 검사 우선순위는 B2→B3→A2이다. B2가 사용가능한 경우 B2가 사용된다. 그렇지 않고, B2가 사용가능한 경우, B3이 사용된다. B2와 B3 둘 다가 사용가능하지 않은 경우, A2가 사용된다. 3개의 후보 모두가 사용가능하지 않은 경우, CP1의 모션 정보가 획득될 수 없다.
CP2의 경우, 검사 우선순위는 B1→B0이다.
CP3의 경우, 검사 우선순위는 A1→A0이다.
CP4의 경우, T가 사용된다.
둘째로, 제어 포인트들의 조합들은 아핀 병합 후보를 구성하는 데 사용된다.
6-파라미터 아핀 후보를 구성하기 위해 3개의 제어 포인트의 모션 정보가 필요하다. 3개의 제어 포인트는 다음의 4개의 조합({CP1, CP2, CP4}, {CP1, CP2, CP3}, {CP2, CP3, CP4}, {CP1, CP3, CP4}) 중 하나로부터 선택될 수 있다. 조합들 {CP1, CP2, CP3}, {CP2, CP3, CP4}, {CP1, CP3, CP4}은 상단-좌측, 상단-우측 및 하단-좌측 제어 포인트들에 의해 표현되는 6-파라미터 모션 모델로 변환될 것이다.
4-파라미터 아핀 후보를 구성하기 위해 2개의 제어 포인트의 모션 정보가 필요하다. 2개의 제어 포인트는 다음의 6개의 조합({CP1, CP4}, {CP2, CP3}, {CP1, CP2}, {CP2, CP4}, {CP1, CP3}, {CP3, CP4}) 중 하나로부터 선택될 수 있다. 조합들 {CP1, CP4}, {CP2, CP3}, {CP2, CP4}, {CP1, CP3}, {CP3, CP4}은 상단-좌측 및 상단-우측 제어 포인트들에 의해 표현되는 4-파라미터 모션 모델로 변환될 것이다.
구성된 아핀 후보들의 조합들은 다음 순서로 후보 리스트에 삽입된다:
{CP1, CP2, CP3}, {CP1, CP2, CP4}, {CP1, CP3, CP4}, {CP2, CP3, CP4}, {CP1, CP2}, {CP1, CP3}, {CP2, CP3}, {CP1, CP4}, {CP2, CP4}, {CP3, CP4}
조합의 참조 리스트 X(X는 0 또는 1임)의 경우, 제어 포인트들에서 가장 높은 사용률을 갖는 참조 인덱스는 리스트 X의 참조 인덱스로서 선택되고, 차이 참조 화상을 가리키는 모션 벡터들은 스케일링될 것이다.
후보가 도출된 후에, 동일한 후보가 리스트에 삽입되었는지를 검사하기 위해 완전 가지치기 프로세스가 수행된다. 동일한 후보가 존재하는 경우, 도출된 후보는 폐기된다.
제로 모션 벡터들로 패딩
아핀 병합 후보 리스트 내의 후보들의 수가 5보다 작으면, 제로 참조 인덱스들을 갖는 제로 모션 벡터들은 리스트가 가득 찰 때까지 후보 리스트에 삽입된다.
2.2.7 양방향 광학 흐름
양방향 광학 흐름(Bi-directional Optical flow, BIO)은 양방향 예측을 위한 블록별 모션 보상(block-wise motion compensation)을 기반으로 수행되는 샘플별 모션 리파인먼트(sample-wise motion refinement)이다. 샘플-레벨 모션 리파인먼트는 시그널링을 사용하지 않는다.
도 26은 광학 흐름 궤적(optical flow trajectory)의 예를 도시한다.
I(k)를 블록 모션 보상 후 참조 k(k=0, 1)로부터의 루마 값인 것으로 하고,
Figure pct00012
,
Figure pct00013
는 각각 I(k) 그래디언트(gradient)의 수평 및 수직 성분들이다. 광학 흐름이 유효하다고 가정하면, 모션 벡터 필드 (vx, vy)는 다음 방정식에 의해 주어진다:
Figure pct00014
이러한 광학 흐름 방정식을 각각의 샘플의 모션 궤적에 대한 Hermite 보간과 조합하면, 결국에 함수 값들 I(k)과 도함수들
Figure pct00015
,
Figure pct00016
둘 다와 매칭되는 고유한 3차 다항식이 얻어진다. t=0에서 이 다항식의 값은 BIO 예측이다:
Figure pct00017
여기서, τ0 및 τ1은 도 28에 도시된 바와 같이 참조 프레임들까지의 거리를 나타낸다. 거리들 τ0 및 τ1은 Ref0 및 Ref1에 대한 POC에 기초하여 계산된다: τ0 = POC(현재) - POC(Ref0), τ1 = POC(Ref1) - POC(현재). 두 예측들이 동일한 시간 방향으로부터(둘 다 과거로부터 또는 둘 다 미래로부터) 나오는 경우, 부호들은 상이하다(즉,
Figure pct00018
). 이 경우, BIO는 예측이 동일한 시간 순간으로부터의 것이 아닌 경우(즉, τ0≠τ1)에만 적용되고, 두 참조된 영역들은 비-제로 모션(non-zero motion)(
Figure pct00019
)을 갖고, 블록 모션 벡터들은 시간 거리에 비례한다(
Figure pct00020
).
모션 벡터 필드 (vx, vy)는 포인트들 A 및 B(도 26에서 모션 궤적과 참조 프레임 평면들의 교차점)에서의 값들 사이의 차이 Δ를 최소화함으로써 결정된다. 모델은 Δ에 대한 국부 Taylor 확장의 첫번째 선형 항만을 사용한다:
Figure pct00021
수학식 5에서의 모든 값들은 지금까지 표기법으로부터 생략된 샘플 위치 (i', j')에 의존한다. 모션이 국부 주변 영역에서 일관된다고 가정하면, 현재 예측된 포인트 i, j를 중심으로 하는 (2M+1)×(2M+1) 정사각형 윈도우 Ω 내에서 Δ를 최소화하고, 여기서 M은 2와 같다:
Figure pct00022
이 최적화 문제에 대해, JEM은 먼저 수직 방향에서의 최소화를 행한 다음 수평 방향에서의 최소화를 행하는 단순화된 접근법을 사용한다. 이것은 다음과 같은 결과를 야기한다:
Figure pct00023
여기서,
Figure pct00024
0 또는 매우 작은 값으로 나누는 것을 피하기 위해, 정규화 파라미터들 r 및 m이 수학식 7 및 수학식 8에 도입된다.
Figure pct00025
여기서 d는 비디오 샘플들의 비트 깊이(bit depth)이다.
BIO에 대한 메모리 액세스를 정규 양방향-예측 모션 보상에 대한 것과 동일하게 유지하기 위해, 모든 예측 및 그래디언트 값들
Figure pct00026
,
Figure pct00027
,
Figure pct00028
이 현재 블록 내의 위치들에 대해서만 계산된다. 수학식 9에서, 예측된 블록의 경계 상의 현재 예측된 포인트를 중심으로 하는 (2M+1)×(2M+1) 정사각형 윈도우 Ω는 (도 27a에 도시된 바와 같이) 블록 외부의 위치들에 액세스할 필요가 있다. JEM에서, 블록 외부의
Figure pct00029
,
Figure pct00030
,
Figure pct00031
의 값들은 블록 내부의 가장 가까운 이용가능한 값과 같도록 설정된다. 예를 들어, 이것은 도 27b에 도시된 바와 같이 패딩(padding)으로서 구현될 수 있다.
BIO에 의해, 모션 필드가 각각의 샘플에 대해 리파인될 수 있는 것이 가능하다. 계산 복잡성을 감소시키기 위해, BIO의 블록-기반 설계가 JEM에서 사용된다. 모션 리파인먼트는 4×4 블록에 기초하여 계산된다. 블록-기반 BIO에서, 4×4 블록 내의 모든 샘플들의 수학식 9에서의 sn의 값들을 집계(aggregate)한 다음, sn의 집계된 값들을 사용하여 4×4 블록에 대한 BIO 모션 벡터 오프셋을 도출한다. 더 구체적으로, 다음의 공식이 블록-기반 BIO 도출에 사용된다:
Figure pct00032
여기서, bk는 예측된 블록의 k번째 4×4 블록에 속하는 샘플들의 세트를 나타낸다. 수학식 7 및 수학식 8에서의 sn은 연관된 모션 벡터 오프셋들을 도출하기 위해( (sn,bk) >> 4 )로 대체된다.
일부 경우들에서, BIO의 MV 리파인먼트는 잡음 또는 불규칙적인 모션으로 인해 신뢰할 수 없을 수 있다. 따라서, BIO에서, MV 리파인먼트의 크기는 임계값 thBIO로 클리핑(clipped)된다. 임계값은 현재 화상의 참조 화상들이 모두 한 방향으로부터의 것인지에 기초하여 결정된다. 현재 화상의 모든 참조 화상이 한 방향으로부터의 것이면, 임계값은 12×214-d로 설정되고; 그렇지 않으면, 임계값은 12×213-d로 설정된다.
BIO에 대한 그래디언트들은 HEVC 모션 보상 프로세스(2D 분리가능 FIR)와 일관되는 연산들을 사용하는 모션 보상 보간과 동시에 계산된다. 이 2D 분리가능 FIR에 대한 입력은 모션 보상 프로세스 및 블록 모션 벡터의 분수 부분에 따른 분수 위치(fracX, fracY)에 대한 것과 동일한 참조 프레임 샘플이다. 수평 그래디언트
Figure pct00033
의 경우, 먼저 디-스케일링 시프트(de-scaling shift) d-8을 갖는 분수 위치 fracY에 대응하는 BIOfilterS을 사용하여 신호가 수직으로 보간되고, 그 후 18-d만큼 디-스케일링 시프트를 갖는 분수 위치 fracX에 대응하는 수평 방향으로 그래디언트 필터 BIOfilterG가 적용된다. 수직 그래디언트
Figure pct00034
의 경우, 먼저 디-스케일링 시프트 d-8을 갖는 분수 위치 fracY에 대응하는 BIOfilterG을 사용하여 그래디언트 필터가 수직으로 적용되고, 그 후 18-d만큼 디-스케일링 시프트를 갖는 분수 위치 fracX에 대응하는 수평 방향으로 BIOfilterS을 사용하여 신호 변위(signal displacement)가 수행된다. 그래디언트 계산 BIOfilterG 및 신호 변위 BIOfilterF를 위한 보간 필터의 길이는 합리적인 복잡성을 유지하기 위해 더 짧다(6-탭). 표 3은 BIO에서 블록 모션 벡터의 상이한 분수 위치들에 대한 그래디언트 계산에 사용되는 필터들을 나타낸다. 표 4는 BIO에서의 예측 신호 생성에 사용되는 보간 필터들을 나타낸다.
표 3: BIO에서 그래디언트 계산을 위한 필터들
Figure pct00035
표 4: BIO에서 예측 신호 생성을 위한 보간 필터들
Figure pct00036
JEM에서, BIO는 2개의 예측이 상이한 참조 화상으로부터의 것일 때 모든 양방향-예측 블록에 적용된다. LIC가 CU에 대해 인에이블될 때, BIO는 디스에이블된다.
JEM에서, OBMC는 정상 MC 프로세스 후 블록에 적용된다. 계산 복잡성을 줄이기 위해, OBMC 프로세스 동안 BIO가 적용되지 않는다. 이것은 BIO가 그 자신의 MV를 사용할 때만 블록에 대해 MC 프로세스에서 적용되고, OBMC 프로세스 동안 이웃 블록의 MV가 사용될 때에는 MC 프로세스에서 적용되지 않는다는 것을 의미한다.
2.2.8 디코더-측 모션 벡터 리파인먼트
양방향-예측 동작에서, 하나의 블록 영역의 예측을 위해, 리스트0의 모션 벡터(MV) 및 리스트1의 MV를 사용하여 각각 형성된 2개의 예측 블록이 조합되어 단일 예측 신호를 형성한다. 디코더-측 모션 벡터 리파인먼트(DMVR) 방법에서, 양방향-예측의 2개의 모션 벡터는 양방향 템플릿 매칭 프로세스에 의해 더 리파인된다. 양방향 템플릿 매칭은 디코더에 적용되어 추가적인 모션 정보의 송신 없이 리파인된 MV를 획득하기 위해 참조 화상들에서 재구성 샘플들과 양방향 템플릿 사이의 왜곡-기반 탐색(distortion-based search)을 수행한다.
DMVR에서는, 도 28에 도시된 바와 같이, 양방향 템플릿이 리스트0의 초기 MV0 및 리스트1의 MV1로부터 각각 2개의 예측 블록의 가중 조합(즉, 평균)으로서 생성된다. 템플릿 매칭 동작은, 생성된 템플릿과 참조 화상의 샘플 영역(초기 예측 블록 주변) 사이의 비용 척도들(cost measures)을 계산하는 것을 포함한다. 2개의 참조 화상 각각에 대해, 최소 템플릿 비용을 산출하는 MV가 원래의 것을 대체할 그 리스트의 업데이트된 MV로 간주된다. JEM에서, 각각의 리스트에 대해 9개의 MV 후보가 탐색된다. 9개의 MV 후보는 원래 MV 및 8개의 주변 MV를 포함하며, 그 중 하나의 루마 샘플은 수평 또는 수직 방향, 또는 양쪽 방향에서 원래 MV에 대해 오프셋된 루마 샘플이다. 마지막으로, 2개의 새로운 MV, 즉, 도 28에 도시된 바와 같은 MV0' 및 MV1'은 최종 양방향-예측 결과들을 생성하기 위해 사용된다. 절대 차이 합(sum of absolute differences, SAD)이 비용 척도로서 사용된다. 하나의 주변 MV에 의해 생성되는 예측 블록의 비용을 계산할 때, 실제 MV 대신에 예측 블록을 획득하기 위해 (정수 화소로의) 라운딩된 MV가 실제로 사용된다는 점에 주목한다.
DMVR은, 추가적인 구문 요소들의 송신 없이, 과거의 참조 화상으로부터의 하나의 MV 및 미래의 참조 화상으로부터의 다른 하나의 MV를 사용하는 양방향-예측의 병합 모드에 적용된다. JEM에서, LIC, 아핀 모션, FRUC, 또는 서브-CU 병합 후보가 CU에 대해 인에이블될 때, DMVR은 적용되지 않는다.
2.2.9 서브-블록 병합 후보 리스트
비-서브 블록 병합 후보들에 대한 정규 병합 리스트 이외에 모든 서브-블록 관련 모션 후보들이 별개의 병합 리스트에 배치되는 것이 제안된다.
서브-블록 관련 모션 후보들은 별개의 병합 리스트에 배치되고 '서브-블록 병합 후보 리스트'로서 명명된다.
일 예에서, 서브-블록 병합 후보 리스트는 아핀 병합 후보들, 및 ATMVP 후보, 및/또는 서브-블록 기반 STMVP 후보를 포함한다.
2.2.9.1 아핀 병합 리스트 구성의 다른 예
이 기고문에서는, 정상 병합 리스트 내의 ATMVP 병합 후보가 아핀 병합 리스트의 첫번째 위치로 이동된다. 그에 따라 새로운 리스트(즉, 서브-블록 기반 병합 후보 리스트) 내의 모든 병합 후보들은 서브-블록 코딩 도구들에 기초한다.
3. 실시예들에 의해 극복된 문제들의 예들
삼각형 파티션의 설계에서는, 하나의 블록이 2개의 파티션으로 구분될 수 있다. 모션 보상으로 인한 메모리 대역폭을 절약하기 위해, 2개의 파티션이 단방향-예측되어야 하는 것이 요구된다. 모션 보상 프로세스 동안, 대각선 에지에 대해 양방향-예측이 사용되고 모든 다른 나머지 부분들에 대해 단방향-예측이 사용된다. 각각의 파티션에 대해 양방향-예측이 허용되면, 대각선 에지에 위치된 샘플들은 4개의 MV를 가질 것이고, 그 중 2개의 MV는 하나의 파티션으로부터의 것이고 2개의 MV는 다른 파티션으로부터의 것이다. 이러한 설계는 다음과 같은 문제들을 갖는다:
1) 단방향-예측 병합 리스트의 설계는 참조 화상 리스트에 의존하는데, 즉, 참조 화상 리스트 0으로부터의 참조 화상들과 연관된 MV들에 대해 더 높은 우선순위가 주어진다. 즉, 모든 단방향-예측 정규 모션 후보들로부터 도출된 TPM 후보들은 모든 양방향-예측 정규 모션 후보들로부터 도출된 것들 전에 삽입된다. 그러나, 통상적으로, 공간적 이웃 블록의 위치는 mv 정보의 유사성 관점에서 더 강한 상관을 갖는다.
2) 2개의 파티션은 상이한 TPM 후보 인덱스들을 선택하도록 허용되지만, 그것들 둘 다에 대해 동일한 병합 후보 리스트가 이용되며, 이것은 2개의 파티션이 현재 블록의 이웃 블록들과 상이한 상관들을 가질 수 있기 때문에 최적이 아니다.
3) TPM 후보들의 최대 수는 5인 것으로 고정되며, 이는 적어도 소프트웨어 설계에 친숙하지 않다.
4) 가중 인자 그룹들은 모든 종류의 블록들에 대해 미리 정의된다.
5) 모션 정보는 4×4 레벨로 저장되며, 이는 메모리 요건을 증가시킨다. 이들을 압축하는 방법은 연구해야 할 문제이다.
6) TPM 모션 정보는 2개의 디코딩된 병합 인덱스의 패리티에 의존한다. 짝수 값 인덱스를 갖는 후보에 대해, L0 모션 벡터가 먼저 삼각형 예측을 위해 사용되도록 선택된다. 그것이 이용가능하지 않은 경우, L1 모션 벡터가 대신 사용될 것이다. 홀수 값 인덱스를 갖는 후보에 대해, L1 모션 벡터가 먼저 삼각형 예측을 위해 사용되도록 선택된다. 그것이 이용가능하지 않은 경우, L0 모션 벡터가 대신 사용될 것이다. 따라서, 2개의 후보가 동일한 참조 화상 리스트로부터의 것일 수 있다.
4. 예시적인 실시예들
제안된 방법들은 비-정사각형/비-직사각형 파티션들, 예를 들어, 기하학적 파티션들 중 임의의 것에 적용될 수 있다. 다음 설명들에서는, 비-정사각형/비-직사각형 파티션 모드(TPM)의 예로서 하나를 나타내기 위해 '삼각형 파티션 모드'를 사용하며, TPM 후보 리스트에 삽입된 모션 벡터 예측 후보는 'TPM 후보들'로 명명된다. 그리고 임의의 이전에 코딩된 블록들과 연관된 모션 정보는 '정규 모션 후보'로 명명된다. 다른 종류의 파티션들도 적용가능할 수 있다는 점에 유의해야 한다.
아래의 기법들의 상세한 리스트는 일반적인 개념들을 설명하기 위한 예들로서 간주되어야 한다. 이러한 기법들은 좁은 방식으로 해석되지 않아야 한다. 또한, 이러한 기법들은 임의의 방식으로 조합될 수 있다.
상이한 순서들을 갖는 TPM 후보 리스트(AMVP/병합/기타) 구성 프로세스
1. 모든 단방향-예측 정규 모션 후보들로부터 도출된 TPM 후보들을 모든 양방향-예측 정규 모션 후보들로부터 도출된 것들 이전에 항상 삽입하는 대신에, 어느 TPM 후보들이 먼저 추가되어야 하는지를 결정하기 위해 예측 방향을 우선순위 기준으로서 사용하는 것이 제안된다.
a. 일 예에서, 리스트 X로부터의 단방향-예측을 갖는 모든 정규 모션 후보들은 리스트 Y로부터의 단방향-예측을 갖는 것들 이전에 TPM 후보들로서 후보 리스트에 삽입된다.
b. 일 예에서, 양방향-예측 정규 모션 후보들로부터 도출된 모든 TPM 후보들(예를 들어, 절단된 리스트0-예측된 후보들, 절단된 리스트1-예측된 후보들)에 더 높은 우선순위가 주어지며, 즉, 이들은 단방향-예측 정규 모션 후보들로부터 도출된 것들 이전에 삽입될 수 있다.
c. 일 예에서, 순서는 양방향-예측 정규 모션 후보들의 리스트X로부터 도출된 모든 TPM 후보들(예를 들어, 절단된 리스트X-예측된 후보들), 양방향-예측 정규 모션 후보들의 리스트Y로부터 도출된 모든 TPM 후보들(예를 들어, 절단된 리스트Y-예측된 후보들), 단방향-예측 정규 모션 후보들로부터 도출된 모든 TPM 후보들(예를 들어, 원래 단방향-예측된 후보들)로서 정의된다.
d. 일 예에서, 하나의 양방향-예측 정규 모션 후보로부터 도출된 TPM 후보들은 다른 양방향-예측 정규 모션 후보로부터 도출된 것들 이전에 리스트에 추가될 수 있다.
e. 일 예에서, 하나의 양방향-예측 정규 모션 후보로부터 도출된 TPM 후보들은 다른 양방향-예측 정규 모션 후보로부터 도출된 것들과 인터리브 방식(interleaved way)으로 추가될 수 있다.
i. 2개의 정규 모션 후보 CA 및 CB와, CA 및 CB로부터 각각 도출되는 절단된 리스트0/1-예측된 후보들을 포함하는 4개의 TPM 후보가 존재할 때. 리스트에 추가하는 순서는 CA로부터 도출된 절단된 리스트0-예측된 후보들, CB로부터 도출된 절단된 리스트1-예측된 후보들, CA로부터 도출된 절단된 리스트1-예측된 후보들, CB로부터 도출된 절단된 리스트0-예측된 후보들로서 정의될 수 있다.
ii. 대안적으로, 2개의 정규 모션 후보 CA 및 CB와, CA 및 CB로부터 각각 도출되는 절단된 리스트0/1-예측된 후보들을 포함하는 4개의 TPM 후보가 존재할 때. 리스트에 추가하는 순서는 CA로부터 도출된 절단된 리스트1-예측된 후보들, CB로부터 도출된 절단된 리스트0-예측된 후보들, CA로부터 도출된 절단된 리스트0-예측된 후보들, CB로부터 도출된 절단된 리스트1-예측된 후보들로서 정의될 수 있다.
2. 모든 단방향-예측 정규 모션 후보들로부터 도출된 TPM 후보들을 모든 양방향-예측 정규 모션 후보들로부터 도출된 것들 이전에 항상 삽입하는 대신에, 어느 TPM 후보들이 먼저 추가되어야 하는지를 결정하기 위해 정규 모션 후보들과 연관된 코딩된 모드 정보를 우선순위 기준으로서 사용하는 것이 제안된다.
a. 코딩된 정보는 AMVP 또는 병합 모드를 포함할 수 있다.
i. 일 예에서, 하나의 정규 모션 후보 CA가 블록 A로부터 도출되고, 다른 하나의 CB가 블록 B로부터 도출되고, 블록 A가 AMVP 모드로 코딩되고, B가 병합 모드로 코딩되는 경우, CA로부터 도출된 TPM 후보들은 CB로부터 도출된 것들 이전에 리스트에 추가될 수 있다. 대안적으로, CB로부터 도출된 TPM 후보들은 CA로부터 도출된 것들 이전에 리스트에 추가될 수 있다.
b. 코딩된 정보는 참조 인덱스들 및/또는 POC 차이들을 포함할 수 있다.
i. 일 예에서, 하나의 TPM 후보 C'A가 다른 TPM 후보 C'B에 비해 더 작은 참조 인덱스와 연관되는 경우, C'A는 C'B 이전에 리스트에 추가될 수 있다.
ii. 일 예에서, 하나의 TPM 후보 C'A가 다른 TPM 후보 C'B에 비해 참조 화상과 현재 화상 사이의 더 작은 POC 거리와 연관되는 경우, C'A는 C'B 이전에 리스트에 추가될 수 있다.
c. 코딩된 정보는 참조 화상의 화상/슬라이스/타일 그룹 양자화 파라미터(quantization parameter, QP), 및/또는 참조 화상의 시간적 계층 인덱스(temporal layer index)를 포함할 수 있다.
i. 일 예에서, 하나의 TPM 후보 C'A가 다른 TPM C'B에 비해 더 작은 QP를 갖는 참조 화상과 연관되는 경우, C'A는 C'B 이전에 리스트에 추가될 수 있다.
3. 모든 단방향-예측 정규 모션 후보들로부터 도출된 TPM 후보들을 모든 양방향-예측 정규 모션 후보들로부터 도출된 것들 이전에 항상 삽입하는 대신에, 어느 TPM 후보들이 먼저 추가되어야 하는지를 결정하기 위해 모션 후보들이 도출된 위치들을 우선순위 기준으로서 사용하는 것이 제안된다.
a. 일 예에서, 하나의 정규 모션 후보 CA가 블록 A로부터 도출되고, 다른 하나의 CB가 블록 B로부터 도출되고, B가 A 이후에 검사되면, CA로부터 도출된 TPM 모션 후보들(예를 들어, CA가 단방향-예측이거나 2개의 TPM 후보 각각이 CA와 연관된 하나의 예측 방향으로부터 복사된 경우 직접 상속됨)이 CB로부터 도출된 것들 이전에 리스트에 추가될 수 있다.
b. 대안적으로, 또한, 위치들과 참조 화상 리스트들(또는 예측 방향들) 둘 다가 우선순위 기준으로서 사용될 수 있다. 예를 들어, 하나의 정규 모션 후보 CA가 블록 A로부터 도출되고, 다른 하나의 CB가 블록 B로부터 도출되고, B가 A 이후에 검사되면, 리스트 X에 대한 CA로부터 도출된 TPM 모션 후보들은 리스트 X에 대한 CB로부터 도출된 것들 이전에 리스트에 추가될 수 있다. 리스트 Y에 대한 CA로부터 도출된 TPM 모션 후보들은 리스트 Y에 대한 CB로부터 도출된 것들 이전에 리스트에 추가될 수 있다. X는 0 또는 1과 같고, Y는 (1-X)와 같다.
4. 절단된 리스트0-예측된 후보들 이전에 모든 절단된 리스트1-예측된 후보들을 추가하는 것이 제안된다.
a. 대안적으로, 절단된 리스트0-예측된 후보들 및 절단된 리스트1-예측된 후보들의 순서는 예를 들어 이용가능한 TPM 모션 후보들에 기초하여 적응적으로 변경될 수 있다.
i. 일 예에서, 제1 TPM 모션 후보가 리스트 1로부터의 단방향-예측을 갖는 원래 단방향-예측된 후보인 경우, 절단된 리스트1-예측된 후보들은 절단된 리스트0-예측된 후보들 이전에 추가될 수 있다.
ii. 대안적으로, 원래 단방향-예측된 후보들이 리스트 1로부터 더 많은 경우, 절단된 리스트1-예측된 후보들은 절단된 리스트0-예측된 후보들 이전에 추가될 수 있다.
b. 대안적으로, 하나의 양방향-예측 모션 후보로부터 도출된 모든 TPM 후보들(예를 들어, 하나의 절단된 리스트0-예측된 후보 및 하나의 절단된 리스트0-예측된 후보)이 다른 양방향-예측 모션 후보로부터 도출된 모든 TPM 후보들 이전에 리스트에 추가될 수 있다.
i. 대안적으로, 또한, 하나의 모션 후보로부터 도출된 TPM 후보들의 경우, 이들을 추가하는 순서는, 예를 들어, 4.a와 같이, 리스트 내의 이용가능한 TPM 모션 후보들의 정보에 더 의존할 수 있다.
더 많은 TPM 후보들을 갖는 TPM 후보 리스트(AMVP/병합/기타) 구성 프로세스
5. 하나의 정규 모션 후보로부터 도출된 리스트 0 및 리스트 1 모션 후보들로부터의 다중 평균화된 단방향-예측(Multiple Averaged uni-prediction)이 둘 다 TPM 모션 후보 리스트에 추가될 수 있다.
a. 대안적으로, 이들 중 하나만이 추가될 수 있고 어느 것이 추가될지는, 예를 들어, 4.a와 같이, 리스트 내의 이용가능한 TPM 후보들의 정보에 의존한다.
b. 대안적으로, 이들 중 하나만이 추가될 수 있고 어느 것이 추가될지는 2개의 예측 리스트의 참조 화상 인덱스들에 의존한다. 더 작은 참조 화상 인덱스와 연관된 모션 벡터가 유지될 것이고 최종 예측 방향이 이러한 참조 화상과 연관된다.
c. 대안적으로, 이들 중 하나만이 추가될 수 있고 어느 것이 추가될지는 2개의 예측 리스트에 대한 현재 화상과 참조 화상 사이의 POC 거리에 의존한다. 더 작은 POC 거리와 연관된 모션 벡터가 유지될 것이고 최종 예측 방향이 이러한 참조 화상과 연관된다.
d. 일 예에서, 리스트 0 모션 후보들로부터의 모든 평균화된 단방향-예측은 리스트 1 모션 후보들로부터의 모든 평균화된 단방향-예측 이전에 삽입될 수 있다. 대안적으로, 리스트 1 모션 후보들로부터의 모든 평균화된 단방향-예측은 리스트 0 모션 후보들로부터의 모든 평균화된 단방향-예측 이전에 삽입될 수 있다.
6. 평균화된 단방향-예측 TPM 후보들을 도출하기 위해 단방향-예측 정규 모션 후보들이 사용될 수 있는 것이 제안된다.
a. 리스트 LX로부터의 단방향-예측 정규 모션 후보들은, 예를 들어, 양방향-예측 정규 모션 후보들과 함께 또는 리스트 X로부터의 다른 단방향-예측 정규 모션 후보들과 함께, 리스트 LX에 대한 평균화된 단방향-예측 후보들을 생성하는 데 사용될 수 있다.
b. 리스트 LX로부터의 단방향-예측 정규 모션 후보들은 먼저 LY(Y=1-X)로 스케일링될 수 있고 스케일링된 모션 벡터들은, 예를 들어, 양방향-예측 정규 모션 후보들과 함께 또는 리스트 X로부터의 다른 단방향-예측 정규 모션 후보들과 함께, 리스트 LY에 대한 평균화된 단방향-예측 후보들을 생성하는 데 사용될 수 있다.
7. 이용가능한 TPM 모션 후보들로부터 도출된 가상 TPM 모션 후보들이 또한 TPM 후보 리스트에 추가될 수 있다.
a. 일 예에서, 특정 단계 후에(예를 들어, 절단된 리스트1-예측된 후보를 생성한 후에), 가상 후보들은 병합 리스트에 추가된 것들로부터 도출될 수 있다.
b. 일 예에서, 가상 후보들은 원래 단방향-예측된 후보들로부터만 도출될 수 있다.
c. 일 예에서, 가상 후보들은 원래 단방향-예측된 후보들 및 절단된 리스트1-예측된 후보로부터만 도출될 수 있다.
d. 일 예에서, 가상 후보들은 특정 참조 화상 인덱스(즉, 0과 동일함), 및/또는 참조 화상과 현재 화상 사이의 특정 범위의 POC 거리를 갖는 후보들로부터 또는 하나의 참조 화상 리스트로부터만 도출될 수 있다.
e. 일 예에서, 가상 후보들은 처음 K개의 TPM 모션 후보로부터만 도출될 수 있으며, 예를 들어, K는 1로 설정된다.
i. 예를 들어, 2개의 TPM 모션 후보의 MV들은 가상 후보를 얻기 위해 평균화될 수 있다.
f. Cmv로 표시된 모션 벡터와 Crefidx로 표시된 참조 인덱스를 갖는 TPM 모션 후보에 대해, 다음 방법들을 사용하여 가상이 도출될 수 있다:
i. Cmv의 수평 또는 수직 성분에 오프셋을 추가하고 동일한 Crefidx를 사용한다.
ii. Cmv의 수평 성분과 수직 성분 둘 다에 오프셋들을 추가하고 동일한 Crefidx를 사용한다.
iii. Cmv를 Crefidx가 가리키지 않는 다른 참조 화상으로 스케일링한다. 스케일링된 모션 벡터 및 Cmv가 스케일링되는 참조 화상의 인덱스를 새로운 TPM 모션 후보로서 사용한다.
g. 가상 TPM 후보를 추가할 때 가지치기가 적용되지 않을 수 있다.
i.대안적으로, 가지치기는 가상 TPM 후보들이 생성되는 것들을 제외한 후보들에 적용될 수 있다.
적응적 삽입 순서들을 갖는 TPM 후보 리스트(AMVP/병합/기타) 구성 프로세스
8. TPM 후보들의 삽입 순서(우선순위 기준)는 시퀀스에서 시퀀스로, 화상에서 화상으로, 슬라이스에서 슬라이스로, 타일 그룹에서 타일 그룹으로, 블록에서 블록으로, 기타 등등으로 변경될 수 있다.
a. 일 예에서, 이것은 블록 크기/블록 형상/구분 패턴들에 의존할 수 있다.
b. 대안적으로, 순서는 VPS/SPS/PPS/슬라이스 헤더/타일 그룹 헤더/타일/CTU/CU에서 인코더로부터 디코더로 시그널링될 수 있다.
TPM 코딩된 블록 내의 파티션들에 대한 다수의 TPM 리스트들
9. 각각의 기하학적 파티션에 대해, 모든 파티션들에 대해 하나의 리스트를 사용하는 대신에 하나의 개별 모션 후보 리스트가 구성될 수 있다.
a. 일 예에서, 하나의 파티션에 대해, 그것의 연관된 후보 리스트는 리스트 X로부터 예측된 모션 후보들만을 포함하고, 다른 파티션에 대해, 그것의 연관된 후보 리스트는 리스트 Y로부터 예측된 모션 후보들만을 포함하며, 여기서 Y는 X와 같지 않다.
b. 일 예에서, 병합 리스트들에 추가될 모션 후보들을 도출하기 위해 상이한 공간적 및/또는 시간적 블록들이 액세스될 수 있다.
c. 일 예에서, 하나의 기하학적 파티션에 대한 공간적 및/또는 시간적 블록들의 위치는 파티션의 위치에 의존할 수 있다.
d. 일 예에서, 하나의 기하학적 파티션에 대한 공간적 및/또는 시간적 블록들의 위치는 구분 방식(상단-좌측에서 하단-우측(45도) 또는 상단-우측에서 하단-좌측(135도))에 의존할 수 있다.
e. 일 예에서, (도 13a 및 도 13b에 도시된 바와 같은) 135도 구분 패턴의 경우, PU1의 병합 리스트를 구성하기 위해 더 많은 상부 블록들이 검사될 수 있다. 상부 블록들(회색으로 표시됨)의 일부 예들이 도 29에 도시되어 있다.
f. 일 예에서, (도 13a 및 도 13b에 도시된 바와 같은) 135도 구분 패턴의 경우, PU2의 병합 리스트를 구성하기 위해 더 많은 좌측 블록들이 검사될 수 있다. 좌측 블록들(회색으로 표시됨)의 일부 예들이 도 29에 도시되어 있다.
g. 일 예에서, (도 13a 및 도 13b에 도시된 바와 같은) 45도 구분 패턴의 경우, PU1의 병합 리스트를 구성하기 위해 더 많은 좌측 블록들 및 상부 블록들이 검사될 수 있다. 좌측 및 상부 블록들(회색으로 표시됨)의 일부 예들이 도 29에 도시되어 있다.
h. 일 예에서, (도 13a 및 도 13b에 도시된 바와 같은) 45도 구분 패턴의 경우, PU2의 병합 리스트를 구성하기 위해 더 많은 시간적 블록들이 검사될 수 있다.
i. 일 예에서, 각각의 파티션에 대해 TPM 리스트의 인덱스가 시그널링된다.
10. 모든 파티션에 대해 다수의 TPM 리스트들이 구성되어 공유될 수 있고, 각각의 파티션은 그것들 중 하나를 선택할 수 있다(예를 들어, 각각의 파티션은 다수의 TPM 리스트들로부터 동일한 TPM 리스트를 선택할 수 있다).
a. 일 예에서, TPM 리스트의 인덱스가 먼저 시그널링될 수 있다. 이어서, TPM 후보들의 인덱스들이 추가로 시그널링될 수 있다.
b. 다른 예에서, TPM 리스트의 인덱스 및 TPM 후보들의 인덱스들은 공동으로 코딩될 수 있다.
최대 허용 TPM 후보들의 시그널링
11. 병합/ AMVP에 대한 최대 허용 TPM 후보들은 SPS/VPS/PPS/화상 헤더/슬라이스 헤더/타일 그룹 헤더/LCU 행/LCU들의 그룹에서 시그널링된다.
a. 대안적으로, 최대 허용 TPM 모션 후보들은 비-TPM 코딩된 블록들에 대해 사용된 것, 예를 들어, 비-TPM 병합 후보 리스트 크기, 또는 서브-블록 병합 후보 리스트 크기로 설정된다.
b. 최대 수는 시그널링될 때 단항 코딩(unary coding) 또는 절단된 단항 코딩(truncated unary coding)으로 이진화된다.
c. 최대 수를 직접 시그널링하는 대신에, (M-최대수)가 시그널링될 수 있으며, 예를 들어, M = 5 또는 6이다.
d. TPM 후보들의 최대 수가 정규 모션 후보들/서브-블록 모션 후보들에 대한 것과 동일한지를 지시하기 위해 1 비트 플래그가 시그널링될 수 있다.
가중 인자 그룹들
12. 가중 인자 그룹의 선택은 현재 블록의 폭 및/또는 높이에 의존할 수 있다.
a. 일 예에서, 폭과 높이 사이의 비율이 임계값보다 큰 경우, 특정 가중 인자 그룹(예를 들어, 그룹 1)이 선택될 수 있다.
b. 일 예에서, 높이와 폭 사이의 비율이 임계값보다 큰 경우, 특정 가중 인자 그룹(예를 들어, 그룹 1)이 선택될 수 있다.
c. 상이한 블록 폭 및/또는 높이에 대해, 가중 인자 그룹들의 다수의 세트들이 미리 정의될 수 있고, 이들 중 하나 또는 2개로부터 하나의 가중 인자 그룹이 선택될 수 있다.
13. 가중 인자들은 샘플의 위치에 기초하여 온-더-플라이(on-the-fly) 변경될 수 있다.
a. 일 예에서, 이는 2개의 파티션을 구별하는 에지의 각도에 의존할 수 있다.
b. 일 예에서, 가중 인자들은 샘플의 위치의 함수로서 정의될 수 있다.
c. 일 예에서, 하나의 TPM 코딩된 블록의 최종 예측 블록은 (f(x, y)*P1(x,y) + (2M - f(x,y))*P2(x,y) + offset) >> M으로 설정되고, 여기서 P1, P2는 (x, y)에 위치되는 샘플에 대한 2개의 예측 값이고, M은 정수 값이고, offset은 (1<<(M-1))로 설정될 수 있고, f(x, y)는 제1 예측 값에 적용되는 가중치들을 반환하는 함수이다.
14. 가중 영역에 위치한 블록들의 경우, 메모리 대역폭을 감소시키기 위해 4×4 레벨 대신에 8×8 레벨로 모션 보상이 수행된다.
a. 대안적으로, 가중 영역에 위치한 블록들의 경우, 메모리 대역폭을 감소시키기 위해 4×4 레벨 대신에 8×4 또는 4×8 레벨로 모션 보상이 수행된다.
b. 대안적으로, 8×4 또는 4×8 기반 모션 보상이 허용되는 경우, 8×4 또는 4×8의 선택은 다음의 것에 의존할 수 있다.
i. 블록 폭 및/또는 높이
ii. 구분 패턴(예를 들어, 45도 또는 135도).
모션 정보의 저장
15. TPM 코딩된 블록을 디코딩한 후에, 하나 또는 다수의 HMVP 테이블이 업데이트될 수 있다.
a. 일 예에서, 하나 또는 다수의 HMVP 테이블은 다른 파티션의 모션 정보를 제외한 하나의 파티션의 모션 정보에 따라 업데이트될 수 있다.
b. 일 예에서, 하나 또는 다수의 HMVP 테이블은 비-가중 영역을 제외한 가중 영역/또는 가중 영역을 제외한 비-가중 영역에 대한 저장된 모션 정보에 따라 업데이트될 수 있다.
c. 일 예에서, 하나 또는 다수의 HMVP 테이블은 TPM 코딩된 블록들의 모션 정보의 도출에 사용되는 병합 후보 리스트 내의 하나의 병합 후보에 따라 업데이트될 수 있다.
i. 일 예에서, 하나의 병합 후보는 디코딩된 병합 인덱스의 병합 인덱스(예를 들어, merge_triangle_idx0 또는 merge_triangle_idx1)와 연관된다.
ii. 일 예에서, 하나의 병합 후보는 k(예를 들어, k=0)와 동일한 병합 인덱스와 연관된다.
16. 하나의 파티션에 대한 삼각형 모션 정보의 도출 프로세스는, 예를 들어, 다른 파티션의 예측 방향에 따라, 다른 파티션으로부터의 디코딩된 모션 정보에 의존할 수 있다.
d. 일 예에서, merge_triangle_idx0과 동일한 인덱스를 갖는 하나의 디코딩된 후보의 LX로서 표시되는 제1 참조 화상 리스트가 (예를 들어, merge_triangle_idx0의 패리티 및 LX의 이용가능성에 따라) 선택된다고 가정한다. 제2 디코딩된 후보 인덱스의 패리티에 관계없이, 제2 후보의 LY(Y=1-X)로 표시된 제2 참조 화상 리스트와 연관된 모션 정보는 그것이 이용가능한 경우 삼각형 파티션에 대한 모션 정보로서 선택된다. 다음의 논의에서, 참조 화상 리스트 LX 또는 LY와 연관된 모션 정보는 LX 모션 정보 또는 LY 모션 정보로도 지칭될 수 있다.
i. 대안적으로, merge_triangle_idx1을 갖는 제2 후보의 LY(Y=1-X) 모션 정보가 이용가능하지 않으면, 제2 후보의 LX 모션 정보가 대신에 사용될 수 있다.
ii. 대안적으로, merge_triangle_idx1을 갖는 제2 후보의 LY(Y=1-X) 모션 정보가 이용가능하지 않으면, 제2 후보의 LX 모션 정보가 LY에 대한 모션 정보를 도출하기 위해 사용될 수 있다. 그리고 도출된 LY 모션 정보는 TPM 코딩에 사용될 수 있다.
1) 일 예에서, 도출 프로세스는 LX 내의 참조 화상을 참조하는 모션 벡터를 LY 내의 참조 화상으로 스케일링하는 것을 포함할 수 있다.
e. 일 예에서, merge_triangle_idx1과 동일한 인덱스를 갖는 하나의 디코딩된 후보의 LX로서 표시되는 제1 참조 화상 리스트가 (예를 들어, merge_triangle_idx1의 패리티 및 LX의 이용가능성에 따라) 선택된다고 가정한다. 제2 디코딩된 후보 인덱스의 패리티에 관계없이, LY(Y=1-X) 모션 정보는 그것이 이용가능한 경우 삼각형 파티션에 대한 모션 정보로서 선택된다.
i. 대안적으로, 또한, merge_triangle_idx0을 갖는 후보의 LY(Y=1-X) 모션 정보가 이용가능하지 않으면, LX 모션 정보가 대신에 사용될 수 있다.
ii. 대안적으로, 또한, merge_triangle_idx0을 갖는 후보의 LY(Y=1-X) 모션 정보가 이용가능하지 않으면, merge_triangle_idx0을 갖는 후보의 LX 모션 정보가 LY에 대한 모션 정보를 도출하기 위해 사용될 수 있다. 그리고 도출된 LY 모션 정보는 TPM 코딩에 사용될 수 있다.
1) 일 예에서, 도출 프로세스는 LX 내의 참조 화상을 참조하는 모션 벡터를 LY 내의 참조 화상으로 스케일링하는 것을 포함할 수 있다.
17. 다수의 삼각형 파티션에 대해 동일한 참조 화상 리스트로부터의 모션 정보를 사용하는 것은 허용되지 않는다.
f. 일 예에서, 적합성(conformance) 비트스트림은 2개의 삼각형 파티션이 상이한 참조 화상 리스트들로부터 예측된다는 것을 충족해야 한다.
g. 대안적으로, 병합 인덱스의 패리티로부터의 모션 정보의 도출 프로세스는, 예를 들어, 항목부호 15에 개시된 방법들을 사용하여, 2개의 파티션이 2개의 상이한 리스트로부터 예측되는 것을 항상 출력할 수 있다.
18. 모션 정보를 어떻게 저장할지 및/또는 가중 영역 및/또는 비-가중 영역에 대해 저장될 모션 정보를 어떻게 도출할지는 삼각형 파티션들에 대한 구분 방향 및/또는 디코딩된 병합 인덱스들, 및/또는 삼각형 파티션들에 대한 모션 정보의 도출에 이용되는 병합 후보 리스트들, 및/또는 참조 화상 리스트들 내의 참조 화상들(예를 들어, 모든 참조 화상은 현재 화상에 비해 더 작거나 더 크지 않은 POC 값들을 가짐)에 의존할 수 있다.
a. 일 예에서, 하나의 파티션에 대한 선택된 디코딩된 병합 인덱스와 연관된 병합 후보의 모션 정보가 저장될 수 있다.
i. 일 예에서, 선택된 디코딩된 병합 인덱스는 디코딩된 병합 후보 인덱스, 예를 들어, merge_triangle_idx0 또는 merge_triangle_idx1 중 하나로 설정될 수 있다.
ii. 일 예에서, 선택된 디코딩된 병합 인덱스는 변수 k로 설정된다.
1) 일 예에서, k는 0으로 설정된다.
2) 일 예에서, k번째 병합 후보의 모든 정보가 상속되고 저장될 수 있다.
3) 일 예에서, k번째 병합 후보의 부분적인 정보는 상속될 수 있고, 나머지 정보는 저장되기 전에 수정될 수 있다.
(a) 일 예에서, k번째 병합 후보의 일반화된-양방향 예측(Generalized-Bi prediction, GBi)에서 사용되는 가중 인자들의 지시는 상속되지 않을 수 있다. 대안적으로, 또한, TPM 저장된 모션 정보에 특정 GBi 가중 인덱스(예를 들어, 0)가 할당될 수 있다.
(b) 일 예에서, k번째 병합 후보의 모션 벡터 정밀도들의 지시가 상속되지 않을 수 있다.
iii. 대안적으로, 또한, 선택된 디코딩된 병합 인덱스는 구분 방향에 의존할 수 있다.
iv. 일 예에서, 선택된 디코딩된 병합 인덱스와 동일한 인덱스를 갖는 병합 후보가 양방향-예측이면, 양방향-예측 모션 정보가 저장될 수 있다.
v. 일 예에서, 선택된 디코딩된 병합 인덱스와 동일한 인덱스를 갖는 병합 후보가 단방향-예측이면, 단방향-예측 모션 정보가 저장될 수 있다.
1) 대안적으로, 양방향-예측 모션 정보가 저장될 수 있고, 저장된 모션 정보가 병합 후보로부터 도출될 수 있다.
vi. 대안적으로, 2개의 파티션에 대한 모션 정보에 관한 함수가 저장될 수 있다.
1) 예를 들어, 2개의 파티션에 대한 모션 벡터들의 평균이 저장될 수 있다.
b. 일 예에서, MvInfo1 및 MvInfo2가 2개의 파티션의 모션 정보를 지시한다고 가정하면, 가상 양방향-예측 모션 정보는 MvInfoA의 LX로부터 LY(Y=1-X)(A는 1 또는 2임)로 하나의 예측 방향을 수정함으로써 저장될 수 있다.
i. 일 예에서, MvInfoA의 모션 벡터들 및 참조 인덱스들은 변경되지 않은 채로 유지된다.
ii. 일 예에서, 또한, MvInfoA의 참조 인덱스는 변경되지 않은 채로 유지되고, MvInfoA의 모션 벡터들은 반대 값들로 설정된다.
iii. 가상 양방향-예측 모션 정보는 수정된 MvInfoA 및 수정되지 않은 MvInfoB(여기서 B=3-A)를 포함할 수 있다.
iv. 일 예에서, 이러한 수정은 MvInfo1과 MvInfo2 둘 다가 하나의 동일한 예측 방향으로부터의 것인 경우에만 적용될 수 있다.
c. 일 예에서, MvInfo1 및 MvInfo2가 2개의 파티션의 모션 정보를 지시한다고 가정하면, 모션 정보를 어떻게 저장할지는 모든 참조 화상이 현재 화상에 비해 더 작거나 더 크지 않은 POC 값들을 갖는지를 지시하는 낮은 지연 체크 플래그에 의존할 수 있다.
i. 일 예에서, 다음이 순서대로 적용된다:
MvInfo1 및 MvInfo2가 상이한 참조 화상 리스트들로부터의 것인 경우, MvInof0 및 MvInfo1은 조합되어 양방향-예측 모션 정보로서 저장될 수 있다.
ii. MvInfo1 및 MvInfo2가 동일한 LX(X=0 또는 1) 방향으로부터의 것인 경우, 다음이 적용될 수 있다:
낮은 지연 체크 플래그가 참이면(예를 들어, 모든 참조 화상들이 현재 화상에 비해 더 작거나 더 크지 않은 POC 값들을 가지면), MvInfoA(예를 들어, A=2)는 LX로부터 LY(Y=1-X)로 예측 방향 리스트를 설정함으로써 수정될 수 있고, 수정된 MvInfoA 및 수정되지 않은 MvInfoC(C=3-A)를 조합하여 가상 양방향-예측 모션 정보를 형성하고 저장한다.
그렇지 않으면, MvInfoB(예를 들어, B=2)가 저장된다. 즉, 단방향-예측 모션 정보가 저장된다.
iii. 일 예에서, MvInfo1은 도 13a의 PU1 및 도 13b의 PU1과 연관되고; MvInfo2는 도 13a의 PU2 및 도 13b의 PU2와 연관된다.
d. 일 예에서, 위의 방법은 하나의 블록 내의 특정 서브-블록들에 대한 모션 정보의 저장에 적용될 수 있다.
i. 일 예에서, 특정 서브-블록들은 가중 영역 내의 서브-블록들일 수 있다.
ii. 일 예에서, 특정 서브-블록들은 블록 내의 대각선 또는 반-대각선을 포함하는 서브-블록들일 수 있다.
iii. 일 예에서, 특정 서브-블록들은 블록의 우측-아래 코너에 있는 서브-블록들일 수 있다.
iv. 일 예에서, 특정 서브-블록들은 블록의 우측-열 또는 하단 행에 있는 서브-블록들일 수 있다.
v. 대안적으로, 위의 방법은 하나의 블록 내의 모든 서브-블록들에 대한 모션 정보의 저장에 적용될 수 있다.
19. TPM 모드의 경우, 블록 내의 서브-영역에 대한 모션 정보가 이 서브-영역의 재구성을 위한 모션 보상 프로세스에서 사용되는 것과 상이할 수 있는 것이 제안된다.
a. 일 예에서, 가중 영역에 위치한 M×N 서브-영역(예를 들어, 삼각형 예측 모드를 갖는 현재 코딩 단위에서 4×4)에 대해, 모션 보상은 양방향-예측으로서 행해질 수 있지만, 양방향-예측의 리스트 0 또는 리스트 1로부터의 모션 정보의 하나의 세트만이 저장될 수 있다.
i. 대안적으로, 가중 영역에 위치한 M×N 서브-영역(예를 들어, 삼각형 예측 모드를 갖는 현재 코딩 단위에서 4×4)에 대해, 모션 보상은 양방향-예측으로서 행해질 수 있지만, 리스트 X로부터의 단방향-예측 정보만이 저장될 수 있고 저장된 정보는 모션 보상된 프로세스에서 이용되는 리스트 X로부터의 모션 정보와 상이하다.
ii. 대안적으로, 가중 영역에 위치한 M×N 서브-영역(예를 들어, 삼각형 예측 모드를 갖는 현재 코딩 단위에서 4×4)에 대해, 모션 보상은 양방향-예측으로서 행해질 수 있지만, 모션 보상 프로세스에서 이용되는 것과 상이한 양방향-예측 정보(예를 들어, 상이한 MV들 및/또는 상이한 참조 화상들)가 저장될 수 있다.
b. 일 예에서, 비-가중 영역에 위치한 M×N 서브-영역(예를 들어, 삼각형 예측 모드를 갖는 현재 코딩 단위에서 4×4)에 대해, 모션 보상은 단방향-예측으로서 행해질 수 있지만, 양방향-예측 모션 정보가 저장될 수 있다.
i. 대안적으로, 비-가중 영역에 위치한 M×N 서브-영역(예를 들어, 삼각형 예측 모드를 갖는 현재 코딩 단위에서 4×4)에 대해, 모션 보상은 단방향-예측으로서 행해질 수 있지만, 단방향-예측 모션 정보가 저장될 수 있고 모션 보상 프로세스에서 이용되는 것과 상이할 수 있다.
c. 저장된 모션 정보는 다른 블록들을 (예를 들어, 이웃 블록들의 병합/AMVP 모드들에서의 공간적 모션 후보들로서) 코딩하기 위해 이용될 수 있다.
d. 저장된 모션 정보는 (예를 들어, 시간적 모션 벡터 후보를 도출하기 위해 사용되는) 상이한 화상들에서의 미래 블록들을 코딩하기 위해 이용될 수 있다.
e. 저장된 모션 정보는 디-블로킹(de-blocking) 또는 ALF와 같은 인-루프(in-loop) 처리에 이용될 수 있다.
f. 일 예에서, 블록 내의 제1 서브-영역에 대한 모션 정보는 제1 서브-영역의 재구성을 위한 모션 보상 프로세스에서 사용되는 것과 상이할 수 있고, 블록 내의 제2 서브-영역에 대한 모션 정보는 제2 서브-영역의 재구성을 위한 모션 보상 프로세스에서 사용되는 것과 동일할 수 있으며, 제1 서브-영역 및 제2 서브-영역은 삼각형 예측 모드를 갖는 동일한 코딩 단위에 있을 수 있다.
20. 가중 영역에 위치하는지 여부에 관계없이, 전체 블록에 대해 동일한 모션 정보 세트를 저장하는 것이 제안된다. MvInfo1 및 MvInfo2가 (예를 들어, 디코딩된/도출된 2개의 병합 후보 인덱스에 따라) 2개의 파티션의 모션 정보를 각각 지시한다고 가정한다.
a. 일 예에서, 단방향-예측 모션 정보(예를 들어, 2개의 파티션 중 하나로부터 상속되거나, 2개의 파티션의 모션 정보로부터 도출됨)가 저장될 수 있다.
i. 일 예에서, MvInfo1은 전체 블록에 대해 저장될 수 있다.
1. 일 예에서, MvInfo1은 블록 내의 모든 서브-영역들에 대해 저장될 수 있다.
ii. 일 예에서, MvInfo2는 전체 블록에 대해 저장될 수 있다.
1. 일 예에서, MvInfo1은 블록 내의 모든 서브-영역들에 대해 저장될 수 있다.
iii. 일 예에서, 어느 파티션의 모션 정보가 저장되는지는 현재 화상에 대한 POC 거리에 의존할 수 있다.
1. 예를 들어, MvInfo1은 MvInfo1에 의해 참조되는 참조 화상과 현재 화상 사이의 POC 거리의 절대값이 MvInfo2에 의해 참조되는 참조 화상과 현재 화상 사이의 그 값보다 작은 경우 저장될 수 있다.
iv. 일 예에서, 어느 파티션의 모션 정보가 저장되는지는 참조 화상들의 QP들에 의존할 수 있다.
1. 예를 들어, MvInfo1은 MvInfo1에 의해 참조되는 참조 화상의 QP가 MvInfo2에 의해 참조되는 참조 화상의 그 값보다 작은 경우 저장될 수 있다.
v. 일 예에서, 어느 파티션의 모션 정보가 저장되는지는 참조 화상들의 참조 인덱스들에 의존할 수 있다.
1. 예를 들어, MvInfo1은 MvInfo1에 의해 참조되는 참조 화상의 QP가 MvInfo2에 의해 참조되는 참조 화상의 그 값보다 작은 경우 저장될 수 있다.
2. 예를 들어, MvInfo1은 MvInfo1에 의해 참조되는 참조 화상의 참조 인덱스가 MvInfo2에 의해 참조되는 참조 화상의 그 값보다 작은 경우 저장될 수 있다.
vi. 일 예에서, 어느 파티션의 모션 정보가 저장되는지는 하나의 파티션과 연관된 병합 인덱스에 의존할 수 있다.
1. 예를 들어, MvInfo1은 MvInfo1이 도출되는 연관된 병합 인덱스가 MvInfo2가 도출되는 것보다 작은 경우 저장될 수 있다.
2. 예를 들어, merge_triangle_idx0으로부터 도출되는 모션 정보는 merge_triangle_idx0이 merge_triangle_idx1보다 작은 경우 저장될 수 있다.
vii. 일 예에서, MvInfo1 및 MvInfo2로부터 도출된 제3 모션 정보 세트(MvInfo3으로 표시됨)가 저장될 수 있다.
1. 일 예에서, MvInfo3의 MV는 MvInof1 및 MvInfo2의 2개의 MV의 평균으로서 도출될 수 있거나 또는 Mvnof1 및 MvInfo2의 하나의 MV와 다른 MV로부터의 스케일링되거나 맵핑된 모션 벡터가 평균화되어 MvInfo3의 MV를 생성할 수 있다.
2. 일 예에서, MvInfo3의 참조 화상은 MvInof1 및 MvInfo2의 2개의 참조 화상 중 하나일 수 있다.
viii. 일 예에서, MvInfoX(X는 0 또는 1임) 내의 하나의 모션 벡터는 MvInfoY(Y는 1-X임) 내의 참조 화상으로 스케일링될 수 있고, 이어서 그것은 저장될 모션 정보를 도출하는 데 사용될 수 있다.
1. 일 예에서, 스케일링된 MvInfo1 및 MvInfo2는 항목부호 vii에 특정된 바와 같이, 저장될 모션 정보를 도출하는 데 사용될 수 있다.
ix. 위의 방법들은 가중 영역들에 위치된 서브-영역들에만 적용가능할 수 있다.
1. 대안적으로, 위의 방법들은 비 가중 영역들에 위치된 서브-영역들에만 적용가능할 수 있다.
2. 대안적으로, 위의 방법들은 가중 영역들에 위치된 특정 서브-영역들에만 적용가능할 수 있다.
a. 예를 들어, 이들은 가중 영역들에 위치된 상단-우측 및/또는 하단-좌측 서브-영역들에 적용될 수 있다.
b. 예를 들어, 이들은 가중 영역들에 위치된 상단-좌측 및/또는 하단-우측 서브-영역들에 적용될 수 있다.
c. 어느 서브-영역들이 적용될지는 구분 방향에 의존할 수 있다.
b. 일 예에서, MvInfo1 및 MvInfo2로부터 양방향-예측 모션 벡터가 도출되어 저장된다.
i. MvInfo1 및 MvInfo2가 상이한 방향들(L0 또는 L1)로부터의 모션 벡터를 갖는 경우에, MvInfo1 및 MvInfo2는 간단히 조합되어 양방향-예측 모션 벡터를 형성한다.
ii. MvInfo1과 MvInfo2 둘 다가 동일한 LX(X=0 또는 1) 방향으로부터의 것인 경우에,
1. LX에 대해 저장된 MV는 MvInfo1 및 MvInfo2의 하나의 모션 벡터로부터 또는 이들의 2개의 모션 벡터로부터(예를 들어, 평균화를 통해) 도출될 수 있다.
2. MvInfo1 또는 MvInfo2의 참조 화상이 LY(Y=1-X)에 포함되는 경우, MvInfo1 및 MvInfo2는 간단히 조합되어 양방향-예측 모션 벡터를 형성하고, 예측 방향 중 하나는 LY로 설정된다.
3. 하나의 모션 벡터는 LY(Y=1-X)에서 참조 화상으로 스케일링될 수 있고, 스케일링된 MV뿐만 아니라 다른 MV가 조합되어 양방향-예측 모션 벡터를 형성한다. 일 예에서, 스케일링된 MV가 참조하는 LY 내의 타겟 참조 화상은 미리 정의될 수 있거나(예를 들어, 참조 화상 인덱스는 0임), 시그널링될 수 있다.
4. 하나의 모션 벡터는 LY(Y=1-X)에서 참조 화상으로 맵핑될 수 있고, 맵핑된 MV뿐만 아니라 다른 MV가 조합되어 양방향-예측 모션 벡터를 형성한다. 일 예에서, 맵핑된 MV가 참조하는 LY 내의 타겟 참조 화상은 미리 정의될 수 있거나(예를 들어, 참조 화상 인덱스는 0임), 시그널링될 수 있다. 일 예에서, 맵핑 프로세스는 스케일링 없이 행해질 수 있다. 예를 들어, 맵핑된 MV는 원래 MV와 동일하거나 반대일 수 있다.
i. 위의 방법들은 가중 영역들에 위치된 서브-영역들에만 적용가능할 수 있다.
1) 대안적으로, 위의 방법들은 비 가중 영역들에 위치된 서브-영역들에만 적용가능할 수 있다.
2) 대안적으로, 위의 방법들은 가중 영역들에 위치된 특정 서브-영역들에만 적용가능할 수 있다.
(a) 예를 들어, 이들은 가중 영역들에 위치된 상단-우측 및/또는 하단-좌측 서브-영역들에 적용될 수 있다.
(b) 예를 들어, 이들은 가중 영역들에 위치된 상단-좌측 및/또는 하단-우측 서브-영역들에 적용될 수 있다.
(c) 어느 서브-영역들이 적용될지는 구분 방향에 의존할 수 있다.
c. 단방향-예측 모션 정보를 저장할지 또는 양방향-예측 모션 정보를 저장할지는 2개의 파티션의 디코딩된 모션 정보에 의존할 수 있다.
i. 일 예에서, MvInfo1과 MvInfo2 둘 다가 동일한 LX 참조 리스트로부터의 것이면, 단방향-예측 모션 정보가 저장될 수 있다.
ii. 일 예에서, MvInfo1 및 MvInfo2가 상이한 참조 리스트들로부터의 것이면(하나는 L0으로부터 그리고 다른 하나는 L1로부터의 것이면), 양방향-예측 모션 정보가 저장될 수 있다.
iii. 일 예에서, MvInfo1과 MvInfo2 둘 다가 동일한 LX 참조 리스트로부터의 것이지만, MvInfo1 또는 MvInfo2에 의해 참조되는 참조 화상들 중 적어도 하나가 또한 다른 참조 리스트 LY(Y=1-X)에 있으면, 양방향-예측 모션 정보가 저장될 수 있다.
d. 대안적으로, 모션 정보의 저장은 하나의 서브-블록이 가중 영역에 위치하는지에 여전히 기초한다. 가중 영역에 위치된 것들에 대해, 저장된 모션 정보는 아래의 규칙들에 따라 도출된다:
i. 일 예에서, MvInfo1과 MvInfo2가 동일한 LX(X=0 또는 1) 방향으로부터의 것인 경우에,
1. MvInfo1 또는 MvInfo2 중 어느 하나의 참조 화상이 LY(Y=1-X)에 포함되는 경우, MvInfo1 및 MvInfo2는 간단히 조합되어 양방향-예측 모션 벡터를 형성하고, 예측 방향 중 하나는 LY로 설정된다.
2. 하나의 모션 벡터는 LY(Y=1-X)에서 참조 화상으로 스케일링될 수 있고, 스케일링된 MV뿐만 아니라 다른 MV가 조합되어 양방향-예측 모션 벡터를 형성한다. 일 예에서, 스케일링된 MV가 참조하는 LY 내의 타겟 참조 화상은 미리 정의될 수 있거나(예를 들어, 참조 화상 인덱스는 0임) 시그널링될 수 있다.
3. 하나의 모션 벡터는 LY(Y=1-X)에서 참조 화상으로 맵핑될 수 있고, 맵핑된 MV뿐만 아니라 다른 MV가 조합되어 양방향-예측 모션 벡터를 형성한다. 일 예에서, 맵핑된 MV가 참조하는 LY 내의 타겟 참조 화상은 미리 정의될 수 있거나(예를 들어, 참조 화상 인덱스는 0임) 시그널링될 수 있다. 일 예에서, 맵핑 프로세스는 스케일링 없이 행해질 수 있다. 예를 들어, 맵핑된 MV는 원래 MV와 동일하거나 반대일 수 있다.
ii. 일 예에서, MvInfo1과 MvInfo2가 동일한 LX(X=0 또는 1) 방향으로부터의 것인 경우, MvInfo1 또는 MvInfo2 중 어느 하나가 저장된다. 즉, 단방향-예측 모션 벡터가 저장된다.
iii. 일 예에서, MvInfo1 및 MvInfo2가 동일한 LX(X=0 또는 1) 방향으로부터의 것인 경우, 하나의 모션 벡터는 다른 모션 벡터의 참조 화상으로 스케일링될 수 있고, 스케일링된 모션 벡터 및 다른 모션 벡터의 평균 또는 가중 평균이 저장될 수 있다.
iv. 일 예에서, MvInfo1 및 MvInfo2가 동일한 LX(X=0 또는 1) 방향으로부터의 것이고 2개의 모션 벡터의 평균 또는 가중 평균이 저장될 수 있는 경우, 참조 화상은 MvInof1 및 MvInfo2의 2개의 참조 화상 중 하나일 수 있다.
v. 일 예에서, 전체 블록에 대한 저장된 모션 정보는 각각의 서브-블록 내의 모션 정보로부터 도출될 수 있다. 예를 들어, 전체 블록에 대한 저장된 MV를 도출하기 위해 모든 또는 일부 서브-블록들 내의 MV들이 가중 합산된다.
vi. 위의 예들의 경우, 상이한 서브-영역들은 상이한 모션 정보를 저장할 수 있다.
vii. 위의 예들의 경우, 가중 영역 내의 서브-영역은 단방향-예측 모션 정보 또는 양방향-예측 모션 정보를 저장할 수 있다.
e. 대안적으로, 모션 정보의 저장은 서브-블록들의 위치에 여전히 기초한다. 그러나, 각각의 서브-블록에 대해, 단방향-예측 모션 정보만이 저장될 수 있다.
i. 일 예에서, 가중 영역 내의 서브-영역의 모션 정보는 저장될 수 있는 MvInfo1 및/또는 MvInfo2로부터 상속되거나 도출될 수 있다.
f. 일 예에서, 저장된 모션 정보는 일부 모듈들에서만 사용된다.
i. 일 예에서, 저장된 모션 정보는 시간적 모션 예측에서 사용된다.
ii. 대안적으로, 그에 부가하여, 저장된 모션 정보는 공간적 모션 예측에서 사용된다.
iii. 대안적으로, 그에 부가하여, 저장된 모션 정보는 필터링(예를 들어, 디블로킹) 프로세스에서 사용된다.
g. 일 예에서, 저장된 모션 정보는 블록의 모션 보상 프로세스에서 사용될 수 있다.
h. 일 예에서, 하나 또는 다수의 HMVP 테이블은 저장된 모션 정보에 따라 업데이트될 수 있다.
21. 모션 정보의 저장은 M×N 블록 단위(여기서 M 및 N은 동시에 4와 같을 수 없음)에 기초한다는 것이 제안된다. 각각의 M×N 블록은 동일한 모션 정보를 공유한다.
a. 일 예에서, M 및 N은 8로 설정된다.
b. 일 예에서, M×N 블록의 경우, 그의 일부가 가중 영역에 속하고, 그의 일부가 비-가중 영역에 속하면, 이러한 블록은 모션 벡터 저장을 위한 가중 영역의 규칙을 따른다.
c. 대안적으로, M×N 블록의 경우, 그의 제1 부분이 가중 영역에 속하지만, 그의 제2 부분이 비-가중 영역에 속하면, 이러한 블록은 모션 정보를 저장하기 위해 비-가중 영역의 규칙을 따를 수 있다.
22. 하나의 동일한 참조 화상으로부터 예측될 2개의 파티션에 대한 TPM을 인에이블할지 또는 디스에이블할지는 2개의 파티션의 모션 벡터가 충분히 상이해야 하는 것과 같은 조건 하에 있을 수 있다.
a. 일 예에서, 2개의 파티션의 참조 샘플들은 중첩되지 않아야 한다.
b. 일 예에서, abs(MV0[0] - MV1[0])는 TH보다 작아야 하고, MV0 및 MV1은 2개의 파티션의 모션 벡터들이고, MVX[0] 및 MVX[1]은 각각 MVX의 수평 및 수직 성분이다. 함수 abs(x)는 x의 절대값을 반환한다.
c. 일 예에서, abs(MV0[1] - MV1[1])는 TH보다 작아야 한다.
d. 일 예에서, abs(MV0[0] - MV1[0]) + abs(MV0[1] - MV1[1])는 TH보다 작아야 한다.
e. 일 예에서, Max(abs(MV0[0] - MV1[0]), abs(MV0[1] - MV1[1]))는 TH보다 작아야 하고, 함수 Max(x, y)는 x 및 y 중 더 큰 것을 반환한다.
f. 적합성 비트스트림은 TPM이 블록에 대해 인에이블될 때 하나 이상의 전술한 항목부호가 참인 것을 충족해야 한다.
23. 개시된 방법들에서, 저장된 모션 정보는 현재 화상에서 또는 디코딩될 다른 화상들에서 후속하는 디코딩될 블록들의 모션 정보를 예측하기 위해 사용될 수 있다.
a. 저장된 모션 정보는 다음을 포함할 수 있다:
vii. 모션 벡터들
viii. 참조 인덱스들
ix. 단방향-예측 또는 양방향-예측의 지시
x. 인터-예측 방향의 지시
xi. 일반화된-양방향 예측(GBi)의 지시
xii. 모션 벡터 해상도
xiii. 아핀 예측의 지시
5. 개시된 기술의 예시적인 실시예들
5.1 실시예 #1
삼각형 병합 모드에 대한 모션 벡터 저장 프로세스
수평 및 수직 방향에서 현재 코딩 블록 내의 4×4 블록의 수를 특정하는 변수들 numSbX 및 numSbY는 numSbX = cbWidth >> 2 및 numSbY = cbHeight >> 2와 동일하게 설정된다.
여기서 cbWidth 및 cbHeight는 루마 샘플들에서 현재 코딩 블록의 폭 및 높이를 특정하고,
변수 minSb는 min(numSbX, numSbY)-1과 동일하게 설정된다.
변수 cbRatio는 다음과 같이 도출된다:
cbRatio = ( cbWidth > cbHeight ) ? ( cbWidth / cbHeight ) : ( cbHeight / cbWidth )
xSbIdx = 0..numSbX - 1 및 ySbIdx = 0..numSbY - 1인 서브블록 인덱스 (xSbIdx, ySbIdx)의 각각의 4×4 서브블록에 대해, 다음이 적용된다:
- 변수들 xIdx 및 yIdx는 다음과 같이 도출된다:
xIdx = ( cbWidth > cbHeight ) ? ( xSbIdx / cbRatio ) : xSbIdx
yIdx = ( cbWidth > cbHeight ) ? ySbIdx : ( ySbIdx / cbRatio )
- 변수 sType는 다음과 같이 도출된다:
- triangleDir이 0이면, 다음이 적용된다:
sType = ( xIdx = = yIdx ) ? 2 : ( ( xIdx > yIdx ) ? 0 : 1 )
- 그렇지 않으면(triangleDir이 1이면), 다음이 적용된다:
sType = ( xIdx + yIdx = = minSb ) ? 2 : ( ( xIdx + yIdx < minSb ) ? 0 : 1 )
여기서, triangleDir은 파티션 방향을 특정한다.
도 30a 내지 도 30c에 도시된 바와 같이, 0인 sType는 P1 영역에 대응하고; 1인 sType는 P2 영역에 대응하고; 2인 sType는 가중 영역에 대응한다.
P1 영역의 모션 정보는 (Mv1,refIdx1)로 표시되고; P2 영역의 모션 정보는 (Mv2,refIdx2)로 표시된다.
- sType의 값에 따라, 다음과 같은 할당이 이루어진다:
- sType가 0이면, 4×4 서브블록의 모션 정보는 (Mv1,refIdx1)이다.
- 그렇지 않고, sType가 1이거나 sType가 2이면 그리고 Mv1과 Mv2 둘 다가 동일한 참조 리스트로부터의 것이고 현재 블록이 역방향 참조 화상을 갖는 슬라이스에 위치하면(slice.getCheckLDC()가 거짓임), 4×4 서브블록의 모션 정보는 (Mv2,refIdx2)이다.
- 그렇지 않으면(sType가 2이면), 다음이 적용된다:
refIdxL0 = ( predListFlagA = = 0 ) ? refIdx1 : refIdx2
refIdxL1 = ( predListFlagA = = 0 ) ? refIdx2 : refIdx1
mvL0 = ( predListFlagA = = 0 ) ? Mv1 : Mv2
mvL1 = ( predListFlagA = = 0 ) ? Mv2 : Mv1
predListFlagA는 P1 영역의 예측 리스트 플래그이다.
5.2 실시예 #2
xSbIdx = 0..numSbX - 1 및 ySbIdx = 0..numSbY - 1인 서브블록 인덱스 (xSbIdx, ySbIdx)의 각각의 4×4 서브블록에 대해, 다음이 적용된다:
- sType의 값에 따라, 다음과 같은 할당이 이루어진다:
- sType가 0이면, 4×4 서브블록의 모션 정보는 (Mv1,refIdx1)이다.
- sType가 1이면, 4×4 서브블록의 모션 정보는 (Mv2,refIdx2)이다.
- 그렇지 않으면(sType가 2이면), 다음이 적용된다:
refIdxL0 = ( predListFlagA = = 0 ) ? refIdx1 : refIdx2
refIdxL1 = ( predListFlagA = = 0 ) ? refIdx2 : refIdx1
mvL0 = ( predListFlagA = = 0 ) ? Mv1 : Mv2
mvL1 = ( predListFlagA = = 0 ) ? Mv2 : Mv1
predListFlagA는 P1 영역의 예측 리스트 플래그이다.
5.3 실시예 #3
xSbIdx = 0..numSbX - 1 및 ySbIdx = 0..numSbY - 1인 서브블록 인덱스 (xSbIdx, ySbIdx)의 각각의 4×4 서브블록에 대해, 다음이 적용된다:
- sType의 값에 따라, 다음과 같은 할당이 이루어진다:
- sType가 0이면, 4×4 서브블록의 모션 정보는 (Mv1,refIdx1)이다.
- 그렇지 않고, sType가 1이거나 sType가 2이면 그리고 Mv1과 Mv2 둘 다가 동일한 참조 리스트로부터의 것이면, 4×4 서브블록의 모션 정보는 (Mv2,refIdx2)이다.
- 그렇지 않으면(sType가 2이면), 다음이 적용된다:
- Mv1 및 Mv2가 상이한 참조 리스트들로부터의 것이면
refIdxL0 = ( predListFlagA = = 0 ) ? refIdx1 : refIdx2
refIdxL1 = ( predListFlagA = = 0 ) ? refIdx2 : refIdx1
mvL0 = ( predListFlagA = = 0 ) ? Mv1 : Mv2
mvL1 = ( predListFlagA = = 0 ) ? Mv2 : Mv1
predListFlagA는 P1 영역의 예측 리스트 플래그이다.
5.4 실시예 #4
xSbIdx = 0..numSbX - 1 및 ySbIdx = 0..numSbY - 1인 서브블록 인덱스 (xSbIdx, ySbIdx)의 각각의 4×4 서브블록에 대해, 다음이 적용된다:
- sType의 값에 따라, 다음과 같은 할당이 이루어진다:
- sType가 0이거나 sType가 2이면 그리고 Mv1과 Mv2 둘 다가 동일한 참조 리스트로부터의 것이고 현재 블록이 역방향 참조 화상을 갖는 슬라이스에 위치하면(slice.getCheckLDC()가 거짓임), 4×4 서브블록의 모션 정보는 (Mv1,refIdx1)이다.
- sType가 1이면, 4×4 서브블록의 모션 정보는 (Mv2,refIdx2)이다.
- 그렇지 않으면(sType가 2이면), 다음이 적용된다:
refIdxL0 = ( predListFlagA = = 0 ) ? refIdx1 : refIdx2
refIdxL1 = ( predListFlagA = = 0 ) ? refIdx2 : refIdx1
mvL0 = ( predListFlagA = = 0 ) ? Mv1 : Mv2
mvL1 = ( predListFlagA = = 0 ) ? Mv2 : Mv1
predListFlagA는 P1 영역의 예측 리스트 플래그이다.
5.5 실시예 #5
xSbIdx = 0..numSbX - 1 및 ySbIdx = 0..numSbY - 1인 서브블록 인덱스 (xSbIdx, ySbIdx)의 각각의 4×4 서브블록에 대해, 다음이 적용된다:
- sType의 값에 따라, 다음과 같은 할당이 이루어진다:
- sType가 0이거나 sType가 2이면 그리고 Mv1과 Mv2 둘 다가 동일한 참조 리스트로부터의 것이면, 4×4 서브블록의 모션 정보는 (Mv1,refIdx1)이다.
- sType가 1이면, 4×4 서브블록의 모션 정보는 (Mv2,refIdx2)이다.
- 그렇지 않으면(sType가 2이면), 다음이 적용된다:
- Mv1 및 Mv2가 상이한 참조 리스트들로부터의 것이면
refIdxL0 = ( predListFlagA = = 0 ) ? refIdx1 : refIdx2
refIdxL1 = ( predListFlagA = = 0 ) ? refIdx2 : refIdx1
mvL0 = ( predListFlagA = = 0 ) ? Mv1 : Mv2
mvL1 = ( predListFlagA = = 0 ) ? Mv2 : Mv1
predListFlagA는 P1 영역의 예측 리스트 플래그이다.
5.6 실시예 #6
xSbIdx = 0..numSbX - 1 및 ySbIdx = 0..numSbY - 1인 서브블록 인덱스 (xSbIdx, ySbIdx)의 각각의 4×4 서브블록에 대해, 다음이 적용된다:
- sType의 값에 따라, 다음과 같은 할당이 이루어진다:
- sType가 0이면, 4×4 서브블록의 모션 정보는 (Mv1,refIdx1)이다.
- sType가 1이면, 4×4 서브블록의 모션 정보는 (Mv2,refIdx2)이다.
- 그렇지 않으면(sType가 2이면), 다음이 적용된다:
- Mv1 및 Mv2가 상이한 참조 리스트들로부터의 것이면
refIdxL0 = ( predListFlagA = = 0 ) ? refIdx1 : refIdx2
refIdxL1 = ( predListFlagA = = 0 ) ? refIdx2 : refIdx1
mvL0 = ( predListFlagA = = 0 ) ? Mv1 : Mv2
mvL1 = ( predListFlagA = = 0 ) ? Mv2 : Mv1
predListFlagA는 P1 영역의 예측 리스트 플래그이다.
- 그렇지 않으면, 4×4 서브블록의 모션 정보는 ((Mv1+Mv2)/2,refIdx1)이다.
5.7 실시예 #7
xSbIdx = 0..numSbX - 1 및 ySbIdx = 0..numSbY - 1인 서브블록 인덱스 (xSbIdx, ySbIdx)의 각각의 4×4 서브블록에 대해, 다음이 적용된다:
- sType의 값에 따라, 다음과 같은 할당이 이루어진다:
- sType가 0이면, 4×4 서브블록의 모션 정보는 (Mv1,refIdx1)이다.
- sType가 1이면, 4×4 서브블록의 모션 정보는 (Mv2,refIdx2)이다.
- 그렇지 않으면(sType가 2이면), 4×4 서브블록의 모션 정보는 merge_triangle_idx0에 대응하는 원래 병합 후보의 모션이다.
5.8 실시예 #8
xSbIdx = 0..numSbX - 1 및 ySbIdx = 0..numSbY - 1인 서브블록 인덱스 (xSbIdx, ySbIdx)의 각각의 4×4 서브블록에 대해, 다음이 적용된다:
- sType의 값에 따라, 다음과 같은 할당이 이루어진다:
- sType가 0이거나 sType가 2이면 그리고 Mv1과 Mv2 둘 다가 동일한 참조 리스트로부터의 것이고 triangleDir이 0이고 ySbIdx < numSbY - 1이면, 4×4 서브블록의 모션 정보는 (Mv1,refIdx1)이다.
- 그렇지 않고, sType가 1이거나 sType가 2이면 그리고 Mv1과 Mv2 둘 다가 동일한 참조 리스트로부터의 것이고 (triangleDir이 0이고 ySbIdx = numSbY - 1이거나 triangleDir이 1이면), 4×4 서브블록의 모션 정보는 (Mv2,refIdx2)이다.
- 그렇지 않으면(sType가 2이면), 다음이 적용된다:
- Mv1 및 Mv2가 상이한 참조 리스트들로부터의 것이면
refIdxL0 = ( predListFlagA = = 0 ) ? refIdx1 : refIdx2
refIdxL1 = ( predListFlagA = = 0 ) ? refIdx2 : refIdx1
mvL0 = ( predListFlagA = = 0 ) ? Mv1 : Mv2
mvL1 = ( predListFlagA = = 0 ) ? Mv2 : Mv1
predListFlagA는 P1 영역의 예측 리스트 플래그이다.
5.9 실시예 #9
xSbIdx = 0..numSbX - 1 및 ySbIdx = 0..numSbY - 1인 서브블록 인덱스 (xSbIdx, ySbIdx)의 각각의 4×4 서브블록에 대해, 다음이 적용된다:
- Mv1과 Mv2 둘 다가 동일한 참조 리스트로부터의 것이고 현재 블록이 역방향 참조 화상을 갖는 슬라이스에 위치하면(slice.getCheckLDC()가 거짓임), 4×4 서브블록의 모션 정보는 (Mv2,refIdx2)이다.
- 그렇지 않으면, 다음이 적용된다:
refIdxL0 = ( predListFlagA = = 0 ) ? refIdx1 : refIdx2
refIdxL1 = ( predListFlagA = = 0 ) ? refIdx2 : refIdx1
mvL0 = ( predListFlagA = = 0 ) ? Mv1 : Mv2
mvL1 = ( predListFlagA = = 0 ) ? Mv2 : Mv1
predListFlagA는 P1 영역의 예측 리스트 플래그이다.
5.10 실시예 #10
xSbIdx = 0..numSbX - 1 및 ySbIdx = 0..numSbY - 1인 서브블록 인덱스 (xSbIdx, ySbIdx)의 각각의 4×4 서브블록에 대해, 다음이 적용된다:
refIdxL0 = ( predListFlagA = = 0 ) ? refIdx1 : refIdx2
refIdxL1 = ( predListFlagA = = 0 ) ? refIdx2 : refIdx1
mvL0 = ( predListFlagA = = 0 ) ? Mv1 : Mv2
mvL1 = ( predListFlagA = = 0 ) ? Mv2 : Mv1
predListFlagA는 P1 영역의 예측 리스트 플래그이다.
5.11 실시예 #11
xSbIdx = 0..numSbX - 1 및 ySbIdx = 0..numSbY - 1인 서브블록 인덱스 (xSbIdx, ySbIdx)의 각각의 4×4 서브블록에 대해, 다음이 적용된다:
- Mv1과 Mv2 둘 다가 동일한 참조 리스트로부터의 것이면, 4×4 서브블록의 모션 정보는 (Mv2,refIdx2)이다.
- 그렇지 않으면, 다음이 적용된다:
refIdxL0 = ( predListFlagA = = 0 ) ? refIdx1 : refIdx2
refIdxL1 = ( predListFlagA = = 0 ) ? refIdx2 : refIdx1
mvL0 = ( predListFlagA = = 0 ) ? Mv1 : Mv2
mvL1 = ( predListFlagA = = 0 ) ? Mv2 : Mv1
predListFlagA는 P1 영역의 예측 리스트 플래그이다.
5.12 실시예 #12
xSbIdx = 0..numSbX - 1 및 ySbIdx = 0..numSbY - 1인 서브블록 인덱스 (xSbIdx, ySbIdx)의 각각의 4×4 서브블록에 대해, 다음이 적용된다:
- Mv1과 Mv2 둘 다가 동일한 참조 리스트로부터의 것이고 현재 블록이 역방향 참조 화상을 갖는 슬라이스에 위치하면(slice.getCheckLDC()가 거짓임), 4×4 서브블록의 모션 정보는 (Mv1,refIdx1)이다.
- 그렇지 않으면, 다음이 적용된다:
refIdxL0 = ( predListFlagA = = 0 ) ? refIdx1 : refIdx2
refIdxL1 = ( predListFlagA = = 0 ) ? refIdx2 : refIdx1
mvL0 = ( predListFlagA = = 0 ) ? Mv1 : Mv2
mvL1 = ( predListFlagA = = 0 ) ? Mv2 : Mv1
predListFlagA는 P1 영역의 예측 리스트 플래그이다.
5.13 실시예 #13
xSbIdx = 0..numSbX - 1 및 ySbIdx = 0..numSbY - 1인 서브블록 인덱스 (xSbIdx, ySbIdx)의 각각의 4×4 서브블록에 대해, 다음이 적용된다:
- Mv1과 Mv2 둘 다가 동일한 참조 리스트로부터의 것이면, 4×4 서브블록의 모션 정보는 (Mv1,refIdx1)이다.
- 그렇지 않으면, 다음이 적용된다:
- Mv1 및 Mv2가 상이한 참조 리스트들로부터의 것이면
refIdxL0 = ( predListFlagA = = 0 ) ? refIdx1 : refIdx2
refIdxL1 = ( predListFlagA = = 0 ) ? refIdx2 : refIdx1
mvL0 = ( predListFlagA = = 0 ) ? Mv1 : Mv2
mvL1 = ( predListFlagA = = 0 ) ? Mv2 : Mv1
predListFlagA는 P1 영역의 예측 리스트 플래그이다.
5.14 실시예 #14
xSbIdx = 0..numSbX - 1 및 ySbIdx = 0..numSbY - 1인 서브블록 인덱스 (xSbIdx, ySbIdx)의 각각의 4×4 서브블록에 대해, 다음이 적용된다:
- Mv1 및 Mv2가 상이한 참조 리스트들로부터의 것이면
refIdxL0 = ( predListFlagA = = 0 ) ? refIdx1 : refIdx2
refIdxL1 = ( predListFlagA = = 0 ) ? refIdx2 : refIdx1
mvL0 = ( predListFlagA = = 0 ) ? Mv1 : Mv2
mvL1 = ( predListFlagA = = 0 ) ? Mv2 : Mv1
predListFlagA는 P1 영역의 예측 리스트 플래그이다.
- 그렇지 않으면, 4×4 서브블록의 모션 정보는 ((Mv1+Mv2)/2,refIdx1)이다.
5.15 실시예 #15
xSbIdx = 0..numSbX - 1 및 ySbIdx = 0..numSbY - 1인 서브블록 인덱스 (xSbIdx, ySbIdx)의 각각의 4×4 서브블록에 대해, 4×4 서브블록의 모션 정보는 merge_triangle_idx0에 대응하는 원래 병합 후보의 모션이다.
5.16 실시예 #16
xSbIdx = 0..numSbX - 1 및 ySbIdx = 0..numSbY - 1인 서브블록 인덱스 (xSbIdx, ySbIdx)의 각각의 4×4 서브블록에 대해, 다음이 적용된다:
- Mv1과 Mv2 둘 다가 동일한 참조 리스트로부터의 것이고 triangleDir이 0이고 ySbIdx < numSbY - 1이면, 4×4 서브블록의 모션 정보는 (Mv1,refIdx1)이다.
- 그렇지 않고, Mv1과 Mv2 둘 다가 동일한 참조 리스트로부터의 것이고 (triangleDir이 0이고 ySbIdx = numSbY - 1이거나 triangleDir이 1이면), 4×4 서브블록의 모션 정보는 (Mv2,refIdx2)이다.
- 그렇지 않으면, 다음이 적용된다:
refIdxL0 = ( predListFlagA = = 0 ) ? refIdx1 : refIdx2
refIdxL1 = ( predListFlagA = = 0 ) ? refIdx2 : refIdx1
mvL0 = ( predListFlagA = = 0 ) ? Mv1 : Mv2
mvL1 = ( predListFlagA = = 0 ) ? Mv2 : Mv1
predListFlagA는 P1 영역의 예측 리스트 플래그이다.
도 31은 비디오 처리 방법(3100)에 대한 흐름도이다. 방법(3100)은, 동작(3102)에서, 우선순위 규칙에 기초하여, 비디오의 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 위한 모션 후보 리스트로의 모션 후보들의 삽입 순서에 관한 결정을 행하는 단계를 포함하고, 현재 블록은 기하학적 파티션 모드를 사용하여 코딩된다.
방법(3100)은, 동작(3104)에서, 결정 및 모션 후보 리스트에 기초하여, 변환을 수행하는 단계를 포함한다.
도 32는 비디오 처리 방법(3200)에 대한 흐름도이다. 방법(3200)은, 동작(3202)에서, 비디오의 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 위한 모션 후보 리스트에, 하나의 정규 모션 후보로부터 도출된 리스트 0 및 리스트 1로부터의 하나 이상의 평균화된 단방향-예측 모션 후보를 삽입하는 단계를 포함하고, 현재 블록은 기하학적 파티션 모드를 사용하여 코딩된다.
방법(3200)은, 동작(3204)에서, 모션 후보 리스트에 기초하여, 변환을 수행하는 단계를 포함한다.
도 33은 비디오 처리 방법(3300)에 대한 흐름도이다. 방법(3300)은, 동작(3302)에서, 비디오의 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 위한 모션 후보 리스트에, 단방향-예측을 갖는 정규 모션 후보들로부터 도출된 단방향-예측을 갖는 하나 이상의 평균화된 모션 후보를 삽입하는 단계를 포함하고, 현재 블록은 기하학적 파티션 모드를 사용하여 코딩된다.
방법(3300)은, 동작(3304)에서, 모션 후보 리스트에 기초하여, 변환을 수행하는 단계를 포함한다.
도 34는 비디오 처리 방법(3400)에 대한 흐름도이다. 방법(3400)은, 동작(3402)에서, 비디오의 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 위한 모션 후보 리스트에, 이용가능한 모션 후보들로부터 도출된 하나 이상의 가상 모션 후보를 삽입하는 단계를 포함하고, 현재 블록은 기하학적 파티션 모드를 사용하여 코딩된다.
방법(3400)은, 동작(3404)에서, 모션 후보 리스트에 기초하여, 변환을 수행하는 단계를 포함한다.
도 35는 비디오 처리 방법(3500)에 대한 흐름도이다. 방법(3500)은, 동작(3502)에서, 우선순위 규칙에 기초하여, 기하학적 파티션 모드를 사용하여 코딩된 비디오의 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 위한 모션 후보 리스트로의 모션 후보들의 삽입 순서에 관한 결정을 행하는 단계를 포함하고, 우선순위 규칙은 모션 후보들 중의 모션 후보가 도출되는 위치 또는 모션 후보와 연관된 하나 이상의 참조 화상 리스트에 기초한다.
방법(3500)은, 동작(3504)에서, 결정 및 모션 후보 리스트에 기초하여, 변환을 수행하는 단계를 포함한다.
도 36은 비디오 처리 방법(3600)에 대한 흐름도이다. 방법(3600)은, 동작(3602)에서, 우선순위 규칙에 기초하여, 비디오의 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 위한 모션 후보 리스트로의 모션 후보들의 삽입 순서에 관한 결정을 행하는 단계를 포함하고, 현재 블록은 기하학적 파티션 모드를 사용하여 코딩되고, 삽입 순서는 시퀀스에서 시퀀스로, 화상에서 화상으로, 슬라이스에서 슬라이스로, 타일 그룹에서 타일 그룹으로, 또는 현재 블록으로부터 비디오의 후속 블록으로 변경가능하다.
방법(3600)은, 동작(3604)에서, 결정 및 모션 후보 리스트에 기초하여, 변환을 수행하는 단계를 포함한다.
도 37은 비디오 처리 방법(3700)에 대한 흐름도이다. 방법(3700)은, 동작(3702)에서, 기하학적 파티션 모드를 사용하여 코딩된 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계를 포함한다.
방법(3700)은, 동작(3704)에서, 다수의 모션 후보 리스트들을 구성하는 단계를 포함하고, 각각의 모션 후보 리스트는 다수의 파티션들 각각에 대응한다.
방법(3700)은, 동작(3706)에서, 다수의 모션 후보 리스트들에 기초하여, 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
도 38은 비디오 처리 방법(3800)의 흐름도이다. 방법(3800)은, 동작(3802)에서, 기하학적 파티션 모드를 사용하여 코딩된 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계를 포함한다.
방법(3800)은, 동작(3804)에서, 다수의 모션 후보 리스트들을 구성하는 단계를 포함하고, 다수의 파티션들 각각은 다수의 모션 후보 리스트들 중 동일한 모션 후보 리스트를 선택하도록 구성된다.
방법(3800)은, 동작(3806)에서, 선택된 동일한 모션 후보 리스트에 기초하여, 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
도 39는 비디오 처리 방법(3900)에 대한 흐름도이다. 방법(3900)은, 동작(3902)에서, 비디오 단위 내의 비디오의 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 비트스트림 표현은 비디오 영역에서 인에이블되는 기하학적 파티션 모드에 대한 모션 후보 리스트 내의 허용된 모션 후보의 최대 수를 나타내는 필드를 포함한다.
도 40은 비디오 처리 방법(4000)에 대한 흐름도이다. 방법(4000)은, 동작(4002)에서, 기하학적 파티션 모드를 사용하여 다수의 파티션들로 파티셔닝되는 비디오의 현재 블록에 대해, 복수의 가중 인자 그룹들로부터 가중 인자 그룹을 선택하는 단계를 포함하고, 가중 인자 그룹은 현재 블록의 적어도 폭 또는 높이에 기초하여 선택된다.
방법(4000)은, 동작(4004)에서, 현재 블록과 비디오의 비트스트림 표현 사이의 변환의 일부로서, 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계를 따르는 샘플들에 가중 인자 그룹을 적용하는 단계를 포함한다.
도 41은 비디오 처리 방법(4100)에 대한 흐름도이다. 방법(4100)은, 동작(4102)에서, 기하학적 파티션 모드를 사용하여 다수의 파티션들로 파티셔닝되는 비디오의 현재 블록 내의 샘플에 대해, 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계의 각도에 기초하여 적어도 하나의 가중 인자를 결정하는 단계를 포함한다.
방법(4100)은, 동작(4104)에서, 적어도 하나의 가중 인자에 기초하여, 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
도 42는 비디오 처리 방법(4200)에 대한 흐름도이다. 방법(4200)은, 동작(4202)에서, 기하학적 파티션 모드를 사용하여 다수의 파티션들로 파티셔닝되는 비디오의 현재 블록에 대해, 4×4 샘플 크기와 상이한 샘플 크기를 갖는 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계를 따르는 샘플들에 모션 보상 프로세스를 수행하는 단계를 포함한다.
방법(4200)은, 동작(4204)에서, 모션 보상 프로세스에 기초하여, 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
도 43은 비디오 처리 방법(4300)에 대한 흐름도이다. 방법(4300)은, 동작(4302)에서, 기하학적 파티션 모드를 사용하여 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계를 포함한다.
방법(4300)은, 동작(4304)에서, 다수의 파티션들과 연관된 모션 정보로부터 도출되는 현재 블록 내의 K×L 영역에 대한 단일 모션 정보 세트를 저장하는 단계를 포함한다.
방법(4300)은, 동작(4306)에서, 다수의 파티션들 중 적어도 하나의 파티션과 연관된 적어도 하나의 모션 정보 세트를 사용하여, 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
도 44는 비디오 처리 방법(4400)에 대한 흐름도이다. 방법(4400)은, 동작(4402)에서, 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계를 포함한다.
방법(4400)은, 동작(4404)에서, 기하학적 파티션 모드를 사용하여 코딩된 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 현재 블록의 각각의 M×N 블록 단위에 대해 단일 모션 정보 세트가 저장되고, 단일 모션 정보 세트는 다수의 파티션들 각각과 연관된 모션 정보로부터 도출되고, M 또는 N은 4와 같지 않고, M×N 블록 단위의 각각의 샘플은 동일한 모션 정보를 공유한다.
도 45는 비디오 처리 방법(4500)에 대한 흐름도이다. 방법(4500)은, 동작(4502)에서, 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계를 포함한다.
방법(4500)은, 동작(4504)에서, 현재 블록과 비디오의 비트스트림 표현 사이의 변환의 일부로서, 현재 블록의 제1 서브-영역에 대해, 저장될 제1 서브-영역과 연관된 제2 모션 정보와 상이한 제1 모션 정보에 기초하여 모션 보상 프로세스를 수행하는 단계를 포함한다.
도 46은 비디오 처리 방법(4600)에 대한 흐름도이다. 방법(4600)은, 동작(4602)에서, 기하학적 파티션 모드를 사용하여 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계를 포함한다.
방법(4600)은, 동작(4604)에서, 다수의 파티션들과 연관된 구분 방향 또는 디코딩된 병합 인덱스들 또는 병합 후보 리스트들에 기초하여, 제1 샘플 세트 및 제2 샘플 세트에 대한 모션 정보를 저장하는 단계를 포함하고, 제1 샘플 세트는 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계 상에 있고, 제2 샘플 세트는 다수의 파티션들 중 적어도 2개의 파티션 중 하나의 파티션의 내부에 있다.
방법(4600)은, 동작(4606)에서, 저장된 모션 정보에 기초하여, 현재 블록과 비디오의 비트스트림 표현 사이의 변환 또는 비디오의 후속 블록들과 비트스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
도 47은 비디오 처리 방법(4700)에 대한 흐름도이다. 방법(4700)은, 동작(4702)에서, 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계를 포함한다.
방법(4700)은, 동작(4704)에서, 다수의 파티션들 중 적어도 2개의 파티션의 모션 정보에 기초한 가상 양방향-예측 모션 정보를 저장하는 단계를 포함한다.
방법(4700)은, 동작(4706)에서, 가상 양방향-예측 모션 정보에 기초하여, 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
도 48은 비디오 처리 방법(4800)에 대한 흐름도이다. 방법(4800)은, 동작(4802)에서, 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계를 포함한다.
방법(4800)은, 동작(4804)에서, 낮은 지연 체크 플래그에 기초하여, 다수의 파티션들 중 제1 파티션에 대한 모션 정보(MvInfo1) 및 다수의 파티션들 중 제2 파티션에 대한 모션 정보(MvInfo2)를 저장하는 단계를 포함하고, 낮은 지연 체크 플래그는 현재 블록을 포함하는 현재 화상의 화상 순서 카운트(POC) 값보다 크지 않은 POC 값들을 갖는 모든 참조 화상들을 나타낸다.
방법(4800)은, 동작(4806)에서, 저장된 모션 정보에 기초하여, 현재 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함한다.
일부 실시예들에서, 다음의 기술적 해결책들이 구현될 수 있다:
A1. 비디오 처리 방법으로서, 우선순위 규칙에 기초하여, 비디오의 현재 블록과 상기 비디오의 비트스트림 표현 사이의 변환을 위한 모션 후보 리스트로의 모션 후보들의 삽입 순서에 관한 결정을 행하는 단계 - 상기 현재 블록은 기하학적 파티션 모드를 사용하여 코딩됨 - ; 및 상기 결정 및 상기 모션 후보 리스트에 기초하여, 상기 변환을 수행하는 단계를 포함하는, 방법.
A2. 해결책 A1에 있어서, 상기 우선순위 규칙은 상기 모션 후보들 중 적어도 하나의 모션 후보의 예측 방향에 기초하는, 방법.
A3. 해결책 A2에 있어서, 상기 삽입 순서는 리스트 Y로부터의 단방향-예측을 갖는 임의의 정규 모션 후보들을 삽입하기 전에 리스트 X로부터의 단방향-예측을 갖는 정규 모션 후보들을 삽입하는 것을 포함하는, 방법.
A4. 해결책 A2에 있어서, 상기 삽입 순서는 단방향-예측을 갖는 임의의 모션 후보들을 삽입하기 전에 양방향-예측을 갖는 모션 후보들을 삽입하는 것을 포함하는, 방법.
A5. 해결책 A2에 있어서, 상기 삽입 순서는: 양방향-예측을 갖는 정규 모션 후보들로부터 도출된 리스트 X의 모션 후보들, 이어서 양방향-예측을 갖는 정규 모션 후보들로부터 도출된 리스트 X의 모션 후보들, 이어서 단방향-예측을 갖는 정규 모션 후보들로서 정의되고, X=0 또는 X=1인, 방법.
A6. 해결책 A2에 있어서, 상기 삽입 순서는 양방향-예측을 갖는 제2 정규 모션 후보로부터 도출된 모션 후보들을 삽입하기 전에 양방향-예측을 갖는 제1 정규 모션 후보로부터 도출된 모션 후보들을 삽입하는 것을 포함하고, 상기 현재 블록에 대한 상기 삽입 순서는 비-기하학적 파티션 모드(non-geometry partition mode)를 사용하여 코딩된 비디오의 블록에 대한 삽입 순서와 동일한, 방법.
A7. 해결책 A2에 있어서, 상기 삽입 순서는 양방향-예측을 갖는 제1 정규 모션 후보로부터 도출된 모션 후보들을 양방향-예측을 갖는 제2 정규 모션 후보로부터 도출된 모션 후보들과 인터리브 방식으로 삽입하는 것을 포함하는, 방법.
A8. 해결책 A7에 있어서, 상기 인터리브 방식은 CA로부터 도출된 절단된 리스트0-예측된 후보, CB로부터 도출된 절단된 리스트1-예측된 후보, CA로부터 도출된 절단된 리스트1-예측된 후보, 및 CB로부터 도출된 절단된 리스트0-예측된 후보를 삽입하는 것을 포함하고, CA 및 CB는 2개의 정규 모션 후보인, 방법.
A9. 해결책 A7에 있어서, 상기 인터리브 방식은 CA로부터 도출된 절단된 리스트1-예측된 후보, CB로부터 도출된 절단된 리스트0-예측된 후보, CA로부터 도출된 절단된 리스트0-예측된 후보, 및 CB로부터 도출된 절단된 리스트1-예측된 후보를 삽입하는 것을 포함하고, CA 및 CB는 2개의 정규 모션 후보인, 방법.
A10. 해결책 A1 내지 해결책 A9 중 어느 하나에 있어서, 상기 정규 모션 후보는 비-기하학적 파티션 모드를 사용하여 코딩된 비디오의 블록에 대해 도출된 모션 후보인, 방법.
A11. 해결책 A1에 있어서, 상기 우선순위 규칙은 정규 모션 후보들과 연관된 코딩된 모드 정보에 기초하는, 방법.
A12. 해결책 A11에 있어서, 상기 코딩된 모드 정보는 병합 모드 또는 AMVP(advanced motion vector prediction) 모드를 사용하여 코딩하는 것을 포함하는, 방법.
A13. 해결책 A12에 있어서, 상기 삽입 순서는 상기 병합 모드로 코딩된 블록으로부터 도출된 모션 후보들을 삽입하기 전에 상기 AMVP 모드로 코딩된 블록으로부터 도출된 모션 후보들을 삽입하는 것을 포함하는, 방법.
A14. 해결책 A12에 있어서, 상기 삽입 순서는 상기 AMVP 모드로 코딩된 블록으로부터 도출된 모션 후보들을 삽입하기 전에 상기 병합 모드로 코딩된 블록으로부터 도출된 모션 후보들을 삽입하는 것을 포함하는, 방법.
A15. 해결책 A11에 있어서, 상기 코딩된 모드 정보는 참조 인덱스 또는 화상 순서 카운트(POC) 차이를 포함하는, 방법.
A16. 해결책 A15에 있어서, 상기 삽입 순서는 제1 참조 인덱스보다 큰 제2 참조 인덱스와 연관된 모션 후보를 삽입하기 전에 상기 제1 참조 인덱스와 연관된 모션 후보를 삽입하는 것을 포함하는, 방법.
A17. 해결책 A15에 있어서, 상기 삽입 순서는 제1 POC 차이보다 큰 제2 POC 차이 참조 인덱스와 연관된 모션 후보를 삽입하기 전에 상기 제1 POC 차이와 연관된 모션 후보를 삽입하는 것을 포함하는, 방법.
A18. 해결책 A11에 있어서, 상기 코딩된 모드 정보는 상기 현재 블록을 포함하는 화상, 슬라이스 또는 타일 그룹과 연관된 참조 화상의 양자화 파라미터(QP) 또는 시간적 계층 인덱스를 포함하는, 방법.
A19. 해결책 A18에 있어서, 상기 삽입 순서는 제1 QP보다 큰 제2 QP와 연관된 모션 후보를 삽입하기 전에 상기 제1 QP와 연관된 모션 후보를 삽입하는 것을 포함하는, 방법.
A20. 해결책 A1에 있어서, 상기 삽입 순서는 절단된 리스트0-예측된 후보들 중 임의의 것 이전에 모든 절단된 리스트1-예측된 후보들을 삽입하는 것을 포함하는, 방법.
A21. 해결책 A1에 있어서, 상기 삽입 순서는 이용가능한 기하학적 모션 후보들에 기초하여 하나 이상의 절단된 리스트0-예측된 후보들 및 하나 이상의 절단된 리스트1-예측된 후보들을 삽입하는 것을 포함하는, 방법.
A22. 해결책 A1에 있어서, 상기 삽입 순서는 이용가능한 기하학적 모션 후보들에 기초하여 양방향-예측을 갖는 제2 모션 후보를 삽입하기 전에 양방향-예측을 갖는 제1 모션 후보를 삽입하는 것을 포함하는, 방법.
A23. 비디오 처리 방법으로서, 비디오의 현재 블록과 상기 비디오의 비트스트림 표현 사이의 변환을 위한 모션 후보 리스트에, 하나의 정규 모션 후보로부터 도출된 리스트 0 및 리스트 1로부터의 하나 이상의 평균화된 단방향-예측 모션 후보(averaged uni-prediction motion candidate)를 삽입하는 단계 - 상기 현재 블록은 기하학적 파티션 모드를 사용하여 코딩됨 - ; 및 상기 모션 후보 리스트에 기초하여, 상기 변환을 수행하는 단계를 포함하는, 방법.
A24. 해결책 A23에 있어서, 상기 모션 후보 리스트에 삽입하기 위해 상기 하나 이상의 평균화된 단방향-예측 모션 후보로부터 단일 평균화된 단방향-예측 모션 후보를 선택하는 단계를 추가로 포함하는, 방법.
A25. 해결책 A24에 있어서, 상기 선택하는 단계는 상기 모션 후보 리스트 내의 이용가능한 기하학적 모션 후보들에 기초하는, 방법.
A26. 해결책 A24에 있어서, 상기 선택하는 단계는 리스트 0 및 리스트 1의 참조 화상 인덱스들에 기초하는, 방법.
A27. 해결책 A24에 있어서, 상기 선택하는 단계는 리스트 0 및 리스트 1에 대한 현재 화상과 참조 화상 사이의 화상 순서 카운트(POC) 거리에 기초하는, 방법.
A28. 해결책 A23에 있어서, 리스트 0으로부터의 모든 평균화된 단방향-예측 모션 후보들은 리스트 1로부터의 임의의 평균화된 단방향-예측 모션 후보들이 삽입되기 전에 삽입되는, 방법.
A29. 해결책 A23에 있어서, 리스트 1로부터의 모든 평균화된 단방향-예측 모션 후보들은 리스트 0으로부터의 임의의 평균화된 단방향-예측 모션 후보들이 삽입되기 전에 삽입되는, 방법.
A30. 비디오 처리 방법으로서, 비디오의 현재 블록과 상기 비디오의 비트스트림 표현 사이의 변환을 위한 모션 후보 리스트에, 단방향-예측을 갖는 정규 모션 후보들로부터 도출된 단방향-예측을 갖는 하나 이상의 평균화된 모션 후보를 삽입하는 단계 - 상기 현재 블록은 기하학적 파티션 모드를 사용하여 코딩됨 - ; 및 상기 모션 후보 리스트에 기초하여, 상기 변환을 수행하는 단계를 포함하는, 방법.
A31. 해결책 A30에 있어서, 리스트 LX로부터의 단방향-예측을 갖는 평균화된 모션 후보가 리스트 LX로부터의 단방향-예측을 갖는 정규 모션 후보로부터 도출되고, X=0 또는 X=1인, 방법.
A32. 해결책 A30에 있어서, 리스트 LY로부터의 단방향-예측을 갖는 평균화된 모션 후보가 스케일링된 정규 모션 후보로부터 도출되고, 리스트 LX로부터의 정규 모션 후보가 리스트 LY로 스케일링되어 상기 스케일링된 정규 모션 후보를 생성하고, X=0 또는 X=1이고, Y=1-X인, 방법.
A33. 비디오 처리 방법으로서, 비디오의 현재 블록과 상기 비디오의 비트스트림 표현 사이의 변환을 위한 모션 후보 리스트에, 이용가능한 모션 후보들로부터 도출된 하나 이상의 가상 모션 후보를 삽입하는 단계 - 상기 현재 블록은 기하학적 파티션 모드를 사용하여 코딩됨 - ; 및 상기 모션 후보 리스트에 기초하여, 상기 변환을 수행하는 단계를 포함하는, 방법.
A34. 해결책 A33에 있어서, 상기 하나 이상의 가상 모션 후보는 먼저 상기 모션 후보 리스트 내의 모션 후보들의 절단된 리스트를 생성함으로써 도출되는, 방법.
A35. 해결책 A33에 있어서, 상기 하나 이상의 가상 모션 후보는 단방향-예측을 갖는 모션 후보들에만 기초하여 도출되는, 방법.
A36. 해결책 A33에 있어서, 상기 하나 이상의 가상 모션 후보는 단방향-예측을 갖는 모션 후보들 및 리스트 1로부터 예측된 모션 후보들의 절단된 리스트에만 기초하여 도출되는, 방법.
A37. 해결책 A33에 있어서, 상기 하나 이상의 가상 모션 후보는 미리 결정된 참조 화상 인덱스를 갖거나 특정 범위 내의 화상 순서 카운트(POC) 거리를 갖는 모션 후보들에 기초하여 도출되는, 방법.
A38. 해결책 A33에 있어서, 상기 하나 이상의 가상 모션 후보는 가지치기 동작의 적용 없이 도출되는, 방법.
A39. 해결책 A1 내지 해결책 A38 중 어느 하나에 있어서, 상기 현재 블록은 구분 패턴에 기초하여 다수의 파티션들로 구분되는, 방법.
A40. 해결책 A1 내지 해결책 A39 중 어느 하나에 있어서, 상기 다수의 파티션들 중 적어도 하나의 파티션은 비-정사각형 및 비-직사각형인, 방법.
A41. 해결책 A1 내지 해결책 A39 중 어느 하나에 있어서, 상기 기하학적 파티션 모드는 삼각형 파티셔닝 모드를 포함하는, 방법.
A42. 해결책 A1 내지 해결책 A41 중 어느 하나에 있어서, 상기 변환은 상기 비트스트림 표현으로부터 상기 현재 블록을 생성하는, 방법.
A43. 해결책 A1 내지 해결책 A41 중 어느 하나에 있어서, 상기 변환은 상기 현재 블록으로부터 상기 비트스트림 표현을 생성하는, 방법.
A44. 프로세서 및 명령어들을 갖는 비일시적 메모리를 포함하는 비디오 시스템 내의 장치로서, 상기 명령어들은 상기 프로세서에 의한 실행 시에 상기 프로세서로 하여금 해결책 A1 내지 해결책 A43 중 어느 하나의 방법을 구현하게 하는, 장치.
A45. 비일시적 컴퓨터 판독가능 매체 상에 저장되는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 해결책 A1 내지 해결책 A43 중 어느 하나의 방법을 수행하기 위한 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
일부 실시예들에서, 다음의 기술적 해결책들이 구현될 수 있다:
B1. 비디오 처리 방법으로서, 우선순위 규칙에 기초하여, 기하학적 파티션 모드를 사용하여 코딩된 비디오의 현재 블록과 상기 비디오의 비트스트림 표현 사이의 변환을 위한 모션 후보 리스트로의 모션 후보들의 삽입 순서에 관한 결정을 행하는 단계 - 상기 우선순위 규칙은 상기 모션 후보들 중의 모션 후보가 도출되는 위치 또는 상기 모션 후보와 연관된 하나 이상의 참조 화상 리스트에 기초함 - ; 및 상기 결정 및 상기 모션 후보 리스트에 기초하여, 상기 변환을 수행하는 단계를 포함하는, 방법.
B2. 해결책 B1에 있어서, 제1 모션 후보 CA가 블록 A로부터 도출되고, 제2 모션 후보 CB가 블록 B로부터 도출되고, 블록 B가 블록 A 이후에 검사된다는 결정 시에, 상기 삽입 순서는 CA로부터 도출된 모션 후보들을 상기 모션 후보 리스트에 삽입한 후에 CB로부터 도출된 모션 후보들을 삽입하는 것을 포함하는, 방법.
B3. 해결책 B2에 있어서, 정규 모션 후보 리스트의 구성 프로세스에서 블록 A 이후에 블록 B를 검사하는 단계를 추가로 포함하는, 방법.
B4. 해결책 B2에 있어서, 상기 삽입 순서는 CA로부터 도출된 리스트 X로부터의 예측을 갖는 모션 후보들을 삽입한 후에 CB로부터 도출된 리스트 X로부터의 예측을 갖는 모션 후보들을 삽입하는 것을 추가로 포함하고, X=0 또는 X=1인, 방법.
B5. 해결책 B2에 있어서, 상기 삽입 순서는 CA로부터 도출된 리스트 Y로부터의 예측을 갖는 모션 후보들을 삽입한 후에 CB로부터 도출된 리스트 Y로부터의 예측을 갖는 모션 후보들을 삽입하는 것을 추가로 포함하고, X=0 또는 X=1이고, Y=(1-X)인, 방법.
B6. 해결책 B2에 있어서, 상기 삽입 순서는 CA로부터 도출된 리스트 Y로부터의 예측을 갖는 모션 후보들을 삽입한 후에 CB로부터 도출된 리스트 X로부터의 예측을 갖는 모션 후보들을 삽입하는 것을 추가로 포함하고, X=0 또는 X=1이고, Y=(1-X)인, 방법.
B7. 해결책 B1 내지 해결책 B6 중 어느 하나에 있어서, 상기 현재 블록은 구분 패턴에 기초하여 다수의 파티션들로 파티셔닝되는, 방법.
B8. 해결책 B1 내지 해결책 B6 중 어느 하나에 있어서, 상기 기하학적 파티션 모드는 삼각형 파티셔닝 모드를 포함하는, 방법.
B9. 해결책 B1 내지 해결책 B6 중 어느 하나에 있어서, 상기 현재 블록은 적어도 하나의 파티션이 비-정사각형 및 비-직사각형인 다수의 파티션들로 파티셔닝되는, 방법.
B10. 해결책 B1 내지 해결책 B9 중 어느 하나에 있어서, 상기 변환은 상기 비트스트림 표현으로부터 상기 현재 블록을 생성하는, 방법.
B11. 해결책 B1 내지 해결책 B9 중 어느 하나에 있어서, 상기 변환은 상기 현재 블록으로부터 상기 비트스트림 표현을 생성하는, 방법.
B12. 프로세서 및 명령어들을 갖는 비일시적 메모리를 포함하는 비디오 시스템 내의 장치로서, 상기 명령어들은 상기 프로세서에 의한 실행 시에 상기 프로세서로 하여금 해결책 B1 내지 해결책 B11 중 어느 하나의 방법을 구현하게 하는, 장치.
B13. 비일시적 컴퓨터 판독가능 매체 상에 저장되는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 해결책 B1 내지 해결책 B11 중 어느 하나의 방법을 수행하기 위한 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
일부 실시예들에서, 다음의 기술적 해결책들이 구현될 수 있다:
C1. 비디오 처리 방법으로서, 우선순위 규칙에 기초하여, 비디오의 현재 블록과 상기 비디오의 비트스트림 표현 사이의 변환을 위한 모션 후보 리스트로의 모션 후보들의 삽입 순서에 관한 결정을 행하는 단계 - 상기 현재 블록은 기하학적 파티션 모드를 사용하여 코딩되고, 상기 삽입 순서는 시퀀스에서 시퀀스로, 화상에서 화상으로, 슬라이스에서 슬라이스로, 타일 그룹에서 타일 그룹으로, 또는 상기 현재 블록으로부터 상기 비디오의 후속 블록으로 변경가능함 - ; 및 상기 결정 및 상기 모션 후보 리스트에 기초하여, 상기 변환을 수행하는 단계를 포함하는, 방법.
C2. 해결책 C1에 있어서, 상기 삽입 순서는 상기 현재 블록, 또는 상기 현재 블록을 포함하는 시퀀스, 화상, 슬라이스 또는 타일 그룹에 기초하는, 방법.
C3. 해결책 C2에 있어서, 상기 우선순위 규칙은 상기 현재 블록의 크기, 형상 또는 구분 패턴 중 적어도 하나에 기초하는, 방법.
C4. 해결책 C1 내지 해결책 C3 중 어느 하나에 있어서, 상기 삽입 순서는 상기 비트스트림 표현의 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 화상 파라미터 세트(PPS), 슬라이스 헤더, 타일 그룹 헤더, 타일, 코딩 트리 단위(CTU) 또는 코딩 단위(CU)에서 인코더로부터 디코더로 시그널링되는, 방법.
C5. 비디오 처리 방법으로서, 기하학적 파티션 모드를 사용하여 코딩된 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계; 다수의 모션 후보 리스트들을 구성하는 단계 - 각각의 모션 후보 리스트는 상기 다수의 파티션들 각각에 대응함 - ; 및 상기 다수의 모션 후보 리스트들에 기초하여, 상기 현재 블록과 상기 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하는, 방법.
C6. 해결책 C5에 있어서, 상기 다수의 파티션들 중 제1 파티션에 대한 상기 다수의 모션 후보 리스트들 중 제1 모션 후보 리스트는 리스트 X로부터 예측된 모션 후보들만을 포함하고, 상기 다수의 파티션들 중 제2 파티션에 대한 상기 다수의 모션 후보 리스트들 중 제2 모션 후보 리스트는 리스트 Y로부터 예측된 모션 후보들만을 포함하고, X=0 또는 X=1이고, Y=(1-X)인, 방법.
C7. 해결책 C5에 있어서, 상기 다수의 모션 후보 리스트들에 삽입되는 하나 이상의 모션 후보는 상이한 공간적 또는 시간적 블록들과 연관된 모션 정보에 기초하는, 방법.
C8. 해결책 C7에 있어서, 상기 다수의 파티션들 중 제1 파티션에 대한 상기 하나 이상의 모션 후보를 도출하는 데 사용되는 상기 상이한 공간적 또는 시간적 블록들의 위치는 상기 현재 블록 내의 상기 다수의 파티션들 중 상기 제1 파티션 또는 제2 파티션의 위치에 기초하는, 방법.
C9. 해결책 C7에 있어서, 상기 다수의 파티션들 중 제1 파티션 또는 제2 파티션에 대한 상기 하나 이상의 모션 후보를 도출하는 데 사용되는 상기 상이한 공간적 또는 시간적 블록들의 위치는 상기 현재 블록의 구분 패턴에 기초하는, 방법.
C10. 해결책 C9에 있어서, 상기 구분 패턴은 45도 구분 패턴 또는 135도 구분 패턴으로 각각 나타내는 상단-우측 코너로부터 하단-좌측 코너로 또는 상단-좌측 코너로부터 하단-우측 코너로 구분하는 것을 포함하는, 방법.
C11. 해결책 C10에 있어서, 상기 구분 패턴은 상기 135도 구분 패턴을 포함하고, 상기 방법은: 상기 현재 블록의 상단-우측 코너를 포함하는 파티션에 대해 더 많은 상부 블록들을 검사하는 단계를 추가로 포함하는, 방법.
C12. 해결책 C10에 있어서, 상기 구분 패턴은 상기 135도 구분 패턴을 포함하고, 상기 방법은: 상기 현재 블록의 하단-좌측 코너를 포함하는 파티션에 대해 더 많은 좌측 블록들을 검사하는 단계를 추가로 포함하는, 방법.
C13. 해결책 C5에 있어서, 상기 다수의 파티션들에 대응하는 상기 다수의 모션 후보 리스트들 각각에 대한 인덱스가 시그널링되는, 방법.
C14. 해결책 C5에 있어서, 상기 다수의 모션 후보 리스트들 각각에 대한 인덱스를 포함하는 상기 비트스트림 표현은 상기 변환을 위해 파싱되는, 방법.
C15. 비디오 처리 방법으로서, 기하학적 파티션 모드를 사용하여 코딩된 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계; 다수의 모션 후보 리스트들을 구성하는 단계 - 상기 다수의 파티션들 각각은 상기 다수의 모션 후보 리스트들 중 동일한 모션 후보 리스트를 선택하도록 구성됨 - ; 및 상기 선택된 동일한 모션 후보 리스트에 기초하여, 상기 현재 블록과 상기 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하는, 방법.
C16. 해결책 C15에 있어서, 상기 비트스트림 표현은 상기 다수의 모션 후보 리스트들 중 제1 모션 후보 리스트의 인덱스를 포함하는, 방법.
C17. 해결책 C16에 있어서, 상기 비트스트림 표현은 상기 제1 모션 후보 리스트로부터의 모션 후보들의 인덱스들을 추가로 포함하고, 상기 모션 후보의 인덱스들은 상기 제1 모션 후보 리스트의 인덱스에 후속하여 시그널링되는, 방법.
C18. 해결책 C16에 있어서, 상기 비트스트림 표현은 상기 제1 모션 후보 리스트의 인덱스에 후속하는 상기 제1 모션 후보 리스트로부터의 모션 후보들의 인덱스들을 추가로 포함하고, 상기 비트스트림 표현은 상기 변환을 위해 파싱되는, 방법.
C19. 해결책 C15에 있어서, 상기 제1 모션 후보 리스트의 인덱스는 상기 비트스트림 표현에서의 상기 제1 모션 후보 리스트로부터의 모션 후보들의 인덱스들과 공동으로 코딩되는, 방법.
C20. 해결책 C15에 있어서, 상기 제1 모션 후보 리스트로부터의 모션 후보들의 인덱스들과 공동으로 코딩된 상기 제1 모션 후보 리스트의 인덱스를 포함하는 상기 비트스트림 표현은 상기 변환을 위해 파싱되는, 방법.
C21. 해결책 C1 내지 해결책 C20 중 어느 하나에 있어서, 상기 현재 블록은 적어도 구분 패턴에 기초하여 다수의 파티션들로 구분되는, 방법.
C22. 해결책 C1 내지 해결책 C21 중 어느 하나에 있어서, 상기 기하학적 파티션 모드는 삼각형 파티셔닝 모드를 포함하는, 방법.
C23. 해결책 C1 내지 해결책 C21 중 어느 하나에 있어서, 상기 현재 블록은 적어도 하나의 파티션이 비-정사각형 및 비-직사각형인 다수의 파티션들로 구분되는, 방법.
C24. 해결책 C1 내지 해결책 C23 중 어느 하나에 있어서, 상기 변환은 상기 비트스트림 표현으로부터 상기 현재 블록을 생성하는, 방법.
C25. 해결책 C1 내지 해결책 C23 중 어느 하나에 있어서, 상기 변환은 상기 현재 블록으로부터 상기 비트스트림 표현을 생성하는, 방법.
C26. 프로세서 및 명령어들을 갖는 비일시적 메모리를 포함하는 비디오 시스템 내의 장치로서, 상기 명령어들은 상기 프로세서에 의한 실행 시에 상기 프로세서로 하여금 해결책 C1 내지 해결책 C25 중 어느 하나의 방법을 구현하게 하는, 장치.
C27. 비일시적 컴퓨터 판독가능 매체 상에 저장되는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 해결책 C1 내지 해결책 C25 중 어느 하나의 방법을 수행하기 위한 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
일부 실시예들에서, 다음의 기술적 해결책들이 구현될 수 있다:
D1. 비디오 처리 방법으로서, 비디오 단위 내의 비디오의 현재 블록과 상기 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 비트스트림 표현은 상기 비디오 영역에서 인에이블되는 기하학적 파티션 모드에 대한 모션 후보 리스트 내의 허용된 모션 후보의 최대 수를 나타내는 필드를 포함하는, 방법.
D2. 해결책 D1에 있어서, 상기 필드는 상기 비트스트림 표현에서의 허용된 모션 후보들의 최대 수의 지시의 명시적 시그널링을 포함하는, 방법.
D3. 해결책 D1에 있어서, 상기 필드는 허용된 모션 후보들의 최대 수가 비-기하학적 파티션 모드를 사용하여 코딩되는 다른 블록에 대한 모션 후보 리스트 내의 허용된 모션 후보들의 최대 수와 같다는 것을 암시적으로 지시하는, 방법.
D4. 해결책 D1 내지 해결책 D3 중 어느 하나에 있어서, 상기 현재 블록은 병합 모드 또는 AMVP(advanced motion vector prediction) 모드를 사용하여 추가로 코딩되는, 방법.
D5. 해결책 D1 내지 해결책 D3 중 어느 하나에 있어서, 상기 비디오 단위는 시퀀스, 비디오, 화상, 슬라이스, 타일 그룹, 최대 코딩 단위(largest coding unit, LCU) 행, 또는 최대 코딩 단위(LCU)들의 그룹을 포함하는, 방법.
D6. 해결책 D1 내지 해결책 D3 중 어느 하나에 있어서, 상기 필드 내의 허용된 모션 후보들의 최대 수의 지시는 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 화상 파라미터 세트(PPS), 화상 헤더, 슬라이스 헤더, 타일 그룹 헤더, 최대 코딩 단위(LCU) 행 또는 최대 코딩 단위(LCU)들의 그룹에서 시그널링되는, 방법.
D7. 해결책 D1 내지 해결책 D6 중 어느 하나에 있어서, 상기 필드 내의 허용된 모션 후보들의 최대 수의 지시는 단항 코딩 또는 절단된 단항 코딩으로 이진화되는, 방법.
D8. 해결책 D2에 있어서, 상기 필드 내의 허용된 모션 후보들의 최대 수의 지시를 명시적으로 시그널링하는 것은 상기 허용된 모션 후보들의 최대 수와 M 사이의 차이를 시그널링하는 것을 포함하고, M은 정수인, 방법.
D9. 해결책 D8에 있어서, 상기 기하학적 파티션 모드를 사용하여 코딩된 블록에 대한 허용된 모션 후보들의 최대 수는 M 마이너스 파싱된 지시자(parsed indicator)로 설정되는, 방법.
D10. 해결책 D8 또는 해결책 D9에 있어서, M=5 또는 M=6인, 방법.
D11. 해결책 D1 내지 해결책 D8 중 어느 하나에 있어서, 상기 필드 내의 허용된 모션 후보들의 최대 수의 지시를 포함하는 상기 비트스트림 표현은 상기 변환을 위해 파싱되는, 방법.
D12. 해결책 D1에 있어서, 상기 비트스트림 표현은 상기 기하학적 파티션 모드를 사용하여 코딩된 상기 비디오의 블록들에 대한 허용된 모션 후보들의 최대 수가 허용된 정규 모션 후보들 또는 서브-블록 모션 후보들의 최대 수와 동일하다는 것을 지시하는 1 비트 플래그를 포함하는, 방법.
D13. 해결책 D12에 있어서, 상기 1 비트 플래그를 포함하는 상기 비트스트림 표현은 상기 변환을 위해 파싱되는, 방법.
D14. 해결책 D1 내지 해결책 D13 중 어느 하나에 있어서, 상기 현재 블록은 구분 패턴에 따라 다수의 파티션들로 구분되는, 방법.
D15. 해결책 D1 내지 해결책 D14 중 어느 하나에 있어서, 상기 기하학적 파티션 모드는 삼각형 파티셔닝 모드를 포함하는, 방법.
D16. 해결책 D1 내지 해결책 D14 중 어느 하나에 있어서, 상기 현재 블록은 다수의 파티션들로 구분되고, 상기 다수의 파티션들 중 적어도 하나의 파티션은 비-정사각형 및 비-직사각형인, 방법.
D17. 해결책 D1 내지 해결책 D16 중 어느 하나에 있어서, 상기 변환은 상기 비트스트림 표현으로부터 상기 현재 블록을 생성하는, 방법.
D18. 해결책 D1 내지 해결책 D16 중 어느 하나에 있어서, 상기 변환은 상기 현재 블록으로부터 상기 비트스트림 표현을 생성하는, 방법.
D19. 프로세서 및 명령어들을 갖는 비일시적 메모리를 포함하는 비디오 시스템 내의 장치로서, 상기 명령어들은 상기 프로세서에 의한 실행 시에 상기 프로세서로 하여금 해결책 D1 내지 해결책 D18 중 어느 하나의 방법을 구현하게 하는, 장치.
D20. 비일시적 컴퓨터 판독가능 매체 상에 저장되는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 해결책 D1 내지 해결책 D18 중 어느 하나의 방법을 수행하기 위한 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
일부 실시예들에서, 다음의 기술적 해결책들이 구현될 수 있다:
E1. 비디오 처리 방법으로서, 기하학적 파티션 모드를 사용하여 다수의 파티션들로 파티셔닝되는 비디오의 현재 블록에 대해, 복수의 가중 인자 그룹들로부터 가중 인자 그룹을 선택하는 단계 - 상기 가중 인자 그룹은 상기 현재 블록의 적어도 폭 또는 높이에 기초하여 선택됨 - ; 및 상기 현재 블록과 상기 비디오의 비트스트림 표현 사이의 변환의 일부로서, 상기 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계를 따르는 샘플들에 상기 가중 인자 그룹을 적용하는 단계를 포함하는, 방법.
E2. 해결책 E1에 있어서, 상기 선택하는 단계는 상기 폭과 상기 높이 사이의 비율이 임계값보다 큰 것에 기초하는, 방법.
E3. 해결책 E1에 있어서, 상기 선택하는 단계는 상기 높이와 상기 폭 사이의 비율이 임계값보다 큰 것에 기초하는, 방법.
E4. 해결책 E1에 있어서, 상기 복수의 가중 인자 그룹은 상기 현재 블록의 폭 또는 높이에 기초하여 미리 정의되는, 방법.
E5. 해결책 E4에 있어서, 상기 복수의 가중 인자 그룹으로부터 하나 또는 2개의 가중 인자 그룹이 선택되는, 방법.
E6. 비디오 처리 방법으로서, 기하학적 파티션 모드를 사용하여 다수의 파티션들로 파티셔닝되는 비디오의 현재 블록 내의 샘플에 대해, 상기 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계의 각도에 기초하여 적어도 하나의 가중 인자를 결정하는 단계; 및 상기 적어도 하나의 가중 인자에 기초하여, 상기 현재 블록과 상기 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하는, 방법.
E7. 해결책 E6에 있어서, 상기 결정하는 단계는 상기 샘플의 위치에 추가로 기초하는, 방법.
E8. 해결책 E1 내지 해결책 E7 중 어느 하나에 있어서, 상기 현재 블록 내의 상기 샘플에 대한 최종 예측 값은 상기 적어도 하나의 가중 인자에 기초하여 2개의 예측 값의 가중 합으로서 도출되는, 방법.
E9. 해결책 E8에 있어서, 상기 현재 블록에 대한 최종 예측 블록은 ( f(x, y)×P1(x,y) + (2M - f(x,y))×P2(x,y) + offset ) >> M이고, P1(x,y) 및 P2(x,y)는 각각 좌표 (x, y)를 갖는 샘플에 대한 제1 예측 값 및 제2 예측 값이고, M 및 offset는 정수들이고, f(x,y)는 상기 제1 예측값에 적용되는 가중치를 반환하는 함수인, 방법.
E10. 해결책 E9에 있어서, offset = ( 1 << (M-1) )인, 방법.
E11. 해결책 E1 내지 해결책 E10 중 어느 하나에 있어서, 상기 현재 블록은 구분 패턴에 기초하여 다수의 파티션들로 구분되는, 방법.
E12. 해결책 E1 내지 해결책 E11 중 어느 하나에 있어서, 상기 기하학적 파티션 모드는 삼각형 파티셔닝 모드를 포함하는, 방법.
E13. 해결책 E12에 있어서, 상기 기하학적 파티션 모드는 하나의 블록을 2개의 파티션으로 구분하는 것을 포함하는, 방법.
E12. 해결책 E1 내지 해결책 E10 중 어느 하나에 있어서, 상기 현재 블록은 다수의 파티션들로 구분되고, 상기 다수의 파티션들 중 적어도 하나의 파티션은 비-정사각형 및 비-직사각형인, 방법.
E13. 해결책 E1 내지 해결책 E12 중 어느 하나에 있어서, 상기 변환은 상기 비트스트림 표현으로부터 상기 현재 블록을 생성하는, 방법.
E14. 해결책 E1 내지 해결책 E12 중 어느 하나에 있어서, 상기 변환은 상기 현재 블록으로부터 상기 비트스트림 표현을 생성하는, 방법.
E15. 프로세서 및 명령어들을 갖는 비일시적 메모리를 포함하는 비디오 시스템 내의 장치로서, 상기 명령어들은 상기 프로세서에 의한 실행 시에 상기 프로세서로 하여금 해결책 E1 내지 해결책 E14 중 어느 하나의 방법을 구현하게 하는, 장치.
E16. 비일시적 컴퓨터 판독가능 매체 상에 저장되는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 해결책 E1 내지 해결책 E14 중 어느 하나의 방법을 수행하기 위한 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
일부 실시예들에서, 다음의 기술적 해결책들이 구현될 수 있다:
F1. 비디오 처리 방법으로서, 기하학적 파티션 모드를 사용하여 다수의 파티션들로 파티셔닝되는 비디오의 현재 블록에 대해, 4×4 샘플 크기와 상이한 샘플 크기를 갖는 상기 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계를 따르는 샘플들에 모션 보상 프로세스를 수행하는 단계; 및 상기 모션 보상 프로세스에 기초하여, 상기 현재 블록과 상기 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하는, 방법.
F2. 해결책 F1에 있어서, 상기 모션 보상 프로세스는 상기 변환에 필요한 메모리 대역폭을 감소시키기 위해 8×8 샘플 크기로 수행되는, 방법.
F3. 해결책 F1에 있어서, 상기 모션 보상 프로세스는 상기 변환에 필요한 메모리 대역폭을 감소시키기 위해 8×4 샘플 크기 또는 4×8 샘플 크기로 수행되는, 방법.
F4. 해결책 F3에 있어서, 상기 샘플 크기는 상기 현재 블록의 높이 또는 폭에 기초하는, 방법.
F5. 해결책 F3에 있어서, 상기 샘플 크기는 상기 현재 블록의 다수의 파티션들에 대한 구분 패턴에 기초하는, 방법.
F6. 해결책 F5에 있어서, 상기 구분 패턴은 45도 구분 패턴 또는 135도 구분 패턴으로 각각 나타내는 상단-우측 코너로부터 하단-좌측 코너로 또는 상단-좌측 코너로부터 하단-우측 코너로 구분하는 것을 포함하는, 방법.
F7. 비디오 처리 방법으로서, 기하학적 파티션 모드를 사용하여 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계; 상기 다수의 파티션들과 연관된 모션 정보로부터 도출되는 상기 현재 블록 내의 K×L 영역에 대한 단일 모션 정보 세트를 저장하는 단계; 및 상기 다수의 파티션들 중 적어도 하나의 파티션과 연관된 적어도 하나의 모션 정보 세트를 사용하여, 상기 현재 블록과 상기 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하는, 방법.
F8. 해결책 F7에 있어서, MVInfoi는 i번째 파티션의 모션 정보를 나타내고, i=1 및 i=2이고, MVInfo1이 제1 참조 화상 리스트 LX로부터의 것이고 MVInfo2가 제2 참조 화상 리스트 LY로부터의 것이라는 결정 시에, 상기 단일 모션 정보 세트는 MVInfo1과 MVInfo2의 조합에 기초한 상기 현재 블록에 대한 양방향-예측 및 연관된 모션 정보를 포함하고, X=0 또는 X=1이고, Y=(1-X)인, 방법.
F9. 해결책 F7에 있어서, MVInfoi는 i번째 파티션의 모션 정보를 나타내고, i=1 및 i=2이고, MVInfo1과 MVInfo2 둘 다가 참조 리스트 LX로부터의 것이라는 결정 시에, 상기 단일 모션 정보 세트는 MVInfoj에 기초한 상기 현재 블록에 대한 단방향-예측 및 연관된 모션 정보를 포함하고, j=1 또는 j=2이고, X=0 또는 X=1인, 방법.
F10. 해결책 F8에 있어서, 양방향-예측을 포함하는 상기 단일 모션 정보 세트는 MVInfo1 및 MVInfo2의 모션 벡터들 및 참조 화상 인덱스들을 조합하여 도출되는, 방법.
F11. 해결책 F9에 있어서, 단방향-예측을 포함하는 상기 단일 모션 정보 세트는 MVInfo1에 기초하는, 방법.
F12. 해결책 F9에 있어서, 단방향-예측을 포함하는 상기 단일 모션 정보 세트는 MVInfo2에 기초하는, 방법.
F13. 해결책 F1 내지 해결책 F12 중 어느 하나에 있어서, 상단-우측 코너 샘플과 하단-좌측 코너 샘플이 2개의 상이한 파티션 내에 있다는 결정 시에 MVInfo1은 상기 상단-우측 코너 샘플을 커버하는 파티션과 연관된 모션 정보 세트를 포함하고 MVInfo2는 상기 하단-좌측 코너 샘플을 커버하는 파티션과 연관된 모션 정보 세트를 포함하는, 방법.
F14. 해결책 F13에 있어서, 상기 현재 블록에 대한 구분 방향은 상단-좌측 코너로부터 하단-우측 코너에 이르는, 방법.
F15. 해결책 F1 내지 해결책 F12 중 어느 하나에 있어서, 상단-좌측 코너 샘플과 하단-우측 코너 샘플이 2개의 상이한 파티션 내에 있다는 결정 시에 MVInfo1은 상기 상단-좌측 코너 샘플을 커버하는 파티션과 연관된 모션 정보 세트를 포함하고 MVInfo2는 상기 하단-우측 코너 샘플을 커버하는 파티션과 연관된 모션 정보 세트를 포함하는, 방법.
F16. 해결책 F15에 있어서, 상기 현재 블록에 대한 구분 방향은 상단-우측 코너로부터 하단-좌측 코너에 이르는, 방법.
F17. 해결책 F7에 있어서, 상기 저장된 단일 모션 정보 세트는 상기 비디오의 후속 블록들에 대한 시간적 모션 예측, 공간적 모션 예측 또는 상기 현재 블록에 대한 필터링 프로세스 중 하나에서 사용되는, 방법.
F18. 해결책 F7에 있어서, 상기 저장된 단일 모션 정보 세트는 상이한 화상들 내의 다른 블록들을 처리하는데 사용되는, 방법.
F19. 해결책 F17에 있어서, 상기 필터링 프로세스는 디블로킹 또는 적응적 루프 필터링(ALF)을 포함하는, 방법.
F20. 해결책 F7에 있어서, MVInfoi 및 MVInfoj는 각각 i번째 및 j번째 파티션의 모션 정보를 나타내고, MVInfoi와 MVInfoj 둘 다는 참조 화상 리스트 LX로부터의 것이고, X=0 또는 X=1이고, 상기 단일 모션 정보 세트는 MVInfoj를 참조 화상 리스트 LY로 스케일링하여 생성되는 스케일링된 모션 벡터와 MVInfoi를 조합하는 것에 기초하고, Y=(1-X)인, 방법.
F21. 해결책 F20에 있어서, X의 값은 상기 비트스트림 표현에서 시그널링되거나 미리 결정되는, 방법.
F22. 해결책 F7에 있어서, MVInfoi 및 MVInfoj는 각각 i번째 및 j번째 파티션의 모션 정보를 나타내고, MVInfoi와 MVInfoj 둘 다는 참조 화상 리스트 LX로부터의 것이고, X=0 또는 X=1이고, 상기 단일 모션 정보 세트는 MVInfoj를 참조 화상 리스트 LY에 맵핑하여 생성되는 맵핑된 모션 벡터와 MVInfoi를 조합하는 것에 기초하고, Y=(1-X)인, 방법.
F23. 해결책 F22에 있어서, 상기 단일 모션 정보 세트는 양방향-예측 모션 벡터를 포함하는, 방법.
F24. 해결책 F22에 있어서, MVInfoj를 리스트 LY 내의 참조 화상에 맵핑하는 것은 스케일링 동작을 배제하는, 방법.
F25. 해결책 F7에 있어서, 상기 단일 모션 정보 세트를 저장하는 것은 상기 다수의 파티션들과 연관된 디코딩된 모션 정보에 기초하는, 방법.
F26. 해결책 F25에 있어서, MVInfoi 및 MVInfoj는 각각 i번째 및 j번째 파티션의 모션 정보를 나타내고, MVInfoi와 MVInfoj 둘 다는 동일한 참조 화상 리스트 LX로부터의 것이고, X=0 또는 X=1이고, 상기 단일 모션 정보 세트는 단방향-예측 모션 정보를 포함하는, 방법.
F27. 해결책 F25에 있어서, MVInfoi 및 MVInfoj는 각각 i번째 및 j번째 파티션의 모션 정보를 나타내고, MVInfoi는 참조 화상 리스트 LX로부터의 것이고 MVInfoj는 참조 화상 리스트 LY로부터의 것이며, X=0 또는 X=1이고, Y=(1-X)이고, 상기 단일 모션 정보 세트는 양방향-예측 모션 정보를 포함하는, 방법.
F28. 해결책 F25에 있어서, MVInfoi 및 MVInfoj는 각각 i번째 및 j번째 파티션의 모션 정보를 나타내고, MVInfoi와 MVInfoj 둘 다는 참조 화상 리스트 LX로부터의 것이고, X=0 또는 X=1이고, 참조 화상 리스트 LY는 MVInfoi 또는 MVInfoj를 포함하고, Y=(1-X)이고, 상기 단일 모션 정보 세트는 양방향-예측 모션 정보를 포함하는, 방법.
F29. 해결책 F7에 있어서, 상기 단일 모션 정보 세트를 저장하는 것은 상기 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계를 따라 위치하는 상기 현재 블록의 서브-영역에 기초하는, 방법.
F30. 해결책 F29에 있어서, 상이한 서브-영역들은 상이한 모션 정보를 저장하는, 방법.
F31. 해결책 F29에 있어서, 상기 서브-영역은 단방향-예측 또는 양방향-예측 모션 정보를 저장하는, 방법.
F32. 해결책 F7에 있어서, 상기 단일 모션 정보 세트를 저장하는 것은 상기 현재 블록 내의 서브-블록의 위치에 기초하고, 상기 서브-블록은 단방향-예측 모션 정보만을 저장하는, 방법.
F33. 해결책 F1 내지 해결책 F32 중 어느 하나에 있어서, 상기 단일 모션 정보 세트는 상기 현재 블록에 적용되는 모션 보상 프로세스에서 사용되는, 방법.
F34. 해결책 F7에 있어서, MVInfoi 및 MVInfoj는 각각 i번째 및 j번째 파티션의 모션 정보를 나타내고, MVInfoi와 MVInfoj 둘 다는 참조 화상 리스트 LX로부터의 것이고, X=0 또는 X=1이고, 상기 단일 모션 정보 세트는 (a) MVInfoi, (b) MVInfoj 또는 (c) MVInfoi와 MVInfoj의 평균화 중 어느 하나로부터 도출되는 상기 참조 화상 리스트 LX에 대한 양방향-예측 모션 벡터를 포함하는, 방법.
F35. 해결책 F7에 있어서, MVInfoi 및 MVInfoj는 각각 i번째 및 j번째 파티션의 모션 정보를 나타내고, MVInfoi와 MVInfoj 둘 다는 참조 화상 리스트 LX로부터의 것이고, X=0 또는 X=1이고, 상기 단일 모션 정보 세트는 MVInfoi와 MVInfoj의 평균 또는 가중 평균을 포함하고, 상기 단일 모션 정보 세트와 연관된 참조 화상은 MVInfoi의 참조 화상 또는 MVInfoj의 참조 화상 중 어느 하나를 포함하는, 방법.
F36. 해결책 F1 내지 해결책 F35 중 어느 하나에 있어서, 상기 K×L 영역은 상기 다수의 파티션들 중 적어도 2개의 파티션 사이의 공통 경계 상의 적어도 하나의 샘플을 포함하는, 방법.
F37. 해결책 F1 내지 해결책 F36 중 어느 하나에 있어서, 상기 기하학적 파티션 모드는 삼각형 파티셔닝 모드를 포함하는, 방법.
F38. 해결책 F1 내지 해결책 F36 중 어느 하나에 있어서, 상기 다수의 파티션들 중 적어도 하나의 파티션은 비-정사각형 및 비-직사각형인, 방법.
F39. 해결책 F1 내지 해결책 F38 중 어느 하나에 있어서, 상기 변환은 상기 비트스트림 표현으로부터 상기 현재 블록을 생성하는, 방법.
F40. 해결책 F1 내지 해결책 F38 중 어느 하나에 있어서, 상기 변환은 상기 현재 블록으로부터 상기 비트스트림 표현을 생성하는, 방법.
F41. 프로세서 및 명령어들을 갖는 비일시적 메모리를 포함하는 비디오 시스템 내의 장치로서, 상기 명령어들은 상기 프로세서에 의한 실행 시에 상기 프로세서로 하여금 해결책 F1 내지 해결책 F40 중 어느 하나의 방법을 구현하게 하는, 장치.
F42. 비일시적 컴퓨터 판독가능 매체 상에 저장되는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 해결책 F1 내지 해결책 F40 중 어느 하나의 방법을 수행하기 위한 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
일부 실시예들에서, 다음의 기술적 해결책들이 구현될 수 있다:
G1. 비디오 처리 방법으로서, 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계; 및 기하학적 파티션 모드를 사용하여 코딩된 상기 현재 블록과 상기 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 현재 블록의 각각의 M×N 블록 단위에 대해 단일 모션 정보 세트가 저장되고, 상기 단일 모션 정보 세트는 상기 다수의 파티션들 각각과 연관된 모션 정보로부터 도출되고, M 또는 N은 4와 같지 않고, M×N 블록 단위의 각각의 샘플은 동일한 모션 정보를 공유하는, 방법.
G2. 해결책 G1에 있어서, M=8 및 N=8인, 방법.
G3. 해결책 G1에 있어서, M×N 블록 단위의 제1 부분은 상기 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계 상의 제1 샘플 세트를 포함하고, 상기 M×N 블록 단위의 제2 부분은 상기 다수의 파티션들 중 상기 적어도 2개의 파티션 중 하나의 파티션의 내부에 있는 제2 샘플 세트를 포함하는, 방법.
G4. 해결책 G3에 있어서, MVInfoi는 i번째 파티션의 모션 정보를 나타내고, i=1 및 i=2이고, MVInfo1이 제1 참조 화상 리스트 LX로부터의 것이고 MVInfo2가 제2 참조 화상 리스트 LY로부터의 것이라는 결정 시에, 상기 동일한 모션 정보는 상기 다수의 파티션들에 대한 MVInfoi에 기초한 상기 현재 블록에 대한 양방향-예측 및 연관된 모션 정보를 포함하고, X=0 또는 X=1이고, Y=(1-X)인, 방법.
G5. 해결책 G3에 있어서, MVInfoi는 i번째 파티션의 모션 정보를 나타내고, i=1 및 i=2이고, MVInfo1과 MVInfo2 둘 다가 참조 화상 리스트 LX로부터의 것이라는 결정 시에, 상기 동일한 모션 정보는 MVInfoj에 기초한 상기 현재 블록에 대한 단방향-예측 및 연관된 모션 정보를 포함하고, j=1 또는 j=2이고, X=0 또는 X=1인, 방법.
G6. 해결책 G3에 있어서, MVInfoi는 i번째 파티션의 모션 정보를 나타내고, i=1 및 i=2이고, 상기 동일한 모션 정보는 MVInfoj에 기초한 상기 현재 블록에 대한 단방향-예측 및 연관된 모션 정보를 포함하고, j=1 또는 j=2인, 방법.
G7. 비디오 처리 방법으로서, 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계; 및 상기 현재 블록과 상기 비디오의 비트스트림 표현 사이의 변환의 일부로서, 상기 현재 블록의 제1 서브-영역에 대해, 저장될 상기 제1 서브-영역과 연관된 제2 모션 정보와 상이한 제1 모션 정보에 기초하여 모션 보상 프로세스를 수행하는 단계를 포함하는, 방법.
G8. 해결책 G7에 있어서, 상기 제1 서브-영역은 상기 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계 상의 M×N 샘플들의 세트를 포함하고, 상기 모션 보상 프로세스는 양방향-예측을 포함하고, 상기 양방향-예측의 리스트0 또는 리스트1로부터의 하나의 모션 정보 세트만이 저장되는, 방법.
G9. 해결책 G8에 있어서, 상기 하나의 모션 정보 세트는 병합 모드 또는 AMVP(advanced motion vector prediction) 모드를 사용하여 코딩되는 이웃 블록에 대한 공간적 모션 후보를 도출하기 위해 사용되는, 방법.
G10. 해결책 G8에 있어서, 상기 하나의 모션 정보 세트는 상기 현재 블록을 포함하는 현재 화상과 상이한 화상 내의 후속 블록에 대한 시간적 모션 후보를 도출하기 위해 사용되는, 방법.
G11. 해결책 G8에 있어서, 상기 하나의 모션 정보 세트는 상기 현재 블록의 인-루프 처리를 위해 사용되는, 방법.
G12. 해결책 G11에 있어서, 상기 인-루프 처리는 디블로킹 또는 적응적 루프 필터링을 포함하는, 방법.
G13. 해결책 G7에 있어서, 상기 현재 블록의 제2 서브-영역에 대한 모션 보상 프로세스는 상기 제2 서브-영역과 연관되는 제3 모션 정보에 기초하고, 상기 제1 서브-영역과 상기 제2 서브-영역은 상기 다수의 파티션들을 포함하는 동일한 코딩 단위(CU)에 있는, 방법.
G14. 비디오 처리 방법으로서, 기하학적 파티션 모드를 사용하여 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계; 상기 다수의 파티션들과 연관된 구분 방향 또는 디코딩된 병합 인덱스들 또는 병합 후보 리스트들에 기초하여, 제1 샘플 세트 및 제2 샘플 세트에 대한 모션 정보를 저장하는 단계 - 상기 제1 샘플 세트는 상기 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계 상에 있고, 상기 제2 샘플 세트는 상기 다수의 파티션들 중 상기 적어도 2개의 파티션 중 하나의 파티션의 내부에 있음 - ; 및 저장된 모션 정보에 기초하여, 상기 현재 블록과 상기 비디오의 비트스트림 표현 사이의 변환 또는 상기 비디오의 후속 블록들과 상기 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하는, 방법.
G15. 해결책 G14에 있어서, 상기 저장된 모션 정보는 선택된 디코딩된 병합 인덱스와 연관된 상기 다수의 파티션들 중 하나와 연관된 모션 정보에 대응하는, 방법.
G16. 해결책 G14에 있어서, 상기 저장된 모션 정보는 변수 k로 설정된 선택된 병합 인덱스를 갖는 모션 후보 리스트 내의 모션 후보에 대응하는, 방법.
G17. 해결책 G16에 있어서, k=0인, 방법.
G18. 해결책 G16에 있어서, 상기 저장된 모션 정보는 상기 병합 후보 리스트들 중 하나 내의 k번째 병합 후보에 대한 모션 정보에 대응하는, 방법.
G19. 해결책 G15에 있어서, 상기 선택된 디코딩된 병합 인덱스는 상기 구분 방향에 기초하는, 방법.
G20. 해결책 G15에 있어서, 저장된 모션 정보는 상기 선택된 디코딩된 병합 인덱스와 동일한 인덱스를 갖는 병합 후보가 양방향-예측에 기초한다는 결정 시에 양방향-예측 모션 정보를 포함하는, 방법.
G21. 해결책 G15에 있어서, 저장된 모션 정보는 상기 선택된 디코딩된 병합 인덱스와 동일한 인덱스를 갖는 병합 후보가 단방향-예측에 기초한다는 결정 시에 단방향-예측 모션 정보를 포함하는, 방법.
G22. 해결책 G6에 있어서, 상기 제1 서브-영역은 상기 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계 상의 M×N 샘플들을 포함하고, 상기 모션 보상 프로세스는 양방향-예측을 포함하고, 상기 양방향-예측의 리스트0 또는 리스트1로부터의 하나의 모션 정보 세트만이 저장되는, 방법.
G23. 해결책 G6에 있어서, 상기 제1 서브-영역은 상기 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계 상의 M×N 샘플들을 포함하고, 상기 모션 보상 프로세스는 양방향-예측을 포함하고, 리스트X로부터의 단방향-예측 정보만이 저장되고, X=0 및 X=1인, 방법.
G24. 해결책 G6에 있어서, 상기 제1 서브-영역은 상기 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계 상의 M×N 샘플들을 포함하고, 상기 모션 보상 프로세스는 단방향-예측을 포함하고, 상기 제2 모션 정보는 저장되는 리스트X로부터의 단방향-예측 정보를 포함하고, X=0 및 X=1인, 방법.
G25. 비디오 처리 방법으로서, 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계; 상기 다수의 파티션들 중 적어도 2개의 파티션의 모션 정보에 기초한 가상 양방향-예측 모션 정보를 저장하는 단계; 및 상기 가상 양방향-예측 모션 정보에 기초하여, 상기 현재 블록과 상기 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하는, 방법.
G26. 해결책 G25에 있어서, MvInfo1 및 MvInfo2는 각각 제1 파티션 및 제2 파티션에 대한 모션 정보이고, 상기 가상 양방향-예측 모션 정보는 MvInfoA의 예측 방향을 리스트X로부터 리스트Y로 수정하는 것에 기초하며, A=1 또는 A=2이고, X=0 또는 X=1이고, Y=(1-X)인, 방법.
G27. 해결책 G26에 있어서, MvInfoA의 모션 벡터들 및 참조 인덱스들은 변경되지 않은 채로 유지되는, 방법.
G28. 해결책 G26에 있어서, MvInfoA의 참조 인덱스들은 변경되지 않은 채로 유지되고 MvInfoA의 모션 벡터들은 반대 값들로 설정되는, 방법.
G29. 해결책 G26 내지 해결책 G28 중 어느 하나에 있어서, MvInfo1과 MvInfo2는 동일한 예측 방향으로부터의 것인, 방법.
G30. 비디오 처리 방법으로서, 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계; 낮은 지연 체크 플래그에 기초하여, 상기 다수의 파티션들 중 제1 파티션에 대한 모션 정보(MvInfo1) 및 상기 다수의 파티션들 중 제2 파티션에 대한 모션 정보(MvInfo2)를 저장하는 단계 - 상기 낮은 지연 체크 플래그는 상기 현재 블록을 포함하는 현재 화상의 화상 순서 카운트(picture order count, POC) 값보다 크지 않은 POC 값들을 갖는 모든 참조 화상들을 나타냄 - ; 및 상기 저장된 모션 정보에 기초하여, 상기 현재 블록과 상기 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하는, 방법.
G31. 해결책 G30에 있어서, MvInfo1과 MvInfo2는 상이한 예측 방향들로부터의 것이고, 상기 모션 정보를 저장하는 단계는 MvInfo1과 MvInfo2를 조합함으로써 생성되는 양방향-예측 모션 정보를 저장하는 단계를 포함하는, 방법.
G32. 해결책 G30에 있어서, MvInfo1과 MvInfo2는 동일한 예측 방향(리스트X)으로부터의 것이고, X=0 또는 X=1이고, 상기 방법은: MvInfo2의 예측 방향 리스트를 리스트X로부터 리스트Y로 설정함으로써 MvInfo2를 수정하는 단계를 추가로 포함하고, Y=(1-X)이고, 상기 모션 정보를 저장하는 단계는 MvInfo1과 수정된 MvInfo2를 조합함으로써 생성되는 양방향-예측 모션 정보를 저장하는 단계를 포함하는, 방법.
G33. 해결책 G25 내지 해결책 G32 중 어느 하나에 있어서, 상기 모션 정보를 저장하는 단계는 상기 현재 블록의 서브-블록에 대한 모션 정보를 저장하는 단계를 포함하는, 방법.
G34. 해결책 G33에 있어서, 상기 서브-블록은 상기 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계 상의 샘플들을 포함하는, 방법.
G35. 해결책 G33에 있어서, 상기 서브-블록은 상기 현재 블록 내의 대각선 또는 반-대각선을 포함하는, 방법.
G36. 해결책 G33에 있어서, 상기 서브-블록은 상기 현재 블록의 하부-우측 코너에 있는, 방법.
G37. 해결책 G33에 있어서, 상기 서브-블록은 상기 현재 블록의 우측 열 또는 하단 행에 있는, 방법.
G38. 해결책 G1 내지 해결책 G37 중 어느 하나에 있어서, 상기 다수의 파티션들 중 적어도 하나의 파티션은 비-정사각형 및 비-직사각형인, 방법.
G39. 해결책 G1 내지 해결책 G38 중 어느 하나에 있어서, 상기 변환은 상기 비트스트림 표현으로부터 상기 현재 블록을 생성하는, 방법.
G40. 해결책 G1 내지 해결책 G38 중 어느 하나에 있어서, 상기 변환은 상기 현재 블록으로부터 상기 비트스트림 표현을 생성하는, 방법.
G41. 프로세서 및 명령어들을 갖는 비일시적 메모리를 포함하는 비디오 시스템 내의 장치로서, 상기 명령어들은 상기 프로세서에 의한 실행 시에 상기 프로세서로 하여금 해결책 G1 내지 해결책 G40 중 어느 하나의 방법을 구현하게 하는, 장치.
G42. 비일시적 컴퓨터 판독가능 매체 상에 저장되는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 해결책 G1 내지 해결책 G40 중 어느 하나의 방법을 수행하기 위한 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
도 49는 비디오 처리 장치(4900)의 블록도이다. 장치(4900)는 본 명세서에 설명된 방법들 중 하나 이상을 구현하는 데 사용될 수 있다. 장치(4900)는 스마트폰, 태블릿, 컴퓨터, 사물 인터넷(IoT) 수신기 등으로 구체화될 수 있다. 장치(4900)는 하나 이상의 프로세서(4902), 하나 이상의 메모리(4904) 및 비디오 처리 하드웨어(4906)를 포함할 수 있다. 프로세서(들)(4902)는 본 문헌에 설명된 하나 이상의 방법을 구현하도록 구성될 수 있다. 메모리(메모리들)(4904)는 본 명세서에 설명된 방법들 및 기법들을 구현하는 데 사용되는 데이터 및 코드를 저장하는 데 사용될 수 있다. 비디오 처리 하드웨어(4906)는 본 문헌에 설명된 일부 기법들을 하드웨어 회로부에 구현하는 데 사용될 수 있다.
일부 실시예들에서, 비디오 코딩 방법들은 도 49와 관련하여 설명된 바와 같이 하드웨어 플랫폼 상에 구현되는 장치를 사용하여 구현될 수 있다.
개시된 기술의 일부 실시예들은 비디오 처리 도구 또는 모드를 인에이블하는 것으로 판정 또는 결정하는 것을 포함한다. 일 예에서, 비디오 처리 도구 또는 모드가 인에이블될 때, 인코더는 비디오의 블록의 처리에서 도구 또는 모드를 사용하거나 구현할 것이지만, 도구 또는 모드의 사용에 기초하여 결과적인 비트스트림을 반드시 수정하지는 않을 수 있다. 즉, 비디오의 블록으로부터 비디오의 비트스트림 표현으로의 변환은 판정 또는 결정에 기초하여 인에이블될 때 비디오 처리 도구 또는 모드를 사용할 것이다. 다른 예에서, 비디오 처리 도구 또는 모드가 인에이블될 때, 디코더는 비트스트림이 비디오 처리 도구 또는 모드에 기초하여 수정되었다는 지식으로 비트스트림을 처리할 것이다. 즉, 비디오의 비트스트림 표현으로부터 비디오의 블록으로의 변환은 판정 또는 결정에 기초하여 인에이블된 비디오 처리 도구 또는 모드를 사용하여 수행될 것이다.
개시된 기술의 일부 실시예들은 비디오 처리 도구 또는 모드를 디스에이블하는 것으로 판정 또는 결정하는 것을 포함한다. 일 예에서, 비디오 처리 도구 또는 모드가 디스에이블될 때, 인코더는 비디오의 블록을 비디오의 비트스트림 표현으로 변환 시에 도구 또는 모드를 사용하지 않을 것이다. 다른 예에서, 비디오 처리 도구 또는 모드가 디스에이블될 때, 디코더는 판정 또는 결정에 기초하여 인에이블된 비디오 처리 도구 또는 모드를 사용하여 비트스트림이 수정되지 않았다는 지식으로 비트스트림을 처리할 것이다.
도 50은 본 명세서에 개시된 다양한 기법들이 구현될 수 있는 예시적인 비디오 처리 시스템(5000)을 도시하는 블록도이다. 다양한 구현들은 시스템(5000)의 컴포넌트들의 일부 또는 전부를 포함할 수 있다. 시스템(5000)은 비디오 콘텐츠를 수신하기 위한 입력(5002)을 포함할 수 있다. 비디오 콘텐츠는 미가공(raw) 또는 압축되지 않은 포맷, 예를 들어, 8 또는 10 비트 멀티-컴포넌트 화소 값들로 수신될 수 있거나, 압축된 또는 인코딩된 포맷일 수 있다. 입력(5002)은 네트워크 인터페이스, 주변 버스 인터페이스, 또는 저장 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예들은 이더넷, 수동 광 네트워크(passive optical network, PON) 등과 같은 유선 인터페이스들 및 Wi-Fi 또는 셀룰러 인터페이스들과 같은 무선 인터페이스들을 포함한다.
시스템(5000)은 본 문헌에 설명된 다양한 코딩 또는 인코딩 방법들을 구현할 수 있는 코딩 컴포넌트(5004)를 포함할 수 있다. 코딩 컴포넌트(5004)는 비디오의 코딩된 표현을 생성하기 위해 입력(5002)으로부터 코딩 컴포넌트(5004)의 출력으로의 비디오의 평균 비트레이트를 감소시킬 수 있다. 따라서, 코딩 기법들은 때때로 비디오 압축 또는 비디오 트랜스코딩 기법들이라고 한다. 코딩 컴포넌트(5004)의 출력은 저장될 수 있거나, 또는 컴포넌트(5006)로 나타낸 바와 같이 연결된 통신을 통해 송신될 수 있다. 입력(5002)에서 수신된 비디오의 저장된 또는 통신된 비트스트림(또는 코딩된) 표현은 디스플레이 인터페이스(5010)에 전송되는 화소 값들 또는 디스플레이가능한 비디오를 생성하기 위해 컴포넌트(5008)에 의해 사용될 수 있다. 비트스트림 표현으로부터 사용자-시청가능 비디오를 생성하는 프로세스는 때때로 비디오 압축해제(video decompression)라고 한다. 게다가, 특정 비디오 처리 동작들이 "코딩" 동작들 또는 도구들로 지칭되지만, 코딩 도구들 또는 동작들이 인코더에서 사용되고 코딩의 결과들을 반대로 하는 대응하는 디코딩 도구들 또는 동작들이 디코더에 의해 수행될 것이라는 점이 이해될 것이다.
주변 버스 인터페이스 또는 디스플레이 인터페이스의 예들은 USB(universal serial bus) 또는 HDMI(high definition multimedia interface) 또는 디스플레이포트(Displayport) 등을 포함할 수 있다. 저장 인터페이스들의 예들은 SATA(serial advanced technology attachment), PCI, IDE 인터페이스 등을 포함한다. 본 문헌에 설명된 기법들은 디지털 데이터 처리 및/또는 비디오 디스플레이를 수행할 수 있는 모바일 전화, 랩톱, 스마트폰 또는 다른 디바이스와 같은 다양한 전자 디바이스에서 구현될 수 있다.
본 문헌의 설명과 관련하여, 현재 비디오 블록의 비트스트림 표현은 반드시 연속 비트들의 형태일 필요는 없으며, 비트스트림 구문의 상이한 위치들에서 발생하는 비트들(예를 들어, 헤더 필드들 및 파라미터 세트들)에 기초할 수 있다.
또한, 일부 개시된 실시예들에서, ATMVP 및 아핀 병합을 포함하는, 서브-블록 코딩된 모드의 경우, 하나의 병합 리스트 구성 프로세스가 공유된다. 여기서, ATMVP 및 아핀 병합 후보들이 순서대로 추가될 수 있다.
일부 실시예들에서, 삼각형 예측 모드의 경우, 2개의 파티션이 그 자신의 병합 후보 인덱스를 선택할 수 있더라도 2개의 파티션에 대한 하나의 병합 리스트 구성 프로세스가 공유된다. 이 병합 리스트를 구성할 때, 블록의 공간적 이웃 블록들 및 2개의 시간적 블록이 검사된다. 공간적 이웃들 및 시간적 블록들로부터 도출된 모션 정보는 IDF에서 정규 모션 후보들이라고 한다. 이러한 정규 모션 후보들은 다수의 TPM 후보들을 도출하는데 더 이용된다. 변환은 전체 블록 레벨에서 수행될 수 있고, 심지어 2개의 파티션도 상이한 모션 벡터들을 사용하여 그 자신의 예측 블록들을 생성할 수 있다.
나머지 코딩 블록들의 경우, 하나의 병합 리스트 구성 프로세스가 공유된다. 여기서, 공간적/시간적/HMVP, 쌍별 조합된 양방향-예측 병합 후보들(pairwise combined bi-prediction merge candidates) 및 제로 모션 후보들이 순서대로 삽입될 수 있다.
비디오 인코딩 또는 디코딩 방법들(압축/압축해제)이 개시된다는 것이 본 기술분야의 통상의 기술자에 의해 이해될 것이다. 비디오 블록의 기하학(또는 기하학적) 파티션들은 모션 정보를 정확하게 추적하고 코딩된 비디오의 압축 성능을 향상시키는 데 사용될 수 있다. 또한, 개시된 방법들의 사용은 실시예들이 오늘날의 비디오 코딩/디코딩 기법들과 비교하여 추가의 코딩 이득을 달성하고 및/또는 구현의 복잡성을 감소시킬 수 있게 할 수 있다는 것을 이해할 것이다.
본 문헌에 설명된 개시된 및 다른 해결책들, 예들, 실시예들, 모듈들 및 기능적 동작들은 디지털 전자 회로에서, 또는 본 문헌에 개시된 구조들 및 그들의 구조적 균등물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서, 또는 그들 중 하나 이상의 것의 조합들에서 구현될 수 있다. 개시된 및 다른 실시예들은 하나 이상의 컴퓨터 프로그램 제품, 즉, 데이터 처리 장치에 의한 실행을 위해 또는 데이터 처리 장치의 동작을 제어하기 위해 컴퓨터 판독가능 매체 상에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 판독가능 매체는 머신 판독가능 저장 디바이스, 머신 판독가능 저장 기판, 메모리 디바이스, 머신 판독가능 전파 신호를 달성하는 물질의 합성, 또는 이들 중 하나 이상의 것의 조합일 수 있다. "데이터 처리 장치"라는 용어는, 예로서 프로그램가능 프로세서, 컴퓨터, 또는 다중 프로세서 또는 컴퓨터를 포함한, 데이터를 처리하기 위한 모든 장치, 디바이스, 및 머신을 포함한다. 장치는, 하드웨어 외에도, 문제의(in question) 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 것의 조합을 구성하는 코드를 포함할 수 있다. 전파 신호는 인공적으로 생성된 신호, 예를 들어, 적합한 수신기 장치로의 송신을 위한 정보를 인코딩하기 위해 생성되는 머신-생성된 전기, 광, 또는 전자기 신호이다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드로도 알려짐)은 컴파일되거나 해석된 언어를 포함하는 임의의 형태의 프로그래밍 언어로 쓰여질 수 있고, 이는 독립형(stand-alone) 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴 또는 컴퓨팅 환경에서 사용을 위해 적합한 다른 유닛으로서를 포함하는 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템 내의 파일에 반드시 대응하지는 않는다. 프로그램은 다른 프로그램들 또는 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 유지하는 파일의 일부분에, 문제의 프로그램에 전용된 단일 파일에, 또는 다수의 조정된 파일(coordinated file)(예를 들어, 하나 이상의 모듈, 서브 프로그램(sub program), 또는 코드 부분(portion of code)을 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에서, 또는 한 사이트에 배치되거나 다수의 사이트에 걸쳐 분산되어 통신 네트워크에 의해 상호연결되는 다수의 컴퓨터 상에서 실행되도록 배치될 수 있다.
본 문헌에 설명된 프로세스들 및 논리 흐름들은, 입력 데이터에 대해 동작하여 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램가능 프로세서에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은, 또한 특수 목적 논리 회로, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)로서 구현될 수 있다.
컴퓨터 프로그램을 실행하는데 적합한 프로세서들은, 예로서, 범용 마이크로프로세서와 특수 목적 마이크로프로세서 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들과 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은, 명령어들을 수행하기 위한 프로세서 및 명령어들과 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 자기, 광 자기 디스크 또는 광 디스크와 같은 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스를 포함하거나, 또는 이들로부터 데이터를 수신하거나 이들로 데이터를 전송하거나 둘 다를 행하도록 동작적으로 결합될 것이다. 그러나, 컴퓨터가 이러한 디바이스들을 가질 필요는 없다. 컴퓨터 프로그램 명령어들과 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는 예로서 반도체 메모리 디바이스들, 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들; 광 자기 디스크들; 및 CD ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보완되거나 그에 통합될 수 있다.
본 특허 문헌은 많은 세부사항들을 포함하지만, 이들은 임의의 주제의 또는 청구될 수 있는 것의 범위에 관한 제한들로서 해석되어서는 안 되고, 오히려 특정 기법들의 특정 실시예들에 특정할 수 있는 특징들의 설명들로서 해석되어야 한다. 별개의 실시예들의 맥락에서 본 특허 문헌에 설명된 특정 특징들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 맥락에서 설명된 다양한 특징들이 또한 다수의 실시예들에서 개별적으로 또는 임의의 적합한 하위 조합으로 구현될 수 있다. 또한, 위에서는 특징들이 특정 조합들로 동작하는 것으로서 설명되고 심지어 처음에 이와 같이 청구될 수 있지만, 일부 경우들에서는 청구된 조합으로부터의 하나 이상의 특징이 조합으로부터 삭제될 수 있으며, 청구된 조합은 하위 조합 또는 하위 조합의 변형에 대한 것일 수 있다.
유사하게, 도면들에는 동작들이 특정 순서로 도시되지만, 이것은 바람직한 결과들을 달성하기 위해 그러한 동작들이 도시된 특정 순서로 또는 순차적 순서로 수행되어야 하거나, 모든 예시된 동작들이 수행되어야 하는 것을 요구하는 것으로 이해되어서는 안 된다. 또한, 본 특허 문헌에 설명된 실시예들에서의 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 이러한 분리를 요구하는 것으로 이해되어서는 안 된다.
단지 몇 개의 구현들 및 예들만이 설명되며, 본 특허 문헌에서 설명되고 예시된 것에 기초하여 다른 구현들, 개선들 및 변형들이 만들어질 수 있다.

Claims (42)

  1. 비디오 처리 방법으로서,
    기하학적 파티션 모드(geometry partition mode)를 사용하여 다수의 파티션들로 파티셔닝되는 비디오의 현재 블록에 대해, 4×4 샘플 크기와 상이한 샘플 크기를 갖는 상기 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계를 따르는 샘플들에 모션 보상 프로세스(motion compensation process)를 수행하는 단계; 및
    상기 모션 보상 프로세스에 기초하여, 상기 현재 블록과 상기 비디오의 비트스트림 표현(bitstream representation) 사이의 변환을 수행하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 모션 보상 프로세스는 상기 변환에 필요한 메모리 대역폭을 감소시키기 위해 8×8 샘플 크기로 수행되는, 방법.
  3. 제1항에 있어서, 상기 모션 보상 프로세스는 상기 변환에 필요한 메모리 대역폭을 감소시키기 위해 8×4 샘플 크기 또는 4×8 샘플 크기로 수행되는, 방법.
  4. 제3항에 있어서, 상기 샘플 크기는 상기 현재 블록의 높이 또는 폭에 기초하는, 방법.
  5. 제3항에 있어서, 상기 샘플 크기는 상기 현재 블록의 다수의 파티션들에 대한 구분 패턴(splitting pattern)에 기초하는, 방법.
  6. 제5항에 있어서, 상기 구분 패턴은 45도 구분 패턴 또는 135도 구분 패턴으로 각각 나타내는 상단-우측 코너로부터 하단-좌측 코너로 또는 상단-좌측 코너로부터 하단-우측 코너로 구분하는 것을 포함하는, 방법.
  7. 비디오 처리 방법으로서,
    기하학적 파티션 모드를 사용하여 비디오의 현재 블록을 다수의 파티션들로 파티셔닝하는 단계;
    상기 다수의 파티션들과 연관된 모션 정보로부터 도출되는 상기 현재 블록 내의 K×L 영역에 대한 단일 모션 정보 세트를 저장하는 단계; 및
    상기 다수의 파티션들 중 적어도 하나의 파티션과 연관된 적어도 하나의 모션 정보 세트를 사용하여, 상기 현재 블록과 상기 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계
    를 포함하는, 방법.
  8. 제7항에 있어서, MVInfoi는 i번째 파티션의 모션 정보를 나타내고, i=1 및 i=2이고, MVInfo1이 제1 참조 화상 리스트 LX로부터의 것이고 MVInfo2가 제2 참조 화상 리스트 LY로부터의 것이라는 결정 시에, 상기 단일 모션 정보 세트는 MVInfo1과 MVInfo2의 조합에 기초한 상기 현재 블록에 대한 양방향-예측(bi-prediction) 및 연관된 모션 정보를 포함하고, X=0 또는 X=1이고, Y=(1-X)인, 방법.
  9. 제7항에 있어서, MVInfoi는 i번째 파티션의 모션 정보를 나타내고, i=1 및 i=2이고, MVInfo1과 MVInfo2 둘 다가 참조 리스트 LX로부터의 것이라는 결정 시에, 상기 단일 모션 정보 세트는 MVInfoj에 기초한 상기 현재 블록에 대한 단방향-예측(uni-prediction) 및 연관된 모션 정보를 포함하고, j=1 또는 j=2이고, X=0 또는 X=1인, 방법.
  10. 제8항에 있어서, 양방향-예측을 포함하는 상기 단일 모션 정보 세트는 MVInfo1 및 MVInfo2의 모션 벡터들 및 참조 화상 인덱스들을 조합하여 도출되는, 방법.
  11. 제9항에 있어서, 단방향-예측을 포함하는 상기 단일 모션 정보 세트는 MVInfo1에 기초하는, 방법.
  12. 제9항에 있어서, 단방향-예측을 포함하는 상기 단일 모션 정보 세트는 MVInfo2에 기초하는, 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서, 상단-우측 코너 샘플과 하단-좌측 코너 샘플이 2개의 상이한 파티션 내에 있다는 결정 시에 MVInfo1은 상기 상단-우측 코너 샘플을 커버하는 파티션과 연관된 모션 정보 세트를 포함하고 MVInfo2는 상기 하단-좌측 코너 샘플을 커버하는 파티션과 연관된 모션 정보 세트를 포함하는, 방법.
  14. 제13항에 있어서, 상기 현재 블록에 대한 구분 방향은 상단-좌측 코너로부터 하단-우측 코너에 이르는, 방법.
  15. 제1항 내지 제12항 중 어느 한 항에 있어서, 상단-좌측 코너 샘플과 하단-우측 코너 샘플이 2개의 상이한 파티션 내에 있다는 결정 시에 MVInfo1은 상기 상단-좌측 코너 샘플을 커버하는 파티션과 연관된 모션 정보 세트를 포함하고 MVInfo2는 상기 하단-우측 코너 샘플을 커버하는 파티션과 연관된 모션 정보 세트를 포함하는, 방법.
  16. 제15항에 있어서, 상기 현재 블록에 대한 구분 방향은 상단-우측 코너로부터 하단-좌측 코너에 이르는, 방법.
  17. 제7항에 있어서, 상기 저장된 단일 모션 정보 세트는 상기 비디오의 후속 블록들에 대한 시간적 모션 예측, 공간적 모션 예측 또는 상기 현재 블록에 대한 필터링 프로세스 중 하나에서 사용되는, 방법.
  18. 제7항에 있어서, 상기 저장된 단일 모션 정보 세트는 상이한 화상들 내의 다른 블록들을 처리하는데 사용되는, 방법.
  19. 제17항에 있어서, 상기 필터링 프로세스는 디블로킹 또는 적응적 루프 필터링(ALF)을 포함하는, 방법.
  20. 제7항에 있어서, MVInfoi 및 MVInfoj는 각각 i번째 및 j번째 파티션의 모션 정보를 나타내고, MVInfoi와 MVInfoj 둘 다는 참조 화상 리스트 LX로부터의 것이고, X=0 또는 X=1이고, 상기 단일 모션 정보 세트는 MVInfoj를 참조 화상 리스트 LY로 스케일링하여 생성되는 스케일링된 모션 벡터와 MVInfoi를 조합하는 것에 기초하고, Y=(1-X)인, 방법.
  21. 제20항에 있어서, X의 값은 상기 비트스트림 표현에서 시그널링되거나 미리 결정되는, 방법.
  22. 제7항에 있어서, MVInfoi 및 MVInfoj는 각각 i번째 및 j번째 파티션의 모션 정보를 나타내고, MVInfoi와 MVInfoj 둘 다는 참조 화상 리스트 LX로부터의 것이고, X=0 또는 X=1이고, 상기 단일 모션 정보 세트는 MVInfoj를 참조 화상 리스트 LY에 맵핑하여 생성되는 맵핑된 모션 벡터와 MVInfoi를 조합하는 것에 기초하고, Y=(1-X)인, 방법.
  23. 제22항에 있어서, 상기 단일 모션 정보 세트는 양방향-예측 모션 벡터를 포함하는, 방법.
  24. 제22항에 있어서, MVInfoj를 리스트 LY 내의 참조 화상에 맵핑하는 것은 스케일링 동작을 배제하는, 방법.
  25. 제7항에 있어서, 상기 단일 모션 정보 세트를 저장하는 것은 상기 다수의 파티션들과 연관된 디코딩된 모션 정보에 기초하는, 방법.
  26. 제25항에 있어서, MVInfoi 및 MVInfoj는 각각 i번째 및 j번째 파티션의 모션 정보를 나타내고, MVInfoi와 MVInfoj 둘 다는 동일한 참조 화상 리스트 LX로부터의 것이고, X=0 또는 X=1이고, 상기 단일 모션 정보 세트는 단방향-예측 모션 정보를 포함하는, 방법.
  27. 제25항에 있어서, MVInfoi 및 MVInfoj는 각각 i번째 및 j번째 파티션의 모션 정보를 나타내고, MVInfoi는 참조 화상 리스트 LX로부터의 것이고 MVInfoj는 참조 화상 리스트 LY로부터의 것이며, X=0 또는 X=1이고, Y=(1-X)이고, 상기 단일 모션 정보 세트는 양방향-예측 모션 정보를 포함하는, 방법.
  28. 제25항에 있어서, MVInfoi 및 MVInfoj는 각각 i번째 및 j번째 파티션의 모션 정보를 나타내고, MVInfoi와 MVInfoj 둘 다는 참조 화상 리스트 LX로부터의 것이고, X=0 또는 X=1이고, 참조 화상 리스트 LY는 MVInfoi 또는 MVInfoj를 포함하고, Y=(1-X)이고, 상기 단일 모션 정보 세트는 양방향-예측 모션 정보를 포함하는, 방법.
  29. 제7항에 있어서, 상기 단일 모션 정보 세트를 저장하는 것은 상기 다수의 파티션들 중 적어도 2개의 파티션의 공통 경계를 따라 위치하는 상기 현재 블록의 서브-영역에 기초하는, 방법.
  30. 제29항에 있어서, 상이한 서브-영역들은 상이한 모션 정보를 저장하는, 방법.
  31. 제29항에 있어서, 상기 서브-영역은 단방향-예측 또는 양방향-예측 모션 정보를 저장하는, 방법.
  32. 제7항에 있어서, 상기 단일 모션 정보 세트를 저장하는 것은 상기 현재 블록 내의 서브-블록의 위치에 기초하고, 상기 서브-블록은 단방향-예측 모션 정보만을 저장하는, 방법.
  33. 제1항 내지 제32항 중 어느 한 항에 있어서, 상기 단일 모션 정보 세트는 상기 현재 블록에 적용되는 모션 보상 프로세스에서 사용되는, 방법.
  34. 제7항에 있어서, MVInfoi 및 MVInfoj는 각각 i번째 및 j번째 파티션의 모션 정보를 나타내고, MVInfoi와 MVInfoj 둘 다는 참조 화상 리스트 LX로부터의 것이고, X=0 또는 X=1이고, 상기 단일 모션 정보 세트는 (a) MVInfoi, (b) MVInfoj 또는 (c) MVInfoi와 MVInfoj의 평균화 중 어느 하나로부터 도출되는 상기 참조 화상 리스트 LX에 대한 양방향-예측 모션 벡터를 포함하는, 방법.
  35. 제7항에 있어서, MVInfoi 및 MVInfoj는 각각 i번째 및 j번째 파티션의 모션 정보를 나타내고, MVInfoi와 MVInfoj 둘 다는 참조 화상 리스트 LX로부터의 것이고, X=0 또는 X=1이고, 상기 단일 모션 정보 세트는 MVInfoi와 MVInfoj의 평균 또는 가중 평균을 포함하고, 상기 단일 모션 정보 세트와 연관된 참조 화상은 MVInfoi의 참조 화상 또는 MVInfoj의 참조 화상 중 어느 하나를 포함하는, 방법.
  36. 제1항 내지 제35항 중 어느 한 항에 있어서, 상기 K×L 영역은 상기 다수의 파티션들 중 적어도 2개의 파티션 사이의 공통 경계 상의 적어도 하나의 샘플을 포함하는, 방법.
  37. 제1항 내지 제36항 중 어느 한 항에 있어서, 상기 기하학적 파티션 모드는 삼각형 파티셔닝 모드를 포함하는, 방법.
  38. 제1항 내지 제36항 중 어느 한 항에 있어서, 상기 다수의 파티션들 중 적어도 하나의 파티션은 비-정사각형 및 비-직사각형인, 방법.
  39. 제1항 내지 제38항 중 어느 한 항에 있어서, 상기 변환은 상기 비트스트림 표현으로부터 상기 현재 블록을 생성하는, 방법.
  40. 제1항 내지 제38항 중 어느 한 항에 있어서, 상기 변환은 상기 현재 블록으로부터 상기 비트스트림 표현을 생성하는, 방법.
  41. 프로세서 및 명령어들을 갖는 비일시적 메모리를 포함하는 비디오 시스템 내의 장치로서, 상기 명령어들은 상기 프로세서에 의한 실행 시에 상기 프로세서로 하여금 제1항 내지 제40항 중 어느 한 항의 방법을 구현하게 하는, 장치.
  42. 비일시적 컴퓨터 판독가능 매체 상에 저장되는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 제1항 내지 제40항 중 어느 한 항의 방법을 수행하기 위한 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
KR1020217012826A 2018-11-06 2019-11-06 모션 정보의 위치 의존적 저장 KR20210084479A (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
CN2018114057 2018-11-06
CNPCT/CN2018/114057 2018-11-06
CN2019087372 2019-05-17
CNPCT/CN2019/087372 2019-05-17
CN2019090127 2019-06-05
CNPCT/CN2019/090127 2019-06-05
CN2019092151 2019-06-20
CNPCT/CN2019/092151 2019-06-20
PCT/CN2019/116078 WO2020094078A1 (en) 2018-11-06 2019-11-06 Position dependent storage of motion information

Publications (1)

Publication Number Publication Date
KR20210084479A true KR20210084479A (ko) 2021-07-07

Family

ID=70610822

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217012826A KR20210084479A (ko) 2018-11-06 2019-11-06 모션 정보의 위치 의존적 저장

Country Status (6)

Country Link
US (4) US11265541B2 (ko)
EP (1) EP3847814A1 (ko)
JP (2) JP2022506162A (ko)
KR (1) KR20210084479A (ko)
CN (7) CN111418210A (ko)
WO (7) WO2020094075A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023224279A1 (ko) * 2022-05-16 2023-11-23 현대자동차주식회사 기하학적 움직임 예측을 사용하는 비디오 코딩을 위한 방법 및 장치

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10721487B2 (en) * 2012-04-17 2020-07-21 Texas Instruments Incorporated Converting a bi-predicted merging candidate in a merging candidate list for a prediction unit of a picture
CN116582682A (zh) 2017-08-22 2023-08-11 松下电器(美国)知识产权公司 图像编码器、图像解码器及非暂态计算机可读介质
TWI728390B (zh) 2018-06-29 2021-05-21 大陸商北京字節跳動網絡技術有限公司 查找表尺寸
JP7256265B2 (ja) 2018-06-29 2023-04-11 北京字節跳動網絡技術有限公司 ルックアップテーブルの更新:fifo、制限されたfifo
TWI719525B (zh) 2018-06-29 2021-02-21 大陸商北京字節跳動網絡技術有限公司 Lut與amvp之間的交互
TWI752331B (zh) 2018-06-29 2022-01-11 大陸商北京字節跳動網絡技術有限公司 當向Merge/AMVP添加HMVP候選時的部分/完全修剪
EP3791588A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Checking order of motion candidates in lut
TWI719523B (zh) 2018-06-29 2021-02-21 大陸商北京字節跳動網絡技術有限公司 哪個查找表需要更新或不更新
KR20240008952A (ko) 2018-07-02 2024-01-19 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인트라 예측 모드들을 갖는 lut들 및 비인접 블록들로부터의 인트라 모드 예측
WO2020007304A1 (zh) * 2018-07-02 2020-01-09 华为技术有限公司 一种运动矢量预测方法、装置与编解码器
MX2021002557A (es) * 2018-09-07 2021-04-29 Panasonic Ip Corp America Sistema y metodo para codificacion de video.
CN111064961B (zh) 2018-09-12 2023-06-09 北京字节跳动网络技术有限公司 视频处理方法和装置
CN115514958A (zh) 2018-11-02 2022-12-23 抖音视界有限公司 用于基于历史的运动矢量预测的表维护
EP3847814A1 (en) 2018-11-06 2021-07-14 Beijing Bytedance Network Technology Co. Ltd. Position dependent storage of motion information
JP7157246B2 (ja) 2018-11-06 2022-10-19 北京字節跳動網絡技術有限公司 ジオメトリック分割を用いたインター予測のためのサイド情報信号通知方法
BR112021008654A2 (pt) * 2018-11-08 2021-08-10 Guangdong Oppo Mobile Telecommunications Corp., Ltd. método de decodificação vídeo, método de codificação de vídeo, e aparelho de decodificação de vídeo
WO2020103935A1 (en) 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Blending method for inter prediction with geometry partition
CN113170182B (zh) 2018-12-03 2024-01-26 北京字节跳动网络技术有限公司 不同预测模式下的修剪方法
CN113196758A (zh) * 2018-12-18 2021-07-30 韩国电子通信研究院 图像编码/解码方法和设备以及存储比特流的记录介质
US11122272B2 (en) * 2018-12-26 2021-09-14 Mediatek Inc. Triangle prediction with applied-block settings and motion storage settings
WO2020135465A1 (en) 2018-12-28 2020-07-02 Beijing Bytedance Network Technology Co., Ltd. Modified history based motion prediction
WO2020140862A1 (en) 2018-12-30 2020-07-09 Beijing Bytedance Network Technology Co., Ltd. Conditional application of inter prediction with geometric partitioning in video processing
MX2021008027A (es) * 2018-12-31 2021-08-05 Beijing Dajia Internet Information Tech Co Ltd Sistema y metodo de se?alizacion de modos de fusion de movimiento en codificacion de video.
US11032574B2 (en) * 2018-12-31 2021-06-08 Tencent America LLC Method and apparatus for video coding
CN116647694A (zh) * 2019-01-02 2023-08-25 北京大学 候选mv列表构建方法和装置
CN113273186A (zh) 2019-01-10 2021-08-17 北京字节跳动网络技术有限公司 Lut更新的调用
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
JP6801830B1 (ja) * 2019-03-08 2020-12-16 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
EP3939262A4 (en) * 2019-03-11 2022-11-09 Alibaba Group Holding Limited METHOD, DEVICE AND SYSTEM FOR DETERMINING PREDICTION WEIGHT FOR MERGE MODE
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
CN113728635A (zh) * 2019-03-23 2021-11-30 北京达佳互联信息技术有限公司 用于三角预测的视频编解码方法和装置
JP7446339B2 (ja) 2019-06-04 2024-03-08 北京字節跳動網絡技術有限公司 幾何学的分割モードコーディングを用いた動き候補リスト
CN113966616B (zh) 2019-06-04 2023-11-14 北京字节跳动网络技术有限公司 使用临近块信息的运动候选列表构建
KR20220016840A (ko) 2019-06-06 2022-02-10 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩을 위한 움직임 후보 리스트 구성
CN114270824A (zh) * 2019-06-19 2022-04-01 Lg 电子株式会社 用于基于帧间预测编译图像的方法和装置
WO2020263467A1 (en) 2019-06-24 2020-12-30 Alibaba Group Holding Limited Method and apparatus for motion field storage in video coding
JP7318099B2 (ja) 2019-07-14 2023-07-31 北京字節跳動網絡技術有限公司 ビデオコーディングにおける変換ブロック・サイズ制約
JP7383119B2 (ja) 2019-07-26 2023-11-17 北京字節跳動網絡技術有限公司 映像コーディングモードのブロックサイズ依存使用
CN114450959A (zh) 2019-09-28 2022-05-06 北京字节跳动网络技术有限公司 视频编解码中的几何分割模式
WO2021068920A1 (en) 2019-10-10 2021-04-15 Beijing Bytedance Network Technology Co., Ltd. Use of non-rectangular partitions in video coding
US11533498B2 (en) * 2019-11-21 2022-12-20 Tencent America LLC Geometric partitioning mode in video coding
WO2021104433A1 (en) 2019-11-30 2021-06-03 Beijing Bytedance Network Technology Co., Ltd. Simplified inter prediction with geometric partitioning
CN114868395A (zh) 2019-12-24 2022-08-05 抖音视界(北京)有限公司 采用几何分割进行帧间预测的高级语法
US11496755B2 (en) * 2019-12-28 2022-11-08 Tencent America LLC Method and apparatus for video coding
CN115699735A (zh) * 2020-05-29 2023-02-03 北京达佳互联信息技术有限公司 使用几何分区的视频编解码方法及装置
WO2021247906A1 (en) * 2020-06-03 2021-12-09 Beijing Dajia Internet Information Technology Co., Ltd. Geometric partition mode with motion vector refinement
CN112055203B (zh) * 2020-08-22 2024-04-12 浙江大华技术股份有限公司 帧间预测方法、视频编码方法及其相关装置
CN117121482A (zh) * 2021-04-09 2023-11-24 北京达佳互联信息技术有限公司 具有显式运动信令的几何分区模式
WO2022214097A1 (en) * 2021-04-09 2022-10-13 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing
US11722658B2 (en) * 2021-06-25 2023-08-08 Tencent America LLC Method and apparatus for video coding
WO2023278489A1 (en) * 2021-06-28 2023-01-05 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for geometric partition mode with motion vector refinement
WO2023284694A1 (en) * 2021-07-15 2023-01-19 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing
WO2023284817A1 (en) * 2021-07-15 2023-01-19 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing
US20230108504A1 (en) * 2021-10-04 2023-04-06 Tencent America LLC On geometric partition mode with intra and inter prediction
US20230199213A1 (en) * 2021-12-17 2023-06-22 Tencent America LLC Template-matching based adaptive motion vector resolution by using an adaptive order of motion vector resolutions
WO2023143119A1 (en) * 2022-01-28 2023-08-03 Mediatek Inc. Method and apparatus for geometry partition mode mv assignment in video coding system
WO2023158765A1 (en) * 2022-02-16 2023-08-24 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for geometric partitioning mode split modes reordering with pre-defined modes order
JP2023156062A (ja) * 2022-04-12 2023-10-24 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP2023156064A (ja) * 2022-04-12 2023-10-24 Kddi株式会社 画像復号装置、画像復号方法及びプログラム

Family Cites Families (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008016609A2 (en) * 2006-08-02 2008-02-07 Thomson Licensing Adaptive geometric partitioning for video encoding
CN101731012B (zh) * 2007-04-12 2013-10-16 汤姆森特许公司 用于视频编码器中的快速几何模式判定的方法和设备
JP5036643B2 (ja) * 2007-07-18 2012-09-26 株式会社リコー 情報処理装置、情報処理方法、及びプログラム
JP2011501508A (ja) * 2007-10-12 2011-01-06 トムソン ライセンシング 幾何学分割された双方向予測モードパーティションのビデオエンコーディング及びデコーディングのための方法及び装置
EP3678374A1 (fr) * 2009-07-03 2020-07-08 Orange Prédiction d'un vecteur mouvement d'une partition d'image courante de forme géometrique ou de taille différente de celle d'au moins une partition d'image de référence voisine, codage et decodage utilisant une telle prediction
EP2486517A4 (en) * 2009-10-05 2014-06-11 Icvt Ltd APPARATUS AND METHODS FOR RECOMPRINTING DIGITAL IMAGES
WO2011087320A2 (ko) * 2010-01-15 2011-07-21 삼성전자 주식회사 예측 부호화를 위해 가변적인 파티션을 이용하는 비디오 부호화 방법 및 장치, 예측 부호화를 위해 가변적인 파티션을 이용하는 비디오 복호화 방법 및 장치
BR112012019560B1 (pt) 2010-02-05 2021-08-24 Telefonaktiebolaget Lm Ericsson Método para gerenciar candidatos a vetor de movimento predito, e, aparelhos de codificação e de decodificação de vídeo
US8879632B2 (en) * 2010-02-18 2014-11-04 Qualcomm Incorporated Fixed point implementation for geometric motion partitioning
US8913661B2 (en) * 2010-02-19 2014-12-16 Skype Motion estimation using block matching indexing
KR101752418B1 (ko) * 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
DK2568706T3 (en) 2010-05-04 2019-03-11 Lg Electronics Inc METHOD AND DEVICE FOR PROCESSING A VIDEO SIGNAL
JP5686018B2 (ja) * 2010-05-21 2015-03-18 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法および画像符号化プログラム
US8824558B2 (en) * 2010-11-23 2014-09-02 Mediatek Inc. Method and apparatus of spatial motion vector prediction
US20120147961A1 (en) * 2010-12-09 2012-06-14 Qualcomm Incorporated Use of motion vectors in evaluating geometric partitioning modes
US9807424B2 (en) * 2011-01-10 2017-10-31 Qualcomm Incorporated Adaptive selection of region size for identification of samples in a transition zone for overlapped block motion compensation
EP3879834A1 (en) * 2011-05-31 2021-09-15 JVCKENWOOD Corporation Moving image encoding device, moving image encoding method and moving image encoding program, as well as moving image decoding device, moving image decoding method and moving image decoding program
PL3419289T3 (pl) 2011-06-30 2021-04-19 JVC Kenwood Corporation Urządzenie do dekodowania obrazu, sposób dekodowania obrazu i program do dekodowania obrazu
MX2014000159A (es) * 2011-07-02 2014-02-19 Samsung Electronics Co Ltd Metodo y aparato para la codificacion de video, y metodo y aparato para la decodificacion de video acompañada por inter prediccion utilizando imagen co-localizada.
JP5887764B2 (ja) 2011-08-29 2016-03-16 株式会社Jvcケンウッド 動き補償フレーム生成装置及び方法
US9736489B2 (en) 2011-09-17 2017-08-15 Qualcomm Incorporated Motion vector determination for video coding
US20130114717A1 (en) * 2011-11-07 2013-05-09 Qualcomm Incorporated Generating additional merge candidates
PL409214A1 (pl) * 2011-11-08 2015-07-20 Kt Corporation Sposób i urządzenie do skanowania współczynników na podstawie trybu podziału jednostki predykcji
US9883203B2 (en) * 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
US20130188715A1 (en) * 2012-01-09 2013-07-25 Qualcomm Incorporated Device and methods for merge list reordering in video coding
CN102547290B (zh) * 2012-01-20 2013-12-18 厦门大学 一种基于几何分割的视频图像解编码方法
US9426463B2 (en) * 2012-02-08 2016-08-23 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
US9325990B2 (en) * 2012-07-09 2016-04-26 Qualcomm Incorporated Temporal motion vector prediction in video coding extensions
US9699450B2 (en) * 2012-10-04 2017-07-04 Qualcomm Incorporated Inter-view predicted motion vector for 3D video
CN102946536B (zh) * 2012-10-09 2015-09-30 华为技术有限公司 候选矢量列表构建的方法及装置
TWI662831B (zh) * 2012-10-12 2019-06-11 韓國電子通信研究院 視訊編碼及解碼方法及使用該方法之裝置
WO2014081261A1 (ko) * 2012-11-23 2014-05-30 인텔렉추얼 디스커버리 주식회사 움직임 정보 병합을 이용한 비디오 부호화/복호화 방법 및 장치
US9277200B2 (en) 2013-01-17 2016-03-01 Qualcomm Incorporated Disabling inter-view prediction for reference picture list in video coding
US10129542B2 (en) * 2013-10-17 2018-11-13 Futurewei Technologies, Inc. Reference pixel selection and filtering for intra coding of depth map
WO2015062002A1 (en) 2013-10-31 2015-05-07 Mediatek Singapore Pte. Ltd. Methods for sub-pu level prediction
CN103561276B (zh) 2013-11-07 2017-01-04 北京大学 一种图像视频编解码方法
KR101382367B1 (ko) 2013-11-13 2014-04-09 주식회사 아나패스 움직임 추정 방법 및 이를 이용한 영상 처리 장치
US11303900B2 (en) 2013-12-06 2022-04-12 Mediatek Inc. Method and apparatus for motion boundary processing
US9854270B2 (en) 2013-12-19 2017-12-26 Qualcomm Incorporated Device and method for scalable coding of video information
WO2015100731A1 (en) * 2014-01-03 2015-07-09 Mediatek Singapore Pte. Ltd. Methods for determining the prediction partitions
EP3069322B1 (en) * 2014-03-20 2020-08-26 Huawei Technologies Co., Ltd. An apparatus and a method for associating a video block partitioning pattern to a video coding block
US10327001B2 (en) 2014-06-19 2019-06-18 Qualcomm Incorporated Systems and methods for intra-block copy
CN107079161B (zh) * 2014-09-01 2020-11-20 寰发股份有限公司 用于屏幕内容以及视频编码的帧内图片块复制的方法
WO2016052977A1 (ko) * 2014-10-01 2016-04-07 주식회사 케이티 비디오 신호 처리 방법 및 장치
US11477477B2 (en) * 2015-01-26 2022-10-18 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
US10200711B2 (en) 2015-03-27 2019-02-05 Qualcomm Incorporated Motion vector derivation in video coding
CN107431824B (zh) 2015-04-08 2020-10-02 寰发股份有限公司 视频编解码中调色板模式上下文编解码和二值化的方法
US10356416B2 (en) * 2015-06-09 2019-07-16 Qualcomm Incorporated Systems and methods of determining illumination compensation status for video coding
WO2016200100A1 (ko) * 2015-06-10 2016-12-15 삼성전자 주식회사 적응적 가중치 예측을 위한 신택스 시그널링을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
US10271064B2 (en) 2015-06-11 2019-04-23 Qualcomm Incorporated Sub-prediction unit motion vector prediction using spatial and/or temporal motion information
WO2017076221A1 (en) * 2015-11-05 2017-05-11 Mediatek Inc. Method and apparatus of inter prediction using average motion vector for video coding
CN108886619A (zh) * 2016-01-07 2018-11-23 联发科技股份有限公司 用于视频编解码系统的仿射合并模式预测的方法及装置
CN115460408A (zh) * 2016-01-27 2022-12-09 韩国电子通信研究院 通过使用预测对视频进行编码和解码的方法和装置
CN109328461B (zh) * 2016-04-29 2023-09-05 世宗大学校产学协力团 视频信号编码/解码方法和设备
US10142652B2 (en) * 2016-05-05 2018-11-27 Google Llc Entropy coding motion vector residuals obtained using reference motion vectors
US10560718B2 (en) * 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
KR102275420B1 (ko) * 2016-07-12 2021-07-09 한국전자통신연구원 영상 부호화/복호화 방법 및 이를 위한 기록 매체
US20180041778A1 (en) 2016-08-02 2018-02-08 Qualcomm Incorporated Geometry transformation-based adaptive loop filtering
JP2019530311A (ja) 2016-09-02 2019-10-17 ヴィド スケール インコーポレイテッド 360度ビデオ情報をシグナリングするための方法およびシステム
US10448010B2 (en) * 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
US11212496B2 (en) 2016-10-07 2021-12-28 Vid Scale, Inc. Geometry conversion and frame packing associated with 360-degree videos
US20180184127A1 (en) * 2016-12-22 2018-06-28 Qualcomm Incorporated Determining neighboring samples for bilateral filtering in video coding
WO2018128239A1 (ko) * 2017-01-03 2018-07-12 엘지전자 주식회사 영상 코딩 시스템에서 블록 분할 구조에 따른 영상 디코딩 방법 및 장치
US10715827B2 (en) * 2017-01-06 2020-07-14 Mediatek Inc. Multi-hypotheses merge mode
US20180199057A1 (en) * 2017-01-12 2018-07-12 Mediatek Inc. Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding
EP3571839B1 (en) * 2017-02-06 2020-10-28 Huawei Technologies Co., Ltd. Video encoder and decoder for predictive partitioning
US20180242024A1 (en) * 2017-02-21 2018-08-23 Mediatek Inc. Methods and Apparatuses of Candidate Set Determination for Quad-tree Plus Binary-tree Splitting Blocks
KR20180098158A (ko) * 2017-02-24 2018-09-03 주식회사 케이티 비디오 신호 처리 방법 및 장치
US10701390B2 (en) * 2017-03-14 2020-06-30 Qualcomm Incorporated Affine motion information derivation
CN110476424B (zh) * 2017-03-16 2022-03-04 联发科技股份有限公司 一种视频编解码方法及装置
WO2018172609A2 (en) * 2017-03-21 2018-09-27 Nokia Technologies Oy Motion compensation in video encoding and decoding
EP3632106A1 (en) 2017-06-30 2020-04-08 Huawei Technologies Co., Ltd. Encoder, decoder, computer program and computer program product for processing a frame of a video sequence
EP3632107A1 (en) 2017-06-30 2020-04-08 Huawei Technologies Co., Ltd. Encoder, decoder, computer program and computer program product for processing a frame of a video sequence
CN117376558A (zh) 2017-10-16 2024-01-09 数字洞察力有限公司 用于将图像编码/解码的方法和存储比特流的记录介质
WO2019083334A1 (ko) * 2017-10-26 2019-05-02 한국전자통신연구원 비대칭 서브 블록 기반 영상 부호화/복호화 방법 및 장치
WO2019151279A1 (ja) 2018-01-30 2019-08-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN108335335B (zh) 2018-02-11 2019-06-21 北京大学深圳研究生院 一种基于增强图变换的点云属性压缩方法
US10771781B2 (en) * 2018-03-12 2020-09-08 Electronics And Telecommunications Research Institute Method and apparatus for deriving intra prediction mode
CN112119637B (zh) 2018-05-17 2024-03-22 松下电器(美国)知识产权公司 编码装置、解码装置
US20190387251A1 (en) * 2018-06-19 2019-12-19 Mediatek Inc. Methods and Apparatuses of Video Processing with Overlapped Block Motion Compensation in Video Coding Systems
US11051036B2 (en) * 2018-07-14 2021-06-29 Mediatek Inc. Method and apparatus of constrained overlapped block motion compensation in video coding
US11677976B2 (en) * 2018-09-21 2023-06-13 Interdigital Vc Holdings, Inc. Method and apparatus for video encoding and decoding using bi-prediction
WO2020065518A1 (en) 2018-09-24 2020-04-02 Beijing Bytedance Network Technology Co., Ltd. Bi-prediction with weights in video coding and decoding
MX2021004020A (es) * 2018-10-08 2021-06-30 Huawei Tech Co Ltd Aparatos y metodos para interprediccion de una particion geometrica de un bloque de codificacion.
US11284066B2 (en) 2018-10-10 2022-03-22 Tencent America LLC Method and apparatus for intra block copy in intra-inter blending mode and triangle prediction unit mode
CN115514958A (zh) 2018-11-02 2022-12-23 抖音视界有限公司 用于基于历史的运动矢量预测的表维护
EP3847814A1 (en) 2018-11-06 2021-07-14 Beijing Bytedance Network Technology Co. Ltd. Position dependent storage of motion information
WO2020103935A1 (en) 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Blending method for inter prediction with geometry partition

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023224279A1 (ko) * 2022-05-16 2023-11-23 현대자동차주식회사 기하학적 움직임 예측을 사용하는 비디오 코딩을 위한 방법 및 장치

Also Published As

Publication number Publication date
US20210258575A1 (en) 2021-08-19
CN112219400B (zh) 2024-03-26
WO2020094074A1 (en) 2020-05-14
CN111434110B (zh) 2023-06-20
WO2020094075A1 (en) 2020-05-14
WO2020094076A1 (en) 2020-05-14
JP2022506162A (ja) 2022-01-17
EP3847814A4 (en) 2021-07-14
US20230283777A1 (en) 2023-09-07
US11431973B2 (en) 2022-08-30
JP2023159148A (ja) 2023-10-31
CN111418205A (zh) 2020-07-14
EP3847814A1 (en) 2021-07-14
CN111434110A (zh) 2020-07-17
CN111418210A (zh) 2020-07-14
WO2020094077A1 (en) 2020-05-14
WO2020094073A1 (en) 2020-05-14
CN111418208A (zh) 2020-07-14
CN111418211A (zh) 2020-07-14
CN111418207A (zh) 2020-07-14
WO2020094079A1 (en) 2020-05-14
CN111418208B (zh) 2023-12-05
WO2020094078A1 (en) 2020-05-14
US11665344B2 (en) 2023-05-30
US20210051324A1 (en) 2021-02-18
CN117768658A (zh) 2024-03-26
CN112219400A (zh) 2021-01-12
US20210006788A1 (en) 2021-01-07
US11265541B2 (en) 2022-03-01
CN111418211B (zh) 2024-02-27

Similar Documents

Publication Publication Date Title
US11665344B2 (en) Multiple merge lists and orders for inter prediction with geometric partitioning
US11700371B2 (en) Table maintenance for HMVP candidate storage
WO2020244546A1 (en) Motion information derivation for inter prediction
CN111418207B (zh) 依赖块尺寸的对运动信息的存储
WO2020233513A1 (en) Motion information determination and storage for video processing
US20220078476A1 (en) HMVP Table Improvements

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E902 Notification of reason for refusal
E601 Decision to refuse application