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

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
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>
            久久久久久夜| 99国内精品| 欧美在线地址| 久久婷婷亚洲| 亚洲人成网在线播放| 日韩系列在线| 欧美亚洲免费电影| 亚洲黄色大片| 性18欧美另类| 欧美日韩不卡合集视频| 国产亚洲精品久久久| 99精品国产在热久久| 一本久道久久综合中文字幕| 欧美成人三级在线| 国产亚洲一区二区在线观看| 另类亚洲自拍| 欧美一区午夜精品| 国产精品国产三级国产aⅴ浪潮| 韩国精品在线观看| 亚洲欧美激情视频| 91久久国产自产拍夜夜嗨| 久久国产精品72免费观看| 国产精品嫩草99av在线| 中文久久乱码一区二区| 亚洲成人在线免费| 玖玖玖国产精品| 欧美高清视频一区| 亚洲福利国产| 久久日韩粉嫩一区二区三区| 亚洲一级在线观看| 欧美视频中文字幕在线| 夜夜嗨av一区二区三区中文字幕 | 噜噜噜躁狠狠躁狠狠精品视频 | 欧美午夜精品久久久久久浪潮 | 亚洲淫性视频| 亚洲国产高清自拍| 久久久久久日产精品| 一区二区三区日韩| 一区二区激情| 最新日韩中文字幕| 欧美福利小视频| 美女视频黄免费的久久| 欧美影院一区| 国产精品久久久久久模特| 欧美激情在线播放| 欧美精品福利视频| 亚洲一区二区三区四区中文| 中文亚洲免费| 国产欧美日韩亚洲精品| 亚洲欧美综合精品久久成人 | 欧美国产三级| 黄色精品网站| 欧美在线三区| 久久成人免费网| 久久久久久久精| 久久精品成人欧美大片古装| 久久一区二区三区四区| 日韩一级免费观看| 男人的天堂亚洲| 国产精品99久久久久久久久| 欧美成人激情视频免费观看| 欧美成人dvd在线视频| 欧美日韩免费视频| 久久精品亚洲| 国产偷自视频区视频一区二区| 乱码第一页成人| 国内精品模特av私拍在线观看| 亚洲国产精品第一区二区三区| 精品51国产黑色丝袜高跟鞋| 亚洲黄色一区| 日韩香蕉视频| 欧美性事在线| 亚洲欧美激情一区| 亚洲精品在线二区| 欧美在线视频一区| 久久米奇亚洲| 亚洲日本无吗高清不卡| 亚洲欧美日韩精品综合在线观看| 亚洲第一页自拍| 亚洲在线一区二区| 亚洲精品网站在线播放gif| 欧美成人国产va精品日本一级| 亚洲国产精品传媒在线观看 | 在线国产精品播放| 欧美美女bbbb| 欧美成人在线影院| 亚洲理伦在线| 国产精品老牛| 久久资源av| 久久资源在线| 日韩一区二区免费看| 国产精品美女久久久久aⅴ国产馆| 亚洲欧美日韩国产综合| 欧美成人性网| 另类天堂av| 久久精品国产96久久久香蕉| 国产欧美大片| 欧美国产日本在线| 亚洲永久精品大片| 亚洲国产乱码最新视频| 亚洲欧美在线视频观看| 一区二区亚洲欧洲国产日韩| 欧美精品 国产精品| 欧美一区二区福利在线| 午夜视频久久久久久| 在线观看一区| 国产精品少妇自拍| 亚洲字幕一区二区| 亚洲第一福利在线观看| 午夜国产精品影院在线观看| 亚洲激情一区二区| 欧美激情欧美狂野欧美精品| 亚洲欧美一区二区精品久久久| 亚洲国产精品成人综合色在线婷婷| 先锋影音国产精品| 中日韩视频在线观看| 亚洲电影第1页| 国产视频亚洲精品| 欧美三区美女| 欧美激情精品久久久久久黑人| 欧美亚洲日本国产| 中文精品视频一区二区在线观看| 欧美高清视频一二三区| 久久久天天操| 久久国产精品久久久久久久久久 | 最近看过的日韩成人| 狠狠色香婷婷久久亚洲精品| 国产精品乱看| 欧美性理论片在线观看片免费| 欧美精品91| 欧美高潮视频| 欧美国产在线电影| 欧美sm重口味系列视频在线观看| 久久九九国产精品怡红院| 欧美国产在线观看| 欧美不卡视频一区发布| 久久综合九色综合欧美狠狠| 久久精品首页| 久久五月天婷婷| 女女同性女同一区二区三区91| 久久乐国产精品| 米奇777超碰欧美日韩亚洲| 亚洲精品一区中文| 99ri日韩精品视频| 一区二区日韩免费看| 亚洲一区中文| 欧美一区二区三区在线| 久久精品一区二区三区不卡牛牛| 91久久国产自产拍夜夜嗨| 亚洲国产精品一区二区久| 亚洲国产精品成人综合色在线婷婷| 一区在线电影| 亚洲精品欧美精品| 亚洲午夜激情| 久久成人羞羞网站| 免费欧美网站| 亚洲精品日韩综合观看成人91| 久久久91精品国产| 老司机一区二区| 亚洲欧洲另类| 亚洲一区视频在线| 久久中文久久字幕| 欧美午夜精品久久久久久久| 国产日韩欧美一区在线 | 欧美午夜精品久久久久久孕妇| 国产精品卡一卡二卡三| 韩国av一区二区三区四区| 亚洲国产天堂久久国产91| 亚洲午夜精品久久久久久浪潮| 久久电影一区| 欧美xx视频| 最新国产精品拍自在线播放| 亚洲国产精品嫩草影院| 一本一本久久| 欧美影院成年免费版| 欧美黄色片免费观看| 亚洲视频电影在线| 老司机久久99久久精品播放免费| 欧美日韩国产综合新一区| 国内视频精品| 亚洲资源在线观看| 亚洲国产精品va在看黑人| 亚洲免费中文| 欧美日韩国产精品| 亚洲成人自拍视频| 翔田千里一区二区| 亚洲人精品午夜| 久久久久国产精品人| 国产精品va在线| 亚洲精选成人| 麻豆成人在线观看| 亚洲在线一区二区| 欧美日韩国产精品自在自线| 国语对白精品一区二区| 亚洲欧美在线另类| 日韩一二三区视频| 亚洲国产精品女人久久久| 午夜伦欧美伦电影理论片| 欧美日本韩国一区二区三区| 在线观看视频欧美|