KR20220058899A - 비디오 코딩에서 적응형 루프 필터의 2-파트 시그널링 - Google Patents

비디오 코딩에서 적응형 루프 필터의 2-파트 시그널링 Download PDF

Info

Publication number
KR20220058899A
KR20220058899A KR1020227006935A KR20227006935A KR20220058899A KR 20220058899 A KR20220058899 A KR 20220058899A KR 1020227006935 A KR1020227006935 A KR 1020227006935A KR 20227006935 A KR20227006935 A KR 20227006935A KR 20220058899 A KR20220058899 A KR 20220058899A
Authority
KR
South Korea
Prior art keywords
way
alf
video
luma
aps
Prior art date
Application number
KR1020227006935A
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 KR20220058899A publication Critical patent/KR20220058899A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Abstract

이미지 및 비디오 코딩에서 적응형 루프 필터링의 사용을 시그널링하기 위한 방법, 시스템 및 장치가 설명된다. 비디오 프로세싱의 예시적인 방법은 비디오의 현재 영역과 비디오의 비트스트림 표현 사이의 변환을 위해, 변환 동안 루마 적응형 루프 필터가 사용되는지 여부 및 루마 적응형 루프 필터 계수가 비트스트림 표현에 포함되는지 여부를 결정하는 단계 - 비트스트림 표현의 단일 신택스 요소는 루마 적응형 루프 필터의 사용 및 루마 적응형 루프 필터 계수의 시그널링을 나타냄 -, 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.

Description

비디오 코딩에서 적응형 루프 필터의 2-파트 시그널링
이 특허 문서는 비디오 코딩 및 디코딩에 관한 것이다.
파리협약에 따른 대응하는 특허법 및/또는 규칙에 따라, 이 출원은 2019년 9월 18일에 출원된 국제 특허 출원 번호 PCT/CN2019/106420의 우선권과 이익을 적시에 주장하기 위해 이루어진다. 법에 따라 모든 목적을 위해, 상기 출원들의 전체 공개는 이 출원의 공개의 일환으로 참조에 의해 통합된다.
비디오 압축의 발전에도 불구하고 디지털 비디오는 여전히 인터넷 및 기타 디지털 통신 네트워크에서 가장 큰 대역폭을 사용한다. 비디오를 수신하고 표시할 수 있는 연결된 사용자 장치의 수가 증가함에 따라 디지털 비디오 사용에 대한 대역폭 수요가 계속 증가할 것으로 예상된다.
디지털 비디오 코딩(digital video coding), 특히 적응형 루프 필터링(daptive loop filtering)이 사용되는 비디오 및 이미지 코딩 및 디코딩과 관련된 장치, 시스템 및 방법.
하나의 예에서, 비디오 처리 방법이 공개된다. 방법은, 비디오의 현재 영역(current region)과 비디오의 비트스트림 표현(bitstream representation) 사이의 변환(conversion)을 위해, 변환 동안 루마 적응형 루프 필터(luma adaptive loop filter)가 사용되는지 여부 및 루마 적응형 루프 필터 계수(luma adaptive loop filter coefficient)가 비트스트림 표현에 포함되는지 여부를 결정하는 단계 - 비트스트림 표현의 단일 신택스 요소(syntax element)는 루마 적응형 루프 필터의 사용 및 루마 적응형 루프 필터 계수의 시그널링을 나타냄 -, 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은, 비디오의 현재 영역과 비디오의 비트스트림 표현 사이의 변환을 위해, 변환 동안 루마 적응형 루프 필터가 사용되는지 여부 및 루마 적응형 루프 필터 계수가 비트스트림 표현에 포함되는지 여부를 결정하는 단계 - 비트스트림 표현의 단일 신택스 요소는 루마 적응형 루프 필터의 사용 및 루마 적응형 루프 필터 계수의 시그널링을 나타냄 -; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은, 비디오의 현재 영역과 비디오의 비트스트림 표현 사이의 변환을 위해, 비트스트림 표현에서 시그널링된 비디오의 이전 영역의 0값 적응형 루프 필터 계수가 변환에 사용되지 않는다는 것을 결정하는 단계, 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 현재 영역과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 비트스트림 표현은 변환을 위해 인루프 필터링이 사용되는지 여부를 나타내는 플래그가 비디오의 슬라이스 레벨보다 작은 현재 영역을 포함하는 비디오 유닛 레벨에서 비트스트림 표현에 포함되는지 여부를 나타내는 플래그를 지정하는 신택스 규칙을 따른다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 현재 영역과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 여기서 변환은 적응형 루프 필터를 사용하는 단계를 포함하고, 비트스트림 표현은 적응형 루프 필터를 결정하는 기술을 나타내는 제1 파트, 및 기술에 의해 사용되는 인덱스를 나타내는 제2 파트를 포함하는 2-파트 시그널링을 사용하여 적응형 루프 필터를 나타내도록 구성된다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은, 비디오의 속성(property)에 기초하여, 현재 영역과 비디오의 비트스트림 표현 사이의 변환을 위한 공통 루프 필터링 설정(common loop filtering setting)을 공유하는 비디오의 현재 영역의 크기를 결정하는 단계, 및 결정하는 단계에 기초하여, 변환을 수행하는 단계를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 현재 영역(current region)과 비디오의 비트스트림 표현(bitstream representation) 사이에서 무손실 변환(lossless conversion)을 수행하는 단계를 포함하고, 여기서 비트스트림 표현은 무손실 변환으로 인해 비트스트림 표현에서 현재 영역과 연관된 신택스 필드의 값을 제한하는 신택스 규칙을 따른다.
또 다른 측면에서, 전술한 방법은 프로세서 실행 코드 형태로 구현되고 컴퓨터 판독 가능 프로그램 매체(computer-readable program medium)에 저장된다.
또 다른 측면에서, 전술한 방법을 수행하도록 구성되거나 작업 가능한 장치가 개시된다. 장치는 이 방법을 구현하도록 프로그래밍된 프로세서를 포함할 수 있다.
또 다른 예시적인 측면에서, 비디오 디코더 장치는 본 명세서에 설명된 바와 같은 방법을 구현할 수 있다.
개시된 기술의 상기 및 기타 측면 및 특징은 도면, 설명 및 청구범위에서 보다 상세하게 설명된다.
도 1은 인코더 블록도의 예를 나타낸다.
도 2는 GALF 필터 모양의 예를 보여준다(왼쪽: 5Х5 다이아몬드, 중간: 7Х7 다이아몬드, 오른쪽: 9Х9 다이아몬드).
도 3은 GALF에 대한 인코더 결정의 한 구현의 흐름도이다.
도 4는 CE2.6.2에 대한 서브샘플링된 라플라시안 계산의 예를 보여준다. 왼쪽 상단 (a) 수직 그레디언트의 서브샘플링된 위치, 오른쪽 상단 (b) 수평 그레디언트의 서브샘플링된 위치, 왼쪽 하단 (c) 대각선 그레디언트의 서브샘플링 위치 및 오른쪽 하단 (d) 대각선 그레디언트의 서브샘플링된 위치.
도 5는 픽처가 12개의 타일과 3개의 래스터 스캔 슬라이스로 파티션되는 픽처의 래스터 스캔 슬라이스 나누어지는 예를 도시한다.
도 6은 24개의 타일과 9개의 직사각형 슬라이스로 파티션된 18 x 12 루마 CTU를 갖는 픽처를 도시한다.
도 7은 4개의 타일, 11개의 브릭(brick) 및 4개의 직사각형 슬라이스로 파티션된 픽처의 예를 도시한다.
도 8은 28개의 서브픽처를 갖는 픽처를 도시한다.
도 9는 비디오 시스템의 블록도이다.
도 10은 예시적인 비디오 처리 장치의 블록도이다.
도 11 내지 17은 예시적인 비디오 처리 방법의 흐름도이다.
개시된 기술의 실시예는 압축 성능을 향상시키기 위해 기존 비디오 코딩 표준(예를 들어, HEVC, H.265)과 미래 표준에 적용될 수 있다. 섹션 제목은 설명의 가독성을 향상시키기 위해 본 문서에서 사용되며, 토론 또는 실시예(및/또는 구현)를 각 섹션으로만 제한하지 않는다.
1. 요약
이 문서는 비디오 코딩 기술(video coding technologies)과 관련이 있다. 구체적으로, 비디오 코딩 또는 디코딩에서의 적응형 루프 필터와 관련된다. HEVC와 같은 기존 비디오 코딩 표준 또는 최종 확정될 표준(다목적 비디오 코딩)에 적용될 수 있다. 미래의 비디오 부호화 표준이나 비디오 코덱에도 적용 가능(applicable)하다.
2. 초기 논의
비디오 코딩 표준은 주로 잘 알려진 ITU-T 및 ISO/IEC 표준의 개발을 통해 발전해 왔다. ITU-T는 H.261및 H.263을 제작했으며, ISO/IEC는 MPEG-1 및 MPEG-4 비주얼을 제작했으며, 두 조직은 H.262/MPEG-2 비디오 및 H.264/MPEG-4 고급 비디오 코딩(AVC) 및 H.265/HEVC 표준을 공동 제작했다. H.262 이후, 비디오 코딩 표준은 시간적 예측(temporal prediction)과 트랜스폼 코딩(transform coding)이 사용되는 하이브리드 비디오 코딩 구조에 기초한다. HEVC를 넘어 미래의 비디오 코딩 기술을 연구하기 위해, 공동 비디오 연구팀(JVET: Joint Video Exploration Team)이 2015년에 VCEG와 MPEG의 공동으로 설립되었다. 그 이후로, JVET에 의해 많은 새로운 방법들이 채택되었고, 공동 연구 모델 (JEM: Joint Exploration Model)이라고 명명된 참조 소프트웨어(reference software)에 적용되었다. 2018년 4월, VCEG(Q6/16)와 ISO/IEC JTC1 SC29/WG11(MPEG) 사이의 공동 비디오 전문가 팀(Joint Video Expert Team)(JVET)는 HEVC에 비해 50% 비트 전송률 감소를 목표로 하는 VVC 표준 작업을 위해 만들어졌다.
VVC 초안의 최신 버전, 즉 범용 비디오 코딩(Versatile Video Coding)(드래프트(Draft) 5)은 다음 위치에서 찾을 수 있다.
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/15_Gothenburg/wg11/JVET-O2001-v14.zip
VTM이라는 VVC의 최신 참조 소프트웨어는 다음에서 찾을 수 있다.
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-2.1
2.1. 컬러 공간 및 크로마 서브샘플링(Color space and chroma subsampling)
컬러 모델(또는 컬러 시스템)이라고도 하는 컬러 공간은 일반적으로 3또는 4값 또는 컬러 컴포넌트(예를 들어, RGB)로 컬러 범위를 숫자의 줄로 묘사하는 추상적인 수학적 모델이다. 기본적으로 컬러 공간은 좌표계와 서브 공간의 정교화이다.
비디오 압축의 경우 가장 자주 사용되는 컬러 공간은 YCbCr 및 RGB이다.
YCBCR 또는 Y'CBCR로도 작성된 YCbCr, Y'CbCr 또는 Y Pb/Cb Pr/Cr은 비디오 및 디지털 픽처 시스템에서 컬러 이미지 파이프 라인의 일부로 사용되는 컬러 공간 제품군이다. Y'는 루마 컴포넌트고 CB와 CR은 청색-차이 및 적색-차이 크로마 컴포넌트다. Y'(프라임 포함) 는 루미넌스(luminance) 인 Y와 구별되고, 즉, 감마 보정 RGB 원색을 기반으로 광 강도가 비선형 인코딩된다.
크로마 서브샘플링(Chroma subsampling)은 루마보다 컬러 차이에 대한 인간 시각 시스템의 낮은 선명도를 사용하여 루마 정보보다 크로마 정보에 대해 더 낮은 해상도를 구현하여 이미지를 인코딩하는 방식이다.
2.1.1. 4:4:4
3개의 Y'CbCr 컴포넌트 각각은 동일한 샘플링 레이트를 가지므로 크로마 서브샘플링이 없다. 이 방식(scheme)은 때때로 고급 필름 스캐너와 시네마틱 포스트 프로덕션에 사용된다.
2.1.2. 4:2:2
두 크로마 컴포넌트는 루마의 샘플 비율의 절반으로 샘플링되고: 수평 크로마 해상도가 반으로 줄어든다. 이렇게 하면 압축되지 않은 비디오 신호의 대역폭이 시각적 차이가 거의 또는 전혀 없는 3분의 1로 줄어든다.
2.1.3. 4:2:0
4:2:0에서, 수평 샘플링은 4:1:1에 비해 두 배가되지만, Cb 및 Cr 채널은 이 방식의 각 대체 줄에서만 샘플링되기 때문에 수직 해상도가 반으로 줄어든다. 따라서 데이터 속도(data rate)는 동일하다. Cb와 Cr은 각각 수평 및 수직 모두에서 2의 인자로 서브샘플링 된다. 4:2:0 방식의 세 가지 변형이 있으며, 수평 및 수직 위치가 상이하다.
Figure pct00001
MPEG-2에서는 Cb와 Cr이 수평으로 구비된다. Cb와 Cr은 수직 방향의 픽셀 사이에 위치된다(중간에 위치됨).
Figure pct00002
JPEG/JFIF, H.261 및 MPEG-1에서 Cb와 Cr은 대체 루마 샘플 사이의 중간에 교차하여 위치된다.
Figure pct00003
4:2:0 DV에서 Cb와 Cr은 수평 방향으로 공동 위치로 지정된다. 수직 방향으로는 교대선에 공동으로 구성된다.
2.2 일반적인 비디오 코덱의 코딩 흐름
도 1은 3개의 인루프 필터링 블록을 포함하는 VVC의 인코더 블록도의 예를 보여준다: 디블로킹 필터(deblocking filter)(DF), 샘플 적응형 오프셋(sample adaptive offset)(SAO) 및 ALF. 미리 정의된 필터를 사용하는 DF와 달리, SAO 및 ALF는 오프셋을 추가하고 오프셋 및 필터 계수를 시그널링 하는 코딩된 부가 정보(side information)와 함께 유한 임펄스 응답(finite impulse response)(FIR) 필터를 각각 적용하여 원래 샘플과 재구성된 샘플 사이의 평균 제곱 오류를 줄이기 위해 현재 픽처의 원래 샘플을 활용한다. ALF는 각 픽처의 마지막 처리 단계에 위치하며 이전 단계에서 만든 아티팩트를 포착하고 수정하려는 툴(tool)로 간주될 수 있다.
2.3. JEM의 기하학적 트랜스포메이션-기반 적응형 루프 필터
JEM에서는 블록-기반 필터 적응을 가지는 기하학적 트랜스포메이션-기반 적응형 루프 필터(GALF)가 적용된다. 루마 컴포넌트의 경우 로컬 그레디언트(local gradient)들의 방향과 활성도(activity)에 기초하여 2x2 블록마다 25개의 필터들 중 하나가 선택된다.
2.3.1. 필터 형상.
JEM에서 최대 3개의 다이아몬드 필터 모양(도 2 참조)을 루마 컴포넌트에 대해 선택할 수 있다. 루마 컴포넌트에 사용되는 필터 형상을 나타내기 위해 픽처 레벨에서 인덱스가 시그널링된다.
도 2는 GALF 필터 모양의 예를 보여준다(왼쪽: 5Х5 다이아몬드, 중간: 7Х7 다이아몬드, 오른쪽: 9Х9 다이아몬드).
픽처의 크로마 컴포넌트들에는 항상 5Υ5 다이아몬드 형상이 사용된다.
2.3.1.1. 블록 분류
블록은 25개의 클래스들 중 하나로 분류된다. 분류 인덱스 C는 방향성 D와 활성도
Figure pct00004
의 양자화된 값에 기초하여 다음과 같이 유도된다:
Figure pct00005
(1)
D 및
Figure pct00006
를 계산하기 위해, 먼저 1차원 라플라시안(1-D Laplacian)을 사용하여 수평, 수직 및 두 대각선 방향(diagonal direction)의 그레디언트를 계산한다.
Figure pct00007
인덱스 i와 j는 2Υ2 블록에서 왼쪽 상단 샘플의 좌표들을 참고하고, R(i,j)는 좌표 (i,j)에서 재구성된 샘플을 나타낸다.
그런 다음 수평 및 수직 방향들의 그레디언트들의 D 최댓값과 최소값은 다음과 같이 설정된다:
Figure pct00008
두 대각선 방향들의 그레디언트의 최댓값과 최소값은 다음과 같이 설정된다:
Figure pct00009
방향성 D의 값을 유도하기 위해, 이러한 값을 서로 비교하고 두 개의 임계값 t1 및 t2와 비교된다:
단계 1.
Figure pct00010
Figure pct00011
가 모두 참이면, D는 0으로 설정된다.
단계 2.
Figure pct00012
인 경우, 3단계에서 계속하고, 그렇지 않으면 단계 4부터 계속한다.
단계 3.
Figure pct00013
인 경우, D는 2로 설정되고; 그렇지 않으면 D는 1로 설정된다.
단계 4.
Figure pct00014
인 경우, D는 4로 설정되고; 그렇지 않으면 D는 3으로 설정된다.
활성도 값(activity value) A는 다음과 같이 계산된다:
Figure pct00015
A는 0 내지 4까지의 범위로 더 양자화되고, 양자화된 값은
Figure pct00016
로 표시된다.
픽처의 두 크로마 컴포넌트들에 대해, 분류 방법이 적용되지 않고, 즉, 각 크로마 컴포넌트에 대해 ALF 계수들의 단일 세트가 적용된다.
2.3.1.2. 필터 계수들의 기하학적 트랜스포메이션
각 2Υ2 블록을 필터링하기 전에, 회전 또는 대각선 및 수직 뒤집기(diagonal and vertical flipping)과 같은 기하학적 트랜스포메이션은 그 블록에 대해 계산된 그레디언트 값에 의존하여 필터 계수들 f(k,l)에 적용된다. 이는 필터 지원 영역(filter support region)의 샘플에 이러한 트랜스포메이션을 적용하는 것과 같다. 아이디어는 ALF가 적용되는 다른 블록들을, 방향성을 정렬하여 더 유사하게 만드는 것이다.
대각선, 수직 뒤집기 및 회전을 포함하는 세 가지 기하학적 트랜스포메이션이 도입된다.
Figure pct00017
여기서, K는 필터의 크기이고, 0≤k,l≤K-1은 계수 좌표들로서, 위치 (0,0)은 왼쪽 상단 모서리에 있고 위치 (K-1,K-1)은 오른쪽 하단 모서리에 있도록 한다. 트랜스포메이션은 그 블록에 대해 계산된 그레디언트 값에 의존하여 필터 계수들 f(k, l)에 적용된다. 트랜스포메이션과 네 방향들의 네 그레디언트들 사이의 관계는 표 1에 요약되어 있다.
한 블록 및 트랜스포메이션에 대해 계산된 그레디언트 매핑(mapping)
그레디언트 값 트랜스포메이션
gd2 < gd1 및 gh < gv 트랜스포메이션 없음
gd2 < gd1 및 gv < gh 대각선
gd1 < gd2 및 gh < gv 수직 뒤집기
gd1 < gd2 및 gv < gh 회전
2.3.1.3. 필터 파라미터 시그널링
JEM에서, GALF 필터 파라미터는 제1 CTU에 대해, 즉 슬라이스 헤더(slice header) 뒤 및 제1 CTU의 SAO 파라미터 이전에 시그널링된다. 최대 25개 세트의 루마 필터 계수들이 시그널링될 수 있다. 비트 오버헤드(bits overhead)를 감소시키기 위해 다른 분류의 필터 계수들이 병합될 수 있다. 또한, 레퍼런스 픽처의 GALF 계수가 저장되고 현재 픽처의 GALF 계수로 재사용될 수 있다. 현재 픽처는 레퍼런스 픽처에 대해 저장된 GALF 계수를 사용하고 GALF 계수들 시그널링을 우회하도록 선택할 수 있다. 이 경우, 레퍼런스 픽처들 중 하나에 대한 인덱스만 시그널링되고, 나타난(indicated) 레퍼런스 픽처의 저장된 GALF 계수들은 현재 픽처에 대해 상속된다.
GALF 시간적 예측을 지원하기 위해 GALF 필터 세트의 후보 목록이 유지된다. 새로운 시퀀스를 디코딩하기 시작할 때 후보 목록은 비어 있다. 하나의 픽처를 디코딩한 후, 대응하는 필터들의 세트가 후보 목록에 추가될 수 있다. 후보 목록의 크기가 최대 허용 값(즉, 현재 JEM에서 6)에 도달하면, 새로운 필터들의 세트가 디코딩 순서에서 가장 오래된 세트를 겹쳐쓰고(overwrite), 즉, 선입선출(first-in-first-out, FIFO) 규칙을 적용하여 후보 목록을 업데이트한다. 중복을 방지하기 위해, 대응하는 픽처가 GALF 시간적 예측을 사용하지 않는 경우에만 세트가 목록에 추가될 수 있다. 시간적 스케일러빌리티(temporal scalability)를 지원하기 위해 필터 세트의 다중 후보 목록이 있고 각 후보 목록은 시간적 계층과 연관된다. 더 구체적으로, 시간적 계층 인덱스(temporal layer index)(TempIdx)에 의해 할당된 각 에레이는 더 낮은 TempIdx와 동일한 이전에 디코딩된 픽처의 필터 세트를 구성할 수 있다. 예를 들어, k번째 에레이는 TempIdx가 k와 연관되도록 할당되고 TempIdx가 k보다 작거나 같은 픽처들로부터의 필터 세트만 포함한다. 특정 픽처를 부호화한 후 픽처와 연관된 필터 세트는 동일하거나 더 높은 TempIdx와 연관된 에레이를 업데이트하기 위해 이용된다.
GALF 계수의 시간적 예측은 시그널링 오버헤드를 최소화하기 위해 상호 부호화된 프레임에 사용된다. 인트라 프레임의 경우 시간적 예측을 사용할 수 없고 각 클래스에 16개의 고정된 필터들의 세트가 할당된다. 고정된 필터의 사용을 나타내기 위해, 각 클래스에 대한 플래그가 표시되고 필요한 경우 선택된 고정된 필터의 인덱스가 표시된다. 주어진 클래스에 대해 고정된 필터가 선택된 경우에도, 적응형 필터 f(k,l)의 계수들은 이 클래스에 대해 여전히 전송될 수 있고, 이 경우 재구성된 이미지에 적용될 필터의 계수들은 두 계수들의 세트(both sets of coefficients)의 합이다.
루마 컴포넌트의 필터링 프로세스는 CU 레벨에서 제어될 수 있다. GALF가 CU의 루마 컴포넌트에 적용되는지 여부를 나타내기 위해 플래그(flag)가 시그널링된다. 크로마 컴포넌트의 경우, GALF 적용 여부는 픽처 레벨에서만 나타난다.
2.3.1.4. 필터링 프로세스.
복호기 측에서 블록에 대해 GALF가 활성화되면 블록 내의 각 샘플 R(i,j)가 필터링되어 아래와 같이 샘플 값 R'(i,j)가 생성되고, 여기서 L은 필터 길이, fm,n 은 필터 계수, f(k,l)은 부호화된 필터 계수를 나타낸다.
Figure pct00018
2.3.1.5. 인코딩 측 필터 파라미터 결정 프로세스
GALF에 대한 전반적인 인코더 의사 결정 과정은 도 3에 설명되어 있다. 각 CU의 루마 샘플들에 대해 부호기는 GALF가 적용되고 적절한 시그널링 플래그가 슬라이스 헤더에 포함되는지 여부를 결정한다. 크로마 샘플의 경우 필터 적용 결정은 CU 레벨이 아닌 픽처 레벨을 기반으로 이루어진다. 또한, 픽처에 대한 크로마 GALF는 픽처에 대해 루마 GALF가 활성화되는 경우에만 확인된다.
2.4. VVC에서 기하학적 트랜스포메이션 기반 적응형 루프 필터의 예들.
VVC의 GALF의 현재 설계는 JEM의 설계와 비교하여 다음과 같은 주요 변경 사항들이 있다.
1) 적응형 필터 형상이 제거된다. 루마 컴포넌트에는 7x7 필터 형상만 허용되고 크로마 컴포넌트에는 5x5 필터 형상이 허용된다.
2) ALF 파라미터들의 시간적 예측과 고정된 필터들의 예측이 모두 제거된다.
3) 각 CTU에 대해 ALF가 활성화 또는 비활성화되었는지 여부에 따라 하나의 비트 플래그가 시그널링된다.
4) 클래스 인덱스 계산은 2x2가 아닌 4x4 레벨로 수행된다. 또한 JVET-L0147에서 제안된 바와 같이 ALF 분류를 위한 서브샘플링된 라플라시안 계산 방법이 활용된다. 보다 구체적으로, 하나의 블록 내에서 각 샘플에 대해 수평/수직/45 대각선/135도 그레디언트들을 계산할 필요가 없다. 대신 1:2 서브샘플링이 활용된다.
도 4는 CE2.6.2에 대한 서브샘플링된 라플라시안 계산의 예를 보여준다. 왼쪽 상단 (a) 수직 그레디언트의 서브샘플링된 위치, 오른쪽 상단 (b) 수평 그레디언트의 서브샘플링된 위치, 왼쪽 하단 (c) 대각선 그레디언트의 서브샘플링 위치 및 오른쪽 하단 (d) 대각선 그레디언트의 서브샘플링된 위치.
2.5. 적응형 파라미터 세트에서 적응형 루프 필터 파라미터의 시그널링
VVC 드래프트의 최신 버전에서 ALF 파라미터는 APS(Adaptation Parameter Set)에서 시그널링될 수 있으며 각 CTU에서 적응적으로 선택할 수 있다.
ALF(JVET-O2001-vE에서)의 세부적인 시그널링은 다음과 같다.
7.3.2.5 적응형 파라미터 세트 신택스
Figure pct00019
7.3.2.14 적응형 루프 필터 데이터 신택스
Figure pct00020
Figure pct00021
7.4.3.5 적응형 파라미터 세트 시맨틱(Adaptation parameter set semantics)
각 APS RBSP는 참조되거나 외부 수단을 통해 제공되는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같은 TemporalId를 갖는 적어도 하나의 액세스 유닛에 포함되어 참조되기 전에 디코딩 프로세스에서 사용할 수 있다.
aspLayerId를 APS NAL 유닛의 nuh_layer_id라고 하자. 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 유닛을 포함하는 계층의 직접 종속 계층의 nuh_layer_id와 동일한 nuh_layer_id를 가져야 한다. .
액세스 유닛(access unit) 내의 특정 값의 adaptation_parameter_set_id와 aps_params_type의 특정 값을 가진 모든 APS NAL 유닛은 동일한 내용을 가져야 한다.
Adaptation_parameter_set_id는 다른 신택스 요소가 참조할 수 있도록 APS에 대한 식별자(identifier)를 제공한다.
aps_params_type이 ALF_APS 또는 SCALING_APS와 동일할 때 adaptation_parameter_set_id의 값은 0에서 7까지가 포함되는 범위에 있어야 한다.
aps_params_type이 LMCS_APS와 같을 때, adaption_parameter_set_id의 값은 0에서 3까지가 포함되는 범위에 있어야 한다.
aps_params_type은 에 지정된 대로 APS에서 전달되는 APS 파라미터의 유형을 지정한다. aps_params_type이 1(LMCS_APS)과 같을 때 adaptation_parameter_set_id의 값은 0에서 3까지가 포함되는 범위에 있어야 한다.
표 7-2 - APS 파라미터 유형 코드 및 APS 파라미터 유형
Figure pct00022
노트 1 - APS의 각 유형은 adaptation_parameter_set_id에 대해 별도의 값 공간을 사용한다.
노트 2 - APS NAL 유닛(adaptation_parameter_set_id의 특정 값과 aps_params_type의 특정 값을 가짐)는 픽처 사이에 공유될 수 있으며 픽처 내의 서로 다른 슬라이스는 서로 다른 ALF APS를 참조할 수 있다.
0과 동일한 aps_extension_flag는 APS RBSP 신택스 구조에 aps_extension_data_flag 신택스 요소가 존재하지 않음을 지정한다. 1과 동일한 aps_extension_flag는 APS RBSP 신택스 구조에 존재하는 aps_extension_data_flag 신택스 요소가 있음을 지정한다.
aps_extension_data_flag는 임의의 값을 가질 수 있다. 그것의 존재와 가치는 이 사양의 이 버전에 지정된 프로파일에 대한 디코더 적합성에 영향을 미치지 않는다. 이 사양의 이 버전을 따르는 디코더는 모든 aps_extension_data_flag 신택스 요소를 무시해야 한다.
7.4.3.14 적응형 루프 필터 데이터 시맨틱(Adaptive loop filter data semantics)
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에서 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 ]의 길이는 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 ]가 시그널링되지 않음을 표시한다.
alf_luma_coeff_flag[ sfIdx ] = 1은 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 ] * (7-47)
( 1 - 2 * alf_luma_coeff_sign[ sfIdx ][ j ] )
filtIdx = 0..NumAlfFilters - 1 및 j = 0..11인 루마 필터 계수 AlfCoeffL[ adapt_parameter_set_id ]는 AlfCoeffL[ adaptation_parameter_set_id ][ filtIdx ][ j ] 요소와 함께 다음과 같이 유도된다:
AlfCoeffL[ adapt_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인 AlfClassToFiltMap[ m ][ n ] 매핑 필터 클래스. .24는 다음과 같이 유도된다:
AlfFixFiltCoeff = (7-49)
{
{ 0, 0, 2, -3, 1, -4, 1, 7, -1, 1, -1, 5}
{ 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, -1, 2}
{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1}
{ 2, 2, -7, -3, 0, -5, 13, 22, 12, -3, -3, 17}
{-1, 0, 6, -8, 1, -5, 1, 23, 0, 2, -5, 10}
{ 0, 0, -1, -1, 0, -1, 2, 1, 0, 0, -1, 4}
{ 0, 0, 3, -11, 1, 0, -1, 35, 5, 2, -9, 9}
{ 0, 0, 8, -8, -2, -7, 4, 4, 2, 1, -1, 25}
{ 0, 0, 1, -1, 0, -3, 1, 3, -1, 1, -1, 3}
{ 0, 0, 3, -3, 0, -6, 5, -1, 2, 1, -4, 21}
{-7, 1, 5, 4, -3, 5, 11, 13, 12, -8, 11, 12}
{-5, -3, 6, -2, -3, 8, 14, 15, 2, -7, 11, 16}
{ 2, -1, -6, -5, -2, -2, 20, 14, -4, 0, -3, 25}
{ 3, 1, -8, -4, 0, -8, 22, 5, -3, 2, -10, 29}
{ 2, 1, -7, -1, 2, -11, 23, -5, 0, 2, -10, 29}
{-6, -3, 8, 9, -4, 8, 9, 7, 14, -2, 8, 9}
{ 2, 1, -4, -7, 0, -8, 17, 22, 1, -1, -4, 23}
{ 3, 0, -5, -7, 0, -7, 15, 18, -5, 0, -5, 27}
{ 2, 0, 0, -7, 1, -10, 13, 13, -4, 2, -7, 24}
{ 3, 3, -13, 4, -2, -5, 9, 21, 25, -2, -3, 12}
{-5, -2, 7, -3, -7, 9, 8, 9, 16, -2, 15, 12}
{ 0, -1, 0, -7, -5, 4, 11, 11, 8, -6, 12, 21}
{ 3, -2, -3, -8, -4, -1, 16, 15, -2, -3, 3, 26}
{ 2, 1, -5, -4, -1, -8, 16, 4, -2, 1, -7, 33}
{ 2, 1, -4, -2, 1, -10, 17, -2, 0, 2, -11, 33}
{ 1, -2, 7, -15, -16, 10, 8, 8, 20, 11, 14, 11}
{ 2, 2, 3, -13, -13, 4, 8, 12, 2, -3, 16, 24}
{ 1, 4, 0, -7, -8, -4, 9, 9, -2, -2, 8, 29}
{ 1, 1, 2, -4, -1, -6, 6, 3, -1, -1, -3, 30}
{-7, 3, 2, 10, -2, 3, 7, 11, 19, -7, 8, 10}
{ 0, -2, -5, -3, -2, 4, 20, 15, -1, -3, -1, 22}
{ 3, -1, -8, -4, -1, -4, 22, 8, -4, 2, -8, 28}
{ 0, 3, -14, 3, 0, 1, 19, 17, 8, -3, -7, 20}
{ 0, 2, -1, -8, 3, -6, 5, 21, 1, 1, -9, 13}
{-4, -2, 8, 20, -2, 2, 3, 5, 21, 4, 6, 1}
{ 2, -2, -3, -9, -4, 2, 14, 16, 3, -6, 8, 24}
{ 2, 1, 5, -16, -7, 2, 3, 11, 15, -3, 11, 22}
{ 1, 2, 3, -11, -2, -5, 4, 8, 9, -3, -2, 26}
{ 0, -1, 10, -9, -1, -8, 2, 3, 4, 0, 0, 29}
{ 1, 2, 0, -5, 1, -9, 9, 3, 0, 1, -7, 20}
{-2, 8, -6, -4, 3, -9, -8, 45, 14, 2, -13, 7}
{ 1, -1, 16, -19, -8, -4, -3, 2, 19, 0, 4, 30}
{ 1, 1, -3, 0, 2, -11, 15, -5, 1, 2, -9, 24}
{ 0, 1, -2, 0, 1, -4, 4, 0, 0, 1, -4, 7}
{ 0, 1, 2, -5, 1, -6, 4, 10, -2, 1, -4, 10}
{ 3, 0, -3, -6, -2, -6, 14, 8, -1, -1, -3, 31}
{ 0, 1, 0, -2, 1, -6, 5, 1, 0, 1, -5, 13}
{ 3, 1, 9, -19, -21, 9, 7, 6, 13, 5, 15, 21}
{ 2, 4, 3, -12, -13, 1, 7, 8, 3, 0, 12, 26}
{ 3, 1, -8, -2, 0, -6, 18, 2, -2, 3, -10, 23}
{ 1, 1, -4, -1, 1, -5, 8, 1, -1, 2, -5, 10}
{ 0, 1, -1, 0, 0, -2, 2, 0, 0, 1, -2, 3}
{ 1, 1, -2, -7, 1, -7, 14, 18, 0, 0, -7, 21}
{ 0, 1, 0, -2, 0, -7, 8, 1, -2, 0, -3, 24}
{ 0, 1, 1, -2, 2, -10, 10, 0, -2, 1, -7, 23}
{ 0, 2, 2, -11, 2, -4, -3, 39, 7, 1, -10, 9}
{ 1, 0, 13, -16, -5, -6, -1, 8, 6, 0, 6, 29}
{ 1, 3, 1, -6, -4, -7, 9, 6, -3, -2, 3, 33}
{ 4, 0, -17, -1, -1, 5, 26, 8, -2, 3, -15, 30}
{ 0, 1, -2, 0, 2, -8, 12, -6, 1, 1, -6, 16}
{ 0, 0, 0, -1, 1, -4, 4, 0, 0, 0, -3, 11}
{ 0, 1, 2, -8, 2, -6, 5, 15, 0, 2, -7, 9}
{ 1, -1, 12, -15, -7, -2, 3, 6, 6, -1, 7, 30}
},
AlfClassToFiltMap = (7-50)
Figure pct00023
filtIdx = 0..NumAlfFilters - 1, j = 0..11인 AlfCoeffL[ adaptation_parameter_set_id ][ filtIdx ][ j ] 값이 -27 ~ 27 - 1 이 포함되는 범위에 있어야 하는 것은 비트스트림 적합성의 요구 사항이다.
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은 크로마 컴포넌트에 대한 대체 필터의 수를 지정한다.
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를 갖는 대체 크로마 필터에 대한 j번째 크로마 필터 계수의 절대값을 지정한다. alf_chroma_coeff_abs[ altIdx ][ j ]가 존재하지 않는 경우, 0과 동일한 것으로 유추된다. alf_chroma_coeff_abs[ altIdx ][ j ]의 값이 0에서 27-1가 포함되는 범위에 있어야 하는 것은 비트스트림 적합성의 요구 사항이다.
exp-Golomb 이진화 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_minus:1, j = 0..5인 요소 AlfCoeffC[ adaptation_parameter_set_id ][ altIdx ][ j ]를 갖는 크로마 필터 계수 AlfCoeffC[ adapt_parameter_set_id ][ altIdx ]는 다음과 같이 유도된다:
AlfCoeffC[ adapt_parameter_set_id ][ altIdx ][ j ] = alf_chroma_coeff_abs[ altIdx ][ j ] * (7-51)
( 1 - 2 * alf_chroma_coeff_sign[ altIdx ][ j ] )
altIdx = 0..alf_chroma_num_alt_filters_minus1, j = 0..5인 AlfCoeffC[ adaptation_parameter_set_id ][ altIdx ][ j ] 값이 -1,27 - 이 포함되는 범위에 있어야 하는 것은 비트스트림 적합성의 요구 사항이다.
alf_chroma_clip_idx[ altIdx ][ j ]는 대체 크로마 필터의 j번째 계수와 인덱스 altIdx를 곱하기 전에 사용할 클리핑 값의 클리핑 인덱스를 지정한다. 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인 AlfClipC[ 적응_parameter_set_id ][ altIdx ][ j ] 요소가 있는 크로마 필터 클리핑 값 AlfClipC[ 적응_parameter_set_id ][ altIdx ]는 BitDepthC와 동일하게 설정된 bitDepth 및 alf_chroma_clip_idx[ altIdx ][ j ]와 동일하게 설정된 clipIdx에 따라 표 7-4에 지정된 바와 같이 유도된다.
표 7-4 - bitDepth 및 clipIdx에 따른 사양 AlfClip
Figure pct00024
2.6. CTU에 대한 ALF 파라미터의 시그널링(Signaling of ALF parameters for a CTU)
VTM6에서, ALF 필터 파라미터는 APS(Adaptation Parameter Set)에서 시그널링된다. 하나의 APS에서, 최대 25세트의 루마 필터 계수 및 클리핑 값 인덱스와 최대 8세트의 크로마 필터 계수 및 클리핑 값 인덱스가 시그널링될 수 있다. 비트 오버헤드(bits overhead)를 감소시키기 위해, 다른 분류의 필터 계수들이 병합될 수 있다. 슬라이스 헤더에서, 현재 슬라이스에 사용되는 APS의 인덱스가 시그널링된다.
APS에서 디코딩된 클리핑 값 인덱스를 사용하면 클리핑 값의 루마 표((Luma Table)와 클리핑 값의 크로마 표(Chroma Table)를 사용하여 클리핑 값을 결정할 수 있다. 이러한 클리핑 값은 내부 bitdepth에 따라 다르다. 보다 정확하게는 클리핑 값의 루마 표와 클리핑 값의 크로마 표는 다음 공식으로 구한다:
Figure pct00025
B는 내부 bitdepth와 같고 N은 VTM6.0에서 허용되는 클리핑 값의 수인 4와 같다.
슬라이스 헤더에서, 현재 슬라이스에 사용되는 루마 필터 세트를 지정하기 위해 최대 7개의 APS 인덱스가 시그널링될 수 있다. 필터링 프로세스는 CTB 레벨에서 추가로 제어할 수 있다. ALF가 루마 CTB에 적용되는지 여부를 나타내기 위해 플래그가 항상 시그널링된다. 루마 CTB는 16개의 고정 필터 세트 중에서 필터 세트를 선택하고 APS에서 필터 세트를 선택할 수 있다. 필터 세트 인덱스는 어떤 필터 세트가 적용되는지를 나타내기 위해 루마 CTB에 대해 시그널링 된다. 16개의 고정 필터 세트는 인코더와 디코더 모두에서 미리 정의되고 하드 코딩된다.
크로마 컴포넌트의 경우, APS 인덱스는 현재 슬라이스에 사용되는 크로마 필터 세트를 나타내기 위해 슬라이스 헤더에서 시그널링된다. CTB 레벨에서 APS에 설정된 크로마 필터가 두 개 이상인 경우 각 크로마 CTB에 대해 필터 인덱스가 시그널링된다.
보다 구체적으로 다음이 적용된다:
슬라이스 온/오프 제어 플래그는 먼저 슬라이스의 적어도 하나의 CTU가 ALF를 적용하는지 여부를 나타내기 위해 코딩된다. true인 경우 각 CTU에 대해 다음을 확인하고 순서대로 시그널링 된다:
루마 파트 관련:
1. ALF가 루마 CTB에 적용되는지 여부이다. 그렇다면, 단계 2로 이동한다. 그렇지 않으면 더 이상의 시그널링이 필요하지 않다.
2. 현재 슬라이스에 사용된 ALF APS의 수를 확인하고 numALFAPS로 표시한다.
3. numALFAPS가 0이면 고정 필터의 인덱스(예를 들어, alf_luma_fixed_filter_idx)가 시그널링된다. 그렇지 않으면, 다음이 적용된다:
- 제1 ALF APS에서 예측되었는지 여부를 나타내는 플래그에 시그널링한다
- 그렇지 않은 경우, 단계 4로 간다. 그렇지 않으면, 루마 CTB에 대한 ALF 파라미터의 시그널링이 중지된다.
4. numALFAPS가 1보다 크면, ALF APS에서 예측되었는지 여부를 나타내는 플래그를 시그널링한다.
- 그렇지 않은 경우, 고정 필터의 인덱스에 시그널링 한다;
- 예이면, numALFAPS가 2보다 크면 ALF APS의 인덱스에서 1을 뺀 단항으로 시그널링 한다.
크로마 파트 관련:
1. Cb/Cr CTB에 ALF 적용 여부. 그렇다면, 단계 2로 이동한다. 그렇지 않으면, 더 이상의 시그널링이 필요하지 않다.
2. i번째 ALF APS와 연관된 필터의 인덱스를 시그널링하며, 여기서 APS 인덱스는 슬라이스 헤더에서 시그널링된다.
7.3.8.2 코딩 트리 유닛 신택스
Figure pct00026
2.7. 픽처, 서브픽처, 슬라이스, 타일, 브릭 및 CTU 파티션
서브픽처: 픽처 내에서 하나 이상의 슬라이스로 구성된 직사각형 영역이다.
슬라이스: 단일 NAL 유닛에 독점적으로 포함된 픽처의 브릭 정수이다.
노트 - 슬라이스는 여러 개의 완전한 타일 또는 한 타일의 완전한 브릭의 연속 시퀀스로 구성된다.
타일: 픽처의 특정 타일 열과 특정 타일 행 내 CTU의 직사각형 영역이다.
브릭: 픽처의 특정 타일에 있는 CTU 행의 직사각형 영역이다.
노트 - 타일은 타일 내에서 하나 이상의 CTU 행으로 구성된 여러 브릭으로 파티션될 수 있다. 여러 개의 브릭으로 파티션되지 않은 타일을 브릭이라고도 한다. 그러나, 타일의 진정한 서브 세트인 브릭은 타일이라고 하지 않는다.
브릭 스캔: CTU의 특정 순차적 순서는 CTU가 브릭의 CTU 래스터 스캔에서 연속적으로 정렬되는 픽처를 피티션 하고, 타일 *?*내의 브릭은 타일 브릭의 래스터 스캔에서 연속적으로 순서화되고, 픽처의 타일은 픽처 타일의 래스터 스캔에서 연속적으로 순서화된다.
픽처는 하나 이상의 타일 행과 하나 이상의 타일 열로 나뉜다. 타일은 픽처의 직사각형 영역을 커버하는 일련의 CTU이다.
타일은 하나 이상의 브릭으로 나뉘고, 각 브릭은 타일 내의 여러 CTU 행으로 구성된다.
여러 개의 브릭으로 파티션되지 않은 타일을 브릭이라고도 한다. 그러나, 타일의 진정한 서브 세트인 브릭은 타일이라고 하지 않는다.
슬라이스는 픽처의 타일 수 또는 타일의 브릭 수를 포함한다.
서브픽처에는 픽처의 직사각형 영역을 집합적으로 커버하는 이상의 슬라이스를 포함한다.
두 가지 슬라이스 모드, 즉 래스터 스캔 슬라이스 모드와 직사각형 슬라이스 모드가 지원된다. 래스터 스캔 슬라이스 모드에서 슬라이스는 픽처의 타일 래스터 스캔에서 타일 시퀀스를 포함한다. 직사각형 슬라이스 모드에서 슬라이스에는 픽처의 직사각형 영역을 세트적으로 형성하는 여러 개의 픽처의 브릭을 포함한다. 직사각형 슬라이스 내의 브릭은 슬라이스의 브릭 래스터 스캔 순서이다.
도 5는 픽처가 12개의 타일과 3개의 래스터 스캔 슬라이스로 파티션되는 픽처의 래스터 스캔 슬라이스 나누어지는 예를 도시한다.
도 6은 24개의 타일(6개의 타일 열 및 4개의 타일 행) 및 9개의 직사각형 슬라이스로 나뉘어지는 픽처의 직사각형 슬라이스 파티션의 예를 도시한다.
도 7은 타일, 브릭 및 직사각형 슬라이스로 파티션된 픽처의 예를 보여주고, 여기서 픽처는 4개의 타일(2개의 타일 열 및 2개의 타일 행), 11개의 브릭(왼쪽 상단 타일에는 1개의 브릭으로 나뉘어지고, 오른쪽 상단 타일은 5개의 브릭을 포함하고, 하단 왼쪽 타일은 2개의 브릭을 포함하고, 오른쪽 하단 타일은 3개의 브릭을 포함하고, 4개의 직사각형 조각을 포함한다.
도 8은 픽처가 다양한 차원의 28개의 서브픽처로 파티션되는 픽처의 서브픽처 파티션의 예를 도시한다.
픽처가 3개의 개별 컬러 평면을 사용하여 코딩될 때(separate_colour_plane_flag는 1과 같음), 슬라이스는 color_plane_id의 대응하는 값으로 식별되는 하나의 컬러 컴포넌트의 CTU만 포함하고, 픽처의 각 컬러 컴포넌트 에레이는 동일한 color_plane_id 값을 갖는 슬라이스로 구성된다.. 픽처 내의 color_plane_id의 다른 값을 갖는 코딩된 슬라이스는 color_plane_id의 각 값에 대해, color_plane_id 값을 갖는 코딩된 슬라이스 NAL 유닛은 각 코딩된 슬라이스 NAL 유닛의 제1 CTU에 대해 브릭 스캔 순서로 CTU 주소를 증가시키는 순서로 되어 있어야 한다는 제약 하에서 서로에 대해 인터리브 될 수 있다.
노트 1 - Separate_colour_plane_flag가 0과 같을 때, 픽처의 각 CTU는 정확히 하나의 슬라이스에 포함된다. Separate_colour_plane_flag가 1과 같을 때, 컬러 컴포넌트의 각 CTU는 정확히 하나의 슬라이스에 포함된다(즉, 픽처의 각 CTU에 대한 정보는 정확히 3개의 슬라이스에 존재하고 이 3개의 슬라이스는 color_plane_id의 다른 값을 가진다).
2.8. RPR
AVC 및 HEVC는 IDR 또는 인트라 랜덤 액세스 포인트(Intra Random Access Point)(IRAP) 픽처를 도입하지 않고 해상도를 변경할 수 없고; 이러한 능력을 적응형 해상도 변경(Adaptive Resolution Change)(ARC)라고 할 수 있다. 영상 전화 및 회의의 속도 조정과 같은 ARC 기능의 이점을 얻을 수 있는 사용 사례 또는 애플리케이션 시나리오가 있다. ARC는 동적 해상도 변환(Dynamic resolution conversion)이라고도 한다.
ARC는 H.263 Annex P와 같은 레퍼런스 픽처 리샘플링(Reference Picture Resampling)(RPR)의 특수한 경우로 간주될 수도 있다.
VVC에서, RPR(레퍼런스 픽처 리샘플링)(Reference Picture Resampling))로 알려진 ARC는 JVET-O2001-v14에 통합되었다. RPR의 일부 구현 예에서, 병치된 픽처의 해상도가 현재 픽처와 다른 경우 TMVP가 비활성화된다. 또한 레퍼런스 픽처의 해상도가 현재 픽처와 다른 경우 BDOF 및 DMVR이 비활성화된다. SPS에서는 최대 픽처 해상도가 정의된다. 그리고 PPS의 각 픽처에 대해, 해상도(루마 샘플의 픽처 너비와 높이 포함)가 정의된다. 픽처 해상도가 다른 경우, RPR이 활성화된다.
2.9. VVC의 적합성 윈도우(conformance window)
VVC의 적합성 윈도우는 직사각형을 정의한다. 적합성 윈도우 내부의 샘플은 관심 이미지에 속한다. 적합성 윈도우 외부의 샘플은 출력 시 폐기될 수 있다.
적합성 윈도우가 적용되면 RPR의 스케일링 비율은 적합성 윈도우에 기초하여 유도된다.
7.3.2.4 픽처 파라미터 세트 RBSP 신텍스.
Figure pct00027
pic_width_in_luma_samples는 루마 샘플 유닛에서 PPS를 참조하는 각 디코딩 픽처의 너비를 지정한다. pic_width_in_luma_samples는 0이 아니어야 하고, Max(8, MinCbSizeY)의 정수배여야 하고, pic_width_max_in_luma_samples보다 작거나 같아야 한다.
subpics_present_flag가 1과 같을 때, pic_width_in_luma_samples의 값은 pic_width_max_in_luma_samples와 같아야 한다.
pic_height_in_luma_samples는 루마 샘플 유닛에서 PPS를 참조하는 각 디코딩 픽처의 높이를 지정한다. pic_height_in_luma_samples는 0이 아니어야 하고, Max( 8, MinCbSizeY )의 정수 배수여야 하고, pic_height_max_in_luma_samples보다 작거나 같아야 한다.
subpics_present_flag가 1과 같을 때, pic_height_in_luma_samples의 값은 pic_height_max_in_luma_samples와 같아야 한다.
refPicWidthInLumaSamples 및 refPicHeightInLumaSamples를 각각 이 PPS를 참조하는 현재 픽처의 레퍼런스 픽처의 pic_width_in_luma_samples 및 pic_height_in_luma_samples라고 하자. 다음 조건이 모두 충족되는 비트스트림 적합성의 요구 사항이다:
- pic_width_in_luma_samples * 2는 refPicWidthInLumaSamples보다 크거나 같아야 한다.
- pic_height_in_luma_samples * 2는 refPicHeightInLumaSamples보다 크거나 같아야 한다.
- pic_width_in_luma_samples는 refPicWidthInLumaSamples * 8보다 작거나 같아야 한다.
- pic_height_in_luma_samples는 refPicHeightInLumaSamples * 8보다 작거나 같아야 한다.
1과 동일한 conformance_window_flag는 SPS에서 적합성 자르기 윈도우 오프셋 파라미터가 다음에 따른다는 것을 나타낸다. 0과 동일한 conformance_window_flag는 적합성 자르기 윈도우 오프셋 파라미터가 존재하지 않음을 나타낸다.
conf_win_left_offset, conf_win_right_offset, conf_win_top_offset 및 conf_win_bottom_offset은 출력을 위한 픽처 좌표에 지정된 직사각형 영역의 관점에서 디코딩 프로세스에서 출력되는 CVS의 픽처 샘플을 지정한다. conformance_window_flag가 0과 같을 때 conf_win_left_offset, conf_win_right_offset, conf_win_top_offset, conf_win_bottom_offset의 값은 0과 같은 것으로 유추된다.
적합성 크로핑 윈도우는 SubWidthC * conf_win_left_offset to pic_width_in_luma_samples - ( SubWidthC * conf_win_right_offset + 1 의 수평 픽처 좌표 및 SubHeightC * conf_win_top_offset to pic_height_in_luma_samples - ( SubHeightC * conf_win_bottom_offset + 1 )의 수직 픽처 좌표가 포함되는 좌표를 갖는 루마 샘플을 포함한다.
SubWidthC * ( conf_win_left_offset + conf_win_right_offset ) 의 값은 pic_width_in_luma_samples 보다 작아야 하고, SubHeightC * ( conf_win_top_offset + conf_win_bottom_offset ) 의 값은 pic_height_in_luma_samples 보다 작아야 한다.
PicOutputWidthL 및 PicOutputHeightL 변수는 다음과 같이 유도된다:
PicOutputWidthL = pic_width_in_luma_samples - (7-43)
SubWidthC * ( conf_win_right_offset + conf_win_left_offset )
PicOutputHeightL = pic_height_in_pic_size_units - (7-44) SubHeightC * ( conf_win_bottom_offset + conf_win_top_offset )
ChromaArrayType이 0이 아닐 때, 두 크로마 에레이의 해당하는 지정된 샘플은 픽처 좌표( x / SubWidthC, y / SubHeightC )를 갖는 샘플이고, 여기서 ( x, y )는 지정된 루마 샘플의 픽처 좌표이다.
참고 - 적합성 크로핑 윈도우 오프셋 파라미터는 출력에만 적용된다. 모든 내부 디코딩 프로세스는 크롭되지 않은 픽처 크기에 적용된다.
ppsA 및 ppsB를 동일한 SPS를 참조하는 임의의 두 PPS라고 가정한다. ppsA 및 ppsB가 각각 pic_width_in_luma_samples 및 pic_height_in_luma_samples의 동일한 값을 가질 때, ppsA 및 ppsB는 각각 conf_win_left_offset, conf_win_right_offset, conf_win_right_offset, _offset_win,_conf의 동일한 값을 가져야 하는 것이 비트스트림 적합성의 요구사항이다.
3. 여기에 설명된 기술 솔루션으로 해결된 기술적 문제
APS의 ALF 데이터에는 다음과 같은 문제가 있다:
1. 루마 ALF 파라미터가 시그널링되는지 여부를 제어하는 두 개의 플래그, 예를 들어, alf_luma_filter_signal_flag 및 alf_luma_coeff_signalled_flag가 있으며 이는 중복이다.
2. ALF의 각 클래스에 대해 하나의 플래그에 시그널링 하여 해당 클래스의 모든 ALF 계수가 0인지 여부를 나타낸다. 모든 0 ALF 계수가 거의 선택되지 않기 때문에 이것은 불필요할 수 있다. 한편, 이러한 플래그가 있더라도, 모든 0 ALF 계수는 여전히 시그널링될 수 있다.
3. 루마 컬러 컴포넌트에 대한 필터 예측 변수를 유도하려면 여러 조건 확인 및 단계가 필요한다. 불필요한 복잡성을 가져올 수 있다.
4. VVC에서 픽처의 분할은 슬라이스/타일/브릭이 될 수 있으며 여기서 브릭은 슬라이스/타일에 비해 더 작은 유닛이다. 서로 다른 브릭은 서로 예측할 수 없다. 실제 인코더에서, 타일/브릭 레벨에서 ALF 켜기/끄기를 시그널링하면 코딩 성능에 추가적인 이점을 가져올 수 있다.
4. 예시적인 기술 및 실시예
아래 목록은 일반적인 개념을 설명하는 예로 간주되어야 한다. 이러한 항목을 좁은 의미로 해석해서는 안된다. 또한 이러한 항목은 어떤 방식으로든 결합할 수 있습니다.
본 문서에서, 픽처의 해상도(또는 차원, 또는 너비/높이, 또는 크기)는 코딩/디코딩된 픽처의 해상도(또는 차원, 또는 너비/높이, 또는 크기)를 의미할 수 있고, 또는 코딩된/디코딩된 픽처에서 적합성 윈도우의 해상도(또는 차원, 또는 너비/높이, 또는 크기)를 참조할 수 있다.
1. 시그널링될 루마 ALF 계수가 있는지 여부를 나타내기 위해 오직 하나의 신택스 요소가 시그널링될 수 있다는 것이 제안된다.
a. 하나의 예에서, lf_luma_coeff_signalled_flag의 시그널링은 스킵될 수 있다.
b. 대안적으로, 또한, sfIdx(예를 들어, alf_luma_coeff_flag[sfIdx])에 의해 표시된 루마 필터의 계수는 시그널링될 필요가 있는 적어도 하나의 필터(예를 들어, alf_luma_filter_signal_flag)가 있는지 여부에 전적으로 의존할 수 있다.
c. 하나의 예에서, lf_luma_coeff_flag의 시그널링은 마지막 것(즉, 허용된 가장 큰 필터 인덱스)에서 첫 번째 것까지 시작할 수 있다.
d. 대안적으로, 얼마나 많은 필터가 코딩되었는지 또는 얼마나 많은 lf_luma_coeff_flags가 참(true)와 동일한지를 기록하기 위해 카운터가 유지된다.
i. 마지막 필터의 정보를 코딩하기 전에 카운터가 0과 같으면 마지막 필터에 대한 alf_luma_coeff_flag(예를 들어, 코딩 순서에 따라 허용되는 최대 필터 인덱스 또는 인덱스가 0임)는 시그널링되지 않고 참(true)으로 유도된다.
e. 대안적으로, 신택스가 시그널링될 루마 ALF 계수가 있음을 나타낼 때, 적합성 비트스트림은 하나의 루마 필터의 적어도 하나의 계수가 0이 아님을 충족해야 한다.
f. 또한, 신택스가 시그널링될 루마 ALF 계수가 있음을 나타낼 때, 적합성 비트스트림은 적어도 하나의 루마 필터가 시그널링되는 것을 만족해야 한다(예를 들어, 적어도 하나의 alf_luma_coeff_flag[sfIdx]가 참임).
2. ALF의 클래스가 모두 0의 ALF 계수를 가질 때, 모든 0의 ALF 계수는 여전히 시그널링될 수 있다고 제안된다.
a. 하나의 예에서, 동일한 ALF 계수를 공유하는 위치의 각 쌍에 대해 0 값(예를 들어, 0인 alf_luma_coeff_abs)이 시그널링될 수 있다. 예를 들어, 7*7 다이아몬드 ALF 필터에 대해 12개의 0이 시그널링될 수 있다.
b. 하나의 예에서, ALF의 N(N은 음이 아닌 정수) 이하의 클래스는 모두 0의 ALF 계수를 가질 수 있다. 예를 들어, N = 1이다.
3. APS에서 시그널링되는 루마/크로마 ALF 계수가 모든 클래스에 대해 모두 0인 경우, 이러한 루마/크로마 ALF 계수는 다음 픽처/슬라이스/타일/브릭/CTU에서 사용되지 않을 수 있음을 제안한다.
a. 대안적으로, 또한, 0인 ALF 필터(예를 들어, 모든 계수가 0임)는 APS에서 시그널링되는 것이 허용되지 않는다.
b. 대안적으로, 또한 APS에서 시그널링된 루마/크로마 ALF 계수가 적어도 하나의 0이 아닌 계수를 포함해야 하는 것이 비트스트림 적합성의 요구사항이다. 예를 들어, 루마/크로마 ALF 계수가 0의 계수만 포함하는 경우, APS에 루마/크로마 ALF 계수가 없다는 것이 (예를 들어, alf_luma_filter_signal_flag 또는 alf_chroma_filter_signal_flag에 의해) 표시되어야 한다.
4. 적어도 하나의 CTU/CTB가 인-루프 필터링 방식(예를 들어, SAO/ALF)이 활성화되어 코딩되어 있음을 나타내는 온/오프 제어 플래그가 슬라이스 레벨(예, slice_alf_enabled_flag/slice_sao_luma_flag/slice_sao_chroma_flag)에서 비디오 유닛 레벨로부터 제거되고, 비디오 유닛이 슬라이스보다 작다(예를 들어, 브릭/타일 레벨).
a. 하나의 예에서, 각각의 브릭/타일에 대해, 인루프 필터링 방법이 브릭/타일의 적어도 하나의 샘플에 적용되는지 여부를 나타내기 위해 플래그가 코딩될 수 있다.
b. 하나의 예에서, 적어도 하나의 CTU/CTB를 표시하기 위한 슬라이스 레벨 온/오프 제어 플래그(예를 들어, slice_alf_enabled_flag)는 브릭/타일 레벨에서 시그널링된 플래그로 대체된다.
c. 하나의 예에서, 적어도 하나의 CTU/CTB를 나타내기 위한 슬라이스 레벨 온/오프 제어 플래그는 적용된 인루프 필터링 방법(예를 들어, slice_alf_enabled_flag)으로 코딩되고, 이 플래그가 참일 때 온/오프 제어 브릭/타일 레벨의 플래그가 추가로 시그널링될 수 있다.
5. ALF 필터의 시그널링은 두 파트로 단순화될 수 있으며, 예를 들어, 제1 파트는 고정 필터 또는 ALF APS 중에서 예측되거나 선택되는지 여부를 나타내고; 제2 파트는 고정 필터/ALF APS에 대한 인덱스이다.
a. 하나의 예에서, 필터가 고정 필터로부터 예측되는지 여부를 나타내기 위해 플래그가 시그널링될 수 있다.
i. 대안적으로, ALF APS로부터 필터가 예측되는지 여부를 나타내기 위해 플래그가 시그널링될 수 있다.
ii. 대안적으로, 결정된 필터가 고정 ALF 필터들로부터 선택되는지 여부를 나타내기 위해 플래그가 시그널링/파싱될 수 있다.
iii. 대안적으로, 결정된 필터가 ALF APS로부터 선택되었는지 여부를 나타내기 위해 플래그가 시그널링/파싱될 수 있다.
iv. 대안적으로, 또한, 이러한 플래그는 컬러 컴포넌트(예를 들어, 루마(luma))에 사용되는 ALF APS의 수가 0보다 큰(또는 0과 같지 않은) 조건 하에서 시그널링/파싱될 수 있다.
a) 하나의 예에서, 색 컴포넌트(예를 들어, luma)에 사용되는 ALF APS의 개수가 0인 경우, 이러한 플래그는 시그널링/파싱되지 않으며, 항상 고정 ALF 필터가 사용되었음을 유추할 수 있다.
v. 하나의 예에서, 플래그는 컨텍스트 코딩되거나 바이패스 코딩될 수 있다.
a) 하나의 예어서, 단 하나의 컨텍스트가 활용될 수 있다.
b) 대안적으로, 하나 이상의 컨텍스트가 이용될 수 있다.
a. 대안적으로, 또한, 컨텍스트 모델링은 이웃 CTB의 정보에 의존할 수 있다.
b. 대안적으로, 또한, 컨텍스트 모델링은 현재 CTB의 위치와 같은 현재 CTB의 정보에 의존할 수 있다.
c. 대안적으로, 또한, 컨텍스트 모델링은 슬라이스/픽처 유형과 같은 디코딩된 정보에 의존할 수 있다.
b. 대안적으로, 플래그에 따라 고정 필터 또는 ALF APS에 대한 인덱스가 시그널링되거나 파싱될 수 있다.
i. 하나의 예에서, ALF APS 인덱스를 시그널링할지 여부는 현재 슬라이스/타일/브릭에 대해 허용된 ALF APS의 수에 더 의존할 수 있다.
a) 대안적으로, 또한 현재 슬라이스/타일/브릭에 대해 허용되는 ALF APS의 개수가 1보다 큰 경우 인덱스를 시그널링할 수 있다. 그렇지 않으면, 현재 슬라이스/타일/브릭에 대해 허용된 ALF APS의 수가 1인 경우, 인덱스를 시그널링하지 않을 수 있으며 단일 ALF APS를 사용한다.
ii. 하나의 예에서, ALF APS 인덱스의 표시가 시그널링될 수 있다.
a) 하나의 예어서, 그것은 잘린 일진법(truncated unary method)으로 시그널링될 수 있다. 대안적으로, 또한 최대값은 현재 슬라이스/타일/브릭에 대해 허용된 ALF APS의 수에서 K를 뺀 값으로 설정된다(예를 들어, K = 0 또는 1).
b) 하나의 예어서, 그것은 잘린 이진법으로 시그널링될 수 있다. 대안적으로, 또한 최대값은 현재 슬라이스/타일/브릭에 대해 허용된 ALF APS의 수에서 K를 뺀 값으로 설정된다(예를 들어, K = 0 또는 1).
iii. 하나의 예에서, 인덱스는 컨텍스트 코딩될 수 있다.
a) 하나의 예에서, 인덱스의 이진화된 빈 스트링의 처음 K개의 빈은 컨텍스트 코딩될 수 있고 나머지 빈은 바이패스 코딩될 수 있다(예를 들어, K = 1 또는 ALF APS의 수에 기초).
b) 하나의 예어서, 모든 빈은 바이패스 코딩된다.
6. 필터링 방법(예를 들어, SAO, 양방향 필터, ALF)의 온/오프 제어는 영역 레벨에서 시그널링/유도될 수 있으며, 여기서 영역 크기는 적어도 픽처 해상도 및 최대 픽처 해상도에 따라 결정될 수 있다.
a. 대안적으로, 또한, 영역의 크기는 픽처에 대해 고정되어 있지만 다른 해상도를 가진 다른 픽처에 대해 다를 수 있다.
b. 하나의 예어서, 루마 샘플의 최대 화면 너비와 높이가 각각 maxW 및 maxH로 표시된다고 가정하고; 루마 샘플의 현재 화면 너비와 높이는 각각 currW 및 currH로 표시된다. CTU/CTB의 너비와 높이는 각각 ctbW 및 ctbH로 표시된다. regW * regH로 표시되는 영역 크기는 다음과 같이 정의할 수 있다:
i. 대안적으로, 또한, 온/오프 제어 플래그 및/또는 부가 정보(예를 들어, 어느 고정 필터로부터 예측 및/또는 어느 ALF APS로부터 예측)가 영역 레벨에서 시그널링/파싱될 수 있다.
ii. 하나의 예에서, regW는 (ctbW* currW/maxW)로 설정될 수 있다.
iii. 하나의 예에서, regH는 (ctbH* currH/maxH)로 설정될 수 있다.
iv. 하나의 예에서, regW 및/또는 regH는 현재 CTB의 파티션 구조에 더 의존할 수 있다.
a) 대안적으로, 더 나아가 제1 파티션 유형(예를 들어, 비파티션(전체 CTB로 코딩됨), 쿼드 트리 파티션, 이진 트리 파티션, 삼항 트리 파티션)에 더 의존할 수 있다.
a. 대안적으로, 또한, 영역 크기는 CTB에서 직접 분할되는 서브 CU보다 작지 않아야 한다.
b) 하나의 예어서, regW는 ctbW * max(RW, currW/maxW)로 설정될 수 있다.
c) 하나의 예어서, regH는 ctbH * max(RH, currH/maxH)로 설정될 수 있다.
d) 위의 예에서 RW 및/또는 RH는 non-split case의 경우 1로 설정될 수 있다.
e) 위의 예에서 RW 및/또는 RH는 쿼드 트리 분할의 경우 1/2로 설정될 수 있다.
c. 위의 방법은 시퀀스에 대해 RPR이 활성화된 경우 활성화될 수 있다.
7. 적합성 비트스트림은 시퀀스/픽처에 대해 무손실 코딩(예를 들어, transquant_bypass_enabled_flag)이 활성화될 때 NAL 유닛 유형이 APS_NUT(즉, 적응형 파라미터 세트)와 동일하지 않아야 함을 충족해야 한다.
a. 적합성 비트스트림은 시퀀스/픽처에 대해 무손실 코딩(예를 들어, transquant_bypass_enabled_flag)이 활성화될 때 aps_params_type이 ALF_APS와 동일하지 않아야 함을 충족해야 한다.
b. 적합성 비트스트림은 시퀀스/픽처에 대해 무손실 코딩(예를 들어, transquant_bypass_enabled_flag)이 활성화될 때 aps_params_type이 LMCS_APS와 동일하지 않아야 함을 충족해야 한다.
c. 적합성 비트스트림은 무손실 코딩(예를 들어, transquant_bypass_enabled_flag)이 시퀀스/픽처에 대해 활성화될 때 aps_params_type이 SCALING_APS와 동일하지 않아야 함을 충족해야 한다.
d. 적합성 비트스트림은 무손실 코딩(예를 들어, transquant_bypass_enabled_flag)이 시퀀스/픽처에 대해 활성화된 경우 시퀀스/픽처/슬라이스/타일/브릭/CTB/서브픽처 레벨 및/또는 스케일링 목록 표시 플래그(예를 들어, slice_scaling_list_present_flag)에서 일부 툴(예를 들어, ALF/LMCS/JCCR은 slice_alf_enabled_flag/alf_ctb_flag, slice_lmcs_enabled_flag, slice_joint_cbcr_sign_flag로 표시)에 대한 켜기/끄기 제어 플래그는 0과 동일해야 한다는 것을 충족해야 한다.
i. 대안적으로, 그러한 툴 및/또는 스케일링 목록 표시 플래그에 대한 온/오프 제어 플래그의 시그널링은 픽처에 대해 무손실 코딩이 비활성화되는 조건 하에 있을 수 있다.
8. 위의 방법을 적용할지 여부 및/또는 방법은 아래 나열된 하나 이상의 조건을 기반으로 할 수 있다:
a. 동영상 콘텐츠(예를 들어, 화면 콘텐츠 또는 자연 콘텐츠)
b. DPS/SPS/VPS/PPS/APS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/LCU(최대 코딩 유닛)/CU(코딩 유닛)/LCU 행/LCU의 그룹/TU/PU 블록/비디오 코딩 유닛에서 시그널링되는 메시지
c. CU/PU/TU/블록/비디오 코딩 유닛의 위치
d. 현재 블록 및/또는 이웃 블록의 블록 차원
i. 현재 블록 및/또는 이웃 블록의 블록 차원
e. 컬러 포맷 표시(예를 들어, 4:2:0, 4:4:4, RGB 또는 YUV)
f. 코딩 트리 구조(예를 들어, 이중 트리 또는 단일 트리)
g. viii. 슬라이스/타일 그룹 유형 및/또는 픽처 유형
h. 컬러 컴포넌트(예를 들어, 루마 컴포넌트 및/또는 크로마 컴포넌트에만 적용될 수 있음)
i. xi. 임시 계층 ID
j. 표준의 프로필/레벨/계층
5. 본 기술의 예시적인 실시예
삭제된 부분은 굵은 괄호로 묶고(예를 들어, [[a]]는 "a"가 삭제되었음을 나타냄) 새로 추가된 부분은 이중 굵은 괄호로 묶다(예를 들어, {{a}}는 "a" 추가되었음을 나타낸다). 이 실시예는 JVET-O2001-vE의 상단에 있다.
5.1. 실시 예 # 1.
이 실시예는 ALF APS에서 ALF 파라미터를 시그널링하는 방법에 대한 몇 가지 예를 제공한다.
7.3.2.15 적응형 루프 필터 데이터 신택스
Figure pct00028
Figure pct00029
대안적으로, 다음이 적용될 수 있다:
Figure pct00030
Figure pct00031
7.4.3.14 적응형 루프 필터 데이터 시맨틱(Adaptive loop filter data semantics)
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에서 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 ]의 길이는 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 ]가 시그널링되지 않음을 표시한다.
alf_luma_coeff_flag[ sfIdx ] = 1은 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 ] * (7-47)
( 1 - 2 * alf_luma_coeff_sign[ sfIdx ][ j ] )
filtIdx = 0..NumAlfFilters - 1 및 j = 0..11인 루마 필터 계수 AlfCoeffL[ adapt_parameter_set_id ]는 AlfCoeffL[ adaptation_parameter_set_id ][ filtIdx ][ j ] 요소와 함께 다음과 같이 유도된다:
AlfCoeffL[ adapt_parameter_set_id ][ filtIdx ][ j ] = filtCoeff[ alf_luma_coeff_delta_idx[ filtIdx ] ][ j ] (7-48)
...
5.2. 실시 예 # 2.
Figure pct00032
이 실시예는 루마 CTB에 대한 ALF 파라미터를 시그널링하는 방법에 대한 예를 제공한다.
1과 동일한 [[ alf_ctb_use_first_aps_flag는 slice_alf_aps_id_luma[ 0 ]와 동일한 adaptive_parameter_set_id를 갖는 APS의 필터 정보가 사용됨을 지정한다. 0과 동일한 alf_ctb_use_first_aps_flag는 루마 CTB가 slice_alf_aps_id_luma[ 0 ]와 동일한 adaptive_parameter_set_id를 갖는 APS의 필터 정보를 사용하지 않는다는 것을 지정한다. alf_ctb_use_first_aps_flag가 존재하지 않는 경우, 0과 동일한 것으로 유추된다. ]]
0과 동일한 alf_use_aps_flag는 고정 필터 세트 중 하나가 루마 CTB에 적용됨을 지정한다. 1과 동일한 alf_use_aps_flag는 APS로부터의 필터 세트가 루마 CTB에 적용되는 것을 지정한다. slice_ASDT_flag가 존재하지 않을 때, 0과 같은 것으로 유추된다.
alf_luma_prev_filter_idx[[_minus1 plus 1]]는 루마 CTB에 적용되는 이전 필터를 지정한다. alf_luma_prev_filter_idx[[_minus1]]의 값은 0에서 slice_num_alf_aps_ids_luma - {}[[2]]까지가 포함되는 범위에 있어야 한다. alf_luma_prev_filter_idx[[_minus1]]가 존재하지 않는 경우, 0과 동일한 것으로 유추된다.
위치( xCtb, yCtb )에서 루마 CTB에 대한 필터 세트 인덱스를 지정하는 변수 AlfCtbFiltSetIdxY[ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ]는 다음과 같이 유도된다:
- [[ alf_ctb_use_first_aps_flag가 1이면, AlfCtbFiltSetIdxY[ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ]가 16으로 설정된다.
- 그렇지 않으면,]] alf_use_aps_flag가 0과 같으면, AlfCtbFiltSetIdxY[ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ]가 alf_luma_fixed_filter_idx와 동일하게 설정된다.
- 그렇지 않으면, AlfCtbFiltSetIdxY[ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ]는 {{16 + alf_luma_prev_filter_idx}} [[ 17 + alf_luma_prev_filter_idx_minus1]]와 동일하게 설정된다.
alf_luma_fixed_filter_idx는 루마 CTB에 적용되는 고정 필터를 지정한다. alf_luma_fixed_filter_idx의 값은 0에서 15까지가 포함되는 범위에 있어야 한다.
표 9-77 - 신택스 요소 및 연관 이진화
Figure pct00033
도 9는 여기에 개시된 다양한 기술들이 구현될 수 있는 예시적인 비디오 처리 시스템(1300)을 도시하는 블록도이다. 다양한 구현은 시스템(900)의 컴포넌트 중 일부 또는 전부를 포함할 수 있다. 시스템(900)은 비디오 콘텐츠를 수신하기 위한 입력(902)을 포함할 수 있다. 비디오 콘텐츠는 원시 또는 압축되지 않은 포맷, 예를 들어, 8 또는 10비트 다중 컴포넌트 픽셀 값으로 수신될 수 있거나 압축 또는 인코딩된 포맷일 수 있다. 입력(902)은 네트워크 인터페이스, 주변 버스 인터페이스, 또는 저장 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예로는 이더넷, 수동 광 네트워크(PON) 등과 같은 유선 인터페이스와 Wi-Fi 또는 셀룰러 인터페이스와 같은 무선 인터페이스가 있다.
시스템(900)은 본 문서에 설명된 다양한 코딩 또는 인코딩 방법을 구현할 수 있는 코딩 컴포넌트(904)를 포함할 수 있다. 코딩 컴포넌트(904)는 비디오의 코딩된 표현을 생성하기 위해 입력(702)으로부터 코딩 컴포넌트(904)의 출력으로 비디오의 평균 비트레이트를 줄일 수 있다. 따라서 코딩 기술은 비디오 압축 또는 비디오 트랜스코딩 기술이라고도 한다. 코딩 컴포넌트(904)의 출력은 컴포넌트(906)에 의해 표현되는 바와 같이, 연결된 통신을 통해 저장되거나 전송될 수 있다. 입력(902)에서 수신된 비디오의 저장 또는 통신된 비트스트림(또는 코딩된) 표현은 디스플레이 인터페이스(910)로 전송되는 픽셀 값 또는 디스플레이 가능한 비디오를 생성하기 위해 컴포넌트(908)에 의해 사용될 수 있다. 비트스트림 표현에서 사용자가 볼 수 있는 비디오를 생성하는 프로세스를 비디오 압축 해제(decompression)라고도 한다. 또한, 특정 비디오 처리 작업을 "코딩" 작업(coding operation) 또는 툴(tools)로 지칭하지만, 코딩 툴 또는 작업이 인코더에서 사용되고 코딩 결과를 되돌리는 대응하는 디코딩 툴 또는 작업이 디코더에 의해 수행된다는 점을 이해할 것이다.
주변 버스 인터페이스 또는 디스플레이 인터페이스의 예로는 범용 직렬 버스(USB) 또는 고화질 멀티미디어 인터페이스(HDMI) 또는 디스플레이포트 등이 포함될 수 있다. 스토리지 인터페이스의 예로는 SATA(직렬 첨단 기술 첨부 파일), PCI, IDE 인터페이스 등이 있다. 본 문서에 기재된 기술은 휴대전화, 노트북, 스마트폰 또는 디지털 데이터 처리 및/또는 비디오 디스플레이를 수행할 수 있는 기타 장치와 같은 다양한 전자 기기에 구현될 수 있다.
도 10은 비디오 처리 장치(video processing apparatus)(1000)의 블록도이다. 장치(1000)는 여기에 기재된 하나 이상의 방법을 구현하는 데 사용될 수 있다. 장치(1000)는 스마트폰, 태블릿, 컴퓨터, 사물인터넷(IoT) 수신기 등으로 구현될 수 있다. 장치(1000)는 하나 이상의 프로세서(processor)(1002), 하나 이상의 메모리(memory)(1004) 및 비디오 처리 하드웨어(video processing hardware)(1006)를 포함할 수 있다. 프로세서(들)(1002)는 본 문서에 기재된 하나 이상의 방법을 구현하도록 구성될 수 있다. 메모리(들)(1004)는 여기에 기재된 방법 및 기술을 구현하는 데 사용되는 데이터 및 코드를 저장하는 데 사용될 수 있다. 비디오 처리 하드웨어(1006)는 하드웨어 회로에서 여기에 기재된 일부 기술을 구현하는 데 사용될 수 있다. 일부 구현예에서, 하드웨어(1606)는 프로세서(1602)의 일부, 예를 들어, 그래픽 프로세서일 수 있다.
도 11은 비디오 처리 방법의 하나의 예의 방법에 대한 흐름도이다. 방법(1100)은, 동작(1110에서, 비디오의 현재 영역과 비디오의 비트스트림 표현 사이의 변환을 위해, 변환 동안 루마 적응형 루프 필터가 사용되는지 여부 및 루마 적응형 루프 필터 계수가 비트스트림 표현에 포함되는지 여부를 결정하는 단계를 포함하고, 비트스트림 표현의 단일 신택스 요소는 루마 적응형 루프 필터의 사용 및 루마 적응형 루프 필터 계수의 시그널링을 나타낸다.
방법(1100)은, 동작(1120)에서, 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
도 12는 비디오 처리 방법의 하나의 예의 방법에 대한 흐름도이다. 방법(1200)은, 동작(1210)에서, 비디오의 현재 영역과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 변환 동안 적응형 루프 필터가 사용되도록 하고, 비트스트림 표현은 비트스트림 표현에서 시그널링된 적응형 루프 필터의 계수가 0 값 적응형 루프 필터 계수를 포함하도록 지정하는 신택스 규칙을 따른다.
도 13은 비디오 처리 방법의 하나의 예의 방법에 대한 흐름도이다. 방법(1300)은, 동작(1310)에서, 비디오의 현재 영역과 비디오의 비트스트림 표현 사이의 변환을 위해, 비트스트림 표현에서 시그널링된 비디오의 이전 영역의 0값 적응형 루프 필터 계수가 변환에 사용되지 않는다는 것을 결정하는 단계를 포함한다.
방법(1300)은, 동작(1320)에서, 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
도 14는 비디오 처리 방법의 하나의 예의 방법에 대한 흐름도이다. 방법(1400)은, 동작(1410)에서, 비디오의 현재 영역과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 비트스트림 표현은 변환을 위해 인루프 필터링이 사용되는지 여부를 나타내는 플래그가 비디오의 슬라이스 레벨보다 작은 현재 영역을 포함하는 비디오 유닛 레벨에서 비트스트림 표현에 포함되는지 여부를 나타내는 플래그를 지정하는 신택스 규칙을 따른다.
도 15는 비디오 처리 방법의 하나의 예의 방법에 대한 흐름도이다. 방법(1500)은, 동작(1510)에서, 비디오의 현재 영역과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 변환은 적응형 루프 필터를 사용하는 단계를 포함하고, 비트스트림 표현은 적응형 루프 필터를 결정하는 기술을 나타내는 제1 파트, 및 기술에 의해 사용되는 인덱스를 나타내는 제2 파트를 포함하는 2-파트 시그널링을 사용하여 적응형 루프 필터를 나타내도록 구성된다.
도 16은 비디오 처리 방법의 하나의 예의 방법에 대한 흐름도이다. 방법(1600)은, 동작(1610)에서, 비디오의 속성에 기초하여, 현재 영역과 비디오의 비트스트림 표현 사이의 변환을 위한 공통 루프 필터링 설정을 공유하는 비디오의 현재 영역의 크기를 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
방법(1300)은, 동작(1320)에서, 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
도 17은 비디오 처리 방법의 하나의 예의 방법에 대한 흐름도이다. 방법(1700)은, 동작(1710)에서, 비디오의 현재 영역과 비디오의 비트스트림 표현 사이에서 무손실 변환을 수행하는 단계를 포함하고, 여기서 비트스트림 표현은 무손실 변환으로 인해 비트스트림 표현에서 현재 영역과 연관된 신택스 필드의 값을 제한하는 신택스 규칙을 따른다.
다음 솔루션은 일부 실시예에서 바람직한 솔루션으로 구현될 수 있다.
A1. 비디오 처리 방법에 있어서, 비디오의 현재 영역과 비디오의 비트스트림 표현 사이의 변환을 위해, 변환 동안 루마 적응형 루프 필터가 사용되는지 여부 및 루마 적응형 루프 필터 계수가 비트스트림 표현에 포함되는지 여부를 결정하는 단계 - 비트스트림 표현의 단일 신택스 요소는 루마 적응형 루프 필터의 사용 및 루마 적응형 루프 필터 계수의 시그널링을 나타냄 -, 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
A2. 솔루션 A1의 방법에서, 단일 신택스 요소는 특정 인덱스를 갖는 루마 적응형 루프 필터 계수가 시그널링된다는 것을 표시하고, 0 값을 갖는 단일 신택스 요소는 루마 적응형 루프 필터 계수가 특정 인덱스는 비트스트림 표현에서 제외된다.
A3. 솔루션 A2의 방법에서, 단일 신택스 요소가 alf_luma_coeff_flag이고, 특정 인덱스가 sfIdx로 표시된다.
A4. 솔루션 A1 내지 A3 중 어느 한 방법에서, 단일 신택스 요소는 alf_luma_coeff_signalled_flag를 제외한다.
A5. 솔루션 A1의 방법에서, 단일 신택스 요소는 특정 인덱스를 갖는 루마 적응형 필터의 사용 표시가 시그널링됨을 표시하고, 0 값인 단일 신택스 요소는 특정 인덱스를 갖는 루마 적응형 필터의 사용의 표시가 비트스트림 표현에서 제외된다는 것을 표시한다.
A6. 솔루션 A5의 방법에서, 단일 신택스 요소가 alf_luma_coeff_signalled_flag이고, 특정 인덱스가 sfIdx로 표시된다.
A7. 솔루션 A1의 방법에서, 루마 적응형 루프 필터 계수는 적어도 하나의 루마 적응형 루프 필터가 시그널링될 필요가 있는지 여부에 기초하여 조건부로 비트스트림 표현에서 시그널링된다.
A8. 솔루션 A7의 방법에서, 다중 루마 적응형 루프 필터에 대한 루마 적응형 루프 필터 계수는 다중 루마 적응형 루프 필터에 대한 필터 인덱스의 역순으로 시그널링된다.
A9. 솔루션 A1의 방법에서, 비트스트림 표현으로 코딩된 루마 적응형 루프 필터의 수를 결정하기 위해 카운터를 유지하는 단계를 더 포함한다.
A10. 솔루션 A1의 방법에서, 루마 적응형 루프 필터 계수의 시그널링을 표시하는 단일 신택스 요소가 시그널링될 때 비트스트림 표현은 적어도 하나의 0이 아닌 루마 적응형 루프 필터 계수를 포함한다.
A11. 솔루션 A1의 방법에서, 루마 적응형 루프 필터 계수의 시그널링을 표시하는 단일 신택스 요소가 시그널링될 때 비트스트림 표현은 적어도 하나의 루마 적응형 루프 필터를 포함한다.
A12. 솔루션 A1 내지 A11 중 어느 하나의 방법에서, 루마 적응형 루프 필터 계수가 루마 적응형 루프 필터(ALF) 계수이다.
A13. 비디오 처리 방법에서, 비디오의 현재 영역과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 적응형 루프 필터가 변환 동안 사용되고, 비트스트림 표현은 비트스트림 표현에서 시그널링된 적응형 루프 필터의 계수가 0 값 적응형 루프 필터 계수를 포함하도록 지정하는 신택스 규칙을 따른다.
A14. 솔루션 A13의 방법에서, 신택스 규칙은 대칭으로 인해 계수 값을 공유하는 적응형 루프 필터 계수에 대한 단일 0값 계수를 시그널링하는 것을 지정한다.
A15. 솔루션 A14의 방법에서, 12개의 0값 계수가 7x7 다이아몬드 적응형 루프 필터에 대해 시그널링된다.
A16. 솔루션 A13의 방법에서, 신택스 규칙이 0 값 적응형 루프 필터 계수를 갖는 적응형 루프 필터의 수를 숫자 N으로 제한하는 것을 지정하고, N이 음이 아닌 정수이다.
A17. 솔루션 A16의 방법에서, N = 4이다.
A18. 비디오 처리 방법에서, 비디오의 현재 영역과 비디오의 비트스트림 표현 사이의 변환을 위해, 비트스트림 표현에서 시그널링된 비디오의 이전 영역의 0값 적응형 루프 필터 계수가 사용되지 않음을 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
A19. 솔루션 A18의 방법에서, 현재 영역이 루마 영역에 대응한다.
A20. 솔루션 A18의 방법에서, 현재 영역이 크로마 영역에 대응한다.
A21. 솔루션 A18 내지 A20 중 어느 하나에서, 현재 영역은 픽처, 슬라이스, 타일, 브릭, 또는 코딩 트리 유닛(CTU)에 대응한다.
A22. 솔루션 A18의 방법에서, 0 값 적응형 루프 필터 계수가 적응형 파라미터 세트(APS)와 상이한 파라미터 세트에서 시그널링된다.
A23. 비디오 처리 방법에서, 비디오의 현재 영역과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 비트스트림 표현은 변환을 위해 인루프 필터링이 사용되는지 여부를 나타내는 플래그가 비디오의 슬라이스 레벨보다 작은 현재 영역을 포함하는 비디오 유닛 레벨에서 비트스트림 표현에 포함되는지 여부를 나타내는 플래그를 지정하는 신택스 규칙을 따른다.
A24. 솔루션 A23의 방법에서, 현재 영역이 비디오의 코딩 트리 유닛(CTU) 또는 코딩 트리 블록(CTB)이다.
A25. 솔루션 A23 또는 24의 방법에서, 비디오 유닛 레벨은 브릭 레벨에 대응한다.
A26. 솔루션 A23 또는 24의 방법에서, 비디오 유닛 레벨은 타일 레벨에 대응한다.
A27. 솔루션 A23 내지 A26 중 어느 하나에서, 인루프 필터링은 적응형 루프 필터링(ALF) 또는 샘플 적응형 오프셋(SAO) 필터링을 포함한다.
A28. 솔루션 A23 내지 A27 중 어느 하나의 방법에서, 비트스트림 표현은 인루프 필터링이 비디오 유닛 레벨에서 비디오 유닛의 적어도 하나의 샘플에 적용됨을 표시하기 위한 비디오 유닛 플래그를 포함한다.
A29. 솔루션 B1 내지 B23 중 어느 하나의 방법에서, 변환을 수행하는 단계는 현재 영역으로부터 비트스트림 표현을 생성하는 단계를 포함한다.
A30. 솔루션 B1 내지 B23 중 어느 하나의 방법에서, 변환을 수행하는 단계는 현재 영역으로부터 비트스트림 표현을 생성하는 단계를 포함한다.
A31. 프로세서 및 명령을 갖는 비 일시적 메모리를 포함하는 비디오 시스템의 장치에 있어서, 명령이 프로세서에 의해 실행될 때, 프로세서로 하여금 솔루션 A1 내지 A30의 방법 중 어느 하나의 방법을 구현하도록 하는 장치.
A32. 비 일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램에 있어서, 컴퓨터 프로그램은 솔루션 A1 내지 A30의 방법 중 어느 하나의 방법을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램.
A33. 하나 이상의 솔루션 A1 내지 A30의 어느 한 방법에 따라 생성된 비트스트림 표현을 저장하는 컴퓨터 판독가능 매체.
다음의 추가 솔루션은 일부 실시예에서 바람직한 기술 솔루션으로서 구현될 수 있다.
B1. 비디오 처리 방법에서, 비디오의 현재 영역과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 여기서 변환은 적응형 루프 필터를 사용하는 단계를 포함하고, 비트스트림 표현은 적응형 루프 필터를 결정하는 기술을 나타내는 제1 파트, 및 기술에 의해 사용되는 인덱스를 나타내는 제2 파트를 포함하는 2-파트 시그널링을 사용하여 적응형 루프 필터를 나타내도록 구성된다.
B2. 솔루션 B1의 방법에서, 기술은 고정 필터 세트로부터의 선택 또는 적어도 하나의 적응형 루프 필터(ALF) 적응형 파라미터 세트(APS)로부터의 선택을 포함한다.
B3. 솔루션 B2의 방법에서, 비트스트림 표현은 적응형 루프 필터의 필터 세트가 고정 필터 세트로부터 선택됨을 표시하는 0 값 플래그를 포함한다.
B4. 솔루션 B2 또는 B3의 방법에서, 비트스트림 표현은 적응형 루프 필터의 필터 세트가 적어도 하나의 ALF APS로부터 선택됨을 표시하는 1값 플래그를 포함한다.
B5. 솔루션 B2의 방법에서, 비트스트림 표현은 현재 영역의 컬러 컴포넌트에 사용되는 ALF APS의 수가 0보다 크다는 것을 나타내는 플래그를 포함한다.
B6. 솔루션 B5의 방법에서, 컬러 컴포넌트가 비디오의 루마 컴포넌트다.
B7. 솔루션 B2의 방법에서, 비트스트림 표현은 현재 영역의 컬러 컴포넌트에 사용되는 ALF APS의 수가 0일 때 적응형 루프 필터가 적어도 하나의 ALF APS로부터 선택되었음을 나타내는 플래그를 제외하고, 여기서 플래그는 고정 필터 세트에서 적응형 루프 필터가 선택되었음을 나타내기 위해 유추된다.
B8. 솔루션 B3 내지 솔루션 B7 중 어느 하나의 방법에서, 플래그는 컨텍스트 코딩되거나 바이패스 코딩된다.
B9. 솔루션 B3 또는 B4의 방법에서, 인덱스의 값이 플래그에 기초한다.
B10. 솔루션 B4의 방법에서, 비트스트림 표현에서 인덱스를 시그널링할지 여부는 현재 영역에 대해 허용된 ALF APS의 수에 기초한다.
B11. 솔루션 B10의 방법에서, 현재 영역에 대해 허용된 ALF APS의 수가 1보다 클 때 인덱스가 비트스트림 표현에서 시그널링된다.
B12. 솔루션 B10의 방법에서, 인덱스는 현재 영역에 대해 허용된 ALF APS의 수가 1인 경우 비트스트림 표현에서 제외된다.
B13. 솔루션 B10 내지 B12 중 어느 하나에서, 현재 영역은 슬라이스, 타일 또는 브릭을 포함한다.
B14. 솔루션 B4의 방법에서, 적어도 하나의 ALF APS의 인덱스의 표시는 비트스트림 표현에서 시그널링된다.
B15. 솔루션 B14의 방법에서, 표시가 잘린 일진법(truncated unary method)으로 코딩된다.
B16. 솔루션 B14의 방법에서, 표시는 잘린 이진법으로 코딩된다.
B17. 솔루션 B15 또는 B16의 방법에서, 표시의 최대값은 현재 영역에 대해 허용된 ALF APS의 수에서 K를 뺀 값으로 설정되고, K는 정수이다.
B18. 솔루션 15의 방법에서, K = 13, L = 4이다.
B19. 솔루션 B1의 방법에서, 인덱스가 컨텍스트 코딩된다.
B20. 솔루션 B19의 방법에서, 인덱스의 이진화된 빈 스트링(bin string)의 처음 K개의 빈은 컨텍스트 코딩(context coded)되고 나머지 빈은 바이패스 코딩(bypass coded)되고, 여기서 K는 정수이다.
B21. 솔루션 B21의 방법에서, 여기서 K = 2이다.
B22. 솔루션 B19의 방법에서, 인덱스의 이진화된 빈 스트링의 복수의 빈 각각이 바이패스 코딩된다.
B23. 솔루션 B1 내지 B22 중 어느 하나에서, 적응형 루프 필터(ALF)는 변환의 일부로서 적용되고 비트스트림 표현에서 적응형 파라미터 세트(APS)의 파라미터에 의해 제어되는 필터링 프로세스이다.
B24. 솔루션 B1 내지 B23 중 어느 하나의 방법에서, 적응형 파라미터 세트(APS)는 0 이상의 슬라이스에 대응하는 슬라이스 헤더의 0 이상의 신택스 요소에 의해 결정되는 바와 같이 비디오의 0 이상의 슬라이스에 적용되는 하나 이상의 신택스 요소를 포함하는 신택스 구조이다.
B25. 비디오 처리 방법에서, 비디오의 속성에 기초하여, 현재 영역과 비디오의 비트스트림 표현 사이의 변환을 위한 공통 루프 필터링 설정을 공유하는 비디오의 현재 영역의 크기를 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
B26. 솔루션 B25의 방법에서, 속성은 현재 영역을 포함하는 픽처의 해상도이다.
B27. 솔루션 B25의 방법에서, 속성은 현재 영역을 포함하는 픽처의 최대 해상도이다.
B28. 솔루션 B25의 방법에서, 픽처의 최대 크기의 루마 샘플의 너비 및 루마 샘플의 높이를 각각 maxW 및 maxH로 표시하고, 현재 영역을 포함하는 현재 픽처의 크기의 루마 샘플의 너비 및 루마 샘플의 높이는 각각 currW 및 currH로 표시되고, 현재 코딩 트리 유닛(Current Coding Tree Unit)(CTU) 또는 현재 코딩 트리 블록(Current Coding Tree Block)(CTB)의 크기의 너비와 높이는 각각 ctbW 및 ctbH로 표시되고, 현재 영역의 크기의 너비와 높이는 각각 regW 및 regH로 표시된다.
B29. 솔루션 B28의 방법에서, regW = (ctbW Х currW/maxW)이다.
B30. 솔루션 B28의 방법에서, regH = (ctbH Х currH/maxH)이다.
B31. 솔루션 B28의 방법에서, regW 또는 regH가 현재 CTB 또는 현재 CTU의 파티션 구조에 기초한다.
B32. 비디오 처리 방법에서, 비디오의 현재 영역과 비디오의 비트스트림 표현 사이에서 무손실 변환을 수행하는 단계를 포함하고, 여기서 비트스트림 표현은 무손실 변환으로 인해 비트스트림 표현에서 현재 영역과 연관된 신택스 필드의 값을 제한하는 신택스 규칙을 따른다.
B33. 솔루션 B32의 방법에서, 신택스 규칙은 네트워크 추상화 계층(NAL) 유닛 유형이 적응형 파라미터 세트(APS)의 NAL 유닛 유형과 동일하지 않다고 지정한다.
B34. 솔루션 B32의 방법에서, 신택스 규칙은 신택스 필드의 값이 적응형 루프 필터(ALF) 적응형 파라미터 세트(APS)의 하나 이상의 값과 상이하다는 것을 지정한다.
B35. 솔루션 B32의 방법에서, 신택스 규칙은 신택스 필드의 값이 크로마 스케일링을 갖는 루마 매핑(LMCS) 적응형 파라미터 세트(APS)를 갖는 루마 매핑의 하나 이상의 값과 상이하다는 것을 지정한다.
B36. 솔루션 B32의 방법에서, 신택스 규칙은 신택스 필드의 값이 스케일링 목록 적응형 파라미터 세트(APS)의 하나 이상의 값과 상이하다는 것을 지정한다.
B37. 솔루션 B1 내지 B36 중 어느 하나에 있어서, 변환을 수행하는 단계는 (a) 비디오 콘텐츠, (b) 디코더 파라미터 세트(DPS), 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 적응형 파라미터 세트(APS), 픽처 헤더에서 시그널링되는 메시지 , 슬라이스 헤더, 타일 그룹 헤더, 최대 코딩 유닛(LCU), LCU 행, LCU의 그룹, 트랜스폼 유닛(TU), 예측 유닛(PU), 또는 비디오 코딩 유닛, (c) 현재 영역을 포함하는 현재 픽처에서 코딩 유닛(CU), TU, PU, *?*현재 블록, 또는 비디오 코딩 유닛의 위치, (d) 현재 영역의 디코딩된 정보, (e) 비디오의 컬러 포맷 표시, (f) 코딩 트리 구조, (g) 슬라이스 유형, 타일 그룹 유형, 또는 픽처 유형, (h) 비디오의 컬러 컴포넌트, (i) 시간적 계층 ID, 및 (j) 프로파일, 표준의 레벨 또는 계층 중 적어도 하나 이상에 추가로 기초한다.
B38. 솔루션 B1 내지 B37 중 어느 하나의 방법에서, 변환을 수행하는 단계는 현재 영역으로부터 비트스트림 표현을 생성하는 단계를 포함한다.
B39. 솔루션 B1 내지 B37 중 어느 하나의 방법에서, 변환을 수행하는 단계는 비트스트림 표현으로부터 현재 영역을 생성하는 단계를 포함한다.
B40. 프로세서 및 명령을 갖는 비 일시적 메모리를 포함하는 비디오 시스템의 장치에 있어서, 명령이 프로세서에 의해 실행될 때, 프로세서로 하여금 솔루션 B1 내지 B74의 방법 중 어느 하나의 방법을 구현하도록 하는 장치.
B41. 비 일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램에 있어서, 컴퓨터 프로그램은 솔루션 B1 내지 B39의 방법 중 어느 하나의 방법을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램.
B42. 하나 이상의 솔루션 B1 내지 B39의 어느 한 방법에 따라 생성된 비트스트림 표현을 저장하는 컴퓨터 판독가능 매체.
전술한 솔루션에서, 변환을 수행하는 단계는 변환 결과에 도달하기 위해 인코딩 또는 디코딩 동작 동안 이전 결정 단계의 결과들 (예를 들어, 특정 코딩 또는 디코딩 단계들을 사용하거나 사용하지 않는 것) 을 이용하는 단계를 포함한다. 전술한 솔루션에서, 비디오 처리는 비디오 코딩 또는 인코딩 또는 압축 또는 트랜스코딩 (한 포맷 또는 비트레이트에서 다른 포맷 또는 비트레이트로 변경), 디코딩 또는 압축 해제를 포함할 수 있다. 또한, 이러한 솔루션은 이미지와 같은 다른 시각적 데이터에도 적용될 수 있다.
본 문서에 기재된 개시 및 기타 솔루션, 예, 실시예, 모듈 및 기능적 작업은 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있으며, 여기에는 이 문서 및 그 구조적 등가물 또는 그 중 하나 이상의 조합으로 구현될 수 있다. 개시된 및 기타 실시예는 하나 이상의 컴퓨터 프로그램 제품으로 구현될 수 있고, 즉, 컴퓨터 프로그램 지침의 하나 이상의 모듈을 컴퓨터 판독 가능한 매체에 인코딩 하여 실행하거나, 데이터 처리 장치의 작동을 제어할 수 있다. 컴퓨터가 읽을 수 있는 매체는 기계가 읽을 수 있는 저장 장치, 기계가 읽을 수 있는 스토리지 기판, 메모리 장치, 기계가 읽을 수 있는 전파 신호에 영향을 미치는 물질의 조성 또는 하나 이상의 조합일 수 있다. 용어 "데이터 처리 장치"는 예를 들어, 프로그래밍 가능한 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 포함하여 데이터를 처리하기 위한 모든 장치, 장치 및 컴퓨터를 포함한다. 이 장치에는 대응하는 컴퓨터 프로그램에 대한 실행 환경을 만드는 코드(예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 또는 하나 이상의 조합)가 포함될 수 있다. 전파된 신호는 인위적으로 생성된 신호, 예를 들어, 기계에서 생성된 전기, 광학 또는 전자기 신호이고, 이는 적합한 수신기 장치로 전송하기 위한 정보를 인코딩 하기 위해 생성된다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은 컴파일 된 언어를 비롯한 모든 형태의 프로그래밍 언어로 작성할 수 있으며 독립 실행형 프로그램 또는 컴퓨팅 환경에서 사용하기에 적합한 모듈, 컴포넌트, 서브루틴 또는 기타 유닛으로 모든 형태로 배포할 수 있다. 컴퓨터 프로그램이 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 다른 프로그램이나 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트), 대응하는 프로그램에 전용되는 단일 파일 또는 여러 조정된 파일들(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드 일부를 저장하는 파일)에 저장할 수 있다. 컴퓨터 프로그램은 한 컴퓨터 또는 한 사이트에 위치하거나 여러 사이트에 분산되고 통신 네트워크에 의해 상호 연결된 여러 컴퓨터에서 실행하도록 배포할 수 있다.
이 문서에 설명된 프로세스 및 논리 흐름은 하나 이상의 프로그래밍 가능한 프로세서가 하나 이상의 프로그래밍 가능한 프로세서에서 수행하여 입력 데이터에서 작동하고 출력을 생성하여 기능을 수행할 수 있다. 프로세스 및 로직 흐름도 수행될 수 있으며, 장치는 특수 목적 논리 회로, 예를 들어, FPGA(필드 프로그래밍 가능한 게이트 에레이) 또는 ASIC(애플리케이션 별 집적 회로)로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서에는 예를 들어, 일반 및 특수 목적 마이크로프로세서와 모든 종류의 디지털 컴퓨터의 하나 이상의 프로세서가 포함된다. 일반적으로 프로세서는 읽기 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다에서 지침과 데이터를 받게 된다. 컴퓨터의 필수 요소는 지침과 데이터를 저장하기 위한 하나 이상의 메모리 장치를 수행하기 위한 프로세서이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어, 자기, 광자기 디스크, 또는 광 디스크로부터 데이터를 수신하거나 이들로 데이터를 전송하거나 둘 전체를 포함하거나 작동 가능하게 연결된다. 그러나, 컴퓨터에 이러한 장치가 필요하지 않는다. 컴퓨터 프로그램 지침 및 데이터를 저장하는 데 적합한 컴퓨터 판독 가능한 미디어에는 반도체 메모리 장치, 예를 들어, EPROM, EEPROM 및 플래시 메모리 장치, 자기 디스크, 예를 들어, 내부 하드 디스크 또는 이동식 디스크; 마그네토 광학 디스크; 및 CD ROM 및 DVD-ROM 디스크를 비롯한 모든 형태의 비휘발성 메모리, 미디어 및 메모리 장치가 포함된다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보충되거나 통합될 수 있다.
이 특허 문서에는 많은 세부 사항이 포함되어 있지만, 이는 어떤 주제의 범위 나 청구 될 수 있는 것에 대한 제한으로 해석되어서는 안되며, 오히려 특정 기술의 특정 구현예에 특정할 수 있는 특징에 대한 설명으로 해석되어서는 안 된다. 이 특허 문서에 기재된 특정 특징은 별도의 실시예의 맥락에서 또한 단일 실시예에서 조합하여 구현될 수 있다. 역으로, 단일 실시예의 맥락에서 설명된 다양한 특징은 또한 개별적으로 또는 임의의 적절한 서브 조합으로 다중 실시예들에서도 구현될 수 있다. 더욱이, 앞서와 같이 특징들은 특정 조합으로 작용하는 것으로 설명될 수 있고 심지어 처음에 그렇게 주장될 수도 있지만, 청구된 조합으로부터 하나 이상의 특징은 어떤 경우에는 조합으로부터 제외될 수 있고, 주장된 조합은 서브 조합 또는 서브 조합의 변형에 관한 것일 수 있다.
마찬가지로, 동작은 특정 순서로 도면에 묘사되어 있지만, 바람직한 결과를 달성하기 위하여, 이러한 동작이 표시된 특정 순서 또는 순차적인 순서로 수행되거나, 모든 예시된 동작들이 수행되는 것을 요구하는 것으로 이해되어서는 안 된다. 더욱이, 본 특허 문서에 기재된 실시예들에서, 다양한 시스템 컴포넌트들의 분리가 모든 실시예들에서 이러한 분리를 요구하는 것으로 이해되어서는 안 된다.
몇 가지 구현 및 예제만 설명되며 이 특허 문서에 설명되고 도시된 내용에 따라 다른 구현, 개선 및 변형을 만들 수 있다.

Claims (42)

  1. 비디오 처리 방법에 있어서,
    비디오의 현재 영역과 상기 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 변환은 적응형 루프 필터를 사용하는 단계를 포함하고, 상기 비트스트림 표현은:
    적응형 루프 필터를 결정하는 기술을 나타내는 제1 파트, 및
    기술에서 사용하는 인덱스를 나타내는 제2 파트를 포함하는 2-파트 시그널링을 사용하여 적응형 루프 필터를 나타내도록 구성되는
    방법.
  2. 제1항에 있어서,
    상기 기술은 고정 필터 세트로부터의 선택 또는 적어도 하나의 적응형 루프 필터(ALF) 적응형 파라미터 세트(APS)로부터의 선택을 포함하는
    방법.
  3. 제2항에 있어서,
    상기 비트스트림 표현은 상기 적응형 루프 필터의 필터 세트가 고정 필터 세트로부터 선택됨을 표시하는 0 값 플래그를 포함하는
    방법.
  4. 제2항 또는 제3항에 있어서,
    상기 비트스트림 표현은 상기 적응형 루프 필터의 필터 세트가 상기 적어도 하나의 ALF APS로부터 선택됨을 나타내는 1값 플래그를 포함하는
    방법.
  5. 제2항에 있어서,
    상기 비트스트림 표현은 상기 현재 영역의 컬러 컴포넌트에 사용되는 ALF APS의 수가 0보다 크다는 것을 나타내는 플래그를 포함하는
    방법.
  6. 제5항에 있어서,
    상기 컬러 컴포넌트는 상기 비디오의 루마 컴포넌트인
    방법.
  7. 제2항에 있어서,
    상기 비트스트림 표현은 상기 현재 영역의 컬러 컴포넌트에 사용되는 ALF APS의 수가 0인 경우, 상기 적응형 루프 필터가 상기 적어도 하나의 ALF APS에서 선택되었음을 나타내는 플래그를 제외하고,상기 플래그는 고정 필터 세트에서 상기 적응형 루프 필터가 선택되었음을 나타내기 위해 유추되는
    방법.
  8. 제3항 내지 제7항 중 어느 한 항에 있어서,상기 플래그는 컨텍스트 코딩되거나 바이패스 코딩되는
    방법.
  9. 제3항 또는 제4항에 있어서,
    상기 인덱스의 값은 상기 플래그에 기초하는
    방법.
  10. 제4항에 있어서,
    상기 비트스트림 표현에서 인덱스를 시그널링할지 여부는 상기 현재 영역에 대해 허용된 ALF APS의 수에 기초하는
    방법.
  11. 제10항에 있어서,
    상기 인덱스는 상기 현재 영역에 대해 허용되는 상기 ALF APS의 수가 1보다 큰 경우 상기 비트스트림 표현에서 시그널링되는
    방법.
  12. 제10항에 있어서,
    상기 인덱스는 상기 현재 영역에 대해 허용되는 상기 ALF APS의 수가 1인 경우 상기 비트스트림 표현에서 제외되는
    방법.
  13. 제10항 내지 제12항 중 어느 한 항에 있어서,상기 현재 영역은 슬라이스, 타일 또는 브릭을 포함하는
    방법.
  14. 제4항에 있어서,
    상기 적어도 하나의 ALF APS의 인덱스의 표시는 상기 비트스트림 표현에서 시그널링되는
    방법.
  15. 제14항에 있어서,
    상기 표시는 잘린 일진법으로 코딩되는
    방법.
  16. 제14항에 있어서,
    상기 표시는 잘린 이진법으로 코딩되는
    방법.
  17. 제15항 또는 제16항에 있어서,
    상기 표시의 최대값은 상기 현재 영역에 허용된 ALF APS의 수에서 K를 뺀 값으로 설정되고, 상기 K는 정수인
    방법.
  18. 제17항에 있어서,
    K = 2 인
    방법.
  19. 제1항에 있어서,
    상기 인덱스는 컨텍스트 코딩되는
    방법.

  20. 제19항에 있어서,
    상기 인덱스의 이진화된 빈 스트링의 처음 K개의 빈은 컨텍스트 코딩되고 나머지 빈은 바이패스 코딩되고, K는 정수인
    방법.
  21. 제17항에 있어서, K = 2 인
    방법.
  22. 제19항에 있어서,
    상기 인덱스의 이진화된 빈 스트링의 복수의 빈 각각은 바이패스 코딩되는
    방법.
  23. 제1항 내지 제22항 중 어느 한 항에 있어서,
    상기 적응형 루프 필터(ALF)는 상기 변환의 일부로서 적용되고 상기 비트스트림 표현에서 상기 적응형 파라미터 세트(APS)의 파라미터에 의해 제어되는 필터링 프로세스인
    방법.
  24. 제1항 내지 제23항 중 어느 한 항에 있어서,
    상기 적응형 파라미터 세트(APS)는 0 이상의 슬라이스에 대응하는 슬라이스 헤더의 0 이상의 신택스 요소에 의해 결정되는 바와 같이 상기 비디오의 0 이상의 슬라이스에 적용되는 하나 이상의 신택스 요소를 포함하는 신택스 구조인
    방법.
  25. 비디오 처리 방법에 있어서,
    비디오의 속성에 기초하여, 현재 영역과 상기 비디오의 비트스트림 표현 사이의 변환을 위한 공통 루프 필터링 설정을 공유하는 상기 비디오의 현재 영역의 크기를 결정하는 단계; 및
    상기 결정하는 단계에 기초하여, 상기 변환을 수행하는 단계를 포함하는
    방법.
  26. 제25항에 있어서,
    상기 속성은 상기 현재 영역을 포함하는 픽처의 해상도인
    방법.
  27. 제25항에 있어서,
    상기 속성은 현재 영역을 포함하는 픽처의 최대 해상도인
    방법.
  28. 제25항에 있어서,
    픽처의 최대 크기의 루마 샘플의 너비 및 루마 샘플의 높이를 각각 maxW 및 maxH로 표시하고, 상기 현재 영역을 포함하는 현재 픽처의 크기의 루마 샘플의 너비 및 루마 샘플의 높이는 각각 currW 및 currH로 표시되고, 현재 코딩 트리 유닛(CTU) 또는 현재 코딩 트리 블록(CTB)의 크기의 너비와 높이는 각각 ctbW 및 ctbH로 표시되고, 상기 현재 영역의 크기의 너비와 높이는 각각 regW 및 regH로 표시되는
    방법.
  29. 제28항에 있어서,
    regW = (ctbWХcurrW/maxW)인
    방법.
  30. 제28항에 있어서,
    regH = (ctbH Х currH/maxH)인
    방법.
  31. 제28항에 있어서,
    regW 또는 regH는 상기 현재 CTB 또는 상기 현재 CTU의 파티션 구조에 기초하는
    방법.
  32. 비디오 처리 방법에 있어서,
    비디오의 현재 영역과 비디오의 비트스트림 표현 사이에서 무손실 변환을 수행하는 단계를 포함하고, 여기서 비트스트림 표현은 무손실 변환으로 인해 비트스트림 표현에서 현재 영역과 연관된 신택스 필드의 값을 제한하는 신택스 규칙을 따르는
    방법.
  33. 제32항에 있어서,
    상기 신택스 규칙은 네트워크 추상화 계층(NAL) 유닛 유형이 적응형 파라미터 세트(APS)의 NAL 유닛 유형과 동일하지 않다고 지정하는
    방법.
  34. 제32항에 있어서,
    상기 신택스 규칙은 상기 신택스 필드의 값이 적응형 루프 필터(ALF) 적응형 파라미터 세트(APS)의 하나 이상의 값과 상이하다는 것을 지정하는
    방법.
  35. 제32항에 있어서,
    상기 신택스 규칙은 상기 신택스 필드의 값이 크로마 스케일링을 갖는 루마 매핑(LMCS) 적응형 파라미터 세트(APS)를 갖는 루마 매핑의 하나 이상의 값과 상이하다는 것을 지정하는
    방법.
  36. 제32항에 있어서,
    상기 신택스 규칙은 상기 신택스 필드의 값이 스케일링 목록 적응형 파라미터 세트(APS)의 하나 이상의 값과 상이하다는 것을 지정하는
    방법.
  37. 제1항 내지 제36항 중 어느 한 항에 있어서,
    상기 변환을 수행하는 단계는:
    (a) 비디오 콘텐츠,
    (b) 디코더 파라미터 세트(DPS), 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 적응형 파라미터 세트(APS), 픽처 헤더에서 시그널링되는 메시지 , 슬라이스 헤더, 타일 그룹 헤더, 최대 코딩 유닛(LCU), LCU 행, LCU의 그룹, 트랜스폼 유닛(TU), 예측 유닛(PU), 또는 비디오 코딩 유닛,
    (c) 현재 영역을 포함하는 현재 픽처에서 코딩 유닛(CU), 상기 TU, 상기 PU, 상기 현재 블록, 또는 상기 비디오 코딩 유닛의 위치,
    (d) 상기 현재 영역의 디코딩된 정보,
    (e) 상기 비디오의 컬러 포맷 표시,
    (f) 코딩 트리 구조,
    (g) 슬라이스 유형, 타일 그룹 유형, 또는 픽처 유형,
    (h) 상기 비디오의 컬러 컴포넌트,
    (i) 시간 계층 ID, 및
    (j) 표준의 프로필, 레벨 또는 계층 중 적어도 하나 이상에 추가로 기초하는
    방법.
  38. 제1항 내지 제23항 중 어느 한 항에 있어서,
    상기 변환을 수행하는 단계는 상기 현재 영역으로부터 상기 비트스트림 표현을 생성하는 단계를 포함하는
    방법.
  39. 제1항 내지 제23항 중 어느 한 항에 있어서,
    상기 변환을 수행하는 단계는 상기 비트스트림 표현으로부터 상기 현재 영역을 생성하는 단계를 포함하는
    방법.
  40. 프로세서 및 그 위에 명령어들이 있는 비일시적 메모리를 포함하는 비디오 시스템의 장치에 있어서, 프로세서에 의한 실행 시 명령어들은 프로세서가 제1항 내지 제39항 중 어느 한 항을 실행하게 하는 비디오 시스템 장치.
  41. 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램에 있어서,
    제1항 내지 제39항 중 어느 한 항을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램.
  42. 제1항 내지 제39항 중 어느 한 항의 방법에 따라 생성된 비트스트림 표현을 저장하는 컴퓨터 판독가능 매체.
KR1020227006935A 2019-09-18 2020-09-18 비디오 코딩에서 적응형 루프 필터의 2-파트 시그널링 KR20220058899A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2019106420 2019-09-18
CNPCT/CN2019/106420 2019-09-18
PCT/CN2020/116086 WO2021052453A1 (en) 2019-09-18 2020-09-18 Two-part signaling of adaptive loop filters in video coding

Publications (1)

Publication Number Publication Date
KR20220058899A true KR20220058899A (ko) 2022-05-10

Family

ID=74883900

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227006935A KR20220058899A (ko) 2019-09-18 2020-09-18 비디오 코딩에서 적응형 루프 필터의 2-파트 시그널링

Country Status (7)

Country Link
US (3) US11601686B2 (ko)
EP (1) EP4014485A4 (ko)
JP (2) JP7323711B2 (ko)
KR (1) KR20220058899A (ko)
CN (3) CN114424529A (ko)
BR (1) BR112022005046A2 (ko)
WO (2) WO2021052452A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112022005046A2 (pt) 2019-09-18 2022-07-05 Beijing Bytedance Network Tech Co Ltd Método de processamento de dados de vídeo, aparelho para processar dados de vídeo, meio de armazenamento não transitório legível por computador e meio de gravação não transitório legível por computador
AU2020354926A1 (en) * 2019-09-24 2022-04-07 Huawei Technologies Co., Ltd. Decoded picture buffer operation for resolution changes
CN117337568A (zh) * 2021-03-26 2024-01-02 抖音视界有限公司 用于视频处理的方法、设备和介质
CN117256140A (zh) * 2021-04-12 2023-12-19 抖音视界有限公司 导向滤波器的使用

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2988503A1 (en) * 2010-01-14 2016-02-24 Dolby Laboratories Licensing Corporation Buffered adaptive filters
US9094658B2 (en) * 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
US20120039383A1 (en) * 2010-08-12 2012-02-16 Mediatek Inc. Coding unit synchronous adaptive loop filter flags
US9819966B2 (en) * 2010-09-01 2017-11-14 Qualcomm Incorporated Filter description signaling for multi-filter adaptive filtering
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
CN103796015A (zh) * 2012-10-31 2014-05-14 朱洪波 系数数目自适应的量化参数差分编码
US10321130B2 (en) 2013-01-07 2019-06-11 Vid Scale, Inc. Enhanced deblocking filters for video coding
US9473779B2 (en) 2013-03-05 2016-10-18 Qualcomm Incorporated Parallel processing for video coding
US9628792B2 (en) 2013-07-15 2017-04-18 Qualcomm Incorporated Cross-layer parallel processing and offset delay parameters for video coding
WO2015043501A1 (en) 2013-09-27 2015-04-02 Qualcomm Incorporated Residual coding for depth intra prediction modes
US9807406B2 (en) 2014-03-17 2017-10-31 Qualcomm Incorporated Picture flushing and decoded picture buffer parameter inference for multi-layer bitstreams
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)
WO2016204531A1 (ko) * 2015-06-16 2016-12-22 엘지전자(주) 블록 경계에 따라 적응적으로 필터링을 수행하는 방법 및 장치
KR20180019548A (ko) * 2015-06-18 2018-02-26 엘지전자 주식회사 영상 코딩 시스템에서 영상 특성에 기반한 적응적 필터링 방법 및 장치
WO2017045101A1 (en) 2015-09-14 2017-03-23 Mediatek Singapore Pte. Ltd. Advanced deblocking filter in video coding
EP3371974B1 (en) 2015-11-06 2024-05-01 Microsoft Technology Licensing, LLC Flexible reference picture management for video encoding
US11064195B2 (en) 2016-02-15 2021-07-13 Qualcomm Incorporated Merging filters for multiple classes of blocks for video coding
US10887621B2 (en) 2016-07-08 2021-01-05 Vid Scale, Inc. 360-degree video coding using geometry projection
US11095922B2 (en) 2016-08-02 2021-08-17 Qualcomm Incorporated Geometry transformation-based adaptive loop filtering
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
CN110692249A (zh) 2017-04-11 2020-01-14 Vid拓展公司 使用面部连续性的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
EP3685585A1 (en) 2017-09-20 2020-07-29 Vid Scale, Inc. Handling face discontinuities in 360-degree video coding
US10965941B2 (en) 2017-10-09 2021-03-30 Qualcomm Incorporated Position-dependent prediction combinations in video coding
EP3704858A1 (en) 2017-11-01 2020-09-09 Vid Scale, Inc. Methods for simplifying adaptive loop filter in video coding
EP3704857A1 (en) 2017-11-01 2020-09-09 VID SCALE, Inc. Overlapped block motion compensation
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
CN111713111B (zh) 2017-12-19 2024-04-09 Vid拓展公司 用于360度视频译码的面不连续性滤波
CN111527751A (zh) 2017-12-29 2020-08-11 夏普株式会社 用于在用于视频编码的图片的边界处划分视频块的系统和方法
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
WO2019157717A1 (zh) 2018-02-14 2019-08-22 北京大学 运动补偿的方法、装置和计算机系统
US11470359B2 (en) 2018-03-30 2022-10-11 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks at a boundary of a picture for video coding
US10708592B2 (en) 2018-04-02 2020-07-07 Qualcomm Incorporated Deblocking filter for video coding and processing
US20190306502A1 (en) 2018-04-02 2019-10-03 Qualcomm Incorporated System and method for improved adaptive loop filtering
CN116055732A (zh) 2018-09-14 2023-05-02 华为技术有限公司 视频译码方法,设备以及非瞬时性计算机可读介质
CN112913247B (zh) 2018-10-23 2023-04-28 北京字节跳动网络技术有限公司 使用局部照明补偿的视频处理
CN113302930A (zh) 2019-01-09 2021-08-24 华为技术有限公司 视频译码中的时间运动约束子图像指示
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
MX2021010337A (es) 2019-02-27 2021-09-28 Huawei Tech Co Ltd Un codificador, un decodificador y metodos correspondientes.
CN113519164A (zh) 2019-03-02 2021-10-19 北京字节跳动网络技术有限公司 对分割结构的限制
WO2020182620A1 (en) 2019-03-08 2020-09-17 Canon Kabushiki Kaisha An adaptive loop filter
EP4358036A2 (en) 2019-03-11 2024-04-24 Huawei Technologies Co., Ltd. Interpolation filter clipping for sub-picture motion vectors
CN117499644A (zh) 2019-03-14 2024-02-02 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
AU2020248837B2 (en) 2019-03-24 2023-06-08 Beijing Bytedance Network Technology Co., Ltd. Nonlinear adaptive loop filtering in video processing
CN113678462B (zh) 2019-04-15 2023-01-10 北京字节跳动网络技术有限公司 自适应环路滤波器中的裁剪参数推导
CN113767623B (zh) 2019-04-16 2024-04-02 北京字节跳动网络技术有限公司 用于视频编解码的自适应环路滤波
US11368684B2 (en) 2019-04-23 2022-06-21 Qualcomm Incorporated Adaptation parameter sets (APS) for adaptive loop filter (ALF) parameters
CN117221538A (zh) 2019-07-08 2023-12-12 Lg电子株式会社 解码和编码设备、数据发送设备及计算机可读存储介质
US11451834B2 (en) 2019-09-16 2022-09-20 Tencent America LLC Method and apparatus for cross-component filtering
BR112022005046A2 (pt) 2019-09-18 2022-07-05 Beijing Bytedance Network Tech Co Ltd Método de processamento de dados de vídeo, aparelho para processar dados de vídeo, meio de armazenamento não transitório legível por computador e meio de gravação não transitório legível por computador

Also Published As

Publication number Publication date
US11683531B2 (en) 2023-06-20
US20220217340A1 (en) 2022-07-07
CN114424540A (zh) 2022-04-29
EP4014485A1 (en) 2022-06-22
US11601686B2 (en) 2023-03-07
WO2021052453A1 (en) 2021-03-25
US20220210478A1 (en) 2022-06-30
CN117294847A (zh) 2023-12-26
WO2021052452A1 (en) 2021-03-25
BR112022005046A2 (pt) 2022-07-05
JP2022548296A (ja) 2022-11-17
US20230336788A1 (en) 2023-10-19
CN114424529A (zh) 2022-04-29
JP2023153166A (ja) 2023-10-17
JP7323711B2 (ja) 2023-08-08
EP4014485A4 (en) 2022-10-26
CN114424540B (zh) 2023-12-29

Similar Documents

Publication Publication Date Title
WO2021083259A1 (en) Signaling of cross-component adaptive loop filter
KR20210145748A (ko) 비선형 적응형 루프 필터링에서 파라미터의 시간적 예측
US11601686B2 (en) Signaling usage of adaptive loop filter in video coding
WO2020228717A1 (en) Block dimension settings of transform skip mode
WO2020216303A1 (en) Selective use of secondary transform in coded video
US20230345056A1 (en) Scaling process for coding block
WO2020228716A1 (en) Usage of transquant bypass mode for multiple color components
CN115299063A (zh) 变换跳过残差编解码
JP7485761B2 (ja) クロスコンポーネント適応ループフィルタの信号通知
US20230328294A1 (en) Filter parameter signaling in video picture headers
RU2815441C2 (ru) Способ заполнения отсчетов при адаптивной контурной фильтрации

Legal Events

Date Code Title Description
E902 Notification of reason for refusal