DC娱乐网

你敢信?你手机里刷到的每一张照片、每一段视频,拆开看根本不是画面,而是一长串密密

你敢信?你手机里刷到的每一张照片、每一段视频,拆开看根本不是画面,而是一长串密密麻麻的0和1。

你刷到的照片和视频,看起来是风景、人物和各种颜色,可在手机和电脑眼里,它们都只是一串串0和1,两个看似单调的数字,经过层层编码,最后却能变成满屏的色彩、声音和流畅动作。

这套“魔法”每天都在发生,你点亮屏幕、打开相册、滑动短视频时,芯片、内存和显示器已经开始高速配合,只是过程快到人根本察觉不到。

计算机并不真正认识文字、颜色或画面,它最熟悉的只有两种状态:通电和断电。用数字表示,就是1和0。

所以,无论是文字、音乐、图片,还是一部电影,进入机器之后都要先被翻译成二进制,你看到的每一道光、每一种颜色、每一次镜头移动,背后都对应着一串数字。

数字越多,能表达的状态就越丰富,8个二进制位可以表示256种状态,24位就是2的24次方,结果是16777216,也就是我们常说的1677万种颜色。

一张照片在计算机眼中,也不是一整块完整的画面,而是由无数个很小的方格拼成的,这些小方格叫像素,屏幕上看到的细节,最终都要落实到一个个像素上。

比如一张800×600的图片,横向有800个像素,纵向有600个像素,总共就是48万个像素。像素数量越多,单位面积里能呈现的细节越丰富,画面通常也就越清晰。

每个像素显示什么颜色,要靠红、绿、蓝三种光混合出来,也就是RGB。计算机会分别给红色、绿色和蓝色分配一个数值,范围从0到255,数值越大,代表这种颜色的亮度越高。

红色取255,绿色取165,蓝色取0,混合出来就是橙色。三个颜色通道各占8位,合计24位,一个像素就能组合出16777216种颜色,这就是24位真彩色。

问题是,清晰的画面也意味着巨大的数据量。一张800×600的真彩色图片,如果完全不压缩,原始数据就有1.44MB左右。照片多一点还好,视频要是照这个方式保存,手机内存恐怕早就不够用了。

于是,图片需要压缩,常见的JPEG格式,会把画面拆成许多8×8的小块,再用数学方法分析其中的颜色和细节,把信息分成不同频率。

人眼对一些细碎纹理、高频边缘并不那么敏感,压缩时就会重点保留大致轮廓和主要色彩,把部分细节简化,甚至直接丢掉。正因为如此,JPEG图片放大后,边缘偶尔会出现模糊、色块和方格感。

被压缩掉的信息通常无法完整找回,但在正常观看距离下,人眼往往察觉不出差别,文件体积却可能缩小到原来的二十分之一左右,这就是压缩的取舍:少占空间,画质牺牲一点。

视频的原理更直观,它本质上是一张张静态图片快速连续播放,每一张图片就是一帧,按照每秒30帧计算,一分钟视频就包含1800帧。

如果每一帧都完整保存,数据量会大得惊人。可现实中的连续画面,很多内容根本没有变化。比如一个人坐在沙发上说话,房间、墙壁和沙发几乎不动,真正变化的可能只有嘴巴、眼睛和手部动作。

编码器会抓住这个特点,它先完整保存一张关键帧,后面的画面不再重复记录全部内容,而只记录和上一帧相比发生了什么变化,没有变化的区域,直接沿用之前的数据。

变化很小,就少记录一些;变化很大,就多记录一些。碰到镜头切换,编码器会重新插入关键帧,避免前面画面的错误一路传下去。

这套办法让视频压缩效率大幅提升,H.264可以把原始视频数据压缩到大约八十分之一,H.265在相同画质下还能比H.264节省约一半码率,更新的H.266又能在H.265基础上继续减少接近一半的数据量。

一部两小时的1080p电影,如果完全不压缩,原始数据大约需要1TB。经过H.264编码后,可能只剩5GB左右,前后相差约200倍。平时下载的电影、刷到的短视频,几乎都经历了类似的处理。

播放时,流程会反过来,播放器先读取那一长串0和1,再按照编码规则,把它们还原成每个像素的颜色、亮度和位置,交给显示器上的红、绿、蓝发光单元。

这些发光单元按照对应强度亮起,30帧、60帧,甚至120帧画面快速切换,我们的眼睛和大脑把一张张静止图片连在一起,于是就看到了连贯的动作。

从数字到画面,中间没有什么神秘力量,靠的是编码器和解码器之间共同遵守的规则,编码器负责把画面拆成数据,解码器负责把数据重新拼回画面。

如今,视频分辨率已经从1080p走向4K、8K,刷新率也从30帧提高到120帧,画面更细,动作更顺,压缩技术还在不断升级。但不管屏幕多先进,底层仍然是0和1在工作。

下一次滑动手机时,不妨想一想:你眼前的一帧画面,可能正由数百万个二进制数字穿过芯片、内存和屏幕驱动,最后变成一片真实可见的色彩。你看到的是画面,机器处理的始终只是数字。