怎么区分经过g.723压缩包后的语音包

G.723.1双速率语音编解码算法的DSP实现
1前言目前,对适合于家庭和小型办公场所的Voice over IP(VoIP)的解决方案的需求正在不断增长,G.723.1和G.729是两种常用的低码率语音压缩标准。G.723.1标准是ITU组织于1996年推出的一种双速率语音编解码标准,能够将8kHz采样16bit的线性PCM语音信号压缩成6.3Kbps或5.3Kbps的比特流,压缩比分别达到20或24,并且两种速率下都能提供很好的语音质量,因此G.723.1成为H.323的首选标准。在普通PC机上用标准C定点实现了G.723.1编解码算法的基础上,准备在数字信号处理器(DSP)上实现该算法。由于DSP系统对语音编码的实时性要求及DSP自身资源空间的局限性,要求在将C程序移植到DSP之前必须先对算法进行优化。本文在介绍了G.723.1语音编解码算法原理的基础上,对该算法进行分析和优化,最后给出结论。2G.723.1编解码算法2.1编码器原理G.723.1编码算法使用线性预测—...&
(本文共3页)
权威出处:
VoIP业务是当前计算机网络技术和通信技术研究的热点之一,也是因特网增长最快的业务之一,指的是以数据封包的形式在IP分组网络的环境下进行语音信号的传输。与传统的电路交换网络相比,IP分组网络存在带宽资源有限,丢包和延时抖动的问题,因此需要研究和实现适合于分组网络传输环境的语音编解码算法,来完成VoIP中的终端编解码功能。通过对各种语音算法的分析和研究发现,ILBC、Speex等语音编解码算法不仅编码速率低,而且有多种模式可以根据网络状况灵活选择,同时增加了丢包隐藏,去延时抖动等模块,非常适用于因特网上的语音传输。另外ILBC、Speex算法不需要交专利费,因此有很大的商业应用价值。根据对语音编码器的分类标准,编码速率介于4.6kb/s~24kb/s的语音编码器称为中速率语音编码器,因此ILBC,G729以及Speex大部分模式下的编码算法均为中速率语音编码算法。课题以研究和实现以ILBC为主的适合于分组网络的几种中速率语音编解码...&
(本文共79页)
权威出处:
语音通信是一种最基本、最重要、最有效的获取信息的方式,语音通信技术已经广泛应用于各种现代通信系统中。随着现代通信系统的飞速发展,对信道容量和语音质量的要求越来越高。为了提高通信系统信道利用的有效性和经济性,极低速率语音编码技术将是未来通信系统的必不可少的发展方向。与此同时,随着DSP技术的不断发展,高性能的通用DSP芯片的诞生为实现算法运算过程复杂的信号处理系统提供了强大的硬件支持。因此,通过基于DSP的硬件平台构成极低速率语音通信系统成为今后发展的最佳选择之一。本文首先详细分析了语音信号数字模型、语音信号预处理和线性预测分析等语音编码的关键技术,深入研究了LPC-10声码器的算法原理,并对其进行了Matlab仿真分析;为了进一步降低LPC-10声码器的编码速率,对其算法进行了改进,主要通过对声码器的LP系数进行了矢量量化分析,并采用三帧联合编码的方法,提出了一种800 b/s的改进型的LPC-10声码器的极低速率语音编解码算法...&
(本文共86页)
权威出处:
VoIP(voice over internet protocol)又称作IP电话,它是随着Internet的迅速发展而发展起来的一种新兴技术。由于Internet的迅速发展,IP协议已经成为集成所有数据、语音、视频以及其他各种网络服务的最佳选择。语音编码压缩技术是VoIP中一项非常关键的技术,它涉及信息的压缩、特征提取及合成等问题。经过较长时间的研究,ITU-T推出了语音压缩标准G.723.1。G.723.1是H.323首推的编码标准,目前广泛用于VoIP系统中,它具有语音质量好、编码速率低等优点,是目前已标准化的最低速率的语音编码算法[1]。本文在介绍G.723.1语音编解码算法原理和ADSP-2189M芯片基本结构的基础上,对该标准提供的C程序进行了分析并将其成功移植到ADSP-2189M芯片上进行实现。在算法级和代码级上对该算法进行了分析和优化,达到了提高其运算速度的目的。1 G.723.1编解码算法原理1.1编码器原理...&
(本文共4页)
权威出处:
1引言G.723.1协议是ITU-T15研究小组推出的一种双速率语音编解码标准,它能够将输入语音信号经8kHz采样,转换成的l6bit线性PCM语音信号并压缩成6.3Kbps或5.3Kbps的比特流,压缩比分别达到2O或24,并且两种速率下都能提供很好的语音质量,因此G.723.1成为H.323的首选标准,主要应用于多媒体语音信号在现有网络上的低速率传输。G.723.1编码器的工作原理是线性预测合成分析法。在高速率模式下,其激励信号采用多脉冲最大似然量化编码(MP-MLQ),在低速率模式下,激励信号采用代数码本激励线性预测(ACELP)量化。帧长为30ms,并有7.5ms的帧头开销,导致37.5ms的总算法时延。目前,G.723.1协议已在多个平台上实现,本文主要讨论该协议的算法在美国德州仪器的TMS320C54X系列定点DSP芯片上如何实现。2G.723.1编解码算法的分析G.723.1编码器的输入是经8KHZ频率采样,16b...&
(本文共4页)
权威出处:
TETRA系统具有频谱利用率高,抗干扰能力强,易于加密,业务能力强,标准开放等诸多优点,已成为我国数字集群移动通信系统推荐性标准之一.目前TETRA标准已经在国内外建成系统,并成功运行[1],其中TETRA语音编解码是TETRA标准的重要组成部分,它采用了代数码本激励线性预测(ACELP)编码技术,对提高语音通信质量和信道频谱资源利用率具有重要意义.TETRA的ACELP方案对传统的CELP方案进行了较大的改进,在获得高质量话音的同时大大降低了数码率(4.567kb/s),还使得编码的计算量降低到适当的程度,使其可以在现有的DSP芯片上实现.ETSI标准提供了对此算法详细的描述,并在附件中给出此标准的解释性定点C代码.此代码计算量太大,不能够直接在DSP上实时运行.本文将根据此C代码,对TETRA语音编解码算法进行分析,并针对TMS320C54x(简称C54x)DSP的特点,详细给出其在DSP实现的方法及优化技巧.最后调试的结果...&
(本文共4页)
权威出处:
扩展阅读:
CNKI手机学问
有学问,才够权威!
出版:《中国学术期刊(光盘版)》电子杂志社有限公司
地址:北京清华大学 84-48信箱 知识超市公司
互联网出版许可证 新出网证(京)字008号
京ICP证040431号
服务咨询:400-810--9993
订购咨询:400-819-9993
传真:010-
京公网安备75号CT8022_program 此程序先对 进行初始化设置, 其工作在G.723.1压缩语音数据模式,PCM3500 SCM 单片机开发 195万源代码下载-
&文件名称: CT8022_program& & [
& & & & &&]
&&所属分类:
&&开发工具: C-C++
&&文件大小: 36 KB
&&上传时间:
&&下载次数: 0
&&提 供 者:
&详细说明:此程序先对CT8022进行初始化设置,设置其工作在G.723.1压缩语音数据模式,PCM3500工作在主模式,CT8022工作在从模式,帧同步信号8kHz,位同步信号128kHz,16bitCODEC采集模拟语音信号后传给CT8022,CT8022将压缩后的数据通过无线模块传PC,PC通过串口调试助手接收数据-this program is made for voice compression device CT8022,and CT8022 is working in the G.723.1 mode.
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&CT8022_program&&..............\8022&&..............\....\CT8022&&..............\....\CT8022.M51&&..............\....\CT8022.hex&&..............\....\CT8022.lnp&&..............\....\CT8022.plg&&..............\....\CT8022.uvopt&&..............\....\CT8022.uvproj&&..............\....\CT8022_driver.LST&&..............\....\CT8022_driver.OBJ&&..............\....\CT8022_driver.c&&..............\....\CT8022_driver.h&&..............\....\CT8022_uvopt.bak&&..............\....\CT8022_uvproj.bak&&..............\....\UART.LST&&..............\....\UART.OBJ&&..............\....\UART.c&&..............\....\UART.h&&..............\....\delay.LST&&..............\....\delay.OBJ&&..............\....\delay.c&&..............\....\delay.h&&..............\....\main.LST&&..............\....\main.OBJ&&..............\....\main.c&&..............\说明.txt
&输入关键字,在本站195万海量源码库中尽情搜索:哪位大侠有语音压缩编码G.723.1的C语言程序代码???_百度知道
哪位大侠有语音压缩编码G.723.1的C语言程序代码???
其他类似问题
c语言程序的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁关注您的每一次发问!
FAQ技术支持
问:从手册中看到,&&Real-time (30 fps) Windows Media? Video 9 Series decoder/encoder,对于不同的codec,压缩效率和占用的资源不同,我想了解一下,视频采用h.263标准,音频采用g.723.1标准,采用Blackfin处理器,在保证语音的情况下,会达到多少fps,(Blackfin处理器)
H.263 is very easy to realize on Blackfin. if you use our BF532, the 10$ part, you can reach about 50fps for H.263 and G.723.1, of course you do not need 50 fps, so you can use the rest resources to do some system control and protocal and TCP/IP and so on.
答案内容中有失实成分(须说明失实部分并阐述理由)
其他(请说明理由)
相关开发工具
无相关数据
相关解决方案
无相关数据
无相关数据
无相关数据基于TMS320C6201的G.723.1多通道语音编解码的实现_voip_CTI论坛
基于TMS320C6201的G.723.1多通道语音编解码的实现
  当前,Voice over IP(VoIP)技术正在不断普及,通过Internet的语音通信量也日渐增加。目前VoIP中使用的低码率语音压缩标准主要有G.723.1和G.729两种。随着VoIP技术的不断发展,要求产品的集成度与性能进一步提高,利用新一代高性能DSP芯片,实现单片DSP处理多路语音信号,是今后的发展趋势。本文根据C6201芯片的特点,作了大量针对G.723.1标准本身的优化,降低了运算量,满足了多路信号的实时实现。
  1 G.723.1标准介绍
  G.723.1标准是ITU组织于1996年推出的一种低码率编码算法。主要用于对语音及其他多媒体声音信号的压缩,如可视电话系统、数字传输系统和高质语音压缩系统等。
  G.723.1标准可在6.3kbps和5.3kbps两种码率下工作。其中,高码率算法具有较高的重建语音质量,而低码率算法的计算复杂度则较低。与一般的低码率语音编码算法一样,G.723.1标准采用线性预测的合成分析法(Analysis-by-Synthesis)。对激励信号进行量化时,高码率算法采用多脉冲最大似然量化(MP-MLQ),而低码率算法则采用算术码本激励线性预测(ACELP)。目前,G.723.1已经能在多种DSP芯片上实现,如美国TI公司的TMS320C5x、TMS320C54x和朗讯科技公司的DSP16xx等。
  G.723.1编码器能对以8kHz采样的话带语音信号进行压缩,其结构框图见图1(a)。从图中可以看出,编码器是基于线性预测合成分析法原理,其目的是最小化感知加权误差信号。为了降低码率,G.723.1采用了较长的帧尺寸,每帧240个样值,即30毫秒帧长。每帧输入信号首先通过一阶高通滤波器滤除直流分量,然后将之分成四个60个样值的子帧,每个子帧独立进行LPC分析。为了提高LPC系数的连续性,采用了长度为180个样值的重叠窗,即同时包含前后两个子帧,这使算法引入60个样值的超前时延,因此算法的总时延为37.5毫秒。LPC系数用线性谱频率(LSF)表示,LSF参数采用预测分裂矢量量化,只对第四子帧进行。为了提高量化感知质量,高通滤波后的语音信号需通过共振峰感知加权滤波器和谐振峰噪声整形滤波器以生成初始目标信号。前者参数由各子帧的未量化LPC系数构成,后者通过对每两子帧进行开环基音周期估计得到,其中基音周期的范围为18到142个样值。lpc合成滤波器、共振峰感知加权滤波器和谐振峰噪声整形滤波器用于系统零输入响应计算和最佳激励估计。G.723.1编码器还包括一个五阶基音预测器,其参数根据开环基音估计值和脉冲响应进行闭环基音搜寻得到。在进行最佳激励估计时,需从初始目标信号中减去系统零输入响应和基音预测器贡献以得到最终目标信号,然后针对高低码率分别采用MP-MLQ和ACELP方法进行量化。其中LSF参数、基音值和激励参数需传送给解码器。
  解码器首先根据得到的LSF参数重建LPC合成滤波器,然后根据基音值和激励参数得到自适应码本激励信号和固定码本激励信号。为了提高重建语音的主观质量,解码器还包括一个后滤波器,后滤波器由共振峰和基音后滤波器组成。激励信号依次通过基音后滤波器、合成滤波器和共振峰后滤波器合成重建语音,其结构框图见图1(b)。
3 标准的实现
  用C6201实现G.723.1标准的最大优势在于它极强的并行处理能力,用一块DSP可以实现多路语音的压缩,大大简化了硬件的设计。C6201是TI公司推出的第一种支持C编译器的DSP芯片。通常,C编译器能完成整个工作的70%,而30%的进一步优化必须通过手写汇编来实现,所以对整个程序的优化分为C语言级和汇编语言级两部分。
  3.1 C语言级的优化
  3.1.1 循环展开(loop-unrolling)
  使用具有并行能力的DSP开发软件时,一个重要的思想就是充分利用DSP的字长和数目众多的运算单元,尽量把循环体展开。通过增加每次循环中执行的指令数来减少总的循环次数,可使得在同样的时钟周期内能运行更多的指令,提高了循环的效率。
3.1.2 提高寄存器的利用率
  DSP芯片内部的运算单元运行效率非常高,但如果寄存器和数据总线之间的数据交换频繁,将使DSP的执行效率大打折扣。因为DSP在进行内存操作时,往往需要若干周期的延迟,如Load指令要有4个周期的延迟,STORE指令需要2个周期的延迟。为了减少耗时的内存操作,可以在程序进入循环体之前,将要频繁使用的数据预先放入寄存器,然后反复调用,实践证明这种方法可以提高一部分效率。
  3.1.3 使用内在函数(Intrinsic)
  内在函数是在某些C6201DSP的汇编指令前加上“_”构成它可以方便地实现某些需若干C语句才能实现的功能。它是一种非常简便高效的优化方法,它的调用格式和普通C函数一样,但在编译时编译器会自动将Intrinsic用对应的汇编指令替代。C6201指令集中绝大多数的运算逻辑指令都可以这样使用,比如饱和绝对值、饱和加、饱和减、饱和乘、两个字中的对应半字同时加或同时减、两个字中的对应半字同时乘或交叉乘、归一化及位操作等。经过此步优化后,大部分循环体都可以生成较为有效的流水内核(piplinedkernel)。用Intrinsic替代G.723.1原先的C代码,运算量下降为原来的1/10。
  3.1.4 对算法的冗余部分合理精简
  经过检查,发现ITU-TG.723.1的C代码存在冗余部分。象6.3K码率的MP-MLQ搜索模块中,只需要用到偶数位置的脉冲响应的自相关,所以对奇数位置的脉冲响应自相关计算可以省略。
  另外,在G.723.1标准中存在大量的10阶FIR和10阶IIR滤波器运算,如编码部分的感知加权、零输入响应、解码部分综合滤波器和后滤波等,FIR和IIR的通用形式可以表示为:
  每次循环,FIR滤波器内存要用新的输入值更新,IIR滤波器内存要用新的输出值更新,使用按标准提供的算法,要专门用一个10阶循环更新内存。如果用一个10单位大小的循环缓存区,每次用新值覆盖最老的样值,动态调整循环缓存区的头指针,可以节省原先用于内存更新的cycle。
  3.2 汇编级优化
  由于C编译器只能完成70%的工作且对于复杂的循环,C编译器无法生成高效率的代码,所以对运算量大的模块只能用手写汇编。
  3.2.1 字长优化
  C6201的字长为32位,它支持按字节、半字、字存取。对于16位的数组,当它在内存中连续排列时,用32位读写指令LDW或STW替代16位读写指令LDH或STH,循环次数可减少一半。另外,C6201的汇编指令支持两个32位寄存器的高16位和低16位之间互乘,结果分别放到不同的寄存器中,互不影响。具体指令为SMPY(LxL)、SMPYH(HxH)、SMPYHL(HxL)和SMPYLH(LxH)。通过字长优化,可以大大提高程序的运行效率。必须注意的是,在使用字长优化时,数组在内存中的位置必须对齐32位边界。
  3.2.2 对外循环的优化
  C6201的C编译器对多重循环的最内层一般能较好地优化到一句到两句,但对外循环的优化效率则差很多。手写汇编时,可以先将内循环展开,再把外循环的指令并入其中,可以减少所耗费的cycle数。
  C6201的循环一般分前导(Rorlog)、内核(Kernel)及排空(Epilog)三部分。代码的并行程度从Rrolog开始不断提高,Kernel内的并行程度最高,Epilog与Prolog相反,并行性逐渐降低。在多重循环中,如果尽量把内循环前导部分的指令与填入排空部分未用的单元,一起执行,可以在执行本次循环的排空语句的同时执行下次循环的前导语句。这样可不多花cycle而提高整个循环的效率。
  4 实现结果
  经过C语言级和汇编级的多种优化,最后实现了一路G.723.1的编解码需要花费10.6MCPS,整个代码的程序空间为208K byte(程序中包括了部分c6201的库函数),数据空间为8K byte,码本大小20k byte,多通道的上下文数据为1.48K byte。200MHz的C6201每秒可以实时编解码16路语音信号。所有代码全部通过了ITU-T测试矢量的测试。表1是各主要模块的运算量。
表1 G.723.1各主要模块运算量
  本文提出的利用C6201 DSP进行ITU-TG.723.1全双工实时多通道语音编解码的实现。该实现可以在IP电话、视频会议中得到广泛应用。
嵌入式开发网
分类信息:&&&&&
电话:010-79677 传真:010- 呼叫中心建设及运营管理咨询服务:010-
京ICP证030771号
All rights reserved

我要回帖

更多关于 压缩包 的文章

 

随机推荐