KR20220043133A - 비디오 프로세싱에서 대안적 보간 필터들의 선택적 사용 - Google Patents

비디오 프로세싱에서 대안적 보간 필터들의 선택적 사용 Download PDF

Info

Publication number
KR20220043133A
KR20220043133A KR1020227004742A KR20227004742A KR20220043133A KR 20220043133 A KR20220043133 A KR 20220043133A KR 1020227004742 A KR1020227004742 A KR 1020227004742A KR 20227004742 A KR20227004742 A KR 20227004742A KR 20220043133 A KR20220043133 A KR 20220043133A
Authority
KR
South Korea
Prior art keywords
interpolation filter
video
pixel
alternative
precision
Prior art date
Application number
KR1020227004742A
Other languages
English (en)
Other versions
KR102635319B1 (ko
Inventor
홍빈 리우
리 장
카이 장
지장 수
유에 왕
Original Assignee
베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드
바이트댄스 아이엔씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드, 바이트댄스 아이엔씨 filed Critical 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드
Publication of KR20220043133A publication Critical patent/KR20220043133A/ko
Application granted granted Critical
Publication of KR102635319B1 publication Critical patent/KR102635319B1/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/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/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/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
    • 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

Landscapes

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

Abstract

비디오 프로세싱 방법이 개시된다. 방법은 비디오의 현재 픽처의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 위해 대안 보간 필터의 가용성을 결정하는 단계를 포함하되, 대안 보간 필터의 가용성은 변환에 대안 보간 필터를 적용할지 여부를 지시하며, 결정에 기초하여 변환을 수행하는 단계를 포함한다. 대안 보간 필터의 가용성은 현재 픽처의 참조 픽처가 변환을 수행하기 위해 리샘플링 되는 참조 픽처 리샘플링이 사용되는지 여부에 기초하여 결정된다.

Description

비디오 프로세싱에서 대안적 보간 필터들의 선택적 사용
관련 출원들에 대한 상호 참조
파리 조약을 준수하는 적용가능한 특허법 및/또는 규칙에 따라서, 본 출원은 2019년 8월 20일에 출원된 국제 특허 출원 번호 PCT/CN2019/101541에 대한 우선권 및 혜택을 시기적절하게 주장한다. 법 하에 따른 모든 목적을 위하여, 앞서 언급된 출원의 모든 개시내용은 본 출원의 개시 내용의 일부로서 본 명세서에서 원용에 의해 통합된다.
본 특허 문서는 비디오 프로세싱 기술, 장치 및 시스템에 연관된다.
비디오 압축 분야의 발전에도 불구하고, 디지털 비디오는 여전히 인터넷 및 다른 디지털 통신 네트워크에서 가장 넓은 대역폭을 사용한다. 비디오를 수신하고 디스플레이할 수 있는 접속된 사용자 장치의 개수가 증가함에 따라서, 디지털 비디오 사용을 위한 대역폭 수요는 계속하여 증가할 것으로 기대된다.
디지털 비디오 프로세싱, 특히 움직임 벡터 유도에 연관되는 장치, 시스템 및 방법들이 개시된다. 개시된 방법들은 기존 비디오 코딩 표준(예를 들어, HEVC(High Efficiency Video Coding) 혹은 VVC(Versatile Video Coding) 및 미래 비디오 코딩 표준 혹은 비디오 코덱에 적용될 수 있다.
대표적인 일 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는데 사용될 수 있다. 이 방법은 비디오의 현재 픽처의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 위해 대안 보간 필터의 적용 가능성을 결정하는 단계를 포함하되, 대안 보간 필터의 적용 가능성은 변환에서 대안 보간 필터를 적용할지 여부를 지시하며, 결정에 기초하여 변환을 수행하는 단계를 포함하되, 대안 보간 필터의 적용 가능성은 현재 픽처의 참조 픽처가 변환을 수행하기 위해 리샘플링(resample)되는 참조 픽처 리샘플링(reference picture resampling)이 사용되는지 여부에 기초하여 결정된다.
다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 비디오의 현재 비디오 블록을 나타내는 데 사용되는 코딩 모드를 시작 점과 움직임 후보 간의 거리에 대한 정보를 제공하는 움직임 벡터 표현을 포함하는 MMVD(merge mode with motion vector differences)로 결정하는 단계와 결정에 기초하여 현재 비디오 블록 및 코딩된 표현을 기반으로 변환을 수행하는 단계를 포함하되, 변환은 하프 픽셀 보간 필터가 기본 하프 픽셀 보간 필터와 상이한 대안 하프 픽셀 보간 필터라는 제1 조건을 정의하는 제1 규칙과 대안 하프 픽셀 보간 필터가 상속(inherited)되는지 여부에 대한 제2 조건을 정의하는 제2 규칙에 따라 선택되는 하프 픽셀 보간 필터를 이용하여 계산된 현재 비디오 블록의 예측 블록을 이용하여 수행된다.
다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 비디오의 현재 비디오 영역에서 사용되는 코딩 모드를 결정하는 단계, 코딩 모드에 기초하여 현재 비디오 영역에 대한 움직임 벡터 혹은 움직임 벡터 차이 값을 표현하는 데 사용되는 정밀도에 대한 결정을 내리는 단계 및 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함한다.
다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는데 사용된다. 이 방법은 비디오의 현재 비디오 블록의 코딩 모드를 MMVD(merge mode with motion vector differences)로 결정하는 단계, 현재 비디오 블록과 연관된 베이스 머지 후보의 움직임 정밀도 정보에 기초하여 현재 비디오 블록에 대해 거리 인덱스와 기 정의된 오프셋 간의 관계를 지정하는 거리 테이블을 결정하는 단계, 및 거리 테이블을 이용하여 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함한다.
다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는데 사용된다. 이 방법은 DMVR(decoder side motion vector refinement) 계산에서 사용되는 움직임 벡터 차이가 X 픽셀 해상도보다 세밀한 해상도를 가졌고 대안 하프 픽셀 보간 필터를 이용하도록 결정되었다는 제1 결정을 내리는 단계를 포함하되, X는 정수 분수(integer fraction)이고, 제1 결정으로 인해 제1 비디오 영역과 연관된 대안 하프 픽셀 보간 필터의 정보는 저장되지 않거나 후속적으로 프로세싱되는 제2 비디오 영역에서 사용할 수 없도록 제2 결정을 내리는 단계 및 제1 비디오 영역 및 제2 비디오 영역을 포함하는 비디오와 비디오의 코딩된 표현 간의 변환을 제1 결정 및 제2 결정에 기초하여 수행하는 단계를 포함한다.
다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는데 사용될 수 있다. 대안 하프 픽셀 보간 필터가 비디오의 현재 비디오 블록에 사용 가능한지 여부를 규칙에 따라 결정하는 단계, 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 결정에 기초하여 수행하는 단계를 포함하되, 규칙은 현재 비디오 블록이 머지 블록 혹은 스킵 코딩된 블록으로서 코딩된 표현으로 코딩되는 경우, 결정이 대안 하프 픽셀 보간 필터가 현재 비디오 블록에 앞서 코딩되거나 디코딩 되는 이전 블록을 프로세싱하는 데 사용되는지 여부에 독립적이도록 지정한다.
다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는데 사용될 수 있다. 이 방법은 대안 하프 픽셀 보간 필터가 비디오의 현재 비디오 블록에 사용가능한지 여부를 규칙에 따라 결정하는 단계, 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 결정에 기초하여 수행하는 단계를 포함하되 규칙은 현재 비디오 블록의 코딩 정보에 기초하여 기본 보간 필터와 상이한 대안 하프 픽셀 보간 필터의 적용 가능성을 지정한다.
다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 비디오의 현재 비디오 블록에 대해 규칙에 따라 대안 하프 픽셀 보간 필터의 계수들을 결정하는 단계 및 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 결정에 기초하여 수행하는 단계를 포함하되, 규칙은 특정 코딩 모드에서 사용되는 하프 픽셀 보간 필터와 대안 하프 픽셀 보간 필터 간의 관계를 지정한다.
다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는데 사용될 수 있다. 이 방법은 비디오의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 위해 규칙에 따라 대안 하프 픽셀 보간 필터를 적용하는 단계와 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하되 규칙은 대안 보간 필터가 X 픽셀의 위치에 적용되도록 지정하고, X는 1/2가 아니다.
다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는데 사용될 수 있다. 이 방법은 X 픽셀 정확도를 갖는 제1 움직임 벡터 성분(component)에 대한 비디오의 제1 비디오 블록에 의해 대안 보간 필터가 선택된다는 제1 결정을 내리는 단계와 제1 결정으로 인해 다른 대안 보간 필터가 X 픽셀 정확도와 상이한 정확도의 제2 움직임 벡터 성분에 대해 사용되도록 제2 결정을 내리는 단계를 포함하되, X는 정수 분수이고, 제1 비디오 블록 및 제2 비디오 블록을 포함하는 비디오와 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함한다.
또한, 대표적인 양상에서, 개시된 방법들 중 임의의 방법은 인코더 측 구현이다.
또한, 대표적인 양상에서, 개시된 방법들 중 임의의 방법은 디코더 측 구현이다.
위에서 설명된 방법들 중 하나는 프로세서 실행 가능한 형태로 구현되고 컴퓨터 판독 가능한 프로그램 매체에 저장된다.
또 다른 대표적인 양상에서, 프로세서와 명령어를 저장하는 비 일시적 메모리를 포함하는 비디오 시스템의 장치가 개시된다. 명령어는 프로세서에 의해 실행될 때, 프로세서가 개시된 방법들 중 임의의 방법을 실행하도록 구현된다.
개시된 기술의 상기 및 다른 양상들과 특징들은 도면, 설명 및 청구항에서 보다 상세하게 설명된다.
도 1a 및 1b는 QTBT(quadtree plus binary tree) 블록 구조의 도시를 보여준다.
도 2는 머지 후보 리스트를 구성하는 예를 보여준다.
도 3은 공간적 후보들의 위치들의 예를 보여준다.
도 4는 공간적 머지 후보들의 중복성 검사(redundancy check)의 대상이 되는 후보 쌍(pair)들의 예를 보여준다.
도 5a 및 5b는 현재 블록의 크기 및 형태에 기초한 제2 예측 유닛(PU)의 위치의 예들을 보여준다.
도 6은 시간적 머지 후보들에 대한 움직임 벡터 스케일링의 예를 보여준다.
도 7은 시간적 머지 후보들에 대한 후보 위치들의 예를 보여준다.
도 8은 결합된 양 예측 머지 후보(combined bi-predictive merge candidate)를 생성하는 예를 보여준다.
도 9는 움직임 벡터 예측 후보들을 구성하는 예를 보여준다.
도 10은 공간적 움직임 벡터 후보들에 대한 움직임 벡터 스케일링의 예를 보여준다.
도 11a 및 11b는 본 문서에 설명된 시각적 미디어 디코딩 혹은 시각적 미디어 인코딩 기술을 실행하는 하드웨어 플랫폼의 예시적인 블록도들이다.
도 12는 예시적인 비디오 프로세싱 방법의 흐름도를 보여준다.
도 13은 MMVD 탐색의 예들을 보여준다.
도 14a 내지 14i는 예시적인 비디오 프로세싱 방법들의 흐름도들을 보여준다.
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 비디오 및 H.264/MPEG-4 AVC(Advanced Video Coding) 및 H.265/HEVC 표준을 공동으로 생성했다. H.262 이후에, 비디오 코딩 표준은 시간적 예측에 추가하여 변환 코딩이 활용되는 하이브리드 비디오 코딩 구조에 기반하고 있다. HEVC를 넘어서는 장래의 비디오 코딩 기술을 탐색하기 위하여, JVET(Joint Video Exploration Team)이 VCEG 및 MPEG에 의해 공동으로 2015 년에 설립되었다. 그 이후에, 많은 새로운 방법들이 JVET에 의해 채용되고, JEM(Joint Exploration Model)이라고 불리는 레퍼런스 소프트웨어에 추가되어 왔다. 2018년 4 월에, JVET(Joint Video Expert Team)이 HEVC와 비교할 때 50%의 비트율 감소를 목표로 하는 VVC 표준을 위해 VCEG (Q6/16) 및 ISO/IEC JTC1 SC29/WG11 (MPEG) 사이에서 생성되었다.
2.1. 보다 큰 CTU들을 사용하는 QTBT(quadtree plus binary tree) 블록 구조
HEVC에서는 다양한 로컬 특성에 적응하기 위해 코딩 트리로 표시된 쿼드트리 구조를 이용하여 CU들로 분할된다. 인터 픽처(시간적) 혹은 인트라 픽처(공간적) 예측을 사용하여 픽처 구역을 코딩할지 여부에 대한 결정은 CU 레벨에서 내려진다. 각 CU는 PU 분할 유형에 따라 1, 2, 혹은 4개의 PU들로 분할될 수 있다. 한 PU 내에서는 동일한 예측 프로세스가 적용되고 관련 정보는 PU 기반으로 디코더로 전송된다. PU 분할 유형에 따라 예측 프로세스를 적용함으로써 잔차 블록을 획득한 이후, CU는 CU의 코딩 트리와 유사한 다른 쿼드트리 구조에 따라 트랜스폼 유닛(TU)들로 분할될 수 있다. HEVC 구조의 주요 특징 중 하나는 CU, PU 및 TU를 포함한 다양한 분할 개념들을 가진다는 것이다.
도 1은 QTBT 블록 구조의 도시를 보여준다. QTBT 구조는 다중 분할 유형의 개념들을 제거하고, 즉, CU, PU 및 TU 개념의 분리를 제거하고 CU 분할 형태에 대해 더 많은 유연성을 지원한다. QTBT 블록 구조에서, CU는 정사각형 혹은 직사각형 형태를 가질 수 있다. 도 1에 나타난 바와 같이, CTU(coding tree unit)은 쿼드트리 구조로 먼저 분할된다. 쿼드트리 리프 노드(quadtree leaf node)들은 이진 트리 구조로 더 분할된다. 이진 트리 분할에는 대칭 수평 분할(symmetric horizontal splitting) 및 대칭 수직 분할(symmetric vertical splitting)인 두 개의 분할 유형이 존재한다. 이진 트리 리프 노드(binary tree leaf node)는 코딩 유닛(CU)으로 불리며, 이러한 세그멘테이션(segmentation)은 더 이상의 분할 없이 예측 및 트랜스폼 프로세싱에 사용된다. 이는 CU, PU 및 TU가 QTBT 코딩 블록 구조에서 동일한 블록 크기를 가짐을 의미한다. JEM에서, CU는 때때로 서로 다른 색상 컴포넌트(component)들의 코딩 블록(CB)들로 구성되는데, 예를 들어, 4:2:0 크로마 포맷의 P 및 B 슬라이스의 경우 하나의 CU는 하나의 루마 CB 및 두 개의 크로마 CB를 포함한다. 그리고, CU는 때때로 단일 컴포넌트의 CB로 구성되는데, 예를 들어, I 슬라이스의 경우 하나의 CU는 하나의 루마 CB 혹은 두 개의 크로마 CB만을 포함한다.
다음 파라미터들은 QTBT 분할 방식에 대해 정의된다.
- CTU size: HEVC와 동일한 개념인 쿼드트리의 루트 노드 크기
- MinQTSize: 허용되는 쿼드트리 리프 노드의 최소 크기
- MaxBTSize: 허용되는 이진 트리 루트 노드의 최대 크기
- MaxBTDepth: 허용되는 최대 이진 트리 깊이
- MinBTSize: 허용되는 최소 이진 트리 리프 노드 크기
QTBT 분할 구조의 일 예에서, CTU 크기는 128x128 루마 샘플과 크로마 샘플에 대한 두 개의 64x64 대응 블록로 설정되며, MinQTSize는 16x16으로 설정되고, MaxBTSize는 64x64로 설정되고, MinBTSize(너비 및 높이 모두에 대해)는 4x4로 설정되고, MaxBTDepth는 4로 설정된다. 쿼드트리 분할은 쿼드트리 리프노드를 생성하기 위해 먼저 CTU에 적용된다. 쿼드트리 리프 노드는 16x16(즉, MinQTSize)에서 128x128(즉, CTU 크기) 까지의 크기를 가질 수 있다. 리프 쿼드트리 노드가 128x128인 경우, 크기가 MaxBTSize(즉, 64Х64)를 초과하기 때문에 이진 트리에 의해 더 이상 분할되지 않는다. 따라서, 쿼드트리 리프 노드는 이진 트리의 루트 노드이자 0인 이진 트리 깊이를 갖는다. 이진 트리 깊이가 MaxBTDepth(즉, 4)에 도달하면, 분할은 더 이상 고려되지 않는다. 이진 트리 노드가 MinBTSize (즉, 4)와 동일한 너비를 가지면, 수평 분할은 더 이상 고려되지 않으며, 이진 트리 노드가 MinBTSize 와 동일한 높이를 가지면, 수직 분할은 더 이상 고려되지 않는다. 이진 트리의 리프 노드는 예측에 의해 더 이상의 분할 없이 예측 및 트랜스폼(transform) 프로세싱 된다. JEM에서 최대 CTU 크기는 256x256 루마 샘플이다.
도 1a는 QTBT를 이용한 예시적인 블록 파티셔닝을 도시하고, 도 1b는 대응되는 트리 표현을 도시한다. 실선은 쿼드트리 분할을 지시하며, 점선은 이진 트리 분할을 지시한다. 이진트리의 각 분할(즉, 리프가 아닌) 노드에서, 한 플래그는 어떤 분할 유형(즉, 수평 혹은 수직)이 사용되는지를 지시하기 위해 시그널링 되는데, 이 때 값이 0이면 수평 분할을, 1이면 수직 분할을 의미한다. 쿼드트리 분할에서, 쿼드트리 분할은 동일한 크기로 4 개의 서브 블록들을 생성하기 위해 항상 블록을 수평적으로, 수직적으로 분할하므로 분할 유형을 지시할 필요가 없다.
또한, QTBT 방식은 루마 및 크로마가 개별적인 QTBT 구조를 가질 수 있는 어빌리티(ability)를 지원한다. 최근, P 및 B 슬라이스의 경우, 하나의 CTU 내의 루마 및 크로마 CTV가 동일한 QTBT 구조를 공유한다. 그러나, I 슬라이스의 경우, 루마 CTB는 QTBT 구조에 의해 CU들로 분할되며, 크로마 CTB는 다른 QTBT 구조에 의해 크로마 CU들로 분할된다. 이는 I 슬라이스의 CU가 루마 성분의 코딩 블록 혹은 두 개의 크로마 성분의 코딩 블록들로 구성되며, P 혹은 B 슬라이스의 CU가 모든 세 개의 색상 성분의 코딩 블록들로 구성됨을 의미한다.
HEVC에서 작은 블록에 대한 인터 예측은 움직임 보상의 메모리 접근을 감소시키기 위해 제한되어, 양 예측은 4x8 및 8x4 블록에 대해 지원되지 않고, 인터 예측이 4x4 블록에 대해 지원되지 않는다. JEM의 QTBT에서, 이러한 제한들은 제거된다.
2.2. HEVC/H.265에서의 인터 예측
각 인터 예측된 PU는 하나 혹은 두 개의 참조 픽처 리스트에 대한 움직임 파라미터를 갖는다. 움직임 파라미터는 움직임 벡터 및 참조 픽처 인덱스를 포함한다. 두 개의 참조 픽처 리스트 중 하나의 사용은 inter_pred_idc를 이용하여 시그널링될 수 있다. 움직임 벡터들은 예측자에 대한 델타(delta)로 명시적으로 코딩될 수 있다.
CU가 스킵 모드로 코딩되면, 한 PU가 CU와 연관되며, 주요 잔차 계수(significant residual coefficient), 코딩된 움직임 벡터 델타 혹은 참조 픽처 인덱스는 존재하지 않는다. 머지 모드가 지정되어 현재 PU에 대한 움직임 파라미터가 공간적 및 시간적 후보들을 포함하는 이웃 PU들로부터 획득된다. 머지 모드는 스킵 모드뿐 아니라 모든 인터 예측된 PU에 대해서도 적용될 수 있다. 머지 모드에 대한 대안은 움직임 파라미터들의 명시적인 전송으로, 움직임 벡터(보다 상세하게는, 움직임 벡터 예측자에 대한 움직임 벡터 차이), 각 참조 픽처 리스트에 대한 대응 참조 픽처 인덱스 및 참조 픽처 리스트 사용은 각 PU마다 명시적으로 시그널링된다. 이러한 모드는 본 개시에서 AMVP(Advanced motion vector prediction)로 지칭된다.
시그널링이 두 개의 참조 픽처 리스트 중 하나가 사용됨을 지시하면, PU가 샘플의 블록에서 생성된다. 이를 '단일 예측(uni-prediction)'이라 한다. 단일 예측은 P 슬라이스 및 B 슬라이스 모두에 대해 허용된다.
시그널링이 참조 픽처 리스트 모두가 사용됨을 지시하면, PU는 두 개의 샘플 블록에서 생성된다. 이를 '양 예측(bi-prediction)'이라 한다. 양 예측은 B 슬라이스에 대해서만 허용된다.
다음 내용은 HEVC에서 지정된 인터 예측 모드에 대한 상세 사항을 제공한다. 설명은 머지 모드로 시작한다.
2.2.1. 머지 모드
2.2.1.1. 머지 모드에서의 후보 유도
PU가 머지 모드를 이용하여 예측되면, 머지 후보 리스트의 엔트리를 가리키는 인덱스가 비트스트림으로부터 파싱되고, 움직임 정보를 조회하는데 사용된다. 이 리스트의 구성은 HEVC 표준에서 지정되며 다음 순서의 단계들에 따라 요약될 수 있다:
· 단계 1: 초기 후보 유도
o 단계 1.1: 공간적 후보 유도
o 단계 1.2: 공간적 후보에 대한 중복성 검사(redundancy check)
o 단계 1.3: 시간적 후보 유도
· 단계 2: 추가 후보 삽입
o 단계 2.1: 양 예측 후보 생성
o 단계 2.2: 영(zero) 움직임 후보 삽입
이들 단계는 또한 도 2에 개략적으로 도시되어 있다. 공간적 머지 후보 유도에서 5 개의 서로 다른 위치에 있는 후보 중 최대 네 개의 머지 후보가 선택된다. 시간적 머지 후보 유도에서, 두 개의 후보 중 최대 한 개의 머지 후보가 선택된다. 디코더에서는 각 PU에 대한 일정한 수의 후보를 가정하므로, 단계 1에서 획득된 후보의 수가 슬라이스 헤더에서 시그널링되는 최대 머지 후보 수(MaxNumMergeCand)에 도달하지 않는 경우 추가 후보가 생성된다. 후보의 수가 일정하므로, 최적(best) 머지 후보의 인덱스는 절단된 단항 이진화(truncated unary binarization, TU)를 이용하여 인코딩된다. CU의 크기가 8인 경우, 현재 CU의 모든 PU는 2Nx2N 예측 유닛의 머지 후보 리스트와 동일한 단일 머지 후보 리스트를 공유한다.
하기에서는, 상기에서 설명한 단계들과 연관되는 동작들이 상세히 설명된다.
2.2.1.2. 공간적 후보 유도
공간적 머지 후보 유도에서, 도 3에 도시된 위치들에 위치하는 후보 중 최대 네 개의 머지 후보가 선택된다. 유도 순서는 A1, B1, B0, A0 및 B2이다. 위치 B2 는 위치 A1, B1, B0, A0 의 모든 PU가 사용 가능하지 않을 때(예를 들어, 다른 슬라이스 혹은 타일에 속하기 때문에) 혹은 인트라 코딩된 때에만 고려된다. 위치 A1 가 추가된 이후, 남아있는 후보의 추가는 코딩 효율을 향상시키기 위해 동일한 움직임 정보의 후보들을 리스트에서 배제하는 중복성 검사(redundancy check)의 대상이 된다. 연산 복잡도를 감소시키기 위해, 모든 가능한 후보 쌍들이 언급된 중복성 검사 대상으로 고려되지는 않는다. 대신 도 4에 화살표로 연결된 쌍들만이 고려되고 중복성 검사를 위해 사용되는 대응 후보가 동일한 움직임 정보를 갖지 않는 경우에만 후보가 추가된다. 중복 움직임 정보의 다른 소스는 2Nx2N과 상이한 분할(partitions)과 연관되는 "제2 PU" 이다. 예를 들어, 도 5는 Nx2N 및 2NxN의 각 케이스에 대한 제2 PU를 도시한 것이다. 현재 PU가 Nx2N으로 분할되면, 위치 A1에서의 후보는 리스트 구성에 고려되지 않는다. 실제로, 이 후보를 추가함으로써 동일한 움직임 정보를 갖는 두 개의 예측 유닛이 생성될 것이고, 이는 코딩 유닛에서 단 하나의 PU를 갖는 것에 중복된다. 마찬가지로, 위치 B1 은 현재 PU가 2NxN으로 분할되면 고려되지 않는다.
2.2.1.3. 시간적 후보 유도
이 단계에서, 오직 하나의 후보만이 리스트에 추가된다. 특히, 시간적 머지 후보의 유도에서, 스케일링된 움직임 벡터는 주어진 참조 픽처 리스트 내 현재 픽처와 가장 작은 POC 차이를 갖는 픽처에 속하는 동일 위치(co-located) PU에 기초하여 유도된다. 동일 위치 PU의 유도에 사용될 참조 픽처 리스트는 슬라이스 헤더에서 명시적으로 시그널링된다. 시간적 머지 후보에 대한 스케일링된 움직임 벡터는, tb 및 td인 POC 거리를 이용하여 동일 위치 PU의 움직임 벡터로부터 스케일링되는 도 6의 점선으로 도시된 바와 같이 획득되는데, tb는 현재 픽처와 현재 픽처의 참조 픽처 간의 POC 차이로 정의되고, td는 동일 위치 픽처와 동일 위치 픽처의 참조 픽처 간의 POC 차이로 정의된다. 시간적 머지 후보의 참조 픽처 인덱스는 0과 동일하게 설정된다. 스케일링 프로세스의 실질적인 실현은 HEVC 사양에 설명되어 있다. B 슬라이스의 경우, 하나는 참조 픽처 리스트 0에 대한 것이며 나머지 하나는 참조 픽처 리스트 1에 대한 두 개의 움직임 벡터가 양 예측 머지 후보를 만들기 위해 획득되고 결합된다.
참조 프레임에 속하는 동일 위치 PU(Y)에서, 시간적 후보의 위치는 도 7에 도시된 바와 같이 후보 C0 및 C1 사이에서 선택된다. C0 위치의 PU가 사용 가능하지 않거나, 인트라 코딩되거나, 현재 CTU 행의 외부에 있는 경우, 위치 C1 이 이용된다. 그 외의 경우, 위치 C0 가 시간적 머지 후보의 유도에 사용된다.
2.2.1.4. 추가 후보 삽입
공간적 및 시간적 머지 후보 외에, 두 개의 추가적인 머지 후보 유형이 존재하는데, 결합된 양 예측 머지 후보(combined bi-predictive merge candidate)와 영(zero) 머지 후보이다. 결합된 양 예측 머지 후보는 공간적 및 시간적 머지 후보를 이용하여 생성된다. 결합된 양 예측 머지 후보는 오직 B 슬라이스에 대해서만 사용된다. 결합된 양 예측 후보는 초기 후보의 제1 참조 픽처 리스트 움직임 파라미터를 다른 후보의 제2 참조 픽처 리스트 움직임 파라미터와 결합함으로써 생성된다. 두 튜플(tuple)이 서로 다른 움직임 가설을 제공하는 경우, 새로운 양 예측 후보를 형성하게 된다. 일 예로서, 도 8은 mvL0 및 refIdxL0 혹은 mvL1 및 refIdxL1을 갖는 원본 리스트(좌측)의 두 후보가 최종 리스트(우측)에 추가될 결합된 양 예측 머지 후보를 생성하는 데 사용되는 경우를 도시한다. 이러한 추가적인 머지 후보를 생성하는 것으로 간주되는 조합과 관련하여 수많은 규칙이 있다.
영(zero) 움직임 후보는 머지 후보 리스트에 나머지 엔트리를 채우기 위해 삽입되므로, MaxNumMergeCand 용량을 채우기 된다. 이러한 후보들은 영 공간 변위(zero spatial displacement)와, 0에서 시작하여 새로운 영 움직임 후보가 리스트에 추가될 때마다 증가되는 참조 픽처 인덱스를 갖는다. 이러한 후보들에 의해 사용되는 참조 프레임의 수는 단 방향 예측, 및 양 방향 예측에 대해 각각 한 개 및 두 개이다. 결론적으로, 이러한 후보들에 대해서는 중복성 검사가 수행되지 않는다.
2.2.1.5. 병렬 프로세싱에서의 움직임 추정 영역
인코딩 프로세스의 속도를 향상시키기 위해, 움직임 추정은 병렬적으로 수행되어 주어진 영역 내의 모든 예측 유닛에 대한 움직임 벡터들이 동시에 유도된다. 연관된 움직임 추정이 완료되기까지 한 예측 유닛이 인접 PU로부터 움직임 파라미터를 유도하지 못함으로써 공간적 이웃으로부터의 머지 후보 유도는 병렬 프로세싱을 방해할 수 있다. 코딩 효율성과 처리 지연 간의 균형을 조정하기 위해, HEVC는 “log2_parallel_merge_level_minus2" 신택스 요소를 이용하여 픽처 파라미터 세트에서 크기가 시그널링 되는 움직임 추정 영역(motion estimation region, MER)을 정의한다. MER이 정의되면, 동일 영역에 속하는 머지 후보는 사용할 수 없는 것으로 표시되므로 리스트 구성에서 고려되지 않는다.
2.2.2. AMVP
AMVP는 움직임 파라미터의 명시적 전송을 위해 사용되는 이웃 PU와 움직임 벡터 간의 시공간적 상관 관계를 활용한다. 각 참조 픽처 리스트에 대해 움직임 벡터 후보 리스트는 먼저 시간적으로 좌측, 상단에 이웃한 PU 위치의 가용성을 확인하고, 중복 후보들을 제거하고, 후보 리스트가 고정된 길이를 갖도록 영(zero) 벡터를 추가함으로써 구성된다. 이후, 인코더는 후보 리스트에서 최적 예측자를 선택하고 선택한 후보를 지시하는 대응 인덱스를 전송할 수 있다. 머지 인덱스 시그널링과 유사하게, 최적 움직임 벡터 후보의 인덱스는 절단된 단항을 이용하여 인코딩된다. 이 경우에서 인코딩될 최대 값은 2(도 9 참조)이다. 하기 섹션에서, 움직임 벡터 예측 후보의 유도 프로세스에 대한 상세 사항이 제공된다.
2.2.2.1. AMVP 후보 유도
도 9는 움직임 벡터 예측 후보 유도 프로세스를 요약한다.
움직임 벡터 예측에서, 공간적 움직임 벡터 후보와 시간적 움직임 벡터 후보라는 움직임 벡터 후보의 두 유형이 고려된다. 공간적 움직임 벡터 후보 유도에서, 두 개의 움직임 벡터 후보는 도 3에 도시된 바와 같이 서로 다른 5 개의 위치에 위치한 각 PU의 움직임 벡터에 기초하여 최종적으로 유도된다.
시간적 움직임 벡터 후보 유도를 위해, 두 개의 서로 다른 동일 위치의 위치들에 기초하여 유도되는 두 개의 후보들로부터 하나의 움직임 벡터 후보가 선택된다. 제1 시공간적 후보 리스트가 만들어진 이후, 리스트에서 중복되는 움직임 벡터 후보는 제거된다. 잠재적 후보의 수가 2보다 큰 경우, 연관된 참조 픽처 리스트 내의 참조 픽처 인덱스가 1보다 큰 움직임 벡터 후보는 리스트에서 제거된다. 시공간적 움직임 벡터 후보의 수가 2보다 작은 경우, 추가적인 영 움직임 벡터 후보가 리스트에 추가된다.
2.2.2.2. 공간적 움직임 벡터 후보
공간적 움직임 벡터 후보의 유도에서, 움직임 머지의 위치와 동일한 도 3에 도시된 바와 같은 위치들에 위치한 PU들로부터 유도되는 다섯 개의 잠재적 후보들 가운데 최대 두 개의 후보가 고려된다. 현재 PU의 좌측에 대한 유도 순서는 A0, A1, 및 스케일링된 A0, 스케일링된 A1 로 정의된다. 현재 PU의 상측에 대한 유도 순서는 B0, B1, B2, 스케일링된 B0, 스케일링된 B1, 스케일링된 B2 로 정의된다. 각 측에 대해 움직임 벡터 후보로 이용되는 네 개의 케이스가 있을 수 있는데, 두 개의 케이스는 공간적 스케일링과 연관이 없고, 두 개의 케이스는 공간적 스케일링이 이용되는 경우이다. 네 개의 서로 다른 케이스는 다음과 같이 요약된다.
Figure pct00001
공간적 스케일링이 없는 경우
- (1) 동일 참조 픽처 리스트 및 동일 참조 픽처 인덱스 (동일 POC)
- (2) 다른 참조 픽처 리스트, 그러나 동일 참조 픽처 (동일 POC)
Figure pct00002
공간적 스케일링이 있는 경우
- (3) 동일 참조 픽처 리스트, 그러나 다른 참조 픽처 (다른 POC)
- (4) 다른 참조 픽처 리스트 및 다른 참조 픽처 (다른 POC)
공간적 스케일링이 없는 경우가 먼저 확인되고 공간적 스케일링이 그 뒤에 수행된다. 공간적 스케일링은 참조 픽처 리스트에 관계없이 POC가 이웃 PU의 참조 픽처와 현재 PU의 참조 픽처 간에 상이한 경우 고려된다. 좌측 후보들의 모든 PU가 사용 가능하지 않거나 인트라 코딩되는 경우 상단 움직임 벡터에 대한 스케일링이 좌측 및 상단 MV 후보의 병렬 유도를 돕기 위해 허용된다. 그 외의 경우, 공간적 스케일링은 상단 움직임 벡터에 대해 허용되지 않는다.
공간적 스케일링 프로세스에서, 이웃 PU의 움직임 벡터는 도 10에 도시된 바와 같이 시간적 스케일링에서의 방식과 유사한 방식으로 스케일링 된다. 주요 차이점은 현재 PU의 인덱스와 참조 픽처 리스트가 입력으로써 주어진다는 것이다. 실제 스케일링 프로세스는 시간적 스케일링 프로세스와 동일하다.
2.2.2.3. 시간적 움직임 벡터 후보
참조 픽처 인덱스 유도를 제외하고 시간적 머지 후보 유도를 위한 모든 프로세스는 공간적 움직임 벡터 후보 유도 프로세스(도 7 참조)와 동일하다. 참조 픽처 인덱스는 디코더에 시그널링된다.
2.3. AMVR (Adaptive motion vector difference resolution)
VVC에서, 일반 인터 모드(regular inter mode)의 경우MVD는 쿼터(quarter) 루마 샘플, 정수 루마 샘플 혹은 네 개의 루마 샘플의 유닛들로 코딩될 수 있다. MVD 해상도는 코딩 유닛(CU) 레벨에서 제어되고, MVD 해상도 플래그는 적어도 하나의 영이 아닌(non-zero) MVD 성분을 갖는 각 CU에 조건적으로 시그널링된다.
적어도 하나의 영이 아닌 MVD 성분을 갖는 CU의 경우, 제1 플래그는 쿼터 루마 샘플 MV 정밀도가 CU에서 사용되는지 여부를 지시하기 위해 시그널링된다. 제1 플래그(1과 동일)가 쿼터 루마 샘플 MV 정밀도가 사용되지 않음을 지시하면, 정수 루마 샘플 MV 정밀도 혹은 네 개의 루마 샘플 MV 정밀도가 사용되는지 여부를 지시하기 위해 다른 플래그가 시그널링된다.
CU의 제1 MVD 해상도 플래그가 0이거나 CU에 대해 코딩되지 않으면(CU의 모든 MVD가 영임을 의미), 쿼터 루마 샘플 MV 해상도가 CU에 대해 사용된다. CU가 정수 루마 샘플 MV 정밀도 혹은 네 개의 루마 샘플 MV 정밀도를 가지면, CU에 대한 AMVP 후보 리스트에서 MVP는 대응 정밀도로 라운딩(round)된다.
2.4. VVC의 보간 필터들
루마 보간 필터링에서 8-탭 분리 가능한 보간 필터들은 테이블 1에 나타난 바와 같이 1/16 픽셀 정밀도 샘플들에 사용된다.
테이블 1: 1/16 픽셀 루마 보간을 위한 8-탭 계수 fL
Figure pct00003
유사하게, 4-탭 분리가능한 보간 필터들은 테이블 2에 나타난 바와 같이 1/32 픽셀 정밀도 크로마 보간에 사용된다.
테이블 2: 1/32 픽셀 크로마 보간을 위한 4-탭 보간 계수 fC
분수 샘플 위치 p 보간 필터 계수
f C [ p ][ 0 ] f C [ p ][ 1 ] f C [ p ][ 2 ] f C [ p ][ 3 ]
1 -1 63 2 0
2 -2 62 4 0
3 -2 60 7 -1
4 -2 58 10 -2
5 -3 57 12 -2
6 -4 56 14 -2
7 -4 55 15 -2
8 -4 54 16 -2
9 -5 53 18 -2
10 -6 52 20 -2
11 -6 49 24 -3
12 -6 46 28 -4
13 -5 44 29 -4
14 -4 42 30 -4
15 -4 39 33 -4
16 -4 36 36 -4
17 -4 33 39 -4
18 -4 30 42 -4
19 -4 29 44 -5
20 -4 28 46 -6
21 -3 24 49 -6
22 -2 20 52 -6
23 -2 18 53 -5
24 -2 16 54 -4
25 -2 15 55 -4
26 -2 14 56 -4
27 -2 12 57 -3
28 -2 10 58 -2
29 -1 7 60 -2
30 0 4 62 -2
31 0 2 63 -1
4:2:2에 대한 수직 보간 및 4:4:4 크로마 채널에 대한 수평 및 수직 보간의 경우 테이블 2의 홀수 위치는 사용되지 않으므로, 1/16 픽셀 크로마 보간을 야기한다.
2.5. 대안 루마 하프 픽셀 보간 필터(Alternative luma half-pel interpolation filters)
JVET-N0309에서, 대안 하프 픽셀 보간 필터가 제안된다.
하프 픽셀 루마 보간 필터의 스위칭은 움직임 벡터 정확도에 기초하여 수행된다. 기존 쿼터 픽셀, 풀 픽셀(full-pel), 및 4 픽셀 AMVR 모드에 더불어, 새로운 하프 픽셀 정확도 AMVR 모드가 소개된다. 하프 픽셀 움직임 벡터 정확도의 경우에만 대안 하프 픽셀 루마 보간 필터가 선택될 수 있다.
2.5.1. 하프 픽셀 AMVR 모드
어파인이 아닌, 머지도 아닌 인터 코딩된 CU에 대한 추가적인 AMVR 모드는 하프 픽셀 정확도에서 움직임 벡터 차이의 시그널링을 허용하도록 제안된다. 현재 VVC 드래프트의 기존 AMVR 방식은 다음과 같은 방식으로 간단하게 확장된다. amvr_flag 이 1인 경우 신택스 요소 amvr_flag 바로 다음에, hpel_amvr_flag 이 1인 경우 새로운 하프 픽셀 AMVR 모드의 사용을 나타내는 새로운 컨텍스트 모델링 이진(context-modeled binary) 신택스 요소 hpel_amvr_flag가 있다. 그 외의 경우, 즉 hpel_amvr_flag 이 0인 경우, 풀 픽셀 및 4 픽셀 AMVR 모드 사이의 선택은 현재 VVC 드래프트에서 나타난 바와 같이 신택스 요소 amvr_precision_flag에 의해 지시된다.
2.5.2. 대안 루마 하프 픽셀 보간 필터
하프 픽셀 움직임 벡터 정확도를 이용하는 어파인 및 머지가 아닌 인터 코딩된 CU(non-affine non-merge inter-coded CU)의 경우, HEVC/VVC 하프 픽셀 루마 보간 필터와 하나 이상의 대안 하프 픽셀 보간 간의 스위칭은 새로운 신택스 요소 if_idx 값에 기초하여 만들어진다. 신택스 요소 if_idx는 하프 픽셀 AVR 모드인 경우에만 시그널링된다. 공간적 머지 후보를 이용하는 스킵/머지 모드 케이스에서, 신택스 요소 if_idx의 값은 이웃 블록으로부터 상속된다.
2.5.2.1. 테스트 1: 한 대안 하프 픽셀 보간 필터
이 테스트 케이스에서는, 하나의 6-탭 보간 필터가 일반적인 HEVC/VVC 하프 픽셀 보간 필터에 대한 대안으로서 소개된다. 하기 테이블은 신택스 요소 if_idx의 값과 선택된 하프 픽셀 루마 보간 필터 간의 매핑을 보여준다.
if_idx 이진화(Binarization) 필터 보간 필터 계수(Interpolation filter coefficients)
0 0 가우스(Gauss) (6-탭) [0, 3, 9, 20, 20, 9, 3, 0]
1 1 HEVC/VVC (8-탭) [-1, 4, -11, 40, 40, -11, 4, -1]
2.5.2.2. 테스트 2: 두 개의 대안 하프 픽셀 보간 필터
이 테스트 케이스에서는 일반적인 HEVC/VVC 하프 픽셀 보간 필터의 대안으로서 두 개의 8-탭 보간 필터가 존재한다. 하기의 테이블은 신택스 요소 if_idx의 값과 선택된 하프 픽셀 루마 보간 필터 사이의 매핑을 보여준다.
if_idx 이진화 필터 보간 필터 계수
0 0 필터 1(Filter 1) (8-탭) [3, 6, 10, 13, 13, 10, 6, 3]
1 10 필터 2(Filter 2) (8-탭) [-1, -1, 9, 25, 25, 9, -1, -1]
2 11 HEVC/VVC (8-탭) [-1, 4, -11, 40, 40, -11, 4, -1]
amvr_precision_idx 는 현재 CU가 1/2 픽셀, 1 픽셀 혹은 4 픽셀 MV 정밀도를 이용하는지 여부를 지시하기 위해 시그널링 된다. 여기에는 코딩 될 빈(bin)이 두 개 존재한다.
hpel_if_idx 는 기본(default) 하프 픽셀 보간 필터 혹은 대안 하프 픽셀 보간 필터가 사용되는지 여부를 지시하기 위해 시그널링 된다. 두 개의 대안 하프 픽셀 보간 필터가 사용되면, 코딩 될 빈(bin)이 두 개 존재한다.
2.6. 일반화된 양 예측(Generalized Bi-prediction)
기존 양 예측에서, L0 및 L1의 예측자는 동일한 가중치 0.5를 이용하여 최종 예측자를 생성하기 위해 평균화된다. 예측자 생성 공식은 식 (1)에 나타난 바와 같다.
Figure pct00004
식 (1)에서,
Figure pct00005
는 기존 양 예측에 대한 최종 예측자로,
Figure pct00006
각각 L0 및 L1의 예측자이며, RoundingOffset shiftNum 은 최종 예측자를 정규화(normalize)하는데 사용된다.
일반화된 양 예측(Generalized Bi-prediction, GBI)은 L0 및 L1의 예측자에 서로 다른 가중치를 적용하도록 허용할 것을 제안한다. 예측자 생성 과정은 식(2)에 나타난 바와 같다.
Figure pct00007
식 (2)에서,
Figure pct00008
GBi의 최종 예측자이다. (1-
Figure pct00009
) 및
Figure pct00010
은 각각 L0 및 L1의 예측자에 적용되는 선택된 GBI 가중치이다. RoundingOffset GBi shiftNum GBi 은 GBi에서 최종 예측자를 정규화하는데 사용된다.
Figure pct00011
의 지원되는 가중치는 {-1/4, 3/8, 1/2, 5/8, 5/4}이다. 하나의 동일한 가중치 세트와 네 개의 동일하지 않은 가중치 세트가 지원된다. 동일한 가중치의 경우, 최종 예측자를 생성하기 위한 프로세스는 기존 양 예측 모드에서의 프로세스와 완전히 동일하다. RA(random access) 조건에서의 진정한 양 예측의 경우 후보 가중치 세트의 수는 3으로 감소된다.
AMVP(advanced motion vector prediction) 모드의 경우, 이 CU가 양 예측에 의해 코딩되면 GBI 에서의 가중치 선택이 CU 레벨에서 명시적으로 시그널링된다. 머지 모드의 경우, 가중치 선택은 머지 후보로부터 상속된다.
2.7. MMVD(Merge mode with MVD)
암시적으로 유도된 움직임 정보가 현재 CU의 예측 샘플 생성에 직접적으로 사용되는 머지 모드에 더불어, MMVD(merge mode with motion vector differences)가 VVC에서 소개된다. MMVD 플래그는 MMVD 모드가 CU에 대해 사용되는지 여부를 지정하기 위해 스킵 플래그 및 머지 플래그가 전송된 직후에 시그널링된다.
MMVD에서는, 머지 후보가 선택된 이후, 시그널링된 MVD 정보에 의해 더 개선된다. 추가 정보는 머지 후보 플래그, 움직임 크기를 지정하기 위한 인덱스 및 움직임 방향 표시를 위한 인덱스를 포함한다. MMVD 모드에서는 머지 리스트의 처음 두 후보 중 하나가 MV 기반으로서 사용되도록 선택된다. 머지 후보 플래그는 어느 것이 사용되는지 지정하기 위해 시그널링된다.
도 13은 MMVD 탐색의 일 예를 보여준다. 거리 인덱스는 움직임 크기 정보를 지정하고 시작점으로부터의 기 정의된 오프셋을 지시한다. 도 13에서와 같이, 오프셋은 시작 MV의 수평 성분 혹은 수직 성분에 추가된다. 거리 인덱스와 기 정의된 오프셋 간의 관계는 테이블 3으로 지정된다.
테이블 3. 거리 인덱스와 기 정의된 오프셋의 관계
거리 IDX(Distance IDX) 0 1 2 3 4 5 6 7
오프셋(Offset) (루마 샘플의 유닛에서) 1/4 1/2 1 2 4 8 16 32
방향 인덱스는 시작점에 대한 MVD의 방향을 나타낸다. 방향 인덱스는 테이블 4에 나타난 바와 같은 네 개의 방향을 나타낼 수 있다. MVD 부호의 의미는 시작 MV의 정보에 따라 달라질 수 있다. 시작 MV가 단일 예측 MV 혹은 현재 픽처의 동일한 면을 가리키는 두 리스트를 이용하는 양 예측 MV들일 때(즉, 두 참조의 POC가 모두 현재 픽처의 POC 보다 크거나, 현재 픽처의 POC 보다 작다), 테이블 4의 부호는 시작 MV에 더해지는 MV 오프셋의 부호를 지정한다. 시작 MV가 현재 픽처의 서로 다른 측면을 가리키는 두 개의 MV인 양 예측 MV들인 경우 (즉, 한 참조의 POC가 현재 픽처의 POC보다 크고, 다른 참조의 POC가 현재 픽처의 POC보다 작다), 테이블 4의 부호는 시작 MV의 list0 MV 성분에 추가되는 MV 오프셋의 부호를 지정하고, list1 MV에 대한 부호는 반대 값을 갖는다.
테이블 4. 방향 인덱스에 의해 지정되는 MV 오프셋의 부호
방향IDX(Direction IDX) 00 01 10 11
x-축 + - N/A N/A
y-축 N/A N/A + -
slice_fpel_mmvd_enabled_flag는 분수 거리가 MMVD에서 사용될 수 있는지 여부를 지시하기 위해 슬라이스 헤더에서 시그널링될 수 있다. 분수 거리가 슬라이스에 대해 허용되지 않으면, 하기의 거리 테이블을 생성하기 위해 상단의 거리에 4가 곱해질 수 있다.
테이블 5. slice_fpel_mmvd_enabled_flag이 1인 경우
거리 인덱스와 기 정의된 오프셋의 관계
거리 IDX(Distance IDX) 0 1 2 3 4 5 6 7
오프셋(Offset) (루마 샘플의 유닛에서) 1 2 4 8 16 32 64 128
slice_fpel_mmvd_enabled_flag가 1이면, MMVD(merge mode with motion vector difference)가 현재 슬라이스의 정수 샘플 정밀도를 이용함을 지정한다. slice_fpel_mmvd_enabled_flag이 0이면, MMVD(merge mode with motion vector difference)가 현재 슬라이스의 분수 샘플 정밀도를 이용할 수 있을 지정한다. 존재하지 않는 경우에는, slice_fpel_mmvd_enabled_flag 값은 0으로 추론된다.
3. 기존 구현에서의 문제
MMVD 모드에서 유도되는 MV가 1/2픽셀 정밀도가 아니더라도 MMVD(merge with motion vector difference)모드에서 대안 하프 픽셀 보간 필터가 상속될 수 있으며, 이는 합리적이지 않다.
amvr_precision_idx hpel_if_idx를 코딩할 때, 모든 빈(bin)들이 컨텍스트 코딩된다.
공간적 이웃 블록으로부터 유도된 관련 머지 후보가 선택되는 경우 대안 보간 필터 플래그는 공간적 이웃 블록들로부터 상속될 수 있다. 그러나, 상속된 MV가 더 개선되면(예를 들어, DMVR을 이용하여) 최종 MV는 하프 픽셀 정밀도를 가리키지 않을 수 있다. 그러므로, 플래그가 참이더라도, 새로운 필터의 사용은 플래그가 참이고 MV가 하프 픽셀이라는 조건에 따르기 때문에 대안 보간 필터도 비활성화 된다.
유사하게, AMVR 프로세스에서, AMVR 정밀도가 하프 픽셀인 경우, MVP 및 MVD는 모두 하프 픽셀에 있을 수 있다. 그러나, 최종 MV는 하프 픽셀에 있지 않을 수 있다. 이 경우, 시그널링된 AMVR 정밀도가 하프 픽셀을 나타내더라도, 새 필터는 사용될 수 없다.
4. 예시적인 구현과 기술
하기에서 상세히 설명되는 실시예들은 일반적인 개념들을 설명하기 위한 예시들로 고려되어야 한다. 이러한 실시예들은 좁은 개념으로 해석되어서는 안 된다. 또한, 다음의 실시예들은 어떠한 방식으로든 결합될 수 있다.
디코더 측 움직임 벡터 유도(decoder-side motion vector derivation, DMVD)는 디코더에서의 개선 움직임 벡터(refinement motion vector) 혹은 예측 샘플과 연관된 BDOF(bi-direction optical flow) 혹은/및 DMVR(decoder-side motion vector refinement) 혹은/및 다른 도구들을 나타내는 데 사용된다.
다음 텍스트에서 기본 보간 필터(default interpolation filter)는 HEVC/VVC에서 정의되는 한 필터를 지시할 수 있다. 새롭게 소개되는 보간 필터들(예를 들어, JVET-N0309에서 제안되는 필터)은 다음 설명에서 대안 보간 필터로 지칭될 수 있다. MMVD 용어는 디코딩된 움직임 정보를 일부 추가적인 MVD로 업데이트할 수 있는 임의의 코딩 방법을 참조할 수 있다.
1. 2가 아닌 상이한 N에 대해 대안 1/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 픽셀 정밀도를 가질 때, 즉 어떤 MV 성분도 더 세밀한 MV 정밀도를 갖지 않을 때 MMVD 모드에서 상속될 수 있다.
ii. 일 예로서, 대안 1/N 픽셀 보간 필터는 최종적으로 유도된 MV의 K(K>=1)개 MV 성분이 1/N 픽셀 정밀도를 가질 때 MMVD 모드에서 상속될 수 있다.
f. 일 예로서, 대안 1/N 픽셀 보간 필터는 MMVD 모드 혹은/및 머지 모드에서 상속될 수 있으나, 대안 1/N 픽셀 보간 필터는 움직임 보상에서만 사용된다. 대안 1/N 픽셀 보간 필터의 인덱스는 블록에 대해 저장되지 않을 수 있으며 다음 코딩된 블록들에 의해 사용되지 않을 수 있다.
2. 보간 필터(예를 들어, 기본 하프 픽셀 보간 필터, 대안 하프 픽셀 보간 필터) 표시는 움직임 벡터, 참조 인덱스 등과 같은 다른 움직임 정보와 함께 저장될 수 있다.
a. 일 예로서, 인코딩/디코딩되는 한 블록의 경우, 다른 영역에 위치한 제2 블록(2nd block)에 접근할 때, 제2 블록과 연관된 보간 필터는 현재 블록의 인코딩/디코딩에 활용될 수 없다.
3. 대안 하프 픽셀 보간 필터는 머지 모드 혹은/및 MMVD 모드에서 상속되지 않을 수 있다.
a. 일 예로서, 대안 하프 픽셀 보간 필터는 MMVD 모드에서 상속되지 않을 수 있다.
i. 또한, 대안적으로, VVC의 기본 하프 픽셀 보간 필터 항상 MMVD 모드에 대해서 사용될 수 있다.
ii. 대안적으로, 대안 하프 픽셀 보간 필터는 MMVD 모드에서 상속될 수 있다. 즉, MMVD 모드에서, 베이스 머지 후보(base merge candidate)와 연관된 대안 하프 픽셀 보간 필터가 상속될 수 있다.
b. 일 예로서, 대안 하프 픽셀 보간 필터는 특정 조건 하에 MMVD 모드에서 상속될 수 있다.
i. 일 예로서, 대안 하프 픽셀 보간 필터는 최종적으로 유도된 MV가 하프 픽셀 정밀도를 가질 때, 즉, 어떤 MV 성분도 1/4 픽셀 정밀도, 1/16 픽셀 정밀도와 같은 더 세밀한 MV 정밀도 갖지 않을 때 상속될 수 있다.
ii. 일 예로서, 대안 하프 픽셀 보간 필터는 최종적으로 유도된 MV의 K(K>=1)개 MV 성분이 1/2 픽셀 정밀도를 가질 때 MMVD 모드에서 상속될 수 있다.
iii. 일 예로서, 대안 하프 픽셀 보간 필터는 MMVD에서 선택된 거리(예를 들어, 테이블 3에 정의된 거리)는 X 픽셀 정밀도를 가지거나 X 픽셀보다 거친 정밀도 (예를 들어, X가 1/2이면, 1 픽셀, 2 픽셀, 4 픽셀 등으로, X 픽셀보다 더 거친 정밀도)를 가질 때 상속될 수 있다.
iv. 일 예로서, 대안 하프 픽셀 보간 필터는 MMVD에서 선택된 거리(예를 들어, 테이블 3에 정의된 거리)는 X 픽셀 정밀도를 가지거나 X 픽셀보다 세밀한 정밀도 (예를 들어, X가 1/4이면, 1/16 픽셀 등으로, X 픽셀보다 더 세밀한 정밀도)를 가질 때 상속되지 않을 수 있다.
v. 대안 하프 픽셀 보간 필터가 MMVD에서 사용되지 않을 때, 대안 하프 픽셀 보간 필터의 정보는 블록에 대해 저장되지 않을 수 있으며 다음 코딩된 블록들에 의해 사용되지 않을 수 있다.
c. 일 예로서, 대안 하프 픽셀 보간 필터는 MMVD 모드 혹은/및 머지 모드에서 상속될 수 있으나, 대안 하프 픽셀 보간 필터는 움직임 보상에서만 사용된다. 기본 하프 픽셀 보간 필터의 인덱스는 대안 하프 픽셀 보간 필터 대신에 블록에 대해 저장될 수 있고 다음 코딩된 블록들에 의해 사용될 수 있다.
d. 상기의 방법들은 1/N 픽셀 정밀도에 대한 다수의 보간 필터가 적용될 수 있는 다른 경우들에도 적용될 수 있다.
4. MV/MVD 정밀도 정보는 AMVP 모드 혹은/및 어파인 인터 모드로 코딩된 CU/PU/블록에 대해 저장될 수 있으며 머지 모드 혹은/및 어파인 머지 모드로 코딩된 CU/PU/블록에 의해 상속될 수 있다.
a. 일 예로서, 공간적 이웃(인접 혹은 비인접) 블록으로부터 유도된 후보에 대해 연관된 이웃 블록의 MV/MVD 정밀도가 상속될 수 있다.
b. 일 예로서, 페어와이즈 머지 후보(pairwise merge candidate)의 경우, 두 개의 연관된 공간적 머지 후보가 동일한 MV/MVD를 갖는 경우, 그러한 MV/MVD 정밀도는 페어와이즈 머지 후보에 할당될 수 있다; 그 외의 경우, 고정된 MV/MVD 정밀도(예를 들어, 1/4 픽셀, 혹은 1/16 픽셀)이 할당될 수 있다.
c. 일 예로서, 고정된 MV/MVD 정밀도(예를 들어, 1/4 픽셀 혹은 1/16 픽셀)은 시간적 머지 후보에 할당될 수 있다.
d. 일 예로서, MV/MVD 정밀도는 HMVP(history-based motion vector prediction) 테이블에 저장될 수 있으며 HMVP 머지 후보에 의해 상속될 수 있다.
e. 일 예로서, 베이스 머지 후보의 MV/MVD 정밀도는 MMVD 모드로 코딩되는 CU/PU/블록에 의해 상속될 수 있다.
f. 일 예로서, 상속된 MV/MVD 정밀도는 후속 블록들의 MV/MVD 정밀도를 예측하는 데 사용될 수 있다.
g. 일 예로서, 머지 코딩된 블록의 MV는 상속된 MV/MVD 정밀도로 라운딩될 수 있다.
5. MMVD에서 사용될 거리 테이블은 베이스 머지 후보의 MV/MVD 정밀도에 따라 달라질 수 있다.
a. 일 예로서, 베이스 머지 후보의 MV/MVD가 1/N 픽셀 정밀도를 갖는 경우, MMVD에서 사용되는 거리는 1/N 픽셀 정밀도 혹은 1/N 픽셀 보다 더 거친 정밀도를 가져야 한다.
i. 예를 들어, N=2이면, MMVD에서의 거리는 1/2 픽셀, 1 픽셀, 2 픽셀 등의 정밀도만을 가질 수도 있다.
b. 일 예로서, 분수 거리를 포함하는 거리 테이블(테이블 3에 정의됨)(예를 들어, slice_fpel_mmvd_enabled_flag이 0일 때 정의되는 거리 테이블)은 베이스 머지 후보의 MV/MVD 정밀도에 따라 변경될 수 있다.
i. 예를 들어, 베이스 머지 후보의 MV/MVD 정밀도는 1/N 픽셀이고 거리 테이블에서 가장 세밀한 MVD 정밀도가 1/M 픽셀(예를 들어, M=4)인 경우, 거리 테이블의 모든 거리들에 M/N이 곱해질 수 있다.
6. 대안 하프 픽셀 보간 필터를 선택하는 CU/PU/블록(예를 들어, 머지 모드로 코딩됨)의 경우, DMVR에서 유도된 MVD가 X-픽셀(예를 들어, X= 1/2)보다 더 세밀한 정밀도를 가질 때 대안 하프 픽셀 보간 필터의 정보는 CU/PU/블록에 대해 저장되지 않을 수 있으며 다음 블록들에 의해 사용되지 않을 수 있다.
a. 일 예로서, DMVR에서 유도된 서브 블록의 MVD 정밀도에 따라 대안 하프 픽셀 보간 필터의 정보가 저장되는지 혹은 저장되지 않는지 여부는 DMVR이 서브 블록 레벨에서 수행되는 경우 서로 다른 서브 블록들에 대해 독립적으로 결정될 수 있다.
b. 일 예로서, 유도된 MVD가 서브블록/블록 중 적어도 N(예를 들어, N=1)개에 대해 X 픽셀 보다 세밀한 정밀도를 갖는 경우, 대안 하프 픽셀 보간 필터의 정보는 저장되지 않을 수 있으며 후속 블록들에는 사용되지 않을 수 있다.
7. 보간 필터 정보는 HMVP(history-based motion vector prediction) 테이블에 저장될 수 있으며 HMVP 머지 후보에 의해 상속될 수 있다.
a. 일 예로서 한 새로운 후보를 HMVP 룩업(lookup) 테이블에 삽입할 때, 보간 필터 정보가 고려될 수 있다. 예를 들어, 움직임 정보가 동일하되 서로 다른 보간 필터 정보를 갖는 두 개의 후보는 서로 다른 두 개의 후보로 간주될 수 있다.
b. 일 예로서, 한 새로운 후보를 HMVP 룩업 테이블에 삽입할 때, 움직임 정보가 동일하되 서로 다른 보간 필터 정보를 갖는 두 개의 후보는 동일한 후보로 간주될 수 있다.
8. 머지 후보를 머지 후보 리스트에 삽입할 때, 프루닝 프로세스에서 보간 필터 정보가 고려될 수 있다.
a. 일 예로서, 서로 다른 보간 필터를 갖는 두 개의 머지 후보는 서로 다른 두 개의 머지 후보로 간주될 수 있다.
b. 일 예로서, HMVP 머지 후보를 머지 리스트에 삽입할 때, 프루닝 프로세스에서 보간 필터 정보가 고려될 수 있다.
c. 일 예로서, HMVP 머지 후보를 머지 리스트에 삽입할 때, 프루닝 프로세스에서 보간 필터 정보가 고려되지 않을 수 있다.
9. 페어와이즈 머지 후보 혹은/및 결합된 머지 후보 혹은/및 영 움직임 벡터 후보 혹은/및 다른 기본 후보를 생성할 때, 기본 보간 필터를 항상 이용하는 대신 보간 필터 정보가 고려 대상이 될 수 있다.
a. 일 예로서, 두 후보 모두(페어와이즈 머지 후보 혹은/및 결합된 머지 후보의 생성에 연관)가 동일한 대안 보간 필터를 이용하는 경우, 이러한 보간 필터는 페어와이즈 머지 후보 혹은/및 결합된 머지 후보에서 상속될 수 있다.
b. 일 예로서, 두 후보 중 하나(페어와이즈 머지 후보 혹은/및 결합된 머지 후보의 생성에 연관)가 기본 보간 필터를 이용하지 않는 경우, 그 후보의 보간 필터는 페어와이즈 머지 후보 혹은/및 결합된 머지 후보에서 상속될 수 있다.
c. 일 예로서, 두 후보 중 하나(결합된 머지 후보의 생성에 연관)가 기본 보간 필터를 이용하지 않는 경우, 그 후보의 보간 필터는 결합된 머지 후보에서 상속될 수 있다. 그러나, 이러한 보간 필터는 해당 예측 방향에 대해서만 사용될 수 있다.
d. 일 예로서, 두 후보(결합된 머지 후보의 생성에 연관)가 서로 다른 보간 필터를 이용하는 경우, 그들의 보간 필터는 모두 결합된 머지 후보에서 상속될 수 있다. 이 경우, 서로 다른 예측 방향에 대해 서로 다른 보간 필터가 사용될 수 있다.
e. 일 예로서, K(K>=0) 개 이하의 페어와이즈 머지 후보 혹은/및 결합된 머지 후보는 대안 보간 필터를 이용할 수 있다.
f. 일 예로서, 기본 보간 필터는 항상 페어와이즈 머지 후보 혹은/및 결합된 머지 후보에 사용된다.
10. 현재 블록이 IBC 모드로 코딩될 때 하프 픽셀 움직임 벡터/움직임 벡터 차이 정밀도의 사용을 비활성화 하는 것이 제안된다.
a. 또한, 대안적으로, 하프 픽셀 MV/MVD 정밀도의 사용 표시를 시그널링할 필요가 없다.
b. 일 예로서, 대안 하프 픽셀 보간 필터는 현재 블록이 IBC 모드로 코딩 되는 경우 항상 비활성화된다.
c. 또한, 대안적으로, 하프 픽셀 보간 필터의 표시를 시그널링할 필요가 없다.
d. 일 예로서, '현재 블록이 IBC 모드로 코딩된다'는 조건은 '현재 블록이 모드로 코딩된다'로 대체될 수 있다. 여기서 모드는 삼각(triangular) 모드, 머지 모드 등으로 정의될 수 있다.
11. amvr_precision_idx 및/혹은 hpel_if_idx이 인코딩 될 때, 제1 빈(first bin)만이 컨텍스트 코딩될 수 있다.
a. 또한, 대안적으로, 다른 빈들은 바이패스 코딩될 수 있다.
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의 모든 빈들은 하나의 동일한 컨텍스트를 공유할 수 있다.
12. 대안 보간 필터들이 이용될 때 일부 코딩 도구들이 불허될 수 있다.
a. 일 예로서, BDOF(bi-directional optical flow)는 대안 보간 필터가 이용될 때 불허될 수 있다.
b. 일 예로서, DMVR 혹은/및 DMVD는 대안 보간 필터가 이용될 때 불허될 수 있다.
c. 일 예로서, CIIP(combined inter-intra prediction)는 대안 보간 필터가 이용될 때 불허될 수 있다.
i. 일 예로서, 머지 후보가 대안 보간 필터를 상속할 때 CIIP 플래그는 생략되고 거짓(false)으로 추론될 수 있다.
ii. 대안적으로, CIIP 플래그가 참이면, 기본 보간 필터가 항상 이용될 수 있다.
d. 일 예로서, SMVD(symmetric motion vector difference)는 대안 보간 필터가 이용될 때 불허될 수 있다.
i. 일 예로서, SMVD가 이용되면, 기본 보간 필터는 항상 이용되고, 대안 보간 필터에 연관되는 신택스 요소들이 시그널링되지 않는다.
ii. 대안적으로, 대안 보간 필터에 연관되는 신택스 요소들이 대안 보간 필터가 이용됨을 지시할 때, SMVD 연관 신택스 요소들은 시그널링되지 않을 수 있고 SMVD 모드는 이용되지 않는다.
e. 일 예로서, SBT(Subblock transform)는 대안 보간 필터가 이용될 때 허용되지 않을 수 있다.
i. 일 예로서 SBT가 이용되면, 기본 보간 필터가 항상 사용되며 대안 보간 필터에 연관되는 신택스 요소들은 시그널링되지 않는다.
ii. 대안적으로, 대안 보간 필터에 연관된 신택스 요소들이 대안 보간 필터가 이용됨을 지시할 때, SBT 여관 신택스 요소들은 시그널링되지 않을 수 있으며 SBT는 사용되지 않는다.
f. 일 예로서, 삼각 예측은 대안 보간 필터가 이용될 때 허용되지 않을 수 있다.
i. 일 예로서, 보간 필터 정보는 삼각 예측에서 상속되지 않을 수 있으며, 기본 보간 필터만이 사용될 수도 있다.
g. 대안적으로, 대안 보간 필터가 이용될 때 삼각 예측이 허용될 수 있다.
i. 일 예로서, 보간 필터 정보는 삼각 예측에서 상속될 수 있다.
h. 대안적으로, 위에서 언급된 코딩 도구의 경우, 활성화되면, 대안 하프 픽셀 보간 필터가 비활성화될 수 있다.
13. 필터가 N-픽셀 정밀도 MV들에 적용될 수 있다.
a. 일 예로서, N은 1, 2, 혹은 4 등과 동일할 수 있다.
b. 일 예로서, 필터는 저역 통과 필터(low-pass filter)일 수 있다.
c. 일 예로서, 필터는 1-d 필터일 수 있다.
i. 예를 들어, 필터는 1-d 수평 필터일 수 있다.
ii. 예를 들어, 필터는 1-d 수직 필터일 수 있다.
d. 일 예로서, 플래그는 이러한 필터가 이용되는지 혹은 아닌지 여부를 지시하기 위해 시그널링될 수 있다.
i. 또한, 대안적으로, 이러한 플래그는 N-픽셀 MVD 정밀도(AMVRV 모드에서 시그널링됨)가 블록에 사용될 때만 시그널링될 수 있다.
14. 서로 다른 가중치 인자 세트들이 GBI 모드의 어파인 모드 및 일반 인터 모드(regular inter mode)에 사용될 수 있다.
a. 일 예로서, 일반 인터 모드 및 어파인 모드에 사용되는 가중치 인자 세트들은 SPS/타일 그룹 헤더/슬라이스 헤더/VPS/PPS 등에서 시그널링될 수 있다.
b. 일 예로서, 일반 인터 모드 및 어파인 모드에 사용되는 가중치 인자 세트들은 인코더 및 디코더에서 기 정의될 수 있다.
15. 대안 보간 필터를 어떻게 정의/선택하는지는 코딩된 모드 정보에 따를 수 있다.
a. 일 예로서, 어파인 모드 및 비 어파인(non-affine) 모드에서, 허용되는 대안 보간 필터 세트는 달라질 수 있다.
b. 일 예로서, IBC 모드 및 비 IBC 모드(non-IBC)에서, 허용되는 대안 보간 필터 세트는 달라질 수 있다.
16. 일 예로서, 대안 하프 픽셀 보간 필터가 머지 혹은 스킵 코딩된 블록에 적용되는지 여부는 대안 하프 픽셀 보간 필터가 이웃 블록에 적용되는지 여부에 독립적이다.
a. 일 예로서, hpel_if_idx 는 어느 블록에 대해서도 저장되지 않는다.
b. 일 예로서, 대안 하프 픽셀 보간 필터를 상속 혹은 폐기할지 여부는 코딩된 정보 및/혹은 다른 코딩 도구들의 활성화/비활성화에 따를 수 있다.
17. 일 예로서, 대안 하프 픽셀 보간 필터가 적용되는지 여부(예를 들어, 머지 혹은 스킵 코딩된 블록에)는 현재 블록의 코딩 정보에 따를 수 있다.
a. 일 예로서, 머지 인덱스가 K이면, 대안 하프 픽셀 보간 필터가 머지 혹은 스킵 코딩된 블록에 적용되고, K는 2, 3, 4, 5와 같은 정수이다.
b. 일 예로서, 머지 인덱스 Idx가 Idx%S 가 K임을 만족하는 경우, 대안 하프 픽셀 보간 필터는 머지 혹은 스킵 코딩된 블록에 적용되되, S 및 K는 정수이다. 예를 들어, S는 2 이고 K는 1이다.
c. 일 예로서, 특정 머지 후보는 대안 하프 픽셀 보간 필터를 적용할 수 있다. 일 예로서, 페어와이즈 머지 후보는 대안 하프 픽셀 보간 필터를 적용할 수 있다.
18. 일 예로서, 대안 하프 픽셀 보간 필터는 어파인 인터 예측에서 사용되는 하프 픽셀 보간 필터와 맞추어 조정될 수 있다.
a. 예를 들어, 통합된 보간 필터 계수(unified interpolation filter coefficients)는 [3, -11, 40, 40, *?*11, 3]일 수 있다.
b. 예를 들어, 통합된 보간 필터 계수는 [3, 9, 20, 20, 9, 3]일 수 있다.
19. 일 예로서, 대안 하프 픽셀 보간 필터는 크로마 인터 예측에서 사용되는 하프 픽셀 보간 필터와 동일할 수 있다.
a. 예를 들어, 통합된 보간 필터 계수(unified interpolation filter coefficients)는 [-4, 36, 36, -4]일 수 있다.
20. 일 예로서, 대안 보간 필터는 하프 픽셀 위치에만 적용되지 않을 수 있다.
a. 예를 들어, 대안 보간 필터가 적용됨이 명시적으로 혹은 암시적으로 지시되고(예를 들어, hpel_if_idx이 1) MV가 X 픽셀 위치를 참조하는 경우, X는 1/2가 아니고(예를 들어, 1/4 혹은 3/4), X 픽셀 위치에 대한 대안 보간 필터가 적용되어야 한다. 대안 보간 필터는 X 픽셀 위치의 원본 보간 필터(original interpolation filter)과 상이한 계수를 하나 이상 가져야 한다.
b. 일 예로서, 위 글머리 기호는 DMVR(Decoder-side Motion Vector Refienment) 혹은 MMVD 혹은 SMVD 혹은 기타 디코더 측 움직임 유도 프로세스 이후에 적용된다.
c. 일 예로서, 위 글머리 기호는 RPR(Reference Picture Resampling)이 사용되고 참조 픽처가 현재 픽처와 상이한 해상도를 갖는 경우 적용된다.
21. 양 예측 케이스에서 대안 보간 필터는 한 예측 방향에 대해서만 적용될 수도 있다.
22. X 픽셀(예를 들어, X=1/2) 정밀도의 MV 성분에 대한 대안 보간 필터가 블록에 의해 선택될 때, X 픽셀 이외의 정밀도(예를 들어, 1/4, 1/16)를 갖는 MV 성분이 존재한다고 가정하면, 기본 보간 필터 대신 다른 대안 보간 필터들이 그러한 MV 성분에 대해 사용될 수 있다.
a. 일 예로서, 가우시안(Gaussian) 보간 필터가 X 픽셀 정밀도를 갖는 MV 성분들에 대해 선택되면, 가우시안 보간 필터는 X 픽셀 이외의 정밀도를 갖는 MV 성분에 대해서도 사용될 수 있다.
b. 일 예로서, 플랫탑(flattop) 보간 필터가 X 픽셀 정밀도를 갖는 MV 성분들에 대해 선택되면, 플랫탑 보간 필터는 X 픽셀 이외의 정밀도를 갖는 MV 성분에 대해서도 사용될 수 있다.
c. 일 예로서, 이러한 제약들은 X 픽셀 정밀도 외의 특정 MV 정밀도에 대해서만 적용될 수도 있다.
i. 예를 들어, 이러한 제약들은 X 픽셀보다 더 세밀한 정밀도를 갖는 MV 성분들에만 적용될 수도 있다.
ii. 예를 들어, 이러한 제약들은 X 픽셀보다 더 거친 정밀도를 갖는 MV 성분들에만 적용될 수도 있다.
23. 대안 보간 필터를 적용할지 여부 및/혹은 어떻게 적용할지는 RPR 사용 여부에 따라 달라질 수 있다.
a. 일 예로서, RPR이 사용되는 경우 대안 보간 필터는 사용되지 않아야 한다.
b. 일 예로서, 현재 블록의 참조 픽처가 현재 픽처와 비교할 때 다른 해상도에 있는 경우 대안 보간 필터(예를 들어, 1/2 픽셀 보간 필터)는 사용되지 않아야 한다.
5. 실시예
JVET-O2001-vE 상부의 글머리 기호 3에 대한 실시예가 표현된다. 새롭게 추가된 부분들은 굵게 밑줄이 그어진 텍스트로 강조 표시된다.
8.5.2.2. 머지 모드의 루마 움직임 벡터 유도 프로세스
이 프로세스는 general_merge_flag[ xCb ][ yCb ]이 1일 때에만 호출된다. 여기서 ( xCb, yCb )는 현재 픽처의 좌측 상단 루마 샘플에 대한 현재 루마 코딩 블록의 좌측 상단 샘플을 지정한다.
이 프로세스의 입력은 다음과 같다:
- 현재 픽처의 좌측 상단 루마 샘플에 대한 현재 루마 코딩 블록의 좌측 상단 샘플의 루마 위치 ( xCb, yCb ),
- 루마 샘플들에서 현재 코딩 블록의 너비를 지정하는 변수 cbWidth,
- 루마 샘플들에서 현재 코딩 블록의 높이를 지정하는 변수 cbHeight.
이 프로세스의 출력은 다음과 같다:
- 1/16 분수 샘플 정확도의 루마 움직임 벡터 mvL0[ 0 ][ 0 ] 및 mvL1[ 0 ][ 0 ],
- 참조 인덱스 refIdxL0 및 refIdxL1,
- 예측 리스트 활용 플래그 predFlagL0[ 0 ][ 0 ] 및 predFlagL1[ 0 ][ 0 ],
- 하프 샘플 보간 필터 인덱스 hpelIfIdx,
- 양 예측 가중치 인덱스 bcwIdx.
- 머지 후보 리스트 mergeCandList.
양 예측 가중치 인덱스 bcwIdx 는 0으로 설정된다.
움직임 벡터 mvL0[ 0 ][ 0 ] 및 mvL1[ 0 ][ 0 ], 참조 인덱스 refIdxL0 및 refIdxL1, 예측 활용 플래그 predFlagL0[ 0 ][ 0 ] 및 predFlagL1[ 0 ][ 0 ]는 다음과 같은 순서의 단계로 유도된다:
1. 8.5.2.3 절에 지정된 이웃 코딩 유닛에서 공간적 머지 후보 유도 프로세스는 루마 코딩 블록 위치( xCb, yCb ), 루마 코딩 블록 너비 cbWidth, 및 루마 코딩 블록 높이 cbHeight를 입력하여 호출되고 출력은 가용성 플래그 availableFlagA0, availableFlagA1, availableFlagB0, availableFlagB1 및 availableFlagB2, 참조 인덱스 refIdxLXA0, refIdxLXA1, refIdxLXB0, refIdxLXB1 및 refIdxLXB2, 예측 리스트 활용 플래그 predFlagLXA0, predFlagLXA1, predFlagLXB0, predFlagLXB1 및 predFlagLXB2, 그리고 X 가 0 혹은 1인 움직임 벡터 mvLXA0, mvLXA1, mvLXB0, mvLXB1 및 mvLXB2, 하프 샘플 보간 필터 인덱스 hpelIfIdxA0, hpelIfIdxA1, hpelIfIdxB0, hpelIfIdxB1, hpelIfIdxB2, 및 양 예측 가중치 인덱스 bcwIdxA0, bcwIdxA1, bcwIdxB0, bcwIdxB1, bcwIdxB2이다.
2. X가 0 혹은 1인 참조 인덱스 refIdxLXCol와 시간적 머지 후보 Col 에 대한 양 예측 가중치 인덱스 bcwIdxCol는 0으로 설정되고 hpelIfIdxCol도 0으로 설정된다.
3. 8.5.2.11 절에 지정된 시간적 루마 움직임 벡터 예측 유도 프로세스는 루마 위치 ( xCb, yCb ), 루마 코딩 블록 너비 cbWidth, 루마 코딩 블록 높이 cbHeight 및 변수 refIdxL0Col를 입력으로 하여 호출되고, 가용성 플래그 availableFlagL0Col 및 시간적 움직임 벡터 mvL0Col를 출력으로 한다. 변수 availableFlagCol, predFlagL0Col 및 predFlagL1Col는 다음과 같이 유도된다:
availableFlagCol = availableFlagL0Col (8-303)
predFlagL0Col = availableFlagL0Col (8-304)
predFlagL1Col = 0 (8-305)
4. slice_type이 B이면, 8.5.2.11 절에 지정된 시간적 루마 움직임 벡터 예측 유도 프로세스는 루마 위치 ( xCb, yCb ), 루마 코딩 블록 너비 cbWidth, 루마 코딩 블록 높이 cbHeight 및 변수 refIdxL1Col를 입력으로 하여 호출되고, 가용성 플래그 availableFlagL1Col 및 시간적 움직임 벡터 mvL1Col를 출력으로 한다. 변수 availableFlagCol 및 predFlagL1Col는 다음과 같이 유도된다:
availableFlagCol = availableFlagL0Col  | |  availableFlagL1Col (8-306)
predFlagL1Col = availableFlagL1Col (8-307)
5. 머지 후보 리스트, mergeCandList 는 다음과 같이 구성된다:
i = 0
if( availableFlagA1 )
mergeCandList[ i++ ] = A1
if( availableFlagB1 )
mergeCandList[ i++ ] = B1
if( availableFlagB0 )
mergeCandList[ i++ ] = B0 (8-308)
if( availableFlagA0 )
mergeCandList[ i++ ] = A0
if( availableFlagB2 )
mergeCandList[ i++ ] = B2
if( availableFlagCol )
mergeCandList[ i++ ] = Col
6. 변수 numCurrMergeCand 및 numOrigMergeCand은 mergeCandList에서 머지 후보의 수와 동일하게 설정된다.
7. numCurrMergeCand이 (MaxNumMergeCand - 1)보다 작고 NumHmvpCand이 0보다 크면, 다음이 적용된다:
- 8.5.2.6절에 지정된 히스토리 기반 머지 후보(history-based merging candidates) 유도 프로세스는 mergeCandList 및 numCurrMergeCand를 입력으로, 변경된 mergeCandList 및 numCurrMergeCand를 출력으로 한다.
- NumOrigMergeCand은 numCurrMergeCand와 동일하게 설정된다.
8. numCurrMergeCand이 MaxNumMergeCand보다 작고 1보다 크면, 다음이 적용된다:
- 8.5.2.4 절에 지정된 페어와이즈 평균 머지 후보 유도 프로세스는 is invoked with mergeCandList, 참조 인덱스 refIdxL0N 및 refIdxL1N, 예측 리스트 활용 플래그 predFlagL0N 및 predFlagL1N, 움직임 벡터 mvL0N 및 mvL1N, 그리고 mergeCandList 에서 모든 후보 N의 하프 샘플 보간 필터 인덱스 hpelIfIdxN, 및 numCurrMergeCand을 입력으로 하여 호출되되, 출력은 mergeCandList, numCurrMergeCand, 참조 인덱스 refIdxL0avgCand 및 refIdxL1avgCand, 예측 리스트 활용 플래그 predFlagL0avgCand 및 predFlagL1avgCand, mergeCandList 에 추가되는 후보 avgCand의 움직임 벡터 mvL0avgCand 및 mvL1avgCand에 할당된다. mergeCandList 에 추가되는 후보 avgCand 의 양예측 가중치 인덱스 bcwIdx는 0으로 설정된다.
- numOrigMergeCand는 numCurrMergeCand와 동일하게 설정된다.
9. 8.5.2.5 절에 지정된 영 움직임 벡터 머지 후보 유도 프로세스는 mergeCandList, 참조 인덱스 refIdxL0N 및 refIdxL1N, 예측 리스트 활용 플래그 predFlagL0N 및 predFlagL1N, mergeCandList 에 있는 모든 후보 N의 움직임 벡터 mvL0N 및 mvL1N, 그리고 numCurrMergeCand를 입력으로 하여 호출되고, 출력은 mergeCandList, numCurrMergeCand, 참조 인덱스 refIdxL0zeroCandm 및 refIdxL1zeroCandm, 예측 리스트 활용 플래그 predFlagL0zeroCandm 및 redFlagL1zeroCandm, 그리고 mergeCandList 에 추가되는 모든 새로운 후보 zeroCandm 의 움직임 벡터 mvL0zeroCandm 및 mvL1zeroCandm에 할당된다. mergeCandList 에 추가되는 모든 새로운 후보 zeroCandm 의 하프 샘플 보간 필터 인덱스 hpelIfIdx 는 0과 동일하게 설정된다. mergeCandList 에 추가되는 모든 새로운 후보 zeroCandm 의 양 예측 가중치 인덱스 bcwIdx는 0과 동일하게 설정된다. 추가되는 후보의 수인 numZeroMergeCand는 ( numCurrMergeCand - numOrigMergeCand )과 동일하게 설정된다. numZeroMergeCand이 0보다 크면, m은 0부터 numZeroMergeCand - 1 범위 내이다.
10. 하기의 할당은 머지 후보 리스트 mergeCandList ( N = mergeCandList[ merge_idx[ xCb ][ yCb ] ] )의 위치 merge_idx[ xCb ][ yCb ] 에서 N이 후보이고 X가 0 혹은 1로 대체되는 경우에 이루어진다:
refIdxLX = refIdxLXN (8-309)
predFlagLX[ 0 ][ 0 ] = predFlagLXN (8-310)
mvLX[ 0 ][ 0 ][ 0 ] = mvLXN[ 0 ] (8-311)
mvLX[ 0 ][ 0 ][ 1 ] = mvLXN[ 1 ] (8-312)
hpelIfIdx = hpelIfIdxN (8-313)
bcwIdx = bcwIdxN (8-314)
11. mmvd_merge_flag[ xCb ][ yCb ] 가 1이면, 다음이 적용된다:
8.5.2.7 절에 지정된 머지 움직임 벡터 차이 유도 프로세스는 루마 위치 ( xCb, yCb ), 참조 인덱스 refIdxL0, refIdxL1 와 예측 리스트 활용 플래그 predFlagL0[ 0 ][ 0 ] 및 predFlagL1[ 0 ][ 0 ]를 입력으로, 움직임 벡터 차이 mMvdL0 및 mMvdL1 를 출력으로 한다.
- 움직임 벡터 차이 mMvdLX 는 0 혹은 1인 X에 대해 머지 움직임 벡터 mvLX에 다음과 같이 추가된다:
mvLX[ 0 ][ 0 ][ 0 ] += mMvdLX[ 0 ] (8-315)
mvLX[ 0 ][ 0 ][ 1 ] += mMvdLX[ 1 ] (8-316)
mvLX[ 0 ][ 0 ][ 0 ] = Clip3( -217, 217 - 1, mvLX[ 0 ][ 0 ][ 0 ] ) (8-317)
mvLX[ 0 ][ 0 ][ 1 ] = Clip3( -217, 217 - 1, mvLX[ 0 ][ 0 ][ 1 ] ) (8-318)
- 다음 조건 중 어느 하나가 참이면, hpelIfIdx은 0으로 설정된다:
1. mMvdL0[ 0 ] % 8이 0이 아니다.
2. mMvdL1[ 0 ] % 8이 0이 아니다.
3. mMvdL0[ 1 ] % 8이 0이 아니다.
4. mMvdL1[ 1 ] % 8이 0이 아니다.
6. 개시된 기술의 예시적인 실시예
도 11a는 비디오 프로세싱 장치(1100)의 블록도이다. 장치(1100)은 여기에 개시된 하나 이상의 방법을 실시하는데 사용될 수 있다. 장치(1100)은 스마트폰, 태블릿, 컴퓨터, 사물인터넷 (IoT) 수신기 등으로 구현될 수 있다. 장치(1100)은 하나 이상의 프로세서(1102), 하나 이상의 메모리(1104) 및 비디오 프로세싱 하드웨어(1106)를 포함할 수 있다. 프로세서(들) (1102)는 본 문서에 설명된 하나 이상의 방법을 실시하도록 구성될 수 있다. 메모리(들) (1104)는 데이터와 여기에 개시된 방법들과 기술들을 실시하기 위한 코드를 저장하는 데 사용될 수 있다. 비디오 프로세싱 하드웨어(1106)는 하드웨어 회로에서 본 문서에 설명된 일부 기술들을 실시하도록 구현될 수 있으며, 부분적으로 혹은 전체가 프로세서(1102) (예를 들어, 그래픽 프로세서 코어 CPI 혹은 다른 신호 프로세싱 회로)의 일부가 될 수 있다.
도 11b는 개시된 기술들이 구현될 수 있는 비디오 프로세싱 시스템의 다른 예시적인 블록도이다. 도 11b는 여기에 개시된 다양한 기술들이 구현될 수 있는 예시적인 비디오 프로세싱 시스템(1150)을 보여주는 블록도이다. 다양한 실시예들은 시스템(1150)의 일부 혹은 전체 구성요소를 포함할 수 있다. 시스템(1150)은 비디오 콘텐츠를 수신하는 입력(1152)을 포함할 수 있다. 비디오 콘텐츠는 예를 들어, 8 혹은 10 비트 멀티 컴포넌트 픽셀 값들과 같은 원본 혹은 압축되지 않은 형태로 수신될 수 있거나 압축된 혹은 인코딩된 포맷으로 수신될 수 있다. 입력(1152)는 네트워크 인터페이스, 주변 버스 인터페이스, 혹은 스토리지 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예는 이더넷, PON(passive optical network), 등과 같은 유선 인터페이스와 Wi-Fi 혹은 셀룰러 인터페이스와 같은 무선 인터페이스를 포함한다.
시스템(1150)은 본 문서에 설명되는 다양한 코딩 혹은 인코딩 방법들을 구현하는 코딩 컴포넌트(1154)를 포함할 수 있다. 코딩 컴포넌트(1154)는 비디오의 코딩된 표현을 생성하기 위해 입력(1152)으로부터 코딩 컴포넌트(1154)의 출력으로의 비디오 평균 비트율을 감소시킬 수 있다. 그러므로 코딩 기술들은 비디오 압축 혹은 비디오 트랜스코딩(transcoding) 기술로도 불린다. 코딩 컴포넌트(1154)의 출력은 저장되거나 컴포넌트(1156)로 표현되는 연결된 통신을 통해 전송될 수 있다. 입력(1152)에서 수신된 비디오의 저장되거나 통신된 비트스트림(혹은 코딩된) 표현은 디스플레이 인터페이스(1160)에 전송되는 디스플레이 가능한 비디오나 픽셀 값들을 생성하기 위해 컴포넌트(1158)에 의해 사용될 수 있다. 비트스트림 표현으로부터 사용자가 볼 수 있는 비디오를 생성하는 프로세스는 비디오 압축 해제로 불리기도 한다. 또한, 특정 비디오 프로세싱 동작이 "코딩" 동작 혹은 도구로 지칭되나, 코딩 도구 혹은 동작은 인코더에서 사용되고 코딩의 결과를 역전시키는 대응 디코딩 도구 및 동작이 디코더에 의해 수행됨이 이해될 것이다.
주변 버스 인터페이스 혹은 디스플레이 인터페이스의 예에는 USB(universal serial bus), HDMI(high definition multimedia interface), 혹은 Displayport 등이 포함된다. 스토리지 인터페이스의 예에는 SATA(serial advanced technology attachment), PCI, IDE 인터페이스 등이 포함된다. 본 문서에 설명된 기술들은 모바일 폰(mobile phones), 랩탑, 스마트폰 혹은 디지털 데이터 프로세싱 및/혹은 비디오 디스플레이할 수 있는 다른 장치와 같은 다양한 전자 기기로 구현될 수 있다.
일부 실시예에서, 본 특허 문서에서 논의되는 비디오 프로세싱 방법은 도 11a 혹은 11b에서 설명되는 바와 같은 하드웨어 플랫폼에서 구현되는 장치를 이용하여 구현될 수 있다.
개시된 기술의 일부 실시예는 비디오 프로세싱 도구 혹은 모드를 활성화하는 결정을 내리거나 판단을 하는 과정을 포함한다. 예를 들어, 비디오 프로세싱 도구 혹은 모드가 활성화되면, 인코더는 비디오 블록의 프로세싱에서 도구 혹은 모드를 사용하거나 구현하나, 도구 혹은 모드의 사용에 기초하여 반드시 결과 비트스트림을 변경하지는 않을 수 있다. 즉, 비디오 블록으로부터 비디오의 비트스트림 표현으로의 변환은 결정 혹은 판단에 기초하여 활성화될 때 비디오 프로세싱 도구 혹은 모드를 사용할 수 있다. 다른 예로서, 비디오 프로세싱 도구 혹은 모드가 활성화되면, 디코더는 비디오 프로세싱 도구 혹은 모드에 기초하여 비트스트림이 변경되었다는 지식으로 비트스트림을 프로세스할 것이다. 즉, 비디오의 비트스트림 표현에서 비디오 블록으로의 변환은 결정 혹은 판단에 기초하여 활성화된 비디오 프로세싱 도구 혹은 모드를 사용하여 수행될 것이다.
개시된 기술의 일부 실시예는 비디오 프로세싱 도구 혹은 모드를 비활성화하는 결정을 내리거나 판단을 하는 과정을 포함한다. 예를 들어, 비디오 프로세싱 도구 혹은 모드가 비활성화되면, 인코더는 비디오 블록의 비디오 비트스트림으로의 변환에서 도구 혹은 모드를 사용할 수 없게 된다. 다른 예로서, 비디오 프로세싱 도구 혹은 모드가 비활성화되면, 디코더는 결정 혹은 판단에 기초하여 비활성화된 비디오 프로세싱 도구 혹은 모드를 이용하여 비트스트림이 변경되지 않았다는 지식으로 비트스트림을 프로세스하게 된다.
본 문서에서, "비디오 프로세싱" 이라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축 혹은 비디오 압축 해제를 지칭할 수 있다. 예를 들어, 비디오 압축 알고리즘은 비디오의 픽셀 표현으로부터 대응 비트스트림 표현으로의 변환 동안 적용될 수 있으며, 반대의 경우에도 적용될 수 있다. 현재 비디오 블록의 비트스트림 표현은, 예를 들어, 신택스에 의해 정의된 바와 같이 비트스트림 내의 동일 위치에 배치되거나 다른 위치에 확산되는 비트에 대응될 수 있다. 예를 들어, 매크로블록은 트랜스폼되고 코딩된 오류(error) 잔차 값들, 헤더의 비트들 및 비트스트림의 다른 필드들을 이용하는 관점에서 인코딩될 수 있다.
개시된 방법들 및 기술들은 본 문서에 개시된 기술들의 사용을 허용함으로써 스마트폰, 랩탑, 데스크탑, 및 유사 장치와 같은 비디오 프로세싱 장치 내에 통합된 비디오 인코더 및/혹은 디코더 실시예에 도움이 됨이 이해될 것이다.
도 12는 예시적인 비디오 프로세싱 방법(2000)의 흐름도이다. 방법(1200)은 1210에서, 현재 비디오 블록에 대해, 이웃 블록 세트에 적어도 하나의 보간 필터를 적용함에 기초하여 단일의 움직임 정보 세트(a single set of motion information)를 결정하는 단계를 포함하되, 적어도 하나의 보간 필터는 단일의 움직임 정보 세트의 정수 픽셀 정확도 혹은 서브 픽셀 정확도로 구성될 수 있다. 또한 방법(1200)은1220에서, 현재 비디오 블록과 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 변환은 비트스트림 표현에서 시그널링되는 단일의 움직임 정보 세트를 개선하기 위한 디코더 움직임 벡터 개선(decoder motion vector refinement, DMVR) 단계를 포함한다.
절(clause)들에 대한 제1 세트는 이전 섹션에서 개시된 기술들의 일부 실시예들을 설명한다.
1. 비디오 프로세싱 방법에 있어서, 현재 비디오 블록에 대해 이웃 블록 세트에 적어도 하나의 보간 필터를 적용함에 기초하여 단일의 움직임 정보 세트를 결정하는 단계, 적어도 하나의 보간 필터는 단일의 움직임 정보 세트의 정수 픽셀 정확도 혹은 서브 픽셀 정확도로 구성 가능하고; 현재 비디오 블록과 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계, 여기서 변환은 비트스트림 표현에서 시그널링되는 단일의 움직임 정보 세트를 개선하기 위한 DMVR(decoder motion vector refinement) 단계를 포함하는, 비디오 프로세싱 방법.
2. 1절의 방법에 있어서, 단일의 움직임 정보 세트(single set of motion information)가 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절의 방법에 있어서, 적어도 하나의 보간 필터와 연관된 정보는 적어도 하나의 보간 필터를 기본(default) 필터로 식별한다.
13. 1 절의 방법에 있어서, 현재 비디오 블록에 대한 적어도 하나의 보간 필터의 계수는 다른 비디오 블록의 보간 필터에 의해 이용되는 것이 방지된다.
14. 1-13 절 중 어느 한 절의 방법에 있어서, 적어도 하나의 보간 필터는 복수의 필터에 대응되되, 복수의 필터 내의 각 필터는 단일의 움직임 정보 세트의 서브 픽셀 정확도와 연관된다.
15. 1-14 절 중 어느 한 절의 방법에 있어서, 단일의 움직임 정보 세트의 각 컴포넌트의 정밀도는 단일의 움직임 정보 세트의 서브 픽셀 정확도 이하이다.
16. 1-15 절 중 어느 한 절의 방법에 있어서, 적어도 하나의 보간 필터는 HMVP(history-based motion vector prediction) 룩업 테이블에 저장된다.
17. 16절의 방법에 있어서,
다른 비디오 블록의 움직임 정보가 단일의 현재 비디오 블록 움직임 세트와 동일한 것으로 검출되면, 다른 비디오 블록의 움직임 정보의 삽입 없이 단일의 움직임 정보 세트를 HMVP 테이블에 삽입하는 단계를 더 포함한다.
18. 16절의 방법에 있어서,
다른 비디오 블록의 움직임 정보가 단일의 현재 비디오 블록 움직임 세트와 동일한 것으로 검출되면, HMVP 테이블에 단일의 현재 비디오 블록 움직임 정보 세트 (the single set of motion information of the current video block)와 다른 비디오 블록의 움직임 정보를 삽입하는 단계를 더 포함한다.
19. 17-18 절 중 어느 한 절의 방법에 있어서, 다른 비디오 블록은 보간 필터와 연관되고, 삽입은 현재 비디오 블록의 적어도 한 보간 필터 및/혹은 다른 비디오 블록의 보간 필터에 적어도 부분적으로 기초한다.
20. 17-19 절 중 어느 한 절의 방법에 있어서, 현재 비디오 블록 및 다른 비디오 블록은 페어와이즈 후보들 혹은 결합된 머지 후보들(combined merge candidates)에 대응된다.
21. 17-20 절 중 어느 한 절의 방법에 있어서, 현재 비디오 블록의 적어도 한 보간 필터와 다른 비디오 블록의 보간 필터는 동일하다.
22. 17-20 절 중 어느 한 절의 방법에 있어서, 현재 비디오 블록의 적어도 한 보간 필터와 다른 비디오 블록의 보간 필터는 상이하다.
23. 1절의 방법에 있어서, 현재 비디오 블록은 IBC(Intra block copy) 모드로 코딩되고, 단일의 움직임 정보의 세트의 표현에서 서브 픽셀 정확도의 사용은 비활성화된다.
24. 1-23 절 중 어느 한 절의 방법에 있어서, 적어도 하나의 보간 필터의 사용이 비활성화된다.
25. 1절의 방법에 있어서, 적어도 하나의 보간 필터가 amvr_precision_idx 플래그 및/혹은 hpel_if_idx 플래그와 연관된다.
26. 25절의 방법에 있어서, amvr_precision_idx 플래그 및/혹은 hpel_if_idx 플래그가 바이패스 코딩된 빈들 혹은 컨텍스트 코딩된 빈들과 연관된다.
27. 26 절의 방법에 있어서, 제1 빈은 바이패스 코딩된 빈 혹은 컨텍스트 코딩된 빈이다.
28. 25-27 절 중 어느 한 절의 방법에 있어서, 모든 빈들은 동일한 컨텍스트를 공유한다.
29. 1 절의 방법에 있어서, 하나 이상의 비디오 프로세싱 단계는 적어도 하나의 보간 필터를 사용하는 것에 기초하여 비활성화된다.
30. 29 절의 방법에 있어서, 하나 이상의 비디오 프로세싱 단계는 DMVR(decoder motion vector refinement) 단계, BDOF(bi-directional optical flow) 단계, CIIP(combined inter-intra prediction) 단계, SMVD(symmetric motion vector difference) 단계, SBT(subblock transform) 단계 혹은 삼각 예측(triangle prediction) 단계를 포함한다.
31. 30절의 방법에 있어서, 적어도 하나의 보간 필터는 기본 필터에 대응된다.
32. 30-31 절 중 어느 한 절의 방법에 있어서, 하나 이상의 비디오 프로세싱 단계를 비활성화하는 단계는 비트스트림 표현에서, 하나 이상의 비디오 프로세싱 단계의 지시를 비활성화하는 단계를 포함한다.
33. 30-31 절 중 어느 한 절의 방법에 있어서 하나 이상의 비디오 프로세싱 단계를 비활성화 하는 단계는 현재 비디오 블록의 적어도 한 보간 필터의 다른 비디오 블록으로의 상속을 비활성화하는 단계를 포함한다.
34. 1 절의 방법에 있어서, 단일의 움직임 정보 세트의 정수 픽셀 정확도는 1 픽셀, 2 픽셀 혹은 4 픽셀에 대응된다.
35. 34절의 방법에 있어서, 적어도 하나의 보간 필터는 저역 통과 필터(low-pass filter)이다.
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)들에 대한 제2 세트는 이전 섹션, 예를 들어, 예시적인 실시예 3-6 및 16-23에서 개시된 기술들의 일부 실시예들을 설명한다.
1. 비디오 프로세싱 방법(예를 들어, 도 14a에 나타난 방법(1410))에 있어서, 비디오의 현재 픽처의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 위해 대안 보간 필터의 적용 가능성을 결정(1412)하는 단계, 대안 보간 필터(alternative interpolation filter)의 적용 가능성은 변환에서 대안 보간 필터가 적용되는지 여부를 지시하고; 결정에 기초하여 변환을 수행(1414)하는 단계;를 포함하며, 대안 보간 필터의 적용 가능성은 변환을 수행하기 위해 현재 픽처의 참조 픽처가 리샘플링되는 참조 픽처 리샘플링이 사용되는지 여부에 기초하여 결정되는, 비디오 프로세싱 방법.
2. 1절의 방법에 있어서, 대안 보간 필터는 참조 픽처 리샘플링의 사용으로 인해 적용되지 않는다.
3. 2절의 방법에 있어서, 참조 픽처는 현재 픽처의 해상도와 상이한 해상도를 갖는다.
4. 1절의 방법에 있어서, 기본 보간 필터는 상기 결정에서 대안 보간 필터를 적용하지 않는 것으로 결정되는 경우 적용된다.
5. 4절의 방법에 있어서, 기본 보간 필터는 필터 계수가
Figure pct00012
인 8-탭 필터에 대응된다.
6. 1절 내지 5절 중 어느 한 절의 방법에 있어서, 대안 보간 필터는 필터 계수가
Figure pct00013
인 6-탭 필터에 대응된다.
7. 1절 내지 6절 중 어느 한 절의 방법에 있어서, 대안 보간 필터는 현재 비디오 블록의 예측에 사용되는 하프 픽셀 보간 필터이다.
8. 1절 내지 7절 중 어느 한 절의 방법에 있어서, 현재 비디오 블록은 대안 보간 필터가 사용되는 경우 하프 픽셀 위치를 가리키는 적어도 하나의 움직임 벡터로 코딩된다.
9. 1절 내지 8절 중 어느 한 절의 방법에 있어서, 현재 비디오 블록은 대안 보간 필터가 사용되는 경우 수평 하프 픽셀 위치 혹은 수직 하프 픽셀 위치 혹은 수평 및 수직 하프 픽셀 위치를 가리키는 적어도 하나의 움직임 벡터로 코딩된다.
10. 비디오 프로세싱 방법(예를 들어, 도 14b의 방법(1420))에 있어서, 비디오의 현재 비디오 블록을 표현하는 데 사용되는 코딩 모드를 움직임 후보와 시작점 간의 거리를 제공하는 움직임 벡터 표현을 포함하는 MMVD(merge mode with motion vector differences)로 결정(1422)하는 단계; 및 결정에 기초하여 현재 비디오 블록과 코딩된 표현을 기반으로 변환을 수행(1424)하는 단계를 포함하되, 변환은 하프 픽셀 보간 필터가 기본 하프 픽셀 보간 필터와 상이한 대안 하프 픽셀 보간 필터라는 제1 조건을 정의하는 제1 규칙과 대안 하프 픽셀 보간 필터가 상속되는지 여부에 대한 제2 조건을 정의하는 제2 규칙에 따라 선택된 하프 픽셀 보간 필터를 이용하여 계산된 현재 비디오 블록에 대한 예측 블록을 이용하여 수행되는, 비디오 프로세싱 방법.
11. 10절의 방법에 있어서, 제2 규칙은 거리가 X 픽셀 정확도 혹은 X 픽셀 정확도보다 거친 정확도를 갖는 경우 대안 하프 픽셀 보간 필터를 상속하도록 지정한다.
12. 11절의 방법에 있어서, X는 1/2이고 거친 정확도는 1, 2 혹은 4이다.
13. 10절의 방법에 있어서, 제2 규칙은 거리가 X 픽셀 정확도 혹은 X 픽셀 정확도보다 세밀한 정확도를 갖는 경우 대안 하프 픽셀 보간 필터를 상속하지 않도록 지정한다.
14. 13절의 방법에 있어서, X는 1/4이고 더 세밀한 정확도는 1/16이다.
15. 비디오 프로세싱 방법(예를 들어, 도 14c에 나타난 방법(1430))에 있어서, 비디오의 현재 비디오 영역에서 사용되는 코딩 모드를 결정(1432)하는 단계; 코딩 모드에 기초하여 움직임 벡터의 표현에 사용되는 정밀도 혹은 현재 비디오 영역에 대한 움직임 벡터 차이 값에 대한 결정(1434)을 내리는 단계; 및 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 수행(1436)하는 단계를 포함하는, 비디오 프로세싱 방법.
16. 15절의 방법에 있어서, 결정을 내리는 단계는 정밀도를 상속하는지 여부를 결정하는 것을 포함한다.
17. 15절의 방법에 있어서, 정밀도가 상속되지 않는 경우 방법은 정밀도를 저장하는 단계를 더 포함한다.
18. 15절의 방법에 있어서, 정밀도가 상속된다는 결정으로 인해 변환에는 직접적인 정밀도 시그널링 없이 현재 비디오 영역을 코딩된 표현으로 코딩하는 것이 포함된다.
19. 15절의 방법에 있어서, 정밀도가 상속되지 않는다는 결정으로 인해 변환에는 정밀도 시그널링에 의해 현재 비디오 영역을 코딩된 표현으로 코딩하는 것이 포함된다.
20. 15절의 방법에 있어서, 비디오 영역은 비디오 블록, 코딩 유닛, 혹은 예측 유닛에 대응된다.
21. 15절의 방법에 있어서, 비디오 영역은 코딩 유닛에 대응된다.
22. 15절의 방법에 있어서, 비디오 영역은 예측 유닛에 대응된다.
23. 15 절의 방법에 있어서, 코딩 모드는 AMVP(advanced motion vector prediction) 모드, 어파인 인터 모드, 머지 모드 및/혹은 움직임 후보들이 시간적 및 공간적 이웃 블록들로부터 유도되는 어파인 머지 모드에 대응된다.
24. 15절의 방법에 있어서, 이웃 블록으로부터 유도되는 후보의 경우, 움직임 벡터의 표현에 사용되는 정밀도 혹은 이웃 블록에 사용되는 움직임 벡터 차이 값이 상속된다.
25. 15절의 방법에 있어서, 동일한 정밀도를 갖는 두 개의 공간적 머지 후보들에 연관되는 페어와이즈 머지 후보에 대해, 동일한 정밀도가 페어와이즈 머지 후보에 할당되고, 그 외의 경우, 고정된 움직임 정밀도 정보가 페어와이즈 머지 후보에 할당된다.
26. 15절의 방법에 있어서, 시간적 머지 후보에 대해 고정된 정밀도가 할당된다.
27. 15절의 방법에 있어서, 현재 비디오 영역의 코딩 혹은 디코딩된 표현의 생성 전에 적어도 하나의 HMVP(history-based motion vector prediction) 테이블을 유지하는 단계, HMVP 테이블은 하나 이상의 이전에 프로세싱된 블록의 움직임 정보에 대응되는 하나 이상의 엔트리를 포함하고, 정밀도는 HMVP 테이블에 저장되고 HMVP 머지 후보에 의해 상속된다.
28. 15절의 방법에 있어서, 움직임 정보가 움직임 벡터 차이로 업데이트 되는 MMVD(merge mode with motion vector differences)로 코딩된 현재 비디오 영역에 대해 베이스 머지 후보의 정밀도가 상속된다.
29. 15절 혹은 16절의 방법에 있어서, 상속되는 것으로 결정된 정밀도는 후속 비디오 영역의 정밀도를 예측하는데 사용된다.
30. 15절의 방법에 있어서, 머지 모드로 코딩되는 비디오 블록의 움직임 벡터는 현재 비디오 영역의 정밀도로 라운딩된다.
31. 비디오 프로세싱 방법(예를 들어, 도 14d에 나타난 방법(1440))에 있어서, 비디오의 현재 비디오 블록의 코딩 모드를 MMVD(merge mode with motion vector differences)로 결정(1442)하는 단계; 현재 비디오 블록과 연관된 베이스 머지 후보의 움직임 정밀도 정보에 기초하여 현재 비디오 블록에 대해 거리 인덱스와 기 정의된 오프셋 간의 관계를 지정하는 거리 테이블을 결정(1444)하는 단계; 및 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 거리 테이블을 이용하여 수행(1446)하는 단계를 포함하는, 비디오 프로세싱 방법.
32. 31절의 방법에 있어서, 베이스 머지 후보가 1/N 픽셀 정밀도를 갖는 경우 1/N 픽셀 정밀도 혹은 1/N 픽셀보다 거친 정밀도를 갖는 거리가 사용되며, N은 양의 정수이다.
33. 31절의 방법에 있어서, N은 2이고 거리는 1/2 픽셀, 1 픽셀 혹은 2 픽셀이다.
34. 31절의 방법에 있어서, 분수 거리를 포함하는 거리 테이블은 베이스 머지 후보의 움직임 정밀도 정보에 기초하여 변경된다.
35. 34절의 방법에 있어서, 분수 거리에 대해 MMVD 모드가 허용되는지 여부를 지시하기 위해 플래그가 시그널링된다.
36. 34절의 방법에 있어서, 베이스 머지 후보가 1/N 픽셀 정밀도이고 거리 테이블의 가장 세밀한 움직임 벡터 차이 정밀도가 1/M 정확도이고, M 및 N이 양의 정수인 경우 거리 테이블의 거리에 M/N이 곱해진다.
37. 비디오 프로세싱 방법(예를 들어, 도 14e에 나타난 방법(1450))에 있어서, 제1 비디오 영역에 대해 DMVR(decoder side motion vector refinement) 계산에 사용되는 움직임 벡터 차이가 X 픽셀 해상도보다 세밀한 해상도를 가졌고 대안 하프 픽셀 보간 필터를 이용하도록 결정되었다는 제1 결정(1452)을 내리는 단계, X는 정수 분수이고; 제1 결정으로 인해 제1 비디오 영역과 연관된 대안 하프 픽셀 보간 필터의 정보가 저장되지 않거나 후속적으로 프로세싱되는 제2 비디오 영역에서 사용가능하지 않게 된다는 제2 결정(1454)을 내리는 단계; 및 제1 비디오 영역 및 제2 비디오 영역을 포함하는 비디오와 비디오의 코딩된 표현 간의 변환을 제1 결정 및 제2 결정에 기초하여 수행(1456)하는 단계를 포함하는, 비디오 프로세싱 방법.
38. 37절의 방법에 있어서, 비디오 영역은 비디오 블록, 코딩 유닛, 혹은 예측 유닛에 대응된다.
39. 37절의 방법에 있어서, 제2 결정은 DMVR이 서브 블록 레벨에서 수행되는 경우 비디오의 각 서브 블록에 대하여 만들어진다.
40. 37절의 방법에 있어서, 움직임 벡터 차이는 비디오의 서브 블록들 혹은 블록들 중 적어도 N 개에 대한 X 픽셀 해상도보다 세밀한 해상도를 갖는다.
41. 비디오 프로세싱 방법에 있어서 (예를 들어, 도 14f에 나타난 방법(1460)) 규칙에 따라 대안 하프 픽셀 보간 필터는 비디오의 현재 비디오 블록에 대해 사용 가능한지 여부를 결정(1462)하는 단계; 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 결정에 기초하여 수행(1464)하는 단계를 포함하되, 규칙은 현재 비디오 블록이 머지 블록 혹은 스킵 코딩된 블록으로서 코딩된 표현으로 코딩되는 경우, 결정이 대안 하프 픽셀 보간 필터가 현재 비디오 블록에 앞서 인코딩 되거나 디코딩되는 이전 블록을 프로세싱하는데 사용되는지 여부에 독립적이도록 지정하는, 비디오 프로세싱 방법.
42. 41절의 방법에 있어서, 대안 하프 픽셀 보간 필터가 변환에 사용되는지 여부를 식별하는 파라미터는 비디오의 어떤 블록에도 저장되지 않는다.
43. 41절의 방법에 있어서, 대안 하프 픽셀 보간 필터를 상속할지 혹은 폐기할지 여부는 코딩 정보 및/혹은 현재 비디오 블록에서 활성화되거나 비활성화된 코딩 도구들에 따른다.
44. 비디오 프로세싱 방법에 있어서, (예를 들어, 도 14f에 나타난 방법(1460)) 규칙에 따라 대안 하프 픽셀 보간 필터는 비디오의 현재 비디오 블록에 대해 사용가능한지 여부를 결정(1462)하는 단계; 및 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 결정에 기초하여 수행(1464)하는 단계를 포함하되, 규칙은 현재 비디오 블록의 코딩 정보에 기초하여 기본 보간 필터와 상이한 대안 하프 픽셀 보간 필터의 적용 가능성을 지정하는, 비디오 프로세싱 방법.
45. 44절의 방법에 있어서, 현재 비디오 블록은 머지 블록 혹은 스킵 코딩된 블록으로서 코딩된 표현으로 코딩된다.
46. 44절의 방법에 있어서, 코딩된 표현이 K와 동일한 머지 인덱스를 포함하는 경우, 대안 하프 픽셀 보간 필터는 머지 혹은 스킵 모드로 코딩된 현재 비디오 블록에 적용되고, K는 양의 정수이다.
47. 44절의 방법에 있어서, 코딩된 표현은 머지 인덱스 Idx를 포함하되, Idx%S는 K와 동일한 경우, 대안 하프 픽셀 보간 필터는 머지 혹은 스킵 모드로 코딩된 현재 비디오 블록에 적용되고, S 및 K는 양의 정수이다.
48. 44절의 방법에 있어서, 대안 하프 픽셀 보간 필터는 특정 머지 후보에 적용된다.
49. 48절의 방법에 있어서, 특정 머지 후보는 페어와이즈 머지 후보에 대응된다.
50. 비디오 프로세싱 방법(예를 들어, 도14g에 나타난 방법(1470))에 있어서, 비디오의 현재 비디오 블록에 대해 규칙에 따라 대안 하프 픽셀 보간 필터의 계수들을 결정(1472)하는 단계 및 결정에 기초하여 현재 비디오 블록 및 비디오의 코딩된 표현 간의 변환을 수행(1474)하는 단계를 포함하되, 규칙은 대안 하프 픽셀 보간 필터 및 특정 코딩 모드에서 사용되는 하프 픽셀 보간 필터 간의 관계를 지정하는, 비디오 프로세싱 방법.
51. 50절의 방법에 있어서, 규칙은 대안 하프 픽셀 보간 필터는 어파인 인터 예측에서 사용되는 하프 픽셀 보간 필터와 맞추어 조정되도록 지정한다.
52. 51절의 방법에 있어서, 대안 보간 필터는 [3, -11, 40, 40, -11, 3]인 계수 세트를 갖는다.
53. 51절의 방법에 있어서, 대안 보간 필터는 [3, 9, 20, 20, 9, 3]인 계수 세트를 갖는다.
54. 50절의 방법에 있어서, 규칙은 대안 하프 픽셀 보간 필터는 크로마 인터 예측에서 사용되는 하프 픽셀 보간 필터와 동일하다.
55. 54절의 방법에 있어서, 대안 보간 필터는 [-4, 36, 36, -4]인 계수 세트를 갖는다.
56. 비디오 프로세싱 방법(예를 들어, 도 14h에 도시된 방법(1480))에 있어서, 비디오의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 위해 대안 하프 픽셀 보간 필터를 규칙에 따라 적용(1482)하는 단계; 및 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 수행(1484)하는 단계를 포함하되, 규칙은 대안 보간 필터가 X 픽셀의 위치에 적용되도록 지정하며, X는 1/2가 아닌, 비디오 프로세싱 방법.
57. 56절의 방법에 있어서, 대안 보간 필터의 사용은 명시적으로 혹은 암시적으로 지시된다.
58. 57절의 방법에 있어서, 대안 보간 필터는 X 픽셀의 위치에 할당되는 기본 보간 필터의 계수들과 상이한 적어도 하나의 계수를 갖는다.
59. 56절의 방법에 있어서, 대안 하프 픽셀 보간 필터를 적용하는 단계는 DMVR(decoder-side motion vector refinement) 혹은 MMVD(merge mode with motion vector differences), 혹은 SMVD(symmetric motion vector differences), 혹은 다른 디코더 측 움직임 유도 프로세스 이후 수행된다.
60. 56절에 있어서, 대안 하프 픽셀 보간 필터를 적용하는 단계는 RPR(reference picture resampling)이 사용되고 참조 픽처가 현재 비디오 블록을 포함하는 현재 픽처의 해상도와 상이한 해상도를 갖는 경우 수행된다.
61. 56절 내지 60절 중 어느 한 절의 방법에 있어서, 대안 하프 픽셀 보간 필터는 현재 비디오 블록이 양 예측을 사용하는 경우 오직 한 예측 방향에만 적용된다.
62. 비디오 프로세싱 방법(예를 들어, 도 14i에 나타난 방법(1490))에 있어서, X 픽셀 정확도의 제1 움직임 벡터 성분에 대한 비디오의 제1 비디오 블록에 의해 대안 보간 필터가 선택되도록 제1 결정(1492)을 내리는 단계; 제1 결정으로 인해 다른 대안 보간 필터가 X 픽셀 정확도와 다른 정확도의 제2 움직임 벡터 성분에 대해 사용되도록 제2 결정(1494)을 내리는 단계, X는 정수 분수이고; 제1 비디오 블록 및 제2 비디오 블록을 포함하는 비디오와 비디오의 코딩된 표현 간의 변환을 수행(1496)하는 단계를 포함하는, 비디오 프로세싱 방법.
63. 62절의 방법에 있어서, 대안 보간 필터와 다른 대안 보간 필터는 가우시안 보간 필터들에 대응된다.
64. 62절의 방법에 있어서, 대안 보간 필터와 다른 대안 보간 필터는 플랫탑(Flattop) 보간 필터들에 대응된다.
65. 62절의 방법에 있어서, 제2 움직임 벡터 성분은 X 픽셀 정확도보다 세밀한 정확도를 갖는다.
66. 62절의 방법에 있어서, 제2 움직임 벡터 성분은 X 픽셀 정확도보다 거친(coarser) 정확도를 갖는다.
67. 1절 내지 66절 중 어느 한 절의 방법에 있어서, 변환을 수행하는 단계는 현재 비디오 블록으로부터 코딩된 표현을 생성하는 단계를 포함한다.
68. 1절 내지 66절 중 어느 한 절의 방법에 있어서, 변환을 수행하는 단계는 코딩된 표현으로부터 현재 비디오 블록을 생성하는 단계를 포함한다.
69. 명령어가 저장된 비 일시적 메모리와 프로세서를 포함하는 비디오 시스템의 장치에 있어서, 명령어는 프로세서에 의해 실행되고, 프로세서가 1절 내지 68절 중 어느 한 절의 방법을 구현하게 하는, 장치.
70. 비 일시적 컴퓨터 판독 가능한 매체에 저장된 컴퓨터 프로그램 제품에 있어서, 1절 내지 68절 중 한 절의 방법을 실행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램 제품.
본 명세서에서 설명되는, 개시된 솔루션, 예, 실시형태, 모듈 및 기능적 동작 및 그 이외의 솔루션, 예, 실시형태, 모듈 및 기능적 동작은, 디지털 전자 회로로, 또는 본 명세서에서 개시되는 구조체 및 그들의 구조적 균등물을 포함하는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로, 또는 이들 중 하나의 이상의 조합으로 구현될 수 있다. 개시된 실시형태 및 그 외의 실시형태들은, 하나 이상의 컴퓨터 프로그램 제품으로서, 예를 들어 데이터 처리 장치에 의해 실행되거나 그 동작을 제어하기 위한, 컴퓨터-판독가능 매체 상에 인코딩된 컴퓨터 프로그램 명령의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터-판독가능 매체는 머신-판독가능 저장 디바이스, 머신-판독가능 저장 기재, 메모리 디바이스, 머신-판독가능 전파된 신호에 영향을 주는 물질의 조합, 또는 이들 중 하나 이상의 조합일 수 있다. 용어 "데이터 프로세싱 장치"는, 예를 들어 프로그래밍가능한 프로세서, 컴퓨터, 또는 다수의 프로세서 또는 컴퓨터를 포함하는, 데이터를 처리하기 위한 모든 장치, 디바이스, 및 머신을 망라한다. 이러한 장치는 하드웨어에 추가하여, 관심 대상인 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 전파된 신호는 인위적으로 생성된 신호, 예를 들어, 적절한 수신기 장치로 송신되기 위한 정보를 인코딩하기 위하여 생성되는, 머신에 의해 생성된 전기적, 광학적, 또는 전자기적 신호이다.
컴퓨터 프로그램 (프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 혹은 코드라고도 함)은 컴파일된 언어 또는 해석된 언어를 포함하여 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램 또는 컴퓨터 환경에서 사용되기에 적합한 모듈, 컴포넌트, 서브루틴 또는 다른 유닛으로서 임의의 형태로 배치(deploy)될 수 있다. 컴퓨터 시스템은 파일 시스템 내의 파일에 반드시 대응되는 것은 아니다. 프로그램은 다른 프로그램 또는 데이터를 보유하는 파일의 일부(예를 들어 마크업 언어 문서에 저장된 하나 이상의 스크립트) 또는 문제의 프로그램의 전용인 단일 파일 또는 다중 편성(coordinated) 파일(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은, 하나의 컴퓨터 또는 한 사이트에 위치하거나 다수의 사이트에 걸쳐 분배되고 통신 네트워크에 의해 상호 접속되는 다수의 컴퓨터 상에서 실행되도록 배치될 수 있다.
본 문서에 설명된 프로세스 및 로직 흐름은 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍가능한 프로세서에 의해 수행될 수 있다. 프로세스 및 로직 흐름은 또한 FPGA (필드 프로그래밍 가능 게이트 어레이, field programmable gate array) 또는 ASIC (애플리케이션 특정 집적 회로, application specific integrated circuit)와 같은 특수 목적 로직 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적의 마이크로 프로세서와 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 읽기 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다에서 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하기위한 프로세서와 명령과 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치와, 예를 들어 자기, 광 자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하거나 둘 모두를 수행하도록 동작 가능하게 결합되거나 포함한다. 그러나 컴퓨터가 이러한 장치를 가질 필요는 없다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 비일시적 컴퓨터 판독 가능 매체는 예를 들어 EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 장치; 내부 하드 디스크 또는 제거가능 디스크 등의 자기 디스크; 광자기 디스크 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함한다. 프로세서와 메모리는 특수 목적 로직 회로에 의해 보완되거나 통합될 수 있다.
이 특허 문서에는 많은 세부 사항이 포함되어 있지만, 이는 임의의 발명의 범위 또는 청구 대상에 대한 제한으로 해석되어서는 안되며, 특정 발명의 특정 실시예에 특정될 수 있는 특징에 대한 설명으로 해석되어야 한다. 개별 실시예의 맥락에서 본 특허 문서에 설명된 특정 특징은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시 예의 맥락에서 설명된 다양한 특징은 또한 다중 실시 예에서 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 더욱이, 특징이 특정 조합으로 작용하는 것으로 위에서 설명될 수 있고 심지어 처음에 그렇게 청구될 수도 있지만, 청구된 조합으로부터 하나 이상의 특징이 어떤 경우에는 조합으로부터 삭제될 수 있고, 청구된 조합은 하위 조합 또는 변형일 수 있다.
유사하게, 동작이 특정 순서로 도면에 도시되어 있지만, 이는 바람직한 결과를 달성하기 위해 그러한 동작이 도시된 특정 순서 또는 순차적인 순서로 수행되거나 모든 예시된 동작이 수행될 것을 요구하는 것으로 이해되어서는 안 된다. 더욱이, 이 특허 문서에 설명된 실시예들에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 그러한 분리를 요구하는 것으로 이해되어서는 안 된다.
단지 몇 가지 구현 예 및 예가 설명되고, 다른 구현 예, 향상 및 변형이 본 특허 문서에 설명되고 예시된 것에 기초하여 이루어질 수 있다.

Claims (70)

  1. 비디오 프로세싱 방법에 있어서,
    비디오의 현재 픽처의 현재 비디오 블록과 상기 비디오의 코딩된 표현 간의 변환을 위해 대안 보간 필터의 적용 가능성을 결정하는 단계, 상기 대안 보간 필터의 상기 적용 가능성은 상기 변환에서 상기 대안 보간 필터를 적용할지 여부를 지시하고;
    상기 결정에 기초하여 상기 변환을 수행하는 단계; 를 포함하되,
    상기 대안 보간 필터의 상기 적용 가능성은 상기 현재 픽처의 참조 픽처가 상기 변환을 수행하기 위해 리샘플링되는 참조 픽처 리샘플링을 사용하는지 여부에 기초하여 결정되는, 비디오 프로세싱 방법.
  2. 제1 항에 있어서, 상기 대안 보간 필터는 상기 참조 픽처 리샘플링의 사용으로 인해 적용되지 않는, 비디오 프로세싱 방법.
  3. 제2 항에 있어서, 상기 참조 픽처는 상기 현재 픽처의 해상도와 상이한 해상도를 갖는, 비디오 프로세싱 방법.
  4. 제1 항에 있어서, 기본(default) 보간 필터는 상기 결정이 상기 대안 보간 필터를 적용하지 않도록 결정한 경우 적용되는, 비디오 프로세싱 방법.
  5. 제4 항에 있어서, 상기 기본 보간 필터는 필터 계수가
    Figure pct00014
    인 8-탭 필터에 대응되는, 비디오 프로세싱 방법.
  6. 제1 항 내지 제5 항 중 어느 한 항에 있어서, 상기 대안 보간 필터는 필터 계수가
    Figure pct00015
    인 6-탭 필터에 대응되는, 비디오 프로세싱 방법.
  7. 제1 항 내지 제6 항 중 어느 한 항에 있어서, 상기 대안 보간 필터는 상기 현재 비디오 블록의 예측에 사용되는 하프 픽셀 보간 필터인, 비디오 프로세싱 방법.
  8. 제1 항 내지 제7 항 중 어느 한 항에 있어서, 상기 현재 비디오 블록은 상기 대안 보간 필터가 사용되는 경우 하프 픽셀 위치를 가리키는 적어도 하나의 움직임 벡터로 코딩되는, 비디오 프로세싱 방법.
  9. 제1 항 내지 제8 항 중 어느 한 항에 있어서, 상기 현재 비디오 블록은 상기 대안 보간 필터가 사용되는 경우 수평 하프 픽셀 위치 혹은 수직 하프 픽셀 위치 혹은 수평 및 수직 하프 픽셀 위치를 가리키는 적어도 하나의 움직임 벡터로 코딩되는, 비디오 프로세싱 방법.
  10. 비디오 프로세싱 방법에 있어서,
    비디오의 현재 비디오 블록을 나타내는 데 사용되는 코딩 모드를 움직임 후보와 시작점 사이의 거리에 대한 정보를 제공하는 움직임 벡터 표현을 포함하는 MMVD(merge mode with motion vector differences)로 결정하는 단계; 및
    상기 결정에 기초하여 상기 현재 비디오 블록과 코딩된 표현 간의 변환을 수행하는 단계;를 포함하되,
    상기 변환은
    하프 픽셀 보간 필터는 기본 하프 픽셀 보간 필터와 상이한 대안 하프 픽셀 보간 필터 라는 제1 조건을 정의하는 제1 규칙 및
    상기 대안 하프 픽셀 보간 필터가 상속되는지 여부에 대한 제2 조건을 정의하는 제2 규칙에 따라 선택된 상기 하프 픽셀 보간 필터를 이용하여 계산된 상기 현재 비디오 블록에 대한 예측 블록을 이용하여 수행되는, 비디오 프로세싱 방법.
  11. 제10 항에 있어서, 상기 제2 규칙은 상기 거리가 X 픽셀 정확도 혹은 X 픽셀 정확도보다 거친 정확도를 갖는 경우 상기 대안 하프 픽셀 보간 필터를 상속하도록 지정하는, 비디오 프로세싱 방법.
  12. 제11 항에 있어서, X는 1/2이고 상기 거친 정확도는 1, 2, 혹은 4인, 비디오 프로세싱 방법.
  13. 제10 항에 있어서, 상기 제2 규칙은 상기 거리가 X 픽셀 정확도 혹은 상기 X 픽셀 정확도보다 세밀한 정확도를 갖는 경우 상기 대안 하프 픽셀 보간 필터를 상속하지 않도록 지정하는, 비디오 프로세싱 방법.
  14. 제13 항에 있어서, X는 1/4이고 상기 세밀한 정확도는 1/16인, 비디오 프로세싱 방법.
  15. 비디오 프로세싱 방법에 있어서,
    비디오의 현재 비디오 영역에서 사용되는 코딩 모드를 결정하는 단계;
    상기 코딩 모드에 기초하여 현재 비디오 블록에 대한 움직임 벡터 혹은 움직임 벡터 차이값을 표현하는데 사용되는 정밀도에 대한 결정을 내리는 단계; 및
    상기 현재 비디오 블록 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계;를 포함하는, 비디오 프로세싱 방법.
  16. 제15 항에 있어서, 상기 결정을 내리는 단계는 상기 정밀도를 상속할지 여부를 결정하는 단계를 포함하는, 비디오 프로세싱 방법.
  17. 제15 항에 있어서, 상기 정밀도가 상속되지 않는 경우, 상기 방법은 상기 정밀도를 저장하는 단계를 더 포함하는, 비디오 프로세싱 방법.
  18. 제15 항에 있어서, 상기 정밀도가 상속된다는 결정으로 인해, 상기 변환은 상기 정밀도의 직접적인 시그널링 없이 상기 현재 비디오 영역을 상기 코딩된 표현으로 코딩하는 것을 포함하는, 비디오 프로세싱 방법.
  19. 제15 항에 있어서, 상기 정밀도가 상속되지 않는다는 결정으로 인해, 상기 변환은 상기 정밀도를 시그널링함으로써 상기 현재 비디오 영역을 상기 코딩된 표현으로 코딩하는 것을 포함하는, 비디오 프로세싱 방법.
  20. 제15 항에 있어서, 상기 비디오 영역은 비디오 블록, 코딩 유닛, 혹은 예측 유닛에 대응되는, 비디오 프로세싱 방법.
  21. 제15 항에 있어서, 상기 비디오 영역은 코딩 유닛에 대응되는, 비디오 프로세싱 방법.
  22. 제15 항에 있어서, 상기 비디오 영역은 예측 유닛에 대응되는, 비디오 프로세싱 방법.
  23. 제15 항에 있어서, 상기 코딩 모드는 AMVP(advanced motion vector prediction) 모드, 어파인 인터 모드, 머지 모드 및/혹은 공간적 및 시간적 이웃 블록들로부터 움직임 후보들을 유도하는 어파인 머지 모드에 대응되는, 비디오 프로세싱 방법.
  24. 제15 항에 있어서, 이웃 블록으로부터 유도된 후보의 경우, 상기 이웃 블록에 대해 사용되는 움직임 벡터 혹은 움직임 벡터 차이 값을 표현하는데 사용되는 정밀도가 상속되는, 비디오 프로세싱 방법.
  25. 제15 항에 있어서, 동일한 정밀도를 갖는 두 개의 공간적 머지 후보들과 연관된 페어와이즈 머지 후보의 경우 상기 동일한 정밀도가 상기 페어와이즈 머지 후보에 할당되고, 그 외의 경우에는 고정된 움직임 정밀도 정보가 상기 페어와이즈 머지 후보에 할당되는, 비디오 프로세싱 방법.
  26. 제15 항에 있어서, 시간적 머지 후보의 경우, 고정된 정밀도가 할당되는, 비디오 프로세싱 방법.
  27. 제15 항에 있어서, 상기 현재 비디오 영역의 코딩 혹은 상기 코딩된 표현의 생성에 앞서 적어도 하나의 HMVP(history-based motion vector prediction) 테이블을 유지하는 단계, 상기 HMVP 테이블은 하나 이상의 이전에 프로세싱된 블록의 움직임 정보에 대응되는 하나 이상의 엔트리를 포함하고;
    상기 정밀도는 상기 HMVP 테이블에 저장되고 HMVP 머지 후보에 의해 상속되는, 비디오 프로세싱 방법.
  28. 제15 항에 있어서, 움직임 정보가 움직임 벡터 차이로 업데이트되는 MMVD(merge mode with motion vector differences)로 코딩된 상기 현재 비디오 영역의 경우 베이스 머지 후보의 정밀도가 상속되는, 비디오 프로세싱 방법.
  29. 제15 항 혹은 제16 항 중 어느 한 항에 있어서, 상속되는 것으로 결정된 상기 정밀도는 후속 비디오 영역의 정밀도를 예측하는 데 사용되는, 비디오 프로세싱 방법.
  30. 제15 항에 있어서, 머지 모드로 코딩된 비디오 블록의 움직임 벡터는 상기 현재 비디오 영역의 상기 정밀도로 라운딩되는, 비디오 프로세싱 방법.
  31. 비디오 프로세싱 방법에 있어서, 비디오의 현재 비디오 블록의 코딩 모드를 MMVD(merge mode with motion vector differences)로 결정하는 단계;
    상기 현재 비디오 블록에 연관되는 베이스 머지 후보의 움직임 정밀도 정보에 기초하여 상기 현재 비디오 블록에 대해 거리 인덱스 및 기 정의된 오프셋 간의 관계를 지정하는 거리 테이블을 결정하는 단계; 및
    상기 거리 테이블을 이용하여 상기 현재 비디오 블록과 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계;를 포함하는, 비디오 프로세싱 방법.
  32. 제31 항에 있어서, 상기 베이스 머지 후보가 1/N 픽셀 정밀도를 갖고, N은 양의 정수인 경우 1/N 픽셀 정밀도 혹은 1/N 픽셀 보다 거친 정밀도인 거리가 사용되는, 비디오 프로세싱 방법.
  33. 제31 항에 있어서, N은 2이고 상기 거리는 1/2 픽셀, 1 픽셀 혹은 2 픽셀인, 비디오 프로세싱 방법.
  34. 제31 항에 있어서, 분수 거리를 포함하는 거리 테이블은 상기 베이스 머지 후보의 상기 움직임 정밀도 정보에 기초하여 변경되는, 비디오 프로세싱 방법.
  35. 제34 항에 있어서, 플래그는 상기 분수 거리가 상기 MMVD 모드에 대해 허용되는지 여부를 지시하기 위해 시그널링되는, 비디오 프로세싱 방법.
  36. 제34 항에 있어서, 상기 베이스 머지 후보는 1/N 픽셀 정밀도를 갖고 상기 거리 테이블의 가장 세밀한 움직임 벡터 차이 정밀도는 1/M 픽셀 정확도이며, N 및 M은 양의 정수인 경우, 상기 거리 테이블의 거리에 M/N이 곱해지는, 비디오 프로세싱 방법.
  37. 비디오 프로세싱 방법에 있어서,
    제1 비디오 영역에 대한 DMVR(decoder side motion vector refinement) 계산에 사용되는 움직임 벡터 차이가 X 픽셀 해상도보다 세밀한 해상도를 가졌고 대안 하프 픽셀 보간 필터를 이용하여 결정되었다는 제1 결정을 내리는 단계, X는 정수 분수이고;
    상기 제1 결정으로 인해 상기 제1 비디오 영역에 연관된 상기 대안 하프 픽셀 보간 필터의 정보는 저장되지 않거나 후속으로 프로세싱되는 제2 비디오 영역에 대해 사용 가능하지 않게 된다는 제2 결정을 내리는 단계; 및
    상기 제1 결정 및 상기 제2 결정에 기초하여 상기 제1 비디오 영역 및 상기 제2 비디오 영역을 포함하는 비디오와 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계;를 포함하는, 비디오 프로세싱 방법.
  38. 제37 항에 있어서, 상기 비디오 영역은 비디오 블록, 코딩 유닛, 혹은 예측 유닛에 대응되는, 비디오 프로세싱 방법.
  39. 제37 항에 있어서, 상기 제2 결정은 DMVR이 서브블록 레벨에서 수행되는 경우 상기 비디오의 각 서브 블록 별로 만들어지는, 비디오 프로세싱 방법.
  40. 제37 항에 있어서, 상기 움직임 벡터 차이는 상기 비디오의 서브 블록들 혹은 블록들 중 최소 N 개에 대해 X 픽셀 해상도보다 세밀한 해상도를 갖는, 비디오 프로세싱 방법.
  41. 비디오 프로세싱 방법에 있어서,
    규칙에 따라 비디오의 현재 비디오 블록에 대해 대안 하프 픽셀 보간 필터를 사용할 수 있는지 여부를 결정하는 단계;
    상기 결정에 기초하여 상기 현재 비디오 블록과 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계;를 포함하되,
    상기 규칙은 상기 현재 비디오 블록이 머지 블록 혹은 스킵 코딩된 블록으로서 상기 코딩된 표현으로 코딩되는 경우, 상기 현재 비디오 블록에 앞서 인코딩되거나 디코딩되는 이전 블록의 프로세싱에 상기 대안 하프 픽셀 보간 필터가 사용되는지 여부에 대해 상기 결정이 독립적이도록 지정하는, 비디오 프로세싱 방법.
  42. 제41 항에 있어서, 상기 대안 하프 픽셀 보간 필터가 상기 변환에 대해 사용되는지 여부를 식별하는 파라미터는 상기 비디오의 어떤 블록에 대해서도 저장되지 않는, 비디오 프로세싱 방법.
  43. 제41 항에 있어서, 상기 대안 하프 픽셀 보간 필터를 상속할지 혹은 폐기할지 여부는 코딩 정보 및/혹은 상기 현재 비디오 블록에서 활성화된 혹은 비활성화된 코딩 도구들에 기초하는, 비디오 프로세싱 방법.
  44. 비디오 프로세싱 방법에 있어서,
    규칙에 따라 대안 하프 픽셀 보간 필터가 비디오의 현재 비디오 블록에 대해 사용 가능한지 여부를 결정하는 단계; 및
    상기 현재 비디오 블록과 상기 비디오의 코딩된 표현 간의 변환을 상기 결정에 기초하여 수행하는 단계; 를 포함하되,
    상기 규칙은 상기 현재 비디오 블록의 코딩 정보에 기초하여 기본 보간 필터와 상이한 대안 하프 픽셀 보간 필터의 적용 가능성을 지정하는, 비디오 프로세싱 방법.
  45. 제44 항에 있어서, 상기 현재 비디오 블록은 머지 블록 혹은 스킵 코딩된 블록으로서 상기 코딩된 표현으로 코딩되는, 비디오 프로세싱 방법.
  46. 제44 항에 있어서, 상기 코딩된 표현이 K와 동일한 머지 인덱스를 포함하는 경우, 상기 대안 하프 픽셀 보간 필터는 머지 혹은 스킵 모드로 코딩된 상기 현재 비디오 블록에 적용되고, K는 양의 정수인, 비디오 프로세싱 방법.
  47. 제44 항에 있어서, 상기 코딩된 표현이 Idx%S가 K와 동일함을 만족하는 머지 인덱스 Idx 를 포함하는 경우, 상기 대안 하프 픽셀 보간 필터는 머지 혹은 스킵 모드로 코딩된 상기 현재 비디오 블록에 적용되고, S 및 K는 양의 정수인, 비디오 프로세싱 방법.
  48. 제44 항에 있어서, 상기 대안 하프 픽셀 보간 필터는 특정 머지 후보에 적용되는, 비디오 프로세싱 방법.
  49. 제48 항에 있어서, 상기 특정 머지 후보는 페어와이즈 머지 후보에 대응되는, 비디오 프로세싱 방법.
  50. 비디오 프로세싱 방법에 있어서,
    비디오의 현재 비디오 블록에 대해 규칙에 따라 대안 하프 픽셀 보간 필터의 계수들을 결정하는 단계; 및
    상기 현재 비디오 블록과 상기 비디오의 코딩된 표현 간의 변환을 상기 결정에 기초하여 수행하는 단계;를 포함하되,
    상기 규칙은 상기 대안 하프 픽셀 보간 필터와 특정 코딩 모드에서 사용되는 하프 픽셀 보간 필터 간의 관계를 지정하는, 비디오 프로세싱 방법.
  51. 제50 항에 있어서, 상기 규칙은 상기 대안 하프 픽셀 보간 필터를 어파인 인터 예측에서 사용되는 하프 픽셀 보간 필터와 맞추어 조정되도록 지정하는, 비디오 프로세싱 방법.
  52. 제51 항에 있어서, 상기 대안 보간 필터는 [3, -11, 40, 40, -11, 3]인 계수 세트를 갖는, 비디오 프로세싱 방법.
  53. 제51 항에 있어서, 상기 대안 보간 필터는 [3, 9, 20, 20, 9, 3]인 계수 세트를 갖는, 비디오 프로세싱 방법.
  54. 제50 항에 있어서, 상기 규칙은 상기 대안 하프 픽셀 보간 필터가 크로마 인터 예측에서 사용되는 하프 픽셀 보간 필터와 동일하도록 지정하는, 비디오 프로세싱 방법.
  55. 제54 항에 있어서, 상기 대안 보간 필터는 [-4, 36, 36, -4]인 계수 세트를 갖는, 비디오 프로세싱 방법.
  56. 비디오 프로세싱 방법에 있어서,
    비디오의 현재 비디오 블록과 상기 비디오의 코딩된 표현 간의 변환을 위해 규칙에 따라 대안 하프 픽셀 보간 필터를 적용하는 단계; 및
    상기 현재 비디오 블록과 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계;를 포함하되,
    상기 규칙은 상기 대안 보간 필터가 X 픽셀의 위치에 적용되도록 지정하되, X는 1/2가 아닌, 비디오 프로세싱 방법.
  57. 제56 항에 있어서, 상기 대안 보간 필터의 사용은 명시적으로 혹은 암시적으로 지시되는, 비디오 프로세싱 방법.
  58. 제57 항에 있어서, 상기 대안 보간 필터는 X 픽셀의 위치에 할당되는 기본 보간 필터의 계수와 상이한 적어도 하나의 계수를 갖는, 비디오 프로세싱 방법.
  59. 제56 항에 있어서, 상기 대안 하프 픽셀 보간 필터를 적용하는 단계는 DMVR(decoder-side motion vector refinement) 혹은 MMVD(merge mode with motion vector differences), 혹은 SMVD(symmetric motion vector differences), 혹은 다른 디코더 측 움직임 유도 프로세스 이후에 수행되는, 비디오 프로세싱 방법.
  60. 제56 항에 있어서, 상기 대안 하프 픽셀 보간 필터를 적용하는 단계는 RPR(reference picture resampling)이 사용되고 참조 픽처가 상기 현재 비디오 블록을 포함하는 현재 픽처의 해상도와 상이한 해상도를 갖는 경우 수행되는, 비디오 프로세싱 방법.
  61. 제56 항 내지 제60 항 중 어느 한 항에 있어서, 상기 현재 비디오 블록이 양예측을 사용하는 경우 상기 대안 하프 픽셀 보간 필터는 한 예측방향에만 적용되는, 비디오 프로세싱 방법.
  62. 비디오 프로세싱 방법에 있어서,
    X 픽셀 정확도를 갖는 제1 움직임 벡터 성분에 대한 비디오의 제1 비디오 블록에 의해, 대안 보간 필터가 선택되도록 제1 결정을 내리는 단계;
    상기 제1 결정으로 인해, 다른 대안 보간 필터가 X 픽셀 정확도와 다른 정확도를 갖는 제2움직임 벡터 성분에 대해 사용되도록 제2 결정을 내리는 단계, X는 정수 분수(integer fraction)이고;
    상기 제1 비디오 블록, 상기 제2 비디오 블록을 포함하는 상기 비디오와 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계;를 포함하는, 비디오 프로세싱 방법.
  63. 제62 항에 있어서, 상기 대안 보간 필터 및 상기 다른 대안 보간 필터는 가우시안 보간 필터들에 대응되는, 비디오 프로세싱 방법.
  64. 제62 항에 있어서, 상기 대안 보간 필터와 상기 다른 대안 보간 필터는 플랫탑(Flattop) 보간 필터들에 대응되는, 비디오 프로세싱 방법.
  65. 제62 항에 있어서, 상기 제2 움직임 벡터 성분은 X 픽셀 정확도보다 세밀한(finer) 정확도를 갖는, 비디오 프로세싱 방법.
  66. 제62 항에 있어서, 상기 제2 움직임 벡터 성분은 X 픽셀 정확도보다 거친(coarser) 정확도를 갖는, 비디오 프로세싱 방법.
  67. 제1 항 내지 제66 항 중 어느 한 항에 있어서, 상기 변환을 수행하는 단계는 상기 현재 비디오 블록으로부터 상기 코딩된 표현을 생성하는 단계를 포함하는, 비디오 프로세싱 방법.
  68. 제1 항 내지 제66 항 중 어느 한 항에 있어서, 상기 변환을 수행하는 단계는 상기 코딩된 표현으로부터 상기 현재 비디오 블록을 생성하는 단계를 포함하는, 비디오 프로세싱 방법.
  69. 명령어를 포함하는 비 일시적 메모리 및 프로세서를 포함하는 비디오 시스템의 장치에 있어서, 상기 명령어는 상기 프로세서에 의해 실행 시 상기 프로세서가 제1 항 내지 제68 항 중 어느 한 항의 방법을 실행하도록 구현되는, 장치.
  70. 비 일시적 컴퓨터 판독 가능한 매체에 저장된 컴퓨터 프로그램 제품에 있어서, 상기 프로그램 제품은 제1 항 내지 제68 항 중 어느 한 항의 방법을 실행하기 위한 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
KR1020227004742A 2019-08-20 2020-08-20 비디오 프로세싱에서 대안적 보간 필터들의 선택적 사용 KR102635319B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/101541 2019-08-20
CN2019101541 2019-08-20
PCT/CN2020/110147 WO2021032143A1 (en) 2019-08-20 2020-08-20 Selective use of alternative interpolation filters in video processing

Publications (2)

Publication Number Publication Date
KR20220043133A true KR20220043133A (ko) 2022-04-05
KR102635319B1 KR102635319B1 (ko) 2024-02-07

Family

ID=74659749

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227004742A KR102635319B1 (ko) 2019-08-20 2020-08-20 비디오 프로세싱에서 대안적 보간 필터들의 선택적 사용

Country Status (7)

Country Link
US (2) US11503288B2 (ko)
EP (1) EP3997881A4 (ko)
JP (2) JP7359942B2 (ko)
KR (1) KR102635319B1 (ko)
CN (2) CN114270856A (ko)
BR (1) BR112022002480A2 (ko)
WO (1) WO2021032143A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7307191B2 (ja) 2019-04-01 2023-07-11 北京字節跳動網絡技術有限公司 履歴に基づく動きベクトル予測のための補間フィルタの使用
CN114270856A (zh) * 2019-08-20 2022-04-01 北京字节跳动网络技术有限公司 视频处理中的备选插值滤波器的选择性使用
US20220295057A1 (en) * 2019-09-04 2022-09-15 Interdigital Vc Holdings France, Sas Switchable interpolation filters
CN112788345B (zh) * 2019-11-11 2023-10-24 腾讯美国有限责任公司 视频数据解码方法、装置、计算机设备和存储介质
US20230179763A1 (en) * 2021-12-06 2023-06-08 Tencent America LLC Interpolation Filters for Adaptive Motion Vector Difference Resolution

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3724203B2 (ja) 1998-03-10 2005-12-07 ソニー株式会社 符号化装置および方法、並びに記録媒体
US8879857B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
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
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
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
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
US8879632B2 (en) 2010-02-18 2014-11-04 Qualcomm Incorporated Fixed point implementation for geometric motion partitioning
PT3301648T (pt) 2010-04-13 2020-04-20 Ge Video Compression Llc Herança em matriz de amostras em subdivisão multitree
CN102316317B (zh) 2010-07-10 2013-04-24 华为技术有限公司 一种生成图像预测值的方法和装置
EP2675163A1 (en) 2010-07-21 2013-12-18 Dolby Laboratories Licensing Corporation Reference processing using advanced motion models for video coding
US8797414B2 (en) 2010-12-23 2014-08-05 Samsung Electronics Co., Ltd. Digital image stabilization device
US9049454B2 (en) 2011-01-19 2015-06-02 Google Technology Holdings Llc. High efficiency low complexity interpolation filters
ES2862898T3 (es) 2011-06-30 2021-10-08 Mitsubishi Electric Corp Aparato de codificación de imágenes, aparato de decodificación de imágenes, método de codificación de imágenes y método de decodificación de imágenes
JP5762243B2 (ja) 2011-10-18 2015-08-12 日本電信電話株式会社 映像符号化方法,装置,映像復号方法,装置およびそれらのプログラム
KR20130050149A (ko) 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
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.
US9781416B2 (en) * 2013-02-26 2017-10-03 Qualcomm Incorporated Neighboring block disparity vector derivation in 3D video coding
WO2014172387A1 (en) * 2013-04-15 2014-10-23 Huawei Technologies Co., Ltd. Method and apparatus of depth prediction mode selection
US20150063451A1 (en) 2013-09-05 2015-03-05 Microsoft Corporation Universal Screen Content Codec
EP3080985B1 (en) 2013-12-13 2023-08-02 VID SCALE, Inc. Video processing method and device for the alignment of luma and chroma using interpolation
US9819947B2 (en) * 2014-01-02 2017-11-14 Vid Scale, Inc. Methods, apparatus and systems for scalable video coding with mixed interlace and progressive content
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
CN105874789B (zh) 2014-01-29 2019-10-29 联发科技股份有限公司 利用自适应运动向量精度的方法
CN110225360A (zh) 2014-04-01 2019-09-10 联发科技股份有限公司 视频编码中自适应内插滤波的方法
US9924191B2 (en) 2014-06-26 2018-03-20 Qualcomm Incorporated Filters for advanced residual prediction in video coding
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
KR20170084055A (ko) 2014-11-06 2017-07-19 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2016078599A1 (en) * 2014-11-20 2016-05-26 Mediatek Inc. Method of motion vector and block vector resolution control
US10462480B2 (en) 2014-12-31 2019-10-29 Microsoft Technology Licensing, Llc Computationally efficient motion estimation
EP3304907B1 (en) 2015-06-08 2022-03-23 VID SCALE, Inc. Intra block copy mode for screen content coding
KR20180008445A (ko) 2015-06-10 2018-01-24 삼성전자주식회사 적응적 가중치 예측을 위한 신택스 시그널링을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
US11463689B2 (en) 2015-06-18 2022-10-04 Qualcomm Incorporated Intra prediction and intra mode coding
CN106331722B (zh) 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
CN108353176B (zh) 2015-09-24 2022-05-03 Lg 电子株式会社 在图像编译系统中的基于amvr的图像编译方法和装置
US10602141B2 (en) 2015-10-16 2020-03-24 Lg Electronics Inc. Filtering method and apparatus for improving prediction in image coding system
CN108353184B (zh) 2015-11-05 2022-02-01 联发科技股份有限公司 一种视频编解码的方法及装置
US10602176B2 (en) 2016-04-15 2020-03-24 Google Llc Coding interpolation filter type
WO2018012933A1 (ko) 2016-07-14 2018-01-18 삼성전자 주식회사 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치
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
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
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)
KR20200001554A (ko) 2018-06-27 2020-01-06 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR102542433B1 (ko) 2018-08-10 2023-06-13 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 처리 방법, 비디오 처리 장치, 인코더, 디코더, 매체 및 컴퓨터 프로그램
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
CN117082259A (zh) 2018-10-10 2023-11-17 华为技术有限公司 帧间预测方法及装置
KR20210072098A (ko) 2018-10-24 2021-06-16 후아웨이 테크놀러지 컴퍼니 리미티드 현재 블록에 대한 모션 정보를 결정하는 방법, 히스토리 기반 모션 벡터 예측기 목록을 구성하고 업데이트하는 방법, 및 비 일시적 컴퓨터 판독 가능형 저장 매체, 및 비디오 인코딩/디코딩 방법 및 장치
WO2020125738A1 (en) 2018-12-21 2020-06-25 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods using history based motion vector prediction
US11178414B2 (en) * 2019-02-27 2021-11-16 Mediatek Inc. Classification for multiple merge tools
EP4358036A2 (en) 2019-03-11 2024-04-24 Huawei Technologies Co., Ltd. Interpolation filter clipping for sub-picture motion vectors
JP7307191B2 (ja) 2019-04-01 2023-07-11 北京字節跳動網絡技術有限公司 履歴に基づく動きベクトル予測のための補間フィルタの使用
JP2022530240A (ja) 2019-05-02 2022-06-28 北京字節跳動網絡技術有限公司 複数の参照フィルタを使用するイントラビデオコーディング
SG11202112279WA (en) * 2019-05-11 2021-12-30 Beijing Bytedance Network Technology Co Ltd Selective use of coding tools in video processing
EP3954124A4 (en) * 2019-05-12 2022-08-03 Beijing Bytedance Network Technology Co., Ltd. SIGNALING FOR RE-SAMPLING REFERENCE IMAGE
US11184607B2 (en) * 2019-06-13 2021-11-23 Qualcomm Incorporated Same picture order count (POC) numbering for scalability support
US11190781B2 (en) * 2019-06-24 2021-11-30 Alibaba Group Holding Limited Adaptive resolution change in video processing
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
CN114270856A (zh) * 2019-08-20 2022-04-01 北京字节跳动网络技术有限公司 视频处理中的备选插值滤波器的选择性使用
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 (2)

* Cited by examiner, † Cited by third party
Title
Byeongdoo Choi, "AHG8: Signaling and Filtering for Reference Picture Resampling", JVET-O0332, 2019.6.26.* *
HenKel A et al: "Non-CE4: Switched half-pel interpolation filter", ver3, 2019.3.25.* *

Also Published As

Publication number Publication date
EP3997881A1 (en) 2022-05-18
WO2021032143A1 (en) 2021-02-25
JP2023171861A (ja) 2023-12-05
CN114270856A (zh) 2022-04-01
KR102635319B1 (ko) 2024-02-07
JP7359942B2 (ja) 2023-10-11
US11503288B2 (en) 2022-11-15
BR112022002480A2 (pt) 2022-04-26
EP3997881A4 (en) 2022-09-14
CN117395411A (zh) 2024-01-12
JP2022544667A (ja) 2022-10-20
US20230076783A1 (en) 2023-03-09
US20220132111A1 (en) 2022-04-28

Similar Documents

Publication Publication Date Title
AU2020250609B2 (en) Using interpolation filters for history based motion vector prediction
US11641483B2 (en) Interaction between merge list construction and other tools
KR102635319B1 (ko) 비디오 프로세싱에서 대안적 보간 필터들의 선택적 사용
WO2021047542A1 (en) Recursive splitting of video coding blocks
CN113994682A (zh) 具有默认参数的基于历史的运动矢量预测

Legal Events

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