娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年05月08日(星期四)

2018年05月08日 | 音頻的編解碼簡述及其優化方法

發布者:喜從中來 來源: 互聯網關鍵字:3GPP  Codec 手機看文章 掃描二維碼
隨時隨地手機看文章

音頻的編解碼(codec)根據應用場景的不同主要由幾大技術組織制定,分別是ITU-T、3GPP、MPEG。當然也有一些公司或者公司的聯合體等制定,如微軟的WMA。他們不僅制定了codec的規范,同時還提供軟件實現的reference code,這樣便于普及制定的codec的使用。本文先談談這些codec,然后講怎么樣根據reference code去優化codec(主要是減少CPU load)。


1、codec 規范


1)ITU-T


ITU-T制定的是有線語音的codec標準,即G系列,主要有G.711、G.722、G.726、G.728、G.729等。采樣率窄帶是8KHz,寬帶是16KHz。碼率從64kbps到8kbps不等。


2)3GPP


3GPP制定的是移動語音的codec標準,主要是AMR(adapTIve mulTI-rate,自適應多碼率)系列等,能根據網絡狀況自適應的調整碼率。采樣率窄帶是8KHz,寬帶是16KHz。近年來為了應對互聯網的競爭(互聯網公司提出了涵蓋語音和音樂的OPUS codec),3GPP出臺了EVS(enhanced voice service)音頻編解碼規范。EVS也涵蓋了語音和音樂,能在兩者之間靈活切換,支持多種采樣率和碼率。具體如下表。


3)MPEG


MPEG制定的主要是音樂的編解碼規范,主要有MP3、AAC等。MP3大家都很熟悉,是近二十年來聽音樂的最主要的格式,AAC是MP3的繼承者,下一代的最主要的音樂編解碼規范。音樂中采樣率一般是44100HZ,也有的用48000HZ。碼率在一個范圍內,碼率越大,音質越好。


4)公司或公司聯合體


一些公司或者公司聯合體根據需要制定音頻的編解碼規范,比如微軟的WMA,Skype的SILK,GIPS(GIPS在2011年被谷歌收購,谷歌基于GIPS的音視頻解決方案推出了webRTC并開源出來,影響巨大)的ILBC等。還有一個不得不提的就是OPUS,它是由非盈利的Xiph.org 基金會、Skype 和Mozilla 等共同主導開發的,全頻段(8kHZ到48kHZ),支持語音和音樂(語音用SILK, 音樂用CELT),已被IETF接納成為網絡上的聲音編解碼標準(RFC6716)。


我用過的codec從語音到音樂分別有G.711/G.722/G.726/G.728/G.729/AMR-NB/AMR-WB/ILBC/OPUS/MP3/AAC/WMA/APE/Vorbis/ALAC/FLAC等。


2、codec的優化


這里講的優化主要是指CPU load的優化,即優化后運行codec占用更少的CPU,在具體的硬件平臺上運行的更流暢。優化到什么程度算結束這依賴需求而定。如果優化后給所在項目用,就要看項目給你多長時間優化以及項目能接受的優化后的CPU load,一般情況下項目用上優化后的codec后在最復雜的場景下能流暢運行又不影響其他功能就可以了,因為項目上要騰出人手做其他事情,畢竟項目進度和質量是最重要的。如果優化后作為庫賣給客戶用,就要盡量優化到極致,因為這是用戶選擇用哪家公司庫的重要指標,是賣點,這種情況下就會有更多的優化方法和技巧。我做過的優化都是給項目用,沒有作為庫給客戶用,因而技巧不是特別多。


(1)優化前的準備工作


a)通讀一下要優化的codec的代碼,盡量讀懂,即使沒懂也要搞清楚函數是干什么的,這有利于后面優化。


b)準備好profiling工具,profiling工具就是測量運行某個函數花了多少clock。有現成的profiling工具最好,如果沒有就根據具體OS和硬件平臺(ARM/MIPS等)自己做工具。


c)準備好test vector,即測試的音源,一般codec制定的官方會提供,通常是多個vector, 對應于不同的場景。優化的原則是在減少CPU load的同時算法運算結果不被改變,所以在做優化時每優化一些就要用test vector跑一下,看結果有沒有改變,如果改變了,就要退回到上一個版本。我做優化時每天至少保留一個版本,有時兩個或者三個,就是為了出問題時好回溯,盡快查出哪個地方的優化出了問題。


(2)優化步驟與方法


a)將編譯器的優化選項從-o0改為-o3


b)給代碼中那些經常被調用的又短小的函數加上inline


通常情況下做完a,b后load會下來一大截,如同擠泡沫一樣,會擠掉很大一部分。


c)ITU-T或者3GPP的codec reference code中有好多基本運算(加減乘除)的函數,這些函數都寫的特別嚴謹,同時調用的頻次又非常高,因而加大了運算復雜度。這些函數中有些在保證正確的前提下可以簡化(如一些防飽和就可以不要),這樣處理后load會降下來一些。


d)用profiling工具一步步排查看到底哪個函數花的load多,明白這個函數是干什么的,然后具體問題具體分析,看怎么樣來優化。


e)有些函數就是一個小算法,reference code中寫的比較復雜,調用頻次又比較高。要去找有沒有簡單的實現可以替代,有的話替代了load就會降下來一些。比如codec中經常有求平方根的計算,reference code中通常寫的比較復雜。我們知道用牛頓迭代法也可以求平方根,就可以用牛頓迭代法去替換將load降下來。


f)用匯編優化。如果在C級別能解決問題就不要用匯編了。各個處理器都有自己的匯編指令集,需要去學并且掌握其中的思想和技巧。通常是用的頻次較高的又比較占load的函數用匯編去寫,即用C和匯編混合編程。匯編優化花的時間會相對長一些。


當然還有一些小的技巧比如展開for循環、用指針替代數組等,這里就不一一說了。

關鍵字:3GPP  Codec 引用地址:音頻的編解碼簡述及其優化方法

上一篇:Cadence Innovus助力Realtek成功開發DTV SoC解決方案
下一篇:Verizon擬在提供5G服務時推出OTT視頻產品

推薦閱讀

據DigiTimes報道,今年4月,HTC綜合營收為新臺幣20.99億元(7071萬美元)——月營收創下自2004年以來新低,環比下降24.2%,同比下降55.4%。HTC 4月營收同比大跌55.4%今年頭4個月,HTC營收為新臺幣108.9億元,比上年同期下降43.4%。有媒體報道稱,雖然HTC已經開始發售高端Vive Pro虛擬現實頭顯,但這款新產品要在6月份才能對其營收增長產生重大影響。HTC計...
自動駕駛是一片黃金沙漠,經歷泡沫后的理性回歸,2019年,這一領域依舊是汽車行業最火熱的風口之一。在今年上海國際車展上,全球最大的汽車電子及人工智能物聯網芯片公司恩智浦半導體宣布與中國汽車雷達廠商南京隼眼科技簽署投資與戰略合作協議。隼眼科技依托東南大學毫米波重點實驗室,擁有中國在汽車毫米波雷達領域最深厚技術功底和最強工程技術人才,而...
今天vivo首款G系列政企5G商務辦公手機G1正式開售,售價3498元起。外觀方面,vivo G1采用一塊6.44英寸的AMOLED水滴屏幕,分辨率為1080×2400,機身尺寸為161.50 x 74.40 x 8.68mm,重量為181g。配置方面,vivo G1搭載三星Exynos 980芯片,輔以8+128GB的存儲,內置4500毫安時電池,預裝基于Android10深度定制的FuntouchOS10,多功能NFC、Jovi語音助理...
前有蘋果因為30%的商店抽成被起訴,后有微軟宣布將游戲抽成削減至12%,最近一段時間,應用商店抽成這一問題可謂是十足的熱點。全球游戲巨頭Valve也在此時遭殃,因為其高達30%的商店抽成而面臨壟斷訴訟。  據悉,該訴訟來自獨立游戲開發商Wolfire Games,它們認為Valve目前控制著整個PC游戲市場大約75%的份額,而依靠30%的抽成就可以獲得高達6...

史海拾趣

問答坊 | AI 解惑

某一個放大電路在輸入端加入的信號電壓值不變

某一個放大電路在輸入端加入的信號電壓值不變…

查看全部問答∨

能推薦個好的gps模塊嗎

最近要用gps模塊做同步授時,哪位用過給推薦下。天線越小越好…

查看全部問答∨

PCI封裝 規范

各位高手好。 最近在做PCI卡,小弟請教一下您PCI卡的尺寸/規范,以及電路封裝。 謝謝您的幫助。 我的郵箱:wangwei4611@163.com …

查看全部問答∨

evc開發基于對話框的小程序,如何改變菜單的背景顏色?

evc開發基于對話框的小程序,如何改變菜單的背景顏色? 在WinCe5.0模擬器下跑。 …

查看全部問答∨

s7-200 如何實現正弦曲線的輸出

PLC  西門子 S7-200 PLC經過PID調節,輸出變頻器的頻率控制容器壓力。 現在想在升壓的過程中,讓壓力值按照正弦曲線上升,如何編程?請給個思路?!?

查看全部問答∨

directshow問題

各位大俠幫忙看看這個問題 http://topic.eeworld.net/u/20090210/18/09cb0f9d-cf2c-49c9-a84e-29d981e9a4e9.html …

查看全部問答∨

請問哪有Tornado 2.2 for pcPentium的下載?

請問哪有Tornado 2.2 for pcPentium的下載?…

查看全部問答∨

大家好,我是菜鳥想學習WinCE編程,今天一看Lable怎么沒有Click事件啊,請幫幫我。

沒看過這個,今天一看是這種情況。如果我想得到上述lable的Text,怎么做呢,謝謝了…

查看全部問答∨

使用spi1端口怎么使mosi端口保持高低電平

                                 如題…

查看全部問答∨

TI永磁同步BLDC電機控制FOC控制方案演示

$(\'swf_JTC\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', encodeURI(\'http://player.youku.com/player.php/sid/XMjk4NTk3Mjcy/v.sw ...…

查看全部問答∨
小廣播
最新家用電子文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

About Us 關于我們 客戶服務 聯系方式 器件索引 網站地圖 最新更新 手機版

站點相關: 電視相關 白色家電 數字家庭 PC互聯網 數碼影像 維修拆解 綜合資訊 其他技術 論壇

詞云: 1 2 3 4 5 6 7 8 9 10

北京市海淀區中關村大街18號B座15層1530室 電話:(010)82350740 郵編:100190

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 罗源县| 修文县| 安义县| 壶关县| 柞水县| 清水县| 大埔县| 晋江市| 泰兴市| 汝州市| 淳安县| 陆良县| 改则县| 六枝特区| 石柱| 浑源县| 石狮市| 云和县| 莱州市| 三门峡市| 铅山县| 平果县| 东宁县| 阳原县| 盘锦市| 桃园市| 万盛区| 青岛市| 阿拉善右旗| 华蓥市| 新乡县| 新闻| 惠东县| 鄂伦春自治旗| 高平市| 平度市| 靖远县| 上虞市| 错那县| 乌兰察布市| 汉沽区|