KR20170139016A - 높은 동적 범위 및 넓은 색역 비디오 코딩에 대한 동적 범위 조정 - Google Patents

높은 동적 범위 및 넓은 색역 비디오 코딩에 대한 동적 범위 조정 Download PDF

Info

Publication number
KR20170139016A
KR20170139016A KR1020177029622A KR20177029622A KR20170139016A KR 20170139016 A KR20170139016 A KR 20170139016A KR 1020177029622 A KR1020177029622 A KR 1020177029622A KR 20177029622 A KR20177029622 A KR 20177029622A KR 20170139016 A KR20170139016 A KR 20170139016A
Authority
KR
South Korea
Prior art keywords
video data
video
color
dynamic range
range adjustment
Prior art date
Application number
KR1020177029622A
Other languages
English (en)
Inventor
드미트로 루사노브스키
산스리 도네 부그다이키
로할스 호엘 솔레
마르타 카르체비츠
성원 이
아다르쉬 크리쉬난 라마수브라모니안
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20170139016A publication Critical patent/KR20170139016A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • G06T5/007
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20208High dynamic range [HDR] image processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Processing Of Color Television Signals (AREA)
  • Color Television Systems (AREA)
  • Image Processing (AREA)

Abstract

본 개시는 비디오 데이터를 프로세싱하는 것과 관련되며, 고 동적 범위/광색역 (HDR/WCG) 컬러 컨테이너에 순응하도록 비디오 데이터를 프로세싱하는 것을 포함한다. 하기에 더 상세히 설명되는 것과 같이, 본 개시의 기술들은 동적 범위 조정 (DRA) 파라미터들을 포함하고, HDR/WCG 컬러 컨테이너의 더 양호한 사용을 실시하기 위해 DRA 파라미터들을 비디오 데이터에 적용한다. 본 개시의 기술들은 또한, 비디오 디코더 또는 비디오 포스트 프로세싱 디바이스가 본 개시의 DRA 기술들을 반전시켜 비디오 데이터의 오리지널 또는 네이티브 컬러 컨테이너를 복원하게 하는, 신택스 엘리먼트들을 시그널링하는 것을 포함할 수도 있다.

Description

높은 동적 범위 및 넓은 색역 비디오 코딩에 대한 동적 범위 조정{DYNAMIC RANGE ADJUSTMENT FOR HIGH DYNAMIC RANGE AND WIDE COLOR GAMUT VIDEO CODING}
본 출원은 2015 년 4 월 17 일자로 출원된 미국 가출원 제 62/149,446 호의 이점을 청구하며, 그 전체 내용은 참조에 의해 본원에 통합된다.
본 개시물은 비디오 프로세싱에 관한 것이다.
디지털 비디오 능력들은 디지털 텔레비전들, 디지털 직접 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, 개인용 디지털 보조기들 (PDA들), 랩탑 또는 데스크탑 컴퓨터들, 태블릿 컴퓨터들, e-북 리더들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 무선 전화기들, 소위 "스마트 폰들", 비디오 텔레컨퍼런싱 디바이스들, 비디오 스트리밍 디바이스들 등을 포함한, 광범위한 디바이스들에 통합될 수 있다. 디지털 비디오 디바이스들은 MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Part 10, AVC (Advanced Video Coding), ITU-T H.265, HEVC (High Efficiency Video Coding) 에 의해 정의된 표준들, 및 이러한 표준들의 확장물들에서 설명된 바와 같은 비디오 코딩 기술들을 구현한다. 비디오 디바이스들은 그러한 비디오 코딩 기술들을 구현함으로써 디지털 비디오 정보를 더 효율적으로 송신, 수신, 인코딩, 디코딩, 및/또는 저장할 수도 있다.
비디오 코딩 기술들은 비디오 시퀀스들에 내재한 리던던시를 감소 또는 제거하기 위해 공간 (인트라-픽처) 예측 및/또는 시간 (인터-픽처) 예측을 포함한다. 블록 기반 비디오 코딩에 대해, 비디오 슬라이스 (예를 들어, 비디오 프레임 또는 비디오 프레임의 부분) 는 비디오 블록들로 파티셔닝될 수도 있으며, 이 비디오 블록들은 또한 트리블록들, 코딩 유닛들 (CU들) 및/또는 코딩 노드들로서 지칭될 수도 있다. 픽처의 인트라-코딩된 (I) 슬라이스에서의 비디오 블록들은 동일 픽처의 이웃 블록들에서의 레퍼런스 샘플들에 대한 공간 예측을 이용하여 인코딩된다. 픽처의 인터-코딩된 (P 또는 B) 슬라이스에서의 비디오 블록들은 동일 픽처의 이웃 블록들에서의 레퍼런스 샘플들에 대한 공간 예측, 또는 다른 레퍼런스 픽처들에서의 레퍼런스 샘플들에 대한 시간 예측을 이용할 수도 있다. 픽처들은 프레임들로서 지칭될 수도 있으며, 레퍼런스 픽처들은 레퍼런스 프레임들로서 지칭될 수도 있다.
공간 또는 시간 예측은 코딩될 블록에 대한 예측 블록을 발생시킨다. 잔차 데이터는 코딩될 오리지널 블록과 예측 블록 간의 픽셀 차이들을 나타낸다. 인터-코딩된 블록은 예측 블록을 형성하는 레퍼런스 샘플들의 블록을 포인팅하는 모션 벡터, 및 코딩된 블록과 예측 블록 간의 차이를 나타내는 잔차 데이터에 따라 인코딩된다. 인트라-코딩된 블록은 인트라-코딩 모드 및 잔차 데이터에 따라 인코딩된다. 추가적인 압축을 위해, 잔차 데이터는 픽셀 도메인으로부터 변환 도메인으로 변환되어, 잔차 변환 계수들을 발생시킬 수도 있으며, 그 후, 이 잔차 변환 계수들은 양자화될 수도 있다. 2차원 어레이로 초기에 배열되는 양자화된 변환 계수들은 변환 계수들의 1차원 벡터를 생성하기 위해 스캐닝될 수도 있으며, 엔트로피 코딩이 훨씬 더 많은 압축을 달성하도록 적용될 수도 있다.
캡처되고, 코딩되고, 디스플레이될 수도 있는 컬러 값들의 전체 수가 색역 (color gamut) 에 의해 정의될 수도 있다. 색역은 디바이스가 캡처할 (예컨대, 카메라) 또는 재생할 (예컨대, 디스플레이) 컬러들의 범위를 지칭한다. 종종, 색역들은 디바이스에 따라 상이하다. 비디오 코딩에 대하여, 비디오 데이터에 대하여 미리 정의된 색역은, 비디오 코딩 프로세스에서 각각의 디바이스가 동일한 색역에서 픽셀 값들을 프로세싱하기 위해 구성될 수도 있도록, 사용될 수도 있다. 비디오 코딩에 대하여 종래에 사용되었던 색역들보다 더 큰 범위의 컬러들을 갖는 일부 색역들이 정의된다. 더 큰 범위의 컬러들을 갖는 그러한 색역들은 광색역 (WCG) 으로 지칭될 수도 있다.
비디오 데이터의 다른 양태는 동적 범위이다. 동적 범위는 통상적으로, 비디오 신호의 최소 및 최대 밝기 (예컨대, 루미넌스) 간의 비율로 정의된다. 과거에 사용된 공통의 비디오 데이터의 동적 범위는 표준 동적 범위 (SDR) 를 가지는 것으로 고려된다. 비디오 데이터에 대한 다른 예시적인 사양들은 최소 및 최대 밝기 간에 더 큰 비율을 갖는 컬러 데이터를 정의한다. 그러한 비디오 데이터는 고 동적 범위 (HDR) 를 가지는 것으로 설명될 수도 있다.
본 개시는 비디오 데이터를 프로세싱하는 것과 관련되며, HDR/WCG 컬러 컨테이너에 순응하도록 비디오 데이터를 프로세싱하는 것을 포함한다. 하기에 더 상세히 설명되는 것과 같이, 본 개시의 기술들은 HDR/WCG 컬러 컨테이너의 더 양호한 사용을 실시하기 위해 동적 범위 조정 (DRA) 파라미터들을 비디오 데이터에 적용한다. 본 개시의 기술들은 또한, 비디오 디코더 또는 비디오 포스트 프로세싱 디바이스가 본 개시의 DRA 기술들을 반전시켜 비디오 데이터의 오리지널 또는 네이티브 컬러 컨테이너를 복원하게 하는, 신택스 엘리먼트들을 시그널링하는 것을 포함할 수도 있다.
본 개시의 일 예에서, 비디오 데이터를 프로세싱하는 방법은, 제 1 컬러 컨테이너에 관련된 비디오 데이터를 수신하는 단계로서, 제 1 컬러 컨테이너에 관련된 비디오 데이터는 제 1 색역 및 제 1 컬러 공간에 의해 정의되는, 상기 제 1 컬러 컨테이너에 관련된 비디오 데이터를 수신하는 단계; 하나 이상의 동적 범위 조정 파라미터들을 도출하는 단계로서, 동적 범위 조정 파라미터들은 제 1 컬러 컨테이너에 관련된 것과 같은 비디오 데이터의 특징들에 기초하는, 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하는 단계; 및 하나 이상의 동적 범위 조정 파라미터들에 따라 비디오 데이터에 동적 범위 조정을 수행하는 단계를 포함한다.
본 개시의 다른 예에서, 비디오 데이터를 프로세싱하도록 구성된 장치는, 비디오 데이터를 저장하도록 구성된 메모리; 및 하나 이상의 프로세서들을 포함하며, 하나 이상의 프로세서들은, 제 1 컬러 컨테이너에 관련된 비디오 데이터를 수신하는 것으로서, 제 1 컬러 컨테이너에 관련된 비디오 데이터는 제 1 색역 및 제 1 컬러 공간에 의해 정의되는, 상기 제 1 컬러 컨테이너에 관련된 비디오 데이터를 수신하고; 하나 이상의 동적 범위 조정 파라미터들을 도출하는 것으로서, 동적 범위 조정 파라미터들은 제 1 컬러 컨테이너에 관련된 것과 같은 비디오 데이터의 특징들에 기초하는, 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하며; 그리고 하나 이상의 동적 범위 조정 파라미터들에 따라 비디오 데이터에 동적 범위 조정을 수행하도록 구성된다.
본 개시의 또 다른 예에서, 비디오를 프로세싱하도록 구성된 장치는, 제 1 컬러 컨테이너에 관련된 비디오 데이터를 수신하는 수단으로서, 제 1 컬러 컨테이너에 관련된 비디오 데이터는 제 1 색역 및 제 1 컬러 공간에 의해 정의되는, 상기 제 1 컬러 컨테이너에 관련된 비디오 데이터를 수신하는 수단; 하나 이상의 동적 범위 조정 파라미터들을 도출하는 수단으로서, 동적 범위 조정 파라미터들은 제 1 컬러 컨테이너에 관련된 것과 같은 비디오 데이터의 특징들에 기초하는, 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하는 수단; 및 하나 이상의 동적 범위 조정 파라미터들에 따라 비디오 데이터에 동적 범위 조정을 수행하는 수단을 포함한다.
다른 예에서, 본 개시물은 명령들을 저장하는 컴퓨터 판독가능 저장 매체를 설명하며, 그 명령들은, 실행될 경우, 하나 이상의 프로세서들로 하여금, 제 1 컬러 컨테이너에 관련된 비디오 데이터를 수신하게 하는 것으로서, 제 1 컬러 컨테이너에 관련된 비디오 데이터는 제 1 색역 및 제 1 컬러 공간에 의해 정의되는, 상기 제 1 컬러 컨테이너에 관련된 비디오 데이터를 수신하게 하고; 하나 이상의 동적 범위 조정 파라미터들을 도출하게 하는 것으로서, 동적 범위 조정 파라미터들은 제 1 컬러 컨테이너에 관련된 것과 같은 비디오 데이터의 특징들에 기초하는, 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하게 하고; 그리고 하나 이상의 동적 범위 조정 파라미터들에 따라 비디오 데이터에 동적 범위 조정을 수행하게 한다.
하나 이상의 예들의 상세들이 첨부 도면들 및 하기의 설명에 개시된다. 다른 특징들, 목적들, 및 이점들은 그 설명, 도면들, 및 청구항들로부터 명백할 것이다.
도 1 은 본 개시의 기술들을 구현하도록 구성된 예시적인 비디오 인코딩 및 디코딩 시스템을 예시하는 블록 다이어그램이다.
도 2 는 HDR 데이터의 개념들을 예시하는 개념적인 도면이다.
도 3 은 예시적인 색역들을 예시하는 개념적인 다이어그램이다.
도 4 는 HDR/WCG 표현 컨버전의 일 예를 예시하는 플로우 다이어그램이다.
도 5 는 HDR/WCG 역 컨버전의 일 예를 예시하는 플로우 다이어그램이다.
도 6 은 지각적으로 (perceptually) 균일한 코드 레벨들로부터 선형 루미넌스로의 비디오 데이터 컨버전 (SDR 및 HDR 를 포함함) 을 위해 활용되는 전기 광학 전달 함수들 (EOTF) 의 예를 예시하는 개념적인 다이어그램이다.
도 7a 및 도 7b 는 2 개의 예시적인 색역들에서 컬러 분포의 시각화를 예시하는 개념적인 다이어그램들이다.
도 8 은 본 개시의 기술들에 따라 동작하는 예시적인 HDR/WCG 컨버전 장치를 예시하는 블록 다이어그램이다.
도 9 는 본 개시물의 기술들에 따라 예시적인 HDR/WCG 역 컨버전 장치를 예시하는 블록 다이어그램이다.
도 10 은 본 개시의 기술들을 구현할 수도 있는 비디오 인코더의 일 예를 도시한 블록 다이어그램이다.
도 11 은 본 개시의 기술들을 구현할 수도 있는 비디오 디코더의 일 예를 도시한 블록 다이어그램이다.
도 12 는 본 개시물의 기술들에 따른 예시적인 HDR/WCG 컨버전 프로세스를 예시하는 플로우차트이다.
도 13 은 본 개시물의 기술들에 따른 예시적인 HDR/WCG 역 컨버전 프로세스를 예시하는 플로우차트이다.
본 개시는 고 동적 범위 (HDR) 및 광색역 (WCG) 표현들로 비디오 데이터를 프로세싱 및/또는 코딩하는 것에 관련된다. 더 구체적으로, 본 개시의 기술들은 HDR 및 WCG 비디오 데이터의 더 효율적인 압축을 가능하게 하기 위해 특정 컬러 공간들에서 비디오 데이터에 적용된 시그널링 및 관련 동작들을 포함한다. 본 명세서에 설명된 기술들 및 디바이스들은 HDR 및 WCG 비디오 데이터를 코딩하기 위해 활용된 하이브리드-기반 비디오 코딩 시스템들 (예컨대, H.265/HEVC, H.264/AVC, 등) 압축 효율을 개선할 수도 있다.
비디오 코딩 표준들은, 그 스케일러블 비디오 코딩 (SVC) 및 멀티-뷰 비디오 코딩 (MVC) 확장들을 포함하여, ITU-T H.261, ISO/IEC MPEG-1 비주얼, ITU-T H.262 또는 ISO/IEC MPEG-2 비주얼, ITU-T H.263, ISO/IEC MPEG-4 비주얼 및 ITU-H.264 (ISO/IEC MPEG-4 AVC 로서 또한 공지됨) 를 포함한다. 새로운 비디오 코딩 표준, 즉, 고효율 비디오 코딩 (HEVC, 또한 H.265) 로 불림) 의 설계는 ITU-T 비디오 코딩 전문가 그룹 (VCEG) 및 ISO/IEC 동화상 전문가 그룹 (MPEG) 의 JCT-VC (Joint Collaboration Team on Video Coding) 에 의해 완결되었다. HEVC Working Draft 10 (WD10), Bross 등의 "High efficiency video coding (HEVC) text specification draft 10 (for FDIS & Last Call)", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 및 ISO/IEC JTC1/SC29/WG11, 12차 Meeting: Geneva, CH, 1423, 2013년 1월, JCTVC-L1003v34 로 지칭되는 HEVC 드래프트 상세는 http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip 로부터 입수가능하다. 완결된 HEVC 표준은 HEVC 버전 1 이라 지칭된다.
결함 리포트, Wang 등의 "High efficiency video coding (HEVC) Defect Report", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 및 ISO/IEC JTC1/SC29/WG11, 14차 Meeting: Vienna, AT, 2013년 7월 25일8월 2일, JCTVC-N1003v1 는 http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zip 로부터 입수가능하다. 완결된 HEVC 표준 문서는 2013 년 4 월에 ITU-T H.265, Series H: Audiovisual and Multimedia Systems, Infrastructure of audiovisual services Coding of moving video, High efficiency video coding, Telecommunication Standardization Sector of International Telecommunication Union (ITU) 로서 공개되고, 완결된 HEVC 표준의 다른 버전은 2014 년 10 월에 공개되었다. H.265/HEVC 사양 텍스트의 사본은 http://www.itu.int/rec/T-REC-H.265-201504-I/en 에서 다운로드될 수도 있다.
도 1 은 본 개시의 기술들을 활용할 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템 (10) 을 예시하는 블록 다이어그램이다. 도 1 에 도시된 바와 같이, 시스템 (10) 은, 목적지 디바이스 (14) 에 의해 더 나중 시간에 디코딩될 인코딩된 비디오 데이터를 제공하는 소스 디바이스 (12) 를 포함한다. 특히, 소스 디바이스 (12) 는 비디오 데이터를, 컴퓨터 판독가능 매체 (16) 를 통해 목적지 디바이스 (14) 에 제공한다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 데스크탑 컴퓨터들, 노트북 (즉, 랩탑) 컴퓨터들, 태블릿 컴퓨터들, 셋탑 박스들, 소위 "스마트" 폰들과 같은 전화기 핸드셋들, 소위 "스마트" 패드들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들, 비디오 스트리밍 디바이스 등을 포함한 광범위한 디바이스들 중 임의의 디바이스를 포함할 수도 있다. 일부 경우들에 있어서, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 무선 통신을 위해 장비될 수도 있다.
목적지 디바이스 (14) 는 디코딩될 인코딩된 비디오 데이터를 컴퓨터 판독가능 매체 (16) 를 통해 수신할 수도 있다. 컴퓨터 판독가능 매체 (16) 는 인코딩된 비디오 데이터를 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로 이동 가능한 임의의 타입의 매체 또는 디바이스를 포함할 수도 있다. 일 예에 있어서, 컴퓨터 판독가능 매체 (16) 는, 소스 디바이스 (12) 로 하여금 인코딩된 비디오 데이터를 직접 목적지 디바이스 (14) 로 실시간으로 송신할 수 있게 하는 통신 매체를 포함할 수도 있다. 인코딩된 비디오 데이터는 유선 또는 무선 통신 프로토콜과 같은 통신 표준에 따라 변조되고, 목적지 디바이스 (14) 로 송신될 수도 있다. 통신 매체는 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적인 송신 라인들과 같은 임의의 무선 또는 유선 통신 매체를 포함할 수도 있다. 통신 매체는 로컬 영역 네트워크, 광역 네트워크, 또는 인터넷과 같은 글로벌 네트워크와 같은 패킷 기반 네트워크의 부분을 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로의 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.
다른 예들에서, 컴퓨터 판독가능 매체 (16) 는 하드 디스크, 플래시 드라이브, 컴팩트 디스크, 디지털 비디오 디스크, 블루-레이 디스크, 또는 다른 컴퓨터 판독가능 매체들과 같은 비-일시적인저장 매체들을 포함할 수도 있다. 일부 예들에 있어서, 네트워크 서버 (도시 안됨) 는 인코딩된 비디오 데이터를 소스 디바이스 (12) 로부터 수신하고, 인코딩된 비디오 데이터를, 예를 들어, 네트워크 송신을 통해 목적지 디바이스 (14) 에 제공할 수도 있다. 유사하게, 디스크 스탬핑 설비와 같은 매체 생성 설비의 컴퓨팅 디바이스는 인코딩된 비디오 데이터를 소스 디바이스 (12) 로부터 수신하고, 인코딩된 비디오 데이터를 포함하는 디스크를 생성할 수도 있다. 따라서, 컴퓨터 판독가능 매체 (16) 는, 다양한 예들에 있어서, 다양한 형태들의 하나 이상의 컴퓨터 판독가능 매체들을 포함하도록 이해될 수도 있다.
일부 예들에 있어서, 인코딩된 데이터는 출력 인터페이스 (22) 로부터 저장 디바이스로 출력될 수도 있다. 유사하게, 인코딩된 데이터는 입력 인터페이스에 의해 저장 디바이스로부터 액세스될 수도 있다. 저장 디바이스는 하드 드라이브, 블루-레이 디스크들, DVD들, CD-ROM들, 플래시 메모리, 휘발성 또는 비휘발성 메모리, 또는 인코딩된 비디오 데이터를 저장하기 위한 임의의 다른 적합한 디지털 저장 매체들과 같은 다양한 분산된 또는 국부적으로 액세스된 데이터 저장 매체들 중 임의의 데이터 저장 매체를 포함할 수도 있다. 추가의 예에 있어서, 저장 디바이스는, 소스 디바이스 (12) 에 의해 생성된 인코딩된 비디오를 저장할 수도 있는 파일 서버 또는 다른 중간 저장 디바이스에 대응할 수도 있다. 목적지 디바이스 (14) 는 저장 디바이스로부터의 저장된 비디오 데이터에 스트리밍 또는 다운로드를 통해 액세스할 수도 있다. 파일 서버는, 인코딩된 비디오 데이터를 저장하고 인코딩된 비디오 데이터를 목적지 디바이스 (14) 로 송신하는 것이 가능한 임의의 타입의 서버일 수도 있다. 예시적인 파일 서버들은 웹 서버 (예를 들어, 웹 사이트용), FTP 서버, 네트워크 접속형 저장 (NAS) 디바이스들, 또는 로컬 디스크 드라이브를 포함한다. 목적지 디바이스 (14) 는 인코딩된 비디오 데이터에, 인터넷 커넥션을 포함한 임의의 표준 데이터 커넥션을 통해 액세스할 수도 있다. 이는 파일 서버 상에 저장되는 인코딩된 비디오 데이터에 액세스하기에 적합한 무선 채널 (예를 들어, Wi-Fi 커넥션), 유선 커넥션 (예를 들어, DSL, 케이블 모뎀 등), 또는 이들 양자의 조합을 포함할 수도 있다. 인코딩된 비디오 데이터의 저장 디바이스로부터의 송신은 스트리밍 송신, 다운로드 송신, 또는 이들의 조합일 수도 있다.
본 개시의 기술들은 무선 애플리케이션들 또는 세팅들로 반드시 한정되는 것은 아니다. 그 기술들은, 공중 경유 (over-the-air) 텔레비전 브로드캐스트들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, HTTP 상으로의 동적 적응 스트리밍 (DASH) 과 같은 인터넷 스트리밍 비디오 송신들, 데이터 저장 매체 상으로 인코딩된 디지털 비디오, 데이터 저장 매체 상으로 저장된 디지털 비디오의 디코딩, 또는 다른 어플리케이션들과 같은 다양한 멀티미디어 어플리케이션들 중 임의의 멀티미디어 어플리케이션의 지원으로 비디오 코딩에 적용될 수도 있다. 일부 예들에 있어서, 시스템 (10) 은 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅, 및/또는 비디오 전화와 같은 어플리케이션들을 지원하기 위해 일방향 또는 양방향 비디오 송신을 지원하도록 구성될 수도 있다.
도 1 의 예에 있어서, 소스 디바이스 (12) 는 비디오 소스 (18), 비디오 인코더 (20), 및 출력 인터페이스 (22) 를 포함한다. 목적지 디바이스 (14) 는 입력 인터페이스 (28), 동적 범위 조정 (DRA) 유닛 (19), 비디오 디코더 (30), 및 디스플레이 디바이스 (32) 를 포함한다. 본 개시에 따라, 소스 디바이스 (12) 의 DRA 유닛 (19) 은 HDR 및 WCG 비디오 데이터의 더 효율적인 압축을 가능하게 하기 위해 특정 컬러 공간들에서 비디오 데이터에 적용된 시그널링 및 관련 동작들을 포함하는, 본 개시의 기술들을 구현하도록 구성될 수도 있다. 일부 예들에서, DRA 유닛 (19) 은 비디오 인코더 (20) 로부터 분리될 수도 있다. 다른 예들에서, DRA 유닛 (19) 은 비디오 인코더 (20) 의 부분일 수도 있다. 다른 예들에서, 소스 디바이스 및 목적지 디바이스는 다른 컴포넌트들 또는 배열들을 포함할 수도 있다. 예를 들어, 소스 디바이스 (12) 는 외부 카메라와 같은 외부 비디오 소스 (18) 로부터 비디오 데이터를 수신할 수도 있다. 유사하게, 목적지 디바이스 (14) 는 통합된 디스플레이 디바이스를 포함하는 것보다 외부 디스플레이 디바이스와 인터페이싱할 수도 있다.
도 1 의 도시된 시스템 (10) 은 단지 일 예일 뿐이다. HDR 및 WCG 비디오 데이터를 프로세싱하기 위한 기술들은 임의의 디지털 비디오 인코딩 및/또는 디코딩 디바이스에 의해 수행될 수도 있다. 또한, 본 개시의 기술들은 비디오 프리프로세서 및/또는 비디오 포스트프로세서에 의해 수행될 수도 있다. 비디오 프리프로세서는 인코딩 이전에 (예컨대, HEVC 인코딩 이전에) 비디오 데이터를 프로세싱하도록 구성된 임의의 디바이스일 수도 있다. 비디오 포스트프로세서는 디코딩 이후에 (예컨대, HEVC 디코딩 이후에) 비디오 데이터를 프로세싱하도록 구성된 임의의 디바이스일 수도 있다. 소스 디바이스 (12) 및 목적지 디바이스 (12) 는, 단지, 소스 디바이스 (14) 가 목적지 디바이스 (14) 로의 송신을 위한 코딩된 비디오 데이터를 생성하는 그러한 코딩 디바이스들의 예들일 뿐이다. 일부 예들에 있어서, 디바이스들 (12, 14) 은, 디바이스들 (12, 14) 각각이 비디오 인코딩 및 디코딩 컴포넌트들뿐만 아니라, 비디오 프리프로세서 및 비디오 포스트프로세서 (예컨대, 각각 DRA 유닛 (19) 및 역 DRA 유닛 (31)) 을 포함하도록 실질적으로 대칭적인 방식으로 동작할 수도 있다. 따라서, 시스템 (10) 은 예를 들어, 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅, 또는 비디오 전화를 위해, 비디오 디바이스들 (12, 14) 간의 일방향 또는 양방향 비디오 송신을 지원할 수도 있다.
소스 디바이스 (12) 의 비디오 소스 (18) 는 비디오 카메라와 같은 비디오 캡처 디바이스, 이전에 캡처된 비디오를 포함하는 비디오 아카이브, 및/또는 비디오 콘텐츠 제공자로부터 비디오를 수신하기 위한 비디오 피드 인터페이스를 포함할 수도 있다. 추가적인 대안으로서, 비디오 소스 (18) 는 컴퓨터 그래픽 기반 데이터를 소스 비디오로서, 또는 라이브 비디오, 아카이브된 비디오, 및 컴퓨터 생성 비디오의 조합으로서 생성할 수도 있다. 일부 경우들에 있어서, 비디오 소스 (18) 가 비디오 카메라이면, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 소위 카메라 폰들 또는 비디오 폰들을 형성할 수도 있다. 하지만, 상기 언급된 바와 같이, 본 개시에서 설명된 기술들은 일반적으로 비디오 코딩 및 프로세싱에 적용가능할 수도 있으며, 무선 및/또는 유선 어플리케이션들에 적용될 수도 있다. 각각의 경우에 있어서, 캡처되거나 사전-캡처되거나 또는 컴퓨터 생성된 비디오는 비디오 인코더 (20) 에 의해 인코딩될 수도 있다. 그 후, 인코딩된 비디오 정보는 출력 인터페이스 (22) 에 의해 컴퓨터 판독가능 매체 (16) 상으로 출력될 수도 있다.
목적지 디바이스 (14) 의 입력 인터페이스 (28) 는 컴퓨터 판독가능 매체 (16) 로부터 정보를 수신한다. 컴퓨터 판독가능 매체 (16) 의 정보는 비디오 인코더 (20) 에 의해 정의되고 또한 비디오 디코더 (30) 에 의해 이용되는 신택스 정보를 포함할 수도 있으며, 이 신택스 정보는 블록들 및 다른 코딩된 유닛들, 예를 들어, 픽처들의 그룹 (GOP들) 의 특징들 및/또는 프로세싱을 기술하는 신택스 엘리먼트들을 포함한다. 디스플레이 디바이스 (32) 는 디코딩된 비디오 데이터를 사용자에게 디스플레이하며, 음극선관 (CRT), 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 다른 타입의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 임의의 디바이스를 포함할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSP들), 주문형 집적회로들 (ASIC들), 필드 프로그래밍가능 게이트 어레이들 (FPGA들), 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합들과 같은 다양한 적합한 인코더 회로 중 임의의 회로로서 구현될 수도 있다. 기술들이 부분적으로 소프트웨어로 구현될 경우, 디바이스는 적합한 비-일시적인 컴퓨터 판독가능 매체에 소프트웨어에 대한 명령들을 저장하고, 본 개시의 기술들을 수행하기 위해 하나 이상의 프로세서들을 사용하는 하드웨어로 명령들을 실행할 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있으며, 이들 중 어느 하나는 개별 디바이스에 있어서 결합된 인코더/디코더 (CODEC) 의 부분으로서 통합될 수도 있다.
DRA 유닛 (19) 및 역 DRA 유닛 (31) 각각은 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들, DSP들, ASIC들, FPGA들, 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합들과 같은 다양한 적합한 인코더 회로 중 임의의 회로로서 구현될 수도 있다. 기술들이 부분적으로 소프트웨어로 구현될 경우, 디바이스는 적합한 비-일시적인 컴퓨터 판독가능 매체에 소프트웨어에 대한 명령들을 저장하고, 본 개시의 기술들을 수행하기 위해 하나 이상의 프로세서들을 사용하는 하드웨어로 명령들을 실행할 수도 있다.
일부 예들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는, 자신의 SVC (Scalable Video Coding) 확장안, MVC (Multi-view Video Coding) 확장안, 및 MVC-기반 3DV (three-dimensional video) 확장안을 포함한, ISO/IEC MPEG-4 비주얼 및 ITU-T H.264 (또한, ISO/IEC MPEG-4 AVC 로서 알려짐) 와 같은 비디오 압축 표준에 따라 동작한다. 일부 경우들에서, MVC-기반 3DV 에 따르는 임의의 비트스트림은 MVC 프로파일, 예를 들어, 스테레오 하이 프로파일에 순응하는 서브-비트스트림을 항상 포함한다. 또한, H.264/AVC, 즉, AVC-기반 3DV 에 대한 3DV 코딩 확장안을 발생시키기 위한 노력이 진행 중에 있다. 비디오 코딩 표준들은, ITU-T H.261, ISO/IEC MPEG-1 비주얼, ITU-T H.262 또는 ISO/IEC MPEG-2 비주얼, ITU-T H.263, ISO/IEC MPEG-4 비주얼, 및 ITU-T H.264, ISO/IEC 비주얼을 포함한다. 다른 예들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 HEVC 표준에 따라 동작하도록 구성될 수도 있다.
이하 더 상세히 설명되는 것과 같이, DRA 유닛 (19) 및 역 DRA 유닛 (31) 은 본 개시의 기술들을 구현하도록 구성될 수도 있다. 일부 예들에서, DRA 유닛 (19) 및/또는 역 DRA 유닛 (31) 은 제 1 컬러 컨테이너에 관련된 비디오 데이터를 수신하고 (제 1 컬러 컨테이너는 제 1 색역 및 제 1 컬러 공간에 의해 정의됨), 하나 이상의 동적 범위 조정 파라미터들을 도출하고 (동적 범위 조정 파라미터들은 비디오 데이터의 특징들에 기반함), 하나 이상의 동적 범위 조정 파라미터들에 따라 비디오 데이터에 동적 범위 조정을 수행하도록 구성될 수도 있다.
DRA 유닛 (19) 및 역 DRA 유닛 (31) 각각은 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSP들), 주문형 집적회로들 (ASIC들), 필드 프로그래밍가능 게이트 어레이들 (FPGA들), 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합들과 같은 다양한 적합한 인코더 회로 중 임의의 회로로서 구현될 수도 있다. 기술들이 부분적으로 소프트웨어로 구현될 경우, 디바이스는 적합한 비-일시적인 컴퓨터 판독가능 매체에 소프트웨어에 대한 명령들을 저장하고, 본 개시의 기술들을 수행하기 위해 하나 이상의 프로세서들을 사용하는 하드웨어로 명령들을 실행할 수도 있다. 앞서 논의된 것과 같이, DRA 유닛 (19) 및 역 DRA 유닛 (31) 은 각각 비디오 인코더 (20) 및 비디오 디코더 (30) 로부터 분리된 디바이스들일 수도 있다. 다른 예들에서, DRA 유닛 (19) 은 단일 디바이스에서 비디오 인코더 (20) 와 통합될 수도 있고, 역 DRA 유닛 (31) 은 단일 디바이스에서 비디오 디코더 (30) 와 통합될 수도 있다.
HEVC 및 다른 비디오 코딩 표준들에 있어서, 비디오 시퀀스는 통상적으로 픽처들의 시리즈를 포함한다. 픽처들은 또한 "프레임들" 로서 지칭될 수도 있다. 픽처는 SL, SCb, 및 SCr 로 표기되는 3개의 샘플 어레이들을 포함할 수도 있다. SL 은 루마 샘플들의 2 차원 어레이 (즉, 블록) 이다. SCb 는 Cb 크로미넌스 샘플들의 2 차원 어레이이다. SCr 는 Cr 크로미넌스 샘플들의 2 차원 어레이이다. 크로미넌스 샘플들은 또한, 본 명세서에서 "크로마" 샘플들로서 지칭될 수도 있다. 다른 경우들에 있어서, 픽처는 단색일 수도 있으며 오직 루마 샘플들의 어레이만을 포함할 수도 있다.
비디오 인코더 (20) 는 코딩 트리 유닛들 (CTU들) 의 세트를 생성할 수도 있다. 각각의 CTU들은 루마 샘플들의 코딩 트리 블록, 크로마 샘플들의 2 개의 대응하는 코딩 트리 블록들, 및 코딩 트리 블록들의 샘플들을 코딩하는데 이용되는 신택스 구조들을 포함할 수도 있다. 단색 픽처 또는 3 개의 별개의 컬러 평면들을 갖는 픽처에서, CTU 는 단일의 코딩 트리 블록, 및 코딩 트리 블록의 샘플들을 코딩하는데 이용된 신택스 구조들을 포함한다. 코딩 트리 블록은 샘플들의 NxN 블록일 수도 있다. CTU 는 또한, "트리 블록" 또는 "최대 코딩 유닛" (LCU) 으로서 지칭될 수도 있다. HEVC 의 CTU들은 H.264/AVC 와 같은 다른 비디오 코딩 표준들의 매크로블록들과 대체로 유사할 수도 있다. 하지만, CTU 는 반드시 특정 사이즈로 한정되지는 않으며, 하나 이상의 코딩 유닛들 (CU들) 을 포함할 수도 있다. 슬라이스는 래스터 스캔에 있어서 연속적으로 순서화된 정수 개수의 CTU들을 포함할 수도 있다.
본 개시는 용어 "비디오 유닛" 또는 "비디오 블록" 을 사용하여, 샘플들의 하나 이상의 블록들 및 샘플들의 하나 이상의 블록들의 샘플들을 코딩하는데 사용된 신택스 구조들을 지칭할 수도 있다. 비디오 유닛들의 예시적인 유형들은 HEVC 에 있어서, CTU들, CU들, PU들, 변환 유닛들 (TU들), 또는 다른 비디오 코딩 표준들에 있어서, 매크로블록들, 매크로블록 파티션들 등을 포함할 수도 있다.
코딩된 CTU 를 생성하기 위해, 비디오 인코더 (20) 는 CTU 의 코딩 트리 블록들에 쿼드 트리 파티셔닝을 재귀적으로 수행하여, 코딩 트리 블록들을 코딩 블록들, 따라서, 명칭 "코딩 트리 유닛들" 로 분할할 수도 있다. 코딩 블록은 샘플들의 NxN 블록이다. CU 는 루마 샘플 어레이, Cb 샘플 어레이, 및 Cr 샘플 어레이를 갖는 픽처의 루마 샘플들의 코딩 블록, 및 크로마 샘플들의 2개의 대응하는 코딩 블록들, 그리고 코딩 블록들의 샘플들을 코딩하는데 사용된 신택스 구조들을 포함할 수도 있다. 단색 픽처 또는 3 개의 별개의 컬러 평면들을 갖는 픽처에서, CU 는 단일의 코딩 블록, 및 코딩 블록의 샘플들을 코딩하는데 이용된 신택스 구조들을 포함한다.
비디오 인코더 (20) 는 CU 의 코딩 블록을 하나 이상의 예측 블록들로 파티셔닝할 수도 있다. 예측 블록은, 동일한 예측이 적용되는 샘플들의 직사각형 (즉, 정사각형 또는 비-정사각형) 블록이다. CU 의 예측 유닛 (PU) 은 루마 샘플들의 예측 블록, 픽처의 크로마 샘플들의 2개의 대응하는 예측 블록들, 및 예측 블록 샘플들을 예측하는데 사용된 신택스 구조들을 포함할 수도 있다. 단색 픽처 또는 3개의 별도의 컬러 평면들을 갖는 픽처에 있어서, PU 는 단일의 예측 블록, 및 그 예측 블록 샘플들을 예측하는데 사용된 신택스 구조들을 포함할 수도 있다. 비디오 인코더 (20) 는 CU 의 각각의 PU 의 루마, Cb 및 Cr 예측 블록들에 대한 예측 루마, Cb, 및 Cr 블록들을 생성할 수도 있다.
비디오 인코더 (20) 는 인트라 예측 또는 인터 예측을 이용하여 PU 에 대한 예측 블록들을 생성할 수도 있다. 비디오 인코더 (20) 가 인트라 예측을 이용하여 PU 의 예측 블록들을 생성하면, 비디오 인코더 (20) 는 PU 와 연관된 픽처의 디코딩된 샘플들에 기초하여 PU 의 예측 블록들을 생성할 수도 있다.
비디오 인코더 (20) 가 인터 예측을 이용하여 PU 의 예측 블록들을 생성하면, 비디오 인코더 (20) 는 PU 와 연관된 픽처 이외의 하나 이상의 픽처들의 디코딩된 샘플들에 기초하여 PU 의 예측 블록들을 생성할 수도 있다. 인터 예측은 단방향 인터 예측 (즉, 단방향 예측) 또는 양방향 인터 예측 (즉, 양방향 예측) 일 수도 있다. 단방향 예측 또는 양방향 예측을 수행하기 위해, 비디오 인코더 (20) 는 현재 슬라이스에 대한 제 1 레퍼런스 픽처 리스트 (RefPicList0) 및 제 2 레퍼런스 픽처 리스트 (RefPicList1) 를 생성할 수도 있다.
레퍼런스 픽처 리스트들 각각은 하나 이상의 레퍼런스 픽처들을 포함할 수도 있다. 단방향 예측을 이용할 경우, 비디오 인코더 (20) 는 RefPicList0 및 RefPicList1 중 어느 하나 또는 그 양자에서 레퍼런스 픽처들을 탐색하여 레퍼런스 픽처 내의 레퍼런스 위치를 결정할 수도 있다. 더욱이, 단방향 예측을 이용할 경우, 비디오 인코더 (20) 는, 레퍼런스 위치에 대응하는 샘플들에 적어도 부분적으로 기초하여, PU 에 대한 예측 샘플 블록들을 생성할 수도 있다. 더욱이, 단방향 예측을 이용할 경우, 비디오 인코더 (20) 는, PU 의 예측 블록과 레퍼런스 위치 간의 공간 변위를 표시하는 단일 모션 벡터를 생성할 수도 있다. PU 의 예측 블록과 레퍼런스 위치 간의 공간 변위를 표시하기 위해, 모션 벡터는 PU 의 예측 블록과 레퍼런스 위치 간의 수평 변위를 명시하는 수평 컴포넌트를 포함할 수도 있고, PU 의 예측 블록과 레퍼런스 위치 간의 수직 변위를 명시하는 수직 컴포넌트를 포함할 수도 있다.
양방향 예측을 이용하여 PU 를 인코딩할 경우, 비디오 인코더 (20) 는 RefPicList0 에 있어서의 레퍼런스 픽처에서의 제 1 레퍼런스 위치 및 RefPicList1 에 있어서의 레퍼런스 픽처에서의 제 2 레퍼런스 위치를 결정할 수도 있다. 그 후, 비디오 인코더 (20) 는, 제 1 및 제 2 레퍼런스 위치들에 대응하는 샘플들에 적어도 부분적으로 기초하여, PU 에 대한 예측 블록들을 생성할 수도 있다. 더욱이, 양방향 예측을 이용하여 PU 를 인코딩할 경우, 비디오 인코더 (20) 는 PU 의 샘플 블록과 제 1 레퍼런스 위치 간의 공간 변위를 표시하는 제 1 모션, 및 PU 의 예측 블록과 제 2 레퍼런스 위치 간의 공간 변위를 표시하는 제 2 모션을 생성할 수도 있다.
비디오 인코더 (20) 가 CU 의 하나 이상의 PU들에 대한 예측 루마, Cb, 및 Cr 블록들을 생성한 후, 비디오 인코더 (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 코딩 블록에서의 대응하는 샘플 간의 차이를 나타낼 수도 있다.
더욱이, 비디오 인코더 (20) 는 쿼드 트리 파티셔닝을 이용하여, CU 의 루마, Cb, 및 Cr 잔차 블록들을 하나 이상의 루마, Cb, 및 Cr 변환 블록들로 분해할 수도 있다. 변환 블록은, 동일한 변환이 적용되는 샘플들의 직사각형 블록일 수도 있다. CU 의 변환 유닛 (TU) 은 루마 샘플들의 변환 블록, 크로마 샘플들의 2개의 대응하는 변환 블록들, 및 변환 블록 샘플들을 변환하는데 사용된 신택스 구조들을 포함할 수도 있다. 단색 픽처 또는 3 개의 별도의 컬러 평면들을 갖는 픽처에서, TU 는 단일의 변환 블록, 및 변환 블록 샘플들을 변환하는데 이용되는 신택스 구조들을 포함할 수도 있다. 따라서, CU 의 각각의 TU 는 루마 변환 블록, Cb 변환 블록, 및 Cr 변환 블록과 연관될 수도 있다. TU 와 연관된 루마 변환 블록은 CU 의 루마 잔차 블록의 서브-블록일 수도 있다. Cb 변환 블록은 CU 의 Cb 잔차 블록의 서브-블록일 수도 있다. Cr 변환 블록은 CU 의 Cr 잔차 블록의 서브-블록일 수도 있다.
비디오 인코더 (20) 는 TU 의 루마 변환 블록에 하나 이상의 변환들을 적용하여 TU 에 대한 루마 계수 블록을 생성할 수도 있다. 계수 블록은 변환 계수들의 2 차원 어레이일 수도 있다. 변환 계수는 스칼라량일 수도 있다. 비디오 인코더 (20) 는 TU 의 Cb 변환 블록에 하나 이상의 변환들을 적용하여 TU 에 대한 Cb 계수 블록을 생성할 수도 있다. 비디오 인코더 (20) 는 TU 의 Cr 변환 블록에 하나 이상의 변환들을 적용하여 TU 에 대한 Cr 계수 블록을 생성할 수도 있다.
계수 블록 (예를 들어, 루마 계수 블록, Cb 계수 블록 또는 Cr 계수 블록) 을 생성한 후, 비디오 인코더 (20) 는 계수 블록을 양자화할 수도 있다. 양자화는 일반적으로, 변환 계수들이 그 변환 계수들을 나타내는데 사용되는 데이터의 양을 가능하게 감소시키도록 양자화되어 추가 압축을 제공하는 프로세스를 지칭한다. 더욱이, 비디오 인코더 (20) 는 픽처의 CU들의 TU들의 변환 블록들을 복원하기 위하여 변환 계수들을 역양자화하고 변환 계수들에 역변환을 적용할 수도 있다. 비디오 인코더 (20) 는 CU 의 TU들의 복원된 변환 블록들 및 CU 의 PU들의 예측 블록들을 이용하여 CU 의 코딩 블록들을 복원할 수도 있다. 픽처의 각각의 CU 의 코딩 블록들을 복원함으로써, 비디오 인코더 (20) 는 픽처를 복원할 수도 있다. 비디오 인코더 (20) 는 복원된 픽처들을 디코딩된 픽처 버퍼 (DPB) 에 저장할 수도 있다. 비디오 인코더 (20) 는 인터 예측 및 인트라 예측을 위해 DPB 내의 복원된 픽처들을 이용할 수도 있다.
비디오 인코더 (20) 가 계수 블록을 양자화한 후에, 비디오 인코더 (20) 는 양자화된 변환 계수 블록을 나타내는 신택스 엘리먼트들을 엔트로피 인코딩할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 양자화된 변환 계수들을 나타내는 신택스 엘리먼트들에 컨텍스트-적응형 이진 산술 코딩 (CABAC) 을 수행할 수도 있다. 비디오 인코더 (20) 는 엔트로피 인코딩된 신택스 엘리먼트들을 비트스트림으로 출력할 수도 있다.
비디오 인코더 (20) 는 코딩된 픽처들 및 연관된 데이터의 표현을 형성하는 비트들의 시퀀스를 포함하는 비트스트림을 출력할 수도 있다. 비트스트림은 네트워크 추상화 계층 (NAL) 유닛들의 시퀀스를 포함할 수도 있다. NAL 유닛들 각각은 NAL 유닛 헤더를 포함하고 원시 바이트 시퀀스 페이로드 (RBSP) 를 캡슐화한다. NAL 유닛 헤더는, NAL 유닛 타입 코드를 나타내는 신택스 엘리먼트를 포함할 수도 있다. NAL 유닛의 NAL 유닛 헤더에 의해 명시된 NAL 유닛 타입 코드는 NAL 유닛의 타입을 나타낸다. RBSP 는, NAL 유닛 내에서 캡슐화되는 정수 개수의 바이트들을 포함하는 신택스 구조일 수도 있다. 일부 경우들에 있어서, RBSP 는 제로 비트들을 포함한다.
상이한 타입들의 NAL 유닛들은 상이한 타입들의 RBSP들을 캡슐화할 수도 있다. 예를 들어, 제 1 타입의 NAL 유닛은 PPS (picture parameter set) 에 대한 RBSP를 캡슐화할 수도 있고 제 2 타입의 NAL 유닛은 코딩된 슬라이스에 대한 RBSP 를 캡슐화할 수도 있고, 제 3 타입의 NAL 유닛은 SEI (Supplemental Enhancement Information) 에 대한 RBSP 를 캡슐화할 수 있는 등이다. PPS 는, 제로 이상의 전체 코딩된 픽처들에 적용하는 신택스 엘리먼트들을 포함할 수도 있는 신택스 구조이다. (파라미터 세트들 및 SEI 메시지들에 대한 RBSP들과 대조적으로) 비디오 코딩 데이터에 대한 RBSP들을 캡슐화하는 NAL 유닛들은 비디오 코딩 계층 (VCL) NAL 유닛들로서 지칭될 수도 있다. 코딩된 슬라이스를 캡슐화한 NAL 유닛은 본 명세서에서 코딩된 슬라이스 NAL 유닛으로서 지칭될 수도 있다. 코딩된 슬라이스에 대한 RBSP 는 슬라이스 헤더 및 슬라이스 데이터를 포함할 수도 있다.
비디오 디코더 (30) 는 비트스트림을 수신할 수도 있다. 부가적으로, 비디오 디코더 (30) 는 비트스트림을 파싱하여, 비트스트림으로부터 신택스 엘리먼트들을 디코딩할 수도 있다. 비디오 디코더 (30) 는 비트스트림으로부터 디코딩된 신택스 엘리먼트들에 적어도 부분적으로 기초하여 비디오 데이터의 픽처들을 복원할 수도 있다. 비디오 데이터를 복원하기 위한 프로세스는 일반적으로, 비디오 인코더 (20) 에 의해 수행된 프로세스에 역일 수도 있다. 예를 들어, 비디오 디코더 (30) 는 PU들의 모션 벡터들을 이용하여 현재 CU 의 PU들에 대한 예측 블록들을 결정할 수도 있다. 비디오 디코더 (30) 는 PU들의 모션 벡터 또는 모션 벡터들을 이용하여 PU들에 대한 예측 블록들을 생성할 수도 있다.
부가적으로, 비디오 디코더 (30) 는 현재 CU 의 TU들과 연관된 계수 블록들을 역양자화할 수도 있다. 비디오 디코더 (30) 는 계수 블록들에 대해 역변환들을 수행하여 현재 CU 의 TU들과 연관된 변환 블록들을 복원할 수도 있다. 비디오 디코더 (30) 는 현재 CU 의 PU들에 대한 예측 샘플 블록들의 샘플들을, 현재 CU 의 TU들의 변환 블록들의 대응하는 샘플들에 부가함으로써, 현재 CU 의 코딩 블록들을 복원할 수도 있다. 픽처의 각각의 CU 에 대한 코딩 블록들을 복원함으로써, 비디오 디코더 (30) 는 픽처를 복원할 수도 있다. 비디오 디코더 (30) 는 다른 픽처들을 디코딩함에 있어서 출력을 위해 및/또는 사용을 위해 디코딩된 픽처들을 디코딩된 픽처 버퍼에 저장할 수도 있다.
차세대 비디오 애플리케이션들은 HDR 및 WCG 를 갖는 캡처된 배경 (scenery) 을 나타내는 비디오 데이터로 동작하는 것으로 예상된다. 활용된 동적 범위 및 색역의 파라미터들은 비디오 컨텐츠의 2 개의 독립적인 특성들이며, 디지털 텔레비전 및 멀티미디어 서비스들의 목적을 위한 그들의 사양들은 몇몇 국제 표준들에 의해 정의된다. 예를 들어, ITU-R Rec. BT.709, "Parameter values for the HDTV standards for production and international programme exchange" 는 표준 동적 범위 (SDR) 및 표준 색역과 같은, HDTV (high definition television) 에 대한 파라미터들을 정의하고, ITU-R Rec. BT.2020, "Parameter values for ultra-high definition television systems for production and international programme exchange" 는 HDR 및 WCG 와 같은 UHDTV (ultra-high definition television) 파라미터들을 명시한다. 다른 시스템들에서의 동적 범위 및 색역 특성들을 명시하는 조직 (SDO들) 문서들을 전개하는 다른 표준들이 또한 존재하며, 예컨대 DCI-P3 색역은 SMPTE-231-2 (Society of Motion Picture and Television Engineers) 에서 정의되고, HDR 의 일부 파라미터들이 SMPTE-2084 에 정의된다. 비디오 데이터에 대한 동적 범위 및 색역의 간단한 설명이 이하 제공된다.
동적 범위는 통상적으로, 비디오 신호의 최소 및 최대 밝기 (예컨대, 루미넌스) 간의 비율로 정의된다. 동적 범위는 또한, 'f-stop' 의 측면에서 측정될 수도 있고, 여기서 하나의 f-stop 은 신호의 동적 범위의 배가 (doubling) 에 대응한다. MPEG 의 정의에서, HDR 컨텐츠는 16 초과 f-stop들로 밝기 변화를 특징짓는 컨텐츠이다. 일부 용어들에서, 10 및 16 f-stop들 간의 레벨들은 중간 동적 범위로 고려되지만, 다른 정의들에서 HDR 로 고려된다. 본 개시의 일부 예들에서, HDR 비디오 컨텐츠는 표준 동적 범위를 갖는 종래에 사용된 비디오 컨텐츠 (예컨대, ITU-R Rec. BT.709 에 의해 명시된 것과 같은 비디오 컨텐츠) 보다 더 높은 동적 범위를 가지는 임의의 비디오 컨텐츠일 수도 있다.
인간 시각 시스템 (HVS) 은 SDR 컨텐츠와 HDR 컨텐츠보다 훨씬 더 큰 동적 범위들을 인지할 수 있다. 그러나, HVS 는 HVS 의 동적 범위를 이른바 동시의 범위로 좁히기 위한 적응화 메커니즘을 포함한다. 동시 범위의 폭은 현재 조명 조건들 (예컨대, 현재 밝기) 에 의존할 수도 있다. HDTV 의 SDR, UHDTV 의 예측된 HDR 및 HVS 동적 범위의 시각화가 도 2 에 도시된다.
현재 비디오 애플리케이션 및 서비스들은 ITU Rec.709 에 의해 조절되며, 약 0.1 내지 100 의 m2 당 칸델라 (cd) 들 (종종 "니트 (nit) 들" 로 지칭됨) 의 밝기 (예컨대, 루미넌스) 의 범위를 통상적으로 지원하여, 10 미만의 f-stop들을 초래하는 SDR 을 제공한다. 일부 예시적인 차세대 비디오 서비스들은 16 까지의 f-stop들의 동적 범위를 제공하는 것으로 예측된다. 그러한 컨텐츠에 대한 상세한 사양들이 현재 개발 중에 있지만, 일부 초기 파라미터들이 SMPTE-2084 및 ITU-R Rec. 2020 에 명시되어 있다.
HDR 이외에, 더 현실적인 비디오 경험을 위한 다른 양태는 컬러 차원이다. 컬러 차원은 통상적으로, 색역에 의해 정의된다. 도 3 은 SDR 색역 (BT.709 컬러 프라이머리들에 기초한 삼각형 (100)) 및 UHDTV 에 대한 광색역 (BT.2020 컬러 프라이머리들에 기초한 삼각형 (102)) 을 도시하는 개념적인 다이어그램이다. 도 3 은 또한, 천연색들의 한계들을 나타내는 이른바 스펙트럼 궤적 (혀-형상의 영역 (104) 으로 구분됨) 을 도시한다. 도 3 에 예시된 것과 같이, BT.709 (삼각형 (100)) 컬러 프라이머리로부터 BT.2020 (삼각형 (102)) 컬러 프라이머리로 이동하는 것은 약 70% 이상의 컬러들을 UHDTV 서비스에 제공하는 것을 목적으로 한다. D65 는 BT.709 및/또는 BT.2020 사양들에 대하여 예시적인 화이트 컬러를 명시한다.
DCI-P3, BT.709, 및 BT.202 컬러 공간들에 대한 색역 사양들의 예들이 표 1 에 도시된다.
Figure pct00001
표 1 에 도시될 수 있는 것과 같이, 색역은 백색점의 X 및 Y 값들에 의해, 그리고 원색들 (예컨대, 적색 (R), 녹색 (G), 및 청색 (R)) 의 X 및 Y 값들에 의해 정의될 수도 있다. X 및 Y 값들은 CIE 1931 컬러 공간에 의해 정의되는 것과 같이, 컬러들의 색도 (chromaticity) (X) 및 밝기 (Y) 를 나타낸다. CIE 1931 컬러 공간은 (예컨대, 파장들과 관련하여) 순수 컬러들 간의 링크들 및 인간의 눈이 그러한 컬러들을 인지하는 방식을 정의한다.
HDR/WCG 비디오 데이터는 통상적으로, 컴포넌트 당 매우 높은 정밀도 (짝수 부동 소수점) 로 포착되고 저장되며, 4:4:4 크로마 서브-샘플링 포맷 및 매우 넓은 컬러 공간 (예컨대, CIE XYZ) 을 갖는다. 이러한 표현은 높은 정밀도를 목적으로 하고, 거의 수학적으로 손실이 없다. 그러나, HDR/WCG 비디오 데이터를 저장하기 위한 그러한 포맷은 다수의 리던던시들을 포함할 수도 있고, 압축 목적들을 위해 최적이 아닐 수도 있다. HVS-기반의 추정들을 갖는 더 낮은 정밀도 포맷은 통상적으로 최신식 애플리케이션들을 위해 활용된다.
압축의 목적들을 위한 비디오 데이터 포맷 컨버전 프로세스의 일 예는, 도 4 에 도시된 것과 같이 3 개의 주요 프로세스들을 포함한다. 도 4 의 기술들은 소스 디바이스 (12) 에 의해 수행될 수도 있다. 선형 RGB 데이터 (110) 는 HDR/WCG 비디오 데이터일 수도 있고, 부동 소수점 표현에서 분류될 수도 있다. 선형 RGB 데이터 (110) 는 동적 범위 압축 (compacting) 을 위해 비선형 전달 함수 (TF) (112) 를 사용하여 압축될 수도 있다. 전달 함수 (112) 는 임의의 수의 비선형 전달 함수들, 예컨대 SMPTE-2084 에서 정의된 것과 같은 PQ TF 를 사용하여 선형 RGB 데이터 (110) 를 압축할 수도 있다. 일부 예들에서, 컬러 컨버전 프로세스 (114) 는 하이브리드 비디오 인코더에 의한 압축에 더 적합한 더 소형의 또는 견고한 컬러 공간 (예컨대, YUV 또는 YCrCb 컬러 공간) 으로 컨버팅한다. 그 후에, 이 데이터는 컨버팅된 HDR' 데이터 (118) 를 생성하기 위해 부동-대-정수 표현을 사용하여 양자화된다. 상기의 예에서, HDR' 데이터 (118) 는 정수 표현에 있다. HDR' 데이터는 지금부터 하이브리드 비디오 인코더 (예컨대, HEVC 기술들을 적용하는 비디오 인코더 (20)) 에 의한 압축을 위해 더 적합한 포맷이다. 도 4 에 도시된 프로세스들의 순서는 일 예로서 제공되고, 다른 애플리케이션들에서 변화할 수도 있다. 예를 들어, 컬러 컨버전은 TF 프로세스를 선행할 수도 있다. 추가로, 추가의 프로세싱, 예컨대 공간 서브샘플링은 컬러 컴포넌트들에 적용될 수도 있다.
디코더 측에서의 역 컨버전은 도 5 에 도시된다. 도 5 의 기술들은 목적지 디바이스 (14) 에 의해 수행될 수도 있다. 컨버팅된 HDR' 데이터 (120) 는 하이브리드 비디오 디코더 (예컨대, HEVC 기술들을 적용하는 비디오 디코더 (30)) 를 사용하여 비디오 데이터를 디코딩하는 것을 통해 목적지 디바이스 (14) 에서 획득될 수도 있다. HDR' 데이터 (120) 는 그 후에, 역 양자화 유닛 (122) 에 의해 역 양자화될 수도 있다. 그 후에, 역 컬러 컨버전 프로세스 (124) 는 역 양자화된 HDR' 데이터에 적용될 수도 있다. 역 컬러 컨버전 프로세스 (124) 는 컬러 컨버전 프로세스 (114) 의 역일 수도 있다. 예를 들어, 역 컬러 컨버전 프로세스 (124) 는 YCrCb 포맷으로부터 다시 RGB 포맷으로 HDR' 데이터를 컨버팅할 수도 있다. 다음으로, 역 전달 함수 (126) 는 그 데이터에 적용되어 선형 RGB 데이터 (128) 를 재생성하기 위해 전달 함수 (112) 에 의해 압축되었던 동적 범위를 다시 부가할 수도 있다.
도 4 에 도시된 기술들이 지금부터 더 상세히 논의될 것이다. 일반적으로, 전달 함수는 데이터의 동적 범위를 압축하기 위해 데이터 (예컨대, HDR/WCG 비디오 데이터) 에 적용된다. 그러한 압축은 데이터가 더 적은 비트들로 표현되게 한다. 일 예에서, 전달 함수는 일차원 (1D) 비선형 함수일 수도 있고, 예컨대, Rec. 709 에서 SDR 에 대하여 명시된 것과 같이, 최종 사용자 디스플레이의 전기 광학 전달 함수 (EOTF) 의 역을 반영할 수도 있다. 다른 예에서, 전달 함수는 HVS 인지를 밝기 변화들로 근사화할 수도 있고, 예컨대 HDR 에 대하여 SMPTE-2084 에서 명시된 PQ 전달 함수이다. OETF 의 역 프로세스는 코드 레벨들을 다시 루미넌스로 맵핑하는 EOTF (전기 광학 전달 함수) 이다. 도 6 은 특정 컬러 컨테이너들의 동적 범위를 압축하는데 사용되는 비선형 전달 함수의 몇몇 예들을 도시한다. 전달 함수들은 또한, 각각의 R, G 및 B 컴포넌트에 개별적으로 적용될 수도 있다.
본 개시물의 맥락에서, 용어들 "신호 값" 또는 "컬러 값" 은 이미지 엘리먼트에 대하여 (R, G, B, 또는 Y 와 같은) 특정 컬러 컴포넌트의 값에 대응하는 루미넌스 레벨을 설명하는데 사용될 수도 있다. 신호 값은 통상적으로, 선형 광 레벨 (루미넌스 값) 을 나타낸다. 용어들 "코드 레벨" 또는 "디지털 코드 값" 은 이미지 신호 값의 디지털 표현을 지칭할 수도 있다. 통상적으로, 그러한 디지털 표현은 비선형 신호 값의 표현이다. EOFT 는 디스플레이 디바이스 (예컨대, 디스플레이 디바이스 (32)) 에 제공된 비선형 신호 값들과 디스플레이 디바이스에 의해 생성된 선형 컬러 값들 간의 관계를 나타낸다.
RGB 가 이미지 캡처 센서들에 의해 통상적으로 생성되는 데이터의 타입이기 때문에, RGB 데이터는 통상적으로 입력 컬러 공간으로 활용된다. 그러나, RGB 컬러 공간은 그 컴포넌트들 중에서 높은 리던던시를 가지고, 조밀한 표현을 위해 최적이 아니다. 더 조밀하고 더 견고한 표현을 달성하기 위해, RGB 컴포넌트들은 통상적으로, 압축을 위해 더 적합한 더 상관되지 않은 컬러 공간, 예컨대 YCbCr 로 컨버팅된다 (예컨대, 컬러 변환이 수행된다). YCbCr 컬러 공간은 상이한 덜 상관된 컴포넌트들에서 루미넌스 (Y) 와 컬러 정보 (CrCb) 의 형태로 밝기를 분리한다. 이러한 맥락에서, 견고한 표현은 제한된 비트레이트로 압축될 경우, 더 고 레벨의 에러 내성을 특징으로 하는 컬러 공간을 지칭할 수도 있다.
컬러 변환 다음에, 타겟 컬러 공간에서의 입력 데이터는 여전히 고 비트-심도 (예컨대, 부동 소수점 정확도) 로 표현될 수도 있다. 고 비트-심도 데이터는 예컨대, 양자화 프로세스를 사용하여 타겟 비트-심도로 컨버팅될 수도 있다. 특정 연구들은 PQ 전달과 결합한 10 내지 12 비트 정확도가 JND (Just-Noticeable Difference) 미만의 왜곡을 갖는 16 f-stop들의 HDR 데이터를 제공하는데 충분한 것을 보여준다. 일반적으로, JND 는 차이가 (예컨대, HVS 에 의해) 뚜렷하도록 하기 위해 어떤 것 (예컨대, 비디오 데이터) 이 변화되어야만 하는 양이다. 10 비트 정확도로 표현된 데이터는 추가로, 최신 비디오 코딩 솔루션들 중의 대부분으로 추가로 코딩될 수 있다. 이러한 양자화는 손실 코딩의 엘리먼트이고, 컨버팅된 데이터에 도입된 부정확도의 소스이다.
차세대 HDR/WCG 비디오 애플리케이션들이 HDR 및 CG 의 상이한 파라미터들로 캡처된 비디오 데이터로 동작할 것임이 예상된다. 상이한 구성의 예들은 1000 니트까지 또는 10,000 니트까지의 피크 밝기를 갖는 HDR 비디오 컨텐츠의 캡처일 수도 있다. 상이한 색역의 예들은 BT.709, BT.2020 뿐만 아니라 SMPTE 명시된-P3, 또는 다른 것들을 포함할 수도 있다.
단일 컬러 공간, 예컨대 타겟 컬러 컨테이너가 향후 활용될 모든 다른 현재 사용된 색역을 통합하는 것이 예상된다. 그러한 타겟 컬러 컨테이너의 일 예는 BT.2020 이다. 단일 타겟 컬러 컨테이너의 지원은 HDR/WCG 시스템들의 표준화, 구현 및 전개를 상당히 간략화할 것이며, 이는 감소된 수의 동작 포인트들 (예컨대, 컬러 컨테이너들, 컬러 공간들, 컬러 컨버전 알고리즘들, 등의 수) 및/또는 감소된 수의 요구되는 알고리즘들이 디코더 (예컨대, 비디오 디코더 (30)) 에 의해 지원되어야만 하기 때문이다.
그러한 시스템의 일 예에서, 타겟 컬러 컨테이너 (예컨대, BT.2020) 와 상이한 네이티브 색역 (예컨대, P3 또는 BT.709) 으로 캡처된 컨텐츠는 프로세싱 이전에 (예컨대, 비디오 인코딩 이전에) 타겟 컨테이너로 컨버팅될 수도 있다. 하기는 그러한 컨버전의 몇몇 예들이다:
BT.709 컬러 컨테이너로부터 BT.2020 컬러 컨테이너로의 RGB 컨버전:
Figure pct00002
P3 컬러 컨테이너로부터 BT.2020 컬러 컨테이너로의 RGB 컨버전:
Figure pct00003
이러한 컨버전 동안, P3 또는 BT.709 색역에서 캡처된 신호의 동적 범위는 BT.2020 표현에서 감소될 수도 있다. 데이터가 부동 소수점 정확도로 표현되기 때문에, 손실이 없지만; 컬러 컨버전 (예컨대, 이하 식 3 에 도시된 RGB 로부터 YCrCB 로의 컨버전) 및 양자화 (이하 식 4 에서의 예) 와 결합할 때, 동적 범위 감소는 입력 데이터에 대하여 증가된 양자화 에러를 초래한다.
Figure pct00004
식 (4) 에서 DY' 는 양자화된 Y' 컴포넌트이고, DCb 는 양자화된 Cb 이고, DCr 는 양자화된 Cr 컴포넌트이다. 용어 << 는 비트 방식의 우측 쉬프트를 나타낸다. BitDepthY, BitDepthCr, 및 BitDepthCb 는 각각, 양자화된 컴포넌트들의 요구되는 비트 심도들이다.
추가로, 실제 코딩 시스템에서, 감소된 동적 범위로 신호를 코딩하는 것은, 코딩된 크로마 컴포넌트들에 대한 정확도의 상당한 손실을 초래할 것이고, 코딩 아티팩트들, 예컨대 컬러 미스매치 및/또는 컬러 블리딩 (color bleeding) 으로서 뷰어에 의해 관측될 것이다.
문제는 또한, 컨텐츠의 색역이 타겟 컬러 컨테이너의 색역과 동일하지만, 컨텐츠가 (예컨대, 일부 프레임들에서 또는 하나의 컴포넌트에 대하여) 전체 컬러 컨테이너의 개멋 (gamut) 을 완전히 점유하지 않을 경우에, 발생할 수도 있다. 이러한 상황이 도 7a 및 도 7b 에 시각화되며, 여기서 HDR 시퀀스들의 컬러들이 xy 컬러 평면에 도시된다. 도 7a 는 네이티브 BT.709 컬러 공간 (삼각형 (150)) 에서 캡처된 Tibul 테스트 시퀀스의 컬러들을 도시한다. 그러나, (점들로 도시된) 테스트 시퀀스의 컬러들은 BT.709 의 전체 색역을 점유하지 않는다. 도 7a 및 도 7b 에서, 삼각형 (152) 은 BT.2020 색역을 나타낸다. 도 7b 는 P3 네이티브 색역 (삼각형 (154)) 을 갖는 "Bikes" HDR 테스트 시퀀스의 컬러들을 도시한다. 도 7b 에 도시될 수 있는 것과 같이, 컬러들은 xy 컬러 평면에서 네이티브 색역 (삼각형 (154) 의 전체 범위를 점유하지 않는다.
앞서 설명된 문제들을 해결하기 위해, 이하 기술들이 고려될 수도 있다. 하나의 예시적인 기술은 네이티브 컬러 공간에서 HDR 코딩을 수반한다. 그러한 기술에서, HDR 비디오 코딩 시스템은 다양한 타입들의 현재 알려진 색역들을 지원하고, 향후 색역들을 지원하기 위해 비디오 코딩 표준의 확장들을 허용할 것이다. 이러한 지원은 오직 상이한 컬러 컨버전 변환들, 예컨대 RGB 대 YCbCr, 및 그들의 역 변환들을 지원하도록 제한되는 것이 아니라, 또한 색역들의 각각으로 조정되는 변환 함수들을 명시할 것이다. 그러한 다양한 툴들의 지원은 복잡하고 비쌀 것이다.
다른 예시적인 기술은 색역 인식 비디오 코덱을 포함한다. 그러한 기술에서, 가설 비디오 인코더는 감소된 동적 범위로부터 발생하는 임의의 왜곡을 감소시키기 위해 입력 신호의 네이티브 색역을 추정하고 코딩 파라미터들 (예컨대, 코딩된 크로마 컴포넌트들에 대한 양자화 파라미터들) 을 조정하도록 구성된다. 그러나, 그러한 기술은 앞의 식 (4) 에서 수행된 양자화로 인해 발생할 수도 있는 정확도의 손실을 복구할 수 없을 것이며, 이는 모든 입력 데이터가 정수 포인트 정확도로 통상의 코덱에 제공되기 때문이다.
앞의 내용을 고려하여, 본 개시물은 색역 컨버전에 의해 HDR 신호 표현들에 도입된 동적 범위 변화들을 보상하기 위해 동적 범위 조정 (DRA) 을 수행하기 위한 기술들, 방법들 및 장치들을 제안한다. 동적 범위 조정은 컬러 미스매치, 컬러 블리딩, 등을 포함하는 색역 컨버전에 의해 야기된 임의의 왜곡을 방지하고 및/또는 감소시키는 것을 도울 수도 있다. 본 개시의 하나 이상의 예들에서, DRA 는 (예컨대, 소스 디바이스 (12) 에 의한) 인코더 측에서의 양자화 이전에 그리고 (예컨대, 목적지 디바이스 (14) 에 의한) 디코더 측에서의 역 양자화 이후에, 타겟 컬러 공간, 예컨대 YCbCr 의 각각의 컬러 컴포넌트의 값들에 수행된다.
도 8 은 본 개시의 기술들에 따라 동작하는 예시적인 HDR/WCG 컨버전 장치를 예시하는 블록 다이어그램이다. 도 8 에서, 직선들은 데이터 흐름을 명시하고, 점선들은 제어 신호들을 명시한다. 본 개시의 기술들은 소스 디바이스 (12) 의 DRA 유닛 (19) 에 의해 수행될 수도 있다. 앞서 논의된 것과 같이, DRA 유닛 (19) 은 비디오 인코더 (20) 로부터 분리된 디바이스일 수도 있다. 다른 예들에서, DRA 유닛 (19) 은 비디오 인코더 (20) 와 동일한 디바이스 내로 통합될 수도 있다.
도 8 에 도시된 것과 같이, RGB 네이티브 CG 비디오 데이터 (200) 는 DRA 유닛 (19) 에 입력된다. DRA 유닛 (19) 에 의한 비디오 프리프로세싱의 맥락에서, RGB 네이티브 CG 비디오 데이터 (200) 는 입력 컬러 컨테이너에 의해 정의된다. 입력 컬러 컨테이너 비디오 데이터 (200) 의 색역 (예컨대, BT. 709, BT. 2020, P3, 등) 의 양자를 정의하고, 비디오 데이터 (200) 의 컬러 공간 (예컨대, RGB, XYZ, YCrCb, YUV, 등) 을 정의한다. 본 개시의 일 예에서, DRA 유닛 (19) 은 RGB 네이티브 CB 비디오 데이터 (200) 의 색역 및 컬러 공간 양자를 HDR' 데이터 (216) 에 대한 타겟 컬러 컨테이너로 컨버팅하도록 구성될 수도 있다. 입력 컬러 컨테이너와 유사하게, 타겟 컬러 컨테이너는 색역과 컬러 공간 양자를 정의할 수도 있다. 본 개시의 일 예에서, RGB 네이티브 CB 비디오 데이터 (200) 는 HDR/WCG 비디오일 수도 있고, BT.2020 또는 P3 색역 (또는 임의의 WCG) 를 가질 수도 있고 RGB 컬러 공간에 있을 수도 있다. 다른 예에서, RGB 네이티브 CB 비디오 데이터 (200) 는 SDR 비디오일 수도 있고, BT.709 색역을 가질 수도 있다. 일 예에서, HDR' 데이터 (216) 에 대한 타겟 컬러 컨테이너는 HDR/WCG 비디오 (예컨대, BT.2020) 에 대하여 구성되었을 수도 있고, 비디오 인코딩을 위해 더 최적인 컬러 공간 (예컨대, YCrCb) 을 사용할 수도 있다.
본 개시의 일 예에서, CG 컨버터 (202) 는 RGB 네이티브 CG 비디오 데이터 (200) 의 색역을, 입력 컬러 컨테이너 (예컨대, 제 1 컬러 컨테이너) 의 색역으로부터 타겟 컬러 컨테이너 (예컨대, 제 2 컬러 컨테이너) 의 색역으로 컨버팅하도록 구성될 수도 있다. 일 예로서, CG 컨버터 (202) 는 RGB 네이티브 CG 비디오 데이터 (200) 를 BT.709 컬러 표현으로부터 BT.2020 컬러 표현으로 컨버팅할 수도 있고, 그 예가 이하에 도시된다.
RGB BT.709 샘플들 (R709, G709, B709) 을 RGB BT.2020 샘플들 (R2020, G2020, B2020) 로 컨버팅하기 위한 프로세스는, 먼저 XYZ 표현으로의 컨버팅을 수반하고, 다음에 적절한 컨버전 행렬들을 사용하는 XYZ 로부터 RGB BT.2020 로의 컨버전이 뒤따르는 2-스텝 컨버전으로 구현될 수 있다.
Figure pct00005
XYZ 로부터 R2020G2020B2020 (BT.2020) 로의 컨버전
Figure pct00006
유사하게, 단일의 단계 및 추천 방법은 다음과 같다:
Figure pct00007
CG 컨버전 이후에 결과적인 비디오 데이터가 도 8 에 RGB 타겟 CG 비디오 데이터 (204) 로서 도시된다. 본 개시의 다른 예들에서, 입력 컬러 컨테이너 및 출력 컬러 컨테이너에 대한 색역은 동일할 수도 있다. 그러한 예에서, CG 컨버터 (202) 는 RGB 네이티브 CG 비디오 데이터 (200) 에 어떤 컨버전도 수행하지 않아야 한다.
다음으로, 전달 함수 유닛 (206) 은 RGB 타겟 CG 비디오 데이터 (204) 의 동적 범위를 압축한다. 전달 함수 유닛 (206) 은 도 4 를 참조하여 앞서 논의된 것과 동일한 방식으로 동적 범위를 압축하기 위해 전달 함수를 적용하도록 구성될 수도 있다. 컬러 컨버전 유닛 (208) 은 RGB 타겟 CG 비디오 데이터 (204) 를 입력 컬러 컨테이너의 컬러 공간 (예컨대, RGB) 을 타겟 컬러 컨테이너의 컬러 공간 (예컨대, YCrCb) 으로 컨버팅한다. 도 4 를 참조하여 앞서 설명된 것과 같이, 컬러 컨버전 유닛 (208) 은 압축된 데이터를, 하이브리드 비디오 인코더 (예컨대, 비디오 인코더 (20)) 에 의한 압축에 더 적합한 더 조밀하거나 견고한 컬러 공간 (예컨대, YUV 또는 YCrCb 컬러 공간) 으로 컨버팅한다.
조정 유닛 (210) 은 DRA 파라미터들 추정 유닛 (212) 에 의해 도출된 DRA 파라미터들에 따라 컬러 컨버팅된 비디오 데이터의 동적 범위 조정 (DRA) 을 수행하도록 구성된다. 일반적으로, CG 컨버터 (202) 에 의한 CG 컨버전 및 전달 함수 유닛 (206) 에 의한 동적 범위 압축 이후에, 결과적인 비디오 데이터의 실제 컬러 값들은 특정 타겟 컬러 컨테이너의 색역에 대하여 할당된 모든 사용가능한 코드워드들 (예컨대, 각각의 컬러를 나타내는 고유한 비트 시퀀스들) 을 사용하지 않을 수도 있다. 즉, 일부 상황들에서, 입력 컬러 컨테이너로부터 출력 컬러 컨테이너로의 RGB 네이티브 CG 비디오 데이터 (200) 는 결과적인 압축된 비디오 데이터가 모든 가능한 컬러 표현들의 효율적인 사용을 실행하지 않도록, 비디오 데이터의 컬러 값들 (예컨대, Cr 및 Cb) 을 과도하게 압축할 수도 있다. 앞서 설명된 것과 같이, 컬러들에 대한 감소된 범위의 값들로 신호를 코딩하는 것은, 코딩된 크로마 컴포넌트들에 대한 정확도의 상당한 손실을 초래할 수도 있고, 코딩 아티팩트들, 예컨대 컬러 미스매치 및/또는 컬러 블리딩으로서 관측될 것이다.
조정 유닛 (210) 은 특정 타겟 컬러 컨테이너에 대하여 사용가능한 코드워드들의 완전한 사용을 실행하기 위해 동적 범위 압축 및 컬러 컨버전 이후에 비디오 데이터, 예컨대 RGB 타겟 CG 비디오 데이터 (204) 의 컬러 컴포넌트들 (예컨대, YCrCb) 에 DRA 파라미터들을 적용하도록 구성될 수도 있다. 조정 유닛 (210) 은 DRA 파라미터를 비디오 데이터에 픽셀 레벨로 적용할 수도 있다. 일반적으로, DRA 파라미터들은 실제 비디오 데이터를 나타내는데 사용된 코드워드들을 가능하면 다수의 타겟 컬러 컨테이너에 대하여 사용가능한 코드워드들로 확장하는 함수를 정의한다.
본 개시의 일 예에서, DRA 파라미터들은 비디오 데이터의 컴포넌트들에 적용되는 스케일 및 오프셋 값을 포함한다. 일반적으로, 비디오 데이터의 컬러 컴포넌트들의 값들의 동적 범위가 낮을수록, 더 큰 스케일링 인자가 사용될 수도 있다. 오프셋 파라미터는 컬러 컴포넌트들의 값들을 타겟 컬러 컨테이너에 대한 사용가능한 코드워드들의 중심에 센터링하는데 사용될 수도 있다. 예를 들어, 타겟 컬러 컨테이너가 컬러 컴포넌트마다 1024 개의 코드워드들을 포함한다면, 오프셋 값은 중심 코드워드가 코드워드 (512) (예컨대, 가장 중심 코드워드) 로 이동되도록 선택될 수도 있다.
일 예에서, 조정 유닛 (210) 은 다음과 같은 타겟 컬러 공간 (예컨대, YCrCb) 에서 비디오 데이터에 DRA 파라미터들을 적용한다:
Figure pct00008
여기서 신호 컴포넌트들 Y', Cb' 및 Cr' 은 RGB 대 YCbCr 컨버전으로부터 생성된 신호이다 (식 3 의 예). Y', Cb' 및 Cr' 이 또한, 비디오 디코더 (30) 에 의해 디코딩된 비디오 신호일 수도 있음을 유의한다. Y'', Cb'' 및 Cr'' 는 DRA 파라미터들이 각각의 컬러 컴포넌트에 적용된 후에 비디오 신호의 컬러 컴포넌트들이다. 앞의 예에서 보여질 수 있는 것과 같이, 각각의 컬러 컴포넌트는 상이한 스케일 및 오프셋 파라미터들에 관련된다. 예를 들어, scale1 및 offset1 이 Y' 컴포넌트를 위해 사용되고, scale2 및 offset2 이 Cb' 컴포넌트를 위해 사용되고, 그리고 scale3 및 offset3 이 Cr' 컴포넌트를 위해 사용된다. 이는 단지 일 예인 것이 이해되어야 한다. 다른 예들에서, 동일한 스케일 및 오프셋 값들이 모든 컬러 컴포넌트에 대하여 사용될 수도 있다.
다른 예들에서, 각각의 컬러 컴포넌트는 다수의 스케일 및 오프셋 파라미터들과 연관될 수도 있다. 예를 들어, Cr 또는 Cb 컬러 컴포넌트들에 대한 크로마 값들의 실제 분포는 코드워드들의 상이한 부분들에 대하여 상이할 수도 있다. 일 예로서, 중심 코드워드 (예컨대, 코드워드 (512)) 아래에 있는 것보다 더 고유한 코드워드들이 중심 코드워드 위에서 사용될 수도 있다. 그러한 예에서, 조정 유닛 (210) 은 (예컨대, 중심 코드워드보다 큰 값들을 가지는) 중심 코드워드 위에서 크로마 값들에 대한 스케일 및 오프셋 파라미터들의 일 세트를 적용하고, (예컨대, 중심 코드워드 미만의 값들을 가지는) 중심 코드워드 아래에서 크로마 값들에 대한 스케일 및 오프셋 파라미터들의 상이한 세트를 적용하도록 구성될 수도 있다.
상기 예에서 보여질 수 있는 것과 같이, 조정 유닛 (210) 은 스케일 및 오프셋 DRA 파라미터들을 선형 함수로서 적용한다. 이와 같이, 조정 유닛 (210) 이 컬러 컨버전 유닛 (208) 에 의한 컬러 컨버전 이후에 타겟 컬러 공간에서 DRA 파라미터들을 적용하는 것은 불필요하다. 이는 컬러 컨버전 자체가 선형 프로세스이기 때문이다. 이와 같이, 다른 예들에서, 조정 유닛 (210) 은 임의의 컬러 컨버전 프로세스 이전에 네이티브 컬러 공간 (예컨대, RGB) 에서 DRA 파라미터들을 비디오 데이터에 적용할 수도 있다. 상기 예에서, 컬러 컨버전 유닛 (208) 은 조정 유닛 (210) 이 DRA 파라미터들을 적용한 후에, 컬러 컨버전을 적용할 것이다.
본 개시의 다른 예에서, 조정 유닛 (210) 은 다음과 같이 타겟 컬러 공간 또는 네이티브 컬러 공간에서 DRA 파라미터들을 적용할 수도 있다:
Figure pct00009
상기 예에서, 파라미터 scale1, scale2, scale3, offset1, offset2, 및 offset3 는 앞서 설명된 것과 동일한 의미를 갖는다. 파라미터 offsetY 는 신호의 밝기를 반영하는 파라미터이고, Y' 의 평균 값과 동일할 수 있다.
본 개시의 다른 예에서, 조정 유닛 (210) 은 네이티브 컬러 공간 또는 타겟 컬러 공간이 아닌 컬러 공간에서 DRA 파라미터들을 적용하도록 구성될 수도 있다. 일반적으로, 조정 유닛 (210) 은 다음과 같이 DRA 파라미터들을 적용하도록 구성될 수도 있다:
Figure pct00010
여기서 신호 컴포넌트들 X, Y 및 Z 은 타겟 컬러 공간, 예컨대 RGB 과 상이한 컬러 공간 또는 중간 컬러 공간에서의 신호 컴포넌트들이다.
본 개시의 다른 예들에서, 조정 유닛 (210) 은 DRA 를 수행하기 위해 선형 전달 함수를 비디오에 적용하도록 구성된다. 그러한 전달 함수는 동적 범위를 압축하기 위해 전달 함수 유닛 (206) 에 의해 사용된 전달 함수와 상이하다. 앞서 정의된 스케일 및 오프셋과 유사하게, 조정 유닛 (210) 에 의해 적용된 전달 함수는 컬러 값들을 타겟 컬러 컨테이너에서의 사용가능한 코드워드들로 확장시키고 센터링하는데 사용될 수도 있다. DRA 를 수행하기 위해 전달 함수를 적용하는 일 예가 이하 도시된다:
Figure pct00011
용어 TF2 는 조정 유닛 (210) 에 의해 적용된 전달 함수를 명시한다.
본 개시의 다른 예에서, 조정 유닛 (210) 은 단일 프로세스에서 컬러 컨버전 유닛 (208) 의 컬러 컨버전과 공동으로 DRA 파라미터들을 적용하도록 구성될 수도 있다. 즉, 조정 유닛 (210) 및 컨버전 유닛 (208) 의 선형 함수들이 결합될 수도 있다. 결합된 애플리케이션의 일 예가 이하 도시되고, 여기서 f1 및 f2 는 RGB 대 YCbCr 행렬 및 DRA 스케일링 인자들의 조합이다:
Figure pct00012
본 개시의 다른 예에서, DRA 파라미터들을 적용한 후에, 조정 유닛 (210) 은 비디오 데이터가 특정 타겟 컬러 컨테이너에 대하여 명시된 코드워드들의 범위 밖의 값들을 가지는 것을 방지하기 위해 클립핑 프로세스를 수행하도록 구성될 수도 있다. 일부 상황들에서, 조정 유닛 (210) 에 의해 적용되는 스케일 및 오프셋 파라미터들은 일부 컬러 컴포넌트 값들이 허용가능한 코드워드들의 범위를 초과하게 할 수도 있다. 이 경우에, 조정 유닛 (210) 은 범위를 초과하는 컴포넌트들의 값들을 범위에서의 최대 값으로 클립하도록 구성될 수도 있다.
조정 유닛 (210) 에 의해 적용된 DRA 파라미터들은 DRA 파라미터들 추정 유닛 (212) 에 의해 결정될 수도 있다. DRA 파라미터들 추정 유닛 (212) 이 얼마나 자주 DRA 파라미터들을 업데이트하는지는 플렉시블하다. 예를 들어, DRA 파라미터들 추정 유닛 (212) 은 시간적 레벨에서 DRA 파라미터들을 업데이트할 수도 있다. 즉, 새로운 DRA 파라미터들은 픽처들의 그룹 (GOP), 또는 단일 픽처 (프레임) 에 대하여 결정될 수도 있다. 이러한 예에서, RGB 네이티브 CG 비디오 데이터 (200) 는 GOP 또는 단일 픽처일 수도 있다. 다른 예들에서, DRA 파라미터들 추정 유닛 (212) 은 공간적 레벨에서, 예컨대 슬라이스 타일에서, 또는 블록 레벨에서 DRA 파라미터들을 업데이트할 수도 있다. 이 컨텍스트에서, 비디오 데이터의 블록은 매크로블록, 코딩 트리 유닛 (CTU), 코딩 유닛, 또는 블록의 임의의 다른 사이즈 및 형상일 수도 있다. 블록은 정사각형, 직사각형, 또는 임의의 다른 형상일 수도 있다. 따라서, DRA 파라미터들은 더 효율적인 시간 및 공간 예측 및 코딩을 위해 사용될 수도 있다.
본 개시물의 일 예에서, DRA 파라미터들 추정 유닛 (212) 은 RGB 네이티브 CG 비디오 데이터 (200) 의 네이티브 색역 및 타겟 컬러 컨테이너의 색역의 대응에 기초하여, DRA 파라미터들을 도출할 수도 있다. 예를 들어, DRA 파라미터들 추정 유닛 (212) 은 특정 네이티브 색역 (예컨대, BT.709) 및 타겟 컬러 컨테이너의 색역 (예컨대, BT.2020) 이 주어질 때 스케일 및 오프셋 값들을 결정하기 위해 미리 정의된 규칙들의 세트를 이용할 수도 있다.
예를 들어, 네이티브 색역 및 타겟 컬러 컨테이너가 xy 공간에서의 컬러 프라이머리들 좌표들 및 백색점 좌표들의 형태로 정의된다고 가정하자. BT.709 및 BT.2020 에 대하여 그러한 정보의 일 예가 이하 표 2 에 도시된다.
Figure pct00013
일 예에서, BR.2020 은 타겟 컬러 컨테이너의 색역이고, BT.709 은 네이티브 컬러 컨테이너의 색역이다. 이러한 예에서, 조정 유닛 (210) 은 DRA 파라미터들을 YCbCr 타겟 컬러 공간에 적용한다. DRA 파라미터들 추정 유닛 (212) 은 다음과 같이 DRA 파라미터들을 추정하여 조정 유닛 (210) 에 포워딩하도록 구성될 수도 있다:
Figure pct00014
다른 예로서, BT.2020 이 타겟 색역이고, P3 가 네이티브 색역이고, DRA 가 YCbCr 타겟 컬러 공간에 적용될 때, DRA 파라미터들 추정 유닛 (212) 은 다음과 같이 DRA 파라미터들을 추정하도록 구성될 수도 있다:
Figure pct00015
앞의 예들에서, DRA 파라미터들 추정 유닛 (212) 은 특정 네이티브 색역 및 특정 타겟 색역이 주어질 때, 사용할 DRA 파라미터들을 표시하는 검색 테이블 참고함으로써 앞서 열거된 스케일 및 오프셋 값들을 결정하도록 구성될 수도 있다. 다른 예들에서, DRA 파라미터들 추정 유닛 (212) 은 예컨대, 표 2 에 도시된 것과 같이, 네이티브 색역 및 타겟 색역의 프라이머리 및 백색 공간 값들로부터 DRA 파라미터들을 계산하도록 구성될 수도 있다.
예를 들어, 타겟 (T) 컬러 컨테이너는 프라이머리 좌표들 (xXt, yXt) 에 의해 명시되고, 여기서 X 는 R, G, B 컬러 컴포넌트들에 대하여 언급되고:
Figure pct00016
그리고 네이티브 (N) 색역은 프라이머리들 좌표들 (xXn, yXn) 에 의해 명시되고, 여기서 X 는 R, G, B 컬러 컴포넌트들에 대하여 언급되는 것을 고려하자:
Figure pct00017
양자의 개멋들에 대한 백색점 좌표는 whiteP = (xW,yW) 와 동일하다. DRA 파라미터들 추정 유닛 (212) 은 백색점까지 프라이머리들 좌표들간의 거리들의 함수로서 DRA 에 대한 scale2 및 scale3 파라미터들을 도출할 수도 있다. 그러한 추정의 일 예는 하기에 제공된다:
Figure pct00018
일부 예들에서, DRA 파라미터들 추정 유닛 (212) 은 네이티브 색역의 미리 정의된 프라이머리 값들로부터가 아니고 RGB 네이티브 CG 비디오 데이터 (200) 에서 컬러 값들의 실제 분포로부터 primeN 에서의 프라이머리들 좌표들을 결정함으로써 DRA 파라미터들을 추정하도록 구성될 수도 있다. 즉, DRA 파라미터들 추정 유닛 (212) 은 RGB 네이티브 CG 비디오 데이터 (200) 에 존재하는 실제 컬러들을 분석하고, DRA 파라미터들을 계산하기 위해 앞서 설명된 함수에서 그러한 분석으로부터 결정된 원색 값들 및 백색점을 사용하도록 구성될 수도 있다. 앞서 정의된 일부 파라미터들의 근사화는 계산을 용이하게 하기 위해 DRA 로서 사용될 수도 있다. 예를 들어, scale3 = 2.1735 는 scale3 = 2 로 근사화될 수 있고, 이는 일부 아키텍처들에서 더 용이한 구현을 허용한다.
본 개시의 다른 예들에서, DRA 파라미터들 추정 유닛 (212) 은 타겟 컬러 컨테이너의 색역뿐만 아니라 타겟 컬러 공간에 기초하여, DRA 파라미터들을 결정하도록 구성될 수도 있다. 컴포넌트 값들의 실제 분포들은 컬러 공간으로부터 컬러 공간으로 상이할 수도 있다. 예를 들어, 크로마 값 분포들은 일정하지 않은 루미넌스를 갖는 YCbCr 컬러 공간들과 비교하여, 일정한 루미넌스를 갖는 YCbCr 공간들에 대하여 상이할 수도 있다. DRA 파라미터들 추정 유닛 (212) 은 DRA 파라미터들을 결정하기 위해 상이한 컬러 공간들의 컬러 분포들을 사용할 수도 있다.
본 개시의 다른 예들에서, DRA 파라미터들 추정 유닛 (212) 은 비디오 데이터를 사전-프로세싱 및/또는 인코딩하는 것과 연관된 특정 비용 함수들을 최소화하기 위해 DRA 파라미터들에 대한 값들을 도출하도록 구성될 수도 있다. 일 예로서, DRA 파라미터들 추정 유닛 (212) 은 앞서 양자화 유닛 (214) (예컨대, 식 (4)) 을 참조) 에 의해 도입된 양자화 에러들을 최소화한 DRA 파라미터들을 추정하도록 구성될 수도 있다. DRA 파라미터들 추정 유닛 (212) 은 DRA 파라미터들의 상이한 세트들이 적용된, 비디오 데이터에 양자화 에러 테스트들을 수행함으로써 그러한 에러를 최소화할 수도 있다. 그 후에, DRA 파라미터들 추정 유닛 (212) 은 최저 양자화 에러를 생성한 DRA 파라미터들을 선택할 수도 있다.
다른 예에서, DRA 파라미터들 추정 유닛 (212) 은 조정 유닛 (210) 에 의해 수행된 DRA 와 비디오 인코더 (20) 에 의해 수행된 비디오 인코딩 양자와 연관된 비용 함수를 최소화하는 DRA 파라미터들을 선택할 수도 있다. 예를 들어, DRA 파라미터들 추정 유닛 (212) 은 DRA 를 수행하고, DRA 파라미터들의 다수의 상이한 세트들로 비디오 데이터를 인코딩할 수도 있다. DRA 파라미터들 추정 유닛 (212) 은 DRA 및 비디오 인코딩으로부터 발생하는 비트레이트의 가중된 합 뿐만 아니라, 이들 2 가지 손실 프로세스에 의해 도입된 왜곡을 형성함으로써 DRA 파라미터들의 각각에 대한 비용 함수를 계산할 수도 있다. 그 후에, DRA 파라미터들 추정 유닛 (212) 은 비용 함수를 최소화하는 DRA 파라미터들의 세트를 선택할 수도 있다.
DRA 파라미터 추정에 대한 앞의 기술들의 각각에서 DRA 파라미터들 추정 유닛 (212) 은 각각의 컴포넌트에 대하여 별개로 DRA 파라미터들을 그 컴포넌트들에 관한 정보를 사용하여 결정할 수도 있다. 다른 예들에서 DRA 파라미터들 추정 유닛 (212) 은 교차-컴포넌트 정보를 사용하여 DRA 파라미터들을 결정할 수도 있다. 예를 들어, Cr 컴포넌트에 대하여 도출된 DRA 파라미터들은 CB 컴포넌트에 대한 DRA 파라미터들을 도출하는데 사용될 수도 있다.
DRA 파라미터들을 도출하는 것에 부가하여, DRA 파라미터들 추정 유닛 (212) 은 인코딩된 비트스트림에서 DRA 파라미터들을 시그널링하도록 구성될 수도 있다. DRA 파라미터들 추정 유닛 (212) 은 직접 DRA 파라미터들을 표시하는 하나 이상의 신택스 엘리먼트들을 시그널링할 수도 있거나, 또는 하나 이상의 신택스 엘리먼트들을 시그널링을 위해 비디오 인코더 (20) 에 제공하도록 구성될 수도 있다. 파라미터들의 그러한 신택스 엘리먼트들은, 비디오 디코더 (30) 및/또는 역 DRA 유닛 (31) 이 비디오 데이터를 그 네이티브 컬러 컨테이너에서 복원하기 위해 DRA 유닛 (19) 의 프로세스의 역을 수행할 수도 있도록, 비트스트림에서 시그널링될 수도 있다. DRA 파라미터들을 시그널링하기 위한 예시적인 기술들이 하기에 논의된다.
일 예에서, DRA 파라미터들 추정 유닛 (212) 은 메타데이터로서 인코딩된 비디오 비트스트림에서, 보충 향상 정보 (SEI) 메세지에서, 비디오 이용가능성 정보 (VUI) 에서, 비디오 파라미터 세트 (VPS) 에서, 시퀀스 파라미터 세트 (SPS) 에서, 픽처 파라미터 세트에서, 슬라이스 헤더에서, CTU 헤더에서, 또는 비디오 데이터 (예컨대, GOP, 픽처들, 블록들, 매크로블록, CTU들, 등) 의 사이즈에 대한 DRA 파라미터들을 표시하기에 적합한 임의의 다른 신택스 구조에서 하나 이상의 신택스 엘리먼트들을 시그널링할 수도 있다.
일부 예들에서, 하나 이상의 신택스 엘리먼트들은 DRA 파라미터들을 명시적으로 표시한다. 예를 들어, 하나 이상의 신택스 엘리먼트들은 DRA 에 대한 다양한 스케일 및 오프셋 값들일 수도 있다. 다른 예들에서, 하나 이상의 신택스 엘리먼트들은 DRA 에 대한 스케일 및 오프셋 값들을 포함하는 검색 테이블 내로의 하나 이상의 인덱스들일 수도 있다. 또 다른 예들에서, 하나 이상의 신택스 엘리먼트들은 DRA 에 대하여 사용할 선형 전달 함수를 명시하는 검색 테이블 내로의 인덱스들일 수도 있다.
다른 예들에서, DRA 파라미터들은 명시적으로 시그널링되는 것이 아니라, 오히려 양자의 DRA 유닛 (19) 과 역 DRA 유닛 (31) 은 비트스트림으로부터 인식가능한 비디오 데이터의 동일한 정보 및/또는 특징들을 사용하여 동일한 미리-정의된 프로세스를 사용하여 DRA 파라미터들을 도출하도록 구성된다. 일 예에서, 역 DRA 유닛 (31) 은 비디오 데이터의 네이티브 컬러 컨테이너뿐만 아니라 인코딩된 비트스트림에서 인코딩된 비디오 데이터의 타겟 컬러 컨테이너를 표시하도록 구성될 수도 있다. 그 후에, 역 DRA 유닛 (31) 은 앞서 정의된 것과 동일한 프로세스를 사용하여 그러한 정보로부터 DRA 파라미터들을 도출하도록 구성될 수도 있다. 일부 예들에서, 네이티브 컬러 컨테이너와 타겟 컬러 컨테이너를 식별하는 하나 이상의 신택스 엘리먼트들이 신택스 구조에서 공급된다. 그러한 신택스 엘리먼트들은 컬러 컨테이너들을 명시적으로 표시할 수도 있거나, 검색 테이블로의 인덱스들일 수도 있다. 다른 예에서, DRA 유닛 (19) 은 특정 컬러 컨테이너에 대한 컬러 프라이머리들 및 백색점의 XY 값들을 표시하는 하나 이상의 신택스 엘리먼트들을 시그널링하도록 구성될 수도 있다. 다른 예에서, DRA 유닛 (19) 은 DRA 파라미터들 추정 유닛 (212) 에 의해 수행된 분석에 기초하여, 비디오 데이터에서 실제 컬러 값들의 컬러 프라이머리들 및 백색점 (컨텐츠 프라이머리들 및 컨텐츠 백색점) 의 XY 값들을 표시하는 하나 이상의 신택스 엘리먼트들을 시그널링하도록 구성될 수도 있다.
일 예로서, 컨텐츠에서 컬러를 포함하는 최소 색역의 컬러 프라이머리들은 시그널링될 수도 있고, 비디오 디코더 (30) 및/또는 역 DRA 유닛 (31) 에서, DRA 파라미터들은 컨테이너 프라이머리들 및 컨텐츠 프라이머리들 양자를 사용하여 도출된다. 일 예에서, 컨텐츠 프라이머리들은 앞서 설명된 것과 같이, R, G 및 B 에 대한 x 및 y 컴포넌트들을 사용하여 시그널링될 수 있다. 다른 예에서, 컨텐츠 프라이머리들은 2 개의 공지된 프라이머리 세트들 간의 비율로서 시그널링될 수 있다. 예를 들어, 컨텐츠 프라이머리들은 BT.709 프라이머리들과 BT.2020 프라이머리들 간의 선형 위치로서 시그널링될 수 있다 : (G 및 B 컴포넌트들에 대하여 alfag 및 alfab 을 갖는 유사한 식과 함께)
Figure pct00019
, 여기서 파라미터 alfar 는 2 개의 공지된 프라이머리 세트들 간의 비율을 명시한다. 일부 예들에서, 시그널링된 및/또는 도출된 DRA 파라미터들은 비디오 인코더 (20) 및/또는 비디오 디코더 (30) 에 의해 HDR/WCG 비디오 데이터의 코딩을 위해 활용된 가중 예측 기반의 기술들을 용이하게 하기 위해 사용될 수도 있다.
가중 예측을 활용하는 비디오 코딩 방식들에서, 현재 코딩된 픽처의 샘플 Sc 은 예측된 샘플 Sp 을 발생하는 가중치 (Wwp) 및 오프셋 (Owp) 으로 취득된 레퍼런스 픽처의 (단일 방향성 예측에 대한) 샘플 Sr 로부터 예측된다:
Figure pct00020
DRA 를 활용하는 일부 예들에서, 현재 코딩된 픽처 및 레퍼런스 픽처에 대한 샘플들은 상이한 파라미터들, 즉 현재 픽처에 대하여 {scale1cur, offset1cur} 그리고 레퍼런스 픽처에 대하여 {scale1ref, offset1ref} 를 채용하는 DRA 로 프로세싱될 수 있다. 그러한 실시형태들에서, 가중 예측의 파라미터들이 DRA 로부터 도출될 수 있으며, 예컨대:
Figure pct00021
조정 유닛 (210) 이 DRA 파라미터들을 적용한 후에, DRA 유닛 (19) 은 그 후, 양자화 유닛 (214) 을 사용하여 비디오 데이터를 양자화할 수도 있다. 양자화 유닛 (214) 은 도 4 를 참조하여 앞서 설명된 것과 동일한 방식으로 동작할 수도 있다. 양자화 이후에, 비디오 데이터는 지금부터, HDR' 데이터 (316) 의 타겟 컬러 컨테이너의 타겟 색역 및 타겟 컬러 공간에서 조정된다. HDR' 데이터 (316) 는 그 후, 압축을 위해 비디오 인코더 (20) 에 전송될 수도 있다.
도 9 는 본 개시물의 기술들에 따라 예시적인 HDR/WCG 역 컨버전 장치를 예시하는 블록 다이어그램이다. 도 9 에 도시된 것과 같이, 역 DRA 유닛 (31) 은 도 8 의 DRA 유닛 (19) 에 의해 수행된 기술들의 역을 적용하도록 구성될 수도 있다. 다른 예들에서, 역 DRA 유닛 (31) 의 기술들은 비디오 디코더 (30) 에 통합되고, 비디오 디코더 (30) 에 의해 수행될 수도 있다.
일 예에서, 비디오 디코더 (30) 는 비디오 인코더 (20) 에 의해 인코딩된 비디오 디코더를 디코딩하도록 구성될 수도 있다. 디코딩된 비디오 데이터 (타겟 컬러 컨테이너에서 HDR' 데이터 (316)) 는 그 후, 역 DRA 유닛 (31) 으로 포워딩된다. 역 양자화 유닛 (314) 은 도 8 의 양자화 유닛 (214) 에 의해 수행된 양자화 프로세스를 반전시키기 위해 HDR' 데이터 (316) 에 역 양자화 프로세스를 수행한다.
비디오 디코더 (30) 는 또한, 도 8 의 DRA 파라미터들 추정 유닛 (212) 에 의해 생성된 임의의 하나 이상의 신택스 엘리먼트들을 디코딩하고 역 DRA 유닛 (13) 의 DRA 파라미터들 도출 유닛 (312) 에 전송하도록 구성될 수도 있다. DRA 파라미터들 도출 유닛 (312) 은 앞서 설명된 것과 같이, 하나 이상의 신택스 엘리먼트들에 기초하여 DRA 파라미터들을 결정하도록 구성될 수도 있다. 일부 예들에서, 하나 이상의 신택스 엘리먼트들은 DRA 파라미터들을 명시적으로 표시한다. 다른 예들에서, DRA 파라미터들 도출 유닛 (312) 은 도 8 의 DRA 파라미터들 추정 유닛 (212) 에 의해 사용된 동일한 기술들을 사용하여 DRA 파라미터들을 도출하도록 구성될 수도 있다.
DRA 파라미터들 도출 유닛 (312) 에 의해 도출된 파라미터들은 역 조정 유닛 (310) 에 전송된다. 역 조정 유닛 (310) 은 조정 유닛 (210) 에 의해 수행된 선형 DRA 조정의 역을 수행하기 위해 DRA 파라미터들을 사용한다. 역 조정 유닛 (310) 은 조정 유닛 (210) 에 대하여 앞서 설명된 임의의 조정 기술들의 역을 적용할 수도 있다. 추가로, 조정 유닛 (210) 과 같이, 역 조정 유닛 (310) 은 임의의 역 컬러 컨버전 이전에 또는 이후에 역 DRA 를 적용할 수도 있다. 이와 같이, 역 조정 유닛 (310) 은 타겟 컬러 컨테이너 또는 네이티브 컬러 컨테이너에서의 비디오데이터에 DRA 파라미터를 적용할 수도 있다.
역 컬러 컨버전 유닛 (308) 은 타겟 컬러 공간 (예컨대, YCbCr) 으로부터 네이티브 컬러 공간 (예컨대, RGB) 로 비디오 데이터를 컨버팅한다. 그 후에, 역 전달 함수 (306) 는 비디오 데이터의 동적 범위를 압축해제하기 위해 전달 함수 (206) 에 의해 적용된 전달 함수의 역을 적용한다. 결과적인 비디오 데이터는 (RGB 타겟 CG (304)) 여전히 타겟 색역 내에 있지만, 지금부터 네이티브 동적 범위 및 네이티브 컬러 공간에 있다. 다음으로, 역 CG 컨버터 (302) 는 RGB 네이티브 CG (300) 를 복원하기 위해 RGB 타겟 CG (304) 를 네이티브 색역으로 컨버팅한다.
일부 예들에서, 추가의 포스트-프로세싱 기술들이 역 DRA 유닛 (31) 에 의해 채용될 수도 있다. DRA 를 적용하는 것은 비디오가 그 실제 네이티브 색역 외부에 있게 할 수도 있다. 양자화 유닛 (214) 및 역 양자화 유닛 (314) 에 의해 수행된 양자화 단계들 뿐만 아니라, 조정 유닛 (210) 및 역 조정 유닛 (310) 에 의해 수행된 업-샘플링 및 다운-샘플링 기술들은 네이티브 색역 외부에 있는 네이티브 컬러 컨테이너에서의 결과적인 컬러 값들에 기여할 수도 있다. 네이티브 색역이 공지될 경우에 (또는 앞서 설명된 것과 같이, 시그널링될 경우, 실제 최소 컨텐츠 프라이머리들), 추가의 프로세스가 DRA 에 대한 포스트-프로세싱으로서 컬러 값들 (예컨대, RGB 또는 Cb 및 Cr) 을 다시 의도된 개멋으로 변환하기 위해 RGB 네이티브 CG 비디오 데이터 (304) 에 적용될 수 있다. 다른 예들에서, 그러한 포스트-프로세싱은 양자화 이후 또는 DRA 애플리케이션 이후에 적용될 수도 있다.
도 10 은 본 개시의 기술들을 구현할 수도 있는 비디오 인코더 (20) 의 일 예를 도시한 블록 다이어그램이다. 비디오 인코더 (20) 는 DRA 유닛 (19) 에 의해 프로세싱된 타겟 컬러 컨테이너에서의 비디오 슬라이스들 내의 비디오 블록들의 인트라-코딩 및 인터-코딩을 수행할 수도 있다. 인트라-코딩은 소정의 비디오 프레임 또는 픽처 내 비디오에 있어서 공간 리던던시를 감소 또는 제거하기 위해 공간 예측에 의존한다. 인터-코딩은 비디오 시퀀스의 인접한 프레임들 또는 픽처들 내 비디오에 있어서 시간 리던던시를 감소 또는 제거하기 위해 시간 예측에 의존한다. 인트라-모드 (I 모드) 는 수개의 공간 기반 코딩 모드들 중 임의의 모드를 지칭할 수도 있다. 단방향 예측 (P 모드) 또는 양방향 예측 (B 모드) 과 같은 인터-모드들은 수개의 시간 기반 코딩 모드들 중 임의의 모드를 지칭할 수도 있다.
도 10 에 도시된 바와 같이, 비디오 인코더 (20) 는 인코딩될 비디오 프레임 내의 현재 비디오 블록을 수신한다. 도 10 의 예에 있어서, 비디오 인코더 (20) 는 모드 선택 유닛 (40), 비디오 데이터 메모리 (41), 디코딩된 픽처 버퍼 (64), 합산기 (50), 변환 프로세싱 유닛 (52), 양자화 유닛 (54), 및 엔트로피 인코딩 유닛 (56) 을 포함한다. 모드 선택 유닛 (40) 은 차례로, 모션 보상 유닛 (44), 모션 추정 유닛 (42), 인트라 예측 프로세싱 유닛 (46), 및 파티션 유닛 (48) 을 포함한다. 비디오 블록 복원을 위해, 비디오 인코더 (20) 는 또한 역양자화 유닛 (58), 역변환 프로세싱 유닛 (60), 및 합산기 (62) 를 포함한다. 디블로킹 (deblocking) 필터 (도 10 에 도시 안됨) 가 또한, 블록 경계들을 필터링하여 복원된 비디오로부터 블록키니스 아티팩트들을 제거하기 위해 포함될 수도 있다. 요구된다면, 디블로킹 필터는 통상적으로 합산기 (62) 의 출력을 필터링할 것이다. 부가적인 필터 (인-루프 (in loop) 또는 포스트 루프) 가 또한 디블로킹 필터에 부가하여 이용될 수도 있다. 그러한 필터들은 간략화를 위해 도시되지 않지만, 요구된다면, (인-루프 필터로서) 합산기 (50) 의 출력을 필터링할 수도 있다.
비디오 데이터 메모리 (41) 는 비디오 인코더 (20) 의 컴포넌트들에 의해 인코딩될 비디오 데이터를 저장할 수도 있다. 비디오 데이터 메모리 (41) 에 저장된 비디오 데이터는 예를 들어, 비디오 소스 (18) 로부터 획득될 수도 있다. 디코딩된 픽처 버퍼 (64) 는, 예를 들어, 인트라 또는 인터 코딩 모드들에서 비디오 인코더 (20) 에 의해 비디오 데이터를 인코딩함에 있어서 사용하기 위한 레퍼런스 비디오 데이터를 저장하는 레퍼런스 픽처 메모리일 수도 있다. 비디오 데이터 메모리 (41) 및 디코딩된 픽처 버퍼 (64) 는 여러 메모리 디바이스들, 이를 테면, SDRAM (synchronous DRAM), MRAM (magnetoresistive RAM), RRAM (resistive RAM) 을 포함하는 DRAM (Dynamic random access memory), 또는 다른 유형들의 메모리 디바이스들의 어느 것에 의해 형성될 수도 있다. 비디오 데이터 메모리 (41) 및 디코딩된 픽처 버퍼 (64) 는 동일한 메모리 디바이스 또는 별도의 메모리 디바이스들에 의해 제공될 수도 있다. 여러 예들에서, 비디오 데이터 메모리 (41) 는 비디오 인코더 (20) 의 다른 컴포넌트들과 온칩 또는 이들 컴포넌트들에 대하여 오프칩일 수도 있다.
인코딩 프로세스 동안, 비디오 인코더 (20) 는 코딩될 비디오 프레임 또는 슬라이스를 수신한다. 그 프레임 또는 슬라이스는 다중의 비디오 블록들로 분할될 수도 있다. 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 시간 예측을 제공하기 위해 하나 이상의 레퍼런스 프레임들에 있어서의 하나 이상의 블록들에 대해 수신된 비디오 블록의 인터-예측 코딩을 수행한다. 인트라 예측 프로세싱 유닛 (46) 은 공간 예측을 제공하기 위해 코딩될 블록과 동일한 프레임 또는 슬라이스에 있어서의 하나 이상의 이웃하는 블록들에 대하여, 수신된 비디오 블록의 인트라-예측 코딩을 대안적으로 수행할 수도 있다. 비디오 인코더 (20) 는, 예를 들어, 비디오 데이터의 각각의 블록에 대한 적당한 코딩 모드를 선택하기 위해 다중의 코딩 패스들을 수행할 수도 있다.
더욱이, 파티션 유닛 (48) 은 이전 코딩 패스들에 있어서의 이전 파티셔닝 방식들의 평가에 기초하여 비디오 데이터의 블록들을 서브-블록들로 파티셔닝할 수도 있다. 예를 들어, 파티션 유닛 (48) 은, 레이트-왜곡 분석 (예를 들어, 레이트-왜곡 최적화) 에 기초하여, 처음에 프레임 또는 슬라이스를 LCU들로 파티셔닝하고, LCU들 각각을 서브-CU들로 파티셔닝할 수도 있다. 모드 선택 유닛 (40) 은 추가로, LCU 의 서브-CU들로의 파티셔닝을 표시하는 쿼드트리 데이터 구조를 생성할 수도 있다. 쿼드트리의 리프 노드 CU들은 하나 이상의 PU들 및 하나 이상의 TU들을 포함할 수도 있다.
모드 선택 유닛 (40) 은, 예를 들어, 에러 결과들에 기초하여 코딩 모드들 중 하나, 즉, 인트라 모드 또는 인터 모드를 선택할 수도 있고, 결과적인 인트라- 또는 인터-코딩된 블록을 합산기 (50) 에 제공하여 잔차 블록 데이터를 생성하고, 합산기 (62) 에 제공하여 레퍼런스 프레임으로서의 사용을 위한 인코딩된 블록을 복원한다. 모드 선택 유닛 (40) 은 또한, 모션 벡터들, 인트라 모드 표시자들, 파티션 정보, 및 다른 그러한 신택스 정보와 같은 신택스 엘리먼트들을 엔트로피 인코딩 유닛 (56) 에 제공한다.
모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 고도로 통합될 수도 있지만, 개념적인 목적을 위해 별개로 도시된다. 모션 추정 유닛 (42) 에 의해 수행된 모션 추정은, 비디오 블록들에 대한 모션을 추정하는 모션 벡터들을 생성하는 프로세스이다. 모션 벡터는, 예를 들어, 현재 픽처 (또는 다른 코딩된 유닛) 내에서 코딩되는 현재 블록에 대한 레퍼런스 픽처 (또는 다른 코딩된 유닛) 내 예측 블록에 대한 현재 비디오 프레임 또는 픽처 내 비디오 블록의 PU 의 변위를 표시할 수도 있다. 예측 블록은 픽셀 차이의 관점에서 코딩될 블록과 밀접하게 매칭되도록 발견되는 블록이며, 이 픽셀 차이는 절대 차이의 합 (SAD), 제곱 차이의 합 (SSD), 또는 다른 상이한 메트릭들에 의해 결정될 수도 있다. 일부 예들에 있어서, 비디오 인코더 (20) 는 디코딩된 픽처 버퍼 (64) 에 저장된 레퍼런스 픽처들의 서브-정수 픽셀 포지션들에 대한 값들을 계산할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 레퍼런스 픽처의 1/4 픽셀 포지션들, 1/8 픽셀 포지션들, 또는 다른 분수 픽셀 포지션들의 값들을 보간할 수도 있다. 따라서, 모션 추정 유닛 (42) 은 풀 픽셀 포지션들 및 분수 픽셀 포지션들에 대한 모션 탐색을 수행하고, 분수 픽셀 정밀도로 모션 벡터를 출력할 수도 있다.
모션 추정 유닛 (42) 은 인터-코딩된 슬라이스에 있어서의 비디오 블록의 PU 에 대한 모션 벡터를, 그 PU 의 포지션을 레퍼런스 픽처의 예측 블록의 포지션과 비교함으로써 계산한다. 레퍼런스 픽처는 제 1 레퍼런스 픽처 리스트 (리스트 0) 또는 제 2 레퍼런스 픽처 리스트 (리스트 1) 로부터 선택될 수도 있으며, 이 리스트들 각각은 디코딩된 픽처 버퍼 (64) 에 저장된 하나 이상의 레퍼런스 픽처들을 식별한다. 모션 추정 유닛 (42) 은 계산된 모션 벡터를 엔트로피 인코딩 유닛 (56) 및 모션 보상 유닛 (44) 으로 전송한다.
모션 보상 유닛 (44) 에 의해 수행된 모션 보상은 모션 추정 유닛 (42) 에 의해 결정된 모션 벡터에 기초하여 예측 블록을 페치 또는 생성하는 것을 수반할 수도 있다. 다시, 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 일부 예들에 있어서 기능적으로 통합될 수도 있다. 현재 비디오 블록의 PU 에 대한 모션 벡터를 수신할 시, 모션 보상 유닛 (44) 은, 모션 벡터가 레퍼런스 픽처 리스트들 중 하나에 포인팅하는 예측 블록을 로케이팅할 수도 있다. 합산기 (50) 는, 하기에서 논의되는 바와 같이, 코딩되는 현재 비디오 블록의 픽셀 값들로부터 예측 블록의 픽셀 값들을 감산하여 픽셀 차이 값들을 형성함으로써 잔차 비디오 블록을 형성한다. 일반적으로, 모션 추정 유닛 (42) 은 루마 컴포넌트들에 대한 모션 추정을 수행하고, 모션 보상 유닛 (44) 은 크로마 컴포넌트들 및 루마 컴포넌트들 양자에 대한 루마 컴포넌트들에 기초하여 계산된 모션 벡터들을 이용한다. 모드 선택 유닛 (40) 은 또한, 비디오 슬라이스의 비디오 블록들을 디코딩함에 있어서 비디오 디코더 (30) 에 의한 사용을 위해 비디오 블록들 및 비디오 슬라이스와 연관된 신택스 엘리먼트들을 생성할 수도 있다.
인트라 예측 프로세싱 유닛 (46) 은 현재 블록을, 상기 설명된 바와 같은 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 수행된 인터-예측에 대한 대안으로서 인트라-예측할 수도 있다. 특히, 인트라 예측 프로세싱 유닛 (46) 은 현재 블록을 인코딩하는데 이용하기 위한 인트라-예측 모드를 결정할 수도 있다. 일부 예들에 있어서, 인트라 예측 프로세싱 유닛 (46) 은 예를 들어 별개의 인코딩 패스들 동안에 다양한 인트라-예측 모드들을 이용하여 현재 블록을 인코딩할 수도 있으며, 인트라 예측 프로세싱 유닛 (46) (또는 일부 예들에서는 모드 선택 유닛 (40)) 은 테스트된 모드들로부터의 이용을 위해 적절한 인트라-예측 모드를 선택할 수도 있다.
예를 들어, 인트라 예측 프로세싱 유닛 (46) 은 다양한 테스팅된 인트라-예측 모드들에 대한 레이트-왜곡 분석을 이용하여 레이트-왜곡 값들을 계산하고, 테스팅된 모드들 중 최상의 레이트-왜곡 특성들을 갖는 인트라-예측 모드를 선택할 수도 있다. 레이트-왜곡 분석은 일반적으로, 인코딩된 블록과 그 인코딩된 블록을 생성하도록 인코딩되었던 오리지널의 인코딩되지 않은 블록 간의 왜곡 (또는 에러) 의 양뿐만 아니라 인코딩된 블록을 생성하는데 사용된 비트레이트 (즉, 비트들의 수) 를 결정한다. 인트라 예측 프로세싱 유닛 (46) 은 다양한 인코딩된 블록들에 대한 왜곡들 및 레이트들로부터의 비율들을 계산하여, 어느 인트라-예측 모드가 그 블록에 대한 최상의 레이트-왜곡 값을 나타내는지를 결정할 수도 있다.
블록에 대한 인트라-예측 모드를 선택한 이후, 인트라 예측 프로세싱 유닛 (46) 은 블록에 대한 선택된 인트라-예측 모드를 표시하는 정보를 엔트로피 인코딩 유닛 (56) 에 제공할 수도 있다. 엔트로피 인코딩 유닛 (56) 은 선택된 인트라-예측 모드를 표시한 정보를 인코딩할 수도 있다. 비디오 인코더 (20) 는 송신된 비트스트림에, 복수의 인트라-예측 모드 인덱스 테이블들 및 복수의 수정된 인트라-예측 모드 인덱스 테이블들 (코드워드 매핑 테이블들로서도 또한 지칭됨) 을 포함할 수도 있는 구성 데이터, 다양한 블록들에 대한 인코딩 컨텍스트들의 정의들, 및 컨텍스트들 각각에 대한 사용을 위한 가장 가능성 있는 인트라-예측 모드, 인트라-예측 모드 인덱스 테이블, 및 수정된 인트라-예측 모드 인덱스 테이블의 표시들을 포함할 수도 있다.
비디오 인코더 (20) 는 모드 선택 유닛 (40) 으로부터의 예측 데이터를, 코딩되는 오리지널 비디오 블록으로부터 감산함으로써 잔차 비디오 블록을 형성한다. 합산기 (50) 는 이러한 감산 연산을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 변환 프로세싱 유닛 (52) 은 이산 코사인 변환 (DCT) 또는 개념적으로 유사한 변환과 같은 변환을 잔차 블록에 적용하여, 잔차 변환 계수 값들을 포함하는 비디오 블록을 생성한다. 변환 프로세싱 유닛 (52) 은, DCT 와 개념적으로 유사한 다른 변환들을 수행할 수도 있다. 웨이블릿 변환들, 정수 변환들, 서브-대역 변환들, 또는 다른 타입들의 변환들이 또한 이용될 수 있다. 어떠한 경우라도, 변환 프로세싱 유닛 (52) 은 변환을 잔차 블록에 적용하여, 잔차 변환 계수들의 블록을 생성한다. 그 변환은 잔차 정보를 픽셀 값 도메인으로부터 주파수 도메인과 같은 변환 도메인으로 컨버팅할 수도 있다. 변환 프로세싱 유닛 (52) 은 결과적인 변환 계수들을 양자화 유닛 (54) 으로 전송할 수도 있다.
양자화 유닛 (54) 은 비트레이트를 추가로 감소시키기 위해 변환 계수들을 양자화한다. 양자화 프로세스는 그 계수들의 일부 또는 그 모두와 연관되는 비트 심도를 감소시킬 수도 있다. 양자화의 정도는 양자화 파라미터를 조정함으로써 수정될 수도 있다. 그 후, 일부 예들에 있어서, 양자화 유닛 (54) 은, 양자화된 변환 계수들을 포함하는 매트릭스의 스캔을 수행할 수도 있다. 대안적으로, 엔트로피 인코딩 유닛 (56) 은 스캔을 수행할 수도 있다.
양자화 이후, 엔트로피 인코딩 유닛 (56) 은 양자화된 변환 계수들을 엔트로피 코딩한다. 예를 들어, 엔트로피 인코딩 유닛 (56) 은 컨텍스트 적응 가변 길이 코딩 (CAVLC), 컨텍스트 적응 바이너리 산술 코딩 (CABAC), 신택스 기반 컨텍스트 적응 바이너리 산술 코딩 (SBAC), 확률 간격 파티셔닝 엔트로피 (PIPE) 코딩, 또는 다른 엔트로피 코딩 기술을 수행할 수도 있다. 컨텍스트 기반 엔트로피 코딩의 경우, 컨텍스트는 이웃한 블록들에 기초할 수도 있다. 엔트로피 인코딩 유닛 (56) 에 의한 엔트로피 코딩 이후, 인코딩된 비트스트림은 다른 디바이스 (예를 들어, 비디오 디코더 (30)) 로 송신되거나 또는 더 나중의 송신 또는 취출을 위해 아카이브될 수도 있다.
역양자화 유닛 (58) 및 역변환 프로세싱 유닛 (60) 은, 예를 들어, 레퍼런스 블록으로서의 추후 사용을 위해 픽셀 도메인에서 잔차 블록을 복원하도록, 각각, 역양자화 및 역변환을 적용한다. 모션 보상 유닛 (44) 은 디코딩된 픽처 버퍼 (64) 의 프레임들 중 하나의 예측 블록에 잔차 블록을 부가함으로써 레퍼런스 블록을 계산할 수도 있다. 모션 보상 유닛 (44) 은 또한, 하나 이상의 보간 필터들을 복원된 잔차 블록에 적용하여, 모션 추정에서 사용하기 위한 서브-정수 픽셀 값들을 계산할 수도 있다. 합산기 (62) 는 복원된 잔차 블록을, 모션 보상 유닛 (44) 에 의해 생성된 모션 보상된 예측 블록에 부가하여, 디코딩된 픽처 버퍼 (64) 로의 저장을 위한 복원된 비디오 블록을 생성한다. 복원된 비디오 블록은, 후속 비디오 프레임에서의 블록을 인터-코딩하기 위해 레퍼런스 블록으로서 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 사용될 수도 있다.
도 11 은 본 개시의 기술들을 구현할 수도 있는 비디오 디코더 (30) 의 일 예를 도시한 블록 다이어그램이다. 특히, 비디오 디코더 (30) 는 앞서 설명된 것과 같이, 역 DRA 유닛 (31) 에 의해 이후 프로세싱될 수도 있는, 타겟 컬러 컨테이너 내로 비디오 데이터를 디코딩할 수도 있다. 도 11 의 예에 있어서, 비디오 디코더 (30) 는 엔트로피 디코딩 유닛 (70), 비디오 데이터 메모리 (71), 모션 보상 유닛 (72), 인트라 예측 프로세싱 유닛 (74), 역양자화 유닛 (76), 역변환 프로세싱 유닛 (78), 디코딩된 픽처 버퍼 (82) 및 합산기 (80) 를 포함한다. 일부 예들에 있어서, 비디오 디코더 (30) 는 비디오 인코더 (20; 도 10) 에 대하여 설명된 인코딩 패스에 일반적으로 상호적인 디코딩 패스를 수행할 수도 있다. 모션 보상 유닛 (72) 은 엔트로피 디코딩 유닛 (70) 으로부터 수신된 모션 벡터들에 기초하여 예측 데이터를 생성할 수도 있지만, 인트라 예측 프로세싱 유닛 (74) 은 엔트로피 디코딩 유닛 (70) 으로부터 수신된 인트라-예측 모드 표시자들에 기초하여 예측 데이터를 생성할 수도 있다.
비디오 데이터 메모리 (71) 는 비디오 디코더 (30) 의 컴포넌트들에 의해 디코딩되는 비디오 데이터, 이를 테면, 인코딩된 비디오 비트스트림을 저장할 수도 있다. 비디오 데이터 메모리 (71) 에 저장된 비디오 데이터는, 예를 들어, 컴퓨터 판독가능 매체 (16) 로부터, 예컨대, 카메라와 같은 로컬 비디오 소스로부터, 비디오 데이터의 유선 또는 무선 네트워크 통신을 통해, 또는 물리적 데이터 저장 매체들에 액세스함으로써 획득될 수도 있다. 비디오 데이터 메모리 (71) 는 인코딩된 비디오 비트스트림으로부터 인코딩된 비디오 데이터를 저장하는 코딩된 픽처 버퍼 (CPB) 를 형성할 수도 있다. 디코딩된 픽처 버퍼 (82) 는, 예를 들어, 인트라 또는 인터 코딩 모드들에서 비디오 디코더 (30) 에 의해 비디오 데이터를 디코딩함에 있어서 사용하기 위한 레퍼런스 비디오 데이터를 저장하는 레퍼런스 픽처 메모리일 수도 있다. 비디오 데이터 메모리 (71) 및 디코딩된 픽처 버퍼 (82) 는 여러 메모리 디바이스, 이를 테면, SDRAM (synchronous DRAM), MRAM (magnetoresistive RAM), RRAM (resistive RAM) 을 포함하는 DRAM (Dynamic random access memory), 또는 다른 유형들의 메모리 디바이스들의 어느 것에 의해 형성될 수도 있다. 비디오 데이터 메모리 (71) 및 디코딩된 픽처 버퍼 (82) 는 동일한 메모리 디바이스 또는 별도의 메모리 디바이스들에 의해 제공될 수도 있다. 여러 예들에서, 비디오 데이터 메모리 (71) 는 비디오 디코더 (30) 의 다른 컴포넌트들과 온-칩 또는 이들 컴포넌트들에 대하여 오프-칩일 수도 있다.
디코딩 프로세스 동안, 비디오 디코더 (30) 는, 인코딩된 비디오 슬라이스의 비디오 블록들 및 관련 신택스 엘리먼트들을 나타내는 인코딩된 비디오 비트스트림을 비디오 인코더 (20) 로부터 수신한다. 비디오 디코더 (30) 의 엔트로피 디코딩 유닛 (70) 은 비트스트림을 엔트로피 디코딩하여, 양자화된 계수들, 모션 벡터들 또는 인트라-예측 모드 표시자들, 및 다른 신택스 엘리먼트들을 생성한다. 엔트로피 디코딩 유닛 (70) 은 모션 벡터들 및 다른 신택스 엘리먼트들을 모션 보상 유닛 (72) 으로 포워딩한다. 비디오 디코더 (30) 는 신택스 엘리먼트들을 비디오 슬라이스 레벨 및/또는 비디오 블록 레벨로 수신할 수도 있다.
비디오 슬라이스가 인트라-코딩된 (I) 슬라이스로서 코딩된 경우, 인트라 예측 프로세싱 유닛 (74) 은 현재 프레임 또는 픽처의 이전에 디코딩된 블록들로부터의 데이터 및 시그널링된 인트라 예측 모드에 기초하여 현재 비디오 슬라이스의 비디오 블록에 대한 예측 데이터를 생성할 수도 있다. 비디오 프레임이 인터-코딩된 (즉, B 또는 P) 슬라이스로서 코딩된 경우, 모션 보상 유닛 (72) 은 엔트로피 디코딩 유닛 (70) 으로부터 수신된 모션 벡터들 및 다른 신택스 엘리먼트들에 기초하여 현재 비디오 슬라이스의 비디오 블록에 대한 예측 블록들을 생성한다. 예측 블록들은 레퍼런스 픽처 리스트들 중 하나 내에서의 레퍼런스 픽처들 중 하나로부터 생성될 수도 있다. 비디오 디코더 (30) 는 디코딩된 픽처 버퍼 (82) 에 저장된 레퍼런스 픽처들에 기초하여 디폴트 구성 기법들을 이용하여 레퍼런스 픽처 리스트들, 즉, 리스트 0 및 리스트 1 을 구성할 수도 있다. 모션 보상 유닛 (72) 은 모션 벡터들 및 다른 신택스 엘리먼트들을 파싱함으로써 현재 비디오 슬라이스의 비디오 블록에 대한 예측 정보를 결정하고, 그 예측 정보를 사용하여, 디코딩되는 현재 비디오 블록에 대한 예측 블록들을 생성한다. 예를 들면, 모션 보상 유닛 (72) 은, 비디오 슬라이스의 비디오 블록들을 코딩하기 위해 사용되는 예측 모드 (예를 들면, 인트라-예측 또는 인터-예측), 인터 예측 슬라이스 타입 (예를 들면, B 슬라이스, 또는 P 슬라이스), 슬라이스에 대한 하나 이상의 레퍼런스 픽처 리스트들에 대한 구성 정보, 슬라이스의 각각의 인터-인코딩된 비디오 블록에 대한 모션 벡터들, 슬라이스의 각각의 인터-코딩된 비디오 블록에 대한 인터-예측 상태, 및 현재의 비디오 슬라이스의 비디오 블록들을 디코딩하기 위한 다른 정보를 결정하기 위해, 수신된 신택스 엘리먼트들의 일부를 사용한다.
모션 보상 유닛 (72) 은 또한, 보간 필터들에 기초하여 보간을 수행할 수도 있다. 모션 보상 유닛 (72) 은 비디오 블록들의 인코딩 동안 비디오 인코더 (20) 에 의해 사용된 바와 같은 보간 필터들을 이용하여, 레퍼런스 블록들의 서브-정수 픽셀들에 대한 보간된 값들을 계산할 수도 있다. 이 경우, 모션 보상 유닛 (72) 은 수신된 신택스 엘리먼트들로부터 비디오 인코더 (20) 에 의해 사용된 보간 필터들을 결정하고, 보간 필터들을 이용하여 예측 블록들을 생성할 수도 있다.
역양자화 유닛 (76) 은 비트스트림에서 제공되고 엔트로피 디코딩 유닛 (70) 에 의해 디코딩되는 양자화된 변환 계수들을 역양자화, 즉, 탈 양자화한다. 역양자화 프로세스는 비디오 슬라이스에 있어서의 각각의 비디오 블록에 대해 비디오 디코더 (30) 에 의해 계산된 양자화 파라미터 (QPY) 의 이용을 포함하여, 적용되어야 하는 양자화의 정도 및 유사하게 역양자화의 정도를 결정할 수도 있다. 역변환 프로세싱 유닛 (78) 은 픽셀 도메인에서 잔차 블록들을 생성하기 위해, 역변환, 예를 들어, 역 DCT, 정수 역변환, 또는 개념적으로 유사한 역변환 프로세스를 변환 계수들에 적용한다.
모션 보상 유닛 (72) 이 모션 벡터들 및 다른 신택스 엘리먼트들에 기초하여 현재 비디오 블록에 대한 예측 블록을 생성한 이후, 비디오 디코더 (78) 는 역변환 프로세싱 유닛 (72) 으로부터의 잔차 블록들을 모션 보상 유닛 (30) 에 의해 생성된 대응하는 예측 블록들과 합산함으로써 디코딩된 비디오 블록을 형성한다. 합산기 (80) 는 이러한 합산 연산을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 요구된다면, 디블로킹 필터가 또한, 블록키니스 아티팩트들을 제거하기 위해, 디코딩된 블록들을 필터링하는데 적용될 수도 있다. (코딩 루프에 있어서 또는 코딩 루프 이후에) 다른 루프 필터들이 또한 픽셀 천이들을 평활하게 하거나 그렇지 않으면 비디오 품질을 개선하기 위해 이용될 수도 있다. 그 후, 소정의 프레임 또는 픽처에 있어서의 디코딩된 비디오 블록들이 디코딩된 픽처 버퍼 (82) 에 저장되고, 이 디코딩된 픽처 버퍼는 후속 모션 보상을 위해 사용되는 레퍼런스 픽처들을 저장한다. 디코딩된 픽처 버퍼 (82) 는 또한, 도 1 의 디스플레이 디바이스 (32) 와 같은 디스플레이 디바이스 상으로의 더 나중의 프리젠테이션을 위해 디코딩된 비디오를 저장한다.
도 12 는 본 개시물의 기술들에 따른 예시적인 HDR/WCG 컨버전 프로세스를 예시하는 플로우차트이다. 도 12 의 기술들은 DRA 유닛 (19) 및/또는 비디오 인코더 (20) 중 하나 이상을 포함하는, 도 1 의 소스 디바이스 (12) 에 의해 실행될 수도 있다.
본 개시의 일 예에서, 소스 디바이스 (12) 는 제 1 컬러 컨테이너에 관련된 비디오 데이터를 수신하고 (제 1 컬러 컨테이너에 관련된 비디오 데이터는 제 1 색역 및 제 1 컬러 공간에 의해 정의됨) (1200), 하나 이상의 동적 범위 조정 파라미터들을 도출하고 (동적 범위 조정 파라미터들은 제 1 컬러 컨테이너에 관련된 것과 같은 비디오 데이터의 특징들에 기초함) (1210), 그리고 하나 이상의 동적 범위 조정 파라미터들에 따라 비디오 데이터에 동적 범위 조정을 수행하도록 (1220) 구성될 수도 있다. 도 12 의 예에서, 비디오 데이터는 비디오 인코딩 이전의 입력 비디오 데이터이고, 여기서 제 1 컬러 컨테이너는 네이티브 컬러 컨테이너이고, 여기서 제 2 컬러 컨테이너는 타겟 컬러 컨테이너이다. 일 예에서, 비디오 데이터는 비디오 데이터의 픽처들의 그룹, 비디오 데이터의 픽처, 비디오 데이터의 매크로블록, 비디오 데이터의 블록, 또는 비디오 데이터의 코딩 유닛 중 하나이다.
본 개시의 일 예에 있어서, 비디오 데이터의 특징들은 제 1 색역을 포함한다. 일 예에서, 소스 디바이스 (12) 는 제 1 컬러 컨테이너의 제 1 색역 및 제 2 컬러 컨테이너의 제 2 색역의 대응에 기초하여 하나 이상의 동적 범위 조정 파라미터들을 도출하도록 구성되며, 제 2 컬러 컨테이너는 제 2 색역 및 제 2 컬러 공간에 의해 정의된다.
본 개시의 다른 예에서, 소스 디바이스 (12) 는 메타데이터, 보충 향상 정보 메세지, 비디오 이용가능성 정보, 비디오 파라미터 세트, 시퀀스 파라미터 세트, 픽처 파라미터, 슬라이스 헤더, 또는 CTU 헤더 중 하나 이상에서 인코딩된 비디오 비트스트림에서의 제 1 색역 및 제 2 컬러 컨테이너를 표시하는 하나 이상의 신택스 엘리먼트들을 시그널링하도록 구성된다.
본 개시의 다른 예에서, 소스 디바이스 (12) 는 메타데이터, 보충 향상 정보 메세지, 비디오 이용가능성 정보, 비디오 파라미터 세트, 시퀀스 파라미터 세트, 픽처 파라미터, 슬라이스 헤더, 또는 CTU 헤더 중 하나 이상에서 인코딩된 비디오 비트스트림에서 동적 범위 조정 파라미터들을 명시적으로 표시하는 하나 이상의 신택스 엘리먼트들을 시그널링하도록 구성된다.
본 개시의 다른 예에서, 비디오 데이터의 특징들은 밝기 정보를 포함하고, 소스 디바이스 (12) 는 비디오 데이터의 밝기 정보에 기초하여 하나 이상의 동적 범위 조정 파라미터들을 도출하도록 구성된다. 본 개시의 다른 예에서, 비디오 데이터의 특징들은 컬러 값들을 포함하고, 소스 디바이스 (12) 는 비디오 데이터의 컬러 값들에 기초하여 하나 이상의 동적 범위 조정 파라미터들을 도출하도록 구성된다.
본 개시의 다른 예에서, 소스 디바이스 (12) 는 비디오 데이터를 양자화하는 것과 연관된 양자화 에러, 또는 비디오 데이터를 인코딩하는 것과 연관된 비용 함수를 최소화함으로써, 하나 이상의 동적 범위 조정 파라미터들을 도출하도록 구성된다.
본 개시의 다른 예에서, 하나 이상의 동적 범위 조정 파라미터들은 비디오 데이터의 각각의 컬러 컴포넌트에 대한 스케일 및 오프셋 값을 포함하며, 소스 디바이스 (12) 는 추가로, 각각의 개별적인 컬러 컴포넌트에 대한 스케일 및 오프셋의 함수에 따라 비디오 데이터의 각각의 컬러 컴포넌트를 조정하도록 구성된다.
본 개시의 다른 예에서, 하나 이상의 동적 범위 파라미터들은 제 1 전달 함수를 포함하고, 소스 디바이스 (12) 는 제 1 전달 함수를 비디오 데이터에 적용하도록 추가로 구성될 수도 있다.
도 13 은 본 개시물의 기술들에 따른 예시적인 HDR/WCG 역 컨버전 프로세스를 예시하는 플로우차트이다. 도 13 의 기술들은 역 DRA 유닛 (31) 및/또는 비디오 디코더 (30) 중 하나 이상을 포함하는, 도 1 의 목적지 디바이스 (14) 에 의해 실행될 수도 있다.
본 개시의 일 예에서, 목적지 디바이스 (12) 는 제 1 컬러 컨테이너에 관련된 비디오 데이터를 수신하고 (제 1 컬러 컨테이너에 관련된 비디오 데이터는 제 1 색역 및 제 1 컬러 공간에 의해 정의됨) (1300), 하나 이상의 동적 범위 조정 파라미터들을 도출하고 (동적 범위 조정 파라미터들은 제 1 컬러 컨테이너에 관련된 것과 같은 비디오 데이터의 특징들에 기초함) (1310), 그리고 하나 이상의 동적 범위 조정 파라미터들에 따라 비디오 데이터에 동적 범위 조정을 수행하도록 (1320) 구성될 수도 있다. 도 13 의 예에서, 비디오 데이터는 디코딩된 비디오 데이터이며, 여기서 제 1 컬러 컨테이너는 타겟 컬러 컨테이너이고, 여기서 제 2 컬러 컨테이너는 네이티브 컬러 컨테이너이다. 일 예에서, 비디오 데이터는 비디오 데이터의 픽처들의 그룹, 비디오 데이터의 픽처, 비디오 데이터의 매크로블록, 비디오 데이터의 블록, 또는 비디오 데이터의 코딩 유닛 중 하나이다.
본 개시의 일 예에서, 비디오 데이터의 특징들은 제 1 색역을 포함하고, 그리고 목적지 디바이스 (14) 는 제 1 컬러 컨테이너의 제 1 색역 및 제 2 컬러 컨테이너의 제 2 색역의 대응에 기초하여 하나 이상의 동적 범위 조정 파라미터들을 도출하도록 구성될 수도 있고, 제 2 컬러 컨테이너는 제 2 색역 및 제 2 컬러 공간에 의해 정의된다.
본 개시의 다른 예에서, 목적지 디바이스 (14) 는 제 1 색역 및 제 2 컬러 컨테이너를 표시하는 하나 이상의 신택스 엘리먼트들을 수신하고, 수신된 하나 이상의 신택스 엘리먼트들에 기초하여 하나 이상의 동적 범위 조정 파라미터들을 도출하도록 구성될 수도 있다. 본 개시의 다른 예에서, 목적지 디바이스 (14) 는 현재 코딩된 픽처 및 레퍼런스 픽처에 대한 하나 이상의 동적 범위 조정 파라미터들로부터 가중된 예측의 파라미터들을 도출하도록 구성될 수도 있다. 본 개시의 다른 예에서, 목적지 디바이스 (14) 는 동적 범위 조정 파라미터들을 명시적으로 표시하는 하나 이상의 신택스 엘리먼트들을 수신하도록 구성될 수도 있다.
본 개시의 다른 예에서, 비디오 데이터의 특징들은 밝기 정보를 포함하고, 소스 디바이스 (14) 는 비디오 데이터의 밝기 정보에 기초하여 하나 이상의 동적 범위 조정 파라미터들을 도출하도록 구성된다. 본 개시의 다른 예에서, 비디오 데이터의 특징들은 컬러 값들을 포함하고, 목적지 디바이스 (14) 는 비디오 데이터의 컬러 값들에 기초하여 하나 이상의 동적 범위 조정 파라미터들을 도출하도록 구성된다.
본 개시의 다른 예에서, 하나 이상의 동적 범위 조정 파라미터들은 비디오 데이터의 각각의 컬러 컴포넌트에 대한 스케일 및 오프셋 값을 포함하며, 목적지 디바이스 (14) 는 추가로, 각각의 개별적인 컬러 컴포넌트에 대한 스케일 및 오프셋의 함수에 따라 비디오 데이터의 각각의 컬러 컴포넌트를 조정하도록 구성된다.
본 개시의 다른 예에서, 하나 이상의 동적 범위 파라미터들은 제 1 전달 함수를 포함하고, 소스 디바이스 (14) 는 제 1 전달 함수를 비디오 데이터에 적용하도록 추가로 구성될 수도 있다.
본 개시의 특정 양태들은 예시의 목적으로 HEVC 표준의 확장안들에 대하여 설명되었다. 하지만, 본 개시에서 설명된 기술들은, 다른 표준 또는 아직 개발되지 않은 전매특허의 비디오 코딩 프로세스들을 포함한 다른 비디오 코딩 프로세스들에 대해 유용할 수도 있다.
본 개시에서 설명된 바와 같은 비디오 코더는 비디오 인코더 또는 비디오 디코더를 지칭할 수도 있다. 유사하게, 비디오 코딩 유닛은 비디오 인코더 또는 비디오 디코더를 지칭할 수도 있다. 유사하게, 비디오 코딩은, 적용가능할 때, 비디오 인코딩 또는 비디오 디코딩을 지칭할 수도 있다.
예에 의존하여, 본 명세서에서 설명된 기술들의 임의의 특정 작동들 또는 이벤트들은 상이한 시퀀스로 수행될 수 있고, 전체적으로 부가되거나 병합되거나 또는 제거될 수도 있음 (예를 들어, 설명된 모든 작동들 또는 이벤트들이 그 기술들의 실시를 위해 필수적인 것은 아님) 이 인식되어야 한다. 더욱이, 특정 예들에 있어서, 작동들 또는 이벤트들은 순차적인 것보다는, 예를 들어, 다중-스레딩된 프로세싱, 인터럽트 프로세싱, 또는 다중의 프로세서들을 통해 동시에 수행될 수도 있다.
하나 이상의 예들에 있어서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현된다면, 그 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상으로 저장 또는 전송되고 하드웨어 기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체는, 예를 들어, 통신 프로토콜에 따라 일 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 데이터 저장 매체 또는 통신 매체와 같은 유형의 매체에 대응하는 컴퓨터 판독가능 저장 매체를 포함할 수도 있다. 이러한 방식으로, 컴퓨터 판독가능 매체는 일반적으로 (1) 비-일시적인 유형의 컴퓨터 판독가능 저장 매체 또는 (2) 신호 또는 캐리어파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체는 본 개시에서 설명된 기술들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 가용 매체일 수도 있다. 컴퓨터 프로그램 제품이 컴퓨터 판독가능 매체를 포함할 수도 있다.
한정이 아닌 예로서, 그러한 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 이용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 커넥션이 컴퓨터 판독가능 매체로 적절히 명명된다. 예를 들어, 동축 케이블, 광섬유 케이블, 꼬임쌍선, 디지털 가입자 라인 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 명령들이 송신된다면, 동축 케이블, 광섬유 케이블, 꼬임쌍선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의에 포함된다. 하지만, 컴퓨터 판독가능 저장 매체 및 데이터 저장 매체는 커넥션들, 캐리어파들, 신호들, 또는 다른 일시적 매체들을 포함하지 않지만 대신 비-일시적인 유형의 저장 매체들로 지향됨을 이해해야 한다. 본 명세서에서 사용된 바와 같은 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루레이 디스크를 포함하며, 여기서, 디스크 (disk) 는 통상적으로 데이터를 자기적으로 재생하지만 디스크 (disc) 는 레이저들을 이용하여 데이터를 광학적으로 재생한다. 위의 조합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 디지털 신호 프로세서들 (DSP들), 범용 마이크로프로세서들, 주문형 집적회로들 (ASIC들), 필드 프로그래밍가능 로직 어레이들 (FPGA들), 또는 다른 등가의 집적된 또는 별도의 로직 회로와 같은 하나 이상의 프로세서들에 의해 실행될 수도 있다. 이에 따라, 본 명세서에서 사용된 바와 같은 용어 "프로세서" 는 본 명세서에서 설명된 기술들의 구현에 적합한 전술한 구조 또는 임의의 다른 구조 중 임의의 구조를 지칭할 수도 있다. 추가적으로, 일부 양태들에 있어서, 본 명세서에서 설명된 기능은 인코딩 및 디코딩을 위해 구성되고 결합된 코덱에서 통합된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수도 있다. 또한, 그 기술들은 하나 이상의 회로들 또는 로직 엘리먼트들에서 완전히 구현될 수 있다.
본 개시의 기술들은 무선 핸드셋, 집적 회로 (IC) 또는 IC들의 세트 (예를 들어, 칩 세트) 를 포함하여 매우 다양한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 컴포넌트들, 모듈들 또는 유닛들이 개시된 기술들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위해 본 개시에서 설명되지만, 반드시 상이한 하드웨어 유닛들에 의한 실현을 요구하지는 않는다. 오히려, 상기 설명된 바와 같이, 다양한 유닛들은 적절한 소프트웨어 및/또는 펌웨어와 함께 상기 설명된 바와 같은 하나 이상의 프로세서들을 포함하여 코덱 하드웨어 유닛으로 결합되거나 또는 상호운용식 하드웨어 유닛들의 집합에 의해 제공될 수도 있다.
다양한 예들이 설명되었다. 이들 및 다른 예들은 다음의 청구항들의 범위 내에 있다.

Claims (46)

  1. 비디오 데이터를 프로세싱하는 방법으로서,
    제 1 컬러 컨테이너에 관련된 상기 비디오 데이터를 수신하는 단계로서, 상기 제 1 컬러 컨테이너에 관련된 상기 비디오 데이터는 제 1 색역 및 제 1 컬러 공간에 의해 정의되는, 상기 제 1 컬러 컨테이너에 관련된 상기 비디오 데이터를 수신하는 단계;
    하나 이상의 동적 범위 조정 파라미터들을 도출하는 단계로서, 상기 동적 범위 조정 파라미터들은 상기 제 1 컬러 컨테이너에 관련된 것과 같은 상기 비디오 데이터의 특징들에 기초하는, 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하는 단계; 및
    상기 하나 이상의 동적 범위 조정 파라미터들에 따라 상기 비디오 데이터에 동적 범위 조정을 수행하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  2. 제 1 항에 있어서,
    상기 비디오 데이터의 특징들은 상기 제 1 색역을 포함하고,
    상기 비디오 데이터를 프로세싱하는 방법은,
    상기 제 1 컬러 컨테이너의 제 1 색역 및 제 2 컬러 컨테이너의 제 2 색역의 대응에 기초하여 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하는 단계를 더 포함하며,
    상기 제 2 컬러 컨테이너는 상기 제 2 색역 및 제 2 컬러 공간에 의해 정의되는, 비디오 데이터를 프로세싱하는 방법.
  3. 제 2 항에 있어서,
    상기 비디오 데이터는 비디오 인코딩 이전의 입력 비디오 데이터이고, 상기 제 1 컬러 컨테이너는 네이티브 컬러 컨테이너이고, 그리고 상기 제 2 컬러 컨테이너는 타겟 컬러 컨테이너인, 비디오 데이터를 프로세싱하는 방법.
  4. 제 3 항에 있어서,
    메타데이터, 보충 향상 정보 메세지, 비디오 이용가능성 정보, 비디오 파라미터 세트, 시퀀스 파라미터 세트, 픽처 파라미터, 슬라이스 헤더, 또는 CTU 헤더 중 하나 이상에서의 인코딩된 비디오 비트스트림에서 상기 제 1 색역 및 상기 제 2 컬러 컨테이너를 표시하는 하나 이상의 신택스 엘리먼트들을 시그널링하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
  5. 제 2 항에 있어서,
    상기 비디오 데이터는 디코딩된 비디오 데이터이며, 상기 제 1 컬러 컨테이너는 타겟 컬러 컨테이너이고, 그리고 상기 제 2 컬러 컨테이너는 네이티브 컬러 컨테이너인, 비디오 데이터를 프로세싱하는 방법.
  6. 제 5 항에 있어서,
    상기 제 1 색역 및 상기 제 2 컬러 컨테이너를 표시하는 하나 이상의 신택스 엘리먼트들을 수신하는 단계; 및
    수신된 상기 하나 이상의 신택스 엘리먼트들에 기초하여 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
  7. 제 6 항에 있어서,
    현재 코딩된 픽처 및 레퍼런스 픽처에 대한 상기 하나 이상의 동적 범위 조정 파라미터들로부터 가중된 예측의 파라미터들을 도출하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
  8. 제 2 항에 있어서,
    메타데이터, 보충 향상 정보 메세지, 비디오 이용가능성 정보, 비디오 파라미터 세트, 시퀀스 파라미터 세트, 픽처 파라미터, 슬라이스 헤더, 또는 CTU 헤더 중 하나 이상에서의 인코딩된 비디오 비트스트림에서 상기 동적 범위 조정 파라미터들을 명시적으로 표시하는 하나 이상의 신택스 엘리먼트들을 시그널링하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
  9. 제 2 항에 있어서,
    상기 하나 이상의 동적 범위 조정 파라미터들을 도출하는 단계는,
    상기 동적 범위 조정 파라미터들을 명시적으로 표시하는 하나 이상의 신택스 엘리먼트들을 수신하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  10. 제 1 항에 있어서,
    상기 비디오 데이터의 특징들은 밝기 정보를 포함하고,
    상기 비디오 데이터를 프로세싱하는 방법은,
    상기 비디오 데이터의 상기 밝기 정보에 기초하여 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
  11. 제 1 항에 있어서,
    상기 비디오 데이터의 특징들은 컬러 값들을 포함하며,
    상기 비디오 데이터를 프로세싱하는 방법은,
    상기 비디오 데이터의 상기 컬러 값들에 기초하여 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
  12. 제 1 항에 있어서,
    상기 비디오 데이터를 양자화하는 것과 연관된 양자화 에러, 또는 상기 비디오 데이터를 인코딩하는 것과 연관된 비용 함수 중 하나를 최소화함으로써, 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
  13. 제 1 항에 있어서,
    상기 하나 이상의 동적 범위 조정 파라미터들은 상기 비디오 데이터의 각각의 컬러 컴포넌트의 스케일 및 오프셋을 포함하며,
    상기 비디오 데이터를 프로세싱하는 방법은,
    각각의 개별적인 컬러 컴포넌트에 대한 상기 스케일 및 상기 오프셋의 함수에 따라 상기 비디오 데이터의 각각의 컬러 컴포넌트를 조정하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
  14. 제 1 항에 있어서,
    상기 하나 이상의 동적 범위 조정 파라미터들은 제 1 전달 함수를 포함하며,
    상기 비디오 데이터를 프로세싱하는 방법은,
    상기 비디오 데이터에 상기 제 1 전달 함수를 적용하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
  15. 제 1 항에 있어서,
    상기 비디오 데이터는 비디오 데이터의 픽처들의 그룹, 비디오 데이터의 픽처, 비디오 데이터의 매크로블록, 비디오 데이터의 블록, 또는 비디오 데이터의 코딩 유닛 중 하나인, 비디오 데이터를 프로세싱하는 방법.
  16. 비디오 데이터를 프로세싱하도록 구성된 장치로서,
    상기 비디오 데이터를 저장하도록 구성된 메모리; 및
    하나 이상의 프로세서들을 포함하며,
    상기 하나 이상의 프로세서들은,
    제 1 컬러 컨테이너에 관련된 상기 비디오 데이터를 수신하는 것으로서, 상기 제 1 컬러 컨테이너에 관련된 상기 비디오 데이터는 제 1 색역 및 제 1 컬러 공간에 의해 정의되는, 상기 제 1 컬러 컨테이너에 관련된 상기 비디오 데이터를 수신하고;
    하나 이상의 동적 범위 조정 파라미터들을 도출하는 것으로서, 상기 동적 범위 조정 파라미터들은 상기 제 1 컬러 컨테이너에 관련된 것과 같은 상기 비디오 데이터의 특징들에 기초하는, 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하며; 그리고
    상기 하나 이상의 동적 범위 조정 파라미터들에 따라 상기 비디오 데이터에 동적 범위 조정을 수행하도록
    구성되는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  17. 제 16 항에 있어서,
    상기 비디오 데이터의 특징들은 상기 제 1 색역을 포함하고,
    상기 하나 이상의 프로세서들은 추가로,
    상기 제 1 컬러 컨테이너의 상기 제 1 색역 및 제 2 컬러 컨테이너의 제 2 색역의 대응에 기초하여 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하도록
    구성되며,
    상기 제 2 컬러 컨테이너는 상기 제 2 색역 및 제 2 컬러 공간에 의해 정의되는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  18. 제 17 항에 있어서,
    상기 비디오 데이터는 비디오 인코딩 이전의 입력 비디오 데이터이고, 상기 제 1 컬러 컨테이너는 네이티브 컬러 컨테이너이고, 그리고 상기 제 2 컬러 컨테이너는 타겟 컬러 컨테이너인, 비디오 데이터를 프로세싱하도록 구성된 장치.
  19. 제 18 항에 있어서,
    상기 하나 이상의 프로세서들은 추가로,
    메타데이터, 보충 향상 정보 메세지, 비디오 이용가능성 정보, 비디오 파라미터 세트, 시퀀스 파라미터 세트, 픽처 파라미터, 슬라이스 헤더, 또는 CTU 헤더 중 하나 이상에서의 인코딩된 비디오 비트스트림에서 상기 제 1 색역 및 상기 제 2 컬러 컨테이너를 표시하는 하나 이상의 신택스 엘리먼트들을 시그널링하도록
    구성되는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  20. 제 17 항에 있어서,
    상기 비디오 데이터는 디코딩된 비디오 데이터이며, 상기 제 1 컬러 컨테이너는 타겟 컬러 컨테이너이고, 그리고 상기 제 2 컬러 컨테이너는 네이티브 컬러 컨테이너인, 비디오 데이터를 프로세싱하도록 구성된 장치.
  21. 제 20 항에 있어서,
    상기 하나 이상의 프로세서들은 추가로,
    상기 제 1 색역 및 상기 제 2 컬러 컨테이너를 표시하는 하나 이상의 신택스 엘리먼트들을 수신하고; 그리고
    수신된 상기 하나 이상의 신택스 엘리먼트들에 기초하여 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하도록
    구성되는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  22. 제 21 항에 있어서,
    상기 하나 이상의 프로세서들은 추가로,
    현재 코딩된 픽처 및 레퍼런스 픽처에 대한 상기 하나 이상의 동적 범위 조정 파라미터들로부터 가중된 예측의 파라미터들을 도출하도록
    구성되는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  23. 제 17 항에 있어서,
    상기 하나 이상의 프로세서들은 추가로,
    메타데이터, 보충 향상 정보 메세지, 비디오 이용가능성 정보, 비디오 파라미터 세트, 시퀀스 파라미터 세트, 픽처 파라미터, 슬라이스 헤더, 또는 CTU 헤더 중 하나 이상에서의 인코딩된 비디오 비트스트림에서 상기 동적 범위 조정 파라미터들을 명시적으로 표시하는 하나 이상의 신택스 엘리먼트들을 시그널링하도록
    구성되는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  24. 제 17 항에 있어서,
    상기 하나 이상의 프로세서들은 추가로,
    상기 동적 범위 조정 파라미터들을 명시적으로 표시하는 하나 이상의 신택스 엘리먼트들을 수신하도록
    구성되는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  25. 제 16 항에 있어서,
    상기 비디오 데이터의 특징들은 밝기 정보를 포함하고,
    상기 하나 이상의 프로세서들은 추가로,
    상기 비디오 데이터의 상기 밝기 정보에 기초하여 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하도록
    구성되는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  26. 제 16 항에 있어서,
    상기 비디오 데이터의 특징들은 컬러 값들을 포함하며,
    상기 하나 이상의 프로세서들은 추가로,
    상기 비디오 데이터의 상기 컬러 값들에 기초하여 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하도록
    구성되는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  27. 제 16 항에 있어서,
    상기 하나 이상의 프로세서들은 추가로,
    상기 비디오 데이터를 양자화하는 것과 연관된 양자화 에러, 또는 상기 비디오 데이터를 인코딩하는 것과 연관된 비용 함수 중 하나를 최소화함으로써, 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하도록
    구성되는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  28. 제 16 항에 있어서,
    상기 하나 이상의 동적 범위 조정 파라미터들은 상기 비디오 데이터의 각각의 컬러 컴포넌트의 스케일 및 오프셋을 포함하며,
    상기 하나 이상의 프로세서들은 추가로,
    각각의 개별적인 컬러 컴포넌트에 대한 상기 스케일 및 상기 오프셋의 함수에 따라 상기 비디오 데이터의 각각의 컬러 컴포넌트를 조정하도록
    구성되는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  29. 제 16 항에 있어서,
    상기 하나 이상의 동적 범위 조정 파라미터들은 제 1 전달 함수를 포함하며,
    상기 하나 이상의 프로세서들은 추가로,
    상기 비디오 데이터에 상기 제 1 전달 함수를 적용하도록
    구성되는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  30. 제 16 항에 있어서,
    상기 비디오 데이터는 비디오 데이터의 픽처들의 그룹, 비디오 데이터의 픽처, 비디오 데이터의 매크로블록, 비디오 데이터의 블록, 또는 비디오 데이터의 코딩 유닛 중 하나인, 비디오 데이터를 프로세싱하도록 구성된 장치.
  31. 비디오 데이터를 프로세싱하도록 구성된 장치로서,
    제 1 컬러 컨테이너에 관련된 상기 비디오 데이터를 수신하는 수단으로서, 상기 제 1 컬러 컨테이너에 관련된 상기 비디오 데이터는 제 1 색역 및 제 1 컬러 공간에 의해 정의되는, 상기 제 1 컬러 컨테이너에 관련된 상기 비디오 데이터를 수신하는 수단;
    하나 이상의 동적 범위 조정 파라미터들을 도출하는 수단으로서, 상기 동적 범위 조정 파라미터들은 상기 제 1 컬러 컨테이너에 관련된 것과 같은 상기 비디오 데이터의 특징들에 기초하는, 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하는 수단; 및
    상기 하나 이상의 동적 범위 조정 파라미터들에 따라 상기 비디오 데이터에 동적 범위 조정을 수행하는 수단을 포함하는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  32. 제 31 항에 있어서,
    상기 비디오 데이터의 특징들은 상기 제 1 색역을 포함하고,
    상기 비디오 데이터를 프로세싱하도록 구성된 장치는,
    상기 제 1 컬러 컨테이너의 상기 제 1 색역 및 제 2 컬러 컨테이너의 제 2 색역의 대응에 기초하여 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하는 수단을 더 포함하며,
    상기 제 2 컬러 컨테이너는 상기 제 2 색역 및 제 2 컬러 공간에 의해 정의되는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  33. 제 32 항에 있어서,
    상기 비디오 데이터는 비디오 인코딩 이전의 입력 비디오 데이터이고, 상기 제 1 컬러 컨테이너는 네이티브 컬러 컨테이너이고, 그리고 상기 제 2 컬러 컨테이너는 타겟 컬러 컨테이너인, 비디오 데이터를 프로세싱하도록 구성된 장치.
  34. 제 33 항에 있어서,
    메타데이터, 보충 향상 정보 메세지, 비디오 이용가능성 정보, 비디오 파라미터 세트, 시퀀스 파라미터 세트, 픽처 파라미터, 슬라이스 헤더, 또는 CTU 헤더 중 하나 이상에서의 인코딩된 비디오 비트스트림에서 상기 제 1 색역 및 상기 제 2 컬러 컨테이너를 표시하는 하나 이상의 신택스 엘리먼트들을 시그널링하는 수단을 더 포함하는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  35. 제 32 항에 있어서,
    상기 비디오 데이터는 디코딩된 비디오 데이터이며, 상기 제 1 컬러 컨테이너는 타겟 컬러 컨테이너이고, 그리고 상기 제 2 컬러 컨테이너는 네이티브 컬러 컨테이너인, 비디오 데이터를 프로세싱하도록 구성된 장치.
  36. 제 35 항에 있어서,
    상기 제 1 색역 및 상기 제 2 컬러 컨테이너를 표시하는 하나 이상의 신택스 엘리먼트들을 수신하는 수단; 및
    수신된 상기 하나 이상의 신택스 엘리먼트들에 기초하여 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하는 수단을 더 포함하는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  37. 제 36 항에 있어서,
    현재 코딩된 픽처 및 레퍼런스 픽처에 대한 상기 하나 이상의 동적 범위 조정 파라미터들로부터 가중된 예측의 파라미터들을 도출하는 수단을 더 포함하는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  38. 제 32 항에 있어서,
    메타데이터, 보충 향상 정보 메세지, 비디오 이용가능성 정보, 비디오 파라미터 세트, 시퀀스 파라미터 세트, 픽처 파라미터, 슬라이스 헤더, 또는 CTU 헤더 중 하나 이상에서의 인코딩된 비디오 비트스트림에서 상기 동적 범위 조정 파라미터들을 명시적으로 표시하는 하나 이상의 신택스 엘리먼트들을 시그널링하는 수단을 더 포함하는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  39. 제 32 항에 있어서,
    상기 하나 이상의 동적 범위 조정 파라미터들을 도출하는 수단은,
    상기 동적 범위 조정 파라미터들을 명시적으로 표시하는 하나 이상의 신택스 엘리먼트들을 수신하는 수단을 포함하는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  40. 제 31 항에 있어서,
    상기 비디오 데이터의 특징들은 밝기 정보를 포함하고,
    상기 비디오 데이터를 프로세싱하도록 구성된 장치는,
    상기 비디오 데이터의 상기 밝기 정보에 기초하여 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하는 수단을 더 포함하는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  41. 제 31 항에 있어서,
    상기 비디오 데이터의 특징들은 컬러 값들을 포함하며,
    상기 비디오 데이터를 프로세싱하도록 구성된 장치는,
    상기 비디오 데이터의 상기 컬러 값들에 기초하여 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하는 수단을 더 포함하는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  42. 제 31 항에 있어서,
    상기 비디오 데이터를 양자화하는 것과 연관된 양자화 에러, 또는 상기 비디오 데이터를 인코딩하는 것과 연관된 비용 함수 중 하나를 최소화함으로써, 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하는 수단을 더 포함하는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  43. 제 31 항에 있어서,
    상기 하나 이상의 동적 범위 조정 파라미터들은 상기 비디오 데이터의 각각의 컬러 컴포넌트의 스케일 및 오프셋을 포함하며,
    상기 비디오 데이터를 프로세싱하도록 구성된 장치는,
    각각의 개별적인 컬러 컴포넌트에 대한 상기 스케일 및 상기 오프셋의 함수에 따라 상기 비디오 데이터의 각각의 컬러 컴포넌트를 조정하는 수단을 더 포함하는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  44. 제 31 항에 있어서,
    상기 하나 이상의 동적 범위 조정 파라미터들은 제 1 전달 함수를 포함하며,
    상기 비디오 데이터를 프로세싱하도록 구성된 장치는,
    상기 비디오 데이터에 상기 제 1 전달 함수를 적용하는 수단을 더 포함하는, 비디오 데이터를 프로세싱하도록 구성된 장치.
  45. 제 31 항에 있어서,
    상기 비디오 데이터는 비디오 데이터의 픽처들의 그룹, 비디오 데이터의 픽처, 비디오 데이터의 매크로블록, 비디오 데이터의 블록, 또는 비디오 데이터의 코딩 유닛 중 하나인, 비디오 데이터를 프로세싱하도록 구성된 장치.
  46. 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 실행될 경우, 하나 이상의 프로세서들로 하여금,
    제 1 컬러 컨테이너에 관련된 비디오 데이터를 수신하게 하는 것으로서, 상기 제 1 컬러 컨테이너에 관련된 상기 비디오 데이터는 제 1 색역 및 제 1 컬러 공간에 의해 정의되는, 상기 제 1 컬러 컨테이너에 관련된 비디오 데이터를 수신하게 하고;
    하나 이상의 동적 범위 조정 파라미터들을 도출하게 하는 것으로서, 상기 동적 범위 조정 파라미터들은 상기 제 1 컬러 컨테이너에 관련된 것과 같은 상기 비디오 데이터의 특징들에 기초하는, 상기 하나 이상의 동적 범위 조정 파라미터들을 도출하게 하고; 그리고
    상기 하나 이상의 동적 범위 조정 파라미터들에 따라 상기 비디오 데이터에 동적 범위 조정을 수행하게 하는, 컴퓨터 판독가능 저장 매체.
KR1020177029622A 2015-04-17 2016-04-15 높은 동적 범위 및 넓은 색역 비디오 코딩에 대한 동적 범위 조정 KR20170139016A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562149446P 2015-04-17 2015-04-17
US62/149,446 2015-04-17
US15/099,256 2016-04-14
US15/099,256 US20160309154A1 (en) 2015-04-17 2016-04-14 Dynamic range adjustment for high dynamic range and wide color gamut video coding
PCT/US2016/027831 WO2016168652A1 (en) 2015-04-17 2016-04-15 Dynamic range adjustment for high dynamic range and wide color gamut video coding

Publications (1)

Publication Number Publication Date
KR20170139016A true KR20170139016A (ko) 2017-12-18

Family

ID=55863225

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177029622A KR20170139016A (ko) 2015-04-17 2016-04-15 높은 동적 범위 및 넓은 색역 비디오 코딩에 대한 동적 범위 조정

Country Status (15)

Country Link
US (1) US20160309154A1 (ko)
EP (1) EP3286920A1 (ko)
JP (1) JP2018515018A (ko)
KR (1) KR20170139016A (ko)
CN (1) CN107439013A (ko)
AU (1) AU2016249261A1 (ko)
BR (1) BR112017022248A2 (ko)
CA (1) CA2979075A1 (ko)
CL (1) CL2017002539A1 (ko)
CO (1) CO2017010504A2 (ko)
MX (1) MX370172B (ko)
PH (1) PH12017501656A1 (ko)
RU (1) RU2701961C2 (ko)
SG (1) SG11201707212UA (ko)
WO (1) WO2016168652A1 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016049327A1 (en) * 2014-09-26 2016-03-31 Dolby Laboratories Licensing Corporation Encoding and decoding perceptually-quantized video content
US10257526B2 (en) * 2015-05-01 2019-04-09 Disney Enterprises, Inc. Perceptual color transformations for wide color gamut video coding
US10116938B2 (en) * 2015-07-22 2018-10-30 Arris Enterprises Llc System for coding high dynamic range and wide color gamut sequences
JP6986670B2 (ja) 2015-09-11 2021-12-22 パナソニックIpマネジメント株式会社 映像受信方法及び映像受信装置
KR102626634B1 (ko) * 2015-09-11 2024-01-18 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
CN107950031B (zh) * 2015-09-11 2021-02-19 松下知识产权经营株式会社 影像接收方法以及影像接收装置
US10244249B2 (en) 2015-09-21 2019-03-26 Qualcomm Incorporated Fixed point implementation of range adjustment of components in video coding
US10129558B2 (en) * 2015-09-21 2018-11-13 Qualcomm Incorporated Supplement enhancement information (SEI) messages for high dynamic range and wide color gamut video coding
US10536665B2 (en) * 2016-02-01 2020-01-14 Lg Electronics Inc. Device for transmitting broadcast signal, device for receiving broadcast signal, method for transmitting broadcast signal, and method for receiving broadcast signal
US11228770B2 (en) 2016-05-16 2022-01-18 Qualcomm Incorporated Loop sample processing for high dynamic range and wide color gamut video coding
CN107995497B (zh) * 2016-10-26 2021-05-28 杜比实验室特许公司 高动态范围视频的屏幕自适应解码
US10218952B2 (en) 2016-11-28 2019-02-26 Microsoft Technology Licensing, Llc Architecture for rendering high dynamic range video on enhanced dynamic range display devices
JP6822123B2 (ja) * 2016-12-19 2021-01-27 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
JP6822121B2 (ja) 2016-12-19 2021-01-27 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
JP6822122B2 (ja) * 2016-12-19 2021-01-27 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
US10176561B2 (en) 2017-01-27 2019-01-08 Microsoft Technology Licensing, Llc Content-adaptive adjustments to tone mapping operations for high dynamic range content
US10104334B2 (en) 2017-01-27 2018-10-16 Microsoft Technology Licensing, Llc Content-adaptive adjustment of display device brightness levels when rendering high dynamic range content
CN108737877B (zh) 2017-04-21 2020-06-02 华为技术有限公司 图像处理的方法、装置和终端设备
US9986200B1 (en) * 2017-05-11 2018-05-29 Novatek Microelectronics Corp. Method and video conversion system of updating video setting
US11252401B2 (en) * 2017-08-07 2022-02-15 Dolby Laboratories Licensing Corporation Optically communicating display metadata
EP3477946A1 (en) * 2017-10-31 2019-05-01 Thomson Licensing Method and device for obtaining a second image from a first image when the dynamic range of the luminance of said first image is greater than the dynamic range of the luminance of said second image
EP3484137A1 (en) 2017-11-09 2019-05-15 Thomson Licensing Method and device for generating a second image from a first image
US10681358B2 (en) 2017-12-19 2020-06-09 Qualcomm Incorporated Quantization parameter control for video coding with joined pixel/transform based quantization
US11153579B2 (en) * 2018-03-23 2021-10-19 Qualcomm Incorporated Deriving dynamic range adjustment (DRA) parameters for video coding
US11303912B2 (en) * 2018-04-18 2022-04-12 Qualcomm Incorporated Decoded picture buffer management and dynamic range adjustment
CN108900823B (zh) 2018-07-05 2019-07-12 华为技术有限公司 一种视频信号处理的方法及装置
CN110691277B (zh) 2018-07-05 2024-03-05 华为技术有限公司 视频信号的处理方法及装置
US10630867B2 (en) 2018-09-17 2020-04-21 Samsung Electronics Co., Ltd. Perceptual hue preserved color-gamut transferring in non-uniform CIE-1931 color space
US10957024B2 (en) 2018-10-30 2021-03-23 Microsoft Technology Licensing, Llc Real time tone mapping of high dynamic range image data at time of playback on a lower dynamic range display
US11503310B2 (en) * 2018-10-31 2022-11-15 Ati Technologies Ulc Method and apparatus for an HDR hardware processor inline to hardware encoder and decoder
US11348553B2 (en) 2019-02-11 2022-05-31 Samsung Electronics Co., Ltd. Color gamut mapping in the CIE 1931 color space
US11463737B2 (en) * 2020-02-21 2022-10-04 Qualcomm Incorporated Signaling of dynamic range adjustment parameters for decoded picture buffer management and dynamic range
US11558616B2 (en) * 2020-03-05 2023-01-17 Qualcomm Incorporated Methods for quantization parameter control for video coding with joined pixel/transform based quantization
CN112261442B (zh) * 2020-10-19 2022-11-11 上海网达软件股份有限公司 一种用于视频hdr与sdr实时转码的方法及系统
WO2024078887A1 (en) * 2022-10-11 2024-04-18 Interdigital Ce Patent Holdings, Sas Method for reducing a quantization effect in a color gamut modification process applied to a video content

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2643531B1 (fr) * 1989-02-21 1996-04-26 Thomson Csf Procede et dispositif de compression de l'information destine au decodage compatible d'une famille de signaux de television de resolutions croissantes
US5528339A (en) * 1994-08-26 1996-06-18 Eastman Kodak Company Color image reproduction of scenes with color enhancement and preferential tone mapping
US6873368B1 (en) * 1997-12-23 2005-03-29 Thomson Licensing Sa. Low noise encoding and decoding method
BRPI1009443B1 (pt) * 2009-03-13 2021-08-24 Dolby Laboratories Licensing Corporation Método de geração de parâmetros de mapeamento de tons inverso, método de compactação de dados de vídeo e método para geração de um fluxo de bits de saída a partir de um fluxo de bits de entrada
CN103907343B (zh) * 2011-10-20 2017-05-03 杜比实验室特许公司 用于视频均衡的方法和系统
US9762903B2 (en) * 2012-06-01 2017-09-12 Qualcomm Incorporated External pictures in video coding
KR20130141920A (ko) * 2012-06-18 2013-12-27 삼성디스플레이 주식회사 색역 변환 시스템 및 방법
JP2014033273A (ja) * 2012-08-01 2014-02-20 Nikon Corp 色域変換装置、デジタルカメラ、色域変換プログラムおよび色域変換方法
PL2941872T3 (pl) * 2013-01-02 2019-03-29 Dolby Laboratories Licensing Corporation Kompatybilne wstecznie kodowanie dla sygnałów wideo o ultra wysokiej rozdzielczości z rozszerzonym zakresem dynamicznym
JP6345650B2 (ja) * 2013-04-05 2018-06-20 サターン ライセンシング エルエルシーSaturn Licensing LLC 画像処理装置及び画像処理方法
JP2014239277A (ja) * 2013-06-06 2014-12-18 株式会社リコー プロファイル検索システム、画像処理システム、検索方法およびプログラム
EP3011741B1 (en) * 2013-06-17 2018-03-07 Dolby Laboratories Licensing Corporation Adaptive reshaping for layered coding of enhanced dynamic range signals
GB2516223A (en) * 2013-07-09 2015-01-21 Nokia Corp Method and apparatus for video coding and decoding
TWI646828B (zh) * 2013-09-03 2019-01-01 日商新力股份有限公司 解碼裝置及解碼方法、以及編碼裝置及編碼方法
JP6937695B2 (ja) * 2015-01-30 2021-09-22 インターデジタル ヴイシー ホールディングス, インコーポレイテッド カラー・ピクチャを符号化および復号する方法および装置

Also Published As

Publication number Publication date
CL2017002539A1 (es) 2018-04-13
WO2016168652A1 (en) 2016-10-20
SG11201707212UA (en) 2017-11-29
AU2016249261A1 (en) 2017-10-05
CA2979075A1 (en) 2016-10-20
MX370172B (es) 2019-12-04
RU2017134677A3 (ko) 2019-07-26
BR112017022248A2 (pt) 2018-07-10
CO2017010504A2 (es) 2017-10-20
JP2018515018A (ja) 2018-06-07
RU2701961C2 (ru) 2019-10-02
US20160309154A1 (en) 2016-10-20
RU2017134677A (ru) 2019-04-09
EP3286920A1 (en) 2018-02-28
CN107439013A (zh) 2017-12-05
PH12017501656A1 (en) 2018-03-12
MX2017013255A (es) 2018-02-09

Similar Documents

Publication Publication Date Title
US10595032B2 (en) Syntax structures for high dynamic range and wide color gamut video coding
US11128878B2 (en) Fixed point implementation of range adjustment of components in video coding
RU2751555C1 (ru) Механизмы сигнализации для равных диапазонов и другие параметры dra для кодирования видео
KR20170139016A (ko) 높은 동적 범위 및 넓은 색역 비디오 코딩에 대한 동적 범위 조정
US10284863B2 (en) Adaptive constant-luminance approach for high dynamic range and wide color gamut video coding
JP6800896B2 (ja) ビデオコーディングのためにハイダイナミックレンジおよび広色域ビデオデータを処理すること
CN111480339B (zh) 用于视频译码的方法和装置、计算机可读存储介质、设备
KR20190039958A (ko) 피드백 채널에 의한 컬러 영역 적응
KR20200037272A (ko) 비디오 코딩에서 크로스-성분 동적 범위 조정 (cc-dra) 의 시스템 및 방법
KR102670598B1 (ko) 비디오 코딩을 위한 하이 다이내믹 레인지 및 와이드 컬러 가무트 비디오 데이터의 프로세싱