(57)【要約】コンピュータ・グラフィックスをレンダリングするための技術が説明される。本技術は、ベクタグラフィックス言語（例えば、スケーラブルベクタグラフィックス（ＳＶＧ））を用いて生成されたグラフィックスファイルのバイナライゼイションを含む。例となるアプリケーションにおいて、本方法は、ビデオ対応又はオーディオ／ビデオ対応の無線又は有線のデバイスの中でもとりわけ、携帯電話、ビデオゲームコンソール、携帯情報端末（ＰＤＡ）、又はラップトップコンピュータにおいて、ビデオ情報をレンダリングするために用いられる。
2010533896.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ対応装置での使用のために構成された集積回路（ＩＣ）において、
前記ＩＣは、
グラフィックスファイルをＣ／Ｃ＋＋ファイルに変換するための変換手段と、
前記Ｃ／Ｃ＋＋ファイルを、少なくとも一つのビデオ対応装置と互換性のあるバイナリーフォーマットされたファイルへコンパイルするためのコンパイル手段とを有するグラフィック処理ユニット（ＧＰＵ）を含む集積回路。
【請求項２】
前記変換手段は、ベクタグラフィックス言語を用いて生成された前記グラフィックスファイルを変換する請求項１の集積回路。
【請求項３】
前記変換手段は、拡張記述言語（ＸＭＬ）に基づくベクタグラフィックス言語を用いて生成された前記グラフィックスファイルを変換する請求項１の集積回路。
【請求項４】
前記変換手段は、スケーラブルベクタグラフィックス（ＳＶＧ）言語を用いて生成された前記グラフィックスファイルを変換する請求項１の集積回路。
【請求項５】
前記ＧＰＵは、前記グラフィックスファイルを構文解析するための手段を含む請求項１の集積回路。
【請求項６】
前記変換手段は、ネイティブグラフィックス・アプリケーションプログラミングインターフェース（ＡＰＩ）及びネイティブイベントハンドリングＡＰＩを用いて、前記グラフィックスファイルを変換する請求項１の集積回路。
【請求項７】
前記変換手段は、ＯｐｅｎＶＧアプリケーションプログラミングインターフェース（ＡＰＩ）及び無線用バイナリーランタイム環境（ＢＲＥＷ）ＡＰＩを用いて、前記グラフィックスファイルを変換する請求項１の集積回路。
【請求項８】
前記コンパイル手段は、ジャストインタイム（ＪＩＴ）コンパイラを含む請求項７の集積回路。
【請求項９】
前記コンパイル手段は、ジャストインタイム（ＪＩＴ）コンパイラを含む請求項１の集積回路。
【請求項１０】
前記集積回路は、携帯電話、ビデオゲームコンソール、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、及びオーディオ／ビデオ対応装置からなるグループから選択された装置の一部である請求項１の集積回路。
【請求項１１】
グラフィックスファイルをレンダリングするための装置において、
ビデオディスプレイと、
コンピュータ・グラフィックスのレンダリングをもたらすコンピュータプログラムを含むメモリと、
グラフィックスファイルのバイナライゼイターと、
バイナリーグラフィックスファイルを実行するためのプロセッサとを含む装置。
【請求項１２】
前記バイナライゼイターは、前記グラフィックスファイルを前記バイナリーグラフィックスファイルへ変換する請求項１１の装置。
【請求項１３】
前記バイナライゼイターは、スケーラブルベクタグラフィックス（ＳＶＧ）言語を用いて生成された前記グラフィックスファイルを構文解析し、前記構文解析されたファイルをＣ／Ｃ＋＋ファイルへ変換し、前記Ｃ／Ｃ＋＋ファイルをバイナリーフォーマットされたファイルへコンパイルすることによって、前記グラフィックスファイルをバイナライズする請求項１１の装置。
【請求項１４】
前記バイナライゼイターは、ＯｐｅｎＶＧアプリケーションプログラムインタフェース（ＡＰＩ）及び無線用バイナリーランタイム環境（ＢＲＥＷ）ＡＰＩを用いて、前記構文解析されたファイルを前記Ｃ／Ｃ＋＋ファイルへ変換する請求項１３の装置。
【請求項１５】
前記バイナライゼイターは、ジャストインタイム（ＪＩＴ）コンパイラを用いて、前記Ｃ／Ｃ＋＋ファイルをコンパイルする請求項１３の装置。
【請求項１６】
前記バイナライゼイターは、ソフトウェア、ハードウェア、又はそれらの組み合わせにより実装される請求項１１の装置。
【請求項１７】
前記グラフィックスファイルを受信し、又は、前記バイナリーフォーマットされたファイルを少なくとも一つの遠隔のビデオ対応装置へ送信するための通信ユニットを更に含む請求項１１の装置。
【請求項１８】
前記装置は、携帯電話、ビデオゲームコンソール、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、ビデオ対応装置、及び、オーディオ／ビデオ対応装置からなるグループから選択される請求項１１の装置。
【請求項１９】
コンピュータ・グラフィックスをレンダリングするための装置において、
前記装置は、
グラフィックスファイルをＣ／Ｃ＋＋ファイルに変換するための第１の手段と、
前記Ｃ／Ｃ＋＋ファイルを、バイナリーフォーマットされたファイルへコンパイルするための第２の手段とを含む装置。
【請求項２０】
前記第１の手段手段は、スケーラブルベクタグラフィックス（ＳＶＧ）言語を用いて生成された前記グラフィックスファイルを変換する請求項１９の装置。
【請求項２１】
前記第１の手段は、前記グラフィックスファイルを構文解析するための手段を含む請求項１９の装置。
【請求項２２】
前記第１の手段は、ＯｐｅｎＶＧアプリケーションプログラミングインターフェース（ＡＰＩ）及び無線用バイナリーランタイム環境（ＢＲＥＷ）ＡＰＩを用いて、前記Ｃ／Ｃ＋＋ファイルを変換する請求項１９の装置。
【請求項２３】
前記第２の手段は、ジャストインタイム（ＪＩＴ）コンパイラを用いて、前記Ｃ／Ｃ＋＋ファイルをコンパイルする請求項１９の装置。
【請求項２４】
前記装置は、携帯電話、ビデオゲームコンソール、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、及びオーディオ／ビデオ対応装置からなるグループから選択される請求項１９の装置。
【請求項２５】
コンピュータプロセッサに、
グラフィックスファイルをＣ／Ｃ＋＋ファイルに変換させ、
前記Ｃ／Ｃ＋＋ファイルを、少なくとも一つのビデオ対応装置と互換性のあるバイナリーフォーマットされたファイルへコンパイルさせる、
ためのインストラクションを有するコンピュータ読み取り可能な媒体を含むコンピュータプログラムプロダクト。
【請求項２６】
前記グラフィックスファイルは、スケーラブルベクタグラフィックス（ＳＶＧ）言語のファイルである請求項２５のコンピュータプログラムプロダクト。
【請求項２７】
前記コンピュータ読み取り可能な媒体は、前記コンピュータプロセッサに、
ＯｐｅｎＶＧアプリケーションプログラミングインターフェース（ＡＰＩ）及び無線用バイナリーランタイム環境（ＢＲＥＷ）ＡＰＩを用いて、前記グラフィックスファイルを変換させるためのインストラクションを含む請求項２５のコンピュータプログラムプロダクト。
【請求項２８】
前記コンピュータ読み取り可能な媒体は、前記コンピュータプロセッサに、
ジャストインタイム（ＪＩＴ）コンパイラを用いて、前記Ｃ／Ｃ＋＋ファイルをコンパイルさせるためのインストラクションを含む請求項２５のコンピュータプログラムプロダクト。
【請求項２９】
前記コンピュータ読み取り可能な媒体は、前記コンピュータプロセッサに、無線通信装置において前記バイナリーフォーマットされたファイルを実行させるためのインストラクションを更に含む請求項２５のコンピュータプログラムプロダクト。
【請求項３０】
請求項２５に従う前記コンピュータ読み取り可能な媒体に含まれるインストラクションを実行するためのコンピュータプロセッサを含むビデオ対応装置において、
前記ビデオ対応装置は、携帯電話、ビデオゲームコンソール、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、及びオーディオ／ビデオ対応装置からなるグループから選択されるビデオ対応装置。
【請求項３１】
コンピュータ・グラフィックスをレンダリングするための方法において、
スケーラブルベクタグラフィックス（ＳＶＧ）言語を用いて生成されたグラフィックスファイルを構文解析することと、
前記構文解析されたファイルをＣ／Ｃ＋＋ファイルへ変換することと、
前記Ｃ／Ｃ＋＋ファイルをバイナリーフォーマットされたファイルへコンパイルすることと、
前記バイナリーフォーマットされたファイルを、少なくとも一つのビデオ対応装置上で実行することを含む方法。
【請求項３２】
前記ファイルを構文解析する前記ステップは、ＯｐｅｎＶＧアプリケーションプログラミングインターフェース（ＡＰＩ）及び無線用バイナリーランタイム環境（ＢＲＥＷ）ＡＰＩを用いて、前記グラフィックスファイルを変換する請求項３１の方法。
【請求項３３】
前記Ｃ／Ｃ＋＋ファイルをコンパイルする前記ステップは、ジャストインタイム（ＪＩＴ）コンパイラを用いることを更に含む請求項３１の方法。
【請求項３４】
前記装置は、携帯電話、ビデオゲームコンソール、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、及びオーディオ／ビデオ対応装置からなるグループから選択される請求項３１の方法。
【請求項３５】
コンピュータ・グラフィックスをレンダリングするための方法において、
スケーラブルベクタグラフィックス（ＳＶＧ）言語を用いて、グラフィックスファイルを生成することと、
前記グラフィックスファイルを構文解析することと、
前記構文解析されたファイルをＣ／Ｃ＋＋ファイルへ変換することと、
前記Ｃ／Ｃ＋＋ファイルをバイナリーフォーマットされたファイルへコンパイルすることを含む方法。
【請求項３６】
前記変換するステップは、前記構文解析されたファイルを変換するために、ＯｐｅｎＶＧアプリケーションプログラミングインターフェース（ＡＰＩ）及び無線用バイナリーランタイム環境（ＢＲＥＷ）ＡＰＩを用いることを含む請求項３５の方法。
【請求項３７】
前記コンパイルするステップは、前記Ｃ／Ｃ＋＋ファイルをコンパイルするために、ジャストインタイム（ＪＩＴ）コンパイラを用いることを含む請求項３５の方法。
【請求項３８】
前記装置は、携帯電話、ビデオゲームコンソール、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、及びオーディオ／ビデオ対応装置からなるグループから選択される請求項３５の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
この出願は、２００７年２月１６日付け提出され、参照によって本明細書に組み込まれる米国仮出願第６０／８９０，１９３号の優先権を主張する。
【０００２】
本発明は、一般にコンピュータ・グラフィックスの分野に関し、より詳しくはコンピュータ・グラフィックスのレンダリング技術に関する。
【背景技術】
【０００３】
拡張記述言語（Extensible Markup Language）（ＸＭＬ）に基づくグラフィックス言語及びとりわけスケーラブルベクタグラフィックス（Scalable Vector Graphics）（ＳＶＧ）は、例えばアニメーション、モバイルメッセンジャー、ビデオゲーム、ビジネスアプリケーション、ユーザインタフェースなどのようなコンピュータ・グラフィックスをレンダリングするためのコンピュータ及びモバイルデバイスに用いられる。ＳＶＧベースのアプリケーションの実行中に、ＸＭＬはインタプリタ型言語として機能し、それゆえ、コンピュータ・グラフィックスをレンダリングするための柔軟且つシステムに依存しないＳＶＧ／ＸＭＬプラットフォームを形成する。
【０００４】
これら特徴は、ＳＶＧを、例えば、ワールドワイドウェブサイトのためのワールドワイドウェブコンソーシアム（Ｗ３Ｃ）標準言語にした。しかしながら、ＳＶＧ／ＸＭＬグラフィックスプラットフォームの効率的な動作は、多くの場合にモバイルデバイスの性能を越える量のコンピュータ資源及びエネルギーを要求する。モバイルデバイスにおけるビデオデータ処理の速度を増すことに向けられたかなりの取り組みにもかかわらず、さらなる改良は望ましいであろう。
【発明の概要】
【０００５】
コンピュータ・グラフィックスをレンダリングするための技術が本明細書で説明される。一つの実施形態において、ベクタグラフィックス言語（vector graphics language）（例えば、ＳＶＧ）を用いて生成されたグラフィックスファイルは、Ｃ／Ｃ＋＋ファイルに変換される。Ｃ／Ｃ＋＋ファイルは、ビデオ対応（video-enabled）デバイス上で実行可能なバイナリーフォーマットファイルにコンパイルされる。
【０００６】
一つのデザインにおいて、本発明の方法は、例えば携帯電話（cellular phones）、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、ビデオゲームコンソール、オーディオ／ビデオ対応デバイス（例えば、ＭＰ３プレーヤー）などのような、モバイル通信機器、ビジネス機器、又は娯楽機器において、グラフィックスをレンダリングするために用いられる。
【０００７】
以下では、本発明の様々な態様及び実施形態がさらに詳しく説明される。
【０００８】
本発明の概要は、本発明の全限界及び全範囲を表現したものであると解釈されることを意図しておらずまたそのように解釈されるべきではなく、これら態様及び追加の態様は、詳細な説明から、とりわけ添付の図面が総合されたときに、より容易に明らかになるであろう。
【図面の簡単な説明】
【０００９】
【図１】図１は、コンピュータ・グラフィックスをレンダリングするための方法を説明するフローチャートを示す。
【図２】図２は、図１の方法を使用するように構成された、例となる（exemplary）ビデオ対応デバイスのハイレベルブロック図を示す。
【図３】図３は、図２のデバイスを含む、例となる無線通信システムのハイレベル概略図を示す。
【詳細な説明】
【００１０】
図面におけるイメージは、説明に役立てる目的で簡易化されており、また、基準化するように描かれていない。理解を容易にするために、図面に共通している同一の要素を指すために可能な場合には、そのような要素を区別するために適切な場合に添え字が付加され得ることを除いて、同一の参照数字が使用されている。
【００１１】
添付の図面は、本発明の例となる実施形態を説明しており、そのようなものとして、他の同等の効果的な実施形態を許容し得る本発明の範囲を制限するものとして考えられるべきではない。一つの実施形態の特徴又はステップが、さらなる詳述なしに、他の実施形態に有益に組み込まれ得ることが予期される。
【００１２】
用語“例となる（exemplary）”は、“一つの例（example）、事例（instance）、又は実例（illustration）として役立つこと”を意味するために、本明細書で用いられる。“例となる（exemplary）”として本明細書で説明される実施形態又はデザインは、必ずしも他の実施形態又はデザインより好ましい又は有利であると解釈される必要はない。また、用語“コア（core）”、“エンジン（engine）”、“マシン（machine）”、“プロセッサ（processor）”及び“処理ユニット（processing unit）”は、互換的に使用される。
【００１３】
図面を参照して、図１は、本発明の一つの実施形態に従って、コンピュータ・グラフィックスをレンダリングするための方法１００を説明するためのフローチャートを表現する。例となるアプリケーションにおいて、方法１００は、アニメーション、ビデオゲーム、ユーザインタフェースなどを含むコンピュータ・グラフィックス・アプリケーションをレンダリングするために、モバイルの（すなわち、無線の）及び固定された（stationary）通信デバイス又はビデオ対応デバイスの中でもとりわけ、携帯電話、ビデオゲームコンソール、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、及びビデオ対応ＭＰ３プレーヤーにおいて、用いられても良い。
【００１４】
様々な実施形態において、方法１００のステップは、描かれた順番で実行される。しかしながら、これらステップのうちの少なくとも二つのステップ又はこれらステップのうちの少なくとも二つの部分は、同時期に（contemporaneously）、並行して（in parallel）、又は、異なる順番で実行されても良い。例えば、ステップ１２０と１３０との部分、又は、ステップ１４０と１５０との部分は、同時期に、又は、並行して、実行されても良い。また、以下で説明される他のプロセス又はルーティンの少なくとも一部分の実行の順序が修正されても良いことを、当業者は容易に理解するであろう。
【００１５】
以後、ＳＶＧを用いて生成されたコンピュータ・グラフィックス・プログラム又はアプリケーションのレンダリングという文脈の中で、本発明の態様が例を使って説明される。用語“ＳＶＧファイル（ＳＶＧ file）”及び“ＳＶＧファイル（ＳＶＧ files）”は、そのようなプログラム又はアプリケーションのグラフィックスファイルに関連して用いられる。
【００１６】
また、本発明がＳＶＧ以外のグラフィックス・プログラム及びアプリケーションという文脈の中で利用されても良いことは、当業者には理解されるであろう。様々なベクタグラフィックス言語を用いて生成された２Ｄ／３Ｄのコンピュータ・グラフィックスをレンダリングするための方法１００の利用が熟考された。それは本発明の範囲内である。
【００１７】
ステップ１１０において、コンピュータ・グラフィックス・ファイルは、ＸＭＬベースのベクタグラフィックス言語を用いて生成されても良い。一つの例となる実施形態において、コンピュータ・グラフィックス・ファイルは、ＳＶＧファイルであっても良い。そのようなファイルは、例えばコンピュータビデオゲーム、アニメーション、ビジネスアプリケーション、ユーザ・グラフィックス・インタフェースなどのようなグラフィックス・プログラム又はグラフィックス・アプリケーションを一緒に形成する複数個のファイルのうちの一つであっても良い。
【００１８】
ＳＶＧファイルは、ワールドワイドウェブサイトのグラフィックスエンジンと互換性があり、各種のオーディオ／ビデオ対応モバイルデバイス（例えば、ＭＰ３プレーヤーなど）に加えて、携帯電話、ビデオゲームコンソール、携帯情報端末（ＰＤＡ）、及びラップトップコンピュータを含むビデオ対応モバイルデバイス上でも実行できる。いままで、ＳＶＧアプリケーション（すなわち、ＳＶＧを用いて生成されたアプリケーションプログラム）の多数のライブラリーが開発された。そして、そのようなプログラムの数が増え続けている。
【００１９】
ステップ１２０において、そのＳＶＧファイルは、実行のために、個々のコンピュータ端末（例えば、モバイルビデオ対応デバイス又はオーディオ／ビデオ対応デバイス）に送信され、又は、実行のために、その端末のメモリから取り出される（retrieved）。
【００２０】
ステップ１３０にて、そのＳＶＧファイルは、構文解析（parsed）される。具体的には、ステップ１３０の間に、そのＳＶＧファイルの文法構造を判定するために、そのファイルの構文解析（syntax analysis）が実行される。構文解析（parsing）プロセスは、そのＳＶＧファイルを、そのＳＶＧファイルの階層構造（hierarchy）をとらえる（captures）データ構造に変換し、その構文解析されたファイルの具体的な構文木（syntax tree）を生成する。
【００２１】
ステップ１４０において、その構文解析されたＳＶＧファイルは、対応するＣ又はＣ＋＋ファイルへ変換される。その構文解析されたＳＶＧは、例えば、ネイティブグラフィックス・アプリケーションプログラミングインターフェース（native graphics Application Programming Interface）（ＡＰＩ）及びネイティブイベントハンドリング（native event handling）ＡＰＩを用いて、Ｃ＋＋ファイルへ変換されても良い。一つの実施形態において、ステップ１４０は、コンピュータ・グラフィックス・インダストリー・コンソーシアム“クロノス・グループ（Khronos Group）”により開発されたＯｐｅｎＶＧ（登録商標）ＡＰＩ及びカリフォルニア州サンディエゴのクゥアルコム・インコーポレイテッド（Qualcomm Inc. of San Diego， California）により開発された無線用バイナリーランタイム環境（Binary Runtime Environment for Wireless）（ＢＲＥＷ）を利用する。ＯｐｅｎＶＧ ＡＰＩは、ビデオ対応デバイスの中でもとりわけ、携帯電話及びビデオゲームコンソールで使用される、ハードウェア加速２Ｄベクタグラフィックス（hardware accelerated 2D vector graphics）に特に適合されている。
【００２２】
ステップ１５０において、ステップ１４０のＣ／Ｃ＋＋ファイルは、少なくとも一つの予め定められたバイナリーフォーマットにコンパイルされる。具体的には、そのＣ／Ｃ＋＋ファイルは、特定のビデオ対応デバイス上で実行できる１又は複数のバイナリーファイルにコンパイルされても良い。一般に、ステップ１５０は、入力されたＣ／Ｃ＋＋ファイルのソースコードを、実行可能なバイナリーオブジェクトコード又はバイトコードに変換する。コンパイラは、それぞれのビデオ対応デバイスのメモリに存在するコンピュータプログラムとして実現されても良い。
【００２３】
一つの実施形態において、Ｃ／Ｃ＋＋ファイルは、ジャストインタイム（Just-In-Time）（ＪＩＴ）コンパイラを用いてコンパイルされる。ＪＩＴは、入力してくる（incoming）Ｃ／Ｃ＋＋ファイルを、実行時に、デバイス固有のバイトコードにコンパイルする。それゆえ、バイナリーオブジェクトコードの実行速度を増加させており、そのようなものとしてそのオリジナルのＳＶＧファイルの実行速度を増加させている。
【００２４】
ステップ１６０において、ビデオ対応デバイスは、そのオリジナルのＳＶＧファイルに対応するバイナリーファイルを実行し、これによって、そのデバイスのディスプレイ上に、それぞれのコンピュータ・グラフィックス・イメージをレンダリングする。
【００２５】
ソフトウェアプログラムと、任意的に、ステップ１２０，１３０，１４０及び１５０の実行を支援するハードウェア手段は、一緒に、それぞれのビデオ対応デバイスのＳＶＧバイナライゼイターを形成する。
【００２６】
任意的なステップ１７０において、ビデオ対応デバイスは、そのバイナリーファイルを、少なくとも一つの他のビデオ対応デバイスへ送信する。例えば、そのバイナリーファイルは、バイナライゼイターを持たないがバイナリーグラフィックスファイルの実行に適合したデバイスへ送信されても良い。
【００２７】
動作中、上記の方法１００のステップは、それぞれのグラフィックス・アプリケーションのＳＶＧファイルのすべてについて、逐次的に繰り返される。その代わりに、これらＳＶＧファイルの少なくとも一部が、同時期に又は並列してバイナライズされても良い。
【００２８】
例となる実施形態において、方法１００は、ハードウェア、ソフトウェア、ファームウェア、又は、１又は複数のコンピュータ実行可能なインストラクションを含むコンピュータプログラムプロダクトの形でのそれらの組み合わせにより実装されても良い。ソフトウェアにより実装される場合には、そのコンピュータプログラムプロダクトは、コンピュータ記憶媒体（computer storage medium）及びコンピュータ通信媒体（computer communication medium）を含むコンピュータ読み取り可能な媒体を用いて記憶又は送信されても良い。
【００２９】
本明細書において、用語“コンピュータ記憶媒体（computer storage medium）”は、コンピュータに本方法を実行させるインストラクションを記憶するように構成された任意の媒体を指す。制限ではなく、一例として、コンピュータ記憶媒体は、電子記憶装置（例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭなど）、光学記憶装置（例えば、コンパクトディスク（ＣＤ）、デジタルバーサタイルディスク（ＤＶＤ）など）、若しくは磁気記憶装置（例えば、ハードディスクドライブ、フラッシュドライブ、テープドライブなど）、若しくはそのコンピュータプログラムプロダクトを記憶するように構成された他のメモリデバイス、又は上記記憶装置の組み合わせを含む固体記憶装置を含む。
【００３０】
本明細書において、用語“コンピュータ通信媒体（computer communication medium）”は、例えば、変調された搬送波、光信号、ＤＣ又はＡＣ電流、及び同類の手段を用いて、そのコンピュータプログラムプロダクをある場所から他の場所へ送信するように構成された任意の物理インタフェースを指す。制限ではなく、一例として、コンピュータ通信媒体は、ツイストペア線、プリントケーブル若しくはフラットケーブル、同軸ケーブル、光ファイバー・ケーブル、デジタル加入者線（ＤＳＬ）、又は他の有線、無線若しくは光学のシリアル若しくはパラレルのインタフェース、又はそれらの組み合わせを含む。
【００３１】
図２は、本発明の一つの実施形態に従って、図１の方法を使用するように構成された、例となるモバイルビデオ対応デバイスのハイレベルブロック図を示す。デバイス２００は、例として、ディスプレイ２１０、ユーザコントロール２２０、通信ユニット２３０、処理モジュール２４０、及びメモリ２５０を含む。描かれた実施形態において、デバイス２００は、携帯電話である。他の実施形態において、デバイス２００は、モバイルの又は固定されたビデオ対応デバイスの中でもとりわけ、ビデオゲームコンソール、ラップトップコンピュータ、ＰＤＡ、又はビデオ対応ＭＰ３プレーヤーであっても良い。
【００３２】
一般に、ディスプレイ２１０は、英数字情報、予め定められた記号、及びグラフィックスの表示に適合したグラフィックス対応ビデオディスプレイ（例えば、液晶ディスプレイ（ＬＣＤ））であっても良い。ユーザコントロール２２０は、典型的には、キーパッド、１又は複数のプッシュボタン、又はデバイス２００とのユーザインタフェースを可能にする同様のアクチュエータを含む。
【００３３】
通信ユニット２３０は、一般に、アンテナ及び送信機／受信機モジュールを含み、動作中、無線通信システムの基地局又は他の無線デバイスへの通信リンクを提供する。幾つかの実施形態において、通信ユニット２３０はまた、外部デバイス又はコンピュータ端末との有線インタフェース（例えば、ユニバーサルシリアルバス（ＵＳＢ）など）を含んでも良い。
【００３４】
処理モジュール２４０は、１又は複数のマイクロプロセッサ又はマイクロコントローラを含み、デジタル信号処理（ＤＳＰ）回路をサポートする。動作中、処理モジュール２４０は、デバイス２００のコンポーネントのオペレーションと、メモリ２５０に記憶されたプログラム及びルーティンの実行とを管理する。一般に、処理モジュール２４０は、グラフィックス・プロセッシング・ユニット（ＧＰＵ）を含み、少なくとも一つの集積回路（ＩＣ）又はその一部として製造される。
【００３５】
ＧＰＵは、例えば、公的に入手可能な文献“OpenVG Specification, Version 1.0,” July 28, 2005に準拠していても良い。この文献は、例えば携帯電話及び他の前記の無線通信装置のようなハンドヘルドデバイス及びモバイルデバイスに適している２−Ｄベクタグラフィックスのための標準である。さらに、ＧＰＵはまた、ＯｐｅｎＧＬ２．０、ＯｐｅｎＧＬ ＥＳ２．０、又はＤ３Ｄ９．０グラフィックス標準に準拠していても良い。
【００３６】
メモリ２５０（例えば、固体電子メモリ（solid state electronic memory））には、一般に、アプリケーション・プログラム、ユーザデータ及びシステムプログラムが入っている。システムプログラムの実行は、機能的特色を活性化し、デバイス２００の操作性を促進する。描かれた実施形態において、アプリケーション・プログラムは、ＳＶＧグラフィックスファイル２５２を含む１又は複数のプログラムを含み、システムプログラムは、ＳＶＧバイナライゼイター２５４を含む。
【００３７】
動作中、ＳＶＧバイナライゼイター２５４は、ＳＶＧグラフィックスファイル２５２を、メモリ２５０に記憶されるか（図のように）又は実質的にはリアルタイムにデバイス２００上で実行される、バイナリーグラフィックスファイル２５６に、選択的に変換する。
【００３８】
バイナリーグラフィックスファイル２５６は、処理モジュール２４０により実行され、それらグラフィックスコンテンツは、ディスプレイ２１０上にレンダリングされる。任意的に、バイナリーグラフィックスファイル２５６は、通信ユニット２３０を用いて、該デバイス２００と通信する（１又は複数の）外部デバイスへ転送されても良い。
【００３９】
図３は、本発明の一つの実施形態に従った、図２のデバイス２００を含む、例となる無線通信システム３００のハイレベル概略図を示す。
【００４０】
システム３００は、例として、アンテナ３０４を持つ基地局３０２、複数個の無線デバイス２００（例えば、携帯電話）、及び複数の任意的なデバイス３１０（例えば、ＰＤＡ）を含む。描かれた実施形態において、基地局３０２とデバイス２００は、双方向の無線インタフェース３０６を用いて接続される。同様に、デバイス２００とデバイス３１０は、有線又は無線の双方向インタフェース（図のように）又は一方向インタフェースを用いて接続される。
【００４１】
幾つかの実施形態において、インタフェース３０６を通して、基地局３０２は、それぞれのデバイス２００へ、ＳＶＧファイルを含むデータメッセージを送信しても良い。他の実施形態において、デバイス２００に予めロードされ或いはその代わりにインタフェース３０６を用いてダウンロードされるアプリケーション・プログラムが、ＳＶＧファイルを含んでいても良い。
【００４２】
デバイス２００において、ＳＶＧファイルは、バイナライズされ、それらグラフィカルコンテンツは、そのそれぞれのバイナリーファイルを実行することによって、レンダリングされる。また、インタフェース３０６を用いることによって、そのバイナライズされたＳＶＧファイルは、一つのデバイス２００から、（１又は複数の）他のデバイス２００へ、送信されても良い。同様に、インタフェース３０８を用いることによって、そのバイナライズされたＳＶＧファイルは、それぞれのデバイス３１０へ、送信されても良い。
【００４３】
代わりの実施形態（図示せず）において、配線された（wired）デバイス２００（例えば、ビデオゲームコンソール）及びデバイス３１０は、ＳＶＧファイルを含むコンテンツのソースがある有線ネットワークへ接続されても良い。
【００４４】
先の本開示の説明は、当業者が本開示を製造又は使用するのを可能にするために提供される。本開示に対するさまざまな修正は当業者には容易に明白になり、本明細書で定義される一般的原理は、本開示の精神又は範囲から逸脱することなく、他のバリエーションに適用可能である。それゆえ、本開示は、本明細書で説明される例に限定されるものではなく、本明細書で開示された原理及び新規な特徴に合致する最も広い範囲に認められるべきである。
【図１】
2010533896.tif 000003
【図２】
2010533896.tif 000004
【図３】
2010533896.tif 000005
【国際調査報告】
2010533896.tif 000006
2010533896.tif 000007
2010533896.tif 000008