專利名稱:連續(xù)聲音資料的記錄方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種錄音技術(shù),特別是關(guān)于一種連續(xù)聲音資料的記錄方法。
背景技術(shù):
現(xiàn)有的錄音技術(shù),是使用一計算機(jī)系統(tǒng)對連續(xù)聲音資料(如模擬音頻信號)進(jìn)行記錄,計算機(jī)系統(tǒng)中需分配若干的內(nèi)存作為緩沖記錄區(qū)域10(如圖1所示),緩沖記錄區(qū)域10至少具有一數(shù)據(jù)字段100及一狀態(tài)字段102,其中數(shù)據(jù)字段100用以儲存計算機(jī)系統(tǒng)對連續(xù)聲音資料進(jìn)行取樣后的資料,而狀態(tài)字段102用以儲存緩沖記錄區(qū)域10目前的使用狀態(tài),若使用狀態(tài)是一處理狀態(tài),代表緩沖記錄區(qū)域10內(nèi)的取樣資料正被計算機(jī)系統(tǒng)處理中,若使用狀態(tài)是一預(yù)備狀態(tài),則代表緩沖記錄區(qū)域10正對取樣的資料進(jìn)行儲存。
緩沖記錄區(qū)域10的大小將直接影響收錄的聲音的連續(xù)性及時間延遲性。若緩沖記錄區(qū)域10越大,可以記錄的取樣資料將越多且越完整,使收錄的聲音的連續(xù)性越好,不過由于計算機(jī)系統(tǒng)必須處理更多的取樣資料,會造成收錄的聲音的時間延遲性更差;反之,若緩沖記錄區(qū)域10越小,則收錄的聲音的時間延遲性越能獲得改善,但其連續(xù)性則會變差。因此,以現(xiàn)有技術(shù)收錄的聲音并無法同時兼顧連續(xù)性及時間延遲性。
再者,現(xiàn)有技術(shù)的做法是當(dāng)一緩沖記錄區(qū)域10的使用空間不足時,即令計算機(jī)系統(tǒng)開始對緩沖記錄區(qū)域10內(nèi)的取樣資料進(jìn)行處理(包括壓縮、儲存等),然后解除緩沖記錄區(qū)域10的預(yù)備狀態(tài),改設(shè)為一處理狀態(tài),使得隨后的取樣資料被放入另一個緩沖記錄區(qū)域10中,再將該另一個緩沖記錄區(qū)域的狀態(tài)設(shè)為一預(yù)備狀態(tài),如此不斷進(jìn)行,直到聲音收錄完成。由上可知,計算機(jī)系統(tǒng)所需執(zhí)行的工作相當(dāng)多且繁瑣,導(dǎo)致無法連續(xù)地記錄聲音資料,這正是使用現(xiàn)有技術(shù)收錄的聲音普遍具有連續(xù)性不佳的主要因素。
發(fā)明內(nèi)容
為克服上述現(xiàn)有技術(shù)的缺點,本發(fā)明的主要目的在于提供一種連續(xù)聲音資料的記錄方法,解決現(xiàn)有技術(shù)中收錄聲音連續(xù)性不佳的問題,并進(jìn)而使收錄的聲音能夠同時兼顧連續(xù)性及時間延遲性。
為達(dá)到上述目的,本發(fā)明的連續(xù)聲音資料的記錄方法,適合在具有一多線程微處理器的計算機(jī)系統(tǒng)中進(jìn)行,其中該多線程微處理器用以在一個以上的線程中切換并執(zhí)行,該方法至少包括讀取該連續(xù)聲音資料,并對該連續(xù)聲音資料進(jìn)行連續(xù)地取樣;將取樣得到的資料按順序記錄在一緩沖記錄區(qū)域;在該緩沖記錄區(qū)域的使用空間不足時,提供一個以上的第一輔助線程,該第一輔助線程用以處理該緩沖記錄區(qū)域內(nèi)的資料;以及,提供一第二輔助線程,該第二輔助線程用以將隨后的取樣資料按順序記錄在另一緩沖記錄區(qū)域。
如上所述的連續(xù)聲音資料的記錄方法,其中該提供一個以上的第一輔助線程及提供一第二輔助線程的步驟可平行進(jìn)行;該第一輔助線程處理的該緩沖記錄區(qū)域的狀態(tài)設(shè)為一處理狀態(tài);以及該第二輔助線程處理的另一緩沖記錄區(qū)域的狀態(tài)設(shè)為一預(yù)備狀態(tài);該第一輔助線程用以執(zhí)行至少下列步驟讀取該緩沖記錄區(qū)域內(nèi)的資料,將該讀取資料儲存在一儲存裝置中;以及清除該緩沖記錄區(qū)域內(nèi)的資料,以令該緩沖記憶區(qū)域供下筆資料儲存使用;以及,該連續(xù)聲音資料是一模擬音頻信號;該儲存裝置是一磁盤裝置。
綜上所述,本發(fā)明解決了現(xiàn)有技術(shù)中收錄聲音連續(xù)性不佳的問題,利用本發(fā)明,可使收錄的聲音能夠同時兼顧連續(xù)性及時間延遲性。
圖1是本發(fā)明使用的緩沖記錄區(qū)域的邏輯示意圖。
圖2是一可供本發(fā)明使用的計算機(jī)系統(tǒng)架構(gòu)3是本發(fā)明方法的流程圖。
具體實施例方式
實施例本發(fā)明的目的,在于使用多線程(thread)技術(shù)進(jìn)行連續(xù)聲音資料的記錄,也就是通過創(chuàng)建多個輔助線程,分別對緩沖記錄區(qū)域10內(nèi)的資料進(jìn)行處理,以及響應(yīng)處理緩沖記錄區(qū)域10的使用空間不足的事件(event)。因此,本發(fā)明適合在具有一多線程微處理器的計算機(jī)系統(tǒng)中進(jìn)行,如圖2所示,其即為一可供本發(fā)明使用的計算機(jī)系統(tǒng)架構(gòu)圖。在圖2中,該計算機(jī)系統(tǒng)至少包括一輸入/輸出裝置20、一內(nèi)存22、一多線程微處理器24以及一儲存裝置26。該計算機(jī)系統(tǒng)是指個人桌上型計算機(jī)、筆記本型個人計算機(jī)、數(shù)字錄音筆、數(shù)字個人助理或移動電話等供使用者進(jìn)行錄音處理的電子裝置(圖未標(biāo)),以下實施例,以筆記本型個人計算機(jī)說明本發(fā)明的連續(xù)聲音資料的記錄方法。為簡化附圖及說明,此處的系統(tǒng)架構(gòu)僅顯示與本發(fā)明有關(guān)的系統(tǒng)構(gòu)件,其它無關(guān)的系統(tǒng)構(gòu)件,并未顯示在附圖中。
該輸入/輸出裝置20主要用以接收來自外界的連續(xù)聲音資料,例如集聲器(麥克風(fēng)),并且用以將該計算機(jī)系統(tǒng)收錄的聲音資料予以播放,例如揚聲器(喇叭);而內(nèi)存22可動態(tài)地分配有至少一緩沖記錄區(qū)域220,緩沖記錄區(qū)域220的邏輯結(jié)構(gòu)可以參見圖1,其主要是用以儲存計算機(jī)系統(tǒng)對連續(xù)聲音資料進(jìn)行取樣后的資料;多線程微處理器24用以檢測該內(nèi)存22的緩沖記錄區(qū)域220內(nèi)所儲存的聲音資料是否填滿,其可以為一Intel系列的微處理芯片;其中,當(dāng)該多線程微處理器24判斷該內(nèi)存22的緩沖記錄區(qū)域220儲存的聲音資料即將填滿時,則將該緩沖記錄區(qū)域220內(nèi)儲存的聲音資料儲存在該儲存裝置26中,該儲存裝置26可以利用一磁盤裝置來實現(xiàn)。
圖3是本發(fā)明方法的流程圖。首先,步驟300是通過如圖2所示的計算機(jī)系統(tǒng)的輸入/輸出裝置20接收一連續(xù)聲音資料,并對該連續(xù)聲音資料進(jìn)行連續(xù)地取樣,取樣的頻率可由使用者決定,接著進(jìn)至步驟302。
在該步驟302中,該計算機(jī)系統(tǒng)將取樣所得的資料按順序記錄在內(nèi)存22中的一緩沖記錄區(qū)域220中,接著進(jìn)至步驟303。
在該步驟303中,該計算機(jī)系統(tǒng)判斷儲存取樣資料的緩沖記錄區(qū)域220是否將由該取樣資料填滿,若是則進(jìn)至步驟304;反之,則返回該步驟303。
在該步驟304中,該計算機(jī)系統(tǒng)自該被取樣資料填滿的緩沖記錄區(qū)域220取出所有的取樣資料,并將該取出的取樣資料儲存在該儲存裝置26中,接著進(jìn)至步驟305。
在該步驟305中,該計算機(jī)系統(tǒng)清除該被取樣資料填滿的緩沖記錄區(qū)域220內(nèi)的內(nèi)容,作為計算機(jī)系統(tǒng)下次接收取樣資料時的儲存之用,接著進(jìn)至步驟306。
在該步驟306中,該計算機(jī)系統(tǒng)自該內(nèi)存22中找尋下一個緩沖記錄區(qū)域(222或224),并且將其設(shè)為預(yù)備狀態(tài),供該計算機(jī)系統(tǒng)將隨后處理的取樣資料,按順序記錄在已經(jīng)被設(shè)為預(yù)備狀態(tài)的緩沖記錄區(qū)域(222或224)之中,接著則返回該步驟300,令該計算機(jī)系統(tǒng)重復(fù)地將處理中的取樣資料進(jìn)行儲存,直到將連續(xù)聲音資料記錄完成。
其中,圖3所示的步驟304至步驟305可與步驟306并行處理,也就是,計算機(jī)系統(tǒng)一方面對該被取樣資料填滿的緩沖記錄區(qū)域220進(jìn)行處理,另一方面則自內(nèi)存22中對另一個緩沖記錄區(qū)域(222或224)進(jìn)行處理,借此令該計算機(jī)裝置處理的取樣資料連續(xù)地進(jìn)行儲存,其中,借由該儲存裝置26輔助該計算機(jī)系統(tǒng)在資料儲存上的處理,以解決資料儲存不連續(xù)的問題,并且提供一種多線程聲音資料的儲存技術(shù)。
綜上所述,本發(fā)明可以大幅縮短對緩沖記錄區(qū)域內(nèi)的取樣資料的處理時間,提高錄音程序的執(zhí)行效率;再者,處理狀態(tài)中的緩沖記錄區(qū)域可以及時被收回,使得連續(xù)地取樣動作能夠順利進(jìn)行,且間接使得所分配的緩沖記錄區(qū)域的記憶空間可以減少,因而節(jié)省了系統(tǒng)資源。由于本發(fā)明是使用多線程技術(shù),而且緩沖記錄區(qū)域可以設(shè)置為具有較小的記憶空間,因此本發(fā)明具有較佳的時間延遲性,因此具有一定的優(yōu)勢,尤其適用于實時傳輸語音資料的場合中,例如視頻會議等,同時又能兼具有連續(xù)性的特點。
權(quán)利要求
1.一種連續(xù)聲音資料的記錄方法,其特征在于,適合在具有一多線程微處理器的計算機(jī)系統(tǒng)中進(jìn)行,其中該多線程微處理器用以在至少一線程中切換并執(zhí)行,該方法至少包括(a)讀取該連續(xù)聲音資料,并對該連續(xù)聲音資料進(jìn)行連續(xù)地取樣;(b)將取樣得到的資料按順序記錄在一緩沖記錄區(qū)域;(c)在該緩沖記錄區(qū)域的使用空間不足時,進(jìn)行下列步驟(c1)提供至少一第一輔助線程,該第一輔助線程用以處理該緩沖記錄區(qū)域內(nèi)的資料;以及(c2)提供一第二輔助線程,該第二輔助線程用以將隨后的取樣資料按順序記錄在另一緩沖記錄區(qū)域。
2.如權(quán)利要求1所述的連續(xù)聲音資料的記錄方法,其特征在于,該步驟(c1)及步驟(c2)可平行進(jìn)行。
3.如權(quán)利要求1或2所述的連續(xù)聲音資料的記錄方法,其特征在于,該記錄方法還包括將步驟(c1)中的緩沖記錄區(qū)域的狀態(tài)設(shè)為一處理狀態(tài);以及將步驟(c2)中的另一緩沖記錄區(qū)域的狀態(tài)設(shè)為一預(yù)備狀態(tài)。
4.如權(quán)利要求1或2所述的連續(xù)聲音資料的記錄方法,其特征在于,該步驟(c1)中的第一輔助線程用以執(zhí)行至少下列步驟讀取該緩沖記錄區(qū)域內(nèi)的資料,將該讀取資料儲存在一儲存裝置中;以及清除該緩沖記錄區(qū)域內(nèi)的資料,以令該緩沖記憶區(qū)域供下筆資料儲存使用。
5.如權(quán)利要求1或2所述的連續(xù)聲音資料的記錄方法,其特征在于,該連續(xù)聲音資料是一模擬音頻信號。
6.如權(quán)利要求4所述的連續(xù)聲音資料的記錄方法,其特征在于,該儲存裝置是一磁盤裝置。
全文摘要
本發(fā)明提供一種連續(xù)聲音資料的記錄方法,適合在具有一多線程微處理器的計算機(jī)系統(tǒng)中進(jìn)行,本發(fā)明使用計算機(jī)系統(tǒng)讀取連續(xù)的聲音資料,并且連續(xù)地取樣,然后將取樣得到的資料按順序記錄在一緩沖記錄區(qū)域;本發(fā)明在緩沖記錄區(qū)域的使用空間不足時,則提供一個以上的第一輔助線程及一第二輔助線程,其中第一輔助線程用以處理緩沖記錄區(qū)域內(nèi)的資料,而第二輔助線程用以將隨后的取樣資料按順序記錄在另一緩沖記錄區(qū)域,本發(fā)明解決了現(xiàn)有技術(shù)中收錄聲音連續(xù)性不佳的問題,使收錄的聲音能夠同時兼顧連續(xù)性及時間延遲性。
文檔編號G06F9/46GK1567241SQ0314590
公開日2005年1月19日 申請日期2003年7月10日 優(yōu)先權(quán)日2003年7月10日
發(fā)明者林光信, 殷天海 申請人:英業(yè)達(dá)股份有限公司