杜比視界的各種版本
Dolby Vision:支持12位色深和最大亮度10000尼特。截至 2018 年,專業(yè)參考顯示器(例如杜比視界 HDR 參考顯示器)目前的峰值亮度僅限于 4,000 尼特饲漾。它使用一種動態(tài)映射技術(shù),可以根據(jù)具體的場景動態(tài)地調(diào)整亮度和色彩逐工,以提供更好的觀看體驗凶朗。
HDR版本的Dolby Vison 包含profile5,profile8Dolby Vision IQ
杜比視界 IQ 并不是杜比視界的新版本趟庄,而是一組新的高級功能括细,使電視 OEM(原始設(shè)備制造商)能夠?qū)ζ洚a(chǎn)品進(jìn)行分級和差異化。
為此戚啥,杜比視界 IQ 使用杜比視界的動態(tài)元數(shù)據(jù)以及電視內(nèi)部的光傳感器奋单,根據(jù)房間內(nèi)的內(nèi)容和環(huán)境光線條件動態(tài)調(diào)整 HDR 畫面。
如果您從明亮的現(xiàn)場體育節(jié)目切換到較暗的電視節(jié)目猫十,電視會相應(yīng)調(diào)整以獲得最佳圖像览濒。這個想法是,你不需要做任何事情——無論房間里的光線有多少拖云,圖片看起來都會是正確的贷笛。
總的來說,杜比視界 IQ版本相對于原版增加了自適應(yīng)亮度調(diào)整功能宙项,可以更好地適應(yīng)不同的觀看環(huán)境乏苦,提供更加一致和出色的視覺效果。杜比影院(Dolby Cinema)
杜比影院 (Dolby Cinema) 也使用杜比視界 (Dolby Vision)尤筐,但由于 SDR 影院使用 2.6 伽馬汇荐,因此使用 48尼特,杜比影院 (Dolby Cinema) 中使用的 108 尼特已經(jīng)是 HDR叔磷。
理解杜比視界中的BL拢驾、EL、和RPU層
BL(basic layer )改基,表示HDR視頻原始素材繁疤,色深為10bit咖为。
RPU:杜比視界中必須要有的一個部分,通常里面包含著各類的“指導(dǎo)”數(shù)據(jù)稠腊,用于明確告知電視躁染,如何轉(zhuǎn)換顏色空間,HDR的動態(tài)映射(tone mapping)等等架忌。用比喻的說法PRU是一個視頻處理條例吞彤,明確寫著BL層的視頻應(yīng)該如何渲染及顯示。
EL(enhancement layer)叹放,EL可以是MEL(Minimal Enhancement Layer)饰恕,或者FEL(Full Enhancement Layer),MEL僅僅使用RPU層井仰,即杜比視界的元數(shù)據(jù)埋嵌。FEL不僅包含RPU,也包含額外的視頻數(shù)據(jù)俱恶。這些額外的視頻數(shù)據(jù)和BL層(10bit視頻)可以將視頻解碼成12bit雹嗦。
- 一個Dolby Vison profile5 視頻的RPU數(shù)據(jù)示例(使用ffmpeg5打印)
</frame>
<frame media_type="video" stream_index="0" key_frame="0" pts="48000" pts_time="2.000000" pkt_dts="48000" pkt_dts_time="2.000000" best_effort_timestamp="48000" best_effort_timestamp_time="2.000000" pkt_duration="1000" pkt_duration_time="0.041667" pkt_pos="2355214" pkt_size="26733" width="3840" height="2160" pix_fmt="yuv420p10le" sample_aspect_ratio="1:1" pict_type="B" coded_picture_number="0" display_picture_number="0" interlaced_frame="0" top_field_first="0" repeat_pict="0" color_range="pc" chroma_location="left">
<side_data_list>
<side_data side_data_type="Dolby Vision RPU Data"/>
<side_data side_data_type="Dolby Vision Metadata" rpu_type="2" rpu_format="18" vdr_rpu_profile="0" vdr_rpu_level="0" chroma_resampling_explicit_filter_flag="0" coef_data_type="0" coef_log2_denom="23" vdr_rpu_normalized_idc="1" bl_video_full_range_flag="1" bl_bit_depth="10" el_bit_depth="10" vdr_bit_depth="12" spatial_resampling_filter_flag="0" el_spatial_resampling_filter_flag="0" disable_residual_flag="1" vdr_rpu_id="0" mapping_color_space="0" mapping_chroma_format_idc="0" nlq_method_idc="-1" nlq_method_idc_name="none" num_x_partitions="1" num_y_partitions="1">
<components>
<component pivots="0 20 67 164 316 572 828 976 1021">
<pieces>
<section mapping_idc="0" mapping_idc_name="polynomial" poly_order="2" poly_coef="5179 20623868 -294552256"/>
<section mapping_idc="0" mapping_idc_name="polynomial" poly_order="2" poly_coef="88827 11315319 -25222884"/>
<section mapping_idc="0" mapping_idc_name="polynomial" poly_order="2" poly_coef="151516 9365857 -9355354"/>
<section mapping_idc="0" mapping_idc_name="polynomial" poly_order="2" poly_coef="277968 7675263 -3634208"/>
<section mapping_idc="0" mapping_idc_name="polynomial" poly_order="2" poly_coef="459586 6473369 -1628778"/>
<section mapping_idc="0" mapping_idc_name="polynomial" poly_order="2" poly_coef="670793 5687554 -894002"/>
<section mapping_idc="0" mapping_idc_name="polynomial" poly_order="2" poly_coef="934323 5034373 -488398"/>
<section mapping_idc="0" mapping_idc_name="polynomial" poly_order="2" poly_coef="20599870 -36279016 21211862"/>
</pieces>
</component>
<component pivots="0 1023">
<pieces>
<section mapping_idc="0" mapping_idc_name="polynomial" poly_order="1" poly_coef="-713407 11137402"/>
</pieces>
</component>
<component pivots="0 1023">
<pieces>
<section mapping_idc="0" mapping_idc_name="polynomial" poly_order="1" poly_coef="-196848 11127635"/>
</pieces>
</component>
</components>
dm_metadata_id="0" scene_refresh_flag="0" ycc_to_rgb_matrix="8192/8192 799/8192 1681/8192 8192/8192 -933/8192 1091/8192 8192/8192 267/8192 -5545/8192" ycc_to_rgb_offset="0/268435456 134217728/268435456 134217728/268435456" rgb_to_lms_matrix="17081/16384 -349/16384 -349/16384 -349/16384 17081/16384 -349/16384 -349/16384 -349/16384 17081/16384" signal_eotf="65535" signal_eotf_param0="0" signal_eotf_param1="0" signal_eotf_param2="0" signal_bit_depth="12" signal_color_space="2" signal_chroma_format="0" signal_full_range_flag="1" source_min_pq="7" source_max_pq="3079" source_diagonal="42" </side_data>
</side_data_list>
</frame>
杜比視界的各種profiles
profile5
- 像素格式為IPTPQ(類似于ICtCp)合是,該像素格式編碼后了罪,相比于YCbCr有更少的色彩損失
- 亮度傳遞函數(shù)為PQ
- 內(nèi)部有杜比私有函數(shù)來動態(tài)調(diào)整場景或者幀的顏色
profile7
- 雙層杜比,視頻可以被完整解碼為12bit
profile8
- 像素格式為YCbCr
- 亮度傳遞函數(shù)PQ(profile8.1)聪全,HLG(profile8.4)
- 不會動態(tài)調(diào)整場景或者幀的顏色泊藕,只會調(diào)整亮度
杜比視界中的metadata
- L0表示母帶制作時的顯示器特性和目標(biāo)顯示器的顯示特性
- L1 表示自動生成的動態(tài)元數(shù)據(jù),包括每個場景或者每幀的動態(tài)范圍 (min, avg, max)
- L2trims L3trims L8trims 表示人工手動生成的元數(shù)據(jù)荔烧,可以是每個場景或者每幀一個
- L5 表示顯示的ROI區(qū)域吱七,不在ROI區(qū)域的視頻顯示為黑色
L5 – Level 5 – Timeline Aspect Ratio Description
The aspect ratio of the project is described as L5 metadata in the exported XML. L5 is described as two values namely CanvasAspectRatio and ImageAspectRatio.
image.png - L6 表示整個播放序列的單個像素的最高亮度MaxCLL,和單幀平均最高亮度MaxFALL
- L9 表示動態(tài)色域元數(shù)據(jù)(since CMv4.0)
開源軟件支持情況
- Libplacebo 支持渲染Dolby Vison profile5中的 IPTPQc2鹤竭,并且支持其中的MMR和reshaping踊餐,但是不支持動態(tài)元數(shù)據(jù)和NLQ
- MPC Video Renderer支持部分杜比視界版本(Profiles5,8.1臀稚,8.4)
- 截止2024.5月吝岭,最新的FFmpeg已經(jīng)支持杜比profile=8的RPU層轉(zhuǎn)碼
mediainfo 查看一個dolby vison5 視頻示例
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5@High
HDR format : Dolby Vision, Version 1.0, dvhe.05.06, BL+RPU
Codec ID : dvh1
Duration : 1 min 2 s
Bit rate : 24.6 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 24.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0 (Type 0)
Bit depth : 10 bits
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.123
Stream size : 182 MiB (96%)
Default : Yes
Alternate group : 1
Color range : Full
Codec configuration box : hvcC+dvcC
參考資料