CN104240715B - 用于恢复丢失数据的方法和设备 - Google Patents

用于恢复丢失数据的方法和设备 Download PDF

Info

Publication number
CN104240715B
CN104240715B CN201310248383.XA CN201310248383A CN104240715B CN 104240715 B CN104240715 B CN 104240715B CN 201310248383 A CN201310248383 A CN 201310248383A CN 104240715 B CN104240715 B CN 104240715B
Authority
CN
China
Prior art keywords
hunting zone
data
frame
hunting
length
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
Application number
CN201310248383.XA
Other languages
English (en)
Other versions
CN104240715A (zh
Inventor
胡晨
苗磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Gaohang Intellectual Property Operation Co ltd
Tanmu Information Technology Shenzhen Co ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310248383.XA priority Critical patent/CN104240715B/zh
Publication of CN104240715A publication Critical patent/CN104240715A/zh
Application granted granted Critical
Publication of CN104240715B publication Critical patent/CN104240715B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明实施例提供用于恢复丢失数据的方法和设备。该方法包括:在当前帧中存在待恢复数据的情况下,在第一搜索范围内进行第一级搜索,确定第一搜索范围内与待恢复数据相关性最大的第一数据的第一起始位置;根据第一起始位置和/或帧信息,在第一搜索范围内确定第二搜索范围,其中帧信息包括以下至少一种:当前帧的前一帧的基音周期,前一帧的信号类型;在第二搜索范围内进行第二级搜索,以确定第二数据的第二起始位置,第二数据是除第一数据之外的与待恢复数据相关性最大的数据,以便至少根据第一起始位置和第二起始位置对待恢复数据进行恢复。本发明实施例能够保证搜索得到的数据的可靠性,并使得所恢复的数据的前后连续性增强。

Description

用于恢复丢失数据的方法和设备
技术领域
本发明涉及信号处理领域,并且具体地,涉及用于恢复丢失数据的方法和设备。
背景技术
随着移动互联网的快速发展,现在越来越多的移动音频质量的要求越来越高,为了让语音和音频都能达到一个很好的编解码质量,融合语音(时域编解码)和音频(频域编解码)的编解码器越来越多。这种融合编解码器既包含了时域编解码的功能又包含了频域编解码的功能。这样在时频切换时,就会由于两种编解码时延的不同,产生一部分无法恢复的数据。因此,根据搜索已有数据与丢失数据的相关性来恢复这些数据是解决这类问题的重要步骤。
目前,常采用类似于用于恢复丢失帧的方法,通过单级搜索来找出与丢失数据相关性最大的数据,然后根据搜索的结果对丢失数据进行恢复。但是,丢包情况下通常是整帧的丢失,并且通常前一帧与丢失帧的类型基本一致,单级搜索结果是比较容易满足恢复丢失帧的需求。而时频切换时所丢失的数据通常是当前帧中的部分数据,在对其进行恢复时对于相关数据的可靠性有着更高的要求,而单级搜索出来的相关数据的可靠性是无法满足该要求的,会导致恢复的数据前后连续性不好。
发明内容
本发明实施例提供用于恢复丢失数据的方法和设备,能够增强恢复的数据的前后连续性。
第一方面,提供了一种恢复丢失数据的方法,包括:在当前帧中存在待恢复数据的情况下,在第一搜索范围内,进行第一级搜索,以确定所述第一搜索范围内与所述待恢复数据相关性最大的第一数据的第一起始位置D1;根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围,其中所述帧信息包括以下至少一种:所述当前帧的前一帧的基音周期,所述前一帧的信号类型;在所述第二搜索范围内,进行第二级搜索,以确定第二数据的第二起始位置,所述第二数据是除所述第一数据之外的与所述待恢复数据相关性最大的数据,以便至少根据所述第一起始位置D1和所述第二起始位置对所述待恢复数据进行恢复。
结合第一方面,在第一种可能的实现方式中,所述第二搜索范围小于所述第一搜索范围。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,在所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围之前,所述方法还包括:在所述第一起始位置D1位于所述第一搜索范围内的第一子范围的情况下,确定所述前一帧的基音周期T是否小于所述第一搜索范围的长度N1,其中,所述第一子范围为(N1/2-a,N1/2+a),0<a<N1/2;
所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围,包括:在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1的情况下,确定所述第二搜索范围为(D1-T/2,D1+T/2);或者,在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1,且D1小于T/2的情况下,确定所述第二搜索范围为(0,T);或者,在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1,且(D1+T/2)大于N1的情况下,确定所述第二搜索范围为(N1-T,T)。
结合第一方面,在第三种可能的实现方式中,在所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围之前,所述方法还包括:在所述第一起始位置D1位于所述第一搜索范围内的第一子范围的情况下,确定所述前一帧的基音周期T是否小于所述第一搜索范围的长度N1,其中,所述第一子范围为(N1/2-a,N1/2+a),0<a<N1/2;
所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围,包括:在确定所述前一帧的基音周期T大于或等于所述第一搜索范围的长度N1的情况下,确定所述第一搜索范围作为所述第二搜索范围。
结合第一方面,在第四种可能的实现方式中,所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围,包括:在所述第一起始位置D1没有位于所述第一搜索范围内的第一子范围的情况下,确定所述第一搜索范围作为所述第二搜索范围,其中,所述第一子范围为(N1/2-a,N1/2+a),N1表示所述第一搜索范围的长度,0<a<N1/2。
结合第一方面的第一种可能的实现方式,在第五种可能的实现方式中,在所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围之前,所述方法还包括:在所述前一帧的信号为语音信号的情况下,确定所述前一帧的基音周期T是否小于所述第一搜索范围的长度N1;
所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围,包括:在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1的情况下,确定所述第二搜索范围为(D1-T/2,D1+T/2);或者,在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1,且D1小于T/2的情况下,确定所述第二搜索范围为(0,T);或者,在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1,且(D1+T/2)大于N1的情况下,确定所述第二搜索范围为(N1-T,T)。
结合第一方面,在第六种可能的实现方式中,在所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围之前,所述方法还包括:在所述前一帧的信号类型为语音信号的情况下,确定所述前一帧的基音周期T是否小于所述第一搜索范围的长度N1;
所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围,包括:在确定所述前一帧的基音周期T大于或等于所述第一搜索范围的长度N1的情况下,确定所述第一搜索范围作为所述第二搜索范围。
结合第一方面,在第七种可能的实现方式中,所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围,包括:在所述前一帧的信号类型为噪声信号的情况下,确定所述第一搜索范围作为所述第二搜索范围。
结合第一方面或第一方面的第一种可能的实现方式至第七种可能的实现方式中任一实现方式,在第八种可能的实现方式中,在所述第二搜索范围内进行第二级搜索之后,所述方法还包括:确定所述第二搜索范围作为第L搜索范围,L为大于或等于3的正整数;在所述第L搜索范围内,进行第L级搜索,以确定在所述第L搜索范围内与所述待恢复数据相关性最大的第L数据的第L起始位置,其中所述第L数据不同于所述第一数据至第(L-1)数据,以便根据所述第一起始位置D1至所述第L起始位置对所述待恢复数据进行恢复。
结合第一方面或第一方面的第一种可能的实现方式至第八种可能的实现方式中任一实现方式,在第九种可能的实现方式中,所述第一搜索范围为从所述前一帧中的第一位置到所述待恢复数据的起始位置的范围;或者,所述第一搜索范围为从所述当前帧中已恢复数据的起始位置到所述当前帧的结束位置的范围。
第二方面,提供了一种恢复丢失数据的设备,包括:搜索单元,用于在当前帧中存在待恢复数据的情况下,在第一搜索范围内,进行第一级搜索,以确定所述第一搜索范围内与所述待恢复数据相关性最大的第一数据的第一起始位置D1;确定单元,用于根据所述搜索单元得到的所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围,其中所述帧信息包括以下至少一种:所述当前帧的前一帧的基音周期,所述前一帧的信号类型;所述搜索单元,还用于在所述第二搜索范围内,进行第二级搜索,以确定第二数据的第二起始位置,所述第二数据是除所述第一数据之外的与所述待恢复数据相关性最大的数据,以便至少根据所述第一起始位置D1和所述第二起始位置对所述待恢复数据进行恢复。
结合第二方面,在第一种可能的实现方式中,所述第二搜索范围小于所述第一搜索范围。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述确定单元还用于,在根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围之前,在所述第一起始位置D1位于所述第一搜索范围内的第一子范围的情况下,确定所述前一帧的基音周期T是否小于所述第一搜索范围的长度N1,其中,所述第一子范围为(N1/2-a,N1/2+a),0<a<N1/2;
所述确定单元具体用于:在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1的情况下,确定所述第二搜索范围为(D1-T/2,D1+T/2);或者,在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1,且D1小于T/2的情况下,确定所述第二搜索范围为(0,T);或者,在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1,且(D1+T/2)大于N1的情况下,确定所述第二搜索范围为(N1-T,T)。
结合第二方面,在第三种可能的实现方式中,所述确定单元还用于,在根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围之前,在所述第一起始位置D1位于所述第一搜索范围内的第一子范围的情况下,确定所述前一帧的基音周期T是否小于所述第一搜索范围的长度N1,其中,所述第一子范围为(N1/2-a,N1/2+a),0<a<N1/2;所述确定单元具体用于在确定所述前一帧的基音周期T大于或等于所述第一搜索范围的长度N1的情况下,确定所述第一搜索范围作为所述第二搜索范围。
结合第二方面,在第四种可能的实现方式中,所述确定单元具体用于在所述第一起始位置D1没有位于所述第一搜索范围内的第一子范围的情况下,确定所述第一搜索范围作为所述第二搜索范围,其中,所述第一子范围为(N1/2-a,N1/2+a),N1表示所述第一搜索范围的长度,0<a<N1/2。
结合第二方面的第一种可能的实现方式,在第五种可能的实现方式中,所述确定单元还用于在根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围之前,在所述前一帧的信号为语音信号的情况下,确定所述前一帧的基音周期T是否小于所述第一搜索范围的长度N1;
所述确定单元具体用于:在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1的情况下,确定所述第二搜索范围为(D1-T/2,D1+T/2);或者,在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1,且D1小于T/2的情况下,确定所述第二搜索范围为(0,T);或者,在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1,且(D1+T/2)大于N1的情况下,确定所述第二搜索范围为(N1-T,T)。
结合第二方面,在第六种可能的实现方式中,所述确定单元还用于,在根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围之前,在所述前一帧的信号类型为语音信号的情况下,确定所述前一帧的基音周期T是否小于所述第一搜索范围的长度N1;所述确定单元具体用于在确定所述前一帧的基音周期T大于或等于所述第一搜索范围的长度N1的情况下,确定所述第一搜索范围作为所述第二搜索范围。
结合第二方面,在第七种可能的实现方式中,所述确定单元具体用于在所述前一帧的信号类型为噪声信号的情况下,确定所述第一搜索范围作为所述第二搜索范围。
结合第二方面或第二方面的第一种可能的实现方式至第七种可能的实现方式中任一实现方式,在第八种可能的实现方式中,所述确定单元还用于在所述第二搜索范围内进行第二级搜索之后,确定所述第二搜索范围作为第L搜索范围,L为大于或等于3的正整数;所述搜索单元,还用于在所述第L搜索范围内,进行第L级搜索,以确定在所述第L搜索范围内与所述待恢复数据相关性最大的第L数据的第L起始位置,其中所述第L数据不同于所述第一数据至第(L-1)数据,以便根据所述第一起始位置D1至所述第L起始位置对所述待恢复数据进行恢复。
结合第二方面或第二方面的第一种可能的实现方式至第八种可能的实现方式中任一实现方式,在第九种可能的实现方式中,所述第一搜索范围为从所述前一帧中的第一位置到所述待恢复数据的起始位置的范围;或者,所述第一搜索范围为从所述当前帧中已恢复数据的起始位置到所述当前帧的结束位置的范围。
本发明实施例中,通过根据第一级搜索确定的第一数据的第一起始位置和/或帧信息,在第一搜索范围内确定第二搜索范围,并在第二搜索范围内进行第二级搜索以确定第二数据,能够保证各级搜索得到的数据的可靠性,从而使得在根据各级搜索得到的相关数据对待恢复数据进行恢复时能够增强所恢复的数据的前后连续性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的用于恢复丢失数据的方法的示意性流程图。
图2a是根据本发明一个实施例的方法的过程的示意性流程图。
图2b是根据本发明另一实施例的方法的过程的示意性流程图。
图3是根据本发明一个实施例的用于恢复丢失数据的设备的示意框图。
图4是根据本发明另一实施例的用于恢复丢失数据的设备的示意框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
图1是根据本发明实施例的用于恢复丢失数据的方法的示意性流程图。图1的方法由解码端执行,例如可以由融合语音和音频的解码器执行。
110,在当前帧中存在待恢复数据的情况下,在第一搜索范围内,进行第一级搜索,以确定第一搜索范围内与待恢复数据相关性最大的第一数据的第一起始位置D1。
对于融合语音和音频的解码端而言,由于在解码时不仅需要对语音信号进行时域解码,又需要对音频信号进行频域解码,在时频切换时,会导致当前帧的部分数据丢失。因此,如果当前帧中存在待恢复数据,那么解码器需要搜索与待恢复数据相关性最佳的数据,以恢复丢失的数据。在本发明实施例中,解码端可以进行多级搜索。在第一搜索范围内,解码端可以进行第一级搜索,确定与待恢复数据相关性最大的第一数据,从而确定第一数据的第一起始位置D1。相关性的确定方式可以参照现有技术,例如可以采用现有技术计算相关系数,根据相关系数来确定数据之间的相关性。
可选地,作为一个实施例,第一搜索范围可以为从前一帧中的第一位置到待恢复数据的起始位置的范围。或者,第一搜索范围可以为从当前帧中已恢复数据的起始位置到当前帧结束位置的范围。
具体地,第一搜索范围可以为从前一帧中的第一位置到待恢复数据的起始位置的范围,那么解码端在第一搜索范围内进行的第一级搜索可以为向前搜索。第一位置可以是预先设定的。例如,解码端可以预先设定第一位置,使得第一位置到待恢复数据的起始位置的长度为帧长度。
或者,第一搜索范围可以从当前帧中已恢复数据的起始位置到当前帧的结束位置的范围,那么解码端在第一搜索范围内进行的第一级搜索可以为向后搜索。
可见,本发明实施例可以应用于向前搜索,也可以应用于向后搜索。具体地,解码端可以采用本发明实施例的方法进行向前搜索,采用现有技术进行向后搜索。解码端也可以采用本发明实施例的方法进行向后搜索,采用现有技术进行向前搜索。或者,解码端可以采用本发明实施例的方法进行向前搜索和向后搜索。
120,根据第一起始位置D1和/或帧信息,在第一搜索范围内确定第二搜索范围,其中帧信息包括以下至少一种:当前帧的前一帧的基音周期,前一帧的信号类型。
基音周期的原理可以如下:人在发浊音时,气流通过声门使声带产生张驰振荡式振动,产生一股准周期脉冲气流,这一气流激励声道就产生浊音,又称有声语音,它携带着语音中的大部分能量。这种声带振动的频率称为基频,相应的周期就称为基音周期(Pitch)。
130,在第二搜索范围内,进行第二级搜索,以确定第二数据的第二起始位置,第二数据是除第一数据之外的与待恢复数据相关性最大的数据,以便至少根据第一起始位置D1和第二起始位置对待恢复数据进行恢复。
解码端可以在第二搜索范围内,进行第二级搜索,来确定与待恢复数据相关性次大的第二数据。也就是说,第二数据是除第一数据之外的与待恢复数据相关性最大的数据。
从上述可知,现有技术中通过单级搜索来确定与待恢复数据相关的数据,而本发明实施例中,在对待恢复数据进行恢复前,可以进行多级搜索,得到多个与待恢复数据相关的数据,例如,通过第一级搜索得到的第一数据,通过第二级搜索得到的第二数据,从而能够保证搜索出来的相关数据的可靠性,使得在后续根据多级搜索得到的相关数据进行数据恢复时能够增强所恢复的数据的前后连续性。例如,可以根据各级搜索得到的相关数据,从这些数据中选择与待恢复数据的相关性高于某一阈值并且起始位置与待恢复数据最接近的数据,然后利用该数据对待恢复数据进行恢复,这样相比根据单级搜索的结果进行数据恢复,能够增强所恢复的数据的前后连续性。再例如,如果本发明实施例的方法应用于向前搜索,那么可以将得到的多个相关数据的位置与向后搜索得到的相关数据的位置分别组合,参考平滑度参数确定其中的最佳组合,其中该最佳组合能够使得所恢复的数据的平滑度最佳,从而可以根据该最佳组合进行数据恢复。
本发明实施例中,通过根据第一级搜索确定的第一数据的第一起始位置和/或帧信息,在第一搜索范围内确定第二搜索范围,并在第二搜索范围内进行第二级搜索以确定第二数据,能够保证搜索得到的数据的可靠性,从而使得在根据各级搜索得到的相关数据的起始位置对待恢复数据进行恢复时能够增强所恢复的数据的前后连续性。
可选地,作为一个实施例,第二级搜索范围可以小于第一级搜索范围。
由上述可知,本发明实施例中,通过根据第一级搜索得到的第一起始位置和/或帧信息,在第一搜索范围内确定小于第一级搜索范围的第二搜索范围,并在第二搜索范围内进行第二级搜索,而非简单地采用固定的搜索范围进行各级搜索,能够降低多级搜索的复杂度消耗。
可选地,作为另一实施例,在第一起始位置D1位于第一搜索范围内的第一子范围的情况下,在步骤120之前,解码端可以确定前一帧的基音周期T是否小于第一搜索范围的长度N1。其中第一子范围为(N1/2-a,N1/2+a),0<a<N1/2。
如果第一起始位置D1位于第一搜索范围内的第一子范围,那么根据基音周期T与第一搜索范围的长度N1的大小关系,解码端可以确定第二搜索范围的具体取值。其中T的确定方式可以参照现有技术。接下来将描述在4种不同的情况下第二搜索范围的具体取值。本发明实施例中,数据的起始位置可以为时间点。基音周期T的单位可以为时间,因此,可以对D1与T进行相应的运算来确定第二搜索范围。
可选地,作为另一实施例,在步骤120中,如果第一起始位置D1位于第一搜索范围内的第一子范围,解码端可以在确定前一帧的基音周期T小于第一搜索范围的长度N1的情况下,确定第二搜索范围为(D1-T/2,D1+T/2)。
通常,在一定范围内基音会周期性地出现,因此,在基音周期T小于第一搜索范围的长度N1的情况下,在大于基音周期T的搜索范围内进行搜索没有太大意义,因此解码端可以在长度为T的第二搜索范围进行搜索。可见,第二搜索范围(D1-T/2,D1+T/2)小于第一搜索范围,从而能够降低搜索的复杂度消耗。
可选地,作为另一实施例,在步骤120中,如果第一起始位置D1位于第一搜索范围内的第一子范围,解码端可以在确定前一帧的基音周期T小于第一搜索范围的长度N1,且D1小于T/2的情况下,确定第二搜索范围为(0,T)。
类似于上述描述,在大于基音周期T的搜索范围内进行搜索没有太大意义,因此解码端可以在长度为T的第二搜索范围进行搜索。当D1小于T/2时,(D1-T/2)将超出第一搜索范围,因此可以确定第二搜索范围为(0,T),该范围小于第一搜索范围,从而能够降低搜索的复杂度消耗。
可选地,作为另一实施例,在步骤120中,如果第一起始位置D1位于第一搜索范围内的第一子范围,解码端可以在确定前一帧的基音周期T小于第一搜索范围的长度N1,且(D1+T/2)大于N1的情况下,确定第二搜索范围为(N1-T,T)。
类似于上述描述,在大于基音周期T的搜索范围内进行搜索没有太大意义,因此解码端可以在长度为T的第二搜索范围进行搜索。当(D1+T/2)大于N1时,(D1-T/2)将超出第一搜索范围,因此可以确定第二搜索范围为(0,T),该范围小于第一搜索范围,从而能够降低搜索的复杂度消耗。
可选地,作为另一实施例,在步骤120之前,解码端可以在第一起始位置D1位于第一搜索范围内的第一子范围的情况下,确定前一帧的基音周期T是否小于第一搜索范围的长度N1,其中,第一子范围为(N1/2-a,N1/2+a),0<a<N1/2。在步骤120中,解码端可以在确定前一帧的基音周期T大于或等于第一搜索范围的长度N1的情况下,确定第一搜索范围作为第二搜索范围。
如果前一帧的基音周期T大于或等于第一搜索范围的长度N1,那么解码端可以将第一搜索范围作为第二搜索范围来进行第二级搜索。
可选地,作为另一实施例,在步骤120中,在第一起始位置D1没有位于第一搜索范围内的第一子范围的情况下,确定第一搜索范围作为第二搜索范围,其中,第一子范围为(N1/2-a,N1/2+a),N1表示第一搜索范围的长度,0<a<N1/2。
可选地,作为另一实施例,在步骤120之前,解码端可以在前一帧的信号为语音(Voice)信号的情况下,确定前一帧的基音周期T是否小于第一搜索范围的长度N1。
如果前一帧的信号为语音信号,那么根据基音周期T与第一搜索范围的长度N1的大小关系,解码端可以确定第二搜索范围的具体取值。接下来将描述在4种不同的情况下第二搜索范围的具体取值。
可选地,作为另一实施例,在步骤120中,如果前一帧的信号为语音信号,在确定前一帧的基音周期T小于第一搜索范围的长度N1的情况下,解码端可以确定第二搜索范围为(D1-T/2,D1+T/2)。
类似于上述描述,在大于基音周期T的搜索范围内进行搜索没有太大意义,因此解码端可以在长度为T的第二搜索范围进行搜索。可见,本实施例中,第二搜索范围(D1-T/2,D1+T/2)小于第一搜索范围,从而能够降低搜索的复杂度消耗。
可选地,作为另一实施例,在确定前一帧的基音周期T小于第一搜索范围的长度N1,且D1小于T/2的情况下,确定第二搜索范围为(0,T)。
类似于上述描述,在大于基音周期T的搜索范围内进行搜索没有太大意义,因此解码端可以在长度为T的第二搜索范围进行搜索。当D1小于T/2时,(D1-T/2)将超出第一搜索范围,因此可以确定第二搜索范围为(0,T),该范围小于第一搜索范围,从而能够降低搜索的复杂度消耗。
可选地,作为另一实施例,在确定前一帧的基音周期T小于第一搜索范围的长度N1,且(D1+T/2)大于N1的情况下,确定第二搜索范围为(N1-T,T)。
类似于上述描述,在大于基音周期T的搜索范围内进行搜索没有太大意义,因此解码端可以在长度为T的第二搜索范围进行搜索。当(D1+T/2)大于N1时,(D1-T/2)将超出第一搜索范围,因此可以确定第二搜索范围为(0,T),该范围小于第一搜索范围,从而能够降低搜索的复杂度消耗。
可选地,作为另一实施例,在确定前一帧的基音周期T大于或等于第一搜索范围的长度N1的情况下,解码端可以确定第一搜索范围作为第二搜索范围。
可选地,作为另一实施例,在前一帧的信号类型为噪声(Noise)信号的情况下,解码端可以确定第一搜索范围作为第二搜索范围
可选地,作为另一实施例,在步骤130之后,解码端还可以确定第二搜索范围作为第L搜索范围,L为大于或等于3的正整数。解码端还可以在第L搜索范围内,进行第L级搜索,以确定在第L搜索范围内与待恢复数据相关性最大的第L数据的第L起始位置,其中第L数据不同于第一数据至第(L-1)数据,以便根据第一起始位置D1至第L起始位置对待恢复数据进行恢复。
在第二级搜索之后,解码端还可以在第二级搜索范围内进行多级搜索。上述L可以是预先设定的。解码端可以在每级搜索中,确定一个起始位置。例如,在第三级搜索中,解码端可以确定与待恢复数据相关性第三大的数据的起始位置。以此类推,在第L级搜索中,解码端可以确定与待恢复数据相关性第L大的数据的起始位置。在确定L个起始位置后,解码端可以对L个起始位置进行精细筛选。例如,可以参照上面所描述的方式,选择与待恢复数据相关性高于某一阈值并且起始位置与待恢复数据最接近的数据,然后根据该数据对待恢复数据进行恢复。
本发明实施例中,通过进行L级搜索,能够保证L级搜索得到的相关数据的可靠性,使得后续根据L个相关数据对待恢复数据进行恢复时,能够增强所恢复的数据的前后连续性。
而且,如果第二级搜索范围小于第一级搜索范围,那么接下来的第L级搜索的搜索范围也会小于第一级搜索范围,从而能够极大减小搜索的复杂度消耗。
图2a是根据本发明一个实施例的方法的过程的示意性流程图。
201a,如果当前帧中存在待恢复数据,则在第一搜索范围内进行第一级搜索,以确定第一搜索范围内与待恢复数据相关性最大的第一数据的第一起始位置D1。
202a,判断第一起始位置D1是否位于第一搜索范围的第一子范围内,第一子范围为(N1/2-a,N1/2+a),0<a<N1/2。
如果第一起始位置D1不是位于第一子范围内,则转到步骤203a。
如果第一起始位置D1位于第一子范围,则转到步骤204a。
203a,如果第一起始位置D1不是位于第一子范围内,则将第一搜索范围作为第二搜索范围。
204a,如果第一起始位置D1位于第一子范围,则判断前一帧的基音周期T是否小于第一搜索范围的长度N1。
如果基音周期T大于或等于第一搜索范围的长度N1,则仍转到步骤203a,即将第一搜索范围作为第二搜索范围。
如果基音周期T小于第一搜索范围的长度N1,则转到步骤205a。
205a,判断第一起始位置D1是否大于或等于T/2,且(D1+T/2)是否小于或等于N1。
如果D1大于或等于T/2,且(D1+T/2)小于或等于N1,那么转到步骤206a。
如果D1小于T/2,则转到步骤207a。
如果(D1+T/2)大于N1,则转到步骤208a。
206a,确定第二搜索范围为(D1-T/2,D1+T/2)。
207a,确定第二搜索范围为(0,T)。
208a,确定第二搜索范围为(N1-T,T)。
209a,在第二级搜索范围内进行第二级搜索。
由于步骤206a至208a中确定的第二搜索范围小于第一级搜索范围,那么可以降低第二级搜索的复杂度消耗。
210a,在第二级搜索之后,将第二搜索范围作为第L搜索范围。
L为大于或等于3的正整数。在第二级搜索之后,解码端还可以进行第三级以及以上的搜索。L可以是预先设定的。如果第二搜索范围小于第一级搜索范围,例如步骤206a至208a中确定的第二搜索范围,那么也可以降低后续第L级搜索的复杂度消耗。
211a,在第L搜索范围内进行第L级搜索,以确定在第L搜索范围内与待恢复数据相关性最大的第L数据的第L起始位置,其中第L数据不同于第一数据至第(L-1)数据。
本发明实施例中,通过根据第一级搜索确定的第一数据的第一起始位置和/或帧信息,在第一搜索范围内确定第二搜索范围,并在第二搜索范围内进行第二级搜索以确定第二数据,能够保证搜索得到的数据的可靠性,从而使得在根据各级搜索得到的相关数据对待恢复数据进行恢复时能够增强所恢复的数据的前后连续性。
图2b是根据本发明另一实施例的方法的过程的示意性流程图。
201b,如果当前帧中存在待恢复数据,则在第一搜索范围内进行第一级搜索,以确定第一搜索范围内与待恢复数据相关性最大的第一数据的第一起始位置D1。
202b,判断前一帧的信号是否为语音信号。
如果前一帧的信号为噪声信号,则转到步骤203b。
如果前一帧的信号为语音信号,则转到步骤204b。
203b,如果前一帧的信号为噪声信号,则将第一搜索范围作为第二搜索范围。
204b,如果前一帧的信号为语音信号,则判断前一帧的基音周期T是否小于第一搜索范围的长度N1。
步骤205b至211b类似于图2a中的步骤205a至211a,为了避免重复,此处不再赘述。
本发明实施例中,通过根据第一级搜索确定的第一数据的第一起始位置和/或帧信息,在第一搜索范围内确定第二搜索范围,并在第二搜索范围内进行第二级搜索以确定第二数据,能够保证搜索得到的数据的可靠性,从而使得在根据各级搜索得到的相关数据对待恢复数据进行恢复时能够增强所恢复的数据的前后连续性。
图3是根据本发明一个实施例的用于恢复丢失数据的设备的示意框图。图3的设备300的一个例子为解码器。设备300包括搜索单元310和确定单元320。
搜索单元310在当前帧中存在待恢复数据的情况下,在第一搜索范围内,进行第一级搜索,以确定第一搜索范围内与待恢复数据相关性最大的第一数据的第一起始位置D1。确定单元320根据搜索单元310得到的第一起始位置D1和/或帧信息,在第一搜索范围内确定第二搜索范围,其中帧信息包括以下至少一种:当前帧的前一帧的基音周期,前一帧的信号类型。搜索单元310还在第二搜索范围内,进行第二级搜索,以确定第二数据的第二起始位置,第二数据是除第一数据之外的与待恢复数据相关性最大的数据,以便至少根据第一起始位置D1和第二起始位置对待恢复数据进行恢复。
本发明实施例中,通过根据第一级搜索确定的第一数据的第一起始位置和/或帧信息,在第一搜索范围内确定第二搜索范围,并在第二搜索范围内进行第二级搜索以确定第二数据,能够保证搜索得到的数据的可靠性,从而使得在根据各级搜索得到的相关数据对待恢复数据进行恢复时能够增强所恢复的数据的前后连续性。
可选地,作为一个实施例,第二搜索范围可以小于第一搜索范围。
由上述可知,本发明实施例中,通过根据第一级搜索得到的第一起始位置和/或帧信息,在第一搜索范围内确定小于第一级搜索范围的第二搜索范围,并在第二搜索范围内进行第二级搜索,而非简单地采用固定的搜索范围进行多级搜索,能够降低搜索的复杂度消耗。
可选地,作为另一实施例,确定单元320还可以在根据第一起始位置D1和/或帧信息,在第一搜索范围内确定第二搜索范围之前,在第一起始位置D1位于第一搜索范围内的第一子范围的情况下,确定前一帧的基音周期T是否小于第一搜索范围的长度N1,其中,第一子范围为(N1/2-a,N1/2+a),0<a<N1/2。
确定单元320可以在确定前一帧的基音周期T小于第一搜索范围的长度N1的情况下,确定第二搜索范围为(D1-T/2,D1+T/2。或者确定单元320可以在确定前一帧的基音周期T小于第一搜索范围的长度N1,且D1小于T/2的情况下,确定第二搜索范围为(0,T)。或者确定单元320可以在确定前一帧的基音周期T小于第一搜索范围的长度N1,且(D1+T/2)大于N1的情况下,确定第二搜索范围为(N1-T,T)。
可选地,作为另一实施例,确定单元320还可以在根据第一起始位置D1和/或帧信息,在第一搜索范围内确定第二搜索范围之前,在第一起始位置D1位于第一搜索范围内的第一子范围的情况下,确定前一帧的基音周期T是否小于第一搜索范围的长度N1,其中,第一子范围为(N1/2-a,N1/2+a),0<a<N1/2。
确定单元320可以在确定前一帧的基音周期T大于或等于第一搜索范围的长度N1的情况下,确定第一搜索范围作为第二搜索范围。
可选地,作为另一实施例,确定单元320可以在第一起始位置D1没有位于第一搜索范围内的第一子范围的情况下,确定第一搜索范围作为第二搜索范围,其中,第一子范围为(N1/2-a,N1/2+a),N1表示第一搜索范围的长度,0<a<N1/2。
可选地,作为另一实施例,确定单元320还可以在根据第一起始位置D1和/或帧信息,在第一搜索范围内确定第二搜索范围之前,在前一帧的信号为语音信号的情况下,确定前一帧的基音周期T是否小于第一搜索范围的长度N1。
确定单元320可以在确定前一帧的基音周期T小于第一搜索范围的长度N1的情况下,确定第二搜索范围为(D1-T/2,D1+T/2)。或者,确定单元320可以在确定前一帧的基音周期T小于第一搜索范围的长度N1,且D1小于T/2的情况下,确定第二搜索范围为(0,T)。或者,确定单元320可以在确定前一帧的基音周期T小于第一搜索范围的长度N1,且(D1+T/2)大于N1的情况下,确定第二搜索范围为(N1-T,T)。
可选地,作为另一实施例,确定单元320还可以在根据第一起始位置D1和/或帧信息,在第一搜索范围内确定第二搜索范围之前,在前一帧的信号类型为语音信号的情况下,确定前一帧的基音周期T是否小于第一搜索范围的长度N1。
确定单元320可以在确定前一帧的基音周期T大于或等于第一搜索范围的长度N1的情况下,确定第一搜索范围作为第二搜索范围。
可选地,作为另一实施例,确定单元320可以在前一帧的信号类型为噪声信号的情况下,确定第一搜索范围作为第二搜索范围。
可选地,作为另一实施例,确定单元320还可以在第二搜索范围内进行第二级搜索之后,确定第二搜索范围作为第L搜索范围,L为大于或等于3的正整数。搜索单元310还可以在第L搜索范围内,进行第L级搜索,以确定在第L搜索范围内与待恢复数据相关性最大的第L数据的第L起始位置,其中第L数据不同于第一数据至第(L-1)数据,以便根据第一起始位置D1至第L起始位置对待恢复数据进行恢复。
可选地,作为另一实施例,第一搜索范围可以为从前一帧中的第一位置到待恢复数据的起始位置的范围。或者,第一搜索范围可以为从当前帧中已恢复数据的起始位置到当前帧的结束位置的范围。
图3的设备300的其它功能和操作可以参照上面图1至图2b的方法实施例的过程,为了避免重复,此处不再赘述。
图4是根据本发明另一实施例的用于恢复丢失数据的设备的示意框图。图4的设备400的一个例子为解码器。设备400包括存储器410和处理器420。
存储器410可以包括随机存储器、闪存、只读存储器、可编程只读存储器、非易失性存储器或寄存器等。处理器420可以是中央处理器(Central Processing Unit,CPU)。
存储器410用于存储可执行指令。处理器420可以执行存储器410中存储的可执行指令,用于:在当前帧中存在待恢复数据的情况下,在第一搜索范围内,进行第一级搜索,以确定第一搜索范围内与待恢复数据相关性最大的第一数据的第一起始位置D1;根据第一起始位置D1和/或帧信息,在第一搜索范围内确定第二搜索范围,其中帧信息包括以下至少一种:当前帧的前一帧的基音周期,前一帧的信号类型;在第二搜索范围内,进行第二级搜索,以确定第二数据的第二起始位置,第二数据是除第一数据之外的与待恢复数据相关性最大的数据。
本发明实施例中,通过根据第一级搜索确定的第一数据的第一起始位置和/或帧信息,在第一搜索范围内确定第二搜索范围,并在第二搜索范围内进行第二级搜索以确定第二数据,从而能够保证搜索得到的数据的可靠性,使得在根据各级搜索得到的相关数据对待恢复数据进行恢复时能够增强所恢复的数据的前后连续性。
可选地,作为一个实施例,第二搜索范围可以小于第一搜索范围。
由上述可知,本发明实施例中,通过根据第一级搜索得到的第一起始位置和/或帧信息,在第一搜索范围内确定小于第一级搜索范围的第二搜索范围,并在第二搜索范围内进行第二级搜索,而非简单地采用固定的搜索范围,能够降低搜索的复杂度消耗。
可选地,作为另一实施例,处理器420还可以在根据第一起始位置D1和/或帧信息,在第一搜索范围内确定第二搜索范围之前,在第一起始位置D1位于第一搜索范围内的第一子范围的情况下,确定前一帧的基音周期T是否小于第一搜索范围的长度N1,其中,第一子范围为(N1/2-a,N1/2+a),0<a<N1/2。
处理器420可以在确定前一帧的基音周期T小于第一搜索范围的长度N1的情况下,确定第二搜索范围为(D1-T/2,D1+T/2。或者处理器420可以在确定前一帧的基音周期T小于第一搜索范围的长度N1,且D1小于T/2的情况下,确定第二搜索范围为(0,T)。或者处理器420可以在确定前一帧的基音周期T小于第一搜索范围的长度N1,且(D1+T/2)大于N1的情况下,确定第二搜索范围为(N1-T,T)。
可选地,作为另一实施例,处理器420还可以在根据第一起始位置D1和/或帧信息,在第一搜索范围内确定第二搜索范围之前,在第一起始位置D1位于第一搜索范围内的第一子范围的情况下,确定前一帧的基音周期T是否小于第一搜索范围的长度N1,其中,第一子范围为(N1/2-a,N1/2+a),0<a<N1/2。
处理器420可以在确定前一帧的基音周期T大于或等于第一搜索范围的长度N1的情况下,确定第一搜索范围作为第二搜索范围。
可选地,作为另一实施例,处理器420可以在第一起始位置D1没有位于第一搜索范围内的第一子范围的情况下,确定第一搜索范围作为第二搜索范围,其中,第一子范围为(N1/2-a,N1/2+a),N1表示第一搜索范围的长度,0<a<N1/2。
可选地,作为另一实施例,处理器420还可以在根据第一起始位置D1和/或帧信息,在第一搜索范围内确定第二搜索范围之前,在前一帧的信号为语音信号的情况下,确定前一帧的基音周期T是否小于第一搜索范围的长度N1。
处理器420可以在确定前一帧的基音周期T小于第一搜索范围的长度N1的情况下,确定第二搜索范围为(D1-T/2,D1+T/2)。或者,处理器420可以在确定前一帧的基音周期T小于第一搜索范围的长度N1,且D1小于T/2的情况下,确定第二搜索范围为(0,T)。或者,处理器420可以在确定前一帧的基音周期T小于第一搜索范围的长度N1,且(D1+T/2)大于N1的情况下,确定第二搜索范围为(N1-T,T)。
可选地,作为另一实施例,处理器420还可以在根据第一起始位置D1和/或帧信息,在第一搜索范围内确定第二搜索范围之前,在前一帧的信号类型为语音信号的情况下,确定前一帧的基音周期T是否小于第一搜索范围的长度N1。
处理器420可以在确定前一帧的基音周期T大于或等于第一搜索范围的长度N1的情况下,确定第一搜索范围作为第二搜索范围。
可选地,作为另一实施例,处理器420可以在前一帧的信号类型为噪声信号的情况下,确定第一搜索范围作为第二搜索范围。
可选地,作为另一实施例,处理器420还可以在第二搜索范围内进行第二级搜索之后,确定第二搜索范围作为第L搜索范围,L为大于或等于3的正整数。处理器420还可以在第L搜索范围内,进行第L级搜索,以确定在第L搜索范围内与待恢复数据相关性最大的第L数据的第L起始位置,其中第L数据不同于第一数据至第(L-1)数据,以便根据第一起始位置D1至第L起始位置对待恢复数据进行恢复。
可选地,作为另一实施例,第一搜索范围可以为从前一帧中的第一位置到待恢复数据的起始位置的范围。或者,第一搜索范围可以为从当前帧中已恢复数据的起始位置到当前帧的结束位置的范围。
图4的设备400的其它功能和操作可以参照上面图1至图2b的方法实施例的过程,为了避免重复,此处不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (20)

1.一种用于恢复丢失数据的方法,其特征在于,包括:
在当前帧中存在待恢复数据的情况下,在第一搜索范围内,进行第一级搜索,以确定所述第一搜索范围内与所述待恢复数据相关性最大的第一数据的第一起始位置D1;
根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围,其中所述帧信息包括以下至少一种:所述当前帧的前一帧的基音周期,所述前一帧的信号类型;
在所述第二搜索范围内,进行第二级搜索,以确定第二数据的第二起始位置,所述第二数据是除所述第一数据之外的与所述待恢复数据相关性最大的数据,以便至少根据所述第一起始位置D1和所述第二起始位置对所述待恢复数据进行恢复。
2.根据权利要求1所述的方法,其特征在于,所述第二搜索范围小于所述第一搜索范围。
3.根据权利要求2所述的方法,其特征在于,在所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围之前,所述方法还包括:
在所述第一起始位置D1位于所述第一搜索范围内的第一子范围的情况下,确定所述前一帧的基音周期T是否小于所述第一搜索范围的长度N1,其中,所述第一子范围为(N1/2-a,N1/2+a),0<a<N1/2;
所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围,包括:
在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1的情况下,确定所述第二搜索范围为(D1-T/2,D1+T/2);或者,
在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1,且D1小于T/2的情况下,确定所述第二搜索范围为(0,T);或者,
在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1,且(D1+T/2)大于N1的情况下,确定所述第二搜索范围为(N1-T,T)。
4.根据权利要求1所述的方法,其特征在于,在所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围之前,所述方法还包括:
在所述第一起始位置D1位于所述第一搜索范围内的第一子范围的情况下,确定所述前一帧的基音周期T是否小于所述第一搜索范围的长度N1,其中,所述第一子范围为(N1/2-a,N1/2+a),0<a<N1/2;
所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围,包括:
在确定所述前一帧的基音周期T大于或等于所述第一搜索范围的长度N1的情况下,确定所述第一搜索范围作为所述第二搜索范围。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围,包括:
在所述第一起始位置D1没有位于所述第一搜索范围内的第一子范围的情况下,确定所述第一搜索范围作为所述第二搜索范围,其中,所述第一子范围为(N1/2-a,N1/2+a),N1表示所述第一搜索范围的长度,0<a<N1/2。
6.根据权利要求2所述的方法,其特征在于,在所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围之前,所述方法还包括:
在所述前一帧的信号为语音信号的情况下,确定所述前一帧的基音周期T是否小于所述第一搜索范围的长度N1;
所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围,包括:
在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1的情况下,确定所述第二搜索范围为(D1-T/2,D1+T/2);或者,
在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1,且D1小于T/2的情况下,确定所述第二搜索范围为(0,T);或者,
在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1,且(D1+T/2)大于N1的情况下,确定所述第二搜索范围为(N1-T,T)。
7.根据权利要求1所述的方法,其特征在于,在所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围之前,所述方法还包括:
在所述前一帧的信号类型为语音信号的情况下,确定所述前一帧的基音周期T是否小于所述第一搜索范围的长度N1;
所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围,包括:
在确定所述前一帧的基音周期T大于或等于所述第一搜索范围的长度N1的情况下,确定所述第一搜索范围作为所述第二搜索范围。
8.根据权利要求1所述的方法,其特征在于,所述根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围,包括:
在所述前一帧的信号类型为噪声信号的情况下,确定所述第一搜索范围作为所述第二搜索范围。
9.根据权利要求1至8中任一项所述的方法,其特征在于,在所述第二搜索范围内进行第二级搜索之后,所述方法还包括:
确定所述第二搜索范围作为第L搜索范围,L为大于或等于3的正整数;
在所述第L搜索范围内,进行第L级搜索,以确定在所述第L搜索范围内与所述待恢复数据相关性最大的第L数据的第L起始位置,其中所述第L数据不同于所述第一数据至第(L-1)数据,以便根据所述第一起始位置D1至所述第L起始位置对所述待恢复数据进行恢复。
10.根据权利要求9所述的方法,其特征在于,所述第一搜索范围为从所述前一帧中的第一位置到所述待恢复数据的起始位置的范围;或者,
所述第一搜索范围为从所述当前帧中已恢复数据的起始位置到所述当前帧的结束位置的范围。
11.一种用于恢复丢失数据的设备,其特征在于,包括:
搜索单元,用于在当前帧中存在待恢复数据的情况下,在第一搜索范围内,进行第一级搜索,以确定所述第一搜索范围内与所述待恢复数据相关性最大的第一数据的第一起始位置D1;
确定单元,用于根据所述搜索单元得到的所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围,其中所述帧信息包括以下至少一种:所述当前帧的前一帧的基音周期,所述前一帧的信号类型;
所述搜索单元,还用于在所述第二搜索范围内,进行第二级搜索,以确定第二数据的第二起始位置,所述第二数据是除所述第一数据之外的与所述待恢复数据相关性最大的数据,以便至少根据所述第一起始位置D1和所述第二起始位置对所述待恢复数据进行恢复。
12.根据权利要求11所述的设备,其特征在于,所述第二搜索范围小于所述第一搜索范围。
13.根据权利要求12所述的设备,其特征在于,所述确定单元还用于,在根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围之前,在所述第一起始位置D1位于所述第一搜索范围内的第一子范围的情况下,确定所述前一帧的基音周期T是否小于所述第一搜索范围的长度N1,其中,所述第一子范围为(N1/2-a,N1/2+a),0<a<N1/2;
所述确定单元具体用于:在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1的情况下,确定所述第二搜索范围为(D1-T/2,D1+T/2);或者,在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1,且D1小于T/2的情况下,确定所述第二搜索范围为(0,T);或者,在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1,且(D1+T/2)大于N1的情况下,确定所述第二搜索范围为(N1-T,T)。
14.根据权利要求11所述的设备,其特征在于,所述确定单元还用于,在根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围之前,在所述第一起始位置D1位于所述第一搜索范围内的第一子范围的情况下,确定所述前一帧的基音周期T是否小于所述第一搜索范围的长度N1,其中,所述第一子范围为(N1/2-a,N1/2+a),0<a<N1/2;
所述确定单元具体用于在确定所述前一帧的基音周期T大于或等于所述第一搜索范围的长度N1的情况下,确定所述第一搜索范围作为所述第二搜索范围。
15.根据权利要求11所述的设备,其特征在于,所述确定单元具体用于在所述第一起始位置D1没有位于所述第一搜索范围内的第一子范围的情况下,确定所述第一搜索范围作为所述第二搜索范围,其中,所述第一子范围为(N1/2-a,N1/2+a),N1表示所述第一搜索范围的长度,0<a<N1/2。
16.根据权利要求12所述的设备,其特征在于,所述确定单元还用于在根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围之前,在所述前一帧的信号为语音信号的情况下,确定所述前一帧的基音周期T是否小于所述第一搜索范围的长度N1;
所述确定单元具体用于:
在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1的情况下,确定所述第二搜索范围为(D1-T/2,D1+T/2);或者,在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1,且D1小于T/2的情况下,确定所述第二搜索范围为(0,T);或者,在确定所述前一帧的基音周期T小于所述第一搜索范围的长度N1,且(D1+T/2)大于N1的情况下,确定所述第二搜索范围为(N1-T,T)。
17.根据权利要求11所述的设备,其特征在于,所述确定单元还用于,在根据所述第一起始位置D1和/或帧信息,在所述第一搜索范围内确定第二搜索范围之前,在所述前一帧的信号类型为语音信号的情况下,确定所述前一帧的基音周期T是否小于所述第一搜索范围的长度N1;
所述确定单元具体用于在确定所述前一帧的基音周期T大于或等于所述第一搜索范围的长度N1的情况下,确定所述第一搜索范围作为所述第二搜索范围。
18.根据权利要求11所述的设备,其特征在于,所述确定单元具体用于在所述前一帧的信号类型为噪声信号的情况下,确定所述第一搜索范围作为所述第二搜索范围。
19.根据权利要求11至18中任一项所述的设备,其特征在于,所述确定单元还用于在所述第二搜索范围内进行第二级搜索之后,确定所述第二搜索范围作为第L搜索范围,L为大于或等于3的正整数;
所述搜索单元,还用于在所述第L搜索范围内,进行第L级搜索,以确定在所述第L搜索范围内与所述待恢复数据相关性最大的第L数据的第L起始位置,其中所述第L数据不同于所述第一数据至第(L-1)数据,以便根据所述第一起始位置D1至所述第L起始位置对所述待恢复数据进行恢复。
20.根据权利要求19所述的设备,其特征在于,所述第一搜索范围为从所述前一帧中的第一位置到所述待恢复数据的起始位置的范围;或者,所述第一搜索范围为从所述当前帧中已恢复数据的起始位置到所述当前帧的结束位置的范围。
CN201310248383.XA 2013-06-21 2013-06-21 用于恢复丢失数据的方法和设备 Active CN104240715B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310248383.XA CN104240715B (zh) 2013-06-21 2013-06-21 用于恢复丢失数据的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310248383.XA CN104240715B (zh) 2013-06-21 2013-06-21 用于恢复丢失数据的方法和设备

Publications (2)

Publication Number Publication Date
CN104240715A CN104240715A (zh) 2014-12-24
CN104240715B true CN104240715B (zh) 2017-08-25

Family

ID=52228668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310248383.XA Active CN104240715B (zh) 2013-06-21 2013-06-21 用于恢复丢失数据的方法和设备

Country Status (1)

Country Link
CN (1) CN104240715B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110874645A (zh) * 2019-11-14 2020-03-10 北京首汽智行科技有限公司 一种数据还原方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1441950A (zh) * 2000-07-14 2003-09-10 康奈克森特系统公司 处理丢失帧的语音通信系统及方法
CN101231849A (zh) * 2007-09-15 2008-07-30 华为技术有限公司 对高带信号进行帧错误隐藏的方法及装置
CN101325631A (zh) * 2007-06-14 2008-12-17 华为技术有限公司 一种实现丢包隐藏的方法和装置
CN101894558A (zh) * 2010-08-04 2010-11-24 华为技术有限公司 丢帧恢复方法、设备以及语音增强方法、设备和系统
CN102598119A (zh) * 2009-04-21 2012-07-18 剑桥硅无线电有限公司 基音估计

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7643993B2 (en) * 2006-01-05 2010-01-05 Broadcom Corporation Method and system for decoding WCDMA AMR speech data using redundancy
JP4928366B2 (ja) * 2007-06-25 2012-05-09 日本電信電話株式会社 ピッチ探索装置、パケット消失補償装置、それらの方法、プログラム及びその記録媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1441950A (zh) * 2000-07-14 2003-09-10 康奈克森特系统公司 处理丢失帧的语音通信系统及方法
CN101325631A (zh) * 2007-06-14 2008-12-17 华为技术有限公司 一种实现丢包隐藏的方法和装置
CN101231849A (zh) * 2007-09-15 2008-07-30 华为技术有限公司 对高带信号进行帧错误隐藏的方法及装置
CN102598119A (zh) * 2009-04-21 2012-07-18 剑桥硅无线电有限公司 基音估计
CN101894558A (zh) * 2010-08-04 2010-11-24 华为技术有限公司 丢帧恢复方法、设备以及语音增强方法、设备和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"VolP中丢包补偿算法研究";张成龙;《中国优秀硕士学位论文全文数据库 信息科技辑》;20111201;全文 *

Also Published As

Publication number Publication date
CN104240715A (zh) 2014-12-24

Similar Documents

Publication Publication Date Title
Fu et al. Learning with learned loss function: Speech enhancement with quality-net to improve perceptual evaluation of speech quality
CN101964189B (zh) 语音频信号切换方法及装置
JP5190363B2 (ja) 音声復号装置、音声符号化装置、および消失フレーム補償方法
KR102128926B1 (ko) 오디오 정보 처리 방법 및 디바이스
CN105096941A (zh) 语音识别方法以及装置
CN102446506B (zh) 音频信号的分类识别方法及装置
CN104347080A (zh) 语音分析方法和装置、语音合成方法和装置、以及存储语音分析程序的介质
CN112365882A (zh) 语音合成方法及模型训练方法、装置、设备及存储介质
TWI648730B (zh) 決定編碼模式的裝置以及音訊編碼裝置
CN104934035B (zh) 语音频码流的解码方法及装置
CN103065619A (zh) 一种语音合成方法和语音合成系统
CN111243574B (zh) 一种语音模型自适应训练方法、系统、装置及存储介质
CN101399039A (zh) 一种确定非噪声音频信号类别的方法及装置
CN105244041B (zh) 歌曲试唱的评价方法及装置
CN104751849B (zh) 语音频码流的解码方法及装置
Pascual et al. Adversarial auto-encoding for packet loss concealment
CN101573751A (zh) 过浊音度的衰减,特别对于信息缺失时解码器激励的产生
CN104240715B (zh) 用于恢复丢失数据的方法和设备
Ihm et al. Reformer-TTS: Neural Speech Synthesis with Reformer Network.
CN103714820A (zh) 参数域的丢包隐藏方法及装置
CN102231274B (zh) 基音周期估计值修正方法、基音估计方法和相关装置
CN108885875A (zh) 用于改进从音频信号的隐藏音频信号部分到后继音频信号部分的转换的装置和方法
CN105719641B (zh) 用于波形拼接语音合成的选音方法和装置
WO2002056298A1 (en) Linking of signal components in parametric encoding
CN100576318C (zh) 用于隐藏被擦除的周期信号数据的装置与方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191219

Address after: 518101 room 16, floor 4, building 2, Chungu, Meisheng Huigu science and Technology Park, No. 83, Dabao Road, 33 District, Shanghe community, Xin'an street, Bao'an District, Shenzhen City, Guangdong Province

Patentee after: Tanmu information technology (Shenzhen) Co.,Ltd.

Address before: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Effective date of registration: 20191219

Address after: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.