更新时间:2023-01-13 22:21
G.723是ITU-T在1996年制订成型的一种多媒体语音编解码标准。其典型应用包括VoIP服务、H.324视频电话、无线电话、数字卫星系统、数电倍增设备(DCME)、公共交换电话网(PSTN)、ISDN及各种多媒体语音信息产品。G.723标准传输码率有5.3kb/s和6.3kb/s两种,在编程过程中可随时切换。该标准主要包含了编码算法和解码算法。
G.723编码器采用LPC合成-分析法和感觉加权误差最小化原理编码。G.723标准可在6.3kbps和5.3kbps两种码率下工作。对激励信号进行量化时,高速率(6.3kbps)编码器的激励信号采用多脉冲最大似然量化(MP-MLQ),低速率(5.3kbps)编码器的激励信号采用代数码本激励线性预测(ACELP)。其中,高码率算法(6.3kbps)具有较高的重建语音质量,而低码率算法(5.3kbps)的计算复杂度则较低。与一般的低码率语音编码算法一样,这里的G.723标准采用的线性预测的合成分析法也就是我们通常所说的Analysis-by-Synthesis。
G.723建议采用的是定点运算。根据传输编码参数,可重构激励源与合成滤波器进行解码,还原出来的数字语音信号经D/A转换器转换成模拟语音信号。G.723算法对语音信号有很好的编解码效果, 同时也可处理音乐和其它声音信号,典型输入是64kbps(8k×8)或128kbps(8k×16)的A律或u律的PCM 采样语音信号。每次处理一帧语音信号,每帧240个采样点(30ms)。在5.3kbps的码率下,每帧语音被压缩成20个。编码器先对语音信号进行传统电话带宽的过滤,再将输入的16 bit 线性脉冲编码调制(PCM)码流分成长度为240个样点的语音帧,以帧为单位进行编码。首先把1帧信号分成4个长度为60个样点的子帧,接着进行高通滤波,这样就可以去掉直流分量;分别进行10阶线性预测编码(LPC)分析,从而得到各子帧的LPC参数,并把最后一个子帧的LPC参数转化成线谱对(LSP)参数,进行矢量量化编码,送到解码器。利用未量化的LPC参数构造短时感觉加权滤波器,对信号滤波后得到感觉加权的语音信号。每两个子帧(120样点)搜索一个开环基音值,并以此为依据,为每一个子帧构造一个谐波噪声成形滤波器,对感觉加权的语音信号进行滤波。每一子帧的LPC综合滤波器、感觉加权滤波器和谐波噪声成形滤波器级联起来,构成一个联合滤波器,利用它的冲击响应和开环基音周期,对每一子帧进行闭环基音搜索,对开环搜索的结果进行修正。同时通过一个5 阶基音预测器对信号进行预测,得到相应子帧的残差信号。再进行固定码本搜索,也就是对每一子帧的残差信号进行矢量量化,先用实际信号减去预测信号得到残差信号,再用一个脉冲序列通过组成滤波器来模拟残差信号,在最小误差准则下,将得到的一系列参数,如滤波器系数、脉冲位置、脉冲幅度打包成一个比特流传送出去最后还要进行状态更新。
G.723解码器也是以帧为单位进行解码的。编码器输出的基音周期和差分值都被传送到解码器。首先通过激励解码器,基音解码器和LSP解码器对量化的LPC进行解码,然后构造LPC合成滤波器,对于每个子帧都需要进行自适应码本激励和固定码本激励的解码,然后输入到合成滤波器中,自适应后置滤波器由共振峰后置滤波器和前后向基音后置滤波器组成,激励信号输入到基音后置滤波器中,输出信号输入到合成滤波器中,其输出再输入到共振峰后置滤波器中,一个增益缩放单元保证共振峰后置滤波器的输入信号的能量电平。
G.723算法对语音信号有很好的编解码效果,同时也可处理音乐和其它声音信号,典型输入是64kb/s(8k×8)或128kb/s(8k×16)的A律或μ律的PCM采样语音信号。每次处理一帧语音信号,每帧240个采样点(30ms)。在5.3kb/s的码率下,每帧语音被压缩成20个字节传输;在6.3kb/s的码率下,每帧语音被压缩成24个字节传输。
G711 G723 G729线路占多少带宽问题
带宽=包长度×每秒包数
=包长度×(1/打包周期)
=(Ethernet头+IP头+UDP头+RTP头+有效载荷)×(1/打包周期)
=(208bit +160bit+64bit+96bit +有效载荷)×(1/打包周期)
=(528bit+(打包周期(秒)×每秒的比特数))×(1/打包周期)
=( 528 / 打包周期 ) + 每秒比特数
按照上面的计算公式:
G711:20ms打包,带宽为 ( 528/20 + 64) Kbit/s=90.4 Kbit/s
G729:20ms打包,带宽为 ( 528/20 + 8 ) Kbit/s= 34.4 Kbit/s
G723:5.3k,30ms打包,带宽为 ( 528/30 + 5.3 ) Kbit/s=22.9 Kbit/s
业界一般按照下表提供的IP网带宽系数和以太网带宽系数来设计网络带宽:
编解码技术 压缩速率(Kbps) 打包周期(ms) IP网带宽系数 以太网带宽系数
G.711 a/u 64 20 1.25 1.41
G.729 a/b 8 20 0.38 0.54
G.723.1(5.3kbit/s) 5.3 30 0.27 0.37
G.723.1(6.3Kbit/s) 6.3 30 0.25 0.36
H.263(384Kbit/s) ≈384 10 6 6.2
注:采用某种编码方式时,用64K乘以相应的带宽系数就可以得出其实际占用的带宽。当然如果是中继接口,还需要考虑信令占据一定的带宽,一般按照2.5%来计算。
如果看不懂上面的计算方法,只需记住以下结果:
G711 实际占用带宽 每线90.4kbit/s 100线并发占用 9Mbps
G729 实际占用带宽 每线34.4kbit/s 100线并发占用 3.4Mbps
G723 实际占用带宽 每线22.9kbit/s 100线并发占用 2.2Mbps