新四季網

進行自動音量控制的相關方法與電路的製作方法

2023-09-19 18:02:10 1

專利名稱:進行自動音量控制的相關方法與電路的製作方法
技術領域:
本發明涉及一種可對一聲音訊號進行自動音量追蹤/控制的方法及相關電路,特別是涉及一種可追蹤聲音訊號的局部音量極值以進行自動音量控制的方法及相關電路。
背景技術:
由有線或無線廣電媒體提供的影音節目服務是現代信息社會最重要的信息來源之一。從這些整合有聲音、動態影像的影音節目中,觀眾可獲得有用的新聞、知識、信息、或是能抒解身心的聲光娛樂。然而,在商業的考慮下,廣電媒體所提供的影音節目常會有廣告片段穿插於正常節目之間;尤有甚者,廣電媒體還會在播出廣告片段時增強其音量,以凸顯廣告的效果。然而,對觀眾來說,廣告片段突增的音量會造成聽覺上的不舒適,造成收視時的幹擾。在現行技術下,觀眾只能手動地在廣告片段播出時將音量調小。然而,等到廣告片段結束、正常節目要繼續播出時,觀眾又要手動地重新將音量調大,以恢復正常節目原本的音量。這樣反覆地手動調整,對觀眾來說極為不便。

發明內容
因此,本發明的主要目的是提出一種能自動追蹤/控制音量的方法與相關電路,能夠動態地、適應性地進行自動音量調整,以克服前述的問題。
在對一聲音訊號(像是整合於影音節目中的聲音訊號)進行音量追蹤時,本發明可依序針對該聲音訊號中每一取樣點的聲音數據進行一音量追蹤程序。此音量追蹤程序先針對一聲音數據鄰近的多筆聲音數據進行統計的計算(像是計算這些聲音數據的絕對值的平均),以求得一平均音量數據。若此平均音量數據大於一預先記錄的音量極值數據,則根據該平均音量數據來更新該音量極值數據,像是以該平均音量數據與更新前音量極值數據兩者間的平均值來當作更新後的音量極值數據。相反地,若該平均音量數據小於該預先記錄的音量極值數據,則不更新該音量極值數據。同時,並記錄下該音量極值數據是否被更新。若連續對預設數目聲音數據進行上述步驟後,發現該音量極值數據均未被更新,則強制更新該音量極值數據,譬如說是以現行的平均音量數據與更新前音量極值數據兩者的平均來作為更新後的音量極值數據。這樣一來,音量極值數據就可反映該聲音訊號的局部音量極值,追蹤該聲音訊號的局部音量變化。
在取得該音量極值數據後,本發明即可檢測出該聲音訊號中音量突增的片段,並根據該音量極值數據來進行自動音量控制。舉例來說,若該音量極值數據超過一預設的音量臨限數據,就代表該聲音訊號中音量突增的片段正要被播放了;此時本發明就可對應地以較小的音量播出該聲音訊號,譬如說是以一個小於1的音量調整因素乘上該聲音訊號後再予以播放。相對地,若該音量極值數據未超越該音量臨限數據,就不用調整該聲音訊號播出的音量。換句話說,本發明可動態地根據音量極值數據的變化來進行自動音量調整與控制,以克服聲音訊號中音量突增片段為使用者(觀眾或聽眾)所帶來的困擾。


圖1為本發明控制電路一實施例的功能方塊示意圖。
圖2為圖1中控制電路進行自動音量追蹤/控制的流程示意圖。
圖3為圖1中控制電路進行音量追蹤時相關數據、訊號的時序示意圖。
圖4為圖1中控制電路進行自動音量控制時各相關數據、訊號的時序示意圖。
圖5為本發明自動音量控制另一實施例的流程示意圖。
圖6為圖5流程進行時相關數據訊號的時序示意圖。
附圖符號說明10控制電路 12接收電路14音量檢測模塊 16比較模塊18更新模塊 20判斷模塊22音量調整模塊24A-24C、26A-26B寄存模塊
100流程 102-120、214-220步驟S聲音訊號 S(n)、S2(n)聲音數據mean、max_mean、max_volume_level、window、life_threshold、max_mean、life_counter、min_volume_level 數據T、TL時段t1-t2、ta時間點scalar音量調整因素具體實施方式
請參考圖1。圖1為本發明實現於一控制電路10中的功能方塊示意圖。控制電路10能架構於各種播放裝置中,像是設置於光碟播放器(DVD player或CD player)、收音機、電視、附有揚聲器的屏幕、用來播放音樂的音響或多媒體計算機中,也可以整合於計算機的音效晶片上,以便在播放聲音訊號時自動地進行音量追蹤及控制。控制電路10中包含有一接收電路12、一音量檢測模塊14、一比較模塊16、一更新模塊18、一判斷模塊20、一音量調整模塊22以及寄存模塊24A至24C、26A至26B。其中,音量檢測模塊14、比較模塊16、更新模塊18、判斷模塊20可形成一音量追蹤模塊;寄存模塊26A作為一極值寄存模塊,用來記錄一音量極值數據max_mean;寄存模塊26B則作為一延續狀態寄存模塊,用來記錄一數據life_counter。接收電路12用來接收一聲音訊號S,並可由聲音訊號中取得各取樣點對應的聲音數據(其第n個取樣點對應的聲音數據可記為S(n))。舉例來說,若控制電路10是架構於一光碟播放器中,光碟播放器中的讀取系統可讀取、解碼出光碟上記錄的聲音訊號,而接收電路12就能取得此讀取系統讀出的電子聲音訊號,作為聲音訊號S。
控制電路10的運作原理可先大致描述如下。首先,控制電路10中的音量檢測模塊14可針對每一聲音數據S(n)計算出一對應的平均音量數據mean,以代表聲音數據S(n)處對應的音量。然後控制電路10可將此平均音量數據mean與音量極值數據max_mean相比較;若平均音量數據mean大於音量極值數據max_mean,則根據此平均音量數據mean來更新音量極值數據max_mean,使音量極值數據max_mean能夠追蹤(track)聲音訊號S的最大音量大小。反之,若平均音量數據mean未超越音量極值數據max_mean的值,就不需更新音量極值數據max_mean的值,同時則持續累算數據life_counter的值,以數據life_counter的值來表示音量極值數據max_mean未被更新所持續的次數。在控制電路10依序對S(n)、S(n+1)、S(n+2)等等聲音數據持續進行上述處理後,若數據life_counter的值顯示音量極值數據持續未被更新的次數已經超過一默認值,就強制更新音量極值數據max_mean的值,以使音量極值數據max_mean能反映聲音訊號S的局部音量極值(local maximum of volume)。根據音量極值數據max_mean的值,控制電路10就能適當地判斷出聲音訊號S中音量突增的片段,並進行自動音量控制,使音量突增的片段能以較小的音量播出。
至於控制電路10進行上述運作的詳細情形可描述如下。首先,音量檢測模塊14能針對每一取樣點的聲音數據S(n)計算出一對應的平均音量數據mean。在本發明的較佳實施例中,音量檢測模塊14能針對聲音數據S(n)鄰近的聲音數據進行一統計計算以求得平均音量數據mean;舉例來說,就像圖1中所顯示的,聲音數據S(n)所對應的平均音量數據mean可以是聲音數據S(n-L1)、S(n-L1+1)、S(n-L1+2)等等一直到S(n+L1-2)、S(n+L1-1)這些聲音數據取絕對值後的平均值。其中,L1、L2為兩個常數,可記錄於寄存模塊24A中。換句話說,音量檢測模塊14能針對聲音訊號S中的每一個取樣點進行移動平均(moving average),而移動平均所涵括的範圍(可稱為窗口,window)則記錄於寄存模塊24A中。根據寄存模塊24A中記錄的窗口範圍,音量檢測模塊14就能針對每一筆聲音數據S(n)統計計算出一對應的平均音量數據mean。
在音量檢測模塊14針對一聲音數據S(n)計算出對應的平均音量數據mean後,比較模塊16就能比較平均音量數據mean與寄存模塊26A中記錄的音量極值數據max_mean兩者間的數值大小。若平均音量數據mean大於音量極值數據max_mean,則更新模塊18更新寄存模塊26A中音量極值數據max_mean的值。在本發明的較佳實施例中,更新模塊18能以更新前音量極值數據max_mean與平均音量數據mean兩者間的平均值(即(max_mean+mean)/2)作為音量極值數據max_mean更新後的值。同時,更新模塊18在更新音量極值數據max_mean之後,重設寄存模塊26B中數據life_counter的值,代表音量極值數據max_mean已被更新。
相反地,若比較模塊16比較的結果是平均音量數據mean並未大於音量極值數據max_mean,則由判斷模塊20比較數據life_counter與寄存模塊24B中記錄的常數數據life_threshold;若數據life_counter的值已經超越常數數據life_threshold,代表max_mean持續未被更新的次數已經超越一默認值,此時判斷模塊16強制地更新音量極值數據max_mean的值;在本發明的較佳實施例中,判斷模塊16能以更新前音量極值數據max_mean與平均音量數據mean兩者間的平均值作為音量極值數據max_mean更新後的值。反之,若數據life_counter的值並未超越常數數據life_threshold的值,音量極值數據max_mean就不被更新,而判斷模塊20則更新寄存模塊26B中數據life_counter的值,使數據life_counter持續地累計,代表音量極值數據max_mean未被更新的次數又增加了一次。
在經過更新模塊18、判斷模塊20的持續運作後,音量極值數據max_mean應該就能反映出聲音訊號S中音量變化的局部極值;而控制電路10中的音量調整模塊22就能據此來調整聲音訊號S播出時的音量。在本發明的較佳實施例中,音量調整模塊22能將音量極值數據max_mean與寄存模塊24C中寄存的常數數據max_volume_level做比較。此常數數據max_volume_level可視為一音量臨限數據;當音量調整模塊22比較出音量極值數據max_mean已經超越此音量臨限數據max_volume_level之後,音量調整模塊22計算出一個數值小於1的音量調整因素scalar(譬如說是以max_volume_level/max_mean的值作為scalar的值),將原來的聲音數據S(n)乘上此音量調整因素scalar後得到音量調整後的聲音數據S2(n)。反之,若音量極值數據max_mean未超越音量臨限數據max_volume_level,音量調整模塊22就會使音量調整因素scalar的數值維持為1。在以音量調整因素scalar來反應自動音量控制的結果後,聲音數據S2(n)就可作為控制電路10的輸出。播放聲音數據S2(n),就能補償聲音訊號S中原本音量突增的片段,消除音量突增片段為使用者(觀眾或聽眾)帶來的不適。
上述控制電路10的運作情形可以用圖2的算法流程100來進一步歸納。請參考圖2(並一併參考圖1);圖2中的流程100是針對聲音訊號S中的每一筆取樣的聲音訊號S(n)依序進行,其包括有下列步驟步驟102由聲音訊號S中取得一聲音數據S(n)。
步驟104根據聲音數據S(n)鄰近的聲音數據統計計算出一對應的平均音量數據mean。此步驟可由圖1中的音量檢測模塊14來進行,以聲音數據S(n)鄰近的多筆聲音數據的絕對值的平均作為平均音量數據mean的值。
步驟106判斷平均音量數據mean的值是否大於音量極值數據max_mean的值。若是,則進行至步驟110,以更新音量極值數據max_mean的值;若否,進行至步驟108。
步驟108檢查數據life_counter的值是否超越常數數據life_threshold的值;若是,進行至步驟110;若否,則進行至步驟112。
步驟110根據平均音量數據mean的值來更新音量極值數據max_mean的值,並重設數據life_counter的值。如前面提到過的,在本發明的較佳實施例中,是以更新前音量極值數據max_mean與平均音量數據mean兩者間的平均值來當作音量極值數據max_mean更新後的值。另外,在本發明的一實施例中,是以遞增(increase)的方式來累計數據life_counter的值,故在重設數據life_counter時,可將數據life_counter的值重設為數值0。
步驟112持續累計數據life_counter的值。在以遞增方式來累計數據life_counter的情況下,可使life_counter的值遞增數值1來進行數據life_counter的累計。
步驟114檢查音量極值數據max_mean是否大於常數的音量臨限數據max_volume_level。若是,進行至步驟118,反之,則進行至步驟116。
步驟116使音量調整因素scalar維持於數值1,維持聲音數據S(n)原本的音量。
步驟118計算出一個數值小於1的音量調整因素scalar,並將此音量調整因素scalar乘上原先的聲音數據S(n),譬如說是以max_volume_level/max_mean的值作為scalar的值,使得聲音數據S(n)的音量能變小。
步驟120遞增n,對聲音訊號S中的次一筆聲音數據繼續進行流程100。
在流程100中,步驟102到112可視為一音量追蹤程序,步驟114到118則可視為一音量調整程序。在流程100持續對聲音訊號S中的各筆聲音數據進行此音量追蹤程序時,若音量極值數據max_mean一直未被更新,數據life_counter的值就不會在步驟110中被重設而會在步驟112中被持續累計。在以遞增方式來累計數據life_counter下,數據life_counter終究會因持續的遞增而大於常數數據life_threshold,並從步驟114進行至步驟108,在更新音量極值數據max_mean時,也重新將數據life_counter的值重設為數值0。當然,在本發明中,數據life_counter的值也可採用遞減的倒數方式來累計在步驟110重設數據life_counter時,使數據life_counter的值被重設為常數數據life_threshold的值,在步驟112中則使數據life_counter遞減數值1來進行累計;而在步驟108中,則以數據life_counter的值是否遞減至小於零來判斷應進行至步驟110或112。無論以何種方式來進行,數據life_counter及常數數據life_threshold都是設計用來判斷音量極值數據max_mean連續未被更新的次數是否已經超過預設的次數。
為進一步說明圖1及圖2中本發明以音量極值數據max_mean來追蹤音量時的情形,請繼續參考圖3(以及圖1及圖2);圖3為圖1中控制電路10在運作時各相關訊號、數據隨時間變化的時序示意圖。圖3中的示意例分別示出了聲音訊號S、平均音量數據mean及音量極值數據max_mean隨時間改變的情形,各訊號、數據的橫軸為時間順序,縱軸為訊號、數據的大小。如前所述,聲音訊號S可依序提供多個取樣點的聲音數據,像是聲音數據S(n1)、S(n1+1)到S(n2)、S(n3)等等,以代表聲音隨時時間變化的情形。由於各聲音訊號中有聲音的相位數據,故各筆聲音數據的值也可能為正值或負值。當要針對聲音數據S(n1)進行流程100(圖2)時,會先依據聲音數據S(n1)鄰近的多個聲音數據S(n1-L1)至S(n1+L2-1)的絕對值進行平均的統計計算,得到對應的音量平均數據mean。為了方便以下的說明,圖3中將此音量平均數據標示為mean(n1),代表其系對應於聲音數據S(n1)。接下來,就要比較平均音量數據mean(n1)與記錄於寄存模塊26A(圖1)中的音量極值數據max_mean兩者的大小。當進行比較時,此音量極值數據max_mean是流程100對前一聲音數據S(n-1)進行處理時所設定的,故在圖3中將此音量極值數據max_mean特別標示為max_mean(n1-1)。
在圖3的例子中,因為聲音數據S(n1)位於音量漸增的時段,故聲音數據S(n1)大於音量極值數據max_mean(n1-1)。根據圖2中的流程,此時就應該更新音量極值數據max_mean的值;如前所述,在本發明的較佳實施例中,可用平均音量數據mean(n1)及前一音量極值數據max_mean(n1-1)兩者的平均來將音量極值數據更新為max_mean(n1);而數據life_counter也會隨之被重設。當然,在實際實現本發明時,音量極值數據max_mean(n1)的值會被記錄於寄存模塊26A中而覆蓋原先記錄的音量極值數據max_mean(n1-1)。
結束對聲音數據S(n1)的處理後,流程100繼續對聲音數據S(n1+1)進行,以設定對應的音量極值數據max_mean(n1+1),以此類推。在圖3的例子中,當在對聲音數據S(n2)進行流程100時,由於聲音訊號S在聲音數據S(n2)之後就開始音量漸減,故聲音數據S(n2)對應的平均音量數據mean(n2)會小於前一音量極值數據max_mean(n2-1),此時音量極值數據max_mean就不會被更新(也就是說,max_mean(n2)=max_mean(n2-1)),而數據life_counter也會開始累計。在圖3的例子中,假設在聲音訊號S從聲音數據S(n2)之後各聲音數據對應的平均音量數據均小於音量極值數據max_mean,在流程100對這些聲音數據進行處理後,音量極值數據max_mean就不會被更新而維持於音量極值數據max_mean(n2-1)的值;在此同時,數據life_counter也就會被不斷的累計。在以遞增方式累計數據life_counter的情形下,數據life_counter就會被持續累增。圖3中與平均音量數據mean重迭繪製的虛線即代表音量極值數據max_mean的變化情形。
等到流程100進行至聲音數據S(n3)時,假設此數據life_counter已經被累增至超過常數數據life_threshold,流程100就會進行至步驟110(圖2),強制更新音量極值數據max_mean。原本的音量極值數據max_mean(n3-1)還維持於max_mean(n2-1)的值,但由於聲音數據S(n3)對應的平均音量數據mean(n3)較小,在以音量極值數據max_mean(n3-1)與mean(n3)的平均來將音量極值數據更新為max_mean(n3)之後,音量極值數據max_mean(n3)的值就會隨之變小。在更新音量極值數據後,數據life_counter又會被重設。
由以上描述可知,本發明中的音量極值數據max_mean大致上會隨平均音量數據mean的增高而增高;在平均音量數據開始下降時,音量極值數據max_mean至少會維持一段預設長短的時段而不會隨之下降;若在這預設時段之內,平均音量數據mean均未超過音量極值數據max_mean,本發明就會強制更新音量極值數據max_mean,使其繼續追蹤平均音量數據的變化。而此預設的時段就由數據life_counter是否累計至逾越數據life_threshold來決定。基本上,音量極值數據max_mean的設計就是要追蹤聲音訊號S的音量的極值,但最好是局部極值,才能反映不同片段的音量變化。而數據life_counter累計的設計就是為了要使音量極值數據max_mean能適當地反映音量的局部極值(local maximum),而非全域的極值(global maximum)。以圖3為例,若沒有數據life_counter的累計,流程100就不會在處理聲音數據S(n3)強制更新音量極值數據max_mean,而使音量極值數據max_mean變成全域的極值。
而由圖3中,也可看出本發明另外的一些特點。首先,在更新音量極值數據max_mean時,本發明是未更新的音量極值數據與當前的音量平均數據來做運算而得到更新後的音量極值數據。這樣一來,即使平均音量數據mean偶有劇烈的震蕩變化,音量極值數據max_mean也不會劇烈地隨平均音量數據mean變化。舉例來說,在圖3中,聲音訊號S的平均音量數據mean在聲音數據S(n1)及S(n2)之間會震蕩地變化,但音量極值數據max_mean的變化相對來說就平緩許多。
另外,本發明在計算平均音量數據mean時,也可應用於因果性(causal)或非因果性(non-causal)的系統。在實時(real-time)、因果性的系統中,聲音訊號S僅能依據時間先後來依序提供各筆聲音數據;換句話說,當本發明的控制電路10(圖1)要對一聲音訊號S(n)進行流程100時,控制電路10僅能取得聲音訊號S(n)之前的聲音訊號,像是聲音數據S(n-1)、S(n-2)等等。在此種情況下,本發明可以僅使用聲音數據S(n)之前的多筆聲音數據來計算平均音量數據;舉例來說,只要使L1為正數,L2為1,聲音數據S(n)對應的平均音量數據mean(n)就是以聲音數據S(n-L1)、S(n-L1+1)、S(n-L1+2)…到S(n)的絕對值的平均來計算。由於這些聲音數據都是聲音數據S(n)之前的聲音數據,故在計算平均音量數據mean(n)時,控制電路10(圖1)應該已經能取得這些聲音數據。
相對地,在一非實時、非因果性的系統中,聲音訊號S可以在某一聲音數據被播放前預先提供該聲音數據之後的各個聲音數據。舉例來說,在某些影音數據壓縮規格(像是MPEG,motion picture experts group)中,聲音訊號S在解壓縮的過程中是非因果性的,也就是當一聲音數據S(n)尚未被播放前,其後的聲音數據,像是聲音數據S(n+1)、S(n+2)等等,也已經被解壓縮出來。在此種情況下,本發明也可利用聲音數據S(n)之後的聲音數據來計算其對應的平均音量數據mean(n)。舉例來說,只要使L1、L2皆為正數(L2大於1),聲音數據S(n)對應的平均音量數據mean(n)就是以聲音數據S(n-L1)、S(n-L1+1)、S(n-L1+2)…到S(n)乃至於S(n+1)、S(n+2)…至S(n+L2-1)的絕對值平均來計算。另外,本發明也可使用加權平均來計算平均音量數據,也就是在計算聲音數據S(n)所對應的平均音量數據時,以預設的不同加權值分別乘上聲音數據S(n-L1)、S(n-L1+1)等等的絕對值後,再進行平均以得到對應的平均音量數據mean(n)。
至於本發明利用音量極值數據max_mean來進行自動音量控制的情形,請繼續參考圖4(並一併參考圖1及圖2);圖4為本發明運作時各相關訊號、數據隨時間變化的時序示意圖,圖4的橫軸為時間,縱軸為各訊號、數據的數值大小。在圖4的例子中,假設聲音訊號S在時段T內為一音量突增的片段,譬如說是一廣告片段對應的聲音片段;而其它的時間則為音量正常的片段,像是正常節目的片段。如圖4所示,當音量突增片段開始後,在時間點t1,音量極值數據max_mean就會隨追蹤聲音訊號S的音量增加而超越音量臨限數據max_volume_level,使得本發明開始以較小的音量調整因素scalar(圖1、圖2)來調整音量。如圖4所示,雖然在時間點t1、t2之間的音量突增片段還是會有音量的大小變化,但因本發明有數據life_counter及life_threshold的設計,音量極值數據max_mean還是會維持一定的程度,反映出音量突增片段的所在。
當音量突增片段結束後,若沒有一定的機制使音量極值數據max_mean重新追蹤局部極值,那麼在時間點t2之後的片段即使已經恢復正常音量,音量極值數據max_mean還是維持於時間點t2的電平,無法正確反映局部極值。而在本發明中,即以數據life_counter、life_threshold的設計來強制音量極值數據max_mean的更新,使其在時間點t2之後能繼續追蹤其後的局部極值。如圖4中的例子,音量極值數據max_mean在時間點ta時達到局部極值,之後音量突增片段就要結束,而本發明就會由時間點ta開始累計數據life_counter;在經過時段TL而到時間點t2之後,本發明就會因數據life_counter累計超過定值數據life_threshold而強制使音量極值數據max_mean不再維持於時間點ta的極值,而重新開始追蹤時間點t2之後的局部極值。這也可使音量極值數據max_mean能適當地反映出音量突增片段的結束;而在時間點t2之後,本發明就會因音量極值數據max_mean小於音量臨限數據max_volume_level而使音量調整因素重新變為數值1。
在本發明中有三個常數的數據可微調音量追蹤/控制的行為,即數據life_threshold、音量臨限數據max_volume_level及在計算平均音量數據mean時所依據的窗口範圍(即window或L1、L2,如圖1所示)。當本發明的控制電路10(圖1)架構於一播放裝置中時,該播放裝置應可提供適當的使用者接口,讓使用者能通過此接口來設定、自訂這些常數數據的值。尤其是音量臨限數據,因為其控制了聲音訊號被實際播放時的最大音量。播放裝置(或控制電路10本身)應可儲存這些常數數據,以便在進行流程100時加以引用。當然,廠商也可預先內建一些較為常用或較佳的常數數據值,作為這些常數數據的默認值。另外,播放裝置或控制電路10本身也可以具備某些轉換計算的功能;舉例來說,使用者可能是以秒或毫秒為單位來指定音量極值數據會在持續多久之後被強制更新(也就是圖4中時段TL的時間長短),而播放裝置或控制電路10本身就可按照聲音訊號的取樣頻率來計算出數據life_threshold應該是多少(譬如說是時段TL的長短除以取樣頻率)。
如前面討論過的,在圖2的流程100中,步驟114、116及118可視為一音量調整程序。除了在音量極值數據max_mean大於音量臨限數據max_volume_level時將聲音數據S(n)的音量調小之外,本發明當然還可進行其它種類的自動音量調整,像是在音量太小時自動將聲音數據的音量調大。關於此情形,請進一步參考圖5;圖5中示意的流程200即為本發明進行自動音量控制的另一實施例。類似於流程100,在流程200中,同樣是以步驟102到112來進行音量追蹤程序,以對一聲音數據S(n)產生一對應的音量極值數據max_mean,代表聲音訊號的局部音量極值。而流程200中的音量調整程序,則改以步驟214至220來進行(可由圖1中的音量調整模塊22統一進行),以根據音量極值數據max_mean的數值範圍來自動調整音量。關於流程200的音量追蹤程序(也就是步驟102到112),其進行的過程就與圖2中音量追蹤程序相同,在不妨礙本發明技術披露的情形下,不再贅述。流程200的音量調整程序則有下列步驟步驟214判斷音量極值數據max_mean的數值範圍。在進行過步驟102至112後,應已針對聲音數據S(n)產生出對應的音量極值數據max_mean。在本步驟中,即可判斷此音量極值數據max_mean的數值範圍。在流程200中,除了音量極限數據max_volume_level,還可設定另一個定值的低音量臨限數據min_volume_level。此低音量臨限數據min_volume_leve1低於音量臨限數據max_volume_level,故音量臨限數據max_volume_level也可稱為一高音量臨限數據。若音量極值數據max_mean已大於高音量臨限數據max_volume_level,則可進行至步驟218。若音量極值數據max_mean小於低音量臨限數據min_volume_level,則進行至步驟220。若音量極值數據max_mean的數值範圍落在高音量臨限數據max_volume_level及低音量臨限數據min_volume_level之間,則進行至步驟220。
步驟216不改變聲音數據S(n)的音量。
步驟218減少聲音數據S(n)的音量。與流程100的步驟118相同,要實現本步驟時,也可以計算出一個數值小於1的音量調整因素scalar,並將此音量調整因素scalar乘上原先的聲音數據S(n),譬如說是以max_volume_level/max_mean的值作為scalar的值,使聲音數據的音量能變小(也就是變小為scalar*S(n))。
步驟220若音量極值數據max_mean小於低音量臨限數據min_volume_level,代表聲音訊號的音量可能太低了。在此種情況下,本發明就可以自動幫助使用者將音量調大。類似於步驟218,此步驟也可利用一音量調整因素scalar乘上原先的聲音數據來改變音量,但在本步驟中,此音量調整因素scalar的數值應該大於1,使音量能變大。
請參考圖6(並一併參考圖5)。當本發明以圖5中的流程200來進行自動音量控制時,各相關訊號、數據的時序變化情形可以用圖6中的例子來進一步說明;圖6的橫軸為時間,縱軸為各數據、訊號的大小。如圖6所示,聲音訊號S中可能會有三段音量不同的片段,而本發明的音量極值數據max_mean就可追蹤聲音訊號的局部音量極值。在音量極值數據max_mean小於低音量臨限數據min_volume_level時,本發明就可利用大於1的音量調整因素scalar來提高聲音訊號的音量;當音量極值數據max_mean大於高音量臨限數據max_volume_level時,本發明則可利用小於1的音量調整因素scalar來降低聲音訊號的音量。當音量極值數據max_mean在高低音量臨限數據之間時,則不需改變聲音訊號S的音量。
換句話說,由於本發明進行音量追蹤程序所產生的音量極值數據max_mean能有效追蹤局部音量極值,故在進行音量自動調整時,不僅能在局部音量過大時自動將音量調小,還能在局部音量過小時自動將音量調大,就像流程200所示;而這也就能使使用者享受到較為均一的音量。配合流程200的實施,圖1中的控制電路10可增設一寄存模塊來儲存低音量臨限數據min_volume_level,而設置有控制電路10的播放裝置則可提供使用者接口,來讓使用者設定此一定值的低音量臨限數據min_volume_level。此外,控制電路10的音量調整模塊22也可以通過使用者接口來接受使用者的控制,以選擇音量自動調整進行的模式;舉例來說,音量調整模塊22可以僅在音量過大時自動將音量調小(也就是流程100),也可以在音量過大/過小時自動將音量調小/大(也就是流程200),或是僅在音量過小時自動將音量調大。經過上述對本發明流程100(及200)的討論後,本領域的技術人員應已能推知在音量過小時可自動將音量調大的操控流程,故此處不再贅述。
總結來說,相較於已知技術,本發明可以自動追蹤聲音訊號的局部音量極值,進而自動控制聲音訊號被實際播出的音量,消除音量突增片段對使用者(觀眾或聽眾)帶來的不便。如前所述,在各種廣電節目中,常會在播放廣告片段突增音量;既然本發明可以有效追蹤音量突增的片段,應該也可以應用於廣告片段的檢測。在本發明於圖1的實施例中,各個模塊應可用軟體、固件或硬體等各種方式來加以實現;舉例來說,音量檢測模塊14、比較模塊16、更新模塊18、判斷模塊20與音量調整模塊22等各模塊的功能可以由單一處理晶片執行適當的軟體程序代碼來加以實現。
以上所述僅為本發明的較佳實施例,凡依本發明的權利要求所做的均等變化與修飾,均應屬本發明專利的涵蓋範圍。
權利要求
1.一種進行自動音量控制的方法,其包含有接收一聲音訊號,該聲音訊號包含有多筆聲音數據,而該聲音訊號可依一預設順序提供各筆聲音數據;記錄一音量極值數據;針對該聲音訊號中的每一筆聲音數據,進行一音量追蹤程序;而該音量追蹤程序包含有在對一聲音數據進行該音量追蹤程序時,進行一音量檢測步驟,以根據該聲音數據於該聲音訊號中的順序另外選取多筆聲音數據,並根據選取的聲音數據統計計算出一對應的平均音量數據;比較該平均音量數據及該音量極值數據的數值大小;若該平均音量數據大於該音量極值數據,則進行一更新步驟以根據該平均音量數據更新該音量極值數據原來的數值;記錄該音量極值數據是否被更新;以及在對一聲音數據進行該音量追蹤程序時,若在對該聲音數據之前的預設數目筆聲音數據進行該音量追蹤程序時均未更新該音量極值數據,則根據該聲音數據對應的平均音量數據更新該音量極值數據的數值;以及在對一聲音數據進行該音量追蹤程序後,進行一音量調整程序,以根據該音量極值數據的數值決定該筆聲音數據的音量。
2.如權利要求1所述的方法,其中在對不同的聲音數據進行該音量檢測步驟時,是針對不同的聲音數據選取不同的多筆聲音數據來分別計算出各聲音數據對應的平均音量數據。
3.如權利要求1所述的方法,其中當進行該音量檢測步驟時,是根據選取的聲音訊號的絕對值進行平均值的計算以計算出該平均音量數據。
4.如權利要求1所述的方法,其中在對一聲音數據進行該音量追蹤程序後而要進行該音量調整程序時,該音量調整程序包含有比較該音量極值數據與一預設的音量臨限數據間的數值大小;若該音量極值數據大於該音量臨限數據,則減少該聲音數據的音量;以及若該音量極值數據小於該音量臨限數據,則不改變該聲音數據播放時的音量。
5.如權利要求1所述的方法,其還包含有在對一聲音數據進行該音量追蹤程序時,若對該聲音數據之前的預設數目筆聲音數據進行該音量追蹤程序時均未更新該音量極值數據而更新該音量極值數據的數值後,記錄該音量極值數據已被更新。
6.一種可進行自動音量控制的控制電路,其包含有一接收電路,用來接收一聲音訊號,該聲音訊號包含有多筆聲音數據,而該聲音訊號可依一預設順序提供各筆聲音數據;一極值寄存模塊,用來記錄一音量極值數據;一音量追蹤模塊,其包含有一音量檢測模塊,其可根據每一聲音數據於該聲音訊號中的順序另外選取多筆聲音數據,並根據選取的聲音數據統計計算出一對應的平均音量數據;一比較模塊,其可接收該平均音量數據,並比較該平均音量數據及該音量極值數據的數值大小;一更新模塊;若該比較模塊比較出該平均音量數據大於該音量極值數據,則該更新模塊可根據該平均音量數據更新該音量極值數據原來的數值;一延續狀態寄存模塊,以根據該更新模塊是否更新該音量極值數據而記錄該音量極值數據是否被更新;以及一判斷模塊;當該音量檢測模塊對一聲音數據進行處理時,若該延續狀態寄存模塊的記錄顯示在對該聲音數據之前的預設數目筆聲音數據進行處理時均未更新該音量極值數據,則該判斷模塊可根據該聲音數據對應的平均音量數據更新該音量極值數據的數值;以及一音量調整模塊;當該音量追蹤模塊對一聲音數據進行處理後,該音量調整模塊可以根據該音量極值數據的數值調整該筆聲音數據的音量。
7.如權利要求6所述的控制電路,其中當該音量檢測模塊在對不同的聲音數據進行處理時,是針對不同的聲音數據選取不同的多筆聲音數據來分別計算出各聲音數據對應的平均音量數據。
8.如權利要求6所述的控制電路,其中該音量檢測模塊根據選取的聲音訊號的絕對值進行平均值的計算以計算出該平均音量數據。
9.如權利要求6所述的控制電路,其中當該音量追蹤模塊對一聲音數據進行處理後而該音量調整模塊要調整該聲音數據的音量時,該音量調整模塊可比較該音量極值數據與一預設的音量臨限數據間的數值大小;若該音量極值數據大於該音量臨限數據,該音量調整模塊會減少該聲音數據的音量;以及若該音量極值數據小於該音量臨限數據,則該音量調整模塊不會改變該聲音數據的音量。
10.如權利要求6所述的控制電路,其中當該判斷模塊更新音量極值數據後,該延續狀態寄存模塊會記錄該音量極值數據已被更新。
全文摘要
本發明提供一種可對一聲音訊號進行自動音量追蹤/控制的相關方法與電路。該聲音訊號中有多個取樣點的聲音數據,而本發明是先根據各聲音數據鄰近的多個聲音數據統計得到一對應的平均音量數據;若該平均音量數據大於一預先記錄的音量極值數據,則更新該音量極值數據,反之則不更新該音量極值數據,並記錄該音量極值數據是否被更新。若在對預設數目個聲音數據依序進行上述處理後,發現該音量極值數據均未被更新,則依據現行的平均音量數據更新該音量極值數據。如此,該音量極值數據即可反應該聲音訊號的局部音量極值,而本發明即可據此自動控制該聲音訊號播放時的音量大小。
文檔編號H03G3/00GK1728546SQ20041005864
公開日2006年2月1日 申請日期2004年7月27日 優先權日2004年7月27日
發明者施宣輝 申請人:揚智科技股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀