【音视频开发】音视频图像开发基础 I - 音频录制播放原理及相关概念、图像的表示、视频压缩算法

目录

1 音视频录制播放原理

 1.1 录制原理

 1.2 播放原理

2 图像的表示

 2.1 RGB格式

 2.2 YUV格式

3 视频中的重要概念 

 3.1 视频的属性

 3.2 视频的I,P,B帧 

4 常见的视频压缩算法


1 音视频录制播放原理

 1.1 录制原理

        若想记录生活中的影像又或声音,我们需要借助摄像头和麦克风两个输入源来实现对音视频的采集,而其内部工作原理也有章可循。

        如图:

        麦克风通过时钟控制频率去采帧,经过特定的音频处理后放入帧队列,然后对音频进行编码,最后通过复用器输出对声音记录的文件

        同理,摄像头经过采样图像帧和视频编码,最终通过复用器输出对图像的连续记录文件。

 1.2 播放原理

        播放媒体文件,我们则需要用到解复用器,通过对音视频的包进行相应的解码(视频解码、音频解码),将包转化为帧,通过同步控制对图像音频进行处理,最终呈现在机器荧幕上。

2 图像的表示

 2.1 RGB格式

        我们应当知道,我们平时看到的“颜色”是由“三原色”构成,而三原色指的是红、绿、蓝这三种颜色。因此在计算机中我们也采用这个概念,设计了R(Red)、G(Green)、B(Blue)三个键值组合起来指示一种具体的颜色。

        值得注意的是,这每个键值的位宽是8bit,因此单一键值可以有2^8=256种组合方式,那么三种键值所能构成的指定颜色则有256*256*256=16,777,216

                         

 2.2 YUV格式

        YUV格式一开始广泛应用于黑白电视上,它被设计的目的主要用于视频信号的压缩、传输和存储,其中“Y”表示的是明亮度(Luminance or Luma),又称灰阶值,而“U”和“V”则表示的是色度(Chrominance or Chroma)

YUV组合在一起的意义是用来描述影响的色彩和饱和度,用以指定像素的颜色。

        YUV的格式有两类,分别是 平面 Planar 和 紧凑Packed

对于 Planar - 先连续存储所有像素点的Y,紧接着存储所有像素点的U。

对于 Packed - 每个像素点的Y,U,V连续存储在内存中。

        Packed的优点相较于Planar主要是更节省内存空间

        而Planar的优势也显而易见:

  • 可以并行访问像素数据。在内存带宽不足的时候,Planar就明显优于Packed了。如YUV,如果采用Planar,相比于Packed,可以并行访问Y、U、V三个平面,那就相当于只花1/3的时间,就可以访问到一个YUV像素。
  • Planar在切换bit depth时,更加快:可以通过增加或丢弃平面,来快速扩增或缩减调色板。比如,4个平面变成5个平面时,一个像素的可选颜色,变成了2^5=32种。
  • 当代表像素的bit数,不是2的次幂的时候,Planar在空间和时间上的效率,都高于Packed。比如,在3-bit的RGB中(每3个bit表示一个像素,一个像素可选颜色为2^3=8种)。
    • 如果采用Planar,只需要3个平面。
    • 如果采用Packed,有两种实现方式:
      • 允许像素跨字节边界:提高了内存寻址和unpack像素的复杂度,导致耗时增加。
      • 采用padding:每个字节只存储两个像素,耗费6个bit,保留两个2bit不使用,导致空间消耗增大。RGB555就是这种做法。

      

        Libyuv 是一款由Google主导的实现各种YUV与RGB间相互转换、旋转、缩放的库

        YUV还存在其他多种格式,比如YUV420p,YUV420sp等。

        不同YUV格式的数据在存储时的排列顺序是不一样的,选用错误的解析格式可能导致画面出现花屏,绿屏等现象

3 视频中的重要概念 

 3.1 视频的属性

        视频码率:kb/s,是指视频文件在单位时间内使用的数据流量,也叫码流率。码率越大,说明单位时间内取样率越大,数据流精度就越高。

        视频帧率:fps,单位时间中显示的帧的数量,通常说一个视频的25帧,指的就是这个视频帧率,即1秒中会显示25帧。帧率越高,给人的视觉就越流畅。

        视频分辨率:ppi(标准单位),视频的分辨率是指视频在一定区域内包含的像素点的数量,分辨率也就是我们常说的640x480分辨率、1920x1080分辨率,其中分辨率 = 像素宽度 x 像素高度

 3.2 视频的I,P,B帧 

        I 帧(Intra coded frames):I帧不需要参考其他画面而生成,解码时仅靠自己就重构完整图像;

  • I帧图像采用帧内编码方式;
  • I帧所占数据的信息量比较大;
  • I帧图像是周期性出现在图像序列中的,出现频率可由编码器选择;
  • I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量);
  • I帧是帧组GOP的基础帧(第一帧),在一组中只有一个I帧;
  • I帧不需要考虑运动矢量;

        P 帧(Predicted frames):根据本帧与相邻的前一帧(I帧或P帧)的不同点来压缩本帧数据,同时利用了空间和时间上的相关性。

  • P帧属于前向预测的帧间编码。它需要参考前面最靠近它的I帧或P帧来解码。

        B 帧(Bi-directional predicted frames):B 帧图像采用双向时间预测,可以大大提高压缩倍数

4 常见的视频压缩算法

欢迎阅读下一章内容 音视频图像开发基础 II - 声音、数字音频及常用名词声音是一种由物体振动引发的物理现象,如小提琴的弦声等。物体的振动使其四周空气的压强产生变化,这种忽强忽弱变化以波的形式向四周传播,当被人耳所接收时,我们就听见了声音https://blog.csdn.net/weixin_42839065/article/details/130498152?spm=1001.2014.3001.5502

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

干吃咖啡豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值