KR20240074789A - 루프 필터링 방법, 비디오 인코딩/디코딩 방법 및 장치, 매체, 및 전자 디바이스 - Google Patents

루프 필터링 방법, 비디오 인코딩/디코딩 방법 및 장치, 매체, 및 전자 디바이스 Download PDF

Info

Publication number
KR20240074789A
KR20240074789A KR1020247012255A KR20247012255A KR20240074789A KR 20240074789 A KR20240074789 A KR 20240074789A KR 1020247012255 A KR1020247012255 A KR 1020247012255A KR 20247012255 A KR20247012255 A KR 20247012255A KR 20240074789 A KR20240074789 A KR 20240074789A
Authority
KR
South Korea
Prior art keywords
component
loop filtering
adaptive loop
chroma
alf
Prior art date
Application number
KR1020247012255A
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 KR20240074789A publication Critical patent/KR20240074789A/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

본 출원의 실시예들에서는 루프 필터링 방법, 비디오 인코딩/디코딩 방법 및 장치, 매체 및 전자 디바이스가 제공된다. 루프 필터링 방법은 적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 루미넌스 컴포넌트의 블록 분류 정보를 취득하는 단계(S710); 적응적 루프 필터링이 수행될 때의 루미넌스 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 크로미넌스 컴포넌트의 블록 분류 정보를 결정하는 단계(S720); 및 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 크로미넌스 컴포넌트의 블록 분류 정보에 따라, 크로미넌스 컴포넌트에 대해 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 수행하기 위해 대응하는 필터 계수를 선택하는 단계(S730)를 포함한다.

Description

루프 필터링 방법, 비디오 인코딩/디코딩 방법 및 장치, 매체, 및 전자 디바이스
관련 출원
본 개시내용은 2022년 1월 7일자로 중국 국가지적재산권국에 출원되고 발명의 명칭이 "루프 필터링 방법, 비디오 코딩 및 디코딩 방법 및 장치, 매체, 및 전자 디바이스(LOOP FILTERING METHOD, VIDEO CODING AND DECODING METHOD AND APPARATUS, MEDIUM, AND ELECTRONIC DEVICE)"인 중국 특허 출원 제2022100178140호에 대한 우선권을 주장하며, 그것의 전체 내용은 참조로 여기에 포함된다.
기술 분야
본 개시내용은 컴퓨터 및 통신 기술들의 분야에 관한 것이고, 구체적으로는 루프 필터링 방법, 비디오 코딩 및 디코딩 방법 및 장치, 매체, 및 전자 디바이스에 관한 것이다.
크로스-컴포넌트 적응적 루프 필터링(cross-component adaptive loop filtering)(CC-ALF)은 비디오 콘텐츠(예를 들어, 게임 비디오 또는 온라인 회의 비디오)의 특성에 따라 상이한 필터 계수들을 적응적으로 생성하고 사용하는 위너 필터(Wiener filter)이다.
현재의 CC-ALF 설계에서, 필터 계수는 분류를 통해 적응적으로 선택될 필요가 있다. 그러나, 분류 정확도가 낮다는 문제가 종종 존재하며, 이는 CC-ALF의 불량한 성능을 야기한다.
본 개시내용의 다양한 실시예에 따르면, 루프 필터링 방법, 비디오 코딩 및 디코딩 방법 및 장치, 매체, 및 전자 디바이스가 제공된다.
본 개시내용의 실시예의 양태에 따르면, 루프 필터링 방법이 제공되고, 이는 비디오 인코딩 디바이스 또는 비디오 디코딩 디바이스에 의해 수행되며, 방법은 적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 루마 컴포넌트의 블록 분류 정보를 획득하는 단계; 적응적 루프 필터링이 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하는 단계; 및 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 크로마 컴포넌트의 블록 분류 정보에 따라 크로마 컴포넌트에 대한 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 수행하기 위해 필터 계수를 선택하는 단계를 포함한다.
본 개시내용의 실시예의 양태에 따르면, 비디오 디코딩 방법이 제공되고, 이는 비디오 디코딩 디바이스에 의해 수행되며, 방법은 적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 루마 컴포넌트의 블록 분류 정보를 획득하는 단계; 적응적 루프 필터링이 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하는 단계; 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 크로마 컴포넌트의 블록 분류 정보에 따라 크로마 컴포넌트에 대한 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 수행하기 위해 필터 계수를 선택하는 단계; 및 루마 컴포넌트의 적응적 루프 필터링 프로세싱 결과 및 크로마 컴포넌트의 크로스-컴포넌트 적응적 루프 필터링 프로세싱 결과에 따라 비디오 비트스트림에 대한 디코딩 프로세싱을 수행하는 단계를 포함한다.
본 개시내용의 실시예의 양태에 따르면, 비디오 코딩 방법이 제공되고, 이는 비디오 인코딩 디바이스에 의해 수행되며, 방법은 적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 루마 컴포넌트의 블록 분류 정보를 획득하는 단계; 적응적 루프 필터링이 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하는 단계; 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 크로마 컴포넌트의 블록 분류 정보에 따라 크로마 컴포넌트에 대한 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 수행하기 위해 필터 계수를 선택하는 단계; 및 비디오 비트스트림을 획득하기 위해, 루마 컴포넌트의 적응적 루프 필터링 프로세싱 결과 및 크로마 컴포넌트의 크로스-컴포넌트 적응적 루프 필터링 프로세싱 결과에 따라 비디오 이미지 프레임에 대해 코딩 프로세싱을 수행하는 단계를 포함한다.
본 개시내용의 실시예의 양태에 따르면, 루프 필터링 장치가 제공되고, 이는 적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 루마 컴포넌트의 블록 분류 정보를 획득하도록 구성된 획득 유닛; 적응적 루프 필터링이 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하도록 구성된 결정 유닛; 및 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 크로마 컴포넌트의 블록 분류 정보에 따라 크로마 컴포넌트에 대한 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 수행하기 위해 필터 계수를 선택하도록 구성된 필터링 유닛을 포함한다.
본 개시내용의 실시예의 양태에 따르면, 비디오 디코딩 장치가 제공되고, 이는 적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 루마 컴포넌트의 블록 분류 정보를 획득하도록 구성된 획득 유닛; 적응적 루프 필터링이 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하도록 구성된 결정 유닛; 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 크로마 컴포넌트의 블록 분류 정보에 따라 크로마 컴포넌트에 대한 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 수행하기 위해 필터 계수를 선택하도록 구성된 필터링 유닛; 및 루마 컴포넌트의 적응적 루프 필터링 프로세싱 결과 및 크로마 컴포넌트의 크로스-컴포넌트 적응적 루프 필터링 프로세싱 결과에 따라 비디오 비트스트림에 대한 디코딩 프로세싱을 수행하도록 구성된 제1 프로세싱 유닛을 포함한다.
본 개시내용의 실시예의 양태에 따르면, 비디오 인코딩 장치가 제공되고, 이는 적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 루마 컴포넌트의 블록 분류 정보를 획득하도록 구성된 획득 유닛; 적응적 루프 필터링이 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하도록 구성된 결정 유닛; 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 크로마 컴포넌트의 블록 분류 정보에 따라 크로마 컴포넌트에 대한 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 수행하기 위해 필터 계수를 선택하도록 구성된 필터링 유닛; 및 비디오 비트스트림을 획득하기 위해, 루마 컴포넌트의 적응적 루프 필터링 프로세싱 결과 및 크로마 컴포넌트의 크로스-컴포넌트 적응적 루프 필터링 프로세싱 결과에 따라 비디오 이미지 프레임에 대해 코딩 프로세싱을 수행하도록 구성된 제2 프로세싱 유닛을 포함한다.
본 개시내용의 실시예의 양태에 따르면, 전자 디바이스가 제공되고, 전자 디바이스는 메모리 및 프로세서를 포함하며, 메모리는 컴퓨터 판독가능 명령어들을 저장하고, 프로세서는 컴퓨터 판독가능 명령어들을 실행할 때 전술한 임의적 실시예들에서 제공되는 방법을 구현한다.
본 개시내용의 실시예의 양태에 따르면, 컴퓨터 저장 매체가 제공되고, 컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 명령어들을 저장하고, 컴퓨터 판독가능 명령어들은 전술한 임의적 실시예들에서 제공되는 방법들을 수행하기 위해 프로세서에 의해 실행된다.
본 개시내용의 실시예들의 양태에 따르면, 컴퓨터 프로그램 제품이 제공되고, 컴퓨터 프로그램 제품은 컴퓨터 판독가능 명령어들을 포함하고, 컴퓨터 판독가능 명령어들은 전술한 임의적 실시예들에서 제공되는 방법들을 수행하기 위해 프로세서에 의해 실행된다.
본 개시내용의 하나 이상의 실시예의 세부사항들은 아래의 첨부 도면들 및 설명들에 제공된다. 본 개시내용의 다른 피처들, 목적들 및 이점들은 명세서, 첨부 도면들, 및 청구항들로부터 명백해진다.
본 개시내용의 실시예들 또는 종래 기술의 기술적 해법들을 더 명확하게 설명하기 위해, 이하에서는 실시예들 또는 종래 기술을 설명하는 데 요구되는 첨부 도면들을 간략하게 소개한다. 명백하게, 이하의 설명의 첨부 도면들은 본 개시내용의 실시예들만을 도시하며, 본 기술분야의 통상의 기술자는 창의적인 노력 없이도 첨부 도면들로부터 다른 도면들을 여전히 도출할 수 있다.
도 1은 본 개시내용의 실시예들의 기술적 해법들에 적용될 수 있는 예시적인 시스템 아키텍처의 개략도이다.
도 2는 스트리밍 시스템 내의 비디오 인코딩 장치 및 비디오 디코딩 장치의 배치 방식의 개략도이다.
도 3은 비디오 코더의 기본적인 흐름도이다.
도 4는 VVC의 전체 구조 및 루프 필터링 프로세스의 개략도이다.
도 5는 CC-ALF 절차, 및 ALF와의 관계의 개략도이다.
도 6은 다이아몬드 필터의 개략도이다.
도 7은 본 개시내용의 실시예에 따른 링 필터링 방법의 흐름도이다.
도 8은 본 개시내용의 실시예에 따른 비디오 코딩 방법의 흐름도이다.
도 9는 본 개시내용의 실시예에 따른 비디오 디코딩 방법의 흐름도이다.
도 10은 본 개시내용의 실시예에 따른 링 필터링 장치의 블록도이다.
도 11은 본 개시내용의 실시예에 따른 비디오 디코딩 장치의 블록도이다.
도 12는 본 개시내용의 실시예에 따른 비디오 인코딩 장치의 블록도이다.
도 13은 본 개시내용의 실시예에 따른 전자 디바이스를 구현하도록 적응된 컴퓨터 시스템의 개략적인 구조도이다.
이하에서는 본 개시내용의 실시예들의 기술적 해법들이 본 개시내용의 실시예들의 첨부 도면들을 참조하여 명확하고 완전하게 설명된다. 명백하게, 설명된 실시예들은 본 개시내용의 실시예들의 전부가 아닌 단지 일부일 뿐이다. 본 기술분야의 통상의 기술자가 본 개시내용의 실시예들에 기초하여 창의적인 노력 없이 획득한 모든 다른 실시예들은 본 개시내용의 보호 범위에 속한다.
추가로, 본 개시내용에 설명된 피처들, 구조들 또는 특성들은 임의의 적절한 방식으로 하나 이상의 실시예에 병합될 수 있다. 이하의 설명은 본 개시내용의 실시예들이 완전히 이해될 수 있도록 많은 구체적인 세부사항들을 갖는다. 그러나, 본 기술분야의 통상의 기술자는 본 개시내용의 기술적 해법들의 구현 동안 실시예들의 모든 세부 피처들이 요구되는 것은 아닐 수 있으며, 하나 이상의 구체적인 세부사항들이 생략될 수 있거나, 다른 방법, 요소, 장치, 단계 또는 그와 유사한 것이 사용될 수 있음을 알 것이다.
첨부 도면들에 도시된 블록도들은 단지 기능적 실체들일 뿐이고, 물리적으로 독립된 실체들에 반드시 대응하는 것은 아니다. 즉, 기능적 실체들은 소프트웨어 형태로, 또는 하나 이상의 하드웨어 모듈 또는 집적 회로로, 또는 상이한 네트워크들 및/또는 프로세서 장치들 및/또는 마이크로컨트롤러 장치들로 구현될 수 있다.
첨부 도면들에 도시된 흐름도들은 단지 예시적인 설명일 뿐이고, 모든 내용 및 동작들/단계들을 포함할 필요는 없으며, 설명된 순서대로 수행될 필요도 없다. 예를 들어, 일부 동작들/단계들은 더 분할될 수 있는 한편, 일부 동작들/단계들은 병합되거나 부분적으로 병합될 수 있다. 따라서, 실제 실행 순서는 실제 사례에 따라 변경될 수 있다.
본 명세서에서 언급되는 "복수"는 두 개 이상을 의미한다. "및/또는"은 연관 객체의 연관 관계를 기술하며, 세 가지 관계가 존재할 수 있음을 나타낸다. 예를 들어, A 및/또는 B는 A가 단독으로 존재하는 것, A 및 B 둘 다가 존재하는 것, 및 B가 단독으로 존재하는 것을 나타낼 수 있다. 문자 "/"는 일반적으로 문자의 앞과 뒤의 연관된 객체들 간의 "또는" 관계를 나타낸다.
도 1은 본 개시내용의 실시예들의 기술적 해법들에 적용될 수 있는 예시적인 시스템 아키텍처의 개략도이다.
도 1에 도시된 바와 같이, 시스템 아키텍처(100)는 예를 들어 네트워크(150)를 사용하여 서로 통신할 수 있는 복수의 단말 장치를 포함한다. 예를 들어, 시스템 아키텍처(100)는 네트워크(150)를 사용하여 상호 연결된 제1 단말 장치(110) 및 제2 단말 장치(120)를 포함할 수 있다. 도 1의 실시예에서, 제1 단말 장치(110) 및 제2 단말 장치(120)는 단방향 데이터 송신을 수행한다.
예를 들어, 제1 단말 장치(110)는 네트워크(150)를 사용하여 제2 단말 장치(120)에 송신될 비디오 데이터(예를 들어, 단말 장치(110)에 의해 수집된 비디오 픽처 스트림)를 인코딩할 수 있다. 인코딩된 비디오 데이터는 하나 이상의 인코딩된 비디오 비트스트림으로 송신된다. 제2 단말 장치(120)는 네트워크(150)로부터 인코딩된 비디오 데이터를 수신할 수 있고, 인코딩된 비디오 데이터를 디코딩하여 비디오 데이터를 복원할 수 있고, 복원된 비디오 데이터에 따라 비디오 픽처를 디스플레이할 수 있다.
본 개시내용의 실시예에서, 시스템 아키텍처(100)는 인코딩된 비디오 데이터의 양방향 송신을 수행하는 제3 단말 장치(130) 및 제4 단말 장치(140)를 포함할 수 있고, 여기서 양방향 송신은 예를 들어 화상 회의 동안 발생할 수 있다. 양방향 데이터 송신을 위해, 제3 단말 장치(130) 및 제4 단말 장치(140) 내의 각각의 단말 장치는 비디오 데이터(예를 들어, 단말 장치에 의해 수집된 비디오 픽처 스트림)를 인코딩하여, 비디오 데이터를 네트워크(150)를 사용하여 제3 단말 장치(130) 및 제4 단말 장치(140) 내의 다른 단말 장치에 송신할 수 있다. 제3 단말 장치(130) 및 제4 단말 장치(140) 내의 각각의 단말 장치는 제3 단말 장치(130) 및 제4 단말 장치(140) 내의 다른 단말 장치에 의해 송신된 인코딩된 비디오 데이터를 더 수신할 수 있고, 인코딩된 비디오 데이터를 디코딩하여 비디오 데이터를 복원할 수 있고, 복원된 비디오 데이터에 따라 액세스가능한 디스플레이 장치 상에 비디오 픽처를 디스플레이할 수 있다.
도 1의 실시예에서, 제1 단말 장치(110), 제2 단말 장치(120), 제3 단말 장치(130), 및 제4 단말 장치(140)는 서버들 또는 단말들일 수 있다. 서버는 독립적인 물리적 서버일 수 있고, 또는 복수의 물리적 서버에 의해 형성된 서버 클러스터 또는 분산 시스템일 수 있고, 또는 클라우드 서비스, 클라우드 데이터베이스, 클라우드 컴퓨팅, 클라우드 기능, 클라우드 스토리지, 네트워크 서비스, 클라우드 통신, 미들웨어 서비스, 도메인 이름 서비스, 보안 서비스, 콘텐츠 전달 네트워크(content delivery network)(CDN), 빅 데이터, 및 인공 지능 플랫폼과 같은 기본적인 클라우드 컴퓨팅 서비스를 제공하는 클라우드 서버일 수 있다. 단말은 스마트폰, 태블릿 컴퓨터, 노트북 컴퓨터, 데스크톱 컴퓨터, 스마트 사운드 박스, 스마트 워치, 지능형 음성 상호작용 디바이스, 스마트 가전제품, 차량 내 단말, 항공기 또는 그와 유사한 것일 수 있지만 이에 제한되지는 않는다.
네트워크(150)는 제1 단말 장치(110), 제2 단말 장치(120), 제3 단말 장치(130), 및 제4 단말 장치(140) 간에서 인코딩된 비디오 데이터를 송신하는 임의의 수량의 네트워크를 나타내며, 예를 들어 유선 및/또는 무선 통신 네트워크를 포함한다. 통신 네트워크(150)는 회선 교환 및/또는 패킷 교환 채널들에서 데이터를 교환할 수 있다. 네트워크는 통신 네트워크, 근거리 네트워크, 광역 네트워크 및/또는 인터넷을 포함할 수 있다. 본 개시내용의 목적을 위해, 네트워크(150)의 아키텍처 및 토폴로지는 아래에서 달리 설명되지 않는 한 본 개시내용에 개시된 동작들에 필수적인 것이 아닐 수 있다.
본 개시내용의 실시예에서, 도 2는 스트리밍 환경에서의 비디오 인코딩 장치와 비디오 디코딩 장치의 배치 방식을 나타낸다. 본 개시내용에 개시된 주제는 예를 들어 화상 회의, 디지털 텔레비전(TV)을 포함하며 CD, DVD, 메모리 스틱 및 그와 유사한 것을 포함하는 디지털 매체에 압축된 비디오를 저장하는 다른 비디오 지원 애플리케이션에도 동일하게 적용가능할 수 있다.
스트리밍 시스템은 수집 서브시스템(213)을 포함할 수 있다. 수집 서브시스템(213)은 디지털 카메라와 같은 비디오 소스(201)를 포함할 수 있다. 비디오 소스는 압축되지 않은 비디오 픽처 스트림(202)을 생성한다. 실시예에서, 비디오 픽처 스트림(202)은 디지털 카메라에 의해 촬영된 샘플을 포함한다. 인코딩된 비디오 데이터(204)(또는 인코딩된 비디오 비트스트림(204))와 비교하여, 비디오 픽처 스트림(202)은 높은 데이터 볼륨의 비디오 픽처 스트림을 강조하기 위해 굵은 선으로 묘사되고, 비디오 픽처 스트림(202)은 전자 장치(220)에 의해 프로세싱될 수 있으며, 여기서 전자 장치(220)는 비디오 소스(201)에 결합된 비디오 인코딩 장치(203)를 포함한다. 비디오 인코딩 장치(203)는 아래에 더 상세하게 설명되는 것과 같은 개시된 주제의 양태들을 구현하거나 수행하기 위해 하드웨어, 소프트웨어, 또는 소프트웨어와 하드웨어의 조합을 포함할 수 있다. 비디오 픽처 스트림(202)과 비교하여, 인코딩된 비디오 데이터(204)(또는 인코딩된 비디오 비트스트림 (204))는 장래의 사용을 위해 스트리밍 서버(205) 상에 저장될 수 있는 인코딩된 비디오 데이터(204)(또는 인코딩된 비디오 비트스트림(204))의 더 낮은 데이터 볼륨을 강조하기 위해 가는 선으로 묘사된다. 도 2의 클라이언트 서브시스템(206) 및 클라이언트 서브시스템(208)과 같은 하나 이상의 스트리밍 클라이언트 서브시스템은 스트리밍 서버(205)에 액세스하여 인코딩된 비디오 데이터(204)의 복사본(207) 및 복사본(209)을 검색(retrieve)할 수 있다. 클라이언트 서브시스템(206)은 예를 들어 전자 장치(230) 내의 비디오 디코딩 장치(210)를 포함할 수 있다. 비디오 디코딩 장치(210)는 인코딩된 비디오 데이터의 인입 복사본(207)을 디코딩하고, 디스플레이(212)(예를 들어, 디스플레이 스크린) 또는 다른 프레젠테이션 장치 상에 제시될 수 있는 출력 비디오 픽처 스트림(211)을 생성한다. 일부 스트리밍 시스템들에서, 인코딩된 비디오 데이터(204), 비디오 데이터(207), 및 비디오 데이터(209)(예를 들어, 비디오 비트스트림들)는 일부 비디오 코딩/압축 표준에 따라 인코딩될 수 있다.
전자 장치(220) 및 전자 장치(230)는 도면에 도시되지 않은 다른 컴포넌트들을 포함할 수 있다. 예를 들어, 전자 장치(220)는 비디오 디코딩 장치를 포함할 수 있고, 전자 장치(230)는 비디오 인코딩 장치를 더 포함할 수 있다.
본 개시내용의 실시예에서, 국제 비디오 코딩 표준인 고효율 비디오 코딩(High Efficiency Video Coding)(HEVC) 및 다목적 비디오 코딩(Versatile Video Coding)(VVC), 및 중국 국가 비디오 코딩 표준인 오디오 비디오 코딩 표준(Audio Video Coding Standard)(AVS)이 예로서 사용된다. 하나의 비디오 프레임 이미지가 입력된 후, 비디오 프레임 이미지는 블록 크기에 따라 수 개의 비-중첩 프로세싱 유닛으로 분할되며, 각각의 프로세싱 유닛에 대해 유사한 압축 동작이 수행된다. 이러한 프로세싱 유닛은 코딩 트리 유닛(Coding Tree Unit)(CTU) 또는 최대 코딩 유닛(Largest Coding Unit)(LCU)이라고 지칭된다. CTU는 하나 이상의 기본적인 코딩 유닛(CU)을 획득하기 위해 더 미세한 분할을 계속 수행할 수 있으며, 여기서 CU는 인코딩 위상에서 가장 기본적인 요소이다.
이하는 CU를 코딩하는 것의 몇 가지 개념을 설명한다.
예측 코딩(predictive coding): 예측 코딩은 프레임-내 예측(intra-frame prediction) 및 프레임-간 예측(inter-frame prediction)과 같은 방식을 포함한다. 원본 비디오 신호에 대한 예측을 수행하기 위해 선택된 재구성된 비디오 신호가 이용된 후, 잔차 비디오 신호(residual video signal)가 획득된다. 인코더는 현재 CU에 대해 어느 예측 코딩 모드를 선택할지를 결정할 필요가 있고, 디코더에 통지한다. 프레임-내 예측은 예측된 신호가 동일한 이미지 내의 인코딩 및 재구성된 영역으로부터 온다는 것을 의미한다. 프레임-간 예측은 예측된 신호가 현재 이미지(참조 이미지라고 함)와는 다른, 인코딩된 다른 이미지로부터 온다는 것을 의미한다.
변환 및 양자화: 이산 푸리에 변환(discrete Fourier transform)(DFT) 또는 이산 코사인 변환(discrete cosine transform)(DCT)과 같은 변환 동작이 수행된 후, 잔차 비디오 신호는 신호로부터 변환 계수라고 지칭되는 변환 필드로 전환된다. 변환 계수는 일부 정보를 손실하도록 손실있는 양자화 동작을 수행하기 위해 추가로 사용되고, 그에 의해, 양자화된 신호는 압축 표현을 용이하게 한다. 일부 비디오 코딩 표준들에서, 선택될 변환 방식은 하나보다 많을 수 있다. 따라서, 인코더는 또한 현재 CU에 대해 변환 방식들 중 하나를 선택하고, 이에 관해 디코더에 통지할 필요가 있다. 양자화의 정밀도는 통상적으로 양자화 파라미터(QP)에 의해 결정된다. 더 큰 값의 QP는 더 큰 값 범위의 계수가 동일한 출력으로 양자화되고, 따라서 일반적으로 더 큰 왜곡 및 더 낮은 비트 레이트가 야기된다는 것을 나타낸다. 반면에, QP의 값이 비교적 작은 경우, 비교적 작은 값 범위를 나타내는 계수가 동일한 출력으로 양자화되므로, 통상적으로 비교적 작은 왜곡이 야기되고, 비트 레이트는 비교적 높다.
엔트로피 코딩 또는 통계적 코딩: 양자화된 변환 필드 신호는 각각의 값의 출현 빈도에 따라 통계 압축 인코딩에 받게 되고, 최종적으로 이진(0 또는 1) 압축 비트스트림이 출력된다. 추가로, 인코딩을 통해, 선택된 코딩 모드 및 움직임 벡터 데이터와 같은 다른 정보가 생성되고, 비트 레이트를 낮추기 위해 엔트로피 코딩이 또한 수행될 필요가 있다. 통계적 코딩은 무손실 코딩 방식이고, 동일한 신호를 표현하는 데 요구되는 비트 레이트가 효과적으로 감소될 수 있다. 일반적인 통계 코딩 방식들은 가변 길이 코딩(variable length coding)(VLC)) 또는 콘텐츠 적응적 이진 산술 코딩(CABAC)을 포함한다.
콘텐츠 적응적 이진 산술 코딩(content adaptive binary arithmetic coding) (CABAC) 프로세스는 주로 3개의 단계를 포함한다: 이진화, 컨텍스트 모델링, 및 이진 산술 코딩. 입력된 신택스 요소에 대해 이진화 프로세싱이 수행된 후, 종래의 코딩 모드 및 바이패스 코딩 모드를 이용하여 이진 데이터가 인코딩될 수 있다. 바이패스 코딩 모드는 각각의 이진 비트에 대해 특정 확률 모델을 할당할 필요가 없고, 인코딩 및 디코딩의 프로세스들을 가속화하기 위해, 입력된 이진 비트 빈 값(binary bit bin value)은 단순 바이패스 코더로 직접 인코딩된다. 일반적으로, 상이한 신택스 요소들은 서로 완전히 독립적이지 않고, 동일한 신택스 요소는 특정 메모리를 가질 수 있다. 따라서, 조건부 엔트로피 이론에 따르면, 다른 인코딩된 신택스 요소를 이용하여 조건부 인코딩이 수행될 수 있으며, 독립적인 코딩 또는 메모리리스 코딩(memoryless coding)과 비교하여 인코딩 성능이 더욱 향상될 수 있다. 조건으로서 사용되는 이러한 인코딩된 심볼 정보는 컨텍스트라고 지칭될 수 있다. 종래의 코딩 모드에서, 신택스 요소의 이진 비트들은 순차적으로 컨텍스트 모델러에 입력될 수 있고, 인코더는 이전에 인코딩된 신택스 요소 또는 이진 비트의 값에 따라 각각의 입력된 이진 비트에 대해 적절한 확률 모델을 할당할 수 있다. 이러한 프로세스는 컨텍스트 모델링이라고 지칭될 수 있다. 신택스 요소에 대응하는 컨텍스트 모델은 컨텍스트 인덱스 증분(context index increment)(ctxIdxInc) 및 컨텍스트 인덱스 시작(context index Start)(ctxIdxStart)을 이용하여 찾아질 수 있다. 빈 값 및 할당된 확률 모델이 코딩/인코딩을 위해 이진 산술 인코더에 함께 보내진 후, 빈 값에 따라 컨텍스트 모델이 업데이트될 필요가 있다. 이러한 프로세스는 인코딩에서의 적응적 프로세스로 지칭될 수 있다.
루프 필터링(loop filtering): 변경되고 양자화된 신호는 역양자화, 역변환, 및 예측 보상과 같은 동작들을 통해 재구성된 이미지를 획득하기 위해 사용될 수 있다. 원본 이미지와 비교하여, 재구성된 이미지의 일부 정보는 양자화로 인해 원본 이미지와 상이할 수 있다. 즉, 재구성된 이미지는 왜곡을 가질 수 있다. 따라서, 적어도 양자화 동안 발생되는 왜곡의 정도를 효과적으로 감소시키기 위해, 재구성된 이미지에 대해 필터링 동작이 수행될 수 있다. 이러한 필터링된 재구성된 이미지들은 장래의 이미지 신호들을 예측하기 위해 후속하여 인코딩되는 이미지들에 대한 참조들로서 사용되기 때문에, 전술한 필터링 동작은 루프 필터링(즉, 인코딩 루프에서의 필터링 동작)이라고도 지칭될 수 있다.
본 개시내용의 실시예에서, 도 3은 비디오 코더의 기본적인 흐름도이다. 이러한 절차에서, 설명을 위한 예로서 프레임-내 예측이 사용된다. 원본 이미지 신호 와 예측된 이미지 신호 사이에 차분 연산이 수행되어 잔차 신호 를 획득하고, 잔차 신호 가 변환 및 양자화된 후, 양자화 계수가 획득된다. 한편, 양자화 계수를 이용한 엔트로피 코딩을 통해 인코딩된 비트스트림이 획득되고, 역양자화 및 역변환 프로세싱을 통해 재구성된 잔차 신호 가 획득된다. 예측된 이미지 신호 가 재구성된 잔차 신호 와 중첩되어 재구성된 이미지 신호 가 생성된다. 또한, 프레임-내 예측 프로세싱을 수행하기 위해, 재구성된 이미지 신호 는 프레임-내 모드 의사결정 모듈 및 프레임-내 예측 모듈에 입력된다. 따라서, 루프 필터링을 이용하여 필터링 프로세싱이 수행되고, 필터링된 이미지 신호 가 출력된다. 필터링된 이미지 신호 는 움직임 추정 및 움직임 보상 예측을 수행하기 위해 다음 프레임의 참조 이미지로서 사용될 수 있다. 다음으로, 움직임 보상 예측의 결과 및 프레임-내 예측의 결과 에 기초하여, 다음 프레임의 예측 이미지 신호 가 획득되고, 인코딩이 완료될 때까지 전술한 프로세스가 계속해서 반복될 수 있다.
전술한 코딩/인코딩 절차에서, 루프 필터링은 비디오 인코딩의 핵심 모듈들 중 하나이고, 복수의 타입의 인코딩 왜곡이 효과적으로 제거될 수 있다. 이와 관련하여, 최신 세대의 국제 비디오 코딩/인코딩 표준 VVC는 4가지 상이한 타입의 루프 필터를 지원한다: 디블로킹 필터(deblocking filter)(DF), 샘플 적응적 오프셋(sample adaptive offset)(SAO), 적응적 루프 필터(adaptive loop filter)(ALF), 및 크로스-컴포넌트 적응적 루프 필터(cross-component adaptive loop filter)(CC-ALF).
임의적으로(optionally), VVC의 전체 구조 및 루프 필터링 프로세스가 도 4에 도시되어 있으며, 전체적인 절차는 도 3에 도시된 코더 절차와 유사하다. 루프 필터링에서, ALF 및 CC-ALF는 상이한 비디오 컴포넌트들의 콘텐츠에 따라 필터 계수들을 적응적으로 결정함으로써, 재구성된 컴포넌트와 원본 컴포넌트 간의 평균 제곱 오차(MSE)를 감소시킬 수 있는 위너 필터들이다. ALF에의 입력은 DF 및 SAO에 의한 필터링 후에 획득되는 재구성된 픽셀 값을 포함할 수 있고, ALF의 출력은 강화된 재구성된 루마 이미지 및 재구성된 크로마 이미지를 포함할 수 있다. CC-ALF에의 입력은 DF 및 SAO에 의해 필터링되고 ALF에 의해 프로세싱되지 않은 루마 컴포넌트를 포함할 수 있고, CC-ALF의 출력은 대응하는 크로마 컴포넌트의 보정된 값을 포함할 수 있다. 즉, CC-ALF는 크로마 컴포넌트에 대해서만 사용될 수 있다. 구체적으로, 크로마 컴포넌트의 보정된 값은 루마 컴포넌트와 크로마 컴포넌트 간의 상관관계를 이용하는 루마 컴포넌트의 선형 필터링을 통해 획득될 수 있고, 보정된 값은 ALF 필터링을 통해 획득된 크로마 컴포넌트에 보정된 값을 더해질 수 있으며, 최종 재구성된 크로마 컴포넌트로서 사용될 수 있다. 적응적 필터로서, 위너 필터는 상이한 특성들의 비디오 콘텐츠에 대해 상이한 필터링 계수들을 생성할 수 있다. 따라서, ALF 및 CC-ALF는 비디오 콘텐츠를 분류 또는 범주화하고, 각각의 범주의 비디오 콘텐츠에 대해 대응하는 필터를 사용해야 한다. 현재의 VVC 설계에서, 루마 컴포넌트의 ALF는 25가지의 상이한 범주의 필터들을 지원한다. 크로마 컴포넌트의 ALF는 최대 8가지의 상이한 범주의 필터들을 지원한다. 크로마 컴포넌트의 CC-ALF는 최대 4가지의 상이한 범주의 필터들을 지원한다.
루마 컴포넌트에 대해, ALF는 서브블록 레벨에서 상이한 필터들을 적응적으로 사용할 수 있다. 예를 들어, VCC에서, ALF는 4×4 루마 블록에 대해 상이한 필터들을 적응적으로 사용할 수 있다(즉, 각각의 4×4 루마 컴포넌트 픽셀 블록은 필터들의 25가지 타입 또는 범주 중 하나로 분류될 필요가 있다). 루마 컴포넌트 픽셀 블록의 분류 인덱스 C는 루마 컴포넌트 픽셀 블록의 방향성 피처 D와 양자화된 활동 피처 에 의해 공동으로 획득될 수 있다. 구체적으로, 이하의 수학식 1을 참조한다:
D 및 를 계산하기 위해, 먼저 4×4 루마 컴포넌트 픽셀 블록 내의 각각의 픽셀의 수평 기울기 값 , 수직 기울기 값 , 대각선 기울기 값 , 및 역대각선 기울기 값 이 계산되어야 하며, 이는 구체적으로 이하의 수학식 2 - 5에서 보여진다:
위의 수학식에서, R(k,l)은 위치 (k,l)이 ALF 필터링되기 전의 재구성된 픽셀 값을 나타낸다. R(k-1,l)은 위치 (k-1,l)이 ALF 필터링되기 전의 재구성된 픽셀 값을 나타낸다. R(k+1,l)은 위치 (k+1,l)이 ALF 필터링되기 전의 재구성된 픽셀 값을 나타낸다. R(k,l-1)은 위치 (k,l-1)이 ALF 필터링되기 전의 재구성된 픽셀 값을 나타낸다. R(k,l+1)은 위치 (k,l+1)이 ALF 필터링되기 전의 재구성된 픽셀 값을 나타낸다. R(k-1,l-1)은 위치 (k-1,l-1)이 ALF 필터링되기 전의 재구성된 픽셀 값을 나타낸다. R(k+1,l+1)은 위치 (k+1,l+1)이 ALF 필터링되기 전의 재구성된 픽셀 값을 나타낸다. R(k-1,l+1)은 위치 (k-1,l+1)이 ALF 필터링되기 전의 재구성된 픽셀 값을 나타낸다. R(k+1,l-1)은 위치 (k+1,l-1)이 ALF 필터링되기 전의 재구성된 픽셀 값을 나타낸다.
각각의 픽셀의 기울기에 기초하여, 각각의 4×4 픽셀 블록의 수평 기울기 gh, 수직 기울기 gv, 대각선 기울기 gd0, 및 역대각선 기울기 gd1은 아래의 수학식 6 및 7에 구체적으로 보여진 계산을 통해 획득된다:
i 및 j는 4×4 픽셀 블록의 상부 좌측 코너의 픽셀 좌표들을 나타낸다.
픽셀 블록의 기울기 값이 획득된 후, 수평 방향 기울기 값 및 수직 방향 기울기 값의 최대값 및 최소값 은 각각 다음과 같다:
대각선 기울기 값 및 역대각선 각도 기울기 값의 최대값 및 최소값 은 각각 다음과 같다:
방향성 피처 D는 수학식 8 및 수학식 9를 이용하여 획득된 네 방향에서의 기울기 값들의 최대값과 최소값을 비교함으로써 도출된다. 구체적인 프로세스는 다음과 같다:
S1: 둘 다가 유효하면, D를 0으로 설정한다.
S2: 이면 S3으로 가고; 그렇지 않으면 S4로 간다.
S3: 이면 D를 2로 설정하고; 그렇지 않으면 D를 1로 설정한다.
S4: 이면 D를 4로 설정하고; 그렇지 않으면 D를 3으로 설정한다.
t1 및 t2는 일정하게 설정된다.
전술한 수학식 1에서의 활동 피처 는 이하의 수학식 10을 이용한 계산을 통해 획득된 피처 A를 [0-4]의 간격으로 양자화함으로써 획득된다:
추가로, 각각의 4×4 루마 컴포넌트 픽셀 블록에 대해 필터링이 수행되기 전에, 현재 블록의 기울기 값에 따라, 아래의 표 1에 보여진 규칙들에 기초하여 필터 계수 및 대응하는 진폭 제한 값에 대해 기하학적 변환이 수행될 수 있다. 기하학적 변환은 변환 없음, 대각선 변환, 수직 뒤집기, 및 회전을 포함할 수 있다. 필터 계수에 기하학적 변환을 적용하는 것은 계수가 변하지 않은 채로 남아있는 경우에서 픽셀 값에 기하학적 변환을 적용하는 것과 등가이고, 기하학적 변환의 목적은 상이한 블록들의 콘텐츠의 방향성에 최대한 정렬함으로써, ALF에 의해 요구되는 범주들의 수량을 최대한 감소시켜, 상이한 픽셀들이 동일한 필터 계수를 공유할 수 있게 하는 것이다. 기하학적 변환을 이용함으로써, ALF 필터들의 수량을 증가시키지 않고도 실제 분류가 25가지 타입으로부터 100가지 타입으로 증가될 수 있고, 그에 의해 그것의 적응성을 향상시킨다.
기울기 값 기하학적 변환
gd1 < gd0 및 gh < gv 변환 없음(변경되지 않음)
gd1 < gd0 및 gv ≤ gh 대각선 변환
gd0 ≤ gd1 및 gh < gv 수직 뒤집기
gd0 ≤ gd1 및 gv ≤ gh 회전 변환
전술한 내용은 ALF에 의한 루마 컴포넌트 픽셀 블록의 분류 및 기하학적 변환의 프로세스 설명하고, 이하는 CC-ALF에 의한 필터링 및 분류의 프로세스를 설명한다.
CC-ALF는 루마 컴포넌트를 선형 필터링함으로써 각각의 크로마 컴포넌트에 대해 대응하는 보정된 값을 생성할 수 있다. CC-ALF의 예시적인 절차 및 ALF와의 관계가 도 5에 도시되어 있다. 도 5에 도시된 바와 같이, SAO-필터링된 루마 컴포넌트 RY는 루마 컴포넌트를 필터링 프로세싱하고 루마 컴포넌트의 값 Y를 출력하기 위해 ALF 필터에 입력된다. 추가로, 두 개의 크로마 컴포넌트 Cb 및 Cr에 대해 별도로 필터링 프로세싱을 수행하여 두 개의 크로마 컴포넌트의 보정된 값들 ΔRCb 및 ΔRCr을 획득하기 위해, SAO-필터링된 루마 컴포넌트의 값 RY가 CC-ALF 필터에 입력된다. SAO 필터링 후의 두 개의 크로마 컴포넌트의 값들은 크로마 컴포넌트에 대한 필터링을 위해 ALF 필터에 입력된다. 다음으로, 두 개의 크로마 컴포넌트에 대한 ALF 필터의 필터링 결과들은 보정된 값들 ΔRCb 및 ΔRCr과 각각 중첩되고, 그에 따라 크로마 컴포넌트들의 값들 Cb 및 Cr이 출력된다.
구체적으로, CC-ALF의 필터링 프로세스는 이하의 수학식 11에서 정의될 수 있다:
ΔRi(x, y)는 샘플 위치 (x, y)에서의 크로마 컴포넌트 i의 보정된 값(즉, 오프셋 값)을 나타내고; Si는 루마 컴포넌트에 대한 CC-ALF 필터에 의해 지원되는 필터링 영역을 나타내고; ci(x0, y0)는 크로마 컴포넌트 i에 대응하는 필터 계수를 나타내고; RY는 루마 컴포넌트를 나타내고; (xc, yC)는 크로마 컴포넌트로부터 획득된 루마 컴포넌트의 위치를 나타내고; (x0, y0)는 루마 컴포넌트에 대응하는 오프셋 위치를 나타내며, 상기 오프셋 위치는 비디오 시퀀스에 대응하는 루마와 크로마 사이의 스케일링 관계에 따라 크로마 컴포넌트의 좌표들을 변환함으로써 획득될 수 있다.
CC-ALF는 3×4 다이아몬드 형상 필터를 지원할 수 있다. 다이아몬드 형상 필터의 예가 도 6에 도시되어 있다. ALF와 비교하여, CC-ALF는 필터 계수 내의 대칭성의 제한을 제거하므로, 필터 계수는 복수의 루마 컴포넌트와 크로마 컴포넌트 간의 상대적 관계에 유연하게 적응할 수 있다. 추가로, 송신될 필요가 있는 필터 계수를 감소시키기 위해, 현재의 VVC 설계에서, CC-ALF는 필터 계수에 대해 다음의 두 가지 제한을 갖는다: (1) CC-ALF의 모든 계수의 합은 0으로 제한된다. 따라서, 3×4 다이아몬드 형상 필터에 대해, 7개의 필터 계수만이 계산 및 송신될 필요가 있고, 이러한 조건에 따라, 중앙 위치에서의 필터 계수는 디코더에서 자동으로 추론될 수 있다. (2) 송신될 필요가 있는 각각의 필터 계수의 절대값은 2의 거듭제곱이어야 하며, 최대 6비트로 표현될 수 있다. 따라서, CC-ALF의 필터 계수의 절대 값은 {0, 2, 4, 8, 16, 32, 64}일 수 있다. 이 설계에서, 곱셈 연산 대신에 시프트 연산이 사용될 수 있고, 그에 의해 곱셈 연산들을 줄일 수 있다.
루마 컴포넌트의 ALF에 의해 지원되는 서브블록 레벨에서의 분류 및 적응적 선택과 달리, CC-ALF는 CTU 레벨에서의 분류 및 적응적 선택만을 지원한다. 각각의 크로마 컴포넌트에 대해, CTU 내의 모든 크로마 픽셀은 동일한 범주에 속할 수 있으며, 동일한 필터를 사용할 수 있다.
추가로, 적응 파라미터 세트(adaptation parameter set)(APS)는 최대 25개의 그룹의 루마 필터 계수들 및 대응하는 진폭 제한 인덱스들을 포함할 수 있고, 두 개의 크로마 컴포넌트는 최대 8개의 그룹의 크로마 필터 계수들 및 대응하는 진폭 제한 인덱스들을 가질 수 있고, 각각의 크로마 컴포넌트는 최대 4개의 그룹의 CC-ALF 필터 계수들을 가질 수 있다. 비트 레이트를 절약하기 위해, 루마 컴포넌트의 ALF 필터에 대해, 상이한 범주들의 필터 계수들이 병합될 수 있고, 그에 의해 복수의 범주가 하나의 필터 계수 그룹을 공유할 수 있으며, 인코더는 어느 계수 범주들이 레이트-왜곡 최적화(rate-distortion optimization)(RDO)에 의해 병합될 수 있는지를 결정할 수 있고, 동시에 현재 슬라이스에 의해 사용되는 APS의 인덱스는 슬라이스 헤더 내에 마킹될 수 있다. CC-ALF는 CTU 레벨에서의 적응을 지원한다. 복수의 필터의 경우에서, CC-ALF 및 사용되는 필터의 인덱스는 CTU 레벨에서의 각각의 크로마 컴포넌트에 대해 적응적으로 선택된다.
현재의 CC-ALF 설계에서, 각각의 크로마 컴포넌트에 대해 최대 4개의 필터가 지원된다. 즉, 최대 4개의 상이한 범주가 지원된다. 범주의 상한은 상이한 범주들 간의 불량한 구별을 야기한다. CTU 레벨에서의 대략적인 적응적 선택은 상이한 콘텐츠의 불량한 구별을 초래한다. 이는 CC-ALF의 콘텐츠 분류의 정확도를 감소시키고, CC-ALF의 적응 능력을 감소시키며, CC-ALF의 성능에 더욱 영향을 미친다.
이에 기초하여, 본 개시내용의 예시적인 실시예들은 크로마 컴포넌트에 대해 CC-ALF를 수행할 때 블록 분류 범주를 추가할 수 있어 CC-ALF에서 콘텐츠 분류의 정확성을 향상시킴으로써 CC-ALF의 필터링 성능 및 적응 능력을 향상시키고 코딩 및 디코딩 효율을 향상시키는 새로운 기술적 해법을 제안한다.
본 개시내용의 본 실시예의 기술적 해법의 구현 세부사항들은 이하에서 상세히 설명된다:
도 7은 본 개시내용의 실시예에 따른 루프 필터링 방법의 흐름도이다. 루프 필터링 방법은 비디오 인코딩 디바이스 또는 비디오 디코딩 디바이스에 의해 수행될 수 있다. 도 7을 참조하면, 루프 필터링 방법은 적어도 단계(S710) 내지 단계(S730)를 포함한다. 상세한 설명은 다음과 같다:
단계(S710): 적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 루마 컴포넌트의 블록 분류 정보를 획득한다.
블록 분류 정보는 서브블록 레벨의 분류 결과를 나타내기 위해 사용되는 정보를 지칭한다. 블록 분류 정보는 분류 범주에 대응하는 식별 정보일 수 있으며, 예를 들어 분류 인덱스일 수 있다.
임의적으로, 루마 컴포넌트에 대해 ALF가 수행되는 블록 분류 프로세스에 대해서는, 전술된 수학식들 1 내지 10을 참조하여 계산을 통해 특정 분류 인덱스를 획득한 후, 루마 컴포넌트에 대해 ALF가 수행될 때의 블록 분류 정보가 결정될 수 있다.
단계(S720): 적응적 루프 필터링이 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정한다.
일부 실시예들에서, 루마 컴포넌트에 대해 ALF가 수행될 때의 서브블록에 대한 분류 결과는 크로마 컴포넌트에 대해 CC-ALF가 수행될 때의 동일 크기의 블록의 분류 결과로서 사용될 수 있다. 예를 들어, ALF가 수행될 때의 서브블록의 루마 컴포넌트의 분류 결과가 그 서브블록이 제3 타입에 속함을 나타낸다고 가정하면, CC-ALF가 수행될 때의 상기 서브블록의 크로마 컴포넌트도 제3 타입에 속하며, 즉 ALF가 수행될 때의 서브블록의 루마 컴포넌트의 범주는 CC-ALF가 수행될 때의 서브블록의 범주와 공유되거나 동일할 수 있다.
루마 컴포넌트는 ALF가 수행될 때 비교적 많은 수량의 분류 범주를 가지므로, 루마 컴포넌트에 대해 ALF가 수행될 때의 서브블록에 대한 분류 결과를 크로마 컴포넌트에 대해 CC-ALF가 수행될 때의 동일 크기 블록에 대한 분류 결과로서 사용함으로써, 크로마 컴포넌트에 대해 CC-ALF가 수행될 때의 블록 분류 범주가 추가될 수 있고, CC-ALF에서의 콘텐츠 분류 정확도가 향상될 수 있고, CC-ALF의 적응 능력 및 필터링 성능이 더욱 향상될 수 있으며, 그에 의해 인코딩 및 디코딩 효율을 향상시킬 수 있다.
일부 실시예들에서, 루마 컴포넌트에 대해 ALF가 수행될 때의 서브블록의 분류 결과 및 대응하는 기하학적 변환 타입은 루마 컴포넌트에 대해 CC-ALF가 수행될 때의 동일 크기 블록의 분류 결과 및 기하학적 변환 타입으로서 사용될 수 있다. 예시적인 실시예들은 또한 CC-ALF가 크로마 컴포넌트에 대해 수행될 때의 블록 분류 범주를 증가시킬 수 있고, 그에 의해 CC-ALF에서의 콘텐츠 분류의 정확도를 향상시키고, CC-ALF의 적응 능력 및 필터링 성능을 향상시키며, 인코딩 및 디코딩 효율을 향상시킬 수 있다.
단계(S730): 크로스 컴포넌트 적응적 루프 필터링이 수행될 때의 크로마 컴포넌트의 블록 분류 정보에 따라 크로마 컴포넌트에 대한 크로스 컴포넌트 적응적 루프 필터링 프로세싱을 수행하기 위해 필터 계수를 선택한다.
임의적으로, 대응하는 필터 계수는 크로마 컴포넌트에 대해 CC-ALF가 수행될 때의 블록 분류 범주에 기초하여 각각 결정될 수 있다. 따라서, 크로마 컴포넌트에 대해 CC-ALF가 수행될 때의 블록 분류 정보에 기초하여, 크로마 컴포넌트에 대해 CC-ALF 프로세싱을 수행하기 위해 대응하는 필터 계수가 선택될 수 있다.
추가로, 일부 실시예들에서, 크로마 컴포넌트에 대해 CC-ALF가 수행될 때의 다양한 타입들의 필터들의 병합 결과는 루마 컴포넌트에 대해 ALF가 수행될 때의 다양한 타입들의 필터들의 병합 결과에 기초하여 결정될 수 있다. 예를 들어, 루마 컴포넌트에 대해 ALF가 수행될 때의 다양한 타입들의 필터들의 병합 결과는 크로마 컴포넌트에 대해 CC-ALF가 수행될 때의 다양한 타입들의 필터들의 병합 결과로서 사용될 수 있다. 예시적인 구현 프로세스에서, ALF가 수행될 때의 다양한 타입들의 필터들이 병합되고, 각각의 가능한 병합 방식을 수행함으로써 적어도 두 개의 ALF 필터가 병합될 수 있으며, 대응하는 레이트 왜곡 비용들이 계산되고, 레이트 왜곡 비용들이 최소인 병합 방식에 따라 획득된 병합 결과는 ALF가 수행되는 경우에서 모든 타입들의 필터들의 병합 결과로서 사용된다. 필터들을 병합함으로써, 가능한 한 적은 수의 필터 계수들을 송신하는 것이 가능하며, 그에 의해 비트 레이트를 절약한다.
일부 실시예들에서, 루마 컴포넌트에 대해 ALF가 수행될 때와 크로마 컴포넌트에 대해 CC-ALF가 수행될 때 다양한 타입들의 필터들의 하나 이상의 병합 결과는 루마 컴포넌트에 대해 ALF 프로세스가 수행될 때 필터 병합을 수행하는 것의 레이트 왜곡 비용, 및 크로마 컴포넌트에 대해 CC-ALF 프로세스가 수행될 때 필터 병합을 수행하는 것의 레이트 왜곡 비용에 기초하여 결정될 수 있다. 예시적인 실시예들의 기술적 해법은 루마 컴포넌트의 ALF와 크로마 컴포넌트의 CC-ALF를 공동으로 최적화하여, ALF 및 CC-ALF의 다양한 타입들의 필터들의 병합 결과(들)를 동시에 결정할 수 있다.
일부 실시예들에서, 루마 컴포넌트에 대해 ALF가 수행될 때 결정된 필터들의 수량에 기초하여, 크로마 컴포넌트에 대해 CC-ALF가 수행될 때 이용가능한 필터들의 수량이 결정될 수 있다. 예를 들어, 루마 컴포넌트에 대해 ALF가 수행될 때 결정된 필터들의 수량은 크로마 컴포넌트에 대해 CC-ALF가 수행될 때 이용가능한 필터들의 수량으로서 사용될 수 있다.
도 7에 도시된 실시예에서의 루프 필터링 방법은 비디오 인코더의 인코딩 프로세스에 적용될 수 있거나, 비디오 디코더의 디코딩 프로세스에 적용될 수 있다.
도 8은 본 개시내용의 실시예에 따른 비디오 코딩 방법의 흐름도이다. 비디오 코딩 방법은 비디오 인코딩 디바이스에 의해 수행될 수 있다. 도 8을 참조하면, 비디오 코딩 방법은 적어도 단계(S810) 내지 단계(S840)를 포함한다. 상세한 설명은 다음과 같다:
단계(S810): ALF가 수행될 때의 비디오 이미지 프레임 내의 루마 컴포넌트의 블록 분류 정보를 획득한다.
단계(S820): ALF가 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, CC-ALF가 수행될 때의 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정한다.
단계(S830): CC-ALF가 수행될 때의 크로마 컴포넌트의 블록 분류 정보에 따라 크로마 컴포넌트에 대해 CC-ALF 프로세싱을 수행하기 위한 필터 계수를 선택한다.
단계들(S810 내지 S830)의 관련된 설명들 및 구현들에 대해서는 전술한 실시예들이 참조될 수 있다.
단계(S840): 루마 컴포넌트의 ALF 프로세싱 결과 및 크로마 컴포넌트의 CC-ALF 프로세싱 결과에 따라, 비디오 비트스트림을 획득하기 위해, 비디오 이미지 프레임에 대한 인코딩 프로세싱을 수행한다. 구체적으로, 대응하는 필터 계수는 루마 컴포넌트에 대해 ALF가 수행될 때의 블록 분류 정보에 기초하여 결정될 수 있고, ALF 프로세싱 결과를 획득하기 위해 필터 계수에 따라 루마 컴포넌트에 대해 ALF 프로세싱이 수행된다. 따라서, ALF 프로세싱 결과 및 CC-ALF 프로세싱 결과에 따라 비디오 이미지 프레임에 대해 인코딩 프로세싱이 수행되어 비디오 비트스트림을 획득할 수 있다.
도 8에 도시된 비디오 인코딩 방법에서, 크로마 컴포넌트에 대해 CC-ALF가 수행될 때 블록 분류 범주가 추가되어, CC-ALF에서의 콘텐츠 분류의 정확도를 향상시킴으로써, CC-ALF의 적응 능력 및 필터링 성능을 향상시키고 인코딩 효율을 향상시킬 수 있다.
일부 실시예들에서, 도 8에 도시된 비디오 인코딩 방법에서의 블록 분류 정책(즉, 루마 컴포넌트에 대해 ALF가 수행될 때의 블록 분류 정보에 기초하여 크로마 컴포넌트에 대해 CC-ALF가 수행될 때의 블록 분류 정보를 결정함)은 독립적으로 사용될 수 있거나, 다른 분류 정책(예를 들어, 관련 기술에서의 분류 정책)과 함께 사용될 수 있다. 이러한 두 가지 예시적인 사용 사례에 대한 설명들은 이하에 제공된다.
도 8에 도시된 블록 분류 정책을 단독으로 사용:
도 8에 도시된 블록 분류 정책이 단독으로 사용되는 실시예들에서, 인코더는 비디오 비트스트림에서 비디오 이미지 프레임의 현재 슬라이스에 대응하는 제1 플래그 비트를 인코딩할 수 있다. 제1 플래그 비트의 값은 현재 슬라이스 내의 타깃 블록의 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식 또는 모드를 사용하는지(예를 들어, 도 8의 블록 분류 정책의 CC-ALF 프로세싱 방식이 사용되는 것 등)를 나타내기 위해 사용된다. 이와 관련하여, 도 8에 도시된 블록 분류 정책이 단독으로 사용될 때, 현재 슬라이스에 대응하는 제1 플래그 비트는 현재 슬라이스 내의 타깃 블록의 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식/모드를 사용하는지를 직접적으로 나타낼 수 있다.
일부 실시예들에서, 제1 플래그 비트의 값이 제1 값(예를 들어, 1)인 경우, 이는 현재 슬라이스 내의 타깃 블록들 중 적어도 일부의 크로마 컴포넌트들이 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용함을 나타내고, 또는 이는 현재 슬라이스 내의 모든 타깃 블록들의 크로마 컴포넌트들이 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용함을 나타낸다. 또한, 제1 플래그 비트의 값이 제2 값(예를 들어, 0)인 경우, 이는 현재 슬라이스 내의 모든 타깃 블록들의 크로마 컴포넌트들이 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용하지 않음을 나타낸다.
일부 실시예들에서, 제1 플래그 비트는 슬라이스-레벨 플래그 비트일 수 있다. 제1 플래그 비트의 값이 현재 슬라이스 내의 모든 타깃 블록들의 크로마 컴포넌트들이 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용함을 나타내거나, 현재 슬라이스 내의 모든 타깃 블록들의 크로마 컴포넌트들이 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용하지 않음을 나타내는 경우, 블록-레벨 플래그 비트의 인코딩은 요구되지 않는다. 그러나, 제1 플래그 비트의 값이 현재 슬라이스 내의 타깃 블록들 중 일부의 크로마 컴포넌트들이 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용함을 나타낼 때, 인코더는 비디오 비트스트림에서 현재 슬라이스 내에 포함된 각각의 타깃 블록에 대응하는 제2 플래그 비트를 인코딩할 수 있고, 여기서 제2 플래그 비트의 값은 대응하는 타깃 블록의 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용하는지를 나타내기 위해 사용된다. 즉, 슬라이스-레벨 플래그 비트에 기초하여, 블록-레벨 플래그 비트(예를 들어, 제2 플래그 비트)는 타깃 블록의 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용할 필요가 있는지를 나타내기 위해 추가로 사용될 수 있다.
일부 실시예들에서, 타깃 블록에 대해 두 개의 크로마 컴포넌트(Cr 및 Cb)가 있으므로, 타깃 블록의 두 개의 크로마 컴포넌트 각각에 대해 하나의 제2 플래그 비트가 설정될 수 있고, 각각의 제2 플래그 비트의 값은 타깃 블록 내의 대응하는 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용하는지를 나타내기 위해 사용될 수 있다.
일부 실시예들에서, 타깃 블록의 두 개의 크로마 컴포넌트(Cr 및 Cb)는 또한 동일한 제2 플래그 비트에 대응할 수 있고, 동일한 제2 플래그 비트의 값은 타깃 블록 내의 두 개의 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용하는지를 나타내기 위해 사용될 수 있다.
마찬가지로, 현재 슬라이스에 대해, 현재 슬라이스의 두 개의 크로마 컴포넌트 각각에 대해 하나의 제1 플래그 비트가 설정될 수 있고, 각각의 제1 플래그 비트의 값은 현재 슬라이스 내의 대응하는 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용하는지를 나타내기 위해 사용될 수 있다.
일부 실시예들에서, 현재 슬라이스의 두 개의 크로마 컴포넌트는 또한 동일한 제1 플래그 비트에 대응할 수 있고, 동일한 제1 플래그 비트의 값은 현재 슬라이스의 두 개의 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용하는지를 나타내기 위해 사용될 수 있다.
슬라이스-레벨 플래그 비트가 두 개의 크로마 컴포넌트에 대해 각각 하나의 제1 플래그 비트를 설정하는 경우, 블록-레벨 플래그 비트는 또한 두 개의 크로마 컴포넌트에 대해 각각 하나의 제2 플래그 비트를 설정할 수 있다. 블록 레벨 플래그 비트가 두 개의 크로마 컴포넌트에 대해 하나의 제2 플래그 비트를 설정하는 경우, 슬라이스-레벨 플래그 비트는 두 개의 크로마 컴포넌트에 대해 하나의 제1 플래그 비트만을 설정하면 된다.
일부 실시예들에서, 인코더는 레이트-왜곡 최적화 방식으로, 각각의 타깃 블록의 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용하는지를 결정할 수 있다. 구체적으로, 인코더는 예시적인 실시예들에서 제안된 CC-ALF 프로세싱이 사용될 때의 각각의 타깃 블록의 크로마 컴포넌트의 제1 레이트 왜곡 비용을 계산할 수 있고, CC-ALF 프로세싱이 사용되지 않을 때의 각각의 타깃 블록의 크로마 컴포넌트의 제2 레이트 왜곡 비용을 계산할 수 있으며, 다음으로 제1 레이트 왜곡 비용 및 제2 레이트 왜곡 비용에 따라 각각의 타깃 블록의 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용하는지를 결정할 수 있다. 예를 들어, 타깃 블록의 크로마 컴포넌트에 대응하는 제1 레이트 왜곡 비용이 제2 레이트 왜곡 비용보다 작다면, 이는 타깃 블록의 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용함을 나타낸다. 타깃 블록의 크로마 컴포넌트에 대응하는 제1 레이트 왜곡 비용이 제2 레이트 왜곡 비용보다 크다면, 타깃 블록의 크로마 컴포넌트가 예시적인 실시예들에서 제공된 CC-ALF 프로세싱 방식을 사용하지 않음을 나타낸다. 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식이 사용되는지 여부를 결정하기 위해 레이트 왜곡 비용을 계산함으로써, 코딩 효율이 보장되는 한편, 레이트 왜곡 비용들이 최대한 감소될 수 있다.
추가로, 각각의 타깃 블록의 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용하는지 여부를 결정할 때, 각각의 타깃 블록의 두 개의 크로마 컴포넌트에 대해 각각 의사결정이 이루어질 수 있고(즉, 대응하는 레이트 왜곡 비용이 별도로 계산될 수 있음), 또는 각각의 타깃 블록의 두 개의 크로마 컴포넌트에 대해 동시에 의사결정이 이루어질 수 있다(즉, 레이트 왜곡 비용들이 중첩될 수 있음).
도 8에 도시된 블록 분류 정책 및 다른 분류 정책 둘 다를 사용:
일부 실시예들에서, 도 8에 도시된 블록 분류 정책 및 다른 분류 정책 둘 다가 사용되는 경우, 인코딩을 수행될 필요가 있을 때, 현재 슬라이스에 대응하는 제3 플래그 비트가 비디오 비트스트림에서 인코딩될 필요가 있고, 제3 플래그 비트의 값은 현재 슬라이스 내의 타깃 블록의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 필요가 있는지를 나타내기 위해 사용된다. 현재 슬라이스 내의 타깃 블록의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 필요가 있는 경우, 대응하는 적응적 파라미터 세트의 인덱스가 비디오 비트스트림에 인코딩된다. 현재 슬라이스의 크로마 컴포넌트에 대응하는 제4 플래그 비트는 적응적 파라미터 세트의 인덱스에 대응하는 적응적 세트에서 인코딩된다. 제4 플래그 비트의 값은 현재 슬라이스의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 때 사용되는 분류 정책을 나타내기 위해 사용된다. 분류 정책은 도 8에 도시된 블록 분류 정책(즉, 크로마 컴포넌트에 대해 CC-ALF가 수행될 때의 블록 분류 정보는 루마 컴포넌트에 대해 ALF가 수행될 때의 블록 분류 정보에 기초하여 결정됨) 및/또는 다른 분류 정책을 포함한다.
즉, 도 8에 도시된 블록 분류 정책 및 다른 분류 정책 둘 다가 사용되는 경우, 슬라이스 레벨에서의 플래그 비트(즉, 제3 플래그 비트)를 이용하여, 현재 슬라이스 내의 타깃 블록의 크로마 컴포넌트에 대해 CC-ALF 프로세싱(예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식 및/또는 다른 CC-ALF 프로세싱 방식일 수 있음)을 수행할지를 나타내도록 요구된다. CC-ALF 프로세싱이 수행되는 경우, 분류 정책의 플래그 비트(즉, 제4 플래그 비트)를 (적응적 파라미터 세트의 인덱스를 이용하여 참조되는) 대응하는 적응적 파라미터 세트에 인코딩하여, 도 8에 도시된 블록 분류 정책이 사용되는지 아니면 다른 분류 정책이 사용되는지를 명확하게 나타내도록 요구된다. 예를 들어, 제4 플래그 비트의 값이 1이라면, 이는 도 8에 도시된 블록 분류 정책이 사용될 필요가 있음을 나타내고; 또는 제4 플래그 비트의 값이 0이라면, 이는 다른 분류 정책이 사용될 필요가 있음을 나타낸다.
현재 슬라이스가 인코딩된 프레임의 APS를 참조하는 경우, 대응하는 제4 플래그 비트가 이전 APS에서 이미 인코딩되었으므로, 추가의 인코딩은 요구되지 않는다. 현재 슬라이스가 인코딩되지 않은 APS(예를 들어, 현재 프레임의 APS)인 경우, 제4 플래그 비트는 APS에서 인코딩될 필요가 있다.
일부 실시예들에서, 제3 플래그 비트의 값이 현재 슬라이스 내의 타깃 블록들 중 적어도 일부의 크로마 컴포넌트들에 대해 CC-ALF 프로세싱이 수행될 필요가 있음을 나타내는 경우, 어느 타깃 블록들에 대해 CC-ALF 프로세싱이 수행될 필요가 있는지를 구별하기 위해, 현재 슬라이스에 포함된 각각의 타깃 블록에 대응하는 제5 플래그 비트가 비디오 비트스트림 내에 인코딩될 수 있다. 제5 플래그 비트의 값은 대응하는 타깃 블록의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행되는지를 나타내기 위해 사용될 수 있다. 예를 들어, 타깃 블록에 대응하는 제5 플래그 비트의 값이 1이라면, 이는 타깃 블록의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 필요가 있음을 나타낸다. 타깃 블록에 대응하는 제5 플래그 비트의 값이 0이라면, 이는 타깃 블록의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 필요가 없음을 나타낸다.
슬라이스-레벨 플래그 비트(즉, 제3 플래그 비트)가 현재 슬라이스 내의 모든 타깃 블록의 크로마 컴포넌트들에 대해 CC-ALF 프로세싱이 수행될 필요가 없음을 나타내거나, 모든 타깃 블록의 크로마 컴포넌트들에 대해 CC-ALF 프로세싱이 수행될 필요가 있음을 나타내는 경우, 블록-레벨 플래그 비트(즉, 제5 플래그 비트)는 도입될 필요가 없다.
예를 들어, 슬라이스 레벨 플래그 비트(즉, 제3 플래그 비트)의 값이 슬라이스 내의 타깃 블록들 중 적어도 일부에 대해 CC-ALF 프로세싱이 수행될 필요가 있음을 나타내고, 코딩 분류 정책의 플래그 비트(즉, 제4 플래그 비트)는 도 8에 도시된 블록 분류 정책이 사용됨을 나타내는 경우, 타깃 블록의 블록 레벨 플래그 비트(즉, 제5 플래그 비트)가 CC-ALF 프로세싱이 수행될 필요가 있음을 나타낸다면, 타깃 블록(들)에 대해 도 8에 도시된 블록 분류 정책을 사용하여 CC-ALF 프로세싱이 수행되거나 수행될 것이다.
일부 실시예들에서, 두 개의 크로마 컴포넌트(Cr 및 Cb)가 있으므로, 슬라이스에 대해, 전술한 실시예에서와 유사한 기술적 해법이 사용될 수 있다. 즉, 현재 슬라이스의 두 개의 크로마 컴포넌트에 대해 하나의 제3 플래그 비트가 각각 설정될 수 있거나, 현재 슬라이스의 두 개의 크로마 컴포넌트에 대해 동일한 제3 플래그 비트가 설정될 수 있다. 마찬가지로, 타깃 블록에 대해, 타깃 블록의 두 개의 크로마 컴포넌트에 대해 하나의 제5 플래그 비트가 각각 설정될 수 있거나, 타깃 블록의 두 개의 크로마 컴포넌트에 대해 동일한 제5 플래그 비트가 설정될 수 있다. 마찬가지로, 두 개의 크로마 컴포넌트 각각에 대해 하나의 제4 플래그 비트가 APS에 각각 설정될 수 있거나, 두 개의 크로마 컴포넌트에 대해 동일한 제4 플래그 비트가 APS에 설정될 수 있다. 구체적인 설명에 대해서는 전술한 실시예들이 참조될 수 있으며, 간결성을 위해 이에 연관된 설명들은 생략될 수 있다.
일부 실시예들에서, 인코더는 레이트-왜곡 최적화 방식으로, 현재 슬라이스의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 때 도 8에 도시된 블록 분류 정책 및/또는 다른 분류 정책이 사용되는지를 결정할 수 있다. 구체적으로, 인코더는 도 8에 도시된 블록 분류 정책을 이용하여 현재 슬라이스 내의 모든 타깃 블록들의 크로마 컴포넌트들에 대해 CC-ALF 프로세싱이 수행될 때의 제3 레이트 왜곡 비용을 계산할 수 있고, 다른 분류 정책을 이용하여 현재 슬라이스 내의 모든 타깃 블록들의 크로마 컴포넌트들에 대해 CC-ALF 프로세싱이 수행될 때의 제4 레이트 왜곡 비용을 계산할 수 있고, 다음으로, 제3 레이트 왜곡 비용 및 제4 레이트 왜곡 비용에 따라, 현재 슬라이스의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 때 사용되는 분류 정책을 결정할 수 있다. 예를 들어, 슬라이스에 대응하는 제3 레이트 왜곡 비용이 제4 레이트 왜곡 비용보다 작다면, 이는 슬라이스의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 때 도 8에 도시된 블록 분류 정책이 사용됨을 나타낸다. 슬라이스에 대응하는 제3 레이트 왜곡 비용이 제4 레이트 왜곡 비용보다 크다면, 이는 슬라이스의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 때 다른 분류 정책이 사용됨을 나타낸다.
일부 실시예들에서, 전술한 실시예에서의 타깃 블록의 크기 정보는 인코더 및 디코더에 의해 미리 설정될 수 있거나, 인코더에 의해 결정될 수 있다. 타깃 블록의 크기 정보가 결정된 후, 타깃 블록의 크기 정보는 비디오 비트스트림의 시퀀스 파라미터 세트, 이미지 파라미터 세트, 이미지 헤더, 및/또는 슬라이스 헤더에 인코딩될 수 있다. 예를 들어, 타깃 블록은 CTU일 수 있거나, CTU보다 작은 블록일 수 있다.
도 9는 본 개시내용의 실시예에 따른 비디오 디코딩 방법의 흐름도이다. 비디오 디코딩 방법은 비디오 디코딩 디바이스에 의해 수행될 수 있다. 도 9를 참조하면, 비디오 디코딩 방법은 적어도 단계(S910) 내지 단계(S940)를 포함한다. 상세한 설명은 다음과 같다:
단계(S910): ALF가 수행될 때의 비디오 이미지 프레임 내의 루마 컴포넌트의 블록 분류 정보를 획득한다.
단계(S920): ALF가 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, CC-ALF가 수행될 때의 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정한다.
단계(S930): CC-ALF가 수행될 때의 크로마 컴포넌트의 블록 분류 정보에 따라, 크로마 컴포넌트에 대해 CC-ALF 프로세싱을 수행하기 위해 필터 계수를 선택한다.
단계들(S810 내지 S830)의 관련 설명들 및 구현들에 대해서는 전술한 실시예들이 참조될 수 있다.
단계(S940): 루마 컴포넌트의 ALF 프로세싱 결과 및 크로마 컴포넌트의 CC-ALF 프로세싱 결과에 따라, 비디오 비트스트림에 대한 디코딩 프로세싱을 수행한다.
구체적으로, 루마 컴포넌트에 대해 ALF가 수행될 때의 블록 분류 정보에 따라 필터 계수가 결정될 수 있고, 필터 계수에 따라 루마 컴포넌트에 대해 ALF 프로세싱이 수행되어 ALF 프로세싱 결과를 획득하며, 그에 의해, 비디오 비트스트림은 ALF 프로세싱 결과 및 CC-ALF 프로세싱 결과에 따라 디코딩될 수 있다.
도 9에 도시된 비디오 디코딩 방법에서, 크로마 컴포넌트에 대해 CC-ALF가 수행될 때의 블록 분류 범주가 추가되어, CC-ALF에서의 콘텐츠 분류의 정확도를 향상시킴으로써, CC-ALF의 적응 능력 및 필터링 성능을 향상시키고 코딩 및 디코딩 효율을 향상시킬 수 있다.
본 개시내용의 본 실시예에서, 도 9에 도시된 비디오 디코딩 방법에서의 블록 분류 정책(즉, ALF가 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라 CC-ALF가 수행될 때의 크로마 컴포넌트의 블록 분류 정보)는 별도로 사용될 수 있거나, 다른 분류 정책(예를 들어, 관련 기술에서의 분류 정책)과 함께 사용될 수 있다. 이하는 두 가지 경우를 별도로 설명한다:
도 9에 도시된 블록 분류 정책만을 단독으로 사용:
일부 실시예들에서, 도 9에 도시된 블록 분류 정책이 단독으로 사용되는 경우(도 9에 도시된 블록 분류 정책은 도 8에 도시된 블록 분류 정책과 동일함), 디코더는 비디오 비트스트림을 디코딩하여, 현재 슬라이스에 대응하는 제1 플래그 비트를 획득할 수 있다. 제1 플래그 비트의 값은 현재 슬라이스 내의 타깃 블록의 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용하는지(즉, 도 9의 블록 분류 정책의 CC-ALF 프로세싱 방식이 사용됨)를 나타내기 위해 사용될 수 있다. 이와 관련하여, 도 9에 도시된 블록 분류 정책이 단독으로 사용될 때, 현재 슬라이스에 대응하는 제1 플래그 비트는 현재 슬라이스 내의 타깃 블록의 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용하는지를 직접적으로 나타낼 수 있다.
일부 실시예들에서, 제1 플래그 비트의 값이 제1 값(예를 들어, 1)인 경우, 이는 현재 슬라이스 내의 타깃 블록들 중 적어도 일부의 크로마 컴포넌트들이 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용함을 나타내고, 또는 이는 현재 슬라이스 내의 모든 타깃 블록들의 크로마 컴포넌트들이 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용함을 나타낸다. 제1 플래그 비트의 값이 제2 값(예를 들어, 0)인 경우, 이는 현재 슬라이스 내의 모든 타깃 블록들의 크로마 컴포넌트들이 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용하지 않음을 나타낸다.
일부 실시예들에서, 제1 플래그 비트는 슬라이스-레벨 플래그 비트이다. 제1 플래그 비트의 값이 현재 슬라이스 내의 모든 타깃 블록들의 크로마 컴포넌트들이 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용함을 나타내거나, 현재 슬라이스 내의 모든 타깃 블록들의 크로마 컴포넌트들이 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용하지 않음을 나타내는 경우, 블록-레벨 플래그 비트는 디코딩될 필요가 없다(인코더는 블록-레벨 플래그 비트를 인코딩할 필요도 없음). 그러나, 제1 플래그 비트의 값이 현재 슬라이스 내의 타깃 블록들 중 적어도 일부의 크로마 컴포넌트들이 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용함을 나타낼 때, 디코더는 비디오 비트스트림을 디코딩하여 현재 슬라이스 내에 포함된 각각의 타깃 블록에 대응하는 제2 플래그 비트를 획득할 필요가 있을 수 있고, 여기서 제2 플래그 비트의 값은 대응하는 타깃 블록의 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용하는지를 나타내기 위해 사용될 수 있다. 즉, 일부 실시예들에서, 슬라이스-레벨 플래그 비트에 기초하여, 디코딩에 의해 획득된 블록-레벨 플래그 비트(즉, 제2 플래그 비트)는 타깃 블록의 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용할 필요가 있는지를 나타내기 위해 추가로 사용될 수 있다.
일부 실시예들에서, 두 개의 크로마 컴포넌트(Cr 및 Cb)가 있으므로, 타깃 블록의 두 개의 크로마 컴포넌트 각각에 대해 하나의 제2 플래그 비트가 설정될 수 있고, 각각의 제2 플래그 비트의 값은 타깃 블록 내의 대응하는 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용하는지를 나타내기 위해 사용될 수 있다.
일부 실시예들에서, 타깃 블록의 두 개의 크로마 컴포넌트(Cr 및 Cb)는 또한 동일한 제2 플래그 비트에 대응할 수 있고, 동일한 제2 플래그 비트의 값은 타깃 블록 내의 두 개의 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용하는지를 나타내기 위해 사용될 수 있다.
마찬가지로, 현재 슬라이스에 대해, 현재 슬라이스의 두 개의 크로마 컴포넌트 각각에 대해 하나의 제1 플래그 비트가 설정될 수 있고, 각각의 제1 플래그 비트의 값은 현재 슬라이스 내의 대응하는 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식을 사용하는지를 나타내기 위해 사용될 수 있다.
일부 실시예들에서, 현재 슬라이스의 두 개의 크로마 컴포넌트는 또한 동일한 제1 플래그 비트에 대응할 수 있고, 동일한 제1 플래그 비트의 값은 현재 슬라이스의 두 개의 크로마 컴포넌트가 본 출원의 본 실시예에서 제안된 CC-ALF 프로세싱 방식을 사용하는지를 나타내기 위해 사용된다.
슬라이스-레벨 플래그 비트가 두 개의 크로마 컴포넌트에 대해 각각 하나의 제1 플래그 비트를 설정하는 경우, 블록-레벨 플래그 비트는 또한 두 개의 크로마 컴포넌트에 대해 각각 하나의 제2 플래그 비트를 설정할 수 있다. 블록 레벨 플래그 비트가 두 개의 크로마 컴포넌트에 대해 하나의 제2 플래그 비트를 설정하는 경우, 슬라이스-레벨 플래그 비트는 두 개의 크로마 컴포넌트에 대해 하나의 제1 플래그 비트만을 설정하면 된다.
일부 실시예들에서, 디코더는 비디오 비트스트림을 디코딩하여 적응적 파라미터 세트를 획득할 수 있으며, 여기서 적응적 파라미터 세트는 CC-ALF의 필터 계수를 포함할 수 있다. 이 경우, 제1 플래그 비트의 값이 현재 슬라이스 내의 적어도 하나의 타깃 블록의 크로마 컴포넌트가 예시적인 실시예들에서 제안된 CC-ALF 프로세싱을 사용함을 나타내는 경우, 현재 슬라이스에 대응하는 적응적 파라미터 세트의 인덱스는 비디오 비트스트림을 디코딩함으로써 획득될 수 있고, 다음으로, 현재 조건에서 대응하는 타깃 블록의 크로마 컴포넌트에 대한 필터링 프로세싱을 수행하기 위해, 적응적 파라미터 세트의 인덱스에 대응하는 적응적 파라미터 세트로부터 대응하는 필터 계수가 선택될 수 있다.
도 9에 도시된 블록 분류 정책 및 다른 분류 정책 둘 다를 사용:
일부 실시예들에서, 도 9에 도시된 블록 분류 정책 및 다른 분류 정책 둘 다가 사용되는 경우, 현재 슬라이스에 대응하는 제3 플래그 비트 및 적응적 파라미터 세트는 비디오 비트스트림을 디코딩하는 것으로부터 획득될 필요가 있고, 제3 플래그 비트의 값은 현재 슬라이스 내의 타깃 블록의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행되는지 또는 수행될 필요가 있는지를 나타내기 위해 사용될 수 있으며; 현재 슬라이스 내의 타깃 블록의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 필요가 있는 경우, 현재 슬라이스에 대응하는 적응적 파라미터 세트의 인덱스를 획득하기 위해 비디오 비트스트림이 디코딩될 수 있다. 다음으로, 현재 슬라이스의 크로마 컴포넌트에 대응하는 제4 플래그 비트는 적응적 파라미터 세트의 인덱스에 대응하는 적응적 세트에서 획득된다. 제4 플래그 비트의 값은 현재 슬라이스의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행되는 경우에 사용되는 분류 정책을 나타내기 위해 사용될 수 있다. 분류 정책은 도 9에 도시된 블록 분류 정책(즉, 루마 컴포넌트에 대해 ALF가 수행될 때의 블록 분류 정보에 기초하여, 크로마 컴포넌트에 대해 CC-ALF가 수행될 때의 블록 분류 정보를 결정함) 및/또는 다른 분류 정책을 포함할 수 있다.
즉, 도 9에 도시된 블록 분류 정책 및 다른 분류 정책 둘 다가 사용되는 경우, 슬라이스 레벨에서의 플래그 비트(즉, 제3 플래그 비트)를 이용하여, 현재 슬라이스 내의 타깃 블록의 크로마 컴포넌트에 대해 CC-ALF 프로세싱(예시적인 실시예들에서 제안된 CC-ALF 프로세싱 방식 및/또는 다른 CC-ALF 프로세싱 방식일 수 있음)을 수행할지를 나타내도록 요구된다. CC-ALF 프로세싱이 수행되는 경우, 비디오 비트스트림을 디코딩함으로써, 도 9에 도시된 블록 분류 정책 또는 다른 분류 정책이 사용되는지 여부를 명확하게 나타내기 위해 (적응적 파라미터 세트의 인덱스를 이용하여 참조되는) 대응하는 적응적 파라미터 세트 내의 분류 정책의 플래그 비트(즉, 제4 플래그 비트)를 획득하도록 요구된다.
예를 들어, 현재 슬라이스의 크로마 컴포넌트에 대응하는 제4 플래그 비트의 값이 제1 값(예를 들어, 1)이라면, 이는 현재 슬라이스의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 때 사용되는 분류 정책이 도 9에 도시된 블록 분류 정책임을 나타낸다. 현재 슬라이스의 크로마 컴포넌트에 대응하는 제4 플래그 비트의 값이 제2 값(예를 들어, 0)이라면, 이는 현재 슬라이스의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 때 사용되는 분류 정책이 다른 분류 정책임을 나타낸다.
일부 실시예들에서, 제3 플래그 비트의 값이 현재 슬라이스 내의 타깃 블록들 중 적어도 일부의 크로마 컴포넌트들에 대해 CC-ALF 프로세싱이 수행될 필요가 있음을 나타내는 경우, 어느 타깃 블록들에 대해 CC-ALF 프로세싱이 수행될 필요가 있는지를 구별하기 위해, 현재 슬라이스에 포함된 각각의 타깃 블록에 대응하는 제5 플래그 비트가 비디오 비트스트림을 디코딩함으로써 획득될 수 있다. 제5 플래그 비트의 값은 대응하는 타깃 블록의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행되는지를 나타내기 위해 사용될 수 있다. 예를 들어, 타깃 블록에 대응하는 제5 플래그 비트의 값이 1이라면, 이는 타깃 블록의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 필요가 있음을 나타낸다. 타깃 블록에 대응하는 제5 플래그 비트의 값이 0이라면, 이는 타깃 블록의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 필요가 없음을 나타낸다.
슬라이스-레벨 플래그 비트(즉, 제3 플래그 비트)가 현재 슬라이스 내의 모든 타깃 블록의 크로마 컴포넌트들에 대해 CC-ALF 프로세싱이 수행될 필요가 없음을 나타내거나, 모든 타깃 블록의 크로마 컴포넌트들에 대해 CC-ALF 프로세싱이 수행될 필요가 있음을 나타내는 경우, 블록-레벨 플래그 비트(즉, 제5 플래그 비트)는 도입될 필요가 없다.
예를 들어, 슬라이스 레벨 플래그 비트(즉, 제3 플래그 비트)의 값이 슬라이스 내의 타깃 블록들 중 적어도 일부에 대해 CC-ALF 프로세싱이 수행될 필요가 있음을 나타내고, 코딩 분류 정책의 플래그 비트(즉, 제4 플래그 비트)는 도 9에 도시된 블록 분류 정책이 사용됨을 나타내는 경우, 및 타깃 블록의 블록 레벨 플래그 비트(즉, 제5 플래그 비트)가 CC-ALF 프로세싱이 수행될 필요가 있음을 나타내는 경우, 타깃 블록에 대해 도 9에 도시된 블록 분류 정책을 사용하여 CC-ALF 프로세싱이 수행될 수 있다.
일부 실시예들에서, 두 개의 크로마 컴포넌트(Cr 및 Cb)가 있으므로, 슬라이스에 대해, 전술한 실시예들에서와 유사한 기술적 해법이 사용될 수 있다. 즉, 현재 슬라이스의 두 개의 크로마 컴포넌트에 대해 하나의 제3 플래그 비트가 각각 설정될 수 있거나, 현재 슬라이스의 두 개의 크로마 컴포넌트에 대해 동일한 제3 플래그 비트가 설정될 수 있다. 마찬가지로, 타깃 블록의 두 개의 크로마 컴포넌트에 대해 하나의 제5 플래그 비트가 별도로 설정될 수 있거나, 타깃 블록의 두 개의 크로마 컴포넌트에 대해 동일한 제5 플래그 비트가 설정될 수 있다. 구체적인 설명에 대해서는 전술한 실시예들이 참조될 수 있으며, 간결성을 위해 이에 연관된 설명들은 생략될 수 있다.
일부 실시예들에서, 전술한 실시예에서의 타깃 블록의 크기 정보는 인코더 및 디코더에 의해 미리 설정될 수 있거나, 인코더에 의해 결정될 수 있다. 타깃 블록의 크기 정보가 결정된 후, 타깃 블록의 크기 정보는 비디오 비트스트림의 시퀀스 파라미터 세트, 이미지 파라미터 세트, 이미지 헤더, 및/또는 슬라이스 헤더에 인코딩될 수 있다. 이러한 방식으로, 디코더는 비디오 비트스트림으로부터 대응하는 크기 정보를 디코딩할 필요가 있다. 예를 들어, 타깃 블록은 CTU일 수 있거나, CTU보다 작은 블록일 수 있다.
전술한 내용은 코더 및 디코더로부터의 본 개시내용의 실시예들의 기술적 해법을 별도로 설명한다. 본 개시내용의 구현 세부사항들을 더 상세하게 설명하기 위해, 이하에서는 본 개시내용의 실시예들에서의 기술적 해법들의 구현 세부사항들을 더 상세하게 설명한다.
일부 실시예들에 따르면, CC-ALF의 분류 결과를 결정하기 위한 방법이 제공될 수 있다. 예를 들어, 방법은 서브블록 레벨에서의 크로마 컴포넌트의 CC-ALF의 분류 결과를 결정하는 단계를 포함할 수 있으며, 여기서 서브블록 레벨은 서브블록 레벨에서의 루마 컴포넌트의 ALF의 분류 상황에 따라 동일한 레벨일 수 있다. 또한, 분류 결과에 따라 상이한 레벨들에서 필터를 적응적으로 선택하기 위한 방법이 제공될 수 있다.
일 양태에서, 본 개시내용의 하나 이상의 실시예는 각각의 크로마 컴포넌트에 의해 지원될 수 있는 CC-ALF 필터들의 수량이 루마 컴포넌트에 의해 지원될 수 있는 ALF 필터들의 수량으로서 설정될 수 있으며, 크로마 컴포넌트의 CC-ALF 분류 상태는 루마 컴포넌트의 ALF 분류 프로세스에 따라 결정될 수 있음을 제안한다. 예시적인 실시예들에서 제안된 기술적 해법들은 독립적으로 또는 조합하여 사용될 수 있다.
구체적으로, 크로마 컴포넌트의 CC-ALF의 분류 결과는 서브블록 레벨에서의 루마 컴포넌트의 ALF의 분류 상태에 기초하여 결정될 수 있다. 예를 들어, 서브블록 레벨에서의 루마 컴포넌트의 ALF의 분류 결과는 동일 크기 블록에 대한 CC-ALF의 분류 결과로서 사용될 수 있다. 서브블록 레벨에서의 루마 컴포넌트의 ALF의 분류 프로세스는 전술한 수학식 1 내지 수학식 10에 설명되어 있다.
일부 실시예들에서, 서브블록 레벨에서의 루마 컴포넌트의 ALF의 분류 결과 및 대응하는 기하학적 변환 타입은 동일 크기 블록에 대한 크로마 컴포넌트의 CC-ALF의 분류 결과 및 기하학적 변환 타입으로서 사용될 수 있다. 서브블록 레벨에서의 루마 컴포넌트의 ALF의 분류 프로세스는 전술한 수학식 1 내지 수학식 10에 설명되어 있다.
일부 실시예들에서, 크로마 컴포넌트의 CC-ALF를 이용하여 다양한 타입들의 필터들을 병합하는 프로세스는 루마 컴포넌트의 ALF를 이용하여 다양한 타입들의 필터들을 병합하는 프로세스에 따라 결정될 수 있다. 예를 들어, 루마 컴포넌트의 ALF를 이용한 다양한 타입들의 필터들의 병합 결과는 크로마 컴포넌트의 CC-ALF를 이용한 다양한 타입들의 필터들의 병합 결과로서 사용될 수 있다. 대안적으로, 루마 컴포넌트의 ALF를 이용한 다양한 타입들의 필터들의 병합 결과 및 크로마 컴포넌트의 CC-ALF를 이용한 다양한 타입들의 필터들의 병합 결과는 루마 컴포넌트의 ALF 및 두 개의 크로마 컴포넌트의 CC-ALF를 공동으로 최적화함으로써 결정될 수 있다.
일부 실시예들에서, 각각의 크로마 컴포넌트의 CC-ALF의 이용가능한 필터들의 수량은 루마 컴포넌트의 ALF의 필터들의 최종 수량에 따라 결정될 수 있다.
일부 실시예들에서, 크로마 컴포넌트의 CC-ALF의 전술한 분류 방식에 기초하여 상이한 레벨들에서 필터 범주를 적응적으로 선택하고 필터에 연관된 하나 이상의 파라미터를 송신하는 기술적 해법이 제안된다. 구체적으로, 일부 실시예들에서는 본 명세서에서 제안되는 분류 방법이 단독으로 사용될 수 있고, 일부 실시예들에서는 본 명세서에서 제안되는 분류 방법과 관련 CC-ALF 기술의 기존 분류 방법 둘 다가 사용될 수 있다.
예시적인 실시예들에서 제안된 분류 방법이 단독으로 사용되며, CC- ALF 선택 의사결정을 수행하기 위해 두 개의 크로마 컴포넌트가 각각 사용됨:
일부 실시예들에서, 예시적인 실시예들에서 제안된 분류 방법만이 크로마 컴포넌트의 CC-ALF에서 사용되는 경우, CC-ALF 선택 의사결정 및 파라미터 송신은 두 개의 크로마 컴포넌트 Cb 및 Cr에 대해 각각 수행될 수 있다.
구체적으로, 각각의 크로마 컴포넌트에 대해, 인코더에 의해 송신될 필요가 있는 CC-ALF 관련 파라미터들은 이하를 포함할 수 있다:
1. CTU 레벨에서 CC-ALF가 사용되는지 여부(온/오프)를 나타내는 플래그 비트. 예를 들어, 플래그 비트가 1이라면, 이는 현재 CTU 내의 대응하는 크로마 컴포넌트 샘플이 CC-ALF를 사용하여 필터링됨을 나타낸다(예시적인 실시예들에서 제공되는 분류 방법이 단독으로 사용되므로, CC-ALF가 필터링을 위해 사용되는 것으로 표시된다면, 예시적인 실시예들에서 제공되는 분류 방법이 사용되는 것이다). 플래그 비트가 0이라면, 이는 현재 CTU 내의 대응하는 크로마 컴포넌트가 CC-ALF 필터링을 사용하지 않음을 나타낸다.
2. 슬라이스 레벨에서 CC-ALF가 사용되는지를 나타내는 플래그 비트. 예를 들어, 플래그 비트가 1이라면, 이는 현재 슬라이스 내의 적어도 하나의 CTU에 대응하는 크로마 컴포넌트가 CC-ALF를 사용함을 나타낸다(예시적인 실시예들에서 제공되는 분류 방법이 단독으로 사용되므로, CC-ALF가 필터링을 위해 사용되는 것으로 표시된다면, 예시적인 실시예들에서 제공되는 분류 방법이 사용되는 것이다). 플래그 비트가 0이라면, 이는 현재 슬라이스 내의 모든 CTU에 대응하는 크로마 컴포넌트들이 CC-ALF 필터링을 사용하지 않음을 나타낸다.
일부 실시예들에서, 슬라이스 레벨에서 CC-ALF가 사용되는지를 나타내는 플래그 비트가 1이라면, 이는 현재 슬라이스 내의 모든 CTU에 대응하는 크로마 컴포넌트들에 대해 CC-ALF가 사용된다는 것을 추가로 나타낼 수 있다.
슬라이스 레벨에서 CC-ALF가 사용되는지를 나타내는 플래그 비트가 현재 슬라이스 내의 모든 CTU에 대응하는 크로마 컴포넌트들에 대해 CC-ALF가 사용되지 않거나, 현재 슬라이스 내의 모든 CTU에 대응하는 크로마 컴포넌트들에 대해 CC-ALF가 사용됨을 나타내는 경우, 인코더는 CTU 레벨에서 CC-ALF가 사용되는지 여부를 나타내는 플래그 비트를 인코딩할 필요가 없으며, 디코더는 이를 획득하기 위해 디코딩을 수행할 필요가 없다.
3. APS 내의 관련 파라미터들: 슬라이스 레벨의 CC-ALF 플래그 비트가 1인 경우, 관련 크로마 컴포넌트에 대응하는 CC-ALF 필터 그룹 내의 각각의 필터의 계수가 송신될 필요가 있을 수 있다. 필터 그룹 내에 포함되는 필터들의 수량, 필터 병합 인덱스, 및 그와 유사한 것과 같은 다른 CC-ALF 관련 제어 파라미터들은 추가적으로 송신될 필요가 없으며, 루마 컴포넌트의 ALF의 대응하는 파라미터들로부터 추론될 수 있다.
각각의 크로마 컴포넌트에 대해, 인코더는 CTU 레벨에 대응하는 크로마 컴포넌트에 대해 CC-ALF를 사용할지에 대한 의사결정 프로세스를 수행할 수 있다(예시적인 실시예들에서 제공된 분류 방법이 단독으로 사용되므로, CC-ALF가 필터링을 위해 사용된다면, 예시적인 실시예들에서 제공되는 분류 방법이 사용되는 것이다). 예시적인 의사결정 프로세스에 대한 설명들은 이하에 제공된다:
A) CC-ALF 필터링의 레이트 왜곡 비용(RDCost)을 사용하지 않고서 현재 CTU 내의 대응하는 크로마 컴포넌트의 샘플을 계산한다.
B) 현재 CTU 내의 대응하는 크로마 컴포넌트의 각각의 샘플에 대해, 대응하는 루마 컴포넌트 샘플이 속하는 범주에 기초하여, 필터링을 위한 CC-ALF 필터를 선택한다. 또한, 레이트 왜곡 비용이 계산될 수 있다. 루마 컴포넌트 샘플이 속하는 범주는 명시적으로 송신될 필요가 없으며, 디코더는 루마 컴포넌트 샘플을 프로세싱할 때 추론을 통해 이를 획득할 수 있다.
C) 두 가지 경우에 대해 계산된 레이트 왜곡 비용들을 비교한다. CC-ALF 필터를 사용하지 않는 것의 비용이 비교적 작다면, CTU 레벨에 대응하는 크로마 컴포넌트는 CC-ALF를 사용하지 않는 것으로 결정될 수 있고, CTU 레벨에서의 CC-ALF의 플래그 비트는 0으로 설정될 수 있으며; 그렇지 않으면 상기 플래그 비트는 1로 설정될 수 있다.
예시적인 실시예들에서 제안된 분류 방법이 단독으로 사용되며, CC- ALF 선택 의사결정을 수행하기 위해 두 개의 크로마 컴포넌트가 공동으로 사용됨:
일부 실시예들에서, 크로마 컴포넌트의 CC-ALF에서 예시적인 실시예들에서 제안된 분류 방법만이 사용되는 경우, 두 개의 크로마 컴포넌트(Cb 및 Cr)에 대해 CC-ALF 선택 의사결정 및 파라미터 송신이 공동으로 수행될 수 있다.
구체적으로, 두 개의 크로마 컴포넌트에 대해, 인코더에 의해 송신될 필요가 있는 CC-ALF 관련 파라미터들은 이하를 포함할 수 있다:
1. CTU 레벨에서 CC-ALF가 사용되는지 여부(온/오프)를 나타내는 플래그 비트. 예를 들어, 플래그 비트가 1이라면, 이는 현재 CTU 내의 두 개의 크로마 컴포넌트 샘플이 CC-ALF를 사용하여 필터링됨을 나타낸다(예시적인 실시예들에서 제공되는 분류 방법이 단독으로 사용되므로, CC-ALF가 필터링을 위해 사용되는 것으로 표시된다면, 예시적인 실시예들에서 제공되는 분류 방법이 사용되는 것이다). 플래그 비트가 0이라면, 이는 현재 CTU 내의 두 개의 크로마 컴포넌트가 CC-ALF 필터링을 사용하지 않음을 나타낸다.
2. 슬라이스 레벨에서 CC-ALF가 사용되는지를 나타내는 플래그 비트. 예를 들어, 플래그 비트가 1이라면, 이는 현재 슬라이스 내의 적어도 하나의 CTU의 두 개의 크로마 컴포넌트가 CC-ALF를 사용함을 나타낸다(예시적인 실시예들에서 제공되는 분류 방법이 단독으로 사용되므로, CC-ALF가 필터링을 위해 사용되는 것으로 표시된다면, 예시적인 실시예들에서 제공되는 분류 방법이 사용되는 것이다). 플래그 비트가 0이라면, 이는 현재 슬라이스 내의 모든 CTU의 두 개의 크로마 컴포넌트가 CC-ALF를 사용하지 않음을 나타낸다.
일부 실시예들에서, 슬라이스 레벨에서 CC-ALF가 사용되는지를 나타내는 플래그 비트가 1이라면, 이는 현재 슬라이스 내의 모든 CTU의 두 개의 크로마 컴포넌트에 대해 CC-ALF가 사용된다는 것을 추가로 나타낼 수 있다.
슬라이스 레벨에서 CC-ALF가 사용되는지를 나타내는 플래그 비트가 현재 슬라이스 내의 모든 CTU의 두 개의 크로마 컴포넌트에 대해 CC-ALF가 사용되지 않거나, 현재 슬라이스 내의 모든 CTU의 두 개의 크로마 컴포넌트에 대해 CC-ALF가 사용됨을 나타내는 경우, 인코더는 CTU 레벨에서 CC-ALF가 사용되는지 여부를 나타내는 플래그 비트를 인코딩할 필요가 없으며, 디코더는 이를 획득하기 위해 디코딩을 수행할 필요가 없다.
3. APS 내의 관련 파라미터들: 슬라이스 레벨의 CC-ALF 플래그 비트가 1인 경우, 두 개의 크로마 컴포넌트에 대응하는 CC-ALF 필터 그룹 내의 각각의 필터의 계수가 송신될 필요가 있을 수 있다. 필터 그룹 내에 포함되는 필터들의 수량, 필터 병합 인덱스, 및 그와 유사한 것과 같은 다른 CC-ALF 관련 제어 파라미터들은 추가적으로 송신될 필요가 없으며, 루마 컴포넌트의 ALF의 대응하는 파라미터들로부터 추론될 수 있다.
두 개의 크로마 컴포넌트에 대해, 인코더는 CTU 레벨에서 두 개의 크로마 컴포넌트에 대해 CC-ALF를 사용할지에 대한 의사결정 프로세스를 수행할 수 있다(예시적인 실시예들에서 제공된 분류 방법이 단독으로 사용되므로, CC-ALF가 필터링을 위해 사용되는 것으로 표시된다면, 예시적인 실시예들에서 제공되는 분류 방법이 사용되는 것이다). 예시적인 의사결정 프로세스에 대한 설명들은 이하에 제공된다:
A) CC-ALF 필터링의 레이트 왜곡 비용(RDCost)을 사용하지 않고서 현재 CTU 내의 두 개의 크로마 컴포넌트의 샘플들을 계산한다.
B) 현재 CTU 내의 두 개의 크로마 컴포넌트의 각각의 샘플에 대해, 대응하는 루마 컴포넌트 샘플이 속하는 범주에 기초하여, 필터링을 위한 CC-ALF 필터를 선택한다. 또한, 두 개의 크로마 컴포넌트의 총 레이트 왜곡 비용이 계산될 수 있다. 루마 컴포넌트 샘플이 속하는 범주는 명시적으로 송신될 필요가 없으며, 디코더는 루마 컴포넌트 샘플을 프로세싱할 때 추론을 통해 이를 획득할 수 있다.
C) 두 가지 경우에 대해 계산된 레이트 왜곡 비용들을 비교한다. CC-ALF 필터를 사용하지 않는 것의 비용들이 비교적 작다면, CTU 레벨에서의 두 개의 크로마 컴포넌트는 CC-ALF를 사용하지 않는 것으로 결정될 수 있고, CTU 레벨에서의 CC-ALF의 플래그 비트는 0으로 설정될 수 있으며; 그렇지 않으면 상기 플래그 비트는 1로 설정될 수 있다.
예시적인 실시예들에서 제안된 분류 방법 및 관련 CC- ALF 기술의 기존 분류 방법 둘 다가 사용되며, 두 개의 크로마 컴포넌트에 대해 분류 방법들이 각각 지정됨:
일부 실시예들에서, 예시적인 실시예들에서 제안된 분류 방법 및 관련 CC-ALF 기술의 기존 분류 방법 둘 다가 크로마 컴포넌트의 CC-ALF에서 사용되는 경우, 현재 프레임에 대응하는 크로마 컴포넌트들의 모든 샘플에 대해 대응하는 분류 방법을 사용하고, CC-ALF 선택 의사결정 및 관련 파라미터 송신을 별도로 수행하기 위해, 분류 방법들은 두 개의 크로마 컴포넌트 Cb 및 Cr에 대해 각각 지정될 수 있다.
구체적으로, 각각의 크로마 컴포넌트에 대해, 인코더에 의해 송신될 필요가 있는 CC-ALF 관련 파라미터들은 이하를 포함할 수 있다:
1. CTU 레벨에서 CC-ALF가 사용되는지 여부(온/오프)를 나타내는 플래그 비트. 예를 들어, 플래그 비트가 1이라면, 이는 현재 CTU 내의 대응하는 크로마 컴포넌트 샘플이 CC-ALF를 사용하여 필터링됨을 나타낸다(필터링에 사용되는 특정 분류 방법은 예시적인 실시예들에서 제안된 분류 방법일 수 있거나, 관련 CC-ALF 기술의 기존 분류 방법일 수 있으며; 구체적으로, 특정 분류 방법은 APS 내의 플래그 비트를 이용하여 추가로 나타내어질 필요가 있음). 플래그 비트가 0이라면, 이는 현재 CTU 내의 대응하는 크로마 컴포넌트가 CC-ALF 필터링을 사용하지 않음을 나타낸다.
2. 슬라이스 레벨에서 CC-ALF가 사용되는지를 나타내는 플래그 비트. 예를 들어, 플래그 비트가 1이라면, 이는 현재 슬라이스 내의 적어도 하나의 CTU에 대응하는 크로마 컴포넌트가 CC-ALF를 사용함을 나타낸다(필터링에 사용되는 특정 분류 방법은 예시적인 실시예들에서 제안된 분류 방법일 수 있거나, 관련 CC-ALF 기술의 기존 분류 방법일 수 있으며; 구체적으로, 특정 분류 방법은 APS 내의 플래그 비트를 이용하여 추가로 나타내어질 필요가 있음). 플래그 비트가 0이라면, 이는 현재 슬라이스 내의 모든 CTU에 대응하는 크로마 컴포넌트들에 대해 CC-ALF가 사용되지 않음을 나타낸다.
일부 실시예들에서, 슬라이스 레벨에서 CC-ALF가 사용되는지를 나타내는 플래그 비트가 1이라면, 이는 현재 슬라이스 내의 모든 CTU에 대응하는 크로마 컴포넌트들에 대해 CC-ALF가 사용된다는 것을 추가로 나타낼 수 있다.
슬라이스 레벨에서 CC-ALF가 사용되는지를 나타내는 플래그 비트가 현재 슬라이스 내의 모든 CTU에 대응하는 크로마 컴포넌트들에 대해 CC-ALF가 사용되지 않거나, 현재 슬라이스 내의 모든 CTU에 대응하는 크로마 컴포넌트들에 대해 CC-ALF가 사용됨을 나타내는 경우, 인코더는 CTU 레벨에서 CC-ALF가 사용되는지 여부를 나타내는 플래그 비트를 인코딩할 필요가 없으며, 디코더는 이를 획득하기 위해 디코딩을 수행할 필요가 없다.
3. CC-ALF가 사용될 필요가 있는 경우, APS의 인덱스가 나타내어질 필요가 있고, 대응하는 크로마 컴포넌트를 위해 사용되는 분류 방법은 인덱스에 대응하는 APS 내의 분류 방법 플래그 비트를 이용하여 나타내어진다. 예를 들어, 분류 방법 플래그 비트가 0이라면, 이는 관련 CC-ALF 기술의 기존 분류 방법이 사용되어야 함을 나타낸다. 분류 방법 플래그 비트가 1이라면, 이는 본 개시내용의 본 실시예에서 제공되는 분류 방법이 사용되어야 함을 나타낸다.
4. APS 내의 분류 방법 플래그 비트가 0이라면, 이는 관련 CC-ALF 기술의 기존 분류 방법이 사용될 필요가 있음을 나타내고, 또한 각각의 레벨에서의 관련 파라미터들은 관련 CC-ALF 기술에 이미 존재하는 설계에 따라 송신될 수 있다.
5. APS 내의 분류 방법 플래그 비트가 1이라면, 이는 본 개시내용의 본 실시예에서 제공되는 분류 방법이 사용될 필요가 있음을 나타내고, 따라서 모든 레벨에서의 관련 파라미터들은 전술한 실시예의 방식으로 송신될 수 있다.
각각의 크로마 컴포넌트에 대해, 인코더에 의한 CC-ALF를 위한 분류 방법에 대한 선택 의사결정의 프로세스는 다음과 같다:
A) 관련 CC-ALF 기술의 기존 분류 방법에 따라, 현재 슬라이스의 CC-ALF 최적 레이트 왜곡 비용을 획득하기 위해, 현재 슬라이스 내의 모든 CTU에 대해 CC-ALF 의사결정이 수행된다.
B) 본 개시내용의 본 실시예에서 제안하는 분류 방법에 따르면, 분류 방법에서 현재 슬라이스의 최적 레이트 왜곡 비용을 획득하기 위해, 현재 슬라이스 내의 모든 CTU에 대해 CC-ALF 의사결정이 수행된다.
C) 두 개의 슬라이스 레벨에서의 레이트 왜곡 비용들이 비교되고, APS 내의 분류 방법 플래그 비트는 표시 레이트 왜곡 비용이 비교적 작은 분류 방법으로서 설정된다.
본 개시내용의 실시예들에서 제안된 분류 방법 및 관련 CC- ALF 기술의 기존 분류 방법 둘 다가 사용되며, 두 개의 크로마 컴포넌트에 대해 분류 방법들이 공동으로 지정됨:
본 개시내용의 실시예에서, 본 개시내용의 실시예에서 제안된 분류 방법 및 관련 CC-ALF 기술의 기존 분류 방법 둘 다가 크로마 컴포넌트의 CC-ALF에서 사용되는 경우, 현재 프레임 내의 두 개의 크로마 컴포넌트의 모든 샘플에 대해 동일한 분류 방법을 사용하고, 두 개의 크로마 컴포넌트 Cb 및 Cr에 대해 CC-ALF 선택 의사결정 및 관련 파라미터 송신을 수행하기 위해, 두 개의 크로마 컴포넌트 Cb 및 Cr은 하나의 APS 내의 분류 방법 플래그 비트를 공유할 수 있다.
구체적으로, 두 개의 크로마 컴포넌트에 대해, 인코더에 의해 송신될 필요가 있는 CC-ALF 관련 파라미터들은 다음과 같다:
1. CTU 레벨에서 CC-ALF가 사용되는지 여부(온/오프)를 나타내는 플래그 비트. 예를 들어, 플래그 비트가 1이라면, 이는 현재 CTU 내의 두 개의 크로마 컴포넌트가 CC-ALF를 사용하여 필터링됨을 나타낸다(필터링에 사용되는 특정 분류 방법은 예시적인 실시예들에서 제안된 분류 방법일 수 있거나, 관련 CC-ALF 기술의 기존 분류 방법일 수 있으며; 구체적으로, 특정 분류 방법은 APS 내의 플래그 비트를 이용하여 추가로 나타내어질 필요가 있음). 플래그 비트가 0이라면, 이는 현재 CTU 내의 두 개의 크로마 컴포넌트가 CC-ALF 필터링을 사용하지 않음을 나타낸다.
2. 슬라이스 레벨에서 CC-ALF가 사용되는지 여부를 나타내는 플래그 비트. 예를 들어, 플래그 비트가 1이라면, 이는 현재 슬라이스 내의 적어도 하나의 CTU의 두 개의 크로마 컴포넌트가 CC-ALF를 사용함을 나타낸다(마찬가지로, 필터링에 사용되는 특정 분류 방법은 예시적인 실시예들에서 제안된 분류 방법일 수 있거나, 관련 CC-ALF 기술의 기존 분류 방법일 수 있으며; 구체적으로, 특정 분류 방법은 APS 내의 플래그 비트를 이용하여 추가로 나타내어질 필요가 있음). 플래그 비트가 0이라면, 이는 현재 슬라이스 내의 모든 CTU의 두 개의 크로마 컴포넌트가 CC-ALF를 사용하지 않음을 나타낸다.
일부 실시예들에서, 슬라이스 레벨에서 CC-ALF가 사용되는지를 나타내는 플래그 비트가 1이라면, 이는 현재 슬라이스 내의 모든 CTU의 두 개의 크로마 컴포넌트에 대해 CC-ALF가 사용된다는 것을 추가로 나타낼 수 있다.
슬라이스 레벨에서 CC-ALF가 사용되는지를 나타내는 플래그 비트가 현재 슬라이스 내의 모든 CTU의 두 개의 크로마 컴포넌트에 대해 CC-ALF가 사용되지 않거나, 현재 슬라이스 내의 모든 CTU의 두 개의 크로마 컴포넌트에 대해 CC-ALF가 사용됨을 나타내는 경우, 인코더는 CTU 레벨에서 CC-ALF가 사용되는지 여부를 나타내는 플래그 비트를 인코딩할 필요가 없으며, 디코더는 이를 획득하기 위해 디코딩을 수행할 필요가 없다.
3. CC-ALF가 사용될 필요가 있는 경우, 하나의 APS의 인덱스가 나타내어질 필요가 있고, 인덱스에 대응하는 APS 내의 하나의 분류 방법 플래그 비트는 두 개의 크로마 컴포넌트의 분류 방식을 나타내기 위해 사용된다. 예를 들어, 분류 방법 플래그 비트가 1이라면, 이는 본 개시내용의 본 실시예에서 제공되는 분류 방법이 두 개의 크로마 컴포넌트의 모든 샘플에 대해 사용됨을 나타낸다. 분류 방법 플래그 비트가 0이라면, 이는 관련 CC-ALF 기술의 기존 분류 방법이 두 개의 크로마 컴포넌트의 모든 샘플에 대해 사용됨을 나타낸다.
4. APS 내의 분류 방법 플래그 비트가 0이라면, 이는 관련 CC-ALF 기술의 기존 분류 방법이 두 개의 크로마 컴포넌트의 모든 샘플에 대해 사용될 필요가 있음을 나타내고, 또한 각각의 레벨에서의 관련 파라미터들은 관련 CC-ALF 기술에 이미 존재하는 설계에 따라 송신될 수 있다.
5. APS 내의 분류 방법 플래그 비트가 1이라면, 이는 본 개시내용의 본 실시예에서 제공되는 분류 방법이 두 개의 크로마 컴포넌트의 모든 샘플에 대해 사용됨을 나타내고, 따라서 모든 레벨에서의 관련 파라미터들은 전술한 실시예의 방식으로 송신될 수 있다.
두 개의 크로마 컴포넌트에 대해, 인코더에 의한 CC-ALF를 위한 분류 방법에 대한 선택 의사결정의 프로세스는 다음과 같다:
A) 두 개의 크로마 컴포넌트 Cb 및 Cr에 대해, 관련 CC-ALF 기술의 기존 분류 방법에 따라 현재 슬라이스 내의 모든 CTU에 대해 CC-ALF 의사 결정을 각각 수행하여, 현재 슬라이스 내의 두 개의 크로마 컴포넌트의 전체 CC-ALF 최적 레이트 왜곡 비용을 획득한다.
B) 두 개의 크로마 컴포넌트 Cb 및 Cr에 대해, 예시적인 실시예들에서 제안되는 분류 방법에 따라 현재 슬라이스 내의 모든 CTU에 대해 CC-ALF 의사 결정을 각각 수행하여, 현재 분류 방법에서 현재 슬라이스 내의 두 개의 크로마 컴포넌트의 전체 CC-ALF 최적 레이트 왜곡 비용을 획득한다.
C) 두 개의 슬라이스 레벨에서의 두 개의 크로마 컴포넌트의 총 레이트 왜곡 비용들이 비교되고, APS 내의 분류 플래그 비트는 표시 레이트 왜곡 비용이 비교적 작은 분류 방법으로서 설정된다.
전술한 두가지 실시예에서, CTU 레벨이 CC-ALF를 사용하는지 여부를 나타내는 플래그 비트, 슬라이스 레벨이 CC-ALF를 사용하는지 여부를 나타내는 플래그 비트, 및 APS에서의 분류 방법 플래그 비트는 각각의 크로마 컴포넌트에 대해 설정된 하나의 플래그 비트일 수 있거나(즉, 두 개의 크로마 컴포넌트에 각각 대응하는 두 개의 CTU 레벨 플래그 비트, 두 개의 슬라이스 레벨 플래그 비트, 및 두 개의 APS 레벨 플래그 비트가 있음), 크로마 컴포넌트들 둘 다에 대해 설정된 단 하나의 플래그 비트일 수 있다(즉, 두 개의 크로마 컴포넌트에 대응하는 하나의 CTU 레벨 플래그 비트, 하나의 슬라이스 레벨 플래그 비트, 및 하나의 APS 레벨 플래그 비트가 있음).
일부 실시예들에서, 하나의 APS 레벨 플래그 비트가 두 개의 크로마 컴포넌트에 대응하도록 설정될 수 있고, 두 개의 슬라이스 레벨 플래그 비트 및 두 개의 CTU 레벨 플래그 비트가 설정될 수 있다. 즉, 두 개의 크로마 컴포넌트에 각각 대응하도록 두 개의 CTU 레벨 플래그 비트 및 두 개의 슬라이스 레벨 플래그 비트가 있다.
또한, 하나의 APS 레벨 플래그 비트가 두 개의 크로마 컴포넌트에 대응하도록 설정될 수 있고, 하나의 슬라이스 레벨 플래그 비트가 두 개의 크로마 컴포넌트에 대응하도록 설정될 수 있고, 두 개의 CTU 레벨 플래그 비트가 설정될 수 있음이 이해될 수 있다. 즉, 두 개의 CTU 레벨 플래그 비트가 각각 두 개의 크로마 컴포넌트에 대응한다.
전술한 예시적인 실시예들에서는, 설명을 위해 CTU-레벨 블록이 예로서 사용될 수 있다. 일부 실시예들에서, 다른 크기의 블록이 프로세싱될 수 있다. 예를 들어, 크기 128×128의 CTU-레벨 블록에 더하여, 블록은 64×64 또는 다른 더 작은 크기의 블록일 수도 있다.
일부 실시예들에서, 블록 레벨 CC-ALF 필터링 선택을 수행하기 위한 블록-레벨 유닛의 크기는 인코더 및 디코더 둘 다에서 지정될 수 있다. 이러한 방식으로, 블록-레벨 유닛의 크기 정보는 송신될 필요가 없다. 이와 관련하여, 대응하는 블록 유닛이 CC-ALF를 사용하는지를 나타내기 위해, 각각의 블록-레벨 유닛에 대해 하나의 플래그 비트가 송신될 필요가 있다.
일부 실시예들에서, 인코더는 블록-레벨 CC-ALF 필터링을 사용할지를 선택할 수 있고, 대응하는 블록-레벨 유닛의 크기를 비트스트림에 기입할 수 있으며, 디코더는 대응하는 블록-레벨 유닛의 크기 정보를 획득하기 위해 비트스트림을 파싱할 수 있다. 크기 정보는 시퀀스 파라미터 세트(sequence parameter set)(SPS), 픽처 파라미터 세트(picture parameter set)(PPS), 픽처 헤더 및/또는 슬라이스 헤더에 기입될 수 있다. 추가로, 대응하는 블록 유닛이 CC-ALF를 사용하는지 여부를 나타내기 위해, 각각의 블록-레벨 유닛에 대해 하나의 플래그 비트가 송신될 필요가 있다.
실시예들의 흐름도들에서는 단계들이 화살표들의 지시들에 따라 순차적으로 표시되지만, 이러한 단계들이 반드시 화살표들에 의해 지시되는 시퀀스에 따라 순차적으로 수행되는 것은 아니라는 점이 이해되어야 한다. 본 명세서에서 달리 명시적으로 특정되지 않는 한, 단계들의 실행은 엄격하게 제한되지 않으며, 단계들은 다른 순서들로 수행될 수 있다. 또한, 각각의 실시예에서의 단계들 중 적어도 일부는 복수의 단계 또는 복수의 스테이지를 포함할 수 있다. 단계들 또는 스테이지들은 반드시 동시에 수행되는 것이 아니라 상이한 순간들에 수행될 수 있다. 단계들 또는 스테이지들의 실행은 반드시 순차적으로 수행되는 것이 아니라, 다른 단계들 또는 단계들의 적어도 일부 또는 다른 단계들의 스테이지들과 교대로 수행될 수 있다.
이하는 본 개시내용의 장치 실시예들을 설명하며, 이는 본 개시내용의 전술한 실시예들의 방법을 수행하도록 구성될 수 있다. 본 개시내용의 장치 실시예들에 개시되지 않은 세부사항들에 대해서는, 본 개시내용의 전술한 방법 실시예들이 참조될 수 있다.
도 10은 본 개시내용의 실시예에 따른 루프 필터링 장치의 블록도이다. 루프 필터링 장치는 비디오 인코딩 디바이스 또는 비디오 디코딩 디바이스 내에 배치될 수 있다.
도 10을 참조하면, 본 개시내용의 실시예에 따른 루프 필터링 장치(1000)는 획득 유닛(1002), 결정 유닛(1004), 및 필터링 유닛(1006)을 포함한다.
획득 유닛(1002)은 적응적 루프 필터링(ALF)이 수행될 때의 비디오 이미지 프레임 내의 루마 컴포넌트의 블록 분류 정보를 획득하도록 구성된다. 결정 유닛(1004)은 ALF가 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링(CC-ALF)이 수행될 때의 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하도록 구성된다. 필터링 유닛(1006)은 CC-ALF가 수행될 때의 크로마 컴포넌트의 블록 분류 정보에 따라 크로마 컴포넌트에 대한 CC-ALF 프로세싱을 수행하기 위해 필터 계수를 선택하도록 구성된다.
본 개시내용의 일부 실시예들에서, 전술한 해법에 기초하여, 결정 유닛(1004)은 ALF가 수행될 때의 서브블록에 대한 루마 컴포넌트의 분류 결과를, CC-ALF가 수행될 때의 동일 크기의 블록에 대한 크로마 컴포넌트의 분류 결과로서 사용하도록; 또는
ALF가 수행될 때의 서브블록에 대한 루마 컴포넌트의 분류 결과 및 대응하는 기하학적 변환 타입을, CC-ALF가 수행될 때의 동일 크기의 블록에 대한 크로마 컴포넌트의 분류 결과 및 기하학적 변환 타입으로서 사용하도록
구성된다.
본 개시내용의 일부 실시예들에서, 전술한 해법에 기초하여, 결정 유닛(1004)은 루마 컴포넌트에 대해 ALF가 수행될 때의 모든 타입들의 필터들의 병합 결과에 따라, 크로마 컴포넌트에 대해 CC-ALF가 수행될 때의 모든 타입들의 필터들의 병합 결과를 결정하도록 추가로 구성된다.
본 개시내용의 일부 실시예들에서, 전술한 해법에 기초하여, 결정 유닛(1004)은 ALF 프로세스에서 루마 컴포넌트에 의해 필터 병합을 수행하는 것의 레이트 왜곡 비용, 및 CC-ALF 프로세스에서 크로마 컴포넌트에 의해 필터 병합을 수행하는 것의 레이트 왜곡 비용에 따라, 루마 컴포넌트에 대해 ALF가 수행되고 크로마 컴포넌트에 대해 CC-ALF가 수행될 때의 다양한 타입들의 필터들의 병합 결과들을 결정하도록 추가로 구성된다.
본 개시내용의 일부 실시예들에서, 전술한 해법에 기초하여, 결정 유닛(1004)은 루마 컴포넌트에 대해 ALF가 수행될 때 결정된 필터들의 수량에 따라, 크로마 컴포넌트에 대해 CC-ALF가 수행될 때 이용가능한 필터들의 수량을 결정하도록 추가로 구성된다.
도 11은 본 개시내용의 실시예에 따른 비디오 디코딩 장치의 블록도이다. 비디오 디코딩 장치는 비디오 디코딩 디바이스 내에 배치될 수 있다.
도 11을 참조하면, 본 개시내용의 실시예에 따른 비디오 디코딩 장치(1100)는 획득 유닛(1102), 결정 유닛(1104), 필터링 유닛(1106), 및 제1 프로세싱 유닛(1108)을 포함한다.
획득 유닛(1102)은 적응적 루프 필터링(ALF)이 수행될 때의 비디오 이미지 프레임 내의 루마 컴포넌트의 블록 분류 정보를 획득하도록 구성된다. 결정 유닛(1104)은 ALF가 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링(CC-ALF)이 수행될 때의 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하도록 구성된다. 필터링 유닛(1106)은 CC-ALF가 수행될 때의 크로마 컴포넌트의 블록 분류 정보에 따라 크로마 컴포넌트에 대한 CC-ALF 프로세싱을 수행하기 위해 필터 계수를 선택하도록 구성된다. 제1 프로세싱 유닛(1108)은 루마 컴포넌트의 ALF 프로세싱 결과 및 크로마 컴포넌트의 CC-ALF 프로세싱 결과에 따라 비디오 비트스트림에 대한 디코딩 프로세싱을 수행하도록 구성된다.
본 개시내용의 일부 실시예들에서, 전술한 해법에 기초하여, 비디오 디코딩 장치(1100)는 ALF가 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, CC-ALF가 수행될 때의 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하기 전에, 현재 슬라이스에 대응하는 제1 플래그 비트를 획득하기 위해 비디오 비트스트림을 디코딩하도록 구성된 제1 디코딩 유닛을 추가로 포함하고, 제1 플래그 비트의 값은 현재 슬라이스 내의 타깃 블록의 크로마 컴포넌트가 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 사용하는지를 나타내기 위해 사용된다.
본 개시내용의 일부 실시예들에서, 전술한 해법에 기초하여, 제1 플래그 비트의 값이 제1 값일 때, 이는 현재 슬라이스 내의 일부 타깃 블록들의 크로마 컴포넌트들이 CC-ALF 프로세싱을 사용함을 나타내거나, 현재 슬라이스 내의 모든 타깃 블록들의 크로마 컴포넌트들이 CC-ALF 프로세싱을 사용함을 나타내고; 또는 제1 플래그 비트의 값이 제2 값일 때, 이는 현재 슬라이스 내의 모든 타깃 블록들의 크로마 컴포넌트들이 CC-ALF 프로세싱을 사용하지 않음을 나타낸다.
본 개시내용의 일부 실시예들에서, 전술한 해법에 기초하여, 제1 디코딩 유닛은 제1 플래그 비트의 값이 현재 슬라이스 내의 일부 타깃 블록들의 크로마 컴포넌트들이 CC-ALF 프로세싱을 사용함을 나타낼 때, 현재 슬라이스에 포함된 각각의 타깃 블록에 대응하는 제2 플래그 비트를 획득하기 위해 비디오 비트스트림을 디코딩하도록 추가로 구성되고, 제2 플래그 비트의 값은 대응하는 타깃 블록의 크로마 컴포넌트가 CC-ALF 프로세싱을 사용하는지를 나타내기 위해 사용된다.
본 개시내용의 일부 실시예들에서, 전술한 해법에 기초하여, 타깃 블록의 두 개의 크로마 컴포넌트는 각각 하나의 제2 플래그 비트에 대응하고, 각각의 제2 플래그 비트의 값은 타깃 블록 내의 대응하는 크로마 컴포넌트가 CC-ALF 프로세싱을 사용하는지를 나타내기 위해 사용되고; 또는
타깃 블록의 두 개의 크로마 컴포넌트는 동일한 제2 플래그 비트에 대응하고, 동일한 제2 플래그 비트의 값은 타깃 블록의 두 개의 크로마 컴포넌트가 CC-ALF 프로세싱을 사용하는지를 나타내기 위해 사용된다.
본 개시내용의 일부 실시예들에서, 전술한 해법에 기초하여, 제1 디코딩 유닛은 적응적 파라미터 세트를 획득하기 위해 비디오 비트스트림을 디코딩하고; 제1 플래그 비트의 값이 현재 슬라이스 내의 적어도 하나의 타깃 블록의 크로마 컴포넌트가 CC-ALF 프로세싱을 사용함을 나타낼 때, 현재 슬라이스에 대응하는 적응적 파라미터 세트의 인덱스를 획득하기 위해 비디오 비트스트림을 디코딩하고; 타깃 블록의 크로마 컴포넌트에 대한 필터링 프로세싱을 수행하기 위해 적응적 파라미터 세트의 인덱스에 대응하는 적응적 파라미터 세트로부터 필터 계수를 선택하도록 추가로 구성된다.
본 개시내용의 일부 실시예들에서, 전술한 해법에 기초하여, 현재 슬라이스는 두 개의 크로마 컴포넌트에 대해 각각 하나의 제1 플래그 비트에 대응하고, 각각의 제1 플래그 비트의 값은 현재 슬라이스의 대응하는 크로마 컴포넌트가 CC-ALF 프로세싱을 사용하는지를 나타내기 위해 사용되고; 또는
현재 슬라이스는 두 개의 크로마 컴포넌트에 대해 동일한 제1 플래그 비트에 대응하고, 동일한 제1 플래그 비트의 값은 현재 슬라이스가 두 개의 크로마 컴포넌트에 대해 CC-ALF 프로세싱을 사용하는지를 나타내기 위해 사용된다.
본 개시내용의 일부 실시예들에서, 전술한 해법에 기초하여, 비디오 디코딩 장치(1100)는 ALF가 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, CC-ALF가 수행될 때의 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하기 전에: 현재 슬라이스에 대응하는 제3 플래그 비트 및 적응적 파라미터 세트를 획득하기 위해 비디오 비트스트림을 디코딩하고 - 제3 플래그 비트의 값은 현재 슬라이스 내의 타깃 블록의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행되는지를 나타내기 위해 사용됨 -; 제3 플래그 비트의 값이 현재 슬라이스 내의 타깃 블록의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 필요가 있음을 나타낼 때, 현재 슬라이스에 대응하는 적응적 파라미터 세트의 인덱스를 획득하기 위해 비디오 비트스트림을 디코딩하고; 적응적 파라미터 세트의 인덱스에 대응하는 적응적 파라미터 세트로부터 현재 슬라이스의 크로마 컴포넌트에 대응하는 제4 플래그 비트를 획득하도록 - 제4 플래그 비트의 값은 현재 슬라이스의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 때 사용되는 분류 정책을 나타내기 위해 사용됨 - 구성되는 제2 디코딩 유닛을 추가로 포함하고, 분류 정책은 ALF가 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, CC-ALF가 수행될 때의 크로마 컴포넌트의 블록 분류 정보를 결정하는 것; 또는 다른 분류 정책을 포함한다.
본 개시내용의 일부 실시예들에서, 전술한 해법에 기초하여, 현재 슬라이스의 크로마 컴포넌트에 대응하는 제4 플래그 비트의 값이 제1 값일 때, 이는 현재 슬라이스의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 때 사용되는 분류 정책이, ALF가 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, CC-ALF가 수행될 때의 크로마 컴포넌트의 블록 분류 정보를 결정하는 것임을 나타내고; 현재 슬라이스의 크로마 컴포넌트에 대응하는 제4 플래그 비트의 값이 제2 값일 때, 이는 현재 슬라이스의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 때 사용되는 분류 정책이 다른 분류 정책임을 나타낸다.
본 개시내용의 일부 실시예들에서, 전술한 해법에 기초하여, 제2 디코딩 유닛은 제3 플래그 비트의 값이 현재 슬라이스 내의 일부 타깃 블록들의 크로마 컴포넌트들에 대해 CC-ALF 프로세싱이 수행될 필요가 있음을 나타낼 때, 현재 슬라이스 내에 포함된 각각의 타깃 블록에 대응하는 제5 플래그 비트를 획득하기 위해 비디오 비트스트림을 디코딩하도록 추가로 구성되고, 제5 플래그 비트의 값은 대응하는 타깃 블록의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될지를 나타내기 위해 사용된다.
본 개시내용의 일부 실시예들에서, 전술한 해법에 기초하여, 현재 슬라이스의 두 개의 크로마 컴포넌트는 각각 하나의 제4 플래그 비트에 대응하고, 각각의 제4 플래그 비트의 값은 현재 슬라이스의 대응하는 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 때 사용되는 분류 정책을 나타내기 위해 사용되고; 또는
현재 슬라이스의 두 개의 크로마 컴포넌트는 동일한 제4 플래그 비트에 대응하고, 동일한 제4 플래그 비트의 값은 현재 슬라이스의 두 개의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 때 사용되는 분류 정책을 나타내기 위해 사용된다.
본 개시내용의 일부 실시예들에서, 전술한 해법에 기초하여, 제1 프로세싱 유닛(1108)은 미리 설정된 크기에 따라 타깃 블록의 크기 정보를 결정하고; 또는
타깃 블록의 크기 정보를 획득하기 위해, 비디오 비트스트림의 시퀀스 파라미터 세트, 이미지 파라미터 세트, 이미지 헤더 또는 슬라이스 헤더를 디코딩하도록
추가로 구성된다.
본 개시내용의 일부 실시예들에서, 전술한 해결책에 기초하여, 타깃 블록은 코딩 트리 유닛, 또는 코딩 트리 유닛보다 작은 크기를 갖는 블록을 포함한다.
도 12는 본 개시내용의 실시예에 따른 비디오 인코딩 장치의 블록도이다. 비디오 인코딩 장치는 비디오 인코딩 디바이스 내에 배치될 수 있다.
도 12를 참조하면, 본 개시내용의 실시예에 따른 비디오 인코딩 장치(1200)는 획득 유닛(1202), 결정 유닛(1204), 필터링 유닛(1206), 및 제2 프로세싱 유닛(1208)을 포함한다.
획득 유닛(1202)은 적응적 루프 필터링(ALF)이 수행될 때의 비디오 이미지 프레임 내의 루마 컴포넌트의 블록 분류 정보를 획득하도록 구성된다. 결정 유닛(1204)은 ALF가 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링(CC-ALF)이 수행될 때의 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하도록 구성된다. 필터링 유닛(1206)은 CC-ALF가 수행될 때의 크로마 컴포넌트의 블록 분류 정보에 따라 크로마 컴포넌트에 대한 CC-ALF 프로세싱을 수행하기 위해 필터 계수를 선택하도록 구성된다. 제2 프로세싱 유닛(1208)은 비디오 비트스트림을 획득하기 위해, 루마 컴포넌트의 ALF 프로세싱 결과 및 크로마 컴포넌트의 CC-ALF 프로세싱 결과에 따라 비디오 이미지 프레임에 대해 코딩 프로세싱을 수행하도록 구성된다.
본 개시내용의 일부 실시예들에서, 전술한 해결책에 기초하여, 비디오 인코딩 장치(1200)는: 비디오 비트스트림에서 비디오 이미지 프레임의 현재 슬라이스에 대응하는 제1 플래그 비트를 코딩하도록 구성된 제1 코딩 유닛을 더 포함하고, 제1 플래그 비트의 값은 현재 슬라이스 내의 타깃 블록의 크로마 컴포넌트가 CC-ALF 프로세싱을 사용하는지를 나타내기 위해 사용된다.
본 개시내용의 일부 실시예들에서, 전술한 해결책에 기초하여, 제1 코딩 유닛은: 제1 플래그 비트의 값이 현재 슬라이스 내의 일부 타깃 블록들의 크로마 컴포넌트들이 CC-ALF 프로세싱을 사용함을 나타낼 때, 현재 슬라이스에 포함된 각각의 타깃 블록에 대응하는 제2 플래그 비트를 획득하기 위해 비디오 비트스트림을 코딩하도록 추가로 구성되고, 제2 플래그 비트의 값은 대응하는 타깃 블록의 크로마 컴포넌트가 CC-ALF 프로세싱을 사용하는지를 나타내기 위해 사용된다.
본 개시내용의 일부 실시예들에서, 전술한 해결책에 기초하여, 제1 코딩 유닛은 현재 슬라이스에 포함된 각각의 타깃 블록에 대응하는 제2 플래그 비트가 비디오 비트스트림의 코딩을 통해 획득되기 전에, CC-ALF 프로세싱이 사용될 때의 각각의 타깃 블록의 크로마 컴포넌트의 제1 레이트 왜곡 비용을 계산하고 - 각각의 타깃 블록의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 때, CC-ALF 필터는 ALF가 수행될 때의 루마 컴포넌트의 블록 분류 정보에 기초하여 선택됨 -; CC-ALF 프로세싱이 수행되지 않을 때의 각각의 타깃 블록의 크로마 컴포넌트의 제2 레이트 왜곡 비용을 계산하고; 제1 레이트 왜곡 비용 및 제2 레이트 왜곡 비용에 따라 각각의 타깃 블록의 크로마 컴포넌트가 CC-ALF 프로세싱을 사용하는지를 결정하도록 추가로 구성된다.
본 개시내용의 일부 실시예들에서, 전술한 해결책에 기초하여, 비디오 인코딩 장치(1200)는 비디오 비트스트림 내의 현재 슬라이스에 대응하는 제3 플래그 비트를 코딩하고 - 제3 플래그 비트의 값은 현재 슬라이스 내의 타깃 블록의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행되는지를 나타내기 위해 사용됨 -; 현재 슬라이스 내의 타깃 블록의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 필요가 있는 경우, 비디오 비트스트림에서 대응하는 적응적 파라미터 세트의 인덱스를 코딩하고; 적응적 파라미터 세트의 인덱스에 대응하는 적응적 세트에서, 현재 슬라이스의 크로마 컴포넌트에 대응하는 제4 플래그 비트를 코딩하도록 - 제4 플래그 비트의 값은 현재 슬라이스의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 때 사용되는 분류 정책을 나타내기 위해 사용됨 - 구성된 제2 코딩 유닛을 추가로 포함하고, 분류 정책은 ALF가 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, CC-ALF가 수행될 때의 크로마 컴포넌트의 블록 분류 정보를 결정하는 것; 또는 다른 분류 정책을 포함한다.
본 개시내용의 일부 실시예들에서, 전술한 해결책에 기초하여, 제2 코딩 유닛은 제3 플래그 비트의 값이 현재 슬라이스 내의 일부 타깃 블록들의 크로마 컴포넌트들에 대해 CC-ALF 프로세싱이 수행되어야 함을 나타낼 때, 현재 슬라이스에 포함된 각각의 타깃 블록에 대응하는 제5 플래그 비트를 획득하기 위해 비디오 비트스트림을 코딩하도록 추가로 구성되고, 제5 플래그 비트의 값은 대응하는 타깃 블록의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될지를 나타내기 위해 사용된다.
본 개시내용의 일부 실시예들에서, 전술한 해결책에 기초하여, 제2 코딩 유닛은 적응적 파라미터 세트의 인덱스에 대응하는 적응적 세트 내의 현재 슬라이스의 크로마 컴포넌트에 대응하는 제4 플래그 비트를 코딩하기 전에: 타깃 분류 정책에 대해 CC-ALF 프로세싱이 수행될 때 현재 슬라이스 내의 모든 타깃 블록들의 크로마 컴포넌트들의 제3 레이트 왜곡 비용들을 계산하고 - 타깃 분류 정책은 ALF가 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, CC-ALF가 수행될 때의 크로마 컴포넌트의 블록 분류 정보를 결정하는 것임 -; 다른 분류 정책을 사용하여 CC-ALF 프로세싱이 수행될 때의 현재 슬라이스 내의 모든 타깃 블록들의 크로마 컴포넌트들의 제4 레이트 왜곡 비용들을 계산하고; 제3 레이트 왜곡 비용 및 제4 레이트 왜곡 비용에 따라, 현재 슬라이스의 크로마 컴포넌트에 대해 CC-ALF 프로세싱이 수행될 때 사용되는 분류 정책을 결정하도록 추가로 구성된다.
본 개시내용의 일부 실시예들에서, 전술한 해법에 기초하여, 제2 프로세싱 유닛(1208)은 미리 설정된 크기에 따라 타깃 블록의 크기 정보를 결정하고; 또는
비디오 비트스트림의 시퀀스 파라미터 세트, 이미지 파라미터 세트, 이미지 헤더 또는 슬라이스 헤더에 타깃 블록의 크기 정보를 코딩하도록
추가로 구성된다.
실시예에서, 본 개시내용은 전자 디바이스를 추가로 제공하며, 전자 디바이스는 메모리 및 프로세서를 포함하고, 메모리는 컴퓨터 판독가능 명령어들을 저장하고, 프로세서는 컴퓨터 판독가능 명령어들을 실행할 때 전술한 실시예들 중 임의의 것의 방법을 구현한다.
도 13은 본 개시내용의 실시예에 따른 전자 디바이스를 구현하도록 적응된 컴퓨터 시스템의 개략적인 구조도이다.
도 13에 도시된 전자 디바이스의 컴퓨터 시스템(1300)은 단지 예일 뿐이며, 본 개시내용의 실시예들의 기능들 및 사용 범위들에 대한 임의의 제한을 구성하지 않는다.
도 13에 도시된 바와 같이, 컴퓨터 시스템(1300)은 판독 전용 메모리(ROM)(1302)에 저장된 프로그램 또는 저장부(1308)로부터 랜덤 액세스 메모리(RAM)(1303) 내로 로딩된 프로그램에 기초하여 다양한 적절한 액션들 및 프로세싱을 수행할 수 있는, 예를 들어 전술한 실시예들에서 설명된 방법을 수행할 수 있는 중앙 처리 장치(CPU)(1301)를 포함한다. RAM(1303)은 시스템을 동작시키기 위해 요구되는 다양한 프로그램들 및 데이터를 추가로 저장한다. CPU(1301), ROM(1302) 및 RAM(1303)은 버스(1304)를 통해 서로 연결된다. 입력/출력(I/O) 인터페이스(1305)는 또한 버스(1304)에 연결된다.
이하의 컴포넌트들이 I/O 인터페이스(1305)에 연결된다: 키보드, 마우스 및 그와 유사한 것을 포함하는 입력부(1306); 예를 들어, 음극선관(CRT), 액정 디스플레이(LCD), 스피커 및 그와 유사한 것을 포함하는 출력부(1307); 하드디스크 및 그와 유사한 것을 포함하는 저장부(1308); 및 근거리 네트워크(LAN) 카드 또는 모뎀과 같은 네트워크 인터페이스 카드를 포함하는 통신부(1309). 통신부(1309)는 인터넷과 같은 네트워크를 이용하여 통신 프로세싱을 수행한다. 드라이버(1310)는 또한 필요에 따라 I/O 인터페이스(1305)에 연결된다. 필요에 따라 자기 디스크, 광학 디스크, 광자기 디스크, 또는 반도체 메모리와 같은 이동식 매체(1311)가 드라이브(1310) 상에 설치되어, 이동식 매체로부터 판독된 컴퓨터 프로그램이 필요에 따라 저장부(1308)에 설치된다.
특히, 본 개시내용의 실시예에 따르면, 흐름도들을 참조하여 이하에서 설명되는 프로세스는 컴퓨터 소프트웨어 프로그램들로서 구현될 수 있다. 예를 들어, 다른 양태에서, 본 개시내용은 컴퓨터 프로그램 제품을 추가로 제공하며, 여기서 컴퓨터 프로그램 제품은 컴퓨터 판독가능 명령어들을 포함하고, 컴퓨터 판독가능 명령어들은 프로세서에 의해 실행되어 전술한 실시예들 중 임의의 것의 방법을 구현한다. 이러한 실시예에서, 통신부(1309)를 사용함으로써, 컴퓨터 판독가능 명령어들은 네트워크로부터 다운로드되어 설치될 수 있고/거나, 이동식 매체(1311)로부터 설치될 수 있다.
본 개시내용의 실시예들에서 설명되는 관련 유닛은 소프트웨어 방식으로 구현될 수도 있거나, 하드웨어 방식으로 구현될 수도 있으며, 설명되는 유닛은 또한 프로세서에 설정될 수 있다. 유닛들의 명칭들은 특정 사례에서 유닛들에 대한 제한을 구성하지 않는다.
다른 양태에서, 본 개시내용은 컴퓨터 판독가능 매체를 추가로 제공하며, 컴퓨터 판독가능 매체는 전술한 실시예에서 설명된 전자 디바이스에 포함될 수 있다. 컴퓨터 판독가능 매체는 대안적으로 별도로 존재할 수 있고 전자 디바이스 내에 조립되지 않을 수 있다. 컴퓨터 판독가능 매체는 하나 이상의 컴퓨터 판독가능 명령어를 지닌다. 하나 이상의 컴퓨터 판독가능 명령어가 전자 디바이스에 의해 실행될 때, 전자 디바이스는 전술한 실시예들 중 어느 하나의 방법을 구현한다. 전술한 상세한 설명에서는 액션들을 수행하도록 구성된 디바이스의 복수의 모듈 또는 유닛이 논의되었지만, 그러한 분할이 필수적인 것은 아니다. 실제로, 본 개시내용의 구현들에 따르면, 위에서 설명된 둘 이상의 모듈 또는 유닛의 피처들 및 기능들은 구체적으로 하나의 모듈 또는 유닛으로 구현될 수 있다. 반대로, 위에서 설명된 하나의 모듈 또는 유닛의 피처들 및 기능들은 복수의 모듈 또는 유닛에 의해 구현되도록 더 분할될 수 있다.
구현들에 대한 전술한 설명들에 따르면, 본 기술분야의 통상의 기술자는 여기에 설명된 예시적인 구현들이 소프트웨어를 이용하여 구현될 수도 있거나, 소프트웨어 및 필요한 하드웨어를 결합하여 구현될 수도 있음을 쉽게 이해할 수 있다. 그러므로, 본 개시내용의 실시예들의 기술적 해법들은 소프트웨어 제품의 형태로 구현될 수 있다. 소프트웨어 제품은 컴퓨팅 디바이스(개인용 컴퓨터, 서버, 터치 단말, 네트워크 디바이스, 또는 그와 유사한 것일 수 있음)에게 본 개시내용의 실시예들에 따른 방법들을 수행하도록 지시하기 위한 여러 명령어들을 포함하여, 비휘발성 저장 매체(CD-ROM, USB 플래시 드라이브, 이동식 하드 디스크, 또는 그와 유사한 것일 수 있음) 내에, 또는 네트워크 상에 저장될 수 있다.
전술한 실시예들의 기술적 피처들은 무작위로 병합될 수 있다. 설명을 간결하게 하기 위해, 전술한 실시예들의 기술적 피처들의 가능한 모든 조합이 설명되지는 않는다. 그러나, 이러한 기술적 피처들의 조합들은 충돌이 존재하지 않는 한, 본 명세서에 기록된 범위 내에 속하는 것으로 간주되어야 한다.
전술한 실시예들은 단지 본 개시내용의 여러 구현을 표현한 것이다. 이에 대한 설명들은 비교적 구체적이고 상세하지만, 본 개시내용의 특허 범위를 제한하는 것으로 이해되어서는 안 된다. 본 기술분야의 통상의 기술자에게 있어서, 본 개시내용의 사상으로부터 벗어나지 않고서 여러 변형들 및 개선들이 이루어질 수 있다. 이러한 변형들 및 개선들은 본 개시내용의 보호 범위에 속한다. 따라서, 본 개시내용의 특허의 보호 범위는 첨부된 청구항들에 따라야 한다.

Claims (26)

  1. 비디오 인코딩 디바이스 또는 비디오 디코딩 디바이스에 의해 실행가능한 루프 필터링 방법으로서,
    적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 루마 컴포넌트의 블록 분류 정보를 획득하는 단계;
    적응적 루프 필터링이 수행될 때의 상기 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링(cross-component adaptive loop filtering)이 수행될 때의 상기 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하는 단계; 및
    크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 상기 크로마 컴포넌트의 블록 분류 정보에 따라 상기 크로마 컴포넌트에 대한 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 수행하기 위해 필터 계수를 선택하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 적응적 루프 필터링이 수행될 때의 상기 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 상기 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하는 단계는:
    적응적 루프 필터링이 수행될 때의 서브블록에 대한 상기 루마 컴포넌트의 분류 결과를, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 동일 크기의 블록에 대한 상기 크로마 컴포넌트의 분류 결과로서 사용하는 단계
    를 포함하는, 방법.
  3. 제1항에 있어서, 적응적 루프 필터링이 수행될 때의 상기 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 상기 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하는 단계는:
    적응적 루프 필터링이 수행될 때의 서브블록에 대한 상기 루마 컴포넌트의 분류 결과 및 대응하는 기하학적 변환 타입(geometric transform type)을, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 동일 크기의 블록에 대한 상기 크로마 컴포넌트의 분류 결과 및 기하학적 변환 타입으로서 사용하는 단계
    를 포함하는, 방법.
  4. 제1항 또는 제3항에 있어서,
    상기 루마 컴포넌트에 대해 적응적 루프 필터링이 수행될 때의 다양한 타입들의 적응적 루프 필터들의 병합 결과에 따라, 상기 크로마 컴포넌트에 대해 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 다양한 타입들의 크로스-컴포넌트 적응적 루프 필터들의 병합 결과를 결정하는 단계를 더 포함하는, 방법.
  5. 제1항 또는 제3항에 있어서,
    적응적 루프 필터링 프로세스에서 상기 루마 컴포넌트에 의해 필터 병합을 수행하는 것의 레이트 왜곡 비용(rate distortion cost), 및 크로스-컴포넌트 적응적 루프 필터링 프로세스에서 상기 크로마 컴포넌트에 의해 필터 병합을 수행하는 것의 레이트 왜곡 비용에 따라, 상기 루마 컴포넌트에 대해 적응적 루프 필터링이 수행되고 상기 크로마 컴포넌트에 대해 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 다양한 타입들의 필터들의 병합 결과들을 결정하는 단계를 더 포함하는, 방법.
  6. 제1항 또는 제3항에 있어서,
    상기 루마 컴포넌트에 대해 적응적 루프 필터링이 수행될 때 결정된 필터들의 수량에 따라, 상기 크로마 컴포넌트에 대해 크로스-컴포넌트 적응적 루프 필터링이 수행될 때 이용가능한 필터들의 수량을 결정하는 단계를 더 포함하는, 방법.
  7. 비디오 디코딩 디바이스에 의해 실행가능한 비디오 디코딩 방법으로서,
    적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 루마 컴포넌트의 블록 분류 정보를 획득하는 단계;
    적응적 루프 필터링이 수행될 때의 상기 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 상기 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하는 단계;
    크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 상기 크로마 컴포넌트의 블록 분류 정보에 따라 상기 크로마 컴포넌트에 대한 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 수행하기 위해 필터 계수를 선택하는 단계; 및
    상기 루마 컴포넌트의 적응적 루프 필터링 프로세싱 결과 및 상기 크로마 컴포넌트의 크로스-컴포넌트 적응적 루프 필터링 프로세싱 결과에 따라 비디오 비트스트림에 대한 디코딩 프로세싱을 수행하는 단계
    를 포함하는, 방법.
  8. 제7항에 있어서, 적응적 루프 필터링이 수행될 때의 상기 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 상기 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하는 단계 전에:
    현재 슬라이스에 대응하는 제1 플래그 비트를 획득하기 위해 상기 비디오 비트스트림을 디코딩하는 단계
    를 더 포함하고, 상기 제1 플래그 비트의 값은 상기 현재 슬라이스 내의 타깃 블록의 크로마 컴포넌트가 상기 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 사용하는지를 나타내기 위해 사용되는, 방법.
  9. 제8항에 있어서,
    상기 제1 플래그 비트의 값이 제1 값일 때, 이는 상기 현재 슬라이스 내의 일부 타깃 블록들의 크로마 컴포넌트들이 상기 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 사용함을 나타내거나, 상기 현재 슬라이스 내의 모든 타깃 블록들의 크로마 컴포넌트들이 상기 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 사용함을 나타내고; 또는
    상기 제1 플래그 비트의 값이 제2 값일 때, 이는 상기 현재 슬라이스 내의 모든 타깃 블록들의 크로마 컴포넌트들이 상기 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 사용하지 않음을 나타내는, 방법.
  10. 제8항에 있어서,
    상기 제1 플래그 비트의 값이 상기 현재 슬라이스 내의 일부 타깃 블록들의 크로마 컴포넌트들이 상기 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 사용함을 나타낼 때, 상기 현재 슬라이스에 포함된 각각의 타깃 블록에 대응하는 제2 플래그 비트를 획득하기 위해 상기 비디오 비트스트림을 디코딩하는 단계
    를 더 포함하고, 상기 제2 플래그 비트의 값은 대응하는 타깃 블록의 크로마 컴포넌트가 상기 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 사용하는지를 나타내기 위해 사용되는, 방법.
  11. 제10항에 있어서,
    상기 타깃 블록의 두 개의 크로마 컴포넌트는 각각 하나의 제2 플래그 비트에 대응하고, 각각의 제2 플래그 비트의 값은 상기 타깃 블록 내의 대응하는 크로마 컴포넌트가 상기 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 사용하는지를 나타내기 위해 사용되는, 방법.
  12. 제10항에 있어서,
    상기 타깃 블록의 두 개의 크로마 컴포넌트는 동일한 제2 플래그 비트에 대응하고, 상기 동일한 제2 플래그 비트의 값은 상기 타깃 블록의 두 개의 크로마 컴포넌트가 상기 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 사용하는지를 나타내기 위해 사용되는, 방법.
  13. 제8항에 있어서,
    적응적 파라미터 세트를 획득하기 위해 상기 비디오 비트스트림을 디코딩하는 단계;
    상기 제1 플래그 비트의 값이 상기 현재 슬라이스 내의 적어도 하나의 타깃 블록의 크로마 컴포넌트가 상기 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 사용함을 나타낼 때, 상기 현재 슬라이스에 대응하는 적응적 파라미터 세트의 인덱스를 획득하기 위해 상기 비디오 비트스트림을 디코딩하는 단계; 및
    상기 타깃 블록의 크로마 컴포넌트에 대한 필터링 프로세싱을 수행하기 위해 상기 적응적 파라미터 세트의 인덱스에 대응하는 상기 적응적 파라미터 세트로부터 필터 계수를 선택하는 단계
    를 더 포함하는, 방법.
  14. 제8항 내지 제13항 중 어느 한 항에 있어서, 상기 현재 슬라이스는 두 개의 크로마 컴포넌트에 대해 각각 하나의 제1 플래그 비트에 대응하고, 각각의 제1 플래그 비트의 값은 상기 현재 슬라이스의 대응하는 크로마 컴포넌트가 상기 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 사용하는지를 나타내기 위해 사용되는, 방법.
  15. 제8항 내지 제13항 중 어느 한 항에 있어서, 상기 현재 슬라이스는 두 개의 크로마 컴포넌트에 대해 동일한 제1 플래그 비트에 대응하고, 상기 동일한 제1 플래그 비트의 값은 상기 현재 슬라이스가 상기 두 개의 크로마 컴포넌트에 대해 상기 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 사용하는지를 나타내기 위해 사용되는, 방법.
  16. 제7항에 있어서, 적응적 루프 필터링이 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 상기 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하는 단계 전에:
    현재 슬라이스에 대응하는 제3 플래그 비트 및 적응적 파라미터 세트를 획득하기 위해 상기 비디오 비트스트림을 디코딩하는 단계 - 상기 제3 플래그 비트의 값은 상기 현재 슬라이스 내의 타깃 블록의 크로마 컴포넌트에 대해 크로스-컴포넌트 적응적 루프 필터링 프로세싱이 수행되는지를 나타내기 위해 사용됨 -;
    상기 제3 플래그 비트의 값이 상기 현재 슬라이스 내의 상기 타깃 블록의 크로마 컴포넌트에 대해 크로스-컴포넌트 적응적 루프 필터링 프로세싱이 수행될 필요가 있음을 나타낼 때, 상기 현재 슬라이스에 대응하는 적응적 파라미터 세트의 인덱스를 획득하기 위해 상기 비디오 비트스트림을 디코딩하는 단계; 및
    상기 적응적 파라미터 세트의 인덱스에 대응하는 상기 적응적 파라미터 세트로부터 상기 현재 슬라이스의 크로마 컴포넌트에 대응하는 제4 플래그 비트를 획득하는 단계 - 상기 제4 플래그 비트의 값은 상기 현재 슬라이스의 크로마 컴포넌트에 대해 크로스-컴포넌트 적응적 루프 필터링 프로세싱이 수행될 때 사용되는 분류 정책을 나타내기 위해 사용됨 -
    를 더 포함하고, 상기 분류 정책은 상기 적응적 루프 필터링이 수행될 때의 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 크로마 컴포넌트의 블록 분류 정보를 결정하는 것; 또는 다른 분류 정책을 포함하는, 방법.
  17. 제16항에 있어서,
    상기 현재 슬라이스의 크로마 컴포넌트에 대응하는 상기 제4 플래그 비트의 값이 제1 값일 때, 이는 상기 현재 슬라이스의 크로마 컴포넌트에 대해 상기 크로스-컴포넌트 적응적 루프 필터링 프로세싱이 수행될 때 사용되는 분류 정책이, 상기 적응적 루프 필터링이 수행될 때의 상기 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 상기 크로마 컴포넌트의 블록 분류 정보를 결정하는 것임을 나타내고;
    상기 현재 슬라이스의 크로마 컴포넌트에 대응하는 상기 제4 플래그 비트의 값이 제2 값일 때, 이는 상기 현재 슬라이스의 크로마 컴포넌트에 대해 크로스-컴포넌트 적응적 루프 필터링 프로세싱이 수행될 때 사용되는 분류 정책이 상기 다른 분류 정책임을 나타내는, 방법.
  18. 제16항에 있어서,
    상기 제3 플래그 비트의 값이 상기 현재 슬라이스 내의 일부 타깃 블록들의 크로마 컴포넌트들에 대해 크로스-컴포넌트 적응적 루프 필터링 프로세싱이 수행될 필요가 있음을 나타낼 때, 상기 현재 슬라이스 내에 포함된 각각의 타깃 블록에 대응하는 제5 플래그 비트를 획득하기 위해 상기 비디오 비트스트림을 디코딩하는 단계
    를 더 포함하고, 상기 제5 플래그 비트의 값은 대응하는 타깃 블록의 크로마 컴포넌트에 대해 크로스-컴포넌트 적응적 루프 필터링 프로세싱이 수행될지를 나타내기 위해 사용되는, 방법.
  19. 제16항 내지 제18항 중 어느 한 항에 있어서,
    상기 현재 슬라이스의 두 개의 크로마 컴포넌트는 각각 하나의 제4 플래그 비트에 대응하고, 각각의 제4 플래그 비트의 값은 상기 현재 슬라이스의 대응하는 크로마 컴포넌트에 대해 크로스-컴포넌트 적응적 루프 필터링 프로세싱이 수행될 때 사용되는 분류 정책을 나타내기 위해 사용되는, 방법.
  20. 제16항 내지 제18항 중 어느 한 항에 있어서,
    상기 현재 슬라이스의 두 개의 크로마 컴포넌트는 동일한 제4 플래그 비트에 대응하고, 상기 동일한 제4 플래그 비트의 값은 상기 현재 슬라이스의 두 개의 크로마 컴포넌트에 대해 크로스-컴포넌트 적응적 루프 필터링 프로세싱이 수행될 때 사용되는 분류 정책을 나타내기 위해 사용되는, 방법.
  21. 비디오 인코딩 디바이스에 의해 실행가능한 비디오 코딩 방법으로서,
    적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 루마 컴포넌트의 블록 분류 정보를 획득하는 단계;
    상기 적응적 루프 필터링이 수행될 때의 상기 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 상기 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하는 단계;
    크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 상기 크로마 컴포넌트의 블록 분류 정보에 따라 상기 크로마 컴포넌트에 대한 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 수행하기 위해 필터 계수를 선택하는 단계; 및
    비디오 비트스트림을 획득하기 위해, 상기 루마 컴포넌트의 적응적 루프 필터링 프로세싱 결과 및 상기 크로마 컴포넌트의 크로스-컴포넌트 적응적 루프 필터링 프로세싱 결과에 따라 상기 비디오 이미지 프레임에 대해 코딩 프로세싱을 수행하는 단계
    를 포함하는, 방법.
  22. 루프 필터링 장치로서,
    적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 루마 컴포넌트의 블록 분류 정보를 획득하도록 구성된 획득 유닛;
    적응적 루프 필터링이 수행될 때의 상기 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 상기 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하도록 구성된 결정 유닛; 및
    크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 상기 크로마 컴포넌트의 블록 분류 정보에 따라 상기 크로마 컴포넌트에 대한 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 수행하기 위해 필터 계수를 선택하도록 구성된 필터링 유닛
    을 포함하는, 루프 필터링 장치.
  23. 비디오 디코딩 장치로서,
    적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 루마 컴포넌트의 블록 분류 정보를 획득하도록 구성된 획득 유닛;
    적응적 루프 필터링이 수행될 때의 상기 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 상기 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하도록 구성된 결정 유닛;
    크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 상기 크로마 컴포넌트의 블록 분류 정보에 따라 상기 크로마 컴포넌트에 대한 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 수행하기 위해 필터 계수를 선택하도록 구성된 필터링 유닛; 및
    상기 루마 컴포넌트의 적응적 루프 필터링 프로세싱 결과 및 상기 크로마 컴포넌트의 크로스-컴포넌트 적응적 루프 필터링 프로세싱 결과에 따라 비디오 비트스트림에 대한 디코딩 프로세싱을 수행하도록 구성된 제1 프로세싱 유닛
    을 포함하는, 비디오 디코딩 장치.
  24. 비디오 인코딩 장치로서,
    적응적 루프 필터링이 수행될 때의 비디오 이미지 프레임 내의 루마 컴포넌트의 블록 분류 정보를 획득하도록 구성된 획득 유닛;
    적응적 루프 필터링이 수행될 때의 상기 루마 컴포넌트의 블록 분류 정보에 따라, 크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 상기 비디오 이미지 프레임 내의 크로마 컴포넌트의 블록 분류 정보를 결정하도록 구성된 결정 유닛;
    크로스-컴포넌트 적응적 루프 필터링이 수행될 때의 상기 크로마 컴포넌트의 블록 분류 정보에 따라 상기 크로마 컴포넌트에 대한 크로스-컴포넌트 적응적 루프 필터링 프로세싱을 수행하기 위해 필터 계수를 선택하도록 구성된 필터링 유닛; 및
    비디오 비트스트림을 획득하기 위해, 상기 루마 컴포넌트의 적응적 루프 필터링 프로세싱 결과 및 상기 크로마 컴포넌트의 크로스-컴포넌트 적응적 루프 필터링 프로세싱 결과에 따라 상기 비디오 이미지 프레임에 대해 코딩 프로세싱을 수행하도록 구성된 제2 프로세싱 유닛
    을 포함하는, 비디오 인코딩 장치.
  25. 메모리 및 프로세서를 포함하는 전자 디바이스로서,
    상기 메모리는 컴퓨터 판독가능 명령어들을 저장하고, 상기 프로세서는 상기 컴퓨터 판독가능 명령어들을 실행하는 경우에 제1항 내지 제21항 중 어느 한 항에 따른 방법의 동작들을 구현하는, 전자 디바이스.
  26. 컴퓨터 판독가능 명령어들을 포함하는 컴퓨터 프로그램 제품으로서,
    상기 컴퓨터 판독가능 명령어들은 제1항 내지 제21항 중 어느 한 항에 따른 방법의 동작들을 구현하기 위해 프로세서에 의해 실행되는, 컴퓨터 프로그램 제품.
KR1020247012255A 2022-01-07 2022-12-09 루프 필터링 방법, 비디오 인코딩/디코딩 방법 및 장치, 매체, 및 전자 디바이스 KR20240074789A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210017814.0 2022-01-07

Publications (1)

Publication Number Publication Date
KR20240074789A true KR20240074789A (ko) 2024-05-28

Family

ID=

Similar Documents

Publication Publication Date Title
US20220337825A1 (en) Predicting filter coefficients from fixed filters for video coding
TW201817236A (zh) 用於視頻寫碼之線性模型色度內預測
US20230024834A1 (en) Video decoding method, video encoding method, and related apparatuses
WO2022116836A1 (zh) 视频解码方法、视频编码方法、装置及设备
WO2022063033A1 (zh) 视频解码方法、视频编码方法、装置、计算机可读介质及电子设备
WO2022062880A1 (zh) 视频解码方法、装置、计算机可读介质及电子设备
WO2022174660A1 (zh) 视频编解码方法、装置、计算机可读介质及电子设备
CN114257810B (zh) 上下文模型的选择方法、装置、设备及存储介质
US20230053118A1 (en) Video decoding method, video coding method, and related apparatus
KR20240074789A (ko) 루프 필터링 방법, 비디오 인코딩/디코딩 방법 및 장치, 매체, 및 전자 디바이스
US20240064298A1 (en) Loop filtering, video encoding, and video decoding methods and apparatus, storage medium, and electronic device
WO2023202097A1 (zh) 环路滤波方法、视频编解码方法、装置、介质、程序产品及电子设备
JP7483029B2 (ja) ビデオ復号方法、ビデオ符号化方法、装置、媒体、及び電子機器
WO2022174701A1 (zh) 视频编解码方法、装置、计算机可读介质及电子设备
WO2022174637A1 (zh) 视频编解码方法、装置、计算机可读介质及电子设备
CN114286095B (zh) 视频解码方法、装置及设备
US20240015336A1 (en) Filtering method and apparatus, computer-readable medium, and electronic device
CN114286096B (zh) 视频解码方法、装置及设备
WO2022063040A1 (zh) 视频编解码方法、装置及设备
WO2022037464A1 (zh) 视频解码方法、视频编码方法、装置、设备及存储介质
CN114079772B (zh) 视频解码方法、装置、计算机可读介质及电子设备
WO2024082632A1 (zh) 视频编解码方法、装置、计算机可读介质及电子设备
CN117834894A (zh) 视频编解码方法、装置、介质及电子设备
CN118101958A (zh) 视频编解码方法、装置、计算机可读介质及电子设备
CN114979656A (zh) 视频编解码方法、装置、计算机可读介质及电子设备