用于恢復(fù)丟失數(shù)據(jù)的方法和設(shè)備的制作方法
【專利摘要】本發(fā)明實施例提供用于恢復(fù)丟失數(shù)據(jù)的方法和設(shè)備。該方法包括:在當前幀中存在待恢復(fù)數(shù)據(jù)的情況下,在第一搜索范圍內(nèi)進行第一級搜索,確定第一搜索范圍內(nèi)與待恢復(fù)數(shù)據(jù)相關(guān)性最大的第一數(shù)據(jù)的第一起始位置;根據(jù)第一起始位置和/或幀信息,在第一搜索范圍內(nèi)確定第二搜索范圍,其中幀信息包括以下至少一種:當前幀的前一幀的基音周期,前一幀的信號類型;在第二搜索范圍內(nèi)進行第二級搜索,以確定第二數(shù)據(jù)的第二起始位置,第二數(shù)據(jù)是除第一數(shù)據(jù)之外的與待恢復(fù)數(shù)據(jù)相關(guān)性最大的數(shù)據(jù),以便至少根據(jù)第一起始位置和第二起始位置對待恢復(fù)數(shù)據(jù)進行恢復(fù)。本發(fā)明實施例能夠保證搜索得到的數(shù)據(jù)的可靠性,并使得所恢復(fù)的數(shù)據(jù)的前后連續(xù)性增強。
【專利說明】用于恢復(fù)丟失數(shù)據(jù)的方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信號處理領(lǐng)域,并且具體地,涉及用于恢復(fù)丟失數(shù)據(jù)的方法和設(shè)備。
【背景技術(shù)】
[0002]隨著移動互聯(lián)網(wǎng)的快速發(fā)展,現(xiàn)在越來越多的移動音頻質(zhì)量的要求越來越高,為了讓語音和音頻都能達到一個很好的編解碼質(zhì)量,融合語音(時域編解碼)和音頻(頻域編解碼)的編解碼器越來越多。這種融合編解碼器既包含了時域編解碼的功能又包含了頻域編解碼的功能。這樣在時頻切換時,就會由于兩種編解碼時延的不同,產(chǎn)生一部分無法恢復(fù)的數(shù)據(jù)。因此,根據(jù)搜索已有數(shù)據(jù)與丟失數(shù)據(jù)的相關(guān)性來恢復(fù)這些數(shù)據(jù)是解決這類問題的重要步驟。
[0003]目前,常采用類似于用于恢復(fù)丟失幀的方法,通過單級搜索來找出與丟失數(shù)據(jù)相關(guān)性最大的數(shù)據(jù),然后根據(jù)搜索的結(jié)果對丟失數(shù)據(jù)進行恢復(fù)。但是,丟包情況下通常是整幀的丟失,并且通常前一幀與丟失幀的類型基本一致,單級搜索結(jié)果是比較容易滿足恢復(fù)丟失幀的需求。而時頻切換時所丟失的數(shù)據(jù)通常是當前幀中的部分數(shù)據(jù),在對其進行恢復(fù)時對于相關(guān)數(shù)據(jù)的可靠性有著更高的要求,而單級搜索出來的相關(guān)數(shù)據(jù)的可靠性是無法滿足該要求的,會導(dǎo)致恢復(fù)的數(shù)據(jù)前后連續(xù)性不好。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實施例提供用于恢復(fù)丟失數(shù)據(jù)的方法和設(shè)備,能夠增強恢復(fù)的數(shù)據(jù)的前后連續(xù)性。
[0005]第一方面,提供了一種恢復(fù)丟失數(shù)據(jù)的方法,包括:在當前幀中存在待恢復(fù)數(shù)據(jù)的情況下,在第一搜索范圍內(nèi),進行第一級搜索,以確定所述第一搜索范圍內(nèi)與所述待恢復(fù)數(shù)據(jù)相關(guān)性最大的第一數(shù)據(jù)的第一起始位置Dl ;根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍,其中所述幀信息包括以下至少一種:所述當前幀的前一幀的基音周期,所述前一幀的信號類型;在所述第二搜索范圍內(nèi),進行第二級搜索,以確定第二數(shù)據(jù)的第二起始位置,所述第二數(shù)據(jù)是除所述第一數(shù)據(jù)之外的與所述待恢復(fù)數(shù)據(jù)相關(guān)性最大的數(shù)據(jù),以便至少根據(jù)所述第一起始位置Dl和所述第二起始位置對所述待恢復(fù)數(shù)據(jù)進行恢復(fù)。
[0006]結(jié)合第一方面,在第一種可能的實現(xiàn)方式中,所述第二搜索范圍小于所述第一搜索范圍。
[0007]結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,在所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍之前,所述方法還包括:在所述第一起始位置Dl位于所述第一搜索范圍內(nèi)的第一子范圍的情況下,確定所述前一幀的基音周期T是否小于所述第一搜索范圍的長度NI,其中,所述第一子范圍為(Nl/2-a, Nl/2+a) ,0<a<Nl/2 ;
[0008]所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍,包括:在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI的情況下,確定所述第二搜索范圍為(Dl-T/2,D1+T/2);或者,在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI,且Dl小于T/2的情況下,確定所述第二搜索范圍為(0,T);或者,在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI,且(D1+T/2)大于NI的情況下,確定所述第二搜索范圍為(Ν1-Τ,Τ)。
[0009]結(jié)合第一方面,在第三種可能的實現(xiàn)方式中,在所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍之前,所述方法還包括:在所述第一起始位置Dl位于所述第一搜索范圍內(nèi)的第一子范圍的情況下,確定所述前一幀的基音周期T是否小于所述第一搜索范圍的長度NI,其中,所述第一子范圍為(Nl/2-a,Nl/2+a),0〈a〈Nl/2 ;
[0010]所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍,包括:在確定所述前一幀的基音周期T大于或等于所述第一搜索范圍的長度NI的情況下,確定所述第一搜索范圍作為所述第二搜索范圍。
[0011]結(jié)合第一方面,在第四種可能的實現(xiàn)方式中,所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍,包括:在所述第一起始位置Dl沒有位于所述第一搜索范圍內(nèi)的第一子范圍的情況下,確定所述第一搜索范圍作為所述第二搜索范圍,其中,所述第一子范圍為(Nl/2-a,Nl/2+a),NI表示所述第一搜索范圍的長度,0〈a〈Nl/2。
[0012]結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,在所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍之前,所述方法還包括:在所述前一幀的信號為語音信號的情況下,確定所述前一幀的基音周期T是否小于所述第一搜索范圍的長度NI ;
[0013]所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍,包括:在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI的情況下,確定所述第二搜索范圍為(Dl-T/2,D1+T/2);或者,在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI,且Dl小于T/2的情況下,確定所述第二搜索范圍為(0,T);或者,在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI,且(D1+T/2)大于NI的情況下,確定所述第二搜索范圍為(Ν1-Τ,Τ)。
[0014]結(jié)合第一方面,在第六種可能的實現(xiàn)方式中,在所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍之前,所述方法還包括:在所述前一幀的信號類型為語音信號的情況下,確定所述前一幀的基音周期T是否小于所述第一搜索范圍的長度NI ;
[0015]所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍,包括:在確定所述前一幀的基音周期T大于或等于所述第一搜索范圍的長度NI的情況下,確定所述第一搜索范圍作為所述第二搜索范圍。
[0016]結(jié)合第一方面,在第七種可能的實現(xiàn)方式中,所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍,包括:在所述前一幀的信號類型為噪聲信號的情況下,確定所述第一搜索范圍作為所述第二搜索范圍。
[0017]結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式至第七種可能的實現(xiàn)方式中任一實現(xiàn)方式,在第八種可能的實現(xiàn)方式中,在所述第二搜索范圍內(nèi)進行第二級搜索之后,所述方法還包括:確定所述第二搜索范圍作為第L搜索范圍,L為大于或等于3的正整數(shù);在所述第L搜索范圍內(nèi),進行第L級搜索,以確定在所述第L搜索范圍內(nèi)與所述待恢復(fù)數(shù)據(jù)相關(guān)性最大的第L數(shù)據(jù)的第L起始位置,其中所述第L數(shù)據(jù)不同于所述第一數(shù)據(jù)至第(L-1)數(shù)據(jù),以便根據(jù)所述第一起始位置Dl至所述第L起始位置對所述待恢復(fù)數(shù)據(jù)進行恢復(fù)。
[0018]結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式至第八種可能的實現(xiàn)方式中任一實現(xiàn)方式,在第九種可能的實現(xiàn)方式中,所述第一搜索范圍為從所述前一幀中的第一位置到所述待恢復(fù)數(shù)據(jù)的起始位置的范圍;或者,所述第一搜索范圍為從所述當前幀中已恢復(fù)數(shù)據(jù)的起始位置到所述當前幀的結(jié)束位置的范圍。
[0019]第二方面,提供了一種恢復(fù)丟失數(shù)據(jù)的設(shè)備,包括:搜索單元,用于在當前幀中存在待恢復(fù)數(shù)據(jù)的情況下,在第一搜索范圍內(nèi),進行第一級搜索,以確定所述第一搜索范圍內(nèi)與所述待恢復(fù)數(shù)據(jù)相關(guān)性最大的第一數(shù)據(jù)的第一起始位置Dl ;確定單元,用于根據(jù)所述搜索單元得到的所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍,其中所述幀信息包括以下至少一種:所述當前幀的前一幀的基音周期,所述前一幀的信號類型;所述搜索單元,還用于在所述第二搜索范圍內(nèi),進行第二級搜索,以確定第二數(shù)據(jù)的第二起始位置,所述第二數(shù)據(jù)是除所述第一數(shù)據(jù)之外的與所述待恢復(fù)數(shù)據(jù)相關(guān)性最大的數(shù)據(jù),以便至少根據(jù)所述第一起始位置Dl和所述第二起始位置對所述待恢復(fù)數(shù)據(jù)進行恢復(fù)。
[0020]結(jié)合第二方面,在第一種可能的實現(xiàn)方式中,所述第二搜索范圍小于所述第一搜索范圍。
[0021]結(jié)合第二方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述確定單元還用于,在根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍之前,在所述第一起始位置Dl位于所述第一搜索范圍內(nèi)的第一子范圍的情況下,確定所述前一幀的基音周期T是否小于所述第一搜索范圍的長度NI,其中,所述第一子范圍為(Nl/2-a, Nl/2+a), 0<a<Nl/2 ;
[0022]所述確定單元具體用于:在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI的情況下,確定所述第二搜索范圍為(Dl-T/2,D1+T/2);或者,在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI,且Dl小于T/2的情況下,確定所述第二搜索范圍為(0,T);或者,在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI,且(D1+T/2)大于NI的情況下,確定所述第二搜索范圍為(Ν1-Τ,Τ)。
[0023]結(jié)合第二方面,在第三種可能的實現(xiàn)方式中,所述確定單元還用于,在根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍之前,在所述第一起始位置Dl位于所述第一搜索范圍內(nèi)的第一子范圍的情況下,確定所述前一幀的基音周期T是否小于所述第一搜索范圍的長度NI,其中,所述第一子范圍為(Nl/2-a,Nl/2+a),0〈a〈Nl/2 ;所述確定單元具體用于在確定所述前一幀的基音周期T大于或等于所述第一搜索范圍的長度NI的情況下,確定所述第一搜索范圍作為所述第二搜索范圍。
[0024]結(jié)合第二方面,在第四種可能的實現(xiàn)方式中,所述確定單元具體用于在所述第一起始位置Dl沒有位于所述第一搜索范圍內(nèi)的第一子范圍的情況下,確定所述第一搜索范圍作為所述第二搜索范圍,其中,所述第一子范圍為(Nl/2-a,Nl/2+a),NI表示所述第一搜索范圍的長度,0〈a〈Nl/2。
[0025]結(jié)合第二方面的第一種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述確定單元還用于在根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍之前,在所述前一幀的信號為語音信號的情況下,確定所述前一幀的基音周期T是否小于所述第一搜索范圍的長度NI ;
[0026]所述確定單元具體用于:在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI的情況下,確定所述第二搜索范圍為(Dl-T/2,D1+T/2);或者,在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI,且Dl小于T/2的情況下,確定所述第二搜索范圍為(0,T);或者,在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI,且(D1+T/2)大于NI的情況下,確定所述第二搜索范圍為(Ν1-Τ,Τ)。
[0027]結(jié)合第二方面,在第六種可能的實現(xiàn)方式中,所述確定單元還用于,在根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍之前,在所述前一幀的信號類型為語音信號的情況下,確定所述前一幀的基音周期T是否小于所述第一搜索范圍的長度NI ;所述確定單元具體用于在確定所述前一幀的基音周期T大于或等于所述第一搜索范圍的長度NI的情況下,確定所述第一搜索范圍作為所述第二搜索范圍。
[0028]結(jié)合第二方面,在第七種可能的實現(xiàn)方式中,所述確定單元具體用于在所述前一幀的信號類型為噪聲信號的情況下,確定所述第一搜索范圍作為所述第二搜索范圍。
[0029]結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式至第七種可能的實現(xiàn)方式中任一實現(xiàn)方式,在第八種可能的實現(xiàn)方式中,所述確定單元還用于在所述第二搜索范圍內(nèi)進行第二級搜索之后,確定所述第二搜索范圍作為第L搜索范圍,L為大于或等于3的正整數(shù);所述搜索單元,還用于在所述第L搜索范圍內(nèi),進行第L級搜索,以確定在所述第L搜索范圍內(nèi)與所述待恢復(fù)數(shù)據(jù)相關(guān)性最大的第L數(shù)據(jù)的第L起始位置,其中所述第L數(shù)據(jù)不同于所述第一數(shù)據(jù)至第(L-1)數(shù)據(jù),以便根據(jù)所述第一起始位置Dl至所述第L起始位置對所述待恢復(fù)數(shù)據(jù)進行恢復(fù)。
[0030]結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式至第八種可能的實現(xiàn)方式中任一實現(xiàn)方式,在第九種可能的實現(xiàn)方式中,所述第一搜索范圍為從所述前一幀中的第一位置到所述待恢復(fù)數(shù)據(jù)的起始位置的范圍;或者,所述第一搜索范圍為從所述當前幀中已恢復(fù)數(shù)據(jù)的起始位置到所述當前幀的結(jié)束位置的范圍。
[0031]本發(fā)明實施例中,通過根據(jù)第一級搜索確定的第一數(shù)據(jù)的第一起始位置和/或幀信息,在第一搜索范圍內(nèi)確定第二搜索范圍,并在第二搜索范圍內(nèi)進行第二級搜索以確定第二數(shù)據(jù),能夠保證各級搜索得到的數(shù)據(jù)的可靠性,從而使得在根據(jù)各級搜索得到的相關(guān)數(shù)據(jù)對待恢復(fù)數(shù)據(jù)進行恢復(fù)時能夠增強所恢復(fù)的數(shù)據(jù)的前后連續(xù)性。
【專利附圖】
【附圖說明】
[0032]為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對本發(fā)明實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面所描述的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0033]圖1是根據(jù)本發(fā)明實施例的用于恢復(fù)丟失數(shù)據(jù)的方法的示意性流程圖。
[0034]圖2a是根據(jù)本發(fā)明一個實施例的方法的過程的示意性流程圖。
[0035]圖2b是根據(jù)本發(fā)明另一實施例的方法的過程的示意性流程圖。
[0036]圖3是根據(jù)本發(fā)明一個實施例的用于恢復(fù)丟失數(shù)據(jù)的設(shè)備的示意框圖。
[0037]圖4是根據(jù)本發(fā)明另一實施例的用于恢復(fù)丟失數(shù)據(jù)的設(shè)備的示意框圖。
【具體實施方式】
[0038]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都應(yīng)屬于本發(fā)明保護的范圍。
[0039]圖1是根據(jù)本發(fā)明實施例的用于恢復(fù)丟失數(shù)據(jù)的方法的示意性流程圖。圖1的方法由解碼端執(zhí)行,例如可以由融合語音和音頻的解碼器執(zhí)行。
[0040]110,在當前幀中存在待恢復(fù)數(shù)據(jù)的情況下,在第一搜索范圍內(nèi),進行第一級搜索,以確定第一搜索范圍內(nèi)與待恢復(fù)數(shù)據(jù)相關(guān)性最大的第一數(shù)據(jù)的第一起始位置D1。
[0041]對于融合語音和音頻的解碼端而言,由于在解碼時不僅需要對語音信號進行時域解碼,又需要對音頻信號進行頻域解碼,在時頻切換時,會導(dǎo)致當前幀的部分數(shù)據(jù)丟失。因此,如果當前幀中存在待恢復(fù)數(shù)據(jù),那么解碼器需要搜索與待恢復(fù)數(shù)據(jù)相關(guān)性最佳的數(shù)據(jù),以恢復(fù)丟失的數(shù)據(jù)。在本發(fā)明實施例中,解碼端可以進行多級搜索。在第一搜索范圍內(nèi),解碼端可以進行第一級搜索,確定與待恢復(fù)數(shù)據(jù)相關(guān)性最大的第一數(shù)據(jù),從而確定第一數(shù)據(jù)的第一起始位置D1。相關(guān)性的確定方式可以參照現(xiàn)有技術(shù),例如可以采用現(xiàn)有技術(shù)計算相關(guān)系數(shù),根據(jù)相關(guān)系數(shù)來確定數(shù)據(jù)之間的相關(guān)性。
[0042]可選地,作為一個實施例,第一搜索范圍可以為從前一幀中的第一位置到待恢復(fù)數(shù)據(jù)的起始位置的范圍?;蛘撸谝凰阉鞣秶梢詾閺漠斍皫幸鸦謴?fù)數(shù)據(jù)的起始位置到當前幀結(jié)束位置的范圍。
[0043]具體地,第一搜索范圍可以為從前一幀中的第一位置到待恢復(fù)數(shù)據(jù)的起始位置的范圍,那么解碼端在第一搜索范圍內(nèi)進行的第一級搜索可以為向前搜索。第一位置可以是預(yù)先設(shè)定的。例如,解碼端可以預(yù)先設(shè)定第一位置,使得第一位置到待恢復(fù)數(shù)據(jù)的起始位置的長度為巾貞長度。
[0044]或者,第一搜索范圍可以從當前幀中已恢復(fù)數(shù)據(jù)的起始位置到當前幀的結(jié)束位置的范圍,那么解碼端在第一搜索范圍內(nèi)進行的第一級搜索可以為向后搜索。
[0045]可見,本發(fā)明實施例可以應(yīng)用于向前搜索,也可以應(yīng)用于向后搜索。具體地,解碼端可以采用本發(fā)明實施例的方法進行向前搜索,采用現(xiàn)有技術(shù)進行向后搜索。解碼端也可以采用本發(fā)明實施例的方法進行向后搜索,采用現(xiàn)有技術(shù)進行向前搜索?;蛘?,解碼端可以采用本發(fā)明實施例的方法進行向前搜索和向后搜索。
[0046]120,根據(jù)第一起始位置Dl和/或幀信息,在第一搜索范圍內(nèi)確定第二搜索范圍,其中幀信息包括以下至少一種:當前幀的前一幀的基音周期,前一幀的信號類型。
[0047]基音周期的原理可以如下:人在發(fā)濁音時,氣流通過聲門使聲帶產(chǎn)生張馳振蕩式振動,產(chǎn)生一股準周期脈沖氣流,這一氣流激勵聲道就產(chǎn)生濁音,又稱有聲語音,它攜帶著語音中的大部分能量。這種聲帶振動的頻率稱為基頻,相應(yīng)的周期就稱為基音周期(Pitch)0
[0048]130,在第二搜索范圍內(nèi),進行第二級搜索,以確定第二數(shù)據(jù)的第二起始位置,第二數(shù)據(jù)是除第一數(shù)據(jù)之外的與待恢復(fù)數(shù)據(jù)相關(guān)性最大的數(shù)據(jù),以便至少根據(jù)第一起始位置Dl和第二起始位置對待恢復(fù)數(shù)據(jù)進行恢復(fù)。
[0049]解碼端可以在第二搜索范圍內(nèi),進行第二級搜索,來確定與待恢復(fù)數(shù)據(jù)相關(guān)性次大的第二數(shù)據(jù)。也就是說,第二數(shù)據(jù)是除第一數(shù)據(jù)之外的與待恢復(fù)數(shù)據(jù)相關(guān)性最大的數(shù)據(jù)。
[0050]從上述可知,現(xiàn)有技術(shù)中通過單級搜索來確定與待恢復(fù)數(shù)據(jù)相關(guān)的數(shù)據(jù),而本發(fā)明實施例中,在對待恢復(fù)數(shù)據(jù)進行恢復(fù)前,可以進行多級搜索,得到多個與待恢復(fù)數(shù)據(jù)相關(guān)的數(shù)據(jù),例如,通過第一級搜索得到的第一數(shù)據(jù),通過第二級搜索得到的第二數(shù)據(jù),從而能夠保證搜索出來的相關(guān)數(shù)據(jù)的可靠性,使得在后續(xù)根據(jù)多級搜索得到的相關(guān)數(shù)據(jù)進行數(shù)據(jù)恢復(fù)時能夠增強所恢復(fù)的數(shù)據(jù)的前后連續(xù)性。例如,可以根據(jù)各級搜索得到的相關(guān)數(shù)據(jù),從這些數(shù)據(jù)中選擇與待恢復(fù)數(shù)據(jù)的相關(guān)性高于某一閾值并且起始位置與待恢復(fù)數(shù)據(jù)最接近的數(shù)據(jù),然后利用該數(shù)據(jù)對待恢復(fù)數(shù)據(jù)進行恢復(fù),這樣相比根據(jù)單級搜索的結(jié)果進行數(shù)據(jù)恢復(fù),能夠增強所恢復(fù)的數(shù)據(jù)的前后連續(xù)性。再例如,如果本發(fā)明實施例的方法應(yīng)用于向前搜索,那么可以將得到的多個相關(guān)數(shù)據(jù)的位置與向后搜索得到的相關(guān)數(shù)據(jù)的位置分別組合,參考平滑度參數(shù)確定其中的最佳組合,其中該最佳組合能夠使得所恢復(fù)的數(shù)據(jù)的平滑度最佳,從而可以根據(jù)該最佳組合進行數(shù)據(jù)恢復(fù)。
[0051]本發(fā)明實施例中,通過根據(jù)第一級搜索確定的第一數(shù)據(jù)的第一起始位置和/或幀信息,在第一搜索范圍內(nèi)確定第二搜索范圍,并在第二搜索范圍內(nèi)進行第二級搜索以確定第二數(shù)據(jù),能夠保證搜索得到的數(shù)據(jù)的可靠性,從而使得在根據(jù)各級搜索得到的相關(guān)數(shù)據(jù)的起始位置對待恢復(fù)數(shù)據(jù)進行恢復(fù)時能夠增強所恢復(fù)的數(shù)據(jù)的前后連續(xù)性。
[0052]可選地,作為一個實施例,第二級搜索范圍可以小于第一級搜索范圍。
[0053]由上述可知,本發(fā)明實施例中,通過根據(jù)第一級搜索得到的第一起始位置和/或幀信息,在第一搜索范圍內(nèi)確定小于第一級搜索范圍的第二搜索范圍,并在第二搜索范圍內(nèi)進行第二級搜索,而非簡單地采用固定的搜索范圍進行各級搜索,能夠降低多級搜索的復(fù)雜度消耗。
[0054]可選地,作為另一實施例,在第一起始位置Dl位于第一搜索范圍內(nèi)的第一子范圍的情況下,在步驟120之前,解碼端可以確定前一幀的基音周期T是否小于第一搜索范圍的長度 NI。其中第一子范圍為(Nl/2-a,Nl/2+a),0〈a〈Nl/2。
[0055]如果第一起始位置Dl位于第一搜索范圍內(nèi)的第一子范圍,那么根據(jù)基音周期T與第一搜索范圍的長度NI的大小關(guān)系,解碼端可以確定第二搜索范圍的具體取值。其中T的確定方式可以參照現(xiàn)有技術(shù)。接下來將描述在4種不同的情況下第二搜索范圍的具體取值。本發(fā)明實施例中,數(shù)據(jù)的起始位置可以為時間點?;糁芷赥的單位可以為時間,因此,可以對Dl與T進行相應(yīng)的運算來確定第二搜索范圍。
[0056]可選地,作為另一實施例,在步驟120中,如果第一起始位置Dl位于第一搜索范圍內(nèi)的第一子范圍,解碼端可以在確定前一幀的基音周期T小于第一搜索范圍的長度NI的情況下,確定第二搜索范圍為(Dl-T/2,D1+T/2)。
[0057]通常,在一定范圍內(nèi)基音會周期性地出現(xiàn),因此,在基音周期T小于第一搜索范圍的長度NI的情況下,在大于基音周期T的搜索范圍內(nèi)進行搜索沒有太大意義,因此解碼端可以在長度為T的第二搜索范圍進行搜索。可見,第二搜索范圍(Dl-T/2,Dl+T/2)小于第一搜索范圍,從而能夠降低搜索的復(fù)雜度消耗。
[0058]可選地,作為另一實施例,在步驟120中,如果第一起始位置Dl位于第一搜索范圍內(nèi)的第一子范圍,解碼端可以在確定前一巾貞的基音周期T小于第一搜索范圍的長度NI,且Dl小于T/2的情況下,確定第二搜索范圍為(0,T)。
[0059]類似于上述描述,在大于基音周期T的搜索范圍內(nèi)進行搜索沒有太大意義,因此解碼端可以在長度為T的第二搜索范圍進行搜索。當Dl小于T/2時,(D1-T/2)將超出第一搜索范圍,因此可以確定第二搜索范圍為(0,T),該范圍小于第一搜索范圍,從而能夠降低搜索的復(fù)雜度消耗。
[0060]可選地,作為另一實施例,在步驟120中,如果第一起始位置Dl位于第一搜索范圍內(nèi)的第一子范圍,解碼端可以在確定前一巾貞的基音周期T小于第一搜索范圍的長度NI,且(D1+T/2)大于NI的情況下,確定第二搜索范圍為(Ν1-Τ,Τ)。
[0061]類似于上述描述,在大于基音周期T的搜索范圍內(nèi)進行搜索沒有太大意義,因此解碼端可以在長度為T的第二搜索范圍進行搜索。當(D1+T/2)大于NI時,(D1-T/2)將超出第一搜索范圍,因此可以確定第二搜索范圍為(0,Τ),該范圍小于第一搜索范圍,從而能夠降低搜索的復(fù)雜度消耗。
[0062]可選地,作為另一實施例,在步驟120之前,解碼端可以在第一起始位置Dl位于第一搜索范圍內(nèi)的第一子范圍的情況下,確定前一幀的基音周期T是否小于第一搜索范圍的長度NI,其中,第一子范圍為(Nl/2-a,Nl/2+a),0〈a〈Nl/2。在步驟120中,解碼端可以在確定前一幀的基音周期T大于或等于第一搜索范圍的長度NI的情況下,確定第一搜索范圍作為第二搜索范圍。
[0063]如果前一幀的基音周期T大于或等于第一搜索范圍的長度NI,那么解碼端可以將第一搜索范圍作為第二搜索范圍來進行第二級搜索。
[0064]可選地,作為另一實施例,在步驟120中,在第一起始位置Dl沒有位于第一搜索范圍內(nèi)的第一子范圍的情況下,確定第一搜索范圍作為第二搜索范圍,其中,第一子范圍為(Nl/2-a, Nl/2+a),NI表示第一搜索范圍的長度,0〈a〈Nl/2。
[0065]可選地,作為另一實施例,在步驟120之前,解碼端可以在前一幀的信號為語音(Voice)信號的情況下,確定前一幀的基音周期T是否小于第一搜索范圍的長度NI。
[0066]如果前一巾貞的信號為語音信號,那么根據(jù)基音周期T與第一搜索范圍的長度NI的大小關(guān)系,解碼端可以確定第二搜索范圍的具體取值。接下來將描述在4種不同的情況下第二搜索范圍的具體取值。
[0067]可選地,作為另一實施例,在步驟120中,如果前一幀的信號為語音信號,在確定前一幀的基音周期T小于第一搜索范圍的長度NI的情況下,解碼端可以確定第二搜索范圍為(Dl-T/2, D1+T/2)。
[0068]類似于上述描述,在大于基音周期T的搜索范圍內(nèi)進行搜索沒有太大意義,因此解碼端可以在長度為T的第二搜索范圍進行搜索??梢?,本實施例中,第二搜索范圍(Dl-T/2,Dl+T/2)小于第一搜索范圍,從而能夠降低搜索的復(fù)雜度消耗。
[0069]可選地,作為另一實施例,在確定前一幀的基音周期T小于第一搜索范圍的長度NI,且Dl小于T/2的情況下,確定第二搜索范圍為(0,T)。
[0070]類似于上述描述,在大于基音周期T的搜索范圍內(nèi)進行搜索沒有太大意義,因此解碼端可以在長度為T的第二搜索范圍進行搜索。當Dl小于T/2時,(D1-T/2)將超出第一搜索范圍,因此可以確定第二搜索范圍為(0,T),該范圍小于第一搜索范圍,從而能夠降低搜索的復(fù)雜度消耗。
[0071]可選地,作為另一實施例,在確定前一幀的基音周期T小于第一搜索范圍的長度NI,且(D1+T/2)大于NI的情況下,確定第二搜索范圍為(Ν1-Τ,Τ)。
[0072]類似于上述描述,在大于基音周期T的搜索范圍內(nèi)進行搜索沒有太大意義,因此解碼端可以在長度為T的第二搜索范圍進行搜索。當(D1+T/2)大于NI時,(D1-T/2)將超出第一搜索范圍,因此可以確定第二搜索范圍為(0,Τ),該范圍小于第一搜索范圍,從而能夠降低搜索的復(fù)雜度消耗。
[0073]可選地,作為另一實施例,在確定前一幀的基音周期T大于或等于第一搜索范圍的長度NI的情況下,解碼端可以確定第一搜索范圍作為第二搜索范圍。
[0074]可選地,作為另一實施例,在前一巾貞的信號類型為噪聲(Noise)信號的情況下,解碼端可以確定第一搜索范圍作為第二搜索范圍
[0075]可選地,作為另一實施例,在步驟130之后,解碼端還可以確定第二搜索范圍作為第L搜索范圍,L為大于或等于3的正整數(shù)。解碼端還可以在第L搜索范圍內(nèi),進行第L級搜索,以確定在第L搜索范圍內(nèi)與待恢復(fù)數(shù)據(jù)相關(guān)性最大的第L數(shù)據(jù)的第L起始位置,其中第L數(shù)據(jù)不同于第一數(shù)據(jù)至第(L-1)數(shù)據(jù),以便根據(jù)第一起始位置Dl至第L起始位置對待恢復(fù)數(shù)據(jù)進行恢復(fù)。
[0076]在第二級搜索之后,解碼端還可以在第二級搜索范圍內(nèi)進行多級搜索。上述L可以是預(yù)先設(shè)定的。解碼端可以在每級搜索中,確定一個起始位置。例如,在第三級搜索中,解碼端可以確定與待恢復(fù)數(shù)據(jù)相關(guān)性第三大的數(shù)據(jù)的起始位置。以此類推,在第L級搜索中,解碼端可以確定與待恢復(fù)數(shù)據(jù)相關(guān)性第L大的數(shù)據(jù)的起始位置。在確定L個起始位置后,解碼端可以對L個起始位置進行精細篩選。例如,可以參照上面所描述的方式,選擇與待恢復(fù)數(shù)據(jù)相關(guān)性高于某一閾值并且起始位置與待恢復(fù)數(shù)據(jù)最接近的數(shù)據(jù),然后根據(jù)該數(shù)據(jù)對待恢復(fù)數(shù)據(jù)進行恢復(fù)。
[0077]本發(fā)明實施例中,通過進行L級搜索,能夠保證L級搜索得到的相關(guān)數(shù)據(jù)的可靠性,使得后續(xù)根據(jù)L個相關(guān)數(shù)據(jù)對待恢復(fù)數(shù)據(jù)進行恢復(fù)時,能夠增強所恢復(fù)的數(shù)據(jù)的前后連續(xù)性。
[0078]而且,如果第二級搜索范圍小于第一級搜索范圍,那么接下來的第L級搜索的搜索范圍也會小于第一級搜索范圍,從而能夠極大減小搜索的復(fù)雜度消耗。
[0079]圖2a是根據(jù)本發(fā)明一個實施例的方法的過程的示意性流程圖。
[0080]201a,如果當前幀中存在待恢復(fù)數(shù)據(jù),則在第一搜索范圍內(nèi)進行第一級搜索,以確定第一搜索范圍內(nèi)與待恢復(fù)數(shù)據(jù)相關(guān)性最大的第一數(shù)據(jù)的第一起始位置D1。
[0081]202a,判斷第一起始位置Dl是否位于第一搜索范圍的第一子范圍內(nèi),第一子范圍為(Nl/2-a,Nl/2+a),0〈a〈Nl/2。
[0082]如果第一起始位置Dl不是位于第一子范圍內(nèi),則轉(zhuǎn)到步驟203a。
[0083]如果第一起始位置Dl位于第一子范圍,則轉(zhuǎn)到步驟204a。
[0084]203a,如果第一起始位置Dl不是位于第一子范圍內(nèi),則將第一搜索范圍作為第二搜索范圍。
[0085]204a,如果第一起始位置Dl位于第一子范圍,則判斷前一幀的基音周期T是否小于第一搜索范圍的長度NI。
[0086]如果基音周期T大于或等于第一搜索范圍的長度NI,則仍轉(zhuǎn)到步驟203a,即將第一搜索范圍作為第二搜索范圍。
[0087]如果基音周期T小于第一搜索范圍的長度NI,則轉(zhuǎn)到步驟205a。
[0088]205a,判斷第一起始位置Dl是否大于或等于T/2,且(D1+T/2)是否小于或等于NI。
[0089]如果Dl大于或等于T/2,且(D1+T/2)小于或等于NI,那么轉(zhuǎn)到步驟206a。
[0090]如果Dl小于T/2,則轉(zhuǎn)到步驟207a。
[0091]如果(D1+T/2)大于NI,則轉(zhuǎn)到步驟208a。
[0092]206a,確定第二搜索范圍為(Dl-T/2,D1+T/2)。
[0093]207a,確定第二搜索范圍為(0,T)。
[0094]208a,確定第二搜索范圍為(Ν1-Τ,Τ)。
[0095]209a,在第二級搜索范圍內(nèi)進行第二級搜索。
[0096]由于步驟206a至208a中確定的第二搜索范圍小于第一級搜索范圍,那么可以降低第二級搜索的復(fù)雜度消耗。
[0097]210a,在第二級搜索之后,將第二搜索范圍作為第L搜索范圍。
[0098]L為大于或等于3的正整數(shù)。在第二級搜索之后,解碼端還可以進行第三級以及以上的搜索。L可以是預(yù)先設(shè)定的。如果第二搜索范圍小于第一級搜索范圍,例如步驟206a至208a中確定的第二搜索范圍,那么也可以降低后續(xù)第L級搜索的復(fù)雜度消耗。
[0099]211a,在第L搜索范圍內(nèi)進行第L級搜索,以確定在第L搜索范圍內(nèi)與待恢復(fù)數(shù)據(jù)相關(guān)性最大的第L數(shù)據(jù)的第L起始位置,其中第L數(shù)據(jù)不同于第一數(shù)據(jù)至第(L-1)數(shù)據(jù)。
[0100]本發(fā)明實施例中,通過根據(jù)第一級搜索確定的第一數(shù)據(jù)的第一起始位置和/或幀信息,在第一搜索范圍內(nèi)確定第二搜索范圍,并在第二搜索范圍內(nèi)進行第二級搜索以確定第二數(shù)據(jù),能夠保證搜索得到的數(shù)據(jù)的可靠性,從而使得在根據(jù)各級搜索得到的相關(guān)數(shù)據(jù)對待恢復(fù)數(shù)據(jù)進行恢復(fù)時能夠增強所恢復(fù)的數(shù)據(jù)的前后連續(xù)性。
[0101]圖2b是根據(jù)本發(fā)明另一實施例的方法的過程的示意性流程圖。
[0102]201b,如果當前幀中存在待恢復(fù)數(shù)據(jù),則在第一搜索范圍內(nèi)進行第一級搜索,以確定第一搜索范圍內(nèi)與待恢復(fù)數(shù)據(jù)相關(guān)性最大的第一數(shù)據(jù)的第一起始位置D1。
[0103]202b,判斷前一巾貞的信號是否為語音信號。
[0104]如果前一幀的信號為噪聲信號,則轉(zhuǎn)到步驟203b。
[0105]如果前一幀的信號為語音信號,則轉(zhuǎn)到步驟204b。
[0106]203b,如果前一幀的信號為噪聲信號,則將第一搜索范圍作為第二搜索范圍。
[0107]204b,如果前一巾貞的信號為語音信號,則判斷前一巾貞的基音周期T是否小于第一搜索范圍的長度NI。
[0108]步驟205b至21 Ib類似于圖2a中的步驟205a至21 la,為了避免重復(fù),此處不再贅述。
[0109]本發(fā)明實施例中,通過根據(jù)第一級搜索確定的第一數(shù)據(jù)的第一起始位置和/或幀信息,在第一搜索范圍內(nèi)確定第二搜索范圍,并在第二搜索范圍內(nèi)進行第二級搜索以確定第二數(shù)據(jù),能夠保證搜索得到的數(shù)據(jù)的可靠性,從而使得在根據(jù)各級搜索得到的相關(guān)數(shù)據(jù)對待恢復(fù)數(shù)據(jù)進行恢復(fù)時能夠增強所恢復(fù)的數(shù)據(jù)的前后連續(xù)性。
[0110]圖3是根據(jù)本發(fā)明一個實施例的用于恢復(fù)丟失數(shù)據(jù)的設(shè)備的示意框圖。圖3的設(shè)備300的一個例子為解碼器。設(shè)備300包括搜索單元310和確定單元320。
[0111]搜索單元310在當前幀中存在待恢復(fù)數(shù)據(jù)的情況下,在第一搜索范圍內(nèi),進行第一級搜索,以確定第一搜索范圍內(nèi)與待恢復(fù)數(shù)據(jù)相關(guān)性最大的第一數(shù)據(jù)的第一起始位置Dl。確定單元320根據(jù)搜索單元310得到的第一起始位置Dl和/或幀信息,在第一搜索范圍內(nèi)確定第二搜索范圍,其中幀信息包括以下至少一種:當前幀的前一幀的基音周期,前一幀的信號類型。搜索單元310還在第二搜索范圍內(nèi),進行第二級搜索,以確定第二數(shù)據(jù)的第二起始位置,第二數(shù)據(jù)是除第一數(shù)據(jù)之外的與待恢復(fù)數(shù)據(jù)相關(guān)性最大的數(shù)據(jù),以便至少根據(jù)第一起始位置Dl和第二起始位置對待恢復(fù)數(shù)據(jù)進行恢復(fù)。
[0112]本發(fā)明實施例中,通過根據(jù)第一級搜索確定的第一數(shù)據(jù)的第一起始位置和/或幀信息,在第一搜索范圍內(nèi)確定第二搜索范圍,并在第二搜索范圍內(nèi)進行第二級搜索以確定第二數(shù)據(jù),能夠保證搜索得到的數(shù)據(jù)的可靠性,從而使得在根據(jù)各級搜索得到的相關(guān)數(shù)據(jù)對待恢復(fù)數(shù)據(jù)進行恢復(fù)時能夠增強所恢復(fù)的數(shù)據(jù)的前后連續(xù)性。
[0113]可選地,作為一個實施例,第二搜索范圍可以小于第一搜索范圍。
[0114]由上述可知,本發(fā)明實施例中,通過根據(jù)第一級搜索得到的第一起始位置和/或幀信息,在第一搜索范圍內(nèi)確定小于第一級搜索范圍的第二搜索范圍,并在第二搜索范圍內(nèi)進行第二級搜索,而非簡單地采用固定的搜索范圍進行多級搜索,能夠降低搜索的復(fù)雜度消耗。
[0115]可選地,作為另一實施例,確定單元320還可以在根據(jù)第一起始位置Dl和/或幀信息,在第一搜索范圍內(nèi)確定第二搜索范圍之前,在第一起始位置Dl位于第一搜索范圍內(nèi)的第一子范圍的情況下,確定前一幀的基音周期T是否小于第一搜索范圍的長度NI,其中,第一子范圍為(Nl/2-a,Nl/2+a),0〈a〈Nl/2。
[0116]確定單元320可以在確定前一幀的基音周期T小于第一搜索范圍的長度NI的情況下,確定第二搜索范圍為(Dl-T/2,Dl+T/2。或者確定單元320可以在確定前一幀的基音周期T小于第一搜索范圍的長度NI,且Dl小于T/2的情況下,確定第二搜索范圍為(O, T)?;蛘叽_定單元320可以在確定前一幀的基音周期T小于第一搜索范圍的長度NI,且(D1+T/2)大于NI的情況下,確定第二搜索范圍為(N1-T,T)。
[0117]可選地,作為另一實施例,確定單元320還可以在根據(jù)第一起始位置Dl和/或幀信息,在第一搜索范圍內(nèi)確定第二搜索范圍之前,在第一起始位置Dl位于第一搜索范圍內(nèi)的第一子范圍的情況下,確定前一幀的基音周期T是否小于第一搜索范圍的長度NI,其中,第一子范圍為(Nl/2-a,Nl/2+a),0〈a〈Nl/2。
[0118]確定單元320可以在確定前一幀的基音周期T大于或等于第一搜索范圍的長度NI的情況下,確定第一搜索范圍作為第二搜索范圍。
[0119]可選地,作為另一實施例,確定單元320可以在第一起始位置Dl沒有位于第一搜索范圍內(nèi)的第一子范圍的情況下,確定第一搜索范圍作為第二搜索范圍,其中,第一子范圍為(Nl/2-a,Nl/2+a),NI表示第一搜索范圍的長度,0〈a〈Nl/2。
[0120]可選地,作為另一實施例,確定單元320還可以在根據(jù)第一起始位置Dl和/或幀信息,在第一搜索范圍內(nèi)確定第二搜索范圍之前,在前一幀的信號為語音信號的情況下,確定前一幀的基音周期T是否小于第一搜索范圍的長度NI。
[0121]確定單元320可以在確定前一幀的基音周期T小于第一搜索范圍的長度NI的情況下,確定第二搜索范圍為(Dl-T/2,Dl+T/2)。或者,確定單元320可以在確定前一幀的基音周期T小于第一搜索范圍的長度NI,且Dl小于T/2的情況下,確定第二搜索范圍為(O, T)?;蛘?,確定單元320可以在確定前一幀的基音周期T小于第一搜索范圍的長度NI,且(D1+T/2)大于NI的情況下,確定第二搜索范圍為(N1-T,T)。
[0122]可選地,作為另一實施例,確定單元320還可以在根據(jù)第一起始位置Dl和/或幀信息,在第一搜索范圍內(nèi)確定第二搜索范圍之前,在前一幀的信號類型為語音信號的情況下,確定前一幀的基音周期T是否小于第一搜索范圍的長度NI。
[0123]確定單元320可以在確定前一幀的基音周期T大于或等于第一搜索范圍的長度NI的情況下,確定第一搜索范圍作為第二搜索范圍。
[0124]可選地,作為另一實施例,確定單兀320可以在前一巾貞的信號類型為噪聲信號的情況下,確定第一搜索范圍作為第二搜索范圍。
[0125]可選地,作為另一實施例,確定單元320還可以在第二搜索范圍內(nèi)進行第二級搜索之后,確定第二搜索范圍作為第L搜索范圍,L為大于或等于3的正整數(shù)。搜索單元310還可以在第L搜索范圍內(nèi),進行第L級搜索,以確定在第L搜索范圍內(nèi)與待恢復(fù)數(shù)據(jù)相關(guān)性最大的第L數(shù)據(jù)的第L起始位置,其中第L數(shù)據(jù)不同于第一數(shù)據(jù)至第(L-1)數(shù)據(jù),以便根據(jù)第一起始位置Dl至第L起始位置對待恢復(fù)數(shù)據(jù)進行恢復(fù)。
[0126]可選地,作為另一實施例,第一搜索范圍可以為從前一幀中的第一位置到待恢復(fù)數(shù)據(jù)的起始位置的范圍?;蛘?,第一搜索范圍可以為從當前幀中已恢復(fù)數(shù)據(jù)的起始位置到當前幀的結(jié)束位置的范圍。
[0127]圖3的設(shè)備300的其它功能和操作可以參照上面圖1至圖2b的方法實施例的過程,為了避免重復(fù),此處不再贅述。
[0128]圖4是根據(jù)本發(fā)明另一實施例的用于恢復(fù)丟失數(shù)據(jù)的設(shè)備的示意框圖。圖4的設(shè)備400的一個例子為解碼器。設(shè)備400包括存儲器410和處理器420。
[0129]存儲器410可以包括隨機存儲器、閃存、只讀存儲器、可編程只讀存儲器、非易失性存儲器或寄存器等。處理器420可以是中央處理器(Central Processing Unit, CPU)。
[0130]存儲器410用于存儲可執(zhí)行指令。處理器420可以執(zhí)行存儲器410中存儲的可執(zhí)行指令,用于:在當前幀中存在待恢復(fù)數(shù)據(jù)的情況下,在第一搜索范圍內(nèi),進行第一級搜索,以確定第一搜索范圍內(nèi)與待恢復(fù)數(shù)據(jù)相關(guān)性最大的第一數(shù)據(jù)的第一起始位置Dl ;根據(jù)第一起始位置Dl和/或幀信息,在第一搜索范圍內(nèi)確定第二搜索范圍,其中幀信息包括以下至少一種:當前幀的前一幀的基音周期,前一幀的信號類型;在第二搜索范圍內(nèi),進行第二級搜索,以確定第二數(shù)據(jù)的第二起始位置,第二數(shù)據(jù)是除第一數(shù)據(jù)之外的與待恢復(fù)數(shù)據(jù)相關(guān)性最大的數(shù)據(jù)。
[0131]本發(fā)明實施例中,通過根據(jù)第一級搜索確定的第一數(shù)據(jù)的第一起始位置和/或幀信息,在第一搜索范圍內(nèi)確定第二搜索范圍,并在第二搜索范圍內(nèi)進行第二級搜索以確定第二數(shù)據(jù),從而能夠保證搜索得到的數(shù)據(jù)的可靠性,使得在根據(jù)各級搜索得到的相關(guān)數(shù)據(jù)對待恢復(fù)數(shù)據(jù)進行恢復(fù)時能夠增強所恢復(fù)的數(shù)據(jù)的前后連續(xù)性。
[0132]可選地,作為一個實施例,第二搜索范圍可以小于第一搜索范圍。
[0133]由上述可知,本發(fā)明實施例中,通過根據(jù)第一級搜索得到的第一起始位置和/或幀信息,在第一搜索范圍內(nèi)確定小于第一級搜索范圍的第二搜索范圍,并在第二搜索范圍內(nèi)進行第二級搜索,而非簡單地采用固定的搜索范圍,能夠降低搜索的復(fù)雜度消耗。
[0134]可選地,作為另一實施例,處理器420還可以在根據(jù)第一起始位置Dl和/或幀信息,在第一搜索范圍內(nèi)確定第二搜索范圍之前,在第一起始位置Dl位于第一搜索范圍內(nèi)的第一子范圍的情況下,確定前一幀的基音周期T是否小于第一搜索范圍的長度NI,其中,第一子范圍為(Nl/2-a,Nl/2+a),0〈a〈Nl/2。
[0135]處理器420可以在確定前一幀的基音周期T小于第一搜索范圍的長度NI的情況下,確定第二搜索范圍為(Dl-T/2,Dl+T/2?;蛘咛幚砥?20可以在確定前一幀的基音周期T小于第一搜索范圍的長度NI,且Dl小于T/2的情況下,確定第二搜索范圍為(0,T)?;蛘咛幚砥?20可以在確定前一幀的基音周期T小于第一搜索范圍的長度NI,且(D1+T/2)大于NI的情況下,確定第二搜索范圍為(Ν1-Τ,Τ)。
[0136]可選地,作為另一實施例,處理器420還可以在根據(jù)第一起始位置Dl和/或幀信息,在第一搜索范圍內(nèi)確定第二搜索范圍之前,在第一起始位置Dl位于第一搜索范圍內(nèi)的第一子范圍的情況下,確定前一幀的基音周期T是否小于第一搜索范圍的長度NI,其中,第一子范圍為(Nl/2-a,Nl/2+a),0〈a〈Nl/2。
[0137]處理器420可以在確定前一幀的基音周期T大于或等于第一搜索范圍的長度NI的情況下,確定第一搜索范圍作為第二搜索范圍。
[0138]可選地,作為另一實施例,處理器420可以在第一起始位置Dl沒有位于第一搜索范圍內(nèi)的第一子范圍的情況下,確定第一搜索范圍作為第二搜索范圍,其中,第一子范圍為(Nl/2-a, Nl/2+a),NI表示第一搜索范圍的長度,0〈a〈Nl/2。
[0139]可選地,作為另一實施例,處理器420還可以在根據(jù)第一起始位置Dl和/或幀信息,在第一搜索范圍內(nèi)確定第二搜索范圍之前,在前一幀的信號為語音信號的情況下,確定前一幀的基音周期T是否小于第一搜索范圍的長度NI。
[0140]處理器420可以在確定前一幀的基音周期T小于第一搜索范圍的長度NI的情況下,確定第二搜索范圍為(Dl-T/2,D1+T/2)?;蛘?,處理器420可以在確定前一幀的基音周期T小于第一搜索范圍的長度NI,且Dl小于T/2的情況下,確定第二搜索范圍為(0,T)。或者,處理器420可以在確定前一幀的基音周期T小于第一搜索范圍的長度NI,且(D1+T/2)大于NI的情況下,確定第二搜索范圍為(Ν1-Τ,Τ)。
[0141]可選地,作為另一實施例,處理器420還可以在根據(jù)第一起始位置Dl和/或幀信息,在第一搜索范圍內(nèi)確定第二搜索范圍之前,在前一幀的信號類型為語音信號的情況下,確定前一幀的基音周期T是否小于第一搜索范圍的長度NI。
[0142]處理器420可以在確定前一幀的基音周期T大于或等于第一搜索范圍的長度NI的情況下,確定第一搜索范圍作為第二搜索范圍。
[0143]可選地,作為另一實施例,處理器420可以在前一幀的信號類型為噪聲信號的情況下,確定第一搜索范圍作為第二搜索范圍。
[0144]可選地,作為另一實施例,處理器420還可以在第二搜索范圍內(nèi)進行第二級搜索之后,確定第二搜索范圍作為第L搜索范圍,L為大于或等于3的正整數(shù)。處理器420還可以在第L搜索范圍內(nèi),進行第L級搜索,以確定在第L搜索范圍內(nèi)與待恢復(fù)數(shù)據(jù)相關(guān)性最大的第L數(shù)據(jù)的第L起始位置,其中第L數(shù)據(jù)不同于第一數(shù)據(jù)至第(L-1)數(shù)據(jù),以便根據(jù)第一起始位置Dl至第L起始位置對待恢復(fù)數(shù)據(jù)進行恢復(fù)。
[0145]可選地,作為另一實施例,第一搜索范圍可以為從前一幀中的第一位置到待恢復(fù)數(shù)據(jù)的起始位置的范圍。或者,第一搜索范圍可以為從當前幀中已恢復(fù)數(shù)據(jù)的起始位置到當前幀的結(jié)束位置的范圍。
[0146]圖4的設(shè)備400的其它功能和操作可以參照上面圖1至圖2b的方法實施例的過程,為了避免重復(fù),此處不再贅述。
[0147]本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出本發(fā)明的范圍。
[0148]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
[0149]在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0150]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
[0151]另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
[0152]所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0153]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以所述權(quán)利要求的保護范圍為準。
【權(quán)利要求】
1.一種用于恢復(fù)丟失數(shù)據(jù)的方法,其特征在于,包括: 在當前幀中存在待恢復(fù)數(shù)據(jù)的情況下,在第一搜索范圍內(nèi),進行第一級搜索,以確定所述第一搜索范圍內(nèi)與所述待恢復(fù)數(shù)據(jù)相關(guān)性最大的第一數(shù)據(jù)的第一起始位置Dl ; 根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍,其中所述幀信息包括以下至少一種:所述當前幀的前一幀的基音周期,所述前一幀的信號類型; 在所述第二搜索范圍內(nèi),進行第二級搜索,以確定第二數(shù)據(jù)的第二起始位置,所述第二數(shù)據(jù)是除所述第一數(shù)據(jù)之外的與所述待恢復(fù)數(shù)據(jù)相關(guān)性最大的數(shù)據(jù),以便至少根據(jù)所述第一起始位置Dl和所述第二起始位置對所述待恢復(fù)數(shù)據(jù)進行恢復(fù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第二搜索范圍小于所述第一搜索范圍。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍之前,所述方法還包括: 在所述第一起始位置Dl位于所述第一搜索范圍內(nèi)的第一子范圍的情況下,確定所述前一幀的基音周期T是否小于所述第一搜索范圍的長度NI,其中,所述第一子范圍為(Nl/2-a, Nl/2+a),0〈a〈Nl/2 ; 所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍,包括: 在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI的情況下,確定所述第二搜索范圍為(Dl-T/2,D1+T/2);或者, 在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI,且Dl小于T/2的情況下,確定所述第二搜索范圍為(0,T);或者, 在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI,且(D1+T/2)大于NI的情況下,確定所述第二搜索范圍為(Ν1-Τ,Τ)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍之前,所述方法還包括: 在所述第一起始位置Dl位于所述第一搜索范圍內(nèi)的第一子范圍的情況下,確定所述前一幀的基音周期T是否小于所述第一搜索范圍的長度NI,其中,所述第一子范圍為(Nl/2-a, Nl/2+a),0〈a〈Nl/2 ; 所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍,包括: 在確定所述前一幀的基音周期T大于或等于所述第一搜索范圍的長度NI的情況下,確定所述第一搜索范圍作為所述第二搜索范圍。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍,包括: 在所述第一起始位置Dl沒有位于所述第一搜索范圍內(nèi)的第一子范圍的情況下,確定所述第一搜索范圍作為所述第二搜索范圍,其中,所述第一子范圍為(Nl/2-a,Nl/2+a),NI表示所述第一搜索范圍的長度,0〈a〈Nl/2。
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍之前,所述方法還包括: 在所述前一幀的信號為語音信號的情況下,確定所述前一幀的基音周期T是否小于所述第一搜索范圍的長度NI ; 所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍,包括: 在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI的情況下,確定所述第二搜索范圍為(Dl-T/2,D1+T/2);或者, 在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI,且Dl小于T/2的情況下,確定所述第二搜索范圍為(0,T);或者, 在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI,且(D1+T/2)大于NI的情況下,確定所述第二搜索范圍為(Ν1-Τ,Τ)。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍之前,所述方法還包括: 在所述前一幀的信號類型為語音信號的情況下,確定所述前一幀的基音周期T是否小于所述第一搜索范圍的長度NI ; 所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍,包括: 在確定所述前一幀的基音周期T大于或等于所述第一搜索范圍的長度NI的情況下,確定所述第一搜索范圍作為所述第二搜索范圍。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍,包括: 在所述前一幀的信號類型為噪聲信號的情況下,確定所述第一搜索范圍作為所述第二搜索范圍。
9.根據(jù)權(quán)利要求1至8中任一項所述的方法,其特征在于,在所述第二搜索范圍內(nèi)進行第二級搜索之后,所述方法還包括: 確定所述第二搜索范圍作為第L搜索范圍,L為大于或等于3的正整數(shù); 在所述第L搜索范圍內(nèi),進行第L級搜索,以確定在所述第L搜索范圍內(nèi)與所述待恢復(fù)數(shù)據(jù)相關(guān)性最大的第L數(shù)據(jù)的第L起始位置,其中所述第L數(shù)據(jù)不同于所述第一數(shù)據(jù)至第(L-1)數(shù)據(jù),以便根據(jù)所述第一起始位置Dl至所述第L起始位置對所述待恢復(fù)數(shù)據(jù)進行恢復(fù)。
10.根據(jù)權(quán)利要求1至9中任一項所述的方法,其特征在于,所述第一搜索范圍為從所述前一幀中的第一位置到所述待恢復(fù)數(shù)據(jù)的起始位置的范圍;或者, 所述第一搜索范圍為從所述當前幀中已恢復(fù)數(shù)據(jù)的起始位置到所述當前幀的結(jié)束位置的范圍。
11.一種用于恢復(fù)丟失數(shù)據(jù)的設(shè)備,其特征在于,包括: 搜索單元,用于在當前幀中存在待恢復(fù)數(shù)據(jù)的情況下,在第一搜索范圍內(nèi),進行第一級搜索,以確定所述第一搜索范圍內(nèi)與所述待恢復(fù)數(shù)據(jù)相關(guān)性最大的第一數(shù)據(jù)的第一起始位置Dl ; 確定單元,用于根據(jù)所述搜索單元得到的所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍,其中所述幀信息包括以下至少一種:所述當前幀的前一幀的基音周期,所述前一幀的信號類型; 所述搜索單元,還用于在所述第二搜索范圍內(nèi),進行第二級搜索,以確定第二數(shù)據(jù)的第二起始位置,所述第二數(shù)據(jù)是除所述第一數(shù)據(jù)之外的與所述待恢復(fù)數(shù)據(jù)相關(guān)性最大的數(shù)據(jù),以便至少根據(jù)所述第一起始位置Dl和所述第二起始位置對所述待恢復(fù)數(shù)據(jù)進行恢復(fù)。
12.根據(jù)權(quán)利要求11所述的設(shè)備,其特征在于,所述第二搜索范圍小于所述第一搜索范圍。
13.根據(jù)權(quán)利要求12所述的設(shè)備,其特征在于,所述確定單元還用于,在根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍之前,在所述第一起始位置Dl位于所述第一搜索范圍內(nèi)的第一子范圍的情況下,確定所述前一幀的基音周期T是否小于所述第一搜索范圍的長度NI,其中,所述第一子范圍為(Nl/2-a,Nl/2+a),0〈a〈Nl/2 ; 所述確定單元具體用于:在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI的情況下,確定所述第二搜索范圍為(Dl-T/2,D1+T/2);或者,在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI,且Dl小于T/2的情況下,確定所述第二搜索范圍為(0,T);或者,在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI,且(D1+T/2)大于NI的情況下,確定所述第二搜索范圍為(Ν1-Τ,Τ)。
14.根據(jù)權(quán)利要求11所述的設(shè)備,其特征在于,所述確定單元還用于,在根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍之前,在所述第一起始位置Dl位于所述第一搜索范圍內(nèi)的第一子范圍的情況下,確定所述前一幀的基音周期T是否小于所述第一搜索范圍的長度NI,其中,所述第一子范圍為(Nl/2-a,Nl/2+a),0〈a〈Nl/2 ; 所述確定單元具體用于在確定所述前一幀的基音周期T大于或等于所述第一搜索范圍的長度NI的情況下,確定所述第一搜索范圍作為所述第二搜索范圍。
15.根據(jù)權(quán)利要求11所述的設(shè)備,其特征在于,所述確定單元具體用于在所述第一起始位置Dl沒有位于所述第一搜索范圍內(nèi)的第一子范圍的情況下,確定所述第一搜索范圍作為所述第二搜索范圍,其中,所述第一子范圍為(Nl/2-a,Nl/2+a),NI表示所述第一搜索范圍的長度,0〈a〈Nl/2。
16.根據(jù)權(quán)利要求12所述的設(shè)備,其特征在于,所述確定單元還用于在根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍之前,在所述前一幀的信號為語音信號的情況下,確定所述前一幀的基音周期T是否小于所述第一搜索范圍的長度NI ; 所述確定單元具體用于: 在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI的情況下,確定所述第二搜索范圍為(Dl-T/2,D1+T/2);或者,在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI,且Dl小于T/2的情況下,確定所述第二搜索范圍為(0,T);或者,在確定所述前一幀的基音周期T小于所述第一搜索范圍的長度NI,且(D1+T/2)大于NI的情況下,確定所述第二搜索范圍為(Ν1-Τ,Τ)。
17.根據(jù)權(quán)利要求11所述的設(shè)備,其特征在于,所述確定單元還用于,在根據(jù)所述第一起始位置Dl和/或幀信息,在所述第一搜索范圍內(nèi)確定第二搜索范圍之前,在所述前一幀的信號類型為語音信號的情況下,確定所述前一幀的基音周期T是否小于所述第一搜索范圍的長度NI ; 所述確定單元具體用于在確定所述前一幀的基音周期T大于或等于所述第一搜索范圍的長度NI的情況下,確定所述第一搜索范圍作為所述第二搜索范圍。
18.根據(jù)權(quán)利要求11所述的設(shè)備,其特征在于,所述確定單元具體用于在所述前一幀的信號類型為噪聲信號的情況下,確定所述第一搜索范圍作為所述第二搜索范圍。
19.根據(jù)權(quán)利要求11至18中任一項所述的設(shè)備,其特征在于,所述確定單元還用于在所述第二搜索范圍內(nèi)進行第二級搜索之后,確定所述第二搜索范圍作為第L搜索范圍,L為大于或等于3的正整數(shù); 所述搜索單元,還用于在所述第L搜索范圍內(nèi),進行第L級搜索,以確定在所述第L搜索范圍內(nèi)與所述待恢復(fù)數(shù)據(jù)相關(guān)性最大的第L數(shù)據(jù)的第L起始位置,其中所述第L數(shù)據(jù)不同于所述第一數(shù)據(jù)至第(L-1)數(shù)據(jù),以便根據(jù)所述第一起始位置Dl至所述第L起始位置對所述待恢復(fù)數(shù)據(jù)進行恢復(fù)。
20.根據(jù)權(quán)利要求11至19中任一項所述的設(shè)備,其特征在于,所述第一搜索范圍為從所述前一幀中的第一位置到所述待恢復(fù)數(shù)據(jù)的起始位置的范圍;或者,所述第一搜索范圍為從所述當前幀中已恢復(fù)數(shù)據(jù)的起始位置到所述當前幀的結(jié)束位置的范圍。
【文檔編號】G10L19/20GK104240715SQ201310248383
【公開日】2014年12月24日 申請日期:2013年6月21日 優(yōu)先權(quán)日:2013年6月21日
【發(fā)明者】胡晨, 苗磊 申請人:華為技術(shù)有限公司