胖蔡说技术
随便扯扯

图像及视频基础

图像表示方式

RGB表示

任何一个图像都可以由RGB组成,一个像素点的RGB常用的表示方式有以下几种:

  • 浮点表示 取值范围为0.0~1.0
  • 整数表示 取值范围为0~255或者00~FF,8个比特表示一个子像素,32个比特表示一个像素

对于一副图像,一般使用整数表示方法来进行描述,比如计算一张1280*720的RGBA_8888图像的大小:

1280*720*4 =3.516MB

这也是位图在内存中所占用的大小。

YUV表示

对于视频帧的裸数据表示,更多的是使用YUV格式来表示,YUV主要应用于彩色视频信号的传输,使其向后兼容老式黑白电视。YUV,是一种颜色编码方法。常使用在各个视频处理组件中。YUV在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的带宽。为了节省宽带,大多数YUV格式平均使用的每像素位数都少于24位。主要的抽样(subsample)格式有YCbCr4:2:0、YCbCr4:2:2、YCbCr4:1:1和YCbCr4:4:4。YUV的表示法称为A:B:C表示法。

4:4:4表示完全取样。
4:2:2表示2:1的水平取样,垂直完全采样。
4:2:0表示2:1的水平取样,垂直2:1采样。
4:1:1表示4:1的水平取样,垂直完全采样。

于RGB视频信号传输相比,它的有点在于只需要占用极少的频宽(RGB要求三个独立的视频信号同时传输)。其中Y表示明亮度,也称灰阶值;“U”和“V”表示的则是色度、浓度。

相较于RGB,我们可以计算一帧为1280*720的视频帧,用YUV420P的格式来表示,其数据量大小如下:

1280*720*1 +1280*720*0.5 = 1.318M

YUV和RGB的转换方法

YUV和RGB转化的公司在不同的电视标准所转换的标准是不一样的,如下:

709标准

视频编码

视频压缩是在尽可能保证视觉效果的前提下去除冗余信息来进行压缩。由于视频数据有较强的相关性,包含大量冗余信息,包括空间和时间上的冗余数据。

使用 帧间编码技术 可以去除时间上的冗余信息,具体包括一下几个部分:

  • 运动补偿 运动补偿是通过前一个的局部图像来预测、补偿当前的局部图像,他是减少帧序列冗余信息的有效方法(是一种描述相邻帧差别的方法,具体来说是描述前面一帧的每个部分如何移动到当前帧的某个位置去的)。
  • 运动表示
    不同区域的图像需要使用不同的运动矢量来描述运动信息。
  • 运动估计 从视频序列中抽取运动信息的一整套技术

使用 帧内编码技术 可以去除空间上的冗余信息。

ISO标准化组织制定了标准 MPEG 适用于动态视频的压缩算法。MPEG标准主要有以下五个:MPEG-1、MPEG-2、MPEG-4、MPEG-7以及MPEG-21.MPEG标准的视频压缩编码技术主要是利用了具有运动补偿的帧间压缩编码技术以减少时间冗余度,利用DCT技术以减少图片的空间冗余度,利用熵编码在信息表示方面减少了统计冗余度。与其相对应的ITU-T也制定了另一套独立的视频编码体系H.26x系列,常见的标准有:H.261、H.262、H.263、H.264、H.265。其中H.262和H.264为ISO和ITU-T两个组织共同制定的标准,H.262262等同于MPEG-2标准,H.264在ISO里被称为MPEG-4AVC。

赞(0) 打赏
转载请附上原文出处链接:胖蔡说技术 » 图像及视频基础
分享到: 更多 (0)

请小编喝杯咖啡~

支付宝扫一扫打赏

微信扫一扫打赏