CN108933786B - 用于改善无线数字通信***接收方密文语音质量的方法 - Google Patents
用于改善无线数字通信***接收方密文语音质量的方法 Download PDFInfo
- Publication number
- CN108933786B CN108933786B CN201810710872.5A CN201810710872A CN108933786B CN 108933786 B CN108933786 B CN 108933786B CN 201810710872 A CN201810710872 A CN 201810710872A CN 108933786 B CN108933786 B CN 108933786B
- Authority
- CN
- China
- Prior art keywords
- frame
- sequence number
- voice
- rtp packet
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于改善无线数字通信***接收方密文语音质量的方法,解决了动态调整时延以及语音帧缺失时引起的加密语音通话质量出现下降的问题。通过接收方的基站(或***)与移动台之间的协同配合,区分出不同的异常场景,并分别有针对性的进行了补偿处理,消除了收发双方由于加解密失步导致语音解密失败的问题。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种用于改善无线数字通信***接收方密文语音质量的方法。
背景技术
PDT数字集群***是一种新的基于TDMA技术的专用移动通信***,12.5kHz的信道被划分为两个时隙,每个时隙具有30ms的持续时间,传输速率为9.6kbps。PDT***中的声码器选用码率为2.4kbps的算法,其编码是基于60ms语音进行的,编码后数据长度为144bits。
PDT***间互联是采用扩展的RTP协议实现语音数据的实时传输。由于RTP协议是基于UDP传输的,为保证其实时的通话质量,需要考虑网络抖动、丢包等带来的问题。当网络发生拥塞时,排队延迟将影响端到端的时延,进而导致通过同一连接传输的RTP分组时延各不相同。网络抖动就是用来描述时延变化的程度。如果不消除RTP分组的时延差异,可能会导致实时通话出现断续的情况。通常可以采用抖动缓存区(jitter buffers),并配合适当的方法以消除网络的抖动。其实质是以在接收端额外增加延时为代价,消除网络侧的抖动,引入延时的大小决定了去除网络抖动的能力。因为到达的RTP数据包的时延大于规定的时延时,接收端将主动当做丢包处理,所以额外增加的时延越大,可以按时到达的RTP数据包将越多,发生主动丢包的情况越少,通话质量也越好。不过,对于PDT***而言,端到端的语音时延越短越好,以保证通信的及时性,这要求额外增加的时延应尽可能短。因此,为了达到较好的通话质量,需要根据网络状况动态持续调整额外增加的时延。
RTP标准头结构定义如图1所示;其中:
a)版本号(V):2比特,用来标志使用的RTP版本,PDT集群***使用固定版本号2。
b)填充位(P):1比特,如果该位置位,则该RTP包的尾部就包含附加的填充字节。
c)扩展位(X):1比特,如果该位置位的话,RTP固定头部后面就跟有一个扩展头部。
d)CSRC计数器(CC):4比特,含有固定头部后面跟着的CSRC的数目。
e)标记位(M):1比特,标志的解释由具体协议规定。它用来允许在比特流中标记重要的事件,如帧边界。
f)载荷类型(PT):7比特,标识了RTP载荷的类型。
g)序列号(Sequence number):16比特,发送方在每发送完一个RTP包后就将该域的值增加1,接收方可以由该域检测包的丢失及恢复包序列。序列号的初始值是随机的。
h)时间戳(Timestamp):32比特,记录了该包中数据的第一个字节的采样时刻。在一次会话开始时,时间戳初始化成一个初始值。即使在没有信号发送时,时间戳的数值也要随时间而不断地增加。时间戳与序列号一起用于消除抖动和实现同步。
现有的RTP抖动消除措施可以很好地应用于PDT的明文语音通信,语音质量基本不会受到太大的影响。然而,当PDT启用端到端加密时,则可能会出现问题。PDT端到端语音加密的主要思想是:语音在发送端加密,在接收端解密,从而保证语音在主被叫双方之间的设备节点中不以明文形式存在。由于流密码算法具有无误码扩散以及可进行预计算的优点,对实时性要求较高的PDT端到端语音加密采用了该类算法。流密码算法在使用过程中要求主被叫双方必须同步才能正确地实现加解密,即主被叫双方从相同的位置开始使用相同的密钥流加密或解密。如果语音在传输过程中出现丢帧或多帧的情况,可能导致主被叫双方间的密钥流出现失步的情况,导致接收方解密语音失败。
在启用PDT端到端加密功能时,需要挪用语音帧中对话音质量影响不大的一些非重要比特,以携带语音帧序列号,用于密钥流的产生和同步。发送方的声码器首先将60ms明文语音编码为一个语音帧;接着,与密钥流进行异或;然后,挪用语音帧中的信息位承载12比特的语音帧序列号后,输出密文语音帧。接收方的声码器在收到密文语音帧后,首先从中提取出12比特的语音帧序列号;然后,与密钥流进行异或,解密后还原为明文语音。移动台与安全模块的交互如图2所示。端到端语音加密同步机制如图3所示。
在PDT端到端语音加密方案中,发送方与接收方的端到端语音加密同步流程具体为:
发送方流程:
1)根据密钥索引(KI)、组呼/单呼标识(G/I)、TMSI和SMSI确定通信使用的密钥TEK;
2)语音呼叫开始时,由随机数发生器产生新的初始向量(IV);
3)计算端到端加密控制帧密码校验和CCSUM;
4)构造端到端加密控制帧并发送;
5)利用密钥衍生算法,产生密钥CK;
6)由语音帧计数器产生语音帧序列号(FN),每加密一帧语音,计数器自动递增;
7)利用密钥流生成算法,计算密钥流KS;
8)KS与一帧明文语音数据进行异或后得到密文语音数据;
9)在密文语音数据中挪用信息位承载FN,组成密文语音帧后发送。
接收方流程:
1)从GRANT/Grp_V_ch_Usr/UU_V_Ch_Usr等信令获得G/I、TMSI、SMSI等信息;
2)从收到的端到端加密控制帧提取KI;
3)根据KI、G/I、TMSI和SMSI确定通信使用的TEK;
4)验证CCSUM的正确性后,提取IV;
5)利用密钥衍生算法,产生密钥CK;
6)从密文语音帧中提取FN;
7)利用密钥流生成算法,计算密钥流KS;
8)KS与对应的密文语音异或得到明文语音。
图4描述了端到端加密的组呼流程,其中MS1——发起端到端加密语音呼叫的移动台,MS2——通话过程中迟后进入呼叫的移动台,GROUP——通话开始前就已经在网的通话组成员。
现有的端到端语音加密技术在以下两种情况,可能导致通话质量出现下降:
(1)在接收方基站侧,一帧加密语音帧出现了丢包情况时,由于基站空口下行数据必须连续发送,将补发一帧明文的静音帧,以替换缺失的密文语音帧。
(2)在接收方基站侧,语音通信持续过程中,如果网络抖动时延超过了一定的时间,***会把相应的语音帧当做丢包处理。为缓解此类原因导致的连续多帧语音丢包的问题,***将根据网络抖动时延变化,临时性加大接收时延。为保证基站空口下行数据连续发送,将补发一帧或多帧明文的静音帧,以填补加大延时后带来的数据空窗期。
在上述两种情况下,无线接收终端会将接收到的数据当成密文语音,解密后将得到一帧随机的语音数据,播放出来后将成为一帧爆音(声音较大的噪音)。这会极大地降低语音通话质量。
发明内容
针对现有技术的不足,本发明旨在提供一种用于改善无线数字通信***接收方密文语音质量的方法,解决动态调整时延以及语音帧缺失时引起的加密语音通话质量出现下降的问题,让接收方MS可以区分空口传输的语音是出现了丢帧还是增加了额外的语音帧,以便根据不同的情况进行相应的补偿处理,以达到改善加密语音通话质量的目的。
一种用于改善无线数字通信***接收方密文语音质量的方法,包括如下步骤:
步骤S1、发送方MS发起语音通话,发送方TS向接收方TS发送RTP包;接收方TS接收到来自发送方TS的RTP包,先按发送方TS产生的顺序对RTP包进行排序,然后丢弃重复包和迟后到达的过期RTP包,最后将排序后的RTP包放入接收缓存队列;
步骤S2、接收方TS按空口的语音帧发送时间间隔定时从接收缓存队列取走指定的RTP包,如果获取成功,则直接发送RTP包中的语音帧;如果获取失败,确定是否需要引入额外的时延,若需要,则空口发送明文附加帧并继续等待本次欲获取的RTP包,若不需要,则空口发送明文静音帧并跳过本次欲获取的RTP包;
步骤S3、接收方MS定时接收从接收方TS发送的语音帧,根据获得的语音帧的类型进行如下处理:如为密文语音帧则直接解密并播放,如为明文附加帧则播放舒适背景噪声或者静音,如为无效语音帧或明文静音帧,则播放舒适背景噪声或者静音并跳过一帧解密密钥流。
进一步地,步骤S1具体包括:
S1.1、接收方TS设置一个空的接收缓存队列以及丢包队列,将接收到的第一个RTP包放入接收缓存队列,包括对应的序列号,并保存第一个RTP包的序列号以及时间戳;设置SNNext=第一个RTP包的序列号,然后并行启动步骤S2;
S1.2、接收方TS接收下一个RTP包,根据本次接收的RTP包中的序列号和时间戳以及上一个RTP包的序列号以及时间戳,计算扩展序列号,判断本次接收的RTP包的扩展序列号是否小于SNNext,如果是,即本次接收的RTP包已经过期,此时执行步骤S1.3,否则跳到步骤S1.5;
S1.3、判断本次接收的RTP包对应的扩展序列号是否出现在丢包队列中,如果是,则计算该包的过期时延,并记录到丢包队列中;
S1.4、丢弃本次接收的过期的RTP包,跳到步骤S1.6;
S1.5、根据本次接收的RTP包的扩展序列号,剔除重复包后,将本次接收的RTP包***到接收缓存队列中,包括其扩展序列号;
S1.6、判断通话是否已结束,如已结束则执行步骤S1.7,否则跳到步骤S1.2;
S1.7、通知步骤S2对应的发送流程通话已结束,并结束步骤S1。
更进一步地,在所述步骤S1.2中,通过如下方法计算扩展序列号:
S1.2.1、计算utdelta=本次接收的RTP包中的时间戳-TSbase;TSbase为上一次接收的RTP包的时间戳;如果utdelta大于MAX_TS_MISORDER,设置utdelta=4294967296-utdelta;MAX_TS_MISORDER为参数。
S1.2.2、计算得到扩展序列号SN=SNbase+utdelta/时间戳步进间隔;
S1.2.3、将TSbase、SNbase分别更新为本次接收的RTP包对应的时间戳和扩展序列号SN。
再进一步地,MAX_TS_MISORDER取值为2147483648。
进一步地,步骤S2的具体流程包括:
S2.1、按空口的语音帧发送时间间隔,定时获取步骤S1中的接收缓存队列中的RTP包,判断接收缓存队列中是否存在扩展序列号为SNNext的RTP包,如果是,则执行步骤S2.2,否则跳到步骤S2.3;对于第一个RTP包,SNNext=第一个RTP包的序列号;
S2.2、取出队列中扩展序列号为SNNext的RTP包,并通过空口发送RTP包中的语音帧,跳到步骤S2.5;
S2.3、将SNNext和当前发送时间记录到丢包队列,并将其过期时延初始化为0,判断是否需要引入额外的时延,如果是,则执行步骤S2.4,否则跳到步骤S2.5;
S2.4、清空丢包队列,然后通过空口发送明文附加帧,跳到步骤S2.6;
S2.5、设置SNNext=SNNext+1,表示下次将获取一帧新的语音帧;
S2.6、判断是否收到通话已结束的通知,如果是,则执行步骤S2.7,否则跳到步骤S2.1;
S2.7、结束步骤S2。
更进一步地,在所述步骤S2.3中,判断是否需要引入额外时延的方法为:
统计丢包队列中扩展序列号在SNNext-M和SNNext之间过期时延大于0的包数量,如果大于N,则需要引入额外时延;否则不需要引入额外时延,M和N为预设参数。
再进一步地,参数M取值为30,参数N取值为3。
进一步地,步骤S3的具体流程包括:
S3.1、接收方MS按空口的语音帧发送时间间隔定时接收语音帧,判断是否为有效语音帧,如果是,则执行步骤S3.2,否则跳到步骤S3.3;
S3.2、判断是否为明文静音帧,如果是,则执行步骤S3.3,否则跳到步骤S3.4;
S3.3、请求一帧解密密钥流并丢弃,以保证后续的语音解密仍处于同步状态,跳到步骤S3.5;
S3.4判断是否为明文附加帧,如果是,则执行步骤S3.5,否则跳到步骤S3.6;
S3.5播放舒适背景噪声或者静音,跳到步骤S3.7;
S3.6请求解密密钥流,然后解密接收到的密文语音帧,播放解密后的语音;
S3.7判断通话是否已结束,如已结束则执行步骤S3.8,否则跳到步骤S3.1;
S3.8结束步骤S3。
本发明的有益效果在于:在解决了动态调整时延以及语音帧缺失时引起的加密语音通话质量出现下降的问题。通过接收方的基站(或***)与移动台之间的协同配合,区分出不同的异常场景,并分别有针对性的进行了补偿处理,消除了收发双方由于加解密失步导致语音解密失败的问题。
附图说明
图1为RTP标准头结构定义示意图;
图2为移动台与安全模块的交互示意图;
图3为端到端语音加密同步机制示意图;
图4为端到端加密的组呼流程示意图;
图5为本发明实施例的实现***示意图;
图6为本发明实施例中步骤S1的实施流程图;
图7为本发明实施例中步骤S2的实施流程图;
图8为本发明实施例中步骤S3的实施流程图;
图9为本发明实施例中实施例1的接收发送时序图。
具体实施方式
以下将结合附图对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。
如图5-8所示,一种用于改善无线数字通信***接收方密文语音质量的方法,包括如下步骤:
步骤S1、发送方MS发起语音通话,发送方TS向接收方TS发送RTP包;接收方TS接收到来自发送方TS的RTP包,先按发送方TS产生的顺序对RTP包进行排序,然后丢弃重复包和迟后到达的过期RTP包,最后将排序后的RTP包放入接收缓存队列;
步骤S2、接收方TS按空口的语音帧发送时间间隔定时从接收缓存队列取走指定的RTP包,如果获取成功,则直接发送RTP包中的语音帧;如果获取失败,确定是否需要引入额外的时延,若需要,则空口发送明文附加帧并继续等待本次欲获取的RTP包,若不需要,则空口发送明文静音帧并跳过本次欲获取的RTP包;
步骤S3、接收方MS定时接收从接收方TS发送的语音帧,根据获得的语音帧的类型进行如下处理:如为密文语音帧则直接解密并播放,如为明文附加帧则播放舒适背景噪声或者静音,如为无效语音帧或明文静音帧,则播放舒适背景噪声或者静音并跳过一帧解密密钥流。
进一步地,步骤S1具体包括:
S1.1、接收方TS设置一个空的接收缓存队列以及丢包队列,将接收到的第一个RTP包放入接收缓存队列,包括对应的序列号,并保存第一个RTP包的序列号以及时间戳;设置SNNext=第一个RTP包的序列号,然后并行启动步骤S2;
S1.2、接收方TS接收下一个RTP包,根据本次接收的RTP包中的序列号和时间戳以及上一个RTP包的序列号以及时间戳,计算扩展序列号,判断本次接收的RTP包的扩展序列号是否小于SNNext,如果是,即本次接收的RTP包已经过期,此时执行步骤S1.3,否则跳到步骤S1.5;
S1.3、判断本次接收的RTP包对应的扩展序列号是否出现在丢包队列中,如果是,则计算该包的过期时延,并记录到丢包队列中;
S1.4、丢弃本次接收的过期的RTP包,跳到步骤S1.6;
S1.5、根据本次接收的RTP包的扩展序列号,剔除重复包后,将本次接收的RTP包***到接收缓存队列中,包括其扩展序列号;
S1.6、判断通话是否已结束,如已结束则执行步骤S1.7,否则跳到步骤S1.2;
S1.7、通知步骤S2对应的发送流程通话已结束,并结束步骤S1。
更进一步地,在所述步骤S1.2中,通过如下方法计算扩展序列号:
S1.2.1、计算utdelta=本次接收的RTP包中的时间戳-TSbase;TSbase为上一次接收的RTP包的时间戳;如果utdelta大于MAX_TS_MISORDER,设置utdelta=4294967296-utdelta;MAX_TS_MISORDER为参数。在实际应用中,MAX_TS_MISORDER可以根据实际需要和经验调整和设置,在本实施例中,MAX_TS_MISORDER取值为2147483648。
S1.2.2、计算得到扩展序列号SN=SNbase+utdelta/时间戳步进间隔;
S1.2.3、将TSbase、SNbase分别更新为本次接收的RTP包对应的时间戳和扩展序列号SN。
进一步地,步骤S2的具体流程包括:
S2.1、按空口的语音帧发送时间间隔,定时获取步骤S1中的接收缓存队列中的RTP包,判断接收缓存队列中是否存在扩展序列号为SNNext的RTP包,如果是,则执行步骤S2.2,否则跳到步骤S2.3;对于第一个RTP包,SNNext=第一个RTP包的序列号;
S2.2、取出队列中扩展序列号为SNNext的RTP包,并通过空口发送RTP包中的语音帧,跳到步骤S2.5;
S2.3、将SNNext和当前发送时间记录到丢包队列,并将其过期时延初始化为0,判断是否需要引入额外的时延,如果是,则执行步骤S2.4,否则跳到步骤S2.5;
S2.4、清空丢包队列,然后通过空口发送明文附加帧,跳到步骤S2.6;
S2.5、设置SNNext=SNNext+1,表示下次将获取一帧新的语音帧;
S2.6、判断是否收到通话已结束的通知,如果是,则执行步骤S2.7,否则跳到步骤S2.1;
S2.7、结束步骤S2。
更进一步地,在所述步骤S2.3中,判断是否需要引入额外时延的方法为:
统计丢包队列中扩展序列号在SNNext-M和SNNext之间过期时延大于0的包数量,如果大于N,则需要引入额外时延;否则不需要引入额外时延,M和N为预设参数。在具体应用中,M、N可以根据实际需要和经验调整和设置,在本实施例中,参数M取值为30,参数N取值为3。
进一步地,步骤S3的具体流程包括:
S3.1、接收方MS按空口的语音帧发送时间间隔定时接收语音帧,判断是否为有效语音帧,如果是,则执行步骤S3.2,否则跳到步骤S3.3;
S3.2、判断是否为明文静音帧,如果是,则执行步骤S3.3,否则跳到步骤S3.4;
S3.3、请求一帧解密密钥流并丢弃,以保证后续的语音解密仍处于同步状态,跳到步骤S3.5;
S3.4判断是否为明文附加帧,如果是,则执行步骤S3.5,否则跳到步骤S3.6;
S3.5播放舒适背景噪声或者静音,跳到步骤S3.7;
S3.6请求解密密钥流,然后解密接收到的密文语音帧,播放解密后的语音;
S3.7判断通话是否已结束,如已结束则执行步骤S3.8,否则跳到步骤S3.1;
S3.8结束步骤S3。
在上述用于改善无线数字通信***接收方密文语音质量的方法中,为了叙述简便起见,具有以下假定:
(1)在发送方TS按照语音帧顺序产生对应RTP包过程中,一个语音帧(PDT中为60ms)对应一个RTP包,每个RTP包有一个连续递增1的序列号,每个包的时间戳步进间隔是固定的(PDT中为480);在出现一个无效语音帧(发送方MS上行发射被干扰时导致TS接收失败的语音帧)的情况下,发送方TS即使不必发送相应的RTP包,也需要为其预留一个序列号。这样,接收方TS只需要根据序列号,就可以知道如何在空口重建发送方语音的时序关系。对于不是如此设计的发送方TS,可以根据每个RTP包中的序列号和时间戳,构造出一个符合上述假定的虚拟序列号。
(2)RTP包序列号是16bit的无符号整数,在上述方法中可能存在序列号溢出(Sequence number wrap around,即序列号增大到65535后又重新回到0)的问题。在流程执行过程中,可以利用RFC 3550文档中的附录A(Appendix A)中A.1及A.3章节介绍的方法,将16bit的序列号扩展成一个更长(比如32bit或者64bit,以保证实际应用中不可能会溢出)的扩展序列号。比如,在步骤S1.2中判断接收到的RTP包是否已经过期的流程中,就是通过比较扩展序列号来进行。
实施例1
以下实施例中,以PDT***为例,如图9所示:
一、发送方TS的空口接收及RTP发送流程:
发送方TS根据空口每60ms接收到的一个语音帧,产生一个对应的RTP包,每个RTP包分配一个连续递增1的序列号,每个包的时间戳步进间隔是为480。
发送方接收到V1语音帧后,打包为第一个RTP包,序列号为65530,时间戳为1000480;V2语音帧,打包为第二个RTP包,序列号为65531,时间戳为1000960;以下依次类推,如表1所示。
表1
其中,V12语音帧由于发送方MS上行发射被干扰,导致接收失败,TS把它当成一个无效帧处理,仍旧为其分配了一个序列号5。
这样,接收方TS可以简单根据RTP包序列号的序号判断语音帧的顺序以及前后语音帧之间的时间间隔。
二、接收方TS的RTP接收及空口发送流程:
1)接收方TS收到包含V1的RTP后,将其(包括对应的序列号)放入接收缓存队列,设置SNNext为65530(V1的RTP序列号),并启动发送流程;
2)当V1空口发射定时到达时,获取到扩展序列号为SNNext(65530)的V1语音帧并发送,设置SNNext为65531;
3)接收方收到包含V2的RTP后,计算其扩展序列号为65531,由于其扩展序列号不小于SNNext,说明其未过期,将其(包括对应的扩展序列号)放入接收缓存队列;
4)当V2空口发射定时到达时,获取到扩展序列号为SNNext(65531)的V2语音帧并发送,设置SNNext为65532;
5)当V3空口发射定时到达时,获取扩展序列号为SNNext(65532)的V3语音帧失败,将SNNext(65532)和当前发送时间记录到丢包队列,对丢包队列中的过期时延进行分析,确认暂时不需要引入额外的时延,发送明文静音帧,设置SNNext为65533。
6)接收方收到包含V3的RTP后,计算其扩展序列号为65532,由于其扩展序列号小于SNNext,说明其已过期,由于其扩展序列号出现在丢包队列里,计算出该包的过期时延(当前接收时间-丢包队列中记录的发送时间),假设为30ms,并记录到丢包队列中,丢弃过期的RTP包;
7)接收方收到包含V4的RTP后,计算其扩展序列号为65533,由于其扩展序列号不小于SNNext,说明其未过期,将其(包括对应的扩展序列号)放入接收缓存队列;
8)当V4空口发射定时到达时,获取到扩展序列号为SNNext(65533)的V4语音帧并发送,设置SNNext为65534;
9)接收方收到包含V5的RTP后,计算其扩展序列号为65534,由于其扩展序列号不小于SNNext,说明其未过期,将其(包括对应的扩展序列号)放入接收缓存队列;
10)当V5空口发射定时到达时,获取到扩展序列号为SNNext(65534)的V5语音帧并发送,设置SNNext为65535;
11)接收方收到包含V6的RTP后,计算其扩展序列号为65535,由于其扩展序列号不小于SNNext,说明其未过期,将其(包括对应的扩展序列号)放入接收缓存队列;
12)当V6空口发射定时到达时,获取到扩展序列号为SNNext(65535)的V6语音帧并发送,设置SNNext为65536;
13)当V7空口发射定时到达时,获取扩展序列号为SNNext(65536)的V7语音帧失败,将SNNext(65536)和当前发送时间记录到丢包队列,对丢包队列中的过期时延进行分析,确认暂时不需要引入额外的时延,发送明文静音帧,设置SNNext为65537。
14)接收方收到包含V7的RTP后,根据序列号0以及时间戳1003360,计算其扩展序列号为65536,由于其扩展序列号小于SNNext,说明其已过期,由于其扩展序列号出现在丢包队列里,计算出该包的过期时延(当前接收时间-丢包队列中记录的发送时间),假设为30ms,并记录到丢包队列中,丢弃过期的RTP包;
15)当V8空口发射定时到达时,获取扩展序列号为SNNext(65537)的V8语音帧失败,将SNNext(65537)和当前发送时间记录到丢包队列,对丢包队列中的过期时延进行分析,确认暂时不需要引入额外的时延,发送明文静音帧,设置SNNext为65538。
16)接收方收到包含V8的RTP后,根据序列号1以及时间戳1003840,计算其扩展序列号为65537,由于其扩展序列号小于SNNext,说明其已过期,由于其扩展序列号出现在丢包队列里,计算出该包的过期时延(当前接收时间-丢包队列中记录的发送时间),假设为30ms,并记录到丢包队列中,丢弃过期的RTP包;
17)当V9空口发射定时到达时,获取扩展序列号为SNNext(65538)的V9语音帧失败,将SNNext(65538)和当前发送时间记录到丢包队列,对丢包队列中的过期时延进行分析,确认需要引入额外的时延,清空丢包队列,发送明文附加帧,SNNext保持不变,仍为65538。
18)接收方收到包含V9的RTP后,根据序列号2以及时间戳1004320,计算其扩展序列号为65538,由于其扩展序列号不小于SNNext,说明其未过期,将其(包括对应的扩展序列号)放入接收缓存队列;
19)当V9空口再次发射定时到达时,获取到扩展序列号为SNNext(65534)的V9语音帧并发送,设置SNNext为65539;
20)接收方收到包含V10的RTP后,计算其扩展序列号为65539,由于其扩展序列号不小于SNNext,说明其未过期,将其(包括对应的扩展序列号)放入接收缓存队列;
21)当V10空口发射定时到达时,获取到扩展序列号为SNNext(65539)的V10语音帧并发送,设置SNNext为65540;
22)接收方收到包含V11的RTP后,计算其扩展序列号为65540,由于其扩展序列号不小于SNNext,说明其未过期,将其(包括对应的扩展序列号)放入接收缓存队列;
23)当V11空口发射定时到达时,获取到扩展序列号为SNNext(65540)的V11语音帧并发送,设置SNNext为65541;
24)当V12空口发射定时到达时,获取扩展序列号为SNNext(65541)的V12语音帧失败,将SNNext(65541)和当前发送时间记录到丢包队列,对丢包队列中的过期时延进行分析,确认暂时不需要引入额外的时延,发送明文静音帧,设置SNNext为65542。
25)接收方收到包含V13的RTP后,计算其扩展序列号为65542,由于其扩展序列号不小于SNNext,说明其未过期,将其(包括对应的扩展序列号)放入接收缓存队列;
26)当V13空口发射定时到达时,获取到扩展序列号为SNNext(65542)的V13语音帧并发送,设置SNNext为65543;
27)接收方收到包含V14的RTP后,计算其扩展序列号为65543,由于其扩展序列号不小于SNNext,说明其未过期,将其(包括对应的扩展序列号)放入接收缓存队列;
28)接收方收到包含V15的RTP后,计算其扩展序列号为65544,由于其扩展序列号不小于SNNext,说明其未过期,将其(包括对应的扩展序列号)放入接收缓存队列;
29)当V14空口发射定时到达时,获取到扩展序列号为SNNext(65543)的V14语音帧并发送,设置SNNext为65544;
30)接收方收到包含V16的RTP后,计算其扩展序列号为65545,由于其扩展序列号不小于SNNext,说明其未过期,将其(包括对应的扩展序列号)放入接收缓存队列;
31)当V15空口发射定时到达时,获取到扩展序列号为SNNext(65544)的V15语音帧并发送,设置SNNext为65545;
32)接收方收到包含V17的RTP后,计算其扩展序列号为65546,由于其扩展序列号不小于SNNext,说明其未过期,将其(包括对应的扩展序列号)放入接收缓存队列;
33)当V16空口发射定时到达时,获取到扩展序列号为SNNext(65545)的V16语音帧并发送,设置SNNext为65546;
34)接收方收到包含V18的RTP后,计算其扩展序列号为65547,由于其扩展序列号不小于SNNext,说明其未过期,将其(包括对应的扩展序列号)放入接收缓存队列。
三、接收方MS的接收和解密流程:
1)接收到V1的语音帧后,终端判断语音帧类型为有效的密文语音帧,直接解密密文语音并播放;
2)接收到V2的语音帧后,终端判断语音帧类型为有效的密文语音帧,直接解密密文语音并播放;
3)接收到V3的语音帧后,终端判断语音帧类型为明文静音帧,请求一帧解密密钥流并丢弃,以保证后续的语音解密仍处于同步状态,然后播放舒适背景噪声或者静音;
4)接收到V4的语音帧后,终端判断语音帧类型为有效的密文语音帧,直接解密密文语音并播放;
5)接收到V5的语音帧后,终端判断语音帧类型为有效的密文语音帧,直接解密密文语音并播放;
6)接收到V6的语音帧后,终端判断语音帧类型为有效的密文语音帧,直接解密密文语音并播放;
7)接收到V7的语音帧后,终端判断语音帧类型为明文静音帧,请求一帧解密密钥流并丢弃,以保证后续的语音解密仍处于同步状态,然后播放舒适背景噪声或者静音;
8)接收到V8的语音帧后,终端判断语音帧类型为明文静音帧,请求一帧解密密钥流并丢弃,以保证后续的语音解密仍处于同步状态,然后播放舒适背景噪声或者静音;
9)接收到V9的语音帧后,终端判断语音帧类型为明文附加帧,播放舒适背景噪声或者静音;
10)接收到延迟发送的V9语音帧后,终端判断语音帧类型为有效的密文语音帧,直接解密密文语音并播放;
11)接收到V10的语音帧后,终端判断语音帧类型为有效的密文语音帧,直接解密密文语音并播放;
12)接收到V11的语音帧后,终端判断语音帧类型为有效的密文语音帧,直接解密密文语音并播放;
13)接收到V12的语音帧后,终端判断语音帧类型为明文静音帧,请求一帧解密密钥流并丢弃,以保证后续的语音解密仍处于同步状态,然后播放舒适背景噪声或者静音;
14)接收到V13的语音帧后,终端判断语音帧类型为有效的密文语音帧,直接解密密文语音并播放;
15)接收到V14的语音帧后,终端判断语音帧类型为有效的密文语音帧,直接解密密文语音并播放;
16)接收到V15的语音帧后,终端判断语音帧类型为无效语音帧(由于接收方TS下行发射被干扰,导致MS接收失败),请求一帧解密密钥流并丢弃,以保证后续的语音解密仍处于同步状态,然后播放舒适背景噪声或者静音;
17)接收到V16的语音帧后,终端判断语音帧类型为有效的密文语音帧,直接解密密文语音并播放。
上述方法在解决了动态调整时延以及语音帧缺失时引起的加密语音通话质量出现下降的问题。通过接收方的基站(或***)与移动台之间的协同配合,区分出不同的异常场景,并分别有针对性的进行了补偿处理,消除了收发双方由于加解密失步导致语音解密失败的问题。
对于本领域的技术人员来说,可以根据以上的技术方案和构思,作出各种相应的改变和变形,而所有的这些改变和变形都应该包括在本发明权利要求的保护范围之内。
Claims (8)
1.一种用于改善无线数字通信***接收方密文语音质量的方法,其特征在于,包括如下步骤:
步骤S1、发送方MS发起语音通话,发送方TS向接收方TS发送RTP包;接收方TS接收到来自发送方TS的RTP包,先按发送方TS产生的顺序对RTP包进行排序,然后丢弃重复包和迟后到达的过期RTP包,最后将排序后的RTP包放入接收缓存队列;
步骤S2、接收方TS按空口的语音帧发送时间间隔定时从接收缓存队列取走指定的RTP包,如果获取成功,则直接发送RTP包中的语音帧;如果获取失败,确定是否需要引入额外的时延,若需要,则空口发送明文附加帧并继续等待本次欲获取的RTP包,若不需要,则空口发送明文静音帧并跳过本次欲获取的RTP包;
步骤S3、接收方MS定时接收从接收方TS发送的语音帧,根据获得的语音帧的类型进行如下处理:如为密文语音帧则直接解密并播放,如为明文附加帧则播放舒适背景噪声或者静音,如为无效语音帧或明文静音帧,则播放舒适背景噪声或者静音并跳过一帧解密密钥流。
2.根据权利要求1所述的用于改善无线数字通信***接收方密文语音质量的方法,其特征在于,步骤S1具体包括:
S1.1、接收方TS设置一个空的接收缓存队列以及丢包队列,将接收到的第一个RTP包放入接收缓存队列,包括对应的序列号,并保存第一个RTP包的序列号以及时间戳;设置SNNext=第一个RTP包的序列号,然后并行启动步骤S2;
S1.2、接收方TS接收下一个RTP包,根据本次接收的RTP包中的序列号和时间戳以及上一个RTP包的序列号以及时间戳,计算扩展序列号,判断本次接收的RTP包的扩展序列号是否小于SNNext,如果是,即本次接收的RTP包已经过期,此时执行步骤S1.3,否则跳到步骤S1.5;
S1.3、判断本次接收的RTP包对应的扩展序列号是否出现在丢包队列中,如果是,则计算该包的过期时延,并记录到丢包队列中;
S1.4、丢弃本次接收的过期的RTP包,跳到步骤S1.6;
S1.5、根据本次接收的RTP包的扩展序列号,剔除重复包后,将本次接收的RTP包***到接收缓存队列中,包括其扩展序列号;
S1.6、判断通话是否已结束,如已结束则执行步骤S1.7,否则跳到步骤S1.2;
S1.7、通知步骤S2对应的发送流程通话已结束,并结束步骤S1。
3.根据权利要求2所述的用于改善无线数字通信***接收方密文语音质量的方法,其特征在于,在所述步骤S1.2中,通过如下方法计算扩展序列号:
S1.2.1、计算utdelta=本次接收的RTP包中的时间戳-TSbase;TSbase为上一次接收的RTP包的时间戳;如果utdelta大于MAX_TS_MISORDER,设置utdelta=4294967296-utdelta;MAX_TS_MISORDER为参数;
S1.2.2、计算得到扩展序列号SN=SNbase+utdelta/时间戳步进间隔;
S1.2.3、将TSbase、SNbase分别更新为本次接收的RTP包对应的时间戳和扩展序列号SN。
4.根据权利要求3所述的用于改善无线数字通信***接收方密文语音质量的方法,其特征在于,MAX_TS_MISORDER取值为2147483648。
5.根据权利要求1所述的用于改善无线数字通信***接收方密文语音质量的方法,其特征在于,步骤S2的具体流程包括:
S2.1、按空口的语音帧发送时间间隔,定时获取步骤S1中的接收缓存队列中的RTP包,判断接收缓存队列中是否存在扩展序列号为SNNext的RTP包,如果是,则执行步骤S2.2,否则跳到步骤S2.3;对于第一个RTP包,SNNext=第一个RTP包的序列号;
S2.2、取出队列中扩展序列号为SNNext的RTP包,并通过空口发送RTP包中的语音帧,跳到步骤S2.5;
S2.3、将SNNext和当前发送时间记录到丢包队列,并将其过期时延初始化为0,判断是否需要引入额外的时延,如果是,则执行步骤S2.4,否则跳到步骤S2.5;
S2.4、清空丢包队列,然后通过空口发送明文附加帧,跳到步骤S2.6;
S2.5、设置SNNext=SNNext+1,表示下次将获取一帧新的语音帧;
S2.6、判断是否收到通话已结束的通知,如果是,则执行步骤S2.7,否则跳到步骤S2.1;
S2.7、结束步骤S2。
6.根据权利要求5所述的用于改善无线数字通信***接收方密文语音质量的方法,其特征在于,在所述步骤S2.3中,判断是否需要引入额外时延的方法为:
统计丢包队列中扩展序列号在SNNext-M和SNNext之间过期时延大于0的包数量,如果大于N,则需要引入额外时延;否则不需要引入额外时延,M和N为预设参数。
7.根据权利要求6所述的用于改善无线数字通信***接收方密文语音质量的方法,其特征在于,参数M取值为30,参数N取值为3。
8.根据权利要求1所述的用于改善无线数字通信***接收方密文语音质量的方法,其特征在于,步骤S3的具体流程包括:
S3.1、接收方MS按空口的语音帧发送时间间隔定时接收语音帧,判断是否为有效语音帧,如果是,则执行步骤S3.2,否则跳到步骤S3.3;
S3.2、判断是否为明文静音帧,如果是,则执行步骤S3.3,否则跳到步骤S3.4;
S3.3、请求一帧解密密钥流并丢弃,以保证后续的语音解密仍处于同步状态,跳到步骤S3.5;
S3.4判断是否为明文附加帧,如果是,则执行步骤S3.5,否则跳到步骤S3.6;
S3.5播放舒适背景噪声或者静音,跳到步骤S3.7;
S3.6请求解密密钥流,然后解密接收到的密文语音帧,播放解密后的语音;
S3.7判断通话是否已结束,如已结束则执行步骤S3.8,否则跳到步骤S3.1;
S3.8结束步骤S3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810710872.5A CN108933786B (zh) | 2018-07-03 | 2018-07-03 | 用于改善无线数字通信***接收方密文语音质量的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810710872.5A CN108933786B (zh) | 2018-07-03 | 2018-07-03 | 用于改善无线数字通信***接收方密文语音质量的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108933786A CN108933786A (zh) | 2018-12-04 |
CN108933786B true CN108933786B (zh) | 2021-04-09 |
Family
ID=64447298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810710872.5A Active CN108933786B (zh) | 2018-07-03 | 2018-07-03 | 用于改善无线数字通信***接收方密文语音质量的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108933786B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112217734B (zh) * | 2019-07-10 | 2022-11-18 | 海能达通信股份有限公司 | 一种语音信息的同步方法和通信*** |
CN112564995B (zh) * | 2019-09-25 | 2022-04-01 | 大唐移动通信设备有限公司 | 一种降低语音丢包统计量的方法及基站 |
CN111836214B (zh) * | 2020-07-08 | 2022-03-01 | 公安部第一研究所 | 用于无线数字通信***接收方评估及改善语音质量的方法 |
CN112422370B (zh) * | 2020-11-20 | 2023-02-03 | 维沃移动通信有限公司 | 语音通话质量的确定方法和装置 |
CN114448954A (zh) * | 2021-12-30 | 2022-05-06 | 普强时代(珠海横琴)信息技术有限公司 | 一种静音处理方法以及装置、存储介质、电子装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1549536A (zh) * | 2003-05-09 | 2004-11-24 | ��Ϊ��������˾ | 用rtp数据包的时戳进行排序以消除其抖动延时的方法 |
CN1627747A (zh) * | 2003-12-09 | 2005-06-15 | 华为技术有限公司 | 语音传输过程中实现动态调整抖动缓存的方法 |
CN105516090A (zh) * | 2015-11-27 | 2016-04-20 | 刘军 | 媒体播放方法、设备及音乐教学*** |
CN105939289A (zh) * | 2015-12-21 | 2016-09-14 | 小米科技有限责任公司 | 网络抖动处理方法、装置和终端设备 |
KR20160123562A (ko) * | 2015-04-16 | 2016-10-26 | 주식회사래피드정보통신 | 데이터 패킷 처리를 위한 수신기 장치 및 수신기 장치에서의 데이터 패킷 처리 방법 |
KR101677376B1 (ko) * | 2014-08-29 | 2016-11-17 | 영남대학교 산학협력단 | VoIP 패킷 크기 조절 장치 및 방법 |
CN107534589A (zh) * | 2015-04-14 | 2018-01-02 | 高通股份有限公司 | 去抖动缓冲器更新 |
-
2018
- 2018-07-03 CN CN201810710872.5A patent/CN108933786B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1549536A (zh) * | 2003-05-09 | 2004-11-24 | ��Ϊ��������˾ | 用rtp数据包的时戳进行排序以消除其抖动延时的方法 |
CN1627747A (zh) * | 2003-12-09 | 2005-06-15 | 华为技术有限公司 | 语音传输过程中实现动态调整抖动缓存的方法 |
KR101677376B1 (ko) * | 2014-08-29 | 2016-11-17 | 영남대학교 산학협력단 | VoIP 패킷 크기 조절 장치 및 방법 |
CN107534589A (zh) * | 2015-04-14 | 2018-01-02 | 高通股份有限公司 | 去抖动缓冲器更新 |
KR20160123562A (ko) * | 2015-04-16 | 2016-10-26 | 주식회사래피드정보통신 | 데이터 패킷 처리를 위한 수신기 장치 및 수신기 장치에서의 데이터 패킷 처리 방법 |
CN105516090A (zh) * | 2015-11-27 | 2016-04-20 | 刘军 | 媒体播放方法、设备及音乐教学*** |
CN105939289A (zh) * | 2015-12-21 | 2016-09-14 | 小米科技有限责任公司 | 网络抖动处理方法、装置和终端设备 |
Non-Patent Citations (1)
Title |
---|
"IP电话服务质量改进方案研究及实现";刘剑华;《中国优秀硕士学位论文全文数据库-信息科技辑》;20100315;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108933786A (zh) | 2018-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108933786B (zh) | 用于改善无线数字通信***接收方密文语音质量的方法 | |
TWI419565B (zh) | 緩衝媒體流之封包的方法、緩衝媒體流之系統、用於傳送之裝置與晶片組、伺服器、以及電腦程式產品 | |
KR100840146B1 (ko) | 패킷 데이터 통신 시스템에서 암호-동기화를 구현하기 위한 방법 및 장치 | |
RU2423009C1 (ru) | Способ и устройство для измерения синхронизации воспроизведения речевых потоков в пределах предложения без влияния на разборчивость | |
RU2369040C2 (ru) | Буферизация при потоковой передаче данных | |
US7369662B2 (en) | Maintaining end-to-end synchronization on a telecommunications connection | |
JP2007529967A (ja) | セキュリティ保護された実時間プロトコルにおける暗号情報の効率的な送信 | |
UA76407C2 (en) | Method and device (variants) for encrypting transmissions in a communication system | |
WO2009122831A1 (ja) | 秘匿処理装置、秘匿処理方法、および秘匿処理プログラム | |
US20040008844A1 (en) | Changing a codec or MAC size without affecting the encryption key in packetcable communication | |
JP2008527899A (ja) | 通信システムにおける信号暗号化/解読装置及び方法 | |
JP4600513B2 (ja) | データ送信装置、送信レート制御方法およびプログラム | |
CN109714295B (zh) | 一种语音加解密同步处理方法和装置 | |
US8594075B2 (en) | Method and system for wireless VoIP communications | |
JP3838511B2 (ja) | 動画像圧縮符号化送受信装置 | |
EP3185505B1 (en) | Data packet transmission processing method and device | |
JP6333969B2 (ja) | 放送送受信装置および放送送受信方法 | |
US8306069B2 (en) | Interleaved cryptographic synchronization | |
JP4655870B2 (ja) | パケット送受信システムおよび経過時間測定方法 | |
CN112217734B (zh) | 一种语音信息的同步方法和通信*** | |
CN106788959B (zh) | 一种pdt集群***加密语音同步方法 | |
Miyamoto et al. | Mobile backhaul uplink jitter reduction techniques with optical-wireless cooperative control | |
Samarakoon et al. | Encrypted video over TETRA | |
EP1627490B1 (en) | Processor and method for end-to-end encryption synchronisation | |
EP1634406B1 (en) | Processor, method, transmitter and terminal for use in communications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |