zoukankan      html  css  js  c++  java
  • 音视频技术发展路线

    1. H.264 (http://www.baike.com/wiki/H264) 

    三大标准: 

    AVC(Advanced Video Coding,AVC)

    H.264,同时也是MPEG-4第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。这个标准通常被称之为H.264/AVC(或者AVC/H.264或者H.264/MPEG-4 AVC或MPEG-4/H.264 AVC)而明确的说明它两方面的开发者。 

    H264标准各主要部分有Access Unit delimiter(访问单元分割符),SEI(附加增强信息),primary coded picture(基本图像编码),Redundant Coded Picture(冗馀图像编码)。还有Instantaneous Decoding Refresh(IDR,即时解码刷新)、Hypothetical Reference Decoder(HRD,假想参考解码)、Hypothetical Stream Scheduler(HSS,假想码流调度器)。

    SVC(Scalable Video Coding – 可分级视频编码)  http://www.skyvio.com/htm/2007-05/33.htm

    实际应用中,存在不同的网络和不同的用户终端,各种情况下对视频质量的需求不一样。例如,在利用网络传输视频信息时,由于网络带宽限制了数据传输,因此要求当网络带宽较小的时候,只传输基本的视频信号,并根据实际网络的状况决定是否传输增强的视频信息,使视频的质量得到加强。

    在这样的背景下,利用可分级视频编码技术实现一次性编码产生具有不同帧率、分辨率的视频压缩码流,然后根据不同网络带宽、不同的显示屏幕和终端解码能力选择需要传输的视频信息量,以此实现视频质量的自适应调整。
    为了能够实现从单一码流中解码得到不同帧率(时间可分级)、分辨率(空间可分级)和图像质量(SNR可分级)的视频数据的编码技术。
    H.264 SVC以H.264 AVC视频编解码器标准为基础,利用了AVC编解码器的各种高效算法工具,在编码产生的编码视频时间上(帧率)、空间上(分辨率)可扩展,并且是在视频质量方面可扩展的,可产生不同帧速率、分辨率或质量等级的解码视频。

    H264可分级视频编码采用分层编码方式实现,由一个基本层(Base Layer)和多个增强层(Enhancement Layer)组成,增强层依赖基本层的数据来解码。其中,基本层(base layer)编码了基本的视频信息,实现了最低图像分辨率、帧率,并且基本层的编码是兼容H264/AVC编码标准的,能够采用H264/AVC解码器进行解码。 

    MVC 多视角视频编码(Multiview video coding)

    是在H.264标准当中新增的内容,其历史渊源和概况可以参照《Overview of Multi-view Video Coding》这篇论文。

    在双目3D视频中,通常需要提供left/right view两个视点的图像,这两个视点的图像是有相关性的,同样,对于多view视图之间也是有一定相关性的,因此很自然的想法就是要利用view之间的相关性来提高压缩效率,这就是MVC的目的。
     
    这个MVC,业界主要用在3D电影领域,同一个电影场景,左眼和右眼看到的是不同的View,我们的产品暂时用不到。

    2. H.264工作流程

     

    3. Audio Codec Opus (http://blog.csdn.net/yangysng07/article/details/41558961

    编码标准:  

    iSAC
    iLBC
    g711
    g722
    opus

    信号处理算法:

    Adaptive Jitter Buffer  自适应抖动缓冲

    Acoustic Echo Canceler (AEC) 回声消除

    Noise Reduction (NR) 降噪
    NetEQ算法:自适应抖动控制算法以及语音包丢失隐藏算法。使其能够快速且高解析度地适应不断变化的网络环境,确保音质优美且缓冲延迟最小。
    Audio Gain Control (AGC)  : 
    声音增益控制

    aagc -- analog audio gain control
    aecm
    cng -- comfort noise generation
    dagc -- digital audio gain control  
    plc
    resample
    sa
    tsm -- Time-Scale Modification 
    vad -- Voice activity detection 

  • 相关阅读:
    java8 .stream().map().collect()
    函数式编程扫盲篇(转载)
    如何成为Python高手(转载)
    JAVA通过XPath解析XML性能比较(原创)
    不要过早退出循环 while(1){no break}
    搭建harbor私有仓库
    Supervisor进程管理
    一键部署redis-5.0.5
    Linux下的crontab定时执行任务命令详解
    利用shell脚本实现对mysql数据库的备份
  • 原文地址:https://www.cnblogs.com/awiki/p/4340804.html
Copyright © 2011-2022 走看看