KR102627834B1 - 비디오 프로세싱에서의 코딩 툴들의 선택적 사용 - Google Patents

비디오 프로세싱에서의 코딩 툴들의 선택적 사용 Download PDF

Info

Publication number
KR102627834B1
KR102627834B1 KR1020217035999A KR20217035999A KR102627834B1 KR 102627834 B1 KR102627834 B1 KR 102627834B1 KR 1020217035999 A KR1020217035999 A KR 1020217035999A KR 20217035999 A KR20217035999 A KR 20217035999A KR 102627834 B1 KR102627834 B1 KR 102627834B1
Authority
KR
South Korea
Prior art keywords
picture
video
delete delete
reference picture
current
Prior art date
Application number
KR1020217035999A
Other languages
English (en)
Other versions
KR20220006064A (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 KR20220006064A publication Critical patent/KR20220006064A/ko
Application granted granted Critical
Publication of KR102627834B1 publication Critical patent/KR102627834B1/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/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/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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

비디오의 현재 픽처의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해, 현재 비디오 블록을 코딩된 표현으로 코딩하는 데 현재 픽처의 치수와 상이한 치수를 갖는 참조 픽처를 사용하는 것으로 인해 현재 비디오 블록에 대해 코딩 툴의 사용이 디스에이블된다고 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함하는 비디오 프로세싱 방법이 제공된다.

Description

비디오 프로세싱에서의 코딩 툴들의 선택적 사용
관련 출원들의 상호 참조
본 출원은 2019년 5월 11일에 출원된 국제 특허 출원 제PCT/CN2019/086487호 및 2019년 10월 12일에 출원된 국제 특허 출원 제PCT/CN2019/110905호에 대한 우선권 및 그 이익을 주장하는, 2020년 5월 11일에 출원된 국제 특허 출원 제PCT/CN2020/089556호에 기초한다. 앞서 언급된 모든 특허 출원들은 그 전체가 본 명세서에 참고로 포함된다.
기술 분야
본 특허 문서는 비디오 프로세싱 기술들, 디바이스들 및 시스템들에 관한 것이다.
비디오 압축의 발전에도 불구하고, 디지털 비디오는 여전히 인터넷 및 다른 디지털 통신 네트워크들에서 가장 많은 대역폭 사용을 차지한다. 비디오를 수신하고 디스플레이할 수 있는 연결된 사용자 디바이스들의 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 수요가 계속 증가할 것으로 예상된다.
디지털 비디오 프로세싱, 예를 들어, 비디오 프로세싱을 위한 적응 루프 필터링에 관련된 디바이스들, 시스템들 및 방법들이 설명된다. 설명된 방법들은 기존의 비디오 코딩 표준들(예를 들면, HEVC(High Efficiency Video Coding)) 및 미래의 비디오 코딩 표준들(예를 들면, VVC(Versatile Video Coding)) 또는 코덱들 둘 모두에 적용될 수 있다.
비디오 코딩 표준들은 주로 잘 알려진 ITU-T 및 ISO/IEC 표준들의 개발을 통해 발전해 왔다. ITU-T는 H.261 및 H.263 표준들을 만들었고, ISO/IEC는 MPEG-1 및 MPEG-4 Visual 표준들을 만들었으며, 두 조직은 공동으로 H.262/MPEG-2 Video 및 H.264/MPEG-4 AVC(Advanced Video Coding) 및 H.265/HEVC 표준들을 만들었다. H.262 이후로, 비디오 코딩 표준들은 시간 예측과 변환 코딩이 활용되는 하이브리드 비디오 코딩 구조를 기반으로 한다. HEVC 이후의 미래 비디오 코딩 기술들을 탐구하기 위해, 2015년에 VCEG와 MPEG에 의해 공동으로 JVET(Joint Video Exploration Team)가 설립되었다. 그 이후로, 많은 새로운 방법들이 JVET에 의해 채택되었고 JEM(Joint Exploration Model)이라는 참조 소프트웨어에 추가되었다. 2018년 4월에, HEVC에 비해 50% 비트레이트 감소를 목표로 하는 VVC 표준에 대해 연구하기 위해 VCEG(Q6/16)와 ISO/IEC JTC1 SC29/WG11(MPEG) 간의 협력 하에 JVET(Joint Video Expert Team)가 만들어졌다.
하나의 대표적인 양태에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은: 비디오의 현재 픽처의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해, 현재 비디오 블록과 연관된 참조 픽처들의 하나 이상의 해상도 및 현재 픽처의 해상도에 기초하여 하나 이상의 모션 벡터 오프셋을 도출하는 단계; 및 하나 이상의 모션 벡터 오프셋을 사용하여 변환을 수행하는 단계를 포함한다.
하나의 대표적인 양태에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은, 비디오의 현재 픽처의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해, 모션 후보의 우선순위가 모션 후보와 연관된 참조 픽처의 해상도에 기초하도록 하는 우선순위 순서로 모션 후보들이 포함되어 있는 모션 후보 리스트를 구성하는 단계; 및 모션 후보 리스트를 사용하여 변환을 수행하는 단계를 포함한다.
하나의 대표적인 양태에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 현재 비디오 픽처의 치수에 기초하여 하나 이상의 비디오 유닛을 포함하는 현재 비디오 픽처에 대한 적응 루프 필터의 파라미터들을 결정하는 단계; 및 적응 루프 필터의 파라미터들에 따라 하나 이상의 비디오 유닛을 필터링하는 것에 의해 현재 비디오 픽처와 현재 비디오 픽처의 코딩된 표현 사이의 변환을 수행하는 단계를 포함한다.
하나의 대표적인 양태에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은, 비디오의 현재 픽처의 현재 비디오 블록에 대해, 현재 비디오 블록의 루마 샘플들이 제1 도메인과 제2 도메인 사이에서 리셰이핑되고 크로마 잔차가 대응하는 치수들과 연관된 LMCS 파라미터들을 사용하여 루마 종속적 방식으로 스케일링되는 LMCS(luma mapping with chroma scaling) 프로세스를 적용하는 단계; 및 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함한다.
하나의 대표적인 양태에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은, 비디오의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해, 다수의 서브파티션들의 참조 픽처 정보에 기초한 규칙에 따라 현재 비디오 블록을 다수의 서브파티션들로 분할하는 코딩 툴을 인에이블시킬지 여부 및/또는 어떻게 인에이블시킬지를 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
하나의 대표적인 양태에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은, 비디오의 현재 픽처의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해, 현재 비디오 블록을 코딩된 표현으로 코딩하는 데 현재 픽처의 치수와 상이한 치수를 갖는 참조 픽처를 사용하는 것으로 인해 현재 비디오 블록에 대해 코딩 툴의 사용이 디스에이블된다고 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
하나의 대표적인 양태에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은, 비디오의 현재 픽처의 현재 비디오 블록에 대해, 현재 픽처의 치수들과 상이한 치수들을 갖는 참조 픽처를 사용할지 여부 및/또는 어떻게 사용할지를 결정하는 규칙에 기초하여 현재 비디오 블록에 코딩 툴을 적용하는 것에 의해 예측 블록을 생성하는 단계; 및 예측 블록을 사용하여 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함한다.
하나의 대표적인 양태에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은, 비디오의 현재 픽처의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해, 하나 이상의 참조 픽처 리스트와 연관된 참조 픽처들의 제1 해상도 및/또는 현재 비디오 블록에 대한 예측 블록을 도출하는 데 사용되는 현재 참조 픽처의 제2 해상도에 기초하여 현재 비디오 블록에 대해 코딩 툴이 디스에이블되는지 여부를 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
하나의 대표적인 양태에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 하나 이상의 비디오 블록을 포함하는 비디오 픽처와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 여기서 하나 이상의 비디오 블록 중 적어도 일부는 규칙에 따라 비디오 픽처에 대한 참조 픽처 리스트를 참조하는 것에 의해 코딩되고, 여기서 규칙은 참조 픽처 리스트가 최대 K 개의 상이한 해상도를 갖는 참조 픽처들을 포함한다는 것을 지정하며, 여기서 K는 정수이다.
하나의 대표적인 양태에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 비디오의 N 개의 연속적인 비디오 픽처와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 여기서 N 개의 연속적인 비디오 픽처는 규칙에 따라 상이한 해상도들로 코딩되는 하나 이상의 비디오 블록을 포함하고, 여기서 규칙은 최대 K 개의 상이한 해상도가 N 개의 연속적인 픽처에 대해 허용된다는 것을 지정하고, 여기서 N 및 K는 정수들이다.
하나의 대표적인 양태에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 복수의 픽처들을 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 여기서 복수의 픽처들 중 적어도 일부는 상이한 코딩된 비디오 해상도들을 사용하여 코딩된 표현으로 코딩되고, 여기서 코딩된 표현은 이전 프레임의 제1 코딩된 해상도가, 순서에서 이전 프레임 이후의 다음 프레임이 인트라 프레임으로서 코딩된 경우에만, 다음 프레임의 제2 코딩된 해상도로 변경되는 포맷 규칙을 준수한다.
하나의 대표적인 양태에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 비디오의 현재 픽처의 현재 비디오 블록이 현재 픽처의 해상도와 상이한 해상도와 연관된 참조 픽처를 참조한다고 결정하기 위해 비디오의 코딩된 표현을 파싱하는 단계; 양방향 예측 모드를 현재 비디오 블록에 적용될 단방향 예측 모드로 변환하는 것에 의해 현재 비디오 블록에 대한 예측 블록을 생성하는 단계; 및 예측 블록을 사용하여 코딩된 표현으로부터 비디오를 생성하는 단계를 포함한다.
하나의 대표적인 양태에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은 모션 벡터 정밀도 및/또는 해상도 비들에 따라 서로 상이한 해상도들을 갖는 참조 픽처들로부터 인터 예측을 인에이블 또는 디스에이블시키는 것에 의해 비디오의 현재 픽처의 현재 비디오 블록에 대한 예측 블록을 생성하는 단계; 및 예측 블록을 사용하여 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함한다.
하나의 대표적인 양태에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 사용될 수 있다. 이 방법은, 비디오의 현재 픽처의 현재 비디오 블록의 코딩 특성에 기초하여, 현재 픽처와 치수와 상이한 치수를 갖는 참조 픽처가 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환 동안 현재 비디오 블록에 대한 예측 블록을 생성하도록 허용되는지 여부를 결정하는 단계; 및 결정하는 단계에 따라 변환을 수행하는 단계를 포함한다.
또 다른 대표적인 양태에서, 위에서 설명된 방법은 프로세서 실행 가능 코드의 형태로 구체화되고 컴퓨터 판독 가능 프로그램 매체에 저장된다.
또 다른 대표적인 양태에서, 위에서 설명된 방법을 수행하도록 구성되거나 작동 가능한 디바이스가 개시된다. 이 디바이스는 이 방법을 구현하도록 프로그래밍된 프로세서를 포함할 수 있다.
또 다른 대표적인 양태에서, 비디오 디코더 장치는 본 명세서에 설명된 바와 같은 방법을 구현할 수 있다.
개시된 기술의 상기 및 다른 양태들 및 특징들은 도면들, 설명 및 청구항들에서 보다 상세히 설명된다.
도 1은 상이한 해상도들로 코딩된 동일한 콘텐츠의 2 개의 표현의 적응적 스트리밍의 예를 도시한다.
도 2는 상이한 해상도들로 코딩된 동일한 콘텐츠의 2 개의 표현의 적응적 스트리밍의 예를 도시한다.
도 3은 2 개의 표현의 열린 GOP(open GOP) 예측 구조들의 예들을 도시한다.
도 4는 열린 GOP 위치에서의 표현 전환의 예를 도시한다.
도 5는 다른 비트스트림으로부터의 리샘플링된 참조 픽처를 참조로서 사용하는 것에 의한 RASL 픽처들에 대한 디코딩 프로세스의 예를 도시한다.
도 6a 내지 도 6c는 MCTS 기반 RWMR 뷰포트 종속적 360° 스트리밍의 예들을 도시한다.
도 7은 상이한 IRAP 간격들 및 상이한 크기들의 병치된 서브픽처 표현들의 예들을 도시한다.
도 8은 시청 배향 변경이 해상도 변경을 야기할 때 수신되는 세그먼트들의 예를 예시한다.
도 9는 도 6과 비교하여 약간 위쪽으로 오른쪽 큐브 면을 향하는 시청 배향 변경의 예를 예시한다.
도 10은 2 개의 서브픽처 위치에 대한 서브픽처 표현들이 제시되는 구현의 예를 도시한다.
도 11 및 도 12는, 제각기, ARC 인코더 및 디코더 구현들을 예시한다.
도 13은 ARC에 대한 타일 그룹 기반 리샘플링의 예를 도시한다.
도 14는 적응적 해상도 변경의 예를 도시한다.
도 15는 CU에 대한 ATMVP 모션 예측의 예를 도시한다.
도 16a 및 도 16b는, 제각기, 단순화된 4-파라미터 아핀 모션 모델 및 단순화된 6-파라미터 아핀 모션 모델의 예들을 도시한다.
도 17은 서브블록당 아핀 MVF의 예를 도시한다.
도 18a 및 도 18b는, 제각기, 4-파라미터 아핀 모델 및 6-파라미터 아핀 모델의 예들을 도시한다.
도 19는 상속된 아핀 후보들에 대한 AF_INTER에 대한 MVP(Motion Vector Difference)를 도시한다.
도 20은 구성된 아핀 후보들에 대한 AF_INTER에 대한 MVP를 도시한다.
도 21a 및 도 21b는, 제각기, 5 개의 이웃 블록 및 CPMV 예측자 도출을 도시한다.
도 22는 아핀 병합 모드에 대한 후보 위치의 예를 도시한다.
도 23a 및 도 23b는 본 문서에 설명된 비주얼 미디어 디코딩 또는 비주얼 미디어 인코딩 기술을 구현하기 위한 하드웨어 플랫폼의 예들의 블록 다이어그램들이다.
도 24a 내지 도 24e는 개시된 기술의 일부 구현들에 따른 비디오 프로세싱을 위한 예시적인 방법들의 플로차트들을 도시한다.
도 25a 내지 도 25i는 개시된 기술의 일부 구현들에 따른 비디오 프로세싱을 위한 예시적인 방법들의 플로차트들을 도시한다.
본 문서에 개시된 기술들 및 디바이스들은 적응적 해상도 변환을 갖는 코딩 툴들을 제공한다. AVC 및 HEVC는 IDR 또는 IRAP(intra random access point) 픽처를 도입할 필요 없이 해상도를 변경할 수 있는 능력을 갖지 않으며; 이러한 능력은 ARC(adaptive resolution change)라고 지칭될 수 있다. 이하를 포함하여, ARC 특징으로부터 이득을 보게 될 사용 사례들 또는 적용 시나리오들이 있다:
- 화상 전화 및 회의에서의 레이트 적응: 코딩된 비디오를 변하는 네트워크 조건들에 적응시키기 위해, 네트워크 조건들이 보다 나빠짐으로써 가용 대역폭이 보다 낮아질 때, 인코더는 보다 작은 해상도의 픽처들을 인코딩하는 것에 의해 이에 적응할 수 있다. 현재, 픽처 해상도를 변경하는 것은 IRAP 픽처 이후에만 행해질 수 있으며; 이것은 몇 가지 문제가 있다. 합리적인 품질의 IRAP 픽처는 인터 코딩된 픽처보다 훨씬 더 클 것이고, 그에 대응하여 디코딩하기가 더 복잡할 것이며: 이는 시간과 리소스를 소비한다. 이것은 로딩 이유로 디코더에 의해 해상도 변경이 요청되는 경우에 문제가 된다. 이는 또한 저 레이턴시 버퍼 조건들을 위반하여 오디오 재동기화를 강제할 수 있으며, 스트림의 엔드 투 엔드 지연이 적어도 일시적으로 증가할 것이다. 이는 좋지 않은 사용자 경험을 제공할 수 있다.
- 다자간 화상 회의에서의 활성 화자 변경들: 다자간 화상 회의의 경우, 활성 화자가 나머지 회의 참가자들에 대한 비디오보다 큰 비디오 크기로 보여지는 것이 통상적이다. 활성 화자가 변경될 때, 각각의 참가자에 대한 픽처 해상도가 또한 조정될 필요가 있을 수 있다. 이러한 활성 화자의 변경이 자주 발생할 때 ARC 특징을 가질 필요성이 더욱 중요해진다.
- 스트리밍에서의 빠른 시작: 스트리밍 애플리케이션의 경우, 애플리케이션이 디스플레이하기 시작하기 전에 디코딩된 픽처의 특정 길이까지 버퍼링하는 것이 통상적이다. 보다 작은 해상도를 갖는 비트스트림을 시작하는 것은 애플리케이션이 보다 빨리 디스플레이하기 시작하기에 충분한 픽처들을 버퍼에 가질 수 있게 한다.
스트리밍에서의 적응적 스트림 전환: DASH(Dynamic Adaptive Streaming over HTTP) 사양은 @mediaStreamStructureId라고 하는 특징을 포함한다. 이것은 디코딩 불가능한 리딩 픽처들(leading pictures), 예를 들면, HEVC에서 연관된 RASL 픽처들을 갖는 CRA 픽처들을 갖는 열린 GOP 랜덤 액세스 포인트들에서의 상이한 표현들 사이의 전환을 가능하게 한다. 동일한 비디오의 2 개의 상이한 표현이 상이한 비트레이트들을 갖지만 동일한 공간 해상도를 갖는 반면 이들이 @mediaStreamStructureId의 동일한 값을 가질 때, 연관된 RASL 픽처들을 갖는 CRA 픽처에서의 2 개의 표현 사이의 전환이 수행될 수 있으며 CRA 픽처들에서의 전환과 연관된 RASL 픽처들은 허용 가능한 품질로 디코딩될 수 있으며 따라서 끊김 없는 전환을 가능하게 한다. ARC에 의해, @mediaStreamStructureId 특징이 또한 상이한 공간 해상도들을 갖는 DASH 표현들 간에 전환하는 데 사용 가능할 것이다.
ARC는 동적 해상도 변환이라고도 한다.
ARC는 또한 H.263 부록 P와 같은 RPR(Reference Picture Resampling)의 특수한 경우로 간주될 수 있다.
1.1 H.263 부록 P에서의 참조 픽처 리샘플링
이 모드는 참조 픽처를 예측에 사용하기 전에 참조 픽처를 워핑(warp)하는 알고리즘을 설명한다. 이는 예측되는 픽처와 상이한 소스 포맷을 갖는 참조 픽처를 리샘플링하는 데 유용할 수 있다. 이는 또한, 참조 픽처의 형상, 크기 및 위치를 워핑하는 것에 의해, 글로벌 모션 추정 또는 회전 모션의 추정에 사용될 수 있다. 신택스는 사용될 워핑 파라미터들은 물론 리샘플링 알고리즘을 포함한다. 참조 픽처 리샘플링 모드에 대한 가장 간단한 동작 레벨은 업샘플링 및 다운샘플링 프로세스들에 대해 FIR 필터만이 적용되면 되므로 암시적 인자 4(implicit factor of 4) 리샘플링이다. 이 경우에, 새로운 픽처의 크기(픽처 헤더에 표시됨)가 이전 픽처의 크기와 상이할 때 그의 용도가 이해되기 때문에 추가적인 시그널링 오버헤드가 필요하지 않다.
1.2 VVC에 대한 ARC의 기여
1.2.1. JVET-M0135
JCTVC-F158로부터 일부 부분들이 취해진, 아래에 설명되는 바와 같은 ARC의 예비적인 설계는 단지 논의를 촉발하기 위한 플레이스 홀더인 것으로 암시된다. 이중 대괄호들이 삭제된 텍스트 전후에 배치된다.
2.2.1.1 기본 툴들의 설명
ARC를 지원하기 위한 기본 툴들의 제약들은 다음과 같다:
- 공간 해상도는, 양쪽 치수들에 적용되는, 0.5배 만큼 공칭 해상도와 상이할 수 있다. 공간 해상도가 증가하거나 감소하여, 0.5와 2.0의 스케일링 비들을 산출할 수 있다.
- 비디오 포맷의 종횡비들 및 크로마 포맷들은 변경되지 않는다.
- 크로핑 영역들은 공간 해상도들에 비례하여 스케일링된다.
- 참조 픽처들은 필요에 따라 단순히 리스케일링되고 평소와 같이 인터 예측이 적용된다.
2.2.1.2 스케일링 동작들
간단한 제로 위상 분리 가능 다운스케일링 및 업스케일링 필터들을 사용하는 것이 제안된다. 이러한 필터들이 예측만을 위한 것이고; 디코더가 출력 목적으로 보다 정교한 스케일링을 사용할 수 있다는 점에 유의한다.
제로 위상 및 5 개의 탭을 갖는, 이하의 1:2 다운스케일링 필터가 사용된다:
(-1, 9, 16, 9, -1) / 32
다운샘플링 포인트들은 짝수 샘플 위치들에 있고 함께 배치된다(co-sited). 루마와 크로마에 대해 동일한 필터가 사용된다.
2:1 업샘플링의 경우, 최신 VVC WD에서의 하프펠(half-pel) 모션 보상 보간 필터 계수들을 사용하여 홀수 그리드 위치들에 있는 추가적인 샘플들이 생성된다.
결합된 업샘플링과 다운샘플링은 크로마 샘플링 포인트들의 위상 또는 위치를 변경하지 않을 것이다.
2.2.1.2 파라미터 세트 내의 해상도 설명
SPS에서의 픽처 해상도의 시그널링은 아래에 나타낸 바와 같이 변경된다.
[표 1]
Figure 112021126741716-pct00001
[[pic_width_in_luma_samples는 각각의 디코딩된 픽처의 폭을 루마 샘플 단위로 지정한다. pic_width_in_luma_samples는 0과 동일하지 않아야 하며 MinCbSizeY의 정수배여야 한다.
pic_height_in_luma_samples는 각각의 디코딩된 픽처의 높이를 루마 샘플 단위로 지정한다. pic_height_in_luma_samples는 0과 동일하지 않아야 하며 MinCbSizeY의 정수배여야 한다.]]
num_pic_size_in_luma_samples_minus1 + 1은 코딩된 비디오 시퀀스에 존재할 수 있는 픽처 크기들(폭 및 높이)의 수를 루마 샘플 단위로 지정한다.
pic_width_in_luma_samples[ i ]는 코딩된 비디오 시퀀스에 존재할 수 있는 디코딩된 픽처들의 i 번째 폭을 루마 샘플 단위로 지정한다. pic_width_in_luma_samples[ i ]는 0과 동일하지 않아야하고 MinCbSizeY의 정수배여야 한다.
pic_height_in_luma_samples[ i ]는 코딩된 비디오 시퀀스에 존재할 수 있는 디코딩된 픽처들의 i 번째 높이를 루마 샘플 단위로 지정한다. pic_height_in_luma_samples[ i ]는 0과 동일하지 않아야 하고 MinCbSizeY의 정수배여야 한다.
[표 2]
Figure 112021126741716-pct00002
pic_size_idx는 시퀀스 파라미터 세트에서의 i 번째 픽처 크기에 대한 인덱스를 지정한다. 픽처 파라미터 세트를 참조하는 픽처들의 폭은 루마 샘플들에서의 pic_width_in_luma_samples[ pic_size_idx ]이다. 마찬가지로, 픽처 파라미터 세트를 참조하는 픽처들의 높이는 루마 샘플들에서의 pic_height_in_luma_samples[ pic_size_idx ]이다.
1.2.2. JVET-M0259
1.2.2.1. 배경: 서브픽처들
서브픽처 트랙이라는 용어들은 OMAF(Omnidirectional Media Format)에서 다음과 같이 정의된다: 다른 트랙(들)에 대한 공간 관계들을 갖고 콘텐츠 제작 측에서의 비디오 인코딩 이전에 공간 서브세트들로 분할된 원래 비디오 콘텐츠의 공간 서브세트를 나타내는 트랙. HEVC에 대한 서브픽처 트랙은 독립적인(self-standing) HEVC 비트스트림이 되도록 모션 제약된 타일 세트에 대한 파라미터 세트들 및 슬라이스 세그먼트 헤더들을 재작성하는 것에 의해 구성될 수 있다. 서브픽처 표현은 서브픽처 트랙을 전달하는 DASH 표현으로서 정의될 수 있다.
JVET-M0261은, 다음과 같이 요약된, VVC에 대한 공간 분할 유닛(spatial partitioning unit)으로서 서브픽처라는 용어를 사용하였다.
1. 픽처들은 서브픽처들, 타일 그룹들 및 타일들로 나누어진다.
2. 서브픽처는 0과 동일한 tile_group_address를 갖는 타일 그룹으로 시작되는 타일 그룹들의 직사각형 세트이다.
3. 각각의 서브픽처는 그 자신의 PPS를 참조할 수 있고 따라서 그 자신의 타일 분할(tile partitioning)을 가질 수 있다.
4. 서브픽처들은 디코딩 프로세스에서 픽처들처럼 취급된다.
5. 서브픽처를 디코딩하기 위한 참조 픽처들은 디코딩된 픽처 버퍼에 있는 참조 픽처들로부터 현재 서브픽처와 병치된 영역을 추출하는 것에 의해 생성된다. 추출된 영역은 디코딩된 서브픽처여야 한다, 즉, 동일한 크기의 서브픽처들과 픽처 내의 동일한 위치 사이에서 인터 예측이 이루어진다.
6. 타일 그룹은 서브픽처의 타일 래스터 스캔에서의 타일들의 시퀀스이다.
이 기고문에서, 서브픽처라는 용어는 JVET-M0261에서 정의된 바와 같이 이해될 수 있다. 그렇지만, JVET-M0261에서 정의된 바와 같이 서브픽처 시퀀스를 캡슐화하는 트랙은 OMAF에 정의된 서브픽처 트랙과 매우 유사한 속성들을 가지며, 아래에 주어진 예들은 양쪽 경우들에서 적용된다.
1.2.2.2. 사용 사례들
1.2.2.2.1. 스트리밍에서의 적응적 해상도 변경
적응적 스트리밍을 지원하기 위한 요구사항
MPEG N17074의 섹션 5.13("Support for Adaptive Streaming")은 VVC에 대한 다음과 같은 요구사항을 포함한다: 표준은, 상이한 속성들(예를 들면, 공간 해상도 또는 샘플 비트 깊이)을 각각 갖는, 동일한 콘텐츠의 다수의 표현들을 제공하는 적응적 스트리밍 서비스들의 경우에 빠른 표현 전환을 지원해야 한다. 표준은, 상이한 공간 해상도들과 같은, 상이한 속성들의 표현들 간의 빠르고 끊김 없는 표현 전환 능력을 손상시키지 않으면서 효율적인 예측 구조들(예를 들면, 소위 열린 픽처 그룹들)의 사용을 가능하게 해야 한다.
표현 전환을 갖는 열린 GOP 예측 구조의 예
적응적 비트레이트 스트리밍을 위한 콘텐츠 생성은, 상이한 공간 해상도들을 가질 수 있는, 상이한 표현들의 생성들을 포함한다. 클라이언트는 표현들로부터의 세그먼트들을 요청하며, 따라서 콘텐츠가 어느 해상도 및 비트레이트로 수신되는지를 결정할 수 있다. 클라이언트에서, 상이한 표현들의 세그먼트들이 연결되고, 디코딩되며 재생된다. 클라이언트는 하나의 디코더 인스턴스로 끊김 없는 재생을 달성할 수 있어야 한다. 도 1에 예시된 바와 같은 닫힌 GOP(closed GOP) 구조들(IDR 픽처로 시작됨)이 관례적으로 사용된다. 도 1은 상이한 해상도들로 코딩된 동일한 콘텐츠의 2 개의 표현의 적응적 스트리밍을 도시한다.
열린 GOP 예측 구조들(CRA 픽처들로 시작됨)은 각자의 닫힌 GOP 예측 구조들보다 나은 압축 성능을 가능하게 한다. 예를 들어, 루마 Bjontegaard 델타 비트레이트의 측면에서의 5.6%의 평균 비트레이트 감소는 24 개의 픽처의 IRAP 픽처 간격으로 달성되었다. 편의상, 시뮬레이션 조건들 및 결과들은 섹션 YY에 요약되어 있다.
열린 GOP 예측 구조들은 보고에 따르면 또한 주관적으로 가시적인 품질 펌핑(quality pumping)을 감소시킨다.
스트리밍에서 열린 GOP들의 사용에서의 도전 과제는 표현들을 전환한 후에 RASL 픽처들이 올바른 참조 픽처들을 사용하여 디코딩될 수 없다는 것이다. 표현들에 관련된 이 도전 과제는 상이한 해상도들로 코딩된 동일한 콘텐츠의 2 개의 표현의 적응적 스트리밍을 도시하는 도 2에 제시되어 있다. 도 2에서, 세그먼트들은 닫힌 GOP 또는 열린 GOP 예측 구조들을 사용한다.
CRA 픽처로 시작되는 세그먼트들은 적어도 하나의 참조 픽처가 이전 세그먼트에 있는 RASL 픽처들을 포함한다. 이것은 2 개의 표현의 열린 GOP 예측 구조들을 도시하는 도 3에 예시되어 있다. 도 3에서, 양쪽 비트스트림들에서의 픽처 0은 이전 세그먼트에 존재하고 RASL 픽처들을 예측하기 위한 참조로서 사용된다.
도 2에서 파선 직사각형으로 마킹된 표현 전환은 열린 GOP 위치에서의 표현 전환을 도시하는 도 4에서 아래에 예시되어 있다. RASL 픽처들에 대한 참조 픽처("픽처 0")가 디코딩되지 않았다는 것이 관찰될 수 있다. 결과적으로, RASL 픽처들이 디코딩 가능하지 않으며 비디오의 재생에 갭이 있을 것이다.
그렇지만, 리샘플링된 참조 픽처들을 사용하여 RASL 픽처들을 디코딩하는 것이 주관적으로 허용되는 것으로 밝혀졌다(섹션 4 참조). "픽처 0"을 리샘플링하고 이를 RASL 픽처들을 디코딩하는 데 참조 픽처로서 사용하는 것이 도 5에 예시되어 있다. 도 5는 다른 비트스트림으로부터의 리샘플링된 참조 픽처를 참조로서 사용하는 것에 의한 RASL 픽처에 대한 디코딩 프로세스를 도시한다.
2.2.2.2.2. RWMR(region-wise mixed-resolution) 360° 비디오 스트리밍에서의 뷰포트 변경
배경: HEVC 기반 RWMR 스트리밍
RWMR 360° 스트리밍은 뷰포트에서 증가된 유효 공간 해상도를 제공한다. 뷰포트를 커버하는 타일들이 "4K" 디코딩 용량(HEVC 레벨 5.1)에 대해, 도 6에 예시된, 6K(6144×3072) ERP 픽처 또는 동등한 CMP 해상도로부터 비롯되는 방식들은 OMAF의 D.6.3 절 및 D.6.4 절에 포함되었으며, 또한 VR Industry Forum Guidelines에서 채택되었다. 그러한 해상도들은 쿼드 HD(2560×1440) 디스플레이 패널을 사용하는 헤드 마운티드 디스플레이들에 적합한 것으로 주장된다.
인코딩: 콘텐츠는 큐브 면 크기가, 제각기, 1536×1536 및 768×768인 2 개의 공간 해상도로 인코딩된다. 양쪽 비트스트림들에서, 6x4 타일 그리드가 사용되고 각각의 타일 위치에 대해 MCTS(motion-constrained tile set)가 코딩된다.
캡슐화: 각각의 MCTS 시퀀스는 서브픽처 트랙으로서 캡슐화되고 DASH에서 서브픽처 표현으로서 이용가능하게 된다.
스트리밍된 MCTS들의 선택: 고해상도 비트스트림으로부터의 12 개의 MCTS가 선택되고 상보적인 12 개의 MCTS가 저해상도 비트스트림으로부터 추출된다. 따라서, 스트리밍된 콘텐츠의 반구(hemi-sphere)(180°×180°)는 고해상도 비트스트림으로부터 비롯된다.
디코딩될 비트스트림에 MCTS들을 병합: 단일 시간 인스턴스의 수신된 MCTS들은 HEVC 레벨 5.1을 준수하는 1920x4608의 코딩된 픽처로 병합된다. 병합된 픽처에 대한 다른 옵션은 폭 768의 4 개의 타일 열, 폭 384의 2 개의 타일 열, 및 높이 768의 3 개의 타일 행의 루마 샘플들을 가짐으로써, 3840×2304 루마 샘플들의 픽처를 결과하는 것이다.
도 6은 MCTS 기반 RWMR 뷰포트 종속적 360° 스트리밍의 예들을 도시한다. 도 6a는 코딩된 비트스트림들의 예들을 도시하고, 도 6b는 스트리밍을 위해 선택된 MCTS들의 예들을 도시하며, 도 6c는 MCTS들로부터 병합된 픽처의 예를 도시한다.
배경: 뷰포트 종속적 360° 스트리밍을 위한 상이한 IRAP 간격들의 여러 표현들
HEVC 기반 뷰포트 종속적 360° 스트리밍에서 시청 배향이 변할 때, 서브픽처 표현들의 새로운 선택은 다음 IRAP 정렬된 세그먼트 경계에서 시행될 수 있다. 서브픽처 표현들은 디코딩을 위해 코딩된 픽처들에 병합되고, 따라서 VCL NAL 유닛 유형들이 모든 선택된 서브픽처 표현들에서 정렬된다.
시청 배향 변경들에 반응하는 응답 시간과 시청 배향이 안정적일 때의 레이트-왜곡 성능 사이의 절충을 제공하기 위해, 콘텐츠의 여러 버전들이 상이한 IRAP 간격들로 코딩될 수 있다. 이것은 도 6에 제시된 인코딩을 위한 한 세트의 병치된 서브픽처 표현들에 대해 도 7에 예시되어 있으며 H. Chen, H. Yang, J. Chen, “Separate list for sub-block merge candidates,” JVET-L0368, Oct. 2018의 섹션 3에서 보다 상세히 논의된다.
도 7은 상이한 IRAP 간격들 및 상이한 크기들의 병치된 서브픽처 표현들의 예들을 도시한다.
도 8은 서브픽처 위치가 보다 낮은 해상도(384×384)로 수신되도록 먼저 선택되는 예를 제시한다. 시청 배향의 변화는 서브픽처 위치들의 새로운 선택이 보다 높은 해상도(768×768)로 수신되게 한다. 도 8의 예에서, 시청 배향 변경이 해상도 변경을 야기할 때 수신되는 세그먼트들은 세그먼트 4의 시작 부분에 있다. 이 예에서, 세그먼트 4가 짧은 IRAP 간격 서브픽처 표현들로부터 수신되도록 시청 배향 변경이 발생한다. 그 후에, 시청 배향이 안정적이며, 따라서 세그먼트 5로부터 시작하여 계속 긴 IRAP 간격 버전이 사용될 수 있다.
모든 서브픽처 위치들을 업데이트하는 것의 단점
전형적인 시청 상황들에서 시청 배향이 점진적으로 움직이기 때문에, RWMR 뷰포트 종속적 스트리밍에서 서브픽처 위치들의 서브세트에서만 해상도가 변한다. 도 9는 약간 위쪽으로 우측 큐브 면을 향한, 도 6으로부터의 시청 배향 변경을 예시한다. 이전과 상이한 해상도를 갖는 큐브 면 파티션들은 "C"로 표시되어 있다. 24 개 중 6 개의 큐브 면 파티션에서 해상도가 변경된 것이 관찰될 수 있다. 그렇지만, 위에서 논의된 바와 같이, IRAP 픽처로 시작되는 세그먼트들은 시청 배향 변경에 응답하여 24 개의 큐브 면 파티션 모두에 대해 수신될 필요가 있다. IRAP 픽처로 시작되는 세그먼트들을 갖는 모든 서브픽처 위치들을 업데이트하는 것은 스트리밍 레이트-왜곡 성능의 측면에서 비효율적이다.
추가적으로, RWMR 360° 스트리밍의 서브픽처 표현들과 함께 열린 GOP 예측 구조들을 사용할 수 있는 능력은 레이트-왜곡 성능을 개선시키고 닫힌 GOP 예측 구조들에 의해 야기되는 가시적인 픽처 품질 펌핑을 피하는 데 바람직하다.
제안된 설계 예들
이하의 설계 목표들이 제안된다:
1. VVC 설계는 랜덤 액세스 픽처로부터 비롯되는 서브픽처와 비-랜덤 액세스 픽처로부터 비롯되는 다른 서브픽처를 VVC를 준수하는 동일한 코딩된 픽처로 병합시키는 것을 허용해야 한다.
2. VVC 설계는, 서브픽처 표현들을 단일 VVC 비트스트림으로 병합시키는 것을 가능하게 하면서, 상이한 공간 해상도들과 같은, 상이한 속성들의 서브픽처 표현들 사이의 빠르고 끊김 없는 표현 전환 능력을 손상시키지 않으면서 서브픽처 표현들에서 열린 GOP 예측 구조를 사용하는 것을 가능하게 해야 한다.
설계 목표들의 예는 2 개의 서브픽처 위치에 대한 서브픽처 표현들이 제시되어 있는 도 10으로 예시될 수 있다. 양쪽 서브픽처 위치들에 대해, 2 개의 해상도와 2 개의 랜덤 액세스 간격 사이의 각각의 조합에 대해 콘텐츠의 별도의 버전이 코딩된다. 세그먼트들 중 일부는 열린 GOP 예측 구조로 시작된다. 시청 배향 변경은 서브픽처 위치 1의 해상도가 세그먼트 4의 시작 부분에서 전환되게 한다. 세그먼트 4가 RASL 픽처들과 연관된 CRA 픽처로 시작되기 때문에, 세그먼트 3에 있는 RASL 픽처들의 해당 참조 픽처들은 리샘플링될 필요가 있다. 일부 다른 서브픽처 위치들의 디코딩된 서브픽처들은 리샘플링되지 않으면서 이러한 리샘플링이 서브픽처 위치 1에 적용된다는 것에 주목한다. 이 예에서, 시청 배향 변경은 서브픽처 위치 2의 해상도의 변경을 야기하지 않으며, 따라서 서브픽처 위치 2의 디코딩된 서브픽처들은 리샘플링되지 않는다. 세그먼트 4의 첫 번째 픽처에서, 서브픽처 위치 1에 대한 세그먼트는 CRA 픽처로부터 비롯되는 서브픽처를 포함하는 반면, 서브픽처 위치 2에 대한 세그먼트는 비-랜덤 액세스 픽처로부터 비롯되는 서브픽처를 포함한다. 이러한 서브픽처들을 코딩된 픽처로 병합하는 것이 VVC에서 허용되는 것이 제안된다.
2.2.2.2.3. 화상 회의에서의 적응적 해상도 변경
JCTVC-F158은 주로 화상 회의를 위한 적응적 해상도 변경을 제안하였다. 이하의 서브섹션들은 JCTVC-F158로부터 복사되었으며 적응적 해상도 변경이 유용하다고 주장되는 사용 사례들을 제시한다.
끊김 없는 네트워크 적응 및 오류 탄력성
패킷 네트워크들을 통한 화상 회의 및 스트리밍과 같은 응용 분야들은, 특히 비트 레이트들이 너무 높고 데이터가 손실될 때, 인코딩된 스트림이 변하는 네트워크 조건들에 적응할 것을 빈번히 필요로 한다. 그러한 응용 분야들은 전형적으로 인코더가 오류들을 검출하고 조정들을 수행할 수 있게 하는 리턴 채널(return channel)을 갖는다. 인코더는 비트 레이트 감소 및 시간 해상도 또는 공간 해상도의 변경이라는 두 가지 주요 툴을 마음대로 사용할 수 있다. 시간 해상도 변경은 계층적 예측 구조들을 사용하여 코딩하는 것에 의해 효과적으로 달성될 수 있다. 그렇지만, 최상의 품질을 위해, 비디오 통신을 위한 잘 설계된 인코더의 일부로서 공간 해상도 변경도 필요하다.
AVC 내에서 공간 해상도를 변경하는 것은 IDR 프레임이 송신되고 스트림이 리셋되는 것을 필요로 한다. 이것은 중대한 문제들을 야기한다. 합리적인 품질의 IDR 프레임은 인터 픽처보다 훨씬 더 클 것이고, 그에 대응하여 디코딩하기가 더 복잡할 것이며: 이는 시간과 리소스를 소비한다. 이것은 로딩 이유로 디코더에 의해 해상도 변경이 요청되는 경우에 문제가 된다. 이는 또한 저 레이턴시 버퍼 조건들을 위반하여 오디오 재동기화를 강제할 수 있으며, 스트림의 엔드 투 엔드 지연이 적어도 일시적으로 증가할 것이다. 이는 좋지 않은 사용자 경험을 제공한다.
이러한 문제들을 최소화하기 위해, IDR은 전형적으로, P 프레임과 유사한 수의 비트들을 사용하여 낮은 품질로 송신되며, 주어진 해상도에 대해 최대 품질(full quality)로 돌아가려면 상당한 시간이 걸린다. 충분히 낮은 지연을 얻기 위해, 품질이 실제로 매우 낮을 수 있으며 이미지가 "리포커싱"되기 전에 종종 가시적인 블러링이 있다. 사실상, 인트라 프레임은 압축 측면에서 유용한 일을 거의 하지 않으며: 이는 스트림을 재시작하는 방법일 뿐이다.
따라서, 주관적인 경험에 대한 영향을 최소화하면서, 특히 까다로운 네트워크 조건들에서, 해상도가 변경될 수 있게 하는 HEVC에서 방법들에 대한 요구사항이 있다.
빠른 시작
지연을 감소시키고 처음에 허용 가능하지 않은 이미지 블러링 없이 보다 빨리 정상 품질에 도달하기 위해, 첫 번째 프레임은 감소된 해상도로 송신되고 다음 몇 개의 프레임에 걸쳐 해상도가 증가되는 "빠른 시작" 모드를 갖는 것이 유용할 것이다.
회의 "합성"
화상 회의는 말하는 사람이 전체 화면으로 보여지고 다른 참가자들은 보다 작은 해상도의 창들에 보여지는 특징을 종종 갖는다. 이를 효율적으로 지원하기 위해, 종종 보다 작은 픽처들은 보다 낮은 해상도로 송신된다. 이 해상도는 이어서 참가자가 화자가 되고 전체 화면으로 될 때 증가된다. 이 시점에서 인트라 프레임을 송신하는 것은 비디오 스트림에 불쾌한 지연(hiccup)을 야기한다. 화자들이 빠르게 바뀌는 경우 이 효과는 상당히 눈에 띄고 불쾌할 수 있다.
2.2.2.3. 제안된 설계 목표들
이하는 VVC 버전 1에 대해 제안된 상위 레벨 설계 선택 사항들이다:
1. 이하의 사용 사례들에 대해 VVC 버전 1에 참조 픽처 리샘플링 프로세스를 포함시키는 것이 제안된다:
- 상이한 공간 해상도들과 같은, 상이한 속성들의 표현들 간의 빠르고 끊김 없는 표현 전환 능력을 손상시키지 않으면서 적응적 스트리밍에서 효율적인 예측 구조들(예를 들면, 소위 열린 픽처 그룹들)의 사용.
- 상당한 지연 또는 지연 변동 없이 네트워크 조건들 및 애플리케이션 기인 해상도 변경들에 대해 저지연 대화 비디오 콘텐츠를 적응시키는 것.
2. VVC 설계는 랜덤 액세스 픽처로부터 비롯되는 서브픽처와 비-랜덤 액세스 픽처로부터 비롯되는 다른 서브픽처를 VVC를 준수하는 동일한 코딩된 픽처로 병합시키는 것을 허용하도록 제안된다. 이는 혼합 품질 및 혼합 해상도 뷰포트 적응적 360° 스트리밍에서 시청 배향 변경들의 효율적인 처리를 가능하게 하기 위해 주장된다.
3. VVC 버전 1에 서브픽처별 리샘플링 프로세스를 포함시키는 것이 제안된다. 이는 혼합 해상도 뷰포트 적응적 360° 스트리밍에서 시청 배향 변경의 보다 효율적인 처리를 위한 효율적인 예측 구조를 가능하게 하기 위해 주장된다.
2.2.3. JVET-N0048
적응적 해상도 변경(ARC)에 대한 사용 사례들 및 설계 목표들은 JVET-M0259에서 상세히 논의되었다. 요약은 아래에서 제공된다:
1. 실시간 통신
적응적 해상도 변경에 대한 이하의 사용 사례들은 원래 JCTVC-F158에 포함되었다:
a. (동적 적응적 해상도 변경들을 통한) 끊김 없는 네트워크 적응 및 오류 탄력성
b. 빠른 시작(세션 시작 또는 리셋 시에 해상도의 점진적인 증가)
c. 회의 "합성"(말하는 사람에게 보다 높은 해상도가 제공됨)
2. 적응적 스트리밍
MPEG N17074의 섹션 5.13("Support for Adaptive Streaming")은 VVC에 대한 다음과 같은 요구사항을 포함한다: 표준은, 상이한 속성들(예를 들면, 공간 해상도 또는 샘플 비트 깊이)을 각각 갖는, 동일한 콘텐츠의 다수의 표현들을 제공하는 적응적 스트리밍 서비스들의 경우에 빠른 표현 전환을 지원해야 한다. 표준은, 상이한 공간 해상도들과 같은, 상이한 속성들의 표현들 간의 빠르고 끊김 없는 표현 전환 능력을 손상시키지 않으면서 효율적인 예측 구조들(예를 들면, 소위 열린 픽처 그룹들)의 사용을 가능하게 해야 한다.
JVET-M0259는 리딩 픽처들의 참조 픽처들을 리샘플링하는 것에 의해 이 요구사항을 충족시키는 방법에 대해 논의한다.
3. 360도 뷰포트 종속적 스트리밍
JVET-M0259는 리딩 픽처들의 참조 픽처들의 특정 독립적으로 코딩된 픽처 영역들을 리샘플링하는 것에 의해 이 사용 사례를 해결하는 방법에 대해 논의한다.
이 기고문은 위의 사용 사례들 및 설계 목표들 모두를 충족시킨다고 주장되는 적응적 해상도 코딩 접근법을 제안한다. 360도 뷰포트 종속적 스트리밍 및 회의 "합성" 사용 사례들은 JVET-N0045(독립적인 서브픽처 계층들을 제안함)와 함께 이 제안에 의해 처리된다.
제안된 사양 텍스트
이중 대괄호들이 삭제된 텍스트 전후에 배치된다.
시그널링
[표 3]
Figure 112021126741716-pct00003
sps_max_rpr은 pic_width_in_luma_samples 및 pic_height_in_luma_samples가, 제각기, 현재 픽처의 pic_width_in_luma_samples 및 pic_height_in_luma_samples와 동일하지 않은 CVS에서의 임의의 타일 그룹에 대해 참조 픽처 리스트 0 또는 1에서의 활성 참조 픽처들의 최대 수를 지정한다.
[표 4 및 5]
Figure 112021126741716-pct00004
max_width_in_luma_samples는 이 SPS가 활성인 CVS의 임의의 픽처에 대한 임의의 활성 PPS에서의 pic_width_in_luma_samples가 max_width_in_luma_samples 이하인 것이 비트스트림 적합성의 요구사항임을 지정한다.
max_height_in_luma_samples는 이 SPS가 활성인 CVS의 임의의 픽처에 대한 임의의 활성 PPS에서의 pic_height_in_luma_samples가 max_height_in_luma_samples 이하인 것이 비트스트림 적합성의 요구사항임을 지정한다.
상위 레벨 디코딩 프로세스
디코딩 프로세스는 현재 픽처 CurrPic에 대해 다음과 같이 작동한다:
1. NAL 유닛들의 디코딩은 8.2 절에 지정되어 있다.
2. 8.3 절에서의 프로세스들은 타일 그룹 헤더 계층 이상에서의 신택스 요소들을 사용하여 이하의 디코딩 프로세스들을 지정한다:
- 픽처 순서 카운트에 관련된 변수들 및 함수들은 8.3.1절에 지정된 대로 도출된다. 이것은 픽처의 첫 번째 타일 그룹에 대해서만 호출되면 된다.
- 비-IDR 픽처의 각각의 타일 그룹에 대한 디코딩 프로세스의 시작에서, 참조 픽처 리스트 0(RefPicList[ 0 ]) 및 참조 픽처 리스트 1(RefPicList[ 1 ])의 도출을 위해 8.3.2 절에 지정된 참조 픽처 리스트 구성을 위한 디코딩 프로세스가 호출된다.
- 8.3.3 절에서의 참조 픽처 마킹을 위한 디코딩 프로세스가 호출되며, 여기서 참조 픽처들은 "참조에 사용되지 않음" 또는 "장기 참조에 사용됨"으로 마킹될 수 있다. 이것은 픽처의 첫 번째 타일 그룹에 대해서만 호출되면 된다.
- pic_width_in_luma_samples 또는 pic_height_in_luma_samples가, 제각기, CurrPic의 pic_width_in_luma_samples 또는 pic_height_in_luma_samples와 동일하지 않은 RefPicList[ 0 ] 및 RefPicList[ 1 ]에서의 각각의 활성 참조 픽처에 대해, 이하가 적용된다:
- X.Y.Z 절에서의 리샘플링 프로세스는 출력이 입력과 동일한 참조 픽처 마킹 및 픽처 순서 카운트를 갖는 경우 호출된다.
- 리샘플링 프로세스에 대한 입력으로서 사용되는 참조 픽처는 "참조에 사용되지 않음"으로 마킹된다.
코딩 트리 유닛들, 스케일링, 변환, 인루프 필터링(in-loop filtering) 등을 위한 디코딩 프로세스들의 호출이 더 논의될 수 있다.
현재 픽처의 모든 타일 그룹들이 디코딩된 후에, 현재 디코딩된 픽처는 "단기 참조에 사용됨"으로 마킹된다.
리샘플링 프로세스
SHVC 리샘플링 프로세스(HEVC H.8.1.4.2 절)는 이하의 추가 사항들과 함께 제안된다:
...
sps_ref_wraparound_enabled_flag가 0과 동일한 경우, 샘플 값 tempArray[ n ](단, n = 0..7임)은 다음과 같이 도출된다:
tempArray[ n ] = ( fL[ xPhase, 0 ] * rlPicSampleL[ Clip3( 0, refW - 1, xRef - 3 ), yPosRL ] +
fL[ xPhase, 1 ] * rlPicSampleL[ Clip3( 0, refW - 1, xRef - 2 ), yPosRL ] +
fL[ xPhase, 2 ] * rlPicSampleL[ Clip3( 0, refW - 1, xRef - 1 ), yPosRL ] +
fL[ xPhase, 3 ] * rlPicSampleL[ Clip3( 0, refW - 1, xRef ), yPosRL ] +
fL[ xPhase, 4 ] * rlPicSampleL[ Clip3( 0, refW - 1, xRef + 1 ), yPosRL ] + (H-38)
fL[ xPhase, 5 ] * rlPicSampleL[ Clip3( 0, refW - 1, xRef + 2 ), yPosRL ] +
fL[ xPhase, 6 ] * rlPicSampleL[ Clip3( 0, refW - 1, xRef + 3 ), yPosRL ] +
fL[ xPhase, 7 ] * rlPicSampleL[ Clip3( 0, refW - 1, xRef + 4 ), yPosRL ] )  >>  shift1
그렇지 않은 경우, 샘플 값 tempArray[ n ](단, n = 0..7임)은 다음과 같이 도출된다:
refOffset = ( sps_ref_wraparound_offset_minus1 + 1 ) * MinCbSizeY
tempArray[ n ] = ( fL[ xPhase, 0 ] * rlPicSampleL[ ClipH( refOffset, refW, xRef - 3 ), yPosRL ] +
fL[ xPhase, 1 ] * rlPicSampleL[ ClipH( refOffset, refW, xRef - 2 ), yPosRL ] +
fL[ xPhase, 2 ] * rlPicSampleL[ ClipH( refOffset, refW, xRef - 1 ), yPosRL ] +
fL[ xPhase, 3 ] * rlPicSampleL[ ClipH( refOffset, refW, xRef ), yPosRL ] +
fL[ xPhase, 4 ] * rlPicSampleL[ ClipH( refOffset, refW, xRef + 1 ), yPosRL ] +
fL[ xPhase, 5 ] * rlPicSampleL[ ClipH( refOffset, refW, xRef + 2 ), yPosRL ] +
fL[ xPhase, 6 ] * rlPicSampleL[ ClipH( refOffset, refW, xRef + 3 ), yPosRL ] +
fL[ xPhase, 7 ] * rlPicSampleL[ ClipH( refOffset, refW, xRef + 4 ), yPosRL ] )
  >>  shift1
...
sps_ref_wraparound_enabled_flag가 0과 동일한 경우, 샘플 값 tempArray[ n ](단, n = 0..3임)은 다음과 같이 도출된다:
tempArray[ n ] = ( fC[ xPhase, 0 ] * rlPicSampleC[ Clip3( 0, refWC - 1, xRef - 1 ), yPosRL ] +
fC[ xPhase, 1 ] * rlPicSampleC[ Clip3( 0, refWC - 1, xRef ), yPosRL ] +
fC[ xPhase, 2 ] * rlPicSampleC[ Clip3( 0, refWC - 1, xRef + 1 ), yPosRL ] + (H-50)
fC[ xPhase, 3 ] * rlPicSampleC[ Clip3( 0, refWC - 1, xRef + 2 ), yPosRL ] )  >>  shift1
그렇지 않은 경우, 샘플 값 tempArray[ n ](단, n = 0..3임)은 다음과 같이 도출된다:
refOffset = ( sps_ref_wraparound_offset_minus1 + 1 ) * MinCbSizeY ) / SubWidthC
tempArray[ n ] = ( fC[ xPhase, 0 ] * rlPicSampleC[ ClipH( refOffset, refWC, xRef - 1 ), yPosRL ] +
fC[ xPhase, 1 ] * rlPicSampleC[ ClipH( refOffset, refWC, xRef ), yPosRL ] +
fC[ xPhase, 2 ] * rlPicSampleC[ ClipH( refOffset, refWC, xRef + 1 ), yPosRL ] +
fC[ xPhase, 3 ] * rlPicSampleC[ ClipH( refOffset, refWC, xRef + 2 ), yPosRL ] )
  >>  shift1
2.2.4. JVET-N0052
적응적 해상도 변경은, 비디오 압축 표준들에서의 개념으로서, 적어도 1996년경부터 존재해 왔으며; 특히 참조 픽처 리샘플링(RPR, 부록 P) 및 감소된 해상도 업데이트(부록 Q)에 대한 H.263+ 관련 제안들. 이는 최근에 어느 정도 두각을 나타내었으며, 처음에 JCT-VC 시대 동안 Cisco에 의한 제안들로, 이어서 VP9(요즘 적당히 널리 배포됨)와 관련하여, 그리고 보다 최근에는 VVC와 관련하여 어느 정도 두각을 나타내었다. ARC는 주어진 픽처에 대해 코딩될 필요가 있는 샘플들의 수를 감소시키는 것 및 결과적인 참조 픽처를, 바람직한 경우, 보다 높은 해상도로 업샘플링하는 것을 가능하게 한다.
특히 관심 있는 ARC는 두 가지 시나리오에서 고려된다:
1) IDR 픽처들과 같은, 인트라 코딩된 픽처들은 종종 인터 픽처들보다 상당히 더 크다. 이유에 관계없이, 인트라 코딩되도록 의도된 픽처들을 다운샘플링하는 것은 미래 예측을 위한 보다 나은 입력을 제공할 수 있다. 이는 또한, 적어도 저지연 응용 분야들에서, 레이트 제어 관점에서 분명히 유리하다.
2) 적어도 일부 케이블 및 위성 통신사업자들이 일상적으로 하는 것처럼 보이는 바와 같이, 코덱을 그의 한계점 근처에서 작동시킬 때, ARC는, 하드 전환 지점(hard transition point)이 없는 장면 전환들에서와 같이, 인트라 코딩되지 않은 픽처들에 대해서도 유용할 수 있다.
3) 아마도 조금 너무 많이 앞을 내다보면: 고정 해상도의 개념이 일반적으로 옹호될 수 있는가? CRT에서 벗어나고 렌더링 디바이스들에 스케일링 엔진들이 편재함에 따라, 렌더링과 코딩 해상도 간의 강한 연계(hard bind)는 과거의 일이 되었다. 또한, 비디오 시퀀스에서 많은 활동이 진행 중일 때, 해당 활동이 공간적으로 다른 곳에서 있더라도, 대부분의 사람들이 미세한 세부 사항들(아마도 고해상도와 연관됨)에 집중할 수 없음을 암시하는 특정 연구가 있음에 유의한다. 그것이 사실이고 일반적으로 받아들여진다면, 미세 입도 해상도 변경들은 적응적 QP보다 나은 레이트 제어 메커니즘일 수 있다. 이 점이 지금 논의하기 위한 것이다. 고정 해상도 비트스트림이라는 개념을 버리는 것은, (적어도 상세한 특성은 아닐지라도 존재 레벨에서) 잘 알고 있는, 무수한 시스템 계층 및 구현 영향들을 가진다.
기술적으로, ARC는 참조 픽처 리샘플링으로서 구현될 수 있다. 참조 픽처 리샘플링을 구현하는 것은 두 가지 주요 측면, 즉 리샘플링 필터, 및 비트스트림에서의 리샘플링 정보의 시그널링을 갖는다. 본 문서는 후자에 초점을 맞추고 구현 경험이 있는 정도까지 전자를 다룬다. 적합한 필터 설계에 대한 보다 많은 연구가 권장되며, Tencent는 제공된 초기 설계(strawman design)를 실질적으로 개선시키는 임의의 제안들을 신중하게 고려하고, 적절한 경우, 그와 관련하여 지원할 것이다.
Tencent의 ARC 구현의 개관
도 11과 도 12는, 제각기, Tencent의 ARC 인코더 및 디코더 구현들을 예시한다. 개시된 기술의 구현들은, 픽처 유형에 관계없이 픽처 입도별로, 픽처 폭 및 높이를 변경하는 것을 가능하게 한다. 인코더에서, 입력 이미지 데이터는 현재 픽처 인코딩을 위한 선택된 픽처 크기로 다운샘플링된다. 첫 번째 입력 픽처가 인트라 픽처로서 인코딩된 후에, 디코딩된 픽처는 디코딩된 픽처 버퍼(DPB)에 저장된다. 결과적인 픽처가 상이한 샘플링 비로 다운샘플링되고 인터 픽처로서 인코딩될 때, DPB에 있는 참조 픽처(들)는 참조의 픽처 크기와 현재 픽처 크기 사이의 공간 비에 따라 업스케일링/다운스케일링된다. 디코더에서, 디코딩된 픽처는 리샘플링 없이 DPB에 저장된다. 그렇지만, DPB에 있는 참조 픽처는, 모션 보상을 위해 사용될 때, 현재 디코딩된 픽처와 참조 사이의 공간 비와 관련하여 업스케일링/다운스케일링된다. 디코딩된 픽처는 디스플레이를 위해 범프 아웃될 때 원래 픽처 크기 또는 원하는 출력 픽처 크기로 업샘플링된다. 모션 추정/보상 프로세스에서, 모션 벡터들이 픽처 크기 비는 물론 픽처 순서 카운트 차이와 관련하여 스케일링된다.
ARC 파라미터들의 시그널링
ARC 파라미터들이라는 용어는 본 명세서에서 ARC가 작동하도록 하는 데 필요한 임의의 파라미터들의 조합으로서 사용된다. 가장 쉬운 경우에, 이는 줌 인자, 또는 정의된 줌 인자들을 갖는 테이블에 대한 인덱스일 수 있다. 이는 (예를 들면, 샘플 또는 최대 CU 크기 입도의) 목표 해상도, 또는, JVET-M0135에서 제안된 것과 같은, 목표 해상도를 제공하는 테이블에 대한 인덱스일 수 있다. 또한 사용 중인 업샘플링 필터/다운샘플링 필터의 필터 선택기들 또는 심지어 필터 파라미터들(필터 계수들까지 완전히)이 포함될 것이다.
처음부터, 본 명세서에서 제안된 구현들은, 적어도 개념적으로, 픽처의 상이한 부분들에 대해 상이한 ARC 파라미터들을 허용한다. 현재 VVC 초안에 따른 적절한 신택스 구조가 직사각형 타일 그룹(TG)일 것임이 제안된다. 스캔 순서 TG들을 사용하는 것들은 전체 화면에 대해서만 ARC를 사용하도록 또는 스캔 순서 TG들이 직사각형 TG에 포함되는 한 ARC를 사용하도록 제한된다. 이는 비트스트림 제약에 의해 쉽게 지정할 수 있다.
상이한 TG들이 상이한 ARC 파라미터들을 가질 수 있으므로, ARC 파라미터들에 대한 적절한 위치는 TG 헤더에 있거나 TG의 범위를 갖는 파라미터 세트에 있고 TG 헤더 - 현재 VVC 초안에서의 적응 파라미터 세트, 또는 상위 파라미터 세트에 있는 테이블에 대한 보다 자세한 참조(인덱스) - 에 의해 참조될 것이다. 이 세 가지 선택 사항 중에서, 이 시점에서, TG 헤더를 사용하여 ARC 파라미터들을 포함하는 테이블 엔트리에 대한 참조를 코딩하는 것 및 해당 테이블이 SPS에 위치하며 최대 테이블 값들이 (향후) DPS에 코딩되는 것이 제안된다. 어떠한 파라미터 세트 값들도 사용하지 않고, 줌 인자가 TG 헤더에 직접 코딩될 수 있다. 참조를 위한 PPS의 사용은, JVET-M0135에서 제안된 바와 같이, ARC 파라미터들의 타일 그룹별 시그널링이 설계 기준인 경우 반대 표시된다.
테이블 엔트리들 자체의 경우, 이하의 옵션들이 이용 가능하다:
- 코딩 다운샘플 인자들, 양쪽 치수에 대해 어느 하나 또는 X 및 Y 치수에서 독립적으로? 그것은 대부분 (HW-) 구현 논의이며, 일부는 X 치수에서의 줌 인자가 상당히 유연하지만 Y 치수에서 1로 고정되거나 선택 사항이 거의 없는 결과를 선호할 것이다. 신택스가 그러한 제약들을 표현하기 위한 잘못된 위치이며, 바람직한 경우, 적합성에 대한 요구사항들로서 표현된 제약들이 선호된다는 것이 제안된다. 환언하면, 신택스를 유연하게 유지한다.
- 코딩 목표 해상도들은 아래에서 제안된다. 아마도 비트스트림 적합성 요구사항들에 표현되는, 현재 해상도와 관련하여 이러한 해상도들에 관한 다소 복잡한 제약들이 있을 수 있다.
- 픽처 합성/추출을 가능하게 하기 위해 타일 그룹당 다운샘플링이 선호된다. 그렇지만, 시그널링 관점에서 이는 중요하지 않다. 그룹이 픽처 입도에서만 ARC를 허용하는 현명하지 못한 결정을 내리는 경우, 모든 TG들이 동일한 ARC 파라미터들을 사용하는 비트스트림 적합성에 대한 요구사항이 포함될 수 있다.
- ARC에 관련된 제어 정보. 아래의 설계에서, 이는 참조 픽처 크기를 포함한다.
- 필터 설계의 유연성이 필요한가? 소수의 코드포인트들보다 더 큰 것인가? 그렇다면, APS에 넣을 것인가? 일부 구현들에서, 다운샘플 필터가 변경되고 ALF가 유지되는 경우, 비트스트림이 오버헤드를 감수해야 하는 것이 제안된다.
현재로서는, 제안된 기술을 정렬하고 (가능한 한) 단순하게 유지하기 위해, 이하가 제안된다:
- 고정 필터 설계
- SPS에서의 테이블에서 목표 해상도들, 비트스트림 제약들은 미정임.
- 캡 교환/협상을 용이하게 하는 DPS에서의 최소/최대 목표 해상도.
결과적인 신택스는 다음과 같을 수 있다:
[표 6]
Figure 112021126741716-pct00005
max_pic_width_in_luma_samples는 비트스트림에서 루마 샘플 단위로 디코딩된 픽처들의 최대 폭을 지정한다. max_pic_width_in_luma_samples는 0과 동일하지 않아야 하며 MinCbSizeY의 정수배여야 한다. dec_pic_width_in_luma_samples[ i ]의 값은 max_pic_width_in_luma_samples의 값보다 클 수 없다.
max_pic_height_in_luma_samples는 루마 샘플 단위로 디코딩된 픽처들의 최대 높이를 지정한다. max_pic_height_in_luma_samples는 0과 동일하지 않아야 하고 MinCbSizeY의 정수배여야 한다. dec_pic_height_in_luma_samples[ i ]의 값은 max_pic_height_in_luma_samples의 값보다 클 수 없다.
[표 7]
Figure 112021126741716-pct00006
Figure 112021126741716-pct00007
adaptive_pic_resolution_change_flag가 1과 동일한 것은 출력 픽처 크기(output_pic_width_in_luma_samples, output_pic_height_in_luma_samples), 디코딩된 픽처 크기들의 수의 표시(num_dec_pic_size_in_luma_samples_minus1) 및 적어도 하나의 디코딩된 픽처 크기(dec_pic_width_in_luma_samples[ i ], dec_pic_height_in_luma_samples[ i ])가 SPS에 존재한다는 것을 지정한다. reference_pic_size_present_flag의 값에 따라 참조 픽처 크기(reference_pic_width_in_luma_samples, reference_pic_height_in_luma_samples)가 존재한다.
output_pic_width_in_luma_samples는 루마 샘플 단위로 출력 픽처의 폭을 지정한다. output_pic_width_in_luma_samples는 0과 동일하지 않아야 한다.
output_pic_height_in_luma_samples는 루마 샘플 단위로 출력 픽처의 높이를 지정한다. output_pic_height_in_luma_samples는 0과 동일하지 않아야 한다.
reference_pic_size_present_flag가 1과 동일한 것은 reference_pic_width_in_luma_samples 및 reference_pic_height_in_luma_samples가 존재한다는 것을 지정한다.
reference_pic_width_in_luma_samples는 루마 샘플 단위로 참조 픽처의 폭을 지정한다. output_pic_width_in_luma_samples는 0과 동일하지 않아야 한다. 존재하지 않는 경우, reference_pic_width_in_luma_samples의 값은 dec_pic_width_in_luma_samples[ i ]와 동일한 것으로 추론된다.
reference_pic_height_in_luma_samples는 루마 샘플 단위로 참조 픽처의 높이를 지정한다. output_pic_height_in_luma_samples는 0과 동일하지 않아야 한다. 존재하지 않는 경우, reference_pic_height_in_luma_samples의 값은 dec_pic_height_in_luma_samples[ i ]와 동일한 것으로 추론된다.
비고 1 - 출력 픽처의 크기는 output_pic_width_in_luma_samples 및 output_pic_height_in_luma_samples의 값들과 동일해야 한다. 참조 픽처가 모션 보상을 위해 사용될 때, 참조 픽처의 크기는 reference_pic_width_in_luma_samples 및 reference_pic_height_in_luma_samples의 값들과 동일해야 한다.
num_dec_pic_size_in_luma_samples_minus1 + 1은 코딩된 비디오 시퀀스에서 루마 샘플 단위로 디코딩된 픽처 크기(dec_pic_width_in_luma_samples[ i ], dec_pic_height_in_luma_samples[ i ] )의 수를 지정한다.
dec_pic_width_in_luma_samples[ i ]는 코딩된 비디오 시퀀스에서 루마 샘플 단위로 디코딩된 픽처 크기들의 i 번째 폭을 지정한다. dec_pic_width_in_luma_samples[ i ]는 0과 동일하지 않아야 하고 MinCbSizeY의 정수배여야 한다.
dec_pic_height_in_luma_samples[ i ]는 코딩된 비디오 시퀀스에서 루마 샘플 단위로 디코딩된 픽처 크기들의 i 번째 높이를 지정한다. dec_pic_height_in_luma_samples[ i ]는 0과 동일하지 않아야 하고 MinCbSizeY의 정수배여야 한다.
비고 2 - i 번째 디코딩된 픽처 크기(dec_pic_width_in_luma_samples[ i ], dec_pic_height_in_luma_samples[ i ] )는 코딩된 비디오 시퀀스에서 디코딩된 픽처의 디코딩된 픽처 크기와 동일할 수 있다.
[표 8]
Figure 112021126741716-pct00008
dec_pic_size_idx는 디코딩된 픽처의 폭이 pic_width_in_luma_samples[ dec_pic_size_idx ]와 동일해야 하고 디코딩된 픽처의 높이가 pic_height _in_luma_samples[ dec_pic_size_idx ]와 동일해야 한다는 것을 지정한다.
필터들
제안된 설계는 개념적으로 4 가지 상이한 필터 세트, 즉 원래 픽처로부터 입력 픽처로의 다운샘플링 필터, 모션 추정/보상을 위해 참조 픽처들을 리스케일링하는 업샘플링 필터/다운샘플링 필터, 및 디코딩된 픽처로부터 출력 픽처로의 업샘플링 필터를 포함한다. 첫 번째 것과 마지막 것은 비규범적인 문제로 남겨둘 수 있다. 사양 범위에서, 업샘플링 필터/다운샘플링 필터는 적절한 파라미터 세트에서 명시적으로 시그널링되거나 미리 정의될 필요가 있다.
우리의 구현은 모션 보상에 사용될 참조 픽처를 크기 조정하도록 다운샘플링하기 위해, 12 탭 및 2D 분리 가능한 필터인, SHVC(SHM 버전 12.4)의 다운샘플링 필터들을 사용한다. 현재 구현에서, 이분구간 샘플링(dyadic sampling)만이 지원된다. 따라서, 다운샘플링 필터의 위상은 기본적으로 0과 동일하게 설정된다. 업샘플링의 경우, 8 탭 보간 필터들은, 16 단계로, 위상을 천이시키고 루마 및 크로마 픽셀 위치들을 원래 위치들과 정렬시키는 데 사용된다.
표 9 및 표 10은 루마 업샘플링 프로세스에 사용되는 8 탭 필터 계수들 fL[ p, x ](단, p = 0..15이고 x = 0..7임) 및 크로마 업샘플링 프로세스에 사용되는 4 탭 필터 계수들 fC[ p, x ](단, p = 0..15이고 x = 0..3임)를 제공한다.
표 11은 다운샘플링 프로세스에 대한 12 탭 필터 계수들을 제공한다. 다운샘플링을 위해 루마와 크로마 둘 모두에 대해 동일한 필터 계수들이 사용된다.
[표 9]
Figure 112021126741716-pct00009
[표 10]
Figure 112021126741716-pct00010
[표 11]
Figure 112021126741716-pct00011
콘텐츠 및/또는 스케일링 인자들에 적응적인 필터들을 사용할 때 (아마도 상당한) 주관적이고 객관적인 이득들이 예상될 수 있음이 예견된다.
타일 그룹 경계 논의
많은 타일 그룹 관련 연구에서 아마도 그러한 것처럼, 타일 그룹(TG) 기반 ARC와 관련하여 우리의 구현이 완전히 완료된 것은 아니다. 우리가 선호하는 것은 합성된 픽처로의 다수의 서브픽처들의, 압축 도메인에서의, 공간 합성 및 추출에 대한 논의가 적어도 작업 초안을 산출했을 때 그 구현을 재고하는 것이다. 그렇지만, 그렇게 하는 것이 결과를 어느 정도 외삽하고 우리의 시그널링 설계를 그에 따라 적응시키는 것을 방해하지 않는다.
현재로서는, 이미 언급된 이유들로, 타일 그룹 헤더가 위에서 제안된 바와 같은 dec_pic_size_idx와 같은 것에 대한 올바른 위치이다. 타일 그룹 헤더에 조건부로 존재하는, 단일 ue(v) 코드포인트 dec_pic_size_idx는 이용된 ARC 파라미터들을 표시하는 데 사용된다. 픽처당 ARC일 뿐인 구현과 매칭시키기 위해, 사양 공간에서, 단일 타일 그룹만을 코딩하거나 주어진 코딩된 픽처의 모든 TG 헤더들이 dec_pic_size_idx(존재하는 경우)의 동일한 값을 갖는다는 비트스트림 적합성의 조건을 충족시킬 필요가 있다.
dec_pic_size_idx 파라미터는 서브픽처를 시작하는 어느 헤더로든 이동될 수 있다. 이는 계속해서 타일 그룹 헤더일 수 있다.
이러한 신택스적 고려사항들 외에도, 타일 그룹 또는 서브픽처 기반 ARC를 가능하게 하기 위해 몇 가지 추가적인 연구가 필요하다. 아마도 가장 어려운 부분은 서브픽처가 보다 낮은 크기로 리샘플링된 픽처에서의 불필요한 샘플들의 문제를 어떻게 해결할지이다.
도 13은 ARC에 대한 타일 그룹 기반 리샘플링의 예를 도시한다. 4 개의 서브픽처(비트스트림 신택스에서 아마도 4 개의 직사각형 타일 그룹으로 표현됨)로 구성되는 우측 픽처를 고려한다. 좌측에서, 우측 하부 TG는 절반 크기로 서브샘플링된다. "절반"으로 마킹된 관련 영역 외부의 샘플들을 어떻게 할지가 논의될 필요가 있다.
많은(대부분? 모든?) 이전 비디오 코딩 표준들은 압축 도메인에서의 픽처의 부분들의 공간 추출이 지원되지 않았다는 공통점이 있었다. 이는 픽처의 각각의 샘플이 하나 이상의 신택스 요소로 표현되고 각각의 신택스 요소들이 적어도 하나의 샘플에 영향을 미친다는 것을 의미하였다. 이를 유지하기 위해, "절반"으로 라벨링된 다운샘플링된 TG에 의해 커버되는 샘플들 주위의 영역을 어떻게든 채울 필요가 있을 수 있다. H.263 부록 P는 패딩으로 이 문제를 해결하였다; 사실, 패딩된 샘플들의 샘플 값들은 (특정 엄격한 제한 내에서) 비트스트림에서 시그널링될 수 있다.
이전 가정들로부터 아마도 크게 벗어날 것이지만 어쨌든 픽처의 직사각형 부분들에 기초한 서브비트스트림 추출(및 합성)을 지원하는 데 필요할 수 있는 대안은 재구성된 픽처의 각각의 샘플이 코딩된 픽처에서의 무언가(그 무언가가 단지 스킵된 블록일지라도)에 의해 표현될 필요가 있다는 현재의 이해를 완화시키는 것이다.
구현 고려사항들, 시스템 영향들 및 프로필들/레벨들
"베이스라인/메인" 프로필들에 포함될 기본 ARC가 제안된다. 특정 응용 시나리오들에 필요하지 않을 경우 이들을 제거하기 위해 서브프로파일링(sub-profiling)이 사용될 수 있다. 특정 제한사항들이 용인 가능할 수 있다. 그와 관련하여, 특정 H.263+ 프로필들 및 "권장 모드들"(이전 프로필들)이 "암시적 인자 4", 즉 양쪽 치수들에서 이분구간 다운샘플링으로만 사용될 부록 P에 대한 제한사항들을 포함하고 있다는 점에 유의한다. 화상 회의에서 빠른 시작(I 프레임을 빠르게 넘어감)을 지원하기에 그것으로 충분하였다.
모든 필터링이 "즉시(on the fly)" 수행될 수 있고 메모리 대역폭의 증가가 없거나 단지 무시할 정도이도록 설계되었다. 지금까지는, ARC를 색다른 프로필들에 넣을 필요가 없는 것 같다.
복잡한 테이블 등은, JVET-M0135와 관련하여 마라케시에서 논의된 바와 같이, 능력 교환에서 의미 있게 사용되지 않을 수 있다. 제안-응답 및 유사한 제한된 깊이의 핸드셰이크를 가정할 때, 의미 있는 벤더 간 상호운용을 허용하기 위해 옵션들의 수가 그저 너무 많다. 지금까지, 현실적으로, 능력 교환 시나리오에서 의미 있는 방식으로 ARC를 지원하기 위해, 기껏해야 소수의 상호운용 지점으로 폴백해야 한다. 예를 들어, ARC 없음, 암시적 인자 4를 갖는 ARC, 전체 ARC. 대안으로서, 모든 ARC에 필요한 지원을 지정하고 비트스트림 복잡성에서의 제한사항들을 상위 레벨 SDO에 넘기는 것이 가능하다. 그것은 (서브프로파일링 및 플래그 맥락에서 이미 논의된 것 이외에) 어쨌든 어느 시점에서 행해질 전략적 논의이다.
레벨에 관해: 기본 설계 원칙은, 비트스트림 적합성의 조건으로서, 업샘플링된 픽처들의 샘플 카운트가 비트스트림에서 업샘플링이 얼마만큼 시그널링되는지에 관계없이 비트스트림의 레벨에 맞아야 하고 모든 샘플들이 업샘플링된 코딩된 픽처에 맞아야 한다는 것이다. 이것은 H263+의 경우가 아니었다는 점에 유의하고; 거기서는, 특정 샘플들이 존재하지 않았을 가능성이 있었다.
2.2.5. JVET-N0118
이하의 측면들이 제안된다:
1. 픽처 해상도들의 리스트가 SPS에서 시그널링되고, 리스트에 대한 인덱스는 개별 픽처의 크기를 지정하기 위해 PPS에서 시그널링된다.
2. 출력될 임의의 픽처에 대해, 리샘플링 이전의 디코딩된 픽처는 (필요에 따라) 크로핑되어 출력된다, 즉, 리샘플링된 픽처는 출력을 위한 것이 아니라 단지 인터 예측 참조를 위한 것이다.
3. 1.5x 및 2x 리샘플링 비를 지원한다. 임의적인 리샘플링 비를 지원하지 않는다. 하나 또는 둘 이상의 다른 리샘플링 비의 필요성에 대해 추가로 연구한다.
4. 픽처 레벨 리샘플링과 블록 레벨 리샘플링 사이에서, 제안자들은 블록 레벨 리샘플링을 선호한다.
a. 그렇지만, 픽처 레벨 리샘플링이 선택되는 경우, 이하의 측면들이 제안된다:
i. 참조 픽처가 리샘플링될 때, 리샘플링된 버전과 참조 픽처의 원래 리샘플링된 버전 둘 모두가 DPB에 저장되며, 따라서 둘 모두가 DPB 충만도에 영향을 미칠 것이다.
ii. 리샘플링된 참조 픽처는 대응하는 리샘플링되지 않은 참조 픽처가 "참조에 사용되지 않음"으로 마킹될 때 "참조에 사용되지 않음"으로 마킹된다.
iii. RPL 시그널링 신택스는 변경되지 않은 채로 유지되는 반면, RPL 구성 프로세스는 다음과 같이 수정된다: 참조 픽처가 RPL 엔트리에 포함될 필요가 있고 현재 픽처와 동일한 해상도를 가진 해당 참조 픽처의 버전이 DPB에 없을 때, 픽처 리샘플링 프로세스가 호출되고 해당 참조 픽처의 리샘플링된 버전이 RPL 엔트리에 포함된다.
iv. DPB에 존재할 수 있는 리샘플링된 참조 픽처들의 수는, 예를 들면, 2 이하로 제한되어야 한다.
b. 그렇지 않은 경우(블록 레벨 리샘플링이 선택됨), 이하가 제안된다:
i. 최악의 디코더 복잡도를 제한하기 위해, 현재 픽처와 상이한 해상도를 갖는 참조 픽처로부터의 블록의 양방향 예측이 허용되지 않는 것이 제안된다.
ii. 다른 옵션은, 리샘플링 및 1/4 펠 보간이 행해질 필요가 있을 때, 2 개의 필터가 결합되고 동작이 한 번에 적용되는 것이다.
5. 픽처 기반 및 블록 기반 리샘플링 접근법들 중 어느 것이 선택되든 관계없이, 필요에 따라 시간 모션 벡터 스케일링이 적용되는 것이 제안된다.
2.2.5.1. 구현
ARC 소프트웨어는 VTM-4.0.1 외에 이하의 변경들로 구현되었다:
- 지원되는 해상도들의 리스트가 SPS에서 시그널링된다.
- 공간 해상도 시그널링이 SPS로부터 PPS로 이동되었다.
- 참조 픽처들을 리샘플링하기 위해 픽처 기반 리샘플링 방식이 구현되었다. 픽처가 디코딩된 후에, 재구성된 픽처는 상이한 공간 해상도로 리샘플링될 수 있다. 원래의 재구성된 픽처와 리샘플링된 재구성된 픽처는 둘 모두 DPB에 저장되며 디코딩 순서에서 미래의 픽처들에 의한 참조에 이용 가능하다.
- 구현된 리샘플링 필터들은, 다음과 같이, JCTVC-H0234에서 테스트된 필터들에 기초한다:
-- 업샘플링 필터: 탭들 (-4, 54, 16, -2)/64를 갖는 4 탭 +/- 1/4 위상 DCTIF
-- 다운샘플링 필터: 탭들 (1, 0, -3, 0, 10, 16, 10, 0, -3, 0, 1)/32를 갖는 h11 필터
- 현재 픽처의 참조 픽처 리스트들(즉, L0 및 L1)을 구성할 때, 현재 픽처와 동일한 해상도를 갖는 참조 픽처들만이 사용된다. 참조 픽처들이 그들의 원래 크기들 또는 리샘플링된 크기들 둘 모두로 이용 가능할 수 있음에 유의한다.
- TMVP 및 ATVMP가 인에이블될 수 있지만; 현재 픽처와 참조 픽처의 원래 코딩 해상도들이 상이할 때, 해당 참조 픽처에 대해 TMVP 및 ATMVP가 디스에이블된다.
- 시작점 소프트웨어 구현의 편의성과 단순성을 위해, 픽처를 출력할 때, 디코더는 이용 가능한 최고 해상도를 출력한다.
픽처 크기 및 픽처 출력의 시그널링에 대해
1. 비트스트림에서의 코딩된 픽처들의 공간 해상도들의 리스트에 대해
현재 CVS에서의 모든 코딩된 픽처들은 동일한 해상도를 갖는다. 따라서, SPS에서 단지 하나의 해상도(즉, 픽처 폭 및 높이)를 시그널링하는 것은 간단하다. ARC 지원으로, 하나의 해상도 대신에, 픽처 해상도들의 리스트가 시그널링될 필요가 있다. 이 리스트가 SPS에서 시그널링되고 리스트에 대한 인덱스가 개별 픽처의 크기를 지정하기 위해 PPS에서 시그널링되는 것이 제안된다.
2. 픽처 출력에 대해
출력될 임의의 픽처에 대해, 리샘플링 이전의 디코딩된 픽처가 (필요에 따라) 크로핑되어 출력되는 것, 즉, 리샘플링된 픽처가 출력을 위한 것이 아니라 단지 인터 예측 참조를 위한 것이 제안된다. ARC 리샘플링 필터들은 인터 예측을 위해 리샘플링된 픽처들의 사용을 최적화하도록 설계될 필요가 있으며, 그러한 필터들은 픽처 출력/디스플레이 목적에 최적이 아닐 수 있는 반면, 비디오 단말 디바이스들은 보통 최적화된 출력 줌잉/스케일링 기능들이 이미 구현되어 있다.
2.2.5.3. 리샘플링에 대해
디코딩된 픽처의 리샘플링은 픽처 기반 또는 블록 기반일 수 있다. VVC에서의 최종 ARC 설계의 경우, 블록 기반 리샘플링이 픽처 기반 리샘플링보다 선호된다. 이 두 가지 접근법이 논의되고 JVET가 VVC에서 ARC 지원을 위해 이 두 가지 중 어느 것이 지정되어야 하는지를 결정하는 것이 권장된다.
픽처 기반 리샘플링
ARC를 위한 픽처 기반 리샘플링에서, 픽처는 특정 해상도에 대해 한 번만 리샘플링되고, 이는 이어서 DPB에 저장되는 반면, 동일한 픽처의 리샘플링되지 않은 버전도 DPB에 보관된다.
ARC를 위해 픽처 기반 리샘플링을 이용하는 것은 두 가지 문제가 있다: 1) 리샘플링된 참조 픽처들을 저장하기 위해 추가적인 DPB 버퍼가 필요하고, 2) DPB로부터 참조 픽처 데이터를 판독하고 DPB에 참조 픽처 데이터를 기입하는 동작들의 증가로 인해 추가적인 메모리 대역폭이 필요하다.
DPB에 참조 픽처의 한 버전만을 유지하는 것은 픽처 기반 리샘플링에 대한 좋은 착상이 아닐 것이다. 리샘플링되지 않은 버전만이 유지되는 경우, 다수의 픽처들이 동일한 참조 픽처를 참조할 수 있으므로 참조 픽처가 여러 번 리샘플링될 필요가 있을 수 있다. 다른 한편으로, 참조 픽처가 리샘플링되고 리샘플링된 버전만이 유지되는 경우, 위에서 논의된 바와 같이, 리샘플링되지 않은 픽처들을 출력하는 것이 더 나으므로, 참조 픽처가 출력될 필요가 있을 때 역 리샘플링이 적용될 필요가 있다. 이것이 문제인 이유는 리샘플링 프로세스가 무손실 동작이 아니기 때문이다. 픽처 A를 취하고 이를 다운샘플링한 다음에 이를 업샘플링하여 A와 동일한 해상도를 갖는 A'을 얻는 경우, A와 A'은 동일하지 않을 것이며; A'은 다운샘플링 및 업샘플링 프로세스들 동안 일부 고주파 정보가 손실되었기 때문에 A보다 적은 정보를 포함할 것이다.
추가적인 DPB 버퍼 및 메모리 대역폭의 문제들을 처리하기 위해, VVC에서의 ARC 설계가 픽처 기반 리샘플링을 사용하는 경우, 이하가 적용되는 것이 제안된다.
1. 참조 픽처가 리샘플링될 때, 리샘플링된 버전과 참조 픽처의 원래 리샘플링된 버전 둘 모두가 DPB에 저장되며, 따라서 둘 모두가 DPB 충만도에 영향을 미칠 것이다.
2. 리샘플링된 참조 픽처는 대응하는 리샘플링되지 않은 참조 픽처가 "참조에 사용되지 않음"으로 마킹될 때 "참조에 사용되지 않음"으로 마킹된다.
3. 각각의 타일 그룹의 참조 픽처 리스트들(RPL들)은 현재 픽처와 동일한 해상도를 갖는 참조 픽처들을 포함한다. RPL 시그널링 신택스에 대한 변경이 필요하지 않지만, RPL 구성 프로세스는, 다음과 같이, 이전 문장에서 말한 것을 보장하도록 수정된다. 참조 픽처가 RPL 엔트리에 포함될 필요가 있는 반면 현재 픽처와 동일한 해상도를 가진 해당 참조 픽처의 버전이 아직 이용 가능하지 않을 때, 픽처 리샘플링 프로세스가 호출되고 해당 참조 픽처의 리샘플링된 버전이 포함된다.
4. DPB에 존재할 수 있는 리샘플링된 참조 픽처들의 수는, 예를 들면, 2 이하로 제한되어야 한다.
게다가, 시간 MV가 현재 해상도와 상이한 해상도를 갖는 참조 프레임으로부터 온 것인 경우에 대해 시간 MV 사용(예를 들면, 병합 모드 및 ATMVP)을 가능하게 하기 위해, 필요에 따라 시간 MV를 현재 해상도로 스케일링하는 것이 제안된다.
블록 기반 ARC 리샘플링
ARC를 위한 블록 기반 리샘플링에서, 참조 블록은 필요할 때마다 리샘플링되고, 리샘플링된 픽처는 DPB에 저장되지 않는다.
여기서의 주된 문제는 추가적인 디코더 복잡도이다. 이러한 이유는 참조 픽처에서의 블록이 다른 픽처에서의 다수의 블록들에 의해 그리고 다수의 픽처들에서의 블록들에 의해 여러 번 참조될 수 있기 때문이다.
참조 픽처에서의 블록이 현재 픽처에서의 블록에 의해 참조되고 참조 픽처와 현재 픽처의 해상도들이 상이할 때, 참조 블록이 정수 펠 해상도를 갖도록 보간 필터의 호출에 의해 참조 블록이 리샘플링된다. 모션 벡터가 1/4 펠 단위일 때, 1/4 펠 해상도에서의 리샘플링된 참조 블록을 획득하기 위해 보간 프로세스가 다시 호출된다. 따라서, 상이한 해상도들을 수반하는 참조 블록으로부터 현재 블록에 대한 각각의 모션 보상 동작에 대해, 하나가 아닌 최대 2 개의 보간 필터링 동작이 필요하다. ARC 지원이 없는 경우, (즉, 1/4 펠 해상도에서의 참조 블록의 생성을 위해) 최대 단지 하나의 보간 필터 동작이 필요하다.
최악의 복잡도를 제한하기 위해, VVC에서의 ARC 설계가 블록 기반 리샘플링을 사용하는 경우, 이하가 적용되는 것이 제안된다:
- 현재 픽처와 상이한 해상도를 갖는 참조 픽처로부터의 블록의 양방향 예측이 허용되지 않는다.
- 좀 더 정확히 말하면, 제약은 다음과 같다: 현재 픽처 picA에서의 현재 블록 blkA가 참조 픽처 picB에서의 참조 블록 blkB를 참조하는 경우, picA와 picB가 상이한 해상도를 가질 때, 블록 blkA는 단방향 예측된 블록이어야 한다.
이 제약으로, 블록을 디코딩하는 데 필요한 최악의 보간 동작 수는 2로 제한된다. 블록이 상이한 해상도의 픽처로부터의 블록을 참조하는 경우, 필요한 보간 동작 수는 위에서 논의된 바와 같이 2이다. 이는 블록이 동일한 해상도의 픽처로부터의 참조 블록을 참조하고 보간 동작 수가 또한 2(즉, 각각의 참조 블록에 대해 1/4 펠 해상도를 얻기 위해 하나씩)이기 때문에 양방향 예측된 블록으로서 코딩되는 경우에서와 동일하다.
구현을 단순화하기 위해, VVC에서의 ARC 설계가 블록 기반 리샘플링을 사용하는 경우 이하가 적용되는 다른 변형이 제안된다:
- 참조 프레임과 현재 프레임이 상이한 해상도들을 갖는 경우, 예측자들의 모든 픽셀의 대응하는 위치들이 먼저 계산되고, 이어서 보간이 한 번만 적용된다. 즉, 2 개의 보간 동작(즉, 리샘플링을 위한 것과 1/4 펠 보간을 위한 것)이 단지 하나의 보간 동작으로 결합된다. 현재 VVC에서의 서브펠(sub-pel) 보간 필터들이 재사용될 수 있지만, 이 경우에, 보간의 입도가 확대되어야 하지만 보간 동작 시간 횟수는 2에서 1로 감소된다.
시간 MV가 현재 해상도와 상이한 해상도를 갖는 참조 프레임으로부터 온 것인 경우에 대해 시간 MV 사용(예를 들면, 병합 모드 및 ATMVP)을 가능하게 하기 위해, 필요에 따라 시간 MV를 현재 해상도로 스케일링하는 것이 제안된다.
리샘플링 비
JVET-M0135에서, ARC에 대한 논의를 시작하기 위해, ARC의 시작점에 대해, 단지 2x(업샘플링의 경우 2 x 2 및 다운샘플링의 경우 1/2 x 1/2를 의미함)의 리샘플링 비를 고려하는 것이 제안된다. 마라케시 회의 이후에 이 주제에 대한 추가의 논의로부터, 단지 2x의 리샘플링 비를 지원하는 것이 매우 제한적이라는 것이 밝혀졌는데, 그 이유는, 일부 경우에, 리샘플링된 해상도와 리샘플링되지 않은 해상도 간의 보다 작은 차이가 보다 유리할 것이기 때문이다.
임의적인 리샘플링 비의 지원이 바람직할 수 있지만, 그에 대한 지원이 어려워 보였다. 이러한 이유는, 임의적인 리샘플링 비를 지원하기 위해, 정의되고 구현되어야 하는 리샘플링 필터들의 수가 너무 많아 디코더 구현에 상당한 부담을 줄 것 같았기 때문이다.
둘 이상이지만 적은 수의 리샘플링 비는 지원될 필요가 있지만, 적어도 1.5x 및 2x 리샘플링 비 및 임의적인 리샘플링 비는 지원되지 않는 것이 제안된다.
2.2.5.4. 최대 DPB 버퍼 크기 및 버퍼 충만도
ARC의 경우, DPB는 동일한 CVS 내에 상이한 공간 해상도들의 디코딩된 픽처들을 포함할 수 있다. DPB 관리 및 관련 측면들의 경우, 디코딩된 픽처 단위로 DPB 크기 및 충만도를 계산하는 것이 더 이상 작동하지 않는다.
아래는 ARC가 지원되는 경우 최종 VVC 사양에서 해결될 필요가 있는 몇 가지 특정 측면들 및 가능한 해결책들에 대한 논의이다.
1. MaxDpbSize(즉, DPB에 존재할 수 있는 참조 픽처의 최대 수)를 도출하기 위해 PicSizeInSamplesY(즉, PicSizeInSamplesY = pic_width_in_luma_samples * pic_height_in_luma_samples)의 값을 사용하는 대신, MaxDpbSize의 도출은 MinPicSizeInSamplesY의 값에 기초한다. MinPicSizeInSampleY는 다음과 같이 정의된다:
MinPicSizeInSampleY = (비트스트림에서 가장 작은 픽처 해상도의 폭) *
(비트스트림에서 가장 작은 해상도의 높이)
MaxDpbSize의 도출은 다음과 같이 수정된다(HEVC 방정식에 기초함):
if( MinPicSizeInSamplesY <= ( MaxLumaPs >> 2 ) )
MaxDpbSize = Min( 4 * maxDpbPicBuf, 16 )
else if( MinPicSizeInSamplesY <= ( MaxLumaPs >> 1 ) )
MaxDpbSize = Min( 2 * maxDpbPicBuf, 16 )
else if( MinPicSizeInSamplesY <= ( ( 3 * MaxLumaPs ) >> 2 ) )
MaxDpbSize = Min( ( 4 * maxDpbPicBuf ) / 3, 16 )
else
MaxDpbSize = maxDpbPicBuf
2. 각각의 디코딩된 픽처는 PictureSizeUnit이라 불리는 값과 연관된다. PictureSizeUnit은 디코딩된 픽처 크기가 MinPicSizeInSampleY에 대해 얼마나 큰지를 지정하는 정수 값이다. PictureSizeUnit의 정의는 VVC에서 ARC에 대해 어떤 리샘플링 비가 지원되는지에 의존한다.
예를 들어, ARC가 단지 2의 리샘플링 비를 지원하는 경우, PictureSizeUnit은 다음과 같이 정의된다:
- 비트스트림에서 가장 작은 해상도를 갖는 디코딩된 픽처들은 1의 PictureSizeUnit과 연관된다.
- 비트스트림에서 가장 작은 해상도의 2 x 2인 해상도를 갖는 디코딩된 픽처들은 4(즉, 1 * 4)의 PictureSizeUnit과 연관된다.
다른 예로서, ARC가 1.5와 2의 리샘플링 비 둘 모두를 지원하는 경우, PictureSizeUnit은 다음과 같이 정의된다:
- 비트스트림에서 가장 작은 해상도를 갖는 디코딩된 픽처들은 4의 PictureSizeUnit과 연관된다.
- 비트스트림에서 가장 작은 해상도의 1.5 x 1.5인 해상도를 갖는 디코딩된 픽처들은 9(즉, 2.25 * 4)의 PictureSizeUnit과 연관된다.
- 비트스트림에서 가장 작은 해상도의 2 x 2인 해상도를 갖는 디코딩된 픽처들은 16(즉, 4 * 4)의 PictureSizeUnit과 연관된다.
ARC에 의해 지원되는 다른 리샘플링 비의 경우, 각각의 픽처 크기에 대한 PictureSizeUnit의 값을 결정하기 위해 위의 예들에 의해 제공된 것과 동일한 원칙이 사용되어야 한다.
3. MinPictureSizeUnit 변수를 PictureSizeUnit의 가능한 가장 작은 값으로 설정한다. 즉, ARC가 단지 2의 리샘플링 비를 지원하는 경우, MinPictureSizeUnit은 1이고; ARC가 1.5와 2의 리샘플링 비를 지원하는 경우, MinPictureSizeUnit은 4이며; 마찬가지로, MinPictureSizeUnit의 값을 결정하기 위해 동일한 원리가 사용된다.
4. sps_max_dec_pic_buffering_minus1[ i ]의 값 범위는 0 내지 (MinPictureSizeUnit * (MaxDpbSize - 1))의 범위이도록 지정된다. MinPictureSizeUnit 변수는 PictureSizeUnit의 가능한 가장 작은 값이다.
5. DPB 충만도 동작은 다음과 같이 PictureSizeUnit에 기초하여 지정된다:
- HRD는 디코딩 유닛 0에서 초기화되며, CPB와 DPB 둘 모두는 비어 있는 것으로 설정된다(DPB 충만도는 0과 동일한 것으로 설정된다).
- DPB가 플러시될 때(즉, 모든 픽처들이 DPB로부터 제거될 때), DPB 충만도는 0과 동일하게 설정된다.
- 픽처가 DPB로부터 제거될 때, DPB 충만도는 제거된 픽처와 연관된 PictureSizeUnit의 값만큼 감소된다.
- 픽처가 DPB에 삽입될 때, DPB 충만도는 삽입된 픽처와 연관된 PictureSizeUnit의 값만큼 증가된다.
2.2.5.5. 리샘플링 필터들
소프트웨어 구현에서, 구현된 리샘플링 필터들은 JCTVC-H0234에 설명된 이전에 이용 가능한 필터들로부터 단순히 취해졌다. 다른 리샘플링 필터들이, 보다 나은 성능 및/또는 보다 낮은 복잡도를 제공하는 경우, 테스트되고 사용되어야 한다. 복잡도와 성능 사이의 절충을 이루기 위해 다양한 리샘플링 필터들이 테스트되는 것이 제안된다. 그러한 테스트들은 CE에서 행해질 수 있다.
2.2.5.6. 기존 툴들에 필요한 다양한 수정들
ARC를 지원하기 위해, 기존 코딩 툴들 중 일부에 대해 일부 수정들 및/또는 추가적인 동작들이 필요할 수 있다. 예를 들어, ARC 소프트웨어 구현 픽처 기반 리샘플링에서, 단순화를 위해, 현재 픽처와 참조 픽처의 원래 코딩 해상도들이 상이할 때 TMVP 및 ATMVP가 디스에이블된다.
2.2.6. JVET-N0279
"미래 비디오 코딩 표준에 대한 요구사항들"에 따르면, "표준은, 상이한 속성들(예를 들면, 공간 해상도 또는 샘플 비트 깊이)을 각각 갖는, 동일한 콘텐츠의 다수의 표현들을 제공하는 적응적 스트리밍 서비스들의 경우에 빠른 표현 전환을 지원해야 한다." 실시간 비디오 통신에서, I 픽처를 삽입하지 않고 코딩된 비디오 시퀀스 내에서 해상도 변경을 허용하는 것은 비디오 데이터를 동적 채널 조건들 또는 사용자 선호사항에 맞춰 끊김없이 조정할 수 있을 뿐만 아니라 I 픽처들에 의해 야기되는 비팅 효과(beating effect)를 제거할 수 있다. 적응적 해상도 변경의 가상적인 예가 도 14에 도시되어 있으며, 여기서 현재 픽처는 상이한 크기들의 참조 픽처들로부터 예측된다.
이 기고문은 VTM에서 현재 모션 보상 예측 프로세스에 대한 수정들뿐만 아니라 적응적 해상도 변경을 시그널링하기 위한 상위 레벨 신택스를 제안한다. 이러한 수정들은 기존의 모션 보상 보간기들에서의 어떠한 변경도 없이 모션 벡터 스케일링 및 서브펠 위치 도출들로 제한된다. 이는 기존의 모션 보상 보간기들이 재사용될 수 있게 하고 적응적 해상도 변경을 지원하기 위해 추가적인 비용을 초래할 새로운 프로세싱 블록들을 필요로 하지 않는다.
2.2.6.1. 적응적 해상도 변경 시그널링
이중 대괄호들이 삭제된 텍스트 전후에 배치된다.
[표 12]
Figure 112021126741716-pct00012
[[pic_width_in_luma_samples는 각각의 디코딩된 픽처의 폭을 루마 샘플 단위로 지정한다. pic_width_in_luma_samples는 0과 동일하지 않아야 하며 MinCbSizeY의 정수배여야 한다.
pic_height_in_luma_samples는 각각의 디코딩된 픽처의 높이를 루마 샘플 단위로 지정한다. pic_height_in_luma_samples는 0과 동일하지 않아야 하며 MinCbSizeY의 정수배여야 한다.]]
max_pic_width_in_luma_samples는 루마 샘플 단위로 SPS를 참조하는 디코딩된 픽처들의 최대 폭을 지정한다. max_pic_width_in_luma_samples는 0과 동일하지 않아야 하며 MinCbSizeY의 정수배여야 한다.
max_pic_height_in_luma_samples는 루마 샘플 단위로 SPS를 참조하는 디코딩된 픽처들의 최대 높이를 지정한다. max_pic_height_in_luma_samples는 0과 동일하지 않아야 하고 MinCbSizeY의 정수배여야 한다.
[표 13]
Figure 112021126741716-pct00013
pic_size_different_from_max_flag가 1과 동일한 것은 PPS가 참조된 SPS에서의 max_pic_width_in_luma_samples 및 max_pic_height_in_luma_sample과 상이한 픽처 폭 또는 픽처 높이를 시그널링한다는 것을 지정한다. pic_size_different_from_max_flag가 0과 동일한 것은 pic_width_in_luma_samples 및 pic_height_in_luma_sample이 참조된 SPS에서의 max_pic_width_in_luma_samples 및 max_pic_height_in_luma_sample과 동일하다는 것을 지정한다.
pic_width_in_luma_samples는 각각의 디코딩된 픽처의 폭을 루마 샘플 단위로 지정한다. pic_width_in_luma_samples는 0과 동일하지 않아야 하며 MinCbSizeY의 정수배여야 한다. pic_width_in_luma_samples가 존재하지 않을 때, 이는 max_pic_width_in_luma_samples와 동일한 것으로 추론된다.
pic_height_in_luma_samples는 각각의 디코딩된 픽처의 높이를 루마 샘플 단위로 지정한다. pic_height_in_luma_samples는 0과 동일하지 않아야 하며 MinCbSizeY의 정수배여야 한다. pic_height_in_luma_samples가 존재하지 않을 때, 이는 max_pic_height_in_luma_samples와 동일한 것으로 추론된다.
수평 스케일링 비 및 수직 스케일링 비가 모든 활성 참조 픽처에 대해 1/8 내지 2(경계 포함)의 범위에 있어야 한다는 것이 비트스트림 적합성의 요구사항이다. 스케일링 비들은 다음과 같이 정의된다:
horizontal_scaling_ratio=((reference_pic_width_in_luma_samples<<14)+(pic_width_in_luma_samples/2))/ pic_width_in_luma_samples
vertical_scaling_ratio=((reference_pic_height_in_luma_samples<<14)+(pic_height_in_luma_samples/2))/ pic_height_in_luma_samples
[표 14]
Figure 112021126741716-pct00014
참조 픽처 스케일링 프로세스
CVS 내에서 해상도 변경이 있는 경우, 픽처는 그의 참조 픽처들 중 하나 이상과 상이한 크기를 가질 수 있다. 이 제안은 모든 모션 벡터들을 그들의 대응하는 참조 픽처 그리드들 대신에 현재 픽처 그리드로 정규화한다. 이것은 설계를 일관되게 유지하고 해상도 변경을 모션 벡터 예측 프로세스에 투명하게 만드는 데 유익한 것으로 주장된다. 그렇지 않은 경우, 상이한 크기들을 갖는 참조 픽처들을 가리키는 이웃 모션 벡터들이 상이한 스케일로 인해 공간 모션 벡터 예측에 직접 사용될 수 없다.
해상도 변경이 발생할 때, 모션 보상 예측을 수행하는 동안 모션 벡터들과 참조 블록들 둘 모두가 스케일링되어야 한다. 스케일링 범위는 [1/8, 2]로 제한된다, 즉, 업스케일링은 1:8로 제한되고 다운스케일링은 2:1로 제한된다. 업스케일링은 참조 픽처가 현재 픽처보다 작은 경우를 지칭하고, 다운스케일링은 참조 픽처가 현재 픽처보다 큰 경우를 지칭한다는 점에 유의한다. 이하의 섹션들에서, 스케일링 프로세스가 보다 상세히 설명된다.
루마 블록
스케일링 인자들 및 이들의 고정 소수점 표현들은 다음과 같이 정의된다.
스케일링 프로세스는 두 부분을 포함한다:
1. 현재 블록의 좌측 상부 코너 픽셀을 참조 픽처에 매핑한다;
2. 수평 스텝 크기 및 수직 스텝 크기를 사용하여 현재 블록의 다른 픽셀들의 기준 위치들을 어드레싱한다.
현재 블록의 좌측 상부 코너 픽셀의 좌표가 (x, y)인 경우, 1/16 펠 단위로 모션 벡터(mvX, mvY)가 가리키는 참조 픽처에서의 서브펠 위치(x^', y^')는 다음과 같이 지정된다.
참조 픽처에서의 수평 위치는
이고 x'은 10 개의 소수 비트만을 유지하도록 더 스케일링 다운된다.
유사하게, 참조 픽처에서의 수직 위치는
이고, y'은 수학식 6으로 더 스케일링 다운된다.
이 시점에서, 현재 블록의 좌측 상부 코너 픽셀의 기준 위치는 (x^',y^')에 있다. 다른 참조 서브펠/펠 위치들은 (x^',y^')를 기준으로 수평 스텝 크기 및 수직 스텝 크기로 계산된다. 이러한 스텝 크기들은 다음과 같이 위의 수평 스케일링 인자 및 수직 스케일링 인자로부터 1/1024 펠 정확도로 도출된다.
예로서, 현재 블록에서의 픽셀이 좌측 상부 코너 픽셀로부터 i 열 및 j 행 떨어져 있는 경우, 그의 대응하는 참조 픽셀의 수평 좌표 및 수직 좌표는 다음과 같이 도출된다.
서브펠 보간에서, x'i 및 y'j는 전체 펠(full-pel) 부분들과 부분 펠(fractional-pel) 부분들로 분해되어야 한다.
- 참조 블록을 어드레싱하기 위한 전체 펠 부분들은 다음과 동일하다.
- 보간 필터들을 선택하는 데 사용되는 부분 펠 부분들은 다음과 동일하다.
참조 픽처 내의 전체 펠 위치 및 부분 펠 위치가 일단 결정되면, 기존의 모션 보상 보간기들이 어떠한 추가적인 변경도 없이 사용될 수 있다. 전체 펠 위치는 참조 픽처로부터 참조 블록 패치를 페치하는 데 사용될 것이고, 부분 펠 위치는 적절한 보간 필터를 선택하는 데 사용될 것이다.
크로마 블록
크로마 포맷이 4:2:0일 때, 크로마 모션 벡터들은 1/32 펠 정확도를 갖는다. 크로마 모션 벡터들 및 크로마 참조 블록들의 스케일링 프로세스는 크로마 포맷 관련 조정을 제외하고 루마 블록들에 대해서와 거의 동일하다.
현재 크로마 블록의 좌측 상부 코너 픽셀의 좌표가 (xc, yc)일 때, 참조 크로마 픽처에서의 초기 수평 위치 및 수직 위치는 다음과 같으며
여기서 mvX 및 mvY는 원래 루마 모션 벡터이지만 이제 1/32 펠 정확도로 검사되어야 한다.
xc' 및 yc'은 1/1024 펠 정확도를 유지하기 위해 더 스케일링 다운된다.
연관된 루마 방정식들과 비교하여, 위의 우측 시프트는 하나의 추가 비트만큼 증가된다.
사용된 스텝 크기들은 루마에 대해서와 동일하다. 좌측 상부 코너 픽셀를 기준으로 (i, j)에 있는 크로마 픽셀의 경우, 참조 픽셀의 수평 좌표 및 수직 좌표는 다음과 같이 도출된다.
서브펠 보간에서, xc'i 및 yc'j는 또한 전체 펠 부분들과 부분 펠 부분들로 분해된다.
참조 블록을 어드레싱하기 위한 전체 펠 부분들은 다음과 동일하다.
보간 필터들을 선택하는 데 사용되는 부분 펠 부분들은 다음과 동일하다.
다른 코딩 툴들와의 상호작용
참조 픽처 스케일링을 갖는 일부 코딩 툴들의 상호작용과 연관된 추가 복잡도 및 메모리 대역폭 때문에, VVC 사양에 이하의 제한사항들을 추가하는 것이 권장된다.
tile_group_temporal_mvp_enabled_flag가 1과 동일할 때, 현재 픽처 및 그의 병치된 픽처는 동일한 크기를 가져야 한다.
시퀀스 내에서 해상도 변경이 허용될 때, 디코더 모션 벡터 개선(motion vector refinement)이 턴 오프되어야 한다.
시퀀스 내에서 해상도 변경이 허용될 때, sps_bdof_enabled_flag는 0과 동일해야 한다.
2.3. JVET-N0415에서의 코딩 트리 블록(CTB) 기반 적응 루프 필터(ALF)
슬라이스 레벨 시간 필터
APS(adaptive parameter set)가 VTM4에서 채택되었다. 각각의 APS는 하나의 시그널링된 ALF 필터 세트를 포함하며, 최대 32 개의 APS가 지원된다. 제안에서, 슬라이스 레벨 시간 필터가 테스트된다. 타일 그룹은 오버헤드를 감소시키기 위해 APS로부터의 ALF 정보를 재사용할 수 있다. APS들은 FIFO(first-in-first-out) 버퍼로서 업데이트된다.
CTB 기반 ALF
루마 성분의 경우, ALF가 루마 CTB에 적용될 때, 16 개의 고정된 필터 세트, 5 개의 시간 필터 세트 또는 1 개의 시그널링된 필터 세트 중에서의 선택이 표시된다. 필터 세트 인덱스만이 시그널링된다. 하나의 슬라이스에 대해, 25 개의 필터의 하나의 새로운 세트만이 시그널링될 수 있다. 슬라이스에 대해 새로운 세트가 시그널링되는 경우, 동일한 슬라이스에서의 모든 루마 CTB들은 해당 세트를 공유한다. 고정된 필터 세트들은 새로운 슬라이스 레벨 필터 세트를 예측하는 데 사용될 수 있고, 루마 CTB에 대한 후보 필터 세트들로서도 사용될 수 있다. 필터들의 수는 총 64 개이다.
크로마 성분의 경우, ALF가 크로마 CTB에 적용될 때, 슬라이스에 대해 새로운 필터가 시그널링되는 경우, CTB는 새로운 필터를 사용하고, 그렇지 않은 경우, 시간 확장성 제약을 충족시키는 가장 최근의 시간 크로마 필터가 적용된다.
슬라이스 레벨 시간 필터로서, APS들은 FIFO(first-in-first-out) 버퍼로서 업데이트된다.
2.4. 대안 시간 모션 벡터 예측(VVC에서 서브블록 기반 시간 병합 후보라고도 함)
대안 시간 모션 벡터 예측(ATMVP) 방법에서, 모션 벡터들의 시간 모션 벡터 예측(TMVP)은 현재 CU보다 작은 블록들로부터 다수의 모션 정보 세트들(모션 벡터들 및 참조 인덱스들을 포함함)를 페치하는 것에 의해 수정된다. 도 14에 도시된 바와 같이, 서브 CU들은 정사각형 N×N 블록들이다(N은 기본적으로 8로 설정됨).
ATMVP는 2 개의 단계에서 CU 내의 서브 CU들의 모션 벡터들을 예측한다. 제1 단계는 소위 시간 벡터를 사용하여 참조 픽처에서의 대응하는 블록을 식별하는 것이다. 참조 픽처는 모션 소스 픽처라고 불린다. 제2 단계는, CU에 대한 ATMVP 모션 예측의 예를 도시하는 도 15에 도시된 바와 같이, 현재 CU를 서브 CU들로 분할하고 각각의 서브 CU에 대응하는 블록으로부터 각각의 서브 CU의 참조 인덱스들 뿐만 아니라 모션 벡터들을 획득하는 것이다.
제1 단계에서, 현재 CU의 공간 이웃 블록들의 모션 정보에 의해 참조 픽처 및 대응하는 블록이 결정된다. 이웃 블록들의 반복적인 스캐닝 프로세스를 피하기 위해, 현재 CU의 병합 후보 리스트에서의 블록 A0(좌측 블록)으로부터의 병합 후보가 사용된다. 병치된 참조 픽처를 참조하는 블록 A0으로부터의 제1 이용 가능한 모션 벡터는 시간 벡터이도록 설정된다. 이러한 방식으로, ATMVP에서, 대응하는 블록은 TMVP와 비교하여 더 정확하게 식별될 수 있으며, 여기서 대응하는 블록(때때로 병치된 블록이라고도 불림)은 현재 CU에 대해 항상 우측 하부 또는 중심 위치에 있다.
제2 단계에서, 서브 CU의 대응하는 블록은, 현재 CU의 좌표에 시간 벡터를 가산하는 것에 의해, 모션 소스 픽처에서의 시간 벡터에 의해 식별된다. 각각의 서브 CU에 대해, 그의 대응하는 블록의 모션 정보(중심 샘플을 커버하는 가장 작은 모션 그리드)는 서브 CU에 대한 모션 정보를 도출하는 데 사용된다. 대응하는 N×N 블록의 모션 정보가 식별된 후에, 이는 HEVC의 TMVP와 동일한 방식으로 현재 서브 CU의 모션 벡터들 및 참조 인덱스들로 변환하며, 여기서 모션 스케일링 및 다른 절차들이 적용된다.
2.5. 아핀 모션 예측
HEVC에서, 모션 보상 예측(MCP)을 위해 병진 모션 모델만이 적용된다. 현실 세계에는, 많은 종류들의 모션, 예를 들면, 줌인/줌아웃, 회전, 원근 모션들(perspective motions) 및 다른 불규칙한 모션들이 있다. VVC에서, 단순화된 아핀 변환 모션 보상 예측은 4-파라미터 아핀 모델과 6-파라미터 아핀 모델에 대해 적용된다. 도 16a 및 도 16b는, 제각기, 단순화된 4-파라미터 아핀 모션 모델 및 단순화된 6-파라미터 아핀 모션 모델을 도시한다. 도 16a 및 도 16b에 도시된 바와 같이, 블록의 아핀 모션 필드는 4-파라미터 아핀 모델에 대한 2 개의 제어 포인트 모션 벡터(CPMV) 및 6-파라미터 아핀 모델에 대한 3 개의 CPMV에 의해 설명된다.
블록의 모션 벡터 필드(MVF)는, 제각기, 수학식 1에서의 4-파라미터 아핀 모델(여기서 4-파라미터는 변수들 a, b, e 및 f로서 정의됨) 및 수학식 2에서의 6-파라미터 아핀 모델(여기서 6-파라미터는 변수들 a, b, c, d, e 및 f로서 정의됨)을 사용하여 이하의 수학식들에 의해 설명되고:
여기서 (mvh0, mvh0)은 좌측 상부 코너 제어 포인트의 모션 벡터이고, (mvh1, mvh1)은 우측 상부 코너 제어 포인트의 모션 벡터이며, (mvh2, mvh2)는 좌측 하부 코너 제어 포인트의 모션 벡터이고, 3 개의 모션 벡터 모두는 제어 포인트 모션 벡터(CPMV)라고 불리며, (x, y)는 현재 블록 내의 좌측 상부 샘플을 기준으로 대표 포인트의 좌표를 나타내고, (mvh(x,y), mvv(x,y))는 (x, y)에 위치한 샘플에 대해 도출된 모션 벡터이다. CP 모션 벡터들은 (아핀 AMVP 모드에서와 같이) 시그널링되거나 (아핀 병합 모드에서와 같이) 즉시 도출될 수 있다. w와 h는 현재 블록의 폭과 높이이다. 실제로, 나눗셈은 반올림 연산과 함께 우측 시프트에 의해 구현된다. VTM에서, 대표 포인트는 서브블록의 중심 위치로 정의되고, 예를 들면, 현재 블록 내에서 좌측 상부 샘플을 기준으로 서브블록의 좌측 상부 코너의 좌표가 (xs, ys)일 때, 대표 포인트의 좌표는 (xs+2, ys+2)로 정의된다. 각각의 서브블록(즉, VTM에서 4x4)에 대해, 대표 포인트는 전체 서브블록에 대한 모션 벡터를 도출하기 위해 활용된다.
모션 보상 예측을 더 단순화시키기 위해, 서브블록 기반 아핀 변환 예측이 적용된다. 각각의 M×N(현재 VVC에서 M과 N 둘 모두는 4로 설정됨) 서브블록의 모션 벡터를 도출하기 위해, 도 17에 도시된 바와 같이, 각각의 서브블록의 중심 샘플의 모션 벡터는 수학식 25 및 수학식 26에 따라 계산되고, 1/16 분수 정확도로 반올림된다. 이어서 파생된 모션 벡터로 각각의 서브블록의 예측을 생성하기 위해 1/16 펠에 대한 모션 보상 보간 필터들이 적용된다. 1/16 펠에 대한 보간 필터들은 아핀 모드에 의해 도입된다.
MCP 이후에, 각각의 서브블록의 고정확도 모션 벡터는 일반 모션 벡터와 동일한 정확도로서 반올림되고 저장된다.
2.5.1. 아핀 예측의 시그널링
병진 모션 모델과 유사하게, 또한 아핀 예측으로 인한 보조 정보를 시그널링하기 위한 두 가지 모드가 있다. 이들은 AFFINE_INTER 모드 및 AFFINE_MERGE 모드이다.
2.5.2. AF_INTER 모드
폭과 높이 둘 모두가 8보다 큰 CU들의 경우, AF_INTER 모드가 적용될 수 있다. CU 레벨에서의 아핀 플래그는 AF_INTER 모드가 사용되는지 여부를 나타내기 위해 비트스트림에서 시그널링된다.
이 모드에서, 각각의 참조 픽처 리스트(리스트 0 또는 리스트 1)에 대해, 아핀 AMVP 후보 리스트는 이하의 순서로 3 가지 유형의 아핀 모션 예측자들로 구성되며, 여기서 각각의 후보는 현재 블록의 추정된 CPMV들을 포함한다. 인코더 측에서 발견된 최상의 CPMV들(예를 들면, 도 18a 및 18b에서의 mv0 mv1 mv2)과 추정된 CPMV들의 차이들이 시그널링된다. 추가적으로, 추정된 CPMV들이 도출되는 아핀 AMVP 후보의 인덱스가 더 시그널링된다.
1) 상속된 아핀 모션 예측자들
검사 순서는 HEVC AMVP 리스트 구성에서의 공간 MVP들의 검사 순서와 유사하다. 첫째, 좌측 상속된 아핀 모션 예측자는 아핀 코딩되고 현재 블록에서와 동일한 참조 픽처를 갖는 {A1, A0}에서의 첫 번째 블록으로부터 도출된다. 둘째, 위의 상속된 아핀 모션 예측자는 아핀 코딩되고 현재 블록에서와 동일한 참조 픽처를 갖는 {B1, B0, B2}에서의 첫 번째 블록으로부터 도출된다. 5 개의 블록 A1, A0, B1, B0, B2가 도 19에 묘사되어 있다.
이웃 블록이 아핀 모드로 코딩된 것으로 일단 발견되면, 이웃 블록을 커버하는 코딩 유닛의 CPMV들은 현재 블록의 CPMV들의 예측자들을 도출하는 데 사용된다. 예를 들어, A1이 비-아핀 모드로 코딩되고 A0이 4-파라미터 아핀 모드로 코딩되는 경우, 좌측 상속된 아핀 MV 예측자는 A0으로부터 도출될 것이다. 이 경우에, 도 18b에서 좌측 상부 CPMV에 대해 로 표기되고 우측 상부 CPMV에 대해 로 표기된 바와 같은, A0을 커버하는 CU의 CPMV들은, 현재 블록의 좌측 상부 위치(좌표 (x0, y0)을 가짐), 우측 상부 위치(좌표 (x1, y1)을 가짐) 및 우측 하부 위치(좌표 (x2, y2)를 가짐)에 대해 로 표기된, 현재 블록의 추정된 CPMV들을 도출하는 데 활용된다.
2) 구성된 아핀 모션 예측자들
구성된 아핀 모션 예측자는 동일한 참조 픽처를 갖는, 도 20에 도시된 바와 같은, 이웃하는 인터 코딩된 블록들로부터 도출되는 제어 포인트 모션 벡터들(CPMV들)로 구성된다. 현재 아핀 모션 모델이 4-파라미터 아핀인 경우, CPMV들의 수는 2이고, 그렇지 않고 현재 아핀 모션 모델이 6-파라미터 아핀인 경우, CPMV들의 수는 3이다. 좌측 상부 CPMV 는 인터 코딩되고 현재 블록에서와 동일한 참조 픽처를 갖는 그룹 {A, B, C}에서의 첫 번째 블록에서의 MV에 의해 도출된다. 우측 상부 CPMV 는 인터 코딩되고 현재 블록에서와 동일한 참조 픽처를 갖는 그룹 {D, E}에서의 첫 번째 블록에서의 MV에 의해 도출된다. 좌측 하부 CPMV 는 인터 코딩되고 현재 블록에서와 동일한 참조 픽처를 갖는 그룹 {F, G}에서의 첫 번째 블록에서의 MV에 의해 도출된다.
- 현재 아핀 모션 모델이 4-파라미터 아핀인 경우, 구성된 아핀 모션 예측자는 둘 모두가 발견된 경우에만 후보 리스트에 삽입된다, 즉 은 현재 블록의 좌측 상부 위치(좌표 (x0, y0)을 가짐) 및 우측 상부 위치(좌표 (x1, y1)을 가짐)에 대한 추정된 CPMV들로서 사용된다.
- 현재 아핀 모션 모델이 6-파라미터 아핀인 경우, 구성된 아핀 모션 예측자는 , , 및 모두가 발견된 경우에만 후보 리스트에 삽입된다, 즉 , , 및 는 현재 블록의 좌측 상부 위치(좌표 (x0, y0)을 가짐), 우측 상부 위치(좌표 (x1, y1)을 가짐) 및 우측 하부 위치(좌표 (x2, y2)를 가짐)에 대한 추정된 CPMV들로서 사용된다.
구성된 아핀 모션 예측자를 후보 리스트에 삽입할 때 프루닝(pruning) 프로세스가 적용되지 않는다.
3) 일반 AMVP 모션 예측자들
이하는 아핀 모션 예측자들의 수가 최댓값에 도달할 때까지 적용된다.
i. 이용 가능한 경우 모든 CPMV들을 와 동일하게 설정하는 것에 의해 아핀 모션 예측자를 도출한다.
ii. 이용 가능한 경우 모든 CPMV들을 과 동일하게 설정하는 것에 의해 아핀 모션 예측자를 도출한다.
iii. 이용 가능한 경우 모든 CPMV들을 과 동일하게 설정하는 것에 의해 아핀 모션 예측자를 도출한다.
iv. 이용 가능한 경우 모든 CPMV들을 HEVC TMVP와 동일하게 설정하는 것에 의해 아핀 모션 예측자를 도출한다.
v. 모든 CPMV들을 제로 MV로 설정하는 것에 의해 아핀 모션 예측자를 도출한다.
가 구성된 아핀 모션 예측자에서 이미 도출되어 있다는 점에 유의한다.
AF_INTER 모드에서, 4/6-파라미터 아핀 모드가 사용될 때, 2/3 제어 포인트들이 필요하며, 따라서, 도 18a 및 도 18b에 도시된 바와 같이, 이러한 제어 포인트들에 대해 2/3 MVD(Motion Vector Difference)가 코딩될 필요가 있다. JVET-K0337에서, 다음과 같이 MV를 도출하는 것이 제안된다, 즉, mvd1 및 mvd2가 mvd0으로부터 예측된다.
여기서 , mvdi 및 mv1은, 도 18b에 도시된 바와 같이, 제각기, 좌측 상부 픽셀(i = 0), 우측 상부 픽셀(i = 1) 또는 좌측 하부 픽셀(i = 2)의 예측된 모션 벡터, 모션 벡터 차이 및 모션 벡터이다. 2 개의 모션 벡터(예를 들면, mvA(xA, yA) 및 mvB(xB, yB))의 가산이 2 개의 성분을 개별적으로 합산하는 것과 동일하다, 즉, newMV = mvA + mvB이고 newMV의 2 개의 성분이, 제각기, (xA + xB) 및 (yA + yB)로 설정된다는 점에 유의한다.
2.5.2.1. AF_MERGE 모드
CU가 AF_MERGE 모드에서 적용될 때, 이는 유효한 이웃 재구성된 블록들로부터 아핀 모드로 코딩된 첫 번째 블록을 얻는다. 도 21은 AF_MERGE에 대한 후보들을 도시한다. 후보 블록에 대한 선택 순서는 도 21a에 도시된 바와 같이 좌측으로부터, 상부, 우측 상부, 좌측 하부, 좌측 상부로(A, B, C, D, E 순서로 표기됨)이다. 예를 들어, 이웃 좌측 하부 블록이 도 21b에서 A0으로 표기된 바와 같이 아핀 모드로 코딩되는 경우, 블록 A를 포함하는 이웃 CU/PU의 좌측 상부 코너, 우측 상부 코너 및 좌측 하부 코너의 제어 포인트(CP) 모션 벡터들 mv 0 N, mv 1 Nmv 2 N이 페치된다. 그리고 현재 CU/PU 상의 좌측 상부 코너/우측 상부 코너/좌측 하부 코너의 모션 벡터 mv 0 C , mv 1 C 및 mv 2 C (6-파라미터 아핀 모델에만 사용됨)는 mv 0 N, mv 1 Nmv 2 N에 기초하여 계산된다. VTM-2.0에서, 현재 블록이 아핀 코딩되는 경우, 좌측 상부 코너에 위치하는 서브블록(예를 들면, VTM에서 4×4 블록)은 mv0을 저장하고, 우측 상부 코너에 위치하는 서브블록은 mv1을 저장한다는 점에 유의해야 한다. 현재 블록이 6-파라미터 아핀 모델로 코딩되는 경우, 좌측 하부 코너에 위치하는 서브블록은 mv2를 저장하고, 그렇지 않은 경우(4-파라미터 아핀 모델을 사용함), LB는 mv2'을 저장한다. 다른 서브블록들은 MC에 사용되는 MV들을 저장한다.
현재 CU의 CPMV인 mv0C, mv1C 및 mv2C가 도출된 후에, 단순화된 아핀 모션 모델인 수학식 25 및 수학식 26에 따라, 현재 CU의 MVF가 생성된다. 현재 CU가 AF_MERGE 모드로 코딩되어 있는지 여부를 식별하기 위해, 적어도 하나의 이웃 블록이 아핀 모드로 코딩되어 있을 때 아핀 플래그가 비트스트림에서 시그널링된다.
JVET-L0142 및 JVET-L0632에서, 아핀 병합 후보 리스트는 이하의 단계들로 구성된다:
1) 상속된 아핀 후보들을 삽입
상속된 아핀 후보는 후보가 그의 유효한 이웃 아핀 코딩된 블록의 아핀 모션 모델로부터 도출된다는 것을 의미한다. 최대 2 개의 상속된 아핀 후보가 이웃 블록들의 아핀 모션 모델로부터 파생되고 후보 리스트에 삽입된다. 좌측 예측자의 경우, 스캔 순서는 {A0, A1}이고; 상부 예측자의 경우, 스캔 순서는 {B0, B1, B2}이다.
2) 구성된 아핀 후보들을 삽입
아핀 병합 후보 리스트에서의 후보들의 수가 MaxNumAffineCand(예를 들면, 5) 미만인 경우, 구성된 아핀 후보들이 후보 리스트에 삽입된다. 구성된 아핀 후보는 각각의 제어 포인트의 이웃 모션 정보를 결합시키는 것에 의해 후보를 구성된다는 것을 의미한다.
a) 제어 포인트들에 대한 모션 정보는 먼저 아핀 병합 모드에 대한 후보 위치의 예를 보여주는 도 22에 도시된 지정된 공간 이웃들 및 시간 이웃으로부터 도출된다. CPk(k=1, 2, 3, 4)는 k 번째 제어 포인트를 나타낸다. A0, A1, A2, B0, B1, B2, 및 B3은 CPk(k=1, 2, 3)를 예측하기 위한 공간 위치들이다. T는 CP4를 예측하기 위한 시간 위치이다.
CP1, CP2, CP3 및 CP4의 좌표들은, 제각기, (0, 0), (W, 0), (H, 0) 및 (W, H)이며, 여기서 W 및 H는 현재 블록의 폭과 높이이다.
각각의 제어 포인트의 모션 정보는 이하의 우선 순위에 따라 획득된다:
- CP1의 경우, 검사 우선순위는 B2->B3->A2이다. 이용 가능한 경우 B2가 사용된다. 그렇지 않고, B2가 이용 가능한 경우, B3이 사용된다. B2와 B3 둘 모두가 이용 불가능한 경우, A2가 사용된다. 3 개의 후보 모두가 이용 불가능한 경우, CP1의 모션 정보가 획득될 수 없다.
- CP2의 경우, 검사 우선순위는 B1->B0이다.
- CP3의 경우, 검사 우선순위는 A1->A0이다.
- CP4의 경우, T가 사용된다.
b) 둘째, 제어 포인트들의 조합들이 아핀 병합 후보를 구성하는 데 사용된다.
- 6-파라미터 아핀 후보를 구성하기 위해 3 개의 제어 포인트의 모션 정보가 필요하다. 3 개의 제어 포인트는 이하의 4 가지 조합({CP1, CP2, CP4}, {CP1, CP2, CP3}, {CP2, CP3, CP4}, {CP1, CP3, CP4}) 중 하나로부터 선택될 수 있다. 조합들 {CP1, CP2, CP3}, {CP2, CP3, CP4}, {CP1, CP3, CP4}는 좌측 상부 제어 포인트, 우측 상부 제어 포인트 및 좌측 하부 제어 포인트에 의해 표현되는 6-파라미터 모션 모델로 변환될 것이다.
- 4-파라미터 아핀 후보를 구성하기 위해 2 개의 제어 포인트의 모션 정보가 필요하다. 2 개의 제어 포인트는 두 가지 조합({CP1, CP2}, {CP1, CP3}) 중 하나로부터 선택될 수 있다. 2 개의 조합은 좌측 상부 제어 포인트 및 우측 상부 제어 포인트에 의해 표현되는 4-파라미터 모션 모델로 변환될 것이다.
- 구성된 아핀 후보들의 조합들은 이하의 순서로서 후보 리스트에 삽입된다:
{CP1, CP2, CP3}, {CP1, CP2, CP4}, {CP1, CP3, CP4}, {CP2, CP3, CP4}, {CP1, CP2}, {CP1, CP3}
i. 각각의 조합에 대해, 각각의 CP에 대한 리스트 X의 참조 인덱스들이 검사되고, 이들이 모두 동일한 경우, 이 조합은 리스트 X에 대해 유효한 CPMV들을 갖는다. 조합이 리스트 0과 리스트 1 둘 모두에 대해 유효한 CPMV들을 갖지 않는 경우, 이 조합은 유효하지 않은 것으로 마킹된다. 그렇지 않은 경우, 이는 유효하며 CPMV들이 서브블록 병합 리스트에 넣어진다.
3) 제로 모션 벡터들로 패딩
아핀 병합 후보 리스트에서의 후보들의 수가 5 미만인 경우, 리스트가 가득 찰 때까지, 제로 참조 인덱스들을 갖는 제로 모션 벡터들이 후보 리스트에 삽입된다.
보다 구체적으로, 서브블록 병합 후보 리스트의 경우, MV들이 (0, 0)으로 설정되고 예측 방향이 리스트 0으로부터의 단방향 예측(P 슬라이스의 경우) 및 양방향 예측(B 슬라이스의 경우)으로 설정된 4-파라미터 병합 후보.
기존의 구현들의 단점들
VVC에서 적용될 때, ARC는 이하의 문제들이 있을 수 있다:
ALF, LMCS(Luma Mapping Chroma Scaling), DMVR(Decoder Side Motion-Vector Refinement), BDOF(Bi-Directional Optical Flow), 아핀 예측, TPM(Triangular Prediction Mode), SMVD(Symmetrical Motion Vector Difference), MMVD(Merge Motion Vector Difference), 인터-인트라 예측(VVC에서 CIIP(Combined Inter-picture merge and Intra-picture Prediction)라고도 함), LIC(Localized Illumination Compensation) 및 HMVP(History-based Motion Vector Prediction)와 같은 코딩 툴들을 VVC에서 적용하는 것이 명확하지 않다.
적응적 해상도 변환을 갖는 코딩 툴들에 대한 예시적인 방법들
개시된 기술의 실시예들은 기존의 구현들의 단점들을 극복한다. 아래에서 제공되는 개시된 기술의 예들은 개시된 기술의 이해를 돕기 위해 논의되며, 개시된 기술을 제한하는 방식으로 해석되어서는 안된다. 반대로 명시적으로 나타내지 않는 한, 이러한 예들에 설명된 다양한 특징들이 결합될 수 있다.
이하의 논의에서, SatShift(x, n)는 다음과 같이 정의된다.
Shift(x, n)는 Shift(x, n) = (x + offset0)>>n으로서 정의된다.
일 예에서, offset0 및/또는 offset1은 (1<<n)>>1) 또는 (1<<(n-1))로 설정된다. 다른 예에서, offset0 및/또는 offset1은 0으로 설정된다.
다른 예에서, offset0=offset1= ((1<<n)>>1)-1 또는 ((1<<(n-1)))-1이다.
Clip3(min, max, x)는 다음과 같이 정의된다.
Floor(x)는 x보다 작거나 같은 가장 큰 정수로서 정의된다.
Ceil(x)는 x보다 크거나 같은 가장 작은 정수이다.
Log2(x)는 x의 밑이 2인 로그로서 정의된다.
개시된 기술의 구현들의 일부 양태들이 아래에 나열되어 있다.
1. 디코더 측 도출 프로세스에서 MMVD/SMVD 및/또는 개선된 모션 벡터들에서의 MV 오프셋들의 도출은 현재 블록과 연관된 참조 픽처들의 해상도 및 현재 픽처의 해상도에 의존할 수 있다.
a. 예를 들어, 제2 참조 픽처를 참조하는 제2 MV 오프셋은 제1 참조 픽처를 참조하는 제1 MV 오프셋으로부터 스케일링될 수 있다. 스케일링 인자는 제1 및 제2 참조 픽처들의 해상도들에 의존할 수 있다.
2. 모션 후보 리스트 구성 프로세스는 공간/시간/히스토리 모션 후보들과 연관된 참조 픽처 해상도에 따라 구성될 수 있다.
a. 일 예에서, 보다 높은 해상도를 갖는 참조 픽처를 참조하는 병합 후보가 보다 낮은 해상도를 갖는 참조 픽처를 참조하는 병합 후보보다 높은 우선순위를 가질 수 있다. 논의에서, W0 < W1이고 H0 < H1인 경우 해상도 W0*H0은 해상도 W1*H1보다 낮다.
b. 예를 들어, 병합 후보 리스트에서 보다 높은 해상도를 갖는 참조 픽처를 참조하는 병합 후보가 보다 낮은 해상도를 갖는 참조 픽처를 참조하는 병합 후보보다 먼저 놓일 수 있다.
c. 예를 들어, 현재 픽처의 해상도보다 낮은 해상도를 갖는 참조 픽처를 참조하는 모션 벡터는 병합 후보 리스트에 있을 수 없다.
d. 일 예에서, 히스토리 버퍼(룩업 테이블)를 업데이트할지 여부 및/또는 어떻게 업데이트할지는 디코딩된 모션 후보와 연관된 참조 픽처 해상도에 의존할 수 있다.
i. 일 예에서, 디코딩된 모션 후보와 연관된 하나의 참조 픽처가 상이한 해상도를 갖는 경우, 그러한 모션 후보는 히스토리 버퍼를 업데이트하도록 허용되지 않는다.
3. 픽처가 대응하는 치수들과 연관된 ALF 파라미터들로 필터링되어야 한다는 것이 제안된다.
a. 일 예에서, APS와 같은 비디오 유닛에서 시그널링되는 ALF 파라미터들은 하나 또는 다수의 픽처 치수와 연관될 수 있다.
b. 일 예에서, ALF 파라미터들을 시그널링하는 APS와 같은 비디오 유닛은 하나 또는 다수의 픽처 치수와 연관될 수 있다.
c. 예를 들어, 픽처는 동일한 치수와 연관된, APS와 같은 비디오 유닛에서 시그널링되는 ALF 파라미터들만을 적용할 수 있다.
d. PPS의 해상도/인덱스/해상도의 표시가 ALF APS에서 시그널링될 수 있다.
e. ALF 파라미터가 동일한 해상도를 갖는 픽처에 사용되는 파라미터만을 상속할/그로부터 예측될 수 있다는 제한이 있다.
4. 제1 대응하는 치수들과 연관된 ALF 파라미터들이 제2 대응하는 치수들과 연관된 ALF 파라미터들을 상속하거나 그로부터 예측될 수 있다는 것이 제안된다.
a. 일 예에서, 제1 대응하는 치수들은 제2 대응하는 치수들과 동일해야 한다.
b. 일 예에서, 제1 대응하는 치수들은 제2 대응하는 치수들과 상이할 수 있다.
5. 픽처에서의 샘플들이 대응하는 치수들과 연관된 LMCS 파라미터들로 리셰이핑되어야 한다는 것이 제안된다.
a. 일 예에서, APS와 같은 비디오 유닛에서 시그널링되는 LMCS 파라미터들은 하나 또는 다수의 픽처 치수와 연관될 수 있다.
b. 일 예에서, LMCS 파라미터들을 시그널링하는 APS와 같은 비디오 유닛은 하나 또는 다수의 픽처 치수와 연관될 수 있다.
c. 예를 들어, 픽처는 동일한 치수와 연관된, APS와 같은 비디오 유닛에서 시그널링되는 LMCS 파라미터들만을 적용할 수 있다.
d. PPS의 해상도/인덱스/해상도의 표시가 LMCS APS에서 시그널링될 수 있다.
e. LMCS 파라미터가 동일한 해상도를 갖는 픽처에 사용되는 파라미터만을 상속할/그로부터 예측될 수 있다는 제한이 있다.
6. 제1 대응하는 치수들과 연관된 LMCS 파라미터들이 제2 대응하는 치수들과 연관된 LMCS 파라미터들을 상속하거나 그로부터 예측될 수 있다는 것이 제안된다.
a. 일 예에서, 제1 대응하는 치수들은 제2 대응하는 치수들과 동일해야 한다.
b. 일 예에서, 제1 대응하는 치수들은 제2 대응하는 치수들과 상이할 수 있다.
7. TPM(triangular prediction mode)/GEO(inter prediction with geometry partitioning) 또는 하나의 블록을 2 개 또는 다수의 서브파티션으로 분할할 수 있는 다른 코딩 툴들을 인에이블시킬지 여부 및/또는 어떻게 인에이블시킬지는 2 개 또는 다수의 서브파티션의 연관된 참조 픽처 정보에 의존할 수 있다.
a. 일 예에서, 이는 2 개의 참조 픽처 중 하나의 참조 픽처의 해상도와 현재 픽처의 해상도 여부에 의존할 수 있다.
i. 일 예에서, 2 개의 참조 픽처 중 적어도 하나가 현재 픽처와 비교하여 상이한 해상도와 연관되는 경우, 그러한 코딩 툴은 디스에이블된다.
b. 일 예에서, 이는 2 개의 참조 픽처의 해상도가 동일한지 여부에 의존할 수 있다.
i. 일 예에서, 2 개의 참조 픽처가 상이한 해상도와 연관되는 경우, 그러한 코딩 툴은 디스에이블될 수 있다.
ii. 일 예에서, 2 개의 참조 픽처 둘 모두가 현재 픽처와 비교하여 상이한 해상도와 연관되는 경우, 그러한 코딩 툴은 디스에이블된다.
iii. 대안적으로, 2 개의 참조 픽처 둘 모두가 현재 픽처와 비교하여 상이한 해상도와 연관되지만 2 개의 참조 픽처가 동일한 해상도를 갖는 경우, 그러한 코딩 툴은 여전히 디스에이블될 수 있다.
iv. 대안적으로, 참조 픽처들 중 적어도 하나가 현재 픽처와 상이한 해상도를 갖고 참조 픽처들이 상이한 해상도를 갖는 경우, 코딩 툴 X는 디스에이블될 수 있다.
c. 대안적으로, 게다가, 이는 2 개의 참조 픽처가 동일한 참조 픽처인지 여부에 의존할 수 있다.
d. 대안적으로, 게다가, 이는 2 개의 참조 픽처가 동일한 참조 리스트에 있는지 여부에 의존할 수 있다.
e. 대안적으로, RPR(슬라이스/픽처 헤더/시퀀스 파라미터 세트에서 참조 픽처 리샘플링이 인에이블됨)인 경우 그러한 코딩 툴은 항상 디스에이블될 수 있다.
8. 블록이 현재 픽처와 상이한 치수들을 갖는 적어도 하나의 참조 픽처를 참조하는 경우 코딩 툴 X가 블록에 대해 디스에이블될 수 있다는 것이 제안된다.
a. 일 예에서, 코딩 툴 X에 관련된 정보는 시그널링되지 않을 수 있다.
b. 일 예에서, 그러한 블록의 모션 정보는 HMVP 테이블에 삽입되지 않을 수 있다.
c. 대안적으로, 블록에서 코딩 툴 X가 적용되는 경우, 블록은 현재 픽처와 상이한 치수들을 갖는 참조 픽처를 참조할 수 없다.
i. 일 예에서, 현재 픽처와 상이한 치수들을 갖는 참조 픽처를 참조하는 병합 후보는 스킵될 수 있거나 병합 후보 리스트에 넣어지지 않을 수 있다.
ii. 일 예에서, 참조 인덱스는 현재 픽처와 상이한 치수들을 갖는 참조 픽처에 대응하며, 스킵될 수 있거나 시그널링되도록 허용되지 않을 수 있다.
d. 대안적으로, 현재 픽처의 해상도 및 참조 픽처들의 해상도들에 따라 2 개의 참조 블록 또는 픽처를 스케일링한 후에 코딩 툴 X가 적용될 수 있다.
e. 대안적으로, 현재 픽처의 해상도 및 참조 픽처들의 해상도들에 따라 2 개의 MV 또는 MVD를 스케일링한 후에 코딩 툴 X가 적용될 수 있다.
f. 일 예에서, 블록(예를 들면, 양방향 예측 코딩된 블록 또는 상이한 참조 픽처들 또는 상이한 MV들을 갖는 동일한 참조 픽처 리스트로부터의 다중 가설을 갖는 블록; 또는 상이한 참조 픽처 리스트들로부터의 다중 가설을 갖는 블록)에 대해, 코딩 툴 X를 디스에이블시킬지 인에이블시킬지는 참조 픽처 리스트와 연관된 참조 픽처 및/또는 현재 참조 픽처의 해상도들에 의존할 수 있다.
i. 일 예에서, 코딩 툴 X는 하나의 참조 픽처 리스트에 대해서는 디스에이블될 수 있지만 다른 참조 픽처 리스트에 대해서는 인에이블될 수 있다.
ii. 일 예에서, 코딩 툴 X는 하나의 참조 픽처에 대해서는 디스에이블될 수 있지만 다른 참조 픽처에 대해서는 인에이블될 수 있다. 여기서, 2 개의 참조 픽처는 상이한 참조 픽처 리스트 또는 동일한 참조 픽처 리스트로부터 온 것일 수 있다.
iii. 일 예에서, 각각의 참조 픽처 리스트 L에 대해, 코딩 툴의 인에이블/디스에이블은 리스트 L과 상이한 다른 참조 픽처 리스트에서의 참조 픽처에 관계없이 결정된다.
1. 일 예에서, 이는 리스트 L의 참조 픽처와 현재 픽처에 의해 결정될 수 있다.
2. 일 예에서, 리스트 L에 대한 연관된 참조 픽처가 현재 픽처와 상이한 경우, 툴은 리스트 L에 대해 디스에이블될 수 있다.
iv. 대안적으로, 코딩 툴의 인에이블/디스에이블은 모든 참조 픽처들 및/또는 현재 픽처의 해상도들에 의해 결정된다.
1. 일 예에서, 참조 픽처들 중 적어도 하나가 현재 픽처와 다른 해상도를 갖는 경우, 코딩 툴 X는 디스에이블될 수 있다.
2. 일 예에서, 참조 픽처들 중 적어도 하나가 현재 픽처와 상이한 해상도를 갖지만 참조 픽처들이 동일한 해상도를 갖는 경우, 코딩 툴 X는 여전히 인에이블될 수 있다.
3. 일 예에서, 참조 픽처들 중 적어도 하나가 현재 픽처와 상이한 해상도를 갖고 참조 픽처들이 상이한 해상도를 갖는 경우, 코딩 툴 X는 디스에이블될 수 있다.
g. 코딩 툴 X는 아래의 임의의 것일 수 있다.
iii. DMVR
iv. BDOF
v. 아핀 예측
vi. 삼각형 예측 모드
vii. SMVD
ⅷ. MMVD
ix. VVC에서의 인터-인트라 예측
x. LIC
xi. HMVP
xii. MTS(Multiple Transform Set)
xiii. SBT(Sub-Block Transform)
xiv. PROF 및/또는 다른 디코딩 측 모션/예측 개선 방법들
xv. LFNST(low frequency non-square transform)
xvi. 필터링 방법들(예를 들면, 디블로킹 필터/SAO/ALF)
xvii. GEO/TPM/교차 성분 ALF
9. 픽처의 참조 픽처 리스트는 K 개 이하의 상이한 해상도를 포함할 수 있다.
a. 일 예에서, K는 2와 동일하다.
10. N 개의 (디코딩 순서 또는 디스플레이 순서에서) 연속적인 픽처에 대해 K 개 이하의 상이한 해상도가 허용될 수 있다.
a. 일 예에서 N = 3이고, K = 3이다.
b. 일 예에서 N = 10이고, K = 3이다.
c. 일 예에서, GOP에서 K 개 이하의 상이한 해상도가 허용될 수 있다.
d. 일 예에서, 동일한 특정 시간 계층 id(tid로서 표기됨)를 갖는 2 개의 픽처 사이에 K 개 이하의 상이한 해상도가 허용될 수 있다.
i. 예를 들어, K = 3이고, tid = 0이다.
11. 인트라 픽처에 대해서만 해상도 변경이 허용될 수 있다.
12. 하나의 블록의 하나 또는 2 개의 참조 픽처가 현재 픽처와 상이한 해상도를 갖는 경우 디코딩 프로세스에서 양방향 예측이 단방향 예측으로 변환될 수 있다.
a. 일 예에서, 현재 픽처와 상이한 해상도를 갖는 대응하는 참조 픽처를 갖는 리스트 X로부터의 예측은 폐기될 수 있다.
13. 상이한 해상도의 참조 픽처들로부터의 인터 예측을 인에이블시킬지 디스에이블시킬지는 모션 벡터 정밀도 및/또는 해상도 비에 의존할 수 있다.
a. 일 예에서, 해상도 비에 따른 스케일링된 모션 벡터가 정수 위치들을 가리키는 경우, 인터 예측은 여전히 적용될 수 있다.
b. 일 예에서, 해상도 비에 따른 스케일링된 모션 벡터가 ARC가 없는 경우에 허용되는 서브펠 위치(예를 들면, 1/4 펠)를 가리키는 경우, 인터 예측은 여전히 적용될 수 있다.
c. 대안적으로, 양쪽 참조 픽처들이 현재 픽처와 상이한 해상도들을 갖는 경우 양방향 예측이 허용되지 않을 수 있다.
d. 대안적으로, 하나의 참조 픽처가 현재 픽처와 상이한 해상도를 갖고 다른 참조 픽처가 동일한 해상도를 가질 때 양방향 예측이 인에이블될 수 있다.
e. 대안적으로, 참조 픽처가 현재 픽처와 상이한 해상도를 갖고 블록 치수가 특정 조건들을 충족시키는 경우 블록에 대해 단방향 예측이 허용되지 않을 수 있다.
14. 코딩 툴 X가 디스에이블되어 있는지 여부를 나타내는 제1 플래그(예를 들면, pic_disable_X_flag)는 픽처 헤더에서 시그널링될 수 있다.
a. 픽처보다 작은 슬라이스/타일/브릭/서브픽처/다른 비디오 유닛에 대한 코딩 툴을 인에이블시킬지 여부는 픽처 헤더에서의 이 플래그 및/또는 슬라이스 유형들에 의해 제어될 수 있다.
b. 일 예에서, 제1 플래그가 참일 때, 코딩 툴 X가 디스에이블된다.
i. 대안적으로, 제1 플래그가 거짓일 때, 코딩 툴 X가 인에이블된다.
ii. 일 예에서, 픽처 내의 모든 샘플들에 대해 코딩 툴 X가 인에이블/디스에이블된다.
c. 일 예에서, 제1 플래그의 시그널링은 SPS/VPS/DPS/PPS에서의 신택스 요소 또는 다수의 신택스 요소들에 더 의존할 수 있다.
i. 일 예에서, 플래그의 시그널링은 SPS에서의 코딩 툴 X의 인에이블 플래그에 의존할 수 있다.
ii. 대안적으로, 게다가, 픽처 헤더에서의 제1 플래그의 존재를 나타내는 제2 플래그(예를 들면, sps_X_slice_present_flag)는 SPS에서 시그널링될 수 있다.
1) 대안적으로, 게다가, 코딩 툴 X가 시퀀스에 대해 인에이블되어 있을 때(예를 들면, sps_X_enabled_flag가 참일 때) 제2 플래그가 조건부로 시그널링될 수 있다.
2) 대안적으로, 게다가, 제2 플래그만이 제1 플래그가 존재함을 나타내고, 제1 플래그는 픽처 헤더에서 시그널링될 수 있다.
d. 일 예에서, 제1 및/또는 제2 플래그는 1 비트로 코딩된다.
e. 코딩 툴 X는 다음과 같을 수 있다:
i. 일 예에서 코딩 툴 X는 PROF이다.
ii. 일 예에서, 코딩 툴 X는 DMVR이다.
iii. 일 예에서, 코딩 툴 X는 BDOF이다.
iv. 일 예에서, 코딩 툴 X는 교차 성분 ALF이다.
v. 일 예에서, 코딩 툴 X는 GEO이다.
vi. 일 예에서, 코딩 툴 X는 TPM이다.
vii. 일 예에서, 코딩 툴 X는 MTS이다.
15. 블록이 현재 픽처와 상이한 치수들을 갖는 참조 픽처를 참조할 수 있는지 여부는 블록의 폭(WB) 및/또는 높이(HB) 및/또는 블록 예측 모드(즉, 양방향 예측 또는 단방향 예측)에 의존할 수 있다.
a. 일 예에서, WB>=T1이고 HB>=T2인 경우 블록은 현재 픽처와 상이한 치수들을 갖는 참조 픽처를 참조할 수 있다. 예를 들면, T1=T2=8이다.
b. 일 예에서, WB * HB >=T인 경우 블록은 현재 픽처와 상이한 치수들을 갖는 참조 픽처를 참조할 수 있다. 예를 들면, T=64이다.
c. 일 예에서, Min(WB, HB)>=T인 경우 블록은 현재 픽처와 상이한 치수들을 갖는 참조 픽처를 참조할 수 있다. 예를 들면, T=8이다.
d. 일 예에서, Max(WB, HB)>=T인 경우 블록은 현재 픽처와 상이한 치수들을 갖는 참조 픽처를 참조할 수 있다. 예를 들면, T=8이다.
e. 일 예에서, WB<=T1이고 HB<=T2인 경우 블록은 현재 픽처와 상이한 치수들을 갖는 참조 픽처를 참조할 수 있다. 예를 들면, T1=T2=64이다.
f. 일 예에서, WB * HB <=T인 경우 블록은 현재 픽처와 상이한 치수들을 갖는 참조 픽처를 참조할 수 있다. 예를 들면, T=4096이다.
g. 일 예에서, Min(WB, HB)<=T인 경우 블록은 현재 픽처와 상이한 치수들을 갖는 참조 픽처를 참조할 수 있다. 예를 들면, T=64이다.
h. 일 예에서, Max(WB, HB)<=T인 경우 블록은 현재 픽처와 상이한 치수들을 갖는 참조 픽처를 참조할 수 있다. 예를 들면, T=64이다.
i. 대안적으로, WB<=T1이고/이거나 HB<=T2인 경우 블록은 현재 픽처와 상이한 치수들을 갖는 참조 픽처를 참조하도록 허용되지 않는다. 예를 들면, T1=T2=8이다.
j. 대안적으로, WB<=T1이고/이거나 HB<=T2인 경우 블록은 현재 픽처와 상이한 치수들을 갖는 참조 픽처를 참조하도록 허용되지 않는다. 예를 들면, T1=T2=8이다.
도 23a는 비디오 프로세싱 장치(2300)의 블록 다이어그램이다. 장치(2300)는 본 명세서에 설명된 방법들 중 하나 이상을 구현하는 데 사용될 수 있다. 장치(2300)는 스마트폰, 태블릿, 컴퓨터, IoT(Internet of Things) 수신기 등으로 구체화될 수 있다. 장치(2300)는 하나 이상의 프로세서(2302), 하나 이상의 메모리(2304) 및 비디오 프로세싱 하드웨어(2306)를 포함할 수 있다. 프로세서(들)(2302)는 본 문서에 설명된 하나 이상의 방법(도 24a 내지 도 25i에 도시된 바와 같은 방법들을 포함하지만 이에 제한되지 않음)을 구현하도록 구성될 수 있다. 메모리(메모리들)(2304)는 본 명세서에 설명된 방법들 및 기술들을 구현하는 데 사용되는 데이터 및 코드를 저장하는 데 사용될 수 있다. 비디오 프로세싱 하드웨어(2306)는, 하드웨어 회로로, 본 문서에 설명된 일부 기술들을 구현하는 데 사용될 수 있다.
도 23b는 개시된 기술들이 구현될 수 있는 비디오 프로세싱 시스템의 블록 다이어그램의 다른 예이다. 도 23b는 본 명세서에 개시된 다양한 기술들이 구현될 수 있는 예시적인 비디오 프로세싱 시스템(2400)을 도시하는 블록 다이어그램이다. 다양한 구현들은 시스템(2400)의 컴포넌트들의 일부 또는 전부를 포함할 수 있다. 시스템(2400)은 비디오 콘텐츠를 수신하기 위한 입력(2402)을 포함할 수 있다. 비디오 콘텐츠는 원시 또는 압축되지 않은 포맷, 예를 들면, 8 또는 10 비트 다중 성분 픽셀 값으로 수신될 수 있거나, 또는 압축된 또는 인코딩된 포맷으로 되어 있을 수 있다. 입력(2402)은 네트워크 인터페이스, 주변기기 버스 인터페이스, 또는 스토리지 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예는 이더넷, PON(passive optical network) 등과 같은 유선 인터페이스 및 Wi-Fi 또는 셀룰러 인터페이스와 같은 무선 인터페이스를 포함한다.
시스템(2400)은 본 문서에 설명된 다양한 코딩 또는 인코딩 방법들을 구현할 수 있는 코딩 컴포넌트(2404)를 포함할 수 있다. 코딩 컴포넌트(2404)는 비디오의 코딩된 표현을 생성하기 위해 입력(2402)으로부터 코딩 컴포넌트(2404)의 출력으로의 비디오의 평균 비트레이트를 감소시킬 수 있다. 따라서 코딩 기술은 때때로 비디오 압축 또는 비디오 트랜스코딩 기술이라고 불린다. 코딩 컴포넌트(2404)의 출력은, 컴포넌트(2406)에 의해 표현된 바와 같이, 저장되거나 연결된 통신을 통해 전송될 수 있다. 입력(2402)에 수신되는 비디오의 저장된 또는 통신된 비트스트림(또는 코딩된) 표현은 디스플레이 인터페이스(2409)로 송신되는 픽셀 값 또는 디스플레이 가능한 비디오를 생성하기 위해 컴포넌트(2408)에 의해 사용될 수 있다. 비트스트림 표현으로부터 사용자가 볼 수 있는 비디오를 생성하는 프로세스는 때때로 비디오 압축 해제라고 불린다. 게다가, 특정 비디오 프로세싱 동작이 "코딩" 동작 또는 툴이라고 지칭되지만, 코딩 툴 또는 동작은 인코더에서 사용되고 코딩의 결과를 반대로 행하는 대응하는 디코딩 툴 또는 동작은 디코더에 의해 수행될 것임이 이해될 것이다.
주변기기 버스 인터페이스 또는 디스플레이 인터페이스의 예는 USB(universal serial bus) 또는 HDMI(high definition multimedia interface) 또는 Displayport 등을 포함할 수 있다. 스토리지 인터페이스의 예는 SATA(serial advanced technology attachment), PCI, IDE 인터페이스 등을 포함한다. 본 문서에서 설명되는 기술은 디지털 데이터 프로세싱 및/또는 비디오 디스플레이를 수행할 수 있는 모바일 폰, 랩톱, 스마트폰 또는 다른 디바이스와 같은 다양한 전자 디바이스들에서 구체화될 수 있다.
도 24a는 비디오 프로세싱을 위한 예시적인 방법의 플로차트를 도시한다. 도 24a를 참조하면, 방법(2410)은, 단계(2412)에서, 비디오의 현재 픽처의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해, 현재 비디오 블록과 연관된 참조 픽처들의 하나 이상의 해상도 및 현재 픽처의 해상도에 기초하여 하나 이상의 모션 벡터 오프셋을 도출하는 단계를 포함한다. 방법(2410)은, 단계(2414)에서, 하나 이상의 모션 벡터 오프셋을 사용하여 변환을 수행하는 단계를 더 포함한다.
도 24b는 비디오 프로세싱을 위한 예시적인 방법의 플로차트를 도시한다. 도 24b를 참조하면, 방법(2420)은, 단계(2422)에서, 비디오의 현재 픽처의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해, 모션 후보의 우선순위가 모션 후보와 연관된 참조 픽처의 해상도에 기초하도록 하는 우선순위 순서로 모션 후보들이 포함되어 있는 모션 후보 리스트를 구성하는 단계를 포함한다. 방법(2420)은, 단계(2424)에서, 모션 후보 리스트를 사용하여 변환을 수행하는 단계를 포함한다.
도 24c는 비디오 프로세싱을 위한 예시적인 방법의 플로차트를 도시한다. 도 24c를 참조하면, 방법(2430)은, 단계(2432)에서, 현재 비디오 픽처의 치수에 기초하여 하나 이상의 비디오 유닛을 포함하는 현재 비디오 픽처에 대한 적응 루프 필터의 파라미터들을 결정하는 단계를 포함한다. 방법(2430)은, 단계(2434)에서, 적응 루프 필터의 파라미터들에 따라 하나 이상의 비디오 유닛을 필터링하는 것에 의해 현재 비디오 픽처와 현재 비디오 픽처의 코딩된 표현 사이의 변환을 수행하는 단계를 더 포함한다.
도 24d는 비디오 프로세싱을 위한 예시적인 방법의 플로차트를 도시한다. 도 24d를 참조하면, 방법(2440)은, 단계(2442)에서, 비디오의 현재 픽처의 현재 비디오 블록에 대해, 현재 비디오 블록의 루마 샘플들이 제1 도메인과 제2 도메인 사이에서 리셰이핑되고 크로마 잔차가 대응하는 치수들과 연관된 LMCS 파라미터들을 사용하여 루마 종속적 방식으로 스케일링되는 LMCS(luma mapping with chroma scaling) 프로세스를 적용하는 단계를 포함한다. 방법(2440)은, 단계(2444)에서, 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 더 포함한다.
도 24e는 비디오 프로세싱을 위한 예시적인 방법의 플로차트를 도시한다. 도 24e를 참조하면, 방법(2450)은, 단계(2452)에서, 비디오의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해, 다수의 서브파티션들의 참조 픽처 정보에 기초한 규칙에 따라 현재 비디오 블록을 다수의 서브파티션들로 분할하는 코딩 툴을 인에이블시킬지 여부 및/또는 어떻게 인에이블시킬지를 결정하는 단계를 포함한다. 방법(2450)은, 단계(2454)에서, 결정하는 단계에 기초하여 변환을 수행하는 단계를 더 포함한다.
도 25a는 비디오 프로세싱을 위한 예시적인 방법의 플로차트를 도시한다. 도 25a를 참조하면, 방법(2510)은, 단계(2512)에서, 비디오의 현재 픽처의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해, 현재 비디오 블록을 코딩된 표현으로 코딩하는 데 현재 픽처의 치수와 상이한 치수를 갖는 참조 픽처를 사용하는 것으로 인해 현재 비디오 블록에 대해 코딩 툴의 사용이 디스에이블된다고 결정하는 단계를 포함한다. 방법(2510)은, 단계(2514)에서, 결정하는 단계에 기초하여 변환을 수행하는 단계를 더 포함한다.
도 25b는 비디오 프로세싱을 위한 예시적인 방법의 플로차트를 도시한다. 도 25b를 참조하면, 방법(2520)은, 단계(2522)에서, 비디오의 현재 픽처의 현재 비디오 블록에 대해, 현재 픽처의 치수들과 상이한 치수들을 갖는 참조 픽처를 사용할지 여부 및/또는 어떻게 사용할지를 결정하는 규칙에 기초하여 현재 비디오 블록에 코딩 툴을 적용하는 것에 의해 예측 블록을 생성하는 단계를 포함한다. 방법(2520)은, 단계(2524)에서, 예측 블록을 사용하여 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 더 포함한다.
도 25c는 비디오 프로세싱을 위한 예시적인 방법의 플로차트를 도시한다. 도 25c를 참조하면, 방법(2530)은, 단계(2532)에서, 비디오의 현재 픽처의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해, 하나 이상의 참조 픽처 리스트와 연관된 참조 픽처들의 제1 해상도 및/또는 현재 비디오 블록에 대한 예측 블록을 도출하는 데 사용되는 현재 참조 픽처의 제2 해상도에 기초하여 현재 비디오 블록에 대해 코딩 툴이 디스에이블되는지 여부를 결정하는 단계를 포함한다. 방법(2530)은, 단계(2534)에서, 결정하는 단계에 기초하여 변환을 수행하는 단계를 더 포함한다.
도 25d는 비디오 프로세싱을 위한 예시적인 방법의 플로차트를 도시한다. 도 25d를 참조하면, 방법(2540)은, 단계(2542)에서, 하나 이상의 비디오 블록을 포함하는 비디오 픽처와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함한다. 일부 구현들에서, 하나 이상의 비디오 블록 중 적어도 일부는 규칙에 따라 비디오 픽처에 대한 참조 픽처 리스트를 참조하는 것에 의해 코딩되고, 규칙은 참조 픽처 리스트가 최대 K 개의 상이한 해상도를 갖는 참조 픽처들을 포함한다는 것을 지정하며, 여기서 K는 정수이다.
도 25e는 비디오 프로세싱을 위한 예시적인 방법의 플로차트를 도시한다. 도 25e를 참조하면, 방법(2550)은, 단계(2552)에서, 비디오의 N 개의 연속적인 비디오 픽처와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함한다. 일부 구현들에서, N 개의 연속적인 비디오 픽처는 규칙에 따라 상이한 해상도들로 코딩되는 하나 이상의 비디오 블록을 포함하고, 규칙은 최대 K 개의 상이한 해상도가 N 개의 연속적인 픽처에 대해 허용된다는 것을 지정하고, 여기서 N 및 K는 정수들이다.
도 25f는 비디오 프로세싱을 위한 예시적인 방법의 플로차트를 도시한다. 도 25f를 참조하면, 방법(2560)은, 단계(2562)에서, 복수의 픽처들을 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함한다. 일부 구현들에서, 복수의 픽처들 중 적어도 일부는 상이한 코딩된 비디오 해상도들을 사용하여 코딩된 표현으로 코딩되고, 코딩된 표현은 이전 프레임의 제1 코딩된 해상도가, 순서에서 이전 프레임 이후의 다음 프레임이 인트라 프레임으로서 코딩된 경우에만, 다음 프레임의 제2 코딩된 해상도로 변경되는 포맷 규칙을 준수한다.
도 25g는 비디오 프로세싱을 위한 예시적인 방법의 플로차트를 도시한다. 도 25g를 참조하면, 방법(2570)은, 단계(2572)에서, 비디오의 현재 픽처의 현재 비디오 블록이 현재 픽처의 해상도와 상이한 해상도와 연관된 참조 픽처를 참조한다고 결정하기 위해 비디오의 코딩된 표현을 파싱하는 단계를 포함한다. 방법(2570)은, 단계(2574)에서, 양방향 예측 모드를 현재 비디오 블록에 적용될 단방향 예측 모드로 변환하는 것에 의해 현재 비디오 블록에 대한 예측 블록을 생성하는 단계를 더 포함한다. 방법(2570)은, 단계(2576)에서, 예측 블록을 사용하여 코딩된 표현으로부터 비디오를 생성하는 단계를 더 포함한다.
도 25h는 비디오 프로세싱을 위한 예시적인 방법의 플로차트를 도시한다. 도 25h를 참조하면, 방법(2580)은, 단계(2582)에서, 모션 벡터 정밀도 및/또는 해상도 비들에 따라 서로 상이한 해상도들을 갖는 참조 픽처들로부터 인터 예측을 인에이블 또는 디스에이블시키는 것에 의해 비디오의 현재 픽처의 현재 비디오 블록에 대한 예측 블록을 생성하는 단계를 포함한다. 방법(2580)은, 단계(2584)에서, 예측 블록을 사용하여 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 더 포함한다.
도 25i는 비디오 프로세싱을 위한 예시적인 방법의 플로차트를 도시한다. 도 25i를 참조하면, 방법(2590)은, 단계(2592)에서, 비디오의 현재 픽처의 현재 비디오 블록의 코딩 특성에 기초하여, 현재 픽처와 치수와 상이한 치수를 갖는 참조 픽처가 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환 동안 현재 비디오 블록에 대한 예측 블록을 생성하도록 허용되는지 여부를 결정하는 단계를 포함한다. 방법(2590)은, 단계(2594)에서, 결정하는 단계에 따라 변환을 수행하는 단계를 더 포함한다.
일부 실시예들에서, 비디오 코딩 방법들은 도 23a 또는 도 23b와 관련하여 설명된 바와 같이 하드웨어 플랫폼 상에서 구현되는 장치를 사용하여 구현될 수 있다. 개시된 방법들 및 기술들이 본 문서에 개시된 기술들의 사용을 허용하는 것에 의해 스마트폰들, 랩톱들, 데스크톱들, 및 유사한 디바이스들과 같은 비디오 프로세싱 디바이스들 내에 통합된 비디오 인코더 및/또는 디코더 실시예들에 유익할 것이라는 것이 이해될 것이다.
개시된 기술의 일부 실시예들은 비디오 프로세싱 툴 또는 모드를 인에이블시키기로 의사 결정 또는 결정하는 것을 포함한다. 예에서, 비디오 프로세싱 툴 또는 모드가 인에이블될 때, 인코더는 비디오 블록의 프로세싱에서 툴 또는 모드를 사용하거나 구현할 것이지만, 툴 또는 모드의 사용에 기초하여 결과적인 비트스트림을 반드시 수정하는 것은 아닐 수 있다. 즉, 비디오 블록으로부터 비디오의 비트스트림 표현으로의 변환은 의사 결정 또는 결정에 기초하여 비디오 프로세싱 툴 또는 모드가 인에이블될 때 이를 사용할 것이다. 다른 예에서, 비디오 프로세싱 툴 또는 모드가 인에이블될 때, 디코더는 비디오 프로세싱 툴 또는 모드에 기초하여 비트스트림이 수정되었다는 지식을 사용하여 비트스트림을 프로세싱할 것이다. 즉, 비디오의 비트스트림 표현으로부터 비디오 블록으로의 변환은 의사 결정 또는 결정에 기초하여 인에이블된 비디오 프로세싱 툴 또는 모드를 사용하여 수행될 것이다.
개시된 기술의 일부 실시예들은 비디오 프로세싱 툴 또는 모드를 디스에이블시키기로 의사 결정 또는 결정하는 것을 포함한다. 예에서, 비디오 프로세싱 툴 또는 모드가 디스에이블될 때, 인코더는 비디오 블록을 비디오의 비트스트림 표현으로 변환하는 데 툴 또는 모드를 사용하지 않을 것이다. 다른 예에서, 비디오 프로세싱 툴 또는 모드가 디스에이블될 때, 디코더는 의사 결정 또는 결정에 기초하여 디스에이블된 비디오 프로세싱 툴 또는 모드를 사용하여 비트스트림이 수정되지 않았다는 지식을 사용하여 비트스트림을 프로세싱할 것이다.
본 문서에서, "비디오 프로세싱"이라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축 또는 비디오 압축 해제를 지칭할 수 있다. 예를 들어, 비디오의 픽셀 표현으로부터 대응하는 비트스트림 표현으로 또는 그 반대로 변환하는 동안 비디오 압축 알고리즘들이 적용될 수 있다. 현재 비디오 블록의 비트스트림 표현은, 예를 들어, 신택스에 의해 정의된 바와 같이, 비트스트림 내의 상이한 위치들에 병치(co-locate)되거나 분산되는 비트들에 대응할 수 있다. 예를 들어, 매크로블록은 변환되고 코딩된 오차 잔차 값들의 관점에서 그리고 또한 헤더들 내의 비트들 및 비트스트림 내의 다른 필드들을 사용하여 인코딩될 수 있다. 여기서, 비디오 블록은 수행되는 프로세싱 동작에 대응하는 논리 유닛, 예를 들면, 코딩 유닛, 변환 유닛, 예측 유닛 등일 수 있다.
제1 세트의 조항들은 이전 섹션에 나열된 개시된 기술들의 특정 특징들 및 양태들을 설명한다.
1. 비디오 프로세싱을 위한 방법으로서, 현재 비디오 블록과 현재 비디오 블록의 비트스트림 표현 사이의 변환 동안, 현재 비디오 블록과 연관된 참조 픽처들의 해상도 및 현재 픽처의 해상도에 기초하여 모션 벡터 오프셋들을 도출하는 단계; 및 모션 벡터 오프셋들을 사용하여 변환을 수행하는 단계를 포함하는, 방법.
2. 조항 1의 방법으로서, 모션 벡터 오프셋을 도출하는 단계는: 제1 참조 픽처를 참조하는 제1 모션 벡터 오프셋을 도출하는 단계; 및 제1 모션 벡터 오프셋에 기초하여 제2 참조 픽처를 참조하는 제2 모션 벡터 오프셋을 도출하는 단계를 포함하는, 방법.
3. 조항 1의 방법으로서, 현재 비디오 블록에 대해, 공간, 시간, 또는 히스토리 모션 후보들과 연관된 참조 픽처 해상도에 기초하여 모션 후보 리스트 구성 프로세스를 수행하는 단계를 더 포함하는, 방법.
4. 조항 1의 방법으로서, 룩업 테이블을 업데이트할지 여부 또는 어떻게 업데이트할지는 디코딩된 모션 후보와 연관된 참조 픽처 해상도에 의존하는, 방법.
5. 조항 1의 방법으로서, 현재 픽처에 대해, 대응하는 치수들과 연관된 적응 루프 필터(ALF) 파라미터들로 필터링 동작을 수행하는 단계를 더 포함하는, 방법.
6. 조항 5의 방법으로서, ALF 파라미터들은 제1 대응하는 치수들과 연관된 제1 ALF 파라미터들 및 제2 대응하는 치수들과 연관된 제2 ALF 파라미터들을 포함하고, 제2 ALF 파라미터들은 제1 ALF 파라미터들로부터 상속되거나 예측되는, 방법.
7. 조항 1의 방법으로서, 대응하는 치수들과 연관된 LMCS(Luma Mapping Chroma Scaling) 파라미터들로 현재 픽처에서의 샘플들을 리셰이핑하는 단계를 더 포함하는, 방법.
8. 조항 7의 방법으로서, LMCS 파라미터들은 제1 대응하는 치수들과 연관된 제1 LMCS 파라미터들 및 제2 대응하는 치수들과 연관된 제2 LMCS 파라미터들을 포함하고, 제2 LMCS 파라미터들은 제1 LMCS 파라미터들로부터 상속되거나 예측되는, 방법.
9. 조항 5 또는 조항 7의 방법으로서, 비디오 유닛에서 시그널링되는 ALF 파라미터들 또는 LMCS 파라미터들은 하나 또는 다수의 픽처 치수와 연관되는, 방법.
10. 조항 1의 방법으로서, 현재 비디오 블록이 현재 픽처와 상이한 치수들을 갖는 적어도 하나의 참조 픽처를 참조할 때 현재 비디오 블록에 대한 코딩 툴을 디스에이블시키는 단계를 더 포함하는, 방법.
11. 조항 10의 방법으로서, 현재 픽처의 치수들과 상이한 치수들을 갖는 참조 픽처를 참조하는 병합 후보를 스킵하거나 생략하는 단계를 더 포함하는, 방법.
12. 조항 1의 방법으로서, 참조 픽처들의 해상도 및 현재 픽처의 해상도에 기초하여 2 개의 참조 블록 또는 2 개의 참조 픽처를 스케일링한 후에 또는 참조 픽처들의 해상도 및 현재 픽처의 해상도에 기초하여 2 개의 MV 또는 MVD(Motion Vector Difference)(모션 벡터 차이)를 스케일링한 후에 코딩 툴을 적용하는 단계를 더 포함하는, 방법.
13. 조항 1의 방법으로서, 현재 픽처는 K 개 이하의 상이한 해상도를 포함하고, K는 자연수인, 방법.
14. 조항 13의 방법으로서, K 개의 상이한 해상도가 N 개의 연속적인 픽처에 대해 허용되고, N은 자연수인, 방법.
15. 조항 1의 방법으로서, 인트라 픽처인 현재 픽처에 해상도 변경을 적용하는 단계를 더 포함하는, 방법.
16. 조항 1의 방법으로서, 현재 비디오 블록의 하나 또는 2 개의 참조 픽처가 현재 픽처의 해상도와 상이한 해상도를 가질 때 양방향 예측을 단방향 예측으로 변환하는 단계를 더 포함하는, 방법.
17. 조항 1의 방법으로서, 모션 벡터 정밀도 또는 현재 블록 치수와 참조 블록 치수 사이의 해상도 비 중 적어도 하나에 따라 상이한 해상도들의 참조 픽처들로부터의 인터 예측을 인에이블 또는 디스에이블시키는 단계를 더 포함하는, 방법.
18. 조항 1의 방법으로서, 양쪽 참조 픽처들 또는 하나의 참조 픽처가 현재 픽처의 해상도와 상이한 해상도를 갖는지 여부에 따라 양방향 예측을 적용하는 단계를 더 포함하는, 방법.
19. 조항 1의 방법으로서, 현재 비디오 블록이 현재 픽처의 치수와 상이한 치수들을 갖는 참조 픽처를 참조하는지 여부는 현재 비디오 블록의 크기 또는 블록 예측 모드 중 적어도 하나에 의존하는, 방법.
20. 조항 1의 방법으로서, 변환을 수행하는 단계는 비트스트림 표현으로부터 현재 비디오 블록을 생성하는 단계를 포함하는, 방법.
21. 조항 1의 방법으로서, 변환을 수행하는 단계는 현재 비디오 블록으로부터 비트스트림 표현을 생성하는 단계를 포함하는, 방법.
22. 비디오 시스템에서의 장치로서, 프로세서 및 명령어들을 갖는 비일시적 메모리를 포함하며, 명령어들은, 프로세서에 의한 실행 시에, 프로세서로 하여금 조항 1 내지 조항 21 중 어느 한 조항에서의 방법을 구현하게 하는, 장치.
23. 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램 제품으로서, 컴퓨터 프로그램 제품은 조항 1 내지 조항 21 중 어느 한 조항에서의 방법을 수행하기 위한 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
제2 세트의 조항들은, 예를 들어, 예시적인 구현 1 내지 예시적인 구현 7을 포함하여, 이전 섹션에 나열된 개시된 기술들의 특정 특징들 및 양태들을 설명한다.
1. 비디오 프로세싱 방법으로서, 비디오의 현재 픽처의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해, 현재 비디오 블록과 연관된 참조 픽처들의 하나 이상의 해상도 및 현재 픽처의 해상도에 기초하여 하나 이상의 모션 벡터 오프셋을 도출하는 단계; 및 하나 이상의 모션 벡터 오프셋을 사용하여 변환을 수행하는 단계를 포함하는, 방법.
2. 조항 1의 방법으로서, 하나 이상의 모션 벡터 오프셋은 2 개의 모션 후보 사이의 거리를 지정하는 거리 인덱스를 포함하는 모션 벡터 표현을 포함하는 MMVD(merge with motion vector difference) 또는 모션 벡터 차이를 대칭적으로 프로세싱하는 SMVD(symmetrical motion vector difference)에서의 모션 벡터 오프셋들에 대응하는, 방법.
3. 조항 1의 방법으로서, 하나 이상의 모션 벡터 오프셋은 디코더 측 도출 프로세스에서 사용되는 개선된 모션 벡터들에 대응하는, 방법.
4. 조항 1의 방법으로서, 하나 이상의 벡터 오프셋을 도출하는 단계는: 제1 참조 픽처를 참조하는 제1 모션 벡터 오프셋을 도출하는 단계; 및 제1 모션 벡터 오프셋에 기초하여 제2 참조 픽처를 참조하는 제2 모션 벡터 오프셋을 도출하는 단계를 포함하는, 방법.
5. 조항 1 내지 조항 4 중 어느 한 조항의 방법으로서, 하나 이상의 모션 벡터 오프셋은 제1 오프셋(offset0) 및 제2 오프셋(offset1)을 포함하고, 변환을 수행하는 단계는
으로서 정의되는 SatShift 수식을 사용하여 모션 벡터들을 계산하는 단계를 포함하는, 방법.
6. 조항 1 내지 조항 5 중 어느 한 조항의 방법으로서, 변환을 수행하는 단계는 비디오로부터 코딩된 표현을 생성하는 단계 또는 코딩된 표현으로부터 비디오를 생성하는 단계를 포함하는, 방법.
7. 비디오 프로세싱 방법으로서, 비디오의 현재 픽처의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해, 모션 후보의 우선순위가 모션 후보와 연관된 참조 픽처의 해상도에 기초하도록 하는 우선순위 순서로 모션 후보들이 포함되어 있는 모션 후보 리스트를 구성하는 단계; 및 모션 후보 리스트를 사용하여 변환을 수행하는 단계를 포함하는, 방법.
8. 조항 7의 방법으로서, 보다 높은 해상도를 갖는 참조 픽처를 참조하는 모션 후보는 보다 낮은 해상도를 갖는 다른 참조 픽처를 참조하는 다른 모션 후보보다 높은 우선순위를 갖는, 방법.
9. 조항 7의 방법으로서, 보다 높은 해상도를 갖는 참조 픽처를 참조하는 모션 후보는 모션 후보 리스트에서 보다 낮은 해상도를 갖는 다른 참조 픽처를 참조하는 다른 병합 후보보다 먼저 배치되는, 방법.
10. 조항 7의 방법으로서, 모션 후보 리스트를 구성하는 단계는 현재 비디오 블록을 포함하는 현재 픽처의 해상도보다 낮은 해상도를 갖는 참조 픽처를 참조하는 모션 후보를 포함하지 않도록 수행되는, 방법.
11. 조항 7의 방법으로서, 룩업 테이블을 업데이트할지 여부 및/또는 어떻게 업데이트할지는 디코딩된 모션 후보와 연관된 참조 픽처의 해상도에 의존하는, 방법.
12. 조항 11의 방법으로서, 참조 픽처는 디코딩된 모션 후보와 연관되고 현재 비디오 블록을 포함하는 현재 픽처의 해상도와 상이한 해상도를 가지며, 참조 픽처로부터의 모션 후보는 룩업 테이블을 업데이트하도록 허용되지 않는, 방법.
13. 조항 7 내지 조항 12 중 어느 한 조항의 방법으로서, 모션 후보가 시간 모션 후보인, 방법.
14. 조항 7 내지 조항 12 중 어느 한 조항의 방법으로서, 모션 후보가 공간 모션 후보인, 방법.
15. 조항 7 내지 조항 12 중 어느 한 조항의 방법으로서, 모션 후보가 히스토리 기반 모션 후보인, 방법.
16. 조항 7 내지 조항 15 중 어느 한 조항의 방법으로서, 변환을 수행하는 단계는 비디오로부터 코딩된 표현을 생성하는 단계 또는 코딩된 표현으로부터 비디오를 생성하는 단계를 포함하는, 방법.
17. 비디오 프로세싱 방법으로서, 현재 비디오 픽처의 치수에 기초하여 하나 이상의 비디오 유닛을 포함하는 현재 비디오 픽처에 대한 적응 루프 필터의 파라미터들을 결정하는 단계; 및 적응 루프 필터의 파라미터들에 따라 하나 이상의 비디오 유닛을 필터링하는 것에 의해 현재 비디오 픽처와 현재 비디오 픽처의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하는, 방법.
18. 조항 17의 방법으로서, 파라미터들은 비디오 유닛에서 시그널링되고 하나 이상의 픽처 치수와 연관되는, 방법.
19. 조항 17의 방법으로서, 파라미터들을 시그널링하는 데 사용되는 비디오 유닛은 하나 이상의 픽처 치수와 연관되는, 방법.
20. 조항 17의 방법으로서, 비디오 유닛에서 시그널링되고 동일한 치수들과 연관되는 파라미터들은 현재 픽처에 적용되는, 방법.
21. 조항 17의 방법으로서, 코딩된 표현은 해상도, 픽처 파라미터 세트(PPS)의 인덱스, 해상도의 표시 중 적어도 하나를 시그널링하는 데이터 구조를 포함하는, 방법.
22. 조항 17의 방법으로서, 파라미터들은 현재 픽처의 동일한 해상도를 갖는 다른 픽처에 대해 사용된 것들로부터 상속되거나 예측되는, 방법.
23. 조항 17의 방법으로서, 파라미터들은 제1 대응하는 치수들과 연관된 제1 파라미터 세트 및 제2 대응하는 치수들과 연관된 제2 파라미터 세트를 포함하고, 제2 파라미터 세트는 제1 파라미터 세트로부터 상속되거나 예측되는, 방법.
24. 조항 23의 방법으로서, 제1 대응하는 치수들은 제2 대응하는 치수들과 동일한, 방법.
25. 조항 23의 방법으로서, 제1 대응하는 치수들은 제2 대응하는 치수들과 상이한, 방법.
26. 조항 17 내지 조항 25 중 어느 한 조항의 방법으로서, 변환을 수행하는 단계는 비디오로부터 코딩된 표현을 생성하는 단계 또는 코딩된 표현으로부터 비디오를 생성하는 단계를 포함하는, 방법.
27. 비디오 프로세싱 방법으로서, 비디오의 현재 픽처의 현재 비디오 블록에 대해, 현재 비디오 블록의 루마 샘플들이 제1 도메인과 제2 도메인 사이에서 리셰이핑되고 크로마 잔차가 대응하는 치수들과 연관된 LMCS 파라미터들을 사용하여 루마 종속적 방식으로 스케일링되는 LMCS(luma mapping with chroma scaling) 프로세스를 적용하는 단계; 및 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하는, 방법.
28. 조항 27의 방법으로서, LMCS 파라미터들은 비디오 유닛에서 시그널링되고 하나 이상의 픽처 치수와 연관되는, 방법.
29. 조항 27의 방법으로서, LMCS 파라미터들을 시그널링하는 데 사용되는 비디오 유닛은 하나 이상의 픽처 치수와 연관되는, 방법.
30. 조항 27의 방법으로서, 비디오 유닛에서 시그널링되고 동일한 치수들과 연관되는 LMCS 파라미터들은 현재 픽처에 적용되는, 방법.
31. 조항 27의 방법으로서, 코딩된 표현은 해상도, 픽처 파라미터 세트(PPS)의 인덱스, 해상도의 표시 중 적어도 하나를 시그널링하는 데이터 구조를 포함하는, 방법.
32. 조항 27의 방법으로서, LMCS 파라미터들은 현재 픽처의 동일한 해상도를 갖는 다른 픽처에 대해 사용된 것들로부터 상속되거나 예측되는, 방법.
33. 조항 27의 방법으로서, LMCS 파라미터들은 제1 대응하는 치수들과 연관된 제1 LMCS 파라미터들 및 제2 대응하는 치수들과 연관된 제2 LMCS 파라미터들을 포함하고, 제2 LMCS 파라미터들은 제1 LMCS 파라미터들로부터 상속되거나 예측되는, 방법.
34. 조항 33의 방법으로서, 제1 대응하는 치수들은 제2 대응하는 치수들과 동일한, 방법.
35. 조항 33의 방법으로서, 제1 대응하는 치수들은 제2 대응하는 치수들과 상이한, 방법.
36. 조항 27 내지 조항 35 중 어느 한 조항의 방법으로서, 변환을 수행하는 단계는 비디오로부터 코딩된 표현을 생성하는 단계 또는 코딩된 표현으로부터 비디오를 생성하는 단계를 포함하는, 방법.
37. 비디오 프로세싱 방법으로서, 비디오의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해, 다수의 서브파티션들의 참조 픽처 정보에 기초한 규칙에 따라 현재 비디오 블록을 다수의 서브파티션들로 분할하는 코딩 툴을 인에이블시킬지 여부 및/또는 어떻게 인에이블시킬지를 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함하는, 방법.
38. 조항 37의 방법으로서, 코딩 툴은 서브파티션들 중 적어도 하나가 직사각형이 아닌 파티션인 TPM(triangular prediction mode) 또는 비디오 블록이 수평이 아닌 또는 수직이 아닌 라인을 사용하여 분할될 수 있는 GEO(inter prediction with geometry partitioning)에 대응하는, 방법.
39. 조항 37의 방법으로서, 규칙은 2 개의 서브파티션에 대응하는 2 개의 참조 픽처 중 하나의 참조 픽처의 해상도가 현재 비디오 블록을 포함하는 현재 픽처의 해상도와 동일한지 상이한지에 기초하여 코딩 툴을 인에이블시킬지 여부 및/또는 어떻게 인에이블시킬지를 지정하는, 방법.
40. 조항 39의 방법으로서, 규칙은 2 개의 참조 픽처 중 적어도 하나가 현재 픽처의 해상도와 상이한 해상도와 연관되는 경우에 코딩 툴을 인에이블시키지 않도록 지정하는, 방법.
41. 조항 39의 방법으로서, 규칙은 2 개의 참조 픽처가 서로 상이한 해상도들과 연관되는 경우에 코딩 툴을 인에이블시키지 않도록 지정하는, 방법.
42. 조항 39의 방법으로서, 규칙은 2 개의 참조 픽처가 현재 픽처의 해상도와 상이한 해상도들과 연관되는 경우에 코딩 툴을 인에이블시키지 않도록 지정하는, 방법.
43. 조항 39의 방법으로서, 규칙은 2 개의 참조 픽처가 현재 픽처의 해상도와 상이한 동일한 해상도와 연관되는 경우에 코딩 툴을 인에이블시키지 않도록 지정하는, 방법.
44. 조항 39의 방법으로서, 규칙은 2 개의 참조 픽처 중 적어도 하나가 현재 픽처의 해상도와 상이한 해상도와 연관되는 경우에 코딩 툴을 인에이블시키지 않도록 지정하는, 방법.
45. 조항 37의 방법으로서, 규칙은 2 개의 서브파티션에 대응하는 2 개의 참조 픽처가 동일한 참조 픽처인지 여부에 기초하여 코딩 툴을 인에이블시킬지 여부 및/또는 어떻게 인에이블시킬지를 지정하는, 방법.
46. 조항 37의 방법으로서, 규칙은 2 개의 서브파티션에 대응하는 2 개의 참조 픽처가 동일한 참조 리스트에 있는지 여부에 기초하여 코딩 툴을 인에이블시킬지 여부 및/또는 어떻게 인에이블시킬지를 지정하는, 방법.
47. 조항 37의 방법으로서, 규칙은 참조 픽처 리샘플링이 비디오의 비디오 유닛에서 인에이블되어 있는 경우 코딩 툴을 항상 디스에이블시키도록 지정하는, 방법.
48. 조항 37 내지 조항 47 중 어느 한 조항의 방법으로서, 변환을 수행하는 단계는 비디오로부터 코딩된 표현을 생성하는 단계 또는 코딩된 표현으로부터 비디오를 생성하는 단계를 포함하는, 방법.
49. 비디오 시스템에서의 장치로서, 프로세서 및 명령어들을 갖는 비일시적 메모리를 포함하며, 명령어들은, 프로세서에 의한 실행 시에, 프로세서로 하여금 조항 1 내지 조항 48 중 어느 한 조항에서의 방법을 구현하게 하는, 장치.
50. 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램 제품으로서, 컴퓨터 프로그램 제품은 조항 1 내지 조항 48 중 어느 한 조항에서의 방법을 수행하기 위한 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
제3 세트의 조항들은, 예를 들어, 예시적인 구현 8 내지 예시적인 구현 13 및 예시적인 구현 15를 포함하여, 이전 섹션에 나열된 개시된 기술들의 특정 특징들 및 양태들을 설명한다.
1. 비디오 프로세싱 방법으로서, 비디오의 현재 픽처의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해, 현재 비디오 블록을 코딩된 표현으로 코딩하는 데 현재 픽처의 치수와 상이한 치수를 갖는 참조 픽처를 사용하는 것으로 인해 현재 비디오 블록에 대해 코딩 툴의 사용이 디스에이블된다고 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함하는, 방법.
2. 조항 1의 방법으로서, 코딩 툴의 사용이 디스에이블되는 경우에 코딩 툴에 관련된 정보는 시그널링되지 않는, 방법.
3. 조항 1의 방법으로서, 현재 비디오 블록의 모션 정보는 HMVP(history-based motion vector prediction) 테이블에 삽입되지 않고, HMVP 테이블은 하나 이상의 이전에 프로세싱된 블록의 모션 정보에 대응하는 하나 이상의 엔트리를 포함하는, 방법.
4. 조항 1 내지 조항 3 중 어느 한 조항의 방법으로서, 코딩 툴은 DMVR(decoder side motion vector refinement), BDOF(bi-directional optical flow), 아핀 예측, 삼각형 예측 모드, SMVD(symmetric motion vector difference), MMVD(merge mode with motion vector differences), 인터-인트라 예측, LIC(local illumination compensation), HMVP(history-based motion vector prediction), MTS(multiple Transform Set), SBT(sub-block transform), PROF(prediction refinement with optical flow), LFNST(low frequency non-square transform), 또는 필터링 툴에 대응하는, 방법.
5. 조항 1 내지 조항 4 중 어느 한 조항의 방법으로서, 치수는 현재 픽처의 폭 및 높이 중 적어도 하나를 포함하는, 방법.
6. 조항 1 내지 조항 5 중 어느 한 조항의 방법으로서, 변환을 수행하는 단계는 비디오로부터 코딩된 표현을 생성하는 단계 또는 코딩된 표현으로부터 비디오를 생성하는 단계를 포함하는, 방법.
7. 비디오 프로세싱 방법으로서, 비디오의 현재 픽처의 현재 비디오 블록에 대해, 현재 픽처의 치수들과 상이한 치수들을 갖는 참조 픽처를 사용할지 여부 및/또는 어떻게 사용할지를 결정하는 규칙에 기초하여 현재 비디오 블록에 코딩 툴을 적용하는 것에 의해 예측 블록을 생성하는 단계; 및 예측 블록을 사용하여 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하는, 방법.
8. 조항 7의 방법으로서, 규칙은 현재 비디오 블록에 적용되는 코딩 툴로 인해 예측 블록을 생성하는 데 참조 픽처를 사용하지 않도록 지정하는, 방법.
9. 조항 8의 방법으로서, 참조 픽처를 참조하는 병합 후보는 스킵되거나 병합 후보 리스트에 배치되지 않는, 방법.
10. 조항 8의 방법으로서, 참조 픽처에 대응하는 참조 인덱스는 스킵되거나 시그널링되도록 허용되지 않는, 방법.
11. 조항 7의 방법으로서, 규칙은, 코딩 툴을 적용하기 전에, 현재 픽처의 해상도 및 참조 픽처의 해상도에 따라 참조 픽처를 스케일링하도록 지정하는, 방법.
12. 조항 7의 방법으로서, 규칙은, 코딩 툴을 적용하기 전에, 현재 픽처의 해상도 및 참조 픽처의 해상도에 따라 모션 벡터들 또는 모션 벡터 차이들을 스케일링하도록 지정하는, 방법.
13. 조항 7 내지 조항 12 중 어느 한 조항의 방법으로서, 코딩 툴은 DMVR(decoder side motion vector refinement), BDOF(bi-directional optical flow), 아핀 예측, 삼각형 예측 모드, SMVD(symmetric motion vector difference), MMVD(merge mode with motion vector differences), 인터-인트라 예측, LIC(local illumination compensation), HMVP(history-based motion vector prediction), MTS(multiple Transform Set), SBT(sub-block transform), PROF(prediction refinement with optical flow), LFNST(low frequency non-square transform), 또는 필터링 툴에 대응하는, 방법.
14. 조항 7 내지 조항 12 중 어느 한 조항의 방법으로서, 변환을 수행하는 단계는 비디오로부터 코딩된 표현을 생성하는 단계 또는 코딩된 표현으로부터 비디오를 생성하는 단계를 포함하는, 방법.
15. 비디오 프로세싱 방법으로서, 비디오의 현재 픽처의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해, 하나 이상의 참조 픽처 리스트와 연관된 참조 픽처들의 제1 해상도 및/또는 현재 비디오 블록에 대한 예측 블록을 도출하는 데 사용되는 현재 참조 픽처의 제2 해상도에 기초하여 현재 비디오 블록에 대해 코딩 툴이 디스에이블되는지 여부를 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함하는, 방법.
16. 조항 15의 방법으로서, 결정하는 단계는 코딩 툴이 하나의 참조 픽처 리스트에 대해서는 디스에이블되고 코딩 툴이 다른 참조 픽처 리스트에 대해서는 인에이블된다고 결정하는, 방법.
17. 조항 15의 방법으로서, 결정하는 단계는 코딩 툴이 참조 픽처 리스트의 제1 참조 픽처에 대해서는 디스에이블되고 코딩 툴이 참조 픽처 리스트 또는 다른 참조 픽처 리스트의 제2 참조 픽처에 대해서는 인에이블된다고 결정하는, 방법.
18. 조항 15의 방법으로서, 결정하는 단계는 제1 참조 픽처 리스트와 상이한 제2 참조 픽처 리스트를 고려하지 않고 코딩 툴이 제1 참조 픽처 리스트에 대해 디스에이블되는지 여부를 결정하는, 방법.
19. 조항 18의 방법으로서, 결정하는 단계는 제1 참조 픽처 리스트의 참조 픽처 및 현재 픽처에 기초하여 코딩 툴이 디스에이블되는지 여부를 결정하는, 방법.
20. 조항 18의 방법으로서, 결정하는 단계는 제1 참조 픽처 리스트와 연관된 참조 픽처가 현재 픽처와 상이한 경우에 코딩 툴이 제1 참조 픽처 리스트에 대해 디스에이블되는지 여부를 결정하는, 방법.
21. 조항 15의 방법으로서, 결정하는 단계는 하나 이상의 참조 픽처 리스트와 연관된 참조 픽처들의 다른 해상도들 및/또는 현재 픽처에 추가로 기초하여 코딩 툴이 디스에이블되는지 여부를 결정하는, 방법.
22. 조항 21의 방법으로서, 결정하는 단계는 참조 픽처들 중 적어도 하나가 현재 픽처의 해상도와 상이한 해상도들을 갖는 경우에 코딩 툴이 디스에이블된다고 결정하는, 방법.
23. 조항 21의 방법으로서, 결정하는 단계는 참조 픽처들 중 적어도 하나가 현재 픽처의 해상도와 상이한 해상도들을 갖고 참조 픽처들이 동일한 해상도와 연관되는 경우에 코딩 툴이 디스에이블되지 않는다고 결정하는, 방법.
24. 조항 21의 방법으로서, 결정하는 단계는 참조 픽처들 중 적어도 하나가 현재 픽처의 해상도와 상이한 해상도들을 갖고 참조 픽처들이 서로 상이한 해상도들과 연관되는 경우에 코딩 툴이 디스에이블된다고 결정하는, 방법.
25. 조항 15 내지 조항 24 중 어느 한 조항의 방법으로서, 코딩 툴은 DMVR(decoder side motion vector refinement), BDOF(bi-directional optical flow), 아핀 예측, 삼각형 예측 모드, SMVD(symmetric motion vector difference), MMVD(merge mode with motion vector differences), 인터-인트라 예측, LIC(local illumination compensation), HMVP(history-based motion vector prediction), MTS(multiple Transform Set), SBT(sub-block transform), PROF(prediction refinement with optical flow), LFNST(low frequency non-square transform), 또는 필터링 툴에 대응하는, 방법.
26. 조항 15 내지 조항 25 중 어느 한 조항의 방법으로서, 변환을 수행하는 단계는 비디오로부터 코딩된 표현을 생성하는 단계 또는 코딩된 표현으로부터 비디오를 생성하는 단계를 포함하는, 방법.
27. 비디오 프로세싱 방법으로서, 하나 이상의 비디오 블록을 포함하는 비디오 픽처와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 하나 이상의 비디오 블록 중 적어도 일부는 규칙에 따라 비디오 픽처에 대한 참조 픽처 리스트를 참조하는 것에 의해 코딩되고, 규칙은 참조 픽처 리스트가 최대 K 개의 상이한 해상도를 갖는 참조 픽처들을 포함한다는 것을 지정하며, K는 정수인, 방법.
28. 조항 27의 방법으로서, K는 2와 동일한, 방법.
29. 조항 27 또는 조항 28의 방법으로서, 변환을 수행하는 단계는 비디오로부터 코딩된 표현을 생성하는 단계 또는 코딩된 표현으로부터 비디오를 생성하는 단계를 포함하는, 방법.
30. 비디오 프로세싱 방법으로서, 비디오의 N 개의 연속적인 비디오 픽처와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, N 개의 연속적인 비디오 픽처는 규칙에 따라 상이한 해상도들로 코딩되는 하나 이상의 비디오 블록을 포함하고, 규칙은 최대 K 개의 상이한 해상도가 N 개의 연속적인 픽처에 대해 허용된다는 것을 지정하고, N 및 K는 정수들인, 방법.
31. 조항 30의 방법으로서, N 및 K는 3과 동일한, 방법.
32. 조항 30의 방법으로서, N은 10과 동일하고 K는 3과 동일한, 방법.
33. 조항 30의 방법으로서, 코딩된 표현에서의 GOP(group of picture)에서 K 개의 상이한 해상도가 허용되는, 방법.
34. 조항 30의 방법으로서, 동일한 시간 계층 ID(identification)를 갖는 2 개의 픽처 사이에서 K 개의 상이한 해상도가 허용되는, 방법.
35. 조항 30 내지 조항 34 중 어느 한 조항의 방법으로서, 변환을 수행하는 단계는 비디오로부터 코딩된 표현을 생성하는 단계 또는 코딩된 표현으로부터 비디오를 생성하는 단계를 포함하는, 방법.
36. 비디오 프로세싱 방법으로서, 복수의 픽처들을 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 복수의 픽처들 중 적어도 일부는 상이한 코딩된 비디오 해상도들을 사용하여 코딩된 표현으로 코딩되고, 코딩된 표현은 이전 프레임의 제1 코딩된 해상도가, 순서에서 이전 프레임 이후의 다음 프레임이 인트라 프레임으로서 코딩된 경우에만, 다음 프레임의 제2 코딩된 해상도로 변경되는 포맷 규칙을 준수하는, 방법.
37. 조항 36의 방법으로서, 순서는 복수의 픽처들이 인코딩되는 인코딩 순서에 대응하는, 방법.
38. 조항 36의 방법으로서, 순서는 복수의 픽처들이 디코딩되는 디코딩 순서에 대응하는, 방법.
39. 조항 36의 방법으로서, 순서는 디코딩 이후에 복수의 픽처들이 디스플레이되는 디스플레이 순서에 대응하는, 방법.
40. 조항 36 내지 조항 39 중 어느 한 조항의 방법으로서, 인트라 프레임은 인트라 랜덤 액세스 포인트 픽처인, 방법.
41. 조항 36 내지 조항 39 중 어느 한 조항의 방법으로서, 인트라 프레임은 IDR(instantaneous decoding refresh) 프레임인, 방법.
42. 조항 36 내지 조항 41 중 어느 한 조항의 방법으로서, 변환을 수행하는 단계는 비디오로부터 코딩된 표현을 생성하는 단계 또는 코딩된 표현으로부터 비디오를 생성하는 단계를 포함하는, 방법.
43. 비디오 프로세싱 방법으로서, 비디오의 현재 픽처의 현재 비디오 블록이 현재 픽처의 해상도와 상이한 해상도와 연관된 참조 픽처를 참조한다고 결정하기 위해 비디오의 코딩된 표현을 파싱하는 단계; 양방향 예측 모드를 현재 비디오 블록에 적용될 단방향 예측 모드로 변환하는 것에 의해 현재 비디오 블록에 대한 예측 블록을 생성하는 단계; 및 예측 블록을 사용하여 코딩된 표현으로부터 비디오를 생성하는 단계를 포함하는, 방법.
44. 조항 43의 방법으로서, 예측 블록을 생성하는 단계는 현재 픽처의 해상도와 상이한 해상도와 연관된 참조 픽처를 갖는 리스트로부터 예측을 폐기하는 단계를 포함하는, 방법.
45. 비디오 프로세싱 방법으로서, 모션 벡터 정밀도 및/또는 해상도 비들에 따라 서로 상이한 해상도들을 갖는 참조 픽처들로부터 인터 예측을 인에이블 또는 디스에이블시키는 것에 의해 비디오의 현재 픽처의 현재 비디오 블록에 대한 예측 블록을 생성하는 단계; 및 예측 블록을 사용하여 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하는, 방법.
46. 조항 45의 방법으로서, 인터 예측은 해상도 비들에 따라 스케일링되는 모션 벡터들이 정수 위치들을 가리키는 경우에 인에이블되는, 방법.
47. 조항 45의 방법으로서, 인터 예측은 해상도 비들에 따라 스케일링되는 모션 벡터들이 서브펠 위치를 가리키는 경우에 인에이블되는, 방법.
48. 조항 45의 방법으로서, 참조 픽처들이 현재 픽처의 해상도와 상이한 해상도와 연관되는 경우에 양방향 예측이 디스에이블되는, 방법.
49. 조항 45의 방법으로서, 하나의 참조 픽처가 현재 픽처의 해상도와 상이한 해상도를 갖고 다른 참조 픽처가 현재 픽처의 해상도와 동일한 해상도와 연관되는 경우에 양방향 예측이 인에이블되는, 방법.
50. 조항 45의 방법으로서, 참조 픽처가 현재 픽처의 해상도와 상이한 해상도와 연관되고 현재 비디오 블록의 블록 치수가 특정 조건들을 충족시키는 경우에 단방향 예측이 허용되지 않는, 방법.
51. 조항 45 내지 조항 50 중 어느 한 조항의 방법으로서, 변환을 수행하는 단계는 비디오로부터 코딩된 표현을 생성하는 단계 또는 코딩된 표현으로부터 비디오를 생성하는 단계를 포함하는, 방법.
52. 비디오 프로세싱 방법으로서, 비디오의 현재 픽처의 현재 비디오 블록의 코딩 특성에 기초하여, 현재 픽처와 치수와 상이한 치수를 갖는 참조 픽처가 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환 동안 현재 비디오 블록에 대한 예측 블록을 생성하도록 허용되는지 여부를 결정하는 단계; 및 결정하는 단계에 따라 변환을 수행하는 단계를 포함하는, 방법.
53. 조항 52의 방법으로서, 코딩 특성들은 현재 비디오 블록의 치수 및/또는 현재 비디오 블록의 예측 모드를 포함하는, 방법.
54. 조항 52의 방법으로서, 결정하는 단계는 WB>=T1이고 HB>=T2인 경우에 참조 픽처가 허용된다고 결정하고, WB 및 HB는, 제각기, 현재 비디오 블록의 폭 및 높이에 대응하고, T1 및 T2는 양의 정수들인, 방법.
55. 조항 52의 방법으로서, 결정하는 단계는 WB * HB >=T인 경우에 참조 픽처가 허용된다고 결정하고, WB 및 HB는, 제각기, 현재 비디오 블록의 폭 및 높이에 대응하고, T는 양의 정수인, 방법.
56. 조항 52의 방법으로서, 결정하는 단계는 Min (WB, HB)>=T인 경우에 참조 픽처가 허용된다고 결정하고, WB 및 HB는, 제각기, 현재 비디오 블록의 폭 및 높이에 대응하고, T는 양의 정수인, 방법.
57. 조항 52의 방법으로서, 결정하는 단계는 Max (WB, HB)>=T인 경우에 참조 픽처가 허용된다고 결정하고, WB 및 HB는, 제각기, 현재 비디오 블록의 폭 및 높이에 대응하고, T는 양의 정수인, 방법.
58. 조항 52의 방법으로서, 결정하는 단계는 WB<=T1이고 HB<=T2인 경우에 참조 픽처가 허용된다고 결정하고, WB 및 HB는, 제각기, 현재 비디오 블록의 폭 및 높이에 대응하고, T1 및 T2는 양의 정수들인, 방법.
59. 조항 52의 방법으로서, 결정하는 단계는 WB * HB <=T인 경우에 현재 비디오 블록의 치수들과 상이한 치수들을 갖는 참조 픽처가 허용된다고 결정하고, WB 및 HB는, 제각기, 현재 비디오 블록의 폭 및 높이에 대응하고, T는 양의 정수인, 방법.
60. 조항 52의 방법으로서, 결정하는 단계는 Min (WB, HB)<=T인 경우에 참조 픽처가 허용된다고 결정하고, WB 및 HB는, 제각기, 현재 비디오 블록의 폭 및 높이에 대응하고, T는 양의 정수인, 방법.
61. 조항 52의 방법으로서, 결정하는 단계는 Max (WB, HB)<=T인 경우에 참조 픽처가 허용된다고 결정하고, WB 및 HB는, 제각기, 현재 비디오 블록의 폭 및 높이에 대응하고, T는 양의 정수인, 방법.
62. 조항 52의 방법으로서, 결정하는 단계는 WB<=T1이고/이거나 HB<=T2인 경우에 참조 픽처가 허용되지 않는다고 결정하고, WB 및 HB는, 제각기, 현재 비디오 블록의 폭 및 높이에 대응하고, T1 및 T2는 양의 정수들인, 방법.
63. 조항 52 내지 조항 62 중 어느 한 조항의 방법으로서, 변환을 수행하는 단계는 비디오로부터 코딩된 표현을 생성하는 단계 또는 코딩된 표현으로부터 비디오를 생성하는 단계를 포함하는, 방법.
64. 비디오 시스템에서의 장치로서, 프로세서 및 명령어들을 갖는 비일시적 메모리를 포함하며, 명령어들은, 프로세서에 의한 실행 시에, 프로세서로 하여금 조항 1 내지 조항 63 중 어느 한 조항에서의 방법을 구현하게 하는, 장치.
65. 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램 제품으로서, 컴퓨터 프로그램 제품은 조항 1 내지 조항 63 중 어느 한 조항에서의 방법을 수행하기 위한 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
전술한 내용으로부터, 현재 개시된 기술의 특정 실시예들이 예시 목적으로 본 명세서에 설명되었지만, 개시된 기술의 범위를 벗어나지 않고 다양한 수정들이 이루어질 수 있다는 것이 이해될 것이다. 그에 따라, 현재 개시된 기술은 첨부된 청구항들에 의한 경우를 제외하고는 제한되지 않는다.
본 특허 문서에 설명된 주제 및 기능적 동작들의 구현들은, 본 명세서에 개시된 구조들 및 이들의 구조적 등가물들을 포함한, 다양한 시스템들, 디지털 전자 회로로, 또는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로, 또는 이들 중 하나 이상의 조합들로 구현될 수 있다. 본 명세서에 설명된 주제의 구현들은 하나 이상의 컴퓨터 프로그램 제품, 즉, 데이터 프로세싱 장치에 의해 실행하기 위한 또는 데이터 프로세싱 장치의 동작을 제어하기 위한, 유형적(tangible)이고 비일시적인 컴퓨터 판독 가능 매체 상에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 판독 가능 매체는 머신 판독 가능 저장 디바이스, 머신 판독 가능 저장 기판, 메모리 디바이스, 머신 판독 가능 전파 신호를 실현하는 조성물(composition of matter), 또는 이들 중 하나 이상의 조합일 수 있다. "데이터 프로세싱 유닛" 또는 “데이터 프로세싱 장치"라는 용어는, 예로서, 프로그래밍 가능 프로세서, 컴퓨터, 또는 다수의 프로세서들 또는 컴퓨터들을 포함한, 데이터를 프로세싱하기 위한 모든 장치들, 디바이스들, 및 머신들을 포괄한다. 장치는, 하드웨어 외에도, 문제의 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들면, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은, 컴파일되는(compiled) 또는 인터프리트되는(interpreted) 언어들을 포함한, 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 독립형 프로그램(stand-alone program)으로서 또는 모듈, 컴포넌트, 서브루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛으로서를 포함한, 임의의 형태로 배포(deploy)될 수 있다. 컴퓨터 프로그램이 파일 시스템에서의 파일에 반드시 대응하는 것은 아니다. 프로그램은 다른 프로그램들 또는 데이터(예를 들면, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일 부분에, 문제의 프로그램에 전용된 단일 파일에, 또는 다수의 통합 파일들(coordinated files)(예를 들면, 하나 이상의 모듈, 서브 프로그램(sub program), 또는 코드 부분(portion of code)을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터에서 또는 하나의 사이트에 위치하거나 다수의 사이트들에 걸쳐 분산되고 통신 네트워크에 의해 상호연결되는 다수의 컴퓨터들에서 실행되도록 배포될 수 있다.
본 명세서에 설명된 프로세스들 및 논리 흐름들은 입력 데이터에 대해 작동하여 출력을 생성하는 것에 의해 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍 가능 프로세서에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들이 또한 특수 목적 로직 회로, 예를 들면, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수 있고, 장치가 또한 이들로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는, 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 모두, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은 명령어들을 수행하기 위한 프로세서 및 명령어들과 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들면, 자기, 자기 광학 디스크, 또는 광학 디스크를 포함할 것이거나, 또는 이들로부터 데이터를 수신하거나 이들로 데이터를 전송하도록 동작 가능하게 결합될 수 있거나, 또는 둘 모두일 것이다. 그렇지만, 컴퓨터가 그러한 디바이스들을 가질 필요는 없다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 모든 형태들의 비휘발성 메모리, 매체 및, 예로서, 반도체 메모리 디바이스들, 예를 들면, EPROM, EEPROM 및 플래시 메모리 디바이스들을 포함한, 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로에 의해 보완되거나 그에 통합될 수 있다.
본 명세서가, 도면과 함께, 단지 예시적인 것으로 간주되어야 하며, 여기서 예시적인은 예를 의미하는 것으로 의도된다. 본 명세서에서 사용되는 바와 같이, 단수 형태들("a", "an" 및 "the)"은, 문맥이 명확하게 달리 나타내지 않는 한, 복수 형태들도 포함하는 것으로 의도된다. 추가적으로, "또는"의 사용은, 문맥이 명확하게 달리 나타내지 않는 한, "및/또는"을 포함하는 것으로 의도된다.
본 특허 문서가 많은 구체적 사항들을 포함하지만, 이들은 임의의 발명의 범위 또는 청구될 수 있는 것의 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정 발명들의 특정 실시예들에 특정적일 수 있는 특징들에 대한 설명으로서 해석되어야 한다. 개별 실시예들의 맥락에서 본 특허 문서에 설명되는 특정 특징들이 또한 단일 실시예에서 조합하여 구현될 수 있다. 이와 달리, 단일 실시예의 맥락에서 설명되는 다양한 특징들이 또한 다수의 실시예들에서 개별적으로 또는 임의의 적합한 하위 조합으로 구현될 수 있다. 더욱이, 특징들이 특정 조합들로 기능하는 것으로 위에서 설명되고 심지어 처음에 그 자체로서 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징이 일부 경우에 그 조합으로부터 제거될 수 있고, 청구된 조합은 하위 조합 또는 하위 조합의 변형에 관한 것일 수 있다.
유사하게, 동작들이 도면에서 특정의 순서로 묘사되지만, 이것은, 바람직한 결과를 달성하기 위해, 그러한 동작들이 도시된 특정의 순서로 또는 순차적 순서로 수행되어야 하거나, 모든 예시된 동작들이 수행되어야 하는 것을 요구하는 것으로 이해되어서는 안된다. 더욱이, 본 특허 문서에 설명된 실시예들에서 다양한 시스템 컴포넌트들의 분리가 모든 실시예들에서 그러한 분리를 요구하는 것으로서 이해되어서는 안된다.
단지 몇 가지 구현들 및 예들이 설명되고 다른 구현들, 향상들 및 변형들이 이 특허 문서에 설명되고 예시된 것에 기초하여 이루어질 수 있다.

Claims (65)

  1. 비디오 데이터를 프로세싱하기 위한 방법으로서,
    비디오의 제1 현재 픽처의 제1 비디오 블록과 상기 비디오의 비트스트림 간의 변환을 위해, 제1 참조 픽처 리샘플링이 인에이블되는 것으로 인해 상기 제1 비디오 블록에 대해 하나 이상의 제1 코딩 툴 중 적어도 하나가 디스에이블된다고 결정하는 단계 - 상기 제1 참조 픽처 리샘플링이 인에이블되는지는 상기 제1 현재 픽처의 폭 또는 높이 중 적어도 하나에 기초하고, 상기 제1 현재 픽처에 대한 상기 제1 참조 픽처 리샘플링이 인에이블될 때, 상기 현재 픽처의 제1 참조 픽처는 상기 제1 현재 픽처의 해상도와 상이한 해상도를 갖고, 상기 하나 이상의 제1 코딩 툴은 PROF(prediction refinement with optical flow) 툴을 포함함 -; 및
    상기 결정에 기초하여 상기 변환을 수행하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 하나 이상의 제1 코딩 툴은 BDOF(bi-directional optical flow) 툴을 포함하는, 방법.
  3. 제1항에 있어서,
    상기 비디오의 제2 현재 픽처의 제2 비디오 블록과 상기 비디오의 비트스트림 간의 추가 변환을 위해, 제2 참조 픽처 리샘플링이 인에이블되는 것으로 인해 상기 제2 비디오 블록에 대해 하나 이상의 제2 코딩 툴 중 적어도 하나가 디스에이블된다고 결정하는 단계를 더 포함하고, 상기 제2 참조 픽처 리샘플링이 인에이블되는지는 상기 제1 현재 픽처의 폭 또는 높이 중 적어도 하나에 기초하고, 상기 제2 현재 픽처에 대한 상기 제2 참조 픽처 리샘플링이 인에이블될 때, 상기 제2 현재 픽처의 제2 참조 픽처는 상기 제2 현재 픽처의 해상도와 상이한 해상도를 가지며, 상기 하나 이상의 제2 코딩 툴은 DMVR(decoder side motion vector refinement) 툴을 포함하는, 방법.
  4. 제3항에 있어서, 상기 하나 이상의 제2 코딩 툴은 서브블록 기반 시간적 모션 벡터 예측 툴을 더 포함하고, 상기 서브블록 기반 시간적 모션 벡터 예측 툴에서, 블록은 적어도 하나의 서브블록으로 분할되고, 상기 적어도 하나의 서브블록의 모션 정보는 병치된 픽처 내의 비디오 영역에 기초하여 도출되고, 상기 비디오 영역의 위치는 이용가능한 특정 이웃 블록에 기초하여 도출되는, 방법.
  5. 제1항에 있어서, 상기 하나 이상의 제1 코딩 툴은 시간적 모션 벡터 예측 툴을 더 포함하는, 방법.
  6. 제1항에 있어서, 상기 결정에 기초하여 상기 변환을 수행하는 단계는,
    상기 제1 비디오 블록의 예측자들을 계산하는 단계; 및
    재샘플링 프로세싱 없이 상기 예측자들에 보간 프로세싱을 한 번 적용하는 단계를 포함하는, 방법.
  7. 제1항에 있어서, 상기 하나 이상의 제1 코딩 툴은 아핀 예측, 삼각형 예측 모드, SMVD(symmetric motion vector difference), MMVD(merge mode with motion vector differences), 인터-인트라 예측, LIC(local illumination compensation), HMVP(history-based motion vector prediction), MTS(multiple Transform Set), SBT(sub-block transform), LFNST(low frequency non-square transform), 또는 필터링 툴을 더 포함하는, 방법.
  8. 제1항에 있어서, 상기 코딩 툴과 관련된 정보는 상기 코딩 툴의 사용이 디스에이블되는 경우에 포함되지 않는, 방법.
  9. 제1항에 있어서, 상기 변환을 수행하는 단계는 상기 비트스트림으로부터 상기 제1 비디오 블록을 디코딩하는 단계를 포함하는, 방법.
  10. 제1항에 있어서, 상기 변환을 수행하는 단계는 상기 제1 비디오 블록을 상기 비트스트림으로 인코딩하는 단계를 포함하는, 방법.
  11. 프로세서 및 명령어들을 갖는 비일시적 메모리를 포함하는 비디오 데이터를 프로세싱하기 위한 장치로서, 상기 명령어들은 상기 프로세서에 의한 실행 시에, 상기 프로세서로 하여금,
    비디오의 제1 현재 픽처의 제1 비디오 블록과 상기 비디오의 비트스트림 간의 변환을 위해, 제1 참조 픽처 리샘플링이 인에이블되는 것으로 인해 상기 제1 비디오 블록에 대해 하나 이상의 제1 코딩 툴 중 적어도 하나가 디스에이블된다고 결정하고 - 상기 제1 참조 픽처 리샘플링이 인에이블되는지는 상기 제1 현재 픽처의 폭 또는 높이 중 적어도 하나에 기초하고, 상기 제1 현재 픽처에 대한 상기 제1 참조 픽처 리샘플링이 인에이블될 때, 상기 현재 픽처의 제1 참조 픽처는 상기 제1 현재 픽처의 해상도와 상이한 해상도를 갖고, 상기 하나 이상의 제1 코딩 툴은 PROF(prediction refinement with optical flow) 툴을 포함함 -;
    상기 결정에 기초하여 상기 변환을 수행하게 하는, 장치.
  12. 명령어들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 명령어들은, 프로세서로 하여금,
    비디오의 제1 현재 픽처의 제1 비디오 블록과 상기 비디오의 비트스트림 간의 변환을 위해, 제1 참조 픽처 리샘플링이 인에이블되는 것으로 인해 상기 제1 비디오 블록에 대해 하나 이상의 제1 코딩 툴 중 적어도 하나가 디스에이블된다고 결정하고 - 상기 제1 참조 픽처 리샘플링이 인에이블되는지는 상기 제1 현재 픽처의 폭 또는 높이 중 적어도 하나에 기초하고, 상기 제1 현재 픽처에 대한 상기 제1 참조 픽처 리샘플링이 인에이블될 때, 상기 현재 픽처의 제1 참조 픽처는 상기 제1 현재 픽처의 해상도와 상이한 해상도를 갖고, 상기 하나 이상의 제1 코딩 툴은 PROF(prediction refinement with optical flow) 툴을 포함함 -;
    상기 결정에 기초하여 상기 변환을 수행하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.
  13. 비디오 프로세싱 장치에 의해 수행되는 방법에 의해 생성되는 비트스트림을 저장하는 비일시적 컴퓨터 판독가능 기록 매체로서, 상기 방법은,
    비디오의 제1 현재 픽처의 제1 비디오 블록에 대해, 제1 참조 픽처 리샘플링이 인에이블되는 것으로 인해 상기 제1 비디오 블록에 대해 하나 이상의 제1 코딩 툴 중 적어도 하나가 디스에이블된다고 결정하는 단계 - 상기 제1 참조 픽처 리샘플링이 인에이블되는지는 상기 제1 현재 픽처의 폭 또는 높이 중 적어도 하나에 기초하고, 상기 제1 현재 픽처에 대한 상기 제1 참조 픽처 리샘플링이 인에이블될 때, 상기 현재 픽처의 제1 참조 픽처는 상기 제1 현재 픽처의 해상도와 상이한 해상도를 갖고, 상기 하나 이상의 제1 코딩 툴은 PROF(prediction refinement with optical flow) 툴을 포함함 -; 및
    상기 결정에 기초하여 상기 비트스트림을 생성하는 단계
    를 포함하는, 비일시적 컴퓨터 판독가능 기록 매체.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
KR1020217035999A 2019-05-11 2020-05-11 비디오 프로세싱에서의 코딩 툴들의 선택적 사용 KR102627834B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/086487 2019-05-11
CN2019086487 2019-05-11
CN2019110905 2019-10-12
CNPCT/CN2019/110905 2019-10-12
PCT/CN2020/089556 WO2020228660A1 (en) 2019-05-11 2020-05-11 Selective use of coding tools in video processing

Publications (2)

Publication Number Publication Date
KR20220006064A KR20220006064A (ko) 2022-01-14
KR102627834B1 true KR102627834B1 (ko) 2024-01-23

Family

ID=73288936

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217035999A KR102627834B1 (ko) 2019-05-11 2020-05-11 비디오 프로세싱에서의 코딩 툴들의 선택적 사용

Country Status (8)

Country Link
US (2) US11575887B2 (ko)
EP (1) EP3949388A4 (ko)
JP (2) JP7391109B2 (ko)
KR (1) KR102627834B1 (ko)
CN (3) CN113853792A (ko)
BR (1) BR112021022174A2 (ko)
SG (1) SG11202112279WA (ko)
WO (2) WO2020228659A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113647110B (zh) 2019-04-01 2022-11-08 北京字节跳动网络技术有限公司 帧间编码模式中的二分之一像素插值滤波器的指示
PT3970363T (pt) * 2019-05-15 2023-06-15 Huawei Tech Co Ltd Utilização da ferramenta de codificação de fluxo ótico bidirecional (bio) para reamostragem de imagem de referência na codificação de vídeo
JP7359873B2 (ja) * 2019-05-15 2023-10-11 華為技術有限公司 エンコーダ、デコーダ、及び対応する方法
CN114270856A (zh) * 2019-08-20 2022-04-01 北京字节跳动网络技术有限公司 视频处理中的备选插值滤波器的选择性使用
CN114556916B (zh) 2019-10-12 2023-11-17 北京字节跳动网络技术有限公司 视频编解码工具的高级语法
US11589037B2 (en) * 2019-12-20 2023-02-21 Qualcomm Incorporated Motion compensation using size of reference picture
JP7481477B2 (ja) 2020-03-20 2024-05-10 バイトダンス インコーポレイテッド 映像コーディングにおけるサブピクチャ情報の使用
EP4107957A4 (en) 2020-03-21 2023-08-23 Beijing Bytedance Network Technology Co., Ltd. RESAMPLING REFERENCE IMAGE
CN115462085A (zh) * 2020-04-05 2022-12-09 字节跳动有限公司 视频编解码中滤波的高级控制
WO2021216448A1 (en) * 2020-04-20 2021-10-28 Bytedance Inc. Constraints on reference picture lists
WO2021254379A1 (en) * 2020-06-20 2021-12-23 Beijing Bytedance Network Technology Co., Ltd. Inter layer prediction with different coding block size
US20230179774A1 (en) * 2021-12-08 2023-06-08 Tencent America LLC Method and apparatus for scene detection based encoding
US20230199211A1 (en) * 2021-12-16 2023-06-22 Qualcomm Incorporated Interaction between reference picture resampling and template-based inter prediction techniques in video coding
WO2023200246A1 (ko) * 2022-04-12 2023-10-19 엘지전자 주식회사 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체
US20230343332A1 (en) * 2022-04-21 2023-10-26 Google Llc Joint Segmenting and Automatic Speech Recognition
CN116760976B (zh) * 2023-08-21 2023-12-08 腾讯科技(深圳)有限公司 仿射预测决策方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018113658A1 (en) * 2016-12-22 2018-06-28 Mediatek Inc. Method and apparatus of motion refinement for video coding

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8340177B2 (en) 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
US8442108B2 (en) 2004-07-12 2013-05-14 Microsoft Corporation Adaptive updates in motion-compensated temporal filtering
US8374238B2 (en) 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
US20130094774A1 (en) * 2011-10-13 2013-04-18 Sharp Laboratories Of America, Inc. Tracking a reference picture based on a designated picture on an electronic device
US9525861B2 (en) 2012-03-14 2016-12-20 Qualcomm Incorporated Disparity vector prediction in video coding
US9503720B2 (en) * 2012-03-16 2016-11-22 Qualcomm Incorporated Motion vector coding and bi-prediction in HEVC and its extensions
CN104221384A (zh) * 2012-04-13 2014-12-17 夏普株式会社 用于发送和接收长期参考画面指示符的设备
US9380289B2 (en) 2012-07-20 2016-06-28 Qualcomm Incorporated Parameter sets in video coding
US20140098851A1 (en) 2012-10-04 2014-04-10 Qualcomm Incorporated Indication of video properties
WO2014166119A1 (en) 2013-04-12 2014-10-16 Mediatek Inc. Stereo compatibility high level syntax
KR102077900B1 (ko) * 2013-04-17 2020-02-14 노키아 테크놀로지스 오와이 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
WO2015006967A1 (en) 2013-07-19 2015-01-22 Mediatek Singapore Pte. Ltd. Simplified view synthesis prediction for 3d video coding
WO2015021914A1 (en) 2013-08-13 2015-02-19 Mediatek Inc. Method of deriving default disparity vector in 3d and multiview video coding
US9667996B2 (en) * 2013-09-26 2017-05-30 Qualcomm Incorporated Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC
US20150160390A1 (en) 2013-12-10 2015-06-11 Apple Inc. Display Having Polarizer with Unpolarized Strip
WO2015100710A1 (en) 2014-01-02 2015-07-09 Mediatek Singapore Pte. Ltd. Existence of inter-view reference picture and availability of 3dvc coding tools
US10158884B2 (en) 2014-03-19 2018-12-18 Qualcomm Incorporated Simplified merge list construction process for 3D-HEVC
CN107027339A (zh) * 2014-05-06 2017-08-08 联发科技股份有限公司 确定调整大小的参考帧的参考块的位置的视频处理方法和相关视频处理装置
CN105187824A (zh) * 2014-06-10 2015-12-23 杭州海康威视数字技术股份有限公司 图像编码方法和装置以及图像解码方法和装置
KR102051193B1 (ko) 2014-09-12 2019-12-02 브이아이디 스케일, 인크. 비디오 코딩을 위한 성분간 탈상관
US9918105B2 (en) * 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification
CN107431819B (zh) * 2014-12-31 2022-02-01 诺基亚技术有限公司 用于视频解码的方法、装置、计算机可读存储介质及视频解码器
WO2016123792A1 (en) 2015-02-06 2016-08-11 Microsoft Technology Licensing, Llc Skipping evaluation stages during media encoding
EP3264768A1 (en) * 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with adaptive motion information refinement
US10979732B2 (en) * 2016-10-04 2021-04-13 Qualcomm Incorporated Adaptive motion vector precision for video coding
US10674165B2 (en) 2016-12-21 2020-06-02 Arris Enterprises Llc Constrained position dependent intra prediction combination (PDPC)
US10542280B2 (en) 2017-01-09 2020-01-21 QUALCOMM Incorpated Encoding optimization with illumination compensation and integer motion vector restriction
US20180199057A1 (en) * 2017-01-12 2018-07-12 Mediatek Inc. Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding
US10602180B2 (en) 2017-06-13 2020-03-24 Qualcomm Incorporated Motion vector prediction
EP3684055A4 (en) 2017-09-15 2020-07-22 Sony Corporation IMAGE PROCESSING METHOD AND DEVICE
CN117499684A (zh) 2017-09-20 2024-02-02 韩国电子通信研究院 用于对图像进行编码/解码的方法和装置
GB2567249A (en) * 2017-10-09 2019-04-10 Canon Kk New sample sets and new down-sampling schemes for linear component sample prediction
US11750832B2 (en) * 2017-11-02 2023-09-05 Hfi Innovation Inc. Method and apparatus for video coding
CN109996081B (zh) 2017-12-31 2023-09-12 华为技术有限公司 图像预测方法、装置以及编解码器
US11265551B2 (en) 2018-01-18 2022-03-01 Qualcomm Incorporated Decoder-side motion vector derivation
MX2020009056A (es) 2018-03-01 2020-12-03 Arris Entpr Llc Sistema y método de almacenamiento de información de movimiento para codificación y señalizacion de video.
US20190306502A1 (en) 2018-04-02 2019-10-03 Qualcomm Incorporated System and method for improved adaptive loop filtering
EP3777179A1 (en) 2018-04-12 2021-02-17 ARRIS Enterprises LLC Motion information storage for video coding and signaling
WO2019234578A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Asymmetric weighted bi-predictive merges
US11070813B2 (en) 2018-06-29 2021-07-20 Intel Corporation Global motion estimation and modeling for accurate global motion compensation for efficient video processing or coding
WO2020058961A1 (en) 2018-09-23 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. Modification of motion vector with adaptive motion vector resolution
TW202029755A (zh) 2018-09-26 2020-08-01 美商Vid衡器股份有限公司 視訊編碼雙預測
CN112913239A (zh) 2018-10-22 2021-06-04 北京字节跳动网络技术有限公司 基于参考图片的解码器侧运动矢量推导
WO2020084461A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Restrictions on decoder side motion vector derivation based on coding information
CN113287317B (zh) 2018-10-23 2023-04-28 北京字节跳动网络技术有限公司 并置的局部照明补偿和修改的帧间编解码工具
CN112868240B (zh) 2018-10-23 2023-06-30 北京字节跳动网络技术有限公司 并置的局部照明补偿和修改的帧间预测编解码
EP3861731A4 (en) 2018-11-05 2021-11-24 Beijing Bytedance Network Technology Co. Ltd. INTERPOLATION TO INTERPRDICTION WITH REFINEMENT
KR20210080533A (ko) 2018-11-07 2021-06-30 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 인코더, 비디오 디코더 및 대응 방법
WO2020098802A1 (en) 2018-11-15 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Merge with mvd for affine
WO2020098810A1 (en) 2018-11-17 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Merge with motion vector difference in video processing
WO2020108649A1 (en) 2018-11-29 2020-06-04 Beijing Bytedance Network Technology Co., Ltd. Interaction between intra block copy mode and inter prediction tools
CN113316935A (zh) 2019-01-15 2021-08-27 北京字节跳动网络技术有限公司 使用局部照明补偿的运动候选列表
WO2020147747A1 (en) 2019-01-15 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Weighted prediction in video coding
WO2020147804A1 (en) 2019-01-17 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Use of virtual candidate prediction and weighted prediction in video processing
TW202101985A (zh) * 2019-03-11 2021-01-01 美商Vid衡器股份有限公司 子圖片適應性解析度改變方法及裝置
US20200296405A1 (en) * 2019-03-14 2020-09-17 Qualcomm Incorporated Affine motion compensation refinement using optical flow
CN113841401B (zh) 2019-05-10 2022-11-25 北京字节跳动网络技术有限公司 用于视频处理的二次变换矩阵的选择

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018113658A1 (en) * 2016-12-22 2018-06-28 Mediatek Inc. Method and apparatus of motion refinement for video coding

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Benjamin Bross et al., "Versatile Video Coding (Draft 3)", 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-L1001-v9.*
Hendry, et. al., "AHG19: Adaptive resolution change (ARC) support in VVC", 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-N0118-v3.*
Peisong Chen et al., "AHG 19: Adaptive Resolution Change", 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-N0279.*

Also Published As

Publication number Publication date
SG11202112279WA (en) 2021-12-30
EP3949388A1 (en) 2022-02-09
JP7391109B2 (ja) 2023-12-04
KR20220006064A (ko) 2022-01-14
US20220060692A1 (en) 2022-02-24
WO2020228659A1 (en) 2020-11-19
CN113853792A (zh) 2021-12-28
EP3949388A4 (en) 2022-06-08
JP2024026117A (ja) 2024-02-28
CN113826386A (zh) 2021-12-21
JP2022531965A (ja) 2022-07-12
WO2020228660A1 (en) 2020-11-19
BR112021022174A2 (pt) 2021-12-21
CN113826386B (zh) 2023-10-24
US20230133338A1 (en) 2023-05-04
US11575887B2 (en) 2023-02-07
CN117692630A (zh) 2024-03-12

Similar Documents

Publication Publication Date Title
KR102627834B1 (ko) 비디오 프로세싱에서의 코딩 툴들의 선택적 사용
KR102653570B1 (ko) 참조 픽처 리샘플링을 위한 신호
US11689747B2 (en) High level syntax for video coding tools
JP7391203B2 (ja) ビデオコーディングツールを洗練する使用およびシグナリング
CN113841395B (zh) 视频编解码中的自适应分辨率改变
JP7482218B2 (ja) ビデオコーディングにおける予測タイプシグナリング

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