CODE & ZEN

凯旋的博客

我是孙凯旋 @skx926
一名来自中国的 iOS 开发者
写过 Android
也会点 Web
深知付出更多才能收获更多
唯有在技术的道路上勤勤恳恳
方得片刻安心


隐藏在4K电视中的猫腻

最近乔迁新居,媳妇又很喜欢看电视,因此准备买一台电视。

某东上看了一圈之后发现现在的大屏电视基本上都支持4K分辨率。这让我颇感意外,因为现在4K的片源还不是很多,电视直播的信号甚至离1080p也都差的远。但是作为一个追求极致视觉体验的人,看到电视行业能够继续发展也是很欣慰的。

现在互联网电视也是蓬勃发展,某米电视在某东上80万+的评论也充分的证明了这一点。原本我准备直接在某东上直接购买这一款畅销的电视,但是我媳妇是个细心的人,她还是想要去线下的电视卖场去看看。所以我们暂时没买,这一步的操作也为我们节省了几百块的运费。

在我们看了几家不同品牌的4K电视之后,发现了一些隐藏在4K电视中的猫腻。要搞清楚这其中的猫腻,我们就得先了搞清楚屏幕显示的原理。

屏幕显示原理

传统的液晶电视屏幕是通过RGB(红绿蓝)三原色来调和色彩及亮度显示点。因此每个像素点实际上有3个RGB字像素,这3个子像素分别根据信号显示不同的亮度就能够调制出一个像素的颜色。

传统的全高清1080p的分辨率为1920 x 1080,4K分辨率就是在其之上横向和纵向都增加了一倍的像素点即3840 x 2160,总共有3840 x 2160 = 830万个像素点,也就是830万 x 3 = 2400万个子像素。

4色4K和3色4K

3色4K也就是传统意义上的4K,而现在市面上流行一种4色4K的面板,如果只看名字的话我们很容易会觉得4色4K要比3色4K要好,毕竟多了一个颜色嘛,然而事实并不是这样。

RGBW

所谓的4色就是在RGB的基础上多加了一个w(白),但是这个白色并不是额外增加的,而是占用了原有的RGB的位置。这是什么意思呢?

如上图所示,新增加的白色并不是我们所期望的一个像素具有RGBW四个子像素而是占据了原有子像素的位置,使得每4个像素点中就有3的像素点无法包含完整的RGB信息。

所以这种4色4K屏幕的有效像素数量其实是2880 x 2160,这样的分辨率只能叫做3K或者假4K,因为它相比真正的4K分辨率少了25%的有效色彩信息。

如果用这种屏幕来显示4K分辨率的图像会是什么结果?

由于大多数的像素点无法显示完整的色彩信息,所以最终显示的效果就会明显失真。比如某一个像素本来是包含RGB三个子像素,如果把其中的B(蓝色)换成W(白色),根据光学原理我们可以知道这个像素点的色彩就会偏向黄色。

上图左侧是RGB显示效果,右侧是RGBW显示效果,我们可以明显看出画面整体变暗,色彩失真。

那么问题来了?如果用它来显示1080p的画面会是什么效果?我们知道,4k的分辨率正好是1080p的4倍,所以用4K屏显示1080p的画面的话就是使用4个像素点来显示同一个像素点的内容。那么同样的,使用这种假4K的屏幕也是用4个像素点来显示一个像素的内容,但问题在于这4个像素点里面有3个都不能显示准确的RGB信息。所以我们可以得到一个结论,这种假4K屏的实际显示效果反倒不如1080p的屏幕。

WRGB

乍一看和RGBW貌似只是把W的位置换了个地方,但其实大有不同,WRGB是真4K。

WRGB四色技术是LG OLED有机电视面板所独有的。这个技术其实就是单纯的将每个像素的子像素由三个增加到四个。不仅提升了画面的亮度,降低了功耗,同时丝毫不影响画面的清晰程度。而且子像素的总数还增加到了3840×2160×4。但是这种四色面板对技术的要求比较高,成本也比较难控制,使其只能应用于高端的机型,推广起来十分困难。

RGBY

RGBY就是在原有的红绿蓝三原色的基础上又增加了一个黄色,利用人眼对于绿色和黄色敏感度比较高的生理特点来提升清晰度。

钻石PenTile排列

除了上面的几种在一个像素的子像素之中做文章的技术之外还有一种在相邻像素的子像素的数量和排列方式上做文章的技术————钻石PenTile排列。

简单来说,传统的RGB像素排列要求所有的子像素在面积、形状、排列完全一致,除颜色不同之外(但排列也有明显的规律),所有的子像素看上去就像是彼此复制的。所以我们平时见到的除方向不同之外,都显得非常整齐、规则。但是PenTile排列下的屏幕则因为排列的不同而很容易分辨,最常见的情况是三种颜色的子像素不仅彼此之间拥有不同的面积,形状、排列位置也都不相同,因此整块面板看山去像是整个由RGB子像素组成的像素单元的复制,而且在某些特殊的排列下,某种颜色的子像素可能是圆形,而其他的两种子像素则一个宽大、一个窄小。更加具体的来说,PenTile排列无论如何变换子像素的形状,视觉上的基本规律都可以看成四个子像素将其他两种颜色的子像素包围在其中。PenTile排列技术最关键的地方就是利用不规则的子像素排列,以更少的子像素点代替更多的子像素点。按照设计这项技术的初衷,相较于一般的RGB排列,PenTile RGBG排列所需要的面板子像素点更少便可达到理论上相同的显示效果。

上图为两个不同类型的Pentile排列方式,第二种即为钻石PenTile。

PenTile排列的优点上面已经说了,他的缺点也显而易见,由于排列不规律且相邻像素之间采用公用的子像素,很容易出现颗粒感强、毛边突出、锯齿感严重等问题。

解决这些问题的方案简单粗暴,就是堆砌分辨率。比如720p的分辨率画面不够好的话就用更加精细的1080p来中和PenTile排列所带来的问题。例如三星的Galaxy系列手机就是以高分辨率、高达四五百的ppi著称,其实人眼根本就不需要这么高的ppi,换句话说,它搞这么高的ppi一定程度上也是为了解决PenTile排列所带来的问题。

解码器

H.265/HEVC(High Efficiency Video Coding)是ITU-T VCEG 继H.264之后所制定的新的视频编码标准。相较于上一代的H.264可以节省近一半的数据量。而4K视频分辨率是1080p的4倍,数据量也大幅增加到1080p的4倍,这种情况下能够通过新的编码方式有效减少数据量可以说是非常重要。

然而国内到某些无良厂商在标榜4K电视的同时却不支持H.265视频的解码,也就是说无法播放4K视频,这是何等的可笑!

数据接口

对于一个真正的4K电视机,它除了要支持4K的分辨率,还得支持60Hz的刷新率。我们同时所观看的视频和电影一般都只有24或者30fps的帧率,那为什么需要60Hz的刷新率呢?

一方面,24或30fps的帧率观看普通的电影确实问题不大,但是对于一些变化比较多的场面,眼神好的同学还是能够看出来画面不够连续。这个时候比较高端一些的电视机就会使用动态补偿技术来对画面进行优化。简单来说动态补偿就是通过一定的算法对视频对相邻帧的画面进行计算将它插帧到更高到帧率来使画面更加流畅。如果你的屏幕只支持30Hz的刷新率,那肯定没办法来进行动态补偿了。

另一方面,现在的4K 60fps的片源还很少,很多人会把电视当作显示器来用。现在的显示器的刷新率基本都是60Hz以上,如果只有30Hz的刷新率,玩游戏的话就会让你感觉画面很不流畅。

HDMI

HDMI是(High Definition Multimedia Interface)的缩写,意思是高清晰度多媒体接口,是一种数字化视频/音频接口技术,适合影像传输的专用型数字化接口,可同时传送音频和影像信号。

现在的电视上一般都有HDMI接口,但是要支持4K 60fps的显示效果,HDMI接口的版本必须得在2.0以上。为什么这么说呢?我们来做一个计算:分辨率为3840 x 2160,帧率为60fps,那么每秒钟所需要传输的数据量为3840 x 2160 x 3 x 8bit x 60 = 11943936000bit = 11.94Gb,而HDMI 1.4的最大传输速率为10.2Gbps,无法满足4K 60fps的数据量,况且这还是在使用8位色、不算音频和HDR数据、传输效率100%的情况下。而HDMI 2.0的最大传输速率为18Gbps,可以满足此要求。

"假"HDMI 2.0

上面我们说了4K分辨率下正常输出60Hz所需要的带宽是HDMI 1.4所无法满足的。那么有没有什么办法呢?既然分辨率和刷新率都已经确定,那么要实现这个效果就只能在色深上面来做文章,如果RGB三原色所使用的24bit的数据量能够下降一半,那么HDMI 1.4就可以满足4K 60fps所需要的带宽了。YUV420正是实现这一目标的手段。

YUV是一种不同于RGB的颜色编码的方式,具体的介绍可以查看我的另一篇博文iOS音视频的那些事儿(一):数据的采集和编码,YUV420就可以在亮度信息完全保留的同时压缩颜色信息使得最终数据量只有原来的一半。这样压缩过的图像会在清晰度上有一定程度的损失,在看电影或者玩游戏的时候感受不是很明显,但是对于文字这种棱角分明的图图形就会有一些肉眼看可以觉察到的细节不足。

采用YUV420输出时,蓝色和红色字体会变得模糊

这种方式虽然也可以达到4K 60fps的显示目的,但是毕竟是一种临时的解决办法,不是每一款显示设备都支持YUV420的画面输入,同时除了NVDIA也很少有设备可以直接输出YUV420的画面。这就是为什么有些人购买了所谓的HDMI 2.0的电视,却无法正常输出4K 60fps画面的真正原因。

买到这类假HDMI 2.0电视的用户如果有一台带N卡的电脑,就可以在把显卡驱动升级到340.43以上的情况下,在显卡驱动设置中将颜色格式从YCbCr444改成YCbCr420来实现4K 60fps的显示效果。

DisplayPort

DisplayPort也就是DP接口,也是一种高清数字显示接口标准。DP 1.2版本就支持最高21.6Gbps的传输速率,完全可以胜任4K 60fps的带宽需求。现在一些新的显卡上面都会有一个或多个DP接口,但是一般的电视都没有DP接口,所以基本只能用在显示器上。

USB

有人说4K电视必须配置USB 3.0接口,使用USB 2.0无法流畅的播放4K视频。然而事实真的是这样吗?我们同样来做个计算。

以我下载的一部时长为54s,帧率为24,大小为307M的4K演示片Life of Pi Ultra-HD HDR.mp4为例,其平均码率为307MB / 54s = 6MB/s = 48Mbps, 由于这部片的码率的动态的,我们假设实际播放中的最大码率为平均码率的2倍即100Mbps,我们再假设它是一部60fps的片子,因此码率再增加一倍为200Mbps,因此我们可以推算出,如果要流畅的播放这部片子,USB的读取速度必须高于200Mbps / 8 = 25MB/s,而USB 2.0的最大传输速度为60MB/s,完全可以胜任。

你可能会问了,平时用U盘貌似没有这么快的速度啊,明明只有几M/s的速度。所以你也看出来了,制约USB传输速度的并不是协议的版本,而是U盘的闪存的速度。你用移动硬盘的话完全可以达到三四十M/s的速度。换句话说,如果你用一个劣质的U盘,即便是用USB 3.0的接口也可能无法流畅的播放4K视频。

虽然USB 2.0已经完全可以胜任4K视频的播放了,但是技术发展太快,指不定哪一天就不够用了。所以既然USB 3.0的标准已经出来了,能支持最好,由此我们也能从中看出厂商们对待产品的态度。

HDR

这是我从某东上面截的某个电视的产品介绍。HDR可以说是随着4K一起火了起来,但是可能很多人都不知道HDR到底是什么。

HDR全称High-Dynamic Range高动态范围,简单来说就是让画面黑的更黑,亮的更亮。相对的目前不含 HDR 效果的视频内容,都叫 SDR(一般动态范围)。

先来讲一下HDR的原理。衡量直射可见光的亮度单位是cd/m2,又叫尼特(nit)。伸手不见五指的黑即0尼特,星光是0.0001尼特,月光在0.01 - 1尼特之间,普通室内照明在100尼特,手机屏幕在300-500尼特左右,阳光明媚的白天则在10000 - 1百万尼特。人眼可感知的亮度范围是比较广的,传统标准亮度范围(SDR)可显示的亮度范围在0.01到100尼特之间,传统1080P蓝光碟最高亮度也就只有100尼特。而新一代的4K HDR电视则可以显示更广阔的亮度范围,从而大幅提升对比度。

在HDR效果的实现上,液晶电视和OLED电视的特点也是不同的。上文提到过OLED的显示原理,黑位更深,因此在暗部细节上的表现更为优秀,轻松就能覆盖更广阔的对比度;而液晶因为天然缺陷,黑位很难往下压(三星的量子点和索尼Z9D的局部光控技术都是对背光进行更细腻的控制),只能靠不断提升峰值亮度来提升对比度。

从上图可以看到,OLED最擅长表现的场面莫过于午夜星空,黑夜尽管黑得纯粹,而繁星点点照样闪亮,甚至是月光下的山脉、河流都可以看到;而液晶受制于背光,暗部细节损失的较多。在高曝光部分,液晶也容易损失亮部的细节,一个典型场面就是好莱坞大片中的爆炸,处理不好爆炸光球在SDR/普通液晶屏上会看到一块块白色亮斑;而OLED最高亮度虽然才300-400尼特,却可以表现出更多亮部的细节。可以说 OLED 相较于液晶的最大优势,就体现在HDR效果更为自然、逼真。

这里要澄清一个常见的误区,就是最高亮度越高,HDR 效果越好。这在液晶电视上是对的,但不适用于技术完全不同的OLED屏幕。我们以 Ultra HD Premium认证中提到的参数举例:

亮度1000尼特以上 / 黑位低于0.05尼特(主要针对LCD显示器)

亮度540尼特以上 / 黑位低于0.0005尼特(主要针对OLED显示器)

只要显示设备的峰值亮度与黑位达到其中一项,即可满足HDR的要求。可以看到,OLED的优势在于黑位远远低于LCD,而不是峰值亮度。

国内很多三四千元的低端4K液晶电视的最高亮度只有300多尼特,但是却在宣传中号称自己支持HDR,实际上离行业标准还差得远。他们所谓多HDR最多只能算是对图像的一种后期处理,在实际的体验中最直观的感受就是把颜色调的更加艳丽了而已,并没有更多细节的显示。

图像优化

在商场看了一圈电视之后,很多4K电视的画质完全就是油画脸,根本就没办法看。

这是某米的网友发出来新老电视画质对比图,这跟我去某米之家里观看演示片的感受差不多,大家可以自行感受。现在帖子已经被删了。

另一位网友的帖子很好的解答了我的疑惑,原帖可以看这里:

类似的 本来一个好好的标清视频到了这些个宇宙无敌的4K电视优化电路里 先“高端”无损放大 锐化(导致噪点增加) 去除噪点 (导致细节丢失 水粉画一样) 插帧 (导致动作不连续) 电平延伸 其实就是对比度加强 (直接导致高光死白 暗处黑乎乎 画面像版画 层次不真实)
甚至USM锐化 (感觉超现实了) HDR(改变真实场景的光线分布了,天空压暗,地面发亮,又超现实了) 肤色增强(导致肤色怪异,一个个人脸像猴屁股或者烤鸭,重口味) 伽马分段 ( 导致细微色彩过度丢失或加强 出现断层)

对于这样的优化,我只想说:QNMLGB!

参考文章

4K UHD TV: RGBW vs RGB 真4K和伪4K有什么差别? 别被厂商骗了 真假4k大起底 AMOLED PenTile屏幕真的那么“辣眼睛”吗?真相在此 谁说四色一定是伪4K? 教你慧眼识英雄 YUV420 破解“真假”HDMI2.0之谜 为什么4K电视必须配置USB3.0接口? 想买4K HDR 电视怕被坑?这篇文章就是为你准备的

最近的文章

OpenGL学习笔记(一):在Mac上编译GLFW并配置到Xcode项目

最近准备通过 LearnOpenGL 来学习一下OpenGL,环境配置的教程里面使用的开发工具是 Windows 上的 Visual Studio,而我想使用 Mac 上的 Xcode,在这里记录一下配置的过程。 下载 GLFW 源代码并安装 CMake 首先在GLFW的官网下载源代码 http:/ …

于  Graphic 继续阅读
更早的文章

iOS音视频的那些事儿(一):数据的采集和编码

AVFoundation简介 AVFoundation是苹果在iOS和OS X系统中用于处理基于时间的媒体数据的Objective-C框架. 供使用者来开发媒体类型的应用程序。 如果只是进行简单的视频录制,使用UIKit中的UIImagePickerController就可以了;如果需要播放视频, …

于  iOS 继续阅读
comments powered by Disqus