新四季網

用於為遠程平臺編輯說明內容的方法和設備的製作方法

2023-05-16 01:03:56

專利名稱:用於為遠程平臺編輯說明內容的方法和設備的製作方法
技術領域:
本發明通常涉及編輯說明內容,具體涉及為遠程平臺編輯說明內容。
背景技術:
為各種各樣的目標裝置(如博弈控制臺、蜂窩式電話、個人數字助理等)編輯內容通常在編輯裝置平臺上進行。通過利用廣泛使用的平臺(如個人計算機運行的Window),作者能夠將廣泛使用的工具用於創建、編輯和修改所編輯的內容。在某些情形下,這些目標裝置具有唯一且專用的平臺,所述的平臺與編輯裝置平臺是不可互相交流的。將個人計算機用作編輯裝置來創建內容常常比在目標裝置的平臺內編輯內容更容易;許多附加工具和資源通常在個人計算機平臺上是可用的,而個人計算機平臺在目標裝置的平臺上是不適用的。
為了調試和微調所編輯的內容,常常需要在實際的目標裝置上查看編輯的內容。然而,將編輯的內容從編輯裝置平臺傳輸至目標裝置平臺有時需要使將要傳輸的編輯內容呈可執行的二進位形式,所述的可執行的二進位形式在編輯的內容於實際的目標裝置上被查看之前在實際的目標裝置上被重新編譯。重新編譯二進位可執行代碼的附加步驟延遲了在目標裝置上查看編輯的內容。
與在目標裝置平臺上修改編輯的內容相比較,在編輯裝置平臺上調試和微調編輯的內容常常是有利的。不幸地是,在目標裝置上利用可執行的二進位阻礙了作者在編輯裝置平臺上調試和微調編輯內容的能力。

發明內容
在一個實施例中,方法和設備將編輯的內容從編輯裝置傳輸至遠程裝置;在遠程裝置上直接播放編輯的內容;以及在編輯裝置上監控所編輯內容的一部分同時在遠程裝置上播放該部分編輯內容,其中編輯內容以說明性標記語言編寫。


被結合併構成本說明書一部分的

和解釋了用於為遠程平臺編輯說明內容的方法和設備的一個實施例。在附圖中,圖1是說明其中實現了用於為遠程平臺編輯說明內容的方法和設備的環境的示意圖;圖2是說明其中實現了用於為遠程平臺編輯說明內容的方法和設備的一個實施例的簡化流程圖;
圖3是說明與用於為遠程平臺編輯說明內容的方法和設備的一個實施例一致的系統的簡化流程圖;圖4是說明與用於為遠程平臺編輯說明內容的方法和設備的一個實施例一致的系統的簡化流程圖;圖5是與用於為遠程平臺編輯和修改說明內容的方法和設備的一個實施例一致的流程圖;圖6是與用於為遠程平臺編輯和修改說明內容的方法和設備的一個實施例一致的流程圖;圖7A是說明其中實現了用於為遠程平臺編輯說明內容的方法和設備的一個實施例的時序圖;圖7B是說明其中實現了用於為遠程平臺編輯說明內容的方法和設備的一個實施例的時序圖;圖8是說明其中實現了用於為遠程平臺編輯說明內容的方法和設備的一個實施例的簡化流程圖;圖9是與用於為遠程平臺編輯和修改說明內容的方法和設備的一個實施例一致的流程圖;圖10是說明其中實現了用於為遠程平臺編輯說明內容的方法和設備的一個實施例的簡化流程圖;以及圖11是與用於為遠程平臺編輯和修改說明內容的方法和設備的一個實施例一致的流程圖。
具體實施例方式
下面對於用於為遠程平臺編輯說明內容的方法和設備的詳細描述參考了附圖。詳細描述不是用來限制用於為遠程平臺編輯說明內容的方法和設備的。相反,用於為遠程平臺編輯說明內容的方法和設備的範圍由所附權利要求書及其等同物來界定。本領域的技術人員將會認識到,符合本發明的許多其他實際應用也是可能的。
所提到的「裝置」包括用戶使用的裝置,如計算機、可攜式計算機、個人數字助理、蜂窩式電話、博弈控制臺和能夠處理內容的裝置。
所提到的「內容」包括靜態和動態場景的圖形表示、音頻表示等。
所提到的「場景」包括被配置成可以用特定方式呈現的內容。
在一個實施例中,用於為遠程平臺編輯說明內容的方法和設備允許編輯裝置創建在遠程裝置上使用的內容。在一個實施例中,編輯裝置使用公知的工具和界面來創建該內容。例如,示範的編輯裝置包括個人計算機,如基於Window、Apple、以及Linux的個人計算機。在一個實施例中,遠程裝置被配置成可利用通過編輯裝置的編輯內容。例如,示範的遠程裝置是使用Sony PlayStation應用程式的遊戲控制臺。
在一個實施例中,編輯裝置使用說明性語言來創建編輯內容。一種這樣的說明性語言利用本說明書中示出的代碼片斷來說明。通過使用說明性語言,編輯內容可以直接由編輯裝置來編寫。另外,在編輯裝置上創建的編輯內容是特別為了在遠程裝置上使用而開發的。在一個實例中,在個人計算機上創建的編輯內容被配置成可在博弈控制臺上使用。
在一個實施例中,用於為遠程平臺編輯說明內容的方法和設備允許遠程平臺直接使用在編輯裝置上創建的編輯內容。另外,從編輯裝置傳輸所編輯的內容並且使其直接在遠程裝置上播放而無需在遠程裝置上對其重新編譯。例如,編輯內容的一部分可以在使其從編輯裝置流至遠程裝置的同時被播放。通過直接在遠程裝置上播放所編輯的內容,在編輯裝置上修改和調試所編輯的內容是可能的。
圖1是說明其中實現了用於為遠程平臺編輯說明內容的方法和設備的環境的示意圖。該環境包括電子裝置110(如被配置成可充當客戶裝置的計算平臺,比如計算機、個人數字助理等)、用戶接口115、網絡120(如區域網、本地網絡、網際網路)、以及伺服器130(如被配置成可充當伺服器的計算平臺)。
在一個實施例中,一個或多個用戶接口115部件被做成與電子裝置110成為一個整體,(比如鍵盤以及如個人數字助理的相同外殼上的視頻顯示屏輸入和輸出接口。在一個實施例中,一個或多個用戶接口115部件(例如鍵盤、如滑鼠這樣的指向器、跟蹤球等)、麥克風、揚聲器、顯示器、照相機是與電子裝置110物理分離的並且按照常規耦合至電子裝置110。在一個實施例中,用戶使用接口115來存取和控制存儲在電子裝置110、伺服器130或通過網絡120耦合的遠程存儲裝置(圖中未示出)中的內容和應用程式。
依照本發明,為遠程平臺編輯說明內容的實施例在下面通過電子裝置110中、伺服器130中的電子處理器或者通過電子裝置110中和伺服器130中一起運行的處理器來執行。伺服器130在圖1中作為單個計算平臺示出,但是在其他的例子中是兩個或以上的互連的計算平臺來充當伺服器。
在一個實施例中,電子裝置110是被配置成可通過網絡120接收所編輯內容的遠程裝置。在另一個實施例中,電子裝置110是被配置成可通過網絡120為遠程裝置傳輸所編輯內容的編輯裝置。
圖2是說明其中實現了用於為遠程平臺編輯說明內容的方法和設備的示範的體系結構的簡化流程圖。示範的體系結構包括多個電子裝置110、伺服器裝置130和網絡120,所述網絡120使電子裝置110連接到伺服器130並且使每個電子裝置110彼此連接。多個電子裝置110各自被配置成包括耦合至電子處理器208的計算機可讀介質209,如隨機存取存儲器。處理器208執行存儲在計算機可讀介質209中的程序指令。在一個實施例中,如參考圖1所述的,唯一的用戶通過接口115操作每個電子裝置110。
伺服器裝置130包括耦合至計算機可讀介質212的處理器211。在一個實施例中,伺服器裝置130耦合至一個或多個附加的外部或內部裝置,例如,在沒有限制的情況下,輔助數據存儲元件(如資料庫240)。
在一個例子中,處理器208和211由加利福尼亞州聖克拉拉市的Intel公司製造。在其他例子中,使用其它的微處理器。
在一個實施例中,多個客戶裝置110以及伺服器130包括用於為遠程平臺編輯說明內容的指令。在一個實施例中,多個計算機可讀介質209和211部分地包含定製的應用程式。另外,多個客戶裝置110以及伺服器130被配置成可接收和傳輸供定製的應用程式使用的電子信息。同樣地,網絡120被配置成傳輸與定製的應用程式一起使用的電子信息。
一個或多個用於應用程式被存儲在介質209中、介質211中,或者單個用戶應用程式被部分存儲在介質209中以及部分存儲在介質211中。在一個例子中,如利用下面所描述的實施例進行確定所述,基於為遠程平臺編輯說明內容,可使存儲的用戶應用程式是可定製的,而不管存儲位置。
圖3說明了系統300的一個實施例。在一個實施例中,系統300包含在伺服器130中。在另一個實施例中,系統300包含在電子裝置110中。在又一個實施例中,系統300包含在電子裝置110和伺服器130中。
在一個實施例中,系統300包括內容傳輸模塊310、內容檢測模塊320、存儲模塊330、接口模塊340和控制模塊350。
在一個實施例中,控制模塊350與內容傳輸模塊310、內容檢測模塊320、存儲模塊330和接口模塊340進行通信。在一個實施例中,控制模塊350協調任務、請求以及內容傳輸模塊310、內容檢測模塊320、存儲模塊330和接口模塊340之間的通信。
在一個實施例中,內容傳輸模塊310檢測由編輯裝置創建的編輯內容並將編輯內容傳輸至被檢測的遠程裝置。在一個實施例中,遠程裝置是特別被配置成可利用編輯內容的裝置,例如博弈控制臺、蜂窩式電話、機頂盒或其他裝置。
在一個實施例中,內容檢測模塊320監控來自編輯裝置並被遠程裝置使用的編輯內容的使用情況。通過監控同時在遠程裝置上使用的編輯內容,利用編輯裝置提煉並修改編輯內容是可能的。另外,近乎實時地在遠程裝置上監控編輯內容還使得在編輯裝置上提煉和修改編輯內容更加便利。例如,遠程裝置可在使附加的編輯內容自編輯裝置流至遠程裝置的同時監控編輯內容。
在一個實施例中,存儲模塊330存儲編輯內容。在一個實施例中,編輯內容以說明性語言來存儲,其中場景的結果被明確描述。另外,編輯內容與遠程裝置是兼容的並被遠程裝置使用而無需重新編譯編輯內容。
在一個實施例中,接口模塊340接收來自其中一個電子裝置110的、表示通過系統300使編輯內容從編輯裝置傳輸至遠程裝置的信號。在另一個實施例中,接口模塊340接收來自其中一個電子裝置110的、表示在遠程裝置上編輯內容的使用的信號。在又一個實施例中,接口模塊340接收對在編輯裝置上監控編輯內容作出響應的信號同時在遠程裝置上使用編輯內容。另外,接口模塊340允許編輯裝置控制位於遠程裝置上的編輯內容的重放。
出於示範目的示出了圖3中的系統300並且其僅僅是用於為遠程平臺編輯說明內容的方法和設備的一個實施例。在沒有背離用於為遠程平臺編輯說明內容的方法和設備的範圍的情況下,可將附加模塊加入系統300。同樣地,在沒有背離用於為遠程平臺編輯說明內容的方法和設備的範圍的情況下,可以組合或刪除模塊。
圖4說明了用於使用說明性語言作為系統300內編輯內容的示範系統411。
在一個實施例中,系統411包括核心運行時間模塊410,其將各種應用編程接口(下文中稱為API)元件和對象模型呈現給存在於系統411中的一組對象。在一個例子中,文件被解析器414解析成原始場景圖416並且被傳遞至核心運行時間模塊410,在此處其對象被例示並且運行時間場景圖被構建。
對象可存儲在內置對象418、作者定義的對象420、本機對象424等內。在一個實施例中,對象使用一組有效管理器426來獲得平臺服務432。這些平臺服務432包括事件處理、資源(assets)的加載、媒體播放等等。在一個實施例中,對象使用繪製層428構成用於顯示的中間或最終圖像。
在一個實施例中,頁面集成部件430用來在系統411內將編輯內容連接到外部環境,如HTML或XML頁面。在另一個實施例中,外部環境包括其它平臺,如博弈控制臺、蜂窩式電話和其他手持裝置。
在一個實施例中,系統411包含關於該組管理器426的系統對象。每個管理器426提供API組來控制系統411的某一方面。事件管理器426D提供對由用戶輸入或環境事件引起的輸入系統事件的訪問。負載管理器426C促使編輯內容文件的加載和本機節點的實現。媒體管理器426E提供了加載、控制和播放音頻、圖像和視頻媒體資源的能力。繪製管理器426G允許用來繪製場景的對象的創建和管理。場景管理器426A控制場景圖。表面管理器426F允許在其上可合成場景要素和其他資源的表面的創建和管理。線程管理器426B給予作者大量生產和控制線程以及在它們之間通信的能力。
圖5以流程圖的形式說明了內容流過系統411的總體描述。在沒有背離用於將信息傳遞至事件參與者的方法和設備的精神的情況下,可以不同的順序實施流程圖內的塊。另外,在沒有背離用於為遠程平臺編輯說明內容的方法和設備的精神的情況下,可以刪除、添加或組合這些塊。
在塊550中,圖示開始於包括正被引入解析器414(圖4)的內容文件或流434(圖4)的源。該源可以是本機VRML類文本格式、本機二進位格式、基於XML格式等。不管該源的格式如何,在塊555中,該源被轉換成原始場景圖416(圖4)。原始場景圖416表示內容中的節點、欄位和其他對象以及欄位初始值。原始場景圖416還可包含對象原型、流434中的外部原型引用和路由語句的描述。
原始場景圖416的頂層包括包含在文件中的節點、頂層欄位和函數、原型和路由。在一個實施例中,除了傳統要素之外,系統411還允許頂層的欄位和函數。在一個實施例中,原始場景圖416的頂層用來提供與外部環境的接口,如HTML頁面。在另一個實施例中,當流434用作遠程裝置的編輯內容時,原始場景圖416的頂層還提供對象接口。
在一個實施例中,每個原始節點包括在其上下文中被初始化的欄位列表。在一個實施例中,每個原始欄位項包括該欄位的名稱、類型(如果給出的話)和數據值。在一個實施例中,每個數據值包括序號、字符串、原始節點、和/或可表示明確類型的欄位值的原始欄位。
在塊560中,原型由原始場景圖416的頂層提取並用來填充通過該場景可存取的對象原型的資料庫。
原始場景圖416接著被通過建立遍歷而被發送。在該遍歷期間,利用對象原型的資料庫,建立每個對象(塊565)。
在塊570中,建立流434中的路由。隨後,在塊575中,初始化場景中的每個欄位。在一個實施例中,通過將初始事件發送至對象的非預設欄位來實施初始化。因為場景圖結構通過使用節點欄位而獲得,塊575同樣還構建了場景分級。
在一個實施例中,按次序利用遍歷而激發事件。所遭遇的第一節點列舉節點內的欄位。如果欄位是節點,則該節點首先被遍歷。作為正被遍歷的節點欄位的結果,樹形的這個特定分支中的節點同樣被初始化。接著,事件被發送至具有該節點欄位的初始值的該節點欄位。
在給定的節點已經使其欄位初始化之後,允許作者將初始化邏輯單元添加(塊580)到原型對象中以確保節點在呼叫時間被完全初始化。上述的塊產生根場景。在塊585中,場景被傳遞至為場景所創建的場景管理器426A(圖4)。
在塊590中,場景管理器426A用來隱含地或在作者控制下繪製和實施行為處理。在一個實施例中,利用來自內置對象418、作者定義的對象420、和本機對象424的對象構建由場景管理器426A繪製的場景。下面對示範的對象進行描述。
在一個實施例中,對象可從它們的、隨後擴充或修改其功能性的父對象中獲得某些功能性。分級的基礎是對象。在一個實施例中,兩個主要對象類是節點和欄位。其中,節點通常包含作為繪製遍歷一部分被調用的繪製方法。節點的數據屬性被稱為欄位。在對象分級當中是被稱為定時對象的對象類,這在下面將詳細描述。下面的代碼部分是用於示範目的的。應當注意的是,每個代碼部分的行號僅僅表示該特定代碼部分的行號並且不代表原始源碼中的行號。
表面對象表面對象是SurfaceNode類型的節點。在一個實施例中,SurfaceNode類是將二維圖像描述為顏色、深度和不透明度(阿爾法)值的所有對象的基類。SurfaceNode主要用來提供將要用作紋理圖的圖像。由SurfaceNode類導出的是MovieSurface、ImageSurface、MatteSurface、PixelSurface和SceneSurface。
下面的代碼部分說明了MovieSurface節點。
1)MovieSurfaceSurfaceNode TimedNode AudioSourceNode {2)field MF String url3)field TimeBaseNode timeBaseNULL4)field Time duration05)field Time loadTime06)field String loadStatus「NONE」}通過提供對定義影片的圖像序列的訪問,MovieSurface節點繪製影片或表面上一系列的靜態圖像。MovieSurface的TimeNode父類確定在任何給定時間於表面上繪製哪一幀。影片還可作為音頻源。
在代碼部分的第2行,(「多值欄位)URL欄位為該表面提供影片數據的潛在位置列表。該列表被排序以使要素0描述優選的數據源。如果出於任何原因,要素0是不可用的或者是不支持的格式,可使用下一個要素。
在第3行,如果被指定的話,timeBase欄位指定將要為影片提供定時信息的節點。尤其是,timeBase欄位為影片提供了確定在任何給定瞬間影片的哪一幀將要在表面上顯示的信息。在一個實施例中,如果未指定timeBase,表面將顯示影片的第一幀。
在第4行,一旦影片數據已經被取出,就通過MovieSurface節點將持續時間欄位設置為以秒為單位的影片長度。
在第5和6行,loadTime和loadStatus欄位提供了來自MovieSurface節點的、關於影片數據可用性的信息。LoadStatus有五個可能的值「NONE」、「REQUESTED」、「FAILED」、「ABORTED」和「LOADED」。
「NONE」是初始狀態。如果通過將值的數目設置為0或者將第一URL字符串設置為空字符串清除節點的url,則還要發送「NONE」事件。當其發生時,表面的像素被設為黑色或不透明(即顏色為0,0,0並且透明度為0)。
無論何時設置非空url值都發送「REQUESTED」事件。「REQUESTED」事件之後,表面的像素保持不變。
如果影片載入不成功,則在「REQUESTED」事件之後發送「FAILED」事件。例如,如果URL指不存在的文件或者如果該文件未包含有效數據,這可能會發生。在「FAILED」事件之後,表面的像素保持不變。
如果當前狀態是「REQUESTED」並且接著URL再次改變,則發送「ABORTED」事件。如果URL被變為非空值,則「ABORTED」事件後面是「REQUESTED」事件。如果URL被變為空值,則「ABORTED」事件後面是「NONE」值。在「ABORTED」事件之後,表面的像素保持不變。
當準備顯示影片時,發送「LOADED」事件。其後面是loadTime事件,loadTime事件的值與當前時間匹配。由timeBase欄位表示的影片的幀被繪製到表面上。如果timeBase為空,則影片的第一幀被繪製到表面上。
下面的代碼部分說明了ImageSurface節點。
1)ImageSurfaceSurfaceNode{2)field MF String url 3)field Time loadTime 04)field String IoadStatus 「NONE」}ImageSurface節點將圖像文件繪製到表面上。在代碼部分的第2行,URL欄位為表面提供了圖像數據的潛在位置列表。該列表被排序以使要素0描述最佳數據源。如果出於任何原因,要素0是不可用的或者呈不支持格式,則可使用下一個要素。在第3和4行,loadTime和loadStatus欄位提供了來自ImageSurface節點的、關於圖像數據有用性的信息。loadStatus有五個可能的值,如「NONE」、「REQUESTED」、「FAILED」、「ABORTED」和「LOADED」。
下面的代碼部分說明了MatteSurface節點。
1)MatteSurfaceSurfaceNode{2)field SurfaceNode surface1 NULL3)field SurfaceNode surface2 NULL4)field String operation5)field MF Float parameter 06)field Bool overwriteSurface2 FALSE}MatteSurface節點使用圖像合成操作將來自表面1和表面2的圖像數據合併到第三表面上。合成操作的結果以表面2的解析度進行計算。如果表面1的尺寸不同於表面2,則在實施使表面1的尺寸等於表面2的尺寸的操作之前放大或縮小表面1上的圖像數據。
在代碼部分的第2和3行,表面1和表面2欄位指定為合成操作提供輸入圖像數據的兩個表面。在第4行,操作欄位指定用來在兩個輸入表面上實施的合成函數。可能的操作包括「REPLACE_ALPHA」、「MULTIPLY_ALPHA」、「CROSS_FADE」和「BLEND」。
「REPLACE_ALPHA」利用來自表面1的數據重寫表面2的阿爾法通道A。如果表面1具有一個分量(僅僅為灰度級強度),則該分量被用作阿爾法(不透明度)值。如果表面1具有兩個或四個分量(灰度級強度+阿爾法或RGBA),則阿爾法通道A用來提供阿爾法值。如果表面1具有三個分量(RGB),則操作未被定義。這個操作可用來為靜態或動態圖像提供靜態或動態阿爾法遮罩。例如,SceneSurface可相對透明背景繪製動畫詹姆斯邦德(James Bond)特徵。該圖像的阿爾法分量可接著用作視頻剪輯的遮罩形狀。
除了表面1的阿爾法值與表面2的阿爾法值相乘之外,「MULTIPLY_ALPHA」與「REPLACE_ALPHA」是類似的。
利用參數值控制每個可見表面的百分比,「CROSS_FADE」在兩個表面之間漸變。這個操作可在兩幅靜態或動態圖像之間動態漸變。通過使參數值(第5行)從0到1變化,表面1上的圖像漸變成表面2的圖像。
利用表面2的阿爾法通道控制混合百分比,「BLEND」將來自表面1和表面2的圖像數據合併。這個操作允許表面2的阿爾法通道控制兩幅圖像的混合。通過繪製SceneSurface或播放MovieSurface來動畫表面2的阿爾法通道,可產生複合移動亞光效果(matteeffect)。如果R1、G1、B1和A1表示紅、綠、藍和表面1的像素阿爾法值以及R2、G2、B2和A2表示紅、綠、藍和表面2相應像素的阿爾法值,則由此得到的紅、綠、藍和該像素的阿爾法分量的值是red =R1*(1-A2)+R2*A2(1)green=G1*(1-A2)+G2*A2(2)blue =B1*(1-A2)+B2*A2(3)alpha= 1 (4)「ADD」和「SUBTRACT」加上或減去表面1和表面2的顏色通道。該結果的阿爾法等於表面2的阿爾法。
在第5行,參數欄位提供了可改變合成函數的效果的一個或多個浮點參數。參數值的特定解釋取決於指定了哪一個操作。
在第6行,重寫表面2欄位指示MatteSurface節點是否應當為存儲合成操作的結果分配新表面(overwriteSurface2=FALSE)或者存儲在表面2上的數據是否應當通過合成操作被重寫(overwriteSurface2=TRUE)。
下面的代碼部分說明了SceneSurface節點。
1)PixelSurfaceSurfaceNode{2)field Image image0 0 0}PixelSurface節點將用戶指定的像素陣列繪製到表面上。在第2行,圖像欄位描述了繪製到表面上的像素數據。
下面的代碼部分說明了SceneSurface節點。
1)SceneSurfaceSurfaceNode{2)field MF ChildNode children3)field Ulnt32 width4)field Ulnt32 height 1}SceneSurface節點在指定尺寸的表面上繪製指定的孩子。SceneSurface自動重新繪製自身以反映其孩子的當前狀態。
在代碼部分的第2行,孩子欄位描述了將要繪製的ChildNode。在概念上,孩子欄位描述獨立於包含SceneSurface節點的場景圖而被繪製的整個場景圖。
在第3和4行,寬度和高度欄位以像素指定表面的尺寸。例如,如果寬度是256以及高度是512,則表面包含256×512像素值陣列。
在某些實施例中,MovieSurface、ImageSurface、MatteSurface、PixelSurface和SceneSurface節點被用於繪製場景。
在場景描述的頂層,輸出被映射到顯示器上,即「頂層表面」。不是將其結果繪製到顯示器上,而是利用上述SceneSurface中的一個,三維繪製的場景可在表面上生成其輸出,其中該輸出可用來如作者所期望的那樣結合進更豐富的場景合成。通過繪製表面的嵌入場景描述生成的表面的內容可包括作為表面的結構化圖像組織的一部分的顏色信息、透明度(阿爾法通道)和深度。在本文中圖像被規定為包括視頻圖像、靜止圖像、動畫或場景。
表面還被規定為可支持位於內部、公共圖像管理界面後面的各種紋理映射系統的專門需求。結果,系統中任何表面發生器可以通過三維繪製過程用作紋理。這樣的表面發生器的實例包括ImageSurface、MovieSurface、MatteSurface、SceneSurface和ApplicationSurface。
在通過其嵌入的應用過程(如電子表格或文字處理器、類似於傳統的窗口系統中的應用窗口的方式)進行繪製時,ApplicationSurface保持圖像數據。
表面模型和繪圖產品及紋理使用的集成允許解耦的繪製速率的說明性編輯。傳統上,三維場景已經被整體繪製,產生面向觀察者的最終的幀速率,由於場景複雜性和紋理交換,所述幀速率由最壞情況下的性能控制。在實時、連續的合成框架中,表面提取為相同屏幕上不同要素提供了用於解耦繪製速率的機制。例如,以或許每秒1幀的速率慢慢繪製來描繪網絡瀏覽器可能是可接受的,但是只有在另一個應用產生並在瀏覽器的輸出旁顯示的視頻幀速率可以維持在每秒全部30幀時才是可接受的。
如果網絡瀏覽應用進入到其自己的表面,則屏幕組合器可不受阻礙地以全部移動視頻幀速率進行繪製,使用來自網絡瀏覽器表面的最後充分繪製的圖像作為其快速屏幕更新的一部分。
定時對象定時對象包括TimeBase節點。其作為定時節點的欄位被包括在內並且向媒體提供一組公用的定時語義。通過節點舉例,TimeBase節點可用於許多有關的媒體節點,以確保時間同步。包括Score節點的一組節點被用於對媒體事件排序。Score節點是定時節點並且自TimeBase導出其定時。Score節點包括Cue節點列表,其在指定的時間發出事件。下面對各種定時對象(包括Score)進行描述。
下面的代碼部分說明了TimeNode節點。節點中函數的描述如下文。
1)TimedNode ChildNode{2)field TimeBaseNode timeBase NULL3)function Time getduration4)function void updateStartTime(Time now,Time mediaTime,Floatrate)5)function void updateStopTime(Time now,Time mediaTime,Floatrate)6)function void updateMediaTime(Time now,Time media Time,Floatrate)}該對象是所有受控於TimeBaseNode的節點的父代。在代碼部分的第2行,TimeBase欄位包含控制TimeBaseNode,在時基開始、停止或推進時,其進行被列示如下的適當的函數調用。
在第3行,getDuration函數返回TimedNode的持續時間。如果無效,則返回值為-1。該函數通常被導出的對象所覆蓋。
第4行列示了updateStartTime函數。在被調用時,該函數開始推進其有關的事件或受控的媒體,其中開始偏移量由mediaTime值指定。updateStartTime函數通常被導出的對象所覆蓋。
第5行列示了updateStopTime函數,在被調用時,其停止推進其有關的事件或受控的媒體。該函數通常被導出的對象所覆蓋。
在第6行,當mediaTime被TimeBaseNode更新時調用updateMediaTime函數。updateMediaTime函數被導出的對象用來實施對其媒體的進一步控制或者發送額外的事件。
下面的代碼部分說明了IntervalSensor節點。
1)IntervalSensorTimedNode{2)field Timecyclelntarval 13)field Float fractin 04)field Float time 0}
隨時間的流逝,IntervalSensor節點生成事件。IntervalSensor節點可用於許多用途,包括但不限於驅動連續的模擬和動畫、控制周期性的行為(如每分鐘一次)、以及啟動單個發生事件(如鬧鐘)。
當調用其updateStartTime函數時,IntervalSensor節點發送初始分數和時間事件。在一個實施例中,每當調用updateMediaTime時,該節點同樣發送分數和時間事件。最後,當調用updateStopTime函數時,發送最後的分數和時間事件。
在代碼部分的第2行,由作者設置cycleInterval欄位以確定以秒為單位測得的時間長度,其被認為是從0到1的分數。當getDuration函數被調用時返回該值。
第3行列示了分數欄位,無論何時TimeBaseNode利用下面的方程(1)運行時該欄位生成事件分數=max(min(mediaTime/cycleInterval,1),0)方程(1)第4行列示了時間欄位,無論何時TimeBaseNode運行時,該欄位生成事件。時間欄位的值是當前的壁鍾時間。
下面的代碼部分說明了Score節點。
1)ScoreTimedNode{2)field ME CueNode cue}該對象為所接收的每一個updateStartTime、updateMediaTime和updateStopTime調用提示(cue)欄位中的每一項。對每一個提示項的調用返回當前累積的相對時間。該值被傳遞至後面的提示項以允許提示項之間的相對偏移量被計算。
在代碼部分的第2行,隨著mediaTime的流逝,提示欄位保持CueNode項列表被調用20。
下面的代碼部分說明了TimeBaseNode節點。
1)TimeBaseNodeNode{2)fieldTime mediaTime 03)function void evaluate(Time time)4)function void addClient(TimedNode node)5)function void removeClient(TimedNode node)6)functfion 1nt32 getNumClients 07)function TimedNode getClient(1nt32 index)}該對象是生成mediaTime的所有節點的父代。代碼部分的第2行列示了mediaTime欄位,當mediaTime推進時,其生成事件。mediaTime欄位通常受控於導出的對象。
第3行列示了評估(evalulate)函數,如果這個TimeBaseNode已經記錄對接收時間事件感興趣,當時間推進時該函數被調用。
第4行列示了addClient函數,當這個TimeBaseNode在其timeBase欄位中被設置時,該函數被每個TimedNode調用。當mediaTime開始、推進或停止時,列表中每個客戶被調用。如果被傳遞的節點已經是客戶,該函數實施空操作。
第5行列示了removeClient函數,當這個TimeBaseNode在其timeBase欄位中不再被設置時,該函數被每個TimedNode調用。如果被傳遞的節點不在客戶列表中,該函數實施空操作。
第6行列示了getNumClients函數,其返回當前客戶列表中的客戶數。
第7行列示了getClient函數,其返回被傳遞索引處的客戶。如果索引在範圍之外,則返回空值NULL。
下面的代碼部分說明了TimeBase節點。
1)TimeBaseTimeBaseNode{2)field Boolloop false3)field Time startTime 04)field Time playTime05)field Time stopTime 06)field Time mediastartTime 07)field Time mediaStopTime 08)field Float rate 1g)field Time duration010)field Bool enabled true11)field fool isActive false}該對象控制mediaTime的推進。TimeBase可開始、停止和重新開始該值,以及使mediaTime不斷循環。TimeBase允許mediaTime在其範圍的子集上被播放。
在代碼部分的第2行,當mediaTime到達其行程的終點時,循環(loop)欄位控制mediaTime是否重複其推進。
在第3行,startTime欄位控制什麼時候mediaTime開始推進。當到達startTime(其單位為壁鍾時間)時,TimeBase開始運行。只要stopTime小於startTime,其為真。當其發生時,如果速率大於或等於0,mediaTime被設為mediastartTime的值。如果mediastartTime在範圍之外(參見mediastartTime的有效範圍的描述),mediaTime被設為0。如果速率小於0,mediaTime被設為mediaStopTime。如果mediaStopTime在範圍之外,mediaTime被設為持續時間。TimeBase繼續運行直至到達stopTime或到達mediaStopTime(如果速率小於0則為mediastartTime)為止。如果startTime事件被接收同時TimeBase正在運行,則其被忽略。
在第4和5行,除激活時未重置mediaTime之外,playTime欄位的表現與startTime相同。在TimeBase用stopTime停止之後,playTime欄位允許mediaTime繼續推進。如果playTime和startTime具有相同的值,則startTime優先。如果playTime事件被接收同時TimeBase正在運行,則事件被忽略。stopTime欄位控制TimeBase什麼時候停止。
在第6行,mediastartTime欄位設置mediaTime將運行的媒體持續時間的子範圍的起點。mediastartTime的範圍從零到持續時間的終點(0..持續時間)。如果mediaStartTime欄位的值在範圍之外,在該處使用0。
在第7行,mediaStopTime欄位設置mediaTime運行的媒體持續時間的子範圍的終點。mediaStopTime的範圍從零到持續時間的終點(0..持續時間)。如果mediaStopTime欄位的值在範圍之外,在該處使用持續時間值。
在第8行,速率欄位允許mediaTime以除壁鍾時間的每秒二分之一(one second per second)以外的速率運行。在這個速率欄位中設置的速率用作瞬時速率。當調用評估函數時,自上次調用以來的經過的時間乘以速率並且使該結果加上當前的mediaTime。
在第9行,當這個TimeBase的所有客戶的持續時間已經確定了它們的持續時間時,持續時間欄位生成事件。持續時間欄位的值與具有最長持續時間的客戶相同。
在第10行,啟動欄位啟動TimeBase。當啟動欄位變為假時,如果isActive為真則會變為假並且mediaTime停止推進。在為假時,startTime和playTime被忽略。當啟動欄位變為真時,startTime和playTime被評估以確定TimeBase是否應當開始運行。如果是,則實施如在startTime或playTime中描述的行為。
第11行列示了isActive欄位,當TimeBase變為有效時,該欄位生成真事件;當timefalse變為無效時,該欄位生成假事件。
下面的代碼片斷說明了CueNode節點。
1)CueNodeNode{2)field Float offset-13)field float delay 04)field Bool enabled true5)field Int32 direction 06)function vold updateStartTime(Time now,Time mediaTime,Floatrate)7)function void updateStopTima(Time now,Time mediaTime,Floatrate)8)function Time evaluate(Time accumulated,Time now,Timemedia Time,Float rate)9)function Time getAccumulatedTime(Time accumulated)10)function void fire(Time now,Time mediaTime)該對象是Score的提示列表中所有對象的父代。在代碼部分的第2行,偏移欄位建立從序列開始的0相對偏移量。例如,當輸入的mediaTime達到為5的值時,為5的值將激發CueNode。
在第3行,在CueNode激發之前,延遲欄位建立相對延遲。如果偏移量為除-1(預設)以外的值,則這個延遲根據偏移量測得。另外,延遲從以前的CueNode的終點測得或者如果這是第一CueNode則從0測得。例如,如果偏移量具有為5的值並且延遲具有為2的值,則當mediaTime達到7時這個節點將激發。如果偏移量具有為-1的值並且延遲具有為2的值,則在以前的CueNode結束之後這個節點將激發2秒鐘。
在第4行,如果啟動欄位為假,CueNode被禁用。CueNode表現得好像偏移量和延遲均為其預設值並且它未激發事件。如果其為真,則CueNode表現正常。
在第5行,方向欄位控制這個節點如何相對於mediaTime行程的方向激發。如果這個欄位為0,無論mediaTime是正在增加(速率大於零)還是正在減少(速率小於零),當達到這個節點的偏移量和/或延遲時該節點激發。如果方向欄位小於零,當mediaTime減少時,只有當達到它的偏移量和/或延遲時這個節點才激發。如果方向欄位大於零,當mediaTime增加時,只有當達到這個節點的偏移量和/或延遲時該節點才激發。
第6行列示了updateStartTime函數,當父代Score接收updateStartTime函數調用時,該函數被調用。每個CueNode被依次調用。
第7行列示了updateStopTime函數,當父代Score 25接收updateStopTime函數調用時,該函數被調用。每個CueNode被依次調用。
第8行列示了評估函數,當父代Score接收updateMediaTime函數調用時,該函數被調用。每個CueNode被依次調用並且必須返回其累積時間。例如,如果偏移量為5並且延遲為2,CueNode將返回值為7。如果偏移量是-1並且延遲為2,CueNode將返回值為輸入累積時間加2。這是預設行為。某些CueNode(如IntervalCue)具有很好定義的持續時間以及激發時間。
在第9行,利用與evaluate函數中相同的計算,getAccumulatedTime函數返回累積時間。
第10行列示了激發函數,當CueNode達到其激發時間時,該函數根據預設evaluate函數被調用。規定激發函數被特定的導出對象所忽略以此實施適當的行為。
下面的代碼部分說明了MediaCue節點。
1)MediaCue CueNodeTimeBaseNode{2)field Time mediastartTime 03)field Time mediaStopTime 04)field Time duration 05)field Bool isActive false}當這個CueNode有效時,這個對象控制mediaTime的推進。MediaCue允許mediaTime將在其範圍的子集上被播放。針對mediaStopTime減去mediaStartTime確定的時間長度,根據偏移和/或延遲欄位確定的時間,MediaCue是有效的。值MediaCue由getAccumulatedTime返回,其為通過使預設函數加上mediaStopTime並減去mediaStartTime計算的值。這個節點生成mediaTime同時為有效時,其通過從輸入mediaTime減去激發時間加mediaStartTime計算得到。mediaCue因此以與輸入mediaTime相同的速率推進mediaTime。
在代碼部分的第2行,mediaStartTime欄位設置mediaTime運行的媒體持續時間的子範圍的起點。MediaStartTime的範圍從零至持續時間的終點(0..持續時間)。如果mediaStartTime欄位的值在範圍之外,在該處使用0。
在行3行,mediaStopTime欄位設置mediaTime運行的媒體持續時間的子範圍的終點。MediaStopTime的範圍從零至持續時間的終點(0..持續時間)。如果mediaStopTime欄位的值在範圍之外,在該處使用持續時間。
在第4行,當這個TimeBaseNode的所有客戶的持續時間已經確定了它們的持續時間,持續時間欄位生成事件。持續時間欄位的值與具有最長持續時間的客戶的相同。
第5行列示了isActive欄位,當這個節點變為有效時,該欄位生成真事件;當這個節點變為無效時,該欄位生成假事件。
下面的代碼部分說明了IntervalCue節點。
1)IntervalCue CueNode{2)field Float perid 13)field Bool rampup true4)field Float fraction 05)field Bool isActive false}當時間推進時,這個對象發送從0到1(或者如果rampup為假則從1到0)的分數事件。代碼片斷的第2行列示了周期欄位,其確定以秒為單位的分數勻變(ramp)推進的時間。
在第3行,如果rampUp欄位為真(預設),在IntervalCue的持續時間上分數從0上升到1。如果為假,分數從1下降到0。如果mediaTime正在逆向運行(當速率小於零時),當rampUp欄位為真時分數從1下降到0,並且當rampUp欄位為假時,分數從0上升到1。
在第4行,分數欄位發送對evaluate的每個調用的事件同時該節點有效。如果mediaTime正在向前移動,當這個節點激發時分數開始輸出並且當這個節點達到其激發時間加周期時停止。分數的值被描述如下分數=(mediaTime-激發時間)*周期 方程(2)第5行列示了isActive欄位,當節點變為有效時,該欄位發送真事件;當節點變為無效時,該欄位發送假事件。如果mediaTime正在向前移動,當mediaTime大於或等於激發時間時該節點變為有效。當mediaTime大於或等於激發時間加周期時該節點變為無效。如果mediaTime正在向後移動,當mediaTime小於或等於激發時間加周期時該節點變為有效並且當mediaTime小於或等於激發時間時該節點變為無效。這些事件的激發受方向欄位的影響。
下面的代碼部分說明了FieldCue節點。
1)FieldCiteCueNode{2)field Field cueValue NULL3)field Fild cueOut NULL}當FieldCue激發時,這個對象將cueValue作為事件發送至cueOut。FieldCue允許任何欄位類型被設置和省略。cueOut值可以被發送至任何類型的欄位。如果cueValue的當前類型不與目的欄位的類型兼容,不明確的結果可發生。
在代碼部分的第2行,cueValue欄位是這個節點激發時將被發出的編輯值。第3行列示了cueOut欄位,當這個節點激發時,該欄位發送具有cueValue的值的事件。
下面的代碼部分說明了TimeCue節點。
1)TimecueCueNode{2)fied Time cueTime 0}當TimeCue激發時,這個節點將當前壁鍾時間作為事件發送至cueTime。代碼部分的第2行列示了cueTime欄位,當這個節點激發時,該欄位發送具有當前壁鍾時間的事件。
在實時場景合成的範圍內構建計分使得作者能夠說明性地描述對各種各樣的表示和重放技術的時間控制,包括圖像動畫書和圖像合成動畫(如動畫GIF);視頻及音頻剪輯和流;幾何動畫剪輯和流,如連鎖轉化、幾何形態和紋理坐標;繪製參數的動畫,如照明、霧和透明度;行為、模擬或生成系統的參數的調製;以及資源加載、事件淨噪和邏輯函數的動態控制。例如,下面的實例發出字符串以便預載圖像資源,接著利用該圖像實施動畫,而後放映影片。下面實例中的字符串還可以是逆向運行的(即首先影片回播,接著動畫回播,而後圖像消失)。
1)Score{2)timeBase DEF TB TimeBase {}3)cue[4)Fieldcue{5)cueValue String″″6)cueout TO ISURF.URL7)direction-18)}9)FieldCue{10)cueValueString ″imagel.png″11)cutOut TO ISURF.url12)direction-1013)}14)IntervalCue{15)delay 0.516)period 2.5#2.5 second animation17)Fraction TO Plfractlon18)}19)DEF MC MedlaCue{20)offset221)}22)Fieldcue{23)cueValue String″″24)cueOut TO ISURF.URL25)direction-126)delay-0.527)}28)Fieldcue{29)cue Value String ″imagel.png″30)cueOut TO ISURF.URL
31)direction-132)delay-0.533)}34)]35)}36)#Slide out image37)DEFT Transform{38)children Shape{39)appearance Appearance{40)texture Texture{41)surface DEF ISURF ImageSurface {}42)}43)}44)geometry IndexedFaceSet{...}45)}46)}47)DEF P1 PositionInterpolator48)key...
49)keyValue...
50)value TO T,transiation51)}52)#Movie53)Shape{54)appearance Appearance{55)texture Texture{56)surface MovieSurface{57)urf″myMovie.mpg″58)timeBase USE MC59)}60)}61)}62)geornetry IndexedFaceSet{...}63)}在一個實施例中,相對於TimeBase的媒體時間,Score中的Cue節點激發,提供公共參考並且因此產生各種媒體資源的定時之間的精確關係。在上面的代碼片斷中,當TimeBase開始時,FieldCue(第9行)就激發,因為該FieldCue具有預設偏移和延遲欄位,從而使得圖像顯現。代碼部分的第35-45行將圖像(500,圖5)加載到表面上。IntervalCue(第13行)接著起動0.5秒之後並且在接下來的2.5秒內運行,增加其從0到1的分數輸出。IntervalCue的激發開始圖像的動畫(502,圖5)。第46-50行控制動畫。在TimeBase開始之後,或者當InterCue是1.5秒進入其動畫中從而開始播放影片時,MediaCue(第18行)起動2秒。
第51-62行將影片的第一幀(504,圖5)加載到表面上。當這個字符串回放時,首先影片反向播放。接著0.5秒之後圖像出現,以及0.5秒之後圖像顯現,動畫開始播放。動畫反向播放2.5秒,當其停止並且0.5秒之後圖像消失。這個實例表明Cue彼此偏移或者自TimeBase偏移的能力並且表明後面的Cue可在最後一個已經完成之前起動。
在一個實施例中,MediaCue為作者提供了同步工具。MediaCue是Cue的一種形式,其表現類似於TimeBase。實際上,正如上面的實例所示的,在某些情況下,在可使用TimeBase的地方可使用MediaCue。然而,因為MediaCue被嵌入事件的時間序列中,實際應用具有的信息足以請求預載資源。
圖6說明了利用預載函數對圖5的媒體序列的同步。例如,在上述的實例中,如果實際應用了解影片花費0.5秒預載並且即刻播放,在TimeBase開始之後,等待(塊610)1.5秒後,在塊615中,「準備就緒」信號被發送至MovieSurface。當接收到準備就緒信號時,在塊620中影片被預載。這將提供請求的0.5秒用來預載。
在塊625中,請求開始被接收,並且當接受到請求開始時,塊630即刻開始播放影片。
TimeBase和系統411中允許的媒體排序能力的組合使得能夠產生具有複雜定時的表示。圖7A示出了系統411的各個部件的時間關係。觀察者在選擇新的表示(760)時觀看其中他可以選擇故事(762)的屏幕。當用戶從五個故事S1、S2、S3、S4和S5的備選物中選擇故事S3時,帶有預告的歡迎屏幕被顯示(764)。在歡迎屏幕上,觀察者可選擇切換到另一個故事(774),從而中斷故事S3。在歡迎語句之後,屏幕移至故事(766)的位置並且所選擇的故事被播放(768)。這裡,觀察者可進到下一個故事,前一個故事,倒退到當前故事或者選擇播放故事S3的擴展版本(770)或者跳到(772)比如另一個故事S5。在選擇的故事播放之後,用戶可進行下一個選擇。
表面模型同繪圖產品以及紋理使用的結合允許嵌套場景能夠被說明性地繪製。當圖像允許可擴充編輯時,子場景的重組被繪製。尤其是,接著由圖像混合成更大視頻內容的動畫子場景的使用使得娛樂性計算機圖形更有相應美感。例如,圖像混合方法為視覺藝術家提供了窗口系統以前生成的未經加工的硬邊剪輯的替代物。
圖7B示出了系統100的各種部件的時間關係。與圖7A類似,觀察者在選擇新的表示(760)時觀看其中他可以選擇故事(762)的屏幕。帶有預告的歡迎屏幕被顯示(764)。在歡迎屏幕上,觀察者可選擇切換到另一個故事(774)從而中斷故事S3。在歡迎語句之後,屏幕移至故事(766)的位置並且所選擇的故事被播放(768)。在這一點上,觀察者可進到下一個故事,前一個故事,倒退到當前故事或者選擇播放故事S3的擴展版本(770)或者跳到(772)比如另一個故事S5。在所選擇的故事被播放之後,用戶可進行下一個選擇。
另外,TimeBase還允許使當前行為暫停的「停止時間」函數出現。通過暫停當前的行為,時鐘臨時停止。在一個實施例中,暫停當前的行為允許調試將要實施的操作。在另一個實施例中,暫停當前行為允許觀察者以較慢的步調體驗當前的行為。
在一個實施例中,停止塊(779)用來在新的表示選擇(760)之後並且在用來選擇故事(762)的屏幕顯示之前使各種選擇的顯示暫停。在另一個實施例中,停止塊(789)用來在進行選擇之前使用戶的選擇顯示暫停。例如,停止塊(789)允許可能的選擇呈現在歡迎屏幕上(764)並且防止故事(774)和故事(766)的選擇。在另一個實施例中,對於內容(772)的選擇已經實施之後,停止塊(787)用來使顯示內容(772)暫停。
在一個實施例中,停止塊(779、789和787)使預定時間量的行為暫停。在另一個實施例中,停止塊(779、789和787)使行為暫停直至額外輸入被接收以便重新開始該行為。
圖8描繪了包括動畫子場景的嵌套場景。圖9是表示被實施用來繪製圖7的嵌套場景的行為的流程圖。塊910繪製在屏幕顯示器800上顯示的背景圖像,並且塊915將立方體802放進於屏幕顯示器800上顯示的背景圖像內。立方體802外的面積是構成顯示器800上立方體802的背景的表面的一部分。立方體802的表面804被定義為第三表面。塊920利用MovieSurface節點在第三表面上繪製影片。因此,立方體的表面804顯示在第三表面上繪製的影片。立方體802的表面806被定義為第四表面。塊925利用ImageSurface節點在第四表面上繪製圖像。因此,立方體的表面806顯示在第四表面上繪製的圖像。在塊930中,整個立方體802被定義為第五表面並且在塊935中這個第五表面被平移和/或旋轉,從而利用在表面804上播放的影片和表面806上顯示的靜態圖像創建移動立方體。按照上述的過程可將不同的繪製圖顯示在立方體802的每個表面上。應當注意的是,可以任何順序實施塊910至935,包括同時開始所有的塊910至935。
圖10示出的是說明其中實現了用於為遠程平臺編輯說明內容的系統1000的示範體系結構的示範結構框圖。在一個實施例中,系統1000包括編輯裝置1010、目標裝置1020、接口裝置1030和網絡1040。在一個實施例中,網絡1040允許編輯裝置1010、目標裝置1020、和接口裝置1030彼此通信。
在一個實施例中,編輯裝置1010包括編輯應用,其允許用戶通過如上所述的代碼片斷的說明性語言創建編輯內容。在一個實施例中,文件伺服器(如Apache和Zope)在編輯裝置1010上運行並且支持本地文件系統。
在一個實施例中,目標裝置1020與編輯裝置1010進行通信並且接收在編輯裝置1010上編寫的編輯內容。
在一個實施例中,接口裝置1030通過遠程裝置1020播放編輯內容。接口裝置1030可包括可視顯示屏和/或揚聲器。
在一個實施例中,網絡1040是網際網路。在一個實施例中,編輯裝置1010和遠程裝置1020之間的通信通過TCP/IP套接字(socket)來實現。在一個實施例中,編輯內容由遠程裝置1020通過TCP/IP自編輯裝置1010獲取並且通過HTTP提供給目標。
圖11所描繪的流程圖是用於為遠程平臺編輯說明內容的方法和設備的一個實施例。在沒有背離用於將信息傳遞至事件參與者的方法和設備的精神的情況下,可以不同的順序實施流程圖內的塊。另外,在沒有背離用於為遠程平臺編輯說明內容的方法和設備的精神的情況下,可以刪除、添加或組合這些塊。另外,塊可以和其他塊同時被實施。
圖11的流程圖說明了按照本發明實施例的、為遠程平臺編輯說明內容。
在塊1110中,編輯內容在編輯裝置上被修改或創建。在一個實施例中,編輯裝置是利用比如Windows、Unix、Mac OS等這樣的作業系統的個人計算機。在一個實施例中,編輯裝置利用說明性語言創建編輯內容。一種這樣的說明性語言利用在上面說明書中示出的代碼片斷來說明。另外,在編輯裝置上創建的編輯內容特別是為了用於遠程裝置(如博弈控制臺、蜂窩式電話、個人數字助理、機頂盒等)而開發的。
在一個實例中,編輯內容被配置成可在遠程裝置上顯示可視圖像。在另一個實例中,編輯內容被配置成可在遠程裝置上播放音頻信號。在又一個實施例中,編輯內容被配置成可同時播放可視圖像和音頻信號。
在塊1120中,遠程裝置被檢測。在一個實施例中,遠程裝置的通信參數被檢測,如特定TCP/IP套接字。
在塊1130中,編輯裝置與遠程裝置進行通信。在一個實施例中,編輯裝置通過直接的有線連接(如電纜)直接與遠程裝置通信。在另一個實施例中,編輯裝置通過網絡(如網際網路、無線網絡等)與遠程裝置通信。
在塊1140中,編輯內容自編輯裝置被傳輸至遠程裝置。在一個實施例中,編輯內容作為數據流被傳輸至遠程裝置。
在塊1150中,通過遠程裝置使用編輯內容。在一個實施例中,遠程裝置可視地顯示利用遠程裝置的編輯內容。在另一個實施例中,遠程裝置播放編輯內容的音頻信號。在一個實施例中,在接口裝置1030上使用編輯內容。在一個實施例中,當編輯內容流至遠程裝置時,遠程裝置開始使用編輯內容。在另一個實施例中,在編輯內容被傳輸至遠程裝置之後,遠程裝置使用編輯內容。
在一個實施例中,在塊1140中,在遠程裝置上使用編輯內容的一部分同時剩餘的編輯內容正被傳輸至遠程裝置。
在塊1160中,當編輯內容被遠程裝置使用時,編輯裝置監控編輯內容。例如,編輯裝置追蹤與遠程裝置上顯示的編輯內容相對應的編輯內容的特定部分。在另一個實例中,在塊1140中,編輯裝置監控遠程裝置使用的編輯內容同時編輯內容的一部分仍然正被傳輸至遠程裝置。
在塊1170中,編輯裝置控制遠程裝置上編輯內容的重放。例如,編輯裝置能夠暫停、倒退、向前和啟動遠離編輯裝置的遠程裝置上的編輯內容的重放。
在塊1180中,編輯裝置調試編輯內容。在一個實施例中,編輯裝置通過在編輯裝置上觀看編輯內容的腳本同時在遠程裝置上經過編輯內容的重放來調試編輯內容。在另一個實施例中,編輯裝置使遠程裝置上編輯內容的重放暫停同時在編輯裝置上調試編輯內容的相應腳本。例如,當編輯內容在遠程裝置上被暫停時,相應的編輯內容被監控並且可用來在編輯裝置上進行修改和/或調試。
出於說明和描述的目的,前面已經對本發明特定實施例進行了描述。本發明可用於各種其他的應用。
它們不是用來窮舉的或是將本發明限於所公開的精確實施例的,並且自然地,按照上面教導的觀點,許多修改和變更是可能的。選擇並描述實施例以便於解釋本發明的原理及其實際應用,從而使得本領域其他技術人員能夠更好地使用本發明和在適於預計的特定用途時具有各種不同修改的各種實施例。本發明的範圍旨在由所附權利要求書及其等同物來界定。
權利要求
1.一種方法,包括將編輯內容自編輯裝置傳輸至遠程裝置;在所述遠程裝置上直接播放所述編輯內容;以及在所述編輯裝置上監控所述編輯內容的一部分,同時在所述遠程裝置上播放所述編輯內容的一部分,其中所述編輯內容以說明性標記語言來編寫。
2.如權利要求1所述的方法,還包括在所述編輯裝置上修改所述編輯內容的一部分同時在所述遠程裝置上播放所述編輯內容的一部分的步驟。
3.如權利要求1所述的方法,其中直接播放的步驟還包括顯示與所述編輯內容相對應的多個圖像。
4.如權利要求1所述的方法,其中直接播放的步驟還包括播放與所述編輯內容相對應的音頻信號。
5.如權利要求1所述的方法,還包括在所述編輯裝置上創建所述編輯內容的步驟。
6.如權利要求5所述的方法,其中創建所述編輯內容的步驟還包括利用駐留在所述編輯裝置上的工具來創建所述編輯內容。
7.如權利要求6所述的方法,其中所述工具是(這裡的實例)。
8.如權利要求1所述的方法,還包括在所述編輯裝置上調試所述編輯內容的一部分同時在所述遠程裝置上播放所述編輯內容的一部分的步驟。
9.如權利要求1所述的方法,還包括在所述遠程裝置上控制來自所述編輯裝置的編輯內容的步驟。
10.如權利要求9所述的方法,其中控制編輯內容的步驟還包括在所述遠程裝置上啟動所述編輯內容的重放。
11.如權利要求9所述的方法,其中控制編輯內容的步驟還包括在所述遠程裝置上暫停所述編輯內容的重放。
12.如權利要求9所述的方法,其中控制編輯內容的步驟還包括在所述遠程裝置上使所述編輯內容的重放位置快進。
13.如權利要求9所述的方法,其中控制編輯內容的步驟還包括在所述遠程裝置上使所述編輯內容的重放位置倒退。
14.如權利要求1所述的方法,其中所述遠程裝置是博弈控制臺、蜂窩式電話、個人數字助理、機頂盒或尋呼機中的一個。
15.如權利要求1所述的方法,其中所述編輯裝置是個人計算機。
16.一種系統,包括用於將編輯內容自編輯裝置傳輸至遠程裝置的組件;用於在所述遠程裝置上直接播放所述編輯內容的組件;以及用於所述編輯裝置上監控所述編輯內容的一部分同時在所述遠程裝置上播放所述編輯內容的一部分的組件,其中所述編輯內容以說明性標記語言編寫。
17.一種方法,包括在編輯裝置上修改編輯內容,其中所述編輯內容以說明性標記語言編寫;將所述編輯內容自所述編輯裝置傳輸至遠程裝置;以及在所述遠程裝置上播放所述編輯內容的一部分同時將所述編輯內容自所述編輯裝置傳輸至所述遠程裝置。
18.如權利要求17所述的方法,還包括在所述編輯裝置上監控所述編輯內容的一部分同時在所述遠程裝置上播放所述編輯內容的一部分的步驟。
19.如權利要求17所述的方法,還包括在所述編輯裝置上調試所述編輯內容的一部分同時在所述遠程裝置上播放所述編輯內容的一部分的步驟。
20.如權利要求17所述的方法,其中播放步驟還包括顯示與所述編輯內容相對應的多個圖像。
21.如權利要求17所述的方法,其中直接播放的步驟還包括播放與所述編輯內容相對應的音頻信號。
22.如權利要求1所述的方法,還包括在所述編輯裝置上創建所述編輯內容。
23.如權利要求22所述的方法,其中創建所述編輯內容的步驟還包括利用駐留在所述編輯裝置上的工具來創建所述編輯內容。
24.如權利要求23所述的方法,其中所述工具是(這裡的實例)。
25.如權利要求17所述的方法,還包括在所述遠程裝置上控制來自所述編輯裝置的編輯內容的步驟。
26.如權利要求25所述的方法,其中控制所述編輯內容的步驟還包括在所述遠程裝置上啟動所述編輯內容的重放。
27.如權利要求25所述的方法,其中控制所述編輯內容的步驟還包括在所述遠程裝置上暫停所述編輯內容的重放。
28.如權利要求25所述的方法,其中控制所述編輯內容的步驟還包括在所述遠程裝置上使所述編輯內容的重放位置快進。
29.如權利要求25所述的方法,其中控制所述編輯內容的步驟還包括在所述遠程裝置上使所述編輯內容的重放位置倒退。
30.如權利要求17所述的方法,其中所述遠程裝置是博弈控制臺、蜂窩式電話、個人數字助理、機頂盒或尋呼機中的一個。
31.如權利要求17所述的方法,其中所述編輯裝置是個人計算機。
32.一種系統,包括編輯裝置,用來修改編輯內容,其中所述編輯內容以說明性標記語言編寫;遠程裝置,被配置成播放所述編輯內容;以及網絡,被配置成可將所述編輯內容自所述編輯裝置流至所述遠程裝置,其中所述編輯內容的初始部分同時被所述遠程裝置利用,而所述編輯內容的剩餘部分流至所述遠程裝置。
33.如權利要求32所述的系統,還包括所述遠程裝置內的存儲模塊,用來緩衝由所述遠程裝置接收的所述編輯內容。
34.如權利要求32所述的系統,其中所述遠程裝置是博弈控制臺、蜂窩式電話、個人數字助理、機頂盒或尋呼機中的一個。
35.如權利要求32所述的系統,其中所述編輯裝置是個人計算機。
36.如權利要求32所述的系統,其中所述網絡是網際網路。
37.一種計算機可讀介質,具有用於實施包括以下步驟的方法的計算機可執行指令在編輯裝置上修改編輯內容,其中所述編輯內容以說明性標記語言編寫;將所述編輯內容自所述編輯裝置傳輸至所述遠程裝置;以及在所述遠程裝置上播放所述編輯內容的一部分同時將所述編輯內容自所述編輯裝置傳輸至所述遠程裝置。
全文摘要
在一個實施例中,方法和設備將編輯內容從編輯裝置傳輸至遠程裝置;在遠程裝置上直接播放編輯內容;以及在編輯裝置上監控編輯內容的一部分同時在遠程裝置上播放該部分編輯內容,其中編輯內容以說明性標記語言編寫。
文檔編號G06T13/00GK101095130SQ200580037924
公開日2007年12月26日 申請日期2005年8月19日 優先權日2004年9月9日
發明者J·D·維爾特謝夫特, C·F·馬林, P·G·布洛德維爾 申請人:索尼電子有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀