(57)【要約】【課題】【解決手段】埋込式プロセッサ（３０４）を有したポータブルデバイス内に、マルチメディアコンテンツ（２０８）をレンダするマルチメディアシステム。ポータブルデバイスは、１つ又は複数のレンダリングリソースを含む。マルチメディアコンテンツ（２０８）に基づいてマルチメディアオブジェクト（３１８）を生成し、マルチメディアオブジェクト（３１８）にフォーマットハンドラを関連付け、選択されたレンダリングリソースをフォーマットハンドラを用いて制御し、マルチメディアオブジェクト（３１８）からマルチメディアコンテンツ（２０８）をレンダする動作を実行する方法が提供される。
2005528849.tif 000002
【特許請求の範囲】
【請求項１】
埋込式プロセッサを有し、１つ又は複数のレンダリングリソースを備えたポータブルデバイス内にマルチメディアコンテンツをレンダする方法であって、前記方法は、
前記マルチメディアコンテンツに基づいてマルチメディアオブジェクトを生成することと、
前記マルチメディアオブジェクトにフォーマットハンドラを関連付けることと、
選択されたレンダリングリソースを前記フォーマットハンドラを用いて制御し、前記マルチメディアオブジェクトから前記マルチメディアコンテンツをレンダすることとを備える。
【請求項２】
請求項１に記載の方法において、更に、前記マルチメディアコンテンツに基づいてマルチメディアデータ構造を生成することを備える。
【請求項３】
請求項１に記載の方法において、前記制御することは、
前記選択されたレンダリングリソースを制御するために前記フォーマットハンドラ内に状態機器を実装することと、
前記状態機器を用いて前記フォーマットハンドラ内に前記マルチメディアコンテンツをレンダすることとを備える。
【請求項４】
埋込式プロセッサを有し、１つ又は複数のレンダリングリソースを備えたポータブルデバイス内にマルチメディアコンテンツをレンダするマルチメディアシステムであって、前記マルチメディアシステムは、
前記マルチメディアコンテンツに基づいてマルチメディアオブジェクトを生成するように動作する生成メディアロジックと、
前記マルチメディアオブジェクトにフォーマットハンドラを関連付けるように動作する選択ロジックと、
選択されたレンダリングリソースを制御し、前記マルチメディアオブジェクトから前記マルチメディアコンテンツをレンダするように動作するフォーマットハンドリングロジックとを備える。
【請求項５】
請求項４に記載の装置において、更に、前記マルチメディアコンテンツに基づいてマルチメディアデータ構造を生成するためのデータ構造ロジックを備える。
【請求項６】
請求項５に記載の装置において、更に、前記フォーマットハンドリングロジックは、
前記フォーマットハンドラ内に状態機器を実装し、前記選択されたレンダリングリソースを制御するロジックと、
前記状態機器を用いて前記フォーマットハンドラ内に前記マルチメディアコンテンツをレンダするためのロジックとを備える。
【請求項７】
埋込式プロセッサを有し、１つ又は複数のレンダリングリソースを備えたポータブルデバイス内にマルチメディアコンテンツをレンダするためのコンピュータ実行可能な命令を含むコンピュータ読み取り可能媒体であって、前記命令は実行された場合に、
前記マルチメディアコンテンツに基づいてマルチメディアオブジェクトを生成することと、
前記マルチメディアオブジェクトにフォーマットハンドラを関連付けることと、
選択されたレンダリングリソースを前記フォーマットハンドラを用いて制御し、前記マルチメディアオブジェクトから前記マルチメディアコンテンツをレンダすることとを備えた方法を実行する。
【請求項８】
請求項７に記載の方法において、更に、前記マルチメディアコンテンツに基づいてマルチメディアデータ構造を生成することを備える。
【請求項９】
請求項７に記載の方法において、前記制御することは、
前記フォーマットハンドラ内に状態機器を実装し、前記選択されたレンダリングリソースを制御することと、
前記状態機器を用いて前記フォーマットハンドラ内に前記マルチメディアコンテンツをレンダすることとを備える。
【請求項１０】
埋込式プロセッサを有し、１つ又は複数のレンダリングリソースを備えたポータブルデバイス内にマルチメディアコンテンツをレンダするマルチメディアシステムであって、前記マルチメディアシステムは、
前記マルチメディアコンテンツに基づいてマルチメディアオブジェクトを生成する手段と、
前記マルチメディアオブジェクトにフォーマットハンドラを関連付ける手段と、
選択されたレンダリングリソースを前記フォーマットハンドラを用いて制御し、前記マルチメディアオブジェクトから前記マルチメディアコンテンツをレンダする手段とを備える。
【請求項１１】
請求項１０に記載の装置において、前記マルチメディアコンテンツに基づいてマルチメディアデータ構造を生成する手段を更に備える。
【請求項１２】
請求項１０に記載の装置において、
前記選択されたレンダリングリソースを制御する手段は、
前記フォーマットハンドラ内に状態機器を実装し、前記選択されたレンダリングリソースを制御する手段と、
前記状態機器を用いて前記フォーマットハンドラ内に前記マルチメディアコンテンツをレンダする手段とを備える。
【請求項１３】
埋込式プロセッサを有し、１つ又は複数のレンダリングリソースを備えたポータブルデバイス内にマルチメディアコンテンツをレンダするマルチメディアシステムであって、前記マルチメディアシステムは、
前記ポータブルデバイス内の１つ又は複数のレンダリングリソースを制御するように動作する１つ又は複数のフォーマットハンドラと、
前記マルチメディアコンテンツからマルチメディアオブジェクトを生成し、選択されたフォーマットハンドラを前記マルチメディアオブジェクトに関連付けるように動作する生成ユーティリティとを備え、
前記選択されたフォーマットハンドラは、前記マルチメディアオブジェクトから前記マルチメディアコンテンツをレンダする。
【請求項１４】
埋込式プロセッサを有し、１つ又は複数のレンダリングリソースを備えたポータブルデバイス内にマルチメディアコンテンツをレンダする方法であって、前記方法は、
メディアコンストラクトを用いて前記マルチメディアコンテンツを符号化することと、
前記マルチメディアコンテンツを前記ポータブルデバイスに送信することと、
前記メディアコンストラクトに基づいてマルチメディアオブジェクトを生成することと、
前記マルチメディアオブジェクトにフォーマットハンドラを関連付けることと、
選択されたレンダリングリソースを前記フォーマットハンドラを用いて制御し、前記マルチメディアオブジェクトから前記マルチメディアコンテンツをレンダすることとを備える。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、マルチメディア処理に関し、更に詳しくは、埋込式コントローラを有するポータブルデバイスにおけるマルチメディアレンダリングのためのシステムに関する。
【背景技術】
【０００２】
技術の進歩は、より小型で、より強力なパーソナルコンピュータ装置をもたらした。例えば、現在は、様々な種類のポータブル携帯電話、ＰＤＡ、及びページング装置が存在する。これらは、小型で、軽量であり、ユーザによって容易に持ち運ばれる。一般に、これらのデバイスは、制限されたメモリリソースを備えた埋込式コントローラを含んでいる。例えば、利用可能なメモリの量は、デバイスの小さなサイズによって制限される。
【０００３】
しかしながら、これらデバイスにとって、より多くの量のデータを取り扱ったり、より洗練されたプログラムを実行することに対する必要性が増大している。例えば、ユーザは、ポータブルデバイスに対して、マルチメディアアプリケーション及びコンテンツの高速で効率的なレンダリングを実現することを要求するゲームプログラムのような対話型プログラムへのリモートアクセスを必要としている。例えば、ユーザは、自分たちのポータブルデバイスを、ビデオクリップ、アニメーション、映画、及び例えばＭＰ３フォーマットで提供された音楽コンテンツのようなオーディオ等のマルチメディアコンテンツを見たり聞いたりするために使用したいと思っている。
【０００４】
マルチメディアコンテンツを、ポータブルデバイス上にレンダするために、デバイスのレンダリングリソースを制御する必要がある。例えば、１つのタイプのポータブルデバイスは、小型の低解像度ディスプレイスクリーン又はオーディオスピーカを含み、別のタイプのポータブルデバイスは、大型の高解像度ディスプレイ及び２スピーカステレオ機能を含みうる。従って、ポータブルデバイスの各タイプは、マルチメディアコンテンツをレンダするためのそれぞれ異なったマルチメディアレンダリングリソースを持ちうる。従って、様々な構成とレンダリングリソースを有する様々なポータブルデバイス上での使用のためにマルチメディアコンテンツを提供する場合、互換性問題が克服されねばならない。
【０００５】
互換性問題を克服するために使用される１つの技術では、マルチメディアコンテンツが、ポータブルデバイス上で利用可能なレンダリングリソースと特別な互換性を持つフォーマットであることを必要とする。
【０００６】
例えば、もしもコンテンツ開発者が、具体的なポータブルデバイス上での使用のためにビデオコンテンツの作成を望むのであれば、この開発者は、このポータブルデバイス上で利用可能なビデオレンダリングリソースと正確に互換性を持つように、ビデオコンテンツを仕立てる。
【０００７】
あいにく、コンテンツがレンダされるよう各ポータブルデバイス毎に仕立てられるマルチメディアコンテンツを作成するのは高価であり、非効率的である。例えば、コンテンツ開発者は、異なるポータブルデバイスのために、コンテンツを修正し、これによって、同じコンテンツの複数のバージョンを作成する必要があろう。また、コンテンツ開発者は、新たなレンダリングリソースが利用可能になると、そのコンテンツをコンスタントに更新しなければならないであろう。
【０００８】
従って、必要とされるものは、各デバイス上で利用可能な異なるレンダリングリソースに適応させるためにコンテンツを仕立てる必要なく、マルチメディアを様々なポータブルデバイス上にレンダすることを可能とするシステムである。このシステムは、全てのタイプのマルチメディアコンテンツがレンダされることを可能にし、新たなマルチメディアフォーマットが開発されると、それらのレンダリングを可能にする拡張可能なアーキテクチャを提供するように動作すべきである。
【発明の開示】
【０００９】
１つ又は複数の実施形態において、方法及び装置を含むマルチメディアシステムが、マルチメディアコンテンツをポータブルデバイス上にレンダリングするために提供される。例えば、ポータブルデバイスは、このデバイスの利用可能なレンダリングリソースを用いてマルチメディアコンテンツをレンダするプログラム命令を実行する制限されたメモリリソースと、埋込式コントローラとを備えた携帯電話であるかもしれない。１つ又は複数の実施形態において、マルチメディアシステムは、ほとんどリソースを使用しない小型で効率的な実装であり、特に、制限されたメモリリソースを備えた埋込式コントローラを持つポータブルデバイスでの使用に極めて適している。
【００１０】
１つの実施形態では、このシステムは、デバイスのレンダリングリソースを制御するフォーマットハンドラの集合からなる。各フォーマットハンドは、特別なフォーマットを持つマルチメディアコンテンツを処理するように設計されている。これによって、このコンテンツをレンダするために、デバイスのレンダリングリソースを制御する。例えば、各フォーマットハンドラは、（特別にフォーマットされた）マルチメディアオーディオ、又はビデオファイルをレンダする（それをプレイして、理解する）。フォーマットハンドラは、コンテンツが必要とするリソースが何であるかを判定し、このファイルを読み、正しいリソースを呼び出す。ポータブルデバイスは、フォーマットハンドラが、タスクを実行するために使用する高レベルアプリケーションプログラムインタフェース（ＡＰＩ：application program interface）を含んでいる。個々のフォーマットハンドラは、製造においてポータブルデバイス内に、マルチメディアシステムの一部として含まれることができるか、あるいは、動的にダウンロードすることができる。従って、マルチメディアシステムの１つ又は複数の実施形態が、フォーマットハンドラの集合を利用し、これによって、各デバイスにおいて利用可能なレンダリングリソースに基づいてコンテンツを仕立てる必要なく、種々のポータブルデバイス内にマルチメディアコンテンツをレンダするように動作することが可能である。更に、マルチメディアシステムは、開発された新たなコンテンツタイプをレンダするために、新たなフォーマットハンドラを追加することによって、システムの拡張を可能にする拡張可能なアーキテクチャを提供する。
【００１１】
このマルチメディアシステムのアーキテクチャは、マルチメディアユーザと開発者との両方に有益である。例えば、これによって、開発者は、無線プラットフォーム上で使用するために彼ら自身のフォーマットハンドラを書き込むことが可能となる。そして、このシステムは、簡単なインタフェースを提供することによって、全てのタイプのコンテンツが、レンダリングデバイスの正確な構成を知る必要なくレンダできるようになるので、マルチメディアユーザは恩恵を受ける。
【００１２】
１つの実施形態では、埋込型プロセッサを有するポータブルデバイス内にマルチメディアコンテンツをレンダリングするために方法が提供される。ポータブルデバイスは、更に、１つ又は複数のレンダリングデバイスを備えている。この方法は、マルチメディアコンテンツに基づきマルチメディアオブジェクトを生成することと、このマルチメディアオブジェクトに、フォーマットハンドラを関連付けることと、このフォーマットハンドラを用いて、選択されたレンダリングリソースを制御し、マルチメディアオブジェクトからマルチメディアコンテンツをレンダすることとを備える。
【００１３】
別の実施形態では、埋込型プロセッサを有するポータブルデバイス内にマルチメディアコンテンツをレンダするためにマルチメディアシステムが提供される。このポータブルデバイスは、１つ又は複数のレンダリングリソースを備えている。このマルチメディアシステムは、マルチメディアコンテンツに基づいてマルチメディアオブジェクトを生成するように動作する生成メディアロジックを備えている。このシステムはまた、フォーマットハンドラをマルチメディアオブジェクトに関連付けるように動作する選択ロジックを備えている。このシステムはまた、選択されたレンダリングを制御し、マルチメディアオブジェクトからマルチメディアコンテンツをレンダするフォーマットハンドリングロジックを備えている。
【００１４】
別の実施形態では、埋込式プロセッサを有するポータブルデバイス内にマルチメディアコンテンツをレンダするコンピュータ実行可能な命令を備えたコンピュータ読み取り可能な媒体が備えられている。ポータブルデバイスは、更に、１つ又は複数のレンダリングリソースを備えている。命令は、実行された場合、マルチメディアコンテンツに基づいてマルチメディアオブジェクトを生成することと、このマルチメディアオブジェクトにフォーマットハンドらを関連付けることと、このフォーマットハンドラを用いて、選択されたレンダリングリソースを制御し、マルチメディアオブジェクトからマルチメディアコンテンツをレンダすることとを備えた方法を実行する。
【００１５】
別の実施形態では、埋込式プロセッサを有するポータブルデバイス内にマルチメディアコンテンツをレンダするためにマルチメディアシステムが提供される。ポータブルデバイスは更に、１つ又は複数のレンダリングリソースを備えている。マルチメディアシステムは、マルチメディアコンテンツに基づいてマルチメディアオブジェクトを生成する手段を備えている。このシステムはまた、フォーマットハンドラをマルチメディアオブジェクトに関連付ける手段を備えている。このシステムはまた、フォーマットハンドラを用いて、選択されたレンダリングリソースを制御し、マルチメディアオブジェクトからマルチメディアコンテンツをレンダする手段を備えている。
【００１６】
本発明の他の局面、利点、及び特徴は、記載された図面の簡単な説明、本発明の詳細な説明、及び特許請求の範囲の検討後に明らかになるであろう。
【発明を実施するための最良の形態】
【００１７】
本出願は、２００２年６月４日に出願された"Multimedia Processing"と題された同時係属中の米国仮特許出願第６０／３８５，９４２号からの優先権の利益を主張する。この出願はまた、２００３年４月２５日に出願された"Multimedia Processing"と題された同時係属中の米国仮特許出願からの優先権の利益を主張する。上述した両仮特許出願の開示は、全ての目的のためのエンティティにおいて参照して援用される。
【００１８】
ここに記載された実施形態の前述した局面及び付随する利点は、添付図面と組み合わせた以下に示す詳細記載を参照することによってより容易に明らかになるであろう。
【００１９】
以下の詳細記述は、ポータブルデバイス内にマルチメディアコンテンツをレンダリングする方法及び装置を含むマルチメディアシステムを記載している。１つ又は複数の実施形態では、ポータブルデバイスは、埋込式コントローラと制限されたリソース（すなわち、制限されたメモリ容量）を持っており、システムは、デバイスの利用可能なレンダリングリソースを用いてマルチメディアコンテンツをレンダするように動作する。
【００２０】
１つ又は複数の実施形態では、マルチメディアシステムは、例えば、デバイス特有のリソースに対する一般化されたコールを提供することによって、デバイスの操作を簡単にするために使用されるデバイス上で実行するランタイム環境と相互作用する。１つのそのようなランタイム環境は、QUALCOMM, Inc.（San Diego, California）によって開発されたBinary Runtime Environment for Wireless（ＢＲＥＷ）である。以下の記述において、マルチメディアシステムは、ＢＲＥＷソフトウェアプラットフォームのようなランタイム環境を実行するポータブルデバイス上に実装される。しかしながら、マルチメディアシステムの１つ又は複数の実施形態は、ポータブルデバイスにマルチメディアコンテンツをレンダするために別のタイプのランタイム環境とともに使用するのに適している。
【００２１】
図１は、埋込型コントローラを備え、マルチメディアコンテンツをレンダするために、マルチメディアシステムの１つの実施形態を実現するのに適したポータブル無線デバイス１０２を含むデータネットワーク１００を示す。例えば、デバイス１０２は、ここでは後に「ＩＭｅｄｉａ」と称されるマルチメディアシステム１０４の１つの実施形態を含んでいる。ネットワーク１００では、無線デバイス１０２が、無線通信チャネル１１０を使って、無線ネットワーク１０８を介してネットワークサーバ１０６と通信する。
【００２２】
１つの実施形態では、デバイス１０２は、無線ネットワーク１０８を介して音声情報の送信及び受信のうち少なくとも何れかを行う携帯電話を備えている。しかしながら、記載されたマルチメディアシステムの１つ又は複数の実施形態は、別のタイプのポータブルデバイスとともに使用されるのに適している。例えば、その他の適切なポータブルデバイスは、これに限定される訳ではないが、ＰＤＡ、電子メイルデバイス、ページャ、タブレットコンピュータ、モバイル電話、又はマルチメディアレンダリングリソースを含む任意のタイプの仮想的なポータブルデバイスを含む。
【００２３】
デバイス１０２はまた、無線ネットワーク１０８を介して、マルチメディアアプリケーション又はコンテンツを受信する。例えば、マルチメディアアプリケーション１１２，１１４は、ネットワークサーバ１０６からデバイス１０２へとダウンロードされる。更に、マルチメディアコンテンツ１１６もまた、ネットワークサーバ１０６からデバイス１０２へとダウンロードされうる。無線ネットワーク１０８に接続されたその他の任意のネットワークエンティティからデバイス１０２へとマルチメディアアプリケーション又はコンテンツをダウンロードすることもまた可能である。
【００２４】
１つの実施形態では、デバイス１０２はまた、直接リンク１２０を経由して、ローカルワークステーション１１８のようなローカルシステムに直接的に接続している。１つの実施形態では、ローカルワークステーション１１８は、直接リンク１２０を用いて、マルチメディアアプリケーション又はコンテンツをデバイス１０２にダウンロードする。例えば、マルチメディアアプリケーション１２２は、リンク１２０を用いて、ワークステーション１１８からデバイス１０２にダウンロードされる。
【００２５】
ＩＭｅｄｉａシステム１０４は、サーバ１０６からデバイス１０２へとダウンロードされ、マルチメディアアプリケーション又はコンテンツをレンダするためにデバイス１０２上で動作する。別の実施形態では、ＩＭｅｄｉａシステム１０４は、リンク１２０を経由してワークスステーション１１８からデバイス１０２へとダウンロードされるか、又は、製造中にデバイスにインストールされる。
【００２６】
１つの実施形態では、ＩＭｅｄｉａシステム１０４は、フロッピー（登録商標）ディスクのようなコンピュータ読み取り可能媒体上に提供され、デバイス１０２へ送信するためにシステム１１８にロードされる。別の実施形態では、ＩＭｅｄｉａシステム１０４は、デバイス１０２上で実行できるように、メモリカード（図示せず）のようなコンピュータ読み取り可能媒体上に格納され、デバイス１０２に直接的にプラグされる。従って、デバイス１０２は、無線送信、有線送信で、あるいは、メモリデバイスから直接的に取得することによってＩＭｅｄｉａシステム１０４を取得する。
【００２７】
ネットワーク１００はまた、別のタイプの無線及び非無線のようなポータブルデバイスをも含む。そして、これらデバイスは、マルチメディアコンテンツをレンダするために、無線及び非無線ネットワーク、プライベート及びパブリックネットワーク、交換及び非交換ネットワーク、直接リンク、及びこれら任意の組み合わせ、を含む様々なネットワークタイプ及び通信アーキテクチャを利用している他のネットワークエンティティ又はサーバ１０６と通信して、ＩＭｅｄｉａシステム１０４の１つ又は複数の実施形態をダウンロードする。
【００２８】
図２は、マルチメディアコンテンツをレンダするように動作するＩＭｅｄｉａシステム１０４の１つの実施形態を含むデバイス１０２の１つの実施形態を示す機能ブロック図を示す。このデバイス１０２は、内部データバス２０４とスタックメモリ２１６とに接続された処理ロジック２０２を備えている。また、内部データバス２０４には、命令メモリ２０６、マルチメディアアプリケーション／コンテンツメモリ２０８、ヒープメモリ２１０、ユーザインタフェース２１２、ディスプレイロジック２１６、オーディオロジック２１８、及び入力／出力（Ｉ／Ｏ）インタフェース２１４が接続されている。
【００２９】
デバイス１０２の動作の間に、処理ロジック２０２は、命令メモリ２０６に格納されたプログラム命令を実行し、ランタイム環境２２０を生成する。ランタイム環境２２０は、ＢＲＥＷ環境又はその他の適切なランタイム環境である。命令実行を支援するために、処理ロジック２０２は、スタックメモリ２１６を用いて、プログラムデータ又は命令を一時的に格納する。例えば、処理ロジック２０２は、スタックメモリ２１６に、定数、変数、プログラムアドレス、ポインタ、命令、又は他の情報項目を格納する。別の実施形態では、処理ロジック２０２は、ヒープメモリ２１０に一時的に情報を格納する。ヒープメモリは、処理ロジック２０２による情報の格納及び検索のために適した実質的にあらゆるタイプのメモリからなる。
【００３０】
１つ又は複数の実施形態では、処理ロジック２０２は、ＣＰＵ、ゲートウェイ、ハードウェアロジック、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせからなる。従って、処理ロジック２０２は一般に、機械読み取り可能な命令を実行するためにロジックを備えている。
【００３１】
命令メモリ２０６は、ＲＡＭ、ＲＯＭ、ＦＬＡＳＨ、ＥＥＲＯＭ、あるいはその他の任意の適切なタイプのメモリ、あるいはそれらの組み合わせからなる。１つの実施形態では、命令メモリ２０６は、デバイス１０２に対して内部に配置されている。そして、別の実施形態では、命令メモリ２０６は、デバイス１０２に選択的に付加されることによって内部バス２０４に接続されるメモリデバイス又はリムーバブルメモリカードからなる。従って、命令メモリ２０６は、処理ロジック２０２によって実行される命令を格納することができる実質的に任意のタイプのメモリからなりうる。
【００３２】
ユーザインタフェース２１２は、ユーザ入力を、例えばキーパッド、ポインティングデバイス、タッチパッド、又はユーザがデバイス１０２と相互作用することを可能にするその他の入力機構から取得する。ディスプレイロジック２１６は、デバイスディスプレイに情報を出力するためのロジックを備える。例えば、このデバイスは、ＬＣＤ、ＬＥＤ、またはその他のタイプのディスプレイデバイスを含む。オーディオロジック２１８は、オーディオ情報をデバイススピーカ、リモートスピーカ又はオーディオシステム、又はその他のタイプのサウンドリソースに出力するためのロジックを備えている。例えば、１対のリモートスピーカは、オーディオロジック２１８の出力を取得し、デバイスユーザに対してオーディオ情報をレンダする。従って、ディスプレイロジック２１６及びオーディオロジック２１８は、デバイス１０２が、デバイスユーザに対してビジュアル又はオーディオ情報をレンダすることを可能にするために、任意の組み合わせによるハードウェア及び／又はソフトウェアからなる。
【００３３】
Ｉ／Ｏインタフェース２１４は、デバイス１０２、外部デバイス、システム及び／又はネットワークとの間で情報を送受信するように動作する。例えば、１つの実施形態では、Ｉ／Ｏインタフェース２１４は、例えば通信リンク１０６を用いて、無線データネットワークを介して情報を送受信するように動作する。例えば、トランシーバは、処理ロジック２０２から受信した情報を変調し、この変調した情報を、無線送信に適した高周波数信号に変換する回路を備えている。同様に、トランシーバは、受信した高周波数通信信号を、復調、及び処理ロジック２０２によってなされるその後の処理に適する信号に変換するための回路も備えている。
【００３４】
別の実施形態では、Ｉ／Ｏインタフェース２１４は、インターネットのような公衆データネットワーク上で遠隔システムと通信するために、電話線のようなハードワイヤ通信リンクを介して情報を送受信するように動作するトランシーバを備えている。
【００３５】
更に別の実施形態では、Ｉ／Ｏインタフェース２１４は、リンク１２０を用いてローカルワークステーション１１６のようなローカルデバイスと通信するように動作する回路を備えている。Ｉ／Ｏインタフェース２１４はまた、プリンタ、又はローカルコンピュータ、又はフロッピー（登録商標）ディスクやメモリカードのようなデバイスと通信するための回路（例えば、シリアル又はパラレルポートロジックのような）も含みうる。従って、Ｉ／Ｏインタフェース２１４は、デバイス１０２が、他のローカルあるいはリモートに配置されたデバイスやシステムと通信することを可能にするためのあらゆるタイプのハードウェア、ソフトウェア、又はこれらの組み合わせからなる。
【００３６】
デバイス１０２の動作の間、処理ロジック２０２によるプログラム命令の実行により、ＩＭｅｄｉａシステム１０４が生成されるようになる。例えば、実行された場合、ＩＭｅｄｉａシステム１０４を動作させるＩＭｅｄｉａ命令は、命令メモリ２０６に格納されうる。ＩＭｅｄｉａシステム１０４は、ランタイム環境２２０と相互作用し、デバイス１０２上にマルチメディアアプリケーションとコンテンツとをレンダする。例えば、マルチメディアアプリケーション及びコンテンツは、無線ネットワーク１０８を経由してデバイス１０２にダウンロードされ、メモリ２０８に格納される。１つの実施形態では、ＩＭｅｄｉａシステム１０４は、内部バス２０４を経由して、メモリ２０８に格納されたマルチメディアコンテンツを取得し、そのコンテンツを処理し、ランタイム環境２２０を経由して、デバイスのレンダリングリソース（すなわち、ディスプレイロジック、オーディオロジック等）と相互作用することによってデバイス１０２上にレンダする。ＩＭｅｄｉａシステム１０４はまた、ストリーミングマルチメディアコンテンツを処理し、レンダするために動作する。例えば、ネットワーク１０８からデバイス１０２へとダウンロードされたストリーミングマルチメディアコンテンツは、ＩＭｅｄｉａシステム１０４を使ってデバイス１０２上にレンダされる。デバイス１０２の構成は、マルチメディアアプリケーションとコンテンツとをレンダするためにＩＭｅｄｉａシステム１０４の１つの実施形態を実現するために適した単なる１つの構成であることに留意されたい。また、本発明の範囲内で他のデバイス又はデバイス構成を用いてＩＭｅｄｉａシステム１０４を実現することも可能である。
【００３７】
図３は、デバイス１０２で使用されるためのＩＭｅｄｉａシステムの１つの実施形態の詳細なブロック図を示す。このデバイス１０２は、ネイティブなハードウェア３０２を備えている。このハードウェア３０２は、処理ロジック２０２を備えるとともに、マルチメディア情報を処理するために特別に設計されたマルチメディアプロセッサ３０４をオプションとして含みうる。ネイティブなハードウェア３０２が、デバイスのレンダリングリソース（すなわち、ディスプレイロジック２１６等）を動作させるロジックを含んでいることと、処理ロジック２０２とマルチメディアプロセッサ３０４とが、これらリソースを制御するために動作することとは、更なる記載をすることなく仮定されよう。
【００３８】
デバイス１０２は、また、オーディオ１  ３０８、オーディオ２  ３１０、及びビデオ３１２の各モジュールを備えたネイティブなマルチメディアソフトウェア３０６を含んでいる。これらのモジュールは、ネイティブなハードウェア３０２と直接的に通信し、選択されたレンダリングリソースを制御するために使用される低レベルのソフトウェアモジュールを表している。例えば、ビデオモジュール３１２は、マルチメディアプロセッサ３０４と通信し、ビデオレンダリングリソースを制御する。１つの実施形態が示されているが、これよりもより少ないか、あるいはより多くのマルチメディアソフトウェアモジュール３０６を持つことも可能であり、これらモジュールは、全てのタイプのネイティブなハードウェア３０２と通信しうる。従って、その他のネイティブなハードウェア３０２とソフトウェア３０６構成も、本発明の範囲内で可能である。
【００３９】
動作中、デバイス１０２は、プログラム命令を実行し、１つの実施形態ではＢＲＥＷ環境であるランタイム環境２００を生成する。その後、ＩＭｅｄｉａシステム１０４に、ランタイム環境に関連したマルチメディアコンテンツをレンダさせるためにＩＭｅｄｉａ命令を実行することも可能である。例えば、ＩＭｅｄｉａ命令は、無線ネットワーク１０８を経由してデバイスにダウンロードされ、命令メモリ２０６に格納される。
【００４０】
ＩＭｅｄｉａシステム１０４は、マルチメディアコンテンツ取り扱いを要約し、マルチメディアインタフェースのフレームワークを定義するように動作する。１つの実施形態では、ＩＭｅｄｉａシステム１０４は、以下の特徴を提供するように動作する。  
１．デバイスマルチメディア特徴と能力への一般的で容易なアクセスを提供する。  
２．複雑なＡＳＩＣレベルマルチメディアＡＰＩとリソースマネジメントとをシールドする。  
３．複雑なマルチメディアアプリケーションを開発するためにビルディングブロックを提供する。  
４．オプションとして、ファイル拡張、ファイル内容、又はファイル内の署名に基づいてメディアタイプを導出する。
【００４１】
ＩＭｅｄｉａシステム１０４は、生成メディアユーティリティ３２４と、メディアデータ構造３２６と、フォーマットハンドラ３１４，３１６，３１８，３２０とを含む。ＩＭｅｄｉａシステム１０４の一部として示しているのは、ＩＭｅｄｉａシステム１０４の動作中に生成される基本的なＩＭｅｄｉａオブジェクトを示すＩＭｅｄｉａアブストラクション３２８である。ＩＭｅｄｉａシステムの要素の詳細記述は以下に提供される。
【００４２】
（ＩＭＥＤＩＡアブストラクション）  
ＩＭｅｄｉａアブストラクション３２８は、マルチメディアコンテンツタイプの登録と取り扱いとを可能にするアブストラクトインタフェースである。ＩＭｅｄｉａアブストラクション３２８は、メディアデータ構造３２６内にメディアデータに対するリファレンスを維持する。
【００４３】
（メディアデータ構造）  
メディアデータ構造３２６は、メディアデータソース又はシンクをカプセル化するように動作する。これによって、ＩＭｅｄｉａシステム１０４は、様々なソースから、あるいは様々な宛先へとメディアデータをストリームすることが可能となる。１つの実施形態では、メディアデータ構造３２６は、メモリ２１０内にメディアデータ構造３２６を生成するために、プログラム命令を実行する処理ロジック２０２を備えたデータ構造ロジックから形成される。
【００４４】
（生成メディアユーティリティ）  
生成メディアユーティリティ３２４は、幾つかの機能を実行する。第１に、生成メディアユーティリティ３２４は、レンダリングのためにマルチメディアアプリケーション又はコンテンツを取得するように動作する。例えば、マルチメディアアプリケーション又はコンテンツは、メモリ２０８に格納され、このコンテンツは、生成メディアユーティリティ３２４に対する機能呼出を含む。第２に、生成メディアユーティリティ３２４は、マルチメディアコンテンツを処理して、メディアデータ３２６に含まれる情報に基づいてＩＭｅｄｉａオブジェクト３２８を生成する。ＩＭｅｄｉａオブジェクトの生成後、メディアデータを設定し、ＩＭｅｄｉａオブジェクトを、レディ状態にする。１つの実施形態では、生成メディアユーティリティ３２６は、メモリ２１０内にＩＭｅｄｉａオブジェクト３２８を生成し、ここで記載された生成メディアユーティリティの機能を実行するプログラム命令を実行する処理ロジック２０２を備えた生成メディアロジックから形成される。
【００４５】
１つの実施形態では、生成メディアユーティリティ３２６は、ＩＭｅｄｉａオブジェクト３２８に関連付け、ここで記載された他の機能を実行するためにフォーマットハンドラを選択するプログラム命令を実行する処理ロジック２０２を備えた選択ロジックを含んでいる。例えば、この選択ロジックは、メディアコンテンツに関連したデータ構造３２６を評価し、どのフォーマットハンドラを選択するかを決定する。
【００４６】
（フォーマットハンドラ）  
１つの実施形態では、ＩＭｅｄｉａシステム１０４は、フォーマットハンドラ（ＦＨ）の集合を備えている。例えば、ＩＭｅｄｉａシステム１０４は、ＭＩＤＩ３１４、ＭＰ３  ３１６、ＭＰＥＧ４  ３１８、及びＡＤＣＰＭ３２０の各フォーマットハンドラを備えている。これらのフォーマットハンドラは、ＩＭｅｄｉａオブジェクト３２８と、デバイス１０２のマルチメディアレンダリングハードウェア及びソフトウェアとの間のインタフェース３２２を提供する。１つの実施形態では、フォーマットハンドラは、マルチメディアアプリケーション又はコンテンツが、プレイ、ストップ、巻き戻し等の類似のタスクを実行するようにフォーマットハンドラに命令する同一の命令を利用できるように共通命令セットを解釈する。任意の数のフォーマットハンドラが使用されうる。そして、新たなタイプのマルチメディアコンテンツをレンダするために新たなフォーマットハンドラが追加されうる。１つの実施形態では、フォーマットハンドラが、ここで記載されたフォーマットハンドラの機能を実行するためにプログラム命令を実行する処理ロジック２０２を備えたフォーマットハンドリングロジックから形成される。
【００４７】
１つの実施形態では、共通命令セットが、フォーマットハンドラに対して、マルチメディアコンテンツをレンダするように命令し、パラメータと状態を渡すためのメカニズムを提供する。この共通命令セットに含まれる命令のサンプルは以下の通りである。  
１．ＩＭｅｄｉａ＿ＳｅｔＭｅｄｉａＰａｒｍ（）；ＦＨのパラメータを設定する。  
２．ＩＭｅｄｉａ＿ＧｅｔＭｅｄｉａＰａｒｍ（）；ＦＨからパラメータを取得する。  
３．ＩＭｅｄｉａ＿ＳｅｔＭｅｄｉａDａｔａ（）；メディアデータを設定する。  
４．ＩＭｅｄｉａ＿ＧｅｔＭｅｄｉａＤａｔａ（）；メディアデータを取得する。  
５．ＩＭｅｄｉａ＿ＧｅｔＣｌａｓｓＩＤ（）；クラスＩＤを取得する。  
６．ＩＭｅｄｉａ＿ＧｅｔＳｔａｔｅ（）；状態を取得する。  
７．ＩＭｅｄｉａ＿ＲｅｇｉｓｔｅｒＮｏｔｉｆｙ（）；ＦＨを用いてコールバックを登録する。  
８．ＩＭｅｄｉａ＿Ｐｌａｙ（）；プレイコマンドをＦＨに与える。  
９．ＩＭｅｄｉａ＿Ｓｔｏｐ（）；ストップコマンドをＦＨに与える。  
１０．ＩＭｅｄｉａ＿ＳｅｔＲｅｃｔ（）；ビデオパラメータを設定する。
【００４８】
例えば、ＩＭｅｄｉａ＿ＳｅｔＭｅｄｉａＰａｒｍ（）命令は、フォーマットハンドラに対して、フォーマットハンドラに関連した具体的なパラメータ、設定、又は変数を設定するように命令するＩＭｅｄｉａオブジェクトに含まれる。例えば、ＭＰＥＧビデオをレンダするように設計されたフォーマットハンドラに関連したパラメータは、ＩＭｅｄｉａ＿ＳｅｔＭｅｄｉａＰａｒｍ（）を用いて設定することができる。別の実施形態では、特定のフォーマットハンドラはまた、ＩＭｅｄｉａオブジェクト３２８に含まれ、制御されているリソースの特定の機能を制御するために使用されている追加命令（図示せず）を解釈する。
【００４９】
１つの実施形態では、フォーマットハンドラは、ＩＭｅｄｉａシステム１０４の一部としてポータブルデバイス上で動作するソフトウェアである。別の実施形態では、フォーマットハンドラは、ハードウェア及びソフトウェアの組み合わせでありうる。更に、フォーマットハンドラは、利用可能になりＩＭｅｄｉａシステムが拡張可能となると、ＩＭｅｄｉａシステムに追加され、利用可能になると、新たなタイプのマルチメディアコンテンツをレンダすることができる。
【００５０】
動作中、フォーマットハンドラは、自分自身（自分のＭＩＭＥタイプ）をランタイム環境に登録する。それらは、マルチメディアアプリケーションが、ＭＩＭＥタイプを問い合わせるか、又はシステムでサポートされている（登録されている）フォーマットハンドラのリストをエミュレートすることによって検出することが可能である。各フォーマットハンドラは、限定される訳ではないが、以下を含む機能の選択を提供する。  
１．以下のようなアプリケーションプログラムインタフェース（ＡＰＩ）の提供。  
ａ．シーク、ポーズ、レジューム等の制御機能を含む、マルチメディアコンテンツのプレイ及びレコードの実行。  
ｂ．オーディオ及びビデオ制御パラメータの設定及び／又は取得。  
ｃ．ＩＭｅｄｉａオブジェクトからの非同期イベントの取り扱い。  
２．登録されたコールバック機能を介した非同期メディアイベントの送信。  
３．リソースをレンダリングするデバイスマルチメディアの管理。  
４．導出されたクラスによって拡張可能な状態機器の管理。
【００５１】
図４は、例えばフォーマットハンドラ３１８のように、マルチメディアコンテンツをレンダするフォーマットハンドラによって管理される状態機器４００の１つの実施形態を示す。フォーマットハンドラの初期状態は、アイドル４０２である。一旦フォーマットハンドラが、ＩＭｅｄｉａオブジェクトに関連付けられると、フォーマットハンドラの状態は、レディ４０４になる。レディ４０４状態から、フォーマットハンドラは、マルチメディアコンテンツに関連したコマンドに基づいて、プレイ４０６かレコード４０８かの何れかの状態に進む。プレイ４０６及びレコード４０８の状態から、フォーマットハンドラは、プレイ＿ポーズ４１０又はレコードポーズ４１２の状態になる。これらの状態から、対応するプレイ４０６とレコード４０８の状態をレジュームすることも可能である。フォーマットハンドラは、また、ストップ４１４状態に進むことも、レディ４０４状態に戻ることもできる。
【００５２】
従って、状態機器４００を用いて、各フォーマットハンドラが、デバイスのレンダリングリソースを制御し、フォーマットハンドラに関連付けられたマルチメディアアプリケーション又はコンテンツ（ＩＭｅｄｉａオブジェクト）をレンダすることが可能である。別の実施形態では、フォーマットハンドラが、図４で示された１つ以外の異なる状態機器を実装することも可能である。更に、別の実施形態では、レンダリング処理の間に使用できる追加の状態を定義することが可能である。
【００５３】
図５は、ポータブルデバイス内にマルチメディアコンテンツをレンダリングするための方法５００の１つの実施形態を示す。
【００５４】
ブロック５０２では、マルチメディアアプリケーション又はコンテンツは、ＩＭｅｄｉａコンストラクタを用いて作成される。これによって、ポータブルデバイス上にレンダされる。例えば、アプリケーション開発者は、生成メディアユーティリティ３２４を用いてＩＭｅｄｉａオブジェクトを生成する。ＩＭｅｄｉａオブジェクトの数や、同時プレイバック又はレコードといった能力は、デバイスに依存する。全てのＩＭｅｄｉａオブジェクトは、図４に示す基本的な状態機器に従う。１つの実施形態では、以下に示すステップは、
ＩＭｅｄｉａオブジェクトを生成し、使用するために用いることができる。
【００５５】
１．メディアデータ構造の生成と、メディアデータソース／シンクに基づくその初期化。ＡＥＥＭｅｄｉａＤａｔａは、以下のように定義される。
【数１】
2005528849.tif 000003
【００５６】
２．以下に示す表の情報に基づいた上記構造のメンバの初期化。
【表１】
2005528849.tif 000004
【００５７】
ブロック５０４では、マルチメディアコンテンツが、レンダリングのためにポータブルデバイスにダウンロードされる。例えば、アプリケーション又はコンテンツが、無線データネットワーク１０８を経由してデバイスにダウンロードされる。このコンテンツは、ストリーミングコンテンツとしてレンダされるか、あるいはメモリに格納され、後にレンダされる。
【００５８】
ブロック５０６では、メディアデータ構造が生成され、取得したコンテンツに含まれるシンク特性又はメディアソースに基づいて初期化される。例えば、メディアデータ構造は、メディアデータ構造３２６に格納される。１つの実施形態では、メディアタイプが、ファイル拡張、ファイル内容、或いはこのファイルに含まれる署名に基づいて導出される。
【００５９】
ブロック５０８では、関連するデータ構造を用いてＩＭｅｄｉａオブジェクトが生成される。例えば、生成メディアユーティリティ３２４は、ＩＭｅｄｉａオブジェクトを生成するために使用される。ＩＭｅｄｉａオブジェクトは、レディ状態４０４で戻る。
【００６０】
ブロック５１０では、もしもＩＭｅｄｉａオブジェクトから非同期イベントを取得することが望まれるのであれば、通知機能を登録するためにオプションのステップが実行される。
【００６１】
ブロック５１２では、ＩＭｅｄｉａオブジェクトがフォーマットハンドラと関連付けられ、マルチメディアアプリケーション又はコンテンツが、ポータブルデバイス上にレンダされる。例えば、フォーマットハンドラは、マルチメディアコンテンツをレンダするために、任意の機能の状態機器４００を提供する。
【００６２】
ブロック５１４では、コンテンツがレンダされ、ＩＭｅｄｉａオブジェクトがもはや必要ではなくなった後に解放される。
【００６３】
（実施例）  
以下は、１つの実施形態において、ＩＭｅｄｉａオブジェクトがどのように生成されるかを示すための実施例を示す。この例は、図５の方法における対応するブロックに対する参照を含み、ポータブルデバイス１０２によって使用されるランタイム環境は、ＢＲＥＷ環境であると仮定される。従って、”ＣＡｐｐ”は、ＢＲＥＷアプレットグローバル構造のインスタンスである。
【数２】
2005528849.tif 000005
【００６４】
本発明に含まれる１つ又は複数の実施形態では、方法及び装置を含むマルチメディアシステムは、マルチメディアアプリケーションとコンテンツとを、埋込型コントローラを持ち、リソースが制限されたポータブルデバイス上にレンダするように動作する。従って、この方法及び装置の１つ又は複数の実施形態が図示され、記載されている一方、この発明の精神又は本質的特徴から逸脱することなく、様々な変更を、本実施形態に対して行うことが可能であることが理解されるであろう。従って、ここでなされた開示及び記述は、限定するのではなく、以下に示す特許請求の範囲に説明された本発明の範囲の実例となることが意図されている。
【図面の簡単な説明】
【００６５】
【図１】図１は、マルチメディアコンテンツをレンダするためのマルチメディアシステムの１つの実施形態を実現するのに適した埋込式コントローラを備えたポータブル無線デバイスを含むデータネットワークを示す。
【図２】図２は、図１に示すポータブルデバイスの１つの実施形態を示す機能ブロック図であり、マルチメディアコンテンツをレンダするように動作するマルチメディアシステムの１つの実施形態を含んでいる。
【図３】図３は、図２のマルチメディアシステムの１つの実施形態の詳細ブロック図を示している。
【図４】図４は、マルチメディアコンテンツをレンダするためにフォーマットハンドラによって管理される状態マシンの１つの実施形態を示している。
【図５】図５は、ポータブルデバイス内にマルチメディアコンテンツをレンダリングするための方法の１つの実施形態を示している。
【図１】
2005528849.tif 000006
【図２】
2005528849.tif 000007
【図３】
2005528849.tif 000008
【図４】
2005528849.tif 000009
【図５】
2005528849.tif 000010
【国際調査報告】
2005528849.tif 000011