專利名稱:音頻信號處理器的制作方法
技術領域:
本發(fā)明涉及一種用于對音頻信號執(zhí)行各種聲音處理的音頻信號處理器。
背景技術:
已經提出了能夠對音頻信號執(zhí)行諸如濾波、均衡器處理和聲像(sound image)定位的多種算術操作的音頻信號處理器。在這點上,濾波和其它算術操作每一個都需要較大的、包括乘法器和累加器的算術電路。因此,如果試圖構成一個能夠執(zhí)行由多個算術操作組成的復雜信號處理的音頻信號處理器,則為此的電路變得非常大。此外,由于電路的操作,使大電路導致了音頻信號處理器的高功耗。另一方面,某些音頻信號處理器通過以不同的格式,例如不同的采樣頻率,接收多個通道的音頻數據,來執(zhí)行信號處理。在這種音頻信號處理器中,利用為各個通道準備的算術電路對輸入的數字音頻信號執(zhí)行信號處理,信號處理之后的各個通道的數字音頻信號被數模(D/A)轉換,然后該信號被混合并輸出。由于這種音頻設備為每個通道都配有算術電路,因此必然也具有大型信號處理電路,并具有高功耗。為了解決這些缺陷,已提出了一種音頻信號處理器,用于利用共用算術電路、以分時控制的方式來順序地執(zhí)行多種算術操作,如濾波和均衡器處理。根據這種音頻信號處理器,在分時控制下使用單一算術電路,因此實現了小型電路。在例如專利文獻1、已公開的日本專利公開(Kokai)No.H12(2000)-122650中,公開了這種音頻信號處理器。
上述常規(guī)的音頻信號處理器以固定的次序,來順序地執(zhí)行預定類型的算術操作。因此,當試圖向市場提供符合各種規(guī)范的、其音頻信號處理內容有所不同的音頻信號處理器時,需要為每種規(guī)范開發(fā)和制造音頻信號處理器,由此增加了開發(fā)和制造成本,這成為一個問題。作為解決該問題的一種方法,有一種例如通過以下方式來實現不同規(guī)范的方法準備一種所謂的全特征音頻信號處理器,其能夠執(zhí)行各種算術操作,如濾波、均衡器處理和聲像定位;以及然后在某些規(guī)范中省略濾波,但是可能在其它規(guī)范中不省略濾波。例如,在濾波中,可以通過將濾波操作的濾波系數設置為“1”、以便使數字音頻信號繞過算術電路這樣的方法,來實現算術操作的省略。然而,即使算術電路被繞過,算術電路在那時也操作,因此為不必要的信號處理消耗了浪費的功率,這成為一個問題。
能夠對多個通道的音頻數據執(zhí)行各種信號處理的音頻信號處理器被廣泛地使用??紤]信號處理的結構,這些音頻信號處理器主要可分為兩類。如圖13所示,第一種音頻信號處理器對于每個通道都有用于信號處理的數據路徑,并且并行地對各個通道的音頻數據執(zhí)行信號處理。如圖14所示,第二種音頻信號處理器具有單個為各個通道所共用的數據路徑,并且利用該單一數據路徑、以分時控制的方式來順序地對各個通道的音頻數據執(zhí)行信號處理。在例如專利文獻2、已公開的日本專利公開(Kokai)No.2000-122680中,公開了該第二種音頻信號處理器。
根據上述的第一種音頻信號處理器,有可能通過使不用的通道的數據路徑無效,來減小功耗。然而,這種音頻信號處理器的問題在于,需要為每個通道都提供數據路徑,因此造成了大型處理器,由此當用大規(guī)模集成電路(LSI)來形成它時,芯片面積將變得較大。根據第二種音頻信號處理器,只需要提供一個數據路徑,因此能夠實現小型處理器設備。因此,當用LSI來形成它時,可以減小芯片面積。然而,即使只有一部分的通道有音頻數據輸入,第二種音頻信號處理器也一直執(zhí)行操作,因此它實質上執(zhí)行了不必要的操作,由此消耗了浪費的功率,這成為一個問題。
發(fā)明內容
鑒于上述情況,提出了本發(fā)明。因此,本發(fā)明的一個目的是提供一種能夠降低功耗并執(zhí)行多種信號處理的音頻信號處理器。本發(fā)明的另一目的是提供一種能夠實現小型化的結構并降低功耗的多通道音頻信號處理器。
為了達到上述目的,本發(fā)明的一個方面提供了一種音頻信號處理器,該音頻信號處理器包括數據路徑單元,將一個或多個算術操作應用于音頻信號,用于執(zhí)行音頻信號的信號處理;模式寄存器,存儲指定了數據路徑單元要執(zhí)行的信號處理的模式信息;以及狀態(tài)機單元,順序地供給控制信號,用于使數據路徑單元將一個或多個算術操作應用于音頻信號,以便執(zhí)行由一個或多個算術操作組成、并且由模式寄存器中存儲的模式信息指定的信號處理。
根據該音頻信號處理器,可以通過更新在模式寄存器中保存的模式信息,來使數據路徑單元執(zhí)行多種信號處理。此外,數據路徑單元只執(zhí)行構成信號處理的算術操作,而沒有浪費的操作,由此降低了功耗。
在優(yōu)選的模式下,狀態(tài)機單元供給控制信號,該控制信號傳送以下信息指示要受到各個算術操作的音頻信號的輸入數據的位置的信息;以及指示各個算術操作的結果的輸出目的地的信息。
本發(fā)明的音頻信號處理器還可包括多個接口,該多個接口從外部接收音頻信號或者根據從外部供給的源信號來產生音頻信號,并將音頻信號提供給數據路徑單元,其中狀態(tài)機單元產生控制信號,用于使數據路徑單元執(zhí)行算術操作,以便把從接口供給的音頻信號的格式轉換為預定的格式。在這種情況下,狀態(tài)機單元產生控制信號,用于使數據路徑單元執(zhí)行算術操作,以便把具有相同格式、且被加載到數據路徑單元中的多個音頻信號混合。
優(yōu)選地,每當時鐘脈沖在指定周期被供給時,狀態(tài)機單元就產生控制信號,用于使數據路徑單元執(zhí)行由模式寄存器中存儲的模式信息所指定的信號處理。在這種情況下,數據路徑單元向狀態(tài)機單元提供指示了在執(zhí)行中的算術操作的狀態(tài)的狀態(tài)信號,并且狀態(tài)機單元根據供給的狀態(tài)信號來確定,當下一個時鐘脈沖被供給時應該發(fā)往數據路徑單元的控制信號的內容。
優(yōu)選地,狀態(tài)機單元順序地供給控制信號,用于使數據路徑單元連續(xù)地執(zhí)行構成由模式信息指定的信號處理的多個算術操作。
在本發(fā)明的另一方面,提供一種音頻信號處理器,該音頻信號處理器包括多個接口,分別接收多個通道的音頻數據;檢測單元,根據經過多個接口輸入的多個通道的音頻數據,來產生用于指示各個通道是處于有效狀態(tài)還是處于無效狀態(tài)的狀態(tài)信號;以及音頻信號處理單元,以時分方式對多個通道的音頻數據執(zhí)行信號處理,其中音頻信號處理單元根據從檢測單元輸出的狀態(tài)信號,來判定各個通道是處于有效狀態(tài)還是處于無效狀態(tài),并且只對有效狀態(tài)下的通道的音頻數據執(zhí)行信號處理,并停止對無效狀態(tài)下的通道的音頻數據的信號處理。
根據本發(fā)明的該方面,檢測單元檢測各個通道是有效的還是無效的,并且音頻信號處理單元只對有效通道的音頻數據執(zhí)行信號處理,并停止對無效通道的音頻數據的信號處理。因此,能夠防止浪費的信號處理以及降低信號處理所需的功耗。
在優(yōu)選的方式下,如果通道的音頻數據停止了長達指定長時間,則檢測單元產生指示該通道處于無效狀態(tài)的狀態(tài)信號。根據該模式,如果在音頻信號處理單元中,在諸如混響處理的延遲系統(tǒng)信號處理的執(zhí)行期間某一通道的音頻數據停止了,則在指定長時間過去之后的適當時間停止相關通道的信號處理。因此,能夠防止混響處理等在執(zhí)行期間被中斷的缺點。
在另一優(yōu)選的方式下,當通道的音頻數據連續(xù)停止了超過第一持續(xù)時間的時間,則檢測單元產生第一狀態(tài)信號,并且當該通道的音頻數據連續(xù)停止了超過第二持續(xù)時間的時間,所述第二持續(xù)時間比所述第一持續(xù)時間長,則檢測單元產生第二狀態(tài)信號;以及如果對于該通道從檢測單元產生了第一狀態(tài)信號,則音頻信號處理單元停止對該通道的一部分信號處理,并且如果對于該通道產生了第二狀態(tài)信號,則音頻信號處理單元停止對該通道的所有信號處理。根據該方式,如果在音頻數據停止的時候某一指定類型的信號處理被中斷,則在由未受影響的與該指定類型信號處理相關的音頻數據的停止而產生的第一狀態(tài)信號的輸出的時候,該指定類型的信號處理被停止;以及如果音頻數據停止狀況繼續(xù)持續(xù)指定長時間或更長時間,則其它類型的信號處理將被停止。因此,與上述方式相比,有可能進一步降低功耗。
圖1所示的框圖顯示了根據本發(fā)明第一實施例的音頻信號處理器的結構。
圖2顯示了在第一實施例中執(zhí)行的VSP操作的內容。
圖3顯示了在第一實施例中可以執(zhí)行的信號處理的例子。
圖4所示的時序圖顯示了第一實施例的操作。
圖5所示的時序圖顯示了第一實施例的操作。
圖6所示的時序圖顯示了在第一實施例中執(zhí)行的SRC操作。
圖7所示的時序圖顯示了第一實施例的操作。
圖8顯示了供本發(fā)明第二實施例的音頻信號處理器使用的判定表。
圖9所示的狀態(tài)轉移表顯示了第二實施例的操作。
圖10所示的框圖顯示了本發(fā)明第三實施例的音頻信號處理器的結構。
圖11(a)和11(b)顯示了音頻信號處理器的狀態(tài)轉移。
圖12(a)和12(b)顯示了音頻信號處理器中的操作單元的行為。
圖13顯示了常規(guī)技術的電路。
圖14顯示了常規(guī)技術的電路。
具體實施例方式
以下將參考附圖,來詳細說明本發(fā)明的實施例。
第一實施例圖1所示框圖顯示了本發(fā)明第一實施例的音頻信號處理器10的結構。音頻信號處理器10是一個包括等效于所示部件的電路、在半導體芯片上形成的大規(guī)模集成電路(LSI),并且被安裝在需要效應器(effector)功能、混合功能或其它功能的各種音頻設備上。
根據本實施例的音頻信號處理器10接收通過對來自信源A的音頻波形采樣而產生的時間序列音頻數據,接收來自信源B的演奏數據(performance data),并處理收到的數據。在這點上,信源A是,例如連接到安裝有音頻信號處理器10的音頻設備的外部設備,或者是內置在該音頻設備中的音頻再生器(audio reproducer),如MP3(MPEG1第三層)解碼器。信源B是例如主處理器,用于控制安裝有音頻信號處理器10的音頻設備中的音頻信號處理器10。
為了接收來自信源A的音頻數據,音頻信號處理器10配有數字音頻接口(I/F)11。在該實施例中,左(L)和右(R)兩個通道的采樣頻率均為f1的音頻數據A通過數字音頻I/F 11輸入。
此外,為了通過從信源B接收演奏數據來獲取音頻數據,音頻信號處理器10配有CPU I/F 12、序列發(fā)生器13和聲源14。演奏數據通過CPU I/F 12從信源B供給序列發(fā)生器13。演奏數據是順序數據,并且該順序數據包括一系列的事件數據,其指定了聲源14的控制,如節(jié)拍打開(note-on)和節(jié)拍關閉(note-off);以及持續(xù)時間數據,其指定了發(fā)送各個事件數據到聲源14的時間間隔。序列發(fā)生器13控制發(fā)送事件數據到聲源14的定時。更明確地說,如果某一事件被發(fā)往聲源14,則序列發(fā)生器13重復以下操作等待等效于與隨后的事件數據關聯(lián)的持續(xù)時間數據的時間過去,以及發(fā)送隨后的事件數據給聲源14。在優(yōu)選實施例中,聲源14產生立體聲采樣的音頻數據。在該實施例中,當節(jié)拍打開(note-on)事件數據被提供時,聲源14輸出采樣頻率均為f2、但是波形分別不同的L和R兩個通道的音頻數據B。在另一個優(yōu)選實施例中,聲源14產生非立體聲采樣的音頻數據。在該實施例中,當節(jié)拍打開(note-on)事件數據被提供時,聲源14產生具有采樣頻率f2的非立體聲音頻數據。音頻數據以與全景電位器(panoramic potentiometer)的系數相對應的音量比,被分配給L和R通道的音頻數據B,該全景電位器的系數指示了聲像定位的位置,然后該音頻數據從聲源14輸出。
音頻信號處理單元20對分別從數字音頻I/F 11和聲源14獲得的音頻數據A和B執(zhí)行信號處理,并且輸出作為處理結果的L和R兩個通道的數字信號。在音頻信號處理單元20內,未顯示的時鐘發(fā)生器產生具有頻率fs的采樣時鐘脈沖CLK和比CLK更快的操作時鐘脈沖MCLK。在音頻信號處理單元20中,每當產生采樣時鐘脈沖CLK時,就觸發(fā)音頻數據A和B的信號處理的執(zhí)行。與操作時鐘脈沖MCLK同步,執(zhí)行對信號處理部件的定時控制。在該實施例中,采樣時鐘脈沖的頻率fs與音頻數據B的采樣頻率f2相同。因此,音頻數據B可以直接在音頻信號處理單元20中被處理,而無需采樣頻率的轉換。音頻數據A的采樣頻率f1與頻率fs(=f2)不相同。因此,在該實施例中,音頻數據A被捕獲到音頻信號處理單元20中,然后作為采樣率轉換(SRC)操作,其采樣頻率從f1被轉換到fs(=f2)。SRC操作將在后面描述。
如圖1所示,音頻信號處理單元20具有數據路徑單元30、狀態(tài)機單元40和模式寄存器50。數據路徑單元30具有用于存儲臨時數據31的存儲器,以及操作單元32。存儲臨時數據31的存儲器被用作用于臨時存儲要處理的音頻數據A和B的緩沖區(qū),以及用作用于臨時存儲在信號處理中的數字數據的臨時存儲區(qū)。操作單元32是這樣一種設備,其用于對從存儲臨時數據31的存儲器中讀出的數據執(zhí)行算術操作,且具有乘法器33、累加器34和操作系數發(fā)生電路35。在這點上,乘法器33是一種用于使從存儲臨時數據31的存儲器中讀出的數據乘以操作系數的電路,操作系數發(fā)生電路35用于產生操作系數。應該產生什么操作系數是根據要對目標數據執(zhí)行的操作類型來確定的。累加器34是這樣一種電路,其用于每當從乘法器33輸出乘法結果時,就累加該輸出的乘法結果。除了對乘法器33的乘法結果進行累加的操作之外,累加器還能夠進行直通操作,在直通操作中使乘法結果略過累加。根據由狀態(tài)機單元40供給的控制信號來確定以上的操作單元32應該執(zhí)行什么操作;存儲臨時數據31的存儲器中的哪個區(qū)域數據應該作為算術操作的目標;以及作為操作結果的、來自累加器34的輸出數據應該被提供給存儲器的哪個區(qū)。
狀態(tài)機單元40被供給指示了數據路徑單元30的內部狀態(tài)的狀態(tài)信號。狀態(tài)機單元40是這樣一種設備,其用于根據狀態(tài)信號來監(jiān)測數據路徑單元30的內部狀態(tài)變化,以及根據監(jiān)測的結果來輸出控制信號,以使數據路徑單元30執(zhí)行各種信號處理。
狀態(tài)機單元40具有操作狀態(tài)機41a至41h,作為用于控制數據路徑單元30的算術操作執(zhí)行的裝置。以下列出了在這些操作狀態(tài)機的控制下、由數據路徑單元30執(zhí)行的算術操作a.SRC(采樣率轉換)操作SRC操作進行如下處理從用于存儲臨時數據31的存儲器中讀出具有采樣頻率f1的音頻數據,并將讀出的音頻數據轉換為具有采樣頻率fs(=f2)的音頻數據。SRC操作在操作狀態(tài)機41a的控制下被執(zhí)行。
b.VOL(音量)操作VOL操作進行如下處理從用于存儲臨時數據31的存儲器中讀出音頻數據,并調節(jié)其音量。VOL操作在操作狀態(tài)機41b的控制下被執(zhí)行。
c.FADE(衰減)操作FADE操作進行如下處理從用于存儲臨時數據31的存儲器中讀出音頻數據,并臨時將音量控制到聽不見的水平(靜音水平(mutinglevel))。VOL操作在操作狀態(tài)機41c的控制下被執(zhí)行。
d.MIX(數字混合)操作MIX操作進行如下處理從用于存儲臨時數據31的存儲器中讀出兩種類型的音頻數據,并且混合這兩種音頻數據。MIX操作在操作狀態(tài)機41d的控制下被執(zhí)行。
e.EQ(數字均衡器)操作EQ操作進行如下操作從用于存儲臨時數據31的存儲器中讀出音頻數據,并調節(jié)每個頻帶的電平。EQ操作在操作狀態(tài)機41e的控制下被執(zhí)行。
f.VSP(虛擬揚聲器定位)操作如圖2所示,VSP操作進行如下處理從用戶存儲臨時數據31的存儲器中讀出L和R通道的音頻數據,使為虛擬揚聲器VSP-L和VSP-R的位置準備的有限沖擊響應(FIR)濾波器系數串與各個數據卷積,以及執(zhí)行電平移位。VSP操作在操作狀態(tài)機41f的控制下被執(zhí)行。如果在VSP操作之后,L和R通道的音頻數據被數模(D/A)轉換,并且從左揚聲器SP-L和右揚聲器SP-R輸出,則有可能給聽眾這樣的聽覺效應,就好像L和R通道的聲音是從虛擬揚聲器VSP-L和VSP-R輸出的。
g.LOAD(數據加載)操作LOAD操作進行如下處理把音頻數據A和B一次存儲到用于存儲臨時數據31的存儲器的緩沖區(qū)中,并將這些數據傳送給需要數據的算術操作。LOAD操作在操作狀態(tài)機41g的控制下被執(zhí)行。
h.VSP THRU(VSP直通)操作VSP THRU操作進行如下處理從用于存儲臨時數據31的存儲器中讀出L和R通道的音頻數據,并且在忽略FIR濾波操作的情況下執(zhí)行VSP操作,換句話說,執(zhí)行圖2中的移位操作。VSP THRU操作在操作狀態(tài)機41h的控制下被執(zhí)行。
該實施例中的音頻信號處理單元20能夠執(zhí)行由上述算術操作結合組成的各種信號處理。音頻信號處理單元20可以執(zhí)行的信號處理有n種模式,即模式0至n-1,如圖3所示。模式信息被寫入音頻信號處理單元20中的模式寄存器50中,以指定應該從模式0至n-1中選擇哪種模式用于信號處理。在一個優(yōu)選實施例中,根據安裝有音頻信號處理器10的設備的操作部分的控制,將模式信息寫入模式寄存器50中。在另一個優(yōu)選實施例中,控制音頻信號處理器10的主處理器根據軟件將模式信息寫入模式寄存器50中。在另一個實施例中,模式寄存器50可以由非易失性存儲器構成,并且可以在出廠之前在工廠將指定的模式信息寫入模式寄存器50中。
操作級調用狀態(tài)機單元42是n個操作級調用狀態(tài)機的集合,用于使數據路徑單元30執(zhí)行與圖3所示的模式0至n-1相對應的各種信號處理。在狀態(tài)機單元40中,每當采樣時鐘脈沖CLK產生時,這些操作級調用狀態(tài)機當中的、與模式寄存器50中的模式信息所指定的模式相對應的操作級調用狀態(tài)機就被啟動。
與各種模式相對應的操作級調用狀態(tài)機具有以下功能順序地啟動與構成信號處理的一個或多個算術操作相對應的操作狀態(tài)機,以便使數據路徑單元30在該模式下執(zhí)行信號處理。由操作級調用狀態(tài)機啟動的操作狀態(tài)機產生控制信號,使數據路徑單元30執(zhí)行相關的算術操作。該控制信號通過操作級調用狀態(tài)機被供給數據路徑單元30。
此外,操作級調用狀態(tài)機執(zhí)行控制,以便在構成信號處理的各個算術操作之間適當地傳送數據。如圖3所示,在構成信號處理的算術操作之間傳送數據的實施例取決于模式。例如,考慮MIX操作,在模式0下,VOL操作的結果和LOAD操作的結果被傳送給MIX操作,而在模式1下,VOL操作的結果和EQ操作的結果被傳送給MIX操作。此外,在模式0下,MIX操作的結果被傳送給EQ操作,而在模式1下,MIX操作的結果被傳送給VSP操作。因此,在該實施例中,當用于使數據路徑單元30執(zhí)行算術操作的控制信號被發(fā)送給數據路徑單元30時,與各種模式相對應的操作級調用狀態(tài)機就發(fā)送控制信號給數據路徑單元30,該控制信號包括以下信息指示算術操作的目標數據的位置的信息,以及指示算術操作的結果的存儲位置或輸出目的地的信息。該控制使得能夠為每種模式設置從中獲取各個算術操作的輸入數據的位置,以及輸出數據供往的位置,以便使具有相同配置的數據路徑電路執(zhí)行各種信號處理。
除上述狀態(tài)機之外,狀態(tài)機單元40還具有狀態(tài)機43;以及主狀態(tài)機44,用于完全控制狀態(tài)機單元40中的所有狀態(tài)機。當模式寄存器50中的模式信息被更新時,狀態(tài)機43由主狀態(tài)機44啟動,并對存儲臨時數據31的存儲器進行初始化。這是因為,如果模式被切換,則在存儲臨時數據31的存儲器中保留的、在切換之前的模式下的算術操作結果可能影響在切換之后的模式下的算術操作。例如,在諸如VSP操作的、涉及延遲處理的算術操作中,除非在模式切換時對存儲臨時數據31的存儲器進行初始化,否則在切換之前的模式下的算術操作結果將被傳送到在切換之后的算術操作,這導致了失敗的結果,而不是想要的結果。為了防止該缺點,狀態(tài)機43在模式切換時被啟動。
圖1的模擬單元60主要包括數模(D/A)轉換器,其把上述音頻信號處理單元20輸出的L和R兩個通道的數字信號分別轉換為模擬信號,并將轉換后的模擬信號輸出到左、右揚聲器(圖1中未顯示)。
以上已經描述了根據該實施例的音頻信號處理器10的結構的細節(jié)。
接下來,以下將描述根據該實施例的操作。雖然在下述的操作中,L和R兩個通道的音頻數據要被數據路徑單元30處理,但是簡單地稱它們?yōu)椤耙纛l數據”,以簡化說明。
當來自信源A的音頻數據和來自信源B的演奏數據被供給圖1中的音頻信號處理器10時,采樣頻率為f1的音頻數據A從數字音頻I/F11輸出,采樣頻率為f2的音頻數據B從聲源14輸出,并且它們被供給音頻信號處理單元20。
參考圖4,圖4所示的時序圖顯示了音頻信號處理單元20為處理這些音頻數據而執(zhí)行的操作。在音頻信號處理單元20內,產生了頻率為^的采樣時鐘脈沖CLK和比CLK更快的操作時鐘脈沖MCLK。音頻數據A和B在與這些時鐘脈沖異步的定時,分別從數字音頻I/F 11和聲源14輸出,并且分別存儲在用于存儲臨時數據31的存儲器中的、音頻數據A的緩沖區(qū)和音頻數據B的緩沖區(qū)中。在該實施例中,這些緩沖區(qū)作為先進先出(FIFO)區(qū)工作。換句話說,要讀出的、已經存儲在緩沖區(qū)中的音頻數據A和B從最舊的數據按順序地被讀出。
在音頻信號處理單元20中,每當產生采樣時鐘脈沖CLK時,就對音頻數據A和B執(zhí)行信號處理。更明確地說,如果由模式寄存器50中的模式信息指示的模式例如是模式0,則每當產生采樣時鐘脈沖CLK時,音頻信號處理單元20就利用分時控制,來順序地執(zhí)行構成模式0的信號處理的LOAD操作、SRC操作、VOL操作、MIX操作、EQ操作、VSP操作和FADE操作,如圖4所示。
圖5所示的時序圖顯示了由音頻信號處理單元20在某一采樣頻率(1/fs)下執(zhí)行的對應于模式0的信號處理。在模式0下,通過利用采樣時鐘脈沖CLK的上升沿進行觸發(fā),來啟動操作級調用狀態(tài)機單元42中的、對應于模式0的操作級調用狀態(tài)機。首先,對應于模式0的操作級調用狀態(tài)機啟動操作狀態(tài)機41g進行LOAD操作。操作狀態(tài)機41g產生一控制信號,以使數據路徑單元30執(zhí)行LOAD操作。該控制信號通過對應于模式0的操作級調用狀態(tài)機被發(fā)送給數據路徑單元30。同時,對應于模式0的操作級調用狀態(tài)機發(fā)送這樣的控制信號給數據路徑單元30,該控制信號包括以下信息指示要讀出的音頻數據B中的最舊數據的存儲區(qū)的信息;以及指定存儲臨時數據31的存儲器中的MIX操作區(qū)的信息,該MX操作區(qū)是音頻數據B的輸出目的地。此外,在SRC操作需要補充音頻數據A的情況下,對應于模式0的操作級調用狀態(tài)機發(fā)送這樣的控制信號給數據路徑單元30,該控制信號包括以下信息指示在LOAD操作中要讀出的音頻數據A的存儲區(qū)的信息;以及將存儲臨時數據31的存儲器中的SRC操作區(qū)指定為音頻數據A的輸出目的地的信息。后面將描述,什么情況相當于SRC操作需要補充音頻數據A的情況。
在數據路徑單元30中,根據發(fā)自狀態(tài)機單元40的控制信號來執(zhí)行LOAD操作,如上所述。更明確地說,首先,操作系數發(fā)生電路35把“1”作為操作系數供給乘法器33。累加器34被設置為直通狀態(tài)。在這種情況下,從用于存儲臨時數據31的存儲器中的音頻數據B的緩沖區(qū)中讀出音頻數據B。音頻數據B經過乘法器33和累加器34,并被存儲在用于存儲臨時數據31的存儲器中的MIX操作區(qū)中。在SRC操作需要補充音頻數據A的情況下,從用于存儲臨時數據31的存儲器中的音頻數據A的緩沖區(qū)中讀出音頻數據A。該音頻數據A經過乘法器33和累加器34,并被存儲在用于存儲臨時數據31的存儲器中的SRC操作區(qū)中。當LOAD操作如此結束時,數據路徑單元30發(fā)送一指示LOAD操作結束的狀態(tài)信號給狀態(tài)機單元40。
一旦收到該狀態(tài)信號,對應于模式0的操作級調用狀態(tài)機就啟動操作狀態(tài)機41a進行SRC操作。操作狀態(tài)機41a產生一控制信號,以使數據路徑單元30執(zhí)行SRC操作。后面將詳細描述該控制信號。用于SRC操作的控制信號通過對應于模式0的操作級調用狀態(tài)機被發(fā)送給數據路徑單元30。同時,對應于模式0的操作級調用狀態(tài)機發(fā)送這樣的控制信號給數據路徑單元30,該控制信號包括以下信息將存儲臨時數據31的存儲器中的SRC操作區(qū)指定為要作為SRC操作的目標的輸入數據的存儲位置的信息;以及將存儲臨時數據31的存儲器中的VOL操作區(qū)指定為在采樣率轉換后的音頻數據的輸出目的地的信息。
在數據路徑單元30中,根據這樣從狀態(tài)機單元40發(fā)送的控制信號來執(zhí)行SRC操作。圖6顯示了SRC操作的情形。在SRC操作中,每當頻率為fs的采樣時鐘脈沖CLK產生時,插值操作就被執(zhí)行,以便在過去產生的一系列音頻數據A的包絡上以1/fs時間間隔排列的各個采樣點處,獲得音頻波形的單個瞬時值。在圖6中,在采樣時鐘脈沖CLK產生時所獲得的瞬時值由時間t1處的標記X表示。該瞬時值是通過使插值操作系數串與采樣點周圍的指定數目的音頻數據A進行卷積而獲得的。在圖6所示的例子中,利用在采樣點之后的一個音頻數據Ak和采樣點之前的三個音頻數據Ak-1、Ak-2和Ak-3,來獲得采樣點處的瞬時值。相位信息Δt表示,在應該在那里獲得瞬時值的采樣點與剛好在該采樣點之前的音頻數據Ak-1的產生定時之間的相位差。上述用于SRC操作的控制信號包括相位信息Δt。操作系數發(fā)生電路35產生與相位信息Δt相對應的預定插值操作系數串,并順序地將插值操作系數提供給乘法器33。與該操作同時,音頻數據Ak至Ak-3從存儲臨時數據31的存儲器的SRC操作區(qū)中被讀出,并且被順序地供給乘法器33。乘法器33分別使音頻數據Ak至Ak-3順序地乘以插值操作系數,并且累加器34累加乘法結果。這樣,插值操作系數串與音頻數據Ak至Ak-3進行卷積。然后,通過卷積操作獲得的、與時間t1處的采樣點相對應的音頻波形瞬時值被寫入用于存儲臨時數據31的存儲器中的VOL操作區(qū)中,作為SRC操作之后的音頻數據A。
隨后,數據路徑單元30獲得與在已獲得當前瞬時值的采樣點之后的采樣點相對應的相位信息Δt,并將其作為狀態(tài)信號發(fā)送給狀態(tài)機單元40。在隨后的SRC操作中,該相位信息Δt將作為控制信號的一部分,從狀態(tài)機單元40被發(fā)送給數據路徑單元30??梢酝ㄟ^使操作單元32執(zhí)行,例如把頻率比f1/fs添加到當前相位信息Δt上的處理,來獲得與新的采樣點相對應的相位信息Δt。
如果通過添加頻率比f1/fs獲得的相位信息Δt超過“1”,則下一次要獲得的音頻波形的瞬時值是針對比SRC操作區(qū)中的最新音頻數據Ak更遲的時點的。在這種情況下,隨后的SRC操作需要補充新的音頻數據Ak+1,以及使用音頻數據Ak+1、Ak、Ak-1和Ak-2。因此,數據路徑單元30發(fā)送這樣的狀態(tài)信息給狀態(tài)機單元40,該狀態(tài)信息包括以下信息相位信息Δt,它是通過使在添加頻率比f1/fs之后獲得的相位信息Δt減“1”而獲得的相位信息;以及指示在下一個采樣周期中必須添加音頻數據Ak+1的信息。
從數據路徑單元30收到的狀態(tài)信號被存儲在操作級調用狀態(tài)機單元42中的對應于模式0的操作級調用狀態(tài)機中,以供隨后的SRC操作使用。在某些情況下,來自數據路徑單元30的狀態(tài)信號包括指示需要補充新的音頻數據A的信息。在這些情況下,當在隨后的采樣周期中,數據路徑單元30被控制去執(zhí)行LOAD操作時,對應于模式0的操作級調用狀態(tài)機發(fā)送這樣的控制信號給數據路徑單元30,該控制信號包括以下信息指示音頻數據A的存儲區(qū)的信息;以及將存儲臨時數據31的存儲器中的SRC操作區(qū)指定為音頻數據A的輸出目的地的信息,如上所述。
以上描述了由音頻信號處理單元20執(zhí)行的SRC操作的細節(jié)。
實際的音頻數據A的采樣頻率f1有時間起伏,并且采樣時鐘脈沖CLK的采樣頻率fs也有時間起伏。如果,當這些時間起伏較大時,通過累加如上所述的固定值f1/fs來計算相位信息Δt,則在通過SRC操作計算的音頻波形瞬時值的相位與被寫入音頻數據A緩沖區(qū)中的音頻數據A的相位之間的相位差將隨時間而增大。由此,有可能發(fā)生緩沖區(qū)的上溢或下溢。為了防止該缺點,優(yōu)選地,監(jiān)測在緩沖區(qū)中仍未讀出的音頻數據的余額如果余額小于指定值,則減小要在每個采樣周期加到相位信息Δt上的增量,以防止下溢;或者如果余額大于指定值,則增大要加到相位信息Δt上的增量,以防止上溢。在例如專利文獻3中公開了該技術,專利文獻3的專利已被本申請人應用。
專利文獻3是已公開的日本專利公開(Kokai)No.H11(1999)-55075。
一旦借助于來自數據路徑單元30的狀態(tài)信號檢測到SRC操作的結束,操作級調用狀態(tài)機單元42中的對應于模式0的操作級調用狀態(tài)機就啟動操作狀態(tài)機41b進行VOL操作。操作狀態(tài)機41c產生一控制信號,以使數據路徑單元30執(zhí)行VOL操作。該控制信號通過對應于模式0的操作級調用狀態(tài)機被發(fā)送給數據路徑單元30。同時,對應于模式0的操作級調用狀態(tài)機發(fā)送這樣的控制信號給數據路徑單元30,該控制信號包括以下信息指示要作為VOL操作的目標的輸入數據的位置的信息;以及將存儲臨時數據31的存儲器中的MIX操作區(qū)指定為作為VOL操作的結果而獲得的音頻數據的輸出目的地的信息。
數據路徑單元30根據如上所述的發(fā)自狀態(tài)機單元40的控制信號來執(zhí)行VOL操作,如下所述。首先,在SRC操作之后的音頻數據A從存儲臨時數據31的存儲器中的VOL操作區(qū)中被讀出。然后,操作單元32對該音頻數據A執(zhí)行VOL操作,并將結果獲得的音頻數據存儲在用于存儲臨時數據31的存儲器中的MIX操作區(qū)中。當VOL操作這樣結束時,數據路徑單元30將指示VOL操作結束的狀態(tài)信號發(fā)送給狀態(tài)機單元40。
一旦借助于來自數據路徑單元30的狀態(tài)信號檢測到VOL操作結束,操作級調用狀態(tài)機單元42中的對應于模式0的操作級調用狀態(tài)機就啟動操作狀態(tài)機41d進行MIX操作。操作狀態(tài)機41d產生一控制信號,以使數據路徑單元30執(zhí)行MIX操作。該控制信號通過對應于模式0的操作級調用狀態(tài)機被發(fā)送給數據路徑單元30。同時,對應于模式0的操作級調用狀態(tài)機發(fā)送這樣的控制信號給數據路徑單元30,該控制信號包括以下信息指示要作為MIX操作的目標的輸入數據的位置的信息;以及將存儲臨時數據31的存儲器中的EQ操作區(qū)指定為作為MIX操作的結果而獲得的音頻數據的輸出目的地的信息。
數據路徑單元30根據如上所述的發(fā)自狀態(tài)機單元40的控制信號,來執(zhí)行MIX操作。MIX操作是針對在用于存儲臨時數據31的存儲器中的MIX操作區(qū)中存儲的音頻數據A和B進行的。在這點上,音頻數據A已經經過了上述的SRC操作,由此變成了具有與音頻數據B一樣的采樣頻率f2的采樣數據。因此,在MIX操作中,只需對這些音頻數據執(zhí)行加權求和。以下將描述該操作。
首先,從MIX操作區(qū)中讀出音頻數據A,并且從操作系數發(fā)生電路35輸出定義了音頻數據A的權重的混合系數,然后將它們提供給乘法器33。乘法器33使音頻數據A乘以該混合系數。該乘法的結果被提供給并存儲在累加器34中。隨后,從用于存儲臨時數據31的存儲器的MIX操作區(qū)中讀出音頻數據B,并且從操作系數發(fā)生電路35輸出定義了音頻數據B的權重的混合系數,然后將它們提供給乘法器33。乘法器33使音頻數據B乘以該混合系數。該乘法的結果被提供給累加器34。累加器34執(zhí)行累加處理,其中乘法結果被加到已經存儲的數據上。該累加處理產生了由音頻數據A和B混合組成的音頻數據?;旌喜僮骱蟮囊纛l數據被存儲到用于存儲臨時數據31的存儲器中的EQ操作區(qū)中。一旦混合操作這樣結束,數據路徑單元30就將指示混合操作結束的狀態(tài)信號發(fā)送給狀態(tài)機單元40。
以下,基本上在如上所述的相同控制下執(zhí)行VSP操作和FADE操作。
在執(zhí)行最后的FADE操作期間,對應于模式0的操作級調用狀態(tài)機把指定模擬單元60作為FADE操作結果的輸出目的地這樣的信息發(fā)送給數據路徑單元30。數據路徑單元30根據該信息,將FADE操作結果發(fā)送給模擬單元60。
一旦最后FADE操作結束,音頻信號處理單元20就進入空閑(IDLE)狀態(tài)。在IDLE狀態(tài)下,數據路徑單元30不執(zhí)行任何信號處理操作,由此將音頻信號處理器10的整個功耗抑制到低水平。
此后,當采樣時鐘脈沖CLK產生,并且由此新的采樣周期開始時,從LOAD操作至FADE操作的模式0的信號處理就再次被執(zhí)行,如圖4所示。
無論何時產生采樣時鐘脈沖CLK,以上處理都被重復,借此,在如圖3所示的模式0下的信號處理之后的模擬信號在模擬單元60中產生,并作為聲音從左、右揚聲器輸出。
同樣,當指定了另一模式的模式信息被存儲在模式寄存器50中,則通過如上所述的相同控制來執(zhí)行在該模式下的信號處理。圖7圖解說明了,當在圖3所示的模式1下執(zhí)行信號處理時音頻信號處理單元20所執(zhí)行的操作。比較圖7與圖5,MIX操作區(qū)和EQ操作區(qū)彼此替代交換。然而,應該注意,雖然它們被排列為如圖所示以避免復雜的繪圖,但是,這并不表示MIX操作區(qū)和EQ操作區(qū)實際上彼此替代。
在上述的模式0下的信號處理中,通過對應于模式0的操作級調用狀態(tài)機的工作,來按順序地啟動LOAD、SRC、VOL、MIX、EQ、VSP和FADE操作。另一方面,在模式1下的信號處理中,通過對應于模式1的操作級調用狀態(tài)機的工作,來按順序地啟動LOAD、SRC、VOL、EQ、MIX、VSP和FADE操作。此外,通過對應于模式1的操作級調用狀態(tài)機的工作,操作之間的數據傳送不同于模式0下的操作之間的數據傳送。
如上所述,根據該實施例的音頻信號處理器10能夠利用共用數據路徑單元30,來執(zhí)行內容各不相同的多種信號處理。此外,通過預先把與期望的信號處理相對應的模式信息寫入模式寄存器50中,能夠使音頻信號處理單元20執(zhí)行信號處理。因此,有可能利用單一芯片來實現符合多種不同類型的信號處理規(guī)范的音頻信號處理器10。在根據該實施例的音頻信號處理器10中存在空閑狀態(tài),在該空閑狀態(tài)下,在從采樣周期的開始到對應于模式信息的信號處理執(zhí)行之后的下一個采樣周期的期間內,數據路徑單元30根本不操作。此外,在對應于模式信息的信號處理中,數據路徑單元30只針對信號處理執(zhí)行操作。因此,根據該實施例,避免了不必要的信號處理操作,由此消除了浪費的功耗且實現了低功耗。因此,音頻信號處理器10可以被安裝到要求具有低功耗的便攜式電子設備上,例如移動電話上。因此,為這些設備提供高質量的音頻信號處理功能成為可能。
第二實施例根據第二實施例的音頻信號處理器的結構基本上與圖1所示的第一實施例的音頻信號處理器相同。在以上的第一實施例中,操作級調用狀態(tài)機單元42是作為與模式0至n-1相對應的多個操作級調用狀態(tài)機的集合。該實施例中的操作級調用狀態(tài)機單元42是單一狀態(tài)機,其控制數據路徑單元30,并根據圖8所示的判定表來執(zhí)行狀態(tài)轉移。圖9說明了顯示該操作的狀態(tài)轉移圖。
如圖9所示,操作級調用狀態(tài)機單元42根據當前的狀態(tài)和模式來確定數據路徑單元30的控制的內容(步驟S1和S2)。例如,如果當前要控制數據路徑單元30的SRC操作,并且模式0被應用了,則操作級調用狀態(tài)機單元42發(fā)送一個指示SRC操作的控制信號給數據路徑單元30。同時,操作級調用狀態(tài)機單元42根據圖8中的判定表,發(fā)送一個指定VOL操作區(qū)作為通過SRC操作獲得的數據的輸出目的地的控制信號給數據路徑單元30。然后,一旦借助于來自數據路徑單元30的狀態(tài)信號檢測到SRC操作結束,操作級調用狀態(tài)機單元42就根據圖8中的判定表轉移到用于控制VOL操作的狀態(tài)(步驟S3)。此后,在用于控制VOL操作的狀態(tài)下,操作級調用狀態(tài)機單元42再次根據當前的狀態(tài)(在該情況下為用于控制VOL操作的狀態(tài))和模式來控制數據路徑單元30(步驟S1和S2)。
在該實施例中,也獲得了與以上的第一實施例相同的效果。
其它手段雖然以上已經描述了本發(fā)明的第一實施例和第二實施例,但是本發(fā)明還有以下的手段(1)用于存儲臨時數據的存儲器中的供算術操作使用的區(qū)域的分配可以取決于模式。例如,有可能,在只有幾種算術操作將被執(zhí)行的模式下分配的存儲區(qū)要大于在更多的算術操作將被執(zhí)行的模式下分配的存儲區(qū)。
(2)除非模式切換被動態(tài)地執(zhí)行,否則用于對存儲臨時數據的存儲器進行初始化的狀態(tài)機43以及主狀態(tài)機44是不必要的。因此,在這種情況下可以省略它們。
第三實施例以下將參考
本發(fā)明的第三實施例。
圖10所示框圖顯示了根據本發(fā)明第三實施例的音頻信號處理器10的結構。音頻信號處理器10是一個包括等效于所示部件的電路、在半導體芯片上形成的LSI,并且被安裝在需要效應器功能、混合功能和其它功能的各種音頻設備上。
根據該實施例的音頻信號處理器10具有對應于通道0的CH0接口70、對應于通道1的CH1接口71和對應于通道2的CH2接口72,作為用于輸入音頻數據到處理器中的接口。這些接口70至72可以接收從相同信源輸出的數據,或者可以接收從不同信源輸出的數據。此外,這些接口70至72可以以相同的格式處理數據,或者可以以不同的格式處理數據。例如,可以有這樣一種方式,以至某一接口接收和輸出作為音頻波形的采樣數據的音頻數據,而其它接口接收MIDI或其它演奏數據,并據此產生和輸出音頻數據。
有效/無效通道檢測電路80根據經過通道的接口70至72輸入的音頻數據,來檢測各個通道是有效還是無效的,并輸出指示結果的通道狀態(tài)信號。
在這點上,有效/無效通道檢測電路80不是在表示靜默(slience)的音頻數據輸入之后就立即判定通道變?yōu)闊o效,而是在表示靜默的音頻數據輸入之后,如果沒有音頻數據輸入的狀況繼續(xù)持續(xù)預置的指定長時間,才判定通道變?yōu)闊o效。這是因為,如果指示無效狀態(tài)的通道狀態(tài)信號立即輸出,則有可能中斷正在為已經在前一采樣周期輸入的音頻數據執(zhí)行的信號處理。后面將描述,最為優(yōu)選地應該將多長時間設置為判定無效狀態(tài)的指示。在以上實施例中,通過檢測通道中沒有輸入的音頻數據,來產生通道狀態(tài)信號。作為選擇,輸入音頻數據自身可以包含指示相應通道的狀態(tài)的狀態(tài)信息。
音頻信號處理單元20對經過接口70至72輸入的音頻數據執(zhí)行信號處理,并輸出作為處理結果的L和R兩個通道的數字信號。主要包括D/A轉換器的模擬單元60將從音頻信號處理單元20輸出的L和R兩個通道的數字信號轉換為模擬信號,并將模擬信號輸出到左、右揚聲器(未顯示)。
如圖10所示,音頻信號處理單元20具有數據路徑單元30和狀態(tài)機單元40。數據路徑單元30具有用于存儲臨時數據31的存儲器,以及操作單元32。
存儲臨時數據31的存儲器被用作臨時存儲區(qū),用于臨時存儲要處理的音頻數據和在信號處理中的數字數據。在這點上,由音頻信號處理器10執(zhí)行的信號處理包括所謂的延遲系統(tǒng)的信號處理,因此用于存儲臨時數據31的存儲器具有安全的FIFO存儲器,該FIFO存儲器具有用于存儲n段音頻數據的存儲區(qū)。“n”是能夠存儲在FIFO存儲器中的音頻數據的數量,其根據最長延時與采樣周期之比被預先設置。
如上所述,只有當表示靜默的音頻數據輸入之后,沒有音頻數據輸入的狀況繼續(xù)持續(xù)指定長時間時,有效/無效通道檢測電路80才確定無效狀態(tài)。最優(yōu)選的情況是,把作為確定無效狀態(tài)的指示的持續(xù)時間設置為比上述的最長延時更長。在諸如產生混響的延遲系統(tǒng)的信號處理中,存儲臨時數據31的存儲器的特定存儲區(qū)被用作FIFO,用于每當一個采樣周期過去就延遲音頻數據,以使FIFO中的音頻數據順序地向后移位到后面的存儲區(qū),同時通過使用FIFO中的音頻數據,使操作順序地執(zhí)行。因此,即使音頻數據的輸入停止了,也將發(fā)生一定的時滯,直到整個信號處理結束為止。因此,用于確定無效狀態(tài)的持續(xù)時間被設置為,比存儲臨時數據31的存儲器中的所有音頻數據都被清除的時間稍晚一些結束。由此,有可能防止針對已經輸入的音頻數據的信號處理被中斷的情況發(fā)生。
操作單元32是這樣一種設備,其用于對從存儲臨時數據31的存儲器中讀出的數據執(zhí)行算術操作,且具有乘法器33、累加器34和操作系數發(fā)生電路35。在這點上,乘法器33是一種用于使從存儲臨時數據31的存儲器中讀出的數據乘以操作系數的電路,操作系數發(fā)生電路35用于產生操作系數。應該產生什么操作系數是根據要對目標數據執(zhí)行的操作類型來確定的。累加器34是這樣一種電路,其用于每當從乘法器33輸出乘法結果時,就累加該輸出的乘法結果。根據由狀態(tài)機單元40(更明確地說,是用于相關的算術操作的狀態(tài)機)供給的控制信號來確定以下所有信息操作系數發(fā)生電路35應該產生什么操作系數;乘法器33和累加器34應該執(zhí)行什么操作;存儲臨時數據31的存儲器中的哪個區(qū)域數據應該作為算術操作的目標;以及操作結果應該輸出到存儲器的哪個區(qū)。
狀態(tài)機單元40是一種用于對數據路徑單元30的狀態(tài)轉移進行控制的設備。狀態(tài)機單元40被供給用于指示數據路徑單元30的內部狀態(tài)的狀態(tài)信號,并且根據該狀態(tài)信號來監(jiān)測數據路徑單元30的內部狀態(tài)變化。然后,狀態(tài)機單元40根據監(jiān)測結果輸出控制信號給數據路徑單元30,以便使數據路徑單元30執(zhí)行各種信號處理。
如圖10所示,狀態(tài)機單元40具有操作狀態(tài)機410至412,分別對應于通道0至2;以及主狀態(tài)機44,用于完全控制這些操作狀態(tài)機。在這點上,操作狀態(tài)機410至412是用于控制數據路徑單元30、以使數據路徑單元30對通道0至2的各個音頻數據執(zhí)行信號處理的狀態(tài)機。更明確地說,一旦被主狀態(tài)機44啟動,操作狀態(tài)機410至412就在預置的程序中順序地輸出一系列控制信號,該一系列控制信號指定了以下信息操作系數發(fā)生電路35要產生的操作系數,在存儲臨時數據31的存儲器中的、用以存儲要成為操作目標的數據的地址,由乘法器33和累加器34執(zhí)行的操作的內容,以及操作結果的輸出目的地。該系列的信號與音頻信號處理單元20內部產生的主時鐘脈沖同步,順序地輸出。
主狀態(tài)機44在各個采樣周期以指定的次序順序地啟動操作狀態(tài)機410至412。然而,注意,如果在某一采樣周期,從有效/無效通道檢測電路80輸出了指示特定通道變?yōu)闊o效的通道狀態(tài)信號,則在下一個采樣周期,主狀態(tài)機40略過與該通道對應的操作狀態(tài)機的啟動,并使狀態(tài)機單元40轉移到下一個狀態(tài)。與無效通道相對應的信號處理控制的略過操作被重復執(zhí)行,直到指示該無效通道恢復到有效狀態(tài)的通道狀態(tài)信號輸出為止。
以下將參考圖11和圖12,來描述狀態(tài)機單元40的狀態(tài)轉移與操作單元32的處理之間的關系。圖11(a)顯示了在其中所有通道都有效的采樣周期中、狀態(tài)機單元40的狀態(tài)轉移。圖11(b)顯示了在其中通道1無效的采樣周期中、狀態(tài)機單元40的狀態(tài)轉移。在這些圖中,“CH0”表示這樣的狀態(tài),其中操作狀態(tài)機410正在控制數據路徑單元30,以便實現對通道0的音頻數據的信號處理。“CH1”表示這樣的狀態(tài),其中操作狀態(tài)機411正在控制數據路徑單元30,以便實現對通道1的音頻數據的信號處理?!癈H2”表示這樣的狀態(tài),其中操作狀態(tài)機412正在控制數據路徑單元30,以便實現對通道2的音頻數據的信號處理。此外,“IDLE”表示這樣的狀態(tài),其中沒有操作狀態(tài)機啟動,并且在數據路徑單元30中沒有信號處理在執(zhí)行。
如果所有通道都是有效的,則由于采樣周期的開始,使得狀態(tài)機單元40從“IDLE”狀態(tài)轉移到“CH0”狀態(tài),然后從“CH1”狀態(tài)轉移到“CH2”狀態(tài),并返回到“IDLE”狀態(tài),如圖11(a)所示。因此,在該采樣周期中,對CH0、CH1和CH2的所有采樣數據的信號處理都被執(zhí)行,如圖12(a)所示。
如果通道1無效,則在狀態(tài)機單元40的狀態(tài)轉移中“CH1”狀態(tài)被略過,如圖11(b)所示。因此,狀態(tài)以以下順序轉移“IDLE”、“CH0”和“CH2”。然后,返回到“IDLE”。因此,在該采樣周期中,對通道0和通道2的音頻數據的信號處理被執(zhí)行,而對通道1的音頻數據的信號處理沒有被執(zhí)行,如圖12(b)所示。從而,由于略過了對通道1的音頻數據的信號處理,獲得了較長時間的“IDLE”狀態(tài),由此降低了功耗。
在從有效/無效通道檢測電路80中輸出了指示通道0或通道2變?yōu)闊o效的通道狀態(tài)信號的情況下,也是如此。假如這樣的話,主狀態(tài)機44略過與無效通道相對應的操作狀態(tài)機的啟動。因此,該無效通道的算術操作不必執(zhí)行,由此減小了信號處理操作所需的功耗。因此,有可能將處理器安裝在要求具有低功耗的電子設備上,如移動電話上,從而有可能為這些設備提供高質量的音頻信號處理功能。
第四實施例在第三實施例中,如果某一通道的音頻數據連續(xù)停止指定長時間或較長時間,則相關通道的信號處理的執(zhí)行被終止。另一方面,在第四實施例中,以下操作被執(zhí)行。首先,如果表示靜默的音頻數據的輸入關于某一通道持續(xù)了超過第一持續(xù)時間的時間,則有效/無效通道檢測電路80輸出第一通道狀態(tài)信號。如果表示靜默的音頻數據的輸入關于該通道持續(xù)了超過第二持續(xù)時間的時間,其中第二持續(xù)時間比第一持續(xù)時間長,則有效/無效通道檢測電路80輸出第二通道狀態(tài)信號。第二持續(xù)時間與在上述第三實施例中用于確定通道變?yōu)闊o效的靜默持續(xù)時間相等。以與第三實施例相同的方式,狀態(tài)機單元40的操作狀態(tài)機410至412根據通道狀態(tài)信號略過信號處理。然而,在此根據輸出的是第一通道狀態(tài)信號還是第二通道狀態(tài)信號,來以不同的方式執(zhí)行略過操作。
例如,如果通道0是有效的,則主狀態(tài)機44啟動對應于通道0的操作狀態(tài)機410。假設操作狀態(tài)機410按照“過程1”、“過程2”、“過程3”、“過程4”和“IDLE”的順序,來轉移數據路徑單元30的狀態(tài),以使數據路徑單元30執(zhí)行通道0的信號處理。如果在該情況下對應于通道0的第一通道狀態(tài)信號被輸出,則操作狀態(tài)機410略過“過程2”,不包括例如延遲過程。此后,如果關于通道0的第二通道狀態(tài)信號被輸出,則主狀態(tài)機44略過對應于通道0的操作狀態(tài)機410的啟動。結果,對應于通道0的所有通道處理都被停止。此后,如果通道0的表示聲音的音頻數據被輸入,并且指示該情況的通道狀態(tài)信號被輸出,則主狀態(tài)機44在隨后的采樣周期中啟動操作狀態(tài)機410,以重新開始對應于通道0的信號處理。
這樣,通過如下的安排顯示了該實施例要在操作狀態(tài)機410至412的控制下執(zhí)行的單個處理在開始與停止條件之間切換。因此,能夠執(zhí)行以下操作如果在靜默的音頻數據輸入之后,處理立即就可以被停止,例如在均衡器處理的情況下,則在第一通道狀態(tài)信號輸出之后,處理立即就被停止;如果優(yōu)選地在等待用于存儲臨時數據31的存儲器中存儲的所有數據都清除之后停止處理,例如在延遲系統(tǒng)處理的情況下,則在此后的第二通道狀態(tài)信號輸出的時候,處理被停止。這使得能夠以更高的時間分辨率略過不必要的操作,因此能夠進一步降低信號處理所需的功耗。
權利要求
1.一種音頻信號處理器,包括數據路徑單元,將一個或多個算術操作應用于音頻信號,用于執(zhí)行音頻信號的信號處理;模式寄存器,存儲指定了數據路徑單元要執(zhí)行的信號處理的模式信息;以及狀態(tài)機單元,順序地供給控制信號,用于使數據路徑單元將一個或多個算術操作應用于音頻信號,以便執(zhí)行由一個或多個算術操作組成、并且由模式寄存器中存儲的模式信息指定的信號處理。
2.根據權利要求1所述的音頻信號處理器,其中所述狀態(tài)機單元供給控制信號,所述控制信號傳送以下信息指示要進行各個算術操作的音頻信號的輸入數據的位置的信息;以及指示各個算術操作的結果的輸出目的地的信息。
3.根據權利要求1所述的音頻信號處理器,還包括多個接口,所述多個接口從外部接收音頻信號或者根據從外部供給的源信號來產生音頻信號,并將所述音頻信號提供給數據路徑單元,其中所述狀態(tài)機單元產生控制信號,用于使所述數據路徑單元執(zhí)行算術操作,以便把從接口供給的音頻信號的格式轉換為預定的格式。
4.根據權利要求3所述的音頻信號處理器,其中所述狀態(tài)機單元產生控制信號,用于使所述數據路徑單元執(zhí)行算術操作,以便把具有相同格式、且被加載到數據路徑單元中的多個音頻信號混合。
5.根據權利要求1所述的音頻信號處理器,其中每當時鐘脈沖在指定周期被供給時,所述狀態(tài)機單元就產生控制信號,用于使所述數據路徑單元執(zhí)行由模式寄存器中存儲的模式信息所指定的信號處理。
6.根據權利要求5所述的音頻信號處理器,其中所述數據路徑單元向所述狀態(tài)機單元提供指示了在執(zhí)行中的算術操作的狀態(tài)的狀態(tài)信號,以及其中所述狀態(tài)機單元根據供給的狀態(tài)信號來確定,當下一個時鐘脈沖被提供時應該發(fā)往所述數據路徑單元的控制信號的內容。
7.根據權利要求1所述的音頻信號處理器,其中所述狀態(tài)機單元順序地供給控制信號,用于使所述數據路徑單元連續(xù)地執(zhí)行構成由模式信息指定的信號處理的多個算術操作。
8.一種音頻信號處理器,包括多個接口,分別接收多個通道的音頻數據;檢測單元,根據經過所述多個接口輸入的多個通道的音頻數據,來產生用于指示各個通道是處于有效狀態(tài)還是處于無效狀態(tài)的狀態(tài)信號;以及音頻信號處理單元,以時分方式對多個通道的音頻數據執(zhí)行信號處理,其中所述音頻信號處理單元根據從所述檢測單元輸出的狀態(tài)信號,來判定各個通道是處于有效狀態(tài)還是處于無效狀態(tài),并且只對有效狀態(tài)下的通道的音頻數據執(zhí)行信號處理,并停止對無效狀態(tài)下的通道的音頻數據的信號處理。
9.根據權利要求8所述的音頻信號處理器,其中如果某一通道的音頻數據停止了長達指定長時間,則所述檢測單元產生指示該通道處于無效狀態(tài)的狀態(tài)信號。
10.根據權利要求8所述的音頻信號處理器,其中當通道的音頻數據連續(xù)停止了超過第一持續(xù)時間的時間,則所述檢測單元產生第一狀態(tài)信號,以及當該通道的音頻數據連續(xù)停止了超過比所述第一持續(xù)時間長的第二持續(xù)時間的時間,則所述檢測單元產生第二狀態(tài)信號;以及,如果對于該通道從所述檢測單元產生了第一狀態(tài)信號,則所述音頻信號處理單元停止對該通道的一部分信號處理,以及如果對于該通道產生了第二狀態(tài)信號,則所述音頻信號處理單元停止對該通道的所有信號處理。
11.一種處理音頻信號的方法,包括以下步驟將一個或多個算術操作應用于音頻信號,以執(zhí)行音頻信號的信號處理;注冊指定了要執(zhí)行的信號處理的模式信息;以及順序地供給控制信號,用于使一個或多個算術操作應用于音頻信號,以便執(zhí)行由所述一個或多個算術操作組成的、且由注冊的模式信息指定的信號處理。
12.一種處理音頻信號的方法,包括以下步驟分別通過多個接口接收多個通道的音頻數據;根據通過多個接口輸入的多個通道的音頻數據,來產生指示各個通道是處于有效狀態(tài)還是處于無效狀態(tài)的狀態(tài)信號;以及以時分方式對多個通道的音頻數據執(zhí)行信號處理,其中根據所述狀態(tài)信號來判定各個通道是處于有效狀態(tài)還是處于無效狀態(tài),以及只對有效狀態(tài)下的通道的音頻數據執(zhí)行信號處理,并且停止對無效狀態(tài)下的通道的音頻數據的信號處理。
13.一種機器可讀介質,包含供音頻信號處理器使用的程序指令,其中所述程序指令可以由所述音頻信號處理器執(zhí)行,以執(zhí)行包括以下步驟的方法將一個或多個算術操作應用于音頻信號,以執(zhí)行音頻信號的信號處理;注冊指定了要執(zhí)行的信號處理的模式信息;以及順序地供給控制信號,用于使一個或多個算術操作應用于音頻信號,以便執(zhí)行由所述一個或多個算術操作組成的、且由注冊的模式信息指定的信號處理。
14.一種機器可讀介質,包含供音頻信號處理器使用的程序指令,其中所述程序指令可以由所述音頻信號處理器執(zhí)行,以執(zhí)行包括以下步驟的方法分別通過多個接口接收多個通道的音頻數據;根據通過多個接口輸入的多個通道的音頻數據,來產生指示各個通道是處于有效狀態(tài)還是處于無效狀態(tài)的狀態(tài)信號;以及以時分方式對多個通道的音頻數據執(zhí)行信號處理,其中根據所述狀態(tài)信號來判定各個通道是處于有效狀態(tài)還是處于無效狀態(tài),以及只對有效狀態(tài)下的通道的音頻數據執(zhí)行信號處理,并且停止對無效狀態(tài)下的通道的音頻數據的信號處理。
全文摘要
一種音頻信號處理器,其由數據路徑單元、模式寄存器和狀態(tài)機單元組成。數據路徑單元將一個或多個算術操作應用于音頻信號,以執(zhí)行音頻信號的信號處理。模式寄存器存儲指定了數據路徑單元要執(zhí)行的信號處理的模式信息。狀態(tài)機單元根據模式信息順序地供給控制信號,用于使數據路徑單元將一個或多個算術操作應用于音頻信號,以便執(zhí)行信號處理。被執(zhí)行的信號處理由一個或多個算術操作組成,并且由模式寄存器中存儲的模式信息指定。
文檔編號G06F17/00GK1612205SQ20041008967
公開日2005年5月4日 申請日期2004年10月29日 優(yōu)先權日2003年10月29日
發(fā)明者西岡直俊, 戶田裕行, 村木保之 申請人:雅馬哈株式會社