青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

深入剖析 iLBC 編碼器原理

轉載自:http://blog.csdn.net/wanggp_2007/article/details/5114309

      早在2005年就聽說iLBC編解碼算法,主要是應用在VOIP 的speech codec,但是一直沒有深入研究算法原理,碰巧近期有一些時間可以學習一下它相比基于CELP模型的speech codec的優勢。這套代碼是浮點的,聽朋友說要是轉成定點代碼會比較有用,只是可能需要的時間會多一點。如果想了解iLBC的一般介紹,如編碼速率、應用等,可以參考前面的文章《iLBC編解碼相關知識》 ,下面主要是我的一些學習筆記,僅供大家參考。

 

 一、算法整體流程

 

 

      輸入的語音逐幀進行預處理,然后計算LPC系數和殘差信號,在殘差信號中選擇初始狀態,并對其進行標量量化,再對剩下的殘差信號進行增益/形狀矢量量化,最后封包成比特流。

      iLBC的每frame/block保持獨立編碼,這樣才能保證在丟包的情況下,保持良好的重建語音質量;而CELP模型的codec往往都需要look head buffer 才能對當前幀進行編碼,這樣雖然可以使重建語音連接比較平滑,但是在網絡傳輸中一旦發生丟包,則連續性遭到破壞,解碼語音的質量就會下降。

      在iLBC的編碼流程中有三個模塊Select Start state、Scalar quantization和CB Search是與CELP模型不同的,下面重點研究這三個模塊。

1、起始狀態(Start State)

     這個概念是iLBC所特有的處理方式,下面以30ms frame mode為例,那么每個frame有6個sub-frame。iLBC在計算完LPC殘差信號后,會找出整個幀內具有最高功率的兩個連續子幀,來決定起始狀態的位置。下圖給出了start state 在兩個子幀的位置。

 

 

2、對起始狀態樣點的量化

      這里并不對兩個子幀的全部sample進行精細量化,只是對從起始狀態位置以后的57/58 sample(20ms/30ms frame mode)進行精細量化,所以這57/58 sample的量化需要三個部分:

1)子幀位置;

     是指哪兩個子幀,如 sub-frame 0,1; 1,2; 2,3; 3,4; 4,5

     3bit 量化這五種情況。

2)兩個子幀內的前半部分還是后半部分;

     1bit 表示 state_first;

3)57/58 sample的標量量化。

     這里首先要進行全通濾波,使得樣點大小比較平均分布,然后進行能量的歸一化,這個scaler factor用6bit標量量化,歸一化后的樣點動態范圍就比較小了,然后對每一個樣點都采用3bit 的DPCM量化。

 

3、碼書搜索

     這部分是指起始狀態量化后,整個frame剩余的樣點量化方法。這里主要采用了動態碼書的量化方法,碼書是由整個frame的樣點通過線性組合(加權濾波)和已經量化樣點的解碼信號組成,具體的流程見圖3。

 

 

     上圖首先解碼已經量化的Start state,然后構建codebook memory,結合目標矢量進行感知加權濾波,在Codebook內部搜索與目標矢量最接近的矢量,這里采用三階段的增益/形狀矢量量化的方法進行搜索量化,最后調整增益以補償能量損失。這里主要的重點還是碼書的組成、大小以及量化順序、搜索過程。

 

     例如,圖4給出了一個30ms 幀的量化順序,這里有6個子幀,假設Start state是在1、2子幀之間,并且位置在兩個子幀后半部分,那么進行量化的順序如下:

1)Q0:量化Start State;

2)Q1:兩個子幀內除了start state的22/23個樣點;

3)Q2,Q3,Q4:Start state的后面每個子幀;

4)Q5:Start state的前面每個子幀;

 

 

 

     到這里可以知道,目標矢量包括兩種長度不同的矢量(除了start state):22/23個樣點的矢量和40個樣點的子幀矢量,下表給出了對于不同矢量的碼書大小。 

 

 

 

    下圖具體給出了量化目標矢量時動態碼書的構造,需要注意的有以下幾點:

1)不同的目標矢量(22/23、子幀40)對應的碼書大小不同,具體數據見參考資料;

2)量化Start State前向的矢量需要對碼書進行反轉,再進行搜索,如對Q1、Q5進行量化;

3)動態碼書的構成是解碼的已量化樣點而不是原來的經過感知加權的殘差信號;

4)碼書通過補零長度對齊;

 

 

 

 

     增益/形狀矢量量化屬于乘積碼矢量量化中的一種方法,它的基本思想就是將待量化的矢量的形狀和增益分別量化,同時保持它們之間的有機聯系,最后將碼字相乘就可以得到重構矢量。這種量化方法可以實現高維數的矢量量化,以提高系統的性能。

 

     下表給出了iLBC編碼器的比特流定義,值得注意的是在封包前每個參數的bit是分成三個級別的,1表示最重要,2比較重要,3一般重要,因此封包是按照級別處理的,如圖先處理級別1,然后級別2,最后級別3,這樣提高了抗干擾性: 

 

 

二、總結

      與傳統的CELP模型的speech codec有較大不同,精髓在于幀內的獨立編碼,同時也利用了長時預測編碼(LPC)去除冗余信息和語音信號本身準周期性的特征構造動態碼書。與CELP模型codec相比,在丟包率較高的網絡情況下,語音質量不會下降很快。對于解碼端的丟包補償算法(packet loss concealment)現在還沒有看到,這個技術應該也是iLBC的一個特點。

 

 

本文并沒有列出詳細的數據和語音質量評測,那些都可以在下面得參考資料找到。

 

參考資料:

 《rfc3951.txt》

 

一家之言,歡迎討論交流!


posted on 2012-11-23 12:00 楊粼波 閱讀(1387) 評論(2)  編輯 收藏 引用 所屬分類: 文章收藏

評論

# re: 深入剖析 iLBC 編碼器原理 2016-03-16 16:48 shanyongpeng

占樓  回復  更多評論   

# re: 深入剖析 iLBC 編碼器原理 2016-03-16 16:50 shanyongpeng

博主您好,關于iLBC編碼中的擴展碼本的sInd和eInd您是怎么理解的,能說說嗎  回復  更多評論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲最新视频在线| 亚洲免费在线| 欧美经典一区二区| 久久偷看各类wc女厕嘘嘘偷窃| 欧美在线一二三四区| 欧美在线首页| 欧美一级片在线播放| 午夜国产一区| 久久精品免视看| 久久久久欧美精品| 欧美黑人一区二区三区| 欧美日韩视频| 国产精品色午夜在线观看| 国产精品免费在线| 激情久久久久久久| 亚洲区一区二| 亚洲制服av| 久久九九99视频| 欧美成人有码| av成人免费观看| 欧美一区二区三区在线观看视频| 久久精品国产999大香线蕉| 老司机aⅴ在线精品导航| 欧美精品观看| 国产亚洲观看| 日韩西西人体444www| 香蕉国产精品偷在线观看不卡| 久久免费精品视频| 亚洲精品在线免费| 欧美一级电影久久| 欧美激情1区2区| 国产免费成人av| 亚洲片在线观看| 久久国产精彩视频| 亚洲激情在线| 欧美一区二区三区视频| 欧美精品亚洲| 精品动漫3d一区二区三区免费版| 99热免费精品| 美女黄毛**国产精品啪啪 | 午夜亚洲福利在线老司机| 久久蜜桃香蕉精品一区二区三区| 亚洲精品中文字幕有码专区| 久久成人国产精品| 欧美视频你懂的| 91久久久久久国产精品| 久久av一区| 一区二区三区四区精品| 欧美va天堂在线| 国外视频精品毛片| 亚洲欧美怡红院| 亚洲日本激情| 媚黑女一区二区| 午夜精品理论片| 亚洲精品男同| 久久精品欧美日韩| 一区二区三区高清在线观看| 欧美精品videossex性护士| 狠狠噜噜久久| 久久九九精品99国产精品| 亚洲小说春色综合另类电影| 欧美啪啪一区| 一区二区三区四区国产| 亚洲国产成人午夜在线一区| 久久久精品国产免大香伊 | 久久九九免费视频| 亚洲系列中文字幕| 国产精品女同互慰在线看| 亚洲在线成人| 亚洲午夜一区二区| 国产精品美女诱惑| 欧美一区久久| 久久av红桃一区二区小说| 国模吧视频一区| 老司机一区二区三区| 久久久久久亚洲精品不卡4k岛国| 一区二区三区亚洲| 欧美大色视频| 欧美精品二区| 亚洲一区综合| 亚洲欧美自拍偷拍| 伊人伊人伊人久久| 欧美高清视频www夜色资源网| 久久综合久久美利坚合众国| 亚洲人成人一区二区三区| 亚洲国产欧美一区二区三区同亚洲 | 亚洲精品免费看| 国产精品福利在线| 欧美伊久线香蕉线新在线| 久久福利视频导航| 在线国产精品播放| 99国产精品99久久久久久| 国产日产精品一区二区三区四区的观看方式 | 免费在线观看精品| 日韩午夜剧场| 午夜精品国产| 91久久精品一区二区别| 99精品视频免费观看| 国产一区二区丝袜高跟鞋图片| 欧美成人免费小视频| 激情丁香综合| 亚洲第一狼人社区| 国产精品久久国产精麻豆99网站| 久久精品国产免费| 欧美成人综合一区| 欧美专区亚洲专区| 欧美精品七区| 久久综合色天天久久综合图片| 欧美日韩不卡一区| 米奇777超碰欧美日韩亚洲| 欧美日韩另类一区| 免费一级欧美在线大片| 国产精品黄视频| 亚洲激情六月丁香| 国产一区二区三区久久 | 午夜精品成人在线| 日韩视频亚洲视频| 午夜日韩电影| 亚洲欧美电影在线观看| 欧美不卡在线| 美女91精品| 国产在线观看精品一区二区三区| 一卡二卡3卡四卡高清精品视频| 亚洲国产日韩一区二区| 欧美一二三视频| 亚洲一二三区视频在线观看| 免费在线亚洲欧美| 久久一区二区三区四区| 国产精品美女在线观看| 99精品欧美| 一区二区三区.www| 欧美另类一区二区三区| 欧美高清在线视频| 伊人久久大香线蕉综合热线| 欧美在线免费看| 久久av一区二区| 国产日本欧美视频| 亚洲欧美日韩国产另类专区| 亚洲一区视频在线观看视频| 欧美精品一区在线观看| 亚洲电影免费观看高清完整版在线观看 | 亚洲日本无吗高清不卡| 亚洲激情视频| 欧美mv日韩mv国产网站| 欧美国产日韩在线| 亚洲人成网站777色婷婷| 美女爽到呻吟久久久久| 欧美成人亚洲| 亚洲激情成人网| 欧美激情精品久久久久久久变态 | 亚洲经典自拍| 欧美77777| 久久精品观看| 久久久久国产精品午夜一区| 国产精品人人爽人人做我的可爱| 夜夜狂射影院欧美极品| 亚洲影视在线播放| 国产精品久久久久99| 亚洲在线日韩| 久久精品91| 亚洲国产精品va在线看黑人动漫| 久久综合一区二区三区| 亚洲国产精品一区二区三区| 9国产精品视频| 国产精品呻吟| 久久精品最新地址| 亚洲成人资源网| 夜夜嗨av一区二区三区网页| 国产精品毛片大码女人| 久久99在线观看| 亚洲精品护士| 欧美在线免费视屏| 亚洲国内在线| 国产精品久久久久毛片大屁完整版 | 亚洲国产毛片完整版| 欧美日韩另类丝袜其他| 亚洲男女毛片无遮挡| 女人香蕉久久**毛片精品| 在线亚洲精品| 国产视频精品xxxx| 欧美韩国日本一区| 香蕉久久夜色精品| 亚洲人成绝费网站色www| 欧美一区二区日韩| 日韩香蕉视频| 好看不卡的中文字幕| 欧美日韩国产首页| 久久精品99国产精品酒店日本| 亚洲日本电影在线| 久久久91精品国产一区二区三区 | 久久久久久成人| 一本色道88久久加勒比精品| 麻豆成人在线播放| 午夜在线成人av| 日韩网站在线观看| 精品91免费| 国产一区二区三区在线免费观看 | 欧美日韩人人澡狠狠躁视频| 久久嫩草精品久久久久| 亚洲一区在线观看免费观看电影高清|