KR20220036939A - 비디오 코딩 모드의 블록 크기 종속적 사용 - Google Patents

비디오 코딩 모드의 블록 크기 종속적 사용 Download PDF

Info

Publication number
KR20220036939A
KR20220036939A KR1020227001503A KR20227001503A KR20220036939A KR 20220036939 A KR20220036939 A KR 20220036939A KR 1020227001503 A KR1020227001503 A KR 1020227001503A KR 20227001503 A KR20227001503 A KR 20227001503A KR 20220036939 A KR20220036939 A KR 20220036939A
Authority
KR
South Korea
Prior art keywords
video
block
size
transform
mode
Prior art date
Application number
KR1020227001503A
Other languages
English (en)
Inventor
즈핀 덩
리 장
카이 장
훙빈 류
Original Assignee
베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드
바이트댄스 아이엔씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드, 바이트댄스 아이엔씨 filed Critical 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드
Publication of KR20220036939A publication Critical patent/KR20220036939A/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • 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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Discrete Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

픽처 분할 모드가 블록 크기에 기초하는 비디오를 코딩 또는 디코딩하기 위한 방법들, 시스템들 및 디바이스들이 설명된다. 예시적인 비디오 프로세싱 방법은 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해 사용되는 가상 파이프라인 데이터 유닛(VPDU)의 치수를 사용하여 하나 이상의 비디오 블록 중 한 비디오 블록의 삼진 트리(TT) 또는 이진 트리(BT) 분할이 인에이블되는지 여부의 결정을 수행하는 단계, 및 결정에 기초하여, 변환을 수행하는 단계를 포함하며, 여기서 치수는 루마 샘플 단위의 VSize와 동일하고, 여기서 비디오 블록의 치수는 루마 샘플 단위의 CtbSizeY이며, 여기서 VSize = min(M, CtbSizeY)이고, 여기서 M은 양의 정수이다.

Description

비디오 코딩 모드의 블록 크기 종속적 사용
관련 출원에 대한 상호 참조
파리 협약에 따른 적용 가능한 특허법 및/또는 규칙들에 따라, 본 출원은 2019년 7월 26일에 출원된 국제 특허 출원 제PCT/CN2019/097926호 및 2019년 8월 31일에 출원된 국제 특허 출원 제PCT/CN2019/103892호에 대한 우선권 및 그 이익을 적시에 주장하기 위해 이루어졌다. 법에 따른 모든 목적들을 위해, 앞서 언급된 출원들의 전체 개시들은 본 출원의 개시의 일부로서 참고로 포함된다.
기술 분야
이 문서는 비디오 및 이미지 코딩 및 디코딩 기술들에 관한 것이다.
디지털 비디오는 인터넷 및 다른 디지털 통신 네트워크들에서 가장 많은 대역폭 사용을 차지한다. 비디오를 수신하고 디스플레이할 수 있는 연결된 사용자 디바이스들의 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 수요가 계속 증가할 것으로 예상된다.
개시된 기술들은 블록 크기에 기초하여 픽처 분할 모드가 결정되는 비디오의 코딩 또는 디코딩을 수행하기 위해 비디오 또는 이미지 디코더 또는 인코더 실시예들에 의해 사용될 수 있다.
예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해 사용되는 가상 파이프라인 데이터 유닛(virtual pipeline data unit, VPDU)의 치수를 사용하여 하나 이상의 비디오 블록 중 한 비디오 블록의 삼진 트리(ternary-tree, TT) 또는 이진 트리(binary tree, BT) 분할이 인에이블되는지 여부의 결정을 수행하는 단계, 및 결정에 기초하여, 변환을 수행하는 단계를 포함하며, 여기서 치수는 루마 샘플 단위의 VSize와 동일하고, 여기서 비디오 블록의 치수는 루마 샘플 단위의 CtbSizeY이며, 여기서 VSize = min(M, CtbSizeY)이고, 여기서 M은 양의 정수이다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은, 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해, 하나 이상의 비디오 블록 중 한 비디오 블록의 치수를 사용하여 비디오 블록의 삼진 트리(TT) 또는 이진 트리(BT) 분할이 인에이블되는지 여부의 결정을 수행하는 단계, 및 결정에 기초하여, 변환을 수행하는 단계를 포함한다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 비디오 블록의 높이 또는 폭을 사용하여 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해 코딩 툴이 인에이블되는지 여부의 결정을 수행하는 단계, 및 결정에 기초하여, 변환을 수행하는 단계를 포함하며, 여기서 결정은 높이 또는 폭과 값 N 사이의 비교에 기초하고, 여기서 N은 양의 정수이다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 비디오 블록의 높이 또는 폭과 변환 블록의 크기 사이의 비교를 사용하여 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해 코딩 툴이 인에이블되는지 여부의 결정을 수행하는 단계, 및 결정에 기초하여, 변환을 수행하는 단계를 포함한다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 비디오 블록의 높이 또는 폭을 사용하여 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해 코딩 툴이 인에이블되는지 여부의 결정을 수행하는 단계, 및 결정에 기초하여, 변환을 수행하는 단계를 포함한다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 비디오 블록의 서브파티션의 치수와 최대 변환 크기 사이의 비교를 사용하여 (a) 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오 사이의 변환을 위해 인트라 서브파티션 예측(intra sub-partition prediction, ISP) 모드가 인에이블되는지 여부의 결정, 및 (b) 변환에 대한 하나 이상의 허용 가능한 분할 유형의 선택을 수행하는 단계, 및 결정 및 선택에 기초하여, 변환을 수행하는 단계를 포함하고, 여기서, ISP 모드에서, 하나 이상의 비디오 블록 중 한 비디오 블록은 인트라 예측 및 변환의 적용 이전에 다수의 서브파티션들로 분할된다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하며, 여기서 변환은 디스에이블된 코딩 툴을 포함하고, 여기서 코딩 툴에 관련된 신택스 요소들은 비트스트림 표현으로부터 제외되고 코딩 툴이 디스에이블된다는 것을 지정하는 미리 결정된 값인 것으로 추론된다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하며, 여기서 변환은 디스에이블된 코딩 툴을 포함하고, 여기서 비트스트림 표현은 코딩 툴이 디스에이블되는 것에 기초하여 미리 결정된 값인 것으로 추론되는 코딩 툴에 관련된 신택스 요소들을 포함한다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해 사용되는 가상 파이프라인 데이터 유닛(virtual pipeline data unit, VPDU)의 치수 및/또는 최대 변환 크기를 사용하여 하나 이상의 비디오 블록 중 한 비디오 블록의 암시적인(QT) 분할이 인에이블되는지 여부의 결정을 수행하는 단계, 및 결정에 기초하여, 변환을 수행하는 단계를 포함한다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하며, 여기서 변환은 서브블록 변환(sub-block transform, SBT)을 포함하고, 여기서 SBT의 최대 높이 또는 최대 폭은 최대 변환 크기에 기초하며, 여기서 SBT는 하나 이상의 비디오 블록 중 한 비디오 블록의 하나 이상의 분할에 개별적으로 적용되는 하나 이상의 변환을 포함한다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하며, 여기서 변환은 변환 스킵 모드 및/또는 인트라 블록 기반 차분 펄스 코드 변조(block-based differential pulse code modulation, BDPCM) 모드를 포함하고, 여기서 변환 스킵 모드에 사용되는 최대 블록 크기는 최대 변환 크기에 기초하며, 여기서 변환 스킵 모드는 대응하는 코딩 툴에 대한 변환 및 역변환 프로세스들을 스킵하는 것을 포함하고, 여기서, BDPCM 모드에서, 현재 비디오 블록의 인트라 예측의 잔차는 차분 펄스 코딩 변조 연산을 사용하여 예측 코딩된다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 비디오 블록의 높이 또는 폭과 최대 변환 크기 사이의 비교를 사용하여 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해 인터 인트라 결합 예측(combined inter intra prediction, CIIP) 모드가 인에이블되는지 여부의 결정을 수행하는 단계, 및 결정에 기초하여, 변환을 수행하는 단계를 포함하며, 여기서, CIIP 모드에서, 비디오 블록의 최종 예측은 비디오 블록의 인터 예측과 비디오 블록의 인트라 예측의 가중 합에 기초한다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은, 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해, 인터 인트라 결합 예측(CIIP)으로 코딩된 하나 이상의 비디오 블록 중 한 비디오 블록을 분할하는 것에 관한 결정을 내리는 단계, 및 결정에 기초하여, 변환을 수행하는 단계를 포함하며, 여기서, CIIP 모드에서, 비디오 블록의 최종 예측은 비디오 블록의 인터 예측과 비디오 블록의 인트라 예측의 가중 합에 기초한다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 규칙에 따라 다수의 비디오 블록들을 포함하는 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하며, 여기서 규칙은 변환 코딩을 사용하여 비트스트림 표현에 코딩되는 비디오 영역 내의 다수의 비디오 블록들의 최대 블록 크기가 변환 코딩을 사용하지 않고 비트스트림 표현에 코딩되는 비디오 영역 내의 다수의 비디오 블록들의 최대 블록 크기를 결정한다고 지정한다.
또 다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 규칙에 따라 다수의 비디오 블록들을 포함하는 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하며, 여기서 규칙은 무손실 코딩이 비디오 영역에 대해 인에이블될 때 LMCS(luma mapping with chroma scaling) 프로세스가 비디오 영역에 대해 디스에이블된다는 것을 지정하고, 여기서 비디오 영역은 시퀀스, 픽처, 서브픽처, 슬라이스, 타일 그룹, 타일, 브릭, 코딩 트리 유닛(CTU) 행, CTU, 코딩 유닛(CU), 예측 유닛(PU), 변환 유닛(TU), 또는 서브블록이며, 여기서 LMCS 프로세스는 비디오 영역의 루마 샘플들이 제1 도메인과 제2 도메인 사이에서 리셰이핑되는 것 및 크로마 잔차가 루마 종속적 방식으로 스케일링되는 것을 포함한다.
또 다른 예시적인 양태에서, 위에서 설명된 방법은 프로세서를 포함하는 비디오 인코더 장치에 의해 구현될 수 있다.
또 다른 예시적인 양태에서, 이러한 방법들은 프로세서 실행 가능 명령어들의 형태로 구체화되고 컴퓨터 판독 가능 프로그램 매체에 저장될 수 있다.
이들 및 다른 양태들이 본 문서에서 더 설명된다.
도 1은 비디오 블록 크기에 따른 이진 트리(BT) 및 삼진 트리(TT) 분할의 예들을 도시한다.
도 2는 본 문서에 설명된 기술들을 구현하는 데 사용되는 하드웨어 플랫폼의 예의 블록 다이어그램이다.
도 3은 개시된 기술들이 구현될 수 있는 예시적인 비디오 프로세싱 시스템의 블록 다이어그램이다.
도 4는 예시적인 비디오 프로세싱 방법에 대한 플로차트이다.
도 5는 다른 예시적인 비디오 프로세싱 방법에 대한 플로차트이다.
도 6은 또 다른 예시적인 비디오 프로세싱 방법에 대한 플로차트이다.
도 7은 또 다른 예시적인 비디오 프로세싱 방법에 대한 플로차트이다.
도 8은 또 다른 예시적인 비디오 프로세싱 방법에 대한 플로차트이다.
도 9는 또 다른 예시적인 비디오 프로세싱 방법에 대한 플로차트이다.
도 10은 또 다른 예시적인 비디오 프로세싱 방법에 대한 플로차트이다.
도 11은 또 다른 예시적인 비디오 프로세싱 방법에 대한 플로차트이다.
도 12는 또 다른 예시적인 비디오 프로세싱 방법에 대한 플로차트이다.
도 13은 또 다른 예시적인 비디오 프로세싱 방법에 대한 플로차트이다.
도 14는 또 다른 예시적인 비디오 프로세싱 방법에 대한 플로차트이다.
도 15는 또 다른 예시적인 비디오 프로세싱 방법에 대한 플로차트이다.
도 16은 또 다른 예시적인 비디오 프로세싱 방법에 대한 플로차트이다.
도 17은 또 다른 예시적인 비디오 프로세싱 방법에 대한 플로차트이다.
도 18은 또 다른 예시적인 비디오 프로세싱 방법에 대한 플로차트이다.
본 문서는 압축 해제되거나 디코딩된 디지털 비디오 또는 이미지들의 품질을 개선시키기 위해 이미지 또는 비디오 비트스트림들의 디코더에 의해 사용될 수 있는 다양한 기술들을 제공한다. 간결함을 위해, "비디오"라는 용어는 픽처들의 시퀀스(전통적으로 비디오라고 불림) 및 개별 이미지들 둘 모두를 포함하도록 사용된다. 게다가, 비디오 인코더는 또한 추가의 인코딩에 사용되는 디코딩된 프레임들을 재구성하기 위해 인코딩 프로세스 동안 이러한 기술들을 구현할 수 있다.
섹션 표제들은 이해의 편의를 위해 본 문서에서 사용되며 실시예들 및 기술들을 대응하는 섹션들로 제한하지 않는다. 이에 따라, 한 섹션으로부터의 실시예들은 다른 섹션들로부터의 실시예들과 결합될 수 있다.
1. 요약
이 문서는 비디오 코딩 기술들에 관한 것이다. 구체적으로, 이는 비디오 코딩 및 디코딩에서 코딩 트리 유닛 또는 변환 유닛의 크기를 제어하는 것에 대한 규칙들에 관한 것이다. 이는 HEVC와 같은 기존의 비디오 코딩 표준, 또는 완성될 표준(다목적 비디오 코딩(Versatile Video Coding))에 적용될 수 있다. 이는 또한 미래의 비디오 코딩 표준들 또는 비디오 코덱에 적용 가능할 수 있다.
2. 초기 논의
비디오 코딩 표준들은 주로 잘 알려진 ITU-T 및 ISO/IEC 표준들의 개발을 통해 발전해 왔다. ITU-T는 H.261 및 H.263 표준들을 만들었고, ISO/IEC는 MPEG-1 및 MPEG-4 Visual 표준들을 만들었으며, 두 조직은 공동으로 H.262/MPEG-2 Video 및 H.264/MPEG-4 AVC(Advanced Video Coding) 및 H.265/HEVC 표준들을 만들었다. H.262 이후로, 비디오 코딩 표준들은 시간 예측과 변환 코딩이 활용되는 하이브리드 비디오 코딩 구조를 기반으로 한다. HEVC 이후의 미래의 비디오 코딩 기술들을 탐구하기 위해, 2015년에 VCEG와 MPEG에 의해 공동으로 JVET(Joint Video Exploration Team)가 설립되었다. 그 이후로, 많은 새로운 방법들이 JVET에 의해 채택되었고 JEM(Joint Exploration Model)이라는 참조 소프트웨어에 추가되었다. JVET 회의는 분기마다 1회 동시에 개최되며, 새로운 코딩 표준은 HEVC에 비해 50% 비트레이트 감소를 목표로 하고 있다. 새로운 비디오 코딩 표준은 2018년 4월 JVET 회의에서 공식적으로 VVC(Versatile Video Coding)라고 명명되었으며, 당시에 VVC 테스트 모델(VTM)의 첫 번째 버전이 발표되었다. VVC 표준화에 기여하는 지속적인 노력이 있기 때문에, 모든 JVET 회의에서 새로운 코딩 기술들이 VVC 표준에 채택되고 있다. VVC 작업 초안과 테스트 모델 VTM은 이어서 매 회의 이후에 업데이트된다. VVC 프로젝트는 현재 2020년 7월 회의에서 기술적 완성(FDIS)을 목표로 하고 있다.
2.1 VVC에서의 CTU 크기
VTM-5.0 소프트웨어는 4 개의 상이한 CTU 크기, 즉 16x16, 32x32, 64x64 및 128x128을 허용한다. 그렇지만, 2019년 7월 JVET 회의에서, JVET-O0526의 채택으로 인해 최소 CTU 크기가 32x32로 재정의되었다. 그리고 VVC 작업 초안 6에서의 CTU 크기는 SPS 헤더에서 log2_ctu_size_minus_5라는 UE 인코딩된(UE-encoded) 신택스 요소에 인코딩된다.
가상 파이프라인 데이터 유닛들(VPDU들)의 정의 및 JVET-O0526의 채택에 따른 VVC 초안 6에서의 대응하는 사양 수정 사항들은 아래와 같다.
7.3.2.3. 시퀀스 파라미터 세트 RBSP 신택스
Figure pct00001
7.4.3.3. 시퀀스 파라미터 세트 RBSP 시맨틱스
...
log2_ctu_size_minus5 + 5는 각각의 CTU의 루마 코딩 트리 블록 크기를 지정한다. log2_ctu_size_minus5의 값이 2보다 작거나 같아야 하는 것이 비트스트림 적합성의 요구사항이다.
log2_min_luma_coding_block_size_minus2 + 2는 최소 루마 코딩 블록 크기를 지정한다.
변수들 CtbLog2SizeY, CtbSizeY, MinCbLog2SizeY, MinCbSizeY, IbcBufWidthY, IbcBufWidthC 및 Vsize는 다음과 같이 도출된다:
Figure pct00002
각각의 크로마 CTB에 대한 어레이의 폭 및 높이를, 제각기, 지정하는 변수들 CtbWidthC 및 CtbHeightC는 다음과 같이 도출된다:
- chroma _format_ idc가 0(흑백(monochrome))과 동일하거나 separate_colour_plane_flag가 1과 동일한 경우, CtbWidthC CtbHeightC는 둘 모두 0과 동일하다.
- 그렇지 않은 경우, CtbWidthC 및 CtbHeightC는 다음과 같이 도출된다:
Figure pct00003
0 내지 4의 범위(경계 포함)에 있는 log2BlockWidth 및 0 내지 4의 범위(경계 포함)에 있는 log2BlockHeight에 대해, 6.5.2 절에 지정된 바와 같이 우상향 대각선 및 래스터 스캔 순서 어레이 초기화 프로세스는 1  <<  log2BlockWidth 및 1  <<  log2BlockHeight를 입력들로 하여 호출되고, 출력은 DiagScanOrder[ log2BlockWidth ][ log2BlockHeight ] 및 RasterScanOrder[ log2BlockWidth ][ log2BlockHeight ]에 할당된다.
...
slice_log2_diff_max_bt_min_qt_luma 는 이진 분할을 사용하여 분할될 수 있는 루마 코딩 블록의 루마 샘플 단위의 최대 크기(폭 또는 높이)와 현재 슬라이스에서 CTU의 쿼드트리 분할로부터 결과되는 루마 리프 블록의 루마 샘플 단위의 최소 크기(폭 또는 높이)의 밑이 2인 로그 사이의 차이를 지정한다. slice_log2_diff_max_bt_min_qt_luma의 값은 0 내지 CtbLog2SizeY  MinQtLog2SizeY의 범위(경계 포함)에 있어야 한다. 존재하지 않을 때, slice_log2_diff_max_bt_min_qt_luma 값은 다음과 같이 추론된다:
- slice_type이 2(I)와 동일한 경우, slice_log2_diff_max_bt_min_qt_luma의 값은 sps_log2_diff_max_bt_min_qt_intra_slice_luma와 동일한 것으로 추론된다.
- 그렇지 않은 경우(slice_type이 0(B) 또는 1(P)과 동일한 경우), slice_log2_diff_max_bt_min_qt_luma의 값은 sps_log2_diff_max_bt_min_qt_inter_slice와 동일한 것으로 추론된다.
slice_log2_diff_max_tt_min_qt_luma 는 삼진 분할을 사용하여 분할될 수 있는 루마 코딩 블록의 루마 샘플 단위의 최대 크기(폭 또는 높이)의 밑이 2인 로그와 현재 슬라이스에서 CTU의 쿼드트리 분할로부터 결과되는 루마 리프 블록의 루마 샘플 단위의 최소 크기(폭 또는 높이)의 밑이 2인 로그 사이의 차이를 지정한다. slice_log2_diff_max_tt_min_qt_luma의 값은 0 내지 CtbLog2SizeY  MinQtLog2SizeY의 범위(경계 포함)에 있어야 한다. 존재하지 않을 때, slice_log2_diff_max_tt_min_qt_luma 값은 다음과 같이 추론된다:
- slice_type이 2(I)와 동일한 경우, slice_log2_diff_max_tt_min_qt_luma의 값은 sps_log2_diff_max_tt_min_qt_intra_slice_luma와 동일한 것으로 추론된다.
- 그렇지 않은 경우(slice_type이 0(B) 또는 1(P)과 동일한 경우), slice_log2_diff_max_tt_min_qt_luma의 값은 sps_log2_diff_max_tt_min_qt_inter_slice와 동일한 것으로 추론된다.
slice_log2_diff_min_qt_min_cb_chroma 는 treeType이 DUAL_TREE_CHROMA와 동일한 경우 크로마 CTU의 쿼드트리 분할로부터 결과되는 크로마 리프 블록의 루마 샘플 단위의 최소 크기의 밑이 2인 로그와 현재 슬라이스에서 treeType이 DUAL_TREE_CHROMA와 동일한 경우 크로마 CU들에 대한 루마 샘플 단위의 최소 코딩 블록 크기의 밑이 2인 로그 사이의 차이를 지정한다. slice_log2_diff_min_qt_min_cb_chroma의 값은 0 내지 CtbLog2SizeY  MinCbLog2SizeY의 범위(경계 포함)에 있어야 한다. 존재하지 않을 때, slice_log2_diff_min_qt_min_cb_chroma의 값은 sps_log2_diff_min_qt_min_cb_intra_slice_chroma와 동일한 것으로 추론된다.
slice_max_mtt_hierarchy_depth_chroma 는 현재 슬라이스에서 treeType이 DUAL_TREE_CHROMA와 동일한 경우 쿼드트리 리프의 다중 유형 트리 분할로부터 결과되는 코딩 유닛들에 대한 최대 계층구조 깊이를 지정한다. slice_max_mtt_hierarchy_depth_chroma의 값은 0 내지 CtbLog2SizeY - MinCbLog2SizeY의 범위(경계 포함)에 있어야 한다. 존재하지 않을 때, slice_max_mtt_hierarchy_depth_chroma의 값은 sps_max_mtt_hierarchy_depth_intra_slices_chroma와 동일한 것으로 추론된다.
slice_log2_diff_max_bt_min_qt_chroma 는 이진 분할을 사용하여 분할될 수 있는 크로마 코딩 블록의 루마 샘플 단위의 최대 크기(폭 또는 높이)의 밑이 2인 로그와 현재 슬라이스에서 treeType이 DUAL_TREE_ CHROMA와 동일한 경우 크로마 CTU의 쿼드트리 분할로부터 결과되는 크로마 리프 블록의 루마 샘플 단위의 최소 크기(폭 또는 높이)의 밑이 2인 로그 사이의 차이를 지정한다. slice_log2_diff_max_bt_min_qt_chroma의 값은 0 내지 CtbLog2SizeY  MinQtLog2SizeC의 범위(경계 포함)에 있어야 한다. 존재하지 않을 때, slice_log2_diff_max_bt_min_qt_chroma의 값은 sps_log2_diff_max_bt_min_qt_intra_slice_chroma와 동일한 것으로 추론된다.
slice_log2_diff_max_tt_min_qt_chroma 는 삼진 분할을 사용하여 분할될 수 있는 크로마 코딩 블록의 루마 샘플 단위의 최대 크기(폭 또는 높이)의 밑이 2인 로그와 현재 슬라이스에서 treeType이 DUAL_TREE_CHROMA와 동일한 경우 크로마 CTU의 쿼드트리 분할로부터 결과되는 크로마 리프 블록의 루마 샘플 단위의 최소 크기(폭 또는 높이)의 밑이 2인 로그 사이의 차이를 지정한다. slice_log2_diff_max_tt_min_qt_chroma의 값은 0 내지 CtbLog2SizeY  MinQtLog2SizeC의 범위(경계 포함)에 있어야 한다. 존재하지 않을 때, slice_log2_diff_max_tt_min_qt_chroma의 값은 sps_log2_diff_max_tt_min_qt_intra_slice_chroma와 동일한 것으로 추론된다.
변수들 MinQtLog2SizeY, MinQtLog2SizeC, MinQtSizeY, MinQtSizeC, MaxBtSizeY, MaxBtSizeC, MinBtSizeY, MaxTtSizeY, MaxTtSizeC, MinTtSizeY, MaxMttDepthY 및 MaxMttDepthC는 다음과 같이 도출된다:
Figure pct00004
Figure pct00005
2.2 VVC에서의 최대 변환 크기
VVC 초안 5에서, 최대 변환 크기는 SPS에서 시그널링되지만 64 길이로 고정되어 있고 구성 가능하지 않다. 그렇지만, 2019년 7월 JVET 회의에서, 최대 루마 변환 크기를 SPS 레벨에서의 플래그만을 사용하여 64 또는 32일 수 있게 하도록 결정되었다. 최대 크로마 변환 크기는 최대 루마 변환 크기에 대한 크로마 샘플링 비율로부터 도출된다.
JVET-O05xxx의 채택에 따른 VVC 초안 6에서의 대응하는 사양 수정 사항들은 아래와 같다.
7.3.2.3. 시퀀스 파라미터 세트 RBSP 신택스
Figure pct00006
7.4.3.3. 시퀀스 파라미터 세트 RBSP 시맨틱스
...
sps_max_luma_transform_size_64_flag가 1과 동일한 것은 루마 샘플 단위의 최대 변환 크기가 64와 동일하다는 것을 지정한다. sps_max_luma_transform_size_64_flag가 0과 동일한 것은 루마 샘플 단위의 최대 변환 크기가 32와 동일하다는 것을 지정한다.
CtbSizeY가 64보다 작을 때, sps_max_luma_transform_size_64_flag의 값은 0과 동일해야 한다.
변수들 MinTbLog2SizeY, MaxTbLog2SizeY, MinTbSizeY, 및 MaxTbSizeY는 다음과 같이 도출된다:
Figure pct00007
Figure pct00008
...
sps _ sbt _max_size_64_flag 가 0과 동일한 것은 서브블록 변환을 허용하기 위한 최대 CU 폭 및 높이가 32 루마 샘플이라는 것을 지정한다. sps_sbt_max_size_64_flag가 1과 동일한 것은 서브블록 변환을 허용하기 위한 최대 CU 폭 및 높이가 64 루마 샘플이라는 것을 지정한다.
Figure pct00009
...
3. 개시된 기술적 해결책들에 의해 해결되는 기술적 문제들의 예들
최신 VVC 작업 초안 JVET-O2001-v11에는 여러 문제들이 있으며, 이에 대해서는 아래에서 설명된다.
1) 현재 VVC 초안 6에서는, 최대 변환 크기와 CTU 크기가 독립적으로 정의되어 있다. 예를 들면, CTU 크기는 32일 수 있는 반면, 변환 크기는 64일 수 있다. 최대 변환 크기가 CTU 크기보다 작거나 같아야 하는 것이 바람직하다.
2) 현재 VVC 초안 6에서는, 블록 분할 프로세스가 VPDU 크기 이외의 최대 변환 블록 크기에 의존한다. 따라서, 최대 변환 블록 크기가 32x32인 경우, VPDU 규칙을 준수하기 위해 128x128 TT 분할 및 64x128 수직 BT 분할 및 128x64 수평 BT 분할을 금지하는 것 외에도, 이는 추가로 64x64 블록에 대한 TT 분할을 금지하고, 32x64/16x64/8x64 코딩 블록에 대한 수직 BT 분할을 금지하며, 또한 64x8/64x16/64x32 코딩 블록에 대한 수평 BT 분할을 금지하며, 이는 코딩 효율에 효율적이지 않을 수 있다.
3) 현재 VVC 초안 6은 32, 64 및 128과 동일한 CTU 크기를 허용한다. 그렇지만, CTU 크기가 128보다 클 수 있는 것이 가능하다. 따라서 일부 신택스 요소들이 수정될 필요가 있다.
a) 보다 큰 CTU 크기가 허용되는 경우, 블록 분할 구조 및 블록 분할 플래그들의 시그널링이 재설계될 수 있다.
b) 보다 큰 CTU 크기가 허용되는 경우, 현재 설계의 일부(예를 들면, 아핀 파라미터들 도출, IBC 예측, IBC 버퍼 크기, 병합 삼각형 예측, CIIP, 일반 병합 모드 등)가 재설계될 수 있다.
4) 현재 VVC 초안 6에서는, CTU 크기가 SPS 레벨에서 시그널링된다. 그렇지만, 참조 픽처 리샘플링(적응적 해상도 변경이라고도 함)의 채택이 픽처들이 하나의 비트스트림에 상이한 해상도들로 코딩될 수 있는 것을 가능하게 하기 때문에, CTU 크기가 다수의 계층들에 걸쳐 상이할 수 있다.
5) WD6에서, MIP 및 ISP에 사용되는 최대 블록 크기는, VPDU 크기 또는 64x64 이외의, 최대 변환 크기에 종속적이며, 이는 코딩 효율에 효율적이지 않을 수 있다.
6) WD6에서, 변환 스킵 및 인트라 BDPCM을 위해 사용되는 최대 블록 크기는 최대 변환 크기에 의해 제한되는 최대 변환 스킵 크기에 종속적이다.
7) WD6에서, SBT에 사용되는 최대 블록 크기는 최대 변환 크기에 의해 제한되는 최대 SBT 크기에 종속적이다.
8) WD6에서, IBC 및 PLT에 사용되는 코딩 블록의 크기는 64x64로 제한되는데, 이는 최대 변환 크기, CTU 크기 및/또는 VPDU 크기에 따라 조정될 수 있다.
9) WD6에서, CIIP에 사용되는 코딩 블록의 크기는 최대 변환 크기보다 클 수 있다.
10) WD6에서, LMCS 인에이블 플래그(LMCS enabled flag)는 변환 양자화 바이패스 플래그(transform quantization bypass flag)에 의해 좌우되지 않는다.
4. 예시적인 실시예들 및 기술들
아래의 해결책들의 목록은 일부 개념들을 설명하기 위한 예들로서 간주되어야 한다. 이러한 항목들이 좁은 의미로 해석되어서는 안된다. 게다가, 이러한 항목들은 임의의 방식으로 조합될 수 있다.
이 문서에서, C=min(a,b)는 C가 a와 b 중 최솟값과 동일하다는 것을 나타낸다.
이 문서에서, 비디오 유닛 크기/치수는 비디오 유닛의 높이 또는 폭(예를 들면, 픽처/서브픽처/슬라이스/브릭/타일/CTU/CU/CB/TU/TB의 폭 또는 높이)일 수 있다. 비디오 유닛 크기가 MxN에 의해 표기되는 경우, M은 폭을 표기하고 N은 비디오 유닛의 높이를 표기한다.
이 문서에서, "코딩 블록"은 루마 코딩 블록 및/또는 크로마 코딩 블록일 수 있다. 코딩 블록에 대한 루마 샘플 단위의 크기/치수는 루마 샘플 단위로 측정되는 크기/치수를 나타내기 위해 본 발명에서 사용될 수 있다. 예를 들어, 128x128 코딩 블록(또는 루마 샘플 단위의 코딩 블록 크기 128x128)은 4:2:0 컬러 포맷에 대한 128x128 루마 코딩 블록 및/또는 64x64 크로마 코딩 블록을 나타낼 수 있다. 유사하게, 4:2:2 컬러 포맷의 경우, 이는 128x128 루마 코딩 블록 및/또는 64x128 크로마 코딩 블록을 지칭할 수 있다. 4:4:4 컬러 포맷의 경우, 이는 128x128 루마 코딩 블록 및/또는 128x128 크로마 코딩 블록을 지칭할 수 있다.
구성 가능한 CTU 크기 관련
1. 계층들/픽처들/서브픽처들/슬라이스들/타일들/브릭들과 같은 상이한 비디오 유닛들에 대해 상이한 CTU 치수들(예컨대, 폭 및/또는 높이)이 허용될 수 있다고 제안된다.
a) 일 예에서, 하나 또는 다수의 CTU 치수 세트는 VPS/DPS/SPS/PPS/APS/픽처/서브픽처/슬라이스/슬라이스 헤더/타일/브릭 레벨과 같은 비디오 유닛 레벨에서 명시적으로 시그널링될 수 있다.
b) 일 예에서, 참조 픽처 리샘플링(적응적 해상도 변경이라고도 함)이 허용될 때, CTU 치수는 상이한 계층들에 걸쳐 상이할 수 있다.
i. 예를 들어, 계층 간 픽처의 CTU 치수는 다운샘플링/업샘플링 스케일링 인자에 따라 암시적으로 도출될 수 있다.
1. 예를 들어, 기본 계층(base layer)에 대한 시그널링된 CTU 치수가 MxN(예컨대, M=128 및 N=128)이고 계층 간 코딩된 픽처가 폭이 1보다 크거나 작을 수 있는 스케일링 인자 S에 의해 리샘플링되고 높이가 1보다 크거나 작을 수 있는 스케일링 인자 T에 의해 리샘플링되는 경우(예컨대, S=1/4 및 T=1/2는 계층 간 코딩된 픽처가 폭이 4배만큼 다운샘플링되고 높이가 2배만큼 다운샘플링됨을 나타냄), 계층 간 코딩된 픽처에서의 CTU 치수는 (MxS) x (NxT), 또는 (M/S) x (N/T)로 도출될 수 있다.
ii. 예를 들어, 상이한 CTU 치수가 비디오 유닛 레벨에서 다수의 계층들에 대해 명시적으로 시그널링될 수 있다, 예를 들면, 계층 간 리샘플링 픽처들/서브픽처들의 경우, CTU 치수는 기본 계층 CTU 크기와 상이한 VPS/DPS/SPS/PPS/APS/픽처/서브픽처/슬라이스/슬라이스 헤더/타일/브릭 레벨에서 시그널링될 수 있다.
2. TT 분할 또는 BT 분할이 허용되는지 여부가 VPDU 치수(예컨대, 폭 및/또는 높이)에 종속적일 수 있는 것에 제안된다. VPDU가 루마 샘플 단위의 치수 VSize를 갖고 코딩 트리 블록이 루마 샘플 단위의 치수 CtbSizeY를 갖는다고 가정한다.
a) 일 예에서, VSize = min(M, CtbSizeY)이다. M은 64와 같은 정수 값이다.
b) 일 예에서, TT 분할 또는 BT 분할이 허용되는지 여부는 최대 변환 크기에 독립적일 수 있다.
c) 일 예에서, 루마 샘플 단위의 코딩 블록 폭 또는 높이가 min(VSize, maxTtSize)보다 클 때 TT 분할이 디스에이블될 수 있다.
i. 일 예에서, 최대 변환 크기가 32x32와 동일하지만 VSize가 64x64와 동일할 때, 128x128/128x64/64x128 코딩 블록에 대해 TT 분할이 디스에이블될 수 있다.
ii. 일 예에서, 최대 변환 크기가 32x32와 동일하지만 VSize가 64x64와 동일할 때, 64x64 코딩 블록에 대해 TT 분할이 허용될 수 있다.
d) 일 예에서, 루마 샘플 단위의 코딩 블록 폭이 VSize보다 작거나 같지만 루마 샘플 단위의 코딩 블록 높이가 VSize보다 클 때 수직 BT 분할이 디스에이블될 수 있다.
i. 일 예에서, 최대 변환 크기가 32x32이지만 VPDU 크기가 64x64와 동일한 경우에, 64x128 코딩 블록에 대해 수직 BT 분할이 디스에이블될 수 있다.
ii. 일 예에서, 최대 변환 크기가 32x32이지만 VPDU 크기가 64x64와 동일한 경우에, 32x64/16x64/8x64 코딩 블록에 대해 수직 BT 분할이 허용될 수 있다.
e) 일 예에서, 코딩 블록이 루마 샘플 단위의 픽처/서브픽처 폭을 초과하지만 루마 샘플 단위의 픽처/서브픽처 높이가 VSize보다 클 때 수직 BT 분할이 디스에이블될 수 있다.
i. 대안적으로, 코딩 블록이 루마 샘플 단위의 픽처/서브픽처 폭을 초과할 때 수평 BT 분할이 허용될 수 있다.
f) 일 예에서, 루마 샘플 단위의 코딩 블록 폭이 VSize보다 크지만 루마 샘플 단위의 코딩 블록 높이가 VSize보다 작거나 같을 때 수평 BT 분할이 디스에이블될 수 있다.
i. 일 예에서, 최대 변환 크기가 32x32이지만 VPDU 크기가 64x64와 동일한 경우에, 128x64 코딩 블록에 대해 수직 BT 분할이 디스에이블될 수 있다.
ii. 일 예에서, 최대 변환 크기가 32x32이지만 VPDU 크기가 64x64와 동일한 경우에, 64x8/64x16/64x32 코딩 블록에 대해 수평 BT 분할이 허용될 수 있다.
g) 일 예에서, 코딩 블록이 루마 샘플 단위의 픽처/서브픽처 높이를 초과하지만 루마 샘플 단위의 픽처/서브픽처 폭이 VSize보다 클 때 수평 BT 분할이 디스에이블될 수 있다.
i. 대안적으로, 코딩 블록이 루마 샘플 단위의 픽처/서브픽처 높이를 초과할 때 수직 BT 분할이 허용될 수 있다.
h) 일 예에서, TT 분할 또는 BT 분할이 디스에이블될 때, TT 분할 또는 BT 분할 플래그는 시그널링되지 않을 수 있고 암시적으로 0인 것으로 도출될 수 있다.
i. 대안적으로, TT 분할 및/또는 BT 분할이 인에이블될 때, TT 분할 및/또는 BT 분할 플래그는 비트스트림에서 명시적으로 시그널링될 수 있다.
ii. 대안적으로, TT 분할 또는 BT 분할이 디스에이블될 때, TT 분할 또는 BT 분할 플래그는 시그널링될 수 있지만 디코더에 의해 무시될 수 있다.
iii. 대안적으로, TT 분할 또는 BT 분할이 디스에이블될 때, TT 분할 또는 BT 분할 플래그는 시그널링될 수 있지만 적합성 비트스트림에서 0이어야만 한다.
3. CTU 치수(예컨대, 폭 및/또는 높이)가 128보다 클 수 있다는 것이 제안된다.
a) 일 예에서, 시그널링된 CTU 치수는 256이거나 훨씬 더 클 수 있다(예를 들면, log2_ctu_size_minus5는 3과 동일하거나 더 클 수 있다).
b) 일 예에서, 도출된 CTU 치수는 256이거나 훨씬 더 클 수 있다.
i. 예를 들어, 픽처들/서브픽처들을 리샘플링하기 위한 도출된 CTU 치수는 128보다 클 수 있다.
4. 보다 큰 CTU 치수가 허용될 때(예컨대, CTU 폭 및/또는 높이가 128보다 클 때), QT 분할 플래그가 참인 것으로 추론될 수 있고 분할된 코딩 블록의 치수까지 지정된 값(예를 들면, 지정된 값은 최대 변환 블록 크기, 또는 128, 또는 64, 또는 32로 설정될 수 있음)에 도달할 때까지 QT 분할이 재귀적으로 적용될 수 있다는 것이 제안된다.
a) 일 예에서, 분할된 코딩 블록 크기가 최대 변환 블록 크기에 도달할 때까지 재귀적 QT 분할이 시그널링 없이 암시적으로 수행될 수 있다.
b) 일 예에서, 256x256 CTU가 이중 트리에 적용될 때, 최대 변환 블록 크기보다 큰 코딩 블록에 대해 QT 분할 플래그가 시그널링되지 않을 수 있고, 분할된 코딩 블록 크기가 최대 변환 블록 크기에 도달할 때까지 코딩 블록에 대해 QT 분할이 강제로 사용될 수 있다.
5. 128보다 큰 CU/PU 치수(폭 및/또는 높이)에 대해 TT 분할 플래그가 조건부로 시그널링될 수 있다는 것이 제안된다.
a) 일 예에서, 256x256 CU에 대해 수평 및 수직 TT 분할 플래그들 둘 모두가 시그널링될 수 있다.
b) 일 예에서, 256x128/256x64 CU/PU에 대해 수직 TT 분할은 시그널링될 수 있지만 수평 TT 분할은 시그널링되지 않을 수 있다.
c) 일 예에서, 128x256/64x256 CU/PU에 대해 수평 TT 분할은 시그널링될 수 있지만 수직 TT 분할은 시그널링되지 않을 수 있다.
d) 일 예에서, 128보다 큰 CU 치수에 대해 TT 분할 플래그가 금지될 때, 이는 시그널링되지 않을 수 있고 암시적으로 0으로서 도출될 수 있다.
i. 일 예에서, 256x128/256x64 CU/PU에 대해 수평 TT 분할이 금지될 수 있다.
ii. 일 예에서, 128x256/64x256 CU/PU에 대해 수직 TT 분할이 금지될 수 있다.
6. 128보다 큰 CU/PU 치수(폭 및/또는 높이)에 대해 BT 분할 플래그가 조건부로 시그널링될 수 있다는 것이 제안된다.
a) 일 예에서, 256x256/256x128/128x256 CU/PU에 대해 수평 및 수직 BT 분할 플래그들 둘 모두가 시그널링될 수 있다.
b) 일 예에서, 64x256 CU/PU에 대해 수평 BT 분할 플래그가 시그널링될 수 있다.
c) 일 예에서, 256x64 CU/PU에 대해 수직 BT 분할 플래그가 시그널링될 수 있다.
d) 일 예에서, 128보다 큰 CU 치수에 대해 BT 분할 플래그가 금지될 때, 이는 시그널링되지 않을 수 있고 암시적으로 0으로서 도출될 수 있다.
i. 일 예에서, Kx256 CU/PU(예컨대, K는 루마 샘플 단위로 64보다 작거나 같음)에 대해 수직 BT 분할이 금지될 수 있고, 수직 BT 분할 플래그가 시그널링되지 않고 0으로서 도출될 수 있다.
1. 예를 들어, 위의 경우에, 64x256 CU/PU에 대해 수직 BT 분할이 금지될 수 있다.
2. 예를 들어, 위의 경우에, 픽처/서브픽처 경계들에서 32x256 CU/PU를 피하기 위해 수직 BT 분할이 금지될 수 있다.
ii. 일 예에서, 코딩 블록이 루마 샘플 단위의 픽처/서브픽처 폭을 초과하지만 루마 샘플 단위의 픽처/서브픽처 높이가 M(예컨대, 루마 샘플 단위로 M=64임)보다 클 때 수직 BT 분할이 금지될 수 있다.
iii. 일 예에서, 256xK(예컨대, K는 루마 샘플 단위로 64보다 작거나 같음) 코딩 블록에 대해 수평 BT 분할이 금지될 수 있고, 수평 BT 분할 플래그가 시그널링되지 않고 0으로서 도출될 수 있다.
1. 예를 들어, 위의 경우에, 256x64 코딩 블록에 대해 수평 BT 분할이 금지될 수 있다.
2. 예를 들어, 위의 경우에, 픽처/서브픽처 경계들에서 256x32 코딩 블록을 피하기 위해 수평 BT 분할이 금지될 수 있다.
iv. 일 예에서, 코딩 블록이 루마 샘플 단위의 픽처/서브픽처 높이를 초과하지만 루마 샘플 단위의 픽처/서브픽처 폭이 M(예컨대, 루마 샘플 단위로 M=64임)보다 클 때 수평 BT 분할이 금지될 수 있다.
7. 아핀 모델 파라미터들 계산이 CTU 치수에 종속적일 수 있다는 것이 제안된다.
a) 일 예에서, 아핀 예측에서의 스케일링된 모션 벡터들, 및/또는 제어 포인트 모션 벡터들의 도출은 CTU 치수에 종속적일 수 있다.
8. 인트라 블록 복사(IBC) 버퍼가 최대 구성 가능/허용 가능 CTU 치수에 의존할 수 있다는 것이 제안된다.
a) 예를 들어, 루마 샘플 단위의 IBC 버퍼 폭은 NxN을 루마 샘플 단위의 CTU 폭(또는 높이)로 나눈 것과 동일할 수 있으며, 여기서 N은 루마 샘플 단위의 최대 구성 가능 CTU 크기일 수 있으며, 예컨대, N = 1 << (log2_ctu_size_minus5 + 5)일 수 있다.
9. 지정된 코딩 툴(들)의 세트가 큰 CU/PU에 대해 디스에이블될 수 있는 것이 제안되며, 여기서 큰 CU/PU는 CU/PU 폭 또는 CU/PU 높이가 N(예컨대, N=64 또는 128)보다 큰 CU/PU를 지칭한다.
a) 일 예에서, 위에서 언급된 지정된 코딩 툴(들)은 팔레트, 및/또는 인트라 블록 복사(IBC), 및/또는 인트라 스킵 모드, 및/또는 삼각형 예측 모드, 및/또는 CIIP 모드, 및/또는 일반 병합 모드, 및/또는 디코더 측 모션 도출, 및/또는 양방향 광학 흐름, 및/또는 예측 개선 기반 광학 흐름, 및/또는 아핀 예측, 및/또는 서브블록 기반 TMVP 등일 수 있다.
i. 대안적으로, 팔레트 및/또는 인트라 블록 복사(IBC) 모드와 같은 스크린 콘텐츠 코딩 툴(들)은 큰 CU/PU에 적용될 수 있다.
b) 일 예에서, 이는 지정된 코딩 툴(들)을 큰 CU/PU에 대해 디스에이블시키기 위해 신택스 제약을 명시적으로 사용할 수 있다.
i. 예를 들어, 큰 CU/PU가 아닌 CU/PU에 대해 팔레트/IBC 플래그가 명시적으로 시그널링될 수 있다.
c) 일 예에서, 이는 지정된 코딩 툴(들)을 큰 CU/PU에 대해 디스에이블시키기 위해 비트스트림 제약을 사용할 수 있다.
10. TT 분할 또는 BT 분할이 허용되는지 여부는 블록 치수에 종속적일 수 있다.
a) 일 예에서, 루마 샘플 단위의 코딩 블록 폭 또는 높이가 N(예를 들면, N=64)보다 클 때 TT 분할이 디스에이블될 수 있다.
i. 일 예에서, 최대 변환 크기가 32x32와 동일할 때, 128x128/128x64/64x128 코딩 블록에 대해 TT 분할이 디스에이블될 수 있다.
ii. 일 예에서, 최대 변환 크기가 32x32와 동일할 때, 64x64 코딩 블록에 대해 TT 분할이 허용될 수 있다.
b) 일 예에서, 루마 샘플 단위의 코딩 블록 폭이 N(예를 들면, N=64)보다 작거나 같지만 루마 샘플 단위의 코딩 블록 높이가 N(예를 들면, N= 64)보다 클 때 수직 BT 분할이 디스에이블될 수 있다.
i. 일 예에서, 최대 변환 크기가 32x32인 경우에, 64x128 코딩 블록에 대해 수직 BT 분할이 디스에이블될 수 있다.
ii. 일 예에서, 최대 변환 크기가 32x32인 경우에, 32x64/16x64/8x64 코딩 블록에 대해 수직 BT 분할이 허용될 수 있다.
c) 일 예에서, 코딩 블록이 루마 샘플 단위의 픽처/서브픽처 폭을 초과하지만 루마 샘플 단위의 픽처/서브픽처 높이가 64보다 클 때 수직 BT 분할이 디스에이블될 수 있다.
i. 대안적으로, 코딩 블록이 루마 샘플 단위의 픽처/서브픽처 폭을 초과할 때 수평 BT 분할이 허용될 수 있다.
d) 일 예에서, 루마 샘플 단위의 코딩 블록 폭이 N(예를 들면, N=64)보다 크지만 루마 샘플 단위의 코딩 블록 높이가 N(예를 들면, N= 64)보다 작거나 같을 때 수평 BT 분할이 디스에이블될 수 있다.
i. 일 예에서, 최대 변환 크기가 32x32인 경우에, 128x64 코딩 블록에 대해 수직 BT 분할이 디스에이블될 수 있다.
ii. 일 예에서, 최대 변환 크기가 32x32인 경우에, 64x8/64x16/64x32 코딩 블록에 대해 수평 BT 분할이 허용될 수 있다.
e) 일 예에서, 코딩 블록이 루마 샘플 단위의 픽처/서브픽처 높이를 초과하지만 루마 샘플 단위의 픽처/서브픽처 폭이 N(예를 들면, N=64)보다 클 때 수평 BT 분할이 디스에이블될 수 있다.
i. 대안적으로, 코딩 블록이 루마 샘플 단위의 픽처/서브픽처 높이를 초과할 때 수직 BT 분할이 허용될 수 있다.
구성 가능한 최대 변환 크기 관련
11. 최대 TU 크기가 CTU 치수(폭 및/또는 높이)에 종속적일 수 있거나 CTU 치수가 최대 TU 크기에 종속적일 수 있다는 것이 제안된다.
a) 일 예에서, 최대 TU 크기가 CTU 치수보다 작거나 같아야 한다는 비트스트림 제약이 사용될 수 있다.
b) 일 예에서, 최대 TU 크기의 시그널링은 CTU 치수에 의존할 수 있다.
i. 예를 들어, CTU 치수가 N(예를 들면, N=64)보다 작을 때, 시그널링되는 최대 TU 크기는 N보다 작아야만 한다.
ii. 예를 들어, CTU 치수가 N(예를 들면, N=64)보다 작을 때, 최대 루마 변환 크기가 64인지 32인지(예를 들면, sps_max_luma_transform_size_64_flag) 여부의 표시는 시그널링되지 않을 수 있고 최대 루마 변환 크기는 암시적으로 32로서 도출될 수 있다.
12. 변환 블록 크기보다 큰 폭 및/또는 높이를 갖는 블록에 대해 특정 코딩 툴이 인에이블될 수 있다.
a) 일 예에서, 특정 코딩 툴은 인트라 서브파티션 예측(ISP), MIP, SBT 또는 하나의 CU를 다수의 TU들로 또는 하나의 CB를 다수의 TB들로 분할할 수 있는 다른 코딩 툴들일 수 있다.
b) 일 예에서, 특정 코딩 툴은, 변환 스킵 모드, BDPCM/DPCM/PCM과 같은, 변환을 적용하지 않는(또는 항등 변환만이 적용되는) 코딩 툴일 수 있다.
c) 특정 툴은 인트라 블록 복사(IBC), 팔레트(PLT)일 수 있다.
d) 특정 툴은 인터 인트라 결합 예측(CIIP)일 수 있다.
13. 특정 코딩 툴이 인에이블되는지 여부는 코딩 블록 치수에 종속적일 수 있다.
a) 일 예에서, 특정 코딩 툴은 인트라 서브파티션 예측(ISP), 행렬 기반 인트라 예측(MIP), 서브블록 변환(SBT), 인트라 블록 복사(IBC), 팔레트(PLT) 등일 수 있다.
b) 일 예에서, 루마 샘플 단위의 코딩 블록 폭 및/또는 높이가 N(예를 들면, N=64)보다 작거나 같을 때 특정 코딩 툴(예컨대, ISP, MIP)이 허용될 수 있다.
i. 대안적으로, 루마 샘플 단위의 코딩 블록 폭 및/또는 높이가 N(예를 들면, N=64)보다 클 때 특정 코딩 툴이 디스에이블될 수 있다.
c) 특정 코딩 툴(예컨대, ISP, MIP)이 인에이블되는지 여부는 코딩 블록 크기와 VPDU 크기 간의 관계에 종속적일 수 있다.
i. 일 예에서, 루마 샘플 단위의 코딩 블록 폭 및/또는 높이가 VPDU 크기(예컨대, 32 또는 64)보다 작거나 같을 때 특정 코딩 툴이 허용될 수 있다.
1. 대안적으로, 루마 샘플 단위의 코딩 블록 폭 및/또는 높이가 VPDU 크기(예컨대, 32 또는 64)보다 클 때 특정 코딩 툴이 디스에이블될 수 있다.
d) 인트라 서브파티션 예측(ISP)이 인에이블되는지 여부 및/또는 어느 분할 유형(들)(예를 들면, 분할 방향)이 허용되는지는 서브파티션의 치수와 최대 변환 블록 크기 간의 관계에 종속적일 수 있다.
i. 일 예에서, 서브파티션 폭 및/또는 높이가 적어도 하나의 분할 유형에 대한 최대 변환 블록 크기보다 크지 않은 경우, ISP가 인에이블될 수 있다.
1. 대안적으로, 게다가, IPS가 디스에이블될 수 있다.
ii. 일 예에서, 서브파티션 폭 및/또는 높이가 모든 허용된 분할 유형들에 대한 최대 변환 블록 크기보다 크지 않은 경우, ISP가 인에이블될 수 있다.
1. 대안적으로, 게다가, ISP가 디스에이블될 수 있다.
iii. 일 예에서, 분할 유형의 시그널링(예를 들면, intra_subpartitions_split_flag)은 분할 유형 및 최대 변환 블록 크기에 기초한 대응하는 서브파티션의 폭 및/또는 높이 간의 관계에 의존할 수 있다.
1. 일 예에서, 단지 하나의 분할 유형이 분할 유형에 기초한 대응하는 서브파티션의 폭 및/또는 높이가 최대 변환 블록 크기보다 크지 않다는 조건을 충족시키는 경우, 분할 유형이 시그널링되지 않고 추론될 수 있다.
e) 특정 코딩 툴(예컨대, IBC, PLT)이 인에이블되는지 여부는 코딩 블록 크기와 최대 변환 크기(예컨대, 32 또는 64) 간의 관계에 종속적일 수 있다.
i. 일 예에서, 특정 코딩 툴(예컨대, IBC, PLT)이 인에이블되는지 여부는 코딩 블록 치수과 고정된 숫자 64 간의 관계에 따라 좌우되지 않을 수 있다.
ii. 일 예에서, 루마 샘플 단위의 코딩 블록 폭 및 높이가 최대 변환 크기보다 크지 않을 때 특정 코딩 툴(예컨대, IBC, PLT)이 허용될 수 있다.
1. 일 예에서, 루마 샘플 단위의 블록 폭 및/또는 높이가 최대 변환 크기보다 클 때 특정 코딩 툴(예컨대, IBC, PLT)이 디스에이블될 수 있다.
2. 일 예에서, 최대 변환 크기가 32와 동일할 때, 루마 샘플 단위의 블록 폭 및/또는 높이가 64와 동일할 때 특정 코딩 툴(예컨대, IBC, PLT)이 디스에이블될 수 있다.
f) 특정 코딩 툴이 디스에이블되는 경우, 관련 신택스 요소들(예컨대, ISP의 경우 intra_subpartitions_mode_flagintra_subpartitions_split_flag, MIP의 경우 intra_mip_flag intra_mip_mode, IBC의 경우 pred_mode_ibc_flag, PLT의 경우 pred_mode_plt_flag)는 시그널링되지 않고 0인 것으로 추론될 수 있다.
g) 특정 코딩 툴이 디스에이블되는 경우, 관련 신택스 요소들(예컨대, ISP의 경우 intra_subpartitions_mode_flagintra_subpartitions_split_flag, MIP의 경우 intra_mip_flag intra_mip_mode, IBC의 경우 pred_mode_ibc_flag, PLT의 경우 pred_mode_plt_flag)는 시그널링될 수 있지만 적합성 비트스트림에서 0이어야만 한다.
14. 암시적 QT 분할은 VPDU 크기 및/또는 최대 변환 크기에 종속적일 수 있다.
a) 일 예에서, 암시적 QT 분할은 코딩 블록 치수와 고정된 숫자 64 간의 관계에 좌우되지 않을 수 있다.
b) 일 예에서, 코딩 블록은 암시적으로 쿼드 파티션들(quad-partitions)로 분할될 수 있고, 각각의 서브파티션은 서브파티션의 폭 및 높이 둘 모두가 VPDU 크기에 도달할 때까지 재귀적으로 암시적으로 분할될 수 있다.
c) 일 예에서, 코딩 블록은 암시적으로 쿼드 파티션들로 분할될 수 있고, 각각의 서브파티션은 서브파티션의 폭 및 높이 둘 모두가 최대 변환 크기에 도달할 때까지 재귀적으로 암시적으로 분할될 수 있다.
15. 서브블록 변환(SBT)에 사용되는 최대 블록 폭 및/또는 높이는 최대 변환 크기에 종속적일 수 있다.
a) 일 예에서, 최대 SBT 크기는 최대 변환 크기와 동일하게 설정될 수 있다.
b) 일 예에서, 최대 SBT 크기에 관련된 신택스 요소(예컨대, sps_sbt_max_size_64_flag)는 시그널링되지 않을 수 있다.
i. 예를 들어, 최대 변환 크기가 64보다 작을 때 sps_sbt_max_size_64_flag는 시그널링되지 않고 0인 것으로 추론된다.
ii. 예를 들어, 최대 변환 크기가 64보다 작지만 적합성 비트스트림에서 0과 동일해야만 할 때 sps_sbt_max_size_64_flag는 시그널링된다.
c) 일 예에서, 관련된 신택스 요소(예컨대, cu_sbt_flag)의 시그널링은 최대 변환 크기에 종속적일 수 있다.
d) 일 예에서, 관련된 신택스 요소(예컨대, cu_sbt_flag)의 시그널링은 최대 SBT 크기에 독립적일 수 있다.
16. 변환 스킵 및/또는 인트라 BDPCM에 사용되는 최대 블록 크기는 최대 변환 크기에 종속적일 수 있다.
a) 일 예에서, 최대 변환 스킵 크기는 최대 변환 크기와 동일하게 설정될 수 있다.
b) 일 예에서, 최대 변환 스킵 크기에 관련된 신택스 요소(예컨대, log2_transform_skip_max_size_minus2)는 시그널링되지 않을 수 있다.
17. 인트라 BDPCM에 사용되는 최대 블록 크기는 독립적으로 시그널링될 수 있다.
a) 일 예에서, 인트라 BDPCM에 사용되는 최대 블록 크기는 변환 스킵에 사용되는 최대 블록 크기에 종속적이지 않을 수 있다.
b) 일 예에서, 인트라 BDPCM에 사용되는 최대 블록 크기를 지정하기 위한 SPS/VPS/PPS/슬라이스/VPDU/CTU/CU 레벨 플래그는 비트스트림에서 시그널링될 수 있다.
18. 블록에 대해 인터 인트라 결합 예측(CIIP)을 인에이블시킬지 디스에이블시킬지는 블록 폭 및/또는 높이와 최대 변환 크기 간의 관계에 의존할 수 있다.
a) 일 예에서, 블록 폭 및/또는 높이가 최대 변환 크기보다 큰 경우 블록에 대해 CIIP가 디스에이블될 수 있다.
b) 일 예에서, CIIP가 디스에이블되는 경우 CIIP를 나타내는 신택스 요소(예컨대, ciip_flag)가 시그널링되지 않을 수 있다.
19. CIIP로 코딩된 CU의 폭 및 높이 둘 모두가 128보다 작을 때, CU를 여러 서브파티션들로 분할하는 것이 허용되지 않으며, 여기서 제1 서브파티션에 대한 인트라 예측은 제2 서브파티션의 재구성에 의존할 수 있으며, 제1 서브파티션에 대해서보다 먼저 제2 서브파티션에 대해 인트라 예측이 수행된다.
20. CIIP로 코딩된 CU를 여러 서브파티션들로 분할하는 것이 허용되며, 여기서 제1 서브파티션에 대한 인트라 예측은 제2 서브파티션의 재구성에 의존할 수 있으며, 제1 서브파티션에 대해서보다 먼저 제2 서브파티션에 대해 인트라 예측이 수행된다.
무손실 코딩 관련
21. 변환 스킵 코딩된 블록들(즉, 변환이 적용되지 않음/항등 변환만이 적용됨)에 대한 최대 크기는 변환이 적용된 블록들에 대한 최대 크기(예를 들면, MaxTbSizeY)로부터 도출된다.
a) 일 예에서, 변환 스킵 코딩된 블록들에 대한 최대 크기는 MaxTbSizeY로 추론된다.
b) 일 예에서, 변환 스킵 코딩된 블록들에 대한 최대 크기의 시그널링은 스킵된다.
22. 무손실 코딩이 인에이블될 때, 시퀀스/픽처/서브픽처/슬라이스/타일 그룹/타일/브릭/CTU 행/CTU/CU/PU/TU/서브블록 레벨에서의 현재 비디오 유닛에 대해 LMCS(Luma Mapping Chroma Scaling)가 디스에이블될 수 있다.
a) 일 예에서, LMCS 인에이블 플래그(예컨대, sps_lmcs_enabled_flag, slice_lmcs_enabled_flag, slice_chroma_residual_scale_flag, lmcs_data 등)는 시퀀스/픽처/서브픽처/슬라이스/타일 그룹/타일/브릭/CTU 행/CTU/CU/PU/TU/서브블록 레벨에서 변환 양자화 바이패스 플래그(예컨대, sps_ transquant_bypass_flag, pps_ transquant_bypass_flag, cu_ transquant_bypass_flag, )에 따라 시그널링될 수 있다.
i. 일 예에서, 변환 양자화 바이패스 플래그가 1과 동일한 경우, LMCS 인에이블 플래그는 시그널링되지 않고 0인 것으로 추론될 수 있다.
1. 일 예에서, 시퀀스 레벨 변환 양자화 바이패스 플래그(예컨대, sps_ transquant_bypass_flag)가 1과 동일한 경우, 시퀀스 및 그 아래 레벨 LMCS 인에이블 플래그(예컨대, sps_lmcs_enabled_flag, slice_lmcs_enabled_flag, slice_chroma_residual_scale_flag)는 시그널링되지 않고 0인 것으로 추론될 수 있다.
2. 일 예에서, 시퀀스 레벨 TransquantBypassEnabledFlag가 1과 동일한 경우, APS 레벨 lmcs_data는 시그널링되지 않을 수 있다.
3. 일 예에서, PPS 레벨 변환 양자화 바이패스 플래그(예컨대, pps_ transquant_bypass_flag)가 1과 동일한 경우, 슬라이스 레벨 LMCS 인에이블 플래그(예컨대, slice_lmcs_enabled_flag, slice_lmcs_aps_id, slice_chroma_residual_scale_flag)는 시그널링되지 않고 0인 것으로 추론될 수 있다.
b) 일 예에서, 변환 양자화 바이패스 플래그가 1과 동일할 때 LMCS 인에이블 플래그가 0과 동일해야 한다는 비트스트림 제약이 적용될 수 있다.
5. 실시예들
새로 추가된 부분들은 굵은 이중 괄호로 묶여 있으며, 예를 들면, {{a}}는 "a"가 추가되었음을 나타내는 반면, VVC 작업 초안으로부터 삭제된 부분들은 굵은 이중 대괄호로 묶여 있다, 예를 들면, [[b]]는 "b"가 삭제되었음을 나타낸다. 수정 사항들은 최신 VVC 작업 초안(JVET-O2001-v11)을 기반으로 한다.
5.1 예시적인 실시예 #1
아래의 실시예는 최대 TU 크기를 CTU 크기에 종속적이게 만드는 본 발명의 방법에 대한 것이다.
7.4.3.3. 시퀀스 파라미터 세트 RBSP 시맨틱스
...
sps_max_luma_transform_size_64_flag 가 1과 동일한 것은 루마 샘플 단위의 최대 변환 크기가 64와 동일하다는 것을 지정한다. sps _max_luma_transform_size_64_flag가 0과 동일한 것은 루마 샘플 단위의 최대 변환 크기가 32와 동일하다는 것을 지정한다.
CtbSizeY가 64보다 작을 때, sps_max_luma_transform_size_64_flag의 값은 0과 동일해야 한다.
변수들 MinTbLog2SizeY, MaxTbLog2SizeY, MinTbSizeY, 및 MaxTbSizeY는 다음과 같이 도출된다:
Figure pct00010
...
5.2 예시적인 실시예 #2
아래의 실시예는 TT 분할 및 BT 분할 프로세스를 VPDU 크기에 종속적이게 만드는 본 발명의 방법에 대한 것이다.
6.4.2 허용된 이진 분할 프로세스
변수 allowBtSplit는 다음과 같이 도출된다:
....
- 그렇지 않고, 다음 조건들 모두가 참인 경우, allowBtSplit는 FALSE와 동일하게 설정된다.
- btSplit는 SPLIT_BT_VER과 동일하다.
- cbHeight는 [[ MaxTbSizeY ]] {{ VSize }} 보다 크다
- x0 + cbWidth는 pic_width_in_luma_samples보다 크다
- 그렇지 않고, 다음 조건들 모두가 참인 경우, allowBtSplit는 FALSE와 동일하게 설정된다.
- btSplit는 SPLIT_BT_HOR과 동일하다
- cbWidth는 [[ MaxTbSizeY ]] {{ VSize }} 보다 크다
- y0 + cbHeight는 pic_height_in_luma_samples보다 크다
...
- 그렇지 않고 다음 조건들 모두가 참인 경우, allowBtSplit는 FALSE와 동일하게 설정된다.
- btSplit는 SPLIT_BT_VER과 동일하다.
- cbWidth는 [[ MaxTbSizeY ]] {{ VSize }} 보다 작거나 같다
- cbHeight는 [[ MaxTbSizeY ]] {{ VSize }} 보다 크다
- 그렇지 않고 다음 조건들 모두가 참인 경우, allowBtSplit는 FALSE와 동일하게 설정된다.
- btSplit는 SPLIT_BT_HOR과 동일하다
- cbWidth는 [[ MaxTbSizeY ]] {{ VSize }} 보다 크다
- cbHeight는 [[ MaxTbSizeY ]] {{ VSize }} 보다 작거나 같다
6.4.3 허용된 삼진 분할 프로세스
...
변수 allowTtSplit는 다음과 같이 도출된다:
- 이하의 조건들 중 하나 이상이 참인 경우, allowTtSplit는 FALSE와 동일하게 설정된다:
- cbSize는 2 * MinTtSizeY보다 작거나 같다
- cbWidth는 Min( [[ MaxTbSizeY ]] {{ VSize }} , maxTtSize )보다 크다
- cbHeight는 Min( [[ MaxTbSizeY ]] {{ VSize }} , maxTtSize )보다 크다
- mttDepth는 maxMttDepth보다 크거나 같다
- x0 + cbWidth는 pic_width_in_luma_samples보다 크다
- y0 + cbHeight는 pic_height_in_luma_samples보다 크다
- treeType은 DUAL_TREE_CHROMA와 동일하고 ( cbWidth / SubWidthC ) * ( cbHeight / SubHeightC )는 32보다 작거나 같다
- treeType은 DUAL_TREE_CHROMA와 동일하고 modeType은 INTRA와 동일하다
- 그렇지 않은 경우 , allowTtSplit는 TRUE와 동일하게 설정된다.
5.3 예시적인 실시예 #3
아래의 실시예는 아핀 모델 파라미터들 계산을 CTU 크기에 종속적이게 만드는 본 발명의 방법에 대한 것이다.
7.4.3.3. 시퀀스 파라미터 세트 RBSP 시맨틱스
...
log2_ctu_size_minus5 + 5는 각각의 CTU의 루마 코딩 트리 블록 크기를 지정한다. log2_ctu_size_minus5의 값이 [[ 2 ]] {{ 3 (지정된 바에 따라 더 클 수 있음) }}보다 작거나 같아야 하는 것이 비트스트림 적합성의 요구사항이다.
...
CtbLog2SizeY = log2_ctu_size_minus5 + 5
{{ CtbLog2SizeY는 현재 비디오 유닛의 루마 샘플 단위의 CTU 크기를 나타내는 데 사용된다. 현재 비디오 유닛에 대해 단일 CTU 크기가 사용될 때, CtbLog2SizeY는 위의 수학식에 의해 계산된다. 그렇지 않은 경우, CtbLog2SizeY는 현재 비디오 유닛에 대해 명시적으로 시그널링되거나 암시적으로 도출될 수 있는 실제 CTU 크기에 의존할 수 있다. (예) }}
...
8.5.5.5 이웃한 블록으로부터의 루마 아핀 제어 포인트 모션 벡터들에 대한 도출 프로세스
...
변수들 mvScaleHor, mvScaleVer, dHorX 및 dVerX는 다음과 같이 도출된다:
- isCTUboundary가 TRUE와 동일한 경우, 다음이 적용된다:
Figure pct00011
...
- 그렇지 않은 경우(isCTUboundary가 FALSE와 동일한 경우), 다음이 적용된다:
Figure pct00012
...
8.5.5.6 구성된 아핀 제어 포인트 모션 벡터 병합 후보들에 대한 도출 프로세스
...
availableFlagCorner[ 0 ]가 TRUE와 동일하고 availableFlagCorner[ 2 ]가 TRUE와 동일한 경우, 다음이 적용된다:
- X가 0 또는 1로 대체되는 경우, 다음이 적용된다:
- 변수 availableFlagLX는 다음과 같이 도출된다:
- 다음 조건들 모두가 TRUE인 경우, availableFlagLX가 TRUE와 동일하게 설정된다.
- predFlagLXCorner[ 0 ]은 1과 동일하다.
- predFlagLXCorner[ 2 ]는 1과 동일하다.
- refIdxLXCorner[ 0 ]은 refIdxLXCorner[ 2 ]와 동일하다
- 그렇지 않은 경우, availableFlagLX는 FALSE와 동일하게 설정된다.
- availableFlagLX가 TRUE와 동일한 경우, 다음이 적용된다:
- 두 번째 제어 포인트 모션 벡터 cpMvLXCorner[ 1 ]는 다음과 같이 도출된다:
Figure pct00013
8.5.5.9 아핀 제어 포인트 모션 벡터들로부터의 모션 벡터 어레이들에 대한 도출 프로세스
변수들 mvScaleHor, mvScaleVer, dHorX 및 dVerX는 다음과 같이 도출된다:
Figure pct00014
5.4 BT 분할 및 TT 분할이 블록 크기에 종속적이게 할 수 있는 것에 대한 실시예 #4
도 1에 도시된 바와 같이, 최대 변환 크기가 32x32 또는 64x64인지에 관계없이, 블록 크기 64x64를 갖는 코딩 블록에 대해 TT 분할이 허용될 수 있고, 블록 크기들 32x64, 16x64, 8x64, 64x32, 64x16, 64x8에 대해 BT 분할이 허용될 수 있다.
도 1은 BT 분할 및 TT 분할이 블록 크기에 종속적이게 할 수 있는 것의 예이다.
5.5 VPDU 크기 또는 64x64에 종속적인 ISP를 적용하는 것에 대한 실시예 #5
수정 사항들은 최신 VVC 작업 초안(JVET-O2001-v14)을 기반으로 한다.
코딩 유닛 신택스
Figure pct00015
변환 트리 신택스
Figure pct00016
Figure pct00017
코딩 유닛 시맨틱스
intra _ subpartitions _split_flag [ x0 ][ y0 ]은 인트라 서브파티션들 분할 유형이 수평인지 수직인지를 지정한다. intra _ subpartitions _split_flag[ x0 ][ y0 ]이 존재하지 않을 때, 이는 다음과 같이 추론된다:
- cbHeight가 [[ MaxTbSizeY ]] {{ 64 (또는 다른 옵션: Vsize) }} 보다 큰 경우, intra_subpartitions_split_flag[ x0 ][ y0 ]은 0과 동일한 것으로 추론된다.
- 그렇지 않은 경우(cbWidth가 [[ MaxTbSizeY ]] {{ 64 (또는 다른 옵션: Vsize) }} 보다 큰 경우, intra_subpartitions_split_flag[ x0 ][ y0 ]은 1과 동일한 것으로 추론된다.
5.6 VPDU 크기 또는 64x64에 종속적인 MIP를 적용하는 것에 대한 실시예 #6
아래의 실시예는 ISP를 VPDU 크기에 종속적이게 만드는 본 발명의 방법에 대한 것이다. 수정 사항들은 최신 VVC 작업 초안(JVET-O2001-v14)을 기반으로 한다.
코딩 유닛 신택스
Figure pct00018
5.7 최대 변환 크기에 종속적인 SBT를 적용하는 것에 대한 실시예 #7
시퀀스 파라미터 세트 RBSP 신택스
Figure pct00019
코딩 유닛 신택스
Figure pct00020
시퀀스 파라미터 세트 RBSP 시맨틱스
[[sps_sbt_max_size_64_flag가 0과 동일한 것은 서브블록 변환을 허용하기 위한 최대 CU 폭 및 높이가 32 루마 샘플이라는 것을 지정한다. sps_sbt_max_size_64_flag가 1과 동일한 것은 서브블록 변환을 허용하기 위한 최대 CU 폭 및 높이가 64 루마 샘플이라는 것을 지정한다.
Figure pct00021
5.8 최대 변환 크기에 종속적인 변환 스킵을 적용하는 것에 대한 실시예 #8
픽처 파라미터 세트 RBSP 신택스
Figure pct00022
코딩 유닛 신택스
Figure pct00023
변환 유닛 신택스
Figure pct00024
픽처 파라미터 세트 RBSP 시맨틱스
[[ log2 _transform_skip_max_size_ minus2 변환 스킵에 사용되는 최대 블록 크기를 지정하며, 0 내지 3의 범위에 있어야 한다.
존재하지 않을 때, log2_transform_skip_max_size_minus2의 값은 0과 동일한 것으로 추론된다.
변수 MaxTsSize는 1 << ( log2_transform_skip_max_size_minus2 + 2 )와 동일하게 설정된다. ]]
5.9 최대 변환 크기에 종속적인 ciip _flag에 대한 실시예 #9
병합 데이터 신택스
Figure pct00025
Figure pct00026
ciip_flag [ x0 ][ y0 ]은 현재 코딩 유닛에 대해 결합된 인터 픽처 병합 및 인트라 픽처 예측(combined inter-picture merge and intra -picture prediction)이 적용되는지 여부를 지정한다. 어레이 인덱스들 x0, y0은 픽처의 좌측 상단 루마 샘플을 기준으로 고려된 코딩 블록의 좌측 상단 루마 샘플의 위치 ( x0 , y0 )을 지정한다.
ciip_flag[ x0 ][ y0 ]이 존재하지 않을 때, 이는 다음과 같이 추론된다:
- 다음 조건들 모두가 참인 경우, ciip_flag[ x0 ][ y0 ]은 1과 동일한 것으로 추론된다:
- sps_ciip_enabled_flag가 1과 동일하다.
- general_merge_flag[ x0 ][ y0 ]이 1과 동일하다.
- merge_subblock_flag[ x0 ][ y0 ]이 0과 동일하다.
- regular_merge_flag[ x0 ][ y0 ]이 0과 동일하다.
- cbWidth가 {{ MaxTbSizeY }} 보다 작거나 같다.
- cbHeight가 {{ MaxTbSizeY }} 보다 작거나 같다.
- cbWidth * cbHeight가 64보다 크거나 같다.
- 그렇지 않은 경우, ciip_flag[ x0 ][ y0 ]은 0과 동일한 것으로 추론된다.
5.10 CtbSizeY에 종속적인 sps _max_ luma _transform_size_64_flag에 대한 실시예 #10
7.3.2.3 시퀀스 파라미터 세트 RBSP 신택스
Figure pct00027
7.4.3.3. 시퀀스 파라미터 세트 RBSP 시맨틱스
...
sps _max_ luma _transform_size_64_flag 가 1과 동일한 것은 루마 샘플 단위의 최대 변환 크기가 64와 동일하다는 것을 지정한다. sps_max_luma_transform_size_64_flag가 0과 동일한 것은 루마 샘플 단위의 최대 변환 크기가 32와 동일하다는 것을 지정한다.
[[ CtbSizeY가 64보다 작을 때, ]] {{ sps_max_luma_transform_size_64_flag가 존재하지 않을 때, }} sps_max_luma_transform_size_64_flag의 값은 0과 동일 [[ 해야 한다 ]] {{ 한 것으로 추론된다 }} .
변수들 MinTbLog2SizeY, MaxTbLog2SizeY, MinTbSizeY, 및 MaxTbSizeY는 다음과 같이 도출된다:
Figure pct00028
...
도 2는 비디오 프로세싱 장치(200)의 블록 다이어그램이다. 장치(200)는 본 명세서에 설명된 방법들 중 하나 이상을 구현하는 데 사용될 수 있다. 장치(200)는 스마트폰, 태블릿, 컴퓨터, IoT(Internet of Things) 수신기 등에 구체화될 수 있다. 장치(200)는 하나 이상의 프로세서(202), 하나 이상의 메모리(204) 및 비디오 프로세싱 하드웨어(206)를 포함할 수 있다. 프로세서(들)(202)는 본 문서에 설명된 하나 이상의 방법을 구현하도록 구성될 수 있다. 메모리(메모리들)(204)는 본 명세서에 설명된 방법들 및 기술들을 구현하는 데 사용되는 데이터 및 코드를 저장하는 데 사용될 수 있다. 비디오 프로세싱 하드웨어(206)는, 하드웨어 회로로, 본 문서에 설명된 일부 기술들을 구현하는 데 사용될 수 있다. 일부 실시예들에서, 비디오 프로세싱 하드웨어(206)는 프로세서들(202)(예를 들면, 그래픽 코프로세서) 내에 적어도 부분적으로 있을 수 있다.
일부 실시예들에서, 비디오 코딩 방법들은 도 2와 관련하여 설명된 바와 같이 하드웨어 플랫폼 상에서 구현되는 장치를 사용하여 구현될 수 있다.
개시된 기술의 일부 실시예들은 비디오 프로세싱 툴 또는 모드를 인에이블시키기로 의사 결정 또는 결정하는 것을 포함한다. 예에서, 비디오 프로세싱 툴 또는 모드가 인에이블될 때, 인코더는 비디오 블록의 프로세싱에서 툴 또는 모드를 사용하거나 구현할 것이지만, 툴 또는 모드의 사용에 기초하여 결과적인 비트스트림을 반드시 수정하는 것은 아닐 수 있다. 즉, 비디오 블록으로부터 비디오의 비트스트림 표현으로의 변환은 의사 결정 또는 결정에 기초하여 비디오 프로세싱 툴 또는 모드가 인에이블될 때 이를 사용할 것이다. 다른 예에서, 비디오 프로세싱 툴 또는 모드가 인에이블될 때, 디코더는 비디오 프로세싱 툴 또는 모드에 기초하여 비트스트림이 수정되었다는 지식을 사용하여 비트스트림을 프로세싱할 것이다. 즉, 비디오의 비트스트림 표현으로부터 비디오 블록으로의 변환은 의사 결정 또는 결정에 기초하여 인에이블된 비디오 프로세싱 툴 또는 모드를 사용하여 수행될 것이다.
개시된 기술의 일부 실시예들은 비디오 프로세싱 툴 또는 모드를 디스에이블시키기로 의사 결정 또는 결정을 내리는 것을 포함한다. 예에서, 비디오 프로세싱 툴 또는 모드가 디스에이블될 때, 인코더는 비디오 블록을 비디오의 비트스트림 표현으로 변환하는 데 툴 또는 모드를 사용하지 않을 것이다. 다른 예에서, 비디오 프로세싱 툴 또는 모드가 디스에이블될 때, 디코더는 의사 결정 또는 결정에 기초하여 인에이블된 비디오 프로세싱 툴 또는 모드를 사용하여 비트스트림이 수정되지 않았다는 지식을 사용하여 비트스트림을 프로세싱할 것이다.
도 3은 본 명세서에 개시된 다양한 기술들이 구현될 수 있는 예시적인 비디오 프로세싱 시스템(300)을 도시하는 블록 다이어그램이다. 다양한 구현들은 시스템(300)의 컴포넌트들의 일부 또는 전부를 포함할 수 있다. 시스템(300)은 비디오 콘텐츠를 수신하기 위한 입력(302)을 포함할 수 있다. 비디오 콘텐츠는 원시 또는 압축되지 않은 포맷, 예를 들면, 8 또는 10 비트 다중 성분 픽셀 값들로 수신될 수 있거나, 또는 압축된 또는 인코딩된 포맷으로 되어 있을 수 있다. 입력(302)은 네트워크 인터페이스, 주변기기 버스 인터페이스, 또는 스토리지 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예들은 이더넷, PON(passive optical network) 등과 같은 유선 인터페이스들 및 Wi-Fi 또는 셀룰러 인터페이스들과 같은 무선 인터페이스들을 포함한다.
시스템(300)은 본 문서에 설명된 다양한 코딩 또는 인코딩 방법들을 구현할 수 있는 코딩 컴포넌트(304)를 포함할 수 있다. 코딩 컴포넌트(304)는 비디오의 코딩된 표현을 생성하기 위해 입력(302)으로부터 코딩 컴포넌트(304)의 출력으로의 비디오의 평균 비트레이트를 감소시킬 수 있다. 따라서 코딩 기술들은 때때로 비디오 압축 또는 비디오 트랜스코딩 기술들이라고 불린다. 코딩 컴포넌트(304)의 출력은 저장되거나, 컴포넌트(306)에 의해 표현된 바와 같은, 연결된 통신을 통해 전송될 수 있다. 입력(302)에 수신되는 비디오의 저장된 또는 통신된 비트스트림(또는 코딩된) 표현은 디스플레이 인터페이스(310)로 송신되는 픽셀 값들 또는 디스플레이 가능한 비디오를 생성하기 위해 컴포넌트(308)에 의해 사용될 수 있다. 비트스트림 표현으로부터 사용자가 볼 수 있는 비디오를 생성하는 프로세스는 때때로 비디오 압축 해제라고 불린다. 게다가, 특정 비디오 프로세싱 동작들이 "코딩" 동작들 또는 툴들이라고 지칭되지만, 코딩 툴들 또는 동작들이 인코더에서 사용되고 코딩의 결과들을 반대로 하는 대응하는 디코딩 툴들 또는 동작들은 디코더에 의해 수행될 것임이 이해될 것이다.
주변기기 버스 인터페이스 또는 디스플레이 인터페이스의 예들은 USB(universal serial bus) 또는 HDMI(high definition multimedia interface) 또는 Displayport 등을 포함할 수 있다. 스토리지 인터페이스들의 예들은 SATA(serial advanced technology attachment), PCI, IDE 인터페이스 등을 포함한다. 본 문서에서 설명되는 기술들은 디지털 데이터 프로세싱 및/또는 비디오 디스플레이를 수행할 수 있는 모바일 폰들, 랩톱들, 스마트폰들 또는 다른 디바이스들과 같은 다양한 전자 디바이스들에서 구체화될 수 있다.
도 4는 비디오 프로세싱 방법(400)에 대한 플로차트이다. 방법(400)은, 동작(410)에서, 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해 사용되는 가상 파이프라인 데이터 유닛(VPDU)의 치수를 사용하여 하나 이상의 비디오 블록 중 한 비디오 블록의 삼진 트리(TT) 또는 이진 트리(BT) 분할이 인에이블되는지 여부의 결정을 수행하는 단계 - 치수는 루마 샘플 단위의 VSize와 동일함 - 를 포함한다.
방법(400)은, 동작(420)에서, 결정에 기초하여, 변환을 수행하는 단계를 포함한다.
도 5는 비디오 프로세싱 방법(500)에 대한 플로차트이다. 방법(500)은, 동작(510)에서, 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해, 하나 이상의 비디오 블록 중 한 비디오 블록의 치수를 사용하여 비디오 블록의 삼진 트리(TT) 또는 이진 트리(BT) 분할이 인에이블되는지 여부의 결정을 수행하는 단계를 포함한다.
방법(500)은, 동작(520)에서, 결정에 기초하여, 변환을 수행하는 단계를 포함한다.
도 6은 비디오 프로세싱 방법(600)에 대한 플로차트이다. 방법(600)은, 동작(610)에서, 비디오 블록의 높이 또는 폭을 사용하여 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해 코딩 툴이 인에이블되는지 여부의 결정을 수행하는 단계 - 결정은 높이 또는 폭과 값 N 사이의 비교에 기초하고, N은 양의 정수임 - 를 포함한다.
방법(600)은, 동작(620)에서, 결정에 기초하여, 변환을 수행하는 단계를 포함한다.
도 7은 비디오 프로세싱 방법(700)에 대한 플로차트이다. 방법(700)은, 동작(710)에서, 비디오 블록의 높이 또는 폭과 변환 블록의 크기 사이의 비교를 사용하여 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해 코딩 툴이 인에이블되는지 여부의 결정을 수행하는 단계를 포함한다.
방법(700)은, 동작(720)에서, 결정에 기초하여, 변환을 수행하는 단계를 포함한다.
도 8은 비디오 프로세싱 방법(800)에 대한 플로차트이다. 방법(800)은, 동작(810)에서, 비디오 블록의 높이 또는 폭을 사용하여 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해 코딩 툴이 인에이블되는지 여부의 결정을 수행하는 단계를 포함한다.
방법(800)은, 동작(820)에서, 결정에 기초하여, 변환을 수행하는 단계를 포함한다.
도 9는 비디오 프로세싱 방법(900)에 대한 플로차트이다. 방법(900)은, 동작(910)에서, 비디오 블록의 서브파티션의 치수와 최대 변환 크기 사이의 비교를 사용하여 (a) 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오 사이의 변환을 위해 인트라 서브파티션 예측(ISP) 모드가 인에이블되는지 여부의 결정, 및 (b) 변환에 대한 하나 이상의 허용 가능한 분할 유형의 선택을 수행하는 단계를 포함한다.
방법(900)은, 동작(920)에서, 결정 및 선택에 기초하여, 변환을 수행하는 단계를 포함한다.
도 10은 비디오 프로세싱 방법(1000)에 대한 플로차트이다. 방법(1000)은, 동작(1010)에서, 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계 - 변환은 디스에이블된 코딩 툴을 포함하고, 코딩 툴에 관련된 신택스 요소들은 비트스트림 표현으로부터 제외되고 코딩 툴이 디스에이블된다는 것을 지정하는 미리 결정된 값인 것으로 추론됨 - 를 포함한다.
도 11은 비디오 프로세싱 방법(1100)에 대한 플로차트이다. 방법(1100)은, 동작(1110)에서, 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계 - 변환은 디스에이블된 코딩 툴을 포함하고, 비트스트림 표현은 코딩 툴이 디스에이블되는 것에 기초하여 미리 결정된 값인 것으로 추론되는 코딩 툴에 관련된 신택스 요소들을 포함함 - 를 포함한다.
도 12는 비디오 프로세싱 방법(1200)에 대한 플로차트이다. 방법(1200)은, 동작(1210)에서, 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해 사용되는 가상 파이프라인 데이터 유닛(VPDU)의 치수 및/또는 최대 변환 크기를 사용하여 하나 이상의 비디오 블록 중 한 비디오 블록의 암시적인(QT) 분할이 인에이블되는지 여부의 결정을 수행하는 단계를 포함한다.
방법(1200)은, 동작(1220)에서, 결정에 기초하여, 변환을 수행하는 단계를 포함한다.
도 13은 비디오 프로세싱 방법(1300)에 대한 플로차트이다. 방법(1300)은, 동작(1310)에서, 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계 - 변환은 서브블록 변환(SBT)을 포함하고, SBT의 최대 높이 또는 최대 폭은 최대 변환 크기에 기초함 - 를 포함한다.
도 14는 비디오 프로세싱 방법(1400)에 대한 플로차트이다. 방법(1400)은, 동작(1410)에서, 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계 - 변환은 변환 스킵 모드 및/또는 인트라 블록 기반 차분 펄스 코드 변조(BDPCM) 모드를 포함하고, 변환 스킵 모드에 사용되는 최대 블록 크기는 최대 변환 크기에 기초함 - 를 포함한다.
도 15는 비디오 프로세싱 방법(1500)에 대한 플로차트이다. 방법(1500)은, 동작(1510)에서, 비디오 블록의 높이 또는 폭과 최대 변환 크기 사이의 비교를 사용하여 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해 인터 인트라 결합 예측(CIIP) 모드가 인에이블되는지 여부의 결정을 수행하는 단계를 포함한다.
방법(1500)은, 동작(1520)에서, 결정에 기초하여, 변환을 수행하는 단계를 포함한다.
도 16은 비디오 프로세싱 방법(1600)에 대한 플로차트이다. 방법(1600)은, 동작(1610)에서, 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해, 인터 인트라 결합 예측(CIIP)으로 코딩된 하나 이상의 비디오 블록 중 한 비디오 블록을 분할하는 것에 관한 결정을 내리는 단계를 포함한다.
방법(1600)은, 동작(1620)에서, 결정에 기초하여, 변환을 수행하는 단계를 포함한다.
도 17은 비디오 프로세싱 방법(1700)에 대한 플로차트이다. 방법(1700)은, 동작(1710)에서, 규칙에 따라 다수의 비디오 블록들을 포함하는 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하며, 규칙은 변환 코딩을 사용하여 비트스트림 표현에 코딩되는 비디오 영역 내의 다수의 비디오 블록들의 최대 블록 크기가 변환 코딩을 사용하지 않고 비트스트림 표현에 코딩되는 비디오 영역 내의 다수의 비디오 블록들의 최대 블록 크기를 결정한다고 지정한다.
도 18은 비디오 프로세싱 방법(1800)에 대한 플로차트이다. 방법(1800)은, 동작(1810)에서, 규칙에 따라 다수의 비디오 블록들을 포함하는 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하며, 규칙은 무손실 코딩이 비디오 영역에 대해 인에이블될 때 LMCS(luma mapping with chroma scaling) 프로세스가 비디오 영역에 대해 디스에이블된다는 것을 지정하고, 비디오 영역은 시퀀스, 픽처, 서브픽처, 슬라이스, 타일 그룹, 타일, 브릭, 코딩 트리 유닛(CTU) 행, CTU, 코딩 유닛(CU), 예측 유닛(PU), 변환 유닛(TU), 또는 서브블록이다.
방법들(400 내지 1800)에서, ISP 모드에서, 하나 이상의 비디오 블록 중 한 비디오 블록은 인트라 예측 및 변환의 적용 이전에 다수의 서브파티션들로 분할된다.
방법들(400 내지 1800)에서, SBT는 하나 이상의 비디오 블록 중 한 비디오 블록의 하나 이상의 분할에 개별적으로 적용되는 하나 이상의 변환을 포함한다.
방법들(400 내지 1800)에서, 변환 스킵 모드는 대응하는 코딩 툴에 대한 변환 및 역변환 프로세스들을 스킵하는 것을 포함하고, BDPCM 모드에서, 현재 비디오 블록의 인트라 예측의 잔차는 차분 펄스 코딩 변조 연산을 사용하여 예측 코딩된다.
방법들(400 내지 1800)에서, CIIP 모드에서, 비디오 블록의 최종 예측은 비디오 블록의 인터 예측과 비디오 블록의 인트라 예측의 가중 합에 기초한다.
방법들(400 내지 1800)에서, LMCS 프로세스는 비디오 영역의 루마 샘플들이 제1 도메인과 제2 도메인 사이에서 리셰이핑되는 것 및 크로마 잔차가 루마 종속적 방식으로 스케일링되는 것을 포함한다.
일부 실시예들에서, 다음 기술적 해결책들이 구현될 수 있다:
A1. 비디오 프로세싱 방법으로서, 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해 사용되는 가상 파이프라인 데이터 유닛(VPDU)의 치수를 사용하여 하나 이상의 비디오 블록 중 한 비디오 블록의 삼진 트리(TT) 또는 이진 트리(BT) 분할이 인에이블되는지 여부의 결정을 수행하는 단계; 및 결정에 기초하여, 변환을 수행하는 단계를 포함하며, 치수는 루마 샘플 단위의 VSize와 동일하고, 비디오 블록의 치수는 루마 샘플 단위의 CtbSizeY이며, VSize = min(M, CtbSizeY)이고, M은 양의 정수인, 방법.
A2. 해결책 A1의 방법으로서, M = 64인, 방법.
A3. 해결책 A1 또는 해결책 A2의 방법으로서, VPDU의 치수는 높이 또는 폭인, 방법.
A4. 해결책 A1의 방법으로서, 결정은 최대 변환 크기에 독립적인, 방법.
A5. 해결책 A1 내지 해결책 A4 중 어느 한 해결책의 방법으로서, VSize는 미리 결정된 값인, 방법.
A6. 해결책 A5의 방법으로서, VSize = 64인, 방법.
A7. 해결책 A1의 방법으로서, TT 분할의 결정은 루마 샘플 단위의 비디오 블록의 폭 또는 높이가 min(VSize, maxTtSize)보다 큰 것에 기초하고, maxTtSize는 최대 변환 크기인, 방법.
A8. 해결책 A1의 방법으로서, TT 분할의 결정은 루마 샘플 단위의 비디오 블록의 폭 또는 높이가 VSize보다 큰 것에 기초하는, 방법.
A9. 해결책 A7의 방법으로서, maxTtSize는 32x32이고 VSize는 64x64이며, 비디오 블록의 크기가 128x128, 128x64 또는 64x128일 때 TT 분할은 디스에이블되는, 방법.
A10. 해결책 A7의 방법으로서, maxTtSize는 32x32이고 VSize는 64x64이며, 비디오 블록의 크기가 64x64일 때 TT 분할은 인에이블되는, 방법.
A11. 해결책 A1의 방법으로서, 수직 BT 분할의 결정은 루마 샘플 단위의 비디오 블록의 폭이 VSize보다 작거나 같고 루마 샘플 단위의 비디오 블록의 높이가 VSize보다 큰 것에 기초하는, 방법.
A12. 해결책 A11의 방법으로서, 최대 변환 크기는 32x32이고 VSize는 64x64이며, 비디오 블록의 크기가 64x128일 때 수직 BT 분할은 디스에이블되는, 방법.
A13. 해결책 A11의 방법으로서, 최대 변환 크기는 32x32이고 VSize는 64x64이며, 비디오 블록의 크기가 32x64, 16x64 또는 8x64일 때 수직 BT 분할은 인에이블되는, 방법.
A14. 해결책 A1의 방법으로서, (i) 루마 샘플 단위의 비디오 블록의 폭과 비디오 블록의 좌측 상단 루마 샘플의 수평 좌표의 합이 루마 샘플 단위의 비디오 블록을 포함하는 픽처의 폭 또는 서브픽처의 폭보다 크고 (ii) 루마 샘플 단위의 비디오 블록의 높이가 VSize보다 클 때 수직 BT 분할은 디스에이블되는, 방법.
A15. 해결책 A1의 방법으로서, 루마 샘플 단위의 비디오 블록의 폭과 비디오 블록의 좌측 상단 루마 샘플의 수평 좌표의 합이 루마 샘플 단위의 비디오 블록을 포함하는 픽처의 폭 또는 서브픽처의 폭보다 클 때 수평 BT 분할은 인에이블되는, 방법.
A16. 해결책 A1의 방법으로서, 수평 BT 분할의 결정은 루마 샘플 단위의 비디오 블록의 폭이 VSize보다 크고 루마 샘플 단위의 비디오 블록의 높이가 VSize보다 작거나 같은 것에 기초하는, 방법.
A17. 해결책 A16의 방법으로서, 최대 변환 크기는 32x32이고 VSize는 64x64이며, 비디오 블록의 크기가 128x64일 때 수평 BT 분할은 디스에이블되는, 방법.
A18. 해결책 A16의 방법으로서, 최대 변환 크기는 32x32이고 VSize는 64x64이며, 비디오 블록의 크기가 64x8, 64x16 또는 64x32일 때 수평 BT 분할은 인에이블되는, 방법.
A19. 해결책 A1의 방법으로서, (i) 루마 샘플 단위의 비디오 블록의 높이와 비디오 블록의 좌측 상단 루마 샘플의 수직 좌표의 합이 루마 샘플 단위의 비디오 블록을 포함하는 픽처의 높이 또는 서브픽처의 높이보다 크고 (ii) 루마 샘플 단위의 비디오 블록의 폭이 VSize보다 클 때 수평 BT 분할은 디스에이블되는, 방법.
A20. 해결책 A1의 방법으로서, 루마 샘플 단위의 비디오 블록의 높이와 비디오 블록의 좌측 상단 루마 샘플의 수직 좌표의 합이 루마 샘플 단위의 비디오 블록을 포함하는 픽처의 높이 또는 서브픽처의 높이보다 클 때 수직 BT 분할은 인에이블되는, 방법.
A21. 해결책 A1의 방법으로서, TT 분할 또는 BT 분할은 디스에이블되고 TT 분할 또는 BT 분할의 표시는 비트스트림 표현으로부터 제외되며, 이 표시는 TT 분할 또는 BT 분할이 디스에이블되어 있음을 나타내는 미리 결정된 값이도록 암시적으로 도출되는, 방법.
A22. 해결책 A21의 방법으로서, 미리 결정된 값은 0인, 방법.
A23. 해결책 A1의 방법으로서, TT 분할 또는 BT 분할은 인에이블되고 TT 분할 또는 BT 분할의 표시는 비트스트림 표현에서 시그널링되는, 방법.
A24. 해결책 A1의 방법으로서, TT 분할 또는 BT 분할은 디스에이블되고, TT 분할 또는 BT 분할의 표시는 비트스트림 표현에서 시그널링되며, 이 표시는 디코더에 의해 무시되는, 방법.
A25. 해결책 A1의 방법으로서, TT 분할 또는 BT 분할은 디스에이블되고, TT 분할 또는 BT 분할의 표시는 비트스트림 표현에서 시그널링되며, 이 표시는 TT 분할 또는 BT 분할이 디스에이블되는 것에 기초하여 0인, 방법.
A26. 비디오 프로세싱 방법으로서, 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해, 하나 이상의 비디오 블록 중 한 비디오 블록의 치수를 사용하여 비디오 블록의 삼진 트리(TT) 또는 이진 트리(BT) 분할이 인에이블되는지 여부의 결정을 수행하는 단계; 및 결정에 기초하여, 변환을 수행하는 단계를 포함하는, 방법.
A27. 해결책 A26의 방법으로서, TT 분할 또는 BT 분할의 결정은 루마 샘플 단위의 비디오 블록의 높이 또는 폭이 N보다 큰 것에 기초하고, N은 양의 정수인, 방법.
A28. 해결책 A27의 방법으로서, N = 64인, 방법.
A29. 해결책 A27 또는 해결책 A28의 방법으로서, 최대 변환 크기는 32x32이고, 비디오 블록의 크기가 128x128, 128x64 또는 64x128일 때 TT 분할은 디스에이블되는, 방법.
A30. 해결책 A27 또는 해결책 A28의 방법으로서, 최대 변환 크기는 32x32이고, 비디오 블록의 크기가 64x64일 때 TT 분할은 인에이블되는, 방법.
A31. 해결책 A26의 방법으로서, 수직 BT 분할의 결정은 루마 샘플 단위의 비디오 블록의 폭이 N보다 작거나 같고 루마 샘플 단위의 비디오 블록의 높이가 N보다 큰 것에 기초하고, N은 양의 정수인, 방법.
A32. 해결책 A31의 방법으로서, N = 64인, 방법.
A33. 해결책 A31 또는 해결책 A32의 방법으로서, 최대 변환 크기는 32x32이고, 비디오 블록의 크기가 64x128일 때 수직 BT 분할은 디스에이블되는, 방법.
A34. 해결책 A31 또는 해결책 A32의 방법으로서, 최대 변환 크기는 32x32이고, 비디오 블록의 크기가 32x64, 16x64 또는 8x64일 때 수직 BT 분할은 인에이블되는, 방법.
A35. 해결책 A26의 방법으로서, (i) 루마 샘플 단위의 비디오 블록의 폭과 비디오 블록의 좌측 상단 루마 샘플의 수평 좌표의 합이 루마 샘플 단위의 비디오 블록을 포함하는 픽처의 폭 또는 서브픽처의 폭보다 크고 (ii) 루마 샘플 단위의 비디오 블록의 높이가 64보다 클 때 수직 BT 분할은 디스에이블되는, 방법.
A36. 해결책 A26의 방법으로서, 루마 샘플 단위의 비디오 블록의 폭과 비디오 블록의 좌측 상단 루마 샘플의 수평 좌표의 합이 루마 샘플 단위의 비디오 블록을 포함하는 픽처의 폭 또는 서브픽처의 폭보다 클 때 수평 BT 분할은 인에이블되는, 방법.
A37. 해결책 A26의 방법으로서, 수평 BT 분할의 결정은 루마 샘플 단위의 비디오 블록의 폭이 N보다 크고 루마 샘플 단위의 비디오 블록의 높이가 N보다 작거나 같은 것에 기초하고, N은 정수인, 방법.
A38. 해결책 A37의 방법으로서, N = 64인, 방법.
A39. 해결책 A37 또는 해결책 A38의 방법으로서, 최대 변환 크기는 32x32이고, 비디오 블록의 크기가 128x64일 때 수평 BT 분할은 디스에이블되는, 방법.
A40. 해결책 A37 또는 해결책 A38의 방법으로서, 최대 변환 크기는 32x32이고, 비디오 블록의 크기가 64x8, 64x16 또는 64x32일 때 수평 BT 분할은 인에이블되는, 방법.
A41. 해결책 A26의 방법으로서, (i) 루마 샘플 단위의 비디오 블록의 높이와 비디오 블록의 루마 샘플의 수직 좌표의 합이 루마 샘플 단위의 비디오 블록을 포함하는 픽처의 높이 또는 서브픽처의 높이보다 크고 (ii) 루마 샘플 단위의 비디오 블록의 폭이 N보다 클 때 수평 BT 분할은 디스에이블되고, N은 양의 정수인, 방법.
A42. 해결책 A26의 방법으로서, 루마 샘플 단위의 비디오 블록의 높이와 비디오 블록의 좌측 상단 루마 샘플의 수직 좌표의 합이 루마 샘플 단위의 비디오 블록을 포함하는 픽처의 높이 또는 서브픽처의 높이보다 클 때 수직 BT 분할은 인에이블되는, 방법.
A43. 해결책 A1 내지 해결책 A42 중 어느 한 해결책의 방법으로서, 비디오 블록은 비디오를 비트스트림 표현으로 코딩하는 데 사용되는 논리적 분할을 나타내는 코딩 트리 유닛(CTU)에 대응하는, 방법.
A44. 해결책 A1 내지 해결책 A43 중 어느 한 해결책의 방법으로서, 변환을 수행하는 단계는 비디오 영역으로부터 비트스트림 표현을 생성하는 단계를 포함하는, 방법.
A45. 해결책 A1 내지 해결책 A43 중 어느 한 해결책의 방법으로서, 변환을 수행하는 단계는 비트스트림 표현으로부터 비디오 영역을 생성하는 단계를 포함하는, 방법.
A46. 비디오 시스템에서의 장치로서, 프로세서 및 명령어들을 갖는 비일시적 메모리를 포함하며, 명령어들은, 프로세서에 의한 실행 시에, 프로세서로 하여금 해결책 A1 내지 해결책 A45 중 어느 한 해결책에서의 방법을 구현하게 하는, 장치.
A47. 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램 제품으로서, 컴퓨터 프로그램 제품은 해결책 A1 내지 해결책 A45 중 어느 한 해결책에서의 방법을 수행하기 위한 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
일부 실시예들에서, 다음 기술적 해결책들이 구현될 수 있다:
B1. 비디오 프로세싱 방법으로서, 비디오 블록의 높이 또는 폭을 사용하여 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해 코딩 툴이 인에이블되는지 여부의 결정을 수행하는 단계; 및 결정에 기초하여, 변환을 수행하는 단계를 포함하며, 결정은 높이 또는 폭과 값 N 사이의 비교에 기초하고, N은 양의 정수인, 방법.
B2. 해결책 B1의 방법으로서, N = 64인, 방법.
B3. 해결책 B1의 방법으로서, N = 128인, 방법.
B4. 해결책 B1 내지 해결책 B3 중 어느 한 해결책의 방법으로서, 디스에이블되는 코딩 툴은 팔레트 코딩 모드, 인트라 블록 복사(IBC) 모드, 및/또는 인트라 인터 결합 예측(CIIP) 모드를 포함하는, 방법.
B5. 해결책 B1 내지 해결책 B4 중 어느 한 해결책의 방법으로서, 코딩 툴은 인트라 스킵 모드, 삼각형 예측 모드, 일반 병합 모드, 디코더 측 모션 도출 모드, 양방향 광학 흐름 모드, 예측 개선 기반 광학 흐름 모드, 아핀 예측 모드, 및/또는 서브블록 기반 시간 모션 벡터 예측(TMVP) 모드를 더 포함하는, 방법.
B6. 해결책 B1 내지 해결책 B3 중 어느 한 해결책의 방법으로서, 인에이블되는 코딩 툴은 팔레트 코딩 모드 및/또는 인트라 블록 복사(IBC) 모드를 포함하는, 방법.
B7. 해결책 B1 내지 해결책 B3 중 어느 한 해결책의 방법으로서, 비트스트림 표현은 코딩 툴을 디스에이블시키기 위한 명시적 신택스 제약을 포함하는, 방법.
B8. 해결책 B7의 방법으로서, 명시적 신택스 제약은 팔레트 코딩 모드 플래그 및/또는 인트라 블록 복사(IBC) 모드 플래그를 포함하는, 방법.
B9. 해결책 B1 내지 해결책 B8 중 어느 한 해결책의 방법으로서, 비디오 블록은 코딩 유닛(CU) 또는 예측 유닛(PU)을 포함하는, 방법.
B10. 비디오 프로세싱 방법으로서, 비디오 블록의 높이 또는 폭과 변환 블록의 크기 사이의 비교를 사용하여 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해 코딩 툴이 인에이블되는지 여부의 결정을 수행하는 단계; 및 결정에 기초하여, 변환을 수행하는 단계를 포함하는, 방법.
B11. 해결책 B10의 방법으로서, 코딩 툴은 인트라 서브파티션 예측(ISP), 행렬 기반 인트라 예측(MIP), 서브블록 변환(SBT), 또는 비디오 영역과 연관된 하나의 코딩 유닛(CU)을 다수의 변환 유닛들(TU들)로 또는 비디오 영역과 연관된 하나의 코딩 블록을 다수의 변환 블록들(TB들)로 분할하는 코딩 툴을 포함하는, 방법.
B12. 해결책 B10의 방법으로서, 코딩 툴은 변환 스킵 모드, 블록 기반 델타 펄스 코드 변조(BDPCM), DPCM 또는 PCM을 포함하는, 방법.
B13. 해결책 B10의 방법으로서, 코딩 툴은 인트라 블록 복사(IBC) 모드 또는 팔레트 모드(PLT)를 포함하는, 방법.
B14. 해결책 B10의 방법으로서, 코딩 툴은 인트라 인터 결합 예측(CIIP) 모드를 포함하는, 방법.
B15. 비디오 프로세싱 방법으로서, 비디오 블록의 높이 또는 폭을 사용하여 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해 코딩 툴이 인에이블되는지 여부의 결정을 수행하는 단계; 및 결정에 기초하여, 변환을 수행하는 단계를 포함하는, 방법.
B16. 해결책 B15의 방법으로서, 코딩 툴은 인트라 서브파티션 예측(ISP), 서브블록 변환(SBT), 인트라 블록 복사(IBC), 또는 팔레트 모드를 포함하는, 방법.
B17. 해결책 B15의 방법으로서, 코딩 툴은 루마 샘플 단위의 비디오 블록의 높이 또는 폭이 N보다 작거나 같을 때 인에이블되는 인트라 서브파티션 예측(ISP)을 포함하고, N은 양의 정수인, 방법.
B18. 해결책 B15의 방법으로서, 코딩 툴은 루마 샘플 단위의 비디오 블록의 높이 또는 폭이 N보다 클 때 디스에이블되는 인트라 서브파티션 예측(ISP)을 포함하고, N은 양의 정수인, 방법.
B19. 해결책 B17 또는 해결책 B18의 방법으로서, N = 64인, 방법.
B20. 해결책 B15의 방법으로서, 결정은 비디오 블록의 높이 또는 폭과 가상 파이프라인 데이터 유닛(VPDU)의 크기 사이의 비교에 기초하는, 방법.
B21. 해결책 B20의 방법으로서, 루마 샘플 단위의 비디오 블록의 높이 또는 폭이 VPDU의 크기보다 작거나 같을 때 코딩 툴이 인에이블되는, 방법.
B22. 해결책 B20의 방법으로서, 루마 샘플 단위의 비디오 블록의 높이 또는 폭이 VPDU의 크기보다 클 때 코딩 툴이 디스에이블되는, 방법.
B23. 해결책 B21 또는 해결책 B22의 방법으로서, VPDU의 크기는 32 또는 64인, 방법.
B24. 비디오 프로세싱 방법으로서, 비디오 블록의 서브파티션의 치수와 최대 변환 크기 사이의 비교를 사용하여 (a) 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오 사이의 변환을 위해 인트라 서브파티션 예측(ISP) 모드가 인에이블되는지 여부의 결정, 및 (b) 변환에 대한 하나 이상의 허용 가능한 분할 유형의 선택을 수행하는 단계; 및 결정 및 선택에 기초하여, 변환을 수행하는 단계를 포함하며, ISP 모드에서, 하나 이상의 비디오 블록 중 한 비디오 블록은 인트라 예측 및 변환의 적용 이전에 다수의 서브파티션들로 분할되는, 방법.
B25. 해결책 B24의 방법으로서, 비디오 블록의 높이 또는 폭이 하나 이상의 허용 가능한 분할 유형 중 적어도 하나에 대한 최대 변환 크기보다 작거나 같을 때 ISP 모드는 인에이블되는, 방법.
B26. 해결책 B24의 방법으로서, 비디오 블록의 높이 또는 폭이 하나 이상의 허용 가능한 분할 유형 중 적어도 하나에 대한 최대 변환 크기보다 클 때 ISP 모드는 디스에이블되는, 방법.
B27. 해결책 B24의 방법으로서, 비디오 블록의 높이 또는 폭이 하나 이상의 허용 가능한 분할 유형 각각에 대한 최대 변환 크기보다 작거나 같을 때 ISP 모드는 인에이블되는, 방법.
B28. 해결책 B24의 방법으로서, 비디오 블록의 높이 또는 폭이 하나 이상의 허용 가능한 분할 유형 각각에 대한 최대 변환 크기보다 클 때 ISP 모드는 디스에이블되는, 방법.
B29. 해결책 B24의 방법으로서, 비트스트림 표현에서 하나 이상의 허용 가능한 분할 유형을 시그널링하는 것은 대응하는 서브파티션의 높이 또는 폭과 최대 변환 크기 간의 관계에 기초하는, 방법.
B30. 해결책 B24의 방법으로서, 비트스트림 표현에서 하나 이상의 허용 가능한 분할 유형을 시그널링하는 것은 비디오 블록의 높이 또는 폭과 최대 변환 크기 간의 관계에 기초하는, 방법.
B31. 해결책 B24의 방법으로서, 비디오 블록에 대한 코딩 툴의 적용을 인에이블 또는 디스에이블시키는 것은 비디오 블록의 크기와 최대 변환 크기 간의 관계에 기초하는, 방법.
B32. 해결책 B31의 방법으로서, 최대 변환 크기는 32 또는 64인, 방법.
B33. 해결책 B31 또는 해결책 B32의 방법으로서, 비디오 블록의 높이 또는 폭이 최대 변환 크기보다 작거나 같을 때 코딩 툴이 인에이블되는, 방법.
B34. 해결책 B31 내지 해결책 B33 중 어느 한 해결책의 방법으로서, 코딩 툴은 인트라 블록 복사(IBC) 모드 또는 팔레트 모드를 포함하는, 방법.
B35. 비디오 프로세싱 방법으로서, 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하며, 변환은 디스에이블된 코딩 툴을 포함하고, 코딩 툴에 관련된 신택스 요소들은 비트스트림 표현으로부터 제외되고 코딩 툴이 디스에이블된다는 것을 지정하는 미리 결정된 값인 것으로 추론되는, 방법.
B36. 비디오 프로세싱 방법으로서, 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하며, 변환은 디스에이블된 코딩 툴을 포함하고, 비트스트림 표현은 코딩 툴이 디스에이블되는 것에 기초하여 미리 결정된 값인 것으로 추론되는 코딩 툴에 관련된 신택스 요소들을 포함하는, 방법.
B37. 해결책 B35 또는 해결책 B36의 방법으로서, 미리 결정된 값은 0인, 방법.
B38. 해결책 B35 또는 해결책 B36의 방법으로서, 코딩 툴은 인트라 서브파티션 예측(ISP)을 포함하고, 신택스 요소들은 하나 이상의 비디오 블록 중 한 비디오 블록이 다수의 서브파티션들로 나누어지는지 여부(intra_subpartitions_mode_flag로 표시됨) 및/또는 비디오 블록을 다수의 서브파티션들로 어떻게 분할하는지(intra_subpartitions_split_flag로 표시됨)를 나타내는, 방법.
B39. 해결책 B35 또는 해결책 B36의 방법으로서, 코딩 툴은 행렬 기반 인트라 예측(MIP)을 포함하고, 신택스 요소들은 하나 이상의 비디오 블록 중 한 비디오 블록이 MIP를 사용하는지 여부(intra_mip_flag로 표시됨) 및/또는 MIP 모드 인덱스의 표시(intra_mip_mode로 표시됨)를 나타내는, 방법.
B40. 해결책 B35 또는 해결책 B36의 방법으로서, 코딩 툴은 인트라 블록 복사(IBC) 모드를 포함하고, 신택스 요소들은 하나 이상의 비디오 블록 중 한 비디오 블록이 IBC 모드를 사용하는지 여부(pred_mode_ibc_flag로 표시됨)를 나타내는, 방법.
B41. 해결책 B35 또는 해결책 B36의 방법으로서, 코딩 툴은 팔레트 모드를 포함하고, 신택스 요소들은 하나 이상의 비디오 블록 중 한 비디오 블록이 팔레트 모드를 사용하는지 여부(pred_mode_plt_flag로 표시됨)를 나타내는, 방법.
B42. 비디오 프로세싱 방법으로서, 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해 사용되는 가상 파이프라인 데이터 유닛(VPDU)의 치수 및/또는 최대 변환 크기를 사용하여 하나 이상의 비디오 블록 중 한 비디오 블록의 암시적인(QT) 분할이 인에이블되는지 여부의 결정을 수행하는 단계; 및 결정에 기초하여, 변환을 수행하는 단계를 포함하는, 방법.
B43. 해결책 B42의 방법으로서, 암시적 QT 분할의 각각의 서브파티션은 서브파티션의 크기가 VPDU의 크기와 동일할 때까지 재귀적으로 분할되는, 방법.
B44. 해결책 B42의 방법으로서, 암시적 QT 분할의 각각의 서브파티션은 서브파티션의 크기가 최대 변환 크기와 동일할 때까지 재귀적으로 분할되는, 방법.
B45. 비디오 프로세싱 방법으로서, 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하며, 변환은 서브블록 변환(SBT)을 포함하고, SBT의 최대 높이 또는 최대 폭은 최대 변환 크기에 기초하며, SBT는 하나 이상의 비디오 블록 중 한 비디오 블록의 하나 이상의 분할에 개별적으로 적용되는 하나 이상의 변환을 포함하는, 방법.
B46. 해결책 B45의 방법으로서, SBT의 최대 높이 또는 최대 폭 중 적어도 하나는 최대 변환 크기와 동일하게 설정되는, 방법.
B47. 해결책 B45의 방법으로서, 비트스트림 표현은 SBT의 최대 높이 또는 최대 폭에 관련된 신택스 요소를 제외하는, 방법.
B48. 해결책 B47의 방법으로서, 신택스 요소는 sps_sbt_max_size_64_flag이고 최대 변환 크기가 64보다 작다는 것을 나타내는 미리 결정된 값인 것으로 추론되는, 방법.
B49. 해결책 B48의 방법으로서, 미리 결정된 값은 0인, 방법.
B50. 해결책 B47의 방법으로서, 비트스트림 표현에서 SBT에 관련된 신택스 요소를 시그널링하는 것은 최대 변환 크기에 기초하는, 방법.
B51. 비디오 프로세싱 방법으로서, 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하며, 변환은 변환 스킵 모드 및/또는 인트라 블록 기반 차분 펄스 코드 변조(BDPCM) 모드를 포함하고, 변환 스킵 모드에 사용되는 최대 블록 크기는 최대 변환 크기에 기초하며, 변환 스킵 모드는 대응하는 코딩 툴에 대한 변환 및 역변환 프로세스들을 스킵하는 것을 포함하고, BDPCM 모드에서, 현재 비디오 블록의 인트라 예측의 잔차는 차분 펄스 코딩 변조 연산을 사용하여 예측 코딩되는, 방법.
B52. 해결책 B51의 방법으로서, 변환 스킵 모드에 대한 최대 블록 크기는 최대 변환 크기와 동일하게 설정되는, 방법.
B53. 해결책 B51의 방법으로서, 비트스트림 표현은 변환 스킵 모드에 대한 최대 블록 크기에 관련된 신택스 요소를 제외하는, 방법.
B54. 해결책 B51의 방법으로서, 인트라 BDPCM 모드에 사용되는 최대 블록 크기는 비트스트림 표현에서 독립적으로 시그널링되는, 방법.
B55. 해결책 B54의 방법으로서, 인트라 BDPCM 모드에 사용되는 최대 블록 크기는 변환 스킵 모드에 대한 최대 블록 크기에 기초하지 않는, 방법.
B56. 해결책 B51의 방법으로서, 인트라 BDPCM 모드에 사용되는 최대 블록 크기는 비트스트림 표현 내의 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 슬라이스 헤더, 가상 파이프라인 데이터 유닛(VPDU), 코딩 트리 유닛(CTU) 또는 코딩 유닛(CU)에서 시그널링되는, 방법.
B57. 비디오 프로세싱 방법으로서, 비디오 블록의 높이 또는 폭과 최대 변환 크기 사이의 비교를 사용하여 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해 인터 인트라 결합 예측(CIIP) 모드가 인에이블되는지 여부의 결정을 수행하는 단계; 및 결정에 기초하여, 변환을 수행하는 단계를 포함하며, CIIP 모드에서, 비디오 블록의 최종 예측은 비디오 블록의 인터 예측과 비디오 블록의 인트라 예측의 가중 합에 기초하는, 방법.
B58. 해결책 B57의 방법으로서, 비디오 블록의 높이 및/또는 폭이 최대 변환 크기보다 클 때 CIIP 모드가 디스에이블되는, 방법.
B59. 비디오 프로세싱 방법으로서, 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 위해, 인터 인트라 결합 예측(CIIP)으로 코딩된 하나 이상의 비디오 블록 중 한 비디오 블록을 분할하는 것에 관한 결정을 내리는 단계; 및 결정에 기초하여, 변환을 수행하는 단계를 포함하며, CIIP 모드에서, 비디오 블록의 최종 예측은 비디오 블록의 인터 예측과 비디오 블록의 인트라 예측의 가중 합에 기초하는, 방법.
B60. 해결책 B59의 방법으로서, 코딩 유닛의 높이 및 폭이 128보다 작을 때 비디오 블록은 분할되지 않는, 방법.
B61. 해결책 B59의 방법으로서, 코딩 유닛의 높이 및 폭이 64보다 작거나 같을 때 비디오 블록은 분할되지 않는, 방법.
B62. 해결책 B59의 방법으로서, 비디오 블록은 다수의 서브파티션들로 분할되고, 다수의 서브파티션들 중 제1 서브파티션에 대한 인트라 예측은 다수의 서브파티션들 중 제2 서브파티션의 재구성에 기초하며, 제2 서브파티션의 인트라 예측은 제1 서브파티션의 인트라 예측 이전에 수행되는, 방법.
B63. 해결책 B59 내지 해결책 B62 중 어느 한 해결책의 방법으로서, 비디오 블록은 코딩 유닛(CU)인, 방법.
B64. 비디오 프로세싱 방법으로서, 규칙에 따라 다수의 비디오 블록들을 포함하는 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하며, 규칙은 변환 코딩을 사용하여 비트스트림 표현에 코딩되는 비디오 영역 내의 다수의 비디오 블록들의 최대 블록 크기가 변환 코딩을 사용하지 않고 비트스트림 표현에 코딩되는 비디오 영역 내의 다수의 비디오 블록들의 최대 블록 크기를 결정한다고 지정하는, 방법.
B65. 해결책 B64의 방법으로서, 변환 스킵 모드에 대한 최대 크기는 MaxTbSizeY와 동일한, 방법.
B66. 해결책 B64의 방법으로서, 비트스트림 표현은 변환 스킵 모드에 대한 최대 크기의 표시를 제외하는, 방법.
B67. 비디오 프로세싱 방법으로서, 규칙에 따라 다수의 비디오 블록들을 포함하는 비디오 영역을 포함하는 비디오와 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하며, 규칙은 무손실 코딩이 비디오 영역에 대해 인에이블될 때 LMCS(luma mapping with chroma scaling) 프로세스가 비디오 영역에 대해 디스에이블된다는 것을 지정하고, 비디오 영역은 시퀀스, 픽처, 서브픽처, 슬라이스, 타일 그룹, 타일, 브릭, 코딩 트리 유닛(CTU) 행, CTU, 코딩 유닛(CU), 예측 유닛(PU), 변환 유닛(TU), 또는 서브블록이며, LMCS 프로세스는 비디오 영역의 루마 샘플들이 제1 도메인과 제2 도메인 사이에서 리셰이핑되는 것 및 크로마 잔차가 루마 종속적 방식으로 스케일링되는 것을 포함하는, 방법.
B68. 해결책 B67의 방법으로서, LMCS 프로세스에 관련된 표시를 시그널링하는 것은 비디오 영역에 대한 변환 양자화 바이패스 플래그에 기초하는, 방법.
B69. 해결책 B68의 방법으로서, LMCS 프로세스에 관련된 표시는 비트스트림 표현으로부터 제외되고 변환 양자화 바이패스 플래그가 1과 동일할 때 0인 것으로 추론되는, 방법.
B70. 해결책 B1 내지 해결책 B69 중 어느 한 해결책의 방법으로서, 변환을 수행하는 단계는 비디오 영역으로부터 비트스트림 표현을 생성하는 단계를 포함하는, 방법.
B71. 해결책 B1 내지 해결책 B69 중 어느 한 해결책의 방법으로서, 변환을 수행하는 단계는 비트스트림 표현으로부터 비디오 영역을 생성하는 단계를 포함하는, 방법.
B72. 비디오 시스템에서의 장치로서, 프로세서 및 명령어들을 갖는 비일시적 메모리를 포함하며, 명령어들은, 프로세서에 의한 실행 시에, 프로세서로 하여금 해결책 B1 내지 해결책 B71 중 어느 한 해결책에서의 방법을 구현하게 하는, 장치.
B73. 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램 제품으로서, 컴퓨터 프로그램 제품은 해결책 B1 내지 해결책 B71 중 어느 한 해결책에서의 방법을 수행하기 위한 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
본 문서에 설명된 개시된 및 다른 해결책들, 예들, 실시예들, 모듈들 및 기능 동작들은 디지털 전자 회로로, 또는 본 문서에 개시된 구조 및 그의 구조적 등가물을 포함한, 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 개시된 및 다른 실시예들은 하나 이상의 컴퓨터 프로그램 제품으로서, 즉 데이터 프로세싱 장치에 의해 실행하기 위해 또는 데이터 프로세싱 장치의 동작을 제어하기 위해 컴퓨터 판독 가능 매체에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 판독 가능 매체는 머신 판독 가능 저장 디바이스, 머신 판독 가능 저장 기판, 메모리 디바이스, 머신 판독 가능 전파 신호를 실현하는 조성물(composition of matter), 또는 이들 중 하나 이상의 조합일 수 있다. “데이터 프로세싱 장치"라는 용어는, 예로서, 프로그래밍 가능 프로세서, 컴퓨터, 또는 다수의 프로세서들 또는 컴퓨터들을 포함한, 데이터를 프로세싱하기 위한 모든 장치들, 디바이스들, 및 머신들을 포괄한다. 장치들은, 하드웨어 외에도, 문제의 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들면, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 전파 신호는 인공적으로 생성된 신호, 예를 들면, 적합한 수신기 장치로 전송하기 위한 정보를 인코딩하기 위해 생성되는 머신 생성(machine-generated) 전기, 광학, 또는 전자기 신호이다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은, 컴파일되는(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, 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들면, 내장형 하드 디스크들 또는 이동식 디스크들; 자기 광학 디스크들; 및 CD ROM과 DVD-ROM 디스크들을 포함한, 모든 형태들의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로에 의해 보완되거나 그에 통합될 수 있다.
본 특허 문서가 많은 구체적 사항들을 포함하지만, 이들은 임의의 주제의 범위 또는 청구될 수 있는 것의 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정 기술들의 특정의 실시예들에 특정적일 수 있는 특징들에 대한 설명으로서 해석되어야 한다. 개별적인 실시예들의 맥락에서 본 특허 문서에 설명되는 특정한 특징들이 또한 단일 실시예에서 조합하여 구현될 수 있다. 이와 달리, 단일 실시예의 맥락에서 설명되는 다양한 특징들이 또한 다수의 실시예들에서 개별적으로 또는 임의의 적합한 하위 조합으로 구현될 수 있다. 더욱이, 특징들이 특정 조합들로 기능하는 것으로 위에서 설명되고 심지어 처음에 그 자체로서 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징이 일부 경우에 그 조합으로부터 제거될 수 있고, 청구된 조합은 하위 조합 또는 하위 조합의 변형에 관한 것일 수 있다.
유사하게, 동작들이 도면에서 특정의 순서로 묘사되지만, 이것은, 바람직한 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정의 순서로 또는 순차적 순서로 수행되어야 하거나, 모든 예시된 동작들이 수행되어야 하는 것을 요구하는 것으로 이해되어서는 안 된다. 더욱이, 본 특허 문서에 설명된 실시예들에서 다양한 시스템 컴포넌트들의 분리가 모든 실시예들에서 그러한 분리를 요구하는 것으로서 이해되어서는 안 된다.
단지 몇 가지 구현들 및 예들이 설명되고 다른 구현들, 향상들 및 변형들이 이 특허 문서에 설명되고 예시된 것에 기초하여 이루어질 수 있다.

Claims (73)

  1. 비디오 프로세싱 방법으로서,
    비디오 블록의 높이 또는 폭을 사용하여 상기 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 상기 비디오의 비트스트림 표현 사이의 변환을 위해 코딩 툴이 인에이블되는지 여부의 결정을 수행하는 단계; 및
    상기 결정에 기초하여, 상기 변환을 수행하는 단계
    를 포함하며,
    상기 결정은 상기 높이 또는 상기 폭과 값 N 사이의 비교에 기초하고, N은 양의 정수인, 방법.
  2. 제1항에 있어서, N = 64인, 방법.
  3. 제1항에 있어서, N = 128인, 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 디스에이블되는 상기 코딩 툴은 팔레트 코딩 모드, 인트라 블록 복사(IBC) 모드, 및/또는 인트라 인터 결합 예측(CIIP) 모드를 포함하는, 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 코딩 툴은 인트라 스킵 모드, 삼각형 예측 모드, 일반 병합 모드, 디코더 측 모션 도출 모드, 양방향 광학 흐름 모드, 예측 개선 기반 광학 흐름 모드, 아핀 예측 모드, 및/또는 서브블록 기반 시간 모션 벡터 예측(TMVP) 모드를 더 포함하는, 방법.
  6. 제1항 내지 제3항 중 어느 한 항에 있어서, 인에이블되는 상기 코딩 툴은 팔레트 코딩 모드 및/또는 인트라 블록 복사(IBC) 모드를 포함하는, 방법.
  7. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 비트스트림 표현은 상기 코딩 툴을 디스에이블시키기 위한 명시적 신택스 제약을 포함하는, 방법.
  8. 제7항에 있어서, 상기 명시적 신택스 제약은 팔레트 코딩 모드 플래그 및/또는 인트라 블록 복사(IBC) 모드 플래그를 포함하는, 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 비디오 블록은 코딩 유닛(CU) 또는 예측 유닛(PU)을 포함하는, 방법.
  10. 비디오 프로세싱 방법으로서,
    비디오 블록의 높이 또는 폭과 변환 블록의 크기 사이의 비교를 사용하여 상기 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 상기 비디오의 비트스트림 표현 사이의 변환을 위해 코딩 툴이 인에이블되는지 여부의 결정을 수행하는 단계; 및
    상기 결정에 기초하여, 상기 변환을 수행하는 단계
    를 포함하는, 방법.
  11. 제10항에 있어서, 상기 코딩 툴은 인트라 서브파티션 예측(ISP), 행렬 기반 인트라 예측(MIP), 서브블록 변환(SBT), 또는 상기 비디오 영역과 연관된 하나의 코딩 유닛(CU)을 다수의 변환 유닛들(TU들)로 또는 상기 비디오 영역과 연관된 하나의 코딩 블록을 다수의 변환 블록들(TB들)로 분할하는 코딩 툴을 포함하는, 방법.
  12. 제10항에 있어서, 상기 코딩 툴은 변환 스킵 모드, 블록 기반 델타 펄스 코드 변조(BDPCM), DPCM 또는 PCM을 포함하는, 방법.
  13. 제10항에 있어서, 상기 코딩 툴은 인트라 블록 복사(IBC) 모드 또는 팔레트 모드(PLT)를 포함하는, 방법.
  14. 제10항에 있어서, 상기 코딩 툴은 인트라 인터 결합 예측(CIIP) 모드를 포함하는, 방법.
  15. 비디오 프로세싱 방법으로서,
    비디오 블록의 높이 또는 폭을 사용하여 상기 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 상기 비디오의 비트스트림 표현 사이의 변환을 위해 코딩 툴이 인에이블되는지 여부의 결정을 수행하는 단계; 및
    상기 결정에 기초하여, 상기 변환을 수행하는 단계
    를 포함하는, 방법.
  16. 제15항에 있어서, 상기 코딩 툴은 인트라 서브파티션 예측(ISP), 서브블록 변환(SBT), 인트라 블록 복사(IBC), 또는 팔레트 모드를 포함하는, 방법.
  17. 제15항에 있어서, 상기 코딩 툴은 루마 샘플 단위의 상기 비디오 블록의 상기 높이 또는 상기 폭이 N보다 작거나 같을 때 인에이블되는 인트라 서브파티션 예측(ISP)을 포함하고, N은 양의 정수인, 방법.
  18. 제15항에 있어서, 상기 코딩 툴은 루마 샘플 단위의 상기 비디오 블록의 상기 높이 또는 상기 폭이 N보다 클 때 디스에이블되는 인트라 서브파티션 예측(ISP)을 포함하고, N은 양의 정수인, 방법.
  19. 제17항 또는 제18항에 있어서, N = 64인, 방법.
  20. 제15항에 있어서, 상기 결정은 상기 비디오 블록의 상기 높이 또는 상기 폭과 가상 파이프라인 데이터 유닛(VPDU)의 크기 사이의 비교에 기초하는, 방법.
  21. 제20항에 있어서, 루마 샘플 단위의 상기 비디오 블록의 상기 높이 또는 상기 폭이 상기 VPDU의 상기 크기보다 작거나 같을 때 상기 코딩 툴이 인에이블되는, 방법.
  22. 제20항에 있어서, 루마 샘플 단위의 상기 비디오 블록의 상기 높이 또는 상기 폭이 상기 VPDU의 상기 크기보다 클 때 상기 코딩 툴이 디스에이블되는, 방법.
  23. 제21항 또는 제22항에 있어서, 상기 VPDU의 상기 크기는 32 또는 64인, 방법.
  24. 비디오 프로세싱 방법으로서,
    비디오 블록의 서브파티션의 치수와 최대 변환 크기 사이의 비교를 사용하여 (a) 상기 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오 사이의 변환을 위해 인트라 서브파티션 예측(ISP) 모드가 인에이블되는지 여부의 결정, 및 (b) 상기 변환에 대한 하나 이상의 허용 가능한 분할 유형의 선택을 수행하는 단계; 및
    상기 결정 및 상기 선택에 기초하여, 상기 변환을 수행하는 단계
    를 포함하며,
    상기 ISP 모드에서, 상기 하나 이상의 비디오 블록 중 한 비디오 블록은 인트라 예측 및 변환의 적용 이전에 다수의 서브파티션들로 분할되는, 방법.
  25. 제24항에 있어서, 상기 비디오 블록의 높이 또는 폭이 상기 하나 이상의 허용 가능한 분할 유형 중 적어도 하나에 대한 상기 최대 변환 크기보다 작거나 같을 때 상기 ISP 모드는 인에이블되는, 방법.
  26. 제24항에 있어서, 상기 비디오 블록의 높이 또는 폭이 상기 하나 이상의 허용 가능한 분할 유형 중 적어도 하나에 대한 상기 최대 변환 크기보다 클 때 상기 ISP 모드는 디스에이블되는, 방법.
  27. 제24항에 있어서, 상기 비디오 블록의 높이 또는 폭이 상기 하나 이상의 허용 가능한 분할 유형 각각에 대한 상기 최대 변환 크기보다 작거나 같을 때 상기 ISP 모드는 인에이블되는, 방법.
  28. 제24항에 있어서, 상기 비디오 블록의 높이 또는 폭이 상기 하나 이상의 허용 가능한 분할 유형 각각에 대한 상기 최대 변환 크기보다 클 때 상기 ISP 모드는 디스에이블되는, 방법.
  29. 제24항에 있어서, 상기 비트스트림 표현에서 상기 하나 이상의 허용 가능한 분할 유형을 시그널링하는 것은 대응하는 서브파티션의 높이 또는 폭과 상기 최대 변환 크기 간의 관계에 기초하는, 방법.
  30. 제24항에 있어서, 상기 비트스트림 표현에서 상기 하나 이상의 허용 가능한 분할 유형을 시그널링하는 것은 상기 비디오 블록의 높이 또는 폭과 상기 최대 변환 크기 간의 관계에 기초하는, 방법.
  31. 제24항에 있어서, 상기 비디오 블록에 대한 코딩 툴의 적용을 인에이블 또는 디스에이블시키는 것은 상기 비디오 블록의 크기와 상기 최대 변환 크기 간의 관계에 기초하는, 방법.
  32. 제31항에 있어서, 상기 최대 변환 크기는 32 또는 64인, 방법.
  33. 제31항 또는 제32항에 있어서, 상기 비디오 블록의 높이 또는 폭이 상기 최대 변환 크기보다 작거나 같을 때 상기 코딩 툴이 인에이블되는, 방법.
  34. 제31항 내지 제33항 중 어느 한 항에 있어서, 상기 코딩 툴은 인트라 블록 복사(IBC) 모드 또는 팔레트 모드를 포함하는, 방법.
  35. 비디오 프로세싱 방법으로서,
    하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 상기 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계
    를 포함하며, 상기 변환은 디스에이블된 코딩 툴을 포함하고, 상기 코딩 툴에 관련된 신택스 요소들은 상기 비트스트림 표현으로부터 제외되고 상기 코딩 툴이 디스에이블된다는 것을 지정하는 미리 결정된 값인 것으로 추론되는, 방법.
  36. 비디오 프로세싱 방법으로서,
    하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 상기 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계
    를 포함하며, 상기 변환은 디스에이블된 코딩 툴을 포함하고, 상기 비트스트림 표현은 상기 코딩 툴이 디스에이블되는 것에 기초하여 미리 결정된 값인 것으로 추론되는 상기 코딩 툴에 관련된 신택스 요소들을 포함하는, 방법.
  37. 제35항 또는 제36항에 있어서, 상기 미리 결정된 값은 0인, 방법.
  38. 제35항 또는 제36항에 있어서, 상기 코딩 툴은 인트라 서브파티션 예측(ISP)을 포함하고, 상기 신택스 요소들은 상기 하나 이상의 비디오 블록 중 한 비디오 블록이 다수의 서브파티션들로 나누어지는지 여부(intra_subpartitions_mode_flag로 표시됨) 및/또는 상기 비디오 블록을 다수의 서브파티션들로 어떻게 분할하는지(intra_subpartitions_split_flag로 표시됨)를 나타내는, 방법.
  39. 제35항 또는 제36항에 있어서, 상기 코딩 툴은 행렬 기반 인트라 예측(MIP)을 포함하고, 상기 신택스 요소들은 상기 하나 이상의 비디오 블록 중 한 비디오 블록이 MIP를 사용하는지 여부(intra_mip_flag로 표시됨) 및/또는 MIP 모드 인덱스의 표시(intra_mip_mode로 표시됨)를 나타내는, 방법.
  40. 제35항 또는 제36항에 있어서, 상기 코딩 툴은 인트라 블록 복사(IBC) 모드를 포함하고, 상기 신택스 요소들은 상기 하나 이상의 비디오 블록 중 한 비디오 블록이 상기 IBC 모드를 사용하는지 여부(pred_mode_ibc_flag로 표시됨)를 나타내는, 방법.
  41. 제35항 또는 제36항에 있어서, 상기 코딩 툴은 팔레트 모드를 포함하고, 상기 신택스 요소들은 상기 하나 이상의 비디오 블록 중 한 비디오 블록이 팔레트 모드를 사용하는지 여부(pred_mode_plt_flag로 표시됨)를 나타내는, 방법.
  42. 비디오 프로세싱 방법으로서,
    하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 상기 비디오의 비트스트림 표현 사이의 변환을 위해 사용되는 가상 파이프라인 데이터 유닛(VPDU)의 치수 및/또는 최대 변환 크기를 사용하여 상기 하나 이상의 비디오 블록 중 한 비디오 블록의 암시적인(QT) 분할이 인에이블되는지 여부의 결정을 수행하는 단계; 및
    상기 결정에 기초하여, 상기 변환을 수행하는 단계
    를 포함하는, 방법.
  43. 제42항에 있어서, 상기 암시적 QT 분할의 각각의 서브파티션은 상기 서브파티션의 크기가 상기 VPDU의 크기와 동일할 때까지 재귀적으로 분할되는, 방법.
  44. 제42항에 있어서, 상기 암시적 QT 분할의 각각의 서브파티션은 상기 서브파티션의 크기가 상기 최대 변환 크기와 동일할 때까지 재귀적으로 분할되는, 방법.
  45. 비디오 프로세싱 방법으로서,
    하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 상기 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계
    를 포함하며, 상기 변환은 서브블록 변환(SBT)을 포함하고, 상기 SBT의 최대 높이 또는 최대 폭은 최대 변환 크기에 기초하며, 상기 SBT는 상기 하나 이상의 비디오 블록 중 한 비디오 블록의 하나 이상의 분할에 개별적으로 적용되는 하나 이상의 변환을 포함하는, 방법.
  46. 제45항에 있어서, 상기 SBT의 상기 최대 높이 또는 상기 최대 폭 중 적어도 하나는 상기 최대 변환 크기와 동일하게 설정되는, 방법.
  47. 제45항에 있어서, 상기 비트스트림 표현은 상기 SBT의 상기 최대 높이 또는 상기 최대 폭에 관련된 신택스 요소를 제외하는, 방법.
  48. 제47항에 있어서, 상기 신택스 요소는 sps_sbt_max_size_64_flag이고 상기 최대 변환 크기가 64보다 작다는 것을 나타내는 미리 결정된 값인 것으로 추론되는, 방법.
  49. 제48항에 있어서, 상기 미리 결정된 값은 0인, 방법.
  50. 제47항에 있어서, 상기 비트스트림 표현에서 상기 SBT에 관련된 신택스 요소를 시그널링하는 것은 상기 최대 변환 크기에 기초하는, 방법.
  51. 비디오 프로세싱 방법으로서,
    하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 상기 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계
    를 포함하며, 상기 변환은 변환 스킵 모드 및/또는 인트라 블록 기반 차분 펄스 코드 변조(BDPCM) 모드를 포함하고, 상기 변환 스킵 모드에 사용되는 최대 블록 크기는 최대 변환 크기에 기초하며, 상기 변환 스킵 모드는 대응하는 코딩 툴에 대한 변환 및 역변환 프로세스들을 스킵하는 것을 포함하고, 상기 BDPCM 모드에서, 현재 비디오 블록의 인트라 예측의 잔차는 차분 펄스 코딩 변조 연산을 사용하여 예측 코딩되는, 방법.
  52. 제51항에 있어서, 상기 변환 스킵 모드에 대한 상기 최대 블록 크기는 상기 최대 변환 크기와 동일하게 설정되는, 방법.
  53. 제51항에 있어서, 상기 비트스트림 표현은 상기 변환 스킵 모드에 대한 상기 최대 블록 크기에 관련된 신택스 요소를 제외하는, 방법.
  54. 제51항에 있어서, 상기 인트라 BDPCM 모드에 사용되는 최대 블록 크기는 상기 비트스트림 표현에서 독립적으로 시그널링되는, 방법.
  55. 제54항에 있어서, 상기 인트라 BDPCM 모드에 사용되는 최대 블록 크기는 상기 변환 스킵 모드에 대한 상기 최대 블록 크기에 기초하지 않는, 방법.
  56. 제51항에 있어서, 상기 인트라 BDPCM 모드에 사용되는 최대 블록 크기는 상기 비트스트림 표현 내의 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 슬라이스 헤더, 가상 파이프라인 데이터 유닛(VPDU), 코딩 트리 유닛(CTU) 또는 코딩 유닛(CU)에서 시그널링되는, 방법.
  57. 비디오 프로세싱 방법으로서,
    비디오 블록의 높이 또는 폭과 최대 변환 크기 사이의 비교를 사용하여 상기 비디오 블록을 포함하는 하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 상기 비디오의 비트스트림 표현 사이의 변환을 위해 인터 인트라 결합 예측(CIIP) 모드가 인에이블되는지 여부의 결정을 수행하는 단계; 및
    상기 결정에 기초하여, 상기 변환을 수행하는 단계
    를 포함하며,
    상기 CIIP 모드에서, 상기 비디오 블록의 최종 예측은 상기 비디오 블록의 인터 예측과 상기 비디오 블록의 인트라 예측의 가중 합에 기초하는, 방법.
  58. 제57항에 있어서, 상기 비디오 블록의 상기 높이 및/또는 상기 폭이 상기 최대 변환 크기보다 클 때 상기 CIIP 모드가 디스에이블되는, 방법.
  59. 비디오 프로세싱 방법으로서,
    하나 이상의 비디오 블록을 포함하는 하나 이상의 비디오 영역을 포함하는 비디오와 상기 비디오의 비트스트림 표현 사이의 변환을 위해, 인터 인트라 결합 예측(CIIP)으로 코딩된 상기 하나 이상의 비디오 블록 중 한 비디오 블록을 분할하는 것에 관한 결정을 내리는 단계; 및
    상기 결정에 기초하여, 상기 변환을 수행하는 단계
    를 포함하며,
    상기 CIIP 모드에서, 상기 비디오 블록의 최종 예측은 상기 비디오 블록의 인터 예측과 상기 비디오 블록의 인트라 예측의 가중 합에 기초하는, 방법.
  60. 제59항에 있어서, 상기 코딩 유닛의 높이 및 폭이 128보다 작을 때 상기 비디오 블록은 분할되지 않는, 방법.
  61. 제59항에 있어서, 상기 코딩 유닛의 높이 및 폭이 64보다 작거나 같을 때 상기 비디오 블록은 분할되지 않는, 방법.
  62. 제59항에 있어서, 상기 비디오 블록은 다수의 서브파티션들로 분할되고, 상기 다수의 서브파티션들 중 제1 서브파티션에 대한 인트라 예측은 상기 다수의 서브파티션들 중 제2 분할의 재구성에 기초하며, 상기 제2 분할의 상기 인트라 예측은 상기 제1 서브파티션의 상기 인트라 예측 이전에 수행되는, 방법.
  63. 제59항 내지 제62항 중 어느 한 항에 있어서, 상기 비디오 블록은 코딩 유닛(CU)인, 방법.
  64. 비디오 프로세싱 방법으로서,
    규칙에 따라 다수의 비디오 블록들을 포함하는 비디오 영역을 포함하는 비디오와 상기 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계
    를 포함하며,
    상기 규칙은 변환 코딩을 사용하여 상기 비트스트림 표현에 코딩되는 상기 비디오 영역 내의 상기 다수의 비디오 블록들의 최대 블록 크기가 변환 코딩을 사용하지 않고 상기 비트스트림 표현에 코딩되는 상기 비디오 영역 내의 상기 다수의 비디오 블록들의 최대 블록 크기를 결정한다고 지정하는, 방법.
  65. 제64항에 있어서, 상기 변환 스킵 모드에 대한 상기 최대 크기는 MaxTbSizeY와 동일한, 방법.
  66. 제64항에 있어서, 상기 비트스트림 표현은 상기 변환 스킵 모드에 대한 상기 최대 크기의 표시를 제외하는, 방법.
  67. 비디오 프로세싱 방법으로서,
    규칙에 따라 다수의 비디오 블록들을 포함하는 비디오 영역을 포함하는 비디오와 상기 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계
    를 포함하며,
    상기 규칙은 무손실 코딩이 상기 비디오 영역에 대해 인에이블될 때 LMCS(luma mapping with chroma scaling) 프로세스가 상기 비디오 영역에 대해 디스에이블된다는 것을 지정하고,
    상기 비디오 영역은 시퀀스, 픽처, 서브픽처, 슬라이스, 타일 그룹, 타일, 브릭, 코딩 트리 유닛(CTU) 행, CTU, 코딩 유닛(CU), 예측 유닛(PU), 변환 유닛(TU), 또는 서브블록이며,
    상기 LMCS 프로세스는 상기 비디오 영역의 루마 샘플들이 제1 도메인과 제2 도메인 사이에서 리셰이핑되는 것 및 크로마 잔차가 루마 종속적 방식으로 스케일링되는 것을 포함하는, 방법.
  68. 제67항에 있어서, 상기 LMCS 프로세스에 관련된 표시를 시그널링하는 것은 상기 비디오 영역에 대한 변환 양자화 바이패스 플래그에 기초하는, 방법.
  69. 제68항에 있어서, 상기 LMCS 프로세스에 관련된 상기 표시는 상기 비트스트림 표현으로부터 제외되고 상기 변환 양자화 바이패스 플래그가 1과 동일할 때 0인 것으로 추론되는, 방법.
  70. 제1항 내지 제69항 중 어느 한 항에 있어서, 상기 변환을 수행하는 단계는 상기 비디오 영역으로부터 상기 비트스트림 표현을 생성하는 단계를 포함하는, 방법.
  71. 제1항 내지 제69항 중 어느 한 항에 있어서, 상기 변환을 수행하는 단계는 상기 비트스트림 표현으로부터 상기 비디오 영역을 생성하는 단계를 포함하는, 방법.
  72. 비디오 시스템에서의 장치로서, 프로세서 및 명령어들을 갖는 비일시적 메모리를 포함하며, 상기 명령어들은, 상기 프로세서에 의한 실행 시에, 상기 프로세서로 하여금 제1항 내지 제71항 중 하나 이상의 항에 기재된 방법을 구현하게 하는, 장치.
  73. 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 제1항 내지 제71항 중 하나 이상의 항에 기재된 방법을 수행하기 위한 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
KR1020227001503A 2019-07-26 2020-07-27 비디오 코딩 모드의 블록 크기 종속적 사용 KR20220036939A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/097926 2019-07-26
CN2019097926 2019-07-26
CN2019103892 2019-08-31
CNPCT/CN2019/103892 2019-08-31
PCT/CN2020/104786 WO2021018083A1 (en) 2019-07-26 2020-07-27 Block size dependent use of video coding mode

Publications (1)

Publication Number Publication Date
KR20220036939A true KR20220036939A (ko) 2022-03-23

Family

ID=74230173

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227001503A KR20220036939A (ko) 2019-07-26 2020-07-27 비디오 코딩 모드의 블록 크기 종속적 사용

Country Status (11)

Country Link
US (4) US11539949B2 (ko)
EP (2) EP3987776A4 (ko)
JP (3) JP7369273B2 (ko)
KR (1) KR20220036939A (ko)
CN (3) CN114175657B (ko)
AU (1) AU2020321002B2 (ko)
BR (1) BR112022001279A2 (ko)
CA (1) CA3148299C (ko)
MX (1) MX2022000716A (ko)
WO (2) WO2021018083A1 (ko)
ZA (1) ZA202201250B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12063349B2 (en) * 2016-10-10 2024-08-13 Samsung Electronics Co., Ltd. Method and device for encoding or decoding image by means of block map
WO2021018083A1 (en) 2019-07-26 2021-02-04 Beijing Bytedance Network Technology Co., Ltd. Block size dependent use of video coding mode
CN110865859B (zh) * 2019-10-29 2021-10-22 维沃移动通信有限公司 图片显示方法、装置、电子设备及介质
US11863786B2 (en) * 2021-05-21 2024-01-02 Varjo Technologies Oy Method of transporting a framebuffer

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012080213A (ja) * 2010-09-30 2012-04-19 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
CN103299637B (zh) 2011-01-12 2016-06-29 三菱电机株式会社 图像编码装置、图像译码装置、图像编码方法以及图像译码方法
CA2833902C (en) 2011-06-24 2018-09-04 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, image decoding method, and image prediction device
US20130083852A1 (en) * 2011-09-30 2013-04-04 Broadcom Corporation Two-dimensional motion compensation filter operation and processing
JP2014045434A (ja) 2012-08-28 2014-03-13 Nippon Hoso Kyokai <Nhk> 画像符号化装置、画像復号装置及びそれらのプログラム
KR102134367B1 (ko) * 2012-09-10 2020-07-15 선 페이턴트 트러스트 화상 부호화 방법, 화상 복호화 방법, 화상 부호화 장치, 화상 복호화 장치, 및 화상 부호화 복호화 장치
US10136143B2 (en) 2012-12-07 2018-11-20 Qualcomm Incorporated Advanced residual prediction in scalable and multi-view video coding
WO2015012600A1 (ko) * 2013-07-23 2015-01-29 성균관대학교 산학협력단 영상 부호화/복호화 방법 및 장치
BR112016015080A2 (pt) 2014-01-03 2017-08-08 Microsoft Technology Licensing Llc Predição de vetor de bloco em codificação / decodificação de vídeo e imagem
WO2015131387A1 (en) 2014-03-07 2015-09-11 Qualcomm Incorporated Simplified sub-prediction unit (sub-pu) motion parameter inheritence (mpi)
US9736481B2 (en) * 2014-03-14 2017-08-15 Qualcomm Incorporated Quantization parameters for color-space conversion coding
KR20220133337A (ko) * 2014-03-16 2022-10-04 브이아이디 스케일, 인크. 무손실 비디오 코딩의 시그널링을 위한 방법 및 장치
US9838712B2 (en) 2014-03-17 2017-12-05 Hfi Innovation Inc. Method of signaling for depth-based block partitioning
US9877034B2 (en) 2014-04-14 2018-01-23 Avago Technologies General Ip (Singapore) Pte. Ltd. Pipelined video decoder system
CN110278437B (zh) 2014-06-20 2022-03-08 寰发股份有限公司 一种视频数据块的编码方法
US20160234510A1 (en) 2014-06-20 2016-08-11 Mediatek Inc. Method of Coding for Depth Based Block Partitioning Mode in Three-Dimensional or Multi-view Video Coding
WO2016074147A1 (en) * 2014-11-11 2016-05-19 Mediatek Singapore Pte. Ltd. Separated coding tree for luma and chroma
WO2016090568A1 (en) * 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Binary tree block partitioning structure
US10306229B2 (en) * 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
US20180115787A1 (en) 2015-04-12 2018-04-26 Lg Electronics Inc. Method for encoding and decoding video signal, and apparatus therefor
CN106254870B (zh) * 2015-06-08 2020-08-18 财团法人工业技术研究院 采用自适性色彩转换的视频编码方法、系统和计算机可读取记录介质
US10390020B2 (en) * 2015-06-08 2019-08-20 Industrial Technology Research Institute Video encoding methods and systems using adaptive color transform
KR102199463B1 (ko) 2015-08-31 2021-01-06 삼성전자주식회사 스캔 순서를 고려한 영상의 변환 방법 및 그 장치, 및 역변환 방법 및 그 장치
WO2017082670A1 (ko) * 2015-11-12 2017-05-18 엘지전자 주식회사 영상 코딩 시스템에서 계수 유도 인트라 예측 방법 및 장치
US10440399B2 (en) * 2015-11-13 2019-10-08 Qualcomm Incorporated Coding sign information of video data
US10200719B2 (en) 2015-11-25 2019-02-05 Qualcomm Incorporated Modification of transform coefficients for non-square transform units in video coding
US10212444B2 (en) 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
EP3758377B1 (en) * 2016-03-16 2023-10-25 HFI Innovation Inc. Method and apparatus of block partitioning
CN116828178A (zh) * 2016-06-24 2023-09-29 世宗大学校产学协力团 视频信号解码和编码方法、比特流的传输方法
CN109479131B (zh) * 2016-06-24 2023-09-01 世宗大学校产学协力团 视频信号处理方法及装置
KR20240051314A (ko) * 2016-10-04 2024-04-19 주식회사 비원영상기술연구소 영상 데이터 부호화/복호화 방법 및 장치
US20180109814A1 (en) * 2016-10-14 2018-04-19 Mediatek Inc. Method And Apparatus Of Coding Unit Information Inheritance
CN116781936A (zh) * 2016-11-08 2023-09-19 株式会社Kt 对视频进行解码和编码的方法、发送压缩数据的方法
KR20180110064A (ko) * 2016-12-26 2018-10-08 닛본 덴끼 가부시끼가이샤 영상 인코딩 방법, 영상 디코딩 방법, 영상 인코딩 장치, 영상 디코딩 장치, 및 프로그램
WO2018123315A1 (ja) * 2016-12-26 2018-07-05 日本電気株式会社 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
CA3048569A1 (en) 2017-01-12 2018-07-19 Sony Corporation Image processing device and image processing method
CN117201819A (zh) 2017-05-26 2023-12-08 Sk电信有限公司 对视频数据进行编码或解码的方法和存储比特流的方法
US20180367818A1 (en) * 2017-06-15 2018-12-20 Futurewei Technologies, Inc. Block Partition Structure in Video Compression
CN109151477B (zh) * 2017-06-28 2020-08-07 华为技术有限公司 一种图像数据的编码、解码方法及装置
CN111149359B (zh) 2017-09-20 2023-11-17 韩国电子通信研究院 用于对图像进行编码/解码的方法和装置以及存储有比特流的记录介质
JP2021010046A (ja) * 2017-10-06 2021-01-28 シャープ株式会社 画像符号化装置及び画像復号装置
JP7033946B2 (ja) * 2017-11-01 2022-03-11 日本放送協会 画像符号化装置及び画像符号化プログラム
US11039143B2 (en) * 2017-11-20 2021-06-15 Qualcomm Incorporated Memory reduction for context initialization with temporal prediction
US11259021B2 (en) 2017-12-29 2022-02-22 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks at a boundary of a picture for video coding
WO2019189279A1 (en) 2018-03-30 2019-10-03 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks at a boundary of a picture for video coding
US10284866B1 (en) * 2018-07-02 2019-05-07 Tencent America LLC Method and apparatus for video coding
US10609403B2 (en) 2018-07-09 2020-03-31 Tencent America LLC Method and apparatus for block partition with non-uniform quad split
CN115379213A (zh) * 2018-07-14 2022-11-22 寰发股份有限公司 视频编码系统中对具有分割约束的视频图像进行编码或解码的视频处理方法和装置
US10743029B2 (en) * 2018-07-30 2020-08-11 Tencent America LLC Constraints on coding unit partition
CN118055250A (zh) 2018-09-22 2024-05-17 Lg 电子株式会社 使用间预测处理视频信号的方法和装置
US20200120339A1 (en) * 2018-10-11 2020-04-16 Mediatek Inc. Intra Prediction For Multi-Hypothesis
BR112021007863A2 (pt) 2018-11-02 2021-07-27 Beijing Bytedance Network Technology Co., Ltd. método e aparelho para processar dados de vídeo, e, meios de armazenamento e de gravação legíveis por computador não transitórios
KR20210084479A (ko) 2018-11-06 2021-07-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 모션 정보의 위치 의존적 저장
CN116886926A (zh) 2018-11-10 2023-10-13 北京字节跳动网络技术有限公司 成对平均候选计算中的取整
CN113170112B (zh) 2018-11-22 2024-05-10 北京字节跳动网络技术有限公司 用于具有几何分割的帧间预测的构建方法
WO2020114404A1 (en) 2018-12-03 2020-06-11 Beijing Bytedance Network Technology Co., Ltd. Pruning method in different prediction mode
US10999594B2 (en) 2018-12-20 2021-05-04 Qualcomm Incorporated Virtual search area for current picture referencing (CPR) and intra block copy (IBC)
CN118540500A (zh) 2018-12-31 2024-08-23 韩国电子通信研究院 图像编码/解码方法和设备以及存储比特流的记录介质
CN113196780A (zh) 2019-01-12 2021-07-30 韦勒斯标准与技术协会公司 使用多变换核处理视频信号的方法和设备
US20200252608A1 (en) 2019-02-05 2020-08-06 Qualcomm Incorporated Sub-partition intra prediction
CN113396589A (zh) 2019-02-11 2021-09-14 北京字节跳动网络技术有限公司 基于五叉树的视频块分割
WO2020164629A1 (en) * 2019-02-17 2020-08-20 Beijing Bytedance Network Technology Co., Ltd. Restriction of applicability for intra block copy mode
US11159795B2 (en) 2019-03-04 2021-10-26 Tencent America LLC Max transform size control
US11032543B2 (en) * 2019-03-22 2021-06-08 Tencent America LLC Method and apparatus for video coding
WO2021018083A1 (en) 2019-07-26 2021-02-04 Beijing Bytedance Network Technology Co., Ltd. Block size dependent use of video coding mode
US11399199B2 (en) * 2019-08-05 2022-07-26 Qualcomm Incorporated Chroma intra prediction units for video coding

Also Published As

Publication number Publication date
CN114175657B (zh) 2023-12-26
US11539949B2 (en) 2022-12-27
JP2023184634A (ja) 2023-12-28
CN114175632A (zh) 2022-03-11
EP3987776A1 (en) 2022-04-27
CN114175657A (zh) 2022-03-11
EP3987776A4 (en) 2022-10-19
WO2021018083A1 (en) 2021-02-04
EP3991429A1 (en) 2022-05-04
US20220150492A1 (en) 2022-05-12
CN117354527A (zh) 2024-01-05
JP7383119B2 (ja) 2023-11-17
JP2022542138A (ja) 2022-09-29
KR20220036938A (ko) 2022-03-23
WO2021018082A1 (en) 2021-02-04
CN114175632B (zh) 2024-07-05
JP2022542139A (ja) 2022-09-29
US20220150544A1 (en) 2022-05-12
US11659179B2 (en) 2023-05-23
ZA202201250B (en) 2023-11-29
EP3991429A4 (en) 2022-08-31
AU2020321002B2 (en) 2023-06-01
BR112022001279A2 (pt) 2022-03-22
US20240107016A1 (en) 2024-03-28
US20220150491A1 (en) 2022-05-12
CA3148299C (en) 2024-06-04
AU2020321002A1 (en) 2022-02-24
CA3148299A1 (en) 2021-02-04
US11930175B2 (en) 2024-03-12
MX2022000716A (es) 2022-02-23
JP7369273B2 (ja) 2023-10-25

Similar Documents

Publication Publication Date Title
AU2019382524B2 (en) Pulse code modulation technique in video processing
CN113826390B (zh) 屏幕内容编解码的帧内块复制
JP7369273B2 (ja) ブロックサイズに基づくピクチャ分割モードの決定
CN114556924A (zh) 视频处理中色度残差的联合编解码与滤波
US11388476B2 (en) Block partitioning method and apparatus
JP7479456B2 (ja) ビデオ・データ処理方法及び装置並びに記憶媒体及び方法
CN114424529A (zh) 视频编解码中自适应环路滤波器的两部分信令
WO2020084604A1 (en) Fast methods for partition tree decision
KR102698191B1 (ko) 블록 크기에 기초한 픽처 분할 모드의 결정
WO2021018081A1 (en) Configurable coding tree unit size in video coding
RU2815443C2 (ru) Определение режима разделения изображения на основе размера блока
KR102616383B1 (ko) 비디오 픽처 헤더의 필터 파라미터 시그널링