專利名稱:數(shù)據(jù)流的同步訊息觸發(fā)及插入同步訊息的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)流的同步訊息觸發(fā)及插入同步訊息的方法,尤指一種在數(shù)據(jù)流處理過程中同步執(zhí)行相關(guān)訊息的方法,及在數(shù)據(jù)流中安排該同步訊息的方法。
在發(fā)聲產(chǎn)品的應(yīng)用上,經(jīng)常會(huì)要求做到聲音與其它動(dòng)作之間能夠同步。例如一個(gè)玩具機(jī)器人在說話時(shí),往往需要其四肢、五官能夠同時(shí)配合做出一些動(dòng)作。此類產(chǎn)品多半是由微處理器(uP)外加一些周邊裝置所組成。該微處理器藉由其程序的巧妙安排,一方面合成聲音訊號(hào)輸出至揚(yáng)聲器;另一方面在適當(dāng)時(shí)間控制其特定輸出腳的電壓電位。若該輸出腳外接發(fā)光二極管(LED),則可控制LED的亮滅;若該輸出腳接上馬達(dá),則可控制馬達(dá)的激活或停止。
然而,如何配合聲音的進(jìn)行,在’適當(dāng)時(shí)間’改變輸出腳的電壓,則是一件繁雜的工作。以目前的已知技術(shù),程序設(shè)計(jì)師必須先測(cè)量從聲音開始播放到動(dòng)作開始激活的時(shí)間差。再利用一個(gè)定時(shí)器(Timer),填入一個(gè)代表該時(shí)間差的轉(zhuǎn)換值,在聲音播放的同一時(shí)間開始計(jì)時(shí)。當(dāng)定時(shí)器發(fā)生溢位時(shí)(表示計(jì)時(shí)結(jié)束),則執(zhí)行一個(gè)中斷程序改變輸出腳的電位。
上述方法雖然可達(dá)成微處理器(uP)指令與聲音同步的目的,但仍有下列缺點(diǎn)一、耗費(fèi)大量時(shí)間每個(gè)需要同步的動(dòng)作均須測(cè)量時(shí)間,并反復(fù)調(diào)整定時(shí)器的數(shù)值。如此以錯(cuò)誤嘗試(try-and-error)的方式既不直接也無效率可言。
二、不足以應(yīng)付復(fù)雜的應(yīng)用當(dāng)程序設(shè)計(jì)越來越復(fù)雜時(shí),uP很可能同時(shí)處理多項(xiàng)工作,如此可能會(huì)使聲音的播放速率變得稍慢,但定時(shí)器事先所設(shè)定的時(shí)間卻不會(huì)變慢,因而造成動(dòng)作仍無法與聲音同步。此外,若聲音播放速率允許讓使用者任意更改時(shí),則相同的問題也會(huì)發(fā)生。
本發(fā)明的目的即根據(jù)上述已知的技術(shù),提出一新的操作方式,配合特殊的數(shù)據(jù)結(jié)構(gòu)及處理技巧,更有效率地在數(shù)據(jù)流中安排同步的動(dòng)作,同時(shí)使聲音的播放及動(dòng)作產(chǎn)生的時(shí)間點(diǎn)能夠完全掌控,不會(huì)有動(dòng)作與聲音無法同步的問題。
為達(dá)上述目的,本發(fā)明的數(shù)據(jù)流的同步訊息觸發(fā)方法是在一數(shù)據(jù)流(datastream)中,區(qū)分為一數(shù)據(jù)幀及一命令幀,在讀取該數(shù)據(jù)流時(shí),若判斷為該數(shù)據(jù)流里的一幀(frame)為該數(shù)據(jù)幀時(shí),讀取該數(shù)據(jù)幀的數(shù)據(jù),而若判斷該數(shù)據(jù)流里的該幀為該命令幀時(shí),取得該命令幀的一命令辨識(shí)碼,以執(zhí)行該命令辨識(shí)碼所對(duì)應(yīng)的一程序。
同時(shí),本發(fā)明的數(shù)據(jù)流插入同步訊息的方法是通過播放一數(shù)據(jù)的方式,在一適當(dāng)?shù)臅r(shí)間點(diǎn),插入一命令幀,并在插入該命令幀前從該數(shù)據(jù)中分離出一數(shù)據(jù)幀,最后再組合該數(shù)據(jù)幀與該命令幀,以產(chǎn)生一包含該數(shù)據(jù)幀及該命令幀的數(shù)據(jù)流。
如此一來,數(shù)據(jù)流里即同時(shí)包含了數(shù)據(jù)幀及命令幀,微處理器在讀取數(shù)據(jù)流時(shí),即可根據(jù)數(shù)據(jù)流,每個(gè)幀的屬性,來進(jìn)行相對(duì)應(yīng)的處理,在判定為一般數(shù)據(jù)時(shí),直接讀取該數(shù)據(jù),而于判定為一命令時(shí),即可根據(jù)該命令去執(zhí)行一段程序,產(chǎn)生相對(duì)應(yīng)的同步動(dòng)作,進(jìn)而達(dá)成本發(fā)明的目的。
在本發(fā)明的數(shù)據(jù)流的同步訊息觸發(fā)方法中,該數(shù)據(jù)流為一數(shù)字?jǐn)?shù)據(jù)流。該數(shù)據(jù)幀包含一幀訊息及一聲音數(shù)據(jù)。該幀訊息包含一幀辨識(shí)位及一聲音數(shù)據(jù)長度數(shù)據(jù),該幀辨識(shí)位藉以判斷該幀為該數(shù)據(jù)幀。該命令幀包含一包含該命令辨識(shí)碼的幀訊息。該幀訊息還包含一幀辨識(shí)位,該幀辨識(shí)位藉以判斷該幀為該命令幀。
在本發(fā)明的數(shù)據(jù)流插入同步訊息的方法中,該數(shù)據(jù)為一整段聲音數(shù)據(jù)。該數(shù)據(jù)幀包含一幀訊息及一片段聲音數(shù)據(jù)。該幀訊息包含一幀辨識(shí)位及一聲音數(shù)據(jù)長度數(shù)據(jù),該幀辨識(shí)位藉以判斷該幀為該數(shù)據(jù)幀。該命令幀包含一幀訊息。該幀訊息包含一幀辨識(shí)位及一命令辨識(shí)碼,該幀辨識(shí)位藉以判斷該幀為該命令幀。該數(shù)據(jù)流為一數(shù)字?jǐn)?shù)據(jù)流。該播放的方式將該數(shù)據(jù)以一聲波的形式展現(xiàn)在一屏幕上。該插入該命令幀的方式系在該聲波上點(diǎn)選,并于對(duì)應(yīng)的該適當(dāng)?shù)臅r(shí)間點(diǎn)加入該命令幀。該數(shù)據(jù)幀分為一完整數(shù)據(jù)幀及一非完整數(shù)據(jù)幀。
本發(fā)明將藉由下列參照附圖的詳細(xì)說明,以得更深入的了解
圖1(A)為本發(fā)明較佳實(shí)施例的聲音數(shù)據(jù)中插入命令的示意圖。
圖1(B)為對(duì)應(yīng)圖一的數(shù)據(jù)流。
圖2為本發(fā)明較佳實(shí)施例的各種幀。
圖3為本發(fā)明較佳實(shí)施例的處理流程圖。
請(qǐng)參見圖1(A),在操作方面,本發(fā)明提出將同步動(dòng)作的觸發(fā)訊息與聲音數(shù)據(jù)緊密結(jié)合的觀念,以及將聲音與同步動(dòng)作之間的一維時(shí)間關(guān)系改以二維圖像的方式表現(xiàn),并可允許使用者在該二維圖像中設(shè)計(jì)同步動(dòng)作的激活時(shí)間。
首先,藉由個(gè)人計(jì)算機(jī)(PC)程序工具的輔助,在屏幕21上顯示聲音的波形,即聲波22,并且藉由PC的音效裝置,讓使用者可以反復(fù)聽取該聲音波形。其次,根據(jù)將同步動(dòng)作的觸發(fā)訊息與聲音數(shù)據(jù)緊密結(jié)合的觀念,使用者在聽取該聲音之后,可藉由PC程序工具的輔助,將多個(gè)同步動(dòng)作的觸發(fā)訊息直接插入該聲音波形的適當(dāng)位置,例如在時(shí)間T1插入命令00,時(shí)間T2插入命令01,而時(shí)間T3插入命令02。最后,由PC程序工具將原聲音數(shù)據(jù)與新插入的同步觸發(fā)訊息以本發(fā)明提出的數(shù)據(jù)結(jié)構(gòu)方式產(chǎn)生本發(fā)明的數(shù)據(jù)流,可存成一新的檔案,其對(duì)應(yīng)的數(shù)據(jù)流如圖1(B)所示。在圖1(B)中,數(shù)據(jù)幀有四個(gè),每個(gè)里面可能包含多個(gè)完整數(shù)據(jù)幀及一個(gè)非完整數(shù)據(jù)幀(通常為最后一個(gè))。
請(qǐng)參見圖2,本發(fā)明所提出的數(shù)據(jù)結(jié)構(gòu)將數(shù)據(jù)分成三種編碼型態(tài)。所有聲音數(shù)據(jù)與插入的同步激活訊息相結(jié)合后所產(chǎn)生的檔案,均由此三種編碼型態(tài)所組成。此三種型態(tài)分別為完整數(shù)據(jù)幀31(complete data frame),非完整數(shù)據(jù)幀32(incomplete data frame)及命令幀33(command frame)。在每個(gè)幀之中,有二個(gè)固定位置的位用來辨視該幀的型態(tài)。各種幀的詳述如下i)完整數(shù)據(jù)幀31本幀的內(nèi)容主要為某特定長度(例如256個(gè)取樣點(diǎn))的聲音數(shù)據(jù)。此外,在整個(gè)幀的某固定位置(通常在最前端),有一些記錄該幀特殊訊息的位,包含二位的幀型態(tài)辨識(shí)碼,稱為’幀訊息(frame information)’。
ii)非完整數(shù)據(jù)幀32本幀的內(nèi)容為非固定而且小于完整數(shù)據(jù)幀的聲音長度的聲音數(shù)據(jù)以及該幀的’幀訊息’。非完整數(shù)據(jù)幀的’幀訊息’必須比完整數(shù)據(jù)幀的’幀訊息’多一些位數(shù),用以記錄該幀內(nèi)的聲音數(shù)據(jù)長度。
iii)命令幀33本幀的內(nèi)容可以只包含’幀訊息’,但可以是’幀訊息’與聲音數(shù)據(jù)的組合。在命令幀的幀訊息中含有命令辨識(shí)碼以表示不同的命令。不同的命令則代表不同的同步動(dòng)作觸發(fā)訊息,并且對(duì)應(yīng)到不同的微處理器程序。
另外,在幀的產(chǎn)生方式中,使用者可將多個(gè)命令旗標(biāo)插入聲音波形中,并可隨意調(diào)整每個(gè)旗標(biāo)的位置。由PC程序工具將聲音數(shù)據(jù)與命令數(shù)據(jù)重新組合編碼,產(chǎn)生一個(gè)新的混合數(shù)據(jù)文件。其組合邏輯如下i)假設(shè)一個(gè)完整數(shù)據(jù)幀的聲音數(shù)據(jù)長度定為256個(gè)取樣點(diǎn)。從聲音的第一個(gè)取樣點(diǎn)開始至第256個(gè)取樣點(diǎn)之間,若無命令旗標(biāo)出現(xiàn),則可徑將此256個(gè)取樣點(diǎn)編成一個(gè)完整數(shù)據(jù)幀,并在該幀的最前面加上數(shù)個(gè)位的幀訊息,其中包含二個(gè)位的幀辨識(shí)碼。下次自第257個(gè)取樣點(diǎn)開始,依據(jù)相同原則往下編碼。
ii)聲音的第一個(gè)取樣點(diǎn)至第256個(gè)取樣點(diǎn)之間,若出現(xiàn)命令旗標(biāo),則將第一個(gè)取樣點(diǎn)至命令旗標(biāo)所在位置的前一個(gè)取樣點(diǎn),編成一個(gè)非完整數(shù)據(jù)幀,并在該幀的最前面加上數(shù)個(gè)位的幀訊息,其中包含二個(gè)位的幀辨識(shí)碼及8個(gè)位的聲音數(shù)據(jù)長度。將命令旗標(biāo)及其所在位置的取樣點(diǎn)編成一個(gè)命令幀,并在該幀的最前面加上數(shù)個(gè)位的幀訊息,其中包含二個(gè)位的幀辨識(shí)碼。下次自該命令旗標(biāo)所在位置的下一個(gè)取樣點(diǎn)開始,依據(jù)上述原則往下編碼。
請(qǐng)參見圖3。本發(fā)明處理數(shù)據(jù)流的流程如下S1首先讀取數(shù)據(jù)流中的幀訊息,由幀訊息里的數(shù)據(jù),可判斷該幀屬于數(shù)據(jù)幀或命令幀。其中數(shù)據(jù)幀又可分為完整數(shù)據(jù)幀及非完整數(shù)據(jù)幀。
S2若為完整數(shù)據(jù)幀,代表該幀里的聲音數(shù)據(jù)為完整的256點(diǎn),可將數(shù)據(jù)全數(shù)輸出。若為非完整數(shù)據(jù)幀,代表該幀里的聲音數(shù)據(jù)不足256點(diǎn),此時(shí)必須從幀訊息中再讀取聲音數(shù)據(jù)長度,以該長度決定輸出聲音數(shù)據(jù)的點(diǎn)數(shù)。最后,若從幀訊息中判斷出即不是完整數(shù)據(jù)幀,也不是非完整數(shù)據(jù)幀,則該幀為命令幀,于是可從命令幀33中的幀訊息讀取命令辨識(shí)碼,并執(zhí)行對(duì)應(yīng)的程序。
S3若該命令幀包含有聲音數(shù)據(jù),則將其聲音數(shù)據(jù)輸出。當(dāng)然,從完整數(shù)據(jù)幀或非完整數(shù)據(jù)幀中取得的聲音數(shù)據(jù),也是在此步驟中輸出聲音。
S4判斷聲音數(shù)據(jù)轉(zhuǎn)換完成后,或者該命令幀里無任何聲音數(shù)據(jù)時(shí),即完成一幀的動(dòng)作,此時(shí)可回到步驟S1讀取下一幀,重復(fù)同樣的步驟,直到整個(gè)數(shù)據(jù)流處理完成為止。
綜上所述,本發(fā)明之?dāng)?shù)據(jù)流中,在適當(dāng)?shù)臅r(shí)間點(diǎn),可插入代表一動(dòng)作的命令旗標(biāo),在數(shù)據(jù)流的讀取過程中,微處理器可以根據(jù)各種幀的形態(tài),來處理相對(duì)應(yīng)的動(dòng)作。若讀取到的是一個(gè)數(shù)據(jù)幀,則根據(jù)該幀里的數(shù)據(jù),將聲音數(shù)據(jù)輸出,而若讀取到的是一個(gè)命令幀,則可根據(jù)該幀里的命令,執(zhí)行一相對(duì)應(yīng)的程序。該程序則可去驅(qū)動(dòng)一燈光,或一語音,或者一個(gè)機(jī)械動(dòng)作,這應(yīng)用在玩具上,可使玩具的動(dòng)作與語音完全同步,不會(huì)有動(dòng)作與聲音之間的時(shí)間落差的問題。另外,本發(fā)明的數(shù)據(jù)幀系分為完整及非完整二者,而在實(shí)作上,也可以只采用非完整的數(shù)據(jù)幀,完整的數(shù)據(jù)幀事實(shí)上為非完整數(shù)據(jù)幀的一個(gè)特例。當(dāng)然,本發(fā)明除了可應(yīng)用在聲音數(shù)據(jù)流上之外,也可應(yīng)用在其它方面,例如影像數(shù)據(jù)流,同理,可在播放影像時(shí),插入一些命令,以產(chǎn)生相對(duì)應(yīng)的同步動(dòng)作。
本發(fā)明可熟悉本技術(shù)領(lǐng)域的人員進(jìn)行各種變化,但這些變化都應(yīng)包含在所附權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)流的同步訊息觸發(fā)方法,包含下列步驟提供一數(shù)據(jù)流,該數(shù)據(jù)流至少包含一數(shù)據(jù)幀與一命令幀;以及讀取該數(shù)據(jù)流,在判斷為該數(shù)據(jù)流里的一幀為該數(shù)據(jù)幀時(shí),讀取該數(shù)據(jù)幀的數(shù)據(jù),而判斷該數(shù)據(jù)流里的該幀為該命令幀時(shí),取得該命令幀的命令辨識(shí)碼,以執(zhí)行該命令辨識(shí)碼所對(duì)應(yīng)的程序。
2.如權(quán)利要求1所述的數(shù)據(jù)流的同步訊息觸發(fā)方法,其特征在于,該數(shù)據(jù)流為一數(shù)字?jǐn)?shù)據(jù)流。
3.如權(quán)利要求1所述的數(shù)據(jù)流的同步訊息觸發(fā)方法,其特征在于,該數(shù)據(jù)幀包含一幀訊息及一聲音數(shù)據(jù)。
4.如權(quán)利要求3所述的數(shù)據(jù)流的同步訊息觸發(fā)方法,其特征在于,該幀訊息包含一幀辨識(shí)位及一聲音數(shù)據(jù)長度數(shù)據(jù),該幀辨識(shí)位藉以判斷該幀為該數(shù)據(jù)幀。
5.如權(quán)利要求1所述的數(shù)據(jù)流的同步訊息觸發(fā)方法,其特征在于,該命令幀包含一包含該命令辨識(shí)碼的幀訊息。
6.如權(quán)利要求5所述的數(shù)據(jù)流的同步訊息觸發(fā)方法,其特征在于,該該幀訊息還包含一幀辨識(shí)位,該幀辨識(shí)位是藉以判斷該幀為該命令幀。
7.一種數(shù)據(jù)流插入同步訊息的方法,包含下列步驟播放一數(shù)據(jù);在一適當(dāng)?shù)臅r(shí)間點(diǎn),插入一命令幀,并于插入該命令幀前從該數(shù)據(jù)中分離出一數(shù)據(jù)幀;以及組合該數(shù)據(jù)幀與該命令幀,以產(chǎn)生一包含該數(shù)據(jù)幀及該命令幀的數(shù)據(jù)流。
8.如權(quán)利要求7所述的數(shù)據(jù)流插入同步訊息的方法,其特征在于,該數(shù)據(jù)為一整段聲音數(shù)據(jù)。
9.如權(quán)利要求8所述的數(shù)據(jù)流插入同步訊息的方法,其特征在于,該數(shù)據(jù)幀包含一幀訊息及一片段聲音數(shù)據(jù)。
10.如權(quán)利要求9所述的數(shù)據(jù)流插入同步訊息的方法,其特征在于,該幀訊息包含一幀辨識(shí)位及一聲音數(shù)據(jù)長度數(shù)據(jù),該幀辨識(shí)位藉以判斷該幀為該數(shù)據(jù)幀。
11.如權(quán)利要求7所述的數(shù)據(jù)流插入同步訊息的方法,其特征在于,該命令幀包含一幀訊息。
12.如權(quán)利要求11所述的數(shù)據(jù)流插入同步訊息的方法,其特征在于,該該幀訊息包含一幀辨識(shí)位及一命令辨識(shí)碼,該幀辨識(shí)位是藉以判斷該幀為該命令幀。
13.如權(quán)利要求7所述的數(shù)據(jù)流插入同步訊息的方法,其特征在于,該數(shù)據(jù)流為一數(shù)字?jǐn)?shù)據(jù)流。
14.如權(quán)利要求7所述的數(shù)據(jù)流插入同步訊息的方法,其特征在于,該播放的方式是將該數(shù)據(jù)以一聲波的形式展現(xiàn)在一屏幕上。
15.如權(quán)利要求14所述的數(shù)據(jù)流插入同步訊息的方法,其特征在于,該插入該命令幀的方式系在該聲波上點(diǎn)選,并于對(duì)應(yīng)的該適當(dāng)?shù)臅r(shí)間點(diǎn)加入該命令幀。
16.如權(quán)利要求7所述的數(shù)據(jù)流插入同步訊息的方法,其特征在于,該數(shù)據(jù)幀分為一完整數(shù)據(jù)幀及一非完整數(shù)據(jù)幀。
全文摘要
本發(fā)明的數(shù)據(jù)流的同步訊息觸發(fā)方法是對(duì)數(shù)據(jù)流的數(shù)據(jù)幀及命令幀進(jìn)行處理,而在讀取數(shù)據(jù)流后,判斷為數(shù)據(jù)流里的一幀為數(shù)據(jù)幀時(shí),讀取數(shù)據(jù)幀的數(shù)據(jù),而判斷數(shù)據(jù)流里的幀為命令幀時(shí),取得命令幀的一命令辨識(shí)碼,以執(zhí)行命令辨識(shí)碼所對(duì)應(yīng)的程序。另外本發(fā)明的數(shù)據(jù)流插入同步訊息的方法是先播放一數(shù)據(jù),在一適當(dāng)?shù)臅r(shí)間點(diǎn),插入一命令幀,并于插入命令幀前從數(shù)據(jù)中分離出一數(shù)據(jù)幀,最后再組合數(shù)據(jù)幀與命令幀,以產(chǎn)生一包含數(shù)據(jù)幀及命令幀的數(shù)據(jù)流。
文檔編號(hào)H04L7/00GK1378360SQ0111240
公開日2002年11月6日 申請(qǐng)日期2001年3月29日 優(yōu)先權(quán)日2001年3月29日
發(fā)明者楊明哲 申請(qǐng)人:華邦電子股份有限公司