KR20220084060A - 크로스 컴포넌트 적응적 루프 필터의 시그널링 - Google Patents

크로스 컴포넌트 적응적 루프 필터의 시그널링 Download PDF

Info

Publication number
KR20220084060A
KR20220084060A KR1020227013600A KR20227013600A KR20220084060A KR 20220084060 A KR20220084060 A KR 20220084060A KR 1020227013600 A KR1020227013600 A KR 1020227013600A KR 20227013600 A KR20227013600 A KR 20227013600A KR 20220084060 A KR20220084060 A KR 20220084060A
Authority
KR
South Korea
Prior art keywords
alf
video
component
tool
chroma
Prior art date
Application number
KR1020227013600A
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 KR20220084060A publication Critical patent/KR20220084060A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/77Circuits for processing the brightness signal and the chrominance signal relative to each other, e.g. adjusting the phase of the brightness signal relative to the colour signal, correcting differential gain or differential phase
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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

Landscapes

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

Abstract

비디오 프로세싱 방법은 비디오의 크로마 컴포넌트의 부분과 상기 비디오의 비트스트림 표현 간의 변환을 규칙에 따라 수행하는 단계를 포함하되, 상기 규칙은 CC-ALF 도구가 상기 비디오의 부분의 변환에 가용한지 여부가, ALF 도구의 사용 혹은 가용성이 루마 컴포넌트의 대응 부분에 대해 지시되는지 여부에 종속적이도록 지정한다.

Description

크로스 컴포넌트 적응적 루프 필터의 시그널링
파리 조약을 준수하는 적용가능한 특허법 및/또는 규칙에 따라서, 본 출원은 2019년 10월 29일에 출원된 국제 특허 출원 번호 PCT/CN2019/113955에 대한 우선권 및 혜택을 시기적절하게 주장하기 위해 작성되었다. 법 하에 따른 모든 목적을 위하여, 앞서 언급된 출원의 모든 개시내용은 본 출원의 개시 내용의 일부로서 본 명세서에서 원용에 의해 통합된다.
본 특허 문서는 이미지 및 비디오 코딩과 디코딩에 연관된다.
비디오 압축 분야의 발전에도 불구하고, 디지털 비디오는 여전히 인터넷 및 다른 디지털 통신 네트워크에서 가장 넓은 대역폭을 사용한다. 비디오를 수신하고 디스플레이할 수 있는 접속된 사용자 장치의 개수가 증가함에 따라서, 디지털 비디오 사용을 위한 대역폭 수요는 계속하여 증가할 것으로 기대된다.
본 문서는 비디오 인코딩 혹은 디코딩 동안 크로스 컴포넌트 적응적 루프 필터링(cross-component adaptive loop filtering)을 수행하기 위해 비디오 인코더 및 디코더에 의해 사용될 수 있는 기술을 개시한다.
예시적인 일 양상에서, 비디오 프로세싱 방법이 개시된다. 방법은 비디오의 비디오의 비디오 영역과 상기 비디오의 비트스트림 표현 간의 변환을 위해 CC-ALF(cross-component adaptive loop filtering) 도구를 루마 샘플 값들을 이용하여 크로마 샘플 값들을 개선하기 위해 사용하도록 결정을 내리는 단계 및 상기 결정에 기초하여 변환을 수행하는 단계를 포함하되, 상기 개선은 상기 루마 샘플 값들을 선택적으로 필터링하여 결정되는 제1 개선 값의 추가 개선인 최종 개선을 이용하여 상기 크로마 샘플 값들을 보정하는 것을 포함한다.
다른 예시적인 일 양상에서, 다른 비디오 프로세싱 방법이 개시된다. 방법은 비디오의 비디오 영역과 상기 비디오의 비트스트림 표현 간의 변환을 위해, 제2 컴포넌트의 제2 비디오 블록의 샘플 값들을 이용하여 제1 컴포넌트의 제1 비디오 블록의 샘플 값들을 보정하는 데 CC-ALF 도구를 사용하도록 결정하는 단계 및 상기 결정에 기초하여 상기 변환을 수행하는 단계를 포함하되, 상기 CC-ALF 도구는 1) 상기 제1 컴포넌트가 Cr 혹은 Cb 컴포넌트이고 2) 상기 제2 컴포넌트가 Y 컴포넌트임을 모두 충족하는 경우를 제외하고 사용된다.
또다른 예시적인 양상에서, 다른 비디오 프로세싱 방법이 개시된다. 방법은 비디오의 비디오 유닛 및 비디오의 비트스트림 표현 간의 변환을 위해 규칙에 따라 제2 컴포넌트의 샘플 값들을 이용하여 제1 컴포넌트의 샘플 값들으 보정하기 위한 CC-ALF(cross-component adaptive loop filtering) 도구를 사용하도록 결정을 내리는 단계 및 결정에 기초하여 변환을 수행하는 단계를 포함하되, 규칙은 비트스트림 표현에서 제1 ALF APS(adaptation parameter set) 및 제2 ALF APS를 포함하는 둘 이상의 ALF APS를 사용하도록 지정한다.
또다른 예시적인 양상에서, 다른 비디오 프로세싱 방법이 개시된다. 방법은 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환을 위해 규칙에 따라 제2 컴포넌트의 샘플 값들을 이용하여 제1 컴포넌트의 샘플 값들을 보정하기 위한 CC-ALF(cross-component adaptive loop filtering) 도구를 사용하도록 결정을 내리는 단계 및 결정에 기초하여 변환을 수행하는 단계를 포함하되, 규칙은 비디오 영역의 제1 샘플에 적용되는 제1 CC-ALF 필터 및 비디오 영역의 제2 샘플에 적용되는 제2 CC-ALF 필터를 포함하는 둘 이상의 CC-ALF 필터를 사용하도록 지정한다.
또다른 예시적인 양상에서, 다른 비디오 프로세싱 방법이 개시된다. 방법은 비디오의 비디오 영역과 비디오의 비트스트림 간의 변환을 위해 비디오 영역의 루마 샘플들에 기초하여 비디오 영역의 제1 색상 컴포넌트에 대한 제1 오프셋을 유도하는 단계, 제1 오프셋에 기초하여 비디오 영역의 제2 색상 컴포넌트에 대한 제2 오프셋을 유도하는 단계 및 비디오 영역의 루마 샘플들에 기초하여 제1 색상 컴포넌트와 제2 색상 컴포넌트를 보정하기 위해 CC-ALF(cross component adaptive loop filter) 도구를 적용함으로써 변환을 수행하는 단계를 포함한다.
또다른 예시적인 양상에서, 다른 비디오 프로세싱 방법이 개시된다. 방법은 다중 컴포넌트를 포함하는 비디오의 비디오 블록과 비디오의 비트스트림 표현 간의 변환을 위해 CC-ALF가 MxN 서브블록 레벨에서 적용된다고 결정하는 단계, M 및 N은 양의 정수이고, M 및 N 중 적어도 하나는 1보다 크며; 및 결정에 기초하여 변환을 수행하는 단계를 포함하되, CC-ALF 도구는 비디오의 제2 컴포넌트에 기초하여 비디오의 제1 컴포넌트에 대한 MxN 서브블록 샘플들을 보정하는데 사용된다.
또다른 예시적인 양상에서, 다른 비디오 프로세싱 방법이 개시된다. 방법은 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환을 위해 루마 샘플 차이의 필터링에 기초하여 CC-ALF 프로세스를 이용하여 비디오 영역의 크로마 샘플들을 보정하기로 결정하는 단계 및 결정에 기초하여 변환을 수행하는 단계를 포함한다.
또다른 예시적인 양상에서, 다른 비디오 프로세싱 방법이 개시된다. 방법은 규칙에 따라 비디오의 크로마 컴포넌트의 부분과 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 규칙은 CC-ALF 도구가 비디오의 부분의 변환에 대해 사용 가능한지 여부는 루마 컴포넌트의 대응 부분에 대해 ALF 도구의 사용 혹은 사용 가능성이 지시되는지 여부에 종속적이라고 지정한다.
또다른 예시적인 양상에서, 다른 비디오 프로세싱 방법이 개시된다. 방법은 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 비트스트림 표현은, 비트스트림 표현에서 CC-ALF 도구의 사용을 지시하는 신택스 요소가 포함되는지 여부가 사용 가능한 ALF(adaptive loop filtering) APS(adaptation parameter set)의 수에 종속적이도록 지정하는 포맷 규칙을 따른다.
또다른 예시적인 양상에서, 다른 비디오 프로세싱 방법이 개시된다. 방법은 비디오의 비디오 유닛과 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 비트스트림 표현은 제2 컴포넌트의 샘플 값들을 이용하여 제1 컴포넌트의 샘플 값들을 개선하기 위한 CC-ALF 도구의 적용 가능성이 슬라이스 레벨과 상이한 비디오 유닛 레벨에서 비트스트림 표현에 포함된다고 지정하는 포맷 규칙을 따른다.
또다른 예시적인 양상에서, 다른 비디오 프로세싱 방법이 개시된다. 방법은 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 비트스트림 표현은 비트스트림 표현에서 CC-ALF 도구의 사용을 지시하는 신택스 요소가 루마 컴포넌트의 대응 부분에 사용되는 ALF 도구의 가용성에 종속적인지 여부를 지정하는 포맷 규칙을 따른다.
또다른 예시적인 양상에서, 다른 비디오 프로세싱 방법이 개시된다. 방법은 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 비트스트림 표현은 비트스트림 표현이 APS 가 크로스 컴포넌트 적응적 필터링 CC-ALF 도구와 연관된 정보를 포함하는지 여부를 지시하는 신택스 요소를 포함하는 APS(adaptation parameter set)를 포함하도록 지정하는 포맷 규칙을 따른다.
또다른 예시적인 양상에서, 다른 비디오 프로세싱 방법이 개시된다. 방법은 배제 규칙이 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환에 적용 가능하다고 결정하는 단계, 배제 규칙은 비디오 영역에 대해 코딩 도구와 CC-ALF 도구를 함께 사용하는 것을 불허하도록 지정함; 및 결정에 기초하여 변환을 수행하는 단계를 포함한다.
또다른 예시적인 양상에서, 다른 비디오 프로세싱 방법이 개시된다. 방법은 비디오의 크로마 블록과 비디오의 비트스트림 표현 간의 변환을 규칙에 따라 수행하는 단계를 포함하고, CC-ALF 도구는 변환동안 루마 블록의 샘플들에 기초하여 크로마 블록의 예측을 결정하는데 사용되며, 규칙은 예측에 사용되는 루마 블록 및/혹은 CC-ALF 도구가 변환 동안 사용되는 순서를 지정한다.
또다른 예시적인 양상에서, 다른 비디오 프로세싱 방법이 개시된다. 방법은 크로마 컴포넌트의 ALF 및 크로마 컴포넌트의 CC-ALF 프로세싱 순서를 규칙에 따라 결정하는 단계 및 결정에 기초하여 비디오의 비트스트림 표현과 비디오 간의 변환을 수행하는 단계를 포함하고, 규칙은 프로세싱 순서가 기 정의되거나 비디오의 비디오 영역에서 적응적으로 변경되는지 여부를 지정하며, 비디오 영역은 MxN 크기를 갖고, M 및 N은 양의 정수이다.
또다른 예시적인 양상에서, 다른 비디오 프로세싱 방법이 개시된다. 방법은 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 비트스트림 표현은 비트스트림 표현에서 신택스 요소의 포함을 지정하는 포맷 규칙에 따르고, 신택스 요소는 한 크로마 컴포넌트에 대한 ALF(adaptive loop filtering) 및 CC-ALF(cross-component adaptive loop filtering)의 사용을 지시한다.
또다른 예시적인 양상에서, 비디오 인코더 장치가 개시된다. 비디오 인코더는 상기에서 설명된 방법들을 구현하도록 구성된 프로세서를 포함한다.
또다른 예시적인 양상에서, 비디오 인코더 장치가 개시된다. 비디오 인코더는 상기에서 설명된 방법들을 구현하도록 구성된 프로세서를 포함한다.
또다른 대표적인 양상에서, 코드가 저장된 컴퓨터 판독 가능한 매체가 개시된다. 코드는 본 문서에 설명된 방법들 중 하나를 프로세서 실행 가능한 코드의 형태로 구현한다.
상기 및 기타 양태 및 특징은 본 문서에서 설명된다.
도 1은 비디오 인코더의 예를 보여준다.
도 2는 기하학 변환 기반 적응적 루프 필터의 형태를 보여준다.
도 3a 내지 3d는 예시적인 서브샘플링된 라플라시안 계산의 예를 보여준다.
도 4a 및 4b는 적응적 루프 필터 배치 및 형태의 예를 보여준다.
도 5는 적응적 루프 필터의 예를 보여준다.
도 6 및 7은 여기에 설명된 비디오 디코더 혹은 비디오 인코더 장치를 구현하기 위한 예시적인 하드웨어 플랫폼의 블록도이다.
도 8은 예시적인 비디오 코딩 시스템을 도시하는 블록도이다.
도 9는 본 개시의 일부 실시예에 따른 인코더를 도시하는 블록도이다.
도 10는 본 개시의 일부 실시예에 따른 디코더를 도시하는 블록도이다.
도 11은 개시된 기술의 일부 실시예에 기초한 예시적인 비디오 프로세싱 흐름도이다.
도 12a 내지 12d는 개시된 기술의 일부 실시예에 기초한 예시적인 비디오 프로세싱 흐름도이다.
도 13은 개시된 기술의 일부 실시예에 기초한 예시적인 비디오 프로세싱 흐름도이다.
도 14a 내지 14c는 개시된 기술의 일부 실시예에 기초한 예시적인 비디오 프로세싱 흐름도이다.
섹션 제목은 이해의 편의를 위해 본 문서에서 사용되며 각 섹션에 개시된 기술 및 실시예의 적용 가능성을 해당 섹션에만 제한하지 않는다. 더욱이, H.266 용어는 단지 이해의 편의를 위해 일부 설명에서 사용되며 개시된 기술의 범위를 제한하기 위한 것이 아니다. 이와 같이, 여기에 설명된 기술은 다른 비디오 코덱 설계에도 적용 가능하다.
1. 요약
본 특허 문서는 비디오 코딩 기술에 연관된다. 특히, 이미지/비디오 코딩에서의 크로스 컴포넌트 적응적 루프 필터(cross-component adaptive loop filter)에 연관된다. 이는 HEVC와 같은 기존 비디오 코딩 표준이나 마무리될 표준(Versatile Video Coding)에 적용될 수 있다. 또한, 미래의 비디오 코딩 표준이나 코덱에 적용 가능할 수 있다.
2. 배경
비디오 코딩 표준은 주로 잘 알려져 있는 ITU-T 및 ISO/IEC 표준의 개발을 통해서 진화되어 왔다. ITU-T는 H.261 및 H.263을 생성했고, ISO/IEC는 MPEG-1 및 MPEG-4 비쥬얼(Visual)을 생성했으며, 이러한 두 조직들은 H.262/MPEG-2 비디오 및 H.264/MPEG-4 AVC(Advanced Video Coding) 및 H.265/HEVC 표준을 공동으로 생성했다. H.262 부터, 비디오 코딩 표준은 시간적 예측에 추가하여 트랜스폼 코딩이 활용되는 하이브리드 비디오 코딩 구조에 기반하고 있다. HEVC를 넘어서는 장래의 비디오 코딩 기술을 탐색하기 위하여, JVET(Joint Video Exploration Team)이 VCEG 및 MPEG에 의해 공동으로 2015 년에 설립되었다. 그 이후에, 많은 새로운 방법들이 JVET에 의해 채용되고, JEM(Joint Exploration Model)이라고 불리는 레퍼런스 소프트웨어에 추가되어 왔다. 2018년 4 월에, JVET(Joint Video Expert Team)이 HEVC와 비교할 때 50%의 비트율 감소를 목표로 하는 VVC 표준을 위해 VCEG (Q6/16) 및 ISO/IEC JTC1 SC29/WG11 (MPEG) 사이에서 생성되었다.
2.1. 색상 공간 및 크로마 서브샘플링
색상 모델(혹은 색상 시스템)으로도 알려진 색상 공간은 색상 범위를 숫자 튜플(tuple), 일반적으로 세 개 혹은 네 개의 값 혹은 색상 컴포넌트(예를 들어, RGB)로 간단히 설명하는 추상적인 수학적 모델이다. 기본적으로 색상 공간은 좌표 시스템과 서브 공간(sub-space)의 정교화(elaboration)이다.
비디오 압축에서, 가장 빈번하게 사용되는 색상 공간은 YCbCr 및 RGB이다. YCBCR 혹은 Y'CBCR 로도 기재되는, YCbCr, 
Figure pct00001
CbCr혹은 YPb/Cb Pr/Cr, 는 비디오 및 디지털 사진 시스템에서 색상 이미지 파이프라인의 일부로 사용되는 색상 공간의 패밀리(family)이다.
Figure pct00002
은 루마 컴포넌트이고 CB 및 CR 는 청색차 및 적색차 크로마 컴포넌트이다.
Figure pct00003
(프라임이 있음)은 루미넌스(luminance)인 Y와 구분되며, 광 강도가 감마 보정된 RGB 원색(primary)을 기반으로 비선형적으로 인코딩됨을 의미한다.
크로마 서브샘플링은 루미넌스보다 색상 차이에 대한 인간 시각 시스템의 낮은 식별력을 이용하여, 루마 정보보다 크로마 정보에 대해 더 낮은 해상도를 구현하여 이미지를 인코딩하는 방식이다.
2.1.1. 4:4:4
세  Y'CbCr 컴포넌트 각각은 동일한 샘플율을 가지므로, 크로마 서브샘플링이 이용되지 않는다. 이 방식은 고급 필름 스캐너 및 영화 후반 제작에 종종 사용된다.
2.1.2. 4:2:2
두 크로마 컴포넌트는 루마의 샘플율의 절반으로 샘플링되며, 수평 크로마 해상도는 절반이 된다. 이는 시각적인 차이가 거의 또는 전혀 없이 압축되지 않은 비디오 신호의 대역폭을 1/3으로 감소시킨다.
2.1.3. 4:2:0
4:2:0에서, 수평 샘플링은 4:1:1에 비해 두 배 이지만, Cb 및 Cr 채널은 각 선을 번갈아가며 샘플링되므로 수직 해상도는 절반이 된다. 따라서 데이터율은 동일하다. Cb 및 Cr은 각각 수평 및 수직으로 2의 비율로 서브샘플링 된다. 4:2:0 방식에는 수평 및 수직 위치가 다른 세 가지 변형이 있다.
· MPEG-2에서, Cb 및 Cr 은 수평으로 배치되어 있다. Cb 및 Cr 는 픽셀 간에 수직 방향(사이사이에 위치)으로 배치된다.
· JPEG/JFIF, H.261, 및 MPEG-1에서, Cb 및 Cr는 번갈아가며 루마 샘플들사이의 중간 중간에 위치한다.
· 4:2:0 DV에서, Cb 및 Cr는 수평 방향으로 나란히 배치되어 있다. 수직 방향으로, 번갈아가며 배치된다
2.1.4. 다양한 색상 컴포넌트의 코딩
separate_colour_plane_flag의 값에 따라, 변수 ChromaArrayType의 값은 다음과 같이 할당된다:
- separate_colour_plane_flag이 0이면, ChromaArrayType는 chroma_format_idc와 동일하게 설정된다.
- 그 외의 경우 (separate_colour_plane_flag이 1인 경우), ChromaArrayType은 0으로 설정된다.
2.2. 기존 비디오 코덱의 코딩 흐름
도 1은 인루프 필터링 블록(디블록킹 필터(deblocking filter, DF), 샘플 적응적 오프셋(sample adaptive offset, SAO) 및 ALF)을 포함하는 VVC의 인코더 블록도의 예를 보여준다. 기 정의된 필터를 이용하는 DF와 달리, SAO 및 ALF는 오프셋을 가산하고 오프셋 및 필터 계수를 시그널링하는 코딩된 부가 정보에 각각 FIR(finite impulse response) 필터를 적용함으로써 원본 샘플들과 복원된 샘플들 간의 평균 제곱 오차를 감소시키기 위해 현재 픽처의 원본 샘플들을 이용한다. ALF 는 각 픽처의 마지막 프로세싱 단계에 위치하고, 이전 단계에 의해 생성된 아티팩트(artifact)를 획득하고 수정하는 도구로 여겨질 수 있다.
2.3. JEM에서의 기하학적 변환 기반 적응적 루프 필터
JEM에서, 블록 기반 필터 적응(block-based filter adaption)으로 기하학적 변환 기반 적응적 루프 필터(geometry transformation-based adaptive loop filter, GALF)가 적용될 수 있다. 루마 컴포넌트의 경우, 25 개의 필터 중 하나가 지역 그라디언트(local gradients)의 액티비티 및 방향에 기초하여 각 2x2 블록에 대해 선택된다.
2.3.1. 필터 형태
JEM에서, 최대 세 개의 다이아몬드 필터 형태(도 2에 도시됨)가 루마 컴포넌트에 대해 선택될 수 있다. 인덱스는 루마 컴포넌트에서 사용되는 필터 형태를 지시하기 위해 픽처 레벨에서 시그널링된다.
도 2는 GALF 필터 형태의 예를 보여준다(좌측은 5x5 다이아몬드, 가운데는 7x7 다이아몬드, 우측은 9x9 다이아몬드이다).
픽처의 크로마 컴포넌트의 경우, 5Х5 다이아몬드 형태가 항상 사용된다.
2.3.1.1. 블록 분류
Figure pct00004
블록은 25 개의 클래스 중 하나로 카테고리화된다. 분류 인덱스 C는 자체의 방향성
Figure pct00005
및 액티비티의 양자화된 값
Figure pct00006
에 기초하여 다음과 같이 유도된다:
Figure pct00007
Figure pct00008
Figure pct00009
를 계산하기 위해, 수평, 수직 두 대각 방향의 그라디언트는 먼저 1-D 라플라시안(Laplacian)을 이용하여 계산된다:
Figure pct00010
인덱스
Figure pct00011
는 2 x 2 블록에서 좌측 상단 샘플의 좌표를 참조하고
Figure pct00012
는 좌표
Figure pct00013
에서의 복원된 샘플을 지시한다.
그리고 수평 및 수직 방향에 대한 그라디언트의 최대 및 최소 값
Figure pct00014
은 다음과 같이 설정된다:
Figure pct00015
그리고 두 대각 방향에 대한 그라디언트의 최대 및 최소 값은 다음과 같이 설정된다:
Figure pct00016
방향성
Figure pct00017
값을 유도하기 위해, 이러한 값들은 서로 비교되고, 두 임계값
Figure pct00018
Figure pct00019
과도 비교된다:
단계 1.
Figure pct00020
이 둘 다 참인 경우,
Figure pct00021
는 0으로 설정된다.
단계 2.
Figure pct00022
인 경우, 단계 3에서 계속된다. 그 외의 경우, 단계 4에서 계속된다.
단계 3.
Figure pct00023
인 경우,
Figure pct00024
는 2로 설정된다. 그 외의 경우
Figure pct00025
는 1로 설정된다.
단계 4.
Figure pct00026
인 경우,
Figure pct00027
는 4로 설정된다. 그 외의 경우
Figure pct00028
는 3으로 설정된다.
액티비티 값
Figure pct00029
는 다음과 같이 계산된다:
Figure pct00030
Figure pct00031
는 0에서 4 내의 범위로 더 양자화되고, 양자화된 값은
Figure pct00032
로 표현된다.
픽처 내 두 크로마 컴포넌트의 경우, 분류 방법이 적용되지 않는다. 즉, ALF 계수에 대한 단일 세트가 각 크로마 컴포넌트에 적용된다.
2.3.1.2. 필터 계수의 기하학적 변환
각 2Х2 블록을 필터링하기 전에, 회전 혹은 대각 및 수직 플리핑(flipping)과 같은 기하학적 변환은 블록에 대해 계산된 그라디언트 값에 따라 필터 계수
Figure pct00033
에 적용된다. 이는 필터 지원 영역의 샘플들에 이러한 변환을 적용하는 것과 동일하다. 이러한 컨셉은 방향성을 조정하여 ALF가 적용되는 다른 블록을 더 비슷하게 만드는 것이다.
대각, 수직 플립 및 회전을 포함한 세 기하학적 변환은 다음과 같이 도입된다:
Figure pct00034
여기서
Figure pct00035
는 필터의 크기이고
Figure pct00036
는 계수 좌표이고, 위치
Figure pct00037
는 좌측 상단 모서리에 있고, 위치
Figure pct00038
는 우측 하단 모서리에 있다. 변환은 블록에 대해 계산된 그라디언트 값에 따라 필터 계수 f (k, l) 에 적용된다. 네 방향의 네 그라디언트 및 변환 간의 관계는 표 1에서 요약된다.
테이블 1: 한 블록에 대해 계산된 그라디언트와 변환의 매핑
그라디언트 값(Gradient values) 변환
gd2 < gd1 및 gh < gv 변환 없음(No transformation)
gd2 < gd1 및 gv < gh 대각(Diagonal)
gd1 < gd2 및 gh < gv 수직 플립(Vertical flip)
gd1 < gd2 및 gv < gh 회전(Rotation)
2.3.1.3. 필터 파라미터 시그널링
JEM에서, GALF 필터 파라미터는 제1 CTU에 대해 시그널링되는데, 즉, 슬라이스 헤더 이후, 제1 CTU의 SAO 파라미터 이전에 시그널링된다. 최대 루마 필터 계수에 대한 25 개의 세트가 시그널링될 수 있다. 비트 오버헤드를 감소시키기 위해, 다른 분류의 필터 계수를 병합할 수 있다. 또한, 참조 픽처의 GALF 계수는 저장되고, 현재 픽처의 GALF 계수로 재사용될 수 있다. 현재 픽처는 참조 픽처에 대해 저장되는 GALF 계수를 사용하고, GALF 계수 시그널링을 바이패스하기로 선택할 수 있다. 이 경우, 참조 픽처 중 하나에 대한 인덱스만이 시그널링될 수 있으며, 지시된 참조 픽처의 저장된 GALF 계수는 현재 픽처에 대해 상속된다.
GALF 시간적 예측을 지원하기 위해, GALF 필터 세트의 후보 리스트가 유지된다. 새로운 시퀀스를 디코딩하기 시작할 때, 후보 리스트는 비어있다. 한 픽처를 디코딩한 이후, 대응 필터 세트는 후보 리스트에 추가될 수 있다. 후보 리스트의 크기가 최대 허용 값에 도달하면 (즉, 현재 JEM에서, 6), 새로운 필터 세트는 디코딩 순서에서 제일 오래된 세트를 덮어쓰고, 즉, 선입선출(first-in-first-out, FIFO) 규칙이 후보 리스트를 업데이트 하기 위해 적용된다. 중복을 피하기 위해, 대응 픽처가 GALF 시간적 예측을 이용하지 않을 때에만 세트가 리스트에 포함될 수 있다. 시간적 확장성(temporal scalability)을 지원하기 위해, 필터 세트에 대한 다중 후보 리스트가 존재하고, 각 후보 리스트는 시간적 레이어에 연관된다. 특히, 시간적 레이어 인덱스(TempIdx) 에 의해 할당되는 각 배열(array)은 더 낮은 TempIdx와 동일한, 이전에 디코딩된 픽처의 필터 세트를 구성할 수 있다. 예를 들어, k 번째 배열은 k와 동일한 TempIdx와 연관되도록 할당되고, TempIdx가 k 이하인 픽처의 필터 세트만을 포함할 수 있다. 특정 픽처를 코딩한 이후, 픽처와 연관된 필터 세트는 동일하거나 더 높은 TempIdx와 연관되는 배열을 업데이트하는데 사용될 것이다.
시그널링 오버헤드를 최소화하기 위해 인터 코딩된 프레임에 GALF 계수의 시간적 예측이 사용된다. 인트라 프레임의 경우, 시간적 예측이 사용 가능하지 않으며, 16 개의 고정된 필터의 세트가 각 클래스에 할당된다. 고정된 필터의 사용을 지시하기 위해, 각 클래스에 대한 플래그가 시그널링되고, 필요시, 선택된 고정된 필터의 인덱스가 지시된다. 주어진 클래스에 대해 고정된 필터가 선택되더라도, 적응적 필터의 계수
Figure pct00039
는 복원된 이미지에 적용될 필터 계수가 두 계수 세트의 합인 경우 이 클래스에 대해 여전히 전송될 수 있다.
루마 컴포넌트의 필터링 프로세스는 CU 레벨에서 제어될 수 있다. 플래그는 GALF가 CU의 루마 컴포넌트에 적용되는지 여부를 지시하기 위해 시그널링된다. 크로마 컴포넌트의 경우, GALF가 적용되는지 혹은 아닌지 여부는 픽처 레벨에서만 지시된다.
2.3.1.4. 필터링 프로세스
디코더 측에서, GALF가 블록에 대해 활성화되면, 블록 내 각 샘플
Figure pct00040
이 필터링 되어 아래와 같이 샘플 값
Figure pct00041
이 생성된다. 여기서, L은 필터 길이,
Figure pct00042
는 필터 계수를 나타내고,
Figure pct00043
는 디코딩된 필터 계수를 나타낸다.
Figure pct00044
또는, 적응적 루프 필터의 필터링 프로세스는 다음과 같이 표현될 수 있다:
Figure pct00045
여기서 샘플
Figure pct00046
은 입력 샘플이고,
Figure pct00047
는 필터링된 출력 샘플이고(즉, 필터 결과), 그리고
Figure pct00048
는 필터 계수를 나타낸다. 실제로, VTM4.0에서, 고정 소수점 정밀도 계산을 위해 정수 산술을 사용하여 구현된다:
Figure pct00049
여기서 L 는 필터 길이를 나타내고,
Figure pct00050
는 고정 소수점 정밀도에서 필터 계수를 나타낸다.
2.4. 비 선형 ALF
2.4.1. 필터링 재구성(Filtering reformulation)
수학식 (11)은 코딩 효율성에 영향을 미치지 않고 다음 식으로 다시 재구성될 수 있다:
Figure pct00051
여기서
Figure pct00052
는 방정식 (11)에서와 동일한 필터 계수이다[방정식 (13)에서 1과 동일한
Figure pct00053
를 제외하는 반면 방정식 (11)에서
Figure pct00054
와 동일함].
2.4.2. 수정된 필터
상기 (13)의 필터 공식을 이용하면, 필터링 되는 현재 샘플 값 (
Figure pct00055
)과 너무 다를 때 인접 샘플 값(
Figure pct00056
의 영향을 줄이는 간단한 클리핑 함수를 이용하여, ALF를 보다 효율적이게 하기 위해 비선형성을 쉽게 도입할 수 있다.
이 제안에서, ALF 필터는 다음과 같이 변경된다:
Figure pct00057
여기서
Figure pct00058
는 클리핑 함수이고,
Figure pct00059
Figure pct00060
필터 계수에 따른 클리핑 파라미터이다. 인코더는 최적의
Figure pct00061
를 찾기위해 최적화를 수행한다.
쉬운 구현을 위해, 필터 계수 w(i,j)는 정수 정밀도로 저장되고 사용된다. 상기 수학식은 다음과 같이 다시 작성될 수 있다:
Figure pct00062
여기서
Figure pct00063
는 디코딩된 필터 계수를 나타내고,
Figure pct00064
은 클리핑 함수이고
Figure pct00065
는 디코딩된 클리핑 파라미터를 나타낸다. 변수 k 및 l 은
Figure pct00066
Figure pct00067
사이에서 달라지며, L 는 필터 길이를 나타낸다.
Figure pct00068
함수에 해당하는 클리핑 함수
Figure pct00069
이다.
JVET-N0242 구현에서, 클리핑 파라미터
Figure pct00070
는 각 ALF 필터에 대해 지정되고, 필터 계수마다 하나의 클리핑 값은 시그널링된다. 이는 루마 필터 당 최대 12 개의 클리핑 값들이, 크로마 필터의 경우에는 최대 6개의 클리핑 값들이 비트스트림에서 시그널링됨을 의미한다. 시그널링 비용 및 인코더 복잡도를 제한하기 위해, 클리핑 값의 평가를 가능한 값에 대한 작은 세트로 제한한다. 이 제안에서, 인터(INTER) 및 인트라(INTRA) 타일 그룹에 대해 동일한 고정된 4 개의 값들만을 이용한다.
주로 크로마보다 루마에 대해 지역적 차이의 분산이 더 높으므로, 루마 및 크로마 필터에 대해 두 개의 다른 세트를 이용한다. 각 세트에 최대 샘플 값(여기서는 10 비트 비트 깊이의 경우 1024)이 되므로, 필요하지 않은 경우에는 클리핑이 비활성화 될 수 있다.
JVET-N0242 테스트에서 사용된 클리핑 값 세트는 테이블 2에서 제공된다. 대수 영역에서 루마의 경우 샘플 값들의 전체 범위(10 비트로 코딩됨)와 크로마의 경우 4에서 1024까지의 범위를 대략적으로 균등하게 분할하여 4 개의 값이 선택되었다.
보다 상세하게는, 클리핑 값에 대한 루마 표는 다음과 같은 공식으로 획득된다:
Figure pct00071
유사하게, 클리핑 값에 대한 크로마 표는 다음과 같은 공식에 따라 획득된다:
Figure pct00072
테이블 2: 승인된 클리핑 값
인트라/인터 슬라이스(INTRA/INTER slices)
루마 (LUMA) { 1024, 181, 32, 6 }
크로마 (CHROMA) { 1024, 161, 25, 4 }
선택된 클리핑 값들은 상기 표 2의 클리핑 값에 대한 인덱스에 대응되는 골롬(Golomb) 인코딩 방식을 이용하여 "alf_data" 신택스 요소로 코딩된다. 이 인코딩 방식은 필터 인덱스에 대한 인코딩 방식과 동일하다.
2.5. VVC에서 기하학적 변환 기반 적응적 루프 필터
VVC에서 현재 GALF 설계는 JEM과 비교했을 때 다음과 같은 주요 변경 사항들을 가지고 있다:
1) 적응적 필터 형태가 제거된다. 루마 컴포넌트에 대해 7x7 필터 형태만이 허용되고 크로마 컴포넌트에 대해 5x5 필터 형태가 허용된다.
2) ALF 필터 계수가 ALF APS(adaptive parameter set)에서 시그널링된다.
3) 비 선형 ALF가 적용될 수 있다.
4) 각 CTU에 대해, ALF가 활성화되는지 혹은 비활성화되는지 여부는 각 색상 컴포넌트에 대한 1비트 플래그로 시그널링된다.
5) 클래스 인덱스의 계산은 2x2 대신 4x4 레벨에서 수행된다. 또한, JVET-L0147에서 제안된 바와 같이, ALF 분류에 대한 서브 샘플링 라플라시안(sub-sampled Laplacian) 계산 방법이 활용된다. 보다 상세하게는, 한 블록 내 각 샘플에 대해 수평/수직/45 대각/135도 그라디언트를 계산할 필요가 없다. 대신, 1:2 서브샘플링이 활용된다.
도 3a는 수직 그라디언트에 대해 서브샘플링된 위치로 서브샘플링된 라플라시안 계산의 예를 보여준다.
도 3b는 수평 그라디언트에 대해 서브샘플링된 위치로 서브샘플링된 라플라시안 계산의 예를 보여준다.
도 3c는 대각 그라디언트에 대해 서브샘플링된 위치로 서브샘플링된 라플라시안 계산의 예를 보여준다.
도 3d는 대각 그라디언트에 대해 서브샘플링된 위치로 서브샘플링된 라플라시안 계산의 예를 보여준다.
2.6. 적응 파라미터 세트의 ALF 파라미터 시그널링
VVC 드래프트의 최신 버전에서, ALF 파라미터는 APS(adaptation parameter set)에서 시그널링될 수 있으며, 각 CTU에 의해 적응적으로 선택될 수 있다. 한 APS에서, 최대 25개의 루마 필터 계수 및 클리핑 값 인덱스 세트, 및 최대 8 개의 크로마 필터 계수 및 클리핑 값 인덱스 세트가 시그널링될 수 있다. 비트 오버헤드를 감소시키기 위해, 루마 컴포넌트에 대한 다른 분류의 필터 계수들이 머지될 수 있다. 슬라이스 헤더에서, 현재 슬라이스에 사용되는 APS의 인덱스가 시그널링된다.
필터 계수는 128과 동일한 기준(norm)으로 양자화된다. 계산 복잡도를 제한하기 위해, 비 중앙 위치의 계수 값은 -27 에서 27 - 1 범위 내에 있도록 비트스트림 적합성(bitstream conformance)이 적용된다. 중앙 위치 계수는 비트스트림에서 시그널링되지 않으며 128과 동일한 것으로 간주된다.
ALF의 상세한 시그널링 (JVET-P2001-v9에서)은 다음과 같다.
7.3.2.5 적응 파라미터 세트 신택스(Adaptation parameter set syntax)
Figure pct00073
7.3.2.16 적응적 루프 필터 데이터 신택스(Adaptive loop filter data syntax)
Figure pct00074
Figure pct00075
7.4.3.5 적응 파라미터 세트 시맨틱스(Adaptation parameter set semantics)
각 APS RBSP은 참조되기에 앞서 디코딩 프로세스에 사용가능해야 하며, 이를 참조하거나 외부 수단을 통해 제공되는 코딩된 슬라이스 NAL 유닛의 TemporalId 보다 작거나 같은 TemporalId를 갖는 적어도 하나의 액세스 유닛에 포함되어야 한다.
APS NAL 유닛의 nuh_layer_id이 aspLayerId라 하자. nuh_layer_id이 aspLayerId와 동일한 레이어가 독립 레이어(즉, vps_independent_layer_flag[ GeneralLayerIdx[ aspLayerId ] ]이 1)면, APS RBSP를 포함하는 APS NAL 유닛은 이를 참조하는 코딩된 슬라이스 NAL 유닛의 nuh_layer_id 와 동일한 nuh_layer_id 를 가져야 한다. 그 외의 경우, APS RBSP를 포함하는 APS NAL 유닛은 이를 참조하는 코딩된 슬라이스 NAL 유닛의 nuh_layer_id와 동일하거나, 이를 참조하는 코딩된 슬라이스 NAL 유닛을 포함하는 레이어의 직접 종속(direct dependent) 레이어의 nuh_layer_id와 동일한 nuh_layer_id를 가져야 한다.
액세스 유닛 내 특정 adaptation_parameter_set_id 값 및 특정 aps_params_type 값을 갖는 모든 APS NAL 유닛은 동일한 컨텐츠를 가져야 한다.
adaptation_parameter_set_id 는 다른 신택스에서 참조할 수 있도록 APS에 대한 식별자를 제공한다.
aps_params_type이 ALF_APS 혹은 SCALING_APS와 동일하면, adaptation_parameter_set_id 의 값은 0에서 7 범위 내여야 한다.
aps_params_type이 LMCS_APS와 동일하면, adaptation_parameter_set_id의 값은 0에서 3 범위 내여야 한다.
aps_params_type 는 테이블 7-2에 지정된 APS에서 운반되는 APS 파라미터의 유형을 지정한다. aps_params_type이 1과 동일하면 (LMCS_APS), adaptation_parameter_set_id의 값은 0에서 3 범위 내여야 한다.
테이블 7-2 - APS 파라미터 유형 코드 및 APS 파라미터의 유형
Figure pct00076
노트 1 - APS의 각 유형은 adaptation_parameter_set_id에 대한 개별 값 공간을 이용한다.
노트 2 - APS NAL 유닛 (특정 adaptation_parameter_set_id 값 및 특정 aps_params_type 값을 가짐)은 픽처 간 공유될 수 있으며, 픽처 내 다른 슬라이스는 다른 ALF APS를 참조할 수 있다.
0과 동일한 aps_extension_flag은 aps_extension_data_flag 신택스 요소가 APS RBSP 신택스 구조에 존재하지 않음을 지정한다. 1과 동일한 aps_extension_flag은 aps_extension_data_flag 신택스 요소가 APS RBSP 신택스 구조에 존재함을 지정한다.
aps_extension_data_flag은 어느 값이나 가질 수 있다. 이 정보의 존재나 값은 이 사양의 이 버전에 지정된 프로파일에 대한 디코더 적합성(conformance)에 영향을 미치지 않는다. 이 사양의 이 버전에 적합한 디코더는 모든 aps_extension_data_flag 신택스 요소를 무시해야 한다.
7.4.3.14 적응적 루프 필터 데이터 시맨틱스
1과 동일한 alf_luma_filter_signal_flag은 루마 필터 세트가 시그널링됨을 지정한다. 0과 동일한 alf_luma_filter_signal_flag은 루마 필터 세트가 시그널링되지 않음을 지정한다.
1과 동일한 alf_chroma_filter_signal_flag은 크로마 필터가 시그널링됨을 지정한다. 0과 동일한 alf_chroma_filter_signal_flag은 크로마 필터가 시그널링되지 않음을 지정한다. ChromaArrayType이 0이면, alf_chroma_filter_signal_flag은 0이여야 한다.
다른 적응적 루프 필터의 수를 지정하는 변수 NumAlfFilters는 25와 동일하게 설정된다. 0과 동일한 alf_luma_clip_flag 은 선형 적응적 루프 필터링이 루마 컴포넌트에 적용됨을 지정한다. 1과 동일한 alf_luma_clip_flag 은 비 선형 적응적 루프 필터링이 루마 컴포넌트에 적용될 수 있음을 지정한다.
alf_luma_num_filters_signalled_minus1 더하기 1은 루마 계수가 시그널링될 수 있는 적응적 루프 필터링 클래스의 수를 지정한다. alf_luma_num_filters_signalled_minus1의 값은 0에서 shall be in the NumAlfFilters - 1 범위 내이다.
alf_luma_coeff_delta_idx[ filtIdx ]은 0에서 NumAlfFilters - 1 범위인 filtIdx가 지시하는 필터 클레스에 대한 시그널링된 적응적 루프 필터 루마 계수 델타의 인덱스를 지정한다. alf_luma_coeff_delta_idx[ filtIdx ] 가 존재하지 않으면, 0으로 추론된다. alf_luma_coeff_delta_idx[ filtIdx ]의 길이는 is Ceil( Log2( alf_luma_num_filters_signalled_minus1 + 1 ) ) 비트이다.
1과 동일한 alf_luma_coeff_signalled_flag alf_luma_coeff_flag[ sfIdx ]이 시그널링됨을 지시한다. 0과 동일한 alf_luma_coeff_signalled_flag은 alf_luma_coeff_flag[ sfIdx ]이 시그널링되지 않음을 지시한다.
1과 동일한 alf_luma_coeff_flag[ sfIdx ]은 sfIdx에 의해 지시되는 루마 필터의 계수가 시그널링됨을 지시한다. 0과 동일한 alf_luma_coeff_flag[ sfIdx ]은 sfIdx에 의해 지시되는 루마 필터의 모든 필터 계수가 0과 동일하게 설정됨을 지시한다. 존재하지 않는 경우, alf_luma_coeff_flag[ sfIdx ]은 1과 동일하게 설정된다.
alf_luma_coeff_abs[ sfIdx ][ j ]은 sfIdx에 의해 지시되는 시그널링된 루마 필터의 j번째 계수의 절대값을 지정한다. alf_luma_coeff_abs[ sfIdx ][ j ]이 존재하지 않으면, 0으로 추론된다.
지수 골롬(exp-Golomb) 이진화 uek(v)의 차수 k는 3과 동일하게 설정된다.
alf_luma_coeff_sign[ sfIdx ][ j ]는 sfIdx에 의해 지시되는 필터의 j번째 루마 계수의 부호를 다음과 같이 지정한다:
- alf_luma_coeff_sign[ sfIdx ][ j ]이 0이면, 대응 루마 필터 계수는 양의 값을 갖는다.
- 그 외의 경우 (alf_luma_coeff_sign[ sfIdx ][ j ]이 1이면), 대응 루마 필터 계수는 음의 값을 갖는다.
alf_luma_coeff_sign[ sfIdx ][ j ]이 존재하지 않으면, 0으로 추론된다.
sfIdx = 0..alf_luma_num_filters_signalled_minus1, j = 0..11인 변수 filtCoeff[ sfIdx ][ j ]는 다음과 같이 초기화된다:
filtCoeff[ sfIdx ][ j ] = alf_luma_coeff_abs[ sfIdx ][ j ] * ( 1 - 2 * alf_luma_coeff_sign[ sfIdx ][ j ] ) (7-47)
filtIdx = 0..NumAlfFilters - 1 및 j = 0..11인 요소 AlfCoeffL[ adaptation_parameter_set_id ][ filtIdx ][ j ]를 갖는 루마 필터 계수 AlfCoeffL[ adaptation_parameter_set_id ]는 다음과 같이 유도된다:
AlfCoeffL[ adaptation_parameter_set_id ][ filtIdx ][ j ] = filtCoeff[ alf_luma_coeff_delta_idx[ filtIdx ] ][ j ] (7-48)
i = 0..64, j = 0..11 인 고정된 필터 계수 AlfFixFiltCoeff[ i ][ j ] 및 m = 0..15 및 n = 0..24인 클래스와 필터의 매핑 AlfClassToFiltMap[ m ][ n ]은 다음과 같이 유도된다:
AlfFixFiltCoeff = (7-49)
Figure pct00077
Figure pct00078
Figure pct00079
Figure pct00080
,
Figure pct00081
Figure pct00082
Figure pct00083
Figure pct00084
AlfClassToFiltMap = (7-50)
{
{ 8, 2, 2, 2, 3, 4, 53, 9, 9, 52, 4, 4, 5, 9, 2, 8, 10, 9, 1, 3, 39, 39, 10, 9, 52 }
{ 11, 12, 13, 14, 15, 30, 11, 17, 18, 19, 16, 20, 20, 4, 53, 21, 22, 23, 14, 25, 26, 26, 27, 28, 10 }
{ 16, 12, 31, 32, 14, 16, 30, 33, 53, 34, 35, 16, 20, 4, 7, 16, 21, 36, 18, 19, 21, 26, 37, 38, 39 }
{ 35, 11, 13, 14, 43, 35, 16, 4, 34, 62, 35, 35, 30, 56, 7, 35, 21, 38, 24, 40, 16, 21, 48, 57, 39 }
{ 11, 31, 32, 43, 44, 16, 4, 17, 34, 45, 30, 20, 20, 7, 5, 21, 22, 46, 40, 47, 26, 48, 63, 58, 10 }
{ 12, 13, 50, 51, 52, 11, 17, 53, 45, 9, 30, 4, 53, 19, 0, 22, 23, 25, 43, 44, 37, 27, 28, 10, 55 }
{ 30, 33, 62, 51, 44, 20, 41, 56, 34, 45, 20, 41, 41, 56, 5, 30, 56, 38, 40, 47, 11, 37, 42, 57, 8 }
{ 35, 11, 23, 32, 14, 35, 20, 4, 17, 18, 21, 20, 20, 20, 4, 16, 21, 36, 46, 25, 41, 26, 48, 49, 58 }
{ 12, 31, 59, 59, 3, 33, 33, 59, 59, 52, 4, 33, 17, 59, 55, 22, 36, 59, 59, 60, 22, 36, 59, 25, 55 }
{ 31, 25, 15, 60, 60, 22, 17, 19, 55, 55, 20, 20, 53, 19, 55, 22, 46, 25, 43, 60, 37, 28, 10, 55, 52 }
{ 12, 31, 32, 50, 51, 11, 33, 53, 19, 45, 16, 4, 4, 53, 5, 22, 36, 18, 25, 43, 26, 27, 27, 28, 10 }
{ 5, 2, 44, 52, 3, 4, 53, 45, 9, 3, 4, 56, 5, 0, 2, 5, 10, 47, 52, 3, 63, 39, 10, 9, 52 }
{ 12, 34, 44, 44, 3, 56, 56, 62, 45, 9, 56, 56, 7, 5, 0, 22, 38, 40, 47, 52, 48, 57, 39, 10, 9 }
{ 35, 11, 23, 14, 51, 35, 20, 41, 56, 62, 16, 20, 41, 56, 7, 16, 21, 38, 24, 40, 26, 26, 42, 57, 39 }
{ 33, 34, 51, 51, 52, 41, 41, 34, 62, 0, 41, 41, 56, 7, 5, 56, 38, 38, 40, 44, 37, 42, 57, 39, 10 }
{ 16, 31, 32, 15, 60, 30, 4, 17, 19, 25, 22, 20, 4, 53, 19, 21, 22, 46, 25, 55, 26, 48, 63, 58, 55 }
},
filtIdx = 0..NumAlfFilters - 1, j = 0..11 인 AlfCoeffL[ adaptation_parameter_set_id ][ filtIdx ][ j ] 의 값이 -27에서 27 - 1 범위 내여야 한다는 것은 비트스트림 적합성 (bitstream conformance)의 요구 사항이다.
alf_luma_clip_idx[ sfIdx ][ j ]은 sfIdx 에 의해 지시되는 시그널링된 루마 필터의 j번째 계수를 곱하기 전에 사용할 클리핑 값의 클리핑 인덱스를 지정한다. sfIdx = 0..alf_luma_num_filters_signalled_minus1 및 j = 0..11인 alf_luma_clip_idx[ sfIdx ][ j ]의 값은 0에서 3 범위 내여야 한다는 것은 비트스트림 적합성의 요구 사항이다.
filtIdx = 0..NumAlfFilters - 1 및 j = 0..11 인 AlfClipL[ adaptation_parameter_set_id ][ filtIdx ][ j ] 요소를 갖는 루마 필터 클리핑 값 AlfClipL[ adaptation_parameter_set_id ]은 BitDepthY 와 동일하게 설정된 bitDepth 및 alf_luma_clip_idx[ alf_luma_coeff_delta_idx[ filtIdx ] ][ j ]와 동일하게 설정된 clipIdx에 따라 테이블 7-4에 지정된 바와 같이 유도된다.
alf_chroma_num_alt_filters_minus1 더하기 1은 크로마 컴포넌트에 대해 대체적인(alternative) 필터의 수를 지정한다.
0과 동일한 alf_chroma_clip_flag[ altIdx ] 은 인덱스 altIdx 인 크로마 필터를 이용할 때 선형 적응적 루프 필터링이 크로마 컴포넌트에 적용됨을 지정한다. 1과 동일한 alf_chroma_clip_flag[ altIdx ] 은 인덱스 altIdx 인 크로마 필터를 이용할 때 비 선형 적응적 루프 필터링이 크로마 컴포넌트에 적용됨을 지정한다. 존재하지 않는 경우, alf_chroma_clip_flag[ altIdx ] 는 0으로 추론된다.
alf_chroma_coeff_abs[ altIdx ][ j ] 인덱스가 altIdx 인 대체 크로마 필터(alternative chroma filter)에 대한 j번째 크로마 필터 계수의 절대값을 지정한다. alf_chroma_coeff_abs[ altIdx ][ j ]이 존재하지 않으면 0으로 추론된다. alf_chroma_coeff_abs[ altIdx ][ j ] 의 값이 0에서 27 - 1 범위 내여야 하는 것은 비트스트림 적합성의 요구 사항이다.
지수 골롬 이진화 uek(v)의 차수 k는 3과 동일하게 설정된다.
alf_chroma_coeff_sign[ altIdx ][ j ]는 인덱스가 altIdx 인 대체 크로마 필터에 대한 j번째 크로마 필터 계수의 부호를 다음과 같이 지정한다:
alf_chroma_coeff_sign[ altIdx ][ j ]가 0이면, 대응 크로마 필터 계수는 양의 값을 가진다.
그 외의 경우 (alf_chroma_coeff_sign[ altIdx ][ j ]가 1이면), 대응 크로마 필터 계수가 음의 값을 가진다.
alf_chroma_coeff_sign[ altIdx ][ j ]이 존재하지 않으면, 0으로 추론된다.
altIdx = 0..alf_chroma_num_alt_filters_minus1, j = 0..5 인 요소 AlfCoeffC[ adaptation_parameter_set_id ][ altIdx ][ j ]를 갖는 크로마 필터 계수 AlfCoeffC[ adaptation_parameter_set_id ][ altIdx ]는 다음과 같이 유도된다:
AlfCoeffC[ adaptation_parameter_set_id ][ altIdx ][ j ] = alf_chroma_coeff_abs[ altIdx ][ j ] * ( 1 - 2 * alf_chroma_coeff_sign[ altIdx ][ j ] ) (7-51)
altIdx = 0..alf_chroma_num_alt_filters_minus1, j = 0..5 인 AlfCoeffC[ adaptation_parameter_set_id ][ altIdx ][ j ]의 값이 -27 - 1 에서 27 - 1 범위 내여야 한다는 것은 비트스트림 적합성의 요구사항이다.
alf_chroma_clip_idx[ altIdx ][ j ]는 인덱스 altIdx인 대체 크로마 필터의 j번째 계수를 곱하기 이전에 사용할 클리핑 값의 클리핑 인덱스를 지정한다. altIdx = 0..alf_chroma_num_alt_filters_minus1, j = 0..5인 alf_chroma_clip_idx[ altIdx ][ j ]의 값이 0에서 3 범위 내여야 한다는 것은 비트스트림 적합성의 요구사항이다.
altIdx = 0..alf_chroma_num_alt_filters_minus1, j = 0..5 인 요소 AlfClipC[ adaptation_parameter_set_id ][ altIdx ][ j ]를 갖는 크로마 필터 클리핑 값 AlfClipC[ adaptation_parameter_set_id ][ altIdx ]은 BitDepthC 와 동일한 bitDepth 및 alf_chroma_clip_idx[ altIdx ][ j ]와 동일한 clipIdx에 따라 테이블 7-4에 지정된 바와 같이 유도된다.
테이블 7-4 -bitDepth 및 clipIdx에 따른 사양 AlfClip
Figure pct00085
2.7. CTU에 대한 ALF 파라미터 시그널링
VTM6에서, ALF 필터 파라미터는 APS(Adaptation Parameter Set)에서 시그널링된다. 한 APS에서, 최대 25 개의 루마 필터 계수와 클리핑 값 인덱스 세트 및 최대 8 개의 크로마 필터 계수와 클리핑 값 인덱스 세트가 시그널링될 수 있다. 비트 오버헤드를 감소시키기 위해, 루마 컴포넌트에 대한 다른 분류의 필터 계수가 머지될 수 있다. 슬라이스 헤더에서, 현재 슬라이스에 사용되는 APS의 인덱스가 시그널링된다.
APS로부터 디코딩되는 클리핑 값 인덱스는 클리핑 값의 루마 테이블 및 클리핑 값의 크로마 테이블을 이용하여 클리핑 값들을 결정하는 것을 허용한다. 이 클리핑 값들은 내부 비트깊이(bitdepth)에 종속적이다.
슬라이스 헤더에서, 최대 7 개의 APS가 현재 슬라이스에 대해 사용되는 루마 필터 세트를 특정하기 위해 시그널링될 수 있다. 필터링 프로세스는 CTB 레벨에서 더 제어될 수 있다. 플래그는 ALF가 루마 CTB에 적용되는지 여부를 지시하기 위해 항상 시그널링된다. 루마 CTB는 APS의 필터 세트와 16 개의 고정된 필터 세트 중 한 필터 세트를 선택할 수 있다. 16 개의 고정된 필터 세트는 기 정의되고 인코더 및 디코더 모두에서 하드코딩(hard-coded)될 수 있다.
크로마 컴포넌트의 경우, APS 인덱스는 현재 슬라이스에 사용되는 크로마 필터 세트를 지시하기 위해 슬라이스 헤더에서 시그널링된다. CTB 레벨에서, 필터 인덱스는 APS에 둘 이상의 크로마 필터 세트가 있을 때 각 크로마 CTB에 대해 시그널링된다.
보다 상세하게는, 다음이 적용된다:
슬라이스 온/오프 제어 플래그는 슬라이스 내 적어도 하나의 CTU가 ALF를 적용하는지 여부를 지시하기 위해 먼저 코딩된다. 이것이 참이면, 각 CTU에 대해, 다음이 확인되고 순서대로 시그널링된다:
루마 파트 연관:
1. ALF가 루마 CTB에 적용되는지 여부가 판단된다. 참이면, 단계 2로 진행한다. 그렇지않으면, 추가적인 시그널링은 필요하지 않다.
2. numALFAPS로 표현되는 현재 슬라이스에서 사용되는 ALF APS의 수를 확인한다.
3. numALFAPS이 0이면, 고정된 필터의 인덱스 (예를 들어, alf_luma_fixed_filter_idx)가 시그널링된다. 그렇지 않으면, 다음이 적용된다:
제1 (첫번째) ALF APS로부터 예측되는지 혹은 아닌지 여부에 대한 플래그를 시그널링한다.
아니라면, 단계 4로 진행한다. 그렇지 않으면, 루마 CTB에 대한 ALF 파라미터의 시그널링은 중지된다.
4. numALFAPS이 1보다 크면, ALF APS 로부터 예측되는지 혹은 아닌지 여부를 지시하는 플래그를 시그널링한다.
아니라면, 고정된 필터의 인덱스를 시그널링한다.
참이고 numALFAPS이 2보다 크면, ALF APS 마이너스(minus, -) 1 의 인덱스가 절단된 단항(truncated unary)으로 시그널링된다.
크로마 파트 연관:
1. ALF가 Cb/Cr CTB에 적용되는지 여부가 판단된다. 참이면, 단계 2로 간다. 그 외의 경우, 더 이상의 시그널링이 필요하지 않다.
2. i번째 ALF APS와 연관되는 필터의 인덱스를 시그널링하는데, APS 인덱스는 슬라이스 헤더에서 시그널링된다.
7.3.8.2 코딩 트리 유닛 신택스
Figure pct00086
Figure pct00087
2.8. CC-ALF(Cross-Component adaptive loop filter)
CC-ALF (Cross-component adaptive loop filter) 는 각 크로마 컴포넌트를 개선하기 위해 루마 샘플 값들을 이용한다. 기본적으로, CC-ALF가 적용되면, CC-ALF는 루마 샘플들을 필터링함으로써 크로마 샘플들 각각에 대한 보정을 생성한다. 이는 루프 필터 단계로서 적용된다. 이 도구는 비트스트림의 정보에 의해 제어되고, 이 정보에는 (a) 각 크로마 컴포넌트에 대한 필터 계수 및 (b) 샘플들의 블록들에 대한 필터의 적용을 제어하는 마스크 둘 모두가 포함된다.
도 4a는 다른 루프 필터에 대한 CC-ALF의 배치를 보여준다. CC-ALF는 각 크로마 컴포넌트에 대한 루마 채널에 선형, 다이아몬드 형태의 필터(도 4b에 도시됨)를 적용함으로써 동작하며, 다음과 같이 표현된다.
Figure pct00088
Figure pct00089
도 4a는 다른 루프 필터에 대한 CC-ALF의 배치를 보여준다. 도 4b는 다이아몬드 형태의 필터를 보여준다.
CC-ALF 프로세스는 JVET-O0636에서 더 설명된다. 주요 기능 특징들은 다음을 포함한다:
· 지원 영역이 중심이 되는 루마 위치
Figure pct00090
는 루마 및 크로마 평면 사이의 공간적 스케일링 인자를 기반으로 계산된다.
· 모든 필터 계수는 APS에서 송신되며, 8 비트 동적 범위를 갖는다.
· APS는 슬라이스 헤더에서 참조될 수 있다.
· 또한 슬라이스의 각 크로마 컴포넌트에 대해 사용되는 CC-ALF 계수는 시간적 서브레이어에 대응되는 버퍼에 저장된다. 이러한 시간적 서브레이어 필터 계수의 세트들의 재사용은 슬라이스 레벨 플래그를 이용하여 촉진된다.
· CC-ALF 필터의 적용은 변수 블록 크기에서 제어되고, 각 샘플들의 블록에 대해 수신된 컨텍스트 코딩된 플래그에 의해 시그널링된다. CC-ALF 활성화 플래그와 함께 블록 크기는 각 크로마 컴포넌트에 대해 슬라이스 레벨에서 수신된다.
· 수평 가상 경계에 대한 경계 패딩은 반복을 사용한다. 나머지 경계들에는 일반 ALF(regular ALF)와 동일한 유형의 패딩이 사용된다.
2.8.1. JVET-P1008에서 CC-ALF의 추가 단순화
JVET-P0080과 비교하여, CC-ALF 설계를 단순화하기 위해 다음의 새로운 양상들이 제안된다.
- 복잡성 감소
o 도 5에 도시된 바와 같이, 필터 형태를 3x4 다이아몬드 형태로 변경함으로써 필터 동작의 곱셈 연산의 수를 감소시킴
o CC-ALF 계수의 동적 범위를 6 비트로 제한
o 크로마 ALF와 곱셈 수(multiplier) 공유를 허용
- ALF와의 정렬
o 필터 선택을 CTU 레벨에서의 시그널링으로 제한
o 시간적 레이어 계수 버퍼를 제거
o ALF 가상 경계에서 대칭 선 선택의 사용
추가적으로, 단순화하면 코딩 효율이 떨어지므로, 크로마 컴포넌트 당 최대 네 개의 필터가 적용될 수 있도록 제한된다.
도 5는 다이아몬드 형태의 3x4 필터의 예를 보여준다.
2.8.1.1. CC-ALF의 신택스 및 시맨틱스
7.3.6 슬라이스 헤더 신택스
7.3.6.1 일반 슬라이스 헤더 신택스
Figure pct00091
Figure pct00092
Figure pct00093
Figure pct00094
Figure pct00095
Figure pct00096
Figure pct00097
적응적 루프 필터 데이터 신택스(Adaptive loop filter data syntax)
Figure pct00098
Figure pct00099
Figure pct00100
Figure pct00101
7.3.8.2 코딩 트리 유닛 신택스
Figure pct00102
Figure pct00103
3. 일부 개시된 기술적 솔루션에 의해 해결되는 기술적 문제점
현재 CC-ALF 설계는 다음과 같은 문제점을 가진다:
1. 루마 정보를 활용하여 크로마 샘플들은 개선하는 CC-ALF 모드는 유연성이 부족한 단 하나의 CC-ALF 모드가 적용된다.
2. 비 선형 ALF 및 CC-ALF의 사용을 제어하는데 동일한 SPS 플래그가 사용된다. 비 선형 ALF와 개별적으로 CC-ALF를 끄는(turn off) 것이 불가능하다.
3. 비 합리적으로, CC-ALF의 시그널링은 비 선형 ALF 플래그(즉, slice_alf_enabled_flag) 로부터 독립적이다.
4. 각 CTB에 대해, 오직 하나의 CC-ALF 필터만이(Cb의 alf_ctb_cross_component_cb_idc 혹은 Cr의 alf_ctb_cross_component_cr_idc에 의해 지시됨) 허용되는데, 이는 지역적 특징을 포착하지 못할 수 있다.
5. CC-ALF는 크로마 샘플을 개선하기 위해 루마 정보를 활용하는데, 이 때, 예를 들어 SAO와 같은 다른 필터들도 크로마 샘플을 개선할 수 있다. 동일한 크로마 샘플에 대한 반복적인 개선은 큰 왜곡을 발생시킬 수 있다.
6. 한 CTB에 대해, CC-ALF 및 크로마 ALF 필터링 프로세스의 입력은 SAO 프로세스 이후 복원샘플들로, 동일하다. CC-ALF 및 크로마 ALF 필터링 프로세스 간의 상호작용은 고려되지 않는다.
4. 실시예 및 기술 목록
하기의 실시예 리스트는 일반적인 컨셉을 설명하기 위한 예시로서 고려되어야 한다. 이러한 아이템들은 좁은 의미로 해석되어서는 안된다. 또한, 이 아이템들은 어떠한 방식으로든 결합될 수 있다.
본 문서에서, ALF 필터는 주어진 색상 컴포넌트의 정보를 이용하여 주어진 색상 컴포넌트에 적용되는 필터를 나타낼 수 있다(예를 들어, 루마 ALF 필터(선형 혹은 비선형)가 루마 정보를 이용하여 루마에 적용되고; 크로마 ALF 필터는 크로마 정보를 이용하여 크로마에 적용되는데, 예를 들어, Cb 크로마 ALF 필터는 Cb 샘플 필터링을 위한 것이며; Cr 크로마 ALF 필터는 Cr 샘플 필터링을 위한 것이다). 반면 CC-ALF 필터는 제2 색상 컴포넌트 정보를 이용하여 제1 컴포넌트에 적용되는 필터를 나타낼 수 있다(예를 들어, 제1 색상 컴포넌트는 Cb 혹은 Cr이고, 제2 색상 컴포넌트는 루마일 수 있다).
CC-ALF의 확장
1. CC-ALF는, 제1 컴포넌트가 Cb/Cr이고, 제2 컴포넌트가 Y인 경우를 배제하고, 제2 컴포넌트의 샘플을 필터링함으로써 제1 컴포넌트의 샘플에 대한 보정을 수행하는 경우까지 확장될 수 있다.
a. 또는, 어떤 색상 컴포넌트에 CC-ALF가 적용되는지에 대한 지시가 더 시그널링 될 수 있다.
b. 일 예로서, 제1 색상 컴포넌트는 YCbCr 포맷에서 Y 이거나, RGB 포맷에서 G일 수 있다.
c. 일 예로서, 제1 색상 컴포넌트는 YCbCr 포맷에서 Cb이거나, RGB 포맷에서 B일 수 있다.
d. 일 예로서, 제1 색상 컴포넌트는 YCbCr 포맷에서 Cr 이거나, RGB 포맷에서 R일 수 있다.
e. 일 예로서, 제1 색상 컴포넌트는 YCbCr 포맷에서 Y 이거나, RGB 포맷에서 G일 수 있다.
f. 일 예로서, 제1 색상 컴포넌트는 YCbCr 포맷에서 Cb이거나, RGB 포맷에서 B일 수 있다.
g. 일 예로서, 제1 색상 컴포넌트는 YCbCr 포맷에서 Cr이거나, RGB 포맷에서 R일 수 있다.
2. CC-ALF에서 제1 컴포넌트의 "개선된 샘플" 혹은 "샘플의 보정"을 유도할 때 둘 이상의 컴포넌트에 대한 샘플이 필터링 될 것이 제안된다.
a. 일 예로서, 제1 컴포넌트의 샘플의 보정을 계산할 때 제2 컴포넌트 및 제3 컴포넌트의 샘플이 필터링될 수 있다. 여기서, 제1 컴포넌트는 제2 컴포넌트 및 제3 컴포넌트와 다르다.
i. 제1 색상 컴포넌트는 YCbCr 포맷에서 Cb이고, 제2 및 제3 컴포넌트는 각각 Y 및 Cr이다.
ii. 제1 색상 컴포넌트는 YCbCr 포맷에서 Cr이고, 제2 및 제3 컴포넌트는 각각 Y 및 Cb이다.
iii. 제1 색상 컴포넌트는 YCbCr 포맷에서 Y이고, 제2 및 제3 컴포넌트는 각각 Cb 및 Cr이다.
iv. 제1 색상 컴포넌트는 RGB 포맷에서 G이고, 제2 및 제3 컴포넌트는 각각 R 및 B 이다.
v. 제1 색상 컴포넌트는 RGB 포맷에서 B이고, 제2 및 제3 컴포넌트는 각각 R 및 G 이다.
vi. 제1 색상 컴포넌트는 RGB 포맷에서 R이고, 제2 및 제3 컴포넌트는 각각 G 및 B 이다.
b. 또는, 제2 컴포넌트 및 제3 컴포넌트의 샘플들은 제1 컴포넌트의 샘플을 보정을 계산할 때 필터링될 수 있다. 여기서, 제1 컴포넌트는 제2 컴포넌트 혹은 제3 컴포넌트와 동일하다.
i. 일 예로서, 제1 컴포넌트는 YCbCr 포맷에서 Cb이고, 제2 및 제3 컴포넌트는 각각 Cb 및 Y 이다.
ii. 일 예로서, 제1 컴포넌트는 YCbCr 포맷에서 Cb이고, 제2 및 제3 컴포넌트는 각각 Cb 및 Cr 이다.
iii. 일 예로서, 제1 컴포넌트는 YCbCr 포맷에서 Cr이고, 제2 및 제3 컴포넌트는 각각 Cr및 Y 이다.
iv. 일 예로서, 제1 컴포넌트는 YCbCr 포맷에서 Cr이고, 제2 및 제3 컴포넌트는 각각 Cr 및 Cb이다.
v. 일 예로서, 제1 컴포넌트는 YCbCr 포맷에서 Y이고, 제2 및 제3 컴포넌트는 각각 Y 및 Cb이다.
vi. 일 예로서, 제1 컴포넌트는 YCbCr 포맷에서 Y이고, 제2 및 제3 컴포넌트는 각각 Y 및 Cr이다.
vii. 일 예로서, 제1 컴포넌트는 RGB 포맷에서 G이고, 제2 및 제3 컴포넌트는 각각 G 및 R이다.
viii. 일 예로서, 제1 컴포넌트는 RGB 포맷에서 G이고, 제2 및 제3 컴포넌트는 각각 G 및 B이다.
ix. 일 예로서, 제1 컴포넌트는 RGB 포맷에서 B이고, 제2 및 제3 컴포넌트는 각각 B 및 R이다.
x. 일 예로서, 제1 컴포넌트는 RGB 포맷에서 B이고, 제2 및 제3 컴포넌트는 각각 B 및 G이다.
xi. 일 예로서, 제1 컴포넌트는 RGB 포맷에서 R이고, 제2 및 제3 컴포넌트는 각각 R 및 G이다.
xii. 일 예로서, 제1 컴포넌트는 RGB 포맷에서 R이고, 제2 및 제3 컴포넌트는 각각 R 및 B이다.
c. 일 예로서, 세 컴포넌트로부터의 샘플은 제1 컴포넌트로부터의 샘플의 보정을 계산할 때 필터링 될 수 있다.
i. 일 예로서, 제1 컴포넌트는 YCbCr 포맷의 Cb 혹은 Cr 혹은 Y이다.
ii. 일 예로서, 제1 컴포넌트는 RGB 포맷의 G 혹은 R 혹은 B이다.
iii. 일 예로서, 세 컴포넌트는 YCbCr 포맷의 Y, Cb, 및 Cr이다.
iv. 일 예로서, 세 컴포넌트는 RGB 포맷의 R, G 및 B이다.
d. 일 예로서, 제1/2/3 컴포넌트의 지시 및 한 오프셋 유도를 위해 얼마나 많은 컴포넌트가 필터링되어야 하는지가 인코더에서 디코더로 시그널링되거나 미리 정의될 수 있다.
다음 설명에서, CC-ALF가 크로마 컴포넌트(예를 들어, Cb 혹은 Cr)에 적용된다고 가정한다. CC-ALF가 다른 색상 컴포넌트(예를 들어, 루마, 혹은 G 혹은 B 혹은 R)를 개선하기 위해 확장될 때 색상 컴포넌트를 변경하여 유사한 아이디어를 적용할 수 있다는 점에 유의해야 한다.
CC-ALF에서의 다중 필터
3. 둘 이상의 ALF APS가 CC-ALF 프로세스를 위해 비디오 유닛(예를 들어, 슬라이스/픽처)에 의해 참조될 수 있다. 즉, 제2 ALF APS의 CC-ALF 필터가 적어도 비디오 유닛의 제2 샘플에 대해 활용될 수 있는 반면, 적어도 비디오 유닛의 제1 샘플의 경우, 제1 ALF APS에서 CC-ALF 필터가 활용될 수 있다.
a. 일 예로서, 참조된 ALF APS의 수는 코딩될 수 있다.
b. 일 예로서, ALF APS의 인덱스가 코딩될 수 있다.
c. 일 예로서, 루마 ALF 필터가 참조하는 ALF APS의 동일한 세트가 CC-ALF에 대해 활용될 수 있다.
i. 또는, 또한, CC-ALF 필터를 유도하는 데 사용되는 ALF APS를 시그널링할 필요가 없다.
d. 일 예로서, 루마 ALF가 참조하는 ALF APS의 서브셋 혹은 수퍼셋은 CC-ALF에 대해 활용될 수 있다.
i. 또는, 또한, CC-ALF 필터 및 루마 ALF 필터를 유도하기 위해 데 사용되는 ALF APS의 차이가 시그널링될 수 있다.
4. 둘 이상의 CC-ALF 필터가 CC-ALF 프로세스를 위해 비디오 영역(예를 들어, CTB)에 대해 활용될 수 있다. 즉, 제2 CC-ALF 필터의 CC-ALF 필터가 적어도 비디오 영역의 제2 샘플에 대해 활용될 수 있을 때, 적어도 비디오 영역의 제1 샘플에 대해 제1 CC-ALF 필터가 활용될 수 있다.
a. 일 예로서, 다중 CC-ALF 필터의 표시는 비디오 지역(예를 들어, CTB/CU/CB/PU/PB, CTB 행)에서 시그널링될 수 있다.
i. 일 예로서, 표시는 하나의 ALF APS에서 선택된 CC-ALF 필터 인덱스를 포함할 수 있다.
ii. 또는, 표시는 선택된 CC-ALF 필터 인덱스 및 CC-ALF 필터가 연관된 ALF APS의 인덱스를 포함할 수 있다.
iii. 또는, 표시는 APS에서 시그널링되지 않는 선택된 고정 CC-ALF 필터를 포함할 수 있다.
a) 또는, 또한, 고정 CC-ALF 필터는 기 정의되고 선택된 CC-ALF 필터를 예측/블록에 의해 선택된 CC-ALF필터로 상속되는 데 사용될 수 있다.
iv. 일 예로서, 비디오 지역은 비디오 영역과 동일할 수 있다.
v. 또는, 비디오 지역은 비디오 영역보다 크거나(예를 들어, 슬라이스), 작을 수 있다(예를 들어, CU).
b. 일 예로서, 크로마 샘플은 다중 세트로 분류될 수 있고, CC-ALF 필터를 어떻게 선택할 지는 이 분류 결과에 따를 수 있다.
i. 일 예로서, 두 크로마 컴포넌트는 독립적으로 분류를 유도할 수 있다.
a) 일 예로서, 크로마 컴포넌트의 분류 프로세스는 크로마 컴포넌트의 크로마 샘플 정보에 종속적일 수 있다.
ii. 일 예로서, 두 크로마 컴포넌트는 공동으로 분류를 유도할 수 있다.
a) 일 예로서, 두 대응 크로마 블록(Cb 및 Cr)의 분류 프로세스는 두 블록 내의 크로마 샘플에 종속적일 수 있다.
iii. 일 예로서, 크로마 컴포넌트의 분류 프로세스는 루마 색상 컴포넌트의 정보에 종속적일 수 있다.
a) 일 예로서, 크로마 블록 및 대응 루마 블록에 동일한 클래스 인덱스가 설정될 수 있다.
iv. 일 예로서, 한 혹은 다중 크로마 컴포넌트의 분류 프로세스는 둘 이상의 컴포넌트(예를 들어, Y+Cb+Cr 혹은 Y+Cb, 혹은 Y+Cr)에 기초한 공동 결정에 종속적일 수 있다.
v. 일 예로서, 크로마 샘플은 루마 ALF에서 루마 샘플의 대응 분류에 따라 다중 세트로 분류될 수 있다.
vi. 또는, 또한, 분류 인덱스에 따라 CC-ALF 필터가 어떻게 선택되는 지에 대한 표시가 더 시그널링될 수 있으며, 예를 들어, 각 분류 인덱스에 대해 CC-ALF 필터 인덱스가 시그널링될 수 있다.
CC-ALF의 수정된 필터링 프로세스
5. 크로마 샘플을 개선하는 데 사용되기 전에, 개선(예를 들어, 유도된 오프셋)을 변경하는 것이 제안된다.
a. 일 예로서, 유도된 오프셋은 주어진 범위로 클리핑될 수 있다.
i. 일 예로서, 오프셋을 클리핑할 지 여부 및/혹은 어떻게 클리핑할 지는 인코더에서 디코더로 시그널링될 수 있다.
6. 픽셀의 두 대응 크로마 샘플에 대해 CC-ALF 필터링 프로세스를 두 번 수행하는 대신, 한 회 호출하는 것이 제안된다. 제1 색상 컴포넌트의 픽셀 S에 대한 Offset1이 루마 샘플들로부터 유도되고, 제2 색상 컴포넌트의 픽셀 S에 대한 Offset2이 Offset1로부터 유도된다고 가정한다.
a. 일 예로서, Offset1은 Offset2와 동일하다.
b. 일 예로서, Offset1 더하기 Offset2는 0과 동일할 수 있다.
c. 일 예로서, Offset2는 Offset1의 선형 함수로서 유도될 수 있다. 예를 들어, Offset2는 a*Offset1+b와 동일하다.
d. 일 예로서, 클리핑 동작은 Offset1로부터 Offset2를 유도하는 데 사용될 수 있다.
e. 일 예로서, Offset2는 offset 1 및 공동 Cb 및 Cr 모드의 슬라이스 레벨 부호 플래그(예를 들어, slice_joint_cbcr_sign_flag)에 기초하여 유도될 수 있다.
i. 일 예로서, offset2는 slice_joint_cbcr_sign_flag이 0일 때 offset1과 동일하게 설정될 수 있다.
a) 또는, 일 예로서, offset2는 slice_joint_cbcr_sign_flag이 1일 때
-offset1과 동일하게 설정될 수 있다.
f. 일 예로서, 한 CC-ALF 필터 세트가 두 대응 크로마 샘플(예를 들어, Cb 및 Cr)에 사용될 수 있다.
i. 또는, 또한, 두 크로마 컴포넌트에 대해, CC-ALF 필터의 표시는 두 번 대신 한 번만 시그널링될 수 있다.
g. 또는, 또한, 크로마 컴포넌트에 대한 오프셋 보정이 더 시그널링되거나 유도될 수 있다.
i. 일 예로서, 루마 샘플로부터 유도되는 오프셋(O로 지시됨)은 제1 크로마 컴포넌트(예를 들어, Cb)의 한 샘플을 직접 개선하는 데 사용될 수 있다; O O의 보정 둘 모두는 제2 크로마 컴포넌트(예를 들어, Cr)의 한 샘플을 개선하는데 사용될 수 있다.
7. 샘플 레벨에서의 CC-ALF 필터링 프로세스를 수행하는 대신, 서브블록(둘 이상의 샘플을 포함함) 레벨에서 적용할 것이 제안된다.
a. 일 예로서, 서브블록 내 모든 크로마 샘플의 경우, 오프셋 유도 프로세스는 한 회만 호출될 수도 있다.
b. 일 예로서, 서브블록 내 크로마 샘플의 경우, 동일한 오프셋이 활용될 수 있다.
i. 또는, 적어도 제2 색상 컴포넌트로부터 유도된 오프셋이 변경될 수 있는데, 예를 들어, 적어도 제2 색상 컴포넌트로부터 유도된 오프셋은 내부 오프셋(internal offset)로 설정될 수 있고, 서브블록 내 샘플에 대한 최종 오프셋은 내부 오프셋으로부터 유도될 수 있다.
c. 일 예로서, 서브블록 치수는 MxN (예를 들어, 2x2; 2x1, 1x2)로 설정될 수 있다.
d. 일 예로서, 서브 블록 치수는 색상 포맷(예를 들어, 4:4:4 혹은 4:2:0)에 종속적일 수 있다.
e. 일 예로서, 서브 블록 치수는 블록 마다 다를 수 있다 (예를 들어 CTB들).
f. 일 예로서, 서브 블록 치수는 색상 컴포넌트 마다 다를 수 있다.
g. 일 예로서, CC-ALF 필터 지원 영역은 서브 블록 치수에 종속적일 수 있다.
h. 일 예로서, CC-ALF 호출의 입도 및/서브 블록 크기는 비디오 유닛에서 시그널링될 수 있다.
8. CC-ALF 필터링 프로세스는 루마 샘플에 직접 적용하는 대신 루마 샘플 차이에 대한 계수로 필터링을 적용하기 위해 호출된다.
a. 일 예로서, 루마 샘플 차이는 필터 지원 (영역)에서 한 루마 샘플과 대응 루마 샘플 간의 차이로 정의될 수 있다. 크로마 샘플 좌표가 (X, Y)로 표시된다고 가정한다.
i. 일 예로서, 대응 루마 샘플은 4:4:4 포맷에서 (x, y)에 위치한다.
ii. 일 예로서, 대응 루마 샘플은 비 4:4:4 포맷에서 (2x, 2y)에 위치하는 루마 샘플이다.
iii. 일 에로서, 대응 루마 샘플은 4:2:0 포맷에서 (2x, 2y) 및 (2x, 2y+1)에 위치한 두 샘플들의 함수(예를 들어, 평균)로 유도될 수 있다.
iv. 일 예로서, 수학식 (18)의 필터링 프로세스는 다음과 같이 재작성될 수 있다:
Figure pct00104
여기서,
Figure pct00105
Figure pct00106
Figure pct00107
Figure pct00108
대응 샘플이
Figure pct00109
로 정의되면, 0과 동일한 x0 및 y0 둘 모두는
Figure pct00110
로부터 배제됨을 주의해야 한다.
b. 또는, 또한, 루마 샘플 차이는 사용되기 전에, 예를 들어, 클리핑 되기 전에 추가적으로 수정될 수 있다.
i. 일 예로서, 수학식(18)의 필터링 프로세스는 다음과 같이 재작성될 수 있다.
Figure pct00111
Figure pct00112
Figure pct00113
ii. 일 예로서, 클리핑을 수행할지 여부 및/혹은 어떻게 수행할지가 시그널링될 수 있다.
iii. 일 예로서, 클리핑 파라미터는 디코더로 시그널링될 수 있다.
a) 또는, 또한, 루마 ALF 프로세스에서의 클리핑 파라미터의 시그널링 방법은 CC-ALF에서 클리핑 파라미터를 시그널링하는 데 활용될 수 있다.
iv. 일 예로서, 루마 ALF 프로세스에서 사용되는 클리핑 파라미터는 (가용 하면) CC-ALF에서 재사용될 수 있다.
CC-ALF의 시그널링
9. 일 예로서, 적어도 한 신택스 요소가, APS가 CC-ALF에 연관된 정보를 포함하는지 여부를 지시하기 위해 APS에서 시그널링된다.
a. 일 예로서, CC-ALF와 연관된 정보를 포함하는 APS는 새로운 APS 타입으로 표시될 수 있다.
b. Cb 및 Cr CC-ALF 필터 시그널링의 표시(예를 들어, alf_cross_component_cb_filter_signal_flag 및 alf_cross_component_cr_filter_signal_flag) 는 한 신택스 요소로 공동으로 코딩될 수 있다(예를 들어, alf_cross_component_filter_signal_flag로 표시됨).
i. 또는, 신택스 요소가 비 이진 값일 수 있다.
10. CC-ALF 및 코딩 도구 X는 배타적으로 사용될 수 있다. 즉, CC-ALF가 사용되면, X는 비활성화 되며, 반대의 경우에도 마찬가지이다.
a. 일 예로서, 코딩 도구 X는 다음과 같을 수 있다:
i. 크로마 컴포넌트에 대한 SAO
ii. LMCS의 크로마 잔차 스케일링
iii. 크로마 컴포넌트(들)에 대한 디블록킹
iv. 크로마 컴포넌트(들)에서의 ALF
b. 일 예로서, CC-ALF관련 부가 정보의 시그널링은 코딩 도구 X를 활성화/비활성화하는 조건 확인 하에 있을 수 있다.
c. 일 예로서, 코딩 도구 X 관련 부가 정보의 시그널링은 CC-ALF를 활성화/비활성화 하는 조건 하에 수행될 수 있다.
d. 일 예로서, 코딩 도구(CC-ALF 혹은 X)이 비활성화되면, 대응 부가 정보는 시그널링되지 않는다.
e. CC-ALF 및 코딩 도구 X 가 배타적으로 사용되는지 여부에 대한 결정은 전체 시퀀스, 혹은 전체 픽처, 혹은 전체 슬라이스 혹은 예를 들어, 타일, 서브픽처, CTB, 코딩 블록 등과 같은 영역에 대해 수행될 수 있다.
11. 비디오 영역 (예를 들어, CTB) 혹은 비디오 유닛 (예를 들어, 시퀀스 혹은 픽처 혹은 슬라이스)에 대한 CC-ALF 활성화/비활성화는 루마 컴포넌트에 대한 ALF의 사용 및/혹은 시그널링에 종속적일 수 있다.
a. 일 예로서, ALF 파라미터가 루마 컴포넌트에 대해 시그널링되지 않으면, CC-ALF가 강제로 비활성화된다.
i. 또는, 또한, CC-ALF 관련 부가 정보의 시그널링은 루마 컴포넌트에 대한 ALF의 사용에 대한 조건 확인 하에 있을 수 있다. (예를 들어, alf_luma_filter_signal_flag)
ii. 또는, 또한, ALF 파라미터가 시그널링되지 않는 경우 CC-ALF 관련 부가 정보의 시그널링은 생략될 수 있다.
b. 일 예로서, 루마 컴포넌트에 대해 ALF가 비활성화 되면, CC-ALF는 강제로 비활성화된다.
i. 또는, 또한, CC-ALF 관련 부가 정보의 시그널링(예를 들어, slice_cross_component_alf_cb_enabled_flag, slice_cross_component_alf_cr_enabled_flag, alf_ctb_cross_component_cb_idc 혹은 alf_ctb_cross_component_cr_idc) 은 루마 컴포넌트에 대한 ALF의 사용에 대한 조건 확인 하에 있을 수 있다(예를 들어, slice_alf_enabled_flag or alf_ctb_flag).
ii. 또는, 또한, CC-ALF 관련 부가 정보의 시그널링은 생략될 수 있다.
12. CC-ALF의 사용을 시그널링할지 여부는 사용 가능한 ALF APS의 수에 종속적일 수 있다.
a. 일 예로서, CC-ALF 관련 정보의 시그널링(예를 들어, slice_cross_component_alf_cb_enabled_flag, slice_cross_component_alf_cr_enabled_flag)은 사용 가능한 ALF APS의 수가 0이 아니라는 조건 확인 하에 있다. 또는, CC-ALF 관련 정보의 시그널링은 사용 가능한 ALF APS의 수가 0보다 크다는 조건 확인 하에 있다.
b. 일 예로서, 사용 가능한 ALF APS의 수가 0이면, CC-ALF 관련 정보의 시그널링 (예를 들어, slice_cross_component_alf_cb_enabled_flag, slice_cross_component_alf_cr_enabled_flag) 은 생략될 수 있다.
c. 또는, 적합성 비트스트림(conformance bitstream)은 CC-ALF 및/혹은 ALF에 대한 시그널링된 APS 인덱스가 전송된 ALF APS의 수보다 작지 않아야 한다는 것을 충족해야 한다.
d. 또는, 적합성 비트스트림은 CC-ALF 및/혹은 ALF에 대한 시그널링된 APS 인덱스가 사용 가능한 하나의 ALF APS를 참조해야 한다는 것을 충족해야 한다.
e. 또는, CC-ALF의 사용을 시그널링할지 여부는 CC-ALF 정보를 포함하는 사용 가능한 ALF APS의 수에 종속적일 수 있다.
CC-ALF의 호출
13. CC-ALF는 블록의 예측 단계에 적용될 수 있다.
a. 일 예로서, 인코더 측에서, 예측 오차(prediction error)는 예를 들어, 원본 신호 및 CC-ALF 필터링된 결과 간의 차이와 같은 원본 블록 및 CC-ALF 필터링된 결과를 기반으로 생성될 수 있다.
b. 일 예로서, 인코더 측에서, 예측 오차는 일 예로서, 인코더 측에서, 예측 오차는 주어진 예측 모드, 예를 들어, 원본 신호 - 예측 신호 - CC-ALF 필터링된 결과와 같이 설정되는 CC-ALF 필터링된 결과에 따라 원본 블록, 예측 블록에 기초하여 생성될 수 있다.
c. 일 예로서, 디코더 측에서, 블록의 복원은 CC-ALF 필터링된 결과 및 잔차에 종속적일 수 있다.
d. 일 예로서, 디코더 측에서, 블록의 복원은 인트라/인터/다른 코딩 모드들로부터 생성된 예측 블록, 잔차 및 CC-ALF 필터링된 결과에 종속적일 수 있다.
e. 일 예로서, 상기의 예들은 블록 내 부분적인 샘플들에 활성화되나 나머지 샘플들에 대하여는 비활성화될 수 있다.
i. 일 예로서, 부분적인 샘플들은 처음 N 개의 행/열에서의 샘플을 나타낼 수 있다.
ii. 일 예로서, 부분적인 샘플들은 마지막 N 개의 행/열에서의 샘플을 나타낼 수 있다.
iii. 일 예로서, N은 CC-ALF에서 사용되는 필터 형태에 종속적일 수 있다.
14. CC-ALF는 다른 블록을 디코딩하기 전, 한 블록(예를 들어, CTB)의 복원 후에 적용될 수 있다.
15. SAO와 ALF 사이에 CC-ALF를 적용하는 대신 필터링 방법에 대한 다른 순서가 적용될 수 있다.
a. 일 예로서, CC-ALF는 모든 인루프 필터에 앞서 적용될 수 있다.
b. 일 예로서, CC-ALF는 블록의 복원 이후 적용될 수 있으며, 필터링된 복원 블록은 진행 블록의 예측에 활용될 수 있다.
c. 일 예로서, CC-ALF는 SAO 이전에 적용될 수 있다.
16. CC-ALF를 활성화 할지 혹은 비활성화 할지 여부는 슬라이스 외의 비디오 유닛(예를 들어, 시퀀스/픽처/뷰/서브픽처/타일)에서 시그널링될 수 있다.
a. 일 예로서, CC-ALF의 사용에 대한 표시는 ALF의 활성화에 따라 조건적으로 시그널링될 수 있다.
b. 일 예로서, CC-ALF의 사용에 대한 표시는 크로마 색상 포맷 및/혹은 개별 평면 코딩 활성화 플래그(separate plane coding enabling flag)에 따라 조건적으로 시그널링될 수 있다.
c. 일 예로서, 슬라이스/CTB/CTU의 사용에 대한 표시는 CC-ALF가 비디오 유닛에 대해 활성화되는 조건 확인 하에 있을 수 있다.
d. 일 예로서, 신택스 요소(예를 들어, 플래그)는 CC-ALF가 활성화되는 것이 허용되는지 여부를 지시하기 위해 SPS/VPS/PPS/픽처 헤더/슬라이스 헤더 에서 시그널링될 수 있다.
i. 또는, 또한, 신택스 요소는 ALF가 비디오 유닛에 대해 활성화될 때(예를 들어, sps_alf_enabled_fla이 1일 때만) 코딩될 수 있다.
ii. 또는, 또한, 신택스 요소는 ALF가 비디오 유닛에 대해 활성화되고, ChromaArrayType 이 0이 아닐때에만 코딩될 수도 있다 (예를 들어, sps_alf_enabled_flag 가 1이고, ChromaArrayType 이 0이 아닌 때에만).
17. CC-ALF의 사용에 대한 표시는 루마 컴포넌트에 대한 ALF의 활성화에 따라 조건적으로 시그널링될 수 있다.
a. 일 예로서, ALF가 루마 컴포넌트에 대해 비활성화되면, CC-ALF 또한 명시적인 시그널링 없이 비활성화된다.
18. 크로마 컴포넌트의 ALF 및 크로마 컴포넌트의 CC-ALF 프로세싱 순서는 기 정의되거나 MxN 영역에 따라 적응적으로 변경될 수 있다.
a. 일 예로서, MxN 영역에 대한 크로마 ALF 필터링 프로세스로 인한 필터링된 샘플들이 MxN 영역에 대한 크로마 컴포넌트의 CC-ALF에 입력되기 전에 추가적으로 변경될 수 있다.
b. 일 예로서, 제1 (첫번째) MxN 영역에 대한 크로마 ALF 필터링 프로세스 및/혹은 CC-ALF로 인한 필터링된 샘플들은 제2 MxN 영역의 입력으로 활용될 수 있다.
c. 일 예로서, MxN 영역에 대한 크로마 컴포넌트의 CC-ALF가 먼저 수행되고, MxN 영역에 대한 크로마 컴포넌트의 ALF가 후행될 수 있다.
i. 일 예로서, 한 MxN 영역에서, 크로마 ALF 필터링 프로세스의 입력은 CC-ALF의 출력일 수 있다.
ii. 일 예로서, MxN 영역의 샘플들은 MxN 영역의 크로마 컴포넌트의 ALF에 입력되기 전에 CC-ALF에 의해 변경되었을 수 있다.
d. 일 예로서, MХN 영역은 CTB일 수 있다.
e. 일 예로서, MХN 영역은 CTB보다 작을 수 있다.
i. 일 예로서, MХN 영역은 한 샘플일 수 있다.
f. 인코더에서 디코더로 순서가 시그널링될 수 있는데, 예를 들어, VPS/DPS/SPS/PPS/픽처 헤더/슬라이스 헤더에서 시그널링될 수 있다.
19. 신택스 요소는 주어진 크로마 컴포넌트(예를 들어, Cb 혹은 Cr)에 대한 ALF 및 CC-ALF의 사용을 지시하기 위해 시그널링될 수 있다.
a. 일 예로서, 신택스 요소의 값은 비 이진(non binary)일수 있다.
i. 일 예로서, K와 동일한 신택스 값은 비 선형 ALF 및 CC-ALF 둘 모두가 주어진 색상 컴포넌트에 대해 비활성화됨을 지시한다.
ii. 일 예로서, L과 동일한 신택스 값은 비 선형 ALF 및 CC-ALF 둘 모두가 주어진 색상 컴포넌트에 대해 활성화됨을 지시한다.
iii. 일 예로서, M과 동일한 신택스 값은 CC-ALF가 주어진 색상 컴포넌트에 대해 비활성화 될 때 비 선형 ALF만이 활성화됨을 지시한다.
iv. 일 예로서, N과 동일한 신택스 값은 비 선형 ALF가 주어진 색상 컴포넌트에 대해 비활성화될 때 CC-ALF 만이 활성화됨을 지시한다.
v. 상기 예에서, K, L, M, N 는 네 개의 정수 값으로서, 예를 들어, K=0, L=3, M=1 및 N = 2이다.
b. 신택스 요소의 값은 고정된 길이(fixed-length), 단항, 절단된 단항(truncated unary), k-차 EG 등에 대한 이진화 방법으로 코딩될 수 있다.
20. 상기 방법들을 적용할지 여부 및/혹은 어떻게 적용할지는 다음에 나열된 하나 이상의 조건에 기초할 수 있다.
a. 비디오 컨텐츠(예를 들어, 스크린 콘텐츠 혹은 자연적인 컨텐츠)
b. DPS/SPS/VPS/PPS/APS/픽처 헤더/슬라이스헤더/타일 그룹 헤더/최대 코딩 유닛 (LCU)/코딩 유닛 (CU)/LCU 행/LCU(들), TU, PU 블록, 비디오 코딩 유닛의 그룹에서 시그널링되는 메시지
c. CU/PU/TU/블록/비디오 코딩 유닛의 위치
d. 현재 블록 및/혹은 이웃 블록의 디코딩된 정보
i. 블록 치수(dimension)/현재 블록 및/혹은 이웃 블록의 블록 형태
e. 색상 포맷의 표시 (예를 들어, 4:2:0, 4:4:4, RGB 혹은 YUV)
f. 코딩 트리 구조(예를 들어, 듀얼 트리 혹은 단일 트리)
g. 슬라이스/타일 그룹 유형 및/혹은 픽처 유형
h. 색상 컴포넌트 (예를 들어, 루마 컴포넌트 및/혹은 크로마 컴포넌트에만 적용될 수도 있음)
i. 시간적 레이어 ID
j. 표준의 프로파일/레벨/티어(Tiers)
도 6는 비디오 프로세싱 장치(1400)의 블록도이다. 장치(600)는 이 명세서에 기재된 방법들 중의 하나 이상을 구현하는 데 사용될 수 있다. 장치(600)는 스마트폰, 태블릿, 컴퓨터, 사물 인터넷(Internet of Things, IoT) 수신기 등으로 구현될 수 있다. 장치(600)는 하나 이상의 프로세서(162)와, 하나 이상의 메모리(604)와, 및 비디오 프로세싱 회로(606)를 포함할 수 있다. 프로세서(602)(들)는 이 명세서에 기재된 하나 이상의 방법을 구현하도록 구성될 수 있다. 메모리(메모리들)(604)는 이 명세서에 기재된 방법과 기법들을 구현하는 데이터와 코드들을 저장하는 데 사용될 수 있다. 비디오 프로세싱 회로(606)는 이 명세서에 기재된 일부 기법들을 하드웨어 회로에서 구현하는 데 사용될 수 있다. 일부 실시예들에서, 하드웨어 회로(606)는 전체적 또는 부분적으로 예를 들어 그래픽 코프로세서(graphics co-processor) 등의 프로세서(602) 내에 구현될 수 있다.
도 7은 이 명세서에 기재된 다양한 기법들이 구현될 수 있는 예시적인 비디오 프로세싱 시스템(700)에 대한 블록도이다. 다양한 구현예들은 시스템(700)의 컴포넌트들 중의 일부 또는 전부를 포함할 수 있다. 시스템(700)은 비디오 콘텐츠(video content)를 수신하는 입력(702)을 포함할 수 있다. 이 비디오 콘텐츠는 예를 들어 8 또는 10 비트의 다중 컴포넌트(multi-component) 픽셀 값 등의 미가공(raw) 또는 압축되지 않은 포맷으로 수신되거나 압축 또는 인코딩된 포맷이 될 수 있다. 입력(702)은 네트워크 인터페이스, 주변 버스 인터페이스(peripheral bus interface), 또는 저장 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예는 이더넷(Ethernet), 수동 광통신망(passive optical network, PON) 등의 유선 인터페이스와, Wi-Fi 또는 셀룰러 인터페이스(cellular interfaces) 등의 무선 인터페이스를 포함한다.
시스템(700)은 이 명세서에 기재된 다양한 코딩 또는 인코딩 방법들을 구현할 수 있는 코딩 컴포넌트(coding component; 704)를 포함할 수 있다. 이 코딩 컴포넌트(704)는 비디오의 코딩된 표현을 산출하기 위해 입력(702)로부터의 코딩 컴포넌트(704)의 출력에 대한 비디오의 평균 비트율(average bitrate)을 감소시킬 수 있다. 이에 따라, 코딩 기법들은 때로 비디오 압축 또는 비디오 트랜스코딩(transcoding)으로 지칭된다. 코딩 컴포넌트(704)의 출력은 저장되거나, 컴포넌트(706)로 표현된 바와 같이 통신 연결을 통해 전송될 수 있다. 입력(702)에서 수신되는 비디오의 저장 또는 통신되는 비트스트림(또는 코딩) 표현은 컴포넌트(708)에 사용되어 디스플레이 인터페이스(710)로 전송될 수 있는 픽셀 값들 또는 디스플레이 가능한(displayable) 비디오를 생성할 수 있다. 비트스트림 표현으로부터 사용자가 볼 수 있는 비디오를 생성하는 프로세스는 때로 비디오 압축해제로 지칭된다. 뿐만 아니라, 어떤 비디오 프로세싱 동작들은 "코딩(coding)" 동작 또는 돋구(tool)로 지칭되지만, 코딩 도구 또는 동작은 인코더에서 사용되고 코딩의 결과를 반전시키는 대응 디코딩 도구 또는 동작은 디코더에서 수행될 것임을 이해해야 할 것이다.
주변기기 버스 인터페이스 또는 디스플레이 인터페이스의 예는 USB(universal serial bus) 또는 HDMI(high definition multimedia interface) 또는 디스플레이포트(Displayport) 등을 포함할 수 있다. 저장 인터페이스의 예는 SATA(serial advanced technology attachment), PCI, IDE 인터페이스 등을 포함할 수 있다. 본 문서에 기재된 기술들은 모바일 폰, 랩탑, 스마트폰 또는 디지털 데이터 프로세싱 및/또는 비디오 디스플레이를 수행할 수 있는 다른 장치 등의 다양한 전자 장치에서 구현될 수 있다.
도 8은 본 개시의 기술을 활용하는 예시적인 비디오 코딩 시스템(100)을 도시하는 블록도이다.
도 8에 나타난 바와 같이, 비디오 코딩 시스템(100)은 소스 장치(110) 및 목적지 장치(120)를 포함할 수 있다. 소스 장치(110)는 비디오 인코딩 장치로 지칭될 수 있는 인코딩된 비디오 데이터를 생성한다. 목적지 장치(120)는 비디오 디코딩 장치로 지칭될 수 있는 소스 장치에 의해 생성된 인코딩된 비디오 데이터를 디코딩할 수 있다.
소스 장치(110)는 비디오 소스(112), 비디오 인코더(114), 및 입출력(I/O) 인터페이스(116)를 포함할 수 있다.
비디오 소스(112)는 비디오 캡처 장치와 같은 소스, 비디오 콘텐츠 제공자로부터의 비디오 데이터를 수신하는 인터페이스 및/혹은 비디오 데이터를 생성하는 컴퓨터 그래픽스 시스템 혹은 이러한 소스들의 조합을 포함할 수 있다. 비디오 데이터는 하나 이상의 픽처를 포함할 수 있다. 비디오 인코더(114)는 비트스트림을 생성하기 위해 비디오 소스(112)로부터 비디오 데이터를 인코딩한다. 비트스트림은 비디오 데이터의 코딩된 표현을 형성하는 비트 시퀀스를 포함할 수 있다. 코딩된 픽처는 픽처의 코딩된 표현이다. 연관 데이터는 시퀀스 파라미터 세트, 픽처 파라미터 세트, 및 다른 신택스 구조를 포함할 수 있다. I/O 인터페이스(116)는 변조기/복조기(모뎀) 및/혹은 송신기를 포함할 수 있다. 인코딩된 비디오 데이터는 네트워크 (130a)를 통해 I/O 인터페이스(116)를 이용하여 직접 목적지 장치(120)로 전송될 수 있다. 인코딩된 비디오 데이터는 목적지 장치(120)에 의한 접근을 위해 저장 매체/서버(130b)에 저장될 수 있다.
목적지 장치(120)는 I/O 인터페이스(126), 비디오 디코더(124), 및 디스플레이 장치(122)를 포함할 수 있다.
I/O 인터페이스(126)는 수신기 및/혹은 모뎀을 포함할 수 있다. I/O 인터페이스(126)는 소스 장치(110) 혹은 저장 매체/서버 (130b)로부터 인코딩된 비디오 데이터를 획득할 수 있다. 비디오 디코더(124)는 인코딩된 비디오 데이터를 디코딩할 수 있다. 디스플레이 장치(122)는 사용자에게 디코딩된 비디오 데이터를 디스플레이할 수 있다. 디스플레이 장치(122)는 목적지 장치(120)와 결합되거나 외부 디스플레이 장치와 인터페이스 하도록 구성된 목적지 장치(120)의 외부에 존재할 수 있다.
비디오 인코더(114) 및 비디오 디코더(124)는 비디오 압축 표준(예를 들어, 현재의 HEVC(High Efficiency Video Coding) 표준, VVC(Versatile Video Coding) 표준 혹은 다른 현재 및/혹은 이후의 표준)에 따라 동작할 수 있다.
도 9는 도 8에 도시된 시스템(100)의 비디오 인코더(114)일 수 있는 비디오 인코더(200)의 예를 도시하는 블록도이다.
비디오 인코더(200)는 본 개시의 일부 혹은 전체 기술을 수행하도록 구성될 수 있다. 도 9의 예시에서, 비디오 인코더(200)는 복수의 기능적 컴포넌트(component)를 포함한다. 본 개시에 설명된 기술들은 비디오 인코더(200)의 다양한 컴포넌트 간에 공유될 수 있다. 일부 실시예에서, 프로세서는 본 개시에 설명된 일부 혹은 전체 기술을 수행하도록 구성될 수 있다.
비디오 인코더의 기능적 컴포넌트(component)(200)는 파티션 유닛(201), 모드 선택 유닛(203)을 포함할 수 있는 예측 유닛(202), 움직임 추정 유닛(204), 움직임 보상 유닛(205) 및 인트라 예측 유닛(206), 잔차 생성 유닛(207), 변환 유닛(208), 양자화 유닛(209), 역 양자화 유닛(210), 역 변환 유닛(211), 복원 유닛(212), 버퍼(213) 및 엔트로피 인코딩 유닛(214)을 포함할 수 있다.
다른 예에서, 비디오 인코더(200)는 더 많은, 더 적은, 혹은 다른 기능적 컴포넌트를 포함할 수 있다. 일 예로서, 예측 유닛은 IBC(인트라 블록 복사, intra block copy) 유닛을 포함할 수 있다. IBC 유닛은 적어도 하나의 참조 픽처가 현재 비디오 블록이 위치한 픽처인 IBC 모드에서 예측을 수행할 수 있다.
또한, 예를 들어, 움직임 추정 유닛(204) 및 움직임 보상 유닛(205)과 같은 일부 컴포넌트에서 고도로 집적될 수 있으나, 도 9의 예시에서는 설명을 위해 개별적으로 표현되었다.
파티션 유닛(201)은 픽처를 하나 이상의 비디오 블록으로 분할할 수 있다. 비디오 인코더(200) 및 비디오 디코더(300)는 다양한 비디오 블록 크기를 지원할 수 있다.
모드 선택 유닛(203)은 인트라 혹은 인터 코딩 모드 중 하나를 선택할 수 있는데, 예를 들어, 오차(에러, error) 결과에 기초할 수 있으며, 인트라 혹은 인터 코딩된 블록을 잔차 블록을 생성하기 위해 잔차 생성 유닛(207)에 제공할 수 있고, 인코딩된 블록을 복원하여 참조 픽처로 사용할 수 있도록 복원 유닛(212)에 제공할 수 있다. 일부 실시예에서, 모드 선택 유닛(203)은 예측 시 인터 예측 신호 및 인트라 예측 신호에 기초하는 CIIP(combination of intra and inter prediction) 모드를 선택할 수 있다. 또한, 모드 선택 유닛(203)은 인터 예측 시 블록의 움직임 벡터 해상도 (예를 들어, 서브 픽셀 혹은 정수 픽셀 정밀도)를 선택할 수 있다.
현재 비디오 블록에 인터 예측을 수행하기 위해, 움직임 추정 유닛(204)은 버퍼(213)로부터 하나 이상의 참조 프레임들을 현재 비디오 블록과 비교함으로써 현재 비디오 블록에 대한 움직임 정보를 생성할 수도 있다. 움직임 보상 유닛(205)은 현재 비디오 블록과 연관된 픽처(예를 들어, 참조 픽처) 이외의 버퍼(213)로부터의 픽처의 디코딩된 샘플 및 움직임 정보에 기초하여 현재 비디오 블록에 대한 예측 비디오 블록(predicted video block)을 결정할 수 있다.
움직임 추정 유닛(204) 및 움직임 보상 유닛(205)은 예를 들어 현재 비디오 블록이 I 슬라이스, P 슬라이스 혹은 B 슬라이스에 있는지 여부에 따라 현재 비디오 블록에 대해 상이한 동작을 수행할 수도 있다.
일부 예에서, 움직임 추정 유닛(204)은 현재 비디오 블록에 대한 단일 방향 예측을 수행할 수 있고, 움직임 추정 유닛(204)은 현재 비디오 블록의 참조 비디오 블록에 대한 리스트 0(list0) 혹은 리스트 1(list 1)의 참조 픽처를 탐색할 수 있다. 그 이후 움직임 추정 유닛(204)은 현재 비디오 블록과 참조 비디오 블록 간의 공간적 변위를 지시하는 움직임 벡터와 참조 비디오 블록을 포함하는 리스트 0 혹은 리스트 1에서의 참조 픽처를 지시하는 참조 인덱스를 생성할 수 있다. 움직임 추정 유닛(204)은 참조 인덱스, 예측 방향 지시자, 움직임 벡터를 현재 비디오 블록의 움직임 정보로서 출력할 수 있다. 움직임 보상 유닛(205)은 현재 블록의 예측 비디오 블록을 현재 비디오 블록의 움직임 정보에 의해 지시되는 참조 비디오 블록에 기초하여 생성할 수 있다.
다른 예에서, 움직임 추정 유닛(204)은 현재 비디오 블록에 양 방향 예측을 수행할 수 있는데, 움직임 추정 유닛(204)은 현재 비디오 블록의 참조 비디오 블록에 대한 리스트 0(list0)에서 참조 픽처를 탐색할 수 있고, 현재 비디오 블록의 다른 참조 비디오 블록에 대한 리스트 1(list 1)에서 참조 픽처를 탐색할 수 있다. 이후 움직임 추정 유닛(204)은 참조 비디오 블록과 현재 비디오 블록 간의 공간적 변위를 지시하는 움직임 벡터와 참조 비디오 블록을 포함하는 리스트 1 및 리스트 0의 참조 픽처를 지시하는 참조 인덱스를 생성할 수 있다. 움직임 추정 유닛(204)은 현재 비디오 블록의 움직임 벡터와 참조 인덱스를 현재 비디오 블록의 움직임 정보로서 출력할 수 있다. 움직임 보상 유닛(205)은 현재 비디오 블록의 예측 비디오 블록을 현재 비디오 블록의 움직임 정보에 의해 지시되는 참조 비디오 블록에 기초하여 생성할 수 있다.
일부 예에서, 움직임 추정 유닛(204)은 디코더의 디코딩 프로세싱을 위한 움직임 정보의 전체 세트를 출력할 수 있다.
일부 예에서, 움직임 추정 유닛(204)은 현재 비디오에 대한 움직임 정보의 전체 세트를 출력하지는 않을 수 있다. 대신, 움직임 추정 유닛(204)은 다른 비디오 블록의 움직임 정보를 참조하여 현재 비디오 블록의 움직임 정보를 시그널링할 수 있다. 예를 들어, 움직임 추정 유닛(204)은 현재 비디오 블록의 움직임 정보가 이웃 비디오 블록의 움직임 정보와 충분히 유사하다고 결정할 수도 있다.
예를 들어, 움직임 추정 유닛(204)은 현재 비디오 블록과 연관된 신택스 구조에서 현재 비디오 블록이 다른 비디오 블록과 동일한 움직임 정보를 갖는다는 것을 비디오 디코더(300)에 표시하는 값을 지시할 수도 있다.
다른 예에서, 움직임 추정 유닛(204)는 현재 비디오 블록과 연관된 신택스 구조에서 다른 비디오 블록 및 움직임 벡터 차이(MVD, motion vector difference)를 식별할 수도 있다. 움직임 벡터 차이는 현재 비디오 블록의 움직임 벡터와 지시된 비디오 블록의 움직임 벡터 간의 차이를 지시한다. 비디오 디코더(300)는 현재 비디오 블록의 움직임 벡터를 결정하기 위해 지시된 비디오 블록의 움직임 벡터와 움직임 벡터 차이를 사용할 수 있다.
위에서 언급된 바와 같이, 비디오 인코더(200)는 움직임 벡터를 예측적으로 시그널링할 수 있다. 비디오 인코더(200)에 의해 구현될 수도 있는 예측적인 시그널링 기술 중 두 예시는 AMVP(advanced motion vector predication) 및 머지 모드 시그널링을 포함한다.
인트라 예측 유닛(206)은 현재 비디오 블록에 인트라 예측을 수행할 수 있다. 인트라 예측 유닛(206)이 현재 비디오 블록에 인트라 예측을 수행할 때, 인트라 예측 유닛(206)은 동일한 픽처에서의 다른 비디오 블록의 디코딩된 샘플에 기초하여 현재 비디오 블록에 대한 예측 데이터를 생성할 수도 있다. 현재 비디오 블록에 대한 예측 데이터는 예측 비디오 블록 및 다양한 신택스 요소를 포함할 수 있다.
잔차 생성 유닛(207)은 현재 비디오 블록으로부터 현재 비디오 블록의 예측 비디오 블록(들)을 감산(예를 들어, -(minus) 부호로 지시됨)함으로써 현재 비디오 블록의 잔차 데이터를 생성할 수 있다. 현재 비디오 블록의 잔차 데이터는 현재 비디오 블록에서의 샘플의 상이한 샘플 컴포넌트(component)에 대응되는 잔차 비디오 블록을 포함할 수 있다.
다른 예에서, 현재 비디오 블록에 대한 잔차 데이터가 존재하지 않을 수 있는데, 예를 들어, 스킵 모드에서, 잔차 생성 유닛(207)은 감산 동작을 수행하지 않을 수도 있다.
변환 프로세싱 유닛(208)은 현재 비디오 블록과 연관된 잔차 비디오 블록에 하나 이상의 변환을 적용함으로써 현재 비디오 블록에 대한 하나 이상의 트랜스폼 계수 비디오 블록을 생성할 수 있다.
변환 프로세싱 유닛(208)이 현재 비디오 블록과 연관된 변환 계수 비디오 블록을 생성한 이후, 양자화 유닛(209)은 현재 비디오 블록과 연관된 양자화 파라미터(QP)에 기초하여 현재 비디오 블록과 연관된 변환 계수 비디오 블록을 양자화할 수 있다.
역 양자화 유닛(210) 및 역 변환 유닛(211)은 트랜스폼 계수 비디오 블록으로부터 잔차 비디오 블록을 복원하기 위해 트랜스폼 계수 비디오 블록에 각각 역 양자화 및 역 변환을 적용할 수도 있다. 복원 유닛(212)은 버퍼(213)에 저장하기 위해 현재 블록과 연관된 복원 비디오 블록을 생성하기 위해 예측 유닛(202)에 의해 생성된 하나 이상의 예측 비디오 블록으로부터의 대응 샘플에 복원 잔차 비디오 블록을 추가할 수도 있다.
복원 유닛(212)이 비디오 블록을 복원한 이후, 루프 필터링 동작은 비디오 블록의 비디오 블로킹 아티팩트(blocking artifact)를 감소하기 위해 수행될 수 있다.
엔트로피 인코딩 유닛(214)는 비디오 인코더(200)의 다른 기능적 구성요소로부터 데이터를 수신할 수 있다. 엔트로피 인코딩 유닛(214)이 데이터를 수신할 때, 엔트로피 인코딩 유닛(214)은 엔트로피 인코딩된 데이터를 생성하고 엔트로피 인코딩된 데이터를 포함하는 비트스트림을 출력하기 위해 하나 이상의 엔트로피 인코딩 동작을 수행할 수 있다.
도 10은 도 8에 도시된 시스템(100)의 비디오 디코더(114)일 수 있는 예시적인 비디오 디코더(300)를 도시하는 블록도이다.
비디오 디코더(300)는 여기에 개시된 일부 혹은 모든 기술을 수행하도록 구성될 수 있다. 도 10의 예시에 있어서, 비디오 디코더(300)는 복수의 기능적 컴포넌트(component)를 포함한다. 본 개시에 설명된 기술들은 비디오 디코더(300)의 다양한 컴포넌트 간에 공유될 수도 있다. 일부 실시예에서, 프로세서는 본 개시에 설명된 일부 혹은 모든 기술을 수행하도록 구성될 수 있다.
도 10의 예시에서, 비디오 디코더(300)는 엔트로피 코딩 유닛(301), 움직임 보상 유닛(302), 인트라 예측 유닛(303), 역 변환(inverse transformation) 유닛(304), 역 양자화 유닛(305), 복원 유닛(306) 및 버퍼(307)를 포함한다. 비디오 디코더(300)는, 일부 예에서, 비디오 인코더(200) 측면 (예를 들어, 도 9)에서 설명된 인코딩 패스와 일반적으로 역순인 디코딩 패스를 수행할 수도 있다.
엔트로피 디코딩 유닛(301)은 인코딩된 비트스트림을 조회할 수 있다. 인코딩된 비트스트림은 엔트로피 코딩된 비디오 데이터(예를 들어, 비디오 데이터의 인코딩된 블록)를 포함할 수 있다. 엔트로피 디코딩 유닛(301)은 엔트로피 코딩된 비디오 데이터를 디코딩할 수 있고, 엔트로피 디코딩된 비디오 데이터로부터, 움직임 보상 유닛(302)은 움직임 벡터, 움직임 벡터 정밀도, 참조 픽처 리스트 인덱스, 및 다른 움직임 정보를 포함하는 움직임 정보를 결정할 수도 있다. 움직임 보상 유닛(302)은, 예를 들어, AMVP 및 머지 모드를 수행함으로써 이러한 정보를 결정할 수 있다.
움직임 보상 유닛(302)은 가능하게는, 보간 필터에 기초하여 보간을 수행함으로써 움직임 보상된 블록들을 생성할 수 있다. 서브픽셀 정밀도로 사용되는 보간 필터들에 대한 식별자는 신택스 요소에 포함될 수 있다.
움직임 보상 유닛(302)은 참조 블록의 서브 정수 픽셀에 대한 보간된 값을 계산하기 위해 비디오 블록의 인코딩 동안 비디오 인코더(200)에 의해 사용되는 바와 같은 보간 필터를 사용할 수 있다. 움직임 보상 유닛(302)은 수신된 신택스 정보에 따라 비디오 인코더(200)에 의해 사용되는 보간 필터를 결정할 수 있으며, 예측 블록을 생성하기 위해 보간 필터를 사용할 수 있다.
움직임 보상 유닛(302)은 인코딩된 비디오 시퀀스의 프레임(들) 및/혹은 슬라이스(들)에 사용되는 블록의 크기를 결정하기 위해 신택스 정보, 인코딩된 비디오 시퀀스의 픽처의 매크로블록 각각이 어떻게 분할되는지를 설명하는 파티션 정보, 어떻게 각 파티션이 인코딩되는지를 지시하는 모드, 인터 인코딩된 블록 각각에 대한 하나 이상의 참조 프레임(및 참조 프레임 리스트), 및 인코딩된 비디오 시퀀스를 디코딩하기 위한 다른 정보 중 일부를 이용할 수 있다.
인트라 예측 유닛(303)은 공간적으로 인접한 블록으로부터 예측 블록을 형성하기 위해 비트스트림으로 수신된 예시적인 인트라 예측 모드를 사용할 수 있다. 역 양자화 유닛(303)은 비트스트림으로 제공되고 엔트로피 디코딩 유닛(301)에 의해 디코딩되는 양자화된 비디오 블록 계수를 역 양자화(inverse quantize) (즉, dequantize)한다. 역 양자화 유닛(303)은 역 변환을 적용한다.
복원 유닛(306)은 디코딩된 블록을 형성하기 위해 움직임 보상 유닛(202) 혹은 인트라 예측 유닛(303)에 의해 생성된 해당 예측 블록과 잔차 블록을 합산할 수 있다. 필요한 경우, 디블록킹 필터는 블록성 아티팩트(blockiness artifact)를 제거하기 위해 디코딩된 블록을 필터링하는데 적용될 수 있다. 디코딩된 비디오 블록은 후속 움직임 보상을 위한 참조 블록을 제공하는 디코딩된 비디오를 생성하는 버퍼(307)에 저장된다.
개시된 기술의 일부 실시예는 비디오 프로세싱 도구 혹은 모드를 활성화하기 위한 결정 혹은 판단을 수행하는 것을 포함한다. 일 예로서, 비디오 프로세싱 도구 혹은 모드가 활성화되면, 인코더는 비디오의 블록의 프로세싱에서 도구 혹은 모드를 사용하거나 구현할 것이나, 반드시 도구 혹은 모드의 사용에 기초하여 결과 비트스트림을 필연적으로 변경하지는 않을 수 있다. 즉, 비디오의 블록으로부터 비디오의 비트스트림 표현으로의 변환은 프로세싱 도구 혹은 모드가 결정 혹은 판단에 기초하여 활성화될 때 이를 사용할 것이다. 다른 일 예로서, 비디오 프로세싱 도구 혹은 모드가 활성화되면, 디코더는 비트스트림이 비디오 프로세싱 도구 혹은 모드에 기초하여 변경되었음을 고려하여 비트스트림을 프로세싱할 것이다. 즉, 비디오의 비트스트림 표현으로부터의 비디오의 블록으로의 변환(conversion)은 결정 혹은 판단에 기초하여 활성화된 비디오 프로세싱 도구 혹은 모드를 이용하여 수행될 것이다.
개시된 기술의 일부 실시예는 비디오 프로세싱 도구 혹은 모드를 비활성화하는 결정 혹은 판단을 수행하는 것을 포함한다. 일 예로서, 비디오 프로세싱 도구 혹은 모드가 비활성화되면, 인코더는 비디오의 블록 변환에서 비디오의 비트스트림 표현에 도구 혹은 모드를 사용하지 않을 것이다. 다른 일 예로서, 비디오 프로세싱 도구 혹은 모드가 비활성화되면, 디코더는 비트스트림이 결정 혹은 판단에 기초하여 비활성화되는 비디오 프로세싱 도구 혹은 모드를 이용하여 변경되지 않았음을 고려하여 비트스트림을 프로세싱할 것이다.
본 문서에서, "비디오 프로세싱" 이라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축 혹은 비디오 압축 해제를 지칭할 수 있다. 예를 들어, 비디오 압축 알고리즘은 비디오의 픽셀 표현으로부터 대응 비트스트림 표현으로의 변환 동안 적용될 수 있으며, 반대의 경우에도 적용될 수 있다. 현재 비디오 블록의 비트스트림 표현은, 예를 들어, 신택스에 의해 정의된 바와 같이 비트스트림 내의 동일 위치에 배치되거나 다른 위치에 확산되는 비트에 대응될 수 있다. 예를 들어, 매크로블록은 변환되고 코딩된 오차(error) 잔차 값의 관점에서 인코딩될 수 있으며, 또한 헤더의 비트 및 비트스트림의 다른 필드를 사용하여 인코딩될 수 있다.
일부 실시예에서, 비디오 프로세싱 방법은 다중 컴포넌트 비디오 블록을 포함하는 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환을 위해 CC-ALF(cross-component adaptive loop filter)가 제2 컴포넌트의 제2 컴포넌트 비디오 블록의 복원된 샘플 값들을 이용하여 변환 동안 제1 컴포넌트의 제1 컴포넌트 비디오 블록의 복원된 샘플 값들을 보정하는 데 사용된다고 결정을 내리는 단계를 포함하되, 제1 컴포넌트는 Cb 및 Cr 색상 표현을 제외하고, 제2 컴포넌트는 Y(luminance) 컴포넌트를 제외하며, 결정에 기초하여 변환을 수행하는 단계를 포함한다. 다양한 실시예에서, 비트스트림 표현은 제1 컴포넌트를 식별하고, 비디오는 YCbCr 포맷을 이용하여 표현되며 제1 컴포넌트는 Y 컴포넌트이거나, 비디오는 RGB 포맷을 이용하여 표현되고, 제1 컴포넌트는 G 컴포넌트이다.
일부 실시예에서 선호하는 절(clause)에 대한 리스트가 다음에 제공된다.
절에 대한 제1(첫번째) 세트는 이전 섹션(예를 들어, 아이템 1)에서 논의된 기술의 예시적인 실시예를 보여준다.
1. 비디오 프로세싱 방법(예를 들어, 도 11의 방법 (700))에 있어서, 다중 컴포넌트 비디오 블록을 포함하는 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환을 위해 제2 컴포넌트의 제2 컴포넌트 비디오 블록의 복원된 샘플 값들을 이용하여 제1 컴포넌트의 제1 컴포넌트 비디오 블록의 복원된 샘플 값들을 보정하기 위해 변환 동안 CC-ALF(cross-component adaptive loop filter)가 사용된다고 결정(702)을 내리는 단계 및 결정에 기초하여 변환을 수행(704)하는 단계를 포함하는, 비디오 프로세싱 방법.
2. 1절의 방법에 있어서, 두 컴포넌트 중 하나는 제1 컴포넌트이다.
3. 1절의 방법에 있어서, 두 컴포넌트는 제1 컴포넌트와 다르다.
4 1절의 방법에 있어서, CC-ALF는 세 색상 컴포넌트의 비디오 블록의 복원된 샘플 값들에 기초하여 사용된다.
다음 절은 이전 섹션(예를 들어, 아이템 4)에서 논의된 기술들의 예시적인 실시예들을 보여준다.
5. 비디오 프로세싱 방법에 있어서, 다중 컴포넌트 비디오 블록을 포함하는 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환을 위해 비디오 영역의 제1 부분의 변환을 위한 제1 CC-ALF와 비디오 영역의 제2 부분의 변환을 위한 제2 CC-ALF를 이용하도록 결정을 내리는 단계 및 결정에 기초하여 변환을 수행하는 단계를 포함하되, 제1 CC-ALF는 비디오 영역의 제1 부분의 제2 컴포넌트의 복원된 샘플 값들을 이용하여 비디오 영역의 제1 부분의 제1 컴포넌트의 복원된 샘플 값들을 보정하는데 사용되고, 제2 CC-ALF는 비디오 영역의 제2 부분의 제4 컴포넌트의 복원된 샘플 값들을 이용하여 비디오 영역의 제2 부분의 제3 컴포넌트의 복원된 샘플 값들을 보정하는데 사용되는, 비디오 프로세싱 방법.
6. 5 절의 방법에 있어서, 비트스트림 표현은 다중 CC-ALF 및/혹은 제1 CC-ALF 및/혹은 제2 CC-ALF의 사용에 대한 표시를 포함한다.
7. 6 절의 방법에 있어서, 표시는 코딩 트리 블록 혹은 코딩 유닛 혹은 예측 유닛 혹은 예측 블록 혹은 코딩 트리 블록 행 레벨에서 포함된다.
8. 5절 내지 7절 중 한 절의 방법에 있어서, 변환은 제1 컴포넌트 혹은 제3 컴포넌트의 샘플들을 다중 세트로 분류하는 것을 포함하고, 분류에 기초하여 제1 CC-ALF 및/혹은 제2 CC-ALF의 특징을 결정하는 것을 포함한다.
9. 5절 내지 7절 중 한 절의 방법에 있어서, 제1 및 제3 컴포넌트는 동일하고, 제2 및 제4 컴포넌트가 동일하다.
다음 절은 이전 섹션(예를 들어, 아이템 7)에서 논의된 기술들의 예시적인 실시예들을 보여준다.
10. 비디오 프로세싱 방법에 있어서, CC-ALF가 다중 컴포넌트를 포함하는 비디오의 비디오 블록과 비디오의 비트스트림 표현 간의 변환을 위해 MxN 서브 블록 레벨에서 사용된다고 결정하는 단계 및
한 MxN 서브 블록에 대한 적어도 제2 컴포넌트의 샘플들로부터 제1 오프셋을 유도하는 단계 및 결정에 기초하여 변환을 수행하는 단계를 포함하되, M 및 N은 양의 정수이고, CC-ALF는 제1 오프셋에 적어도 기초하여 비디오의 제1 컴포넌트에 대한 MxN 서브 블록 샘플들을 보정하는데 사용되는, 비디오 프로세싱 방법.
11. 10 절의 방법에 있어서, CC-ALF는 MxN 서브 블록에서의 모든 샘플들에 대한 제1 오프셋 값을 사용한다.
12. 10 절의 방법에 있어서, CC-ALF는 최종 오프셋이 제1 오프셋에서 유도될 때 MxN 서브 블록에서의 샘플들에 대한 다중 최종 오프셋 값을 이용한다.
13. 10 절 내지 12절 중 한 절의 방법에 있어서, M 및 N은 비디오의 색상 포맷에 종속적이다.
14. 10절 내지 13절 중 한 절의 방법에 있어서, 비디오의 다른 비디오 블록의 변환은 변환을 위해 다른 크기의 서브 블록들을 이용한다.
15. 10절 내지 13절 중 한 절의 방법에 있어서, MxN = 2x2 혹은 MxN= 2x1 혹은 MxN=1x2이다.
다음 절은 이전 섹션(예를 들어, 아이템 10)에서 논의된 기술들의 예시적인 실시예들을 보여준다.
16. 비디오 프로세싱 방법에 있어서, 배제 규칙은 비디오의 현재 비디오 블록과 비디오의 비트스트림 표현에 적용 가능하다고 결정하는 단계, 배제 규칙은 현재 비디오 블록에 코딩 도구 및 크로스 컴포넌트 적응적 루프 필터 코딩 도구가 함께 사용되는 것을 불허하고; 및 결정에 기초하여 변환을 수행하는 단계를 포함하는, 비디오 프로세싱 방법.
17. 16 절의 방법에 있어서, 코딩 도구는 크로마 컴포넌트에 대한 샘플 적응적 오프셋 코딩 도구를 포함한다.
18. 16 절의 방법에 있어서, 코딩 도구는 크로마 스케일링 코딩 도구와 매핑되는 루마 잔차 스케일링 도구를 포함한다.
19. 16 절의 방법에 있어서, 코딩 도구는 크로마 샘플에 대한 적응적 루프 필터 혹은 디블록킹 프로세스를 포함한다.
20. 16 내지 19절 중 한 절의 방법에 있어서, 배제 규칙은 비트스트림 표현의 필드로 시그널링된다.
다음 절은 이전 섹션(예를 들어, 아이템 15)에서 논의된 기술들의 예시적인 실시예들을 보여준다.
21. 비디오 프로세싱 방법에 있어서, CC-ALF 및 하나 이상의 루프 필터가 비디오 블록과 비디오의 비트스트림 표현 간의 변환 동안 비디오의 비디오 블록의 복원된 샘플들에 적용되는 순서를 결정하는 단계 및 순서에 기초하여 변환을 수행하는 단계를 포함하되, 순서는 적응적 루프 필터 도구 이전, 샘플 적응적 오프셋 도구 이후에 CC-ALF를 이용하는 것을 배제하는, 비디오 프로세싱 방법.
22. 21 절의 방법에 있어서, 순서는 다른 임의의 루프 필터를 적용하기에 앞서 CC-ALF를 복원된 샘플들에 적용하도록 지정한다.
23. 21 절의 방법에 있어서, 순서는 변환 동안 비디오의 후속 비디오 블록들의 예측에 사용되기에 앞서 비디오 블록의 복원된 샘플들에 CC-ALF를 적용하도록 지정한다.
24. 21 내지 23 절 중 어느 한 절의 방법에 있어서, 순서는 샘플 적응적 오프셋 루프 필터에 앞서 CC-ALF를 사용하도록 지정한다.
25. 1 내지 24 절 중 어느 한 절의 방법에 있어서, 변환은 비디오를 코딩된 표현으로 인코딩하는 것을 포함한다.
26. 1 내지 25 절 중 어느 한 절의 방법에 있어서, 변환은 비디오의 픽셀 값들을 생성하기 위해 코딩된 표현을 디코딩하는 것을 포함한다.
27. 1 내지 26 절 중 하나 이상의 절에 표현된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코딩 장치.
28. 1 내지 26 절 중 하나 이상의 절에 표현된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코딩 장치.
29. 프로세서에 의해 실행될 때, 프로세서가 1 내지 26 절 중 어느 한 절에 표현된 방법을 구현하게 하는 컴퓨터 코드가 저장된 컴퓨터 프로그램 제품.
30. 본 문서에 설명된 방법, 장치 혹은 시스템.
절에 대한 제2 (두번째) 세트는 이전 섹션(예를 들어, 아이템 1 내지 7)에 개시된 기술의 특정 기능 및 양상을 설명한다.
1. 비디오 프로세싱 방법(예를 들어, 도 12a의 방법(1210))에 있어서, 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환을 위해 루마 샘플 값들을 이용하여 크로마 샘플 값들을 개선하기 위한 CC-ALF 도구를 사용하기로 결정(1212)을 내리는 단계 및 결정에 기초하여 변환을 수행(1214)하는 단계를 포함하되, 개선은 루마 샘플 값들을 선택적으로 필터링하여 결정되는 제1 개선 값의 추가 개선인 최종 개선을 이용하여 크로마 샘플 값들을 보정하는 것을 포함하는, 비디오 프로세싱 방법.
2. 1 절의 방법에 있어서, 제1 개선의 추가 개선은 제1 개선 값을 주어진 범위로 클리핑하는 것을 포함한다.
3. 2 절의 방법에 있어서, 비트스트림 표현은 제1 개선을 클리핑할지 여부 및/혹은 어떻게 클리핑할지를 지시하는 정보를 포함한다.
4. 비디오 프로세싱 방법(예를 들어, 도 12b의 방법(1220))에 있어서, 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환을 위해 제2 컴포넌트의 제2 비디오 블록의 샘플 값들을 이용하여 제1 컴포넌트의 제1 비디오 블록의 샘플 값들을 보정하기 위한 CC-ALF 도구를 이용하기로 결정(1222)을 내리는 단계 및 결정에 기초하여 변환을 수행(1224)하는 단계를 포함하되 CC-ALF 도구는 제1 컴포넌트가 1) Cr 혹은 Cb 컴포넌트고 2) 제2 컴포넌트가 Y 컴포넌트임을 모두 만족하는 경우를 제외하고 사용되는, 비디오 프로세싱 방법.
5. 4 절의 방법에 있어서, 비트스트림 표현은 제1 컴포넌트를 식별한다.
6. 4 절의 방법에 있어서, 제1 컴포넌트 및 제2 컴포넌트 중 적어도 하나는 YCbCr 포맷에서 표현되는 제1 비디오 블록의 Y 컴포넌트 혹은 RGB 포맷에서 표현되는 제1 비디오 블록의 G 컴포넌트이다.
7. 4 절의 방법에 있어서, 제1 컴포넌트 및 제2 컴포넌트 중 적어도 하나는 YCbCr 포맷에서 표현되는 제1 비디오 블록의 Cb 컴포넌트 혹은 RGB 포맷에서 표현되는 제1 비디오 블록의 B 컴포넌트이다.
8. 4 절의 방법에 있어서, 제1 컴포넌트 및 제2 컴포넌트 중 적어도 하나는 YCbCr 포맷에서 표현되는 제1 비디오 블록의 Cr 컴포넌트 혹은 RGB 포맷에서 표현되는 제1 비디오 블록의 R 컴포넌트이다.
9. 4 절의 방법에 있어서, CC-ALF 도구는 제3 컴포넌트의 제3 비디오 블록의 샘플 값들을 더 이용하여 제1 비디오 블록의 샘플 값들을 개선하는데 사용되고, 제2 컴포넌트 및 제3 컴포넌트는 제1 컴포넌트와 다르고, 제2 컴포넌트 및 제3 컴포넌트의 샘플들은 제1 컴포넌트의 샘플 값들을 보정할 때 필터링된다.
10. 9 절의 방법에 있어서, 제1 컴포넌트는 YCbCr 포맷에서 표현되는 제1 비디오 블록의 Cb이고 제2 컴포넌트 및 제3 컴포넌트는 각각 Y 컴포넌트 및 Cr 컴포넌트이다.
11. 9 절의 방법에 있어서, 제1 컴포넌트는 YCbCr 포맷에서 표현되는 제1 비디오 블록의 Cr이고 제2 컴포넌트 및 제3 컴포넌트는 각각 Y 컴포넌트 및 Cb 컴포넌트이다.
12. 9 절의 방법에 있어서, 제1 컴포넌트는 YCbCr 포맷에서 표현되는 제1 비디오 블록의 Y이고 제2 컴포넌트 및 제3 컴포넌트는 각각 Cb 컴포넌트 및 Cr 컴포넌트이다.
13. 9 절의 방법에 있어서, 제1 컴포넌트는 RGB 포맷에서 표현되는 제1 비디오 블록의 G이고 제2 컴포넌트 및 제3 컴포넌트는 각각 R 컴포넌트 및 B 컴포넌트이다.
14. 9 절의 방법에 있어서, 제1 컴포넌트는 RGB 포맷에서 표현되는 제1 비디오 블록의 B이고 제2 컴포넌트 및 제3 컴포넌트는 각각 R 컴포넌트 및 G 컴포넌트이다.
15. 9 절의 방법에 있어서, 제1 컴포넌트는 RGB 포맷에서 표현되는 제1 비디오 블록의 R이고 제2 컴포넌트 및 제3 컴포넌트는 각각 G 컴포넌트 및 B 컴포넌트이다.
16. 4 절의 방법에 있어서, CC-ALF 도구는 제3 컴포넌트의 제3 비디오 블록의 샘플 값들을 더 이용하여 제1 비디오 블록의 샘플 값들을 개선하는데 사용되고, 제2 컴포넌트 및 제3 컴포넌트 중 하나는 제1 컴포넌트와 동일하고, 제2 컴포넌트 및 제3 컴포넌트로부터의 샘플들은 제1 컴포넌트의 샘플 값들을 보정할 때 필터링된다.
17. 16 절의 방법에 있어서, 제1 컴포넌트는 YCbCr 포맷에서 표현되는 제1 비디오 블록의 Cb이고 제2 컴포넌트 및 제3 컴포넌트는 각각 Cb 컴포넌트 및 Y 컴포넌트이다.
18. 16 절의 방법에 있어서, 제1 컴포넌트는 YCbCr 포맷에서 표현되는 제1 비디오 블록의 Cb이고 제2 컴포넌트 및 제3 컴포넌트는 각각 Cb 컴포넌트 및 Cr 컴포넌트이다.
19. 16 절의 방법에 있어서, 제1 컴포넌트는 YCbCr 포맷에서 표현되는 제1 비디오 블록의 Cr이고 제2 컴포넌트 및 제3 컴포넌트는 각각 Cr 컴포넌트 및 Y 컴포넌트이다.
20. 16 절의 방법에 있어서, 제1 컴포넌트는 YCbCr 포맷에서 표현되는 제1 비디오 블록의 Cr이고 제2 컴포넌트 및 제3 컴포넌트는 각각 Cr 컴포넌트 및 Cb 컴포넌트이다.
21. 16 절의 방법에 있어서, 제1 컴포넌트는 YCbCr 포맷에서 표현되는 제1 비디오 블록의 Y이고 제2 컴포넌트 및 제3 컴포넌트는 각각 Y 컴포넌트 및 Cb 컴포넌트이다.
22. 16 절의 방법에 있어서, 제1 컴포넌트는 YCbCr 포맷에서 표현되는 제1 비디오 블록의 Y이고 제2 컴포넌트 및 제3 컴포넌트는 각각 Y 컴포넌트 및 Cr 컴포넌트이다.
23. 16 절의 방법에 있어서, 제1 컴포넌트는 RGB 포맷에서 표현되는 제1 비디오 블록의 G이고 제2 컴포넌트 및 제3 컴포넌트는 각각 G 컴포넌트 및 R 컴포넌트이다.
24. 16 절의 방법에 있어서, 제1 컴포넌트는 RGB 포맷에서 표현되는 제1 비디오 블록의 G이고 제2 컴포넌트 및 제3 컴포넌트는 각각 G 컴포넌트 및 B 컴포넌트이다.
25. 16 절의 방법에 있어서, 제1 컴포넌트는 RGB 포맷에서 표현되는 제1 비디오 블록의 B이고 제2 컴포넌트 및 제3 컴포넌트는 각각 B 컴포넌트 및 R 컴포넌트이다.
26. 16 절의 방법에 있어서, 제1 컴포넌트는 RGB 포맷에서 표현되는 제1 비디오 블록의 B이고 제2 컴포넌트 및 제3 컴포넌트는 각각 B 컴포넌트 및 G 컴포넌트이다.
27. 16 절의 방법에 있어서, 제1 컴포넌트는 RGB 포맷에서 표현되는 제1 비디오 블록의 R이고 제2 컴포넌트 및 제3 컴포넌트는 각각 R 컴포넌트 및 G 컴포넌트이다.
28. 16 절의 방법에 있어서, 제1 컴포넌트는 RGB 포맷에서 표현되는 제1 비디오 블록의 R이고 제2 컴포넌트 및 제3 컴포넌트는 각각 R 컴포넌트 및 B 컴포넌트이다.
29. 4 절의 방법에 있어서, CC-ALF 도구는 제3 컴포넌트의 제3 비디오 블록의 샘플 값들을 더 이용하되, 제1 내지 제3 컴포넌트는 서로 다르고, 제1 비디오 블록의 샘플 값들은 필터링된 제1 내지 제3 비디오 블록의 샘플 값들에 기초하여 개선된다.
30. 29 절의 방법에 있어서, 제1 컴포넌트는 YCbCr 포맷을 이용하여 표현된 제1 컴포넌트 비디오 블록의 Cb, Cr 혹은 Y 이다.
31. 29 절의 방법에 있어서, 제1 컴포넌트는 RGB 포맷을 이용하여 표현된 제1 컴포넌트 비디오 블록의 G, R 혹은 B 이다.
32. 29 절의 방법에 있어서, 제1 내지 제3 컴포넌트는 YCbCr 포맷에서의 Y, Cb, 및 Cr 컴포넌트이다.
33. 29 절의 방법에 있어서, 제1 내지 제3 컴포넌트는 RGB 포맷에서의 R, G, 및 B 컴포넌트이다.
34. 29 절의 방법에 있어서, 비트스트림 표현은 i) 제1 내지 제3 컴포넌트의 표시 및/혹은 ii)오프셋 유도를 위해 파일링되는(filed) 컴포넌트의 수 중 적어도 하나를 포함한다.
35. 비디오 프로세싱 방법에 있어서, 비디오의 비디오 유닛 및 비디오의 비트스트림 표현 간의 변환을 위해 규칙에 따라 제2 컴포넌트의 샘플 값들을 이용하여 제1 컴포넌트의 샘플 값들을 보정하기 위한 CC-ALF(cross-component adaptive loop filtering) 도구를 사용하도록 결정을 내리는 단계 및 결정에 기초하여 변환을 수행하는 단계를 포함하되, 규칙은 비트스트림 표현에서 제1 ALF APS(adaptation parameter set) 및 제2 ALF APS를 포함하는 둘 이상의 ALF APS를 사용하도록 지정하는, 비디오 프로세싱 방법.
36. 35 절의 방법에 있어서, 제1 APS 및 제2 APS는 동일하다.
37. 35 절의 방법에 있어서, 제1 APS 및 제2 APS는 서로 다르다.
38. 35 절의 방법에 있어서, 비디오 유닛은 비디오의 슬라이스 혹은 픽처에 대응된다.
39. 35 절의 방법에 있어서, 규칙은 둘 이상의 ALF APS가 비디오 유닛의 제1 샘플에 적용되는 제1 ALF APS 및 비디오 유닛의 제2 샘플에 적용되는 제2 ALF APS를 포함하도록 지정한다.
40. 35 절의 방법에 있어서, 비디오 유닛에 의해 참조되는 둘 이상의 ALF APS의 수는 비트스트림 표현에 포함된다.
41. 35 절의 방법에 있어서, 비디오 유닛에 의해 참조되는 둘 이상의 ALF APS의 인덱스는 비트스트림 표현에 포함된다.
42. 35 절의 방법에 있어서, 루마 ALF 필터가 참조하는 둘 이상의 ALF APS의 동일 세트, 서브 세트(subset) 혹은 수퍼 세트(superset)는 CC-ALF 도구에 의해 활용된다.
43. 42 절의 방법에 있어서, CC-ALF 필터를 유도하기 위해 사용되는 둘 이상의 ALF APS는 비트스트림 표현에 포함되지 않는다.
44. 42 절의 방법에 있어서, CC-ALF 필터 및 루마 ALF 필터를 유도하는데 사용되는 ALF APS 들의 차이는 비트스트림 표현에 포함된다.
45. 비디오 프로세싱 방법에 있어서, 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환을 위해 규칙에 따라 제2 컴포넌트의 샘플 값들을 이용하여 제1 컴포넌트의 샘플 값들을 보정하기 위한 CC-ALF(cross-component adaptive loop filtering) 도구를 사용하도록 결정을 내리는 단계 및 결정에 기초하여 변환을 수행하는 단계를 포함하되, 규칙은 비디오 영역의 제1 샘플에 적용되는 제1 CC-ALF 필터 및 비디오 영역의 제2 샘플에 적용되는 제2 CC-ALF 필터를 포함하는 둘 이상의 CC-ALF 필터를 사용하도록 지정하는, 비디오 프로세싱 방법.
46. 45 절의 방법에 있어서, 비트스트림 표현은 비디오 영역의 표시를 포함한다.
47. 45 절의 방법에 있어서, 비트스트림 표현은 비디오 영역보다 작거나 큰 비디오 지역의 표시를 포함한다.
48. 47 절의 방법에 있어서, 비디오 영역은 코딩 트리 블록에 대응되고, 비디오 지역은 슬라이스 혹은 코딩 유닛이다.
49. 45 내지 48 절 중 어느 한 절의 방법에 있어서, 비트스트림 표현은 한 ALF APS에서 선택된 둘 이상의 CC-ALF 필터에 대한 인덱스를 포함하는 표시를 포함한다.
50. 45 내지 48 절 중 어느 한 절의 방법에 있어서, 비트스트림 표현은 하나 이상의 ALF APS 및 하나 이상의 ALF APS의 인덱스로부터 선택된 둘 이상의 CC-ALF 필터에 대한 인덱스를 포함하는 표시를 포함한다.
51. 45 내지 48 절 중 어느 한 절의 방법에 있어서, 둘 이상의 CC-ALF 필터 중 적어도 하나는 기 정의된 고정된 CC-ALF 필터로부터 선택되거나 비디오 영역으로부터 상속(inherited)되고, 비트스트림 표현은 APS에 포함되지 않는 선택된 고정된 CC-ALF 필터에 대한 인덱스를 포함하는 표시를 포함한다.
52. 45 절의 방법에 있어서, 변환은 하나 이상의 크로마 컴포넌트의 크로마 샘플들을 다중 세트로 분류하고 분류에 기초하여 제1 CC-ALF 필터 및/혹은 제2 CC-ALF 필터의 특징을 결정하기 위한 하나 이상의 프로세스를 포함한다.
53. 52 절의 방법에 있어서, 두 크로마 컴포넌트의 크로마 샘플들은 독립적으로 분류를 유도한다.
54. 52 절의 방법에 있어서, 두 크로마 컴포넌트의 크로마 샘플들은 공동으로 분류를 유도한다.
55. 52 절의 방법에 있어서, 크로마 컴포넌트의 크로마 샘플들을 분류하기 위한 하나 이상의 프로세스는 대응 루마 색상 컴포넌트의 정보에 종속적이다.
56. 52 절의 방법에 있어서, 하나 이상의 크로마 컴포넌트의 크로마 샘플들을 분류하기 위한 하나 이상의 프로세스는 둘 이상의 크로마 컴포넌트에 기초하는 공동 결정에 종속적이다.
57. 52 절의 방법에 있어서, 크로마 샘플들은 루마 ALF에서 대응 루마 샘플들의 분류에 기초하여 다중 세트로 분류된다.
58. 52 절의 방법에 있어서, 분류 인덱스에 따라 제1 CC-ALF 필터 및/혹은 제2 CC-ALF 필터에 대한 표시가 시그널링된다.
59. 비디오 프로세싱 방법(예를 들어, 도 12c에 도시된 방법(1230))에 있어서, 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환을 위해 비디오 영역의 루마 샘플들에 기초하여 비디오 영역의 제1 색상 컴포넌트에 대한 제1 오프셋을 유도(1232)하는 단계, 제1 오프셋에 기초하여 비디오 영역의 제2 색상 컴포넌트에 대한 제2 오프셋을 유도(1234)하는 단계 및 비디오 영역의 루마 샘플들에 기초하여 제1 색상 컴포넌트 및 제2 색상 컴포넌트를 보정하기 위한 CC-ALF 도구를 적용함으로써 변환을 수행(1236)하는 단계를 포함하는, 비디오 프로세싱 방법.
60. 59 절의 방법에 있어서, 제1 오프셋 및 제2 오프셋은 서로 동일하다.
61. 59 절의 방법에 있어서,제1 오프셋 및 제2 오프셋의 합은 0이다.
62. 59 절의 방법에 있어서, 제2 오프셋은 제1 오프셋의 선형 함수를 이용하여 유도된다.
63. 59 절의 방법에 있어서, 제2 오프셋은 제1 오프셋의 클리핑 동작을 이용하여 유도된다.
64. 59 절의 방법에 있어서, 제2 오프셋은 공동(joint) Cb 및 Cr 모드를 지시하는 슬라이스 레벨 플래그 및 제1 오프셋에 기초하여 유도된다.
65. 59 절의 방법에 있어서, CC-ALF 필터의 세트는 제1 색상 컴포넌트 및 제2 색상 컴포넌트에 대해 사용된다.
66. 59 절의 방법에 있어서, 제1 오프셋 및 제2 오프셋 중 적어도 하나의 보정은 시그널링되거나 유도된다.
67. 비디오 프로세싱 방법(예를 들어, 도 12d의 방법(1240))에 있어서, 다중 컴포넌트를 포함하는 비디오의 비디오 블록과 비디오의 비트스트림 표현 간의 변환을 위해 CC-ALF가 MxN 서브 블록 레벨에서 사용된다고 결정(1242)하는 단계, M 및 N은 양의 정수이고, M 및 N 중 적어도 하나는 1보다 크고; 및 결정에 기초하여 변환을 수행(1244)하는 단계를 포함하되, CC-ALF 도구는 비디오의 제2 컴포넌트에 기초하여 비디오의 제1 컴포넌트에 대해 MxN 서브블록 샘플들을 보정하는데 사용되는, 비디오 프로세싱 방법.
68. 67 절의 방법에 있어서, 한 MxN 서브블록에 대한 적어도 제2 컴포넌트의 샘플들로부터 제1 오프셋을 유도하는 단계를 더 포함하되, CC-ALF 도구는 제1 오프셋에 기초하여 MxN 서브블록 샘플들을 보정하는데 사용된다.
69. 68 절의 방법에 있어서, CC-ALF 도구는 MxN 서브블록의 모든 샘플들에 대해 제1 오프셋을 이용한다.
70. 68 절의 방법에 있어서, 최종 오프셋이 제1 오프셋으로부터 유도될 때 CC-ALF 도구는 MxN 서브블록의 샘플들에 대해 최종 오프셋을 이용한다.
71. 67 절의 방법에 있어서, M 및 N은 비디오의 색상 포맷에 종속적이다.
72. 67 절의 방법에 있어서, MxN = 2x2 혹은 MxN = 2x1 혹은 MxN = 1x2이다.
73. 67 절의 방법에 있어서, 비디오의 다른 비디오 블록의 변환은 변환을 위해 다른 크기의 서브블록들을 이용한다.
74. 67 절의 방법에 있어서, M 및 N은 제1 컴포넌트에 의해 표현되는 색상에 종속적이다.
75. 67 절의 방법에 있어서, CC-ALF 도구 지원 영역은 M 및 N의 값에 종속적이다.
76. 67 절의 방법에 있어서, M 및 N의 값 및/혹은 CC-ALF 도구의 입도(granularity)는 비디오의 비디오 유닛에서 시그널링된다.
77. 1 내지 76 절 중 어느 한 절의 방법에 있어서, 변환은 비디오를 비트스트림 표현으로 인코딩하는 것을 포함한다.
78. 1 내지 76 절 중 어느 한 절의 방법에 있어서, 변환은 비디오를 생성하기 위해 비트스트림 표현을 디코딩하는 것을 포함한다.
79. 1 내지 78 절 중 하나 이상의 절에 표현된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 프로세싱 장치.
80. 실행 시, 프로세서가 1 내지 78 절 중 하나 이상의 절에 표현된 방법을 구현하게 하는 프로그램 코드가 저장된 컴퓨터 판독 가능한 매체.
81. 상기에서 설명된 방법 중 어느 하나에 따라 생성된 코딩된 표현 혹은 비트스트림 표현을 저장하는 컴퓨터 판독 가능한 매체.
절에 대한 제3 (세번째) 세트는 이전 섹션(예를 들어, 아이템 8)에 개시된 기술의 특정 기능 및 양상을 설명한다.
1. 비디오 프로세싱 방법(예를 들어, 도 13의 방법(1310))에 있어서, 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환을 위해 루마 샘플 차이의 필터링에 기초하여 CC-ALF 프로세스를 이용하여 비디오 영역의 크로마 샘플들을 보정하기로 결정하는 단계 및 결정에 기초하여 변환을 수행하는 단계를 포함하는, 비디오 프로세싱 방법.
2. 1 절의 방법에 있어서, 루마 샘플 차이는 필터 지원 영역의 루마 샘플의 값과 비디오 영역의 크로마 샘플들의 대응 루마 샘플의 값 간의 차이에 대응된다.
3. 2 절의 방법에 있어서, 대응 루마 샘플은 4:4:4 포맷의 비디오 영역에 대해 (x, y)에 위치하고, (x, y) 는 크로마 샘플의 좌표를 지시한다.
4. 2 절의 방법에 있어서, 대응 루마 샘플은 비 4:4:4 포맷의 비디오 영역에 대해 (2x, 2y)에 위치하고, (x, y) 는 크로마 샘플의 좌표를 지시한다.
5. 2 절의 방법에 있어서, 대응 루마 샘플은 4:2:0 포맷의 비디오 영역에 대해 (2x, 2y) 및 (2x, 2y+1)에 위치한 두 샘플들의 함수로 유도되고, (x, y) 는 크로마 샘플의 좌표를 지시한다.
6. 1 절의 방법에 있어서, 루마 샘플 차이는 사용되기 전에 클리핑된다.
7. 6 절의 방법에 있어서, 비트스트림 표현은 루마 샘플 차이를 클리핑할지 여부 및/혹은 어떻게 클리핑할지에 대한 정보를 포함한다.
8. 6 절의 방법에 있어서, 비트스트림 표현은 루마 샘플 차이를 클리핑하기 위한 클리핑 파라미터를 포함한다.
9. 6 절의 방법에 있어서, 루마 ALF 프로세스에서의 클리핑 파라미터의 시그널링 방법은 CC-ALF 프로세스에서의 클리핑 파라미터를 시그널링하기 위해 활용된다.
10. 1 절의 방법에 있어서, 루마 ALF 프로세스에서 사용되는 클리핑 파라미터는 CC-ALF 프로세스에서 사용된다.
11. 1 내지 10 절 중 어느 한 절의 방법에 있어서, 변환은 비디오를 비트스트림 표현으로 인코딩하는 것을 포함한다.
12. 1 내지 10 절 중 어느 한 절의 방법에 있어서, 변환은 비디오를 생성하기 위해 비트스트림 표현을 디코딩하는 것을 포함한다.
13. 1 내지 12 절 중 하나 이상의 절에 표현된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 프로세싱 장치.
14. 실행 시, 프로세서가 1 내지 12 절 중 하나 이상의 절에 표현된 방법을 구현하게 하는 프로그램 코드를 저장하는 컴퓨터 판독 가능한 매체.
15. 상기에서 설명된 방법 중 어느 하나에 따라 생성된 코딩된 표현 혹은 비트스트림 표현을 저장하는 컴퓨터 판독 가능한 매체.
절에 대한 제4 (네번째) 세트는 이전 섹션(예를 들어, 아이템 9 내지 20)에 개시된 기술의 특정 기능 및 양상을 설명한다.
1. 비디오 프로세싱 방법(예를 들어, 도 14a의 방법(1410))에 있어서, 규칙에 따라 비디오의 크로마 컴포넌트의 부분과 비디오의 비트스트림 표현 간의 변환을 수행(1412)하는 단계를 포함하되, 규칙은 CC-ALF 도구가 비디오의 부분의 변환에 대해 사용 가능한지 여부는 루마 컴포넌트의 대응 부분에 대해 ALF 도구의 사용 혹은 사용 가능성이 지시되는지 여부에 종속적이라고 지정하는, 비디오 프로세싱 방법.
2. 1 절의 방법에 있어서, 크로마 컴포넌트의 부분은 비디오 영역 혹은 비디오 유닛에 대응된다.
3. 2 절의 방법에 있어서, 비디오 영역은 코딩 트리 블록에 대응된다.
4. 2 절의 방법에 있어서, 비디오 유닛은 비디오의 슬라이스 혹은 픽처 혹은 시퀀스에 대응된다.
5. 1 절의 방법에 있어서, 규칙은 ALF 파라미터가 루마 컴포넌트의 대응 부분에 대해 시그널링되지 않는 경우 CC-ALF 도구가 사용가능하지 않다고 지정한다.
6. 1 절의 방법에 있어서, CC-ALF 도구에 연관된 정보의 시그널링은 루마 컴포넌트의 대응 부분에 대한 ALF 도구의 사용에 기초한다.
7. 1 절의 방법에 있어서, 루마 컴포넌트의 대응 부분에 대한 ALF 도구가 비활성화되는 경우 비트스트림 표현은 CC-ALF 도구에 연관된 정보를 생략한다.
8. 6 절의 방법에 있어서 슬라이스 레벨에서 CC-ALF 도구에 연관된 정보의 시그널링은 슬라이스 레벨에서의 루마 컴포넌트의 대응 부분에 대한 ALF 도구의 사용에 종속적이다.
9. 6 절의 방법에 있어서, CTB(coding tree block, 코딩 트리 블록) 레벨에서 CC-ALF 도구에 연관된 정보의 시그널링은 CTB 레벨에서의 루마 컴포넌트의 대응 부분에 대한 ALF 도구의 사용에 종속적이다.
10. 6 절의 방법에 있어서, CC-ALF 도구에 연관된 정보는 i) slice_cross_component_alf_cb_enabled_flag, ii) slice_cross_component_alf_cr_enabled_flag, iii) alf_ctb_cross_component_cb_idc, 혹은 iv) alf_ctb_cross_component_cr_idc에 대응되는 신택스 요소를 이용하여 시그널링된다.
11. 6 절의 방법에 있어서, 루마 컴포넌트의 대응 부분에 대한 ALF 도구의 사용은 i) slice_alf_enabled_flag 혹은 ii) alf_ctb_flag에 대응되는 신택스 요소를 이용하여 시그널링된다.
12. 1 절의 방법에 있어서, ALF 파라미터가 루마 컴포넌트의 대응 부분에 대해 시그널링되지 않는 경우 CC-ALF 도구에 연관된 정보의 시그널링은 생략된다.
13. 1 절의 방법에 있어서, 규칙은 ALF 도구가 루마 컴포넌트의 대응 부분에 대해 비활성화되는 경우 CC-ALF 도구가 크로마 컴포넌트의 부분에 대해 비활성화되도록 지정한다.
14. 비디오 프로세싱 방법에 있어서, 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 비트스트림 표현은, 비트스트림 표현에서 CC-ALF 도구의 사용을 지시하는 신택스 요소가 포함되는지 여부가 사용 가능한 ALF(adaptive loop filtering) APS(adaptation parameter set)의 수에 종속적이도록 지정하는 포맷 규칙을 따르는, 비디오 프로세싱 방법.
15. 14 절의 방법에 있어서, 포맷 규칙은 ALF APS의 수가 0과 동일하지 않거나 0보다 큰 경우 신택스 요소가 비트스트림 표현에 포함된다고 지정한다.
16. 14 절의 방법에 있어서, 포맷 규칙은 ALF APS의 수가 0일 때 신택스 요소가 비트스트림 표현에서 생략된다고 지정한다.
17. 14 절의 방법에 있어서, 포맷 규칙은 적합성 비트스트림(conformance bitstream)이 CC-ALF 도구 및/혹은 ALF 도구에 대한 APS 인덱스가 전송된 ALF APS의 수보다 작지 않음을 충족한다고 지정한다.
18. 14 절의 방법에 있어서, 포맷 규칙은 적합성 비트스트림(conformance bitstream)이 CC-ALF 도구 및/혹은 ALF 도구에 대한 APS 인덱스가 사용 가능한 하나의 ALF APS 참조함을 충족한다고 지정한다.
19. 14 절의 방법에 있어서, ALF APS는 CC-ALF 도구와 연관된 정보를 포함한다.
20. 비디오 프로세싱 방법에 있어서, 비디오의 비디오 유닛과 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 비트스트림 표현은 제2 컴포넌트의 샘플 값들을 이용하여 제1 컴포넌트의 샘플 값들을 개선하기 위한 CC-ALF 도구의 적용 가능성이 슬라이스 레벨과 상이한 비디오 유닛 레벨에서 비트스트림 표현에 포함된다고 지정하는 포맷 규칙을 따르는, 비디오 프로세싱 방법.
21. 20 절의 방법에 있어서, 비디오 유닛은 시퀀스, 픽처, 뷰(view), 서브픽처 혹은 타일에 대응되나 슬라이스에는 대응되지 않는다.
22. 20 절의 방법에 있어서, 포맷 규칙은 CC-ALF 도구의 사용에 대한 표시가 ALF 도구의 활성화에 기초하여 시그널링된다고 지정한다.
23. 20 절의 방법에 있어서, 포맷 규칙은 CC-ALF 도구의 사용에 대한 표시가 크로마 색상 포맷 및/혹은 비디오 유닛의 비디오 블록이 루마 및 크로마 샘플 모두를 포함함을 지시하는 신택스 요소에 기초하여 시그널링된다고 지정한다.
24. 20 절의 방법에 있어서, 포맷 규칙은 CC-ALF 도구의 사용에 대한 표시가 크로마 색상 포맷 및/혹은 개별 색상 평면 코딩의 사용에 기초하여 비트스트림 표현에 포함된다고 지정한다.
25. 20 절의 방법에 있어서, 포맷 규칙은 슬라이스, 코딩 트리 블록 혹은 코딩 트리 유닛에 대응되는 비디오 영역의 CC-ALF 도구의 사용에 대한 표시가 비디오 유닛에 대한 CC-ALF 도구의 적용 가능성에 기초하여 비트스트림 표현에 포함된다고 지정한다.
26. 20 절의 방법에 있어서, 포맷 규칙은 CC-ALF 도구의 적용 가능성을 지시하는 신택스 요소가 SPS(sequence parameter set), VPS(video parameter set), PPS(picture parameter set), 픽처 헤더 혹은 슬라이스 헤더에서 시그널링된다고 지정한다.
27. 26 절의 방법에 있어서, 신택스 요소는 ALF 도구가 비디오 유닛에 대해 활성화될 때에만 코딩된다.
28. 26 절의 방법에 있어서, 신택스 요소는 i) ALF 도구가 비디오 유닛에 대해 활성화되고 ii) 변수 ChromaArrayType이 0이 아님을 모두 충족하는 조건에 대해서만 코딩된다.
29. 26 절의 방법에 있어서, 신택스 요소는 i) ALF가 비디오 유닛에 대해 활성화되고 ii) 비디오 유닛의 크로마 포맷이 모노크롬(monochrome)임을 모두 충족하는 조건에 대해서만 코딩된다.
30. 비디오 프로세싱 방법에 있어서, 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 비트스트림 표현은 비트스트림 표현에서 CC-ALF 도구의 사용을 지시하는 신택스 요소가 루마 컴포넌트의 대응 부분에 사용되는 ALF 도구의 가용성에 종속적인지 여부를 지정하는 포맷 규칙을 따르는, 비디오 프로세싱 방법.
31. 30 절의 방법에 있어서, 포맷 규칙은 ALF 도구가 루마 컴포넌트의 대응 부분에 대해 가용하지 않을 때 CC-ALF 도구가 명시적 시그널링 없이 비활성화된다고 지정한다.
32. 비디오 프로세싱 방법에 있어서, 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 비트스트림 표현은 비트스트림 표현이 APS 가 크로스 컴포넌트 적응적 필터링 CC-ALF 도구와 연관된 정보를 포함하는지 여부를 지시하는 신택스 요소를 포함하는 APS(adaptation parameter set)를 포함하도록 지정하는 포맷 규칙을 따르는, 비디오 프로세싱 방법.
33. 32 절의 방법에 있어서, CC-ALF 도구와 연관된 정보를 포함하는 APS는 CC-ALF 유형과 연관된 정보가 포함되지 않은 다른 APS와 다른 유형을 갖는다.
34. 32 절의 방법에 있어서, 신택스 요소는 Cb 컴포넌트에 적용되는 CC-ALF 도구와 연관된 제1 신택스 요소 및 Cr 컴포넌트에 적용되는 CC-ALF 도구와 연관된 제2 신택스 요소의 조합에 대응된다.
35. 32 절의 방법에 있어서, 신택스 요소는 비 이진 값을 가진다.
36. 비디오 프로세싱 방법(예를 들어, 도 14b의 방법(1420))에 있어서, 배제 규칙이 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환에 적용 가능하다고 결정하는 단계, 배제 규칙은 비디오 영역에 대해 코딩 도구와 CC-ALF 도구를 함께 사용하는 것을 불허하도록 지정함; 및 결정에 기초하여 변환을 수행하는 단계를 포함하는, 비디오 프로세싱 방법.
37. 36 절의 방법에 있어서, 코딩 도구는 크로마 컴포넌트에 대한 샘플 적응적 오프셋 코딩 도구, 크로마 스케일링 코딩 도구와 매핑되는 루마 잔차 스케일링 도구, 크로마 컴포넌트에 대한 디블록킹 프로세스 혹은 크로마 컴포넌트에 대한 적응적 루프 필터를 포함한다.
38. 36 절의 방법에 있어서, 비트스트림 표현은 코딩 도구의 활성화 상태에 따른 CC-ALF 도구와 연관된 정보를 포함한다.
39. 36 절의 방법에 있어서, 비트스트림 표현은 CC-ALF 도구의 활성화 상태(enablement status)에 따른 코딩 도구와 연관된 정보를 포함한다.
40. 36 절의 방법에 있어서, 비트스트림은 코딩 도구가 비활성화될 때 코딩 도구와 연관된 정보를 생략하도록 지정하는 포맷 규칙에 따른다.
41. 36 절의 방법에 있어서, 비트스트림 표현은 CC-ALF 도구가 비활성화될 때 CC-ALF 도구와 연관된 정보를 생략하도록 지정하는 포맷 규칙에 따른다.
42. 36 절의 방법에 있어서, 비디오 영역은 전체 시퀀스, 전체 픽처, 전체 슬라이스, 타일, 서브픽처, 코딩 트리 블록 혹은 코딩 블록에 대응된다.
43. 비디오 프로세싱 방법에 있어서, 규칙에 따라 비디오의 크로마 블록과 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, CC-ALF(cross-component adaptive loop filter) 도구는 변환 동안 루마 블록의 샘플들에 기초하여 크로마 블록의 예측을 결정하기 위해 사용되고, 규칙은 예측에 사용되는 루마 블록 및/혹은 변환 동안 CC-ALF 도구가 사용되는 순서를 지정하는, 비디오 프로세싱 방법.
44. 43 절의 방법에 있어서, 규칙은 크로마 블록의 샘플 값들을 예측하기 위한 예측 단계 동안 CC-ALF 도구를 적용하도록 지정한다.
45. 44 절의 방법에 있어서, 예측 오류는 CC-ALF 도구 적용 이전의 원본 신호와 CC-ALF 필터링된 결과 간의 차이에 기초하여 생성된다.
46. 44 절의 방법에 있어서, 크로마 블록의 복원은 CC-ALF 필터링된 결과 및 잔차에 종속적이다.
47. 44 절의 방법에 있어서, 규칙은 크로마 블록에서의 부분 샘플에 대해 적용되나 크로마 블록의 나머지 샘플에 대해서는 적용되지 않는다.
48. 47 절의 방법에 있어서, 부분 샘플은 처음 N 개의 행 혹은 열에서의 샘플들 혹은 마지막 N 개의 행 혹은 열에서의 샘플들에 대응된다.
49. 48 절의 방법에 있어서, N은 CC-ALF 도구에서 사용되는 필터 형태에 종속적이다.
50. 43 절의 방법에 있어서, 규칙은 다른 블록을 디코딩하기 전에 크로마 블록의 복원 이후 CC-ALF 도구를 적용하도록 지정한다.
51. 43 절의 방법에 있어서, 규칙은 순서가 샘플 적응적 오프셋 도구 이후, 적응적 루프 필터링 도구 이전엔 CC-ALF 도구를 이용하는 것을 배제하도록 지정한다.
52. 43 절의 방법에 있어서, 규칙은 CC-ALF 도구를 다른 임의의 루프 필터를 적용하기에 앞서 적용하도록 지정한다.
53. 43 절의 방법에 있어서, 규칙은 비디오의 후속 비디오 블록들의 예측에 사용되기에 앞서 크로마 블록의 복원된 샘플들에 CC-ALF 도구를 적용하도록 지정한다.
54. 43 절의 방법에 있어서, 규칙은 CC-ALF 도구를 샘플 적응적 오프셋 루프 필터에 앞서 적용하도록 지정한다.
55. 비디오 프로세싱 방법(예를 들어, 도 14c의 방법(1430)에 있어서, 크로마 컴포넌트의 ALF(adaptive loop filter) 및 크로마 컴포넌트의 CC-ALF(cross-component adaptive loop filter)의 프로세싱 순서를 규칙에 따라 결정(1432)하는 단계, 및 결정에 기초하여 비디오의 비트스트림 표현과 비디오 간의 변환을 수행(1434)하는 단계를 포함하되, 규칙은 프로세싱 순서가 기 정의되거나 비디오의 비디오 영역에서 적응적으로 변경되는지 여부를 지정하고, 비디오 영역은 MxN 크기이며 M 및 N은 양의 정수인, 비디오 프로세싱 방법.
56. 55 절의 방법에 있어서, MxN 영역에서 ALF를 프로세싱한 이후 획득되는 필터링된 샘플들은 그 MxN 영역에 CC-ALF를 적용하기 전에 수정된다.
57. 55 절의 방법에 있어서, 제1 MxN 영역에서 CC-ALF 혹은 ALF를 프로세싱한 이후 획득되는 필터링된 샘플들은 제2 MxN 영역의 입력으로서 활용된다.
58. 55절의 방법에 있어서, MxN 영역에서의 크로마 컴포넌트의 CC-ALF가 먼저 수행되고 MxN 영역에서의 크로마 컴포넌트의 ALF가 수행된다.
59. 58 절의 방법에 있어서, CC-ALF의 출력은 ALF의 입력으로 주어진다.
60. 58 절의 방법에 있어서, MxN 영역의 샘플들은 ALF로의 입력으로 주어지기 전에 CC-ALF에 의해 수정된다.
61. 55절의 방법에 있어서, 비디오 영역은 CTB(코딩 트리 블록, coding tree block)에 대응되거나 CTB보다 작다.
62. 55 절의 방법에 있어서, 순서는 SPS(sequence parameter set), VPS(video parameter set), PPS(picture parameter set), DPS(dependency parameter set), 픽처 헤더 혹은 슬라이스 헤더에서 시그널링된다.
63. 비디오 프로세싱 방법에 있어서, 비디오의 비디오 영역과 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 비트스트림 표현은 비트스트림 표현에서 신택스 요소의 포함을 지정하는 포맷 규칙에 따르고, 신택스 요소는 한 크로마 컴포넌트에 대한 ALF(adaptive loop filtering) 및 CC-ALF(cross-component adaptive loop filtering)의 사용을 지시하는, 비디오 프로세싱 방법.
64. 63 절의 방법에 있어서, 신택스 요소는 비 이진 값을 가진다.
65. 64 절의 방법에 있어서, K와 동일한 값은 ALF 및 CC-ALF가 한 색상 컴포넌트에 대해 비활성화됨을 지시하되, ALF은 비선형이며, K은 정수이다.
66. 64 절의 방법에 있어서, L과 동일한 값은 ALF 및 CC-ALF가 한 색상 컴포넌트에 대해 활성화됨을 지시하되, ALF은 비선형이며, L은 정수이다.
67. 64 절의 방법에 있어서, M과 동일한 값은 CC-ALF가 주어진 색상 컴포넌트에 대해 비활성화될 때 비 선형 ALF 만이 활성화됨을 지시하고, M은 정수이다.
68. 64 절의 방법에 있어서, N과 동일한 값은 비 선형 ALF가 한 색상 컴포넌트에 대해 비활성화될 때 CC-ALF 만이 활성화됨을 지시하고, N은 정수이다.
69. 65절 내지 68 절 중 어느 한 절의 방법에 있어서, K, L, M, N은 서로 다른 네 개의 정수이다.
70. 63 절의 방법에 있어서, 신택스 요소는 고정된 길이 이진화(fixed length binarization), 단항 이진화(unary binarization), 절단된 단항 이진화(truncated unary binarization) 혹은 k차 지수 골롬 이진화(k-th order Exp-Golomb binarization)로 코딩되는 값을 가진다.
71. 이전 절 중 어느 한 절의 방법에 있어서, 방법은 1) 비디오 컨텐츠 유형 2) SPS(sequence parameter set), VPS(video parameter set), PPS(picture parameter set), DPS(dependency parameter set), APS(adaptation parameter set), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, LCU(최대 코딩 유닛, largest coding unit), CU(코딩 유닛, coding unit), LCU 행, LCU 그룹, TU(변환 유닛, transform unit), PU(예측 유닛, prediction unit) 블록, 혹은 비디오 코딩 유닛 에서 시그널링되는 메시지, 3) CU, PU, TU, 블록, 혹은 비디오 코딩 유닛의 위치, 4) 현재 블록 및/혹은 이웃 블록의 디코딩된 정보, 5) 현재 블록 및/혹은 이웃 블록의 치수 혹은 형태, 6) 색상 포맷의 표시, 7) 코딩 트리 구조, 8) 슬라이스 유형, 타일 그룹 유형, 및/혹은 픽처 유형, 9) 색상 컴포넌트 유형, 10) 시간적 레이어 식별자(temporal layer identifier), 11) 표준의 프로파일, 레벨, 혹은 티어(tier) 중 적어도 하나에 더 기초한다.
72. 이전 절 중 어느 한 절의 방법에 있어서, CC-ALF 도구는 제2 컴포넌트의 샘플 값들을 이용하여 제1 컴포넌트의 샘플 값들을 개선하기 위해 적용된다.
73. 1절 내지 72 절 중 어느 한 절의 방법에 있어서, 변환은 비디오를 비트스트림 표현으로 인코딩하는 것을 포함한다.
74. 1절 내지 72 절 중 어느 한 절의 방법에 있어서, 변환은 비디오를 생성하기 위해 비트스트림을 디코딩하는 것을 포함한다.
75. 1절 내지 74 절 중 하나 이상의 항에 표현된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 프로세싱 장치.
76. 실행 시, 1절 내지 74 절 중 하나 이상의 방법을 구현하게 하는 프로그램 코드를 저장하는 컴퓨터 판독 가능한 매체.
77. 상기에서 설명된 방법들 중 어느 하나에 따라 생성된 코딩된 표현 혹은 비트스트림 표현을 저장하는 컴퓨터 판독 가능한 매체.
본 문서에서, "비디오 프로세싱" 이라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축 혹은 비디오 압축 해제를 지칭할 수 있다. 예를 들어, 비디오 압축 알고리즘은 비디오의 픽셀 표현으로부터 대응 비트스트림 표현으로의 변환 동안 적용될 수 있으며, 반대의 경우에도 적용될 수 있다. 현재 비디오 블록의 비트스트림 표현은, 예를 들어, 신택스에 의해 정의된 바와 같이 비트스트림 내의 동일 위치에 배치되거나 다른 위치에 확산되는 비트에 대응될 수 있다. 예를 들어, 매크로블록은 변환되고 코딩된 오차(error) 잔차 값의 관점에서 인코딩될 수 있으며, 또한 헤더의 비트 및 비트스트림의 다른 필드를 사용하여 인코딩될 수 있다.
본 명세서에서 설명되는, 개시된 솔루션, 예, 실시형태, 모듈 및 기능적 동작 및 그 이외의 솔루션, 예, 실시형태, 모듈 및 기능적 동작은, 디지털 전자 회로로, 또는 본 명세서에서 개시되는 구조체 및 그들의 구조적 균등물을 포함하는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로, 또는 이들 중 하나의 이상의 조합으로 구현될 수 있다. 개시된 실시형태 및 그 외의 실시형태들은, 하나 이상의 컴퓨터 프로그램 제품으로서, 예를 들어 데이터 처리 장치에 의해 실행되거나 그 동작을 제어하기 위한, 컴퓨터-판독가능 매체 상에 인코딩된 컴퓨터 프로그램 명령의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터-판독가능 매체는 머신-판독가능 저장 디바이스, 머신-판독가능 저장 기재, 메모리 디바이스, 머신-판독가능 전파된 신호에 영향을 주는 물질의 조합, 또는 이들 중 하나 이상의 조합일 수 있다. 용어 "데이터 프로세싱 장치"는, 예를 들어 프로그래밍 가능한 프로세서, 컴퓨터, 또는 다수의 프로세서 또는 컴퓨터를 포함하는, 데이터를 처리하기 위한 모든 장치, 디바이스, 및 머신을 망라한다. 이러한 장치는 하드웨어에 추가하여, 관심 대상인 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 전파된 신호는 인위적으로 생성된 신호, 예를 들어, 적절한 수신기 장치로 송신되기 위한 정보를 인코딩하기 위하여 생성되는, 머신에 의해 생성된 전기적, 광학적, 또는 전자기적 신호이다.
컴퓨터 프로그램 (프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 혹은 코드라고도 함)은 컴파일된 언어 또는 해석된 언어를 포함하여 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램 또는 컴퓨터 환경에서 사용되기에 적합한 모듈, 컴포넌트, 서브루틴 또는 다른 유닛으로서 임의의 형태로 배치(deploy)될 수 있다. 컴퓨터 시스템은 파일 시스템 내의 파일에 반드시 대응되는 것은 아니다. 프로그램은 다른 프로그램 또는 데이터를 보유하는 파일의 일부(예를 들어 마크업 언어 문서에 저장된 하나 이상의 스크립트) 또는 문제의 프로그램의 전용인 단일 파일 또는 다중 편성(coordinated) 파일(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은, 하나의 컴퓨터 또는 한 사이트에 위치하거나 다수의 사이트에 걸쳐 분배되고 통신 네트워크에 의해 상호 접속되는 다수의 컴퓨터 상에서 실행되도록 배치될 수 있다.
본 문서에 설명된 프로세스 및 로직 흐름은 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍가능한 프로세서에 의해 수행될 수 있다. 프로세스 및 로직 흐름은 또한 FPGA (필드 프로그래밍 가능 게이트 어레이, field programmable gate array) 또는 ASIC (애플리케이션 특정 집적 회로, application specific integrated circuit)와 같은 특수 목적 로직 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적의 마이크로 프로세서와 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 읽기 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다에서 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하기위한 프로세서와 명령과 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치와, 예를 들어 자기, 광 자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하거나 둘 모두를 수행하도록 동작 가능하게 결합되거나 포함한다. 그러나 컴퓨터가 이러한 장치를 가질 필요는 없다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 비일시적 컴퓨터 판독 가능 매체는 예를 들어 EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 장치; 내부 하드 디스크 또는 제거가능 디스크 등의 자기 디스크; 광자기 디스크 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함한다. 프로세서와 메모리는 특수 목적 로직 회로에 의해 보완되거나 통합될 수 있다.
이 특허 문서에는 많은 세부 사항이 포함되어 있지만, 이는 임의의 발명의 범위 또는 청구 대상에 대한 제한으로 해석되어서는 안되며, 특정 발명의 특정 실시예에 특정될 수 있는 특징에 대한 설명으로 해석되어야 한다. 개별 실시예의 맥락에서 본 특허 문서에 설명된 특정 특징은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시 예의 맥락에서 설명된 다양한 특징은 또한 다중 실시 예에서 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 더욱이, 특징이 특정 조합으로 작용하는 것으로 위에서 설명될 수 있고 심지어 처음에 그렇게 청구될 수도 있지만, 청구된 조합으로부터 하나 이상의 특징이 어떤 경우에는 조합으로부터 삭제될 수 있고, 청구된 조합은 하위 조합 또는 하위 조합의 변형일 수 있다.
유사하게, 동작이 특정 순서로 도면에 도시되어 있지만, 이는 바람직한 결과를 달성하기 위해 그러한 동작이 도시된 특정 순서 또는 순차적인 순서로 수행되거나 모든 예시된 동작이 수행될 것을 요구하는 것으로 이해되어서는 안 된다. 더욱이, 이 특허 문서에 설명된 실시예들에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 그러한 분리를 요구하는 것으로 이해되어서는 안 된다.
단지 몇 가지 구현 예 및 예가 설명되며, 다른 구현 예, 향상 및 변형이 본 특허 문서에 설명되고 예시된 것에 기초하여 이루어질 수 있다.

Claims (77)

  1. 비디오 프로세싱 방법에 있어서,
    비디오의 크로마 컴포넌트의 부분과 상기 비디오의 비트스트림 표현 간의 변환을 규칙에 따라 수행하는 단계;를 포함하되,
    상기 규칙은 CC-ALF(cross-component adaptive loop filtering) 도구가 상기 비디오의 부분의 상기 변환을 위해 사용 가능한지 여부가 ALF(adaptive loop filtering)의 사용 혹은 가용성이 루마 컴포넌트의 대응 부분에 대해 지시되는지 여부에 종속적이도록 지정하는, 비디오 프로세싱 방법.
  2. 제1 항에 있어서, 상기 크로마 컴포넌트의 부분은 비디오 영역 혹은 비디오 유닛에 대응되는, 비디오 프로세싱 방법.
  3. 제2 항에 있어서, 상기 비디오 영역은 코딩 트리 블록에 대응되는, 비디오 프로세싱 방법.
  4. 제2 항에 있어서, 상기 비디오 유닛은 상기 비디오의 슬라이스 혹은 픽처 혹은 시퀀스에 대응되는, 비디오 프로세싱 방법.
  5. 제1 항에 있어서, 상기 규칙은 상기 ALF 파라미터가 상기 루마 컴포넌트의 상기 대응 부분에 대해 시그널링되지 않는 경우 상기 CC-ALF 도구가 가용하지 않다고 지정하는, 비디오 프로세싱 방법.
  6. 제1 항에 있어서, 상기 CC-ALF 도구와 연관된 정보의 시그널링은 상기 루마 컴포넌트의 상기 대응 부분에 대한 상기 ALF 도구의 사용에 기초하는, 비디오 프로세싱 방법.
  7. 제1 항에 있어서, 상기 루마 컴포넌트의 상기 대응 부분에 대해 상기 ALF 도구가 비활성화되는 경우 상기 비트스트림 표현은 상기 CC-ALF 도구와 연관된 정보를 생략하는, 비디오 프로세싱 방법.
  8. 제6 항에 있어서, 슬라이스 레벨에서 CC-ALF 도구와 연관된 정보의 시그널링은 상기 슬라이스 레벨에서 상기 루마 컴포넌트의 상기 대응 부분에 대한 상기 ALF 도구의 사용에 종속적인, 비디오 프로세싱 방법.
  9. 제6 항에 있어서, 코딩 트리 블록(CTB) 레벨에서 CC-ALF 도구와 연관된 정보의 시그널링은 상기 CTB 레벨에서 상기 루마 컴포넌트의 상기 대응 부분에 대한 상기 ALF 도구의 사용에 종속적인, 비디오 프로세싱 방법.
  10. 제6 항에 있어서, 상기 CC-ALF 도구와 연관된 상기 정보는 i) slice_cross_component_alf_cb_enabled_flag, ii) slice_cross_component_alf_cr_enabled_flag, iii) alf_ctb_cross_component_cb_idc, 혹은 iv) alf_ctb_cross_component_cr_idc 에 대응되는 신택스 요소를 이용하여 시그널링되는, 비디오 프로세싱 방법.
  11. 제6 항에 있어서, 상기 루마 컴포넌트의 상기 대응 부분에 대한 상기 ALF 도구의 사용은 i) slice_alf_enabled_flag 혹은 ii) alf_ctb_flag에 대응되는 신택스 요소를 이용하여 시그널링되는, 비디오 프로세싱 방법.
  12. 제1 항에 있어서, ALF 파라미터가 상기 루마 컴포넌트의 대응 부분에 대해 시그널링되지 않는 경우 상기 CC-ALF 도구와 연관된 정보의 시그널링은 생략되는, 비디오 프로세싱 방법.
  13. 제1 항에 있어서, 상기 규칙은 상기 ALF 도구가 상기 루마 컴포넌트의 대응 부분에 대해 비활성화되는 경우 상기 CC-ALF 도구는 상기 크로마 컴포넌트의 부분에 대해 비활성화되도록 지정하는, 비디오 프로세싱 방법.
  14. 비디오 프로세싱 방법에 있어서,
    비디오의 비디오 영역과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계;를 포함하되,
    상기 비트스트림 표현은,
    상기 비트스트림 표현에 CC-ALF(cross-component adaptive loop filtering)의 사용을 지시하는 신택스 요소가 포함되는지 여부는 가용한 ALF(adaptive loop filtering) APS(adaptation parameter sets)의 수에 종속적이도록 지정하는 포맷 규칙을 따르는, 비디오 프로세싱 방법.
  15. 제14 항에 있어서, 상기 포맷 규칙은 상기 ALF APS의 수가 0과 같지 않거나 0보다 큰 경우 상기 신택스 요소가 상기 비트스트림 표현에 포함되도록 지정하는, 비디오 프로세싱 방법.
  16. 제14 항에 있어서, 상기 포맷 규칙은 상기 ALF APS의 수가 0인 경우 상기 신택스 요소가 상기 비트스트림 표현에서 생략되도록 지정하는, 비디오 프로세싱 방법.
  17. 제14 항에 있어서, 상기 포맷 규칙은 적합성 비트스트림(conformance bitstream)이 상기 CC-ALF 도구 및/혹은 ALF 도구에 대한 APS 인덱스가 전송된 ALF APS의 수보다 작지 않음을 충족하도록 지정하는, 비디오 프로세싱 방법.
  18. 제14 항에 있어서, 상기 포맷 규칙은 적합성 비트스트림이 상기 CC-ALF 도구 및/혹은 상기 ALF 도구에 대한 APS 인덱스가 하나의 가용한 ALF APS를 참조함을 충족하도록 지정하는, 비디오 프로세싱 방법.
  19. 제14 항에 있어서, 상기 ALF APS는 상기 CC-ALF 도구에 연관된 정보를 포함하는, 비디오 프로세싱 방법.
  20. 비디오 프로세싱 방법에 있어서,
    비디오의 비디오 유닛과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계;를 포함하되,
    상기 비트스트림 표현은,
    제2 컴포넌트의 샘플 값들을 이용하여 제1 컴포넌트의 샘플 값들을 개선하기 위한 CC-ALF 도구의 적용 가능성이 슬라이스 레벨과 상이한 비디오 유닛 레벨에서의 상기 비트스트림 표현에 포함되도록 지정하는 포맷 규칙을 따르는, 비디오 프로세싱 방법.
  21. 제20 항에 있어서, 상기 비디오 유닛은 시퀀스, 픽처, 뷰, 서브픽처, 혹은 타일에 대응되나, 슬라이스에는 대응되지 않는, 비디오 프로세싱 방법.
  22. 제20 항에 있어서, 상기 포맷 규칙은 상기 CC-ALF 도구의 사용의 표시가 ALF 도구의 활성화에 기초하여 시그널링되도록 추가로 지정하는, 비디오 프로세싱 방법.
  23. 제20 항에 있어서, 상기 포맷 규칙은 상기 CC-ALF 도구의 사용의 표시가 크로마 색상 포맷 및/혹은 상기 비디오 유닛의 비디오 블록이 루마 및 크로마 샘플 둘 모두를 포함함을 지시하는 신택스 요소에 기초하여 시그널링되도록 지정하는, 비디오 프로세싱 방법.
  24. 제20 항에 있어서, 상기 포맷 규칙은 상기 CC-ALF 도구의 사용의 표시가 크로마 색상 포맷 및/혹은 개별 색상 평면 코딩의 사용에 기초하여 상기 비트스트림 표현에 포함되도록 지정하는, 비디오 프로세싱 방법.
  25. 제20 항에 있어서, 상기 포맷 규칙은 슬라이스, 코딩 트리 블록, 혹은 코딩 트리 유닛에 대응되는 비디오 영역의 상기 CC-ALF 도구의 사용의 표시가 상기 비디오 유닛에 대한 상기 CC-ALF 도구의 적용 가능성에 기초하여 상기 비트스트림 표현에 포함되도록 추가로 지정하는, 비디오 프로세싱 방법.
  26. 제20 항에 있어서, 상기 포맷 규칙은 상기 CC-ALF 도구의 적용 가능성을 지시하는 신택스 요소가 SPS(sequence parameter set), VPS(video parameter set), PPS(picture parameter set), 픽처 헤더 혹은 슬라이스 헤더에서 시그널링되도록 추가로 지정하는, 비디오 프로세싱 방법.
  27. 제26 항에 있어서, 상기 신택스 요소는 ALF 도구가 상기 비디오 유닛에 대해 활성화되는 경우에만 코딩되는, 비디오 프로세싱 방법.
  28. 제26 항에 있어서, 상기 신택스 요소는 i) ALF 도구가 상기 비디오 유닛에 대해 활성화되고 ii) 변수 ChromaArrayType이 0이 아님을 모두 충족하는 조건에 대해서만 코딩되는, 비디오 프로세싱 방법.
  29. 제26 항에 있어서, 상기 신택스 요소는 i) ALF 도구가 상기 비디오 유닛에 대해 활성화되고 ii) 상기 비디오 유닛의 상기 크로마 포맷이 모노크롬(monochrome)임을 충족하는 조건에 대해서만 코딩되는, 비디오 프로세싱 방법.
  30. 비디오 프로세싱 방법에 있어서,
    비디오의 비디오 영역 및 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계;를 포함하되,
    상기 비트스트림 표현은,
    상기 비트스트림 표현에서 CC-ALF(cross-component adaptive loop filtering) 도구의 사용을 지시하는 신택스 요소가 루마 컴포넌트의 대응 부분에 사용되는 ALF(adaptive loop filtering) 도구의 가용성에 종속적인지 여부를 지정하는 포맷 규칙을 따르는, 비디오 프로세싱 방법.
  31. 제30 항에 있어서, 상기 포맷 규칙은 상기 ALF 도구가 상기 루마 컴포넌트의 대응 부분에 가용하지 않은 경우 상기 CC-ALF 도구가 명시적인 시그널링 없이 비활성화되도록 지정하는, 비디오 프로세싱 방법.
  32. 비디오 프로세싱 방법에 있어서,
    비디오의 비디오 영역과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계;를 포함하되,
    상기 비트스트림 표현은,
    APS가 CC-ALF 도구와 연관된 정보를 포함하는지 여부를 지시하는 신택스 요소를 포함하는 상기 APS를 상기 비트스트림 표현이 포함하도록 지정하는 포맷 규칙에 따르는, 비디오 프로세싱 방법.
  33. 제32 항에 있어서, 상기 CC-ALF 도구와 연관된 정보를 포함하는 상기 APS는 상기 CC-ALF 유형과 연관된 정보가 포함되지 않은 다른 APS와 상이한 유형을 갖는, 비디오 프로세싱 방법.
  34. 제32 항에 있어서, 상기 신택스 요소는 Cb 컴포넌트에 적용되는 상기 CC-ALF 도구에 연관된 제1 신택스 요소 및 Cr 컴포넌트에 적용되는 상기 CC-ALF 도구에 연관된 제2 신택스 요소의 조합에 대응되는, 비디오 프로세싱 방법.
  35. 제32 항에 있어서, 상기 신택스 요소는 비 이진(non-binary) 값인, 비디오 프로세싱 방법.
  36. 비디오 프로세싱 방법에 있어서,
    비디오의 비디오 영역과 상기 비디오의 비트스트림 표현 간의 변환에 배제 규칙이 적용 가능하도록 결정하는 단계, 상기 배제 규칙은 상기 변환이 상기 비디오 영역에 대해 코딩 도구 및 CC-ALF 도구를 함께 사용하는 것을 불허하도록 지정하고;
    상기 결정에 기초하여 상기 변환을 수행하는 단계;를 포함하는, 비디오 프로세싱 방법.
  37. 제36 항에 있어서, 상기 코딩 도구는 크로마 컴포넌트에 대한 샘플 적응적 오프셋 코딩 도구, 크로마 스케일링 코딩 도구와 매핑된 루마에 대한 잔차 스케일링 도구, 상기 크로마 컴포넌트에 대한 디블록킹 프로세스, 혹은 상기 크로마 컴포넌트에 대한 적응적 루프 필터를 포함하는, 비디오 프로세싱 방법.
  38. 제36 항에 있어서, 상기 비트스트림 표현은 상기 코딩 도구의 활성화 상태에 종속적인 상기 CC-ALF 도구에 연관된 정보를 포함하는, 비디오 프로세싱 방법.
  39. 제36 항에 있어서, 상기 비트스트림 표현은 상기 CC-ALF 도구의 활성화 상태에 종속적인 상기 코딩 도구에 연관된 정보를 포함하는, 비디오 프로세싱 방법.
  40. 제36 항에 있어서, 상기 비트스트림 표현은 상기 코딩 도구가 비활성화되는 경우 상기 코딩 도구에 연관된 정보를 생략하도록 지정하는 포맷 규칙을 따르는, 비디오 프로세싱 방법.
  41. 제36 항에 있어서, 상기 비트스트림 표현은 상기 CC-ALF 도구가 비활성화되는 경우 상기 CC-ALF 도구에 연관된 정보를 생략하도록 지정하는 포맷 규칙을 따르는, 비디오 프로세싱 방법.
  42. 제36 항에 있어서, 상기 비디오 영역은 전체 시퀀스, 전체 픽처, 전체 슬라이스, 타일, 서브픽처, 코딩 트리 블록 혹은 코딩 블록에 대응되는, 비디오 프로세싱 방법.
  43. 비디오 프로세싱 방법에 있어서,
    비디오의 크로마 블록 및 상기 비디오의 비트스트림 표현 간의 변환을 규칙에 따라 수행하는 단계;를 포함하되,
    상기 CC-ALF 도구는 루마 블록의 샘플들에 기초하여 상기 크로마 블록의 예측을 결정하기 위해 상기 변환 동안 사용되고,
    상기 규칙은 상기 예측에 사용되는 상기 루마 블록 및/혹은 상기 변환 동안 상기 CC-ALF 도구가 사용되는 순서를 지정하는, 비디오 프로세싱 방법.
  44. 제43 항에 있어서, 상기 규칙은 상기 크로마 블록의 샘플 값들을 예측하기 위한 예측 단계 동안 상기 CC-ALF 도구를 적용하도록 지정하는, 비디오 프로세싱 방법.
  45. 제44 항에 있어서, 상기 CC-ALF 도구가 적용되기 전의 원본 신호와 CC-ALF 필터링된 결과 간의 차이에 기초하여 예측 오차가 생성되는, 비디오 프로세싱 방법.
  46. 제44 항에 있어서, 상기 크로마 블록의 복원은 CC-ALF 필터링된 결과 및 잔차에 종속적인, 비디오 프로세싱 방법.
  47. 제44 항에 있어서, 상기 규칙은 상기 크로마 블록 내 부분적인 샘플들에 대해 적용되고, 상기 크로마 블록 내 나머지 샘플들에 대해서는 적용되지 않는, 비디오 프로세싱 방법.
  48. 제47 항에 있어서, 상기 부분적인 샘플들은 처음 N 개의 행 혹은 열에서의 샘플들 혹은 마지막 N개의 행 혹은 열에서의 샘플들에 대응되는, 비디오 프로세싱 방법.
  49. 제48 항에 있어서, N은 상기 CC-ALF 도구에서 사용되는 필터 형태에 종속적인, 비디오 프로세싱 방법.
  50. 제43 항에 있어서, 상기 규칙은 다른 블록을 디코딩 하기 전, 상기 크로마 블록의 복원 이후 상기 CC-ALF 도구를 적용하도록 지정하는, 비디오 프로세싱 방법.
  51. 제43 항에 있어서, 상기 규칙은 적응적 루프 필터 도구 이전, 상기 샘플 적응적 오프셋 도구 이후에 상기 CC-ALF 도구를 이용하는 것을 제외하는 상기 순서를 지정하는, 비디오 프로세싱 방법.
  52. 제43 항에 있어서, 상기 규칙은 다른 임의의 루프 필터의 적용에 앞서 상기 CC-ALF 도구를 적용하도록 지정하는, 비디오 프로세싱 방법.
  53. 제43 항에 있어서, 상기 규칙은 상기 비디오의 후속 비디오 블록들의 예측에 사용되기에 앞서 상기 크로마 블록의 복원된 샘플들에 상기 CC-ALF 도구를 적용하도록 지정하는, 비디오 프로세싱 방법.
  54. 제43 항에 있어서, 상기 규칙은 샘플 적응적 오프셋 루프 필터에 앞서 상기 CC-ALF 도구를 적용하도록 지정하는, 비디오 프로세싱 방법.
  55. 비디오 프로세싱 방법에 있어서,
    크로마 컴포넌트의 ALF 및 상기 크로마 컴포넌트의 CC-ALF 프로세싱 순서를 규칙에 따라 결정하는 단계; 및
    상기 결정에 기초하여 비디오와 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계;를 포함하되,
    상기 규칙은 상기 순서가 기 정의되거나 상기 비디오의 비디오 영역에서 적응적으로 변경되는지 여부를 지정하고, 상기 비디오 영역은 MxN 크기를 가지며 M 및 N은 정수인, 비디오 프로세싱 방법.
  56. 제55 항에 있어서, MxN 영역에 상기 ALF를 프로세싱한 후 획득된 필터링된 샘플들은 상기 MxN 영역에 상기 CC-ALF를 적용하기 전에 수정되는, 비디오 프로세싱 방법.
  57. 제55 항에 있어서, 제1 MxN 영역에 상기 ALF 혹은 상기 CC-ALF를 프로세싱한 후 획득된 필터링된 샘플들은 제2 MxN 영역의 입력으로 활용되는, 비디오 프로세싱 방법.
  58. 제55 항에 있어서, MxN 영역의 상기 크로마 컴포넌트의 상기 CC-ALF가 먼저 수행되고 상기 MxN 영역의 상기 크로마 컴포넌트의 상기 ALF가 수행되는, 비디오 프로세싱 방법.
  59. 제58 항에 있어서, 상기 CC-ALF의 출력은 상기 ALF의 입력으로서 주어지는, 비디오 프로세싱 방법.
  60. 제58 항에 있어서, 상기 MxN 영역에서의 샘플들은 상기 ALF의 입력으로서 주어지기 전에 상기 CC-ALF에 의해 수정되는, 비디오 프로세싱 방법.
  61. 제55 항에 있어서, 상기 비디오 영역은 코딩 트리 블록(CTB)에 대응되거나 상기 CTB보다 작은, 비디오 프로세싱 방법.
  62. 제55 항에 있어서, 상기 순서는 SPS(sequence parameter set), VPS(video parameter set), PPS(picture parameter set), DPS(dependency parameter set), 픽처 헤더 혹은 슬라이스 헤더에서 시그널링되는, 비디오 프로세싱 방법.
  63. 비디오 프로세싱 방법에 있어서,
    비디오의 비디오 영역과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계;를 포함하되,
    상기 비트스트림 표현은 상기 비트스트림 표현에서 신택스 요소의 포함을 지정하되, 상기 신택스 요소는 한 크로마 컴포넌트에 대한 ALF 및 CC-ALF의 사용을 지시하는, 비디오 프로세싱 방법.
  64. 제63 항에 있어서, 상기 신택스 요소는 비 이진(non-binary)인 값을 갖는, 비디오 프로세싱 방법.
  65. 제64 항에 있어서, K와 동일한 상기 값은 상기 ALF 및 상기 CC-ALF가 상기 한 크로마 컴포넌트에 대해 비활성화됨을 지시하고, 상기 ALF는 비 선형이고 K는 정수인, 비디오 프로세싱 방법.
  66. 제64 항에 있어서, L과 동일한 상기 값은 상기 ALF 및 상기 CC-ALF가 상기 한 크로마 컴포넌트에 대해 활성화됨을 지시하고, 상기 ALF는 비 선형이고 L은 정수인, 비디오 프로세싱 방법.
  67. 제64 항에 있어서, M과 동일한 상기 값은 상기 주어진 색상 컴포넌트에 대해 상기 CC-ALF는 비활성화되고 비 선형 ALF만이 활성화됨을 지시하고, M은 정수인, 비디오 프로세싱 방법.
  68. 제64 항에 있어서, N과 동일한 상기 값은 상기 한 색상 컴포넌트에 대해 비 선형 ALF는 비활성화되고 CC-ALF만이 활성화됨을 지시하고, N은 정수인, 비디오 프로세싱 방법.
  69. 제65 항 내지 제68 항 중 어느 한 항에 있어서, K, L, M, N은 서로 다른 네 개의 정수 값인, 비디오 프로세싱 방법.
  70. 제63 항에 있어서, 상기 신택스 요소는 고정된 길이 이진화, 단항 이진화, 절단된 단항 이진화 혹은 k차 지수 골롬 이진화로 코딩된 값을 가지는, 비디오 프로세싱 방법.
  71. 상기 청구항 중 어느 한 항에 있어서,
    상기 방법은,
    1) 비디오 컨텐츠 유형, 2) SPS(sequence parameter set), VPS(video parameter set), PPS(a picture parameter set), DPS(dependency parameter set), APS(adaptation parameter set), 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, LCU(largest coding unit), 코딩 유닛(CU, coding unit), LCU 행, LCU 그룹, 변환 유닛(TU, transform unit), 예측 유닛(PU, prediction unit) 블록 혹은 비디오 코딩 유닛에서 시그널링되는 메시지, 3) CU, PU, TU, 블록 혹은 비디오 코딩 유닛의 위치, 4) 현재 블록 및/혹은 이웃 블록의 디코딩된 정보 5) 현재 블록 및/혹은 이웃 블록의 치수 혹은 형태 6) 색상 포맷의 표시, 7) 코딩 트리 구조, 8) 슬라이스 유형, 타일 그룹 유형 및/혹은 픽처 유형, 9) 색상 컴포넌트의 유형, 10) 시간적 레이어 식별자, 11) 표준의 프로파일, 레벨 혹은 티어 중 적어도 하나에 추가로 기초하는, 비디오 프로세싱 방법.
  72. 상기 청구항 중 어느 한 항에 있어서,
    상기 CC-ALF 도구는 제2 컴포넌트의 샘플 값들을 이용하여 제1 컴포넌트의 샘플 값들을 개선하기 위해 적용되는, 비디오 프로세싱 방법.
  73. 제1 항 내지 제72 항 중 어느 한 항에 있어서, 상기 변환은 상기 비디오를 상기 비트스트림 표현으로 인코딩하는 것을 포함하는, 비디오 프로세싱 방법.
  74. 제1 항 내지 제72 항 중 어느 한 항에 있어서, 상기 변환은 상기 비디오를 생성하기 위해 상기 비트스트림 표현을 디코딩하는 것을 포함하는, 비디오 프로세싱 방법.
  75. 제1 항 내지 제74 항 중 하나 이상의 항에 표현된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 프로세싱 장치.
  76. 실행 시, 제1 항 내지 제74 항 중 하나 이상의 항에 표현된 방법을 프로세서가 구현하게 하는 프로그램 코드가 저장된 컴퓨터 판독 가능한 매체.
  77. 상기에서 설명된 방법 중 어느 하나에 따라 생성된 비트스트림 표현 혹은 코딩된 표현을 저장하는 컴퓨터 판독 가능한 매체.

KR1020227013600A 2019-10-29 2020-10-29 크로스 컴포넌트 적응적 루프 필터의 시그널링 KR20220084060A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2019113955 2019-10-29
CNPCT/CN2019/113955 2019-10-29
PCT/CN2020/124705 WO2021083259A1 (en) 2019-10-29 2020-10-29 Signaling of cross-component adaptive loop filter

Publications (1)

Publication Number Publication Date
KR20220084060A true KR20220084060A (ko) 2022-06-21

Family

ID=75714833

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020227013598A KR20220083715A (ko) 2019-10-29 2020-10-29 루마 차이를 이용한 크로스 컴포넌트 적응적 루프 필터
KR1020227013600A KR20220084060A (ko) 2019-10-29 2020-10-29 크로스 컴포넌트 적응적 루프 필터의 시그널링
KR1020227013595A KR20220084059A (ko) 2019-10-29 2020-10-29 크로스 컴포넌트 적응적 루프 필터

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020227013598A KR20220083715A (ko) 2019-10-29 2020-10-29 루마 차이를 이용한 크로스 컴포넌트 적응적 루프 필터

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020227013595A KR20220084059A (ko) 2019-10-29 2020-10-29 크로스 컴포넌트 적응적 루프 필터

Country Status (6)

Country Link
US (4) US11622115B2 (ko)
EP (3) EP4035363A4 (ko)
JP (4) JP7485761B2 (ko)
KR (3) KR20220083715A (ko)
CN (4) CN117528097A (ko)
WO (3) WO2021083259A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024039088A1 (ko) * 2022-08-18 2024-02-22 현대자동차주식회사 비선형 교차 성분 관계에 기반하는 cc-alf를 이용하는 비디오 코딩을 위한 방법 및 장치

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021061496A1 (en) * 2019-09-24 2021-04-01 Futurewei Technologies, Inc. Sei message dependency simplification in video coding
CN117528097A (zh) 2019-10-29 2024-02-06 抖音视界(北京)有限公司 跨分量自适应环路滤波器
US11425405B2 (en) * 2019-11-15 2022-08-23 Qualcomm Incorporated Cross-component adaptive loop filter in video coding
GB2590636B (en) * 2019-12-20 2024-01-10 Canon Kk High level syntax for video coding and decoding
KR20220101743A (ko) * 2019-12-31 2022-07-19 에스지 디제이아이 테크놀러지 코., 엘티디 루프 필터링 방법 및 비일시적 컴퓨터 저장 매체
US11595676B2 (en) 2020-09-16 2023-02-28 Tencent America LLC Method and apparatus for video coding
US11778177B2 (en) 2020-12-23 2023-10-03 Qualcomm Incorporated Adaptive loop filter with fixed filters
US20220279176A1 (en) * 2021-02-26 2022-09-01 Alibaba Group Holding Limited Directional cross component filter for video coding
US11683530B2 (en) * 2021-03-19 2023-06-20 Tencent America LLC Adaptive non-linear mapping for sample offset
WO2022251433A1 (en) * 2021-05-26 2022-12-01 Beijing Dajia Internet Information Technology Co., Ltd. Coding enhancement in cross-component sample adaptive offset
KR20230002091A (ko) * 2021-06-29 2023-01-05 주식회사 케이티 화면내 예측 기반의 비디오 신호 부호화/복호화 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체
US11863775B2 (en) * 2021-07-21 2024-01-02 Tencent America LLC Cross-component transform coefficient level reconstruction
CN116456086A (zh) * 2022-01-07 2023-07-18 腾讯科技(深圳)有限公司 环路滤波方法、视频编解码方法、装置、介质及电子设备
WO2024006231A1 (en) * 2022-06-28 2024-01-04 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatus on chroma motion compensation using adaptive cross-component filtering

Family Cites Families (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136417B2 (en) 2002-07-15 2006-11-14 Scientific-Atlanta, Inc. Chroma conversion optimization
US7397515B2 (en) * 2004-01-30 2008-07-08 Broadcom Corporation Method and system for cross-chrominance removal using motion detection
JP2012517774A (ja) * 2009-02-10 2012-08-02 シリコン イメージ,インコーポレイテッド ブロックノイズの検出及びフィルタ処理
US20140133547A1 (en) 2011-08-30 2014-05-15 Sony Corporation Image processing device and image processing method
US9185404B2 (en) 2011-10-07 2015-11-10 Qualcomm Incorporated Performing transform dependent de-blocking filtering
US9807403B2 (en) * 2011-10-21 2017-10-31 Qualcomm Incorporated Adaptive loop filtering for chroma components
US9247258B2 (en) 2011-10-26 2016-01-26 Qualcomm Incorporated Unified design for picture partitioning schemes
US9077998B2 (en) 2011-11-04 2015-07-07 Qualcomm Incorporated Padding of segments in coded slice NAL units
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
CN104769950B (zh) * 2012-09-28 2018-11-13 Vid拓展公司 用于视频编码中的色度信号增强的交叉平面滤波
WO2014107709A2 (en) 2013-01-07 2014-07-10 Vid Scale, Inc. Enhanced deblocking filters for video coding
US9473779B2 (en) 2013-03-05 2016-10-18 Qualcomm Incorporated Parallel processing for video coding
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
US9686561B2 (en) 2013-06-17 2017-06-20 Qualcomm Incorporated Inter-component filtering
US9578328B2 (en) 2013-07-15 2017-02-21 Qualcomm Incorporated Cross-layer parallel processing and offset delay parameters for video coding
EP3050294A4 (en) 2013-09-27 2017-08-09 Qualcomm Incorporated Residual coding for depth intra prediction modes
US20150271515A1 (en) 2014-01-10 2015-09-24 Qualcomm Incorporated Block vector coding for intra block copy in video coding
US9628822B2 (en) 2014-01-30 2017-04-18 Qualcomm Incorporated Low complexity sample adaptive offset encoding
US20150264099A1 (en) 2014-03-14 2015-09-17 Sharp Laboratories Of America, Inc. Systems and methods for constraining a bitstream
US9807406B2 (en) 2014-03-17 2017-10-31 Qualcomm Incorporated Picture flushing and decoded picture buffer parameter inference for multi-layer bitstreams
US10200700B2 (en) 2014-06-20 2019-02-05 Qualcomm Incorporated Cross-component prediction in video coding
US20150382016A1 (en) * 2014-06-27 2015-12-31 Mitsubishi Electric Research Laboratories, Inc. Method for Processing Multi-Component Video and Images
EP3192261A1 (en) 2014-09-12 2017-07-19 VID SCALE, Inc. Inter-component de-correlation for video coding
US20160105685A1 (en) * 2014-10-08 2016-04-14 Qualcomm Incorporated Boundary filtering and cross-component prediction in video coding
EP3198874A4 (en) 2014-10-28 2018-04-04 MediaTek Singapore Pte Ltd. Method of guided cross-component prediction for video coding
US9591325B2 (en) 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
US10057574B2 (en) 2015-02-11 2018-08-21 Qualcomm Incorporated Coding tree unit (CTU) level adaptive loop filter (ALF)
US20170006283A1 (en) 2015-06-30 2017-01-05 Microsoft Technology Licensing, Llc Computationally efficient sample adaptive offset filtering during video encoding
CN113810691A (zh) * 2015-07-08 2021-12-17 交互数字麦迪逊专利控股公司 用于使用交叉平面滤波的增强色度编码的方法和装置
WO2017045101A1 (en) 2015-09-14 2017-03-23 Mediatek Singapore Pte. Ltd. Advanced deblocking filter in video coding
WO2017075804A1 (en) 2015-11-06 2017-05-11 Microsoft Technology Licensing, Llc Flexible reference picture management for video encoding and decoding
WO2017123487A1 (en) * 2016-01-15 2017-07-20 Vid Scale, Inc. System and method for enhanced motion compensation using adaptive filtering
US11563938B2 (en) 2016-02-15 2023-01-24 Qualcomm Incorporated Geometric transforms for filters for video coding
US10419755B2 (en) * 2016-05-16 2019-09-17 Qualcomm Incorporated Confusion of multiple filters in adaptive loop filtering in video coding
KR20230051319A (ko) 2016-07-08 2023-04-17 브이아이디 스케일, 인크. 지오메트리 투영을 이용한 360도 비디오 코딩
US11095922B2 (en) 2016-08-02 2021-08-17 Qualcomm Incorporated Geometry transformation-based adaptive loop filtering
US10419757B2 (en) * 2016-08-31 2019-09-17 Qualcomm Incorporated Cross-component filter
US20180184127A1 (en) 2016-12-22 2018-06-28 Qualcomm Incorporated Determining neighboring samples for bilateral filtering in video coding
US10506230B2 (en) 2017-01-04 2019-12-10 Qualcomm Incorporated Modified adaptive loop filter temporal prediction for temporal scalability support
KR20200005539A (ko) 2017-04-11 2020-01-15 브이아이디 스케일, 인크. 면 연속성을 사용하는 360 도 비디오 코딩
US10778974B2 (en) 2017-07-05 2020-09-15 Qualcomm Incorporated Adaptive loop filter with enhanced classification methods
US10728573B2 (en) 2017-09-08 2020-07-28 Qualcomm Incorporated Motion compensated boundary pixel padding
CN111183646B (zh) 2017-09-20 2023-08-04 Vid拓展公司 用于编码的方法和装置、用于解码的方法和装置以及存储介质
KR20200047563A (ko) 2017-09-26 2020-05-07 삼성전자주식회사 크로스-성분 예측에 의한 비디오 복호화 방법 및 장치, 크로스-성분 예측에 의한 비디오 부호화 방법 및 장치
US10965941B2 (en) 2017-10-09 2021-03-30 Qualcomm Incorporated Position-dependent prediction combinations in video coding
US11425418B2 (en) 2017-11-01 2022-08-23 Vid Scale, Inc. Overlapped block motion compensation
KR20200095464A (ko) 2017-11-01 2020-08-10 브이아이디 스케일, 인크. 비디오 코딩에서 적응적 루프 필터를 단순화하기 위한 방법
CN107801024B (zh) 2017-11-09 2019-07-12 北京大学深圳研究生院 一种用于帧内预测的边界滤波方法
US10721469B2 (en) 2017-11-28 2020-07-21 Qualcomm Incorporated Line buffer reduction for adaptive loop filtering in video coding
EP3729812A1 (en) 2017-12-19 2020-10-28 VID SCALE, Inc. Face discontinuity filtering for 360-degree video coding
US11259021B2 (en) 2017-12-29 2022-02-22 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks at a boundary of a picture for video coding
US10972729B2 (en) 2018-01-20 2021-04-06 Qualcomm Incorporated Deblocking filter selection and application in video coding
US20190238845A1 (en) 2018-01-26 2019-08-01 Qualcomm Incorporated Adaptive loop filtering on deblocking filter results in video coding
CN113573057B (zh) 2018-02-01 2023-07-18 寰发股份有限公司 具有视频数据自适应量化的视频编码或解码方法和装置
WO2019157717A1 (zh) 2018-02-14 2019-08-22 北京大学 运动补偿的方法、装置和计算机系统
GB2571314A (en) * 2018-02-23 2019-08-28 Canon Kk Methods and devices for linear component sample prediction using a double classification
US20190306502A1 (en) 2018-04-02 2019-10-03 Qualcomm Incorporated System and method for improved adaptive loop filtering
US10708592B2 (en) 2018-04-02 2020-07-07 Qualcomm Incorporated Deblocking filter for video coding and processing
WO2019194647A1 (ko) * 2018-04-06 2019-10-10 가온미디어 주식회사 필터 정보 기반의 적응적 루프 필터링 방법, 그를 이용한 영상 부호화 및 복호화 방법
GB2590844B (en) 2018-08-17 2023-05-03 Beijing Bytedance Network Tech Co Ltd Simplified cross component prediction
WO2020053804A1 (en) 2018-09-12 2020-03-19 Beijing Bytedance Network Technology Co., Ltd. Downsampling in cross-component linear modeling
EP3850843A4 (en) 2018-09-14 2021-11-24 Huawei Technologies Co., Ltd. SLICING AND TILING OF SUBPICTURE SIGNALING IN VIDEO ENCODING
CN110971931A (zh) 2018-09-30 2020-04-07 北京微播视界科技有限公司 视频水印添加方法、装置、电子设备及存储介质
WO2020084507A1 (en) 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Harmonized local illumination compensation and modified inter prediction coding
WO2020094061A1 (en) 2018-11-06 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Multi-models for intra prediction
CN113170122B (zh) 2018-12-01 2023-06-27 北京字节跳动网络技术有限公司 帧内预测的参数推导
AU2019391197B2 (en) 2018-12-07 2023-05-25 Beijing Bytedance Network Technology Co., Ltd. Context-based intra prediction
WO2020125794A1 (en) 2018-12-22 2020-06-25 Beijing Bytedance Network Technology Co., Ltd. Two step cross-component prediction mode
HRP20230702T1 (hr) 2019-01-09 2023-10-13 Huawei Technologies Co., Ltd. Signaliziranje identifikatora podslike kod kodiranja videa
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
MX2021009788A (es) 2019-02-22 2021-09-08 Beijing Bytedance Network Tech Co Ltd Seleccion de muestra colindante para intraprediccion.
AU2020226566A1 (en) 2019-02-24 2021-08-19 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction
WO2020176636A1 (en) 2019-02-27 2020-09-03 Futurewei Technologies, Inc. Luma mapping with chroma scaling adaptation parameter set in video coding
WO2020177663A1 (en) 2019-03-02 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Restrictions on partition structures
SG11202109980WA (en) 2019-03-11 2021-10-28 Huawei Tech Co Ltd Sub-picture level filtering in video coding
CN113574889B (zh) 2019-03-14 2024-01-12 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
CN113767631B (zh) 2019-03-24 2023-12-15 北京字节跳动网络技术有限公司 用于帧内预测的参数推导中的条件
CN115243056A (zh) 2019-03-24 2022-10-25 抖音视界有限公司 视频处理中的多参数自适应环路滤波
KR102647470B1 (ko) 2019-04-15 2024-03-14 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비선형 적응형 루프 필터링에서 파라미터의 시간적 예측
CN117499679A (zh) 2019-04-16 2024-02-02 北京字节跳动网络技术有限公司 用于视频编解码的自适应环路滤波
US11197030B2 (en) * 2019-08-08 2021-12-07 Panasonic Intellectual Property Corporation Of America System and method for video coding
GB2586484B (en) * 2019-08-20 2023-03-08 Canon Kk A filter
US11234010B2 (en) 2019-08-28 2022-01-25 Qualcomm Incorporated Cross-component adaptive loop filtering for video coding
WO2021040481A1 (ko) * 2019-08-29 2021-03-04 엘지전자 주식회사 크로스 컴포넌트 필터링 기반 영상 코딩 장치 및 방법
KR20220049486A (ko) 2019-08-29 2022-04-21 엘지전자 주식회사 필터링 기반 영상 코딩 장치 및 방법
WO2021040480A1 (ko) * 2019-08-29 2021-03-04 엘지전자 주식회사 인루프 필터링 기반 영상 코딩 장치 및 방법
US20220337823A1 (en) * 2019-08-29 2022-10-20 Lg Electronics Inc. Cross-component adaptive loop filtering-based image coding apparatus and method
US11202068B2 (en) * 2019-09-16 2021-12-14 Mediatek Inc. Method and apparatus of constrained cross-component adaptive loop filtering for video coding
WO2021054424A1 (en) * 2019-09-18 2021-03-25 Panasonic Intellectual Property Corporation Of America System and method for video coding
BR112022005487A2 (pt) * 2019-09-23 2022-06-14 Vid Scale Inc Aparelho para processamento de vídeo, método, e, mídia legível por computador
CN117528097A (zh) 2019-10-29 2024-02-06 抖音视界(北京)有限公司 跨分量自适应环路滤波器
US11265558B2 (en) * 2019-11-22 2022-03-01 Qualcomm Incorporated Cross-component adaptive loop filter

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024039088A1 (ko) * 2022-08-18 2024-02-22 현대자동차주식회사 비선형 교차 성분 관계에 기반하는 cc-alf를 이용하는 비디오 코딩을 위한 방법 및 장치

Also Published As

Publication number Publication date
US11722674B2 (en) 2023-08-08
WO2021083257A1 (en) 2021-05-06
JP7389251B2 (ja) 2023-11-29
US20220272389A1 (en) 2022-08-25
CN114631313A (zh) 2022-06-14
CN115244924A (zh) 2022-10-25
US11736697B2 (en) 2023-08-22
WO2021083259A1 (en) 2021-05-06
JP2022554307A (ja) 2022-12-28
JP7389252B2 (ja) 2023-11-29
EP4042684A4 (en) 2022-11-30
US20230396773A1 (en) 2023-12-07
US11622115B2 (en) 2023-04-04
JP2022554308A (ja) 2022-12-28
CN117528097A (zh) 2024-02-06
JP7485761B2 (ja) 2024-05-16
EP4042692A1 (en) 2022-08-17
WO2021083258A1 (en) 2021-05-06
JP2022554309A (ja) 2022-12-28
KR20220084059A (ko) 2022-06-21
EP4035363A4 (en) 2022-11-30
US20220272348A1 (en) 2022-08-25
JP2024010138A (ja) 2024-01-23
EP4042692A4 (en) 2022-11-30
KR20220083715A (ko) 2022-06-20
EP4035363A1 (en) 2022-08-03
EP4042684A1 (en) 2022-08-17
US20220264106A1 (en) 2022-08-18
CN114846793A (zh) 2022-08-02

Similar Documents

Publication Publication Date Title
KR20220084060A (ko) 크로스 컴포넌트 적응적 루프 필터의 시그널링
KR102630411B1 (ko) 크로마 잔차 조인트 코딩을 위한 구문 요소의 시그널링
WO2020228717A1 (en) Block dimension settings of transform skip mode
KR20220088427A (ko) 교차 성분 적응적 루프 필터
WO2021088951A1 (en) Quantization properties of adaptive in-loop color-space transform for video coding
KR20220047770A (ko) 변환 스킵된 블록들에 대한 잔차 코딩
JP7479456B2 (ja) ビデオ・データ処理方法及び装置並びに記憶媒体及び方法
KR20220115965A (ko) 비디오 코딩을 위한 일반적인 제약 정보
WO2021032165A1 (en) Usage of default and user-defined scaling matrices
WO2020228718A1 (en) Interaction between transform skip mode and other coding tools
KR20220044279A (ko) 팔레트 이스케이프 심벌에 대한 엔트로피 코딩
WO2021136470A1 (en) Clustering based palette mode for video coding
KR20230002433A (ko) 교차 성분 비디오 코딩 시그널링 신택스

Legal Events

Date Code Title Description
E902 Notification of reason for refusal