Skip to main content

【计算机科学】计算机图像 从 4K 谈到 8K

· loading · loading ·
计算机科学 ComputerScience 计算机科学 ComputerScience
Jinbo Pan
Author
Jinbo Pan
A Life Explorer
Table of Contents

4k-to-8k-cover
之前看到一个新闻说日本 NHK 将会直播 8K 120fps 2020(21) 年日本奥运会。 感觉最近几年 4K 和 8K 一直都是很火的话题。由于自己最近特别想买 Apple TV 4K,以及想打造一个自己的家庭 4K 影视库,所以做了一些研究, 谈谈自己对 4K 和 8K 的看法,以及讨论下 8K 离我们还有多远。

李安的执着
#

第一次真正接触 4K 还是李安 2016 年的电影Billy Lynn’s Long Halftime Walk(比利林恩的中场战事)。 这个电影上映时,一直用 4K/3D/120fps 做宣传。当时就特别想感受下这个黑科技,但是后来发现全美只有两家电影院可以真正观看 4K/3D/120fps 的影片, 当时住在 LA,正好其中一个影院 The ArcLight Hollywood’s Cinerama Dome 在家附近,于是赶紧和朋友买了票去看。

由于当时刚刚来美国读书,英语听力极差,又没字幕,剧情完全是靠猜,看完和朋友讨论剧情,感觉我们两个就像看了不同的电影,两人各自理解的剧情根本对不上。 但是对于画面不得不说真的很逼真,我朋友甚至夸张到说他能感觉电影里面的人就在他的眼前动。可惜的是这部电影票房惨遭滑铁卢, 更惨的是今年李安上映的另外一部4K/3D/120fps电影Gemini Man好像也跟着扑街。但很欣赏李安导演坚持的精神, 据说他的下一部电影Thrilla in Manila好像依然会采用4K/3D/120fps

我知道我会被打倒,但我还要站起来,继续战斗。 – 李安

其实从只有两家电影院能放4K/3D/120fps电影可以看出,其实高清技术并没有我们想象那样成熟。想更深入了解4K,8K,我们还得从计算机如何处理颜色,图像以及视频说起。

色彩深度 Color Depth(Bit Depth)
#

颜色在计算机中由 n 位二进制数来表示:比如 8 位色深就是用 8 位 bit 来表示颜色,一共可以表示 2^8=256 种颜色。

True Color(24 bit) 分别用 8 位 bit 来表示 RGB,总共有 256256256 种颜色

8 位,10 位和 12 位 RGB 色深是我们现在使用计算机屏幕和电视机最常见的色彩深度。

color-bit-depth

色彩深度越高,颜色的渐变越平缓

像素与分辨率 Pixel&Resolution
#

简单的说一个像素就代表了一个颜色,而颜色则由一个二进制数表示。图片则由像素堆积而成,像素的个数称为分辨率。(计算机显示图片其实就是对一个二进制文件进行解码,即按照一定规则去解释这些 bit)

pixel-resolution

  • HD(1080p) 分辨率 1920*1080
  • 4K Ultra HD 分辨率 3840*2160 4K DCI(摄影机) 分辨率 4096*2160
  • 8K Ultra HD 分辨率 7680×4320

4K 8K 视频
#

视频其实就是图片的堆积,我们用帧率 fps 来表示 1 秒内的图片数量。4K 视频通常最高到 60fps(李安电影高达 120fps),8K 视频则通常最高到 120fps

fps

越高的 fps,影片越平滑

网络要求
#

我们可以计算下如果用 60fps 和 10bit RGB 色彩深度的 4K,8K 视频每秒需要传送的数据:

4K ColorDepth 10*3 * Pixel 3840*2160 * fps 60 = 15Gigabits

8K ColorDepth 10*3 * Pixel 7680*4320 * fps 60 = 60Gigabits

这还仅仅是图像,加上音频每秒所传输的数据将会更多。

通常 Ultra HD 视频采用 H.265(Netflix,Amazon Prime Video 等主流媒体) 或者 VP9(Youtube) 算法进行编码压缩,经过压缩后,4K 对网络带宽的要求至少为 25Mbps,8K 则对网络带宽的要求至少为 100Mbps。可以看到 Ultra HD 视频对网络带宽有很高的要求,尤其是对于 8K。最近 5G 网络的兴起,网络带宽的提高似乎就是为 8K 而生,但是即使达到了网络带宽的最低要求,8K 还面临着很多其他的挑战。

CPU GPU 解码
#

当终端收到视频数据后,需要对编码的数据进行解码,一般压缩比越大,解码就越费力。解码一般分为软解和硬解。

软解
#

软解就是用 CPU 跑解码程序来进行解码。这对 CPU 的要求特别高,多核多线程,对资源的消耗较大。如果视频码率较大,帧率较高例如达到 60fps,软解不一定吃得消。暴力软解 H.265 编码的高码数 4K,即使现在最好的 CPU 可能也会有卡顿。如果是软解 8K,那差不多就等于看 PPT。

https://www.youtube.com/watch?v=N1-Jmq7BLFE 大家可以尝试用 Chrome 软解这个 8K 视频 ( 其他浏览器可能看不到 8K 选项,因为 Youtube 所用的 VP9 是 Google 家的),我自己的电脑根本看不了。

硬解
#

硬解就是采用有集成专门解码电路的 GPU 进行解码。我们平时用的 4K TV 盒子都是采用专门的 GPU 进行硬解。但是现在能硬解 8K 的 GPU 特别特别少,而且还很贵 (Nvida Turing 几千刀) 。硬解会掉帧,效果没有软解好。(搜索了一下 4K 硬解掉帧,发现很多吐槽小米 4K TV 掉帧的帖子)

HMDI 2.0 vs HDMI 2.1
#

解码后得到了 4K 8K 信号数据,接下来就是把信号传输到显示器上。记得几年前,连接显示器和笔记本还在用 VGA 数据线 ( 带宽很小,而且不能传音频),后来渐渐地开始使用 HDMI。没错,传输 4K 和 8K 我们也需要 HDMI。

现在我们所在用的 HDMI 几乎都是 HDMI 2.0,我们之前算出来 60fps 和 10bit RGB 色彩深度的 4K 需要 15Gbps,所以 HDMI2.0 传输无压缩 4K 没有压力。但是对于 8K 就束手无策了。

hdmi-bandwidth

所以在 2017 年的时候发布了 HDMI2.1,将最高带宽提高到 48Gbps,根据下面的表格可以知道,在 Chroma Subsampling 以及 DSC(Display Stream Compression) 之后最多可以传输 10K 120fps 的信号

hdmi-standard

但是 2018 年到现在只有极少数的电视配有 HDMI 2.1 接口,原因主要是缺少 HDMI 2.1 电缆 (48Gpbs) 的支持。直到 2019 年 6 月 HDMI 论坛才表示即将完成对第一个系列 HDMI2.1 兼容电缆的认证。

8K 还有多远
#

至少现在来说现在 8K 没有网络支持,没有视频资源,没有硬件支持。

但相信明年日本奥运会后,8K 的资源会越来越多,随着各种硬件的升级,说不一定将来 8K 将会成为我们生活中的标配。

还挺期待 8K 的,想看看是不是真的有身临其境的感觉。

Apple TV 4K
#

最近在家想自己弄一套 4K 家庭影院,需要一个 4K 的盒子来解析 4K 片源。

Apple TV 4K 硬解 4K 视频据说毫无压力。

买吗?当然买!买!买!

但是现在的 Apple TV 4K 已经出了好几年了,希望最近能赶紧发布新的!忍住!等新的版本。