音视频开发基础,关于视频的编码

本文介绍了图像的物理现象,如分辨率,以及RGB和YUV两种数值表示方式。RGB用于彩色图像,而YUV主要用于视频,以节省带宽。讨论了视频压缩的重要性,特别是JPEG作为静态图像压缩标准的局限性。YUV色彩空间中,Y表示亮度,U和V描述色度,常见采样格式如4:2:0。由于图像和视频数据量大,压缩算法如JPEG是必要的,但视频还需考虑帧间编码。
摘要由CSDN通过智能技术生成

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字节的内存 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值