音视频编码的源数据

 Audio  PCM
音频编码的源数据 一 般都是PCM(Pulse-code modulation),说穿了就是将模拟信号的数据经过数字采样,量化以后的声音。举个简单的例子,比如一个正弦波的声音,我们从x坐标根据时钟来采集 信号,然后将这些x对应的Y值经过一定的运算最后存储为二进制数据,这就是脉冲调制编码PCM的基本原理 。而我们对音频的编码就是基于这个PCM,对其进行编码或者经过重新采样后进行编码。
当然PCM也有很多种,使用了一些比较先进的技术 ,DPCM和ADPCM等等,主要使用了声音上的特性以及编码上的一些技术。

Video  RGB
RGB是最早用在彩色显示器上的表示色彩空间 的方法,运用了RGB三原色的原理来产生色光。RGB的一个重要的特性就是说要使用比较多的位数来存储每种基色,这就意味着它的高清晰度以及相对应的比较 大的数据量。
比如说RGB565,他使用16位来存储一个像素:
RRRRRGGGGGGBBBBB
再比如RGB555,他也使用16位来存储一个像素,最高位没有数据:
XRRRRRGG GGGBBBBB
另外还有RGB24,使用24位来存储一个像素,每个像素点8位;另外还有RGB32使用32位来存储数据,8位或者空或者存储alpha信息。

Video YUV
YUV又称为YCbCr,实际上是一种数据压缩的色彩空间存储方式,其中Y是亮度,Cb和Cr是色度信息。如果只传输Y信息的话实际上就是我们的黑白图 像。
YUV对数据的压缩,我们举个例子YUV4:1:1,它的意思是每个像素有一个亮度值Y,每4个像素有一个Cb值,每4个像素有一个Cr值。这样相对于 RGB565,YUV4:1:1能节省16-(8+8/4+8/4) = 4位数据。
YUV 常见的格式还有YUV4:4:4,每个像素都有8位的Y和Cb和Cr数据。另外YUV4:2:0不是指Cr的数据为0位,而是交叉的每天扫描线上的像素每 4个像素有两个Cb或者Cr信息,比如现在的这条扫描线上是4:2:0的话,下一条扫描线上的像素就是4:0:2 ;

video的两种色彩空间表示方式中间都有现成的算法来实现他们之间的转换。

你可能感兴趣的:(算法,video,存储,audio)