语音技术

2012年01月13日    点击数: 15679    字体:           一键关注汇讯


    1.1 语音压缩与传输
语音压缩技术指的是对原始数字音频信号流(PCM编码) 运用适当的数字信号处理技术,在不损失有用信息量,或所引入损失可忽略的条件下,压缩信号编码速率,也称为压缩编码。以生成适合传输的数字信号流,提高传输效率。对语音编码技术中语音质量的评价主要分为两类,客观评定方法和主观评定方法。其中客观评定方法用客观测量的手段来评价语音编码的质量,其特点是计算简单,但不能完全反映人对语音质量的感觉。主观评定方法符合人类听话时对语音质量的感觉,因而得到广泛应用。最主要的主观评定方法是主观评定等(Subjective Opinion Scale) ,或称平均评定得分(MOS Mean Opinion Score) 。MOS 得分采用五级评分标准,下表给出主观评定等级的质量等级、分数和相应的收听注意力等级。


 
  1G. 711 脉冲编码调制( PCM)
PCM(Pulse Code Modulation) 编码的方法是对模拟语音信号进行采样,然后对每个样值进行量化和编码。ITU2T 的64kbit/ s 语音编码标准G. 711 采用PCM编码方式,采样速率为8kHz ,每个样值用8bit非线性的μ律或A 律进行编码,总速率为64kbit/ s ,
主要用于公共电话网中。
2ADPCM( G. 721  G. 723  G. 726)
ADPCM(Adaptive Differential Pulse Code Modula2tion) 编码的方法是对输入样值行自适应预测,然后对预测误差进行量化编码。ADPCM 算法量化值是该点的幅值与前一个采样点幅值之差。这样,每个采样点的量化位就不需要16 bit ,由此可减少信号的容量。可选的幅度差的量化比特位为8bit 、4bit 和2bit ,一般采用4bit 量化位。1984 年CCITT(现ITU2T) 公布了G. 721 的32kbit/ s 语音编码标准,之后在G. 723 建议中将编码的速率扩充到40kbit/ s 和24kbit/ s ,又在G. 726 建议中扩充编码速率到16kbit/s ,形成了从16kbit/ s 至40kbit/ s 的一套完整的AD2PCM算法标准。
3SBC 技术( G. 722  SB2ADPCM)
SBC(子带编码) 的方法是首先对输入信号分割成几个不同的频带分量(每个分量为一个子带) ,然后分别进行编码。这种方式可以对不同子带合理分配比特数,分别控制各子带的量化电平数以及重建信号的量化误差,使误差谱的形状适应人耳听觉特征,获得更好的听觉质量,其次各子带中的量化噪声相互独立避免了电平较低的子带信号被其它子带的量化噪声淹没,可大大提高语音质量。1986 年ITU2T 通过了7KHZ 宽带语音压缩编码标准G. 722 采用带加ADPCM算法,其滤波器组将输入信号分成高低两个子带信号,然后分别使用ADPCM进行编码。G. 722 能将224kbPs 的调幅广播质量的音频信号压缩为64kbPs ,主要用于视听多媒体和会议电视等。
 4CELP 技术( G. 728 LD CELP  G. 729/ G.729A  CS2ACELP)
CELP(Code Excited Linear Prediction ,码本激励线性预测编码) 是近年来最成功的语音编码算法之一,该算法将矢量量化码本中每个存储的码字作为不同的激励信号源。在编码时对码本中的码逐个搜索,找到与输入语音误差最小的合成语音的激励码矢量。将该矢量的标号传送给收端,在接收端用存储的同样的码本根据收到的标号恢复出相应的码矢量作为激励,来恢复语音。CELP 在4. 8216kbPs 范围内可获得质量相当高的合成语音,并且抗噪声和多次转接性能也很好。目前CELP 已经被许多语音编码标准所采用,美国联邦标准FS1016 就是采用CELP的编码方法,主要用于高质量的窄带语音保密通信。LD2CELP(低延迟码激励线性预测编码) 是高度优化的16kbitPsCELP 算法,它与CELP 一样利用合成分析法进行码本搜索,不同之处在于LD2CELP 利用后向自适应预测技术对短时谱包络和增益进行预测,同时只发送激励矢量的标号,可降低算法延时。国际电信联盟将该方式选作16kbitPs 速率下的标准方式,即G. 728 语音压缩标准。CS2ACELP(共轭结构码激励线性预测) 在标准PCM或线性PCM 的话音采样基础上,每10ms 生成一个10 字节长的话音帧。重建语音质量在无误码和随机误码BER < 10 - 3 两种情况下,其话音质量不低于同样情况下的32k ADPCM,单次编解码时延小于32ms ,带内能传DTMF 信号。这个算法提供了优秀音质,且延时很小。1995 年11 月ITU 批准了8kbPsd 的G. 729 话音压缩算法标准。该标准在1996 年又得到了进一步的优化改进。现在G. 729 是最重要的话音压缩标准,也是IP 电话系统中的必选语音编码算法之一。
5G. 723PG. 723. 1MP2MLQ
G. 723. 1 是双速率语音编码算法,它是ITU2T建议的应用于低速率多媒体服务中语音或其它音频信号的压缩算法,其目标应用系统包括H. 323、H.324 等多媒体通信系统。G. 723. 1 压缩率约为6.4KbPs ,是低速VOIP 的默认压缩标准。G. 723. 1 编码器首先对语音信号进行传统电话__
    1.2.2 音质保证技术
衡量语音质量的四个重要因素是延时、丢包、抖动、和沿切割。
回声消除
     (1)周围环境的处理
    分析声学回声的产生的机理,可以知道:声学回声最简单的控制方法是改善扬声器的周围环境,尽量减少扬声器播放声音的反射。例如,可以在周围的墙壁上附加一层吸音材料,或增加一层衬垫以增加散射,理想的周围环境是其回响时间或RT-60(声音衰减60dB所需要的时间)在300ms~600ms之间。因为这样的环境一方面可以控制反射,又可以不会使讲话者感到不适。改善环境可以有效地抑制间接声学回声,但对直接声学回声却无能为力。
    (2)回声抑制器回声抑制器是使用较早的一种回声控制方法。回声抑制器是一种非线性的回声消除。它通过简单的比较器将接收到准备由扬声器播放的声音与当前话筒拾取的声音的电平进行比较。如果前者高于某个阈值,那么就允许传至扬声器,而且话筒被关闭,以阻止它拾取扬声器播放的声音而引起远端回声。如果话筒拾取的声音电平高于某全阈值,扬声器被禁止,以达到消除回声的目的。由于回声抑制是一种非线性的回声控制方法,会引起扬声器播放的不连续。影响回声消除的效果,随着高性能的回声消除器的出现,回声抑制器已很少人使用了。
    (3)声学回声消除器声学回声消除的另一方法是使用声学回声消除器(AEC:AcousticEcho Chancellor),AEC是对扬声器信号与由它产生的多路径回声的相关性为基础,建立远端信号的语音模型,利用它对回声进行估计,并不断地修改滤波器的系数,使得估计值更加逼近真实的回声。然后,将回声估计值从话筒的输入信号中减去,从而达到消除回声的目的,AEC还将话筒的输入与扬声器过去的值相比较,从而消除延长延迟的多次反射的声学回声。根椐存储器存放的过去的扬声器的输出值的多少,AEC可以消除各种延迟的回声。

丢包补偿
语音实时传输中的丢包恢复技术按照连接关系可以划分为两个大类:基于发送端的修复和基于接收端的修复。 
    一、基于发送端的修复技术
    基于发送端的丢包恢复由发送端发起,并需要发送端和接收端协同进行。

   1、增加冗余度
    最简单的方法,是让每个数据包除了自身数据之外还包含前k个包的数据备份。为了尽量降低冗余度,当前分组所包含的前k个分组的冗余数据可以用一个码率更低的编码器产生。增加数据的冗余度可以提高系统的容错能力,但是同时增加了带宽。这种方式与语音编码方式无关,只是在分组时针对这些语音数据作了冗余数据备份。

    2、分类处理
    为了在收端更好地采用波形替换技术,发端可以根据语音信号的特性分类处理,具体做法是对于浊音信号先估算其基音周期L,然后把两段长度为L的波形封装到一个分组内。对于非浊音信号(包括清音、噪声和静音)则全部封装到一个分组内。即用小数据包传送浊音信号,用大数据包传送其它信号。这种方式与语音编码方式有关,主要对语音的内容分类,区分有用信息和无用信息,然后对这些信息分别编码,分组采用自适应策略;一旦分组丢失,接收端可根据收到的分组来推测丢失的分组所含信号的类型并采取相应的策略。

    3、前向纠错
    信道编码用前向纠错(FEC)码来恢复在传输中发生差错的比特,现在人们把FEC应用到语音分组传输中来恢复丢失的数据分组,有多种FEC码可用于此目的。最简单的是奇偶校验码,其基本原理是为每k个信息分组加入一个奇偶校验分组,奇偶校验分组的数据由k个信息分组的相应比特的校验比特组成。这种方式与具体的语音编码方式无关,主要在分组时增加对分组的校验位信息。

    4、交织
    当语音信号发生大段的突发缺失,各种差错掩盖方法的效果就会大大降低,许多方法甚至无法工作,而突发的连续丢包是在Intemet上遇到的典型现象。为了最大限度地发挥这些差错掩盖技术,可以采用交织技术打乱数据的发送顺序,把大段的突发连续语音丢失转化为随机的小段丢失。这种方式与具体的语音编码方式无关,也与分组的编码方式无关,主要是对编码后的数据重新组织,但采用交织方法会给系统带来很大的时延。

    5、优先级设置
    优先级设置方法是指发端依据某个准则为不同的语音分组设置不同的优先级,如依据语音的能量、与前一个分组的相似度、语音信号的平稳特性或者当前分组能否用前一个分组较好地预测等。当网络发生阻塞时,网络保留高优先级的分组,丢弃低优先级的分组。这种方式与语音的编码方式有关,因为需要了解语音信息的优先级,这种技术需要网络支持并按优先级传输分组,否则无法实现。

    二、基于接收端的修复技术
    基于收端的修复技术不需要发端的参与,本质上是对接收到的数据通过一系列的方法来估计丢失的数据,并根据人的生理特点进行优化,基本上是一种被动的修补,通常比较容易实现且不增加带宽需求。

    1、插入方式
    插人是指用固定的波形来填补缺口,这种固定的波形与缺口处的实际波形是不相关的。这类技术包括接合、静音和噪声替代等方法。接合技术是最简单的方法,它会扰乱系统的定时关系,对听觉效果的改善也不大。静音替代的适用范围非常有限,当数据包的丢失频率很低(小于2%)且缺口宽度小于4 ms时,这种方法比较有效;当缺口宽度达40 ms时,其效果会让人无法接受。与静音替代相比,噪声替代可给人带来更好的主观听觉感受,同时能改善语音信号的可分辨性。当采用背景噪声而不是静音的时候,人脑能下意识地用正确的声音来修补语音信号中丢失的部分。插人方式与语音编码无关,也与分组的编码无关,只是对解码后丢失的语音进行处理。

    2、插值
    与插人技术相比,插值技术对缺口处的实际波形做了估计,并试图用与其相似的波形来修补波形缺口,这使得处理得到的声音能给人带来相对更好的主观感受。目前属于插值方法的有波形替代和时域修正两种技术。

    1)波形替代
    其原理是在缺口前面(或后面)的波形中寻找出和缺口处波形相似的一段信号并对其加工用来填补缺口。执行一般由两个步骤构成,第一步是储存最新重建的信号波形,第二步是对所存储的波形进行分析,从中提取一段波形并加以改造用来替代缺口处原有的波形。这类技术常用重复、模式匹配、基音波形复制三种实现方式。基音波形复制是通过峰值检测来计算基音周期T并判断语音信号是清音还是浊音。对于清音,它简单地采用重复技术来填补波形缺口;对于浊音,它用缺口位置之前长度为T的一段波形通过重复来填补波形缺口。其效果最好,但是实现较复杂。模式匹配从存储的缺口左侧的重建波形中按某种匹配原则进行搜索,找到一段最佳匹配波
形,对它进行必要的修饰之后用来填补重建波形的缺口。它也可以同时从缺口两侧的重建波形中各找出一段最佳匹配波形,对它们进行加权合并,用来填补缺口。双侧搜索比单侧搜索的听觉效果好,但是它的代价是引入了很长的时延。其效果次于基音复制方式,但实现较简单。重复方式用缺口前面最近的波彤来替代缺口处的实际波形。效果最差,但实现简单。波形替代技术可使得填补缺口的波形与其前后的波形间的过渡比较平滑,但在缺口边界,波形的相位存在突变。这种方式对解码后的语音信息的修补,与具体的语音编码和分组编码无关。

    2)时域修正
    这种技术采用缺口两侧的波形向缺口方向延展的方式来填补缺口。该方法计算量很大,但是由于它能够避免边界的相位不连续现象,听觉效果优于波形替代法。该种方法也同样也是一种对解码后的语音信号进行处理的技术,与具体的语音编码和分组编码无关。

    无论是基于发送端还是基于接收端的修复技术,针对丢包恢复的要求,上述这些技术在设计时,一般的出发点有:
    ①针对语音本身。考虑的方面主要是分析和区分语音本身的不同内容,如:浊音,噪音,背景音等,对这些内容分别编码传输。
    ②针对分组。通过对分组增加冗余信息和校验信息来获取容错能力,但会引起带宽的增加;
    ③针对比特位。这里主要指交织技术,它是对编码结果的再处理;
    ④针对语音复原后的信号。基于收端的技术都采用这种原理来设计;

    各种技术只在语音、分组、传输和语音复原阶段采取了措施,而通常在发端采取的措施比在收端采取的措施有效,或者说发端采取的措施将直接影响收端对数据复原的效果,因此为了最大化丢包后数据的复原效果,应重点在发端采取措施,使收端在不增加带宽的情况下,当丢包情况发生时,尽量减少对数据的影响。一般来说,采用基于发端修复的效果比基于收端的技术好,但是技术复杂,一般会增加网络的带宽和传输延迟,收端的技术简单,取得的效果更适于人的听觉生理特点。若能够综合考虑发端和收端过程中的不同阶段的特点,既能取得好的修复效果,又能用简单的方式实现,将是今后丢包恢复技术研究的一个重要方向。
抖动抑制
Internet的实质是分组交换网络,IP分组是存储、转发的最小单元。因此,同一信源的分组可能经过不同的路由传输到接收端,分组到达接收端的时延也不同。这种分组传输时延的不同被称为时延抖动。时延抖动的存在引起收端解码后的语音信号出现间断,造成语音失真,所以必须进行时延抖动的吸收补偿。与分组网传输数据相比,电路交换则是由于预先分配了信道资源,通信子网以流的方式对待数据,即各帧数据从A端到达B端的时间相等,这样也就不存在抖动的问题。在设计语音抖动处理方案时,可以做如下考虑:采用智能缓冲平滑的方法,即让接收端对抖动程度做出预测,并把接收到的信元存放在缓冲器中,采用适当长度的抗抖动缓存,吸收延时后再输出。

上一篇:P2P技术应用现状 Gnutella的的网络优势

下一篇:WebRTC采用的是成熟的RTP/RTCP技术

Copyright © 2007-2021 汇讯Wiseuc. 粤ICP备10013541号    
展开