KR101641808B1 - 비디오 코딩에서 적응 루프 필터 및 샘플 적응 오프셋에 대한 최대 코딩 유닛 (lcu) 또는 파티션-기반 신택스 - Google Patents

비디오 코딩에서 적응 루프 필터 및 샘플 적응 오프셋에 대한 최대 코딩 유닛 (lcu) 또는 파티션-기반 신택스 Download PDF

Info

Publication number
KR101641808B1
KR101641808B1 KR1020147017634A KR20147017634A KR101641808B1 KR 101641808 B1 KR101641808 B1 KR 101641808B1 KR 1020147017634 A KR1020147017634 A KR 1020147017634A KR 20147017634 A KR20147017634 A KR 20147017634A KR 101641808 B1 KR101641808 B1 KR 101641808B1
Authority
KR
South Korea
Prior art keywords
information
sao
alf
partitions
sets
Prior art date
Application number
KR1020147017634A
Other languages
English (en)
Other versions
KR20140098209A (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 KR20140098209A publication Critical patent/KR20140098209A/ko
Application granted granted Critical
Publication of KR101641808B1 publication Critical patent/KR101641808B1/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/115Selection of the code volume for a coding unit prior to coding
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods 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 set of transform coefficients
    • 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
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive 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
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 개시물은 비디오 코딩 프로세스에서 샘플 적응 오프셋 (SAO) 프로세스들을 수행하기 위한 기법들에 관한 것이다. 비디오 코더는 SAO 정보의 세트들을 저장할 수도 있다. SAO 정보는 오프셋 값들을 나타내는 데이터를 포함할 수도 있다. 비디오 코더는 또한, 비디오 데이터의 프레임의 하나 이상의 시퀀스 파티션들에 대한 SAO 정보의 세트들 중 적어도 일부를 맵핑하는 맵핑 정보를 저장할 수도 있다. 부가적으로, 비디오 코더는 저장된 SAO 정보 및 저장된 맵핑 정보에 기초하여 프레임의 파티션들 중 하나에 대해 SAO 프로세스들을 수행할 수도 있다.

Description

비디오 코딩에서 적응 루프 필터 및 샘플 적응 오프셋에 대한 최대 코딩 유닛 (LCU) 또는 파티션-기반 신택스{LARGEST CODING UNIT (LCU) OR PARTITION-BASED SYNTAX FOR ADAPTIVE LOOP FILTER AND SAMPLE ADAPTIVE OFFSET IN VIDEO CODING}
본 출원은 2011 년 11월 28일자로 출원된 미국 가출원 제 61/564,215 호에 우선권을 주장하며, 그 전체 내용은 참조로서 본원에 포함된다.
기술적 분야
본 개시물은 비디오 코딩, 보다 구체적으로는 비디오 코딩 프로세서에서 샘플 적응 오프셋 (sample adaptive offset; SAO) 또는 적응 루프 필터 (adaptive loop filter; ALF) 프로세스들을 수행하기 위한 기법들에 관한 것이다.
디지털 비디오 능력들은 디지털 텔레비전들, 디지털 다이렉트 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, 개인 휴대 정보 단말기들 (personal digital assistants; PDAs), 랩톱 또는 데스크톱 컴퓨터들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 무선 전화기들, 비디오 원격 화상 회의 디바이스들 (video teleconferencing devices), 등을 포함하는 광범위한 디바이스들 내에 포함될 수 있다. 디지털 비디오 디바이스들은 MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Part 10, 고급 비디오 코딩 (Advanced Video Coding; AVC), 현재 개발되고 있는 고효율 비디오 코딩 (High Efficiency Video Coding; HEVC) 표준, 및 이러한 표준들의 확장들에 의해 정의된 표준들에 기술되어 있는 것과 같은 비디오 압축 기법들을 구현하여, 디지털 비디오 정보를 더 효율적으로 송신, 수신 및 저장한다.
비디오 압축 기법들은 공간 예측 및/또는 시간 예측을 포함하여 비디오 시퀀스들 내에 내재된 리던던시 (redundancy) 를 감소시키거나 제거한다. 블록-기반 비디오 코딩에서는, 비디오 프레임 또는 슬라이스는 비디오 블록들로 파티셔닝 (partitioning) 될 수도 있다. 각각의 블록은 더 파티셔닝될 수도 있다. 인트라-코딩된 (I) 프레임 또는 슬라이스 내의 블록들은 동일한 프레임 또는 슬라이스 내의 이웃하는 블록들 내의 참조 샘플들에 대한 공간 예측을 사용하여 인코딩된다. 인터-코딩된 (P 또는 B) 프레임 또는 슬라이스 내의 블록들은 동일한 프레임 또는 슬라이스 내의 이웃하는 블록들 내의 참조 샘플들에 대한 공간 예측 또는 다른 참조 프레임들 내의 참조 샘플들에 대한 시간 예측을 사용할 수도 있다. 공간 또는 시간 예측은 코딩될 블록에 대한 예측 블록을 발생시킨다. 잔여 데이터는 코딩될 오리지널 블록과 예측 블록 간의 픽셀 차이들을 나타낸다.
인터-코딩된 블록은 예측 블록을 형성하는 참조 샘플들의 블록을 가리키는 모션 벡터, 및 코딩된 블록과 예측 블록 간의 차이를 나타내는 잔여 데이터에 따라 인코딩된다. 인트라-코딩된 블록은 인트라-코딩 모드 및 잔여 데이터에 따라 인코딩된다. 추가의 압축을 위해, 잔여 데이터는 픽셀 도메인으로부터 변환 도메인으로 변환될 수도 있어서, 잔여 변환 계수들을 발생시키고, 이 잔여 변환 계수들은 그 후에 양자화될 수도 있다. 먼저, 2차원 어레이로 배열된 양자화된 변환 계수들이 특정 순서로 스캐닝되어 엔트로피 코딩을 위한 변환 계수들의 1차원 벡터를 생성할 수도 있다.
일반적으로, 본 개시물은 비디오 데이터를 코딩하기 위한 기법들을 설명한다. 특히, 본 개시물은 비디오 코딩 프로세스에서 샘플 적응 오프셋 (SAO) 및 적응 루프 필터 (ALF) 프로세스들을 수행하기 위한 기법들을 설명한다. 일부 예들에서, 본 개시물은 ALF 및 SAO 프로세스들에서의 사용을 위한 최대 코딩 유닛 (LCU) 기반, 또는 다른 파티션 기반 신택스를 설명한다.
LCU- 또는 파티션-기반 신택스를 지원하기 위해, 비디오 코더 (즉, 비디오 인코더 또는 디코더) 는 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자의 세트들을 저장할 수도 있다. ALF 정보의 세트들은 필터 계수들의 세트들을 포함할 수도 있다. SAO 정보의 세트들은 오프셋 값들을 포함할 수도 있다. 맵핑 정보는 ALF 및/또는 SAO 정보의 세트들과, LCU 들 및/또는 파티션들 간의 맵핑을 나타낼 수도 있다. 이 정보는 본 개시물의 다양한 예들에 따라 다양한 상이한 방식들로 조직될 수도 있다.
일 예에서, 본 개시물은 비디오 코딩 프로세스에서 샘플 적응 오프셋 (SAO) 프로세스들을 수행하는 방법을 설명하고, 방법은 SAO 정보의 세트들을 저장하는 단계로서, SAO 정보는 오프셋 값들을 나타내는 데이터를 포함하는, 상기 SAO 정보의 세트들을 저장하는 단계, 비디오 데이터의 프레임의 하나 이상의 시퀀스 파티션들에 대한 SAO 정보의 세트들 중 적어도 일부를 맵핑하는 맵핑 정보를 저장하는 단계, 및 저장된 SAO 정보 및 저장된 맵핑 정보에 기초하여 프레임의 파티션들 중 하나에 대해 SAO 프로세스들을 수행하는 단계를 포함한다.
다른 예에서, 본 개시물은 비디오 코딩 프로세스에서 적응 루프 필터 (ALF), 샘플 적응 오프셋 (SAO) 프로세스들, 또는 ALF 및 SAO 프로세싱 양자를 수행하기 위한 비디오 코더를 설명하고, 비디오 코더는 메모리 및 프로세서를 포함하는데, 이 프로세서는: SAO 정보의 세트들을 메모리에 저장하는 것으로서, SAO 정보는 오프셋 값들을 나타내는 데이터를 포함하는, 상기 SAO 정보의 세트들을 저장하고, 비디오 데이터의 프레임의 하나 이상의 시퀀스 파티션들에 대한 SAO 정보의 세트들 중 적어도 일부를 맵핑하는 맵핑 정보를 메모리에 저장하며, 저장된 SAO 정보 및 저장된 맵핑 정보에 기초하여 프레임의 파티션들 중 하나에 대해 SAO 오프세팅을 수행하도록 구성된다.
다른 예에서, 본 개시물은 비디오 코딩 프로세스에서 샘플 적응 오프셋 (SAO) 프로세스들을 수행하기 위한 비디오 코더를 설명하고, 비디오 코더는 SAO 정보의 세트들을 저장하기 위한 수단으로서, SAO 오프셋 정보는 오프셋 값들을 나타내는 데이터를 포함하는, 상기 SAO 정보의 세트들을 저장하기 위한 수단, 비디오 데이터의 프레임의 하나 이상의 시퀀스 파티션들에 대한 SAO 정보의 세트들 중 적어도 일부를 맵핑하는 맵핑 정보를 저장하기 위한 수단, 및 저장된 SAO 정보 및 저장된 맵핑 정보에 기초하여 프레임의 파티션들 중 하나에 대한 SAO 프로세스들을 수행하기 위한 수단을 포함한다.
일 예에서, 본 개시물은 명령들을 저장하고 있는 컴퓨터 판독가능 저장 매체를 설명한다. 명령들은, 실행되는 경우 디바이스의 하나 이상의 프로세서들로 하여금, SAO 정보의 세트들을 저장하는 것으로서, SAO 정보는 오프셋 값들을 나타내는 데이터를 포함하는, 상기 SAO 정보의 세트들을 저장하게 하며, 비디오 데이터의 프레임의 하나 이상의 시퀀스 파티션들에 대한 SAO 정보의 세트들 중 적어도 일부를 맵핑하는 맵핑 정보를 저장하게 한다.
하나 이상의 예들의 상세들은 이하의 첨부 도면들 및 상세한 설명에서 기술된다. 다른 피처들, 오브젝트들, 및 이점들이 상세한 설명 및 도면들로부터, 그리고 청구항들로부터 명백해질 것이다.
도 1 은 필터 (ALF, SAO, 또는 양자) 정보 및 맵핑 정보를, 이러한 정보의 LCU 기반 코딩을 위해 코딩하는 방법의 예를 나타내는 개념도이다.
도 2 는 필터 (ALF, SAO, 또는 양자) 정보 및 맵핑 정보를, 이러한 정보의 프레임 기반 또는 슬라이스 기반 코딩을 위해 코딩하는 방법의 예를 나타내는 개념도이다.
도 3 은 예시의 비디오 인코딩 및 디코딩 시스템을 나타내는 블록도이다.
도 4 는 예시의 비디오 인코더를 나타내는 블록도이다.
도 5 는 예시의 비디오 디코더를 나타내는 블록도이다.
도 6 은 본 개시물에 설명된 하나 이상의 예들에 따라 비디오 코딩 프로세스에서 적응 루프 필터 (ALF), 샘플 적응 오프셋 (SAO) 프로세스들, 또는 ALF 및 SAO 프로세싱 양자 모두를 수행하는 예시의 방법을 나타내는 플로우차트이다.
도 7 은 본 개시물에 설명된 하나 이상의 예들에 따른 비디오 인코더에서 구현된 예시의 방법을 나타내는 플로우차트이다.
도 8 은 본 개시물에 설명된 하나 이상의 예들에 따른 비디오 디코더에서 구현된 예시의 방법을 나타내는 플로우차트이다.
일반적으로, 본 개시물은 비디오 코딩, 및 보다 구체적으로는 비디오 코딩 프로세스에서 샘플 적응 오프셋 (SAO) 또는 적응 루프 필터 (ALF) 프로세스들을 수행하기 위한 기법들을 설명한다. 일부 예들에서, 본 개시물은 ALF 및 SAO 프로세스들에서의 사용을 위해 최대 코딩 유닛 (largest coding unit; LCU) 기반, 또는 다른 파티션 기반 신택스의 사용을 설명한다. LCU-기반 또는 다른 파티션-기반 신택스를 지원하기 위해, 비디오 코더 (즉, 비디오 인코더 또는 비디오 디코더) 는 프로세싱 데이터의 세트들, 예를 들어 ALF 계수 정보, SAO 정보, 또는 프로세싱 데이터의 세트들과 LCU 의 파티션, 다른 파티션, 또는 LCU 의 파티션과 다른 파티션 양자 간의 맵핑을 나타내는 맵핑 정보를 저장할 수도 있다.
예를 들어, 비디오 인코더 또는 비디오 디코더는 비디오 코딩 프로세스의 ALF 프로세스들, SAO 프로세스들, 또는 ALF 프로세스들 및 SAO 프로세스들 양자에서의 사용을 위해 이러한 정보를 저장할 수도 있다. 비디오 인코더는 ALF 프로세스들, SAO 프로세스들, 또는 ALF 프로세스들 및 SAO 프로세스들 양자에서 그 정보를 사용하고, 인코딩된 비디오 비트스트림으로 그 정보를 신택스 엘리먼트들로서 인코딩할 수도 있다. 비디오 디코더는 비디오 코딩 프로세스의 ALF 프로세스들, SAO 프로세스들, 또는 ALF 및 SAO 프로세스들에서의 사용을 위해 신택스 엘리먼트들을 획득 및 저장하도록 비디오 비트스트림을 디코딩할 수도 있다. 이 정보는 본 개시물의 각종 예들에 따라 다양한 상이한 방식들로 조직될 수도 있다. 일부 예들에서, ALF 프로세스들, SAO 프로세스들, 또는 ALF 및 SAO 프로세스들은 루프 내 (in-loop) 에서 수행될 수도 있다. 일부 예들에서, 이러한 프로세스들은 루프 후 (post-loop) 에 수행될 수도 있다.
샘플 적응 오프셋은 2 개의 기본 모드들을 갖는 픽셀당 연산이다. 제 1 모드는 에지 오프셋 (Edge Offset) 이며, 이것의 4 개의 변형들이 존재한다. 샘플 적응 오프셋은 (모드 변화에 따라) 그 8 개의 이웃들 중 2 개에 픽셀의 값을 비교함으로써 동작한다. 규모 차이들에 기초하여, 4 개의 가능한 오프셋들 중 하나가 픽셀에 추가된다. 제 2 모드는 대역 오프셋 (Band Offset) 이며, 여기서 소정 규모 범위 내의 픽셀들은 추가된 4 개의 오프셋들 중 하나를 얻는다. 필터 모드 및 4 개의 오프셋들은, 소스 재료와 아주 가깝게 일치하도록 그 블록에서 픽셀들을 얻고자하는 시도에서 각각의 코딩된 트리 블록에 대해 인코더에 의해 선택된다.
일반적으로, 적응 루프 필터링은 후속의 픽처들의 인코딩 또는 디코딩에 사용된 참조 픽처를 향상시키기 위해 디블록킹 필터 뒤에 적용된 적응 필터링 기법이다. 일부 예들에서, ALF 는 정사각형 필터들을 사용하고 전체 디블록킹된 픽처들 상에서 수행될 수도 있다. 다른 예들에서, ALF 는 블록 단위로 인에이블 및 디스에이블될 수도 있다.
일부 비디오 코딩 프로세스들, 예컨대 현재 개발 중인 고효율성 비디오 코딩 (HEVC) 프로세스의 버전들에서, ALF 및 SAO 와 같은 루프 필터들 필터들, 오프셋 데이터를, 또는 필터들 및 오프셋 데이터를 적응 파라미터 세트 (adaptation parameter set; APS) 신택스로 시그널링한다. 이러한 코딩에서, ALF 및 SAO 에 대한 신택스는 프레임 기반 신택스에 기초한다. 더 플렉서블한 동작 및 인코더/디코더 설계를 지원하기 위해, AFL 및 SAO 프로세스들에 대해 LCU (또는 다른 파티션) 기반 신택스를 제공하는 것이 바람직하다. 예를 들어, 하드웨어 구현에서, 파티션 레벨, 예를 들어 LCU 레벨에서 이러한 필터링 프로세스들을 적용하는 것이 더 좋을 수도 있다.
본 개시물에서, ALF 및 SAO 기법들은 파티션으로서 LCU 의 맥락에서, 즉 LCU 기반 신택스로 설명될 것이다. 그러나, ALF 및 SAO 기법들은 다른 유형들의 파티션들에 기초한 신택스와 사용될 수도 있다. 또한, 본 개시물은 ALF 프로세스들, SAO 프로세스들, 또는 ALF 및 SAO 프로세스들에 대해 LCU (또는 다른 파티션) 기반 신택스 프로세스들의 사용을 설명하지만, 다른 유형들의 필터 정보에 대한 제한은 없다. 일반적으로, 본 개시물은 LCU 기반 프로세싱을 지원하는 ALF 및 SAO 파라미터들에 대해 새로운 신택스를 제안한다.
디지털 비디오 디바이스들은 디지털 비디오 정보를 더 효율적으로 인코딩 및 디코딩하도록 비디오 압축 기법들을 구현한다. 비디오 압축은 공간 (인트라-프레임) 예측, 시간 (인터-프레임) 예측, 또는 공간 및 시간 예측 기법들을 적용하여 비디오 시퀀스들에 내재된 리던던시를 감소시키거나 제거할 수도 있다.
통상의 비디오 인코더는 오리지널 비디오 시퀀스의 각 프레임을 "블록들" 또는 "코딩 유닛들" 로 지칭된 연속적인 직사각형 구역들로 파티셔닝한다. 이들 블록들은 "인트라 모드"(I-모드), 또는 "인터 모드"(P-모드 또는 B-모드) 로 인코딩된다.
P- 또는 B-모드에 있어서, 인코더는 먼저 Fref 로 표기된 "참조 프레임" 에서 인코딩되는 것과 유사한 블록을 검색한다. 검색들은 일반적으로, 인코딩될 블록에서부터의 소정의 공간적 변위에만 제한된다. 최선의 일치, 즉 예측 블록 또는 "예측" 이 식별된 경우, 이것은 2 차원 (2D) 모션 벡터 (△x, △y) 의 형태로 표현되고 여기서, △x 는 코딩될 블록의 포지션에 대한 참조 프레임에서의 예측 블록의 수평 변위이고 △y 는 수직 변위이다. 참조 프레임과 함께 모션 벡터들은 다음과 같이 예측 블록 Fpred 를 구성하는데 사용된다:
Figure 112014059998649-pct00001
프레임 내에서 픽셀의 로케이션은 (x, y) 로 표기된다.
I-모드에서 인코딩된 블록들에 대해, 예측 블록은 동일한 프레임 내의 이전에 인코딩된 이웃하는 블록들로부터 공간 예측을 사용하여 형성된다. I-모드 및 P- 또는 B-모드에 있어서, 예측 에러, 즉 인코딩되고 있는 블록에서의 픽셀 값과 예측 블록에서의 픽셀 값 간의 차이는, 일부 이산 변환, 예컨대 이산 코사인 변환 (DCT) 의 가중화된 기본 함수들의 세트로서 표현된다. 변환들은 상이한 사이즈들의 블록들, 예컨대 4×4, 8×8 또는 16×16 및 이보다 큰 것에 기초하여 수행될 수도 있다. 변환 블록의 형상은 항상 정사각형은 아니다. 직사각형 형상의 변환 블록들이 또한, 예를 들어 16×4, 32×8 등의 변환 블록 사이즈를 갖고 사용될 수 있다.
가중치들 (즉, 변환 계수들) 이 후속하여 양자화된다. 양자화는 정보의 손실을 도입하고, 이와 같이 양자화된 계수들은 오리지널 변환 계수들보다 더 낮은 정확도를 갖는다.
양자화된 변환 계수들 및 모션 벡터들은 "신택스 엘리먼트들" 의 예들이다. 이들 신택스 엘리먼트들, 플러스 일부 제어 정보가 비디오 시퀀스의 코딩된 표현을 형성한다. 신택스 엘리먼트들의 다른 예들은 본 개시물에 설명된 바와 같은 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자를 포함한다. 신택스 엘리먼트들은 또한, 엔트로피 코딩될 수도 있고, 이로써 그 표현을 위해 필요한 비트들의 수를 추가로 감소시킨다. 엔트로피 코딩은 그 분포의 특성 (일부 심볼들은 다른 것들보다 더 빈번하게 발생함) 을 이용함으로써 송신 및 저장된 심볼들 (우리 경우 신택스 엘리먼트들) 을 나타내는데 필요한 비트들의 수를 최소화하기 위한 무손실 동작이다.
디코더에서, 현재 프레임에서의 블록은 인코더에서와 동일한 방식으로 그 예측을 먼저 구성하고, 그 예측을 압축된 예측 에러에 추가함으로써 획득된다. 압축된 예측 에러는 양자화된 계수들을 사용하여 변환 기본 함수들을 가중함으로써 발견된다. 재구성된 프레임과 오리지널 프레임 간의 차이는 재구성 에러로 지칭된다.
압축비 (compression ratio), 즉 오리지널 시퀀스 및 압축된 시퀀스를 표현하는데 사용된 비트들의 수의 비율은 변환 계수 값들을 양자화하는 경우 사용된 양자화 파라미터 (QP) 의 값을 조정함으로써 제어될 수도 있다. 압축비는 이용되는 엔트로피 코딩의 방법에 의존할 수도 있다.
일 예로써, JCT-VC (Joint Cooperative Team for Video Coding) 에 의해 현재 개발되고 있는 고효율 비디오 코딩 (HEVC) 표준에 따른 비디오 코딩에 있어서, 비디오 프레임은 코딩 유닛들로 파티셔닝될 수도 있다. 코딩 유닛 (CU) 은 일반적으로, 각종 코딩 도구들이 비디오 압축을 위해 적용되는 단위 유닛으로서 기능하는 이미지 구역을 지칭한다. CU 는 일반적으로, Y 로 표기된 루미넌스 컴포넌트, 및 U 와 V 로 표기된 2 개의 크로마 컴포넌트들을 갖는다. 비디오 샘플링 포맷에 따라, U 및 V 컴포넌트들의 사이즈는, 샘플들의 수에 관점에서 Y 컴포넌트의 사이즈와 동일하거나 상이할 수도 있다. CU 는 통상적으로 정사각형이고, 예를 들어 ITU-T H.264 와 같은 다른 비디오 코딩 표준들 하에서 소위 매크로블록에 유사한 것으로 간주될 수도 있다. 개발중인 HEVC 표준의 현재 제안된 양태들 중 일부에 따른 코딩은 예시의 목적으로 본 출원에서 설명될 것이다. 그러나, 본 개시물에 설명된 기법들은 H.264 또는 다른 표준 또는 사유 비디오 코딩 프로세스들에 따라 정의된 것들과 같은 다른 비디오 코딩 프로세스들에 유용할 수도 있다.
HEVC 표준화 노력들은 HEVC 테스트 모델 (HM) 로서 지칭된 비디오 코딩 디바이스의 모델에 기초한다. HM 은 예를 들어, ITU-T H.264/AVC 에 따른 디바이스들에 비해 비디오 코딩 디바이스들의 여러 능력들을 추정한다. 예를 들어, H.264 는 9 개의 인트라-예측 인코딩 모드들을 제공하는 반면에, HM 은 33 개 만큼 많은 인트라-예측 인코딩 모드들을 제공할 수도 있다.
HM 에 따르면, CU 는 하나 이상의 예측 유닛 (PU) 들, 하나 이상의 변환 유닛 (TU) 들, 또는 하나 이상의 PU 들, 하나 이상의 TU 들 양자를 포함할 수도 있다. 비트스트림 내의 신택스 데이터는 최대 코딩 유닛 (LCU) 을 정의할 수도 있으며, 이 유닛은 픽셀들의 수의 관점에서 가장 큰 CU 이다. 일반적으로, CU 는 CU 가 사이즈 차이를 갖지 않는다는 것을 제외하고 H.264 의 매크로블록과 유사한 목적을 갖는다. 따라서, CU 는 서브-CU 들로 분할될 수도 있다. 일반적으로, 본 개시물에서 CU 에 대한 참조들은 LCU 의 서브-CU 또는 픽처의 최대 코딩 유닛을 지칭할 수도 있다. LCU 는 서브-CU 들로 분할될 수도 있고, 각각의 서브-CU 는 서브-CU 들로 더욱 분할될 수도 있다. 비트스트림에 대한 신택스 데이터는 CU 심도 (depth) 로도 지칭된 LCU 가 분할될 수도 있는 최대 횟수를 정의할 수도 있다. 따라서, 비트스트림은 또한, 최소 코딩 유닛 (smallest coding unit; SCU) 을 정의할 수도 있다. 본 개시물은 또한, CU, PU, 또는 TU 중 어느 하나를 지칭하기 위해 용어 "블록", "파티션", 또는 "포션" 을 사용한다. 일반적으로, "포션" 은 비디오 프레임의 임의의 서브-세트를 지칭할 수도 있다.
샘플 적응 오프셋 (SAO) 코딩은 현재, HEVC 표준으로의 채택을 위해 고려 중이다. 일반적으로, 비디오 프레임 (예를 들어, 인터-예측 또는 인트라-예측을 위한 예측 프레임) 에서의 픽셀들에 대한 오프셋 값들의 추가는 예컨대, 플래시들, 어두운 하늘과 같은 비디오 시퀀스의 프레임들 간의 조명 변화들, 또는 프레임들 간의 조명 변화들의 다른 유형들 동안 코딩을 향상시킬 수도 있다. 이러한 조명 변화들은 프레임에서의 픽셀들 전체에 걸쳐 비교적 균일한 세기 변화를 추가할 수도 있다. 예를 들어, 오프셋 값들은 조명 변화들을 보상하도록 예측 비디오 블록의 값들을 바이어싱하기 위해 예측된 비디오 블록의 픽셀들에 적용될 수도 있다. 이전의 비디오 코딩 표준들, 예컨대 H.264 는 픽셀들의 전체 블록들 또는 프레임들 전체에 걸쳐 오프셋 유형들 및 값들을 균일하게 적용했다. SAO 기법들은 픽셀 (또는 블록) 분류 메트릭들에 따라 상이한 오프셋 값들이 상이한 픽셀들 (또는 블록들) 에 적용되는 것을 가능하게 할 수도 있다.
HEVC 에서의 현재 적응 루프 필터 (ALF) 에서, 2 개의 적응 모드들 (즉, 블록 및 구역 적응) 이 제안된다. 구역 적응 모드에 있어서, 프레임은 16 개의 구역들로 분할되고, 각각의 구역은 선형 필터 계수들 (AC 계수들 및 하나의 DC 계수들) 의 하나의 세트를 갖고, 하나의 구역은 다른 구역들과 동일한 필터 계수들을 공유할 수 있다. 블록 기반 모드에 있어서, 각각의 4×4 블록은 방향 및 액티비티 정보를 사용하여 메트릭을 연산함으로써 하나의 클래스를 도출한다. 각각의 클래스에 대해, 선형 필터 계수들 (AC 계수들 및 DC 계수) 의 하나의 세트가 사용될 수 있고 하나의 클래스는 다른 클래스들과 동일한 필터 계수들을 공유할 수 있다.
ALF 또는 SAO 프로세스들에 대한 LCU-기반 신택스 (또는 다른 파티션-기반 신택스) 를 지원하기 위해, 일반적으로 비디오 인코더, 비디오 디코더, 또는 비디오 인코더와 비디오 디코더는 i) ALF 및 SAO 프로세스들에 대한 필터들, 오프셋들, 또는 필터들과 오프셋들 양자의 세트들, 즉 ALF 정보, SAO 정보, 또는 ALF 와 SAO 정보 양자, 및 ii) 필터/오프셋들이 ALF 및 SAO 프로세스들을 수행하기 위해 적용되는 필터들/오프셋들 및 대응하는 LCU 들의 세트들 간의 맵핑을 저장할 필요가 있다. ALF 정보, SAO 정보, 또는 ALF 와 SAO 정보 양자는 일반적으로, 예를 들어 별개로 또는 결합된, 병합 방식으로 제시되든, 그리고 정보가 계수들, 오프셋들 또는 다른 정보를 포함하든 ALF 정보, SAO 정보, 또는 양자를 지칭한다. LCU 및 필터들/오프셋들의 세트 간의 맵핑은 다음의 예 중 하나 이상을 포함할 수도 있다.
일 예에서, 비디오 코더는 새로운 필터들/오프셋들이 LCU 에 할당되는 것을 나타내는 LCU 에 대한 플래그를 생성한다. 플래그는, LCU 가 필터 계수들, 오프셋들, 또는 필터 계수들과 오프셋들 양자를 포함할 수도 있는 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자의 새로운 세트를 할당받는 것임을 나타낼 수도 있다. 일부 예들에서, 플래그는 예를 들어 복수의 세트들 중에서, LCU 에 할당될 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보의 특정 세트의 식별을 더 포함할 수도 있다. 대안으로, 플래그는 인코더 또는 디코더로 하여금 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자의 복수의 세트들 또는 리스트에서 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자의 다음 세트를 선택하여, 플래그는 인코더 또는 디코더가 각각의 LCU 에 대해 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자의 다음 이용 가능한 세트로 전진할 것임을 나타낸다.
다른 예에서, 비디오 코더는 이웃하는 LCU 로부터의 필터/오프셋 정보가 현재 LCU 에 대해 복사될 것임을 나타내는 현재 LCU 에 대한 복사 커맨드를 생성한다. 예를 들어, ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자는 현재 LCU 에 대해 수행된 ALF 프로세스들, SAO 프로세스들, 또는 ALF 및 SAO 프로세스들에서 사용하기 위해 좌측 이웃 LCU 또는 상부 이웃 LCU 로부터 현재 LCU 로 복사될 수도 있다.
다른 예에서, 비디오 코더는 다수의 순차적 LCU 들이 동일한 필터들/오프셋들을 공유하는 경우 런 정보를 생성한다 (즉, 공유하는 순차적 LCU 들의 수). 이 예에서, 일단 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자의 세트가 LCU 에 대해 지정되면, 런 정보는 각각의 LCU 를 따르고 동일한 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자를 공유하는 연속적인 LCU 들의 수를 나타낼 수도 있다. 맵핑 정보는 일부 스캐닝 순서 (예를 들어, LCU/CU 스캐닝 순서와 유사한 스캐닝 순서) 를 따를 수도 있다. 이 정보는 다수의 방식들로 저장될 수도 있음이 주목된다. 예를 들어, 일 예에서, 필터들/오프셋들 및 맵핑 정보의 세트들 양자는 각각의 LCU 레벨에서 저장될 수 있다. 이 경우, ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보는 맵핑 정보와 LCU 레벨에 저장될 수도 있다. 대안의 예에서, 필터들/오프셋들의 세트는 APS 에 또는 슬라이스 헤더에 저장될 수 있고, 맵핑 정보는 슬라이스 헤더에 저장될 수 있다. 다른 대안의 예에서, 필터들/오프셋들의 세트는 APS 에 또는 슬라이스 헤더에 저장될 수 있고, 맵핑 정보는 LCU 에 저장될 수 있다.
필터들/오프셋들 및 맵핑 정보의 세트가 동일한 장소 (즉, 슬라이스 헤더) 에 저장되면, 이들 2 개 세트들의 정보는 임의의 적합한 방식으로 저장될 수 있다. 예를 들어, 일 특정 예에 따라, 필터들/오프셋들 및 맵핑 정보의 세트는 (도 1 및 도 2 의 예 2 에 도시된 바와 같이) 별개로 저장된다. 이 경우에서, 필터들/오프셋들의 세트는 맵핑 정보와 독립적으로 저장될 수도 있다. 맵핑 정보는 그 후, 특정 LCU 들 (또는 다른 파티션들) 에 적용을 위해 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자를 참조할 수도 있다. 대안의 예에서, 필터들/오프셋 및 맵핑 정보의 세트들은 인터리빙된 방식으로 (도 1 및 도 2 의 에 1 에 도시된 바와 같이) 저장된다. 이 경우에서, 필터들/오프셋들의 세트들은 예를 들어, 순차적, 인터리빙된 방식으로 각각의 LCU (또는 다른 파티션) 에 대해 존재 및 저장될 수도 있고, 여기서 특정 필터/오프셋 세트들은 각각의 LCU 들에 대해 존재되고, 특정 맵핑 정보 (예를 들어, 복사 또는 런 길이 커맨드) 는 다른 LCU 들에 대해 존재된다.
본 개시물에 설명된 프로세스들은 비디오 인코더 또는 비디오 디코더에 의해 수행될 수도 있다. 예를 들어, 비디오 인코더 또는 비디오 디코더는 비디오 코딩 프로세스의 ALF 프로세스들, SAO 프로세스들, 또는 ALF 및 SAO 프로세스들에서의 사용을 위해 그러한 정보를 저장할 수도 있다.
도 1 은 그러한 정보의 LCU 기반 코딩을 위해 필터 (ALF, SAO, 또는 양자) 정보 및 맵핑 정보를 코딩하는 방법의 예를 나타내는 개념도이다. 도 2 는 그러한 정보의 프레임 기반 또는 슬라이스 기반 코딩을 위해 필터 (ALF, SAO, 또는 양자) 정보 및 맵핑 정보를 코딩하는 방법의 예를 나타내는 개념도이다.
도 1 및 도 2 의 예들에서, ALF+SAO 는 ALF+SAO 가 하나의 스테이지에서 수행될 수 있는 예를 가리킨다; 따라서, ALF 및 SAO 데이터는 한 장소에 저장될 수 있다. 이들 ALF+SAO 표시 (indication) 들은 ALF 또는 SAO 가 그 자체로, 즉 별개로 사용되는 경우 "ALF" 또는 SAO 에 의해 대체될 수 있다. 예를 들어, SAO 는 ALF 없이 사용될 수도 있고 또는 ALF 는 SAO 없이 사용될 수도 있다. 또한, 필터들 또는 오프셋들의 세트 (즉, 도 1 또는 도 2 에서 Fi) 는 하나보다 많은 필터 또는 오프셋들을 포함할 수 있다, 예를 들어 도 1 또는 도 2 에서의 하나의 구역은 액티비티들에 기초한 하나보다 많은 필터를 사용한다.
도 1 은 복수의 LCU 들을 예시한다. 일반적으로, ALF+SAO(F1) 는 제 1 LCU 에 대한 ALF 및 SAO 정보의 제 1 결합된 세트를 지칭할 수도 있다. 유사하게, ALF+SAO(F2) 및 ALF+SAO(F3) 는 다른 LCU 들에 대한 ALF 및 SAO 정보의 제 2 및 제 3 세트들 각각을 지칭할 수도 있다. COPY_L 및 COPY_U 는, 현재 LCU 에 대한 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자가 좌측 또는 상부 (즉, 위) 의 이웃하는 LCU 로부터 각각 복사될 것이라는 것을 나타내는 맵핑 정보를 형성한다. OFF 는, ALF 프로세스들, SAO 프로세스들, 또는 ALF 및 SAO 프로세스들이 특정 LCU 에 적용되지 않는다는 것을 나타낸다.
도 1 에서, 일 예로써, 예 1 은 비디오 코더, 즉 비디오 인코더 또는 디코더에 의해 맵핑 정보와 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보의 인터리빙된 저장 및 표현을 나타낸다. 도 1 의 예 1 에 따르면, 비디오 코더는 (상부 좌측 코너의) 제 1 LCU 에는 F1 에 의해, ALF+SAO(F1) 에 대응하는 ALF 정보, SAO 정보, 또는 ALF 및 SAO 양자의 세트가 할당된다. (제 1 LCU 의 우측으로) 제 2 LCU 는 좌측 이웃으로부터 그 ALF 정보, SAO 정보, 또는 ALF 및 SAO 양자를 복사한 것으로서 COPY_L 으로 나타내어진다. 따라서, 제 2 LCU 는 제 1 LCU, 즉 ALF+SAO(F1) 와 동일한 ALF 할당, SAO 할당, 또는 ALF 및 SAO 할당 양자를 갖는다. 비디오 코더는 F2 에 의한 제 3 LCU 에 ALF+SAO(F2) 에서 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자를 할당한다. 제 4 LCU 는 COPY_L 커맨드를 할당받은 것으로서 비디오 코더에 의해 지정되고, 이것은 제 3 LCU 와 동일한 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자를 초래한다. 제 5 LCU 는 그 후, OFF 로서 나타내어진다. 맵핑 정보와 인터리빙된 방식으로 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자의 이 표현은 나머지 LCU 들에 대해 계속될 수도 있다.
추가의 예로써, 도 1 의 예 2 에서, ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자는 맵핑 정보에 의한 참조를 위해 F1 및 F2 로서 별개로 저장된다. 이 경우, NEW 플래그는, 현재 LCU 가 새로운 필터/오프셋 정보의 세트, 예를 들어, 저장되었던 ALF 정보 및/또는 SAO 정보, 또는 ALF 및 SAO 정보 양자의 다음 세트를 할당받을 것이라는 것을 나타낸다. 제 1 LCU 에 있어서, NEW 는 ALF+SAO(F1) 가 할당되는 것이라는 것을 나타낸다. COPY_L 은 좌측 이웃 정보가 다음 LCU 에 대해 복사될 것이라는 것을 나타낸다. 제 3 LCU 에 대한 NEW 는, 필터 오프셋 정보의 다음 세트, 예를 들어 F2 로 표기된 ALF+SAO(F2) 가 제 3 LCU 에 적용될 것이라는 것을 나타낸다. COPY_U 는, 상부 이웃 정보가 다음 LCU 에 대해 복사될 것이라는 것을 나타내고, OFF 는 현재 LCU 에 대해 ALF, SAO, 또는 ALF 및 SAO 양자가 오프된다는 것을 나타낸다. 예 2 가 LCU 의 제 1 행에 속한다면, 일부 예들에서 COPY_U 가 적용되지 않을 수도 있다. 대신에, COPY_L 가 적용될 수도 있다.
예 2 의 예에서, NEW 는 필터/오프셋 정보의 다음 세트 (예를 들어, 복수의 필터/오프셋 세트들 F1, F2 등에서) 가 현재 LCU 에 대해 선택될 수도 있음을 나타낸다. 다른 예들에서, 다른 맵핑 정보 또는 플래그 그 자체는 특정 LCU 에 할당될, 필터/오프셋 정보의 복수의 세트들 중에서, 필터/오프셋 정보의 특정 세트의 식별을 제공하도록 구성될 수도 있다. 예를 들어, 플래그는 인코딩될 수도 있고, 또는 추가의 맵핑 정보가 제공되어 식별, 예컨대 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자의 특정 세트를 특정 LCU 에 할당되도록 지정하는 인덱스 값을 전달할 수도 있다. 플래그는 필터/오프셋 정보의 2 이상의 세트들 중 하나의 선택을 나타내는 값을 인코딩하는 멀티-비트 플래그일 수도 있고, 또는 추가의 인덱스 값이 추가의 신택스 엘리먼트로서 제공될 수도 있다.
도 2 는 프레임/슬라이스 기반 인코딩 케이스에 대한 필터 및 맵핑 정보를 코딩하는 방법의 예를 나타낸다. ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자의 상이한 세트들은 상이한 파티션들에 할당될 수도 있다. 도 2 의 예 1 에서, 맵핑 정보는 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자와 인터리빙된 방식으로 저장될 수도 있다. 도시된 바와 같이, ALF+SAO(F1) 로 표기된, 필터/오프셋들의 제 1 세트는 LCU 와 같은 파티션에 할당될 수도 있고, 복사, 런, 또는 코딩 유형들 양자는 다른 파티션들에 필터/오프셋들의 동일한 세트를 적용하는데 사용될 수 있다. 예를 들어, 하나 이상의 COPY_L 또는 COPY_U 커맨드들은 LCU 와 같은 파티션에 대한 필터/오프셋들의 세트를 다른 파티션들, 예컨대 동일한 ALF 정보, SAO 정보 또는 ALF 및 SAO 정보 양자를 공유하는 구역에서의 파티션들에 적용하기 위한 맵핑 정보로서 사용될 수도 있다. 필터/오프셋들의 제 2 세트는 ALF+SAO(F2) 으로 도시된다. 대안으로 또는 부가적으로, 하나 이상의 RUN 커맨드들은 필터/오프셋들의 동일한 세트를 공유하는 연속적인 파티션들의 수를 지정할 수도 있다. COPY 및 RUN 커맨드들은 종합적으로, COPY/RUN 커맨드들로서 지칭될 수도 있다.
도 2 의 예 1 에서, COPY/RUN 커맨드들 다음에, SAO (01) 로 표시된 SAO 정보의 세트는 LCU 와 같은 파티션에 대해 지정된다. 이것은, SAO 정보가 ALF 정보 없이 별개로 지정될 수도 있는 예이다. 이 예에서, SAO(01) 는 파티션에 대해 사용될 오프셋들의 제 1 세트를 지정할 수도 있다. 마찬가지로, 일부 예들에서, ALF 정보는 예를 들어, SAO 정보 없이 별개로 지정될 수도 있다. SAO(02), SAO(03), SAO(04) 는 오프셋들의 다른 세트들을 제공할 수도 있다. 일부 예들에서, O11... O1N 은 제 1 세트 SAO(01) 에 대한 오프셋들의 세트를 지칭할 수도 있고, (f11...f1M) 은 ALF+SAO(F1) 에 대한 필터 계수들의 세트를 지칭할 수도 있다. COPY/RUN 엘리먼트들은 다른 파티션들에의 SAO 오프셋 정보의 적용을 나타내도록 저장될 수도 있다. OFF 엘리먼트는 ALF 및 SAO 함수들이 다른 파티션에 대해 적용되지 않는다는 것을 지정할 수도 있다. COPY/RUN 엘리먼트들은 다른 파티션들에의 OFF 컨디션을 적용하는데 사용될 수도 있다. 또한, ALF, SAO, 및/또는 ALF 및 SAO 정보의 추가의 세트들이 다른 파티션들에 적용을 위해 저장될 수도 있다. 따라서, 맵핑 정보는 특정 파티션들에의 적용을 위해 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자의 특정 세트들을 지정하는데 사용될 수도 있고, 맵핑 정보, 또는 파티션들 및 맵핑 정보 양자는 파티션들의 구역들 또는 개별의 파티션들에 그러한 정보를 적용하기 위해 COPY 및 RUN 엘리먼트들을 지정할 수도 있다.
도 1 의 예에서, 이러한 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자는 맵핑 정보와 인터리빙될 수도 있다. 도 2 의 예 2 에서, 필터 정보, 오프셋 정보 및/또는 필터/오프셋 정보의 세트들은 맵핑 정보로부터 별개로 저장될 수도 있다. 이 경우, 맵핑 정보, 예를 들어 NEW, COPY, RUN, OFF, 등은 별개로 저장된 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자로 지칭될 수도 있다. 도 1 의 예에서, NEW 플래그는 파티션에 적용을 위한 이러한 정보의 복수의 세트들에서 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자의 다음 세트를 지정할 수도 있다. 대안으로, NEW 플래그는 파티션에 적용될 이러한 정보의 특정 세트, 예컨대, 필터 정보의 특정 세트, 오프셋 정보의 특정 세트, 또는 필터 및 오프셋 정보를 결합하는 특정 세트에 대한 식별 정보를 포함하거나 이에 의해 동반될 수도 있다. COPY 및 RUN 엘리먼트들은 파티션, 예컨대 이웃하는 파티션으로서 LCU, 동일한 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자에 적용하거나, 연속적인 수의 파티션들 위에 동일한 정보를 적용하기 위해 전술된 것과 유사한 방식으로 사용될 수도 있다.
도 3 은 본 개시물의 예들에 따른 비디오 코딩 프로세스에서 샘플 적응 오프셋 및 적응 루프 필터 프로세스들을 수행하기 위한 기법들을 이용하도록 구성될 수도 있는 예시의 비디오 인코딩 및 디코딩 시스템 (10) 을 예시하는 블록도이다. 도 3 에 도시된 바와 같이, 시스템 (10) 은 통신 채널 (16) 을 통해 목적지 디바이스 (14) 로 인코딩된 비디오를 송신하는 소스 디바이스 (12) 를 포함한다. 인코딩된 비디오 데이터는 또한, 저장 매체 (34) 또는 파일 서버 (36) 에 저장되고, 원하는 경우 목적지 디바이스 (14) 에 의해 액세스될 수도 있다. 저장 매체 또는 파일 서버에 저장되는 경우, 비디오 인코더 (20) 는 코딩된 비디오 데이터를 저장 매체에 저장하기 위해, 코딩된 비디오 데이터를 다른 디바이스, 예컨대 네트워크 인터페이스, 컴팩트 디스크 (CD), 블루-레이 또는 디지털 비디오 디스크 (DVD) 버너 또는 스탬핑 기능 디바이스, 또는 다른 디바이스들에 제공할 수도 있다. 마찬가지로, 비디오 디코더 (30) 와는 별개의 디바이스, 예컨대 네트워크 인터페이스, CD 또는 DVD 판독기, 등은 코딩된 비디오 데이터를 저장 매체로부터 취출하고, 취출된 데이터를 비디오 디코더 (30) 에 제공할 수도 있다.
소스 디바이스 (12) 및 목적지 디바이스 (14) 는 데스크톱 컴퓨터들, 노트북 (즉, 랩톱) 컴퓨터들, 태블릿 컴퓨터들, 셋-톱 박스들, 전화기 핸드셋들, 예컨대 소위 스마트폰들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들 등을 포함하는 광범위한 디바이스들 중 어느 하나를 포함할 수도 있다. 많은 경우들에서, 이러한 디바이스들은 무선 통신을 위해 구비될 수도 있다. 따라서, 통신 채널 (16) 은 무선 채널, 유선 채널, 또는 인코딩된 비디오 데이터의 송신에 적합한 무선 및 유선 채널들의 조합을 포함할 수도 있다. 유사하게, 파일 서버 (36) 는 인터넷 접속을 포함하는, 임의의 표준 데이터 접속을 통해 목적지 디바이스 (14) 에 의해 액세스될 수도 있다. 이는 무선 채널 (예를 들어, Wi-Fi 접속), 유선 접속 (예를 들어, DSL, 케이블 모뎀 등), 또는 파일 서버 상에 저장된 인코딩된 비디오 데이터를 액세스하기에 적합한 양자의 조합을 포함할 수도 있다.
본 개시물의 예들에 따라, 비디오 코딩 프로세스에서 샘플 적응 오프셋 및 적응 루프 필터 프로세스들을 수행하기 위한 기법들은 다양한 멀티미디어 애플리케이션들, 예컨대, 공중경유 (over-the-air) 텔레비전 브로드캐스트들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, 예를 들어, 인터넷을 통한 스트리밍 비디오 송신들, 데이터 저장 매체 상의 저장을 위한 디지털 비디오의 인코딩, 데이터 저장 매체 상에 저장된 디지털 비디오의 디코딩, 또는 다른 애플리케이션들 중 임의의 것의 지원하에 비디오 코딩에 적용될 수도 있다. 일부 예들에서, 시스템 (10) 은 단방향 또는 양방향 비디오 송신을 지원하여 애플리케이션들, 예컨대, 비디오 스트리밍, 비디오 재생, 비디오 브로드캐스팅, 비디오 화상 전화, 또는 이들 중 둘 이상을 지원하도록 구성될 수도 있다.
도 3 의 예에서, 소스 디바이스 (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 등), 또는 파일 서버 상에 저장된 인코딩된 비디오 데이터를 액세스하기에 적합한 양자의 조합을 포함할 수도 있다.
도 3 의 예에서 목적지 디바이스 (14) 는 수신기 (26), 모뎀 (28), 비디오 디코더 (30), 및 디스플레이 디바이스 (32) 를 포함한다. 목적지 디바이스 (14) 의 수신기 (26) 는 채널 (16) 을 통해 정보를 수신하고, 모뎀 (28) 은 이 정보를 복조하여 비디오 디코더 (30) 에 대한 복조된 비트스트림을 생성한다. 채널 (16) 을 통해 통신된 정보는 비디오 데이터를 디코딩하는데 있어서 비디오 디코더 (30) 에 의한 사용을 위해 비디오 인코더 (20) 에 의해 생성된 다양한 신택스 정보를 포함할 수도 있다. 이러한 신택스는 또한, 저장 매체 (34) 또는 파일 서버 (36) 상에 저장된 인코딩된 비디오 데이터와 함께 포함될 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 비디오 데이터를 인코딩 또는 디코딩할 수 있는 각각의 인코더-디코더 (CODEC) 의 일부를 형성할 수도 있다.
디스플레이 디바이스 (32) 는 목적지 디바이스 (14) 와 통합되거나 목적지 디바이스 외부에 있을 수도 있다. 일부 예들에서, 목적지 디바이스 (14) 는 통합된 디스플레이 디바이스를 포함하고, 또한 외부 디스플레이 디바이스와 인터페이싱하도록 구성될 수도 있다. 다른 예들에서, 목적지 디바이스 (14) 는 디스플레이 디바이스일 수도 있다. 일반적으로, 디스플레이 디바이스 (32) 는 디코딩된 비디오 데이터를 사용자에게 디스플레이하고, 다양한 디스플레이 디바이스들, 예컨대 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 다른 유형의 디스플레이 디바이스 중 어느 하나를 포함할 수도 있다.
도 3 의 예에서, 통신 채널 (16) 은 임의의 무선 또는 유선 통신 매체, 예컨대 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인들, 또는 무선 및 유선 매체의 임의의 조합을 포함할 수도 있다. 통신 채널 (16) 은 패킷 기반 네트워크, 예컨대 근거리 네트워크, 광역 네트워크, 또는 인터넷과 같은 글로벌 네트워크의 일부를 형성할 수도 있다. 통신 채널 (16) 은 일반적으로, 유선 또는 무선 매체의 임의의 적합한 조합을 포함하는, 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로 비디오 데이터를 송신하기 위한 임의의 적합한 통신 매체, 또는 상이한 통신 매체의 콜렉션을 나타낸다. 통신 채널 (16) 은 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로의 통신을 용이하게 하는데 유용할 수도 있는 라우터들, 스위치들, 기지국들, 또는 임의의 다른 장비를 포함할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는 비디오 압축 표준, 예컨대 현재 개발 중인 고효율성 비디오 코딩 표준 (HEVC) 에 따라 동작할 수도 있고, HEVC 테스트 모델 (HM) 을 따를 수도 있다. 대안으로, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 다른 독자적 또는 산업 표준들, 예컨대 ITU-T H.264 표준, 다르게는 MPEG-4, Part 10, AVC (Advanced Video Coding), 또는 이러한 표준들의 확장들에 따라 동작할 수도 있다. 그러나, 본 개시물의 기법들은 임의의 특정 코딩 표준에 제한되지 않는다. 다른 예들은 MPEG-2 및 ITU-T H.263 을 포함한다.
도 3 에 도시되지는 않았으나, 일부 양태들에서 비디오 인코더 (20) 및 비디오 디코더 (30) 는 각각 오디오 인코더 및 디코더와 통합될 수도 있고, 적합한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함하여 공통 데이터 스트림 또는 별개의 데이터 스트림들로 오디오 및 비디오 양자의 인코딩을 핸들링할 수도 있다. 적용 가능하다면, 일부 예들에서, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그램 프로토콜 (UDP) 과 같은 다른 프로토콜들에 따를 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는 각각, 다양한 적합한 인코더 회로, 예컨대 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서 (DSP) 들, 주문형 집적 회로 (ASIC) 들, 필드 프로그래밍가능 게이트 어레이 (FPGA) 들, 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 그 임의의 조합들 중 어느 하나로서 구현될 수도 있다. 소프트웨어에서 이 기법들이 부분적으로 구현되는 경우, 디바이스는 적합한, 비-일시적 컴퓨터 판독가능 매체에 소프트웨어 용 명령들을 저장하고, 하나 이상의 프로세서들을 사용하는 하드웨어에서 명령들을 실행시켜 본 개시물의 기법들을 수행할 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있고, 이들 중 어느 하나는 각각의 디바이스에서 결합형 인코더/디코더 (CODEC) 의 일부로서 통합될 수도 있다.
비디오 인코더 (20) 는 비디오 코딩 프로세스에서 샘플 적응 오프셋 및 적응 루프 필터 프로세스들을 수행하기 위해 본 개시물의 기법들 중 어느 하나 또는 전부를 구현할 수도 있다. 마찬가지로, 비디오 디코더 (30) 는 비디오 코딩 프로세스에서 샘플 적응 오프셋 및 적응 루프 필터 프로세스들을 수행하기 위해 이들 기법들 중 어느 하나 또는 전부를 구현할 수도 있다. 본 개시물에 설명된 바와 같이, 비디오 코더는 비디오 인코더 또는 비디오 디코더를 지칭할 수도 있다. 유사하게, 비디오 코딩 유닛은 비디오 인코더 또는 비디오 디코더를 지칭할 수도 있다. 마찬가지로, 비디오 코딩은 비디오 인코딩 또는 비디오 디코딩을 지칭할 수도 있다.
예를 들어, 비디오 인코더 (20) 또는 비디오 디코더 (30) 와 같은 비디오 코더는, 예를 들어 적응 루프 필터 (ALF), 샘플 적응 오프셋 (SAO) 프로세스들, 또는 ALF 및 SAO 프로세싱 양자를 비디오 코딩 프로세스에서 수행할 수도 있다. 비디오 인코더 (20) 또는 비디오 디코더 (30) 는 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자의 세트들을 저장할 수도 있다. 부가적으로, 비디오 인코더 (20) 또는 비디오 디코더 (30) 는 비디오 데이터의 프레임의 하나 이상의 시퀀스 파티션들에 대해 ALF 정보, 또는 SAO 정보의 세트들 중 적어도 일부를 맵핑하는 맵핑 정보를 저장할 수도 있다. 하나 이상의 파티션들은 비디오 데이터의 프레임의 하나 이상의 최대 코딩 유닛들 (LCU's) 을 포함할 수도 있다. 코더는 저장된 ALF 정보, SAO 정보에 기초하여, 또는 저장된 ALF 및 SAO 정보, 및 저장된 맵핑 정보에 기초하여 프레임의 파티션들 중 하나에 대해 ALF 프로세스들, SAO 프로세스들, 또는 ALF 및 SAO 프로세스들 양자 중 적어도 하나를 수행할 수도 있다.
일 예에서, 맵핑 정보는 (1) 새로운 필터, 새로운 오프셋, 또는 새로운 필터 및 새로운 오프셋 양자가 ALF 프로세스, SAO 프로세스들, 또는 ALF 및 SAO 프로세스 양자에서의 사용을 위해 파티션들 중 하나에 할당될지 여부를 나타내는 플래그 정보, (2) ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보가 ALF 프로세스, SAO 프로세스들, 또는 ALF 및 SAO 프로세스 양자에서의 사용을 위해 파티션들 중 다른 하나로부터 파티션들 중 하나에 복사되어야 하는지 여부를 나타내는 복사 정보, 또는 (3) 동일한 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보를 공유하는 순차적 파티션들의 수를 나타내는 런 (run) 정보 중 적어도 하나를 포함할 수도 있다. 맵핑 정보는, 플래그 정보와 연관된 파티션들 중 하나에 할당될 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보의 세트들 중 하나를 나타내는 식별을 더 포함할 수도 있다.
일 예에서, 플래그 정보는 그 플래그 정보와 연관된 파티션들 중 하나에 할당될 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자의 세트들 중 하나를 나타내는 식별 (identification) 을 더 포함할 수도 있다.
도 4 는 본 개시물에 설명된 바와 같은 비디오 코딩 프로세스에서 샘플 적응 오프셋 및 적응 루프 필터 프로세스들을 수행하는 기법들을 사용할 수도 있는 비디오 인코더 (20) 의 예를 나타내는 블록도이다. 비디오 인코더 (20) 는 예시의 목적으로 HEVC 코딩의 맥락에서 설명될 것이지만, 본 개시물의 제한하지 않고 다른 코딩 표준들 또는 방법들이 변환 계수들의 스캐닝을 필요로할 수도 있다. 비디오 인코더 (20) 는 비디오 프레임들 내의 CU 들의 인트라- 및 인터-코딩을 수행할 수도 있다. 인트라-코딩은 공간 예측에 의존하여, 소정의 비디오 프레임 내의 비디오 데이터에서의 공간 리던던시를 감소시키거나 제거한다. 인터-코딩은 시간 예측에 의존하여, 비디오 시퀀스의 현재 프레임들과 이전에 코딩된 프레임들 간의 시간 리던던시를 감소시키거나 제거한다. 인트라-모드 (I 모드) 는 수 개의 공간 기반 압축 모드들 중 임의의 것을 지칭할 수도 있다. 인터-모드들, 예컨대, 단방향성 예측 (P 모드) 또는 양방향성 예측 (B 모드) 은 수 개의 시간 기반 비디오 압축 모드들 중 임의의 것을 지칭할 수도 있다.
도 4 에 도시된 바와 같이, 비디오 인코더 (20) 는 인코딩될 비디오 프레임 내에서 현재 비디오 블록을 수신한다. 도 4 의 예에서, 비디오 인코더 (20) 는 모션 보상 유닛 (44), 모션 추정 유닛 (42), 인트라-예측 유닛 (46), 참조 프레임 버퍼 (64), 합산기 (50), 변환 유닛 (52), 양자화 유닛 (54), 및 엔트로피 인코딩 유닛 (56) 을 포함한다. 도 4 에 예시된 변환 유닛 (52) 은 잔여 데이터의 블록에 실제 변환 또는 변환의 조합들을 적용하는 유닛이고, CU 의 변환 유닛 (TU) 으로서 지칭될 수도 있는 변환 계수들의 블록과 혼동되지 않는다. 비디오 블록 재구성을 위해, 비디오 인코더 (20) 는 또한 역양자화 모듈 (58), 역변환 모듈 (60), 합산기 (62), 및 SAO 및 ALF 유닛 (43) 을 포함한다. 디블록킹 필터는 재구성된 비디오로부터 블록 인공물들을 제거하기 위해 블록 경계들을 필터링하도록 포함될 수도 있다. 원하는 경우, 디블록킹 필터가 통상적으로 합산기 (62) 의 출력을 필터링할 것이다.
인코딩 프로세스 동안, 비디오 인코더 (20) 는 코딩될 비디오 프레임 또는 슬라이스를 수신한다. 프레임 또는 슬라이스는 다수의 비디오 블록들, 예를 들어 최대 코딩 유닛 (LCU) 들로 나누어질 수도 있다. 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 하나 이상의 레퍼런스 프레임들에서의 하나 이상의 블록들에 대해 수신된 비디오 블록의 인터 예측 코딩을 수행해 시간적 압축을 제공한다. 인트라 예측 유닛 (46) 은 코딩될 블록과 동일한 프레임 또는 슬라이스에서의 하나 이상의 이웃 블록들에 대해 수신된 비디오 블록의 인트라 예측 코딩을 수행하여 공간적 압축을 제공할 수도 있다.
모드 선택 유닛 (40) 은 예를 들어, 각각의 모드에 대한 레이트 왜곡 결과들에 기초하여, 코딩 모드들, 인트라 또는 인터 모드 중 하나를 선택하고, 결과의 인트라- 또는 인터-예측된 블록 (예를 들어, 예측 유닛 (PU)) 을 합산기 (50) 에 제공하여 잔여 블록 데이터를 생성하고 합산기 (62) 에 제공하여 참조 프레임에서의 사용을 위해 인코딩된 블록을 재구성할 수도 있다. 합산기 (62) 는 이하에서 더 상세히 설명되는 바와 같이 인코딩된 블록을 재구성하기 위해 블록에 대한 역변환 유닛 (60) 으로부터 역양자화, 역변환된 데이터와 예측된 블록을 결합한다. 일부 비디오 프레임들은 I-프레임들로서 지정될 수도 있고, 여기서 I-프레임 내의 모든 블록들은 인트라-예측 모드로 인코딩된다. 일부 경우들에서, 인트라-예측 유닛 (46) 은 예를 들어, 모션 추정 유닛 (42) 에 의해 수행된 모션 검색이 블록의 충분한 예측을 초래하지 않는 경우, P- 또는 B-프레임에서 블록의 인트라-예측 인코딩을 수행할 수도 있다.
모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 아주 통합될 수도 있으나, 개념적 목적을 위해 별개로 예시된다. 모션 추정 (또는 모션 검색) 은, 비디오 블록들에 대한 모션을 추정하는 모션 벡터들을 생성하는 프로세스이다. 모션 벡터는, 예를 들어 참조 프레임의 참조 샘플에 대한 현재 프레임에서의 예측 유닛의 변위를 나타낼 수도 있다. 모션 추정 유닛 (42) 은 참조 프레임 버퍼 (64) 에 저장된 참조 프레임의 참조 샘플들에 예측 유닛을 비교함으로써 인터-코딩된 프레임의 예측 유닛에 대한 모션 벡터를 계산한다. 참조 샘플은 픽셀 차이의 관점들에서 코딩되는 PU 를 포함하는 CU 의 일부에 가깝게 일치하는 것으로 발견되는 블록일 수도 있으며, 이 픽셀 차이는 SAD (sum of absolute difference), SSD (sum of square difference), 또는 다른 차이 메트릭들에 의해 결정될 수도 있다. 참조 샘플은 참조 프레임 또는 참조 슬라이스 내의 어디에서나 발생할 수도 있고, 반드시 참조 프레임 또는 슬라이스의 블록 (예를 들어, 코딩 유닛) 경계에서 발생하지는 않는다. 일부 예들에서, 참조 샘플은 프랙셔널 (fractional) 픽셀 포지션에서 발생할 수도 있다.
모션 추정 유닛 (42) 은 엔트로피 인코딩 유닛 (56) 및 모션 보상 유닛 (44) 으로 계산된 모션 벡터를 전송한다. 모션 벡터에 의해 식별된 참조 프레임의 일부분은 참조 샘플로서 지칭될 수도 있다. 모션 보상 유닛 (44) 은, 예를 들어 PU 에 대한 모션 벡터에 의해 식별된 참조 샘플을 취출함으로써 현재 CU 의 예측 유닛에 대한 예측 값을 계산할 수도 있다.
인트라-예측 유닛 (46) 은 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 수행된 인터 예측에 대한 대안으로써, 수신된 블록을 인트라-예측할 수도 있다. 인트라-예측 유닛 (46) 은, 블록들에 대한 좌측에서 우측으로, 상부에서 하부로의 인코딩 순서를 가정하여, 이웃하는, 미리 코딩된 블록들에 대해 수신된 블록, 예를 들어 현재 블록의 위, 위 우측, 위 좌측, 또는 좌측으로의 블록들을 예측할 수도 있다. 인트라-예측 유닛 (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 (syntax-based context-adaptive binary arithmetic coding), 또는 다른 엔트로피 코딩 방법론을 계수들에 적용할 수도 있다.
CAVLC 를 수행하기 위해, 엔트로피 인코딩 유닛 (56) 은 송신될 심볼에 대한 가변 길이 코드를 선택할 수도 있다. VLC 에서의 코드워드들은, 상대적으로 더 짧은 코드들이 더 가능성 있는 심볼들에 대응하는 한편, 더 긴 코드들이 덜 가능성 있는 심볼들에 대응하도록 구성될 수도 있다. 이러한 방법으로, VLC 의 사용은, 예를 들어, 송신될 각각의 심볼에 대해 동일-길이 코드워드들을 사용하는 것에 비해 비트 절감을 달성할 수도 있다.
CABAC 를 수행하기 위해, 엔트로피 인코딩 유닛 (56) 은 송신될 심볼들을 인코딩하기 위해 소정 콘텍스트를 적용할 콘텍스트 모델을 선택할 수도 있다. 이 콘텍스트는, 예를 들어, 이웃하는 값들이 논-제로 (non-zero) 인지 아닌지 여부에 관련될 수도 있다. 엔트로피 인코딩 유닛 (56) 은 또한, 선택된 변환의 신호 표현과 같은 신택스 엘리먼트들을 엔트로피 인코딩할 수도 있다. 본 개시물의 기법들에 따르면, 엔트로피 인코딩 유닛 (56) 은 콘텍스트 모델 선택에 사용된 다른 팩터들 중에서, 예를 들어, 인트라-예측 모드들에 대한 인트라-예측 방향, 신택스 엘리먼트들에 대응하는 계수의 스캔 포지션, 블록 유형, 변환 유형, 또는 블록 유형과 변환 유형 양자에 기초하여 이들 신택스 엘리먼트들을 인코딩하는데 사용된 콘텍스트 모델을 선택할 수도 있다.
엔트로피 인코딩 유닛 (56) 에 의한 엔트로피 코딩에 후속하여, 결과의 인코딩된 비디오가 다른 디바이스, 예컨대 비디오 디코더 (30) 로 송신될 수도 있고, 또는 추후 송신 또는 취출을 위해 아카이브 (archive) 될 수도 있다.
일부 경우들에서, 엔트로피 인코딩 유닛 (56) 또는 비디오 인코더 (20) 의 다른 유닛은 엔트로피 코딩에 추가하여, 다른 코딩 기능들을 수행하도록 구성될 수도 있다. 예를 들어, 엔트로피 인코딩 유닛 (56) 은 CU 들 및 PU 들에 대한 코딩된 블록 패턴 (coded block pattern; CBP) 값들을 결정하도록 구성될 수도 있다. 또한, 일부 경우들에서, 엔트로피 인코딩 유닛 (56) 은 계수들의 런 길이 코딩을 수행할 수도 있다.
역양자화 모듈 (58) 및 역변환 모듈 (60) 은 참조 블록으로서의 추후 사용을 위해 픽셀 도메인에서 잔여 블록을 재구성하도록, 역양자화 및 역변환을 각각 적용한다. 모션 보상 유닛 (44) 은 잔여 블록을 참조 프레임 버퍼 (64) 의 참조 프레임들 중 하나의 예측 블록에 가산함으로써, 참조 블록을 계산할 수도 있다. 모션 보상 유닛 (44) 은 또한 모션 추정에서의 사용을 위한 서브-정수 픽셀 값들을 계산하기 위해 하나 이상의 보간 필터들을 재구성된 잔여 블록에 적용할 수도 있다. 합산기 (62) 는 재구성된 잔여 블록을 모션 보상 유닛 (44) 에 의해 생성된 모션 보상된 예측 블록에 가산하여, 재구성된 비디오 블록을 생성한다. SAO 및 ALF 유닛 (43) 은 전술된 기법들에 따라 샘플 적응 오프셋 및 적응 루프 필터 프로세스들을 수행할 수도 있다. 필터링된 재구성된 비디오 블록은 그 후, 참조 프레임 버퍼 (64) 에 저장된다. 재구성된 비디오 블록은 후속의 비디오 프레임에서 블록을 인터-코딩하기 위한 참조 블록으로서 모션 보상 유닛 (44) 및 모션 추정 유닛 (42) 에 의해 사용될 수도 있다.
부가적으로, SAO 및 LAF 유닛 (43) 은 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자를 포함하는 필터를 결정할 수도 있다. 예를 들어, ALF 정보는 픽셀에 대한 필터링된 값을 생성하도록 적용되는 필터 계수들 (예를 들어, 필터 탭들) 을 포함할 수도 있는 한편, SAO 정보는 픽셀 값들을 바이어싱하는데 사용되는 오프셋 값들을 포함할 수도 있다. SAO 및 ALF 유닛 (43) 은 그 후, ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자를 포함할 수 있는 코딩된 비트스트림을 생성할 수도 있다. ALF 및 SAO 정보는 LCT 또는 슬라이스 레벨에서 비트스트림으로 전송될 수도 있다.
도 5 는 인코딩된 비디오 시퀀스를 디코딩하는, 비디오 디코더 (30) 의 예를 나타내는 블록도이다. 도 5 의 예에서, 비디오 디코더 (30) 는 엔트로피 디코딩 유닛 (70), 모션 보상 유닛 (72), 인트라-예측 유닛 (74), 역양자화 유닛 (76), 역변환 유닛 (78), 참조 프레임 버퍼 (82), SAO 및 ALF 유닛 (79), 및 합산기 (80) 를 포함할 수도 있다. 비디오 디코더 (30) 는 일반적으로, 일부 예들에서 비디오 인코더 (20)(도 4 참조) 에 대하여 설명된 인코딩 과정과는 상반되는 디코딩 과정을 수행할 수도 있다.
엔트로피 디코딩 유닛 (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 에 대한 쿼드트리의 루트 노드에서 시그널링된 변환에 기초하여 현재 블록에 적용할 변환을 결정할 수도 있다. 대안으로, 변환은 LCU 쿼드트리에서의 리프-노드 CU 에 대한 TU 쿼드트리의 루트에서 시그널링될 수도 있다. 일부 예들에서, 역변환 유닛 (78) 은 캐스케이딩된 역변환을 적용할 수도 있고, 여기서 역변환 유닛 (78) 은 디코딩되고 있는 현재 블록의 변환 계수들에 2 이상의 역변환들을 적용한다.
인트라-예측 유닛 (74) 은 현재 프레임의 이전에 디코딩된 블록들로부터의 데이터 및 시그널링된 인트라-예측 모드에 기초한 현재 프레임의 현재 블록에 대한 예측 데이터를 생성할 수도 있다.
취출된 모션 예측 방향, 참조 프레임 인덱스, 및 계산된 현재 모션 벡터에 기초하여, 모션 보상 유닛은 현재 포션에 대한 모션 보상된 블록을 생성한다. 이들 모션 보상된 블록들은 본질적으로, 잔여 데이터를 생성하는데 사용된 예측 블록을 재생성한다.
모션 보상 유닛 (72) 은, 가능하게는 보간 필터들에 기초한 보간을 수행하여, 모션 보상된 블록들을 생성할 수도 있다. 서브-픽셀 정확도로 모션 추정을 위해 사용될 보간 필터들에 대한 식별자들은 신택스 엘리먼트들에 포함될 수도 있다. 모션 보상 유닛 (72) 은 참조 블록의 서브-정수 픽셀들에 대한 보간된 값들을 계산하기 위해 비디오 블록의 인코딩 동안 비디오 인코더 (20) 에 의해 사용된 바와 같은 보간 필터들을 사용할 수도 있다. 모션 보상 유닛 (72) 은 수신된 신택스 정보에 따라 비디오 인코더 (20) 에 의해 사용된 보간 필터들을 결정하고, 이 보간 필터들을 사용하여 예측 블록들을 생성할 수도 있다.
부가적으로, HEVC 예에서, 모션 보상 유닛 (72) 및 인트라-예측 유닛 (74) 은 (예를 들어, 쿼드트리에 의해 제공된) 신택스 정보의 일부를 사용하여 인코딩된 비디오 시퀀스의 프레임(들)을 인코딩하는데 사용된 LCU들의 사이즈들을 결정할 수도 있다. 모션 보상 유닛 (72) 및 인트라-예측 유닛 (74) 은 또한, 인코딩된 비디오 시퀀스의 프레임의 각 CU 가 분할되는 방법 (및, 마찬가지로 서브-CU 들이 분할되는 방법) 을 설명하는 스플릿 정보를 결정하기 위해 신택스 정보를 사용할 수도 있다. 신택스 정보는 또한, 각 스플릿이 인코딩되는 방법을 나타내는 모드들 (예를 들어, 인트라- 또는 인터-예측, 및 인트라-예측 인코딩 모드를 인터-예측하기 위한), 각각의 인터-인코딩된 PU 에 대한 하나 이상의 참조 프레임들 (및/또는 참조 프레임들에 대한 식별자들을 포함하는 참조 리스트들), 및 다른 정보를 포함하여 인코딩된 비디오 시퀀스를 디코딩할 수도 있다.
합산기 (80) 는 모션 보상 유닛 (72) 또는 인트라-예측 유닛 (74) 에 의해 생성된 대응하는 예측 블록들과 잔여 블록들을 결합하여 디코딩된 블록들을 형성한다. SAO 및 ALF 유닛 (79) 은 전술된 기법들에 따라 샘플 적응 오프셋 및 적응 루프 필터 프로세스들에 대한 기법들을 수행할 수도 있다. 원한다면, 블록 인공물 (blockiness artifact) 들을 제거하기 위해 디코딩된 블록들을 필터링하도록 디블록킹 필터가 또한 적용될 수도 있다. 디코딩된 비디오 블록들은 그 후, 참조 프레임 버퍼 (82) 에 저장되는데, 이 버퍼는 후속의 모션 보상을 위해 참조 블록들을 제공하고 또한 디스플레이 디바이스 (예컨대, 도 3 의 디스플레이 디바이스 (32)) 상의 표시를 위해 디코딩된 비디오를 생성한다. 일 예에서, SAO 및 ALF 유닛 (79) 은 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자를 포함하는 코딩된 비트스트림을 수신할 수도 있다. 디코더는 그 후, 코딩된 비트스트림을 해석하여 사용될 정확한 필터를 선택할 수도 있다.
도 6 은 본 개시물에 설명된 하나 이상의 예들에 따라 비디오 코딩 프로세스에서 적응 루프 필터 (ALF), 샘플 적응 오프셋 (SAO) 프로세스들, 또는 ALF 및 SAO 프로세싱 양자 모두를 수행하는 예시의 방법을 나타내는 플로우차트이다. 예시의 방법은 비디오 코딩 프로세스에서 ALF, SAO 프로세스들, 또는 ALF 및 SAO 프로세싱 양자 모두를 수행한다.
도 6 의 예시의 방법에서, 비디오 인코더 (20) 또는 비디오 디코더 (30) 와 같은 코더는 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자 모두를 저장할 수도 있다 (600). 예를 들어, LCU 기반 또는 다른 파티션 기반 신택스를 지원하기 위해, 비디오 코더 (즉, 비디오 인코더 또는 디코더) 는 ALF 정보, SAO 정보, 또는 양자의 세트들, 예컨대 필터들, 오프셋들, 또는 양자의 세트들, 및 ALF 정보, SAO 정보, 또는 ALF 와 SAO 정보 양자의 세트들과, LCU 들, 다른 파티션들, 또는 LCU 들 및 다른 파티션들 양자 간의 맵핑을 나타내는 맵핑 정보를 저장할 수도 있다. 비디오 인코더 또는 비디오 디코더는 비디오 코딩 프로세스의 ALF 프로세스들, SAO 프로세스들, 또는 ALF 프로세스들 및 SAO 프로세스들 양자에서의 사용을 위해 이러한 정보를 저장할 수도 있다. 비디오 인코더는 ALF 프로세스들, SAO 프로세스들, 또는 ALF 프로세스들 및 SAO 프로세스들 양자에서 그 정보를 사용하고, 인코딩된 비디오 비트스트림으로 그 정보를 신택스 엘리먼트들로써 인코딩할 수도 있다. 비디오 디코더는 비디오 코딩 프로세스의 ALF 프로세스들, SAO 프로세스들, 또는 ALF 및 SAO 프로세스들에서의 사용을 위해 신택스 엘리먼트들을 획득 및 저장하도록 비디오 비트스트림을 디코딩할 수도 있다. 이 정보는 본 개시물의 각종 예들에 따라 다양한 상이한 방식들로 조직될 수도 있다. 일부 예들에서, ALF 프로세스들, SAO 프로세스들, 또는 ALF 및 SAO 프로세스들은 루프 내에서 수행될 수도 있다. 일부 예들에서, 이러한 프로세스들은 루프 후에 수행될 수도 있다.
도 6 의 예시의 방법에서, 비디오 인코더 (20) 또는 비디오 디코더 (30) 와 같은 코더는 비디오 데이터의 프레임의 하나 이상의 파티션들에 대한 ALF 정보, 또는 SAO 정보의 세트들 중 적어도 일부를 맵핑하는 맵핑 정보를 저장할 수도 있다 (602). 예를 들어, 맵핑 정보는 일부 스캐닝 순서 (예를 들어, LCU/CU 스캐닝 순서와 유사한 스캐닝 순서) 를 따를 수도 있다. 이 정보는 각각의 LCU 레벨에 저장될 수도 있다. 이 경우, ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보는 맵핑 정보와 LCU 레벨에 저장될 수도 있다. 다른 예에서, 필터들/오프셋들의 세트는 APS 에 또는 슬라이스 헤더에 저장될 수 있다. 필터들/오프셋들의 세트는 APS 또는 슬라이스 헤더에 저장될 수 있고, 맵핑 정보는 LCU 에 저장될 수 있다.
필터들/오프셋들의 세트 및 맵핑 정보가 동일한 장소 (즉, 슬라이스 헤더) 에 저장되면, 이들 2 개 세트들의 정보는 2 개의 방식들로 저장될 수 있다. 먼저, 필터들/오프셋들의 세트 및 맵핑 정보는 (도 1 및 도 2 에서의 예 2 에 도시된 바와 같이) 분리되어 저장될 수도 있다. 이 경우에서, 필터들/오프셋들의 세트는 맵핑 정보에 독립적으로 저장될 수도 있다. 맵핑 정보는 그 후, 특정 LCU 들 (또는 다른 파티션들) 에의 적용을 위해 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자의 세트를 참조할 수도 있다. 두 번째로, 필터들/오프셋들의 세트 및 맵핑 정보는 (도 1 및 도 2 의 예 1 에 도시된 바와 같이) 인터리빙된 방식으로 저장될 수도 있다. 이 방식에서, 필터들/오프셋들의 세트들은 예를 들어 순차적으로, 인터리빙된 방식으로 각각의 LCU (또는 다른 파티션) 에 대해 존재 및 저장될 수도 있고, 여기서 특정 필터/오프셋 세트들은 각각의 LCU 들에 대해 존재되고, 특정 맵핑 정보 (예를 들어, 복사 또는 런 길이 커맨드) 는 다른 LCU 들에 대해 존재된다.
비디오 인코더 (20) 또는 비디오 디코더 (30) 와 같은 일 예의 코더에서, 코더는 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자의 세트들, 및 LCU 레벨 또는 슬라이스 레벨 신택스 엘리먼트들과 같은 맵핑 정보를 저장할 수도 있다. 코더는 LCU 레벨 또는 슬라이스 레벨에서 별개로 또는 인터리빙된 방식으로 맵핑 정보, 및 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자의 세트들을 저장할 수도 있다. 코더는 또한, ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자의 세트들을 적응 파라미터 세트 (APS) 또는 슬라이스 헤더에 저장하고, 슬라이스 헤더에서의 맵핑 정보를 코딩할 수도 있다. 일 예에서, 코더는 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자의 세트들을 적응 파라미터 세트 (APS) 또는 슬라이스 헤더에 저장하고, 맵핑 정보를 LCU 레벨에서 코딩할 수도 있다.
하나 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 그 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상에 저장되거나 또는 컴퓨터 판독가능 매체를 통해 송신되어, 하드웨어-기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체를 포함할 수도 있으며, 이 저장 매체는 데이터 저장 매체와 같은 유형 (tangible) 의 매체, 또는, 예를 들어, 통신 프로토콜에 따라 한 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함한 통신 매체들에 대응한다. 이 방식에서, 컴퓨터 판독가능 매체는 일반적으로 (1) 비일시적인 유형의 컴퓨터 판독가능 매체 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체는 본 개시물에 설명된 기법들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 가용 매체들일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수도 있다.
도 7 은 본 개시물에 설명된 하나 이상의 예들에 따른 비디오 인코더 (20) 에서 구현된 예시의 방법을 나타내는 플로우차트이다. 비디오 인코더 (20) 내의 SAO 및 ALF 유닛 (43) 은 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자를 포함하는 필터를 결정할 수도 있다. 예를 들어, ALF 정보는 픽셀에 대한 필터링된 값을 생성하도록 적용되는 필터 계수들 (예를 들어, 필터 탭들) 을 포함할 수도 있다. SAO 정보는 픽셀 값들을 바이어싱하는데 사용되는 오프셋 값들을 포함할 수도 있다.
SAO 및 ALF 유닛 (43) 은 그 후, 필터를 사용하여 코딩된 비트스트림을 생성할 수도 있다. 부가적으로, 코딩된 비트스트림은 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자를 포함할 수도 있다. ALF 및 SAO 정보는 LCT 또는 슬라이스 레벨에서 비트스트림으로 전송될 수도 있다. 예를 들어, 픽셀 값들을 바이어싱하는데 사용되는 오프셋 값들 및/또는 적용되는 필터 계수들 (예를 들어, 필터 탭들) 은 비트스트림으로 전송될 수도 있다. 이것은, 필터링이 프레임 내에서 변할 수도 있기 때문에 프레임 레벨에서 이러한 정보를 전송하는 것에 비교한 경우 더 미세한 입도 (granularity) 를 허용할 수 있는 LCT 또는 슬라이스 레벨에서 발생할 수도 있다. 일부 예들에서, 플래그는 필터링이 사용되었다는 것을 나타내는 LCU 에서 전송될 수도 있다. 다른 예들에서, 신택스 정보는 LCU 또는 파티션 레벨에서 전송될 수도 있다.
도 8 은 본 개시물에 설명된 하나 이상의 예들에 따른 비디오 디코더 (30) 에서 구현된 예시의 방법을 나타내는 플로우차트이다. 비디오 디코더 (30) 내의 SAO 및 ALF 유닛 (79) 은 코딩된 비트스트림을 수신할 수도 있다. 코딩된 비트스트림은 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자를 포함할 수도 있다. 디코더는 코딩된 비트스트림을 해석하여 사용될 정확한 필터를 선택한다. 다시 말하면, 비디오 디코더 (30) 는 비디오 인코더 (20) 가 선택한 필터가 무엇인지 결정한다. 부가적으로, SAO 및 ALF 유닛 (79) 은 ALF 정보, SAO 정보, 또는 ALF 및 SAO 정보 양자를 적용하여 비트스트림을 디코딩할 수도 있다. 예를 들어, 적용되는 필터 계수들 (예를 들어, 필터 탭들) 및/또는 픽셀 값들을 바이어싱하는데 사용되는 오프셋 값들은 수신된 비트스트림으로 수신될 수도 있다. 이러한 예들은 필터링될 프레임 내의 모든 블록들이 동일할 것을 요구하기 보다는 상이한 블록들의 상이한 필터링을 허용한다.
비제한적인 예로서, 이러한 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 저장, 자기 디스크 저장, 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체라고 적절히 지칭된다. 예를 들어, 명령들이 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블, 광섬유 케이블, 연선 (twisted pair), 디지털 가입자 라인 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 송신된다면, 이러한 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술은 매체의 정의에 포함된다. 그러나, 컴퓨터 판독가능 저장 매체 및 데이터 저장 매체는 접속들, 반송파들, 신호들, 또는 다른 일시적인 매체들을 포함하지 않고, 그 대신에 비일시적인 유형의 저장 매체들로 직결된다는 것을 이해해야 한다. 디스크 (disk 및 disc) 는 여기서 사용되는 바와 같이, 콤팩트 디스크 (compact disc; CD), 레이저 디스크, 광 디스크, 디지털 다용도 디스크 (digital versatile disc; DVD), 플로피 디스크 및 블루레이 디스크를 포함하고, 여기서 디스크들 (disks) 은 보통 데이터를 자기적으로 재생하지만, 디스크들 (discs) 은 레이저들로 광학적으로 데이터를 재생한다. 상기한 것들의 조합들도 역시 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 프로세서들, 예컨대, 하나 이상의 디지털 신호 프로세서들 (digital signal processors; DSPs), 범용 마이크로프로세서들, 주문형 집적 회로들 (application specific integrated circuits; ASICs), 필드 프로그래밍가능 로직 어레이들 (field programmable logic arrays; FPGAs), 또는 다른 균등한 집적 또는 개별 로직 회로에 의해 실행될 수도 있다. 이에 따라, 용어 "프로세서" 는 여기서 사용되는 바와 같이, 앞선 구조 또는 여기에 설명된 기법들의 구현에 적합한 임의의 다른 구조 중 임의의 것을 지칭할 수도 있다. 또한, 일부 양태들에서, 여기에 설명된 기능성은 인코딩 및 디코딩을 위해 구성되는 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공되거나, 또는 결합형 코덱 (codec) 내에 통합될 수도 있다. 또한, 이러한 기법들은 하나 이상의 회로들 또는 로직 엘리먼트들 내에서 완전히 구현될 수 있다.
본 개시물의 기법들은 무선 핸드셋, 집적 회로 (IC) 또는 IC들의 세트 (예를 들어, 칩 셋) 을 포함하는, 매우 다양한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 컴포넌트들, 모듈들, 또는 유닛들은 개시된 기법들을 수행하도록 구성되는 디바이스들의 기능적 양태들을 강조하기 위해 본 개시물에서 기술되지만, 상이한 하드웨어 유닛들에 의한 실현을 반드시 요구하는 것은 아니다. 오히려, 전술된 바와 같이, 다양한 유닛들은 코덱 하드웨어 유닛에 결합되거나 또는 적합한 소프트웨어 및/또는 펌웨어와 공동으로, 전술된 바와 같은 하나 이상의 프로세서들을 포함하는, 상호운용적 하드웨어 유닛들의 콜렉션에 의해 제공될 수도 있다.
본 개시물의 다양한 양태들이 기술되었다. 이러한 그리고 다른 예들은 다음의 특허청구범위의 범위 내에 있다.

Claims (72)

  1. 비디오 코딩 프로세스에서 샘플 적응 오프셋 (sample adaptive offset; SAO) 프로세스들을 수행하는 방법으로서,
    SAO 정보의 세트들을 저장하는 단계로서, 상기 SAO 정보는 오프셋 값들을 나타내는 데이터를 포함하는, 상기 SAO 정보의 세트들을 저장하는 단계;
    비디오 데이터의 프레임의 하나 이상의 시퀀스 파티션들에 대한 상기 SAO 정보의 세트들 중 적어도 일부를 맵핑하는 맵핑 정보를 저장하는 단계로서, 상기 맵핑 정보는 SAO 정보가 상기 SAO 프로세스들에서의 사용을 위해 상기 파티션들 중 다른 하나로부터 상기 파티션들 중 하나에 복사되어야 하는지 여부를 나타내는 복사 정보를 포함하고, 상기 복사 정보는 좌측 파티션으로부터의 복사 또는 상부 파티션 커맨드로부터의 복사 중 하나를 포함하는 복사 커맨드를 포함하는, 상기 맵핑 정보를 저장하는 단계;
    상기 SAO 정보의 세트들 및 상기 맵핑 정보를 최대 코딩 유닛 (largest coding unit; LCU) 레벨 신택스 엘리먼트들로서 코딩하는 단계; 및
    저장된 상기 SAO 정보 및 저장된 상기 맵핑 정보에 기초하여 상기 프레임의 상기 파티션들 중 하나에 대해 상기 SAO 프로세스들을 수행하는 단계를 포함하는, 비디오 코딩 프로세스에서 샘플 적응 오프셋 프로세스들을 수행하는 방법.
  2. 제 1 항에 있어서,
    상기 하나 이상의 파티션들은 비디오 데이터의 상기 프레임의 하나 이상의 최대 코딩 유닛 (largest coding unit; LCU) 들을 포함하는, 비디오 코딩 프로세스에서 샘플 적응 오프셋 프로세스들을 수행하는 방법.
  3. 제 1 항에 있어서,
    상기 맵핑 정보는 새로운 필터, 새로운 오프셋, 또는 상기 새로운 필터 및 상기 새로운 오프셋 양자가 상기 SAO 프로세스들에서의 사용을 위해 상기 파티션들 중 하나에 할당되어야 하는지 여부를 나타내는 플래그 정보를 포함하는, 비디오 코딩 프로세스에서 샘플 적응 오프셋 프로세스들을 수행하는 방법.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 맵핑 정보는 동일한 SAO 정보를 공유하는 순차적 파티션들의 수를 나타내는 런 (run) 정보를 포함하는, 비디오 코딩 프로세스에서 샘플 적응 오프셋 프로세스들을 수행하는 방법.
  6. 제 1 항에 있어서,
    상기 맵핑 정보는 플래그 정보와 연관된 상기 파티션들 중 하나에 할당될 상기 SAO 정보의 세트들 중 하나를 나타내는 식별 (identification) 을 더 포함하는, 비디오 코딩 프로세스에서 샘플 적응 오프셋 프로세스들을 수행하는 방법.
  7. 제 1 항에 있어서,
    플래그 정보는 상기 플래그 정보와 연관된 상기 파티션들 중 하나에 할당될 상기 SAO 정보의 세트들 중 하나를 나타내는 식별을 더 포함하는, 비디오 코딩 프로세스에서 샘플 적응 오프셋 프로세스들을 수행하는 방법.
  8. 삭제
  9. 제 1 항에 있어서,
    상기 SAO 정보의 세트들 및 상기 맵핑 정보는 LCU 레벨 신택스 엘리먼트들로서 인터리빙된 방식으로 코딩되는, 비디오 코딩 프로세스에서 샘플 적응 오프셋 프로세스들을 수행하는 방법.
  10. 제 1 항에 있어서,
    상기 SAO 정보의 세트들 및 상기 맵핑 정보를 LCU 레벨 신택스 엘리먼트들로서 코딩하는 단계는, SAO 정보의 제 1 세트를 제 1 LCU 에 할당하는 단계, 제 2 LCU 에 대해 상기 SAO 정보의 제 1 세트를 복사하는 단계, SAO 정보의 제 2 세트를 제 3 LCU 에 할당하는 단계, 제 4 LCU 에 대해 상기 SAO 정보의 제 2 세트를 복사하는 단계를 포함하고,
    제 5 LCU 는 OFF 로서 나타내어지고, 맵핑 정보와 SAO 정보의 이 표현은 모든 남아 있는 LCU 들에 대해 계속되는, 비디오 코딩 프로세스에서 샘플 적응 오프셋 프로세스들을 수행하는 방법.
  11. 삭제
  12. 제 1 항에 있어서,
    적응 파라미터 세트 (adaptation parameter set; APS) 또는 슬라이스 헤더에서의 상기 SAO 정보의 세트들을 코딩하고, 상기 슬라이스 헤더에서의 상기 맵핑 정보를 코딩하는 단계를 더 포함하는, 비디오 코딩 프로세스에서 샘플 적응 오프셋 프로세스들을 수행하는 방법.
  13. 제 1 항에 있어서,
    상기 SAO 정보 및 상기 맵핑 정보를 순차적인 인터리빙된 방식으로 코딩하는 단계를 더 포함하는, 비디오 코딩 프로세스에서 샘플 적응 오프셋 프로세스들을 수행하는 방법.
  14. 제 1 항에 있어서,
    코딩된 비트스트림을 필터를 사용하여 생성하는 단계를 더 포함하고,
    상기 코딩된 비트스트림은 상기 SAO 정보를 포함하는, 비디오 코딩 프로세스에서 샘플 적응 오프셋 프로세스들을 수행하는 방법.
  15. 제 1 항에 있어서,
    상기 SAO 정보를 포함하는 코딩된 비트스트림을 수신하는 단계; 및
    상기 SAO 정보를 비디오 디코더에서 적용하는 단계를 더 포함하는, 비디오 코딩 프로세스에서 샘플 적응 오프셋 프로세스들을 수행하는 방법.
  16. 제 1 항에 있어서,
    적응 루프 필터 (adaptive loop filter; ALF) 정보의 세트들을 저장하는 단계로서, 상기 ALF 정보는 필터 계수들에 관련되는 정보를 포함하는, 상기 적응 루프 필터 정보의 세트들을 저장하는 단계;
    비디오 데이터의 상기 프레임의 하나 이상의 시퀀스 파티션들에 대한 상기 ALF 정보의 세트들 중 적어도 일부를 맵핑하는 맵핑 정보를 저장하는 단계; 및
    저장된 상기 ALF 정보 및 저장된 상기 맵핑 정보에 기초하여 상기 프레임의 상기 파티션들 중 하나에 대해 ALF 프로세스를 수행하는 단계를 더 포함하는, 비디오 코딩 프로세스에서 샘플 적응 오프셋 프로세스들을 수행하는 방법.
  17. 제 16 항에 있어서,
    상기 맵핑 정보는,
    새로운 필터, 새로운 오프셋, 또는 상기 새로운 필터 및 상기 새로운 오프셋 양자가 상기 ALF 프로세스에서의 사용을 위해 상기 파티션들 중 하나에 할당되어야 하는지 여부를 나타내는 플래그 정보;
    ALF 정보가 상기 ALF 프로세스들에서의 사용을 위해 상기 파티션들 중 다른 하나로부터 상기 파티션들 중 하나에 복사되어야 하는지 여부를 나타내는 복사 정보; 또는
    동일한 ALF 정보를 공유하는 순차적 파티션들의 수를 나타내는 런 정보 중 적어도 하나를 포함하는, 비디오 코딩 프로세스에서 샘플 적응 오프셋 프로세스들을 수행하는 방법.
  18. 제 16 항에 있어서,
    상기 맵핑 정보는 플래그 정보와 연관된 상기 파티션들 중 하나에 할당될 상기 ALF 정보의 세트들 중 하나를 나타내는 제 1 식별을 더 포함하고,
    상기 플래그 정보는 상기 플래그 정보와 연관된 상기 파티션들 중 상기 하나에 할당될 상기 ALF 정보의 세트들 중 하나를 나타내는 제 2 식별을 더 포함하는, 비디오 코딩 프로세스에서 샘플 적응 오프셋 프로세스들을 수행하는 방법.
  19. 제 16 항에 있어서,
    상기 ALF 정보의 세트들을 LCU 레벨 신택스 엘리먼트들로서 또는 슬라이스 레벨 신택스 엘리먼트들로서 코딩하는 단계를 더 포함하고,
    상기 코딩하는 단계는 인터리빙된 방식으로 행해지는, 비디오 코딩 프로세스에서 샘플 적응 오프셋 프로세스들을 수행하는 방법.
  20. 제 16 항에 있어서,
    적응 파라미터 세트 (APS) 또는 슬라이스 헤더에서의 상기 ALF 정보의 세트들을 코딩하고, 상기 슬라이스 헤더에서의 상기 맵핑 정보를 코딩하는 단계를 더 포함하는, 비디오 코딩 프로세스에서 샘플 적응 오프셋 프로세스들을 수행하는 방법.
  21. 제 16 항에 있어서,
    적응 파라미터 세트 (APS) 또는 슬라이스 헤더에서의 상기 ALF 정보의 세트들을 코딩하고, 상기 맵핑 정보를 LCU 레벨 신택스 엘리먼트들로서 코딩하는 단계를 더 포함하는, 비디오 코딩 프로세스에서 샘플 적응 오프셋 프로세스들을 수행하는 방법.
  22. 비디오 코딩 프로세스에서 적응 루프 필터 (adaptive loop filter; ALF), 샘플 적응 오프셋 (sample adaptive offset; SAO) 프로세스들, 또는 ALF 및 SAO 프로세싱을 수행하기 위한 비디오 코더로서,
    메모리;
    SAO 정보의 세트들을 상기 메모리에 저장하는 것으로서, 상기 SAO 정보는 오프셋 값들을 나타내는 데이터를 포함하는, 상기 SAO 정보의 세트들을 저장하고;
    비디오 데이터의 프레임의 하나 이상의 시퀀스 파티션들에 대한 상기 SAO 정보의 세트들 중 적어도 일부를 맵핑하는 맵핑 정보를 상기 메모리에 저장하는 것으로서, 상기 맵핑 정보는 SAO 정보가 상기 SAO 프로세스들에서의 사용을 위해 상기 파티션들 중 다른 하나로부터 상기 파티션들 중 하나에 복사되어야 하는지 여부를 나타내는 복사 정보를 포함하고, 상기 복사 정보는 좌측 파티션으로부터의 복사 또는 상부 파티션 커맨드로부터의 복사 중 하나를 포함하는 복사 커맨드를 포함하는, 상기 맵핑 정보를 상기 메모리에 저장하고;
    상기 SAO 정보의 세트들 및 상기 맵핑 정보를 최대 코딩 유닛 (largest coding unit; LCU) 레벨 신택스 엘리먼트들로서 코딩하며;
    저장된 상기 SAO 정보 및 저장된 상기 맵핑 정보에 기초하여 상기 프레임의 상기 파티션들 중 하나에 대해 SAO 오프세팅들을 수행하도록 구성된 프로세서를 포함하는, 비디오 코더.
  23. 제 22 항에 있어서,
    상기 하나 이상의 파티션들은 비디오 데이터의 상기 프레임의 하나 이상의 최대 코딩 유닛 (LCU) 들을 포함하는, 비디오 코더.
  24. 제 22 항에 있어서,
    상기 맵핑 정보는 새로운 필터, 새로운 오프셋, 또는 상기 새로운 필터 및 상기 새로운 오프셋 양자가 상기 SAO 프로세스들에서의 사용을 위해 상기 파티션들 중 하나에 할당되어야 하는지 여부를 나타내는 플래그 정보를 포함하는, 비디오 코더.
  25. 삭제
  26. 제 22 항에 있어서,
    상기 맵핑 정보는 동일한 SAO 정보를 공유하는 순차적 파티션들의 수를 나타내는 런 정보를 포함하는, 비디오 코더.
  27. 제 22 항에 있어서,
    상기 맵핑 정보는 플래그 정보와 연관된 상기 파티션들 중 하나에 할당될 상기 SAO 정보의 세트들 중 하나를 나타내는 식별을 더 포함하는, 비디오 코더.
  28. 제 22 항에 있어서,
    플래그 정보는 상기 플래그 정보와 연관된 상기 파티션들 중 하나에 할당될 상기 SAO 정보의 세트들 중 하나를 나타내는 식별을 더 포함하는, 비디오 코더.
  29. 삭제
  30. 삭제
  31. 삭제
  32. 제 22 항에 있어서,
    상기 SAO 정보의 세트들 및 상기 맵핑 정보를 LCU 레벨 신택스 엘리먼트들로서 코딩하는 것은, SAO 정보의 제 1 세트를 제 1 LCU 에 할당하는 것, 제 2 LCU 에 대해 상기 SAO 정보의 제 1 세트를 복사하는 것, SAO 정보의 제 2 세트를 제 3 LCU 에 할당하는 것, 및 제 4 LCU 에 대해 상기 SAO 정보의 제 2 세트를 복사하는 것을 포함하고,
    제 5 LCU 는 OFF 로서 나타내어지고, 맵핑 정보와 SAO 정보의 이 표현은 모든 남아 있는 LCU 들에 대해 계속되는, 비디오 코더.
  33. 제 22 항에 있어서,
    상기 프로세서는 또한, 적응 파라미터 세트 (APS) 또는 슬라이스 헤더에서의 상기 SAO 정보의 세트들을 코딩하고, 상기 슬라이스 헤더에서의 상기 맵핑 정보를 코딩하도록 구성되는, 비디오 코더.
  34. 제 22 항에 있어서,
    상기 프로세서로 하여금, 상기 SAO 정보의 세트들 및 상기 맵핑 정보를 순차적인 인터리빙된 방식으로 코딩하게 하는 명령들을 더 포함하는, 비디오 코더.
  35. 제 22 항에 있어서,
    상기 프로세서는 또한,
    코딩된 비트스트림을 필터를 사용하여 생성하도록 구성되고,
    상기 코딩된 비트스트림은 상기 SAO 정보를 포함하는, 비디오 코더.
  36. 제 22 항에 있어서,
    상기 프로세서는 또한,
    상기 SAO 정보를 포함하는 코딩된 비트스트림을 수신하며;
    상기 SAO 정보를 비디오 디코더에서 적용하도록 구성되는, 비디오 코더.
  37. 제 22 항에 있어서,
    상기 프로세서는 또한,
    적응 루프 필터 (ALF) 정보의 세트들을 저장하는 것으로서, 상기 ALF 정보는 필터 계수들에 관련되는 정보를 포함하는, 상기 적응 루프 필터 정보의 세트들을 저장하고;
    비디오 데이터의 상기 프레임의 하나 이상의 시퀀스 파티션들에 대한 상기 ALF 정보의 세트들 중 적어도 일부를 맵핑하는 맵핑 정보를 저장하며;
    저장된 상기 ALF 정보 및 저장된 상기 맵핑 정보에 기초하여 상기 프레임의 상기 파티션들 중 하나에 대해 ALF 프로세스를 수행하도록 구성되는, 비디오 코더.
  38. 제 37 항에 있어서,
    상기 맵핑 정보는,
    새로운 필터, 새로운 오프셋, 또는 상기 새로운 필터 및 상기 새로운 오프셋 양자가 상기 ALF 프로세스에서의 사용을 위해 상기 파티션들 중 하나에 할당되어야 하는지 여부를 나타내는 플래그 정보;
    ALF 정보가 상기 ALF 프로세스들에서의 사용을 위해 상기 파티션들 중 다른 하나로부터 상기 파티션들 중 하나에 복사되어야 하는지 여부를 나타내는 복사 정보; 또는
    동일한 ALF 정보를 공유하는 순차적 파티션들의 수를 나타내는 런 정보
    중 적어도 하나를 포함하는, 비디오 코더.
  39. 제 37 항에 있어서,
    상기 맵핑 정보는 플래그 정보와 연관된 상기 파티션들 중 하나에 할당될 상기 ALF 정보의 세트들 중 하나를 나타내는 제 1 식별을 더 포함하고,
    상기 플래그 정보는 상기 플래그 정보와 연관된 상기 파티션들 중 상기 하나에 할당될 상기 ALF 정보의 세트들 중 하나를 나타내는 제 2 식별을 더 포함하는, 비디오 코더.
  40. 제 37 항에 있어서,
    상기 프로세서는 또한,
    상기 ALF 정보의 세트들을 LCU 레벨 신택스 엘리먼트들로서 또는 슬라이스 레벨 신택스 엘리먼트들로서 코딩하도록 구성되고,
    상기 코딩하는 것은 별개로 행해지거나 인터리빙된 방식으로 행해지는, 비디오 코더.
  41. 제 37 항에 있어서,
    상기 프로세서는 또한,
    적응 파라미터 세트 (APS) 또는 슬라이스 헤더에서의 상기 ALF 정보의 세트들을 코딩하고, 상기 슬라이스 헤더에서의 상기 맵핑 정보를 코딩하도록 구성되는, 비디오 코더.
  42. 제 37 항에 있어서,
    상기 프로세서는 또한,
    적응 파라미터 세트 (APS) 또는 슬라이스 헤더에서의 상기 ALF 정보의 세트들을 코딩하고, 상기 맵핑 정보를 LCU 레벨 신택스 엘리먼트들로서 코딩하도록 구성되는, 비디오 코더.
  43. 비디오 코딩 프로세스에 대한 샘플 적응 오프셋 (sample adaptive offset; SAO) 프로세스들을 수행하기 위한 비디오 코더로서,
    SAO 정보의 세트들을 저장하기 위한 수단으로서, 상기 SAO 정보는 오프셋 값들을 나타내는 데이터를 포함하는, 상기 SAO 정보의 세트들을 저장하기 위한 수단;
    비디오 데이터의 프레임의 하나 이상의 시퀀스 파티션들에 대한 상기 SAO 정보의 세트들 중 적어도 일부를 맵핑하는 맵핑 정보를 저장하기 위한 수단으로서, 상기 맵핑 정보는 SAO 정보가 상기 SAO 프로세스들에서의 사용을 위해 상기 파티션들 중 다른 하나로부터 상기 파티션들 중 하나에 복사되어야 하는지 여부를 나타내는 복사 정보를 포함하고, 상기 복사 정보는 좌측 파티션으로부터의 복사 또는 상부 파티션 커맨드로부터의 복사 중 하나를 포함하는 복사 커맨드를 포함하는, 상기 맵핑 정보를 저장하기 위한 수단;
    상기 SAO 정보의 세트들 및 상기 맵핑 정보를 최대 코딩 유닛 (largest coding unit; LCU) 레벨 신택스 엘리먼트들로서 코딩하기 위한 수단; 및
    저장된 상기 SAO 정보 및 저장된 상기 맵핑 정보에 기초하여 상기 프레임의 상기 파티션들 중 하나에 대한 상기 SAO 프로세스들을 수행하기 위한 수단을 포함하는, 비디오 코딩 프로세스에 대한 샘플 적응 오프셋 프로세스들을 수행하기 위한 비디오 코더.
  44. 제 43 항에 있어서,
    상기 하나 이상의 파티션들은 비디오 데이터의 상기 프레임의 하나 이상의 최대 코딩 유닛 (LCU) 들을 포함하는, 비디오 코딩 프로세스에 대한 샘플 적응 오프셋 프로세스들을 수행하기 위한 비디오 코더.
  45. 제 43 항에 있어서,
    상기 맵핑 정보는 플래그 정보와 연관된 상기 파티션들 중 하나에 할당될 상기 SAO 정보의 세트들 중 하나를 나타내는 식별을 더 포함하는, 비디오 코딩 프로세스에 대한 샘플 적응 오프셋 프로세스들을 수행하기 위한 비디오 코더.
  46. 제 43 항에 있어서,
    플래그 정보는 상기 플래그 정보와 연관된 상기 파티션들 중 하나에 할당될 상기 SAO 정보의 세트들 중 하나를 나타내는 식별을 더 포함하는, 비디오 코딩 프로세스에 대한 샘플 적응 오프셋 프로세스들을 수행하기 위한 비디오 코더.
  47. 삭제
  48. 제 43 항에 있어서,
    상기 SAO 정보의 세트들 및 상기 맵핑 정보 양자를 코딩하기 위한 수단은 LCU 레벨 신택스 엘리먼트들을 포함하고 상기 SAO 정보의 세트들 및 상기 맵핑 정보를 인터리빙된 방식으로 코딩하는, 비디오 코딩 프로세스에 대한 샘플 적응 오프셋 프로세스들을 수행하기 위한 비디오 코더.
  49. 삭제
  50. 제 43 항에 있어서,
    상기 SAO 정보의 세트들 및 상기 맵핑 정보를 LCU 레벨 신택스 엘리먼트들로서 코딩하기 위한 수단은, SAO 정보의 제 1 세트를 제 1 LCU 에 할당하는 것, 제 2 LCU 에 대해 상기 SAO 정보의 제 1 세트를 복사하는 것, SAO 정보의 제 2 세트를 제 3 LCU 에 할당하는 것, 제 4 LCU 에 대해 상기 SAO 정보의 제 2 세트를 복사하는 것을 포함하고,
    제 5 LCU 는 OFF 로서 나타내어지고, 맵핑 정보와 SAO 정보의 이 표현은 모든 남아 있는 LCU 들에 대해 계속되는, 비디오 코딩 프로세스에 대한 샘플 적응 오프셋 프로세스들을 수행하기 위한 비디오 코더.
  51. 제 43 항에 있어서,
    적응 파라미터 세트 (APS) 또는 슬라이스 헤더에서의 상기 SAO 정보의 세트들을 코딩하고, 상기 슬라이스 헤더에서의 상기 맵핑 정보를 코딩하기 위한 수단을 더 포함하는, 비디오 코딩 프로세스에 대한 샘플 적응 오프셋 프로세스들을 수행하기 위한 비디오 코더.
  52. 제 43 항에 있어서,
    상기 SAO 정보의 세트들 및 상기 맵핑 정보를 순차적인 인터리빙된 방식으로 코딩하기 위한 수단을 더 포함하는, 비디오 코딩 프로세스에 대한 샘플 적응 오프셋 프로세스들을 수행하기 위한 비디오 코더.
  53. 제 43 항에 있어서,
    상기 SAO 정보를 포함하는 필터를 결정하기 위한 수단; 및
    상기 필터를 사용하여 코딩된 비트스트림을 생성하기 위한 수단을 더 포함하고,
    상기 코딩된 비트스트림은 상기 SAO 정보를 포함하는, 비디오 코딩 프로세스에 대한 샘플 적응 오프셋 프로세스들을 수행하기 위한 비디오 코더.
  54. 제 43 항에 있어서,
    상기 SAO 정보를 포함하는 코딩된 비트스트림을 수신하기 위한 수단; 및
    상기 SAO 정보를 비디오 디코더에서 적용하기 위한 수단을 더 포함하는, 비디오 코딩 프로세스에 대한 샘플 적응 오프셋 프로세스들을 수행하기 위한 비디오 코더.
  55. 제 43 항에 있어서,
    필터 계수들에 관련되는 정보를 포함하는 ALF 정보의 세트들을 저장하기 위한 수단;
    비디오 데이터의 상기 프레임의 하나 이상의 시퀀스 파티션들에 대한 상기 ALF 정보의 세트들 중 적어도 일부를 맵핑하는 맵핑 정보를 저장하기 위한 수단; 및
    저장된 상기 ALF 정보 및 저장된 상기 맵핑 정보에 기초하여 상기 프레임의 상기 파티션들 중 하나에 대해 ALF 프로세스를 수행하기 위한 수단을 더 포함하는, 비디오 코딩 프로세스에 대한 샘플 적응 오프셋 프로세스들을 수행하기 위한 비디오 코더.
  56. 명령들을 저장하고 있는 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은 실행되는 경우, 디바이스의 하나 이상의 프로세서들로 하여금,
    SAO 정보의 세트들을 저장하는 것으로서, 상기 SAO 정보는 오프셋 값들을 나타내는 데이터를 포함하는, 상기 SAO 정보의 세트들을 저장하게 하고;
    비디오 데이터의 프레임의 하나 이상의 시퀀스 파티션들에 대한 상기 SAO 정보의 세트들 중 적어도 일부를 맵핑하는 맵핑 정보를 저장하게 하는 것으로서, 상기 맵핑 정보는 SAO 정보가 상기 SAO 프로세스들에서의 사용을 위해 상기 파티션들 중 다른 하나로부터 상기 파티션들 중 하나에 복사되어야 하는지 여부를 나타내는 복사 정보를 포함하고, 상기 복사 정보는 좌측 파티션으로부터의 복사 또는 상부 파티션 커맨드로부터의 복사 중 하나를 포함하는 복사 커맨드를 포함하는, 상기 맵핑 정보를 저장하게 하고;
    상기 SAO 정보의 세트들 및 상기 맵핑 정보를 최대 코딩 유닛 (largest coding unit; LCU) 레벨 신택스 엘리먼트들로서 코딩하게 하며;
    저장된 상기 SAO 정보 및 저장된 상기 맵핑 정보에 기초하여 상기 프레임의 상기 파티션들 중 하나에 대해 상기 SAO 프로세스들을 수행하게 하는, 컴퓨터 판독가능 저장 매체.
  57. 제 56 항에 있어서,
    상기 하나 이상의 파티션들은 비디오 데이터의 상기 프레임의 하나 이상의 최대 코딩 유닛 (LCU) 들을 포함하는, 컴퓨터 판독가능 저장 매체.
  58. 제 56 항에 있어서,
    상기 컴퓨터 판독가능 저장 매체는,
    실행되는 경우, 상기 디바이스의 하나 이상의 프로세서들로 하여금, 저장된 상기 SAO 정보 및 저장된 상기 맵핑 정보에 기초하여 상기 프레임의 상기 파티션들 중 하나에 대해 SAO 프로세스들을 수행하게 하는 명령들을 저장하고 있는, 컴퓨터 판독가능 저장 매체.
  59. 제 56 항에 있어서,
    상기 SAO 정보는 ALF 프로세스들에서 사용될 적어도 하나 이상의 필터들, 오프셋들, 또는 필터들 및 오프셋들 양자에 관련되는 정보를 포함하는, 컴퓨터 판독가능 저장 매체.
  60. 제 56 항에 있어서,
    상기 맵핑 정보는 새로운 필터, 새로운 오프셋, 또는 상기 새로운 필터 및 상기 새로운 오프셋 양자가 상기 SAO 프로세스들에서의 사용을 위해 상기 파티션들 중 하나에 할당되어야 하는지 여부를 나타내는 플래그 정보를 포함하는, 컴퓨터 판독가능 저장 매체.
  61. 삭제
  62. 제 56 항에 있어서,
    상기 맵핑 정보는 동일한 SAO 정보를 공유하는 순차적 파티션들의 수를 나타내는 런 정보를 포함하는, 컴퓨터 판독가능 저장 매체.
  63. 제 56 항에 있어서,
    상기 맵핑 정보는 플래그 정보와 연관된 상기 파티션들 중 하나에 할당될 상기 SAO 정보의 세트들 중 하나를 나타내는 식별을 더 포함하는, 컴퓨터 판독가능 저장 매체.
  64. 제 56 항에 있어서,
    플래그 정보는 상기 플래그 정보와 연관된 상기 파티션들 중 하나에 할당될 상기 SAO 정보의 세트들 중 하나를 나타내는 식별을 더 포함하는, 컴퓨터 판독가능 저장 매체.
  65. 삭제
  66. 제 56 항에 있어서,
    상기 컴퓨터 판독가능 저장 매체는,
    실행되는 경우, 상기 디바이스의 하나 이상의 프로세서들로 하여금, 상기 SAO 정보의 세트들 및 상기 맵핑 정보 양자를 LCU 레벨 신택스 엘리먼트들로서 인터리빙된 방식으로 저장하게 하는 명령들을 저장하고 있는, 컴퓨터 판독가능 저장 매체.
  67. 제 56 항에 있어서,
    상기 SAO 정보의 세트들 및 상기 맵핑 정보를 LCU 레벨 신택스 엘리먼트들로서 코딩하게 하는 것은, SAO 정보의 제 1 세트를 제 1 LCU 에 할당하는 것, 제 2 LCU 에 대해 상기 SAO 정보의 제 1 세트를 복사하는 것, SAO 정보의 제 2 세트를 제 3 LCU 에 할당하는 것, 및 제 4 LCU 에 대해 상기 SAO 정보의 제 2 세트를 복사하는 것을 포함하고,
    제 5 LCU 는 OFF 로서 나타내어지고, 맵핑 정보와 SAO 정보의 이 표현은 모든 남아 있는 LCU 들에 대해 계속되는, 컴퓨터 판독가능 저장 매체.
  68. 제 56 항에 있어서,
    상기 컴퓨터 판독가능 저장 매체는,
    실행되는 경우, 상기 디바이스의 하나 이상의 프로세서들로 하여금, 상기 SAO 정보의 세트들을 적응 파라미터 세트 (APS) 또는 슬라이스 헤더에 저장하게 하고, 상기 슬라이스 헤더에서의 상기 맵핑 정보를 코딩하게 하는 명령들을 저장하고 있는, 컴퓨터 판독가능 저장 매체.
  69. 삭제
  70. 제 56 항에 있어서,
    상기 컴퓨터 판독가능 저장 매체는,
    실행되는 경우, 상기 디바이스의 하나 이상의 프로세서들로 하여금,
    상기 SAO 정보를 포함하는 필터를 결정하는 단계; 및
    상기 필터를 사용하여 코딩된 비트스트림을 생성하는 단계를 수행하게 하는 명령들을 저장하고 있고,
    상기 코딩된 비트스트림은 상기 SAO 정보를 포함하는, 컴퓨터 판독가능 저장 매체.
  71. 제 56 항에 있어서,
    상기 컴퓨터 판독가능 저장 매체는,
    실행되는 경우, 상기 디바이스의 하나 이상의 프로세서들로 하여금,
    상기 SAO 정보를 포함하는 코딩된 비트스트림을 수신하는 단계; 및
    상기 SAO 정보를 비디오 디코더에서 적용하는 단계를 수행하게 하는 명령들을 저장하고 있는, 컴퓨터 판독가능 저장 매체.
  72. 제 56 항에 있어서,
    상기 명령들은 또한, 상기 하나 이상의 프로세서들로 하여금,
    필터 계수들에 관련되는 정보를 포함하는 ALF 정보의 세트들을 저장하게 하고;
    비디오 데이터의 상기 프레임의 하나 이상의 시퀀스 파티션들에 대한 상기 ALF 정보의 세트들 중 적어도 일부를 맵핑하는 맵핑 정보를 저장하게 하며;
    저장된 상기 ALF 정보 및 저장된 상기 맵핑 정보에 기초하여 상기 프레임의 상기 파티션들 중 하나에 대해 ALF 프로세스를 수행하게 하는, 컴퓨터 판독가능 저장 매체.
KR1020147017634A 2011-11-28 2012-11-21 비디오 코딩에서 적응 루프 필터 및 샘플 적응 오프셋에 대한 최대 코딩 유닛 (lcu) 또는 파티션-기반 신택스 KR101641808B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161564215P 2011-11-28 2011-11-28
US61/564,215 2011-11-28
US13/682,293 2012-11-20
US13/682,293 US9386305B2 (en) 2011-11-28 2012-11-20 Largest coding unit (LCU) or partition-based syntax for adaptive loop filter and sample adaptive offset in video coding
PCT/US2012/066250 WO2013081935A1 (en) 2011-11-28 2012-11-21 Largest coding unit (lcu) or partition-based syntax for adaptive loop filter and sample adaptive offset in video coding

Publications (2)

Publication Number Publication Date
KR20140098209A KR20140098209A (ko) 2014-08-07
KR101641808B1 true KR101641808B1 (ko) 2016-07-21

Family

ID=48466850

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147017634A KR101641808B1 (ko) 2011-11-28 2012-11-21 비디오 코딩에서 적응 루프 필터 및 샘플 적응 오프셋에 대한 최대 코딩 유닛 (lcu) 또는 파티션-기반 신택스

Country Status (9)

Country Link
US (1) US9386305B2 (ko)
EP (1) EP2786568A1 (ko)
JP (1) JP6022597B2 (ko)
KR (1) KR101641808B1 (ko)
CN (1) CN103959779B (ko)
BR (1) BR112014012939B1 (ko)
IN (1) IN2014CN03592A (ko)
TW (1) TWI513278B (ko)
WO (1) WO2013081935A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10070152B2 (en) * 2011-08-24 2018-09-04 Texas Instruments Incorporated Sample adaptive offset (SAO) parameter signaling
JP2014197723A (ja) * 2012-01-06 2014-10-16 ソニー株式会社 画像処理装置および方法
SG10201912254WA (en) * 2012-01-19 2020-02-27 Mitsubishi Electric Corp Image decoding device, image encoding device, image decoding method, and image encoding method
US9282328B2 (en) * 2012-02-10 2016-03-08 Broadcom Corporation Sample adaptive offset (SAO) in accordance with video coding
AU2012203828B2 (en) * 2012-06-28 2015-12-10 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a sample adaptive offset data of encoded video data
GB2509707B (en) * 2013-01-04 2016-03-16 Canon Kk A method, device, computer program, and information storage means for encoding or decoding a video sequence
TWI496456B (zh) 2013-11-19 2015-08-11 Ind Tech Res Inst 畫面間成本計算方法及畫面間成本計算裝置
US20150237378A1 (en) * 2014-02-20 2015-08-20 Mediatek Inc. Method for controlling sample adaptive offset filtering applied to different partial regions in one frame based on different weighting parameters and related sample adaptive offset filter
CN104935927A (zh) * 2014-03-17 2015-09-23 上海京知信息科技有限公司 一种基于流水线的hevc视频序列编解码加速方法
WO2017083553A1 (en) 2015-11-10 2017-05-18 Vid Scale, Inc. Systems and methods for coding in super-block based video coding framework
CA3005417A1 (en) * 2015-11-17 2017-05-26 Huawei Technologies Co., Ltd. Method and apparatus for video coding
US10419755B2 (en) * 2016-05-16 2019-09-17 Qualcomm Incorporated Confusion of multiple filters in adaptive loop filtering in video coding
US11284075B2 (en) * 2018-09-12 2022-03-22 Qualcomm Incorporated Prediction of adaptive loop filter parameters with reduced memory consumption for video coding
US11159791B2 (en) * 2019-03-16 2021-10-26 Mediatek Inc. Method and apparatus for signaling adaptive loop filter parameters in video coding
WO2020204414A1 (ko) * 2019-04-03 2020-10-08 엘지전자 주식회사 적응적 루프 필터를 사용하는 비디오 또는 영상 코딩
US11917143B2 (en) 2019-04-03 2024-02-27 Lg Electronics Inc. Adaptive loop filter-based video or image coding
WO2020224525A1 (en) * 2019-05-03 2020-11-12 Mediatek Inc. Methods and apparatuses of syntax signaling and referencing constraint in video coding system
US20230188714A1 (en) * 2020-06-10 2023-06-15 Lg Electronics Inc Image encoding/decoding method and device for signaling aps identifier, and computer-readable recording medium in which bitstream is stored
CN114615494A (zh) * 2020-12-04 2022-06-10 咪咕文化科技有限公司 一种图像处理方法、装置及设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8548041B2 (en) 2008-09-25 2013-10-01 Mediatek Inc. Adaptive filter
US9078007B2 (en) 2008-10-03 2015-07-07 Qualcomm Incorporated Digital video coding with interpolation filters and offsets
JP5359657B2 (ja) * 2009-07-31 2013-12-04 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
WO2011074924A2 (ko) 2009-12-18 2011-06-23 한국전자통신연구원 비디오 부호화/복호화 방법 및 장치
US8995527B2 (en) 2010-02-19 2015-03-31 Qualcomm Incorporated Block type signalling in video coding
US20110222608A1 (en) 2010-03-15 2011-09-15 Yongying Gao Localized in-loop filtering with multiple filters in hybrid video coding
US9465228B2 (en) * 2010-03-19 2016-10-11 Optical Biosystems, Inc. Illumination apparatus optimized for synthetic aperture optics imaging using minimum selective excitation patterns
US8837592B2 (en) 2010-04-14 2014-09-16 Mediatek Inc. Method for performing local motion vector derivation during video coding of a coding unit, and associated apparatus
BR112012027438B1 (pt) 2010-04-26 2022-02-22 Sun Patent Trust Método para decodificar, meio legível por computador e aparelho para decodificar
US8660174B2 (en) 2010-06-15 2014-02-25 Mediatek Inc. Apparatus and method of adaptive offset for video coding
US9094658B2 (en) 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
C-M FU et al: "Sample Adaptive Offset with LCU-based Syntax", JCTVC-F056, 2011.7.14.

Also Published As

Publication number Publication date
WO2013081935A1 (en) 2013-06-06
JP6022597B2 (ja) 2016-11-09
BR112014012939A2 (pt) 2017-06-13
CN103959779B (zh) 2017-05-24
KR20140098209A (ko) 2014-08-07
TW201342924A (zh) 2013-10-16
EP2786568A1 (en) 2014-10-08
JP2015502112A (ja) 2015-01-19
TWI513278B (zh) 2015-12-11
US9386305B2 (en) 2016-07-05
IN2014CN03592A (ko) 2015-07-03
CN103959779A (zh) 2014-07-30
US20130136167A1 (en) 2013-05-30
BR112014012939B1 (pt) 2022-08-09

Similar Documents

Publication Publication Date Title
KR101641808B1 (ko) 비디오 코딩에서 적응 루프 필터 및 샘플 적응 오프셋에 대한 최대 코딩 유닛 (lcu) 또는 파티션-기반 신택스
US9510000B2 (en) Offset type and coefficients signaling method for sample adaptive offset
US9807403B2 (en) Adaptive loop filtering for chroma components
KR101837628B1 (ko) 비디오 코딩에서의 양자화 파라미터(qp) 코딩
US9357235B2 (en) Sample adaptive offset merged with adaptive loop filter in video coding
US9247254B2 (en) Non-square transforms in intra-prediction video coding
EP2904788B1 (en) Intra-coding for 4:2:2 sample format in video coding
US10992958B2 (en) Video coding using mapped transforms and scanning modes
US20130083844A1 (en) Coefficient coding for sample adaptive offset and adaptive loop filter

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
FPAY Annual fee payment

Payment date: 20190624

Year of fee payment: 4