zoukankan      html  css  js  c++  java
  • OGG的孩子-有损音频编码opus

      

      Opus是一个有损声音编码的格式,由Xiph.Org基金会开发,之后由互联网工程任务组(IETF)进行标准化,目标用希望用单一格式包含声音和语音,

    取代Speex和Vorbis,且适用于网络上低延迟的即时声音传输,标准格式定义于RFC 6716文件。Opus格式是一个开放格式,使用上没有任何专利或限制

    Opus集成了两种声音编码的技术:以语音编码为导向的SILK和低延迟的CELT。Opus可以无缝调节高低比特率。在编码器内部它在较低比特率时使用线

    性预测编码在高比特率时候使用变换编码(在高低比特率交界处也使用两者结合的编码方式)。Opus具有非常低的算法延迟(默认为22.5 ms),非常适

    合用于低延迟语音通话的编码,像是网络上的即时声音流、即时同步声音旁白等等,此外Opus也可以通过降低编码比特率,达成更低的算法延迟,最低可

    以到5 ms。在多个听觉盲测中,Opus都比MP3、AAC、HE-AAC等常见格式,有更低的延迟和更好的声音压缩率。

      从技术上来讲,它的指标是非常高的,具体的技术特性如下所示:性能比较如下图所示:

    1. 6 kb/秒到510 kb/秒的比特率;单一频道最高256 kb/秒
    2. 采样率从8 kHz(窄带)到48 kHz(全频)
    3. 帧大小从2.5毫秒到60毫秒
    4. 支持恒定比特率(CBR)、受约束比特率(CVBR)和可变比特率(VBR)
    5. 支持语音(SILK层)和音乐(CELT层)的单独或混合模式
    6. 支持单声道和立体声;支持多达255个音轨(多数据流的帧)
    7. 可动态调节比特率,音频带宽和帧大小
    8. 良好的鲁棒性丢失率和数据包丢失隐藏(PLC)
    9. 浮点和定点实现

      提起opus,不能不提对opus发展贡献很大的两家伟大公司google和skype 以及一个开源组织Xiph。它的开发者是Xiph和skype,其中,它支持音乐(CELT层)

    的这部分是由Xiph在继承speex的基础上开发的,这里面的主要贡献者是Jean-Marc Valin(这位老兄十分专注于研究音频编解码,音频编码领域两个开源项目speex

    和opus的核心开发者,作为一个程序员,能有这般的贡献,绝对是属于程序员中的第一梯队了)。它支持语音(SILK层)的部分是由skype公司贡献的,skype在是

    网络语音服务的执牛耳者,以它的开发实力和在网络音频领域业界的广泛应用,使得silk在语音压缩传输这块绝对可以独步武林。在近十年来,凡是能够领先世界的

    互联网技术,总少不了gooole的身影,google在opus的普及中做了大量的贡献,一则就是把opus的性能做了一个严谨的数据分析,给出了opus为什么那么优秀的数

    据支撑。另外一个就是在它的产品中广推opus,这个广告效应不是花钱能够搞定的。

      随着opus在最近几年的迭代速度逐渐加快,代码的已经非常成熟了,文档和测试代码也都非常的详尽,很容易上手。后面我会对opus的代码做一个分析。包括移植

    使用等。

    参考文档:

    1 https://zh.wikipedia.org/wiki/Xiph.Org%E5%9F%BA%E9%87%91%E6%9C%83 

    2 https://jmvalin.ca/ 

    3 https://opus-codec.org/comparison/ 

    4 https://opus-codec.org/ 

  • 相关阅读:
    $NOIp2018$劝退记
    Markdown 使用技巧
    【题解】 bzoj2462: [BeiJing2011]矩阵模板
    【总结】字符串hash
    【题解】 bzoj3555: [Ctsc2014]企鹅QQ (字符串Hash)
    【题解】 bzoj3916: [Baltic2014]friends (字符串Hash)
    【题解】 bzoj2982: combination (Lucas定理)
    【题解】 bzoj1135: [POI2009]Lyz (线段树+霍尔定理)
    【题解】 bzoj3693: 圆桌会议 (线段树+霍尔定理)
    【题解】 AtCoder ARC 076 F
  • 原文地址:https://www.cnblogs.com/dylancao/p/8315418.html
Copyright © 2011-2022 走看看