KR20200128587A - 비디오 인코딩 및 디코딩에서의 크로마 양자화 파라미터 조정 - Google Patents

비디오 인코딩 및 디코딩에서의 크로마 양자화 파라미터 조정 Download PDF

Info

Publication number
KR20200128587A
KR20200128587A KR1020207030920A KR20207030920A KR20200128587A KR 20200128587 A KR20200128587 A KR 20200128587A KR 1020207030920 A KR1020207030920 A KR 1020207030920A KR 20207030920 A KR20207030920 A KR 20207030920A KR 20200128587 A KR20200128587 A KR 20200128587A
Authority
KR
South Korea
Prior art keywords
chroma
chroma quantization
image
quantization parameter
block
Prior art date
Application number
KR1020207030920A
Other languages
English (en)
Inventor
파브리스 레레아넥
프랑크 갈팽
탕이 프와레
에두아르 프랑수아
Original Assignee
인터디지털 브이씨 홀딩스 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from EP18305848.6A external-priority patent/EP3591971A1/en
Application filed by 인터디지털 브이씨 홀딩스 인코포레이티드 filed Critical 인터디지털 브이씨 홀딩스 인코포레이티드
Publication of KR20200128587A publication Critical patent/KR20200128587A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/96Tree 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

적어도 하나의 실시예에서, 양자화 파라미터는 크로마 성분들과 루마 성분 사이의 추가 품질 개선을 트레이드 오프하는 방식으로 조정된다. 할당은 인코딩 성능 레벨에 기초하고, 코딩 및 디코딩에 이용되는 코딩 도구들과는 독립적으로 이루어진다. 이것은 복수의 파라미터 중에서 선택된 크로마 양자화 파라미터들의 세트를 이용하여 수행되고, 하이 레벨 신택스 파라미터들을 이용하여 신호 내에서 시그널링된다.

Description

비디오 인코딩 및 디코딩에서의 크로마 양자화 파라미터 조정
본 실시예들 중 적어도 하나는 일반적으로 비디오 인코딩 또는 디코딩에 관한 것이다. 적어도 하나의 실시예는, 특히, 비디오 인코딩 또는 디코딩에서 크로마 양자화 파라미터들(chroma quantization parameters)을 조정하기 위한 방법, 장치 및 신호에 관한 것이다.
높은 압축 효율을 달성하기 위해, 이미지 및 비디오 코딩 방안들은 비디오 콘텐츠에서의 공간적 및 시간적 중복성(spatial and temporal redundancy)을 레버리지(leverage)하기 위해 통상적으로 예측(prediction) 및 변환(transform)을 이용한다. 일반적으로, 인트라(intra) 또는 인터(inter) 예측이 인트라 또는 인터 프레임 상관(frame correlation)을 이용하는데 이용되고, 이어서, 종종 예측 에러들(prediction errors) 또는 예측 잔차들(prediction residuals)로서 표시되는, 원래 블록(original block)과 예측된 블록(predicted block) 간의 차이들이 변환되고, 양자화되고, 엔트로피 코딩(entropy coding)된다. 비디오를 재구성하기 위해, 엔트로피 코딩, 양자화, 변환 및 예측에 대응하는 역 프로세스들(inverse processes)에 의해 압축 데이터(compressed data)가 디코딩된다.
적어도 하나의 실시예의 제1 양태에 따르면, 비디오 데이터를 인코딩하기 위한 방법으로서, 이미지의 블록에 대해, 인코딩 성능 레벨에 기초하여 크로마 양자화 파라미터들의 다수의 세트들 중에서 적어도 하나의 크로마 양자화 파라미터를 선택하는 단계―크로마 양자화 파라미터들의 세트들은 이미지가 모션 예측되는지의 여부에 따라 상이함―; 적어도 하나의 선택된 크로마 양자화 파라미터에 기초하여 상기 블록을 인코딩하는 단계―상기 인코딩은 상기 적어도 하나의 선택된 크로마 양자화 파라미터에 따라 상기 블록의 크로마 값들을 양자화하는 것을 포함함―; 및 적어도 상기 인코딩된 블록 및 상기 적어도 하나의 선택된 크로마 양자화 파라미터를 나타내는 메타데이터(metadata)를 포함하는 비트스트림을 생성하는 단계를 포함하는, 방법이 제시된다.
적어도 하나의 실시예의 제2 양태에 따르면, 비디오 데이터를 디코딩하기 위한 방법으로서, 이미지 또는 비디오의 블록의 메타데이터에 액세스하는 단계―상기 메타데이터는 크로마 양자화 파라미터들의 다수의 세트들 중에서의 적어도 하나의 크로마 양자화 파라미터의 선택을 나타내고, 상기 선택은 인코딩 성능 레벨에 기초함―; 및 적어도 하나의 크로마 양자화 파라미터의 상기 선택을 나타내는 상기 메타데이터에 따라 블록의 크로마 값들을 역양자화하는 단계를 포함하는, 방법이 제시된다.
적어도 하나의 실시예의 제3 양태에 따르면, 인코딩된 이미지를 위한 신호로서, 인코딩 성능 레벨에 기초하여 크로마 양자화 파라미터들의 다수의 세트들 중에서 선택된 적어도 하나의 크로마 양자화 파라미터를 나타내는 정보를 포함하고, 크로마 양자화 파라미터들의 세트들은 이미지가 모션 예측되는지의 여부에 따라 상이하고, 상기 선택은 이미지의 적어도 하나의 블록에 대한 것인, 신호가 제시된다.
적어도 하나의 실시예의 제4 양태에 따르면, 비디오 데이터를 인코딩하기 위한 디바이스로서, 이미지의 블록에 대해, 인코딩 성능 레벨에 기초하여 크로마 양자화 파라미터들의 다수의 세트들 중에서 적어도 하나의 크로마 양자화 파라미터를 선택하는 수단―크로마 양자화 파라미터들의 세트들은 이미지가 모션 예측되는지의 여부에 따라 상이함―; 적어도 하나의 선택된 크로마 양자화 파라미터에 기초하여 상기 블록을 인코딩하는 수단―인코딩은 상기 적어도 하나의 선택된 크로마 양자화 파라미터에 따라 상기 블록의 크로마 값들을 양자화하는 것을 포함함―; 및 적어도 상기 인코딩된 블록 및 상기 적어도 하나의 선택된 크로마 양자화 파라미터를 나타내는 메타데이터를 포함하는 비트스트림을 생성하는 수단을 포함하는, 디바이스가 제시된다.
적어도 하나의 실시예의 제5 양태에 따르면, 비디오 데이터를 디코딩하기 위한 디바이스로서, 이미지 또는 비디오의 블록의 메타데이터에 액세스하는 수단―상기 메타데이터는 크로마 양자화 파라미터들의 다수의 세트들 중에서의 적어도 하나의 크로마 양자화 파라미터의 선택을 나타내고, 상기 선택은 인코딩 성능 레벨에 기초함―; 및 적어도 하나의 크로마 양자화 파라미터의 상기 선택을 나타내는 상기 메타데이터에 따라 블록의 크로마 값들을 역양자화하는 수단을 포함하는, 디바이스가 제시된다.
적어도 하나의 실시예의 제6 양태에 따르면, 비디오 데이터를 디스플레이하기 위한 디바이스로서, 하나 이상의 프로세서―하나 이상의 프로세서는, 이미지 또는 비디오의 블록의 메타데이터에 액세스하고―상기 메타데이터는 크로마 양자화 파라미터들의 다수의 세트들 중에서의 적어도 하나의 크로마 양자화 파라미터의 선택을 나타내고, 상기 선택은 인코딩 성능 레벨에 기초함―; 적어도 하나의 크로마 양자화 파라미터의 상기 선택을 나타내는 상기 메타데이터에 따라 블록의 크로마 값들을 역양자화하고; 이미지의 복수의 블록들의 역양자화된 크로마 값들에 기초하여 재구성된 이미지(reconstructed image)를 생성하도록 구성됨―; 및 재구성된 이미지를 디스플레이하도록 구성된 디스플레이를 포함하는, 디바이스가 제시된다.
적어도 하나의 실시예의 제7 양태에 따르면, 비디오 데이터를 수신하기 위한 디바이스로서, 이미지 또는 비디오를 포함하는 신호를 공중을 통해(over the air) 수신하도록 구성된 안테나; 하나 이상의 프로세서―하나 이상의 프로세서는, 수신된 이미지 또는 비디오의 블록의 메타데이터에 액세스하고―상기 메타데이터는 크로마 양자화 파라미터들의 다수의 세트들 중에서의 적어도 하나의 크로마 양자화 파라미터의 선택을 나타내고, 상기 선택은 인코딩 성능 레벨에 기초함―; 적어도 하나의 크로마 양자화 파라미터의 상기 선택을 나타내는 상기 메타데이터에 따라 블록의 크로마 값들을 역양자화하고; 이미지의 복수의 블록들의 역양자화된 크로마 값들에 기초하여 재구성된 이미지를 생성하도록 구성됨―; 및 재구성된 이미지를 제공하도록 구성된 출력을 포함하는, 디바이스가 제시된다.
적어도 하나의 실시예의 다른 양태에 따르면, 선행하는 양태들 중 어느 하나의 방법 또는 장치에 따라 생성된 데이터 콘텐츠를 포함하는 비일시적 컴퓨터 판독가능 매체가 제시된다.
적어도 하나의 실시예의 다른 양태에 따르면, 적어도 제1 양태에 따른 방법의 단계들을 구현하기 위해 프로세서에 의해 실행가능한 프로그램 코드 명령어들을 포함하는 컴퓨터 프로그램이 제시된다.
적어도 하나의 실시예의 다른 양태에 따르면, 비일시적 컴퓨터 판독가능 매체 상에 저장되고, 적어도 제1 양태에 따른 방법의 단계들을 구현하기 위해 프로세서에 의해 실행가능한 프로그램 코드 명령어들을 포함하는 컴퓨터 프로그램이 제시된다.
제1 및 제4 양태들의 변형 실시예들에 따르면, 인코딩 성능 레벨은 코딩에 관련된 정보에 따라 자동으로 선택되고, 상기 정보는 코딩 트리 구성 또는 코딩 모드 또는 분할 모드에 관련된다.
도 1은 고효율 비디오 코딩(High Efficiency Video Coding)(HEVC) 인코더와 같은 비디오 인코더(100)의 예를 도시한다.
도 2는 HEVC 디코더와 같은 비디오 디코더(200)의 예의 블록도를 도시한다.
도 3은 쿼드 트리 플러스 이진 트리(Quad-Tree plus Binary-Tree)(QTBT) CTU 표현의 예를 도시한다.
도 4는 코딩 유닛 분할(Coding Unit partitioning)의 확장된 세트의 예를 도시한다.
도 5는 QTBT + ABT 코딩 구조를 이용하는 것에 의한 코딩 효율 증가를 도시한다.
도 6은 크로마 양자화 적응(chroma quantization adaptation)을 구현하는 실시예에서 QTBT + ABT 코딩 구조를 이용하는 것으로부터의 코딩 효율 증가를 도시한다.
도 7a는 크로마 성분들의 코딩 및 디코딩에 이용되는 QP 파라미터를 결정하기 위해 디코더 측에서 이용되는 프로세스의 예를 도시한다.
도 7b는 도시한다.
도 8은 다양한 양태들 및 실시예들이 구현되는 시스템의 예의 블록도를 도시한다.
도 9a는 크로마 양자화 적응을 구현하는 실시예에 따른 인코딩 방법의 일부의 예의 흐름도를 도시한다.
도 9b는 크로마 양자화 적응을 구현하는 실시예에 따른 디코딩 방법의 일부의 예의 흐름도를 도시한다.
적어도 하나의 실시예에서, 코딩 효율 개선은 후술하는 블록 분할을 위한 토폴로지들을 이용함으로써 얻어진다. 특히, 일부 실시예들에서, 루마 성분(luma component)에서보다 크로마 성분들에서 더 큰 이득이 얻어진다. 결과적으로, 하나 이상의 크로마 성분으로부터 루마 성분으로 일부 이득을 시프트함으로써, 얻어진 코딩 이득을 균형화하는 것이 관심이 있다. 이것은 특정한 실시예들에서, 특정한 품질 레벨에서, 추가적인 시각적 이점이 크로마 성분들에서의 추가적인 코딩 효율 개선으로부터 전형적으로 초래되지 않기 때문에, 특히 유리하다. 따라서, 적어도 하나의 실시예는 크로마 성분들과 루마 성분 사이의 추가 품질 개선을 트레이드 오프(trade off)하는 방식으로 양자화 파라미터를 이용하는 것을 제안한다. 적어도 하나의 그러한 실시예는 크로마 성분들 및 루마 성분을 포함하는 전체 코딩된 비트스트림의 전체적인 비트레이트(bit-rate)를 감소시킨다.
도 1은 고효율 비디오 코딩(HEVC) 인코더와 같은 비디오 인코더(100)의 예를 도시한다. 도 1은 HEVC 표준에 대한 개선들이 이루어지는 인코더, 또는 JVET(Joint Video Exploration Team)에 의한 개발 중인 JEM(Joint Exploration Model) 인코더와 같은, HEVC와 유사한 기술들을 이용하는 인코더를 또한 도시할 수 있다.
본 출원에서, 용어들 "재구성된(reconstructed)" 및 "디코딩된(decoded)"은 상호교환가능하게 이용될 수 있고, 용어들 "인코딩된(encoded)" 또는 "코딩된(coded)"은 상호교환가능하게 이용될 수 있고, 용어들 "이미지", "픽처" 및 "프레임"은 상호교환가능하게 이용될 수 있다. 통상적으로, 반드시 그러한 것은 아니지만, 용어 "재구성된"은 인코더 측에서 이용되는 한편, "디코딩된"은 디코더 측에서 이용된다.
인코딩되기 전에, 비디오 시퀀스는 프리-인코딩 처리(pre-encoding processing)(101)를 겪을 수 있다. 이것은, 예를 들어, 입력 컬러 픽처에 컬러 변환(예를 들어, RGB 4:4:4로부터 YCbCr 4:2:0으로의 변환)을 적용하거나, 또는 (예를 들어, 컬러 성분들 중 하나의 히스토그램 등화(histogram equalization)를 이용하여) 압축에 더 탄력적인 신호 분포를 얻기 위해 입력 픽처 성분들의 리맵핑(remapping)을 수행함으로써 수행된다. 메타데이터는 전처리와 연관되고, 비트스트림에 부착될 수 있다.
HEVC에서, 하나 이상의 픽처를 갖는 비디오 시퀀스를 인코딩하기 위해, 픽처가 하나 이상의 슬라이스(slice)로 분할(102)되고, 각각의 슬라이스는 하나 이상의 슬라이스 세그먼트를 포함할 수 있다. 슬라이스 세그먼트는 코딩 유닛들(coding units), 예측 유닛들(prediction units) 및 변환 유닛들(transform units)로 조직화된다. HEVC 사양은 "블록들"과 "유닛들"을 구별하며, 여기서 "블록"은 샘플 어레이에서의 특정 영역(예를 들어, 루마, Y)을 다루고, "유닛"은 모든 인코딩된 컬러 성분들(Y, Cb, Cr, 또는 단색), 신택스 요소들, 및 블록들과 연관되는 예측 데이터(예를 들어, 모션 벡터들)의 병치된 블록들을 포함한다.
HEVC에서의 코딩을 위해, 픽처는 구성가능한 크기를 갖는 정사각형 형상의 코딩 트리 블록(coding tree block)(CTB)들로 분할되고, 코딩 트리 블록들의 연속적인 세트는 슬라이스로 그룹화된다. 코딩 트리 유닛(Coding Tree Unit)(CTU)은 인코딩된 컬러 성분들의 CTB들을 포함한다. CTB는 코딩 블록(Coding Block)(CB)들로 분할되는 쿼드트리(quadtree)의 루트(root)이고, 코딩 블록은 하나 이상의 예측 블록(Prediction Block)(PB)으로 분할될 수 있고, 변환 블록(Transform Block)(TB)들로 분할되는 쿼드트리의 루트를 형성한다. 코딩 블록, 예측 블록 및 변환 블록에 대응하여, 코딩 유닛(CU)은 예측 유닛(PU)들 및 변환 유닛(TU)들의 트리-구조 세트(tree-structured set)를 포함하고, PU는 모든 컬러 성분들에 대한 예측 정보를 포함하며, TU는 각각의 컬러 성분에 대한 잔차 코딩 신택스 구조(residual coding syntax structure)를 포함한다. 루마 성분의 CB, PB 및 TB의 크기는 대응하는 CU, PU 및 TU에 적용된다. 본 출원에서, 용어 "블록"은, 예를 들어, CTU, CU, PU, TU, CB, PB 및 TB 중 임의의 것을 지칭하는데 이용될 수 있다. 또한, "블록"은 H.264/AVC 또는 다른 비디오 코딩 표준들에서 명시된 바와 같이 매크로블록 및 파티션(partition)을 지칭하기 위해, 그리고 더 일반적으로는 다양한 크기들의 데이터의 어레이를 지칭하기 위해 또한 이용될 수 있다.
인코더(100)의 예에서, 픽처는 후술하는 바와 같이 인코더 요소들에 의해 인코딩된다. 인코딩될 픽처는 CU들의 유닛들로 처리된다. 각각의 CU는 인트라 또는 인터 모드를 이용하여 인코딩된다. CU가 인트라 모드에서 인코딩되는 경우, 그것은 인트라 예측(160)을 수행한다. 인터 모드에서, 모션 추정(motion estimation)(175) 및 보상(170)이 수행된다. 인코더는, CU를 인코딩하기 위해 인트라 모드 또는 인터 모드 중 어느 것을 이용할지를 결정(105)하고, 예측 모드 플래그에 의해 인트라/인터 결정을 표시한다. 예측 잔차들은 원래 이미지 블록으로부터 예측된 블록을 감산(110)함으로써 계산된다.
인트라 모드에서의 CU들은 동일한 슬라이스 내의 재구성된 이웃 샘플들로부터 예측된다. DC, 평면(planar) 및 33개의 각도 예측 모드들을 포함하는 35개의 인트라 예측 모드들의 세트가 HEVC에서 이용가능하다. 인트라 예측 참조(intra prediction reference)는 현재 블록에 인접한 행 및 열로부터 재구성된다. 참조는 이전에 재구성된 블록들로부터 이용가능한 샘플들을 이용하여 수평 및 수직 방향들에서 블록 크기의 2배에 걸쳐 연장된다. 인트라 예측을 위해 각도 예측 모드가 이용되는 경우, 참조 샘플들은 각도 예측 모드에 의해 표시된 방향을 따라 복사될 수 있다.
현재 블록에 대해 적용가능한 루마 인트라 예측 모드는 2개의 상이한 옵션들을 이용하여 코딩될 수 있다. 적용가능한 모드가 3개의 가장 가능성 있는 모드(most probable mode)(MPM)들의 구성된 리스트(constructed list)에 포함되는 경우, 모드는 MPM 리스트에서의 인덱스에 의해 시그널링된다. 그렇지 않은 경우, 모드는 모드 인덱스의 고정 길이 이진화(fixed-length binarization)에 의해 시그널링된다. 3개의 가장 가능성 있는 모드들은 최상부 및 좌측 이웃 블록들의 인트라 예측 모드들로부터 도출된다.
인터 CU의 경우, 대응하는 코딩 블록은 하나 이상의 예측 블록으로 더 분할된다. 인터 예측은 PB 레벨에서 수행되고, 대응하는 PU는 인터 예측이 어떻게 수행되는지에 관한 정보를 포함한다. 모션 정보(예를 들어, 모션 벡터 및 참조 픽처 인덱스)는 2개의 방법들, 즉, "병합 모드(merge mode)" 및 "진보된 모션 벡터 예측(advanced motion vector prediction)(AMVP)"에서 시그널링될 수 있다.
병합 모드에서, 비디오 인코더 또는 디코더는 이미 코딩된 블록들에 기초하여 후보 리스트(candidate list)를 취합하고(assemble), 비디오 인코더는 후보 리스트에서의 후보들 중 하나에 대한 인덱스를 시그널링한다. 디코더 측에서는, 시그널링된 후보에 기초하여 모션 벡터(MV) 및 참조 픽처 인덱스가 재구성된다.
AMVP에서, 비디오 인코더 또는 디코더는 이미 코딩된 블록들로부터 결정된 모션 벡터들에 기초하여 후보 리스트들을 취합한다. 비디오 인코더는 이어서 모션 벡터 예측자(motion vector predictor)(MVP)를 식별하기 위해 후보 리스트에서의 인덱스를 시그널링하고, 모션 벡터 차이(motion vector difference)(MVD)를 시그널링한다. 디코더 측에서, 모션 벡터(MV)는 MVP + MVD로서 재구성된다. 적용가능한 참조 픽처 인덱스는 또한 AMVP에 대한 PU 신택스에서 명시적으로 코딩된다.
그 다음, 예측 잔차들은 변환되고(125), 후술하는 크로마 양자화 파라미터를 적응시키기 위한 적어도 하나의 실시예를 포함하여 양자화된다(130). 변환들은 일반적으로 분리가능한 변환들에 기초한다. 예를 들어, DCT 변환이 먼저 수평 방향으로, 이어서 수직 방향으로 적용된다. JEM과 같은 최근의 코덱들에서, 두 방향들에서 이용되는 변환들은 상이할 수 있고(예를 들어, 한 방향에서는 DCT, 다른 방향에서는 DST), 이것은 매우 다양한 2D 변환들을 초래할 수 있는 반면, 이전의 코덱들에서는, 주어진 블록 크기에 대한 2D 변환들의 다양성이 통상적으로 제한된다.
양자화된 변환 계수들 뿐만 아니라, 모션 벡터들 및 다른 신택스 요소들은 비트스트림을 출력하도록 엔트로피 코딩된다(145). 인코더는 또한 변환을 스킵하고, 4x4 TU 기반으로 비변환된 잔차 신호에 직접 양자화를 적용할 수 있다. 인코더는 또한 변환 및 양자화 둘다를 우회할 수 있는데, 즉, 잔차는 변환 또는 양자화 프로세스의 적용 없이 직접 코딩된다. 직접 PCM 코딩에서는, 예측이 적용되지 않으며, 코딩 유닛 샘플들이 비트스트림으로 직접 코딩된다.
인코더는 추가 예측들을 위한 참조를 제공하기 위해 인코딩된 블록을 디코딩한다. 예측 잔차들을 디코딩하기 위해, 양자화된 변환 계수들은 역양자화되고(140), 역변환된다(150). 디코딩된 예측 잔차들과 예측된 블록을 결합(155)함으로써, 이미지 블록이 재구성된다. 루프 내 필터들(in-loop filters)(165)은, 예를 들어, 인코딩 아티팩트들(artifacts)을 감소시키기 위한 디블로킹(deblocking)/SAO(Sample Adaptive Offset) 필터링을 수행하기 위해, 재구성된 픽처에 적용된다. 필터링된 이미지는 참조 픽처 버퍼(180)에 저장된다.
도 2는 HEVC 디코더와 같은 비디오 디코더(200)의 예의 블록도를 도시한다. 디코더(200)의 예에서, 비트스트림은 후술하는 바와 같이 디코더 요소들에 의해 디코딩된다. 비디오 디코더(200)는 일반적으로 도 1에 설명된 바와 같은 인코딩 경로에 대해 역인 디코딩 경로를 수행하며, 이는 비디오 데이터 인코딩의 일부로서 비디오 디코딩을 수행한다. 도 2는 또한 HEVC 표준에 대한 개선들이 이루어지는 디코더, 또는 JEM 디코더와 같은, HEVC와 유사한 기술들을 이용하는 디코더를 도시할 수 있다.
특히, 디코더의 입력은 비디오 인코더(100)에 의해 생성될 수 있는 비디오 비트스트림을 포함한다. 비트스트림은 변환 계수들, 모션 벡터들, 픽처 분할 정보 및 다른 코딩된 정보를 획득하기 위해, 먼저 엔트로피 디코딩된다(230). 픽처 분할 정보는 CTU들의 크기, 및 CTU가 CU들로, 그리고 적용가능한 경우 가능하게는 PU들로 분할되는 방법을 나타낸다. 따라서, 디코더는 디코딩된 픽처 분할 정보에 따라, 픽처를 CTU들로 분할하고, 각각의 CTU를 CU들로 분할(235)할 수 있다. 변환 계수들은 후술하는 크로마 양자화 파라미터를 적응시키기 위한 적어도 하나의 실시예를 포함하여 역양자화되고(240), 예측 잔차들을 디코딩하기 위해 역변환된다(250).
디코딩된 예측 잔차들과 예측된 블록을 결합(255)함으로써, 이미지 블록이 재구성된다. 예측된 블록은 인트라 예측(260) 또는 모션 보상된 예측(즉, 인터 예측)(275)으로부터 획득(270)될 수 있다. 전술한 바와 같이, AMVP 및 병합 모드 기술들은 모션 보상을 위한 모션 벡터들을 도출하기 위해 이용될 수 있고, 이는 참조 블록의 서브 정수 샘플들(sub-integer samples)에 대한 보간된 값들을 계산하기 위해 보간 필터들을 이용할 수 있다. 루프 내 필터들(265)은 재구성된 이미지에 대해 적용된다. 필터링된 이미지는 참조 픽처 버퍼(280)에 저장된다.
디코딩된 픽처는 또한 포스트-디코딩 처리(post-decoding processing)(285), 예를 들어, 역 컬러 변환(예를 들어, YCbCr 4:2:0으로부터 RGB 4:4:4로의 변환) 또는 프리-인코딩 처리(101)에서 수행된 리맵핑 프로세스의 역을 수행하는 역 리맵핑을 겪을 수 있다. 포스트-디코딩 처리는 프리-인코딩 처리에서 도출되고 비트스트림에서 시그널링되는 메타데이터를 이용할 수 있다.
픽처 데이터를 더 유연한 방식으로 표현하기 위해, 압축된 영역에서의 코딩 트리 유닛 표현을 포함하는 새롭게 생겨난 비디오 압축 도구들이 제안된다. 코딩 트리의 이러한 보다 유연한 표현의 이점은, HEVC 표준의 CU/PU/TU 배열에 비해 증가된 압축 효율을 제공한다는 것이다.
도 3은 쿼드 트리 플러스 이진 트리(QTBT) CTU 표현의 예를 도시한다. 쿼드 트리 플러스 이진 트리(QTBT) 코딩 도구는 그러한 증가된 유연성을 제공한다. QTBT는 코딩 유닛들이 쿼드 트리(quad-tree) 및 이진 트리(binary-tree) 방식 둘다로 분할될 수 있는 코딩 트리에 있다. 코딩 유닛의 분할은 최소 레이트 왜곡 비용으로 CTU의 QTBT 표현을 결정하는 레이트 왜곡 최적화 절차를 통해 인코더 측에서 결정된다. QTBT 기술에서, CU는 정사각형 또는 직사각형 형상을 갖는다. 코딩 유닛의 크기는 항상 2의 거듭 제곱이고, 전형적으로 4 내지 128이다. 코딩 유닛에 대한 직사각형 형상들의 이러한 다양성에 부가하여, 그러한 CTU 표현은 HEVC에 비해 다음과 같은 상이한 특성들을 갖는다. CTU의 QTBT 분해(decomposition)는 2개의 단계로 이루어진다: 먼저, CTU가 쿼드 트리 방식으로 분할되고, 그 다음, 각각의 쿼드 트리 리프(quad-tree leaf)가 이진 방식으로 더 분할될 수 있다. 이것은 도면의 우측에 도시되며, 실선들은 쿼드 트리 분해 단계를 나타내고, 파선들은 쿼드 트리 리프들에 공간적으로 내장되는 이진 분해를 나타낸다. 인트라 슬라이스들에서, 루마 및 크로마 블록 분할 구조는 분리되고, 독립적으로 결정된다. 예측 유닛들 또는 변환 유닛으로의 CU 분할은 더 이상 이용되지 않는다. 즉, 각각의 코딩 유닛은 단일 예측 유닛(2Nx2N 예측 유닛 분할 타입) 및 단일 변환 유닛(변환 트리로의 분할이 없음)으로 체계적으로 이루어진다.
도 4는 코딩 유닛 분할의 확장된 세트의 예를 도시한다. 비대칭 이진 및 트리 분할 모드(asymmetric binary and tree split mode)(ABT)들에서, 비대칭 이진 분할 모드들 중 하나를 통해 분할될 크기(w, h)(폭 및 높이)를 갖는 직사각형 코딩 유닛, 예를 들어, HOR_UP(horizontal-up)은 각각의 직사각형 크기들(w, h/4) 및 (w, 3h/4)을 갖는 2개의 서브-코딩 유닛들(sub-coding units)로 될 것이다. 또한, 도 5에 주어진 가능한 파티션들의 세트로 이어지는, 소위 CU의 트리플 트리 분할이 이용될 수 있다. 트리플 트리는 고려된 배향(예를 들어, 수평 분할 모드에 대한 HOR_TRIPLE)에서, 부모 CU에 대해 크기(1/4, 1/2, 1/4)를 갖는 트리 서브-CU로 CU를 분할하는 것에 있다.
도 5는 QTBT + ABT 코딩 구조를 이용하는 것에 의한 코딩 효율 증가를 도시한다. 그러한 코딩 구조는 JVET-J0022에서 제안된다. 도 5의 표는 제1 열에 열거된 선택된 이미지들의 서브세트에 대한 코딩 결과들을 도시한다. "참조(Reference)"라는 제목의 제2 열에서, 숫자들은 비트레이트, Y, U, V 성분들에 대한 PSNR, 인코딩 시간 및 디코딩 시간을 각각 나타내는 일부 인코딩 파라미터들에 따른 참조 인코더의 인코딩 성능을 나타낸다. "테스트됨(Tested)"이라는 제목의 제3 열에서, 숫자들은 "참조" 인코딩에 대한 것과 동일한 인코딩 파라미터들을 갖는 QTBT + ABT 코딩 구조를 이용하도록 수정된 참조 인코더의 인코딩 성능을 나타낸다. 이러한 제3 열은 비트레이트, Y, U 및 V 성분들에 대한 PSNR, 인코딩 시간 및 디코딩 시간을 각각 나타낸다. 제5 열에서, 숫자들은 Y, U 및 V 성분들에 대한 비트레이트 개선을 나타낸다.
마지막 열들에서, 표준 코딩에 비교한 코딩 효율 개선이 도시된다. 특히, 일부 실시예들에서, 루마 성분에서보다 크로마 성분들에서 더 큰 이득이 얻어진다.
그러한 개선으로부터 충분히 이익을 얻기 위해, 하나 이상의 크로마 성분으로부터 루마 성분으로 일부 이득을 시프트함으로써, 얻어진 코딩 이득을 균형화하는 것에 관심이 있다. 이것은 특정한 실시예들에서, 특정한 품질 레벨에서, 전형적으로, 추가적인 시각적 이점이 크로마 성분(들)에서의 추가적인 코딩 효율 개선으로부터는 초래되지 않기 때문에 특히 유리하다. 따라서, 적어도 하나의 실시예는 크로마 성분들과 루마 성분 사이의 추가 품질 개선을 트레이드 오프하는 방식으로 양자화 파라미터를 이용하는 것을 제안한다. 적어도 하나의 그러한 실시예는 크로마 성분들 및 루마 성분을 포함하는 전체 코딩된 비트스트림의 전체적인 비트레이트(bit-rate)를 감소시킨다.
도 6은 크로마 양자화 적응을 구현하는 실시예에서 QTBT + ABT 코딩 구조를 이용하는 것으로부터의 코딩 효율 증가를 도시한다. 도 6은 도 5의 구성에서 이용된 JVET-J0022의 비디오 코덱을 이용하지만 크로마 양자화 적응을 추가하여 획득된 코딩 효율 성능들을 도시한다. 도 6의 표는 제2 열에 열거된 일부 파라미터들에 따른, 제1 열에 열거된 선택된 이미지들의 서브세트에 대한 코딩 결과들을 도시한다. 제3 열에서, 숫자들은 비트레이트, Y, U 및 V 성분들에 대한 PSNR을 각각 보여주는 참조 인코더의 인코딩 성능을 나타낸다. 제4 열에서, 숫자들은 QTBT + ABT 코딩 구조를 이용하도록 수정된 참조 인코더의 인코딩 성능을 나타낸다. 이러한 제4 열은 비트레이트, Y, U 및 V 성분들에 대한 PSNR을 각각 나타낸다. 제5 열에서, 숫자들은 Y, U 및 V 성분들에 대한 비트레이트 개선을 나타낸다.
표는 도 5와 비교하여, 크로마 코딩 효율에서의 적당한 상대적 손실을 갖는, 루마에서의 현저한 코딩 효율 개선을 나타낸다. 더욱이, 루마 성분은 전형적으로 지각 시점(perceptual viewpoint)으로부터 훨씬 더 중요하기 때문에, 코딩 효율의 관점에서 크로마에 비해 루마를 우선순위화하는 것이 큰 관심이다.
실시예에서, 크로마 양자화 파라미터 적응은, 루마 성분의 코딩 효율이 크로마 성분들에서의 코딩 효율에 있어서 제어된 페널티로 조정되도록, 비디오 코딩 방안에서의 루마 및 크로마 성분들 간의 비트레이트 할당을 트레이드 오프하는 것을 허용한다. 또한, 적어도 하나의 실시예에서, 루마/크로마 비트레이트 할당의 이용은 코딩 및 디코딩에서 이용되고 있는 코딩 도구들과는 독립적으로 이루어진다.
제1 접근법은 코딩된 비트 스트림의 하이 레벨 신택스(시퀀스 파라미터 세트(Sequence Parameter Set))에서 시그널링되는 잘 알려진 크로마 QP(quantization parameter) 오프셋 시퀀스 레벨 파라미터를 이용하는 것을 고려한다. 그러한 접근법의 단점은 크로마 코딩 효율에서의 손실이 너무 높고, 제어하기 어려울 수 있다는 점이다. 다른 접근법은, 인터 슬라이스들에서, 동일 픽처의 루마 슬라이스에서 이용되는 QP가 주어지면, 크로마에서의 슬라이스의 QP를 도출하는데 이용되는 소위 크로마 QP 테이블을 이용하는 것을 고려한다. JEM에서, 루마 슬라이스와 연관된 QP가 주어지면, 크로마 슬라이스의 QP는 본 명세서에서 크로마 QP 테이블이라고 부르는 룩업 테이블을 통해 계산된다. 동일 픽처의 슬라이스의 루마 성분에서 이용된 QP가 주어지면, 슬라이스의 크로마 성분들에 대한 QP를 도출하기 위해 크로마 QP 테이블이 이용된다. 이 테이블에 대한 인덱스 값은 고려된 크로마 성분과 연관된 소위 baseQP(즉, 베이스 크로마(base chroma) QP)이며, 이는 대응하는 루마 슬라이스 QP 및 고려된 슬라이스의 크로마 QP 오프셋의 합으로서 획득된다. 고려된 슬라이스의 이러한 크로마 QP 오프셋은 고려된 슬라이스에 연관된 슬라이스 레벨 크로마 QP 델타(delta) 및 시퀀스 레벨 크로마 QP 오프셋의 합으로서 획득된다. 이어서, 인덱스 값에 대응하는 출력 값이 크로마 슬라이스를 인코딩 또는 디코딩하기 위한 QP 값으로서 이용될 수 있다. 슬라이스 QP는, 예를 들어, 레이트 제어 때문에, 블록 레벨 QP 조정에 의해 더 수정될 수 있다는 점에 유의해야 한다.
JEM에서, 이용된 크로마 QP 테이블은 크로마 포맷, 예를 들어, 4:0:0, 4:2:0, 4:2:2 등에만 의존하므로, 임의의 유연성을 방지한다.
예시적인 실시예에서, 상이한 인코딩 구성들에 대해 상이한 크로마 QP 테이블들을 이용하는 것이 제안된다. 실제로, 특정 레벨의 코딩 효율에 도달하기 위한 코딩 시스템의 구성은, 이용된 파티션들의 세트 및 일부 다른 파라미터들을 포함할 인코딩 파라미터들의 조정을 포함할 수 있다. 전형적으로, CTU 코딩 트리 표현에서 허용되는 최대 트리 깊이(maximum tree depth)는 전체 코딩 효율에 또한 영향을 주고, 인코더 측에서 코딩 효율과 계산 복잡도 간의 원하는 트레이드 오프에 도달하는 것을 허용한다.
다양한 실시예들의 하나의 원리는 시퀀스를 코딩 또는 디코딩하는데 이용되는 코딩 도구들과는 독립적인 일부 수단에 의해 원하는 크로마 QP 테이블의 이용을 시그널링하는 것이다. 따라서, 크로마 QP 테이블은 인코더 측에서 코딩 구성 파라미터로서 선택된다. 이것은 전형적으로 시퀀스 파라미터 세트(Sequence Parameter Set)(SPS) 또는 픽처 파라미터 세트(Picture Parameter Set)(PPS)에서 시그널링되는 "코딩 성능 레벨" 하이 레벨 신택스 요소의 형태를 취한다. 그것은 디코더에 의해 디코딩되고, 이것은 인코더 측에서 이용된 동일한 크로마 QP 테이블로 스위칭한다. 실시예에서, 테이블들의 2개의 세트가 제안되고, 따라서, 간단한 이진 플래그가 정보를 운반하기에 충분하다. 다른 실시예들에서, 테이블들의 2개보다 많은 세트가 제안되고, 따라서 정수 값(또는 다른 것들 중 하나의 세트를 시그널링하는 다른 방식)이 필요할 것이다. 아래에 예시된 예는 2개의 테이블들의 세트를 나타낸다.
JEM에서 이용되는 QP 값은 -6 내지 51의 범위에 있다. 4:2:0 컬러 포맷에 대해 JEM에서 이용되는 크로마 QP 테이블은 58개의 요소들(즉, 각각의 가능한 QP 값에 대해 하나의 엔트리)로 이루어지고, 전형적으로 다음과 같다:
Figure pct00001
실시예에서, 크로마 QP 테이블들의 수 개의 세트들을 이용하는 것이 제안된다. 테이블들은 먼저 코딩의 타겟화된 효율에 관해, 두번째로 (I 슬라이스 타입 또는 비(non)-I 슬라이스 타입에 대한) 그들의 슬라이스 타입에 관해 구별된다. 표준 코딩 효율 레벨 크로마 QP 테이블 세트는 다음과 같고, I 슬라이스 타입 및 비-I 슬라이스 타입 모두에 대한 값들을 포함한다:
Figure pct00002
고성능 코딩 효율 레벨 크로마 QP 테이블 세트는 다음과 같다:
Figure pct00003
크로마 QP 테이블들은 0보다 크거나 같은 출력 QP를 포함하고, 입력 인덱스의 함수로서 비감소(non-decreasing)이다. 따라서, 크로마 QP 테이블에 대한 각각의 0이 아닌 입력 인덱스에 대해, 그 출력 정수 값은 테이블에 대한 이전 입력 인덱스와 연관된 출력 QP 값 이상이다.
표준과 고성능 테이블 세트들 간의 차이는 다음과 같다. 고성능 테이블 세트에 포함된 출력 QP 값은 항상 표준 성능 테이블 세트에서의 동일한 입력 인덱스 값을 갖는 출력 이상이다. 실제로, 이것은 특히 높은 QP 값에 관한 것이다.
도시된 예에서, 비-I 슬라이스 타입에 대응하는 테이블들에 대해, 고성능 테이블 세트에서의 출력 QP 값 34로부터, 표준 성능 테이블 세트에서의 동일한 입력 인덱스를 갖는 출력 QP 값은 33과 동일하다. 그 후, 2개의 테이블들에서의 해당 입력 인덱스로부터, 비-I 슬라이스의 고성능 QP 테이블에서의 출력 QP 값은 표준 성능 크로마 QP 테이블 세트에서의 대응하는 출력 QP 값보다 엄밀히 더 높다. 이것은, 코딩 효율이 고성능의 경우에 증가됨에 따라, 크로마 성분들에서 비슷한 PSNR 값을 유지하면서 크로마 성분들에서의 비트레이트는 감소될 수 있다는 사실에 의해 설명된다. 이러한 방식으로, 전체 비트레이트는 감소되는 반면, 루마 슬라이스에서의 객관적 품질(objective quality)(PSNR)은 보존된다. 전체적인 일부 코딩 이득은, 임의의 페널티 없이, 또는 크로마에 대한 코딩 효율에 대한 제한된 페널티를 갖고서 루마에서 얻어진다.
2개의 상기 테이블 세트들에 대해, 2차원 어레이들이 이용된다. 어레이의 제1 차원은 슬라이스 타입(예를 들어, 0 → I_SLICE; 1 → B_SLICE(보다 일반적으로, 비-I 슬라이스))에 대응하고, 제2 차원은 고려된 슬라이스에서의 베이스 크로마 QP에 대응한다.
아래에 더 설명되는 바와 같이, 크로마 QP 테이블 세트들은 인코더 및 디코더 둘다에 저장될 수 있고, 인코더는 디코더에게, 예를 들어, 플래그 또는 인덱스를 통해, 어느 테이블 세트가 디코더에 의해 선택되어야 하는지를 표시할 수 있다. 대안적으로, 테이블 세트들은 비트스트림에서 직접 인코딩될 수 있다.
인코더 측에서, 인코더는 어느 크로마 QP 테이블 세트를 이용할지를 선택한다. 선택은 인코딩 구성 파라미터(전형적으로 플래그)를 통해 사용자에 의해 행해질 수 있으며, 이는 인코딩 및 그 다음의 디코딩 프로세스들 동안 고성능 크로마 QP 테이블 세트가 이용되어야 하는지 여부를 나타낸다. 예시적인 실시예에서, 선택은 파일에서의 값의 값을 설정함으로써 행해지고, 플래그는 어느 크로마 QP 테이블을 이용할지를 선택하기 위해 플래그의 값을 해석하는 인코딩 디바이스에 의해 판독된다. 예시적인 실시예에서, 선택은 인코더 디바이스를 처리하는 그래픽 사용자 인터페이스를 이용하여 인코딩 구성 파라미터들을 선택하는 사용자의 수동 조작에 의해 행해진다.
다른 실시예에서, 그것은 루마 및 크로마 슬라이스들에서 획득된 측정된 코딩 효율의 함수로서, 인코더에 의해 자동으로 선택될 수 있다. 전형적으로, 이것은 Cb 및 Cr 성분들에서 획득된 PSNR 값들을 체크하는 것에 있을 수 있다. 이들 2개의 값들이 대응하는 루마 슬라이스에서 획득된 PSNR보다 충분히 더 높으면, 크로마 성분들에서 QP를 증가시켜 일부 비트들을 절약하는 것에 관심이 있을 수 있다. 그렇게 하기 위해, 인코더는 고성능 크로마 QP 테이블 세트들을 선택할 것이고, 다음 SPS, PPS 또는 심지어 슬라이스 헤더에서의 그것의 이용을 나타낼 것이다.
예시적인 실시예에서, 2개의 성능 레벨들, 즉, 표준 및 높은 것이 고려되고, 각각의 설정에 대해, 2개의 크로마 QP 테이블들이 차이 슬라이스 타입들에 대해 이용된다. 본 기술들은 다른 수의 설정들 또는 슬라이스 타입들에 대해 이용될 수 있다는 점에 유의해야 한다. 이 경우에, 테이블을 시그널링하는 것은 단일 1-비트 플래그로 더 이상 행해질 수 없지만, 예를 들어, 정수인 값들의 더 큰 선택을 제공하는 파라미터를 요구한다. 또한, 크로마 QP 테이블의 크기는 또한 58과 상이할 수 있는데, 예를 들어, 테이블 크기는 QP 범위에 적응될 수 있다.
도 7a는 크로마 성분들의 코딩 및 디코딩에 이용되는 QP 파라미터를 결정하기 위해 디코더 측에서 이용되는 프로세스의 예를 도시한다. 이 프로세스에 대한 입력들은 고려된 슬라이드에 대한 베이스 크로마 QP 값에 대응하는 (그리고 적응될 값인) chromaQP, 슬라이스의 타입을 나타내는 "I-SLICE" 플래그 및 고성능 인코딩 효율이 예상되는지의 여부를 나타내는 "HighPerformanceCodingFlag"이다. 단계(700)에서, 슬라이스의 타입이 체크되고, I-SLICE인 경우, 단계(710)에서, I-SLICE 세트에 대응하는 세트를 가리키기 위해 인덱스 값이 0으로 설정된다. 다른 경우에, 단계(711)에서, 비-I-SLICE 세트에 대응하는 세트를 가리키기 위해 인덱스 값이 1로 설정된다. 단계(720)에서, "HighPerformanceCodingFlag"가 체크된다. 플래그가 참(true)으로 설정될 때, 단계(731)에서, outputChroma 값은 인덱스 및 입력 값에 따라 chromaQPTableHighPerf의 값들의 세트로부터 결정된다. "HighPerformanceCodingFlag"가 거짓(false)으로 설정될 때, 단계(730)에서, outputChroma 값은 인덱스 및 입력 값에 따라 chromaQPTableStandardPerf의 값들의 세트로부터 결정된다. 예를 들어, 초기 chromaQP 값이 57(따라서, 가능한 "최고" 값)인 경우, 고성능에서의 I-SLICE에 대해, chromaQP 값은 54(마지막 테이블의 마지막 엔트리)로 설정될 것이다. 이것은 크로마 성분에 대한 비트레이트를 감소시킬 것이다. 종래의 디코딩 프로세스는 디코딩된 이미지를 생성하는데 이용된다.
볼 수 있는 바와 같이, 이러한 플래그는 규범적인 방식(normative way)으로 크로마 QP 테이블의 이용을 유도하는데 이용된다.
적어도 하나의 실시예에 따르면, 크로마 QP 테이블들의 적어도 2개의 테이블 중에서의 선택은 일부 다른 코딩 파라미터들의 함수로서 달성된다. 이러한 코딩 파라미터들은 고려된 비디오 시퀀스의 코딩을 위해 선택된 코딩 트리 구성 또는 활성화된 코딩 모드들의 세트 또는 활성화된 분할 모드들의 세트에 관한 것일 수 있다.
예로서, 고려된 비디오 코덱으로 표준 성능 레벨을 생성할 수 있는 코딩 파라미터들은 다음과 같을 수 있다. 이용되는 코딩 트리 구성은 슬라이스 타입 및 시간 계층(temporal layer)에 따라 변한다. 랜덤 액세스 시퀀스의 각각의 픽처에 대해 허용되는 최대 쿼드 트리 및 이진 트리 깊이들이 도 7b에 도시되고, 표준 성능 레벨에 대한 ABT 및 코딩 트리 구성에 대해 상세히 설명된다.
표 1은 랜덤 액세스 코딩 구조에 대한 각각의 슬라이스 타입, 시간 계층, 성분에 대해 중간 복잡도 프로파일에서 이용되는 최대 쿼드 트리 깊이 및 이진 트리 깊이를 도시한다. 이러한 표에서 볼 수 있는 바와 같이, 최대 허용된 쿼드 트리 깊이는 슬라이스 타입, 시간 레벨 및 성분에 따라 변한다. 또한, 최대 허용된 이진 트리 깊이는 슬라이스 타입, 슬라이스 시간 계층 및 쿼드 트리 깊이 레벨에 따라 변한다.
Figure pct00004
또한, 표준 성능 레벨 인코딩 프로세스에서, 중간 복잡도(랜덤 액세스)에 대한 ABT 및 코딩 트리 구성의 쿼드 트리 및 이진 트리 다수 깊이 구성이 랜덤 액세스 인트라 기간(Random-Access intra period)을 코딩할 때 시작 구성으로서 이용된다. 이는 인트라 기간들의 병렬 코딩이 요구되는 경우에, 각각의 인트라 기간에 대한 시작 코딩 트리 구성으로서 이용될 수 있다.
그 시작 구성 외에, 고려된 인트라 기간에서, 동일한 시간 레벨에서 이미 코딩된 픽처에서 이용되는 평균 쿼드 및 이진 코딩 트리들에 기초하여, 후속 픽처들에 대한 최대 쿼드 트리 및 이진 트리 깊이의 동적 적응 프로세스가 이용된다.
또한, 고려된 비디오 코덱으로 고성능 레벨을 생성할 수 있는 코딩 파라미터들은 전형적으로 다음과 같다. 인트라 기간을 코딩하기 시작할 때의 코딩 트리 구성은 표준 성능 구성에 비해 B 슬라이스들에 대해 수정된다. 쿼드 트리 깊이 레벨 0을 제외하고는, 최대 BT 깊이는 항상 3과 동일하다. 이것은 다음의 표에 대응한다.
Figure pct00005
즉, 최대 BT 깊이는 코딩 성능 레벨을 선택하고, 따라서 대응하는 크로마 QP 테이블을 선택하는데 이용될 수 있는 코딩 트리 구성과 관련된 하나의 파라미터이다. 예를 들어, 표 1 및 2에 따르면, 최대 BT 깊이가 2일 때, 표준 성능 레벨 크로마 QP 테이블이 선택되고, 최대 BT 깊이가 2보다 클 때, 고성능 레벨 크로마 QP 테이블이 선택된다.
추가 실시예에 따르면, 추가적인 낮은 복잡도 인코더 구성이 이용될 수 있다. 이 경우, 표준 인코더 성능 레벨에 링크되는 이전에 제시된 크로마 QP 테이블은 이러한 낮은 인코더 복잡도 구성에서 이용될 수 있다. 대안적으로, 낮은 복잡도 인코더 구성의 경우에 전용의 제3 크로마 QP 테이블이 이용될 수 있다.
본 명세서에 도입된 낮은 복잡도 인코더 구성은 이하의 전형적인 인코딩 파라미터들에 대응한다. 분할 모드 레이트 왜곡 검색의 조합 레벨은 표준 성능 레벨 구성에 비해 일부 슬라이스들에서 더 감소될 수 있다. 전형적으로, 비대칭 이진 트리 분할 모드들은 시간 계층이 0보다 엄밀히 높은 B 슬라이스들에서 비활성화될 수 있다. 또한, 일부 인코더 측 레이트 왜곡 선택, 따라서 인코더 복잡도를 수반하는 일부 다른 코딩 모드들은 낮은 복잡도 인코더 프로파일/구성에서 비활성화될 수 있다. 예를 들어, 시간 예측에 대한 템플릿 기반 모션 검색(template-based motion search) 또는 템플릿 기반 어파인 모션 모델 검색(template based affine motion model search)과 같은 일부 인터 코딩 도구들은 낮은 복잡도 프로파일의 경우에 비활성화될 수 있다. 즉, 이용되는 도구들이 더 낮은 성능 레벨을 가질 때, 낮은 성능을 갖는 크로마 QP 테이블이 또한 선택된다.
적어도 하나의 실시예에 따르면, 표준 성능의 것, 고성능의 것, 및 선택적으로 낮은 복잡도의 추가적인 것 중에서의 크로마 QP 테이블의 선택은, 코딩 트리 구성에 따라, 그리고 가능하게는 고려된 슬라이스에서 허용된 분할 모드들에 따라, 각각의 슬라이스에서 동적으로 선택될 수 있다. 따라서, 이러한 실시예에서, 이용되는 크로마 QP 테이블은 슬라이스마다 변할 수 있다. 그 경우, 이용되는 크로마 QP 테이블은 슬라이스 헤더, 픽처 헤더 또는 슬라이스 그룹 헤더에서 시그널링될 수 있다.
마지막 실시예의 추가 대안에 따르면, 크로마 QP 테이블은 슬라이스, 픽처 또는 타일 그룹 헤더(tile group header)에서 명시적으로 시그널링되지 않을 수 있지만, 고려된 슬라이스에서 이용되는 코딩 트리 구성 및 또한 선택적으로, 고려된 슬라이스에서 허용되는 코딩 모드들에 따라, 디코더에 의해 추론될 수 있다.
마지막 실시예와 동일한 방식으로, 동일한 크로마 QP 테이블이 전체 시퀀스, GOP(Group of Pictures) 또는 인트라 기간에서 이용되는 경우, 이러한 시퀀스, 인트라 기간 또는 GOP에서 이용되는 크로마 QP 테이블은 또한 헤더 데이터에서 이용되고 시그널링되는 코딩 트리 구성의 함수로서, 또한 선택적으로, 고려된 시퀀스, 인트라 기간 또는 GOP의 코딩/디코딩에서 허용되는 코딩 모드의 함수로서, 디코더에 의해 추론될 수 있다.
크로마 양자화 파라미터를 적응시키는 상기의 방법들은 도 1 및 도 2에 도시된 바와 같이, JVET 또는 HEVC 인코더 및 디코더의 양자화 및 역양자화 모듈들(130, 140, 240)을 수정하는데 이용될 수 있다. 더욱이, 본 실시예들은 JVET 또는 HEVC로 제한되지 않으며, 다른 표준들, 권고들 및 이들의 확장들에 적용될 수 있다. 전술한 다양한 실시예들은 개별적으로 또는 조합하여 이용될 수 있다.
도 8은 다양한 양태들 및 실시예들이 구현되는 시스템의 예의 블록도를 도시한다. 적어도 하나의 실시예에서, 시스템(800)은 후술하는 다양한 컴포넌트들을 포함하는 디바이스로서 구현될 수 있고, 본 출원에서 설명된 양태들 중 하나 이상을 수행하도록 구성된다. 그러한 디바이스들의 예들은, 제한적인 것은 아니지만, 개인용 컴퓨터들, 랩톱 컴퓨터들, 스마트폰들, 태블릿 컴퓨터들, 디지털 멀티미디어 셋톱 박스들, 디지털 텔레비전 수신기들, 개인 비디오 기록 시스템들, 접속된 가전 기기들 및 서버들과 같은 다양한 전자 디바이스들을 포함한다. 시스템(800)의 요소들은, 단독으로 또는 조합하여, 단일 집적 회로, 다수의 IC들, 및/또는 개별 컴포넌트들로 구현될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시스템(800)의 처리 및 인코더/디코더 요소들은 다수의 IC들 및/또는 개별 컴포넌트들에 걸쳐 분산된다. 다양한 실시예들에서, 시스템(800)은, 예를 들어, 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트들을 통해, 다른 유사한 시스템들 또는 다른 전자 디바이스들에 통신가능하게 결합된다. 다양한 실시예들에서, 시스템(800)은 본 문서에서 설명된 양태들 중 하나 이상을 구현하도록 구성된다.
시스템(800)은, 예를 들어, 본 문서에 설명된 다양한 양태들을 구현하기 위해, 그 안에 로딩된 명령어들을 실행하도록 구성된 적어도 하나의 프로세서(810)를 포함한다. 프로세서(810)는 내장된 메모리, 입력 출력 인터페이스, 및 본 기술분야에 알려진 다양한 다른 회로들을 포함할 수 있다. 시스템(800)은 적어도 하나의 메모리(820)(예를 들어, 휘발성 메모리 디바이스 및/또는 비휘발성 메모리 디바이스)를 포함한다. 시스템(800)은, 제한적인 것은 아니지만, EEPROM, ROM, PROM, RAM, DRAM, SRAM, 플래시, 자기 디스크 드라이브, 및/또는 광학 디스크 드라이브를 포함하는, 비휘발성 메모리 및/또는 휘발성 메모리를 포함할 수 있는 저장 디바이스(840)를 포함한다. 저장 디바이스(840)는 비제한적인 예들로서, 내부 저장 디바이스, 부착된 저장 디바이스, 및/또는 네트워크 액세스가능 저장 디바이스를 포함할 수 있다.
시스템(800)은, 예를 들어, 인코딩된 비디오 또는 디코딩된 비디오를 제공하기 위해 데이터를 처리하도록 구성된 인코더/디코더 모듈(830)을 포함하고, 인코더/디코더 모듈(830)은 그 자신의 프로세서 및 메모리를 포함할 수 있다. 인코더/디코더 모듈(830)은 인코딩 및/또는 디코딩 기능들을 수행하기 위해 디바이스에 포함될 수 있는 모듈(들)을 나타낸다. 알려진 바와 같이, 디바이스는 인코딩 및 디코딩 모듈들 중 하나 또는 둘다를 포함할 수 있다. 추가적으로, 인코더/디코더 모듈(830)은 시스템(800)의 별도 요소로서 구현될 수 있거나, 또는 본 기술분야의 통상의 기술자에게 알려진 바와 같은 하드웨어 및 소프트웨어의 조합으로서 프로세서(810) 내에 통합될 수 있다.
본 문서에서 설명된 다양한 양태들을 수행하기 위해 프로세서(810) 또는 인코더/디코더(830) 상으로 로딩될 프로그램 코드는 저장 디바이스(840)에 저장될 수 있고, 후속하여 프로세서(810)에 의한 실행을 위해 메모리(820) 상으로 로딩될 수 있다. 다양한 실시예들에 따르면, 프로세서(810), 메모리(820), 저장 디바이스(840) 및 인코더/디코더 모듈(830) 중 하나 이상은 본 문서에서 설명된 프로세스들의 수행 동안 다양한 항목들 중 하나 이상을 저장할 수 있다. 그러한 저장된 항목들은, 제한적인 것은 아니지만, 입력 비디오, 디코딩된 비디오 또는 디코딩된 비디오의 부분들, 비트스트림, 매트릭스들, 변수들, 및 수학식들, 공식들, 동작들 및 동작 로직의 처리로부터의 중간 또는 최종 결과들을 포함할 수 있다.
몇몇 실시예들에서, 프로세서(810) 및/또는 인코더/디코더 모듈(830)의 내부에 있는 메모리는 명령어들을 저장하고, 인코딩 또는 디코딩 동안 필요한 처리를 위한 작업 메모리를 제공하기 위해 이용된다. 그러나, 다른 실시예들에서, (예를 들어, 처리 디바이스는 프로세서(810) 또는 인코더/디코더 모듈(830) 중 하나일 수 있는) 처리 디바이스 외부의 메모리가 이러한 기능들 중 하나 이상을 위해 이용된다. 외부 메모리는 메모리(820) 및/또는 저장 디바이스(840), 예를 들어, 동적 휘발성 메모리 및/또는 비휘발성 플래시 메모리일 수 있다. 몇몇 실시예들에서, 외부 비휘발성 플래시 메모리는 텔레비전의 운영 체제를 저장하기 위해 이용된다. 적어도 하나의 실시예에서, RAM과 같은 고속 외부 동적 휘발성 메모리는 MPEG-2, HEVC, 또는 VVC(Versatile Video Coding)와 같은 비디오 코딩 및 디코딩 동작들을 위한 작업 메모리로서 이용된다.
시스템(800)의 요소들에 대한 입력은 블록(866)에서 나타낸 바와 같이 다양한 입력 디바이스들을 통해 제공될 수 있다. 그러한 입력 디바이스들은, 제한적인 것은 아니지만, (i) 예를 들어, 브로드캐스터에 의해 공중을 통해 송신된 RF 신호를 수신하는 RF 부분, (ii) 복합 입력 단자, (iii) USB 입력 단자, 및/또는 (iv) HDMI 입력 단자를 포함한다.
다양한 실시예들에서, 블록(866)의 입력 디바이스들은 본 기술분야에 알려진 바와 같은 연관된 각각의 입력 처리 요소들을 갖는다. 예를 들어, RF 부분은 (i) 원하는 주파수를 선택하는 것(또한 신호를 선택하는 것, 또는 주파수들의 대역으로 신호를 대역 제한하는 것으로도 지칭됨), (ii) 선택된 신호를 하향 변환하는 것, (iii) 주파수들의 더 좁은 대역으로 다시 대역 제한하여 특정 실시예들에서 채널로 지칭될 수 있는 (예를 들어) 신호 주파수 대역을 선택하는 것, (iv) 하향 변환 및 대역 제한된 신호를 복조하는 것, (v) 에러 정정을 수행하는 것, 및 (vi) 원하는 데이터 패킷들의 스트림을 선택하기 위해 역다중화하는 것을 위해 필요한 요소들과 연관될 수 있다. 다양한 실시예들의 RF 부분은 이러한 기능들을 수행하기 위한 하나 이상의 요소, 예를 들어, 주파수 선택기들, 신호 선택기들, 대역 제한기들, 채널 선택기들, 필터들, 하향 변환기들, 복조기들, 에러 정정기들, 및 역다중화기들을 포함한다. RF 부분은, 예를 들어, 수신된 신호를 더 낮은 주파수(예를 들어, 중간 주파수 또는 근사 기저대역 주파수(near-baseband frequency))로 또는 기저대역으로 하향 변환하는 것을 포함하는 다양한 이러한 기능들을 수행하는 튜너(tuner)를 포함할 수 있다. 하나의 셋톱 박스 실시예에서, RF 부분 및 그것의 연관된 입력 처리 요소는 유선(예를 들어, 케이블) 매체를 통해 송신된 RF 신호를 수신하고, 필터링, 하향 변환, 및 다시 원하는 주파수 대역으로의 필터링에 의해 주파수 선택을 수행한다. 다양한 실시예들은 전술한(및 다른) 요소들의 순서를 재배열하고, 이 요소들 중 일부를 제거하고/하거나, 유사하거나 상이한 기능들을 수행하는 다른 요소들을 추가한다. 요소들을 추가하는 것은, 예를 들어, 증폭기들 및 아날로그-디지털 변환기(analog-to-digital converter)를 삽입하는 것과 같이, 기존의 요소들 사이에 요소들을 삽입하는 것을 포함할 수 있다. 다양한 실시예들에서, RF 부분은 안테나를 포함한다.
추가적으로, USB 및/또는 HDMI 단자들은 USB 및/또는 HDMI 접속들을 통해 시스템(800)을 다른 전자 디바이스들에 접속하기 위한 각각의 인터페이스 프로세서들을 포함할 수 있다. 입력 처리의 다양한 양태들, 예를 들어, 리드-솔로몬 에러 정정(Reed-Solomon error correction)이, 필요에 따라, 예를 들어, 별도의 입력 처리 IC 내에서 또는 프로세서(810) 내에서 구현될 수 있다는 것을 이해해야 한다. 유사하게, USB 또는 HDMI 인터페이스 처리의 양태들은 필요에 따라 별도의 인터페이스 IC들 내에서 또는 프로세서(810) 내에서 구현될 수 있다. 복조된, 에러 정정된, 및 역다중화된 스트림은, 예를 들어, 출력 디바이스 상의 제시를 위해 필요에 따라 데이터 스트림을 처리하기 위해 메모리 및 저장 요소들과 조합하여 동작하는 프로세서(810), 및 인코더/디코더(830)를 포함하는 다양한 처리 요소들에 제공된다.
시스템(800)의 다양한 요소들이 통합된 하우징 내에 제공될 수 있고, 통합된 하우징 내에, 다양한 요소들이 상호접속될 수 있고, I2C 버스, 배선(wiring), 및 인쇄 회로 보드를 포함하는 적절한 접속 배열, 예를 들어, 본 기술분야에 알려진 바와 같은 내부 버스를 이용하여 그 사이에 데이터를 송신할 수 있다.
시스템(800)은 통신 채널(870)을 통해 다른 디바이스들과의 통신을 가능하게 하는 통신 인터페이스(850)를 포함한다. 통신 인터페이스(850)는, 제한적인 것은 아니지만, 통신 채널(870)을 통해 데이터를 송신 및 수신하도록 구성된 송수신기를 포함할 수 있다. 통신 인터페이스(850)는, 제한적인 것은 아니지만, 모뎀 또는 네트워크 카드를 포함할 수 있고, 통신 채널(870)은, 예를 들어, 유선 및/또는 무선 매체 내에서 구현될 수 있다.
데이터는, 다양한 실시예들에서, IEEE 802.11과 같은 Wi-Fi 네트워크를 이용하여 시스템(800)에 스트리밍된다. 이러한 실시예들의 Wi-Fi 신호는 Wi-Fi 통신들을 위해 적응되는 통신 인터페이스(850) 및 통신 채널(870)을 통해 수신된다. 이러한 실시예들의 통신 채널(870)은 전형적으로, 스트리밍 애플리케이션들 및 다른 오버-더-톱(over-the-top) 통신들을 허용하기 위한 인터넷을 포함하는 외부 네트워크들에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 접속된다. 다른 실시예들은 입력 블록(866)의 HDMI 접속을 통해 데이터를 전달하는 셋톱 박스를 이용하여, 스트리밍된 데이터를 시스템(800)에 제공한다. 또 다른 실시예들은 입력 블록(866)의 RF 접속을 이용하여, 스트리밍된 데이터를 시스템(800)에 제공한다.
시스템(800)은 디스플레이(880), 스피커들(882), 및 다른 주변 디바이스들(884)을 포함하는 다양한 출력 디바이스들에 출력 신호를 제공할 수 있다. 다른 주변 디바이스들(884)은, 실시예들의 다양한 예들에서, 독립형 DVR, 디스크 플레이어, 스테레오 시스템, 조명 시스템, 및 시스템(800)의 출력에 기초한 기능을 제공하는 다른 디바이스들 중 하나 이상을 포함한다. 다양한 실시예들에서, 제어 신호들은 AV Link, CEC, 또는 사용자 개입을 이용하거나 이용하지 않고 디바이스간 제어(device-to-device control)를 가능하게 하는 다른 통신 프로토콜들과 같은 시그널링을 이용하여 시스템(800)과 디스플레이(880), 스피커들(882), 또는 다른 주변 디바이스들(884) 사이에서 통신된다. 출력 디바이스들은 각각의 인터페이스들(860, 862 및 864)을 통한 전용 접속들을 통해 시스템(800)에 통신가능하게 결합될 수 있다. 대안적으로, 출력 디바이스들은 통신 인터페이스(850)를 통해 통신 채널(870)을 이용하여 시스템(800)에 접속될 수 있다. 디스플레이(880) 및 스피커들(882)은, 예를 들어, 텔레비전과 같은 전자 디바이스에서 시스템(800)의 다른 컴포넌트들과 함께 단일 유닛에 통합될 수 있다. 다양한 실시예들에서, 디스플레이 인터페이스(860)는, 예를 들어, 타이밍 제어기(T Con) 칩과 같은 디스플레이 드라이버를 포함한다.
디스플레이(880) 및 스피커(882)는 대안적으로, 예를 들어, 입력(866)의 RF 부분들이 별도의 셋톱 박스의 일부인 경우, 다른 컴포넌트들 중 하나 이상으로부터 분리될 수 있다. 디스플레이(880) 및 스피커들(882)이 외부 컴포넌트들인 다양한 실시예들에서, 출력 신호는, 예를 들어, HDMI 포트들, USB 포트들, 또는 복합(COMP) 출력들을 포함하는 전용 출력 접속들을 통해 제공될 수 있다.
본 명세서에 설명된 구현들은, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림 또는 신호로 구현될 수 있다. (예를 들어, 방법으로서만 논의된) 단일 형태의 구현의 문맥으로만 기술될지라도, 논의된 특징들의 구현은 또한 다른 형태들(예를 들어, 장치 또는 프로그램)로 구현될 수도 있다. 장치는, 예를 들어, 적절한 하드웨어, 소프트웨어 및 펌웨어로 구현될 수 있다. 방법들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래밍가능 로직 디바이스를 포함하는 처리 디바이스들을 일반적으로 지칭하는, 예를 들어, 프로세서와 같은, 예를 들어, 장치로 구현될 수 있다. 프로세서들은 또한, 예를 들어, 컴퓨터들, 셀폰들, PDA(portable/personal digital assistant)들, 및 최종 사용자들 간의 정보의 통신을 용이하게 하는 다른 디바이스들과 같은, 통신 디바이스들을 포함한다.
도 9a는 크로마 양자화 적응을 구현하는 실시예에 따른 인코딩 방법의 예의 흐름도를 도시한다. 그러한 인코딩 방법은 도 8에서 설명된 시스템(800)에 의해 수행될 수 있고, 더 정확하게는 프로세서(810)에 의해 구현될 수 있다. 적어도 하나의 실시예에서, 단계(910)에서, 프로세서(810)는 어느 크로마 QP 테이블 세트가 이용되어야 하는지를 선택한다. 전술한 바와 같이, 선택은 상이한 기술들을 이용하여, 예를 들어, 사용자에 의해 수동으로 또는 인코더에 의해 자동으로, 예를 들어, 코딩 트리 구성에 따라 각각의 슬라이스에서 동적으로 행해질 수 있다. 일단 이러한 선택이 행해지면, 크로마 성분들에 대한 선택된 양자화 파라미터들에 따라 단계(920)에서 인코딩이 수행되고, 크로마 QP 테이블의 선택은 하이 레벨 신택스 요소들에서(예를 들어, 다음 SPS, PPS 또는 심지어 슬라이스 헤더에서) 시그널링된다.
도 9b는 크로마 양자화 적응을 구현하는 실시예에 따른 디코딩 방법의 일부의 예의 흐름도를 도시한다. 그러한 디코딩 방법은 도 8에서 설명된 시스템(800)에 의해 수행될 수 있고, 더 정확하게는 프로세서(810)에 의해 구현될 수 있다. 적어도 하나의 실시예에서, 단계(950)에서, 신호가 액세스된다(예를 들어, 입력 인터페이스 상에서 수신되거나 매체 지원(media support)으로부터 판독된다). 하이 레벨 신택스 요소들은 인코딩 디바이스에서 선택된 크로마 성분들에 대한 양자화 파라미터들을 결정하기 위해 추출 및 분석된다. 단계(960)에서, 이들 파라미터들은 크로마 성분들을 역양자화하는데 이용된다. 종래의 디코딩 프로세스는, 예를 들어, 디바이스에 제공되거나 디바이스 상에 디스플레이될 수 있는 디코딩된 이미지(도 9b에 도시되지 않음)를 생성하기 위해 이용된다.
"하나의 실시예" 또는 "실시예" 또는 "하나의 구현" 또는 "구현" 뿐만 아니라, 그것의 다른 변형들에 대한 참조는, 실시예들과 관련하여 설명된 특정한 특징, 구조, 특성 등이 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 명세서 전반에 걸친 다양한 위치들에서 등장하는 문구 "하나의 실시예에서" 또는 "실시예에서" 또는 "하나의 구현에서" 또는 "구현에서" 뿐만 아니라, 임의의 다른 변형들의 출현들은, 그 모두가 반드시 동일한 실시예를 참조할 필요는 없다.
추가적으로, 본 출원 또는 그 청구항들은 다양한 정보를 "결정하는 것"을 나타낼 수 있다. 정보를 결정하는 것은, 예를 들어, 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 또는 메모리로부터 정보를 검색하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원 또는 그 청구항들은 다양한 정보에 "액세스하는 것"을 나타낼 수 있다. 정보에 액세스하는 것은, 예를 들어, 정보를 수신하는 것, (예를 들어, 메모리로부터) 정보를 검색하는 것, 정보를 저장하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것 중 하나 이상을 포함할 수 있다.
추가적으로, 본 출원 또는 그 청구항들은 다양한 정보를 "수신하는 것"을 나타낼 수 있다. 수신하는 것은, "액세스하는 것"과 같이, 광의의 용어로 의도된다. 정보를 수신하는 것은, 예를 들어, 정보에 액세스하는 것, 또는 (예를 들어, 메모리 또는 광학 매체 저장소로부터) 정보를 검색하는 것 중 하나 이상을 포함할 수 있다. 또한, "수신하는 것"은 전형적으로, 예를 들어, 정보를 저장하는 것, 정보를 처리하는 것, 정보를 송신하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 소거하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것과 같은 동작들 동안 하나의 방식 또는 다른 방식으로 수반된다.
예를 들어, "A/B", "A 및/또는 B" 및 "A 및 B 중 적어도 하나"의 경우들에서, 이하의 "/", "및/또는" 및 "~ 중 적어도 하나" 중 임의의 것의 이용은, 제1의 열거된 옵션 (A)만의 선택, 또는 제2의 열거된 옵션 (B)만의 선택, 또는 두 옵션들 (A 및 B)의 선택을 포함하도록 의도됨을 이해할 것이다. 추가 예로서, "A, B, 및/또는 C" 및 "A, B, 및 C 중 적어도 하나"의 경우들에서, 그러한 문구는 제1의 열거된 옵션 (A)만의 선택, 또는 제2의 열거된 옵션 (B)만의 선택, 또는 제3의 열거된 옵션 (C)만의 선택, 또는 제1 및 제2의 열거된 옵션들 (A 및 B)만의 선택, 또는 제1 및 제3의 열거된 옵션들 (A 및 C)만의 선택, 또는 제2 및 제3의 열거된 옵션들 (B 및 C)만의 선택, 또는 3개의 옵션들 (A 및 B 및 C) 전부의 선택을 포함하도록 의도된다. 이것은, 본 기술분야 및 관련 기술분야의 통상의 기술자에 의해 쉽게 명백해지는 바와 같이, 열거된 많은 항목들에 대해 확장될 수 있다.
본 기술분야의 통상의 기술자에게 명백한 바와 같이, 구현들은, 예를 들어, 저장되거나 송신될 수 있는 정보를 운반하도록 포맷팅된 다양한 신호들을 생성할 수 있다. 정보는, 예를 들어, 방법을 수행하기 위한 명령어들, 또는 설명된 구현들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 설명된 실시예의 비트스트림을 운반하도록 포맷팅될 수 있다. 그러한 신호는, 예를 들어, (예컨대, 스펙트럼의 무선 주파수 부분을 이용하여) 전자기파로서 또는 기저대역 신호로서 포맷팅될 수 있다. 포맷팅은, 예를 들어, 데이터 스트림을 인코딩하고, 인코딩된 데이터 스트림으로 캐리어(carrier)를 변조하는 것을 포함할 수 있다. 신호가 운반하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는 알려진 바와 같은 다양한 상이한 유선 또는 무선 링크들을 통해 송신될 수 있다. 신호는 프로세서 판독가능 매체 상에 저장될 수 있다.
제1 양태에 따른 변형 실시예에 따르면, 적어도 상기 인코딩된 블록 및 상기 적어도 하나의 선택된 크로마 양자화 파라미터를 나타내는 메타데이터를 포함하는 비트스트림을 생성하는 단계를 더 포함하는 방법이 제시된다.
제2 양태에 따른 변형 실시예에 따르면, 이미지의 복수의 블록들의 역양자화된 크로마 값들에 기초하여 재구성된 이미지를 생성하는 단계를 더 포함하는 방법이 제시된다.
제3 양태에 따른 변형 실시예에 따르면, 이미지의 적어도 하나의 블록의 인코딩을 더 포함하는 신호가 제시된다.
제4 양태에 따른 변형 실시예에 따르면, 적어도 상기 인코딩된 블록 및 상기 적어도 하나의 선택된 크로마 양자화 파라미터를 나타내는 메타데이터를 포함하는 비트스트림을 생성하기 위한 수단을 더 포함하는 디바이스가 제시된다.
제5 양태에 따른 변형 실시예에 따르면, 이미지의 복수의 블록들의 역양자화된 크로마 값들에 기초하여 재구성된 이미지를 생성하는 것을 더 포함하는 디바이스가 제시된다.

Claims (15)

  1. 방법으로서,
    이미지의 블록에 대해, 인코딩 성능 레벨에 기초하여 크로마 양자화 파라미터들의 다수의 세트들 중에서 적어도 하나의 크로마 양자화 파라미터를 선택하는 단계―상기 크로마 양자화 파라미터들의 세트들은 상기 이미지가 모션 예측되는지의 여부에 따라 상이함―;
    적어도 하나의 선택된 크로마 양자화 파라미터에 기초하여 상기 블록을 인코딩하는 단계―상기 인코딩은 상기 적어도 하나의 선택된 크로마 양자화 파라미터에 따라 상기 블록의 크로마 값들을 양자화하는 것을 포함함―; 및
    적어도 상기 인코딩된 블록 및 상기 적어도 하나의 선택된 크로마 양자화 파라미터를 나타내는 메타데이터를 포함하는 비트스트림을 생성하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 인코딩 성능 레벨은 코딩에 관련된 정보에 따라 자동으로 선택되고, 상기 정보는 코딩 트리 구성 또는 코딩 모드 또는 분할 모드에 관련되는, 방법.
  3. 방법으로서,
    이미지 또는 비디오의 블록의 메타데이터에 액세스하는 단계―상기 메타데이터는 크로마 양자화 파라미터들의 다수의 세트들 중에서의 적어도 하나의 크로마 양자화 파라미터의 선택을 나타내고, 상기 선택은 인코딩 성능 레벨에 기초함―; 및
    적어도 하나의 크로마 양자화 파라미터의 상기 선택을 나타내는 상기 메타데이터에 따라 상기 블록의 크로마 값들을 역양자화하는 단계를 포함하는, 방법.
  4. 제3항에 있어서,
    상기 이미지의 복수의 블록들의 상기 역양자화된 크로마 값들에 기초하여 재구성된 이미지를 생성하는 단계를 더 포함하는, 방법.
  5. 인코딩된 이미지를 위한 신호로서,
    상기 이미지의 적어도 하나의 블록, 및 인코딩 성능 레벨에 기초하여 크로마 양자화 파라미터들의 다수의 세트들 중에서 선택된 적어도 하나의 크로마 양자화 파라미터를 나타내는 정보를 포함하고, 상기 크로마 양자화 파라미터들의 세트들은 상기 이미지가 모션 예측되는지의 여부에 따라 상이하고, 상기 선택은 이미지의 적어도 하나의 블록에 대한 것인, 신호.
  6. 디바이스로서,
    이미지의 블록에 대해, 인코딩 성능 레벨에 기초하여 크로마 양자화 파라미터들의 다수의 세트들 중에서 적어도 하나의 크로마 양자화 파라미터를 선택하는 수단―상기 크로마 양자화 파라미터들의 세트들은 상기 이미지가 모션 예측되는지의 여부에 따라 상이함―;
    적어도 하나의 선택된 크로마 양자화 파라미터에 기초하여 상기 블록을 인코딩하는 수단―상기 인코딩은 상기 적어도 하나의 선택된 크로마 양자화 파라미터에 따라 상기 블록의 크로마 값들을 양자화하는 것을 포함함―; 및
    적어도 상기 인코딩된 블록 및 상기 적어도 하나의 선택된 크로마 양자화 파라미터를 나타내는 메타데이터를 포함하는 비트스트림을 생성하는 수단을 포함하는, 디바이스.
  7. 제7항에 있어서, 상기 인코딩 성능 레벨은 코딩에 관련된 정보에 따라 자동으로 선택되고, 상기 정보는 코딩 트리 구성 또는 코딩 모드 또는 분할 모드에 관련되는, 디바이스.
  8. 디바이스로서,
    하나 이상의 프로세서―상기 하나 이상의 프로세서는,
    이미지 또는 비디오의 블록의 메타데이터에 액세스하고―상기 메타데이터는 크로마 양자화 파라미터들의 다수의 세트들 중에서의 적어도 하나의 크로마 양자화 파라미터의 선택을 나타내고, 상기 선택은 인코딩 성능 레벨에 기초함―;
    적어도 하나의 크로마 양자화 파라미터의 상기 선택을 나타내는 상기 메타데이터에 따라 상기 블록의 크로마 값들을 역양자화하고;
    상기 이미지의 복수의 블록들의 상기 역양자화된 크로마 값들에 기초하여 재구성된 이미지를 생성하도록 구성됨―; 및
    상기 재구성된 이미지를 디스플레이하도록 구성된 디스플레이를 포함하는, 디바이스.
  9. 제8항에 있어서,
    상기 이미지의 복수의 블록들의 상기 역양자화된 크로마 값들에 기초하여 재구성된 이미지를 생성하는 것을 더 포함하는, 디바이스.
  10. 디바이스로서,
    이미지 또는 비디오를 포함하는 신호를 공중을 통해 수신하도록 구성된 안테나;
    하나 이상의 프로세서―상기 하나 이상의 프로세서는,
    상기 수신된 이미지 또는 비디오의 블록의 메타데이터에 액세스하고―상기 메타데이터는 크로마 양자화 파라미터들의 다수의 세트들 중에서의 적어도 하나의 크로마 양자화 파라미터의 선택을 나타내고, 상기 선택은 인코딩 성능 레벨에 기초함―;
    적어도 하나의 크로마 양자화 파라미터의 상기 선택을 나타내는 상기 메타데이터에 따라 상기 블록의 크로마 값들을 역양자화하고;
    상기 이미지의 복수의 블록들의 상기 역양자화된 크로마 값들에 기초하여 재구성된 이미지를 생성하도록 구성됨―; 및
    상기 재구성된 이미지를 제공하도록 구성된 출력을 포함하는, 디바이스.
  11. 제1항 내지 제10항 중 어느 한 항의 방법 또는 장치에 따라 생성된 데이터 콘텐츠를 포함하는, 비일시적 컴퓨터 판독가능 매체.
  12. 제1항 내지 제4항 중 적어도 한 항에 따른 방법의 단계들을 구현하기 위해 프로세서에 의해 실행가능한 프로그램 코드 명령어들을 포함하는, 컴퓨터 프로그램.
  13. 비일시적 컴퓨터 판독가능 매체 상에 저장되고, 제1항 내지 제4항 중 적어도 한 항에 따른 방법의 단계들을 구현하기 위해 프로세서에 의해 실행가능한 프로그램 코드 명령어들을 포함하는, 컴퓨터 프로그램 제품.
  14. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 크로마 양자화 파라미터들의 세트들은 0보다 크거나 같은 출력들을 갖는 단방향 테이블들이고, 상기 테이블들의 값들은 입력 인덱스의 함수로서 비감소하는, 방법.
  15. 제15항에 있어서,
    인덱스 값에 대해, 더 높은 인코딩 성능 레벨에 대한 상기 크로마 양자화 파라미터 테이블의 세트는 더 낮은 인코딩 성능 레벨에 대한 상기 크로마 양자화 파라미터 테이블의 세트에서 동일한 입력 인덱스 값을 갖는 상기 출력보다 크거나 또는 동일한 값을 출력하는, 방법.
KR1020207030920A 2018-03-30 2019-03-27 비디오 인코딩 및 디코딩에서의 크로마 양자화 파라미터 조정 KR20200128587A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
EP18305386 2018-03-30
EP18305386.7 2018-03-30
EP18305412 2018-04-06
EP18305412.1 2018-04-06
EP18305848.6A EP3591971A1 (en) 2018-07-02 2018-07-02 Chroma quantization parameter adjustment in video encoding and decoding
EP18305848.6 2018-07-02
PCT/US2019/024262 WO2019191218A1 (en) 2018-03-30 2019-03-27 Chroma quantization parameter adjustment in video encoding and decoding

Publications (1)

Publication Number Publication Date
KR20200128587A true KR20200128587A (ko) 2020-11-13

Family

ID=66794064

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207030920A KR20200128587A (ko) 2018-03-30 2019-03-27 비디오 인코딩 및 디코딩에서의 크로마 양자화 파라미터 조정

Country Status (6)

Country Link
US (2) US11909974B2 (ko)
EP (1) EP3777151A1 (ko)
JP (1) JP2021518692A (ko)
KR (1) KR20200128587A (ko)
CN (3) CN117176951A (ko)
WO (1) WO2019191218A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11303897B2 (en) * 2020-02-25 2022-04-12 Tencent America LLC Method and apparatus for signaling of chroma quantization parameters
BR112022025443A2 (pt) * 2020-06-22 2023-04-25 Beijing Bytedance Network Tech Co Ltd Método e aparelho para processar dados de vídeo, e, meios de armazenamento e de gravação legíveis por computador não transitórios

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8208564B2 (en) 2005-06-24 2012-06-26 Ntt Docomo, Inc. Method and apparatus for video encoding and decoding using adaptive interpolation
US8711925B2 (en) * 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
DE602007009730D1 (de) 2007-06-29 2010-11-18 Fraunhofer Ges Forschung Skalierbare videocodierung, die pixelwert-verfeinerungsskalierbarkeit unterstützt
JP5094760B2 (ja) 2009-02-13 2012-12-12 三菱電機株式会社 動画像符号化装置
US9078008B2 (en) 2009-04-20 2015-07-07 Dolby Laboratories Licensing Corporation Adaptive inter-layer interpolation filters for multi-layered video delivery
EP2988503A1 (en) 2010-01-14 2016-02-24 Dolby Laboratories Licensing Corporation Buffered adaptive filters
EP2661879B1 (en) 2011-01-03 2019-07-10 HFI Innovation Inc. Method of filter-unit based in-loop filtering
KR101566366B1 (ko) 2011-03-03 2015-11-16 한국전자통신연구원 색차 성분 양자화 매개 변수 결정 방법 및 이러한 방법을 사용하는 장치
JP5763210B2 (ja) 2011-04-21 2015-08-12 メディアテック インコーポレイテッド 改良されたループ型フィルタリング処理のための方法と装置
WO2013094960A1 (ko) 2011-12-23 2013-06-27 한국전자통신연구원 시간적 머징 후보의 참조 픽쳐 인덱스 설정 방법 및 장치
WO2013109838A1 (en) * 2012-01-20 2013-07-25 Sony Corporation Chroma quantization parameter extension
US9591302B2 (en) * 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US9414054B2 (en) * 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
US20140254661A1 (en) 2013-03-08 2014-09-11 Samsung Electronics Co., Ltd. Method and apparatus for applying secondary transforms on enhancement-layer residuals
EP2816805B1 (en) 2013-05-29 2020-12-30 BlackBerry Limited Lossy data compression with conditional reconstruction reinfinement
US10440365B2 (en) * 2013-06-28 2019-10-08 Velos Media, Llc Methods and devices for emulating low-fidelity coding in a high-fidelity coder
US9294766B2 (en) * 2013-09-09 2016-03-22 Apple Inc. Chroma quantization in video coding
US10142642B2 (en) * 2014-06-04 2018-11-27 Qualcomm Incorporated Block adaptive color-space conversion coding
US20150373327A1 (en) * 2014-06-20 2015-12-24 Qualcomm Incorporated Block adaptive color-space conversion coding
US10057574B2 (en) 2015-02-11 2018-08-21 Qualcomm Incorporated Coding tree unit (CTU) level adaptive loop filter (ALF)
EP4221202A1 (en) * 2015-06-05 2023-08-02 Dolby Laboratories Licensing Corporation Image encoding and decoding method and image decoding device
WO2017008263A1 (en) 2015-07-15 2017-01-19 Mediatek Singapore Pte. Ltd. Conditional binary tree block partitioning structure
KR102251828B1 (ko) 2015-09-02 2021-05-13 삼성전자주식회사 율―왜곡 최적화 기반의 양자화 방법 및 그 장치
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
KR102601732B1 (ko) 2016-05-31 2023-11-14 삼성디스플레이 주식회사 영상 부호화 방법 및 영상 복호화 방법
US10448056B2 (en) * 2016-07-15 2019-10-15 Qualcomm Incorporated Signaling of quantization information in non-quadtree-only partitioned video coding
US10972733B2 (en) 2016-07-15 2021-04-06 Qualcomm Incorporated Look-up table for enhanced multiple transform
US10200698B2 (en) * 2016-08-09 2019-02-05 Intel Corporation Determining chroma quantization parameters for video coding
US10462462B2 (en) 2016-09-29 2019-10-29 Qualcomm Incorporated Motion vector difference coding technique for video coding
US10681370B2 (en) 2016-12-29 2020-06-09 Qualcomm Incorporated Motion vector generation for affine motion model for video coding
US10778978B2 (en) * 2017-08-21 2020-09-15 Qualcomm Incorporated System and method of cross-component dynamic range adjustment (CC-DRA) in video coding
US10812798B2 (en) * 2017-10-19 2020-10-20 Qualcomm Incorporated Chroma quantization parameter (QP) offset
US10681358B2 (en) * 2017-12-19 2020-06-09 Qualcomm Incorporated Quantization parameter control for video coding with joined pixel/transform based quantization
CN111742554B (zh) * 2018-02-01 2021-08-06 联发科技股份有限公司 具有视频数据自适应量化的视频编码或解码方法和装置

Also Published As

Publication number Publication date
JP2021518692A (ja) 2021-08-02
EP3777151A1 (en) 2021-02-17
CN111937383B (zh) 2023-08-01
US11909974B2 (en) 2024-02-20
CN111937383A (zh) 2020-11-13
CN117176950A (zh) 2023-12-05
WO2019191218A1 (en) 2019-10-03
US20240089437A1 (en) 2024-03-14
CN117176951A (zh) 2023-12-05
US20210051326A1 (en) 2021-02-18

Similar Documents

Publication Publication Date Title
CN112352427B (zh) 基于图像块的非对称二元分区的视频编码和解码的方法和装置
CN113228650A (zh) 基于块的表面的视频编码或解码的量化
CN112889287A (zh) 广义双向预测和加权预测
US20240089437A1 (en) Chroma quantization parameter adjustment in video encoding and decoding
KR20210018270A (ko) 비디오 인코딩 또는 디코딩을 위한 신택스 요소들
CN114631311A (zh) 将同质语法与编码工具一起使用的方法和装置
CN112771874A (zh) 用于画面编码和解码的方法和设备
WO2020185492A1 (en) Transform selection and signaling for video encoding or decoding
CN113545047A (zh) 帧内预测模式分区
CN114930819A (zh) 三角形合并模式中的子块合并候选
WO2020068531A1 (en) Method and apparatus for determining chroma quantization parameters when using separate coding trees for luma and chroma
EP3591971A1 (en) Chroma quantization parameter adjustment in video encoding and decoding
US20230336721A1 (en) Combining abt with vvc sub-block-based coding tools
US20230232045A1 (en) Scaling process for joint chroma coded blocks
WO2024066320A1 (en) Encoding/decoding video picture data
EP3591969A1 (en) Syntax elements for video encoding or decoding
CN112806013A (zh) 仿射模式下基于块大小的运动矢量编码
CN114041286A (zh) 用于视频编码和解码的色度格式相关量化矩阵
EP3891984A1 (en) Method and device for picture encoding and decoding
CN114270829A (zh) 局部照明补偿标志继承
CN113170153A (zh) 基于二元树初始化当前图片参考块矢量

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal