專利名稱:多聲道聲音樣本數據處理方法與裝置的制作方法
技術領域:
本發(fā)明為一種多聲道聲音樣本數據處理方法與裝置,尤指應用于聲音播放系統(tǒng)的 多聲道聲音樣本數據處理方法與裝置。
背景技術:
為了能還原播放出具有臨場感的聲音效果,多聲道的技術手段已被廣泛應用于音 頻播放系統(tǒng)中,從最早的雙聲道立體聲,到目前主流的5. 1聲道甚至6. 1聲道,目的就是能 模擬出一個具有空間感的聽覺感受。請參見圖1,其是一 5. 1聲道音頻播放系統(tǒng)的示意圖, 它是由前方兩個前置立體聲道揚聲器11、12,加上兩個后置立體環(huán)繞聲道揚聲器13、14,再 結合正前方獨立中央聲道揚聲器15和重低音聲道揚聲器16組成。在5. 1聲道揚聲器組合 當中,揚聲器11、12與揚聲器13、14負責四個方位所產生的不同環(huán)境立體音效內容,中央聲 道揚聲器15則負責主角的聲音(Voice)輸出部分,至于重低音揚聲器16則為了彌補和加 強在整個場景中的低音表現。但由于實際空間的限制,并不是每個使用者的聆聽環(huán)境都可以讓上述揚聲器擺放 在理想的位置來產生正確的聲音效果,于是根據實際需要來對不同聲道的聲音進行不同程 度的延遲,便可有效彌補上述問題。舉例來說,當揚聲器11至使用者聆聽位置的第一距離 110大于揚聲器12至使用者聆聽位置的第二距離120時,系統(tǒng)可對輸出揚聲器12的聲音信 號進行延遲,以抵消距離差異的影響,進而使最后傳至使用者耳中的聲音達到平衡的狀態(tài)。 于是,通過使用者對于各個揚聲器至使用者聆聽位置間實際距離的輸入,播放系統(tǒng)便可對 應運算出每個聲道所需的延遲時間,進而調整出最佳的播放效果。而為了能進行必要的延遲,播放系統(tǒng)必須儲存已經解碼完成而等待播放的聲音數 據,因此播放系統(tǒng)中必須設置一個數據緩沖器。而為能支援每個聲道所需的不同延遲時間, 該數據緩沖器以二維陣列的形態(tài)存在,其中第一維代表對應的聲道,而第二維則是各聲道 的先進先出緩沖器的深度。因此,隨著播放系統(tǒng)支援聲道的數目越大,能支援的延遲時間越 長,上述數據緩沖器的第一維與第二維的數目就越大,因此播放系統(tǒng)中必須設置并管理一 個容量很大的數據緩沖器。而如果純粹以固件(firmware)來完成該數據緩沖器的設置與管理,播放系統(tǒng)就 必須使用聲音信號處理器內部的區(qū)域存儲器(local memory),例如設置于聲音信號處理器 20中的靜態(tài)隨機存取存儲器(SRAM) 201,但靜態(tài)隨機存取存儲器201的價格昂貴,過大的尺 寸會讓成本大量提升。因此,目前大多以外部增設硬件的方式來完成,例如圖2(a)中所示 的數據緩沖器22,聲音信號處理器20通過一總線21來管理并寫入數據至以動態(tài)隨機存取 存儲器(DRAM)來完成的數據緩沖器22,如此將可以有效節(jié)省硬件成本。至于圖2(b)則表示出該數據緩沖器22的數據結構示例圖,為能支援5. 1聲道,其
中設置了六個先進先出緩沖器220、221.....225,且每個先進先出緩沖器都具有自己的寫
入指標,但共用一個讀出指標。于是在系統(tǒng)進入開機初始化時,便要根據每個聲道所需要的 延遲時間而預先填入適當數量的延遲用數據,如圖中所示的實例,需要有延遲效果的先進先出緩沖器220、221、224、225中皆填入有不同數量的延遲用數據,而不需要有延遲效果的 先進先出緩沖器222、223則未填入延遲用數據。再請參見圖2(c),其是利用圖2(a)、圖2(b)所示的系統(tǒng)環(huán)境與數據結構來進行的 數據處理流程圖,而由圖2(c)可清楚看出,當聲音信號處理器20要通過總線21對數據緩 沖器22進行聲道選擇(步驟3 及寫入數據(步驟34)之前,都必須對數據緩沖器22進 行檢查(步驟31、33),用以確定數據緩沖器22中各個先進先出緩沖器皆已準備完成,才能 開始將解碼完成的聲音樣本數據分門別類地寫入至相對應的先進先出緩沖器中,并利用步 驟35、36及37,判斷數據是否已寫入完畢以及是否要切換聲道。而由流程圖可看出,聲音信 號處理器20需要通過總線21對數據緩沖器22進行狀態(tài)檢查(步驟31),加上還要判斷數 據是否已寫入完畢(步驟35)以及是否要切換聲道(步驟36),并且每次寫入一個聲道的數 據前都要檢查數據緩沖器22是否準備完成(步驟3 ,造成運算資源被過度使用,進而拖累 原本的聲音解碼作業(yè),造成不可預期的系統(tǒng)異常。另外,無論是用固件或硬件來完成上述數 據緩沖器的設置與管理,其中皆以聲音信號處理器20來預先產生延遲用數據再填入數據 緩沖器22中,如此也將增加聲音信號處理器20的工作量,而且還要占用總線21進行傳輸, 并且存儲到數據緩沖器22中,造成系統(tǒng)資源大量浪費。而如何改善上述種種現有缺失,為 發(fā)展本發(fā)明的主要目的。
發(fā)明內容
本發(fā)明為一種多聲道聲音樣本數據處理方法,應用于一處理器與一外部存儲器之 間,該處理器用以接收一多聲道聲音信號進行解碼而產生多個聲音樣本數據,該方法包括 下列步驟該處理器將所述聲音樣本數據根據一預定格式進行排列;以及該處理器啟動一 直接存儲器存取動作,用以將所述聲音樣本數據寫入該外部存儲器;其中,該外部存儲器根 據該預定格式自動切換寫入地址。根據上述構想,本發(fā)明所述的多聲道聲音樣本數據處理方法,其中該預定格式為 依照固定的聲道順序,對每個聲道安排固定個數的聲音樣本數據。根據上述構想,本發(fā)明所述的多聲道聲音樣本數據處理方法,其中該外部存儲器 內部規(guī)劃有N個先進先出緩沖器,分別對應于N個聲道,且將固定個數的聲音樣本數據寫入 其中一個聲道對應的該先進先出緩沖器后,自動切換到下一個聲道對應的先進先出緩沖器 來進行寫入。根據上述構想,本發(fā)明所述的多聲道聲音樣本數據處理方法,其中還包括下列步 驟于該N個先進先出緩沖器初始化時,根據每個聲道所需的不同延遲時間設定N個計數 值。并于讀取該先進先出緩沖器時,先檢查相對應的該計數值,若該計數值不為0,使該先進 先出緩沖器自動產生一個延遲用的聲音樣本數據以被讀取,并將該計數值向下遞減1。本發(fā)明的另一方面為一種多聲道聲音樣本數據處理裝置,其包括一處理器,用以 接收一多聲道聲音信號進行解碼而產生多個聲音樣本數據,并可將所述聲音樣本數據根據 一預定格式進行排列;一外部存儲器,用于存儲所述聲音樣本數據;以及一直接存儲器存 取控制器,電連接于該處理器與該外部存儲器,其是受該處理器啟動而執(zhí)行一直接存儲器 存取動作,用以將所述聲音樣本數據寫入該外部存儲器;其中,該外部存儲器根據該預定格 式自動切換寫入地址。
根據上述構想,本發(fā)明所述的多聲道聲音樣本數據處理裝置,其中該預定格式為 依照固定的聲道順序,對每個聲道安排固定個數的聲音樣本數據。根據上述構想,本發(fā)明所述的多聲道聲音樣本數據處理裝置,其中該外部存儲器 包括對應于N個聲道的N個先進先出緩沖器,分別用以寫入固定個數的聲音樣本數據,并自 動切換到下一個聲道的先進先出緩沖器來進行寫入。根據上述構想,本發(fā)明所述的多聲道聲音樣本數據處理裝置,其中該外部存儲器 更包括N個計數器,用以根據每個聲道所需的不同延遲時間設定N個計數值。并于該先進 先出緩沖器被讀取時,檢查相對應的該計數值,若該計數值不為0,該先進先出緩沖器自動 產生一個延遲用的聲音樣本數據以被讀取,且該計數器并自動將計數值向下遞減1。本發(fā)明可大量減少聲音播放系統(tǒng)中聲音信號處理器的數據存取負擔,還可達到依 使用環(huán)境而調整延遲的效果。
圖1是一 5. 1聲道音頻播放系統(tǒng)的示意圖。圖2(a)是現有播放系統(tǒng)的部分功能模塊示意圖。圖2(b)是現有播放系統(tǒng)中數據緩沖器的數據結構示例圖。圖2(c)是利用現有系統(tǒng)環(huán)境與數據結構來進行的數據處理流程圖。圖3是本發(fā)明為改善上述現有手段缺失所發(fā)展出來的多聲道聲音數據處理功能 模塊示意圖。圖4(a)是本發(fā)明使用直接存儲器存取控制器進行數據讀寫時,位于聲音信號處 理器端的數據結構示意圖。圖4(b)是本發(fā)明外部存儲器32中N個先進先出緩沖器421、422.....42N的模塊
示意圖。圖5(a)是本發(fā)明聲音信號處理器所進行的數據解碼與寫入流程圖。圖5(b)是本發(fā)明聲音信號處理器所進行的數據播放與讀取流程圖。附圖中符號的簡單說明如下前置立體聲道揚聲器11、12后置立體環(huán)繞聲道揚聲器13、14正前方獨立中央聲道揚聲器15重低音聲道揚聲器16第一距離110第二距離120聲音信號處理器20靜態(tài)隨機存取存儲器201數據緩沖器22總線21先進先出緩沖器220、221、·· ·、225聲音信號處理器30直接存儲器存取控制器31
外部存儲器32N個先進先出緩沖器:421,422,. . ·、42N。
具體實施例方式請參見圖3,其是本發(fā)明為改善上述現有手段缺失所發(fā)展出來的多聲道聲音數據 處理功能模塊示意圖,其中聲音信號處理器30通過一直接存儲器存取控制器31來與一外 部存儲器32完成連接,聲音信號處理器30可由常見的數字信號處理器(D SP)或微處理 器來完成,其主要用以接收一位流數據(bitstream,例如常見的DVD聲音數據)并進行解 碼,進而產生出對應多聲道的聲音樣本數據,以及將對應多聲道的聲音樣本數據進行播放 (playback)。而為避免占用聲音信號處理器30的資源,本發(fā)明的聲音信號處理器30并不 直接處理對于外部存儲器32的數據寫入,而是改用直接存儲器存取控制器31來進行數據 分配寫入的動作。請參見圖4(a),其是本發(fā)明使用直接存儲器存取控制器31進行數據讀寫時,位于 聲音信號處理器30端的數據結構。以外部存儲器32的數據通道寬度為32位、叢發(fā)(burst) 數為8、且一個聲音樣本數據的長度為32位為例,每個聲道固定存取8個聲音樣本數據,且 依照固定順序來切換聲道。換句話說,聲音信號處理器30在產生出對應多聲道的聲音樣本 數據后,僅需將解碼所得的聲音樣本數據按照如圖4(a)所示的預定格式的數據結構排列, 再由直接存儲器存取控制器31依照上述順序與數量來讀出聲音樣本數據并寫入外部存儲 器32中。而外部存儲器32的內部規(guī)劃有如圖4(b)中所示,其內部包括的N個先進先出緩
沖器421、422.....42N,分別對應于N個聲道。且外部存儲器32還設計為根據上述預定格
式自動切換寫入地址,也就是每對一個先進先出緩沖器寫入收到一定數量的聲音樣本數據 后,便自動切換到下一個聲道對應的先進先出緩沖器來進行寫入。以5. 1聲道及上述規(guī)格 為例,聲道數量N為6,而外部存儲器32每對一個先進先出緩沖器寫入收到8個聲音樣本數 據后,便自動切換至下一個聲道的先進先出緩沖器。如此一來,本發(fā)明方法并不用如圖2 (c) 所示的現有數據處理流程圖那樣,每切換一個聲道或每寫入一定數量的聲音數據,就需檢 查數據緩沖器22的狀態(tài)。以下請參考圖5 (a)、圖5 (b),以更詳細地了解本發(fā)明的聲音信號處理器30所進行 的數據處理流程。其中圖5(a)為本發(fā)明聲音信號處理器30所進行的數據解碼與寫入流程圖。首 先,聲音信號處理器30對一多聲道聲音信號進行位流的解碼而持續(xù)產生出聲音樣本數據, 并置入本身內部具有的一選定緩沖器(步驟501);并于直接存儲器存取控制器31所執(zhí)行 的直接存儲器存取動作完成時(步驟50 ,將該選定緩沖器中的聲音樣本數據按照圖4 (a) 所示的數據結構進行重新排列,然后再觸發(fā)直接存儲器存取控制器31來進行直接存儲器 存取動作(步驟50 ,進而使聲音樣本數據可依序寫入如圖4(b)所示的外部存儲器32。接 著便在本身內部再選定另一緩沖器(步驟504)而回到步驟501進行聲音樣本數據解碼與 寫入。至于圖5 (b)為本發(fā)明聲音信號處理器30所進行的數據播放與讀取流程圖。首先, 聲音信號處理器30判斷該直接存儲器存取控制器31所執(zhí)行的直接存儲器存取動作是否完成(步驟601);若是,便在本身內部選定一緩沖器后啟動直接存儲器存取控制器31來進行 直接存儲器存取動作,用以將外部存儲器32中儲存的聲音樣本數據讀取至選定的該緩沖 器(步驟60 ;以及處理該緩沖器中所儲存的聲音樣本數據然后進行播放(步驟603)。而由圖5 (a)、圖5 (b)可看出,由于聲音信號處理器30對聲音樣本數據依照預定格 式進行了排列,且外部存儲器32在接收寫入的聲音樣本數據時,可依照該預定格式自動切 換寫入地址,聲音信號處理器30僅需于適當時間啟動直接存儲器存取動作來進行數據存 取,因此可大幅減少聲音信號處理器30的運算負擔,進而讓系統(tǒng)運行得更有效率,進而達 成本發(fā)明的目的。另外,為能省去聲音信號處理器30根據每個聲道所需要的延遲時間來預先產生 并填入適當數量的延遲用數據至外部存儲器的動作,本發(fā)明于外部存儲器32中設置有相
對應于N個先進先出緩沖器421、422.....42N的N個計數器,用以于該先進先出緩沖器初
始化時,便可分別填入代表每個聲道所需的不同延遲時間的一計數值。以圖中N = 6為例, 對應于6個聲道的6個計數器中的計數值分別為1、2、4、4、0、0,而當聲音信號處理器30要 將外部存儲器32中儲存的聲音樣本數據讀出進行播放(playback)時,即啟動直接存儲器 存取控制器31來進行直接存儲器存取動作來讀取先進先出緩沖器時(如圖5(b)的流程圖 所述),會先檢查相對應的該計數值,若該計數值不為0,使該先進先出緩沖器自動產生一 個延遲用的聲音樣本數據以被讀取,并將該計數值向下遞減1 ;反之,若該計數值為0,則直 接讀取該先進先出緩沖器內的數據。例如第一次讀取時,只有對應于計數器中的計數值為0 的先進先出緩沖器425、426的真實聲音樣本數據被讀出播放,而初始值不為0的先進先出 緩沖器421、422、423、似4則會自動產生一個延遲用的聲音樣本數據讓直接存儲器存取控 制器31讀取,并自動將計數器中的初始值向下遞減1,因此經過第一次讀取后,6個計數器 中的初始值將變成0、1、3、3、0、0,以此類推,本方法可在不需要聲音信號處理器30來預先 產生并填入適當數量的延遲用數據至外部存儲器的動作下,便可完成延遲的效果。綜上所述,本發(fā)明的技術手段可有效改善現有手段的缺失,進而在大量減少聲音 播放系統(tǒng)中聲音信號處理器的數據存取負擔下,還可以完成依使用環(huán)境而調整延遲的效 果,徹底達成本發(fā)明的主要目的。而且本發(fā)明可廣泛地應用于各式數字聲音播放系統(tǒng)上,例 如DVD播放器、具DVD光盤機的計算機系統(tǒng)或是更新世代的光盤播放器等。以上所述僅為 本發(fā)明較佳實施例,然其并非用以限定本發(fā)明的范圍,任何熟悉本項技術的人員,在不脫離 本發(fā)明的精神和范圍內,可在此基礎上做進一步的改進和變化,因此本發(fā)明的保護范圍當 以本申請的權利要求書所界定的范圍為準。
權利要求
1.一種多聲道聲音樣本數據處理方法,其特征在于,應用于一處理器與一外部存儲器 之間,該處理器用以接收一多聲道聲音信號并對該多聲道聲音信號進行解碼而產生多個聲 音樣本數據,該多聲道聲音樣本數據處理方法包括下列步驟該處理器將所述聲音樣本數據根據一預定格式進行排列;以及 該處理器啟動一直接存儲器存取動作,用以將所述聲音樣本數據寫入該外部存儲器; 其中,該外部存儲器根據該預定格式自動切換寫入地址。
2.根據權利要求1所述的多聲道聲音樣本數據處理方法,其特征在于,該預定格式為 依照固定的聲道順序,對每個聲道安排固定個數的聲音樣本數據。
3.根據權利要求1所述的多聲道聲音樣本數據處理方法,其特征在于,該外部存儲器 內部規(guī)劃有N個先進先出緩沖器,分別對應于N個聲道,且將固定個數的聲音樣本數據寫入 其中一個聲道對應的先進先出緩沖器后,自動切換到下一個聲道對應的先進先出緩沖器來 進行寫入。
4.根據權利要求3所述的多聲道聲音樣本數據處理方法,其特征在于,還包括下列步驟于所述N個先進先出緩沖器初始化時,根據每個聲道所需的不同延遲時間設定N個計數值。
5.根據權利要求4所述的多聲道聲音樣本數據處理方法,其特征在于,于讀取該先進 先出緩沖器時,先檢查相對應的計數值,若該計數值不為0,使該先進先出緩沖器自動產生 一個延遲用的聲音樣本數據以被讀取,并將該計數值向下遞減1。
6.根據權利要求4所述的多聲道聲音樣本數據處理方法,其特征在于,于讀取該先進 先出緩沖器時,先檢查相對應的計數值,若該計數值為0,則直接讀取該先進先出緩沖器內 的數據。
7.根據權利要求1所述的多聲道聲音樣本數據處理方法,其特征在于,于播放所述聲 音樣本數據時,該處理器啟動該直接存儲器存取動作,以讀取該外部存儲器。
8.—種多聲道聲音樣本數據處理裝置,其特征在于,包括一處理器,用以接收一多聲道聲音信號并對該多聲道聲音信號進行解碼而產生多個聲 音樣本數據,并將所述聲音樣本數據根據一預定格式進行排列; 一外部存儲器,用于存儲所述聲音樣本數據;以及一直接存儲器存取控制器,電連接于該處理器與該外部存儲器,該直接存儲器存取控 制器受該處理器啟動而執(zhí)行一直接存儲器存取動作,用以將所述聲音樣本數據寫入該外部 存儲器;其中,該外部存儲器根據該預定格式自動切換寫入地址。
9.根據權利要求8所述的多聲道聲音樣本數據處理裝置,其特征在于,該預定格式為 依照固定的聲道順序,對每個聲道安排固定個數的聲音樣本數據。
10.根據權利要求8所述的多聲道聲音樣本數據處理裝置,其特征在于,該外部存儲器 包括對應于N個聲道的N個先進先出緩沖器,所述先進先出緩沖器分別用以寫入固定個數 的聲音樣本數據,并自動切換到下一個聲道對應的先進先出緩沖器來進行寫入。
11.根據權利要求10所述的多聲道聲音樣本數據處理裝置,其特征在于,該外部存儲 器還包括N個計數器,用以根據每個聲道所需的不同延遲時間設定N個計數值。
12.根據權利要求11所述的多聲道聲音樣本數據處理裝置,其特征在于,于該先進先 出緩沖器被讀取時,檢查相對應的計數值,若該計數值不為0,該先進先出緩沖器自動產生 一個延遲用的聲音樣本數據以被讀取,且該計數器自動將計數值向下遞減1。
13.根據權利要求11所述的多聲道聲音樣本數據處理裝置,其特征在于,于該先進先 出緩沖器被讀取時,檢查相對應的計數值,若該計數值為0,則該先進先出緩沖器內的數據 直接被讀取。
全文摘要
本發(fā)明提供一種多聲道聲音樣本數據處理方法與裝置,該多聲道聲音樣本數據處理方法應用于一處理器與一外部存儲器之間,該處理器用以接收一多聲道聲音信號進行解碼而產生多個聲音樣本數據,該方法包括下列步驟該處理器將所述聲音樣本數據根據一預定格式進行排列;以及該處理器啟動一直接存儲器存取動作,用以將所述聲音樣本數據寫入該外部存儲器;其中,該外部存儲器根據該預定格式自動切換寫入地址。本發(fā)明可大量減少聲音播放系統(tǒng)中聲音信號處理器的數據存取負擔,還可達到依使用環(huán)境而調整延遲的效果。
文檔編號H04S3/00GK102065366SQ20101052502
公開日2011年5月18日 申請日期2010年10月27日 優(yōu)先權日2010年10月27日
發(fā)明者盛思豪 申請人:威盛電子股份有限公司