摘要:介紹了一種可支持多路音頻艦頻同時播放的裝置,該裝置可用來實現電腦或電視等多媒體設備在播放多個視頻畫面的同時,獲得互不干擾的音頻輸出。該裝置中的數據緩存模塊連接有多個音頻/視頻讀取模塊,音頻/視頻讀取模塊的輸出端分別與音頻輸出接口和視頻呈現模塊連接。
關鍵詞:多媒體;復用;多路音頻;緩存
中圖分類號:TP37
文獻標志碼:A
文章編號:1006-8228(2011)12-13-03
0引言
多媒體技術是計算機綜合處理聲、文、圖信息的技術,具有集成性、實時性和交互性。隨著社會的發展,在多媒體服務中,服務器端與客戶端需要高速的計算以支持視、音頻的實時編碼、解碼。多數情況下,PC機不能滿足實時與高質量的要求。
目前的電視機、電腦等多媒體設備在播放視頻時,只能將一個視頻或音頻作為主播放界面,存在局限性。如電視機,由于家人各自喜歡看不同的頻道,經常因選擇頻道而產生分歧。又如MP3、MP4等,能支持多個播放器的多媒體設備都存在主次音干擾問題。為此,人們希望能在一臺設備上同時播放多個視頻或音頻,而每個視頻或音頻能獨立擁有多媒體效果,且互不影響。本文將探討一種能夠充分利用資源的設計。本設計采用的核心芯片是MCU。MCU提供了一個多功能可編程服務平臺,采用通用編程語言,支持多種圖像/語音格式、多種壓縮標準和算法,被廣泛應用于如數字電視、數字視頻記錄、視頻會議和游戲平臺等領域。
1 裝置設計概述
1.1 方案提出
計算機技術的高速發展,使新一代計算機的資源相對充足。而在實際使用過程中,大量的系統資源并沒得到充分利用,特別是超線程的P4架構,利用率不到10%,造成很大的資源浪費。數字音頻是多媒體技術的重要組成部分,品種繁多的新產品也不斷涌現,音頻數據壓縮和傳輸格式不斷豐富和更新,給人們帶來了方便和享受。但與此同時,人們也在對數字音頻產品不斷提出更高的要求,功能單一的產品必將被高性能、多功能以及具有良好兼容性的數字音頻系統所取代。同時播放多個視頻畫面時能夠獲得互不干擾的音頻輸出的技術必將成為數字音頻的發展趨勢。本文提出一種全新的設計方案:將系統資源優化整合、充分利用,能夠在電腦或電視等多媒體設備中實現多畫面視頻播放、多通道音頻輸出,各聲音又不互相干擾的一種裝置。
1.2 常用的多路視頻、音頻同時播放方案分析
(1)單聲卡多聲道輸出方式
聲卡播放音頻文件原理:多個副緩沖區中的數據混合到主緩沖區中,然后再播放主緩沖區內的數據實現聲音播放。聲卡的主緩沖區有且只有一個,聲道可有多個。采用多個聲道實現多路音頻輸出存在以下問題:多聲道不能實現聲音隔離單獨輸出;并且制作音源的時候是通過各個聲道,從多個方位,多種方式錄取的,錄取到的多路聲音經過AC3或者DTS編碼后進行存儲,播放時聲卡把壓碼后的聲音信息再解碼出來,送到緩沖區中(也許用到了多個從緩沖區),最后通過聲卡的主緩沖區播放,因為其含有以多種方式,多方位錄制的信息,所以每個聲音輸出孔的聲音都存在混音等問題,聲音效果不好,不具備良好的立體感。
(2)音頻與視頻的雙輸出HDMI線+音響
市場中有采用帶音頻與視頻的雙輸出HDMI線和音響來實現兩個屏幕聲音互不干擾(視頻看電影,電腦游戲,各自有聲音)的產品,它則需要兩塊聲卡,一塊用于電影,一塊用于游戲,可以在程序中選擇使用不同聲卡。若采用一塊聲卡,因HDMI帶的音頻輸出只是多了一種輸出接口形式,聲音是通過同一個聲卡處理的,所以聲音還是混合的。如果將兩個程序播放聲音設置成一個左聲道,一個右聲道,播放程序或游戲可以進行這種設置,但無法實現立體聲。
(3)雙頭顯卡多音頻輸出
采用雙頭顯卡把電視與電腦連接起來,圖像互不干擾的問題可以解決,但電腦只有一塊聲卡,打開多個有聲應用程序于電腦和電視上會出現聲音串擾的問題。目前有種方法是利用一塊聲卡把不同應用程序的聲音分離出來,通過前后聲道進行傳輸,從而實現兩(多)路聲音分開傳輸,互不干擾。但實際操作發現,前后聲道輸出的聲音總是相同的,有些聲卡自帶的“音效管理員”并不支持把前后聲道聲音分離的功能。另一種方法是為電腦添加一塊“虛擬聲卡”,通過“控制面板”的“聲音”設置,用不同的聲卡輸出不同應用程序的聲音。實際操作發現這種方法有兩個問題:第一,虛擬聲卡軟件(RigExpert)并不能獨立于物理聲卡發聲,因此并不能起到分離聲音的作用;第二,不是每一個發出聲音的應用軟件都提供了對聲卡進行選擇的設置,比如Windows Media Player可以設置,但RealPlayer則不支持,所以仍會出現聲音串擾的情況。
(4)分析
通常音源軟件自己不能選擇聲音輸出設備,默認的音頻數據是直接到windows的mix里面的。要實現分離輸出,就要考慮可以控制音頻的分離輸出軟件。本文提出:將任意聲道的聲音模擬成多聲道模式,并且在各聲道設置控制開關,這擇就可以通過某些軟件實現虛擬聲道,并對各聲道進行獨立控制,進而可以把不同應用程序的聲音分別送入不同的聲道進行控制、傳送,最終解決聲音互相干擾的問題。
2 模塊裝置設計
(1)硬件說明
數字信號處理器DSP是聲卡的關鍵部件。聲卡用數字信號處理器芯片管理所有聲音輸入輸出和MIDI操作。用數字信號處理器可以通過編程來完成一些特定的任務,減輕CPU的負擔。它的芯片帶有自己的RAM和EPROM,用來存放聲音處理(vo)、ADPCM編碼/譯碼程序和中間運算結果。視頻輸入模塊采用DM365架構,能支持多種格式的視頻輸入格式,實現高清視頻輸入。高清AkD轉換芯片采用TVP7002,TVP7002能實現R/Pr,G/Y,B/Pb信號的數字轉換,轉換率高達165MHz。
(2)設計原理
同時播放多個音頻文件是利用多緩沖技術,把多個副緩沖區中的數據混合到主緩沖區中,然后再播放主緩沖區內的數據或用多線程來實現。本文設計將音頻,視頻數據存入緩存區的不同位置,利用多個音視頻數據讀取模塊進行讀取,并分別顯示或播放,互不影響。電路結構如圖l所示。
如圖1所示,設計的裝置包括MCU(微控制單元)以及與該MCU連接的數據存儲模塊、音視頻解碼模塊和數據緩存模塊。設計的主要特點是數據緩存模塊連接有多個音頻/視頻讀取模塊,輸出端分別與視頻呈現模塊和音頻輸出接口模塊連接。MCU將要播放的數據從數據存儲模塊中讀取并進行解碼,并將解碼后的數據按照不同的地址分別存入緩存模塊中,緩存模塊采用多路復用技術,實現集中管理,利用音頻/視頻讀取模塊讀取相應位置的數據信息,分別輸出顯示或播放。音頻輸出接口模塊具有多個音頻輸出端口,以便用戶通過各自的耳麥或音頻播放設備接收各自的音頻數據。

(3)程序說明
MCU采用其程序總線與數據總線分開,取指令與執行指令并行運行的方式。程序總線寬度為256bit,每一次取指操作都是取8條指令,即一個取指包。執行時,每條指令占用一個功能單元,取指、指令分配和指令譯碼單元都具備每周期讀取并傳遞8條32位指令的能力。
MCU有二個類似的可進行數據處理的數據通路A和B,其結構如圖2所示,共包含下述物理資源:
①2個數據通路(A和B)。
②8個功能單元。MCU每組數據通路有四個功能單元,兩組數據通路功能單元的功能基本相同。這些功能單元主要完成乘法運算和產生地址的功能。L與s是主要的算術邏輯運算單元(ALU)。
③二個數據讀取通路(LD1和LD2)和二個數據存儲通路(ST1和ST2)。
④二個寄存器組交叉通路(2x和1x)。
⑤二個數據尋址通路(S/C1和S/C2)。
⑥控制寄存器組。
用戶可以通過對控制寄存器組編程來選用MCU的部分功能。功能單元方面,算術邏輯運算單元s可通過搬移指令MCU訪問控制寄存器,對其進行讀寫操作。每一個通道可以同時運行,也可以分時運行,并且是可編程和軟件可控的。它執行數據傳送功能存儲器到存儲器:執行塊傳送、預裝數據到內部高速緩存、用0或1填充存儲器某特定區域。待傳送數據的參數,如起始地址、數據大小等封裝并打包在一個數據包中。控制器一次讀取一個數據包作為它的傳送數據,并可以在不中斷VUW工作的情況下,把在存儲器中互不相連的數據持續地傳送。存儲器到IO口和IO口到存儲器,執行IO數據傳輸的MUC控制寄存器有以下寄存器
尋址模式寄存器AMR
控制狀態寄存器CSR。
MCU控制器支持64M B到128M B的SDRAM/SGRAM,而不需另加額外的控制電路。控制器包括了DRAM的刷新與讀寫控制、隊列、優先權判別等硬件邏輯。內部的鎖相環電路產生SDRAM/SGRAM所需的讀寫時鐘。
MCU的EPROM/Falshrom控制器執行以下幾個功能:
芯片配置和ROM啟動定序器。在系統啟動時,讀取系統啟動代碼和配制信息。
控制讀、寫、擦除FalshRom。
啟動過程中,進行上電診斷;測試狀態時,設置不同的程序斷點。
中斷控制寄存器IFR、ISR、ICR、IER、ISTP、IRP和NRP。
DMA控制器(Direct Memory Access):MCU中的通道控制器。
(4)本設計裝置實施的效果示意圖如圖3所示。圖中左邊同時播放了A、B、c、D四個視頻,輸出端設置有四個音頻輸出口(1、2、3、4)分別對應四個視頻的聲音。為促使聲音的不干擾傳輸,采用多信道利用技術,把多個聲間傳輸分成不同的時隙,對各路通信進行分組,每組占用一個時隙,不同組分別進行數據傳輸互不干擾。信道利用技術中.復用器具有幾個緩存器,這樣就可將聲音分離。用戶只要通過各自的耳麥即可聽取相應視頻的聲音,可供多人使用,節省了資源。


(5)音頻信息傳輸采用MADI(Multichannel AudioDigital Interface)接口標準,線性量化(PCM)音頻數據MADI采用異步工作方式:音頻信號的時鐘和數據分開傳輸,每個通道包含32個比特,其中24個比特分配給音頻或由音頻,非音頻標記定義的其他數據,另有4個比特用來表示二通道接口的有效位(V)、用戶數據位(U)、狀態數據位(C)和奇偶校驗位(P),另4個比特用于模式確認。
本設計的音頻輸出不僅僅只局限于有線的數據傳輸,其音頻輸出接口模塊還可以包括藍牙音頻輸出單元,通過無線藍牙實現音頻傳輸并播放。
3 結束語
本文將音/視頻數據存入緩存的不同位置,利用多個音視頻數據讀取模塊進行讀取,并分別顯示或播放,互不影響。目前在市場上還末找到可實現類似功能的硬件。此設計的裝置可應用于包括電視機、電腦以及多媒體設備等,具有較好的實用價值。