KR20190022629A - 비-쿼드트리-단독 파티셔닝된 비디오 코딩에서 양자화 정보의 시그널링 - Google Patents
비-쿼드트리-단독 파티셔닝된 비디오 코딩에서 양자화 정보의 시그널링 Download PDFInfo
- Publication number
- KR20190022629A KR20190022629A KR1020197000938A KR20197000938A KR20190022629A KR 20190022629 A KR20190022629 A KR 20190022629A KR 1020197000938 A KR1020197000938 A KR 1020197000938A KR 20197000938 A KR20197000938 A KR 20197000938A KR 20190022629 A KR20190022629 A KR 20190022629A
- Authority
- KR
- South Korea
- Prior art keywords
- quantization
- cus
- luma
- current
- quantization parameter
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/18—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
비디오 디코더는 현재의 양자화 그룹에 대한 로컬 양자화 정보를 수신한다. 비디오 디코더는 비디오 데이터의 픽처의 코딩 트리 유닛 (CTU) 의 복수의 코딩 유닛 (CU)들로의 파티셔닝을 결정한다. 부가적으로, 비디오 디코더는, 현재의 양자화 그룹에 대한 로컬 양자화 정보에 적어도 부분적으로 기초하여, 양자화 파라미터를 도출한다. 현재의 양자화 그룹은, 현재의 양자화 그룹의 경계들이 CU들의 경계들이어야 하도록 연속적인 CU들의 그룹으로서 정의된다. 현재의 양자화 그룹은 정사각형일 수도 있고 또는 정사각형이 아닐 수도 있다. 부가적으로, 비디오 디코더는, 양자화 파라미터에 기초하여 현재의 양자화 그룹에 있는 현재의 CU 의 적어도 하나의 변환 계수를 역 양자화한다. 비디오 디코더는, 현재의 CU 의 역 양자화된 변환 계수들에 기초하여 현재의 CU 의 코딩 블록을 복원한다.
Description
본 출원은 2016년 7월 15일자로 출원된 미국 가출원 제 62/363,000 호의 이익을 주장하고, 그 전체 내용은 참조로서 포함된다.
본 개시물은 비디오 코딩을 수행하도록 구성된 컴퓨팅 디바이스들에 관련된다.
디지털 비디오 능력들은 디지털 텔레비전들, 디지털 직접 방송 시스템들, 무선 방송 시스템들, PDA (personal digital assistant)들, 랩톱 또는 데스크톱 컴퓨터들, 태블릿 컴퓨터들, 전자책 리더들, 디지털 카메라들, 디지털 녹음 디바이스들, 디지털 미디어 재생기들, 비디오 게임 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 무선 전화들, 소위 "스마트 폰들", 비디오 원격화상회의 디바이스들, 비디오 스트리밍 디바이스들 등을 포함하는 광범위한 디바이스들에 포함될 수 있다. 디지털 비디오 디바이스들은 MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, 파트 10, 어드밴스드 비디오 코딩 (AVC), ITU-T H.265, 고효율 비디오 코딩 (HEVC) 표준에 의해 정의된 표준들, 및 이러한 표준들의 확장들에서 설명된 바와 같은 비디오 압축 기법들을 구현한다. 비디오 디바이스들은 이러한 비디오 압축 기법들을 구현함으로써, 디지털 비디오 정보를 보다 효율적으로 송신, 수신, 인코딩, 디코딩, 및/또는 저장할 수도 있다.
비디오 압축 기법들은 비디오 시퀀스들에 내재하는 리던던시를 감소시키기나 제거하기 위해 공간 (인트라-픽처) 예측 및/또는 시간 (인터-픽처) 예측을 수행한다. 블록 기반 비디오 코딩에 있어서, 비디오 슬라이스 (즉, 비디오 프레임 또는 비디오 프레임의 일부분) 는 비디오 블록들로 파티셔닝될 수도 있으며, 이 비디오 블록들은 또한 트리블록들, 코딩 유닛 (CU)들 및/또는 코딩 노드들로 지칭될 수도 있다. 픽처의 인트라-코딩된 (I) 슬라이스 내의 비디오 블록들은 동일한 픽처에서 이웃하는 블록들 내의 레퍼런스 샘플들에 대한 공간 예측을 사용하여 인코딩된다. 픽처의 인터-코딩된 (P 또는 B) 슬라이스 내의 비디오 블록들은 동일한 픽처에서 이웃하는 블록들 내의 레퍼런스 샘플들에 대한 공간 예측 또는 다른 레퍼런스 픽처들에서 레퍼런스 샘플들에 대한 시간 예측을 사용할 수도 있다. 공간 또는 시간 예측은 코딩될 블록에 대한 예측 블록을 초래한다. 잔차 데이터는 코딩될 원래의 블록과 예측 블록 간의 픽셀 차이들을 나타낸다. 인터 코딩된 블록은 예측 블록을 형성하는 레퍼런스 샘플들의 블록을 가리키는 모션 벡터, 및 코딩된 블록과 예측 블록 간의 차이를 나타내는 잔차 데이터에 따라 인코딩된다. 인트라-코딩된 블록은 인트라-코딩 모드와 잔차 데이터에 따라 인코딩된다. 추가의 압축을 위해, 잔차 데이터는 픽셀 도메인에서 변환 도메인으로 변환되어, 잔차 변환 계수들을 초래하고, 이 변환 계수들은 그 후 양자화될 수도 있다.
일반적으로, 본 개시물은 블록들이 쿼드트리 구조에 의해 파티셔닝될 뿐만 아니라 다른 방식들로 파티셔닝되는 블록-기반 비디오 코딩에서의 양자화 정보의 시그널링에 관련된 기법들을 설명한다. 예를 들어, 양자화 그룹들은, 양자화 그룹들의 경계들이 CU들 또는 코딩 블록들의 경계들이어야 하고 양자화 그룹들의 사이즈들이 임계 이상이도록 연속적인 CU들 또는 코딩 블록들의 그룹들로서 정의될 수도 있다. 이 기법들은 비디오 코딩 표준들에 적용될 수도 있다.
일 예에서, 본 개시물은 비디오 데이터를 디코딩하는 방법을 설명하고, 이 방법은, 비디오 디코더에 의해, 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서, 현재의 양자화 그룹에 대한 로컬 양자화 정보를 수신하는 단계; 비디오 디코더에 의해, 비디오 데이터의 픽처의 코딩 트리 유닛 (CTU) 의 복수의 코딩 유닛 (CU)들로의 파티셔닝을 결정하는 단계로서, 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함하는, 상기 파티셔닝을 결정하는 단계; 비디오 디코더에 의해, 현재의 양자화 그룹에 대한 로컬 양자화 정보에 적어도 부분적으로 기초하여, 양자화 파라미터를 도출하는 단계로서, 현재의 양자화 그룹은 현재의 양자화 그룹의 경계들이 CU들의 경계들이어야 하고 현재의 양자화 그룹의 사이즈가 임계 임계 이상이도록 복수의 CU들에서, 코딩 순서에서 연속적인 CU들의 그룹으로서 정의되고, 복수의 CU들 중 적어도 하나의 CU 는 비-정사각형 양자화 그룹에 포함되는, 상기 양자화 파라미터를 도출하는 단계; 비디오 디코더에 의해, 양자화 파라미터에 기초하여, 현재의 CU 의 적어도 하나의 변환 계수를 역 양자화하는 단계로서, 현재의 CU 는 현재의 양자화 그룹에서의 CU들 중 하나인, 상기 적어도 하나의 변환 계수를 역 양자화하는 단계; 및 비디오 디코더에 의해, 현재의 CU 의 역 양자화된 변환 계수들에 기초하여, 현재의 CU 의 코딩 블록을 복원하는 단계를 포함한다.
다른 예에서, 본 개시물은 비디오 데이터를 인코딩하는 방법을 설명하고, 이 방법은, 비디오 인코더에 의해, 비디오 데이터의 픽처의 코딩 트리 유닛 (CTU) 의 복수의 코딩 유닛 (CU)들로의 파티셔닝을 결정하는 단계로서, 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함하는, 상기 파티셔닝을 결정하는 단계; 비디오 인코더에 의해, 양자화 파라미터에 기초하여 현재의 코딩 유닛 (CU) 의 적어도 하나의 변환 계수를 양자화하는 단계로서, 현재의 CU 는 현재의 양자화 그룹에 있거나 또는 현재의 양자화 그룹에서의 코딩 블록에 대응하고, 현재의 양자화 그룹은 현재의 양자화 그룹의 경계들이 CU들의 경계들이어야 하고 현재의 양자화 그룹의 사이즈가 임계 임계 이상이도록 복수의 CU들에서, 코딩 순서에서 연속적인 CU들의 그룹으로서 정의되고, 복수의 CU들 중 적어도 하나의 CU 는 비-정사각형 양자화 그룹에 포함되는, 상기 변환 계수를 양자화하는 단계; 비디오 인코더에 의해, 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서, 현재의 양자화 그룹에 대한 로컬 양자화 정보를 시그널링하는 단계로서, 양자화 파라미터는 현재의 양자화 그룹에 대한 로컬 양자화 정보에 적어도 부분적으로 기초하여 도출 가능한, 상기 로컬 양자화 정보를 시그널링하는 단계; 및 비디오 인코더에 의해, 비트스트림에서 현재의 CU 의 양자화된 변환 계수를 나타내는 하나 이상의 신택스 엘리먼트들을 포함하는 단계를 포함한다.
다른 예에서, 본 개시물은 비디오 데이터를 저장하도록 구성된 하나 이상의 저장 매체; 및 하나 이상의 프로세서들을 포함하는 비디오 데이터를 디코딩하기 위한 장치를 설명하고, 하나 이상의 프로세서들은, 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서 현재의 양자화 그룹에 대한 로컬 양자화 정보를 수신하고; 비디오 데이터의 픽처의 코딩 트리 유닛 (CTU) 의 복수의 코딩 유닛 (CU)들로의 파티셔닝을 결정하는 것으로서, 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함하는, 상기 파티셔닝을 결정하고; 현재의 양자화 그룹에 대한 로컬 양자화 정보에 적어도 부분적으로 기초하여, 양자화 파라미터를 도출하는 것으로서, 현재의 양자화 그룹은 현재의 양자화 그룹의 경계들이 CU들의 경계들이어야 하고 현재의 양자화 그룹의 사이즈가 임계 임계 이상이도록 복수의 CU들에서, 코딩 순서에서 연속적인 CU들의 그룹으로서 정의되고, 복수의 CU들 중 적어도 하나의 CU 는 비-정사각형 양자화 그룹에 포함되는, 상기 양자화 파라미터를 도출하고; 양자화 파라미터에 기초하여, 현재의 CU 의 적어도 하나의 변환 계수를 역 양자화하는 것으로서, 현재의 CU 는 현재의 양자화 그룹에서의 CU들 중 하나인, 상기 적어도 하나의 변환 계수를 역 양자화하며; 현재의 CU 의 역 양자화된 변환 계수들에 기초하여, 현재의 CU 의 코딩 블록을 복원하도록 구성된다.
다른 예에서, 본 개시물은 비디오 데이터를 인코딩하기 위한 장치를 설명하고, 이 장치는, 비디오 데이터를 저장하도록 구성된 하나 이상의 저장 매체; 및 비디오 데이터의 픽처의 코딩 트리 유닛 (CTU) 의 복수의 코딩 유닛 (CU)들로의 파티셔닝을 결정하는 것으로서, 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함하는, 상기 파티셔닝을 결정하고; 양자화 파라미터에 기초하여 현재의 코딩 유닛 (CU) 의 적어도 하나의 변환 계수를 양자화하는 것으로서, 현재의 CU 는 현재의 양자화 그룹에 있거나 또는 현재의 양자화 그룹에서의 코딩 블록에 대응하고, 현재의 양자화 그룹은 현재의 양자화 그룹의 경계들이 CU들의 경계들이어야 하고 현재의 양자화 그룹의 사이즈가 임계 이상이도록 복수의 CU들에서, 코딩 순서에서 연속적인 CU들의 그룹으로서 정의되고, 복수의 CU들 중 적어도 하나의 CU 는 비-정사각형 양자화 그룹에 포함되는, 상기 변환 계수를 양자화하고; 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서, 현재의 양자화 그룹에 대한 로컬 양자화 정보를 시그널링하는 것으로서, 양자화 파라미터는 현재의 양자화 그룹에 대한 로컬 양자화 정보에 적어도 부분적으로 기초하여 도출 가능한, 상기 로컬 양자화 정보를 시그널링하며; 비트스트림에서 현재의 CU 의 양자화된 변환 계수를 나타내는 하나 이상의 신택스 엘리먼트들을 포함하도록 구성된 하나 이상의 프로세서들을 포함한다.
다른 예에서, 본 개시물은 비디오 데이터를 디코딩하기 위한 장치를 설명하고, 이 장치는, 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서, 현재의 양자화 그룹에 대한 로컬 양자화 정보를 수신하기 위한 수단; 비디오 데이터의 픽처의 코딩 트리 유닛 (CTU) 의 복수의 코딩 유닛 (CU)들로의 파티셔닝을 결정하기 위한 수단으로서, 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함하는, 상기 파티셔닝을 결정하기 위한 수단; 현재의 양자화 그룹에 대한 로컬 양자화 정보에 적어도 부분적으로 기초하여, 양자화 파라미터를 도출하기 위한 수단으로서, 현재의 양자화 그룹은 현재의 양자화 그룹의 경계들이 CU들의 경계들이어야 하고 현재의 양자화 그룹의 사이즈가 임계 임계 이상이도록 복수의 CU들에서, 코딩 순서에서 연속적인 CU들의 그룹으로서 정의되고, 복수의 CU들 중 적어도 하나의 CU 는 비-정사각형 양자화 그룹에 포함되는, 상기 양자화 파라미터를 도출하기 위한 수단; 양자화 파라미터에 기초하여, 현재의 CU 의 적어도 하나의 변환 계수를 역 양자화하기 위한 수단으로서, 현재의 CU 는 현재의 양자화 그룹에서의 CU들 중 하나인, 상기 적어도 하나의 변환 계수를 역 양자화하기 위한 수단; 및 현재의 CU 의 역 양자화된 변환 계수들에 기초하여, 현재의 CU 의 코딩 블록을 복원하기 위한 수단을 포함한다.
다른 예에서, 본 개시물은 비디오 데이터를 인코딩하기 위한 장치를 설명하고, 이 장치는, 비디오 데이터의 픽처의 코딩 트리 유닛 (CTU) 의 복수의 코딩 유닛 (CU)들로의 파티셔닝을 결정하기 위한 수단으로서, 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함하는, 상기 파티셔닝을 결정하기 위한 수단; 양자화 파라미터에 기초하여 현재의 코딩 유닛 (CU) 의 적어도 하나의 변환 계수를 양자화하기 위한 수단으로서, 현재의 CU 는 현재의 양자화 그룹에 있거나 또는 현재의 양자화 그룹에서의 코딩 블록에 대응하고, 현재의 양자화 그룹은 현재의 양자화 그룹의 경계들이 CU들의 경계들이어야 하고 현재의 양자화 그룹의 사이즈가 임계 임계 이상이도록 복수의 CU들에서, 코딩 순서에서 연속적인 CU들의 그룹으로서 정의되고, 복수의 CU들 중 적어도 하나의 CU 는 비-정사각형 양자화 그룹에 포함되는, 상기 적어도 하나의 변환 계수를 양자화하기 위한 수단; 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서, 현재의 양자화 그룹에 대한 로컬 양자화 정보를 시그널링하기 위한 수단으로서, 양자화 파라미터는 현재의 양자화 그룹에 대한 로컬 양자화 정보에 적어도 부분적으로 기초하여 도출 가능한, 상기 로컬 양자화 정보를 시그널링하기 위한 수단; 및 비트스트림에서 현재의 CU 의 양자화된 변환 계수를 나타내는 하나 이상의 신택스 엘리먼트들을 포함하기 위한 수단을 포함한다.
다른 예에서, 본 개시물은, 실행되는 경우, 하나 이상의 프로세서들로 하여금, 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서 현재의 양자화 그룹에 대한 로컬 양자화 정보를 수신하게 하고; 비디오 데이터의 픽처의 코딩 트리 유닛 (CTU) 의 복수의 코딩 유닛 (CU)들로의 파티셔닝을 결정하게 하는 것으로서, 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함하는, 상기 파티셔닝을 결정하게 하고; 현재의 양자화 그룹에 대한 로컬 양자화 정보에 적어도 부분적으로 기초하여, 양자화 파라미터를 도출하게 하는 것으로서, 현재의 양자화 그룹은 현재의 양자화 그룹의 경계들이 CU들의 경계들이어야 하고 현재의 양자화 그룹의 사이즈가 임계 임계 이상이도록 복수의 CU들에서, 코딩 순서에서 연속적인 CU들의 그룹으로서 정의되고, 복수의 CU들 중 적어도 하나의 CU 는 비-정사각형 양자화 그룹에 포함되는, 상기 양자화 파라미터를 도출하게 하고; 양자화 파라미터에 기초하여, 현재의 CU 의 적어도 하나의 변환 계수를 역 양자화하게 하는 것으로서, 현재의 CU 는 현재의 양자화 그룹에서의 CU들 중 하나인, 상기 적어도 하나의 변환 계수를 역 양자화하게 하며; 현재의 CU 의 역 양자화된 변환 계수들에 기초하여, 현재의 CU 의 코딩 블록을 복원하게 하는 명령들을 저장한 컴퓨터 판독가능 저장 매체를 설명한다.
다른 예에서, 본 개시물은, 실행되는 경우, 하나 이상의 프로세서들로 하여금, 비디오 데이터의 픽처의 코딩 트리 유닛 (CTU) 의 복수의 코딩 유닛 (CU)들로의 파티셔닝을 결정하게 하는 것으로서, 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함하는, 상기 파티셔닝을 결정하게 하고; 양자화 파라미터에 기초하여 현재의 코딩 유닛 (CU) 의 적어도 하나의 변환 계수를 양자화하게 하는 것으로서, 현재의 CU 는 현재의 양자화 그룹에 있거나 또는 현재의 양자화 그룹에서의 코딩 블록에 대응하고, 현재의 양자화 그룹은 현재의 양자화 그룹의 경계들이 CU들의 경계들이어야 하고 현재의 양자화 그룹의 사이즈가 임계 임계 이상이도록 복수의 CU들에서, 코딩 순서에서 연속적인 CU들의 그룹으로서 정의되고, 복수의 CU들 중 적어도 하나의 CU 는 비-정사각형 양자화 그룹에 포함되는, 상기 적어도 하나의 변환 계수를 양자화하게 하고; 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서, 현재의 양자화 그룹에 대한 로컬 양자화 정보를 시그널링하게 하는 것으로서, 양자화 파라미터는 현재의 양자화 그룹에 대한 로컬 양자화 정보에 적어도 부분적으로 기초하여 도출 가능한, 상기 로컬 양자화 정보를 시그널링하게 하며; 비트스트림에서 현재의 CU 의 양자화된 변환 계수를 나타내는 하나 이상의 신택스 엘리먼트들을 포함하게 하는 명령들을 저장한 컴퓨터 판독가능 저장 매체를 설명한다.
본 개시물의 하나 이상의 양태들의 세부사항들은 첨부되는 도면들 및 이하의 설명들에서 기술된다. 본 개시물에 설명된 기법들의 다른 특성들, 목적들 및 이점들은 상세한 설명, 도면들, 및 청구항들로부터 명백해질 것이다.
도 1 은 본 개시물에서 설명된 하나 이상의 기법들을 이용할 수도 있는 예시의 비디오 인코딩 및 디코딩 시스템을 예시하는 블록도이다.
도 2 는 고효율 비디오 코딩 (HEVC) 에서의 코딩 유닛 (CU) 구조의 예를 예시하는 개념도이다.
도 3 은 인터 예측 모드에 대한 예시의 파티션 모드들을 예시하는 개념도이다.
도 4a 는 쿼드-트리-바이너리-트리 파티셔닝 구조를 사용함으로써 블록 파티셔닝의 예를 예시한다.
도 4b 는 도 4a 의 블록 파티셔닝에 대응하는 예시적 트리 구조를 예시한다.
도 5 는 멀티-유형 트리 (MTT) 구조를 사용한 코딩 트리 유닛 (CTU) 파티셔닝의 예를 예시하는 개념도이다.
도 6 은 바이너리 트리를 이용한 파티셔닝의 예를 예시하는 개념도이다.
도 7 은 멀티-유형-트리 (MTT) 구조에 의해 파티셔닝된 32×32 블록에 대한 양자화 그룹들을 예시하는 개념도이다.
도 8 은 본 개시물에서 설명된 하나 이상의 기법들을 구현할 수도 있는 예시의 비디오 인코더를 예시하는 블록도이다.
도 9 는 본 개시물에서 설명된 하나 이상의 기법들을 구현할 수도 있는 예시의 비디오 디코더를 예시하는 블록도이다.
도 10 은 본 개시물의 하나 이상의 기법들에 따른, 비디오 인코더의 예시적 동작을 예시하는 플로우차트이다.
도 11 은 본 개시물의 하나 이상의 기법들에 따른, 비디오 디코더의 예시적 동작을 예시하는 플로우차트이다.
도 12a 는 본 개시물의 기법들에 따른, 크로마 변환 계수들을 양자화하기 위한 비디오 인코더의 예시적 동작을 예시하는 플로우차트이다.
도 12b 는 본 개시물의 하나 이상의 기법들에 따른, 크로마 변환 계수들을 역 양자화하기 위한 비디오 디코더의 예시적 동작을 예시하는 플로우차트이다.
도 13 은 본 개시물의 하나 이상의 기법들에 따른, 크로마 변환 계수들을 양자화하기 위한 비디오 인코더의 예시적 동작을 예시하는 플로우차트이다.
도 14 는 본 개시물의 하나 이상의 기법들에 따른, 크로마 변환 계수들을 역 양자화하기 위한 비디오 디코더의 예시적 동작을 예시하는 플로우차트이다.
도 15 는 본 개시물의 하나 이상의 기법들에 따른, 크로마 델타 양자화 파라미터를 도출하는 예시적 동작을 예시하는 플로우차트이다.
도 16 은 본 개시물의 하나 이상의 기법들에 따른, 크로마 델타 양자화 파라미터를 도출하는 예시적 동작을 예시하는 플로우차트이다.
도 17a 는 본 개시물의 하나 이상의 기법들에 따른, 크로마 델타 양자화 파라미터를 도출하는 예시적 동작을 예시하는 플로우차트이다.
도 17b 는 본 개시물의 하나 이상의 기법들에 따른, 식별된 별개의 루마 델타 양자화 파라미터들을 가중된 방식으로 평균하는 예시적 동작을 예시하는 플로우차트이다.
도 18a 는 본 개시물의 하나 이상의 기법들에 따른, 크로마 변환 계수들을 양자화하는 예시적 동작을 예시하는 플로우차트이다.
도 18b 는 본 개시물의 하나 이상의 기법들에 따른, 크로마 변환 계수들을 역 양자화하는 예시적 동작을 예시하는 플로우차트이다.
도 2 는 고효율 비디오 코딩 (HEVC) 에서의 코딩 유닛 (CU) 구조의 예를 예시하는 개념도이다.
도 3 은 인터 예측 모드에 대한 예시의 파티션 모드들을 예시하는 개념도이다.
도 4a 는 쿼드-트리-바이너리-트리 파티셔닝 구조를 사용함으로써 블록 파티셔닝의 예를 예시한다.
도 4b 는 도 4a 의 블록 파티셔닝에 대응하는 예시적 트리 구조를 예시한다.
도 5 는 멀티-유형 트리 (MTT) 구조를 사용한 코딩 트리 유닛 (CTU) 파티셔닝의 예를 예시하는 개념도이다.
도 6 은 바이너리 트리를 이용한 파티셔닝의 예를 예시하는 개념도이다.
도 7 은 멀티-유형-트리 (MTT) 구조에 의해 파티셔닝된 32×32 블록에 대한 양자화 그룹들을 예시하는 개념도이다.
도 8 은 본 개시물에서 설명된 하나 이상의 기법들을 구현할 수도 있는 예시의 비디오 인코더를 예시하는 블록도이다.
도 9 는 본 개시물에서 설명된 하나 이상의 기법들을 구현할 수도 있는 예시의 비디오 디코더를 예시하는 블록도이다.
도 10 은 본 개시물의 하나 이상의 기법들에 따른, 비디오 인코더의 예시적 동작을 예시하는 플로우차트이다.
도 11 은 본 개시물의 하나 이상의 기법들에 따른, 비디오 디코더의 예시적 동작을 예시하는 플로우차트이다.
도 12a 는 본 개시물의 기법들에 따른, 크로마 변환 계수들을 양자화하기 위한 비디오 인코더의 예시적 동작을 예시하는 플로우차트이다.
도 12b 는 본 개시물의 하나 이상의 기법들에 따른, 크로마 변환 계수들을 역 양자화하기 위한 비디오 디코더의 예시적 동작을 예시하는 플로우차트이다.
도 13 은 본 개시물의 하나 이상의 기법들에 따른, 크로마 변환 계수들을 양자화하기 위한 비디오 인코더의 예시적 동작을 예시하는 플로우차트이다.
도 14 는 본 개시물의 하나 이상의 기법들에 따른, 크로마 변환 계수들을 역 양자화하기 위한 비디오 디코더의 예시적 동작을 예시하는 플로우차트이다.
도 15 는 본 개시물의 하나 이상의 기법들에 따른, 크로마 델타 양자화 파라미터를 도출하는 예시적 동작을 예시하는 플로우차트이다.
도 16 은 본 개시물의 하나 이상의 기법들에 따른, 크로마 델타 양자화 파라미터를 도출하는 예시적 동작을 예시하는 플로우차트이다.
도 17a 는 본 개시물의 하나 이상의 기법들에 따른, 크로마 델타 양자화 파라미터를 도출하는 예시적 동작을 예시하는 플로우차트이다.
도 17b 는 본 개시물의 하나 이상의 기법들에 따른, 식별된 별개의 루마 델타 양자화 파라미터들을 가중된 방식으로 평균하는 예시적 동작을 예시하는 플로우차트이다.
도 18a 는 본 개시물의 하나 이상의 기법들에 따른, 크로마 변환 계수들을 양자화하는 예시적 동작을 예시하는 플로우차트이다.
도 18b 는 본 개시물의 하나 이상의 기법들에 따른, 크로마 변환 계수들을 역 양자화하는 예시적 동작을 예시하는 플로우차트이다.
양자화는 일반적으로, 변환 계수 레벨들을 표현하는데 사용된 데이터의 양을 가능한 감소시키기 위해 변환 계수들이 양자화되는 프로세스를 지칭한다. 변환 계수를 양자화하는 것에서 비롯되는 값은 양자화된 변환 계수 또는 변환 계수 레벨로서 지칭될 수도 있다. 변환 계수를 역 양자화하는 것은 변환 계수의 양자화를 반전시키는 프로세스를 지칭한다. 일부 예들에서, 변환 계수를 역 양자화하는 것은 변환 계수 레벨에 인자를 곱하여, 변환 계수를 초래하는 것을 포함한다. 역 양자화된 변환 계수는 또한, 스케일링된 변환 계수로서 지칭될 수도 있다.
양자화 파라미터 (QP) 는 계수들을 양자화 및 역 양자화하기 위해 사용된 변수이다. 고효율 비디오 코딩 (HEVC) 에서, 픽처는 양자화 그룹들로 파티셔닝된다. 픽처의 양자화 그룹들 각각은 동일한 사이즈를 갖고 정사각형-형상이다. 픽처의 양자화 그룹들 중 어떤 것도 오버랩하지 않는다. 비디오 코더는 CU 를 포함하는 양자화 그룹에 대한 로컬 양자화 정보에 기초하여 코딩 유닛 (CU) 의 변환 유닛 (TU) 의 변환 계수를 양자화 또는 역 양자화하는데 사용하기 위해 QP 를 결정할 수도 있다. 양자화 그룹에 대한 로컬 양자화 정보는 비트스트림에서 시그널링될 수도 있다.
HEVC 에서, 코딩 트리 유닛 (CTU)들은 쿼드트리 파티셔닝 스킴에 따라 CU들로 파티셔닝된다. 쿼드트리는, 페어런트 노드가 4 개의 차일드 노드들로 스플리팅될 수 있고, 이 차일드 노드들 각각은 4 개의 차일드 노드들로의 다른 스플릿에 대한 페어런트 노드가 될 수도 있는 트리이다. CTU들이 정사각형이기 때문에, 결과의 CU들은 또한, 정사각형이다. 또한, CTU들의 높이들 및 폭들이 각각 2 의 배수들과 동일하기 때문에, CU들의 높이들 및 폭들은 2 의 배수들과 또한 동일하다. 정사각형-형상의 양자화 그룹들의 높이들 및 폭들은 또한, 2 의 배수들과 동일하다.
최근의 연구들은, 쿼드-트리-바이너리 트리 (QTBT) 및 멀티-유형-트리 (MTT) 파티셔닝 스킴들과 같은 쿼드트리 파티셔닝 스킴 이외의 CTU 파티셔닝 스킴들을 사용하여 상당히 더 좋은 압축 성능이 달성될 수 있다는 것을 제안해 왔다. QTBT 및 MTT 파티셔닝 스킴들은, CTU 가 8×64 CU들, 32×64 CU들, 등과 같은 비-정사각형 CU들로 파티셔닝되도록 허용한다. QTBT 및 MTT 파티셔닝 스킴들에 의해 허용된 비-정사각형 CU 형상들 때문에, CTU 에서 CU들의 경계들은 반드시 양자화 그룹들의 경계들일 필요는 없다. 결과적으로, QTBT 및 MTT 파티셔닝 스킴들의 사용은 HEVC 에서 사용된 양자화 그룹 스킴을 방해할 수도 있다. 예를 들어, 2 개의 넌-정사각형 CU들은, 비-정사각형 CU들 양자 모두가 양자화 그룹의 사이즈보다 큼에도 불구하고, 단일의 양자화 그룹에 대한 로컬 양자화 정보를 공유하도록 강요 받을 수도 있다. 이 방해는 변환 계수들을 양자화하기 위해 사용된 양자화 파라미터 정보를 비디오 인코더가 효율적으로 시그널링하는 것을 방지할 수도 있다. 이것은 쿼드트리 파티셔닝 스킴 이외의 CTU 파티셔닝 스킴들을 사용하여 잠재적으로 달성되는 압축 성능에 대한 일부 개선들을 상쇄할 수도 있다.
본 개시물의 기법들은 이들 어려움들을 극복할 수도 있고, 잠재적으로 컴퓨팅 디바이스들에 대한 개선들을 초래한다. 예를 들어, 본 개시물의 기법들은, 비디오를 빠르게 디스플레이하는 컴퓨팅 디바이스들의 능력들을 증가시킬 수도 있는 압축을 개선시킬 수도 있고, 컴퓨팅 디바이스들이 비디오를 디스플레이할 수도 있는 레졸루션을 증가시킬 수도 있고, 컴퓨팅 디바이스들이 저장 공간을 다른 사용들에 할당하도록 할 수도 있으며, 다른 개선들을 제공할 수도 있다. 본 개시물의 일 예시의 기법에서, 비디오 코더 (예를 들어, 비디오 인코더 또는 비디오 디코더) 는 비디오 데이터의 픽처의 CTU 의 복수의 CU들로의 파티셔닝을 결정할 수도 있다. 예를 들어, 비디오 코더는, CTU 를 QTBT 또는 MTT 에 따라 CU들로 파티셔닝하는 방법을 결정할 수도 있다. 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함할 수도 있다. 또한, 비디오 코더는, 현재의 양자화 그룹에 대한 로컬 양자화 정보에 적어도 부분적으로 기초하여, 양자화 파라미터를 도출할 수도 있다. 본 개시물의 기법들에 따르면, 현재의 양자화 그룹은, 현재의 양자화 그룹의 경계들이 CU들 또는 코딩 블록들의 경계들이어야 하고 현재의 양자화 그룹의 사이즈가 임계 이상이도록 코딩 순서에서, 복수의 CU들에서 연속적인 CU들 또는 CTU 에서 연속적인 코딩 블록들의 그룹으로서 정의된다. 일부 예들에서, 복수의 CU들 중 적어도 하나의 CU 는 비-정사각형 양자화 그룹에 포함된다. 예를 들어, 일부 예들에서 현재의 양자화 그룹은 정사각형이 아니다. 비디오 코더는 양자화 파라미터에 기초하여, 현재의 CU 의 적어도 하나의 변환 계수를 양자화 또는 역 양자화할 수도 있다. 이 예에서, 현재의 CU 는 현재의 양자화 그룹에서의 CU들 중 하나이고 또는 현재의 CU 는 현재의 양자화 그룹에서 코딩 블록들 중 하나에 대응한다. 이 예에서, 현재의 양자화 그룹에 대한 로컬 양자화 정보는 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서 시그널링될 수도 있다.
도 1 은 본 개시물의 기법들을 이용할 수도 있는 예시의 비디오 인코딩 및 디코딩 시스템 (10) 을 예시하는 블록도이다. 도 1 에 도시된 바와 같이, 시스템 (10) 은 목적지 디바이스 (14) 에 의해 나중에 디코딩될 인코딩된 비디오 데이터를 제공하는 소스 디바이스 (12) 를 포함한다. 특히, 소스 디바이스 (12) 는 컴퓨터 판독가능 매체 (16) 를 통해 목적지 디바이스 (14) 에 인코딩된 비디오 데이터를 제공한다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는, 데스크톱 컴퓨터들, 노트북 (즉, 랩톱) 컴퓨터들, 태블릿 컴퓨터들, 셋톱 박스들, 소위 "스마트" 폰들과 같은 전화 핸드셋들, 태블릿 컴퓨터들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들, 비디오 스트리밍 디바이스들 등을 포함하는 광범위의 디바이스들 중 임의의 것을 포함할 수도 있다. 일부 경우들에서, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 무선 통신을 위해 구비될 수도 있다. 따라서, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 무선 통신 디바이스일 수도 있다. 소스 디바이스 (12) 는 예시의 비디오 인코딩 디바이스 (즉, 비디오 데이터를 인코딩하기 위한 디바이스/장치) 이다. 목적지 디바이스 (14) 는 예시의 비디오 디코딩 디바이스 (즉, 비디오 데이터를 디코딩하기 위한 디바이스/장치) 이다.
도 1 의 예에서, 소스 디바이스 (12) 는 비디오 소스 (18), 비디오 데이터를 저장하도록 구성된 저장 매체 (19), 비디오 인코더 (20), 및 출력 인터페이스 (24) 를 포함한다. 목적지 디바이스 (14) 는 입력 인터페이스 (26), 인코딩된 및/또는 디코딩된 비디오 데이터를 저장하도록 구성된 저장 매체 (28), 비디오 디코더 (30), 및 디스플레이 디바이스 (32) 를 포함한다. 다른 예들에서, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 다른 컴포넌트들 또는 어레인지먼트들을 포함한다. 예를 들어, 소스 디바이스 (12) 는 외부 비디오 소스, 예컨대 외부 카메라로부터 비디오 데이터를 수신할 수도 있다. 마찬가지로, 목적지 디바이스 (14) 는 집적 디스플레이 디바이스를 포함하기 보다는, 외부 디스플레이 디바이스와 인터페이스할 수도 있다.
도 1 의 예시된 시스템 (10) 은 단지 일 예이다. 비디오 데이터를 프로세싱하는 기법들은 임의의 디지털 비디오 인코딩 및/또는 디코딩 디바이스에 의해 수행될 수도 있다. 일반적으로, 본 개시물의 기법들은 비디오 인코딩 디바이스에 의해 수행되지만, 그 기법들은 또한, 통상적으로 "CODEC" 으로서 지칭된 비디오 인코더/디코더에 의해 수행될 수도 있다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 단지, 이러한 코딩 디바이스들의 예들이고, 이러한 코딩 디바이스들에서 소스 디바이스 (12) 는 목적지 디바이스 (14) 로의 송신을 위해 코딩된 비디오 데이터를 생성한다. 일부 예들에서, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는, 소스 디바이스 (12) 및 목적지 디바이스 (14) 각각이 비디오 인코딩 및 디코딩 컴포넌트들을 포함하도록 실질적으로 대칭 방식으로 동작할 수도 있다. 따라서, 시스템 (10) 은, 예를 들어 비디오 스트리밍, 비디오 플레이백, 비디오 방송, 또는 비디오 텔레포니를 위해 비디오 소스 디바이스 (12) 와 목적지 디바이스 (14) 간의 일방향 또는 양방향 비디오 송신을 지원할 수도 있다.
비디오 디바이스 (12) 의 비디오 소스 (18) 는 비디오 캡처 디바이스, 예컨대 비디오 카메라, 이전에 캡처된 비디오를 포함하는 비디오 아카이브, 및/또는 비디오 콘텐트 제공자로부터 비디오 데이터를 수신하기 위한 비디오 피드 인터페이스를 포함할 수도 있다. 추가의 대안으로서, 비디오 소스 (18) 는 소스 비디오로서 컴퓨터 그래픽 기반 데이터, 또는 라이브 비디오, 아카이브된 비디오, 및 컴퓨터 생성된 비디오의 조합을 생성할 수도 있다. 소스 디바이스 (12) 는 비디오 데이터를 저장하도록 구성된 하나 이상의 데이터 저장 매체 (예를 들어, 저장 매체 (19)) 를 포함할 수도 있다. 본 개시물에서 설명된 기법들은 일반적으로 비디오 코딩에 적용될 수 있으며, 무선 및/또는 유선 애플리케이션들에 적용될 수도 있다. 각각의 경우에서, 캡처된, 미리 캡처된, 또는 컴퓨터 생성된 비디오는 비디오 인코더 (20) 에 의해 인코딩될 수도 있다. 출력 인터페이스 (24) 는 인코딩된 비디오 정보를 컴퓨터 판독가능 매체 (16) 로 출력할 수도 있다.
목적지 디바이스 (14) 는 디코딩될 인코딩된 비디오 데이터를 컴퓨터 판독가능 매체 (16) 를 통해 수신할 수도 있다. 컴퓨터 판독가능 매체 (16) 는 인코딩된 비디오 데이터를 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로 이동시킬 수 있는 임의의 유형의 매체 또는 디바이스를 포함할 수도 있다. 일부 예들에서, 컴퓨터 판독가능 매체 (16) 는 소스 디바이스 (12) 로 하여금 인코딩된 비디오 데이터를 목적지 디바이스 (14) 로 실시간으로 직접 송신하게 하는 통신 매체를 포함한다. 인코딩된 비디오 데이터는 무선 통신 프로토콜과 같은 통신 표준에 따라 변조되고, 목적지 디바이스 (14) 로 송신될 수도 있다. 통신 매체는 임의의 무선 또는 유선 통신 매체, 예컨대 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인들을 포함할 수도 있다. 통신 매체는 패킷-기반 네트워크, 예컨대 근거리 네트워크, 광-역 네트워크, 또는 인터넷과 같은 글로벌 네트워크의 일부를 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로의 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다. 목적지 디바이스 (14) 는 인코딩된 비디오 데이터 및 디코딩된 비디오 데이터를 저장하도록 구성된 하나 이상의 데이터 저장 매체를 포함할 수도 있다.
일부 예들에서, 인코딩된 데이터는 출력 인터페이스 (24) 로부터 저장 디바이스 (미도시) 로 출력될 수도 있다. 유사하게, 인코딩된 데이터는 입력 인터페이스 (26) 에 의해 저장 디바이스로부터 액세스될 수도 있다. 저장 디바이스는 하드 드라이브, 블루레이 디스크들, DVD들, CD-ROM들, 플래시 메모리, 휘발성 또는 비휘발성 메모리와 같은 임의의 다양한 분산된 또는 로컬하게 액세스된 데이터 저장 매체, 또는 인코딩된 비디오 데이터를 저장하기 위한 임의의 다른 적합한 디지털 저장 매체를 포함할 수도 있다. 추가의 예에서, 저장 디바이스는 소스 디바이스 (12) 에 의해 생성된 인코딩된 비디오를 저장할 수도 있는 다른 중간 저장 디바이스 또는 파일 서버에 대응할 수도 있다. 목적지 디바이스 (14) 는 스트리밍 또는 다운로드를 통해 저장 디바이스로부터의 저장된 비디오 데이터에 액세스할 수도 있다. 파일 서버는 인코딩된 비디오 데이터를 저장할 수 있고 그 인코딩된 비디오 데이터를 목적지 디바이스 (14) 로 송신할 수 있는 임의의 유형의 서버일 수도 있다. 예시의 파일 서버들은 (예를 들어, 웹사이트 용의) 웹서버, FTP 서버, NAS (network attached storage) 디바이스들, 또는 로컬 디스크 드라이브를 포함한다. 목적지 디바이스 (14) 는 인터넷 접속을 포함하는 임의의 표준 데이터 접속을 통해 인코딩된 비디오 데이터에 액세스할 수도 있다. 이것은 파일 서버에 저장된 인코딩된 비디오 데이터를 액세스하는데 적합한 무선 채널 (예를 들어, Wi-Fi 접속), 유선 접속 (예를 들어, DSL, 케이블 모뎀 등), 또는 이둘의 조합을 포함할 수도 있다. 저장 디바이스로부터의 인코딩된 비디오 데이터의 송신은 스트리밍 송신, 다운로드 송신, 또는 이들의 조합일 수도 있다.
기법들은 다양한 멀티미디어 애플리케이션들, 예컨대 지상파 (over-the-air) 텔레비전 방송들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, HTTP 를 통한 동적 적응형 스트리밍 (dynamic adaptive streaming over HTTP; DASH) 과 같은 인터넷 스트리밍 비디오 송신들, 데이터 저장 매체 상에서 인코딩되는 디지털 비디오, 데이터 저장 매체 상에 저장되는 디지털 비디오의 디코딩, 또는 다른 애플리케이션들 중 임의의 것의 지원으로 비디오 코딩에 적용될 수도 있다. 일부 예들에서, 시스템 (10) 은, 비디오 스트리밍, 비디오 플레이백, 비디오 방송, 및/또는 비디오 텔레포니와 같은 애플리케이션들을 지원하기 위해 일방향 또는 양방향 비디오 송신을 지원하도록 구성될 수도 있다.
컴퓨터 판독가능 매체 (16) 는 트랜션트 (transient) 매체, 예컨대 무선 방송 또는 유선 네트워크 송신, 또는 저장 매체 (즉, 비일시적 저장 매체), 예컨대 하드 디스크, 플래시 드라이브, 컴팩트 디스크, 디지털 비디오 디스크, 블루레이 디스크, 또는 다른 컴퓨터 판독가능 매체를 포함할 수도 있다. 일부 예들에서, 네트워크 서버 (미도시) 는 소스 디바이스 (12) 로부터 인코딩된 비디오 데이터를 수신하고, 예를 들어 네트워크 송신을 통해 인코딩된 비디오 데이터를 목적지 디바이스 (14) 에 제공할 수도 있다. 유사하게, 디스크 스탬핑 설비와 같은 매체 생성 설비의 컴퓨팅 디바이스는 소스 디바이스 (12) 로부터 인코딩된 비디오 데이터를 수신하고, 인코딩된 비디오 데이터를 포함하는 디스크를 생성할 수도 있다. 따라서, 컴퓨터 판독가능 매체 (16) 는, 다양한 예들에서, 다양한 형태들의 하나 이상의 컴퓨터 판독가능 매체를 포함하는 것으로 이해될 수도 있다.
목적지 디바이스 (14) 의 입력 인터페이스 (26) 는 컴퓨터 판독가능 매체 (16) 로부터 정보를 수신한다. 컴퓨터 판독가능 매체 (16) 의 정보는 비디오 인코더 (20) 의 비디오 인코더 (20) 에 의해 정의된 신택스 정보를 포함할 수도 있는데, 이것은 비디오 디코더 (30) 에 의해 또한 사용되며, 특징들 및/또는 블록들 및 다른 코딩된 유닛들, 예를 들어 픽처들의 그룹 (GOP)들의 프로세싱을 설명하는 신택스 엘리먼트들을 포함한다. 저장 매체 (28) 는 입력 인터페이스 (26) 에 의해 수신된 인코딩된 비디오 데이터 (예를 들어, 비트스트림) 와 같은 인코딩된 비디오 데이터를 저장하도록 구성될 수도 있다. 디스플레이 디바이스 (32) 는 디코딩된 비디오 데이터를 사용자에게 디스플레이하고, 음극선관 (CRT), 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 다른 유형의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 임의의 것을 포함할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 임의의 다양한 적합한 프로그램가능 및/또는 고정-기능 회로부, 예컨대 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서 (DSP)들, 주문형 집적 회로 (ASIC)들, 필드 프로그램가능 게이트 어레이 (FPGA)들, 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합들로서 구현된다. 이 기법들이 부분적으로 소프트웨어에서 구현되는 경우, 디바이스는 그 소프트웨어에 대한 명령들을 적합한, 비일시적 컴퓨터 판독가능 매체에 저장할 수도 있고, 본 개시물의 기법들을 수행하기 위해 하나 이상의 프로세서들을 사용하는 하드웨어에서 명령들을 실행할 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있고, 이들 중 어느 하나가 결합형 인코더/디코더 (CODEC) 의 부분으로서 각각의 디바이스에 통합될 수도 있다.
일부 예들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 비디오 코딩 표준에 따라 동작한다. 비디오 코딩 표준들의 예는 ITU-T H.261, ISO/IEC MPEG-1 비주얼, ITU-T H.262 또는 ISO/IEC MPEG-2 비주얼, ITU-T H.263, ISO/IEC MPEG-4 비주얼 및 자신의 스케일러블 비디오 코딩 (SVC) 및 멀티뷰 비디오 코딩 (MVC) 확장들을 포함하는 ITU-T H.264 (또한 ISO/IEC MPEG-4 AVC 로 알려짐) 을 포함한다. 또한, 새로운 비디오 코딩 표준, 즉 고효율 비디오 코딩 (HEVC) 또는 ITU-T 시리즈들 H: 시청각 및 멀티미디어 시스템들, 시청각 서비스들의 인프라스트럭처 - 움직이는 비디오의 코딩, 고효율 비디오 코딩, 자신의 범위 및 스크린 콘텐트 코딩 확장들을 포함하는 ITU-T H.265 (04/2015), 3D 비디오 코딩 (3D-HEVC) 및 멀티뷰 확장들 (MV-HEVC) 및 스케일러블 확장 (SHVC) 이 ISO/IEC 모션 픽처 전문가들 그룹 (MPEG) 및 ITU-T 비디오 코딩 전문가들 그룹 (VCEG) 의 3D 비디오 코딩 확장 개발에 대한 공동 협력 팀 (JCT-3V) 뿐만 아니라 비디오 코딩에 대한 공동 협력 팀 (JCT-VC) 에 의해 최근에 개발되고 있다.
HEVC 및 다른 비디오 코딩 사양들에서, 비디오 시퀀스는 통상적으로 일련의 픽처들을 포함한다. 픽처들은 또한, "프레임들" 로서 지칭될 수도 있다. 픽처는 SL, SCb, 및 SCr 로 표기된 3 개의 샘플 어레이들을 포함할 수도 있다. SL 은 루마 샘플들의 2-차원 어레이 (즉, 블록) 이다. SCb 는 Cb 크로마 샘플들의 2-차원 어레이이다. SCr 은 Cr 크로마 샘플들의 2-차원 어레이이다. 다른 경우들에서, 픽처는 모노크롬일 수도 있고 단지 루마 샘플들의 어레이를 포함할 수도 있다.
픽처의 인코딩된 표현을 생성하기 위해, 비디오 인코더 (20) 는 비디오 데이터의 픽처의 블록들을 인코딩할 수도 있다. 비디오 인코더 (20) 는 비트스트림에서 비디오 블록의 인코딩된 표현을 포함할 수도 있다. 예를 들어, HEVC 에서, 픽처의 인코딩된 표현을 생성하기 위해, 비디오 인코더 (20) 는 코딩 트리 유닛 (CTU)들의 세트를 생성할 수도 있다. CTU들 각각은 하나 이상의 코딩 트리 블록 (CTB)들을 포함할 수도 있고 하나 이상의 코딩 트리 블록들의 샘플들을 코딩하는데 사용된 신택스 구조들을 포함할 수도 있다. 예를 들어, 각각의 CTU 는 루마 샘플들의 코딩 트리 블록, 크로마 샘플들의 2 개의 대응하는 코딩 트리 블록들, 및 코딩 트리 블록들의 샘플들을 코딩하는데 사용된 신택스 구조들을 포함할 수도 있다. 3 개의 별개의 컬러 평면들을 갖는 픽처들 또는 모노크롬 픽처들에서, CTU 는 단일의 코딩 트리 블록 및 코딩 트리 블록의 샘플들을 코딩하는데 사용된 신택스 구조들을 포함할 수도 있다. 코딩 트리 블록은 샘플들의 N×N 블록일 수도 있다. CTU 는 또한, "트리 블록" 또는 "최대 코딩 유닛" (LCU) 으로서 지칭될 수도 있다. 신택스 구조는 지정된 순서로 비트스트림에 함께 존재하는 0 또는 하나 이상의 신택스 엘리먼트들로서 정의될 수도 있다. CTB 의 사이즈는 HEVC 메인 프로파일에서 16×16 내지 64×64 의 범위일 수 있다 (하지만, 기술적으로 8×8 CTB 사이즈들이 지원될 수 있다). HEVC 에서, 슬라이스는 래스터 스캔 순서에서 연속적으로 오더링된 정수 개수의 CTU 들을 포함한다.
HEVC 에서, 픽처의 코딩된 CTU 를 생성하기 위해, 비디오 인코더 (20) 는 CTU 의 코딩 트리 블록들 상에서 쿼드-트리 파티셔닝을 재귀적으로 수행하여 코딩 트리 블록들을 코딩 블록들, 따라서 명칭 "코딩 트리 유닛들" 로 분할할 수도 있다. 코딩 블록은 샘플들의 N×N 블록일 수도 있다. 코딩 유닛 (CU) 은 하나 이상의 코딩 블록들 및 하나 이상의 코딩 블록들의 샘플들을 코딩하는데 사용된 신택스 구조들을 포함할 수도 있다. 예를 들어, CU 는 루마 샘플 어레이, Cb 샘플 어레이, 및 Cr 샘플 어레이를 갖는 픽처의 루마 샘플들의 코딩 블록 및 크로마 샘플들의 2 개의 대응하는 코딩 블록들, 및 코딩 블록들의 샘플들을 코딩하는데 사용된 신택스 구조들을 포함할 수도 있다. 3 개의 별개의 컬러 평면들을 갖는 픽처들 또는 모노크롬 픽처들에서, CU 는 단일의 코딩 블록 및 코딩 블록의 샘플들을 코딩하는데 사용된 신택스 구조들을 포함할 수도 있다. 따라서, HEVC 에서, CTB 는 쿼드-트리를 포함할 수도 있고, 트리의 노드들은 CU들이다.
도 2 는 HEVC 에서 CU 구조의 예를 예시하는 개념도이다. 『W.J.Han 등, "Improved Video Compression Efficiency Through Flexible Unit Representation and Corresponding Extension of Coding Tools", 비디오 기술에 대한 회로들 및 시스템들에 관한 IEEE 트랜잭션, vol. 20, no. 12, pp.1709-1720, 2010 년 12 월』에서 설명된 바와 같이, CTB (50) 는 도 2 에 도시된 바와 같이, 쿼드-트리 방식으로 CU들로 재귀적으로 스플리팅될 수도 있다. HEVC 에서, CU 는, CU 가 8×8 만큼 작을 수 있더라도 동일한 사이즈의 CTB 일 수 있다. 도 2 의 예에서, 얇은 라인들을 갖는 정사각형들은 CU들에 대응한다.
또한, 비디오 인코더 (20) 는 CU 를 인코딩할 수도 있다. 예를 들어, CU 를 인코딩하기 위해, 비디오 인코더 (20) 는 CU 의 코딩 블록을 하나 이상의 예측 블록들로 파티셔닝할 수도 있다. 예측 블록은, 동일한 예측이 적용되는 샘플들의 직사각형 (즉, 정사각형 또는 비-정사각형) 블록이다. CU 의 예측 유닛 (PU) 은 CU 의 하나 이상의 예측 블록들 및 하나 이상의 예측 블록들을 예측하는데 사용된 신택스 구조들을 포함할 수도 있다. 예를 들어, PU 는 루마 샘플들의 예측 블록, 크로마 샘플들의 2 개의 대응하는 예측 블록들, 및 예측 블록들을 예측하는데 사용된 신택스 구조들을 포함할 수도 있다. 모노크롬 픽처들 또는 3 개의 별개의 컬러 평면들을 갖는 픽처들에서, PU 는 단일의 예측 블록 및 예측 블록을 예측하는데 사용된 신택스 구조들을 포함할 수도 있다. 비디오 인코더 (20) 는 CU 의 각각의 PU 의 예측 블록들 (예를 들어, 루마, Cb 및 Cr 예측 블록들) 에 대한 예측 블록들 (예를 들어, 루마, Cb, 및 Cr 예측 블록들) 을 생성할 수도 있다.
HEVC 에서, 각각의 CU 는 인트라 모드이거나 인터 모드일 수 있는 하나의 모드로 코딩된다. CU 가 인터 코딩되는 (즉, 인터 모드가 적용되는) 경우, CU 는 2 또는 4 개의 PU들로 더 파티셔닝되거나 또는 추가의 파티셔닝이 적용되지 않는 경우 단지 하나의 PU 가 될 수도 있다. 하나의 CU 에서 2 개의 PU들이 존재하는 경우, 2 개의 PU들은 CU 의 절반 사이즈 직사각형들 또는 ¼또는 ¾ 사이즈를 갖는 2 개의 직사각형 사이즈들일 수 있다. 도 3 은 인터 예측 모드에 대한 예시의 파티션 모드들을 예시하는 개념도이다. 도 3 에 도시된 바와 같이, 인터 예측 모드로 코딩된 CU 에 대해 8 개의 파티션 모드들, 즉 PART_2N×2N, PART_2N×N, PART_N×2N, PART N×N, PART_2N×nU, PART_2N×nD, PART_nL×2N 및 PART_nR×2N 이 존재한다.
CU 가 인터 코딩되는 경우, 모션 정보의 하나의 세트가 각각의 PU 에 대해 존재한다. 또한, 각각의 PU 는 고유한 인터-예측 모드로 코딩되어 모션 정보의 세트를 도출한다. 비디오 인코더 (20) 가 인트라 예측을 사용하여 PU 의 예측 블록들을 생성하면, 비디오 인코더 (20) 는 PU 를 포함하는 픽처의 디코딩된 샘플들에 기초하여 PU 의 예측 블록들을 생성할 수도 있다. CU 가 인트라 코딩되는 경우, 2N×2N 및 N×N 은 단지 허용 가능한 PU 형상들이고, 각각의 PU 내에서 단일의 인트라 예측 모드가 코딩된다 (반면에 크로마 예측 모드는 CU 레벨에서 시그널링된다). N×N 인트라 PU 형상들은 단지, 현재의 CU 사이즈가 시퀀스 파라미터 세트 (SPS) 에서 정의된 최소 CU 사이즈와 동일한 경우 허용된다.
비디오 인코더 (20) 는 CU 에 대한 하나 이상의 잔차 블록들을 생성할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 CU 에 대한 루마 잔차 블록을 생성할 수도 있다. CU 의 루마 잔차 블록에서 각각의 샘플은, CU 의 예측 루마 블록들 중 하나에서의 루마 샘플과 CU 의 원래의 루마 코딩 블록에서의 대응하는 샘플 간의 차이를 나타낸다. 또한, 비디오 인코더 (20) 는 CU 에 대한 Cb 잔차 블록을 생성할 수도 있다. CU 의 Cb 잔차 블록에서 각각의 샘플은, CU 의 예측 Cb 블록들 중 하나에서의 Cb 샘플과 CU 의 원래의 Cb 코딩 블록에서의 대응하는 샘플 간의 차이를 나타낼 수도 있다. 비디오 인코더 (20) 는 또한, CU 에 대한 Cr 잔차 블록을 생성할 수도 있다. CU 의 Cr 잔차 블록에서 각각의 샘플은, CU 의 예측 Cr 블록들 중 하나에서의 Cr 샘플과 CU 의 원래의 Cr 코딩 블록에서의 대응하는 샘플 간의 차이를 나타낼 수도 있다.
또한, HEVC 에서, 비디오 인코더 (20) 는 CU 의 잔차 블록들을 하나 이상의 변환 블록들로 분해할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 쿼드트리 파티셔닝을 사용하여 CU 의 잔차 블록들을 하나 이상의 변환 블록들로 분해할 수도 있다. 변환 블록은, 동일한 변환이 적용되는 샘플들의 직사각형 (예를 들어, 정사각형 또는 비-정사각형) 블록이다. CU 의 변환 유닛 (TU) 은 하나 이상의 변환 블록들을 포함할 수도 있다. 예를 들어, TU 는 루마 샘플들의 변환 블록, 크로마 샘플들의 2 개의 대응하는 변환 블록들, 및 변환 블록 샘플들을 변환하는데 사용된 신택스 구조들을 포함할 수도 있다. 따라서, CU 의 각각의 TU 는 루마 변환 블록, Cb 변환 블록, 및 Cr 변환 블록을 가질 수도 있다. TU 의 루마 변환 블록은 CU 의 루마 잔차 블록의 서브-블록일 수도 있다. Cb 변환 블록은 CU 의 Cb 잔차 블록의 서브-블록일 수도 있다. Cr 변환 블록은 CU 의 Cr 잔차 블록의 서브-블록일 수도 있다. 모노크롬 픽처 또는 3 개의 별개의 컬러 평면들을 갖는 픽처들에서, TU 는 단일의 변환 블록 및 변환 블록의 샘플들을 변환하는데 사용된 신택스 구조들을 포함할 수도 있다.
비디오 인코더 (20) 는 TU 의 변환 블록에 하나 이상의 변환들을 적용하여 TU 에 대한 계수 블록을 생성할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 TU 의 루마 변환 블록에 하나 이상의 변환들을 적용하여 TU 에 대한 루마 계수 블록을 생성할 수도 있다. 계수 블록은 변환 계수들의 2-차원 어레이일 수도 있다. 변환 계수는 스칼라 양일 수도 있다. 비디오 인코더 (20) 는 TU 의 Cb 변환 블록에 하나 이상의 변환들을 적용하여 TU 에 대한 Cb 계수 블록을 생성할 수도 있다. 비디오 인코더 (20) 는 TU 의 Cr 변환 블록에 하나 이상의 변환들을 적용하여 TU 에 대한 Cr 계수 블록을 생성할 수도 있다.
일부 예들에서, 비디오 인코더 (20) 는 변환 블록에 대한 변환들의 적용을 스킵한다. 이러한 예들에서, 비디오 인코더 (20) 는 변환 계수들과 동일한 방식으로 처리될 수도 있는 잔차 샘플 값들을 취급할 수도 있다. 따라서, 비디오 인코더 (20) 가 변환들의 적용을 스킵하는 예들에서, 변환 계수들 및 계수 블록들의 다음의 논의는 잔차 샘플들의 변환 블록들에 적용 가능할 수도 있다.
계수 블록을 생성한 후에, 비디오 인코더 (20) 는 계수 블록을 양자화할 수도 있다. 양자화는 일반적으로, 변환 계수들을 표현하기 위해 사용된 데이터의 양을 가능한 감소시키기 위해 변환 계수들이 양자화되어, 추가의 압축을 제공하는 프로세스를 지칭한다. 일부 예들에서, 비디오 인코더 (20) 는 양자화를 스킵한다. 비디오 인코더 (20) 가 계수 블록을 양자화한 후에, 비디오 인코더 (20) 는 양자화된 변환 계수들을 나타내는 신택스 엘리먼트들을 생성할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 양자화된 변환 계수가 1 보다 큰지 여부를 나타내는 신택스 엘리먼트, 양자화된 변환 계수가 2 보다 큰지 여부를 나타내는 신택스 엘리먼트, 양자화된 변환 계수에 대한 계수 부호 플래그, 및 나머지 신택스 엘리먼트를 생성할 수도 있다. 비디오 인코더 (20) 는 양자화된 변환 계수들을 나타내는 신택스 엘리먼트들 중 하나 이상을 엔트로피 인코딩할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 양자화된 변환 계수들을 나타내는 신택스 엘리먼트들 상에 콘텍스트-적응 바이너리 산술 코딩 (CABAC) 을 수행할 수도 있다.
HEVC 에서, 양자화 그룹들은 로컬 양자화 정보의 시그널링 입도에 대한 더 좋은 제어를 위해 사용된다. 예를 들어, 소정의 임계 미만의 사이즈들을 갖는 CU들에 대한 로컬 양자화 정보를 시그널링하는 것이 비생산적일 수도 있다. HEVC 에서, 양자화 그룹들은, 사이즈가 픽처 파라미터 세트 (PPS) 에서 시그널링되는 비-오버랩된 정사각형 영역들로서 정의된다. 각각의 양자화 그룹에 대해, 로컬 양자화 정보는 최대한으로 한 번 시그널링된다. 따라서, 양자화 그룹의 로컬 양자화 정보는 작은 CU들의 그룹에 적용할 수도 있다.
또한, HEVC 에서, 상부-좌측 루마 코너로서 좌표들 ( xCb, yCb ) 을 갖는 블록에 대한 양자화 그룹을 찾기 위해, 다음의 프로세스가 정의된다. 루마 로케이션 ( xQg, yQg ) 은 현재 픽처의 상부-좌측 루마 샘플에 대해 현재의 양자화 그룹의 상부-좌측 루마 샘플을 지정한다. 수평 및 수직 포지션들 xQg 및 yQg 은 다음과 각각 동일하고:
여기서 Log2MinCuQpDeltaSize 는 양자화 그룹의 사이즈를 나타낸다.
일반적으로, 양자화 그룹에 대한 로컬 양자화 정보는, 비디오 디코더가 양자화 그룹에 특정된 양자화 파라미터를 결정하는데 사용할 수 있는 하나 이상의 신택스 엘리먼트들을 포함할 수도 있다. HEVC 에서, 양자화 그룹에 대한 로컬 양자화 정보는 cu_qp_delta_abs 신택스 엘리먼트 및 cu_qp_delta_sign_flag 신택스 엘리먼트를 포함할 수도 있다. HEVC 의 하위조항 7.4.9.10 에서 설명된 바와 같이, cu_qp_delta_abs 신택스 엘리먼트는 현재의 CU 의 루마 양자화 파라미터와 그 예측 간의 차이 CuQpDeltaVal 의 절대 값을 지정한다. cu_qp_delta_sign_flag 는 CuQpDeltaVal 의 부호를 지정한다. CuQpDeltaVal 는 델타 QP 로서 지칭될 수도 있다. 또한, HEVC 의 하위조항 7.4.9.10 에서 설명된 바와 같이, CuQpDeltaVal = cu_qp_delta_abs * ( 1 - 2 * cu_qp_delta_sign_flag ) 이다. 또한, HEVC 의 하위조항 8.6.1 에서 설명된 바와 같이, 변수 QpY 는 이하에서, 식 (1) 에 나타난 바와 같이 도출된다:
루마 양자화 파라미터는 그 후, Qp'Y = QpY + QpBdOffsetY 으로서 결정될 수도 있다. 일반적인 시퀀스 파라미터 세트 RBSP 시맨틱들을 정의하는, HEVC 의 하위조항 7.4.3.2.1 에서 설명된 바와 같이, QpBdOffsetY = 6 * bit_depth_luma_minus8 이고, 여기서 bit_depth_luma_minus8 은 SPS 에서의 신택스 엘리먼트이고 루마 어레이의 샘플들의 비트 심도 BitDepthY 및 루마 양자화 파라미터 범위 오프셋의 값 QpBdOffsetY 을 지정한다. qPY_PRED 는 예측된 양자화 파라미터이고, 이 파라미터의 도출은 HEVC 의 하위조항 8.6.1 에서 설명된다.
HEVC 의 하위조항 8.6.1 에서 설명된 바와 같이, 변수 qPY_PRED 는 다음의 순서화된 단계들에 의해 다음과 같이 도출된다:
1. 변수 qPY_PREV 는 다음과 같이 도출된다:
- 다음의 컨디션들 중 하나 이상의 참이면, qPY_PREV 는 SliceQpY 와 동일하게 설정된다:
- 현재의 양자화 그룹은 슬라이스에서의 제 1 양자화 그룹이다.
- 현재의 양자화 그룹은 타일에서의 제 1 양자화 그룹이다.
- 현재의 양자화 그룹은 타일의 코딩 트리 블록 로우에서의 제 1 양자화 그룹이고 entropy_coding_sync_enabled_flag 은 1 과 동일하다.
- 그렇지 않으면, qPY_PREV 는 디코딩 순서에서 이전의 양자화 그룹에서의 최종 코딩 유닛의 루마 양자화 파라미터 QpY 와 동일하게 설정된다.
2. 조항 6.4.1 에서 지정된 바와 같이 z-스캔 순서로 블록에 대한 가용성 도출 프로세스는 입력들로서 ( xCb, yCb ) 와 동일하게 설정된 로케이션 ( xCurr, yCurr ) 및 ( xQg - 1, yQg ) 와 동일하게 설정된 이웃하는 로케이션 ( xNbY, yNbY ) 으로 인보크되고, 출력은 availableA 에 할당된다. 변수 qPY_A 는 다음과 같이 도출된다:
- 다음의 컨디션들 중 하나 이상의 참이면, qPY_A 는 qPY_PREV 와 동일하게 설정된다:
- availableA 는 FALSE 와 동일하다.
- 루마 로케이션 ( xQg - 1, yQg ) 을 커버하는 루마 코딩 블록을 포함하는 코딩 트리 블록의 코딩 트리 블록 어드레스 ctbAddrA 는 CtbAddrInTs 와 동일하지 않고, 여기서 ctbAddrA 는 다음과 같이 도출된다:
- 그렇지 않으면, qPY_A 는 ( xQg - 1, yQg ) 을 커버하는 루마 코딩 블록을 포함하는 코딩 유닛의 루마 양자화 파라미터 QpY 와 동일하게 설정된다.
3. 조항 6.4.1 에서 지정된 바와 같이 z-스캔 순서로 블록에 대한 가용성 도출 프로세스는 입력들로서 ( xCb, yCb ) 와 동일하게 설정된 로케이션 ( xCurr, yCurr ) 및 ( xQg, yQg - 1 ) 와 동일하게 설정된 이웃하는 로케이션 ( xNbY, yNbY ) 으로 인보크되고, 출력은 availableB 에 할당된다. 변수 qPY_B 는 다음과 같이 도출된다:
- 다음의 컨디션들 중 하나 이상의 참이면, qPY_B 는 qPY_PREV 와 동일하게 설정된다:
- availableB 는 FALSE 와 동일하다.
- 루마 로케이션 ( xQg, yQg - 1 ) 을 커버하는 루마 코딩 블록을 포함하는 코딩 트리 블록의 코딩 트리 블록 어드레스 ctbAddrB 는 CtbAddrInTs 와 동일하지 않고, 여기서 ctbAddrB 는 다음과 같이 도출된다:
- 그렇지 않으면, qPY_B 는 ( xQg, yQg - 1 ) 을 커버하는 루마 코딩 블록을 포함하는 코딩 유닛의 루마 양자화 파라미터 QpY 와 동일하게 설정된다.
4. 예측된 루마 양자화 파라미터 qPY_PRED 는 다음과 같이 도출된다:
픽처가 3 개의 별개의 컬러 평면들을 사용하여 코딩되면, 비디오 코더는 루마 양자화 파라미터를 결정하기 위해 전술된 프로세스를 사용하여 크로마 샘플들을 양자화하는데 있어서 사용하기 위한 양자화 파라미터들을 결정할 수도 있다. 그러나, 픽처가 3 개의 별개의 컬러 평면들을 사용하여 코딩되지 않으면, 비디오 코더는 대신에, 변수들 qPCb 및 qPCr 을 다음과 같이 도출할 수도 있다:
- ChromaArrayType 은 1 과 동일하면, 변수들 qPCb 및 qPCr 은 각각, qPiCb 및 qPiCr 와 동일한 인덱스 qPi 에 기초하여, 표 8-10 에서 지정된 바와 같이 Qpc 의 값과 동일하게 설정된다.
- 그렇지 않으면, 변수들 qPCb 및 qPCr 은 각각, qPiCb 및 qPiCr 와 동일한 인덱스 qPi 에 기초하여, Min( qPi, 51 ) 와 동일하게 설정된다.
- Cb 및 Cr 컴포넌트들에 대한 크로마 양자화 파라미터들, Qp'Cb 및 Qp'Cr 는 다음과 같이 도출된다:
표 8-10
위의 텍스트에서, pps_cb_qp_offset 및 pps_cr_qp_offset 은 크로마 양자화 파라미터들 (Qp'Cb 및 Qp'cr) 을 도출하기 위해 사용된 루마 양자화 파라미터 (Qp'y) 에 대한 오프셋들을 지정하는 PPS 에서 시그널링된 신택스 엘리먼트들이다. Slice_cb_qp_offset 및 slice_cr_qp_offset 은 Qp'cb 및 Qp'cr 값들의 값들을 결정할 때 pps_cb_qp_offset 및 pps_cr_qp_offset 의 값들에 가산될 차이들을 나타내는 슬라이스 세그먼트 헤더들에서 시그널링된 신택스 엘리먼트들이다.
또한, HEVC 에서, 양자화 그룹에 대한 로컬 양자화 정보는 cu_chroma_qp_offset_flag 신택스 엘리먼트 및 cu_chroma_qp_offset_idx 신택스 엘리먼트를 포함할 수도 있다. 존재하고 1 과 동일한 경우, cu_chroma_qp_offset_flag 는, cb_qp_offset_list[ ] 에서의 엔트리가 CuQpOffsetCb 의 값을 결정하는데 사용되고 cr_qp_offset_list[] 에서의 대응하는 엔트리가 CuQpOffsetCr 의 값을 결정하는데 사용된다는 것을 지정한다. 0 과 동일한 cu_chroma_qp_offset_flag 는, 이들 리스트들이 CuQpOffsetCb 및 CuQpOffsetCr 의 값들을 결정하는데 사용되지 않는다는 것을 지정한다. cu_chroma_qp_offset_idx 는, 존재하는 경우, CuQpOffsetCb 및 CuQpOffsetCr 의 값을 결정하는데 사용되는 cb_qp_offset_list[ ] 및 cr_qp_offset_list[ ] 로의 인덱스를 지정한다. 존재하는 경우, cu_chroma_qp_offset_idx 의 값은 0 내지 chroma_qp_offset_list_len_minus1 을 포함하는 범위에 있을 것이다. 존재하지 않는 경우, cu_chroma_qp_offset_idx 의 값은 0 과 동일한 것으로 추론된다. HEVC 의 하위조항 7.4.9.10 은, 변수들 CuQpOffsetCb 및 CuQpOffsetCr 이 다음과 같이 도출된다는 것을 지정한다:
cu_chroma_qp_offset_flag 가 1 과 동일하면, 다음을 적용한다:
- 그렇지 않으면 (cu_chroma_qp_offset_flag 가 0 과 동일하지 않으면), CuQpOffsetCb 및 CuQpOffsetCr 양자 모두는 0 과 동일하게 설정된다.
HEVC 의 하위조항 8.6.1 은 CuQpOffsetCb 및 CuQpOffsetCr 이 Cb 및 Cr 컴포넌트들에 대한 크로마 양자화 파라미터들, Qp'Cb 및 Qp'Cr 을 도출하는데 사용된다.
HEVC 의 하위조항 8.6.2 에서 설명된 바와 같이, 양자화 파라미터 qP 는 현재의 블록의 컬러 컴포넌트가 양자화된다는 것에 의존하여, Qp'Y, Qp'Cb 또는 Qp'Cr 로 설정된다. 일부 예들에서, 비디오 인코더는 양자화 값 및 비트 시프트 값을 검색하기 위해 양자화 파라미터를 사용할 수도 있다. 변환 계수를 양자화하기 위해, 비디오 인코더는 변환 계수에 양자화 값을 곱하고 그 결과의 프로덕트를 비트 시프트 값만큼 우측 시프트할 수도 있다. 변환 계수를 역 양자화하기 위해, 비디오 디코더는 양자화 스텝 사이즈를 검색하도록 양자화 파라미터를 사용할 수도 있다. 비디오 디코더는 그 후, 변환 계수에 양자화 스텝 사이즈를 곱할 수도 있다. HEVC 의 하위조항 8.6.3 에서, 양자화 파라미터 qP 는 변환 계수들을 역 양자화하도록 프로세스에서 사용된다. 다음의 텍스트는 HEVC 의 하위조항 8.6.3 의 복사본이다:
이 프로세스로의 입력들은 다음과 같다:
- 현재의 픽처의 상부-좌측 루마 샘플에 대한 현재의 루마 변환 블록의 상부-좌측 샘플을 지정하는 루마 로케이션 ( xTbY, yTbY ),
- 현재의 변환 블록의 사이즈를 지정하는 변수 nTbS,
- 현재의 블록의 컬러 컴포넌트를 지정하는 변수 cIdx,
- 양자화 파라미터를 지정하는 변수 qP.
이 프로세스의 출력은 엘리먼트들 d[ x ][ y ] 을 갖는 스케일링된 변환 계수들의 (nTbS)x(nTbS) 어레이 d 이다.
변수들 log2TransformRange, bdShift, coeffMin 및 coeffMax 은 다음과 같이 도출된다:
- cIdx 가 0 과 동일하면, 다음을 적용한다:
- 그렇지 않으면, 다음을 적용한다:
리스트 levelScale[ ] 은 k = 0..5 인 levelScale[ k ] = { 40, 45, 51, 57, 64, 72 } 로서 지정된다.
x = 0..nTbS - 1, y = 0..nTbS - 1 인 스케일링된 변환 계수들 d[ x ][ y ] 의 도출을 위해, 다음을 적용한다:
- 스케일링 팩터 m[ x ][ y ] 는 다음과 같이 도출된다:
- 다음의 컨디션들 중 하나 이상이 참이면, m[ x ][ y ] 는 16 과 동일하게 설정된다:
- scaling_list_enabled_flag 는 0 과 동일하다.
- transform_skip_flag[ xTbY ][ yTbY ] 는 1 과 동일하고 nTbS 는 4 보다 크다.
- 그렇지 않으면, 다음을 적용한다:
여기서, sizeId 는 (nTbS)x(nTbS) 와 동일한 양자화 매트릭스의 사이즈에 대해 표 7-3 에서 지정되고, matrixId 는 sizeId, CuPredMode[ xTbY ][ yTbY ] 및 cIdx 에 대해, 각각 표 7-4 에서 지정된다.
- 스케일링된 변환 계수 d[ x ][ y ] 는 다음과 같이 도출된다:
비디오 인코더 (20) 는 인코딩된 비디오 데이터를 포함하는 비트스트림을 출력할 수도 있다. 예를 들어, 비트스트림은 코딩된 픽처들 및 연관된 데이터의 표현을 형성하는 비트들의 시퀀스를 포함할 수도 있다. 따라서, 비트스트림은 비디오 데이터의 인코딩된 표현을 포함한다. 일부 예들에서, 코딩된 픽처의 표현은 블록들의 인코딩된 표현들을 포함할 수도 있다. 따라서, 비디오 인코더 (20) 는, 비트스트림에서, 블록의 인코딩된 표현으로 블록의 변환 계수들을 시그널링할 수도 있다. 일부 경우들에서, 비디오 인코더 (20) 는 하나 이상의 신택스 엘리먼트들을 사용하여 블록의 각각의 변환 계수를 시그널링할 수도 있다. 본 개시물에서, 용어 "시그널링" 은 비트스트림에서 하나 이상의 신택스 엘리먼트들을 포함하는 것을 지칭할 수도 있다. 용어 시그널링은 데이터의 임의의 실-시간 송신을 반드시 의미하지는 않는다.
비트스트림은 네트워크 추상 계층 (NAL) 유닛들의 시퀀스를 포함할 수도 있다. NAL 유닛은 에뮬레이션 방지 비트들로 필요에 따라 산재된 RBSP (raw byte sequence payload) 의 형태로 그 데이터를 포함하는 바이트들 및 NAL 유닛에서 데이터 유형의 표시를 포함하는 신택스 구조이다. NAL 유닛들 각각은 NAL 유닛 헤더를 포함하고 RBSP 를 캡슐화할 수도 있다. NAL 유닛 헤더는 NAL 유닛 유형 코드를 나타내는 신택스 엘리먼트를 포함할 수도 있다. NAL 유닛의 NAL 유닛 헤더에 의해 지정된 NAL 유닛 유형 코드는 NAL 유닛의 유형을 나타낸다. RBSP 는 NAL 유닛 내에 캡슐화되는 정수의 바이트들을 포함하는 신택스 구조일 수도 있다. 일부 경우들에서, RBSP 는 제로 비트들을 포함한다.
NAL 유닛들은 비디오 파라미터 세트 (VPS)들, 시퀀스 파라미터 세트 (SPS)들, 및 픽처 파라미터 세트 (PPS)들에 대한 RBSP들을 캡슐화할 수도 있다. VPS 는 0 이상의 전체 코딩된 비디오 시퀀스 (CVS)들에 적용하는 신택스 엘리먼트들을 포함하는 신택스 구조이다. SPS 는 또한, 0 이상의 전체 CVS들에 적용하는 신택스 엘리먼트들을 포함하는 신택스 구조이다. SPS 는, SPS 가 활성화되는 경우 활성화되는 VPS 를 식별하는 신택스 엘리먼트를 포함할 수도 있다. 따라서, VPS 의 신택스 엘리먼트들은 SPS 의 신택스 엘리먼트들 보다 더 일반적으로 적용 가능할 수도 있다. PPS 는 0 이상의 코딩된 픽처들에 적용하는 신택스 엘리먼트들을 포함하는 신택스 구조이다. PPS 는, PPS 가 활성화되는 경우 활성화되는 SPS 를 식별하는 신택스 엘리먼트를 포함할 수도 있다. 슬라이스의 슬라이스 헤더는, 슬라이스가 코딩되고 있을 때 활성화되는 PPS 를 나타내는 신택스 엘리먼트를 포함할 수도 있다.
비디오 디코더 (30) 는 비디오 인코더 (20) 에 의해 생성된 비트스트림을 수신할 수도 있다. 또한, 비디오 디코더 (30) 는 비트스트림을 파싱 (parse) 하여 비트스트림으로부터 신택스 엘리먼트들을 획득할 수도 있다. 비디오 디코더 (30) 는 비트스트림으로부터 획득된 신택스 엘리먼트들에 적어도 부분적으로 기초하여 비디오 데이터의 픽처들을 복원할 수도 있다. 비디오 데이터를 복원하기 위한 프로세스는 일반적으로, 비디오 인코더 (20) 에 의해 수행된 프로세스와 상반될 수도 있다. 예를 들어, 비디오 디코더 (30) 는 PU들의 모션 벡터들을 사용하여, 현재의 CU 의 PU들에 대한 예측 블록들을 결정할 수도 있다. 또한, 비디오 디코더 (30) 는 현재의 CU 의 TU들의 계수 블록들을 역 양자화할 수도 있다. 비디오 디코더 (30) 는 계수 블록들 상에서 역 변환들을 수행하여 현재의 CU 의 TU들의 변환 블록들을 복원할 수도 있다.
비디오 디코더 (30) 는 현재의 CU 의 PU들에 대한 예측 블록들의 샘플들을 현재의 CU 의 TU들의 변환 블록들의 대응하는 샘플들에 추가함으로써 현재의 CU 의 코딩 블록들을 복원할 수도 있다. 픽처의 각각의 CU 에 대한 코딩 블록들을 복원함으로써, 비디오 디코더 (30) 는 픽처를 복원할 수도 있다.
『J. An 등, "Block partitioning structure for next generation video coding", 국제 전기통신 연합, COM16-C966, 2015 년, 9 월 (이하, "VCEG 제안서 COM16-C966")』는 HEVC 이상의 미래의 비디오 코딩 표준에 대한 쿼드-트리-바이너리-트리 (QTBT) 를 설명했다. 시뮬레이션들은, 제안된 QTBT 구조가 HEVC 에서 사용된 쿼드-트리 구조보다 더 효율적이라는 것을 보여주었다.
VCEG 제안서 COM16-C966 에서 제안된 QTBT 구조에서, CTB 는 먼저 쿼드-트리에 의해 파티셔닝되고, 여기서 하나의 노드의 쿼드-트리 스플리팅은 노드가 최소 허용된 쿼드-트리 리프 노드 사이즈 (MinQTSize) 에 도달할 때까지 반복될 수 있다. 쿼드-트리 리프 노드 사이즈가 최대 허용된 바이너리 트리 루트 노드 사이즈 (MaxBTSize) 보다 크지 않으면, 바이너리 트리에 의해 더 파티셔닝될 수 있다. 하나의 노드의 바이너리 트리 스플리팅은, 노드가 최소 허용된 바이너리 트리 리프 노드 사이즈 (MinBTSize) 또는 최대 허용된 바이너리 트리 심도 (MaxBTDepth) 에 도달할 때까지 반복될 수 있다. 바이너리 트리 리프 노드는 즉, 예측 (예를 들어, 인트라-픽처 또는 인터-픽처 예측) 을 위해 사용되고 어떤 추가의 파티셔닝 없이도 변환될 CU 이다. 2 개의 스플리팅 유형들, 대칭적 수평적 스플리팅 및 대칭적 수직적 스플리팅이 바이너리 트리 스플리팅에서 존재한다.
QTBT 파티셔닝 구조의 일 예에서, CTU 사이즈는 128×128 (루마 샘플들 및 2 개의 대응하는 64×64 크로마 샘플들) 로서 설정되고, MinQTSize 는 16×16 로서 설정되고, MaxBTSize 는 64×64 로서 설정되고, (폭 및 높이 양자 모두에 대한) MinBTSize 는 4 로서 설정되며, MaxBTDepth 는 4 로서 설정된다. 쿼드트리 파티셔닝은 CTU 에 먼저 적용되어, 쿼드-트리 리프 노드들을 생성한다. 쿼드-트리 리프 노드들은 16×16 (즉, MinQTSize) 내지 128×128 (즉, CTU 사이즈) 의 사이즈를 가질 수도 있다. 리프 쿼드-트리 노드가 128×128 이면, 리프 쿼드-트리 노드는 사이즈가 MaxBTSize (즉, 64×64) 를 초과하기 때문에 바이너리 트리에 의해 더 스플리팅되지 않을 것이다. 그렇지 않으면, 리프 쿼드-트리 노드는 바이너리 트리에 의해 더 파티셔닝된다. 따라서, 쿼드-트리 리프 노드는 또한, 바이너리 트리에 대한 루트 노드이고, 0 으로서 바이너리 트리 심도를 갖는다. 바이너리 트리 심도가 MaxBTDepth (즉, 4) 에 도달하는 경우, 이것은 추가의 스플리팅이 수행되지 않는다는 것을 의미한다. 바이너리 트리 노드가 MinBTSize (즉, 4) 와 동일한 폭을 갖는 경우, 이것은 추가의 수평적 스플리팅이 없다는 것을 의미한다. 유사하게, 바이너리 트리 노드가 MinBTSize 와 동일한 높이를 갖는 경우, 이것은 추가의 수직적 스플리팅이 없다는 것을 의미한다. 바이너리 트리의 리프 노드들은 즉, 임의의 추가의 파티셔닝 없이 예측 및 변환에 의해 추가로 프로세싱된 CU들이다.
도 4a 및 도 4b 는 쿼드-트리-바이너리-트리 (QTBT) 구조들을 예시하는 개념도들이다. 특히, 도 4a 는 QTBT 를 사용하는 것에 의한 블록 파티셔닝의 예를 예시한다. 도 4b 는 도 4a 의 블록 파티셔닝에 대응하는 예시의 트리 구조를 예시한다. 도 4a 및 도 4b 의 실선들은 쿼드-트리 스플리팅을 나타내고 도 4a 및 도 4b 에서의 점선들은 바이너리 트리 스플리팅을 나타낸다. 바이너리 트리의 각각의 스플리팅 (즉, 비-리프) 노드에서, 하나의 플래그는 어느 스플리팅 유형 (즉, 수평적 또는 수직적) 이 사용되는지를 나타내도록 시그널링되고, 여기서 0 은 수평적 스플리팅을 나타내고 1 은 수직적 스플리팅을 나타낸다. 쿼드-트리 스플리팅에 대해, 블록을 동일한 사이즈를 갖는 4 개의 서브-블록들로 수평적으로 및 수직적으로 항상 스플리팅하기 때문에, 스플리팅 유형을 나타낼 필요가 없다.
2016년 1월 15일자로 출원된 미국 가특허 제 62/279,233 호, 및 2016년 1월 12일자로 출원된 미국 특허 제 15/404,634 호는 멀티-유형-트리 (MTT) 구조를 제안하였다. MTT 구조를 이용하여, 트리 노드는 다수의 트리 유형들, 예컨대 바이너리 트리, 대칭적 센터-사이드 트리, 및 쿼드-트리로 더 스플리팅될 수도 있다. 시뮬레이션들은, 멀티-유형-트리 구조가 쿼드-트리-바이너리-트리 구조보다 더욱 더 효율적일 수도 있다는 것을 보여주었다.
도 5 는 MTT 구조를 사용하는 CTU 파티셔닝의 예를 예시하는 개념도이다. 다시 말해, 도 5 는 CTU 에 대응하는 CTB (91) 의 파티셔닝을 예시한다. 도 5 의 예에서,
심도 0 에서, CTB (91) (즉, 전체 CTB) 는 (단일의 점들에 의해 분리된 대시들로 라인 (93) 에 의해 표시된 바와 같이) 수평적 바이너리-트리 파티셔닝을 이용하여 2 개의 블록들로 스플리팅된다.
심도 1 에서 상부 블록의 좌측 사이드 블록은 (짧은 대시들에 의해 분리된 긴 대시들로 라인들 (92 및 94) 에 의해 표시된 바와 같이) 수평적 센터-사이드 트리플-트리 파티셔닝을 이용하여 3 개의 블록들로 스플리팅된다.
도 5 의 예에서 알 수 있는 바와 같이, 3 개의 상이한 파티션 구조들 (BT, QT, 및 TT) 이 4 개의 상이한 파티션 유형들 (수평 바이너리-트리 파티셔닝, 수직적 센터-사이드 트리플-트리 파티셔닝, 쿼드-트리 파티셔닝, 및 수평적 센터-사이드 트리플-트리 파티셔닝) 로 사용된다. 파티셔닝 스킴들, 예컨대 CTU들을 하나 이상의 비-정사각형 CU들로 파티셔닝할 수 있는 QTBT 및 MTT 양자 모두에서, CU 와 TU 간에 구별이 없을 수도 있다. 다시 말해, CU 만이 CU 와 동일한 사이즈인 하나의 TU 를 갖는다. 따라서, 이러한 파티셔닝 스킴들의 맥락에서, QTBT 및 MTT 의 맥락에서 변환 블록들 및 TU들을 논의하기 보다는, 본 개시물은 단순히 CU들의 변환 계수들 및 CU들의 잔차 블록들을 설명할 수도 있다.
비-쿼드트리-단독 파티셔닝된 비디오 코딩, 예컨대 QTBT 또는 MTT 에서, HEVC 에서 정의된 양자화 그룹은 적절히 작동할 수 없다. 예를 들어, 도 6 은 바이너리 트리를 이용한 파티셔닝의 예를 예시하는 개념도이다. 도 6 에서, 검정색 실선으로 윤곽이 그려진 블록들은 64×64 블록이 2 개의 8×64 블록들, 하나의 16×64 블록 및 하나의 32×64 블록으로 바이너리 트리를 이용하여 파티셔닝된다는 것을 나타낸다. 파선들로 윤곽이 그려진 블록들은 16×16 사이즈를 갖는 HEVC 스타일 양자화 그룹들을 나타낸다. 일부 예들에서, 비-쿼드트리-단독 파티셔닝된 비디오 코딩에서, 블록은 2 개 또는 더 많은 서브-블록들 (예를 들어, 2 개의 서브-블록들, 3 개의 서브-블록들, 4 개의 서브-블록들) 로 파티셔닝될 수도 있다. 일부 예들에서, 블록들은 상이한 수들의 서브-블록들을 가질 수 있다.
본 개시물에서 위에서 도입된 양자화 그룹들의 HEVC 정의에 따르면, 2 개의 8×64 블록들 양자 모두는, 이들 양자 모두가 양자화 그룹의 사이즈보다 사이즈가 더 크더라도 로컬 양자화 정보의 단지 하나의 세트가 2 개의 8×64 블록들에 대해 시그널링되는 것이 허용되도록 제 1 양자화 그룹에 속한다. 양자화 그룹들의 제 2 로우 (및 제 3, 제 4 로우들) 에서 제 1 양자화 그룹에 대해, 로컬 양자화 정보는 그것이 8×64 블록들에서와 같이 시그널링되었기 때문에 시그널링될 수 없다. 따라서, HEVC-스타일 양자화 그룹은 바이너리 트리 파티셔닝으로 적절히 작동하지 않는다. MTT 구조에서 도입된 트리플 트리에 대해, 문제가 더욱 더 악화될 수도 있다.
다음의 텍스트는 위에서 언급된 문제들을 해결할 수도 있는 예시의 기법들을 설명한다. 다음의 예들은 개별적으로 적용될 수도 있다. 대안으로, 예들의 임의의 조합이 적용될 수도 있다.
본 개시물의 예에 따르면, 양자화 그룹들의 경계들이 CU들 또는 코딩 블록들의 경계들이어야 하도록 양자화 그룹은 (코딩 순서에서) 연속적인 CU들 또는 코딩 블록들의 그룹으로서 재정의된다. 양자화 그룹의 사이즈는, 비트스트림에서 미리정의되거나 또는 시그널링될 수도 있는, 임계 (thresholdA) 이상이다.
따라서, 본 개시물의 기법들에 따르면, 비디오 인코더 (20) 는 비디오 데이터의 픽처의 CTU 의 복수의 CU들로의 파티셔닝을 결정할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 본 개시물의 다른 곳에서 설명된 바와 같이 QTBT 또는 MTT 파티셔닝 스킴들을 사용하여 CTU 가 CU들로 파티셔닝되는 방법을 결정할 수도 있다. 일부 예들에서, 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함한다. 또한, 비디오 인코더 (20) 는 양자화 파라미터에 기초하여 현재의 CU 의 적어도 하나의 변환 계수를 양자화할 수도 있다. 이 예에서, 현재의 CU 는 현재의 양자화 그룹에 있고 또는 현재의 CU 는 현재의 양자화 그룹에서의 코딩 블록들에 대응한다. CU 는, CU 가 코딩 블록을 포함하면 코딩 블록에 대응할 수도 있다. 양자화 그룹의 새로운 정의에 따르면, 본 예의 현재의 양자화 그룹은, 현재의 양자화 그룹의 경계들이 CU들 또는 코딩 블록들의 경계들이어야 하고 현재의 양자화 그룹의 사이즈가 임계 이상이도록 코딩 순서에서 연속적인 CU들 또는 코딩 블록들의 그룹으로서 정의된다. 이 예에서, 현재의 양자화 그룹은 정사각형일 수도 있거나 또는 정사각형이 아닐 수도 있다. 비디오 인코더 (20) 는 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서, 현재의 양자화 그룹에 대한 로컬 양자화 정보를 시그널링할 수도 있다. 양자화 파라미터는 현재의 양자화 그룹에 대한 로컬 양자화 정보에 적어도 부분적으로 기초하여 도출 가능하다.
유사하게, 비디오 디코더 (30) 는 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서, 현재의 양자화 그룹에 대한 로컬 양자화 정보를 수신할 수도 있다. 부가적으로, 비디오 디코더 (30) 는 비디오 데이터의 픽처의 CTU 의 복수의 CU들로의 파티셔닝을 결정할 수도 있다. 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함할 수도 있다. 또한, 비디오 디코더 (30) 는 현재의 양자화 그룹에 대한 로컬 양자화 정보에 적어도 부분적으로 기초하여, 양자화 파라미터를 도출할 수도 있다. 예를 들어, 현재의 양자화 그룹에 대한 로컬 양자화 정보는 델타 QP 의 절대 값 (예를 들어, CuQpDeltaVal) 을 나타내는 제 1 신택스 엘리먼트 (예를 들어, cu_qp_delta_abs) 를 포함할 수도 있다. 델타 QP 는 양자화 파라미터와 예측된 양자화 파라미터 간의 차이를 나타낸다. 이 예에서, 비디오 디코더 (30) 는 QP 를 델타 QP 및 예측된 양자화 파라미터의 합 플러스 오프셋으로서 결정할 수도 있다. 위의 정의와 일치하여, 현재의 양자화 그룹은, 현재의 양자화 그룹의 경계들이 CU들 또는 코딩 블록들의 경계들이어야 하고 현재의 양자화 그룹의 사이즈가 임계 이상이도록 코딩 순서에서, 연속적인 CU들 또는 코딩 블록들의 그룹들로서 정의된다. 위와 같이, 현재의 양자화 그룹은 정사각형일 수도 있거나 또는 정사각형이 아닐 수도 있다. 또한, 비디오 디코더 (30) 는 양자화 파라미터에 기초하여, 현재의 CU 의 적어도 하나의 변환 계수를 역 양자화할 수도 있다. 이 예에서, 현재의 CU 는 현재의 양자화 그룹에서의 CU들 중 하나이고 또는 현재의 CU 는 현재의 양자화 그룹에서의 코딩 블록들 중 하나에 대응한다. 비디오 디코더 (30) 는 현재의 CU 의 역 양자화된 변환 계수들에 기초하여, 현재의 CU 의 코딩 블록을 복원할 수도 있다.
컴퓨팅 디바이스에서 이들 기법들을 구현하는 것은 소스 디바이스 (12) 및/또는 목적지 디바이스 (14) 에 대한 개선들을 초래할 수도 있다. 예를 들어, 본 개시물의 기법들은, 비디오를 신속하게 디스플레이하도록 목적지 디바이스 (14) 의 능력을 증가시킬 수도 있는 압축을 개선할 수도 있고, 목적지 디바이스 (14) 가 비디오를 디스플레이할 수도 있는 레졸루션을 증가시킬 수도 있으며, 다른 개선들을 제공할 수도 있다. 소스 디바이스 (12) 는 인코딩된 비디오 데이터가 소스 디바이스 (12) 의 메모리에서 더 적은 저장 공간을 차지할 수도 있다는 점에서 개선될 수도 있고, 전술된 이점들을 목적지 디바이스 (14) 에 제공할 수도 있다.
재정의된 양자화 그룹에 따르면, 양자화 그룹의 사이즈 (thresholdA) 는, 루마 샘플들의 수 면에서 또는 4×4 또는 2×2 와 같은 코딩 블록들의 최소 사이즈의 배수들 면에서, SPS, PPS, 슬라이스 헤더 또는 임의의 다른 고-레벨 신택스 파라미터 세트에서와 같이 비트스트림에서 시그널링될 수도 있다. 예를 들어, 비트스트림에서 thresholdA 를 나타내는 효율적인 방식으로서, thresholdA 는 인덱스로서 표현될 수도 있고, 여기서 인덱스의 각각의 값은 최소 코딩 블록 사이즈의 개별의 배수에 대응한다 (예를 들어, 여기서 2×2 는 최소 코딩 블록 사이즈이고, 0 은 2×2 에 대응하고, 1 은 4×4 에 대응하고, 2 는 8×8 에 대응하는 등이다). 양자화 그룹의 새로운 정의는, 양자화 그룹의 사이즈가 thresholdA 이상이라는 것을 제공한다는 것이 주목된다. 양자화 그룹은 thresholdA 보다 클 수도 있기 때문에, 양자화 그룹은 정사각형일 필요는 없다. 양자화 그룹의 형상은 양자화 그룹에 포함된 CU들의 그룹의 윤곽을 지칭한다.
따라서, 이 방식에서, 비디오 인코더 (20) 는, 비트스트림에서, 임계의 표시 (thresholdA) 를 시그널링할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 비트스트림에서 임계를 나타내는 신택스 엘리먼트를 포함할 수도 있다. 일부 예들에서, 비디오 인코더 (20) 는 코딩 블록들의 최소 사이즈의 배수들 면에서 임계를 시그널링한다. 또한, 일부 예들에서, 비디오 인코더 (20) 는, 비트스트림에서 SPS, PPS, 슬라이스 헤더, 또는 다른 고-레벨 신택스 파라미터 세트에서 임계의 표시를 시그널링할 수도 있다. 다른 예들에서, 임계는, 임계가 비디오 인코더 (20) 가 임계를 시그널링하지 않고 비디오 디코더 (30) 에 적용 가능하도록 미리정의된다. 유사하게, 비디오 디코더 (30) 는, 비트스트림으로부터 임계의 표시를 획득할 수도 있다. 예를 들어, 비디오 디코더 (30) 는, 비트스트림으로부터 코딩 블록들의 최소 사이즈의 배수들 면에서 임계를 획득할 수도 있다. 일부 예들에서, 비디오 디코더 (30) 는 SPS, PPS, 슬라이스 헤더, 또는 다른 고-레벨 신택스 파라미터 세트로부터 임계의 표시를 획득할 수도 있다.
일부 예들에서, 현재의 양자화 그룹 내의 (현재의 CU들/블록들을 포함하는) CU들/블록들의 누산된 사이즈가 미리정의된 또는 시그널링된 임계 (thresholdA) 이상이면, 새로운 양자화 그룹은 코딩 순서에서 다음의 CU/블록으로 시작된다. 따라서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는, 현재의 양자화 그룹에서의 CU들 또는 코딩 블록들의 누산된 사이즈가 임계 이상이라는 것에 기초하여, 복수의 양자화 그룹들 중 다음의 양자화 그룹이 CTU 의 다음의 CU 또는 코딩 블록으로 시작한다는 것을 결정할 수도 있다.
일 특정 예에서, thresholdA 가 16×16 이면, thresholdA 는 256 개의 샘플들에 대응할 수도 있다. 이 예에서, CTU 는 제 1 CU, 제 2 CU, 제 3 CU, 및 제 4 CU 로 파티셔닝될 수도 있다. 또한, 이 예에서, 제 1 CU 는 64 개의 샘플들을 포함할 수도 있고, 제 2 CU 는 128 개의 샘플들을 포함할 수도 있고, 제 3 CU 는 128 개의 샘플들을 포함할 수도 있으며, 제 4 CU 는 64 개의 샘플들을 포함할 수도 있다. 이 예에서, CU들 중 어느 것이 제 1 양자화 그룹에 포함되는지를 결정하는 경우, 비디오 코더는 누산된 사이즈 (64 개의 샘플들) 이 thresholdA (256 개의 샘플들) 미만이기 때문에 제 1 양자화 그룹에서 제 1 CU 를 포함할 수도 있고, 누산된 사이즈 (192) 가 thresholdA (256 개의 샘플들) 미만이기 때문에 제 1 양자화 그룹에서 제 2 CU 를 포함할 수도 있으며, 누산된 사이즈 (320 개의 샘플들) 이 이제 thresholdA (256 개의 샘플들) 보다 크기 때문에 제 1 양자화 그룹에서 제 3 CU 를 포함할 수도 있다. 이 예에서, 비디오 코더는 제 1 양자화 그룹의 누산된 사이즈가, 제 3 CU 에서 추가한 후에, thresholdA 보다 크기 때문에 제 1 양자화 그룹에서 제 4 CU 를 포함하지 않는다. 따라서, 제 4 CU 는 제 2 양자화 그룹에 있을 수도 있다.
또한, 일부 예들에서, 새로운 양자화 그룹은 새로운 CTU 에 대해 시작한다. 다시 말해, 어떤 양자화 그룹도 2 개의 CTU들에 걸쳐 있지 않다. 각각의 새로운 CTU 에 대해 새로운 양자화 그룹을 시작하는 것은, 비디오 코더가 CTU 경계들에 걸쳐 로컬 양자화 정보를 유지할 필요가 없을 수도 있기 때문에 복잡성을 감소시킬 수도 있다. 따라서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 픽처의 각각의 CTU 에 대해 새로운 양자화 그룹을 시작할 수도 있다. 로컬 양자화 정보는 각각의 새로운 양자화 그룹에 대해 시그널링될 수도 있다.
일부 예들에서, (현재의 유닛들/블록들을 포함하지 않는) 코딩 유닛들/블록들의 누산된 사이즈가 양자화 그룹의 사이즈 (thresholdA) 보다 작은 경우에도, 새로운 양자화 그룹은 임계 (thresholdB) 이상인 사이즈를 갖는 CU/블록에 대해 시작한다. 따라서, 이 예에서, 비디오 코더 (예를 들어, 비디오 인코더 (20) 또는 비디오 디코더 (30)) 는, 현재의 양자화 그룹의 누산된 사이즈가 제 1 임계보다 크지 않은 경우에도 제 2 임계 이상인 사이즈를 갖는 CTU 의 각각의 CU 또는 코딩 블록에 대해 새로운 양자화 그룹을 시작할 수도 있다.
일 특정 예에서, 사이즈 8×16 의 제 1 CU, 사이즈 8×16 의 제 2 CU, 사이즈 32x16 의 제 3 CU, 및 다른 CU들을 포함하는 CTU 를 고려하자. 이 예에서, thresholdA 를 64×64 (즉, 4096 개의 샘플들) 이라 하고 thresholdB 를 16×16 (256 개의 샘플들) 이라 하자. 따라서, 이 예에서, 비디오 코더는, 제 3 CU 의 사이즈 (512 개의 샘플들) 이 임계 (256 개의 샘플들) 보다 크기 때문에 제 1 CU 및 제 2 CU 후의 제 1 양자화 그룹의 누산된 사이즈가 단지 256 이더라도, 제 1 양자화 그룹에서 제 3 CU 를 포함하지 않는다.
thresholdB 의 값은 thresholdA 의 값과 동일하게 설정될 수도 있고, 또는 thresholdB 의 값은 비트스트림에서 별개로 미리-정의되거나 또는 시그널링될 수도 있다. 따라서, 일부 예들에서, 제 1 임계 (즉, thresholdA) 및 제 2 임계 (즉, thresholdB) 는 동일한 값을 갖는다. 일부 예들에서, 비디오 인코더 (20) 는, 비트스트림에서 제 2 임계의 값의 표시를 시그널링할 수도 있다. 마찬가지로, 비디오 디코더 (30) 는, 비트스트림으로부터 제 2 임계의 값의 표시를 획득할 수도 있다.
일부 예들에서, 각각의 양자화 그룹에 대해, 로컬 양자화 정보의 최대 하나의 세트는, 넌-제로 양자화된 계수들이 양자화 그룹 내에 존재하는 경우 비트스트림에서 시그널링된다. 따라서, 이러한 예들에서, 픽처의 복수의 양자화 그룹들의 각각의 개별 양자화 그룹에 대해, 개별의 양자화 그룹이 넌-제로 양자화된 계수들을 포함하는 경우, 로컬 양자화 정보의 최대 하나의 세트가 개별의 양자화 그룹에 대해 비스트림에서 시그널링되도록 허용된다. 다시 말해, 양자화 그룹에서의 CU들 중 어느 것도 넌-제로 양자화된 계수를 포함하지 않으면, 로컬 양자화 정보는 양자화 그룹에 대해 시그널링되지 않는다. 그러나, 양자화 그룹에서의 임의의 CU 가 넌-제로 양자화된 계수를 포함하면, 로컬 양자화 정보의 단지 하나의 세트가 양자화 그룹에 대해 시그널링된다.
다른 예들에서, 각각의 양자화 그룹에 대해, 로컬 양자화 정보의 다수의 세트들은 비트스트림에서 시그널링될 수도 있다. 로컬 양자화 정보의 새로운 세트는, 현재의 코딩 블록이 비트스트림에서 미리정의되거나 또는 시그널링될 수도 있는 임계보다 큰 경우 시그널링된다. 일부 예들에서, 임계는 양자화 그룹의 사이즈로 설정될 수도 있다. 이러한 예들에서, 각각의 양자화 그룹에 대해 로컬 양자화 정보의 최대 2 개의 세트들이 존재한다.
따라서, 이 예에서, 제 2 임계보다 큰 사이즈를 갖는 CU 또는 코딩 블록을 포함하는 현재의 양자화 그룹에 기초하여, 비디오 인코더 (20) 는, 비트스트림에서, 현재의 양자화 그룹에 대한 로컬 양자화 정보의 제 2 세트를 시그널링할 수도 있다. 또한, 비디오 인코더 (20) 는 현재의 양자화 그룹에 대한 로컬 양자화 정보의 제 2 세트에 적어도 부분적으로 기초하여, 제 2 양자화 파라미터를 도출할 수도 있다. 부가적으로, 비디오 인코더 (20) 는 제 2 양자화 파라미터에 기초하여 제 2 CU 의 적어도 하나의 변환 계수를 양자화할 수도 있다. 일부 예들에서, 비디오 인코더 (20) 는, 제 2 임계의 값의 표시를 비트스트림에서 시그널링할 수도 있다. 일부 예들에서, 제 2 임계는 미리정의된다. 또한, 일부 예들에서, 비디오 인코더 (20) 는 제 1 임계와 동일한 제 2 임계를 설정할 수도 있다.
유사하게, 제 2 임계보다 큰 사이즈를 갖는 CU 또는 코딩 블록을 포함하는 현재의 양자화 그룹에 기초하여, 비디오 디코더 (30) 는, 비트스트림으로부터, 현재의 양자화 그룹에 대한 로컬 양자화 정보의 제 2 세트를 획득할 수도 있다. 이 예에서, 비디오 디코더 (30) 는, 현재의 양자화 그룹에 대한 로컬 양자화 정보의 제 2 세트에 적어도 부분적으로 기초하여, 제 2 양자화 파라미터를 도출할 수도 있다. 이 예에서, 비디오 디코더 (30) 는 제 2 양자화 파라미터에 기초하여, 제 2 CU 의 적어도 하나의 변환 계수를 역 양자화할 수도 있다. 일부 예들에서, 비디오 디코더 (30) 는, 비트스트림으로부터 제 2 임계의 값의 표시를 획득할 수도 있다. 일부 예들에서, 제 2 임계는 미리정의된다. 또한, 일부 예들에서, 비디오 디코더 (30) 는 제 1 임계와 동일한 제 2 임계를 설정할 수도 있다. 이들 예들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 제 1 양자화 파라미터와 동일한 방식으로 제 2 양자화 파라미터를 도출할 수도 있다. 또한, 이들 예들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 변환 계수들을 양자화 및 역 양자화하기 위해 본 개시물의 다른 곳에서 제공된 예들에 따라 변환 계수를 양자화 또는 역 양자화할 수도 있다.
일부 예들에서, 비디오 인코더 (20) 는 본 개시물의 특정 기법들을 수행할 수도 있다. 예를 들어, 비디오 데이터의 픽처의 CTU 의 CTB 내의 복수의 양자화 그룹들 중 적어도 하나의 개별의 양자화 그룹에 대해, 비디오 인코더 (20) 는 비트스트림에서 시그널링된 로컬 양자화 정보에 적어도 부분적으로 기초하여, 개별의 양자화 그룹에 대한 개별의 양자화 파라미터를 도출할 수도 있다. 부가적으로, 이 예에서, 비디오 인코더 (20) 는, 개별의 양자화 그룹에 대한 개별의 양자화 파라미터에 기초하여, CTU 의 CU 의 적어도 하나의 변환 계수를 양자화 (또는 복원 루프에서 역 양자화) 할 수도 있다. 이 예에서, 개별의 양자화 그룹은, 개별의 양자화 그룹의 경계들이 CU들 또는 코딩 블록들의 경계들이어야 하고 개별의 양자화 그룹의 사이즈가 임계 이상이도록 코딩 순서에서, 연속적인 CU들 또는 코딩 블록들의 그룹으로서 정의된다. 비디오 인코더 (20) 는 비트스트림에서, 로컬 양자화 정보를 시그널링할 수도 있다.
또한, 일부 예들에서 비디오 디코더 (30) 는 본 개시물의 특정 기법들을 수행할 수도 있다. 예를 들어, 비디오 데이터의 픽처의 CTU 의 CTB 내의 복수의 양자화 그룹들 중 적어도 하나의 개별의 양자화 그룹에 대해, 비디오 디코더 (30) 는 비트스트림에서 시그널링된 로컬 양자화 정보에 적어도 부분적으로 기초하여, 개별의 양자화 그룹에 대한 개별의 양자화 파라미터를 도출할 수도 있다. 부가적으로, 이 예에서, 비디오 디코더 (30) 는, 개별의 양자화 그룹에 대한 개별의 양자화 파라미터에 기초하여, CTU 의 CU 의 적어도 하나의 변환 계수를 역 양자화할 수도 있다. 이 예에서, 개별의 양자화 그룹은, 개별의 양자화 그룹의 경계들이 CU들 또는 코딩 블록들의 경계들이어야 하고 개별의 양자화 그룹의 사이즈가 임계 이상이도록 코딩 순서에서, 연속적인 CU들 또는 코딩 블록들의 그룹으로서 정의된다. 비디오 디코더 (30) 는 CU 의 역 양자화된 변환 계수들에 기초하여, CU 의 코딩 블록을 복원할 수도 있다. 예를 들어, CU 의 코딩 블록을 복원하기 위해, 비디오 디코더 (30) 는 역 양자화된 변환 계수들에 역 변환을 적용하여 잔차 샘플 값들을 획득하고 잔차 샘플 값들을 예측 블록들의 대응하는 샘플들에 추가하여 코딩 블록의 샘플 값들을 복원할 수도 있다.
위에서 나타낸 바와 같이, 일부 예들에서, 로컬 양자화 정보는 (예를 들어, 비디오 인코더 (20) 에 의해) 시그널링될 수도 있다. 도 7 은 멀티-유형-트리 (MTT) 구조에 의해 파티셔닝된 32×32 블록에 대한 양자화 그룹들을 예시하는 개념도이다. 도 7 의 예시의 MTT 구조는 블록들 (201, 202, 203, 204, 205, 및 206) 에 대한 양자화 그룹들을 보여준다. 블록들 (201, 202, 203, 204, 205, 및 206) 각각은 개별의 CU 에 대응할 수도 있다. 도 7 의 예에서, 양자화 그룹의 사이즈는 16×16 (즉, 256 개의 루마 샘플들) 로서 정의된다. 따라서, 양자화 그룹 1 은 블록들 (201 - 203) 을 커버하고, 양자화 그룹 2 는 블록들 (204 - 206) 을 커버한다. 도 7 의 예에서, 파선은 양자화 그룹 1 을 나타낸다. 양자화 그룹 1 은 정사각형이 아니라는 것이 주목된다. 양자화 그룹들의 사이즈가 16×16 (또는 256 개의 루마 샘플들) 로 설정되는 경우, 블록들 (201-203) 은 320 (8×16+16×4+16×8) 의 누산된 사이즈를 갖는 제 1 양자화 그룹을 형성한다. 이 경우에서, 로컬 양자화 정보는, 넌-제로 계수들을 갖는 블록이 마주될 때마다, 제 1 양자화 그룹에 대해 최대로 단지 한 번 시그널링된다.
그 후, 도 7 의 예에서, 제 2 양자화 그룹은 블록 (204) 로부터 시작하고 블록들 (204-206) 을 커버한다. 블록 (206) 그 자체는 양자화 그룹의 사이즈 (16×16) 보다 크다는 것이 주목된다. 그러나, 블록 (204) 및 블록 (205) 의 누산된 사이즈 (16×4+8×16=192) 는 임계에 도달하지 않았다. 따라서, 제 2 양자화 그룹은 블록들 (204-206) 을 커버한다. 일부 예들에서, 제 2 양자화 그룹에 대한 로컬 양자화 정보는 최대로 한 번 시그널링된다. 다시 말해, 로컬 양자화 정보의 단지 하나의 세트가 제 2 양자화 그룹에 대해 시그널링된다.
그러나, 다른 예에서, 제 2 양자화 그룹에서 큰 블록 (즉, 블록의 사이즈가 제 2 임계를 초과함)(블록 (206)) 이 존재하지 때문에 로컬 양자화 정보의 2 개의 세트들은 제 2 양자화 그룹에 대해 시그널링될 수도 있다. 이 예에서, 로컬 양자화 정보의 하나의 세트가 블록 (204) 에 대해 시그널링되었으면, 로컬 양자화 정보의 제 2 세트는 블록 (206) 이 넌-제로 계수들을 갖는 경우 블록 (206) 에 대해 시그널링될 수도 있다.
일부 예들에서, 별개의 루마 및 크로마 코딩 트리들이 존재한다. 따라서, 동일한 CTU 는 루마 및 크로마에 대해 상이하게 CU들로 분할될 수도 있다. 예를 들어, CTU 는 8 개의 루마 CU들로 파티셔닝될 수도 있고, 루마 CU들 각각은 단지 루마 코딩 블록에 대응한다. 이 예에서, 동일한 CTU 는 4 개의 크로마 CU들로 파티셔닝될 수도 있고, 크로마 CU들 각각은 단지 크로마 코딩 블록에 대응한다. 또한, 위에서 나타낸 바와 같이, 양자화 그룹에 대한 로컬 양자화 정보는 델타 QP (예를 들어, CuQpDeltaVal) 의 절대 값을 나타내는 제 1 신택스 엘리먼트 (예를 들어, cu_qp_delta_abs) 를 포함할 수도 있다. 델타 QP 는 양자화 파라미터와 예측된 양자화 파라미터 간의 차이를 나타낸다. 비디오 디코더 (30) 는 델타 QP 및 예측된 양자화 파라미터의 합으로서 QP 및 일부 경우들에서 오프셋을 결정할 수도 있다. 부가적으로, 양자화 그룹에 대한 로컬 양자화 정보는 델타 QP 의 양/음의 부호를 지정하는 제 2 신택스 엘리먼트 (예를 들어, cu_qp_delta_sign_flag) 를 포함할 수도 있다. 본 개시물은 제 1 신택스 엘리먼트 및 제 2 신택스 엘리먼트의 시그널링을 델타 QP 시그널링으로서 지칭할 수도 있다.
CTU 에 대해 별개의 루마 및 크로마 코딩 트리들이 존재하는 예들에서, 루마 및 크로마에 대한 CTU 내에서 상이한 양자화 그룹들이 정의된다. 따라서, 별개의 루마 및 크로마 코딩 트리들이 허용되면 (예를 들어, QTBT 에 대한 I-슬라이스들에 대한 경우일 수도 있는 바와 같이), 별개의 델타 QP 시그널링이 수행될 수도 있다. 또한, 별개의 루마 및 크로마 코딩 트리들이 허용되는 예들에서, 별개의 임계들 및 양자화 그룹 사이즈들이 크로마 샘플들에 대해 정의될 수도 있다.
대안으로, 일부 예들에서, 크로마에 대한 델타 QP (즉, 크로마 델타 QP) 는 대응하는 루마 델타 QP 로부터 도출될 수도 있다. 그 후, 도출된 델타 QP 는 예측된 크로마 QP 에 가산되어 실제 크로마 QP 를 도출한다. 예측된 크로마 QP 를 계산하기 위해, (예를 들어, 전술된 바와 같이) 예측된 루마 QP 를 계산하는데 사용된 것과 동일한 방법이 사용될 수도 있다.
크로마 블록에 대한 델타 QP 는 다양한 방식들로 도출될 수도 있다. 예를 들어, 크로마 블록에 대한 델타 QP 는 블록의 좌측 상부 크로마 샘플에 대응하는 루마 샘플에 대한 델타 QP 로 설정될 수도 있다. 다른 예에서, 크로마 블록의 샘플들에 대응하는 별개의 루마 델타 QP 값들 전부는 크로마 블록에 대한 델타 QP 를 도출하도록 평균된다. 다른 예에서, 크로마 블록의 샘플들에 대응하는 별개의 루마 델타 QP 값들 전부는 크로마 블록에 대한 델타 QP 를 도출하도록 가중된 방식으로 평균된다. 가중화는 각각의 별개의 루마 델타 QP 값에 대응하는 크로마 블록으로부터의 샘플들의 일부에 대응한다.
일부 예들에서, 크로마 델타 QP 값들을 도출하기 위해 이들 전략들을 적용하는 대신에, 크로마 QP 값들은 루마 QP 로부터 직접 도출될 수도 있다. 예를 들어, 루마-대-크로마 QP 검색 테이블이 사용될 수도 있고 임의의 크로마 QP 오프셋들이 적용될 수도 있다.
도 8 은 본 개시물의 기법들을 구현할 수도 있는 예시의 비디오 인코더 (20) 를 예시하는 블록도이다. 도 8 은 설명의 목적을 위해 제공되고, 본 개시물에 광범위하게 예시 및 설명된 바와 같은 기법들의 제한으로 간주되지 않아야 한다. 본 개시물의 기법들은 다양한 코딩 표준들 또는 방법들에 적용 가능할 수도 있다.
도 8 의 예에서, 비디오 인코더 (20) 는 예측 프로세싱 유닛 (300), 비디오 데이터 메모리 (301), 잔차 생성 유닛 (302), 변환 프로세싱 유닛 (304), 양자화 유닛 (306), 역 양자화 유닛 (308), 역 변환 프로세싱 유닛 (310), 복원 유닛 (312), 필터 유닛 (314), 디코딩된 픽처 버퍼 (316), 및 엔트로피 인코딩 유닛 (318) 을 포함한다. 예측 프로세싱 유닛 (300) 은 인터-예측 프로세싱 유닛 (320) 및 인트라-예측 프로세싱 유닛 (326) 을 포함한다. 인터-예측 프로세싱 유닛 (320) 은 모션 추정 유닛 및 모션 보상 유닛 (미도시) 을 포함할 수도 있다.
비디오 데이터 메모리 (301) 는 비디오 인코더 (20) 의 컴포넌트들에 의해 인코딩될 비디오 데이터를 저장하도록 구성될 수도 있다. 비디오 데이터 메모리 (301) 에 저장된 비디오 데이터는, 예를 들어 비디오 소스 (18)(도 1) 로부터 획득될 수도 있다. 디코딩된 픽처 버퍼 (316) 는, 예를 들어 인트라- 또는 인터-코딩 모드들에서 비디오 인코더 (20) 에 의해 비디오 데이터를 인코딩하는데 있어서 사용하기 위해 레퍼런스 비디오 데이터를 저장하는 레퍼런스 픽처 메모리일 수도 있다. 비디오 데이터 메모리 (301) 및 디코딩된 픽처 버퍼 (316) 는 다양한 메모리 디바이스들 중 임의의 것, 예컨대 동기식 DRAM (SDRAM) 을 포함하는 동적 랜덤 액세스 메모리 (DRAM), 자기저항 RAM (MRAM), 저항성 RAM (RRAM), 또는 다른 유형들의 메모리 디바이스들에 의해 형성될 수도 있다. 비디오 데이터 메모리 (301) 및 디코딩된 픽처 버퍼 (316) 는 동일한 메모리 디바이스 또는 별개의 메모리 디바이스들에 의해 제공될 수도 있다. 다양한 예들에서, 비디오 데이터 메모리 (301) 는 비디오 인코더 (20) 의 다른 컴포넌트들과 온-칩, 또는 이들 컴포넌트들에 대한 오프-칩일 수도 있다. 비디오 데이터 메모리 (301) 는 도 1 의 저장 매체 (19) 와 동일하거나 또는 이의 부분일 수도 있다.
비디오 인코더 (20) 는 비디오 데이터를 수신한다. 비디오 인코더 (20) 는 비디오 데이터의 픽처의 슬라이스에서 각각의 CTU 를 인코딩할 수도 있다. CTU들 각각은 동일한 사이즈의 루마 코딩 트리 블록 (CTB)들 및 픽처의 대응하는 CTB들과 연관될 수도 있다. CTU 를 인코딩하는 것의 부분으로서, 예측 프로세싱 유닛 (300) 은 CTU 의 CTB들을 점진적으로-더 작은 블록들로 분할하도록 파티셔닝을 수행할 수도 있다. 더 작은 블록들은 CU들의 코딩 블록들일 수도 있다. 예를 들어, 예측 프로세싱 유닛 (300) 은 QTBT 또는 MTT 와 같은, 트리 구조에 따라 CUT 와 연관된 CTB 를 파티셔닝할 수도 있다.
비디오 인코더 (20) 는 CTU 의 CU들을 인코딩하여, CU들의 인코딩된 표현들 (즉, 코딩된 CU들) 을 생성할 수도 있다. CU 를 인코딩하는 것의 부분으로서, 예측 프로세싱 유닛 (300) 은 CU 의 하나 이상의 PU들 중 CU 와 연관된 코딩 블록들을 파티셔닝할 수도 있다. 따라서, 각각의 PU 는 루마 예측 블록 및 대응하는 크로마 예측 블록들과 연관될 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 는 다양한 사이즈들을 갖는 PU들을 지원할 수도 있다. 위에 나타낸 바와 같이, CU 의 사이즈는 CU 의 루마 코딩 블록의 사이즈를 지칭할 수도 있고, PU 의 사이즈는 PU 의 루마 예측 블록의 사이즈를 지칭할 수도 있다. 특정 CU 의 사이즈가 2N×2N 이라고 가정하면, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 인트라 예측을 위해 2N×2N 또는 N×N 의 PU 사이즈들, 및 2N×2N, 2N×N, N×2N, N×N 의 대칭적인 PU 사이즈들을, 또는 인터 예측을 위해 유사하게 지원할 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 는 또한, 인터 예측을 위해 2N×NU, 2N×ND, nL×2N, 및 nR×2N 의 PU 사이즈들에 대한 비대칭적 파티셔닝을 지원할 수도 있다.
인터-예측 프로세싱 유닛 (320) 은 CU 의 각각의 PU 상에서 인터 예측을 수행함으로써 PU 에 대한 예측 데이터를 생성할 수도 있다. PU 에 대한 예측 데이터는 PU 에 대한 모션 정보 및 PU 의 예측 블록들을 포함할 수도 있다. 인터-예측 프로세싱 유닛 (320) 은, PU 가 I 슬라이스, P 슬라이스, 또는 B 슬라이스에 있는지 여부에 따라 CU 의 PU 에 대한 상이한 동작들을 수행할 수도 있다. I 슬라이스에서, 모든 PU들은 인트라 예측된다. 따라서, PU 가 I 슬라이스에 있으면, 인터-예측 프로세싱 유닛 (320) 은 PU 상에서 인터 예측을 수행하지 않는다. 따라서, I-모드에서 인코딩된 블록들에 대해, 예측 블록은 동일한 프레임 내의 이전에-인코딩된 이웃하는 블록들로부터 공간 예측을 사용하여 형성된다. PU 가 P 슬라이스에 있으면, 인터-예측 프로세싱 유닛 (320) 은 단-방향 인터 예측을 사용하여 PU 의 예측 블록을 생성할 수도 있다. PU 가 B 슬라이스에 있으면, 인터-예측 프로세싱 유닛 (320) 은 단-방향 또는 양-방향 인터 예측을 사용하여 PU 의 예측 블록을 생성할 수도 있다.
인트라-예측 프로세싱 유닛 (326) 은 PU 상에서 인트라 예측을 수행함으로써 PU 에 대한 예측 데이터를 생성할 수도 있다. PU 에 대한 예측 데이터는 다양한 신택스 엘리먼트들 및 PU 의 예측 블록들을 포함할 수도 있다. 인트라-예측 프로세싱 유닛 (326) 은 I 슬라이스들, P 슬라이스들, 및 B 슬라이스들에서 PU들 상에서 인트라 예측을 수행할 수도 있다.
PU 상에서 인트라 예측을 수행하기 위해, 인트라-예측 프로세싱 유닛 (326) 은 다수의 인트라 예측 모드들을 사용하여 PU 에 대한 예측 데이터의 다수의 세트들을 생성할 수도 있다. 인트라-예측 프로세싱 유닛 (326) 은 이웃하는 PU들의 샘플 블록들로부터 샘플들을 사용하여 PU 에 대한 예측 블록을 생성할 수도 있다. PU들, CU들, 및 CTU들에 대해 좌측에서 우측으로, 상부에서 하부로의 인코딩 순서를 가정하면, 이웃하는 PU들은 PU 의 위, 위 및 우측, 위 및 좌측, 또는 좌측에 있을 수도 있다. 인트라-예측 프로세싱 유닛 (326) 은 다양한 수들의 인트라 예측 모드들, 예를 들어 33 개의 방향성 인트라 예측 모드들을 사용할 수도 있다. 일부 예들에서, 인트라 예측 모드들의 수는 PU 와 연관된 영역의 사이즈에 의존할 수도 있다.
예측 프로세싱 유닛 (300) 은 PU들에 대한 인트라-예측 프로세싱 유닛 (326) 에 의해 생성된 예측 데이터 또는 PU들에 대한 인터-예측 프로세싱 유닛 (320) 에 의해 생성된 예측 데이터 중에서부터 CU 의 PU들에 대한 예측 데이터를 선택할 수도 있다. 일부 예들에서, 예측 프로세싱 유닛 (300) 은 예측 데이터의 세트들의 레이트/왜곡 메트릭들에 기초하여 CU 의 PU 에 대한 예측 데이터를 선택한다. 선택된 예측 데이터의 예측 블록들은 선택된 예측 블록들로서 본원에 지칭될 수도 있다.
잔차 생성 유닛 (302) 은, CU 에 대한 코딩 블록들 (예를 들어, 루마, Cb 및 Cr 코딩 블록들) 및 CU 의 PU들에 대한 선택된 예측 블록들 (예를 들어, 예측 루마, Cb 및 Cr 블록들) 에 기초하여, CU 에 대한 잔차 블록들 (예를 들어, 루마, Cb 및 Cr 잔차 블록들) 을 생성할 수도 있다. 예를 들어, 잔차 생성 유닛 (302) 은, 잔차 블록들 내의 각각의 샘플이 CU 의 코딩 블록에서의 샘플과 CU 의 PU 의 대응하는 선택된 예측 블록 내의 대응하는 샘플 간의 차이와 동일한 값을 갖도록 CU 의 잔차 블록들을 생성할 수도 있다.
일부 예들에서, 변환 프로세싱 유닛 (304) 은 CU 와 연관된 잔차 블록들을 CU 의 TU들과 연관된 변환 블록들로 파티셔닝하도록 파티셔닝 (예를 들어, 쿼드-트리 파티셔닝) 을 수행할 수도 있다. 따라서, TU 는 루마 변환 블록 및 2 개의 크로마 변환 블록들과 연관될 수도 있다. CU 의 TU들의 루마 및 크로마 변환 블록들의 사이즈들 및 포지션들은 CU 의 PU들의 예측 블록들의 사이즈들 및 포지션들에 기초하거나 기초하지 않을 수도 있다. "잔차 쿼드-트리" (RQT) 로서 알려진 쿼드-트리 구조는 영역들 각각과 연관된 노드들을 포함할 수도 있다. CU 의 TU들은 RQT 의 리프 노드들에 대응할 수도 있다. 일부 예들에서, CU 의 파티셔닝은 발생하지 않고 TU 는 CU 의 풀 사이즈에 대응할 수도 있다. CTU 가, CTU 를 비-정사각형 CU들로 파티셔닝할 수 있는 파티셔닝 스킴을 사용하여 CU들로 파티셔닝되는 일부 예들에서, 변환 프로세싱 유닛 (304) 은 CU 의 잔차 블록들을 파티셔닝하지 않는다. 차라리, 이러한 CU들의 TU들은 CU들과 경계를 접할 수도 있다.
변환 프로세싱 유닛 (304) 은 TU 의 변환 블록들에 하나 이상의 변환들을 적용함으로써 CU 의 각각의 TU 에 대한 변환 계수 블록들을 생성할 수도 있다. 변환 프로세싱 유닛 (304) 은 TU 와 연관된 변환 블록에 다양한 변환들을 적용할 수도 있다. 예를 들어, 변환 프로세싱 유닛 (304) 은 이산 코사인 변환 (DCT), 방향성 변환, 또는 개념적으로 유사한 변환을 변환 블록에 적용할 수도 있다. 일부 예들에서, 변환 프로세싱 유닛 (304) 은 변환 블록에 변환들을 적용하지 않는다. 이러한 예들에서, 변환 블록은 변환 계수 블록으로서 취급될 수도 있다.
양자화 유닛 (306) 은 계수 블록에서 변환 계수들을 양자화할 수도 있다. 양자화 프로세스는 변환 계수들의 일부 또는 전부와 연관된 비트 심도를 감소시킬 수도 있다. 예를 들어, n-비트 변환 계수는 양자화 동안 m-비트 변환 계수로 내림 (rounded down) 될 수도 있고, 여기서 n 은 m 보다 크다. 양자화 유닛 (306) 은 CU 와 연관된 양자화 파라미터 (QP) 값에 기초하여 CU 의 TU 와 연관된 계수 블록을 양자화할 수도 있다. 비디오 인코더 (20) 는 CU 와 연관된 QP 값을 조정함으로써 CU 와 연관된 계수 블록들에 적용된 양자화의 정도를 조정할 수도 있다. 양자화는 정보의 손실을 도입할 수도 있다. 따라서, 양자화된 변환 계수들은 원래의 계수들보다 더 낮은 정확도를 가질 수도 있다.
일부 예들에서, 양자화 유닛 (306) 은 본 개시물의 기법들을 구현한다. 예를 들어, 양자화 유닛 (306) 은 개별의 양자화 파라미터에 기초하여 CTU 의 CU 의 적어도 하나의 변환 계수를 양자화할 수도 있다. 이 예에서, CU 는 현재의 양자화 그룹에 있고, 여기서 현재의 양자화 그룹은 개별의 양자화 그룹의 경계들이 CU들 또는 코딩 블록들의 경계들이어야 하고 개별의 양자화 그룹의 사이즈가 임계 이상이도록 코딩 순서에서, 연속적인 CU들 또는 코딩 블록들의 그룹으로서 정의된다. 비디오 인코더 (20) 는 비트스트림에서, 현재의 양자화 그룹에 대한 로컬 양자화 정보를 시그널링할 수도 있다.
역 양자화 유닛 (308) 및 역 변환 프로세싱 유닛 (310) 은 계수 블록에 역 양자화 및 역 변환들을 각각 적용하여, 계수 블록으로부터 잔차 비디오 블록을 복원할 수도 있다. 복원 유닛 (312) 은 예측 프로세싱 유닛 (300) 에 의해 생성된 하나 이상의 예측 블록들로부터 대응하는 샘플들에 복원된 잔차 블록을 추가하여, CU 의 복원된 코딩 블록들을 생성할 수도 있다.
역 양자화 유닛 (308) 은 본 개시물의 특정 기법들을 수행할 수도 있다. 예를 들어, 비디오 데이터의 픽처의 CTU 의 CTB 내의 복수의 양자화 그룹들 중 적어도 하나의 개별의 양자화 그룹에 대해, 역 양자화 유닛 (308) 은 비트스트림에서 시그널링된 로컬 양자화 정보에 적어도 부분적으로 기초하여, 개별의 양자화 그룹에 대한 개별의 양자화 파라미터를 도출할 수도 있다. 부가적으로, 이 예에서, 역 양자화 유닛 (308) 은 개별의 양자화 그룹에 대한 개별의 양자화 파라미터에 기초하여, CTU 의 CU 의 TU 의 변환 블록의 적어도 하나의 변환 계수를 역 양자화할 수도 있다. 이 예에서, 개별의 양자화 그룹은, 개별의 양자화 그룹의 경계들이 CU들 또는 코딩 블록들의 경계들이어야 하고 개별의 양자화 그룹의 사이즈가 임계 이상이도록 코딩 순서에서, 연속적인 CU들 또는 코딩 블록들의 그룹으로서 정의된다. 비디오 인코더 (20)(예를 들어, 역 변환 프로세싱 유닛 (310), 복원 유닛 (312), 및 필터 유닛 (314)) 는 변환 블록의 역 양자화된 변환 계수들에 기초하여 CU 의 코딩 블록을 복원할 수도 있다.
필터 유닛 (314) 은 CU 와 연관된 코딩 블록들에서 블록킹 아티팩트들을 감소시키도록 하나 이상의 디블록킹 동작들을 수행할 수도 있다. 디코딩된 픽처 버퍼 (316) 는, 필터 유닛 (314) 이 복원된 코딩 블록들 상에서 하나 이상의 디블록킹 동작들을 수행한 후에 복원된 코딩 블록들을 저장할 수도 있다. 인터-예측 프로세싱 유닛 (320) 은 복원된 코딩 블록들을 포함하는 레퍼런스 픽처를 사용하여, 다른 픽처들의 PU들 상에서 인터 예측을 수행할 수도 있다. 또한, 인트라-예측 프로세싱 유닛 (326) 은 디코딩된 픽처 버퍼 (316) 에서 복원된 코딩 블록들을 사용하여 CU 와 동일한 픽처에서의 다른 PU들 상에서 인트라 예측을 수행할 수도 있다.
엔트로피 인코딩 유닛 (318) 은 비디오 인코더 (20) 의 다른 기능적 컴포넌트들로부터 데이터를 수신할 수도 있다. 예를 들어, 엔트로피 인코딩 유닛 (318) 은 양자화 유닛 (306) 으로부터 계수 블록들을 수신할 수도 있고, 예측 프로세싱 유닛 (300) 으로부터 신택스 엘리먼트들을 수신할 수도 있다. 엔트로피 인코딩 유닛 (318) 은 데이터 상에서 하나 이상의 엔트로피 인코딩 동작들을 수행하여, 엔트로피-인코딩된 데이터를 생성할 수도 있다. 예를 들어, 엔트로피 인코딩 유닛 (318) 은, CABAC 동작, 콘텍스트-적응 가변 길이 코딩 (CAVLC) 동작, 가변-대-가변 (V2V) 길이 코딩 동작, 신택스 기반 콘텍스트-적응 바이너리 산술 코딩 (SBAC) 동작, 확률 구간 파티셔닝 엔트로피 (PIPE) 코딩 동작, 지수-골롬 인코딩 동작, 또는 다른 유형의 엔트로피 인코딩 동작을 데이터 상에서 수행할 수도 있다. 비디오 인코더 (20) 는 엔트로피 인코딩 유닛 (318) 에 의해 생성된 엔트로피-인코딩된 데이터를 포함하는 비트스트림을 출력할 수도 있다. 예를 들어, 비트스트림은 CU 에 대한 변환 계수들의 값들을 나타내는 데이터를 포함할 수도 있다.
도 9 는 본 개시물의 기법들을 구현하도록 구성되는 예시의 비디오 디코더 (30) 를 예시하는 블록도이다. 도 9 는 설명의 목적을 위해 제공되고, 본 개시물에 광범위하게 예시 및 설명된 바와 같은 기법들에 대한 제한이 아니다. 설명의 목적을 위해, 본 개시물은 HEVC 코딩의 맥락에서 비디오 디코더 (30) 를 설명한다. 그러나, 본 개시물의 기법들은 다른 코딩 표준들 또는 방법들에 적용 가능할 수도 있다.
도 9 의 예에서, 비디오 디코더 (30) 는 엔트로피 디코딩 유닛 (350), 비디오 데이터 메모리 (351), 예측 프로세싱 유닛 (352), 역 양자화 유닛 (354), 역 변환 프로세싱 유닛 (356), 복원 유닛 (358), 필터 유닛 (360), 및 디코딩된 픽처 버퍼 (362) 를 포함한다. 예측 프로세싱 유닛 (352) 은 모션 보상 유닛 (364) 및 인트라-예측 프로세싱 유닛 (366) 을 포함한다. 다른 예들에서, 비디오 디코더 (30) 는 더 많은, 더 적은, 또는 상이한 기능적 컴포넌트들을 포함할 수도 있다.
비디오 데이터 메모리 (351) 는 비디오 디코더 (30) 의 컴포넌트들에 의해 디코딩될 인코딩된 비디오 데이터, 예컨대 인코딩된 비디오 비트스트림을 저장할 수도 있다. 비디오 데이터 메모리 (351) 에 저장된 비디오 데이터는, 예를 들어 컴퓨터 판독가능 매체 (16)(도 1) 로부터, 예를 들어 카메라와 같은 로컬 비디오 소스로부터, 비디오 데이터의 유선 또는 무선 네트워크 통신을 통해, 또는 물리적 데이터 저장 매체에 액세스함으로써 획득될 수도 있다. 비디오 데이터 메모리 (351) 는 인코딩된 비디오 비트스트림으로부터 인코딩된 비디오 데이터를 저장하는 코딩된 픽처 버퍼 (CPB) 를 형성할 수도 있다. 디코딩된 픽처 버퍼 (362) 는, 예를 들어 인트라- 또는 인터-코딩 모드들에서 비디오 디코더 (30) 에 의해 비디오 데이터를 디코딩하는데 있어서 사용하기 위해, 또는 출력을 위해 레퍼런스 비디오 데이터를 저장하는 레퍼런스 픽처 메모리일 수도 있다. 비디오 데이터 메모리 (351) 및 디코딩된 픽처 버퍼 (362) 는 다양한 메모리 디바이스들 중 임의의 것, 예컨대 동기식 DRAM (SDRAM) 을 포함하는 동적 랜덤 액세스 메모리 (DRAM), 자기저항 RAM (MRAM), 저항성 RAM (RRAM), 또는 다른 유형들의 메모리 디바이스들에 의해 형성될 수도 있다. 비디오 데이터 메모리 (351) 및 디코딩된 픽처 버퍼 (362) 는 동일한 메모리 디바이스 또는 별개의 메모리 디바이스들에 의해 제공될 수도 있다. 다양한 예들에서, 비디오 데이터 메모리 (351) 는 비디오 디코더 (30) 의 다른 컴포넌트들과 온-칩, 또는 이들 컴포넌트들에 대한 오프-칩일 수도 있다. 비디오 데이터 메모리 (351) 는 도 1 의 저장 매체 (28) 와 동일하거나 또는 이의 부분일 수도 있다.
비디오 데이터 메모리 (351) 는 비트스트림의 인코딩된 비디오 데이터 (예를 들어, NAL 유닛들) 를 수신할 수도 있다. 엔트로피 디코딩 유닛 (350) 은 비디오 데이터 메모리 (351) 로부터 인코딩된 비디오 데이터 (예를 들어, NAL 유닛들) 를 수신할 수도 있고, NAL 유닛들을 파싱하여 신택스 엘리먼트들을 획득할 수도 있다. 엔트로피 디코딩 유닛 (350) 은 NAL 유닛들에서 엔트로피-인코딩된 신택스 엘리먼트들을 엔트로피 디코딩할 수도 있다. 예측 프로세싱 유닛 (352), 역 양자화 유닛 (354), 역 변환 프로세싱 유닛 (356), 복원 유닛 (358), 및 필터 유닛 (360) 은 비트스트림으로부터 추출된 신택스 엘리먼트들에 기초하여 디코딩된 비디오 데이터를 생성할 수도 있다. 엔트로피 디코딩 유닛 (350) 은 엔트로피 인코딩 유닛 (318) 의 프로세스와 일반적으로 상반된 프로세스를 수행할 수도 있다.
비트스트림으로부터 신택스 엘리먼트들을 획득하는 것에 추가하여, 비디오 디코더 (30) 는 비-파티셔닝된 CU 상에서 복원 동작을 수행할 수도 있다. CU 상에서 복원 동작을 수행하기 위해, 비디오 디코더 (30) 는 CU 의 각각의 TU 상에서 복원 동작을 수행할 수도 있다. CU 의 각각의 TU 에 대한 복원 동작을 수행함으로써, 비디오 디코더 (30) 는 CU 의 잔차 블록들을 복원할 수도 있다.
CU 의 TU 상에서 복원 동작을 수행하는 것의 부분으로서, 역 양자화 유닛 (354) 은 TU 와 연관된 계수 블록들을 역 양자화, 즉 탈-양자화할 수도 있다. 역 양자화 유닛 (354) 이 계수 블록을 역 양자화한 후에, 역 변환 프로세싱 유닛 (356) 은 TU 와 연관된 잔차 블록을 생성하기 위해 계수 블록에 하나 이상의 역 변환들을 적용할 수도 있다. 예를 들어, 역 변환 프로세싱 유닛 (356) 은 역 DCT, 역정수 변환, 역 카루넨-루베 변환 (KLT), 역회전 변환, 역방향 변환, 또는 다른 역 변환을 계수 블록에 적용할 수도 있다.
역 양자화 유닛 (354) 은 본 개시물의 특정 기법들을 수행할 수도 있다. 예를 들어, 비디오 데이터의 픽처의 CTU 의 CTB 내의 복수의 양자화 그룹들 중 적어도 하나의 개별의 양자화 그룹에 대해, 역 양자화 유닛 (354) 는 비트스트림에서 시그널링된 로컬 양자화 정보에 적어도 부분적으로 기초하여, 개별의 양자화 그룹에 대한 개별의 양자화 파라미터를 도출할 수도 있다. 부가적으로, 이 예에서, 역 양자화 유닛 (354) 은 개별의 양자화 그룹에 대한 개별의 양자화 파라미터에 기초하여, CTU 의 CU 의 TU 의 변환 블록의 적어도 하나의 변환 계수를 역 양자화할 수도 있다. 이 예에서, 개별의 양자화 그룹은, 개별의 양자화 그룹의 경계들이 CU들 또는 코딩 블록들의 경계들이어야 하고 개별의 양자화 그룹의 사이즈가 임계 이상이도록 코딩 순서에서, 연속적인 CU들 또는 코딩 블록들의 그룹으로서 정의된다. 비디오 디코더 (30)(예를 들어, 역 변환 프로세싱 유닛 (356), 복원 유닛 (358), 및 필터 유닛 (360)) 는 변환 블록의 역 양자화된 변환 계수들에 기초하여 CU 의 코딩 블록을 복원할 수도 있다.
PU 가 인트라 예측을 사용하여 인코딩되면, 인트라-예측 프로세싱 유닛 (366) 은 인트라 예측을 수행하여 PU 의 예측 블록들을 생성할 수도 있다. 인트라-예측 프로세싱 유닛 (366) 은 공간적으로-이웃하는 블록들의 샘플들에 기초하여 PU 의 예측 블록들을 생성하도록 인트라 예측 모드를 사용할 수도 있다. 인트라-예측 프로세싱 유닛 (366) 은 비트스트림으로부터 획득된 하나 이상의 신택스 엘리먼트들에 기초하여 PU 에 대한 인트라 예측 모드를 결정할 수도 있다.
PU 가 인터 예측을 사용하여 인코딩되면, 엔트로피 디코딩 유닛 (350) 은 PU 에 대한 모션 정보를 결정할 수도 있다. 모션 보상 유닛 (364) 은, PU 의 모션 정보에 기초하여 하나 이상의 레퍼런스 블록들을 결정할 수도 있다. 모션 보상 유닛 (364) 은, 하나 이상의 레퍼런스 블록들에 기초하여, PU 에 대한 예측 블록들 (예를 들어, 예측 루마, Cb 및 Cr 블록들) 을 생성할 수도 있다.
복원 유닛 (358) 은 CU 의 TU들에 대한 변환 블록들 (예를 들어, 루마, Cb 및 Cr 변환 블록들) 및 CU 의 PU들의 예측 블록들 (예를 들어, 루마, Cb 및 Cr 블록들), 즉 적용 가능한 바와 같이 인트라-예측 데이터 또는 인터-예측 데이터를 사용하여, CU 에 대한 코딩 블록들 (예를 들어, 루마, Cb 및 Cr 코딩 블록들) 을 복원할 수도 있다. 예를 들어, 복원 유닛 (358) 은 예측 블록들 (예를 들어, 루마, Cb 및 Cr 예측 블록들) 의 대응하는 샘플들에 변환 블록들 (예를 들어, 루마, Cb 및 Cr 변환 블록들) 의 샘플들을 추가하여, CU 의 코딩 블록들 (예를 들어, 루마, Cb 및 Cr 코딩 블록들) 을 복원할 수도 있다.
필터 유닛 (360) 은 CU 의 코딩 블록들과 연관된 블록킹 아티팩트들을 감소시키도록 디블록킹 동작을 수행할 수도 있다. 비디오 디코더 (30) 는 디코딩된 픽처 버퍼 (362) 에 CU 의 코딩 블록들을 저장할 수도 있다. 디코딩된 픽처 버퍼 (362) 는 도 1 의 디스플레이 디바이스 (32) 와 같은 디스플레이 디바이스 상의 프리젠테이션, 인트라 예측, 및 후속의 모션 보상을 위해 레퍼런스 픽처들을 제공할 수도 있다. 예를 들어, 비디오 디코더 (30) 는 디코딩된 픽처 버퍼 (362) 에서의 비디오 블록들에 기초하여 다른 CU들의 PU들에 대해 인트라 예측 또는 인터 예측을 수행할 수도 있다.
도 10 은 본 개시물의 하나 이상의 기법들에 따른, 비디오 인코더의 예시적 동작을 예시하는 플로우차트이다. 본 개시물의 플로우차트들은 예들로서 제공된다. 다른 예들은 더 많은, 더 적은, 또는 상이한 액션들을 포함할 수도 있다. 또한, 액션들은 상이한 순서들로 수행될 수도 있다.
도 10 의 예에서, 비디오 인코더 (20) 는 비디오 데이터의 픽처의 CTU 의 복수의 CU들로의 파티셔닝을 결정할 수도 있다 (400). 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함한다. 비디오 인코더 (20) 는 본 개시물의 다른 곳에서 설명된 바와 같이, QTBT 파티셔닝 스킴 또는 MTT 파티셔닝 스킴에 따라 CTU 의 복수의 CU들로의 파티셔닝을 결정할 수도 있다. 일부 예들에서, 비디오 인코더 (20) 는 CTU 의 파티셔닝의 다양한 가능한 방식들을 테스트함으로써 CTU 의 파티셔닝을 결정하여, 가능한 방식들 중 어느 것이 레이트/왜곡 스코어를 초래하는지를 결정할 수도 있다.
비디오 인코더 (20) 는 양자화 파라미터에 기초하여 현재의 CU 의 적어도 하나의 변환 계수를 양자화할 수도 있다 (402). 현재의 CU 는 현재의 양자화 그룹에 있고 또는 현재의 CU 는 현재의 양자화 그룹에서의 코딩 블록들에 대응한다. 현재의 양자화 그룹은, 현재의 양자화 그룹의 경계들이 CU들 또는 코딩 블록들의 경계들이어야 하고 현재의 양자화 그룹의 사이즈가 임계 이상이도록 코딩 순서에서, 연속적인 CU들 또는 코딩 블록들의 그룹들로서 정의된다. 예를 들어, 현재의 양자화는, 현재의 양자화 그룹의 경계들이 CU들 또는 코딩 블록들의 경계들이어야 하고 현재의 양자화 그룹의 사이즈가 임계 이상이도록 CTU 의 복수의 CU들 중 코딩 순서에서 연속적인 CU들의 그룹들로서 정의된다. 일부 예들에서, 복수의 CU들 중 적어도 하나의 CU 는 비-정사각형 양자화 그룹에 포함된다. 예를 들어, 일부 예들에서 현재의 양자화 그룹은 정사각형이 아니다.
또한, 도 10 의 예에서, 비디오 인코더 (20) 는 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서, 현재의 양자화 그룹에 대한 로컬 양자화 정보를 시그널링할 수도 있다 (404). 양자화 파라미터는 현재의 양자화 그룹에 대한 로컬 양자화 정보에 적어도 부분적으로 기초하여 도출 가능하다. 예를 들어, 비디오 인코더 (20) 는, 비트스트림에서 비디오 디코더가 양자화 그룹에 특정된 양자화 파라미터를 결정하기 위해 사용할 수 있는 하나 이상의 신택스 엘리먼트들, 예컨대 cu_qp_delta_abs 신택스 엘리먼트 및 cu_qp_delta_sign_flag 신택스 엘리먼트를 포함할 수도 있다. 양자화 그룹의 로컬 양자화 정보로부터 양자화 파라미터를 도출하는 예시의 프로세스는 본 개시물의 다른 곳에서 논의된다. 부가적으로, 비디오 인코더 (20) 는 비트스트림에서, 양자화된 변환 계수들을 나타내는 하나 이상의 신택스 엘리먼트를 포함할 수도 있다 (406). 예를 들어, 비디오 인코더 (20) 는 양자화된 변환 계수가 1 보다 큰지 여부를 나타내는 신택스 엘리먼트, 양자화된 변환 계수가 2 보다 큰지 여부를 나타내는 신택스 엘리먼트, 양자화된 변환 계수에 대한 계수 부호 플래그, 및 나머지 신택스 엘리먼트를 생성할 수도 있다. 비디오 인코더 (20) 는 양자화된 변환 계수들을 나타내는 신택스 엘리먼트들 중 하나 이상을 엔트로피 인코딩할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 양자화된 변환 계수들을 나타내는 신택스 엘리먼트들 상에서 콘텍스트-적응 바이너리 산술 코딩 (CABAC) 을 수행할 수도 있다.
도 11 은 본 개시물의 하나 이상의 기법들에 따른, 비디오 디코더 (30) 의 예시적 동작을 예시하는 플로우차트이다. 도 11 의 예에서, 비디오 디코더 (30) 는, 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림으로부터, 현재의 양자화 그룹에 대한 로컬 양자화 정보를 수신할 수도 있다 (450). 예를 들어, 비디오 디코더 (30) 는 현재의 양자화 그룹에 대한 로컬 양자화 정보를 획득하도록 비트스트림을 파싱할 수도 있다. 예를 들어, 비디오 인코더 (30) 는 루마 또는 크로마 델타 QP 의 절대 값을 나타내는 신택스 엘리먼트 및 루마 또는 크로마 델타 QP 의 부호를 나타내는 신택스 엘리먼트를 비트스트림으로부터 획득할 수도 있다.
부가적으로, 비디오 디코더 (30) 는 비디오 데이터의 픽처의 CTU 의 복수의 CU들로의 파티셔닝을 결정할 수도 있다 (452). 일부 예들에서, 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함한다. 비디오 디코더 (30) 는 CTU 의 파티셔닝을 다양한 방식들로 결정할 수도 있다. 예를 들어, 비디오 디코더 (30) 는 본 개시물의 다른 곳에서 설명된 바와 같이, QTBT 파티셔닝 스킴 또는 MTT 파티셔닝 스킴에 따라 CTU 의 복수의 CU들로의 파티셔닝을 결정할 수도 있다. 예를 들어, 비디오 디코더 (30) 는, CTU 가 CU들로 파티셔닝되는 방법을 지정하는 신택스 엘리먼트들을 비트스트림으로부터 획득할 수도 있다. 예를 들어, 비디오 디코더 (30) 는 하나 이상의 스플릿 표시자 신택스 엘리먼트들을 획득할 수도 있고, 이 엘리먼트들 각각은 대응하는 블록이 스플리팅되는 서브-블록들의 수를 나타낸다.
또한, 비디오 디코더 (30) 는 현재의 양자화 그룹에 대한 로컬 양자화 정보에 적어도 부분적으로 기초하여, 양자화 파라미터를 도출할 수도 있다 (454). 현재의 양자화 그룹은, 현재의 양자화 그룹의 경계들이 CU들 또는 코딩 블록들의 경계들이어야 하고 현재의 양자화 그룹의 사이즈가 임계 이상이도록 코딩 순서에서, 연속적인 CU들 또는 코딩 블록들의 그룹들로서 정의된다. 예를 들어, 현재의 양자화 그룹은 CTU 의 복수의 CU들에서, 코딩 순서에서 연속적인 CU들의 그룹으로서 정의될 수도 있고, 현재의 양자화 그룹의 사이즈는 임계 이상이다. 일부 예들에서, 복수의 CU들에서 하나 이상의 CU들은 비-정사각형 양자화 그룹에 포함된다. 예를 들어, 일부 예들에서 현재의 양자화 그룹은 정사각형이 아니다. 일부 예들에서, 비디오 디코더 (30) 는 델타 QP 를 예측된 QP 및 오프셋에 가산함으로써 (예를 들어, 52+ 2 * QpBdOffsetY) 양자화 파라미터를 결정할 수도 있다. 일부 예들에서, 비디오 디코더 (30) 는 HEVC 에서 사용된 방식으로 크로마 QP 를 결정할 수도 있다.
또한, 비디오 디코더 (30) 는 양자화 파라미터에 기초하여, 현재의 CU 의 적어도 하나의 변환 계수를 역 양자화할 수도 있다 (456). 현재의 CU 는 현재의 양자화 그룹에서의 CU들 중 하나이고 또는 현재의 CU 는 현재의 양자화 그룹에서의 코딩 블록들 중 하나에 대응한다. 일부 예들에서, 변환 계수를 역 양자화하기 위해, 비디오 디코더 (30) 는 HEVC 의 §8.6.3 에 설명된 프로세스를 사용할 수도 있다.
비디오 디코더 (30) 는 현재의 CU 의 역 양자화된 변환 계수들에 기초하여, 현재의 CU 의 코딩 블록을 복원할 수도 있다 (458). 예를 들어, 본 개시물의 다른 곳에서 설명된 바와 같이, 비디오 디코더 (30) 는 역 양자화된 변환 계수들에 역 변환을 적용하여 잔차 샘플들을 생성할 수도 있다. 또한, 비디오 디코더 (30) 는 잔차 샘플들을 대응하는 예측 샘플들에 가산하여 코딩 블록의 샘플들을 복원할 수도 있다.
도 12a 는 본 개시물의 기법들에 따른, 크로마 변환 계수들을 양자화하기 위한 비디오 인코더 (20) 의 예시적 동작을 예시하는 플로우차트이다. 위에서 주목된 바와 같이, 일부 예들에서, (QTBT 에 대한 I-슬라이스들의 경우에서와 같이) 별개의 루마 및 크로마 코딩 트리들이 허용되면 별개의 델타 QP 시그널링이 수행될 수도 있다. 이 경우에서, 별개의 임계들 및 양자화 그룹 사이즈들은 크로마 샘플들에 대해 정의될 수도 있다. 도 12a 의 예시적 동작은 이러한 예들과 일치한다.
도 12a 의 예시적 동작은 도 10 의 동작의 계속일 수도 있다. 따라서, 도 10 의 복수의 CU들은 제 1 복수의 CU들이고, 여기서 제 1 복수의 CU들 각각의 개별 CU 는 개별의 루마 코딩 블록에 대응하고 크로마 코딩 블록들에 대응하지 않는다. 또한, 도 10 의 현재의 양자화 그룹은 제 1 양자화 그룹이고, 도 10 의 양자화 파라미터는 루마 양자화 파라미터이고, 도 10 의 임계는 제 1 임계이며, 도 10 의 현재의 CU 는 제 1 CU 이다.
도 12a 의 예에서, 비디오 인코더 (20) 는 CTU 의 제 2 복수의 CU들로의 제 2 파티셔닝을 결정할 수도 있다 (500). 제 2 복수의 CU들의 각각의 개별 CU 는 개별의 크로마 코딩 블록에 대응하고 루마 코딩 블록들에는 대응하지 않는다. CTU 의 제 2 파티셔닝은 CTU 의 제 1 파티셔닝과 상이한 방식으로 CTU 를 파티셔닝할 수도 있다. 예를 들어, 제 2 파티셔닝은 제 1 파티셔닝과 상이한 수들의 CU들을 포함할 수도 있고, 제 2 파티셔닝은 제 1 파티셔닝과 상이한 형상들을 갖는 하나 이상의 CU들을 포함할 수도 있다. 비디오 인코더 (20) 는 제 1 파티셔닝과 유사한 방식으로 제 2 파티셔닝을 결정할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 QTBT 또는 MTT 파티셔닝을 사용하여 제 2 파티셔닝을 결정할 수도 있다.
부가적으로, 도 12a 의 예에서, 비디오 인코더 (20) 는 크로마 양자화 파라미터에 기초하여, 제 2 CU 의 적어도 하나의 변환 계수를 양자화할 수도 있다 (502). 비디오 인코더 (20) 는 본 개시물의 다른 곳에서 제공된 예들에 따라 변환 계수를 양자화할 수도 있다. 제 2 CU 는 제 2 양자화 그룹에서의 CU들 중 하나이다. 또한, 비디오 인코더 (20) 는 비트스트림에서, 제 2 양자화 그룹에 대한 로컬 양자화 정보를 시그널링할 수도 있다 (504). 크로마 양자화 파라미터는 제 2 양자화 그룹에 대한 로컬 양자화 정보에 적어도 부분적으로 기초하여 도출 가능하다. 일부 예들에서, 본 개시물의 다른 곳에서 설명된 바와 같이, 크로마 양자화 파라미터는 HEVC 에서 사용된 방식으로 도출 가능하다.
비디오 인코더 (20) 는 또한, 비트스트림에서 제 2 CU 의 양자화된 변환 계수들을 나타내는 하나 이상의 신택스 엘리먼트를 포함할 수도 있다 (506). 비디오 인코더 (20) 는 본 개시물의 다른 곳에서 제공된 예들에 따라 양자화된 변환 계수를 나타내는 하나 이상의 신택스 엘리먼트들을 포함할 수도 있다.
또한, 도 12a 의 예에서, 비디오 인코더 (20) 는, 비트스트림에서, 루마 양자화 그룹들에 대한 임계 및 크로마 양자화 그룹들에 대한 별개의 임계를 나타내는 신택스 엘리먼트들을 시그널링할 수도 있다 (508). 임계들은 상이한 값들을 가질 수도 있다. 또한, 임계들은 픽처에서 크로마 샘플들에 대한 루마 샘플들의 비로서 동일한 수치 비율을 가질 필요가 없다. 비디오 인코더 (20) 는 SPS, PPS, 슬라이스 헤더, 다른 고-레벨 신택스 파라미터 세트에서, 또는 비트스트림의 다른 곳에서 제 1 및 제 2 임계들을 시그널링할 수도 있다. 제 1 양자화 그룹은, 제 1 양자화 그룹의 로컬 양자화 정보가 루마 샘플들로부터 생성된 변환 계수들을 양자화하는데 사용되기 때문에 루마 양자화 그룹이다. 제 2 양자화 그룹은, 제 2 양자화 그룹의 로컬 양자화 정보가 크로마 샘플들로부터 생성된 변환 계수들을 양자화하는데 사용되기 때문에 크로마 양자화 그룹이다.
도 12b 는 본 개시물의 하나 이상의 기법들에 따른, 크로마 변환 계수들을 역 양자화하기 위한 비디오 디코더 (30) 의 예시적 동작을 예시하는 플로우차트이다. 크로마 변환 계수들은 크로마 샘플들로부터 생성된 변환 계수들이다. 도 12b 에 도시된 비디오 디코더 (30) 의 예시적 동작은, 별개의 임계들 및 양자화 그룹 사이즈들이 크로마 샘플들에 대해 정의될 수도 있다는 점에서 도 12a 에 도시된 비디오 인코더 (20) 의 예시적 동작에 대응한다.
도 12b 의 예는 도 11 의 동작의 계속일 수도 있다. 따라서, 도 11 의 복수의 CU들은 제 1 복수의 CU들이고, 제 1 복수의 CU들 각각의 개별 CU 는 개별의 루마 코딩 블록에 대응하고 크로마 코딩 블록들에 대응하지 않는다. 또한, 도 11 의 현재의 양자화 그룹은 제 1 양자화 그룹이고, 도 11 의 양자화 파라미터는 루마 양자화 파라미터이고, 도 11 의 임계는 제 1 임계이며, 도 11 의 현재의 CU 는 제 1 CU 이다.
도 12b 의 예에서, 비디오 디코더 (30) 는, 비트스트림으로부터 루마 양자화 그룹들 및 크로마 양자화 그룹들에 대한 임계들을 나타내는 신택스 엘리먼트들을 획득할 수도 있다 (550). 예를 들어, 비디오 디코더 (30) 는 SPS, PPS, 슬라이스 헤더, 다른 고-레벨 신택스 파라미터 세트로부터, 또는 비트스트림의 다른 곳에서 제 1 및 제 2 임계들을 나타내는 신택스 엘리먼트들을 획득할 수도 있다.
비디오 디코더 (30) 는 비트스트림에서, 제 2 양자화 그룹에 대한 로컬 양자화 정보를 수신할 수도 있다 (552). 예를 들어, 비디오 디코더 (30) 는 본 개시물의 다른 곳의 예들에서 설명된 바와 같이 비트스트림으로부터 하나 이상의 신택스 엘리먼트들을 파싱할 수도 있다. 이 예에서, 제 2 양자화 그룹은 크로마 양자화 그룹이다. 또한, 비디오 디코더 (30) 는 CTU 의 제 2 복수의 CU들로의 제 2 파티셔닝을 결정할 수도 있다 (554). 제 2 복수의 CU들의 각각의 개별 CU 는 개별의 크로마 코딩 블록에 대응하고 루마 코딩 블록들에는 대응하지 않는다. CTU 의 제 2 파티셔닝은 CTU 의 제 1 파티셔닝과 상이한 방식으로 CTU 를 파티셔닝할 수도 있다. 비디오 디코더 (30) 는 본 개시물의 다른 곳에서 제공된 예들에 따라 제 2 파티셔닝을 결정할 수도 있다.
또한, 도 12b 의 예에서, 비디오 디코더 (30) 는 제 2 양자화 그룹에 대한 로컬 양자화 정보에 적어도 부분적으로 기초하여, 크로마 양자화 파라미터를 도출할 수도 있다 (556). 제 2 양자화 그룹은, 제 2 양자화 그룹의 경계들이 제 2 복수의 CU들에서의 CU들의 경계들이어야 하고 제 2 양자화 그룹의 사이즈가 제 2 임계 이상이도록 제 2 복수의 CU들에서, 코딩 순서에서 연속적인 CU들의 그룹으로서 정의된다. 제 2 임계는 액션 (550) 에서 획득된 크로마 양자화 그룹들에 대한 임계일 수도 있다. 일부 예들에서, 비디오 디코더 (30) 는 본 개시물의 다른 곳에서 제공된 예들에 따라 크로마 양자화 파라미터를 도출할 수도 있다. 예를 들어, 비디오 디코더 (30) 는 HEVC 에 대하여 설명된 방식으로 크로마 양자화 파라미터를 도출할 수도 있다.
부가적으로, 비디오 디코더 (30) 는 크로마 양자화 파라미터에 기초하여, 제 2 CU 의 적어도 하나의 변환 계수를 역 양자화할 수도 있다 (558). 제 2 CU 는 제 2 양자화 그룹에서의 CU들 중 하나이다. 비디오 디코더 (30) 는 또한, 제 2 CU 의 역 양자화된 변환 계수들에 기초하여, 제 2 CU 의 크로마 코딩 블록을 복원할 수도 있다 (560). 비디오 디코더 (30) 는 본 개시물의 다른 곳에서 제공된 예들에 따라 적어도 하나의 변환 계수를 역 양자화하고 제 2 CU 의 크로마 코딩 블록을 복원할 수도 있다.
도 13 은 본 개시물의 하나 이상의 기법들에 따른, 크로마 변환 계수들을 양자화하기 위한 비디오 인코더 (20) 의 예시적 동작을 예시하는 플로우차트이다. 위에서 주목된 바와 같이, 일부 예들에서 크로마에 대한 델타 QP 는 대응하는 루마 델타 QP 로부터 도출될 수도 있다. 그 후, 이러한 예들에서, 도출된 델타 QP 는 예측된 크로마 QP 에 가산되어 실제 크로마 QP 를 도출한다. 도 13 의 동작은 이러한 예들과 일치한다.
도 13 의 예시적 동작은 도 10 의 동작의 계속이다. 이와 같이, 도 10 의 복수의 CU들은 제 1 복수의 CU들이고, 제 1 복수의 CU들의 각각의 개별 CU 는 개별의 루마 코딩 블록에 대응하고 크로마 코딩 블록들에는 대응하지 않고, 도 10 의 양자화 파라미터는 루마 양자화 파라미터이며, 도 10 의 현재의 CU 는 제 1 CU 이다. 루마 델타 양자화 파라미터는 제 1 양자화 그룹에 대한 로컬 양자화 정보로부터 도출 가능하다. 예를 들어, 제 1 양자화 그룹에 대한 로컬 양자화 정보가 cu_qp_delta_abs 및 cu_qp_delta_sign_flag 를 포함하는 예에서, 루마 델타 양자화 파라미터는 cu_qp_delta_abs * ( 1 - 2 * cu_qp_delta_sign_flag ) 로서 결정될 수도 있다. 루마 양자화 파라미터는 루마 델타 양자화 파라미터 플러스 예측된 루마 양자화 파라미터에 기초한다. 예를 들어, 루마 양자화 파라미터는 루마 델타 양자화 파라미터 플러스 예측된 루마 양자화 파라미터와 동일할 수도 있다. 일부 예들에서, 루마 양자화 파라미터는 상기의 식 (1) 에서 설명된 바와 같이 결정될 수도 있다.
도 13 의 예에서, 비디오 인코더 (20) 는 CTU 의 제 2 복수의 CU들로의 제 2 파티셔닝을 결정할 수도 있다 (600). 제 2 복수의 CU들의 각각의 개별 CU 는 개별의 크로마 코딩 블록에 대응하고 루마 코딩 블록들에는 대응하지 않는다. CTU 의 제 2 파티셔닝은 CTU 의 제 1 파티셔닝과 상이한 방식으로 CTU 를 파티셔닝할 수도 있다. 비디오 인코더 (30) 는 본 개시물의 다른 곳에서 제공된 예들에 따라 CTU 의 제 2 파티셔닝을 결정할 수도 있다.
또한, 도 13 의 예에서, 비디오 인코더 (20) 는 루마 델타 양자화 파라미터로부터 크로마 델타 양자화 파라미터를 도출할 수도 있다 (602). 비디오 인코더 (20) 는 다양한 방식들로 크로마 델타 양자화 파라미터를 도출할 수도 있다. 예를 들어, 도 15, 도 16, 및 도 17 은 비디오 인코더 (20) 가 루마 델타 양자화 파라미터를 도출할 수도 있는 방법의 예들을 제공한다. 비디오 인코더 (20) 는 그 후, 크로마 델타 양자화 파라미터를 예측된 크로마 양자화 파라미터에 가산하여 크로마 양자화 파라미터를 도출할 수도 있다 (604).
비디오 인코더 (20) 는 크로마 양자화 파라미터에 기초하여 제 2 CU 의 변환 계수를 양자화할 수도 있다 (606). 제 2 CU 는 제 2 복수의 CU들에 있다. 또한, 비디오 인코더 (20) 는, 비트스트림에서 제 2 CU 의 양자화된 변환 계수들을 나타내는 하나 이상의 신택스 엘리먼트를 포함할 수도 있다 (608). 비디오 인코더 (20) 는 본 개시물의 다른 곳에서 제공된 예들에 따라 변환 계수를 양자화하고 비트스트림에서 양자화된 변환 계수를 나타내는 하나 이상의 신택스 엘리먼트들을 포함할 수도 있다.
도 14 는 본 개시물의 하나 이상의 기법들에 따른, 크로마 변환 계수들을 역 양자화하기 위한 비디오 디코더 (30) 의 예시적 동작을 예시하는 플로우차트이다. 도 14 의 예시적 동작은 도 13 의 동작에 대응하고 도 11 의 동작의 계속이다. 이와 같이, 도 11 의 복수의 CU들은 제 1 복수의 CU들이고, 제 1 복수의 CU들의 각각의 개별 CU 는 개별의 루마 코딩 블록에 대응하고 크로마 코딩 블록들에는 대응하지 않고, 도 11 의 양자화 파라미터는 루마 양자화 파라미터이며, 도 11 의 현재의 CU 는 제 1 CU 이다. 위에서 주목된 바와 같이, 도 11 은 루마 양자화 파라미터를 도출하는 액션 (454) 을 포함한다. 도 14 의 예에서, 루마 양자화 파라미터를 도출하는 액션은 제 1 양자화 그룹에 대한 로컬 양자화 정보에 기초하여 비디오 디코더 (30) 가 루마 델타 양자화 파라미터를 도출 (650) 하는 것을 포함할 수도 있다. 예를 들어, 제 1 양자화 그룹에 대한 로컬 양자화는 cu_qp_delta_abs 신택스 엘리먼트 및 cu_qp_delta_sign_flag 신택스 엘리먼트를 포함할 수도 있다. 이 예에서, 비디오 디코더 (30) 는 제 1 양자화 그룹의 로컬 양자화 정보에 기초하여 루마 델타 양자화 파라미터를 cu_qp_delta_abs * ( 1 - 2 * cu_qp_delta_sign_flag ) 로서 결정할 수도 있다. 다른 예들에서, 루마 델타 양자화 파라미터는 상이한 방식들로 결정될 수도 있다.
부가적으로, 루마 양자화 파라미터를 도출하는 것의 부분으로서, 비디오 디코더 (30) 는, 루마 양자화 파라미터가 루마 델타 양자화 파라미터 플러스 예측된 루마 양자화 파라미터에 기초하도록 루마 양자화 파라미터를 결정할 수도 있다 (652). 예를 들어, 루마 양자화 파라미터는 루마 델타 양자화 파라미터 플러스 예측된 루마 양자화 파라미터와 동일할 수도 있다. 일부 예들에서, 루마 양자화 파라미터는 상기의 식 (1) 에 나타낸 바와 같이 루마 델타 양자화 파라미터 플러스 예측된 루마 양자화 파라미터에 기초할 수도 있다.
도 14 의 예에서, 동작은 비디오 디코더 (30) 가 CTU 의 제 2 복수의 CU들로의 제 2 파티셔닝을 결정 (654) 하는 것을 더 포함한다. 제 2 복수의 CU들의 각각의 개별 CU 는 개별의 크로마 코딩 블록에 대응하고 루마 코딩 블록들에는 대응하지 않는다. 일부 예들에서, CTU 의 제 2 파티셔닝은 CTU 의 제 1 파티셔닝과 상이한 방식으로 CTU 를 파티셔닝한다.
또한, 비디오 디코더 (30) 는 루마 델타 양자화 파라미터로부터 크로마 델타 양자화 파라미터를 도출할 수도 있다 (656). 비디오 디코더 (30) 는 다양한 방식들로 크로마 델타 양자화 파라미터를 도출할 수도 있다. 도 15, 도 16, 및 도 17 은 비디오 디코더 (30) 가 크로마 델타 양자화 파라미터를 도출할 수도 있는 방법의 예들을 제공한다. 부가적으로, 비디오 디코더 (30) 는 크로마 델타 양자화 파라미터를 예측된 크로마 양자화 파라미터에 가산하여 크로마 양자화 파라미터를 도출할 수도 있다 (658).
비디오 디코더 (30) 는 또한, 크로마 양자화 파라미터에 기초하여, 제 2 CU 의 적어도 하나의 변환 계수를 역 양자화할 수도 있다 (660). 제 2 CU 는 제 2 복수의 CU들에 있다. 부가적으로, 비디오 디코더 (30) 는 제 2 CU 의 역 양자화된 변환 계수들에 기초하여, 제 2 CU 의 크로마 코딩 블록을 복원할 수도 있다 (662). 비디오 디코더 (30) 는 본 개시물의 다른 곳에서 제공된 예들에 따라 변환 계수를 역 양자화하고 크로마 코딩 블록을 복원할 수도 있다.
도 15 는 본 개시물의 하나 이상의 기법들에 따라 크로마 델타 양자화 파라미터를 도출하는 예시적 동작을 예시하는 플로우차트이다. 위에서 주목된 바와 같이, 비디오 인코더 (20) 는 도 13 의 액션 (602) 에서 루마 델타 양자화 파라미터로부터 크로마 델타 양자화 파라미터를 도출할 수도 있다. 또한, 비디오 디코더 (30) 는 도 14 의 액션 (656) 에서 루마 델타 양자화 파라미터로부터 크로마 델타 양자화 파라미터를 도출할 수도 있다. 도 15 의 동작은, 비디오 코더 (예를 들어, 비디오 인코더 (20) 또는 비디오 디코더) 가 액션들 (602) 또는 (656) 에서 루마 델타 양자화 파라미터로부터 크로마 델타 양자화 파라미터를 도출할 수도 있는 방법의 예이다. 본 개시물의 다른 곳에서 주목된 바와 같이, 별개의 루마 및 크로마 트리들이 허용되는 일부 예들에서, 크로마에 대한 델타 QP 는, 크로마 블록에 대한 델타 QP 가 블록의 특정 크로마 샘플 (예를 들어, 상부 좌측 크로마 샘플) 에 대응하는 루마 샘플에 대한 델타 QP 로 설정되도록 대응하는 루마 델타 QP 로부터 도출될 수도 있다. 도 15 의 예시적 동작은 이러한 예들과 일치한다.
도 15 의 예에서, 비디오 코더는 제 2 CU 의 크로마 코딩 블록의 특정 상부 좌측 크로마 샘플에 대응하는 루마 샘플을 결정할 수도 있다 (700). 특정 크로마 샘플은 미리정의된 포지션 (예를 들어, 상부 좌측 크로마 샘플) 또는 시그널링된 포지션에 있을 수도 있다. 제 2 CU 의 크로마 코딩 블록의 특정 크로마 샘플에 대응하는 루마 샘플은 크로마 코딩 블록의 특정 크로마 샘플과 병치될 수도 있다. 부가적으로, 비디오 코더는, 크로마 델타 양자화 파라미터가 루마 델타 양자화 파라미터와 동일하도록 크로마 델타 양자화 파라미터를 도출할 수도 있다 (702). 루마 델타 양자화 파라미터는 결정된 루마 샘플과 연관된다.
도 16 은 본 개시물의 하나 이상의 기법들에 따라 크로마 델타 양자화 파라미터를 도출하는 예시적 동작을 예시하는 플로우차트이다. 위에서 주목된 바와 같이, 비디오 인코더 (20) 는 도 13 의 액션 (602) 에서 루마 델타 양자화 파라미터로부터 크로마 델타 양자화 파라미터를 도출할 수도 있다. 또한, 비디오 디코더 (30) 는 도 14 의 액션 (656) 에서 루마 델타 양자화 파라미터로부터 크로마 델타 양자화 파라미터를 도출할 수도 있다. 도 15 의 동작은, 비디오 코더 (예를 들어, 비디오 인코더 (20) 또는 비디오 디코더) 가 액션들 (602) 또는 (656) 에서 루마 델타 양자화 파라미터로부터 크로마 델타 양자화 파라미터를 도출할 수도 있는 방법의 예이다. 본 개시물의 다른 곳에서 주목된 바와 같이, 별개의 루마 및 크로마 트리들이 허용되는 일부 예들에서, 크로마에 대한 델타 QP 는 크로마 블록의 샘플들에 대응하는 모든 별개의 루마 델타 QP 값들이 평균되도록 도출될 수도 있다. 도 16 의 예시적 동작은 이러한 예들과 일치한다.
도 16 의 예에서, 비디오 코더 (예를 들어, 비디오 인코더 (20) 또는 비디오 디코더 (30)) 는 제 2 CU 의 크로마 블록의 샘플들에 대응하는 루마 샘플들에 대한 모든 별개의 루마 델타 양자화 파라미터들을 식별할 수도 있다 (750). 식별된 루마 델타 양자화 파라미터들은 제 1 루마 델타 양자화 파라미터를 포함한다. 예를 들어, 비디오 코더는 제 2 CU 의 크로마 블록의 각각의 샘플을 스캔하고 병치된 루마 샘플을 양자화하는데 사용된 루마 델타 양자화 파라미터를 결정할 수도 있다. 부가적으로, 비디오 코더는 식별된 별개의 루마 델타 양자화 파라미터들을 평균하여 크로마 델타 양자화 파라미터를 도출할 수도 있다 (752). 예를 들어, 비디오 코더는 식별된 별개의 루마 델타 양자화 파라미터들의 평균을 계산할 수도 있다.
도 17a 는 본 개시물의 하나 이상의 기법들에 따라 크로마 델타 양자화 파라미터를 도출하는 예시적 동작을 예시하는 플로우차트이다. 위에서 주목된 바와 같이, 비디오 인코더 (20) 는 도 13 의 액션 (602) 에서 루마 델타 양자화 파라미터로부터 크로마 델타 양자화 파라미터를 도출할 수도 있다. 또한, 비디오 디코더 (30) 는 도 14 의 액션 (656) 에서 루마 델타 양자화 파라미터로부터 크로마 델타 양자화 파라미터를 도출할 수도 있다. 도 17 의 동작은, 비디오 코더 (예를 들어, 비디오 인코더 (20) 또는 비디오 디코더) 가 액션들 (602) 또는 (656) 에서 루마 델타 양자화 파라미터로부터 크로마 델타 양자화 파라미터를 도출할 수도 있는 방법의 예이다. 본 개시물의 다른 곳에서 주목된 바와 같이, 별개의 루마 및 크로마 트리들이 허용되는 일부 예들에서, 크로마에 대한 델타 QP 는 크로마 블록의 샘플들에 대응하는 모든 별개의 루마 델타 QP 값들이 가중된 방식으로 평균되도록 도출될 수도 있다. 도 17a 의 예시적 동작은 이러한 예들과 일치한다.
도 17a 의 예에서, 비디오 코더 (예를 들어, 비디오 인코더 (20) 또는 비디오 디코더 (30)) 는 복수의 별개의 루마 델타 양자화 파라미터들을 식별한다 (800). 복수의 별개의 루마 델타 양자화 파라미터들은 제 2 CU 의 크로마 블록의 샘플들에 대응하는 루마 샘플들에 대한 각각의 별개의 루마 델타 양자화 파라미터를 포함한다. 부가적으로, 도 17a 의 예에서, 비디오 코더는, 가중된 방식으로, 복수의 별개의 루마 델타 양자화 파라미터들을 평균하여 크로마 델타 양자화 파라미터를 도출한다 (802).
도 17b 는 본 개시물의 하나 이상의 기법들에 따라, 가중화된 방식으로 식별된 별개의 루마 델타 양자화 파라미터들을 평균하는 예시적 동작을 예시하는 플로우차트이다. 도 17b 의 동작은, 비디오 코더가 도 17a 의 액션 (802) 에서 식별된 별개의 루마 델타 양자화 파라미터들을 평균할 수도 있는 방법의 일 예일 수도 있다.
도 17b 의 예에서, 비디오 코더는 복수의 가중치들을 결정할 수도 있다 (804). 예를 들어, 복수의 가중치들의 각각의 개별 가중치에 대해, 개별의 가중치는 복수의 별개의 루마 델타 양자화 파라미터들에서 개별의 루마 델타 양자화 파라미터에 대응하는 제 2 CU 의 크로마 블록의 샘플들의 일부에 대응한다. 또한, 비디오 디코더는 복수의 값들을 평균할 수도 있다 (806). 예를 들어, 복수의 값들에서 각각의 개별의 값은 복수의 루마 델타 양자화 파라미터들에서 개별의 루마 델타 양자화 파라미터 곱하기 개별의 루마 델타 양자화 파라미터에 대응하는 복수의 가중치들에서 개별의 가중치와 동일할 수도 있다.
도 18a 는 본 개시물의 하나 이상의 기법들에 따라, 크로마 변환 계수들을 양자화하는 예시적 동작을 예시하는 플로우차트이다. 위에서 주목된 바와 같이, 일부 예들에서, 별개의 루마 및 크로마 코딩 트리들이 허용되면, 별개의 델타 QP 시그널링이 수행될 수도 있다. 이 경우에서, 크로마 QP 값들은 루마 QP 값들로부터 직접 도출될 수도 있다. 도 18a 의 예시적 동작은 이러한 예들과 일치한다.
도 18a 의 예시적 동작은 도 10 의 동작의 계속일 수도 있다. 따라서, 도 10 의 복수의 CU들은 제 1 복수의 CU들이고, 제 1 복수의 CU들의 각각의 개별의 CU 는 개별의 루마 코딩 블록에 대응하고 크로마 코딩 블록들에는 대응하지 않고, 도 10 의 현재의 양자화 그룹은 제 1 양자화 그룹이고, 도 10 의 양자화 파라미터는 루마 양자화 파라미터이고, 도 10 의 임계는 제 1 임계이며, 도 10 의 현재의 CU 는 제 1 CU 이다.
도 18a 의 예에서, 비디오 인코더 (20) 는 CTU 의 제 2 복수의 CU들로의 제 2 파티셔닝을 결정할 수도 있다 (850). 제 2 복수의 CU들의 각각의 개별 CU 는 개별의 크로마 코딩 블록에 대응하고 루마 코딩 블록들에는 대응하지 않는다. CTU 의 제 2 파티셔닝은 CTU 의 제 1 파티셔닝과 상이한 방식으로 CTU 를 파티셔닝할 수도 있다. 비디오 인코더 (20) 는 본 개시물의 다른 곳에서 제공된 예들에 따라 제 2 파티셔닝을 결정할 수도 있다.
부가적으로, 비디오 인코더 (20) 는, 루마 양자화 파라미터에 기초하여, 크로마 양자화 파라미터를 도출할 수도 있다 (852). 예를 들어, 비디오 인코더 (20) 는 루마 양자화 파라미터를 사용하여 검색 테이블에서 값을 검색할 수도 있다. 이 예에서, 비디오 인코더 (20) 는 그 후, 크로마 QP 오프셋을 그 값에 적용하여 크로마 양자화 파라미터를 도출할 수도 있다.
또한, 비디오 인코더 (20) 는 크로마 양자화 파라미터에 기초하여 제 2 CU 의 변환 계수를 양자화할 수도 있다 (854). 제 2 CU 는 제 2 복수의 CU들에 있다. 또한, 비디오 인코더 (20) 는, 비트스트림에서 제 2 CU 의 양자화된 변환 계수들을 나타내는 하나 이상의 신택스 엘리먼트를 포함할 수도 있다 (856). 비디오 인코더 (20) 는 본 개시물의 다른 곳에서 제공된 예들에 따라 변환 계수를 양자화하고 비트스트림에서 양자화된 변환 계수를 포함할 수도 있다.
도 18b 는 본 개시물의 하나 이상의 기법들에 따라, 크로마 변환 계수들을 역 양자화하는 예시적 동작을 예시하는 플로우차트이다. 위에서 주목된 바와 같이, 일부 예들에서, 별개의 루마 및 크로마 코딩 트리들이 허용되면, 별개의 델타 QP 시그널링이 수행될 수도 있다. 이 경우에서, 크로마 QP 값들은 루마 QP 값들로부터 직접 도출될 수도 있다. 도 18b 의 예시적 동작은 이러한 예들과 일치한다.
도 18b 의 예시적 동작은 도 11 의 동작의 계속일 수도 있다. 따라서, 도 11 의 복수의 CU들은 제 1 복수의 CU들이고, 제 1 복수의 CU들의 각각의 개별의 CU 는 개별의 루마 코딩 블록에 대응하고 크로마 코딩 블록들에는 대응하지 않고, 도 11 의 현재의 양자화 그룹은 제 1 양자화 그룹이고, 도 11 의 양자화 파라미터는 루마 양자화 파라미터이고, 도 11 의 임계는 제 1 임계이며, 도 11 의 현재의 CU 는 제 1 CU 이다.
도 18b 의 예에서, 비디오 디코더 (30) 는 CTU 의 제 2 복수의 CU들로의 제 2 파티셔닝을 결정할 수도 있다 (900). 제 2 복수의 CU들의 각각의 개별 CU 는 개별의 크로마 코딩 블록에 대응하고 루마 코딩 블록들에는 대응하지 않는다. CTU 의 제 2 파티셔닝은 CTU 의 제 1 파티셔닝과 상이한 방식으로 CTU 를 파티셔닝할 수도 있다. 비디오 디코더 (30) 는 본 개시물의 다른 곳에서 제공된 예들에 따라 제 2 파티셔닝을 결정할 수도 있다.
또한, 비디오 디코더 (30) 는, 루마 양자화 파라미터에 기초하여, 크로마 양자화 파라미터를 도출할 수도 있다 (902). 예를 들어, 비디오 디코더 (30) 는 루마 양자화 파라미터를 사용하여 검색 테이블에서 값을 검색할 수도 있다. 이 예에서, 비디오 디코더 (30) 는 그 후, 크로마 QP 오프셋을 그 값에 적용하여 크로마 양자화 파라미터를 도출할 수도 있다.
부가적으로, 비디오 디코더 (30) 는 크로마 양자화 파라미터에 기초하여, 제 2 CU 의 변환 계수를 역 양자화할 수도 있다 (904). 제 2 CU 는 제 2 복수의 CU들에 있다. 또한, 비디오 디코더 (30) 는 제 2 CU 의 역 양자화된 변환 계수들에 기초하여, 제 2 CU 의 크로마 코딩 블록을 복원할 수도 있다 (906). 비디오 디코더 (30) 는 본 개시물의 다른 곳에서 제공된 예들에 따라 변환 계수를 역 양자화하고 크로마 코딩 블록을 복원할 수도 있다.
본 개시물의 소정 양태들은 예시의 목적을 위해 HEVC 표준의 확장들에 대하여 설명되어 있다. 그러나, 본 개시물에 설명된 기법들은, 아직 개발되지 않은 다른 표준 또는 사설 비디오 코딩 프로세스들을 포함하여, 다른 비디오 코딩 프로세스들에 유용할 수도 있다.
본 개시물에서 설명된 바와 같이, 비디오 코더는 비디오 인코더 또는 비디오 디코더를 지칭할 수도 있다. 유사하게, 비디오 코딩 유닛은 비디오 인코더 또는 비디오 디코더를 지칭할 수도 있다. 마찬가지로, 비디오 코딩은 적용 가능한 바와 같이, 비디오 인코딩 또는 비디오 디코딩을 지칭할 수도 있다.
본 개시물에서, 문구 "~에 기초하는" 은 일부 방식에만 기초하는, 일부 방식에 적어도 부분적으로 기초하는, 또는 일부 방식에 기초하는 것을 나타낼 수도 있다. 본 개시물은 샘플들의 하나 이상의 블록들의 샘플들을 코딩하는데 사용된 하나 이상의 샘플 블록들 및 신택스 구조들을 지칭하기 위해 용어 "비디오 유닛" 또는 "비디오 블록" 또는 "블록" 을 사용할 수도 있다. 비디오 유닛들의 예시의 유형들은 CTU들, CU들, PU들, 변환 유닛 (TU)들, 매크로블록들, 매크로블록 파티션들 등을 포함할 수도 있다. 일부 맥락들에서, PU들의 논의는 매크로블록들 또는 매크로블록 파티션들의 논의와 상호교환될 수도 있다. 비디오 블록들의 예시의 유형들은 코딩 트리 블록들, 코딩 블록들, 및 비디오 데이터의 블록들의 다른 유형들을 포함할 수도 있다.
예에 따라, 본원에서 설명된 임의의 기법들의 소정의 액트들 또는 이벤트들은 상이한 시퀀스로 수행될 수도 있고, 추가, 머지될 수도 있거나, 또는 함께 제거될 수도 있다 (예를 들어, 설명된 모든 액트들 또는 이벤트들이 기법의 실시에 반드시 필요한 것은 아니다) 는 것으로 인식되어야 한다. 또한, 소정 예들에서, 액트들 또는 이벤트들은, 순차적이기 보다는 예를 들어 멀티-스레디드 프로세싱, 인터럽트 프로세싱, 또는 다중 프로세서들을 통해 동시에 수행될 수도 있다.
하나 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 그의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 이 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상에 저장되거나 송신될 수도 있고, 하드웨어 기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체는, 데이터 저장 매체와 같은 유형의 매체, 또는 예를 들어 통신 프로토콜에 따라, 한 곳에서 다른 곳으로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체에 대응하는 컴퓨터 판독가능 저장 매체를 포함할 수도 있다. 이 방식으로, 컴퓨터 판독가능 매체는 일반적으로 (1) 비일시적인 유형의 컴퓨터 판독가능 저장 매체 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체는 본 개시물에 설명된 기법들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수도 있다.
비제한적인 예로서, 이러한 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장 디바이스, 자기 디스크 저장 디바이스 또는 다른 자기 저장 디바이스, 플래시 메모리, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 사용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체라고 적절히 칭해진다. 예를 들어, 명령들이 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 그러나, 컴퓨터 판독가능 저장 매체 및 데이터 저장 매체는 접속들, 반송파들, 신호들, 또는 다른 일시적 매체들을 포함하지 않고, 대신에 비일시적인, 유형의 저장 매체들에 관련된다는 것이 이해되어야 한다. 본원에서 사용된 디스크 (disk) 와 디스크 (disc) 는, 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루레이 디스크를 포함하며, 여기서 디스크 (disk)들은 통상 자기적으로 데이터를 재생하는 반면, 디스크 (disc)들은 레이저들을 이용하여 광학적으로 데이터를 재생한다. 상기의 조합들이 또한, 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
명령들은, 하나 이상의 디지털 신호 프로세서 (DSP)들, 범용 마이크로프로세서들, 주문형 집적 회로 (ASIC)들, 필드 프로그램 가능 로직 어레이 (FPGA)들, 또는 다른 등가의 집적 또는 이산 로직 회로부와 같은, 하나 이상의 프로세서들을 포함하는 고정 기능 및/또는 프로그램 가능 프로세싱 회로부에 의해 실행될 수도 있다. 따라서, 본원에서 사용되는 바와 같은 용어 "프로세서" 는 상기의 구조 또는 본원에 설명된 기법들의 구현에 적합한 임의의 다른 구조 중 임의의 것을 지칭할 수도 있다. 또한, 일부 양태들에서, 본원에 설명된 기능성은 인코딩 및 디코딩을 위해 구성된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수도 있고, 또는 결합형 코덱에 통합될 수도 있다. 또한, 본 기법들은 하나 이상의 회로들 또는 로직 엘리먼트들에서 완전히 구현될 수 있다.
본 개시물의 기법들은 무선 핸드셋, 집적 회로 (IC), 또는 IC 들의 세트 (예를 들어, 칩 세트) 를 포함하는 광범위한 디바이스들 또는 장치들에서 구현될 수도 있다. 개시된 기술들을 수행하도록 구성된 디바이스들의 기능적 양태를 강조하기 위해 다양한 소자들, 모듈들, 또는 유닛들이 본 개시물에서 설명되었지만, 반드시 상이한 하드웨어 유닛들에 의한 실현을 요구하지는 없다. 차라리, 전술된 바와 같이 다양한 유닛들은 적합한 소프트웨어 및/또는 펌웨어와 관련되어, 전술된 하나 이상의 프로세서들을 포함하는, 상호 동작적인 하드웨어 유닛들의 집합에 의해 제공되고 또는 코덱 하드웨어 유닛에 결합될 수도 있다.
다양한 예들이 설명되었다. 이들 및 다른 예들은 하기의 청구범위 내에 있다.
Claims (60)
- 비디오 데이터를 디코딩하는 방법으로서,
비디오 디코더에 의해, 상기 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서, 현재의 양자화 그룹에 대한 로컬 양자화 정보를 수신하는 단계;
상기 비디오 디코더에 의해, 상기 비디오 데이터의 픽처의 코딩 트리 유닛 (CTU) 의 복수의 코딩 유닛 (CU)들로의 파티셔닝을 결정하는 단계로서, 상기 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함하는, 상기 파티셔닝을 결정하는 단계;
상기 비디오 디코더에 의해, 상기 현재의 양자화 그룹에 대한 상기 로컬 양자화 정보에 적어도 부분적으로 기초하여, 양자화 파라미터를 도출하는 단계로서, 상기 현재의 양자화 그룹은, 상기 현재의 양자화 그룹의 경계들이 상기 CU들의 경계들이어야 하고 상기 현재의 양자화 그룹의 사이즈가 임계 이상이도록 상기 복수의 CU들에서, 코딩 순서에서 연속적인 CU들의 그룹으로서 정의되고, 상기 복수의 CU들 중 적어도 하나의 CU 는 비-정사각형 양자화 그룹에 포함되는, 상기 양자화 파라미터를 도출하는 단계;
상기 비디오 디코더에 의해, 상기 양자화 파라미터에 기초하여, 현재의 CU 의 적어도 하나의 변환 계수를 역 양자화하는 단계로서, 상기 현재의 CU 는 상기 현재의 양자화 그룹에서의 CU들 중 하나인, 상기 적어도 하나의 변환 계수를 역 양자화하는 단계; 및
상기 비디오 디코더에 의해, 상기 현재의 CU 의 역 양자화된 변환 계수들에 기초하여, 상기 현재의 CU 의 코딩 블록을 복원하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법. - 제 1 항에 있어서,
상기 현재의 양자화 그룹은 정사각형이 아닌, 비디오 데이터를 디코딩하는 방법. - 제 1 항에 있어서,
상기 비디오 디코더에 의해, 상기 비트스트림으로부터 상기 임계의 표시를 획득하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법. - 제 1 항에 있어서,
상기 비디오 디코더에 의해, 상기 현재의 양자화 그룹에서의 CU들의 누산된 사이즈가 상기 임계 이상이라는 것에 기초하여, 다음의 양자화 그룹이 상기 CTU 의 다음의 CU 로 시작한다는 것을 결정하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법. - 제 1 항에 있어서,
상기 임계는 제 1 임계이고,
상기 방법은, 상기 비디오 디코더에 의해, 상기 현재의 양자화 그룹의 누산된 사이즈가 상기 제 1 임계보다 크지 않은 경우에도, 제 2 임계 이상의 사이즈를 갖는 상기 CTU 의 각각의 CU 에 대해 새로운 양자화 그룹을 시작하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법. - 제 1 항에 있어서,
상기 현재의 양자화 그룹을 포함하는 복수의 양자화 그룹들의 각각의 개별 양자화 그룹에 대해, 상기 개별 양자화 그룹이 넌-제로 양자화된 계수들을 포함하는 경우, 로컬 양자화 정보의 최대 하나의 세트가 상기 개별 양자화 그룹에 대한 상기 비트스트림에서 시그널링되도록 허용되는, 비디오 데이터를 디코딩하는 방법. - 제 1 항에 있어서,
상기 임계는 제 1 임계이고, 상기 현재의 양자화 그룹에 대한 로컬 양자화 정보의 세트는 상기 현재의 양자화 그룹에 대한 로컬 양자화 정보의 제 1 세트이고, 상기 양자화 파라미터는 제 1 양자화 파라미터이고, 상기 현재의 CU 는 제 1 CU 이며,
상기 방법은,
상기 현재의 양자화 그룹이 제 2 임계보다 큰 사이즈를 갖는 CU 를 포함하는 것에 기초하여, 상기 비디오 디코더에 의해, 상기 현재의 양자화 그룹에 대한 로컬 양자화 정보의 제 2 세트를 상기 비트스트림으로부터 획득하는 단계;
상기 비디오 디코더에 의해, 상기 현재의 양자화 그룹에 대한 로컬 양자화 정보의 상기 제 2 세트에 적어도 부분적으로 기초하여, 제 2 양자화 파라미터를 도출하는 단계; 및
상기 비디오 디코더에 의해, 상기 제 2 양자화 파라미터에 기초하여, 제 2 CU 의 적어도 하나의 변환 계수를 역 양자화하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법. - 제 1 항에 있어서,
상기 복수의 CU들은 제 1 복수의 CU들이고, 상기 제 1 복수의 CU들의 각각의 개별 CU 는 개별의 루마 코딩 블록에 대응하고 크로마 코딩 블록들에는 대응하지 않고, 상기 현재의 양자화 그룹은 제 1 양자화 그룹이고, 상기 양자화 파라미터는 루마 양자화 파라미터이고, 상기 임계는 제 1 임계이고, 상기 현재의 CU 는 제 1 CU 이며,
상기 방법은,
상기 비디오 디코더에 의해, 상기 비트스트림에서, 제 2 양자화 그룹에 대한 로컬 양자화 정보를 수신하는 단계;
상기 비디오 디코더에 의해, 상기 CTU 의 제 2 복수의 CU들로의 제 2 파티셔닝을 결정하는 단계로서, 상기 제 2 복수의 CU들의 각각의 개별 CU 는 개별의 크로마 코딩 블록에 대응하고 루마 코딩 블록들에는 대응하지 않고, 상기 CTU 의 제 2 파티셔닝은 상기 CTU 의 제 1 파티셔닝과 상이한 방식으로 상기 CTU 를 파티셔닝하는, 상기 제 2 파티셔닝을 결정하는 단계;
상기 비디오 디코더에 의해, 상기 제 2 양자화 그룹에 대한 상기 로컬 양자화 정보에 적어도 부분적으로 기초하여, 크로마 양자화 파라미터를 도출하는 단계로서, 상기 제 2 양자화 그룹은, 상기 제 2 양자화 그룹의 경계들이 상기 제 2 복수의 CU들에서의 CU들의 경계들이어야 하고 상기 제 2 양자화 그룹의 사이즈가 제 2 임계 이상이도록 상기 제 2 복수의 CU들에서, 코딩 순서에서 연속적인 CU들의 그룹으로서 정의되는, 상기 크로마 양자화 파라미터를 도출하는 단계;
상기 비디오 디코더에 의해, 상기 크로마 양자화 파라미터에 기초하여, 제 2 CU 의 적어도 하나의 변환 계수를 역 양자화하는 단계로서, 상기 제 2 CU 는 상기 제 2 양자화 그룹에서의 상기 CU들 중 하나인, 상기 제 2 CU 의 적어도 하나의 변환 계수를 역 양자화하는 단계; 및
상기 비디오 디코더에 의해, 상기 제 2 CU 의 역 양자화된 변환 계수들에 기초하여 상기 제 2 CU 의 크로마 코딩 블록을 복원하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법. - 제 1 항에 있어서,
상기 복수의 CU들은 제 1 복수의 CU들이고, 상기 제 1 복수의 CU들의 각각의 개별 CU 는 개별의 루마 코딩 블록에 대응하고 크로마 코딩 블록들에는 대응하지 않고, 상기 양자화 파라미터는 루마 양자화 파라미터이고, 상기 현재의 양자화 그룹은 제 1 양자화 그룹이며, 상기 현재의 CU 는 제 1 CU 이고,
상기 양자화 파라미터를 도출하는 단계는,
상기 비디오 디코더에 의해, 상기 제 1 양자화 그룹에 대한 상기 로컬 양자화 정보에 기초하여 루마 델타 양자화 파라미터를 도출하는 단계; 및
상기 비디오 디코더에 의해, 상기 루마 양자화 파라미터가 상기 루마 델타 양자화 파라미터 플러스 예측된 루마 양자화 파라미터에 기초하도록 상기 루마 양자화 파라미터를 결정하는 단계를 포함하고,
상기 방법은,
상기 비디오 디코더에 의해, 상기 CTU 의 제 2 복수의 CU들로의 제 2 파티셔닝을 결정하는 단계로서, 상기 제 2 복수의 CU들의 각각의 개별 CU 는 개별의 크로마 코딩 블록에 대응하고 루마 코딩 블록들에는 대응하지 않고, 상기 CTU 의 제 2 파티셔닝은 상기 CTU 의 제 1 파티셔닝과 상이한 방식으로 상기 CTU 를 파티셔닝하는, 상기 제 2 파티셔닝을 결정하는 단계;
상기 비디오 디코더에 의해, 상기 루마 델타 양자화 파라미터로부터 크로마 델타 양자화 파라미터를 도출하는 단계;
상기 비디오 디코더에 의해, 상기 크로마 델타 양자화 파라미터를 예측된 크로마 양자화 파라미터에 가산하여 크로마 양자화 파라미터를 도출하는 단계;
상기 비디오 디코더에 의해, 상기 크로마 양자화 파라미터에 기초하여, 제 2 CU 의 적어도 하나의 변환 계수를 역 양자화하는 단계로서, 상기 제 2 CU 는 상기 제 2 복수의 CU들에 있는, 상기 제 2 CU 의 적어도 하나의 변환 계수를 역 양자화하는 단계; 및
상기 비디오 디코더에 의해, 상기 제 2 CU 의 역 양자화된 변환 계수들에 기초하여, 상기 제 2 CU 의 크로마 코딩 블록을 복원하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법. - 제 9 항에 있어서,
상기 크로마 델타 양자화 파라미터를 도출하는 단계는,
상기 비디오 디코더에 의해, 상기 제 2 CU 의 크로마 코딩 블록의 상부 좌측 크로마 샘플에 대응하는 루마 샘플을 결정하는 단계; 및
상기 비디오 디코더에 의해, 상기 크로마 델타 양자화 파라미터가 상기 루마 델타 양자화 파라미터와 동일하도록 상기 크로마 델타 양자화 파라미터를 도출하는 단계로서, 상기 루마 델타 양자화 파라미터는 결정된 상기 루마 샘플과 연관되는, 상기 크로마 델타 양자화 파라미터를 도출하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법. - 제 9 항에 있어서,
상기 루마 델타 양자화 파라미터는 제 1 루마 델타 양자화 파라미터이고,
상기 크로마 델타 양자화 파라미터를 도출하는 단계는,
상기 비디오 디코더에 의해, 상기 제 2 CU 의 크로마 블록의 샘플들에 대응하는 루마 샘플들에 대한 모든 별개의 루마 델타 양자화 파라미터들을 식별하는 단계로서, 식별된 상기 루마 델타 양자화 파라미터들은 상기 제 1 루마 델타 양자화 파라미터를 포함하는, 상기 루마 델타 양자화 파라미터들을 식별하는 단계; 및
상기 비디오 디코더에 의해, 식별된 상기 별개의 루마 델타 양자화 파라미터들을 평균하여 상기 크로마 델타 양자화 파라미터를 도출하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법. - 제 9 항에 있어서,
상기 루마 델타 양자화 파라미터는 제 1 루마 델타 양자화 파라미터이고,
상기 크로마 델타 양자화 파라미터를 도출하는 단계는,
상기 비디오 디코더에 의해, 복수의 별개의 루마 델타 양자화 파라미터들을 식별하는 단계로서, 상기 복수의 별개의 루마 델타 양자화 파라미터들은 상기 제 2 CU 의 크로마 블록의 샘플들에 대응하는 루마 샘플들에 대한 각각의 별개의 루마 델타 양자화 파라미터를 포함하고, 상기 복수의 별개의 루마 델타 양자화 파라미터들은 상기 제 1 루마 델타 양자화 파라미터를 포함하는, 상기 루마 델타 양자화 파라미터들을 식별하는 단계; 및
상기 비디오 디코더에 의해, 상기 크로마 델타 양자화 파라미터를 도출하도록 상기 복수의 별개의 루마 델타 양자화 파라미터들을 가중된 방식으로 평균하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법. - 제 12 항에 있어서,
상기 비디오 디코더에 의해, 복수의 가중치들을 결정하는 단계로서, 상기 복수의 가중치들의 각각의 개별 가중치에 대해, 상기 개별 가중치는 상기 복수의 별개의 루마 델타 양자화 파라미터들에서의 개별의 루마 델타 양자화 파라미터에 대응하는 상기 제 2 CU 의 상기 크로마 블록의 샘플들의 일부에 대응하는, 상기 복수의 가중치들을 결정하는 단계를 더 포함하고,
상기 복수의 별개의 루마 델타 양자화 파라미터들을 가중된 방식으로 평균하는 단계는, 상기 비디오 디코더에 의해, 복수의 값들을 평균하는 단계를 포함하고, 상기 복수의 값들에서의 각각의 개별 값은 상기 복수의 루마 델타 양자화 파라미터들에서의 개별의 루마 델타 양자화 파라미터 곱하기 상기 개별의 루마 델타 양자화 파라미터에 대응하는 상기 복수의 가중치들에서의 개별 가중치와 동일한, 비디오 데이터를 디코딩하는 방법. - 제 1 항에 있어서,
상기 복수의 CU들은 제 1 복수의 CU들이고, 상기 제 1 복수의 CU들의 각각의 개별 CU 는 개별의 루마 코딩 블록에 대응하고 크로마 코딩 블록들에는 대응하지 않고, 상기 현재의 양자화 그룹은 제 1 양자화 그룹이고, 상기 양자화 파라미터는 루마 양자화 파라미터이고, 상기 임계는 제 1 임계이고, 상기 현재의 CU 는 제 1 CU 이며,
상기 방법은,
상기 비디오 디코더에 의해, 상기 CTU 의 제 2 복수의 CU들로의 제 2 파티셔닝을 결정하는 단계로서, 상기 제 2 복수의 CU들의 각각의 개별 CU 는 개별의 크로마 코딩 블록에 대응하고 루마 코딩 블록들에는 대응하지 않고, 상기 CTU 의 제 2 파티셔닝은 상기 CTU 의 제 1 파티셔닝과 상이한 방식으로 상기 CTU 를 파티셔닝하는, 상기 제 2 파티셔닝을 결정하는 단계;
상기 비디오 디코더에 의해, 상기 루마 양자화 파라미터에 기초하여, 크로마 양자화 파라미터를 도출하는 단계;
상기 비디오 디코더에 의해, 상기 크로마 양자화 파라미터에 기초하여 제 2 CU 의 변환 계수를 역 양자화하는 단계로서, 상기 제 2 CU 는 상기 제 2 복수의 CU들에 있는, 상기 제 2 CU 의 변환 계수를 역 양자화하는 단계; 및
상기 비디오 디코더에 의해, 상기 제 2 CU 의 역 양자화된 변환 계수들에 기초하여, 상기 제 2 CU 의 크로마 코딩 블록을 복원하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법. - 비디오 데이터를 인코딩하는 방법으로서,
비디오 인코더에 의해, 상기 비디오 데이터의 픽처의 코딩 트리 유닛 (CTU) 의 복수의 코딩 유닛 (CU)들로의 파티셔닝을 결정하는 단계로서, 상기 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함하는, 상기 파티셔닝을 결정하는 단계;
상기 비디오 인코더에 의해, 양자화 파라미터에 기초하여 현재의 코딩 유닛 (CU) 의 적어도 하나의 변환 계수를 양자화하는 단계로서, 상기 현재의 CU 는 현재의 양자화 그룹에 있거나 또는 상기 현재의 양자화 그룹에서의 코딩 블록에 대응하고, 상기 현재의 양자화 그룹은, 상기 현재의 양자화 그룹의 경계들이 상기 CU들의 경계들이어야 하고 상기 현재의 양자화 그룹의 사이즈가 임계 이상이도록 상기 복수의 CU들에서, 코딩 순서에서 연속적인 CU들의 그룹으로서 정의되고, 상기 복수의 CU들 중 적어도 하나의 CU 는 비-정사각형 양자화 그룹에 포함되는, 상기 적어도 하나의 변환 계수를 양자화하는 단계;
상기 비디오 인코더에 의해, 상기 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서, 상기 현재의 양자화 그룹에 대한 로컬 양자화 정보를 시그널링하는 단계로서, 상기 양자화 파라미터는 상기 현재의 양자화 그룹에 대한 상기 로컬 양자화 정보에 적어도 부분적으로 기초하여 도출 가능한, 상기 로컬 양자화 정보를 시그널링하는 단계; 및
상기 비디오 인코더에 의해, 상기 비트스트림에서, 상기 현재의 CU 의 양자화된 상기 변환 계수를 나타내는 하나 이상의 신택스 엘리먼트들을 포함하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법. - 제 15 항에 있어서,
상기 현재의 양자화 그룹은 정사각형이 아닌, 비디오 데이터를 인코딩하는 방법. - 제 15 항에 있어서,
상기 비디오 인코더에 의해, 상기 비트스트림에서 상기 임계의 표시를 시그널링하는 단계를 더 포함하는, 비디오 데이터를 인코딩하는 방법. - 제 15 항에 있어서,
상기 비디오 인코더에 의해, 상기 현재의 양자화 그룹에서의 CU들의 누산된 사이즈가 임계 이상이라는 것에 기초하여, 복수의 양자화 그룹들 중 다음의 양자화 그룹이 상기 CTU 의 다음의 CU 로 시작한다는 것을 결정하는 단계를 더 포함하는, 비디오 데이터를 인코딩하는 방법. - 제 15 항에 있어서,
상기 임계는 제 1 임계이고,
상기 방법은, 상기 비디오 인코더에 의해, 상기 현재의 양자화 그룹의 누산된 사이즈가 상기 제 1 임계보다 크지 않은 경우에도, 제 2 임계 이상의 사이즈를 갖는 상기 CTU 의 각각의 CU 에 대해 새로운 양자화 그룹을 시작하는 단계를 더 포함하는, 비디오 데이터를 인코딩하는 방법. - 제 15 항에 있어서,
상기 현재의 양자화 그룹을 포함하는 복수의 양자화 그룹들의 각각의 개별 양자화 그룹에 대해, 상기 개별 양자화 그룹이 넌-제로 양자화된 계수들을 포함하는 경우, 로컬 양자화 정보의 최대 하나의 세트가 상기 개별 양자화 그룹에 대한 상기 비트스트림에서 시그널링되도록 허용되는, 비디오 데이터를 인코딩하는 방법. - 제 15 항에 있어서,
상기 임계는 제 1 임계이고, 상기 현재의 양자화 그룹에 대한 로컬 양자화 정보의 세트는 상기 현재의 양자화 그룹에 대한 로컬 양자화 정보의 제 1 세트이고, 상기 양자화 파라미터는 제 1 양자화 파라미터이고, 상기 현재의 CU 는 제 1 CU 이며,
상기 방법은,
상기 현재의 양자화 그룹이 제 2 임계보다 큰 사이즈를 갖는 제 2 CU 를 포함하는 것에 기초하여, 상기 비디오 인코더에 의해, 상기 비트스트림에서 상기 현재의 양자화 그룹에 대한 로컬 양자화 정보의 제 2 세트를 시그널링하는 단계;
상기 비디오 인코더에 의해, 상기 현재의 양자화 그룹에 대한 로컬 양자화 정보의 상기 제 2 세트에 적어도 부분적으로 기초하여, 제 2 양자화 파라미터를 도출하는 단계; 및
상기 비디오 인코더에 의해, 상기 제 2 양자화 파라미터에 기초하여, 상기 제 2 CU 의 적어도 하나의 변환 계수를 양자화하는 단계를 더 포함하는, 비디오 데이터를 인코딩하는 방법. - 제 15 항에 있어서,
상기 복수의 CU들은 제 1 복수의 CU들이고, 상기 제 1 복수의 CU들의 각각의 개별 CU 는 개별의 루마 코딩 블록에 대응하고 크로마 코딩 블록들에는 대응하지 않고, 상기 현재의 양자화 그룹은 제 1 양자화 그룹이고, 상기 양자화 파라미터는 루마 양자화 파라미터이고, 상기 임계는 제 1 임계이고, 상기 현재의 CU 는 제 1 CU 이며,
상기 방법은,
상기 비디오 인코더에 의해, 상기 CTU 의 제 2 복수의 CU들로의 제 2 파티셔닝을 결정하는 단계로서, 상기 제 2 복수의 CU들의 각각의 개별 CU 는 개별의 크로마 코딩 블록에 대응하고 루마 코딩 블록들에는 대응하지 않고, 상기 CTU 의 제 2 파티셔닝은 상기 CTU 의 제 1 파티셔닝과 상이한 방식으로 상기 CTU 를 파티셔닝하는, 상기 제 2 파티셔닝을 결정하는 단계;
상기 비디오 인코더에 의해, 크로마 양자화 파라미터에 기초하여 제 2 CU 의 적어도 하나의 변환 계수를 양자화하는 단계로서, 상기 제 2 CU 는 제 2 양자화 그룹에서의 CU들 중 하나인, 상기 제 2 CU 의 적어도 하나의 변환 계수를 양자화하는 단계;
상기 비디오 인코더에 의해, 상기 비트스트림에서 상기 제 2 양자화 그룹에 대한 로컬 양자화 정보를 시그널링하는 단계로서, 상기 크로마 양자화 파라미터는 상기 제 2 양자화 그룹에 대한 상기 로컬 양자화 정보에 적어도 부분적으로 기초하여 도출 가능한, 상기 제 2 양자화 그룹에 대한 로컬 양자화 정보를 시그널링하는 단계; 및
상기 비디오 인코더에 의해, 상기 비트스트림에서 상기 제 2 CU 의 양자화된 상기 변환 계수를 나타내는 하나 이상의 신택스 엘리먼트들을 포함하는 단계를 더 포함하는, 비디오 데이터를 인코딩하는 방법. - 제 15 항에 있어서,
상기 복수의 CU들은 제 1 복수의 CU들이고, 상기 제 1 복수의 CU들의 각각의 개별 CU 는 개별의 루마 코딩 블록에 대응하고 크로마 코딩 블록들에는 대응하지 않고, 상기 양자화 파라미터는 루마 양자화 파라미터이고, 상기 현재의 양자화 그룹은 제 1 양자화 그룹이며, 상기 현재의 CU 는 제 1 CU 이고,
루마 델타 양자화 파라미터는 상기 제 1 양자화 그룹에 대한 상기 로컬 양자화 정보로부터 도출 가능하고,
상기 루마 양자화 파라미터는 상기 루마 델타 양자화 파라미터 플러스 예측된 루마 양자화 파라미터에 기초하고,
상기 방법은,
상기 비디오 인코더에 의해, 상기 CTU 의 제 2 복수의 CU들로의 제 2 파티셔닝을 결정하는 단계로서, 상기 제 2 복수의 CU들의 각각의 개별 CU 는 개별의 크로마 코딩 블록에 대응하고 루마 코딩 블록들에는 대응하지 않고, 상기 CTU 의 제 2 파티셔닝은 상기 CTU 의 제 1 파티셔닝과 상이한 방식으로 상기 CTU 를 파티셔닝하는, 상기 제 2 파티셔닝을 결정하는 단계;
상기 비디오 인코더에 의해, 상기 루마 델타 양자화 파라미터로부터 크로마 델타 양자화 파라미터를 도출하는 단계;
상기 비디오 인코더에 의해, 상기 크로마 델타 양자화 파라미터를 예측된 크로마 양자화 파라미터에 가산하여 크로마 양자화 파라미터를 도출하는 단계;
상기 비디오 인코더에 의해, 상기 크로마 양자화 파라미터에 기초하여, 제 2 CU 의 변환 계수를 양자화하는 단계로서, 상기 제 2 CU 는 상기 제 2 복수의 CU들에 있는, 상기 제 2 CU 의 변환 계수를 양자화하는 단계; 및
상기 비디오 인코더에 의해, 상기 비트스트림에서 상기 제 2 CU 의 양자화된 상기 변환 계수를 나타내는 하나 이상의 신택스 엘리먼트들을 포함하는 단계를 더 포함하는, 비디오 데이터를 인코딩하는 방법. - 제 23 항에 있어서,
상기 크로마 델타 양자화 파라미터를 도출하는 단계는,
상기 비디오 인코더에 의해, 상기 제 2 CU 의 크로마 코딩 블록의 상부 좌측 크로마 샘플과 같은 미리정의된 또는 시그널링된 포지션에 대응하는 루마 샘플을 결정하는 단계; 및
상기 비디오 인코더에 의해, 상기 크로마 델타 양자화 파라미터가 상기 루마 델타 양자화 파라미터와 동일하도록 상기 크로마 델타 양자화 파라미터를 도출하는 단계로서, 상기 루마 델타 양자화 파라미터는 결정된 상기 루마 샘플과 연관되는, 상기 크로마 델타 양자화 파라미터를 도출하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법. - 제 23 항에 있어서,
상기 루마 델타 양자화 파라미터는 제 1 루마 델타 양자화 파라미터이고,
상기 크로마 델타 양자화 파라미터를 도출하는 단계는,
상기 비디오 인코더에 의해, 상기 제 2 CU 의 크로마 블록의 샘플들에 대응하는 루마 샘플들에 대한 모든 별개의 루마 델타 양자화 파라미터들을 식별하는 단계로서, 식별된 상기 루마 델타 양자화 파라미터들은 상기 제 1 루마 델타 양자화 파라미터를 포함하는, 상기 루마 델타 양자화 파라미터들을 식별하는 단계; 및
상기 비디오 인코더에 의해, 식별된 상기 별개의 루마 델타 양자화 파라미터들을 평균하여 상기 크로마 델타 양자화 파라미터를 도출하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법. - 제 23 항에 있어서,
상기 루마 델타 양자화 파라미터는 제 1 루마 델타 양자화 파라미터이고,
상기 크로마 델타 양자화 파라미터를 도출하는 단계는,
상기 비디오 인코더에 의해, 복수의 별개의 루마 델타 양자화 파라미터들을 식별하는 단계로서, 상기 복수의 별개의 루마 델타 양자화 파라미터들은 상기 제 2 CU 의 크로마 블록의 샘플들에 대응하는 루마 샘플들에 대한 각각의 별개의 루마 델타 양자화 파라미터를 포함하고, 상기 복수의 별개의 루마 델타 양자화 파라미터들은 상기 제 1 루마 델타 양자화 파라미터를 포함하는, 상기 루마 델타 양자화 파라미터들을 식별하는 단계; 및
상기 비디오 인코더에 의해, 상기 크로마 델타 양자화 파라미터를 도출하도록 상기 복수의 별개의 루마 델타 양자화 파라미터들을 가중된 방식으로 평균하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법. - 제 26 항에 있어서,
상기 비디오 인코더에 의해, 복수의 가중치들을 결정하는 단계로서, 상기 복수의 가중치들의 각각의 개별 가중치에 대해, 상기 개별 가중치는 상기 복수의 별개의 루마 델타 양자화 파라미터들에서의 개별의 루마 델타 양자화 파라미터에 대응하는 상기 제 2 CU 의 상기 크로마 블록의 샘플들의 일부에 대응하는, 상기 복수의 가중치들을 결정하는 단계를 더 포함하고,
상기 복수의 별개의 루마 델타 양자화 파라미터들을 가중된 방식으로 평균하는 단계는, 상기 비디오 인코더에 의해, 복수의 값들을 평균하는 단계를 포함하고, 상기 복수의 값들에서의 각각의 개별 값은 상기 복수의 루마 델타 양자화 파라미터들에서의 개별의 루마 델타 양자화 파라미터 곱하기 상기 개별의 루마 델타 양자화 파라미터에 대응하는 상기 복수의 가중치들에서의 개별 가중치와 동일한, 비디오 데이터를 인코딩하는 방법. - 제 15 항에 있어서,
상기 복수의 CU들은 제 1 복수의 CU들이고, 상기 제 1 복수의 CU들의 각각의 개별 CU 는 개별의 루마 코딩 블록에 대응하고 크로마 코딩 블록들에는 대응하지 않고, 상기 현재의 양자화 그룹은 제 1 양자화 그룹이고, 상기 양자화 파라미터는 루마 양자화 파라미터이고, 상기 임계는 제 1 임계이고, 상기 현재의 CU 는 제 1 CU 이며,
상기 방법은,
상기 비디오 인코더에 의해, 상기 CTU 의 제 2 복수의 CU들로의 제 2 파티셔닝을 결정하는 단계로서, 상기 제 2 복수의 CU들의 각각의 개별 CU 는 개별의 크로마 코딩 블록에 대응하고 루마 코딩 블록들에는 대응하지 않고, 상기 CTU 의 제 2 파티셔닝은 상기 CTU 의 제 1 파티셔닝과 상이한 방식으로 상기 CTU 를 파티셔닝하는, 상기 제 2 파티셔닝을 결정하는 단계;
상기 비디오 인코더에 의해, 상기 루마 양자화 파라미터에 기초하여, 크로마 양자화 파라미터를 도출하는 단계;
상기 비디오 인코더에 의해, 상기 크로마 양자화 파라미터에 기초하여 제 2 CU 의 변환 계수를 양자화하는 단계로서, 상기 제 2 CU 는 상기 제 2 복수의 CU들에 있는, 상기 제 2 CU 의 변환 계수를 양자화하는 단계; 및
상기 비디오 인코더에 의해, 상기 비트스트림에서 상기 제 2 CU 의 양자화된 상기 변환 계수를 나타내는 하나 이상의 신택스 엘리먼트들을 포함하는 단계를 더 포함하는, 비디오 데이터를 인코딩하는 방법. - 비디오 데이터를 디코딩하기 위한 장치로서,
상기 비디오 데이터를 저장하도록 구성된 하나 이상의 저장 매체들; 및
상기 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서, 현재의 양자화 그룹에 대한 로컬 양자화 정보를 수신하고;
상기 비디오 데이터의 픽처의 코딩 트리 유닛 (CTU) 의 복수의 코딩 유닛 (CU)들로의 파티셔닝을 결정하는 것으로서, 상기 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함하는, 상기 파티셔닝을 결정하고;
상기 현재의 양자화 그룹에 대한 상기 로컬 양자화 정보에 적어도 부분적으로 기초하여, 양자화 파라미터를 도출하는 것으로서, 상기 현재의 양자화 그룹은, 상기 현재의 양자화 그룹의 경계들이 상기 CU들의 경계들이어야 하고 상기 현재의 양자화 그룹의 사이즈가 임계 이상이도록 코딩 순서에서, 연속적인 CU들의 그룹으로서 정의되고, 상기 복수의 CU들 중 적어도 하나의 CU 는 비-정사각형 양자화 그룹에 포함되는, 상기 양자화 파라미터를 도출하고;
상기 양자화 파라미터에 기초하여, 현재의 CU 의 적어도 하나의 변환 계수를 역 양자화하는 것으로서, 상기 현재의 CU 는 상기 현재의 양자화 그룹에서의 CU들 중 하나인, 상기 적어도 하나의 변환 계수를 역 양자화하며; 그리고
상기 현재의 CU 의 역 양자화된 변환 계수들에 기초하여, 상기 현재의 CU 의 코딩 블록을 복원하도록
구성된 하나 이상의 프로세서들을 포함하는, 비디오 데이터를 디코딩하기 위한 장치. - 제 29 항에 있어서,
상기 현재의 양자화 그룹은 정사각형이 아닌, 비디오 데이터를 디코딩하기 위한 장치. - 제 29 항에 있어서,
상기 하나 이상의 프로세서들은 또한, 상기 비트스트림으로부터 상기 임계의 표시를 획득하도록 구성되는, 비디오 데이터를 디코딩하기 위한 장치. - 제 29 항에 있어서,
상기 하나 이상의 프로세서들은 또한, 상기 현재의 양자화 그룹에서의 CU들의 누산된 사이즈가 상기 임계 이상이라는 것에 기초하여, 다음의 양자화 그룹이 상기 CTU 의 다음의 CU 로 시작한다는 것을 결정하도록 구성되는, 비디오 데이터를 디코딩하기 위한 장치. - 제 29 항에 있어서,
상기 임계는 제 1 임계이고,
상기 하나 이상의 프로세서들은 또한, 상기 현재의 양자화 그룹의 누산된 사이즈가 상기 제 1 임계보다 크지 않은 경우에도, 제 2 임계 이상의 사이즈를 갖는 상기 CTU 의 각각의 CU 에 대해 새로운 양자화 그룹을 시작하도록 구성되는, 비디오 데이터를 디코딩하기 위한 장치. - 제 29 항에 있어서,
상기 현재의 양자화 그룹을 포함하는 복수의 양자화 그룹들의 각각의 개별 양자화 그룹에 대해, 상기 개별 양자화 그룹이 넌-제로 양자화된 계수들을 포함하는 경우, 로컬 양자화 정보의 최대 하나의 세트가 상기 개별 양자화 그룹에 대한 상기 비트스트림에서 시그널링되도록 허용되는, 비디오 데이터를 디코딩하기 위한 장치. - 제 29 항에 있어서,
상기 임계는 제 1 임계이고, 상기 현재의 양자화 그룹에 대한 로컬 양자화 정보의 세트는 상기 현재의 양자화 그룹에 대한 로컬 양자화 정보의 제 1 세트이고, 상기 양자화 파라미터는 제 1 양자화 파라미터이고, 상기 현재의 CU 는 제 1 CU 이며,
상기 하나 이상의 프로세서들은 또한,
상기 현재의 양자화 그룹이 제 2 임계보다 큰 사이즈를 갖는 CU 를 포함하는 것에 기초하여, 상기 현재의 양자화 그룹에 대한 로컬 양자화 정보의 제 2 세트를 상기 비트스트림으로부터 획득하고;
상기 현재의 양자화 그룹에 대한 로컬 양자화 정보의 상기 제 2 세트에 적어도 부분적으로 기초하여, 제 2 양자화 파라미터를 도출하며; 그리고
상기 제 2 양자화 파라미터에 기초하여, 제 2 CU 의 적어도 하나의 변환 계수를 역 양자화하도록 구성되는, 비디오 데이터를 디코딩하기 위한 장치. - 제 29 항에 있어서,
상기 복수의 CU들은 제 1 복수의 CU들이고, 상기 제 1 복수의 CU들의 각각의 개별 CU 는 개별의 루마 코딩 블록에 대응하고 크로마 코딩 블록들에는 대응하지 않고, 상기 현재의 양자화 그룹은 제 1 양자화 그룹이고, 상기 양자화 파라미터는 루마 양자화 파라미터이고, 상기 임계는 제 1 임계이고, 상기 현재의 CU 는 제 1 CU 이며,
상기 하나 이상의 프로세서들은 또한,
상기 비트스트림에서, 제 2 양자화 그룹에 대한 로컬 양자화 정보를 수신하고;
상기 CTU 의 제 2 복수의 CU들로의 제 2 파티셔닝을 결정하는 것으로서, 상기 제 2 복수의 CU들의 각각의 개별 CU 는 개별의 크로마 코딩 블록에 대응하고 루마 코딩 블록들에는 대응하지 않고, 상기 CTU 의 제 2 파티셔닝은 상기 CTU 의 제 1 파티셔닝과 상이한 방식으로 상기 CTU 를 파티셔닝하는, 상기 제 2 파티셔닝을 결정하고;
상기 제 2 양자화 그룹에 대한 상기 로컬 양자화 정보에 적어도 부분적으로 기초하여, 크로마 양자화 파라미터를 도출하는 것으로서, 상기 제 2 양자화 그룹은, 상기 제 2 양자화 그룹의 경계들이 상기 제 2 복수의 CU들에서의 CU들의 경계들이어야 하고 상기 제 2 양자화 그룹의 사이즈가 제 2 임계 이상이도록 상기 제 2 복수의 CU들에서, 코딩 순서에서 연속적인 CU들의 그룹으로서 정의되는, 상기 크로마 양자화 파라미터를 도출하고;
상기 크로마 양자화 파라미터에 기초하여, 제 2 CU 의 적어도 하나의 변환 계수를 역 양자화하는 것으로서, 상기 제 2 CU 는 상기 제 2 양자화 그룹에서의 상기 CU들 중 하나인, 상기 제 2 CU 의 적어도 하나의 변환 계수를 역 양자화하며; 그리고
상기 제 2 CU 의 역 양자화된 변환 계수들에 기초하여 상기 제 2 CU 의 크로마 코딩 블록을 복원하도록 구성되는, 비디오 데이터를 디코딩하기 위한 장치. - 제 29 항에 있어서,
상기 복수의 CU들은 제 1 복수의 CU들이고, 상기 제 1 복수의 CU들의 각각의 개별 CU 는 개별의 루마 코딩 블록에 대응하고 크로마 코딩 블록들에는 대응하지 않고, 상기 양자화 파라미터는 루마 양자화 파라미터이고, 상기 현재의 양자화 그룹은 제 1 양자화 그룹이며, 상기 현재의 CU 는 제 1 CU 이고,
상기 하나 이상의 프로세서들은,
상기 양자화 파라미터를 도출하는 것의 부분으로서, 상기 하나 이상의 프로세서들이,
상기 제 1 양자화 그룹에 대한 상기 로컬 양자화 정보에 기초하여 루마 델타 양자화 파라미터를 도출하며;
상기 루마 양자화 파라미터가 상기 루마 델타 양자화 파라미터 플러스 예측된 루마 양자화 파라미터에 기초하도록 상기 루마 양자화 파라미터를 결정하도록
구성되고,
상기 하나 이상의 프로세서들은 또한,
상기 CTU 의 제 2 복수의 CU들로의 제 2 파티셔닝을 결정하는 것으로서, 상기 제 2 복수의 CU들의 각각의 개별 CU 는 개별의 크로마 코딩 블록에 대응하고 루마 코딩 블록들에는 대응하지 않고, 상기 CTU 의 제 2 파티셔닝은 상기 CTU 의 제 1 파티셔닝과 상이한 방식으로 상기 CTU 를 파티셔닝하는, 상기 제 2 파티셔닝을 결정하고;
상기 루마 델타 양자화 파라미터로부터 크로마 델타 양자화 파라미터를 도출하고;
상기 크로마 델타 양자화 파라미터를 예측된 크로마 양자화 파라미터에 가산하여 크로마 양자화 파라미터를 도출하고;
상기 크로마 양자화 파라미터에 기초하여, 제 2 CU 의 적어도 하나의 변환 계수를 역 양자화하는 것으로서, 상기 제 2 CU 는 상기 제 2 복수의 CU들에 있는, 상기 제 2 CU 의 적어도 하나의 변환 계수를 역 양자화하며; 그리고
상기 제 2 CU 의 역 양자화된 변환 계수들에 기초하여, 상기 제 2 CU 의 크로마 코딩 블록을 복원하도록 구성되는, 비디오 데이터를 디코딩하기 위한 장치. - 제 37 항에 있어서,
상기 하나 이상의 프로세서들은,
상기 크로마 델타 양자화 파라미터를 도출하는 것의 부분으로서, 상기 하나 이상의 프로세서들이,
상기 제 2 CU 의 크로마 코딩 블록의 상부 좌측 크로마 샘플과 같은 미리정의된 또는 시그널링된 크로마 포지션에 대응하는 루마 샘플을 결정하며; 그리고
상기 크로마 델타 양자화 파라미터가 상기 루마 델타 양자화 파라미터와 동일하도록 상기 크로마 델타 양자화 파라미터를 도출하는 것으로서, 상기 루마 델타 양자화 파라미터는 결정된 상기 루마 샘플과 연관되는, 상기 크로마 델타 양자화 파라미터를 도출하도록
구성되는, 비디오 데이터를 디코딩하기 위한 장치. - 제 37 항에 있어서,
상기 루마 델타 양자화 파라미터는 제 1 루마 델타 양자화 파라미터이고,
상기 하나 이상의 프로세서들은,
상기 크로마 델타 양자화 파라미터를 도출하는 것의 부분으로서, 상기 하나 이상의 프로세서들이,
상기 제 2 CU 의 크로마 블록의 샘플들에 대응하는 루마 샘플들에 대한 모든 별개의 루마 델타 양자화 파라미터들을 식별하는 것으로서, 식별된 상기 루마 델타 양자화 파라미터들은 상기 제 1 루마 델타 양자화 파라미터를 포함하는, 상기 루마 델타 양자화 파라미터들을 식별하며; 그리고
식별된 상기 별개의 루마 델타 양자화 파라미터들을 평균하여 상기 크로마 델타 양자화 파라미터를 도출하도록
구성되는, 비디오 데이터를 디코딩하기 위한 장치. - 제 37 항에 있어서,
상기 루마 델타 양자화 파라미터는 제 1 루마 델타 양자화 파라미터이고,
상기 하나 이상의 프로세서들은,
상기 크로마 델타 양자화 파라미터를 도출하는 것의 부분으로서, 상기 하나 이상의 프로세서들이,
복수의 별개의 루마 델타 양자화 파라미터들을 식별하는 것으로서, 상기 복수의 별개의 루마 델타 양자화 파라미터들은 상기 제 2 CU 의 크로마 블록의 샘플들에 대응하는 루마 샘플들에 대한 각각의 별개의 루마 델타 양자화 파라미터를 포함하고, 상기 복수의 별개의 루마 델타 양자화 파라미터들은 상기 제 1 루마 델타 양자화 파라미터를 포함하는, 상기 루마 델타 양자화 파라미터들을 식별하며; 그리고
상기 크로마 델타 양자화 파라미터를 도출하도록 상기 복수의 별개의 루마 델타 양자화 파라미터들을 가중된 방식으로 평균하도록
구성되는, 비디오 데이터를 디코딩하기 위한 장치. - 제 40 항에 있어서,
상기 하나 이상의 프로세서들은 또한,
복수의 가중치들을 결정하는 것으로서, 상기 복수의 가중치들의 각각의 개별 가중치에 대해, 상기 개별 가중치는 상기 복수의 별개의 루마 델타 양자화 파라미터들에서의 개별의 루마 델타 양자화 파라미터에 대응하는 상기 제 2 CU 의 상기 크로마 블록의 샘플들의 일부에 대응하는, 상기 복수의 가중치들을 결정하도록 구성되고,
상기 하나 이상의 프로세서들은,
상기 복수의 별개의 루마 델타 양자화 파라미터들을 가중된 방식으로 평균하는 것의 부분으로서, 상기 하나 이상의 프로세서들이 복수의 값들을 평균하도록 구성되고, 상기 복수의 값들에서의 각각의 개별 값은 상기 복수의 루마 델타 양자화 파라미터들에서의 개별의 루마 델타 양자화 파라미터 곱하기 상기 개별의 루마 델타 양자화 파라미터에 대응하는 상기 복수의 가중치들에서의 개별 가중치와 동일한, 비디오 데이터를 디코딩하기 위한 장치. - 제 29 항에 있어서,
상기 복수의 CU들은 제 1 복수의 CU들이고, 상기 제 1 복수의 CU들의 각각의 개별 CU 는 개별의 루마 코딩 블록에 대응하고 크로마 코딩 블록들에는 대응하지 않고, 상기 현재의 양자화 그룹은 제 1 양자화 그룹이고, 상기 양자화 파라미터는 루마 양자화 파라미터이고, 상기 임계는 제 1 임계이고, 상기 현재의 CU 는 제 1 CU 이며,
상기 하나 이상의 프로세서들은 또한,
상기 CTU 의 제 2 복수의 CU들로의 제 2 파티셔닝을 결정하는 것으로서, 상기 제 2 복수의 CU들의 각각의 개별 CU 는 개별의 크로마 코딩 블록에 대응하고 루마 코딩 블록들에는 대응하지 않고, 상기 CTU 의 제 2 파티셔닝은 상기 CTU 의 제 1 파티셔닝과 상이한 방식으로 상기 CTU 를 파티셔닝하는, 상기 제 2 파티셔닝을 결정하고;
상기 루마 양자화 파라미터에 기초하여, 크로마 양자화 파라미터를 도출하고;
상기 크로마 양자화 파라미터에 기초하여 제 2 CU 의 변환 계수를 역 양자화하는 것으로서, 상기 제 2 CU 는 상기 제 2 복수의 CU들에 있는, 상기 제 2 CU 의 변환 계수를 역 양자화하며; 그리고
상기 제 2 CU 의 역 양자화된 변환 계수들에 기초하여, 상기 제 2 CU 의 크로마 코딩 블록을 복원하도록 구성되는, 비디오 데이터를 디코딩하기 위한 장치. - 비디오 데이터를 인코딩하기 위한 장치로서,
상기 비디오 데이터를 저장하도록 구성된 하나 이상의 저장 매체들; 및
상기 비디오 데이터의 픽처의 코딩 트리 유닛 (CTU) 의 복수의 코딩 유닛 (CU)들로의 파티셔닝을 결정하는 것으로서, 상기 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함하는, 상기 파티셔닝을 결정하고;
양자화 파라미터에 기초하여 현재의 코딩 유닛 (CU) 의 적어도 하나의 변환 계수를 양자화하는 것으로서, 상기 현재의 CU 는 현재의 양자화 그룹에 있거나 또는 상기 현재의 양자화 그룹에서의 코딩 블록에 대응하고, 상기 현재의 양자화 그룹은, 상기 현재의 양자화 그룹의 경계들이 상기 CU들의 경계들이어야 하고 상기 현재의 양자화 그룹의 사이즈가 임계 이상이도록 상기 복수의 CU들에서, 코딩 순서에서 연속적인 CU들의 그룹으로서 정의되고, 상기 복수의 CU들 중 적어도 하나의 CU 는 비-정사각형 양자화 그룹에 포함되는, 상기 적어도 하나의 변환 계수를 양자화하고;
상기 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서, 상기 현재의 양자화 그룹에 대한 로컬 양자화 정보를 시그널링하는 것으로서, 상기 양자화 파라미터는 상기 현재의 양자화 그룹에 대한 상기 로컬 양자화 정보에 적어도 부분적으로 기초하여 도출 가능한, 상기 로컬 양자화 정보를 시그널링하며; 그리고
상기 비트스트림에서, 상기 현재의 CU 의 양자화된 상기 변환 계수를 나타내는 하나 이상의 신택스 엘리먼트들을 포함하도록
구성된 하나 이상의 프로세서들을 포함하는, 비디오 데이터를 인코딩하기 위한 장치. - 제 43 항에 있어서,
상기 현재의 양자화 그룹은 정사각형이 아닌, 비디오 데이터를 인코딩하기 위한 장치. - 제 43 항에 있어서,
상기 하나 이상의 프로세서들은 상기 비트스트림에서 상기 임계의 표시를 시그널링하도록 구성되는, 비디오 데이터를 인코딩하기 위한 장치. - 제 43 항에 있어서,
상기 하나 이상의 프로세서들은 또한, 상기 현재의 양자화 그룹에서의 CU들의 누산된 사이즈가 임계 이상이라는 것에 기초하여, 복수의 양자화 그룹들 중 다음의 양자화 그룹이 상기 CTU 의 다음의 CU 로 시작한다는 것을 결정하도록 구성되는, 비디오 데이터를 인코딩하기 위한 장치. - 제 43 항에 있어서,
상기 임계는 제 1 임계이고,
상기 하나 이상의 프로세서들은 또한, 상기 현재의 양자화 그룹의 누산된 사이즈가 상기 제 1 임계보다 크지 않은 경우에도, 제 2 임계 이상의 사이즈를 갖는 상기 CTU 의 각각의 CU 에 대해 새로운 양자화 그룹을 시작하도록 구성되는, 비디오 데이터를 인코딩하기 위한 장치. - 제 43 항에 있어서,
상기 현재의 양자화 그룹을 포함하는 복수의 양자화 그룹들의 각각의 개별 양자화 그룹에 대해, 상기 개별 양자화 그룹이 넌-제로 양자화된 계수들을 포함하는 경우, 로컬 양자화 정보의 최대 하나의 세트가 상기 개별 양자화 그룹에 대한 상기 비트스트림에서 시그널링되도록 허용되는, 비디오 데이터를 인코딩하기 위한 장치. - 제 43 항에 있어서,
상기 임계는 제 1 임계이고, 상기 현재의 양자화 그룹에 대한 로컬 양자화 정보의 세트는 상기 현재의 양자화 그룹에 대한 로컬 양자화 정보의 제 1 세트이고, 상기 양자화 파라미터는 제 1 양자화 파라미터이고, 상기 현재의 CU 는 제 1 CU 이며,
상기 하나 이상의 프로세서들은 또한,
상기 현재의 양자화 그룹이 제 2 임계보다 큰 사이즈를 갖는 제 2 CU 를 포함하는 것에 기초하여, 상기 비트스트림에서 상기 현재의 양자화 그룹에 대한 로컬 양자화 정보의 제 2 세트를 시그널링하고;
상기 현재의 양자화 그룹에 대한 로컬 양자화 정보의 상기 제 2 세트에 적어도 부분적으로 기초하여, 제 2 양자화 파라미터를 도출하며; 그리고
상기 제 2 양자화 파라미터에 기초하여, 상기 제 2 CU 의 적어도 하나의 변환 계수를 양자화하도록 구성되는, 비디오 데이터를 인코딩하기 위한 장치. - 제 43 항에 있어서,
상기 복수의 CU들은 제 1 복수의 CU들이고, 상기 제 1 복수의 CU들의 각각의 개별 CU 는 개별의 루마 코딩 블록에 대응하고 크로마 코딩 블록들에는 대응하지 않고, 상기 현재의 양자화 그룹은 제 1 양자화 그룹이고, 상기 양자화 파라미터는 루마 양자화 파라미터이고, 상기 임계는 제 1 임계이고, 상기 현재의 CU 는 제 1 CU 이며,
상기 하나 이상의 프로세서들은 또한,
상기 CTU 의 제 2 복수의 CU들로의 제 2 파티셔닝을 결정하는 것으로서, 상기 제 2 복수의 CU들의 각각의 개별 CU 는 개별의 크로마 코딩 블록에 대응하고 루마 코딩 블록들에는 대응하지 않고, 상기 CTU 의 제 2 파티셔닝은 상기 CTU 의 제 1 파티셔닝과 상이한 방식으로 상기 CTU 를 파티셔닝하는, 상기 제 2 파티셔닝을 결정하고;
크로마 양자화 파라미터에 기초하여 제 2 CU 의 적어도 하나의 변환 계수를 양자화하는 것으로서, 상기 제 2 CU 는 제 2 양자화 그룹에서의 CU들 중 하나인, 상기 제 2 CU 의 적어도 하나의 변환 계수를 양자화하고;
상기 비트스트림에서 상기 제 2 양자화 그룹에 대한 로컬 양자화 정보를 시그널링하는 것으로서, 상기 크로마 양자화 파라미터는 상기 제 2 양자화 그룹에 대한 상기 로컬 양자화 정보에 적어도 부분적으로 기초하여 도출 가능한, 상기 제 2 양자화 그룹에 대한 로컬 양자화 정보를 시그널링하며; 그리고
상기 비트스트림에서 상기 제 2 CU 의 양자화된 상기 변환 계수를 나타내는 하나 이상의 신택스 엘리먼트들을 포함하도록 구성되는, 비디오 데이터를 인코딩하기 위한 장치. - 제 43 항에 있어서,
상기 복수의 CU들은 제 1 복수의 CU들이고, 상기 제 1 복수의 CU들의 각각의 개별 CU 는 개별의 루마 코딩 블록에 대응하고 크로마 코딩 블록들에는 대응하지 않고, 상기 양자화 파라미터는 루마 양자화 파라미터이고, 상기 현재의 양자화 그룹은 제 1 양자화 그룹이며, 상기 현재의 CU 는 제 1 CU 이고,
루마 델타 양자화 파라미터는 상기 제 1 양자화 그룹에 대한 상기 로컬 양자화 정보로부터 도출 가능하고,
상기 루마 양자화 파라미터는 상기 루마 델타 양자화 파라미터 플러스 예측된 루마 양자화 파라미터에 기초하고,
상기 하나 이상의 프로세서들은 또한,
상기 CTU 의 제 2 복수의 CU들로의 제 2 파티셔닝을 결정하는 것으로서, 상기 제 2 복수의 CU들의 각각의 개별 CU 는 개별의 크로마 코딩 블록에 대응하고 루마 코딩 블록들에는 대응하지 않고, 상기 CTU 의 제 2 파티셔닝은 상기 CTU 의 제 1 파티셔닝과 상이한 방식으로 상기 CTU 를 파티셔닝하는, 상기 제 2 파티셔닝을 결정하고;
상기 루마 델타 양자화 파라미터로부터 크로마 델타 양자화 파라미터를 도출하고;
상기 크로마 델타 양자화 파라미터를 예측된 크로마 양자화 파라미터에 가산하여 크로마 양자화 파라미터를 도출하고;
상기 크로마 양자화 파라미터에 기초하여, 제 2 CU 의 변환 계수를 양자화하는 것으로서, 상기 제 2 CU 는 상기 제 2 복수의 CU들에 있는, 상기 제 2 CU 의 변환 계수를 양자화하며; 그리고
상기 비트스트림에서 상기 제 2 CU 의 양자화된 상기 변환 계수를 나타내는 하나 이상의 신택스 엘리먼트들을 포함하도록 구성되는, 비디오 데이터를 인코딩하기 위한 장치. - 제 51 항에 있어서,
상기 하나 이상의 프로세서들은,
상기 크로마 델타 양자화 파라미터를 도출하는 것의 부분으로서, 상기 하나 이상의 프로세서들이,
상기 제 2 CU 의 크로마 코딩 블록의 상부 좌측 크로마 샘플과 같은 미리정의된 또는 시그널링된 크로마 포지션에 대응하는 루마 샘플을 결정하며; 그리고
상기 크로마 델타 양자화 파라미터가 상기 루마 델타 양자화 파라미터와 동일하도록 상기 크로마 델타 양자화 파라미터를 도출하는 것으로서, 상기 루마 델타 양자화 파라미터는 결정된 상기 루마 샘플과 연관되는, 상기 크로마 델타 양자화 파라미터를 도출하도록
구성되는, 비디오 데이터를 인코딩하기 위한 장치. - 제 51 항에 있어서,
상기 루마 델타 양자화 파라미터는 제 1 루마 델타 양자화 파라미터이고,
상기 하나 이상의 프로세서들은,
상기 크로마 델타 양자화 파라미터를 도출하는 것의 부분으로서, 상기 하나 이상의 프로세서들이,
상기 제 2 CU 의 크로마 블록의 샘플들에 대응하는 루마 샘플들에 대한 모든 별개의 루마 델타 양자화 파라미터들을 식별하는 것으로서, 식별된 상기 루마 델타 양자화 파라미터들은 상기 제 1 루마 델타 양자화 파라미터를 포함하는, 상기 루마 델타 양자화 파라미터들을 식별하며; 그리고
식별된 상기 별개의 루마 델타 양자화 파라미터들을 평균하여 상기 크로마 델타 양자화 파라미터를 도출하도록
구성되는, 비디오 데이터를 인코딩하기 위한 장치. - 제 51 항에 있어서,
상기 루마 델타 양자화 파라미터는 제 1 루마 델타 양자화 파라미터이고,
상기 하나 이상의 프로세서들은,
상기 크로마 델타 양자화 파라미터를 도출하는 것의 부분으로서, 상기 하나 이상의 프로세서들이,
복수의 별개의 루마 델타 양자화 파라미터들을 식별하는 것으로서, 상기 복수의 별개의 루마 델타 양자화 파라미터들은 상기 제 2 CU 의 크로마 블록의 샘플들에 대응하는 루마 샘플들에 대한 각각의 별개의 루마 델타 양자화 파라미터를 포함하고, 상기 복수의 별개의 루마 델타 양자화 파라미터들은 상기 제 1 루마 델타 양자화 파라미터를 포함하는, 상기 루마 델타 양자화 파라미터들을 식별하며; 그리고
상기 크로마 델타 양자화 파라미터를 도출하도록 상기 복수의 별개의 루마 델타 양자화 파라미터들을 가중된 방식으로 평균하도록 구성되는, 비디오 데이터를 인코딩하기 위한 장치. - 제 54 항에 있어서,
상기 하나 이상의 프로세서들은 또한,
복수의 가중치들을 결정하는 것으로서, 상기 복수의 가중치들의 각각의 개별 가중치에 대해, 상기 개별 가중치는 상기 복수의 별개의 루마 델타 양자화 파라미터들에서의 개별의 루마 델타 양자화 파라미터에 대응하는 상기 제 2 CU 의 상기 크로마 블록의 샘플들의 일부에 대응하는, 상기 복수의 가중치들을 결정하도록 구성되고,
상기 하나 이상의 프로세서들은,
상기 복수의 별개의 루마 델타 양자화 파라미터들을 가중된 방식으로 평균하는 것의 부분으로서, 상기 하나 이상의 프로세서들이,
복수의 값들을 평균하도록 구성되고, 상기 복수의 값들에서의 각각의 개별 값은 상기 복수의 루마 델타 양자화 파라미터들에서의 개별의 루마 델타 양자화 파라미터 곱하기 상기 개별의 루마 델타 양자화 파라미터에 대응하는 상기 복수의 가중치들에서의 개별 가중치와 동일한, 비디오 데이터를 인코딩하기 위한 장치. - 제 43 항에 있어서,
상기 복수의 CU들은 제 1 복수의 CU들이고, 상기 제 1 복수의 CU들의 각각의 개별 CU 는 개별의 루마 코딩 블록에 대응하고 크로마 코딩 블록들에는 대응하지 않고, 상기 현재의 양자화 그룹은 제 1 양자화 그룹이고, 상기 양자화 파라미터는 루마 양자화 파라미터이고, 상기 임계는 제 1 임계이고, 상기 현재의 CU 는 제 1 CU 이며,
상기 하나 이상의 프로세서들은 또한,
상기 CTU 의 제 2 복수의 CU들로의 제 2 파티셔닝을 결정하는 것으로서, 상기 제 2 복수의 CU들의 각각의 개별 CU 는 개별의 크로마 코딩 블록에 대응하고 루마 코딩 블록들에는 대응하지 않고, 상기 CTU 의 제 2 파티셔닝은 상기 CTU 의 제 1 파티셔닝과 상이한 방식으로 상기 CTU 를 파티셔닝하는, 상기 제 2 파티셔닝을 결정하고;
상기 루마 양자화 파라미터에 기초하여, 크로마 양자화 파라미터를 도출하고;
상기 크로마 양자화 파라미터에 기초하여 제 2 CU 의 변환 계수를 양자화하는 것으로서, 상기 제 2 CU 는 상기 제 2 복수의 CU들에 있는, 상기 제 2 CU 의 변환 계수를 양자화하며; 그리고
상기 비트스트림에서 상기 제 2 CU 의 양자화된 상기 변환 계수를 나타내는 하나 이상의 신택스 엘리먼트들을 포함하도록 구성되는, 비디오 데이터를 인코딩하기 위한 장치. - 비디오 데이터를 디코딩하기 위한 장치로서,
상기 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서, 현재의 양자화 그룹에 대한 로컬 양자화 정보를 수신하기 위한 수단;
상기 비디오 데이터의 픽처의 코딩 트리 유닛 (CTU) 의 복수의 코딩 유닛 (CU)들로의 파티셔닝을 결정하기 위한 수단으로서, 상기 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함하는, 상기 파티셔닝을 결정하기 위한 수단;
상기 현재의 양자화 그룹에 대한 상기 로컬 양자화 정보에 적어도 부분적으로 기초하여, 양자화 파라미터를 도출하기 위한 수단으로서, 상기 현재의 양자화 그룹은, 상기 현재의 양자화 그룹의 경계들이 상기 CU들의 경계들이어야 하고 상기 현재의 양자화 그룹의 사이즈가 임계 이상이도록 코딩 순서에서, 연속적인 CU들 또는 코딩 블록들의 그룹으로서 정의되고, 상기 복수의 CU들 중 적어도 하나의 CU 는 비-정사각형 양자화 그룹에 포함되는, 상기 양자화 파라미터를 도출하기 위한 수단;
상기 양자화 파라미터에 기초하여, 현재의 CU 의 적어도 하나의 변환 계수를 역 양자화하기 위한 수단으로서, 상기 현재의 CU 는 상기 현재의 양자화 그룹에서의 CU들 중 하나인, 상기 적어도 하나의 변환 계수를 역 양자화하기 위한 수단; 및
상기 현재의 CU 의 역 양자화된 변환 계수들에 기초하여, 상기 현재의 CU 의 코딩 블록을 복원하기 위한 수단을 포함하는, 비디오 데이터를 디코딩하기 위한 장치. - 비디오 데이터를 인코딩하기 위한 장치로서,
상기 비디오 데이터의 픽처의 코딩 트리 유닛 (CTU) 의 복수의 코딩 유닛 (CU)들로의 파티셔닝을 결정하기 위한 수단으로서, 상기 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함하는, 상기 파티셔닝을 결정하기 위한 수단;
양자화 파라미터에 기초하여 현재의 코딩 유닛 (CU) 의 적어도 하나의 변환 계수를 양자화하기 위한 수단으로서, 상기 현재의 CU 는 현재의 양자화 그룹에 있거나 또는 상기 현재의 양자화 그룹에서의 코딩 블록에 대응하고, 상기 현재의 양자화 그룹은, 상기 현재의 양자화 그룹의 경계들이 상기 CU들의 경계들이어야 하고 상기 현재의 양자화 그룹의 사이즈가 임계 이상이도록 상기 복수의 CU들에서, 코딩 순서에서 연속적인 CU들의 그룹으로서 정의되고, 상기 복수의 CU들 중 적어도 하나의 CU 는 비-정사각형 양자화 그룹에 포함되는, 상기 적어도 하나의 변환 계수를 양자화하기 위한 수단;
상기 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서, 상기 현재의 양자화 그룹에 대한 로컬 양자화 정보를 시그널링하기 위한 수단으로서, 상기 양자화 파라미터는 상기 현재의 양자화 그룹에 대한 상기 로컬 양자화 정보에 적어도 부분적으로 기초하여 도출 가능한, 상기 로컬 양자화 정보를 시그널링하기 위한 수단; 및
상기 비트스트림에서, 상기 현재의 CU 의 양자화된 상기 변환 계수를 나타내는 하나 이상의 신택스 엘리먼트들을 포함하기 위한 수단을 포함하는, 비디오 데이터를 인코딩하기 위한 장치. - 명령들을 저장한 컴퓨터 판독가능 저장 매체로서,
상기 명령들은, 실행되는 경우, 하나 이상의 프로세서들로 하여금,
비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서 현재의 양자화 그룹에 대한 로컬 양자화 정보를 수신하게 하고;
상기 비디오 데이터의 픽처의 코딩 트리 유닛 (CTU) 의 복수의 코딩 유닛 (CU)들로의 파티셔닝을 결정하게 하는 것으로서, 상기 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함하는, 상기 파티셔닝을 결정하게 하고;
상기 현재의 양자화 그룹에 대한 상기 로컬 양자화 정보에 적어도 부분적으로 기초하여, 양자화 파라미터를 도출하게 하는 것으로서, 상기 현재의 양자화 그룹은 상기 현재의 양자화 그룹의 경계들이 상기 CU들의 경계들이어야 하고 상기 현재의 양자화 그룹의 사이즈가 임계 이상이도록 상기 복수의 CU들에서, 코딩 순서에서 연속적인 CU들의 그룹으로서 정의되고, 상기 복수의 CU들 중 적어도 하나의 CU 는 비-정사각형 양자화 그룹에 포함되는, 상기 양자화 파라미터를 도출하게 하고;
상기 양자화 파라미터에 기초하여, 현재의 CU 의 적어도 하나의 변환 계수를 역 양자화하게 하는 것으로서, 상기 현재의 CU 는 상기 현재의 양자화 그룹에서의 CU들 중 하나인, 상기 적어도 하나의 변환 계수를 역 양자화하게 하며; 그리고
상기 현재의 CU 의 역 양자화된 변환 계수들에 기초하여, 상기 현재의 CU 의 코딩 블록을 복원하게 하는, 컴퓨터 판독가능 저장 매체. - 명령들을 저장한 컴퓨터 판독가능 저장 매체로서,
상기 명령들은, 실행되는 경우, 하나 이상의 프로세서들로 하여금,
비디오 데이터의 픽처의 코딩 트리 유닛 (CTU) 의 복수의 코딩 유닛 (CU)들로의 파티셔닝을 결정하게 하는 것으로서, 상기 복수의 CU들은 하나 이상의 비-정사각형 CU들을 포함하는, 상기 파티셔닝을 결정하게 하고;
양자화 파라미터에 기초하여 현재의 코딩 유닛 (CU) 의 적어도 하나의 변환 계수를 양자화하게 하는 것으로서, 상기 현재의 CU 는 현재의 양자화 그룹에 있거나 또는 상기 현재의 양자화 그룹에서의 코딩 블록에 대응하고, 상기 현재의 양자화 그룹은, 상기 현재의 양자화 그룹의 경계들이 상기 CU들의 경계들이어야 하고 상기 현재의 양자화 그룹의 사이즈가 임계 이상이도록 상기 복수의 CU들에서, 코딩 순서에서 연속적인 CU들의 그룹으로서 정의되고, 상기 복수의 CU들 중 적어도 하나의 CU 는 비-정사각형 양자화 그룹에 포함되는, 상기 적어도 하나의 변환 계수를 양자화하게 하고;
상기 비디오 데이터의 인코딩된 표현을 포함하는 비트스트림에서, 상기 현재의 양자화 그룹에 대한 로컬 양자화 정보를 시그널링하게 하는 것으로서, 상기 양자화 파라미터는 상기 현재의 양자화 그룹에 대한 상기 로컬 양자화 정보에 적어도 부분적으로 기초하여 도출 가능한, 상기 로컬 양자화 정보를 시그널링하게 하며; 그리고
상기 비트스트림에서, 상기 현재의 CU 의 양자화된 상기 변환 계수를 나타내는 하나 이상의 신택스 엘리먼트들을 포함하게 하는, 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662363000P | 2016-07-15 | 2016-07-15 | |
US62/363,000 | 2016-07-15 | ||
US15/646,959 US10448056B2 (en) | 2016-07-15 | 2017-07-11 | Signaling of quantization information in non-quadtree-only partitioned video coding |
US15/646,959 | 2017-07-11 | ||
PCT/US2017/041739 WO2018013706A1 (en) | 2016-07-15 | 2017-07-12 | Signaling of quantization information in non-quadtree-only partitioned video coding |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190022629A true KR20190022629A (ko) | 2019-03-06 |
Family
ID=60941459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197000938A KR20190022629A (ko) | 2016-07-15 | 2017-07-12 | 비-쿼드트리-단독 파티셔닝된 비디오 코딩에서 양자화 정보의 시그널링 |
Country Status (9)
Country | Link |
---|---|
US (1) | US10448056B2 (ko) |
EP (1) | EP3485644B1 (ko) |
JP (1) | JP2019525585A (ko) |
KR (1) | KR20190022629A (ko) |
CN (1) | CN109479140B (ko) |
BR (1) | BR112019000319A2 (ko) |
CA (1) | CA3026657A1 (ko) |
TW (1) | TW201804806A (ko) |
WO (1) | WO2018013706A1 (ko) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020231228A1 (ko) * | 2019-05-15 | 2020-11-19 | 현대자동차주식회사 | 영상 복호화 장치에서 이용하는 역양자화장치 및 방법 |
WO2020262913A1 (ko) * | 2019-06-28 | 2020-12-30 | 엘지전자 주식회사 | 크로마 양자화 파라미터 데이터에 대한 영상 디코딩 방법 및 그 장치 |
WO2021034115A1 (ko) * | 2019-08-22 | 2021-02-25 | 엘지전자 주식회사 | 크로마 양자화 파라미터 오프셋 관련 정보를 코딩하는 영상 디코딩 방법 및 그 장치 |
WO2021034116A1 (ko) * | 2019-08-22 | 2021-02-25 | 엘지전자 주식회사 | 크로마 양자화 파라미터를 사용하는 영상 디코딩 방법 및 그 장치 |
US12003727B2 (en) | 2019-06-28 | 2024-06-04 | Lg Electronics Inc. | Image decoding method using chroma quantization parameter table, and device therefor |
US12010311B2 (en) | 2019-06-28 | 2024-06-11 | Lg Electronics Inc. | Method for decoding image and apparatus therefor |
US12075050B2 (en) | 2019-08-22 | 2024-08-27 | Lg Electronics Inc. | Image decoding method and device therefor |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11039175B2 (en) * | 2016-05-27 | 2021-06-15 | Sharp Kabushiki Kaisha | Systems and methods for varying quantization parameters |
EP3453172B1 (en) * | 2016-05-28 | 2023-08-09 | HFI Innovation Inc. | Methods and apparatuses of video data processing with conditionally quantization parameter information signaling |
CN109479131B (zh) * | 2016-06-24 | 2023-09-01 | 世宗大学校产学协力团 | 视频信号处理方法及装置 |
CN113453000B (zh) | 2016-07-22 | 2024-01-12 | 夏普株式会社 | 使用自适应分量缩放对视频数据进行编码的系统和方法 |
WO2018018486A1 (en) * | 2016-07-28 | 2018-02-01 | Mediatek Inc. | Methods of reference quantization parameter derivation for signaling of quantization parameter in quad-tree plus binary tree structure |
GB2557430B (en) * | 2016-10-12 | 2020-01-15 | Mediatek Inc | Methods and apparatuses of constrained multi-type-tree block partition for video coding |
US10779004B2 (en) | 2016-10-12 | 2020-09-15 | Mediatek Inc. | Methods and apparatuses of constrained multi-type-tree block partition for video coding |
US11019339B2 (en) * | 2017-07-12 | 2021-05-25 | Futurewei Technologies, Inc. | Fractional quantization parameter offset in video compression |
US10706492B2 (en) * | 2017-09-05 | 2020-07-07 | Texas Instruments Incorporated | Image compression/decompression in a computer vision system |
EP3737098A4 (en) * | 2018-01-02 | 2021-06-09 | Samsung Electronics Co., Ltd. | CODING PROCESS AND ASSOCIATED APPARATUS, AND DECODING PROCESS AND ASSOCIATED APPARATUS |
WO2019151257A1 (en) * | 2018-01-30 | 2019-08-08 | Sharp Kabushiki Kaisha | Systems and methods for deriving quantization parameters for video blocks in video coding |
GB2571313B (en) | 2018-02-23 | 2022-09-21 | Canon Kk | New sample sets and new down-sampling schemes for linear component sample prediction |
US10694195B2 (en) * | 2018-03-07 | 2020-06-23 | Tencent America LLC | Methods and apparatus for palette coding |
CN111819857B (zh) * | 2018-03-14 | 2024-08-23 | 联发科技股份有限公司 | 用于视频编解码的优化分割结构的方法和装置 |
US11909974B2 (en) * | 2018-03-30 | 2024-02-20 | Interdigital Vc Holdings, Inc. | Chroma quantization parameter adjustment in video encoding and decoding |
EP4283989A1 (en) * | 2018-04-01 | 2023-11-29 | LG Electronics Inc. | An image coding apparatus and method thereof based on a quantization parameter derivation |
CN111919446B (zh) * | 2018-04-02 | 2022-10-28 | 夏普株式会社 | 解码视频图片中的当前视频块的方法 |
US10491897B2 (en) | 2018-04-13 | 2019-11-26 | Google Llc | Spatially adaptive quantization-aware deblocking filter |
CN112189341A (zh) * | 2018-04-16 | 2021-01-05 | 交互数字Vc控股公司 | 用于视频编码和解码的量化参数预测 |
JP2021523627A (ja) * | 2018-05-10 | 2021-09-02 | サムスン エレクトロニクス カンパニー リミテッド | 映像の符号化及び復号のための映像の分割方法及びその装置 |
US10645396B2 (en) * | 2018-06-04 | 2020-05-05 | Tencent America LLC | Method and apparatus for implicit transform splitting |
EP3804309A1 (en) * | 2018-06-07 | 2021-04-14 | InterDigital VC Holdings, Inc. | Syntax elements for video encoding or decoding |
US11277612B2 (en) | 2018-06-25 | 2022-03-15 | Electronics And Telecommunications Research Institute | Method and apparatus for encoding/decoding image using quantization parameter, and recording medium storing bitstream |
TW202007164A (zh) * | 2018-07-15 | 2020-02-01 | 大陸商北京字節跳動網絡技術有限公司 | 跨分量運動資訊匯出 |
BR112021000817A2 (pt) * | 2018-07-17 | 2021-04-13 | Huawei Technologies Co., Ltd. | Árvore de codificação limitada para codificação de vídeo |
EP3831061A4 (en) | 2018-08-16 | 2022-06-15 | HFI Innovation Inc. | METHODS AND APPARATUS FOR REPORTING QUANTIFICATION PARAMETERS IN A VIDEO PROCESSING SYSTEM |
CN110858900B (zh) * | 2018-08-24 | 2022-08-05 | 上海天荷电子信息有限公司 | 复用精简反量化乘法因子和位移表的数据压缩方法和装置 |
KR102534160B1 (ko) * | 2018-09-02 | 2023-05-26 | 엘지전자 주식회사 | 다중 변환 선택에 기반한 영상 코딩 방법 및 그 장치 |
CN118175342A (zh) * | 2018-09-05 | 2024-06-11 | 华为技术有限公司 | 视频解码方法及视频解码器 |
WO2020057530A1 (en) * | 2018-09-18 | 2020-03-26 | Huawei Technologies Co., Ltd. | Coding method, device, system |
SG11202101799WA (en) * | 2018-09-21 | 2021-03-30 | Huawei Tech Co Ltd | Apparatus and method for inverse quantization |
JP2022502981A (ja) * | 2018-09-24 | 2022-01-11 | インターデイジタル ヴィーシー ホールディングス インコーポレイテッド | 輝度および彩度に対して別々のコーディングツリーを使用する場合の彩度量子化パラメータを決定するための方法および装置 |
EP3641312A1 (en) * | 2018-10-18 | 2020-04-22 | InterDigital VC Holdings, Inc. | Method and apparatus for determining chroma quantization parameters when using separate coding trees for luma and chroma |
US10638146B2 (en) * | 2018-10-01 | 2020-04-28 | Tencent America LLC | Techniques for QP coding for 360 image and video coding |
JP6997339B2 (ja) * | 2018-10-22 | 2022-01-17 | 日本放送協会 | 符号化装置、復号装置、及びプログラム |
CN118233633A (zh) * | 2018-11-08 | 2024-06-21 | 交互数字Vc控股公司 | 基于块的表面的视频编码或解码的量化 |
WO2020111981A1 (en) | 2018-11-26 | 2020-06-04 | Huawei Technologies Co., Ltd. | Apparatus and method for chrominance quantization parameter derivation |
CN113557746B (zh) * | 2019-03-12 | 2024-07-05 | 北京字节跳动网络技术有限公司 | 视频编解码中的复合三叉树 |
US11843791B2 (en) | 2019-05-03 | 2023-12-12 | Interdigital Madison Patent Holdings, Sas | Chroma processing for video encoding and decoding |
CN113841403A (zh) * | 2019-05-15 | 2021-12-24 | 现代自动车株式会社 | 影像解码装置中使用的逆量化装置和方法 |
EP3979640A4 (en) * | 2019-05-28 | 2023-05-31 | Samsung Electronics Co., Ltd. | VIDEO CODING METHOD AND APPARATUS AND VIDEO DECODING METHOD AND APPARATUS FOR PREVENTING SMALL SIZE INTRABLOCK |
WO2020251254A1 (ko) * | 2019-06-10 | 2020-12-17 | 주식회사 엑스리스 | 영상 신호 부호화/복호화 방법 및 이를 위한 장치 |
US12058325B2 (en) * | 2019-06-23 | 2024-08-06 | Sharp Kabushiki Kaisha | Systems and methods for deriving quantization parameters for video blocks in video coding |
US11418787B2 (en) * | 2019-06-28 | 2022-08-16 | Qualcomm Incorporated | Chroma delta QP in video coding |
US11381819B2 (en) | 2019-07-05 | 2022-07-05 | Qualcomm Incorporated | Chroma delta quantization parameter (QP) in video coding |
US20210058620A1 (en) * | 2019-08-23 | 2021-02-25 | Qualcomm Incorporated | Chroma quantization parameter (qp) derivation for video coding |
AU2019232797A1 (en) * | 2019-09-17 | 2021-04-01 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a block of video samples |
US11558616B2 (en) * | 2020-03-05 | 2023-01-17 | Qualcomm Incorporated | Methods for quantization parameter control for video coding with joined pixel/transform based quantization |
CN116746148A (zh) * | 2020-11-18 | 2023-09-12 | 北京达佳互联信息技术有限公司 | 用于视频编解码的残差和系数编解码 |
US11770535B2 (en) * | 2021-02-19 | 2023-09-26 | Samsung Display Co., Ltd. | Systems and methods for joint color channel entropy encoding with positive reconstruction error |
JP2023155630A (ja) * | 2022-04-11 | 2023-10-23 | シャープ株式会社 | 動画像符号化装置、動画像復号装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2430836B1 (en) * | 2009-05-16 | 2016-08-17 | Thomson Licensing | Methods and apparatus for improved quantization rounding offset adjustment for video encoding |
US20120189052A1 (en) * | 2011-01-24 | 2012-07-26 | Qualcomm Incorporated | Signaling quantization parameter changes for coded units in high efficiency video coding (hevc) |
KR101943049B1 (ko) * | 2011-06-30 | 2019-01-29 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 방법 및 장치 |
US9161046B2 (en) * | 2011-10-25 | 2015-10-13 | Qualcomm Incorporated | Determining quantization parameters for deblocking filtering for video coding |
KR101965388B1 (ko) * | 2011-11-04 | 2019-04-04 | 주식회사 골드피크이노베이션즈 | 양자화 계수 부/복호화 방법 및 이러한 방법을 사용하는 장치 |
TWI638564B (zh) * | 2011-12-21 | 2018-10-11 | Jvc建伍股份有限公司 | Dynamic image decoding device, dynamic image decoding method, and recording medium recorded with dynamic image decoding program |
JP6064580B2 (ja) * | 2011-12-21 | 2017-01-25 | 株式会社Jvcケンウッド | 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに送信装置、送信方法及び送信プログラム |
US9538174B2 (en) * | 2012-08-10 | 2017-01-03 | Mediatek Inc. | Method and apparatus for inverse scan of transform coefficients in HEVC |
US9860558B2 (en) * | 2012-09-28 | 2018-01-02 | Intel Corporation | Inter-layer intra mode prediction |
US9294766B2 (en) * | 2013-09-09 | 2016-03-22 | Apple Inc. | Chroma quantization in video coding |
KR101737861B1 (ko) * | 2014-01-20 | 2017-05-19 | 한국전자통신연구원 | 변환 깊이 기반 dct 사이즈 결정 장치 및 방법 |
US10136141B2 (en) * | 2014-06-11 | 2018-11-20 | Qualcomm Incorporated | Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding |
WO2016090568A1 (en) | 2014-12-10 | 2016-06-16 | Mediatek Singapore Pte. Ltd. | Binary tree block partitioning structure |
US10212444B2 (en) | 2016-01-15 | 2019-02-19 | Qualcomm Incorporated | Multi-type-tree framework for video coding |
-
2017
- 2017-07-11 US US15/646,959 patent/US10448056B2/en active Active
- 2017-07-12 JP JP2019501618A patent/JP2019525585A/ja active Pending
- 2017-07-12 EP EP17743154.1A patent/EP3485644B1/en not_active Not-in-force
- 2017-07-12 CA CA3026657A patent/CA3026657A1/en not_active Abandoned
- 2017-07-12 BR BR112019000319-3A patent/BR112019000319A2/pt not_active IP Right Cessation
- 2017-07-12 CN CN201780042867.5A patent/CN109479140B/zh active Active
- 2017-07-12 TW TW106123377A patent/TW201804806A/zh unknown
- 2017-07-12 KR KR1020197000938A patent/KR20190022629A/ko not_active Application Discontinuation
- 2017-07-12 WO PCT/US2017/041739 patent/WO2018013706A1/en unknown
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020231228A1 (ko) * | 2019-05-15 | 2020-11-19 | 현대자동차주식회사 | 영상 복호화 장치에서 이용하는 역양자화장치 및 방법 |
WO2020262913A1 (ko) * | 2019-06-28 | 2020-12-30 | 엘지전자 주식회사 | 크로마 양자화 파라미터 데이터에 대한 영상 디코딩 방법 및 그 장치 |
US12003727B2 (en) | 2019-06-28 | 2024-06-04 | Lg Electronics Inc. | Image decoding method using chroma quantization parameter table, and device therefor |
US12010311B2 (en) | 2019-06-28 | 2024-06-11 | Lg Electronics Inc. | Method for decoding image and apparatus therefor |
US12015792B2 (en) | 2019-06-28 | 2024-06-18 | Lg Electronics Inc. | Image decoding method for chroma quantization parameter data and apparatus therefor |
WO2021034115A1 (ko) * | 2019-08-22 | 2021-02-25 | 엘지전자 주식회사 | 크로마 양자화 파라미터 오프셋 관련 정보를 코딩하는 영상 디코딩 방법 및 그 장치 |
WO2021034116A1 (ko) * | 2019-08-22 | 2021-02-25 | 엘지전자 주식회사 | 크로마 양자화 파라미터를 사용하는 영상 디코딩 방법 및 그 장치 |
US12075050B2 (en) | 2019-08-22 | 2024-08-27 | Lg Electronics Inc. | Image decoding method and device therefor |
US12088806B2 (en) | 2019-08-22 | 2024-09-10 | Lg Electronics Inc. | Image decoding method and device for coding chroma quantization parameter offset-related information |
Also Published As
Publication number | Publication date |
---|---|
WO2018013706A1 (en) | 2018-01-18 |
EP3485644B1 (en) | 2020-08-19 |
BR112019000319A2 (pt) | 2019-04-16 |
CN109479140B (zh) | 2023-03-10 |
CA3026657A1 (en) | 2018-01-18 |
EP3485644A1 (en) | 2019-05-22 |
TW201804806A (zh) | 2018-02-01 |
CN109479140A (zh) | 2019-03-15 |
US10448056B2 (en) | 2019-10-15 |
US20180020241A1 (en) | 2018-01-18 |
JP2019525585A (ja) | 2019-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10448056B2 (en) | Signaling of quantization information in non-quadtree-only partitioned video coding | |
US10506246B2 (en) | Multi-type-tree framework for video coding | |
KR102292788B1 (ko) | 비디오 코딩을 위한 다중-유형-트리 프레임워크 | |
KR102546382B1 (ko) | 비디오 코딩을 위한 가변 수의 인트라 모드들 | |
US20180199062A1 (en) | Intra prediction techniques for video coding | |
KR101854893B1 (ko) | 비디오 코딩에서 4:2:2 샘플 포맷에 대한 인트라 코딩 | |
KR20180056687A (ko) | 팔레트 모드 비디오 코딩에서의 이스케이프 픽셀 시그널링된 값들의 제한 | |
JP2018507616A (ja) | 予測ユニットの柔軟な区分化 | |
KR20160078493A (ko) | 비디오 코딩을 위한 칼라 레지듀얼 예측 | |
TW201611578A (zh) | 區塊可適性顏色空間轉換寫碼 | |
KR20180020167A (ko) | 하이브리드 회귀 필터들을 이용한 비디오 인트라 예측 | |
KR20150065838A (ko) | 비디오 특성들의 표시 | |
US10972758B2 (en) | Multi-type-tree framework for transform in video coding | |
TW202127887A (zh) | 視訊解碼中用於聯合色度殘差模式的量化參數訊號傳遞 | |
US20190306506A1 (en) | Limitation on the coding tree unit/block for next-generation video coding | |
RU2785816C2 (ru) | Комбинация позиционно-зависимого интра-предсказания, расширенная угловыми режимами |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |