色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用可視音頻設計高效、實時的音頻系統

星星科技指導員 ? 來源:ADI ? 作者:Paul Beckmann and Vin ? 2023-02-03 11:03 ? 次閱讀

作者:Paul Beckmann and Vincent Fung

VisualAudio 設計和開發環境是用于設計和開發音頻系統的新軟件工具。其實時架構特別適合音頻產品開發的挑戰。本文簡要介紹了 VisualAudio,然后介紹了它的框架、音頻模塊以及在音頻產品開發中的應用。

音頻產品開發挑戰

如今,音頻系統開發人員面臨著設計復雜音頻系統(尤其是家庭音頻/視頻接收器 (AVR) 和汽車信息娛樂系統)的需求日益增加,既要快速且經濟高效。為什么?

正常使用的離散音頻通道數量已從 2 個增加到 4 個,再到 5.1 個,最近又增加到 7.1 個。

不同且有時相互競爭的多聲道音頻格式的數量一直在迅速增加,其中包括杜比定向邏輯、杜比數字、DTS 5.1、杜比數字環繞 EX? 和 DTS-ES。

產品必須與數字網絡接口,例如面向媒體的系統傳輸 (MOST) 總線,這需要網絡堆棧、內容加密和解密以及采樣率轉換 — 所有這些都在音頻處理器內完成。

消費者已經開始期待在頂級和主流產品中具有復雜的后處理功能,例如空間化、自動均衡和低音管理。

為了應對這些因素,開發人員正在轉向數字信號處理器DSP),因為它們的可編程性允許針對特定的市場利基和應用定制系統。ADI公司的SHARC處理器系列特別適合這項任務,因為它具有大容量內部存儲器、浮點精度和高性能計算單元等特性。最近發布的第三代SHARC處理器更進一步,集成了專門為促進音頻產品設計而引入的附加功能。這些特性包括硬件采樣率轉換器、加密和解密、復雜的數字音頻接口以及包含多個音頻解碼器的片上ROM

DSP用戶面臨的歷史挑戰是開發能夠充分利用處理器時鐘周期和有效利用內存的軟件。匯編語言中手工編碼音頻信號處理算法的長期使用和費力的方法變得越來越不可行。當大部分所需工作用于創建標準的“清單”和“me-too”功能,而不是專注于通過增值功能區分產品時,尤其如此。需要一種更好的方法來開發音頻產品軟件。

為了滿足這一需求,ADI開發了一種圖形環境VisualAudio,作為設計和開發使用SHARC處理器系列的音頻系統的輔助工具。VisualAudio 為音頻系統開發人員提供了大多數軟件構建塊,以及直觀的圖形界面(如圖 1 所示),用于設計、開發、調諧和測試音頻系統。

poYBAGPceZ-ANYh3AAGKr5zLiAA002.gif?la=en&imgver=1

圖1.可視音頻圖形界面屏幕示例。

VisualAudio 包括一個基于 PC 的圖形用戶界面(GUI,圖形工具)、一個 DSP 內核(框架)和一個可擴展的音頻算法庫(音頻模塊)。與ADI公司合作VisualDSP++? 集成開發和調試環境 (IDDE),VisualAudio 生成產品就緒代碼,該代碼針對速度、每秒數百萬條指令 (MIPS) 和內存使用進行了優化。通過簡化開發復雜數字信號處理軟件的過程,VisualAudio 降低了開發成本、風險和時間。因此,音頻系統開發人員能夠通過將其音頻產品與競爭對手區分開來專注于增加價值。

VisualAudio 的核心是處理音頻 I/O 和后處理的實時軟件架構。為了可行,生成的DSP代碼必須在MIPS和存儲器方面高效,并且足夠靈活,以處理各種音頻產品類別。下面介紹了 VisualAudio 實時架構,首先是框架,然后是音頻處理模塊。

A. 框架

該框架是DSP代碼的一部分,用于處理系統初始化,音頻I / O,比特流檢測1、實例化和調用音頻解碼器以及與主機通信。VisualAudio為其用戶提供了AVR和汽車音頻系統框架的示例。通過編寫特定于平臺的驅動程序,VisualAudio 用戶可以自定義框架的許多方面,以滿足特定的產品要求。在某些情況下,如果需要內部更改以獲得最佳性能,ADI還將向VisualAudio用戶提供框架源代碼。

音頻產品具有控制框架設計的特定要求。每個音頻產品都有兩個主要功能:(1) 實時音頻處理,以及 (2) 控制此處理。這兩個功能的時間尺度大不相同。實時處理(完成所有內部操作)必須以采樣率進行,否則輸出音頻中將出現不可接受的爆裂聲和咔嗒聲。控制功能可以以更慢的速率發生,10 Hz 到 100 Hz,但仍然可以接受。因此,MIPS的大部分使用發生在實時處理中,而大部分軟件復雜性則發生在控制功能中。為了簡化產品設計和開發,VisualAudio將實時和控制功能分離到單獨的線程中。效率是通過手動優化的實時音頻處理模塊實現的,而控制代碼的復雜性則通過允許開發人員用 C 語言編寫并在單獨的線程中運行來管理。

傳統上,采用了兩種不同的音頻處理方法。在流處理中,音頻樣本在到達時一次處理一個,而在塊處理中,緩沖多個音頻樣本,然后作為一個組進行處理。每種方法都有獨特的優點和缺點。流處理在數據存儲方面是有效的,因為不需要緩沖音頻數據。流處理的主要限制是不能容忍多個函數調用的開銷。這強制音頻處理代碼以內聯方式編寫,通常使用匯編語言。這樣的代碼很難模塊化和維護。

塊處理需要額外的緩沖內存來存儲 I/O 和暫存內存。典型的模塊大小在 32 到 256 個樣本的范圍內。由于一次處理多個樣本,因此函數調用的開銷將分攤到大量樣本中。這導致了MIPS高效的實現 - 以犧牲額外的內存為代價 - 但這是首選,因為可以采用結構化編程方法。塊處理也非常適合生成音頻塊的音頻解碼器。例如,杜比數字和 DTS 解碼器都會在 256 個樣本塊中生成音頻。

塊處理,VisualAudio使用的方法,有幾個額外的優點。VisualAudio 中的所有音頻 I/O 都使用直接內存訪問 (DMA) 進行雙緩沖和管理。處理器每個塊接收一次中斷,而不是每個樣本一次,因此與流處理相比,中斷開銷要少得多。此外,通過利用 SHARC 處理器的鏈式 DMA 功能,雙緩沖由 DMA 控制器管理,從而顯著增加了處理音頻輸入/輸出 (I/O) 中斷時的允許延遲。

VisualAudio 框架以塊的形式將音頻傳送到后處理網絡。對塊大小施加了某些限制。首先,由于某些音頻模塊的單指令多數據 (SIMD) 行為,它必須是偶數。其次,最小塊大小為 8 個樣本,這是由于某些音頻模塊中的流水線。最后,在具有音頻解碼器的系統中,后處理塊大小必須是解碼器塊大小的一個因素。例如,對于杜比數字,可能的塊大小為 16、32、64、128、256 和 <> 個樣本。

音頻I/O和緩沖可以在VisualAudio汽車框架的例子中看到,如圖2所示。音頻來自 MOST 網絡或 A/D 轉換器,并分為多個流。主要的娛樂流由DVD播放器生成,其他單聲道流由遠程信息處理系統或編鐘產生。DVD 數據首先經過數字傳輸復制檢測 (DTCP) 解密,然后饋送到比特流檢測器。比特流檢測器的輸出被打包成塊;當完整的數據幀可用時,將執行音頻解碼器。DVD 播放器生成自己的采樣率,這與后處理使用的采樣率不同。因此,音頻解碼器的輸出必須通過異步采樣速率轉換器。該模塊將所有輸入數據流轉換為固定的輸出采樣率。此時,音頻后處理以 32 個樣本的固定塊大小執行。作為最后一步,音頻通道被饋送到D/A轉換器或返回到MOST網絡。

pYYBAGPceaOAWtd0AABsrihzNbw985.gif?la=en&imgver=1

圖2.視覺音頻汽車框架內的音頻流

汽車框架包含多個音頻解碼器,一次只有一個處于活動狀態。為了減少解碼器內存要求,VisualAudio 管理在所有可能的解碼器之間共享的解碼器內存池。解碼器的輸出被饋送到后處理網絡;這驅動了D/A轉換器。

VisualAudio 使用簡單的中斷驅動內核來管理多個線程。例如,示例汽車框架總共包含六個線程。從最高優先級到最低優先級,它們是:

主機通信 — 通常通過 SPI 與主機交換消息。消息在 DSP 用戶控制代碼中緩沖和解釋(如下所述)。

音頻傳輸中斷 — 由串行端口中斷觸發。管理到 DAC 的輸出 DMA,并格式化要返回到 MOST 網絡的數據。在用戶中斷 0 中觸發音頻處理。

音頻接收中斷 - 將音頻分成不同的流。執行 DTCP 解密并將編碼的數據打包到幀中。適當時,觸發用戶中斷 1 中的音頻解碼器。

音頻處理(用戶中斷 0)— 對包含 32 個樣本的模塊執行后處理。大部分處理在此線程中發生。

音頻解碼器(用戶中斷 1)— 執行音頻解碼功能。

DSP 用戶控制代碼 (UCC) — 在沒有活動中斷時運行,并充當應用程序的主循環。用戶產品的控制功能發生在此線程中。

示例 AVR 框架中的典型線程活動如圖 3 所示。每個水平切片代表一個不同的線程。音頻 I/O、解碼器和后處理定期運行,UCC 以最低優先級運行。請注意,當處理器忙于音頻處理時,UCC 可能不會運行幾毫秒。

poYBAGPceaWAVogYAAA_dQCYS4c040.gif?la=en&imgver=1

圖3.VisualAudio AVR 框架中的線程活動。線程按優先級(頂部)到最低優先級(底部)的順序排列。

VisualAudio 分區控制主機微控制器和 DSP 之間的功能。這種分區是任意的,甚至可以支持沒有專用主機微控制器的系統。如上所述,UCC 以最低優先級執行 - 使用中斷處理程序未使用的任何空閑周期。UCC 由框架定期調用,其中包含消息和通知。

消息是從主機微控制器發送到DSP的命令。這些命令用于控制音頻處理(例如,“將音量設置為 –20 dB”、“將低音音調控制設置為 +3 dB”)或查詢音頻處理的狀態(例如,“系統是否受到限制?VisualAudio 框架在內部處理一些命令,而其余的則傳遞給 UCC。在每個時間點,主機和 DSP 之間只能有一條掛起的消息,并且 DSP 必須在處理完每個命令后發送確認。

通知由框架異步生成,并在多種條件下發生。第一個通知發生在系統初始化期間,在啟用任何實時處理之前。此時可以完成特定于系統或應用程序的初始化。第二個通知以大約 200 Hz 的速率定期生成,用于控制實時音頻處理,例如自動增益控制 (AGC) 計算和更新。最后一類通知由音頻解碼器生成,以響應編碼位流中的更改。當采樣率發生變化、輸入通道數發生變化或在傳入比特流中檢測到循環冗余校驗 (CRC) 錯誤時,將發生此類通知。這些通知允許 UCC 在音頻處理中進行適當的更改。

由于 UCC 被實時音頻處理搶占,因此可能要過幾毫秒才能執行,如圖 3 所示。VisualAudio 包括幾個功能,可以簡化編寫將不斷受到中斷的 UCC。首先,由于主機通信接口只允許單個主機消息在主機和 DSP 之間掛起,因此不存在消息緩沖區溢出或主機消息相互覆蓋的危險。另一個功能是通知隊列,其中相同類型的通知相互覆蓋。例如,如果在執行 UCC 之前生成了兩個時間間隔很近的采樣率通知,則 UCC 將僅接收第二個通知,即最終采樣率。此外,由于通知數量有限,因此通知隊列的長度必然是有限的。

還必須仔細編寫 UCC 以更新某些音頻模塊參數。某些模塊參數(如無限脈沖響應 (IIR) 濾波器系數)必須自動更新,而不會被音頻處理中斷。

每個 VisualAudio 框架都有一個關聯的 XML 平臺文件,該文件向 VisualAudio 應用程序描述目標平臺的功能,還包含生成可執行文件所需的源、對象和庫文件的列表。軟件設計和開發通常從現成的評估或開發平臺開始,例如ADI公司的EZ-KIT Lite評估套件,然后在完成后遷移到實際目標硬件。VisualAudio 的更改平臺向導可自動執行在硬件平臺之間遷移軟件的過程。

音頻模塊

VisualAudio 包含一個包含大約 100 個音頻處理模塊的庫,這些模塊已針對 SHARC 處理器進行了優化。這些模塊按功能分類,包括音量控制、音調控制、濾波器、混音器等,這些功能類型足以開發各種音頻產品。這些標準音頻模塊可以通過實現專有后處理功能的自定義模塊來增強。

圖4顯示了10階IIR濾波器的模塊處理效率,該濾波器以64個雙二階濾波器的級聯形式實現。每個樣本的操作數繪制為塊大小的函數。大多數效率增益是通過 21 個樣本模塊實現的,而較大模塊的收益遞減。對于此濾波器,內核內環每個樣本包含 15 個乘法累加 (MAC);但是通過使用同時對兩條數據進行操作的 SIMD 指令,循環減少到大約 <> 個周期。

pYYBAGPceaaAXzNNAAAlJD6anSw027.gif?la=en&imgver=1

圖4.IIR濾波器的處理效率與模塊大小的關系。

每個音頻模塊都通過關聯的 XML 文件向 VisualAudio 應用程序描述。此文件包含模塊的內存中數據結構、內存分配規則、輸入和輸出音頻通道列表、高級接口變量(顯示在模塊的圖形表示或檢查器上)和設計公式的描述。XML 語言由標記結構化數據的標記組成。例如,考慮一個簡單的音頻模塊,該模塊按固定增益縮放單聲道信號。此模塊將包含單個渲染變量 - amp - 指定要應用的增益。在模塊的 XML 文件中,變量 amp 由如下所示的 XML 代碼描述:


amplitude applied to input
amp

-1.0
1.0
1.0

parameter
true
true

描述標記提供變量的簡短摘要。名稱標記指示數據結構中的變量名稱。該變量被描述為浮點數,其默認范圍為 [–1 +1],可以修改,默認值為 1.0。VisualAudio 將此變量視為設計可設置和可調參數,允許在設計時修改它,并在以后的實時調優期間對其進行修改。此單聲道固定增益示例說明了可以用 VisualAudio XML 格式描述的眾多變量類型之一。

VisualAudio 為后處理布局中音頻模塊的每個實例創建單獨的數據結構。所有數據結構共享一個通用的 5 字標頭,用于描述模塊與框架的運行時接口。接下來是特定于模塊的參數和狀態變量。例如,上述縮放器模塊的數據結構的類型聲明為:

typedef struct
{
AMF_Module b; // Common 5 word header
float amp; // Instance specific variable
} AMF_Scaler;

VisualAudio 中的音頻處理功能遵循統一的調用順序。每個函數都使用三個參數調用:指向實例數據結構的指針、指向輸入和輸出緩沖區指針數組(首先是輸入緩沖區,然后是輸出緩沖區)的指針,以及指定塊大小的整數。繼續以縮放器為例,其實時處理功能定義如下。

void AMF_Scaler_Render(AMF_Scaler *instance, float ** buffers,int blockSize) {
int i;
float *in = buffers[0];
float *out = buffers[1];
float amp = instance->amp;
for (i=0; iout[i] = in[i] * amp;
}
}

請注意,此示例是用 C 編寫的,以闡明其描述。VisualAudio 中包含的實際渲染函數是用優化的匯編語言編寫的,以提高執行速度。

總結

音頻產品中數字信號處理軟件的復雜性不斷增加。為了解決這個問題,ADI公司開發了圖形音頻系統設計和開發環境VisualAudio。VisualAudio 通過為開發人員提供音頻系統中的許多關鍵軟件構建塊,通過直觀的圖形界面進行管理,簡化了音頻產品的設計和開發。VisualAudio實時架構足夠靈活,可以支持各種產品類型,并且在MIPS和內存方面也很高效。整個可視音頻工具鏈啟動了產品開發;降低開發成本、時間和風險;并允許工程師專注于創新和產品差異化。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • dsp
    dsp
    +關注

    關注

    553

    文章

    7987

    瀏覽量

    348741
  • 轉換器
    +關注

    關注

    27

    文章

    8694

    瀏覽量

    147085
  • 接收器
    +關注

    關注

    14

    文章

    2468

    瀏覽量

    71871
收藏 人收藏

    評論

    相關推薦

    基于IP組播的校園網視音頻實時答疑系統的研究

    組播的視音頻實時答疑系統。由于受帶寬等的限制,基于Internet的實時媒體傳輸在目前較難實現,系統穩定性較差。本文主要討論在校園網環境下答
    發表于 03-06 18:29

    MIO DVI模擬視音頻到數字DVI-D轉換器

    `MIO-DVI是一款高質量的視音頻轉換器,它可以把模擬視音頻信號轉換成DVI-D信號在LCD或等離子顯示器等多種顯示設備上顯示。MIO-DVI大大降低視音頻系統的建設成本,同時增加使用的靈活性
    發表于 03-13 22:28

    高清音頻系統的基礎是什么?

    為響應客戶對頂級音頻質量的需求,音頻系統設計人員正在研究高分辨率或高清(HD)音頻,因為越來越多的中端系統買家需要以前只能在高端系統中使用的
    發表于 08-21 14:18

    高清音頻系統設計最重要的是什么

    為響應客戶對頂級音頻質量的需求,音頻系統設計人員正在研究高分辨率或高清(HD)音頻,因為越來越多的中端系統買家需要以前只能在高端系統中使用的
    發表于 03-25 06:45

    如何利用實時Java設計數字音頻系統

    如何利用實時Java設計數字音頻系統
    發表于 06-02 06:51

    基于VxWorks的音頻系統的設計與實現

    基于VxWorks的音頻系統的設計與實現
    發表于 03-29 12:28 ?17次下載

    基于MPEG-4的數字視音頻遠程實時監控系統

    摘要:該文提出了一個網絡化的數字視音頻監控系統的設計方案。該系統采用’()*+.對視音頻進行編碼解碼,具有視音頻的采集、壓縮、網絡傳輸、解壓
    發表于 12-22 22:28 ?32次下載

    基于ARM9的音頻系統設計

    本文利用 ATMEL公司 的 AT91RM9200型微處理器 和 Philips公司的 UDA1341型立體聲音頻編解碼器設計了一種嵌入式音頻系統。該嵌入式音頻系統硬件部分采用基于IIS總線的
    發表于 09-19 16:37 ?1969次閱讀
    基于ARM9的<b class='flag-5'>音頻系統</b>設計

    MPEG-H電視音頻系統,能帶來沉浸式聲音體驗和節目真實感

    隨著4K電視風靡全球,相關電視音頻系統也面臨著進一步升級需求。而MPEG-H電視音頻系統(下一代音頻編解碼器)基于音頻編碼標準化組織 MPEG最新開發的MPEG-H 3D
    發表于 06-16 17:55 ?5389次閱讀

    以數字音頻系統為例介紹音頻系統的構建

    音頻系統音頻環境的構建包括兩個方面,即記錄采集(錄音)和擴聲回放(放音),下面以數字音頻系統為例進行介紹。
    發表于 01-26 11:11 ?4655次閱讀
    以數字<b class='flag-5'>音頻系統</b>為例介紹<b class='flag-5'>音頻系統</b>的構建

    ADI推出采用SHARC音頻模塊完整音頻系統

    ADI推出采用SHARC音頻模塊(SAM)的完整音頻系統,可用于數字音頻設備,包括音頻FX處理器、多通道音頻系統、MIDI合成器,以及其他基
    的頭像 發表于 09-10 09:28 ?3678次閱讀

    高清音頻系統的基礎是什么?

    高清音頻系統的基礎是什么?
    發表于 11-01 08:27 ?0次下載
    高清<b class='flag-5'>音頻系統</b>的基礎是什么?

    音頻系統解決方案

    音頻系統解決方案
    發表于 03-15 20:33 ?0次下載
    <b class='flag-5'>音頻系統</b>解決方案

    音頻系統解決方案

    音頻系統解決方案
    發表于 07-06 19:45 ?0次下載
    <b class='flag-5'>音頻系統</b>解決方案

    無線音頻系統介紹

    無線音頻系統是一種通過無線信號傳輸音頻數據的技術,旨在消除傳統有線連接的限制,提供更大的靈活性和便利性。無線音頻系統廣泛應用于消費電子、專業音頻、家庭娛樂和公共廣播等領域。
    的頭像 發表于 08-09 17:48 ?1381次閱讀
    無線<b class='flag-5'>音頻系統</b>介紹
    主站蜘蛛池模板: 伊人久久网站| 无码AV精品一区二区三区| 69SEX久久精品国产麻豆| 久久这里只精品国产99re66| 51国产午夜精品免费视频| 亚洲欧美日本国产在线观18| 久久久无码AV精品亚洲A片软件| freevideoshd| 亚洲欧美综合视频| 亚洲AV久久无码精品热九九| 美女扒开腿让男生桶爽免费APP| 高清观看ZSHH96的视频素材| 亚洲中文字幕无码一久久区| 日本免费无码A专区在线观看| 果冻传媒mv国产陈若瑶主演| 99爱在线观看| 亚洲精品高清视频| 日韩精品一区二区三区色欲AV | 亚洲免费精品| 日韩中文无线码在线视频| 日韩综合网| 无套日出白浆在线播放| 全黄h全肉细节全文| 久久黄色免费网站| 国产精品久久久久久亚洲毛片 | 日本久久久免费高清| 日本午夜视频在线| 偷拍精品视频一区二区三区| 欧美一区二区视频在线观看| 久久99精品AV99果冻| 国产精品伦理一二三区伦理| 国产午夜精品AV一区二区麻豆| 成人在线视频在线观看| 在线毛片片免费观看| 亚洲精品无码不卡在线播HE| 夜夜澡人人爽人人喊_欧美| 中国女人逼| 伊人电院网| 亚洲伊人久久大香线蕉综合图片| 伸进同桌奶罩里摸她胸作文| 日本妈妈JMZZZZZ|