即时通讯音视频开发之音频基础及编码原理

news2025/2/6 15:00:33

即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙。原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的。

 

比特率:
表示经过编码(压缩)后的音频数据每秒钟需要用多少个比特来表示,单位常为kbps。

响度和强度:
声音的主观属性响度表示的是一个声音听来有多响的程度。响度主要随声音的强度而变化,但也受频率的影响。总的说,中频纯音听来比低频和高频纯音响一些。

采样和采样率:
采样是把连续的时间信号,变成离散的数字信号。采样率是指每秒钟采集多少个样本。

常见音频格式

1)WAV:是微软公司开发的一种声音文件格式,也叫波形声音文件,是最早的数字音频格式,被Windows平台及其应用程序广泛支持,压缩率低。

2)MIDI:是Musical Instrument Digital Interface的缩写,又称作乐器数字接口,是数字音乐/电子合成乐器的统一国际标准。它定义了计算机音乐程序、数字合成器及其它电子设备交换音乐信号的方式,规定了不同厂家的电子乐器与计算机连接的电缆和硬件及设备间数据传输的协议,可以模拟多种乐器的声音。MIDI文件就是MIDI格式的文件,在MIDI文件中存储的是一些指令。把这些指令发送给声卡,由声卡按照指令将声音合成出来。即时通讯聊天软件app开发可以加蔚可云的v:weikeyun24咨询

 

3)MP3:全称是MPEG-1 Audio Layer 3,它在1992年合并至MPEG规范中。MP3能够以高音质、低采样率对数字音频文件进行压缩。应用最普遍。

4)MP3Pro:是由瑞典Coding科技公司开发的,其中包含了两大技术:一是来自于Coding科技公司所特有的解码技术,二是由MP3的专利持有者法国汤姆森多媒体公司和德国Fraunhofer集成电路协会共同研究的一项译码技术。MP3Pro可以在基本不改变文件大小的情况下改善原先的MP3音乐音质。它能够在用较低的比特率压缩音频文件的情况下,最大程度地保持压缩前的音质。

5)WMA :(Windows Media Audio)是微软在互联网音频、视频领域的力作。WMA格式是以减少数据流量但保持音质的方法来达到更高的压缩率目的,其压缩率一般可以达到1:18。此外,WMA还可以通过DRM(Digital Rights Management)保护版权。

6)RealAudio:是由Real Networks公司推出的一种文件格式,最大的特点就是可以实时传输音频信息,尤其是在网速较慢的情况下,仍然可以较为流畅地传送数据,因此RealAudio主要适用于网络上的在线播放。现在的RealAudio文件格式主要有RA(RealAudio)、RM(RealMedia,RealAudio G2)、RMX(RealAudio Secured)等三种,这些文件的共同性在于随着网络带宽的不同而改变声音的质量,在保证大多数人听到流畅声音的前提下,令带宽较宽敞的听众获得较好的音质。

7)Audible:拥有四种不同的格式:Audible1、2、3、4。Audible.com网站主要是在互联网上贩卖有声书籍,并对它们所销售商品、文件通过四种Audible.com 专用音频格式中的一种提供保护。每一种格式主要考虑音频源以及所使用的收听的设备。格式1、2和 3采用不同级别的语音压缩,而格式4采用更低的采样率和MP3相同的解码方式,所得到语音吐辞更清楚,而且可以更有效地从网上进行下载。Audible 所采用的是他们自己的桌面播放工具,这就是Audible Manager,使用这种播放器就可以播放存放在PC或者是传输到便携式播放器上的Audible格式文件。

8)AAC:实际上是高级音频编码的缩写。AAC是由Fraunhofer IIS-A、杜比和AT&T共同开发的一种音频格式,它是MPEG-2规范的一部分。AAC所采用的运算法则与MP3的运算法则有所不同,AAC通过结合其他的功能 来提高编码效率。AAC的音频算法在压缩能力上远远超过了以前的一些压缩算法(比如MP3等)。它还同时支持多达48个音轨、15个低频音轨、更多种采样率和比特率、多种语言的兼容能力、更高的解码效率。总之,AAC可以在比MP3文件缩小30%的前提下提供更好的音质。

9)Ogg Vorbis:是一种新的音频压缩格式,类似于MP3等现有的音乐格式。但有一点不同 的是,它是完全免费 、开放和没有专利限制的。Vorbis 是这种音频压缩机制的名字,而Ogg则是一个计划的名字,该计划 意图设计 一个完全开放性的多媒体系统。VORBIS也是有损压缩,但通过使用更加先进的声学模型去减少损失,因此,同样位速率(Bit Rate)编码的OGG与MP3相比听起来更好一些。

10)APE:是一种无损压缩音频格式,在音质不降低的前提下,大小压缩到传统无损格式 WAV 文件的一半。

11)FLAC:即是Free Lossless Audio Codec的缩写,是一套著名的自由音频无损压缩编码,其特点是无损压缩。

编码基本手段(1):量化和量化器

基本概念:

    1)量化和量化器:量化是把离散时间上的连续信号,转化成离散时间上的离散信号。
    2)常见的量化器有:均匀量化器,对数量化器,非均匀量化器。
    3)量化过程追求的目标是:最小化量化误差,并尽量减低量化器的复杂度(这2者本身就是一个矛盾)。


常见的量化器的优缺点:

    (a)均匀量化器:最简单,性能最差,仅适应于电话语音。
    (b)对数量化器:比均匀量化器复杂,也容易实现,性能比均匀量化器好。
    (c)非均匀(Non-uniform)量化器:根据信号的分布情况,来设计量化器。信号密集的地方进行细致的量化,稀疏的地方进行粗略量化。

语音编码器分为三种类形:(a)波形编器 、(b)声码器 、(c)混合编码器 。

波形编码器以构造出背景噪单在内的模拟波形为目标。作用于所有输入信号,因此会产生高质量的样值并且耗费较高的比特率。 而声码器 (vocoder)不会再生原始波形。这组编码器 会提取一组参数 ,这组参数被送到接收端,用来导出语音产生模形。声码器语音质量不够好。混合编码器,它融入了波形编码器和声器的长处。

波形编码器的设计常独立于信号。所以适应于各种信号的编码而不限于语音。

时域编码:

    a)PCM:pulse code modulation,是最简单的编码方式。仅仅是对信号的离散和量化,常采用对数量化。
    b)DPCM:differential pulse code modulation,差分脉冲编码,只对样本之间的差异进行编码。前一个或多个样本用来预测当前样本值。用来做预测的样本越多,预测值越精确。真实值和预测值之间的差值叫残差,是编码的对象。

c)ADPCM:adaptive differential pulse code modulation,自适应差分脉冲编码。即在DPCM的基础上,根据信号的变化,适当调整量化器和预测器,使预测值更接近真实信号,残差更小,压缩效率更高。

频域编码: 频域编码是把信号分解成一系列不同频率的元素,并进行独立编码。

    a)sub-band coding:子带编码是最简单的频域编码技术。是将原始信号由时间域转变为频率域,然后将其分割为若干个子频带,并对其分别进行数字编码的技术。它是利用带通滤波器(BPF)组把原始信号分割为若干(例如m个)子频带(简称子带)。将各子带通过等效于单边带调幅的调制特性,将各子带搬移到零频率附近,分别经过BPF(共m个)之后,再以规定的速率(奈奎斯特速率)对各子带输出信号进行取样,并对取样数值进行通常的数字编码,其设置m路数字编码器。将各路数字编码信号送到多路复用器,最后输出子带编码数据流。对不同的子带可以根据人耳感知模型,采用不同量化方式以及对子带分配不同的比特数。
    b)transform coding:DCT编码。

声码器

    channel vocoder: 利用人耳对相位的不敏感。
    homomorphic vocoder:能有效地处理合成信号。
    formant vocoder: 以用语音信号的绝大部分信息都位于共振峰的位置与带宽上。
    linear predictive vocoder:最常用的声码器。

混合编码器

波形编码器试图保留被编码信号的波形,能以中等比特率(32kbps)提供高品质语音,但无法应用在低比特率场合。声码器试图产生在听觉上与被编码信号相似的信号,能以低比特率提供可以理解的语音,但是所形成的语音听起来不自然。

混合编码器结合了2者的优点:

    RELP: 在线性预测的基础上,对残差进行编码。机制为:只传输小部分残差,在接受端重构全部残差(把基带的残差进行拷贝)。
    MPC: multi-pulse coding,对残差去除相关性,用于弥补声码器将声音简单分为voiced和unvoiced,而没有中间状态的缺陷。
    CELP: codebook excited linear prediction,用声道预测其和基音预测器的级联,更好逼近原始信号。
    MBE: multiband excitation,多带激励,目的是避免CELP的大量运算,获得比声码器更高的质量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/102892.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#读取Excel文件内容(WPS)

本地安装的WPS版本为 一、下载accessdatabaseengine_X64后安装 网址:https://www.microsoft.com/en-us/download/details.aspx?id54920 二、项目中引用OleDb包 三、代码部分 //excelFilePath为文件路径(例如D:\Test.xslx) > //strin…

Android---RecyclerView回收复用机制

一、RecyclerView回收复用 回收什么?复用什么? 回收:回收即缓存。当屏幕上的一个itemView滑出屏幕(即不可见了),RecyclerView就利用回收机制,将该itemView放入内存。当其它itemView出现时,不用每次都去new…

JavaScript-Sass

Sass的基础使用 1.简介 1.1简介 Sass是世界上最成熟,最稳定,最强大的CSS扩展语言Sass是css预编译工具可以更加优雅的书写csssass写出来的东西浏览器不认识需要进行转换VSCode推荐使用Easy Sass插件Sass中可以使用加减乘除,条件分支以及循环…

【Three.js入门】处理动画、尺寸自适应、双击进入/退出全屏(Clock跟踪时间,Gsap动画库,自适应画面,进入/退出全屏)

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,也会涉及到服务端 📃个人状态: 在校大学生一枚,已拿多个前端 offer(秋招) 🚀未…

Python -- 网络编程

目录 1.网络通信的概念 2.IP地址 3.网络通信方式 3.1 直接通信 3.2 使用集线通信 3.3 通用交换机通信 3.4 使用路由器连接多个网络 3.5 复杂的通信过程 4.端口 4.1 端口号 4.2 知名端口号 4.3 动态端口号 4.4 端口号作用 5.socker概念 5.1 不同电脑上的进程之间…

【二叉树经典习题讲解】

If you find a path with no obstacles, probably doesnt lead anywhere. 目录 1 前中后序遍历一颗二叉树 2 总的结点个数 3 求叶子节点个数 4 求树的高度 5 第k层结点个数 6 二叉树的层序遍历 7 判断一棵树是否为完全二叉树 1 二叉树的前序遍历 2 单值二叉树 3 翻转二…

2022卡塔尔世界杯的两个球员:一个吸螺,一个没吸

你好,我是YourBatman:一个俗人,贪财好色。 2022年12月18日,卢塞尔球场,太太太精彩了,这场世界杯决赛!卡塔尔世界杯,已经离我们远去,阿根廷最终满载而归。 那一个个珍贵…

大脑的默认模式网络DMN

虽然默认模式网络DMN现在是rs-fMRI领域中的研究热点,但最初观察到默认模式网络的工具是PET,并且是从任务态过渡到静息态的 PET中大脑功能活动基线的定义: 基线是理解复杂系统的基础根据脑氧提取分数(OEF值)可以确定正…

前端CSS实现跳动的文字

效果图 首选来一个简单的布局 这里就不用多说&#xff0c;都是简单排版 <h1>一个爬坑的Coder</h1>html {height: 100%; }body {display: flex;justify-content: center;align-items: center;height: 100%; } h1 {font-size: 48px; }每个文字独立出来 每个文字都…

最全GIS开发编程语言汇总及分类

推荐查看>>>科研所需模型软件教程&#xff1a;水文水资源、大气科学、农林生态、地信遥感、统计分析、编程语言等... 最近总有很多人关心GIS开发语言的问题&#xff0c;这个确实很重要&#xff0c;毕竟学习一门编程语言需要花费不少时间和精力&#xff0c;找不到合适…

【数据库】并发控制理论

并发控制&#xff08;concurrency control&#xff09; 恢复&#xff08;recovery) 理论支持&#xff1a;基于事务的ACID Atomicity: All actions in the txn happend, or none happen. “All or nothing” Consistency: IF each txn is consistent and the DB starts consis…

【Google语音转文字】Speech to Text 超级好用的语音转文本API

前面有一篇博客说到了讯飞输入法&#xff0c;支持语音输入&#xff0c;也支持电脑内部音源输入&#xff0c;详细参考&#xff1a;【实时语音转文本】PC端实时语音转文本(麦克风外音&系统内部音源) 但是它只是作为一个工具来使用&#xff0c;如果我们想自己做一些好玩的东西…

CANoe-VN5000接口卡在Network-based模式下典型的应用场景

1、Network-based mode说明 CANoe软硬件都需要设置为Network-based mode 软件从CANoe12版本支持Network-based模式(CANoe12时称为Port-based mode,从13开始改为Network-based mode) 硬件从VN5000系列开始支持Network-based模式,VN5610A和VN5640设备需要确保切换到Network…

必读干货|使用Cmake管理C++项目简明教程

一、背景 Cmake是 kitware公司以及一些开源开发者在开发几个工具套件(VTK)的过程中衍生品&#xff0c;最终形成体系&#xff0c;成为一个独立的开源项目。其官方网站是 cmake.org&#xff0c;可以通过访问官方网站获得更多关于cmake的信息。 它是一个跨平台的编译(Build)工具…

【大数据存储技术】「#3」将数据从Hive导入到MySQL

文章目录准备工作安装Hive、MySQL和SqoopHive预操作启动MySQL、hadoop、hive创建临时表inner_user_log和inner_user_info使用Sqoop将数据从Hive导入MySQL启动hadoop集群、MySQL服务将前面生成的临时表数据从Hive导入到 MySQL 中查看MySQL中user_log或user_info表中的数据准备工…

网页爬虫的本质

1.网页结构分析 提取其中一部分核心介绍 &#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body> <div class"item masonry-brick&quo…

数据管理篇之计算管理

第13章 计算管理 目的&#xff1a;降低计算资源的消耗&#xff0c;提高任务执行的性能&#xff0c;提升任务产出的时间。 1.系统优化 HBO HBO &#xff08;History-Based Optimizer&#xff0c;基于历史的优化&#xff09;是根据任务历史执行情况为任务分配更合理的资源&…

在霍格沃兹测试开发学社学习是种怎样的体验?

霍格沃兹我怎么了解到的 我是河北某二本院校软工专业的学生&#xff0c;大三开始学校来了很多宣讲和实训的公司&#xff0c;都是为我们以后的职业发展做参考。学校有软件测试课程&#xff0c;有一次老师无意提到了霍格沃兹测试开发学社举办的高校“火焰杯”知识竞赛&#xff0…

三角函数sin cos tan和弧度,度等定义及其相关

在此做一个温习及记录&#xff0c;做一个总结&#xff0c;免得到处找。 正弦、余弦和正切是 三角法 里的主要函数&#xff0c;它们是基于一个 直角三角形而建立的。 英文释义&#xff1a; 正弦 &#xff08;sine&#xff09;, 余弦 &#xff08;cosine&#xff09; 和 正切 &a…

毕业设计 单片机心率血氧健康监测手表 - 物联网 嵌入式

文章目录0 前言1 简介2 主要器件3 实现效果4 设计原理4.1 **硬件准备**4.2 **传感器和算法**5 部分核心代码5 最后0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要求&…