KR20210150397A - 크로스 성분 모드의 적용성에 대한 제한 - Google Patents

크로스 성분 모드의 적용성에 대한 제한 Download PDF

Info

Publication number
KR20210150397A
KR20210150397A KR1020217032116A KR20217032116A KR20210150397A KR 20210150397 A KR20210150397 A KR 20210150397A KR 1020217032116 A KR1020217032116 A KR 1020217032116A KR 20217032116 A KR20217032116 A KR 20217032116A KR 20210150397 A KR20210150397 A KR 20210150397A
Authority
KR
South Korea
Prior art keywords
block
luma
video block
chroma
current chroma
Prior art date
Application number
KR1020217032116A
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 KR20210150397A publication Critical patent/KR20210150397A/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/146Data rate or code amount at the encoder output
    • 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/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
    • H04N19/196Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Materials For Medical Uses (AREA)

Abstract

시각적 미디어 처리를 위한 방법으로서, 시각적 미디어 데이터의 현재 크로마 비디오 블록과 현재 크로마 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 변환 동안, 현재 크로마 비디오 블록의 크로마 잔차는 스케일링 계수에 기초하여 스케일링되고, 스케일링 계수는 사전 정의된 위치들에 위치된 루마 샘플들에 적어도 기초하여 도출된다.

Description

크로스 성분 모드의 적용성에 대한 제한
[관련 출원의 상호참조]
파리 조약에 따른 적용가능한 특허법 및/또는 규칙들 하에서, 본 출원은 2019년 4월 18일에 출원된 국제 특허 출원 번호 PCT/CN2019/083320에 대한 우선권 및 이익을 적시에 청구하도록 이뤄졌다. 법에 따른 모든 목적을 위해, 앞서 언급된 출원의 전체 개시내용은 본 출원의 개시내용의 일부로서 참조에 의해 통합된다.
본 특허 문서는 비디오 코딩 및 디코딩 기법, 디바이스 및 시스템에 관한 것이다.
비디오 압축의 진보에도 불구하고, 디지털 비디오는 인터넷 및 다른 디지털 통신 네트워크들에서 가장 큰 대역폭 사용량을 여전히 차지한다. 비디오를 수신 및 디스플레이할 수 있는 접속된 사용자 디바이스들의 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 수요가 계속 증가할 것으로 예상된다.
디지털 비디오 코딩/디코딩에 관련된 디바이스들, 시스템들 및 방법들, 및 구체적으로, 비디오 코딩/디코딩에서 크로스-성분 선형 모델(cross-component linear model, CCLM) 예측 모드에 대한 단순화된 선형 모델 도출이 설명된다. 설명된 방법들은 기존의 비디오 코딩 표준들(예를 들어, HEVC(High Efficiency Video Coding)) 및 미래의 비디오 코딩 표준들(예를 들어, VVC(Versatile Video Coding)) 또는 코덱들 둘 다에 적용될 수 있다.
하나의 대표적인 양태에서, 시각적 미디어 처리를 위한 방법이 개시된다. 방법은 시각적 미디어 데이터의 현재 크로마 비디오 블록과 현재 크로마 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 여기서 변환 동안, 현재 크로마 비디오 블록의 크로마 잔차는 스케일링 계수에 기초하여 스케일링되고, 스케일링 계수는 미리 정의된 위치들에 위치된 루마 샘플들에 적어도 기초하여 도출된다.
하나의 대표적인 양태에서, 시각적 미디어 처리를 위한 방법이 개시된다. 방법은 시각적 미디어 데이터의 현재 비디오 블록과 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 여기서 변환 동안, 현재 비디오 블록의 제2 세트의 컬러 성분 값들이, CCLM(cross-component linear model) 및/또는 LMCS(luma mapping with chroma scaling) 모드 처리 단계를 사용하여, 시각적 미디어 데이터의 제1 세트의 컬러 성분 값들로부터 도출된다.
또 다른 대표적인 양태에서, 시각적 미디어 처리를 위한 방법이 개시된다. 방법은 시각적 미디어 데이터의 현재 비디오 블록과 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 여기서 변환 동안, 시각적 미디어 데이터의 현재 프레임과 연관된 하나 이상의 재구성 샘플은 LMCS(luma mapping with chroma scaling) 모드 처리 단계에서 크로마 잔차 스케일링 인자를 도출하기 위해 사용된다.
또 다른 대표적인 양태에서, 시각적 미디어 처리를 위한 방법이 개시된다. 방법은 시각적 미디어 데이터의 현재 비디오 블록과 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 여기서 변환 동안, 참조 프레임 이외의 현재 프레임에서의 하나 이상의 루마 예측 샘플 또는 루마 재구성 샘플은 LMCS(luma mapping with chroma scaling) 모드 처리 단계에서 크로마 잔차 스케일링 인자를 도출하기 위해 사용된다.
또 다른 대표적인 양태에서, 시각적 미디어 처리를 위한 방법이 개시된다. 방법은 현재 크로마 비디오 블록과 현재 크로마 비디오 블록의 비트스트림 표현 간의 변환 동안, 병치된(collocated) 루마 블록의 상단 좌측 샘플을 커버하는 대응하는 루마 블록의 하나 이상의 이웃 루마 블록의 가용성을 검사하는 단계; 하나 이상의 이웃 루마 블록의 가용성에 기초하여, 대응하는 루마 블록의 이웃 루마 샘플들을 검색할지를 결정하는 단계; 결정에 기초하여, 스케일링 계수를 도출하는 단계; 스케일링 계수에 기초하여, 현재 크로마 비디오 블록의 크로마 잔차를 스케일링하여 스케일링된 크로마 잔차를 생성하는 단계; 및 스케일링된 크로마 잔차에 기초하여 변환을 수행하는 단계를 포함한다.
또 다른 대표적인 양태에서, 시각적 미디어 처리를 위한 방법이 개시된다. 방법은, 시각적 미디어 데이터의 현재 비디오 블록과 현재 비디오 블록의 비트스트림 표현 간의 변환 동안, 처리 단계와 연관된 모델을 사용하여 시각적 미디어 데이터의 제1 세트의 컬러 성분 값들로부터 현재 비디오 블록의 제2 세트의 컬러 성분 값들을 도출하는 단계를 포함하며, 여기서 제1 세트의 컬러 성분 값들은 병치된 루마 블록의 상단 좌측 샘플을 커버하는 대응하는 루마 블록의 이웃 샘플들이다.
또 다른 대표적인 양태에서, 시각적 미디어 처리를 위한 방법이 개시된다. 방법은 시각적 미디어 데이터의 현재 크로마 비디오 블록과 현재 크로마 비디오 블록의 비트스트림 표현 간의 변환 동안, 현재 크로마 비디오 블록의 병치된 루마 블록과 연관된 하나 이상의 조건에 적어도 부분적으로 기초하여, 현재 크로마 비디오 블록에 대한 CCLM(cross-component linear model) 및/또는 CRS(chroma residual scaling)의 적용을 선택적으로 인에이블 또는 디스에이블하는 결정을 하는 단계를 포함한다.
또 다른 대표적인 양태에서, 시각적 미디어 처리를 위한 방법이 개시된다. 방법은 시각적 미디어 데이터의 비디오 영역에서의 현재 비디오 블록을 시각적 미디어 데이터의 비트스트림 표현으로 인코딩하기 위해, 시각적 미디어 데이터의 현재 비디오 블록의 크로마 성분들에 대한 루마 의존적 CRS(chroma residual scaling)의 적용을 선택적으로 인에이블 또는 디스에이블하는 단계; 및 시각적 미디어 데이터의 비트스트림 표현에서 필드를 포함 또는 배제하는 것을 결정하는 단계 - 필드는 선택적으로 인에이블 또는 디스에이블하는 것을 나타내고, 포함되는 경우, 현재 비디오 블록과 연관된 제1 신택스 레벨 이외에서 시그널링됨 - 를 포함한다.
또 다른 대표적인 양태에서, 시각적 미디어 처리를 위한 방법이 개시된다. 방법은 시각적 미디어 데이터의 비트스트림 표현에서 필드를 파싱하는 단계 - 필드는 현재 비디오 블록과 연관된 제1 신택스 레벨 이외의 레벨에 포함됨 -; 및 비트스트림 표현으로부터 디코딩된 비디오 영역을 생성하기 위해 시각적 미디어 데이터의 현재 비디오 블록의 크로마 성분들에 대한 루마 의존적 CRS(chroma residual scaling)의 적용을 필드에 기초하여 선택적으로 인에이블 또는 디스에이블하는 단계를 포함한다.
또 다른 대표적인 양태에서, 시각적 미디어 처리를 위한 방법이 개시된다. 방법은 현재 비디오 블록을 시각적 미디어 데이터의 비트스트림 표현으로 인코딩하기 위해 현재 비디오 블록에 대한 CCLM(cross-component linear model)의 적용을 선택적으로 인에이블 또는 디스에이블하는 단계; 및 시각적 미디어 데이터의 비트스트림 표현에서 필드를 포함 또는 배제하는 것을 결정하는 단계 - 필드는 선택적으로 인에이블 또는 디스에이블하는 것을 나타내고, 포함되는 경우, 현재 비디오 블록과 연관된 제1 신택스 레벨 이외에서 시그널링됨 - 를 포함한다.
또 다른 대표적인 양태에서, 시각적 미디어 처리를 위한 방법이 개시된다. 방법은 시각적 미디어 데이터의 비트스트림 표현에서 필드를 파싱하는 단계 - 필드는 현재 비디오 블록과 연관된 제1 신택스 레벨 이외의 레벨에 포함됨 -; 및 비트스트림 표현으로부터 디코딩된 비디오 영역을 생성하기 위해, 시각적 미디어 데이터의 현재 비디오 블록에 대한 CCLM(cross-component linear model)의 적용을, 필드에 기초하여, 선택적으로 인에이블 또는 디스에이블하는 단계를 포함한다.
또 다른 예시적인 양태에서, 앞서 설명한 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코더 또는 디코더 장치가 개시된다.
또 다른 예시적인 양태에서, 컴퓨터 판독가능 프로그램 매체가 개시된다. 매체는 개시된 방법들 중 하나를 구현하기 위한 프로세서 실행가능 명령어들을 구현하는 코드를 저장한다.
또 다른 대표적인 양태에서, 전술한 방법은 프로세서 실행가능 코드의 형태로 구현되고 컴퓨터 판독가능 프로그램 매체에 저장된다.
또 다른 대표적인 양태에서, 전술한 방법을 수행하도록 구성되거나 동작가능한 디바이스가 개시된다. 디바이스는 이 방법을 구현하도록 프로그래밍되는 프로세서를 포함할 수 있다.
개시된 기술의 위의 양태들 및 다른 양태들 및 특징들은 도면들, 설명 및 청구항들에서 더 상세히 설명된다.
도 1은 HEVC에서의 각도 인트라 예측 모드들의 예를 도시한다.
도 2는 HEVC에 없는 지향성 모드들의 예를 도시한다.
도 3은 CCLM 모드와 관련된 예를 도시한다.
도 4는 크로마 스케일링 아키텍처를 갖는 루마 매핑의 예를 도시한다.
도 5는 상이한 컬러 포맷들에서의 루마 블록 및 크로마 블록의 예를 도시한다.
도 6은 동일한 컬러 포맷들에서의 루마 블록 및 크로마 블록의 예를 도시한다.
도 7은 다수의 포맷을 커버하는 병치된 루마 블록의 예를 도시한다.
도 8은 더 큰 루마 블록 내의 루마 블록의 예를 도시한다.
도 9는 더 큰 루마 블록 내의 그리고 경계 박스 내의 루마 블록의 예를 도시한다.
도 10은 본 문서에 설명된 시각적 미디어 디코딩 또는 시각적 미디어 인코딩 기법을 구현하기 위한 하드웨어 플랫폼의 예의 블록도이다.
도 11은 개시된 기술에 따른 크로스-성분 예측을 위한 선형 모델 도출을 위한 예시적인 방법의 흐름도를 도시한다.
도 12는 개시된 기법들이 구현될 수 있는 예시적인 비디오 처리 시스템의 블록도이다.
도 13은 시각적 미디어 처리를 위한 예시적인 방법의 흐름도를 도시한다.
도 14는 시각적 미디어 처리를 위한 예시적인 방법의 흐름도를 도시한다.
도 15는 시각적 미디어 처리를 위한 예시적인 방법의 흐름도를 도시한다.
도 16은 시각적 미디어 처리를 위한 예시적인 방법의 흐름도를 도시한다.
도 17은 시각적 미디어 처리를 위한 예시적인 방법의 흐름도를 도시한다.
도 18은 시각적 미디어 처리를 위한 예시적인 방법의 흐름도를 도시한다.
도 19는 시각적 미디어 처리를 위한 예시적인 방법의 흐름도를 도시한다.
도 20은 시각적 미디어 처리를 위한 예시적인 방법의 흐름도를 도시한다.
도 21은 시각적 미디어 처리를 위한 예시적인 방법의 흐름도를 도시한다.
도 22는 시각적 미디어 처리를 위한 예시적인 방법의 흐름도를 도시한다.
도 23은 시각적 미디어 처리를 위한 예시적인 방법의 흐름도를 도시한다.
2.1 HEVC에 대한 간단한 검토
2.1.1 HEVC/H.265에서의 인트라 예측
인트라 예측은 고려된 컬러 채널에서 이전에 재구성된 샘플들을 사용하여 주어진 TB(transform block)에 대한 샘플들을 생성하는 것을 수반한다. 인트라 예측 모드는 루마 및 크로마 채널들에 대해 개별적으로 시그널링되며, 크로마 채널 인트라 예측 모드는 'DM_CHROMA' 모드를 통해 루마 채널 인트라 예측 모드에 선택적으로 의존한다. 인트라 예측 모드가 PB(prediction block) 레벨에서 시그널링되지만, 인트라 예측 프로세스는 CU에 대한 잔차 쿼드-트리 계층구조에 따라 TB 레벨에서 적용되고, 이에 의해 하나의 TB의 코딩이 CU 내에서의 다음 TB의 코딩에 영향을 미치는 것을 허용하고, 따라서 참조 값들로서 사용되는 샘플들까지의 거리를 감소시킨다.
HEVC는 35개의 인트라 예측 모드 - DC 모드, 평면 모드 및 33개의 지향성, 또는 '각도' 인트라 예측 모드들을 포함한다. 33개의 각도 인트라 예측 모드가 도 1에 예시되어 있다.
크로마 컬러 채널들과 연관된 PB들에 대해, 인트라 예측 모드는 평면, DC, 수평, 수직, 'DM_CHROMA' 모드 또는 때때로 대각선 모드 '34'로서 지정된다.
크로마 포맷들 4:2:2 및 4:2:0에 대해, 크로마 PB는 2개 또는 4개의 (각자의) 루마 PB와 중첩할 수 있다는 점에 유의한다; 이 경우에, DM_CHROMA에 대한 루마 방향은 이들 루마 PB의 상단 좌측으로부터 취해진다.
DM_CHROMA 모드는 루마 컬러 채널 PB의 인트라 예측 모드가 크로마 컬러 채널 PB들에 적용됨을 나타낸다. 이것은 비교적 흔하기 때문에, intra_chroma_pred_mode의 MPM(most-probable-mode) 코딩 방식은 이 모드가 선택되는 것을 선호하도록 바이어싱된다.
2.2 VVC(Versatile Video Coding) 알고리즘 설명
2.2.1 VVC 코딩 아키텍처
HEVC를 넘어서 미래의 비디오 코딩 기술들을 탐구하기 위해, JVET(Joint Video Exploration Team)가 2015년에 VCEG 및 MPEG에 의해 공동으로 설립되었다. JVET 회의는 분기당 한 번씩 동시에 열리고, 새로운 코딩 표준은 HEVC와 비교하여 50% 비트레이트 감소를 목표로 하고 있다. 새로운 비디오 코딩 표준은 2018년 4월 JVET 회의에서 VVC(Versatile Video Coding)로서 공식적으로 명명되었고, VTM(VVC test model)의 제1 버전은 그 시간에 발표되었다. VVC 표준화에 기여하는 지속적인 노력이 있음에 따라, 새로운 코딩 기법들이 모든 JVET 회의마다 VVC 표준에 채택되고 있다. VVC 작업 초안 및 테스트 모델 VTM은 모든 회의 후에 업데이트된다. VVC 프로젝트는 이제 2020년 7월 회의에서 기술 완료(FDIS)를 목표로 하고 있다.
대부분의 이전 표준들에서와 같이, VVC는 엔트로피 코딩과 인터-픽처 및 인트라-픽처 예측 및 변환 코딩을 조합하는 블록 기반 하이브리드 코딩 아키텍처를 갖는다. 픽처 파티셔닝 구조는 입력 비디오를 코딩 트리 유닛(coding tree unit, CTU)들이라고 불리는 블록들로 분할한다. CTU는 네스팅된 멀티-타입 트리 구조를 갖는 쿼드트리를 사용하여 코딩 유닛들(CU들)로 스플릿되고, 리프 코딩 유닛(CU)은 동일한 예측 모드(예를 들어, 인트라 또는 인터)를 공유하는 영역을 정의한다. 이 문서에서, 용어 '유닛'은 모든 컬러 성분들을 커버하는 이미지의 영역을 정의한다; 용어 '블록'은 특정 컬러 성분(예를 들어, 루마)을 커버하는 영역을 정의하기 위해 사용되며, 4:2:0과 같은 크로마 샘플링 포맷을 고려할 때 공간 위치가 다를 수 있다.
2.2.2 VVC에서의 이중/개별 트리 파티션
루마 성분 및 크로마 성분은 I 슬라이스들에 대해 개별 파티션 트리들을 가질 수 있다. 개별 트리 파티셔닝은 CTU 레벨 대신에 64x64 블록 레벨 하에 있다. VTM 소프트웨어에서, 이중 트리 온 및 오프(dual-tree on and off)를 제어하는 SPS 플래그가 있다.
2.2.3 VVC에서의 인트라 예측
2.2.3.1 67개의 인트라 예측 모드
자연 비디오에서 제시되는 임의의 에지 방향들을 캡처하기 위해, VTM4에서의 지향성 인트라 모드들의 수는 HEVC에서 사용되는 33개로부터 65개로 확장된다. HEVC에 있지 않은 새로운 지향성 모드들은 도 2에서 적색 점선 화살표들로서 묘사되고, 평면 및 DC 모드들은 동일하게 유지된다. 이러한 더 조밀한 지향성 인트라 예측 모드들은 모든 블록 크기들에 대해 그리고 루마 및 크로마 인트라 예측들 모두에 대해 적용된다.
2.2.3.2 크로스-성분 선형 모델 예측(CCLM)
크로스-성분 중복성을 감소시키기 위해, 크로스-성분 선형 모델(cross-component linear model, CCLM) 예측 모드가 VTM4에서 사용되며, 이를 위해 크로마 샘플들은 다음과 같이 선형 모델을 사용함으로써 동일한 CU의 재구성된 루마 샘플들에 기초하여 예측된다:
Figure pct00001
여기서
Figure pct00002
은 CU에서의 예측된 크로마 샘플들을 나타내고,
Figure pct00003
은 동일한 CU의 다운샘플링되고 재구성된 루마 샘플들을 나타낸다. 선형 모델 파라미터 α 및 β는 다운샘플링된 이웃 루마 샘플들의 세트 내부의 최소 샘플 값 및 최대 샘플을 갖는 루마 샘플인 2개의 샘플, 및 그들의 대응하는 크로마 샘플들로부터의 루마 값들과 크로마 값들 사이의 관계로부터 도출된다. 선형 모델 파라미터들 α 및 β는 다음의 수학식들에 따라 획득된다.
Figure pct00004
여기서 Ya 및 Xa는 최대 루마 샘플 값을 갖는 루마 샘플의 루마 값 및 크로마 값을 나타낸다. 그리고 Xb 및 Yb는 제각기, 최소 루마 샘플을 갖는 루마 샘플의 루마 값 및 크로마 값을 나타낸다. 도 3은 CCLM 모드에 수반되는 현재 블록의 샘플 및 좌측 및 상부 샘플들의 위치의 예를 도시한다.
파라미터 α를 계산하는 나눗셈 연산은 룩업 테이블로 구현된다. 테이블을 저장하는 데 필요한 메모리를 줄이기 위해, diff 값(최대값과 최소값 간의 차이) 및 파라미터 α는 지수 표기법에 의해 표현된다. 예를 들어, diff는 4-비트 유효부 및 지수로 근사화된다. 결과적으로, 1/diff에 대한 테이블은 다음과 같이 가수부(significand)의 16개의 값에 대해 16개의 성분으로 축소된다:
Figure pct00005
이는 계산의 복잡성뿐만 아니라 필요한 테이블들을 저장하는데 요구되는 메모리 크기를 감소시키는 두 가지 이점을 가질 것이다.
상부 템플릿 및 좌측 템플릿이 선형 모델 계수들을 함께 계산하기 위해 사용될 수 있는 것 외에도, 이들은 또한 LM_A 및 LM_L 모드들이라고 불리는 다른 2개의 LM 모드에서도 대안으로서 사용될 수 있다.
LM_A 모드에서, 상부 템플릿만이 선형 모델 계수들을 계산하기 위해 사용된다. 더 많은 샘플들을 얻기 위해, 상부 템플릿은 (W+H)로 확장된다. LM_L 모드에서, 좌측 템플릿만이 선형 모델 계수들을 계산하기 위해 사용된다. 더 많은 샘플들을 얻기 위해, 좌측 템플릿은 (H+W)로 확장된다.
비-정사각형 블록에 대해, 상부 템플릿은 W+W로 확장되고, 좌측 템플릿은 H+H로 확장된다.
4:2:0 비디오 시퀀스들에 대한 크로마 샘플 위치들을 매칭시키기 위해, 루마 샘플들에 2가지 타입의 다운샘플링 필터가 적용되어 수평 및 수직 방향들 모두에서 2 대 1 다운샘플링 비율을 달성하게 된다. 다운샘플링 필터의 선택은 SPS 레벨 플래그에 의해 지정된다. 2개의 다운샘플링 필터는 다음과 같으며, 이들은 제각기 "타입-0" 및 "타입-2" 콘텐츠에 대응한다.
Figure pct00006
상위 참조 라인이 CTU 경계에 있을 때 다운샘플링된 루마 샘플들을 만들기 위해 하나의 루마 라인(인트라 예측에서의 일반 라인 버퍼)만이 사용된다는 점에 유의한다.
이 파라미터 계산은 디코딩 프로세스의 일부로서 수행되며, 인코더 검색 동작으로서만 수행되지는 않는다. 그 결과, 디코더에 α 및 β 값들을 전달하기 위해 어떤 신택스도 사용되지 않는다.
크로마 인트라 모드 코딩의 경우, 크로마 인트라 모드 코딩에 대해 총 8개의 인트라 모드가 허용된다. 그러한 모드들은 5개의 전통적인 인트라 모드 및 3개의 크로스-성분 선형 모델 모드(CCLM, LM_A, 및 LM_L)를 포함한다. 크로마 모드 코딩은 대응하는 루마 블록의 인트라 예측 모드에 직접 의존한다. 루마 및 크로마 성분들에 대한 개별 블록 파티셔닝 구조가 I 슬라이스들에서 가능해지므로, 하나의 크로마 블록은 다수의 루마 블록에 대응할 수 있다. 따라서, 크로마 DM 모드의 경우, 현재 크로마 블록의 중심 위치를 커버하는 대응하는 루마 블록의 인트라 예측 모드가 직접 상속된다.
2.2.3.2.1 대응하는 수정된 작업 초안(JVET-N0271)
다음의 사양은 JVET-M1001의 수정된 작업 초안 및 JVET-N0271에서의 채택에 기초한다. 채택된 JVET-N0220의 수정은 볼드체 및 밑줄로 도시된다.
신택스 테이블
시퀀스 파라미터 세트 RBSP 신택스
Figure pct00007
시맨틱
0과 동일한 sps_cclm_enabled_flag는 루마 성분으로부터 크로마 성분으로의 크로스-성분 선형 모델 인트라 예측이 디스에이블되는 것을 지정한다. 1과 동일한 sps_cclm_enabled_flag는 루마 성분으로부터 크로마 성분으로의 크로스-성분 선형 모델 인트라 예측이 인에이블되는 것을 지정한다.
디코딩 프로세스
INTRA_LT_CCLM, INTRA_L_CCLM 및 INTRA_T_CCLM 인트라 예측 모드의 8.4.4.2.8 사양에서
이 프로세스에 대한 입력들은 다음과 같다:
- 인트라 예측 모드 predModeIntra,
- 현재 픽처의 상단 좌측 샘플에 대한 현재 변환 블록의 상단 좌측 샘플의 샘플 위치(xTbC, yTbC),
- 변환 블록 폭을 지정하는 변수 nTbW,
- 변환 블록 높이를 지정하는 변수 nTbH,
- x = -1, y = 0..2 * nTbH - 1 및 x = 0..2 * nTbW - 1, y = - 1을 갖는 크로마 이웃 샘플들 p[ x ][ y ].
이 프로세스의 출력은 x = 0..nTbW - 1, y = 0..nTbH - 1을 갖는 예측된 샘플들 predSamples[ x ][ y ]이다.
현재 루마 위치 (xTbY, yTbY)는 다음과 같이 도출된다:
[8-156]
Figure pct00008
변수들 availL, availT 및 availTL은 다음과 같이 도출된다:
- 조항 6.4.X [Ed.(BB): 이웃 블록 가용성 검사 프로세스 tbd] 에서 지정된 대로 블록에 대한 좌측 이웃 샘플 도출 프로세스의 가용성은 입력들로서 (xTbC, yTbC)와 동일하게 설정된 현재 크로마 위치 (xCurr, yCurr) 및 이웃 크로마 위치 (xTbC-1, yTbC)로 호출되고, 출력은 availL에 할당된다.
- 조항 6.4.X [Ed.(BB): 이웃 블록 가용성 검사 프로세스 tbd] 에서 지정된 대로 블록에 대한 상단 이웃 샘플 도출 프로세스의 가용성은 입력들로서 (xTbC, yTbC)와 동일하게 설정된 현재 크로마 위치 (xCurr, yCurr) 및 이웃 크로마 위치 (xTbC, yTbC-1)로 호출되고, 출력은 availT에 할당된다.
- 조항 6.4.X [Ed.(BB): 이웃 블록 가용성 검사 프로세스 tbd] 에서 지정된 대로 블록에 대한 상단 좌측 이웃 샘플 도출 프로세스의 가용성은 입력들로서 (xTbC, yTbC)와 동일하게 설정된 현재 크로마 위치 (xCurr, yCurr) 및 이웃 크로마 위치 (xTbC-1, yTbC-1)로 호출되고, 출력은 availTL에 할당된다.
- 이용가능한 상단 우측 이웃 크로마 샘플들 numTopRight의 수는 다음과 같이 도출된다:
- 변수 numTopRight는 0과 동일하게 설정되고 availTR은 TRUE와 동일하게 설정된다.
- predModeIntra가 INTRA_T_CCLM과 동일할 때, availTR이 FALSE와 동일하거나 또는 x가 2*nTbW-1과 동일할 때까지 x=nTbW..2*nTbW-1에 대해 다음이 적용된다:
- 조항 6.4.X [Ed.(BB): 이웃 블록 가용성 검사 프로세스 tbd] 에서 지정된 대로 블록에 대한 가용성 도출 프로세스는 입력들로서 (xTbC, yTbC)와 동일하게 설정된 현재 크로마 위치 (xCurr, yCurr) 및 이웃 크로마 위치 (xTbC +x, yTbC-1)로 호출되고, 출력은 availableTR에 할당된다.
- availableTR이 TRUE와 동일할 때, numTopRight는 1만큼 증분된다.
- 이용가능한 좌측 아래 이웃 크로마 샘플들 numLeftBelow의 수는 다음과 같이 도출된다:
- 변수 numLeftBelow는 0과 동일하게 설정되고 availLB는 TRUE와 동일하게 설정된다.
- predModeIntra가 INTRA_L_CCLM과 동일할 때, availLB가 FALSE와 동일하거나 또는 y가 2* nTbH-1과 동일할 때까지 y=nTbH..2* nTbH-1에 대해 다음이 적용된다:
- 조항 6.4.X [Ed.(BB): 이웃 블록 가용성 검사 프로세스 tbd] 에서 지정된 대로 블록에 대한 가용성 도출 프로세스는 입력들로서 (xTbC, yTbC)와 동일하게 설정된 현재 크로마 위치 (xCurr, yCurr) 및 이웃 크로마 위치 (xTbC-1, yTbC +y)로 호출되고, 출력은 availableLB에 할당된다.
- availableLB가 TRUE와 동일할 때, numLeftBelow는 1만큼 증분된다.
상단 및 상단 우측 상의 이용가능한 이웃 크로마 샘플들의 수 numTopSamp 및 좌측 및 좌측 이래 상의 이용가능한 이웃 크로마 샘플들의 수 nLeftSamp는 다음과 같이 도출된다:
- predModeIntra가 INTRA_LT_CCLM과 동일하면, 다음이 적용된다:
[8-157]
Figure pct00009
[8-158]
Figure pct00010
- 그렇지 않으면, 다음이 적용된다:
[8-159]
Figure pct00011
[8-160]
Figure pct00012
변수 bCTUboundary는 다음과 같이 도출된다:
[8-161]
Figure pct00013
N이 L 및 T로 대체되는 변수 cntN 및 어레이 pickPosN[]는 다음과 같이 도출된다:
- 변수 numIs4N은 (( availT && availL && predModeIntra == INTRA_LT_CCLM ) ? (0 : 1)과 동일하게 설정된다.
- 변수 startPosN은 numSampN >> ( 2 + numIs4N )과 동일하게 설정된다.
- 변수 pickStepN은 Max( 1, numSampN >>  ( 1 + numIs4N ))과 동일하게 설정된다.
- availN이 TRUE와 동일하고 predModeIntra가 INTRA_LT_CCLM 또는 INTRA_N_CCLM과 동일하면, cntN은 Min( numSampN, ( 1 + numIs4N ) << 1 )과 동일하게 설정되고, pickPosN[ pos ]는 (startPosN + pos * pickStepN)과 동일하게 설정되며, pos=0..(cntN-1)이다.
- 그렇지 않으면, cntN은 0과 동일하게 설정된다.
x=0..nTbW-1, y=0..nTbH-1인 예측 샘플들 predSamples[ x ][ y ]는 다음과 같이 도출된다:
- numSampL 및 numSampT 둘 다가 0과 동일하면, 다음이 적용된다:
[8-162]
Figure pct00014
- 그렇지 않으면, 다음의 순서화된 단계들이 적용된다:
1. x=0..nTbW* 2-1, y=0..nTbH* 2-1인 병치된 루마 샘플들 pY[ x ][ y ]는 위치들 (xTbY+ x, yTbY+ y)에서의 디블로킹 필터 프로세스 전에 재구성된 루마 샘플들과 동일하게 설정된다.
2. 이웃 루마 샘플들 pY[ x ][ y ]는 다음과 같이 도출된다:
- numSampL이 0보다 클 때, x=-1..-3, y=0..2*numSampL-1인 이웃 좌측 루마 샘플들 pY[ x ][ y ]는 위치들 (xTbY+ x, yTbY+ y)에서의 디블로킹 필터 프로세스 전에 재구성된 루마 샘플들과 동일하게 설정된다.
- numSampT가 0보다 클 때, x=0..2*numSampT-1, y=-1,-2인 이웃 상단 루마 샘플들 pY[ x ][ y ]는 위치들 (xTbY+ x, yTbY+ y)에서의 디블로킹 필터 프로세스 전에 재구성된 루마 샘플들과 동일하게 설정된다.
- availTL이 TRUE와 동일할 때, x=-1, y=-1,-2인 이웃 상단 좌측 루마 샘플들 pY[ x ][ y ]는 위치들 (xTbY+ x, yTbY+ y)에서의 디블로킹 필터 프로세스 전에 재구성된 루마 샘플들과 동일하게 설정된다.
3. x=0..nTbW-1, y=0..nTbH-1인 다운 샘플링된 병치된 루마 샘플들 pDsY[ x ][ y ]는 다음과 같이 도출된다:
- sps_cclm_colocated_chroma_flag가 1과 동일하면, 다음이 적용된다:
- x=1..nTbW-1, y=1..nTbH-1인 pDsY[ x ][ y ]는 다음과 같이 도출된다:
[8-163]
Figure pct00015
Figure pct00016
- availL이 TRUE와 동일하면, y=1..nTbH-1인 pDsY[ 0 ][ y ]는 다음과 같이 도출된다:
[8-164]
Figure pct00017
- 그렇지 않으면, y=1..nTbH-1인 pDsY[ 0 ][ y ]는 다음과 같이 도출된다:
[8-165]
Figure pct00018
- availT가 TRUE와 동일하면, x=1..nTbW-1인 pDsY[ x ][ 0 ]는 다음과 같이 도출된다:
[8-166]
Figure pct00019
- 그렇지 않으면, x=1..nTbW-1인 pDsY[ x ][ 0 ]는 다음과 같이 도출된다:
[8-167]
Figure pct00020
- availL이 TRUE와 동일하고 availT가 TRUE와 동일하면, pDsY[ 0 ][ 0 ]는 다음과 같이 도출된다:
[8-168]
Figure pct00021
- 그렇지 않고 availL이 TRUE와 동일하고 availT가 FALSE와 동일하면, pDsY[ 0 ][ 0 ]는 다음과 같이 도출된다:
[8-169]
Figure pct00022
- 그렇지 않고 availL이 FALSE와 동일하고 availT가 TRUE와 동일하면, pDsY[ 0 ][ 0 ]는 다음과 같이 도출된다:
[8-170]
Figure pct00023
- 그렇지 않으면(availL이 FALSE와 동일하고 availT가 FALSE와 동일하면), pDsY[ 0 ][ 0 ]은 다음과 같이 도출된다:
[8-171]
Figure pct00024
- 그렇지 않으면, 다음이 적용된다:
- x=1..nTbW-1, y=0..nTbH-1인 pDsY[ x ][ y ]는 다음과 같이 도출된다:
[8-172]
Figure pct00025
Figure pct00026
- availL이 TRUE와 동일하면, y=0..nTbH-1인 pDsY[ 0 ][ y ]는 다음과 같이 도출된다:
[8-173]
Figure pct00027
- 그렇지 않으면, y=0..nTbH-1인 pDsY[ 0 ][ y ]는 다음과 같이 도출된다:
[8-174]
Figure pct00028
4. numSampleL이 0보다 클 때, 선택된 이웃 좌측 크로마 샘플들 pSelC[idx]는 idx=0..(cntL-1)인 p[ -1 ][ pickPosL[ idx ]]와 동일하게 설정되고, idx=0..(cntL-1) 선택된 다운 샘플링된 이웃 좌측 루마 샘플들 pSelDsY[ idx ] 는 다음과 같이 도출된다:
- 변수 y는 pickPosL[ idx ]와 동일하게 설정된다.
- sps_cclm_colocated_chroma_flag가 1과 동일하면, 다음이 적용된다:
[8-175] -
Figure pct00029
Figure pct00030
- 그렇지 않으면,
[8-177]
Figure pct00031
- 그렇지 않으면, 다음이 적용된다:
[8-178]
Figure pct00032
5. numSampT가 0보다 클 때, 선택된 이웃 상단 크로마 샘플들 pSelC[ idx ]는 idx=cntL..(cntL+ cntT-1)인 p[pickPosT[idx-cntL]][-1] 과 동일하게 설정되고, idx=cntL..(cntL+ cntT-1)인 다운샘플링된 이웃 상단 루마 샘플들 pSelDsY[ idx ] 는 다음과 같이 특정된다:
- 변수 x는 pickPosT[ idx-cntL ]과 동일하게 설정된다.
- sps_cclm_colocated_chroma_flag가 1과 동일하면, 다음이 적용된다:
- x> 0인 경우:
- bCTUboundary가 FALSE와 동일하면, 다음이 적용된다:
[8-179]
Figure pct00033
- 그렇지 않으면(bCTUboundary가 TRUE와 동일하면), 다음이 적용된다:
[8-180]
Figure pct00034
- 그렇지 않으면:
- availTL이 TRUE이고 bCTUboundary가 FALSE이면, 다음이 적용된다:
[8-181]
Figure pct00035
- 그렇지 않고 availTL이 TRUE이고 bCTUboundary가 TRUE이면, 다음이 적용된다:
[8-182]
Figure pct00036
- 그렇지 않고 availTL이 FALSE와 동일하고 bCTUboundary가 FALSE와 동일하면, 다음이 적용된다:
[8-183]
Figure pct00037
- 그렇지 않으면(availTL이 FALSE와 동일하고 bCTUboundary가 TRUE와 동일하면), 다음이 적용된다:
[8-184]
Figure pct00038
- 그렇지 않으면, 다음이 적용된다:
- x> 0인 경우:
- bCTUboundary가 FALSE와 동일하면, 다음이 적용된다:
[8-185]
Figure pct00039
Figure pct00040
- 그렇지 않으면(bCTUboundary가 TRUE와 동일하면), 다음이 적용된다:
[8-186]
Figure pct00041
- 그렇지 않으면:
- availTL이 TRUE이고 bCTUboundary가 FALSE이면, 다음이 적용된다:
[8-187]
Figure pct00042
- 그렇지 않고 availTL이 TRUE이고 bCTUboundary가 TRUE이면, 다음이 적용된다:
[8-188]
Figure pct00043
- 그렇지 않고 availTL이 FALSE와 동일하고 bCTUboundary가 FALSE와 동일하면, 다음이 적용된다:
[8-189]
Figure pct00044
- 그렇지 않으면(availTL이 FALSE와 동일하고 bCTUboundary가 TRUE와 동일하면), 다음이 적용된다:
[8-190]
Figure pct00045
6. cntT+ cntL이 0과 동일하지 않을 때, 변수들 minY, maxY, minC 및 maxC는 다음과 같이 도출된다:
- cntT+cntL이 2와 동일할 때, pSelComp[3]을 pSelComp[0]과 동일하게, pSelComp[2]를 pSelComp[1]과 동일하게, pSelComp[0]을 pSelComp[1]과 동일하게, 그리고 pSelComp[1]을 pSelComp[3]과 동일하게 설정하며, Comp는 DsY 및 C로 대체된다.
- 어레이들 minGrpIdx[] 및 maxGrpIdx[]는 minGrpIdx[0]=0, minGrpIdx[1]=2, maxGrpIdx[0]=1, maxGrpIdx[1]=3에 설정된다.
- pSelDsY[minGrpIdx[0]] > pSelDsY[minGrpIdx[1]]인 경우, Swap(minGrpIdx[0], minGrpIdx[1]).
- pSelDsY[maxGrpIdx[0]] > pSelDsY[maxGrpIdx[1]]인 경우, Swap(maxGrpIdx[0], maxGrpIdx[1]).
- pSelDsY[minGrpIdx[0]] > pSelDsY[maxGrpIdx[1]]인 경우, Swap(minGrpIdx, maxGrpIdx ).
- pSelDsY[minGrpIdx[1]] > pSelDsY[maxGrpIdx[0]]인 경우, Swap(minGrpIdx[1], maxGrpIdx[0]).
- maxY = ( pSelDsY[maxGrpIdx[0]] + pSelDsY[maxGrpIdx[1]] + 1 ) >> 1.
- maxC = ( pSelC[maxGrpIdx[0]] + pSelC[maxGrpIdx[1]] + 1 ) >> 1.
- minY = ( pSelDsY[minGrpIdx[0]] + pSelDsY[minGrpIdx[1]] + 1 ) >> 1 .
- minC = ( pSelC[minGrpIdx[0]] + pSelC[minGrpIdx[1]] + 1 ) >> 1.
7. 변수들 a, b, 및 k는 다음과 같이 도출된다:
- numSampL이 0과 동일하고, numSampT가 0과 동일하면, 다음이 적용된다:
[8-208]
Figure pct00046
[8-209]
Figure pct00047
[8-210]
Figure pct00048
- 그렇지 않으면, 다음이 적용된다:
[8-211]
Figure pct00049
- diff가 0과 동일하지 않은 경우, 다음이 적용된다:
[8-212]
Figure pct00050
[8-213]
Figure pct00051
[8-214]
Figure pct00052
[8-215]
Figure pct00053
[8-216]
Figure pct00054
[8-217]
Figure pct00055
[8-218]
Figure pct00056
[8-219]
Figure pct00057
[8-220]
Figure pct00058
여기서 divSigTable[ ]은 다음과 같이 특정된다:
[8-221]
Figure pct00059
- 그렇지 않은 경우(diff가 0과 동일한 경우), 다음이 적용된다:
[8-222]
Figure pct00060
[8-223]
Figure pct00061
[8-224]
Figure pct00062
8. x=0..nTbW-1, y=0..nTbH - 1인 예측 샘플들 predSamples[ x ][ y ] 는 다음과 같이 도출된다:
[8-225]
Figure pct00063
2.2.3.3 기타 인트라 예측 양태들
VTM4는 HEVC와는 상이한 많은 인트라 코딩 도구를 포함하는데, 예를 들어, 다음의 특징들이 블록 트리 구조에 더하여 VVC 테스트 모델 3에 포함되었다.
· 광각 모드 확장을 갖는 67개의 인트라 모드
· 블록 크기 및 모드 의존적 4 탭 보간 필터
· 위치 의존적 인트라 예측 조합(position dependent intra prediction combination, PDPC)
· 크로스-성분 선형 모델 인트라 예측
· 다중 참조 라인 인트라 예측
· 인트라 서브 파티션들
2.2.4 VVC에서의 인터 예측
2.2.4.1 조합된 인터 및 인트라 예측(combined inter and intra prediction, CIIP)
VTM4에서, CU가 병합 모드에서 코딩될 때, 그리고 CU가 적어도 64개의 루마 샘플을 포함하는 경우(즉, CU 폭 곱하기 CU 높이가 64 이상인 경우), 조합된 인터/인트라 예측(CIIP) 모드가 현재 CU에 적용되는지를 표시하기 위해 추가 플래그가 시그널링된다.
CIIP 예측을 형성하기 위해, 인트라 예측 모드가 먼저 2개의 추가 신택스 요소로부터 도출된다. 최대 4개의 가능한 인트라 예측 모드가 사용될 수 있다: DC, 평면, 수평, 또는 수직. 그 후, 인터 예측 및 인트라 예측 신호들이 정규 인트라 및 인터 디코딩 프로세스들을 사용하여 도출된다. 마지막으로, 인터 및 인트라 예측 신호들의 가중 평균을 수행하여 CIIP 예측을 획득한다.
2.2.4.2 기타 인터 예측 양태들
VTM4는 HEVC와는 상이한 많은 인터 코딩 도구를 포함하는데, 예를 들어, 다음의 특징들이 블록 트리 구조에 더하여 VVC 테스트 모델 3에 포함되었다.
· 아핀 모션 인터 예측
· 서브-블록 기반 시간적 모션 벡터 예측
· 적응적 모션 벡터 해상도
· 시간적 모션 예측을 위한 8x8 블록 기반 모션 압축
· 루마 성분에 대한 8-탭 보간 필터 및 크로마 성분에 대한 4-탭 보간 필터를 이용한 모션 보상 및 높은 정밀도(1/16 펠)의 모션 벡터 저장
· 삼각형 파티션들
· 조합된 인트라 및 인터 예측
· MVD와의 병합(MMVD)
· 대칭 MVD 코딩
· 양방향성 광학 흐름
· 디코더 측 모션 벡터 리파인먼트
· 양 예측 가중 평균화(Bi-predictive weighted averaging)
2.2.5 인-루프 필터들
VTM4에는 총 3개의 인-루프 필터가 존재한다. 디블로킹 필터 및 SAO(sample adaptive offset) 필터 이외에, HEVC에서의 2개의 루프 필터, ALF(adaptive loop filter)가 VTM4에서 적용된다. VTM4에서의 필터링 프로세스의 순서는 디블로킹 필터, SAO 및 ALF이다.
VTM4에서, SAO 및 디블로킹 필터링 프로세스들은 HEVC에서의 것들과 거의 동일하다.
VTM4에서, 크로마 스케일링을 이용한 루마 매핑이라고 불리는 새로운 프로세스가 추가되었다(이 프로세스는 이전에 적응적 인-루프 재성형기로서 알려졌다). 이 새로운 프로세스는 디블록킹 전에 수행된다.
2.2.6 LMCS(Luma mapping with chroma scaling, 인-루프 재성형으로도 알려짐)
VTM4에서, LMCS(luma mapping with chroma scaling)라고 불리는 코딩 도구가 루프 필터들 전에 새로운 처리 블록으로서 추가된다. LMCS는 2개의 주요 성분을 갖는다: 1) 적응적 조각별 선형 모델들에 기초한 루마 성분의 인-루프 매핑; 2) 크로마 성분들에 대해, 루마-의존적 크로마 잔차 스케일링이 적용된다. 도 4는 디코더의 관점에서 LMCS 아키텍처를 도시한다. 도 4의 밝은 청색 음영 블록들은 매핑된 도메인에서 처리가 적용되는 곳을 나타내고; 이들은 역양자화, 역변환, 루마 인트라 예측, 및 루마 잔차와 함께 루마 예측을 가산하는 것을 포함한다. 도 4의 비음영 블록들은 원래의(즉, 비매핑된) 도메인에서 처리가 적용되는 곳을 나타내고; 이들은 디블로킹, ALF, 및 SAO와 같은 루프 필터들, 모션 보상 예측, 크로마 인트라 예측, 크로마 잔차와 함께 크로마 예측을 가산하는 것, 및 참조 픽처들로서의 디코딩된 픽처들의 저장을 포함한다. 도 4의 밝은 황색 음영 블록들은 루마 신호의 순방향 및 역 매핑 및 루마-의존적 크로마 스케일링 프로세스를 포함하는 새로운 LMCS 기능 블록들이다. VVC에서의 대부분의 다른 도구들과 같이, LMCS는 SPS 플래그를 사용하여 시퀀스 레벨에서 인에이블/디스에이블될 수 있다.
2.2.6.1 조각별 선형 모델을 갖는 루마 매핑
루마 성분의 인-루프 매핑은 동적 범위에 걸쳐 코드워드들을 재분배함으로써 입력 신호의 동적 범위를 조절하여 압축 효율을 개선한다. 루마 매핑은 순방향 매핑 함수 FwdMap, 및 대응하는 역 매핑 함수 InvMap를 이용한다. FwdMap 함수는 16개의 동일한 조각을 갖는 조각별 선형 모델(piecewise linear model)을 사용하여 시그널링된다. InvMap 함수는 시그널링될 필요가 없고 대신에 FwdMap 함수로부터 도출된다.
루마 매핑 모델은 타일 그룹 레벨에서 시그널링된다. 존재 플래그가 먼저 시그널링된다. 루마 매핑 모델이 현재 타일 그룹에 존재하는 경우, 대응하는 조각별 선형 모델 파라미터들이 시그널링된다. 조각별 선형 모델은 입력 신호의 동적 레인지를 16개의 동일한 조각으로 파티셔닝하고, 각각의 조각에 대해, 그의 선형 매핑 파라미터들은 그 조각에 할당된 코드워드들의 수를 사용하여 표현된다. 예로서 10 비트 입력을 취한다. 16개의 조각 각각은 디폴트로 그것에 할당된 64개의 코드워드를 가질 것이다. 시그널링된 코드워드들의 수는 스케일링 인자를 계산하고 그에 따라 그 조각에 대한 매핑 함수를 조절하는데 이용된다. 타일 그룹 레벨에서, 또 다른 LMCS 인에이블 플래그가 도 4에 묘사된 바와 같은 LMCS 프로세스가 현재 타일 그룹에 적용되는지를 표시하기 위해 시그널링된다.
FwdMap 조각별 선형 모델의 각각의 i번째 조각(i=0...15)는 2개의 입력 피봇 포인트 InputPivot[] 및 2개의 출력(매핑된) 피봇 포인트 MappedPivot[]에 의해 정의된다.
InputPivot[] 및 MappedPivot[]는 다음과 같이 계산된다(10 비트 비디오를 가정함):
1) OrgCW=64
2) i = 0:16에 대해,
Figure pct00064
3) i=0:16에 대해, MappedPivot[i]는 다음과 같이 계산된다:
Figure pct00065
여기서,
Figure pct00066
는 i번째 조각에 대한 코드워드들의 시그널링된 수이다.
도 4에 도시된 바와 같이, 인터-코딩된 블록에 대해, 매핑된 도메인에서 모션 보상된 예측이 수행된다. 다시 말해서, 모션-보상된 예측 블록
Figure pct00067
가 DPB에서의 참조 신호들에 기초하여 계산된 후에, FwdMap 함수는 원래 도메인에서의 루마 예측 블록을 매핑된 도메인에 매핑하기 위해 적용되는데,
Figure pct00068
Figure pct00069
이다. 인트라-코딩된 블록에 대해, FwdMap 함수는 인트라 예측이 매핑된 도메인에서 수행되기 때문에 적용되지 않는다. 재구성된 블록
Figure pct00070
이 계산된 후, InvMap 함수는 매핑된 도메인에서의 재구성된 루마 값들을 원래 도메인에서의 재구성된 루마 값들로 되돌려 변환하기 위해 적용된다(
Figure pct00071
). InvMap 함수는 인트라 및 인터 코딩된 루마 블록들 둘 모두에 적용된다.
Figure pct00072
루마 매핑 프로세스(순방향 및/또는 역 매핑)는 룩업 테이블들(look-up-tables, LUT)을 사용하여 또는 온-더-플라이(on-the-fly) 계산을 사용하여 구현될 수 있다. LUT가 사용되는 경우, FwdMapLUT 및 InvMapLUT는 타일 그룹 레벨에서의 사용을 위해 미리 계산되고 미리 저장될 수 있고, 순방향 및 역 매핑은 제각기
Figure pct00073
Figure pct00074
로서 간단히 구현될 수 있다. 대안적으로, 온-더-플라이 계산이 사용될 수 있다. 예로서 순방향 매핑 함수 FwdMap를 취한다. 루마 샘플이 속하는 조각을 알아내기 위해, 샘플 값은 (16개의 동일한 조각에 대응하는) 6 비트만큼 우측 시프트된다. 그 후, 그 조각에 대한 선형 모델 파라미터들이 검색되고 온-더-플라이로 적용되어 매핑된 루마 값을 계산한다. i를 조각 인덱스라고 하고, a1, a2를 제각기 InputPivot[i] 및 InputPivot[i+1]이라고 하고, b1, b2를 제각기 MappedPivot[i] 및 MappedPivot[i+1]이라고 하자. FwdMap 함수는 다음과 같이 값이 구해진다:
Figure pct00075
InvMap 함수는, 매핑된 도메인에서의 조각들이 동일한 크기가 아니기 때문에, 샘플 값이 속하는 조각을 알아낼 때 간단한 우측 비트 시프트 대신에 조건부 검사들이 적용될 필요가 있다는 점을 제외하고는, 유사한 방식으로 온-더-플라이로 계산될 수 있다.
2.2.6.2 루마 의존적 크로마 잔차 스케일링
크로마 잔차 스케일링은 루마 신호와 그것의 대응하는 크로마 신호들 사이의 상호작용을 보상하도록 설계된다. 크로마 잔차 스케일링이 인에이블되는지 여부는 또한 타일 그룹 레벨에서 시그널링된다. 루마 매핑이 인에이블되면 그리고 이중 트리 파티션(별개의 크로마 트리라고도 알려짐)이 현재 타일 그룹에 적용되지 않으면, 루마 의존적 크로마 잔차 스케일링이 인에이블되는지 여부를 표시하기 위해 추가 플래그가 시그널링된다. 루마 매핑이 사용되지 않을 때, 또는 이중 트리 파티션이 현재 타일 그룹에서 사용될 때, 루마 의존적 크로마 잔차 스케일링이 디스에이블된다. 또한, 루마 의존적 크로마 잔차 스케일링은 그 면적이 4 이하인 크로마 블록들에 대하여 항상 디스에이블된다.
크로마 잔차 스케일링은 (인트라-코딩된 블록 및 인터-코딩된 블록 둘 다에 대한) 대응하는 루마 예측 블록의 평균값에 의존한다.
Figure pct00076
를 루마 예측 블록의 평균으로 표시한다.
Figure pct00077
의 값은 다음의 단계들에서 계산된다:
Figure pct00078
1) InvMap 함수에 기초하여
Figure pct00079
가 속하는 조각별 선형 모델의 인덱스
Figure pct00080
을 찾는다.
Figure pct00081
2)
Figure pct00082
, 여기서 cScaleInv[]은 사전 계산된 16-조각 LUT이다.
현재 블록이 인트라, CIIP, 또는 IBC(Intra Block Copy, 현재 픽처 참조 또는 CPR로도 알려짐) 모드들로서 코딩되면,
Figure pct00083
는 인트라-, CIIP-, 또는 IBC-예측된 루마 값들의 평균으로서 계산된다; 그렇지 않으면,
Figure pct00084
는 순방향 매핑된 인터 예측된 루마 값들(도 4의
Figure pct00085
)의 평균으로서 계산된다. 샘플 기반으로 수행되는 루마 매핑과는 달리,
Figure pct00086
은 전체 크로마 블록에 대해 상수 값이다.
Figure pct00087
에 의해, 크로마 잔차 스케일링은 다음과 같이 적용된다:
Figure pct00088
인코더 측:
Figure pct00089
디코더 측:
Figure pct00090
2.2.6.3 JVET-N0220에서의 채택을 갖는 JVET-M1001_v7에서의 대응하는 작업 초안
다음의 사양은 JVET-M1001의 수정된 작업 초안 및 JVET-N0220에서의 채택에 기초한다. 채택된 JVET-N0220에서의 수정은 볼드체 및 밑줄로 도시된다.
신택스 테이블들
7.3.2.1 시퀀스 파라미터 세트 RBSP 신택스에서
Figure pct00091
7.3.4.1 일반 타일 그룹 헤더 신택스에서
Figure pct00092
7.3.4.4 크로마 스케일링 데이터 신택스를 갖는 루마 매핑에서
Figure pct00093
시맨틱
7.4.3.1 시퀀스 파라미터 세트 RBSP 시맨틱에서
1과 동일한 sps_lmcs_enabled_flag 는 크로마 스케일링을 갖는 루마 매핑이 CVS에서 사용되는 것을 지정한다. 0과 동일한 sps_lmcs_enabled_flag는 LMCS(luma mapping with chroma scaling)가 CVS에서 사용되지 않는 것을 지정한다.
1과 동일한 tile_group_lmcs_model_present_flag 는 lmcs_data()가 타일 그룹 헤더에 존재함을 지정한다. 0과 동일한 tile_group_lmcs_model_present_flag는 lmcs_data()가 타일 그룹 헤더에 존재하지 않는 것을 지정한다. tile_group_lmcs_model_present_flag가 존재하지 않을 때, 이것은 0과 동일한 것으로 추론된다.
1과 동일한 tile_group_lmcs_enabled_flag 는 LMCS(luma mapping with chroma scaling)가 현재 타일 그룹에 대해 인에이블되는 것을 지정한다. 0과 동일한 tile_group_lmcs_enabled_flag는 LMCS(luma mapping with chroma scaling)가 현재 타일 그룹에 대해 인에이블되지 않는 것을 지정한다. tile_group_lmcs_enabled_flag가 존재하지 않을 때, 이것은 0과 동일한 것으로 추론된다.
1과 동일한 tile_group_chroma_residual_scale_flag 는 크로마 잔차 스케일링이 현재 타일 그룹에 대해 인에이블되는 것을 지정한다. 0과 동일한 tile_group_chroma_residual_scale_flag는 크로마 잔차 스케일링이 현재 타일 그룹에 대해 인에이블되지 않는 것을 지정한다. tile_group_chroma_residual_scale_flag가 존재하지 않을 때, 이것은 0과 동일한 것으로 추론된다.
7.4.5.4 LMCS(luma mapping with chroma scaling) 데이터 시맨틱
lmcs_min_bin_idx 는 크로마 스케일링을 이용한 루마 매핑 구성 프로세스에서 사용되는 최소 빈 인덱스를 지정한다. lmcs_min_bin_idx의 값은 0 내지 15(경계 포함)의 범위에 있을 것이다.
lmcs_delta_max_bin_idx 는 15와 LMCS(luma mapping with chroma scaling) 구성 프로세스에서 사용되는 최대 빈 인덱스 LmcsMaxBinIdx 사이의 델타 값을 지정한다. lmcs_delta_max_bin_idx의 값은 0 내지 15(경계 포함)의 범위에 있을 것이다. LmcsMaxBinIdx의 값은 15-lmcs_delta_max_bin_idx과 동일하게 설정된다. LmcsMaxBinIdx의 값은 lmcs_min_bin_idx 이상일 것이다.
lmcs_delta_cw_prec_minus1 더하기 1은 신택스 lmcs_delta_abs_cw[ i ]의 표현을 위하여 사용된 비트들의 수를 지정한다. lmcs_delta_cw_prec_minus1의 값은 0 내지 BitDepthY-2(경계 포함)의 범위에 있을 것이다.
lmcs_delta_abs_cw [ i ]는 i번째 빈에 대한 절대 델타 코드워드 값을 지정한다.
lmcs_delta_sign_cw_flag [ i ]는 변수 lmcsDeltaCW[ i ] 부호를 다음과 같이 지정한다:
- lmcs_delta_sign_cw_flag[ i ]가 0이면, lmcsDeltaCW[ i ]는 양의 값이다.
- 그렇지 않으면(lmcs_delta_sign_cw_flag[ i ]가 0과 동일하지 않음), lmcsDeltaCW[ i ]는 음의 값이다.
lmcs_delta_sign_cw_flag[ i ]가 존재하지 않을 때, 이것은 0과 동일한 것으로 추론된다.
변수 OrgCW는 다음과 같이 도출된다:
[7-70]
Figure pct00094
Figure pct00095
인 변수 lmcsDeltaCW[ i ]는 다음과 같이 도출된다:
[7-71]
Figure pct00096
변수 lmcsCW[ i ]는 다음과 같이 도출된다:
- i=0..lmcs_min_bin_idx-1에 대해, lmcsCW[i]는 0과 동일하게 설정된다.
- i=lmcs_min_bin_idx..LmcsMaxBinIdx에 대해, 다음이 적용된다:
[7-72]
Figure pct00097
lmcsCW[ i ]의 값은 (OrgCW>>3) 내지 (OrgCW<<3-1)(경계 포함)의 범위에 있을 것이다.
- i=LmcsMaxBinIdx+1..15에 대해, lmcsCW[ i ]는 0과 동일하게 설정된다.
다음의 조건이 참이라는 것은 비트스트림 적합성의 요건이다:
[7-73]
Figure pct00098
i=0..16인 변수 InputPivot[ i ]는 다음과 같이 도출된다:
[7-74]
Figure pct00099
i=0..16인 변수 LmcsPivot[ i ], i=0..15인 변수들 ScaleCoeff[ i ] 및 InvScaleCoeff[ i ]는 다음과 같이 도출된다:
[7-75]
Figure pct00100
Figure pct00101
i=0...15인 변수 ChromaScaleCoeff[ i ]는 다음과 같이 도출된다:
Figure pct00102
Figure pct00103
변수들 ClipRange, LmcsMinVal, 및 LmcsMaxVal은 다음과 같이 도출된다:
[7-77]
Figure pct00104
[7-78]
Figure pct00105
[7-79]
Figure pct00106
주의 - 어레이들 InputPivot[ i ] 및 LmcsPivot[ i ], ScaleCoeff[ i ], 및 InvScaleCoeff[ i ], ChromaScaleCoeff[ i ], ClipRange, LmcsMinVal 및 LmcsMaxVal은 tile_group_lmcs_model_present_flag가 1과 동일할 때에만 업데이트된다. 따라서, lmcs 모델은 예를 들어, IRAP 픽처로 송신될 수 있지만, lmcs는 그 IRAP 픽처에 대해 디스에이블된다.
3. 기존 구현들의 단점들
LMCS/CCLM의 현행의 설계는 다음의 문제점들을 가질 수 있다:
1. LMCS 코딩 도구에서, 크로마 잔차 스케일링 인자가 병치된 루마 예측 블록의 평균값에 의해 도출되고, 이는 LMCS 크로마 잔차 스케일링에서 크로마 샘플들을 처리하기 위한 레이턴시를 초래한다.
a) 단일/공유 트리의 경우, 레이턴시는 (a) 이용 가능한 전체 루마 블록의 모든 예측 샘플들을 대기하고, (b) (a)에 의해 획득된 모든 루마 예측 샘플들을 평균함으로써 유발된다.
b) 이중/개별 트리의 경우, 루마 및 크로마 성분들에 대한 개별 블록 파티셔닝 구조가 I 슬라이스들에서 가능해지기 때문에 레이턴시가 더 나빠진다. 따라서, 하나의 크로마 블록은 다수의 루마 블록에 대응할 수 있고, 하나의 4x4 크로마 블록은 64x64 루마 블록에 대응할 수 있다. 따라서, 최악의 경우는 현재 4x4 크로마 블록의 크로마 잔차 스케일링 인자가 전체 64x64 루마 블록에서의 모든 예측 샘플들이 이용 가능해질 때까지 기다릴 필요가 있을 수 있다는 것이다. 즉, 이중/개별 트리에서의 레이턴시 문제는 훨씬 더 심각할 것이다.
2. CCLM 코딩 도구에서, 인트라 크로마 예측을 위한 CCLM 모델 계산은 루마 블록 및 크로마 블록 둘 다의 좌측 및 상부 참조 샘플들에 의존한다. 그리고 크로마 블록에 대한 CCLM 예측은 동일한 CU의 병치된 루마 재구성된 샘플들에 의존한다. 이는 이중/개별 트리에서 높은 레이턴시를 유발할 것이다.
· 이중/개별 트리의 경우, 하나의 4x4 크로마 블록은 64x64 루마 블록에 대응할 수 있다. 따라서, 최악의 경우는 현재 크로마 블록에 대한 CCLM 프로세스가 대응하는 전체 64x64 루마 블록이 재구성될 때까지 기다릴 필요가 있을 수 있다는 것이다. 이러한 레이턴시 문제는 이중/개별 트리에서의 LMCS 크로마 스케일링과 유사하다.
4. 예시적인 기법들 및 실시예들
문제들을 다루기 위해, 루마-의존적 크로마 잔차 스케일링, CCLM, 및 상이한 컬러 성분으로부터의 정보에 의존하는 다른 코딩 도구들에서의 크로스-성분 의존성을 제거/감소/제한하기 위한 몇몇 방법들을 제안한다.
아래에 설명되는 상세한 실시예들은 일반적인 개념들을 설명하기 위한 예들로서 고려되어야 한다. 이러한 실시예들은 좁게 해석해서는 안 된다. 더욱이, 이들 실시예들은 임의의 방식으로 조합될 수 있다.
아래에 설명되는 불릿(bullet)들은 LMCS/CCLM을 명시적으로 언급하지만, 방법들은 또한 상이한 컬러 성분으로부터의 정보에 의존하는 다른 코딩 도구들에 적용가능할 수 있다는 점에 유의한다. 또한, 아래에 언급된 용어 '루마' 및 '크로마'는 RGB 컬러 포맷에서의 'G 성분' 및 'B/R 성분'과 같은 '제1 컬러 성분' 및 '제2 컬러 성분'으로 제각기 대체될 수 있다.
이하의 논의에서, "병치된 샘플/블록"의 정의는 VVC 작업 초안 JVET-M1001에서의 병치된 샘플/블록의 정의와 궤를 같이 한다. 더 구체적으로, 4:2:0 컬러 포맷에서, 크로마 블록의 상단 좌측 샘플이 위치 (xTbC, yTbC)에 있다고 가정하면, 병치된 루마 블록 위치 (xTbY, yTbY)의 상단 좌측 샘플은 다음과 같이 도출된다: (xTbY, yTbY) = (xTbC << 1, yTbC << 1). 도 5에 예시된 바와 같이, 현재 크로마 블록의 상단 좌측 샘플은 크로마 픽처에서 (x=16, y=16)에 위치되고, 이어서 그의 병치된 루마 블록의 상단 좌측 샘플은, 루마 픽처에서의 병치된 루마 블록의 블록 파티션에 관계없이, 루마 픽처에서 (x=32, y=32)에 위치된다. 또 다른 예를 들면, 동일한 컬러 성분에 대해 말하자면, 도 6에 예시된 바와 같이, 참조 프레임에서의 병치된 블록의 상단 좌측 샘플의 위치는 현재 프레임에서의 현재 블록의 상단 좌측 샘플의 위치와 동일해야 하고, 현재 블록의 상단 좌측 샘플이 현재 프레임에서 (x,y)라고 가정하면, 현재 블록의 병치된 블록의 상단 좌측 샘플은 참조 프레임에서 동일한 위치 (x,y)를 갖는다.
이하의 논의에서, "대응하는 블록"은 현재 블록과 상이한 위치를 가질 수 있다. 예를 들어, 현재 블록과 참조 프레임에서의 그것의 대응하는 블록 사이에 모션 시프트가 있을 수 있다. 도 6에 예시된 바와 같이, 현재 블록이 현재 프레임에서의 (x,y)에 위치하고, 모션 벡터 (mvx, mvy)를 갖는다고 가정하면, 현재 블록의 대응하는 블록은 참조 프레임에서 (x+mvx,y+mvy)에 위치할 수 있다. 그리고 IBC 코딩된 블록에 대해, 병치된 루마 블록(제로 벡터에 의해 포인팅됨) 및 대응하는 루마 블록(비제로-BV에 의해 포인팅됨)은 현재 프레임의 상이한 장소들에 위치할 수 있다. 또 다른 예로서, 루마 블록의 파티션이 (I 슬라이스들의 이중 트리 파티션에서) 크로마 블록의 파티션과 정렬되지 않을 때, 현재 크로마 블록의 병치된 루마 블록은 병치된 루마 블록의 상단 좌측 샘플을 커버하는 중첩된 루마 코딩 블록의 파티션 크기에 의존하는 더 큰 루마 블록에 속할 수 있다. 도 5에 예시된 바와 같이, 굵은 직사각형이 블록의 파티션들을 나타낸다고 가정하고, 따라서 64x64 루마 블록이 BT에 의해 먼저 스플릿되고, 이어서 64x64 루마 블록의 우측 부분이 TT에 의해 더 스플릿되며, 이는 제각기 32x16, 32x32, 32x16과 동일한 크기들의 3개의 루마 블록이라는 결과를 낳게 된다. 따라서, 현재 크로마 블록의 병치된 루마 블록의 상단 좌측 샘플(x=32, y=32)을 보면, 그것은 TT 파티션의 중심 32x32 루마 블록에 속한다. 이 경우, 병치된 루마 블록의 상단 좌측 샘플을 커버하는 대응하는 루마 블록을 "대응하는 루마 블록"이라고 부른다. 따라서, 이 예에서, 대응하는 루마 블록의 상단 좌측 샘플은 (x=32, y=16)에 위치한다.
이후, DMVD(decoder-side motion vector derivation)는 BDOF(BIO라고도 알려짐) 및/또는 DMVR(decode-side motion vector refinement) 및/또는 FRUC(frame rate up-conversion) 및/또는 디코더에서 모션 벡터 및/또는 예측 샘플 값을 리파인하는 다른 방법을 표현하는데 이용된다.
LMCS의 크로마 스케일링 레이턴시의 제거 및 CCLM의 모델 계산
1. 인터-코딩된 블록에 대해, 참조 프레임들에서의 현재 블록의 하나 또는 다수의 참조 샘플이 LMCS 모드에서 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있는 것이 제안된다.
a) 일 예에서, 참조 루마 샘플들은 크로마 잔차 스케일링 인자를 도출하기 위해 직접 사용될 수 있다.
i. 대안적으로, 보간이 먼저 참조 샘플들에 적용될 수 있고, 보간된 샘플들은 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다.
ii. 대안적으로, 상이한 참조 프레임들에서의 참조 샘플들은 크로마 잔차 스케일링 인자 도출을 위해 사용되는 최종 참조 샘플들을 도출하기 위해 이용될 수 있다.
1) 일 예에서, 양 예측(bi-prediction) 코딩된 블록들의 경우, 위의 방법이 적용될 수 있다.
iii. 일 예에서, 참조 샘플들의 강도들은 크로마 잔차 스케일링 인자를 도출하기 위해 사용되기 전에 재성형 도메인으로 변환될 수 있다.
iv. 일 예에서, 참조 샘플들의 선형 조합은 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다.
1) 예를 들어, axS+b는 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있으며, 여기서 S는 참조 샘플이고, a 및 b는 파라미터들이다. 일 예에서, a 및 b는 국지적 조명 보상(Localized Illuminate Compensation, LIC)에 의해 도출될 수 있다.
b) 일 예에서, 참조 프레임에서의 참조 루마 샘플들의 위치는 현재 블록의 모션 벡터(들)에 의존할 수 있다.
i. 일 예에서, 참조 샘플은, 참조 픽처에 있고 현재 루마 블록과 동일한 폭 및 높이를 갖는 참조 루마 블록에 속한다. 참조 픽처에서의 참조 루마 샘플의 위치는 현재 픽처에서의 그것의 대응하는 루마 샘플의 위치로서 계산되어, 모션 벡터를 추가할 수 있다.
ii. 일 예에서, 참조 루마 샘플들의 위치는 참조 프레임에서의 대응하는 루마 샘플로 지칭되는, 현재 루마 블록 및 현재 블록의 모션 벡터의 상단 좌측(또는 중심, 또는 하단 우측) 샘플의 위치에 의해 도출될 수 있다.
1) 일 예에서, 정수 모션 벡터가 참조 프레임에서의 대응하는 루마 샘플을 도출하기 위해 사용될 수 있다. 일 예에서, 하나의 블록과 연관된 모션 벡터는 제로를 향해 반올림되거나, 제로로부터 반올림되어 정수 모션 벡터를 도출할 수 있다.
2) 대안적으로, 분수 모션 벡터가 참조 프레임에서의 대응하는 루마 샘플을 도출하기 위해 사용될 수 있어서, 분수 참조 샘플들을 도출하기 위해 보간 프로세스가 요구될 수 있도록 한다.
iii. 대안적으로, 참조 루마 샘플들의 위치는 현재 루마 블록의 상단 좌측(또는 중심, 또는 하단 우측) 샘플의 위치에 의해 도출될 수 있다.
iv. 대안적으로, 참조 프레임에서의 일부 사전 정의된 위치들에서의 다수의 대응하는 루마 샘플을 선택하여 크로마 잔차 스케일링 인자를 계산할 수 있다.
c) 일 예에서, 다수의 참조 루마 샘플의 중앙값 또는 평균값은 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다.
d) 일 예에서, 사전 정의된 참조 프레임들에서의 참조 루마 샘플들은 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다.
i. 일 예에서, 사전 정의된 참조 프레임은 참조 픽처 리스트 0의 0과 동일한 참조 인덱스를 갖는 것일 수 있다.
ii. 대안적으로, 사전 정의된 참조 프레임에 대한 참조 인덱스 및/또는 참조 픽처 리스트는 시퀀스/픽처/타일 그룹/슬라이스/타일/CTU 행/비디오 유닛 레벨에서 시그널링될 수 있다.
iii. 대안적으로, 다수의 참조 프레임에서의 참조 루마 샘플들이 도출될 수 있고, 평균화된 또는 가중화된 평균값들이 크로마 잔차 스케일링 인자를 획득하기 위해 이용될 수 있다.
2. LMCS 모드에서 루마 샘플들로부터 크로마 잔차 스케일링 인자를 도출할지 및 어떻게 도출할지는 현재 블록이 양 예측(bi-prediction)을 적용하는지에 의존할 수 있다는 것이 제안된다.
a) 일 예에서, 크로마 잔차 스케일링 인자는 각각의 예측 방향에 대해 개별적으로 도출된다.
3. LMCS 모드에서 루마 샘플들로부터 크로마 잔차 스케일링 인자를 도출할지 및 어떻게 도출할지는 현재 블록이 서브-블록-기반 예측을 적용하는지에 의존할 수 있다는 것이 제안된다.
a) 일 예에서, 서브-블록-기반 예측은 아핀 예측이다;
b) 일 예에서, 서브-블록-기반 예측은 ATMVP(Alternative Temporal Motion Vector Prediction)이다.
c) 일 예에서, 크로마 잔차 스케일링 인자는 각각의 서브-블록에 대해 개별적으로 도출된다.
d) 일 예에서, 크로마 잔차 스케일링 인자는 이것이 서브-블록들에 의해 예측되더라도 전체 블록에 대해 도출된다.
i. 일 예에서, 하나의 선택된 서브-블록(예를 들어, 상단 좌측 서브-블록)의 모션 벡터가 불릿 1에서 설명된 것과 같은 현재 블록의 참조 샘플들을 식별하기 위해 사용될 수 있다.
4. 크로마 잔차 스케일링 인자를 도출하기 위해 사용되는 루마 예측 값들이 최종 루마 예측 값 대신에 중간 루마 예측 값일 수 있는 것이 제안된다.
a) 일 예에서, BDOF(Bi-Directional Optical Flow, BIO로도 알려짐)의 프로세스 전의 루마 예측 값들이 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다.
b) 일 예에서, DMVR(Decoder-side Motion Vector Refinement)의 프로세스 전의 루마 예측 값들이 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다.
c) 일 예에서, LIC의 프로세스 전의 루마 예측 값들이 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다.
d) 일 예에서, JVET-N0236에서 제안된 바와 같은 PROF(Prediction Refinement Optical Flow)의 프로세스 전의 루마 예측 값들이 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다.
5. 중간 모션 벡터들은 참조 샘플들을 식별하기 위해 사용될 수 있다.
a) 일 예에서, BDOF 및/또는 DMVR 및/또는 기타의 DMVD 방법들의 프로세스 전의 모션 벡터가 참조 샘플들을 식별하는데 사용될 수 있다.
b) 일 예에서, JVET-N0236에서 제안된 바와 같은 PROF(Prediction Refinement Optical Flow)의 프로세스 전의 모션 벡터가 참조 샘플들을 식별하기 위해 사용될 수 있다.
6. 위의 방법들은 현재 블록이 인터 모드로 코딩될 때 적용될 수 있다.
7. IBC-코딩된 블록에 대해, 현재 프레임의 참조 블록에서의 하나 또는 다수의 참조 샘플이 LMCS 모드에서 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있는 것이 제안된다. 블록이 IBC-코딩될 때, 용어 "모션 벡터"는 또한 "블록 벡터"로서 지칭될 수 있고, 여기서 참조 픽처는 현재 픽처로서 설정된다.
a) 일 예에서, 참조 샘플은, 현재 픽처에 있고 현재 블록과 동일한 폭 및 높이를 갖는 참조 블록에 속한다. 참조 샘플의 위치는 모션 벡터를 추가하는 그것의 대응하는 샘플의 위치로서 계산될 수 있다.
b) 일 예에서, 참조 루마 샘플들의 위치는 모션 벡터를 추가하는 현재 루마 블록의 상단 좌측(또는 중심, 또는 하단 우측) 샘플의 위치에 의해 도출될 수 있다.
c) 대안적으로, 참조 루마 샘플들의 위치는 현재 블록의 블록 벡터를 추가하는 현재 루마 블록의 상단 좌측(또는 중심, 또는 하단 우측) 샘플의 위치에 의해 도출될 수 있다.
d) 대안적으로, 현재 루마 블록의 참조 영역에서의 일부 사전 정의된 위치들에서의 다수의 대응하는 루마 샘플을 선택하여 크로마 잔차 스케일링 인자를 계산할 수 있다.
e) 일 예에서, 다수의 대응하는 루마 샘플은 크로마 잔차 스케일링 인자를 도출하기 위한 함수로 계산될 수 있다.
i. 예를 들어, 크로마 잔차 스케일링 인자를 도출하기 위해 다수의 대응하는 루마 샘플의 중앙 값 또는 평균 값이 계산될 수 있다.
f) 일 예에서, 참조 샘플들의 강도들은 크로마 잔차 스케일링 인자를 도출하기 위해 사용되기 전에 재성형 도메인으로 변환될 수 있다.
i. 대안적으로, 참조 샘플들의 강도들은 크로마 잔차 스케일링 인자를 도출하기 위해 사용되기 전에 원래의 도메인으로 변환될 수 있다.
8. 현재 프레임에서의 현재 루마 블록의 식별된 위치(들)에 위치하는 하나 또는 다수의 예측/재구성된 샘플이 LMCS 모드에서 현재 크로마 블록에 대한 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있는 것이 제안된다.
a) 일 예에서, 현재 블록이 인터-코딩되는 경우, 현재 루마 블록의 중심에 위치하는 루마 예측(또는 재구성) 샘플을 선택하여 크로마 잔차 스케일링 인자를 도출할 수 있다.
b) 일 예에서, 크로마 잔차 스케일링 인자를 도출하기 위해 제1 MxN 루마 예측(또는 재구성) 샘플들의 평균값이 선택될 수 있으며, 여기서 MxN은 병치된 루마 블록 크기 폭x높이보다 작을 수 있다.
9. CCLM 모델을 계산하기 위하여 이용된 절차의 전체 또는 일부는 LMCS 모드에서의 현재 크로마 블록의 크로마 잔차 스케일링 인자 도출을 위하여 이용될 수 있다는 것이 제안된다.
a) 일 예에서, CCLM 모델 파라미터 도출 프로세스에서 병치된 루마 블록의 이웃 루마 샘플들의 식별된 위치들에 위치하는 참조 샘플들은 크로마 잔차 스케일링 인자를 도출하기 위해 이용될 수 있다.
i. 일 예에서, 이들 참조 샘플들은 직접 이용될 수 있다.
ii. 대안적으로, 다운샘플링이 이들 참조 샘플들에 적용될 수 있고, 다운샘플링된 참조 샘플들이 적용될 수 있다.
b) 일 예에서, CCLM 모델 계산을 위해 선택된 S개의 참조 샘플 중 K개가 LMCS 모드에서 크로마 잔차 스케일링 인자 도출을 위해 사용될 수 있다. 예를 들어, K는 1과 동일하고 S는 4와 동일하다.
c) 일 예에서, CCLM 모드에서의 병치된 루마 블록의 참조 샘플들의 평균/최소/최대 값은 LMCS 모드에서 크로마 잔차 스케일링 인자 도출을 위해 사용될 수 있다.
10. 크로마 잔차 스케일링 인자들의 도출을 위해 샘플들을 어떻게 선택할지는 현재 블록의 코딩된 정보에 의존할 수 있다.
a) 코딩된 정보는 QP, 코딩 모드, POC, 인트라-예측 모드, 모션 정보 등을 포함할 수 있다.
b) 일 예에서, IBC 코딩된 또는 비-IBC 코딩된 블록들에 대해, 샘플들을 선택하는 방식은 상이할 수 있다.
c) 일 예에서, 샘플들을 선택하는 방식은 참조 픽처들과 현재 픽처 사이의 POC 거리와 같은 참조 픽처 정보에 기초하여 상이할 수 있다.
11. CCLM의 모델 계산 및/또는 크로마 잔차 스케일링 인자는 병치된 루마 블록의 상단 좌측 샘플을 커버하는 대응하는 루마 블록의 이웃 샘플들에 의존할 수 있다는 것이 제안된다.
a) "대응하는 루마 코딩 블록"은 병치된 루마 코딩 블록의 상단 좌측 위치를 커버하는 코딩 블록으로서 정의될 수 있다.
i. 도 5는 이중 트리 경우의 인트라-코딩된 크로마 블록에 대해 크로마 성분의 CTU 파티션이 루마 성분의 CTU 파티션과 상이할 수 있는 예를 도시한다. 먼저, 현재 크로마 블록의 병치된 루마 블록의 상단 좌측 샘플을 커버하는 "대응하는 루마 코딩 블록"이 검색된다. 그 후, "대응하는 루마 코딩 블록"의 블록 크기 정보를 사용함으로써, "대응하는 루마 코딩 블록"의 상단 좌측 샘플이 도출될 수 있고, 병치된 루마 블록의 상단 좌측 샘플을 커버하는 "대응하는 루마 코딩 블록"의 상단 좌측 루마 샘플은 (x=32, y=16)에 위치된다.
b) 일 예에서, "대응하는 루마 코딩 블록"에 있지 않은 재구성된 샘플들은 CCLM의 모델 계산 및/또는 크로마 잔차 스케일링 인자를 도출하기 위하여 이용될 수 있다.
i. 일 예에서, "대응하는 루마 코딩 블록"에 인접한 재구성된 샘플들은 CCLM의 모델 계산 및/또는 크로마 잔차 스케일링 인자를 도출하기 위하여 이용될 수 있다.
1) 일 예에서, "대응하는 루마 코딩 블록"의 좌측 이웃 열들 및/또는 상부 이웃 행들에 위치된 N개의 샘플은 CCLM의 모델 계산 및/또는 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있고, 여기서 N=1...2W+2H이고, W 및 H는 "대응하는 루마 코딩 블록"의 폭 및 높이이다.
a) "대응하는 루마 코딩 블록"의 상단 좌측 샘플이 (xCb, yCb)라고 가정하면, 일 예에서, 상부 이웃 루마 샘플은 (xCb + W/2, yCb -1), 또는 (xCb -1, yCb -1)에 위치할 수 있다. 대안적인 예에서, 좌측 이웃 루마 샘플은 (xCb+W-1, yCb-1)에 위치할 수 있다.
b) 일 예에서, 이웃 샘플(들)의 위치(들)는 고정될 수 있고, 및/또는 사전 정의된 검사 순서에 있을 수 있다.
2) 일 예에서, CCLM의 모델 계산 및/또는 크로마 잔차 스케일링 인자를 도출하기 위해 N개의 이웃 샘플 중 1개가 선택될 수 있다. N=3이고, 3개의 이웃 샘플 (xCb-1, yCb-H-1), (xCb+ W/2, yCb-1), (xCb-1, yCb-1)의 검사 순서를 가정하면, 검사 리스트에서의 제1 이용 가능한 이웃 샘플이 크로마 잔차 스케일링 인자를 도출하기 위해 선택될 수 있다.
3) 일 예에서, "대응하는 루마 코딩 블록"의 좌측 이웃 열들 및/또는 상부 이웃 행들에 위치된 N개의 샘플의 중앙값 또는 평균값은 CCLM의 모델 계산 및/또는 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있고, 여기서 N=1...2W+2H이고, W 및 H는 "대응하는 루마 코딩 블록"의 폭 및 높이이다.
c) 일 예에서, 크로마 잔차 스케일링을 수행할지는 대응하는 루마 블록의 "이용가능한" 이웃 샘플들에 의존할 수 있다.
i. 일 예에서, 이웃 샘플들의 "가용성"은 현재 블록/서브-블록의 인코딩 모드 및/또는 이웃 샘플의 인코딩 모드에 의존할 수 있다.
1) 일 예에서, 인터 모드에서 코딩된 블록에 대해, 인트라 모드 및/또는 IBC 모드 및/또는 CIIP 모드 및/또는 LIC 모드에서 코딩된 이웃 샘플들은 "이용가능하지 않은" 것으로 간주될 수 있다.
2) 일 예에서, 인터 모드에서 코딩된 블록에 대해, 이웃 샘플들은 확산 필터 및/또는 쌍방 필터(bilateral filter)를 채택하고 및/또는 하다마드 변환 필터는 "이용가능하지 않은" 것으로 간주될 수 있다.
ii. 일 예에서, 이웃 샘플들의 "가용성"은 현재 픽처/타일/타일 그룹/VPDU/슬라이스의 폭 및/또는 높이에 의존할 수 있다.
1) 일 예에서, 이웃 블록이 현재 픽처 외부에 위치하면, 그것은 "이용가능하지 않은" 것으로 취급된다.
iii. 일 예에서, 어떤 "이용가능한" 이웃 샘플도 없을 때, 크로마 잔차 스케일링은 허용되지 않을 수 있다.
iv. 일 예에서, "이용가능한" 이웃 샘플들의 수가 K보다 작을 때(K >=1), 크로마 잔차 스케일링은 허용되지 않을 수 있다.
v. 대안적으로, 이용가능하지 않은 이웃 샘플은 디폴트 고정 값, 또는 패딩, 또는 대체에 의해 채워질 수 있어서, 크로마 잔차 스케일링이 항상 적용될 수 있도록 한다.
1) 일 예에서, 이웃 샘플이 이용가능하지 않은 경우, 그것은 1 << ( bitDepth - 1 )에 의해 채워질 수 있고, 여기서, bitDepth는 루마/크로마 성분들의 샘플들의 비트 심도를 지정한다.
2) 대안적으로, 이웃 샘플이 이용가능하지 않은 경우, 그것은 좌측/우측/상단/하단 이웃에 위치된 주변 샘플들로부터 패딩함으로써 채워질 수 있다.
3) 대안적으로, 이웃 샘플이 이용가능하지 않은 경우, 그것은 사전 정의된 검사 순서로 제1 이용가능한 인접 샘플에 의해 대체될 수 있다.
d) 일 예에서, "대응하는 루마 코딩 블록"에 이웃하는 필터링된/매핑된 재구성된 샘플들은 CCLM의 모델 계산 및/또는 크로마 잔차 스케일링 인자를 도출하기 위하여 이용될 수 있다.
i. 일 예에서, 필터링/매핑 프로세스는 인트라 블록들에 대한 참조 평활화 필터링, 쌍방 필터와 같은 포스트-필터링, 하다마드 변환 기반의 필터, 재성형기 도메인의 순방향 매핑 등을 포함할 수 있다.
크로마 잔차 스케일링 및/또는 CCLM이 적용되는지 여부에 대한 제한
12. 크로마 잔차 스케일링 또는 CCLM이 적용되는지 여부는 대응하는 및/또는 병치된 루마 블록의 파티션에 의존할 수 있다는 것이 제안된다.
a) 일 예에서, 크로스-성분 정보로 도구들을 인에이블할지 또는 디스에이블할지는 병치된 루마(예를 들어, Y 또는 G 성분) 블록 내의 CU/PU/TU들의 수에 의존할 수 있다.
i. 일 예에서, 병치된 루마(예로서, Y 또는 G 성분) 블록 내의 CU/PU/TU들의 수가 임계값을 초과하는 경우, 그러한 도구들은 디스에이블될 수 있다.
ii. 대안적으로, 크로스-성분 정보로 도구들을 인에이블할지 또는 디스에이블할지는 파티션 트리 깊이에 의존할 수 있다.
1) 일 예에서, 병치된 루마 블록 내의 CU들의 최대(또는 최소 또는 평균 또는 다른 변동) 쿼드트리 깊이가 임계값을 초과하는 경우, 그러한 도구들은 디스에이블될 수 있다.
2) 일 예에서, 병치된 루마 블록 내의 CU들의 최대(또는 최소 또는 평균 또는 다른 변동) BT 및/또는 TT 깊이가 임계값을 초과하는 경우, 그러한 도구들은 디스에이블될 수 있다.
iii. 대안적으로, 게다가, 크로스-성분 정보로 도구들을 인에이블할지 또는 디스에이블할지는 크로마 블록의 블록 치수에 의존할 수 있다.
iv. 대안적으로, 게다가, 크로스-성분 정보로 도구들을 인에이블할지 또는 디스에이블할지는 병치된 루마가 다수의 VPDU/사전 정의된 영역 크기들을 크로스(cross)하는지에 의존할 수 있다.
v. 상기 논의에서의 임계값들은 고정된 수일 수 있거나, 또는 시그널링될 수 있거나, 또는 표준 프로파일들/레벨들/계층(tier)들에 의존할 수 있다.
b) 일 예에서, 현재 크로마 블록의 병치된 루마 블록이 다수의 파티션에 의해 분할되는 경우(예를 들어, 도 7에서), 크로마 잔차 스케일링 및/또는 CCLM은 금지될 수 있다.
i. 대안적으로, 현재 크로마 블록의 병치된 루마 블록이 (예를 들어, 하나의 CU/TU/PU 내에서) 스플릿되지 않는 경우, 크로마 잔차 스케일링 및/또는 CCLM이 적용될 수 있다.
c) 일 예에서, 현재 크로마 블록의 병치된 루마 블록이 M개를 초과하는 CU/PU/TU를 포함하는 경우, 크로마 잔차 스케일링 및/또는 CCLM이 금지될 수 있다.
i. 일 예에서, M은 1보다 큰 정수일 수 있다.
ii. 일 예에서, M은 그것이 CCLM인지 또는 크로마 잔차 스케일링 프로세스인지에 의존할 수 있다.
iii. M은 고정된 수일 수 있거나, 또는 시그널링될 수 있거나, 또는 표준 프로파일들/레벨들/계층들에 의존할 수 있다.
d) 병치된 루마 블록 내의 앞서 언급한 CU들은 병치된 루마 블록 내의 모든 CU들인 것으로 해석될 수 있다. 대안적으로, 병치된 루마 블록 내의 CU들은 병치된 루마 블록의 경계를 따르는 CU들과 같은, 병치된 루마 블록 내의 부분 CU들인 것으로 해석될 수 있다.
e) 병치된 루마 블록 내의 앞서 언급한 CU들은 서브-CU들 또는 서브-블록들인 것으로 해석될 수 있다.
i. 예를 들어, 서브-CU들 또는 서브-블록들은 ATMVP에서 사용될 수 있다;
ii. 예를 들어, 서브-CU들 또는 서브-블록들은 아핀 예측에서 사용될 수 있다;
iii. 예를 들어, 서브-CU들 또는 서브-블록들은 ISP(Intra Sub-Partitions) 모드에서 사용될 수 있다.
f) 일 예에서, 병치된 루마 블록의 상단 좌측 루마 샘플을 커버하는 CU/PU/TU가 사전 정의된 루마 블록 크기보다 큰 경우, 크로마 잔차 스케일링 및/또는 CCLM이 금지될 수 있다.
i. 예가 도 8에 묘사되어 있고, 병치된 루마 블록은 32x32이지만, 이것은 64x64와 동일한 크기를 갖는 대응하는 루마 블록 내에 있고, 그러면 사전 정의된 루마 블록 크기가 32x64인 경우, 크로마 잔차 스케일링 및/또는 CCLM은 이 경우에 금지된다.
ii. 대안적으로, 현재 크로마 블록의 병치된 루마 블록이 스플릿되지 않고, 병치된 루마 블록들의 상단 좌측 루마 샘플을 커버하는 대응하는 루마 블록이 사전 정의된 경계 박스 내에 완전히 포함되는 경우, 현재 크로마 블록에 대한 크로마 잔차 스케일링 및/또는 CCLM이 적용될 수 있다. 경계 박스는 도 9에 도시된 바와 같이 폭 W 및 높이 H를 갖는 직사각형(WxH로 표시됨)으로서 정의될 수 있으며, 여기서 대응하는 루마 블록은 폭 32 및 높이 64를 갖고, 경계 박스는 폭 40 및 높이 70을 갖는다.
1) 일 예에서, 경계 박스의 크기 WxH는 CTU 폭 및/또는 높이에 따라, 또는 CU 폭 및/또는 높이에 따라, 또는 임의의 값들에 따라 정의될 수 있다.
g) 일 예에서, 현재 크로마 블록의 병치된 루마 블록이 다수의 파티션에 의해 분할되는 경우, 병치된 루마 블록의 미리 정의된 파티션 내부의 예측 샘플들(또는 재구성된 샘플들)만이 LMCS 모드에서 크로마 잔차 스케일링 인자를 도출하기 위해 사용된다.
i. 일 예에서, 병치된 루마 블록의 제1 파티션에서의 모든 예측 샘플들(또는 재구성된 샘플들)의 평균은 LMCS 모드에서 크로마 잔차 스케일링 인자를 도출하기 위해 사용된다.
ii. 대안적으로, 병치된 루마 블록의 제1 파티션에서의 상단 좌측 예측 샘플(또는 재구성된 샘플)은 LMCS 모드에서 크로마 잔차 스케일링 인자를 도출하기 위해 사용된다.
iii. 대안적으로, 병치된 루마 블록의 제1 파티션에서의 중심 예측 샘플(또는 재구성된 샘플)은 LMCS 모드에서 크로마 잔차 스케일링 인자를 도출하기 위해 사용된다.
h) CCLM 및 LMCS와 같은 크로스-성분 도구들을 적용할지 여부 및 어떻게 적용할지는 병치된 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 루마 CU의 코딩 모드(들)에 의존할 수 있다는 것이 제안된다.
i. 예를 들어, 병치된 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 루마 CU가 아핀 모드로 코딩되는 경우에 크로스-성분 도구들이 디스에이블된다;
ii. 예를 들어, 병치된 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 루마 CU가 양 예측(bi-prediction)으로 코딩되는 경우, 크로스-성분 도구들이 디스에이블된다;
iii. 예를 들어, 병치된 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 루마 CU가 BDOF로 코딩되는 경우, 크로스-성분 도구들이 디스에이블된다.
iv. 예를 들어, 병치된 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 루마 CU가 DMVR로 코딩되는 경우, 크로스-성분 도구들이 디스에이블된다;
v. 예를 들어, JVET-N0217에서 제안된 바와 같이 병치된 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 루마 CU가 행렬 아핀 예측 모드로 코딩되는 경우 크로스-성분 도구들이 디스에이블된다;
vi. 예를 들어, 병치된 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 루마 CU가 인터 모드로 코딩되는 경우, 크로스-성분 도구들이 디스에이블된다;
vii. 예를 들어, 병치된 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 루마 CU가 ISP 모드로 코딩되는 경우, 크로스-성분 도구들이 디스에이블된다;
viii. 일 예에서, "병치된 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 루마 CU"는 대응하는 루마 블록을 지칭할 수 있다.
i) CCLM/LMCS가 금지될 때, CCLM/LMCS의 사용의 표시의 시그널링은 스킵될 수 있다.
j) 본 개시내용에서, CCLM은 LM 모드, LM-T 모드, 및 LM-L 모드를 포함하는 CCLM의 임의의 변형 모드들을 지칭할 수 있다.
13. CCLM 및 LMCS와 같은 크로스-성분 도구들을 적용할지 여부 및 어떻게 적용할지는 크로마 블록의 일부에 대해 수행될 수 있다는 것이 제안된다.
a) 일 예에서, 크로마 서브블록 레벨에서 CCLM 및 LMCS와 같은 크로스-성분 도구들을 적용할지 여부 및 어떻게 적용할지.
i. 일 예에서, 크로마 서브블록은 크로마 CU에서의 2x2 또는 4x4 블록으로서 정의된다.
ii. 일 예에서, 크로마 서브블록에 대해, 현재 크로마 CU의 대응하는 루마 코딩 블록이 서브블록의 대응하는 블록의 모든 샘플들을 커버할 때, CCLM이 적용될 수 있다.
iii. 일 예에서, 크로마 서브블록에 대해, 대응하는 블록의 모든 샘플들이 현재 크로마 CU의 대응하는 루마 코딩 블록에 의해 커버되지는 않을 때, CCLM은 적용되지 않는다.
iv. 일 예에서, CCLM 또는 LMCS의 파라미터들은 서브블록을 크로마 CU로서 취급함에 따라 각각의 크로마 서브블록에 대해 도출된다.
v. 일 예에서, CCLM 또는 LMCS가 크로마 서브블록에 대해 적용될 때, 병치된 블록의 샘플들이 사용될 수 있다.
LMCS 모드에서의 크로마 잔차 스케일링의 적용가능성
14. 루마 의존적 크로마 잔차 스케일링이 적용될 수 있는지는 JVET-M1001에서 특정된 바와 같은 타일 그룹 헤더에 더하여 다른 신택스 레벨에서 시그널링될 수 있다는 것이 제안된다.
a) 예를 들어, chroma_residual_scale_flag는 시퀀스 레벨에서(예를 들어, SPS에서), 픽처 레벨에서(예를 들어, PPS 또는 픽처 헤더에서), 슬라이스 레벨에서(예를 들어, 슬라이스 헤더에서), 타일 레벨에서, CTU 행 레벨에서, CTU 레벨에서, CU 레벨에서 시그널링될 수 있다. 1과 동일한 chroma_residual_scale_flag는 시그널링된 신택스 레벨 아래의 CU들에 대해 크로마 잔차 스케일링이 인에이블되는 것을 특정한다. 0과 동일한 chroma_residual_scale_flag는 크로마 잔차 스케일링이 시그널링된 신택스 레벨 아래에 대해 인에이블되지 않는 것을 특정한다. chroma_residual_scale_flag가 존재하지 않을 때, 이것은 0과 동일한 것으로 추론된다.
b) 일 예에서, 크로마 잔차 스케일링이 파티션 노드 레벨에서 제약되는 경우. 그러면 chroma_residual_scale_flag는 시그널링되지 않을 수 있고 파티션 노드에 의해 커버되는 CU들에 대해 0인 것으로 추론될 수 있다. 일 예에서, 파티션 노드는 CTU일 수 있다(CTU는 쿼터너리(quaternary) 트리 파티션의 루트 노드로서 취급된다).
c) 일 예에서, 크로마 잔차 스케일링이 32x32 이하인 크로마 블록 크기에 대하여 제약될 경우, chroma_residual_scale_flag는 시그널링되지 않을 수 있고, 32x32 이하인 크로마 블록 크기에 대하여 0인 것으로 추론될 수 있다.
CCLM 모드의 적용가능성
15. CCLM 모드가 적용될 수 있는지 여부는 JVET-M1001에 특정된 바와 같은 sps 레벨에 더하여 다른 신택스 레벨들에서 시그널링될 수 있다는 점이 제안된다.
a) 예를 들어, 그것은 픽처 레벨에서(예를 들어, PPS 또는 픽처 헤더에서), 슬라이스 레벨에서(예를 들어, 슬라이스 헤더에서), 타일 그룹 레벨에서(예를 들어, 타일 그룹 헤더에서), 타일 레벨에서, CTU 행 레벨에서, CTU 레벨에서, CU 레벨에서 시그널링될 수 있다.
b) 일 예에서, CCLM이 적용될 수 없는 경우 cclm_flag는 시그널링되지 않고 0인 것으로 추론될 수 있다.
i. 일 예에서, 크로마 잔차 스케일링이 8x8 이하인 크로마 블록 크기에 대해 제약되는 경우, cclm_flag는 시그널링되지 않을 수 있고 8x8 이하인 크로마 블록 크기에 대해 0인 것으로 추론될 수 있다.
인트라 모드 및 인터 모드에 대한 크로마 잔차 스케일링 인자 도출의 통합
16. 크로마 잔차 스케일링 인자는 루마 블록을 인코딩/디코딩한 후에 도출될 수 있고, 다음의 코딩된 블록들을 위하여 저장되고 이용될 수 있다.
a) 일 예에서, 루마 블록에서의 루프 필터링 전에(예를 들어, 디블로킹 필터 및/또는 SAO 필터 및/또는 양방향 필터(bilateral filter) 및/또는 하다마드 변환 필터 및/또는 ALF 필터에 의해 처리되기 전에) 특정 예측 샘플들 및/또는 중간 예측 샘플들 및/또는 재구성된 샘플들 및/또는 재구성된 샘플들이 크로마 잔차 스케일링 인자의 도출을 위해 사용될 수 있다.
i. 예를 들어, 루마 블록의 하단 행 및/또는 우측 열의 부분 샘플들이 크로마 잔차 스케일링 인자의 도출을 위해 사용될 수 있다.
b) 단일 트리 경우에, 인트라 모드 및/또는 IBC 모드 및/또는 인터 모드에서 코딩된 블록을 인코딩할 때, 이웃 블록들의 도출된 크로마 잔차 스케일링 인자가 현재 블록의 스케일링 인자를 도출하기 위해 사용될 수 있다.
i. 일 예에서, 특정 이웃 블록들이 순서대로 검사될 수 있고, 제1 이용가능한 크로마 잔차 스케일링 인자가 현재 블록을 위해 사용될 수 있다.
ii. 일 예에서, 특정 이웃 블록들은 순서대로 검사될 수 있고, 스케일링 인자는 제1 K개의 이용가능한 이웃 크로마 잔차 스케일링 인자에 기초하여 도출될 수 있다.
iii. 일 예에서, 인터 모드 및/또는 CIIP 모드로 코딩된 블록에 대해, 이웃 블록이 인트라 모드 및/또는 IBC 모드 및/또는 CIIP 모드로 코딩되는 경우, 이웃 블록의 크로마 잔차 스케일링 인자는 "이용가능하지 않은" 것으로 간주될 수 있다.
iv. 일 예에서, 이웃 블록들은 좌측(또는 좌측 위) -> 상부(또는 우측 위)의 순서로 검사될 수 있다.
1) 대안적으로, 이웃 블록들은 상부(또는 우측 위) -> 좌측(또는 좌측 위)의 순서로 검사될 수 있다.
c) 별개의 트리 경우에, 크로마 블록을 인코딩할 때, 대응하는 루마 블록이 먼저 식별될 수 있다. 그 후, 그의 (예를 들어, 대응하는 루마 블록) 이웃 블록들의 도출된 크로마 잔차 스케일링 인자는 현재 블록의 스케일링 인자를 도출하기 위해 사용될 수 있다.
i. 일 예에서, 특정 이웃 블록들이 순서대로 검사될 수 있고, 제1 이용가능한 크로마 잔차 스케일링 인자가 현재 블록을 위해 사용될 수 있다.
ii. 일 예에서, 특정 이웃 블록들은 순서대로 검사될 수 있고, 스케일링 인자는 제1 K개의 이용가능한 이웃 크로마 잔차 스케일링 인자에 기초하여 도출될 수 있다.
d) 이웃 블록들은 미리 정의된 순서로 검사될 수 있다.
i. 일 예에서, 이웃 블록들은 좌측(또는 좌측 위) -> 상부(또는 우측 위)의 순서로 검사될 수 있다.
ii. 일 예에서, 이웃 블록들은 상부(또는 우측 위) -> 좌측(또는 좌측 위)의 순서로 검사될 수 있다.
iii. 일 예에서, 이웃 블록들은 좌측 아래 -> 좌측 -> 우측 위 -> 상부 -> 좌측 위의 순서로 검사될 수 있다.
iv. 일 예에서, 이웃 블록들은 좌측 -> 상부 -> 우측 위 -> 좌측 아래 -> 좌측 위의 순서로 검사될 수 있다.
e) 일 예에서, 크로마 잔차 스케일링을 적용할지는 이웃 블록의 "가용성"에 의존할 수 있다.
i. 일 예에서, 어떤 "이용가능한" 이웃 블록도 없을 때, 크로마 잔차 스케일링은 허용되지 않을 수 있다.
ii. 일 예에서, "이용가능한" 이웃 블록들의 수가 K보다 작을 때(K >=1), 크로마 잔차 스케일링은 허용되지 않을 수 있다.
iii. 대안적으로, 어떤 "이용가능한" 이웃 블록도 없을 때, 크로마 잔차 스케일링 인자는 디폴트 값에 의해 도출될 수 있다.
1) 일 예에서, 디폴트 값 1<< (BitDepth -1)은 크로마 잔차 스케일링 인자를 도출하기 위하여 이용될 수 있다.
5. 개시된 기술의 예시적인 구현들
도 10은 비디오 처리 장치(1000)의 블록도이다. 장치(1000)는 본 명세서에 설명된 방법들 중 하나 이상을 구현하는데 이용될 수 있다. 장치(1000)는 스마트폰, 태블릿, 컴퓨터, 사물 인터넷(IoT) 수신기 등으로 구현될 수 있다. 장치(1000)는 하나 이상의 프로세서(1002), 하나 이상의 메모리(1004) 및 비디오 처리 하드웨어(1006)를 포함할 수 있다. 프로세서(들)(1002)는 본 문서에 설명된 하나 이상의 방법(방법들(800 및 900)을 포함하지만 이에 제한되지는 않음)을 구현하도록 구성될 수 있다. 메모리(메모리들)(1004)는 본 명세서에 설명된 방법들 및 기법들을 구현하기 위해 사용되는 데이터 및 코드를 저장하기 위해 사용될 수 있다. 비디오 처리 하드웨어(1006)는 본 문서에서 설명되는 일부 기법들을 하드웨어 회로로 구현하기 위해 사용될 수 있다.
일부 실시예들에서, 비디오 코딩 방법이 도 10과 관련하여 설명된 바와 같이 하드웨어 플랫폼 상에 구현되는 장치를 사용하여 구현될 수 있다.
도 11은 개시된 기술에 따른 크로스-성분 예측을 위한 선형 모델 도출을 위한 예시적인 방법(1100)의 흐름도를 도시한다. 방법(1100)은, 단계(1110)에서, 현재 비디오 블록과 현재 비디오 블록의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하며, 여기서 변환 동안, 하나 이상의 참조 프레임에 포함된 제1 세트의 컬러 성분 값들로부터 현재 비디오 블록의 제2 세트의 컬러 성분 값들이 도출되고, 제1 세트의 컬러 성분 값들은 비디오 코딩 단계의 선형 모델에서 사용가능하다.
일부 실시예들은 다음의 조항 기반 포맷을 사용하여 설명될 수 있다.
1. 비디오 처리를 위한 방법으로서:
현재 비디오 블록과 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계 - 변환 동안, 하나 이상의 참조 프레임에 포함된 제1 세트의 컬러 성분 값들로부터 현재 비디오 블록의 제2 세트의 컬러 성분 값들이 도출되고, 제1 세트의 컬러 성분 값들은 비디오 코딩 단계의 선형 모델에서 사용가능함 - 를 포함한다.
2. 조항 1의 방법에 있어서, 제1 세트의 컬러 성분 값들은 비디오 코딩 단계의 선형 모델에 사용하기 전에 보간된다.
3. 조항 1-2 중 어느 하나 이상의 방법에 있어서, 제1 세트의 컬러 성분 값들의 선형 조합이 선형 모델에서의 파라미터들로서 사용 가능하다.
4. 조항 1의 방법에 있어서, 하나 이상의 참조 프레임에 포함된 제1 세트의 컬러 성분 값들의 위치들은 현재 비디오 블록의 모션 정보에 적어도 부분적으로 기초하여 선택된다.
5. 조항 4의 방법에 있어서, 하나 이상의 참조 프레임에서의 루마 성분 값의 위치는 현재 비디오 블록에서의 대응하는 루마 성분 값의 위치 및 현재 비디오 블록의 모션 정보로부터 계산된다.
6. 조항 5의 방법에 있어서, 대응하는 루마 성분 값의 위치는 현재 비디오 블록에서의 상단 좌측 샘플, 중심 샘플, 또는 하단 우측 샘플이다.
7. 조항 6의 방법에 있어서, 현재 비디오 블록의 모션 정보는 정수 모션 벡터 또는 분수 모션 벡터에 대응한다.
8. 조항 7의 방법에 있어서, 분수 움직임 벡터는 하나 이상의 참조 프레임에서 분수 루마 성분 값을 사용하여 도출된다.
9. 조항 7의 방법에 있어서, 정수 움직임 벡터는 제로를 향해 또는 제로로부터 멀어지게 반올림함으로써 도출된다.
10. 조항 1의 방법에 있어서, 하나 이상의 참조 프레임에 포함된 제1 세트의 컬러 성분 값들의 위치들은 사전 정의된 위치들이다.
11. 조항 1-10 중 어느 하나 이상의 방법에 있어서, 제1 세트의 컬러 성분 값들의 중앙값 또는 평균은 현재 비디오 블록의 제2 세트의 컬러 성분 값들을 도출하기 위해 사용된다.
12. 조항 1-11 중 어느 하나 이상의 방법에 있어서, 하나 이상의 참조 프레임은 사전 정의된 참조 프레임들이다.
13. 조항 12의 방법에 있어서, 사전 정의된 참조 프레임들은 참조 픽처 리스트의 참조 인덱스를 갖는 프레임을 포함한다.
14. 조항 13의 방법에 있어서, 참조 인덱스는 제로이고 참조 픽처 리스트는 제로이다.
15. 조항 13의 방법에 있어서, 참조 인덱스 및/또는 참조 픽처 리스트는 시퀀스, 픽처, 타일, 그룹, 슬라이스, 타일, 코딩 트리 유닛 행, 또는 비디오 블록 중 하나 이상과 연관된 비트스트림 표현에서 시그널링된다.
16. 조항 1의 방법에 있어서, 현재 비디오 블록의 제2 세트의 컬러 성분 값들은 하나 이상의 참조 프레임에 포함된 제1 세트의 컬러 성분 값들의 수학적 평균 또는 가중 평균으로부터 도출된다.
17. 조항 1의 방법에 있어서, 현재 비디오 블록의 제2 세트의 컬러 성분 값들은, 현재 비디오 블록이 양 예측(bi-prediction) 코딩된 블록인지에 기초하여, 하나 이상의 참조 프레임에 포함되는 제1 세트의 컬러 성분 값들로부터 선택적으로 도출된다.
18. 조항 17의 방법에 있어서, 현재 비디오 블록의 제2 세트의 컬러 성분 값들은 제1 세트의 컬러 성분 값들의 각각의 예측 방향에 대해 개별적으로 도출된다.
19. 조항 1의 방법에 있어서, 현재 비디오 블록의 제2 세트의 컬러 성분 값들은, 현재 비디오 블록이 서브-블록-기반 예측과 연관되는지에 기초하여, 하나 이상의 참조 프레임에 포함된 제1 세트의 컬러 성분 값들로부터 선택적으로 도출된다.
20. 조항 1의 방법에 있어서, 서브-블록-기반 예측은 아핀 예측 또는 ATMVP(alternative temporal motion vector prediction)에 대응한다.
21. 조항 19-20의 어느 하나 이상의 방법에 있어서, 현재 비디오 블록의 제2 세트의 컬러 성분 값들은 개별 서브-블록들에 대해 도출된다.
22. 조항 19-21 중 어느 하나 이상의 방법에 있어서, 현재 비디오 블록의 제2 세트의 컬러 성분 값들은 서브-블록-기반 예측에 관계없이 현재 비디오 블록 전체에 대해 도출된다.
23. 조항 19-22 중 어느 하나 이상의 방법에 있어서, 하나 이상의 참조 프레임에 포함된 제1 세트의 컬러 성분 값들은 현재 비디오 블록의 서브-블록의 모션 벡터에 적어도 부분적으로 기초하여 선택된다.
24. 조항 1-23 중 어느 하나 이상의 방법에 있어서, 하나 이상의 참조 프레임에 포함된 제1 세트의 컬러 성분 값들은 중간 컬러 성분 값들이다.
25. 조항 1-24 중 어느 하나 이상의 방법에 있어서, 비디오 코딩 단계는 또 다른 비디오 코딩 단계에 선행한다.
26. 조항 25의 방법에 있어서, 하나 이상의 참조 프레임에 포함된 제1 세트의 컬러 성분 값들은 현재 비디오 블록 또는 현재 비디오 블록의 서브-블록의 중간 모션 벡터에 적어도 부분적으로 기초하여 선택되고, 중간 모션 벡터는 또 다른 비디오 코딩 단계 전에 계산된다.
27. 조항 24-26 중 어느 하나 이상의 방법에 있어서, 또 다른 비디오 코딩 단계는 BDOF(Bi-Directional Optical Flow) 단계, DMVR(decoder-side motion vector refinement) 단계, PROF(prediction refinement optical flow) 단계 중 하나 또는 이들의 조합을 포함한다.
28. 조항 1-27 중 어느 하나 이상의 방법에 있어서, 하나 이상의 참조 프레임에 포함된 제1 세트의 컬러 성분 값들은 대응하는 루마 블록과 연관된 MxN 루마 성분 값들에 대응한다.
29. 조항 28의 방법에 있어서, 대응하는 루마 블록은 현재 비디오 블록의 병치된 루마 블록이다.
30. 조항 29의 방법에 있어서, M과 N의 곱은 현재 비디오 블록의 병치된 루마 블록의 블록 폭과 블록 높이의 곱보다 작다.
31. 조항 27-30 중 어느 하나 이상의 방법에 있어서, 하나 이상의 참조 프레임에 포함된 제1 세트의 컬러 성분 값들은 병치된 루마 블록의 이웃 루마 샘플들의 위치들에서 식별된 참조 샘플들의 적어도 일부에 대응한다.
32. 조항 1-31 중 어느 하나 이상의 방법에 있어서, 제1 세트의 컬러 성분 값들은 비디오 코딩 단계의 상기 선형 모델에 사용하기 전에 다운샘플링된다.
33. 조항 1의 방법에 있어서, 현재 비디오 블록의 제2 세트의 컬러 성분 값들은 현재 비디오 블록의 다음의 정보: 양자화 파라미터, 코딩 모드, 또는 POC(picture order count) 중 하나 이상에 적어도 부분적으로 기초하여 선택된다.
34. 조항 31의 방법에 있어서, 이웃 루마 샘플들의 위치들은 병치된 루마 블록의 상단 좌측 샘플이 커버되도록 한다.
35. 조항 28의 방법에 있어서, 하나 이상의 참조 프레임에 포함된 제1 세트의 컬러 성분 값들은 대응하는 루마 블록 외부의 위치들에서 식별된 참조 샘플들의 적어도 일부에 대응한다.
36. 조항 28의 방법에 있어서, 현재 비디오 블록의 제2 세트의 컬러 성분 값들은 대응하는 루마 블록의 이웃 샘플들의 가용성에 기초하여 하나 이상의 참조 프레임에 포함된 제1 세트의 컬러 성분 값들로부터 선택적으로 도출된다.
37. 조항 28의 방법에 있어서, 대응하는 루마 블록의 이웃 샘플들의 가용성은: 현재 비디오 블록의 코딩 모드의 사용, 대응하는 루마 블록의 이웃 샘플들의 코딩 모드의 사용, 대응하는 루마 블록의 이웃 샘플들과 연관된 필터 타입의 사용, 또는 현재 비디오 블록들 또는 그의 서브-블록들에 대한 대응하는 루마 블록의 이웃 샘플들의 위치 중 하나 이상에 기초한다.
38. 조항 28의 방법에 있어서, 대응하는 루마 블록의 이웃 샘플들의 가용성의 결여에 응답하여, 이용가능하지 않은 샘플들을 다른 샘플들로 대체하거나, 채우거나, 패딩하는 단계를 추가로 포함한다.
39. 조항 28의 방법에 있어서, 평활화 필터를 대응하는 루마 블록에 이웃 샘플들에 적용하는 단계를 추가로 포함한다.
40. 비디오 처리를 위한 방법으로서:
현재 비디오 블록과 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계 - 변환 동안, 하나 이상의 참조 프레임에 포함된 제1 세트의 컬러 성분 값들로부터 현재 비디오 블록의 제2 세트의 컬러 성분 값들이 도출되고, 제1 세트의 컬러 성분 값들은 비디오 코딩 단계의 선형 모델에서 사용가능함 -; 및
하나 이상의 참조 프레임에 포함된 제1 세트의 컬러 성분 값들이 현재 비디오 블록의 병치된 루마 블록이라고 결정한 것에 응답하여, 현재 비디오 블록의 병치된 루마 블록과 연관된 하나 이상의 조건에 기초하여, 현재 비디오 블록의 제2 세트의 컬러 성분 값들의 도출을 선택적으로 인에이블 또는 디스에이블하는 단계를 포함한다.
41. 조항 40의 방법에 있어서, 현재 비디오 블록의 병치된 루마 블록과 연관된 하나 이상의 조건은: 병치된 루마 블록의 파티션 크기, 임계 수를 달성하는 병치된 루마 블록의 코딩 유닛들의 수, 임계 크기를 달성하는 병치된 루마 블록의 상단 좌측 루마 샘플, 병치된 루마 블록의 파티션 트리 깊이, 또는 병치된 루마 블록의 상단 좌측 루마 샘플을 커버하는 대응하는 루마 블록, 또는 병치된 루마 블록의 상단 좌측 루마 샘플을 커버하고 사전 정의된 크기의 경계 박스 내에 추가로 포함되는 대응하는 루마 블록을 포함한다.
42. 조항 40의 방법에 있어서, 도출을 선택적으로 인에이블 또는 디스에이블하는 것을 나타내는 정보가 비트스트림 표현에 포함된다.
43. 조항 28의 방법에 있어서, 대응하는 루마 블록의 이웃 샘플들의 가용성은 사전 정의된 순서에 따라 이웃 샘플들을 검사하는 것과 연관된다.
44. 조항 1-43 중 어느 하나 이상의 방법에 있어서, 현재 비디오 블록의 제2 세트의 컬러 성분 값들은 하나 이상의 다른 비디오 블록과 관련하여 사용하기 위해 저장된다.
45. 조항 1-44 중 어느 하나 이상의 방법에 있어서, 선형 모델은 CCLM(cross-component linear model)에 대응하고, 비디오 코딩 단계는 LMCS(luma mapping with chroma scaling) 모드에 대응한다.
46. 조항 1-45 중 어느 하나 이상의 방법에 있어서, 현재 비디오 블록은 인터-코딩된 블록, 양 예측(bi-prediction) 코딩된 블록, 또는 IBC(intra block copy) 코딩된 블록이다.
47. 조항 1-46 중 어느 하나 이상의 방법에 있어서, 제1 세트의 컬러 성분 값들은 루마 샘플 값들에 대응하고, 제2 세트의 컬러 성분 값들은 크로마 스케일링 인자들에 대응한다.
48. 프로세서 및 명령어들을 갖는 비일시적 메모리를 포함하는 비디오 시스템에서의 장치로서, 명령어들은 프로세서에 의한 실행시에, 프로세서로 하여금 조항 1-47 중 어느 한 조항의 방법을 구현하게 야기한다.
49. 비일시적 컴퓨터 판독가능 매체 상에 저장되는 컴퓨터 프로그램 제품으로서, 컴퓨터 프로그램 제품은 조항 1- 47 중 어느 한 조항의 방법을 실행하기 위한 프로그램 코드를 포함한다.
도 12는 본 명세서에 개시된 다양한 기법들이 구현될 수 있는 예시적인 비디오 처리 시스템(1200)을 도시하는 블록도이다. 다양한 구현들은 시스템(1200)의 컴포넌트들의 일부 또는 전부를 포함할 수 있다. 시스템(1200)은 비디오 콘텐츠를 수신하기 위한 입력(1202)을 포함할 수 있다. 비디오 콘텐츠는 미가공(raw) 또는 압축되지 않은 포맷, 예를 들어, 8 또는 10비트 다중-성분 픽셀 값들로 수신될 수 있거나, 압축된 또는 인코딩된 포맷을 가질 수 있다. 입력(1202)은 네트워크 인터페이스, 주변기기 버스 인터페이스, 또는 저장 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예들은 이더넷, PON(passive optical network) 등과 같은 유선 인터페이스들 및 Wi-Fi 또는 셀룰러 인터페이스들과 같은 무선 인터페이스들을 포함한다.
시스템(1200)은 본 문서에 설명된 다양한 코딩 또는 인코딩 방법들을 구현할 수 있는 코딩 컴포넌트(1204)를 포함할 수 있다. 코딩 컴포넌트(1204)는 비디오의 코딩된 표현을 생성하기 위해 코딩 컴포넌트(1204)의 입력(1202)으로부터 출력으로의 비디오의 평균 비트레이트를 감소시킬 수 있다. 따라서 코딩 기법들은 때때로 비디오 압축 또는 비디오 트랜스코딩 기법이라고 불린다. 코딩 컴포넌트(1204)의 출력은, 컴포넌트(1206)에 의해 나타낸 바와 같이, 저장되거나, 또는 접속된 통신을 통해 송신될 수 있다. 입력(1202)에서 수신된 비디오의 저장된 또는 통신된 비트스트림(또는 코딩된) 표현은 디스플레이 인터페이스(1210)에 전송되는 픽셀 값들 또는 디스플레이 가능한 비디오를 생성하기 위해 컴포넌트(1208)에 의해 사용될 수 있다. 비트스트림 표현으로부터 사용자 시청가능 비디오를 생성하는 프로세스는 때때로 비디오 압축해제라고 불린다. 게다가, 특정 비디오 처리 동작이 "코딩" 동작 또는 도구라고 지칭되지만, 코딩 도구 또는 동작은 인코더에서 사용되고, 코딩의 결과를 반대로 행하는 대응하는 디코딩 도구 또는 동작은 디코더에 의해 수행될 것임이 이해될 것이다.
주변기기 버스 인터페이스 또는 디스플레이 인터페이스의 예들은 USB(universal serial bus) 또는 HDMI(high definition multimedia interface) 또는 Displayport 등을 포함할 수 있다. 저장 인터페이스들의 예들은 SATA(serial advanced technology attachment), PCI, IDE 인터페이스 등을 포함한다. 본 문서에서 설명된 기법들은, 디지털 데이터 처리 및/또는 비디오 디스플레이를 수행할 수 있는 모바일 전화, 랩톱, 스마트폰 또는 다른 디바이스와 같은 다양한 전자 디바이스들에서 구현될 수 있다.
도 13은 시각적 미디어 처리를 위한 예시적인 방법의 흐름도를 도시한다. 이 흐름도의 단계들은 이 문서의 섹션 4의 예시적 실시예들 7d 및 7e8과 연계하여 논의된다. 단계(1302)에서, 프로세스는 시각적 미디어 데이터의 현재 크로마 비디오 블록과 현재 크로마 비디오 블록의 비트스트림 표현 간의 변환을 수행하는데, 여기서, 변환 동안, 현재 크로마 비디오 블록의 크로마 잔차는 스케일링 계수에 기초하여 스케일링되고, 스케일링 계수는 사전 정의된 위치들에 위치된 루마 샘플들에 적어도 기초하여 도출된다.
도 14는 시각적 미디어 처리를 위한 예시적인 방법의 흐름도를 도시한다. 이 흐름도의 단계들은 이 문서의 섹션 4의 예시적 실시예 1과 연계하여 논의된다. 단계(1402)에서, 프로세스는 시각적 미디어 데이터의 현재 비디오 블록과 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는데, 여기서, 변환 동안, 현재 비디오 블록의 제2 세트의 색 컴포넌트 값들이, CCLM(cross-component linear model) 및/또는 LMCS(luma mapping with chroma scaling) 모드 처리 단계를 사용하여, 시각적 미디어 데이터의 제1 세트의 컬러 성분 값들로부터 도출된다.
도 15는 시각적 미디어 처리를 위한 예시적인 방법의 흐름도를 도시한다. 이 흐름도의 단계들은 이 문서의 섹션 4의 예시적 실시예 7과 연계하여 논의된다. 단계(1502)에서, 프로세스는 시각적 미디어 데이터의 현재 비디오 블록과 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는데, 여기서, 변환 동안, 시각적 미디어 데이터의 현재 프레임과 연관된 하나 이상의 재구성 샘플은 LMCS(luma mapping with chroma scaling) 모드 처리 단계에서 크로마 잔차 스케일링 인자를 도출하기 위해 사용된다.
도 16은 시각적 미디어 처리를 위한 예시적인 방법의 흐름도를 도시한다. 이 흐름도의 단계들은 이 문서의 섹션 4의 예시적 실시예 8과 연계하여 논의된다. 단계(1602)에서, 프로세스는 시각적 미디어 데이터의 현재 비디오 블록과 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는데, 여기서, 변환 동안, 참조 프레임 이외의 현재 프레임에서의 하나 이상의 루마 예측 샘플 또는 루마 재구성 샘플이 LMCS(luma mapping with chroma scaling) 모드 처리 단계에서 크로마 잔차 스케일링 인자를 도출하기 위해 사용된다.
도 17은 시각적 미디어 처리를 위한 예시적인 방법의 흐름도를 도시한다. 이 흐름도의 단계들은 이 문서의 섹션 4의 예시적 실시예들 11a, 11b, 11c, 및 11d와 연계하여 논의된다. 단계(1702)에서, 프로세스는, 현재 크로마 비디오 블록과 현재 크로마 비디오 블록의 비트스트림 표현 간의 변환 동안, 병치된 루마 블록의 상단 좌측 샘플을 커버하는 대응하는 루마 블록의 하나 이상의 이웃 루마 블록의 가용성을 검사한다. 단계(1704)에서, 프로세스는, 하나 이상의 이웃 루마 블록의 가용성에 기초하여, 대응하는 루마 블록의 이웃 루마 샘플들을 검색할지를 결정한다. 단계(1706)에서, 프로세스는, 결정에 기초하여, 스케일링 계수를 도출한다. 단계(1708)에서, 프로세스는, 스케일링 계수에 기초하여, 현재 크로마 비디오 블록의 크로마 잔차를 스케일링하여, 스케일링된 크로마 잔차를 생성한다. 단계(1710)에서, 프로세스는 스케일링된 크로마 잔차에 기초하여 변환을 수행한다.
도 18은 시각적 미디어 처리를 위한 예시적인 방법의 흐름도를 도시한다. 이 흐름도의 단계들은 이 문서의 섹션 4의 예시적 실시예 11과 연계하여 논의된다. 단계 1802에서, 프로세스는, 시각적 미디어 데이터의 현재 비디오 블록과 현재 비디오 블록의 비트스트림 표현 간의 변환 동안, 처리 단계와 연관된 모델을 사용하여 시각적 미디어 데이터의 제1 세트의 컬러 성분 값들로부터 현재 비디오 블록의 제2 세트의 컬러 성분 값들을 도출하는데, 여기서 제1 세트의 컬러 성분 값들은 병치된 루마 블록의 상단 좌측 샘플을 커버하는 대응하는 루마 블록의 이웃 샘플들이다.
도 19는 시각적 미디어 처리를 위한 예시적인 방법의 흐름도를 도시한다. 이 흐름도의 단계들은 이 문서의 섹션 4의 예시적 실시예 12와 연계하여 논의된다. 단계(1902)에서, 프로세스는, 시각적 미디어 데이터의 현재 크로마 비디오 블록과 현재 크로마 비디오 블록의 비트스트림 표현 간의 변환 동안, 현재 크로마 비디오 블록의 병치된 루마 블록과 연관된 하나 이상의 조건에 적어도 부분적으로 기초하여, 현재 크로마 비디오 블록에 대한 CCLM(cross-component linear model) 및/또는 CRS(chroma residual scaling)의 적용을 선택적으로 인에이블 또는 디스에이블하는 것을 결정한다.
도 20은 시각적 미디어 인코딩을 위한 예시적인 방법의 흐름도를 도시한다. 이 흐름도의 단계들은 이 문서의 섹션 4의 예시적 실시예 14와 연계하여 논의된다. 단계(2002)에서, 프로세스는 시각적 미디어 데이터의 비디오 영역에서의 현재 비디오 블록을 시각적 미디어 데이터의 비트스트림 표현으로 인코딩하기 위해 시각적 미디어 데이터의 현재 비디오 블록의 크로마 성분들에 대한 루마 의존적 CRS(chroma residual scaling)의 적용을 선택적으로 인에이블 또는 디스에이블한다. 단계(2004)에서, 프로세스는 시각적 미디어 데이터의 비트스트림 표현에 필드를 포함 또는 배제하는 것을 결정하는데, 여기서 필드는 선택적으로 인에이블 또는 디스에이블하는 것을 나타내고, 포함되는 경우, 현재 비디오 블록과 연관된 제1 신택스 레벨 이외에서 시그널링된다.
도 21은 시각적 미디어 디코딩을 위한 예시적인 방법의 흐름도를 도시한다. 이 흐름도의 단계들은 이 문서의 섹션 4의 예시적 실시예 14와 연계하여 논의된다. 단계(2102)에서, 프로세스는 시각적 미디어 데이터의 비트스트림 표현에서의 필드를 파싱하는데, 여기서 필드는 현재 비디오 블록과 연관된 제1 신택스 레벨 이외의 레벨에 포함된다. 단계(2104)에서, 프로세스는, 비트스트림 표현으로부터 디코딩된 비디오 영역을 생성하기 위해 시각적 미디어 데이터의 현재 비디오 블록의 크로마 성분들에 대한 루마 의존적 CRS(chroma residual scaling)의 적용을 필드에 기초하여 선택적으로 인에이블 또는 디스에이블한다.
도 22는 시각적 미디어 인코딩을 위한 예시적인 방법의 흐름도를 도시한다. 이 흐름도의 단계들은 이 문서의 섹션 4의 예시적 실시예 15와 연계하여 논의된다. 단계(2202)에서, 프로세스는 현재 비디오 블록을 시각적 미디어 데이터의 비트스트림 표현으로 인코딩하기 위해 시각적 미디어 데이터의 현재 비디오 블록에 대한 CCLM(cross-component linear model)의 적용을 선택적으로 인에이블 또는 디스에이블한다. 단계(2204)에서, 프로세스는 시각적 미디어 데이터의 비트스트림 표현에 필드를 포함 또는 배제하는 것을 결정하고, 여기서 필드는 선택적으로 인에이블 또는 디스에이블하는 것을 나타내고, 포함되는 경우, 현재 비디오 블록과 연관된 제1 신택스 레벨 이외에서 시그널링된다.
도 23은 시각적 미디어 디코딩을 위한 예시적인 방법의 흐름도를 도시한다. 이 흐름도의 단계들은 이 문서의 섹션 4의 예시적 실시예 15와 연계하여 논의된다. 단계(2302)에서, 프로세스는 시각적 미디어 데이터의 비트스트림 표현에서의 필드를 파싱하며, 여기서 필드는 현재 비디오 블록과 연관된 제1 신택스 레벨 이외의 레벨에 포함된다. 단계(2304)에서, 프로세스는, 비트스트림 표현으로부터 디코딩된 비디오 영역을 생성하기 위해 시각적 미디어 데이터의 현재 비디오 블록에 대한 CCLM(cross-component linear model)의 적용을 필드에 기초하여 선택적으로 인에이블 또는 디스에이블한다.
본 문서에서 논의되는 일부 실시예들은 이제 조항 기반 포맷으로 제시된다.
X1. 시각적 미디어 처리를 위한 방법으로서:
시각적 미디어 데이터의 현재 크로마 비디오 블록과 현재 크로마 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 여기서 변환 동안, 현재 크로마 비디오 블록의 크로마 잔차는 스케일링 계수에 기초하여 스케일링되고, 스케일링 계수는 사전 정의된 위치들에 위치된 루마 샘플들에 적어도 기초하여 도출된다.
X2. 조항 X1의 방법에 있어서, 스케일링 계수는 사전 정의된 위치들에 있는 루마 샘플들에 대해 적용되는 함수를 사용하여 계산된다.
X3. 조항 X1의 방법에 있어서, 함수는 중앙값 함수 또는 반올림 기반 평균값 함수이다.
X4. 조항 X1의 방법에 있어서, 사전 정의된 위치들은 현재 크로마 비디오 블록에 대응하는 병치된 루마 블록에 기초하여 결정된다.
A1. 시각적 미디어 처리를 위한 방법으로서:
시각적 미디어 데이터의 현재 비디오 블록과 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 변환 동안, CCLM(cross-component linear model) 및/또는 LMCS(luma mapping with chroma scaling) 모드 처리 단계를 사용하여, 시각적 미디어 데이터의 제1 세트의 컬러 성분 값들로부터 현재 비디오 블록의 제2 세트의 컬러 성분 값들이 도출된다.
A2. 조항 A1의 방법에 있어서, 제1 세트의 컬러 성분 값들은 현재 비디오 블록의 참조 샘플들이고, 제2 세트의 컬러 성분 값들은 LMCS 모드에서의 크로마 잔차 스케일링 인자이다.
A3. 조항 A2의 방법에 있어서, 참조 샘플들은 크로마 잔차 스케일링 인자를 도출하기 전에 보간되는 참조 루마 샘플들이다.
A4. 조항 A1의 방법에 있어서, 제1 세트의 컬러 성분 값들은 상이한 참조 프레임들에 포함되는 참조 샘플들이다.
A5. 조항 A1-A4 중 어느 하나 이상의 방법에 있어서, 참조 샘플의 위치는 현재 비디오 블록에서의 대응하는 루마 성분 값의 위치 및 현재 비디오 블록의 모션 정보로부터 계산된다.
A6. 조항 A5의 방법에 있어서, 대응하는 루마 성분 값의 위치는 현재 비디오 블록에서의 상단 좌측 샘플, 중심 샘플, 또는 하단 우측 샘플이다.
A7. 조항 A6의 방법에 있어서, 현재 비디오 블록의 모션 정보는 정수 모션 벡터 또는 분수 모션 벡터에 대응한다.
A8. 조항 A7의 방법에 있어서, 분수 움직임 벡터는 참조 프레임에서의 분수 루마 성분 값을 사용하여 도출된다.
A9. 조항 A7의 방법에 있어서, 정수 움직임 벡터는 제로를 향해 또는 제로로부터 멀어지게 반올림함으로써 도출된다.
A10. 조항 A1-A2 중 어느 하나 이상의 방법에 있어서, 제1 세트의 컬러 성분 값들은 시각적 미디어 데이터의 사전 정의된 참조 프레임들에 포함된다.
A11. 조항 A1-A10 중 어느 하나 이상의 방법에 있어서, 현재 비디오 블록의 제2 세트의 컬러 성분 값들을 도출하기 위해 제1 세트의 컬러 성분 값들의 중앙값 또는 평균이 사용된다.
A12. 조항 A10의 방법에 있어서, 사전 정의된 참조 프레임들은 참조 픽처 리스트의 참조 인덱스를 갖는 프레임을 포함한다.
A13. 조항 A12의 방법에 있어서, 참조 인덱스는 제로이고 참조 픽처 리스트는 제로이다.
A14. 조항 A1-A2 중 어느 하나 이상의 방법에 있어서, 제1 세트의 컬러 성분 값들은 시각적 미디어 데이터의 다수의 참조 프레임에 포함되고, 제1 세트의 컬러 성분 값들의 가중된 조합은 제2 세트의 컬러 성분 값들을 도출하기 위해 사용된다.
A15. 조항 A13의 방법에 있어서, 참조 인덱스 및/또는 참조 픽처 리스트는 시퀀스, 픽처들의 그룹, 픽처, 타일, 타일 그룹, 슬라이스, 서브픽처, 코딩 트리 유닛 행, 코딩 트리 유닛, VPDU(virtual pipeline data unit), 또는 비디오 블록 중 하나 이상과 연관된 비트스트림 표현에서의 필드들로서 시그널링된다.
A16. 조항 A1의 방법에 있어서, 현재 비디오 블록의 제2 세트의 컬러 성분 값들은, 현재 비디오 블록이 양 예측(bi-prediction) 코딩된 블록인지에 기초하여, 제1 세트의 컬러 성분 값들로부터 선택적으로 도출된다.
A17. 조항 A16의 방법에 있어서, 현재 비디오 블록의 제2 세트의 컬러 성분 값들은 제1 세트의 컬러 성분 값들과 연관된 각각의 예측 방향에 대해 개별적으로 도출된다.
A18. 조항 A1의 방법에 있어서, 현재 비디오 블록의 제2 세트의 컬러 성분 값들은, 현재 비디오 블록이 서브-블록-기반 예측과 연관되는지에 기초하여, 제1 세트의 컬러 성분 값들로부터 선택적으로 도출된다.
A19. 조항 A18의 방법에 있어서, 서브-블록-기반 예측은 아핀 예측 또는 ATMVP(alternative temporal motion vector prediction)에 대응한다.
A20. 조항 A18-A19 중 어느 하나 이상의 방법에 있어서, 현재 비디오 블록의 제2 세트의 컬러 성분 값들은 개별 서브-블록들에 대해 도출된다.
A21. 조항 A18-A19 중 어느 하나 이상의 방법에 있어서, 현재 비디오 블록의 제2 세트의 컬러 성분 값들은 서브-블록-기반 예측에 관계없이 현재 비디오 블록 전체에 대해 도출된다.
A22. 조항 A18-A21 중 어느 하나 이상의 방법에 있어서, 제1 세트의 컬러 성분 값들은 현재 비디오 블록의 서브-블록의 모션 벡터에 적어도 부분적으로 기초하여 선택된다.
A23. 조항 A18-A21 중 어느 하나 이상의 방법에 있어서, 현재 비디오 블록의 서브-블록과 연관된 모션 벡터가 제1 세트의 컬러 성분 값들을 선택하기 위해 사용된다.
A24. 조항 A1-A23 중 어느 하나 이상의 방법에 있어서, 제1 세트의 컬러 성분 값들은 중간 컬러 성분 값들이다.
A25. 조항 A1-A24 중 어느 하나 이상의 방법에 있어서, LMCS 모드 처리 단계는 또 다른 후속 처리 단계에 선행한다.
A26. 조항 A25의 방법에 있어서, 제1 세트의 컬러 성분 값들은 현재 비디오 블록 또는 현재 비디오 블록의 서브-블록의 중간 모션 벡터에 적어도 부분적으로 기초하여 선택되고, 중간 모션 벡터는 또 다른 비디오 코딩 단계 전에 계산된다.
A27. 임의의 조항 A26의 방법에 있어서, 또 다른 처리 단계는: BDOF(Bi-Directional Optical Flow) 단계, DMVR(decoder-side motion vector refinement) 단계, 또는 PROF(prediction refinement optical flow) 단계 중 하나 또는 그 조합을 포함한다.
A28. 시각적 미디어 처리를 위한 방법으로서:
시각적 미디어 데이터의 현재 비디오 블록과 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 변환 동안, 시각적 미디어 데이터의 현재 프레임과 연관된 하나 이상의 재구성 샘플은 LMCS(luma mapping with chroma scaling) 모드 처리 단계에서 크로마 잔차 스케일링 인자를 도출하기 위해 사용된다.
A29. 조항 A28의 방법에 있어서, 현재 비디오 블록은 IBC(intra block copy) 코딩된다.
A30. 조항 A28의 방법에 있어서, 하나 이상의 재구성 샘플은 현재 프레임과 연관된 참조 블록에서의 참조 샘플들이다.
A31. 조항 A28의 방법에 있어서, 하나 이상의 재구성 샘플의 위치들이 사전 정의된다.
A32. 조항 A31의 방법에 있어서, 하나 이상의 재구성 샘플은 현재 비디오 블록의 대응하는 루마 블록을 커버하는 블록에 인접한 상부 행 및 좌측 열에 위치된 재구성된 루마 샘플들이다.
A33. 조항 A28의 방법에 있어서, 하나 이상의 재구성 샘플의 위치들은 현재 비디오 블록의 대응하는 루마 블록의 위치 및 현재 비디오 블록의 모션 정보에 기초한다.
A34. 시각적 미디어 처리를 위한 방법으로서:
시각적 미디어 데이터의 현재 비디오 블록과 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 변환 동안, 참조 프레임 이외의 현재 프레임에서의 하나 이상의 루마 예측 샘플 또는 루마 재구성 샘플이 LMCS(luma mapping with chroma scaling) 모드 처리 단계에서 크로마 잔차 스케일링 인자를 도출하기 위해 사용된다.
A35. 임의의 조항 A34의 방법에 있어서, 하나 이상의 루마 예측 샘플 또는 루마 재구성 샘플은 대응하는 루마 블록을 커버하는 MxN 루마 블록의 이웃 영역에 위치한다.
A36. 조항 A35의 방법에 있어서, 대응하는 루마 블록은 현재 비디오 블록의 병치된 루마 블록이다.
A37. 조항 A36의 방법에 있어서, M과 N의 곱은 현재 비디오 블록의 병치된 루마 블록의 블록 폭과 블록 높이의 곱보다 작다.
A38. 조항 A36의 방법에 있어서, M 및 N은 현재 비디오 블록의 병치된 루마 블록을 커버하는 비디오 블록의 사전 정의된 폭 및 사전 정의된 높이이다.
A39. 조항 A36의 방법에 있어서, M 및 N은 현재 비디오 블록의 병치된 루마 블록을 커버하는 VPDU(virtual pipeline data unit)의 폭 및 높이이다.
A40. 조항 A1-A39 중 어느 하나 이상의 방법에 있어서, 변환 동안, 참조 샘플들은 도출에 사용하기 전에 직접 사용되거나 다운샘플링된다.
A41. 조항 A1-A40 중 어느 하나 이상의 방법에 있어서, 크로마 잔차 스케일링 인자들을 도출하기 위해 사용되는 샘플들은 현재 비디오 블록의 다음 정보: 양자화 파라미터, 코딩 모드, 또는 POC(picture order count) 중 하나 이상에 적어도 부분적으로 기초하여 선택된다.
A42. 조항 A1-A41 중 어느 하나 이상의 방법에 있어서, 현재 비디오 블록은 인터 코딩된 블록, 인트라 코딩된 블록, 양 예측(bi-prediction) 코딩된 블록, 또는 IBC(intra block copy) 코딩된 블록이다.
A43. 조항 A1-A42 중 어느 하나 이상의 방법에 있어서, 제1 세트의 컬러 성분 값들은 루마 샘플 값들에 대응하고, 제2 세트의 컬러 성분 값들은 현재 비디오 블록의 크로마 스케일링 인자들에 대응한다.
A44. 조항 A1-A43 중 어느 하나 이상의 방법에 있어서, 변환은 현재 비디오 블록으로부터 비트스트림 표현을 생성하는 것을 포함한다.
A45. 조항 A1-A43 중 어느 하나 이상의 방법에 있어서, 변환은 비트스트림 표현으로부터 현재 비디오 블록의 픽셀 값들을 생성하는 것을 포함한다.
A46. 조항 A1-A45 중 어느 하나 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코더 장치.
A47. 조항 A1-A45 중 어느 하나 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코더 장치.
A48. 코드가 저장되어 있는 컴퓨터 판독가능 매체로서, 코드는 조항 A1-A38 중 어느 하나 이상에 기재된 방법을 구현하기 위한 프로세서 실행가능 명령어들을 구현한다.
Y1. 시각적 미디어 처리를 위한 방법으로서:
현재 크로마 비디오 블록과 현재 크로마 비디오 블록의 비트스트림 표현 간의 변환 동안, 병치된 루마 블록의 상단 좌측 샘플을 커버하는 대응하는 루마 블록의 하나 이상의 이웃 루마 블록의 가용성을 검사하는 단계;
하나 이상의 이웃 루마 블록의 가용성에 기초하여, 대응하는 루마 블록의 이웃 루마 샘플들을 검색할지를 결정하는 단계;
결정에 기초하여, 스케일링 계수를 도출하는 단계;
스케일링 계수에 기초하여, 현재 크로마 비디오 블록의 크로마 잔차를 스케일링하여 스케일링된 크로마 잔차를 생성하는 단계; 및
스케일링된 크로마 잔차에 기초하여 변환을 수행하는 단계를 포함한다.
Y2. 조항 Y1의 방법에 있어서, 하나 이상의 이웃 루마 블록은 좌측 이웃 루마 블록 및 상부 이웃 루마 블록을 포함한다.
Y3. 조항 Y1의 방법에 있어서, 이웃 루마 샘플들은 대응하는 루마 블록의 하나 이상의 좌측 이웃 샘플 열 및/또는 하나 이상의 상부 이웃 샘플 행을 포함한다.
Y4. 조항 Y1 또는 Y3 중 어느 하나 이상의 방법에 있어서, 하나 이상의 이웃 루마 블록이 이용가능한 경우에 스케일링 계수를 도출하기 위해 이웃 루마 샘플들이 검색되고 반올림 기반 평균화된다.
Y5. 조항 Y1 또는 Y3의 방법에 있어서, 이웃 루마 샘플들이 검색되고, 하나 이상의 이웃 루마 블록이 이용가능한 경우에 스케일링 계수를 도출하기 위해 이웃 루마 샘플들의 중앙값이 사용된다.
Y6. 조항 Y3의 방법에 있어서, 이웃 루마 샘플들의 수는 N이고, 1<=N<=2W+2H이고, W 및 H는 대응하는 루마 블록의 폭 및 높이이다.
Y7. 조항 Y1 또는 Y2의 방법에 있어서, 하나 이상의 이웃 루마 블록의 가용성은 현재 픽처, 타일, 타일 그룹, VPDU(virtual pipeline data unit), 또는 슬라이스의 폭 및/또는 높이에 기초하여 결정된다.
Y8. 조항 Y7의 방법에 있어서, 하나 이상의 이웃 루마 블록은, 하나 이상의 이웃 블록이 상이한 픽처, 상이한 타일, 상이한 타일 그룹, 상이한 VPDU, 또는 상이한 슬라이스에 위치하는 경우에 이용가능하지 않다.
Y9. 조항 Y1의 방법에 있어서, 대응하는 것의 이웃 루마 샘플들은 하나 이상의 이웃 루마 블록이 이용가능하지 않은 경우에 검색으로부터 스킵된다.
Y10. 조항 Y9의 방법에 있어서, 대응하는 것의 이웃 루마 샘플들이 검색으로부터 스킵되는 경우에 스케일링 계수가 도출된다.
Y11. 조항 Y10의 방법에 있어서, 스케일링 계수는 디폴트 값에 기초하여 도출된다.
Y12. 조항 Y11의 방법에 있어서, 디폴트 값은 현재 크로마 비디오 블록 및 병치된 루마 블록의 비트 심도에 기초한다.
Y13. 조항 Y12의 방법에 있어서, 디폴트 값은 1 << ( bitDepth - 1 )로서 표현되고, bitDepth는 현재 크로마 비디오 블록 및 병치된 루마 블록의 비트 심도를 나타낸다.
Y14. 조항 Y1의 방법에 있어서, 이웃 루마 샘플들은 순방향 매핑에 기초하여 재구성된다.
B1. 시각적 미디어 처리를 위한 방법으로서:
시각적 미디어 데이터의 현재 비디오 블록과 현재 비디오 블록의 비트스트림 표현 간의 변환 동안, 처리 단계와 연관된 모델을 사용하여 시각적 미디어 데이터의 제1 세트의 컬러 성분 값들로부터 현재 비디오 블록의 제2 세트의 컬러 성분 값들을 도출하는 단계를 포함하고, 제1 세트의 컬러 성분 값들은 병치된 루마 블록의 상단 좌측 샘플을 커버하는 대응하는 루마 블록의 이웃 샘플들이다.
B2. 조항 B1의 방법에 있어서, 현재 비디오 블록은: 이중 트리 파티션을 갖는 인트라 코딩된 비디오 블록 또는 단일 트리 파티션을 갖는 인트라 코딩된 블록 또는 단일 트리 파티션을 갖는 인터 코딩된 비디오 블록 중 하나이다.
B3. 조항 B1-B2 중 어느 하나 이상의 방법에 있어서, 제1 세트의 컬러 성분 값들은 대응하는 루마 블록 외부의 위치들에서 식별된 참조 샘플들의 적어도 일부에 대응한다.
B4. 조항 B3의 방법에 있어서, 대응하는 루마 블록 외부의 위치들에서 식별된 참조 샘플들의 일부는 대응하는 루마 코딩 블록에 인접한 샘플들을 포함한다.
B5. 조항 B4의 방법에 있어서, 대응하는 루마 코딩 블록에 인접한 샘플들은 대응하는 루마 코딩 블록의 좌측 이웃 열들 및/또는 상부 이웃 행들에 위치된 N개의 샘플을 포함하고, N=1...2W+2H이고, W 및 H는 대응하는 루마 코딩 블록의 폭 및 높이이다.
B6. 조항 B5의 방법에 있어서, 병치된 루마 블록의 상단 좌측 샘플이 (xCb, yCb)에 위치할 때 상부 이웃 루마 샘플은 (xCb+ W/2, yCb-1) 또는 (xCb-1, yCb-1)에 위치한다.
B7. 조항 B5의 방법에 있어서, 병치된 루마 블록의 상단 좌측 샘플이 (xCb, yCb)에 위치할 때 좌측 이웃 루마 샘플은 (xCb+ W-1, yCb-1)에 위치한다.
B8. 조항 B4의 방법에 있어서, 대응하는 루마 블록 외부의 위치들에서 식별된 참조 샘플들의 일부는 사전 정의된 위치들에 있다.
B9. 조항 B4의 방법에 있어서, 현재 비디오 블록의 제2 세트의 컬러 성분 값들은 대응하는 루마 코딩 블록의 좌측 이웃 열들 및/또는 상부 이웃 행들에 위치하는 N개의 샘플의 중앙값 또는 산술 평균에 기초하여 도출된다.
B10. 조항 B1-B2 중 어느 하나 이상의 방법에 있어서, 현재 비디오 블록의 제2 세트의 컬러 성분 값들은 대응하는 루마 블록의 이웃 샘플들의 가용성에 기초하여 제1 세트의 컬러 성분 값들로부터 선택적으로 도출된다.
B11. 조항 B10의 방법에 있어서, 대응하는 루마 블록의 이웃 샘플들의 가용성은: 현재 비디오 블록의 코딩 모드의 사용, 대응하는 루마 블록의 이웃 샘플들의 코딩 모드의 사용, 대응하는 루마 블록의 이웃 샘플들과 연관된 필터 타입의 사용, 현재 비디오 블록들 또는 그의 서브-블록들에 대한 대응하는 루마 블록의 이웃 샘플들의 위치, 현재 픽처/서브픽처/타일/타일 그룹/VPDU/슬라이스의 폭, 및/또는 현재 픽처/서브픽처/타일/타일 그룹/VPDU/슬라이스/코딩 트리 유닛(CTU) 행의 높이 중 하나 이상에 기초한다.
B12. 조항 B10의 방법에 있어서,
대응하는 루마 블록의 이웃 샘플들의 가용성의 결여를 결정한 것에 응답하여, 이용가능하지 않은 샘플들을 다른 샘플들로 대체하거나, 채우거나, 또는 패딩하는 단계를 추가로 포함한다.
B13. 조항 B12의 방법에 있어서, 대응하는 루마 블록의 이웃 샘플들의 가용성의 결여는 현재 비디오 블록의 코딩 모드가 인터 모드일 때, 이웃 샘플들의 코딩 모드가 인트라 모드 및/또는 IBC(intra block copy) 모드 및/또는 CIIP(combined inter-intra prediction) 모드 및/또는 LIC(localized illuminate compensation) 모드라고 결정한 것에 적어도 부분적으로 기초한다.
B14. 조항 B12의 방법에 있어서, 대응하는 루마 블록의 이웃 샘플들의 가용성의 결여는 현재 비디오 블록의 코딩 모드가 인터 모드일 때, 이웃 샘플들이 확산 필터 및/또는 양방향 필터 및/또는 하다마드 변환 필터의 대상이 된다고 결정한 것에 적어도 부분적으로 기초한다.
B15. 조항 B12의 방법에 있어서, 대응하는 루마 블록의 이웃 샘플들의 가용성의 결여는 이웃 블록이 현재 비디오 블록과 연관된 현재 픽처/서브픽처/타일/타일 그룹/VPDU/슬라이스/코딩 트리 유닛(CTU) 행 외부에 위치한다는 결정에 적어도 부분적으로 기초한다.
B16. 조항 B12-B15 중 어느 하나 이상의 방법에 있어서,
대응하는 루마 블록의 이웃 샘플들의 가용성의 결여를 결정한 것에 응답하여, 제1 세트의 컬러 성분 값들로부터 현재 비디오 블록의 제2 세트의 컬러 성분 값들의 도출을 디스에이블하는 단계를 추가로 포함한다.
B17. 조항 B10의 방법에 있어서,
이용가능한 이웃 샘플들의 수가 임계값보다 작다고 결정한 것에 응답하여, 제1 세트의 컬러 성분 값들로부터 현재 비디오 블록의 제2 세트의 컬러 성분 값들의 도출을 디스에이블하는 단계를 추가로 포함한다.
B18. 조항 B17의 방법에 있어서, 임계값은 1이다.
B19. 조항 B12의 방법에 있어서, 이웃 샘플이 이용가능하지 않은 것으로 결정되면, 이웃 샘플은 1 << ( bitDepth - 1 )개의 샘플에 의해 채워지고, bitDepth는 컬러 성분 값들의 제1 세트의 샘플들 또는 컬러 성분 값들의 제2 세트의 샘플들의 비트 심도를 나타낸다.
B20. 조항 B12의 방법에 있어서, 이웃 샘플이 이용가능하지 않은 것으로 결정되는 경우, 이웃 샘플은 사전 정의된 검사 순서에 따라 제1 이용가능한 인접 샘플에 의해 대체된다.
B21. 조항 B13의 방법에 있어서, 이웃 샘플이 이용가능하지 않은 것으로 결정되는 경우, 이웃 샘플은 좌측 이웃 샘플, 우측 이웃 샘플, 상단 이웃 샘플, 또는 하단 이웃 샘플 중 하나 이상을 사용하여 패딩된다.
B22. 조항 B10의 방법에 있어서,
현재 비디오 블록의 제2 세트의 컬러 성분 값들의 도출에 사용되는 대응하는 루마 블록에 이웃한 샘플들에 평활화 필터를 적용하는 단계를 추가로 포함한다.
B23. 조항 B22의 방법에 있어서, 평활화 필터는 양방향 필터, 하다마드 변환 기반 필터, 또는 재성형기 도메인의 순방향 매핑 중 하나 이상을 포함한다.
B24. 조항 B1-B23 중 어느 하나 이상의 방법에 있어서, 현재 비디오 블록의 제2 세트의 컬러 성분 값들은 하나 이상의 다른 비디오 블록과 관련하여 사용하기 위해 저장된다.
B25. 조항 B1-B23 중 어느 하나 이상의 방법에 있어서, 모델은 CCLM(cross-component linear model)에 대응하고 및/또는 처리 단계는 LMCS(luma mapping with chroma scaling) 모드에 대응한다.
B26. 조항 B1-B23 중 어느 하나 이상의 방법에 있어서, 현재 비디오 블록은 인트라 코딩된 블록, 인터 코딩된 블록, 양 예측(bi-prediction) 코딩된 블록, 또는 IBC(intra block copy) 코딩된 블록이다.
B27. 조항 B1-B23 중 어느 하나 이상의 방법에 있어서, 제1 세트의 컬러 성분 값들은 루마 샘플 값들에 대응하고, 제2 세트의 컬러 성분 값들은 현재 비디오 블록의 크로마 스케일링 인자들에 대응한다.
B28. 조항 B1-B23 중 어느 하나 이상의 방법에 있어서, 변환은 현재 비디오 블록으로부터 비트스트림 표현을 생성하는 것을 포함한다.
B29. 조항 B1-B23 중 어느 하나 이상의 방법에 있어서, 변환은 비트스트림 표현으로부터 현재 비디오 블록의 픽셀 값들을 생성하는 것을 포함한다.
B30. 조항 B1-B23 중 어느 하나 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코더 장치.
B31. 조항 B1-B23 중 어느 하나 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코더 장치.
B32. 코드가 저장되어 있는 컴퓨터 판독가능 매체로서, 코드는 조항 B1-B23 중 어느 하나 이상에 기재된 방법을 구현하기 위한 프로세서 실행가능 명령어들을 구현하는 컴퓨터 판독가능 매체.
C1. 시각적 미디어 처리를 위한 방법으로서:
시각적 미디어 데이터의 현재 크로마 비디오 블록과 현재 크로마 비디오 블록의 비트스트림 표현 간의 변환 동안, 현재 크로마 비디오 블록의 병치된 루마 블록과 연관된 하나 이상의 조건에 적어도 부분적으로 기초하여, 현재 크로마 비디오 블록에 대한 CCLM(cross-component linear model) 및/또는 CRS(chroma residual scaling)의 적용을 선택적으로 인에이블 또는 디스에이블하는 결정을 하는 단계를 포함한다.
C2. 조항 C1의 방법에 있어서, 현재 크로마 비디오 블록의 병치된 루마 블록과 연관된 하나 이상의 조건은: 병치된 루마 블록의 파티션 크기, 임계 수를 달성하는 병치된 루마 블록의 코딩 유닛들의 수, 임계 크기를 달성하는 병치된 루마 블록의 상단 좌측 루마 샘플, 병치된 루마 블록의 파티션 트리 깊이, 또는 병치된 루마 블록의 상단 좌측 루마 샘플을 커버하는 대응하는 루마 블록, 병치된 루마 블록의 상단 좌측 루마 샘플을 커버하고 사전 정의된 크기의 경계 박스 내에 추가로 포함되는 대응하는 루마 블록, 병치된 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 코딩 유닛(CU)의 코딩 모드, 및/또는 현재 크로마 비디오 블록의 치수를 포함한다.
C3. 조항 C1-C2 중 어느 하나 이상의 방법에 있어서, 현재 크로마 비디오 블록에 대한 CCLM 및/또는 CRS의 적용은 현재 크로마 비디오 블록의 병치된 루마 블록이 다수의 파티션으로 분할된다고 결정한 것에 응답하여 디스에이블된다.
C4. 조항 C1-C2 중 어느 하나 이상의 방법에 있어서, 현재 크로마 비디오 블록에 대한 CCLM 및/또는 CRS의 적용은 현재 크로마 비디오 블록의 병치된 루마 블록이 다수의 파티션으로 분할되지 않는다는 결정에 응답하여 인에이블된다.
C5. 조항 C1-C2 중 어느 하나 이상의 방법에 있어서, 현재 크로마 비디오 블록에 대한 CCLM 및/또는 CRS의 적용은 현재 크로마 비디오 블록의 병치된 루마 블록이 임계 수의 코딩 유닛들 및/또는 임계 수의 파티션 유닛들 및/또는 임계 수의 변환 유닛들 중 하나보다 많은 것을 포함한다고 결정한 것에 응답하여 디스에이블된다.
C6. 조항 C5의 방법에 있어서, 임계 수는 1이다.
C7. 조항 C5의 방법에 있어서, 임계 수는 CCLM 및/또는 CRS가 적용되는지에 적어도 부분적으로 기초한다.
C8. 조항 C5의 방법에 있어서, 임계 수는 고정되거나 또는 비트스트림 표현에 포함된다.
C9. 조항 C5의 방법에 있어서, 임계 수는 현재 크로마 비디오 블록과 연관된 프로파일들/레벨들/계층(tier)들에 적어도 부분적으로 기초한다.
C10. 조항 C5의 방법에 있어서, 코딩 유닛들 및/또는 파티션 유닛들 및/또는 변환 유닛들은 병치된 루마 블록 내에 완전히 위치한다.
C11. 조항 C5의 방법에 있어서, 코딩 유닛들 및/또는 파티션 유닛들 및/또는 변환 유닛들은 병치된 루마 블록 내에 부분적으로 위치한다.
C12. 조항 C11의 방법에 있어서, 코딩 유닛들 및/또는 파티션 유닛들 및/또는 변환 유닛들은 병치된 루마 블록의 경계를 따라 부분적으로 위치한다.
C13. 조항 C5의 방법에 있어서, 코딩 유닛들 및/또는 파티션 유닛들 및/또는 변환 유닛들은 서브-블록-기반 예측과 연관된다.
C14. 조항 C13의 방법에 있어서, 서브-블록-기반 예측은 ISP(Intra Sub-Partitions) 또는 아핀 예측 또는 ATMVP(alternative temporal motion vector prediction)에 대응한다.
C15. 조항 C1-C2 중 어느 하나 이상의 방법에 있어서, 현재 크로마 비디오 블록에 대한 CCLM 및/또는 CRS의 적용은 병치된 루마 블록의 상단 좌측 루마 샘플을 커버하는 코딩 유닛 및/또는 파티션 유닛 및/또는 변환 유닛이 사전 정의된 블록 크기보다 크다고 결정한 것에 응답하여 디스에이블된다.
C16. 조항 C15의 방법에 있어서, 병치된 루마 블록은 크기 32x32를 갖고 크기 64x64의 대응하는 루마 블록 내에 포함되며, 사전 정의된 루마 블록 크기는 32x64이다.
C17. 조항 C2의 방법에 있어서, 현재 크로마 비디오 블록에 대한 CCLM 및/또는 CRS의 적용은 현재 크로마 비디오 블록의 병치된 루마 블록이 스플릿되지 않고, 병치된 루마 블록의 상단 좌측 루마 샘플을 커버하는 대응하는 루마 블록이 사전 정의된 크기의 상기 경계 박스 내에 완전히 포함된다고 결정한 것에 응답하여 인에이블된다.
C18. 조항 C17의 방법에 있어서, 대응하는 루마 블록은 크기 32x64를 갖고, 경계 박스는 크기 40x70을 갖는다.
C19. 조항 C17의 방법에 있어서, 경계 박스의 사전 정의된 크기는 현재 크로마 비디오 블록과 연관된 코딩 트리 유닛(CTU)의 크기 및/또는 현재 크로마 비디오 블록과 연관된 코딩 유닛(CU)의 크기에 부분적으로 기초한다.
C20. 조항 C1-C2 중 어느 하나 이상의 방법에 있어서, 현재 크로마 비디오 블록의 병치된 루마 블록은 다수의 파티션으로 분할되고 다수의 파티션 중 하나 이상의 것의 내부의 예측 샘플들 또는 재구성된 샘플들은 현재 크로마 비디오 블록의 CRS와 관련된 값들을 도출하기 위해 사용된다.
C21. 조항 C20의 방법에 있어서, 현재 크로마 비디오 블록의 병치된 루마 블록의 제1 파티션 내부의 예측 샘플들 또는 재구성된 샘플들의 평균이 현재 크로마 비디오 블록의 CRS와 연관된 값들을 도출하기 위해 사용된다.
C22. 조항 C20의 방법에 있어서, 현재 크로마 비디오 블록의 병치된 루마 블록의 제1 파티션 내부의 상단 좌측 예측 샘플 또는 상단 좌측 재구성된 샘플이 현재 크로마 비디오 블록의 CRS와 연관된 값들을 도출하기 위해 사용된다.
C23. 조항 C20의 방법에 있어서, 현재 크로마 비디오 블록의 병치된 루마 블록의 제1 파티션 내부의 중심 예측 샘플 또는 중심 재구성된 샘플이 현재 크로마 비디오 블록의 컬러 성분 값들을 도출하기 위해 사용된다.
C24. 조항 C2의 방법에 있어서, 현재 크로마 비디오 블록 상의 상기 CCLM 및/또는 상기 CRS의 적용은 병치된 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 코딩 유닛(CU)의 코딩 모드가 아핀 모드, 양 예측(bi-prediction) 모드, BDOF(Bi-Directional Optical Flow) 모드, DMVR 모드, 행렬 아핀 예측 모드, 인터 모드, 또는 ISP(Intra Sub-Partitions) 모드 중 하나인 것으로 결정한 것에 응답하여 디스에이블된다.
C25. 조항 C2의 방법에 있어서, 병치된 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 코딩 유닛(CU)은 대응하는 루마 블록이다.
C26. 조항 C1-C25 중 어느 하나 이상의 방법에 있어서,
비트스트림 표현에서의 필드에 기초하여, CCLM 및/또는 CRS가 현재 크로마 비디오 블록에 대해 선택적으로 인에이블 또는 디스에이블되는 것을 나타내는 단계를 추가로 포함한다.
C27. 조항 C1-C26 중 어느 하나 이상의 방법에 있어서, 현재 크로마 비디오 블록에 대한 CCLM 및/또는 CRS의 적용을 선택적으로 인에이블 또는 디스에이블하는 것은 현재 크로마 비디오 블록의 하나 이상의 서브-블록에 대해 수행된다.
C28. 조항 C27의 방법에 있어서, 현재 크로마 비디오 블록의 하나 이상의 서브-블록은 크기 2x2 또는 4x4를 갖는다.
C29. 조항 C27의 방법에 있어서, 현재 크로마 비디오 블록의 대응하는 루마 코딩 블록이 서브블록의 대응하는 블록의 모든 샘플들을 커버할 때 현재 크로마 비디오 블록의 서브-블록에 대해 CCLM 및/또는 CRS의 적용이 인에이블된다.
C30. 조항 C27의 방법에 있어서, 서브블록의 대응하는 블록의 모든 샘플들이 대응하는 루마 코딩 블록에 의해 커버되지 않을 때 CCLM 및/또는 CRS의 적용은 현재 크로마 비디오 블록의 서브-블록에 대해 디스에이블된다.
C31. 조항 C27의 방법에 있어서, CCLM 및/또는 CRS의 파라미터들은 현재 크로마 비디오 블록의 각각의 서브-블록과 연관된다.
C32. 조항 C27의 방법에 있어서, 현재 크로마 비디오 블록의 서브-블록에 대해 CCLM 및/또는 CRS의 적용을 선택적으로 인에이블 또는 디스에이블하는 것은 병치된 루마 블록 내에 포함된 샘플들에 기초한다.
C33. 조항 C1-C32 중 어느 하나 이상의 방법에 있어서, 현재 크로마 비디오 블록은 인터 코딩된 블록, 인트라 코딩된 블록, 양 예측(bi-prediction) 코딩된 블록, 또는 IBC(intra block copy) 코딩된 블록이다.
C34. 조항 C1-C33 중 어느 하나 이상의 방법에 있어서, 변환은 현재 크로마 비디오 블록으로부터 비트스트림 표현을 생성하는 것을 포함한다.
C35. 조항 C1-C33 중 어느 하나 이상의 방법에 있어서, 변환은 비트스트림 표현으로부터 현재 크로마 비디오 블록의 픽셀 값들을 생성하는 것을 포함한다.
C36. 조항 C1-C33 중 어느 하나 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코더 장치.
C37. 조항 C1-C33 중 어느 하나 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코더 장치.
C38. 코드가 저장되어 있는 컴퓨터 판독가능 매체로서, 코드는 조항 C1-C33 중 어느 하나 이상에 기재된 방법을 구현하기 위한 프로세서 실행가능 명령어들을 구현한다.
D1. 시각적 미디어 인코딩을 위한 방법으로서:
시각적 미디어 데이터의 비디오 영역에서의 현재 비디오 블록을 시각적 미디어 데이터의 비트스트림 표현으로 인코딩하기 위해, 시각적 미디어 데이터의 현재 비디오 블록의 크로마 성분들에 대한 루마 의존적 CRS(chroma residual scaling)의 적용을 선택적으로 인에이블 또는 디스에이블하는 단계; 및
시각적 미디어 데이터의 비트스트림 표현에서 필드를 포함 또는 배제하는 결정을 행하는 단계 - 필드는 선택적으로 인에이블 또는 디스에이블하는 것을 나타내고, 포함되는 경우, 현재 비디오 블록과 연관된 제1 신택스 레벨 이외에서 시그널링됨 - 를 포함한다.
D2. 시각적 미디어 디코딩을 위한 방법으로서:
시각적 미디어 데이터의 비트스트림 표현에서의 필드를 파싱하는 단계 - 필드는 현재 비디오 블록과 연관된 제1 신택스 레벨 이외의 레벨에 포함됨 -; 및
비트스트림 표현으로부터 디코딩된 비디오 영역을 생성하기 위해 시각적 미디어 데이터의 현재 비디오 블록의 크로마 성분들에 대한 루마 의존적 CRS(chroma residual scaling)의 적용을 필드에 기초하여 선택적으로 인에이블 또는 디스에이블하는 단계를 포함한다.
D3. 조항 D1-D2 중 어느 하나 이상의 방법에 있어서, 상기 제1 신택스 레벨은 타일 그룹 헤더 레벨이고, 필드는: 현재 비디오 블록과 연관된 SPS(sequence parameter set), 현재 비디오 블록과 연관된 타일, 현재 비디오 블록과 연관된 CTU(coding tree unit) 행, 현재 비디오 블록과 연관된 CTU(coding tree unit), 현재 비디오 블록과 연관된 VPDU(virtual pipeline data unit), 또는 현재 비디오 블록과 연관된 CU(coding unit) 중 하나에 포함된다.
D4. 조항 D1-D3 중 어느 하나 이상의 방법에 있어서, 필드는 chroma_residual_scale_flag로서 표시되는 플래그이다.
D5. 조항 D1-D4 중 어느 하나 이상의 방법에 있어서, 필드는 신택스 레벨과 연관되고, 필드가 1인 경우 신택스 레벨 아래의 루마 의존적 크로마 잔차 스케일링의 적용이 인에이블되고, 필드가 0인 경우 신택스 레벨 아래의 루마 의존적 크로마 잔차 스케일링의 적용이 디스에이블된다.
D6. 조항 D5의 방법에 있어서, 필드는 파티션 노드 레벨과 연관되고, 필드가 1인 경우 파티션 노드 레벨 아래의 루마 의존적 크로마 잔차 스케일링의 적용이 인에이블되고, 필드가 0인 경우 파티션 노드 레벨 아래의 루마 의존적 크로마 잔차 스케일링의 적용이 디스에이블된다.
D7. 조항 D1-D4 중 어느 하나 이상의 방법에 있어서, 필드는 임계 차원과 연관되고, 필드가 1인 경우 상기 임계 차원에서 또는 그보다 높은 비디오 블록들에 대한 루마 의존적 크로마 잔차 스케일링의 적용이 인에이블되고, 필드가 0인 경우 임계 차원보다 낮은 비디오 블록들에 대한 루마 의존적 크로마 잔차 스케일링의 적용이 디스에이블된다.
D8. 조항 D7의 방법에 있어서, 임계 차원은 32x32이다.
D9. 조항 D1-D8 중 어느 하나 이상의 방법에 있어서, 필드는 비트스트림 표현에서 시그널링되지 않고, 비트스트림 표현에서의 필드의 부재는 루마 의존적 크로마 잔차 스케일링의 적용이 디스에이블되는 것을 추론하기 위해 사용되고, 필드는 0인 것으로 추론된다.
D10. 조항 D1-D9 중 어느 하나 이상의 방법에 있어서, 현재 비디오 블록의 루마 의존적 CRS와 연관된 값들은 하나 이상의 다른 비디오 블록과 관련하여 사용하기 위해 저장된다.
D11. 조항 D10의 방법에 있어서, 루마 의존적 CRS와 연관된 값들은 루마 블록의 인코딩 또는 디코딩에 후속하여 도출된다.
D12. 조항 D11의 방법에 있어서, 루마 블록에서, 루마 의존적 CRS와 연관된 값들을 도출하기 위해 루프 필터링 전의 예측 샘플들 및/또는 중간 예측 샘플들 및/또는 재구성된 샘플들 및/또는 재구성된 샘플들이 사용된다.
D13. 조항 D12의 방법에 있어서, 루프 필터링은 디블로킹 필터 및/또는 SAO(sample adaptive offset) 필터 및/또는 양방향 필터 및/또는 하다마드 변환 필터 및/또는 ALF(adaptive loop filter)의 사용을 포함한다.
D14. 조항 D11의 방법에 있어서, 루마 블록의 하단 행 및/또는 우측 열의 샘플들은 루마 의존적 CRS와 연관된 값들을 도출하기 위해 사용된다.
D15. 조항 D11의 방법에 있어서, 이웃 블록들과 연관된 샘플들은 루마 의존적 CRS와 연관된 값들을 도출하기 위해 사용된다.
D16. 조항 D15의 방법에 있어서, 현재 비디오 블록은 인트라 코딩된 블록, 인터 코딩된 블록, 양 예측(bi-prediction) 코딩된 블록, 또는 IBC(intra block copy) 코딩된 블록이다.
D17. 조항 D15의 방법에 있어서, 이웃 블록들과 연관된 샘플들의 가용성은 사전 정의된 순서에 따라 검사된다.
D18. 조항 D17의 방법에 있어서, 현재 비디오 블록에 대한 사전 정의된 순서는 좌측에서 우측으로, 상부 좌측에서 상부 우측으로, 좌측에서 상부로, 상부 좌측에서 상부 우측으로, 상부에서 좌측으로, 상부 우측에서 상부 좌측으로 중 하나이다.
D19. 조항 D17의 방법에 있어서, 현재 비디오 블록에 대한 사전 정의된 순서는: 아래 좌측에서 좌측으로 상부 우측으로 상부로 상부 좌측으로 중 하나이다.
D20. 조항 D17의 방법에 있어서, 현재 비디오 블록에 대한 사전 정의된 순서는 좌측에서 상부로 상부 우측으로 아래 좌측으로 상부 좌측으로 중 하나이다.
D21. 조항 D17의 방법에 있어서, 사전 정의된 순서는 이웃 블록들의 제1 이용가능한 서브세트에서의 샘플들과 연관된다.
D22. 조항 D15의 방법에 있어서, 현재 비디오 블록이 인터 코딩된 블록이고 이웃 블록이 인트라 코딩된 블록, IBC 코딩된 블록, 또는 CIIP 코딩된 블록인 경우, 이웃 블록과 연관된 샘플들은 이용가능하지 않은 것으로 결정된다.
D23. 조항 D15의 방법에 있어서, 현재 비디오 블록이 CIIP 코딩된 블록이고 이웃 블록이 인트라 코딩된 블록, IBC 코딩된 블록, 또는 CIIP 코딩된 블록인 경우, 이웃 블록과 연관된 샘플들은 이용가능하지 않은 것으로 결정된다.
D24. 조항 D15의 방법에 있어서,
이웃 블록들의 수가 임계값보다 작다고 결정한 것에 응답하여, 루마 의존적 CRS의 도출을 디스에이블하는 단계를 추가로 포함한다.
D25. 조항 D24의 방법에 있어서, 임계값은 1이다.
D26. 조항 D24의 방법에 있어서, 이웃 블록으로부터의 샘플이 이용가능하지 않은 것으로 결정되는 경우, 샘플은 1 << ( bitDepth - 1 ) 샘플들에 의해 채워지고, bitDepth는 크로마 성분들 또는 루마 성분들의 비트 심도를 표시한다.
E1. 시각적 미디어 인코딩을 위한 방법으로서:
현재 비디오 블록을 시각적 미디어 데이터의 비트스트림 표현으로 인코딩하기 위해 시각적 미디어 데이터의 현재 비디오 블록에 대한 CCLM(cross-component linear model)의 적용을 선택적으로 인에이블 또는 디스에이블하는 단계; 및
시각적 미디어 데이터의 비트스트림 표현에서 필드를 포함 또는 배제하는 것을 결정하는 단계 - 필드는 선택적으로 인에이블 또는 디스에이블하는 것을 나타내고, 포함되는 경우, 현재 비디오 블록과 연관된 제1 신택스 레벨 이외에서 시그널링됨 - 를 포함한다.
E2. 시각적 미디어 디코딩을 위한 방법으로서:
시각적 미디어 데이터의 비트스트림 표현에서의 필드를 파싱하는 단계 - 필드는 현재 비디오 블록과 연관된 제1 신택스 레벨 이외의 레벨에 포함됨 -; 및
비트스트림 표현으로부터 디코딩된 비디오 영역을 생성하기 위해 시각적 미디어 데이터의 현재 비디오 블록에 대한 CCLM(cross-component linear model)의 적용을 필드에 기초하여 선택적으로 인에이블 또는 디스에이블하는 단계를 포함한다.
E3. 조항 E1-E2 중 어느 하나 이상의 방법에 있어서, 제1 신택스 레벨은 SPS(sequence parameter set) 레벨이고, 필드는: 현재 비디오 블록과 연관된 PPS(picture parameter set), 현재 비디오 블록과 연관된 슬라이스, 현재 비디오 블록과 연관된 픽처 헤더, 현재 비디오 블록과 연관된 타일, 현재 비디오 블록과 연관된 타일 그룹, 현재 비디오 블록과 연관된 CTU(coding tree unit) 행, 현재 비디오 블록과 연관된 CTU, 현재 비디오 블록과 연관된 VPDU(virtual pipeline data unit), 또는 현재 비디오 블록과 연관된 CU(coding unit) 중 하나에 포함된다.
E4. 조항 E1-E3 중 어느 하나 이상의 방법에 있어서, 필드는 cclm_flag로 표시된 플래그이다.
E5. 조항 E1-E4 중 어느 하나 이상의 방법에 있어서, 비트스트림 표현에서의 필드의 부재는 CCLM의 적용이 디스에이블되는 것을 추론하기 위해 사용된다.
E6. 조항 E1-E4 중 어느 하나 이상의 방법에 있어서, 비트스트림 표현에서의 필드의 존재는 CCLM의 적용이 인에이블되는 것을 추론하기 위해 사용된다.
E7. 조항 E5의 방법에 있어서, 현재 비디오 블록의 차원이 임계 차원 이하인 경우, 필드는 비트스트림 표현에서 배제되고, 그에 의해 필드의 배제는 CCLM의 적용이 디스에이블되는 것을 추론하기 위해 사용된다.
E8. 조항 E7의 방법에 있어서, 임계 차원은 8x8이다.
F1. 조항 X1-E8 중 어느 하나 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코더 장치.
F2. 조항 X1-E8 중 어느 하나 이상에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코더 장치.
F3. 코드가 저장되어 있는 컴퓨터 판독가능 매체로서, 코드는 조항 X1-E8 중 어느 하나 이상에 기재된 방법을 구현하기 위한 프로세서 실행가능 명령어들을 구현한다.
본 문서에서, "비디오 처리" 또는 "시각적 미디어 처리"라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축 또는 비디오 압축해제를 지칭할 수 있다. 예를 들어, 비디오의 픽셀 표현으로부터 대응하는 비트스트림 표현으로 또는 그 반대로 변환하는 동안 비디오 압축 알고리즘들이 적용될 수 있다. 현재 비디오 블록의 비트스트림 표현은, 예를 들어, 신택스에 의해 정의된 바와 같이, 비트스트림 내의 상이한 장소들에 병치(co-locate)되거나 분산되는 비트들에 대응할 수 있다. 예를 들어, 매크로블록은 변환되고 코딩된 오류 잔차 값들의 관점에서 그리고 또한 헤더들에서의 비트들 및 비트스트림에서의 다른 필드들을 사용하여 인코딩될 수 있다. 게다가, 변환 동안, 디코더는, 위의 해결책들에 설명된 바와 같이, 결정에 기초하여, 일부 필드들이 존재하거나 존재하지 않을 수 있다는 것에 대한 지식으로 비트스트림을 파싱할 수 있다. 유사하게, 인코더는 특정 신택스 필드들이 포함되어야 하는지 여부를 결정할 수 있고, 그에 따라 코딩된 표현으로부터 신택스 필드들을 포함하거나 배제함으로써 코딩된 표현을 생성할 수 있다.
전술한 것으로부터, 본 개시된 기술의 특정 실시예들은 예시를 위해 본 명세서에 설명되었지만, 다양한 변경들이 본 발명의 범위로부터 벗어나지 않고 이루어질 수 있는 것이 이해될 것이다. 따라서, 본 개시된 기술은, 첨부된 청구범위에 의한 것을 제외하고는 제한되지 않는다.
본 특허 문서에 설명된 기능적 동작들 및 주제의 구현들은 본 명세서에 개시된 구조들과 그 구조적 균등물들, 또는 그들 중 하나 이상의 조합을 포함하는 다양한 시스템들, 디지털 전자 회로로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 구현될 수 있다. 본 명세서에서 설명되는 주제의 구현들은 하나 이상의 컴퓨터 프로그램 제품, 즉, 데이터 처리 장치에 의한 실행을 위해, 또는 그 동작을 제어하기 위해 유형의 및 비일시적 컴퓨터 판독가능 매체 상에 인코딩되는 컴퓨터 프로그램 명령어들 중 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 판독가능 매체는 머신 판독가능 저장 디바이스, 머신 판독가능 저장 기판, 메모리 디바이스, 머신 판독가능 전파 신호(propagated signal)를 발생시키는 물질의 조성, 또는 이들 중 하나 이상의 조합일 수 있다. "데이터 처리 유닛" 또는 "데이터 처리 장치"라는 용어는 예로서, 프로그래머블 프로세서, 컴퓨터, 또는 다수의 프로세서 또는 컴퓨터들을 포함하는, 데이터를 처리하기 위한 모든 장치들, 디바이스들 및 머신들을 포괄한다. 장치는 하드웨어 이외에도 관심대상 컴퓨터 프로그램용 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다.
(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트, 또는 코드로도 알려진) 컴퓨터 프로그램은 컴파일링되거나 인터프리팅된 언어를 포함하는 임의 형태의 프로그래밍 언어로 작성될 수 있고, 이것은 자립형(stand-alone) 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴으로서 또는 컴퓨팅 환경의 사용에 적절한 기타 유닛으로서 하는 것을 포함하여, 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템 내의 파일에 반드시 해당하지는 않는다. 프로그램은 다른 프로그램들 또는 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일부분에, 관심대상 프로그램 전용인 단일 파일에, 또는 다수의 협조하는 파일(coordinated file)(예를 들어, 하나 이상의 모듈, 서브 프로그램(sub program)들, 또는 코드 부분(portion of code)들을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터상에서, 또는 하나의 위치에 배치되어 있거나 또는 다수의 위치에 걸쳐 분산되어 통신 네트워크에 의해 접속되는 다수의 컴퓨터상에서 실행되도록 전개될 수 있다.
본 명세서에 설명된 프로세스들 및 논리 흐름들은, 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능들을 수행하도록 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래머블 프로세서에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 특수 목적 로직 회로, 예컨대 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수 있으며, 장치는 또한, 특수 목적 로직 회로, 예컨대 FPGA 또는 ASIC로서 구현될 수 있다.
컴퓨터 프로그램을 실행하는데 적합한 프로세서는, 예를 들어, 범용 및 특수 목적 마이크로프로세서들 둘 모두, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 ROM(read only memory) 또는 RAM(random access memory) 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소는 명령어들을 실행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어 자기, 광자기 디스크, 또는 광학 디스크를 포함하거나, 또는 그들로부터 데이터를 수신하거나 그들로 데이터를 전송하거나 이들 양자를 행하도록 기능적으로 결합될 것이다. 그러나, 컴퓨터가 이러한 디바이스들을 가질 필요는 없다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하는데 적합한 컴퓨터 판독가능 매체는 예를 들어, EPROM, EEPROM, 및 플래시 메모리 디바이스인 반도체 메모리 디바이스들을 예로서 포함하여, 비휘발성 메모리, 매체 및 메모리 디바이스들의 모든 형태들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보완되거나 그에 통합될 수 있다.
본 명세서는 도면과 함께 단지 예시적인 것으로 간주되는 것을 의도하는데, 여기서 예시적이라는 말은 예를 의미하는 것이다. 본 명세서에 사용된 바와 같이, "또는"의 사용은, 문맥이 명백하게 달리 나타내지 않는 한, "및/또는"을 포함하는 것으로 의도된다.
본 특허 문서가 많은 특정 사항들을 포함하지만, 이들은 본 발명의 범위에 대한 또는 청구될 수 있는 것에 관한 제한으로서 해석해서는 안 되고, 그보다는 특정한 발명의 특정한 실시예들에 특정적일 수 있는 특징들의 설명으로서 해석해야 한다. 별개의 실시예들의 정황에서 본 특허 문서에서 설명된 특정 특징들은 또한 단일 실시예로 조합되어 구현될 수 있다. 역으로, 단일 실시예의 정황에서 설명된 다양한 특징은 또한 별도로 다수의 실시예에서 또는 임의의 적합한 하위조합으로 구현될 수 있다. 게다가, 특징들이 특정 조합들로 작용하는 것으로서 앞에서 설명되고 심지어는 처음에는 그렇게 청구될 수 있지만, 어떤 경우들에서는 청구된 조합으로부터의 하나 이상의 특징이 조합으로부터 삭제될 수 있으며, 청구된 조합은 하위조합 또는 하위조합의 변형에 대한 것일 수 있다.
유사하게, 도면들에는 동작들이 특정 순서로 도시되지만, 이는 바람직한 결과들을 달성하기 위해 그러한 동작들이 도시된 특정 순서로 또는 순차적 순서로 수행되어야 하거나, 또는 모든 예시된 동작들이 수행되어야 하는 것을 요구하는 것으로 이해해서는 안 된다. 게다가, 본 특허 문서에서 설명된 실시예들에서의 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 이러한 분리를 요구하는 것으로 이해해서는 안 된다.
단지 몇 개의 구현 및 예들이 설명되었지만, 본 특허 문서에서 설명되고 예시된 내용에 기초하여 다른 구현, 개선 및 변형이 이루어질 수 있다.

Claims (41)

  1. 시각적 미디어 처리를 위한 방법으로서:
    시각적 미디어 데이터의 현재 크로마 비디오 블록과 상기 현재 크로마 비디오 블록의 비트스트림 표현 간의 변환 동안, 상기 현재 크로마 비디오 블록의 병치된 루마 블록과 연관된 하나 이상의 조건에 적어도 부분적으로 기초하여, 상기 현재 크로마 비디오 블록에 대한 CCLM(cross-component linear model) 및/또는 CRS(chroma residual scaling)의 적용을 선택적으로 인에이블 또는 디스에이블하는 결정을 하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 현재 크로마 비디오 블록의 병치된 루마 블록과 연관된 하나 이상의 조건은: 상기 병치된 루마 블록의 파티션 크기, 임계 수를 달성하는 상기 병치된 루마 블록의 코딩 유닛들의 수, 임계 크기를 달성하는 상기 병치된 루마 블록의 상단 좌측 루마 샘플, 상기 병치된 루마 블록의 파티션 트리 깊이, 또는 상기 병치된 루마 블록의 상단 좌측 루마 샘플을 커버하는 대응하는 루마 블록, 상기 병치된 루마 블록의 상단 좌측 루마 샘플을 커버하고 사전 정의된 크기의 경계 박스 내에 추가로 포함되는 대응하는 루마 블록, 상기 병치된 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 CU(coding unit)의 코딩 모드, 및/또는 상기 현재 크로마 비디오 블록의 차원을 포함하는 방법.
  3. 제1항 또는 제2항 중 어느 하나 이상의 항에 있어서, 상기 현재 크로마 비디오 블록에 대한 상기 CCLM 및/또는 상기 CRS의 적용은 상기 현재 크로마 비디오 블록의 병치된 루마 블록이 다수의 파티션으로 분할된다고 결정한 것에 응답하여 디스에이블되는 방법.
  4. 제1항 또는 제2항 중 어느 하나 이상의 항에 있어서, 상기 현재 크로마 비디오 블록에 대한 상기 CCLM 및/또는 상기 CRS의 적용은 상기 현재 크로마 비디오 블록의 병치된 루마 블록이 다수의 파티션으로 분할되지 않는다고 결정한 것에 응답하여 인에이블되는 방법.
  5. 제1항 또는 제2항 중 어느 하나 이상의 항에 있어서, 상기 현재 크로마 비디오 블록에 대한 상기 CCLM 및/또는 상기 CRS의 적용은 상기 현재 크로마 비디오 블록의 병치된 루마 블록이 임계 수의 코딩 유닛들 및/또는 임계 수의 파티션 유닛들 및/또는 임계 수의 변환 유닛들 중 하나보다 많은 것을 포함한다고 결정한 것에 응답하여 디스에이블되는 방법.
  6. 제5항에 있어서,
    상기 임계 수는 1인 방법.
  7. 제5항에 있어서,
    상기 임계 수는 상기 CCLM 및/또는 상기 CRS가 적용되는지에 적어도 부분적으로 기초하는 방법.
  8. 제5항에 있어서,
    상기 임계 수는 고정되거나 또는 상기 비트스트림 표현에 포함되는 방법.
  9. 제5항에 있어서,
    상기 임계 수는 상기 현재 크로마 비디오 블록과 연관된 프로파일들/레벨들/계층(tier)들에 적어도 부분적으로 기초하는 방법.
  10. 제5항에 있어서,
    상기 코딩 유닛들 및/또는 상기 파티션 유닛들 및/또는 상기 변환 유닛들은 상기 병치된 루마 블록 내에 완전히 위치하는 방법.
  11. 제5항에 있어서,
    상기 코딩 유닛들 및/또는 상기 파티션 유닛들 및/또는 상기 변환 유닛들은 상기 병치된 루마 블록 내에 부분적으로 위치하는 방법.
  12. 제11항에 있어서,
    상기 코딩 유닛들 및/또는 상기 파티션 유닛들 및/또는 상기 변환 유닛들은 상기 병치된 루마 블록의 경계를 따라 부분적으로 위치하는 방법.
  13. 제5항에 있어서,
    상기 코딩 유닛들 및/또는 상기 파티션 유닛들 및/또는 상기 변환 유닛들은 서브-블록-기반 예측과 연관되는 방법.
  14. 제13항에 있어서,
    상기 서브-블록-기반 예측은 ISP(Intra Sub-Partitions) 또는 아핀 예측 또는 ATMVP(alternative temporal motion vector prediction)에 대응하는 방법.
  15. 제1항 또는 제2항 중 어느 하나 이상의 항에 있어서, 상기 현재 크로마 비디오 블록에 대한 상기 CCLM 및/또는 상기 CRS의 적용은 상기 병치된 루마 블록의 상단 좌측 루마 샘플을 커버하는 코딩 유닛 및/또는 파티션 유닛 및/또는 변환 유닛이 사전 정의된 블록 크기보다 큰 것으로 결정한 것에 응답하여 디스에이블되는 방법.
  16. 제15항에 있어서,
    상기 병치된 루마 블록은 크기 32x32를 갖고 크기 64x64의 대응하는 루마 블록 내에 포함되며, 상기 사전 정의된 루마 블록 크기는 32x64인 방법.
  17. 제2항에 있어서,
    상기 현재 크로마 비디오 블록에 대한 상기 CCLM 및/또는 상기 CRS의 적용은 상기 현재 크로마 비디오 블록의 병치된 루마 블록이 스플릿되지 않고, 상기 병치된 루마 블록의 상단 좌측 루마 샘플을 커버하는 대응하는 루마 블록이 상기 사전 정의된 크기의 경계 박스 내에 완전히 포함된다고 결정한 것에 응답하여 인에이블되는 방법.
  18. 제17항에 있어서,
    상기 대응하는 루마 블록은 크기 32x64를 갖고, 상기 경계 박스는 크기 40x70을 갖는 방법.
  19. 제17항에 있어서,
    상기 경계 박스의 사전 정의된 크기는 상기 현재 크로마 비디오 블록과 연관된 CTU(coding tree unit)의 크기 및/또는 상기 현재 크로마 비디오 블록과 연관된 CU(coding unit)의 크기에 부분적으로 기초하는 방법.
  20. 제1항 또는 제2항 중 어느 하나 이상의 항에 있어서, 상기 현재 크로마 비디오 블록의 병치된 루마 블록은 다수의 파티션으로 분할되고, 상기 다수의 파티션 중 하나 이상의 것의 내부의 예측 샘플들 또는 재구성된 샘플들은 상기 현재 크로마 비디오 블록의 CRS와 연관된 값들을 도출하기 위해 사용되는 방법.
  21. 제20항에 있어서,
    상기 현재 크로마 비디오 블록의 병치된 루마 블록의 제1 파티션 내부의 예측 샘플들 또는 재구성된 샘플들의 평균은 상기 현재 크로마 비디오 블록의 CRS와 연관된 값들을 도출하기 위해 사용되는 방법.
  22. 제20항에 있어서,
    상기 현재 크로마 비디오 블록의 병치된 루마 블록의 제1 파티션 내부의 상단 좌측 예측 샘플 또는 상단 좌측 재구성된 샘플은 상기 현재 크로마 비디오 블록의 CRS와 연관된 값들을 도출하기 위해 사용되는 방법.
  23. 제20항에 있어서,
    상기 현재 크로마 비디오 블록의 병치된 루마 블록의 제1 파티션 내부의 중앙 예측 샘플 또는 중앙 재구성된 샘플이 상기 현재 크로마 비디오 블록의 컬러 성분 값들을 도출하기 위해 사용되는 방법.
  24. 제2항에 있어서,
    상기 현재 크로마 비디오 블록에 대한 CCLM 및/또는 CRS의 적용은 상기 병치된 루마 블록의 적어도 하나의 샘플을 커버하는 상기 하나 또는 다수의 CU(coding unit)의 코딩 모드가 아핀 모드, 양 예측 모드, BDOF(Bi-Directional Optical Flow) 모드, DMVR 모드, 행렬 아핀 예측 모드, 인터 모드, 또는 ISP(Intra Sub-Partitions) 모드 중 하나라고 결정한 것에 응답하여 디스에이블되는 방법.
  25. 제2항에 있어서,
    상기 병치된 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 CU(coding unit)은 상기 대응하는 루마 블록인 방법.
  26. 제1항 내지 제25항 중 어느 하나 이상의 항에 있어서,
    상기 비트스트림 표현에서의 필드에 기초하여, 상기 CCLM 및/또는 상기 CRS가 상기 현재 크로마 비디오 블록에 대해 선택적으로 인에이블 또는 디스에이블되는 것을 표시하는 단계를 추가로 포함하는 방법.
  27. 제1항 내지 제26항 중 어느 하나 이상의 항에 있어서,
    상기 현재 크로마 비디오 블록에 대한 CCLM 및/또는 CRS의 적용을 선택적으로 인에이블 또는 디스에이블하는 것은 상기 현재 크로마 비디오 블록의 하나 이상의 서브-블록에 대해 수행되는 방법.
  28. 제27항에 있어서,
    상기 현재 크로마 비디오 블록의 하나 이상의 서브-블록은 크기 2x2 또는 4x4를 갖는 방법.
  29. 제27항에 있어서,
    상기 현재 크로마 비디오 블록의 대응하는 루마 코딩 블록이 상기 서브블록의 대응하는 블록의 모든 샘플들을 커버할 때 상기 현재 크로마 비디오 블록의 서브-블록에 대해 상기 CCLM 및/또는 상기 CRS의 적용이 인에이블되는 방법.
  30. 제27항에 있어서,
    상기 서브블록의 대응하는 블록의 모든 샘플들이 상기 대응하는 루마 코딩 블록에 의해 커버되지 않을 때 상기 현재 크로마 비디오 블록의 서브-블록에 대해 상기 CCLM 및/또는 상기 CRS의 적용이 디스에이블되는 방법.
  31. 제27항에 있어서,
    상기 CCLM 및/또는 상기 CRS의 파라미터들은 상기 현재 크로마 비디오 블록의 각각의 서브-블록과 연관되는 방법.
  32. 제27항에 있어서,
    상기 현재 크로마 비디오 블록의 서브-블록에 대한 상기 CCLM 및/또는 상기 CRS의 적용을 선택적으로 인에이블 또는 디스에이블하는 것은 상기 병치된 루마 블록 내에 포함된 샘플들에 기초하는 방법.
  33. 제1항 내지 제32항 중 어느 하나 이상의 항에 있어서,
    상기 현재 크로마 비디오 블록은 인터 코딩된 블록, 인트라 코딩된 블록, 양 예측 코딩된 블록, 또는 IBC(intra block copy) 코딩된 블록인 방법.
  34. 제1항 내지 제33항 중 어느 하나 이상의 항에 있어서,
    상기 변환은 상기 현재 크로마 비디오 블록으로부터 상기 비트스트림 표현을 생성하는 것을 포함하는 방법.
  35. 제1항 내지 제33항 중 어느 하나 이상의 항에 있어서,
    상기 변환은 상기 비트스트림 표현으로부터 상기 현재 크로마 비디오 블록의 픽셀 값들을 생성하는 것을 포함하는 방법.
  36. 제1항 내지 제33항 중 어느 하나 이상의 항에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코더 장치.
  37. 제1항 내지 제33항 중 어느 하나 이상의 항에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코더 장치.
  38. 코드가 저장되어 있는 컴퓨터 판독가능 매체로서, 상기 코드는 제1항 내지 제33항 중 어느 하나 이상의 항에 기재된 방법을 구현하기 위한 프로세서 실행가능 명령어들을 구현하는 컴퓨터 판독가능 매체.
  39. 제1항 내지 제38항 중 어느 하나 이상의 항에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코더 장치.
  40. 제1항 내지 제38항 중 어느 하나 이상의 항에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코더 장치.
  41. 코드가 저장되어 있는 컴퓨터 판독가능 매체로서, 상기 코드는 제1항 내지 제38항 중 어느 하나 이상의 항에 기재된 방법을 구현하기 위한 프로세서 실행가능 명령어들을 구현하는 컴퓨터 판독가능 매체.
KR1020217032116A 2019-04-18 2020-04-20 크로스 성분 모드의 적용성에 대한 제한 KR20210150397A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2019083320 2019-04-18
CNPCT/CN2019/083320 2019-04-18
PCT/CN2020/085654 WO2020211862A1 (en) 2019-04-18 2020-04-20 Restriction on applicability of cross component mode

Publications (1)

Publication Number Publication Date
KR20210150397A true KR20210150397A (ko) 2021-12-10

Family

ID=72837039

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020217032116A KR20210150397A (ko) 2019-04-18 2020-04-20 크로스 성분 모드의 적용성에 대한 제한
KR1020217032284A KR20210154150A (ko) 2019-04-18 2020-04-20 크로스 성분 모드에서의 파라미터 도출

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020217032284A KR20210154150A (ko) 2019-04-18 2020-04-20 크로스 성분 모드에서의 파라미터 도출

Country Status (12)

Country Link
US (4) US11463714B2 (ko)
EP (2) EP3935834A4 (ko)
JP (3) JP7302009B2 (ko)
KR (2) KR20210150397A (ko)
CN (5) CN113711590B (ko)
AU (2) AU2020260285B2 (ko)
BR (2) BR112021019564A2 (ko)
CA (2) CA3135521A1 (ko)
MX (2) MX2021012472A (ko)
SG (2) SG11202111000XA (ko)
WO (4) WO2020211869A1 (ko)
ZA (2) ZA202107295B (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117176958A (zh) * 2017-11-28 2023-12-05 Lx 半导体科技有限公司 图像编码/解码方法、图像数据的传输方法和存储介质
TWI827675B (zh) * 2018-09-12 2024-01-01 大陸商北京字節跳動網絡技術有限公司 交叉分量線性模型中的尺寸相關的下採樣
EP3912343A4 (en) 2019-03-08 2022-07-20 Beijing Bytedance Network Technology Co., Ltd. LIMITATIONS OF MODEL-BASED TRANSFORMING IN VIDEO PROCESSING
MX2021012472A (es) * 2019-04-18 2021-11-12 Beijing Bytedance Network Tech Co Ltd Restriccion de la aplicabilidad del modo de componentes cruzados.
JP7317991B2 (ja) 2019-04-23 2023-07-31 北京字節跳動網絡技術有限公司 クロスコンポーネント依存性を低減するための方法
EP3963887A4 (en) * 2019-04-30 2023-01-25 Beijing Dajia Internet Information Technology Co., Ltd. METHOD AND APPARATUS FOR PREDICTION REFINING WITH OPTICAL FLOW
CN113796072B (zh) 2019-05-08 2023-10-03 北京字节跳动网络技术有限公司 跨分量编解码的适用性条件
WO2020256400A1 (ko) * 2019-06-17 2020-12-24 엘지전자 주식회사 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩
WO2020256512A1 (ko) * 2019-06-20 2020-12-24 엘지전자 주식회사 루마 맵핑 기반 비디오 또는 영상 코딩
WO2020256510A1 (ko) * 2019-06-21 2020-12-24 현대자동차주식회사 코딩 툴들을 제어하는 방법 및 장치
JP7418478B2 (ja) 2019-06-22 2024-01-19 北京字節跳動網絡技術有限公司 クロマ残差スケーリングのためのシンタックス要素
EP3991408A1 (en) * 2019-06-25 2022-05-04 InterDigital VC Holdings France, SAS Method and apparatus for coding/decoding picture data
CN117241026A (zh) * 2019-07-05 2023-12-15 Lg电子株式会社 解码设备和编码设备、存储介质及发送图像的数据的设备
CN117395396A (zh) 2019-07-07 2024-01-12 北京字节跳动网络技术有限公司 色度残差缩放的信令通知
MX2022001306A (es) * 2019-08-01 2022-03-02 Huawei Tech Co Ltd Un codificador, un decodificador y metodos correspondientes de derivacion de intra modo de crominancia.
EP4000265A4 (en) 2019-08-20 2022-10-26 Beijing Bytedance Network Technology Co., Ltd. USING DEFAULT AND CUSTOM SCALING MATRICES
KR20230018532A (ko) * 2019-10-09 2023-02-07 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들
US11425405B2 (en) * 2019-11-15 2022-08-23 Qualcomm Incorporated Cross-component adaptive loop filter in video coding
WO2021100450A1 (ja) * 2019-11-21 2021-05-27 日本放送協会 イントラ予測装置、画像符号化装置、画像復号装置、及びプログラム
US11716468B2 (en) * 2019-12-20 2023-08-01 Qualcomm Incorporated Adaptive loop filter signaling redundancy removal field
US20210409706A1 (en) * 2020-06-30 2021-12-30 Tencent America LLC Low latency cross component intra prediction mode
WO2024034849A1 (ko) * 2022-08-09 2024-02-15 현대자동차주식회사 루마 성분 기반 크로마 성분 예측을 이용하는 비디오 코딩을 위한 방법 및 장치

Family Cites Families (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2051524A1 (en) 2007-10-15 2009-04-22 Panasonic Corporation Image enhancement considering the prediction error
US9571856B2 (en) * 2008-08-25 2017-02-14 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding
WO2011126272A2 (en) 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using dynamic-range transformation, and method and apparatus for decoding video by using dynamic-range transformation
BR122020014075B1 (pt) * 2010-09-30 2023-11-28 Samsung Electronics Co., Ltd Método de compensação de movimento
WO2012090504A1 (en) * 2010-12-28 2012-07-05 Panasonic Corporation Methods and apparatuses for coding and decoding video stream
CN103688533B (zh) 2011-06-20 2015-12-23 联发科技(新加坡)私人有限公司 可减少行存储器的色度帧内预测方法及装置
KR20130058524A (ko) 2011-11-25 2013-06-04 오수미 색차 인트라 예측 블록 생성 방법
JP5375938B2 (ja) * 2011-12-14 2013-12-25 ソニー株式会社 復号装置及び方法
CN103227917B (zh) * 2012-01-31 2016-12-14 华为技术有限公司 解码方法和装置
CN104471940B (zh) * 2012-04-16 2017-12-15 联发科技(新加坡)私人有限公司 色度帧内预测方法及装置
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
CN111629208B (zh) * 2012-07-02 2021-12-21 韩国电子通信研究院 图像编码/解码方法和非暂时性计算机可读记录介质
US9854259B2 (en) * 2012-07-09 2017-12-26 Qualcomm Incorporated Smoothing of difference reference picture
US9350899B2 (en) * 2012-09-14 2016-05-24 Qualcomm Incorporated Methods and device for efficient resampling and resizing of digital images
AU2012232992A1 (en) * 2012-09-28 2014-04-17 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the transform units of a coding unit
US9503732B2 (en) * 2013-04-10 2016-11-22 Arris Enterprises, Inc. Re-sampling with phase offset adjustment for luma and chroma to select filters in scalable video coding
EP4366308A2 (en) * 2013-06-28 2024-05-08 Velos Media International Limited Methods and devices for emulating low-fidelity coding in a high-fidelity coder
US10440365B2 (en) * 2013-06-28 2019-10-08 Velos Media, Llc Methods and devices for emulating low-fidelity coding in a high-fidelity coder
US9648330B2 (en) * 2013-07-15 2017-05-09 Qualcomm Incorporated Inter-color component residual prediction
EP3989585A1 (en) * 2013-10-11 2022-04-27 VID SCALE, Inc. High level syntax for hevc extensions
US9648332B2 (en) * 2013-10-28 2017-05-09 Qualcomm Incorporated Adaptive inter-color component residual prediction
US10397607B2 (en) * 2013-11-01 2019-08-27 Qualcomm Incorporated Color residual prediction for video coding
WO2015100522A1 (en) * 2013-12-30 2015-07-09 Mediatek Singapore Pte. Ltd. Methods for inter-component residual prediction
US10142642B2 (en) * 2014-06-04 2018-11-27 Qualcomm Incorporated Block adaptive color-space conversion coding
US10200700B2 (en) 2014-06-20 2019-02-05 Qualcomm Incorporated Cross-component prediction in video coding
US20150373350A1 (en) 2014-06-20 2015-12-24 Qualcomm Incorporated Temporal motion vector prediction (tmvp) indication in multi-layer codecs
US10469847B2 (en) 2014-09-12 2019-11-05 Vid Scale, Inc. Inter-component de-correlation for video coding
US9918105B2 (en) * 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification
WO2016066028A1 (en) 2014-10-28 2016-05-06 Mediatek Singapore Pte. Ltd. Method of guided cross-component prediction for video coding
US9998742B2 (en) 2015-01-27 2018-06-12 Qualcomm Incorporated Adaptive cross component residual prediction
EP3493149A1 (en) 2015-02-19 2019-06-05 Magic Pony Technology Limited Super-resolution of visual data using sub-pixel convolution
GB201603144D0 (en) 2016-02-23 2016-04-06 Magic Pony Technology Ltd Training end-to-end video processes
US10015491B2 (en) 2015-04-06 2018-07-03 Dolby Laboratories Licensing Corporation In-loop block-based image reshaping in high dynamic range video coding
US20180167615A1 (en) 2015-06-07 2018-06-14 Sharp Kabushiki Kaisha Systems and methods for optimizing video coding based on a luminance transfer function or video color component values
TWI764870B (zh) 2015-07-28 2022-05-21 法商內數位麥德遜專利控股有限公司 視訊訊號處理裝置及方法
US10652588B2 (en) 2015-09-21 2020-05-12 Vid Scale, Inc. Inverse reshaping for high dynamic range video coding
US20170105014A1 (en) * 2015-10-08 2017-04-13 Qualcomm Incorporated Luma-driven chroma scaling for high dynamic range and wide color gamut contents
US10045023B2 (en) * 2015-10-09 2018-08-07 Telefonaktiebolaget Lm Ericsson (Publ) Cross component prediction in video coding
US10200719B2 (en) 2015-11-25 2019-02-05 Qualcomm Incorporated Modification of transform coefficients for non-square transform units in video coding
GB2548358A (en) 2016-03-15 2017-09-20 Nokia Technologies Oy A method, an apparatus and a computer program product for coding a 360-degree panoramic images and video
EP3433833B1 (en) 2016-03-23 2021-07-07 Dolby Laboratories Licensing Corporation Encoding and decoding reversible production-quality single-layer video signals
CN109417620B (zh) * 2016-03-25 2021-04-27 松下知识产权经营株式会社 用于使用信号依赖型自适应量化将运动图像编码及解码的方法及装置
JP6846442B2 (ja) 2016-05-19 2021-03-24 ドルビー ラボラトリーズ ライセンシング コーポレイション ハイダイナミックレンジ画像のためのクロマ再構成
CN109155853B (zh) * 2016-05-19 2023-03-28 杜比实验室特许公司 用于高动态范围图像的色度整形
US20200322599A1 (en) * 2016-05-28 2020-10-08 Mediatek Inc. Method and apparatus of current picture referencing for video coding using affine motion compensation
US10484712B2 (en) * 2016-06-08 2019-11-19 Qualcomm Incorporated Implicit coding of reference line index used in intra prediction
CN113452999B (zh) 2016-07-22 2023-12-05 夏普株式会社 使用自适应分量缩放对视频数据进行编码的系统和方法
US10390015B2 (en) 2016-08-26 2019-08-20 Qualcomm Incorporated Unification of parameters derivation procedures for local illumination compensation and cross-component linear model prediction
US10419757B2 (en) 2016-08-31 2019-09-17 Qualcomm Incorporated Cross-component filter
EP3510772B1 (en) 2016-09-09 2020-12-09 Dolby Laboratories Licensing Corporation Coding of high dynamic range video using segment-based reshaping
US11202063B2 (en) 2016-10-04 2021-12-14 Electronics And Telecommunications Research Institute Method and device for encoding/decoding image, and recording medium storing bit stream
US10477240B2 (en) 2016-12-19 2019-11-12 Qualcomm Incorporated Linear model prediction mode with sample accessing for video coding
US10873746B2 (en) * 2016-12-21 2020-12-22 Sharp Kabushiki Kaisha Intra prediction image generation device using cross-component liner model, image decoding apparatus, and image coding apparatus using same
US20180199062A1 (en) * 2017-01-11 2018-07-12 Qualcomm Incorporated Intra prediction techniques for video coding
US11025903B2 (en) * 2017-01-13 2021-06-01 Qualcomm Incorporated Coding video data using derived chroma mode
US10694181B2 (en) * 2017-01-27 2020-06-23 Qualcomm Incorporated Bilateral filters in video coding with reduced complexity
EP3386198A1 (en) * 2017-04-07 2018-10-10 Thomson Licensing Method and device for predictive picture encoding and decoding
WO2018236031A1 (ko) * 2017-06-21 2018-12-27 엘지전자(주) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
CN117793378A (zh) 2017-06-29 2024-03-29 杜比实验室特许公司 整合的图像整形和视频编码
US20190116376A1 (en) 2017-10-12 2019-04-18 Qualcomm Incorporated Motion vector predictors using affine motion model in video coding
CN117082246A (zh) 2018-02-14 2023-11-17 杜比实验室特许公司 在视频编码中利用率失真优化进行图像再成形
US11190790B2 (en) 2018-04-01 2021-11-30 Lg Electronics Inc. Parallel processing method for color component of video signal, and device therefor
CN109005408B (zh) * 2018-08-01 2020-05-29 北京奇艺世纪科技有限公司 一种帧内预测方法、装置及电子设备
TWI814890B (zh) 2018-08-17 2023-09-11 大陸商北京字節跳動網絡技術有限公司 簡化的跨分量預測
TWI827675B (zh) 2018-09-12 2024-01-01 大陸商北京字節跳動網絡技術有限公司 交叉分量線性模型中的尺寸相關的下採樣
CN111357291A (zh) 2018-10-23 2020-06-30 北京字节跳动网络技术有限公司 从相邻块推导运动信息
JP7231727B2 (ja) 2018-11-05 2023-03-01 北京字節跳動網絡技術有限公司 精緻化を伴うインター予測のための補間
WO2020094059A1 (en) 2018-11-06 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Complexity reduction in parameter derivation for intra prediction
KR20210091182A (ko) 2018-12-07 2021-07-21 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 컨텍스트 기반 인트라 예측
WO2020141813A2 (ko) 2018-12-31 2020-07-09 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
AU2020226565C1 (en) 2019-02-22 2024-01-11 Beijing Bytedance Network Technology Co., Ltd. Neighbouring sample selection for intra prediction
CN117499669A (zh) 2019-02-22 2024-02-02 华为技术有限公司 用于色度子块的仿射帧间预测的方法及装置
WO2020169102A1 (en) 2019-02-24 2020-08-27 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction
EP3703366A1 (en) 2019-02-28 2020-09-02 InterDigital VC Holdings, Inc. Method and device for picture encoding and decoding
BR112021013611A2 (pt) * 2019-02-28 2021-09-14 Interdigital Vc Holdings, Inc. Método e dispositivo para codificação e decodificação de imagens
US11516512B2 (en) * 2019-03-04 2022-11-29 Alibaba Group Holding Limited Method and system for processing video content
EP3912343A4 (en) 2019-03-08 2022-07-20 Beijing Bytedance Network Technology Co., Ltd. LIMITATIONS OF MODEL-BASED TRANSFORMING IN VIDEO PROCESSING
US20200288126A1 (en) * 2019-03-08 2020-09-10 Qualcomm Incorporated Reshaping filter average calculation for video coding
US20200288159A1 (en) 2019-03-08 2020-09-10 Qualcomm Incorporated Combined residual coding in video coding
US20220217405A1 (en) 2019-04-03 2022-07-07 Lg Electronics Inc. Video or image coding for modifying reconstructed picture
MX2021012472A (es) 2019-04-18 2021-11-12 Beijing Bytedance Network Tech Co Ltd Restriccion de la aplicabilidad del modo de componentes cruzados.
CN113796072B (zh) 2019-05-08 2023-10-03 北京字节跳动网络技术有限公司 跨分量编解码的适用性条件
US11388406B2 (en) 2019-05-20 2022-07-12 Dolby Laboratories Licensing Corporation Piece-wise-linear mapping for in-loop reshaping in image coding
JP2021002780A (ja) 2019-06-21 2021-01-07 シャープ株式会社 動画像復号装置および動画像符号化装置
JP7418478B2 (ja) 2019-06-22 2024-01-19 北京字節跳動網絡技術有限公司 クロマ残差スケーリングのためのシンタックス要素
CN117395396A (zh) 2019-07-07 2024-01-12 北京字节跳动网络技术有限公司 色度残差缩放的信令通知
KR20220030957A (ko) 2019-07-11 2022-03-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 카피를 위한 비트스트림 적합 제약
US11601657B2 (en) 2020-04-02 2023-03-07 Qualcomm Incorporated LUMA mapping with chroma scaling (LMCS) in video coding
US11375212B2 (en) 2020-04-18 2022-06-28 Qualcomm Incorporated Flexible chroma processing for dynamic range adjustment
US20210400257A1 (en) 2020-06-18 2021-12-23 Lg Electronics Inc. Image encoding/decoding method and apparatus for signaling high level information for tool control based on colour representation format, and computer-readable recording medium strong bitstream
WO2022115698A1 (en) 2020-11-30 2022-06-02 Beijing Dajia Internet Information Technology Co., Ltd. Chroma coding enhancement in cross-component sample adaptive offset

Also Published As

Publication number Publication date
CA3135521A1 (en) 2020-10-22
JP2022526664A (ja) 2022-05-25
WO2020211863A1 (en) 2020-10-22
CN113692741A (zh) 2021-11-23
AU2020260285B2 (en) 2023-06-01
CN113692739B (zh) 2023-10-27
MX2021012472A (es) 2021-11-12
EP3932062A4 (en) 2022-07-20
CN113692741B (zh) 2022-12-13
US11616965B2 (en) 2023-03-28
US20230117813A1 (en) 2023-04-20
US20210385469A1 (en) 2021-12-09
AU2020259567A1 (en) 2021-10-28
WO2020211862A1 (en) 2020-10-22
CN113692742A (zh) 2021-11-23
BR112021019679A2 (pt) 2021-12-07
ZA202107452B (en) 2023-10-25
ZA202107295B (en) 2023-10-25
CN117528068A (zh) 2024-02-06
US11553194B2 (en) 2023-01-10
US20220030220A1 (en) 2022-01-27
CN113711590B (zh) 2024-04-19
CA3135968C (en) 2024-05-14
MX2021012470A (es) 2021-11-12
US11463714B2 (en) 2022-10-04
US20210392351A1 (en) 2021-12-16
CN113692739A (zh) 2021-11-23
AU2020260285A1 (en) 2021-10-28
CN113692742B (zh) 2023-10-27
EP3935834A4 (en) 2022-08-17
KR20210154150A (ko) 2021-12-20
JP7302009B2 (ja) 2023-07-03
SG11202111000XA (en) 2021-11-29
JP2022526663A (ja) 2022-05-25
WO2020211869A1 (en) 2020-10-22
EP3932062A1 (en) 2022-01-05
CA3135968A1 (en) 2020-10-22
BR112021019564A2 (pt) 2021-12-07
SG11202110713XA (en) 2021-10-28
CN113711590A (zh) 2021-11-26
EP3935834A1 (en) 2022-01-12
WO2020211868A1 (en) 2020-10-22
JP2023165823A (ja) 2023-11-17

Similar Documents

Publication Publication Date Title
CN113692741B (zh) 跨分量模式中的参数推导
CN113796072B (zh) 跨分量编解码的适用性条件
CN114128280B (zh) 色度残差缩放的信令通知
CN113994697A (zh) 色度残差缩放的语法元素
CN113711610B (zh) 降低跨分量依赖性的方法
RU2816350C2 (ru) Ограничения применимости кросс-компонентного режима
RU2817006C2 (ru) Способ определения параметров в кросс-компонентном режиме

Legal Events

Date Code Title Description
AMND Amendment
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)