KR20140079498A - 크로마 컴포넌트에 대한 적응적 루프 필터링 - Google Patents

크로마 컴포넌트에 대한 적응적 루프 필터링 Download PDF

Info

Publication number
KR20140079498A
KR20140079498A KR1020147013447A KR20147013447A KR20140079498A KR 20140079498 A KR20140079498 A KR 20140079498A KR 1020147013447 A KR1020147013447 A KR 1020147013447A KR 20147013447 A KR20147013447 A KR 20147013447A KR 20140079498 A KR20140079498 A KR 20140079498A
Authority
KR
South Korea
Prior art keywords
loop filtering
adaptive loop
chroma
block
luma
Prior art date
Application number
KR1020147013447A
Other languages
English (en)
Other versions
KR101617107B1 (ko
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 KR20140079498A publication Critical patent/KR20140079498A/ko
Application granted granted Critical
Publication of KR101617107B1 publication Critical patent/KR101617107B1/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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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

Landscapes

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

Abstract

본 개시물은 적응적 루프 필터에서 크로마 컴포넌트들을 필터링함에 있어서 보다 많은 유연성을 가능하게 하기 위한 기법들을 제안한다. 하나의 예에서, 적응적 루프 필터링을 위한 방법은, 픽셀들의 블록의 루마 컴포넌트들에 대한 루마 적응적 루프 필터링을 수행하는 단계, 및 픽셀들의 블록의 크로마 컴포넌트들에 대한 크로마 적응적 루프 필터링을 수행하는 단계를 포함하고, 블록-기반 모드 또는 영역-기반 모드로부터 루마 적응적 루프 필터링과 크로마 적응적 루프 필터링 양쪽에 대한 필터 계수들이 유도된다. 이 방법은, 픽셀들의 블록에 대한 루마 적응적 루프 필터링을 수행하는 것으로 결정하는 단계, 및 픽셀들의 블록에 대한 크로마 적응적 루프 필터링을 수행하는 것으로 결정하는 단계를 더 포함할 수도 있고, 크로마 적응적 루프 필터링을 수행하는 것으로 결정하는 단계는, 루마 적응적 루프 필터링을 수행하는 것으로 결정하는 단계와는 독립적으로 수행된다.

Description

크로마 컴포넌트에 대한 적응적 루프 필터링{ADAPTIVE LOOP FILTERING FOR CHROMA COMPONENTS}
본 출원은, 그 전체 내용이 여기에 참조로 포함되는, 2011년 10월 21일자로 출원된 미국 가출원 제61/550,259호의 이익을 주장한다.
기술분야
본 개시물은 비디오 코딩에 관한 것으로, 더욱 구체적으로 비디오 코딩 프로세스에서 크로마 컴포넌트들에 대한 적응적 루프 필터링을 위한 기법들에 관한 것이다.
디지털 비디오 능력들은 디지털 텔레비전들, 디지털 직접 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, 개인 휴대 정보 단말기 (PDA) 들, 랩톱 또는 데스크톱 컴퓨터들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 라디오 전화기들, 비디오 화상 회의 디바이스들 등을 포함한 광범위한 디바이스들 내에 통합될 수 있다. 디지털 비디오 디바이스들은 디지털 비디오 정보를 보다 효율적으로 송신, 수신 및 저장하기 위해, MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Part 10, AVC (Advanced Video Coding) 에 의해 정의된 표준들, 현재 개발 중인 고 효율 비디오 코딩 (High efficiency Video Coding; HEVC) 표준, 및 이러한 표준들의 확장물들에 기재되어 있는 것들과 같은 비디오 압축 기법들을 구현한다.
비디오 압축 기법들은 비디오 시퀀스들에 내재하는 리던던시를 감소 또는 제거하기 위해 공간적 예측 및/또는 시간적 예측을 포함한다. 블록-기반 비디오 코딩을 위해, 비디오 프레임 또는 슬라이스는 블록들로 파티셔닝될 수도 있다. 각각의 블록은 더욱 파티셔닝될 수 있다. 인트라-코딩된 (I) 프레임 또는 슬라이스 내의 블록들은 동일한 프레임 또는 슬라이스 내의 이웃하는 블록들 내의 참조 샘플들에 대한 공간적 예측을 이용하여 인코딩된다. 인터-코딩된 (P 또는 B) 프레임 또는 슬라이스 내의 블록들은 동일한 프레임 또는 슬라이스 내의 이웃하는 블록들 내의 참조 샘플들에 대한 공간적 예측 및 다른 참조 프레임들 내의 참조 샘플들에 대한 시간적 예측을 이용할 수도 있다. 공간적 또는 시간적 예측은 코딩될 블록에 대한 예측 블록을 발생시킨다. 잔여 (residual) 데이터는 코딩될 오리지널 블록과 예측 블록 간의 픽셀 차이 (pixel difference) 들을 나타낸다.
인터-코딩된 블록은 예측 블록을 형성하는 참조 샘플들의 블록을 가리키는 모션 벡터, 및 코딩된 블록과 예측 블록 간의 차이를 나타내는 잔여 데이터에 따라 인코딩된다. 인트라-코딩된 블록은 인트라-코딩 모드 및 잔여 데이터에 따라 인코딩된다. 추가 압축을 위해, 잔여 데이터는 픽셀 도메인으로부터 변환 도메인으로 변환되어, 잔여 변환 계수들을 발생시킬 수도 있으며, 잔여 변환 계수들은 그 후에 양자화될 수도 있다. 처음에 2 차원 어레이로 배열되는, 양자화된 변환 계수들은 엔트로피 코딩을 위한 변환 계수들의 1 차원 벡터를 생성하기 위해 특정 순서로 스캐닝될 수도 있다.
일반적으로, 본 개시물은 비디오 데이터를 코딩하기 위한 기법들을 설명한다. 특히, 본 개시물은 비디오 코딩을 위한 적응적 루프 필터 (adaptive loop filter; ALF) 프로세스를 위한 기법들을 설명한다. 본 개시물은 ALF 프로세스에서 크로마 컴포넌트들을 필터링함에 있어서 보다 많은 유연성을 허용하기 위한 기법들을 제안한다.
본 개시물의 하나의 예에서, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 위한 방법이 개시된다. 이 방법은, 픽셀들의 블록의 루마 컴포넌트들에 대한 루마 적응적 루프 필터링을 수행하는 단계, 및 픽셀들의 블록의 크로마 컴포넌트들에 대한 크로마 적응적 루프 필터링을 수행하는 단계를 포함하고, 블록-기반 모드 또는 영역-기반 모드로부터 루마 적응적 루프 필터링과 크로마 적응적 루프 필터링 양쪽에 대한 필터 계수들이 유도된다. 픽셀들의 블록의 크로마 컴포넌트들은 4:2:0, 4:2:2 또는 4:4:4 일 수도 있다.
본 개시물의 다른 예에서, 이 방법은, 픽셀들의 블록 상에서 루마 적응적 루프 필터링을 수행하는 것으로 결정하는 단계, 및 픽셀들의 블록 상에서 크로마 적응적 루프 필터링을 수행하는 것으로 결정하는 단계를 더 포함할 수도 있고, 크로마 적응적 루프 필터링을 수행하는 것으로 결정하는 단계는, 루마 적응적 루프 필터링을 수행하는 것으로 결정하는 단계와는 독립적으로 수행된다. 크로마 적응적 루프 필터링을 수행하는 것으로 결정하는 단계는, CU 레벨 ALF 온/오프 플래그를 시그널링 또는 수신하는 단계를 포함할 수도 있다.
본 개시물의 다른 예에서, 루마 적응적 루프 필터링을 위한 필터 정보가 크로마 적응적 루프 필터링을 위해 이용된다. 필터 정보는, CU 레벨 온/오프 맵, 필터 계수들, 및/또는 블록-기반 분류를 포함할 수도 있다.
본 개시물의 다른 예에서, 크로마 적응적 루프 필터링을 위한 필터 계수들은 루마 적응적 루프 필터링을 위한 필터 계수들로부터 예측된다.
본 개시물의 다른 예에서, 크로마 적응적 루프 필터링을 수행하는 단계는, 픽셀들의 블록의 Cr 크로마 컴포넌트들에 대한 Cr 크로마 적응적 루프 필터링을 수행하는 단계, 및 픽셀들의 블록의 Cb 크로마 컴포넌트들에 대한 Cb 크로마 적응적 루프 필터링을 수행하는 단계를 포함할 수도 있다. Cr 크로마 적응적 루프 필터링을 위한 필터 정보가 Cb 크로마 적응적 루프 필터링을 위해 이용될 수도 있다. 필터 정보는 CU 레벨 온/오프 맵, 필터 계수들, 및/또는 블록-기반 분류를 포함한다. 본 개시물의 다른 예에서, Cb 크로마 적응적 루프 필터링을 위한 필터 계수들은 Cr 크로마 적응적 루프 필터링을 위한 필터 계수들로부터 예측된다.
본 개시물의 기법들은 또한 이 기법들을 수행하도록 구성된 장치들 및 디바이스들뿐만 아니라, 하나 이상의 프로세서들로 하여금 이 기법들을 수행하게 할 수도 있는 명령들을 저장하는 컴퓨터 판독가능 저장 매체와 관련하여 설명된다.
하나 이상의 예들의 상세들은 첨부 도면들 및 이하의 설명에서 언급된다. 다른 특징들, 목적들, 및 이점들은 설명 및 도면들로부터, 그리고 청구항들로부터 명백할 것이다.
도 1 은 일 예시적인 비디오 인코딩 및 디코딩 시스템을 예시한 블록도이다.
도 2 는 적응적 루프 필터에 대한 영역-기반 분류를 도시한 개념도이다.
도 3 은 적응적 루프 필터에 대한 블록-기반 분류를 도시한 개념도이다.
도 4 는 일 예시적인 코딩 유닛 (coding unit; CU) 레벨 ALF 온/오프 플래그 맵을 도시한 개념도이다.
도 5 는 다른 코딩 유닛 (CU) 레벨 ALF 온/오프 플래그 맵을 도시한 개념도이다.
도 6 은 일 예시적인 비디오 인코더를 예시한 블록도이다.
도 7 은 일 예시적인 비디오 디코더를 예시한 블록도이다.
도 8 은 본 개시물의 기법들에 따른 일 예시적인 인코딩 방법을 도시한 흐름도이다.
도 9 는 본 개시물의 기법들에 따른 일 예시적인 디코딩 방법을 도시한 흐름도이다.
일반적으로, 본 개시물은 비디오 데이터를 코딩하기 위한 기법들을 설명한다. 특히, 본 개시물은 비디오 코딩 프로세스에서 크로마 컴포넌트들의 적응적 루프 필터링 (adaptive loop filtering; ALF) 을 위한 기법들을 설명한다.
ALF 을 적용하기 위한 이전의 기법들은 픽셀들의 루마 및 크로마 컴포넌트들을 다르게 다루었다. 특히, 다수의 가능한 ALF들 중에서 특정 ALF 는, 루마 컴포넌트들의 로컬 영역 또는 액티비티에 기초하여 루마 컴포넌트들에 대한 이용을 위해 선정된다. 이에 따라, 루마 컴포넌트들에 대한 ALF 는 유연하여 비디오의 특정 장면에 대해 보다 맞추어진다. 한편, 단지 하나의 ALF 가 크로마 컴포넌트들에 이용되고, 그 이용은 이용될 루마 ALF 에 의존한다. 루마 컴포넌트들에 대한 ALF 와는 독립적으로 크로마 컴포넌트들에 대해 ALF 를 적용하지 않는 것뿐만 아니라, 크로마 컴포넌트들에 대해 단지 하나의 ALF 를 이용하는 것은, 크로마 샘플링 포맷들이라고도 또한 지칭되는 4:2:0 픽셀 샘플링 포맷들에 대한 ALF 의 품질을 제한할 수도 있다. 이에 따라, 본 개시물은 ALF 에서 크로마 컴포넌트들을 필터링함에 있어서 더 많은 유연성을 허용하기 위한 기법들을 제안한다. 다른 예들에서, 크로마 컴포넌트들의 ALF 를 위한 본 개시물의 기법들은 단지 4:2:0 픽셀 포맷으로 제한되지 않는다. 본 개시물의 ALF 기법들은 4:2:2 및 4:4:4 픽셀 포맷들과 같은 다른 픽셀 포맷들에서의 크로마 컴포넌트들에 적용될 수도 있다.
디지털 비디오 디바이스들은 디지털 비디오 정보를 보다 효율적으로 인코딩 및 디코딩하기 위해 비디오 압축 기법들을 구현한다. 비디오 압축은 비디오 시퀀스들에 내재하는 리던던시를 감소 또는 제거하기 위해 공간적 (인트라-프레임) 예측 및/또는 시간적 (인터-프레임) 예측 기법들을 적용할 수도 있다.
ITU-T VCEG (Video Coding Experts Group) 및 ISO/IEC MPEG (Motion Picture Experts Group) 의 JCT-VC (Joint Collaboration Team on Video Coding) 에 의해 개발 중인 새로운 비디오 코딩 표준, 즉, 고 효율 비디오 코딩 (High-efficiency Video Coding; HEVC) 이 있다. "HEVC 작업 드래프트 (Working Draft) 8" 또는 "WD8" 이라고 지칭되는 HEVC 표준의 최근의 드래프트는, 2012년 7월 11일 내지 20일에 스웨덴 스톡홀름에서 개최된 ITU-T SG16 WP3 및 ISO/IEC JTC1/SC29/WG11 의 JCT-VC (Joint Collaborative Team on Video Coding) 의 10 차 회의에서의 Bross 등에 의한 문서 JCTVC-J1003, "고 효율 비디오 코딩 (HEVC) 텍스트 규격 드래프트 6 (High efficiency video coding (HEVC) text specification draft 6)" 에 기재되어 있으며, 이는 2012년 10월 15일자로, http://phenix.int-eyry.fr/ict/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zip 으로부터 다운로드가능하다.
HEVC 에 따른 비디오 코딩을 위해, 하나의 예로서, 비디오 프레임이 코딩 유닛들로 파티셔닝될 수도 있다. 코딩 유닛 (coding unit; CU) 은 일반적으로 다양한 코딩 툴들이 비디오 압축을 위해 적용되는 기본 유닛으로서 기능하는 이미지 영역을 지칭한다. CU 는 보통, Y 로 나타낼 수도 있는 루미넌스 컴포넌트, 및 Cr 및 Cb 로 나타낼 수도 있는 2개의 크로마 컴포넌트들을 갖는다. 비디오 샘플링 포맷에 따라, Cr 및 Cb 컴포넌트들의 사이즈는, 샘플링들의 수와 관련하여, Y 컴포넌트의 사이즈와 동일하거나 상이할 수도 있다. CU 는 통상적으로 정사각형이며, 예를 들어, ITU-T H.264 와 같은 다른 비디오 코딩 표준들 하에서 소위 매크로블록과 유사한 것으로 간주될 수도 있다.
CU 에서의 픽셀들의 루마 및 크로마 컴포넌트들은 상이한 서브-샘플링 포맷들로 코딩될 수도 있다. HEVC 에 대한 하나의 제안에서, 픽셀의 루마 및 크로마 컴포넌트들은 4:2:0 포맷으로 코딩된다. 4:2:0 픽셀 포맷에서, 픽셀들의 매 4x2 블록마다, 8개의 루마 컴포넌트들 (각 로우에 4개) 및 2개의 크로마 컴포넌트들 (예를 들어, 4x2 블록의 제 1 로우에 1개의 Cr 크로마 컴포넌트 및 1개의 Cb 크로마 컴포넌트) 이 존재한다. 4x2 블록의 제 2 로우는 어떠한 크로마 정보도 갖고 있지 않다. 이에 따라, 픽셀들의 4x2 블록에서, 크로마 컴포넌트들은 ½ 수평 분해능 및 ½ 수직 분해능에서 샘플링된다. 그러나, 비디오 코딩 기법들은 4:2:0 크로마 서브-샘플링으로 제한되지 않는다. 4:2:2 및 4:4:4 를 포함하여 다른 서브-샘플링 포맷들이 이용될 수도 있다. 4:2:2 픽셀 포맷에서, 픽셀들의 매 4x2 블록마다, 8개의 루마 컴포넌트들 (각 로우에 4개) 및 4개의 크로마 컴포넌트들 (예를 들어, 4x2 블록의 제 1 및 제 2 로우들 각각에 1개의 Cr 크로마 컴포넌트 및 1개의 Cb 크로마 컴포넌트) 이 존재한다. 이에 따라, 4:2:2 포맷에 대해, 크로마 컴포넌트들은 ½ 수평 분해능 및 전체 수직 분해능에서 샘플링된다. 4:4:4 픽셀 포맷은 크로마 컴포넌트들의 어떠한 서브-샘플링도 수반하지 않는다. 즉, 픽셀들의 4x2 블록에 대해, 8개의 루마 컴포넌트들, 8개의 Cr 컴포넌트들, 및 8개의 Cb 컴포넌트들이 존재한다.
보다 양호한 코딩 효율을 달성하기 위해, 코딩 유닛은 비디오 콘텐츠에 따라 가변 사이즈들을 가질 수도 있다. 또한, 코딩 유닛은 예측 또는 변환을 위해 더 작은 블록들로 분할될 수도 있다. 특히, 각각의 코딩 유닛은 예측 유닛 (prediction unit; PU) 들 및 변환 유닛 (transform unit; TU) 들로 더욱 파티셔닝될 수도 있다. PU들은 ITU-T H.264 와 같은 다른 비디오 코딩 표준들 하에서 소위 파티션들과 유사한 것으로 간주될 수도 있다. TU들은 변환 계수들을 생성하기 위해 변환이 적용되는 잔여 데이터의 블록들을 지칭한다.
개발 중인 HEVC 표준의 현재 제안된 양태들 중 일부에 따른 코딩은 본 개시물에서 예시를 목적으로 설명될 것이다. 그러나, 본 개시물에서 설명되는 기법들은 H.264 또는 다른 표준이나 독점적 (proprietary) 비디오 코딩 프로세스들에 따라 정의된 것들과 같은 다른 비디오 코딩 프로세스들에 유용할 수도 있다.
HEVC 표준화 노력들은 HEVC 테스트 모델 (HEVC Test Model: HM) 이라고 지칭되는 비디오 코딩 디바이스의 모델에 기초한다. HM 은, 예를 들어, ITU-T H.264/AVC 에 따른 디바이스들에 비해 비디오 코딩 디바이스들의 여러 능력들을 전제로 한다. 예를 들어, H.264 가 9 개의 인트라-예측 인코딩 모드들을 제공하는 반면, HM 은 35 개 정도로 많은 인트라-예측 인코딩 모드들을 제공한다.
HM 에 따르면, CU 는 하나 이상의 예측 유닛 (PU) 들 및/또는 하나 이상의 변환 유닛 (TU) 들을 포함할 수도 있다. 비트스트림 내의 신택스 데이터는 최대 코딩 유닛 (LCU) 을 정의할 수도 있는데, 이 최대 코딩 유닛은 픽셀들의 수와 관련하여 최대 CU 이다. 일반적으로, CU 가 사이즈 특이성을 갖지 않는다는 점을 제외하고는, CU 는 H.264 의 매크로블록과 유사한 목적을 갖는다. 따라서, CU 는 서브-CU들로 분할될 수도 있다. 일반적으로, CU 에 대한 본 개시물에서의 언급은 픽처의 최대 코딩 유닛 또는 LCU 의 서브-CU 로 지칭할 수도 있다. LCU 는 서브-CU들로 분할될 수도 있고, 각각의 서브-CU 는 서브-CU들로 더 분할될 수도 있다. 비트스트림에 대한 신택스 데이터는 LCU 가 분할될 수도 있는 최대 횟수를 정의할 수도 있고, 이 최대 횟수는 CU 깊이라고 지칭된다. 이에 따라, 비트스트림은 최소 코딩 유닛 (smallest coding unit; SCU) 을 또한 정의할 수도 있다. 본 개시물은 또한 CU, PU, 또는 TU 중 임의의 것을 지칭하기 위해 용어 "블록", "파티션" 또는 "부분" 을 사용한다. 일반적으로, "부분" 은 비디오 프레임의 임의의 서브-세트를 지칭할 수도 있다.
LCU 는 쿼드트리 데이터 구조와 연관될 수도 있다. 일반적으로, 쿼드트리 데이터 구조는 CU 당 하나의 노드를 포함하며, 여기서 루트 노드는 LCU 에 대응한다. CU 가 4개의 서브-CU들로 분할되는 경우, CU 에 대응하는 노드는 4개의 리프 노드들을 포함하며, 이 리프 노드 각각은 서브-CU들 중의 하나에 대응한다. 쿼드트리 데이터 구조의 노드 각각은 대응하는 CU 에 대한 신택스 데이터를 제공할 수도 있다. 예를 들어, 쿼드트리에서의 노드는 그 노드에 대응하는 CU 가 서브-CU들로 분할되는지 여부를 나타내는 분할 플래그를 포함할 수도 있다. CU 에 대한 신택스 엘리먼트들은 재귀적으로 정의될 수도 있으며, CU 가 서브-CU들로 분할되는지 여부에 의존할 수도 있다. CU 가 더 분할되지 않는다면, 그것은 리프-CU 로 지칭된다.
또한, 리프-CU들의 TU들은 각각의 쿼드트리 데이터 구조들과 역시 연관될 수도 있다. 즉, 리프-CU 는 그 리프-CU 가 TU들로 어떻게 파티셔닝되는지를 나타내는 쿼드트리를 포함할 수도 있다. 본 개시물은 LCU 가 CU 쿼드트리로서 어떻게 파티셔닝되는지를 나타내는 쿼드트리 및 리프-CU 가 TU 쿼드트리로서 어떻게 TU들로 파티셔닝되는지를 나타내느 쿼드트리를 언급한다. TU 쿼드트리의 루트 노드는 일반적으로 리프-CU 에 대응하지만, CU 쿼드트리의 루트 노드는 일반적으로 LCU 에 대응한다. 분할되지 않은 TU 쿼드트리의 TU들은 리프-TU들로 지칭된다.
리프-CU 는 하나 이상의 예측 유닛 (PU) 들을 포함할 수도 있다. 일반적으로, PU 는 대응하는 CU 의 전부 또는 일부를 나타내며, PU 에 대한 참조 샘플을 취출하기 위한 데이터를 포함할 수도 있다. 예를 들어, PU 가 인터-모드 인코딩되면, PU 는 PU 에 대한 모션 벡터를 정의하는 데이터를 포함할 수도 있다. 모션 벡터를 정의하는 데이터는, 예를 들어, 모션 벡터의 수평 컴포넌트, 모션 벡터의 수직 컴포넌트, 모션 벡터에 대한 분해능 (예를 들어, 1/4 픽셀 정밀도 또는 1/8 픽셀 정밀도), 모션 벡터가 가리키는 참조 프레임, 및/또는 모션 벡터에 대한 참조 리스트 (예컨대, 리스트 0 또는 리스트 1) 를 설명할 수도 있다. PU(들) 를 정의하는 리프-CU 에 대한 데이터는, 예를 들어, 하나 이상의 PU들로의 CU 의 파티셔닝을 또한 설명할 수도 있다. 파티셔닝 모드들은, CU 가 예측적으로 코딩, 인트라-예측 모드 인코딩, 또는 인터-예측 모드 인코딩되지 않는지 여부에 따라 상이할 수도 있다. 인트라 코딩의 경우, PU 는 아래에서 설명되는 리프 변환 유닛과 동일하게 취급될 수도 있다.
블록 (예를 들어, 비디오 데이터의 예측 유닛 (PU)) 을 코딩하기 위해, 블록에 대한 예측자 (predictor) 가 먼저 유도된다. 예측자는 인트라 (I) 예측 (즉, 공간적 예측) 또는 인터 (P 또는 B) 예측 (즉, 시간적 예측) 중 어느 하나를 통해 유도될 수 있다. 따라서, 일부 예측 유닛들은 동일한 프레임 내의 이웃하는 참조 블록들에 대한 공간적 예측을 이용하여 인트라-코딩 (I) 될 수도 있고, 다른 예측 유닛들은 다른 프레임들 내의 참조 블록들에 대하여 인터-코딩 (P 또는 B) 될 수도 있다. 예측을 위해 이용되는 참조 블록들은 참조 샘플들로서의 소위 정수 픽셀 포지션들에서의 실제 픽셀 값들, 또는 참조 샘플들로서의 프랙셔널 (fractional) 픽셀 포지션들에서의 보간에 의해 생성된 합성된 픽셀 값들을 포함할 수도 있다.
예측자의 식별시, 오리지널 비디오 데이터 블록과 그의 예측자 사이의 차이가 계산된다. 이 차이는 또한 예측 잔여 (prediction residual) 라 불리며, 코딩될 블록의 픽셀들과 참조 블록, 즉, 예측자의 (상술된 바와 같이, 정수-정밀도 픽셀들 또는 보간된 프랙셔널-정밀도 픽셀들일 수도 있는) 대응하는 참조 샘플들 사이의 픽셀 차이들을 지칭한다. 보다 양호한 압축을 달성하기 위해, 예측 잔여 (즉, 픽셀 차이 값들의 어레이) 는 일반적으로, 예를 들어, 이산 코사인 변환 (DCT), 정수 변환, 카루넨 루베 (Karhunen-Loeve; K-L) 변환, 또는 다른 변환을 이용하여, 픽셀 (즉, 공간) 도메인으로부터 변환 도메인으로 변환된다. 변환 도메인은, 예를 들어, 주파수 도메인일 수도 있다.
인터-예측을 이용하여 PU 를 코딩하는 것은, 참조 프레임에서의 블록과 현재 블록 사이의 모션 벡터를 계산하는 것을 수반한다. 모션 벡터들은 모션 추정 (또는 모션 탐색) 이라고 불리는 프로세스를 통해 계산된다. 모션 벡터는, 예를 들어, 참조 프레임의 참조 샘플에 대한 현재 프레임에서의 예측 유닛의 변위를 나타낼 수도 있다. 참조 샘플은 SAD (sum of absolute difference), SSD (sum of squared difference), 또는 다른 상이한 메트릭들에 의해 결정될 수도 있는, 픽셀 차이와 관련하여 코딩되는 PU 를 포함하는 CU 의 부분에 가깝게 매칭하는 것으로 확인되는 블록일 수도 있다. 참조 샘플은 참조 프레임 또는 참조 슬라이스 내의 어디에서나 발생할 수도 있다. 일부 예들에서, 참조 샘플들은 전체적으로 또는 부분적으로 보간되고, 프랙셔널 픽셀 포지션에서 발생할 수도 있다. 현재 부분에 가장 잘 매칭하는 참조 프레임의 부분의 발견시, 인코더는, 현재 부분에 대한 현재 모션 벡터를, 참조 프레임에서의 현재 부분에서부터 매칭 부분까지 (예를 들어, 현재 부분의 중심에서부터 매칭 부분의 중심까지) 의 위치에 있어서의 차이로서 결정한다.
일부 예들에서, 인코더는 각 부분에 대한 모션 벡터를 인코딩된 비디오 비트스트림에서 시그널링할 수도 있다. 시그널링된 모션 벡터는, 비디오 데이터를 디코딩하기 위해 모션 보상을 수행하도록 디코더에 의해 이용된다.
일단 모션 추정이 현재 부분에 대한 모션 벡터를 결정하기 위해 수행된다면, 인코더는 참조 프레임에서의 매칭 부분을 현재 부분과 비교한다. 이 비교는 통상적으로, 참조 프레임에서의 ("참조 샘플" 이라고 보통 지칭되는) 부분을 현재 부분으로부터 감산하는 것을 수반하여, 상술된 바와 같이, 소위 잔여 데이터를 발생시킨다. 잔여 데이터는 현재 부분과 참조 샘플 사이의 픽셀 차이 값들을 나타낸다. 인코더는 그 후에 이 잔여 데이터를 공간 도메인으로부터 주파수 도메인과 같은 변환 도메인으로 변환한다. 보통, 인코더는 이산 코사인 변환 (DCT) 을 잔여 데이터에 적용하여 이러한 변환을 달성한다. 결과적인 변환 계수들이 상이한 주파수들을 나타내기 때문에, 인코더는 이러한 변환을 수행하여 잔여 데이터의 압축을 용이하게 하고, 여기서 에너지 대부분은 보통 몇몇 저주파 계수들에 집중된다.
통상적으로, 결과적인 변환 계수들은, 특히 그 변환 계수들이 우선 양자화 (절사) 되는 경우, 엔트로피 코딩을 가능하게 하는 방식으로 함께 그룹화된다. 인코더는 그 후에 통계 무손실 (또는 소위 "엔트로피") 인코딩을 수행하여, 런-길이 (run-length) 코딩되는 양자화된 변환 계수들을 더욱 압축한다. 무손실 엔트로피 코딩을 수행한 후에, 인코더는, 인코딩된 비디오 데이터를 포함하는 비트스트림을 발생시킨다.
비디오 인코딩 프로세스는 또한, 소위 "재구성 루프" 를 포함함으로써, 인코딩된 비디오 블록들이 디코딩되고 후속하여 코딩되는 비디오 블록들에 대한 참조 프레임들로서의 이용을 위해 참조 프레임 버퍼에 저장되도록 할 수도 있다. 참조 프레임 버퍼는 또한, 디코딩된 픽처 버퍼 또는 DPB 라고 지칭된다. 재구성된 비디오 블록들은 종종 참조 프레임 버퍼에 저장하기 전에 필터링된다. 필터링은 보통, 예를 들어, 블록-기반 비디오 코딩에 흔한 블로키니스 (blockiness) 또는 다른 아티팩트 (artifact) 들을 감소시키기 위해 이용된다. 블로키니스를 감소시키거나 및/또는 다른 방법으로 비디오 품질을 개선시킬 수 있는 바람직한 레벨들의 비디오 블록 필터링을 촉진시키기 위해 필터 계수들 (때때로 필터 탭들이라고 불림) 이 정의 또는 선택될 수도 있다. 필터 계수들의 세트는, 예를 들어, 필터링이 어떻게 비디오 블록들의 에지들 또는 비디오 블록들 내의 다른 위치들을 따라 적용되는지를 정의할 수도 있다. 상이한 필터 계수들은 비디오 블록들의 상이한 픽셀들에 대한 상이한 레벨들의 필터링을 야기시킬 수도 있다. 필터링은, 예를 들어, 원치않는 아티팩트들을 제거하는 것을 돕기 위해 인접하는 픽셀 값들의 세기에 있어서의 차이들을 평탄하게 하거나 또는 샤프하게 할 수도 있다.
하나의 예로서, 코딩된 비디오 데이터의 블록들 간의 양상을 개선시키기 위해 (예를 들어, 에지들을 평탄하게 하기 위해) 디블록킹 필터 (deblocking filter) 가 이용될 수도 있다. 다른 예시적인 필터는, 이미지 품질 및 코딩 효율을 개선시키기 위해 픽셀들의 재구성된 블록들에 오프셋을 부가하는데 이용되는 SAO (sample adaptive offset) 필터이다. HEVC 에 대한 하나의 제안에서 재구성 루프에 이용되는 다른 타입의 필터는 적응적 루프 필터 (ALF) 이다. ALF 는 통상적으로 디블록킹 필터 이후에 수행된다. ALF 는 비디오 코딩 압축 프로세스에 의해 저하된 픽셀들의 충실도를 재저장한다. ALF 는 소스 프레임에서의 오리지널 픽셀 값들과 재구성된 프레임의 것들 사이의 평균 제곱 오차를 최소화시키려고 시도한다. 또한, ALF 는 인코딩 프로세스 동안 적용되었던 것과 동일한 방식으로 비디오 디코더의 출력에서 적용된다. 총칭하여, 재구성 루프에 이용되는 임의의 필터는 "루프 필터" 라고 지칭될 수도 있다. 루프 필터들은 하나 이상의 디블록킹 필터들, SAO 필터들, 및 ALF들을 포함할 수도 있다. 또한, 재구성 루프에서의 이용을 위한 다른 타입들의 필터들도 또한 가능하다.
본 개시물은 ALF 를 위한 기법들을 제시한다. 특히, 본 개시물은 크로마 컴포넌트들의 ALF 를 위한 기법들을 제시한다. 본 개시물의 하나 이상의 예들에서, 크로마 컴포넌트들에 대한 ALF 는 루마 컴포넌트들에 대한 ALF 와는 독립적으로 적용될 수도 있다. 본 개시물의 다른 예들에서, 크로마 컴포넌트들에 대한 특정 ALF 는 블록-기반 또는 영역-기반 분류들의 이용을 통해 다수의 ALF들의 그룹으로부터 결정된다.
도 1 은 본 개시물의 예들에 따른 비디오 코딩 프로세스에서의 적응적 루프 필터링을 위한 기법들을 활용하도록 구성될 수도 있는 일 예시적인 비디오 인코딩 및 디코딩 시스템 (10) 을 예시한 블록도이다. 도 1 에 도시된 바와 같이, 시스템 (10) 은 인코딩된 비디오를 통신 채널 (16) 을 통해 목적지 디바이스 (14) 에 송신하는 소스 디바이스 (12) 를 포함한다. 인코딩된 비디오 데이터는 또한 저장 매체 (34) 또는 파일 서버 (36) 상에 저장될 수도 있고, 원할 때 목적지 디바이스 (14) 에 의해 액세스될 수도 있다. 저장 매체 또는 파일 서버에 저장될 때, 비디오 인코더 (20) 는 코딩된 비디오 데이터를 저장 매체에 저장하기 위해, 코딩된 비디오 데이터를 다른 디바이스, 예컨대, 네트워크 인터페이스, 콤팩트 디스크 (CD), 블루-레이 또는 디지털 비디오 디스크 (DVD) 버너 (burner) 또는 스탬핑 기능 디바이스 (stamping facility device), 또는 다른 디바이스들에게 제공할 수도 있다. 마찬가지로, 네트워크 인터페이스, CD 또는 DVD 판독기 등과 같이, 비디오 디코더 (30) 로부터 분리된 디바이스는 저장 매체로부터 코딩된 비디오 데이터를 취출하고 취출된 데이터를 비디오 디코더 (30) 에 제공할 수도 있다.
소스 디바이스 (12) 및 목적지 디바이스 (14) 는 데스크톱 컴퓨터들, 노트북 (즉, 랩톱) 컴퓨터들, 태블릿 컴퓨터들, 셋-톱 박스들, 소위 스마트폰들과 같은 전화기 핸드셋들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들 등을 포함한 다양한 디바이스들 중 임의의 디바이스를 포함할 수도 있다. 많은 경우들에서, 이러한 디바이스들은 무선 통신을 위해 구비될 수도 있다. 따라서, 통신 채널 (16) 은 무선 채널, 유선 채널, 또는 인코딩된 비디오 데이터의 송신에 적합한 무선 채널과 유선 채널의 조합을 포함할 수도 있다. 유사하게, 파일 서버 (36) 는 인터넷 접속을 포함한 임의의 표준 데이터 접속을 통해 목적지 디바이스 (14) 에 의해 액세스될 수도 있다. 이것은 무선 채널 (예를 들어, Wi-Fi 접속), 유선 접속 (예를 들어, DSL, 케이블 모뎀 등), 또는 파일 서버 상에 저장되는 인코딩된 비디오 데이터에 액세스하는데 적합한 양쪽의 조합을 포함할 수도 있다.
본 개시물의 예들에 따른, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 위한 기법들은, 다양한 멀티미디어 애플리케이션들, 예컨대, 공중 경유 (over-the-air) 텔레비전 브로드캐스트들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, 예를 들어, 인터넷을 통한 비디오 송신들의 스트리밍, 데이터 저장 매체 상에의 저장을 위한 디지털 비디오의 인코딩, 데이터 저장 매체 상에 저장된 디지털 비디오의 디코딩, 또는 다른 애플리케이션들 중 임의의 것을 지원하여 비디오 코딩에 적용될 수도 있다. 일부 예들에서, 시스템 (10) 은 비디오 스트리밍, 비디오 재생, 비디오 브로드캐스팅 및/또는 화상 통화와 같은 애플리케이션들을 지원하기 위해 일방향 또는 양방향 비디오 송신을 지원하도록 구성될 수도 있다.
도 1 의 예에서, 소스 디바이스 (12) 는 비디오 소스 (18), 비디오 인코더 (20), 변조기/복조기 (22) 및 송신기 (24) 를 포함한다. 소스 디바이스 (12) 에서, 비디오 소스 (18) 는 비디오 카메라와 같은 비디오 캡처 디바이스, 이전에 캡처된 비디오를 포함하는 비디오 아카이브, 비디오 콘텐츠 제공자로부터 비디오를 수신하기 위한 비디오 피드 인터페이스, 및/또는 컴퓨터 그래픽 데이터를 소스 비디오로서 발생시키기 위한 컴퓨터 그래픽 시스템과 같은 소스, 또는 이러한 소스들의 조합을 포함할 수도 있다. 하나의 예로서, 비디오 소스 (18) 가 비디오 카메라라면, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 소위 카메라 폰들 또는 비디오 폰들을 형성할 수도 있다. 그러나, 본 개시물에 설명된 기법들은 일반적으로 비디오 코딩에 적용가능할 수도 있고, 무선 및/또는 유선 애플리케이션들, 또는 인코딩된 비디오 데이터가 로컬 디스크 상에 저장되는 애플리케이션에 적용될 수도 있다.
캡처된, 미리 캡처된, 또는 컴퓨터-발생된 비디오는 비디오 인코더 (20) 에 의해 인코딩될 수도 있다. 인코딩된 비디오 정보는 무선 통신 프로토콜과 같은 통신 표준에 따라 모뎀 (22) 에 의해 변조되고, 송신기 (24) 를 통해 목적지 디바이스 (14) 에 송신될 수도 있다. 모뎀 (22) 은 다양한 믹서들, 필터들, 증폭기들 또는 신호 변조를 위해 설계된 다른 컴포넌트들을 포함할 수도 있다. 송신기 (24) 는 증폭기들, 필터들, 및 하나 이상의 안테나들을 포함하는, 데이터를 송신하도록 설계된 회로들을 포함할 수도 있다.
비디오 인코더 (20) 에 의해 인코딩되는 캡처된, 미리 캡처된, 또는 컴퓨터-발생된 비디오는 또한 추후 소비를 위해 저장 매체 (34) 또는 파일 서버 (36) 상에 저장될 수도 있다. 저장 매체 (34) 는 블루-레이 디스크들, DVD들, CD-ROM들, 플래시 메모리, 또는 인코딩된 비디오를 저장하기 위한 임의의 다른 적합한 디지털 저장 매체를 포함할 수도 있다. 저장 매체 (34) 상에 저장되는 인코딩된 비디오는 그 후에 디코딩 및 재생을 위해 목적지 디바이스 (14) 에 의해 액세스될 수도 있다.
파일 서버 (36) 는 인코딩된 비디오를 저장하고 그 인코딩된 비디오를 목적지 디바이스 (14) 에 송신하는 것이 가능한 임의의 타입의 서버일 수도 있다. 예시적인 파일 서버들은 웹 서버 (예를 들어, 웹사이트용), FTP 서버, NAS (network attached storage) 디바이스들, 로컬 디스크 드라이브, 또는 인코딩된 비디오 데이터를 저장하고 그것을 목적지 디바이스에 송신하는 것이 가능한 임의의 다른 타입의 디바이스를 포함한다. 파일 서버 (36) 로부터의 인코딩된 비디오 데이터의 송신은 스트리밍 송신, 다운로드 송신, 또는 양쪽의 조합일 수도 있다. 파일 서버 (36) 는 인터넷 접속을 포함한 임의의 표준 데이터 접속을 통해 목적지 디바이스 (14) 에 의해 액세스될 수도 있다. 이것은 무선 채널 (예를 들어, Wi-Fi 접속), 유선 접속 (예를 들어, DSL, 케이블 모뎀, 이더넷, USB 등), 또는 파일 서버 상에 저장되는 인코딩된 비디오 데이터에 액세스하는데 적합한 양쪽의 조합을 포함할 수도 있다.
목적지 디바이스 (14) 는, 도 1 의 예에서, 수신기 (26), 모뎀 (28), 비디오 디코더 (30), 및 디스플레이 디바이스 (32) 를 포함한다. 목적지 디바이스 (14) 의 수신기 (26) 는 채널 (16) 을 통해 정보를 수신하고, 모뎀 (28) 은 정보를 복조하여 비디오 디코더 (30) 에 대한 복조된 비트스트림을 생성한다. 채널 (16) 을 통해 통신된 정보는 비디오 데이터를 디코딩함에 있어서 비디오 디코더 (30) 에 의한 이용을 위해 비디오 인코더 (20) 에 의해 발생된 다양한 신택스 정보를 포함할 수도 있다. 이러한 신택스는 또한 저장 매체 (34) 또는 파일 서버 (36) 상에 저장되는 인코딩된 비디오 데이터와 함께 포함될 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 비디오 데이터를 인코딩 또는 디코딩하는 것이 가능한 각각의 인코더-디코더 (CODEC) 의 부분을 형성할 수도 있다.
디스플레이 디바이스 (32) 는 목적지 디바이스 (14) 와 통합되거나 또는 목적지 디바이스 (14) 의 외부에 있을 수도 있다. 일부 예들에서, 목적지 디바이스 (14) 는 통합된 디스플레이 디바이스를 포함할 수도 있고 또한 외부 디스플레이 디바이스와 인터페이싱하도록 구성될 수도 있다. 다른 예들에서, 목적지 디바이스 (14) 는 디스플레이 디바이스일 수도 있다. 일반적으로, 디스플레이 디바이스 (32) 는 디코딩된 비디오 데이터를 사용자에게 디스플레이하며, 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 다른 타입의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 임의의 것을 포함할 수도 있다.
도 1 의 예에서, 통신 채널 (16) 은 임의의 무선 또는 유선 통신 매체, 예컨대, 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인들, 또는 무선과 유선 매체의 임의의 조합을 포함할 수도 있다. 통신 채널 (16) 은 패킷-기반 네트워크, 예컨대, 로컬 영역 네트워크, 광역 네트워크, 또는 글로벌 네트워크, 예컨대, 인터넷의 부분을 형성할 수도 있다. 통신 채널 (16) 은 일반적으로 유선 또는 무선 매체의 임의의 적합한 조합을 포함하는, 소스 디바이스 (12) 로부터의 비디오 데이터를 목적지 디바이스 (14) 에 송신하기 위한, 임의의 적합한 통신 매체, 또는 상이한 통신 매체의 콜렉션을 나타낸다. 통신 채널 (16) 은 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로의 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는 현재 개발 중인 HEVC 표준과 같은 비디오 압축 표준에 따라 동작할 수도 있고, HEVC 테스트 모델 (HM) 에 따를 수도 있다. 대안적으로, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 대안적으로는 MPEG-4, Part 10, AVC (Advanced Video Coding) 로 지칭되는, ITU-T H.264 표준과 같은 다른 독점적 또는 산업 표준들, 또는 이러한 표준들의 확장물들에 따라 동작할 수도 있다. 그러나 본 개시물의 기법들은 임의의 특정 코딩 표준으로 제한되지 않는다. 다른 예들은 MPEG-2 및 ITU-T H.263 을 포함한다.
도 1 에 도시되어 있지 않지만, 일부 양태들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 각각 오디오 인코더 및 디코더와 통합될 수도 있고, 공통 데이터 스트림 또는 개별 데이터 스트림들에서 오디오와 비디오 양쪽의 인코딩을 핸들링하기 위해, 적절한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 적용가능하다면, 일부 예들에서, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그램 프로토콜 (UDP) 과 같은 다른 프로토콜들에 따를 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는 각각 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서 (DSP) 들, 주문형 집적 회로 (ASIC) 들, 필드 프로그램가능 게이트 어레이 (FPGA) 들, 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합들과 같은 다양한 적합한 인코더 회로부 중 임의의 것으로서 구현될 수도 있다. 기법들이 소프트웨어로 부분적으로 구현될 때, 디바이스는 적합한, 비일시적 컴퓨터 판독가능 매체에 소프트웨어에 대한 명령들을 저장하고, 본 개시물의 기법들을 수행하기 위해 하나 이상의 프로세서들을 이용하여 그 명령들을 하드웨어에서 실행할 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있고, 이들 중 어느 하나는 각각의 디바이스 내에 결합된 인코더/디코더 (CODEC) 의 부분으로서 통합될 수도 있다.
비디오 인코더 (20) 는 비디오 코딩 프로세스에서 적응적 루프 필터링을 위해 본 개시물의 기법들 중 임의의 것 또는 전부를 구현할 수도 있다. 마찬가지로, 비디오 디코더 (30) 는 비디오 코딩 프로세스에서 적응적 루프 필터링을 위해 이들 기법들 중 임의의 것 또는 전부를 구현할 수도 있다. 비디오 코더는, 본 개시물에서 설명된 바와 같이, 비디오 인코더 또는 비디오 디코더를 지칭할 수도 있다. 유사하게, 비디오 코딩 유닛은 비디오 인코더 또는 비디오 디코더를 지칭할 수도 있다. 이러한 맥락에서, 비디오 코딩 유닛은 물리적 하드웨어이고 상술된 CU 데이터 구조와는 상이하다. 마찬가지로, 비디오 코딩은 비디오 인코딩 또는 비디오 디코딩을 지칭할 수도 있다.
본 개시물의 하나의 예에서, 비디오 인코더 (20) 는 픽셀들의 블록의 루마 컴포넌트들에 대한 루마 적응적 루프 필터링을 수행하고, 픽셀들의 블록의 크로마 컴포넌트들에 대한 크로마 적응적 루프 필터링을 수행하도록 구성될 수도 있고, 여기서 루마 적응적 루프 필터링과 크로마 적응적 루프 필터링 양쪽에 대한 필터 계수들은 블록-기반 모드 또는 영역-기반 모드로부터 유도된다.
마찬가지로, 본 개시물의 다른 예에서, 비디오 디코더 (30) 는 픽셀들의 블록의 루마 컴포넌트들에 대한 루마 적응적 루프 필터링을 수행하고, 픽셀들의 블록의 크로마 컴포넌트들에 대한 크로마 적응적 루프 필터링을 수행하도록 구성될 수도 있고, 여기서 루마 적응적 루프 필터링과 크로마 적응적 루프 필터링 양쪽에 대한 필터 계수들은 블록-기반 모드 또는 영역-기반 모드로부터 유도된다.
HEVC 에 대한 하나의 ALF 제안에서, 2개의 적응 모드들 (즉, 블록-기반 및 영역-기반 적응 모드들) 이 제안된다. 영역-기반 적응 모드의 경우, 프레임이 16개의 영역들로 분할되고, 각각의 영역은 선형 필터 계수들 (복수의 AC 계수들 및 하나의 DC 계수) 의 하나의 세트를 가질 수 있다. 다른 예들에서, 보다 많거나 또는 보다 적은 영역들이 이용될 수도 있다. 영역은 다른 영역들과 동일한 필터 계수들을 공유할 수도 있다. 도 2 는 적응적 루프 필터에 대한 영역-기반 분류를 도시한 개념도이다. 도 2 에 도시된 바와 같이, 프레임 (120) 이 16개의 영역들로 분할되고, 각각의 영역은 다수의 CU들을 포함할 수도 있다. 이들 16개의 영역들 각각은 그 영역에 의해 이용되는 선형 필터 계수들의 특정 세트를 나타내는 숫자 (0 내지 15) 로 표현된다. 숫자들 (0 내지 15) 은 비디오 인코더와 비디오 디코더 양쪽에 저장되는 필터 계수들의 미리 결정된 세트에 대한 인덱스 숫자 (index number) 들일 수도 있다. 즉, 각각의 숫자 (0 내지 15) 는 필터 계수들의 복수의 세트들 중 특정의 하나의 세트에 대한 인덱스일 수도 있다. 하나의 예에서, 비디오 인코더는, 인코딩된 비디오 비트스트림에서, 특정 영역에 대한 비디오 인코더에 의해 이용된 필터 계수들의 세트의 인덱스 숫자를 시그널링할 수도 있다. 시그널링된 인덱스에 기초하여, 비디오 디코더는 필터 계수들의 복수의 상이한 세트들 중에서 필터 계수들의 동일한 미리 결정된 세트를 취출하여, 그 영역에 대한 디코딩 프로세스에 이용할 수도 있다. 다른 예들에서, 필터 계수들은, 각각의 영역에 대해, 예를 들어, 인코더에 의해 신택스 엘리먼트들로서, 디코더에 의해 수신된 인코딩된 비트스트림에서 명백히 시그널링된다.
블록-기반 적응 모드의 경우, 프레임은 4x4 블록들로 분할되고, 각각의 4x4 블록은 방향과 액티비티 정보를 이용하여 매트릭을 컴퓨팅함으로써 하나의 클래스를 유도한다. 각각의 클래스에 대해, 선형 필터 계수들 (복수의 AC 계수들 및 하나의 DC 계수) 의 하나의 세트가 이용될 수 있고 하나의 클래스는 다른 클래스들과 동일한 필터 계수들을 공유할 수 있다. 도 3 은 적응적 루프 필터에 대한 블록-기반 분류를 도시한 개념도이다.
방향 및 액티비티의 컴퓨테이션, 및 방향과 액티비티에 기초한 결과적인 매트릭은, 아래에 나타낸다:
Figure pct00001
방향
Figure pct00002
Figure pct00003
액티비티
Figure pct00004
Figure pct00005
메트릭
Figure pct00006
액티비티 + N*방향
Hor_act (i, j) 는 일반적으로 현재 픽셀 (i, j) 의 수평 액티비티를 지칭하고, Vert_act(i, j) 는 일반적으로 현재 픽셀 (i, j) 의 수직 액티비티를 지칭한다. X(i, j) 는 일반적으로 픽셀 (i, j) 의 픽셀 값을 지칭하고, 여기서 i 및 j 는 프레임 도는 블록 내의 현재 픽셀의 수평 및 수직 좌표들을 나타낸다. 이러한 맥락에서, 액티비티는 일반적으로 위치에 있어서의 픽셀들 간의 구배 또는 분산이다.
HB 는 4x4 블록의 수평 액티비티를 지칭하고, 이 수평 액티비티는 이 예에서 픽셀들 (1, 1), (1, 2), (2, 1), 및 (2, 2) 에 대한 수평 액티비티의 합에 기초하여 결정된다. VB 는 4x4 블록의 수직 액티비티를 지칭하고, 이 수직 액티비티는 이 예에서 픽셀들 (1, 1), (1, 2), (2, 1), 및 (2, 2) 에 대한 수직 액티비티의 합에 기초하여 결정된다. "<<1" 은 2개의 연산들에 의한 곱셈을 표현한 것이다. HB 및 VB 의 값들에 기초하여, 방향이 결정될 수 있다. 하나의 예로서, HB 의 값이 VB 의 값의 2배보다 더 크다면, 방향은 방향 1 (즉, 수평) 인 것으로 결정될 수 있고, 이는 수직 액티비티보다 수평 액티비티에 더 대응할 수도 있다. VB 의 값이 HB 의 값의 2배보다 더 크다면, 방향은 방향 2 (즉, 수직) 인 것으로 결정될 수 있고, 이는 수평 액티비티보다 수직 액티비티에 더 대응할 수도 있다. 그렇지 않으면, 방향은 방향 0 (즉, 방향 없음) 인 것으로 결정될 수 있고, 이는 수직 또는 수평 액티비티가 지배적이지 않다는 것을 의미한다. 다양한 방향들에 대한 라벨들, 및 그 방향들을 결정하는데 이용되는 비율들은, 다른 라벨들 및 비율들이 또한 이용될 수 있기 때문에, 단지 하나의 예일 뿐이다.
4x4 블록에 대한 액티비티 (LB) 는 수직 및 수평 액티비티의 합으로서 결정될 수 있다. LB 의 값은 범위로 분류될 수 있다. 이러한 특정 예는 N개의 범위들을 나타낸다. 즉, 임의의 수의 범위들이 이용될 수도 있다. 액티비티와 방향의 조합에 기초하여, 픽셀들의 4x4 블록에 대한 필터가 선택될 수 있다. 하나의 예로서, 필터는 필터들에 대한 액티비티와 방향의 2 차원 매핑에 기초하여 선택될 수도 있고, 또는 액티비티와 방향이 단일 매트릭으로 결합될 수도 있고, 이 단일 매트릭은 필터를 선택하는데 이용될 수도 있다 (예를 들어, 매트릭 = 액티비티 + N*방향).
도 3 으로 돌아가면, 블록 140 은 픽셀들의 4x4 블록을 표현한 것이다. 이 예에서, 16개의 픽셀들 중 단지 4개가 블록-기반 ALF 에 대한 액티비티와 방향 메트릭들을 계산하는데 이용된다. 이 4개의 픽셀들은, 픽셀 141 로 라벨링된 픽셀 (1, 1), 픽셀 142 로 라벨링된 픽셀 (2, 1), 픽셀 143 으로 라벨링된 픽셀 (1, 2), 및 픽셀 144 로 라벨링된 픽셀 (2, 2) 이다. 픽셀 141 의 수평 액티비티 (즉, hor_act(l, 1)) 는, 예를 들어, 좌측의 이웃하는 픽셀 및 우측의 이웃하는 픽셀에 기초하여 결정된다. 우측의 이웃하는 픽셀은 픽셀 145 로 라벨링되고, 좌측의 이웃하는 픽셀은 픽셀 146 으로 라벨링된다. 픽셀 142 의 수직 액티비티 (즉, ver_act(2, 1)) 는, 예를 들어, 상측의 이웃하는 픽셀 및 하측의 이웃하는 픽셀에 기초하여 결정된다. 하측의 이웃하는 픽셀은 픽셀 147 로 라벨링되고, 상측의 이웃하는 픽셀은 픽셀 148 로 라벨링된다. 수평 및 수직 액티비티는 유사한 방식으로 픽셀들 143 및 144 에 대해 계산될 수도 있다.
HEVC 에 대한 이전의 적응적 루프 필터 제안들에서, 픽셀들의 특정 블록 내의 루마 및 크로마 컴포넌트들은 상이한 적응적 루프 필터들을 이용한다. 루마 컴포넌트들의 경우, 상술된 영역 또는 블록-기반 적응적 ALF 가 이용된다. 영역 또는 블록-기반 적응적 ALF 는 다수의 필터들 (예를 들어, 최대 16개의 필터들) 을 활용할 수도 있다. 또한, 루마 ALF 를 이용한다는 판정은 CU 레벨 ALF 온/오프 판정 플래그를 이용하여 CU 기초로 CU 상에서 이루어질 수도 있다. 크로마 컴포넌트들의 경우, 단지 하나의 필터만이 이용된다. 크로마 컴포넌트들에 대해 ALF 를 이용한다는 판정은 루마 ALF 와는 독립적으로 제어되지 않는다. 그 대신에, 루마 ALF 필터가 가능하게 될 때 (즉, CU 레벨 ALF 플래그가 온일 때) 만 크로마 ALF 필터가 단지 가능하게 된다.
도 4 는 CU 레벨 ALF 온/오프 판정 플래그의 이용의 개념 맵을 나타낸 것이다. 픽처 (160) 는 코딩을 위해 다수의 CU들로 나뉘어진다. 도 4 의 예에서, CU들은 이해의 용이를 위해 동일한 사이즈인 것으로 나타나 있다. 그러나, CU들은 상이한 사이즈의 것일 수도 있다. 예를 들어, HEVC 에서의 CU들은 쿼드트리 구조에 따라 파티셔닝될 수도 있다.
도 4 에서, 해시 마킹된 CU들 (163) 은, 온 (on) 인 ALF 플래그 (예를 들어, ALF 플래그 = 1) 로 코딩되었다. 이에 따라, HEVC 에 대한 이전 제안들에 따르면, 비디오 인코더와 디코더 양쪽은 ALF 를 이 CU 에서의 픽셀들의 루마 및 크로마 컴포넌트들 양쪽에 적용할 것이다. 비디오 인코더는 또한, 이용된 ALF 계수들, 또는 이용된 ALF 계수들을 나타내는 인덱스를, 인코딩된 비디오 비트스트림에서 시그널링할 수도 있어서, 비디오 디코더가 디코딩 프로세스에서 동일한 ALF 계수들을 적용할 수도 있다. 마킹이 없는 CU들 (165) 는, 오프 (off) 인 ALF 플래그 (예를 들어, ALF 플래그 = 0) 로 코딩되었다. 이 경우, 어떠한 ALF 도 이 CU 에서의 루마 컴포넌트들 또는 픽셀 컴포넌트들에 적용되지 않는다.
루마 컴포넌트들에 대한 ALF 와는 독립적으로 크로마 컴포넌트들에 대해 ALF 를 적용하지 않는 것뿐만 아니라, 크로마 컴포넌트들에 대해 단지 하나의 ALF 를 이용하는 것은, 4:2:0 픽셀 샘플링 포맷들에 대한 ALF 의 품질을 제한할 수도 있다. 이에 따라, 본 개시물은 ALF 에서 크로마 컴포넌트들을 필터링함에 있어서 더 많은 유연성을 허용하기 위한 기법들을 제안한다. 다른 예들에서, 크로마 컴포넌트들의 ALF 를 위한 본 개시물의 기법들은 단지 4:2:0 픽셀 포맷으로 제한되지 않는다. 본 개시물의 ALF 기법들은 4:2:2 및 4:4:4 픽셀 포맷들과 같은 다른 픽셀 포맷들에서의 크로마 컴포넌트들에 적용될 수도 있다.
하나의 예에서, 본 개시물은 크로마 컴포넌트들에 대한 ALF 가 루마 컴포넌트들에 대한 ALF 와는 독립적으로 제어되는 것을 제안한다. 하나의 특정 예에서, 루마 ALF 와 크로마 ALF 양쪽은 그 자신의 독립적인 CU 레벨 ALF 온/오프 판정 플래그를 가질 수도 있다. 즉, ALF 에서의 루마 컴포넌트들의 필터링은 CU 레벨 루마 ALF 온/오프 플래그로 나타내고, ALF 에서의 크로마 컴포넌트들의 필터링은 CU 레벨 크로마 ALF 온/오프 플래그로 나타낸다.
도 5 는 루마 및 크로마 CU 레벨 ALF 온/오프 판정 플래그의 이용의 개념 맵을 나타낸 것이다. 픽처 (170) 는 코딩을 위해 다수의 CU들로 나뉘어진다. 또 다시, 도 5 의 예에서, CU들은 이해의 용이를 위해 동일한 사이즈인 것으로 나타나 있다. 그러나, CU들은 상이한 사이즈의 것일 수도 있다. 예를 들어, HEVC 에서의 CU들은 쿼드트리 구조에 따라 파티셔닝될 수도 있다.
도 5 에서, 단방향성 해시 마킹된 CU들 (173) 은, 온인 루마 ALF 플래그 (예를 들어, 루마 ALF 플래그 = 1) 만으로 코딩되었다. CU들 (173) 의 경우, 크로마 ALF 플래그가 오프이다 (예를 들어, 크로마 ALF 플래그 = 0). CU들 (173) 의 경우, ALF 가 단지 픽셀들의 루마 컴포넌트들에게 적용된다. 어떠한 ALF 도 크로마 컴포넌트들에게 적용되지 않는다. 체커보드 마킹된 CU들 (175) 의 경우, 단지 크로마 ALF 플래그가 온이다 (예를 들어, 크로마 ALF 플래그 = 1). CU들 (175) 의 경우, 루마 ALF 플래그가 오프이다 (예를 들어, 루마 ALF 플래그 = 0). 이에 따라, CU들 (175) 의 경우, ALF 가 단지 픽셀들의 크로마 컴포넌트들에게 적용된다. 어떠한 ALF 도 루마 컴포넌트들에게 적용되지 않는다. 양방향성 대각선 마킹된 CU들 (177) 의 경우, 루마 ALF 플래그와 크로마 ALF 플래그 양쪽이 온이다 (예를 들어, 루마 ALF 플래그 = 1 그리고 크로마 ALF 플래그 = 1). 이에 따라, CU들 (177) 의 경우, ALF 가 픽셀들의 루마 및 크로마 컴포넌트들 양쪽에 적용된다. 양방향성 해시 마킹된 CU들 (179) 의 경우, 루마 ALF 플래그와 크로마 ALF 플래그 양쪽이 오프이다 (예를 들어, 루마 ALF 플래그 = 0 그리고 크로마 ALF 플래그 = 0). 이에 따라, CU들 (179) 의 경우, 어떠한 ALF 도 픽셀들의 루마 또는 크로마 컴포넌트들에게 적용되지 않는다.
도 5 로부터 확인될 수 있는 바와 같이, 루마 및 크로마 컴포넌트들에 대한 독립적인 CU 레벨 ALF 판정 플래그들을 이용하는 것은, ALF 에서 단지 루마 컴포넌트들이 필터링되는 상황, ALF 에서 단지 크로마 컴포넌트들이 필터링되는 상황, ALF 에서 루마 및 크로마 컴포넌트들 양쪽이 필터링되는 상황, 그리고 ALF 에서 어떠한 루마 또는 크로마 컴포넌트들도 필터링되지 않는 상황을 허용한다. 이에 따라, 픽셀 컴포넌트들에 대한 ALF 의 적용은 보다 많은 유연성이 제공될 수도 있다. 이러한 개념은 Cr 및 Cb 컴포넌트들에게 개별적으로 ALF 를 독립적으로 적용하는 것으로 더욱 확장될 수도 있다는 것에 주목해야 한다. 즉, Cr 및 Cb 컴포넌트들 양쪽에 적용하는 단일의 크로마 ALF 플래그를 갖기보다는 오히려, Cr 및 Cb 컴포넌트들에 대한 ALF 의 적용을 독립적으로 나타내기 위해 개별적인 Cr ALF 및 Cb ALF 플래그들이 이용될 수도 있다.
본 개시물의 다른 예에서, 임의의 서브-샘플링 포맷에 대한 크로마 ALF 는, 루마 ALF 에 의해 이용된 것과 동일한 또는 유사한 영역 또는 블록-기반 적응적 ALF들을 이용할 수도 있다. 즉, 크로마 ALF 를 단지 하나의 필터로 제한하는 대신에, 크로마 컴포넌트들에 대한 ALF 가 도 2 및 도 3 에 관련하여 상술된 영역 또는 블록-기반 분류 ALF 기법들에 따라 결정될 수도 있다. 일부 예들에서, 영역 또는 블록-기반 적응적 ALF 는 크로마 컴포넌트들 (즉, Cr 및 Cb) 양쪽에 적용될 수도 있다. 다른 예들에서, 영역 또는 블록-기반 적응적 ALF 는 단지 하나의 크로마 컴포넌트 (즉, Cr 또는 Cb) 에 적용될 수도 있고, 다른 ALF 가 다른 크로마 컴포넌트에 적용될 수도 있다 (예를 들어, 단일 ALF). 즉, Cr 및 Cb 컴포넌트들은 동일한 영역 또는 블록-기반 분류 기법들을 이용하여, 결국 필터 계수들의 동일한 결정된 세트에 의해 필터링될 수도 있다. 다른 예에서, Cr 및 Cb 컴포넌트들에 대한 ALF 는 독립적으로 결정될 수도 있다.
루마 컴포넌트들에 이용되는 ALF 기법들을 크로마 컴포넌트들로 확장하는 것은, 크로마 ALF 를 정의하는 인코딩된 비디오 비트스트림에서 시그널링될 수도 있는 정보의 양을 증가시킬 수도 있다. 이에 따라, 본 개시물의 다른 예에서, 크로마 ALF 에 대해 이용되는 정보를 저장 및/또는 시그널링할 필요가 있는 필터 정보 (예를 들어, CU 레벨 ALF 온/오프 플래그, 필터 계수들, 영역 또는 블록-기반 분류들 등) 의 양을 감소시키기 위한 기법들이 제안된다. 하나의 일반적인 예로서, 루마 ALF 에 대한 필터 정보가 크로마 ALF 에 대해 이용될 수도 있다. 예를 들어, 루마 ALF 에 대한 필터 정보가 크로마 ALF 에 대한 필터 정보에 대한 예측자로서 카피 또는 이용될 수도 있다.
하나의 예에서, 루마 ALF 에 대한 CU 레벨 온/오프 플래그들의 맵 (즉, 어떤 CU들이 가능한 루마 ALF 를 갖고 있는지를 나타내는 신택스) 이 크로마 ALF 에 의해 이용될 수도 있다. 즉, 크로마 컴포넌트들이 영역 또는 블록-기반 적응적 ALF 를 이용하는 상황들에서, 루마 컴포넌트들에 대한 CU 레벨 ALF 플래그가 또한 크로마 컴포넌트들에 의해 이용될 수도 있다. 이 상황에서, 크로마 ALF 를 이용한다는 판정은 루마 ALF 와는 독립적이지 않다. 그러나, 이용된 실제 필터는 상이할 수도 있다. 예를 들어, 루마 컴포넌트들은 영역-기반 적응적 ALF 에 따라 필터링될 수도 있지만, 크로마 컴포넌트들은 블록-기반 적응적 ALF 에 따라 필터링되고, 또는 그 반대의 경우도 가능하다. 다른 예로서, 루마 및 크로마 컴포넌트들 양쪽은 동일한 타입의 ALF (즉, 영역-기반 또는 블록-기반) 를 이용할 수도 있지만, 상이한 필터 계수들이 루마 및 크로마 컴포넌트들에 대해 결정될 수도 있다.
다른 예에서, 루마 ALF 에 의한 이용을 위해 영역 또는 블록-기반 분류에 따라 결정된 실제 필터 계수들은 또한 크로마 ALF 에 대해 이용될 수도 있다. 이 예에서, 필터 계수들은, 루마 ALF 와 크로마 ALF 양쪽이 각각의 CU 레벨 온/오프 플래그들 (예를 들어, 루마 ALF 플래그 및 크로마 ALF 플래그) 에 의해 가능하게 되는 것으로 나타나는 상황들에서 공유될 수도 있다. 즉, 필터 계수들은, 크로마 ALF 가 루마 ALF 와는 독립적으로 온 및 오프로 되는 것이 가능한 경우라도, 루마 및 크로마 ALF 양쪽이 가능한 상황들에서 공유될 수도 있다. 다른 예에서, 크로마 ALF 가 또한 루마 ALF 의 CU 레벨 온/오프 플래그를 공유하는 예에서, 루마 ALF 의 필터 계수들은 크로마 ALF 에 의해 공유될 수도 있다.
본 개시물의 다른 예에서, 부가적인 필터 정보가 루마 및 크로마 ALF들 간에서 공유될 수도 있다. 예를 들어, 루마 ALF 에 이용되는 블록-기반 분류는 또한 크로마 ALF 에 의해 이용될 수도 있다. 필터 계수들을 공유함에 따라, 크로마 ALF 가 CU 레벨 온/오프 플래그를 루마 ALF 와 공유하는 경우, 또는 크로마 ALF 가 독립적인 CU 레벨 온/오프 플래그를 가질 때, 블록-기반 분류의 공유가 행해질 수도 있다.
또 다른 예에서, 크로마 ALF 에 대한 필터 계수들은 루마 ALF 의 필터 계수들로부터 예측될 수도 있다. 이 예에서, 비디오 인코더에서, 루마 ALF 와 크로마 ALF 양쪽에 대한 필터 계수들은 독립적으로 계산될 수도 있다. 루마 ALF 에 대한 필터 계수들은 그 후에, 인코딩된 비디오 비트스트림에서 시그널링된다. 또한 크로마 ALF 계수들을 시그널링하는 대신에, 루마 ALF 계수들과 크로마 ALF 계수들 사이의 차이가 계산되어 시그널링된다. 루마 및 크로마 ALF 계수들 간의 차이는 일반적으로 크로마 ALF 계수들 그 자체를 시그널링하는 것보다 더 적은 데이터 (예를 들어, 보다 적은 비트) 를 포함하여, 코딩 효율을 개선시킨다. 비디오 디코더에서, 수신된 루마 ALF 계수들과 크로마 ALF 계수들 사이의 차이가, 수신된 루마 ALF 계수들에 부가되어, 크로마 ALF 계수들을 재구성하도록 할 수도 있다. 이 기법은 Cr 및 Cb 컴포넌트들 양쪽이 동일한 필터 계수들을 이용할 때, 또는 Cr 및 Cb 컴포넌트들이 필터 계수들의 상이한 세트들을 이용하는 상황들에서 이용될 수도 있다. Cr 및 Cb 컴포넌트들이 필터 계수들의 상이한 세트들을 이용하는 상황에서, 각각의 세트는 루마 ALF 계수들로부터 예측될 수도 있다.
상술된 바와 같이, 일부 예들에서, 크로마 ALF 는 Cr 크로마 컴포넌트들에 대한 개별 Cr 크로마 ALF 및 Cb 크로마 컴포넌트들에 대한 개별 Cb 크로마 ALF 로 이루어질 수도 있다. 루마 ALF 와 크로마 ALF 사이에서 필터 정보를 공유하는 것에 관련하여 상술된 기법들과 유사하게, 필터 정보는 또한 Cr 및 Cb 크로마 ALF들 간에서 공유될 수도 있다.
하나의 예에서, Cr 크로마 ALF 에 대한 CU 레벨 온/오프 플래그들의 맵 (즉, 어떤 CU들이 가능한 Cr 크로마 ALF 를 갖고 있는지를 나타내는 신택스) 이 Cb 크로마 ALF 에 의해 이용될 수도 있다. 다른 예에서, Cr 크로마 ALF 에 의해 이용된 필터 계수들은 Cb 크로마 ALF 에 이용될 수도 있다. 또 다른 예에서, Cr 크로마 ALF 에 이용된 블록-기반 분류는 Cb 크로마 ALF 에 의해 이용될 수도 있다. 또 다른 예에서, Cb 크로마 ALF 에 대한 필터 계수들은 Cr 크로마 ALF 의 필터 계수들로부터 예측될 수도 있고, 또는 그 반대의 경우도 가능하다.
도 6 은 본 개시물에서 설명된 비디오 코딩 프로세스에서의 적응적 루프 필터링을 위한 기법들을 이용할 수도 있는 비디오 인코더 (20) 의 일 예를 예시한 블록도이다. 비디오 인코더 (20) 는 적응적 루프 필터링을 요구할 수도 있는 다른 코딩 표준들 또는 방법들에 관하여 본 개시물을 제한하는 것이 아니라 예시를 목적으로 HEVC 코딩의 맥락에서 설명될 것이다. 비디오 인코더 (20) 는 비디오 프레임들 내의 CU들의 인트라- 및 인터-코딩을 수행할 수도 있다. 인트라-코딩은 주어진 비디오 프레임 내의 비디오 데이터에서의 공간적 리던던시를 감소 또는 제거하기 위해 공간적 예측에 의존한다. 인터-코딩은 비디오 시퀀스의 현재의 프레임과 이전에 코딩된 프레임들 간의 시간적 리던던시를 감소 또는 제거하기 위해 시간적 예측에 의존한다. 인트라-모드 (I-모드) 는 여러 공간-기반 비디오 압축 모드들 중 임의의 것을 지칭할 수도 있다. 단방향성 예측 (P-모드) 또는 양방향성 예측 (B-모드) 과 같은 인터-모드들은 여러 시간-기반 비디오 압축 모드들 중 임의의 것을 지칭할 수도 있다.
도 6 에 도시한 바와 같이, 비디오 인코더 (20) 는 인코딩될 비디오 프레임 내의 현재의 비디오 블록을 수신한다. 도 6 의 예에서, 비디오 인코더 (20) 는 모션 보상 유닛 (44), 모션 추정 유닛 (42), 인트라-예측 모듈 (46), 참조 프레임 버퍼 (64), 합산기 (50), 변환 모듈 (52), 양자화 유닛 (54), 및 엔트로피 인코딩 유닛 (56) 을 포함한다. 비디오 블록 재구성을 위해, 비디오 인코더 (20) 는 또한 역양자화 유닛 (58), 역변환 모듈 (60), 합산기 (62), 및 ALF 유닛 (43) 을 포함한다. 디블록킹 필터가 또한 재구성된 비디오로부터 블로키니스 아티팩트들을 제거하기 위해 블록 경계들을 필터링하기 위해 포함될 수도 있다. 원한다면, 디블록킹 필터는 통상적으로 합산기 (62) 의 출력을 필터링할 것이다.
인코딩 프로세스 동안, 비디오 인코더 (20) 는 코딩될 비디오 프레임 또는 슬라이스를 수신한다. 프레임 또는 슬라이스는 다수의 비디오 블록들, 예를 들어, 최대 코딩 유닛 (largest coding unit; LCU) 들로 분할될 수도 있다. 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 시간적 압축을 제공하기 위해 하나 이상의 참조 프레임들 내의 하나 이상의 블록들에 대한 수신된 비디오 블록의 인터-예측 코딩을 수행한다. 인트라-예측 모듈 (46) 은 공간적 압축을 제공하기 위해 코딩될 블록과 동일한 프레임 또는 슬라이스 내의 하나 이상의 이웃하는 블록들에 대한 수신된 비디오 블록의 인트라-예측 코딩을 수행할 수도 있다.
모드 선택 유닛 (40) 은, 예를 들어, 각각의 모드에 대한 레이트 왜곡 결과들에 기초하여, 코딩 모드들, 즉, 인트라 또는 인터 중 하나를 선택할 수도 있고, 결과적인 인트라- 또는 인터-예측된 블록 (예를 들어, 예측 유닛 (PU)) 을 합산기 (50) 에 제공하여 잔여 블록 데이터를 발생시키고, 합산기 (62) 에 제공하여 참조 프레임에서의 이용을 위한 인코딩된 블록을 재구성한다. 합산기 (62) 는 아래에 더 상세히 설명된 바와 같이, 인코딩된 블록을 재구성하기 위해 블록에 대한 역변환 모듈 (60) 로부터의 역양자화된, 역변환된 데이터와 예측된 블록을 결합한다. 일부 비디오 프레임들은 I-프레임들로서 지정될 수도 있고, I-프레임 내의 모든 블록들은 인트라-예측 모드에서 인코딩된다. 일부 경우들에서, 인트라-예측 모듈 (46) 은, 예를 들어, 모션 추정 유닛 (42) 에 의해 수행된 모션 탐색이 블록의 충분한 예측을 발생시키지 않을 때, P- 또는 B-프레임 내의 블록의 인트라-예측 인코딩을 수행할 수도 있다.
모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 고도로 통합될 수도 있지만, 개념상의 목적을 위해 개별적으로 예시된다. 모션 추정 (또는 모션 탐색) 은 비디오 블록들에 대한 모션을 추정하는 모션 벡터들을 발생시키는 프로세스이다. 모션 벡터는, 예를 들어, 참조 프레임의 참조 샘플에 대한 현재 프레임 내의 예측 유닛의 변위를 나타낼 수도 있다. 모션 추정 유닛 (42) 은 예측 유닛을 참조 프레임 버퍼 (64) 에 저장된 참조 프레임의 참조 샘플들과 비교함으로써 인터-코딩된 프레임의 예측 유닛에 대한 모션 벡터를 계산한다. 참조 샘플은 SAD (sum of absolute difference), SSD (sum of squared difference), 또는 다른 상이한 메트릭들에 의해 결정될 수도 있는, 픽셀 차이와 관련하여 코딩되는 PU 를 포함하는 CU 의 부분에 가깝게 매칭하는 것으로 확인되는 블록일 수도 있다. 참조 샘플은 반드시 참조 프레임 또는 슬라이스의 블록 (예를 들어, 코딩 유닛) 경계에서 발생하는 것이 아니라 참조 프레임 또는 참조 슬라이스 내의 어디에서나 발생할 수도 있다. 일부 예들에서, 참조 샘플은 프랙셔널 픽셀 포지션에서 발생할 수도 있다.
모션 추정 유닛 (42) 은 계산된 모션 벡터를 엔트로피 인코딩 유닛 (56) 및 모션 보상 유닛 (44) 에 전송한다. 모션 벡터에 의해 식별된 참조 프레임의 부분은 참조 샘플이라고 지칭될 수도 있다. 모션 보상 유닛 (44) 은, 예를 들어, PU 에 대해 모션 벡터에 의해 식별된 참조 샘플을 취출함으로써, 현재의 CU 의 예측 유닛에 대한 예측 값을 계산할 수도 있다.
인트라-예측 모듈 (46) 은 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 수행된 인터-예측에 대한 대안으로서, 수신된 블록을 인트라-예측을 수행할 수도 있다. 인트라-예측 모듈 (46) 은 블록들에 대한 좌-우 (left-to-right), 상-하 (top-to-bottom) 인코딩 순서를 가정하여, 수신된 블록을, 이웃하는 이전에 코딩된 블록들, 예를 들어, 현재 블록의 상위의, 상위의 및 우측의, 상위의 및 좌측의, 또는 좌측의 블록들에 대해 예측할 수도 있다. 인트라-예측 모듈 (46) 은 다양한 상이한 인트라-예측 모드들로 구성될 수도 있다. 예를 들어, 인트라-예측 모듈 (46) 은 인코딩되는 CU 의 사이즈에 기초하여, 소정 수의 방향성 예측 모드들, 예를 들어, 35 개의 방향성 예측 모드들로 구성될 수도 있다.
인트라-예측 모듈 (46) 은, 예를 들어, 다양한 인트라-예측 모드들에 대한 에러 값들을 계산하고 최저 에러 값을 산출하는 모드를 선택함으로써, 인트라-예측 모드를 선택할 수도 있다. 방향성 예측 모드들은 공간적으로 이웃하는 픽셀들의 값들을 결합하고 결합된 값들을 PU 내의 하나 이상의 픽셀 포지션들에 적용하기 위한 기능들을 포함할 수도 있다. 일단 PU 내의 모든 픽셀 포지션들에 대한 값들이 계산되었다면, 인트라-예측 모듈 (46) 은 PU 와 인코딩될 수신된 블록 간의 픽셀 차이들에 기초하여 예측 모드에 대한 에러 값을 계산할 수도 있다. 인트라-예측 모듈 (46) 은, 허용가능한 에러 값을 산출하는 인트라-예측 모드가 발견될 때까지 인트라-예측 모드들을 계속 테스트하고 있을 수도 있다. 인트라-예측 모듈 (46) 은 그 후에 PU 를 합산기 (50) 에 전송할 수도 있다.
비디오 인코더 (20) 는 코딩될 오리지널 비디오 블록으로부터 모션 보상 유닛 (44) 또는 인트라-예측 모듈 (46) 에 의해 계산된 예측 데이터를 감산함으로써 잔여 블록을 형성한다. 합산기 (50) 는 이 감산 연산을 수행하는 컴포넌트 또는 컴포넌트들을 표현한다. 잔여 블록은 픽셀 차이 값들의 2 차원 매트릭스에 대응할 수도 있고, 여기서 잔여 블록 내의 값들의 수는 잔여 블록에 대응하는 PU 내의 픽셀들의 수와 동일하다. 잔여 블록 내의 값들은 코딩될 오리지널 블록 내의 그리고 PU 내의 동일한 위치의 (co-located) 픽셀들의 값들 간의 차이들, 즉, 에러에 대응할 수도 있다. 그 차이들은 코딩되는 블록의 타입에 따라 크로마 또는 루마 차이들일 수도 있다.
변환 모듈 (52) 은 잔여 블록으로부터 하나 이상의 변환 유닛 (TU) 들을 형성할 수도 있다. 변환 모듈 (52) 은 복수의 변환들 중에서 변환을 선택한다. 변환은 블록 사이즈, 코딩 모드 등과 같은 하나 이상의 코딩 특성들에 기초하여 선택될 수도 있다. 변환 모듈 (52) 은 그 후에, 선택된 변환을 TU 에 적용하여, 변환 계수들의 2 차원 어레이를 포함하는 비디오 블록을 생성한다. 변환 모듈 (52) 은 선택된 변환 파티션을 인코딩된 비디오 비트스트림에서 시그널링할 수도 있다.
변환 모듈 (52) 은 결과적인 변환 계수들을 양자화 유닛 (54) 에 전송할 수도 있다. 양자화 유닛 (54) 은 그 후에 변환 계수들을 양자화할 수도 있다. 엔트로피 인코딩 유닛 (56) 은 그 후에 스캐닝 모드에 따라 매트릭스 내의 양자화된 변환 계수들의 스캔을 수행할 수도 있다. 본 개시물은 엔트로피 인코딩 유닛 (56) 이 스캔을 수행하고 있는 것으로서 설명한다. 그러나, 다른 예들에서, 양자화 유닛 (54) 과 같은 다른 프로세싱 유닛들이 스캔을 수행할 수 있다는 것이 이해되어야 한다.
일단 변환 계수들이 1 차원 어레이로 스캐닝되면, 엔트로피 인코딩 유닛 (56) 은 CAVLC, CABAC, 신택스-기반 콘텍스트-적응적 이진 산술 코딩 (SBAC), 또는 다른 엔트로피 코딩 방법론과 같은 엔트로피 코딩을 계수들에 적용할 수도 있다.
CAVLC 를 수행하기 위해, 엔트로피 인코딩 유닛 (56) 은 송신될 심볼에 대한 가변 길이 코드를 선택할 수도 있다. VLC 에서의 코드워드들은 비교적 보다 짧은 코드들이 더 가능성 있는 심볼들에 대응하는 한편, 보다 긴 코드들이 덜 가능성 있는 심볼들에 대응하도록 구성될 수도 있다. 이렇게 하여, VLC 의 이용은, 예를 들어, 송신될 각각의 심볼에 대해 동일-길이 코드워드들을 이용하는 것을 통해 비트 절약을 달성할 수도 있다.
CABAC 를 수행하기 위해, 엔트로피 인코딩 유닛 (56) 은 송신될 심볼들을 인코딩하기 위해 소정의 콘텍스트에 적용할 콘텍스트 모델을 선택할 수도 있다. 콘텍스트는, 예를 들어, 이웃하는 값들이 0 이 아닌지 여부와 관련될 수도 있다. 엔트로피 인코딩 유닛 (56) 은 또한, 선택된 변환을 나타내는 신호와 같은 신택스 엘리먼트들을 엔트로피 인코딩할 수도 있다. 본 개시물의 기법들에 따르면, 엔트로피 인코딩 유닛 (56) 은, 예를 들어, 콘텍스트 모델 선택을 위해 이용되는 다른 팩터들 중에서, 인트라-예측 모드들에 대한 인트라-예측 방향, 신택스 엘리먼트들에 대응하는 계수의 스캔 포지션, 블록 타입, 및/또는 변환 타입에 기초하여 이들 신택스 엘리먼트들을 인코딩하는데 이용되는 콘텍스트 모델을 선택할 수도 있다.
엔트로피 인코딩 유닛 (56) 에 의한 엔트로피 코딩에 후속하여, 결과적인 인코딩된 비디오는 비디오 디코더 (30) 와 같은 다른 디바이스에 송신되거나, 또는 추후 송신 또는 취출을 위해 아카이브될 수도 있다.
일부 경우들에서, 엔트로피 인코딩 유닛 (56) 또는 비디오 인코더 (20) 의 다른 유닛은 엔트로피 코딩에 더하여, 다른 코딩 기능들을 수행하도록 구성될 수도 있다. 예를 들어, 엔트로피 인코딩 유닛 (56) 은 CU들 및 PU들에 대한 코딩된 블록 패턴 (CBP) 값들을 결정하도록 구성될 수도 있다. 또한, 일부 경우들에서, 엔트로피 인코딩 유닛 (56) 은 계수들의 런 길이 코딩을 수행할 수도 있다.
역양자화 유닛 (58) 및 역변환 모듈 (60) 은 각각 역양자화 및 역변환을 적용하여, 예를 들어, 참조 블록으로서의 추후 이용을 위해 픽셀 도메인에서의 잔여 블록을 재구성한다. 모션 보상 유닛 (44) 은 잔여 블록을 참조 프레임 버퍼 (64) 의 프레임들 중 하나의 프레임의 예측 블록에 부가함으로써 참조 블록을 계산할 수도 있다. 모션 보상 유닛 (44) 은 또한 재구성된 잔여 블록에 하나 이상의 보간 필터들을 적용하여 모션 추정에 이용하기 위한 서브-정수 픽셀 값들을 계산할 수도 있다. 합산기 (62) 는 재구성된 잔여 블록을 모션 보상 유닛 (44) 에 의해 생성된 모션 보상된 예측 블록에 부가하여 재구성된 비디오 블록을 생성한다.
ALF 유닛 (43) 은 그 후에, 상술된 기법들에 따른 적응적 루프 필터링을 수행할 수도 있다. 하나의 예에서, ALF 유닛 (43) 은 영역 또는 블록-기반 분류 기법들을 이용하여 재구성된 블록의 크로마 컴포넌트들에 대한 필터 계수들을 결정하도록 구성될 수도 있다. 다른 예에서, 크로마 ALF 를 적용한다는 판정은 CU 레벨에서 이루어질 수도 있고, 루마 컴포넌트들에 ALF 를 적용한다는 판정과는 독립적으로 이루어질 수도 있다. 루마 및 크로마 컴포넌트들 양쪽에 대해 결정된 실제 ALF 필터 정보는 인코딩된 비디오 비트스트림에서 시그널링될 수도 있다. 필터 정보는, 실제 필터 계수들, 필터 계수들을 나타내는 인덱스, 블록 또는 영역-기반 분류들, 및/또는 CU 레벨 온/오프 판정 플래그들을 포함할 수도 있다. 일부 예들에서, 크로마 ALF 필터 계수들은 루마 ALF 필터 계수들로부터 예측될 수도 있다.
필터링되는 재구성된 비디오 블록은 그 후에 참조 프레임 버퍼 (64) 에 저장된다. 재구성된 비디오 블록은 후속하는 비디오 프레임에서의 블록을 인터-코딩하기 위한 참조 블록으로서 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 이용될 수도 있다.
도 7 은 인코딩된 비디오 시퀀스를 디코딩하는 비디오 디코더 (30) 의 일 예를 예시한 블록도이다. 도 7 의 예에서, 비디오 디코더 (30) 는 엔트로피 디코딩 유닛 (70), 모션 보상 유닛 (72), 인트라-예측 모듈 (74), 역양자화 유닛 (76), 역변환 유닛 (78), 참조 프레임 버퍼 (82), ALF 유닛 (79) 및 합산기 (80) 를 포함한다. 비디오 디코더 (30) 는, 일부 예들에서, 비디오 인코더 (20) (도 6 참조) 에 대하여 설명된 인코딩 패스 (encoding pass) 와 일반적으로 상호적인 디코딩 패스를 수행할 수도 있다.
엔트로피 디코딩 유닛 (70) 은 인코딩된 비트스트림에 대해 엔트로피 디코딩 프로세스를 수행하여 변환 계수들의 1 차원 어레이를 취출한다. 이용되는 엔트로피 디코딩 프로세스는 비디오 인코더 (20) 에 의해 이용되는 엔트로피 코딩 (예를 들어, CABAC, CAVLC 등) 에 의존한다. 인코더에 의해 이용되는 엔트로피 코딩 프로세스는 인코딩된 비트스트림에서 시그널링될 수도 있고 또는 미리 결정된 프로세스일 수도 있다.
일부 예들에서, 엔트로피 디코딩 유닛 (70) (또는 역양자화 유닛 (76)) 은 비디오 인코더 (20) 의 엔트로피 인코딩 유닛 (56) (또는 양자화 유닛 (54)) 에 의해 이용되는 스캐닝 모드를 미러링하는 스캔을 이용하여 수신된 값들을 스캐닝할 수도 있다. 계수들의 스캐닝이 역양자화 유닛 (76) 에서 수행될 수도 있지만, 스캐닝은 예시를 목적으로 엔트로피 디코딩 유닛 (70) 에 의해 수행되는 것으로서 설명될 것이다. 또한, 예시의 용이함을 위해 개별의 기능적 유닛들로서 도시하고 있지만, 엔트로피 디코딩 유닛 (70), 역양자화 유닛 (76), 및 비디오 디코더 (30) 의 다른 유닛들의 구조 및 기능성은 서로 고도로 통합될 수도 있다.
역양자화 유닛 (76) 은 비트스트림으로 제공되고 엔트로피 디코딩 유닛 (70) 에 의해 디코딩된 양자화된 변환 계수들을 역양자화, 즉 양자화해제 (de-quantize) 한다. 역양자화 프로세스는, 예를 들어, HEVC 에 대해 제안되거나 또는 H.264 디코딩 표준에 의해 정의된 프로세스들과 유사한 종래의 프로세스를 포함할 수도 있다. 역양자화 프로세스는 양자화의 정도, 그리고 마찬가지로 적용되어야 하는 역양자화의 정도를 결정하기 위해 CU 에 대해 비디오 인코더 (20) 에 의해 계산된 양자화 파라미터 QP 의 이용을 포함할 수도 있다. 역양자화 유닛 (76) 은 계수들이 1 차원 어레이로부터 2 차원 어레이로 컨버팅되기 전이나 또는 후에 변환 계수들을 역양자화할 수도 있다.
역변환 모듈 (78) 은 역양자화된 변환 계수들에 역변환을 적용한다. 일부 예들에서, 역변환 모듈 (78) 은 비디오 인코더 (20) 로부터의 시그널링에 기초하여, 또는 블록 사이즈, 코딩 모드 등과 같은 하나 이상의 코딩 특성들로부터 변환을 추론함으로써 역변환을 결정할 수도 있다. 일부 예들에서, 역변환 모듈 (78) 은 현재 블록을 포함하는 LCU 에 대한 쿼드트리 (quadtree) 의 루트 노드에서의 시그널링된 변환에 기초하여 현재 블록에 적용할 변환을 결정할 수도 있다. 대안적으로, 변환은 LCU 쿼드트리 내의 리프-노드 CU 에 대해 TU 쿼드트리의 루트에서 시그널링될 수도 있다. 일부 예들에서, 역변환 모듈 (78) 은 캐스케이드된 역변환을 적용할 수도 있으며, 여기서 역변환 모듈 (78) 은 디코딩되는 현재 블록의 변환 계수들에 2 개 이상의 역변환들을 적용한다.
인트라-예측 모듈 (74) 은 시그널링된 인트라-예측 모드 및 현재 프레임의 이전에 디코딩된 블록들로부터의 데이터에 기초하여 현재 프레임의 현재 블록에 대한 예측 데이터를 발생시킬 수도 있다.
취출된 모션 예측 방향, 참조 프레임 인덱스, 및 계산된 현재 모션 벡터에 기초하여, 모션 보상 유닛은 현재 부분에 대한 모션 보상된 블록을 생성한다. 이들 모션 보상된 블록들은 본질적으로 잔여 데이터를 생성하는데 이용되는 예측 블록을 재생성한다.
모션 보상 유닛 (72) 은 모션 보상된 블록들을 생성하여, 가능하게는 보간 필터들에 기초하여 보간을 수행할 수도 있다. 서브-픽셀 정밀도를 가진 모션 추정을 위해 이용될 보간 필터들에 대한 식별자들이 신택스 엘리먼트들에 포함될 수도 있다. 모션 보상 유닛 (72) 은 참조 블록의 서브-정수 픽셀들에 대한 보간된 값들을 계산하기 위해 비디오 블록의 인코딩 동안 비디오 인코더 (20) 에 의해 이용된 보간 필터들을 이용할 수도 있다. 모션 보상 유닛 (72) 은 수신된 신택스 정보에 따라 비디오 인코더 (20) 에 의해 이용되는 보간 필터들을 결정하고 그 보간 필터들을 이용하여 예측 블록들을 생성할 수도 있다.
부가적으로, 모션 보상 유닛 (72) 및 인트라-예측 모듈 (74) 은, HEVC 예에서, (예를 들어, 쿼드트리에 의해 제공되는) 신택스 정보의 일부를 이용하여 인코딩된 비디오 시퀀스의 프레임(들)을 인코딩하는데 이용되는 LCU들의 사이즈들을 결정할 수도 있다. 모션 보상 유닛 (72) 및 인트라-예측 모듈 (74) 은 또한, 신택스 정보를 이용하여 인코딩된 비디오 시퀀스의 프레임의 각각의 CU 가 분할되는 방법 (그리고 마찬가지로, 서브-CU들이 분할되는 방법) 을 설명하는 분할 정보 (split information) 를 결정할 수도 있다. 신택스 정보는 또한, 각각의 분할이 인코딩되는 방법을 나타내는 모드들 (예를 들어, 인트라- 또는 인터-예측, 및 인트라-예측의 경우, 인트라-예측 인코딩 모드), 각각의 인터-인코딩된 PU 에 대한 하나 이상의 참조 프레임들 (및/또는 참조 프레임들에 대한 식별자들을 포함하는 참조 리스트들), 및 인코딩된 비디오 시퀀스를 디코딩하기 위한 다른 정보를 포함할 수도 있다.
합산기 (80) 는 잔여 블록들을 모션 보상 유닛 (72) 또는 인트라-예측 모듈 (74) 에 의해 발생된 대응하는 예측 블록들과 결합하여 디코딩된 블록들을 형성한다. ALF 유닛 (79) 은 그 후에 상술된 기법들에 따른 적응적 루프 필터링을 수행한다. 하나의 예에서, ALF 유닛 (79) 은 영역 또는 블록-기반 분류 기법들을 이용하여 재구성된 블록의 크로마 컴포넌트들에 대한 필터 계수들을 결정하도록 구성될 수도 있다. 다른 예에서, 크로마 ALF 를 적용한다는 판정은 CU 레벨에서 이루어질 수도 있고, 루마 컴포넌트들에 ALF 를 적용한다는 판정과는 독립적으로 이루어질 수도 있다. 루마 및 크로마 컴포넌트들 양쪽에 대해 결정된 실제 ALF 필터 정보는 인코딩된 비디오 비트스트림에서 수신될 수도 있다. 필터 정보는, 실제 필터 계수들, 필터 계수들을 나타내는 인덱스, 블록 또는 영역-기반 분류들, 및/또는 CU 레벨 온/오프 판정 플래그들을 포함할 수도 있다. 일부 예들에서, 크로마 ALF 필터 계수들은 루마 ALF 필터 계수들로부터 예측될 수도 있다.
원한다면, 디블록킹 필터는 또한 블로키니스 아티팩트들을 제거하기 위해 디코딩된 블록들을 필터링하도록 적용될 수도 있다. 디코딩된 비디오 블록들은 그 후에 참조 프레임 버퍼 (82) 에 저장되고, 이 참조 프레임 버퍼 (82) 는 후속 모션 보상을 위해 참조 블록들을 제공하고 또한 디스플레이 디바이스 (예컨대, 도 1 의 디스플레이 디바이스 (32)) 상에의 프리젠테이션을 위해 디코딩된 비디오를 생성한다.
도 8 은 본 개시물의 기법들에 따른 일 예시적인 비디오 인코딩 방법을 나타낸 흐름도이다. 도 8 에 나타낸 방법은, ALF 유닛 (43) 을 포함하는, 비디오 인코더 (20) 의 하나 이상의 기능 유닛들에 의해 수행될 수도 있다. 비디오 인코더 (20) 는 비디오 데이터를 인코딩하여 인코딩된 비디오 데이터를 생성하고 (820), 인코딩된 비디오 데이터를 재구성하여 재구성된 비디오 데이터를 생성하도록 (822) 구성될 수도 있다. 재구성된 비디오 데이터는 픽셀들의 하나 이상의 블록들을 포함할 수도 있다.
본 개시물의 기법들에 따르면, 하나의 옵션적인 예에서, 비디오 인코더 (20) 는 픽셀들의 블록 상에서 루마 적응적 루프 필터링을 수행하는 것으로 결정하고, 픽셀들의 블록 상에서 크로마 적응적 루프 필터링을 수행하는 것으로 결정하도록 구성될 수도 있고, 여기서 크로마 적응적 루프 필터링을 수행하는 것으로 결정하는 것은 루마 적응적 루프 필터링을 수행하는 것으로 결정하는 것과는 독립적으로 수행된다 (824). 크로마 적응적 루프 필터링을 수행하는 것으로 결정하는 것은, 크로마 컴포넌트들에 대한 크로마 CU 레벨 ALF 온/오프 플래그의 값을 결정하는 것을 포함할 수도 있다. 본 개시물의 다른 예들에서, 루마 및 크로마 적응적 루프 필터링이 함께 수행된다. 이 경우, 개별의 크로마 CU 레벨 ALF 온/오프 플래그가 결정되고 시그널링될 필요는 없지만, 그 대신에, 크로마 ALF 는 루마 CU 레벨 ALF 온/오프 플래그를 공유할 수도 있다.
비디오 인코더 (20) 는 또한, 픽셀들의 블록의 루마 컴포넌트들에 대한 루마 적응적 루프 필터링을 수행하고, 픽셀들의 블록의 크로마 컴포넌트들에 대한 크로마 적응적 루프 필터링을 수행하도록 구성될 수도 있고, 여기서 루마 적응적 루프 필터링과 크로마 적응적 루프 필터링 양쪽에 대한 필터 계수들은 블록-기반 모드 또는 영역-기반 모드로부터 유도된다 (826). 단지 단일 ALF 를 이용하기보다는 오히려, 크로마 적응적 루프 필터링이 영역 또는 블록-기반 모드 분류들에 기초하여 수행되게 함으로써, 크로마 컴포넌트들에 대한 ALF 를 수행함에 있어서 보다 많은 유연성이 달성된다. 크로마 컴포넌트들에 대한 영역 또는 블록-기반 기법들은 단지 4:2:0 크로마 서브-샘플링 포맷들로 제한되지 않고, 4:2:0, 4:2:2 또는 4:4:4 포맷을 포함하는 임의의 크로마 포맷에 적용될 수도 있다.
비디오 인코더 (20) 는 또한, 루마 적응적 필터링에 관련된 필터 정보와 크로마 적응적 루프 필터링에 관련된 필터 정보 중 하나 이상을, 예를 들어, 신택스 엘리먼트들로서 인코딩된 비디오 비트스트림에서 시그널링하도록 구성될 수도 있다 (828). 필터 정보는 CU 레벨 온/오프 플래그, 필터 계수들, 및/또는 블록-기반 분류를 포함할 수도 있다. 일부 예들에서, 루마 및 크로마 ALF 양쪽에 대한 필터 정보는 개별적으로 시그널링된다. 다른 예들에서, 루마 ALF 의 필터 정보는 크로마 ALF 에 대해 공유된다. 즉, 단지 루마 ALF 정보가 결정되고 시그널링되며, 크로마 ALF 는 동일한 정보를 비디오 인코더와 비디오 디코더 양쪽에서 이용한다. 다른 예들에서, 크로마 ALF 는 Cr 컴포넌트 ALF 와 Cb 컴포넌트 ALF 양쪽으로 이루어진다. 이 예에서, 하나의 Cr 또는 Cb 컴포넌트의 필터 정보는 다른 하나의 컴포넌트의 ALF 와 공유될 수도 있다.
본 개시물의 다른 예들에서, 크로마 ALF 계수들 전체를 시그널링하기보다는 오히려, 크로마 ALF 에 대한 필터 계수들이 루마 ALF 로부터 예측된다. 이에 따라, 크로마 계수들에 대한 필터 정보를 시그널링하는 것은 루마 ALF 계수들, 및 루마 ALF 계수들과 크로마 ALF 계수들 사이의 차이들을 시그널링하는 것을 포함할 수도 있다. 이러한 방식으로, 주어진 크로마 계수에 대한 차이를 대응하는 루마 계수의 값에 가산함으로써 크로마 계수의 값이 획득될 수 있다.
도 9 는 본 개시물의 기법들에 따른 일 예시적인 비디오 디코딩 방법을 나타낸 흐름도이다. 도 9 에 나타낸 방법은, ALF 유닛 (79) 을 포함하는, 비디오 디코더 (30) 의 하나 이상의 기능 유닛들에 의해 수행될 수도 있다. 비디오 디코더 (30) 는 루마 ALF 에 관련된 필터 정보와 크로마 ALF 에 관련된 필터 정보 중 하나 이상을 수신하고 (920), 인코딩된 비디오 데이터를 수신하며 (922), 인코딩된 비디오 데이터를 디코딩하여 디코딩된 비디오 데이터를 생성하도록 (924) 구성될 수도 있다. 재구성된 비디오 데이터는 픽셀들의 하나 이상의 블록들을 포함할 수도 있다.
수신된 필터 정보는 CU 레벨 온/오프 플래그, 필터 계수들, 및/또는 블록-기반 분류를 포함할 수도 있다. 일부 예들에서, 루마 및 크로마 ALF 양쪽에 대한 필터 정보는 개별적으로 수신된다. 다른 예들에서, 루마 ALF 의 필터 정보는 크로마 ALF 에 대해 공유된다. 즉, 단지 루마 ALF 정보가 수신되며, 크로마 ALF 는 동일한 정보를 비디오 디코더에서 이용한다. 다른 예들에서, 크로마 ALF 는 Cr 컴포넌트 ALF 와 Cb 컴포넌트 ALF 양쪽으로 이루어진다. 이 예에서, 하나의 Cr 또는 Cb 컴포넌트의 필터 정보는 다른 하나의 컴포넌트의 ALF 와 공유될 수도 있다.
본 개시물의 다른 예들에서, 크로마 ALF 계수들 전체를 수신하기보다는 오히려, 크로마 ALF 에 대한 필터 계수들이 루마 ALF 로부터 예측된다. 이에 따라, 필터 정보를 수신하는 것은 루마 ALF 계수들, 및 루마 ALF 계수들과 크로마 ALF 계수들 사이의 차이들을 수신하는 것을 포함할 수도 있다. 수신된 차이를 수신된 루마 ALF 계수들에 가산함으로써 크로마 ALF 계수들이 재구성될 수도 있다.
본 개시물의 기법들에 따르면, 하나의 옵션적인 예에서, 비디오 인코더 (30) 는 픽셀들의 블록 상에서 루마 적응적 루프 필터링을 수행하는 것으로 결정하고, 픽셀들의 블록 상에서 크로마 적응적 루프 필터링을 수행할지 여부를 결정하도록 구성될 수도 있고, 여기서 크로마 적응적 루프 필터링을 수행하는 것으로 결정하는 것은 루마 적응적 루프 필터링을 수행하는 것으로 결정하는 것과는 독립적으로 수행된다 (926). 크로마 적응적 루프 필터링을 수행하는 것으로 결정하는 것은, 크로마 컴포넌트들에 대한 수신된 크로마 CU 레벨 ALF 온/오프 플래그의 값을 결정하는 것을 포함할 수도 있다. 본 개시물의 다른 예들에서, 루마 및 크로마 적응적 루프 필터링이 함께 수행된다. 이 경우, 개별의 크로마 CU 레벨 ALF 온/오프 플래그가 수신되지 않지만, 그 대신에, 크로마 ALF 는 수신된 루마 CU 레벨 ALF 온/오프 플래그를 공유하여 크로마 ALF 를 수행할지 여부의 결정을 행할 수도 있다.
비디오 디코더 (30) 는 또한, 픽셀들의 블록의 루마 컴포넌트들에 대한 루마 적응적 루프 필터링을 수행하고, 픽셀들의 블록의 크로마 컴포넌트들에 대한 크로마 적응적 루프 필터링을 수행하도록 구성될 수도 있고, 여기서 루마 적응적 루프 필터링과 크로마 적응적 루프 필터링 양쪽에 대한 필터 계수들은 블록-기반 모드 또는 영역-기반 모드로부터 유도된다 (928). 단지 단일 ALF 를 이용하기보다는 오히려, 크로마 적응적 루프 필터링이 영역 또는 블록-기반 모드 분류들에 기초하여 수행되게 함으로써, 크로마 컴포넌트들에 대한 ALF 를 수행함에 있어서 보다 많은 유연성이 달성된다. 크로마 컴포넌트들에 대한 영역 또는 블록-기반 기법들은 단지 4:2:0 크로마 서브-샘플링 포맷들로 제한되지 않고, 4:2:0, 4:2:2 또는 4:4:4 포맷을 포함하는 임의의 크로마 포맷에 적용될 수도 있다. 크로마 ALF 에 대해 이용된 실제 필터 계수들, 또는 영역 또는 블록-기반 분류는, 수신된 필터 정보의 부분으로서 인코딩된 비디오 비트스트림에 나타낼 수도 있다.
하나 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현된다면, 그 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상에 저장 또는 송신되고 하드웨어 기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체는 데이터 저장 매체와 같은 유형의 매체, 또는, 예를 들어, 통신 프로토콜에 따라 일 장소로부터 타 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체에 대응하는 컴퓨터 판독가능 저장 매체를 포함할 수도 있다. 이러한 방식으로, 컴퓨터 판독가능 매체는 일반적으로 (1) 비일시적인 유형의 컴퓨터 판독가능 저장 매체 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체는 본 개시물에 설명된 기법들의 구현을 위해 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수도 있다.
제한이 아닌 일 예로, 이러한 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 저장, 자기 디스크 저장, 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 이용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체라 적절히 지칭된다. 예를 들어, 명령들이 동축 케이블, 광섬유 케이블, 트위스티드 페어, 디지털 가입자 회선 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신된다면, 매체의 정의에는, 동축 케이블, 광섬유 케이블, 트위스티드 페어, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들이 포함된다. 그러나, 컴퓨터 판독가능 저장 매체 및 데이터 저장 매체가 접속들, 반송파들, 신호들, 또는 다른 일시적 매체를 포함하지 않고, 대신에 비일시적, 유형의 저장 매체와 관련된다는 것이 이해되어야 한다. 디스크 (disk) 및 디스크 (disc) 는, 여기에 사용된 바와 같이, 콤팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루-레이 디스크를 포함하며, 여기서 디스크 (disk) 들은 보통 데이터를 자기적으로 재생시키는 한편, 디스크 (disc) 들은 레이저를 이용하여 데이터를 광학적으로 재생시킨다. 위의 조합들이 또한 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 디지털 신호 프로세서 (DSP) 들, 범용 마이크로프로세서들, 주문형 집적 회로 (ASIC) 들, 필드 프로그램가능 로직 어레이 (FPGA) 들, 또는 다른 등가의 통합된 또는 별개의 로직 회로부와 같은 하나 이상의 프로세서들에 의해 실행될 수도 있다. 이에 따라, 용어 "프로세서" 는, 여기에 사용된 바와 같이, 전술한 구조 또는 여기에 설명된 기법들의 구현에 적합한 임의의 다른 구조 중 임의의 것을 지칭할 수도 있다. 또한, 일부 양태들에서, 여기에 설명된 기능성은 인코딩 및 디코딩을 위해 구성된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공되거나, 또는 결합된 코덱 내에 통합될 수도 있다. 또한, 기법들은 하나 이상의 회로들 또는 로직 엘리먼트들 내에 완전히 구현될 수 있다.
본 개시물의 기법들은 무선 핸드셋, 집적 회로 (IC) 또는 IC들의 세트 (예를 들어, 칩 세트) 를 포함하는, 다양한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 컴포넌트들, 모듈들, 또는 유닛들은 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위해 본 개시물에서 설명되지만, 반드시 상이한 하드웨어 유닛들에 의한 실현을 요구하지는 않는다. 오히려, 상술된 바와 같이, 다양한 유닛들은 적합한 소프트웨어 및/또는 펌웨어와 함께, 상술된 바와 같이 하나 이상의 프로세서들을 포함하는, 코덱 하드웨어 유닛에 결합되거나 또는 상호운용적 하드웨어 유닛들의 콜렉션에 의해 제공될 수도 있다.
다양한 예들이 설명되었다. 이들 및 다른 예들은 다음의 청구항들의 범위 내에 있다.

Claims (46)

  1. 비디오 코딩 프로세스에서의 적응적 루프 필터링의 방법으로서,
    픽셀들의 블록의 루마 컴포넌트들에 대한 루마 적응적 루프 필터링을 수행하는 단계;
    상기 픽셀들의 블록의 크로마 컴포넌트들에 대한 크로마 적응적 루프 필터링을 수행하는 단계; 및
    블록-기반 분류 모드와 영역-기반 분류 모드 중 하나에 기초하여 상기 루마 적응적 루프 필터링과 상기 크로마 적응적 루프 필터링 양쪽에 대한 필터 계수들을 유도하는 단계
    를 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링의 방법.
  2. 제 1 항에 있어서,
    상기 픽셀들의 블록의 상기 루마 및 크로마 컴포넌트들은, 4:2:0, 4:2:2 또는 4:4:4 포맷인, 비디오 코딩 프로세스에서의 적응적 루프 필터링의 방법.
  3. 제 1 항에 있어서,
    상기 픽셀들의 블록 상에서 루마 적응적 루프 필터링을 수행할지 여부를 결정하는 단계; 및
    상기 픽셀들의 블록 상에서 크로마 적응적 루프 필터링을 수행할지 여부를 결정하는 단계
    를 더 포함하고,
    상기 크로마 적응적 루프 필터링을 수행할지 여부를 결정하는 단계는, 상기 루마 적응적 루프 필터링을 수행할지 여부를 결정하는 단계와는 독립적으로 수행되는, 비디오 코딩 프로세스에서의 적응적 루프 필터링의 방법.
  4. 제 3 항에 있어서,
    상기 크로마 적응적 루프 필터링을 수행하는 것으로 결정하는 것은, CU 레벨 ALF 온/오프 플래그의 값을 결정하는 것을 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링의 방법.
  5. 제 1 항에 있어서,
    상기 크로마 적응적 루프 필터링을 위해 상기 루마 적응적 루프 필터링의 필터 정보를 공유하는 단계를 더 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링의 방법.
  6. 제 5 항에 있어서,
    상기 필터 정보는, CU 레벨 온/오프 플래그, 필터 계수들, 및/또는 블록-기반 분류를 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링의 방법.
  7. 제 1 항에 있어서,
    상기 루마 적응적 루프 필터링을 위한 필터 계수들로부터 상기 크로마 적응적 루프 필터링을 위한 필터 계수들을 예측하는 단계를 더 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링의 방법.
  8. 제 7 항에 있어서,
    상기 크로마 적응적 루프 필터링을 위한 필터 계수들을 예측하는 단계는, 상기 루마 적응적 루프 필터링을 위한 필터 계수들로부터 크로마 필터 계수들을 감산하여 차이를 생성하는 단계를 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링의 방법.
  9. 제 1 항에 있어서,
    상기 크로마 적응적 루프 필터링을 수행하는 단계는,
    상기 픽셀들의 블록의 Cr 크로마 컴포넌트들에 대한 Cr 크로마 적응적 루프 필터링을 수행하는 단계, 및
    상기 픽셀들의 블록의 Cb 크로마 컴포넌트들에 대한 Cb 크로마 적응적 루프 필터링을 수행하는 단계
    를 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링의 방법.
  10. 제 9 항에 있어서,
    상기 Cb 크로마 적응적 루프 필터링을 위해 상기 Cr 크로마 적응적 루프 필터링의 필터 정보를 공유하는 단계를 더 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링의 방법.
  11. 제 10 항에 있어서,
    상기 필터 정보는, CU 레벨 온/오프 맵, 필터 계수들, 및/또는 블록-기반 분류를 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링의 방법.
  12. 제 11 항에 있어서,
    상기 CU 레벨 온/오프 맵은 CU 레벨 온/오프 플래그의 값들을 포함하고,
    1 의 값을 갖는 CU 레벨 온/오프 플래그는, ALF 가 상기 픽셀들의 블록에 대해 수행된다는 것을 나타내며,
    0 의 값을 갖는 CU 레벨 온/오프 플래그는, ALF 가 상기 픽셀들의 블록에 대해 수행되지 않는다는 것을 나타내는, 비디오 코딩 프로세스에서의 적응적 루프 필터링의 방법.
  13. 제 9 항에 있어서,
    상기 Cr 크로마 적응적 루프 필터링을 위한 필터 계수들로부터 상기 Cb 크로마 적응적 루프 필터링을 위한 필터 계수들을 예측하는 단계를 더 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링의 방법.
  14. 제 1 항에 있어서,
    상기 비디오 코딩 프로세스는 비디오 인코딩 프로세스이고,
    상기 방법은,
    비디오 데이터를 인코딩하여 인코딩된 비디오 데이터를 생성하는 단계;
    상기 인코딩된 비디오 데이터를 재구성하여 재구성된 비디오 데이터를 생성하는 단계로서, 상기 픽셀들의 블록은 재구성된 비디오 데이터인, 상기 재구성된 비디오 데이터를 생성하는 단계; 및
    상기 루마 적응적 필터링에 관련된 필터 정보와 상기 크로마 적응적 루프 필터링에 관련된 필터 정보 중 하나 이상을 시그널링하는 단계
    를 더 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링의 방법.
  15. 제 1 항에 있어서,
    상기 비디오 코딩 프로세스는 비디오 디코딩 프로세스이고,
    상기 방법은,
    상기 루마 적응적 필터링에 관련된 필터 정보와 상기 크로마 적응적 루프 필터링에 관련된 필터 정보 중 하나 이상을 수신하는 단계;
    인코딩된 비디오 데이터를 수신하는 단계; 및
    상기 인코딩된 비디오 데이터를 디코딩하여 디코딩된 비디오 데이터를 생성하는 단계로서, 상기 픽셀들의 블록은 디코딩된 비디오 데이터인, 상기 디코딩된 비디오 데이터를 생성하는 단계
    를 더 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링의 방법.
  16. 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치로서,
    비디오 코더
    를 포함하고,
    상기 비디오 코더는,
    픽셀들의 블록의 루마 컴포넌트들에 대한 루마 적응적 루프 필터링을 수행하고;
    상기 픽셀들의 블록의 크로마 컴포넌트들에 대한 크로마 적응적 루프 필터링을 수행하며;
    블록-기반 분류 모드와 영역-기반 분류 모드 중 하나에 기초하여 상기 루마 적응적 루프 필터링과 상기 크로마 적응적 루프 필터링 양쪽에 대한 필터 계수들을 유도하도록
    구성되는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  17. 제 16 항에 있어서,
    상기 픽셀들의 블록의 상기 루마 및 크로마 컴포넌트들은, 4:2:0, 4:2:2 또는 4:4:4 포맷인, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  18. 제 16 항에 있어서,
    상기 비디오 코더는 또한,
    상기 픽셀들의 블록 상에서 루마 적응적 루프 필터링을 수행할지 여부를 결정하고;
    상기 픽셀들의 블록 상에서 크로마 적응적 루프 필터링을 수행할지 여부를 결정하도록
    구성되고,
    상기 크로마 적응적 루프 필터링을 수행할지 여부를 결정하는 것은, 상기 루마 적응적 루프 필터링을 수행할지 여부를 결정하는 것과는 독립적으로 수행되는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  19. 제 18 항에 있어서,
    상기 비디오 코더는 또한,
    CU 레벨 ALF 온/오프 플래그의 값을 결정하도록 구성되는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  20. 제 16 항에 있어서,
    상기 비디오 코더는 또한,
    상기 크로마 적응적 루프 필터링을 위해 상기 루마 적응적 루프 필터링의 필터 정보를 공유하도록 구성되는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  21. 제 20 항에 있어서,
    상기 필터 정보는, CU 레벨 온/오프 플래그, 필터 계수들, 및/또는 블록-기반 분류를 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  22. 제 16 항에 있어서,
    상기 비디오 코더는 또한,
    상기 루마 적응적 루프 필터링을 위한 필터 계수들로부터 상기 크로마 적응적 루프 필터링을 위한 필터 계수들을 예측하도록 구성되는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  23. 제 22 항에 있어서,
    상기 비디오 코더는 또한,
    상기 루마 적응적 루프 필터링을 위한 필터 계수들로부터 크로마 필터 계수들을 감산하여 차이를 생성하도록 구성되는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  24. 제 16 항에 있어서,
    상기 비디오 코더는 또한,
    상기 픽셀들의 블록의 Cr 크로마 컴포넌트들에 대한 Cr 크로마 적응적 루프 필터링을 수행하고, 상기 픽셀들의 블록의 Cb 크로마 컴포넌트들에 대한 Cb 크로마 적응적 루프 필터링을 수행하도록 구성되는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  25. 제 24 항에 있어서,
    상기 비디오 코더는 또한,
    상기 Cb 크로마 적응적 루프 필터링을 위해 상기 Cr 크로마 적응적 루프 필터링의 필터 정보를 공유하도록 구성되는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  26. 제 25 항에 있어서,
    상기 필터 정보는, CU 레벨 온/오프 맵, 필터 계수들, 및/또는 블록-기반 분류를 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  27. 제 26 항에 있어서,
    상기 CU 레벨 온/오프 맵은 CU 레벨 온/오프 플래그의 값들을 포함하고,
    1 의 값을 갖는 CU 레벨 온/오프 플래그는, ALF 가 상기 픽셀들의 블록에 대해 수행된다는 것을 나타내며,
    0 의 값을 갖는 CU 레벨 온/오프 플래그는, ALF 가 상기 픽셀들의 블록에 대해 수행되지 않는다는 것을 나타내는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  28. 제 24 항에 있어서,
    상기 비디오 코더는 또한,
    상기 Cr 크로마 적응적 루프 필터링을 위한 필터 계수들로부터 상기 Cb 크로마 적응적 루프 필터링을 위한 필터 계수들을 예측하도록 구성되는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  29. 제 16 항에 있어서,
    상기 비디오 코더는 비디오 인코더이고,
    상기 비디오 인코더는 또한,
    비디오 데이터를 인코딩하여 인코딩된 비디오 데이터를 생성하고;
    상기 인코딩된 비디오 데이터를 재구성하여 재구성된 비디오 데이터를 생성하는 것으로서, 상기 픽셀들의 블록은 재구성된 비디오 데이터인, 상기 재구성된 비디오 데이터를 생성하며;
    상기 루마 적응적 필터링에 관련된 필터 정보와 상기 크로마 적응적 루프 필터링에 관련된 필터 정보 중 하나 이상을 시그널링하도록
    구성되는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  30. 제 16 항에 있어서,
    상기 비디오 코더는 비디오 디코더이고,
    상기 비디오 디코더는 또한,
    상기 루마 적응적 필터링에 관련된 필터 정보와 상기 크로마 적응적 루프 필터링에 관련된 필터 정보 중 하나 이상을 수신하고;
    인코딩된 비디오 데이터를 수신하며;
    상기 인코딩된 비디오 데이터를 디코딩하여 디코딩된 비디오 데이터를 생성하는 것으로서, 상기 픽셀들의 블록은 디코딩된 비디오 데이터인, 상기 디코딩된 비디오 데이터를 생성하도록
    구성되는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  31. 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치로서,
    픽셀들의 블록의 루마 컴포넌트들에 대한 루마 적응적 루프 필터링을 수행하는 수단;
    상기 픽셀들의 블록의 크로마 컴포넌트들에 대한 크로마 적응적 루프 필터링을 수행하는 수단; 및
    블록-기반 분류 모드와 영역-기반 분류 모드 중 하나에 기초하여 상기 루마 적응적 루프 필터링과 상기 크로마 적응적 루프 필터링 양쪽에 대한 필터 계수들을 유도하는 수단
    을 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  32. 제 31 항에 있어서,
    상기 픽셀들의 블록의 상기 루마 및 크로마 컴포넌트들은, 4:2:0, 4:2:2 또는 4:4:4 포맷인, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  33. 제 31 항에 있어서,
    상기 픽셀들의 블록 상에서 루마 적응적 루프 필터링을 수행할지 여부를 결정하는 수단; 및
    상기 픽셀들의 블록 상에서 크로마 적응적 루프 필터링을 수행할지 여부를 결정하는 수단
    을 더 포함하고,
    상기 크로마 적응적 루프 필터링을 수행할지 여부를 결정하는 것은, 상기 루마 적응적 루프 필터링을 수행할지 여부를 결정하는 것과는 독립적으로 수행되는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  34. 제 33 항에 있어서,
    상기 크로마 적응적 루프 필터링을 수행하는 것으로 결정하는 수단은, CU 레벨 ALF 온/오프 플래그의 값을 결정하는 수단을 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  35. 제 31 항에 있어서,
    상기 크로마 적응적 루프 필터링을 위해 상기 루마 적응적 루프 필터링의 필터 정보를 공유하는 수단을 더 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  36. 제 35 항에 있어서,
    상기 필터 정보는, CU 레벨 온/오프 플래그, 필터 계수들, 및/또는 블록-기반 분류를 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  37. 제 31 항에 있어서,
    상기 루마 적응적 루프 필터링을 위한 필터 계수들로부터 상기 크로마 적응적 루프 필터링을 위한 필터 계수들을 예측하는 수단을 더 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  38. 제 37 항에 있어서,
    상기 크로마 적응적 루프 필터링을 위한 필터 계수들을 예측하는 수단은, 상기 루마 적응적 루프 필터링을 위한 필터 계수들로부터 크로마 필터 계수들을 감산하여 차이를 생성하는 수단을 포함하는, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 장치.
  39. 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 실행될 때, 비디오 코딩 프로세스에서의 적응적 루프 필터링을 수행하도록 구성된 디바이스의 하나 이상의 프로세서들로 하여금,
    픽셀들의 블록의 루마 컴포넌트들에 대한 루마 적응적 루프 필터링을 수행하게 하고;
    상기 픽셀들의 블록의 크로마 컴포넌트들에 대한 크로마 적응적 루프 필터링을 수행하게 하며;
    블록-기반 분류 모드와 영역-기반 분류 모드 중 하나에 기초하여 상기 루마 적응적 루프 필터링과 상기 크로마 적응적 루프 필터링 양쪽에 대한 필터 계수들을 유도하게 하는, 컴퓨터 판독가능 저장 매체.
  40. 제 39 항에 있어서,
    상기 픽셀들의 블록의 상기 루마 및 크로마 컴포넌트들은, 4:2:0, 4:2:2 또는 4:4:4 포맷인, 컴퓨터 판독가능 저장 매체.
  41. 제 39 항에 있어서,
    상기 명령들은 또한, 상기 하나 이상의 프로세서들로 하여금,
    상기 픽셀들의 블록 상에서 루마 적응적 루프 필터링을 수행할지 여부를 결정하게 하고;
    상기 픽셀들의 블록 상에서 크로마 적응적 루프 필터링을 수행할지 여부를 결정하게 하며,
    상기 크로마 적응적 루프 필터링을 수행할지 여부를 결정하는 것은, 상기 루마 적응적 루프 필터링을 수행할지 여부를 결정하는 것과는 독립적으로 수행되는, 컴퓨터 판독가능 저장 매체.
  42. 제 41 항에 있어서,
    상기 크로마 적응적 루프 필터링을 수행하는 것으로 결정하는 것은, CU 레벨 ALF 온/오프 플래그의 값을 결정하는 것을 포함하는, 컴퓨터 판독가능 저장 매체.
  43. 제 39 항에 있어서,
    상기 명령들은 또한, 상기 하나 이상의 프로세서들로 하여금,
    상기 크로마 적응적 루프 필터링을 위해 상기 루마 적응적 루프 필터링의 필터 정보를 공유하게 하는, 컴퓨터 판독가능 저장 매체.
  44. 제 43 항에 있어서,
    상기 필터 정보는, CU 레벨 온/오프 플래그, 필터 계수들, 및/또는 블록-기반 분류를 포함하는, 컴퓨터 판독가능 저장 매체.
  45. 제 39 항에 있어서,
    상기 명령들은 또한, 상기 하나 이상의 프로세서들로 하여금,
    상기 루마 적응적 루프 필터링을 위한 필터 계수들로부터 상기 크로마 적응적 루프 필터링을 위한 필터 계수들을 예측하게 하는, 컴퓨터 판독가능 저장 매체.
  46. 제 45 항에 있어서,
    상기 크로마 적응적 루프 필터링을 위한 필터 계수들을 예측하는 것은, 상기 루마 적응적 루프 필터링을 위한 필터 계수들로부터 크로마 필터 계수들을 감산하여 차이를 생성하는 것을 포함하는, 컴퓨터 판독가능 저장 매체.
KR1020147013447A 2011-10-21 2012-10-18 크로마 컴포넌트에 대한 적응적 루프 필터링 KR101617107B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161550259P 2011-10-21 2011-10-21
US61/550,259 2011-10-21
US13/653,950 US9807403B2 (en) 2011-10-21 2012-10-17 Adaptive loop filtering for chroma components
US13/653,950 2012-10-17
PCT/US2012/060814 WO2013059461A1 (en) 2011-10-21 2012-10-18 Adaptive loop filtering for chroma components

Publications (2)

Publication Number Publication Date
KR20140079498A true KR20140079498A (ko) 2014-06-26
KR101617107B1 KR101617107B1 (ko) 2016-04-29

Family

ID=48135967

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147013447A KR101617107B1 (ko) 2011-10-21 2012-10-18 크로마 컴포넌트에 대한 적응적 루프 필터링

Country Status (6)

Country Link
US (1) US9807403B2 (ko)
EP (1) EP2769548A1 (ko)
JP (1) JP5922245B2 (ko)
KR (1) KR101617107B1 (ko)
CN (1) CN103891293B (ko)
WO (1) WO2013059461A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019194647A1 (ko) * 2018-04-06 2019-10-10 가온미디어 주식회사 필터 정보 기반의 적응적 루프 필터링 방법, 그를 이용한 영상 부호화 및 복호화 방법
WO2021040483A1 (ko) * 2019-08-29 2021-03-04 엘지전자 주식회사 영상 코딩 장치 및 방법
WO2021194223A1 (ko) * 2020-03-23 2021-09-30 주식회사 케이티 비디오 신호 처리 방법 및 장치
US11575890B2 (en) 2019-05-16 2023-02-07 Lg Electronics Inc. Image encoding/decoding method and device for signaling filter information on basis of chroma format, and method for transmitting bitstream

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012092841A1 (en) 2011-01-03 2012-07-12 Mediatek Inc. Method of filter-unit based in-loop filtering
KR101156667B1 (ko) 2011-12-06 2012-06-14 주식회사 에이디알에프코리아 통신 시스템의 필터 계수 설정 방법
US9380302B2 (en) * 2012-02-27 2016-06-28 Texas Instruments Incorporated Sample adaptive offset (SAO) parameter signaling
WO2014052731A2 (en) 2012-09-28 2014-04-03 Vid Scale, Inc. Cross-plane filtering for chroma signal enhancement in video coding
US9743091B2 (en) * 2012-12-17 2017-08-22 Lg Electronics Inc. Method for encoding/decoding image, and device using same
CN105264888B (zh) 2014-03-04 2018-09-14 微软技术许可有限责任公司 用于对色彩空间、色彩采样率和/或比特深度自适应切换的编码策略
KR102203111B1 (ko) 2014-03-04 2021-01-13 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 컬러 공간, 컬러 샘플링 레이트 및/또는 비트 깊이의 적응적 전환
EP3123716B1 (en) 2014-03-27 2020-10-28 Microsoft Technology Licensing, LLC Adjusting quantization/scaling and inverse quantization/scaling when switching color spaces
US10687069B2 (en) 2014-10-08 2020-06-16 Microsoft Technology Licensing, Llc Adjustments to encoding and decoding when switching color spaces
US10158836B2 (en) * 2015-01-30 2018-12-18 Qualcomm Incorporated Clipping for cross-component prediction and adaptive color transform for video coding
WO2016168529A1 (en) * 2015-04-17 2016-10-20 Vid Scale, Inc. Chroma enhancement filtering for high dynamic range video coding
EP3142363A1 (en) * 2015-09-08 2017-03-15 Thomson Licensing Methods and devices for encoding and decoding a sequence of pictures, and corresponding computer program product and computer-readable medium
US20170085886A1 (en) * 2015-09-18 2017-03-23 Qualcomm Incorporated Variable partition size for block prediction mode for display stream compression (dsc)
US10382766B2 (en) * 2016-05-09 2019-08-13 Qualcomm Incorporated Signalling of filtering information
US11095922B2 (en) * 2016-08-02 2021-08-17 Qualcomm Incorporated Geometry transformation-based adaptive loop filtering
CN109565604A (zh) * 2016-12-30 2019-04-02 华为技术有限公司 图像滤波方法、装置以及设备
WO2018170801A1 (zh) * 2017-03-22 2018-09-27 华为技术有限公司 图像滤波方法及装置
US10440396B2 (en) * 2017-03-28 2019-10-08 Qualcomm Incorporated Filter information sharing among color components
US10645408B2 (en) * 2017-09-17 2020-05-05 Google Llc Dual deblocking filter thresholds
CN115941941A (zh) 2017-11-29 2023-04-07 韩国电子通信研究院 采用环内滤波的图像编码/解码方法和装置
JP2019114896A (ja) * 2017-12-22 2019-07-11 ソニー株式会社 画像処理装置及び画像処理方法
GB2573797A (en) * 2018-05-17 2019-11-20 Canon Kk A filter
CN118018746A (zh) * 2018-09-05 2024-05-10 华为技术有限公司 色度块预测方法以及设备
CN112997500B (zh) * 2018-11-09 2023-04-18 北京字节跳动网络技术有限公司 对基于区域的自适应环路滤波器的改进
CN116781915A (zh) * 2018-12-13 2023-09-19 华为技术有限公司 色度块的预测方法和装置
KR20210129151A (ko) 2019-03-07 2021-10-27 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 루프 필터링 구현 방법 및 장치
CN118118666A (zh) * 2019-03-08 2024-05-31 佳能株式会社 自适应环路滤波器
US11683487B2 (en) * 2019-03-26 2023-06-20 Qualcomm Incorporated Block-based adaptive loop filter (ALF) with adaptive parameter set (APS) in video coding
WO2020216177A1 (en) 2019-04-20 2020-10-29 Beijing Bytedance Network Technology Co., Ltd. Signaling of chroma and luma syntax elements in video coding
US11368684B2 (en) * 2019-04-23 2022-06-21 Qualcomm Incorporated Adaptation parameter sets (APS) for adaptive loop filter (ALF) parameters
US11019334B2 (en) 2019-05-17 2021-05-25 Qualcomm Incorporated Multiple adaptive loop filter sets for video coding
WO2020239119A1 (en) * 2019-05-30 2020-12-03 Beijing Bytedance Network Technology Co., Ltd. Adaptive loop filtering for chroma components
MX2022000207A (es) * 2019-06-27 2022-03-22 Hfi Innovation Inc Método y aparato de filtracion de bucle adaptable con componente cruzado para codificación de video.
CN114424531A (zh) * 2019-07-08 2022-04-29 Lg电子株式会社 基于环路内滤波的视频或图像编码
WO2021006621A1 (ko) * 2019-07-08 2021-01-14 엘지전자 주식회사 적응적 루프 필터 기반 비디오 또는 영상 코딩
WO2021006624A1 (ko) 2019-07-08 2021-01-14 엘지전자 주식회사 적응적 루프 필터를 적용하는 비디오 또는 영상 코딩
WO2021006654A1 (ko) * 2019-07-09 2021-01-14 엘지전자 주식회사 적응적 루프 필터 기반 비디오 또는 영상 코딩
WO2021027773A1 (en) 2019-08-10 2021-02-18 Beijing Bytedance Network Technology Co., Ltd. Subpicture size definition in video processing
MX2022001989A (es) * 2019-08-16 2022-05-11 Huawei Tech Co Ltd Restricciones de aps de alf en la codificación de vídeo.
AU2020337710B2 (en) * 2019-08-29 2024-01-11 Lg Electronics Inc. Apparatus and method for image coding based on filtering
CN114600466A (zh) * 2019-08-29 2022-06-07 Lg电子株式会社 基于交叉分量滤波的图像编码设备和方法
EP4014497A4 (en) 2019-09-14 2022-11-30 ByteDance Inc. QUANTIZE PARAMETER FOR CHROMINANCE UNBLOCKING FILTERING
US11343493B2 (en) * 2019-09-23 2022-05-24 Qualcomm Incorporated Bit shifting for cross-component adaptive loop filtering for video coding
CN112584179B (zh) * 2019-09-27 2023-03-28 腾讯美国有限责任公司 视频编解码方法、计算机系统以及可读存储介质
BR112022006387A2 (pt) 2019-10-02 2022-07-26 Beijing Bytedance Network Tech Co Ltd Método e aparelho de processamento de vídeo, e, meio legível por computador
WO2021072177A1 (en) * 2019-10-09 2021-04-15 Bytedance Inc. Cross-component adaptive loop filtering in video coding
CN114586370B (zh) 2019-10-14 2024-01-23 字节跳动有限公司 在视频编解码中使用色度量化参数的方法、装置及介质
EP4032290A4 (en) 2019-10-18 2022-11-30 Beijing Bytedance Network Technology Co., Ltd. SYNTAX CONSTRAINTS IN REPORTING SUBPICTURE PARAMETER SETS
KR20220084060A (ko) * 2019-10-29 2022-06-21 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 크로스 컴포넌트 적응적 루프 필터의 시그널링
EP4064702A4 (en) * 2019-11-22 2023-12-27 Electronics and Telecommunications Research Institute METHOD AND DEVICE FOR ADAPTIVE LOOP FILTERING
WO2021118977A1 (en) 2019-12-09 2021-06-17 Bytedance Inc. Using quantization groups in video coding
CN114902657A (zh) 2019-12-31 2022-08-12 字节跳动有限公司 视频编解码中的自适应颜色变换
CN115152226A (zh) * 2020-03-26 2022-10-04 交互数字Vc控股法国公司 视频编码中的信令编码参数
KR20220137999A (ko) * 2020-04-03 2022-10-12 에스지 디제이아이 테크놀러지 코., 엘티디 비디오 인코딩, 디코딩 방법, 장치 및 저장 매체
US11792412B2 (en) * 2020-04-15 2023-10-17 Qualcomm Incorporated Adaptive loop filtering for color format support
CN111866506A (zh) * 2020-06-07 2020-10-30 咪咕文化科技有限公司 图像编码方法、装置、设备及可读存储介质
CN111654710B (zh) * 2020-06-07 2022-06-03 咪咕文化科技有限公司 图像滤波方法、装置、设备及存储介质
WO2024016981A1 (en) * 2022-07-20 2024-01-25 Mediatek Inc. Method and apparatus for adaptive loop filter with chroma classifier for video coding
WO2024058595A1 (ko) * 2022-09-16 2024-03-21 주식회사 케이티 영상 부호화/복호화 방법 및 비트스트림을 저장하는 기록 매체
WO2024067188A1 (en) * 2022-09-28 2024-04-04 Mediatek Inc. Method and apparatus for adaptive loop filter with chroma classifiers by transpose indexes for video coding

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004071022A1 (ja) 2003-02-03 2004-08-19 Sony Corporation 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータプログラム
US7376277B2 (en) * 2004-06-15 2008-05-20 Pegasus Imaging Corporation Data transform for improved compression of multicomponent images
CN101076124B (zh) 2006-05-18 2010-09-08 北京大学深圳研究生院 去块滤波器
US8270472B2 (en) * 2007-11-09 2012-09-18 Thomson Licensing Methods and apparatus for adaptive reference filtering (ARF) of bi-predictive pictures in multi-view coded video
KR20090129926A (ko) 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
MX2010014289A (es) 2008-07-04 2011-01-21 Toshiba Kk Metodo y dispositivo para codificar/descodificar imagen dinamica.
WO2010076856A1 (ja) 2009-01-05 2010-07-08 株式会社 東芝 動画像符号化方法及び動画像復号化方法
EP2237557A1 (en) 2009-04-03 2010-10-06 Panasonic Corporation Coding for filter coefficients
DK2663076T3 (en) 2009-04-20 2016-12-05 Dolby Laboratories Licensing Corp Filter Selection for video preprocessing of video applications
KR101757947B1 (ko) 2009-10-05 2017-07-13 톰슨 라이센싱 비디오 인코딩 및 디코딩에서의 크로마 성분에 대한 예측 픽셀의 적응성 필터링을 위한 방법 및 장치
KR101750046B1 (ko) 2010-04-05 2017-06-22 삼성전자주식회사 트리 구조에 따른 부호화 단위에 기반한 인루프 필터링을 수반하는 비디오 부호화 방법과 그 장치 및 복호화 방법과 그 장치
EP2559238B1 (en) 2010-04-13 2015-06-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Adaptive image filtering method and apparatus
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
US8861617B2 (en) 2010-10-05 2014-10-14 Mediatek Inc Method and apparatus of region-based adaptive loop filtering
US10080016B2 (en) 2011-01-14 2018-09-18 Sony Corporation Codeword space reduction for intra chroma mode signaling for HEVC
WO2013042884A1 (ko) * 2011-09-19 2013-03-28 엘지전자 주식회사 영상 부호화/복호화 방법 및 그 장치
US20130113880A1 (en) 2011-11-08 2013-05-09 Jie Zhao High Efficiency Video Coding (HEVC) Adaptive Loop Filter

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
EHSAN MAANI et al: 'Parametric Adaptive Loop Filter',JCT-VC Meeting, 16-3-2011 ~23-3-2011 *
YAMAKAGE T et al: "Description of Core Experiment (CE8) : Non-deblocking loop filtering",14-7-2011, JCTVC-F908. *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019194647A1 (ko) * 2018-04-06 2019-10-10 가온미디어 주식회사 필터 정보 기반의 적응적 루프 필터링 방법, 그를 이용한 영상 부호화 및 복호화 방법
US11575890B2 (en) 2019-05-16 2023-02-07 Lg Electronics Inc. Image encoding/decoding method and device for signaling filter information on basis of chroma format, and method for transmitting bitstream
US12010303B2 (en) 2019-05-16 2024-06-11 Lg Electronics Inc. Image encoding/decoding method and device for signaling filter information on basis of chroma format, and method for transmitting bitstream
WO2021040483A1 (ko) * 2019-08-29 2021-03-04 엘지전자 주식회사 영상 코딩 장치 및 방법
AU2020335843B2 (en) * 2019-08-29 2024-01-11 Lg Electronics Inc. Apparatus and method for coding image
US11962767B2 (en) 2019-08-29 2024-04-16 Lg Electronics Inc. Apparatus and method for coding image
WO2021194223A1 (ko) * 2020-03-23 2021-09-30 주식회사 케이티 비디오 신호 처리 방법 및 장치

Also Published As

Publication number Publication date
CN103891293A (zh) 2014-06-25
KR101617107B1 (ko) 2016-04-29
EP2769548A1 (en) 2014-08-27
US9807403B2 (en) 2017-10-31
JP2014533012A (ja) 2014-12-08
US20130101018A1 (en) 2013-04-25
CN103891293B (zh) 2018-02-06
JP5922245B2 (ja) 2016-05-24
WO2013059461A1 (en) 2013-04-25

Similar Documents

Publication Publication Date Title
KR101617107B1 (ko) 크로마 컴포넌트에 대한 적응적 루프 필터링
US9699472B2 (en) Restriction of prediction units in B slices to uni-directional inter prediction
KR101607788B1 (ko) 비디오 코딩에서 슬라이스 경계들 또는 타일 경계들 주위의 루프 필터링
AU2012273399B2 (en) Unified merge mode and adaptive motion vector prediction mode candidates selection
KR101547745B1 (ko) 모션 벡터 예측
CA2839687C (en) Parallelization friendly merge candidates for video coding
KR101640973B1 (ko) 매핑된 변환들 및 스캐닝 모드들을 이용한 비디오 코딩
JP2016201808A (ja) ビデオ・コーディングにおける非正方形変換ユニットおよび予測ユニット
KR20150090172A (ko) 비디오 코딩에 있어서 제약된 인트라 블록 경계들에 걸친 루프 필터링
WO2013063117A1 (en) Determining boundary strength values for deblocking filtering for video coding
EP3883244A1 (en) Inter-frame prediction method and related device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee