1.4 图像的物理现象
分辨率:假设一部手机的分辨率是1280x720 说明水平方向有720个像素点,竖直方向有1280个像素点,所以整个手机有1280x720个像素点,每个像素点都有三个子像素点构成,
1.5 图像的数值表示
1.5.1 RGB表示方式
音频可以用16bit来表示,但是视频呢 ,通常有一下两种方式
1、浮点表示:取值范围0.0-1.0 比如在openGL ES中对于每一个子像素点表示使用的就是这种方式
2、整数表示:取值范围 0-255或者00-ff 8个比特表示一个子像素,32个比特表示一个像素,这就是类似于某平台上表示图像格式的 RGBA_8888数据格式,比如android平台的RGB_565的表示方式是用16比特表示一个像素 R用5个比特表示,G用6个比特表示 B用5个比特表示。
对于一个图像,想要用整数方式来描述,计算1280x720的RGBA_8888图像的大小 就用如下公示
1280x720x32/8=3.516mb
所以一张图像的罗数据是非常大的,在网络上进行传输是不太可能的,所以就有了图像的压缩算法,比如JPEG压缩,这是静态图的压缩标准 ,这个也是一种有损压缩。但是这种压缩不能直接用于视频压缩,因为对于视频来说,还有一个时域上的因素需要考虑。也就是说 不仅仅要考虑帧内编码,还要考虑帧间编码
1.5.2 YUV的表示方式
对于视频帧的裸数据表示,更多的是用YUV数据格式表示,YUV主要应用在优化彩色视频信号的传输,与RGB相比最大的有点在于只需要占用很少的频宽,其中Y表示亮度,U和V表示色度 他们的作用是描述影像的色彩和饱和度。
所谓的亮度是透过RGB输入信号建立的,方法是将rgb信号的色度部分叠加在一起,色度定义了颜色的两个方面——色调和饱和度,分别用cr和cb表示,cr表示了rgb输入信号红色部分与rgb信号亮度值之间的差异,cb反映了蓝色部分输入信号与rgb信号亮度至之间的差异
之所以采用YUV色彩空间,是因为亮度信号Y和色度信号U、V是分离的,如果只有Y信号分量而没有U、V分量,那么这样表示的图像就是黑白灰度图,
常用的表达方式是说,Y、U、V 都用一个字节来表示,所以取值番位就是0-255,在广播电视系统中不传输很低和很高的数值,是因为防止信号变动造成的裹在,因而把这两边的数值作为保护带,不论是Rec.601还是BT.709的广播电视标准中,Y的取之烦诶都是16-235 U、V的取值都是16-240
YUV最常用的采样格式是4:2:0 ,这不是一味这只有Y和Cb没有Cr 他是指对于每行扫描线来说,只有一种色度分量是以2:1的抽样率才存储的,相邻扫描行存储着不同的色彩分量 也就是说 如果某一行是4:2:0 那么下一行一定是4:0:2 在下一行是4:2:0 ,,对于每一个色度分量来说,水平方向和竖直方向的抽样率都是2:1 所以可以说色度的抽样率是4:1 对非压缩的8比特量化的视频来说 8x4的一张图片需要占用48字节的内存