查看: 13888|回复: 21
收起左侧

[讨论] 核显实战 4K HDR to SDR 折腾手册

[复制链接]
Q1628393554
发表于 2019-3-26 22:46:36 | 显示全部楼层 |阅读模式
本帖最后由 Q1628393554 于 2019-3-26 22:46 编辑

好久没在卡饭写点东西了,现在分区变化挺大啊,都有点不知道往哪个分区发帖了。不过,一般我发的帖子都是很快就沉了,好像发在哪里也无所谓,还是希望这帖子能对有需要的人有点帮助吧

帖子的核心是提供一种软件解决方案,以在低端电脑上最大限度地体验4K HDR,主要分享的是核显在普通1080显示器播放4K HDR的过程。为什么要这样播放?因为没钱啊!没钱买高端屏幕直接体验真HDR,也舍不得买好独显跳过薄弱的核显。所以,土豪或者无法忍受画质哪怕一丁点损失的用户请轻喷。那么,既然我的播放设备远没有达到4K HDR的水平,我为什么还要尝试播放呢?原因主要有以下几点:

(1)情怀:我手头唯一的4K HDR片源是《复联3》,因为情怀,因为喜欢,我下载了这种片源,即使我无法充分发挥其优势,我至少收藏了。

(2)学习:电视卖场到处宣传4K HDR,那么我需要学习一下这到底是什么,顺便也可以学习解码器、渲染器相关的知识,何乐而不为?

(3)体验:HDR to SDR的画面是否有意义?这个我不确定,不同软件可能得到不同的画面,但大体上,我觉得HDR to SDR的画面可能得到更多的亮场细节,而SDR片源可能对应一片死白,但代价是感官上,HDR to SDR好像没有SDR片源那么亮得耀眼,这个我后文将进行对比测试。

(4)防骗:实际上与第二条学习有关,现在好像是个电视都得挂个HDR的标签卖,然而事实是,廉价的HDR不存在,绝大部分低端HDR仅仅是解码芯片支持,屏幕并不达标,与我本文在电脑上的解决方案相同。So,低端HDR电视是否涉嫌虚假宣传?

重要的软硬件信息:
win10 64位  potplayer  madVR
i3-7100,Intel HD Graphics 630,HDMI 1.4 ,2 x DDR4 2400MHz 8G  

媒体信息:(4K HDR与1080P SDR)
HDR:
Video
ID                             : 1
Format                         : HEVC
Format/Info                    : High Efficiency Video Coding
Commercial name                : HDR10
Format profile                 : Main 10@L5@Main
Codec ID                       : V_MPEGH/ISO/HEVC
Duration                       : 2 h 29 min
Bit rate                       : 12.9 Mb/s
Width                          : 3 840 pixels
Height                         : 2 160 pixels
Display aspect ratio           : 16:9
Frame rate mode                : Constant
Frame rate                     : 23.976 (24000/1001) FPS
Color space                    : YUV
Chroma subsampling             : 4:2:0
Bit depth                      : 10 bits
Bits/(Pixel*Frame)             : 0.065
Stream size                    : 13.4 GiB (71%)
Title                          : CMCT团队出品
Writing library                : x265 2.3+32-1ed218717877:[Windows][GCC 6.3.0][64 bit] 10bit
Language                       : Chinese
Default                        : Yes
Forced                         : No
Color range                    : Limited
Color primaries                : BT.2020
Transfer characteristics       : PQ
Matrix coefficients            : BT.2020 non-constant
Mastering display color primar : Display P3
Mastering display luminance    : min: 0.0001 cd/m2, max: 1000 cd/m2

SDR:
Video
ID                             : 1
Format                         : AVC
Format/Info                    : Advanced Video Codec
Format profile                 : High@L4.1
Format settings                : CABAC / 5 Ref Frames
Format settings, CABAC         : Yes
Format settings, ReFrames      : 5 frames
Codec ID                       : V_MPEG4/ISO/AVC
Duration                       : 2 h 29 min
Bit rate                       : 7 800 kb/s
Width                          : 1 920 pixels
Height                         : 804 pixels
Display aspect ratio           : 2.40:1
Frame rate mode                : Constant
Frame rate                     : 23.976 (24000/1001) FPS
Color space                    : YUV
Chroma subsampling             : 4:2:0
Bit depth                      : 8 bits
Scan type                      : Progressive
Bits/(Pixel*Frame)             : 0.211
Stream size                    : 8.14 GiB (60%)
Title                          : MPEG-4 x264@High Profile L4.1, 24/1.001 fps @ 7800 kbps
Writing library                : x264 core 155 r2901 7d0ff22

后续的对比将以SDR片源为基准。

两种常用的HDR to SDR软件解决方案:

1、EVR(CP)自转换:大家常用的渲染器是EVR(CP),Potplayer开启 HDR SMPTE ST 2084 自动校正 像素着色器可完成本片源的转换,MPC-BE不需设置,全默认设置即可自动完成EVR(CP)下的HDR to SDR转换。该解决方案的资源占用极低,扔给HD 630 硬解并转换非常轻松。缺点是
颜色过饱和,尤其是红色,暂时不确定原因,希望大家能测试一下是否有类似问题。

2、madVR:坊间传说madVR的转换质量很高,代价是资源消耗高。下面的测试就使用 Potplayer 搭配 madVR播放。

变换过程4K HDR→1080P SDR可拆分为两步:(1)HDR → SDR ;(2)4K → 1080P,如果考虑解码,那么播放该片源的主要3个过程为:解码、转换、缩放。

解码可由CPU或GPU完成;转换已经选为madVR,并只能在GPU下完成;缩放可以在CPU或GPU完成。这里额外说明一点,madVR的缩放实际上有两个独立的步骤:chroma和image。本帖中,对应chroma upscaling和image downscaling。4K内容在1080显示器呈现时需要做image downscaling而不需要做chroma upscaling,1080内容在1080显示器显示时需要做chroma upscaling而不需要做image downscaling。后文所指的GPU缩放忽略chroma upscaling,仅指image downscaling。考虑实际的播放流程,共有以下4种方案:

1 1.png

2   2.png

3   3.png

4   4.png
方案1:不做任何后处理的情况下,i3-7100可以软解该HDR片源,在最高40Mbps码率的片段,CPU占用在70%附近,然而GPU在4K分辨率下做HDR转换吃不消,丢帧,放弃。

方案2:解码依旧由CPU完成,缩放实际用了后处理,potplayer有分辨率设置选项,注意是下图选项,不是视频渲染器中的缩放。选择较高质量的Lanczos算法,输出1080分辨率画面。由于解码与缩放都由CPU完成,CPU遇到瓶颈,在大约30Mbps码率时CPU会占满,这可不是个好现象,放弃。

5.png


方案3:其实推荐高端显卡用户这样做,GPU一条龙服务。可惜核显遇到了方案1同样的问题,4K分辨率做HDR转换费劲,放弃。

方案4:这个方案看起来很曲折啊,先由GPU解码,然后将数据发给CPU做缩放,最后将缩放完的数据再传给GPU做HDR转换。但是,个人觉得还是很巧妙啊,好处是GPU解码4K HEVC毫不费力,而CPU不解码,仅做缩放时性能又充足,最后核显在1080分辨率下做HDR转换性能也足够。这是我最终选择的方案,帧率稳定,电脑也不会卡顿。注:核显共享系统内存,对内存带宽敏感,实测单通道下,内存带宽遇到瓶颈导致丢帧,故方案4仅对双通道内存有效。具体设置如下:

         (1)D3D11模式下,显卡硬解,并Copy-Back回传数据。注:D3D11比D3D9效率更高。

6.png

         (2)后处理缩放,跟前文方案2相同。
5.png

         (3)开启madVR的HDR转换。

7.png

         个人建议使用 BT.2390 进行映射,并开启measure each frame's peak lumnance。测量每一帧的峰值亮度会额外消耗一定的计算资源,但如果不开,部分高亮场景的亮部画面会不够亮。大家可以根据喜好自行决定。我的设置最终效果如下图。

8.jpg

Q&A


1、在普通屏幕上观看HDR有什么意义?

前面提到过,对某些用户来说,收藏和学习的乐趣更大。至于你们更关心的体验不同,一般HDR to SDR后,亮场细节可能会比SDR片源丰富,代价是感官上,HDR to SDR好像没有SDR片源那么亮得耀眼。也许还有其他区别,请自行对比测试。下面给出几个对比图。其中第一组对比请关注左上角能量束,第二组对比请关注云彩。

10.jpg 9.jpg

11.jpg 12.jpg


2、我跟你的配置相同,但为什么我就可以使用前文方案3 GPU一条龙流畅播放?

请检查你的madVR是否开启了 compromise on tone & gamut mapping accuracy,在trade quality for performance选项卡。字面意思可知,牺牲质量换取性能,实测如果开启该选项,画面色彩会明显失真,建议开启,代价是明显提高计算资源占用。

3、我在网上花2000人民币购买了一台4K HDR电视,是否可以体验原汁原味的HDR?

不能。请保持冷静,以该价位,良心的商家会在宣传页的角落用小字写着“支持HDR指处理器支持HDR”,黑心的商家只会告诉你产品支持HDR,吹嘘画面有多好。HDR对屏幕有严格的要求,请自行查找相应资料。

4、你得到的HDR to SDR图像是标准的吗,尤其是对比图中?

这里可能根本就不存在标准。不同的软件,甚至是madVR本身都可以调节转换参数得到不同的结果。HDR强调更接近肉眼真实所见,所以在我看来,HDR to SDR就是一种失真,同样,对比肉眼所见,SDR片源本身就是失真的。


写完了,懒得总结什么了。希望大家冷静看待新技术、新产品,并能充分挖掘CPU及核显的能力

帖子里有什么错误欢迎大家批评指正,谢谢!







评分

参与人数 1人气 +1 收起 理由
New_Start. + 1 HDR参数在X265中是自己设置的,不知道压片.

查看全部评分

游龙云翔
发表于 2019-4-4 13:25:45 | 显示全部楼层
请教下支持4K的核显从那代哪个U开始,最近在找支持4K的核显CPU,inter的
风之咩~
发表于 2019-4-4 17:10:50 | 显示全部楼层
游龙云翔 发表于 2019-4-4 13:25
请教下支持4K的核显从那代哪个U开始,最近在找支持4K的核显CPU,inter的

6代HD530算核显大跃进

评分

参与人数 1人气 +1 收起 理由
Q1628393554 + 1 感谢解答: )

查看全部评分

Q1628393554
 楼主| 发表于 2019-4-4 20:03:53 | 显示全部楼层
游龙云翔 发表于 2019-4-4 13:25
请教下支持4K的核显从那代哪个U开始,最近在找支持4K的核显CPU,inter的

这个没太关注从哪开始,记得同是4K,但是否HEVC、8bit还是10bit,不同代核显的支持不同。
你的楼下回答了,参考下。不知你是想干什么呀?
海龙王_ccmd
发表于 2019-4-5 23:43:22 | 显示全部楼层
学习了,大神级的,但实在是太专业,看不懂。
另外,屏好像不支持4000,反正用7400带的核显,凑合着看。
Wovfer3847
发表于 2019-4-6 07:05:25 | 显示全部楼层
很有用的文章
收到慢慢消化研究一下
谢楼主
蓝色天气
发表于 2019-4-6 07:38:40 | 显示全部楼层
不是很懂 还是谢谢
Q1628393554
 楼主| 发表于 2019-4-6 08:05:33 | 显示全部楼层
海龙王_ccmd 发表于 2019-4-5 23:43
学习了,大神级的,但实在是太专业,看不懂。
另外,屏好像不支持4000,反正用7400带的核显,凑合着看。

没有你说的那么夸张了,就是我自己瞎折腾玩的。
看hdr不只要4K屏,还得屏支持HDR,还得要HDMI2.0传输,像我i3-7100的核显,只支持HDMI1.4,就算给我个  4K 真HDR的电视也没用。
海龙王_ccmd
发表于 2019-4-10 12:46:47 | 显示全部楼层
Q1628393554 发表于 2019-4-6 08:05
没有你说的那么夸张了,就是我自己瞎折腾玩的。
看hdr不只要4K屏,还得屏支持HDR,还得要HDMI2.0传输, ...

不知7400的核显是否支持?没查过。
其它硬件都不支持(应该是的)
Q1628393554
 楼主| 发表于 2019-4-10 19:52:41 | 显示全部楼层
海龙王_ccmd 发表于 2019-4-10 12:46
不知7400的核显是否支持?没查过。
其它硬件都不支持(应该是的)

是i5-7400 ?和我主贴的情况一样。
咱们核显都是 HD Graphics 630,我才知道的是,i3-7100的HD630竟然频率比i5-7400高0.1GHz,不过这点不会有实质性的差别。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-3-29 13:02 , Processed in 0.131485 second(s), 20 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表