KR20200106216A - 이미지/비디오 처리를 위한 선형 인코더 - Google Patents
이미지/비디오 처리를 위한 선형 인코더 Download PDFInfo
- Publication number
- KR20200106216A KR20200106216A KR1020207025016A KR20207025016A KR20200106216A KR 20200106216 A KR20200106216 A KR 20200106216A KR 1020207025016 A KR1020207025016 A KR 1020207025016A KR 20207025016 A KR20207025016 A KR 20207025016A KR 20200106216 A KR20200106216 A KR 20200106216A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- dynamic range
- metadata
- data
- statistics
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims description 87
- 238000013507 mapping Methods 0.000 claims abstract description 169
- 230000006870 function Effects 0.000 claims abstract description 137
- 238000009499 grossing Methods 0.000 claims abstract description 39
- 238000000034 method Methods 0.000 claims description 271
- 241000023320 Luma <angiosperm> Species 0.000 claims description 115
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 115
- 239000000872 buffer Substances 0.000 claims description 107
- 239000011159 matrix material Substances 0.000 claims description 24
- 230000001186 cumulative effect Effects 0.000 claims description 21
- 230000008569 process Effects 0.000 description 34
- 238000007726 management method Methods 0.000 description 30
- 230000002441 reversible effect Effects 0.000 description 17
- 239000013598 vector Substances 0.000 description 15
- 238000001514 detection method Methods 0.000 description 13
- 238000010801 machine learning Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 9
- 230000009466 transformation Effects 0.000 description 8
- 230000003068 static effect Effects 0.000 description 7
- 238000012935 Averaging Methods 0.000 description 6
- 238000013139 quantization Methods 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 5
- 230000001131 transforming effect Effects 0.000 description 5
- 238000005315 distribution function Methods 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 239000002356 single layer Substances 0.000 description 3
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 2
- 244000046052 Phaseolus vulgaris Species 0.000 description 2
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 229910052698 phosphorus Inorganic materials 0.000 description 2
- 239000011574 phosphorus Substances 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 229910052709 silver Inorganic materials 0.000 description 2
- 239000004332 silver Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 230000004301 light adaptation Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
-
- G06T5/007—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/98—Adaptive-dynamic-range coding [ADRC]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/02—Digital function generators
- G06F1/03—Digital function generators working, at least partly, by table look-up
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/142—Detection of scene cut or scene change
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20208—High dynamic range [HDR] image processing
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Abstract
일부 실시예에서, 인코더 디바이스는 제1 이미지를 포함하는 제1 동적 범위의 이미지들을 포함하는 입력 비디오 스트림을 수신하는 것으로 개시된다. 이 디바이스는 제1 이미지를 나타내는 제2 이미지를 수신한다. 이 디바이스는 제1 및 제2 이미지에 대한 통계 데이터를 획득한다. 이 디바이스는, 제1 시간 지연에서, 입력 비디오 스트림으로부터 장면 컷 데이터를 결정하고, 장면 컷 데이터를 제1 슬라이딩 윈도우에 저장한다. 이 디바이스는, 제2 시간 지연에서, 제2 슬라이딩 윈도우 및 결정된 장면 컷 데이터에 기초하여 제1 평활화 매핑 함수를 결정한다. 이 디바이스는, 제3 시간 지연에서, 제3 슬라이딩 윈도우 및 결정된 장면 컷 데이터에 기초하여 제2 평활화 매핑 함수를 결정한다. 이 디바이스는, 제3 시간 지연에서, 제1 및 제2 평활화 매핑 함수에 기초하여 제1 이미지에 대한 합성기 메타데이터를 생성한다.
Description
관련 출원에 대한 교차 참조
본 특허 출원은, 2018년 2월 28일자로 출원된 미국 가출원 제62/636,388호; 및 2018년 2월 28일자로 출원된 유럽 특허 출원 제18159055.5호로부터의 우선권의 이익을 주장하고, 각각 그 전문이 참조로서 포함된다.
기술 분야
본 개시는 일반적으로 이미지/비디오에 관한 것이다. 보다 구체적으로, 본 개시는 이미지/비디오 처리를 위한 선형 인코더에 관한 것이다.
본 명세서에 사용된 바와 같이, 용어 "동적 범위(dynamic range)" (DR)는 이미지에서 가장 어두운 블랙(다크)에서 가장 밝은 화이트(하이라이트)까지의 강도(intensity)(예를 들어, 휘도, 루마)의 범위를 인지하기 위한 인간 시각 체계(human visual system; HVS)의 능력에 관한 것일 수 있다. 이런 의미에서, DR은 '장면-참조된' 강도에 관한 것이다. DR은 또한, 특정 폭의 강도 범위를 적절하게 또는 대략적으로 렌더링하는 디스플레이 디바이스의 능력에 관한 것일 수 있다. 이런 의미에서, DR은 '디스플레이-참조된' 강도에 관한 것이다. 본 명세서의 설명에서 특정 의미가 어떤 관점에서 특정 의미를 갖는 것으로 명백히 명시되지 않는 한, 그 용어는 다른 의미로, 예를 들어, 상호 교환 가능하게 사용될 수 있음이 추론되어야 한다.
본 명세서에 사용되는 바와 같이, 용어 높은 동적 범위(high dynamic range; HDR)는 인간 지각 체계(HVS)의 14 내지 15 또는 그 이상의 차수 크기에 걸친(span) DR 폭에 관한 것이다. 실제로, 강도 범위에 있어서 인간이 광범위한 폭을 동시에 인지할 수 있는 DR은, HDR에 관련하여 다소 절사될(truncated) 수 있다. 본 명세서에 사용되는 바와 같이, 용어 향상된 동적 범위(enhanced dynamic range; EDR) 또는 시각 동적 범위(visual dynamic range; VDR)는, 개별적으로 또는 상호 교환 가능하게, 눈 움직임을 포함하는 인간 시각 체계(HVS)에 의해 장면 또는 이미지 내에서 인지 가능한 DR에 관한 것일 수 있고, 장면 또는 이미지에 걸쳐 일부 광 적응 변화(light adaptation changes)를 허용한다. 본 명세서에 사용되는 바와 같이, EDR은 5 내지 6 차수 크기에 걸친 DR에 관한 것일 수 있다. 따라서, 아마도 실제의 장면 참조된 HDR에 관련하여 다소 더 좁아지지만, 그럼에도 불구하고 EDR은 넓은 DR 폭을 나타내고 HDR로 지칭될 수도 있다. 본 명세서에 사용되는 바와 같이, 용어 "iDM"(역방향 디스플레이-매핑된 신호의 약어)은 또한, 입력 표준 동적 범위(standard dynamic range; SDR) 신호에 기초하여 생성되었던 EDR 또는 HDR 신호를 지칭할 수 있다.
실제로, 이미지는 하나 이상의 컬러 성분(예를 들어, 루마 Y와 크로마 Cb 및 Cr)을 포함하고, 여기서 각각의 컬러 성분은 화소 당 n-비트(예를 들어, n=8 또는 n=10)의 정밀도로 표현된다. 선형 휘도 코딩을 이용하는, 예를 들어, n≤8 (예를 들어, 컬러 24-비트 JPEG 이미지) 또는 때때로 n≤10인 이미지가 표준 동적 범위의 이미지로 간주되고, 반면에 n > 8 인 이미지는 향상된 동적 범위의 이미지로 간주될 수 있다.
주어진 디스플레이를 위한 참조 전광 변환 함수(electro-optical transfer function; EOTF)는, 디스플레이에 의해 생성되는 화면 컬러 값(예를 들어, 화면 휘도)을 출력하기 위해 입력 비디오 신호의 컬러 값들 사이의 관계를 특징짓는다. 예를 들어, ITU 권고 ITU-R BT. 1886, "HDTV 스튜디오 제품에 사용되는 평면 패널 디스플레이를 위한 참조 전광 변환 함수(Reference electro-optical transfer function for flat panel displays used in HDTV studio production)" (2011년 3월)는, 그 전문이 본 명세서에 참조로서 포함되어 있고, 음극선관(Cathode Ray Tube; CRT)의 측정된 특성에 기초하여 평면 패널 디스플레이를 위한 참조 EOTF를 정의한다. 비디오 스트림이 주어지면, 그의 EOTF에 대한 정보는 전형적으로 메타데이터로서 비트스트림에 내장된다. 본 명세서에 사용되는 바와 같이, 용어 "메타데이터"는 코딩된 비트스트림의 일부로서 송신되고 디코더가 디코딩된 이미지를 렌더링하는 것을 보조하는 임의의 보조 정보에 관한 것이다. 이러한 메타데이터는, 본 명세서에 설명된, 색 공간 또는 영역 정보(color space or gamut information), 참조 디스플레이 매개변수, 및 보조 신호 매개변수, 및 기타 유형의 메타데이터를 포함할 수 있지만, 이에 제한되지 않는다.
대부분의 소비자 데스크톱 디스플레이는 현재 200 내지 300 cd/m2 또는 니트(nits)의 휘도를 지원한다. 대부분의 소비자 HDTV는 300부터 500 니트까지의 범위에 있고 신규 모델은 1000 니트(cd/m2)에 이른다. 따라서 이러한 디스플레이는, HDR 또는 EDR과 관련하여, 표준 동적 범위(SDR)로도 지칭되는 더 낮은 동적 범위(lower dynamic range; LDR)의 전형이 된다. HDR 콘텐츠는 더 높은 동적 범위(예를 들어, 1,000 니트부터 5,000 니트 이상까지)를 지원하는 HDR 디스플레이에 표시될 수 있다. 이러한 디스플레이는 높은 휘도 능력(예를 들어, 0 내지 10,000 니트)을 지원하는 대안적인 EOTF를 사용하여 정의될 수 있다. 이러한 EOTF의 예시는, SMPTE ST 2084: 2014 "마스터링 참조 디스플레이의 높은 동적 범위 EOTF(High Dynamic Range EOTF of Mastering Reference Displays)"에 정의되어 있고, 그 전문은 본 명세서에 참조로 포함된다. 일반적으로, 제한 없이, 본 개시의 방법들은 SDR보다 더 높은 임의의 동적 범위에 관한 것이다.
본 발명의 제1 양상은, 처리 시스템에 의한 루마 및/또는 크로마 재성형 메타데이터 생성 방법에 관한 것이고, 본 방법은 제1 이미지를 포함하는 제1 동적 범위의 이미지들을 포함하는 입력 비디오 스트림을 수신하는 단계, 입력 비디오 스트림의 제1 이미지를 나타내는 제2 동적 범위를 갖는 제2 이미지를 수신하는 단계 - 제2 동적 범위는 제1 동적 범위보다 더 높음 -, 제1 및 제2 이미지에 대한 통계 데이터를 획득하는 단계 - 획득된 통계 데이터는 제1 및 제2 이미지에 대한 휘도 및 크로마 통계를 포함함 -, 및 통계 데이터를 버퍼에 저장하는 단계를 포함한다. 본 방법은, 제1 시간 지연에서, 제1 이미지, 입력 비디오 스트림의 시간 내에서 제1 이미지 이후의 하나 이상의 미리 보기(look ahead) 이미지, 및 입력 비디오 스트림의 시간 내에서 제1 이미지 이전의 하나 이상의 되돌아 보기(look back) 이미지를 포함하는 제1 슬라이딩 윈도우(L3)에서의 통계 데이터에 기초하여 장면 컷 데이터(scene cut data)를 결정하는 단계, 제2 시간 지연에서, 통계 데이터 및 제2 슬라이딩 윈도우(L2)에서 결정된 장면 컷 데이터에 기초하여 제1 동적 범위에서 제2 동적 범위로 제1 이미지에 대한 휘도 값들을 매핑하기 위한 제1 매핑 함수를 결정하는 단계, 제3 시간 지연에서, 제1 매핑 함수 및 제3 슬라이딩 윈도우(L1)에서 결정된 장면 컷 데이터에 기초하여 제1 매핑 함수에 대해 평활화 동작을 수행함으로써 제2 매핑 함수를 결정하는 단계, 제3 시간 지연에서, 통계 데이터 및 제3 슬라이딩 윈도우(L1)에서 결정된 장면 컷 데이터에 기초하여 제1 동적 범위에서 제2 동적 범위로 제1 이미지에 대한 크로마 값들을 매핑하기 위한 제3 매핑 함수를 결정하는 단계, 및 제3 시간 지연에서, 제2 및 제3 매핑 함수에 기초하여 제1 이미지에 대한 합성기 메타데이터를 생성하는 단계 - 생성된 합성기 메타데이터는 디스플레이를 위해 제1 동적 범위에서 제2 동적 범위로 제1 이미지를 매핑하기 위해 타겟 디스플레이 디바이스에 의해 사용됨 -를 더 포함한다.
"슬라이딩 윈도우"는 기본적으로 이미지 프레임들의 세트를 지칭하고, 이러한 슬라이딩 윈도우 내의 이미지들에 대한 통계 데이터에 기초하여 다양한 처리 단계가 수행된다. 구체적으로, 제1 슬라이딩 윈도우(L3)는, 제1 시간 지연에서 제1 이미지, 입력 비디오 스트림의 시간 내에서 제1 이미지 이후의 하나 이상의 미리 보기 이미지, 및 입력 비디오 스트림의 시간 내에서 제1 이미지 이전의 하나 이상의 되돌아 보기 이미지를 포함한다. 제2 슬라이딩 윈도우(L2)는, 제2 시간 지연에서 제2 이미지, 입력 비디오 스트림의 시간 내에서 제2 이미지 이후의 하나 이상의 미리 보기 이미지, 및 입력 비디오 스트림의 시간 내에서 제2 이미지 이전의 하나 이상의 되돌아 보기 이미지를 포함한다. 제3 슬라이딩 윈도우(L1)는, 제3 시간 지연에서 제3 이미지, 입력 비디오 스트림의 시간 내에서 제3 이미지 이후의 하나 이상의 미리 보기 이미지, 및 입력 비디오 스트림의 시간 내에서 제3 이미지 이전의 하나 이상의 되돌아 보기 이미지를 포함한다.
각각의 슬라이딩 윈도우는 이전 슬라이딩 윈도우에 의해 생성된 출력을 저장하기 위해 링 메모리 버퍼로 구현될 수 있다. 링 메모리 버퍼는 항상, 출력 데이터의 연속되는 스트림의 "윈도우"만 포함할 것이다.
"시간 지연"은 프레임 기반의 시간 크기의 지연을 지칭하고 데이터-종속성(data-dependency)과 관련된다는 점에 유의해야 한다. 연속되는 동작들을 포함하여, 수개의 동작이 단일 시간 프레임에서 수행될 수 있고, 수개의 프레임이 다음 "시간 지연" 이전에 처리된다. 실제로, 다음 시간 지연은 이전 동작들이 완료될 수 있도록 구체적으로 선택된다. 구체적으로, 요구되는 시간 지연은 특정 슬라이딩 윈도우에서 "미리 보기" 프레임의 수와 적어도 동일해야 한다.
단일 시간 지연에서의 처리는 이전 시간 지연에서의 처리로부터의 결과에 적어도 부분적으로 기초할 수 있다. 예를 들어, (제2 및 제3 슬라이딩 윈도우를 사용한) 제2 및 제3 시간 지연에서의 처리는, 제1 슬라이딩 윈도우를 사용하는, 제1 시간 지연에서 결정된 장면 컷 데이터에 기초할 수 있다. 이러한 장면 컷 데이터는, 더 작은 윈도우의 이미지들에 대한 데이터가 처리 시에 사용되도록, 더 작은 "서브-윈도우"를 정의하는 데에 사용될 수 있다.
본 실시예들은 예시로서 도시되고, 유사한 도면부호는 유사한 요소를 나타내는 첨부 도면의 도면들에 제한되지 않는다.
도 1은 실시예에 따른 재성형 기법을 이용한 데이터 코딩 및 디코딩을 위한 예시적인 프로세스를 도시한다.
도 2는 실시예에 따른 인코딩을 위한 예시적인 프로세스를 도시한다.
도 3은 실시예에 따른 참조 EDR을 갖는 또는 갖지 않는 인코딩을 위한 예시적인 프로세스를 도시한다.
도 4는 실시예에 따른 선형 인코딩을 위한 3 레벨 슬라이딩 윈도우 프레임워크에 대한 예시적인 아키텍처를 도시한다.
도 5a 및 도 5b는 일부 실시예에 따른 도 4의 3 레벨 슬라이딩 윈도우 프레임워크에 대한 예시적인 아키텍처를 도시한다.
도 6은 실시예에 따른 도 5a 및 도 5b의 3 레벨 슬라이딩 윈도우 프레임워크에 대한 예시적인 링 버퍼 구조(ring buffer structure)를 도시한다.
도 7은 하나 이상의 실시예에 따른 방법을 도시하는 흐름도이다.
도 8은 실시예에 따른 참조 EDR을 갖는 예시적인 인코더에 대한 블록도를 도시한다.
도 9는 하나 이상의 실시예에 따른 방법을 도시하는 흐름도이다.
도 10은 하나 이상의 실시예를 따른 방법을 도시하는 흐름도이다.
도 11은 실시예에 따른 참조 EDR을 갖지 않는 예시적인 인코더에 대한 블록도를 도시한다.
도 12는 하나 이상의 실시예에 따른 방법을 도시하는 흐름도이다.
도 13은 실시예에 따른 DM 슬라이딩 윈도우를 사용하는 DM 통계를 추정하는 예시적인 프로세스를 도시한다.
도 14는 본 명세서에 설명된 하나 이상의 실시예를 구현하거나 수행하기 위해 사용될 수 있는 데이터 처리 시스템의 예시를 도시한다.
도 1은 실시예에 따른 재성형 기법을 이용한 데이터 코딩 및 디코딩을 위한 예시적인 프로세스를 도시한다.
도 2는 실시예에 따른 인코딩을 위한 예시적인 프로세스를 도시한다.
도 3은 실시예에 따른 참조 EDR을 갖는 또는 갖지 않는 인코딩을 위한 예시적인 프로세스를 도시한다.
도 4는 실시예에 따른 선형 인코딩을 위한 3 레벨 슬라이딩 윈도우 프레임워크에 대한 예시적인 아키텍처를 도시한다.
도 5a 및 도 5b는 일부 실시예에 따른 도 4의 3 레벨 슬라이딩 윈도우 프레임워크에 대한 예시적인 아키텍처를 도시한다.
도 6은 실시예에 따른 도 5a 및 도 5b의 3 레벨 슬라이딩 윈도우 프레임워크에 대한 예시적인 링 버퍼 구조(ring buffer structure)를 도시한다.
도 7은 하나 이상의 실시예에 따른 방법을 도시하는 흐름도이다.
도 8은 실시예에 따른 참조 EDR을 갖는 예시적인 인코더에 대한 블록도를 도시한다.
도 9는 하나 이상의 실시예에 따른 방법을 도시하는 흐름도이다.
도 10은 하나 이상의 실시예를 따른 방법을 도시하는 흐름도이다.
도 11은 실시예에 따른 참조 EDR을 갖지 않는 예시적인 인코더에 대한 블록도를 도시한다.
도 12는 하나 이상의 실시예에 따른 방법을 도시하는 흐름도이다.
도 13은 실시예에 따른 DM 슬라이딩 윈도우를 사용하는 DM 통계를 추정하는 예시적인 프로세스를 도시한다.
도 14는 본 명세서에 설명된 하나 이상의 실시예를 구현하거나 수행하기 위해 사용될 수 있는 데이터 처리 시스템의 예시를 도시한다.
본 발명의 다양한 실시예 및 양상은 아래에 논의된 세부 사항을 참조하여 설명될 것이고, 첨부 도면은 다양한 실시예를 예시할 것이다. 다음의 설명 및 도면은 본 발명을 예시하는 것이고, 본 발명을 제한하는 것으로 해석되지 않을 것이다. 수많은 특정 세부 사항이 본 발명의 다양한 실시예에 대한 총망라하는 이해를 제공하기 위해 설명되어 있다. 하지만, 특정한 경우에, 공지된 또는 종래의 세부 사항은 본 발명의 실시예에 대한 간결한 논의를 제공하도록 설명되어 있지 않다.
본 명세서에서 "일 실시예" 또는 "실시예"에 대한 참조는, 그 실시예와 관련하여 설명된 특정 특징(feature), 구조, 또는 특성이 본 발명의 적어도 일 실시예에 포함될 수 있다는 것을 의미한다. 본 명세서의 다양한 위치에서 "일 실시예에서"라는 구절의 출현은 모두 반드시 동일한 실시예를 지칭하는 것은 아니다. 다음의 도면들에 도시된 프로세스는 하드웨어(예를 들어, 회로부, 전용 로직 등), 소프트웨어, 또는 이들의 조합을 포함하는 처리 로직에 의해 수행된다. 프로세스가 일부 순차적인 동작의 관점에서 아래에 설명되어 있더라도, 설명된 동작 중 일부는 상이한 순서로 수행될 수 있음이 이해되어야 한다. 또한, 일부 동작은 순차적으로 실행되기 보다는 병렬로 수행될 수 있다.
본 명세서에 설명된 바와 같이, 용어 "PDF"는 확률 분포 함수를 지칭한다. "CDF"는 누적 분포 함수(cumulative distribution function)를 지칭한다. SDR 또는 HDR 히스토그램은 각각 하나 이상의 SDR 또는 HDR 이미지에서의 코드워드들의 분포에 기초하여 구성될 수 있고, 히스토그램은 PDF를 나타낼 수 있다. "코드워드"는 컬러 화소 또는 그레이스케일 화소를 나타내는 일련의 비트 정보(sequence of bit information)를 지칭한다. 예를 들어, '00000000'는 8-비트 코드워드에 대한 화소 컬러 블랙을 나타낼 수 있다. "코드워드 빈(Codeword bin)" 또는 "빈(bin)"은 사전 정의된 시퀀스(predefined sequence) 또는 코드워드들의 세트(set of codewords)에서 특정 코드워드를 지칭한다. 본 명세서에 사용되는 바와 같이, 용어 "PQ"는 지각적 휘도 진폭 양자화(perceptual luminance amplitude quantization)를 지칭한다. 인간 시각 체계는 증가하는 광 레벨에 매우 비선형 방식으로 반응한다. 자극을 볼 수 있는 인간의 능력은 그 자극의 휘도, 자극의 크기, 자극을 구성하는 공간 주파수, 및 자극을 보고 있는 특정 순간에 눈이 적응한 휘도 레벨에 의해 영향을 받는다. 일 실시예에서, 지각적 양자화기 함수(perceptual quantizer function)는 선형 입력 그레이 레벨을 인간 시각 체계에서의 콘트라스트 감도 임계값과 더 잘 부합하는 출력 그레이 레벨에 매핑한다. 예시적인 PQ 매핑 함수는, 그 전문이 참조로서 본 명세서에 포함되는, SMPTE ST 2084:2014 "마스터링 참조 디스플레이의 높은 동적 범위 EOTF(High Dynamic Range EOTF of Mastering Reference Displays)"에 설명되어 있으며, 여기서 고정된 자극 크기가 주어지면, 모든 휘도 레벨(즉, 자극 레벨)에 대해, (HVS 모델에 따른) 가장 민감한 적응 레벨(adaptation level) 및 가장 민감한 공간 주파수에 따라 해당 휘도 레벨에서의 최소 가시 콘트라스트 스텝(minimum visible contrast step)이 선택된다. 실제 음극선관(CRT) 디바이스의 반응 곡선을 나타내고 동시에 인간 시각 체계가 반응하는 방식과 매우 개략적 유사점(very rough similarity)을 가질 수 있는 전통적인 감마 곡선과 비교하여, PQ 곡선은 비교적 간단한 함수 모델(functional model)을 사용하여 인간 시각 체계의 실제 시각 반응(true visual response)을 모방한다.
예를 들어, SMPTE ST 2084 하에서, 1 cd/m2에서, 하나의 12-비트 코드 값 또는 코드워드가 대략 0.0048 cd/m2의 상대적 변화에 대응하지만; 1,000 cd/m2에서, 하나의 12-비트 코드 값 또는 코드워드는 대략 2.24 cd/m2의 상대적 변화에 대응한다. 이런 비선형 양자화는 인간 시각 체계(HVS)의 비-선형 콘트라스트 감도를 수용하기 위해 필요로 된다.
일부 실시예에 따르면, 루마 및 크로마 성분에 대해 SDR-대-HDR 변환 매핑을 지정하는 메타데이터를 생성하기 위한 선형 인코더가 개시된다. 일 실시예에서, 시스템은 입력 비디오 스트림을 수신한다. 시스템은, 입력 비디오 스트림의 연속적인 부분들의 제1 세트에 대한 통계 데이터를 시간 경과에 따라, 제1 버퍼에, 저장하고, 제1 버퍼는, 각각의 연속적인 부분에 대해, 콘텐츠의 한 장면의 종료 및 콘텐츠의 다음 장면의 시작을 나타내는 데이터와 같은 장면 컷 데이터를 나타내는 출력을 제공한다. 시스템은, 입력 비디오 스트림의 연속적인 부분들의 제2 세트에 대한 통계 데이터를 시간 경과에 따라, 제2 버퍼에, 저장하고, 제2 버퍼는 제1 버퍼로부터 제공되는 각각의 출력을 수신하고, 제2 버퍼는, 각각의 연속적인 부분에 대해, 휘도 매핑 값을 나타내는 출력을 제공한다. 시스템은, 입력 비디오 스트림의 연속적인 부분들의 제3 세트에 대한 통계 데이터를 시간 경과에 따라, 제3 버퍼에, 저장하고, 제3 버퍼는 제2 버퍼로부터 제공되는 각각의 출력을 수신하고, 제3 버퍼는, 각각의 연속적인 부분에 대해, 크로마 매핑 값을 나타내는 출력을 제공한다. 시스템은, 관련 휘도 매핑 값 및 관련 크로마 매핑 값에 기초하여 입력 비디오 스트림의 제1 이미지에 대한 메타데이터를 생성하고, 메타데이터는 제1 이미지에 기초하지만 제1 이미지보다 더 높은 동적 범위를 갖는 제2 이미지를 생성하기 위해 타겟 디스플레이에 의해 사용된다.
일부 실시예에 따르면, EDR 참조를 갖는 루마 및 크로마 성분에 대해 SDR-대-HDR 변환 매핑을 지정하는 메타데이터를 생성하기 위한 선형 인코더가 개시된다. 일 실시예에서, 시스템은 제1 이미지를 포함하는 제1 동적 범위의 이미지들을 포함하는 입력 비디오 스트림을 수신한다. 시스템은 입력 비디오 스트림의 제1 이미지를 나타내는 제2 동적 범위를 갖는 제2 이미지를 수신하고, 제2 동적 범위는 제1 동적 범위보다 더 높다. 시스템은 제1 및 제2 이미지에 대한 통계 데이터를 획득한다. 시스템은, 제1 시간 지연에서, 입력 비디오 스트림에서 이미지들을 나타내는 데이터로부터 장면 컷 데이터를 결정하고 장면 컷 데이터를 제1 슬라이딩 윈도우에 저장하며, 장면 컷 데이터는 제1 이미지의 통계 데이터, 입력 비디오 스트림의 시간 내에서 제1 이미지 이후의 하나 이상의 미리 보기 이미지의 통계 데이터, 및 입력 비디오 스트림의 시간 내에서 제1 이미지 시간 이전의 하나 이상의 되돌아 보기 이미지의 통계 데이터에 기초하여 결정된다. 시스템은, 제2 시간 지연에서, 제2 슬라이딩 윈도우 및 결정된 장면 컷 데이터에 기초하여 제1 동적 범위에서 제2 동적 범위로 제1 이미지에 대한 휘도 값들을 매핑하기 위한 제1 매핑 함수를 결정한다. 시스템은, 제3 시간 지연에서, 제3 슬라이딩 윈도우 및 결정된 장면 컷 데이터에 기초하여, 제1 동적 범위에서 제2 동적 범위로 제1 이미지에 대한 크로마 값들을 매핑하기 위한 제2 매핑 함수를 결정한다. 시스템은, 제3 시간 지연에서, 제1 및 제2 매핑 함수에 기초하여 제1 이미지에 대한 합성기 메타데이터를 생성하고, 여기서 생성된 합성기 메타데이터는 디스플레이를 위해 제1 동적 범위에서 제2 동적 범위로 제1 이미지를 매핑하기 위해 타겟 디스플레이 디바이스에 의해 사용된다.
일부 실시예에 따르면, 3차원(3D) 매핑 통계를 사용하여 루마 및 크로마 성분에 대해 SDR-대-HDR 변환 매핑을 지정하는 메타데이터를 생성하기 위한 선형 인코더가 개시된다. 일 실시예에서, 시스템은, 제1 동적 범위의 제1 이미지를 포함하는, 이미지들의 세트를 갖는 입력 비디오 스트림을 수신한다. 시스템은 제1 동적 범위의 제1 이미지, 및 제1 이미지에 대응하는 제2 동적 범위의 제2 이미지에 대한 3D 매핑 통계를 생성하고, 여기서 제2 동적 범위는 제1 동적 범위보다 더 높다. 시스템은, 제1 이미지에 기초하여 제2 이미지의 크로마 채널 값들을 추정하는 크로마 매핑 함수들을 생성하기 위해, 3D 매핑 통계에 기초하여 다변량 다중 회귀(multivariate multiple regression; MMR) 통계를 결정한다. 본 시스템은 합성기 메타데이터를 생성하고, 여기서 합성기 메타데이터는 디스플레이를 위해 제1 동적 범위에서 제2 동적 범위로 제1 이미지의 크로마 채널들을 매핑하기 위해 타겟 디스플레이 디바이스에 의해 사용될 크로마 매핑 함수들을 포함할 수 있다.
일부 실시예에 따르면, EDR 참조를 갖지 않는 루마 및 크로마 성분에 대해 SDR-대-HDR 변환 매핑을 지정하는 메타데이터를 생성하기 위한 선형 인코더가 개시된다. 일 실시예에서, 시스템은 제1 이미지를 포함하는 제1 동적 범위의 이미지들을 포함하는 입력 비디오 스트림을 수신한다. 시스템은 입력 비디오 스트림의 제1 이미지에 대한 통계 데이터를 획득하고, 여기서 통계 데이터는 제1 이미지로부터 하나 이상의 이미지 관련 특징(one or more image-related features)을 포함한다. 시스템은, 제1 시간 지연에서, 입력 비디오 스트림에서 이미지들을 나타내는 데이터로부터 장면 컷 데이터를 결정하고, 제1 이미지의 통계 데이터, 입력 비디오 스트림의 시간 내에서 제1 이미지 이후의 하나 이상의 미리 보기 이미지의 통계 데이터, 및 입력 비디오 스트림의 시간 내에서 제1 이미지 이전의 하나 이상의 되돌아 보기 이미지의 통계 데이터에 기초하는 장면 컷 데이터를 제1 슬라이딩 윈도우에 저장한다. 시스템은, 제2 시간 지연에서, 제2 슬라이딩 윈도우 및 기계 학습 모델에 기초하여 제1 동적 범위에서 제2 동적 범위로 제1 이미지에 대한 휘도 값들을 매핑하기 위한 제1 매핑 함수를 결정하고, 여기서 제2 동적 범위는 제1 동적 범위보다 더 높다. 시스템은, 제3 시간 지연에서, 제1 및 제2 매핑 함수에 기초하여 제1 이미지에 대한 합성기 메타데이터를 생성하고, 여기서 제2 매핑 함수는 기계 학습 모델에 기초하여 제1 동적 범위에서 제2 동적 범위로 제1 이미지에 대한 크로마 컬러 채널들을 매핑하고, 여기서 생성된 합성기 메타데이터는 제2 동적 범위의 제1 이미지에 대응하는 제2 이미지를 표시하기 위해 타겟 디스플레이 디바이스에 의해 사용된다.
본 명세서에서 사용되는 바와 같이, 용어 "재성형"은, HDR 이미지의 그의 원래의 비트 심도에서 더 낮은 또는 동일한 비트 심도의 이미지로 매핑하기 위한, 크기 조정, 양자화 등과 같은 해당 이미지에 대한 전처리 동작을 지칭하고, 이는 기존의 코딩 표준 및 디바이스를 사용하여 더 효율적인 코딩을 허용한다. "백워드 재성형"은 SDR에서 HDR로의 매핑 또는 전처리 동작을 설명하기 위해 사용된다. 본 발명자들에 의해 이해되는 바와 같이, 매우 다양한 SDR 및 HDR 디스플레이 및/또는 디코더 디바이스의 디스플레이 능력을 지원하기 위해 사용될 수 있는 비디오 데이터를 인코딩 및 디코딩하기 위한 향상된 기법이 요망된다.
예시적인 비디오 전달 처리 파이프라인
직렬 디지털 인터페이스(Serial Digital Interface; SDI)와 같은 비디오 전달을 위한 대부분의 디지털 인터페이스는 현재 성분 당 화소 당 12-비트로 제한된다. 또한, H. 264 (또는 AVC) 및 H. 265 (또는 HEVC)와 같은 압축 표준의 대부분의 실제 구현은 현재 성분 당 화소 당 10 비트로 제한된다. 기존의 하부구조 및 압축 표준 내에서 대략 0.001부터 10,000 cd/m2 (또는 니트)까지의 동적 범위로 HDR 콘텐츠를 지원하기 위해 효율적인 인코딩 및/또는 양자화가 요구된다. 또한, SDR 콘텐츠를 HDR 콘텐츠로 변환하기 위해, 각각의 프레임에 대해, 즉시(on-the-fly), 메타데이터를 생성할 인코더가 필요하다.
도 1은 실시예에 따른 루마 및 크로마 재성형을 이용한 데이터 인코딩 및 디코딩을 위한 예시적인 프로세스(100)를 도시한다. 일 실시예에서, 인코더(100-E)에서, 비디오 시퀀스는 높은 동적 범위(EDR)(102)와 표준 동적 범위 (SDR)(104) 포맷으로 이용 가능할 수 있다. 입력(102)은 특정 EOTF(예를 들어, 감마, ST 2084)에 따라 코딩될 수 있다. 실시예에서, EDR 시퀀스(본 명세서에서 iDM EDR으로도 지칭됨)는 역방향 매핑 프로세스(iDM)(140)를 사용하여 SDR 시퀀스에 기초하여 생성될 수 있다.
입력 EDR 및 SDR 신호가 주어지면, 루마 재성형(105-A) 및 크로마 재성형(105-B) 프로세스가 백워드 또는 역방향 재성형 함수(120)에 대한 매개변수(108)를 생성하기 위해 적용될 수 있다. 매개변수(108)는, 디코더에서 SDR 입력에 적용될 때, 디스플레이를 위한 HDR 출력을 생성할 수 있다.
재성형(105) 이후에, 원래의 입력 SDR 비디오 신호(104)는 스마트폰과 같은 휴대형 디바이스, 텔레비전 수상기, 셋톱 박스, 영화관 등과 같은 디코딩 및 재생 디바이스로 다운스트림 전송되도록 인코딩 블록(110)에 전달된다. 일부 실시예에서, 코딩 블록(110)은 코딩된 비트 스트림(112)을 생성하기 위해 ATSC, DVB, DVD, Blu-Ray 및 기타 전송 포맷에 의해 정의된 것들과 같은 오디오 및 비디오 인코더를 포함할 수 있다. 코딩된 데이터(112) 및 백워드 재성형 매개변수(108)는 코딩된 비트스트림 내로 다중화되어 다운스트림 디코딩 디바이스로 저장 또는 전달될 수 있다.
실시예에서, 백워드 재성형 매개변수(108)는 정적 예측 계수들 또는 동적(비-정적) 예측 계수들(예를 들어, 기계 학습 방법 등으로 생성됨)을 포함할 수 있다. 이런 예측 계수들은 SDR 이미지(104)의 대응하는 SDR 화소 값으로부터 HDR 이미지의 HDR 화소 값의 일부 또는 전부를 예측하기 위해 수신기(100-D)에 의해 (예를 들어, 역방향 재성형 함수(120)에 의해) 직접 사용될 수 있다.
수신기(100-D)에서, 코딩된 데이터(112)는, SDR 신호(104)의 일치하는 또는 근접한 근사치를 나타내는 디코딩된 신호(117)를 생성하기 위해, 디코딩 유닛(115)에 의해 디코딩될 수 있다.
백워드-호환 가능한 SDR 디코더에서, 디코딩된 신호(117)는 SDR 디스플레이(130)에 직접 표시될 수 있다. HDR 디코더에서, 디코딩(115)에 뒤이어, 디코딩된 신호(117)는 수신된 백워드 재성형 매개변수(108)를 사용하여 생성된 백워드 또는 역방향 재성형 함수(120)에 의해 처리될 수 있다. 역방향 재성형은, HDR 디스플레이(125) 상에 표시되기 위해, 수신된 SDR 신호(예를 들어, SDR 신호(117))를 (더 높은) 동적 범위 신호(102)의 근사치로 변환할 수 있다. 역방향 재성형은 개별 역방향 루마 재성형(120-A) 및 크로마 재성형(120-B) 함수를 포함할 수 있다. 재성형기(105)의 변환에 따라, 역방향 재성형 함수(120)는 또한, 역방향 톤-매핑(inverse tone-mapping), 컬러 변환 등과 같은, 추가적인 (역방향) 프로세스를 포함할 수 있다. 일부 실시예에서, 백워드 또는 역방향 재성형 함수(120)는, 예를 들어, AVC 또는 HEVC 비디오 디코더의 역양자화기의 일부로서, 디코더(115)의 역양자화기와 통합될 수 있다. 일부 실시예에서, 백워드 재성형 매개변수(108)에 대한 정보는 메타데이터, SEI 메시징 등을 사용하여 다운스트림 디바이스(예컨대, 디코더)에 전달될 수 있다.
루마 및 크로마 재성형 및 합성기 메타데이터
본 명세서에서 사용되는 바와 같이, 용어 "합성기 메타데이터(composer metadata)" (CM)는 EDR 데이터(122)의 재구성(합성)을 지원하기 위해 인코더(100-E)에서 디코더(100-D)로 전달되는 임의의 메타데이터를 나타낸다. 이러한 메타데이터는 디코더에서 역방향 또는 백워드 재성형(120)에 필요한 모든 백워드 재성형 매개변수(108)를 포함할 수 있다.
가 순방향 루마 재성형 함수를 나타낸다고 하고, 가 그의 역방향을 나타낸다고 하면, 이는 디코더 SDR 데이터(117)의 루마 성분에 적용될 때, 추정된 EDR 출력(122)의 루마 성분(122_L)을 생성할 수 있다. 실시예에서, 함수는 소구간별 함수(piece-wise function)로서 전달될 수 있다. 이러한 함수는 a) SDR 입력의 입력 코드워드들의 범위를 세그먼트들로 분할하는 피봇 포인트들의 세트, b) 각각의 세그먼트에서 다항식의 차수, 및 c) 각각의 세그먼트에서 다항식 계수들로 완전히 나타낼 수 있다.
일 실시예에서, 크로마 재성형은 다변량 다중 회귀(MMR) 예측기를 사용하여 수행될 수 있다. 이러한 MMR 예측기의 예시는 미국 특허 제8,811,490호에서 찾을 수 있고, 그 전문이 본 명세서에 참조로 포함된다. 이러한 예측기는, 디코딩된 SDR 데이터(117)에 적용될 때 추정된 EDR 출력의 크로마 성분(122_C)을 생성하는 백워드 재성형 행렬 M을 특징으로 한다.
따라서, 제한 없이, 실시예에서, 합성기 메타데이터(108)는 의 파라메트릭 표현 및 백워드 재성형 행렬 M을 포함할 수 있다. 합성기 메타데이터는 상이한 레벨의 시간 간격으로, 예컨대: 각각의 시퀀스에 대해, 각각의 장면에 대해, 각각의 프레임에 대해, 또는 프레임들의 클러스터 또는 그룹에 대해, 한 번, 업데이트될 수 있다.
일부 실시예에서, 생성기(105)는, 누적 분포 함수(CDF) 기반의 히스토그램 근사 또는 CDF 매칭에 의해, 메타데이터 또는 백워드 재성형 매개변수들을 생성한다. 이러한 CDF 매칭의 예시는 미국 가특허 출원 제62/385,307호, "세그먼트 기반의 재성형을 이용한 높은 동적 범위 비디오의 코딩(Coding of High Dynamic Range Video Using Segment-Based Reshaping)"에서 찾을 수 있고, 그 전문이 본 명세서에 참조로 포함된다.
일 실시예에서, 백워드 재성형 함수(또는 매개변수)는 백워드 재성형 참조표(backward reshaping lookup table; BLUT)를 포함한다. 일부 실시예에서, 백워드 재성형 데이터(예를 들어, 분석 함수, 비분석 함수, 참조표, 시퀀스 등)는 백워드 재성형 함수 를 정의하거나 지정하고, SDR 이미지와 함께 다운스트림 디바이스들에 전달되는 이미지 메타데이터의 일부로서 포함될 수 있다.
일부 실시예에서, 루마 채널에 대한 백워드 재성형 함수 를 나타내기 위해 소구간별 2차 다항식(second order piecewise polynomial)이 사용될 수 있다. 일부 실시예에서, 다항식의 소구간 세트를 정의하는 다항식 계수들, 피봇들, 오프셋들 등을 포함하는 백워드 재성형 메타데이터는, SDR 이미지와 함께 다운스트림 디바이스들에 전달되는 이미지 메타데이터의 일부로서 포함될 수 있다.
SDR 이미지 및 백워드 재성형 매개변수 또는 메타데이터를 수신한 다운스트림 디바이스는, (메타데이터가 장면 당 기초할 때는) 장면 당 기초하여(on a per scene basis) 또는 (메타데이터가 이미지 당 기초할 때는) 이미지 당 기초하여(on a per image basis) 백워드 재성형 함수를 결정하거나 재구성하기 위해 백워드 재성형 메타데이터를 사용할 수 있다. 그 다음, 백워드 재성형 함수는 HDR 이미지를 재구성하기 위해 SDR 이미지에 적용될 수 있다.
일 실시예에서, 각각의 컬러 채널(I, CT 또는 Cp)은 (단일-채널) 예측기에 의해 근사될 수 있다. 일 실시예에서, 각각의 단일-채널 예측기는 특정 컬러 채널에 대한 대응하는 역방향 매핑 함수로부터 도출될 수 있는 백워드 재성형 참조표(BLUT)에 대응한다. 역방향 매핑 함수 또는 백워드 재성형 함수는 도 1의 생성기(105)와 같은 백워드 재성형 함수 생성기에 의해 생성될 수 있다. 백워드 재성형 참조표 또는 매핑표는, SDR 코드워드를 HDR 코드워드에, 또는 그 반대로, 매핑하기 위해, SDR/HDR 쌍을 포함할 수 있다. 일 실시예에서, 메타데이터는, 그 메타데이터가 SDR 데이터와 함께 다운스트림 디코더로 전송될 수 있도록, 참조표 또는 매핑표에 기초하여 생성된다. 다운스트림 디코더는 메타데이터 및 대응하는 SDR 이미지로부터 HDR 이미지를 재구성할 수 있다. 또다른 실시예에서, 백워드 재성형 함수는 데이터베이스 내의 샘플 화상들의 각각의 컬러 채널에 대한 히스토그램을 집계(aggregating)함으로써 생성될 수 있다. 그 다음, 집계된 히스토그램은, 백워드 재성형 함수를 생성하기 위해 CDF 기반의 히스토그램 근사에 대한 입력 iDM 히스토그램으로 사용될 수 있다. 그 다음, 메타데이터는 이런 백워드 재성형 함수들로부터 생성될 수 있다. 메타데이터는 HDR 이미지를 재구성하기 위해 대응하는 SDR 이미지(들)에 적용될 수 있다.
선형 인코딩
도 2는 실시예에 따른 선형 인코딩을 위한 예시적인 프로세스를 도시한다. 선형 인코딩은 일정한 공급-입력 및 공급-출력을 갖는 인코딩을 지칭한다. 선형 인코더는, 그것이 입력 데이터를 수락할 때마다, 출력 데이터를 전달할 수 있다. 선형 인코더는, 시간 경과에 따라 전체 입력 데이터를 수락하고 전체 수신된 입력 데이터를 전체 데이터(whole data)에 대한 출력을 전송하기 위해 저장하고 처리하는, 코딩 시스템과는 상이하다. 일부 시나리오에서, 선형 인코더는 입력 프레임과 대응하는 출력 프레임 사이에 일정하지만 구성 가능한 지연을 포함한다. 예를 들어, 안정적인 동작 상태에서, 선형 인코더는 입력 이미지를 수락하고, 동시에 이전 시간 프레임으로부터 또다른 입력 이미지에 대한 RPU 메타데이터(예를 들어, 합성기 메타데이터 및 DM 메타데이터, 여기서 DM 메타데이터는 타겟 디스플레이에 특정한 정보를 포함함)를 출력한다. 일 실시예에서, 선형 인코더는 실시간 라이브(real-time live) 방송으로부터 실시간 입력 데이터 공급을 수신하고 지연된 출력을 제공할 수 있다.
선형 인코딩은, 디코더에서 SDR-대-HDR(또는 EDR) 변환하기 위한 참조 화상 유닛(reference picture unit; RPU) (예를 들어, 백워드 재성형 매개변수를 포함함) 메타데이터를 생성하기 위해, "즉시" 인코딩을 수행할 수 있다. 선형 인코더는 사전-저장된 또는 라이브 표준 동적 범위(SDR) 비디오 콘텐츠를 인코딩할 수 있다. 미래의 화상 정보가 이용 가능한 장면 기반의 또는 세그먼트 기반의 인코더와는 달리, 선형 인코더는 몇 개의 미리 보기 프레임을 가질 수 있을 뿐이다. RPU 생성은 선형 인코더에 의해 즉시 수행되고, RPU는, SDR 비트스트림이 수신기/디코더로 전송되기 전에, SDR 비트스트림과 혼합된다. 즉, 선형 인코더는 단일-패스(one-pass) 해결법일 수 있다.
도 3은 실시예에 따른 참조 EDR 이미지를 갖는 또는 갖지 않는 선형 인코딩을 위한 예시적인 프로세스를 도시한다. 프로세스(300)는 2가지 동작 모드를 포함한다. 일부 실시예에 따르면, 선형 인코더(303)는, "HDR 참조를 갖는" 모드 또는 "HDR 참조를 갖지 않는" 모드로 동작할 수 있고, 입력(301)이 HDR 참조 이미지를 포함하는지, 또는 입력(301)이 널(null) 입력인지에 따라 그의 동작 모드를 구성한다. "HDR 참조를 갖는" 모드의 경우, 입력 SDR 프레임들(또는 이미지들)(302) 및 그의 대응하는 참조 HDR 프레임들(301)이 다함께 출력 RPU 메타데이터(304)를 생성한다. 참조 HDR 콘텐츠(301)는 각각의 입력 SDR 프레임에 대해 사전-생성되거나, 또는 예컨대, 외부의 역방향 DM (EiDM) 모듈을 사용하는 것과 같이, 즉시 생성될 수 있다. 생성된 출력 RPU 메타데이터(304)는 SDR 입력(302)의 루마 및 크로마 성분을 HDR 콘텐츠(301)에 매핑하기 위한 동적 매핑 매개변수를 포함할 수 있다.
"HDR 참조를 갖지 않는" 모드의 경우, 입력 SDR 프레임(또는 이미지)(302)만이 출력 RPU 메타데이터(304)를 생성하기 위해 사용된다. 생성된 출력 RPU 메타데이터(304)는 루마 성분을 매핑하기 위한 동적 매핑 매개변수 및 SDR 입력(302)의 크로마 성분을 HDR 콘텐츠(301)에 매핑하기 위한 정적 매핑 매개변수를 포함할 수 있다. 일부 실시예에서, 출력 RPU 메타데이터(304)는 특정 타겟 디스플레이를 위한 HDR 콘텐츠를 표시하기 위해 디코더에 의해 해석될 수 있는 디스플레이 관리(display management; DM) 메타데이터를 포함할 수 있다.
선형 인코딩 아키텍처
도 4는 실시예에 따른 선형 인코딩을 위한 3 레벨 슬라이딩 윈도우 프레임워크에 대한 예시적인 아키텍처를 도시한다. 아키텍처(400)는 "HDR 참조를 갖는" 모드와 "HDR 참조를 갖지 않는" 모드에 의해 사용될 수 있다. 일부 실시예에서, 아키텍처(400)는 도 4에 도시된 바와 같이, L1, L2 및 L3 윈도우와 같은 하나 이상의 레벨의 슬라이딩 윈도우 구조를 포함한다. 슬라이딩 윈도우 구조는 SDR/HDR 입력 프레임들(또는 이미지들)에 대한 프레임-레벨 통계를 저장하기 위해 링 버퍼(또는 큐) 데이터 저장소에 의해 구현될 수 있다. 일 실시예에서, 신규 데이터가 슬라이딩 윈도우의 임의의 메모리 버퍼에 삽입될 때, 슬라이딩 윈도우의 메모리 버퍼에서 가장 오래된 데이터가 교체된다. 슬라이딩 윈도우들의 각각의 데이터는 다음 레벨의 슬라이딩 윈도우에 대한 통계 데이터를 계산하기 위해 다음 레벨의 슬라이딩 윈도우로 전달될 수 있다. 예를 들어, 도 4를 참조하여, 아키텍처(400)는 L1, L2 및 L3 윈도우를 포함한다. 아키텍처(400)가 시간 t에서 신규 입력 프레임(예를 들어, 현재의 입력 프레임)을 수신할 때, 시간 t-t3에서의(여기서 t3은 L3 윈도우와 연관된 지연을 나타냄) 프레임에 대해, L3 프레임-레벨 통계가, 평균화 동작 또는 가중화된 선형/비선형 동작과 같은 슬라이딩 윈도우 동작을 이용하여, 계산된다. 출력은, L2 윈도우에 대한 시간 t-t3에서의 통계 데이터(예를 들어, L2 윈도우에 대한 입력)로서 사용될 것이다.
L3 윈도우로부터의 출력이 L2 윈도우 내에 삽입된다. 시간 t-t2-t3에서(여기서, t2 L2 윈도우와 연관된 지연을 나타냄) L2 프레임-레벨 통계가, 삽입된 L3 출력 데이터에 기초하여 계산된다. L2 윈도우의 출력은 L1 윈도우에 대한 시간 t-t2-t3에서의 통계 데이터(예를 들어, L1 윈도우에 대한 입력)로서 사용될 것이다.
L2 윈도우로부터의 출력이 L1 윈도우 내에 삽입된다. 시간 t-t1-t2-t3에서(여기서, t1은 L1 윈도우와 연관된 지연을 나타냄) L1 프레임-레벨 통계가, 삽입된 L2 윈도우 데이터에 기초하여 계산된다. 출력은, 시간 t-t1-t2-t3에서 대표적인 통계 데이터(예를 들어, 최종 출력 데이터)로서 사용될 것이다. 출력 데이터는 이런 3-레벨 윈도우 아키텍처에 기초하여 t1+t2+t3의 총 대기시간 지연을 가질 것이다. 전술된 바와 같이, L1, L2 및 L3 윈도우는, 신규 데이터가 임의의 윈도우 내에 삽입될 때 윈도우로부터 가장 오래된 데이터가 교체되거나 폐기되도록(retired), 링 버퍼일 수 있다. 이러한 방식으로, 각각의 버퍼는 입력 비디오 스트림의 연속적인 부분들에 대한 통계 데이터를 시간 경과에 따라 저장하고, 연속적인 부분들에 기초하여, 다음 버퍼에 출력을 제공하여서 어느 정도 시간 후에 최종 출력 데이터를 생성한다.
도 5a는 실시예에 따른 도 4의 3-레벨 슬라이딩 윈도우 프레임워크에 대한 예시적인 프로세스를 도시한다. 프로세스(500)는 도 3의 인코더(303)와 같은 선형 인코더에 의해 수행될 수 있다. 프로세스(500) 또는 처리 로직은, HDR 참조를 갖는 또는 갖지 않는 경우, 단일-프레임-입력(one-frame-in) 단일-프레임-출력(one-frame-out) 방식으로, SDR 프레임으로부터 RPU(합성기 및 DM) 메타데이터를, 즉시, 생성할 수 있다. 일 실시예에서, 처리 로직은 프레임 처리를 위해 4 단계를 포함한다. 단계 1에서, 처리 로직은 시간 t에서 현재의 입력 프레임(501)의 통계를 통계 링 버퍼(502)에 모은다. 통계 링 버퍼(502)는 이전 프레임들의 리스트(list of prior frames)에 대한 통계 데이터를 저장할 수 있다. 단계 2에서, 처리 로직은, 저장된 통계 데이터를 사용하여 시간 = 에서의 프레임인 제1 프레임이 신규 장면을 포함하는지를 식별하는 장면 컷 데이터를 결정한다. 처리 로직은 L3 윈도우(503)를 사용하여 장면 컷 데이터를 결정할 수 있다. L3 윈도우(503)는, 시간 = 에서의 제1 프레임, "미리 보기" 프레임들로서 프레임들, 및 "되돌아 보기" 프레임으로서 프레임들에 대응할 수 있다. 장면 컷 데이터는, 추가 프레임 처리(further frame processing)를 위해 L2 및 L1 윈도우와 같은 후속 윈도우에 의해 사용될 수 있다.
단계 3에서, 처리 로직은 제2 프레임(시간 = 에서의 프레임)에 대한 루마 채널에 대해 BLUT를 생성하기 위해 CDF 매칭 동작을 수행한다. 추가적으로, L2 윈도우(504)를 사용하여 제2 프레임(시간 = 에서의 프레임)에 대응하여 생성된 BLUT에 대해 평활화 동작이 수행된다. L2 윈도우(504)는 제2 프레임(시간 = ), "미리 보기" 프레임들로서 프레임들, 및 "되돌아 보기" 프레임으로서 프레임들에 대응할 수 있다. 처리 로직은, 생성된 BLUT가 L1 윈도우에 대한 통계 데이터(예를 들어, L1 윈도우에 대한 입력)로서 사용되기 전에, L2 평활화 범위(예를 들어, L2 윈도우에 대응하는 프레임들의 서브셋)의 생성된 BLUT에 대해 평활화 동작을 수행한다.
단계 4에서, 처리 로직은 L1 윈도우(505)를 사용하여 제3 프레임(시간 = )에 대응하여 이전에 생성된 BLUT에 대해 평활화 동작을 수행할 수 있다. L1 윈도우(505)는 제3 프레임(시간 = ), "미리 보기" 프레임들로서 프레임들, 및 "되돌아 보기" 프레임들로서 프레임들에 대응할 수 있다. 처리 로직은, 소구간별 다항식(approximate piecewise polynomials)에 근사시키기 위해 평활화된 BLUT를 변환하기 전에 L1 평활화 범위(예를 들어, L1 윈도우에 대응하는 프레임들의 서브셋)의 이전에 생성된 BLUT에 대해 평활화 동작을 수행할 수 있다. 추가적으로, 처리 로직은 제3 프레임(시간 = )의 크로마 성분들을 SDR에서 HDR로 매핑하기 위해 MMR 계수들을 해석한다(solve). 그 다음, 루마 채널에 대한 평활화된 BLUT와 함께 크로마 채널에 대한 MMR 계수들은 다함께, 현재의 출력 결과, 예를 들어, 제3 프레임(시간 = )에 대응하는 출력 RPU 메타데이터(506)의 출력 결과를 생성하는 데에 사용된다.
전술된 바와 같이, 각각의 레벨의 동작은 다음 레벨에 대한 중간 출력(intermediate output)을 생성하기 위해 프레임 범위(range of frames)로부터 통계 데이터를 사용하는 슬라이딩 윈도우를 포함한다. 예를 들어, L3 슬라이딩 윈도우는 후속 L2 슬라이딩 윈도우에 대한 출력을 생성하기 위해 제1 프레임 및 그의 이웃하는 프레임들에 대한 통계 데이터를 사용할 수 있다. L2 슬라이딩 윈도우는 후속 L1 슬라이딩 윈도우에 대한 출력을 생성하기 위해 제2 프레임 및 그의 이웃하는 프레임들로부터의 통계 데이터를 사용할 수 있다. L1 슬라이딩 윈도우는 출력 RPU 메타데이터를 생성하기 위해 제3 프레임 및 그의 이웃하는 프레임들로부터의 통계 데이터를 사용할 수 있다. 시간 내의 임의의 인스턴스에서, 처리 로직은 이전에 저장된 프레임에 대한 RPU 메타데이터를 생성하는 동시에 현재의 입력 프레임을 수신할 수 있다. 그 다음, 현재의 입력 프레임에 대한 RPU 메타데이터가 후속 처리 주기(subsequent processing cycles)로 처리될 것이다. 이러한 방식으로, 입력 프레임들이 하나의-입력 하나의-출력 방식으로 처리될 수 있다. 하지만, 현재의 입력 프레임을 처리하기 위해 일정한 지연(각각의 레벨로부터 "미리 보기" 프레임들의 총 개수와 동일함)이 있게 되는데, 그 이유는 현재의 입력 프레임에 대한 출력 RPU 메타데이터를 생성하기 전에 어느 정도 미래의 프레임들이 처리될 필요가 있기 때문이다. 도 5b는 실시예에 따른 도 4의 3-레벨 슬라이딩 윈도우 프레임워크에 대한 예시적인 프로세스를 도시한다. 도 5b를 참조하여, 프로세스(550)는 L1, L2 및 L3 슬라이딩 윈도우에 대한 "미리 보기" 프레임들에 대한 지연에 대응하는 총 지연을 가진다. 즉, 현재의 프레임에 대한 메타데이터를 생성하기 전에 이런 미래의 프레임들이 처리될 필요가 있기 때문에, 지연은 "미리 보기" 프레임들에 의해서만 도입된다.
도 6은 실시예에 따른 도 5a의 3-레벨 슬라이딩 윈도우 프레임워크에 대한 예시적인 링 버퍼 구조를 도시한다. 링 버퍼 구조(600)는 일련의 입력 프레임에 대한 즉시 통계를 유지하기 위해, 전술한 바와 같이 통계 윈도우(601) 및 L3, L2 및 L1 슬라이딩 윈도우(602 내지 604)의 세 레벨을 포함할 수 있다. 일부 실시예에서, 윈도우들은 링 메모리 버퍼들이다. 이런 버퍼들은, 더 오래된 프레임 데이터에 할당된 메모리가 재사용되거나 데이터가 각각의 처리 주기 후에 교체되도록, 일정한 크기를 가질 수 있다. 버퍼들은, 개념적으로 선입 선출(first-in-first-out; FIFO) 큐와 유사하고, 신규 통계가 버퍼에서 가장 오래된 통계를 교체하도록, 링 방식으로 업데이트되도록 설계될 수 있다. 하지만, 버퍼 오버 플로우(buffer overflow)를 회피하기 위해서는 버퍼 길이를 사전 결정할 필요가 있다.
L3, L2 및 L1 윈도우(602 내지 604)에 대한 그의 링 버퍼 길이(또는 크기)는 각각의 윈도우의 두 종점(end point) 사이의 차일 수 있다. L3, L2 및 L1 윈도우(602 내지 604)에 대한 최소 버퍼 길이는 장면 검출을 위한 평활화 범위 요건 및/또는 최소 길이 프레임 요건에 기초하여 사전 결정될 수 있다.
통계 윈도우(또는 통계 링 버퍼)( 로 나타냄)(601)의 최소 길이(또는 크기)는 각각의 윈도우의 다수의 미리 보기 및 되돌아 보기 프레임들의 함수, 예를 들어, (여기서 및 는 L1, L2 및 L3 윈도우에 대한 되돌아 보기 및 미리 보기 길이를 각각 나타냄)로 계산될 수 있다. 도 6을 참조하여, 일 실시예에서, 통계 링 버퍼(601)의 최소 길이가:
여기서, 하나의 추가적인 공간이 링 버퍼 길이에 할당되어 일부 통계의 누적 합계를 저장한다. 또한, 이런 데이터는, 링 방식으로, 즉 가장 오래된 값을 신규 값으로 교체함으로써 저장되기 때문에, 모듈로(modulo) 수학이 통계 링 버퍼 또는 슬라이딩 윈도우 링 버퍼들에서 특정 프레임 통계의 위치를 결정하기 위해 사용될 수 있다. 일부 실시예에서, 통계 링 버퍼(601) 및 L3, L2 및 L1 윈도우 링 버퍼(602 내지 604)는 원형 리스트(circular list), 컬렉션(collection), 클래스 객체(class object) 및/또는 랩-어라운드 카운터(wrap-around counter)일 수 있다.
도 7은 하나 이상의 실시예에 따른 방법을 도시하는 흐름도이다. 방법 및 프로세스(700)가 소프트웨어, 하드웨어, 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 예를 들어, 프로세스(700)는 도 3의 인코더(303)에 의해 수행될 수 있다. 도 7을 참조하여, 블록(701)에서, 처리 로직은 입력 비디오 스트림을 수신한다. 블록(702)에서, 처리 로직은, 입력 비디오 스트림의 연속적인 부분들의 제1 세트에 대한 통계 데이터를 시간 경과에 따라, 제1 버퍼에, 저장하고, 제1 버퍼는, 각각의 연속적인 부분에 대해, 장면 컷 데이터를 나타내는 출력을 제공한다. 블록(703)에서, 처리 로직은, 입력 비디오 스트림의 연속적인 부분들의 제2 세트에 대한 통계 데이터를 시간 경과에 따라, 제2 버퍼에, 저장하고, 제2 버퍼는 제1 버퍼로부터 제공되는 각각의 출력을 수신하고, 제2 버퍼는, 각각의 연속적인 부분에 대해, 휘도 매핑 값을 나타내는 출력을 제공한다. 블록(704)에서, 처리 로직은, 입력 비디오 스트림의 연속적인 부분들의 제3 세트에 대한 통계 데이터를 시간 경과에 따라, 제3 버퍼에, 저장하고, 제3 버퍼는 제2 버퍼로부터 제공되는 각각의 출력을 수신하고, 제3 버퍼는, 각각의 연속적인 부분에 대해, 크로마 매핑 값 및 평활화 휘도 매핑 값을 나타내는 출력을 제공한다. 블록(705)에서, 처리 로직은, 관련 평활화 휘도 매핑 값 및 관련 크로마 매핑 값에 기초하여 입력 비디오 스트림의 제1 이미지에 대한 메타데이터를 생성하고, 메타데이터는 제1 이미지에 기초하지만 제1 이미지보다 더 높은 동적 범위를 갖는 제2 이미지를 생성하기 위해 타겟 디스플레이에 의해 사용된다. 일부 실시예에서, 비일시적, 기계 판독 가능한 매체는, 디스플레이 관리 시스템에 의해 실행될 때, 해당 시스템으로 하여금 방법(700)에서와 같은 방법을 수행하게 하는 명령어들을 저장한다. 일부 실시예에서, 디스플레이 관리 시스템은 방법(700)에서와 같은 방법을 수행하도록 구성되는 처리 시스템 및 메모리를 포함한다.
참조 EDR를 갖는 경우
도 8은 실시예에 따른 참조 EDR을 갖는 예시적인 인코더에 대한 블록도를 도시한다. 인코더(800)는 도 3의 인코더(303)와 같은 인코더일 수 있다. 인코더(800)는, HDR 참조를 갖는, 하나의-프레임 입력 하나의-프레임-출력 방식으로, 비디오 스트림의 SDR 프레임들로부터 RPU(합성기 및 DM) 메타데이터를, 즉시, 생성할 수 있다. 일 실시예에서, 인코더(800)는 EiDM(803), 통계 수집(804), 장면 컷 검출(L3)(805), 루마 BLUT 생성(L2)(806), 루마 BLUT 평활화(L1)(807), 다항식 근사(L1)(808), 및 크로마 추정(L1)(809)과 같은 모듈(module)을 포함한다. EiDM(803)은 SDR 입력 프레임(801)을 사용하여 즉시 HDR 참조 프레임(802)을 생성할 수 있다. 통계 수집(804)은 SDR 및 HDR 프레임(801 및 802)에 대한 통계를 모을 수 있다. 장면 컷 검출(L3)(805)은 입력 SDR 프레임에서 신규 장면을 식별하는 장면 컷 데이터를 결정할 수 있다. 루마 BLUT 생성(L2)(806)은 입력 SDR 프레임들의 루마 성분을 HDR 프레임들에 매핑하기 위해 루마 재성형 함수를 생성할 수 있다. 루마 BLUT 평활화(L1)(807)는 생성된 루마 재성형 함수에 평활화 알고리즘을 적용할 수 있다. 다항식 근사(L1)(808)는 루마 재성형 함수를 다항식 함수로 근사할 수 있으므로, 루마 재성형 함수가 데이터 저장 및/또는 데이터 전송을 감소시키기 위해 다항식 계수들로 감소될 수 있다. 크로마 MMR 추정(L1)(809)은 입력 SDR 프레임들의 크로마 성분을 HDR 프레임들에 매핑하기 위해 크로마 재성형 함수를 생성할 수 있다. 루마 및 크로마 재성형 함수는 출력 RPU 메타데이터(810)를 생성하는 데에 사용될 수 있다.
일부 실시예에서, 인코더(800)는 4 단계로 출력 RPU 메타데이터(810)를 생성한다. 각각의 단계는, 다음 슬라이딩 윈도우에 대한 중간 출력을 생성하기 위해 도 5의 통계 윈도우(502), L3, L2 및 L1 슬라이딩 윈도우(503, 504 및 505)와 같은 하나 이상의 슬라이딩 윈도우를 사용할 수 있다.
시간 = t에서 는 SDR 프레임이라고 하고, 는 그의 iDM 참조 HDR 프레임이라고 한다. , , 및 는 각각 에 대한 Y, Cb 및 Cr 채널의 제i 화소 값이라고 한다. , , 및 는 각각 에 대한 Y, Cb 및 Cr 채널의 제i 화소 값이라고 한다. 단계 1에서, 참조 EiDM(803)은 참조 EDR 프레임(802)을 즉시 생성한다. 일 실시예에서, EiDM(803)은 외부 역방향 DM(EiDM) 모듈이다. 일 실시예에서, 참조 EDR 프레임(802)은 각각의 입력 SDR 프레임에 대해 사전-생성된다. 시간 = t에서 (SDR 프레임(801)의 일부로서의) 입력 SDR 프레임을 참조하여, 통계 수집(804)은 입력 SDR 프레임 및 그의 대응하는 참조 EDR 프레임(참조 EDR 프레임(802)의 일부로서)에 대한 통계를 수집하거나 모으고, 이런 통계를 도 5a의 통계 링 버퍼(502)와 같은 통계 링 버퍼에 저장한다. 통계 수집(804)은 장면 컷 통계, 루마 최소 및 최대 통계, 루마 히스토그램 통계, 및 입력 SDR 프레임 및/또는 참조 HDR에 대한 크로마 MMR 통계를 포함하지만, 이에 제한되지 않는 통계를 모은다. 장면 컷 통계는 비디오 스트림의 SDR 프레임에서 신규 장면을 검출한다. 루마 최소 및 최대 통계 및 루마 히스토그램 통계는 루마 재성형 함수를 추정하고 생성하기 위해 사용된다. 크로마 MMR 통계는 크로마 재성형 함수를 추정하고 생성하기 위해 사용된다.
루마 히스토그램 통계는 루마 재성형 함수를 생성하기 위한 누적 분포 함수(CDF) 매칭 알고리즘에 대한 입력으로 루마 히스토그램을 포함하고, 이는 2016년 10월 5일자로 출원되고 그 전문이 본 명세서에 참조로 포함된 "히스토그램 전송 및 근사를 갖는 역방향 루마-크로마 매핑(Inverse Luma-Chroma Mappings with Histogram Transfer and Approximation)"이라는 제목의 미국 가출원 제62/404,307호와, 2018년 1월 16일자로 출원되고 그 전문이 본 명세서에 참조로 포함된 "높은 동적 범위 비디오 코딩을 위한 세그먼트 기반의 재성형"이라는 제목의 PCT/US2018/013904에 설명되어 있다. CDF 매칭 알고리즘은 루마 재성형 함수를 생성하기 위해 후속 단계에서 수행될 수 있다.
일 실시예에서, 계산 부하를 감소시키기 위해, 통계 수집(804)은 입력 SDR 프레임의 SDR 코드워드를 동일한 간격 w b (예를 들어, 16-비트 입력 데이터에 대해, w b = 65,536/M)을 갖는 M 개의 비중첩 빈(non-overlapping bins)(예를 들어, M = 16, 32 또는 64)으로 분할하여, 정규화된 동적 범위(예를 들어, (0,1])를 커버할 수 있다. SDR 및 EDR에서 빈 수(number of bins)를 각각 M s 및 M v 로 나타내고, 대응하는 빈 간격(bin interval)을 각각 w bS 및 w bV 로 나타낸다. 또다른 실시예에서, 계산 부하를 더 감소시키기 위해, SDR/HDR 히스토그램은 누적 방식(예를 들어, , )으로 저장되어, 각각의 빈은 이전 시간 프레임 또는 처리 주기로부터 그의 대응하는 빈 값으로 초기화된다. 윗첨자 "C"는 누적 합계를 나타낸다는 점에 유의해야 한다. 표 1은 아래에 누적 루마 히스토그램 통계의 수집을 도시한다.
로 타타낸다고 한다.
백워드 MMR을 사용하는 iDM 크로마 값과 예측된 크로마 값이 각각
이라고 하면, 여기서, c 0 및 c 1 은 2개의 크로마 채널이다. 일 실시예에서, 입력 프레임 화소 또는 이미지 화소는 계산 부하를 감소시키기 위해 다운-샘플링된다. 예를 들어, MMR 추정 알고리즘을 위한 MMR 행렬을 형성하기 위해 입력 프레임의 모든 화소를 사용하는 대신에, 각각의 제 화소는 입력 프레임의 대표적인 화소로 사용되고, 여기서 는 다운-샘플링 비율을 나타낸다. P C 는 이미지의 크로마 화소 수임을 상기한다. 따라서, MMR 행렬 치수가 P C 에서 로 감소되고, 여기서
참조 크로마 값 에 가장 근접한, 크로마 값 을 예측하기 위해 MMR 백워드 재성형 행렬(예를 들어, )이 사용된다. 예측된 값이 라고 하면, 여기서 이다. 따라서, 행렬 및 에 대한 통계가 현재의 입력 프레임에 대해 수집되어 - 여기서 및 임 -, 크로마 백워드 재성형 함수를 생성할 수 있다.
도 8의 네 단계 프로세스 중 단계 2에서, 장면 컷 검출(805)은 L3 슬라이딩 윈도우를 사용하여 모아진 장면 컷 통계에 기초하여 신규 장면 컷을 결정할 수 있다. 예를 들어, 장면 컷 발생은 (시간 = 에서의 프레임)에 대한 L3(장면 컷 검출) 윈도우로부터 프레임들의 장면 컷 통계를 사용하여 계산될 수 있다. 및 는 에 대한 장면 컷 검출 윈도우의 좌측 및 우측 경계의 시간 색인이라고 하면, 여기서 및 이다. 장면 컷 검출 윈도우의 좌측 및 우측 프레임이 각각 및 이라고 한다. 는 현재의 입력 프레임인 점에 유의해야 한다. 그 다음, 장면 컷 검출(805)은 예를 들어, 프레임 및 에 의해 경계지어진 윈도우, 시간 = 에서의 프레임들에 대응하는 장면 컷 통계를 사용하여 시간 = 에서의 프레임에 대한 장면 컷을 검출할 수 있다.
일 실시예에서, 장면 컷 검출(805)은, 시간 = 에서의 프레임이 신규 장면을 포함하는지 여부를 나타내는, 이진 장면 컷 플래그, 예를 들어, 를 출력한다. 일 실시예에서, 장면 컷 데이터는 링 버퍼에 저장되고 후속하여 (L2 및 L1) 윈도우에 대한 입력으로 사용된다.
도 8의 네 단계 프로세스 중 단계 3에서, 루마 BLUT 생성(806)은 L2 윈도우의 이미지 프레임들에 대응하는 히스토그램 통계에 CDF 매칭을 적용함으로써 시간 = 에서의 프레임에 대한 백워드 참조표(BLUT)를 생성한다. 예를 들어, 루마 BLUT 생성(806)은 L2 슬라이딩 윈도우에 대응하는 SDR 및 HDR 히스토그램에 CDF 매칭을 적용함으로써 시간 = 에서의 프레임인, 에 대한 루마 BLUT을 생성할 수 있다. 루마 BLUT 생성(806)은 우선 L2 윈도우에 대응하는 프레임들에 대한 장면 경계들을 식별할 수 있다. 이 경우에, 장면이 단 하나의 프레임을 포함하면, 해당 프레임만이 L2 윈도우에서 고려된다. 비디오 스트림의 제1 및 마지막 프레임은 장면 컷을 포함하는 것으로 간주된다는 점에 유의해야 한다. 예를 들어, 및 는 L2 슬라이딩 윈도우의 좌측 및 우측 윈도우 경계의 시간 색인이라고 한다. 및 는 에 대한 좌측 및 우측 장면 경계라고 한다. 따라서, , , 및 인 경우, , 이다.
L2 윈도우의 프레임들의 좌측 및 우측 종단은 각각 및 라고 한다. 및 는 각각 SDR 및 HDR CDF의 제b 빈 값이라고 한다. 는 임시적인 BLUT의 제b 빈 값이라고 한다. L2 윈도우의 출력은 에 대한 루마 BLUT(예를 들어, )이다. 일 실시예에서, 루마 BLUT는 시간 영역에 걸쳐 누적 합계로서 저장되고 로 나타내어진다. 도 8의 네 단계 프로세스 중 단계 2는 표 3에 도시될 수 있다. 표 3의 단계 G에서 중간 톤 평활화를 위한 평활화 윈도우 크기는 SDR 프레임 비트 심도, 예를 들어:
에 기초하여 결정될 수 있다.
전술된 바와 같이, 단계 3에서, 루마 BLUT 생성(806)은 입력 SDR 프레임의 루마 성분을 참조 HDR 프레임으로 매핑하기 위해 L2 윈도우를 사용하여 에 대한 루마 BLUT을 생성할 수 있다.
단계 4에서, 인코더(800)는 L1 윈도우를 사용하여 에 대한 이전에 생성된 루마 BLUT에 대해 평활화 동작을 수행할 수 있다. 그 다음, 인코더(800)는 저장 및/또는 데이터 전송을 감소시키기 위해 소구간별 다항식, 예를 들어 루마 재성형 함수를 근사할 수 있다. 또한, 인코더(800)는 L1 윈도우를 사용하여 에 대한 크로마 MMR 매핑 계수를 생성할 수 있다
예를 들어, 및 는 에 대한 좌측 및 우측 L1 윈도우 경계의 시간 색인을 나타낸다고 한다. L2 윈도우와 마찬가지로, 일 실시예에서, 루마 BLUT 평활화(807)는 우선, 장면 컷 정보를 사용하여, L1 윈도우 내의 프레임 에 대한 장면의 경계를 검출한다. 및 은 에 대한 좌측 및 우측 장면 경계라고 한다. 에 대해 , 및 가 되도록 , 이라고 한다. 장면이 단 하나의 프레임을 포함하면, 바로 그 프레임이 L1 윈도우에서 고려된다.
그 다음,에 대한 L1 윈도우의 좌측 및 우측 경계는 및 인 것으로 결정될 수 있다. 따라서, L1 윈도우의 좌측 및 우측 프레임은 및 이다. 표 4는 단계 4의 평활화 동작을 도시하고, 여기서 는 최종 루마 BLUT의 제b 빈이다.
일 실시예에서, 다항식 근사(808)는, 곡선 피팅 알고리즘(curve fitting algorithm)을 사용하여, 평활화된 루마 BLUT를 다항식 계수를 갖는 소구간별 다항식으로 변환한다. 예를 들어, 루마 BLUT(예를 들어, 출력 EDR 코드워드로의 입력 SDR 코드워드 매핑을 위한 백워드 재성형 참조표)는 다수의 섹션으로 분할되고 각 섹션은 고차 다항식(예를 들어, 소구간별 다항식)에 피팅되는 곡선이다. 그 다음, 다항식의 계수 또는 루마 매핑 함수가 RPU 합성기 메타데이터(810)를 생성하기 위해 사용될 수 있다.
일 실시예에서, 크로마 MMR 추정(809)은 단계 1에서 모아진 누적 합계 행렬 A 및 B를 사용하여 MMR 계수 행렬을 추정하기 위해 최소 제곱 문제(least square problem)를 해결한다. MMR 추정 방법은, 예측된 HDR 프레임의 크로마 성분과 참조 HDR 프레임의 크로마 성분 사이의 "전체" 오차를 최소화하는 것에 의존한다. 표 5는 가 에 대한 MMR 계수 행렬인 MMR 행렬 계수의 생성을 도시한다.
일단 MMR 행렬 계수가 해결되면, 인코더(800)는 근사된 루마 소구간별 다항식 계수(예를 들어, 루마 채널)와 함께 해석된 MMR 행렬 계수(예를 들어, 크로마 채널)를 RPU 메타데이터(810)에 삽입하고, 여기서 RPU 메타데이터(810)는 프레임 에 대응하고, 여기서 이다.
전술된 바와 같이, 인코더(800)의 네 단계는, 하나의-프레임-입력 하나의-프레임-출력 방식으로 HDR 참조를 갖는 SDR 프레임들로부터, 즉시, RPU 메타데이터를 생성할 수 있다. 일 실시예에서, 단계 1에서, 처리 로직은, 시간 t에서, 현재의 입력 프레임(501)의 통계를, 통계 링 버퍼(502)에, 모은다. 통계 링 버퍼(502)는 이전 프레임들의 리스트에 대한 통계 데이터를 저장한다. 단계 2에서, 처리 로직은, 시간 = 에서의 제1 프레임이 저장된 통계 데이터를 이용하는 신규 장면을 포함하는지를 식별하는 장면 컷 데이터를 결정하고, 여기서 는 L3 윈도우(503)와 연관된 지연을 나타낸다. L3 윈도우(503)는 제1 시간 지연과 연관된 제1 프레임에 대응할 수 있다. 장면 컷 데이터(예를 들어, L3 윈도우의 출력)는 추가 프레임 처리를 위해 L2 및 L1 윈도우와 같은 후속 윈도우에 의해 사용될 수 있다. 단계 3에서, L2 슬라이딩 윈도우는, 후속 L1 슬라이딩 윈도우에 대한 출력을 생성하기 위해, L3 윈도우로부터의 장면 컷 데이터 및 제2 시간 지연과 연관된 제2 프레임의 다수의 이웃하는 프레임으로부터의 통계 데이터를 사용할 수 있다. 단계 4에서, L1 슬라이딩 윈도우는, 출력 RPU 메타데이터를 생성하기 위해, 제3 시간 지연과 연관된 제3 프레임의 다수의 이웃하는 프레임으로부터의 통계 데이터를 사용할 수 있다.
도 9는 하나 이상의 실시예에 따른 루마 및/또는 크로마 재성형 방법을 도시하는 흐름도이다. 방법 또는 프로세스(900)는 소프트웨어, 하드웨어, 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 예를 들어, 프로세스(900)는 도 3의 인코더(303)에 의해 수행될 수 있다. 도 9를 참조하여, 블록(901)에서, 처리 로직은, 제1 이미지를 포함하는 제1 동적 범위의 이미지들을 포함하는 입력 비디오 스트림을 수신한다. 블록(902)에서, 처리 로직은, 입력 비디오 스트림의 제1 이미지를 나타내는 제2 이미지를 수신하고, 제2 이미지는 제1 동적 범위보다 더 높은 제2 동적 범위를 가진다. 블록(903)에서, 처리 로직은, 제1 및 제2 이미지에 대한 통계 데이터를 획득한다. 통계 데이터는 장면 컷 통계, 루마 통계 및 크로마 통계를 포함한다. 통계 데이터는 신규 장면들을 식별하는 장면 컷 데이터, 루마 성분 매핑 함수 및 크로마 성분 매핑 함수를 생성하기 위해 하나 이상의 슬라이딩 윈도우에 의해 사용된다. 블록(904)에서, 처리 로직은, 제1 시간 지연에서, 입력 비디오 스트림에서 이미지들을 나타내는 데이터로부터 장면 컷 데이터를 결정하고 장면 컷 데이터를 제1 슬라이딩 윈도우에 저장하며, 장면 컷 데이터는 제1 이미지의 통계 데이터, 입력 비디오 스트림의 시간 내에서 제1 이미지 이후의 하나 이상의 미리 보기 이미지의 통계 데이터, 및 입력 비디오 스트림의 시간 내에서 제1 이미지 시간 이전의 하나 이상의 되돌아 보기 이미지의 통계 데이터에 기초하여 결정된다. 블록(905)에서, 처리 로직은, 제2 시간 지연에서, 제2 슬라이딩 윈도우 및 결정된 장면 컷 데이터에 기초하여 제1 동적 범위에서 제2 동적 범위로 제1 이미지에 대한 휘도 값들을 매핑하기 위한 제1 매핑 함수를 결정한다. 블록(906)에서, 처리 로직은, 제3 시간 지연에서, 제3 슬라이딩 윈도우 및 결정된 장면 컷 데이터에 기초하여 제1 매핑 함수에 평활화 동작을 적용함으로써 제2 매핑 함수를 결정한다. 블록(907)에서, 처리 로직은, 제3 시간 지연에서, 제3 슬라이딩 윈도우 및 결정된 장면 컷 데이터에 기초하여 제1 동적 범위에서 제2 동적 범위로 제1 이미지에 대한 크로마 값들을 매핑하기 위한 제3 매핑 함수를 결정한다. 블록(908)에서, 처리 로직은, 제3 시간 지연에서, 제2 및 제3 매핑 함수에 기초하여 제1 이미지에 대한 합성기 메타데이터를 생성하고, 생성된 합성기 메타데이터는 디스플레이를 위해 제1 동적 범위에서 제2 동적 범위로 제1 이미지를 매핑하기 위해 타겟 디스플레이 디바이스에 의해 사용된다.
컬러 아티팩트에 대한 3D 평탄화된 매핑표(3D Flattened Mapping Table; 3D-FMT)를 사용하는 재성형
이전에 MMR 근사 방법은, MMR 최적화 프로세스를 위해 동일한 가중치가 각 화소에 부여되기 때문에, 화소 기반의 방법으로 설명될 수 있다. 설명된 MMR 최적화 프로세스는, 적은 수의 화소(예를 들어, 소수의 화소(minority pixels))에 대해, 예측된 HDR 프레임의 크로마 성분과 참조 HDR 프레임의 크로마 성분 사이의 "전체" 오차를 최소화하는 것에 의존하기 때문에, 개별 오차가 더 크더라도, 그들의 누적 효과는 "전체" 오차와 비교하여 작을 수 있다. 몇몇 경우에, 입력 SDR 프레임의 소수의 화소로 인해 예측된 HDR 프레임에 레드 패치 및 그린/핑크 컬러링과 같은 컬러 아티팩트가 나타난다. 일부 예시에서, 이미지의 총 화소와 비교하여 소수 화소는 약 0.05%일 수 있다. 이러한 컬러 아티팩트를 회피하기 위해, 코드워드 빈 기반의 방법(예를 들어, 3D 평탄화된 매핑표(3D-FMT) 방법)을 사용하여 SDR을 HDR 이미지에 매핑하기 위한 MMR 계수 행렬을 근사할 수 있다.
일부 실시예에서, 행렬 의 각각의 엔트리(이전에 화소 기반의 방법은 행렬 로 화소 값들을 포함함)는 3D SDR 히스토그램의 코드워드 빈을 포함한다. 각각의 엔트리 또는 빈에는 나머지 엔트리와 동일한 가중치가 부여된다. 3D SDR 히스토그램은 3D 매핑표에 대응한다. 본질적으로, 이전에 설명된 바와 같이, 통계를 모으는 단계 1 동안에, 행렬 A 및 B의 계산은 컬러 아티팩트를 감소시키기 위해 아래와 같이 수정된다.
컬러 아티팩트에 대해 3D-FMT를 사용한 MMR 행렬 A 및 B 계산
일부 실시예에서, SDR 이미지는 3개의 루마 및 크로마 성분 각각에 대해 고정된 수의 빈 을 사용하여 3개의 채널 값(Y, C0 및 C1)으로 양자화된다. 다운-샘플링된 루마 신호 ()는 차원을 4:2:0 크로마 채널의 차원과 매칭하기 위해 사용된다는 점에 유의해야 한다. 양자화된 SDR 이미지는 3D 매핑표에 대응하는 3D 히스토그램 ()을 계산하기 위해 사용된다.
프레임 에 대한 3D 히스토그램의 빈들은 로 나타내고, 여기서 및 는 3차원(3D)의 빈의 () 총 개수를 포함한다. 각 3D 빈은 이러한 3-채널 양자화된 값을 갖는 다수의 화소를 나타내는 빈 색인 q = ()에 의해 지정될 수 있다.
각각의 SDR 3D 빈의 EDR 크로마 합계도 계산된다. 각각의 빈이 해당 빈에 속하는 코드워드를 갖는 EDR 크로마(예를 들어, C0 및 C1) 화소 값의 합계를 포함하도록, 및 은 매핑된 EDR 크로마 값이라고 한다. 표 6은, 아래에 양자화 3D SDR 히스토그램 및 매핑된 EDR 크로마 값을 획득하기 위한 예시적인 단계들을 도시한다.
(, , )가 제q SDR 빈의 중심을 나타낸다. (, , ) 또는 빈 대표 값(bin representative values)에서 프레임-특정 아랫첨자가 생략되어, 빈 대표 값이 모든 프레임에 사용될 수 있음을 나타낸다. 일 실시예에서, 빈 대표 값은 사전 계산되고 모든 프레임에 대해 고정된다. 표 7은 빈 대표 값 (, , )을 획득하기 위한 단계들을 도시한다.
다음에, 평균 3D 매핑 EDR 크로마 값이, 각자의 빈 각각에서 (시간 = t에서 입력 SDR 프레임의) SDR 화소 수에 대해 EDR 크로마 값을 평균함으로써, 획득될 수 있다. 일 실시예에서, 시간 = t에서의 현재 프레임에 대해, 대응하는 화소를 갖지 않는 3D SDR 히스토그램 빈이 식별되고 폐기된다. 표 8은, 및 에 대한 평균, 예를 들어, 각각의 각자 빈에서 SDR 화소 수에 대해 평균화된 EDR 크로마 값의 3D 매핑을 획득하기 위한 단계들을 도시한다. q 0 , q 1 ,...q k -1 은, 예를 들어, 인 대응하는 화소를 갖는 k개의 총 빈의 색인이라는 점에 유의해야 한다.
이전에 설명된 바와 같이, 적어도 하나의 대응하는 SDR 화소를 갖는 k개의 빈이 존재한다. 일 실시예에서, 행렬 A 및 B는 이런 k개의 빈으로부터의 SDR 빈 대표 값 및 EDR 크로마 값을 사용하여 결정된다. 예를 들어, 시간 = t에서 입력 프레임에 대한 행렬 및 Vt 는:
이러한 행렬의 차원은, (k보다 훨씬 클 수 있는) 총 SDR 프레임 화소 카운트보다 오히려 MMR 추정에 사용되는 k개의 넌-제로(non-zero) SDR 빈이 존재하기 때문에, 이전 화소 기반의 방법과는 상이할 것임에 유의해야 한다. 여기서, k는 프레임마다(frame-to-frame) 가변될 수 있다.
다음에, 현재 프레임에 대한 통계 또는 행렬 A 와 B는:
일 실시예에서, 계산 부하를 감소시키기 위해, 행렬 A 및 B는 누적 합계로 저장될 수 있다. 표 9는 3D-FMT를 사용한 MMR 통계 계산의 예시를 설명한다.
도 10은 하나 이상의 실시예에 따른 3D-FMT를 사용하는 루마/크로마 재성형 방법을 도시하는 흐름도이다. 방법 또는 프로세스(1000)는 소프트웨어, 하드웨어, 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 예를 들어, 프로세스(1000)는 도 3의 인코더(303)에 의해 수행될 수 있다. 도 10을 참조하여, 블록(1001)에서, 처리 로직은, 제1 동적 범위의 제1 이미지를 포함하는, 이미지들의 세트를 갖는 입력 비디오 스트림을 수신한다. 블록(1002)에서, 처리 로직은, 제1 이미지, 및 제1 이미지에 대응하는 제2 동적 범위의 제2 이미지에 대한 3D 매핑 통계(또는 3D SDR 및 EDR 히스토그램)를 생성하고, 여기서 제2 동적 범위는 제1 동적 범위보다 더 높다. 블록(1003)에서, 처리 로직은, 제1 이미지에 기초하는 제2 이미지의 크로마 채널 값들을 추정하는 크로마 매핑 함수들을 생성하기 위해, 3D 매핑 통계에 기초하는 다변량 다중 회귀(MMR) 통계(예를 들어, 행렬 A 및 B)를 결정한다. 블록(1004)에서, 처리 로직은 합성기 메타데이터를 생성하고, 합성기 메타데이터는 디스플레이를 위해 제1 동적 범위에서 제2 동적 범위로 제1 이미지의 크로마 채널들을 매핑하기 위해 타겟 디스플레이 디바이스에 의해 사용될 크로마 매핑 함수들을 포함한다. 일부 실시예에서, 비일시적 기계 판독 가능한 매체는, 디스플레이 관리 시스템에 의해 실행될 때, 시스템으로 하여금 방법(1000)에서와 같은 방법을 수행하게 하는 명령어들을 저장한다. 일부 실시예에서, 디스플레이 관리 시스템은 방법(1000)에서와 같은 방법을 수행하도록 구성되는 처리 시스템 및 메모리를 포함한다.
참조 EDR을 갖지 않는 경우
도 11은 실시예에 따른 참조 EDR을 갖지 않는 경우의 예시적인 인코더에 대한 블록도를 도시한다. 인코더(1100)는 도 3의 인코더(303)와 같은 인코더일 수 있다. 인코더(1100)는, HDR 참조 없이, 하나의-프레임-입력 하나의-프레임-출력 방식으로, 비디오 스트림의 SDR 프레임들로부터, 즉시, RPU(합성기 및 DM) 메타데이터를 생성할 수 있다. 일 실시예에서, 인코더(1100)는 사전 훈련된 모델(1101), 통계 수집(804), 장면 컷 검출(L3)(805), 루마 BLUT 생성(L2)(806), 루마 BLUT 평활화(L1)(807), 및 다항식 근사(L1)(808)와 같은 모듈을 포함한다. 사전 훈련된 모델(1101)은 크로마 재성형 함수를 생성하기 위해 일반 선형 모델(GLM)을 포함할 수 있다. GLM은, 훈련 통계로부터 사전 결정 또는 사전 구성되거나, 이미지 라이브러리(library of images)에 기초하여 이전에 훈련되어 있을 수 있다. 일 실시예에서, 크로마 재성형 함수는 정적 MMR 계수를 포함한다.
통계 수집(804)은 SDR 및 HDR 프레임(801 및 802)에 대한 통계를 모을 수 있다. 장면 컷 검출(L3)(805)은 입력 SDR 프레임에서 신규 장면을 식별하는 장면 컷 데이터를 결정할 수 있다. 루마 BLUT 생성(L2)(806)은 입력 SDR 프레임들의 루마 성분을 HDR 프레임들에 매핑하기 위해 루마 재성형 함수를 생성할 수 있다. 루마 BLUT 평활화(L1)(807)는 생성된 루마 재성형 함수에 평활화 알고리즘을 적용할 수 있다. 다항식 근사(L1)(808)는 루마 재성형 함수들을 다항식 함수들로 근사시킬 수 있으므로, 다항식 계수들로 감소되어, 루마 재성형 함수들이 데이터 저장 및 데이터 전송을 감소시킨다. 루마 및 크로마 재성형 함수는 출력 RPU 메타데이터(810)를 생성하는 데에 사용될 수 있다.
일부 실시예에서, 인코더(1100)는 네 단계로 출력 RPU 메타데이터(810)를 생성한다. 각각의 단계는, 도 5의 통계 윈도우(502), L3, L2 및 L1 슬라이딩 윈도우(503, 504 및 505)와 같은 하나 이상의 슬라이딩 윈도우를 사용하여 중간 출력을 생성할 수 있다.
도 11을 참조하여, 단계 1에서, 시간 = t에서 (SDR 프레임(801)의 일부로서) 입력 SDR 프레임을 참조하여, 통계 수집(804)은 입력 SDR 프레임에 대한 통계를 수집하거나 모으고, 이러한 통계를, 도 5a의 통계 링 버퍼(502)와 같은 통계 링 버퍼에 저장한다. 통계 수집(804)은, 장면 컷 통계, 루마 최소, 평균 및 최대 통계, 루마 히스토그램 통계 및 입력 SDR 프레임에 대한 크로마 포화 통계를 포함하지만 이에 제한되지 않는 통계를 모을 수 있다. 장면 컷 통계는 비디오 스트림의 SDR 프레임에서 신규 장면을 검출한다. 루마 최소, 중간 및 최대 통계와, 루마 히스토그램 통계는, 루마 재성형 함수를 동적으로 추정하고 생성하기 위해 사용된다. 크로마 포화 통계는 크로마 재성형 함수를 정규화하기 위해 사용된다.
우선, 통계 수집(804)은 다운-샘플링된 루마 및 크로마 SDR 화소 값들을 사용하여 정규화된 (0과 1 사이의) SDR 프레임 ((, , )으로 나타냄)에 대한 통계를 모은다. 일부 실시예에서, 모아진 통계는 루마 히스토그램 및 크로마 포화 값들을 포함한다. 일부 실시예에서, 루마 빈에서 루마 히스토그램 및 크로마 포화는 표 10으로 도시된 바와 같이 획득될 수 있다. 일부 실시예에서, 루마 및 크로마 빈의 총 개수는 각각 로 초기화된다.
전술된 바와 같이, 도 8의 단계 2와 유사할 수 있는 도 11의 단계 2에서, 장면 컷 검출(805)은 모아진 장면 컷 통계를 사용하여 시간 = 에서의 프레임인, SDR 프레임 에 대한 장면 컷 발생 또는 장면 컷 데이터를 결정한다. 가장 오래된 장면 컷 데이터를 업데이트함으로써 장면 컷 데이터가 링 버퍼에 저장될 수 있다. 장면 컷 데이터는 후속 단계의 입력으로 사용될 수 있다.
단계 3에서, 루마 BLUT 생성(806)은 이전에 모아진 평균화 통계를 사용하여 시간 = 에서의 프레임인, 에 대한 루마 BLUT(예를 들어, )를 생성한다. 모아진 평균화 통계는 SDR 프레임을 설명하는 하나 이상의 특징 벡터를 포함할 수 있다. 일부 실시예에서, 특징 벡터는, i) 평규화된 차수의 최소/최대/평균 SDR 화소 값들, ; ii) 평균화된 루마 히스토그램 값들 (), 예를 들어, ; 및 iii) 루마 빈들에 대한 평균화된 크로마 포화 값들(), 예를 들어, 를 포함하지만 이제 제한되지 않는다. 특징 벡터는 일반 선형 모델(GLM) 기반의 예측에 사용될 수 있다.
여기서, Gj ( j = 0, 1, 2,...) 는 제j 특징 벡터의 특징들의 총 개수이다. 일 실시예에서, 제1, 제2, 제3 및 제4 차수의 최소/최대/평균 SDR 값들이 GLM 기반의 예측을 위한 특징들로 사용된다. 이 경우에, 총 28개의 특징에 대해, 는 12개의 특징을 갖고, 는 8개의 특징 ()을 갖고, 는 8개의 특징 ()을 가진다.
및 는 좌측 및 우측 윈도우 경계의 시간 색인을 나타낸다고 한다. 일 실시예에서, 루마 BLUT(806) 생성은 장면 컷 검출(805)에 의해 생성된 장면 컷 데이터에 기초하여 프레임 에 대한 장면 경계를 결정할 수 있다. 및 는 에 대한 좌측 및 우측 장면 경계라고 한다. 따라서 에 대한 L2 윈도우의 좌측 및 우측 경계는 각각 및 이다. 따라서 L2 윈도우의 대응하는 좌측 및 우측 프레임은 각각 및 이다. 표 11은, 전술된 바와 같이, 프레임들의 L2 윈도우에 대해 평균화된 특징 값들에 대한 예시적인 계산을 도시한다.
또다른 실시예에서, 총 특징 벡터 F는 28개의 특징의 서브셋을 연결함으로써 생성될 수 있다. 그 다음, 총 특징 벡터 F는 GLM 모델에 적용될 수 있다.
는 GLM 모델의 계수(또는 가중치) 행렬이라고 한다. 일 실시예에서, 는 SDR-EDR 이미지 데이터베이스를 사용하여 사전 계산된다. 그 다음, 현재 프레임에 대한 k-포인트 루마 BLUT 벡터 는 와 같은 GLM 모델에 의해 설명될 수 있다.
일 실시예에서, k-포인트 루마 BLUT 벡터는, 중간 루마 BLUT를 생성하기 위해, 클리핑되고, 보간되고 다시 클리핑된다. 그런 다음, 일 실시예에서, k-포인트 루마 BLUT 벡터는 비-감소 거동(non-decreasing behavior)에서 단조성(monotonicity)을 유지하기 위해 처리되어, 시간 = 에서의 프레임에 대한 루마 BLUT인, 를 획득한다. 는 제b SDR 코드워드로부터 매핑된 정규화된 EDR 값을 나타낸다는 점에 유의해야 한다.
크로마 재성형 함수를 생성하기 위해, 루마 BLUT 생성(806)은 사전-훈련된 모델(1101)로부터 정적 MMR 계수를 획득할 수 있다. 정적 MMR 계수는, 훈련 데이터에 기초하여 사전 계산될 수 있고, 모든 SDR 프레임에 대해 동일하게 유지될 수 있다. 일 실시예에서, 정적 MMR 계수는 단지 한 장면에 대해 동일하게 유지될 수 있다.
단계 4에서, 에 대한 최종 출력 루마 BLUT는, L1 윈도우를 사용하여 이전 단계로부터 계산된 루마 BLUT에 평활화 동작을 적용함으로써, 계산될 수 있다. 장면 컷 정보 는 L1 윈도우 경계를 결정하기 위해 사용될 수 있다. 는 최종 루마 BLUT의 제b 빈이라는 점을 상기한다. 에 대한 L1 윈도우의 좌측 및 우측 경계는 도 8에 대해 전술된 바와 같은 단계 4와 마찬가지로 결정될 수 있다. 그 다음, 최종 출력 루마 BLUT는 소구간별 다항식으로 변환될 수 있다. RPU 메타데이터(예를 들어, 합성기 메타데이터)는, 프레임 (여기서 )에 대한 루마 소구간별 다항식 및 고정된 크로마 MMR 계수를 사용하여 생성될 수 있다.
도 12는 하나 이상의 실시예에 따른 참조 EDR을 갖지 않는 루마 및/또는 크로마 재성형 방법을 도시하는 흐름도이다. 방법 또는 프로세스(1200)는 소프트웨어, 하드웨어 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 예를 들어, 프로세스(1200)는 도 3의 인코더(303)에 의해 수행될 수 있다. 도 12를 참조하여, 블록(1201)에서, 처리 로직은 제1 이미지를 포함하는 제1 동적 범위의 이미지들을 포함하는 입력 비디오 스트림을 수신한다. 블록(1202)에서, 처리 로직은 입력 비디오 스트림의 제1 이미지에 대한 통계 데이터를 획득하고, 여기서 통계 데이터는 제1 이미지로부터 하나 이상의 이미지 관련 특징을 포함한다. 블록(1203)에서, 처리 로직은, 제1 시간 지연에서, 입력 비디오 스트림에서 이미지들을 나타내는 데이터로부터 장면 컷 데이터를 결정하고, 제1 이미지의 통계 데이터, 입력 비디오 스트림의 시간 내에서 제1 이미지 이후의 하나 이상의 미리 보기 이미지의 통계 데이터, 및 입력 비디오 스트림의 시간 내에서 제1 이미지 이전의 하나 이상의 되돌아 보기 이미지의 통계 데이터에 기초하는 장면 컷 데이터를 제1 슬라이딩 윈도우에 저장한다. 블록(1204)에서, 처리 로직은, 제2 시간 지연에서, 제2 슬라이딩 윈도우 및 기계 학습 모델에 기초하여 제1 동적 범위에서 제2 동적 범위로 제1 이미지에 대한 휘도 값들을 매핑하기 위한 제1 매핑 함수를 결정한다. 블록(1205)에서, 처리 로직은, 제3 시간 지연에서, 제3 슬라이딩 윈도우 및 결정된 장면 컷 데이터에 기초하여 제1 매핑 함수에 대해 평활화 동작을 수행함으로써 제2 매핑 함수를 결정한다. 블록(1206)에서, 처리 로직은, 제3 시간 지연에서, 제2 및 제3 매핑 함수에 기초하여 제1 이미지에 대한 합성기 메타데이터를 생성하고, 여기서 제3 매핑 함수는 기계 학습 모델에 기초하여 제1 동적 범위에서 제2 동적 범위로 제1 이미지에 대한 크로마 컬러 채널들을 매핑하고, 여기서 생성된 합성기 메타데이터는 제2 동적 범위의 제1 이미지에 대응하는 제2 이미지를 표시하기 위해 타겟 디스플레이 디바이스에 의해 사용된다. 일부 실시예에서, 비일시적 기계 판독 가능한 매체는, 디스플레이 관리 시스템에 의해 실행될 때, 시스템으로 하여금 방법(1200)에서와 같은 방법을 수행하게 하는 명령어들을 저장한다. 일부 실시예에서, 디스플레이 관리 시스템은 방법(1200)에서와 같은 방법을 수행하도록 구성되는 처리 시스템 및 메모리를 포함한다.
디스플레이 관리(DM) 메타데이터 계산
일부 실시예에서, 도 3의 인코더(303)와 같은 인코더는, DM 메타데이터를 계산하고, DM 메타데이터를 포함하도록 RPU 메타데이터를 생성한다. DM 메타데이터는 다양한 닛트 단위까지 표시할 수 있는 능력을 갖는 특정 타겟 디스플레이들의 표시를 렌더링하기 위한 정보를 포함할 수 있다. 예를 들어, DM 메타데이터는 min_PQ, max_ PQ , avg _ PQ , anchor_ PQ , 및 anchor_power와 같은 하나 이상의 표시 정보를 포함할 수 있다. Min_PQ는 12-비트 PQ 인코딩에서 현재 장면의 최소 휘도 값을 지정할 수 있다. Max_PQ는 12-비트 PQ 인코딩에서 현재 장면의 최대 휘도 값을 지정할 수 있다. Avg_PQ는 12-비트 PQ 인코딩에서 현재 장면의 중간점 휘도 값을 지정할 수 있다. Anchor_PQ는 12-비트 PQ 인코딩에서 현재 프레임의 화상 품질에 최적화된 평균 밝기(average brightness)를 지정할 수 있다. Anchor_power는 12-비트 PQ 인코딩에서 현재 프레임의 전력 관리에 최적화된 평균 밝기를 지정할 수 있다.
일부 실시예에서, 도 3의 인코더(303)와 같은 인코더의 프로세서는, 임의의 장면 정보 없이 현재 출력 프레임에 대한 DM 메타데이터를 추정한다. 일 실시예에서, 프로세서는 모든 프레임에 대해 min_PQ = 0, 및 max_PQ = 4095으로 설정한다. 일 실시예에서, EDR 참조 프레임을 갖는 SDR 프레임에 대해, 프로세서는 프레임 에 대한 프레임 평균(예를 들어, avg_PQ) () 값을, RGB 영역 EDR 이미지를 사용하여:로 계산한다. 일 실시예에서, EDR 참조 프레임 없는 SDR 프레임에 대해, avg _ PQ는, 일반적(generic)(예를 들어, 임의의 Lx) 슬라이딩 윈도우에서 계산된 BLUT 및 SDR 루마 히스토그램의 루마 성분에 기초하여,
로 계산될 수 있다. 이러한 계산의 예시는 2017년 6월 16일자로 출원된 "효율적인 종단-대-종단 단일 계층 역방향 디스플레이 관리 코딩(Efficient End-to-End Single Layer Inverse Display Management Coding)"이라는 제목의 미국 가출원 제62/520,832호에서 찾을 수 있고, 그 전문이 본 명세서에 참조로 포함된다.
일부 실시예에서, avg_PQ는 임의의 특정 장면에서 평균화될 필요가 있기 때문에, 다수의 프레임에 대한 윈도우 기반의 평균화가 임의의 장면 정보 없이 avg_ PQ(예를 들어, )에 적용될 수 있다. 예를 들어, 도 13을 참조하여, EDR 참조 모드를 갖는 경우, 지연을 도입하지 않고 해당 프레임에 대한 avg _ PQ를 결정하기 위해 장면들이 검출된 후에, 프레임 의 양쪽에 대한 길이 의 윈도우가 사용될 수 있다.
일 실시예에서, EDR 참조 모드를 갖지 않는 경우, avg_PQ는, 각각 , 의 미리 보기 및 되돌아 보기 길이의 윈도우를 갖는 L1 윈도우에서 생성된 출력 루마 BLUT에 기초하여 윈도우 기반의 평균화를 적용함으로써, 생성된다. 예를 들어, 시간 단위의 추가적인 출력 지연이 도입될 것이다. 이 경우에, 프레임의 RPU 데이터에 대한 총 출력 지연은 일 것이고, 프레임 기반의 평균 추정값은:
일 실시예에서, 시간 단위 지연을 회피하기 위해, 인코더는, 예를 들어, 인, L2 윈도우로부터 획득된 적어도 중간(또는 평활화되지 않은) 루마 BLUT에 기초하여 프레임 평균을 추정할 수 있다. 예를 들어, 출력 BLUT ()로의 근사치로서 사용되는 L2 레벨 루마 BLUT에 기초하여, 프레임 평균은:
로 계산되고, 여기서 t k 는 의 범위에 있다. 이 경우에, L2 윈도우로부터의 출력이 획득된 후에 길이 의 대칭 윈도우가 avg _ PQ를 계산하기 위해 사용될 수 있다. 결과적으로, 이러한 계산은 선형 인코딩 방법에 어떤 추가적인 지연도 부과하지 않을 것이다.
도 13은 ()의 총 지연을 갖는 프레임 평균 계산의 예시를 도시한다. 및 는, 도 8의 단계 4와 마찬가지 방식으로, 장면 컷 정보를 사용하여 결정되는, 입력 프레임 에 대한 좌측 및 우측 DM 윈도우 경계의 시간 색인을 나타낸다고 한다. 그 다음, 및 는:
도 13에 도시된 바와 같이, 일 때, 좌측, 우측 장면 경계는 L1 윈도우의 것과 동일할 수 있고 avg_PQ 추정 출력 프레임은 최종 출력 프레임 과 동일할 수 있다. 이 경우에, avg_PQ 계산에 어떤 추가적인 지연도 도입되지 않는다. 따라서, 이 경우에 총 계산 지연은 이다.
로 계산될 수 있다.
표 12는 슬라이딩 윈도우 기반의 avg_PQ 계산의 예시를 도시한다.
일 실시예에서, 에 대한 avg_PQ는 Clip3(0, 4095, floor ( * 4096 + 0.5)), 여기서 Clip3(min, max, val)은 아래는 min에 의해 클리핑되고, 위에는 max에 의해 클리핑되는 val로 정의된다. 또다른 실시예에서, 에 대한 avg _ PQ는 로 추정될 수 있다.
일부 실시예에서, anchor_PQ 및 anchor_power 값은, 2017년 6월 16일자로 출원되고, 그 전문이 본 명세서에 참조로 포함된, "효율적인 종단-대-종단 단일 계층 역방향 디스플레이 관리 코딩"이라는 제목의 미국 가출원 제62/520,832호에서 찾은 예시에 따라 하나 이상의 프레임 기반의 통계 값에 기초하여 계산될 수 있다.
예를 들어, EDR 참조를 갖는 SDR 시나리오의 경우, 프레임 기반의 통계 값은:
와 같이 RGB 영역 EDR 이미지를 사용하여 계산된 값들을 포함할 수 있다.
예를 들어, EDR 참조를 갖지 않는 SDR 시나리오의 경우, 프레임 기반 통계 값은:
와 같이 SDR 루마 히스토그램의 루마 성분 및 L2 슬라이딩 윈도우를 사용하여 계산된 BLUT을 사용하여 계산된 값들을 포함할 수 있다.
이러한 계산의 예시는 2017년 6월 16일자로 출원된 "효율적인 종단-대-종단 단일 계층 역방향 디스플레이 관리 코딩"이라는 제목의 미국 가출원 제62/520,832호에서 찾을 수 있고, 그 전문이 본 명세서에 참조로 포함된다.
도 14는, 도 3의 인코더(303)와 같은 인코더를 구현하기 위해 사용될 수 있는 데이터 처리 시스템의 예시를 도시한다. 본 명세서에 설명된 시스템들 및 방법들은, 범용 컴퓨터 시스템, 특수 목적 컴퓨터 시스템, 또는 범용 및 특수 목적 컴퓨터 시스템의 하이브리드를 포함하는 다양한 상이한 데이터 처리 시스템 및 디바이스에 구현될 수 있다. 본 명세서에 설명된 방법들 중 임의의 하나를 사용할 수 있는 데이터 처리 시스템은, 데스크탑 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 내장형(embeded) 전자 디바이스 또는 기타 전자 디바이스를 포함한다.
도 14는 일 실시예에 따른 데이터 처리 시스템 하드웨어의 블록도이다. 도 14는, 데이터 처리 시스템의 다양한 구성 요소를 도시하지만, 그러한 세부 사항이 본 발명과 밀접한 관계가 없기 때문에 구성 요소를 상호연결하는 임의의 특정 아키텍처 또는 방식을 나타내도록 의도되지 않는다는 점에 유의해야 한다. 또한, 도 14에 도시된 것보다 더 적은 구성 요소 또는 더 많은 구성 요소를 갖는 다른 유형의 데이터 처리 시스템도 본 발명의 하나 이상의 실시예와 함께 사용될 수 있음을 이해할 것이다.
도 14에 도시된 바와 같이, 데이터 처리 시스템은 시스템의 다양한 구성 요소들을 상호연결하는 역할을 하는 하나 이상의 버스(1309)를 포함한다. 하나 이상의 프로세서(1303)는 본 기술분야에서 알려진 바와 같이 하나 이상의 버스(1309)에 결합된다. 메모리(1305)는, DRAM 또는 비휘발성 RAM일 수 있거나, 플래시 메모리 또는 다른 유형의 메모리 혹은 이러한 메모리 디바이스들의 조합일 수 있다. 이 메모리는 본 기술분야에서 알려진 기법을 사용하여 하나 이상의 버스(1309)에 결합된다. 데이터 처리 시스템은 또한, 비휘발성 메모리(1307)를 포함할 수 있고, 이는 하드 디스크 드라이브 또는 플래시 메모리 또는 자기 광학 드라이브 또는 자기 메모리 또는 광학 드라이브, 또는 시스템으로부터 전력이 제거된 후에도 데이터를 유지하는 다른 유형의 메모리 시스템일 수 있다. 비휘발성 메모리(1307) 및 메모리(1305)는 모두 공지된 인터페이스 및 연결 기법을 사용하여 하나 이상의 버스(1309)에 결합된다. 소스 디스플레이 디바이스(1323) 상에 표시될 표시 데이터를 수신하기 위해, 디스플레이 제어기(1322)가 하나 이상의 버스(1309)에 결합된다. 소스 디스플레이 디바이스(1323)는 터치 스크린을 제공하기 위해 통합된 터치 입력부를 포함할 수 있다. 데이터 처리 시스템은 또한, 하나 이상의 마우스, 터치 스크린, 터치 패드, 조이스틱, 및 본 기술분야에 공지된 것들을 포함하는 기타 입력 디바이스 및 출력 디바이스(예를 들어, 스피커)와 같은 하나 이상의 I/O 디바이스에 인터페이스를 제공하는 하나 이상의 입력/출력(I/O) 제어기(1315)를 포함할 수 있다. 색채가(colorist)는 하나 이상의 입력 디바이스를 사용하여 하나 이상의 이미지에 대한 컬러 트림(color trims)을 조정할 수 있다. 입력/출력 디바이스(1317)는 본 기술분야에 알려진 바와 같이 하나 이상의 I/O 제어기(1315)를 통해 결합된다.
도 14는 비휘발성 메모리(1307)와 메모리(1305)가 네트워크 인터페이스를 통하지 않고 하나 이상의 버스에 직접 결합되어 있음을 도시하지만, 본 발명은, 모뎀 또는 이더넷 인터페이스와 같은 네트워크 인터페이스를 통해 데이터 처리 시스템에 결합되는 네트워크 저장 디바이스와 같은, 시스템으로부터 원격인 비휘발성 메모리를 활용할 수 있음을 이해할 것이다. 버스(1309)는 본 기술분야에 잘 알려진 공지된 다양한 브리지, 제어기 및/또는 어댑터를 통해 서로 연결될 수 있다. 일 실시예에서, I/O 제어기(1315)는 USB 주변 기기를 제어하기 위한 USB(Universal Serial Bus) 어댑터, IEEE 1394 호환 주변 기기를 위한 IEEE 1394 제어기, 또는 낙뢰(Thunderbolt) 주변 기기를 제어하기 위한 낙뢰 제어기 중 하나 이상을 포함한다. 일 실시예에서, 하나 이상의 네트워크 디바이스(들)(1325)은 버스(들)(1309)에 연결될 수 있다. 네트워크 디바이스(들)(1325)은 유선 네트워크 디바이스(예를 들어, 이더넷) 또는 카메라 등으로부터 이미지를 수신하는 무선 네트워크 디바이스(예를 들어, Wi-Fi, 블루투스)일 수 있다.
이 설명으로부터 본 발명의 하나 이상의 실시예가 적어도 부분적으로 소프트웨어로 구현될 수 있음이 명백할 것이다. 즉, 기법은 비일시적 기계 판독 가능한 저장 매체(예를 들어 DRAM 또는 플래시 메모리)와 같은 저장 매체에 포함된 일련의 명령어들을 실행하는 하나 이상의 프로세서(들)에 응답하여 데이터 처리 시스템에서 수행될 수 있다. 다양한 실시예에서, 고정 배선으로 연결된 회로(hardwired circuitry)가 본 발명을 구현하기 위해 소프트웨어 명령어들과 결합하여 사용될 수 있다. 따라서, 기법은 하드웨어 회로 및 소프트웨어의 임의의 특정 조합, 또는 데이터 처리 시스템에 의해 실행되는 명령어들에 대한 임의의 특정 소스에 제한되지 않는다.
전술한 명세서에서, 본 발명은 그의 특정 예시적인 실시예들을 참조하여 설명되었다. 다음의 청구항들에 명시된 바와 같이 본 발명의 더 넓은 사상 및 범주로부터 벗어남 없이 다양한 변형이 행해질 수 있음은 분명할 것이다. 따라서, 명세서 및 도면은 제한적 의미보다는 예시적 의미로 간주될 것이다.
개별 실시예들이 이하 상세히 설명되어 있지만, 이러한 실시예들은 부분적으로 또는 전체로 조합되거나 수정될 수 있음이 이해된다.
실시예 1은, 이미지 데이터를 처리하는 방법으로서, 입력 비디오 스트림을 수신하는 단계를 포함하는, 방법이다. 본 방법은 입력 비디오 스트림의 연속적인 부분들의 제1 세트에 대한 통계 데이터를 시간 경과에 따라, 제1 버퍼에, 저장하는 단계 - 제1 버퍼는, 각각의 연속적인 부분에 대해, 장면 컷 데이터를 나타내는 출력을 제공함 -를 포함한다. 본 방법은 입력 비디오 스트림의 연속적인 부분들의 제2 세트에 대한 통계 데이터를 시간 경과에 따라, 제2 버퍼에, 저장하는 단계 - 제2 버퍼는 제1 버퍼로부터 제공되는 각각의 출력을 수신하고, 제2 버퍼는, 각각의 연속적인 부분에 대해, 휘도 매핑 값을 나타내는 출력을 제공함 -를 포함한다. 본 방법은 입력 비디오 스트림의 연속적인 부분들의 제3 세트에 대한 통계 데이터를 시간 경과에 따라, 제3 버퍼에, 저장하고, 제3 버퍼는 제2 버퍼로부터 제공되는 각각의 출력을 수신하는 단계 - 제3 버퍼는, 각각의 연속적인 부분에 대해, 크로마 매핑 값을 나타내는 출력을 제공함 -를 포함한다. 본 방법은 관련 휘도 매핑 값 및 관련 크로마 매핑 값에 기초하여 입력 비디오 스트림의 제1 이미지에 대한 메타데이터를 생성하는 단계 - 메타데이터는 제1 이미지에 기초하지만 제1 이미지보다 더 높은 동적 범위를 갖는 제2 이미지를 생성하기 위해 타겟 디스플레이에 의해 사용됨 -를 포함한다. 일부 실시예에서, 휘도 매핑 값들은 평활화된 휘도 매핑 값들이다.
실시예 2는 디스플레이 관리 시스템에 의해 실행될 때 시스템으로 하여금 실시예 1에서와 같은 방법을 수행하게 하는 명령어들이 저장되어 있는 비일시적 기계 판독 가능한 매체이다.
실시예 3은 실시예 1에서와 같은 방법을 수행하도록 구성되는 처리 시스템 및 메모리를 포함하는 디스플레이 관리 시스템이다.
실시예 4는, 처리 시스템에 의한 루마 및/또는 크로마 재성형 방법으로서, 제1 이미지를 포함하는 제1 동적 범위의 이미지들을 포함하는 입력 비디오 스트림을 수신하는 단계를 포함하는, 방법이다. 본 방법은 입력 비디오 스트림의 제1 이미지를 나타내며 제2 동적 범위를 갖는 제2 이미지를 수신하는 단계 - 제2 동적 범위는 제1 동적 범위보다 더 높음 -를 포함한다. 본 방법은 제1 및 제2 이미지에 대한 통계 데이터를 획득하는 단계를 포함한다. 본 방법은, 제1 시간 지연에서, 입력 비디오 스트림의 이미지들을 나타내는 데이터로부터 장면 컷 데이터를 결정하고, 장면 컷 데이터를 제1 슬라이딩 윈도우에 저장하는 단계 - 장면 컷 데이터는 제1 이미지의 통계 데이터, 입력 비디오 스트림의 시간 내에서 제1 이미지 이후의 하나 이상의 미리 보기 이미지에 대한 통계 데이터, 및 입력 비디오 스트림의 시간 내에서 제1 이미지 이전의 하나 이상의 되돌아 보기 이미지에 대한 통계 데이터에 기초하여 결정됨 -를 포함한다. 본 방법은, 제2 시간 지연에서, 제2 슬라이딩 윈도우 및 결정된 장면 컷 데이터에 기초하여 제1 동적 범위에서 제2 동적 범위로 제1 이미지에 대한 휘도 값들을 매핑하기 위한 제1 매핑 함수를 결정하는 단계를 포함한다. 본 방법은, 제3 시간 지연에서, 제3 슬라이딩 윈도우 및 결정된 장면 컷 데이터에 기초하여 제1 매핑 함수에 대해 평활화 동작을 수행함으로써 제2 매핑 함수를 결정하는 단계를 포함한다. 본 방법은, 제3 시간 지연에서, 제3 슬라이딩 윈도우 및 결정된 장면 컷 데이터에 기초하여 제1 동적 범위에서 제2 동적 범위로 제1 이미지에 대한 크로마 값들을 매핑하기 위한 제3 매핑 함수를 결정하는 단계를 포함한다. 본 방법은, 제3 시간 지연에서, 제2 및 제3 매핑 함수에 기초하여 제1 이미지에 대한 합성기 메타데이터를 생성하는 단계 - 생성된 합성기 메타데이터는 디스플레이를 위해 제1 동적 범위에서 제2 동적 범위로 제1 이미지를 매핑하기 위해 타겟 디스플레이 디바이스에 의해 사용됨 -를 포함한다.
실시예 5는, 실시예 4의 방법에 있어서, 입력 비디오 스트림으로부터 입력 이미지를 수신하고 하나의 입력이 하나의 출력을 생성하도록 하나의 동작으로 출력 합성기 메타데이터를 생성함으로써, 합성기 메타데이터가 선형 방식으로 생성되는, 방법이다.
실시예 6은, 실시예 4의 방법에 있어서, 제1, 제2 및 제3 슬라이딩 윈도우 각각은, 시간 경과에 따라, 입력 비디오 스트림의 연속적인 부분들을 수신하는 버퍼이고, 버퍼가 시간 경과에 따라 입력 비디오 스트림에 걸쳐 슬라이딩하여, 부분들 각각이 연속적인 이미지들의 세트에 대한 데이터를 저장하는, 방법이다.
실시예 7은, 실시예 4의 방법에 있어서, 제1, 제2 및 제3 슬라이딩 윈도우는 구성 가능한 버퍼 길이를 갖는 링 메모리 버퍼를 포함하는, 방법이다.
실시예 8은, 실시예 7의 방법에 있어서, 통계 데이터가 구성 가능한 버퍼 길이를 갖는 통계 링 버퍼에서 획득되고, 버퍼 길이는 제1, 제2 및 제3 슬라이딩 윈도우의 버퍼 길이에 기초하여 구성되는, 방법이다.
실시예 9는, 실시예 4의 방법에 있어서, 획득된 통계 데이터가 제1 및 제2 이미지에 대한 장면 컷 데이터, 휘도 및 크로마 통계를 포함하는, 방법이다.
실시예 10은, 실시예 4의 방법에 있어서, 제1 슬라이딩 윈도우가 제1 슬라이딩 윈도우의 대응하는 이미지에서 신규 장면에 대응하는 하나 이상의 장면 컷 플래그를 포함하고, 장면 컷 플래그들은 각 장면에 대해 제1 매핑 함수에 적용되는 평활화를 야기하는, 방법이다.
실시예 11은, 실시예 4의 방법에 있어서, 제2 슬라이딩 윈도우가 제1 및 제2 이미지의 히스토그램 통계를 포함하고, 히스토그램 통계는 제1 또는 제2 이미지의 화소에 대한 코드워드를 각각 나타내는 하나 이상의 빈을 포함하는, 방법이다.
실시예 12는, 실시예 11의 방법에 있어서, 히스토그램 통계가 계산 부하를 감소시키기 위해 다운-샘플링된 제1 및 제2 이미지를 포함하고, 제1 및 제2 이미지는 제1 또는 제2 이미지의 화소에 대한 코드워드를 각각 사전 결정된 수의 비중첩 빈으로 분할함으로써 다운-샘플링되는, 방법이다.
실시예 13은, 실시예 4의 방법에 있어서, 제1 매핑 함수를 결정하는 단계가 제1 및 제2 누적 히스토그램에 기초하여 휘도 매핑 함수를 결정하는 것을 포함하고, 제1 및 제2 누적 히스토그램은 각각 제1 및 제2 이미지의 휘도 통계로부터 계산되는, 방법이다.
실시예 14는, 실시예 13의 방법에 있어서, 상이한 윈도우 길이의 하나 이상의 평활화 윈도우를 사용하여 검출된 장면 컷 데이터에 기초하여 제1 매핑 함수에 대해 평활화 동작을 수행하는 단계를 더 포함하는, 방법이다.
실시예 15는, 실시예 13의 방법에 있어서, 합성기 메타데이터를 생성하기 위해 제2 매핑 함수를 소구간별 다항식의 계수로 변환하는 단계를 더 포함하는, 방법이다.
실시예 16은, 실시예 4의 방법에 있어서, 제2 매핑 함수를 결정하는 단계가 제1 및 제2 이미지의 화소의 크로마 통계에 기초하여 다변량 다중 회귀(MMR) 행렬 계수를 계산하기 위해 최소 제곱 문제를 해결하는 것을 포함하는, 방법이다.
실시예 17은, 실시예 16의 방법에 있어서, 최소 제곱 문제를 해결하는 것은 차분 함수(difference function)를 최소화하는 것을 포함하는, 방법이다.
실시예 18은, 실시예 4의 방법에 있어서, 입력 비디오 스트림의 하나 이상의 이미지에 대해 색 공간 변환(color space conversion)을 수행하는 단계를 더 포함하는, 방법이다.
실시예 19는, 실시예 4의 방법에 있어서, 합성기 메타데이터가 제1 이미지와는 별도의 이미지 메타데이터의 일부로서 비디오 신호로 타겟 디스플레이 디바이스에 반송되는, 방법이다.
실시예 20은, 실시예 4의 방법에 있어서, 제4 슬라이딩 윈도우에 기초하여 디스플레이 관리(DM) 메타데이터를 생성하는 단계를 더 포함하며, DM 메타데이터는 타겟 디스플레이에 최적화된 제2 이미지를 생성하기 위해 타겟 디스플레이 디바이스에 의해 사용될 것인, 방법이다.
실시예 21은, 실시예 4의 방법에 있어서, 합성기 메타데이터를 생성하는 단계가 각 이미지에 대한 고유한 메타데이터를 생성하는 것을 포함하는, 방법이다.
실시예 22는, 실시예 4의 방법에 있어서, 합성기 메타데이터를 생성하는 단계가 입력 비디오 스트림의 각 장면에 대한 고유한 메타데이터를 생성하는 것을 포함하는, 방법이다.
실시예 23은, 실시예 4의 방법에 있어서, 제1 또는 제2 이미지 중 적어도 하나가, IPT PQ(ICtCp) 색 공간, YCbCr 색 공간, RGB 색 공간, Rec 2020 색 공간, Rec. 방법. 709 색 공간, EDR(Enhanced or Extended Dynamic Range) 색 공간, 감마/HLG/PQ 색 공간 또는 표준 동적 범위(standard dynamic range; SDR) 색 공간 중 하나로 표현되는, 방법이다.
실시예 24는, 실시예 4의 방법에 있어서, 제1 이미지가 8, 9, 10 또는 11+ 비트 중 하나의 비트 심도를 포함하는, 방법이다.
실시예 25는, 실시예 4의 방법에 있어서, 제2 이미지가 8, 9, 10, 11, 12, 13, 14 또는 15+ 비트 중 하나의 비트 심도를 포함하는, 방법이다.
실시예 26은 디스플레이 관리 시스템에 의해 실행될 때 시스템으로 하여금 실시예 4 내지 25 중 어느 하나에서와 같은 방법을 수행하게 하는 명령어들이 저장되어 있는 비일시적 기계 판독 가능한 매체이다.
실시예 27은 실시예 4 내지 25 중 어느 하나에서와 같은 방법을 수행하도록 구성되는 처리 시스템 및 메모리를 포함하는 디스플레이 관리 시스템이다.
실시예 28은, 3차원(3D) 매핑 통계를 사용하는 프로세서에 의한 루마/크로마 재성형 방법으로서, 제1 동적 범위의 제1 이미지를 포함하는 이미지들의 세트를 갖는 입력 비디오 스트림을 수신하는 단계를 포함하는, 방법이다. 본 방법은, 제1 이미지, 및 제1 이미지에 대응하는 제2 동적 범위의 제2 이미지에 대한 3D 매핑 통계를 생성하는 단계 - 제2 동적 범위는 제1 동적 범위보다 더 높음 -를 포함한다. 본 방법은, 제1 이미지에 기초하여 제2 이미지의 크로마 채널 값들을 추정하는 크로마 매핑 함수들을 생성하기 위해, 3D 매핑 통계들에 기초하여 다변량 다중 회귀(MMR) 통계를 결정하는 단계를 포함한다. 본 방법은, 합성기 메타데이터를 생성하는 단계 - 합성기 메타데이터는 디스플레이를 위해 제1 동적 범위에서 제2 동적 범위로 제1 이미지의 크로마 채널들을 매핑하기 위해 타겟 디스플레이 디바이스에 의해 사용될 크로마 매핑 함수들을 포함함 -를 포함한다.
실시예 29는, 실시예 28의 방법에 있어서, 3D 매핑 통계가 제1 이미지의 양자화를 나타내는 3D 히스토그램을 포함하고, 제1 이미지는, 3D 히스토그램에 대한 복수의 빈을 초기화하는 것 - 각각의 빈은 대응하는 컬러 채널들을 갖는 다수의 화소를 나타냄 -; 제1 이미지의 복수의 화소를 스캐닝하는 것; 및 스캔된 화소의 컬러 채널들에 대응하는 복수의 빈 각각에 대한 카운터를 증가시키는 것에 의해 양자화되는, 방법이다.
실시예 30은, 실시예 29의 방법에 있어서, 3D 히스토그램이 입력 비디오 스트림의 시간 내에서 미래의 입력 이미지들에 대해 일정한 최대 빈 카운트(maximum bin count)를 갖는, 방법이다.
실시예 31은, 실시예 30의 방법에 있어서, 3D 히스토그램의 각 차원이 제1 이미지의 컬러 채널에 대응하는, 방법이다.
실시예 32는, 실시예 28의 방법에 있어서, 제2 이미지에 대한 3D 매핑 통계가 평균화된 3D 크로마 채널 매핑 값들을 포함하는, 방법이다.
실시예 33은, 실시예 28의 방법에 있어서, 평균화된 3D 크로마 채널 매핑 값들이 컬러 채널 각각에 대한 개별 값(separate values)인, 방법이다.
실시예 34는, 실시예 28의 방법에 있어서, 다변량 다중 회귀(MMR) 통계를 결정하는 단계가 3D 평탄화된 매핑표에 기초하여 다변량 다중 회귀(MMR) 통계를 결정하는 것을 포함하고, 각 3D 평탄화된 매핑표는, 루마/크로마 매핑이 과반수의 화소 바이어스(majority pixel bias)를 가지지 않도록, 제1 이미지의 복수의 빈 중 하나를 나타내는, 방법이다.
실시예 35는, 실시예 34의 방법에 있어서, 3D 평탄화된 매핑표가 3D 히스토그램의 빈에 대한 중심 값(center value)을 나타내는 복수의 평탄화된 매핑 값에 기초하여 계산되는, 방법이다.
실시예 36은, 실시예 35의 방법에 있어서, 합성기 메타데이터를 생성하는 단계가 MMR 통계에 대한 최소 제곱 문제를 해결함으로써 MMR 계수를 생성하는 것을 포함하는, 방법이다.
실시예 37은, 실시예 36의 방법에 있어서, MMR 통계가 누적 합계 MMR 행렬을 포함하는, 방법이다.
실시예 38은, 실시예 36의 방법에 있어서, MMR 통계에 대한 최소 제곱 문제를 해결하는 것이 차분 함수를 최소화하는 것을 포함하는, 방법이다.
실시예 39는, 실시예 28의 방법에 있어서, 입력 비디오 스트림의 하나 이상의 프레임에 대해 색 공간 변환을 수행하는 단계를 더 포함하는, 방법이다.
실시예 40은, 실시예 28의 방법에 있어서, 합성기 메타데이터가 제1 이미지와는 별도의 비디오 프레임 메타데이터의 일부로서 비디오 신호로 타겟 디스플레이 디바이스에 반송되는, 방법이다.
실시예 41은, 실시예 28의 방법에 있어서, 합성기 메타데이터를 생성하는 단계가 각 비디오 프레임에 대한 고유한 메타데이터를 생성하는 것을 포함하는, 방법이다.
실시예 42는, 실시예 28의 방법에 있어서, 합성기 메타데이터를 생성하는 단계가 입력 비디오 스트림의 각 장면에 대한 고유한 메타데이터를 생성하는 것을 포함하는, 방법이다.
실시예 43은, 실시예 28의 방법에 있어서, 제1 또는 제2 이미지 중 적어도 하나가, IPT PQ(ICtCp) 색 공간, YCbCr 색 공간, RGB 색 공간, Rec. 방법. 2020 색 공간, Rec. 709 색 공간, EDR(extended dynamic range) 색 공간, 감마/HLG/PQ 색 공간 또는 표준 동적 범위(SDR) 색 공간 중 하나로 표현되는, 방법이다.
실시예 44는, 실시예 28의 방법에 있어서, 제1 이미지가 8, 9, 10 또는 11+ 비트 중 하나의 비트 심도를 포함하는, 방법이다.
실시예 45는, 실시예 28의 방법에 있어서, 제2 이미지가 8, 9, 10, 11, 12, 13, 14 또는 15+ 비트 중 하나의 비트 심도를 포함하는, 방법이다.
실시예 46은 디스플레이 관리 시스템에 의해 실행될 때 시스템으로 하여금 실시예 28 내지 45 중 어느 하나에서와 같은 방법을 수행하게 하는 명령어들이 저장되어 있는 비일시적 기계 판독 가능한 매체이다.
실시예 47은 실시예 28 내지 45 중 어느 하나에서와 같은 방법을 수행하도록 구성되는 처리 시스템 및 메모리를 포함하는 디스플레이 관리 시스템이다.
실시예 48은, 처리 시스템에 의한 루마 및/또는 크로마 재성형 방법으로서, 제1 이미지를 포함하는 제1 동적 범위의 이미지들을 포함하는 입력 비디오 스트림을 수신하는 단계를 포함하는, 방법이다. 본 방법은 입력 비디오 스트림의 제1 이미지에 대한 통계 데이터를 획득하는 단계를 포함하고, 통계 데이터는 제1 이미지로부터 하나 이상의 이미지 관련 특징을 포함한다. 본 방법은, 제1 시간 지연에서, 입력 비디오 스트림에서 이미지들을 나타내는 데이터로부터 장면 컷 데이터를 결정하고, 제1 이미지의 통계 데이터, 입력 비디오 스트림의 시간 내에서 제1 이미지 이후의 하나 이상의 미리 보기 이미지의 통계 데이터, 및 입력 비디오 스트림의 시간 내에서 제1 이미지 이전의 하나 이상의 되돌아 보기 이미지의 통계 데이터에 기초하는 장면 컷 데이터를 제1 슬라이딩 윈도우에 저장한다. 본 방법은, 제2 시간 지연에서, 제2 슬라이딩 윈도우 및 기계 학습 모델에 기초하여 제1 동적 범위에서 제2 동적 범위로 제1 이미지에 대한 휘도 값들을 매핑하기 위한 제1 매핑 함수를 결정하는 단계를 포함한다. 본 방법은, 제3 시간 지연에서, 제3 슬라이딩 윈도우에 기초하여 제1 매핑 함수에 대해 평활화 동작을 수행함으로써 제2 매핑 함수를 결정하는 단계를 포함한다. 본 방법은, 제3 시간 지연에서, 제1 및 제2 매핑 함수에 기초하여 제1 이미지에 대한 합성기 메타데이터를 생성하는 단계 - 제2 매핑 함수는 기계 학습 모델에 기초하여 제1 동적 범위에서 제2 동적 범위로 제1 이미지에 대한 크로마 컬러 채널들을 매핑하고, 생성된 합성기 메타데이터는 제2 동적 범위의 제1 이미지에 대응하는 제2 이미지를 표시하기 위해 타겟 디스플레이 디바이스에 의해 사용됨 -를 포함한다.
실시예 49는, 실시예 48의 방법에 있어서, 입력 비디오 스트림으로부터 입력 이미지를 수신하고 하나의 입력이 하나의 출력을 생성하도록 하나의 동작으로 출력 합성기 메타데이터를 생성함으로써, 합성기 메타데이터가 선형 방식으로 생성되는, 방법이다.
실시예 50은, 실시예 48의 방법에 있어서, 제1 및 제2 슬라이딩 윈도우 각각은, 시간 경과에 따라, 입력 비디오 스트림의 연속적인 부분들을 수신하는 버퍼이고, 버퍼가 시간 경과에 따라 입력 비디오 스트림에 걸쳐 슬라이딩하여, 부분들 각각이 연속적인 이미지들의 세트에 대한 데이터를 저장하는, 방법이다.
실시예 51은, 실시예 48의 방법에 있어서, 제3 슬라이딩 윈도우에서의 장면 컷 데이터에 기초하여 제1 매핑 함수에 대해 평활화 동작이 수행되는, 방법이다.
실시예 52는, 실시예 51의 방법에 있어서, 제1, 제2 및 제3 슬라이딩 윈도우는 구성 가능한 버퍼 길이를 갖는 링 메모리 버퍼를 포함하는, 방법이다.
실시예 53은, 실시예 52의 방법에 있어서, 통계 데이터는 구성 가능한 버퍼 길이를 갖는 통계 링 버퍼에서 획득되고, 버퍼 길이는 제1, 제2 및 제3 슬라이딩 윈도우의 버퍼 길이에 기초하여 구성되는, 방법이다.
실시예 54는, 실시예 48의 방법에 있어서, 획득된 통계 데이터는 제1 이미지에 대한 장면 컷 데이터, 최소/최대/평균 휘도 값들, 휘도 히스토그램, 및 휘도 히스토그램의 각각의 빈에 대한 크로마 포화 값들을 포함하는, 방법이다.
실시예 55는, 실시예 54의 방법에 있어서, 휘도 히스토그램은 계산 부하를 감소시키기 위해 다운-샘플링된 제1 이미지에 대응하고, 제1 이미지는 제1 이미지의 화소에 대한 코드워드를 사전 결정된 수의 비중첩 빈으로 분할함으로써 다운-샘플링되는, 방법이다.
실시예 56은, 실시예 48의 방법에 있어서, 하나 이상의 이미지 관련 특징은 제1 이미지의 최소, 최대, 및 평균 화소 값들의 평균화된 제1, 제2, 제3, 및 제4 차수의 조합을 포함하는, 방법이다.
실시예 57은, 실시예 48의 방법에 있어서, 하나 이상의 이미지 관련 특징은 평균화된 휘도 히스토그램을 포함하는, 방법이다.
실시예 58은, 실시예 48의 방법에 있어서, 하나 이상의 이미지 관련 특징은 휘도 히스토그램의 빈들에 대한 평균화된 크로마 포화 값들을 포함하는, 방법이다.
실시예 59는, 실시예 48의 방법에 있어서, 제1 슬라이딩 윈도우는 제1 슬라이딩 윈도우의 대응하는 이미지에서 신규 장면에 대응하는 하나 이상의 장면 컷 플래그를 포함하는, 방법이다.
실시예 60은, 실시예 48의 방법에 있어서, 기계 학습 모델은 하나 이상의 이미지 관련 특징에 기초하여 제2 이미지에 대한 휘도 값들을 예측하는, 방법이다.
실시예 61은, 실시예 48의 방법에 있어서, 기계 학습 모델은 일반 선형 모델(GLM)을 포함하는, 방법이다.
실시예 62는, 실시예 48의 방법에 있어서, 합성기 메타데이터를 생성하기 위해 제1 매핑 함수를 소구간별 다항식의 계수로 변환하는 단계를 더 포함하는, 방법이다.
실시예 63은, 실시예 48의 방법에 있어서, 제4 슬라이딩 윈도우에 기초하여 디스플레이 관리(DM) 메타데이터를 생성하는 단계를 더 포함하고, DM 메타데이터는 타겟 디스플레이에 최적화된 제2 이미지를 생성하기 위해 타겟 디스플레이 디바이스에 의해 사용될 것인, 방법이다.
실시예 64는, 실시예 48의 방법에 있어서, 입력 비디오 스트림의 하나 이상의 이미지에 대해 색 공간 변환을 수행하는 단계를 더 포함하는, 방법이다.
실시예 65는, 실시예 48의 방법에 있어서, 합성기 메타데이터는 제1 이미지와는 별도의 이미지 메타데이터의 일부로서 비디오 신호로 타겟 디스플레이 디바이스에 반송되는, 방법이다.
실시예 66은, 실시예 48의 방법에 있어서, 합성기 메타데이터를 생성하는 단계가 각 이미지에 대한 고유한 메타데이터를 생성하는 것을 포함하는, 방법이다.
실시예 67은, 실시예 48의 방법에 있어서, 합성기 메타데이터를 생성하는 단계가 입력 비디오 스트림의 각 장면에 대한 고유한 메타데이터를 생성하는 것을 포함하는, 방법이다.
실시예 68은, 실시예 48의 방법에 있어서, 제1 또는 제2 이미지 중 적어도 하나가, IPT PQ(ICtCp) 색 공간, YCbCr 색 공간, RGB 색 공간, Rec. 방법. 2020 색 공간, Rec. 709 색 공간, 확장 동적 범위(EDR) 색 공간, 감마/HLG/PQ 색 공간 또는 표준 동적 범위(SDR) 색 공간 중 하나로 표현되는, 방법이다.
실시예 69는, 실시예 48의 방법에 있어서, 제1 이미지가 8, 9, 10 또는 11+ 비트 중 하나의 비트 심도를 포함하는, 방법이다.
실시예 70은, 실시예 48의 방법에 있어서, 제2 이미지가 8, 9, 10, 11, 12, 13, 14 또는 15+ 비트 중 하나의 비트 심도를 포함하는, 방법이다.
실시예 71은 디스플레이 관리 시스템에 의해 실행될 때 시스템으로 하여금 실시예 48 내지 70 중 어느 하나에서와 같은 방법을 수행하게 하는 명령어들이 저장되어 있는 비일시적 기계 판독 가능한 매체이다.
실시예 72는 실시예 48 내지 70 중 어느 하나에서와 같은 방법을 수행하도록 구성되는 처리 시스템 및 메모리를 포함하는 디스플레이 관리 시스템이다.
표 13은 표기법의 리스트를 아래에 도시한다.
본 발명의 다양한 양상은 다음의 열거된 예시적인 실시예(enumerated example embodiment; EEE)로부터 이해될 수 있다.
1.
처리 시스템에 의한 루마 및/또는 크로마 재성형 방법으로서,
제1 이미지를 포함하는 제1 동적 범위의 이미지들을 포함하는 입력 비디오 스트림을 수신하는 단계;
입력 비디오 스트림의 상기 제1 이미지를 나타내며 제2 동적 범위를 갖는 제2 이미지를 수신하는 단계 - 제2 동적 범위는 상기 제1 동적 범위보다 더 높음 -;
제1 및 제2 이미지에 대한 통계 데이터를 획득하는 단계;
제1 시간 지연에서, 입력 비디오 스트림의 이미지들을 나타내는 데이터로부터 장면 컷 데이터를 결정하고, 장면 컷 데이터를 제1 슬라이딩 윈도우에 저장하는 단계 - 장면 컷 데이터는 제1 이미지의 통계 데이터, 입력 비디오 스트림의 시간 내에서 제1 이미지 이후의 하나 이상의 미리 보기 이미지에 대한 통계 데이터, 및 입력 비디오 스트림의 시간 내에서 제1 이미지 이전의 하나 이상의 되돌아 보기 이미지에 대한 통계 데이터에 기초하여 결정됨 -;
제2 시간 지연에서, 제2 슬라이딩 윈도우 및 결정된 장면 컷 데이터에 기초하여 제1 동적 범위에서 상기 제2 동적 범위로 제1 이미지에 대한 휘도 값들을 매핑하기 위한 제1 매핑 함수를 결정하는 단계;
제3 시간 지연에서, 제3 슬라이딩 윈도우 및 결정된 장면 컷 데이터에 기초하여 제1 매핑 함수에 평활화 동작을 수행함으로써 제2 매핑 함수를 결정하는 단계;
제3 시간 지연에서, 제3 슬라이딩 윈도우 및 결정된 장면 컷 데이터에 기초하여 제1 이미지에 대한 크로마 값들을 제1 동적 범위에서 상기 제2 동적 범위로 매핑하기 위한 제3 매핑 함수를 결정하는 단계; 및
제3 시간 지연에서, 제2 및 제3 매핑 함수에 기초하여 제1 이미지에 대한 합성기 메타데이터를 생성하는 단계 - 생성된 합성기 메타데이터는 디스플레이를 위해 제1 동적 범위에서 제2 동적 범위로 제1 이미지를 매핑하기 위해 타겟 디스플레이 디바이스에 의해 사용됨 -를 포함하는, 방법.
2.
EEE 1의 방법에 있어서, 합성기 메타데이터는, 입력 비디오 스트림으로부터 입력 이미지를 수신하고 하나의 입력이 하나의 출력을 생성하도록 하나의 동작으로 출력 합성기 메타데이터를 생성함으로써, 선형 방식으로 생성되는, 방법.
3.
임의의 선행하는 EEE의 방법에 있어서, 제1, 제2 및 제3 슬라이딩 윈도우 각각은, 시간 경과에 따라, 입력 비디오 스트림의 연속적인 부분들을 수신하는 버퍼이고, 버퍼가 시간 경과에 따라 입력 비디오 스트림에 걸쳐 슬라이딩하여, 부분들 각각이 연속적인 이미지들의 세트에 대한 데이터를 저장하는, 방법.
4.
임의의 선행하는 EEE의 방법에 있어서, 제1, 제2 및 제3 슬라이딩 윈도우는 구성 가능한 버퍼 길이를 갖는 링 메모리 버퍼를 포함하는, 방법.
5.
EEE 4의 방법에 있어서, 통계 데이터는 구성 가능한 버퍼 길이를 갖는 통계 링 버퍼에서 획득되고, 버퍼 길이는 제1, 제2 및 제3 슬라이딩 윈도우의 버퍼 길이에 기초하여 구성되는, 방법.
6.
임의의 선행하는 EEE의 방법에 있어서, 획득된 통계 데이터는, 제1 및 제2 이미지에 대한, 장면 컷 데이터, 휘도 및 크로마 통계를 포함하는, 방법.
7.
임의의 선행하는 EEE의 방법에 있어서, 제1 슬라이딩 윈도우는 제1 슬라이딩 윈도우의 대응하는 이미지에서 신규 장면들에 대응하는 하나 이상의 장면 컷 플래그를 포함하고, 장면 컷 플래그들은 각 장면에 대한 제1 매핑 함수에 적용되는 평활화를 야기하는, 방법.
8.
임의의 선행하는 EEE의 방법에 있어서, 제2 슬라이딩 윈도우는 제1 및 제2 이미지의 히스토그램 통계를 포함하고, 히스토그램 통계는 제1 또는 제2 이미지의 화소에 대한 코드워드를 각각 나타내는 하나 이상의 빈을 포함하는, 방법.
9.
EEE 8의 방법에 있어서, 히스토그램 통계는 계산 부하를 감소시키기 위해 다운-샘플링된 제1 및 제2 이미지를 포함하고, 제1 및 제2 이미지는 제1 또는 제2 이미지의 화소에 대한 코드워드를 각각 사전 결정된 수의 비중첩 빈으로 분할함으로써 다운-샘플링되는, 방법.
10.
임의의 선행하는 EEE의 방법에 있어서, 제1 매핑 함수를 결정하는 단계는 제1 및 제2 누적 히스토그램에 기초하여 휘도 매핑 함수를 결정하는 것을 포함하고, 제1 및 제2 누적 히스토그램은 각각 제1 및 제2 이미지의 휘도 통계로부터 계산되는, 방법.
11.
EEE 10의 방법에 있어서, 상이한 윈도우 길이의 하나 이상의 평활화 윈도우를 사용하여 검출된 장면 컷 데이터에 기초하여 제1 매핑 함수에 대해 평활화 동작을 수행하는 단계를 더 포함하는, 방법.
12.
EEE 10 또는 EEE 11의 방법에 있어서, 합성기 메타데이터를 생성하기 위해 제2 매핑 함수를 소구간별 다항식의 계수로 변환하는 단계를 더 포함하는, 방법.
13.
임의의 선행하는 EEE의 방법에 있어서, 제2 매핑 함수를 결정하는 단계는 제1 및 제2 이미지의 화소의 크로마 통계에 기초하여 다변량 다중 회귀(MMR) 행렬 계수를 계산하기 위해 최소 제곱 문제를 해결하는 것을 더 포함하는, 방법.
14.
EEE 13의 방법에 있어서, 최소 제곱 문제를 해결하는 것은 차분 함수를 최소화하는 것을 포함하는, 방법.
15.
임의의 선행하는 EEE의 방법에 있어서, 입력 비디오 스트림의 하나 이상의 이미지에 대해 색 공간 변환을 수행하는 단계를 더 포함하는, 방법.
16.
임의의 선행하는 EEE의 방법에 있어서, 합성기 메타데이터는 제1 이미지와는 별도의 이미지 메타데이터의 일부로서 비디오 신호로 타겟 디스플레이 디바이스에 반송되는, 방법.
17.
임의의 선행하는 EEE의 방법에 있어서, 제4 슬라이딩 윈도우에 기초하여 디스플레이 관리(DM) 메타데이터를 생성하는 단계를 더 포함하고, DM 메타데이터는 타겟 디스플레이에 최적화된 제2 이미지를 생성하기 위해 타겟 디스플레이 디바이스에 의해 사용될 것인, 방법.
18.
임의의 선행하는 EEE의 방법에 있어서, 합성기 메타데이터를 생성하는 단계는 각 이미지에 대한 고유한 메타데이터를 생성하는 것을 포함하는, 방법.
19.
임의의 선행하는 EEE의 방법에 있어서, 합성기 메타데이터를 생성하는 단계는 입력 비디오 스트림의 각 장면에 대한 고유한 메타데이터를 생성하는 것을 포함하는, 방법.
20.
임의의 선행하는 EEE의 방법에 있어서, 제1 또는 제2 이미지 중 적어도 하나는, IPT PQ(ICtCp) 색 공간, YCbCr 색 공간, RGB 색 공간, Rec. 2020 색 공간, Rec. 709 색 공간, 확장 동적 범위(EDR) 색 공간, 감마/HLG/PQ 색 공간 또는 표준 동적 범위(SDR) 색 공간 중 하나로 표현되는, 방법.
21.
임의의 선행하는 EEE의 방법에 있어서, 제1 이미지가 8, 9, 10 또는 11+ 비트 중 하나의 비트 심도를 포함하는, 방법.
22.
임의의 선행하는 EEE의 방법에 있어서, 제2 이미지가 8, 9, 10, 11, 12, 13, 14 또는 15+ 비트 중 하나의 비트 심도를 포함하는, 방법.
23.
디스플레이 관리 시스템에 의해 실행될 때 시스템으로 하여금 EEE 1 내지 22 중 어느 하나에서와 같은 방법을 수행하게 하는 명령어들이 저장되어 있는 비일시적 기계 판독 가능한 매체.
24.
EEE 1 내지 22 중 어느 하나에서와 같은 방법을 수행하도록 구성되는 처리 시스템 및 메모리를 포함하는 디스플레이 관리 시스템.
25.
3차원(3D) 매핑 통계를 사용하여 프로세서에 의한 루마/크로마 재성형 방법으로서,
제1 동적 범위의 제1 이미지를 포함하는, 이미지들의 세트를 갖는 입력 비디오 스트림을 수신하는 단계;
제1 이미지, 및 상기 제1 이미지에 대응하는 제2 동적 범위의 제2 이미지에 대한 3D 매핑 통계를 생성하는 단계 - 상기 제2 동적 범위는 상기 제1 동적 범위보다 더 높음 -;
제1 이미지에 기초하여 제2 이미지의 크로마 채널 값들을 추정하는 크로마 매핑 함수들을 생성하기 위해, 3D 매핑 통계에 기초하여 다변량 다중 회귀(MMR) 통계를 결정하는 단계; 및
합성기 메타데이터를 생성하는 단계 - 합성기 메타데이터는 디스플레이를 위해 제1 동적 범위에서 제2 동적 범위로 제1 이미지의 크로마 채널들을 매핑하기 위해 타겟 디스플레이 디바이스에 의해 사용될 크로마 매핑 함수들을 포함함 -를 포함하는, 방법.
26.
EEE 25의 방법에 있어서, 3D 매핑 통계는 제1 이미지의 양자화를 나타내는 3D 히스토그램을 포함하고, 제1 이미지는 다음의 것:
3D 히스토그램에 대한 복수의 빈을 초기화하는 것 - 각각의 빈은 대응하는 컬러 채널들을 갖는 다수의 화소를 나타냄 -;
제1 이미지의 복수의 화소를 스캐닝하는 것; 및
스캔된 화소의 컬러 채널들에 대응하는 복수의 빈 각각에 대한 카운터를 증가시키는 것에 의해 양자화되는, 방법.
27.
EEE 26의 방법에 있어서, 3D 히스토그램은 입력 비디오 스트림의 시간 내에서 미래의 입력 이미지들에 대해 일정한 최대 빈 카운트를 갖는, 방법.
28.
EEE 27의 방법에 있어서, 3D 히스토그램의 각 차원은 제1 이미지의 컬러 채널들에 대응하는, 방법.
29.
EEE 25 내지 28 중 어느 하나의 방법에 있어서, 제2 이미지에 대한 3D 매핑 통계는 평균화된 3D 크로마 채널 매핑 값들을 포함하는, 방법.
30.
EEE 29의 방법에 있어서, 평균화된 3D 크로마 채널 매핑 값들은 컬러 채널들 각각에 대한 개별 값인, 방법.
31.
EEE 25 내지 30 중 어느 하나에 있어서, 다변량 다중 회귀(MMR) 통계를 결정하는 단계는 3D 평탄화된 매핑표에 기초하여 다변량 다중 회귀(MMR) 통계를 결정하는 것을 포함하고, 각 3D 평탄화된 매핑표는 루마/크로마 매핑이 과반수의 화소 바이어스를 갖지 않도록 제1 이미지의 복수의 빈 중 하나를 나타내는, 방법.
32.
EEE 31에 있어서, 3D 평탄화된 매핑표는 3D 히스토그램의 빈에 대한 중심 값을 나타내는 복수의 평탄화된 매핑 값에 기초하여 계산되는, 방법.
33.
EEE 32의 방법에 있어서, 합성기 메타데이터를 생성하는 단계는 MMR 통계에 대한 최소 제곱 문제를 해결함으로써 MMR 계수를 생성하는 것을 포함하는, 방법.
34.
EEE 33의 방법에 있어서, MMR 통계가 누적 합계 MMR 행렬을 포함하는, 방법.
35.
EEE 34의 방법에 있어서, MMR 통계에 대한 최소 제곱 문제를 해결하는 것은 차분 함수를 최소화하는 것을 포함하는, 방법.
36.
EEE 25 내지 35 중 어느 하나의 방법에 있어서, 입력 비디오 스트림의 하나 이상의 프레임에 대해 색 공간 변환을 수행하는 단계를 더 포함하는, 방법.
37.
EEE 25 내지 36 중 어느 하나에 있어서, 합성기 메타데이터는 제1 이미지와는 별도의 비디오 프레임 메타데이터의 일부로서 비디오 신호로 타겟 디스플레이 디바이스에 반송되는, 방법.
38.
EEE 25 내지 37 중 어느 하나에 있어서, 합성기 메타데이터를 생성하는 단계는 각 비디오 프레임에 대한 고유한 메타데이터를 생성하는 것을 포함하는, 방법.
39.
EEE 25 내지 38 중 어느 하나에 있어서, 합성기 메타데이터를 생성하는 단계는 상기 입력 비디오 스트림의 각 장면에 대한 고유한 메타데이터를 생성하는 것을 포함하는, 방법.
40.
EEE 25 내지 39 중 어느 하나의 방법에 있어서, 제1 또는 제2 이미지 중 적어도 하나가, IPT PQ(ICtCp) 색 공간, YCbCr 색 공간, RGB 색 공간, Rec. 2020 색 공간, Rec. 709 색 공간, 확장 동적 범위(EDR) 색 공간, 감마/HLG/PQ 색 공간 또는 표준 동적 범위(SDR) 색 공간 중 하나로 표현되는, 방법.
41.
EEE 25 내지 40 중 어느 하나의 방법에 있어서, 제1 이미지가 8, 9, 10 또는 11+ 비트 중 하나의 비트 심도를 포함하는, 방법.
42.
EEE 25 내지 41 중 어느 하나의 방법에 있어서, 제2 이미지가 8, 9, 10, 11, 12, 13, 14 또는 15+ 비트 중 하나의 비트 심도를 포함하는, 방법.
43.
디스플레이 관리 시스템에 의해 실행될 때 시스템으로 하여금 EEE 25 내지 42 중 어느 하나에서와 같은 방법을 수행하게 하는 명령어들이 저장되어 있는 비일시적 기계 판독 가능한 매체.
44.
EEE 25 내지 42 중 어느 하나에서와 같은 방법을 수행하도록 구성되는 처리 시스템 및 메모리를 포함하는 디스플레이 관리 시스템.
45.
처리 시스템에 의한 루마 및/또는 크로마 재성형 방법으로서,
제1 이미지를 포함하는 제1 동적 범위의 이미지들을 포함하는 입력 비디오 스트림을 수신하는 단계;
입력 비디오 스트림의 제1 이미지에 대한 통계 데이터를 획득하는 단계 - 통계 데이터는 제1 이미지로부터 하나 이상의 이미지 관련 특징을 포함함 -;
제1 시간 지연에서, 입력 비디오 스트림에서 이미지들을 나타내는 데이터로부터 장면 컷 데이터를 결정하고, 제1 이미지의 통계 데이터, 입력 비디오 스트림의 시간 내에서 제1 이미지 이후의 하나 이상의 미리 보기 이미지의 통계 데이터, 및 입력 비디오 스트림의 시간 내에서 제1 이미지 이전의 하나 이상의 되돌아 보기 이미지의 통계 데이터에 기초하는 장면 컷 데이터를 제1 슬라이딩 윈도우에 저장하는 단계;
제2 시간 지연에서, 제2 슬라이딩 윈도우 및 기계 학습 모델에 기초하여 제1 동적 범위에서 제2 동적 범위로 제1 이미지에 대한 휘도 값들을 매핑하기 위한 제1 매핑 함수를 결정하는 단계;
제3 시간 지연에서, 제3 슬라이딩 윈도우 및 결정된 장면 컷 데이터에 기초하여 제1 매핑 함수에 평활화 동작을 수행함으로써 제2 매핑 함수를 결정하는 단계;
제3 시간 지연에서, 제2 및 제3 매핑 함수에 기초하여 제1 이미지에 대한 합성기 메타데이터를 생성하는 단계 - 제3 매핑 함수는 기계 학습 모델에 기초하여 제1 동적 범위에서 제2 동적 범위로 제1 이미지에 대한 크로마 컬러 채널들을 매핑하고, 생성된 합성기 메타데이터는 제2 동적 범위의 제1 이미지에 대응하는 제2 이미지를 표시하기 위해 타겟 디스플레이 디바이스에 의해 사용됨 -를 포함하는, 방법.
46.
EEE 45의 방법에 있어서, 입력 비디오 스트림으로부터 입력 이미지를 수신하고 하나의 입력이 하나의 출력을 생성하도록 하나의 동작으로 출력 합성기 메타데이터를 생성함으로써, 합성기 메타데이터가 선형 방식으로 생성되는, 방법.
47.
EEE 45 또는 46의 방법에 있어서, 제1 및 제2 슬라이딩 윈도우 각각은, 시간 경과에 따라, 입력 비디오 스트림의 연속적인 부분들을 수신하는 버퍼이고, 버퍼가 시간 경과에 따라 입력 비디오 스트림에 걸쳐 슬라이딩하여, 부분들 각각이 연속적인 이미지들의 세트에 대한 데이터를 저장하는, 방법.
48.
EEE 45 내지 47 중 어느 하나의 방법에 있어서, 제3 슬라이딩 윈도우에서의 장면 컷 데이터에 기초하여 제1 매핑 함수에 대해 평활화 동작이 수행되는, 방법.
49.
EEE 48의 방법에 있어서, 제1, 제2 및 제3 슬라이딩 윈도우는 구성 가능한 버퍼 길이를 갖는 링 메모리 버퍼를 포함하는, 방법.
50.
EEE 49의 방법에 있어서, 통계 데이터는 구성 가능한 버퍼 길이를 갖는 통계 링 버퍼에서 획득되고, 버퍼 길이는 제1, 제2 및 제3 슬라이딩 윈도우의 버퍼 길이에 기초하여 구성되는, 방법.
51.
EEE 45 내지 50 중 어느 한 방법에 있어서, 획득된 통계 데이터는, 제1 이미지에 대한 장면 컷 데이터, 최소/최대/평균 휘도 값들, 휘도 히스토그램, 및 휘도 히스토그램의 각각의 빈에 대한 크로마 포화 값들을 포함하는, 방법.
52.
EEE 51의 방법에 있어서, 휘도 히스토그램은 다운-샘플링된 히스토그램을 포함하고, 다운-샘플링된 히스토그램은 제1 이미지의 화소에 대한 코드워드를 사전 결정된 수의 비중첩 빈으로 분할함으로써 다운-샘플링되는, 방법.
53.
EEE 45 내지 52 중 어느 하나에 있어서, 하나 이상의 이미지 관련 특징은 제1 이미지의 최소, 최대 및 평균 화소 값들의 평균화된 제1, 제2, 제3 및 제4 차수의 조합을 포함하는, 방법.
54.
EEE 45 내지 53 중 어느 하나의 방법에 있어서, 하나 이상의 이미지 관련 특징은 평균 휘도 히스토그램을 포함하는, 방법.
55.
EEE 45 내지 54 중 어느 하나에 있어서, 하나 이상의 이미지 관련 특징은 휘도 히스토그램의 빈에 대한 평균화된 크로마 포화 값을 포함하는, 방법.
56.
EEE 45 내지 55 중 어느 하나의 방법에 있어서, 제1 슬라이딩 윈도우는 제1 슬라이딩 윈도우의 대응하는 이미지에서 신규 장면에 대응하는 하나 이상의 장면 컷 플래그를 포함하는, 방법.
57.
EEE 45 내지 56 중 어느 하나의 방법에 있어서, 기계 학습 모델이 하나 이상의 이미지 관련 특징에 기초하여 제2 이미지에 대한 휘도 값을 예측하는, 방법.
58.
EEE 45 내지 57 중 어느 하나의 방법에 있어서, 기계 학습 모델이 일반 선형 모델(GLM)을 포함하는, 방법.
59.
EEE 45 내지 58 중 어느 하나에 있어서, 합성기 메타데이터를 생성하기 위해 제1 매핑 함수를 소구간별 다항식의 계수로 변환하는 단계를 더 포함하는, 방법.
60.
EEE 45 내지 59 중 어느 하나에 있어서, 제4 슬라이딩 윈도우에 기초하여 디스플레이 관리(DM) 메타데이터를 생성하는 단계를 더 포함하고, DM 메타데이터는 타겟 디스플레이에 최적화된 제2 이미지를 생성하기 위해 타겟 디스플레이 디바이스에 의해 사용되는, 방법.
61.
EEE 45 내지 60 중 어느 하나의 방법에 있어서, 입력 비디오 스트림의 하나 이상의 이미지에 대해 색 공간 변환을 수행하는 단계를 더 포함하는, 방법.
62.
EEE 45 내지 61 중 어느 하나에 있어서, 합성기 메타데이터는 제1 이미지와는 별도의 이미지 메타데이터의 일부로서 비디오 신호로 타겟 디스플레이 디바이스에 반송되는, 방법.
63.
EEE 45 내지 62 중 어느 하나에 있어서, 합성기 메타데이터를 생성하는 단계는 각 이미지에 대한 고유한 메타데이터를 생성하는 단계를 포함하는, 방법.
64.
EEE 45 내지 63 중 어느 하나에 있어서, 합성기 메타데이터를 생성하는 단계는 입력 비디오 스트림의 각 장면에 대한 고유한 메타데이터를 생성하는 것을 포함하는, 방법.
65.
EEE 45 내지 64 중 어느 하나의 방법에 있어서, 제1 또는 제2 이미지 중 적어도 하나가, IPT PQ(ICtCp) 색 공간, YCbCr 색 공간, RGB 색 공간, Rec. 2020 색 공간, Rec. 709 색 공간, 확장 동적 범위(EDR) 색 공간, 감마/HLG/PQ 색 공간 또는 표준 동적 범위(SDR) 색 공간 중 어느 하나로 표현되는, 방법.
66.
EEE 45 내지 65 중 어느 하나에 있어서, 제1 이미지가 8, 9, 10 또는 11+ 비트 중 하나의 비트 심도를 포함하는, 방법.
67.
EEE 45 내지 66 중 어느 하나의 방법에 있어서, 제2 이미지가 8, 9, 10, 11, 12, 13, 14 또는 15+ 비트 중 하나의 비트 심도를 포함하는, 방법.
68.
디스플레이 관리 시스템에 의해 실행될 때 시스템으로 하여금 EEE 45 내지 67 중 어느 하나에서와 같은 방법을 수행하게 하는 명령어들이 저장되어 있는 비일시적 기계 판독 가능한 매체.
69.
EEE 45 내지 67 중 어느 하나에서와 같은 방법을 수행하도록 구성되는 처리 시스템 및 메모리를 포함하는 디스플레이 관리 시스템.
Claims (14)
- 처리 시스템(processing system)에 의한 루마 및/또는 크로마 재성형 메타데이터 생성 방법으로서,
제1 이미지(802)를 포함하는 제1 동적 범위(first dynamic range)의 이미지들을 포함하는 입력 비디오 스트림(input video stream)(104)을 수신하는 단계(단계 901);
상기 입력 비디오 스트림의 상기 제1 이미지를 나타내며 제2 동적 범위(second dynamic range)를 갖는 제2 이미지(801)를 수신하는 단계(단계 902) - 상기 제2 동적 범위는 상기 제1 동적 범위보다 더 높음 -;
상기 제1 및 제2 이미지에 대한 통계 데이터를 획득하고 상기 통계 데이터를 버퍼(502, 601)에 저장하는 단계(단계 903) - 획득된 상기 통계 데이터는 상기 제1 및 제2 이미지에 대한 휘도 및 크로마 통계를 포함함 -;
제1 시간 지연에서, 상기 제1 이미지(801), 상기 입력 비디오 스트림의 시간 내에서 상기 제1 이미지 이후의 하나 이상의 미리 보기(look ahead) 이미지, 및 상기 입력 비디오 스트림의 시간 내에서 제1 이미지 이전의 하나 이상의 되돌아 보기(look ahead) 이미지를 포함하는 제1 슬라이딩 윈도우(L3)에서의 상기 통계 데이터에 기초하여 장면 컷 데이터(scene cut data)를 결정하는 단계(단계 904);
제2 시간 지연에서, 제2 슬라이딩 윈도우(L2)에서 결정된 장면 컷 데이터 및 상기 통계 데이터에 기초하여 상기 제1 동적 범위에서 상기 제2 동적 범위로 상기 제1 이미지에 대한 휘도 값들을 매핑하기 위한 제1 매핑 함수를 결정하는 단계(단계 905);
제3 시간 지연에서, 제3 슬라이딩 윈도우(L1)에서 상기 결정된 장면 컷 데이터 및 상기 제1 매핑 함수에 기초하여 상기 제1 매핑 함수에 대해 평활화 동작(smoothing operation)을 수행함으로써 제2 매핑 함수를 결정하는 단계(단계 906);
상기 제3 시간 지연에서, 상기 제3 슬라이딩 윈도우(L1)에서 상기 결정된 장면 컷 데이터 및 상기 통계 데이터에 기초하여 상기 제1 동적 범위에서 상기 제2 동적 범위로 상기 제1 이미지에 대한 크로마 값들을 매핑하기 위한 제3 매핑 함수를 결정하는 단계(901); 및
상기 제3 시간 지연에서, 상기 제2 및 제3 매핑 함수에 기초하여 상기 제1 이미지에 대한 합성기 메타데이터(composer metadata)(810)를 생성하는 단계(단계 908) - 생성된 상기 합성기 메타데이터는 디스플레이를 위해 상기 제1 동적 범위에서 상기 제2 동적 범위로 상기 제1 이미지를 매핑하기 위해 타겟 디스플레이 디바이스에 의해 사용됨 -를 포함하는, 방법. - 제1항에 있어서, 상기 처리 시스템은 선형 인코더(linear encoder)이고, 상기 선형 인코더는 입력 프레임(input frame) 및 대응하는 합성기 메타데이터 사이에 구성 가능한 시간 지연(configurable time delay)을 갖는, 방법.
- 제1항 또는 제2항에 있어서, 상기 제1, 제2 및 제3 슬라이딩 윈도우 각각은, 시간 경과에 따라(over time), 상기 입력 비디오 스트림의 연속적인 부분들을 수신하는 버퍼이고, 상기 버퍼가 시간 경과에 따라 상기 입력 비디오 스트림에 걸쳐 슬라이딩하여, 상기 부분들 각각이 연속적인 이미지들의 세트(a set of consecutive images)에 대한 데이터를 저장하는, 방법.
- 제1항 내지 제3항 중 어느 항에 있어서, 상기 제1, 제2 및 제3 슬라이딩 윈도우는 구성 가능한 버퍼 길이를 갖는 링 메모리 버퍼(ring memory buffer)로 구현되는, 방법.
- 제4항에 있어서, 상기 통계 데이터는 구성 가능한 버퍼 길이를 갖는 통계 링 버퍼(statistics ring buffer)에서 획득되고, 상기 버퍼 길이는 상기 제1, 제2 및 제3 슬라이딩 윈도우의 버퍼 길이에 기초하여 구성되는, 방법.
- 제4항에 있어서, 상기 제2 슬라이딩 윈도우를 구현하는 상기 링 메모리 버퍼는 상기 제1 및 제2 이미지의 히스토그램 통계를 저장하고, 상기 히스토그램 통계는 상기 제1 또는 제2 이미지의 화소에 대한 코드워드를 각각 나타내는 하나 이상의 빈을 포함하는, 방법.
- 제9항에 있어서, 상기 히스토그램 통계는 상기 제1 또는 제2 이미지의 화소에 대한 코드워드를 각각 사전 결정된 수의 비중첩 빈(a predetermined number of non-overlapping bins)으로 분할함으로써 다운-샘플링되는, 방법.
- 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 제1 매핑 함수를 결정하는 단계는 제1 및 제2 누적 히스토그램에 기초하여 휘도 매핑 함수를 결정하는 단계를 포함하고, 상기 제1 및 제2 누적 히스토그램은 각각 상기 제1 및 제2 이미지의 휘도 통계로부터 계산되는, 방법.
- 제9항에 있어서, 상기 제2 매핑 함수는 백워드 재성형 참조표(backward reshaping look-up table; BLUT)인, 방법.
- 제10항에 있어서, 상이한 윈도우 길이의 하나 이상의 평활화 윈도우를 사용하여 검출된 상기 장면 컷 데이터에 기초하여 상기 제1 매핑 함수에 대해 평활화 동작을 수행하는 단계를 더 포함하는, 방법.
- 제10항 또는 제11항에 있어서, 상기 합성기 메타데이터를 생성하기 위해 상기 제2 매핑 함수를 소구간별 다항식의 계수(coefficients of piecewise polynomials)로 변환하는 단계를 더 포함하는, 방법.
- 제1항 내지 제11항 중 어느 한 항에 있어서, 상기 제3 매핑 함수를 결정하는 단계는 상기 제1 및 제2 이미지의 화소의 크로마 통계에 기초하여 다변량 다중 회귀(multivariate multiple regression; MMR) 행렬 계수를 계산하기 위해 최소 제곱 문제(a least square problem)를 해결하는 단계를 포함하는, 방법.
- 디스플레이 관리 시스템에 의해 실행될 때 상기 시스템으로 하여금 제1항 내지 제13항 중 어느 한 항에 따른 방법을 수행하게 하는 명령어들이 저장되어 있는 비일시적 기계 판독 가능한 매체.
- 제1항 내지 제13항 중 어느 한 항에 따른 방법을 수행하도록 구성되는 처리 시스템 및 메모리를 포함하는 디스플레이 관리 시스템.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862636388P | 2018-02-28 | 2018-02-28 | |
EP18159055 | 2018-02-28 | ||
US62/636,388 | 2018-02-28 | ||
EP18159055.5 | 2018-02-28 | ||
PCT/US2019/020115 WO2019169174A1 (en) | 2018-02-28 | 2019-02-28 | Linear encoder for image/video processing |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200106216A true KR20200106216A (ko) | 2020-09-11 |
KR102230776B1 KR102230776B1 (ko) | 2021-03-22 |
Family
ID=65657519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207025016A KR102230776B1 (ko) | 2018-02-28 | 2019-02-28 | 이미지/비디오 처리를 위한 선형 인코더 |
Country Status (9)
Country | Link |
---|---|
US (1) | US11310537B2 (ko) |
EP (1) | EP3759916A1 (ko) |
JP (1) | JP6952202B2 (ko) |
KR (1) | KR102230776B1 (ko) |
CN (1) | CN111788831B (ko) |
BR (1) | BR112020016821B1 (ko) |
RU (1) | RU2740034C1 (ko) |
UY (1) | UY38111A (ko) |
WO (1) | WO2019169174A1 (ko) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108962185B (zh) * | 2017-05-22 | 2020-05-29 | 京东方科技集团股份有限公司 | 一种降低显示画面亮度的方法、其装置及显示装置 |
US11277627B2 (en) | 2018-05-11 | 2022-03-15 | Dolby Laboratories Licensing Corporation | High-fidelity full reference and high-efficiency reduced reference encoding in end-to-end single-layer backward compatible encoding pipeline |
WO2020033573A1 (en) | 2018-08-10 | 2020-02-13 | Dolby Laboratories Licensing Corporation | Reducing banding artifacts in hdr imaging via adaptive sdr-to-hdr reshaping functions |
WO2020072651A1 (en) * | 2018-10-03 | 2020-04-09 | Dolby Laboratories Licensing Corporation | Reducing banding artifacts in backward-compatible hdr imaging |
US12086969B2 (en) | 2018-12-18 | 2024-09-10 | Dolby Laboratories Licensing Corporation | Machine learning based dynamic composing in enhanced standard dynamic range video (SDR+) |
US11663702B2 (en) | 2018-12-19 | 2023-05-30 | Dolby Laboratories Licensing Corporation | Image debanding using adaptive sparse filtering |
EP3734588B1 (en) | 2019-04-30 | 2022-12-07 | Dolby Laboratories Licensing Corp. | Color appearance preservation in video codecs |
US12003746B2 (en) | 2020-02-19 | 2024-06-04 | Dolby Laboratories Licensing Corporation | Joint forward and backward neural network optimization in image processing |
CN115668922A (zh) * | 2020-05-05 | 2023-01-31 | 交互数字Vc控股法国公司 | 针对SL-HDRx系统的SDR和HDR显示适应信号的色度提升 |
US11366811B2 (en) * | 2020-05-21 | 2022-06-21 | Sap Se | Data imprints techniques for use with data retrieval methods |
JP2023529134A (ja) * | 2020-06-03 | 2023-07-07 | ドルビー ラボラトリーズ ライセンシング コーポレイション | Hdrコンテンツを編集するための動的メタデータの計算 |
US11470139B2 (en) * | 2020-06-23 | 2022-10-11 | Comcast Cable Communications, Llc | Video encoding for low-concurrency linear channels |
WO2021262599A1 (en) | 2020-06-24 | 2021-12-30 | Dolby Laboratories Licensing Corporation | Image prediction for hdr imaging in open-loop codecs |
US11606605B1 (en) | 2021-09-30 | 2023-03-14 | Samsung Electronics Co., Ltd. | Standard dynamic range (SDR) / hybrid log-gamma (HLG) with high dynamic range (HDR) 10+ |
WO2023069585A1 (en) | 2021-10-21 | 2023-04-27 | Dolby Laboratories Licensing Corporation | Context-based reshaping algorithms for encoding video data |
US12096000B2 (en) * | 2021-12-08 | 2024-09-17 | Tencent America LLC | Method and apparatus for scene detection based encoding |
US11908167B1 (en) * | 2022-11-04 | 2024-02-20 | Osom Products, Inc. | Verifying that a digital image is not generated by an artificial intelligence |
WO2024169932A1 (en) * | 2023-02-16 | 2024-08-22 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for video processing |
CN118485750B (zh) * | 2024-07-16 | 2024-10-18 | 山东漫动信息科技有限公司 | 一种文创动漫内容资源共享方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017003525A1 (en) * | 2015-06-30 | 2017-01-05 | Dolby Laboratories Licensing Corporation | Real-time content-adaptive perceptual quantizer for high dynamic range images |
WO2017165494A2 (en) * | 2016-03-23 | 2017-09-28 | Dolby Laboratories Licensing Corporation | Encoding and decoding reversible production-quality single-layer video signals |
KR20200101990A (ko) * | 2018-02-14 | 2020-08-28 | 돌비 레버러토리즈 라이쎈싱 코오포레이션 | 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI479898B (zh) | 2010-08-25 | 2015-04-01 | Dolby Lab Licensing Corp | 擴展影像動態範圍 |
WO2012142471A1 (en) | 2011-04-14 | 2012-10-18 | Dolby Laboratories Licensing Corporation | Multiple color channel multiple regression predictor |
CN103535038B (zh) | 2011-05-16 | 2017-10-13 | 杜比实验室特许公司 | 用于分层vdr编码的有效架构 |
TWI575933B (zh) | 2011-11-04 | 2017-03-21 | 杜比實驗室特許公司 | 階層式視覺動態範圍編碼中之層分解技術 |
US9219916B2 (en) * | 2012-06-12 | 2015-12-22 | Dolby Laboratories Licensing Corporation | Joint base layer and enhancement layer quantizer adaptation in EDR video coding |
WO2014130343A2 (en) * | 2013-02-21 | 2014-08-28 | Dolby Laboratories Licensing Corporation | Display management for high dynamic range video |
JP5989934B2 (ja) | 2013-03-26 | 2016-09-07 | ドルビー ラボラトリーズ ライセンシング コーポレイション | マルチレイヤvdr符号化における知覚量子化ビデオコンテンツのエンコーディング |
US9584811B2 (en) | 2013-06-17 | 2017-02-28 | Dolby Laboratories Licensing Corporation | Adaptive reshaping for layered coding of enhanced dynamic range signals |
WO2015175549A1 (en) * | 2014-05-12 | 2015-11-19 | Apple Inc. | Techniques for hdr/wcr video coding |
EP3198556B1 (en) | 2014-09-26 | 2018-05-16 | Dolby Laboratories Licensing Corp. | Encoding and decoding perceptually-quantized video content |
EP3295450B1 (en) * | 2015-05-12 | 2020-07-01 | Dolby Laboratories Licensing Corporation | Backlight control and display mapping for high dynamic range images |
WO2017015397A1 (en) * | 2015-07-22 | 2017-01-26 | Dolby Laboratories Licensing Corporation | Video coding and delivery with both spatial and dynamic range scalability |
CN107431809B (zh) | 2015-07-27 | 2020-02-14 | 华为技术有限公司 | 图像处理的方法和装置 |
US10397586B2 (en) * | 2016-03-30 | 2019-08-27 | Dolby Laboratories Licensing Corporation | Chroma reshaping |
GB201611253D0 (en) * | 2016-06-29 | 2016-08-10 | Dolby Laboratories Licensing Corp | Efficient Histogram-based luma look matching |
CN109792523B (zh) * | 2016-08-30 | 2022-11-04 | 杜比实验室特许公司 | 单层后向兼容编解码器的实时整形 |
EP3510772B1 (en) | 2016-09-09 | 2020-12-09 | Dolby Laboratories Licensing Corporation | Coding of high dynamic range video using segment-based reshaping |
US10264287B2 (en) | 2016-10-05 | 2019-04-16 | Dolby Laboratories Licensing Corporation | Inverse luma/chroma mappings with histogram transfer and approximation |
CN107995497B (zh) * | 2016-10-26 | 2021-05-28 | 杜比实验室特许公司 | 高动态范围视频的屏幕自适应解码 |
JP6684971B2 (ja) * | 2017-01-18 | 2020-04-22 | ドルビー ラボラトリーズ ライセンシング コーポレイション | ハイダイナミックレンジ映像を符号化するためのセグメントベース再構成 |
WO2018136432A1 (en) | 2017-01-18 | 2018-07-26 | Dolby Laboratories Licensing Corporation | Segment-based reshaping for coding high dynamic range video |
WO2018231968A1 (en) | 2017-06-16 | 2018-12-20 | Dolby Laboratories Licensing Corporation | Efficient end-to-end single layer inverse display management coding |
-
2019
- 2019-02-28 JP JP2020543774A patent/JP6952202B2/ja active Active
- 2019-02-28 WO PCT/US2019/020115 patent/WO2019169174A1/en unknown
- 2019-02-28 KR KR1020207025016A patent/KR102230776B1/ko active IP Right Grant
- 2019-02-28 UY UY38111A patent/UY38111A/es unknown
- 2019-02-28 CN CN201980015997.9A patent/CN111788831B/zh active Active
- 2019-02-28 US US16/975,096 patent/US11310537B2/en active Active
- 2019-02-28 BR BR112020016821-1A patent/BR112020016821B1/pt active IP Right Grant
- 2019-02-28 RU RU2020128275A patent/RU2740034C1/ru active
- 2019-02-28 EP EP19708917.0A patent/EP3759916A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017003525A1 (en) * | 2015-06-30 | 2017-01-05 | Dolby Laboratories Licensing Corporation | Real-time content-adaptive perceptual quantizer for high dynamic range images |
WO2017165494A2 (en) * | 2016-03-23 | 2017-09-28 | Dolby Laboratories Licensing Corporation | Encoding and decoding reversible production-quality single-layer video signals |
KR20200101990A (ko) * | 2018-02-14 | 2020-08-28 | 돌비 레버러토리즈 라이쎈싱 코오포레이션 | 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형 |
Also Published As
Publication number | Publication date |
---|---|
BR112020016821A2 (pt) | 2020-12-15 |
BR112020016821B1 (pt) | 2022-08-09 |
JP2021510885A (ja) | 2021-04-30 |
RU2740034C1 (ru) | 2020-12-30 |
JP6952202B2 (ja) | 2021-10-20 |
KR102230776B1 (ko) | 2021-03-22 |
UY38111A (es) | 2019-10-01 |
US20210092461A1 (en) | 2021-03-25 |
CN111788831A (zh) | 2020-10-16 |
EP3759916A1 (en) | 2021-01-06 |
CN111788831B (zh) | 2022-06-14 |
WO2019169174A1 (en) | 2019-09-06 |
US11310537B2 (en) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102230776B1 (ko) | 이미지/비디오 처리를 위한 선형 인코더 | |
US10419762B2 (en) | Content-adaptive perceptual quantizer for high dynamic range images | |
EP3281409B1 (en) | In-loop block-based image reshaping in high dynamic range video coding | |
CN110178374B (zh) | 用于对高动态范围视频进行编码的基于段的整形 | |
CN107771392B (zh) | 用于高动态范围图像的实时内容自适应感知量化器 | |
CN112106357A (zh) | 端对端单层后向兼容编码流水线中的高保真度全参考和高效部分参考编码 | |
US10223774B2 (en) | Single-pass and multi-pass-based polynomial approximations for reshaping functions | |
EP3510772A1 (en) | Coding of high dynamic range video using segment-based reshaping | |
US11341624B2 (en) | Reducing banding artifacts in HDR imaging via adaptive SDR-to-HDR reshaping functions | |
WO2018231968A1 (en) | Efficient end-to-end single layer inverse display management coding | |
WO2018049335A1 (en) | Coding of high dynamic range video using segment-based reshaping | |
US20160012573A1 (en) | Method and device for selecting an image dynamic range conversion operator | |
EP3639238A1 (en) | Efficient end-to-end single layer inverse display management coding | |
US20230039038A1 (en) | Rate-control-aware reshaping in hdr imaging | |
US11895416B2 (en) | Electro-optical transfer function conversion and signal legalization | |
CN110999300B (zh) | 用于图像/视频处理的单通道逆映射 | |
EP3226563B1 (en) | Chroma reshaping | |
CN115428006A (zh) | 用于确定色调映射曲线参数的编码器、解码器、系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |