[go: up one dir, main page]

KR102160624B1 - 하이 다이내믹 레인지 비디오의 crc 코드들을 포함한 계층화된 표현 및 전달 - Google Patents

하이 다이내믹 레인지 비디오의 crc 코드들을 포함한 계층화된 표현 및 전달 Download PDF

Info

Publication number
KR102160624B1
KR102160624B1 KR1020187012392A KR20187012392A KR102160624B1 KR 102160624 B1 KR102160624 B1 KR 102160624B1 KR 1020187012392 A KR1020187012392 A KR 1020187012392A KR 20187012392 A KR20187012392 A KR 20187012392A KR 102160624 B1 KR102160624 B1 KR 102160624B1
Authority
KR
South Korea
Prior art keywords
data
rpu
flag
value
pivot
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020187012392A
Other languages
English (en)
Other versions
KR20180063226A (ko
Inventor
클라스 하인리히 슈에우어
데이비드 브룩스
사토시 테시가와라
타오 첸
Original Assignee
돌비 레버러토리즈 라이쎈싱 코오포레이션
돌비 인터네셔널 에이비
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 돌비 레버러토리즈 라이쎈싱 코오포레이션, 돌비 인터네셔널 에이비 filed Critical 돌비 레버러토리즈 라이쎈싱 코오포레이션
Publication of KR20180063226A publication Critical patent/KR20180063226A/ko
Application granted granted Critical
Publication of KR102160624B1 publication Critical patent/KR102160624B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • 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
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/98Adaptive-dynamic-range coding [ADRC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/015High-definition television systems
    • H04N7/0152High-definition television systems using spatial or temporal subsampling

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Processing Of Color Television Signals (AREA)

Abstract

하이 다이내믹 레인지 비디오 신호를 재구성하는 방법에서, 디코더는 베이스 레이어 표준 다이내믹 레인지 비디오 신호, 향상 레이어 비디오 신호, 참조 처리 단위에 대한 메타데이터 비트스트림 및 메타데이터에 관련된 CRC 코드를 수신한다. 디코더는 베이스 레이어 비디오 신호, 향상 레이어 비디오 신호, 및 메타데이터 비트스트림에 의해 명시된 데이터 신택스 및 메타데이터에 기초하여 하이 다이내믹 레인지 비디오 출력 신호를 재구성한다.

Description

하이 다이내믹 레인지 비디오의 CRC 코드들을 포함한 계층화된 표현 및 전달
관련 출원의 상호 참조
이 출원은 2015년 11월 2일자로 출원된 미국 가출원 제62/249,474호 - 참조에 의해 그 전체가 원용됨 - 의 이익을 주장한다.
기술
본 발명은 일반적으로 이미지들에 관한 것이다. 보다 상세하게는, 본 발명의 일 실시예는 하이 다이내믹 레인지 비디오의 계층화된 표현 및 전달에 관한 것이다.
MPEG-2, MPEG-4, H.264, 및 보다 최근의 H.265(HEVC라고도 알려져 있음)와 같은, 국제 오디오 및 비디오 코딩 표준들의 개발 및 채택은, DVD 플레이어들, Blu-Ray 플레이어들, 그리고 디지털 텔레비전 방송에 대한 ATSC 및 DVB 표준들과 같은, 표준 기반 디바이스들 및 통신 표준들의 신속한 개발, 채택, 및 확산에 주된 역할을 하였다.
Dolby Laboratories, Inc. 등에 의해 개발 중인 디스플레이 기술들은 하이 다이내믹 레인지(high dynamic range, HDR) 및 광색역(wide color gamut)을 갖는 이미지들을 재현할 수 있다. 이러한 디스플레이들은 표준 다이내믹 레인지(standard dynamic range, SDR)의 종래의 디스플레이들보다 현실 세계 장면들을 보다 충실하게 표현하는 이미지들을 재현할 수 있다.
본원에서 사용되는 바와 같이, '다이내믹 레인지(dynamic range, DR)라는 용어는 인간 시각 시스템(human visual system, HVS)이 이미지에서 일정 범위의 강도(intensity)(예컨대, 루미넌스, 루마)를, 예컨대, 가장 어두운 다크(dark)들(블랙(black)들)로부터 가장 밝은 화이트(white)들(즉, 하이라이트(highlight)들)까지, 지각(perceive)할 수 있는 능력과 관련될 수 있다. 이런 의미에서, DR은 '장면 참조(scene-referred)' 강도에 관련되어 있다. DR은 또한 특정의 폭의 강도 범위를 적절하게 또는 대략적으로 렌더링하는 디스플레이 디바이스의 능력에 관련될 수 있다. 이런 의미에서, DR은 '디스플레이 참조(display-referred)' 강도와 관련되어 있다. 특정의 의미가 본원에서의 설명의 임의의 지점에서 특정의 의의(significance)를 갖도록 명확히 명시되지 않는 한, 이 용어가 어느 한 의미로, 예컨대, 서로 바꾸어 사용될 수 있는 것으로 추론되어야 한다.
본원에서 사용되는 바와 같이, 하이 다이내믹 레인지(HDR)라는 용어는 약 14 내지 15 자릿수의 인간 시각 시스템(HVS)에 걸쳐 있는 DR 폭과 관련되어 있다. 실제로, 사람이 강도 범위에서의 넓은 폭을 동시에 지각할 수 있는 DR은, HDR과 관련하여, 얼마간 절단(truncate)될 수 있다. 본원에서 사용되는 바와 같이, 향상된 다이내믹 레인지(enhanced dynamic range, EDR) 또는 시각 다이내믹 레인지(visual dynamic range, VDR)라는 용어들은 개별적으로 또는 서로 바꾸어, 장면 또는 이미지에 걸쳐 얼마간의 광 적응 변화들을 가능하게 하는, 안구 운동들을 포함하는 인간 시각 시스템(HVS)에 의해 장면 또는 이미지 내에서 지각가능한 DR과 관련되어 있다. 본원에서 사용되는 바와 같이, EDR은 5 내지 6 자릿수에 걸쳐 있는 DR과 관련될 수 있다. 따라서 실제 장면 참조 HDR(true scene referred HDR)과 비교하여 아마도 얼마간 더 좁지만, EDR은 그럼에도 불구하고 넓은 DR 폭을 나타내며 HDR이라고도 지칭될 수 있다.
실제로, 이미지들은 하나 이상의 컬러 컴포넌트(예컨대, 루마(Y) 및 크로마(Cb 및 Cr))를 포함하며, 여기서 각각의 컬러 컴포넌트는 픽셀당 n-비트(예컨대, n = 8)의 정밀도로 표현된다. 선형 루미넌스 코딩(linear luminance coding)을 사용한 경우, n ≤ 8인 이미지들(예컨대, 컬러 24-비트 JPEG 이미지들)은 표준 다이내믹 레인지의 이미지들인 것으로 간주되는 반면, n > 8인 이미지들은 향상된 다이내믹 레인지의 이미지들인 것으로 간주될 수 있다. EDR 및 HDR 이미지들은 또한, Industrial Light and Magic에 의해 개발된 OpenEXR 파일 포맷과 같은, 고정도(예컨대, 16-비트) 부동 소수점 포맷들을 사용하여 저장 및 분배될 수 있다.
주어진 디스플레이에 대한 참조 EOTF(electro-optical transfer function)는 디스플레이에 의해 생성된 스크린 컬러 값들(예컨대, 스크린 루미넌스)을 출력하기 위해 입력 비디오 신호의 컬러 값들(예컨대, 루미넌스) 간의 관계를 특징지운다. 예를 들어, 참조에 의해 그 전체가 본원에 포함되는, 문헌[ITU Rec. ITU-R BT. 1886, "Reference electro-optical transfer function for flat panel displays used in HDTV studio production," (03/2011)]은 CRT(Cathode Ray Tube)의 측정된 특성들에 기초하여 평판 디스플레이들에 대한 참조 EOTF를 정의한다. 비디오 스트림이 주어지면, 그의 EOTF에 관한 정보는 전형적으로 메타데이터로서 비트스트림에 임베딩된다. 본원에서 사용되는 바와 같이, "메타데이터"라는 용어는 코딩된 비트스트림의 일부로서 전송되고 디코더가 디코딩된 이미지를 렌더링하는 데 도움을 주는 임의의 보조 정보에 관련되어 있다. 이러한 메타데이터는, 본 명세서에서 기술되는 것들과 같은, 컬러 공간 또는 색역 정보, 참조 디스플레이 파라미터들, 및 보조 신호 파라미터들을 포함할 수 있지만, 이들로 제한되지 않는다.
대부분의 소비자 데스크톱 디스플레이들은 현재 200 내지 300 cd/m2 또는 nits의 루미넌스를 지원한다. 대부분의 소비자 HDTV들은 300 내지 500 nits의 범위에 있으며, 새 모델들은 1000 nits(cd/m2)에 이른다. 이러한 종래의 디스플레이들은 따라서 HDR 또는 EDR과 비교하여, 표준 다이내믹 레인지(SDR)라고도 지칭되는, 보다 낮은 다이내믹 레인지(lower dynamic range, LDR)의 전형이 된다. 캡처 장비(예컨대, 카메라들) 및 HDR 디스플레이들(예컨대, Dolby Laboratories로부터의 PRM-4200 프로페셔널 레퍼런스 모니터(professional reference monitor)) 둘 다에서의 진보들로 인해 HDR 콘텐츠의 가용성이 증가함에 따라, HDR 콘텐츠는 컬러 그레이딩되고 보다 높은 다이내믹 레인지들(예컨대, 1,000 nits 내지 5,000 nits 또는 그 이상)을 지원하는 HDR 디스플레이들 상에 디스플레이될 수 있다. 이러한 디스플레이들은 고 루미넌스 능력(예컨대, 0 내지 10,000 nits)을 지원하는 대안의 EOTF들을 사용하여 정의될 수 있다. 이러한 EOTF의 일 예는, 참조에 의해 그 전체가 본원에 원용되는, SMPTE ST 2084:2014 "High Dynamic Range EOTF of Mastering Reference Displays"에 정의되어 있다. 일반적으로, 제한 없이, 본 개시내용의 방법들은 SDR보다 더 높은 임의의 다이내믹 레인지에 관한 것이다. 여기서 발명자들에 의해 인지되는 바와 같이, 하이 다이내믹 레인지 이미지들의 코딩, 전달, 및 디코딩을 위한 개선된 기법들이 요망된다.
이 섹션에서 기술되는 접근법들이 추구될 수 있는 접근법들이지만, 꼭 이전에 생각되었거나 추구되었던 접근법들인 것은 아니다. 따라서, 달리 언급되지 않는 한, 이 섹션에서 기술되는 접근법들 중 임의의 것이 이 섹션에 포함되어 있다는 것만으로 종래 기술로서 자격이 있는 것으로 가정되어서는 안된다. 이와 유사하게, 달리 언급되지 않는 한, 하나 이상의 접근법과 관련하여 확인된 문제점들이 이 섹션에 기초하여 임의의 종래 기술에서 인식된 것으로 가정해서도 안된다.
유사한 참조 번호들이 유사한 요소들을 지칭하는 첨부 도면들의 도면들에, 본 발명의 일 실시예가 제한으로서가 아니라 예로서 예시되어 있다.
도 1은 본 발명의 일 실시예에 따른 HDR 비디오의 코딩, 전달, 및 디스플레이를 위한 예시적인 시스템을 나타낸 도면;
도 2는 본 발명의 일 실시예에 따른 HDR 비디오의 듀얼 레이어 비디오 디코딩을 위한 예시적인 프로세스를 나타낸 도면;
도 3은 본 발명의 일 실시예에 따른 HDR 비디오 디코딩에서의 베이스 레이어 처리(base layer processing)를 위한 예시적인 프로세스를 나타낸 도면;
도 4는 본 발명의 일 실시예에 따른 HDR 비디오 디코딩에서의 향상 레이어 처리(enhancement layer processing)를 위한 예시적인 프로세스를 나타낸 도면;
도 5a 및 도 5b는 본 발명의 일 실시예에 따른 HDR 비디오 상의 그래픽 오버레이를 위한 예시적인 프로세스들을 나타낸 도면.
본 명세서에서는 하이 다이내믹 레인지 비디오(high dynamic range video)(HDR)의 계층화된 표현 및 전달에 대해 설명된다. 이하의 설명에서는, 설명의 목적으로, 본 발명의 완전한 이해를 제공하기 위해 다수의 특정한 세부 사항이 제시된다. 그러나, 본 발명은 이러한 특정 세부 사항 없이 실시될 수 있다는 것이 명백할 것이다. 다른 사례들에서, 널리 공지된 구조들 및 디바이스들은 본 발명을 불필요하게 가리거나, 모호하게 하거나, 또는 애매하게 하는 것을 회피하기 위하여 완전히 상세하게 설명되지는 않는다.
개요
본 명세서에서 기술되는 예시적인 실시예들은 하이 다이내믹 레인지 이미지들의 계층화된 표현 및 전달에 관한 것이다. 디코더를 사용해 하이 다이내믹 레인지 비디오 데이터를 생성하는 방법에서, 디코더는:
참조 처리 데이터를 수신하고;
참조 처리 데이터로부터 순환 중복 검사(cyclic redundancy check)(CRC) 파라미터를 파싱(parse)하며;
참조 처리 데이터로부터 적어도 RPU 데이터 헤더, RPU 데이터 페이로드 데이터, 및 RPU-alignment-zero-bit 플래그를 추출하고;
CRC 파라미터를 제외한 참조 처리 데이터 전체에 대한 CRC 값을 계산하며;
CRC 값과 CRC 파라미터를 비교하여 에러를 검출하고;
베이스 레이어 이미지를 수신하며;
향상 레이어 이미지를 수신하고;
참조 처리 데이터에 기초하여 베이스 레이어 이미지와 향상 레이어 이미지를 결합시켜서 출력 이미지를 생성한다.
용어들 및 약어들
Figure 112018042879126-pct00001
기술 개요
소비자 애플리케이션들에 대한 Dolby VisionTM은 하이 다이내믹 레인지 및 광색역으로 마스터링된 콘텐츠의 생성 및 분배를 가능하게 하는 엔드-투-엔드 기술 스위트(end-to-end technology suite)이다. Dolby Vision 디스플레이 관리는 신호를 임의의 Dolby Vision 소비자 텔레비전에 매핑하기 위해 일련의 알고리즘들을 사용하여 주어진 텔레비전의 능력과 매칭시킨다. 이것은 시청자에 대한 최적의 심리스(seamless)한 비디오 경험을 생성한다. 본원에서 사용되는 바와 같이, "Dolby Vision 비디오"라는 용어는 EDR 또는 HDR 비디오를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 HDR 비디오의 코딩, 전달, 및 디스플레이를 위한 예시적인 시스템을 도시하고 있다. 도 1에 도시된 바와 같이, Dolby Vision 소비자 애플리케이션들을 위한 시스템의 일 실시예에서, Dolby Vision 비디오 신호(107)는 Dolby Vision 소스(105)(예컨대, Dolby Vision 가능 울트라-HD 블루 레이 플레이어 및 이와 유사한 것)로부터 디지털 인터페이스(예컨대, HDMI)를 통해 Dolby Vision 싱크(110)(예컨대, 텔레비전, 모니터, 및 이와 유사한 것)에 송신된다.
도 2는 일 실시예에 따른 HDR 가능 미디어 플레이어 상에서의 Dolby Vision 콘텐츠의 디코딩 및 재생을 위한 예시적인 처리 파이프라인을 도시하고 있다. 비디오 엘리멘터리 스트림(EL) 스플리터 블록(205)은 Dolby Vision EL 비디오 스트림(202)에 포함된 향상 비디오 데이터(207) 및 메타데이터 정보(209)를 스트리핑(strip)한다. Dolby Vision 입력 스트림(202)([9]를 참조)이 주어지면, (205)의 출력은 EL 비디오 엘리멘터리 스트림(207) 및 Dolby Vision 메타데이터 비트스트림(209)으로 이루어져 있다.
메타데이터 파서(210)는 비트스트림으로부터 Dolby Vision 메타데이터를 디코딩한다. 입력 메타데이터 비트스트림은 하기의 것들을 포함한다:
Figure 112018042879126-pct00002
Dolby Vision 특정 메타데이터(예컨대, 컴포저(220) 예측 계수들)
Figure 112018042879126-pct00003
참고문헌 [7]에서의 SMPTE 2086에 정의된 바와 같은 정적 메타데이터.
Figure 112018042879126-pct00004
(예컨대, WD SMPTE ST 2094에 정의될 수 있는 바와 같은) 다이내믹 장면 기반 메타데이터.
출력(212)은 나중에 보다 상세히 기술되는 합성 메타데이터 구조(composing metadata structure) 및 디스플레이 관리 메타데이터 구조를 포함한다.
백 엔드 제어 블록(215)은 모든 컴포저 및 디스플레이 관리 처리 블록들의 구성 및 제어를 책임지고 있다.
입력들은 다음과 같다:
Figure 112018042879126-pct00005
BL 비디오 디코더 출력 샘플 디스크립터 큐(225)
Figure 112018042879126-pct00006
EL 비디오 디코더 출력 샘플 디스크립터 큐(230)
Figure 112018042879126-pct00007
Dolby Vision 메타데이터 파서 출력 샘플 디스크립터 큐(235)
Figure 112018042879126-pct00008
Dolby Vision 애플리케이션 제어 인터페이스 파라미터들
출력들은 다음과 같다:
Figure 112018042879126-pct00009
컴포저 하드웨어 레지스터들의 값들
Figure 112018042879126-pct00010
디스플레이 관리 하드웨어 레지스터들 및 룩업 테이블들의 값들
Figure 112018042879126-pct00011
Dolby Vision HDMI 하드웨어 블록의 제어 신호(217).
Dolby Vision 컴포저(220)는 동기화된 디코딩된 BL(BDMV HDR) 및 EL 비디오 프레임들, 메타데이터 정보, 및 백 엔드 제어 블록 데이터를 받아들이고, Dolby Vision 비디오 프레임들을 재구성하기 위해 메타데이터를 사용한다.
입력들은 다음과 같다:
Figure 112018042879126-pct00012
BL 비디오 디코더(240) 버퍼로부터의 BL 10-비트 YUV420 신호(242)
Figure 112018042879126-pct00013
EL 비디오 디코더(245) 버퍼로부터의 EL 10-비트 YUV420 신호(247)
Figure 112018042879126-pct00014
합성 계수들, 파라미터들 등을 포함하는 메타데이터 구조
출력은 재구성된 Dolby Vision 신호 YUV420 버퍼(222)이다. Dolby Vision 컴포저에 관한 보다 상세한 정보는 나중에 제공된다.
Dolby Vision 향상 레이어 정의들
Dolby Vision EL 비디오 비트스트림(202)은 임베딩된 Dolby Vision 메타데이터를 갖는 하나의 MPEG HEVC 비디오 스트림으로 이루어져 있다. 스트림은 참고문헌 [3]의 부록 B에 정의된 바와 같은 NAL 단위들의 바이트 스트림이다.
비디오 엘리멘터리 스트림 스플리터의 입력은 Dolby Vision EL 비디오 비트스트림(202)이다. 비디오 엘리멘터리 스트림 스플리터 애플리케이션(205)은 결합된 EL 비디오 및 메타데이터 엘리멘터리 스트림 입력을 2개의 출력 스트림으로 분할한다:
Figure 112018042879126-pct00015
EL 비디오 엘리멘터리 스트림(207)
Figure 112018042879126-pct00016
메타데이터 비트스트림(209)
비디오 엘리멘터리 스트림에서 각각의 개별 스트림을 식별하기 위해, 스플리터는 3-바이트 NAL 시작 코드 0x000001 또는 4-바이트 NAL 시작 코드 0x00000001이 있는지 Dolby Vision 비디오 엘리멘터리 바이트 스트림을 탐색한다. 시작 코드 직후의 처음 2개의 바이트는, 표 1에 열거된 바와 같이, 현재 NAL 단위가 속한 레이어를 식별해준다.
Figure 112018042879126-pct00017
EL 비디오 엘리멘터리 스트림 NAL 단위가 어떠한 변경도 없이 EL 비디오 디코더에 전달될 수 있다.
Dolby Vision 메타데이터 비트스트림 NAL 단위에 대해, 시작 코드 직후의 처음 2개의 바이트(0x7C01)는 Dolby Vision 메타데이터 파서 애플리케이션에 송신되기 전에 제거되어야만 한다. Dolby Vision 메타데이터 비트스트림 신택스 및 시맨틱스에 대한 완전한 정의는 부록 A에서 발견될 수 있다.
Dolby Vision 메타데이터는, 부록 A에 정의되어 있고 참고문헌 [9]에 부합되는 바와 같이, 표 2에 열거된 요구사항들의 적용을 받는다.
Figure 112018042879126-pct00018
Dolby Vision 컴포저 정의
Dolby Vision 컴포저(220)는 디코딩된 BL 및 EL 비디오 프레임들, 메타데이터 정보, 및 백 엔드 제어 블록 데이터를 받아들이고, Dolby Vision 비디오 프레임들을 재구성하기 위해 메타데이터를 사용한다.
컴포저 IO 정의들
컴포저 입력들
디코딩된 베이스 레이어 비디오 프레임
Figure 112018042879126-pct00019
디코딩된 BL 비디오 입력은 하기의 값들에 부합된다:
Figure 112018042879126-pct00020
BL 비디오 신호는 Scmp라고 불리며, 여기서 0 ≤ cmp ≤ 2는 3개의 컬러 채널을 나타낸다.
Figure 112018042879126-pct00021
비디오 포맷은 YCbCr 4:2:0이다.
Figure 112018042879126-pct00022
비디오 해상도는 3840x2160 또는 1920x1080이다.
Figure 112018042879126-pct00023
비트 심도는 10 비트이다.
Figure 112018042879126-pct00024
EOTF는 참고문헌 [6]에서의 SMPTE ST 2084에 따른다.
디코딩된 향상 레이어 비디오 프레임
디코딩된 EL 비디오 입력은 하기의 값들에 부합된다:
Figure 112018042879126-pct00025
향상 레이어 비디오 신호는 Rcmp라고 불리며, 여기서 0 ≤ cmp ≤ 2는 3개의 컬러 채널을 나타낸다.
Figure 112018042879126-pct00026
비디오 포맷은 YCbCr 4:2:0이다.
Figure 112018042879126-pct00027
비디오 해상도는 1920x1080이다.
Figure 112018042879126-pct00028
비트 심도는 10 비트이다.
컴포저 메타데이터
Dolby Vision 컴포저에 대한 메타데이터에 사용된 계수들 및 파라미터들은 다음과 같다.
Coefficient_log_2_denom
이 파라미터는 coefficient_data_type = 0인 경우 Dolby Vision 디코딩 계수들에 대한 소수 비트(fractional bit)들의 수를 명시한다.
BL_bit_depth
이 파라미터는 BL 비디오 신호의 비트 심도를 명시한다. 이는 BL_bit_depth = BL_bit_depth_minus8 + 8에 의해 도출되고, 여기서 BL_bit_depth_minus8은 참고문헌 [3]에 정의된 바와 같다. 울트라-HD 블루 레이에 대해, BL_bit_depth는 10이어야만 한다.
EL_bit_depth
이 파라미터는 EL 비디오 신호의 비트 심도를 명시한다. 이는 EL_bit_depth = EL_bit_depth_minus8 + 8에 의해 도출되고, 여기서 EL_bit_depth_minus8은 참고문헌 [3]에 정의된 바와 같다. 울트라-HD 블루 레이에 대해, EL_bit_depth는 10이어야만 한다.
vdr_bit_depth
이 파라미터는 재구성된 Dolby Vision 비디오 신호의 비트 심도를 명시한다. 이는 vdr_bit_depth = vdr_bit_depth_minus8 + 8에 의해 도출되고, 여기서 vdr_bit_depth_minus8은 참고문헌 [3]에 정의된 바와 같다.
mapping_idc
이 파라미터는 BL의 각각의 컬러 채널에 대한 예측 방법을 명시한다. 루마 채널에 대해, 0만이 허용된다. 크로마 채널들에 대해, mapping_idc는 0 내지 1의 범위에 있어야만 한다.
spatial_resampling_filter_flag
울트라-HD 블루 레이에 대해, 이 플래그는 0이어야만 한다.
spatial_resampling_explicit_filter_flag
울트라-HD 블루 레이에 대해, 이 플래그는 0이어야만 한다.
베이스 레이어 예측 계수들
울트라-HD 블루 레이 디코더에 대한 Dolby Vision에 대해, 예측 방법은 최대 2차의 구분적 다항식 매핑이다. 허용된 최대 채널 세그먼트 수는 8이다.
다항식 함수 계수들은 { fpoly _ coef c,j,i }이고, 여기서 0 ≤ c ≤ 2(c는 컬러 채널 인덱스임)이고, 0 ≤ j ≤ 7(j는 세그먼트 인덱스임)이며 0 ≤ i ≤ 2(i는 계수 차수임)이다:
Figure 112018042879126-pct00029
fpoly_coef c,j, i 는 각각의 컬러 채널(c), 각각의 세그먼트(j) 및 각각의 차수(i)에 대한 계수들이다.
Figure 112018042879126-pct00030
fpoly_coef c,j,i = (poly_coef_int[0][0][c][j][i] << coefficient_log2_denom) | poly_coef[0][0][c][j][i]
각각의 다항식 계수는, 하기의 리스트에 명시된 바와 같이, coefficient_log2_denom+7의 비트 심도를 갖는 실수이다:
Figure 112018042879126-pct00031
Bit[coefficient_log2_denom+6]: 부호 비트
Figure 112018042879126-pct00032
Bit[coefficient_log2_denom+5:coefficient_log2_denom]: 정수 부분
Figure 112018042879126-pct00033
Bit[coefficient_log2_denom-1:0]: 소수 부분
대안적으로, 크로마 채널들은 최대 3차의 다변량 다중 회귀 함수를 사용하여 예측될 수 있다. 다변량 다중 회귀 계수들은 { m c, i }이고, 여기서 1 ≤ c ≤ 2(c는 컬러 채널 인덱스임)이고 0 ≤ i ≤ 21(i는 계수 숫자임)이다:
Figure 112018042879126-pct00034
m c,0 은 다변량 회귀 상수이다.
Figure 112018042879126-pct00035
m c,0 = (mmr_constant_int[0][0][j][0] << coefficient_log2_denom) | mmr_constant[0][0][j][0]
Figure 112018042879126-pct00036
m c,i 는 다변량 회귀 계수들이다.
Figure 112018042879126-pct00037
m c,i = (mmr_coef_int[0][0][j][0][m][n] << coefficient_log2_denom) | mmr_coef[0][0][j][0][m][n]
Figure 112018042879126-pct00038
i = 7*(m-1) + n이고 여기서 1 ≤ m ≤ 3이고 1 ≤ n ≤ 7이다.
각각의 다항식 계수는, 하기의 리스트에 명시된 바와 같이, coefficient_log2_denom+17의 비트 심도를 갖는 실수이다:
Figure 112018042879126-pct00039
Bit[coefficient_log2_denom+16]: 부호 비트
Figure 112018042879126-pct00040
Bit[coefficient_log2_denom+15:coefficient_log2_denom]: 정수 부분
Figure 112018042879126-pct00041
Bit[coefficient_log2_denom-1:0]: 소수 부분
비고: pivot_value, poly_coef_int, poly_coef, mmr_constant_int, mmr_constant, mmr_coef_int, 및 mmr_coef는, 참고문헌 [11]에 정의된 바와 같이, 디코딩 메타데이터 신택스 엘리먼트들이다.
향상 레이어 역양자화 계수들
울트라-HD 블루 레이 디코더에 대한 Dolby Vision에 대해, 역양자화 방법은 데드 존(dead zone)을 갖는 선형이다. 허용된 최대 세그먼트 수는 1이다.
루마 및 크로마 채널들 데드 존을 갖는 선형 함수 계수들은 다음과 같다:
Figure 112018042879126-pct00042
{ S[j], M[j], T[j], Rmax[j] }, 여기서 0 ≤ j ≤ 2(j는 컬러 채널 인덱스임)이고 i = 0(i는 세그먼트 인덱스임)이다:
Figure 112018042879126-pct00043
S[j]는 데드 존을 갖는 선형 함수의 기울기 계수이다.
Figure 112018042879126-pct00044
S[j] = ((linear_deadzone_slope_int[0][0][i][j] << coefficient_log2_denom) |linear_deadzone_slope[0][0][i][j]).
Figure 112018042879126-pct00045
M[j]는 데드 존을 갖는 선형 함수의 오프셋 계수이다.
Figure 112018042879126-pct00046
M[j] = nlq_offset[0][0][i][j].
Figure 112018042879126-pct00047
T[j]는 데드 존을 갖는 선형 함수의 문턱값 계수이다.
Figure 112018042879126-pct00048
T[j] = ((linear_deadzone_threshold_int[0][0][i][j] << coefficient_log2_denom) | linear_deadzone_threshold[0][0][i][j]).
Figure 112018042879126-pct00049
Rmax[j]는 데드 존을 갖는 선형 함수의 최대 향상 레이어 값 계수이다.
Figure 112018042879126-pct00050
Rmax[j] = ((vdr_in_max_int[0][0][i][j] << coefficient_log2_denom) | vdr_in_max[0][0][i][j]).
Figure 112018042879126-pct00051
M[j]는 [0, 2EL_bit_depth - 1]의 범위에 있는 값 및 EL_bit_depth의 비트 심도를 갖는 정수이다.
다른 역양자화 계수들은, 하기의 리스트에 명시된 바와 같이, coefficient_log2_denom+2의 비트 심도들을 갖는 실수들이다:
Figure 112018042879126-pct00052
Bit[coefficient_log2_denom+1]: 부호 비트
Figure 112018042879126-pct00053
Bit[coefficient_log2_denom]: 정수 부분
Bit[coefficient_log2_denom-1:0]: 소수 부분
비고: linear_deadzone_slope_int, linear_deadzone_slope, nlq_offset, linear_deadzone_threshold_int, linear_deadzone_threshold, vdr_in_max_int, 및 vdr_in_max는, 참고문헌 [11]에 정의된 바와 같이, 디코딩 메타데이터 신택스 엘리먼트들이다.
컴포저 출력
컴포저 출력은 하기의 값들에 부합한다:
Figure 112018042879126-pct00054
출력은 Vcmp라고 불리는 Dolby Vision 신호이고, 여기서 0 ≤ cmp ≤ 2는 3개의 컬러 채널을 나타낸다.
Figure 112018042879126-pct00055
비디오 포맷은 YCbCr 4:2:0이다.
Figure 112018042879126-pct00056
해상도는 3840x2160 또는 1920x1080이다.
Figure 112018042879126-pct00057
비트 심도는 vdr_bit_depth이다.
컴포저 디코딩 프로세스
베이스 레이어 디코딩 프로세스
도 3은 일 실시예에 따른 베이스 레이어(BL)의 예시적인 디코딩 프로세스를 도시하고 있다. 디코딩된 BL 샘플들(242)은 베이스라인 비디오 스트림(203)의 디코딩 프로세스(240)에 의해 주어진다. 디코딩된 BL 신호(242)는 Dolby Vision 메타데이터(212)에서 시그널링된 미리 선택된 예측 계수들을 사용하여 EL 신호 도메인의 다이내믹 레인지에 매핑된다. 예측된 BL 신호의 소수 값(decimal value)들은 [0,1)의 범위에 있다. HDR Dolby Vision 신호(222)를 재구성하기 위해, 예측된 BL 신호(312)가 역양자화된 EL 신호(304)에 가산될 것이다.
상이한 예측 방법들이 적용될 수 있다. 울트라-HD 블루 레이 디코더에 대한 Dolby Vision에 대해, 루마 채널에 대한 예측 방법은 최대 2차의 구분적 다항식이다. 크로마 채널들에 대해, 예측 방법은 최대 2차의 구분적 다항식 또는 최대 3차의 다변량 다중 회귀이다.
베이스 레이어 역매핑
BL로부터 EL로의 예측을 생성하기 위해, BL 신호 범위로부터 EL 신호 범위로의 매핑은 다수의 세그먼트들로 이루어진 예측 곡선을 사용해 수행된다. 이 세그먼트들의 피벗들(또는 경계들)은 다음과 같이 도출된다.
num_pivots_minus2의 값은 현재 BL 비디오 프레임의 컴포넌트 cmp에 대해 몇 개의 피벗 점(pivot point)들이 존재하는지를 나타낸다. 각각의 피벗 점의 값은 소팅된 어레이(sorted array) pivot_value[cmp][]에 저장되고, 여기서 pivot_value[cmp][0]은 하한점 값(low end-point value)이고 pivot_value[cmp][num_pivots_minus2[cmp]+1]은 상한점 값(high end-point value)이다.
주어진 샘플(Scmp)에 대한 피벗 값들을 찾아내기 위해, 샘플 값이 2개의 피벗 값 사이에 있을 때까지 pivot_value 어레이가 순회되고; 이것이 세그먼트를 결정한다. 샘플은 하한 및 상한 피벗 값들로 제한된다.
MAPPING_POLYNOMIAL 방법
이 방법은 루마 컴포넌트에 또는 mapping_idc가 0일 때 적용된다. BL로부터의 결과적인 예측은 구분적 방식으로 구성된다. 입력들은 현재 컴포넌트의 BL 신호 및 이전 섹션에서 소개된 피벗 어레이이다. 변수들 poly_order_minus1 및 linear_interp_flag는 Dolby Vision 메타데이터에 유지된다.
linear_interp_flag가 1일 때, BL 픽셀 값(S)이 위치되는 현재 세그먼트(j)의 2개의 피벗 값 사이에서 선형 보간이 수행된다. 그렇지 않은 경우, N차 다항식에 대한 전체 다항식 예측(full polynomial prediction)이 다음 식에 따라 계산되고,
Figure 112018042879126-pct00058
여기서 fpoly_coef는 Dolby Vision 메타데이터에서 시그널링된 예측 계수들이다. 계산은 고정 소수점 또는 32-비트 부동 소수점에서 수행될 수 있다.
MAPPING_MMR 방법
이 매핑은 크로마에만 적용된다. 제1 단계에서, 다변량 다중 회귀 예측 프로세스를 수행하기 전에 하기의 수학식들에 명시된 다운샘플링 필터들을 사용하여 BL 루마 컴포넌트가 다운샘플링되어야만 한다.
Figure 112018042879126-pct00059
수평 다운샘플링 필터:
Figure 112018042879126-pct00060
Figure 112018042879126-pct00061
수직 다운샘플링 필터:
Figure 112018042879126-pct00062
수평 다운샘플링이 먼저 적용되고, 뒤이어서 수직 다운샘플링이 적용된다. 수학식 2 및 수학식 3에서 사용된 픽셀이 픽처 경계 밖에 있는 경우, 그 픽셀은 픽처 경계에 있는 픽셀의 값으로 설정된다. 즉, 이미지 에지들은 픽셀 복제에 의해 핸들링된다.
S cmp 의 값들은, 각각, 최고 및 최저 피벗 값으로 클램핑(clamp)된다. 이어서, 다변량 다중 회귀가 수행되고:
Figure 112018042879126-pct00063
여기서 계수들 m은 Dolby Vision 메타데이터에서 전송되고 현재 세그먼트 및 컬러 채널에 의존한다. 차수 N도 Dolby Vision 메타데이터에 명시된다. 계산은 고정 소수점 또는 32-비트 부동 소수점으로 수행될 수 있다.
향상 레이어 디코딩 프로세스
각각의 BL 비디오 프레임에 대해, EL 비디오 디코더에 의해 재구성되는 대응하는 EL 비디오 프레임이 있다. Dolby Vision 디코더는, 디코딩된 BL 비디오 프레임과 디코딩된 EL 비디오 프레임이 둘 다 디스플레이 순서로 있고 서로에 대해 프레임 정렬되도록 보장해야만 한다. EL 비디오 프레임에서, 샘플 값들은 YCbCr 컬러 공간에서의 EL 신호의 3개의 양자화된 컴포넌트를 담고 있다. EL 비디오 프레임이 그의 대응하는 BL 비디오 프레임과 정렬되면, 디코더는
1. EL 해상도가 BL 해상도보다 더 낮은 경우, EL 신호를 BL의 동일한 해상도로 업스케일링해야만 한다.
2. EL 신호를 Dolby Vision 신호 도메인(signal domain)으로 변환(translate)하기 위해 역양자화를 수행해야만 한다.
역양자화된 EL 신호는 이제 예측된 BL 신호에 가산될 수 있다. EL 디코딩 처리를 위한 예시적인 프로세스가 도 4에 도시되어 있다.
향상 레이어 공간 리샘플링
el_spatial_resampling_filter_flag가 1인 경우, Dolby Vision 디코더는 EL 비디오 디코더로부터의 재구성된 신호를 수평 및 수직 방향들 둘 다에서 업샘플링해야만 한다. el_spatial_resampling_filter_flag가 0인 경우, EL 공간 리샘플링이 바이패스된다.
입력은, 비트 심도가 EL_bit_depth이고 크로마 포맷에 대한 어떠한 변경들도 갖지 않는, EL 비디오 디코더로부터의 재구성된 비디오 프레임이다. 이 프로세스의 출력은, 입력 신호와 동일한 비트 심도 및 크로마 포맷을 갖는, 공간적으로 업샘플링되고 재구성된 EL 신호이다.
수직 업샘플링이 먼저 적용되고, 뒤이어서 수평 업샘플링이 적용된다.
향상 레이어 비선형 역양자화(Enhancement Layer Nonlinear Dequantization)
입력은 비트 심도가 10(EL_bit_depth = 10)인 재구성된 EL 신호이다. coefficient_data_type의 값에 기초하여, 최종 출력은 고정 소수점 정수 또는 32-비트 단정도(single precision) 부동 소수점 값 중 어느 하나이다. 사용될 NLdQ 방법은 다음과 같이 결정된다:
Figure 112018042879126-pct00064
nlq_method_idc가 0인 경우, NLQ_LINEAR_DZ가 적용된다.
Figure 112018042879126-pct00065
nlq_method_idc가 1인 경우, NLQ_MU_LAW가 적용된다.
NLQ_LINEAR_DZ
데드 존을 갖는 선형 역양자화(linear with dead zone dequantization)는 역양자화된 펠 값(dequantized pel value)들을 계산하기 위해 구분적 선형 함수들을 이용한다. 선형 함수들 각각은 기울기 S, 문턱값 T 및 오프셋 M에 의해 명시되며, 데드 존은 오프셋에서 정의된다. 이 프로세스는 각각의 펠 R의 각각의 컴포넌트에 대해 개별적으로 연산되고, 다음 식에 의해 주어지며:
Figure 112018042879126-pct00066
여기서
Figure 112018042879126-pct00067
이다.
역양자화된 픽셀 값(dequantized pixel value)은 dR에 의해 주어진다.
Dolby Vision 신호 재구성은 예측된(또는 매핑된) BL 신호 및 역양자화된 EL 신호를 취하고, 재구성된 펠 값은 2개의 입력의 합이다. coefficient_data_type의 값에 기초하여, 최종 출력은 고정 소수점 정수 또는 32-비트 단정도 부동 소수점 값 중 어느 하나이다. 유효한 펠 값을 보장하기 위해 적절한 오프셋팅(offsetting), 스케일링 및 클리핑(clipping)이 각각의 경우에 대해 그에 따라 명시된다.
그래픽 오버레이 적응의 정의
Dolby Vision의 그래픽스 처리는 BDMV HDR 경우의 그래픽스 처리와 유사하지만, Dolby Vision 이미지 처리 내부에서 핸들링된다. Dolby Vision의 그래픽스 처리는 그래픽스 핸들링에 역 디스플레이 관리(inverse display management)의 부가의 처리 단계를 추가한다. 이 부가의 단계는 그래픽스 신호를 Dolby Vision 신호 공간에 매핑한다.
도 5a는 제1 실시예(예컨대, HDMV 모드)에서의 비디오 오버레이 프로세스의 일 예를 도시하고 있다. 이는 참고문헌 [9]에서 기술된 바와 같은 프레젠테이션 플레인(presentation plane)들의 개념적 모델을 따른다. 그에 부가하여, 입력 1차 및 2차 그래픽스의 다이내믹 레인지들이 Dolby Vision 컴포저의 출력에서의 신호의 다이내믹 레인지와 매칭하도록, 믹싱 프로세스 이전에 (예컨대, 프레젠테이션 및/또는 인터랙티브 그래픽스에 대한) 1차 및 2차 그래픽스 플레인들에 역 디스플레이 관리(역 DM)가 적용된다. 본원에서 사용되는 바와 같이, '역 디스플레이 관리'라는 용어는 신호의 다이내믹 레인지를 증가시키는 프로세스를 나타낸다. 다이내믹 레인지 매핑 함수의 일 예는 참고문헌 [12]에서 발견될 수 있다.
도 5b는 제2 실시예(예컨대, BD-J 모드)에서의 비디오 오버레이 프로세스의 일 예를 도시하고 있다. BD-J 모드의 현재의 프레젠테이션 플레인 모델에 부가하여, [9]에 기술된 바와 같이, 도면에 도시된 바와 같이 기존의 그래픽 플레인들에 역 디스플레이 관리(Inverse DM)가 적용되어야 한다.
Dolby Vision HDMI 인터페이스의 정의
Dolby Vision 콘텐츠는 HDMI를 통해 렌더링 디바이스에게 전송된다. HDMI 디바이스는 HD@60p, UHD@30p 및 UHD@60p를 지원해야만 한다. Dolby Vision 픽셀 포맷은 12-비트 YCbCr 4:2:2이다.
HDMI 싱크
Dolby Vision 디스플레이(즉, HDMI 싱크)는, [8]의 섹션 7.5.7에 정의된 바와 같은 CEA Extension 버전 3에 부합하는 Dolby Vision VSVDB(Vendor Specific Video Data Block)에서의 플래그를 세트시키는 것에 의해, Dolby Vision 콘텐츠에 대한 그의 지원을 그의 HDMI E-EDID에 표시한다. 게다가, 이는 또한 YCbCr 4:2:2에 대한 지원을 그의 E-EDID에 표시해야 한다.
Dolby Vision VSVDB는 또한 디스플레이의 12비트 프라이머리 RGB 색도들, 화이트 포인트들 및 루미넌스 특성들을 포함한다. Dolby Vision 디스플레이는, 나중에 정의되는 바와 같은 메타데이터 CRC(Cyclic Redundancy Check)의 유효성을 체크하는 것에 의해, 자신이 Dolby Vision 가능 소스 디바이스(즉, 울트라 HD 블루 레이 플레이어)에 연결되어 있다는 것을 검증한다.
HDMI 소스
Dolby Vision 가능 울트라 HD 블루 레이 플레이어(예컨대, HDMI 소스)는 임베딩된 메타데이터 스트림을 포함하는 Dolby Vision 베이스밴드 비디오 신호를 전송한다. 임베딩된 메타데이터 및 그의 CRC 보호는 유효한 Dolby Vision 베이스밴드 신호가 있다는 것을 표시하는 데 사용된다. HDMI 소스 및 싱크는 HDMI 프로토콜에 따른 전송 이전에 결과적인 Dolby Vision 포맷 - 있는 경우 - 을 협상한다.
Dolby Vision 메타데이터
디스플레이 특성들을 수용하기 위해, Dolby Vision DM(Display Management) 메타데이터가 Dolby Vision 가능 디스플레이에 프레임 단위로 송신된다. 그럼에도 불구하고, DM 메타데이터는 다수의 프레임 간에 공유될 수 있어, 최상의 경우에 장면 기반 DM 메타데이터 패키지로 이어진다. 최대 16개의 DM 메타데이터 패키지가 참조를 위해 버퍼링되어야 한다.
DM 메타데이터 구조는 그의 식별자, 대체될 이전 프레임의 메타데이터, 장면 컷 정보에 관한, 그리고 YCbCr로부터 디스플레이-RGB로의 컬러 변환 행렬들에 관한 정보를 유지한다. 메타데이터는 각각이 1024 비트인 하나 이상의 DM 메타데이터 전송 패킷으로 패킷화된다. 이들은 패킷 유형 식별자들, DM 메타데이터, 및 32비트 CRC로 이루어져 있다. 4가지 종류의 EDR 메타데이터 전송 패킷 유형이 있다:
Figure 112018042879126-pct00068
0b00 : 단일의 패킷이 Dolby Vision DM 메타데이터 구조 전체를 담고 있다
Figure 112018042879126-pct00069
0b01 : 다수의 패킷들이 Dolby Vision DM 메타데이터 구조를 담고 있는 경우 첫 번째 패킷
Figure 112018042879126-pct00070
0b10 : 다수의 패킷들이 Dolby Vision DM 메타데이터 구조를 담고 있는 경우 중간 패킷(들)
Figure 112018042879126-pct00071
0b11 : 다수의 패킷들이 Dolby Vision DM 메타데이터 구조를 담고 있는 경우 마지막 패킷
Dolby Vision 메타데이터 전송
전송을 위해, Dolby Vision DM 메타데이터 패키지는 YCbCr 4:2:2 신호의 각각의 12 비트 크로마 채널의 최하위 비트에 비트 단위로(bit by bit) 넣어진다. Dolby Vision DM 메타데이터 전송 패킷이 비트들의 시퀀스로 표현될 때, 첫 번째 바이트가 먼저 나오고 그 바이트의 최상위 비트가 먼저 나온다. 예를 들어, 바이트 0x01에 대해, 7개의 0이 먼저 나오고 뒤이어서 하나의 1이 나온다. Dolby Vision DM 메타데이터 전송 패킷의 i 번째 비트는 byte[n] (0 ≤ n ≤ 127)의 bit[m] (0 ≤ m ≤ 7)에 있으며, 여기서 i = (n*8+(7-m))이다.
Dolby Vision 비디오 프레임이 W×H의 해상도를 갖고 픽셀 샘플이 좌표 (y, x)를 사용하여 표현될 수 있고, 여기서 0 ≤ yH이고 0 ≤ xW라고 가정한다. 각각의 픽셀에 대해, 하나의 루마 샘플 및 하나의 크로미넌스 샘플이 있으며, 크로미넌스 샘플은 짝수 픽셀에 대한 Cb 컴포넌트이거나 홀수 픽셀에 대한 Cr 컴포넌트이다. 래스터 스캔 순서에서, i 번째 픽셀은 (y, x)에 있고 i = (WХy+x)이다.
Dolby Vision DM 메타데이터 전송 패킷의 i 번째 비트는 Dolby Vision 비디오 프레임에서 래스터 스캔 순서에서 i 번째 픽셀 (y, x)의 크로미넌스 샘플의 최하위 비트에 배치되어야 한다.
Dolby Vision DM 메타데이터를 YCbCr 신호에 임베딩하는 것의 비지각성(imperceptibility)을 개선시키기 위해, 임베딩 이전에 메타데이터에 비트 스크램블링이 적용된다.
강건성을 위해, 각각의 Dolby Vision DM 메타데이터 전송 패킷은 3회 연속하여 송신되어야 한다. Dolby Vision 싱크는 전송 패킷들의 CRC를 체크하고 하나의 CRC가 유효하자마자 후속 사본들을 폐기해야 한다. 패킷 유형이 0b00이 아닌 경우, 즉 Dolby Vision DM 메타데이터가 다수의 전송 패킷들 간에 분할되는 경우, 이 패킷들 전부는 동일한 메타데이터 식별자를 공유하며 모두가 단일 비디오 프레임 내에 포함되어야 한다. 이 경우에 첫 번째 전송 패킷은 패킷 유형 0b01을, 마지막 전송 패킷은 0b11을, 중간 전송 패킷들은 0b10을 가져야 한다.
처음 4개의 루미넌스 및 연관된 크로미넌스 샘플들에 대한 샘플들에 임베딩된 메타데이터 비트들의 일 예가 입력 체인 상의 12 비트와 함께 표 3에 나타내어져 있다.
Figure 112018042879126-pct00072
부록 A
A 1. Dolby Vision 메타데이터 비트스트림 신택스
이 섹션은 참고문헌 [3]에서의 H.265/HEVC 시스템을 참조 시스템으로서 사용하는 울트라-HD 블루 레이에 대한 Dolby Vision 메타데이터 신택스 엘리먼트들에 관한 정보를 제공한다. 이 섹션에 명시되는 바와 같은 향상된 참조 처리 단위 데이터 신택스는 재구성된 BL 비디오 신호로부터 Dolby Vision 신호를 효율적으로 예측하는 데, 재구성된 EL 비디오 신호를 역양자화하는 데, 그리고 재구성된 Dolby Vision 비디오 신호를 형성하는 데 필요한 파라미터들을 전달한다.
A 1.1 참조 처리 단위 데이터 원시 바이트 시퀀스 페이로드 신택스
[표 A-1-1]
Figure 112018042879126-pct00073
A 1.2 참조 처리 단위 데이터 신택스
[표 A-1-2]
Figure 112018042879126-pct00074
A 1.3 참조 처리 단위 데이터 헤더 신택스
[표 A-1-3]
Figure 112018042879126-pct00075
Figure 112018042879126-pct00076
A 1.4 참조 처리 단위 데이터 페이로드 신택스
[표 A-1-4]
Figure 112018042879126-pct00077
A 1.5 참조 처리 단위 데이터 매핑 파라미터들 신택스
[표 A-1-5]
Figure 112018042879126-pct00078
[표 A-1-6]
Figure 112018042879126-pct00079
Figure 112018042879126-pct00080
A 1.6 참조 처리 단위 데이터 비선형 양자화 및 양자화 파라미터들 신택스
[표 A-1-7]
Figure 112018042879126-pct00081
[표 A-1-8]
Figure 112018042879126-pct00082
A 2. Dolby Vision 메타데이터 시맨틱스
이 섹션은 Dolby Vision 소비자 코딩 시스템에서의 신택스 엘리먼트들과 연관된 시맨틱스를 명시한다. 이 섹션은 H.265/HEVC 시스템에서의 기존의 신택스 엘리먼트들과 연관된 시맨틱스의 명세들을 포함하지 않는다. 이 엘리먼트들에 관한 정보에 대해서는 참고문헌 [3]을 참조한다. 신택스 엘리먼트의 시맨틱스가 테이블 또는 테이블들의 세트를 사용하여 명시될 때, 비트스트림은 거기에 명시되지 않은 어떠한 값들도 포함해서는 안된다.
A 2.1 참조 처리 단위 데이터 원시 바이트 시퀀스 페이로드 시맨틱스
참조 처리 단위 원시 바이트 시퀀스 페이로드 시맨틱스는 참조 처리 단위 데이터 시맨틱스에 상세히 설명되어 있다.
A 2.2 참조 처리 단위 데이터 시맨틱스
rpu _alignment_zero_bit는 0이어야 한다.
rpu_data_crc32는 rpu_data()에 대한 에러 검출을 가능하게 하기 위해 32-비트 CRC이다. 이 32-비트 CRC를 생성하기 위한 모델은 [10]의 부록 A에 정의되어 있다. 하기의 생성 다항식(generator polynomial)을 사용하여, rpu_data_crc32를 제외한 rpu_data() 전체에 대해 CRC 값이 계산된다:
x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
A 2.3 참조 처리 단위 데이터 헤더 시맨틱스
rpu_type은 이 RPU의 유형을 명시하고, BDA 울트라 HD 블루 레이 Option-A HDR 코딩 시스템에 대해 2이어야만 한다.
rpu_format은, rpu_type이 주어진 경우, 예측 및 코딩 프로세스에 관련된 추가 정보를 명시한다. rpu_format의 값은 시퀀스 전체에 대해 동일하게 유지되어야만 한다. BDA 울트라-HD 블루 레이에 대해, rpu_format은 0으로 설정되어야만 한다.
[표 A-2-1]
Figure 112018042879126-pct00083
vdr_rpu_profilevdr_rpu_level은 Dolby Vision 참조 처리가 BDA Option-A HDR에 부합하고, BDA Option-A HDR에 대해, 각각, 1 및 0이어야만 한다는 프로파일 및 레벨 제약조건들을 명시한다.
vdr_seq_info_present_flag는 Dolby Vision 시퀀스 정보가 현재 참조 처리 단위에 있는지를 나타낸다. Dolby Vision 시퀀스 레벨 정보가 존재할 때, 포함된 신택스 엘리먼트들의 모든 값들이 비디오 시퀀스 전체에 대해 동일하게 유지되어야만 한다.
BDA 울트라-HD 블루 레이에 대해, vdr_seq_info_present_flag는 0으로 설정되어야만 한다.
chroma_resampling_explicit_filter_flag는 울트라-HD 블루 레이에 대해 0이어야만 한다.
coefficient_data_type은 Dolby Vision 코덱 처리 동안 사용되는 매핑 파라미터들 및 NLQ 파라미터들의 데이터 유형들을 명시한다. coefficient_data_type의 값은 0 내지 3의 범위에 있어야만 한다.
허용된 파라미터 데이터 유형들은 하기의 표에 나타낸 바와 같다.
[표 A-2-2]
Figure 112018042879126-pct00084
coefficient_log2_denom은 coefficient_data_type이 0인 경우 Dolby Vision 디코딩 관련 계수들에 대한 소수 비트들의 수를 명시한다. coefficient_log2_denom은 0 내지 32의 범위에 있어야만 한다.
coefficient_data_type이 0이 아닐 때 coefficient_log2_denom은 존재하지 않는다. coefficient_log2_denom이 존재하지 않을 때, 이는 0인 것으로 가정된다.
vdr _ rpu _normalized_idc는 Dolby Vision 참조 처리 단위 레이어간 예측 프로세스의 입력 및 출력 데이터에 어떤 유형의 정규화가 적용되는지를 명시한다. 울트라-HD 블루 레이에 대해, vdr_rpu_normalized_idc는 1이어야만 한다.
BL _video_full_range_flag = 1은 루마 및 크로마 BL 신호들의 블랙 레벨 및 범위가 전체 범위(full range)에 있다는 것을 명시한다. BL_full_range_flag가 0인 경우, 루마 및 크로마 BL 신호들의 블랙 레벨 및 범위는 표준 범위에 있다.
BL_video_full_range_flag 신택스 엘리먼트가 존재하지 않을 때, BL_video_full_range_flag의 값은 0인 것으로 가정된다.
BL _bit_depth_ minus8은 BL 신호의 비트 심도 BL_bit_depth를 도출하는 데 사용된다. BL_bit_depth는 BL_bit_depth_minus8 + 8이다. 울트라-HD 블루 레이에 대해, BL_bit_depth_minus8은 2이어야만 한다.
EL_bit_depth_ minus8은 EL 신호의 비트 깊이 EL_bit_depth를 도출하는 데 사용된다. EL_bit_depth는 EL_bit_depth_minus8 + 8이다. 울트라-HD 블루 레이에 대해, EL_bit_depth_minus8은 2이어야만 한다.
vdr _bit_depth_ minus8은 재구성된 Dolby Vision 신호의 비트 심도 vdr_bit_depth를 도출하는 데 사용된다. vdr_bit_depth는 vdr_bit_depth_minus8 + 8이다. vdr_bit_depth_minus8의 값은 0 내지 6의 범위에 있어야만 한다.
spatial_resampling_filter_flag는 울트라-HD 블루 레이에 대해 0이어야만 한다.
reserved_zero_ 3bits는 0이어야만 한다.
el_spatial_resampling_filter_flag = 1은 EL 공간 리샘플링 필터가 EL 디코딩을 위해 사용된다는 것을 명시한다. 0인 경우, 이것은 EL 디코딩 동안 공간 리샘플링이 바이패스된다는 것을 의미한다.
el_spatial_resampling_filter_flag의 값은 0과 1의 범위에 있어야만 한다. el_spatial_resampling_filter_flag와 spatial_resampling_filter_flag의 합은 1보다 작거나 같아야만 한다.
disable_residual_flag는 울트라-HD 블루 레이에 대해 0이어야만 한다.
vdr_dm_metadata_present_flag는 vdr_dm_data_payload() 신택스 구조가 존재하는지 여부를 명시한다. 하기의 값들이 지원된다:
Figure 112018042879126-pct00085
1: 부록 A.2에 정의되는 바와 같은 vdr_dm_data_payload() 신택스 구조가 존재한다
Figure 112018042879126-pct00086
0: vdr_dm_data_payload() 신택스 구조가 존재하지 않는다.
vdr_dm_metadata_present_flag가 존재하지 않는 경우, 이는 0인 것으로 가정된다. 울트라-HD 블루 레이에 대해, vdr_dm_metadata_present_flag는 1이어야만 한다.
use_prev_vdr_rpu_flag는 현재 Dolby Vision 참조 처리 단위가 이전에 송신된 참조 처리 단위로부터 예측되는지 여부를 명시한다. 하기의 값들이 지원된다:
Figure 112018042879126-pct00087
1: 이전에 송신된 Dolby Vision 참조 처리 단위는 현재 픽처에 대한 레이어간 예측을 생성하는 데 사용된다
Figure 112018042879126-pct00088
0: 현재 Dolby Vision 참조 처리 단위가 명시적으로 전송되고, vdr_rpu_id가 현재 Dolby Vision 참조 처리 단위에 할당된다.
BL 픽처가 순간 리프레시 픽처(instantaneous refresh picture)일 때, use_prev_vdr_rpu_flag의 값은 0이어야만 한다.
prev_vdr_rpu_id는 현재 픽처를 처리하는 데 사용되는 이전에 송신된 Dolby Vision 참조 처리 단위의 rpu_id를 명시한다.
prev_vdr_rpu_id의 값은 0 내지 15의 범위에 있어야만 하며, 마지막 순간 디코딩 리프레시 픽처 이후에 전송된 Dolby Vision 참조 처리 단위들의 수에 의해 추가로 제약된다. prev_vdr_rpu_id가 존재하지 않는 경우, 이는 -1(유효하지 않은 rpu_id)로 설정되어야만 한다.
vdr _ rpu _id vdr_rpu_id는 rpu_data_payload()에서 명시적으로 전송되는 현재 Dolby Vision 참조 처리 단위에 할당된 rpu_id를 명시한다.
vdr_rpu_id의 값은 0 내지 15의 범위에 있어야만 한다. BL 픽처가 순간 디코딩 리프레시 픽처인 경우, vdr_rpu_id는 0이어야만 한다.
순간 디코딩 리프레시 픽처는 디코딩 프로세스로 하여금 순간 디코딩 리프레시 픽처의 참조 처리 단위 비트스트림 디코딩 직후에 모든 참조 처리 단위들을 참조를 위해 사용되지 않는 것으로 마킹하게 한다. 순간 디코딩 리프레시 픽처의 참조 처리 단위에 후속하는 모든 참조 처리 단위들은 순간 디코딩 리프레시 픽처의 참조 처리 단위에 선행하는 어떠한 참조 처리 단위도 참조하지 않고 디코딩될 수 있다.
mapping_color_space는 BDA Option-A에 대해 0으로 설정되어야만 한다.
mapping_ chroma _format_idc는 BDA Option-A에 대해 0으로 설정되어야만 한다.
num_pivots_minus2[ cmp ]는 컬러 컴포넌트 cmp에 대한 구분적 매핑 프로세스를 수행하기 위해 사용되는 피벗 점들의 개수 - 2를 명시한다. 예를 들어, 하나의 매핑 모델이 BL 신호 다이내믹 레인지 전체에 적용되는 경우, num_pivots_minus2의 값은 0이다.
num_pivots_minus2의 값은 0 내지 7(경계 포함)의 범위에 있어야만 한다.
pred_pivot_value[ cmp ][ i ]는 컴포넌트 cmp에 대한 i 번째 피벗 점의 값 pivot_value[ cmp ][ i ]를 도출하는 데 사용된다. 이 피벗 점들은 집단적으로 구분적 매핑 프로세스의 경계들을 정의한다. pivot_value[ cmp ][ i ]의 값은 하기의 의사코드(pseudocode)를 사용하여 도출된다. 어레이 pred_pivot_value[ ][ ]는 입력으로서 사용되고, 어레이 pivot_value[ ][ ]는 출력으로서 사용된다. i의 값은 0 내지 (num_pivots_minus2 + 1)(경계 포함)의 범위에 있어야만 한다.
pred_pivot_value[ cmp ][ i ] 신택스 엘리먼트의 표현을 위해 사용된 비트들의 수는 BL_bit_depth 비트이다.
Figure 112018042879126-pct00089
컴포넌트 순서는 cmp=0,1,2에 대해 Y, Cb, Cr이다.
nlq_method_idc는 현재 EL 비디오 프레임에 대해 사용되는 NLQ 방법을 명시한다. nlq_method_idc의 값은 BDA Option-A에 대해 0으로 설정되어야만 한다.
num _x_partitions_ minus1은 BDA Option-A에 대해 0으로 설정되어야만 한다.
num _y_partitions_ minus1은 BDA Option-A에 대해 0으로 설정되어야만 한다.
A 2.4 참조 처리 단위 데이터 페이로드 시맨틱스
이 섹션은 rpu_type = 2에 대한 참조 처리 단위 데이터 페이로드의 시맨틱스에 대한 상세를 제공한다.
A 2.4.1 참조 처리 단위 데이터 매핑 신택스
mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]는 컬러 컴포넌트 cmp에 대해 사용되는 매핑 방법, 및 pivot_idx에 의해 식별된 다이내믹 레인지를 명시한다.
mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]의 값은 0 내지 1(경계 포함)의 범위에 있어야만 한다. BDA Option-A에 대한 Dolby Vision 시스템에서 현재 지원되는 mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]의 값들 및 대응하는 매핑 방법은 하기의 표에 명시되어 있다.
[표 A-2-3]
Figure 112018042879126-pct00090
mapping_param_pred_flag[ y ][ x ][ cmp ][ pivot_idx ]는 mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]와 연관된 매핑 파라미터들이 명시적으로 전송되는지 현재 픽처 참조 처리 단위에서의 이전 파티션으로부터 예측되는지를 명시한다. 지원되는 값들은 다음과 같다:
Figure 112018042879126-pct00091
0: mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]와 연관된 매핑 파라미터들이 명시적으로 전송된다.
Figure 112018042879126-pct00092
1: 현재 픽처로부터의 이전 파티션의 매핑 파라미터들이 mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]와 연관된 매핑 파라미터들에 할당된다.
신택스 엘리먼트 mapping_param_pred_flag[ y ][ x ][ cmp ][ pivot_idx ]가 존재하지 않을 때, 이는 0인 것으로 추론되어야 한다.
현재 픽처에서의 이전 파티션들로부터 예측자가 이용가능하지 않은 경우(예를 들어, 현재 픽처 참조 처리 단위로부터의 이전 파티션이 mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]에 의해 표시된 것과 동일한 매핑 방법을 사용하지 않는 경우), mapping_idc[ y ] [ x ][ cmp ][ pivot_idx ]에 대한 매핑 파라미터들을 예측하는 데 예측자가 이용가능하지 않을 것이다. 이 경우에, num_mapping_param_predictors[ y ][ x ][ cmp ][ pivot_idx ] 및 mapping_param_pred_flag [ y ][ x ][ cmp ] [ pivot_idx ] 둘 다는 0으로 설정된다.
비고 - num_mapping_param_predictors[ y ][ x ][ cmp ][ pivot_idx ]는 mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]와 연관된 현재 픽처에서의 이용가능한 매핑 파라미터 예측자들의 수이다. mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]와 연관된 매핑 파라미터들의 새로운 세트가 명시적으로 전송될 때, 즉 mapping_param_pred_flag[ y ][ x ][ cmp ][ pivot_idx ]의 값이 0일 때, 이 수는 1씩 증분한다.
diff_pred_part_idx_mapping_minus1[ y ][ x ][ cmp ][ pivot_idx ]는 현재 참조 처리 단위에서의 매핑 파라미터 예측자의 파티션 인덱스 pred_part_idx_mapping[ y ][ x ][ cmp ][ pivot_idx ]를 도출하는 데 사용되는 차분 값(differential value)을 명시한다. diff_pred_part_idx_mapping_minus1[ y ][ x ][ cmp ][ pivot_idx ]의 존재는 num_mapping_param_predictors[ y ][ x ][ cmp ][ pivot_idx ]에 의존한다.
pred_part_idx_mapping[ y ][ x ][ cmp ][ pivot_idx ]의 값은 다음과 같이 도출되고 제약된다:
Figure 112018042879126-pct00093
num_mapping_param_predictors[ y ][ x ][ cmp ][ pivot_idx ]이 1보다 큰 경우, pred_part_idx_mapping[ y ][ x ][ cmp ][ pivot_idx ]의 값은 (curr_part_idx - diff_pred_part_idx_mapping_minus1[ y ][ x ][ cmp ][ pivot_idx ] - 1)로 설정된다.
비고 - curr_part_idx는 래스터 스캔 순서에서 현재 파티션의 인덱스이다.
Figure 112018042879126-pct00094
그렇지 않고, num_mapping_param_predictors[ y ][ x ][ cmp ][ pivot_idx ]이 1인 경우, pred_part_idx_mapping[ y ][ x ][ cmp ][ pivot_idx ]의 값은 mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]와 연관된 매핑 파라미터들의 예측자로서 역할할 수 있는 현재 참조 처리 단위에서의 유일한 이전 파티션의 파티션 인덱스로 설정된다.
Figure 112018042879126-pct00095
pred_part_idx_mapping[ y ][ x ][ cmp ][ pivot_idx ]의 값은 0 내지 (curr_part_idx - 1)의 범위에 있어야만 한다.
A 2.4.2 참조 처리 단위 데이터 매핑 파라미터들 시맨틱스
poly_order_minus1[ y ][ x ][ cmp ][ pivot_idx ]는 mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]에 의해 식별되는 다항식 매핑 방법의 차수를 명시한다. poly_order_minus1[ y ][ x ][ cmp ][ pivot_idx ]의 값은 0 또는 1이어야만 한다.
linear_interp_flag[ y ][ x ][ cmp ][ pivot_idx ]는 1차 다항식 매핑 파라미터들이 선형 보간법을 사용하여 표시되는지 여부를 명시한다.
Figure 112018042879126-pct00096
1: 1차 다항식 매핑 파라미터들이 선형 보간법을 사용하여 표시된다.
Figure 112018042879126-pct00097
0: 1차 다항식 매핑 파라미터들이 다항식 계수들을 사용하여 표시된다.
비고 - 선형 보간은 1차 다항식을 명시하는 다른 방법이다. 각각의 구간(piece)의 끝점들에 대한 역매핑된 값이 명시되고 끝점들 사이의 값들이 보간된다. 선형 보간은 룩업 테이블들을 구현하는 데 사용될 수 있다.
coefficient_data_type이 0일 때 pred_linear_interp_value_int[ y ][ x ][ cmp ][ pivot_idx ]는 fp_pred_linear_interp_value[ y ][ x ][ cmp ][ pivot_idx ]의 정수 부분을 명시한다. coefficient_data_type이 1인 경우, pred_linear_interp_value_int[ y ][ x ][ cmp ][ pivot_idx ]는 존재하지 않는다.
비고 - linear_interp_flag [ y ][ x ][ cmp ][ pivot_idx ]가 1이고 coefficient_data_type이 0일 때, fp_pred_linear_interp_value[ y ][ x ][ cmp ][ pivot_idx ]는 mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]와 연관된 linear_interp_value[ y ] [ x ] [ cmp ][ pivot_idx ]의 값을 도출하는 데 사용된다.
coefficient_data_type이 0일 때, pred_linear_interp_value[ y ][ x ] [ cmp ][ pivot_idx ]는 fp_pred_linear_interp_value[ y ][ x ][ cmp ][ pivot_idx ]의 소수 부분을 명시한다. coefficient_data_type이 1인 경우, linear_interp_flag[ y ][ x ][ cmp ][ pivot_idx ]가 1일 때 pred_linear_interp_value[ y ][ x ][ cmp ][ pivot_idx ]는 mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]와 연관된 linear_interp_value[ y ][ x ][ cmp ][ pivot_idx ]의 값을 도출하는 데 사용된다. coefficient_data_type이 0인 경우, pred_linear_interp_value[ y ][ x ][ cmp ][ pivot_idx ] 신택스 엘리먼트의 길이는 coefficient_log2_denom 비트이다. coefficient_data_type이 1인 경우, pred_linear_interp_value[ y ][ x ][ cmp ][ pivot_idx ] 신택스 엘리먼트의 길이는 32 비트이다.
linear_interp_value[ y ][ x ][ cmp ][ pivot_idx ]의 값은 다음과 같이 도출되고 제약된다:
Figure 112018042879126-pct00098
pivot_idx가 0인 경우, linear_interp_value[ y ][ x ] [ cmp ][ pivot_idx ]의 값은, coefficient_data_type이 1이면, pred_linear_interp_value[ y ][ x ][ cmp ][ pivot_idx ]이다. coefficient_data_type이 0인 경우, fp_pred_linear_interp_value[ y ][ x ][ cmp ][ pivot_idx ] = (pred_linear_interp_value_int[ y ][ x ][ cmp ][ pivot_idx ] << coefficient_log2_denom) + pred_linear_interp_value[ y ][ x ][ cmp ][ pivot_idx ]이고 linear_interp_value[ y ][ x ][ cmp ][ pivot_idx ] = fp_pred_linear_interp_value[ y ] [ x ][ cmp ][ pivot_idx ]이다.
Figure 112018042879126-pct00099
그렇지 않은 경우, linear_interp_value[ y ][ x ][ cmp ][ pivot_idx ]의 값은, coefficient_data_type이 1이면, pred_linear_interp_value[ y ][ x ][ cmp ][ pivot_idx ] + linear_interp_value[ y ][ x ][ cmp ][ pivot_idx - 1 ]이다. coefficient_data_type이 0이면, fp_pred_linear_interp_value[ y ][ x ] [ cmp ][ pivot_idx ] = (pred_linear_interp_value_int[ y ][ x ][ cmp ][ pivot_idx ] << coefficient_log2_denom) + pred_linear_interp_value[ y ][ x ][ cmp ][ pivot_idx ]이고 linear_interp_value[ y ][ x ][ cmp ][ pivot_idx ] = fp_pred_linear_interp_value[ y ][ x ][ cmp ][ pivot_idx ] + linear_interp_value[ y ][ x ][ cmp ][ pivot_idx - 1 ]이다.
Figure 112018042879126-pct00100
vdr_rpu_normalized_idc가 0인 경우, linear_interp_value[ y ][ x ][ cmp ][ i ]는 [ 0, (2vdr_bit_depth-1) ]의 범위에 있어야 한다. vdr_rpu_normalized_idc가 1인 경우, linear_interp_value[ y ][ x ][ cmp ][ i ]는 [ 0, 1 )의 소수 값 범위에 있어야 한다.
coefficient_data_type이 0일 때, poly_coef_int[ y ][ x ][ cmp ][ pivot_idx ][ i ]는 fp_poly_coef[ y ][ x ][ cmp ][ pivot_idx][ i ]의 정수 부분을 명시한다. coefficient_data_type이 1인 경우, poly_coef_int[ y ][ x ][ cmp ][ pivot_idx ][ i ]는 존재하지 않는다.
비고 - coefficient_data_type이 0일 때, fp_poly_coef[ y ][ x ][ cmp ][ pivot_idx ][ i ]는 mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]와 연관된 i차 다항식 계수의 값을 도출하는 데 사용된다.
coefficient_data_type이 0일 때, poly_coef[ y ][ x ][ cmp ][ pivot_idx ][ i ]는 fp_poly_coef[ y ][ x ][ cmp ][ pivot_idx ][ i ]의 소수 부분을 명시한다. coefficient_data_type이 1인 경우, poly_coef[ y ][ x ][ cmp ][ pivot_idx ][ i ]는 mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]와 연관된 i차 다항식 계수의 값을 도출하는 데 사용된다. coefficient_data_type이 0인 경우, poly_coef[ y ][ x ][ cmp ][ pivot_idx ][ i ] 신택스 엘리먼트의 길이는 coefficient_log2_denom 비트이다. coefficient_data_type이 1인 경우, poly_coef[ y ][ x ][ cmp ][ pivot_idx ][ i ] 신택스 엘리먼트의 길이는 32 비트이다.
mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]와 연관된 i차 다항식 계수의 값은 다음과 같이 도출된다:
Figure 112018042879126-pct00101
coefficient_data_type이 0인 경우, i차 다항식 계수의 값은 fp_poly_coef[ y ][ x ][ cmp ][ pivot_idx ][ i ] = (poly_coef_int[ y ][ x ][ cmp ][ pivot_idx ][ i ] << coefficient_log2_denom) + poly_coef[ y ][ x ][ cmp ][ pivot_idx ][ i ]이다.
Figure 112018042879126-pct00102
coefficient_data_type이 1인 경우, i차 다항식 계수의 값은 poly_coef[ y ][ x ][ cmp ][ pivot_idx ][ i ]이다.
mmr_order_minus1[ y ][ x ][ cmp ][ pivot_idx ]는 mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]에 의해 식별되는 다변량 다중 회귀 매핑 방법의 차수를 명시한다. mmr_order_minus1[ y ][ x ][ cmp ][ pivot_idx ]의 값은 0 내지 2의 범위에 있어야만 한다.
coefficient_data_type이 0일 때, mmr_constant_int[ y ][ x ][ cmp ][ pivot_idx ]는 fp_mmr_constant[ y ][ x ][ cmp ][ pivot_idx ]의 정수 부분을 명시한다. coefficient_data_type이 1인 경우, mmr_constant_int[ y ][ x ][ cmp ][ pivot_idx ]는 존재하지 않는다.
비고 - coefficient_data_type이 0일 때, fp_mmr_constant[ y ][ x ][ cmp ][ pivot_idx ]는 mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]와 연관된 다변량 다중 회귀 상수 계수의 값을 도출하는 데 사용된다.
coefficient_data_type이 0일 때, mmr_constant[ y ][ x ][ cmp ][ pivot_idx ]는 fp_mmr_constant[ y ][ x ][ cmp ][ pivot_idx ]의 소수 부분을 명시한다. coefficient_data_type이 1인 경우, mmr_constant[ y ][ x ][ cmp ][ pivot_idx ]는 mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]와 연관된 다변량 다중 회귀 상수 계수의 값을 도출하는 데 사용된다. coefficient_data_type이 0인 경우, mmr_constant[ y ][ x ][ cmp ][ pivot_idx ] 신택스 엘리먼트의 길이는 coefficient_log2_denom 비트이다. coefficient_data_type이 1인 경우, mmr_constant[ y ][ x ][ cmp ][ pivot_idx ] 신택스 엘리먼트의 길이는 32 비트이다.
mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]와 연관된 다변량 다중 회귀 상수 계수의 값은 다음과 같이 도출된다:
Figure 112018042879126-pct00103
coefficient_data_type이 0인 경우, 다변량 다중 회귀 상수 계수의 값은 fp_mmr_constant[ y ][ x ][ cmp ][ pivot_idx ] = (mmr_constant_int[ y ][ x ][ cmp ][ pivot_idx ] << coefficient_log2_denom) + mmr_constant[ y ][ x ][ cmp ][ pivot_idx ]이다.
Figure 112018042879126-pct00104
coefficient_data_type이 1인 경우, 다변량 다중 회귀 상수 계수의 값은 mmr_constant[ y ][ x ][ cmp ][ pivot_idx ]이다.
coefficient_data_type이 0일 때, mmr_coef_int[ y ][ x ][ cmp ][ pivot_idx ][ i ][ j ]는 fp_mmr_coef[ y ][ x ][ cmp ][ pivot_idx ][ i ] [ j ]의 정수 부분을 명시한다. coefficient_data_type이 1인 경우, mmr_coef_int[ y ][ x ][ cmp ][ pivot_idx ][ i ][ j ]가 존재하지 않는다.
비고 - coefficient_data_type이 0일 때, fp_mmr_coef[ y ][ x ][ cmp ][ pivot_idx ][ i ][ j ]는 mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]와 연관된 i 차수에서의 j 번째 다변량 다중 회귀 계수의 값을 도출하는 데 사용된다.
coefficient_data_type이 0일 때, mmr_coef[ y ][ x ][ cmp ][ pivot_idx ][ i ][ j ]는 fp_mmr_coef[ y ][ x ][ cmp ][ pivot_idx ][ i ][ j ]의 소수 부분을 명시한다. coefficient_data_type이 1인 경우, mmr_coef[ y ][ x ][ cmp ][ pivot_idx ][ i ][ j ]는 mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]와 연관된 i 차수에서의 j 번째 다변량 다중 회귀 계수의 값을 도출하는 데 사용된다. coefficient_data_type이 0인 경우, mmr_coef[ y ][ x ][ cmp ][ pivot_idx ][ i ][ j ] 신택스 엘리먼트의 길이는 coefficient_log2_denom 비트이다. coefficient_data_type이 1인 경우, mmr_coef[ y ][ x ][ cmp ][ pivot_idx ][ i ][ j ] 신택스 엘리먼트의 길이는 32 비트이다.
mapping_idc[ y ][ x ][ cmp ][ pivot_idx ]와 연관된 i 차수에서의 j 번째 다변량 다중 회귀 계수의 값은 다음과 같이 도출된다:
Figure 112018042879126-pct00105
coefficient_data_type이 0인 경우, i 차수에서의 j 번째 다변량 다중 회귀 계수의 값은 fp_mmr_coef[ y ][ x ][ cmp ][ pivot_idx ][ i ][ j ] = (mmr_coef_int[ y ][ x ][ cmp ][ pivot_idx ][ i ][ j ] << coefficient_log2_denom) + mmr_coef[ y ][ x ][ cmp ][ pivot_idx ][ i ][ j ]이다.
Figure 112018042879126-pct00106
coefficient_data_type이 1인 경우, i 차수에서의 j 번째 다변량 다중 회귀 계수의 값은 mmr_coef[ y ][ x ][ cmp ][ pivot_idx ][ i ][ j ]이다.
A 2.4.3 참조 처리 단위 데이터 비선형 양자화 시맨틱스
nlq_param_pred_flag[ y ][ x ][ pivot_idx ][ cmp ]는 파티션과 연관된 NLQ 파라미터들인, 수직 좌표 y, 수평 좌표 x, pivot_idx, 및 cmp가 명시적으로 전송되는지 현재 픽처 참조 처리 단위에서의 이전 파티션으로부터 예측되는지를 명시한다.
2개의 지원되는 값은 다음과 같다:
Figure 112018042879126-pct00107
0: 수직 좌표 y, 수평 좌표 x, pivot_idx, 및 cmp와 연관된 NLQ 파라미터들이 명시적으로 전송된다.
Figure 112018042879126-pct00108
1: 현재 픽처로부터의 참조 처리 단위에서의 이전 파티션의 NLQ 파라미터들은 수직 좌표 y, 수평 좌표 x, pivot_idx 및 cmp를 갖는 파티션과 연관된 NLQ 파라미터들에 할당된다.
신택스 엘리먼트 nlq_param_pred_flag[ y ][ x ][ pivot_idx ][ cmp ]가 존재하지 않을 때, 이는 0인 것으로 가정된다.
때로는, 현재 참조 처리 단위에서의 이전 파티션들로부터의 예측자가 이용가능하지 않다. 예를 들어, 현재 픽처로부터의 이전 파티션 참조 처리 단위가 수직 좌표 y, 수평 좌표 x, pivot_idx, 및 cmp를 갖는 파티션에 의해 표시된 것과 동일한 NLQ 방법을 사용하지 않는 경우, 수직 좌표 y 및 수평 좌표 x, pivot_idx, 및 cmp를 갖는 파티션에 대한 NLQ 파라미터들을 예측하는 데 예측자가 이용가능하지 않을 것이다. 이 경우에, num_nlq_param_predictors[ y ][ x ][ pivot_idx ][ cmp ] 및 nlq_param_pred_flag [ y ][ x ][ pivot_idx ][ cmp ] 둘 다는 0으로 설정된다.
비고 - num_nlq_param_predictors[ y ][ x ][ pivot_idx ][ cmp ]는 수직 좌표 y, 수평 좌표 x, pivot_idx, 및 cmp를 갖는 현재 파티션에 대한 현재 참조 처리 단위에서의 이용가능한 NLQ 파라미터 예측자들의 수이다. 이 수는 NLQ 파라미터들의 새로운 세트가 명시적으로 전송될 때 1씩 증분된다. (즉, nlq_param_pred_flag [ y ][ x ][ pivot_idx ][ cmp ]의 값이 0일 때).
diff_pred_part_idx_nlq_minus1[ y ][ x ][ pivot_idx ][ cmp ]는 현재 픽처의 참조 처리 단위로부터 NLQ 파라미터 예측자의 파티션 인덱스 pred_part_idx_nlq[ y ][ x ][ pivot_idx ] [ cmp ]를 도출하는 데 사용되는 차분 값을 명시한다. 신택스 엘리먼트 diff_pred_part_idx_nlq_minus1[ y ][ x ][ pivot_idx ][ cmp ]의 존재는 num_nlq_param_predictors[ y ][ x ][ pivot_idx ][ cmp ]의 값에 의존한다.
pred_part_idx_nlq[ y ][ x ][ pivot_idx ][ cmp ]의 값은 다음과 같이 도출되고 제약된다:
Figure 112018042879126-pct00109
num_nlq_param_predictors[ y ][ x ][ pivot_idx ][ cmp ]가 1보다 큰 경우, pred_part_idx_nlq[ y ][ x ][ pivot_idx ][ cmp ]의 값은 (curr_part_idx - diff_pred_part_idx_nlq_minus1[ y ][ x ][ pivot_idx ][ cmp ] - 1)로 설정된다.
Figure 112018042879126-pct00110
num_nlq_param_predictors[ y ][ x ][ pivot_idx ][ cmp ]가 1인 경우, pred_part_idx_nlq[ y ][ x ][ pivot_idx ][ cmp ]의 값은 수직 좌표 y, 수평 좌표 x, pivot_idx, 및 cmp로 된 파티션과 연관된 NLQ 파라미터들의 예측자로서 역할할 수 있는 현재 픽처의 참조 처리 단위에서의 유일한 이전 파티션의 파티션 인덱스로 설정된다.
Figure 112018042879126-pct00111
pred_part_idx_nlq[ y ][ x ][ pivot_idx ][ cmp ]의 값은 0 내지 (curr_part_idx - 1)의 범위에 있어야만 한다.
A 2.4.4 참조 처리 단위 데이터 비선형 양자화 파라미터 시맨틱스
nlq_offset[ y ][ x ][ pivot_idx ][ cmp ]는 수직 좌표 y, 수평 좌표 x, pivot_idx, 및 cmp로 된 파티션과 연관된 NLQ 오프셋 계수를 명시한다.
nlq_offset[ y ][ x ][ pivot_idx ][ cmp ] 신택스 엘리먼트의 표현을 위해 사용되는 비트 수는 EL_bit_depth이다. nlq_offset[ y ][ x ][ pivot_idx ][ cmp ]의 값은 [0, 2EL_bit_depth - 1]의 범위에 있다.
coefficient_data_type이 0일 때, vdr_in_max_int[ y ][ x ][ pivot_idx ][ cmp ]는 fp_vdr_in_max[ y ][ x ][ pivot_idx ][ cmp ]의 정수 부분을 명시한다. coefficient_data_type이 1인 경우, vdr_in_max_int[ y ][ x ][ pivot_idx ][ cmp ]는 존재하지 않는다.
비고 - coefficient_data_type이 0일 때, fp_vdr_in_max[ y ][ x ][pivot_idx][ cmp ]는 수직 좌표 y 및 수평 좌표 x, 피벗 인덱스 pivot_idx 및 컴포넌트 cmp를 갖는 파티션과 연관된 비선형 양자화 최대 EL 신호 값 계수의 값을 도출하는 데 사용된다.
coefficient_data_type이 0일 때, vdr_in_max[ y ][ x ][ pivot_idx ][ cmp ]는 fp_vdr_in_max[ y ][ x ][ pivot_idx ][ cmp ]의 소수 부분을 명시한다.
coefficient_data_type이 1인 경우, vdr_in_max[ y ][ x ][ pivot_idx ][ cmp ]는 수직 좌표 y, 수평 좌표 x, pivot_idx, 및 cmp로 된 파티션과 연관된 NLQ 최대 EL 신호 값 계수의 값을 도출하는 데 사용된다.
coefficient_data_type이 0인 경우, vdr_in_max[ y ][ x ] [ pivot_idx ][ cmp ] 신택스 엘리먼트의 길이는 coefficient_log2_denom 비트이다.
coefficient_data_type이 1인 경우, vdr_in_max[ y ][ x ] [ pivot_idx ][ cmp ] 신택스 엘리먼트의 길이는 32 비트이다.
수직 좌표 y, 수평 좌표 x, pivot_idx 및 cmp로 된 파티션과 연관된 NLQ 최대 EL 신호 값 계수의 값은 다음과 같이 도출된다:
Figure 112018042879126-pct00112
coefficient_data_type이 0인 경우, NLQ 최대 EL 신호 값 계수의 값은 fp_vdr_in_max[ y ][ x ][ pivot_idx ][ cmp ]이고, 여기서 fp_vdr_in_max[ y ][ x ][ pivot_idx ] [ cmp ] = (vdr_in_max_int[ y ][ x ][ pivot_idx ][ cmp ] << coefficient_log2_denom) + vdr_in_max[ y ][ x ][ pivot_idx ][ cmp ]이다.
Figure 112018042879126-pct00113
coefficient_data_type이 1인 경우, NLQ 최대 EL 신호 값 계수의 값은 vdr_in_max[ y ] [ x ][ pivot_idx ][ cmp ]이다.
coefficient_data_type이 0일 때, linear_deadzone_slope_int[ y ][ x ][ pivot_idx ][ cmp ]는 fp_linear_deadzone_slope [ y ][ x ][ pivot_idx ][ cmp ]의 정수 부분을 명시한다. coefficient_data_type이 1인 경우, linear_deadzone_slope _int[ y ][ x ][ pivot_idx ][ cmp ]는 존재하지 않는다.
비고 - coefficient_data_type이 0일 때, fp_linear_deadzone_slope [ y ][ x ][pivot_idx][ cmp ]는 수직 좌표 y 및 수평 좌표 x, 피벗 인덱스 pivot_idx 및 컴포넌트 cmp를 갖는 파티션과 연관된 선형 데드 존 기울기 계수의 값을 도출하는 데 사용된다.
coefficient_data_type이 0일 때, linear_deadzone_slope[ y ][ x ][ pivot_idx ][ cmp ]는 fp_linear_deadzone_slope[ y ][ x ][ pivot_idx ][ cmp ]의 소수 부분을 명시한다.
coefficient_data_type이 1인 경우, linear_deadzone_slope [ y ][ x ][ pivot_idx ][ cmp ]는 수직 좌표 y 및 수평 좌표 x, 피벗 인덱스 pivot_idx 및 컴포넌트 cmp를 갖는 파티션과 연관된 선형 데드 존 기울기 계수의 값을 도출하는 데 사용된다.
coefficient_data_type이 0인 경우, linear_deadzone_slope [ y ][ x ][ pivot_idx ][ cmp ] 신택스 엘리먼트의 길이는 coefficient_log2_denom 비트이다.
coefficient_data_type이 1인 경우, linear_deadzone_slope[ y ][ x ][ pivot_idx ][ cmp ] 신택스 엘리먼트의 길이는 32 비트이다.
수직 좌표 y 및 수평 좌표 x, 피벗 인덱스 pivot_idx 및 컴포넌트 cmp를 갖는 파티션과 연관된 선형 데드 존 기울기 계수의 값은 다음과 같이 도출된다:
Figure 112018042879126-pct00114
coefficient_data_type이 0인 경우, 선형 데드 존 기울기 계수의 값은 fp_linear_deadzone_slope[ y ][ x ][ pivot_idx ][ cmp ] = (linear_deadzone_slope_int[ y ][ x ][ pivot_idx ][ cmp ] << coefficient_log2_denom) + linear_deadzone_slope[ y ][ x ][ pivot_idx ][ cmp ]이다.
Figure 112018042879126-pct00115
coefficient_data_type이 1인 경우, 선형 데드 존 기울기 계수의 값은 linear_deadzone_slope[ y ][ x ][ pivot_idx ][ cmp ]이다.
coefficient_data_type이 0일 때, linear_deadzone_threshold_int[ y ][ x ][ pivot_idx ][ cmp ]는 fp_linear_deadzone_threshold[ y ][ x ][ pivot_idx ][ cmp ]의 정수 부분을 명시한다. coefficient_data_type이 1인 경우, linear_deadzone_threshold_int[ y ][ x ][ pivot_idx ][ cmp ]는 존재하지 않는다.
비고 - coefficient_data_type이 0일 때, fp_linear_deadzone_threshold[ y ][ x ][pivot_idx][ cmp ]는 수직 좌표 y 및 수평 좌표 x, 피벗 인덱스 pivot_idx 및 컴포넌트 cmp를 갖는 파티션과 연관된 선형 데드 존 문턱값 계수의 값을 도출하는 데 사용된다.
coefficient_data_type이 0일 때, linear_deadzone_threshold[ y ][ x ][ pivot_idx ][ cmp ]는 fp_linear_deadzone_threshold[ y ][ x ][ pivot_idx ][ cmp ]의 소수 부분을 명시한다.
coefficient_data_type이 1인 경우, linear_deadzone_threshold[ y ][ x ][ pivot_idx ][ cmp ]는 수직 좌표 y 및 수평 좌표 x, 피벗 인덱스 pivot_idx 및 컴포넌트 cmp를 갖는 파티션과 연관된 선형 데드 존 문턱값 계수의 값을 도출하는 데 사용된다.
coefficient_data_type이 0인 경우, linear_deadzone_threshold[ y ][ x ][ pivot_idx ][ cmp ] 신택스 엘리먼트의 길이는 coefficient_log2_denom 비트이다.
coefficient_data_type이 1인 경우, linear_deadzone_threshold[ y ][ x ][ pivot_idx ][ cmp ]의 길이는 32 비트이다.
수직 좌표 y 및 수평 좌표 x, 피벗 인덱스 pivot_idx 및 컴포넌트 cmp를 갖는 파티션과 연관된 선형 데드 존 문턱값 계수의 값은 다음과 같이 도출된다:
Figure 112018042879126-pct00116
coefficient_data_type이 0인 경우, 선형 데드 존 문턱값 계수의 값은 fp_linear_deadzone_threshold[ y ][ x ][ pivot_idx ][ cmp ] = (linear_deadzone_threshold_int[ y ][ x ][ pivot_idx ][ cmp ] << coefficient_log2_denom) + linear_deadzone_threshold[ y ][ x ][ pivot_idx ][ cmp ]이다.
Figure 112018042879126-pct00117
coefficient_data_type이 1인 경우, 선형 데드 존 문턱값 계수의 값은 linear_deadzone_threshold[ y ][ x ][ pivot_idx ][ cmp ]이다.
비고 - 선형 데드 존 문턱값 계수의 값은 0보다 크거나 같아야 한다. 선형 데드 존 최대 Dolby Vision EL 신호 값 계수의 값은 선형 데드 존 문턱값 계수의 값보다 크거나 같아야 한다.
A 3. Dolby Vision 디스플레이 관리 메타데이터 비트스트림 신택스
이 섹션은 Dolby Vision 디스플레이 관리 메타데이터 비트스트림의 신택스 및 시맨틱스를 명시한다. Dolby Vision 디스플레이 관리 메타데이터는 디코딩 프로세스에 의해 Dolby Vision 신호들을 재구성하는 데 요구되지 않는다. 부합하는 디코더들이 이 정보를 처리하는 데 요구되지 않는다. 비트스트림에 존재할 때, Dolby Vision 디스플레이 관리 메타데이터는 A 3.1 및 A 4에 명시된 신택스 및 시맨틱스를 따라야만 한다. Dolby Vision 디스플레이 관리 메타데이터가 비트스트림 내에 존재하는 것 이외의 어떤 수단에 의해 적용을 위해 전달될 때, Dolby Vision 디스플레이 관리 메타데이터의 표현이 이 섹션에 명시된 동일한 신택스를 사용할 필요가 없다.
A 3.1 Dolby Vision 디스플레이 관리 메타데이터 비트스트림 신택스
[표 A-3-1]
Figure 112018042879126-pct00118
Figure 112018042879126-pct00119
A 3.2 Dolby Vision 디스플레이 관리 확장 메타데이터 비트스트림 신택스
[표 A-3-2]
Figure 112018042879126-pct00120
A 3.3 Dolby Vision 디스플레이 관리 확장 메타데이터 페이로드 비트스트림 신택스
[표 A-3-3]
Figure 112018042879126-pct00121
A 4. Dolby Vision 디스플레이 관리 메타데이터 시맨틱스
A 4.1 Dolby Vision 디스플레이 관리 메타데이터 비트스트림 시맨틱스
affected_dm_metadata_id는 이 dm 메타데이터에 관련성 있는 Dolby Vision 비디오 프레임의 id 번호를 나타낸다. 이 값은 0 내지 15(경계 포함)의 범위에 있어야 한다. affected_dm_metadata_id가 존재하지 않는 경우, 이는 0인 것으로 추론되어야 한다.
current_dm_metadata_id는 현재 Dolby Vision 비디오 프레임의 id 번호를 나타낸다. 이 값은 0 내지 15(경계 포함)의 범위에 있어야 한다. current_dm_metadata_id가 존재하지 않는 경우, 이는 0인 것으로 추론되어야 한다.
비고: DM 메타데이터가 현재 Dolby Vision 비디오 프레임에 관련성 있는 경우, affected_dm_metadata_id는 current_dm_metadata_id로 설정되어야 한다. DM 메타데이터가 다가오는 Dolby Vision 비디오 프레임에 관한 것인 경우, affected_dm_metadata_id는 (current_dm_metadata_id + 1) (mod 16)으로 설정되어야 한다. affected_dm_metadata_id는 current_dm_metadata_id 또는 (current_dm_metadata_id + 1) (mod 16) 중 어느 하나로 설정되어야 하며, 따라서 현재 Dolby Vision 비디오 프레임 및 다가오는 Dolby Vision 비디오 프레임의 메타데이터만이 기술될 수 있다.
scene_refresh_flag = 1은 DM 메타데이터가 영향을 미치고, 장면 리프레시 포인트(scene refresh point)인 비디오 프레임을 명시한다. 장면 리프레시 포인트의 정의에 대해서는 DM 설계 문서를 참조한다. 이 값은 0 내지 1(경계 포함)의 범위에 있어야 한다. scene_refresh_flag가 존재하지 않는 경우, 이는 0인 것으로 추론되어야 한다.
YCCtoRGB_coef0은 YCCtoRGB 변환 행렬(transform matrix)의 첫 번째 계수를 명시한다. 이 값은 -32768 내지 32767(경계 포함)의 범위에 있어야 한다. YCCtoRGB_coef0이 존재하지 않는 경우, 이는 8192인 것으로 추론되어야 한다.
YCCtoRGB_coef1은 YCCtoRGB 변환 행렬의 두 번째 계수를 명시한다. 이 값은 -32768 내지 32767(경계 포함)의 범위에 있어야 한다. YCCtoRGB_coef1이 존재하지 않는 경우, 이는 0인 것으로 추론되어야 한다.
YCCtoRGB_coef2는 YCCtoRGB 변환 행렬의 세 번째 계수를 명시한다. 이 값은 -32768 내지 32767(경계 포함)의 범위에 있어야 한다. YCCtoRGB_coef2가 존재하지 않는 경우, 이는 12900인 것으로 추론되어야 한다.
YCCtoRGB_coef3은 YCCtoRGB 변환 행렬의 네 번째 계수를 명시한다. 이 값은 -32768 내지 32767(경계 포함)의 범위에 있어야 한다. YCCtoRGB_coef3이 존재하지 않는 경우, 이는 8192인 것으로 추론되어야 한다.
YCCtoRGB_coef4는 YCCtoRGB 변환 행렬의 다섯 번째 계수를 명시한다. 이 값은 -32768 내지 32767(경계 포함)의 범위에 있어야 한다. YCCtoRGB_coef4가 존재하지 않는 경우, 이는 -1534인 것으로 추론되어야 한다.
YCCtoRGB_coef5는 YCCtoRGB 변환 행렬의 여섯 번째 계수를 명시한다. 이 값은 -32768 내지 32767(경계 포함)의 범위에 있어야 한다. YCCtoRGB_coef5가 존재하지 않는 경우, 이는 -3836인 것으로 추론되어야 한다.
YCCtoRGB_coef6은 YCCtoRGB 변환 행렬의 일곱 번째 계수를 명시한다. 이 값은 -32768 내지 32767(경계 포함)의 범위에 있어야 한다. YCCtoRGB_coef6이 존재하지 않는 경우, 이는 8192인 것으로 추론되어야 한다.
YCCtoRGB_coef7은 YCCtoRGB 변환 행렬의 여덟 번째 계수를 명시한다. 이 값은 -32768 내지 32767(경계 포함)의 범위에 있어야 한다. YCCtoRGB_coef7이 존재하지 않는 경우, 이는 15201인 것으로 추론되어야 한다.
YCCtoRGB_coef8은 YCCtoRGB 변환 행렬의 아홉 번째 계수를 명시한다. 이 값은 -32768 내지 32767(경계 포함)의 범위에 있어야 한다. YCCtoRGB_coef8이 존재하지 않는 경우, 이는 0인 것으로 추론되어야 한다.
YCCtoRGB_offset0은 YCCtoRGB 변환 행렬의 첫 번째 오프셋을 명시한다. 이 값은 0 내지 4294967295(경계 포함)의 범위에 있어야 한다. YCCtoRGB_offset0이 존재하지 않는 경우, 이는 0인 것으로 추론되어야 한다.
YCCtoRGB_offset1은 YCCtoRGB 변환 행렬의 두 번째 오프셋을 명시한다. 이 값은 0 내지 4294967295(경계 포함)의 범위에 있어야 한다. YCCtoRGB_offset1이 존재하지 않는 경우, 이는 536870912인 것으로 추론되어야 한다.
YCCtoRGB_offset2는 YCCtoRGB 변환 행렬의 세 번째 오프셋을 명시한다. 이 값은 0 내지 4294967295(경계 포함)의 범위에 있어야 한다. YCCtoRGB_offset2가 존재하지 않는 경우, 이는 536870912인 것으로 추론되어야 한다.
RGBtoLMS_coef0은 RGBtoLMS 변환 행렬의 첫 번째 계수를 명시한다. 이 값은 -32768 내지 32767(경계 포함)의 범위에 있어야 한다. RGBtoLMS_coef0이 존재하지 않는 경우, 이는 5845인 것으로 추론되어야 한다.
RGBtoLMS_coef1은 RGBtoLMS 변환 행렬의 두 번째 계수를 명시한다. 이 값은 -32768 내지 32767(경계 포함)의 범위에 있어야 한다. RGBtoLMS_coef1이 존재하지 않는 경우, 이는 9702인 것으로 추론되어야 한다.
RGBtoLMS_coef2는 RGBtoLMS 변환 행렬의 세 번째 계수를 명시한다. 이 값은 -32768 내지 32767(경계 포함)의 범위에 있어야 한다. RGBtoLMS_coef2가 존재하지 않는 경우, 이는 837인 것으로 추론되어야 한다.
RGBtoLMS_coef3은 RGBtoLMS 변환 행렬의 네 번째 계수를 명시한다. 이 값은 -32768 내지 32767(경계 포함)의 범위에 있어야 한다. RGBtoLMS_coef3이 존재하지 않는 경우, 이는 2568인 것으로 추론되어야 한다.
RGBtoLMS_coef4는 RGBtoLMS 변환 행렬의 다섯 번째 계수를 명시한다. 이 값은 -32768 내지 32767(경계 포함)의 범위에 있어야 한다. RGBtoLMS_coef4가 존재하지 않는 경우, 이는 12256인 것으로 추론되어야 한다.
RGBtoLMS_coef5는 RGBtoLMS 변환 행렬의 여섯 번째 계수를 명시한다. 이 값은 -32768 내지 32767(경계 포함)의 범위에 있어야 한다. RGBtoLMS_coef5가 존재하지 않는 경우, 이는 1561인 것으로 추론되어야 한다.
RGBtoLMS_coef6은 RGBtoLMS 변환 행렬의 일곱 번째 계수를 명시한다. 이 값은 -32768 내지 32767(경계 포함)의 범위에 있어야 한다. RGBtoLMS_coef6이 존재하지 않는 경우, 이는 0인 것으로 추론되어야 한다.
RGBtoLMS_coef7은 RGBtoLMS 변환 행렬의 여덟 번째 계수를 명시한다. 이 값은 -32768 내지 32767(경계 포함)의 범위에 있어야 한다. RGBtoLMS_coef7이 존재하지 않는 경우, 이는 679인 것으로 추론되어야 한다.
RGBtoLMS_coef8은 RGBtoLMS 변환 행렬의 아홉 번째 계수를 명시한다. 이 값은 -32768 내지 32767(경계 포함)의 범위에 있어야 한다. RGBtoLMS_coef8이 존재하지 않는 경우, 이는 15705인 것으로 추론되어야 한다.
signal_ eotf는 울트라-HD 블루 레이에 대해 65535로 설정되어야 한다.
signal_eotf_param0은 울트라-HD 블루 레이에 대해 0으로 설정되어야 한다.
signal_ eotf _ param1은 울트라-HD 블루 레이에 대해 0으로 설정되어야 한다.
signal_ eotf _ param2는 울트라-HD 블루 레이에 대해 0으로 설정되어야 한다.
signal_bit_depth는 Dolby Vision 신호의 비트 심도를 나타낸다. 이 값은 8 내지 16(경계 포함)의 범위에 있어야 한다. signal_bit_depth가 존재하지 않는 경우, 이는 14인 것으로 추론되어야 한다.
signal_color_space는 Dolby Vision 신호 컬러 공간을 명시한다. 이 값은 0 내지 3(경계 포함)의 범위에 있어야 한다. signal_color_space가 존재하지 않는 경우, 이는 0인 것으로 추론되어야 한다. 대응하는 컬러 공간들은 하기의 표에 정의되어 있다:
[표 A-4-1]
Figure 112018042879126-pct00122
signal_color_space가 0인 경우, signal_chroma_format은 Dolby Vision 신호 크로마 포맷을 명시한다. 이 값은 0 내지 2(경계 포함)의 범위에 있어야 한다. signal_color_space가 0보다 큰 경우, signal_chroma_format은 2로 설정되어야 한다. signal_chroma_format이 존재하지 않는 경우, 이는 0인 것으로 추론되어야 한다. 대응하는 크로마 포맷들은 하기의 표에 명시되어 있다:
[표 A-4-2]
Figure 112018042879126-pct00123
signal_full_range_flag는 Dolby Vision 신호 범위를 명시한다. 이 값은 0 내지 3(경계 포함)의 범위에 있어야 한다. signal_eotf가 65535인 경우, signal_full_range_flag는 1로 설정되어야 한다. signal_full_range_flag가 존재하지 않는 경우, 이는 1인 것으로 추론되어야 한다. 신호 범위 명명 규칙들에 대해서는 [6]을 참조한다. 대응하는 신호 범위들은 하기의 표에 명시되어 있다:
[표 A-4-3]
Figure 112018042879126-pct00124
source_min_PQ는 12-비트 PQ 인코딩에서 소스 디스플레이의 최소 루미넌스 값을 명시한다. 이 값은 0 내지 4095(경계 포함)의 범위에 있어야 한다. source_min_PQ가 존재하지 않는 경우, 이는 62인 것으로 추론되어야 한다.
비고: 12-비트 PQ 인코딩된 루미넌스 값은 다음과 같이 계산된다:
Figure 112018042879126-pct00125
여기서
C는 cd/m2 단위로 된 광학 값을 나타낸다.
L은 대응하는 정규화된 선형 값을 나타낸다.
N은 대응하는 비선형 값을 나타낸다.
m 1 은 숫자
Figure 112018042879126-pct00126
이다.
m 2 는 숫자
Figure 112018042879126-pct00127
이다.
c 1 은 숫자
Figure 112018042879126-pct00128
이다.
c 2 는 숫자
Figure 112018042879126-pct00129
이다.
c 3 은 숫자
Figure 112018042879126-pct00130
이다.
b는 숫자 12이다.
단항 함수(unary function) Floor는 그의 인수(argument)보다 크지 않은 가장 큰 정수를 산출한다.
PQ는 결과적인 디지털 표현이다.
source_max_PQ는 12-비트 PQ 인코딩에서 소스 디스플레이의 최대 루미넌스 값을 명시한다. 이 값은 0 내지 4095(경계 포함)의 범위에 있어야 한다. source_max_PQ가 존재하지 않는 경우, 이는 3696인 것으로 추론되어야 한다.
source_diagonal은 인치 단위로 된 소스 디스플레이의 대각 크기(diagonal size)를 나타낸다. 이 값은 0 내지 1023(경계 포함)의 범위에 있어야 한다. source_diagonal이 존재하지 않는 경우, 이는 42인 것으로 추론되어야 한다.
num_ext_blocks는 확장 메타데이터 블록들의 수를 명시한다. 이 값은 0 내지 254(경계 포함)의 범위에 있어야 한다. num_ext_blocks가 존재하지 않는 경우, 이는 0인 것으로 추론되어야 한다.
dm_alignment_zero_bit는 0이어야 한다. num_ext_blocks가 0이 아닌 경우, dm_alignment_zero_bit가 존재하지 않는다.
A 4.2 Dolby Vision 디스플레이 관리 확장 메타데이터 비트스트림 시맨틱스
ext_block_length는 바이트 단위로 된 현재 확장 메타데이터 블록 페이로드의 크기를 도출하는 데 사용된다. 이 값은 0 내지 4294967295(경계 포함)의 범위에 있어야 한다. num_ext_blocks가 0인 경우, ext_block_length가 존재하지 않는다. ext_block_length가 존재하지 않는 경우, 이는 0인 것으로 추론되어야 한다.
ext_block_level은 현재 확장 메타데이터 블록에 포함된 페이로드의 레벨을 명시한다. 이 값은 0 내지 255(경계 포함)의 범위에 있어야 한다. 대응하는 블록 레벨들은 하기의 표에 정의되어 있다. ext_block_level이 존재하지 않는 경우, 이는 0인 것으로 추론되어야 한다.
[표 A-4-4]
Figure 112018042879126-pct00131
비고: ext_block_level = 1인 하나 초과의 확장 블록이 있는 경우, 디코더는 현재 프레임에서 전송된 마지막 레벨 1 확장 블록만을 사용해야 한다. ext_block_level = 2인 16개 초과의 확장 블록이 있는 경우, 디코더는 현재 프레임에서 전송된 처음 16개의 레벨 2 확장 블록만을 사용해야 한다. ext_block_level = 예약된 값들인 확장 블록이 있는 경우, 디코더는 그 확장 블록을 무시해야 한다. 현재 프레임에서 전송된 확장 블록이 없는 경우, 디코더는 A 4.3에서 명시된 바와 같이 레벨 1 및 레벨 2 확장 메타데이터의 값들로 폴백해야 한다.
A 4.3 Dolby Vision 디스플레이 관리 확장 메타데이터 페이로드 시맨틱스
min_PQ는 12-비트 PQ 인코딩에서 현재 장면의 최소 루미넌스 값을 명시한다. 이 값은 0 내지 4095(경계 포함)의 범위에 있어야 한다. min_PQ가 존재하지 않는 경우, 이는 source_min_PQ의 값인 것으로 추론되어야 한다.
max_PQ는 12-비트 PQ 인코딩에서 현재 장면의 최대 루미넌스 값을 명시한다. 이 값은 0 내지 4095(경계 포함)의 범위에 있어야 한다. max_PQ가 존재하지 않는 경우, 이는 source_max_PQ의 값인 것으로 추론되어야 한다.
avg_PQ는 12-비트 PQ 인코딩에서 현재 장면의 중간 루미넌스 값을 명시한다. 이 값은 0 내지 4095(경계 포함)의 범위에 있어야 한다. avg_PQ가 존재하지 않는 경우, 이는 (source_min_PQ + source_max_PQ)/2의 값인 것으로 추론되어야 한다.
target_max_PQ는 12-비트 PQ 인코딩에서 타깃 디스플레이의 최대 루미넌스 값을 명시한다. 이 값은 0 내지 4095(경계 포함)의 범위에 있어야 한다. target_max_PQ가 존재하지 않는 경우, 이는 source_max_PQ의 값인 것으로 추론되어야 한다.
비고: ext_block_level = 2인 하나 초과의 확장 블록이 있고, 그 블록들은 복제된 target_max_PQ를 갖지 않아야 한다.
trim_slope는 기울기 메타데이터를 명시한다. 이 값은 0 내지 4095(경계 포함)의 범위에 있어야 한다. trim_slope가 존재하지 않는 경우, 이는 2048인 것으로 추론되어야 한다. 12-비트 기울기 값이 다음과 같이 계산된다는 것에 유의한다:
Figure 112018042879126-pct00132
trim_offset는 오프셋 메타데이터를 명시한다. 이 값은 0 내지 4095(경계 포함)의 범위에 있어야 한다. trim_offset이 존재하지 않는 경우, 이는 2048인 것으로 추론되어야 한다. 12-비트 오프셋 값이 다음과 같이 계산된다는 것에 유의한다:
Figure 112018042879126-pct00133
trim_power는 전력 메타데이터를 명시한다. 이 값은 0 내지 4095(경계 포함)의 범위에 있어야 한다. trim_power가 존재하지 않는 경우, 이는 2048인 것으로 추론되어야 한다. 12-비트 전력 값이 다음과 같이 계산된다는 것에 유의한다:
Figure 112018042879126-pct00134
trim_chroma_weight는 크로마 가중치 메타데이터를 명시한다. 이 값은 0 내지 4095(경계 포함)의 범위에 있어야 한다. trim_chroma_weight가 존재하지 않는 경우, 이는 2048인 것으로 추론되어야 한다. 12-비트 크로마 가중치 값이 다음과 같이 계산된다는 것에 유의한다:
Figure 112018042879126-pct00135
trim_saturation_gain은 포화 이득 메타데이터를 명시한다. 이 값은 0 내지 4095(경계 포함)의 범위에 있어야 한다. trim_saturatioin_gain이 존재하지 않는 경우, 이는 2048인 것으로 추론되어야 한다. 12-비트 포화 이득 값이 다음과 같이 계산된다는 것에 유의한다:
Figure 112018042879126-pct00136
ms_weight는 다중스케일 가중치 메타데이터를 명시한다. 이 값은 -1 내지 4095(경계 포함)의 범위에 있어야 한다. ms_weight가 존재하지 않는 경우, 이는 2048인 것으로 추론되어야 한다. 12-비트 다중스케일 가중치 값이 다음과 같이 계산된다는 것에 유의한다:
Figure 112018042879126-pct00137
비고: ms_weight가 -1인 경우, 이는 다중스케일 가중치 값이 로컬 설정치들에 의해 오버라이드(override)되어야 한다는 것을 의미한다.
ext _dm_alignment_zero_bit는 0이어야 한다.
참고문헌들
하기의 문헌은 본 문서에서의 정보를 보충하고 각각의 문헌은 참조에 의해 모든 목적을 위해 그 전체가 원용된다:
[1] ITU-R Recommendation BT.709, Parameter Values for the HDTV Standards for Production and International Program Exchange, available from http://www.itu.int
[2] ITU-R Recommendation BT.2020, Parameter Values for Ultra-High-Definition Television Systems for Production and International Program Exchange, available from http://www.itu.int
[3] ITU-T H.265 (10/2014), High-Efficiency Video Coding, available at http://www.itu.int
[4] High-Definition Multimedia Interface™ Specification, version 1.4b, available from http://www.hdmi.org
[5] High-Definition Multimedia Interface™ Specification, version 2.0, available from http://www.hdmi.org
[6] SMPTE ST 2084:2014, High Dynamic Range Electro-Optical Transfer Function of Mastering Reference Displays, August 16, 2014
[7] SMPTE ST 2086:2014, Mastering Display Color Volume Metadata Supporting High Luminance and Wide Color Gamut Images, October 13, 2014
[8] CEA-861-F, A DTV Profile for Uncompressed High Speed Digital Interfaces.
[9] Audio Visual Application Format Specifications for BD-ROM Version 3.0, White paper Blu-Ray Disc Read-only Format (Ultra HD Blu-ray), Blu-Ray Disc Association, July 2015
[10] ISO/IEC 13818-1:2013, Information Technology―Generic Coding of Moving Pictures and Associated Audio Information: Systems, available from www.iso.org
[11] U.S. Patent Application Ser. No. 14/364,979, filed on June 12, 1014, "Specifying Visual Dynamic Range Coding Operations and Parameters," by S. Qu et al., published as U.S. Patent Application Pub. No. 2014/0341305.
[12] A. Ballestad and A. Kostin, "Method and Apparatus for Image Data Transformation," US. Patent 8,593,480.
예시적인 컴퓨터 시스템 구현
본 발명의 실시예들은 컴퓨터 시스템, 전자 회로부 및 컴포넌트들에 구성된 시스템들, 마이크로컨트롤러와 같은 집적 회로(IC), FPGA(field programmable gate array), 또는 다른 구성가능 또는 프로그래밍가능 로직 디바이스(PLD), 이산 시간 또는 디지털 신호 프로세서(DSP), ASIC(application specific IC), 및/또는 이러한 시스템들, 디바이스들 또는 컴포넌트들 중 하나 이상을 포함하는 장치로 구현될 수 있다. 컴퓨터 및/또는 IC는, 본 명세서에서 기술되는 것들과 같은, 향상된 다이내믹 레인지를 갖는 이미지들의 계층화된 표현 및 디코딩에 관한 명령어들을 수행, 제어, 또는 실행할 수 있다. 컴퓨터 및/또는 IC는 본 명세서에서 기술되는 향상된 다이내믹 레인지를 갖는 이미지들의 계층화된 표현 및 디코딩에 관련된 다양한 파라미터들 또는 값들 중 임의의 것을 계산할 수 있다. 이미지 및 비디오 실시예들은 하드웨어, 소프트웨어, 펌웨어 및 이들의 다양한 조합들로 구현될 수 있다.
본 발명의 특정 구현들은 프로세서들로 하여금 본 발명의 방법을 수행하게 하는 소프트웨어 명령어들을 실행하는 컴퓨터 프로세서들을 포함한다. 예를 들어, 디스플레이, 인코더, 셋톱 박스, 트랜스코더 또는 이와 유사한 것 내의 하나 이상의 프로세서는 프로세서들에 의해 액세스가능한 프로그램 메모리 내의 소프트웨어 명령어들을 실행하는 것에 의해 앞서 기술된 바와 같이 향상된 다이내믹 레인지를 갖는 이미지들의 계층화된 표현 및 디코딩에 관련된 방법들을 구현할 수 있다. 본 발명은 또한 프로그램 제품의 형태로 제공될 수 있다. 프로그램 제품은, 데이터 프로세서에 의해 실행될 때, 데이터 프로세서로 하여금 본 발명의 방법을 실행하게 하는 명령어들을 포함하는 컴퓨터 판독가능 신호들의 세트를 담고 있는 임의의 비일시적 매체를 포함할 수 있다. 본 발명에 따른 프로그램 제품들은 매우 다양한 형태들 중 임의의 형태로 되어 있을 수 있다. 프로그램 제품은, 예를 들어, 플로피 디스켓들, 하드 디스크 드라이브들을 비롯한 자기 데이터 저장 매체들, CD ROM들, DVD들을 비롯한 광학 데이터 저장 매체들, ROM들, 플래시 RAM을 비롯한 전자 데이터 저장 매체들, 또는 이와 유사한 것을 포함할 수 있다. 프로그램 제품 상의 컴퓨터 판독가능 신호들은 임의로 압축 또는 암호화될 수 있다.
컴포넌트(예컨대, 소프트웨어 모듈, 프로세서, 어셈블리, 디바이스, 회로 등)가 앞서 언급되어 있는 경우, 달리 언급되지 않는 한, 그 컴포넌트에 대한 언급("수단"에 대한 언급을 포함함)은 기술된 컴포넌트의 기능을 수행하는(예컨대, 기능적으로 동등한) 임의의 컴포넌트 - 본 발명의 예시된 예시적인 실시예들에서 그 기능을 수행하는 개시된 구조와 구조적으로 동등하지 않은 컴포넌트들을 포함함 - 를 그 컴포넌트의 등가물들로서 포함하는 것으로 해석되어야만 한다.
등가물들, 확장들, 대안들 및 기타
향상된 다이내믹 레인지를 갖는 이미지들의 효율적인 계층화된 표현 및 디코딩에 관련된 예시적인 실시예들이 따라서 기술된다. 전술한 명세서에서, 본 발명의 실시예들이 구현마다 달라질 수 있는 수많은 구체적 상세들을 참조하여 기술되었다. 따라서, 무엇이 발명인지와 무엇이 출원인들에 의해 발명으로 의도되어 있는지에 대한 유일하고 배타적인 표시자는, 임의의 차후의 보정을 비롯하여, 이러한 청구항들이 나오는 특정 형태로, 본 출원에 나오는 청구항들의 세트이다. 이러한 청구항들에 포함된 용어들에 대해 본원에서 명확히 기재되는 임의의 정의들이 청구항들에서 사용되는 바와 같은 이러한 용어들의 의미를 좌우할 것이다. 따라서, 청구항에 명확하게 언급되지 않은 제한, 요소, 특성, 특징, 장점 또는 속성이 이러한 청구항의 범주를 결코 제한해서는 안된다. 그에 따라, 명세서 및 도면들은 제한적인 의미가 아니라 예시적인 의미로 간주되어야 한다.

Claims (27)

  1. 하이 다이내믹 레인지 비디오 데이터(high-dynamic range video data)를 생성하기 위한 디코더로서, 상기 디코더는 하나 이상의 프로세서 및 비일시적 메모리를 포함하고, 상기 디코더를 사용해 출력 이미지를 생성하는 것은:
    참조 처리 데이터를 수신하고 상기 참조 처리 데이터의 적어도 일부분을 상기 비일시적 메모리에 저장하는 것;
    상기 참조 처리 데이터로부터 순환 중복 검사(cyclic redundancy check)(CRC) 파라미터를 파싱(parse)하는 것;
    상기 참조 처리 데이터로부터 적어도 RPU 데이터 헤더, RPU 데이터 페이로드 데이터, 및 RPU-alignment-zero-bit 플래그를 추출하는 것;
    상기 참조 처리 데이터로부터 디스플레이 관리 페이로드 데이터를 추출하는 것 - 상기 RPU 데이터 헤더로부터 추출된 display-management-data-present-flag 플래그가 1로 설정된 경우에만 디스플레이 관리 페이로드 데이터가 파싱되고, 상기 display-management-data-present-flag는, vdr_dm_data_payload() 신택스 구조에 따라 0으로 설정될 때 디스플레이 관리 페이로드 데이터가 존재하지 않는다는 것을 명시하고, 1로 설정될 때 디스플레이 관리 페이로드 데이터가 존재한다는 것을 명시하는, vdr_dm_metadata_present_flag 플래그를 포함함 - ;
    상기 CRC 파라미터를 제외한 상기 참조 처리 데이터 전체에 대한 CRC 값을 상기 디코더에 의해 계산하는 것;
    상기 CRC 값과 상기 CRC 파라미터를 비교하여 에러를 검출하는 것;
    상기 RPU 데이터 헤더로부터 RPU 유형 플래그를 추출하는 것; 및
    상기 RPU 유형 플래그의 값이 미리 결정된 값과 매칭하는 경우에만 상기 참조 처리 데이터로부터 부가의 데이터를 파싱하는 것
    을 포함하는, 디코더.
  2. 삭제
  3. 제1항에 있어서, 상기 디코더를 사용해 출력 이미지를 생성하는 것은:
    베이스 레이어 이미지(base-layer image)를 수신하는 것;
    향상 레이어 이미지(enhancement layer image)를 수신하는 것; 및
    상기 참조 처리 데이터에 기초하여 상기 베이스 레이어 이미지와 상기 향상 레이어 이미지를 결합시켜서 상기 출력 이미지를 생성하는 것을 추가로 포함하는, 디코더.
  4. 제1항에 있어서, 상기 RPU 데이터 페이로드 데이터는 RPU 예측 매핑 데이터 및 RPU 비선형 양자화기(non-linear-quantizer)(NLQ) 데이터를 포함하는, 디코더.
  5. 제1항에 있어서, 상기 RPU 유형 플래그의 값이 미리 결정된 값과 매칭하는 경우에만 상기 참조 처리 데이터로부터 부가의 데이터를 파싱하는 것은, RPU 프로파일 및 RPU 레벨의 데이터를 파싱하는 것을 포함하는, 디코더.
  6. 제1항에 있어서, 상기 RPU 유형 플래그는 RPU 처리의 유형을 명시하는 rpu_type 플래그를 포함하고, 상기 미리 결정된 값은 2인, 디코더.
  7. 제1항에 있어서, 상기 디코더를 사용해 출력 이미지를 생성하는 것은:
    상기 RPU 데이터 헤더로부터 use-previous-rpu-data 플래그를 추출하고 상기 use-previous-rpu-data 플래그가 0으로 설정된 경우에만 상기 RPU 데이터 페이로드 데이터를 추출하는 것을 추가로 포함하는, 디코더.
  8. 제7항에 있어서, 상기 use-previous-rpu-data 플래그는, 1로 설정될 때 현재 RPU 데이터가 이전에 수신된 RPU 데이터로부터 예측된다는 것을 명시하고, 0으로 설정될 때 상기 현재 RPU 데이터가 명시적으로 수신된다는 것을 명시하고 상기 디코더에 새로운 RPU 데이터 ID를 생성하라고 지시하는, use_prev_vdr_rpu_flag 플래그를 포함하는, 디코더.
  9. 삭제
  10. 삭제
  11. 제1항에 있어서, 상기 RPU-alignment-zero-bit 플래그는 rpu_alignment_zero_bit flag = 0을 포함하는, 디코더.
  12. 제4항에 있어서, 상기 RPU 예측 매핑 데이터는 rpu_data_mapping() 신택스 구조에 따라 추출되고, 상기 RPU 비선형 양자화기(NLQ) 데이터는 rpu_data_nlq() 신택스 구조에 따라 추출되는, 디코더.
  13. 디코더를 사용해 하이 다이내믹 레인지 비디오 데이터를 생성하는 방법으로서,
    상기 디코더를 사용하여 참조 처리 데이터를 수신하는 단계;
    상기 참조 처리 데이터로부터 순환 중복 검사(CRC) 파라미터를 파싱하는 단계;
    상기 참조 처리 데이터로부터 적어도 RPU 데이터 헤더, RPU 데이터 페이로드 데이터, 및 RPU-alignment-zero-bit 플래그를 추출하는 단계;
    상기 참조 처리 데이터로부터 디스플레이 관리 페이로드 데이터를 파싱하는 단계 - 상기 RPU 데이터 헤더로부터 추출된 display-management-data-present-flag 플래그가 1로 설정된 경우에만 디스플레이 관리 페이로드 데이터가 파싱되고, 상기 display-management-data-present-flag는, vdr_dm_data_payload() 신택스 구조에 따라 0으로 설정될 때 디스플레이 관리 페이로드 데이터가 존재하지 않는다는 것을 명시하고, 1로 설정될 때 디스플레이 관리 페이로드 데이터가 존재한다는 것을 명시하는, vdr_dm_metadata_present_flag 플래그를 포함함 - ;
    상기 CRC 파라미터를 제외한 상기 참조 처리 데이터 전체에 대한 CRC 값을 상기 디코더에 의해 계산하는 단계;
    상기 CRC 값과 상기 CRC 파라미터를 비교하여 에러를 검출하는 단계;
    상기 RPU 데이터 헤더로부터 RPU 유형 플래그를 추출하는 단계; 및
    상기 RPU 유형 플래그의 값이 미리 결정된 값과 매칭하는 경우에만 상기 참조 처리 데이터로부터 부가의 데이터를 파싱하는 단계
    를 포함하는, 방법.
  14. 삭제
  15. 제13항에 있어서, 상기 디코더를 사용해 출력 이미지를 생성하는 단계는:
    베이스 레이어 이미지를 수신하는 단계;
    향상 레이어 이미지를 수신하는 단계; 및
    상기 참조 처리 데이터에 기초하여 상기 베이스 레이어 이미지와 상기 향상 레이어 이미지를 결합시켜서 상기 출력 이미지를 생성하는 단계를 추가로 포함하는, 방법.
  16. 제13항에 있어서, 상기 RPU 데이터 페이로드 데이터는 RPU 예측 매핑 데이터 및 RPU 비선형 양자화기(NLQ) 데이터를 포함하는, 방법.
  17. 제13항에 있어서,
    상기 RPU 유형 플래그의 값이 미리 결정된 값과 매칭하는 경우에만 상기 참조 처리 데이터로부터 부가의 데이터를 파싱하는 단계는, RPU 프로파일 및 RPU 레벨의 데이터를 파싱하는 단계를 포함하는, 방법.
  18. 제13항에 있어서, 상기 RPU 유형 플래그는 RPU 처리의 유형을 명시하는 rpu_type 플래그를 포함하고, 상기 미리 결정된 값은 2인, 방법.
  19. 제13항에 있어서, 상기 디코더를 사용해 출력 이미지를 생성하는 단계는:
    상기 RPU 데이터 헤더로부터 use-previous-rpu-data 플래그를 추출하고 상기 use-previous-rpu-data 플래그가 0으로 설정된 경우에만 상기 RPU 데이터 페이로드 데이터를 추출하는 단계를 추가로 포함하는, 방법.
  20. 제19항에 있어서, 상기 use-previous-rpu-data 플래그는, 1로 설정될 때 현재 RPU 데이터가 이전에 수신된 RPU 데이터로부터 예측된다는 것을 명시하고, 0으로 설정될 때 상기 현재 RPU 데이터가 명시적으로 수신된다는 것을 명시하고 상기 디코더에 새로운 RPU 데이터 ID를 생성하라고 지시하는, use_prev_vdr_rpu_flag 플래그를 포함하는, 방법.
  21. 삭제
  22. 삭제
  23. 제13항에 있어서, 상기 RPU-alignment-zero-bit 플래그는 rpu_alignment_zero_bit flag = 0을 포함하는, 방법.
  24. 제16항에 있어서, 상기 RPU 예측 매핑 데이터는 rpu_data_mapping() 신택스 구조에 따라 추출되고, 상기 RPU 비선형 양자화기(NLQ) 데이터는 rpu_data_nlq() 신택스 구조에 따라 추출되는, 방법.
  25. 제15항에 있어서,
    상기 출력 이미지의 다이내믹 레인지보다 더 낮은 다이내믹 레인지에서 1차 그래픽스 플레인 이미지 및 2차 그래픽스 플레인 이미지를 수신하는 단계;
    상기 1차 그래픽스 플레인 이미지 및 상기 2차 그래픽스 플레인 이미지에 역 디스플레이 관리 단계를 적용하여 상기 출력 이미지의 다이내믹 레인지에서 대응하는 제3 및 제4 그래픽 이미지들을 생성하는 단계; 및
    상기 출력 이미지와 상기 제3 및 제4 그래픽 이미지들을 블렌딩하여 블렌딩된 이미지를 생성하는 단계
    를 추가로 포함하는, 방법.
  26. 제15항에 있어서,
    상기 출력 이미지의 다이내믹 레인지보다 더 낮은 다이내믹 레인지에서 1차 그래픽스 플레인 이미지, 백그라운드 플레인 이미지, 및 2차 그래픽스 플레인 이미지를 수신하는 단계;
    상기 1차 그래픽스 플레인 이미지, 상기 백그라운드 플레인 이미지, 및 상기 2차 그래픽스 플레인 이미지에 역 디스플레이 관리 단계를 적용하여 상기 출력 이미지의 다이내믹 레인지에서 대응하는 제3, 제4, 및 제5 그래픽 이미지들을 생성하는 단계; 및
    상기 출력 이미지와 상기 제3, 제4, 및 제5 그래픽 이미지들을 블렌딩하여 블렌딩된 이미지를 생성하는 단계
    를 추가로 포함하는, 방법.
  27. 제13항, 제15항 내지 제20항 및 제23항 내지 제26항 중 어느 한 항에 따른 방법을 하나 이상의 프로세서를 사용해 실행하기 위한 컴퓨터 실행가능 명령어가 저장된 비일시적 컴퓨터 판독가능 저장 매체.
KR1020187012392A 2015-11-02 2016-11-01 하이 다이내믹 레인지 비디오의 crc 코드들을 포함한 계층화된 표현 및 전달 Active KR102160624B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562249474P 2015-11-02 2015-11-02
US62/249,474 2015-11-02
PCT/US2016/059862 WO2017079132A1 (en) 2015-11-02 2016-11-01 Layered representation containing crc codes and delivery of high dynamic range video

Publications (2)

Publication Number Publication Date
KR20180063226A KR20180063226A (ko) 2018-06-11
KR102160624B1 true KR102160624B1 (ko) 2020-09-28

Family

ID=57321443

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187012392A Active KR102160624B1 (ko) 2015-11-02 2016-11-01 하이 다이내믹 레인지 비디오의 crc 코드들을 포함한 계층화된 표현 및 전달

Country Status (6)

Country Link
US (2) US10462491B2 (ko)
EP (1) EP3371976A1 (ko)
JP (1) JP6626573B2 (ko)
KR (1) KR102160624B1 (ko)
CN (1) CN108353190B (ko)
WO (1) WO2017079132A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017080927A1 (en) * 2015-11-09 2017-05-18 Thomson Licensing Method and device for adapting the video content decoded from elementary streams to the characteristics of a display
JP6846442B2 (ja) 2016-05-19 2021-03-24 ドルビー ラボラトリーズ ライセンシング コーポレイション ハイダイナミックレンジ画像のためのクロマ再構成
EP3685587B1 (en) * 2017-09-22 2021-07-28 Dolby Laboratories Licensing Corporation Backward compatible display management metadata compression
US10349097B2 (en) * 2017-10-27 2019-07-09 Mti Film, Llc Metadata editor for multimedia delivery
JP7246894B2 (ja) * 2018-11-07 2023-03-28 キヤノン株式会社 撮像装置およびその制御方法
EP3939314A4 (en) 2019-04-12 2022-06-08 Beijing Bytedance Network Technology Co., Ltd. MATRIX-BASED INTRA PREDICTION-BASED TRANSFORMATION CODING
US11153626B1 (en) * 2019-05-20 2021-10-19 Amazon Technologies, Inc. Systems and methods for transforming a fragment media player into an access unit media player
JP2022533190A (ja) * 2019-05-22 2022-07-21 北京字節跳動網絡技術有限公司 アップサンプリングを使用した行列ベースのイントラ予測
WO2020239017A1 (en) 2019-05-31 2020-12-03 Beijing Bytedance Network Technology Co., Ltd. One-step downsampling process in matrix-based intra prediction
CN113950836B (zh) 2019-06-05 2024-01-12 北京字节跳动网络技术有限公司 基于矩阵的帧内预测的上下文确定
CA3138215C (en) * 2019-06-21 2024-06-18 The Governing Council Of The University Of Toronto Method and system for extending image dynamic range using per-pixel coding of pixel parameters
US10819915B1 (en) 2019-10-17 2020-10-27 Horiba Instruments Incorporated Apparatus and method generating high dynamic range video
US11375182B2 (en) * 2019-12-17 2022-06-28 Hfi Innovation Inc. Method and apparatus of constrained layer-wise video coding
CN111246208B (zh) * 2020-01-22 2022-04-08 北京字节跳动网络技术有限公司 视频处理方法、装置及电子设备
KR20220131637A (ko) * 2021-03-22 2022-09-29 삼성전자주식회사 Hdr 영상을 제공하는 방법 및 이를 지원하는 전자 장치
EP4466859A1 (en) * 2022-01-20 2024-11-27 Dolby Laboratories Licensing Corporation Data structure for multimedia applications
EP4283459A1 (en) * 2022-05-24 2023-11-29 Koninklijke Philips N.V. Mixing secondary graphics elements in hdr images
WO2025037566A1 (ja) * 2023-08-14 2025-02-20 ソニーセミコンダクタソリューションズ株式会社 情報処理装置、固体撮像装置、表示装置及び送受信システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014176019A1 (en) 2013-04-23 2014-10-30 Dolby Laboratories Licensing Corporation Transmitting display management metadata over hdmi
US20140341305A1 (en) * 2012-01-03 2014-11-20 Dolby Laboratories Licensing Corporation Specifying visual dynamic range coding operations and parameters
US20150256860A1 (en) * 2014-03-05 2015-09-10 Dolby Laboratories Licensing Corporation Graphics Blending for High Dynamic Range Video

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1174868A (ja) 1996-09-02 1999-03-16 Toshiba Corp 情報伝送方法およびその方法が適用される情報伝送システムにおける符号化装置/復号化装置、並びに符号化・多重化装置/復号化・逆多重化装置
JP2001025010A (ja) 1999-07-09 2001-01-26 Mitsubishi Electric Corp マルチメディア情報通信装置およびその方法
US6993705B1 (en) * 2000-12-21 2006-01-31 Emc Corporation Cyclic redundancy check (CRC) parity check system and method
CN101827103B (zh) * 2004-03-10 2012-07-04 高通股份有限公司 具有改进链路同步的高数据速率接口
CN101198190A (zh) * 2008-01-03 2008-06-11 中兴通讯股份有限公司 吉比特无源光网络封装模式帧用户数据的校验方法
CN103155568B (zh) * 2010-07-08 2016-07-27 杜比实验室特许公司 用于使用参考处理信号进行多层图像和视频传输的系统和方法
TWI538474B (zh) 2011-03-15 2016-06-11 杜比實驗室特許公司 影像資料轉換的方法與設備
KR20120118779A (ko) * 2011-04-19 2012-10-29 삼성전자주식회사 전처리 필터링을 수반한 계층 간 예측을 수행하는 비디오 부호화 방법 및 그 장치, 후처리 필터링을 수반한 계층 간 예측을 수행하는 비디오 복호화 방법 및 그 장치
US9648351B2 (en) * 2013-10-24 2017-05-09 Dolby Laboratories Licensing Corporation Error control in multi-stream EDR video codec
CN104829596B (zh) 2014-02-10 2017-02-01 石家庄以岭药业股份有限公司 吡咯取代吲哚酮类衍生物、其制备方法、包含该衍生物的组合物、及其用途

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140341305A1 (en) * 2012-01-03 2014-11-20 Dolby Laboratories Licensing Corporation Specifying visual dynamic range coding operations and parameters
WO2014176019A1 (en) 2013-04-23 2014-10-30 Dolby Laboratories Licensing Corporation Transmitting display management metadata over hdmi
US20150256860A1 (en) * 2014-03-05 2015-09-10 Dolby Laboratories Licensing Corporation Graphics Blending for High Dynamic Range Video

Also Published As

Publication number Publication date
CN108353190A (zh) 2018-07-31
CN108353190B (zh) 2021-01-12
US10462491B2 (en) 2019-10-29
JP2018537898A (ja) 2018-12-20
WO2017079132A1 (en) 2017-05-11
US20180278963A1 (en) 2018-09-27
KR20180063226A (ko) 2018-06-11
EP3371976A1 (en) 2018-09-12
US10701399B2 (en) 2020-06-30
JP6626573B2 (ja) 2019-12-25
US20190373290A1 (en) 2019-12-05

Similar Documents

Publication Publication Date Title
KR102160624B1 (ko) 하이 다이내믹 레인지 비디오의 crc 코드들을 포함한 계층화된 표현 및 전달
JP7275345B2 (ja) ソースカラーボリューム情報メッセージング
JP6711943B2 (ja) Hdrおよび広色域の信号のための信号整形および符号化
US9277196B2 (en) Systems and methods for backward compatible high dynamic range/wide color gamut video coding and rendering
US10587897B2 (en) Specifying visual dynamic range coding operations and parameters
US11979589B2 (en) Frame-rate scalable video coding
JP2018530953A (ja) 改善された色再マッピング情報補足エンハンスメント情報メッセージ処理
US20150326846A1 (en) Systems and methods for processing video frames

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

Patent event date: 20180430

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20200106

Patent event code: PE09021S01D

AMND Amendment
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20200721

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20200106

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

AMND Amendment
PX0901 Re-examination

Patent event code: PX09011S01I

Patent event date: 20200721

Comment text: Decision to Refuse Application

Patent event code: PX09012R01I

Patent event date: 20200331

Comment text: Amendment to Specification, etc.

PX0701 Decision of registration after re-examination

Patent event date: 20200903

Comment text: Decision to Grant Registration

Patent event code: PX07013S01D

Patent event date: 20200820

Comment text: Amendment to Specification, etc.

Patent event code: PX07012R01I

Patent event date: 20200721

Comment text: Decision to Refuse Application

Patent event code: PX07011S01I

Patent event date: 20200331

Comment text: Amendment to Specification, etc.

Patent event code: PX07012R01I

X701 Decision to grant (after re-examination)
GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20200922

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20200923

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20230828

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20240826

Start annual number: 5

End annual number: 5