專利名稱:在廣播事件中在互聯(lián)網(wǎng)上使用仿真流的實時視頻游戲的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通過網(wǎng)絡(luò)來流動多媒體文件。本發(fā)明尤其涉及允許在廣播環(huán)境下,對在互聯(lián)網(wǎng)上的流動的圖象或視頻動畫的仿真。本發(fā)明尤其涉及能使終端用戶與由圖象或視頻動畫而創(chuàng)建的環(huán)境相互配合。
背景技術(shù):
術(shù)語“流式技術(shù)”(streaming)是指將數(shù)據(jù)從服務(wù)器傳遞給客戶機(jī),從而可在接收端將其當(dāng)作一個穩(wěn)定的連續(xù)的流來處理。隨著互聯(lián)網(wǎng)的發(fā)展,流式技術(shù)變得越來越重要,這是因為大多數(shù)用戶不能足夠快地訪問并下載例如包含圖象動畫、音頻、視頻或其組合等等內(nèi)容的大量的多媒體文件。但是,流式技術(shù)會使用戶的瀏覽器以及插入件在接收到完整的文件之前就開始處理數(shù)據(jù)。對于所用的流式技術(shù),接收文件的客戶機(jī)一方必須能夠收集數(shù)據(jù),并必須能將其當(dāng)作一個穩(wěn)定的流而傳送給處理這些數(shù)據(jù)的應(yīng)用程序。這意味著,如果客戶機(jī)接收數(shù)據(jù)比所需要的速度要快,則需要對過量的數(shù)據(jù)進(jìn)行緩沖。另一方面,如果數(shù)據(jù)到達(dá)不及時,則數(shù)據(jù)的表現(xiàn)形式將不會平滑。
這里所用的術(shù)語“文件”表明可以得到數(shù)據(jù)處理并能被當(dāng)作一個整體進(jìn)行處理的相關(guān)數(shù)據(jù)項的全體。在本發(fā)明的范圍內(nèi),術(shù)語“文件”既指實時產(chǎn)生的數(shù)據(jù)也指從存儲器中所檢索到的數(shù)據(jù)。
在眾多的技術(shù)中,時下可行的或是正在開發(fā)的用于通過互聯(lián)網(wǎng)進(jìn)行圖象數(shù)據(jù)通信的技術(shù)是VRML 97以及MPEG-4。VRML 97代表“虛擬現(xiàn)實模型化語言”,并且是用于描述互聯(lián)網(wǎng)上的交互式3D多媒體存儲內(nèi)容的一個國際標(biāo)準(zhǔn)(ISO/IEC 14772)文件格式。MPEG-4是由MPEG(活動圖象專家組)所開發(fā)的一種ISO/IEC標(biāo)準(zhǔn)。在這兩個標(biāo)準(zhǔn)中,圖形內(nèi)容被構(gòu)造在所謂的景物圖(scenegraph)中。景物圖是共同描述圖形領(lǐng)域的坐標(biāo)系和形狀的族樹。在景物族樹中最重要的一項是通用坐標(biāo)系統(tǒng)(world coordinate system)。通用坐標(biāo)系統(tǒng)的作用是一個或多個子坐標(biāo)系統(tǒng)和形狀的雙親(parent)。而這些子坐標(biāo)系統(tǒng)又是另外一些子坐標(biāo)系統(tǒng)和形狀的雙親,以此類推。
VRML是用于描述對象的一種文件格式。VRML定義了一組對象,這些對象有利于制作3D圖形、多媒體以及交互式對象/領(lǐng)域的建立。這些對象被稱作節(jié)點,并包括存儲在字段和事件中的基本數(shù)據(jù)。典型地,景物圖包括結(jié)構(gòu)節(jié)點、葉節(jié)點、內(nèi)插節(jié)點以及傳感節(jié)點。結(jié)構(gòu)節(jié)點定義了景物內(nèi)的對象之間的關(guān)系。葉節(jié)點定義了對象的物理形態(tài)。內(nèi)插節(jié)點定義了動畫。傳感節(jié)點定義了用戶交互作用,以用于特殊的用戶輸入形式。VRML不直接支持?jǐn)?shù)據(jù)從服務(wù)器流動到客戶機(jī)。在VRML中不存在象流式技術(shù)中所必須的數(shù)據(jù)流與時間標(biāo)記之間的同步這樣的功能。但是,VRML具有這樣一種機(jī)構(gòu),它允許外部程序影響VRML客戶機(jī)。這種方法已經(jīng)用在將動畫數(shù)據(jù)調(diào)給客戶機(jī)的體育運動應(yīng)用中。例如,可以參見Orad Hi-Tec系統(tǒng)有限公司在<http//www.virtualive.com>上的“VirtuaLive Soccer”。這一網(wǎng)絡(luò)文件討論了用于通過互聯(lián)網(wǎng)傳送的用來產(chǎn)生模仿實際足球比賽的精彩場面的逼真的、動畫的、三維的圖形片段的處理。這種系統(tǒng)幾乎能實時產(chǎn)生使用富含多媒體的網(wǎng)頁來補充電視體育運動的視野的內(nèi)容。在這個例子中,處理工作分兩步。首先,運動場的圖形模型以及足球運動員的圖形模型連同外部程序一起被下載,該外部程序在這一例子中是一個Java的Applet。之后,用戶可以與外部程序進(jìn)行對話以便請求一個特殊的動畫。之后,用于這個特殊動畫的數(shù)據(jù)由用戶下載給客戶機(jī)并能與用戶進(jìn)行人機(jī)對話用戶可以從該動畫內(nèi)的不同觀察點來觀看比賽場景,并且如果需要還可用慢動作來觀看。就節(jié)點類型而言,該處理首先下載結(jié)構(gòu)節(jié)點和葉節(jié)點,隨即是內(nèi)插節(jié)點。通過改變內(nèi)插節(jié)點的設(shè)置,有可能運行不同的動畫序列。在這個例子中所用的處理有點與用戶可以選擇并實現(xiàn)包含所有模型(結(jié)構(gòu)節(jié)點)以及所有動畫數(shù)據(jù)(內(nèi)插節(jié)點)的VRML文件的單步處理相等同。這種方法使得在客戶機(jī)可玩任何內(nèi)容之前所需的下載時間很長。這是一條令人受挫的經(jīng)歷,如果與能立即得到內(nèi)容的TV廣播相比則更是如此。
上面介紹的另一種技術(shù)MPEG-4確定了對于場景的一種二進(jìn)制描述格式(BIFS),它與VRML 97有很寬的重疊范圍。另一方面,MPEG-4被設(shè)計為支持圖形流同時還有視頻流。MPEG-4定義了用于更新場景以及對場景制作動畫的兩個服務(wù)器/客戶機(jī)協(xié)議BIFS-Update以及BIFS-Anim。MPEG-4比VRML有一些優(yōu)勢的是對場景描述以及對動畫數(shù)據(jù)的編碼,同時還有內(nèi)部流動的能力。用戶不用等待動畫數(shù)據(jù)的完全下載。例如,在前面提到的足球比賽廣播應(yīng)用中,動畫可以在下載了球員模型和運動場模型之后就立即開始。MPEG-4還具有一個優(yōu)點,即由于其使用了壓縮的二進(jìn)制格式的BIFS傳輸協(xié)議而使其效率更高。
在流式技術(shù)的范圍內(nèi),上述已知技術(shù)就帶寬使用、分組損失隱蔽或恢復(fù)以及多用戶交互性而言具有局限性,尤其是在對大量客戶機(jī)的廣播中。
對于帶寬,全部動畫都是在服務(wù)器上產(chǎn)生的。這使得大量數(shù)據(jù)需要通過將客戶機(jī)聯(lián)接到服務(wù)器上的網(wǎng)絡(luò)進(jìn)行傳輸,這種網(wǎng)絡(luò)例如可以是互聯(lián)網(wǎng)。例如,在上述的足球廣播應(yīng)用中,需要激勵22個足球球員。每個單獨球員的每一個動畫數(shù)據(jù)點都包括3D空間內(nèi)的一個位置以及比方說是一組15個聯(lián)接旋轉(zhuǎn)以便模仿球員的姿勢。這表示了63個浮點值。如果假定動畫更新率為每秒15個數(shù)據(jù)點,則需要665 Kbps的比特率。典型地,使用BIFS可使比特率減少為原來的1/20,所得到的比特率大約為33Kbps。但是,這一數(shù)目沒有考慮用于互聯(lián)網(wǎng)協(xié)議(RTP、UDP以及IP)以及用于象音頻這樣的附加數(shù)據(jù)類型所需的額外操作。但是,時下在消費市場上的典型的可商業(yè)使用的調(diào)制解調(diào)器都具有28.8Kbps或33.6Kbps的容量。很清楚,由于帶寬的限制使得流動動畫在終端用戶處出現(xiàn)一些問題。在對大量用戶比方說是100,000個客戶機(jī)進(jìn)行廣播的情況下,需要在幾個路由器處復(fù)制所述數(shù)據(jù)流。在互聯(lián)網(wǎng)上的一個路由器確定了數(shù)據(jù)包在其通路上朝其最終目的地一直向前傳輸所遇到的下一個網(wǎng)點。路由器依據(jù)對與其相連的網(wǎng)絡(luò)狀態(tài)的當(dāng)時的協(xié)商而決定使用哪一條路徑來傳送每一個信息包。路由器可以位于網(wǎng)絡(luò)的任何一個結(jié)合點處或位于網(wǎng)絡(luò)聯(lián)接器上,這些結(jié)合點或網(wǎng)絡(luò)聯(lián)接器包括互聯(lián)網(wǎng)的每一個存在點。很清楚,這種廣播使得有可能在整個互聯(lián)網(wǎng)上產(chǎn)生難以處理的數(shù)據(jù)爆炸。為防止這種情況的發(fā)生,需要將實際帶寬限制為遠(yuǎn)遠(yuǎn)低于28.8Kbps。
對于分組損失隱蔽,基于VRML的系統(tǒng)使用可靠的協(xié)議(TCP)。在這里,分組損失不再是一個問題。在MPEG-4的情況下,BIFS使用RTP/UDP/IP。因此,需要一個分組損失恢復(fù)機(jī)構(gòu)。在點對點的應(yīng)用中,可以考慮重新傳輸所損失的數(shù)據(jù)包。但是,在廣播的情況下,這太復(fù)雜。但是,在這兩種情況下,MPEG的可靠性需要較高的帶寬應(yīng)用(冗余)或較長的等待時間(重新傳輸)。
對于多用戶的交互性,VRML和MPEG-4實際上都是以服務(wù)器-客戶機(jī)通信為基礎(chǔ)的。不存在使多客戶機(jī)之間進(jìn)行通信的設(shè)備。
有關(guān)VRML的更多的信息,例如可以在<htpp//sgi.felk.cvut.cz/~holecek/VRML/concepts.html>上看1996年3月5日的“Key Concepts”,或是在<http//www.stl.nps.navy.mil/~brutzman/vrml/vrml_95.html>上看1996年1月23日公開的由D.P.Brutzman等人寫的“Internetwork Infrastructure Requirementsfor Virtual Environments”。
有關(guān)MPEG-4的更多信息,例如可以在<http//drogo.cselt.stet.it/mpeg/standards/mpeg-4/mpeg-4.htm>上看1998年7月發(fā)表的由Rob Koenen編輯的ISO/IEC JTC1/SC29/WG11/N2323中的“Overview ofthe MPEG-4Standard”。
發(fā)明目的因此,本發(fā)明的一個目的是提供一種技術(shù),它能使用戶處理多媒體數(shù)據(jù)就好象它是一個穩(wěn)定且連續(xù)的流。本發(fā)明的另一個目的是在整個互聯(lián)網(wǎng)上能執(zhí)行廣播中的對大量客戶機(jī)的連續(xù)處理。應(yīng)當(dāng)注意上述標(biāo)識的問題在廣播應(yīng)用中變得更加尖銳。本發(fā)明還有一個目的是使用用于創(chuàng)建一個交互軟件應(yīng)用程序的這種技術(shù),它能在連續(xù)展開的電子虛擬環(huán)境中為用戶導(dǎo)航。
發(fā)明概述為達(dá)到這一目的,本發(fā)明提供了一種方法,用于對通過網(wǎng)絡(luò)將多媒體文件流動到與該網(wǎng)絡(luò)相連的接收站的情況進(jìn)行仿真。描述了文件的各個狀態(tài)的各個狀態(tài)信息被提供出來。接收站能通過網(wǎng)絡(luò)接收相應(yīng)的狀態(tài)信息,并能在相應(yīng)的狀態(tài)信息的控制下,在本地產(chǎn)生多媒體文件。在對動畫的廣播中,本發(fā)明涉及為能顯示圖形動畫而通過網(wǎng)絡(luò)提供數(shù)據(jù)的一種方法。相應(yīng)的狀態(tài)信息被提供給整個網(wǎng)絡(luò),從而描述了動畫的連續(xù)的各個狀態(tài)。各個狀態(tài)信息都是通過網(wǎng)絡(luò)被接收的。接收站能在所接收的相應(yīng)的狀態(tài)信息的控制下產(chǎn)生動畫。尤其是,本發(fā)明提供了一種方法,它能在連續(xù)展開的電子虛擬環(huán)境中為用戶導(dǎo)航。本方法包括向用戶提供所述環(huán)境的通用模型;傳遞代表進(jìn)展?fàn)顟B(tài)的通用模型的狀態(tài)變化;允許用戶提供輸入,用于控制與該虛擬環(huán)境相關(guān)的對象的位置;由該通用模型和響應(yīng)所述狀態(tài)變化以及用戶的輸入而創(chuàng)建一個環(huán)境。
在本發(fā)明中,多媒體文件(動畫、視頻或音頻文件)被當(dāng)作連續(xù)狀態(tài)來描述。是這種狀態(tài)信息而不是動畫數(shù)據(jù)本身被傳送給客戶機(jī)。術(shù)語“仿真”因此強調(diào)通知給客戶機(jī)的信息不需要被流動。客戶機(jī)產(chǎn)生用于本機(jī)播放的數(shù)據(jù),并且該數(shù)據(jù)的產(chǎn)生是依據(jù)所接收的狀態(tài)信息。因此,在播放數(shù)據(jù)的同時,用戶看到連續(xù)的穩(wěn)定的數(shù)據(jù)流,就好象數(shù)據(jù)是(在最佳條件下)通過網(wǎng)絡(luò)流過來的一樣。
在最佳實施例中,共享的對象協(xié)議被用于實現(xiàn)動畫。服務(wù)器和客戶機(jī)都具有所收集對象的副本。一個對象是保持狀態(tài)信息的一個數(shù)據(jù)結(jié)構(gòu)。在虛擬足球賽的范圍內(nèi),對象例如可以是表示若干足球球員中一個球員的圖形。服務(wù)器接收流動的視頻文件并監(jiān)視這些對象。應(yīng)當(dāng)注意MPEG-4使得能建立被處理得象一個實體的視頻對象。如果服務(wù)器改變了這一對象的狀態(tài),則共享的對象協(xié)議會因此改變客戶機(jī)處的副本。這將在以下參見附圖作更詳細(xì)的說明。
這種狀態(tài)信息比動畫數(shù)據(jù)本身具有更高的抽象水平。例如,在如上所述的足球比賽廣播應(yīng)用中,所述狀態(tài)信息包括在場地內(nèi)的22個球員的當(dāng)前位置以及定義它們當(dāng)前動作的參數(shù)(例如“跑”、“跳”等)。使用較高水平的信息具有幾個優(yōu)點,尤其是在需要將動畫在互聯(lián)網(wǎng)上傳播給大量聽眾的廣播應(yīng)用中。在互聯(lián)網(wǎng)上傳輸?shù)臓顟B(tài)信息的內(nèi)容是非常緊湊的,這樣就比傳輸動畫數(shù)據(jù)本身需要更小的帶寬。從一些參數(shù)中本機(jī)地產(chǎn)生動畫數(shù)據(jù)。另外,動畫數(shù)據(jù)點的更新率更低,這是因為動畫狀態(tài)的變化要比動畫數(shù)據(jù)本身的變化具有更低的速率。這帶來對于較低帶寬的進(jìn)一步需要。此外,本發(fā)明對分組損失恢復(fù)或隱蔽以及對網(wǎng)絡(luò)等待時間抖動屏蔽(latency jitter masking)提供了增強的可能性。很容易在各個狀態(tài)之間進(jìn)行內(nèi)插或外推,也很容易實現(xiàn)推算定位概念。對用戶與動畫之間的交互更容易編程,這是因為其較高的抽象水平。另一個優(yōu)點是如果多個客戶機(jī)之間能共享狀態(tài)信息,則可實現(xiàn)多用戶之間交互。還有一個優(yōu)點是多個客戶機(jī)可以依據(jù)客戶機(jī)與客戶機(jī)之間不同的處理能力而將狀態(tài)信息轉(zhuǎn)換為動畫。每個客戶機(jī)的可用資源可能與其它客戶機(jī)或客戶機(jī)組不同。
在本發(fā)明的范圍內(nèi),引用與本發(fā)明有共同受讓人的美國專利申請序列號No.09/053,448(PHA 23,383)進(jìn)行對照,該申請的題目為“Group-wise videoconferencing uses 3D-graphics model of broadcast event”,且引入本文,僅供參考。這篇文獻(xiàn)論述了有眾多地區(qū)上分開的終端用戶的TV廣播服務(wù)。這種廣播服務(wù)被用會議模式集中在一起。依據(jù)廣播中的某種事件,在軟件的控制下,終端用戶中的特定群被切換到會議模式下,這樣這個群可以討論這個事件。這種會議模式被由代表下載到這些群的該事件的視頻的3D圖形模型來增強。終端用戶能與模型進(jìn)行交互作用,以討論對該事件的選擇。
通過舉例以及參照以下附圖來對本發(fā)明進(jìn)行說明,其中圖1是一個VRML客戶機(jī)-服務(wù)器系統(tǒng);圖2是一個MPEG-4客戶機(jī)-服務(wù)器系統(tǒng);圖3-6是本發(fā)明所使用的系統(tǒng)圖;圖7-8是顯示視頻游戲的圖;對于所有這些圖,同一參考號代表相似或相應(yīng)的特征。
最佳實施例圖1是一個基于VRML的客戶機(jī)-服務(wù)器系統(tǒng)100的方框圖。系統(tǒng)100包括一個服務(wù)器102,該服務(wù)器通過通信信道106與一個客戶機(jī)104相連,在本文中,該通信信道是互聯(lián)網(wǎng)。系統(tǒng)100還可以包括更多的客戶機(jī),但為使附圖更清晰在這里沒有顯示它們。服務(wù)器102包括一個信源編碼器108以及一個信道編碼器110??蛻魴C(jī)104包括一個信道譯碼器112以及一個信源譯碼器114。信源編碼器108被看作是內(nèi)容發(fā)生工具。例如,它可以是從工作于視頻的運動捕獲設(shè)備(未示出)中產(chǎn)生VRML動畫數(shù)據(jù)的一種工具。信道編碼器110是一種子系統(tǒng),該子系統(tǒng)被看作是輸入在信源編碼器108處所產(chǎn)生的VRML動畫,并將其變換為能在互聯(lián)網(wǎng)上傳輸?shù)囊环N形式。該VRML動畫數(shù)據(jù)被存儲在一個文件中。傳輸這種文件使用了標(biāo)準(zhǔn)的文件傳輸協(xié)議。在客戶機(jī)104處,信道譯碼器被包含在一個外部程序116中。它能從下載文件中獲得動畫數(shù)據(jù),并將其傳送給執(zhí)行信源譯碼器功能的VRML播放器118。信源譯碼器功能實際上是場景圖的一個管理程序。這種服務(wù)器-客戶機(jī)通信程序不是一種流式技術(shù)的解決方法。VRML的規(guī)范不考慮使一個請求流動。在VRML中不存在例如象在對流式技術(shù)都很重要的數(shù)據(jù)流和時間標(biāo)記之間執(zhí)行同步的設(shè)備。
圖2是基于MPEG-4的客戶機(jī)-服務(wù)器系統(tǒng)200的一個方框圖。系統(tǒng)200具有通過通信信道206與一個客戶機(jī)204相連的一個服務(wù)器202。服務(wù)器202具有一個信源編碼器208以及一個信道編碼器210。客戶機(jī)204具有一個信道譯碼器212以及一個信源譯碼器214。如上所述,所設(shè)計的MPEG-4支持流式技術(shù)。同其它事情一起,MPEG-4可以定義一個用于場景的二進(jìn)制描述格式(BIFS),該格式與VRML 97有很寬的重疊范圍。此外,MPEG-4定義了兩種服務(wù)器/客戶機(jī)協(xié)議,用于對場景的更新以及進(jìn)行動畫描述,即BIFS-Update以及BIFS-Anim。在流式技術(shù)的范圍內(nèi),MPEG-4勝過VRML的地方是對場景描述的編碼以及對動畫數(shù)據(jù)的編碼,同時還有內(nèi)裝流式技術(shù)的能力。與編碼器108相似,信源編碼器208是一個內(nèi)容發(fā)生功率。信道譯碼器210與信道譯碼器110不同。它按照BIFS格式以及BIFS-Anim格式產(chǎn)生一個比特流。該比特流包括球員和運動場的圖形模型(在足球比賽動畫中)同時還有動畫數(shù)據(jù)。
但是,當(dāng)用于向大量客戶機(jī)比方說是100-100,000個客戶機(jī)廣播動畫的環(huán)境中時,系統(tǒng)100和200都具有幾個嚴(yán)重的缺陷。與網(wǎng)絡(luò)帶寬的利用、分組損失隱蔽以及多用戶的交互作用相關(guān)的局限正象上面所述的那樣。
本發(fā)明的最佳實施例通過仿真所述流式技術(shù),從而對這些問題提供了一種解決辦法,所述流式技術(shù)由對象擁有者和對象觀看者(或傾聽者)使用支持對象共享的通信協(xié)議。共享的對象時保持狀態(tài)信息的一種數(shù)據(jù)結(jié)構(gòu)。定義了全部狀態(tài)的共享對象的集合被稱為通用模型??蛻魴C(jī)和服務(wù)器具有它們自己的通用模型副本。例如,在足球賽畫像的環(huán)境內(nèi)的對象是一個足球球員的畫像。之后,對象的狀態(tài)信息例如是在3D空間內(nèi)的足球球員的位置或是象“跑”、“跳”或“滑動”或“躺在地上、明顯受傷,但具有滑稽人的田徑記錄”等這樣的動作信息。每一個共享對象是由特定部件例如是服務(wù)器所有的。所有者可以改變包含在對象內(nèi)的狀態(tài)信息。當(dāng)發(fā)生這種情況時,所述協(xié)議自動地與網(wǎng)絡(luò)上的狀態(tài)信息同步。以下所提到的這種協(xié)議被當(dāng)作一種支持共享對象的協(xié)議。這種協(xié)議確保所有通用模型副本能在通用模型狀態(tài)演化時保持一致??捎糜谶@種目的的協(xié)議的例子時DIS(分布式交互仿真)以及ISTP(交互式共享傳輸協(xié)議)。本發(fā)明的基礎(chǔ)思想是將動畫當(dāng)作連續(xù)狀態(tài)來描述。例如,在足球軟件應(yīng)用中,動畫被描繪成場地中的連續(xù)的球員位置以及球員的連續(xù)動作狀態(tài)。給定時刻的狀態(tài)是由通用模型來表達(dá)的。隨著時間的推移,狀態(tài)發(fā)生變化,而協(xié)議與網(wǎng)絡(luò)上的通用模型的狀態(tài)保持同步。這一點也可以利用共享對象來解釋。這些對象保留了那些描述規(guī)定時刻的游戲的狀態(tài)信息。對每個對象的狀態(tài)信息的更新使得產(chǎn)生了通過網(wǎng)絡(luò)被傳送給客戶機(jī)的消息。
圖3是本發(fā)明中的系統(tǒng)300的一個方框圖。系統(tǒng)300包括通過網(wǎng)絡(luò)306同一個客戶機(jī)304相連的一個服務(wù)器302。服務(wù)器302包括一個信源編碼器308以及一個信道編碼器310??蛻魴C(jī)304包括一個信道譯碼器312以及一個信源譯碼器314。服務(wù)器302具有通用模型的副本316,客戶機(jī)304具有通用模型的副本318。數(shù)據(jù)從輸入端320流動到信源編碼器308。信源編碼器308依據(jù)所接收的輸入信號而產(chǎn)生所需的狀態(tài)信息,并隨著流式技術(shù)處理的繼續(xù)而改變通用模型副本316內(nèi)的對象的狀態(tài)。這種類型的技術(shù)例如被用在上述的虛擬實況足球系統(tǒng)中。信道編碼器310監(jiān)視通用模型副本316,并對共享對象的狀態(tài)改變執(zhí)行編碼。經(jīng)編碼的狀態(tài)改變被通過網(wǎng)絡(luò)306送給客戶機(jī)304。信道譯碼器接收該狀態(tài)改變,并更新本地的通用模型副本318。信源譯碼器314執(zhí)行兩個任務(wù)。第一,它依據(jù)所接收到的狀態(tài)信息而產(chǎn)生動畫。第二,信源譯碼器314依據(jù)該動畫而管理場景圖。信源譯碼器314現(xiàn)在是一個智能部件它執(zhí)行動畫計算,另外,它能執(zhí)行象狀態(tài)內(nèi)插或外推這樣的其它任務(wù),以便隱藏分組損失或網(wǎng)絡(luò)等待時間的不穩(wěn)定。
在本發(fā)明的范圍內(nèi),可以參照與本發(fā)明有共同受讓人的美國專利申請序列號No.08/722,414(PHA 23,155),該申請的題目為“Multi-player video game withlocal updates mitigates latency effects”,引入該文獻(xiàn)僅供參考。這篇參考文獻(xiàn)討論了眾多用戶通過交互軟件應(yīng)用程序共享一個虛擬環(huán)境的一種系統(tǒng)。特殊用戶的狀態(tài)變化被傳送到一個用戶或更多個其它用戶,這取決于虛擬環(huán)境中的該特殊用戶與其它用戶中的每一個用戶之間的相對距離。這種條件的傳輸減少了消息的通信量,并允許該虛擬環(huán)境無限地變換大小。
同樣,本發(fā)明還參照了與本發(fā)明具有共同受讓人的美國專利法申請序列號No.08/722,413(PHA23,156),該申請的題目為“Latency effect in multi-player videogame reduced by surrogate agent”,引入該文獻(xiàn)僅供參考。這篇文獻(xiàn)涉及處理在兩個或多個用戶之間進(jìn)行比賽的交互式軟件應(yīng)用程序的數(shù)據(jù)處理系統(tǒng)。該系統(tǒng)包括用于由用戶中的相應(yīng)一個所驅(qū)動的用戶界面裝置。這些裝置通過一個網(wǎng)絡(luò)而相互連接。為了有效地消除等待時間,一個用戶在其它用戶的裝置上被顯示為一個代理,其對其它用戶的動作的反應(yīng)受存儲在該系統(tǒng)中的規(guī)則基準(zhǔn)的控制。
本發(fā)明還另外參照了與本發(fā)明具有共同受讓人的美國專利申請序列號No.08/994,827(PHA23,319),引入該文獻(xiàn)僅供參考,該文獻(xiàn)的題目是“Diversionagent uses cinematographic techniques to mask latency”。這篇文獻(xiàn)涉及作為在一個數(shù)據(jù)處理系統(tǒng)上運行的用戶交互式軟件應(yīng)用程序的操作部分的軟件代理程序。該代理程序創(chuàng)建了一個用戶可認(rèn)知的效果,以便屏蔽在對用戶傳遞數(shù)據(jù)時所出現(xiàn)的等待時間。該代理程序創(chuàng)建了一種采用電影技術(shù)的效果。
應(yīng)當(dāng)注意,通用模型的副本316和318不需要完全相同,例如,當(dāng)演出時,只要通用模型的一個副本中的對象和通用模型的另一個副本中的另一個對象被在共享狀態(tài)變化的場景中所共享即可。不同一性的可行性和范圍依賴于應(yīng)用程序。例如,如果一個客戶機(jī)的用戶喜歡把足球球員顯示為比方說是企鵝,而其它客戶機(jī)的用戶更喜歡把足球球員顯示為比方說是芭蕾舞演員,在這兩個客戶機(jī)上的表現(xiàn)形式通過共享狀態(tài)變化而在整個系統(tǒng)中保持一致。舉另一個例子,客戶機(jī)304可以讓用戶輸入附加的狀態(tài)信息,以控制播放時對通用模型的再現(xiàn)。例如,用戶可以選擇觀看虛擬實況足球賽時的特定觀看點。這種狀態(tài)信息不出現(xiàn)也不需要出現(xiàn)在服務(wù)器302中。應(yīng)當(dāng)注意,基于狀態(tài)信息的視點再現(xiàn)以及通用模型比起將圖象當(dāng)作具有景深信息的位圖而實際傳遞給客戶機(jī)304的情況要簡單許多,且需要的資源更少。因此,除了前面提到的本發(fā)明的優(yōu)點外,本發(fā)明還簡化了用戶的交互性。
系統(tǒng)300的結(jié)構(gòu)假定客戶機(jī)304能運行軟件應(yīng)用程序,并具有功能足夠強勁的CPU,且具有足夠大的存儲器。一些客戶機(jī)本身可能不具有這些能力。因此希望考慮一些低級終端,這些終端也被稱作“瘦客戶機(jī)(thin clients)”。這種終端例如可以是一些能將BIFS數(shù)據(jù)流當(dāng)作輸入來接收但其功能并不足夠強大的低層MPEG-4終端??梢詤⒁妶D4來說明這一點,圖4是一張依據(jù)本發(fā)明的系統(tǒng)400的方框圖。系統(tǒng)400包括通過中繼站406與客戶機(jī)204進(jìn)行通信的一個服務(wù)器302。服務(wù)器302以及客戶機(jī)204的結(jié)構(gòu)在上面已經(jīng)討論過了。中繼站406維護(hù)通用模型的本地副本。該通用模型是由來自服務(wù)器302的消息更新的,從而使得該模型表示當(dāng)前狀態(tài)。依據(jù)這一狀態(tài)信息,中繼站406計算動畫。該動畫數(shù)據(jù)被編碼為BIFS-Anim格式并被傳送給MPEG-4客戶機(jī)204。服務(wù)器302與系統(tǒng)300中的服務(wù)器相似。中繼站406是一個模塊,該模塊在一方的共享對象支持協(xié)議下所傳送的消息與另一方的BIFS-Anim比特流之間執(zhí)行轉(zhuǎn)換。站406具有如上所述的一個信道譯碼器312、一個信源代碼轉(zhuǎn)換機(jī)410以及一個信道編碼器412。譯碼器312翻譯所接收的來自服務(wù)器302的消息,并更新通用模型318的本地副本。信源代碼轉(zhuǎn)換機(jī)410包括依據(jù)狀態(tài)信息來計算動畫的程序。這一模塊最好能執(zhí)行分組損失恢復(fù)(依據(jù)內(nèi)插或外推)、推算定位、本地動畫等與上述信源譯碼器314相似的功能。信道編碼器412根據(jù)信源代碼轉(zhuǎn)換機(jī)410的輸出,而產(chǎn)生BIFS格式和BIFS-Anim格式的比特流。
圖5是本發(fā)明的系統(tǒng)500的一張框圖。系統(tǒng)500組合了系統(tǒng)300和400的結(jié)構(gòu)。系統(tǒng)500包括一個服務(wù)器302、一個網(wǎng)絡(luò)502、通過網(wǎng)絡(luò)502與服務(wù)器302相連的客戶機(jī)504、506、508以及510。系統(tǒng)500還包括一個中繼站406以及客戶機(jī)512、514和516。客戶機(jī)512-516通過網(wǎng)絡(luò)502與服務(wù)器302相連,并與中繼站406相連。使用BIFS比特流通過中繼站406對客戶機(jī)512-516進(jìn)行服務(wù),而客戶機(jī)504-510在支持共享對象的協(xié)議下接收狀態(tài)信息,并能自己產(chǎn)生動畫。
圖6是本發(fā)明的系統(tǒng)600的方框圖,該系統(tǒng)能在眾多客戶機(jī)之間執(zhí)行交互。系統(tǒng)600包括通過網(wǎng)絡(luò)606與客戶機(jī)602和604相連的一個服務(wù)器302。服務(wù)器302的結(jié)構(gòu)如上所述。服務(wù)器302具有對象608、610、612和614的通用模型的一個副本??蛻魴C(jī)602和604具有相似對象608-614的通用模型的相似的副本。通用模型的這些副本借助于由服務(wù)器302所發(fā)送的狀態(tài)信息而在整個系統(tǒng)600中保持一致。這就構(gòu)成了用于對上面所討論的圖形動畫、視頻動畫或音頻文件的流動進(jìn)行仿真的基礎(chǔ)?,F(xiàn)在客戶機(jī)602和604也彼此共享對象616和618,但并不與服務(wù)器302共享對象616和618。例如,客戶機(jī)602是表示由客戶機(jī)602所選擇的足球賽的圖形表示法的視點的對象“視點”的擁有者。依據(jù)所接收的來自服務(wù)器302的狀態(tài)信息,客戶機(jī)602繪制比賽的圖形圖象,就好象是從運動場中的特定位置觀看那樣。圖象的繪制是依據(jù)所接收到的來自服務(wù)器302的當(dāng)前的狀態(tài)信息的組合、本地的通用模型副本以及通過能選擇視點的用戶輸入裝置620的用戶輸入而確定的,上述用戶輸入裝置例如是一個游戲桿或鼠標(biāo)??蛻魴C(jī)604共享這樣一種視點對象,它在客戶機(jī)602的控制下與在客戶機(jī)602處的視點對象保持一致,且這種視點對象使用支持共享對象的協(xié)議。對象616-618不與系統(tǒng)上的其它客戶機(jī)執(zhí)行共享。應(yīng)當(dāng)注意,基于狀態(tài)信息和通用模型的視點的繪制比起將圖象實際傳送到客戶機(jī)602和604作為具有景深信息的位圖的情況要更簡單,且需要的資源更少。系統(tǒng)600甚至可以是一個完全沒有具備主所有權(quán)的服務(wù)器的一個分布式系統(tǒng)。眾多客戶機(jī)中相應(yīng)的每一個都擁有可被所有客戶機(jī)感知的通用模型內(nèi)的眾多對象中的一個對象。一個對象的所有者觸發(fā)能沿著網(wǎng)絡(luò)傳播的一種狀態(tài)變化,以便在所共享的通用模型內(nèi)保持一致性。在眾多用戶的應(yīng)用中,其效果是作為對動畫流的仿真結(jié)果,在每一個客戶機(jī)處連續(xù)播放動畫,而沒有若干種帶寬限制。
圖7是本發(fā)明的另一個系統(tǒng)700的圖。圖7-8是附圖,它們說明了用于基于廣播情況下的視頻游戲的在本發(fā)明范圍內(nèi)使用上述系統(tǒng)300、400、500和600,這里是指象Dutch TT這樣的摩托車比賽的游戲。
圖7是顯示了實際的比賽路線702的布局,這里是Dutch TT每年都舉行的Assen、Netherlands的著名線路。TT線路的長度為6.05km(3.76英里)?,F(xiàn)在,假定在實際比賽中,在本文中用路線702上的點704、706、708、……、718來表示的每一個真實賽車手都具有一個車載的發(fā)射機(jī),這些發(fā)射機(jī)向接收站720發(fā)送當(dāng)前的位置以及速度(速率和方向),最好還有象摩托車的滾動(傾斜角)、顛簸(“平衡”)以及偏航(當(dāng)轉(zhuǎn)彎加速困難時的動力滑行)這樣的參數(shù)。站704將所接收到的來自賽車手的數(shù)據(jù)當(dāng)作狀態(tài)改變,從而通過象互聯(lián)網(wǎng)這樣的網(wǎng)絡(luò)728將其傳送給終端用戶的客戶機(jī)裝置72、724、……、726??蛻魴C(jī)722-726已經(jīng)事先接收了路線702的3D圖形通用模型(參見上文)的副本,例如可以事先通過互聯(lián)網(wǎng)或從盤上下載這些內(nèi)容。在這種模型中,代表路線702上的真實賽車手的對象的位置和速度是由在用戶的裝置722、724或726處所接收的狀態(tài)改變而確定的。代表真實賽車手的多個對象就形成了隨終端用戶的感知而對虛擬環(huán)境執(zhí)行的動態(tài)改變。也可以這樣設(shè)計對象,即在用戶的裝置處,對該對象使用參賽號碼、頭盔、外衣以及賽車的流線型外殼的顏色等來模擬真實賽車手。圖形的外觀可以是下載到用戶的裝置上的通用模型的一部分。另外,終端用戶可以具有他或她的可控制的對象,運種對象被設(shè)計為能向用戶提供這樣一種視圖,就好象他或她就坐在位于參賽路線上的摩托車上,并能作為一個賽車手參加該比賽,但現(xiàn)在這已在虛擬環(huán)境中安全地實現(xiàn)了。這種用戶可控的賽車手由用戶通過他或她的客戶機(jī)裝置722、724或726,再借助于合適的游戲站或其它用戶輸入設(shè)備730、732以及734,從而可與用戶進(jìn)行交互式作用。
其中用戶與其它用戶進(jìn)行比賽或用戶與其它受軟件程序控制的賽手進(jìn)行比賽的視頻游戲已經(jīng)被廣泛了解,并構(gòu)成了拱街(arcade)內(nèi)的一個重要的吸引人的事物。時下可家用的商業(yè)的視頻游戲的3D圖形質(zhì)量異常的高。這種質(zhì)量足能起到吸引感官以及感受真實的作用?,F(xiàn)在,本發(fā)明通過提供了與真實競賽中的真實的職業(yè)賽手之間進(jìn)行的最接近的而不會給用戶帶來任何危險或使他或她受傷等價物,從而進(jìn)一步增加了真實感。
很清楚,相似的方法也適用于沙石跑道的比賽、一級方程式或Indy 500汽車比賽、拉力賽、帆船賽或其它用戶能在其中執(zhí)行導(dǎo)航的用于連續(xù)展開虛擬環(huán)境的任意的競賽情形。正象傳統(tǒng)的視頻游戲那樣,可將象由于天氣或漏油而引起的路面的打滑、風(fēng)力、(用于航行的)水流等天氣和賽道條件集中在通用模型中。一些用戶還有這樣的能力,它們能與其它用戶進(jìn)行通信,通報它們自己的可控對象的沿著虛擬路線的位置、速度和方向,以便能在其它用戶的客戶機(jī)上將其顯示為另一個對象。
所提供的通用模型可以保持為開放狀態(tài),作為對用戶在他或她的客戶機(jī)上如何為對象制作圖形模型的一個可選項。如前所述,在足球比賽的例子中,代表足球球員的圖形可被選為反映用戶能想到的任意形狀,尤其是在經(jīng)過6次壓縮之后。與此相似,現(xiàn)在提供有用戶導(dǎo)航能力的虛擬環(huán)境中的賽手可以被表示為比方說是駱駝騎手或鴕鳥騎手、或沿路線跑動的瑞士衛(wèi)兵的成員、或是它們的組合。還有另一個例子,真實汽車或摩托車的外觀可用近年流行的式樣來代替,或由用戶他或她自己來設(shè)計等等。圖8表示當(dāng)對上面所介紹的例子進(jìn)行組合之后,對表示真實賽手的對象建立模型時的超現(xiàn)實主義外形,這也提高了視頻游戲的娛樂水平。真實賽手被表示為經(jīng)歷了狀態(tài)變化的對象。出現(xiàn)在客戶機(jī)722-726上的實際圖形可以是任意的,只要圖形表示法的運動和位置與通用模型中的動態(tài)情況保持一致即可。
雖然本發(fā)明被表示為被限制在事件廣播期間對該事件執(zhí)行實施處理的應(yīng)用中,但是很清楚,交互式應(yīng)用不需要被用在真實事件已經(jīng)實際發(fā)生的情況下。例如,一個服務(wù)器提供者可以在任意時間將表示競賽事件的狀態(tài)改變廣播出去,并可以讓用戶與專業(yè)人員進(jìn)行比賽。這樣,本發(fā)明可被認(rèn)為是視頻卡拉OK。
權(quán)利要求
1.能讓用戶在連續(xù)發(fā)展的電子虛擬環(huán)境(圖8)中執(zhí)行導(dǎo)航的一種方法,該方法包括——向用戶提供該環(huán)境的通用模型;——發(fā)送代表發(fā)展情況的通用模型的狀態(tài)改變(圖7);——能讓用戶提供用于控制與虛擬環(huán)境相關(guān)的對象的位置的輸入(730、732、734);以及——能依據(jù)狀態(tài)變化以及用戶輸入而從通用模型中創(chuàng)建環(huán)境。
2.如權(quán)利要求1的方法,其特征在于虛擬環(huán)境的展開是基于通過監(jiān)視真實事件(702-718)而創(chuàng)建的多個狀態(tài)改變。
3.如權(quán)利要求2的方法,其特征在于對真實事件的監(jiān)視包括判定所述事件(702-718)中的真實對象的位置的變化。
4.如權(quán)利要求3的方法,其特征在于對真實事件的監(jiān)視包括判斷所述真實對象(702-718)的速度變化。
5.如權(quán)利要求3的方法,其特征在于對真實事件的監(jiān)視包括判斷所述真實對象(702-718)的方向變化。
6.如權(quán)利要求2的方法,其特征在于對真實事件的監(jiān)視包括監(jiān)視所述競賽事件(圖7)。
7.如權(quán)利要求6的方法,其特征在于對競賽事件的監(jiān)視包括對含有真實參加到競賽事件中的現(xiàn)實生活中的真實對象的監(jiān)視。
8.如權(quán)利要求1的方法,其特征在于對狀態(tài)改變的發(fā)送包括使用互聯(lián)網(wǎng)。
9.如權(quán)利要求1的方法,其特征在于包括能讓用戶確定表示所述環(huán)境中至少一部分的圖形,就象是由通用模型提供的一樣(圖8)。
全文摘要
在客戶機(jī)—服務(wù)器網(wǎng)絡(luò)的廣播應(yīng)用中,在整個互聯(lián)網(wǎng)上,數(shù)據(jù)流被仿真為動畫數(shù)據(jù)而被傳遞給大量用戶。這種動畫可被看作是一連串的狀態(tài)。狀態(tài)數(shù)據(jù)而不是圖象數(shù)據(jù)自身被送給客戶機(jī)。在狀態(tài)信息的控制下,客戶機(jī)產(chǎn)生動畫數(shù)據(jù)自身。服務(wù)器和眾多的客戶機(jī)使用一個共享的對象協(xié)議進(jìn)行通信。這樣,既實現(xiàn)了廣播又實現(xiàn)了數(shù)據(jù)流,并且還沒有遇到服務(wù)網(wǎng)絡(luò)帶寬的問題。這種方法用于將象汽車競賽這樣的真實事件映射到一個虛擬環(huán)境中,以便使用戶能夠參與到虛擬競賽中而不是參與到真實的職業(yè)競賽中,虛擬環(huán)境的動態(tài)是由傳送給用戶的狀態(tài)變化而確定的。
文檔編號H04N7/24GK1275091SQ99801337
公開日2000年11月29日 申請日期1999年8月23日 優(yōu)先權(quán)日1998年8月24日
發(fā)明者R·馬拉特, A·辛哈 申請人:皇家菲利浦電子有限公司