上述したもののようなシステムは、体験の増強を提供する装置による使用のためのマークアップ言語の断片及び/又は文書を提供するものであり、限られた機能を持つ装置に対しては、計算的に要求の厳しいものとなり得る。斯かるシステムはまた、従来の装置が当該増強に関与するために必要な処理機能を提供することが不可能である場合には、当該システムにおいて適切に機能することができない可能性があるという点で、限定的なものとなり得る。
それ故本発明の目的は、先行技術を改善することにある。
本発明の第1の態様によれば、命令のシーケンスを生成するための方法であって、1つ以上の時間値を決定するステップと、マークアップ言語の断片のプールにアクセスするステップと、前記又はそれぞれの時間値に従って前記マークアップ言語の断片を処理するステップと、前記処理されたマークアップ言語の断片からタイムスタンプを付された命令のシーケンスを生成するステップと、を有する方法が提供される。
本発明の第2の態様によれば、命令のシーケンスを生成するためのコマンドのセットを有する、コンピュータ読み取り可能な媒体上のコンピュータプログラムであって、前記セットは、1つ以上の時間値を決定するためのコマンドと、マークアップ言語の断片のプールにアクセスするためのコマンドと、前記又はそれぞれの時間値に従って前記マークアップ言語の断片を処理するためのコマンドと、前記処理されたマークアップ言語の断片からタイムスタンプを付された命令のシーケンスを生成するためのコマンドと、を有するコンピュータプログラムが提供される。
本発明の第3の態様によれば、命令のシーケンスを生成するためのシステムであって、1つ以上の時間値を決定し、マークアップ言語の断片のプールにアクセスし、前記又はそれぞれの時間値に従って前記マークアップ言語の断片を処理し、前記処理されたマークアップ言語の断片からタイムスタンプを付された命令のシーケンスを生成するように構成されたプロセッサを有するシステムが提供される。
本発明により、元のマークアップ言語の断片から、タイムスタンプを付された命令のシーケンスを生成する方法を提供することが可能となる。このことは、増強システムが閉じたものとなった場合、即ち斯かる期間の間にコンテキストが変化し得ずコンテンツが追加又は除去されない場合に、斯かるシステムのより効率的な動作を可能とする。それ故、断片の「動的な」集合をとり、該集合を命令のシーケンシャルなセットに変換することが有利である。本方法及びシステムは、(閉じたシステムのための)動的なマークアップ言語の断片のセットの平坦化が、全ての条件的な要素を除去し、増強システム内での特定の動作、及びこれらの動作がいつ実行される必要があるかを決定することを可能とする。
該変換処理は次いで、より小型の及び/又はより効率的な再生エンジンが、記述されたコンテンツの継続的な再生を維持することを可能とする。このことは典型的に、コンテンツの単一の初期の本体が配信され、次いで供給源が切断された場合(例えば映画の再生の開始時にインターネットから配信されるマークアップ言語の体験の記述)に生じ得る。実際には、本システムは、全ての予期される命令又はコンテンツの記述を生成するために、トリガ時間よりも早めに動作する。これは次いで、命令の時間を付記されたリストの形で保存されても良い。
この状況において、該増強システムの動作を制御するエンジンは単に、該エンジンの内部クロックに対して、特定の命令のトリガを同期させる命令のシーケンスを処理することが必要となる。このことは、プロセッサに負荷の掛からない、より単純なアプリケーションしか必要としない。該概念の拡張は、システムの一部(例えば照明のような単一のレンダリング装置)が、単に自身についてのイベントの予め処理されたシーケンスのみを持つことを可能とする。
本発明は、多くの状況において、本手法により進行中のプロセッサ負荷を低減することが可能であり、そのためシステムが活動の大きな単一のインスタンス(例えば「起動」期間)のみを持つことが可能となるという利点を提供する。このことは次いで、プロセッサのリソースを、例えばゲーム又は映画の再生のような他のアプリケーションのために解放する。同様に、解放された処理リソースは、プロセッサの利用可能性が大きい期間の間、再生のセクションを負荷平衡させる及び予め決定するために利用されることができる。
本発明はまた、何らかのシステムの制約がメモリのサイズ又は全体のプロセッサ能力であり得る場合のような、他の状況においても利点をもたらし得る。それ故、前処理ステップ(ことによるとオフラインで実行される)を実行する機能は、限られた又は基本的な機器が、これら限られた又は基本的な機器が閉じたシステムとして動作するという制約の下で、該機器の完全な又はより高度なバージョンが為すものと同等の結果を達成することを可能とする。
掛かる場合においては、前処理によって実現される平坦化は、ネットワークを通してアクセスされるサービスによっても実行され得る。即ち、サービスを提供するサーバベースのエンジンに対してエンドシステムを記述することにより、マークアップ言語のコンテンツが、伝送の前に平坦化された形態へと変換され得る。このことは、より複雑な増強システムの利点を維持しつつ、低減された帯域幅において、及びクライアントの装置が比較的「能力の低い」ものとなることを許容する点において、共に利益を提供する。
後者の場合においては、非常に単純な再生ソフトウェアが、例えば親装置又はサービスから単純化された「閉じた」記述を受信するが、次いで該親との更なる接触なく再生を継続することが可能な、特殊な映画の「照明」に含まれ得ることが想像され得る。このことは、帯域幅の要件を低減させ、システムに頑強さを加え、該親におけるプロセッサ負荷を低減することができる。該親装置が閉じたシステムに対して変化することを要求する場合には、割り込みが起動され、該プロセスが繰り返されても良い。
有利にも、前記又はそれぞれの時間値を決定するステップは、前記マークアップ言語の断片のプールにアクセスするステップと、1つ以上の前記マークアップ言語の断片内で前記又はそれぞれの時間値を決定するステップと、を有する。時間値は、照明のオン及びオフのようなイベントがいつ発生するべきかを決定するために必要とされる。実際のマークアップ断片自体から利用されるべき時間値を決定することにより、マークアップ言語の断片のセットにより利用される時間値の全てが捕捉されることとなり、時間値を決定する当該処理が迅速且つ効率的に実行されることができる。
一実施例においては、前記タイムスタンプを付された命令のシーケンスの生成は、前記タイムスタンプを付された命令のシーケンスを有する単一のファイルを生成するステップを有する。このことは、単に命令を単一のファイルに順に配置する最も効率的な命令の生成であり、該ファイルは、娯楽体験の増強を制御するエンジンによりサポートされるいずれの適切なフォーマットのものであっても良い。
第2の実施例においては、前記タイムスタンプを付された命令のシーケンスの生成は、各々がそれぞれのタイムスタンプを付された命令のシーケンスを有する、複数の装置特有のファイルを生成するステップを有する。命令を生成する該方法は、第1の実施例よりも僅かに複雑であるが、該命令を必要とするそれぞれの装置に対して、単純に各装置特有のファイルを供給する増強システムを支援する。このことは、エンジンから個々の装置に対して命令を絶えず供給する必要がなく、これら装置は前もって必要とする命令の全てを供給されるため、増強システムの実際の動作を単純化させる。
好適には、命令のシーケンスを生成する該方法は更に、エンドシステム記述にアクセスするステップと、前記タイムスタンプを付された命令のシーケンスを生成するステップの間に、前記エンドシステム記述を利用して前記タイムスタンプを付された命令を決定するステップと、を有する。該エンドシステム記述は、生成された命令を利用するであろう実際の増強システムの機能を記述する。命令が生成されているときに該情報にアクセスすることにより、後の処理効率が達成され得る。例えば、マークアップ言語の断片が温度の変化に言及しているが、(エンドシステム記述に示されるように)エンドシステムに温度制御装置がない場合には、これら断片は処理されず、温度変化に関連する命令も生成されないこととなる。
一実施例においては、前記エンドシステム記述へのアクセスは、ネットワークを通して実行され、前記方法は更に、前記タイムスタンプを付された命令のシーケンスを、前記ネットワークを通して、前記エンドシステム記述の場所まで送信して戻すステップを有する。このことは、命令のシーケンスへのマークアップ言語の断片の処理が、実際の増強システムから離れたところで実行され得るという利点を持つ。例えば、命令の生成を実行するプロセッサは、ネットワークによってアクセスされることができる中央サービスの一部であっても良く、ここで該サービスはエンドシステム記述を受信し、それに従って増強システムの場所へと伝送して戻すためのタイムスタンプを付された命令のシーケンスを生成しても良い。このことは、命令のシーケンスを実際に生成する処理システムが、増強システムの場所に存在する必要性を除去する。
理想的には、命令を生成する該方法は更に、前記マークアップの断片のプールを監視するステップと、前記マークアップの断片における変化の検出に続いて、前記タイムスタンプを付された命令のシーケンスを再生成するステップと、を有する。新たな断片がマークアップ言語の断片のプールに追加された場合、このことはユーザに提供されている体験に関する該増強システムの機能における変化を示唆するものである。新たな断片は、新たな装置、又は現在の装置の新たなパラメータ変化を言及するものであり得る。この状況において、タイムスタンプを付された命令のシーケンスが再び生成される必要があり、それ故、断片のプールを監視し、断片のプールに何らかの変化が生じた場合に生成サイクルを再実行することが有利である。
有利にも、本方法は更に、前記タイムスタンプを付された命令のシーケンスの生成の間に、いずれかの生成された前記命令を1つ以上の装置に送信するステップを有する。タイムスタンプを付された命令の生成は、閉じた機能として実行される必要はない。例えば、命令が生成されたときに、これら命令が、該増強システムを動作させるエンジンへと、又は増強を実行している個々の装置へと送られても良い。このことは、非常に大きな断片のプール及び/又は装置のセットがある場合、及び命令の実際のシーケンスが比較的長くなるであろう場合に、特に有利である。新たな命令が作成されているときであっても、命令が生成され即座に送られる。
添付図面を参照しながら、単に例として、本発明の実施例がここで説明される。
図1は、プロセッサ10により生成された、タイムスタンプを付された命令のシーケンスを利用するシステムを示す。プロセッサ10の出力はタイムスタンプを付された命令のシーケンスであり、該シーケンスの生成は図2のフロー図を参照しながら詳細に議論される。
増強システムの最も単純な実施例においては、エンジン14が命令のシーケンスを受信し、これら命令を用いて装置16を制御する。装置16は、ユーザの娯楽体験を増強する周囲環境を提供するために利用されるものである。これら命令はタイミングのためのクロックを保持するエンジン14により処理され、必要とされるときに個々の装置16を制御するために利用される。
増強システムの動作の他の可能性は、命令のシーケンス12が、各々がそれぞれのタイムスタンプを付された命令のシーケンスを有する、複数の装置特有ファイル18へと分割されることである。これら個々のファイル18は次いで、非常に単純なエンジン20へと供給され、これらエンジンは次いで、ローカルの増強システムを構成するそれぞれの装置16を制御するために利用される。
タイムスタンプを付された命令のシーケンス12を生成する方法が図2に示されており、該方法は、プロセッサ10である図1における機能ブロック10により実行される。命令のシーケンス12を生成する該方法は、初期時間値を決定するステップ210と、マークアップ言語の断片のプールにアクセスするステップ212と、該時間値に従ってマークアップ言語の断片を処理するステップ214と、該処理されたマークアップ言語の断片からタイムスタンプを付された命令の1つ以上のシーケンス12を生成するステップ216と、を有する。更なる時間値が検出されると、ステップ218において、プロセッサ10はステップ212へと戻り、該新たな時間値を用いて断片の処理を繰り返す。
映画のような単純な娯楽体験については、マークアップ断片のプールが、映画の増強を支援する。これら断片は、種々の多くの方法により取得され得る。例えば、映画がDVDで提供される場合には、当該DVDがこれら断片を担持しても良い。代替として、これら断片はPC又は娯楽センタによりローカルの記憶装置から呼び出され、又はインターネットサービスのような1つ以上のリモートの供給源から集められても良い。本システムのプロセッサ10は、これら断片を、マークアップ言語の断片を処理することができない装置を持つ単純な増強システムにより利用され得る、タイムスタンプを付された命令の利用可能なセットへと変換する。
図2のステップ210において、タイムスタンプを付された命令のシーケンス12の生成を実行するプロセッサ10により、初期時間値が最初に決定される。該初期時間値は時間0であっても良いし、又は他の何らかの時間が開始時間として利用されても良い。該初期時間値を決定する一方法は、マークアップ言語の断片のプールにアクセスし、1つ以上のマークアップ言語の断片内に含まれる次の最も早い時間値を決定することである。
初期時間値が決定されると、プロセッサ10は、マークアップ言語の断片のプールにアクセスし(212)、該断片を処理して1つ以上のタイムスタンプを付された命令12を生成する(214)。該命令は、これら断片を処理するために利用される初期時間に関連する。ステップ216において該処理が完了すると、ステップ218において、プロセッサ10が、命令が生成されるべき更なる時間値が存在するか否かを決定する。更なる時間値がない場合には、本方法はステップ220において終了する。
しかしながら、更なる(後の)時間値が決定された場合には、本方法はステップ212へと戻り、該新たな時間値について、前記プール内の断片を再び処理する。該処理は次いで、全てのとり得る時間値が該断片のプールを処理するために利用されるまで繰り返される。命令の最終的なセットは、タイムスタンプを付された命令のシーケンス12を有する単一のファイルであっても良いし、又は各々がそれぞれのタイムスタンプを付された命令のシーケンス12を有する複数の装置特有ファイル18であっても良い。図4及び5は、マークアップ言語の断片のプールの具体例を参照しながら、タイムスタンプを付された命令を生成するステップをより詳細に示す。
本方法は更に、マークアップの断片のプールを監視し、該マークアップの断片のプールにおける変化の検出に続いて、タイムスタンプを付された命令のシーケンスを再生成するステップを有しても良い。
命令のシーケンス12を生成するための断片の処理は、映画のような娯楽製品をユーザが実際に体験している特定の増強環境から離れた場所で実行されても良い。このことは図3に示されており、図3は、単純な再生エンジン14及び周囲環境を提供する装置16を含む、増強が実行される場所22を示す。該場所22は、命令のシーケンス12の生成をプロセッサ10が実行する第2の場所24からは離れている。インターネットのようなネットワーク26が、これら2つの場所22及び24を接続する。
プロセッサ10は、命令のシーケンス12を生成する方法を実行するため、CD−ROM28から一連のコマンドを実行する。好適な実施例においては、プロセッサ10は、装置16を記述するエンドシステム記述30にアクセスし、タイムスタンプを付された命令のシーケンス12を生成するステップの間、該タイムスタンプを付された命令12を決定するためエンドシステム記述30を利用する。
エンドシステム記述30にアクセスするステップは、ネットワーク26を通して実行され、プロセッサ10は、ネットワーク26を通して、エンドシステム記述30の場所22へと、タイムスタンプを付された命令のシーケンス12を送信して戻す。プロセッサ10は、記述30を用いて、最終的な命令のシーケンス12を、場所22に存在する装置16に関連する命令に限定する。例えば、エンドシステム記述30が、場所22にランブルパッド(rumble pad)が存在しないことを示す場合には、プロセッサ10は、場所22へと送信され戻される命令のシーケンス12に、振動命令を含ませない。
図4は、表示装置32がソファ34に座っているユーザに対して映画を表示する、場所22の例を示す。2つの増強装置、即ち照明16a及びファン16bが存在する。図4に示された環境は説明の目的のため簡略化されたものであり、周囲環境に寄与し得るより多くの装置が存在しても良い。図5に示される、10個のマークアップ言語の断片38から成るプール36が、映画と共に供給され、又はローカルのPCのような1つ以上の代替の装置からコンパイルされる。ここでもまた、断片38の数及び複雑さは、説明の単純さのため低減されている。
ユーザが視聴している映画は、3つの場面を含む。1つは砂漠(desert)であり、次いで北極(arctic)であり、第3にジャングル(jungle)である。これら場面の単純な記述が、マークアップ言語で生成される。プール36中の断片38は3つのタイプから成り、プール36の上部の3つの断片38は該映画における3つの場面に対応するオブジェクト(object)を記述し、該オブジェクトが持続する時間と、一般用語での提供される増強とを定義する。この方法で動作するシステムによれば、非常に様々なオブジェクト及び増強が可能であることは、理解されるであろう。
第2のタイプの断片は、オブジェクトに列記された増強に合致するアセット(asset)であり、第3のタイプの断片は、場所22に存在する装置(device)を記述する。
これら断片38は、映画の開始時にプロセッサ10へと配信される、マークアップ言語記述を構成する。ここでは、システムが閉じたものとなっており、時間が経過しても新たなマテリアルが追加又は除去されることがないことが想定されている。断片38の平坦化された表現は、単純な再生エンジン14について、又は各装置16における非常に単純な再生エンジン20について、時間が付記された動作のリストとして、プロセッサ10により生成される。
以上に説明された手法は基本的に、可能な限り迅速に、実時間よりも時間的に早めにシステムを動作させることにより実装される。このことは、閉じたシステムにおいては、次のイベントがいつ発生するかが常に分かっているため、特に効率的に実現され得る。将来の各既知のイベントの時点において、「スナップショット」が行われ、関連する命令が生成され、タイムスタンプが付されても良い。典型的に、該スナップショットはファイルに保存される。
各スナップショットにおいて、次のタイムスタンプが示され、それに従って処理が繰り返されることができる。このことは、システムが「閉じた」ままであると分かっているだけ、又はシステム及びとり得る装置に利用可能なリソースについて実用的であるだけ、時間的に早めに継続し得る。完成されたファイルは次いで、単純な再生エンジン14により再生されるか、又は適切な要素がレンダリング装置に送信され、そこで同様の(しかし装置専用の)再生エンジンが命令のシーケンスを実行する。
図5の断片38において、プロセッサが3つのオブジェクト断片38(砂漠、北極及びジャングル)から初期時間値0を確認し、このことは図2の第1の方法ステップ210において決定される初期時間値を構築する。プロセッサ10は次いで、プール36における断片38にアクセスし、該時間値を用いて断片38を処理する。
最初の時間値は0であり、断片「砂漠」から、プロセッサ10が、時間0において「暑い(hot)」及び「オレンジ色(orange)」という状態(state)がライブであることを決定する。プロセッサ10は次いで、これら状態についての値を与える断片38、及びこれらの値が関連するタイプ(type)の装置を検索する。「暑い」の場合には、断片「hot_asset」から、温度(temperature)装置についての40℃の値がある。またファンA(fanA、図4における装置16b)を定義する断片38があり、それ故「時間0においてファンAを40℃に設定せよ」という命令へと変換する。該処理は次いで、状態「暑い」及び「オレンジ色」を提供する断片38のそれぞれについて繰り返される。
該処理が完了すると、プロセッサ10は次の時間値(即ち3)へと進む。該時間値について命令の新たなシーケンスが生成され、該命令は時間0において与えられた命令の反対のものを含み得る。該処理は、プロセッサ10により検出される各時間値について繰り返される。このようにして、単純なファイルとして、又は一連の装置特有ファイル18として、タイムスタンプを付された命令のシーケンス12が生成される。
本システムは、単一の時間値tを決定し、次いで該時間値が当該時間tにおける命令を算出するために利用され、次いで次の時間t+1が探索されるものとして説明されたが、タイムスタンプを付された命令のシーケンスを生成する代替の方法もとり得ることは、理解されるであろう。例えば、全ての時間値が開始時に決定され、次いで断片が各時間値の全てについて一度に処理されても良い。しかしながら、好適な実施例は、各時間値を順にとり、次いで断片を命令へと処理し、次の時間値を探す、というものである。
いずれかの時点でシステムが「開いた」ものとなった場合には、単純な再生エンジンが新たな記述により割り込みされても良いし、又は(全体のシステムエンジンとして動作する)プロセッサ10が制御を引き継いでも良い。セキュリティ、効率又はスピードのために有利である場合には、命令のシーケンスは、いずれかの時点で符号化、暗号化又は圧縮されても良い。平坦化された命令を生成する際にプロセッサ10は命令の送信を実行する必要はなく、次の「スナップショット」のためにアクティビティがない又は低い期間の間待機する必要もないため、殆どの状況において、著しい量のコンテンツが非常に迅速に処理されることができる。
更にとり得る有利な用途は、プロセッサ10に早めに動作させることにより、プロセッサ10を再生から分離することであり得る。本質的にこのことは、装置に対する命令の適時の発行を管理する単純な再生エンジン14によって、命令シーケンスの末尾を、可能な限り迅速に埋めることを伴い得る。この手法により、マテリアルの複雑な部分のために必要とされる非常に負荷の高いいずれの処理もが時間的に早めのものとなり得、幾分かの「息つぎ時間」を提供し得る。タイムスタンプを付された命令のシーケンスの生成の間、いずれの生成された命令もが前方へ送られる。
本開示を読むことにより、他の変形及び変更が当業者には明らかであろう。斯かる変形及び変更は、本分野において既に知られている、ここで既に説明された特徴の代わりに又は該特徴に加えて利用され得る、同等の及び他の特徴を含み得る。
添付される請求項は特徴の特定の組み合わせに向けたものであるが、本発明の開示の範囲は、いずれかの請求項において現在請求されているものと同一の発明に関するものであろうとなかろうと、また本発明が軽減するものと同一の技術的課題のいずれか又は全てを軽減するものであろうとなかろうと、明示的若しくは暗黙的にここで開示されたいずれの新規な特徴若しくは特徴の新規な組み合わせ、又はその一般化をも含むことは、理解されるべきである。
別個の実施例の文脈で説明された特徴は、単一の実施例へと組み合わせて提供されても良い。逆に、簡潔さのために単一の実施例の文脈で説明された種々の特徴が、別々に又はいずれかの適切な副結合で提供されても良い。本出願人はここで、本出願又は本出願から導かれるいずれかの更なる出願の手続きの間に、斯かる特徴及び/又は斯かる特徴の組み合わせに対して、新たな請求項が作成され得ることを注記しておく。
完全さの目的のため、「有する(comprising)」なる語は他の要素又はステップを除外するものではなく、「1つの(a又はan)」なる語は複数を除外するものではなく、請求項における参照記号は請求の範囲を限定するものとして解釈されるべきではない点も言及しておく。