国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      語音幀的發(fā)送、接收裝置及方法

      文檔序號:7980198閱讀:305來源:國知局
      語音幀的發(fā)送、接收裝置及方法
      【專利摘要】本發(fā)明公開了一種語音幀的發(fā)送、接收裝置及方法,上述裝置包括:計算模塊,用于根據(jù)第一預(yù)設(shè)編碼算法的第一編碼延時和第二預(yù)設(shè)編碼算法的第二編碼延時分別計算出第一預(yù)設(shè)編碼算法和第二預(yù)設(shè)編碼算法的編碼同步的起始位置;編碼模塊,用于按照計算出的起始位置分別采用第一預(yù)設(shè)編碼算法和第二預(yù)設(shè)編碼算法對采集到的語音幀進(jìn)行編碼處理;發(fā)送模塊,用于將采用第一預(yù)設(shè)編碼算法編碼處理后的采集到的語音幀中當(dāng)前語音幀和采用第二預(yù)設(shè)編碼算法編碼處理后的采集到的語音幀中上一個語音幀進(jìn)行整合處理并發(fā)送。根據(jù)本發(fā)明提供的技術(shù)方案,使得主次編碼技術(shù)更好地適應(yīng)于不同的編解碼算法,以低時延低帶寬開銷的代價增強了語音傳輸?shù)目箒G包能力。
      【專利說明】語音幀的發(fā)送、接收裝置及方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種語音幀的發(fā)送、接收裝置及方法。
      【背景技術(shù)】
      [0002]全互聯(lián)網(wǎng)協(xié)議(Internet Protocol,簡稱為IP)化傳輸是目前多媒體通信發(fā)展的趨勢,而基于分組傳輸?shù)腎P網(wǎng)絡(luò)只能提供盡力而為的服務(wù),丟包、延時及抖動等問題會一直伴隨著語音、圖像等多媒體在分組網(wǎng)絡(luò)的應(yīng)用。目前,相關(guān)技術(shù)中解決網(wǎng)絡(luò)丟包的技術(shù)方案主要可以包括:交織、重傳和前向糾錯。
      [0003]1、交織技術(shù)是將若干個數(shù)據(jù)包劃分為一組,按照一定的規(guī)則將數(shù)據(jù)包進(jìn)行重排序發(fā)送,主要用于抵御突發(fā)性連續(xù)丟包,其優(yōu)點在于不會增加帶寬開銷,而缺點在于需要將數(shù)據(jù)包進(jìn)行分組,編碼數(shù)據(jù)不能立即發(fā)送和解碼,引入延時大,不適合實時性較高的交互式通業(yè)務(wù)。
      [0004]2、重傳技術(shù)是當(dāng)接收端檢測到丟包后,發(fā)送反饋請求重傳,發(fā)送端可以根據(jù)反饋信息重傳丟失的數(shù)據(jù)包。重傳的缺點在于,只適應(yīng)具有反饋信道的業(yè)務(wù),且延時較高,其時延大小主要取決于發(fā)送端和接收端之間的網(wǎng)絡(luò)往返時間(Round Trip Time,簡稱為RTT)大小和抖動,以及兩端對相關(guān)信息的處理時間。此外,重傳數(shù)據(jù)包和反饋消息均引入了額外的帶寬開銷。
      [0005]3、前向糾錯技術(shù)按照和媒體內(nèi)容的關(guān)系,可以分為與媒體無關(guān)和與媒體相關(guān)的前向糾錯技術(shù)。與媒體無關(guān)的前向糾錯技術(shù)是將若干個媒體包劃分為一組,利用前向糾錯算法,例如:里德-所羅門碼、卷積碼等,生成冗余數(shù)據(jù)包。當(dāng)分組中某個或幾個媒體包丟失時,接收端可以利用組內(nèi)未丟失的媒體包及冗余包,還原丟失的媒體包。該技術(shù)的優(yōu)點在于與具體的媒體內(nèi)容無關(guān),計算量小,易于實施;而缺點之一和交織技術(shù)一樣,要將媒體包進(jìn)行分組編碼數(shù)據(jù)不能立即發(fā)送和解碼,引入延時大。此外,還需要增加帶寬開銷。與媒體相關(guān)的前向糾錯技術(shù),又稱為主次編碼技術(shù),是將同一媒體單元以兩種不同的編碼算法或同一編碼算法的不同級部分,構(gòu)造兩個副本,分別傳輸。第一個傳輸副本叫做主編碼,第二傳輸副本叫做次編碼。當(dāng)網(wǎng)絡(luò)上主編碼丟失時,接收端可以從對應(yīng)的且未丟失的次編碼還原出媒體單元。媒體相關(guān)的前向糾錯的優(yōu)點在于延時小,通常主編碼數(shù)據(jù)和前一幀的媒體單元的次編碼一起傳輸,延時只有一幀就能補償主編碼的丟失。然而,相關(guān)技術(shù)中的主次編碼的缺點主要體現(xiàn)在當(dāng)主次編碼采用不同的編碼算法的時候,由于不同算法的編碼延時可能不一樣,同一媒體單元不同算法編出的數(shù)據(jù)還原的媒體可能不是時間上對齊的。此外,即使是時間上對齊的由不同編解碼還原出來的媒體信號也會在相位或幅度上差別較大,因此,將同一幀的次編碼數(shù)據(jù)還原的結(jié)果去替換丟失的主編碼,就存在前后媒體單元銜接不上的問題,可能會導(dǎo)致媒體重放時出現(xiàn)“卡”的現(xiàn)象。此外,通常的編碼算法均具有幀間參考的特性,當(dāng)主編碼丟失時,即使從次編碼恢復(fù)了丟失的媒體單元,但后續(xù)一段時間內(nèi)主編碼數(shù)據(jù)解碼的效果也會受到丟包的影響。
      【發(fā)明內(nèi)容】

      [0006]本發(fā)明提供了一種語音幀的發(fā)送、接收裝置及方法,以至少解決相關(guān)技術(shù)中的主次編碼的方法無法將主編碼數(shù)據(jù)解碼的媒體單元與通過次編碼還原的媒體單元無縫銜接的問題。
      [0007]根據(jù)本發(fā)明的一個方面,提供了 一種語音幀的發(fā)送裝置。
      [0008]根據(jù)本發(fā)明的語音幀的發(fā)送裝置包括:計算模塊,用于根據(jù)第一預(yù)設(shè)編碼算法的第一編碼延時和第二預(yù)設(shè)編碼算法的第二編碼延時分別計算出第一預(yù)設(shè)編碼算法和第二預(yù)設(shè)編碼算法的編碼同步的起始位置;編碼模塊,用于按照計算出的起始位置分別采用第一預(yù)設(shè)編碼算法和第二預(yù)設(shè)編碼算法對采集到的語音幀進(jìn)行編碼處理;發(fā)送模塊,用于將采用第一預(yù)設(shè)編碼算法編碼處理后的采集到的語音幀中當(dāng)前語音幀和采用第二預(yù)設(shè)編碼算法編碼處理后的采集到的語音幀中上一個語音幀進(jìn)行整合處理并發(fā)送。
      [0009]優(yōu)選地,上述計算模塊包括:獲取單元,用于分別獲取第一編碼延時和第二編碼延時;計算單元,用于根據(jù)第一編碼延時和第二編碼延時計算延時差;填充單元,用于將第一編碼延時和第二編碼延時進(jìn)行比較,在采用編碼延時較小的預(yù)設(shè)編碼算法對采集到語音幀進(jìn)行編碼處理之前,在采集到語音幀前填充長度為延時差的靜音數(shù)據(jù)。
      [0010]根據(jù)本發(fā)明的另一方面,提供了一種語音幀的接收裝置。
      [0011]根據(jù)本發(fā)明的語音幀的接收裝置包括:接收模塊,用于接收整合處理后的語音幀,其中,整合處理后的語音幀包括:從第一預(yù)設(shè)編碼算法的編碼同步的起始位置采用第一預(yù)設(shè)編碼算法編碼處理后的第一語音幀和從第二預(yù)設(shè)編碼算法的編碼同步的起始位置采用第二預(yù)設(shè)編碼算法編碼處理后的第二語音幀,第二語音幀為第一語音幀的前一個語音幀;解析模塊,用于對整合處理后的語音幀進(jìn)行解析處理,將第一語音幀和第二語音幀進(jìn)行分離;輸出模塊,用于對分離后的第一語音幀和第二語音幀分別進(jìn)行解碼處理,并將經(jīng)過解碼處理后的第一語音幀輸出;或者,在上一次接收的整合處理后的語音幀發(fā)生丟包時,將第二語音巾貞輸出。
      [0012]優(yōu)選地,上述輸出模塊包括:第一解碼單元,用于對第一語音幀進(jìn)行解碼處理;第二解碼單元,用于對第二語音幀進(jìn)行解碼處理;檢測單元,用于檢測經(jīng)過當(dāng)前解碼處理后的第一語音幀與經(jīng)過上一次解碼處理后的第一語音幀是否連續(xù);切換單元,用于在檢測單元輸出為是時,將經(jīng)過當(dāng)前解碼處理后的第一語音幀輸出;或者,在檢測單元輸出為否時,切換至將經(jīng)過當(dāng)前解碼處理后的第二語音幀輸出。
      [0013]優(yōu)選地,上述切換單元,還用于在輸出的第二語音幀為一個或多個靜音幀時,切換至將經(jīng)過當(dāng)前解碼處理后的第一語音幀輸出。
      [0014]優(yōu)選地,輸出模塊還包括:平滑處理單元,用于將經(jīng)過解碼處理后的第二語音幀與上一次輸出的語音幀進(jìn)行平滑處理。
      [0015]根據(jù)本發(fā)明的又一方面,提供了一種語音幀的發(fā)送方法。
      [0016]根據(jù)本發(fā)明的語音幀的發(fā)送方法包括:根據(jù)第一預(yù)設(shè)編碼算法的第一編碼延時和第二預(yù)設(shè)編碼算法的第二編碼延時分別計算出第一預(yù)設(shè)編碼算法和第二預(yù)設(shè)編碼算法的編碼同步的起始位置;按照計算出的起始位置分別采用第一預(yù)設(shè)編碼算法和第二預(yù)設(shè)編碼算法對采集到的語音幀進(jìn)行編碼處理;將采用第一預(yù)設(shè)編碼算法編碼處理后的采集到的語音幀中當(dāng)前語音幀和采用第二預(yù)設(shè)編碼算法編碼處理后的采集到的語音幀中上一個語音幀進(jìn)行整合處理并發(fā)送。
      [0017]優(yōu)選地,根據(jù)所述第一預(yù)設(shè)編碼算法的第一編碼延時和所述第二預(yù)設(shè)編碼算法的第二編碼延時分別計算出所述第一預(yù)設(shè)編碼算法和第二預(yù)設(shè)編碼算法的所述編碼同步的起始位置包括:分別獲取所述第一編碼延時和所述第二編碼延時;根據(jù)所述第一編碼延時和所述第二編碼延時計算延時差;將所述第一編碼延時和所述第二編碼延時進(jìn)行比較,在采用編碼延時較小的預(yù)設(shè)編碼算法對所述采集到語音幀進(jìn)行編碼處理之前,在所述采集到語音幀前填充長度為所述延時差的靜音數(shù)據(jù)。
      [0018]根據(jù)本發(fā)明的再一方面,提供了一種語音幀的接收方法。
      [0019]根據(jù)本發(fā)明的語音幀的接收方法包括:接收整合處理后的語音幀,其中,整合處理后的語音幀包括:從第一預(yù)設(shè)編碼算法的編碼同步的起始位置采用第一預(yù)設(shè)編碼算法編碼處理后的第一語音幀和從第二預(yù)設(shè)編碼算法的編碼同步的起始位置采用第二預(yù)設(shè)編碼算法編碼處理后的第二語音幀,第二語音幀為第一語音幀的前一個語音幀;對整合處理后的語音幀進(jìn)行解析處理,將第一語音幀和第二語音幀進(jìn)行分離;對分離后的第一語音幀和第二語音幀分別進(jìn)行解碼處理,并將經(jīng)過解碼處理后的第一語音幀輸出;或者,在上一次接收的整合處理后的語音幀發(fā)生丟包時,將第二語音幀輸出。
      [0020]優(yōu)選地,對分離后的第一語音幀和第二語音幀分別進(jìn)行解碼處理,并將經(jīng)過解碼處理后的第一語音幀輸出;或者,在上一次接收的整合處理后的語音幀發(fā)生丟包時,將第二語音幀輸出包括:對第一語音幀進(jìn)行解碼處理;對第二語音幀進(jìn)行解碼處理;檢測經(jīng)過當(dāng)前解碼處理后的第一語音幀與經(jīng)過上一次解碼處理后的第一語音幀是否連續(xù);在檢測單元輸出為是時,將經(jīng)過當(dāng)前解碼處理后的第一語音幀輸出;或者,在檢測單元輸出為否時,切換至將經(jīng)過當(dāng)前解碼處理后的第二語音幀輸出。
      [0021]優(yōu)選地,在切換至將經(jīng)過當(dāng)前解碼處理后的第二語音幀輸出之后,還包括:在輸出的第二語音幀為一個或多個靜音幀時,切換至將經(jīng)過當(dāng)前解碼處理后的第一語音幀輸出。
      [0022]優(yōu)選地,對分離后的第一語音幀和第二語音幀分別進(jìn)行解碼處理,并將經(jīng)過解碼處理后的第一語音幀輸出;或者,在上一次接收的整合處理后的語音幀發(fā)生丟包時,將第二語音幀輸出還包括:將經(jīng)過解碼處理后的第二語音幀與上一次輸出的語音幀進(jìn)行平滑處理。
      [0023]通過本發(fā)明,采用根據(jù)不同編碼算法的編碼延時分別計算出各個編碼算法的編碼同步的起始位置,按照計算出的起始位置分別采用不同的編碼算法對采集到的語音幀進(jìn)行編碼處理,將采用一種編碼算法編碼處理后的采集到的語音幀中當(dāng)前語音幀和采用另外一種的預(yù)設(shè)編碼算法編碼處理后的采集到的語音幀中上一個語音幀進(jìn)行整合處理并發(fā)送,解決了相關(guān)技術(shù)中的主次編碼的方法無法將主編碼數(shù)據(jù)解碼的媒體單元與通過次編碼還原的媒體單元無縫銜接的問題,進(jìn)而使得主次編碼技術(shù)更好地適應(yīng)于不同的編解碼算法,以低時延低帶寬開銷的代價增強了語音傳輸?shù)目箒G包能力。
      【專利附圖】

      【附圖說明】
      [0024]此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
      [0025]圖1是根據(jù)本發(fā)明實施例的語音幀的發(fā)送裝置的結(jié)構(gòu)框圖;[0026]圖[0027]圖據(jù)的示意圖[0028]圖[0029]圖[0030]圖[0031]圖[0032]圖[0033]圖[0034]圖[0035]圖[0036]圖
      2是根據(jù)本發(fā)明優(yōu)選實施例的語音幀的發(fā)送裝置的結(jié)構(gòu)框圖;
      3是根據(jù)本發(fā)明優(yōu)選實施例的獲取主次編碼同步起始點以及整合主次編碼數(shù)?
      4是根據(jù)本發(fā)明優(yōu)選實施例的語音幀的發(fā)送裝置的結(jié)構(gòu)示意圖;
      5是根據(jù)本發(fā)明實施例的語音幀的接收裝置的結(jié)構(gòu)框圖;
      6是根據(jù)本發(fā)明優(yōu)選實施例的語音幀的接收裝置的結(jié)構(gòu)框圖;
      7是根據(jù)本發(fā)明優(yōu)選實施例的語音幀拼接和平滑處理的示意圖;
      8是根據(jù)本發(fā)明優(yōu)選實施例的語音幀`的`接收裝置的結(jié)構(gòu)示意圖;
      9是根據(jù)本發(fā)明實施例的語音幀的發(fā)送方法的流程圖;
      10是根據(jù)本發(fā)明優(yōu)選實施例的語音幀的發(fā)送方法的流程圖;
      11是根據(jù)本發(fā)明實施例的語音幀的接收方法的流程圖;以及12是根據(jù)本發(fā)明優(yōu)選實施例的語音幀的接收方法的流程圖。
      【具體實施方式】
      [0037]下文中將參考附圖并結(jié)合實施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
      [0038]圖1是根據(jù)本發(fā)明實施例的語音幀的發(fā)送裝置的結(jié)構(gòu)框圖。如圖1所示,該語音幀的發(fā)送裝置包括:計算模塊10,用于根據(jù)第一預(yù)設(shè)編碼算法的第一編碼延時和第二預(yù)設(shè)編碼算法的第二編碼延時分別計算出第一預(yù)設(shè)編碼算法和第二預(yù)設(shè)編碼算法的編碼同步的起始位置;編碼模塊20,用于按照計算出的起始位置分別采用第一預(yù)設(shè)編碼算法和第二預(yù)設(shè)編碼算法對采集到的語音幀進(jìn)行編碼處理;發(fā)送模塊30,用于將采用第一預(yù)設(shè)編碼算法編碼處理后的采集到的語音幀中當(dāng)前語音幀和采用第二預(yù)設(shè)編碼算法編碼處理后的采集到的語音幀中上一個語音幀進(jìn)行整合處理并發(fā)送。
      [0039]相關(guān)技術(shù)中,主次編碼的方法無法將主編碼數(shù)據(jù)解碼的媒體單元與通過次編碼還原的媒體單元無縫銜接。采用如圖1所示的裝置,采用根據(jù)不同編碼算法的編碼延時分別計算出各個編碼算法的編碼同步的起始位置,按照計算出的起始位置分別采用不同的編碼算法對采集到的語音幀進(jìn)行編碼處理,將采用一種編碼算法編碼處理后的采集到的語音幀中當(dāng)前語音幀和采用另外一種的預(yù)設(shè)編碼算法編碼處理后的采集到的語音幀中上一個語音幀進(jìn)行整合處理并發(fā)送,解決了相關(guān)技術(shù)中的主次編碼的方法無法將主編碼數(shù)據(jù)解碼的媒體單元與通過次編碼還原的媒體單元無縫銜接的問題,進(jìn)而使得主次編碼技術(shù)更好地適應(yīng)于不同的編解碼算法,以低時延低帶寬開銷的代價增強了語音傳輸?shù)目箒G包能力。
      [0040]在優(yōu)選實施過程中,主次編碼技術(shù)可以更好地適應(yīng)于不同的編解碼算法,例如:主編碼可以采用寬帶、高碼率、語音質(zhì)量好、抗丟包能力弱的算法,而次編碼可以采用窄帶、低碼率、抗丟包能力強的算法。
      [0041]在優(yōu)選實施例中,發(fā)送端首先可以根據(jù)主次兩種編碼算法各自的編解碼延時計算編碼同步的起始點;然后按照各自的編碼同步的起始點對采集到的媒體數(shù)據(jù)依次進(jìn)行編碼并進(jìn)行緩存;最后將當(dāng)前采集到的語音幀的主編碼數(shù)據(jù)和歷史幀的次編碼數(shù)據(jù)進(jìn)行打包并發(fā)送。
      [0042]優(yōu)選地,如圖2所示,計算模塊10可以包括:獲取單元100,用于分別獲取第一編碼延時和第二編碼延時;計算單元102,用于根據(jù)第一編碼延時和第二編碼延時計算延時差;填充單元104,用于將第一編碼延時和第二編碼延時進(jìn)行比較,在采用編碼延時較小的預(yù)設(shè)編碼算法對采集到語音幀進(jìn)行編碼處理之前,在采集到語音幀前填充長度為延時差的靜音數(shù)據(jù)。
      [0043]在優(yōu)選實施例中,圖3是根據(jù)本發(fā)明優(yōu)選實施例的獲取主次編碼同步起始點以及整合主次編碼數(shù)據(jù)的示意圖。如圖3所示,假設(shè)主編碼算法延時為L±,次編碼算法延時為L次,L=|L主-L次|。將L作為主次編碼起點之差。當(dāng)L次〉L主時,在向主編碼器輸入采集數(shù)據(jù)之前需要填充長度為L的靜音數(shù)據(jù),后續(xù)每幀編碼的同步點為n*F-L,其中,如果n*F-L〈0表示需要填充η-1個完整的靜音幀,而次編碼的同步點為n*F ;當(dāng)1^〈1^時,具體過程與上述相反,此處不再贅述。
      [0044]下面結(jié)合圖4所示的優(yōu)選實施例對上述優(yōu)選實施過程做進(jìn)一步的描述。
      [0045]圖4是根據(jù)本發(fā)明優(yōu)選實施例的語音幀的發(fā)送裝置的結(jié)構(gòu)示意圖。如圖4所示,可以包括:采集器、主次編碼器、整合器以及數(shù)據(jù)包發(fā)送器,其中,網(wǎng)絡(luò)可以指代IP分組網(wǎng)絡(luò)。采集器,用于采集語音幀;主次編碼器,用于按照計算出的各自編碼同步的起始點對采集的語音數(shù)據(jù)依次進(jìn)行編碼;整合器,用于將主次編碼數(shù)據(jù)整合成實時傳送協(xié)議(Real-timeTransport Protocol,簡稱為RTP)包的負(fù)載,并構(gòu)造RTP包的包頭信息;發(fā)送器,用于將整合后的語音數(shù)據(jù)包發(fā)送到IP分組網(wǎng)絡(luò)中。
      [0046]圖5是根據(jù)本發(fā)明實施例的語音幀的接收裝置的結(jié)構(gòu)框圖。如圖5所示,該語音幀的接收裝置可以包括:接收 模塊40,用于接收整合處理后的語音幀,其中,整合處理后的語音幀包括:從第一預(yù)設(shè)編碼算法的編碼同步的起始位置采用第一預(yù)設(shè)編碼算法編碼處理后的第一語音幀和從第二預(yù)設(shè)編碼算法的編碼同步的起始位置采用第二預(yù)設(shè)編碼算法編碼處理后的第二語音幀,第二語音幀為第一語音幀的前一個語音幀;解析模塊50,用于對整合處理后的語音幀進(jìn)行解析處理,將第一語音幀和第二語音幀進(jìn)行分離;輸出模塊60,用于對分離后的第一語音幀和第二語音幀分別進(jìn)行解碼處理,并將經(jīng)過解碼處理后的第一語音幀輸出;或者,在上一次接收的整合處理后的語音幀發(fā)生丟包時,將第二語音幀輸出。
      [0047]采用如圖5所述的裝置,解決了相關(guān)技術(shù)中的主次編碼的方法無法將主編碼數(shù)據(jù)解碼的媒體單元與通過次編碼還原的媒體單元無縫銜接的問題,進(jìn)而使得主次編碼技術(shù)更好地適應(yīng)于不同的編解碼算法,以低時延低帶寬開銷的代價增強了語音傳輸?shù)目箒G包能力。
      [0048]在優(yōu)選實施例中,接收端在接收到發(fā)送端發(fā)送的語音幀之后,可以先放置在抗抖動緩沖器中;其次從抗抖動緩沖器獲取數(shù)據(jù)包,同時檢測是否發(fā)生丟包現(xiàn)象;如果發(fā)生主編碼數(shù)據(jù)丟包,則在抗抖動緩沖器中查找次編碼與丟失的主編碼相同步的數(shù)據(jù)包;如果未發(fā)生主編碼數(shù)據(jù)丟包,則從語音數(shù)據(jù)包中解析出主次編碼數(shù)據(jù);然后主次解碼器各自解碼編碼數(shù)據(jù)。
      [0049]優(yōu)選地,如圖6所不,輸出模塊60可以包括:第一解碼單兀600,用于對第一語音幀進(jìn)行解碼處理;第二解碼單元602,用于對第二語音幀進(jìn)行解碼處理;檢測單元604,用于檢測經(jīng)過當(dāng)前解碼處理后的第一語音幀與經(jīng)過上一次解碼處理后的第一語音幀是否連續(xù);切換單元606,用于在檢測單元輸出為是時,將經(jīng)過當(dāng)前解碼處理后的第一語音幀輸出;或者,在檢測單元輸出為否時,切換至將經(jīng)過當(dāng)前解碼處理后的第二語音幀輸出。[0050]在優(yōu)選實施例中,如果檢測到丟包或根據(jù)策略由于丟包且主解碼器無法補償丟失的數(shù)據(jù),則切換至播放次解碼器輸出數(shù)據(jù)的狀態(tài);否則將當(dāng)前主解碼器輸出數(shù)據(jù)輸入到播放緩存。
      [0051]優(yōu)選地,上述切換單元606,還用于在輸出的第二語音幀為一個或多個靜音幀時,切換至將經(jīng)過當(dāng)前解碼處理后的第一語音幀輸出。
      [0052]在優(yōu)選實施例中,可以對次解碼器解碼出的第二語音幀進(jìn)行VAD檢測,如果檢測結(jié)果為靜音幀或連續(xù)靜音幀,則切換至播放主解碼器輸出數(shù)據(jù)的狀態(tài);否則,將當(dāng)前次解碼器輸出的數(shù)據(jù)輸入到播放緩存。
      [0053]優(yōu)選地,如圖6所示,輸出模塊60還可以包括:平滑處理單元608,用于將經(jīng)過解碼處理后的第二語音幀與上一次輸出的語音幀進(jìn)行平滑處理。
      [0054]在優(yōu)選實施例中,如果檢測到丟包或根據(jù)策略由于丟包且主解碼器無法補償丟失的數(shù)據(jù),則將次解碼器解碼后的語音幀與前一次輸出到播放緩存語音幀于銜接處進(jìn)行平滑處理,并將處理后的幀輸出到播放緩存;否則,將當(dāng)前主解碼器輸出數(shù)據(jù)輸入到播放緩存。
      [0055]在優(yōu)選實施例中,圖7是根據(jù)本發(fā)明優(yōu)選實施例的語音幀拼接和平滑處理的示意圖。如圖7所示,將次解碼數(shù)據(jù)和前一次輸入到播放緩存的數(shù)據(jù)進(jìn)行平滑處理。雖然在發(fā)送端主次編碼數(shù)據(jù)在時間上是同步的,但各自還原出的語音幀在相位及幅度上都可能會有所差別,因此,需要進(jìn)行平滑處理。
      [0056]下面結(jié)合圖8所示的優(yōu)選實施例對上述優(yōu)選實施方式做進(jìn)一步的描述。
      [0057]圖8是根據(jù)本發(fā)明優(yōu)選實施例的語音幀的接收裝置的結(jié)構(gòu)示意圖。如圖8所示,可以包括:抗抖動緩沖器、解析器、主次解碼器、切換控制器及播放緩沖器,其中,抗抖動緩沖器,用于將接收到的語音幀緩存并且消除干擾;解析器,用于解析RTP負(fù)載并分離主次編碼數(shù)據(jù);主次解碼器,用于分別對主次編碼數(shù)據(jù)進(jìn)行解碼;切換控制器,用于在主次解碼器之間進(jìn)行切換并輸出至播放緩沖器。
      [0058]圖9是根據(jù)本發(fā)明實施例的語音幀的發(fā)送方法的流程圖。如圖9所示,該方法可以包括以下處理步驟:
      [0059]步驟S902:根據(jù)第一預(yù)設(shè)編碼算法的第一編碼延時和第二預(yù)設(shè)編碼算法的第二編碼延時分別計算出第一預(yù)設(shè)編碼算法和第二預(yù)設(shè)編碼算法的編碼同步的起始位置;
      [0060]步驟S904:按照計算出的起始位置分別采用第一預(yù)設(shè)編碼算法和第二預(yù)設(shè)編碼算法對采集到的語音幀進(jìn)行編碼處理;
      [0061]步驟S906:將采用第一預(yù)設(shè)編碼算法編碼處理后的采集到的語音幀中當(dāng)前語音幀和采用第二預(yù)設(shè)編碼算法編碼處理后的采集到的語音幀中上一個語音幀進(jìn)行整合處理并發(fā)送。
      [0062]優(yōu)選地,在步驟S902中,根據(jù)第一預(yù)設(shè)編碼算法的第一編碼延時和第二預(yù)設(shè)編碼算法的第二編碼延時分別計算出第一預(yù)設(shè)編碼算法和第二預(yù)設(shè)編碼算法的編碼同步的起始位置可以包括以下操作:
      [0063]步驟S1:分別獲取第一編碼延時和第二編碼延時;
      [0064]步驟S2:根據(jù)第一編碼延時和第二編碼延時計算延時差;
      [0065]步驟S3:將第一編碼延時和第二編碼延時進(jìn)行比較,在采用編碼延時較小的預(yù)設(shè)編碼算法對采集到語音幀進(jìn)行編碼處理之前,在采集到語音幀前填充長度為延時差的靜音數(shù)據(jù)。
      [0066]下面結(jié)合圖10所示的優(yōu)選實施例對上述優(yōu)選實施過程做進(jìn)一步的描述。
      [0067]圖10是根據(jù)本發(fā)明優(yōu)選實施例的語音幀的發(fā)送方法的流程圖。如圖10所示,該方法可以包括以下步驟:
      [0068]步驟S1002:采集器采集到一幀語音數(shù)據(jù),采集數(shù)據(jù)的采樣率和主編碼算法一致,假設(shè)幀長為F ;[0069]步驟S1004:獲取主編碼同步點,假設(shè)主編碼算法延時為L±,次編碼算法延時為L次,L=|L主-L次|。將L作為主次編碼起點之差。當(dāng)L次〉L主時,在向主編碼器輸入采集數(shù)據(jù)之前需要填充長度為L的靜音數(shù)據(jù),后續(xù)每幀編碼的同步點為n*F-L,其中,如果n*F-L〈0表示需要填充η-1個完整的靜音幀,而次編碼的同步點為n*F ;當(dāng)1^〈1^時,具體過程與上述相反,此處不再贅述;
      [0070]步驟S1006:采用主編碼算法編長度為F的數(shù)據(jù);
      [0071]步驟S1008:緩存主編碼數(shù)據(jù);
      [0072]步驟S1010:獲取次編碼同步點;
      [0073]步驟S1012:判斷主編碼采樣率和次編碼是否一致,如果是,轉(zhuǎn)到步驟S1016 ;否則,繼續(xù)執(zhí)行步驟S1014 ;
      [0074]步驟S1014:將采集數(shù)據(jù)的轉(zhuǎn)換成次編碼采樣率的數(shù)據(jù);
      [0075]步驟S1016:采用次編碼算法編長度為F的數(shù)據(jù);
      [0076]步驟S1018:緩存次編碼數(shù)據(jù);
      [0077]步驟S1020:將主次編碼數(shù)據(jù)整合,整合的策略可依據(jù)網(wǎng)絡(luò)丟包模型而定,優(yōu)選地,可以將當(dāng)前主編碼數(shù)據(jù)和前一幀的次編碼數(shù)據(jù)復(fù)合成一個RTP負(fù)載;
      [0078]步驟S1022:發(fā)送RTP包到網(wǎng)絡(luò)。
      [0079]圖11是根據(jù)本發(fā)明實施例的語音幀的接收方法的流程圖。如圖11所示,該方法可以包括以下處理步驟:
      [0080]步驟S1102:接收整合處理后的語音幀,其中,整合處理后的語音幀包括:從第一預(yù)設(shè)編碼算法的編碼同步的起始位置采用第一預(yù)設(shè)編碼算法編碼處理后的第一語音幀和從第二預(yù)設(shè)編碼算法的編碼同步的起始位置采用第二預(yù)設(shè)編碼算法編碼處理后的第二語音中貞,第二語音幀為第一語音幀的前一個語音幀;
      [0081]步驟S1104:對整合處理后的語音幀進(jìn)行解析處理,將第一語音幀和第二語音幀進(jìn)行分離;
      [0082]步驟S1106:對分離后的第一語音幀和第二語音幀分別進(jìn)行解碼處理,并將經(jīng)過解碼處理后的第一語音幀輸出;或者,在上一次接收的整合處理后的語音幀發(fā)生丟包時,將第二語音幀輸出。
      [0083]優(yōu)選地,在步驟SI 106中,對分離后的第一語音幀和第二語音幀分別進(jìn)行解碼處理,并將經(jīng)過解碼處理后的第一語音幀輸出;或者,在上一次接收的整合處理后的語音幀發(fā)生丟包時,將第二語音幀輸出可以包括以下步驟:
      [0084]步驟S4:對第一語音幀進(jìn)行解碼處理;
      [0085]步驟S5:對第二語音幀進(jìn)行解碼處理;
      [0086]步驟S6:檢測經(jīng)過當(dāng)前解碼處理后的第一語音幀與經(jīng)過上一次解碼處理后的第一語音幀是否連續(xù);
      [0087]步驟S7:在檢測單元輸出為是時,將經(jīng)過當(dāng)前解碼處理后的第一語音幀輸出;或者,在檢測單元輸出為否時,切換至將經(jīng)過當(dāng)前解碼處理后的第二語音幀輸出。
      [0088]優(yōu)選地,在步驟S7,切換至將經(jīng)過當(dāng)前解碼處理后的第二語音幀輸出之后,還可以包括以下處理:在輸出的第二語音幀為一個或多個靜音幀時,切換至將經(jīng)過當(dāng)前解碼處理后的第一語音巾貞輸出。
      [0089]優(yōu)選地,在步驟SI 106中,對分離后的第一語音幀和第二語音幀分別進(jìn)行解碼處理,并將經(jīng)過解碼處理后的第一語音幀輸出;或者,在上一次接收的整合處理后的語音幀發(fā)生丟包時,將第二語音幀輸出還可以包括以下操作:將經(jīng)過解碼處理后的第二語音幀與上一次輸出的語音幀進(jìn)行平滑處理。
      [0090]下面結(jié)合圖12所示的優(yōu)選實施例對上述優(yōu)選實施過程做進(jìn)一步的描述。
      [0091]圖12是根據(jù)本發(fā)明優(yōu)選實施例的語音幀的接收方法的流程圖。如圖12所示,該方法可以包括以下步驟:
      [0092]步驟S1202:從抗抖動緩沖器獲取一個RTP包;
      [0093]步驟S1204:根據(jù)前一次獲取的RTP序號檢查是否有丟包,如果有丟包,則繼續(xù)執(zhí)行步驟S1206 ;否則,轉(zhuǎn)到步驟S1208 ;
      [0094]步驟S1206:通知主次解碼器有丟包,進(jìn)行丟包補償處理;
      [0095]步驟S1208:進(jìn)行RTP包負(fù)載解析,并分離出主次編碼數(shù)據(jù);
      [0096]步驟S1210:對主編碼數(shù)據(jù)進(jìn)行解碼;
      [0097]步驟S1212:緩存主解碼數(shù)據(jù);
      [0098]步驟S1214:對次編碼數(shù)據(jù)進(jìn)行解碼;
      [0099]步驟S1216:判斷主解碼數(shù)據(jù)采樣率和次解碼是否一致,如果是,則繼續(xù)執(zhí)行步驟S1218 ;否則,轉(zhuǎn)到步驟S1220 ;
      [0100]步驟S1218:將次解碼數(shù)據(jù)采樣率轉(zhuǎn)化為主解碼數(shù)據(jù)的采樣率;
      [0101]步驟S1220:緩存次解碼數(shù)據(jù);
      [0102]步驟S1222:判斷當(dāng)前播放狀態(tài)是否為播放主解碼數(shù)據(jù),如果是,則繼續(xù)執(zhí)行步驟S1224 ;否則,轉(zhuǎn)到步驟S1232 ;
      [0103]步驟S1224:判斷當(dāng)前是否有丟包,如果是,則繼續(xù)執(zhí)行步驟S1226 ;否則,轉(zhuǎn)到步驟 S1240 ;
      [0104]步驟S1226:將次解碼數(shù)據(jù)和前一次輸入到播放緩存的數(shù)據(jù)進(jìn)行平滑處理。雖然在發(fā)送端主次編碼數(shù)據(jù)在時間上是同步的,但各自還原出的語音幀在相位及幅度上都可能會有差別,因此需要平滑處理;
      [0105]步驟S1228:將播放狀態(tài)切換至播放次解碼數(shù)據(jù);
      [0106]步驟S1230:將次解碼數(shù)據(jù)輸入至播放緩存播放,流程結(jié)束;
      [0107]步驟S1232:將次解碼數(shù)據(jù)進(jìn)行靜音檢測;
      [0108]步驟S1234:判斷次解碼數(shù)據(jù)為靜音幀或連續(xù)靜音幀,如果是,則繼續(xù)執(zhí)行步驟S1236 ;否則,轉(zhuǎn)到步驟S1230 ;
      [0109]步驟S1236:將主解碼數(shù)據(jù)和前一次輸入到播放緩存的數(shù)據(jù)進(jìn)行平滑處理;
      [0110]步驟S1238:將播放狀態(tài)切換至播放主解碼數(shù)據(jù);[0111]步驟S1240:將主解碼數(shù)據(jù)輸入至播放緩存播放,流程結(jié)束,退出。
      [0112]從以上的描述中,可以看出,上述實施例實現(xiàn)了如下技術(shù)效果(需要說明的是這些效果是某些優(yōu)選實施例可以達(dá)到的效果):本發(fā)明充分考慮了主次編碼算法延時,結(jié)合平滑拼接,以及算法切換的綜合技術(shù),達(dá)到了超強抗丟包能力,從而提升實時多媒體通信業(yè)務(wù)的用戶體驗。
      [0113]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
      [0114]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      【權(quán)利要求】
      1.一種語音幀的發(fā)送裝置,其特征在于,包括:計算模塊,用于根據(jù)第一預(yù)設(shè)編碼算法的第一編碼延時和第二預(yù)設(shè)編碼算法的第二編碼延時分別計算出所述第一預(yù)設(shè)編碼算法和所述第二預(yù)設(shè)編碼算法的編碼同步的起始位置;編碼模塊,用于按照計算出的所述起始位置分別采用所述第一預(yù)設(shè)編碼算法和第二預(yù)設(shè)編碼算法對采集到的語音幀進(jìn)行編碼處理;發(fā)送模塊,用于將采用所述第一預(yù)設(shè)編碼算法編碼處理后的所述采集到的語音幀中當(dāng)前語音幀和采用所述第二預(yù)設(shè)編碼算法編碼處理后的所述采集到的語音幀中上一個語音幀進(jìn)行整合處理并發(fā)送。
      2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述計算模塊包括:獲取單元,用于分別獲取所述第一編碼延時和所述第二編碼延時;計算單元,用于根據(jù)所述第一編碼延時和所述第二編碼延時計算延時差;填充單元,用于將所述第一編碼延時和所述第二編碼延時進(jìn)行比較,在采用編碼延時較小的預(yù)設(shè)編碼算法對所述采集到語音幀進(jìn)行編碼處理之前,在所述采集到語音幀前填充長度為所述延時差的靜音數(shù)據(jù)。
      3.一種語音幀的接收裝置,其特征在于,包括:接收模塊,用于接收整合處理后的語音幀,其中,所述整合處理后的語音幀包括:從第一預(yù)設(shè)編碼算法的編碼同步的起始位置采用所述第一預(yù)設(shè)編碼算法編碼處理后的第一語音幀和從第二預(yù)設(shè)編碼算法的編碼同步的起始位置采用所述第二預(yù)設(shè)編碼算法編碼處理后的第二語音幀,所述第二語音幀為`所述第一語音幀的前一個語音幀;解析模塊,用于對所述整合處理后的語音幀進(jìn)行解析處理,將所述第一語音幀和所述第二語音幀進(jìn)行分離;輸出模塊,用于對分離后的所述第一語音幀和所述第二語音幀分別進(jìn)行解碼處理,并將經(jīng)過解碼處理后的所述第一語音幀輸出;或者,在上一次接收的所述整合處理后的語音幀發(fā)生丟包時,將所述第二語音幀輸出。
      4.根據(jù)權(quán)利要求3所述的裝置,其特征在于,所述輸出模塊包括:第一解碼單元,用于對所述第一語音幀進(jìn)行解碼處理;第二解碼單元,用于對所述第二語音幀進(jìn)行解碼處理;檢測單元,用于檢測經(jīng)過當(dāng)前解碼處理后的所述第一語音幀與經(jīng)過上一次解碼處理后的第一語音幀是否連續(xù);切換單元,用于在所述檢測單元輸出為是時,將經(jīng)過所述當(dāng)前解碼處理后的所述第一語音幀輸出;或者,在所述檢測單元輸出為否時,切換至將經(jīng)過所述當(dāng)前解碼處理后的所述第二語音幀輸出。
      5.根據(jù)權(quán)利要求4所述的裝置,其特征在于,所述切換單元,還用于在輸出的所述第二語音幀為一個或多個靜音幀時,切換至將經(jīng)過所述當(dāng)前解碼處理后的所述第一語音幀輸出。
      6.根據(jù)權(quán)利要求3至5中任一項所述的裝置,其特征在于,所述輸出模塊還包括:平滑處理單元,用于將經(jīng)過解碼處理后的所述第二語音幀與上一次輸出的語音幀進(jìn)行平滑處理。
      7.—種語音幀的發(fā)送方法,其特征在于,包括:根據(jù)第一預(yù)設(shè)編碼算法的第一編碼延時和第二預(yù)設(shè)編碼算法的第二編碼延時分別計算出所述第一預(yù)設(shè)編碼算法和所述第二預(yù)設(shè)編碼算法的編碼同步的起始位置;按照計算出的所述起始位置分別采用所述第一預(yù)設(shè)編碼算法和第二預(yù)設(shè)編碼算法對 采集到的語音幀進(jìn)行編碼處理;將采用所述第一預(yù)設(shè)編碼算法編碼處理后的所述采集到的語音幀中當(dāng)前語音幀和采用所述第二預(yù)設(shè)編碼算法編碼處理后的所述采集到的語音幀中上一個語音幀進(jìn)行整合處理并發(fā)送。
      8.根據(jù)權(quán)利要求7所述的方法,其特征在于,根據(jù)所述第一預(yù)設(shè)編碼算法的第一編碼延時和所述第二預(yù)設(shè)編碼算法的第二編碼延時分別計算出所述第一預(yù)設(shè)編碼算法和第二預(yù)設(shè)編碼算法的所述編碼同步的起始位置包括:分別獲取所述第一編碼延時和所述第二編碼延時;根據(jù)所述第一編碼延時和所述第二編碼延時計算延時差;將所述第一編碼延時和所述第二編碼延時進(jìn)行比較,在采用編碼延時較小的預(yù)設(shè)編碼算法對所述采集到語音幀進(jìn)行編碼處理之前,在所述采集到語音幀前填充長度為所述延時差的靜音數(shù)據(jù)。
      9.一種語音幀的接收方法,其特征在于,包括:接收整合處理后的語音幀,其中,所述整合處理后的語音幀包括:從第一預(yù)設(shè)編碼算法的編碼同步的起始位置采用所述第一預(yù)設(shè)編碼算法編碼處理后的第一語音幀和從第二預(yù)設(shè)編碼算法的編碼同步的起始位置采用所述第二預(yù)設(shè)編碼算法編碼處理后的第二語音幀,所述第二語音幀為所述第一語音幀的前一個語音幀;對所述整合處理后的語音幀進(jìn)行解析處理,將所述第一語音幀和所述第二語音幀進(jìn)行分離;對分離后的所述第一語音幀和所述第二語音幀分別進(jìn)行解碼處理,并將經(jīng)過解碼處理后的所述第一語音幀輸出;或者,在上一次接收的所述整合處理后的語音幀發(fā)生丟包時,將所述第二語音幀輸出。
      10.根據(jù)權(quán)利要求9所述的方法,其特征在于,對分離后的所述第一語音幀和所述第二語音幀分別進(jìn)行解碼處理,并將經(jīng)過解碼處理后的所述第一語音幀輸出;或者,在上一次接收的所述整合處理后的語音幀發(fā)生丟包時,將所述第二語音幀輸出包括:對所述第一語音幀進(jìn)行解碼處理;對所述第二語音幀進(jìn)行解碼處理;檢測經(jīng)過當(dāng)前解碼處理后的所述第一語音幀與經(jīng)過上一次解碼處理后的第一語音幀是否連續(xù);在所述檢測單元輸出為是時,將經(jīng)過所述當(dāng)前解碼處理后的所述第一語音幀輸出;或者,在所述檢測單元輸出為否時,切換至將經(jīng)過所述當(dāng)前解碼處理后的所述第二語音幀輸出。
      11.根據(jù)權(quán)利要求10所述的方法,其特征在于,在切換至將經(jīng)過所述當(dāng)前解碼處理后的所述第二語音幀輸出之后,還包括:在輸出的所述第二語音幀為一個或多個靜音幀時,切換至將經(jīng)過所述當(dāng)前解碼處理后的所述第一語音幀輸出。
      12.根據(jù)權(quán)利要求9至11中任一項所述的方法,其特征在于,對分離后的所述第一語音幀和所述第二語音幀分別進(jìn)行解碼處理,并將經(jīng)過解碼處理后的所述第一語音幀輸出;或者,在上一次接收的所述整合處理后的語音幀發(fā)生丟包時,將所述第二語音幀輸出還包括:將經(jīng)過解碼處理后的所述第二語音幀與上一次輸出的語音幀進(jìn)行平滑處理。
      【文檔編號】H04L1/00GK103516469SQ201210210328
      【公開日】2014年1月15日 申請日期:2012年6月25日 優(yōu)先權(quán)日:2012年6月25日
      【發(fā)明者】嚴(yán)成安, 李加周, 阮亞平, 包樂輝 申請人:中興通訊股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1