KR102600746B1 - 히스토리 기반 움직임 벡터 예측을 위한 보간 필터 사용 - Google Patents

히스토리 기반 움직임 벡터 예측을 위한 보간 필터 사용 Download PDF

Info

Publication number
KR102600746B1
KR102600746B1 KR1020217030714A KR20217030714A KR102600746B1 KR 102600746 B1 KR102600746 B1 KR 102600746B1 KR 1020217030714 A KR1020217030714 A KR 1020217030714A KR 20217030714 A KR20217030714 A KR 20217030714A KR 102600746 B1 KR102600746 B1 KR 102600746B1
Authority
KR
South Korea
Prior art keywords
interpolation filter
motion
candidate
video
candidates
Prior art date
Application number
KR1020217030714A
Other languages
English (en)
Other versions
KR20210143772A (ko
Inventor
홍빈 리우
리 장
카이 장
지장 수
유에 왕
Original Assignee
베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드
바이트댄스 아이엔씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드, 바이트댄스 아이엔씨 filed Critical 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드
Priority to KR1020237038174A priority Critical patent/KR20230157529A/ko
Publication of KR20210143772A publication Critical patent/KR20210143772A/ko
Application granted granted Critical
Publication of KR102600746B1 publication Critical patent/KR102600746B1/ko

Links

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
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/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/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/186Methods 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 a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Abstract

비디오 프로세싱 방법은 비디오 영역의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환에 앞서 적어도 하나의 HMVP(history-based motion vector prediction) 표를 유지하는 단계, 여기서 HMVP 표는 이전에 프로세싱된 하나 이상의 블록의 움직임 정보에 대응되는 하나 이상의 엔트리들을 포함하고; 적어도 하나의 HMVP 표를 이용하여 변환을 수행하는 단계를 포함하되, 각 엔트리의 움직임 정보는 이전에 프로세싱된 하나 이상의 블록에 대한 보간 필터 정보를 포함하도록 구성되고, 보간 필터 정보는 이전에 프로세싱된 하나 이상의 블록의 예측 블록들을 보간하는 데 사용되는 보간 필터들을 지시한다.

Description

히스토리 기반 움직임 벡터 예측을 위한 보간 필터 사용
관련 출원들과의 상호 참조
본 출원은 2020년 4월 1일에 제출된 국제 특허 출원 번호 PCT/CN2020/082752의 국내 단계이다. 파리 협약에 따른 적용가능한 특허법 및/또는 규칙에 따라, 본 출원은 2019년 4월 1일에 제출된 국제 특허 출원 번호 PCT/CN2019/080754에 대한 우선권과 혜택을 적시에 청구하기 위하여 만들어졌다. 상술한 모든 특허 출원은 그 전체가 참고로서 여기에 포함된다.
본 특허 문서는 비디오 프로세싱 기술들, 장치들 및 시스템들에 관한 것이다.
비디오 압축의 발전에도 불구하고, 디지털 비디오는 여전히 인터넷 및 기타 디지털 통신 네트워크에서 가장 큰 대역폭의 사용을 차지하고 있다. 비디오를 수신하고 디스플레이할 수 있는 연결된 사용자 장치의 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭의 수요는 계속해서 증가할 것으로 예상된다.
디지털 비디오 프로세싱, 특히 움직임 벡터 유도와 관련된 장치, 시스템 및 방법이 설명된다. 설명되는 방법은 기존 비디오 코딩 표준(예를 들어, 고효율 비디오 코딩(HEVC) 또는 다목적 비디오 코딩(VVC)) 및 미래의 비디오 코딩 표준 또는 비디오 코덱에 적용될 수 있다.
대표적인 일 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 비디오의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 수행하는 단계, 코딩된 표현은 기본 움직임 정보 정밀도를 사용하지 않는 현재 비디오 블록에 대한 다중 정밀도 세트로부터의 움직임 정보 정밀도를 나타내는 제1 파라미터 및/또는 대체 하프-픽셀 보간 필터가 변환을 위해 사용되는지 여부를 식별하는 제2 파라미터를 포함하고, 제1 파라미터 및/또는 제2 파라미터 각각은 하나 이상의 빈(bin)에 연관되고, 컨텍스트 모델 기반 코딩은 코딩된 표현에서 하나 이상의 빈 중 첫 번째(제1) 빈에 대해서만 사용된다.
다른 대표적인 일 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 비디오의 현재 비디오 블록 및 비디오의 코딩된 표현 간의 변환을 위해 보간 필터를 이용하여 M-정수 픽셀 정확도 혹은 1/N 서브 픽셀 정확도를 갖고 M 및 N은 양의 정수이며 N은 2가 아닌 움직임 정보를 결정하는 단계; 및 움직임 정보에 기초하여 변환을 수행하는 단계를 포함하되, 코딩된 표현의 신택스 필드는 보간 필터에 대응된다.
다른 대표적인 일 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 비디오의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 위해 움직임 후보 리스트의 하나 이상의 움직임 후보들과 하나 이상의 움직임 후보들과 연관된 하나 이상의 보간 필터들에 기초하여 제1 움직임 후보를 생성하는 단계; 움직임 후보 리스트에 제1 움직임 후보를 삽입하는 단계; 및 움직임 후보 리스트에 기초하여 변환을 수행하는 단계를 포함한다.
다른 대표적인 일 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 비디오의 제1 비디오 영역의 제1 블록 및 비디오의 제2 비디오 영역의 제2 블록을 포함하는 복수 개의 블록들 각각과, 복수 개의 블록들 각각에 대한 움직임 벡터 차이를 보간하기 위해 사용되는 각각의 보간 필터에 대한 정보를 포함하는 움직임 정보를 연관시키는 단계; 및 비디오와 비디오의 코딩된 표현 간의 변환을 움직임 정보를 이용하여 수행하는 단계를 포함한다.
다른 대표적인 일 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 비디오의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하되, 현재 비디오 블록은 머지 모드 혹은 MMVD(merge with motion vector difference) 모드를 이용하여 코딩된 표현으로 표현되고, 1/N 정밀도를 갖는 보간 필터는 규칙에 따라 현재 비디오 블록과 연관된 예측 블록을 보간하는 데 사용되고, N은 양의 정수이며, 규칙은 보간 필터가 기본 보간 필터와 상이한 대체 보간 필터인 경우 보간 정보를 상속하기 위한 조건을 정의한다.
다른 대표적인 일 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 현재 비디오 블록을 포함하는 비디오와 비디오의 코딩된 표현 간의 변환 동안 현재 비디오 블록을 프로세싱하는 단계; 및 현재 비디오 블록의 움직임 정보와 머지 후보 리스트를 비교하고 선택적으로 업데이트하는 단계;를 포함하되, 움직임 정보는 포간 필터 정보를 포함하고, 보간 필터 정보는 코딩된 표현에서 현재 비디오 블록을 표현하는 데 사용되는 움직임 벡터 차이 값들을 보간하는 데 사용되는 보간 필터의 파라미터들을 포함한다.
다른 대표적인 일 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 비디오 영역의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환에 앞서, 적어도 하나의 HMVP(history-based motion vector prediction) 표를 유지하는 단계를 포함하되, HMVP 표는 이전에 프로세싱된 하나 이상의 블록의 움직임 정보에 대응되는 하나 이상의 엔트리를 포함하고, 적어도 하나의 HMVP 표를 이용하여 변환을 수행하는 단계를 포함하되, 각 엔트리의 움직임 정보는 이전에 프로세싱된 하나 이상의 블록에 대한 보간 필터 정보를 포함하도록 구성되고, 보간 필터 정보는 이전에 프로세싱된 하나 이상의 블록의 예측 블록들을 보간하는 데 사용되는 보간 필터들을 지시한다.
다른 대표적인 일 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 비디오 영역의 현재 비디오 블록 및 비디오의 코딩된 표현 간의 변환에 앞서, 적어도 하나의 HMVP(history-based motion vector prediction) 표를 유지하는 단계를 포함하되, HMVP 표는 하나 이상의 이전에 프로세싱된 블록의 움직임 정보에 대응되는 하나 이상의 엔트리를 포함하고, 변환을 위해 HMVP 머지 후보를 포함하는 움직임 후보 리스트를 구성하는 단계를 포함하되, HMVP 후보는 한 엔트리와 연관된 대응 보간 필터 정보를 포함하는 HMVP 표로부터 한 엔트리를 상속하여 유도되며, 움직임 후보 리스트에 기초하여 변환을 수행하는 단계를 포함한다.
대표적인 일 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 비디오의 코딩된 표현에서 비디오의 현재 비디오 블록을 표현하는 데 사용되는 코딩 모드를 결정하는 단계, 코딩 모드에 따라 현재 비디오 블록을 코딩된 표현으로 코딩하는 단계를 포함하되, 움직임 정보의 표현을 위한 하프-픽셀 정확도의 사용이 코딩 모드의 사용으로 인해 현재 비디오 블록에 대해 비활성화된다.
대표적인 일 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 비디오의 현재 비디오 블록이 코딩 모드를 이용하여 코딩되었다고 결정 하기위해 비디오의 코딩된 표현을 파싱하는 단계, 코딩 모드에 따라, 코딩된 표현으로부터 현재 비디오 블록의 디코딩된 표현을 생성하는 단계를 포함하되, 움직임 정보를 표현하기 위한 하프-픽셀 정확도의 사용은 코딩 모드의 사용으로 인해 현재 비디오 블록에 대해 비활성화된다.
대표적인 일 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 GBi(generalized Bi-prediction) 모드를 이용하여 프로세싱된 현재 비디오 블록을 위해, 제1 예측 블록 및 제2 예측 블록 각각을 위한 제1 가중치 인자 및 제2의 상이한 가중치 인자를 결정하는 단계를 포함하되, 제1 가중치 인자 및 제2 가중치 인자는 가중치 인자 세트들로부터 선택되고, 결정에 기초하여 비디오의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하되, 인터 모드를 위해 사용되는 제1 가중치 인자 세트는 어파인 인터 모드를 위해 사용되는 제2 가중치 인자 세트와 상이하다.
대표적인 일 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 비디오의 비디오 영역의 복수의 비디오 유닛들과 복수의 비디오 유닛들과 코딩된 표현 간의 변환을 위해, 비디오 유닛의 코딩 모드에 의존하여 보간 필터와 연관된 정보를 결정하는 단계를 포함하되, 보간 필터는 코딩된 표현에서 움직임 벡터 차이 값들을 보간하는 데 사용되고, M-정수 픽셀 정확도 혹은 1/N 서브 픽셀 정확도를 가지며, M 및 N은 양의 정수이며, 보간 필터를 이용하여 변환을 수행하는 단계를 포함한다.
대표적인 일 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 비디오의 코딩된 표현에서 비디오의 현재 비디오 블록을 표현하기 위해 사용되는 코딩 모드를 결정하는 단계를 포함하되, 코딩 모드에 따라 현재 비디오 블록을 코딩된 표현으로 코딩하는 단계를 포함하고, 움직임 정보를 표현하기 위한 기본 하프-픽셀 정확도 필터 및 대체 하프-픽셀 정확도 필터의 사용은 코딩 모드의 사용으로 인해 현재 비디오 블록에 대해 비활성화된다.
대표적인 일 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 비디오의 현재 비디오 블록이 코딩 모드를 이용하여 코딩되었음을 결정하기 위해 비디오의 코딩된 표현을 파싱하는 단계 및 코딩 모드에 따라 코딩된 표현으로부터 현재 비디오 블록의 디코딩된 표현을 생성하는 단계를 포함하되, 움직임 정보를 표현하기 위한 기본 하프-픽셀 정확도 필터 및 대체 하프-픽셀 정확도 필터의 사용은 코딩 모드의 사용으로 인해 현재 비디오 블록에 대해 비활성화된다.
대표적인 일 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 비디오의 비디오 블록에 대해 활성화된 대체 보간 필터의 사용으로 인해 비디오 블록을 비디오의 코딩된 표현으로 코딩하는 데 코딩 모드가 불허되는 것으로 결정하는 단계, 및 결정에 기초하여 비디오 블록의 코딩된 표현을 생성하는 단계를 포함하되, 대체 보간 필터는 현재 비디오 블록의 인터 예측 블록들을 보간하는 데 사용된다.
대표적인 일 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 비디오의 비디오 블록에 대해 활성화된 대체 보간 필터의 사용으로 인해 비디오의 코딩된 표현에서 비디오 블록을 표현하기 위한 코딩 모드의 사용이 불허되는 것으로 결정하는 단계, 및 결정에 기초하여 코딩된 표현을 파싱함으로서 디코딩된 비디오 블록을 생성하는 단계를 포함한다.
또한, 대표적인 양태에서, 개시된 방법 중 어느 하나는 인코더 측에 의해 구현될 수 있다.
또한, 대표적인 양태에서, 개시된 방법 중 어느 하나는 디코더 측에 의해 구현될 수 있다.
상술한 방법 중 하나는 프로세서가 실행할 수 있는 코드의 형태로 구현되어 컴퓨터가 읽을 수 있는 프로그램 매체에 저장된다.
또 다른 대표적인 양상에서, 프로세서 및 그 위에 명령어를 포함하는 비일시적 메모리를 포함하는 비디오 시스템의 장치가 개시된다. 프로세서에 의한 실행 시 명령어는 프로세서로 하여금 개시된 방법 중 임의의 것을 구현하게 한다.
개시된 기술의 상기 및 기타 양태 및 특징들은 도면들, 상세한 설명 및 청구 범위에서 보다 상세하게 설명된다.
도 1은 QTBT(quadtree plus binary tree) 블록 구조에 대한 도면이다.
도 2는 머지 후보 리스트를 구성하는 예에 대한 도면이다.
도 3은 공간적 후보들의 위치들의 예에 대한 도면이다.
도 4는 공간적 머지 후보들의 중복 검사를 위한 후보 쌍들의 예에 대한 도면이다.
도 5a 및 5b는 현재 블록의 크기 및 형태에 기초한 제2 예측 유닛(PU(의 위치의 예들에 대한 도면이다.
도 6은 시간적 머지 후보들의 움직임 벡터 스케일링의 예에 대한 도면이다.
도 7은 시간적 머지 후보들의 후보 위치들의 예에 대한 도면이다.
도 8은 결합된 양 예측 머지 후보 생성의 예에 대한 도면이다.
도 9는 움직임 벡터 예측 후보 구성의 예에 대한 도면이다.
도 10은 공간적 움직임 벡터 후보의 움직임 벡터 스케일링의 예에 대한 도면이다.
도 11a 및 11b는 본 문서에서 설명된 시각 매체 디코딩 혹은 시각 매체 인코딩 기술을 구현하는 예시적인 하드웨어 플랫폼의 블록도들에 대한 도면이다.
도 12a 및 12b는 개시된 기술의 일부 실시예들에 기초하는 예시적인 비디오 프로세싱 방법들의 흐름도들에 대한 도면이다.
도 13a 내지 13c는 개시된 기술의 일부 실시예들에 기초하는 예시적인 비디오 프로세싱 방법들의 흐름도들에 대한 도면이다.
도 14a 내지 14b는 개시된 기술의 일부 실시예들에 기초하는 예시적인 비디오 프로세싱 방법들의 흐름도들에 대한 도면이다.
도 15a 내지 15d는 개시된 기술의 일부 실시예들에 기초하는 예시적인 비디오 프로세싱 방법들의 흐름도들에 대한 도면이다.
도 16a 내지 16d는 개시된 기술의 일부 실시예들에 기초하는 예시적인 비디오 프로세싱 방법들의 흐름도들에 대한 도면이다.
1. HEVC/H.265 에서 비디오 코딩
비디오 코딩 표준들은 주로 잘 알려진 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 Advanced Video Coding (AVC) 및 H.265/HEVC 표준들을 생성하였다. H.262부터, 비디오 코딩 표준들은 시간적 예측과 변환 코딩이 활용되는 하이브리드 비디오 코딩 구조에 기반한다. HEVC를 넘어서는 미래의 비디오 코딩 기술들을 탐구하기 위해, 2015년에 VCEG와 MPEG가 공동으로 JVET(Joint Video Exploration Team)를 설립했다. 그 이후, 많은 새로운 방법들이 JVET에서 채택되어 JEM(Joint Exploration Model: JEM)이라는 참조 소프트웨어에 포함되었다. 2018년 4월, VCEG(Q6/16)와 ISO/IEC JTC1 SC29/WG11 (MPEG) 간의 JVET(Joint Video Expert Team)는 HEVC 대비 50% 비트 율 감소를 목표로 하는 VVC 표준 작업을 위해 생성되었다.
2.1. 보다 큰 CTU들의 QTBT(Quadtree plus binary tree) 블록 구조
HEVC에서, CTU는 다양한 로컬 특성에 적응하기 위해 코딩 트리로 표현되는 쿼드 트리 구조를 사용하여 CU들로 분할된다. 인터 픽처(시간적) 혹은 인트라 픽처(공간적) 예측을 이용하여 픽처 영역을 코딩할 것인지 여부에 대한 결정은 CU 레벨에서 결정된다. 각 CU는 PU 분할 유형에 따라 한 개, 두 개 혹은 네 개의 PU들로 더 분할될 수 있다. 한 PU 내에서, 동일한 예측 프로세스가 적용되고 연관 정보는 PU 단위로 디코더에 전송된다. PU 분할 유형에 기반한 예측 프로세스를 적용하여 잔차 블록을 획득한 후, CU는 CU에 대한 코딩 트리와 유사한 다른 쿼드 트리 구조에 따라 변환 유닛(transform unit: TU)들로 분할될 수 있다. HEVC 구조의 주요 특징 중 하나는 CU, PU 및 TU를 포함한 다중 분할 개념을 갖는다는 것이다.
도 1은 QTBT(Quadtree plus binary tree) 블록 구조를 도시한 것이다. QTBT 구조는 다중 분할 유형들의 개념들을 제거한다. 즉, CU, PU 및 TU 개념들의 분리를 제거하고, CU 분할 형태들에 더 많은 유연성을 지원한다. QTBT 블록 구조에서, CU는 정사각형 혹은 직사각형 형태를 가질 수 있다. 도 1에 나타난 바와 같이, CTU(coding tree unit)은 쿼드트리 구조로 먼저 분할된다. 쿼드트리 리프 노드들은 바이너리 트리 구조로 더 분할된다. 바이너리 트리 분할에서는, 대칭 수평 분할(symmetric horizontal splitting) 및 대칭 수직 분할(symmetric vertical splitting)이라는 두 가지 분할 유형이 있다. 바이너리 트리 리프 노드들은 CU들로 불리며, 그 분할은 더 이상의 분할 없이 예측 및 변환 프로세싱에 사용된다. 이는, CU, PU 및 TU가 QTBT 코딩 블록 구조에서 동일한 블록 크기를 갖는다는 것을 의미한다. JEM에서, CU는 때때로, 예를 들어, 4:2:0 크로마 형식의 P 및 B 슬라이스의 경우 하나의 CU가 하나의 루마 CB 및 두 개의 크로마 CB들을 포함하고 때로는 단일 성분의 CB로 구성되거나, 또 다른 예로서, 하나의 CU는 I 슬라이스의 경우 오직 하나의 루마 CB 혹은 단 두 개의 크로마 CB들을 포함하는 등, 서로 다른 색상 성분들의 코딩 블록(CB)들로 구성된다.
QTBT 분할 방식에서 하기의 파라미터들이 정의된다.
- CTU 크기: 쿼드 트리의 루트 노드 크기, HEVC에서와 동일한 개념
- MinQTSize: 최소 허용 쿼드트리 리프 노드 크기
- MaxBTSize: 최대 허용 바이너리 트리 루트 노드 크기
- MaxBTDepth: 최대 허용 바이너리 트리 깊이
- MinBTSize: 최소 허용 바이너리 트리 리프 노드 크기
QTBT 분할 구조에 대한 일 예에서, CTU 크기는 128x128 루마 샘플들과 그에 대응되는 두 개의 64x64 크로마 샘플 블록들로 설정되고, MinQTSize는 16x16으로, MaxBTSize는 64x64로, MinBTSize(너비 및 높이 모두에 대해)는 4x4로 설정된다. 또한, MaxBTDepth 는 4로 설정된다. 쿼드트리 분할은 쿼드트리 리프 노드들을 생성하기 위해 먼저 CTU에 적용된다. 쿼드트리 리프 노드들은 16x16(즉, MinQTSize)에서 128x128(즉, CTU 크기)의 크기를 가질 수 있다. 리프 쿼드트리 노드가 128x128이면, 크기가 MaxBTSize (즉, 64x64)를 초과하기 때문에 바이너리 트리에 의해 더 이상 분할되지 않는다. 그 외의 경우, 리프 쿼드트리 노드는 바이너리 트리로 더 분할될 수 있다. 따라서, 쿼드트리 리프 노드는 바이너리 트리에 대한 루트노드이기도하며, 바이너리 트리 깊이는 0이다. 바이너리 트리 깊이가 MaxBTDepth (즉, 4)에 도달하면, 더 이상 분할은 고려되지 않는다. 바이너리 트리 노드가 MinBTSize (즉, 4)과 동일한 너비를 가지면, 더 이상 수평 분할은 고려되지 않는다. 마찬가지로, 바이너리 트리 노드가 MinBTSize와 동일한 높이를 가지면, 더 이상 수직 분할은 고려되지 않는다. 바이너리 트리의 리프 노드들은 더 이상의 분할 없이 예측 및 변환 프로세싱에 의해 추가 프로세싱된다. JEM에서, 최대 CTU 크기는 256x256 루마 샘플이다.
도 1(좌측)은 QTBT를 이용하여 블록 분할이 일 예를 도시하고, 도 1(우측)은 대응 트리 표현을 도시한다. 실선은 쿼드트리 분할을 나타내고 점선은 바이너리 트리 분할을 나타낸다. 바이너리 트리의 각 분할(즉, 논-리프) 노드에서, 하나의 플래그가 어떤 분할 유형(즉, 수평 혹은 수직)이 사용되었는지를 지시하기 위해 시그널링되는데, 0은 수평 분할을, 1은 수직 분할을 지시한다. 쿼드트리 분할에서는, 쿼드트리 분할은 항상 블록을 수평 혹은 수직으로 분할하여 동일한 크기의 네 개의 서브 블록들을 생성하므로 분할 유형을 지시할 필요가 없다.
또한, QTBT 방식은 루마 및 크로마가 개별적인 QTBT 구조를 갖도록 지원한다. 현재, P 및 B 슬라이스의 경우, 하나의 CTU에서 루마 및 크로마 CTB들은 동일한 QTBT 구조를 공유한다. 그러나, I 슬라이스의 경우, 루마 CTB는 QTBT 구조에 의해 CU들로 분할되고, 크로마 CTB들은 다른 QTBT 구조에 의해 크로마 CU들로 분할된다. 이는 I 슬라이스의 CU가 루마 성분의 코딩 블록 또는 두 크로마 성분들의 코딩 블록들로 구성되고, P 또는 B 슬라이스의 CU가 세 가지 색상 성분 모두의 코딩 블록들로 구성됨을 의미한다.
HEVC에서, 작은 블록들에 대한 인터 예측은 움직임 보상의 메모리 액세스를 줄이기 위해 제한되어, 양 예측이 4x8 및 8x4 블록들에 대해 지원되지 않고, 인터 예측이 4x4 블록들에 대해 지원되지 않는다. JEM의 QTBT에서는 이러한 제한이 제거된다.
2.2. HEVC/H.265에서 인터 예측
화면 내 예측된 각각의 예측 유닛(Prediction unit: PU)은 하나 또는 두 개의 참조 픽처 리스트에 대한 움직임 파라미터들을 가진다. 움직임 파라미터들은 움직임 벡터 및 참조 픽처 인덱스를 포함한다. 두 참조 픽처 리스트들 중 하나의 사용은 inter_pred_idc를 사용하여 시그널링될 수 있다. 움직임 벡터들은 예측자들에 대한 델타들(deltas)로서 명시적으로 코딩될 수 있다.
코딩 유닛(CU)이 스킵 모드로 코딩될 경우, 하나의 PU가 상기 CU와 연관되며, 의미있는 잔여 계수들, 코딩된 움직임 벡터 델타 또는 참조 픽처 인덱스가 존재하지 않는다. 머지 모드가 지정되면, 현재 PU에 대한 움직임 파라미터들이 공간적 및 시간적 후보들을 포함한 인접 PU들로부터 획득된다. 머지 모드는 스킵 모드에 대해서 뿐만 아니라, 어떤 인터 예측 PU에도 적용될 수 있다. 머지 모드의 대안은 움직임 파라미터들의 명시적인 전송으로, 이 경우 움직임 벡터, 각 참조 픽처 리스트에 대한 해당 참조 픽처 인덱스, 그리고 참조 픽처 리스트 사용법이 각각의 PU별로 명시적으로 시그널링된다. 본 개시에서 이러한 모드는 AMVP(Advanced motion vector prediction)로 지칭된다.
시그널링이 두 참조 픽처 리스트 중 하나를 사용함을 지시할 경우, PU는 샘플들 중 하나의 블록으로부터 생성된다. 이것을 '단일 예측'(uni-prediction)이라고 한다. 단일 예측은 P 슬라이스들과 B 슬라이스들 모두에 대해 사용할 수 있다.
시그널링이 두 참조 픽처 리스트 모두를 사용함을 지시할 경우, PU는 샘플들 중 두 개의 블록으로부터 생성된다. 이를 '양 예측'(bi-prediction)이라고 한다. 양 예측은 B-슬라이스들에 대해서만 사용할 수 있다.
하기 내용은 HEVC에서 지정된 인터 예측 모드에 대한 세부 정보를 제공한다. 설명은 머지 모드부터 시작된다.
2.2.1. 머지 모드(merge mode)
2.2.1.1. 머지 모드의 후보들 유도
머지 모드를 사용하여 PU가 예측되는 경우, 머지 후보 리스트의 항목을 가리키는 인덱스는 비트 스트림으로부터 파싱되어 움직임 정보를 검색하는 데 사용된다. 이 리스트의 구성은 HEVC 표준에서 지정되어 있으며 단계들의 아래 순서에 따라 요약될 수 있다.
· 단계 1: 초기 후보들 유도
o 단계 1.1: 공간적 후보들 유도
o 단계 1.2: 공간적 후보들에 대한 중복성 검사
o 단계 1.3: 시간적 후보들 유도
· 단계 2: 추가 후보들 삽입
o 단계 2.1: 양 예측(bi-predictive) 후보들 생성
o 단계 2.2: 제로(zero) 움직임 후보들 삽입
위와 같은 단계들은 도 2에 개략적으로 도시되어 있다. 공간적 머지 후보 유도를 위해, 5개의 상이한 위치에 있는 후보들 중에서 최대 4개의 머지 후보들이 선택된다. 시간적 머지 후보 유도를 위해, 두 후보들 중 최대 하나의 머지 후보가 선택된다. 각 PU에 대해 일정한 수의 후보들이 디코더에서 가정되기 때문에, 단계 1에서 획득된 후보들의 수가 슬라이스 헤더에서 시그널링되는 머지 후보의 최대 수(MaxNumMergeCand)에 미치지 않으면, 추가 후보들이 생성된다. 후보의 수가 일정하기 때문에 최적 머지 후보 인덱스는 절단된 단항 이진화(TU)를 사용하여 인코딩 된다. 만약 CU의 크기가 8이면, 현재 CU의 모든 PU들은 2N x 2N 예측 유닛의 머지 후보 리스트와 동일한 단일 머지 후보 리스트를 공유한다.
하기에서, 상술한 단계들과 관련된 동작들이 상세히 설명된다.
2.2.1.2. 공간적 후보들 유도
공간적 머지 후보들 유도 시, 최대 4개의 머지 후보들이 도 3에 도시된 위치들에 있는 후보들 가운데에서 선택된다. 유도 순서는 A1, B1, B0, A0 및 B2 순이다. 위치 A1, B1, B0, A0의 어느 한 PU가 사용될 수 없는 경우(예를 들어, 다른 슬라이스 또는 타일에 속함을 이유로) 또는 인트라 코딩된 경우에만, 위치 B2가 고려된다. 위치 A1의 후보가 추가된 후 나머지 후보들의 추가는 중복 검사를 거친다. 이를 통해, 동일한 움직임 정보를 가진 후보가 리스트에서 제외되어 코딩 효율이 향상된다. 계산 복잡성을 줄이기 위해, 언급된 중복 검사에서 가능한 모든 후보 쌍들이 고려되는 것은 아니다. 그 대신, 도 4에서 화살표로 연결된 쌍들만이 고려되고, 중복 검사에 사용되는 해당 후보가 동일한 움직임 정보를 가지고 있지 않은 경우에만 후보가 리스트에 추가된다. 중복되는 움직임 정보의 다른 소스는 2Nx2N과는 상이한 분할들과 관련된 "제2 PU " 이다. 일 예로, 도 5는 각각 Nx2N 및 2NxN의 경우에 대한 제2 PU를 도시한다. 현재 PU가 Nx2N으로 분할되면, A1 위치에서 후보는 리스트 구성에 고려되지 않는다. 사실, 이 후보를 추가하는 것은 동일한 움직임 정보를 갖는 2개의 예측 유닛들로 귀결될 수 있으며, 이는 코딩 유닛에서 단지 하나의 PU를 갖는 것에 중복된다. 마찬가지로, 현재 PU가 2NxN으로 분할되는 경우, 위치 B1 은 고려되지 않는다.
2.2.1.3. 시간적 후보들 유도
이 단계에서는, 오직 하나의 후보만이 리스트에 추가된다. 특히, 이 시간적 머지 후보의 유도 시, 주어진 참조 픽처 리스트 내에서 현재 픽처와 가장 작은 POC(Picture Order Count) 차이를 갖는 픽처에 속하는 동일 위치의(co-located) PU를 기반으로, 스케일링된 움직임 벡터가 유도된다. 동일 위치 PU의 유도에 사용될 참조 픽처 리스트는 슬라이스 헤더에서 명시적으로 시그널링된다. 시간적 머지 후보의 스케일링된 움직임 벡터는 도 6에서 점선으로 묘사된 바에 따라 획득되는데, 움직임 벡터는 POC 거리들인 tb 및 td를 사용하여 동일 위치 PU의 움직임 벡터로부터 스케일링 된다. 여기서, tb는 현재 픽처의 참조 픽처와 현재 픽처 사이의 POC 차이로 정의되고, td는 동일 위치 픽처의 참조 픽처와 동일 위치 픽처 사이의 POC 차이로 정의된다. 시간적 머지 후보의 참조 픽처 인덱스는 0으로 설정된다. B-슬라이스의 경우, 2개의 움직임 벡터 중 하나는 참조 픽처 리스트 0을 위해, 다른 하나는 참조 픽처 리스트 1을 위해 획득되고, 이것들이 결합되어 양 예측(bi-predictive) 머지 후보가 만들어진다.
참조 프레임에 속하는 동일 위치 PU(Y)에서, 시간적 후보에 대한 위치는 도 7에 도시 된 바와 같이 후보 C0 및 C1 중에서 선택된다. 위치 C0의 PU가 사용될 수 없거나 인트라 코딩되었거나 현재 CTU 행의 외부에 있는 경우, 위치 C1 이 사용된다. 그 외의 경우, 위치 C0 이 시간적 머지 후보의 유도에 사용된다.
2.2.1.4. 추가적인 후보들의 삽입
시간적 및 공간적 머지 후보들 외에도 결합된 양-예측(bi-predictive) 머지 후보 및 제로(zero) 머지 후보라는 두 가지 추가 유형의 머지 후보들이 있다. 결합된 양-예측 머지 후보는 시간적 및 공간적 머지 후보들을 활용하여 생성된다. 결합된 양-예측 머지 후보는 오직 B 슬라이스에 대해서만 사용된다. 결합된 양-예측 후보들은 최초 후보의 제1 참조 픽처 리스트 움직임 파라미터들과 다른 후보의 제2 참조 픽처 리스트 파라미터들을 결합하여 생성된다. 이 두 튜플들이 상이한 움직임 가설들을 제공하는 경우, 그것들은 새로운 양 예측 후보를 형성하게 된다. 일 예로서, 도 8은 mvL0 및 refIdxL0 또는 mvL1 및 refIdxL1을 가지는 원본 리스트(좌측)의 두 후보들이 최종 리스트(우측)에 추가된 결합된 양 예측 후보를 생성하는 데 사용되는 경우를 도시한다. 이러한 추가적인 머지 후보들을 생성하는 것으로 간주되는 조합들에 대한 다양한 규칙들이 존재한다.
제로(zero) 움직임 후보들이 삽입되어 머지 후보 리스트의 나머지 항목들을 채우고 이로써 MaxNumMergeCand 용량에 도달한다. 이 후보들은 0에서 시작하여 새로운 제로 움직임 후보가 리스트에 추가될 때마다 증가하는 참조 픽처 색인과 제로 공간 변위를 가진다. 이 후보들이 사용하는 참조 프레임의 수는 단일 방향 예측 및 양 방향 예측에 대해 각각 1개 및 2개이다. 최종적으로, 중복 검사는 이러한 후보들에 대해 수행되지 않는다.
2.2.1.5. 병렬 프로세싱을 위한 움직임 추정 영역들
인코딩 프로세스의 속도를 향상시키기 위해, 움직임 추정이 병렬로 수행될 수 있어서, 주어진 영역 내의 모든 예측 유닛들의 움직임 벡터들을 동시에 유도할 수 있다. 한 예측 유닛이, 연관된 움직임 추정이 완료될 때까지 인접 PU로부터 움직임 파라미터들을 유도할 수 없기 때문에, 공간적 이웃으로부터 머지 후보들의 유도는 병렬 프로세싱을 방해할 수 있다. 코딩 효율성과 처리 지연 사이의 균형을 맞추기 위해, HEVC는 "log2_parallel_merge_level_minus2" 신택스 요소를 사용하여 픽처 파라미터 세트에서 크기가 시그널링되는 MER(motion estimation region: 움직임 추정 영역)을 정의한다. MER이 정의되면, 동일한 영역에 속하는 머지 후보들은 사용 불가한 것으로 표시되므로 리스트 구성에서 고려되지 않는다.
2.2.2. AMVP
AMVP는 움직임 파라미터들의 명시적 전송에 사용되는, 움직임 벡터와 인접 PU들의 시공간적 상관 관계를 활용한다. 그것은, 먼저 좌측, 상부에 시간적으로 인접한 PU 위치들의 가용성을 확인하고, 중복 후보들을 제거하고, 후보 리스트가 일정한 길이가 되도록 제로 벡터를 추가함으로써, 움직임 벡터 후보 리스트를 구성한다. 다음으로, 인코더는 상기 후보 리스트에서 최상의 예측자를 선택하고 선택한 후보를 지시하는 해당 인덱스를 전송할 수 있다. 머지 인덱스 시그널링과 마찬가지로, 최상의 움직임 벡터 후보의 인덱스는 절단된 단항(truncated unary)을 사용하여 인코딩된다. 이 경우 인코딩 될 최대 값은 2이다(도 9참조). 아래 섹션들에서는 움직임 벡터 예측 후보의 유도 과정에 대해 상세히 설명한다.
2.2.2.1. AMVP 후보들의 유도
도 9는 움직임 벡터 예측 후보에 대한 유도 과정을 요약한 것이다.
움직임 벡터 예측에서, 공간적 움직임 벡터 후보와 시간적 움직임 벡터 후보라는 두 가지 유형의 움직임 벡터 후보들이 고려된다. 공간적 움직임 벡터 후보 유도를 위해, 도 3에 도시된 바와 같이 5개의 상이한 위치에 있는 각 PU의 모션 벡터들에 기반하여 2개의 움직임 벡터 후보가 최종적으로 유도된다.
시간적 움직임 벡터 후보 유도를 위해, 하나의 움직임 벡터 후보가 2개의 상이한 동일 위치들을(co-located positions) 기반으로 도출된 2개의 후보 중에서 선택된다. 시공간 후보들의 제1 리스트가 생성된 후, 중복된 움직임 벡터 후보들이 리스트에서 제거된다. 만약 잠재적 후보의 수가 2보다 크면, 관련 참조 픽쳐 리스트 내의 참조 픽처 인덱스가 1보다 큰 움직임 벡터 후보는 리스트에서 제거된다. 시공간적 움직임 벡터 후보의 수가 2 미만인 경우, 추가 제로 움직임 벡터 후보가 리스트에 추가된다.
2.2.2.2. 공간적 움직임 벡터 후보들
공간적 움직임 벡터 후보들의 유도에 있어서, 최대 2개의 후보가 5개의 잠재적 후보 가운데에서 고려되며, 이 잠재적 후보들은 도 3에 도시된 위치들에 있는 PU들로부터 유도된다. 이 위치들은 움직임 머지의 위치들과 동일하다. 현재 PU의 좌측에 대한 유도 순서는 A0, A1, 및 스케일링된 A0, 스케일링된 A1 순으로 정의된다. 현재 PU의 상단에 대한 유도 순서는 B0, B1, B2, 스케일링된 B0, 스케일링된 B1, 스케일링된 B2 순으로 정의된다. 따라서, 각 측면에 대해 움직임 벡터 후보로 사용할 수 있는 4개의 경우가 있는데, 2개의 경우는 공간적 스케일링을 사용할 필요가 없는 경우이고, 2개의 경우는 공간적 스케일링이 사용되는 경우이다. 4개의 서로 다른 경우들은 아래와 같이 요약된다.
Figure 112021109788033-pct00001
공간적 스케일링 없음
(1) 동일한 참조 픽처 리스트 및 동일한 참조 픽처 인덱스 (동일한 POC)
(2) 상이한 참조 픽처 리스트 및 동일한 참조 픽처 인덱스 (동일한 POC)
Figure 112021109788033-pct00002
공간적 스케일링
(3) 동일한 참조 픽처 리스트 및 상이한 참조 픽처 인덱스 (상이한 POC)
(4) 상이한 참조 픽처 리스트 및 상이한 참조 픽처 인덱스 (상이한 POC)
공간적 스케일링이 없는 경우를 먼저 확인한 다음 공간적 스케일링을 허용하는 경우들을 확인한다. 공간적 스케일링은 참조 픽처 리스트와 상관없이 주변 PU의 참조 픽처와 현재 PU의 참조 픽쳐 사이의 POC가 다를 때 고려된다. 좌측 후보들의 모든 PU가 사용될 수 없거나 인트라 코딩 된 경우, 좌측 및 상단 MV 후보들의 병렬 유도를 돕기 위해 상단 움직임 벡터에 대한 스케일링이 허용된다. 그렇지 않은 경우, 공간적 스케일링은 상단 움직임 벡터에 대해 허용되지 않는다.
공간적 스케일링 프로세스에서, 인접 PU의 움직임 벡터는 도 10에 도시된 바와 같이 시간적 스케일링에서와 유사한 방식으로 스케일링된다. 주된 차이점은, 현재 PU의 참조 픽처 리스트와 인덱스가 입력으로 제공된다는 점이다. 실제 스케일링 프로세스는 시간적 스케일링 프로세스와 동일하다.
2.2.2.3. 시간적 움직임 벡터 후보들
참조 픽처 인덱스 유도와는 별개로, 시간적 머지 후보들의 유도를 위한 모든 프로세스는 공간적 움직임 벡터 후보들의 유도를 위한 것과 같다(도 7 참조). 일부 실시예들에서, 참조 픽처 인덱스는 디코더로 시그널링된다.
2.3. 적응적 움직임 벡터 차이 해상도(Adaptive motion vector difference resolution: AMVR)
VVC에서, 정규(regular) 인터 모드의 경우, MVD는 1/4 루마 샘플들, 정수 루마 샘플들 혹은 4-루마 샘플들의 유닛들로 코딩될 수 있다. MVD 해상도는 코딩 유닛(CU) 레벨에서 제어되며, MVD 해상도 플래그들은 적어도 하나의 논-제로 MVD 성분을 갖는 각 CU에 대해 조건부 시그널링된다.
적어도 하나의 논-제로 MVD 성분들을 갖는 CU의 경우, 1/4 루마 샘플 MV 정밀도가 CU에서 사용되는지 여부를 지시하기 위해 제1 플래그가 시그널링된다. 제1 플래그(1과 동일)가 1/4 루마 샘플 MV 정밀도가 사용되지 않음을 지시하는 경우, 다른 플래그가 정수 루마 샘플 MV 정밀도 혹은 4-루마 샘플 MV 정밀도가 사용되는지 여부를 지시하기 위해 시그널링 된다.
CU의 첫번째 MVD 해상도가 0인 경우, 혹은 CU(CU의 모든 MVD들이 0임을 의미)에 대해 코딩되지 않는 경우, 1/4 루마 샘플 MV 해상도는 CU에서 사용된다. CU가 정수-루마 샘플 MV 정밀도 혹은 4-루마 샘플 MV 정밀도를 사용하는 경우, CU에 대한 AMVP 후보 리스트의 MVP들이 대응 정밀도로 라운딩된다.
2.4. VVC에서 보간 필터들
루마 보간 필터링에서, 표 1에 나타난 바와 같이 8-탭 분리 보간 필터들은 1/16-픽셀 정밀도 샘플들에 대해 사용된다.
표 1: 1/16-픽셀 루마 보간에 대한 8-탭 계수 fL
마찬가지로, 4-탭 분리 보간 필터들은 표 2에 나타난 바와 같이 1/32-픽셀 정밀도 크로마 보간에 사용된다.
표 2: 1/32-픽셀 크로마 보간에 대한 4-탭 보간 계수 fC
4:2:2에 대한 수직 보간 및 4:4:4 크로마 채널에 대한 수평 및 수직 보간의 경우, 표 2의 홀수 위치들이 사용되지 않으므로 1/16-픽셀 크로마 보간을 초래한다.
2.5. 대체 루마 하프-픽셀 보간 필터들
JVET-N0309에서, 대체 하프-픽셀 보간 필터들이 제안된다.
하프-픽셀 루마 보간 필터의 스위칭은 움직임 벡터 정확도에 의존하여 수행된다. 기존의 1/4-픽셀, 풀-픽셀, 및 4-픽셀 AMVR 모드에 추가하여, 새로운 하프-픽셀 정확도 AMVR 모드가 소개된다. 하프-픽셀 움직임 벡터 정확도의 경우에만, 대체 하프-픽셀 루마 보간 필터가 선택될 수 있다.
2.5.1. 하프-픽셀 AMVR 모드
하프-픽셀 정확도에서 움직임 벡터 차이의 시그널링을 허용하는 논-어파인 논-머지 인터 코딩된 CU들에 대한 추가적인 AMVR 모드가 제안된다. 현재 VVC 드래프트의 기존 AMVR 방식은 하기와 같은 방식으로 간단하게 확장된다: amvr_flag == 1인 경우, 신택스 요소 amvr_flag 바로 다음에, hpel_amvr_flag ==1인 경우, 새로운 하프-픽셀 AMVR 모드의 사용을 지시하는 새로운 컨텍스트 모델링된 이진 신택스 요소 hpel_amvr_flag가 존재한다. 그 외의 경우, 즉, hpel_amvr_flag ==0인 경우, 풀-픽셀 및 4-픽셀 AMVR 모드 사이의 선택은 현재 VVC 드래프트에서와 같이 신택스 요소 amvr_precision_flag에 의해 지시된다.
2.5.2. 대체 루마 하프-픽셀 보간 필터들
하프-픽셀 움직임 벡터 정확도(즉, 하프-픽셀 AMVR 모드)를 사용하는 논-어파인 논-머지 인터 코딩된 CU의 경우, HEVC/VVC 하프-픽셀 루마 보간 필터와 하나 이상의 대체 하프-픽셀 보간 간의 스위칭은 새로운 신택스 요소 if_idx의 값을 기반으로 이루어진다. 신택스 요소 if_idx는 하프-픽셀 AMVR 모드의 경우에만 시그널링된다. 공간적 머지 후보를 사용하는 스킵/머지 모드의 경우, 신택스 요소 if_idx의 값은 이웃 블록으로부터 상속된다.
2.5.2.1. 테스트 1: 하나의 대체 하프-픽셀 보간 필터
이 테스트 케이스에서, 일반 HEVC/VVC 하프-픽셀 보간 필터에 대한 대안으로 하나의 6-탭 보간 필터가 존재한다. 하기 표는 신택스 요소 if_idx의 값 및 선택된 하프-픽셀 루마 보간 필터 간의 매핑을 보여준다.
2.5.2.2. 테스트 2: 두 개의 대체 하프-픽셀 보간 필터들
이 테스트 케이스에서, 일반 HEVC/VVC 하프-픽셀 보간 필터에 대한 대안으로 두 개의 8-탭 보간 필터들이 존재한다. 하기 표는 신택스 요소 if_idx의 값 및 선택된 하프-픽셀 루마 보간 필터 간의 매핑을 보여준다.
amvr_precision_idx 는 현재 CU가 1/2-픽셀, 1-픽셀 혹은 4-픽셀 MV 정밀도를 활용하는지 여부를 지시하기 위해 시그널링된다. 두 개의 빈들이 코딩된다.
hpel_if_idx는 기본 하프-픽셀 보간 필터 혹은 대체 하프-픽셀 보간 필터들이 이용되는지 여부를 지시하기 위해 시그널링된다. 두 개의 대체 하프-픽셀 보간 필터들이 사용되는 경우, 두 개의 빈들이 코딩된다.
2.6. 일반화된 양 예측(Generalized Bi-prediction)
기존의 양 예측에서, L0 및 L1에 대한 예측자들은 동일한 가중치 0.5를 이용하여 최종 예측자를 생성하도록 평균화된다. 예측자 생성식은 하기 식(3)에 나타난 바와 같다.
식. (3)에서, 일반적인 는 기존 양 예측의 최종 예측자이며, 는 각각 L0 및 L1에 대한 예측자들이다. 그리고, RoundingOffset shiftNum 은 최종 예측자를 정규화(normalize)하는 데 사용된다.
일반화된 양 예측(GBI)는 L0 및 L1의 예측자들에 서로 다른 가중치들을 적용할 수 있도록 제안되었다. 예측자 생성은 식 (4)에 나타난 바와 같다.
식. (4)에서, 은 GBi의 최종 예측자이다. 는 각각 L0 및 L1의 예측자들에 적용될, 선택된 GBI 가중치들이다. RoundingOffset GBi shiftNum GBi 은 GBi에서 최종 예측자를 정규화 하는데 사용된다.
로 지원되는 가중치는, {-1/4, 3/8, 1/2, 5/8, 5/4} 이다. 하나의 동일 가중치 세트와 네 개의 상이 가중치 세트가 제공된다. 동일한 가중치의 경우, 최종 예측자를 생성하는 프로세스는 기존 양 예측 모드에서의 그것과 완전히 동일하다. 랜덤 액세스(RA) 조건에서의 진정한 양 예측의 경우 후보 가중치 집합의 수는 3으로 줄어든다.
AMVP(advanced motion vector prediction) 모드에서, GBi에서 가중치 선택은 CU가 양 예측으로 코딩된 경우 CU 레벨에서 명시적으로 시그널링된다. 머지 모드에서, 가중치 선택은 머지 후보로부터 상속된다.
3. 기존 실시예들의 문제점들
대체 하프-픽셀 보간 필터들은 MMVD 모드에서 유도되는 MV가 1/2-픽셀 정밀도가 아니라고 하더라도, MMVD(merge with motion vector difference) 모드에서 상속될 수 있다. 이는 합리적이지 않다.
amvr_precision_idx hpel_if_idx이 코딩될 때, 모든 빈(bin)들이 컨텍스트 코딩된다.
4. 예시적인 구현예들과 기술들
이하에서 상세히 설명하는 실시예들은 일반적인 개념을 설명하기 위한 예로서 고려되어야 한다. 이러한 실시예는 좁은 의미로 해석되어서는 안 된다. 또한, 이들 실시예는 임의의 방식으로 조합될 수 있다.
DMVD(Decoder-side motion vector derivation)는 BDOF(bi-direction optical flow) 혹은/및 DMVR(decoder-side motion vector refinement) 혹은/및 디코더에서 개선 움직임 벡터 혹은 예측 샘플과 연관된 다른 도구들을 표현하는 데 사용된다.
하기 내용에서 기본 보간 필터는 HEVC/VVC에 정의된 필터를 나타낼 수 있다. 새로 도입된 보간 필터들(예를 들어, JVET-N0309에서 제안된 것들)은 다음 설명에서 대체 보간 필터라고도 지칭될 수 있다.
1. 대체 1/N-픽셀 보간 필터들은 2와 상이한, 서로 다른 N에 대하여 사용될 수 있다.
a. 일 예로서, N은 4, 16 등과 동일할 수 있다.
b. 일 예로서, 1/N-픽셀 보간 필터들의 인덱스는 AMVR 모드에서 시그널링될 수 있다.
i. 또는, 또한, 1/N-픽셀 보간 필터들의 인덱스는 1/N-픽셀 MV/MVD 정밀도가 블록에 의해 선택된 경우에만 시그널링될 수 있다.
c. 일 예로서, 대체 1/N-픽셀 보간 필터들은 머지 모드 혹은/및 MMVD 모드에서 상속되지 않을 수 있다.
i. 또는, 또한, 오직 기본 1/N-픽셀 보간 필터는 머지 모드 혹은/및 MMVD 모드에서 사용될 수 있다.
d. 일 예로서, 대체 1/N-픽셀 보간 필터들은 머지 모드에서 상속될 수 있다.
e. 일 예로서, 대체 1/N-픽셀 보간 필터들은 MMVD 모드에서 상속될 수 있다.
i. 일 예로서, 대체 1/N 픽셀 보간 필터들은 최종 유도된 MV들이 1/N-픽셀 정밀도인 경우 MMVD 모드에서 상속될 수 있다. 즉, 더 정밀한 MV 정밀도의 MV 성분은 존재하지 않는다.
ii. 일 예로서, 대체 1/N-픽셀 보간 필터들은 최종 유도된 MV들의 K (K>=1) 개의 MV 성분들이 1/N-픽셀 정밀도인 경우 MMVD모드에서 상속될 수 있다.
f. 일 예에서, 대체 1/N-픽셀 보간 필터는 MMVD 모드 또는/및 머지 모드에서 상속될 수 있지만, 대체 1/N-픽셀 보간 필터는 움직임 보상에서만 사용된다. 대체 1/N-픽셀 보간 필터의 인덱스는 블록에 대해 저장되지 않을 수 있고 다음 코딩된 블록에 의해 사용되지 않을 수 있다.
2. 보간 필터들(예를 들어, 기본 하프-픽셀 보간 필터, 대체 하프-픽셀 보간 필터들)의 지시는 움직임 벡터들, 참조 인덱스들과 같은 다른 움직임 정보와 함께 저장될 수 있다.
a. 일 예로서, 하나의 블록이 인코딩/디코딩되기 위해 다른 영역(예를 들어, 다른 CTU 행들, 다른 VPDU)에 있는 두 번째(제2) 블록에 액세스할 때, 두 번째(제2) 블록과 연관된 보간 필터들이 현재 블록을 인코딩/디코딩하는 데 이용되는 것이 불허된다.
3. 대체 하프-픽셀 보간 필터들은 머지 모드 혹은/및 MMVD 모드에서 상속되지 않을 수 있다.
a. 일 예로서, 대체 하프-픽셀 보간 필터들은 MMVD 모드에서 상속되지 않을 수 있다.
i. 또는, 또한, VVC에서 기본 하프-픽셀 보간 필터는 항상 MMVD 모드에 대해 사용될 수 있다.
ii. 또는, 대체 하프-픽셀 보간 필터들은 MMVD 모드에서 상속될 수 있다. 즉, MMVD 모드의 경우, 베이스 머지 후보와 연관된 대체 하프-픽셀 보간 필터가 상속될 수 있다.
b. 일 예로서, 대체 하프-픽셀 보간 필터들은 특정 조건들 하에 MMVD 모드에서 상속될 수 있다.
i. 일 예로서, 대체 하프-픽셀 보간 필터들은 최종 유도된 MV들이 1/2-픽셀 정밀도인 경우 상속될 수 있다. 즉, 즉 1/4-픽셀 정밀도, 1/16-픽셀 정밀도와 같은 보다 세밀한 정밀도의 MV 성분은 존재하지 않는다.
ii. 일 예로서, 최종 유도된 MV의 K(K >=1) MV 성분이 1/2 픽셀 정밀도일 때 대체 하프-픽셀 보간 필터가 MMVD 모드에서 상속될 수 있다.
c. 일 예로서, 대체 하프-픽셀 보간 필터들은 MMVD 모드 혹은/및 머지 모드에서 상속될 수 있으나, 대체 하프-픽셀 보간 필터들은 움직임 보상에서만 사용된다. 기본 하프-픽셀 보간 필터들의 인덱스는, 대체 하프-픽셀 보간 필터들 대신, 블록에 대해 저장될 수 있고 다음 코딩된 블록들에 의해 사용될 수 있다.
d. 상기 방법들은 1/N-픽셀 정밀도를 위한 다중 보간 필터들이 적용될 수 있는 다른 경우에 적용될 수 있다.
4. 보간 필터 정보는 HMVP(history-based motion vector prediction) 표에 저장될 수 있고 HMVP 머지 후보에 의해 상속될 수 있다. 일부 실시예들에서, HMVP 표는 비디오 영역의 비디오 블록과 코딩된 표현 사이의 변환 후에 선택적으로 업데이트된다. 표를 업데이트할지 여부, 즉 표를 업데이트할 때의 선택성은 비디오 블록의 변환 후에 HMVP 표를 업데이트하기에 적합한 변환에 사용된 움직임 후보가 있는지 여부를 결정하는 데 기반한다(예를 들어, 프루닝 적용 등).
a. 일 예에서, HMVP 룩업 표에 새로운 후보를 삽입할 때 보간 필터 정보가 고려될 수 있다. 예를 들어, 움직임 정보는 같지만 상이한 보간 필터 정보를 갖는 두 후보들은 서로 다른 두 개의 후보들로 고려될 수 있다.
b. 일 예로서, HMVP 룩업 표에 새 후보를 삽입할 때, 움직임 정보는 같지만 상이한 보간 필터 정보를 갖는 두 후보들을 동일한 후보로 고려될 수 있다.
5. 머지 후보 리스트에 머지 후보를 삽입할 때, 프루닝 과정에서 보간 필터 정보를 고려할 수 있다.
a. 일 예에서, 상이한 보간 필터를 갖는 두 개의 머지 후보들은 두 개의 상이한 머지 후보들로서 고려될 수 있다.
b. 일 예에서, HMVP 머지 후보를 머지 리스트에 삽입할 때 프루닝(pruning) 과정에서 보간 필터 정보를 고려할 수 있다.
c. 일 예로, HMVP 머지 후보를 머지 리스트에 삽입할 때 프루닝 과정에서 보간 필터 정보를 고려하지 않을 수 있다.
6. 페어와이즈 머지 후보들 혹은/및 결합된 머지 후보들 혹은/및 제로 움직임 벡터 후보들 혹은/및 다른 기본 후보들을 생성하는 경우 항상 기본 보간 필터를 사용하는 대신 보간 필터 정보가 고려될 수 있다.
a. 일 예로서, 두 후보들(페어와이즈 머지 후보들 또는/및 결합된 머지 후보들을 생성하는 데 연관)이 동일한 대체 보간 필터를 사용하는 경우, 이러한 보간 필터는 페어와이즈 머지 후보들 또는/및 결합된 병합 후보들에서 상속될 수 있다.
b. 일 예로서, 두 후보들중 하나(페어와이즈 머지 후보들 혹은/및 결합된 머지 후보들의 생성과 연관)가 기본 보간 필터를 활용하지 않는 경우, 그것의 보간 필터는 페어와이즈 머지 후보들 혹은/및 결합된 머지 후보들에서 상속될 수 있다.
c. 일 예로서, 두 후보들(결합된 머지 후보들을 생성하는 것과 관련) 중 하나가 기본 보간 필터를 활용하지 않는 경우, 그것의 보간 필터는 결합된 머지 후보들에서 상속될 수 있다. 그러나, 그러한 보간 필터들은 대응 예측 방향에 대해서만 사용될 수 있다.
d. 일 예로서, 두 후보들(결합된 머지 후보들을 생성하는 것과 관련)이 서로 다른 보간 필터들을 활용하는 경우, 그들의 보간 필터들은 결합된 머지 후보들에서 둘 다 상속될 수 있다. 이 경우, 서로 다른 보간 필터는 서로 다른 예측 방향들에 대해 사용될 수 있다.
e. 일 예로서, K (K>=0) 개 보다 크지 않은 페어와이즈 머지 후보들 혹은/및 결합된 머지 후보들은 대체 보간 필터들을 사용할 수 있다.
f. 일 예로서, 기본 보간 필터들은 페어와이즈(pair-wise) 머지 후보들 혹은/및 결합된 머지 후보들에 대해 항상 사용된다.
7. 현재 블록이 IBC 모드로 코딩될 때 하프-픽셀 움직임 벡터/움직임 벡터 차이 정밀도의 사용이 비활성화되는 것이 제안된다.
a. 또는, 더 나아가, 하프-픽셀 MV/MVD 정밀도 사용의 지시를 시그널링할 필요가 없다.
b. 일 예로서, 대체 하프-픽셀 보간 필터는 현재 블록이 IBC 모드로 코딩된 경우 항상 비활성화된다.
c. 또는, 또한, 하프-픽셀 보간 필터의 지시는 시그널링될 필요가 없다.
d. 일 예로서, '현재 블록이 IBC 모드로 코딩된다'는 조건은 '현재 블록이 모드로 코딩된다'로 대체될 수 있다. 모드는 삼각 모드, 머지 모드 등으로 정의될 수 있다. 일 예시 모드는 블록이 두 부분들로 분할되고, 각 부분이 하나의 움직임 후보와 연관되며 두 움직임 후보들이 동일한 움직임 후보 리스트로부터 유도되는 코딩 모드에 대응된다.
8. amvr_precision_idx 및/혹은 hpel_if_idx를 인코딩할 때, 첫 번째(제 1) 빈만이 컨텍스트 코딩될 수 있다.
a. 또는, 더 나아가, 다른 빈(bin)들은 바이패스 코딩(bypass-coded)될 수 있다.
b. 일 예로서, amvr_precision_idx 의 첫 번째(제1) 빈은 바이패스 코딩될 수 있다.
c. 일 예로서, hpel_if_idx 의 첫 번째(제1) 빈은 바이패스 코딩될 수 있다.
d. 일 예로서, 오직 하나의 컨텍스트 만이 amvr_precision_idx의 첫 번째(제1) 빈을 코딩하는 데 사용될 수 있다.
e. 일 예로서, 오직 하나의 컨텍스트 만이 hpel_if_idx 의 첫 번째(제1) 빈을 코딩하는 데 사용될 수 있다..
f. 일 예로서, amvr_precision_idx 의 모든 빈들이 하나의 동일한 컨텍스트를 공유할 수 있다.
g. 일 예로서, hpel_if_idx 의 모든 빈들이 하나의 동일한 컨텍스트를 공유할 수 있다.
9. 일부 코딩 도구들은 대체 보간 필터들이 활용되는 경우 허용되지 않을 수 있다 .
a. 일 예로서, BDOF(bi-directional optical flow)는 대체 보간 필터들이 활용되는 경우 허용되지 않을 수 있다.
b. 일 예로서, DMVR 혹은/및 DMVD는 대체 보간 필터들이 활용되는 경우 허용되지 않을 수 있다.
c. 일 예로서, CIIP (combined inter-intra prediction)는 대체 보간 필터들이 활용되는 경우 허용되지 않을 수 있다.
i. 일 예로서, 머지 후보가 대체 보간 필터들을 상속하는 경우 CIIP 플래그는 생략되고 거짓으로 추론될 수 있다.
ii. 또는, CIIP 플래그가 참이면, 기본 보간 필터는 항상 활용될 수 있다.
d. 일 예로서, SMVD(symmetric motion vector difference)는 대체 보간 필터들이 활용되는 경우 허용되지 않을 수 있다.
i. 일 예로서, SMVD가 활용되는 경우, 기본 보간 필터들은 항상 사용되고, 대체 보간 필터들에 연관되는 신택스 요소들은 시그널링되지 않는다.
ii. 또는, 대체 보간 필터들과 연관된 신택스 요소들이 대체 보간 필터들이 활용됨을 지시하는 경우, SMVD 관련 신택스 요소들은 시그널링되지 않고 SMVD 모드는 사용되지 않는다.
e. 일 예로서, SBT(subblock transform)은 대체 보간 필터들이 활용될 때 허용되지 않을 수 있다.
i. 일 예로서, SBT가 활용되는 경우, 기본 보간 필터들이 항상 사용되고, 대체 보간 필터들과 연관된 신택스 요소들이 시그널링되지 않는다.
ii. 또는, 대체 보간 필터들과 연관된 신택스 요소들이 대체 보간 필터들이 활용됨을 지시하면, SBT 관련 신택스 요소들이 시그널링되지 않을 수 있으며 SBT는 사용되지 않는다.
h. 일 예로서, 블록이 두 부분들로 분할되는 삼각 예측 및 다른 코딩 모드들은 대체 보간 필터가 활용될 때 허용되지 않을 수 있다. 일부 실시예들에서, 블록이 두 부분들로 분할되면, 각 부분은 하나의 움직임 후보와 연관되며, 두 움직임 후보들은 동일한 움직임 후보 리스트에서 유도된다.
i. 일 예로서, 보간 필터 정보는 삼각 예측에서 상속되지 않을 수 있으며 오직 기본 보간 필터들만이 사용될 수 있다.
g. 또한, 블록이 두 부분들로 분할되는 삼각 예측 및 다른 코딩 모드들은 대체 보간 필터가 활용될 때 허용될 수 있다. 일부 실시예들에서, 블록이 두 부분들로 분할되면, 각 부분은 하나의 움직임 후보와 연관되며 두 움직임 후보들은 동일한 움직임 후보 리스트에서 유도된다.
i. 일 예로서, 보간 필터 정보는 삼각 예측에서 상속될 수 있다.
h. 또는, 상기에서 언급된 코딩 도구의 경우, 활성화되면, 대체 하프-픽셀 보간 필터는 비활성화될 수 있다.
10. N-픽셀 정밀도 MV들에 필터가 적용될 수 있다.
a. 일 예로서, N은 1, 2, 혹은 4 등과 동일할 수 있다.
b. 일 예로서, 필터는 저역 통과 필터(low-pass filter)일 수 있다.
c. 일 예로서, 필터는 1-d 필터일 수 있다.
i. 일 예로서, 필터는 1-d 수평 필터일 수 있다.
ii. 일 예로서, 필터는 1-d 수직 필터일 수 있다.
d. 일 예로서, 플래그는 이러한 필터들이 활용되는지 혹은 아닌지 여부를 지시하기 위해 시그널링될 수 있다.
i. 또는, 또한, 이러한 플래그는 N-픽셀 MVD 정밀도(AMVR 모드에서 시그널링됨)이 블록에 대해 사용되는 경우에만 시그널링될 수 있다.
11. GBI 모드에서 정규(regular) 인터 모드 및 어파인 모드에 대해 서로 다른 가중치 인자 세트들이 사용될 수 있다.
a. 일 예로서, 정규(regular) 인터 모드 및 어파인 모드에 사용되는 가중치 인자 세트들은 SPS/타일 그룹 헤더/슬라이스 헤더/VPS/PPS 등에서 시그널링될 수 있다.
b. 일 예로서, 정규(regular) 인터 모드 및 어파인 모드에 사용되는 가중치 인자 세트들은 인코더 및 디코더에서 기 정의될 수 있다.
12. 대체 보간 필터들을 어떻게 정의/선택할 것인지는 코딩된 모드 정보에 따를 수 있다.
a. 일 예로서, 어파인 모드 및 논-어파인 모드의 경우, 대체 보간 필터들의 허용된 세트들이 다를 수 있다.
b. 일 예로서, IBC 모드의 경우 및 논-IBC 모드의 경우, 대체 보간 필터들의 허용된 세트들이 다를 수 있다.
5. 개시된 기술의 예시적인 실시예들
도 11a는 비디오 프로세싱 장치(1100)의 블록도를 도시한 것이다. 장치(1100)는 이 명세서에 기재된 하나 이상의 방법들을 구현하는 데 사용될 수 있다. 장치(1100)는 스마트폰, 태블릿, 컴퓨터, 사물인터넷(Internet of Things; IoT) 수신기 등 내에 구현될 수 있다. 장치(1100)는 하나 이상의 프로세서(1102)들과, 하나 이상의 메모리(1104)와, 및 비디오 프로세싱 하드웨어(1106)를 포함할 수 있다. 프로세서(들)(1102)는 이 명세서에 기재된 하나 이상의 방법들을 구현하도록 구성될 수 있다. 메모리(메모리들)(1104)는 이 명세서에 기재된 방법과 기법들을 구현하는 데 사용되는 데이터와 코드를 저장하는 데 사용될 수 있다. 비디오 프로세싱 하드웨어(1106)는 하드웨어 회로 내에서 이 명세서에 기재된 일부 기법들을 구현하는 데 사용될 수 있으며, 부분적으로 혹은 완전히 프로세서(1102)(예를 들어, 그래픽 프로세서 코어 GPU 혹은 다른 신호 프로세싱 회로)의 일부일 수 있다.
도 11b는 개시된 기술들이 구현될 수 있는 비디오 프로세싱 시스템의 블록도의 다른 예이다. 도 11b는 여기에 개시된 다양한 기술들이 구현될 수 있는 예시적인 비디오 프로세싱 시스템4100을 나타내는 블록도를 도시한 것이다. 다양한 실시예들은 시스템 4100의 일부 혹은 모든 컴포넌트들을 포함할 수 있다. 시스템 4100은 비디오 컨텐츠를 수신하기 위해 입력 4102을 포함할 수 있다. 비디오 콘텐츠는 예를 들어, 8 또는 10 비트 다중 성분 픽셀 값들과 같은 raw 혹은 압축되지 않은 형식으로 수신될 수 있고, 압축되거나 인코딩된 형식일 수도 있다. 입력 4102는 네트워크 인터페이스, 주변 버스 인터페이스, 혹은 스토리지 인터페이스를 나타낼 수 있다. 네트워크 인터페이스 예시들은 이더넷(ethernet), PON(passive optical network) 등과 같은 유선 인터페이스들을 포함하고, Wi-Fi 혹은 셀룰러 인터페이스들과 같은 무선 인터페이스들도 포함한다.
시스템 4100은 본 문서에 개시된 다양한 코딩 혹은 인코딩 방법들을 구현할 수 있는 코딩 컴포넌트(component) 4104를 포함할 수 있다. 코딩 컴포넌트 4104는 비디오의 코딩된 표현을 생성하기 위해 입력 4102로부터 코딩 컴포넌트 4104의 출력으로의 비디오의 평균 비트율(bitrate)을 감소시킬 수 있다. 따라서 코딩 기술들은 종종 비디오 압축 혹은 비디오 트랜스코딩 기술들로 불리기도 한다. 코딩 컴포넌트 4104의 출력은 컴포넌트 4106에 의해 표현되는 바와 같이 저장되거나 연결된 통신을 통해 전송될 수 있다. 입력 4102에서 수신된 비디오의 저장된 혹은 통신된 비트스트림(혹은 코딩된) 표현은 컴포넌트 4108에 의해 디스플레이 인터페이스 4110로 송신되는 픽셀 값들 혹은 디스플레이 가능한 비디오를 생성하는 데 사용될 수 있다. 비트스트림 표현으로부터 사용자가 시청 가능한 비디오를 생성하는 프로세스는 비디오 종종 압축 해제로 불린다. 또한, 특정 비디오 프로세싱 동작들이 "코딩" 동작들 혹은 도구들로 불리지만, 코딩 도구 혹은 동작은 인코더에서 사용되고, 코딩 결과를 역전시키는 해당 디코딩 도구 혹은 동작은 디코더에 의해 수행될 것이다.
주변 버스 인터페이스 또는 디스플레이 인터페이스의 예는 범용 직렬 버스(universal serial bus; USB), 고화질 멀티미디어 인터페이스(high definition multimedia interface; HDMI), 또는 Displayport 등을 포함할 수 있다. 저장 인터페이스의 예는 SATA(serial advanced technology attachment; 직렬 고급 결합 기술; 직렬 ATA), PCI, IDE 인터페이스 등을 포함할 수 있다. 이 문서에 기재된 기술들은 모바일폰, 랩탑, 스마트폰 또는 디지털 데이터 프로세싱 및/또는 비디오 디스플레이가 가능한 다른 기기들 등의 여러 전자 기기들에 구현될 수 있다.
개시된 기술의 일부 실시예는 비디오 프로세싱 도구 또는 모드를 활성화하기 위한 결정 또는 결론을 내리는 것을 포함한다. 일 예에서, 비디오 프로세싱 도구 또는 모드가 활성화되면 인코더는 비디오 블록의 프로세싱에서 도구 또는 모드를 사용하거나 실행할 수 있지만 도구 또는 모드의 사용에 따라 결과 비트스트림을 반드시 수정해야하는 것은 아니다. 즉, 비디오 블록에서 비디오의 비트스트림 표현으로의 변환은 결정 또는 결론에 따라 활성화될 때 비디오 프로세싱 도구 또는 모드를 사용할 수 있다. 다른 예에서, 비디오 프로세싱 도구 또는 모드가 활성화될 때, 디코더는 비디오 프로세싱 도구 또는 모드에 기초하여 비트스트림이 수정되었다는 지식으로 비트스트림을 프로세싱할 것이다. 즉, 비디오의 비트스트림 표현에서 비디오의 블록으로의 변환은 결론 또는 결정에 기초하여 활성화된 비디오 프로세싱 도구 또는 모드를 사용하여 수행될 것이다.
개시된 기술의 일부 실시예들은 비디오 프로세싱 도구 또는 모드를 비활성화하기 위한 결정 또는 결론을 내리는 것을 포함한다. 일 예로서, 비디오 프로세싱 도구 또는 모드가 비활성화되면 인코더는 비디오 블록을 비디오의 비트스트림 표현으로 변환하는 데 도구 또는 모드를 사용하지 않을 수 있다. 다른 예로서, 비디오 프로세싱 도구 또는 모드가 비활성화되면, 디코더는 결정 또는 결론에 기초하여 활성화된 비디오 프로세싱 도구 또는 모드를 사용하여 비트스트림이 수정되지 않았다는 지식으로 비트스트림을 프로세싱할 것이다.
이 명세서에서 "비디오 프로세싱(처리)(video processing)"라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축, 또는 비디오 압축해제를 지칭할 수 있다. 예를 들어, 비디오 압축 알고리즘들이 비디오의 화소 표현으로부터 대응 비트스트림 표현으로의 변환 동안 적용될 수 있으며 그 역도 마찬가지이다. 현재 비디오 블록의 비트스트림 표현은 예를 들어 신택스에 정의된 바와 같이 비트스트림의 다른 위치들에 공존(co-located)하거나 분산된 비트들에 대응할 수 있다. 예를 들어 매크로블록(macroblock)은 변환 및 코딩된 오류 잔차 값(error residual value)들로, 또한 헤더 또는 비트스트림 내의 다른 필드들의 비트를 사용하여 인코딩될 수 있다.
개시된 방법 및 기술은 본 문서에 개시된 기술의 사용을 허용함으로써 스마트폰, 랩탑, 데스크탑 및 유사한 장치와 같은 비디오 프로세싱 장치 내에 통합된 비디오 인코더 및/또는 디코더 실시예에 이점이 있음이 이해될 것이다.
도 12a는 예시적인 비디오 프로세싱 방법(1210)의 흐름도를 도시한 것이다. 방법(1210)은 1212로서, 비디오의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함한다. 일부 실시예들에서, 코딩된 표현은 기본 움직임 정보 정밀도를 이용하지 않는 현재 비디오 블록에 대한 다중 정밀도 세트로부터 움직임 정보 정밀도를 지시하는 제1 파라미터 및/혹은 대체 하프-픽셀 보간 필터가 변환을 위해 사용되는지 여부를 식별하는 제2 파라미터를 포함한다. 일부 실시예들에서, 제1 파라미터 및/혹은 제2 파라미터 각각은 하나이상의 빈에 연관되고, 컨텍스트 모델 기반 코딩은 오직 코딩된 표현에서 하나 이상의 빈의 제1 빈에 대해서만 사용된다. 일부 실시예들에서, 현재 비디오 블록은 머지 모드 혹은 MMVD(merge with motion vector difference) 모드를 이용하여 코딩된 표현으로 표현되고, 1/N 정밀도를 갖는 보간 필터는 규칙에 따라 현재 비디오 블록과 연관된 예측 블록을 보간하는 데 사용되고, N은 양의 정수이다. 여기서 규칙은 보간 필터가 기본 보간 필터와 상이한 대체 보간 필터인 경우 보간 정보를 상속하기 위한 조건을 정의한다.
도 12b는 예시적인 비디오 프로세싱 방법(1220)의 흐름도를 도시한 것이다. 방법(1220)은 1222로서, 비디오의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 위해 보간 필터를 이용하여 움직임 정보를 결정하는 단계를 포함하되, 움직임 정보는 M-정수 픽셀 정확도 혹은 1/N 서브 픽셀 정확도를 갖고, M 및 N은 양의 정수이며 N은 2와 상이하다. 이 방법(1220)은 1224로서, 움직임 정보에 기초하여 변환을 수행하는 단계를 더 포함한다.
도 13a는 예시적인 비디오 프로세싱 방법(1310)의 흐름도를 도시한 것이다. 방법(1310)은 1312로서, 비디오의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 위해, 움직임 후보에서 하나 이상의 움직임 후보들과 하나 이상의 움직임 후보들과 연관된 하나 이상의 보간 필터들에 기초하여 제1 움직임 후보를 생성하는 단계를 포함하되, 보간 필터는 하나 이상의 움직임 후보들과 연관된 하나 이상의 보간 필터들에 의존하는 규칙에 따라 제1 움직임 후보에 할당된다. 이 방법(1310)은, 1314로서, 움직임 후보 리스트에 제1 움직임 후보를 삽입하는 단계를 포함한다. 이 방법(1310)은, 1316로서, 움직임 후보 리스트에 기초하여 변환을 수행하는 단계를 포함한다.
도 13b는 예시적인 비디오 프로세싱 방법(1320)의 흐름도를 도시한 것이다. 방법(1320)은 1322로서, 비디오의 제1 비디오 영역의 제1 블록 및 제2 비디오 영역의 제2 블록을 포함하는 복수 블록들 각각과, 복수 블록들 각각에 대한 움직임 벡터 차이 정보를 보간하기 위해 사용되는 각각의 보간 필터에 대한 정보를 포함하는 움직임 정보를 연관시키는 단계를 포함한다. 이 방법(1320)은, 1324로서, 움직임 정보를 이용하여 비디오와 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 더 포함한다.
도 13c는 예시적인 비디오 프로세싱 방법(1330)의 흐름도를 도시한 것이다. 방법(1330)은 1332로서, 현재 비디오 블록을 포함하는 비디오와 비디오의 코딩된 표현 간의 변환 동안 현재 비디오 블록을 프로세싱하는 단계를 포함한다. 이 방법(1330)은, 1334로서, 현재 비디오 블록의 움직임 정보와 머지 후보 리스트를 비교하고 선택적으로 업데이트하는 단계를 포함한다. 일부 실시예들에서, 움직임 정보는 보간 필터 정보를 포함하고 보간 필터 정보는 코딩된 표현에서 현재 비디오 블록을 표현하는 데 사용되는 움직임 벡터 차이 값들을 보간하는 데 사용되는 보간 필터의 파라미터들을 포함한다.
도 14a는 예시적인 비디오 프로세싱 방법(1410)의 흐름도를 도시한 것이다. 방법(1410)은 1412로서, 비디오 영역의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환에 앞서, 적어도 하나의 HMVP(history-based motion vector prediction) 표를 유지하는 단계를 포함하되, HMVP 표는 하나 이상의 이전에 프로세싱된 블록의 움직임 정보에 대응되는 하나 이상의 엔트리를 포함한다. 이 방법(1410)은, 1414로서, 적어도 하나의 HMVP 표를 이용하여 변환을 수행하는 단계를 더 포함한다. 일부 실시예들에서, 각 엔트리의 움직임 정보는 하나 이상의 이전에 프로세싱된 블록의 보간 필터 정보를 포함하도록 구성된다. 일부 실시예들에서, 보간 필터 정보는 하나 이상의 이전에 프로세싱된 블록의 예측 블록들을 보간하는 데 사용되는 보간 필터들을 지시한다.
도 14b는 예시적인 비디오 프로세싱 방법(1420)의 흐름도를 도시한 것이다. 방법(1420)은 1422로서, 비디오 영역의 현재 비디오 블록 및 비디오의 코딩된 표현 간의 변환에 앞서, 적어도 하나의 HMVP(history-based motion vector prediction) 표를 유지하는 단계를 포함하되, HMVP 표는 하나 이상의 이전에 프로세싱된 블록의 움직임 정보에 대응되는 하나 이상의 엔트리를 포함하며, 각 엔트리의 움직임 정보는 하나 이상의 이전에 프로세싱된 블록의 보간 필터 정보를 포함하도록 구성된다. 이 방법(1420)은, 1424로서, 변환을 위해 HMVP 머지 후보를 포함하는 움직임 후보 리스트를 구성하는 단계를 더 포함하되, HMVP 후보는 한 엔트리와 연관된 대응 보간 필터 정보를 포함하는 HMVP 표로부터 한 엔트리를 상속하여 유도된다. 이 방법(1420)은, 1426로서, 움직임 후보 리스트에 기초하여 변환을 수행하는 단계를 포함한다.
도 15a는 예시적인 비디오 프로세싱 방법(1510)의 흐름도를 도시한 것이다. 방법(1510)은 1512로서, 비디오의 코딩된 표현에서 비디오의 현재 비디오 블록을 표현하는 데 사용되는 코딩 모드를 결정하는 단계를 포함한다. 방법(1510)은 1514로서 코딩 모드에 따라 현재 비디오 블록을 코딩된 표현으로 코딩하는 단계를 더 포함하되, 움직임 정보의 표현을 위한 하프-픽셀 정확도의 사용이 코딩 모드의 사용으로 인해 현재 비디오 블록에 대해 비활성화된다.
도 15b는 예시적인 비디오 프로세싱 방법(1520)의 흐름도를 도시한 것이다. 방법(1520)은 1522로서 비디오의 현재 비디오 블록이 코딩 모드를 이용하여 코딩된다고 결정 하기위해 비디오의 코딩된 표현을 파싱하는 단계를 포함한다. 이 방법(1520)은 1524로서 코딩 모드에 따라, 코딩된 표현으로부터 현재 비디오 블록의 디코딩된 표현을 생성하는 단계를 더 포함하되, 움직임 정보를 표현하기 위한 하프-픽셀 정확도의 사용은 코딩 모드의 사용으로 인해 현재 비디오 블록에 대해 비활성화된다.
도 15c는 예시적인 비디오 프로세싱 방법(1530)의 흐름도를 도시한 것이다. 방법(1530)은 1532로서, GBi(generalized Bi-prediction) 모드를 이용하여 프로세싱된 현재 비디오 블록을 위해, 제1 예측 블록 및 제2 예측 블록 각각을 위한 제1 가중치 인자 및 제2의 상이한 가중치 인자를 결정하는 단계를 포함하되, 제1 가중치 인자 및 제2 가중치 인자는 가중치 인자 세트들로부터 선택된다. 이 방법(1530)은, 1534로서, 결정에 기초하여 비디오의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 더 포함한다. 일부 실시예들에서, 인터 모드에서 사용되는 제1 가중치 인자 세트는 어파인 인터 모드에서 사용되는 제2 가중치 인자 세트와 상이하다.
도 15d는 예시적인 비디오 프로세싱 방법(1540)의 흐름도를 도시한 것이다. 방법(1540)은 1542로서, 비디오의 비디오 영역의 복수의 비디오 유닛들과 복수의 비디오 유닛들과 코딩된 표현 간의 변환을 위해, 비디오 유닛의 코딩 모드에 의존하여 보간 필터와 연관된 정보를 결정하는 단계를 포함하되, 되, 보간 필터는 코딩된 표현에서 움직임 벡터 차이 값들을 보간하는 데 사용되고, M-정수 픽셀 정확도 혹은 1/N 서브 픽셀 정확도를 가지며, M 및 N은 양의 정수이다. 이 방법(1540)은, 1544로서, 보간 필터를 이용하여 변환을 수행하는 단계를 더 포함한다.
도 16a는 예시적인 비디오 프로세싱 방법(1610)의 흐름도를 도시한 것이다. 방법(1610)은 1612로서, 비디오의 코딩된 표현에서 비디오의 현재 비디오 블록을 표현하기 위해 사용되는 코딩 모드를 결정하는 단계를 포함한다. 이 방법(1610)은, 1614로서, 코딩 모드에 따라 현재 비디오 블록을 코딩된 표현으로 코딩하는 단계를 포함한다. 일부 실시예들에서, 움직임 정보의 표현을 위해, 기본 하프-픽셀 정확도 필터에 더하여 대체 하프-픽셀 정확도 필터들의 사용은 코딩 모드의 사용으로 인해 현재 비디오 블록에 대해 비활성화된다.
도 16b는 예시적인 비디오 프로세싱 방법(1620)의 흐름도를 도시한 것이다. 방법(1620)은 1622로서, 비디오의 현재 비디오 블록이 코딩 모드를 이용하여 코딩됨을 결정하기 위해 비디오의 코딩된 표현을 파싱하는 단계를 포함한다. 이 방법(1620)은 1624로서, 코딩 모드에 따라 코딩된 표현으로부터 현재 비디오 블록의 디코딩된 표현을 생성하는 단계를 더 포함한다. 일부 실시예들에서, 움직임 정보의 표현을 위해, 기본 하프-픽셀 정확도 필터에 더하여 대체 하프-픽셀 정확도 필터들의 사용은 코딩 모드의 사용으로 인해 현재 비디오 블록에 대해 비활성화된다.
도 16c는 예시적인 비디오 프로세싱 방법(1630)의 흐름도를 도시한 것이다. 방법(1630)은 1632로서, 비디오의 비디오 블록에 대해 활성화된 대체 보간 필터의 사용으로 인해 비디오 블록을 비디오의 코딩된 표현으로 코딩하는 데 코딩 모드가 불허되는 것으로 결정하는 단계를 포함한다. 이 방법(1630)은, 1634로서, 결정에 기초하여 비디오 블록의 코딩된 표현을 생성하는 단계를 포함하되, 대체 보간 필터는 현재 비디오 블록의 인터 예측 블록들을 보간하는 데 사용된다.
도 16d는 예시적인 비디오 프로세싱 방법(1640)의 흐름도를 도시한 것이다. 방법(1640)은 1642로서, 비디오의 비디오 블록에 대해 활성화된 대체 보간 필터의 사용으로 인해 비디오의 코딩된 표현에서 비디오 블록을 표현하기 위한 코딩 모드의 사용이 불허되는 것으로 결정하는 단계를 포함한다. 이 방법(1640)은, 1644로서, 결정에 기초하여 코딩된 표현을 파싱함으로서 디코딩된 비디오 블록을 생성하는 단계를 더 포함한다.
다양한 기술 및 실시예는 다음의 절 기반(clause-based) 형식을 사용하여 설명될 수 있다.
절(clause)들의 첫 번째 세트는 이전 섹션에 나열된, 개시된 기술의 특정한 특징들 및 측면들을 설명한다.
1. 비디오 프로세싱 방법에 있어서, 현재 비디오 블록에 대해, 인접 블록 세트에 적어도 하나의 보간 필터를 적용함에 따라 움직임 정보의 단일 세트를 결정하는 단계를 포함하고, 적어도 하나의 보간 필터는 움직임 정보의 단일 세트의 정수 픽셀 정확도 혹은 서브 픽셀 정확도로 구성 가능하고, 현재 비디오 블록과 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 변환은 비트스트림 표현에서 시그널링된 움직임 정보의 단일 세트를 개선하기 위한 디코더 움직임 벡터 개선(DMVR) 단계를 포함한다.
2. 1절의 방법에 있어서, 움직임 정보의 단일 세트는 AMVR(adaptive motion vector resolution) 모드와 연관되고, 적어도 하나의 보간 필터는 비트스트림 표현으로 시그널링된다.
3. 1절의 방법에 있어서, 움직임 정보의 단일 세트는 머지 모드와 연관되고, 적어도 하나의 보간 필터는 이전 비디오 블록으로부터 상속된다.
4. 1절의 방법에 있어서, 움직임 정보의 단일 세트는 MMVD(merge with motion vector difference) 모드와 연관되고, 적어도 하나의 보간 필터의 인덱스는 이전 비디오 블록으로부터 상속된다.
5. 1절의 방법에 있어서, 적어도 하나의 보간 필터는 서브-픽셀 정확도를 갖는 기본 필터에 대응하고, 움직임 정보의 단일 세트는 MMVD(merge with motion vector difference) 모드에 연관된다.
6. 2절 내지 4절 중 어느 한 방법에 있어서, 현재 비디오 블록에 대한 적어도 하나의 보간 필터의 계수들은 이전 비디오 블록으로부터 상속된다.
7. 1절 내지 6절 중 어느 한 방법에 있어서, 움직임 정보의 단일 세트의 서브 픽셀 정확도는 1/4픽셀이거나 1/16픽셀이다.
8. 1절 내지 7절 중 어느 한 방법에 있어서, 움직임 정보의 단일 세트의 하나 이상의 성분들은 서브-픽셀 정확도를 갖는다.
9. 1절의 방법에 있어서, 적어도 하나의 보간 필터는 6개의 계수들 혹은 8개의 계수들을 이용하여 표현된다.
10. 5절의 방법에 있어서, 적어도 하나의 보간 필터의 인덱스는 현재 비디오 블록에 대해서만 전적으로 연관되고, 후속 비디오 블록들과는 연관되지 않는다.
11. 1절의 방법에 있어서, 적어도 하나의 보간 필터에 연관된 정보는 움직임 정보의 단일 세트와 함께 저장된다.
12. 11절의 방법에 있어서, 적어도 하나의 보간 필터에 연관된 정보는 적어도 하나의 보간 필터를 기본 필터로 식별한다.
13. 1절의 방법에 있어서, 현재 비디오 블록에 대한 적어도 하나의 보간 필터의 계수들은 다른 비디오 블록의 보간 필터에 의해 이용이 제한된다.
14. 1절 내지 13절 중 어느 한 방법에 있어서, 적어도 하나의 보간 필터는 복수 개의 필터들에 대응하고, 복수 개의 필터들 중 각 필터는 움직임 정보의 단일 세트의 서브 픽셀 정확도에 연관된다.
15. 1절 내지 14절 중 어느 한 방법에 있어서, 움직임 정보의 단일 세트의 각 성분의 정밀도는 움직임 정보의 단일 세트의 서브-픽셀 정확도 이하이다.
16. 1절 내지 15절 중 어느 한 방법에 있어서, 적어도 하나의 보간 필터는 HMVP(history-based motion vector prediction) 룩업 표에 저장된다.
17. 16절의 방법에 있어서,
다른 비디오 블록의 움직임 정보가 현재 비디오 블록의 움직임의 단일 세트와 동일하다는 것이 감지되면, 다른 비디오 블록의 움직임 정보의 삽입 없이 움직임 정보의 단일 세트를 HMVP 표에 삽입하는 단계를 포함한다.
18. 16절의 방법에 있어서, 다른 비디오 블록의 움직임 정보가 현재 비디오 블록의 움직임의 단일 세트와 동일하다는 것이 감지되면, HMVP 표에, 현재 비디오 블록의 움직임 정보의 단일 세트와 다른 비디오 블록의 움직임 정보를 삽입하는 단계를 포함한다.
19. 17절 내지 18절 중 어느 한 방법에 있어서, 다른 비디오 블록은 보간 필터와 연관되되, 삽입하는 단계는 현재 비디오 블록의 적어도 하나의 보간 필터 및/혹은 다른 비디오 블록의 보간 필터에 적어도 부분적으로 기초한다.
20. 17절 내지 19절 중 어느 한 방법에 있어서, 현재 비디오 블록 및 다른 비디오 블록은 페어와이즈 후보들 혹은 결합된 머지 후보들에 대응한다.
21. 17절 내지 20절 중 어느 한 방법에 있어서, 현재 비디오 블록의 적어도 하나의 보간 필터 및 다른 비디오 블록의 보간 필터는 동일하다.
22. 17절 내지 20절 중 어느 한 방법에 있어서, 현재 비디오 블록의 적어도 하나의 보간 필터 및 다른 비디오 블록의 보간 필터는 상이하다.
23. 1절의 방법에 있어서, 현재 비디오 블록은 인트라 블록 복사(intra block copy: IBC)모드로 코딩되고, 움직임 정보의 단일 세트의 표현에서 서브-픽셀 정확도의 사용이 비활성화된다.
24. 1절 내지 23절 중 어느 한 방법에 있어서, 적어도 하나의 보간 필터의 사용이 비활성화된다.
25. 1절의 방법에 있어서, 적어도 하나의 보간 필터는 amvr_precision_idx 플래그 및/혹은 hpel_if_idx 플래그와 연관된다.
26. 25절의 방법에 있어서, amvr_precision_idx 플래그 및/혹은 hpel_if_idx 플래그는 바이패스 코딩된(bypass-coded) 빈(bin)들 혹은 컨텍스트 코딩된(context-coded) 빈들과 연관된다.
27. 26절의 방법에 있어서, 제1 빈은 바이패스 코딩된 빈 혹은 컨텍스트 코딩된 빈이다.
28. 25절 내지 27절 중 어느 한 방법에 있어서, 모든 빈들은 동일한 컨텍스트를 공유한다.
29. 1절의 방법에 있어서, 하나 이상의 비디오 프로세싱 단계들은 적어도 하나의 보간 필터를 사용하는 것에 기초하여 비활성화된다.
30. 29절의 방법에 있어서, 하나 이상의 비디오 프로세싱 단계들은 디코더 움직임 벡터 개선(DMVR) 단계, 양방향 광학 흐름(BDOF) 단계, 결합된 인터-인트라 예측(CIIP) 단계, 대칭 움직임 벡터 차이(SMVD) 단계, 서브 블록 변환(SBT) 단계 혹은 삼각 예측 단계를 포함한다.
31. 30절의 방법에 있어서, 적어도 하나의 보간 필터는 기본 필터에 대응한다.
32. 30절 내지 31절 중 어느 한 방법에 있어서, 하나 이상의 비디오 프로세싱 단계의 비활성화하는 것은, 비트스트림 표현에서, 하나 이상의 비디오 프로세싱 단계들의 지시를 비활성화하는 것을 포함한다.
33. 30절 내지 31절 중 어느 한 방법에 있어서, 하나 이상의 비디오 프로세싱 단계의 비활성화하는 것은 현재 비디오 블록의 적어도 하나의 보간 필터를 다른 비디오 블록으로 상속하는 것을 비활성화하는 것을 포함한다.
34. 1절의 방법에 있어서, 움직임 정보의 단일 세트의 정수 픽셀 정확도는 1 픽셀, 2 픽셀, 혹은 4 픽셀에 대응한다.
35. 34절의 방법에 있어서, 적어도 하나의 보간 필터는 저역 통과 필터이다.
36. 34절의 방법에 있어서, 적어도 하나의 보간 필터는 1차원 필터이다.
37. 36절의 방법에 있어서, 1차원 필터는 수평 필터 혹은 수직 필터이다.
38. 34절의 방법에 있어서, 비트스트림 표현의 플래그는 적어도 하나의 보간 필터가 사용되는지 혹은 아닌지 여부를 지시한다.
39. 1절 내지 38절 중 어느 한 방법에 있어서, 현재 비디오 블록은 AMVR(adaptive motion vector resolution) 모드에 연관된다.
40. 1절 내지 39절 중 어느 한 방법에 있어서, 현재 비디오 블록의 인터 모드에 대한 적어도 하나의 보간 필터는 현재 비디오 블록의 GBi(generalized bi-prediction) 모드와 상이하다.
41. 1절 내지 40절 중 어느 한 방법에 있어서, 적어도 하나의 보간 필터는 기 결정된다.
42. 1절 내지 41절 중 어느 한 방법에 있어서, 비트스트림 표현은 현재 비디오 블록과 연관된 VPS(video parameter set), PPS(picture parameter set), 픽처 헤더, 타일 그룹 헤더 혹은 슬라이스 헤더를 포함한다.
43. 1절 내지 42절 중 적어도 하나의 방법에 있어서, 비디오 프로세싱은 인코더 측 구현이다.
44. 1절 내지 70절 중 적어도 하나의 방법에 있어서, 비디오 프로세싱은 디코더 측 구현이다.
45. 프로세서 및 명령어를 포함하는 비일시적 메모리를 포함하는 비디오 시스템의 장치로서, 프로세서에 의한 실행 시 명령어는 프로세서로 하여금 1절 내지 44절 중 어느 한 방법을 구현하게 한다.
46. 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 1절 내지 45절 중 어느 한 방법을 수행하기 위한 프로그램 코드를 포함한다.
절(clause)들의 두 번째 세트는 예를 들어, 예시적인 구현 1, 8, 및 10을 포함하여 이전 섹션에 나열된, 개시된 기술의 특정한 특징들 및 측면들을 설명한다.
1. 비디오 프로세싱 방법에 있어서, 비디오의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하되, 코딩된 표현은 기본 움직임 정보 정밀도 및/혹은 변환을 위해 대체 하프-픽셀 보간 필터가 사용되는지 여부를 식별하는 제2 파라미터를 사용하지 않는 현재 비디오 블록에 대한 다중 정밀도 세트로부터 움직임 정보를 지시하는 제1 파라미터를 포함하고, 제1 파라미터 및/혹은 제2 파라미터 각각은 하나 이상의 빈과 연관되고, 컨텍스트 모델 기반 코딩은 코딩된 표현의 하나 이상의 빈에서 제1 빈에 대해서만 사용된다.
2. 1절의 방법에 있어서, 움직임 후보는 움직임 벡터 예측, 움직임 벡터 차이 및 움직임 벡터 중 적어도 하나를 포함한다.
3. 1절의 방법에 있어서, 제1 파라미터는 amvr_precision_idx이다.
4. 1 절의 방법에 있어서, 기본 움직임 정보 정밀도는 1/4-루마 샘플이다.
5. 1절의 방법에 있어서, 다중 정밀도 세트는 1/16-루마 샘플, 1/2-루마 샘플, 1 루마 샘플 및 4 루마 샘플 중 적어도 하나를 포함한다.
6. 1절의 방법에 있어서, 현재 블록은 인터 모드, 어파인 인터 모드 혹은 인트라 블록 복사 모드에서 코딩된다.
7. 1절의 방법에 있어서, 한 컨텍스트는 제1 파라미터의 제1 빈에 대해 사용된다.
8. 1절의 방법에 있어서, 나머지 빈들은 바이패스 코딩된다.
9. 1절의 방법에 있어서, 제1 파라미터의 제1 빈 및/혹은 제2 파라미터의 제1빈은 바이패스 코딩된다.
10. 1절의 방법에 있어서, 한 컨텍스트는 제2 파라미터의 제1 빈에 대해 사용된다.
11. 1절의 방법에 있어서, 한 컨텍스트는 제1 파라미터의 모든 빈들에 의해 공유된다.
12. 1절의 방법에 있어서, 한 컨텍스트는 제2 파라미터의 모든 빈들에 의해 공유된다.
13. 1절의 방법에 있어서, 제2 파라미터는 기본 하프-픽셀 보간 필터의 사용을 지시하는 제1 값을 갖는다.
14. 1절의 방법에 있어서, 제2 파라미터는 대체 하프-픽셀 보간 필터를 사용하는 제2 값을 갖는다.
15. 13절의 방법에 있어서, 기본 하프-픽셀 보간 필터는 [-1, 4, -11, 40, 40, -11, 4, -1]인 계수 세트를 갖는다.
16. 1절의 방법에 있어서, 대체 하프-픽셀 보간 필터는 [0, 3, 9, 20, 20, 9, 3, 0]인 계수 세트를 갖는다.
17. 비디오 프로세싱 방법에 있어서, 비디오의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 위해, 보간 필터를 이용하여 움직임 정보를 결정하는 단계를 포함하되, 움직임 정보는 M-정수 픽셀 정확도 혹은 1/N 서브-픽셀 정확도를 가지며, M 및 N은 양의 정수이고 N은 2와 동일하지 않으며, 움직임 정보에 기초하여 변환을 수행하는 단계를 포함하되, 코딩된 표현에서의 신택스 필드는 보간 필터에 대응한다.
18. 17절의 방법에 있어서, N은 4와 동일하다. 또는, 일부 실시예들에서는 N은 16과 동일하다.
19. 17절의 방법에 있어서, AMVR(adaptive motion vector difference resolution) 모드로 코딩된 현재 비디오 블록으로 인해, 코딩된 표현은 보간 필터의 인덱스를 포함한다.
20. 17절의 방법에 있어서, 머지 모드 및/혹은 MMVD 모드로 코딩된 현재 비디오 블록으로 인해, 보간 필터의 인덱스는 이전 비디오 블록으로부터 상속되지 않는다.
21. 17절의 방법에 있어서, 머지 모드 및/혹은 MMVD 모드로 코딩된 현재 비디오 블록으로 인해, 신택스 필드는 기본 보간 필터를 지시한다.
22. 17절의 방법에 있어서, 머지 모드 및/혹은 MMVD(merge with motion vector difference) 모드로 코딩된 현재 비디오 블록의 경우, 보간 필터의 인덱스는 이전 비디오 블록으로부터 상속된다.
23. 22절의 방법에 있어서, 움직임 정보는 서브-픽셀 정확도를 갖는다.
24. 22절의 방법에 있어서, 움직임 정보는 서브-픽셀 정확도를 갖는 하나 이상의 성분들을 포함한다.
25. 22절의 방법에 있어서, 보간 필터의 인덱스는 현재 비디오 블록에 대해서만 전적으로 연관되고 후속 비디오 블록들과는 연관되지 않는다.
26. 17절의 방법에 있어서, M은 1, 2 혹은 4와 동일하다.
27. 17절의 방법에 있어서, 보간 필터는 저역 통과 필터(low-pass filter)이다.
28. 17절의 방법에 있어서, 보간 필터는 1차원 필터이다.
29. 28절의 방법에 있어서, 1차원 필터는 수평 필터 혹은 수직 필터이다.
30. 17절의 방법에 있어서, 코딩된 표현은 M-정수 픽셀 정확도를 갖는 보간 필터가 활성화되었는지 여부를 나타내는 플래그를 선택적으로 포함한다.
31. 30절의 방법에 있어서, 플래그는 현재 비디오 블록이 정수 픽셀 움직임 벡터 정밀도를 사용하여 인코딩된 경우에만 시그널링된다.
32. 1절 내지 31절 중 어느 한 방법에 있어서, 변환을 수행하는 단계는 코딩된 표현으로부터 비디오를 생성하는 단계를 포함한다.
33. 1절 내지 31절 중 어느 한 방법에 있어서, 변환을 수행하는 단계는 비디오로부터 코딩된 표현을 생성하는 단계를 포함한다.
34. 프로세서 및 명령어를 포함하는 비일시적 메모리를 포함하는 비디오 시스템의 장치로서, 프로세서에 의한 실행 시 명령어는 프로세서로 하여금 1절 내지 33절 중 어느 한 방법을 구현하게 한다.
35. 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 1절 내지 35절 중 어느 한 방법을 수행하기 위한 프로그램 코드를 포함한다.
절(clause)들의 세 번째 세트는 예를 들어, 예시적인 구현 2, 3, 5 및 6을 포함하여 이전 섹션에 나열된, 개시된 기술의 특정한 특징들 및 측면들을 설명한다.
1. 비디오 프로세싱 방법에 있어서, 비디오의 현재 비디오 블록 및 비디오의 코딩된 표현 간의 변환을 위해 움직임 후보 리스트에서 하나 이상의 움직임 후보 및 하나 이상의 움직임 후보와 연관된 하나 이상의 보간 필터에 기초한 제1 움직임 후보를 생성하는 단계를 포함하되, 하나 이상의 움직임 후보들과 연관된 하나 이상의 보간 필터들에 의존하는 규칙에 따라 보간 필터가 제1 움직임 후보에 할당되고, 움직임 후보 리스트에 제1 움직임 후보를 삽입하는 단계, 및 움직임 후보 리스트에 기초하여 변환을 수행하는 단계를 포함한다.
2. 1절의 방법에 있어서, 제1 움직임 후보는 페어와이즈 머지 후보, 결합된 머지 후보, 제로 움직임 벡터 후보 및/혹은 다른 기본 후보들 중 적어도 하나에 대응한다.
3. 1절의 방법에 있어서, 각 움직임 후보는 하프-샘플 보간 필터 인덱스와 연관되고, 제1 움직임 후보의 하프 샘플 보간 필터는 적어도 두 개의 움직임 후보들의 하프-샘플 보간 필터 인덱스들에 의해 결정된다.
4. 1절의 방법에 있어서, 동일한 하프-샘플 보간 필터와 연관된 두 개의 움직임 후보들에 대해, 규칙은 동일한 하프-샘플 보간 필터가 제1 움직임 후보에서 상속됨을 지정한다.
5. 4절의 방법에 있어서, 동일한 하프-샘플 보간 필터는, 1인 하프-샘플 보간 필터 인덱스와 연관된 대체 하프-샘플 보간 필터에 대응하고, 대체 하프-샘플 보간 필터는, 0인 하프-샘플 보간 필터 인덱스와 연관된 기본 하프-샘플 보간 필터와 상이하다.
6. 1절의 방법에 있어서, 기본 보간 필터와 연관되지 않은 움직임 후보들 중 하나에 대해, 규칙은 보간 필터가 제1 움직임 후보에서 상속됨을 지정한다.
7. 6절의 방법에 있어서, 보간 필터는 대응 예측 방향에 대해서만 사용된다.
8. 1절의 방법에 있어서, 상이한 보간 필터들과 연관되는 두 개의 움직임 후보에 대해, 규칙은 상이한 보간 필터들이 제1 움직임 후보에서 상속되는 것을 지정한다.
9. 1절의 방법에 있어서, 서로 다른 보간 필터들이 서로 다른 예측 방향에 대해 사용된다.
10. 1절의 방법에 있어서, 할당된 보간 필터가 대체 보간 필터에 대응하는 제1 움직임 후보의 수는 K 이하이고, K는 0이상이다.
11. 1절의 방법에 있어서, 기본 보간 필터는 항상 제1 움직임 후보에 대해서만 사용된다.
12. 비디오 프로세싱 방법에 있어서, 비디오의 제1 비디오 영역의 제1 블록과 제2 비디오 영역의 제2 블록을 포함하는 복수 개의 블록들 각각과 복수개의 블록들 각각에 대한 움직임 벡터 차이 정보를 보간하는 데 사용되는 각각의 보간 필터에 대한 정보를 포함하는 움직임 정보를 연관시키는 단계; 및 움직임 정보를 이용하여 비디오와 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함한다.
13. 12절의 방법에 있어서, 움직임 정보는 기본 움직임 보간 필터의 사용을 지시하는 정보를 포함한다.
14. 12절의 방법에 있어서, 움직임 정보는 기본 보간 필터와 상이한 대체 보간 필터를 식별한다.
15. 12절의 방법에 있어서, 움직임 정보는 하나 이상의 움직임 벡터 및 하나 이상의 참조 프레임 인덱스를 포함한다.
16. 12절 내지 15절 중 어느 한 방법에 있어서, 제1 비디오 영역 및 제2 비디오 영역은 코딩 트리 유닛 행들이다.
17. 12절 내지 15절 중 어느 한 방법에 있어서, 제1 비디오 영역과 제2 비디오 영역은 가상 파이프라인 데이터 유닛들이다.
18. 12절 내지 17절 중 어느 한 방법에 있어서, 제1 비디오 영역과 제2 비디오 영역은 서로 다른 영역이다.
19. 12절 내지 18절 중 어느 한 방법에 있어서, 제2 블록이 제1 블록에 액세스하여 코딩 혹은 디코딩되고, 제1 비디오 영역이 제2 비디오 영역과 상이한 경우 움직임 정보는 제2 블록의 보간 필터가 제1 블록에 사용되는 보간 필터와 동일한 것은 허용되지 않는다는 규칙에 따른다.
20. 12절 내지 17절 중 어느 한 방법에 있어서, 제1 비디오 영역과 제2 비디오 영역은 동일하다.
21. 비디오 프로세싱 방법에 있어서, 비디오의 현재 비디오 블록 및 비디오의 코딩된 표현 간의 변환을 수행하는 단계, 현재 비디오 블록은 머지 모드 혹은 MMVD(merge with motion vector difference) 모드를 이용하는 코딩된 표현으로 표현되고, 1/N 정밀도를 갖는 보간 필터가 규칙에 따라 현재 비디오 블록과 연관된 예측 블록을 보간하는 데 사용되고, N은 양의 정수이며, 규칙은 보간 필터가 기본 보간 필터와 상이한 대체 보간 필터인 경우 보간 정보를 상속하기 위한 조건을 정의한다.
22. 21절의 방법에 있어서, 규칙은 대체 보간 필터의 계수들의 상속을 불허하도록 결정한다.
23. 21절의 방법에 있어서, 코딩된 표현에서 신택스 요소는 항상 기본 보간 필터를 지시한다.
24. 21절의 방법에 있어서, 규칙은 대체 보간 필터의 계수들의 상속을 허용하도록 결정한다.
25. 24절의 방법에 있어서, 대체 보간 필터의 계수들은 최종 유도된 움직임 벡터들이 1/2-픽셀 정밀도이고, 움직임 벡터 성분이 더 미세한 움직임 벡터 정밀도를 갖지 않는 경우 상속된다.
26. 24절의 방법에 있어서 대체 보간 필터의 계수들은 최종 유도된 움직임 벡터들이 1/2-픽셀 정밀도를 갖는 하나 이상의 움직임 벡터 성분들을 포함하는 경우 상속된다.
27. 24절의 방법에 있어서, 대체 보간 필터는 움직임 보상에 대해서만 사용된다.
28. 24절의 방법에 있어서, 기본 보간 필터의 인덱스는 현재 비디오 블록에 대해 저장되고, 현재 비디오 블록에 후속하는 코딩된 블록들에 의해 사용된다.
29. 비디오 프로세싱 방법에 있어서, 현재 비디오 블록을 포함하는 비디오와 비디오의 코딩된 표현 간의 변환 동안 현재 비디오 블록을 프로세싱하는 단계 및 현재 비디오 블록의 움직임 정보와 머지 후보 리스트를 비교하여 선택적으로 업데이트 하는 단계를 포함하되, 움직임 정보는 보간 필터 정보를 포함하고, 보간 필터 정보는 코딩된 표현에서 현재 비디오 블록을 표현하기 위해 사용되는 움직임 벡터 차이 값들을 보간하는 데 사용되는 보간 필터의 파라미터들을 포함한다.
30. 29절의 방법에 있어서, 서로 다른 보간 필터들과 연관된 두 머지 후보들은 서로 다른 머지 후보들로 간주된다.
31. 29절의 방법에 있어서, 머지 후보 리스트를 비교하고 선택적으로 업데이트 하는 단계는 보간 필터 정보를 고려함에 따라 머지 후보 리스트에 HMVP 머지 후보를 삽입하는 단계를 포함한다.
32. 29절의 방법에 있어서, 머지 후보 리스트를 비교하고 선택적으로 업데이트 하는 단계는 보간 필터 정보에 대한 고려 없이 머지 후보 리스트에 HMVP(history-based motion vector prediction) 머지 후보를 삽입하는 단계를 포함한다.
33. 1절 내지 32절 중 어느 한 방법에 있어서, 기본 보간 필터는 [-1, 4, -11, 40, 40, -11, 4, -1]인 계수 세트를 갖는다.
34. 1절 내지 32절 중 어느 한 방법에 있어서, 대체 보간 필터는 [0, 3, 9, 20, 20, 9, 3, 0]인 계수 세트를 갖는다.
35. 1절 내지 34 절 중 어느 한 방법에 있어서, 변환을 수행하는 단계는 현재 비디오 블록으로부터 코딩된 표현을 생성하는 단계를 포함한다.
36. 1절 내지 34 절 중 어느 한 방법에 있어서, 변환을 수행하는 단계는 코딩된 표현으로부터 현재 비디오 블록을 생성하는 단계를 포함한다.
37. 프로세서 및 명령어를 포함하는 비일시적 메모리를 포함하는 비디오 시스템의 장치로서, 프로세서에 의한 실행 시 명령어는 프로세서로 하여금 1절 내지 36절 중 어느 한 방법을 구현하게 한다.
38. 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 1절 내지 36절 중 어느 한 방법을 수행하기 위한 프로그램 코드를 포함한다.
절(clause)들의 네 번째 세트는 예를 들어, 예시적인 구현 4를 포함하여 이전 섹션에 나열된, 개시된 기술의 특정한 특징들 및 측면들을 설명한다.
1. 비디오 프로세싱 방법에 있어서, 비디오 영역의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환에 앞서, 적어도 하나의 HMVP(history-based motion vector prediction)표를 유지하는 단계, 여기서 HMVP 표는 이전에 프로세싱된 하나 이상의 블록들의 움직임 정보에 대응하는 하나 이상의 엔트리를 포함하고; 적어도 하나의 HMVP 표를 이용하여 변환을 수행하는 단계를 포함하되, 각 엔트리의 움직임 정보는 이전에 프로세싱된 하나 이상의 블록들에 대한 보간 필터 정보를 포함하도록 구성되고, 보간 필터 정보는 이전에 프로세싱된 하나 이상의 블록들의 예측 블록들을 보간하는 데 사용되는 보간 필터들을 지시한다.
2. 비디오 프로세싱 방법에 있어서, 비디오 영역의 현재 비디오 블록 및 비디오의 코딩된 표현 간의 변환에 앞서, 이전에 프로세싱된 하나 이상의 블록들의 움직임 정보에 대응되는 하나 이상의 엔트리를 포함하는 적어도 하나의 HMVP(history-based motion vector prediction) 표를 유지하는 단계, 여기서 각 엔트리의 움직임 정보는 이전에 프로세싱된 하나 이상의 블록들에 대한 보간 필터 정보를 포함하도록 구성되고; 변환을 위해 HMVP 머지 후보를 포함하는 움직임 후보 리스트를 구성하는 단계, HMVP 후보는 한 엔트리와 연관된 대응 보간 필터 정보를 포함하는 HMVP 표의 한 엔트리를 상속함으로써 유도되고; 움직임 후보 리스트에 기초하여 변환을 수행하는 단계를 포함하는, 비디오 프로세싱 방법.
3. 1절 혹은 2절의 방법에 있어서, 방법은 HMVP 표를 변환 이후에 선택적으로 업데이트하는 단계를 포함한다.
4. 1절 혹은 2절의 방법에 있어서, 방법은 현재 비디오 블록에 대한 변환 동안 유도된 움직임 정보를 이용하여 HMVP 표를 선택적으로 업데이트하는 단계를 포함하며, 현재 비디오 블록에 대해 유도된 움직임 정보는 현재 비디오 블록에 대한 보간 필터 정보를 포함한다.
5. 3절 혹은 4절의 방법에 있어서, 업데이트하는 단계는 보간 필터 정보에 대한 고려 없이 HMVP 표에 새로운 후보를 삽입할 지 여부를 결정하는 단계를 포함한다.
6. 4절의 방법에 있어서, 보간 필터 정보는 다르지만 보간 필터 정보를 제외한 나머지 움직임 정보의 일부 혹은 전부가 동일한 새로운 후보와 업데이트 이전의 HMVP 테이블의 엔트리는 동일한 후보로 간주된다.
7. 3절 혹은 4절의 방법에 있어서, 업데이트하는 단계는 보간 필터 정보를 고려함으로써 HMVP 표에 새로운 후보를 삽입할지 여부를 결정하는 단계를 포함한다.
8. 7절의 방법에 있어서, 보간 필터 정보를 제외한 남아있는 움직임 정보와 일부 혹은 전부가 동일한 새로운 후보와 업데이트 이전의 HMVP 표의 엔트리와 새로운 후보는 서로 다른 두 개의 후보로 간주된다.
9. 5절 내지 8절 중 어느 한 방법에 있어서, 새로운 후보는 현재 비디오 블록의 움직임 정보에 기초하여 유도된다.
10. 5절 내지 8절 중 어느 한 방법에 있어서, 업데이트하는 단계는, HMVP 표의 엔트리와 상이한 새로운 후보에 대해, 새로운 후보를 HMVP 표에 추가하는 단계를 포함한다.
11. 5절 내지 8절 중 어느 한 방법에 있어서, 업데이트 하는 단계는, HMVP 표의 엔트리와 동일한 새로운 후보에 대해, HMVP 표의 엔트리를 삭제하고 새로운 후보를 HMVP 표에 추가하는 단계를 포함한다.
12. 1절 내지 11절 중 어느 한 방법에 있어서, 보간 필터 정보는 대체 보간 필터 혹은 기본 보간 필터의 사용을 지시하는 하프 샘플 보간 필터 인덱스를 포함한다.
13. 12절의 방법에 있어서, 하프 샘플 보간 필터 인덱스는 기본 보간 필터의 사용을 지시하기 위해 0과 동일하다.
14. 12절의 방법에 있어서, 하프 샘플 보간 필터 인덱스는 대체 보간 필터의 사용을 지시하기위해 1과 동일하다.
15. 12절의 방법에 있어서, 기본 보간 필터는 [-1, 4, -11, 40, 40, -11, 4, -1]인 계수 세트를 갖는다.
16. 12절의 방법에 있어서, 대체 보간 필터는 [0, 3, 9, 20, 20, 9, 3, 0]인 계수 세트를 갖는다.
17. 1절 내지 16절 중 어느 한 방법에 있어서, 변환을 수행하는 단계는 현재 비디오 블록으로부터 코딩된 표현을 생성하는 단계를 포함한다.
18. 1절 내지 16절 중 어느 한 방법에 있어서, 변환을 수행하는 단계는 코딩된 표현으로부터 현재 비디오 블록을 생성하는 단계를 포함한다.
19. 프로세서 및 명령어를 포함하는 비일시적 메모리를 포함하는 비디오 시스템의 장치로서, 프로세서에 의한 실행 시 명령어는 프로세서로 하여금 1절 내지 18절 중 어느 한 방법을 구현하게 한다.
20. 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 1절 내지 18절 중 어느 한 방법을 수행하기 위한 프로그램 코드를 포함한다.
절(clause)들의 다섯 번째 세트는 예를 들어, 예시적인 구현 7 및 11-12를 포함하여 이전 섹션에 나열된, 개시된 기술의 특정한 특징들 및 측면들을 설명한다.
1. 비디오 인코딩 방법에 있어서, 비디오의 코딩된 표현에서 비디오의 현재 비디오 블록을 나타내는 데 사용되는 코딩 모드를 결정하는 단계; 및 코딩 모드에 따라 코딩된 표현으로 현재 비디오 블록을 코딩하는 단계를 포함하되, 움직임 정보를 나타내기 위한 하프-픽셀 정확도의 사용이 코딩 모드의 사용으로 인해 현재 비디오 블록에 대해 비활성화된다.
2. 비디오 디코딩 방법에 있어서, 코딩 모드를 이용하여 비디오의 현재 비디오 블록을 코딩하도록 결정하기 위해 비디오의 코딩된 표현을 파싱하는 단계; 및 코딩 모드에 따라, 코딩된 표현으로부터 현재 비디오 블록의 디코딩된 표현을 생성하는 단계;를 포함하되, 움직임 정보를 나타내기 위한 하프-픽셀 정확도의 사용은 코딩 모드의 사용으로 인해 현재 비디오 블록에 대해 비활성화된다.
3. 1절 혹은 2절의 방법에 있어서, 움직임 정보는 현재 비디오 블록에 대해 하나 이상의 움직임 벡터들에 대응된다.
4. 1절 혹은 2절의 방법에 있어서, 움직임 정보는 현재 비디오 블록에 대해 하나 이상의 움직임 벡터 차이 값들에 대응한다.
5. 1절 혹은 2절의 방법에 있어서, 움직임 정보는 현재 비디오 블록에 대한 하나 이상의 움직임 벡터들 및 현재 비디오 블록에 대한 하나 이상의 움직임 벡터 차이 값들에 대응한다.
6. 1절 내지 4절 중 어느 한 방법에 있어서, 코딩 모드의 사용으로 인해, 코딩된 표현은 하프-픽셀 해상도가 현재 비디오 블록에 대해 적용 가능한지 여부를 시그널링하기 위한 비트들 및/혹은 빈(bin)들을 생략한다.
7. 1절 내지 6절 중 어느 한 방법에 있어서, 코딩 모드는 현재 비디오 블록의 코딩을 위해 현재 비디오 블록을 포함하는 비디오 프레임을 가리키는 블록 벡터를 적어도 사용하여 예측 블록을 생성하는 인트라 블록 복사(intra block copy: IBC) 모드에 대응한다.
8. 7 절의 방법에 있어서, 하프-픽셀 보간 필터의 지시는 시그널링되지 않는다.
9. 1 절의 방법에 있어서, 코딩 모드는 현재 비디오 블록이 두 부분으로 분할되고, 각 부분은 하나의 움직임 후보에 연관되고, 두 개의 움직임 후보들은 동일한 움직임 후보 리스트로부터 유도되는 모드에 대응한다.
10. 9 절의 방법에 있어서, 코딩 모드는 삼각(triangular) 예측 모드에 대응한다.
11. 1 절의 방법에 있어서, 코딩 모드는 현재 비디오 블록 및 인접 블록들이 움직임 정보를 공유하는 머지 모드에 대응한다.
12. 비디오 프로세싱 방법에 있어서, GBi(generalized Bi-prediction) 모드를 이용하여 프로세싱된 현재 비디오 블록에 대해, 제1 예측 블록 및 제2 예측 블록에 각각 제1 가중치 인자 및 상이한 제2 가중치 인자를 사용하도록 결정하는 단계, 제1 가중치 인자 및 제2 가중치 인자는 가중치 인자 세트들로부터 선택되고; 비디오의 현재 비디오 블록 및 비디오의 코딩된 표현 간의 변환을 최종 예측자를 이용하여 수행하는 단계를 포함하되, 인터 모드에서 사용되는 제1 가중치 인자 세트는 어파인 인터 모드에서 사용되는 제2 가중치 인자 세트와 상이하다.
13. 12절의 방법에 있어서, 제1 가중치 인자 및 제2 가중치 인자의 합은 1과 동일하다.
14. 12절의 방법에 있어서, 가중치 인자 세트들은 현재 비디오 블록과 연관된 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 픽처 헤더, 타일 그룹 헤더, 혹은 슬라이스 헤더에서 시그널링된다.
15. 12절의 방법에 있어서, 가중치 인자 세트들은 기 정의된다.
16. 비디오 프로세싱 방법에 있어서, 비디오의 비디오 영역의 복수 개의 비디오 유닛들과 복수 개의 비디오 유닛들의 코딩된 표현 간의 변환을 위해, 비디오 유닛의 코딩 모드에 따른 보간 필터와 연관된 정보, 코딩된 표현에서 움직임 벡터 차이 값들을 보간하고 M-정수 픽셀 정확도 혹은 1/N 서브 픽셀 정확도를 갖기 위한 보간 필터를 결정하는 단계 및 보간 필터를 이용하여 변환을 수행하는 단계를 포함하되, M 및 N은 양의 정수이다.
17. 16절의 방법에 있어서, 결정하는 단계는 어파인 모드로 코딩된 비디오 유닛에 대한 보간 필터 계수들의 첫 번째 세트를 결정하고, 결정하는 단계는 논-어파인 모드로 코딩된 다른 비디오 유닛에 대한 보간 필터 계수들의 두 번째 세트를 결정한다.
18. 16절의 방법에 있어서, 결정하는 단계는 IBC 모드로 코딩된 비디오 유닛에 대한 보간 필터 계수들의 첫 번째 세트를 결정하고, 결정하는 단계는 논-IBC 모드로 코딩된 다른 비디오 유닛에 대한 보간 필터 계수들의 두 번째 세트를 결정한다.
19. 1절 내지 18절 중 어느 한 방법에 있어서, 변환을 수행하는 단계는 현재 비디오 블록으로부터 코딩된 표현을 생성하는 단계를 포함한다.
20. 1절 내지 18절 중 어느 한 방법에 있어서, 변환을 수행하는 단계는 코딩된 표현으로부터 현재 비디오 블록을 생성하는 단계를 포함한다.
21. 프로세서 및 명령어를 포함하는 비일시적 메모리를 포함하는 비디오 시스템의 장치로서, 프로세서에 의한 실행 시 명령어는 프로세서로 하여금 1절 내지 20 절 중 어느 한 방법을 구현하게 한다.
22. 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 1절 내지 20절 중 어느 한 방법을 수행하기 위한 프로그램 코드를 포함한다.
절(clause)들의 여섯 번째 세트는 예를 들어, 예시적인 구현 9를 포함하여 이전 섹션에 나열된, 개시된 기술의 특정한 특징들 및 측면들을 설명한다.
1. 비디오 인코딩 방법으로서, 비디오의 코딩된 표현에서 비디오의 현재 비디오 블록을 나타내기 위해 사용되는 코딩 모드를 결정하는 단계; 및 코딩 모드에 따라 현재 비디오 블록을 코딩된 표현으로 코딩하는 단계를 포함하되, 움직임 정보를 표현하기 위한 기본 하프-픽셀 정확도 필터에 추가하여 대체 픽셀-화소 정확도 필터들의 사용은 코딩 모드의 사용으로 인해 현재 비디오 블록에 대해 비활성화된다.
2. 비디오 디코딩 방법에 있어서, 비디오의 현재 비디오 블록이 코딩 모드를 이용하여 코딩되었다고 결정하기 위해 비디오의 코딩된 표현을 파싱하는 단계; 및 코딩 모드에 따라 코딩된 표현으로부터 현재 비디오 블록의 디코딩된 표현을 생성하는 단계를 포함하되, 움직임 정보를 표현하기 위한 기본 하프-픽셀 정확도 필터에 추가하여 대체 픽셀-화소 정확도 필터들의 사용은 코딩 모드의 사용으로 인해 현재 비디오 블록에 대해 비활성화된다.
3. 1절 혹은 2절의 방법에 있어서, 코딩 모드는 비디오 블록이 다수의 파티션으로 분할되는 삼각 예측 모드에 대응하며, 다수의 파티션 중 적어도 하나는 직사각형 파티션이 아니다.
4. 3절의 방법에 있어서, 대체 하프-픽셀 정확도 필터에 연관된 정보는 삼각 예측 모드로부터 상속되지 않고, 오직 기본 하프-픽셀 정확도 필터만이 사용된다.
5. 1절 혹은 2절의 방법에 있어서, 코딩 모드는 현재 블록이 양방향으로 예측되는 양방향 광학 흐름(bi-direction optical flow: BDOF)에 대응된다.
6. 1절 혹은 2절의 방법에 있어서, 코딩 모드는 디코더 측에서 유도되는 움직임 정보로부터 예측 정보를 개선하는 디코더 측 움직임 벡터 개선(decoder-side motion vector refinemet: DMVR)에 대응된다.
7. 1절 혹은 2절의 방법에 있어서, 코딩 모드는 디코더 측에서 움직임 정보를 유도하는 디코더 측 움직임 벡터 유도(decoder-side motion vector derivation: DMVD)에 대응된다.
8. 1절 혹은 2절의 방법에 있어서, 코딩 모드는 인터 및 인트라 예측이 최종 예측 신호를 생성하기 위해 결합되는 결합 인터-인트라 예측(combined inter-intra prediction: CIIP)에 대응된다.
9. 1절 혹은 2절의 방법에 있어서, 코딩 모드는 대칭적으로 움직임 벡터 차이를 처리하는 SMVD(symmetric motion vector difference)에 대응된다.
10. 1절 혹은 2절의 방법에 있어서, 코딩 모드는 서브 블록을 변환 블록으로 변환하는 SBT(subblock transform)에 대응된다.
11. 비디오 인코딩 방법에 있어서, 비디오의 비디오 블록에 대해 활성화되는 대체 보간 필터의 사용으로 인해 비디오 블록을 비디오의 코딩된 표현으로 코딩하기 위해 코딩 모드가 허용되지 않는다고 결정하는 단계; 및 위 결정에 기초하여 비디오 블록의 코딩된 표현을 생성하는 단계를 포함하되, 대체 보간 필터는 현재 비디오 블록의 인터 예측 블록들을 보간하는 데 사용된다.
12. 비디오 디코딩 방법에 있어서, 비디오의 비디오 블록에 대해 활성화된 대체 보간 필터의 사용으로 인해, 비디오의 코딩된 표현에서 비디오 블록을 표현하기 위한 코딩 모드의 사용이 허용되지 않는 것으로 결정하는 단계; 및 결정에 기초하여 코딩된 표현을 파싱함으로써 디코딩된 비디오 블록을 생성하는 단계를 포함한다.
13. 11절 혹은 12절의 방법에 있어서, 대체 보간 필터는 대체 하프-샘플 보간 필터이다.
14. 11절의 방법에 있어서, 결정하는 단계는 현재 비디오 블록이 두 개의 부분으로 분할되는 코딩 모드에 대응하는 코딩 모드를 허용하지 않는 것으로 결정하고, 각 부분은 하나의 움직임 후보와 연관되고 두 개의 움직임 후보들은 동일한 움직임 후보 리스트로부터 유도된다.
15. 14절의 방법에 있어서, 코딩 모드는 삼각 예측 모드에 대응된다.
16. 13절 혹은 14절의 방법에 있어서, 대체 보간 필터에 연관된 정보는 코딩 모드에서 상속되지 않고, 기본 하프-샘플 보간 필터만이 사용된다.
17. 11절 혹은 12 절의 방법에 있어서, 결정하는 단계는 현재 블록이 양방향으로 예측되는 양방향 광학 흐름(BDOF)에 대응하는 코딩 모드를 허용하지 않는 것으로 결정한다.
18. 17절의 방법에 있어서, 결정하는 단계는 디코더 측에서 유도된 움직임 정보로부터 예측 정보를 개선하는 디코더 측 움직임 벡터 개선(DMVR)에 대응하는 코딩 모드를 허용하지 않는 것으로 결정한다.
19. 12절의 방법에 있어서, 결정하는 단계는 디코더 측에서 움직임 정보를 유도하는 디코더 측 움직임 벡터 유도(DMVD)에 대응하는 코딩 모드를 허용하지 않는 것으로 결정한다.
20. 11절의 방법에 있어서, 결정하는 단계는 인터 및 인트라 예측이 결합되어 최종 예측 신호를 생성하는 결합된 인터-인트라 예측(CIIP)에 대응하는 코딩 모드를 허용하지 않는 것으로 결정한다.
21. 20절의 방법에 있어서, 머지 후보가 보간 필터를 상속하는 경우 CIIP 플래그는 생략되고, 거짓으로 추론된다.
22. 20절의 방법에 있어서, 기본 보간 필터는 CIIP 플래그가 참일 때 항상 사용된다.
23. 11절의 방법에 있어서, 결정하는 단계는 움직임 벡터 차이를 대칭적으로 처리하는 SMVD(symmetric motion vector difference)에 대응하는 코딩 모드를 허용하지 않는 것으로 결정한다.
24. 23절의 방법에 있어서, 기본 보간 필터는 SMVD의 사용을 위해 항상 사용되고, 보간 필터와 연관된 신택스 요소는 시그널링되지 않는다.
25. 23절의 방법에 있어서, 보간 필터와 연관된 신택스 요소는 보간 필터가 사용되지 않고, SMVD와 관련된 신택스 요소가 시그널링 되지 않고, SMVD가 사용되지 않음을 지시한다.
26. 12절의 방법에 있어서, 결정하는 단계는 서브 블록을 변환 블록으로 변환하는 SBT(subblock transform)에 대응하는 코딩 모드를 허용하지 않는 것으로 결정한다.
27. 26절의 방법에 있어서, 기본 보간 필터는 항상 SBT의 사용을 위해 사용되고 보간 필터와 관련된 신택스 요소는 시그널링되지 않는다.
28. 26절의 방법에 있어서, 보간 필터와 연관된 신택스 요소는 보간 필터가 사용되지 않고, SBT와 연관된 신택스 요소는 시그널링되지 않으며, SBT가 사용되지 않음을 지시한다.
29. 11절의 방법에 있어서, 코딩된 표현을 생성하는 단계는 비디오 블록이 다중 파티션으로 분할되는 삼각 코딩 모드를 사용하여 비디오 블록을 코딩함으로써 코딩된 표현을 생성하는 단계를 포함하고, 다중 파티션 중 적어도 하나는 직사각형 파티션이 아니다.
30. 29절의 방법에 있어서, 보간 필터와 연관된 정보는 삼각 코딩 모드(triangle coding mode)에서 상속된다.
31. 11절의 방법에 있어서, 코딩된 표현을 생성하는 단계는 코딩 모드의 사용을 시그널링하는 신택스 요소를 생략함으로써 코딩된 표현을 생성하는 단계를 포함한다.
32. 12절의 방법에 있어서, 코딩된 표현을 파싱하는 단계는 코딩 모드의 사용을 시그널링하는 신택스 요소가 없을 때 코딩된 표현을 파싱하는 단계를 포함한다.
33. 프로세서 및 명령어를 포함하는 비일시적 메모리를 포함하는 비디오 시스템의 장치로서, 프로세서에 의한 실행 시 명령어는 프로세서로 하여금 1절 내지 32절 중 어느 한 방법을 구현하게 한다.
34. 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 1절 내지 32절 중 어느 한 방법을 수행하기 위한 프로그램 코드를 포함한다.
일부 실시예들에서, 상기 방법들은 방법을 수행하도록 구성 가능한 프로세서를 포함하는 장치에 의해 구현될 수 있다.
이 문서에 기재된 주제의 구현과 기능적 작동들은, 이 문서에 개시된 구조들과 그 구조적 등가물들, 또는 그 하나 이상의 조합들을 포함하여 여러 가지 시스템, 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로 구현될 수 있다. 이 명세서에 기재된 주제의 구현과 기능적 작동들은 하나 이상의 컴퓨터 프로그램 제품들, 즉 데이터 처리 장치에서 실행되거나 그 작동을 제어하는 유형 및 비일시적인 컴퓨터 독출 가능한 매체 상에 인코딩된 컴퓨터 프로그램 명령의 하나 이상의 모듈들로 구현될 수 있다. 컴퓨터 독출(판독) 가능한 매체는 기계 독출 가능한 저장 장치, 기계 독출 가능한 저장 기판, 메모리 장치, 기계 독출 가능한 전파 신호(propagated signal)를 일으키는(effecting) 물질의 조성(composition of matter), 또는 그 하나 이상의 조합이 될 수 있다. "데이터 처리 유닛(data processing unit)" 또는 "데이터 처리 장치(data processing apparatus)"라는 용어는 예를 들어 프로그래밍 가능한 프로세서, 컴퓨터, 또는 복수의 프로세서들 또는 컴퓨터들을 포함하여 데이터를 처리하는 모든 장치, 기기, 또는 기계들을 포괄한다. 장치는 하드웨어에 추가하여 예를 들어 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택(protocol stack), 데이터베이스 관리 시스템, 운영체제, 또는 그 하나 이상의 조합 등 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드를 포함할 수 있다. 전파된 신호는 인공적으로 생성된 신호, 예를 들어 기계 생성 전기, 광학 또는 전자기 신호로, 적절한 수신기 장치로 전송되는 정보를 인코딩하기 위해 생성된다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트, 또는 코드라고도 알려져 있음)은 컴파일되거나 해석된 언어를 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 이것은 독립형 프로그램과 같은 또는 컴퓨팅 환경에서 사용되기에 적합한 모듈, 성분, 서브루틴, 또는 다른 유닛과 같은 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 반드시 파일 시스템 내의 파일에 대응하는 것은 아니다. 프로그램은 다른 프로그램 또는 데이터를 보유하는 파일(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트) 내에, 문제가 되는 프로그램 전용의 단일 파일 내에, 또는 여러 개의 조율된 파일들)예를 들어, 하나 이상의 모듈, 서브-프로그램, 또는 코드의 일부를 저장하는 파일) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에서 또는 하나의 사이트에 위치되거나 여러 사이트들에 걸쳐서 분산되고 통신 네트워크에 의하여 상호연결되는 여러 컴퓨터들 상에서 실행되도록 구현될 수 있다.
본 문서에서 설명되는 프로세스 및 로직 흐름은 입력 데이터 상에 작용하여 출력을 생성함으로써 기능을 수행하기 위한 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍 가능한 프로세서에 의하여 수행될 수 있다. 또한 프로세스 및 로직 흐름은 특수 목적 로직 회로부, 예를 들어 FPGA(field programmable gate array), 또는 ASIC(application-spetific integrated circuit)에 의하여 수행될 수 있으며, 장치는 또한 이러한 것으로서 구현될 수 있다.
컴퓨터 프로그램을 실행하기에 적합한 프로세서는, 예를 들어 범용 및 주문형 마이크로프로세서 양자 모두, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독-전용 메모리 또는 랜덤 액세스 메모리 또는 이들 모두로부터 명령 및 데이터를 수신할 것이다. 컴퓨터의 본질적인 요소는 명령을 수행하기 위한 프로세서 및 명령 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어 자기적, 자기-광학적 디스크, 또는 광학적 디스크를 더욱 포함하거나, 이것으로부터 데이터를 수신하거나 이것으로 데이터를 전송하거나, 또는 이들 모두를 하기 위하여 이것에 동작가능하도록 커플링될 것이다. 그러나, 컴퓨터는 이러한 디바이스를 가져야 하는 것은 아니다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는, 예를 들자면 반도체 메모리 디바이스, 예를 들어 EPROM, EEPROM, 및 플래시 메모리 디바이스; 자기적 디스크, 예를 들어 내부 하드 디스크 또는 착탈식 디스크; 자기-광학적 디스크; 및 CD-ROM 및 DVD-ROM 디스크를 포함하는 비-휘발성 메모리, 미디어 및 메모리 디바이스의 모든 형태를 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로부에 의하여 보충되거나 그 내부에 통합될 수 있다.
본 특허 문서가 많은 특징을 포함하고 있지만, 이들은 임의의 기술 요지 또는 청구될 내용의 범위를 한정하는 것으로 해석되어서는 안 되고, 오히려 특정 기법의 특정 실시형태들에 특유할 수 있는 특징들의 설명으로서 해석되어야 한다. 본 특허 문서에서 별개의 실시형태들의 콘텍스트에서 설명되는 일부 특징들은, 단일 실시형태 내에 조합되어 구현될 수도 있다. 반대로, 단일 실시예의 콘텍스트에서 설명되는 다양한 특징들은 또한 따로따로 다수의 실시예들에서 또는 임의의 적합한 서브컴비네이션에서 구현될 수 있다. 더구나, 비록 특징들이 특정한 조합들로 작용하는 것으로 위에서 설명될 수도 있고 그와 같이 처음에 청구된 경우에도, 청구된 조합들로부터의 하나 이상의 특징들은 일부 경우들에서 조합으로부터 삭제될 수 있고, 청구된 조합은 서브컴비네이션 또는 서브컴비네이션의 변형예를 위한 것일 수도 있다.
이와 유사하게, 동작들이 도면들에서 특정한 순서로 묘사되어 있으나, 원하는 결과들을 획득하기 위하여 이러한 동작들이 도시된 특정한 순서로 또는 순차적인 순서로 수행되어야 하거나, 또는 도시된 모든 동작들이 수행되어야 한다고 요구하는 것으로 이해되어서는 안 된다. 더욱이, 본 특허 문서에서 설명되는 실시형태들 내의 다양한 시스템 성분들을 분리하는 것은, 모든 실시형태에서 이러한 분리를 요구하는 것으로 이해되어서는 안 된다.
몇 가지의 구현형태와 예들만이 설명되고, 다른 구현형태, 개선형태, 및 변형예들이 본 특허 문서에서 설명되고 예시된 것에 기반하여 이루어질 수 있다.

Claims (20)

  1. 비디오 프로세싱 방법에 있어서,
    비디오의 현재 비디오 블록과 상기 비디오의 비트스트림 간의 변환에 앞서, 하나 이상의 이전에 프로세싱된 블록의 움직임 정보에 대응되는 하나 이상의 엔트리를 포함하는 적어도 하나의 HMVP(history-based motion vector prediction) 테이블을 유지하는 단계, 각 엔트리는 상기 하나 이상의 이전에 프로세싱된 블록에 대한 보간 필터 정보(interpolation filter information)를 포함하도록 구성되고, 상기 보간 필터 정보는 상기 하나 이상의 이전에 프로세싱된 블록의 예측 블록들에 대해 사용되는 적어도 하나의 보간 필터를 지시하고;
    상기 변환을 위해, HMVP 후보를 포함하는 움직임 후보 리스트(motion candidate list)를 구성하는 단계, 상기 HMVP 후보는 상기 HMVP 테이블로부터 하나의 엔트리를 상속함으로써 유도되고, 상기 상속은 상기 하나의 엔트리와 연관된 상기 보간 필터 정보를 상속하는 것을 포함하며;
    상기 움직임 후보 리스트에 기초하여 상기 변환을 수행하는 단계;를 포함하되,
    상기 적어도 하나의 HMVP 테이블을 유지하는 단계는,
    상기 적어도 하나의 HMVP 테이블에 새로운 후보를 삽입함으로써 상기 적어도 하나의 HMVP 테이블을 선택적으로 업데이트하는 단계를 포함하고,
    상기 새로운 후보는 상기 보간 필터 정보를 고려하지 않은 상기 움직임 정보에 기초하여 HMVP 테이블로부터 하나의 엔트리에 대응하는 하나의 후보와 동일한 후보로 결정되는, 비디오 프로세싱 방법.
  2. 삭제
  3. 제1 항에 있어서, 상기 새로운 후보와 상기 하나의 후보가 움직임 정보는 동일하나 보간 필터 정보가 다른 경우, 상기 새로운 후보는 상기 하나의 후보와 동일한 후보로 결정되는, 비디오 프로세싱 방법.
  4. 제1 항 또는 제3 항 중 어느 한 항에 있어서, 상기 움직임 후보 리스트는 하나 이상의 제1 움직임 후보 및 상기 움직임 후보 리스트에 추가된 상기 하나 이상의 제1 움직임 후보로부터 유도된 제2 움직임 후보를 포함하며,
    상기 제2 움직임 후보에 할당된 제2 보간 필터 정보는 상기 하나 이상의 제1 움직임 후보에 할당된 하나 이상의 제1 보간 필터 정보에 기초하여 생성되는, 비디오 프로세싱 방법.
  5. 제4 항에 있어서, 상기 제2 움직임 후보는 페어와이즈 평균 머지 후보(pairwise-average merging candidate) 인, 비디오 프로세싱 방법.
  6. 제4 항에 있어서, 상기 제2 움직임 후보는 상기 하나 이상의 제1 움직임 후보 이후에 상기 움직임 후보 리스트에 추가되는, 비디오 프로세싱 방법.
  7. 제4 항에 있어서, 상기 하나 이상의 제1 움직임 후보는 상기 HMVP 후보를 포함하는, 비디오 프로세싱 방법.
  8. 제4 항에 있어서, 상기 하나 이상의 제1 보간 필터 정보와 상기 제2 보간 필터 정보는 하프 샘플 보간 필터 인덱스들(half-sample interpolation filter indices)과 연관되는, 비디오 프로세싱 방법.
  9. 제8 항에 있어서, 두 개의 제1 움직임 후보들 및 상기 두 개의 제1 움직임 후보들과 연관된 두 개의 하프 샘플 보간 필터 인덱스들을 포함하는 상기 하나 이상의 제1 움직임 후보들이 서로 동일한 것에 응답하여, 상기 제2 보간 필터와 연관된 상기 하프 샘플 보간 필터 인덱스는 상기 두 개의 제1 움직임 후보들과 연관된 상기 하프 샘플 보간 필터 인덱스들과 동일하게 설정되는, 비디오 프로세싱 방법.
  10. 제8 항에 있어서, 두 개의 제1 움직임 후보들 및 상기 두 개의 제1 움직임 후보들과 연관된 두 개의 하프 샘플 보간 필터 인덱스들을 포함하는 상기 하나 이상의 제1 움직임 후보들이 서로 동일하지 않은 것에 응답하여, 상기 제2 보간 필터와 연관된 상기 하프 샘플 보간 필터 인덱스는 0으로 설정되는, 비디오 프로세싱 방법.
  11. 제1 항 또는 제3 항 중 어느 한 항에 있어서, 상기 변환은 상기 현재 비디오 블록을 상기 비트스트림으로 인코딩하는 것을 포함하는, 비디오 프로세싱 방법.
  12. 제1 항 또는 제3 항 중 어느 한 항에 있어서, 상기 변환은 상기 현재 비디오 블록을 상기 비트스트림으로부터 디코딩하는 것을 포함하는, 비디오 프로세싱 방법.
  13. 명령어를 저장하는 비 일시적 메모리와 프로세서를 포함하는 비디오 데이터 코딩 장치에 있어서, 상기 명령어는 상기 프로세서에 의해 실행되며 상기 프로세서가,
    비디오의 현재 비디오 블록과 상기 비디오의 비트스트림 간의 변환에 앞서, 하나 이상의 이전에 프로세싱된 블록의 움직임 정보에 대응되는 하나 이상의 엔트리를 포함하는 적어도 하나의 HMVP 테이블을 유지하게 하되, 각 엔트리는 상기 하나 이상의 이전에 프로세싱된 블록에 대한 보간 필터 정보를 포함하도록 구성되고, 상기 보간 필터 정보는 상기 하나 이상의 이전에 프로세싱된 블록의 예측 블록들에 대해 사용되는 적어도 하나의 보간 필터를 지시하고;
    상기 변환을 위해, HMVP 후보를 포함하는 움직임 후보 리스트를 구성하게 하되, 상기 HMVP 후보는 상기 HMVP 테이블로부터 하나의 엔트리를 상속함으로써 유도되고, 상기 상속은 상기 하나의 엔트리와 연관된 상기 보간 필터 정보를 상속하는 것을 포함하며;
    상기 움직임 후보 리스트에 기초하여 상기 변환을 수행하게 하되,
    상기 적어도 하나의 HMVP 테이블을 유지하게 하는 과정은, 상기 적어도 하나의 HMVP 테이블에 새로운 후보를 삽입함으로써 상기 적어도 하나의 HMVP 테이블을 선택적으로 업데이트하는 것을 포함하고,
    상기 새로운 후보는 상기 보간 필터 정보를 고려하지 않은 상기 움직임 정보에 기초하여 HMVP 테이블로부터 하나의 엔트리에 대응하는 하나의 후보와 동일한 후보로 결정되는, 비디오 데이터 코딩 장치.
  14. 명령어가 저장된 비 일시적 컴퓨터 판독가능한 저장 매체에 있어서, 상기 명령어는 프로세서가,
    비디오의 현재 비디오 블록과 상기 비디오의 비트스트림 간의 변환에 앞서, 하나 이상의 이전에 프로세싱된 블록의 움직임 정보에 대응되는 하나 이상의 엔트리를 포함하는 적어도 하나의 HMVP 테이블을 유지하게 하되, 각 엔트리는 상기 하나 이상의 이전에 프로세싱된 블록에 대한 보간 필터 정보를 포함하도록 구성되고, 상기 보간 필터 정보는 상기 하나 이상의 이전에 프로세싱된 블록의 예측 블록들에 대해 사용되는 적어도 하나의 보간 필터를 지시하고;
    상기 변환을 위해, HMVP 후보를 포함하는 움직임 후보 리스트를 구성하게 하되, 상기 HMVP 후보는 상기 HMVP 테이블로부터 하나의 엔트리를 상속함으로써 유도되고, 상기 상속은 상기 하나의 엔트리와 연관된 상기 보간 필터 정보를 상속하는 것을 포함하며;
    상기 움직임 후보 리스트에 기초하여 상기 변환을 수행하게 하되,
    상기 적어도 하나의 HMVP 테이블을 유지하게 하는 과정은, 상기 적어도 하나의 HMVP 테이블에 새로운 후보를 삽입함으로써 상기 적어도 하나의 HMVP 테이블을 선택적으로 업데이트하는 것을 포함하고,
    상기 새로운 후보는 상기 보간 필터 정보를 고려하지 않은 상기 움직임 정보에 기초하여 HMVP 테이블로부터 하나의 엔트리에 대응하는 하나의 후보와 동일한 후보로 결정되는, 비 일시적 컴퓨터 판독 가능한 저장 매체.
  15. 비디오 프로세싱 장치에 의해 수행되는 방법에 의해 생성된 비트스트림이 저장된 비 일시적 컴퓨터 판독 가능한 기록 매체에 있어서, 상기 방법은,
    하나 이상의 이전에 프로세싱된 블록의 움직임 정보에 대응되는 하나 이상의 엔트리를 포함하는 적어도 하나의 HMVP 테이블을 유지하는 단계, 각 엔트리는 상기 하나 이상의 이전에 프로세싱된 블록에 대한 보간 필터 정보를 포함하도록 구성되고, 상기 보간 필터 정보는 상기 하나 이상의 이전에 프로세싱된 블록의 예측 블록들에 대해 사용되는 적어도 하나의 보간 필터를 지시하고;
    변환을 위해, HMVP 후보를 포함하는 움직임 후보 리스트를 구성하는 단계, 상기 HMVP 후보는 상기 HMVP 테이블로부터 하나의 엔트리를 상속함으로써 유도되고, 상기 상속은 상기 하나의 엔트리와 연관된 상기 보간 필터 정보를 상속하는 것을 포함하며;
    상기 움직임 후보 리스트에 기초하여 상기 비트스트림을 생성하는 단계;를 포함하되,
    상기 적어도 하나의 HMVP 테이블을 유지하는 단계는,
    상기 적어도 하나의 HMVP 테이블에 새로운 후보를 삽입함으로써 상기 적어도 하나의 HMVP 테이블을 선택적으로 업데이트하는 단계를 포함하고,
    상기 새로운 후보는 상기 보간 필터 정보를 고려하지 않은 상기 움직임 정보에 기초하여 HMVP 테이블로부터 하나의 엔트리에 대응하는 하나의 후보와 동일한 후보로 결정되는, 비 일시적 컴퓨터 판독 가능한 기록 매체.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020217030714A 2019-04-01 2020-04-01 히스토리 기반 움직임 벡터 예측을 위한 보간 필터 사용 KR102600746B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237038174A KR20230157529A (ko) 2019-04-01 2020-04-01 히스토리 기반 움직임 벡터 예측을 위한 보간 필터 사용

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2019080754 2019-04-01
CNPCT/CN2019/080754 2019-04-01
PCT/CN2020/082752 WO2020200236A1 (en) 2019-04-01 2020-04-01 Using interpolation filters for history based motion vector prediction

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237038174A Division KR20230157529A (ko) 2019-04-01 2020-04-01 히스토리 기반 움직임 벡터 예측을 위한 보간 필터 사용

Publications (2)

Publication Number Publication Date
KR20210143772A KR20210143772A (ko) 2021-11-29
KR102600746B1 true KR102600746B1 (ko) 2023-11-09

Family

ID=72664422

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237038174A KR20230157529A (ko) 2019-04-01 2020-04-01 히스토리 기반 움직임 벡터 예측을 위한 보간 필터 사용
KR1020217030714A KR102600746B1 (ko) 2019-04-01 2020-04-01 히스토리 기반 움직임 벡터 예측을 위한 보간 필터 사용

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020237038174A KR20230157529A (ko) 2019-04-01 2020-04-01 히스토리 기반 움직임 벡터 예측을 위한 보간 필터 사용

Country Status (11)

Country Link
US (4) US11323697B2 (ko)
EP (2) EP4304181A3 (ko)
JP (2) JP7307191B2 (ko)
KR (2) KR20230157529A (ko)
CN (6) CN117459718A (ko)
AU (1) AU2020250609B2 (ko)
CA (1) CA3135332A1 (ko)
MX (1) MX2021011619A (ko)
SG (1) SG11202110650WA (ko)
WO (5) WO2020200234A1 (ko)
ZA (1) ZA202107294B (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4304181A3 (en) 2019-04-01 2024-02-21 Beijing Bytedance Network Technology Co., Ltd. Using interpolation filters for history based motion vector prediction
KR20210149850A (ko) * 2019-04-19 2021-12-09 후아웨이 테크놀러지 컴퍼니 리미티드 현재 블록에 대한 보간 필터 인덱스를 도출하는 방법 및 장치
WO2020228762A1 (en) 2019-05-14 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Context modeling for residual coding
CN114175636B (zh) 2019-07-14 2024-01-12 北京字节跳动网络技术有限公司 自适应参数集中的自适应环路滤波的指示
BR112022002480A2 (pt) 2019-08-20 2022-04-26 Beijing Bytedance Network Tech Co Ltd Método para processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador armazenado em uma mídia legível por computador não transitória
WO2021043786A1 (en) * 2019-09-04 2021-03-11 Interdigital Vc Holdings France, Sas Switchable interpolation filters
CN114365490A (zh) 2019-09-09 2022-04-15 北京字节跳动网络技术有限公司 高精度图像和视频编解码的系数缩放
JP2021052241A (ja) * 2019-09-20 2021-04-01 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP7267885B2 (ja) * 2019-09-20 2023-05-02 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
BR112022005133A2 (pt) 2019-09-21 2022-10-11 Beijing Bytedance Network Tech Co Ltd Método e aparelho de processamento de dados de vídeo, e, meios de armazenamento e de gravação legíveis por computador não transitórios
CN114503562A (zh) * 2019-09-26 2022-05-13 交互数字Vc控股法国公司 扩展运动信息比较
CN114450959A (zh) * 2019-09-28 2022-05-06 北京字节跳动网络技术有限公司 视频编解码中的几何分割模式
CN113709458B (zh) * 2020-05-22 2023-08-29 腾讯科技(深圳)有限公司 视频编解码中的位移矢量预测方法、装置及设备
CN113242427B (zh) * 2021-04-14 2024-03-12 中南大学 一种基于vvc中自适应运动矢量精度的快速方法及装置
WO2023153891A1 (ko) * 2022-02-13 2023-08-17 엘지전자 주식회사 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체
WO2023225459A2 (en) 2022-05-14 2023-11-23 Novozymes A/S Compositions and methods for preventing, treating, supressing and/or eliminating phytopathogenic infestations and infections

Family Cites Families (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2646530B2 (ja) * 1986-06-20 1997-08-27 ソニー株式会社 デコード装置
JPH1198508A (ja) * 1997-09-25 1999-04-09 Toshiba Corp 動きベクトル検出方法
JP3724203B2 (ja) * 1998-03-10 2005-12-07 ソニー株式会社 符号化装置および方法、並びに記録媒体
JP2003296724A (ja) * 2002-04-05 2003-10-17 Hitachi Ltd 画像処理システム及びその方式
JP2004233743A (ja) * 2003-01-31 2004-08-19 Renesas Technology Corp 表示駆動制御装置および表示装置を備えた電子機器
JP2005253015A (ja) * 2004-03-08 2005-09-15 Matsushita Electric Ind Co Ltd 動きベクトル検出装置、動きベクトル検出方法、及びプログラム
JP4385928B2 (ja) * 2004-11-08 2009-12-16 日本電信電話株式会社 スケーラブル動画像符号化・復号化方法及びシステム
US20060133507A1 (en) * 2004-12-06 2006-06-22 Matsushita Electric Industrial Co., Ltd. Picture information decoding method and picture information encoding method
US7801220B2 (en) * 2005-01-07 2010-09-21 Microsoft Corporation In-band wavelet video coding with spatial scalability
US8879635B2 (en) * 2005-09-27 2014-11-04 Qualcomm Incorporated Methods and device for data alignment with time domain boundary
US8265151B1 (en) * 2005-12-14 2012-09-11 Ambarella Taiwan Ltd. Mode decision using approximate 1/2 pel interpolation
JP2007189518A (ja) * 2006-01-13 2007-07-26 Matsushita Electric Ind Co Ltd 信号処理装置、撮像装置、ネットワークカメラシステム及び映像システム
WO2008148272A1 (en) * 2007-06-04 2008-12-11 France Telecom Research & Development Beijing Company Limited Method and apparatus for sub-pixel motion-compensated video coding
JP2009253760A (ja) * 2008-04-08 2009-10-29 Olympus Imaging Corp 画像処理装置、画像処理方法及び電子機器
EP2136565A1 (en) * 2008-06-19 2009-12-23 Thomson Licensing Method for determining a filter for interpolating one or more pixels of a frame, method for encoding or reconstructing a frame and method for transmitting a frame
US8811484B2 (en) * 2008-07-07 2014-08-19 Qualcomm Incorporated Video encoding by filter selection
US20110148858A1 (en) * 2008-08-29 2011-06-23 Zefeng Ni View synthesis with heuristic view merging
US8548041B2 (en) 2008-09-25 2013-10-01 Mediatek Inc. Adaptive filter
US9078007B2 (en) * 2008-10-03 2015-07-07 Qualcomm Incorporated Digital video coding with interpolation filters and offsets
US8422771B2 (en) * 2008-10-24 2013-04-16 Sharp Laboratories Of America, Inc. Methods and systems for demosaicing
JP5115498B2 (ja) * 2009-03-05 2013-01-09 富士通株式会社 画像符号化装置、画像符号化制御方法およびプログラム
GB2469679B (en) * 2009-04-23 2012-05-02 Imagination Tech Ltd Object tracking using momentum and acceleration vectors in a motion estimation system
WO2011003326A1 (en) 2009-07-06 2011-01-13 Mediatek Singapore Pte. Ltd. Single pass adaptive interpolation filter
JP2011050001A (ja) * 2009-08-28 2011-03-10 Sony Corp 画像処理装置および方法
US8417049B2 (en) * 2009-10-14 2013-04-09 Hewlett-Packard Development Company, L.P. Fast image resolution enhancement with de-pixeling
US20110142135A1 (en) * 2009-12-14 2011-06-16 Madhukar Budagavi Adaptive Use of Quarter-Pel Motion Compensation
CN105847806B (zh) * 2010-01-06 2019-05-03 Oppo广东移动通信有限公司 视频信息编码方法和视频信息编码系统
US8879632B2 (en) 2010-02-18 2014-11-04 Qualcomm Incorporated Fixed point implementation for geometric motion partitioning
CN106454376B (zh) 2010-04-13 2019-10-01 Ge视频压缩有限责任公司 解码器、重建数组的方法、编码器、编码方法及数据流
CN102316317B (zh) * 2010-07-10 2013-04-24 华为技术有限公司 一种生成图像预测值的方法和装置
US9241160B2 (en) 2010-07-21 2016-01-19 Dolby Laboratories Licensing Corporation Reference processing using advanced motion models for video coding
US20120162449A1 (en) * 2010-12-23 2012-06-28 Matthias Braun Digital image stabilization device and method
KR101377528B1 (ko) * 2011-01-15 2014-03-27 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 방법 및 장치
US9049454B2 (en) * 2011-01-19 2015-06-02 Google Technology Holdings Llc. High efficiency low complexity interpolation filters
KR20130135925A (ko) * 2011-06-30 2013-12-11 미쓰비시덴키 가부시키가이샤 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법 및 화상 복호 방법
JP5762243B2 (ja) * 2011-10-18 2015-08-12 日本電信電話株式会社 映像符号化方法,装置,映像復号方法,装置およびそれらのプログラム
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
US9883203B2 (en) * 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
US10623759B2 (en) 2012-06-13 2020-04-14 Sony Corporation Decoupling enhancements in sample adaptive offset (SAO) for high efficiency video encoder (HEVC)
FR3000350A1 (fr) 2012-12-21 2014-06-27 France Telecom Procede et dispositif de transmission d'une sequence d'images, procede et dispositif de reception, programme d'ordinateur et support d'enregistrement correspondants.
US20140192862A1 (en) * 2013-01-07 2014-07-10 Research In Motion Limited Methods and systems for prediction filtering in video coding
US9781416B2 (en) 2013-02-26 2017-10-03 Qualcomm Incorporated Neighboring block disparity vector derivation in 3D video coding
US9641853B2 (en) 2013-04-15 2017-05-02 Futurewei Technologies, Inc. Method and apparatus of depth prediction mode selection
US20150063451A1 (en) * 2013-09-05 2015-03-05 Microsoft Corporation Universal Screen Content Codec
KR20170113713A (ko) 2013-12-13 2017-10-12 브이아이디 스케일, 인크. 보간을 이용하는 루마 및 크로마의 위상 정렬을 위한 컬러 색역 스케일러블 비디오 코딩 디바이스 및 방법
KR20160105861A (ko) 2014-01-02 2016-09-07 브이아이디 스케일, 인크. 혼합된 인터레이스 및 프로그레시브 콘텐트에 의한 스케일러블 비디오 코딩을 위한 방법들, 및 시스템들
KR102258427B1 (ko) 2014-01-03 2021-06-01 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 이미지 코딩/디코딩에서의 블록 벡터 예측
US9774881B2 (en) * 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US9942560B2 (en) * 2014-01-08 2018-04-10 Microsoft Technology Licensing, Llc Encoding screen capture data
US10531116B2 (en) * 2014-01-09 2020-01-07 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
BR112016017201B1 (pt) * 2014-01-29 2023-09-26 Hfi Innovation Inc Método de codificação e decodificação para precisão adaptativa de vetor de movimento de um bloco de dados de vídeo
CN109889850A (zh) * 2014-02-21 2019-06-14 联发科技(新加坡)私人有限公司 视频编解码方法
EP3111643B1 (en) * 2014-04-01 2019-09-25 MediaTek Inc. Method of adaptive interpolation filtering in video coding
US9924191B2 (en) 2014-06-26 2018-03-20 Qualcomm Incorporated Filters for advanced residual prediction in video coding
US10412387B2 (en) * 2014-08-22 2019-09-10 Qualcomm Incorporated Unified intra-block copy and inter-prediction
CN107079161B (zh) * 2014-09-01 2020-11-20 寰发股份有限公司 用于屏幕内容以及视频编码的帧内图片块复制的方法
US20160080771A1 (en) 2014-09-17 2016-03-17 Mediatek Inc. Motion compensation apparatus having at least one processing circuit shared by normal mode and resized reference frame mode and related motion compensation method
US10666940B2 (en) * 2014-11-06 2020-05-26 Samsung Electronics Co., Ltd. Video encoding method and apparatus, and video decoding method and apparatus
CN106797229B (zh) 2014-11-20 2019-06-21 寰发股份有限公司 视频编码方法
US10462480B2 (en) * 2014-12-31 2019-10-29 Microsoft Technology Licensing, Llc Computationally efficient motion estimation
US10291932B2 (en) * 2015-03-06 2019-05-14 Qualcomm Incorporated Method and apparatus for low complexity quarter pel generation in motion search
WO2016167538A1 (ko) 2015-04-12 2016-10-20 엘지전자(주) 비디오 신호의 인코딩, 디코딩 방법 및 그 장치
TWI750637B (zh) 2015-06-08 2021-12-21 美商Vid衡器股份有限公司 螢幕內容編碼區塊內複製模式
EP3273692A4 (en) * 2015-06-10 2018-04-04 Samsung Electronics Co., Ltd. Method and apparatus for encoding or decoding image using syntax signaling for adaptive weight prediction
US11463689B2 (en) 2015-06-18 2022-10-04 Qualcomm Incorporated Intra prediction and intra mode coding
CN106331722B (zh) * 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
WO2017052009A1 (ko) * 2015-09-24 2017-03-30 엘지전자 주식회사 영상 코딩 시스템에서 amvr 기반한 영상 코딩 방법 및 장치
EP3354028B1 (en) * 2015-09-25 2021-09-15 Huawei Technologies Co., Ltd. Apparatus and method for video motion compensation with selectable interpolation filter
US10602141B2 (en) 2015-10-16 2020-03-24 Lg Electronics Inc. Filtering method and apparatus for improving prediction in image coding system
EP3357245A4 (en) * 2015-11-05 2019-03-13 MediaTek Inc. METHOD AND DEVICE OF INTERPRESSATION USING AN AVERAGE MOTION VECTOR FOR VIDEO CODING
US10194170B2 (en) * 2015-11-20 2019-01-29 Mediatek Inc. Method and apparatus for video coding using filter coefficients determined based on pixel projection phase
US10602176B2 (en) * 2016-04-15 2020-03-24 Google Llc Coding interpolation filter type
CN109076210B (zh) * 2016-05-28 2021-04-09 联发科技股份有限公司 视频编解码方法和装置
US11563952B2 (en) * 2016-07-14 2023-01-24 Samsung Electronics Co., Ltd. Video decoding method and device therefor, and video encoding method and device therefor
US10116957B2 (en) * 2016-09-15 2018-10-30 Google Inc. Dual filter type for motion compensated prediction in video coding
US10382781B2 (en) 2016-09-28 2019-08-13 Qualcomm Incorporated Interpolation filters for intra prediction in video coding
US10462462B2 (en) * 2016-09-29 2019-10-29 Qualcomm Incorporated Motion vector difference coding technique for video coding
US10979732B2 (en) * 2016-10-04 2021-04-13 Qualcomm Incorporated Adaptive motion vector precision for video coding
US10341659B2 (en) * 2016-10-05 2019-07-02 Qualcomm Incorporated Systems and methods of switching interpolation filters
KR102543752B1 (ko) 2016-12-22 2023-06-14 주식회사 케이티 비디오 신호 처리 방법 및 장치
US20180199057A1 (en) * 2017-01-12 2018-07-12 Mediatek Inc. Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding
KR102511546B1 (ko) * 2017-02-24 2023-03-17 주식회사 케이티 비디오 신호 처리 방법 및 장치
US10708591B2 (en) * 2017-03-20 2020-07-07 Qualcomm Incorporated Enhanced deblocking filtering design in video coding
US10701393B2 (en) * 2017-05-10 2020-06-30 Mediatek Inc. Method and apparatus of reordering motion vector prediction candidate set for video coding
US20180332298A1 (en) * 2017-05-10 2018-11-15 Futurewei Technologies, Inc. Bidirectional Prediction In Video Compression
US10904565B2 (en) 2017-06-23 2021-01-26 Qualcomm Incorporated Memory-bandwidth-efficient design for bi-directional optical flow (BIO)
WO2020030187A1 (en) 2018-08-10 2020-02-13 Huawei Technologies Co., Ltd. Video processing method, video processing apparatus, encoder, decoder, medium and computer program
US11336914B2 (en) 2018-08-16 2022-05-17 Qualcomm Incorporated History-based candidate list with classification
US11212550B2 (en) 2018-09-21 2021-12-28 Qualcomm Incorporated History-based motion vector prediction for affine mode
US10735759B2 (en) * 2018-10-06 2020-08-04 Tencent America LLC Pairwise average motion vector prediction
CN116634170A (zh) 2018-10-10 2023-08-22 华为技术有限公司 帧间预测方法及装置
CN113315974B (zh) 2018-10-24 2022-06-10 华为技术有限公司 视频解码器和方法
CN115103184A (zh) 2018-12-21 2022-09-23 华为技术有限公司 一种使用基于历史的运动矢量预测的编码器、解码器及相应方法
MX2021011029A (es) 2019-03-11 2021-12-15 Huawei Tech Co Ltd Un codificador, un decodificador y métodos correspondientes.
EP4304181A3 (en) 2019-04-01 2024-02-21 Beijing Bytedance Network Technology Co., Ltd. Using interpolation filters for history based motion vector prediction
EP3949394A4 (en) 2019-05-02 2022-09-21 Beijing Bytedance Network Technology Co., Ltd. INTRA VIDEO CODING USING MULTIPLE REFERENCE FILTERS
WO2020228659A1 (en) 2019-05-11 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Coding tools with reference picture resampling
CN113875246A (zh) 2019-05-12 2021-12-31 北京字节跳动网络技术有限公司 用于参考图片重采样的信令
US11184607B2 (en) 2019-06-13 2021-11-23 Qualcomm Incorporated Same picture order count (POC) numbering for scalability support
US11563933B2 (en) 2019-07-09 2023-01-24 Qualcomm Incorporated Reference picture resampling with switchable filters
US11425414B2 (en) 2019-08-05 2022-08-23 Tencent America LLC Method and apparatus for video coding
CN114128263A (zh) * 2019-08-12 2022-03-01 北京达佳互联信息技术有限公司 用于视频编解码中的自适应运动矢量分辨率的方法和设备
BR112022002480A2 (pt) 2019-08-20 2022-04-26 Beijing Bytedance Network Tech Co Ltd Método para processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador armazenado em uma mídia legível por computador não transitória
US11375222B2 (en) 2019-09-22 2022-06-28 Tencent America LLC Method and device for video encoding and decoding with interpolation filter flag being consistent with MMVD distances

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Anastasia Henkel, et. al., "Non-CE4: Switched half-pel interpolation filter", Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th Meeting: Geneva, CH, 19-27 March 2019, JVET-N0309-v3.*
Jianle Chen, et. al., "Algorithm description for Versatile Video Coding and Test Model 4 (VTM 4)", Joint Video Experts Team(JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Marrakech, MA, 9-18 Jan. 2019, JVET-M1002-v2.*
Li Zhang, et. al., "CE4: History-based Motion Vector Prediction (Test 4.4.7)", Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macao, CN, 3-12 Oct. 2018, JVET-L0266-v2.*

Also Published As

Publication number Publication date
CN113711592A (zh) 2021-11-26
WO2020200235A1 (en) 2020-10-08
US20220014734A1 (en) 2022-01-13
SG11202110650WA (en) 2021-10-28
AU2020250609A1 (en) 2021-10-28
CN113711589B (zh) 2022-10-25
US11936855B2 (en) 2024-03-19
CN113647110B (zh) 2022-11-08
ZA202107294B (en) 2023-10-25
CN113661706B (zh) 2023-11-07
WO2020200238A1 (en) 2020-10-08
EP3932058A1 (en) 2022-01-05
KR20230157529A (ko) 2023-11-16
US20230188710A1 (en) 2023-06-15
US20220014791A1 (en) 2022-01-13
US11323697B2 (en) 2022-05-03
CN113728633A (zh) 2021-11-30
CN113661706A (zh) 2021-11-16
EP4304181A2 (en) 2024-01-10
KR20210143772A (ko) 2021-11-29
US11483552B2 (en) 2022-10-25
JP2023123700A (ja) 2023-09-05
US11595641B2 (en) 2023-02-28
JP2022527896A (ja) 2022-06-07
CN113647110A (zh) 2021-11-12
WO2020200234A1 (en) 2020-10-08
EP3932058A4 (en) 2022-06-08
JP7307191B2 (ja) 2023-07-11
CN117459718A (zh) 2024-01-26
CN113711589A (zh) 2021-11-26
CA3135332A1 (en) 2020-10-08
EP4304181A3 (en) 2024-02-21
MX2021011619A (es) 2021-10-13
CN113728633B (zh) 2022-12-20
WO2020200236A1 (en) 2020-10-08
US20220014790A1 (en) 2022-01-13
AU2020250609B2 (en) 2023-09-07
WO2020200237A1 (en) 2020-10-08

Similar Documents

Publication Publication Date Title
KR102600746B1 (ko) 히스토리 기반 움직임 벡터 예측을 위한 보간 필터 사용
CN113906738B (zh) 仿射模式的自适应运动矢量差分辨率
US11503288B2 (en) Selective use of alternative interpolation filters in video processing
WO2021047544A1 (en) Intra block copy coding and decoding
RU2812698C2 (ru) Способ использования интерполяционных фильтров для прогнозирования вектора движения на основе предыстории

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant