图像基础

2021年9月5日 | 分类: 【编程】

像素

视频的基础是图像。

图像是由很多“带有颜色的点”组成的。这个点,就是“像素点”。

“像素点”的英文叫Pixel(缩写为PX),由 Picture(图像) 和 Element(元素)这两个单词的首字母所组成。像素是图像显示的基本单位。

一幅图片的大小,例如是1920×1080,就是长度为1920个像素点,宽度为1080个像素点。

长和宽的乘积是2,073,600,可称这个图片是两百万像素。1920×1080,也被称为此图片的分辨率

1080P是一种视频显示格式,是美国电影电视工程师协会(SMPTE)制定的最高等级高清数字电视的格式标准,是数字电影成像技术和计算机技术的完美融合。

有效显示格式为:1920×1080,像素数达到207.36万。其数字1080则表示垂直方向有1080条横向扫描线,字母P 意为逐行扫描(Progressive Scan)。通常1080P的画面分辨率为1920×1080,即一般所说的高清晰度电视。

PPI

PPI是“Pixels Per Inch(每英寸像素数)”。即屏幕上每英寸面积内能放下多少个“像素点”。

PPI越高,图像就越清晰细腻。

苹果开创了史无前例的“视网膜(Retina)”屏幕,PPI值高达326(每英寸屏幕有326像素),画质清晰,再也没有了颗粒感。

颜色

计算机使用用数字来表述颜色,称为“彩色分量数字化”。

任何颜色,都可以通过红色(Red)、绿色(Green)、蓝色(Blue)按照一定比例调制出来。这三种颜色,被称为“三原色”

在计算机里,R、G、B也被称为“基色分量”。它们的取值,分别从0到255,一共256个等级(256是2的8次方)。任何颜色都可以用R、G、B三个值的组合表示。


▲ RGB=(183,67,21)

这种组合方式一共能表达的颜色组合:

256×256×256
=16,777,216

简称为1600万色

RGB三色,每色有8bit,这种方式表达出来的颜色,也被称为24位色(占用24bit)。

这个颜色范围已经超过了人眼可见的全部色彩,所以又叫真彩色。再高的话,对于人眼而言已经没有意义了,完全识别不出来。

视频

视频是大量的图片的连续播放。

在视频中,一个帧(Frame)就是指一幅静止的图片。帧率(Frame Rate)指视频每秒钟包括的画面数量(FPS,Frame per second)

帧率越高,视频就越逼真、越流畅。

视频的体积

视频如果未经编码,它的体积(数据量)是非常庞大的。

例如:一个分辨率1920×1280,帧率30的视频的体积是多少?

1. 先计算总共(Pixels 像素):

1920×1280
=2,073,600

2. 再计算总共bit,因为每个像素点是24bit:

2073600×24
=49766400

3. 再计算总共 Byte:

8 bit(位)
=1 Byte(字节)

1024 Byte
= 1 MB

49766400bit
=6220800Byte
≈6.22MB

4. 这样得到一幅1920×1280图片的原始体积,再乘以帧率30才是每秒视频的体积:

6.22MB×30
=186.6MB

答案:一个分辨率1920×1280,帧率30的视频的原始体积:每秒186.6MB,每分钟约11GB,那么一部90分钟的电影,大约是1000GB,约等于1TB。

太大了,所以需要进行编码,可以压缩体积,让视频变得体积更小,有利于存储传输

视频的编码

编码:就是按指定的方法,将信息从一种形式(格式),转换成另一种形式(格式)。

视频编码:就是将一种视频格式,转换成另一种视频格式。

视频从录制到播放的整个过程:

视频的编码技术

编码就是为了压缩。要实现压缩,就要设计各种算法,将视频数据中的冗余信息去除。

压缩算法的根本是找规律,寻找像素之间的相关性,还有不同时间的图像帧之间的相关性。

例如:一幅图(1920×1080分辨率),全是红色的,是否有必要记录2073600次[255,0,0]?或者记录一次[255,0,0],然后再描述2073599次“同上”。

例如:如果一段1分钟的视频,有十几秒画面是不动的;或者有80%的图像面积,整个过程都是不动的。那么这部分的存储空间是否可以节约?


▲ 以上图为例,只有部分元素在动,大部分是不动的

是的,所谓编码算法,就是寻找规律,构建模型。谁能找到更精准的规律,建立更高效的模型,谁就是厉害的算法。

视频里面的冗余信息包括:

视频编码技术优先消除的目标,就是空间冗余和时间冗余。

视频编码格式的标准化

世界上主流的视频编码标准:

1. ITU提出了H.261、H.262、H.263、H.263+、H.263++,这些统称为H.26X系列,主要应用于实时视频通信领域,如会议电视、可视电话等;

2. ISO/IEC提出了MPEG1、MPEG2、MPEG4、MPEG7、MPEG21,统称为MPEG系列

ITU和ISO/IEC一开始是各自捣鼓,后来,两边成立了一个联合小组,名叫JVT(Joint Video Team,视频联合工作组)。


▲ 压缩率对比


▲ 视频编码标准的发展关系

上图里面的HEVC,也就是现在流行的H.265

H.265作为一种新编码标准,相比H.264有极大的性能提升,目前已经成为最新视频编码系统的标配。

码率(Data Rate)是指视频文件在单位时间内使用的数据流量。

同样分辨率下,视频文件的码率越大,压缩比就越小,画面质量就越好。

264压缩率:250倍

265压缩率:500倍,实际300倍

视频数据的封装

对于任何一部视频而言,只有图像而没有声音,那是无声视频。

有声视频是对视频编码和音频编码一起进行封装。

封装:就是封装格式,简单来说,就是将已经编码压缩好的视频轨和音频轨按照一定的格式放到一个文件中。

目前主要的视频容器有如下:MPG、VOB、MP4、3GP、ASF、RMVB、WMV、MOV、Divx、MKV、FLV、TS/PS等。

封装之后的视频,就可以传输了,也可以通过视频播放器进行解码观看。

参考:http://www.52im.net/thread-2840-1-1.html