(57)【要約】  PDAあるいは移動電話などのワイヤレス装置上での、マルチメディアの配信およびプレゼンテーションのためのダイナミックパブリッシングシステム。プレゼンテーションサーバは、1つ以上のメディアオブジェクトに対するシーン記述データに基づくアプリケーションデータをダイナミックにコンパイルし、メディアオブジェクトのプレゼンテーションのためにアプリケーションデータをワイヤレス装置に送る。ワイヤレス装置は、イベントに応答して、オブジェクトのためにオブジェクトレベルでアプリケーションデータを処理し、プレゼンテーションを制御することができるメディアプレーヤーを有している。アプリケーションデータは、メディアオブジェクトのための、コンテンツ、レイアウトおよび制御ロジックデータを含んでいる。
2005513621.tif 000002
【特許請求の範囲】
【請求項１】
1つ以上のメディアオブジェクトのために、シーンデスクリプションに基づくアプリケーションデータをダイナミックにコンパイルし、前記1つ以上のメディアオブジェクトのプレゼンテーションのために、前記アプリケーションデータをワイヤレス装置に送るプレゼンテーションサーバを含む、マルチメディアのためのパブリッシングシステム。
【請求項２】
前記アプリケーションデータが、前記メディアオブジェクトのためのコンテンツ、およびレイアウト、制御ロジックデータを含んでいる、請求項１に記載のパブリッシングシステム。
【請求項３】
前記プレゼンテーションサーバが、前記ワイヤレス装置と通信し、前記コンパイルが、前記プレゼンテーションサーバと前記ワイヤレス装置との間の通信に基づいて制御される、請求項２に記載のパブリッシングシステム。
【請求項４】
前記アプリケーションデータの前記ワイヤレス装置への配信中に、前記コンパイルが制御される、請求項１に記載のパブリッシングシステム。
【請求項５】
前記制御ロジックデータが、前記ワイヤレス装置のバーチャルマシンのためのバイトコードを含み、さらに、前記アプリケーションデータが、前記ワイヤレス装置により要求されたコンテンツに対するものであり、前記バーチャルマシンにより検出されたイベントに基づく前記コンパイルの間、リアルタイムで調整される、請求項４に記載のパブリッシングシステム。
【請求項６】
前記イベントが、前記ロジックデータにより定義される、請求項５に記載のパブリッシングシステム。
【請求項７】
前記イベントが、前記ワイヤレス装置のユーザーの動作に関連する、請求項６に記載のパブリッシングシステム。
【請求項８】
前記シーンデスクリプションが、1つ以上のメディアオブジェクを含む1つ以上のシーンを定義し、前記1つ以上のマルチメディアオブジェクトに関連付けられた前記1つ以上のメディアオブジェクトおよび1つ以上のイベントをレンダリングする、請求項１に記載のパブリッシングシステム。
【請求項９】
前記アプリケーションデータが、インターリーブされた制御パケット、メディアデータパケット、および前記メディアオブジェクトのためのメディア定義パケットを含んでいる、請求項８に記載のパブリッシングシステム。
【請求項１０】
前記シーンデスクリプションが、XMLデータを含んでいる、請求項８に記載のパブリッシングシステム。
【請求項１１】
前記コンパイルが、前記プレゼンテーションサーバと前記ワイヤレス装置との間の通信リンクの、1つ以上の特性に基づいて調整される、請求項３に記載のパブリッシングシステム。
【請求項１２】
前記プレゼンテーションサーバが、前記ワイヤレス装置から、前記ワイヤレス装置のケイパビリティを示すケイパビリティデータを受け取り、前記ケイパビリティデータに基づいて前記アプリケーションデータを変更するよう適合されている、請求項３に記載のパブリッシングシステム。
【請求項１３】
前記ケイパビリティが、前記ワイヤレス装置のハードウェアケイパビリティ、およびソフトウェアケイパビリティを含んでいる、請求項１２に記載のパブリッシングシステム。
【請求項１４】
前記プレゼンテーションサーバが、前記ワイヤレス装置のソフトウェアケイパビリティを変更するために、前記ケイパビリティデータに基づいて前記ワイヤレス装置へソフトウェアパケットを送るよう適合されている、請求項１３に記載のパブリッシングシステム。
【請求項１５】
前記プレゼンテーションサーバが、前記ワイヤレス装置に格納されたマルチメディアオブジェクトライブラリを管理するよう適合されている、請求項１に記載のパブリッシングシステム。
【請求項１６】
前記プレゼンテーションサーバが、前記ワイヤレス装置からのユーザーフォームデータおよびイベントを受け取るよう適合されている、請求項２に記載のパブリッシングシステム。
【請求項１７】
前記メディアオブジェクトのためのコード化データを提供し、さらに前記シーンデスクリプションを生成する、前記プレゼンテーションサーバと通信するためのアプリケーションサーバを含んでいる、請求項１に記載のパブリッシングシステム。
【請求項１８】
前記アプリケーションサーバが、ダイナミックなページに基づいて前記シーンデスクリプションを生成するためのエンジンを含んでいる、請求項１７に記載のパブリッシングシステム。
【請求項１９】
前記アプリケーションサーバが、前記ワイヤレス装置から前記プレゼンテーションサーバへ送られる、ユーザーフォームデータを処理するよう適合されている、請求項１７に記載のパブリッシングシステム。
【請求項２０】
前記アプリケーションサーバが、１組のタイルとして画像を表す画像タイルデータを生成し、前記画像の一部分を表示するために、少なくとも前記画像タイルデータの一部を前記ワイヤレス装置に送るよう適合されている、請求項１に記載のパブリッシングシステム。
【請求項２１】
前記プレゼンテーションサーバが、前記タイルの組の個々のタイルを、前記ワイヤレス装置へオンデマンドで送るよう適合されている、請求項１９に記載のパブリッシングシステム。
【請求項２２】
前記プレゼンテーションサーバが、前記メディアオブジェクトのために、メディアソースへ同時にアクセスし、さらに、前記ワイヤレス装置が受け取ったアプリケーションデータを用いるアプリケーションを実行している間に、ビットストリームのパケット内の前記アプリケーションデータを前記ワイヤレス装置へ送信する、請求項４に記載のパブリッシングシステム。
【請求項２３】
前記プレゼンテーションサーバが、前記メディアオブジェクトのためにメディアソースに増加的にリンクし、受け取ったアプリケーションデータを用いてアプリケーションを実行するワイヤレス装置へ、アプリケーションデータを増加的に送信する、請求項１に記載のパブリッシングシステム。
【請求項２４】
前記プレゼンテーションサーバが、アプリケーションデータを同時に用いてアプリケーションを実行する多数のワイヤレス装置へ、前記アプリケーションデータを送信するよう適合されている、請求項１に記載のパブリッシングシステム。
【請求項２５】
前記プレゼンテーションサーバが、前記アプリケーションデータを前記ワイヤレス装置へダウンロードとして送信する、請求項１に記載のパブリッシングシステム。
【請求項２６】
前記プレゼンテーションサーバが、前記アプリケーションデータを前記ワイヤレス装置へデータストリームとして送信する、請求項１に記載のパブリッシングシステム。
【請求項２７】
プレゼンテーションサーバが、前記アプリケーションデータの一部を前記ワイヤレス装置へダウンロードとして送信し、さらに、前記アプリケーションデータの残余をデータストリームとして送信する、請求項１に記載のパブリッシングシステム。
【請求項２８】
1つ以上のメディアオブジェクトのためのアプリケーションデータを受け取るバーチャルマシンを含み、さらに、検出したイベントに応じて前記オブジェクトのためにオブジェクトレベルで前記アプリケーションデータを処理し、さらに前記イベントに基づいて前記装置上に前記オブジェクトを提示する、ワイヤレス装置のためのメディアプレーヤー。
【請求項２９】
前記アプリケーションデータが、前記メディアオブジェクトのためのコンテンツ、およびレイアウト、制御ロジックデータを含んでいる、請求項２８に記載のメディアプレーヤー。
【請求項３０】
前記ロジックデータが、それぞれ前記メディアのためのイベントを定義する、請求項２９に記載のメディアプレーヤー。
【請求項３１】
前記コンテンツ、レイアウト、および制御ロジックデータが、メディアデータパケット、メディア定義パケット、およびオブジェクト制御パケット内へ送られ、前記オブジェクト制御パケットが前記バーチャルマシンを指示するバイトコードを含んでいる、請求項２９または請求項３０に記載のメディアプレーヤー。
【請求項３２】
前記バーチャルマシンが、プレゼンテーションサーバと通信し、前記アプリケーションデータのコンパイルが、バーチャルマシンとプレゼンテーションサーバとの間の通信に基づいて、ダイナミックに制御される、請求項２８に記載のメディアプレーヤー。
【請求項３３】
前記バーチャルマシンが、前記ワイヤレス装置のケイパビリティを示すケイパビリティデータをプレゼンテーションサーバへ送信するよう適合されている、請求項３２に記載のメディアプレーヤー。
【請求項３４】
前記ケイパビリティが、前記ワイヤレス装置のハードウェアケイパビリティおよびソフトウェアケイパビリティを含んでいる、請求項３３に記載のメディアプレーヤー。
【請求項３５】
前記通信が、前記イベント上のデータを含んでいる、請求項３２に記載のメディアプレーヤー。
【請求項３６】
前記イベントが、前記ワイヤレス装置のユーザーの動作に関連している、請求項３５に記載のメディアプレーヤー。
【請求項３７】
前記バーチャルマシンが、ユーザーイベントデータを前記プレゼンテーションサーバへ送信するよう適合されている、請求項３２に記載のメディアプレーヤー。
【請求項３８】
前記プレゼンテーションサーバが、前記ワイヤレス装置のソフトウェアケイパビリティを変更するために、プレゼンテーションサーバからソフトウェアパケットを受け取るよう適合されている、請求項３２に記載のメディアプレーヤー。
【請求項３９】
前記プレゼンテーションサーバが、前記ワイヤレス装置上に格納されたマルチメディアオブジェクトライブラリを管理するよう適合されている、請求項３２に記載のメディアプレーヤー。
【請求項４０】
前記バーチャルマシンが、前記プレゼンテーションサーバから画像タイルデータを受け取り、画像の個々のタイルを表示するよう適合されている、請求項３２に記載のメディアプレーヤー。
【請求項４１】
前記バーチャルマシンが、前記画像タイルデータに基づいて、前記画像をズームし、およびパンするのが可能となるよう適合されている、請求項４０に記載のメディアプレーヤー。
【請求項４２】
前記バーチャルマシンが、必要に応じて、前記プレゼンテーションサーバから前記画像タイルデータの個々のタイルを要求するよう適合されている、請求項４１に記載のメディアプレーヤー。
【請求項４３】
前記バーチャルマシンが、前記アプリケーションデータをデータストリームとして受け取る、請求項２８に記載のメディアプレーヤー。
【請求項４４】
前記バーチャルマシンが、前記アプリケーションデータをダウンロードとして受け取る、請求項２８に記載のメディアプレーヤー。
【請求項４５】
前記バーチャルマシンが、前記アプリケーションデータの一部をダウンロードとして受け取り、前記アプリケーションデータの残余をデータストリームとして受け取る、請求項２８に記載のメディアプレーヤー。
【請求項４６】
メディアオブジェクトのためのパケットをコンパイルするために、メディアソースに同時にアクセスし、受け取った各パケットを用いてアプリケーションを実行するために前記パケットをワイヤレス装置に送り、さらに、ワイヤレス装置が前記アプリケーションを実行する間に前記パケットのコンパイレーションを調整するプレゼンテーションサーバを含む、マルチメディアのためのパブリッシングシステム。
【請求項４７】
メディアオブジェクトのためのメディアソースに増加的にリンクし、前記メディアオブジェクトを、オブジェクトを用いてアプリケーションを実行するワイヤレス装置に、増加的に送るプレゼンテーションサーバを含む、マルチメディアのためのパブリッシングシステム。
【請求項４８】
アプリケーションデータ用いてアプリケーションを実行する多数のワイヤレス装置に、アプリケーションデータを同時に送るプレゼンテーションサーバを有する、パブリッシングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パブリッシングシステムに関し、特に、携帯電話などのワイヤレス装置に、単一およびマルチユーザーインタラクティブおよびダイナミックマルチメディアプレゼンテーションおよびアプリケーションを発行する、パブリッシングシステムに関する。
【背景技術】
【０００２】
オーディオおよびビジュアルに富むコンテンツを、モバイル装置へ発行する場合の重要な問題は、モバイル装置のケイパビリティ、ネットワークのケイパビリティ、装置オペレーティングシステムの重要な変形形態、および、ダイナミックでインタラクティブなメディアベースコンテンツを作成する困難さに起因している。主にテキストベースであるワールドワイドウェブ(WWW)あるいはWAPのコンテンツとは異なり、高品位メディアは、ディスプレイの特性および計算パワーの制限などの装置のケイパビリティに、さらに敏感である。BREW(ワイヤレス用バイナリランタイム環境(Binary RunTime Environment for Wireless))およびJ2Me商標Java2 マイクロエディション(JavaTM2 Micro Edition)などの既存のモバイルコンピューティング/アプリケーションプラットフォームは、主要なマルチメディアのサポートが欠如している。また、これらは主に、スタティックなダウンロード可能アプリケーションをサポートするのみである。多くのコンテンツプロバイダーがこれらのコンテンツおよびブランドを、モバイルスペースにまで広げようとしているが、装置間の一貫したサポートの欠如、さらにこれらの装置の計算能力が制限されているため、これらはマルチメディアコンテンツを合成し、および描写することは出来ない。
【０００３】
現在のワイヤレスパブリッシングおよびディストリビューションは、3つの基本モデルのうちの1つに制限されている： HTML/WAPによるブラウジング/テキストページのダウンロード、MPEGによるストリーミングメディア、およびJAVA/Flashによるアプリケーションのダウンロードである。通信は、これらと関連して、ユーザーにサービスを利用するよう促し、指示することに使用可能である。これらのモデルは本質的に著しく異なっており、消費者に豊かなサービスを提供しようとするならば、コンテンツ発行者は、これら3つの全てを利用する必要がある。高価かつ複雑な提案であることに加え、これは、単一発行者が提供するサービスの各様式間のユーザーインターフェースおよび機能性において、注目に値する区分を伴う一貫したユーザー体験を提示しない。
【０００４】
WAP/xHTMLのブラウジング/ダウンロードデータモデルでは、ユーザーが一度にプルダウンできるのは、スタティックテキスト(若干のイメージデータを伴う)の1ページに制限され、制限された機能性しかユーザーに提供されない。データコンテンツは、ほとんどいかなるハンドセットにも配信可能であるが、この能力はまた、コンテンツ制限およびレイアウト制限の費用を確かめ、発行者サービスの分化を困難にしている。このモデルに関連する処理およびシステムは、いかなる機能あるいはロジックコードもない、装置へのレイアウトおよびコンテンツ情報の配信に限られている。
【０００５】
ストリーミングメディアモデルは、「ペイパーヴュー」テレビと同様であるが、装置および帯域幅制限によりユーザー体験はかなり妨げられる。ストリーミングメディアの配布は、現在、ニッチマーケットモバイル装置に制限されており、受身的で高価なユーザー体験を提供する。このモデルのシステムおよび処理は、レイアウト情報あるいはロジックのない、コンテンツの配信に本質的に制限されている。
【０００６】
アプリケーションダウンロードは、「シェアウェア」クラスソフトウェアパブリッシングモデルを提示している。すべてのアプリケーションソフトと同様に、これは高度に機能的であるが、単一目的および特定ハンドセットを対象とする、複雑な開発ツールを用いて書かれた特別注文とならざるを得ない。通常、これらは限られたライフサイクルを有し、かなりスタティックである。アプリケーションのダウンロードは、ロジックの配信に関するが、コンテンツおよびレイアウト情報の制御された配信には関係しない。
【０００７】
アプリケーションおよびサービスを生成する、特殊化され、洗練された収益を得ようとする場合、発行者が現在直面する主な問題は、これらが以下に支配的に制限されていることである。
(i) ダウンロード(プル)ベースの配信。
(ii) 不必要に遅く、高価なだけの、フルスクリーンアップデート。
(iii) 固定され、あるいは強制されたユーザーインターフェース。
(iv) 制限されたマルチメディアケイパビリティ。
(v) ハンドセット間の携帯性の欠如。
(vi) 高度なアプリケーションのための複雑なマニュアル開発。
(vii) 主にスタティックなアプリケーションおよびコンテンツ。
(viii) 持続可能な収入への明確な経路の不在。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
既存のパブリッシング/ディストリビューションプラットフォームは、主に、テキスト(WAP、HTML)、ベクトルグラフィックス(FLASH、SVG)、あるいはビデオ(MPEG4)のいずれかに基づく、単一メディアタイプ用に設計されている。したがって、ワールドワイドウェブ(World Wide Web)に見られるような豊かで様々な体験を作成するには、単純でありながら制限されたインターフェースを用いるデスクトップクラスコンピュータターミナル用に設計された、異なる標準の分類および独占技術を担持する必要がある。残念ながらこれらの解決策は、モバイルハンドセット上で作動させるにはあまりにも要求が過酷であり、提供可能なものは、配信および複数の解決策への要求を生成可能な、アプリケーション/コンテンツのクラスを制限した、限られたマルチメディア体験に留まっている。
【０００９】
コンテンツの配信から離れても、これらの技術の提供するユーザー機能性およびレイアウトケイパビリティ(SVGおよびFlashを除く)は、非常に限られたものである；したがって、これらは、高度なアプリケーションの簡単なオーサリングに要求される、機能性およびフォーム(レイアウトあるいは構造)からのコンテンツの本質的分離を提供することを回避している。これは、コンテンツ全体および機能性全体を変更(または、少なくとも再起動)しなければ、アプリケーションのレイアウトあるいは構造を変更できないことを意味しており、これらの技術がページモードで作動するだけである理由を説明している。これは、ダイナミックアプリケーションを作成する能力をかなり抑制し、作成可能なアプリケーションの複雑化を制限する。
【００１０】
また、既存のパブリッシングシステムの大部分は、制限された、あるいは貧弱なマルチユーザーケイパビリティしか有していない。ダウンロードベースのHTML/WAPモデルの場合、相互ユーザー同期問題に導くアップデートを受け取るには、ユーザーが新しいコンテンツページを再ダウンロードしなければならないので、システムは、複数のユーザー間のリアルタイムインタラクションに適してはいない。ストリーミングビデオマルチユーザーの場合、サポートは、非インタラクティブメディア放送、あるいは、共有アプリケーションおよびワークスペースを含まないマルチパーティービデオ会議のいずれかに制限されている。ジャバ（Java）およびフラッシュ（Flash）を用いて構築されたアプリケーションなど、ダウンロード可能なアプリケーションは、本来単一ユーザーである。
【００１１】
本明細書の文脈では、「マルチメディア」という用語は、ビデオ、オーディオ、テキスト、および/またはグラフィックス、あるいは多くのメディアオブジェクトなどのように、1つ以上のメディアタイプを意味するものと受け止められている。
【００１２】
上の問題点の1つ以上を軽減する、パブリッシングシステムあるいは処理を提供するか、あるいは少なくとも役立つ代替手段を提供することが所望されている。
【課題を解決するための手段】
【００１３】
本発明によると、1つ以上のメディアオブジェクトのために、シーンデスクリプションに基づくアプリケーションデータをダイナミックにコンパイルし、前記1つ以上のメディアオブジェクトのプレゼンテーションのために、前記アプリケーションデータをワイヤレス装置に送るプレゼンテーションサーバを含む、マルチメディアパブリッシングシステムが提供されている。
【００１４】
本発明はまた、1つ以上のメディアオブジェクトのためのアプリケーションデータを受け取るバーチャルマシンを含み、さらに、検出したイベントに応じて前記オブジェクトのためにオブジェクトレベルで前記アプリケーションデータを処理し、さらに前記イベントに基づいて前記装置上に前記オブジェクトを提示する、ワイヤレス装置のためのメディアプレーヤーを提供する。
【００１５】
本発明はまた、メディアオブジェクトのためのパケットをコンパイルするために、メディアソースに同時にアクセスし、受け取った各パケットを用いてアプリケーションを実行するために前記パケットをワイヤレス装置に送り、さらに、ワイヤレス装置が前記アプリケーションを実行する間に前記パケットのコンパイルを調整するプレゼンテーションサーバを含む、マルチメディアパブリッシングシステムを提供する。
【００１６】
本発明はまた、メディアオブジェクトのためのメディアソースに増加的にリンクし、前記メディアオブジェクトを、オブジェクトを用いてアプリケーションを実行するワイヤレス装置に、増加的に送るプレゼンテーションサーバを含む、マルチメディアパブリッシングシステムを提供する。
【００１７】
本発明はまた、アプリケーションデータを用いてアプリケーションを実行する多数のワイヤレス装置に、アプリケーションデータを同時に送るプレゼンテーションサーバを有する、パブリッシングシステムを提供する。
【発明を実施するための最良の形態】
【００１８】
本発明の好ましい実施例は、以下に、添付図面を参照して、例示としてのみ説明されている。
【００１９】
図1に示されるように、動的なマルチメディアパブリッシングシステム(DMPS)は、データベースサーバ102、アプリケーションサーバ104、プレゼンテーションサーバ106、およびワイヤレスクライアント装置108のメディアプレーヤーを含んでいる。アプリケーションサーバ104は、データベースサーバ102と通信してもよい。DMPSは、以下の機能で、ダイナミックマルチメディアアプリケーションを生成し、実行する、マルチメディアパブリッシング処理を行なう。
(i) ダイナミックコンテンツ。これにより、様々なタイプのメディアソースが、リアルタイムでオブジェクトを表示するよう再マッピングされ、その後、自動的にソースあるいは「ライブ」データ変化としてアップデートされることが可能となる。
(ii) ダイナミック構造。これにより、定義可能なイベントに基づいて、オンスクリーンメディアオブジェクトのレイアウトの変更、あるいは新規メディアオブジェクトのスクリーンの作成および新規メディアオブジェクトのスクリーンからの除去が可能となる。
(iii) ダイナミック機能性。アプリケーションあるいはメディアオブジェクトの動きは、ユーザーあるいは外部イベントに基づいて変化可能である。ワイヤレス装置108に送られた制御パケットに基づき、メディアプレーヤーにより生成されるユーザーインターフェースは、コンテンツが提示される際にリアルタイムで変更可能である。
【００２０】
DMPSは、ワイヤレス装置に対する、コンテンツ、レイアウト、および機能あるいはロジック情報の配信を可能にし、その配信は、配信されるイベント、あるいはクライアント装置108から送られるリクエストに基づき、プレゼンテーションサーバ106、および/または、クライアント装置108により、ダイナミックに制御可能である。
【００２１】
シーンベースのメタファを用いて、DMPSは、シーンの非線形シーケンスとして定義される、複雑なインタラクティブアプリケーションの作成を可能とする。各シーンは、メディアタイプあるいはオブジェクトを表示可能な、時空スペースを定義する。オブジェクトは、グラフィックス(SVG)、テキスト並びにフォーム (HTML)、MIDI、オーディオ、タイル画像、およびビデオの組み合わせを含む、任意の種類のライブもしくはスタティックメディアコンテンツも表現可能である。シーンは、1組のメディアオブジェクトおよびそれらの振舞い間の構造、あるいは関係を説明するフレームワークを提供する。XMLシーン記述は、オブジェクトの同期、レイアウト、およびインタラクションを含む、これらの関係を定義する。
【００２２】
DMPSは、個々のメディアオブジェクト上で動作し、作者は、条件付きイベントベースの機能的振舞いをオブジェクトを割り当て、さらにこれらの振舞いのトリガーとなるよう、オブジェクトとのインタラクションを定義可能にする。ユーザー、システム、あるいは他のオブジェクトは、作者が定義したいかなる機能も呼び出せるよう、任意の定義されたオブジェクトとインタラクト可能である。オブジェクトの振舞いは、アプリケーション構造、メディアコンテンツ、あるいは割り当てられた機能的振舞いを変更するために、システム、他のオブジェクト、あるいは自分自身に作用するよう、順番に対象とすることができる。したがって、ユーザーは、所望するいかなるコンテンツ、機能性、および構造を有するアプリケーションのみならず、ダイナミックコンテンツ、ダイナミック機能、あるいはダイナミック構造の任意の組み合わせも含むアプリケーションを作成可能である。
【００２３】
この柔軟性により、テレビゲームなど、高度なユーザーインターフェースを要する、非常に高度なインタラクティブアプリケーションの作成が可能となる。これらは、完全に自動化し得るオーサリングのようなテキストベースのHTMLを用いて作成可能であるので、手作りの低レベルプログラミングの使用に要するより、かなり少ない時間および費用で開発されることになる。
【００２４】
DMPSはオブジェクトを扱うので、例えば、個々のテキストフィールドへのストリーミングテキストなど、変化する表示メディアオブジェクトをアップデートするだけでよい。これにより、ディスプレイのアップデートに同一情報を再送する必要がないので、ユーザーの待ち時間およびコストが減少される。これは、プッシュベースのライブデータフィードアプリケーションには理想的である。
【００２５】
説明されている実施例では、データベースサーバ102、アプリケーションサーバ104、およびプレゼンテーションサーバ106は、商標「Intel」 x86ベースサーバなどの標準コンピュータシステムであり、さらに、ワイヤレスクライアント装置106は、パーソナルデータアシスタント(PDA)あるいはセルラー移動電話などの標準ワイヤレス装置である。コンピュータシステム102〜106がインターネットなどの通信ネットワーク経由で通信するのに対して、ワイヤレス装置108は、プレゼンテーションサーバ106と、2G、2.5G、あるいは3Gのワイヤレス通信ネットワーク経由で通信する。ダイナミックマルチメディアパブリッシング処理は、サーバ102〜106、およびワイヤレスクライアント装置に関連付けられた非揮発性記憶装置上に収納されるソフトウェアモジュールとしてインプリメントされる。しかしながら、ダイナミックマルチメディアパブリッシング処理の少なくとも一部分は、代替的に、アプリケーション固有集積回路(ASIC)などの専用ハードウェア部品によりインプリメント可能であることは明白であろう。プレゼンテーションサーバ106は、完全にスケーラブルであり、J2S Eリリース（release）1.4にインプリメントされ、コンパチブルソラリス（Solaris）8およびリナックス（Linux）を含む、ジャバ  バーチャル  マシン（Java Virtual Machine）をサポートするいかなるプラットフォームでも実行可能である。
【００２６】
DMPSでは、プレゼンテーションロジックは、クライアント装置108とプレゼンテーションサーバ106との間で分離される。プレゼンテーションサーバ106は、プレゼンテーションサーバ106に様々な個々のメディアソースをロードし、各参照メディアオブジェクトのためのスクリーン/ビューポートレイアウトと、時間同期要件とを分離することにより、説明されたシーンをダイナミックに作成するよう指示する、SMIL(http://www.w3.org/AudioVideoにて説明されている、同期マルチメディア統合言語(Synchronised Multimedia Integration Language))、IAVML(国際特許出願第PCT/AU/00/01296号に説明されているような)、あるいはMHEG(http://www.mheg.orgにて説明されているような、マルチメディアおよびハイパーメディア情報コード化エキスパートグループ (Multimedia and Hypermedia information coding Expert Group))において、XMLベースのシーンデスクリプションを読み取る。プレゼンテーションサーバ106は、シーンデスクリプションを、メディアストリームを同期させ、および連続させ、さらに、クライアント装置108に対して制御パケットを導入するために使用する。プレゼンテーションサーバ106は、シーンデスクリプションを、制御パケットに配置されたバイトコードをコンパイルするために使用する。制御パケットのバイトコードは、クライアント装置に実行すべき動作を指示可能であり、また、クライアントに対して、レイアウトおよび同期情報を提供する。また、シーンデスクリプションは、アプリケーションサーバ104による伝送用に準備され、あるいはコード化されていた、もしくはデータベースから取得可能な、1つ以上のメディアソースを参照する。ソースのコンテンツのための各ビットストリームは、メディアデータパケット内に伝送用に配置される。また、メディア定義パケットは、伝送用にフォーマットされる。メディア定義パケットは、メディアデータパケットのコンテンツ用のフォーマット情報およびコード化情報を提供する。また、メディア定義パケットは、クライアント装置108のメディアプレーヤー用アプリケーションを初期化するバイトコードインストラクションを含んでいてもよい。制御パケットと異なり、バイトコードは、プレーヤーがアプリケーションを実行する間、動作を制御しない。
【００２７】
また、クライアント装置108にプッシュされた実際のビットストリーム 110も、異なる各セッション用にコンテンツを自動的にパッケージし、さらにセッションの間、クライアント装置108、ネットワークのケイパビリティ、ユーザーインタラクション、およびプロフィール/ロケーションなどのケイパビリティにより決定されるようにダイナミックに適合する、プレゼンテーションサーバ106によって実行される特定の最適化に依存している。プレゼンテーションサーバ106に提供されるシーンデスクリプションスクリプトは、アプリケーションサーバ104によりダイナミックに生成可能であっても、あるいはスタティックファイルであってもよい。クライアント装置108は、指定されたシーンを再作成するために、個々の各オブジェクトの時空表現の実行方法、およびこれらのオブジェクトとのユーザーインタラクションに応答する方法を指示するビットストリームを受け取る。
【００２８】
メディアプレーヤークライアント
図2に示されるように、クライアント装置108は、メディアプレーヤークライアント202およびオブジェクトライブラリ204を含む、メディアプレーヤー、およびオペレーティングシステム206を含んでいる。メディアプレーヤークライアント202は、定義されたメディアオブジェクト、イベントトリガー、およびオブジェクト制御をデコードし、および処理し、さらにメディアオブジェクトをレンダリングする。メディアプレーヤー202は、クライアント装置108に強力なマルチメディア取り扱いケイパビリティを提供し、さらにプレゼンテーションサーバ106と共に、進行中のセッションを維持する、軽量でリアルタイムなマルチメディアバーチャルマシンである。メディアプレーヤークライアント202は、1MIPSの処理パワー、および128kbのヒープスペースを必要とするのみである。メディアプレーヤークライアント202は、60Kバイト程度の小さなサイズであるため、エアを通して供給可能である。メディアプレーヤークライアント202は、BREW、J2ME/MIDP、PPC、PalmOS、EPOC、およびLinuxを含む広範囲のオペレーティングシステム206上で実行可能である。
【００２９】
メディアプレーヤークライアント202は、オブジェクトデータパケットストリーム、およびプレゼンテーションサーバ106から受け取った制御パケットストリームを圧縮解除し、および処理し、さらに様々なオブジェクトを、クライアント装置108のオーディオおよびディスプレイハードウェア出力装置に送る前にレンダリングする、クライアントエンジン208を含んでいる。クライアントエンジン208はまた、制御パケットにより定義される任意のイベントを登録し、それぞれのイベントが引き起こされる際に、関連オブジェクト上で関連する制御を実行する。クライアントエンジン208はまた、クライアント装置108およびメディアプレーヤークライアント202の構成およびケイパビリティに関して、さらにユーザーインタラクションにも応答して、プレゼンテーションサーバ106と通信する。
【００３０】
図3を参照すると、クライアントエンジン208は、4つのインターリーブされたデータストリームの動作を実行する：圧縮メディアデータパケット302、メディア定義パケット304、オブジェクト制御パケット306、およびアップロード実行可能コードモジュールパケット308である。圧縮データパケット302は、コンテンツ、すなわち、適切なエンコーダ/デコーダ(コーデック)によりデコードされる圧縮メディアオブジェクト(例えば、ビデオ) データを含んでいる。定義パケット304は、メディアフォーマット、および、圧縮データパケット302の解釈に用いられる他の情報を運ぶ。例えば、定義パケットは、コーデックタイプあるいはコード化パラメータ、ビットストリームフォーマット、初期表現パラメータ制御、トランジション効果、メディアフォーマットに関する情報を含んでいてもよい。オブジェクト制御パケット306は、クライアント202に、ロジック、構造、あるいはレイアウトのインストラクションをバイトコードで提供する。制御パケットは、オブジェクトの振る舞い、表現、トリガーイベント、アニメーション、およびインタラクションのパラメータを定義する。アップロードコードモジュールパケット308は、他の3つのパケットタイプに含まれるデータの処理に必要な、実行可能ソフトウェアコンポーネント(特定のコーデックなど)を含んでいる。
【００３１】
クライアント装置108に送られる特定のパケットは、シーンデスクリプション、クライアント装置108およびメディアプレーヤークライアント202のケイパビリティ、およびプレゼンテーションとのユーザーインタラクションにより定義されるように、閲覧されるプレゼンテーションにより決定される。クライアントエンジン208は、必要な場合、表示シーンを含む一連のフレームビットマップ310を、一定のフレームレートでクライアント装置108のディスプレイバッファ312へ送る。それはまた、オーディオサンプル314のストリームを、クライアント装置108のオーディオ出力ハードウェア316へ送る。クライアントエンジン208はまた、ユーザー入力に応答して、ユーザーイベントおよびフォームデータ318を受け取る。それは、登録されたトリガーイベントをモニタし、関連オブジェクトの制御を実行して、関連イベント、フォームデータ、および装置/クライアント情報314を、プレゼンテーションサーバ106へ返す。メディアプレーヤークライアント202はまた、プレゼンテーション中に使用するローカルオブジェクトライブラリ204を維持する。オブジェクトライブラリ204は、プレゼンテーションサーバ106により管理される。
【００３２】
ほとんどのバーチャルマシン(例えば、サン（Sun）のJVM、もしくはマイクロソフト（Microsoft）のネットシャープ（Net CSharp） VM)と異なり、メディアプレーヤークライアント202は、メディアオブジェクト上でオブジェクトレベルで動作する。それは、他のバーチャルマシンのように、所定のバイトコードを用いてインストラクションを実行する。しかしながら、スタックベースで、数値上で動作する従来のバーチャルマシンと異なり、メディアプレーヤークライアント202は、スタックベースではなく、メディアオブジェクト全体において高レベルで動作する、イベント駆動バーチャルマシンである。したがって、それは、低レベルシステムリソースの管理に時間を費やすのを回避する。
【００３３】
メディアプレーヤークライアント202により、表現指示を解釈し、および分解しなければならないオーバーヘッドもなく、もしくは複雑な同期タスクを実行することもなく、高度に最適化されたバイトコードがリアルタイムに実行可能となり、さらに、既存のブラウザ技術と異なり、ユーザーのための進歩したメディア操作、および高度なユーザー体験の提供を可能にする。完全に叙述されているので、それは、ユーザー、システム、および相互オブジェクトイベントに基づく、メディアオブジェクト上の条件付きの動作の実行をサポートする。したがって、これは、ストリーミングビデオからスペースインベーダ（Space Invaders）まで、いかなるインタラクティブゲームキャストへの実行にも使用可能である。
【００３４】
メディアプレーヤークライアント202は、ビデオ、オーディオ、テキスト、ミディ８Midi）、ベクトルグラフィックス、およびタイル画像マップを含む、様々なメディアタイプを処理する。コーデックから独立し、および認識しているので、メディアプレーヤークライアント202内にコーデックサポートが存在し、あるいはクライアント装置108がアクセス可能である限り、いかなる圧縮データも明瞭にデコードされる。
【００３５】
スタンドアロンモードでは、メディアプレーヤークライアント202は、ダウンロードされた、およびローカルに保存されたいかなるアプリケーションも実行可能である。クライアントサーバモードでは、メディアプレーヤークライアント202は、オンラインアプリケーション実行の持続時間中、プレゼンテーションサーバ106と(ロートラフィック)二方向接続を確立する。メディアプレーヤークライアント202は、先ずアプリケーション全体をダウンロードするようウエイトする代わりに、それらがリアルタイムで到着するままにインストラクションを実行する。これにより、単純なハンドセット上の、高度なマルチメディアアプリケーションの配信が可能となる。
【００３６】
メディアプレーヤークライアント202はまた、プレゼンテーションサーバ106と、完全なケイパビリティネゴシエーションを実行するので、プレゼンテーションサーバ106の制限およびネットワーク状態が与えられるなら、プレゼンテーションサーバ106は、メディアプレーヤークライアント202に送るデータを、クライアント装置108で最良の予想性能を達成するよう最適化する方法を知ることができる。それはまた、発行者のためのディジタル権利管理機能を提供する、セキュリティ機能を提供する。
【００３７】
プレゼンテーションサーバ
図4に示されるように、プレゼンテーションサーバ106は、ダイナミックメディアコンポジタ(DMC)エンジン402、ストリームトランスポートモジュール404、ケイパビリティネゴシエータ406、および格納マネージャおよびバッファ408を含んでいる。DMCエンジン402は、ジャスト−イン−タイムXMLコンパイラ410、およびDMC 412を含んでいる。プレゼンテーションサーバ106は、4つのインターフェースを有している：トランスポートモジュール404により提供されるメディアプレーヤー接続インターフェース(TCP、UDPまたはHTTP)、少なくともシーンデータベース418へのシーンデスクリプションインターフェース(HTTP/HTTPS)、メディアファイルデータベース420へのソースメディアインターフェース(HTTP)、およびアプリケーションサーバ104への管理インターフェース(HTTP/HTTPS)である。
【００３８】
XMLコンパイラ410は、入力としてバイナリフォーマットであり得るシーンデスクリプション418を受け取り可能であるが、通常は、SMIL、あるいはIAVML、あるいはMHEGなどのXMLベースの言語である。シーンデスクリプション418は、スタティックファイルであり得、あるいはアプリケーションサーバ104によりダイナミックに生成可能である。XMLシーンデスクリプション418は、制御条件(イベント)が所与のプレゼンテーションを満足する場合、その空間的レイアウトおよび時間同期要件、一連のシーン、およびユーザー制御およびメディアプレーヤークライアント202により実行される動作を含む、シーン内の特定メディアオブジェクトを定義する。XMLシーンデスクリプション418はまた、実行時に、プレゼンテーションサーバ106による、イベント通知およびユーザーフォームデータの取り扱い方法を定義する。XMLコンパイラ410は、メディアプレーヤークライアント202のために制御バイトコードへXMLシーンデスクリプション418をコンパイルし、さらに、分類され、および同期されなければならないメディアソースに関するインストラクションを、DMC 412のために生成する。
【００３９】
DMC 412は、参照されたメディアソースのためのコンテンツおよび定義データをフェッチし、制御バイトコードを加え、パケットを形成し、不必要なパケットをドロップし、さらにトランスポートモジュール404によるトランスポートのためにビットストリームとして全データを連続させる、パケットインターリービングマルチプレクサーとして機能する。DMC 412は、メディアプレーヤークライアント202への配線のための、単一の、安全に圧縮されたビットストリーム 110を形成するよう、参照されたメディアソース420からのバイトコードおよび同期されたメディアデータをインターリーブする。メディアソースオブジェクト420は、圧縮バイナリ形式またはXMLとなりえる。後者の場合、アプリケーションサーバ104は、メディアオブジェクトのバイナリ表現を生成し、バッファ408内にそれをキャッシュする。バッファ408は、ソースデータベース420、あるいはアプリケーションサーバ104からアクセスされた、圧縮メディアデータおよび定義データを受取り、およびキャッシュする際には、格納マネージャとして機能する。アプリケーションサーバ104は、プレゼンテーションサーバ106による配信のために、要求に応じて、メディアオブジェクトを、エンコードし、トランスコードし、リサイズし、リファクターし、およびリフォーマットするために使用される。トランスコードは、あるメディアタイプから他のメディアタイプへの、メディア変換に関係してもよい。
【００４０】
メディアプレーヤークライアント202からのバック‐チャンネルユーザーイベントは、DMC 412の制御に使用可能である。特に、DMCエンジン402は、シーンデスクリプションに基づくソースオブジェクトをダイナミックに合成することにより、装置ハードウェア実行プラットフォーム、カレントクライアントソフトウェアケイパビリティ、およびユーザーインタラクションと同様に、プレゼンテーションビットストリーム 110を生成する。プレゼンテーションサーバ106は、確実に最良質のサービスが一貫して配信されるよう、ネットワーク帯域幅、待ち時間、およびエラーレートを絶えずモニタする。トランスポートモジュール404から得られる情報に基づくケイパビリティネゴシエータ406は、ストリーム構成に関してDMC 412に指示することができる。これは、コンテンツ、制御もしくはメディア定義パケットを調整すること、あるいは必要に応じてパケットをドロップすることを伴うことができる。
【００４１】
メディアプレーヤークライアント202がプレゼンテーションビットストリーム 110を表現するケイパビリティを有しない場合は、メディアプレーヤークライアント202にアップロードされるDMC 412により、必要な実行可能モジュール/コンポーネントが、ビットストリーム 110に挿入される。これらのモジュール/コンポーネントは、データベース420に格納されており、以下の3つのものを決定する、ネゴシエーション406のケイパビリティネゴシエーション処理に基づき、メディアプレーヤークライアント202にアップロードされる。
(i) クライアント装置108のハードウェア実行プラットフォーム。
(ii) メディアプレーヤークライアント202のカレントケイパビリティ。
(iii) ターゲットプレゼンテーションをするのに必要なケイパビリティ。
【００４２】
ネゴシエータ406は、このケイパビリティ情報を、必要があればコードパケット308内のメディアプレーヤークライアント202への適切なロード可能ソフトウェアモジュールを選択し、および、配信を指示するために使用する。アップロードコード、および圧縮されたバイナリメディアコンテンツ、および様々な標準XMLコンテンツデスクリプション (HTML2、0、SVG、ミュージック（Music）XML 、NIFFなど)に加えて、プレゼンテーションサーバ106は、データベース418、420、あるいはアプリケーションサーバ104からのミディ（MIDI）、H.263、およびMPEG4を含む、他の様々なネイティブバイナリフォーマットを読み取り可能である。多くの場合、サーバ106は、フォーマットを読み取り、そこに含まれている、メディアプレーヤークライアント202への配信準備ができたバイナリコンテンツデータを、それを処理するためのメディアプレーヤークライアント202にネイティブサポートがある場合は、ビットストリーム 110を変更せずにカプセル化/再パッケージする。
【００４３】
国際特許出願第PCT/AU/00/01296号で説明されるように、DMC 402のコア機能により、個々の基本プレゼンテーションメディアオブジェクトの構成を、メディアプレーヤークライアント202への伝送用に、単一の同期ビットストリームのストリーム110にすることが可能となる。DMC 412は、コンパイラ410、ネゴシエータ406、およびイベントデータ(これはトランスポートモジュール406あるいはネゴシエータ406から直接提供されてもよい)から受け取ったインストラクションに基づき、メディアデータパケット302、メディア定義パケット304、オブジェクト制御パケット306、およびアップロードコードモジュールパケット308を形成する。
【００４４】
DMCエンジン402により、セッション中、データのメディアプレーヤークライアント202へのストリーミング中に、瞬時のユーザー入力、予め定義されたシステムパラメータ、および、ネットワーク、メディアプレーヤークライアント202および/またはクライアント装置108のケイパビリティに基づいて、プレゼンテーションコンテンツを適合させることが可能となる。返されたユーザーフォームデータ、あるいは外部データソースのいずれかからのデータソースに基づき、個々のシーンデスクリプションをダイナミックに適合させるアプリケーションサーバ104と異なり、DMCエンジン402は、イベント(マウスクリックなど)、パラメータに基づくケイパビリティあるいは内部システム(クライアント108およびプレゼンテーションサーバ106) に基づいて適合させる。具体的には、DMC適合は以下を含んでいる。
(i) ケイパビリティ情報をアプリケーションサーバのトランスコード処理へ返すことにより、クライアント装置108のケイパビリティに基づく、コンテンツメディアタイプ、あるいはプレゼンテーションの時間的もしくは空間的品質を調整すること。
(ii) 時間的スケーラビリティあるいは空間的スケーラビリティエンハンスメント情報を含むデータパケットをドロップすることにより、定義された時間間隔でのワイヤレスチャンネルのビットレート要件を変化させるよう、コンテンツを調整すること。
(iii) 定義されたイベントに応答するランタイム中に、個々のメディア入力データストリームを取り替えることにより、プレゼンテーションシーン内の、個々のビデオあるいは他のメディアオブジェクトを挿入し、あるいは取り替え、あるいは削除すること。
(iv) 新規のアプリケーションデスクリプションを検索し、およびコンパイルすることにより、プレゼンテーション内の新規シーンへジャンプし、新規プレゼンテーションにハイパーリンクすること。
(v) アプリケーションデスクリプションで定義されたように、個々のアニメーション、およびオブジェクトパラメータ、またはイベントトリガーを挿入し、取り替え、あるいは削除すること。
(vi) クライアント装置108上でオブジェクトライブラリを管理すること。
【００４５】
シーンデスクリプションは、実行プレゼンテーションに合成されるよう、XMLベースコンテンツ(例えば、テキスト、ベクタグラフィックス、MIDI)、あるいは「バイナリ」オブジェクトデータ(オブジェクト制御の有無に拘らず、いかなるフォームも)を、ダイナミックに要求可能である。XMLコンパイラ410が従来の意味でのコンパイラと見なされることができるのに対して、DMC 412は、実行用データソースと共に、オブジェクトバイトコードをパッケージする、インタラクティブリンカと見なされることが可能である。このリンカは、サーバホスト型アプリケーションの実行全体にわたって増加的に動作し、その動作は、リアルタイムイベントおよびパラメータに基づいている。それはまた、「必要に応じるベース」で、実行可能なコードおよびデータを、実行クライアントに増加的に提供する。これはまた、ディスプレイ全体をアップデートする代わりに、プレゼンテーションサーバ106が、オブジェクトアップデートデータを、同期的あるいは非同期的に実行アプリケーションにプッシュするのを可能にする。
【００４６】
DMCあるいは「リンカ」は、必要に応じて、実行アプリケーションにより、任意の必要なメディアリソースに同期的にアクセスし、これらをアプリケーションコードと一緒に、単一同期ビットストリームに、インタラクティブに、ならびにダイナミックにパッケージする。インタラクティブなパッケージ化は、新規のメディアリソースの断定的およびイベント駆動挿入、およびライブビットストリームからの個々のメディアリソースの除去の交換を含んでいる。
【００４７】
これらのコンテンツオブジェクトの挿入は、無条件のスタティック(固定)要求であってもよく、あるいは、DMCエンジン402内で処理される新規オブジェクトストリーム、もしくはユーザーフォームパラメータを挿入し、/取替える、定義されたオブジェクトの振舞いとして、若干のユーザーインタラクションに基づき、条件付であってもよい。
【００４８】
プレゼンテーションサーバ106は、アプリケーションの一部分がダウンロードされ、残余がストリームされている状態で、ライブストリーミングサーバとして、ダウンロードサーバとして、あるいはハイブリッドモードで動作可能である。この柔軟性を提供するため、プラットフォームは、サービスへの各オリジナル要求を開始するメディアプレーヤークライアント202を伴う、セッションベースである。セッションがいったん確立すると、コンテンツは、メディアプレーヤークライアント202により引かれるか、あるいはメディアプレゼンテーションサーバ106によりプレーヤークライアント202へプッシュされる。
【００４９】
プレゼンテーションサーバ106は、ユーザーあるいはシステムイベントの範囲へリアルタイムで応答するアクティブアプリケーションを生成する、多数の主要でユニークな役割を有している。これらの役割は以下を含む。
(i) アプリケーションにおけるオブジェクトを表示するメディアリソースのダイナミック結合。
(ii) スクリーンへのアップデートをプッシュするよう、オブジェクトへライブデータを送ること。
(iii) ネットワークの待ち時間を削減するよう、メディアプレーヤークライアント202へのコンテンツの、およびアプリケーションバイトコードジャストインタイム配信を管理すること。
(iv) 不要なデータ転送を削減するよう、メディアプレーヤークライアント202のキャッシュおよびバッファを管理すること。
(v) オンスクリーンオブジェクトのランタイム生成および除去。
(vi) オブジェクトの振舞いのランタイム割当および管理。
(vii) シーンレイアウトのランタイム制御。
(viii) ネットワーク帯域幅、ハンドセットのケイパビリティ、あるいはシステム(例えば、位置/時間)パラメータに基づく、メディアプレーヤーへ送られるデータのリアルタイムの適合。
【００５０】
DMCエンジン402のこれらの機能の全ては、アプリケーション実行中に、内部システム、および/または外部データ、および/またはユーザーイベントの組み合わせにより、インタラクティブに制御される。
【００５１】
アプリケーションサーバ
アプリケーションサーバ104は、正しいフォーマットおよび時間系列で、プレゼンテーションサーバ106へのデータ給送をモニタし、コンテンツを提供する。このデータは、XMLアプリケーションデスクリプション、および、任意のスタティックメディアコンテンツ、あるいはライブデータ給送、およびイベント通知を含んでいる。上述のように、アプリケーションサーバ104は、プレゼンテーションサーバ106による配信のための、メディアオブジェクトのコード化、トランスコード化、リサイズ化、再ファクタ化、および再フォーマット化を招く。図5に示すように、アプリケーションサーバ104は、インテリジェントメディアトランスコーダ502、JSPエンジン504、メディアモニタ506、メディアブローカー508、およびSMILトランスレーター510を含んでいる。アプリケーションサーバ104は、商標「J2EE」対応であり、標準HTTPインターフェースを通してプレゼンテーションサーバ106と通信する。商標「Java」 2 プラットフォーム（Platform）、エンタープライズエディション（Enterprise Edition）(商標「J2EE」)は、http://java.sun.com/j2eeで説明されている。
【００５２】
ジャバサーバページ（Java Server Pages）(JSP)やアクティブサーバページ（Active Server Pages）(ASP)などのアプリケーションサーバ104でのダイナミックコンテンツの使用により、データベースサーバ102へそれ自体で作られた、あるいはアプリケーションサーバ104へプレゼンテーションサーバ106により作られた、パラメータ化された機能的アウトコール(データを全く返さない)のメカニズムを通して、プレゼンテーションサーバ106の単純なオブジェクト挿入制御よりも複雑な、ダイナミックプレゼンテーションの生成が可能になる。アプリケーションサーバ104は、これらのコールアウト機能を処理し、それらを用いて、レンダリングされるシーンの配列/選択を制御するか、あるいはプレゼンテーションサーバ106に提供される次のシーンデスクリプションテンプレートの具体化に影響を与えることにより、プレゼンテーションあるいはメディアソースをスタティックに変更する。例えば、シーンデスクリプションテンプレートは、実行中に、個人化、ロール化、時刻、装置特有のパラメータ、あるいはネットワークのケイパビリティにより、カスタマイズ可能である。
【００５３】
アプリケーションサーバ104の主な出力は、(SMIL、LAVML、あるいはMHEGでの) シーンデスクリプション418であり、さらに、アプリケーションサーバ104も、いかなる返されたユーザーフォームデータも処理可能であり、さらに、データベースサーバ102に必要な任意のアウトコール、および/または、予約システム、製品注文、支払いなどを含む電子商取引などのアプリケーションをサポートする、ビジネス、ロジック、あるいはアプリケーションロジックを提供可能な、任意の他のバックエンドシステムを作成可能である。したがって、それは、クライアント装置108から返されるフォーマットの処理を操作するために、ビジネスロジック512にインターフェースする。アプリケーションサーバ104もまた、http://www.w3.org/TR/xsltで説明されているように、任意の生のXMLデータの給送も受諾し、XSLTの処理を通して、これらをプレゼンテーションコンテンツ(例えば、グラフィックスあるいはテキストオブジェクト)に変換するために応答か可能である。
【００５４】
図5に示すように、アプリケーションサーバ104は、インテリジェントメディアトランスコーダ502、JSPエンジン504、メディアモニタ506、メディアブローカー508、およびSMILトランスレーター510を含んでいる。それはまた、クライアント装置108から返されるフォーマットの処理を操作するために、ビジネスロジック512にインターフェースする。アプリケーションサーバ104は、商標「J2EE」対応であり、標準HTTPインターフェースを通してプレゼンテーションサーバ106と通信する。商標「Java」 2 プラットフォーム（Platform）、エンタープライズエディション（Enterprise Edition）(商標「J2EE」)は、http://java.sun.com/j2eeで説明されている。
【００５５】
第三者コンテンツフォーマットと標準の、または、独占のフォーマットとの間のインテリジェントトランスコーディングが許可するメディアブローカー508の制御の下では、クライアント装置108のケイパビリティに従って、既存のメディア資産が明らかに適合する。メディア、ブローカー508はプレゼンテーションサーバ106からのソースメディア要求を扱うエンタープライズジャバビーン（Java Bean）(EJB)である。それは、不要なトランスコーディングを最小にして、処理をユーザーにとって透明にしながらキャッシングを利用して、必要に応じてトランスコーディングの処理を自動化する。トランスコーダ502は、以下のメディアおよびデータフォーマットをサポートするEJBである：グラフィックス(SVG、Flash)、音楽(MIDI、MusicXML)、画像(JPEG、PNG、GIF、BMP)、テキスト/フォーム(xHTML、ASCII、HTML)、ビデオ(AVI、H263、MPEG)、オーディオ(WAV、G.721、G.723、AMR MP3)、および代替シーンデスクリプション(SMIL、XMT)。
【００５６】
メディアモニタ506は、ライブデータ給送514などの非同期変化メディアソースを取り扱う。それは、ソースメディア内の変化をプレゼンテーションサーバ106に通知し、それにより、ソースメディアをリロードし、メディアプレーヤー202に表示されたコンテンツをアップデートするか、あるいは、代替的に、プレゼンテーション内の異なるシーンにジャンプする。
【００５７】
メディアオブジェクトおよびビットストリーム
メディアオブジェクトは、ユニークなタグにより全て特定される、1組のメディアデータパケット、メディア定義パケット、および制御パケットによって定義可能である。
【００５８】
プレゼンテーション構造では、各メディアデータパケットは、時間内に特定の離散的ポイントに対するメディアオブジェクト要素の例を定義するのに必要なデータの全てを含んでいる。本質的には、パケットは、時間内に、オブジェクト要素の単一サンプルをカプセル化する。オブジェクト制御パケットは、同様に、時間内に離散的な実現値でオブジェクトを動作させ、オブジェクトストリーム内に正しい時間系列で現れる、制御信号をカプセル化する。これは、タイルイメージデータパケット以外の全メディアオブジェクトに対して真である。以下に説明されるタイル画像で、メディアデータパケットは、主として、スペース内の特定領域(実現値)に対して、オブジェクトの実現値を定義するのに必要な全データを保管している。タイル画像オブジェクトは、時間内に全体としてローカライズされるが、各パケットは、主としてスペース内にローカライズされる。タイルイメージデータパケットのセマンティクス内のこの相違は、主として時間内ではなくスペース内にローカライズされ、個々の画像のタイル位置に具体的にマッピングされるのと同じく、オブジェクト制御パケットへ達する。したがって、タイル画像制御パケットは、フォーマット内の時間系列ではなく空間系列で起こり、タイルイメージデータパケットに続き、データパケットに関連するゼロ以上の制御パケットが続く。
【００５９】
定義パケットは、メディア特定コーデックビットストリームの構造および解釈を定義する。メディアデータパケットは、圧縮メディア要素形式で、コンテンツをカプセル化する。
【００６０】
オブジェクト制御パケットは、レンダリング、データ変換、ナビゲーション、およびプレゼンテーション構造にわたる制御を可能にする、コンテンツファイルエンティティ上で実行される機能あるいは動作を運ぶ。
【００６１】
メディアデータエンティティは、スタティックであり、動画的であり、時間につれて発展する。スタティックな場合は、単一の、不変な実現値から成っており、さらに、多くの場合周期的な方法で、ストリーミングは連続しているが、動的で非決定的な発展である、代替手段の離散的な組からの決定的変化を提供する動画の部分集合である。動画あるいは発展の場合のアップデートは、時間動機性、あるいは何らかの非同期アップデートイベントにより惹起され得る。これら3つの特性は、メディアコンテンツに適用されるのみならず、プレゼンテーション内の構造および制御にも適用される。コンテンツに関するこれらの特性の例は、表1に示されている。
【００６２】
【表１】
2005513621.tif 000003
プレゼンテーションコンテンツのための、スタティック、動画、および発展データに対するサポートは、メディア要素を取り扱うDMPSシステム要件により提供される。
(a) スタティックメディアは、ステートレスであり、レンダリングのために一度にクライアントに配信される要素を定義する全データを必要とする。スタティックメディアは、1つの定義および1つのデータパケットを必要とする。このメディアタイプは、クライアントによるイベントベース(ランダム)アクセスを必要とする。時間およびイベント駆動アップデートは双方とも同じである。
(b) ストリーミングメディアは、その新規実現値を作成するために、要素の状態を動的にアップデートする、新規の増加データを必要とし、これは、それが更新されなければならなくなる前の時間中有効である。カレント実現値の状態のみ、格納される必要がある。それは、単一定義パケットを要するが、クライアントにより連続アクセスされ、処理される、未定義数のデータ「アップデート」パケットも必要とする。時間およびイベント駆動アップデートの双方は本質的には同じである。
(c) 動画メディアは、所与のメディア要素上の、アップデートの離散的組の実行に基づいている。原子論的に定義されたメディアに対して、これらのアップデートは、通常、新規実現値全体を作成するよりむしろ1つ以上の原子を変更する。アップデートは、要素がその原状を回復し、処理が回復された後に、所定の順序で実行されてもよい。時間ベースのアップデートの場合、シーケンスは、常にコンスタント(例えば、スプライト)であるが、イベントベースのアップデートでは、シーケンスは、通常ランダムである。ランダムおよびシーケンシャルアクセスは、双方とも動画に必要である。メモリが許すなら、不要なデコードを削減し、トランスポートするために、定義パケットおよび定数の解読されたデータパケットがクライアントに格納される。イベント駆動メディア動画を用いて、これをサポートする最も簡単な方法は、1組のストリームからの単一オブジェクト上のオブジェクト取り替え制御を通すことである。
【００６３】
プレゼンテーション構造のために、シーンのスタティック、動画、および発展的変更をサポートする必要性は、定義およびオブジェクト制御パケットを通してサポートされる。
(a) スタティック構造−これは、使用した1つのシーン定義および固定オブジェクト定義のみを必要とする。
(b) ストリーミング構造−これは、各シーンが自己充足的でなければならないので、主としてシーンを全新規実現値に取り替えることにより達成可能である。増加発展を提供する代替機構は、オブジェクト制御機構を用いて、所与のシーン内のオブジェクトを動的に作成および削除する。これは、任意のオブジェクト取替え動作の目標として役立つ、空オブジェクトテンプレートを用いて達成される。
(c) 動画構造−これは、ストリーミングより強制的であり、潜在的オブジェクトグルーピングなどの、限られた組の一過性構造変更を生成するよう、オブジェクトを制御することでサポートされる。例えば、あるオブジェクト上のイベントは、様々な他のオブジェクトの動作を引き起こす場合があり、単一動作が、直ちに複数オブジェクトに適用される。
【００６４】
プレゼンテーション制御のために、機能のスタティック、および動画、および発展的変更をサポートする必要性は、オブジェクト制御パケットを通してサポートされる。
(a) スタティック制御−これは、通常、初期オブジェクト制御が存在することを要する。
(b) ストリーミング制御−これは、通常、既存のものと取替える新規オブジェクト制御が利用可能であることを要する。
(c) 動画制御−これは、限られた組の、多くの場合周期的制御を提供する。これらは、オブジェクト定義への動画拡張を通して、事前の定義およびサポートが可能である。
【００６５】
マルチユーザーサポート
共同作業環境、あるいはマルチユーザーゲームなどの、マルチユーザーアプリケーションを発行子、および配信する場合、DMPSは本質的に、アプリケーションサーバがアプリケーションロジックをホスティングしている間に、プレゼンテーションサーバおよびメディアプレーヤーが、一緒にプレゼンテーションロジックおよびユーザーインターフェースを実行する、単一ユーザーアプリケーションの場合と同様の方法で作動する。一般に、マルチプレーヤーゲームなど、典型的なインタラクティブマルチユーザーアプリケーションの有する柔軟性および機能性要件に起因して、これらは通常、高度にカスタマイズされたモノリシックなアプリケーションのように構築される。ユーザーインターフェースおよびプレゼンテーションロジックのコンポーネントがプレゼンテーションサーバ内に既に存在しており、メディアプレーヤーおよびアプリケーションサーバは、各ユーザーにアプリケーションディスプレイデータの正しい「視点」と、時間内に各実現値で利用可能な機能性を提供するだけでよいので、DMPSにより、マルチユーザーアプリケーションは、より少ない労力で構成可能となる。プレゼンテーションサーバはまた、共有されたアプリケーションデータの変更に使用される、各ユーザーからのそれぞれのイベントをアプリケーションサーバに戻す。これは、ケイパビリティネゴシエーションの一部として、各メディアプレーヤーは、ユーザーIDを使用することで、プレゼンテーションサーバに、それ自身を一意的に特定するので、可能であり、さらに、これは、共有されたデータの視点を要求し、イベントをアプリケーションサーバに渡す際に、アプリケーションサーバに渡される。
【００６６】
ダウンロードアプリケーション
ダウンロードされたアプリケーションの場合、オンラインアプリケーションとの本質的相違は、DMC 412がバッチモードでランし、アプリケーションの実行が開始される以前に、アプリケーションがメディアプレーヤーに完全にダウンロードされていなければならないことである。これ以外の処理は、オンラインアプリケーションと本質的に同一である。クライアントが、アプリケーションのダウンロードを要求する際、メディアプレーヤーは、そのケイパビリティを、プレゼンテーションおよびパブリッシングサーバに提供する。発行サーバは、特定のハンドセットのために、必要に応じてメディアをトランスコードし、および再フォーマットし、これをオブジェクト制御でパッケージするプレゼンテーションサーバに提供し、プレゼンテーションサーバは、アプリケーション全体を処理し、1台以上の装置への配信のために発生した出力ビットストリームを任意にキャッシュする。
【００６７】
ハイブリッドアプリケーションの場合は、2ステージ作成処理が必要である。第1に、アプリケーションの「スタティック」部分は、第三者配布機構経由でアプリケーションにダウンロードするよう作成され、そして、「動的」あるいはオンラインアプリケーションが作成される。
【００６８】
アプリケーションのスタティックダウンロード部分は、主に、システムオブジェクトライブラリへのプレロードのための、1つ以上の補助シーンおよびオブジェクトの任意の組を備えた、スタートシーンから成っている。アプリケーションのこの部分 (スタティックダウンロード部分)は、少なくとも以下を含む。
(i) アプリケーションのホストサーバ上のURIへジャンプする、自動あるいはイベントトリガーシーンを伴う始動シーン。
(ii) 任意のライブラリプレロードシーン。
(iii) アプリケーションを特定する、セネデフン（Scenedefn）パケット内の有効なユニークアプアイディー（uniqueAppID）。
(iv) アプリケーションを特定する、セネデフン（Scenedefn）パケットのバージョン番号。
【００６９】
JumpURIコマンドがクライアント上で実行されると、少なくともユニークアプアイディー（uniqueAppID）から成るターゲットプレゼンテーションサーバに、リファラデータが渡される。これにより、プレゼンテーションサーバは、プレロードされたどのリソースが、クライアントオブジェクトライブラリ上で利用可能であるかを知ることができる。
【００７０】
タイル画像サポート
DMPSは、最小の伝送オーバーヘッドでの、スムーズパンおよびズーム、およびテレビゲームサポートなどの、高度な機能を可能にする、タイル画像サポートを提供する。図6に示されるように、これは、各タイルを別々に管理可能なタイル表現604を提供するよう、プレゼンテーションサーバ106で参照ピクチャサイズを超えるソースピクチャを、小さな長方形602に分割することにより達成される。画像全体では、クライアント装置108のディスプレイサイズをかなり超えることができるが、随時目視可能なタイルだけは、プレゼンテーションサーバ106により、メディアプレーヤークライアント202へ配信され、レンダリングされなければならない。これにより、クライアント装置108とプレゼンテーションサーバ106との間の不要なデータ伝送が排除される。このケイパビリティの特定の特徴は、以下を含む。
(i) 垂直、水平、および対角線方向へのパンあるいはスクロール。
(ii) 解像度のみならず、複数レベルの情報を提供するズーム。これは、タイルデータを、１つより多い方向の解像度の異なるレイヤをサポートする、空間スケーラブルフォーマット内に提供することにより達成される。タイルデータは、異なる解像度のレイヤに対する異なるタイルを含み、空間スケーラブルフォーマットをサポートするコーデックにより生成される。
(iii) データが受け取られると画像が表示され、次第に画像解像度を増加させる、プログレッシブディスプレイアップデートと(コーデックによりサポートされる)。
(iv) システムがクライアント装置で様々なスクリーン解像度の動作可能である、空間スケーラビリティ。異なるサイズのスクリーン上(コーデックによりサポートされる)で、同一視点が指定可能である。
【００７１】
クライアント装置108により、受け取ったタイルデータから、より大きな画像が生成可能なタイルデータも提供される。例えば、テレビゲーム内で、少数のタイルを用いて、より大きなシーン画像を生成することが可能である。
【００７２】
これらの画像ケイパビリティにより、DMPSは、ユーザー要件および装置属性(特に画面サイズ)により指示されたように、データ提供を最適化させることができる。カレントディスプレイが必要とするちょうどのデータ量を受け取るだけで、ユーザーは、必要に応じてズームインおよびズームアウトし、大きな画像全体をナビゲート可能となる。これにより、応答時間およびデータ伝送コストの双方が削減される。加えて、データ受け取りの際に、メディアプレーヤークライアント202がそのデータで表示をアップデートすることにより、ユーザーは、スクリーンのための全データを受け取る以前に選択/選別が可能となり、さらに応答時間およびコストが削減される。
【００７３】
この機能を提供するために、イメージデータは、プレゼンテーションサーバ106に、1組のタイル602として、様々なレベル606のデテール/解像度で格納される。この粒状格納により、関連データコンポーネントは、ズームあるいはパンすることにより、画像を通してユーザーがナビゲートするままに、必要に応じて、メディアプレーヤークライアント202へ送致可能となる。これはまた、ゲームアプリケーションのための、背景スクロールを提供するのに使用可能である。画像タイルと共に格納されるディレクトリパケットは、画像内の各タイルとその座標位置との間のマッピングを定義する。また、これにより画像内の複数の位置に、単一画像タイルをマッピング可能となり、特定のオブジェクト制御/イベントトリガーが、ゲームをサポートする各タイルに関連付けられることが可能となる。
【００７４】
メディアオブジェクト制御
プレゼンテーション内の各メディアオブジェクトは、シーンベースの制御および画像タイル制御に加え、それに関連付けられた1つ以上の制御を有することができる。オブジェクト制御は、オブジェクトに対する1つ以上の処理機能のアプリケーションを定義する、1組のバイトコードとしての条件および動作を含んでいる。制御動作は、全てパラメータ化されている。パラメータは、明らかに制御自体の内部に提供可能か、もしくは特定ユーザーレジスタからロード可能である。各制御は、クライアントソフトウェアによる制御動作実行に仲介する（mediate）、それに割当てられる1つ以上の状態を有することができる。1つのオブジェクトに関連付けられる条件は、それ自身のみならず、他のオブジェクトの動作の実行にも使用される。表2は、適用し得る可能な条件を提供する。
【００７５】
【表２】
2005513621.tif 000004
表3は、満たされたコンディションに応答して、実行し得る動作範囲を提供する。
【００７６】
【表３】
2005513621.tif 000005
【００７７】
ケイパビリティネゴシエーション
メディアプレーヤークライアント202とプレゼンテーションサーバ106との間のは、ネゴシエータ406により制御されるケイパビリティネゴシエーション、いかなる特定のデータがメディアプレーヤークライアント202へ配信されるかのミクロ制御を可能にする。この処理は、データあるいはコンテンツ仲裁と呼ばれており、具体的に言えば、以下のためにクライアント装置108のケイパビリティをプレゼンテーションサーバ106で使用するものである。
(i) クライアント装置108上で最適の視覚体験を提供するよう、パケットドロッピング(一過性スケーラビリティ)、および解像度ドロッピング(空間スケーラビリティ)を含む、プレゼンテーションを修正する。
(ii) いかなるプレゼンテーションを送るべきか、もしくは特定のメディアタイプをサポートしない装置にいかなるメディアをドロップすればよいかを決定する。
(iii) クライアント装置108に、適切なソフトウェアコンポーネントをアップデートし、あるいはインストールする。アップロードコンポーネントは、DMC 412により、他のメディアソースとして扱われる。
【００７８】
データ仲裁の第1の例では、メディアプレーヤークライアント202に送られたデータは、クライアント装置108の既存のケイパビリティ(例えば、処理パワー、ネットワーク帯域幅、ディスプレイ解像度など)およびワイヤレスネットワークの既存ケイパビリティに適合するよう合わせられる。これらの特性は、クライアント装置108のデータ受信および処理能力に応じて、どのくらいの量のデータをクライアント装置108に送るかの決定に用いられる。
【００７９】
データ仲裁の第2の例は、特定ケイパビリティのための、クライアント装置108内のサポートに依存する。例えば、ハードウェアビデオコーデックをサポートするクライアント装置がある一方で、なんらのオーディオサポートも有しない装置もある。これらのケイパビリティは、クライアント装置のハードウェア、およびクライアント装置にインストールされているソフトウェアモジュールの双方に依存する。また、これらのケイパビリティは、プレー性を確保するよう、各プレゼンテーションに格納されたコンテンツプロフィールを有効にするのに使用される。具体的には、プロフィールは、以下の基本的ケイパビリティを定義している。
(i) ソフトウェアアップデートのインストール。
(ii) ディジタル権利保護。
(iii) インタラクション−マルチオブジェクトを含む。
(iv) オーディオサポート。
(v) 音楽サポート。
(vi) テキストサポート。
(vii) ビデオサポート。
(viii) 画像サポート。
【００８０】
加えて、DMPSは、以下の表4内に提供されているように、様々なレベルの必要な機能性を提供する、高レベルで、インタラクティブメディアケイパビリティのプレー定義レベルをサポートする。これらは、アプリケーションがサポートされているか否かを決定するため、メディアプレーヤークライアント202のケイパビリティと比較される。また、より詳細な、より低いレベルがサポートされている。
【００８１】
コンテンツ適合/仲裁は、以下の機構を通して、プレゼンテーションを修正する。
(a) どの特定のパケット (一過性あるいは空間スケーラビリティを提供するパケット)を、例えば、プレゼンテーションの任意の瞬間に送致し/ドロップするかについての、オートマティックプレゼンテーションサーバー（Automatic Presentation Server） DMC制御。
(b) 対象装置に基づき必要に応じて、ソースメディアのトランスコードよび適合(例えば、リスケーリング)を行うオートマチックパブリッシング（Automatic Publishing）サーバ。
【００８２】
ケイパビリティネゴシエーション処理は以下を決定する。
(a) 何がクライアントのハードウェア実行プラットフォームか(例えば、スクリーンサイズ、CPU、メモリなど)。
(b) カレントクライアントソフトウェアケイパビリティは何か(例えば、プレーヤーバージョン、コーデック、など)。
(c) プロフィールにより定義されたように、ターゲットコンテンツをプレーするには、どのようなケイパビリティが必要か。
(d) また、セッション中の任意の瞬間での、ネットワークQoS。
【００８３】
DMPSは、以下の処理を実行する。
(i) コンフィグデフン（ConfigDefn）パケットは、セッション開始時に、クライアントからプレゼンテーションサーバへ送られる。
(ii) コンフィグデフン（ConfigDefn）パケット内の情報に依存して、プレゼンテーションサーバは、このパケットで供給されない追加情報を抽出するよう、装置データベースに質問することを選択してもよい。代替的に、プレゼンテーションサーバは、装置構成データベースの情報をアップデートすることを選択してもよい。
(iii) コンフィグデフン（ConfigDefn）パケット内の情報に依存して、プレゼンテーションサーバは、特定のコーデック、あるいは他のコンポーネントサポートの存在を確認するよう、装置にさらに質問することを選択してもよい。
(iv) プレゼンテーションサーバは、チャンネル帯域幅を評価する。
(v) プレゼンテーションサーバは、アプリケーションサーバへ選択された装置コンフィグパラメータを通過させることにより、示されたプレゼンテーション(シーン＋ソースメディア記述子)を要求する。
(vi) JSPは、コンフィグパラメータに従い、SMIL/IAVMLの処理に使用可能である。
(vii) メディアデータを要求する際に、プレゼンテーションサーバは、アプリケーションサーバトランスコーダに、完全な上質基本メディア圧縮データファイルを生成し、さらに、キャッシュするためにそれらをプレゼンテーションサーバに配信するよう、適切に指示する(コーデック、フォーマット、など)。特定のメディアタイプサポートなどのコンフィグパラメータが満たされない場合は、アクセス拒否メッセージが返される場合もある。
(viii) 装置に、特定の圧縮メディアデータ(ビデオ、あるいはオーディオ)を表現する十分な処理速度がなく、さらにアプリケーションサーバがより軽量な圧縮方法を提供できなかった場合は、その装置はそのメディアタイプをサポート不能であると考えられる。
(ix) プレゼンテーションは、生成された圧縮メディアデータを読み込み、装置ケイパビリティを満たし、QoSの規制を変化させるために、プレゼンテーション中に選択されたパケットをダイナミックにドロップする。
【００８４】
アプリケーションサーバは、以下の処理を実行する。
(i) JSPエンジン/SMILは、以下をチェックすることにより、プレゼンテーションがアクセスされるか否かを決定する。
a. メディアタイプサポートケイパビリティ(例えば、ビデオなどが不可欠)
b. 特定の装置(例えば、PDA対ハンドセット、BREW対J2ME)
c. 特定のネットワーク帯域幅(任意のターゲットプレゼンテーション帯域幅に対して)
(ii) 装置ケイパビリティに基づき、メディアをコード化する、以下を含むトランスコーダ。
a. 装置ディスプレイおよびプレゼンテーションスケーリングモードの双方に基づく画面サイズ
b. SkyMIPS装置定格、およびコーデック性能要件に基づくCPU速度、例えば、
i. H.263ビデオコーデックを用いる200MIPSを備えた装置上のビデオに対して
ii. ASGビデオコーデックを用いる20MIPSを備えた装置上のビデオに対して
iii. VLPビデオコーデックを用いる1MIPSを備えた装置上のオーディオに対して
iv. ACCオーディオコーデックを用いる200MIPSを備えた装置上のオーディオに対して
v. IMAオーディオコーデックを用いる20MIPSを備えた装置上のオーディオに対して
c. チャンネルビットレート：ターゲットビットビットレート制限を達成するため、コーデック上で上質設定を調整する
d. プラットフォーム制限、例えば、
i. MIDP 1.0プラットフォームのために、全テキストデータおよび画像をPNGビットマップへトランスコードする。
ii. ハードウェアコーデックを備えたプラットフォームのために、必要なら、データをバイナリーファイルへカプセル化(再パッケージ)するか、あるいはサポートされたコーデックへトランスコードするかのいずれかである。
【００８５】
プレゼンテーションサーバのDMC 412は、以下の処理を実行する。
1. パケット損失エラーが起こると自動的に以下のパケットタイプを再送する：Any-Defn、ObjCtrl、VideoKey、ImageKey、ImageDat、TextDat、GrafDat、MusicDat(VideoKeyおよびImageKeyはメディアデータパケットである)。以下のものは再送されない。VideoDat、およびその派生物、あるいはAudioDat。
2. ビデオパケット損失がある場合、エラーを補修するために次に利用可能なVideoExtn(データ)パケットを送り、さもなければ、次のVideoKeyパケットまでプレゼンテーションを一時停止する。
3. 任意の瞬間に、プレゼンテーションデータレート＞有効なチャンネルビットレートである場合、以下の順序でビデオパケットをドロップする。第1に、全てのVideoTrp(データ)パケットをドロップし、続いて全てのVideoDatパケット、そして最終的にAudioDatをドロップする。Videodatあるいはaudiodatパケットが、現在時間である場合、同期が保存され、プレゼンテーションは最小再バッファリングの間、一時停止する。
4. 装置がMusicDatあるいはAudioDatをサポートしていない場合、プレゼンテーション内に存在する全ての音楽およびオーディオパケットが捨てられる。
【００８６】
【表４】
2005513621.tif 000006
【００８７】
最も単純なインプリメンテーション(レベル0のAudioVideo)は、メディアの単一実現値を伴う受動視覚体験を提供し、いかなるインタラクティビティも提供しない。これは、ユーザーを、通常のビデオあるいはオーディオを再生し、一時停止し、および停止することに制限する、古典的なメディアプレーヤーである。StillActiveおよびVideoActiveレベルは、クリックを通した振る舞いに対して、ホット領域の定義を可能にすることにより、受動的メディアにインタラクションのサポートを追加する。これは、制限されたオブジェクト制御機能性を備えた、ベクトルグラフィックオブジェクトを作成することにより提供される。したがって、システムは、ユーザーにとりそう映るかも知れないが、文字通りの単一オブジェクトシステムではない。透明に見える主なメディアオブジェクトは別として、クリック可能ベクトルグラフィックオブジェクトは、オブジェクトが可能にする、他のタイプのみである。これにより、単純なインタラクティブ体験が、非線形ナビゲーションなどのように作成可能となる。最終的なインプリメンテーションレベル(レベル5、Interactive)は、動画、条件付きイベントなどを含む、マルチオブジェクト、およびフルオブジェクト制御機能性の無制限な使用を定義しており、コンポーネントの全てのインプリメンテーションを必要とする。
【００８８】
データ仲裁の第3の例は、ケイパビリティネゴシエーションを含んでいる。これは、プレーヤークライアント202内のカレントソフトウェアケイパビリティは何かを判定し、さらにメディアプレーヤークライアント202のケイパビリティをアップグレードさせる新規機能モジュールをインストールすることを備えている。この機能は、新規機能モジュールを加えたり、あるいは、古いものをアップデートすることでそのケイパビリティを高めるために、メディアプレーヤークライアント202により自動的にインストールされなければならない、実行可能コードを表すデータを、メディアプレーヤークライアント202に送る、プレゼンテーションサーバ106を伴っている。
【００８９】
添付図面を参照して本願明細書内に説明されているように、当業者に、多くの変更形態は、本発明の範囲から逸脱しないことが明らかであろう。例えば、プレゼンテーションサーバ104は、アプリケーションサーバ106の機能性およびコンポーネントの全てを組み込んでいてもよい。
【図面の簡単な説明】
【００９０】
【図１】ダイナミックマルチメディアパブリッシングシステム(DMPS)の好ましい実施例のブロック図である。
【図２】DMPSのメディアプレーヤークライアントのブロック図である。
【図３】メディアプレーヤークライアントのクライアントエンジンへの、および、クライアントエンジンからの、データフローを示すブロック図である。
【図４】DMPSのプレゼンテーションサーバのブロック図である。
【図５】DMPSのアプリケーションサーバのブロック図である。
【図６】DMPSのタイル画像機能を示す概略図である。
【符号の説明】
【００９１】
１０２  データベースサーバ、１０４  アプリケーションサーバ、１０６  プレゼンテーションサーバ、１０８  ワイヤレスクライアント装置、１１０  ビットストリーム、２０２  メディアプレーヤークライアント、２０４  オブジェクトライブラリ、２０６  オペレーティングシステム、２０８  クライアントエンジン、３０２  圧縮メディアデータパケット、３０４  メディア定義パケット、３０６  オブジェクト制御パケット、３０８  アップロード実行可能コードモジュールパケット、３１０  フレームビットマップ、３１２  ディスプレイバッファ。
【図１】
2005513621.tif 000007
【図２】
2005513621.tif 000008
【図３】
2005513621.tif 000009
【図４】
2005513621.tif 000010
【図５】
2005513621.tif 000011
【図６】
2005513621.tif 000012
【国際調査報告】
2005513621.tif 000013
2005513621.tif 000014
2005513621.tif 000015