(57)【要約】メディアデバイスに豊富なコンテンツを提供する方法および装置が開示される。情報コンテンツは、伝送用のコンテンツプロバイダシステムにおいて無線通信ネットワークを介してメディアデバイスに変換される。変換されたコンテンツは、メディアデバイスにおけるメディセンジンによって処理される。コンテンツは、好適には、コンテンツプロバイダシステムにおいて、別個のビジュアルエレメントおよびビヘイビアエレメントを有するバイナリフォーマットに変換される。【選択図】図１
2005507098.tif 000002
【特許請求の範囲】
【請求項１】
メディアデバイスと通信するためにネットワークに接続するコンテンツプロバイダシステムであって、
該ネットワークを介して該メディアデバイスと通信する通信サブシステムと、
該通信サブシステムに接続されたアプリケーションであって、該メディアデバイスからコンテンツのリクエストを受信し、かつ、これに応答して、リクエストされたコンテンツをデータストアから取り出すための、アプリケーションと、
該アプリケーションに接続されたコンバータであって、該リクエストされたコンテンツをバイナリフォーマットにフォーマットする、該リクエストされたバイナリフォーマットのコンテンツが、該通信サブシステムを通じて該メディアデバイスに送信されるための、コンバータと
を備える、コンテンツプロバイダシステム。
【請求項２】
コンテンツの１つのリクエストに応答してフォーマットされた、前記リクエストされた前記バイナリフォーマットのコンテンツは、ビジュアルグラフによって表されるビジュアルエレメント、およびシーケンスグラフによって表されるビヘイビアエレメントを含み、該ビジュアルグラフおよび該シーケンスグラフは、メディアデバイスによって別々にレンダリングするためのものである、請求項１に記載のコンテンツプロバイダシステム。
【請求項３】
前記コンテンツは、データストアにマークアップ言語で格納される、請求項２に記載のコンテンツプロバイダシステム。
【請求項４】
前記マークアップ言語は、ハイパーテキストマークアップ言語、エクステンシブルマークアップ言語、および、スケーラブルベクトルグラフィック言語を有するエクステンシブルマークアップ言語の１つを含む、請求項３に記載のコンテンツプロバイダシステム。
【請求項５】
前記リクエストされたバイナリフォーマットのコンテンツは、前記メディアデバイスのメモリ内のリクエストされたコンテンツと実質的に同じである、請求項１に記載のコンテンツプロバイダシステム。
【請求項６】
前記それぞれのメディアデバイスからデバイス情報を受信し、かつ、コンテンツの前記リクエストに応答して、前記アプリケーションを配向して、該デバイス情報に基づいて、該それぞれのメディアデバイスの利用可能なデバイスリソースとより一致する該リクエストされたコンテンツを提供するためのリソースセレクタをさらに備える、請求項１に記載のコンテンツプロバイダシステム。
【請求項７】
前記リソースセレクタは、コンテンツによるオーガナイズおよびでデバイスによるソート、デバイスによるオーガナイズおよびコンテンツによるソート、ならびに命名規則によるオーガナイズの少なくとも１つを含むパターンベースの規則を用いて、前記デバイスリソースに基づいてコンテンツをオーガナイズする、請求項６に記載のコンテンツプロバイダシステム。
【請求項８】
前記リソースセレクタは、リクエストするメディアデバイスの前記デバイス情報に基づいて前記リクエストされたコンテンツを変更するように前記アプリケーションを配向する、請求項６に記載のコンテンツプロバイダシステム。
【請求項９】
前記リソースセレクタは、リダイレクト配置戦略によって用いられる、請求項６に記載のコンテンツプロバイダシステム。
【請求項１０】
前記リソースセレクタは、書き換え配置戦略によって用いられる、請求項６に記載のコンテンツプロバイダシステム。
【請求項１１】
コンテンツの前記リクエストの各々は、前記メディアデバイスのそれぞれの１つと関連付けられた一意的識別子を含む、請求項１に記載のコンテンツプロバイダシステム。
【請求項１２】
前記アプリケーションは、前記メディアデバイスのそれぞれ１つに送信される、前記リクエストされたコンテンツをパーソナライズするために、該メディアデバイスのそれぞれ１つと関連付けられた前記一意的識別子を用いる、請求項１１に記載のコンテンツプロバイダシステム。
【請求項１３】
前記アプリケーションは、前記メディアデバイスの前記それぞれ１つにインターネットアクセスを提供するために、該メディアデバイスのそれぞれ１つと関連付けられた前記一意的識別子を用いる、請求項１１に記載のコンテンツプロバイダシステム。
【請求項１４】
前記データストアは、少なくとも１つのローカルデータストアおよび外部データストアを含む、請求項１に記載のコンテンツプロバイダシステム。
【請求項１５】
前記コンバータは、
前記リクエストされたコンテンツを前記データストアから読み出して、該リクエストされたコンテンツのドキュメントオブジェクトモデルを生成するリーダーと、
該ドキュメントオブジェクトモデルをバイナリフォーマットオブジェクトモデルに変換するコンパイラと、
該バイナリフォーマットオブジェクトモデルをバイナリフォーマットファイルに書き込むためのライターであって、該バイナリフォーマットファイルは、前記メディアデバイスに送信するための前記通信サブシステムに提供される、ライターと
を備える、請求項３に記載のコンテンツプロバイダシステム。
【請求項１６】
前記コンバータは、
前記リクエストされたコンテンツを前記データストアから読み出して、該リクエストされたコンテンツのドキュメントオブジェクトモデルを生成するリーダーと、
該ドキュメントオブジェクトモデルをバイナリフォーマットファイルに書き込むライターであって、該バイナリフォーマットファイルは、該メディアデバイスに送信するための前記通信サブシステムに提供される、ライターと
を備える、請求項１に記載のコンテンツプロバイダシステム。
【請求項１７】
前記リクエストされた前記バイナリフォーマットのコンテンツは、前記メディアデバイスの前記メモリ内の前記リクエストされたコンテンツと実質的に同じである、請求項２に記載のコンテンツプロバイダシステム。
【請求項１８】
ファイルシステムのナビゲータページを生成し、かつ、該ファイルシステムのコンテンツのリクエストに応答して、該リクエストされたコンテンツとして該ナビゲータページを提供するコンテンツナビゲータをさらに備える、請求項１に記載のコンテンツプロバイダシステム。
【請求項１９】
前記コンテンツナビゲータは、前記ナビゲータページをマークアップ言語で生成し、かつ、前記ファイルシステムのコンテンツの前記リクエストに応答して、前記バイナリフォーマットにフォーマットするために、前記コンバータに該ナビゲータページを提供する、請求項１８に記載のコンテンツプロバイダシステム。
【請求項２０】
ネットワークに接続して、コンテンツのコンテンツプロバイダシステムにアクセスするためのメディアデバイスであって、
該ネットワークを介して該コンテンツプロバイダシステムと通信するためのデバイス通信サブシステムと、
ユーザと双方向通信するためのディスプレイおよびユーザインターフェースを有するデバイスインフラストラクチャと、
コンテンツのリクエストを該コンテンツプロバイダシステムに送信し、かつリクエストされたコンテンツを受信し、これに応答して、該リクエストされたコンテンツを該デバイスインフラストラクチャ上にレンダリングするために、該デバイス通信サブシステムおよび該デバイスインフラストラクチャに接続されるメディアエンジンと
を備える、メディアデバイス。
【請求項２１】
前記メディアエンジンは、
前記リクエストされたコンテンツを受信および読み出し、かつ該リクエストされたコンテンツをメモリに配置するリーダーと、
前記ユーザと双方向通信するために、メモリ内の該リクエストされたコンテンツを前記デバイスインフラストラクチャ上にレンダリングするレンダーと
を備える、請求項２０に記載のメディアデバイス。
【請求項２２】
前記リクエストされたコンテンツは、バイナリフォーマットで受信される、請求項２１に記載のメディアデバイス。
【請求項２３】
前記リクエストされたコンテンツは、前記バイナリフォーマットで受信され、かつビジュアルグラフによって表されるビジュアルエレメント、およびシーケンスグラフによって表されるビヘイビアエレメントを含み、該ビジュアルグラフおよび該シーケンスグラフは、前記メディアエンジンによって別々にレンダリングするためのものである、請求項２２に記載のメディアデバイス。
【請求項２４】
前記リクエストされた前記バイナリフォーマットコンテンツは、前記メディアデバイスの前記メモリ内の前記リクエストされたコンテンツと実質的に同じである、請求項２２に記載のメディアデバイス。
【請求項２５】
前記リクエストされた前記バイナリフォーマットのコンテンツは、前記メディアデバイスの前記メモリ内の前記リクエストされたコンテンツと実質的に同じである、請求項２３に記載のメディアデバイス。
【請求項２６】
前記メディアエンジンは、前記コンテンツプロバイダシステムにデバイス情報を提供し、従って、前記リクエストされたコンテンツは、利用可能なデバイスリソースとより一致する、請求項２０に記載のメディアデバイス。
【請求項２７】
前記メディアエンジンは、リダイレクト配置戦略および書き換え配置戦略の１つを用いて、利用可能なデバイスリソースとより一致するような前記リクエストされたコンテンツを受信する、請求項２６に記載のメディアデバイス。
【請求項２８】
前記メディアエンジンは、前記コンテンツのリクエストの中に一意的識別子を含む、請求項２０に記載のメディアデバイス。
【請求項２９】
コンテンツのコンテンツプロバイダシステムにアクセスするためにネットワークに接続されたメディアデバイスのメディアエンジンであって、該メディアデバイスは、
該コンテンツプロバイダシステムと通信するためのデバイス通信サブシステムと、
ユーザと双方向通信するためのディスプレイおよびユーザインターフェースを有するデバイスインフラストラクチャと、
該デバイス通信サブシステムおよび該デバイスインフラストラクチャに接続された該メディアエンジンとを備え、
該メディアエンジンは、
該リクエストされたコンテンツを受信および読み出し、かつ該リクエストされたコンテンツをメモリに配置するためのリーダーと、
メモリ内の該リクエストされたコンテンツを該デバイスインフラストラクチャ上にレンダリングするためのレンダーと
を備える、メディアエンジン。
【請求項３０】
前記リクエストされたコンテンツは、バイナリフォーマットで受信される、請求項２９に記載のメディアエンジン。
【請求項３１】
前記リクエストされたコンテンツは、前記バイナリフォーマットで受信され、ビジュアルグラフによって表されるビジュアルエレメント、およびシーケンスグラフによって表されるビヘイビアエレメントを含み、該ビジュアルグラフおよび該シーケンスグラフは、前記メディアエンジンによって別々にレンダリングするためのものである、請求項２０に記載のメディアエンジン。
【請求項３２】
前記リクエストされた前記バイナリフォーマットのコンテンツは、前記メディアデバイスの前記メモリ内の前記リクエストされたコンテンツと実質的に同じである、請求項３０に記載のメディアエンジン。
【請求項３３】
前記リクエストされた前記バイナリフォーマットのコンテンツは、前記メディアデバイスの前記メモリ内の前記リクエストされたコンテンツと実質的に同じである、請求項３１に記載のメディアエンジン。
【請求項３４】
前記コンテンツプロバイダシステムにデバイス情報が提供され、従って、前記リクエストされたコンテンツが利用可能なデバイスリソースとより一致する、請求項２９に記載のメディアエンジン。
【請求項３５】
前記受信された、リクエストされたコンテンツは、リダイレクト配置戦略および書き換え配置戦略の１つを用いることにより、利用可能なデバイスリソースとより一致する、請求項３４に記載のメディアエンジン。
【請求項３６】
一意的識別子は、コンテンツのリクエストの中に含まれる、請求項２９に記載のメディアエンジン。
【請求項３７】
コンテンツプロバイダシステム上に配置する前に、コンテンツを検証するためのシミュレーションシステムであって、該コンテンツプロバイダシステムは、ネットワークを介して該コンテンツをメディアデバイスに提供し、該シミュレーションシステムは、
複数のデバイスシミュレータであって、各々が１つのタイプのメディアデバイスをエミュレートする、複数のデバイスシミュレータと、
該コンテンツをバイナリフォーマットにフォーマットするためのコンバータと、
該デバイスシミュレータの各々に該バイナリフォーマットの該コンテンツをレンダリングするためのメディアエンジンと
を備える、シミュレーションシステム。
【請求項３８】
前記コンテンツは、マークアップ言語で生成される、請求項３７に記載のシミュレーションシステム。
【請求項３９】
前記デバイスシミュレータの各々は、前記コンテンツと双方向通信するためのユーザインターフェースをさらに備える、請求項３７に記載のシミュレーションシステム。
【請求項４０】
コンテンツをメディアデバイス上にレンダリングする方法であって、該メディアデバイスは、メモリを有し、該方法は、
コンテンツを受信する工程であって、該コンテンツは、ビジュアルグラフによって表されるビジュアルエレメント、およびシーケンスグラフによって表されるビヘイビアエレメントを含む、工程と、
該コンテンツをレンダリングし、かつレンダリングするための該メディアデバイスの該メモリに該コンテンツを配置する工程と、
該ビジュアルグラフをレンダリングする工程と、
該シーケンスグラフをレンダリングして、該シーケンスグラフの該レンダリングにより、該ビジュアルグラフを変更する工程と、
該シーケンスグラフの該レンダリングが完了したか否かを決定し、完了した場合、終了し、かつ、完了していない場合、該ビジュアルグラフの該レンダリングに進み、該ビジュアルグラフの該レンダリングを継続する工程と
を包含する、方法。
【請求項４１】
前記コンテンツは、バイナリフォーマットの前記メディアデバイスによって受信される、請求項４０に記載の方法。
【請求項４２】
前記シーケンスグラフの前記レンダリングは、ユーザ入力を受信する工程をさらに包含する、請求項４０に記載の方法。
【請求項４３】
ネットワークを介して接続するメディアデバイスにコンテンツを提供する方法であって、
該ネットワークを介して該メディアデバイスからコンテンツのリクエストを受信する工程と、
リクエストされたコンテンツをデータストアから取り出す工程と、
該リクエストされたコンテンツをバイナリフォーマットにフォーマットし、従って、該リクエストされた該バイナリフォーマットのコンテンツが該メディアデバイスに送信される、工程と
を包含する、方法。
【請求項４４】
コンテンツの１つのリクエストに応答してフォーマットされた、前記リクエストされた前記バイナリフォーマットのコンテンツは、ビジュアルグラフによって表されるビジュアルエレメント、およびシーケンスグラフによって表されるビヘイビアエレメントを含み、該ビジュアルグラフおよび該シーケンスグラフは、メディアデバイスによって別々にレンダリングするためのものである、請求項４３に記載の方法。
【請求項４５】
前記コンテンツは、前記データストア上にマークアップ言語で格納される、請求項４４に記載の方法。
【請求項４６】
前記マークアップ言語は、ハイパーマークアップ言語、エクステンシブルマークアプ言語、および、スケーラブルベクトルグラフィック言語を有するエクステンシブルマークアップ言語の１つを含む、請求項４５に記載の方法。
【請求項４７】
前記リクエストされた前記バイナリフォーマットのコンテンツは、前記メディアデバイスの前記メモリ内の前記リクエストされたコンテンツと実質的に同じである、請求項４３に記載の方法。
【請求項４８】
前記それぞれのメディアからデバイス情報を受け取る工程と、該デバイス情報に基づいて、前記それぞれのメディアデバイスの利用可能なデバイスリソースとより一致する前記リクエストされたコンテンツを提供する工程とをさらに包含する、請求項４３に記載の方法。
【請求項４９】
コンテンツによるオーガナイズおよびデバイスによるソート、デバイスによるオーガナイズおよびコンテンツによるソート、ならびに命名規則によるオーガナイズの少なくとも１つを含むパターンベースの規則を用いて、前記デバイスリソースに基づいて該コンテンツをオーガナイズする工程をさらに包含する、請求項４８に記載の方法。
【請求項５０】
リクエストするメディアデバイスの前記デバイス情報に基づいて、前記リクエストされたコンテンツを変更する工程をさらに包含する、請求項４８に記載の方法。
【請求項５１】
前記リクエストされたコンテンツを前記デバイス情報に基づいて提供する工程は、リダイレクト配置戦略を用いる、請求項４８に記載の方法。
【請求項５２】
前記デバイス情報に基づいて、前記リクエストされたコンテンツを提供する工程は、書き換え配置戦略を用いる、請求項４８に記載の方法。
【請求項５３】
前記コンテンツのリクエストの各々は、前記メディアデバイスのそれぞれ１つと関連付けられた一意的識別子を含む、請求項４３に記載の方法。
【請求項５４】
前記メディアデバイスの前記それぞれ１つに送信される、前記リクエストされたコンテンツをパーソナライズするために、前記メディアデバイスのそれぞれ１つと関連付けられた前記一意的識別子を用いる工程をさらに包含する、請求項５３に記載の方法。
【請求項５５】
前記メディアデバイスの前記それぞれ１つにインターネットアクセスを提供するために、前記メディアデバイスのそれぞれ１つと関連付けられた前記一意的識別子を用いる工程をさらに包含する、請求項５３に記載の方法。
【請求項５６】
前記データストアは、ローカルデータストアおよび外部データストアの少なくとも１つを含む、請求項４３に記載の方法。
【請求項５７】
前記リクエストされたコンテンツをバイナリフォーマットにフォーマットする前記工程は、
前記リクエストされたコンテンツを前記データストアから読み出し、かつ、該リクエストされたコンテンツのドキュメントオブジェクトモデルを生成する工程と、
該ドキュメントオブジェクトモデルをバイナリフォーマットオブジェクトモデルに変換する工程と、
該バイナリフォーマットオブジェクトモデルをバイナリフォーマットファイルに書き込む工程であって、該バイナリフォーマットファイルは、前記メディアデバイスに提供される、工程と、
を包含する、請求項４５に記載の方法。
【請求項５８】
前記リクエストされたコンテンツをバイナリフォーマットにフォーマットする工程は、
該リクエストされたコンテンツを前記データストアから読み出し、かつ、該リクエストされたコンテンツのドキュメントオブジェクトモデルを生成する工程と、
該ドキュメントオブジェクトモデルをバイナリフォーマットファイルに書き込む工程であって、該バイナリフォーマットファイルは、前記メディアデバイスに提供される、工程と
を包含する、請求項４３に記載の方法。
【請求項５９】
前記リクエストされた前記バイナリフォーマットのコンテンツは、前記メディアデバイスの前記メモリ内の前記リクエストされたコンテンツと実質的に同じである、請求項４４に記載の方法。
【請求項６０】
ファイルシステムのナビゲータページを生成する工程と、かつ、コンテンツのリクエストに応答して、該リクエストされたコンテンツとして該ナビゲータページを提供する工程とをさらに包含する、請求項４３に記載の方法。
【請求項６１】
前記ナビゲータページは、マークアップ言語で生成される、請求項５０に記載の方法。
【請求項６２】
メモリを有するメディアデバイスから、コンテンツのコンテンツプロバイダシステムにアクセスする方法であって、
コンテンツのリクエストを該コンテンツプロバイダシステムに送信する工程と、
該リクエストされたコンテンツをバイナリフォーマットで受信する工程と、
該リクエストされたコンテンツを読み出して、該リクエストされたコンテンツを前記メディアの前記メモリに配置する工程と、
該リクエストされたコンテンツを該メディアデバイス上にレンダリングする工程と
を包含する、方法。
【請求項６３】
前記リクエストされたコンテンツは、前記バイナリフォーマットで受信され、ビジュアルグラフによって表されるビジュアルエレメント、およびシーケンスグラフによって表されるビヘイビアエレメントを含み、該ビジュアルグラフおよび該シーケンスグラフは、該前記メディアエンジンによって別々にレンダリングするためのものである、請求項６２に記載の方法。
【請求項６４】
前記リクエストされた前記バイナリフォーマットのコンテンツは、前記メディアデバイスの前記メモリ内の前記リクエストされたコンテンツと実質的に同じである、請求項６３に記載の方法。
【請求項６５】
前記コンテンツプロバイダにデバイス情報を提供し、従って、前記リクエストされたコンテンツは、利用可能なデバイスリソースとより一致する工程をさらに包含する、請求項６２に記載の方法。
【請求項６６】
前記コンテンツプロバイダシステムにデバイス情報を提供し、従って、前記リクエストされたコンテンツは、利用可能なデバイスリソースとより一致する工程は、リダイレクト配置戦略および書き換え配置戦略の１つを用いる、請求項６５に記載の方法。
【請求項６７】
前記コンテンツのリクエストの各々は、前記メディアデバイスを識別する一意的識別子を含む、請求項６２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２００１年３月２１日に出願された、Ｊａｙ  Ｓｔｅｅｌｅによるシリアルナンバー＊＊を有する「ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＳＥＲＶＥＲ−ＳＩＤＥ  ＣＯＮＴＥＮＴ  ＡＤＡＰＴＡＴＩＯＮ」と題された米国仮出願に関連し、この出願に対する優先権を主張し、そしてこの出願を本明細書中で参考として援用する。
【０００２】
本出願は、２００１年３月２１日に出願された、Ｊａｙ  Ｓｔｅｅｌｅによるシリアルナンバー＊＊を有する「ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＳＥＲＶＥＲ−ＳＩＤＥ  ＭＡＲＫＵＰ  ＲＥＮＤＥＲＩＮＧ」と題された米国仮出願に関連し、この出願に対する優先権を主張し、そしてこの出願を本明細書中で参考として援用する。
【０００３】
本出願は、２００１年１２月２０日に出願された、Ｊａｙ  Ｓｔｅｅｌｅ、Ｃｈｒｉｓ  Ｂｉｌｌａｒｄ、Ｋｅｎ  Ｗｈａｔｍｏｕｇｈ、Ｓｈａｕｎ  Ｊｏｈａｎｓｅｎ、およびＪｏｎ−Ｄａｖｉｄ  Ｌａｃｅｙによるシリアルナンバー６０／３４１２２３を有する「ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＰＲＯＶＩＤＩＮＧ  ＲＩＣＨ  ＣＯＮＴＥＮＴ  ＴＯ  ＭＯＢＩＬＥ  ＣＯＭＭＵＮＩＣＡＴＩＯＮ  ＤＥＶＩＣＥ」と題された米国仮出願に関連し、この出願に対する優先権を主張し、そしてこの出願を本明細書中で参考として援用する。
【背景技術】
【０００４】
（発明の背景）
（発明の分野）
本発明は概して、メディアデバイスの分野に関し、特に、リソース限定メディアデバイスにいわゆる「リッチコンテンツ」を提供することに関する。
【０００５】
（従来技術の説明）
携帯情報端末（ＰＤＡ）、携帯電話、ポケットベル、オーガナイザ、および無線モバイルデバイス等のリソース制限メディアデバイスの開発が行われている。しかし、これらのメディアデバイスは、一般に非常に制限されたストレージ、処理電力、およびデバイスに利用可能な通信帯域幅を有する。例えば、ＮＴＴ  ＤｏＣｏＭｏ  Ｉ−ｍｏｄｅ電話は、いずれかのソフトウエアアプリケーションのストレージとして１０キロバイト（ｋｂ）のフラッシュメモリのみを有する。これらの制限されたリソースを用いる場合、Ｉｎｔｅｒｎｅｔ  ＥｘｐｌｏｒｅｒＴＭブラウザのような既存のテキストベースのブラウザを用いる動画イメージ等のリッチコンテンツを転送、処理、およびレンダリングすることが困難である。
【０００６】
これらのメディアデバイスによるさらなる複雑さは、同じ製造業者からの階級の範囲内で均一な幅広い多様性が存在する。この差は、コンテンツ開発者に各モデルのデバイスに対して調整されたコンテンツを作成させる程度に十分大きくなり得る。
【０００７】
従って、リッチコンテンツをメディアデバイスに提供するための方法および装置を提供することが望ましく、これによりリッチコンテンツを上記メディアデバイスに提供するいくつかの欠点を部分的に解決する。
【発明の開示】
【課題を解決するための手段】
【０００８】
（要旨）
本発明の局面によると、メディアデバイスと通信するためにネットワークに接続するためのコンテンツプロバイダシステムが提供される。このシステムは、ネットワークを介してメディアデバイスと通信するための通信サブシステムと、メディアデバイスからのコンテンツに対するリクエストを受け取り、それに応答して、データ格納からリクエストされたコンテンツを取り出すための通信サブシステムに接続されたアプリケーションと、リクエストされたコンテンツをバイナリフォーマットにフォーマットするためのアプリケーションに接続されることにより、バイナリフォーマットにおいてリクエストされたコンテンツが通信サブシステムを介してメディアデバイスに送信されるコンバータとを含む。
【０００９】
本発明のさらなる局面によると、コンテンツのためのコンテンツプロバイダシステムにアクセスするためにネットワークに接続するメディアデバイスであって、このデバイスは、ネットワークを介してコンテンツプロバイダシステムと通信するためのデバイス通信サブシステムと、ユーザと双方向通信するためのディスプレイおよびユーザインターフェースを有するデバイスインフラストラクチャと、デバイス通信サブシステムに接続されたメディアエンジンを含み、デバイスインフラストラクチャは、コンテンツに対するリクエストをコンテンツプロバイダに送信し、リクエストされたコンテンツを受信し、それに応答して、デバイスインフラストラクチャ上にリクエストされたコンテンツをレンダリングさせる。
【００１０】
本発明のさらなる局面によると、コンテンツのためのコンテンツプロバイダシステムにアクセスするネットワークに接続されたメディアデバイスのためのメディアエンジンが提供され、このメディアデバイスは、コンテンツプロバイダシステムと通信するためのデバイス通信サブシステムと、ユーザと双方向通信するためのディスプレイおよびユーザインターフェースを有するデバイスインフラストラクチャであって、メディアエンジンは、デバイス通信サブシステムおよびデバイスインフラストラクチャに接続され、メディアエンジンは、リクエストされたコンテンツを受信かつ読み出すためのリーダを含み、メモリ内にリクエストされたコンテンツを配置する、デバイスインフラストラクチャと、デバイスインフラストラクチャ上のメモリにおいてリクエストされたコンテンツをレンダリングするためのレンダー（ｒｅｎｄｅｒ）を含む。
【００１１】
本発明のさらなる局面によると、コンテンツプロバイダ上に展開する前にコンテンツを検証するためのシミュレーションシステムが提供され、コンテンツプロバイダシステムは、ネットワークを介してメディアデバイスにコンテンツを提供し、シミュレーションシステムは、デバイスシミュレータの各々があるタイプのメディアデバイスをエミュレートする複数のデバイスシミュレータと、コンテンツをバイナリフォーマットにフォーマットするためのコンバータと、デバイスシミュレータの各々に関してバイナリフォーマットデータベースコンテンツをレンダリングするためのメディアエンジンとを含む。
【００１２】
本発明のさらなる局面によると、メディアデバイス上にコンテンツをレンダリングするための方法が提供され、メディアデバイスがメモリを有し、その方法は、コンテンツ（そのコンテンツは、シーケンスグラフによって表された視覚グラフおよび挙動エレメントによって表された視覚エレメントを含む）を受け取ること、コンテンツを読み出し、レンダリングするためのメディアデバイスのメモリにおけるコンテンツを配置すること、視覚グラフをレンダリングすること、シーケンスグラフをレンダリングし、シーケンスグラフのレンダリングに従って視覚グラフを変化させること、そして、シーケンスグラフのレンダリングが完成したかどうかを決定し、レンダリングが完成した場合に終了し、レンダリングが完成しない場合、視覚グラフのレンダリングに進み、視覚グラフのレンダリングから継続する。
【００１３】
本発明のさらなる局面に従って、メモリを有するメディアデバイスからコンテンツに対するコンテンツプロバイダシステムにアクセスする方法が提供される。本方法は、コンテンツプロバイダシステムにコンテンツに対するリクエストを送ること、バイナリフォーマットデータベースリクエストされたコンテンツを受け取ること、リクエストされたコンテンツを読み出し、メディアのメモリ内にリクエストされたコンテンツを配置すること、メディアデバイス上にリクエストされえたコンテンツをレンダリングすることを含む。
【００１４】
本発明は、添付の図面を参照しながら詳細に説明される。同様な参照符号は同様な部分を表す。
【００１５】
（詳細な説明）
図１を参照すると、本発明の実施形態によるコンテンツプロバイダシステム１２５と共に通信システム１００のブロック図が存在する。通信システム１００は、コンテンツを提示するためのメディアデバイス１０５を含む。通信システム１００は、コンテンツを提示するためのメディアデバイス１０５、メディアデバイス１０５と通信するための無線ネットワーク１１０、無線ネットワーク１１０とワイドエリアネットワーク（ＷＡＮ）１２０とのインターフェースをとるための無線ネットワークゲートウエイ１１５と、無線ネットワークゲートウエイ１１５とコンテンツプロバイダシステム１２５との間の接続のためのＷＡＮ１２０と、コンテンツの提供のためのコンテンツプロバイダシステム１２５とを含む。
【００１６】
無線ネットワークゲートウエイ１１５は、デバイス１０５が動作する無線ネットワーク１１０とコンテンツプロバイダシステム１２５が動作するように構成されるＷＡＮ１２０との間のインターフェースを提供する。ＷＡＮ１２０は、インターネット、直接接続、ローカルエリアネットワーク（ＬＡＮ）、無線通信リンク、およびそれらの任意の組み合わせを含む。
【００１７】
コンテンツプロバイダシステム１２５は、メディアデバイス１０５上で提示するためのコンテンツを提供する。コンテンツがメディアデバイス１０５によって処理するためにバイナリフォーマットで提供される。バイナリフォーマットは、それがヘッダーを有するメディアデバイス１０５上のメモリ内に存在する場合、実質的にそのコンテンツである。そのコンテンツはリッチコンテンツを含む。
【００１８】
例えば、メディアデバイス１０５は、データ通信デバイス、データおよび音声通信の両方のために構成されたマルチモード通信デバイス、モバイル電話、モバイル通信デバイス、無線通信に対して利用可能なＰＤＡ、一方向または二方向ポケットベル、コンピュータ一ステムと共に動作する無線モデム、任意のタイプの固定またはモバイル無線通信デバイスを含む。マルティメディアデバイス１０５の各々は、無線ネットワーク１１０内で動作するように構成される。レシーバおよびトランスミッタサブシステムあるいはトランシーバ（図示せず）は、無線ネットワーク１１５の動作のためにメディアデバイス１０５の各々の内部に含まれる。しかし、本発明はこれらの例示的なデバイスのタイプに限定されず、ディスプレイを有する他のデバイスでインプリメントされ得ることが理解されるべきである。
【００１９】
あるいは、コンテンツプロバイダシステム１２５は、無線ゲートウエイおよびデスクトップコンピュータシステム等のモバイルではないシステムの両方を含む、ＷＡＮ１２０に接続された任意のシステムにコンテンツを提供し得る。
【００２０】
図２を参照すると、図１のコンテンツプロバイダシステム１２５のブロックスが示される。コンテンツプロバイダシステム１２５は、コンテンツを格納するためのデータ格納２００、デバイス１０５上に提示するためのコンテンツにアクセスかつ処理するためのアプリケーション２０５、コンテンツをバイナリフォーマットに変換するためのコンバータ２１０、およびコンテンツをバイナリフォーマットで送信するための通信サブシステム２１５を含む。
【００２１】
データ格納２００は、コンテンツプロバイダシステム１２５がインプリメントされるサーバコンピュータのハードディスク上にコンテンツを格納する。コンテンツは、権限が与えられ、拡張マークアップ言語（ＸＭＬ）、および特に動画イメージを含むグラフィックのためのＸＭＬの拡張可能ベクトルグラフィック（ＳＶＧ）フォーマットに格納される。あるいは、データ格納２００に格納されたコンテンツは、任意の形式で存在し得るが、アプリケーション２０５は、コンバータ２１０に適したフォーマットに取り出されたコンテンツを処理する。
【００２２】
アプリケーション２０５は、アプリケーションサーバを含む。あるいは、アプリケーション２０５は、アプリケーションサーバ上で実行するアプリケーションを含み得る。あるいは、アプリケーション２０５は、アプリケーションサーバ上で実行する特定のサービスのためのアプリケーションをさらに含み得る。
【００２３】
コンバータ２１０は、デバイス１０５上でレンダリングするためのコンテンツを処理する。処理されたコンテンツは、デバイス１０５において処理をさらに低減するためにバイナリフォーマットで提供される。従って、いくつかのコンテンツ処理は、デバイス１０５からコンテンツプロバイダシステ１２５にアンロードされる。
【００２４】
デバイス１０５は、標準ＨＴＴＰリクエストを介してコンテンツプロバイダシステム１２５ｋらコンテンツをリクエストし、それに応答して、コンテンツプロバイダシステム１２５は、コンテンツをバイナリフォーマットでデバイス１０５に提供し、このコンテンツがレンダリングされ、ユーザ入力を含むコンテンツ関連動作が実行される。
【００２５】
あるいは、データ格納２００は、例えば、ネットワークまたは他の接続を介してコンテンツプロバイダシステム１２５にアクセス可能であるウエブサーバを含む外部データ格納であり得る。
【００２６】
ゲートウエイ１１５およびデバイス１０５のように、コンテンツプロバイダシステム１２５における通信サブシステム１２５の設計は、コンテンツプロバイダシステム１２５によって使用された１つ以上の通信ネットワークおよび１つ以上のプロトコルに依存する。通信サブシステム２１５は、ＷＡＮ１２０内部で通信が必要とされる場合にこのようなコンポーネントを含む。当業者はまた、通信サブシステム２１５がコンテンツリクエストを処理するためのシステムを含み得る。通信サブシステム２１５は、コンテンツプロバイダシステムと一般的に関連付けられたさらなるまたは代替のシステムを含み得る。
【００２７】
図３を参照すると、図２のコンバータ２１０のブロック図が示される。コンバータ２１０は、ＳＶＧのグラフィックと共にテキストＸＭＬでコンテンツを読み出し、そのコンテンツをＳＶＧドキュメントオブジェクトモデル（ＳＶＧ  ＤＯＭ）３０５にフォーマットするためのＳＶＧリーダ３００を含む。ＳＶＧ  ＤＯＭ３０５をＢＦオブジェクトモデル３１５に変換するためのＳＶＧコンパイラ３１０、およびコンテンツのＢＦオブジェクトモデル３１５をバイナリフォーマットに書き込むためのＢＦライター３２０を含む。
【００２８】
ＳＶＧ  ＤＯＭ３０５は、ＳＶＧコンパイラ３１０によってアクセス準備のためのコンテンツのメモリ内バージョンである。ＢＦオブジェクトモデル３１５は、デバイス１０５上でレンダリングによって理解されるようなコンテンツのメモリ内バージョンである。ＳＶＧコンパイラ３１０はＳＶＧ  ＤＯＭ３０５をフィルタリングして、ＢＦオブジェクトモデル３１５によって支援されないＤＯＭのエレメントを放棄し、次いでフィルタリングされたＳＶＧ  ＤＯＭ３０５が解析され、ＢＦオブジェクトモデル３１５に構築される。このバイナリフォーマットは、ヘッダーを加えた実質的にＢＦオブジェクトモデル３１５のメモリマップまたはダンプである。バイナリフォーマットの仕様の例は、表Ａに列挙される。ＢＦオブジェクトモデル３１５によって支援されたＳＶＧエレメントの例は、表Ｂに列挙される。
【００２９】
図４を参照すると、メディアエンジン４１０を有する図１のメディアデバイス１０５のブロック図が提供される。メディアデバイス１０５は、コンテンツを受信し、そしてコンテンツ関連リクエストを送信するために、デバイス１０５と無線ネットワーク１１０とのインターフェースを取るためのデバイス通信サブシステム４０５、ユーザ入力、コンテンツ関連リクエストを解釈することを含む受信されたコンテンツを読み出しかつレンダリングするためのメディアエンジン４１０、デバイス１０５の動作を支援するためのメモリを有するデバイスインフラストラクチャ４１５、コンテンツを提示するためのディスプレイ４２０、ユーザ入力を受信するためのキーボード／キーパッド４２５および補助入力デバイス４３０等を含む。ユーザ入力は、コンテンツプロバイダシステム１２５からのコンテンツに対するリクエストを含む。補助入力デバイス４３０は、回転可能なサムホール（ｔｈｕｍｂｗｈｅｅｌ）、特殊機能キー、およびポインタを含む。
【００３０】
メディアエンジン４１０は、好ましくは、画像レンダリングのようなこのようなリッチコンテンツ動作、スプライト動画レンダリング、フィルタリングされた矩形レンダリング、およびフィルタリングされていないレンダリング、ポリゴン、点、およびポリラインレンダリング、テキストレンダリング、およびテキストフォントおよびスタイル選択として可能にする。一定の、直線およびキュービック動画経路、スプライトの動画、オブジェクトの位置、およびオーディオクリップレンダリングのようなこのような高度な動作はまた、好ましくはメディアエンジン４１０によって支援される。
【００３１】
図５を参照すると、図４のメディアエンジン４１０のブロック図が示される。メディアエンジン４１０は、受信されたコンテンツをバイナリフォーマットで読み出し、ＢＦオブジェクトモデル３１５に受信されたコンテンツをフォーマットし、そしてデバイス１０５のメモリに配置するためのリーダ５０５、ならびにディスプレイ４２０上に提示するためおよびコンテンツ関連動作を支援するために受信されたコンテンツ（ＢＦオブジェクトモデル）をレンダリングする。
【００３２】
図６を参照すると、図３のＳＶＧコンパイラ３１０によって動画６００の変換のブロック図が示される。当業者が理解するように、ＳＶＧフォーマットの動画６００は、挙動要素に関連付けられた視覚エレメントを有する。ＳＶＧコンパイラ３１０は、動画６００を視覚エレメント６１０および挙動エレメント６２０に分離し、そして別個の視覚および挙動エレメントを用いてＢＦオブジェクトモデル３１５を構築する。視覚エレメント６１０は、テキスト、直線、色、および形状を含む一方で、挙動エレメント６２０は、経時的に視覚エレメント６１０の色および位置を変化させるような動作を含む。
【００３３】
図７を参照すると、視覚グラフ７００として表された図６の視覚エレメント６１０の例のブロック図が示される。視覚グラフ７００はノードから構成され、グループおよびリーフ（ｌｅａｖｅｓ）を含む。視覚グラフ７００は、２つのグループ（グループＡおよびグループＢ）ならびに３つのリーフ（矩形７１５、イメージ７２０、およびテキスト７２５）を含む。グループは、サブユニバース（ｓｕｂｕｎｉｖｅｒｓｅ）に変換されるが、リーフは、視覚オブジェクトを表し、このようなイメージ、プリミティブ（線、楕円、および矩形）ならびにテキスト等の視覚オブジェクトおよび属性を表す。上位レベルグループＡ７０５は２つの子を有し、その内の１つはグループＢ７０であり、もう１つはリーフ（矩形７１５）である。グループＢ７１０は、それ自体の２つの子を有する。２つの子の各々はリーフ（すなわち、画像７２０およびテキスト７２５）である。視覚グラフのノードのグループ化は、変換（例えば解釈および回転等）がグループのエレメントに適用されることを可能にする。グループノード７０５および７１０はまた、グループまたは従属的なグループにおける視覚エレメントをレンダリングする場合、使用されるグラフィック座標を設定するために使用される。
【００３４】
矩形７１５は、上部左角の座標が０，０、長さ１０ピクセル、高さ２４ピクセル、および赤色を有する矩形であるプリミティブである。画像７２０は、ＧＩＦフォーマットの面の画像である。テキスト７２５は、座標０，０で開始するテキスト「Ｈｅｌｌｏ，Ｗｏｒｌｄ」を有するテキストリーフである。
【００３５】
デバイス１０５では、視覚グラフ７００は、所定の順序でノードを処理し、ルートノードで開始し、そして最左のノードをまず横断することによって（すなわち、前の順序（ｐｒｅ−ｏｒｄｅｒ）の横断）レンダリングされる。視覚グラフ７００では、ルートノード、グループＡ７０５がまず処理される。グループＡ７０５は、座標ｘ＝１０およびｙ＝２０に対するサブユニバースにおける全てのエレメントのためのグラフィック座標系の原点をリセットする。従って、グループＡ７０５のサブユニバース内の全てのレンダリングされたコンポーネントは、１０，２０において変換された原点に対して引き出される。
【００３６】
前の順序の横断において視覚グラフ７００をコンポーネント横切ることは、グループＢ７１０が次に処理され、そのグループＢがｙ軸に沿ったグラフィック座標系の原点を移動させる。グループＢ７１０のサブユニバースにおける視覚エレメントは、１０，２４における原点に対してレンダリングされる。イメージ７２０が次に処理され、イメージ「ｆａｃｅ．ｇｉｆ」がグループＢ７１０の１０，２４の原点においてディスプレイ４２０上でレンダリングされる。イメージ７２０がリーフである場合、レンダリングプロセスは、グループノードに戻り、次いでグループＢ７１０はテキスト７２５に進む。次いで、次の「Ｈｅｌｌｏ，Ｗｏｒｌｄ」が引き出され、絶対座標１０，２４に存在するグループＢ７１０のサブユニバースにおける座標０，０において開始する。グループＢ７１０のこの全てが処理されてき後に、制御がグループ７０５に戻り、グラフィカル座標が、１０，２０において原点を有するグループＡ７０５のサブユニバースにリセットされる。次いで矩形７１５は、サブユニバースの原点（１０，２０）において赤い矩形を引き出すためにレンダリングされる。
【００３７】
ＳＶＧペインターのモデル等のアルゴリズムがディスプレイスクリーン上の視覚エレメントをオーバーラップするための概観を制御するために使用される。このアルゴリズムに従って、各視覚エレメントドローイング動作の各々は、出力デバイスディスプレイスクリーンのいくつかのエリアにわたって「ペイントする」。このエリアが以前のペイントされたエリアを重ねる場合、新しいペイントは、古いペイントを部分的または完全に不明瞭にする。各視覚エレメントは、ディスプレイスクリーン上の同じ位置における以前にドローイングされたエレメントのいくつかの重なり部分にわたってドローイングされる。従って、レンダリングされた画面において「より深い」ように見えるバックグランド視覚エレメントが最初にエレメントがかれるように視覚グラフ内で配置される。視覚グラフ７００において、赤色矩形７１５は、以前にドローイングされた「ｆａｃｅ．ｇｉｆ」画像７２０および文字「Ｈｅｌｌｏ，Ｗｏｒｌｄ」７２５の任意の重なり合った部分の上部に引き出される。
【００３８】
視覚グラフ７００は視覚グラフの例であり、例示目的のためのみに意図される。任意の視覚グラフの構造および構成がレンダリングされるべき画面における視覚エレメントに依存する。図７に示されたエレエレメントとは異なるエレメントがさらなるまたは異なる属性を有し得る。例えば、リーフ７１５における矩形に対して示された角位置、幅および高さの代わりに、楕円がその中心位置、楕円の長軸および短軸の長さによって規定され得る。矩形または他の形状が、リーフ７１５において示された属性ではないさらなるまたは代替的な属性（例えば、上部左角の座標、塗り潰し（ｆｉｌｌ）性質、およびラインタイプ指定ではなく、異なる角または角位置等）を含み得る。同様に、テキスト視覚エレメントは、フォント、色、およびサイズとしてこのような属性を有し得る。
【００３９】
図８を参照すると、シーケンスグラフ８００として表された図６の挙動エレメント６２０の例のブロック図が示される。シーケンスグラフ８００は、視覚エレメント６１０が時間に基づく挙動を有する設備（ｐｒｅｍｉｓｅ）に基づく。これらの時間に基づく挙動は、動画６００のスケジューリング、および動画を意図されたものとして挙動させることの両方を行うために使用される挙動を構築するために使用される。挙動エレメント６２０は、動画６００を作成するための適切な挙動を適用するのに必要な視覚エレメント６１０を参照する。
【００４０】
ＳＶＧフォーマットにおける動画６００が視覚エレメントの挙動を管理するためにスケジューラを必要とすることが当業者に明らかである。本発明の局面に従う視覚エレメント６１０からのシーケンスグラフ８００の挙動エレメント６２０の分離は、動画６００を処理するスケジューラを分離する必要がない。スケジューリングは、シーケンスグラフ８００において固有であり、メディアエンジン３１０の必要性を低減させ、そしてスレッドが安全な（ｔｈｒｅａｄ−ｓａｆｅ）変換されたコンテンツをさらに提供する。
【００４１】
シーケンスグラフ８００は、どのようにして場面が経時的に挙動するかを示し、固有の挙動スケジューリングメタフォー（ｍｅｔａｐｈｏｒ）を使用する。シーケンスグラフは、挙動および挙動シーケンスからなる。挙動は、ホットスポット、ハイパーリンク、キーパッド、イベント、テキスト、エントリ、動画／補間、タイマー、変更可能なセッティング、再生／停止オーディオ、視覚グラフ修正、および他の挙動等の動作を含む。この挙動はまた、直線シーケンス、全てのフォーク、任意のフォーク、および条件分枝（ｉｆ−ｅｌｓｅ）フォーク等の挙動シーケンスによって区切られる。
【００４２】
ホットスポットは、場面の視覚グラフにおける視覚エレメントがホットスポットとしてタグ付けされることを可能にする特殊な集合センサ／挙動である。これは、カーソル、ポインタ等を用いて、場面がレンダリングされるデバイス上のこれらのホットスポットのナビゲーション状態に依存して実行されることを可能にする。ハイパーリンクは、ネットワークからより多くのコンテンツをロードするために使用され、同様に、視覚エレメントのディスプレイスクリーン上のナビゲーションおよび選択に依存する。キーパッドイベントおよびテキストエントリは、他の依存性挙動を呼び出し得る。
【００４３】
動画および補間は、種々のオブジェクトの属性データに適用する挙動である。例えば、１つ以上の視覚エレメントに沿った補間曲線を定義し得る補間が移動され得る。タイマーは、特定の継続時間の休止を設定するために使用される。種々のセッティングが変数または属性の値を設定する。再生／停止オーディオ挙動は、オーディオクリップの制御された再生を提供する。オーディオクリップは、その全体で再生され得、所定の時間持続時間の後に停止されるか、または例えばユーザが表示スクリーンホットスポットをナビゲートする場合停止され得る。
【００４４】
いくつかのこれらの挙動は、動画の視覚エレメントに影響を与える。視覚エレメントが変更される場合、シーケンスグラフは、対応する視覚グラフの適切なエレメントを参照し、視覚グラフにおけるエレメントを修正する。次いで視覚グラフは、視覚エレメントへの変更を反映するために再度レンダリングされる。
【００４５】
挙動シーケンサは、シーケンスグラフにおける関連した挙動または「子」の実行を制御する。１つのこのような挙動シーケンサは、各子が順番に実行される直線シーケンスである。直線シーケンスは、全ての子が実行を終了した場合に企図される。ルーピングが任意の直線シーケンスにおいてイネーブルまたはディセーブルされ得る。各子は、ループの各パスの間に実行される。全ての子が実行を終了した場合に直線シーケンスにおけるループが終了するが、全ての子がシーケンスグラフにおける直線シーケンス挙動シーケンサにおいて特定された特定の回数で実行した場合、全体のループ直線シーケンスが終了する。直線のシーケンスが無限に継続する場合、無限ループが特定される。
【００４６】
別の挙動シーケンサは、「全てのフォーク」シーケンスと呼ばれる。全てのフォークシーケンスは、その子の全てが実行を終了した場合に企図される。「任意のフォーク」シーケンスは、その子の内のいずれかが実行を終了した場合に企図されるという点で同様である。全てのフォークおよび任意のフォークシーケンスは、より多くのスレッドの生成がより簡単に制御されるようにリソース制限デバイス上での処理のためにマルチスレッディングをエミュレートする。
【００４７】
「ｉｆ−ｅｌｓｅ」シーケンスは、さらなる挙動シーケンサであり、センサの状態に依存する子の内の異なる１つを条件付で実行する。例えば、センサがアクティブである場合、２つの子を有する条件分枝シーケンスが１つの子を実行し得る。すなわち、センサによってモニタリングされた条件が検出される一方で、条件が検出されない場合、他の子が実行され得る。センサ機能が抽出され、キー分散および／または放出としてこのようなデバイス関連条件および通信信号の受領を表し得る。
【００４８】
各シーケンサ自体が任意の他の親および／または子であり得る。挙動シーケンサおよび挙動の組み合わせを用いて、多くの異なる場面挙動が元のリッチコンテンツに基づいてシーケンスグラフを構成することによってエミュレートされ得る。
【００４９】
しかし、本発明は、上記例示的挙動およびシーケンスに限定された方法に限定されない。コンテンツコンバータおよびコンテンツプロバイダは、デバイス上のさらなるリッチコンテンツ機能性を支援するために開発された新しい挙動およびシーケンスを処理するように構成され得る。
【００５０】
時間ベースの挙動は、開始および終了を有する。シーケンスグラフは、一番遠い挙動から１つ以上の最も近い挙動にスケジューリングされ、最も遠い挙動が終了するまで実行される。
【００５１】
シーケンスグラフ８００は、グラフの上部メンバによって示された最も遠い時限ループと共に、時間ベースの挙動の時限（ｔｉｍｅｄ）動作を表す。この場合、任意のフォーク挙動シーケンサ８０５は、この場面の動作を制御する最も遠い挙動である。任意のフォークブロック８０５の下部に、ループがイネーブルされることを示す引数「ｌｏｏｐ＝ｔｒｕｅ」を用いて線形シーケンス８１０によって表されたループである。このループは、ホットスポット８１５、再生オーディオクリップ８２０、ホットスポット８２５、およびスポットオーディオクリップ８３０を含む。このループでは、ターゲットノード７２０におけるホットスポットの活性は、ホットスポットを介したカーソルまたはポインタをナビゲートすることによって「ｆａｃｅ．ｇｉｆ」画像（視覚グラフ７００を参照）は、オーディオクリップ（図８で「ｍｙｃｌｉｐ」として示された）を再生させる（ブロック８２０によって制御された）。ホットスポットがブロック８２５によって再度関係付けられるまで、クリップが再生し、ホットスポットは、例えば、時間ブロック８３０がオーディオクリップを停止する時間において切り替えられ得る。
【００５２】
ブロック８３５、８４０、８４５において示された補間挙動は、挙動が最後に実行された後、補間曲線および経過時間に基づいた新しいオブジェクトの位置を補間することによって、各ターゲットオブジェクトを変換する。補間挙動８３５、８４０、８４５は、ターゲットノード７２５（テキスト「Ｈｅｌｌｏ，Ｗｏｒｌｄ」）、ターゲットノード７１５（矩形）、およびターゲットノード７１０（画像「ｆａｃｅ．ｇｉｆ」およびテキスト「Ｈｅｌｌｏ，Ｗｏｒｌｄ」を含む両方のグループＢ７１０）における視覚エレメントを各々移動させる。
【００５３】
仮想グラフ７００およびシーケンスグラフ８００は、一連の経路において処理される。各パスでは、グラフにおける各エレメントが処理され、プロセッサの時間割り当てがエレメントによって必要とされた場合、各々のエレメントに提供される。
【００５４】
この時間割り当ては、例えば、シーケンスグラフにおける全ての挙動間の所定の単一通過時間を共有するか、または各挙動が各パスにおいて関連した動作の特定部分を終了することを可能にすることを含む種々の方法で管理され得る。
【００５５】
あるいは、プロセッサは、各パスおよびおそらく各挙動の実行時間をトラッキングし得ることにより、時間依存挙動は、その先行するパスの後、経過された時間、累積実行時間（すなわち、第１のパスの開始後の総経過時間）、および恐らく、必要とされた場合シーケンスグラフ処理に関連した他の時間を決定し得る。
【００５６】
例えば、シーケンスグラフ８００を介した第１のパスは、以下のように進む。際外部の挙動シーケンサ、すなわち任意のフォークシーケンサ８０５は、シーケンスグラフ配置の終了を制御する。上述のように、その子の任意の１つが実行を終了する場合、任意のフォークシーケンスが終了される。シーケンスグラフ８０では、線形シーケンス８１０がまず処理される。第１の挙動、すなわちホットスポット８１５は、１つ以上の特定の機能を実施するために実行することを可能にする。
【００５７】
補間挙動は、好ましくは、特定された全体の継続時間を有し、それにより関連した変換動作が終了前に所定の期間の間に実行される。全体の継続時間は、典型的には、時間の測定として特定されるが、その代わりに、補間曲線に沿った特定の長さ、閉じた補間曲線の周りのサイクル数、または挙動の実行を制御する他のタイプの限界として特定され得る。
【００５８】
補間挙動は、補間曲線に基づいてターゲットオブジェクトに対する新しい位置、挙動を介した以前のパスの後に経過した時間の量、および好ましい動画「速度」を効果的に計算する。例えば、シーケンスグラフ８００を介する第１のパスでは、挙動８３５は、シーケンスグラフを通過する第１のパスの開始の後、経過した時間を用いて補間曲線上の新しい位置を補間することによってテキスト「Ｈｅｌｌｏ，Ｗｏｒｌｄ」に対する新しい位置を計算する。補間挙動は、ターゲットオブジェクトが開花した時間に移動されるべきである補間曲線に沿った距離を計算し、それによりターゲットオブジェクトに対する新しい座標を計算する。シーケンスグラフを介した各パスにおいて、補間挙動８３５は、一回の補間計算を実行する。
【００５９】
補間曲線は、視覚オブジェクトに適用されるべき所望の移動に依存する任意の形状およびサイズから仮想的に構成され得る。補間曲線が補間挙動によって使用されるが、必ずしも仮想グラフにおける仮想オブジェクトである必要がない。１つの視覚エレメントが別の視覚エレメントを追跡する経路に沿って移動することが意図されるが、補間曲線は、視覚グラフにおけるエレメントに基づいて確立され得る。この場合、補間挙動は、補間曲線が視覚グラフにおける別のオブジェクト（ターゲットオブジェクト）の挙動を制御するために使用されることを決定するために、視覚グラフにおけるターゲットではないオブジェクトを参照し得る。
【００６０】
例えば、補間挙動８３５、８４０、８４５の各々は、そのターゲットオブジェクトに対する異なるタイプの補間曲線を使用し得る。例えば、挙動８３５は、円補間曲線を使用して、画像「ｆａｃｅ．ｇｉｆ」周辺等の円のパターンでテキストを移動させ得るが、挙動８４０は、矩形を直線補間曲線に沿って前後に動画化し得る。次いで挙動８４５は、画像周辺に移動するテキストおよびディスプレイスクリーンのエッジ周辺の矩形パターンにおける画像の両方を移動させ得る。
【００６１】
従って、シーケンスグラフ８００を通過する第１のパスでは、ホットスポット挙動８１５は、そのターゲット、画像をホットスポットとして確立し、挙動８３５、８４０、８４５を補間し、その全てが各ターゲットに対する新しい位置を補間し、視覚グラフ７００におけるターゲットを参照し、それに従って、ディスプレイ４２０上の新しい位置に視覚エレメント６１０を移動させる。
【００６２】
次いでシーケンスグラフ８００を介する第２のパスが開始する。本例の目的のために、いずれの挙動もシーケンスグラフ８００を介する第１のパスにおける実行が終了することが想定される。任意のフォークシーケンサ８０５は、「終了された」または同様のフラグまたはインジケータをチェックすることによってその子の状態を決定し、フラグまたはインジケータが関連付けられ、各挙動によって好ましくは設定され得る。挙動が実行を終了する場合、例えば、終了されたフラグを真に設定し得る。シーケンスグラフ８００では、その子の内の任意の１つがその完成したフラグを設定した場合、任意のフォークシーケンサ８０５がシーケンスグラフの処理を終了する。
【００６３】
シーケンスグラフ８００を通過する第２のパスおよび以後のパスでは、各挙動は、以後の処理において到達するどんなポイントにおいても中断する。線形シーケンス８１０は、まだ完成しておらず、ユーザがホットスポット画像にまたはこれを介してナビゲートされたかどうかを決定するためにホットスポット挙動８１５を用いて中断する。この目的のために、ユーザ入力は、デバイス上のメモリにキューまたはキャッシュされ得、シーケンスグラフ動作の間に処理される。
【００６４】
ホットスポット挙動８１５は、ユーザがホットスポットを介してカーソルまたは他のスクリーンポインタをナビゲートしたかどうかを決定するために入力キューをチェックする。ユーザがホットスポットを介してカーソルまたは他のスクリーンポインタをナビゲートする場合、挙動８１５が終了され、終了されたフラグは真に設定され、それが完成されたことを線形シーケンサ８１０に示し、次いで、挙動８２０が開始され、オーディオクリップ「ｍｙｃｌｉｐ」の一部が挙動８２０によって再生される。
【００６５】
例えばホットスポットが再度圧縮されない場合、この現在のパスでは、次いで制御が補間挙動８３５、８４０、８４５に通過し、次いで、レンダリングするための各ターゲットオブジェクトに対する新しい位置を決定する。
【００６６】
次のパスでは、任意のフォークシーケンサ８０５が、再度その挙動のいずれかが終了するかどうかを見るためにチェックし、その挙動のいずれかが終了する場合、シーケンスが完成する。他の場合では、シーケンスグラフ８００を通過する別のパスが実行される。このパスでハードウエア、ホットスポット挙動８１５が終了し、それにより線形シーケンス８１０が「ｍｙｃｌｉｐ」の別の部分を再生し、ホットスポットターゲットは、線形シーケンス８１０に割り当てられた実行時間内に挙動８４によって確立される。ターゲット７２５、７１５、７１０の新しい位置が決定され、視覚エレメント６１０が再度修正されレンダリングされる。
【００６７】
ループが線形シーケンス８１０においてイネーブルされるので、一旦その子の全てが挙動が完成されると（ユーザがホットスポットにナビゲートし、そしてオーディオクリップが停止される場合、）、シーケンスが繰り返す。従って、シーケンスグラフ８００では、補間挙動８３５、８４０、８４５の内の１つがパス内で終了する場合、任意のフォークシーケンスが完成する。次のパスでは、任意のフォークシーケンサ８０５が終了されたフラグを検出するか、または恐らく他の場合では、その子の内の１つが実行を終了し、シーケンスグラフ処理が終了することを決定する。
【００６８】
仮想グラフ７００およびシーケンスグラフ８００は、例示目的のみのために図７および図８に示される。動画は、より少ない、より多くの、および異なる視覚エレメントを視覚グラフ、挙動、およびシーケンサに含み得る。これは、多くの異なる動画または場面を定義する際に柔軟性を提供することにより、多くの効果および動画を含み得る。補間シーケンスは視覚エレメントを仮想グラフ内に適用され得るたった１つの例を表す。位置、大きさ、および色を含む、グラフ内の視覚エレメントの任意の属性が修正され得る。視覚グラフにおける視覚エレメントおよびグループは、好ましくは補間曲線に沿って変換される以外の他の態様で移動され得る。例えば、仮想グラフ中のターゲットオブジェクトもまた回転されてもよいし、その代わりに回転されても良い。多くの他の効果はまた、元のリッチコンテンツにおける効果をエミュレートするために定義され得る。
【００６９】
図９を参照すると、四角動画９００の例のブロック図を示す。四角動画９００の例は、時刻０秒において座標Ｘ＝２０、Ｙ＝９０から時刻２秒における座標Ｘ＝２０、Ｙ＝２０に移動する幅８０および高さ２００を有する青い四角である。データ格納２００では、四角動画９００は、ＳＶＧのテキストフォーマットで四角ＳＶＧ９１０として格納される。四角ＳＶＧ９１０は、ＳＶＧリーダ３００によって読み出され、次いで、ＳＶＧ  ＤＯＭ３０５のフォーマットでメモリ内に格納され、これは四角ＳＶＧグラフ９２０によって表される。次いで、ＳＶＧコンパイラ３１０は、四角ＳＶＧグラフ９２０をＢＦオブジェクトモデル３１５に変換し、これは、四角視覚グラフ９３０および視覚シーケンスグラフ９３５によって表される。
【００７０】
メモリ内の四角視覚グラフ９３０および視覚シーケンスグラフ９３５が四角メモリ動画として示される。次いでＢＦライター３２０は、四角メモリ動画を四角バイナリ９４０として示されたバイナリフォーマットに書き込む。四角バイナリ９４０は、ヘッダーを有する四角メモリ動画と実質的に同じである。四角バイナリ９４０は、提示のためにデバイス１０５の内の１つに送信される。デバイス１０５の内の１つにおいて、メディアエンジン３１０のリーダ５０５は、四角バイナリ９４０を読み出し、レンダー５１５によってレンダリングするためにＢＦオブジェクトモデル３１５の形態で四角デバイス動画として四角動画９００をメモリ内に配置する。この四角デバイス動画は、実質的に四角メモリ動画と同じである。
【００７１】
メディアデバイス２０５に対して、メディアデバイス１０５の内の１つにダウンロードされ、処理される動画に対する全体の時間は、四角バイナリ９４０のファイルをダウンロードするために必要とされた時間と、レンダー（Ｒｅｎｄｅｒ）５１５によってレンダリングするためのＢＦオブジェクトモデル３１５の形態で四角デバイス動画に四角バイナリ９４０のファイルを処理するために必要とされた時間との結合である。全体の時間は、ファイルをダウンロードするのに利用可能な帯域幅および特定のメディアデバイスにおいて利用可能な処理電力に応じて最適化され得る。従って、ファイルのサイズは、より長い処理時間の間の交換の際のより短いダウンロード時間を圧縮することによって低減され得る。全体の時間が、圧縮および解凍によって低減され得る（この場合、メディアデバイスおよびメディアデバイスの処理電力に対して利用可能な帯域幅に依存する）ことが当業者に理解される。
【００７２】
本発明のさらなる実施形態によると、ＢＦライター３２０は、バイナリフォーマットで書き込む場合、コンテンツのＢＦオブジェクトモデル３１５をさらに圧縮し、リーダ５０５は、レンダリングのためにＢＦオブジェクトモデル３１５にコンテンツを発生させるためにバイナリフォーマットで受信されたファイルをさらに解凍する。バイナリフォーマットのヘッダーは、適用された圧縮のタイプおよびレベル等の圧縮に関する情報を含む。圧縮および解凍の方法が当該分野で公知である。
【００７３】
図１０を参照すると、本発明の別の実施形態によると、代替のコンバータ１０００およびＳＶＧメディアエンジン１０１０のブロック図が示される。代替のコンバータ１０００は、ＳＶＧのグラフィックを有するテキストＸＭＬにおけるコンテンツを読み出すため、代替のＳＶＧ  ＤＯＭ１０２０、ＳＶＧライター１０２５にコンテンツをフォーマットするため、および代替のＳＶＧ  ＤＯＭ１０１５をＳＶＧバイナリフォーマットに書き込むためのＳＶＧリーダ１０１５を含む。代替のＳＶＧ  ＤＯＭ１０１５は、デバイス１０５上のレンダラによって見られるようにコンテンツのメモリ内のバージョンである。代替のメディアエンジン１０１０は、ＳＶＧバイナリフォーマットでコンテンツを読み出し、それに従ってコンテンツをレンダリングする。
【００７４】
本発明のさらなる実施形態に従って、デバイス１０５上でのレンダーによって見られるようなコンテンツのインメモリバージョンは、コンテンツプロバイダシステム１２５において、コンテンツ、代替のＳＶＧ  ＤＯＭ  １０２０、およびＢＦオブジェクトモデル３１５のインメモリバージョンと類似している。コンテンツプロバイダシステム１２５におけるコンテンツのインメモリバージョンが、デバイス１０５上でのレンダーによって見られるようなコンテンツのインメモリバージョンと同じであるが、コンテンツプロバイダシステム１２５におけるコンテンツのインメモリバージョンがデバイス１０５上でのレンダーによって見られるようなコンテンツのインメモリバージョンとは異なることが当業者に理解される。
【００７５】
図１１を参照すると、図１のコンテンツプロバイダシステム１２５上に展開する前にコンテンツを検証するためのシミュレーションシステム１１００のブロック図を示す。シミュレーションシステム１１００は、開発者によって作成されたコンテンツをＸＭＬのテキストフォーマットで読み出し、そしてコンテンツのＢＦオブジェクトモデル３０５インメモリを発生させるためのＳＶＧコンバータ１１０５と、コンテンツをレンダリングするためにＢＦオブジェクトモデル３０５にアクセスするためのメディアエンジン１１１０と、コンテンツを表すためにメディアエンジン１１１０によって制御するための特定のデバイスをシミュレートするデバイスシミュレータ１１１５を含む。デバイスシミュレータ１１１５は、ディスプレイおよびユーザインターフェースを用いて特定のデバイスをエミュレートする。シミュレーションシステム１１００は、Ｊａｖａ（Ｒ）仮想マシン（ＳＶＧコンバータ１１０５、メディアエンジン１１１０、およびデバイスシミュレータ１１１５がＪａｖａ（Ｒ）アプリケーションである）を介してコンピュータワークステーション上で動作する。
【００７６】
シミュレーションシステム１１００、ＳＶＧコンバータ１１０５、メディアエンジン１１１０、およびデバイスシミュレータ１１１５は、他のコンピュータプログラミング言語に書き込まれ得る。
【００７７】
図１２を参照すると、コンピュータ上のＮＴＴ  ＤｏＣｏＭｏ  Ｉ−ｍｏｄｅ電話のためのデバイスシミュレータのスクリーン写真が存在する。従って、開発者は、動画のためにテキストＸＭＬでフォーマットされたコンテンツを作成し、次いで、コンテンツは、シミュレータシステム１１００によってテストされ、動画は、デバイスシミュレータ１１１５上で再生される。開発者はまた、コンテンツによって可能にされるユーザ入力をユーザインターフェース上で入力し、コンテンツのテストを完成する。
【００７８】
ユーザインターフェースは、キーボードのキーの矢印、エンター、コンマ、およびピリオドを含み、ホットスポット間でそれぞれナビゲートするために電話と相互作用し、現在のホットスポットを選択し、左ソフトボタンをアクティブにし、そして右ソフトボタンをアクティブにする。ユーザインターフェースは、画面の下にある電話の矢印ボタン、中央ボタン、画面下のボタン、ならびにホットスポット間でそれぞれナビゲートするための番号をクリックするためのマウスを含み、現在のホットスポットを選択し、ソフトキーをアクティブにし、そして対応するメニューアイテムをアクティブにする。
【００７９】
デバイスシミュレータは、展開の前のコンテンツをテストするための利用可能なデバイスの各々をエミュレートするために作成され得る。あるいは、１つのデバイスシミュレータが多くのメディアデバイスに共通であるアプリケーションのセットをエミュレートするデバイスシミュレータもまた作成され得る。シミュレータシステム１１００を用いることによって、開発者は、実際のメディアデバイス上のコンテンツのテストを避け得、これらにより、広範囲の種類のメディアデバイスが与えられる非常に多くの数が存在し得る。
【００８０】
図１３を参照すると、本発明のさらなる実施形態に従う、リソースセレクタ１３０５を有する拡張されたコンテンツプロバイダシステム１３００のブロック図が示される。拡張されたコンテンツプロバイダシステム１３００は、リソースセレクタ１３０５、ＳＶＧコンバータ１３１０、プロパティ格納装置１３１５、ＳＶＧコンテンツ格納装置１３２０、およびＢＦキャッシュ１３２５を含む。メディアエンジン１３３５からのコンテンツのためのＨＴＴＰリクエスト１３３０に応答する拡張されたコンテンツプロバイダシステム１３００は、コンテンツファイルをバイナリフォーマットで提供する。
【００８１】
メディアエンジン１３３５は、デバイス識別情報を含むＨＴＴＰリクエスト１３３０を拡張されたコンテンツプロバイダシステム１３００に提供する。ＳＶＧコンテンツ格納装置１３２０は、コンテンツのＳＶＧファイルを含み、異なるデバイスタイプに対する各ファイルは、画像、音声、およびＳＶＧテキストファイル等の異なるリソースに関連付けられる。リソースは、画像、音声、ＳＶＧテキスト、または他のファイルに対するＵＲＬを含む。リソースセレクタ１３０５は、デバイスコンテクストに基づいてリソースを特定するためのコンテンツに対するＨＴＴＰリクエスト１３３０をリダイレクトする。
【００８２】
ＨＴＴＰリクエスト１３３０に応答して、入来ＵＲＬ（リソースセレクタ１３０５）は、構成ファイル内に特定されたリソースマッピングに基づいて入来ＵＲＬに対応するマッピングされたＵＲＬを生成する。構成ファイルは、コンテンツのＳＶＧファイルの各々に対する異なるデバイスタイプに関連付けられたリソースファイルへのアドレス情報を有する。リソースセレクタ１３０５は、異なるデバイス、デバイスが特定されないデフォルトデバイス、および異なるデバイスのためのマッピングＵＲＬのパターンベースの規則に対するＵＲＬの１対１マッピングを提供することを含む。
【００８３】
あるいは、リソースセレクタ１３０５は、受信されたデバイス情報に基づいてリクエストされたコンテンツを修正するための適応規則のリストを維持し得る。例えば、ディスプレイがコンテンツページよりも大きい場合、拡張されたコンテンツプロバイダシステム１３００は、ディスプレイにフィットするようにコンテンツを成長させるか、またはディスプレイ内のコンテンツを集中するかのいずれかであり得る。
【００８４】
デバイスリソースに基づくコンテンツを編成するためのパターンベースの規則は、（１）コンテンツによって編成し、そしてデバイスによってソートする（各サブディレクトリは、特定のコンテンツを含み、次いで各サポートされたデバイスに対するサブディレクトリ（例えば、．．．／ｆｌｏｗｅｒｓ／ｐ５０３ｉ／＊．ｇｉｆ；）を含む）、（２）デバイスによって編成し、そしてコンテンツによってソートする（次いで各サポートされたデバイスに対する各サブディレクトリは、特定のコンテンツに対するサブディレクトリ（例えば、．．．／ｐ５０３ｉ／ｆｌｏｗｅｒｓ／＊．ｇｉｆ；）を含む）、および（３）命名規約によって編成する（各ファイル名は、対応するデバイス（例えば、＊＿ｐ５０３ｉ．ｇｉｆ．）を識別する）。ｐ５０３ｉはデバイスタイプである。
【００８５】
ＳＶＧコンバータ１３１０は、ＨＴＴＰリクエスト１３３０に対応するリソースセレクタ１３０５からマッピングされたＵＲＬを受信し、そしてそれに応答して、ＳＶＧファイルを探索し、ＳＶＧファイルから変換されたコンテンツの対応するＢＦファイルが存在するかどうかを決定するためにチェックする。対応するＳＶＧファイルに対する変換されたＢＦファイルが存在する場合、両方のファイルの日付スタンプが比較される。ＢＦファイルの日付スタンプが対応するＳＶＧファイルと同じかまたはそれより遅い場合、ＢＦファイルがＢＧキャッシュ１３２５から取り出され、いかなる変換も行わずにリクエストしているメディアデバイスのメディアエンジン１３３５に送信される。ＢＦファイルの日付スタンプが対応するＳＶＧファイルよりも早い場合、ＳＶＧコンバータ１３１０は、対応するＳＶＧファイルを再変換し、ＢＦキャッシュ１３２５の順序でＢＦファイルを置換し、そしてＢＦファイルをリクエストしているメディアデバイスのメディアエンジン１３３５に送信する。
【００８６】
メディアエンジン１３３５の各々は、固有の識別子をさらに含む。メディアエンジン１３３５によって拡張されたコンテンツプロバイダシステム１３００に送信されたＵＲＬ内部に埋め込まれたのは、リクエストしているメディアエンジン１３３５の固有の識別子である。固有の識別子は、ＳＶＧコンバータ１３１０によって変換される前に、ユーザの名前をＳＶＧファイルに挿入する等のアプリケーションの個人化をインプリメントするために使用され得る。固有の識別子を有するメディアエンジン１３３５は、当該分野で公知のような多くの方法によってメディアデバイスにロードされ得る。
【００８７】
固有の識別子を有するメディアエンジン１３３５は、メディアデバイスがメディアデバイスの各々に対する永久的に割り当てられたＩＰアドレスなしでインターネットにアクセスすることを可能にするためにさらに使用され得る。メディアエンジン１３３５を有するメディアデバイスは、拡張されたコンテンツプロバイダシステム１３００を介してインターネットにアクセスし得ることにより、拡張されたコンテンツプロバイダシステム１３００は、リクエストしているメディアデバイスの固有の識別子に動的に割り当てられたＩＰアドレスを関係付ける。従って、インターネットセッションは、メディアデバイスからの全てのＵＲＬが、インターネットを介してコンテンツの取り出しのために拡張されたコンテンツプロバイダシステム１３００に送信される点で、リクエストしているメディアデバイス上でサポートされる。取り出されたコンテンツは、固有の識別子に関係付けられた動的に割り当てられたＩＰアドレスにおいて拡張されたコンテンツプロバイダシステム１３００によって受信される。この関係を用いて、次いで取り出されたコンテンツがリクエストしているメディアデバイスに転送される。拡張されたコンテンツプロバイダシステム１３００は、コンテンツをメディアデバイスに転送する前に、取り出されたコンテンツを変換、処理、そして修正し得ることが企図される。
【００８８】
メディアエンジン１３３５は、コンテンツの第１の部分がロードかつ再生される擬似ストリーミングをさらにインプリメントし、そして第１の部分が再生されるが、メディアエンジン１３３５は、コンテンツの第２の部分をフェッチするように命令される。従って、第１の部分が終了する場合、第２の部分がロードされ、そして再生を開始する。この技術は、連続的なストリーミングをエミュレートするために以後の部分を継続する。
【００８９】
図１４を参照すると、図１３のリソースセレクタ１３０５の使用のための展開戦略のブロック図が示される。展開戦略をリダイレクトする場合、特定のメディアデバイスのメディアエンジン１３３５は、画像および音声ファイルを有するＢＦファイルをダウンロードする。メディアエンジン１３３５（ＢＦファイルのコンテンツに基づいて）は、特定の画像または音声ファイルを必要とする場合、メディアエンジン１３３５は、サーブレット１４００と接触し、そして特定のメディアデバイス上にデバイス情報を提供する。次いでリソースセレクタ１３０５が接触され、そしてデバイス情報に基づいて、特定の画像および／または音声ファイルがリソース１４１０から取り出され、メディアエンジン１３３５に再度送信される。リソース１４１０は、ＳＶＧコンバータ１３１０、ＳＶＧコンテンツ格納装置１３２０、およびＢＦキャッシュ１３２５を含む。
【００９０】
再書き込み展開戦略では、リソースセレクタ１３０５は、ＢＦファイルがダウンロードされる前にインプリメントされる。メディアエンジン１３３５は、特定のメディアデバイスのデバイス情報と共にサーブレット１４００にリソースに対するリクエストを送信する。次いで、リソースセレクタ１３０５は、デバイス情報に基づいて含まれる適切な画像および音声ファイルを決定する。次いで、適切な画像および音声ファイルを有するＳＶＧファイルが、リソース１４１０によってメディアエンジン１３３５へのダウンロードのためのＢＦファイルに変換される。
【００９１】
図１５を参照すると、メディアエンジン４１０からブラウジングおよび見るための特定のファイルシステムのＳＶＧ表示を生成するためのコンテンツナビゲータ１５００のための手順のブロック図が示される。現在のディレクトリからのコンテンツに対するリクエストは、メディアエンジン４１０からフロントエンドサーブレット１５０５に送信される。ＪＳＰのＵＲＬは、コンテンツに対するリクエスト内部のクエリパラメータから取り出される。次いでフロントエンドサーブレット１５０５は、現在のディレクトリにおいてコンテンツに対する追加リクエストをＣｏｎｔｅｎｔｓＮａｖｉｇａｔｏｒ  ＪＳＰ  １５１０に送信する。次いで、コンテンツページビーン１５１５におけるプロパティが設定される。これは、コンテンツナビゲータページを作成するために必要とされた構成情報を加える。現在のディレクトリの生成されたファイルリスト情報がコンテンツページビーン１５１５によってリクエストされ、戻される。次いで、ＳＶＧコードがリスト情報から生成され、フロントエンドサーブレット１５０５に戻される。次いで、ＳＶＧコードは、ＳＶＧコンバータ２１０によって変換される。変換されたＳＶＧコード（ＢＦファイル）は、バイナリフォーマットでフロントエンドサーブレット１５０５に戻される。次いでファイルシステムを有するＢＦファイルは、ブラウジングおよび見るためのメディアエンジン４１０に送信される。
【００９２】
図１６を参照すると、図４のメディアデバイス１０５にコンテンツを提供する方法１６００のフローチャートが示される。方法１６００では、コンテンツプロバイダシステム１２５は、コンテンツリクエスト（例えば、ＨＴＴＰリクエスト）をメディアデバイス１０５から受信する（ステップ１６０５）。
【００９３】
ステップ１６０５は、コンテンツリクエストを参照するが、コンテンツプロバイダシステム１２５は、最初にメディアデバイス１０５からのコンテンツリクエストを受信することなく、デバイスにコンテンツを押し出すように構成され得る。例えば、コンテンツプロバイダシステム１２５は、所定の間隔で、特定の日時で、またはコンテンツ変化を格納した場合、所定のコンテンツをメディアデバイス１０５に押し出す。ステップ１６０５は、コンテンツリクエストを受信するだけではなく、メディアデバイス１０５にコンテンツを押し出すコンテンツリクエストを生成することをトリガする。
【００９４】
コンテンツプロバイダシステム１２５は、次いで、メディアデバイス１０５に送信されるべきコンテンツを獲得する。コンテンツは、コンテンツプロバイダシステム１２５において、または例えばコンテンツプロバイダシステム１２５によってアクセス可能であるインターネット上のウエブサーバ上のリモート格納装置においてデータ格納装置２００にローカルに格納され得る。次いで、コンテンツプロバイダシステム１２５は、コンテンツが獲得されたかどうかを決定する（ステップ１６１５）。
【００９５】
コンテンツがコンテンツプロバイダシステム１２５によって獲得されなかった場合、エラーまたは故障表示がメディアデバイス１０５に送信され、連続的な検討についてのエラーまたは故障が記録される（ステップ１６２０）。次いで、コンテンツに対するリクエストの処理が終了する（ステップ１６２５）。
【００９６】
コンテンツが獲得される場合、コンテンツはＳＶＧ  ＤＯＭ３０５によって変換され、コンテンツプロバイダシステム１２５のメモリ内のＢＦオブジェクトモデル３１５となる。次いで、ＢＦオブジェクトモデル３１５は、バイナリフォーマットにフォーマットされ、ＢＦファイルとなる（ステップ１６３５）。次いで、コンテンツプロバイダシステム１２５は、ＢＦファイルをメディアデバイス１０５に送信する（ステップ１６４０）。コンテンツ変換および転送のための動作が完了され、そして処理が終了する（ステップ１６２５）。これらのステップが各コンテンツンリクエストに対して繰り返されるか、または代替的には各コンテンツプッシュリクエストに対して繰り返される。
【００９７】
あるいは、コンテンツを獲得するためのステップ１６１０は、メディアデバイス１０５のデバイス情報に基づいてコンテンツをさらに獲得し得、そして拡張されたコンテンツプロバイダシステム１３００に従ってメディアデバイス１０５のユーザ上で個人化されたデータを有する獲得されたコンテンツをさらに修正し得る。
【００９８】
図１７を参照すると、図１のメディアデバイス１０５上のコンテンツを処理する方法のフローチャートが示される。メディアデバイス１０５は、コンテンツリクエストをコンテンツプロバイダシステム１２５に送信する（ステップ１７０５）。コンテンツリクエストは、メディアデバイス１０５上で動作するソフトウエアアプリケーションによって、ユーザ入力に応答してまたは自動的のいずれかで生成され得る。自動的コンテンツリクエストは、コンテンツが、コンテンツに対する例示的なリクエストを行うことなしでユーザに送信される点でユーザの観点からコンテンツ押し出し動作と類似している。一実施形態では、リクエストはコンテンツプロバイダシステム１２５に関連付けられた均一リソースロケータ（ＵＲＬ）を含む。別の実施形態では、リクエストはまた、メディアデバイス１０５を説明するディスプレイおよびコンピュータ特有のデータ等のセッション情報を含む。この情報は、デバイスディスプレイ画面寸法、色サポート利用可能性、および色の数を含み得る。
【００９９】
メディアデバイス１０５は、コンテンツプロバイダシステム１２５からのリクエストへの応答（ステップ１７１０）を受信する。次いでメディアデバイス１０５は、コンテンツプロバイダシステム１２５からの通信が実際のコンテンツ（ステップ１７１５）であるかどうかを決定する。否定的な決定はステップ１７１５でなされる場合（例えば、コンテンツプロバイダがエラーまたは故障表示をメディアデバイス１０５に戻した場合）、エラーまたは故障はメディアデバイス１０５上で示される（ステップ１７２０）。
【０１００】
あるいは、メディアデバイス１０５は、リクエストを異なるコンテンツプロバイダシステムに送信し、例えば、エラー、故障、または他のコンテンツに関連する問題の性質に依存することによってコンテンツリクエストを再試行し得る（ステップ１７２５）。次いで処理が終了する（ステップ１７３０）。
【０１０１】
実際のコンテンツが受信される場合、メディアデバイス１０５は、コンテンツの視覚エレメントをレンダリングするメディアエンジン４１０によってコンテンツを処理する（ステップ１７３０）。次いでコンテンツの挙動エレメントが処理される。第１には、メディアエンジン４１０は、挙動エレメントの処理が企図されるかどうかを決定する（ステップ１７３５）。挙動エレメントが処理された場合、方法が完了する（ステップ１７３０）。
【０１０２】
次いでメディアエンジン４１０は、１つのパスに対する挙動エレメントを介して処理し、そしてコンテンツによって要求された入力キューに格納されたユーザ入力をさらに処理する。ユーザ入力またはユーザ相互作用は、好ましくは、それらが行われる場合に収集され、待ち行列に入れられることにより、コンテンツ処理動作と同時に実行する連続的プロセスとなる。
【０１０３】
次いで視覚エレメントが修正され、ここでは挙動が、色、サイズ、位置、および仮想エレメント等の属性を修正する（ステップ１７５０）。次いで処理はステップ１７３０に戻り、修正された視覚グラフがレンダリングされる。
【０１０４】
本発明のさらなる局面は、コンテンツ再生のための擬似ストリーミングを利用する。再生または表示されるコンテンツは、コンテンツのブロックに分割される。視覚グラフおよびシーケンスグラフの一部を含む第１のブロックの後、メディアデバイス１０５に転送され、メディアエンジン４１０は、表示を開始し、シーケンスグラフのブロックが処理されつつ、シーケンスグラフの新しい部分または挙動、視覚グラフについて新しい視覚グラフまたは新しい視覚エレメント、あるいはそれらのいくつかの組み合わせを含み得る次のブロックが無線ネットワークを介してフェッチされる。これは、ストリーミングの無線ネットワークペナルティなしで連続的ストリーミングに影響を与える。
【０１０５】
挙動エレメントが実行されている間にコンテンツプロバイダシステム１２５からさらなるコンテンツを取り出す挙動を規定することにより、このような機能がシーケンスグラフに組み込まれ得ることもまた考えられる。例えば、「取出しおよび置換」挙動が規定される。「取出しおよび置換」挙動とは、実行されると、コンテンツプロバイダシステム１２５から別の挙動または挙動の組み合わせと挙動シーケンスとを取り出し、要求に対する応答が受け取られたときにそれらを、取り出された挙動または挙動の組み合わせに置き換える。
【０１０６】
図１８は、デュアルモードモバイル通信デバイス１８１０のブロック図である。例えばメディアデバイス１０５が、デュアルモードモバイル通信デバイス１８１０を含む。
【０１０７】
デュアルモードデバイス１８１０は、トランシーバ１８１１と、マイクロプロセッサ１８３８と、ディスプレイ１８２２と、フラッシュメモリ１８２４と、ＲＡＭメモリ１８２６と、予備入力／出力（Ｉ／Ｏ）デバイス１８２８と、シリアルポート１８３０と、キーボード１８３２と、スピーカ１８３４と、マイクロホン１８３６と、短距離通信サブシステム１８４０とを含み、さらに他のデバイスサブシステム１８４２を含み得る。トランシーバ１８１１は好適には送受信アンテナ１８１６および１６１８と、受信器１８１２と、送信器１８１４と、１以上の局部発振器１８１３と、デジタル信号プロセッサ１８２０とを含む。デバイス１８１０は好適にはフラッシュメモリ１８２４内に、複数のソフトウェアモジュール１８２４Ａ〜１８２４Ｎを含む。複数のソフトウェアモジュール１８２４Ａ〜１８２４Ｎはマイクロプロセッサ１８３８（および／またはＤＳＰ１８２０）によって実行され得、音声通信モジュール１８２４Ａとデータ通信モジュール１８２４Ｂと、複数の他の機能を実行する複数の他の動作モジュール１８２４Ｎとを含む。
【０１０８】
モジュール通信デバイス１８１０は好適には、音声およびデータ通信能力を有する双方向通信デバイスである。したがって、例えば、デバイスは、アナログまたはデジタルセルラーネットワークのいずれかなどの音声ネットワークを介して通信し得、またはデータネットワークを介して通信し得る。音声およびデータネットワークは図１８に、通信タワー１８１９として示されている。これらの音声およびデータネットワークは、基地局、ネットワークコントローラなどの別々のインフラストラクチャを用いた別々の通信ネットワークであり得るか、または単一の無線ネットワークに統合され得る。
【０１０９】
通信サブシステム１８１１は、音声およびデータネットワーク１８１９と通信するために用いられ、受信器１８１２と、送信器１８１４と、１以上の局部発振器１８１３とを含み、ＤＳＰ１８２０をも含み得る。ＤＳＰ１８２０は、送信器１８１４と受信器１８１２との間で信号を送受信するために用いられ、さらに、送信器１８１４からの制御情報を受け取るため、および受信器１８１２に制御情報を提供するためにも用いられる。音声およびデータ通信が単一の周波数、または間隔の短い複数の周波数の組で起こる場合、送信器１８１４および受信器１８１３と組み合わされて単一の局部発振器１８１３が用いられ得る。あるいは、音声通信とデータ通信とに対して異なる周波数が用いられる場合、音声およびデータネットワーク１８１９に対応する複数の周波数を生成するために複数の局部発振器１８１３が用いられる。図１８には２つのアンテナ１８１６および１８１８を示すが、モバイルデバイス１８１０は単一のアンテナ構造と共に用いられ得る。音声情報およびデータ情報の両方を含む情報は、ＤＳＰ１８２０とマイクロプロセッサ１８３８との間のリンクを介して通信モジュール１８１１へ、および通信モジュール１８１１から通信される。通信サブシステム１８１１の詳細な設計、例えば周波数帯、コンポーネント選択、パワーレベルなどは、デバイスが動作することになっている通信ネットワーク１８１９に依存する。例えば北米市場で動作することになっているデバイス１８１０は、Ｍｏｂｉｔｅｘ（商標）またはＤａｔａＴＡＣ（商標）モバイルデータ通信ネットワークで動作するように設計され、さらにＡＭＰＳ、ＴＤＭＡ、ＣＤＭＡ、ＰＣＳなどの様々な音声通信ネットワークで動作するように設計されている通信サブシステム１８１１を含み得る。一方、ヨーロッパで用いられることになっているデバイス１８１０は、Ｇｅｎｅｒａｌ  Ｐａｃｋｅｔ  Ｒａｄｉｏ  Ｓｅｒｖｉｃｅ（ＧＰＲＳ）データ通信ネットワークおよびＧＳＭ音声通信ネットワークで動作するように構成され得る。他のタイプのデータおよび音声ネットワークも、別々のものであれ統合されたものであれ、モバイルデバイス１８１０と共に用いられ得る。
【０１１０】
デュアルモードモバイルデバイス１８１０用のアクセス要件は、ネットワーク１８１９のタイプによっても変わり得る。例えば、ＭｏｂｉｔｅｘおよびＤａｔａＴＡＣデータネットワークでは、モバイルデバイスは、各デバイスに関連づけられた独自の識別番号を用いてネットワーク上で登録される。しかしＧＰＲＳデータネットワークでは、ネットワークアクセスはデバイス１８１０の加入者またはユーザに関連づけられている。ＧＰＲＳデバイスは典型的には、加入者アイデンティティモジュール（「ＳＩＭ」）を必要とする。ＳＩＭは、ＧＰＲＳネットワーク上でデバイス１８１０を動作させるために必要である。局地または非ネットワーク通信機能（もしあれば）はＳＩＭデバイスなしに動作可能である。しかし、デバイス１８１０は、９１８１１緊急呼び出しなどの法的に必要とされる動作以外は、データネットワーク１８１９を介した通信に関連するいかなる機能も実行することはできない。
【０１１１】
必要とされるネットワーク登録または開始手順が完了すると、デュアルモードデバイス１８１０は、ネットワーク１８１９を介して音声およびデータ信号の両方を含む通信信号を送受信し得る。通信ネットワーク１８１９からアンテナ１８１６によって受信した信号は、受信器１８１２にルーティングされる。このことは、信号増幅、周波数ダウン変換、フィルタリング、チャンネル選択などを提供し、さらに、アナログ−デジタル変換も提供し得る。受信信号のアナログ−デジタル変換は、デジタル復調および復号化などのさらに複雑な通信機能がＤＳＰ１８２０を用いて行われることを可能にする。同様の様式で、ネットワーク１８１９に送信される信号が処理される。この処理は、例えばＤＳＰ１８２０による変調および符号化を含む。ネットワーク１８１９に送信される信号はその後、送信器１８１４に提供され、この信号にデジタル−アナログ変調、周波数アップ変換、フィルタリング、アンテナ１８１８を介した増幅および通信ネットワーク１８１９への送信が行われる。図１８では、音声およびデータ通信の両方のために単一の送信器１８１１が設けられているが、デバイス１８１０が２つの異なるトランシーバを含み得る。この場合、第１のトランシーバは音声信号を送受信するため、第２のトランシーバはデータ信号を送受信するためである。
【０１１２】
通信信号を処理することに加えて、ＤＳＰ１８２０はさらに受信器および送信器の制御を提供する。例えば、受信器１８１２および送信器１８１４内の通信信号に付与されるゲインレベルは、ＤＳＰ１８２０に搭載された自動ゲイン制御アルゴリズムを介して適宜制御され得る。他のトランシーバ制御アルゴリズムもまた、トランシーバ１８１１のより高度な制御を提供するためにＤＳＰ１８２０に搭載され得る。
【０１１３】
マイクロプロセッサ１８３８は好適には、デュアルモードデバイス１８１０の動作全体を管理し制御する。ここで多くのタイプのマイクロプロセッサまたはマイクロコントローラが用いられ得る。あるいは、マイクロプロセッサ１８３８の機能を実行するために単一のＤＳＰ１８２０が用いられ得る。少なくともデータおよび音声通信を含む低レベルの通信機能は、トランシーバ１８１１内のＤＳＰ１８２０を介して実行される。音声通信アプリケーション１８２４Ａおよびデータ通信アプリケーション１８２４Ｂなどの他の高レベルの通信が、マイクロプロセッサ１８３８によって実行するためにフラッシュメモリ１８２４内に格納され得、マイクロプロセッサ１８３８により実行される。例えば、音声通信モジュール１８２４Ａは、ネットワーク１８１９を介してデュアルモードデバイス１８１０と複数の他の音声デバイスとの間の音声呼び出しを送受信するように動作可能な高レベルユーザインターフェースを提供し得る。同様に、データ通信モジュール１８２４Ｂは、ネットワーク１８１９を介したデュアルモードモジュールデバイス１８１０と複数の他のデータデバイスとの間のデータの送受信、例えばＥメールメッセージ、ファイル、オーガナイザ情報、ショートテキストメッセージなどの送受信をするように動作可能な高レベルユーザインターフェース１８１０を提供し得る。
【０１１４】
マイクロプロセッサ１８３８はさらに、ディスプレイ１８２２、フラッシュメモリ１８２４、ランダムアクセスメモリ（ＲＡＭ）１８２６、予備入力／出力（Ｉ／Ｏ）サブシステム１８２８、シリアルポート１８３０、キーボード１８３２、スピーカ１８３４、マイクロホン１８３６、短距離通信サブシステム１８４０、および概して参照符号１８４２で示す任意の他のサブシステムなどの他のデバイスサブシステムとインタラクトする。
【０１１５】
図１８に示すサブシステムのいくつかは、通信関連の機能を果たし、他のサブシステムは「レジデント」すなわちデバイス内の機能を提供し得る。特に、キーボード１８３２およびディスプレイ１８２２などのいくつかのサブシステムは、通信関連の機能、例えばテキストメッセージをデータ通信ネットワークを介した送信用に入力すること、およびデバイスレジデント機能、例えば計算機、タスクリスト、または他のＰＤＡタイプの機能の両方に用いられ得る。
【０１１６】
マイクロプロセッサ１８３８によって用いられるオペレーティングシステムソフトウェアは好適には、フラッシュメモリ１８２４などの恒久的格納部に格納される。デバイス１８１０の低レベル機能のすべてを制御するオペレーティングシステムに加えて、フラッシュメモリ１８２４は複数の高レベルソフトウェアアプリケーションプログラムまたはモジュール、例えば音声通信モジュール１８２４Ａ、データ通信モジュール１８２４Ｂ、オーガナイザモジュール（図示せず）、または任意の他のタイプのソフトウェアモジュール１８２４Ｎを含み得る。フラッシュメモリ１８２４はさらにデータを格納するファイルシステムを含み得る。これらのモジュールはマイクロプロセッサ１８３８によって実行され、デバイスのユーザとデバイスとの間の高レベルインターフェースを提供する。このインターフェースは典型的には、ディスプレイ１８２２を介して提供されるグラフィックコンポーネントと、予備Ｉ／Ｏ１８２８を介して提供される入力／出力コンポーネントと、キーボード１８３２と、スピーカ１８３４と、マイクロホン１８３６とを含む。オペレーティングシステム、特定のデバイスアプリケーションまたはモジュール、またはその一部は、動作を高速にするため、一時的にＲＡＭ１８２６などの揮発性格納部にロードされる。さらに、受信した通信信号もまたＲＡＭ１８２６などに一時的に格納された後、恒久的格納部１８２４内に位置するファイルシステムに永久的に書き込まれる。
【０１１７】
デュアルモードデバイス１８１０にロードされ得る一例としてのアプリケーションモジュール１８２４Ｎは、ＰＤＡの機能、例えばカレンダーイベント、アポイントメント、タスクアイテムなどを提供するパーソナル情報マネジャー（ＰＩＭ）アプリケーションである。このモジュール１８２４Ｎはさらに電話呼び出し、ボイスメールなどを管理するために音声通信モジュール１８２４Ｎとインタラクトし得、さらにＥメール通信および他のデータ伝送を管理するためにデータ通信モジュールとインタラクトし得る。あるいは、音声通信モジュール１８２４Ｎおよびデータ通信モジュール１８２４Ｂの全ての機能はＰＩＭモジュールに統合され得る。
【０１１８】
フラッシュメモリ１８２４は好適には、デバイスへのＰＩＭデータアイテムの格納を容易にするファイルシステムを提供する。ＰＩＭアプリケーションは好適には、それ自体で、または無線ネットワーク１８１９を介して音声およびデータ通信モジュール１８２４Ａおよび１８２４Ｂと組み合わされてデータアイテムを送受信する能力を含む。ＰＩＭデータアイテムは好適には、無線ネットワーク１８１９を介して、ホストコンピュータシステムに格納された、または関連づけられた対応するデータセットとシームレスに統合、同期および更新され、それにより特定のユーザに関連づけられたデータアイテムのミラーシステムが作り出される。
【０１１９】
モバイルデバイス１８１０はさらに、インターフェースクレードル内にデバイス１８１０を載置することにより手動でホストシステムと同期され得る。インターフェースクレードルは、モジュールデバイス１８１０のシリアルポート１８３０をホストシステムのシリアルポートに連結する。シリアルポート１８３０はさらに外部デバイスまたはソフトウェアアプリケーションを介してユーザが優先度を設定することを可能にするため、または他のアプリケーションモジュール１８２４Ｎをインストール用にダウンロードすることを可能にするために用いられ得る。この有線ダウンロードパスは、デバイスに暗号化鍵をロードするために用いられ得る。これは無線ネットワーク１８１９を介して暗号化情報を交換するよりも安全な方法である。
【０１２０】
追加のアプリケーションモジュール１８２４Ｎが、ネットワーク１８１９を介して、予備Ｉ／Ｏサブシステム１８２８を介して、シリアルポート１８３０を介して、短距離通信サブシステム１８４０を介して、またはいずれかの他の適切なサブシステム１８４２を介してデュアルモード１８１０にロードされ得、ユーザによってフラッシュメモリ１８２４またはＲＡＭ１８２６にインストールされ得る。アプリケーションのインストールにおけるこのようなフレキシビリティは、デバイス１８１０の機能を増加させ、より高度な、デバイス内の機能、通信関連の機能、またはその両方を提供し得る。例えば、安全な通信アプリケーションは電子通信機能および他のこのような財政取引がデバイス１８１０を用いて行われることを可能にし得る。
【０１２１】
デュアルモードデバイス１８１０がデータ通信モードで動作している間、テキストメッセージまたはウェブページダウンロードなどの受信信号が送信器１８１１によって処理され、マイクロプロセッサ１８３８に提供される。マイクロプロセッサ１８３８は好適にはさらに受信信号を処理してディスプレイ１８２２に出力するか、または予備Ｉ／Ｏデバイス１８２８に出力する。デュアルモードデバイス１８１０のユーザはさらに、キーボード１８３２を用いてＥメールメッセージなどのデータアイテムを作成し得る。キーボード１８３２は好適には、ＱＷＥＲＴＹスタイルでレイアウトされた完全な英数字キーボードであるが、他のスタイル、例えば公知のＤＶＯＲＡＫスタイルの完全な英数字キーボードもまた用いられ得る。デバイス１８１０に対するユーザ入力は、複数の予備Ｉ／Ｏデバイス１８２８によってさらにエンハンスされる。複数の予備Ｉ／Ｏデバイス１８２８は、サムホイール入力デバイス、タッチパッド、様々なスイッチ、ロッカー入力スイッチなどを含み得る。ユーザによって入力された作成されたデータアイテムはその後、トランシーバ１８１１を介して通信ネットワーク１８１９を介して送信され得る。
【０１２２】
デュアルモードデバイス１８１０が音声通信モードで動作している間、デバイス１８１０の動作全体はデータモードと実質的に同一である。但し、受信信号が好適にはスピーカ１８３４に出力され、送信用の音声信号がマイクロホン１８３６によって生成される点が異なる。別の音声またはオーディオＩ／Ｏサブシステム、例えば音声メッセージ記録サブシステムもまた、デバイス１８１０に搭載され得る。音声またはオーディオ信号出力は好適には主にスピーカ１８３４を介して達成されるが、呼び出し側のアイデンティティ、音声呼び出しの期間、または他の音声呼び出し関連の情報を示すために、ディスプレイ１８２２がさらに用いられ得る。例えば、マイクロプロセッサ１８３８は、音声通信モジュールおよび動作システムソフトウェアと組み合わされて、入ってくる音声呼び出しの呼び出し側識別情報を検出し、それをディスプレイ１８２２上に表示する。
【０１２３】
短距離通信サブシステム１８４０がさらに、デュアルモードデバイス１８１０に含まれ得る。例えば、サブシステム１８４０は、赤外線デバイスならびに関連する回路およびコンポーネント、またはＢｌｕｅｔｏｏｔｈ（商標）短距離無線通信モジュールを含み得、同様にイネーブルされたシステムおよびデバイスとの通信を提供する。
【０１２４】
本発明の一局面によると、コンテンツ変換器および対応するコンテンツプロバイダはこのようにして、コンテンツ変換器で新しいシーケンスおよび挙動を規定し、かつ、このようなシーケンスおよび挙動をコンテンツをコンテンツプロセッサで実行することにより、新しい特徴をサポートするように適合される。そのため、上記実施例のシーケンスおよび挙動は説明のためだけであり、本発明は決してそれに限定されるものではないことが理解されるべきである。
【０１２５】
上記の記載では、実施例のみにより好適な実施形態を述べた。本発明の多くの改変が当業者にとっては自明であり、このような自明な改変は、明示的に記載されているか否かにかかわらず、上述した本発明の範囲内である。
【０１２６】
例えば、本明細書に記載した本発明の局面によるシステムおよび方法は媒体デバイスに特に適しているが、コンテンツサイズおよび処理要件の低減は、デスクトップコンピュータシステムなどの、メモリおよび処理リソースが媒体デバイスに限定されない他のシステムでもまた有利である。より小さいファイルサイズおよびより集中度の低い処理は、より高速のコンテンツ伝送および表示という結果になる。
【０１２７】
さらに、コンテンツ変換器およびプロセッサは何らかの特定の通信ネットワーク、システム、およびプロトコルに依存するものではないことが理解されるべきである。したがって、本発明によるコンテンツ変換器およびプロセッサは実質的に任意の一方向または双方向の通信デバイスに搭載され得る。通信関連の依存性は、コンテンツプロバイダシステムおよびデバイス内の通信サブシステムで扱われる。
【０１２８】
図面では、僅か２つの媒体デバイスおよび１つの無線ネットワーク、すなわち、ゲートウェイ、ＷＡＮおよびコンテンツプロバイダシステムを示しているが、通信システムは通常、多くのこのようなコンポーネントを含むことが明らかである。コンテンツプロバイダシステムは、複数のゲートウェイおよび異なる無線ネットワークと通信するように構成され得る。おそらく、異なるゲートウェイには異なるタイプの接続を介して通信がなされる。各無線ネットワークは通常、複数のゲートウェイを含み、何千何万もの、さらには何百万何千万ものデバイスに通信サービスを提供する。これらのすべてが、１以上のコンテンツプロバイダシステムとの通信をイネーブルにされ得る。
【０１２９】
さらに、本発明の局面をＳＶＧに関して、コンテンツプロバイダシステムのコンテンツのフォーマットとして述べてきたが、ＸＭＬおよび非ＸＭＬフォーマットの他のデータが本発明の範囲から逸脱することなく用いられ得る。
【０１３０】
同様に、コンテンツプロバイダシステムは異なるフォーマットのコンテンツを含み得、各タイプのコンテンツを変換する複数のコンテンツ変換器を有し得る。コンテンツプロバイダシステムが、本発明による媒体エンジンを搭載しないシステムにコンテンツを提供し得ることも可能である。このことは、例えば、まずコンテンツを変換することなくコンテンツを目的地に転送することによって達成され得る。
【０１３１】
変換されたコンテンツがコンテンツプロバイダシステムによって送られ得る、デバイス１０５などのデバイスが、主に限定されたメモリおよび処理リソースのために、概してＳＶＧの全てのエレメントおよび機能をサポートし得ないことも考えられる。２つの比較的小さいＳＶＧプロファイル、すなわちＳＶＧ  ＢａｓｉｃおよびＳＶＧ  Ｔｉｎｙは、異なるクラスのデバイス用に適合される。これらのＳＶＧプロファイルのいずれが、あるいはさらなる可能性としてこれらのＳＶＧプロファイルおよび何らかの他の限定されたまたはモジュール化されたＳＶＧプロファイルのうちのいずれが、目的地媒体デバイスによってサポートされるかに依存して、変換器２１０はサポートされていないエレメントをフィルタリングし、無視するかまたは破棄する。変換器２１０は、全デバイス用の特定のプロファイルおよびサポートされたエレメントを受け入れるような構成を有し得る。あるいは変換器２１０は、例えば、コンテンツプロバイダシステムデバイスプロファイルデータベース内の、またはデバイスからのコンテンツ要求内の、デバイス情報に基づいてＳＶＧリーダ３００からＤＯＭをフィルタリングするように制御され得る。コンテンツをフィルタリングする機能が、代わりに、ＳＶＧリーダ３００に搭載され得、ＳＶＧリーダ３００において、サポートされていないＳＶＧエレメントはＤＯＭを構築する際に破棄されるかまたは無視される。
【０１３２】
コンテンツプロバイダシステム１２５はさらに、図面に明示的に示され、かつ上述されたエレメント以外の他のエレメントを含み得、それらをサポートし得る。例えば、ＳＶＧ変換器２１０と組み合わされて、さらなるモジュールがコンテンツプロバイダシステム１２５にインストールされて、以下のような機能をサポートする。（１）ユーザアイデンティティ決定および認証、（２）例えば、各コンテンツ要求ではなく、コンテンツプロバイダシステム１２５に格納されたユーザプロファイル内における個人化：いかなるコンテンツがどのようにコンテンツプロバイダシステム１２５によって各ユーザに転送されるべきかをユーザが特定することを可能にする、（３）安全なモジュール交渉：コンテンツ変換器およびプロセッサ、例えばＳｅｃｕｒｅ  ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ（ＨＴＴＰ）を介して安全な財政取引が起こることを可能にする、（４）ダイナミックデータフィード：第三者のデータ、例えば、地図、株価の見積りまたはニュースの切り抜きなどのデータがコンテンツプロバイダを介してダイナミックにデバイスにプッシュされることを可能にする、および（５）チャットおよび他のメッセージサービス：デバイス通信機能に対してのコンテンツプロバイダシステム１２５を用いてメッセージを伝送する。さらなる高度なサービスが同様に開発され得、ユーザの経験全体をエンハンスする。
【０１３３】
テーブルＡ
以下のテキストは、バイナリフォーマットの例示的仕様である。
【０１３４】
最初に、一般的なストリームレイアウト、次に、特定のノードの特定のストリームフォーマットが説明される。すべてのサイズ値は、ビッグエンディアンフォーマット（高位バイトが先）で表され数０である。符号なしの値が全くの正の値である。
【０１３５】
各フィールドには、以下のフォーマット
＜ｎａｍｅ＞＜Ｊａｖａ（Ｒ）  Ｐｒｉｍｉｔｉｖｅ＞＜Ｂｙｔｅ  ｓｉｚｅ＞＜Ｓｈｏｒｔｅｎｅｄ  ａｃｃｏｒｄｉｎｇ  ｔｏ  ｃａｎｄｉｄａｔｅ  ｎｕｍｂｅｒ＞
が指定される。
【０１３６】
候補数がナローイングバイトで規定され、これらは以下において説明される。
【０１３７】
一般的フォーマット
ＢＦ  開始  ヘッダ  整数  （４バイト）
この値は、ストリームが有効ＢＦストリームであり、テキストや他のストリームではないことを示す。これは、「２１１」「Ｐ」「Ｍ」「Ｅ」といった文字バイトである。最初の文字は、非テキストであり、テキストストリームがＢＦと解釈される機会を低減する。従って、残りの３つのバイトは、テキストエディタにおいて開かれた場合にファイルが識別され得る。
【０１３８】
ＢＦ  メジャーバージョン１  バイト  （１バイト）
この値は、現在用いられていない。
【０１３９】
ＢＦ  メジャーバージョン２  バイト  （１バイト）
この値は、ストリームと関連したメジャーリリースを示す。メディアエンジンは、より劣ったバージョン（後方互換性）のストリームの機能を選択的に実行し得るが、より優れたバージョン（前方互換性）のストリームの機能を実行することは必要とされない。新しい世代の製品が発売された場合、このバージョンはインクリメントされる。
【０１４０】
ＢＦ  マイナーバージョン１  バイト  （１バイト）
この値は、ストリームフォーマットのマイナーリリースを示す。所与のメジャーバージョンの範囲内のメディアエンジンは、任意のマイナーバージョンとの後方互換性がなければならないが、マイナーバージョン１リビジョンとの前方互換性が必ずしもある必要がない。ストリームフォーマットがアップグレードされた場合、このバージョンはインクリメントされる。
【０１４１】
ＢＦ  マイナー  バージョン２  バイト  （１バイト）
この値は、このストリームの機能を実行するように設計された世代の範囲内のメディアエンジンのバージョンを示す。所与のマイナー１リビジョンの範囲内のメディアエンジンは、このバージョンと前方および後方互換性がなければならない。このバージョンは、ストリームフォーマットに、新しいバージョンのストリームの機能を実行するメディアエンジンの能力に影響をおよぼさない変更がストリームフォーマットになされた場合はいつでもインクリメントされる。
【０１４２】
バージョン情報に関する脚注は以下のとおりである。バージョン情報がテキストまたはバイトとして符号化されるか否かに関して若干述べられた。そのバージョン情報がテキストベースの文字として符号化された場合、テキストエディタにおいてＢＦファイルを開いた人は、それがどのバージョンであるのかを見出し得る。しかしながら、これは、さらに、各バージョン識別子を文字０〜９に制限する。
【０１４３】
ＢＦ  ｅｎｄ  ｈｅａｄｅｒ  ｉｎｔ  （４  バイト）
この値は、ファイル転送エラーを早期に把握するために用いられる。これは、文字「＼ｒ」「＼ｎ」「３２」「＼ｎ」からなる。復帰／改行の組み合わせは、テキストベースのファイル転送メカニズムによってエラーであると理解される。開始および終了ヘッダがＰＮＧファイルフォーマットヘッダに基づくことに留意されたい。（ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ＴＲＣ−ｐｎｇ．ｈｔｍｌ＃Ｒ．ＰＮＧ−ｆｉｌｅ−ｓｉｇｎａｔｕｒｅ）。
【０１４４】
符号化  ｕｔｆ−８
これは、ストリームにおけるすべての残りのストリングを符号化するために用いられた符号化を表すテキストストリングである。この値は、チャックサムに含まれない。
【０１４５】
シーンタイトル
これは、シーンのタイトルである。コンテンツ開発者は、選択的に、このフィールドを規定し得る。これは、最長１６文字を有する。逆シリアル化（ｄｅ−ｓｅｒｉａｌｉｚａｔｉｏｎ）の時間にチェックが保証されないので、この限度はコンパイラまたは出力ストリームによって強化される。
【０１４６】
版権情報（Ｃｏｐｙｒｉｇｈｔ  ｉｎｆｏｒｍａｔｉｏｎ）
これは、コンテンツ開発者によって規定される版権情報を含み得る任意のフィールドである。これは、最長８０文字を有する。この限度もまた、コンパイラまたは出力ストリームによって強化される。
【０１４７】
ナローイング  バイト  ｉｎｔ  （４バイト）
このフィールドは、変数の特定のセットが最小数のバイトで書き込まれることを可能にするビットマスクのシーケンスを含む。このセットの値は、そのセット内に含まれる最大値を表すために必要な最少数のバイトで書き込まれる。以下のテーブルは、バイトの数を決定するために用いられる境界値を示す。符号なしのセットは、配列指数等、負の値が意味を有さないセットである。符号付きのセットは、負および正の両方の値が意味を有するセットである。符号付きのセットのすべての値は正である場合、これは、符号なしのセットとして処理されることが可能である。
【０１４８】
【表１】
2005507098.tif 000003
ナローイングは、フィールドに割り当てられた４バイト（３２ビット）における特定のロケーションにビットマスクをセットすることによって適用される。最初の７つの候補が符号なしのバイトのタイプまたは符号なしのショートのタイプのどちらかであり得ることのみが可能であるので、ビットマスクの最後のビットのみがストリームに書き込まれる必要がある。ストリームが逆シリアル化された場合、行間隔０がマスクに追加され得る。同じ理由によって、キータイムに符号は付き得ないので、行間隔０のビットマスクが外され、かつ２ビットのみがストリームに書き込まれる。
【０１４９】
【表２】
2005507098.tif 000004
シーン幅    バイト／ショート  （１バイト／２バイト）  （＃５）
シーン高さ  バイト／ショート  （１バイト／２バイト）  （＃５）
これは、シーンの好適な幅および高さである。これは、シーンをデバイスス画面の中央に置くために用いられる。
【０１５０】
Ｓｃｅｎｅ  ｃｏｌｏｒ−Ｒ  符号なしバイト  （１バイト）
Ｓｃｅｎｅ  ｃｏｌｏｒ−Ｇ  符号なしバイト  （１バイト）
Ｓｃｅｎｅ  ｃｏｌｏｒ−Ｂ  符号なしバイト  （１バイト）
これは、ＲＧＢの形式でのシーンの背景色である。デバイス画面が、シーン幅および高さよりも大きい場合、マット化するためにこの色が用いられる。
【０１５１】
シーケンス  ルート  インデックス  符号なしのショート  （２バイト）
シーケンスグラフルートノードのノード配列へのインデックス。ビジュアルグラフのインデックスは、常に０であるので書き込まれない。
【０１５２】
ノードデータサイズ  符号なしショート  （２バイト）
ノード配列におけるエレメントの数。これは、配列におけるノードの数ではなく、割り当てられることが必要なｉｎｔｓの数である。この数は、過渡データの空間を含む。
【０１５３】
キータイムデータサイズ  符号なしショート  （２バイト）
キー値データサイズ      符号なしショート  （２バイト）
これらの値は、キータイムおよびキーの値が単配列に格納される可能性を考慮に入れ、ここで共に書き込まれる。エンジンがキータイムデータサイズをノード配列において見出されるすべてのキーの値インデックスに追加することを必要とする。
【０１５４】
ｎｕｍＣｏｏｒｄｉｎａｔｅＡｒｒａｙ  符号なしバイト／符号なしショート（１バイト／２バイト）（＃２）
読み出すべき座標配列の数
ｎｕｍＯｂｊｅｃｔｓ  符号なしバイト／符号なしショート（１バイト／２バイト）（＃１）
これは、オブジェクト配列に含まれるメディアｕｒｌリファレンス、ハイパーリンクリファレンスおよびテキストストリングスの数である。
【０１５５】
ｎｕｍＳｏｕｎｄｅｓ  符号なしバイト／符号なしショート（１ｂｙて／２バイト）（＃１）
便宜上、それぞれ、オブジェクト配列に含まれるサウンドｕｒｌおよびイメージｕｒｌの数である。
【０１５６】
ｎｕｍＩｎｔｅｒｐｏｌａｔｏｒｓ  符号なしショート  （２バイト）
ノード配列に含まれる補間ノードの数である。
【０１５７】
ｎｕｍＨｏｔｓｐｏｔｓ  符号なしショート  （２バイト）
ノード配列に含まれるホットスポットノードの数である。
【０１５８】
チャネルデータサイズ  符号なしショート  （２バイト）
チャネル配列のデータサイズである。
【０１５９】
チェックサム  整数（４バイト）
これは、ストリームであるが、チェックサムおよびファイルヘッダのバイトは含まないストリームから計算された値である。この値は、ストリームに書き込まれたすべての値の単純な合計である。この値が修正されない場合、エンジンは、ストリームの伝送の間、ストリームが変更されたか、またはエラーが生じるとロードを中止する。
【０１６０】
ノード配列
シーケンスグラフにおける各ノードが追従するビジュアルグラフにおける各ノードのデータ。この情報は、ｐｒｅ−ｏｒｄｅｒ  ｄｅｐｔｈ−ｆｉｒｓｔ  ｔｒａｖｅｒｓａｌと書き込まれ、ストリーミングの将来の可能性を考慮に入れる。Ｐｒｅｏｒｄｅｒは、親が子の前に書き込まれることを意味する。Ｄｅｐｔｈ  ｆｉｒｓｔは、最初の子のサブグラフが、第２の子が書き込まれる前に完全に書き込まれることを意味する。例えば、ルートグループ、ルートグループの子１、ロートグループの子１の子１等である。
【０１６１】
チャックサム  整数  （４バイト）
これは、ストリームのバイトであるが、このチャックサム、前のチャックサムのいずれか、またはファイルヘッダのバイトは含まないバイトから計算された値である。この値は、ストリームに書き込まれるすべての値の単純な合計である。この値が正しくない場合、エンジンは、ストリームの伝送の間、ストリームが変更されたか、またはエラーが生じるとロードを中止する。
【０１６２】
座標配列
これは、シーンにおけるすべてのポリゴン／ポリラインの座標データである。以下のデータは、各座標配列のストリームに書き込まれる。
【０１６３】
長さ  符号なしバイト／符号なしショート（１バイト／２バイト）（＃３）
各ｘまたはｙ値  バイト／ショート（（１バイト／２バイト）＊長さ）（＃１１）
エンジンは、ドコモグラフィックスＡＰＩの性質に基づいて、これらを整数［  ］［  ］で格納することが予測される。ｘおよびｙは、ここでは区別されない。これらは、多角形オブジェクトのインデックスによってレンダーコールの場合にのみ区別される。座標のセットが動画化された場合、このセットは、所望の効果でない場合は共有されない。むしろ、これは、別個の座標セットとしてストリームに書き込まれる。コンパイラまたは出力ストリームは、座標配列が共有されるべきか否かの決定を担当する。
【０１６４】
チェックサム  整数、（４バイト）
これは、ストリームのバイトであるが、このチェックサム、前のチェックサムのいずれかまたはファイルヘッダは含まないバイトから計算される値である。この値は、ストリームに書き込まれたすべての値の単純な合計である。この値が正しくない場合、エンジンは、ストリームの伝送の間、ストリームが変更されたか、またはエラーが生じるとロードを中止する。
【０１６５】
キータイム配列
これは、シーンにおける補間のすべてのキータイムの配列である。以下のデータは、キータイム配列ごとにストリームに書き込まれる。
【０１６６】
長さ  符号なしバイト／符号なしショート（１バイト／２バイト）（＃３）
各キータイム  符号なしバイト／符号なしショート／符号なし３バイト／符号なし整数（（１バイト／２バイト／３バイト／４バイト）＊長さ）（＃９）
０の最初のキータイムはストリームに書き込まれない。むしろ、エンジンは、これを逆シリアル化の時間に初期化する。
【０１６７】
チェックサム  整数  （４バイト）
これは、ストリームのバイトであるが、このチェックサム、前のチェックサムのいずれか、またはファイルヘッダは含まないバイトから計算される値である。この値は、ストリームに書き込まれたすべての値の単純な合計である。この値が正しくない場合、エンジンは、ストリームの伝送の間、ストリームが変更されたか、またはエラーが生じるとロードを中止する。
【０１６８】
キー値配列
これは、シーンにおけるすべての補間と関連したキー値である。これらの配列は、共有され得るので、データサイズは、キータイムとは異なり得る。キー値配列が動画化された場合、キー値は、所望の効果でない場合は共有されない。この場合、別個のキー値配列として書き込まれる。コンパイラまたは出力ストリームは、キー値配列が共有されるべきか否かの決定を担当する。以下のデータは、キー値配列ごとにストリームに書き込まれる。
【０１６９】
長さ  符号なしバイト／符号なしショート（１バイト／２バイト）（＃３）
各キータイム値  バイト／ショート  （（１バイト／２バイト）＊長さ）（＃１０）
チェックサム  整数  （４バイト）
これは、ストリームのバイトであるが、このチェックサム、前のチェックサムのいずれか、またはファイルヘッダは含まないバイトから計算される値である。この値は、ストリームに書き込まれたすべての値の単純な合計である。この値が正しくない場合、エンジンは、ストリームの伝送の間、ストリームが変更されたか、またはエラーが生じるとロードを中止する。
【０１７０】
ストリング／メディアオブジェクト配列
この配列は、イメージ、オーディオおよびハイパーリンクノードのｕｒｌを含む。これは、さらに、任意のテキストノードからのテキストストリングも含む。データは、すべてのオーディオクリップのｕｒｌ、すべてのイメージｕｒｌ、すべてのテキストストリング、すべてのハイパーリンクの順序で書き込まれる。
【０１７１】
＊これがオブジェクト［  ］としてエンジン側に割り当てられた場合、メディアリソースオブジェクトは、適切なインデックスでＵＲＬを上書きし得る。
【０１７２】
チェックサム  整数  （４バイト）
これは、ストリームのバイトであるが、このチェックサム、前のチェックサムのいずれか、またはファイルヘッダは含まないバイトから計算される値である。この値は、ストリームに書き込まれたすべての値の単純な合計である。この値が正しくない場合、エンジンは、ストリームの伝送の間、ストリームが変更されたか、またはエラーが生じるとロードを中止する。
【０１７３】
チャネルデータ
これは、ソースのチャンネルである。以下のデータは、ストリーム内のすべてのチャネルに書き込まれる。
【０１７４】
長さ  符号なしバイト／符号なしショート（１バイト／２バイト）（＃３）
各チャネルインデックス  符号なしショート  （２バイト＊長さ）
チェックサム  整数  （４バイト）
これは、ストリームのバイトであるが、このチェックサム、前のチェックサムのいずれか、またはファイルヘッダは含まないバイトから計算される値である。この値は、ストリームに書き込まれたすべての値の単純な合計である。この値が正しくない場合、エンジンは、ストリームの伝送の間、ストリームが変更されたか、またはエラーが生じるとロードを中止する。
【０１７５】
特定のノードのフォーマット
（＊）値は、一時的であり、ストリームに書き込まれない。これらの値には、ストリームがシリアル化される時間に、エンジンによって初期値が割り当てかつ割り付けられる。すべてのノードは、ビットフィールドを有する。それらのバイトの範囲内に、ビットポジションに以下の意味が割り当てられている。
【０１７６】
可視（Ｖｉｓｉｂｌｅ）  ７
ストロークされた（Ｈａｓ  Ｓｔｒｏｋｅ）  ６
書き込まれた（Ｈａｓ  Ｆｉｌｌ）  ５
アクティブ  ４
完了  ３
ループ  ２
通知  １
ノードは、タイプごとに読み出されるので、シーケンスとビジュアルノードとの間にノードタイプにネーム空間の衝突があってはならない。ビジュアルノードバイプは、タイプ１で開始し、６４にインクリメントする。シーケンスノードタイプは、Ｂｙｔｅ．ＭＡＸ＿ＭＡＸ＿ＶＡＬＵＥ（１２７）で開始し、６５にデクリメントする。
【０１７７】
可視のビットがビットフィールドにおける唯一のビットであるノードの可視性を示すために１の補数（〜）が用いられる。具体的に、これらのノードは、補間器、ホットスポット、グループ、イメージおよびテキストである。列挙されたノードのビットフィールドは、書き込まれない。その代わりに、ノードが可視である場合、通常のタイプの定数がストリームに書き込まれる。ノードが可視でない場合、このタイプの１の補数はストリームに書き込まれる。
【０１７８】
Ｐで表示されるビットフィールドは、可視性がタイプ識別子にパックされることを示す。
【０１７９】
タイプ識別子は、
矩形  １０
ポリライン／ポリゴン  ２０
テキスト  ３０
イメージ４０
グループ  ５０
ループ  １２５
すべてのフォーク  １２０
任意のフォーク  １１５
ホットスポット  １１０
オーディオクリップ  １０５
オーディオストップ  １００
ハイパーリンク  ９５
チャネル変更子  ９０
補間器  ８５
シーケンスノード
オーディオクリップ
タイプ  バイト  （１バイト）
ビット  符号なしバイト  （１バイト）
ループ
通知
＊親
メディアインデックス  符号なしバイト／符号なしショート（１バイト／２バイト）（＃１）
オーディオストップ
タイプ  バイト  （１バイト）
＊ビット（将来の使用）
＊親
チャネル変更子
タイプ  バイト  （１バイト）
＊ビット（将来の使用）
＊親
チャネルインデックス  符号なしバイト／符号なしショート（１バイト／２バイト）（＃１）
動作  バイト  （１バイト）
ハイパーリンク
タイプ  バイト  （１バイト）
＊ビット（将来の使用）
＊親
リンクインデックス  符号なしバイト／符号なしショート（１バイト／２バイト）（＃１）
補間器
タイプ  バイト  （１バイト）
Ｐ  ビット  符号なしバイト（１バイト）
可視
アクティブ
＊親
ループカウント  符号なしバイト／符号なしショート（１バイト／２バイト）（＃４）
補間タイプ  バイト  （１バイト）
キータイムのインデックス  符号なしバイト／符号なしショート（１バイト／２バイト）（＃６）
キー値のインデックス  符号なしバイト／符号なしショート（１バイト／２バイト）（＃７）
＊開始時間
＊インターバル
セット値ターゲットの数  符号なしバイト／符号なしショート（１バイト／２バイト）（＃３）
セット値のインデックス  符号なしショート  （２バイト＊ターゲットの数）
セット値法を用いるのとは対照的に、値を書き込むためのインデックスは、補間器において直接指定される。これは、ノード配列におけるフィールドの位置に索引を付けて、整数配列フォーマットメディアエンジンにフォーマットを密接に結びつける。利得は、これがセット値法およびセット値識別子を除去することを可能にするということである。各ノードのインデックスが、逆シリアル化に対して追跡され、かつ補間が逆シリアル化されるとマッチされる場合、この情報をエンジンのオブジェクトバージョンで再構築することが可能である。補間器がセット値に対して空ターゲットを有する場合、インデックスは、ストリームに書き込まれない。
【０１８０】
ホットスポット
タイプ  バイト  （１バイト）
Ｐ  ビット  符号なしのバイト  （１バイト）
可視
＊    アクティブ
＊親
アウトフォーカスの子のインデックス  符号なしショート  （２バイト）
インフォーカスの子のインデックス  符号なしショート  （２バイト）
オンアクティブの子のインデックス  符号なしショート  （２バイト）
Ａｎｙｆｏｒｋ
タイプ  バイト  （１バイト）
＊ビット
＊    完了
＊親
ｎｕｍＣｈｉｌｄｒｅｎ  符号なしバイト／符号なしショート（１バイト／２バイト）（＃３）
子のインデックス  符号なしショート  （２バイト＊ｎｕｍＣｈｉｌｄｒｅｎ）
Ａｌｌｆｏｒｋ
タイプ  バイト  （１バイト）
＊ビット（将来の使用）
＊親
ｎｕｍＣｈｉｌｄｒｅｎ  符号なしバイト／符号なしショート（１バイト／２バイト）（＃３）
子のインデックス  符号なしショート  （２バイト＊ｎｕｍＣｈｉｌｄｒｅｎ）
ループ
タイプ  バイト  （１バイト）
＊ビット（将来の使用）
親
ｎｕｍＣｈｉｌｄｒｅｎ  符号なしバイト／符号なしショート（１バイト／２バイト）（＃３）
ＬｏｏｐＣｏｕｎｔ  符号なしバイト／符号なしショート（１バイト／２バイト）（＃４）
＊ＣｕｒｒｅｎｔＣｈｉｌｄ
＊ＣｕｒｒｅｎｔＬｏｏｐ
子のインデックス  符号なしショート  （２バイト＊ｎｕｍＣｈｉｌｄｅｒｅｎ）
ビジュアルノード
矩形
タイプ  バイト  （１バイト）
ビット  符号なしバイト  （１バイト）
可視
ストロークされた
書き込まれた
Ｘ  バイト／ショート  （１バイト／２バイト）  （＃１３）
Ｙ  バイト／ショート  （１バイト／２バイト）  （＃１４）
Ｆｉｌｌ  Ｃｏｌｏｒ−Ｒｅｄ    （適切な場合）    符号なしバイト（１バイト）
Ｆｉｌｌ  Ｃｏｌｏｒ−Ｇｒｅｅｎ（適切な場合）  符号なしバイト（１バイト）
Ｆｉｌｌ  Ｃｏｌｏｒ−Ｂｌｕｅ  （適切な場合）  符号なしバイト（１バイト）
Ｓｔｒｏｋｅ  Ｃｏｌｏｒ−Ｒｅｄ（適切な場合）    符号なしバイト（１バイト）
Ｓｔｒｏｋｅ  Ｃｏｌｏｒ−Ｇｒｅｅｎ（適切な場合）符号なしバイト（１バイト）
Ｓｔｒｏｋｅ  Ｃｏｌｏｒ−Ｂｌｕｅ（適切な場合）  符号なしバイト（１バイト）
幅    符号なしバイト／符号なしショート（１バイト／２バイト）
高さ  符号なしバイト／符号なしショート（１バイト／２バイト）
ポリゴン／ポリライン
タイプ  バイト  （１バイト）
ビット  符号なし  （１バイト）
可視
ストロークされた
書き込まれた
Ｘ    バイト／ショート  （１バイト／２バイト）  （＃１３）
Ｙ    バイト／ショート  （１バイト／２バイト）  （＃１４）
Ｆｉｌｌ  Ｃｏｌｏｒ−Ｒｅｄ（適切な場合）    符号なしバイト（１バイト）
Ｆｉｌｌ  Ｃｏｌｏｒ−Ｇｒｅｅｎ（適切な場合）  符号なしバイト（１バイト）
Ｆｉｌｌ  Ｃｏｌｏｒ−Ｂｌｕｅ（適切な場合）  符号なしバイト（１バイト）
Ｓｔｒｏｋｅ  Ｃｏｌｏｒ−Ｒｅｄ（適切な場合）    符号なしバイト（１バイト）
Ｓｔｒｏｋｅ  Ｃｏｌｏｒ−Ｇｒｅｅｎ（適切な場合）符号なしバイト（１バイト）
Ｓｔｒｏｋｅ  Ｃｏｌｏｒ−Ｂｌｕｅ（適切な場合）  符号なしバイト（１バイト）
ｘ  ｃｏｏｒｄ  ｉｎｄｅｘ  符号なしバイト／符号なしショート  （１バイト／２バイト）（＃２）
ｙ  ｃｏｏｒｄ  ｉｎｄｅｘ  符号なしバイト／符号なしショート  （１バイト／２バイト）（＃２）
テキスト
タイプ  バイト  （１バイト）
Ｐ  ビット  符号なしバイト（１バイト）
可視
Ｘ  バイト／ショート  （１バイト／２バイト）  （＃１３）
Ｙ  バイト／ショート  （１バイト／２バイト）  （＃１４）
Ｃｏｌｏｒ−Ｒｅｄ  符号なしバイト（１バイト）
Ｃｏｌｏｒ−Ｇｒｅｅｎ  符号なしバイト（１バイト）
Ｃｏｌｏｒ−Ｂｌｕｅ  符号なしバイト（１バイト）
フォント  整数  （４バイト）
テキストインデックス  符号なしバイト／符号なしショート  （１バイト／２バイト）（＃１）
ストロークを支援し、かつテキストノードに書き込むために、各文字は、等価のポリラインに変換される必要がある。このオプションは、このバージョンには含まれず、素の結果、書き込みのみが支援される。
【０１８１】
イメージ
タイプ  バイト  （１バイト）
Ｐ  ビット  符号なしバイト（１バイト）
可視
Ｘ  バイト／ショート  （１バイト／２バイト）  （＃１３）
Ｙ  バイト／ショート  （１バイト／２バイト）  （＃１４）
イメージインデックス  符号なしバイト／符号なしショート（１バイト／２バイト）（＃１）
グループ
タイプ  バイト  （１バイト）
Ｐ  ビット  符号なしバイト（１バイト）
可視
Ｘ  バイト／ショート  （１バイト／２バイト）  （＃１３）
Ｙ  バイト／ショート  （１バイト／２バイト）  （＃１４）
ｃｕｒｒｅｎｔＣｈｉｌｄ  バイト／ショート（１バイト／２バイト）  （＃１２）
ｎｕｍＣｈｉｌｄｅｒｅ  符号なしバイト／符号なしショート（１バイト／２バイト）（＃３）
子インデックス  符号なしショート（２バイト）
【０１８２】
【表３】
2005507098.tif 000005
2005507098.tif 000006
凡例：空白は、ＳＶＧによって支援されない
Ｙは、ＳＶＧによって支援されるが、このインプリメンテーションによっては支援されない。
【０１８３】
Ｘは、ＳＶＧおよびこのインプリメンテーションによって支援される。
【図面の簡単な説明】
【０１８４】
【図１】図１は、本発明の実施形態によるコンテンツプロバイダシステムを有する通信システムのブロック図である。
【図２】図２は、コンバータを有する図１のシステムのコンテンツプロバイダのブロック図である。
【図３】図３は、ＳＶＧコンパイラを有する図２のコンバータのブロック図である。
【図４】図４は、メディアエンジンを有する図１のメディアデバイスのブロック図である。
【図５】図５は、図４のメディアエンジンのブロック図である。
【図６】図６は、図３のＳＶＧコンパイラによる動画の変換（その変換は、視覚エレメントおよび挙動エレメントを有する）のブロック図である。
【図７】図７は、視覚グラフ７００として表された図６の視覚エレメントの例のブロック図である。
【図８】図８は、シーケンスグラフとして表された図６の挙動エレメント例のブロック図である。
【図９−１】図９−１は、矩形動画の一例のブロック図である。
【図９−２】図９−２は、矩形動画の一例のブロック図である。
【図９−３】図９−３は、矩形動画の一例のブロック図である。
【図９−４】図９−４は、矩形動画の一例のブロック図である。
【図９−５】図９−５は、矩形動画の一例のブロック図である。
【図９−６】図９−６は、矩形動画の一例のブロック図である。
【図９−７】図９−７は、矩形動画の一例のブロック図である。
【図１０】図１０は、本発明の別の実施形態による代替のコンバータおよびＳＶＧメディアエンジンのブロック図である。
【図１１】図１１は、図１のコンテンツプロバイダシステム上の展開の前にコンテンツを検証するためのデバイスシミュレータを有するシミュレーションシステムのブロック図である。
【図１２】図１２は、ＮＴＴ  ＤｏＣｏＭｏ  Ｉ−ｍｏｄｅ電話のコンピュータ上のデバイスシミュレータのスクリーンショットである。
【図１３】図１３は、本発明のさらなる実施形態によるリソースセレクタを有する強化されたコンテンツプロバイダシステムのブロック図である。
【図１４】図１４は、図１３のリソースセレクタの使用のための展開戦略のブロック図である。
【図１５】図１５は、メディアエンジンからブラウジングおよび見るための特定のファイルシステムのＳＶＧレンダリングを生成するためのコンテンツナビゲータのための連続的ブロック図である。
【図１６】図１６は、図４のメディアデバイスにコンテンツを提供するための方法のフローチャートである。
【図１７】図１７は、図１のメディアデバイス上でコンテンツを処理するための方法のフローチャートである。
【図１８】図１８は、デュアルモードモバイル通信デバイスのブロック図である。
【図１】
2005507098.tif 000007
【図２】
2005507098.tif 000008
【図３】
2005507098.tif 000009
【図４】
2005507098.tif 000010
【図５】
2005507098.tif 000011
【図６】
2005507098.tif 000012
【図７】
2005507098.tif 000013
【図８】
2005507098.tif 000014
【図９−１】
2005507098.tif 000015
【図９−２】
2005507098.tif 000016
【図９−３】
2005507098.tif 000017
【図９−４】
2005507098.tif 000018
【図９−５】
2005507098.tif 000019
【図９−６】
2005507098.tif 000020
【図９−７】
2005507098.tif 000021
【図１０】
2005507098.tif 000022
【図１１】
2005507098.tif 000023
【図１３】
2005507098.tif 000024
【図１４】
2005507098.tif 000025
【図１５】
2005507098.tif 000026
【図１６】
2005507098.tif 000027
【図１７】
2005507098.tif 000028
【図１８】
2005507098.tif 000029
【国際公開パンフレット】
2005507098.tif 000030
2005507098.tif 000031
2005507098.tif 000032
2005507098.tif 000033
2005507098.tif 000034
2005507098.tif 000035
2005507098.tif 000036
2005507098.tif 000037
2005507098.tif 000038
2005507098.tif 000039
2005507098.tif 000040
2005507098.tif 000041
2005507098.tif 000042
2005507098.tif 000043
2005507098.tif 000044
2005507098.tif 000045
2005507098.tif 000046
2005507098.tif 000047
2005507098.tif 000048
2005507098.tif 000049
2005507098.tif 000050
2005507098.tif 000051
2005507098.tif 000052
2005507098.tif 000053
2005507098.tif 000054
2005507098.tif 000055
2005507098.tif 000056
2005507098.tif 000057
2005507098.tif 000058
2005507098.tif 000059
2005507098.tif 000060
2005507098.tif 000061
2005507098.tif 000062
2005507098.tif 000063
2005507098.tif 000064
2005507098.tif 000065
2005507098.tif 000066
2005507098.tif 000067
2005507098.tif 000068
2005507098.tif 000069
2005507098.tif 000070
2005507098.tif 000071
2005507098.tif 000072
2005507098.tif 000073
2005507098.tif 000074
2005507098.tif 000075
2005507098.tif 000076
2005507098.tif 000077
2005507098.tif 000078
2005507098.tif 000079
2005507098.tif 000080
2005507098.tif 000081
2005507098.tif 000082
2005507098.tif 000083
2005507098.tif 000084
2005507098.tif 000085
2005507098.tif 000086
2005507098.tif 000087
2005507098.tif 000088
2005507098.tif 000089
2005507098.tif 000090
2005507098.tif 000091
2005507098.tif 000092
2005507098.tif 000093
2005507098.tif 000094
2005507098.tif 000095
2005507098.tif 000096
2005507098.tif 000097
2005507098.tif 000098
2005507098.tif 000099
2005507098.tif 000100
2005507098.tif 000101
2005507098.tif 000102
2005507098.tif 000103
2005507098.tif 000104
2005507098.tif 000105
2005507098.tif 000106
2005507098.tif 000107
2005507098.tif 000108
2005507098.tif 000109
2005507098.tif 000110
2005507098.tif 000111
2005507098.tif 000112
2005507098.tif 000113
2005507098.tif 000114
2005507098.tif 000115
2005507098.tif 000116
2005507098.tif 000117
2005507098.tif 000118
2005507098.tif 000119
2005507098.tif 000120
2005507098.tif 000121
2005507098.tif 000122
2005507098.tif 000123
2005507098.tif 000124
2005507098.tif 000125
2005507098.tif 000126
2005507098.tif 000127
2005507098.tif 000128
【国際公開パンフレット（コレクトバージョン）】
2005507098.tif 000129
2005507098.tif 000130
【国際調査報告】
2005507098.tif 000131
2005507098.tif 000132
2005507098.tif 000133
2005507098.tif 000134
2005507098.tif 000135
2005507098.tif 000136