日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【转】深入剖析iLBC的丢包补偿技术(PLC)

發(fā)布時(shí)間:2025/3/21 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】深入剖析iLBC的丢包补偿技术(PLC) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? ?丟包補(bǔ)償技術(shù)(Packet?Loss?Concealment——PLC)是iLBC?Codec中非常重要的一項(xiàng)技術(shù),更是VOIP?Codec應(yīng)用中不可缺少的組成部分。iLBC的PLC只是在解碼端進(jìn)行封包補(bǔ)償處理。在解碼端根據(jù)收到的bitstream逐幀進(jìn)行解碼的過(guò)程中,iLBC?decoder首先拿到每幀的?bitstream?要判斷當(dāng)前幀是否完整,如果沒(méi)有問(wèn)題則按照正常的iLBC?解碼流程重建語(yǔ)音信號(hào),見(jiàn)《深入剖析iLBC?解碼器原理》;如果發(fā)生了語(yǔ)音封包丟失,那么就進(jìn)入PLC單元進(jìn)行處理。PLC主要根據(jù)前一幀的解碼信息,利用基音同步重復(fù)的方法近似替代當(dāng)前的丟失幀,以達(dá)到丟包補(bǔ)償。?

?

一、PLC?unit?的幾種情形

?

1、過(guò)去幀、當(dāng)前幀都接收正確

??????進(jìn)入正常的iLBC?decoder解碼流程,需要保存當(dāng)前幀的狀態(tài)信息,這些狀態(tài)信息包括LPC信息、解碼后的殘差信號(hào)等。如果下一幀的比特率丟失的話,就要用到這些保存的信息。

?

2、僅當(dāng)幀發(fā)生丟包

??????如果當(dāng)前幀沒(méi)有丟失,那么進(jìn)入PLC?unit重建LPC系數(shù)和殘差信號(hào)。后面會(huì)詳細(xì)介紹LPC和殘差信號(hào)的補(bǔ)償方法。?

?

3、連續(xù)多幀發(fā)生丟包

?????如果發(fā)生連續(xù)多幀丟包,那么就需要多次進(jìn)入PLC?unit,并且需要利用經(jīng)過(guò)補(bǔ)償?shù)膸瑺顟B(tài)信息。值得注意的是,越靠后面丟失的幀越難以精確的重建,所以對(duì)連續(xù)丟包的增益采用逐幀遞減,以避免引入更大的信號(hào)失真。?

?

4、過(guò)去幀經(jīng)過(guò)PLC處理,需要與當(dāng)前幀平滑處理

?????為了使經(jīng)過(guò)PLC補(bǔ)償?shù)膸c接下來(lái)沒(méi)有丟包的幀保持語(yǔ)音連續(xù)而需要進(jìn)行平滑,主要根據(jù)前后幀的相關(guān)性處理。?

?

二、PLC重建LPC系數(shù)

??????iLBC?的PLC對(duì)于丟失LPC的補(bǔ)償是采用了過(guò)去幀的最后一個(gè)子幀的LPC系數(shù)來(lái)簡(jiǎn)單的重建。這個(gè)方法是顯然的,因?yàn)闊o(wú)論從空間上還是時(shí)間上最后一個(gè)子幀都與當(dāng)前丟失的LPC具有最大相關(guān)性。但是這種簡(jiǎn)單的復(fù)制當(dāng)處理連續(xù)多幀時(shí)也顯然會(huì)引入更大的失真。

?

三、PLC重建殘差信號(hào)

??????激勵(lì)信號(hào)(殘差信號(hào))通常可以分為兩部分組成:準(zhǔn)周期成分和類噪聲成分。因此PLC實(shí)際上首先需要重建這兩個(gè)部分,準(zhǔn)周期成分可以根據(jù)測(cè)量前一幀的基音周期來(lái)近似得到,類噪聲成分則可以通過(guò)產(chǎn)生隨機(jī)噪聲得到,二者的能量比例也可以借鑒前一幀的比例關(guān)系。所以首先要對(duì)前一幀進(jìn)行基音檢測(cè),然后以基音同步的方式重建丟失幀的話音部分,然后利用相關(guān)性得到類噪聲的增益,最后進(jìn)行混合以重建整個(gè)殘差信號(hào)。

??????在連續(xù)丟幀的情況下,為了減少各個(gè)補(bǔ)償幀之間的相關(guān)性,會(huì)將能量進(jìn)行逐幀遞減,但依然會(huì)產(chǎn)生一定的聽(tīng)覺(jué)噪聲。如果采用內(nèi)插的方法,雖然可能音質(zhì)會(huì)好些,但是卻會(huì)引入更大的延時(shí)。

?

四、iLBC?PLC的缺點(diǎn)

?

??????在連續(xù)丟幀的情況下,PLC所補(bǔ)償?shù)母鱾€(gè)語(yǔ)音幀具有相同的頻譜特性(相同的LPC造成)和基音頻率,非常容易引入一種可察覺(jué)的噪聲,尤其是當(dāng)基音頻率較高的時(shí)候,這種因?yàn)檫^(guò)分的周期性所引起的。通過(guò)適當(dāng)?shù)膬?nèi)插可以緩解這一問(wèn)題,但往往引入更大的延時(shí)。

?

參考資料:

1、IETF:RFC3951.txt

2、潘搏勝《iLBC解碼程序進(jìn)階處理之研究》

轉(zhuǎn)載于:https://www.cnblogs.com/tkppain/archive/2013/06/07/3123387.html

總結(jié)

以上是生活随笔為你收集整理的【转】深入剖析iLBC的丢包补偿技术(PLC)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。