JP2005507098A - コンテンツをメディアデバイスに提供するための方法および装置 - Google Patents

コンテンツをメディアデバイスに提供するための方法および装置 Download PDF

Info

Publication number
JP2005507098A
JP2005507098A JP2002573403A JP2002573403A JP2005507098A JP 2005507098 A JP2005507098 A JP 2005507098A JP 2002573403 A JP2002573403 A JP 2002573403A JP 2002573403 A JP2002573403 A JP 2002573403A JP 2005507098 A JP2005507098 A JP 2005507098A
Authority
JP
Japan
Prior art keywords
content
media
requested
requested content
binary format
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002573403A
Other languages
English (en)
Other versions
JP2005507098A6 (ja
Inventor
ジェイ ディー. ステル,
ケネス ジェイ. ワットマウ,
シャウン アール. ジョハンセン,
ジョン−デイビッド ケイ. レイシー,
ジュリアン パース,
ラケシュ ケイ. アローラ,
ローラ ドクトロヴァ,
ジョン ピー. ヘイマン,
スコット ジェイ. ヘイマン,
クリストファー ディー. ビラード,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Research in Motion Ltd filed Critical Research in Motion Ltd
Priority claimed from PCT/CA2002/000430 external-priority patent/WO2002076058A2/en
Publication of JP2005507098A publication Critical patent/JP2005507098A/ja
Publication of JP2005507098A6 publication Critical patent/JP2005507098A6/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

メディアデバイスに豊富なコンテンツを提供する方法および装置が開示される。情報コンテンツは、伝送用のコンテンツプロバイダシステムにおいて無線通信ネットワークを介してメディアデバイスに変換される。変換されたコンテンツは、メディアデバイスにおけるメディセンジンによって処理される。コンテンツは、好適には、コンテンツプロバイダシステムにおいて、別個のビジュアルエレメントおよびビヘイビアエレメントを有するバイナリフォーマットに変換される。
【選択図】図1

Description

【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2001年3月21日に出願された、Jay Steeleによるシリアルナンバー**を有する「METHOD AND APPARATUS FOR SERVER−SIDE CONTENT ADAPTATION」と題された米国仮出願に関連し、この出願に対する優先権を主張し、そしてこの出願を本明細書中で参考として援用する。
【0002】
本出願は、2001年3月21日に出願された、Jay Steeleによるシリアルナンバー**を有する「METHOD AND APPARATUS FOR SERVER−SIDE MARKUP RENDERING」と題された米国仮出願に関連し、この出願に対する優先権を主張し、そしてこの出願を本明細書中で参考として援用する。
【0003】
本出願は、2001年12月20日に出願された、Jay Steele、Chris Billard、Ken Whatmough、Shaun Johansen、およびJon−David Laceyによるシリアルナンバー60/341223を有する「METHOD AND APPARATUS FOR PROVIDING RICH CONTENT TO MOBILE COMMUNICATION DEVICE」と題された米国仮出願に関連し、この出願に対する優先権を主張し、そしてこの出願を本明細書中で参考として援用する。
【背景技術】
【0004】
(発明の背景)
(発明の分野)
本発明は概して、メディアデバイスの分野に関し、特に、リソース限定メディアデバイスにいわゆる「リッチコンテンツ」を提供することに関する。
【0005】
(従来技術の説明)
携帯情報端末(PDA)、携帯電話、ポケットベル、オーガナイザ、および無線モバイルデバイス等のリソース制限メディアデバイスの開発が行われている。しかし、これらのメディアデバイスは、一般に非常に制限されたストレージ、処理電力、およびデバイスに利用可能な通信帯域幅を有する。例えば、NTT DoCoMo I−mode電話は、いずれかのソフトウエアアプリケーションのストレージとして10キロバイト(kb)のフラッシュメモリのみを有する。これらの制限されたリソースを用いる場合、Internet ExplorerTMブラウザのような既存のテキストベースのブラウザを用いる動画イメージ等のリッチコンテンツを転送、処理、およびレンダリングすることが困難である。
【0006】
これらのメディアデバイスによるさらなる複雑さは、同じ製造業者からの階級の範囲内で均一な幅広い多様性が存在する。この差は、コンテンツ開発者に各モデルのデバイスに対して調整されたコンテンツを作成させる程度に十分大きくなり得る。
【0007】
従って、リッチコンテンツをメディアデバイスに提供するための方法および装置を提供することが望ましく、これによりリッチコンテンツを上記メディアデバイスに提供するいくつかの欠点を部分的に解決する。
【発明の開示】
【課題を解決するための手段】
【0008】
(要旨)
本発明の局面によると、メディアデバイスと通信するためにネットワークに接続するためのコンテンツプロバイダシステムが提供される。このシステムは、ネットワークを介してメディアデバイスと通信するための通信サブシステムと、メディアデバイスからのコンテンツに対するリクエストを受け取り、それに応答して、データ格納からリクエストされたコンテンツを取り出すための通信サブシステムに接続されたアプリケーションと、リクエストされたコンテンツをバイナリフォーマットにフォーマットするためのアプリケーションに接続されることにより、バイナリフォーマットにおいてリクエストされたコンテンツが通信サブシステムを介してメディアデバイスに送信されるコンバータとを含む。
【0009】
本発明のさらなる局面によると、コンテンツのためのコンテンツプロバイダシステムにアクセスするためにネットワークに接続するメディアデバイスであって、このデバイスは、ネットワークを介してコンテンツプロバイダシステムと通信するためのデバイス通信サブシステムと、ユーザと双方向通信するためのディスプレイおよびユーザインターフェースを有するデバイスインフラストラクチャと、デバイス通信サブシステムに接続されたメディアエンジンを含み、デバイスインフラストラクチャは、コンテンツに対するリクエストをコンテンツプロバイダに送信し、リクエストされたコンテンツを受信し、それに応答して、デバイスインフラストラクチャ上にリクエストされたコンテンツをレンダリングさせる。
【0010】
本発明のさらなる局面によると、コンテンツのためのコンテンツプロバイダシステムにアクセスするネットワークに接続されたメディアデバイスのためのメディアエンジンが提供され、このメディアデバイスは、コンテンツプロバイダシステムと通信するためのデバイス通信サブシステムと、ユーザと双方向通信するためのディスプレイおよびユーザインターフェースを有するデバイスインフラストラクチャであって、メディアエンジンは、デバイス通信サブシステムおよびデバイスインフラストラクチャに接続され、メディアエンジンは、リクエストされたコンテンツを受信かつ読み出すためのリーダを含み、メモリ内にリクエストされたコンテンツを配置する、デバイスインフラストラクチャと、デバイスインフラストラクチャ上のメモリにおいてリクエストされたコンテンツをレンダリングするためのレンダー(render)を含む。
【0011】
本発明のさらなる局面によると、コンテンツプロバイダ上に展開する前にコンテンツを検証するためのシミュレーションシステムが提供され、コンテンツプロバイダシステムは、ネットワークを介してメディアデバイスにコンテンツを提供し、シミュレーションシステムは、デバイスシミュレータの各々があるタイプのメディアデバイスをエミュレートする複数のデバイスシミュレータと、コンテンツをバイナリフォーマットにフォーマットするためのコンバータと、デバイスシミュレータの各々に関してバイナリフォーマットデータベースコンテンツをレンダリングするためのメディアエンジンとを含む。
【0012】
本発明のさらなる局面によると、メディアデバイス上にコンテンツをレンダリングするための方法が提供され、メディアデバイスがメモリを有し、その方法は、コンテンツ(そのコンテンツは、シーケンスグラフによって表された視覚グラフおよび挙動エレメントによって表された視覚エレメントを含む)を受け取ること、コンテンツを読み出し、レンダリングするためのメディアデバイスのメモリにおけるコンテンツを配置すること、視覚グラフをレンダリングすること、シーケンスグラフをレンダリングし、シーケンスグラフのレンダリングに従って視覚グラフを変化させること、そして、シーケンスグラフのレンダリングが完成したかどうかを決定し、レンダリングが完成した場合に終了し、レンダリングが完成しない場合、視覚グラフのレンダリングに進み、視覚グラフのレンダリングから継続する。
【0013】
本発明のさらなる局面に従って、メモリを有するメディアデバイスからコンテンツに対するコンテンツプロバイダシステムにアクセスする方法が提供される。本方法は、コンテンツプロバイダシステムにコンテンツに対するリクエストを送ること、バイナリフォーマットデータベースリクエストされたコンテンツを受け取ること、リクエストされたコンテンツを読み出し、メディアのメモリ内にリクエストされたコンテンツを配置すること、メディアデバイス上にリクエストされえたコンテンツをレンダリングすることを含む。
【0014】
本発明は、添付の図面を参照しながら詳細に説明される。同様な参照符号は同様な部分を表す。
【0015】
(詳細な説明)
図1を参照すると、本発明の実施形態によるコンテンツプロバイダシステム125と共に通信システム100のブロック図が存在する。通信システム100は、コンテンツを提示するためのメディアデバイス105を含む。通信システム100は、コンテンツを提示するためのメディアデバイス105、メディアデバイス105と通信するための無線ネットワーク110、無線ネットワーク110とワイドエリアネットワーク(WAN)120とのインターフェースをとるための無線ネットワークゲートウエイ115と、無線ネットワークゲートウエイ115とコンテンツプロバイダシステム125との間の接続のためのWAN120と、コンテンツの提供のためのコンテンツプロバイダシステム125とを含む。
【0016】
無線ネットワークゲートウエイ115は、デバイス105が動作する無線ネットワーク110とコンテンツプロバイダシステム125が動作するように構成されるWAN120との間のインターフェースを提供する。WAN120は、インターネット、直接接続、ローカルエリアネットワーク(LAN)、無線通信リンク、およびそれらの任意の組み合わせを含む。
【0017】
コンテンツプロバイダシステム125は、メディアデバイス105上で提示するためのコンテンツを提供する。コンテンツがメディアデバイス105によって処理するためにバイナリフォーマットで提供される。バイナリフォーマットは、それがヘッダーを有するメディアデバイス105上のメモリ内に存在する場合、実質的にそのコンテンツである。そのコンテンツはリッチコンテンツを含む。
【0018】
例えば、メディアデバイス105は、データ通信デバイス、データおよび音声通信の両方のために構成されたマルチモード通信デバイス、モバイル電話、モバイル通信デバイス、無線通信に対して利用可能なPDA、一方向または二方向ポケットベル、コンピュータ一ステムと共に動作する無線モデム、任意のタイプの固定またはモバイル無線通信デバイスを含む。マルティメディアデバイス105の各々は、無線ネットワーク110内で動作するように構成される。レシーバおよびトランスミッタサブシステムあるいはトランシーバ(図示せず)は、無線ネットワーク115の動作のためにメディアデバイス105の各々の内部に含まれる。しかし、本発明はこれらの例示的なデバイスのタイプに限定されず、ディスプレイを有する他のデバイスでインプリメントされ得ることが理解されるべきである。
【0019】
あるいは、コンテンツプロバイダシステム125は、無線ゲートウエイおよびデスクトップコンピュータシステム等のモバイルではないシステムの両方を含む、WAN120に接続された任意のシステムにコンテンツを提供し得る。
【0020】
図2を参照すると、図1のコンテンツプロバイダシステム125のブロックスが示される。コンテンツプロバイダシステム125は、コンテンツを格納するためのデータ格納200、デバイス105上に提示するためのコンテンツにアクセスかつ処理するためのアプリケーション205、コンテンツをバイナリフォーマットに変換するためのコンバータ210、およびコンテンツをバイナリフォーマットで送信するための通信サブシステム215を含む。
【0021】
データ格納200は、コンテンツプロバイダシステム125がインプリメントされるサーバコンピュータのハードディスク上にコンテンツを格納する。コンテンツは、権限が与えられ、拡張マークアップ言語(XML)、および特に動画イメージを含むグラフィックのためのXMLの拡張可能ベクトルグラフィック(SVG)フォーマットに格納される。あるいは、データ格納200に格納されたコンテンツは、任意の形式で存在し得るが、アプリケーション205は、コンバータ210に適したフォーマットに取り出されたコンテンツを処理する。
【0022】
アプリケーション205は、アプリケーションサーバを含む。あるいは、アプリケーション205は、アプリケーションサーバ上で実行するアプリケーションを含み得る。あるいは、アプリケーション205は、アプリケーションサーバ上で実行する特定のサービスのためのアプリケーションをさらに含み得る。
【0023】
コンバータ210は、デバイス105上でレンダリングするためのコンテンツを処理する。処理されたコンテンツは、デバイス105において処理をさらに低減するためにバイナリフォーマットで提供される。従って、いくつかのコンテンツ処理は、デバイス105からコンテンツプロバイダシステ125にアンロードされる。
【0024】
デバイス105は、標準HTTPリクエストを介してコンテンツプロバイダシステム125kらコンテンツをリクエストし、それに応答して、コンテンツプロバイダシステム125は、コンテンツをバイナリフォーマットでデバイス105に提供し、このコンテンツがレンダリングされ、ユーザ入力を含むコンテンツ関連動作が実行される。
【0025】
あるいは、データ格納200は、例えば、ネットワークまたは他の接続を介してコンテンツプロバイダシステム125にアクセス可能であるウエブサーバを含む外部データ格納であり得る。
【0026】
ゲートウエイ115およびデバイス105のように、コンテンツプロバイダシステム125における通信サブシステム125の設計は、コンテンツプロバイダシステム125によって使用された1つ以上の通信ネットワークおよび1つ以上のプロトコルに依存する。通信サブシステム215は、WAN120内部で通信が必要とされる場合にこのようなコンポーネントを含む。当業者はまた、通信サブシステム215がコンテンツリクエストを処理するためのシステムを含み得る。通信サブシステム215は、コンテンツプロバイダシステムと一般的に関連付けられたさらなるまたは代替のシステムを含み得る。
【0027】
図3を参照すると、図2のコンバータ210のブロック図が示される。コンバータ210は、SVGのグラフィックと共にテキストXMLでコンテンツを読み出し、そのコンテンツをSVGドキュメントオブジェクトモデル(SVG DOM)305にフォーマットするためのSVGリーダ300を含む。SVG DOM305をBFオブジェクトモデル315に変換するためのSVGコンパイラ310、およびコンテンツのBFオブジェクトモデル315をバイナリフォーマットに書き込むためのBFライター320を含む。
【0028】
SVG DOM305は、SVGコンパイラ310によってアクセス準備のためのコンテンツのメモリ内バージョンである。BFオブジェクトモデル315は、デバイス105上でレンダリングによって理解されるようなコンテンツのメモリ内バージョンである。SVGコンパイラ310はSVG DOM305をフィルタリングして、BFオブジェクトモデル315によって支援されないDOMのエレメントを放棄し、次いでフィルタリングされたSVG DOM305が解析され、BFオブジェクトモデル315に構築される。このバイナリフォーマットは、ヘッダーを加えた実質的にBFオブジェクトモデル315のメモリマップまたはダンプである。バイナリフォーマットの仕様の例は、表Aに列挙される。BFオブジェクトモデル315によって支援されたSVGエレメントの例は、表Bに列挙される。
【0029】
図4を参照すると、メディアエンジン410を有する図1のメディアデバイス105のブロック図が提供される。メディアデバイス105は、コンテンツを受信し、そしてコンテンツ関連リクエストを送信するために、デバイス105と無線ネットワーク110とのインターフェースを取るためのデバイス通信サブシステム405、ユーザ入力、コンテンツ関連リクエストを解釈することを含む受信されたコンテンツを読み出しかつレンダリングするためのメディアエンジン410、デバイス105の動作を支援するためのメモリを有するデバイスインフラストラクチャ415、コンテンツを提示するためのディスプレイ420、ユーザ入力を受信するためのキーボード/キーパッド425および補助入力デバイス430等を含む。ユーザ入力は、コンテンツプロバイダシステム125からのコンテンツに対するリクエストを含む。補助入力デバイス430は、回転可能なサムホール(thumbwheel)、特殊機能キー、およびポインタを含む。
【0030】
メディアエンジン410は、好ましくは、画像レンダリングのようなこのようなリッチコンテンツ動作、スプライト動画レンダリング、フィルタリングされた矩形レンダリング、およびフィルタリングされていないレンダリング、ポリゴン、点、およびポリラインレンダリング、テキストレンダリング、およびテキストフォントおよびスタイル選択として可能にする。一定の、直線およびキュービック動画経路、スプライトの動画、オブジェクトの位置、およびオーディオクリップレンダリングのようなこのような高度な動作はまた、好ましくはメディアエンジン410によって支援される。
【0031】
図5を参照すると、図4のメディアエンジン410のブロック図が示される。メディアエンジン410は、受信されたコンテンツをバイナリフォーマットで読み出し、BFオブジェクトモデル315に受信されたコンテンツをフォーマットし、そしてデバイス105のメモリに配置するためのリーダ505、ならびにディスプレイ420上に提示するためおよびコンテンツ関連動作を支援するために受信されたコンテンツ(BFオブジェクトモデル)をレンダリングする。
【0032】
図6を参照すると、図3のSVGコンパイラ310によって動画600の変換のブロック図が示される。当業者が理解するように、SVGフォーマットの動画600は、挙動要素に関連付けられた視覚エレメントを有する。SVGコンパイラ310は、動画600を視覚エレメント610および挙動エレメント620に分離し、そして別個の視覚および挙動エレメントを用いてBFオブジェクトモデル315を構築する。視覚エレメント610は、テキスト、直線、色、および形状を含む一方で、挙動エレメント620は、経時的に視覚エレメント610の色および位置を変化させるような動作を含む。
【0033】
図7を参照すると、視覚グラフ700として表された図6の視覚エレメント610の例のブロック図が示される。視覚グラフ700はノードから構成され、グループおよびリーフ(leaves)を含む。視覚グラフ700は、2つのグループ(グループAおよびグループB)ならびに3つのリーフ(矩形715、イメージ720、およびテキスト725)を含む。グループは、サブユニバース(subuniverse)に変換されるが、リーフは、視覚オブジェクトを表し、このようなイメージ、プリミティブ(線、楕円、および矩形)ならびにテキスト等の視覚オブジェクトおよび属性を表す。上位レベルグループA705は2つの子を有し、その内の1つはグループB70であり、もう1つはリーフ(矩形715)である。グループB710は、それ自体の2つの子を有する。2つの子の各々はリーフ(すなわち、画像720およびテキスト725)である。視覚グラフのノードのグループ化は、変換(例えば解釈および回転等)がグループのエレメントに適用されることを可能にする。グループノード705および710はまた、グループまたは従属的なグループにおける視覚エレメントをレンダリングする場合、使用されるグラフィック座標を設定するために使用される。
【0034】
矩形715は、上部左角の座標が0,0、長さ10ピクセル、高さ24ピクセル、および赤色を有する矩形であるプリミティブである。画像720は、GIFフォーマットの面の画像である。テキスト725は、座標0,0で開始するテキスト「Hello,World」を有するテキストリーフである。
【0035】
デバイス105では、視覚グラフ700は、所定の順序でノードを処理し、ルートノードで開始し、そして最左のノードをまず横断することによって(すなわち、前の順序(pre−order)の横断)レンダリングされる。視覚グラフ700では、ルートノード、グループA705がまず処理される。グループA705は、座標x=10およびy=20に対するサブユニバースにおける全てのエレメントのためのグラフィック座標系の原点をリセットする。従って、グループA705のサブユニバース内の全てのレンダリングされたコンポーネントは、10,20において変換された原点に対して引き出される。
【0036】
前の順序の横断において視覚グラフ700をコンポーネント横切ることは、グループB710が次に処理され、そのグループBがy軸に沿ったグラフィック座標系の原点を移動させる。グループB710のサブユニバースにおける視覚エレメントは、10,24における原点に対してレンダリングされる。イメージ720が次に処理され、イメージ「face.gif」がグループB710の10,24の原点においてディスプレイ420上でレンダリングされる。イメージ720がリーフである場合、レンダリングプロセスは、グループノードに戻り、次いでグループB710はテキスト725に進む。次いで、次の「Hello,World」が引き出され、絶対座標10,24に存在するグループB710のサブユニバースにおける座標0,0において開始する。グループB710のこの全てが処理されてき後に、制御がグループ705に戻り、グラフィカル座標が、10,20において原点を有するグループA705のサブユニバースにリセットされる。次いで矩形715は、サブユニバースの原点(10,20)において赤い矩形を引き出すためにレンダリングされる。
【0037】
SVGペインターのモデル等のアルゴリズムがディスプレイスクリーン上の視覚エレメントをオーバーラップするための概観を制御するために使用される。このアルゴリズムに従って、各視覚エレメントドローイング動作の各々は、出力デバイスディスプレイスクリーンのいくつかのエリアにわたって「ペイントする」。このエリアが以前のペイントされたエリアを重ねる場合、新しいペイントは、古いペイントを部分的または完全に不明瞭にする。各視覚エレメントは、ディスプレイスクリーン上の同じ位置における以前にドローイングされたエレメントのいくつかの重なり部分にわたってドローイングされる。従って、レンダリングされた画面において「より深い」ように見えるバックグランド視覚エレメントが最初にエレメントがかれるように視覚グラフ内で配置される。視覚グラフ700において、赤色矩形715は、以前にドローイングされた「face.gif」画像720および文字「Hello,World」725の任意の重なり合った部分の上部に引き出される。
【0038】
視覚グラフ700は視覚グラフの例であり、例示目的のためのみに意図される。任意の視覚グラフの構造および構成がレンダリングされるべき画面における視覚エレメントに依存する。図7に示されたエレエレメントとは異なるエレメントがさらなるまたは異なる属性を有し得る。例えば、リーフ715における矩形に対して示された角位置、幅および高さの代わりに、楕円がその中心位置、楕円の長軸および短軸の長さによって規定され得る。矩形または他の形状が、リーフ715において示された属性ではないさらなるまたは代替的な属性(例えば、上部左角の座標、塗り潰し(fill)性質、およびラインタイプ指定ではなく、異なる角または角位置等)を含み得る。同様に、テキスト視覚エレメントは、フォント、色、およびサイズとしてこのような属性を有し得る。
【0039】
図8を参照すると、シーケンスグラフ800として表された図6の挙動エレメント620の例のブロック図が示される。シーケンスグラフ800は、視覚エレメント610が時間に基づく挙動を有する設備(premise)に基づく。これらの時間に基づく挙動は、動画600のスケジューリング、および動画を意図されたものとして挙動させることの両方を行うために使用される挙動を構築するために使用される。挙動エレメント620は、動画600を作成するための適切な挙動を適用するのに必要な視覚エレメント610を参照する。
【0040】
SVGフォーマットにおける動画600が視覚エレメントの挙動を管理するためにスケジューラを必要とすることが当業者に明らかである。本発明の局面に従う視覚エレメント610からのシーケンスグラフ800の挙動エレメント620の分離は、動画600を処理するスケジューラを分離する必要がない。スケジューリングは、シーケンスグラフ800において固有であり、メディアエンジン310の必要性を低減させ、そしてスレッドが安全な(thread−safe)変換されたコンテンツをさらに提供する。
【0041】
シーケンスグラフ800は、どのようにして場面が経時的に挙動するかを示し、固有の挙動スケジューリングメタフォー(metaphor)を使用する。シーケンスグラフは、挙動および挙動シーケンスからなる。挙動は、ホットスポット、ハイパーリンク、キーパッド、イベント、テキスト、エントリ、動画/補間、タイマー、変更可能なセッティング、再生/停止オーディオ、視覚グラフ修正、および他の挙動等の動作を含む。この挙動はまた、直線シーケンス、全てのフォーク、任意のフォーク、および条件分枝(if−else)フォーク等の挙動シーケンスによって区切られる。
【0042】
ホットスポットは、場面の視覚グラフにおける視覚エレメントがホットスポットとしてタグ付けされることを可能にする特殊な集合センサ/挙動である。これは、カーソル、ポインタ等を用いて、場面がレンダリングされるデバイス上のこれらのホットスポットのナビゲーション状態に依存して実行されることを可能にする。ハイパーリンクは、ネットワークからより多くのコンテンツをロードするために使用され、同様に、視覚エレメントのディスプレイスクリーン上のナビゲーションおよび選択に依存する。キーパッドイベントおよびテキストエントリは、他の依存性挙動を呼び出し得る。
【0043】
動画および補間は、種々のオブジェクトの属性データに適用する挙動である。例えば、1つ以上の視覚エレメントに沿った補間曲線を定義し得る補間が移動され得る。タイマーは、特定の継続時間の休止を設定するために使用される。種々のセッティングが変数または属性の値を設定する。再生/停止オーディオ挙動は、オーディオクリップの制御された再生を提供する。オーディオクリップは、その全体で再生され得、所定の時間持続時間の後に停止されるか、または例えばユーザが表示スクリーンホットスポットをナビゲートする場合停止され得る。
【0044】
いくつかのこれらの挙動は、動画の視覚エレメントに影響を与える。視覚エレメントが変更される場合、シーケンスグラフは、対応する視覚グラフの適切なエレメントを参照し、視覚グラフにおけるエレメントを修正する。次いで視覚グラフは、視覚エレメントへの変更を反映するために再度レンダリングされる。
【0045】
挙動シーケンサは、シーケンスグラフにおける関連した挙動または「子」の実行を制御する。1つのこのような挙動シーケンサは、各子が順番に実行される直線シーケンスである。直線シーケンスは、全ての子が実行を終了した場合に企図される。ルーピングが任意の直線シーケンスにおいてイネーブルまたはディセーブルされ得る。各子は、ループの各パスの間に実行される。全ての子が実行を終了した場合に直線シーケンスにおけるループが終了するが、全ての子がシーケンスグラフにおける直線シーケンス挙動シーケンサにおいて特定された特定の回数で実行した場合、全体のループ直線シーケンスが終了する。直線のシーケンスが無限に継続する場合、無限ループが特定される。
【0046】
別の挙動シーケンサは、「全てのフォーク」シーケンスと呼ばれる。全てのフォークシーケンスは、その子の全てが実行を終了した場合に企図される。「任意のフォーク」シーケンスは、その子の内のいずれかが実行を終了した場合に企図されるという点で同様である。全てのフォークおよび任意のフォークシーケンスは、より多くのスレッドの生成がより簡単に制御されるようにリソース制限デバイス上での処理のためにマルチスレッディングをエミュレートする。
【0047】
「if−else」シーケンスは、さらなる挙動シーケンサであり、センサの状態に依存する子の内の異なる1つを条件付で実行する。例えば、センサがアクティブである場合、2つの子を有する条件分枝シーケンスが1つの子を実行し得る。すなわち、センサによってモニタリングされた条件が検出される一方で、条件が検出されない場合、他の子が実行され得る。センサ機能が抽出され、キー分散および/または放出としてこのようなデバイス関連条件および通信信号の受領を表し得る。
【0048】
各シーケンサ自体が任意の他の親および/または子であり得る。挙動シーケンサおよび挙動の組み合わせを用いて、多くの異なる場面挙動が元のリッチコンテンツに基づいてシーケンスグラフを構成することによってエミュレートされ得る。
【0049】
しかし、本発明は、上記例示的挙動およびシーケンスに限定された方法に限定されない。コンテンツコンバータおよびコンテンツプロバイダは、デバイス上のさらなるリッチコンテンツ機能性を支援するために開発された新しい挙動およびシーケンスを処理するように構成され得る。
【0050】
時間ベースの挙動は、開始および終了を有する。シーケンスグラフは、一番遠い挙動から1つ以上の最も近い挙動にスケジューリングされ、最も遠い挙動が終了するまで実行される。
【0051】
シーケンスグラフ800は、グラフの上部メンバによって示された最も遠い時限ループと共に、時間ベースの挙動の時限(timed)動作を表す。この場合、任意のフォーク挙動シーケンサ805は、この場面の動作を制御する最も遠い挙動である。任意のフォークブロック805の下部に、ループがイネーブルされることを示す引数「loop=true」を用いて線形シーケンス810によって表されたループである。このループは、ホットスポット815、再生オーディオクリップ820、ホットスポット825、およびスポットオーディオクリップ830を含む。このループでは、ターゲットノード720におけるホットスポットの活性は、ホットスポットを介したカーソルまたはポインタをナビゲートすることによって「face.gif」画像(視覚グラフ700を参照)は、オーディオクリップ(図8で「myclip」として示された)を再生させる(ブロック820によって制御された)。ホットスポットがブロック825によって再度関係付けられるまで、クリップが再生し、ホットスポットは、例えば、時間ブロック830がオーディオクリップを停止する時間において切り替えられ得る。
【0052】
ブロック835、840、845において示された補間挙動は、挙動が最後に実行された後、補間曲線および経過時間に基づいた新しいオブジェクトの位置を補間することによって、各ターゲットオブジェクトを変換する。補間挙動835、840、845は、ターゲットノード725(テキスト「Hello,World」)、ターゲットノード715(矩形)、およびターゲットノード710(画像「face.gif」およびテキスト「Hello,World」を含む両方のグループB710)における視覚エレメントを各々移動させる。
【0053】
仮想グラフ700およびシーケンスグラフ800は、一連の経路において処理される。各パスでは、グラフにおける各エレメントが処理され、プロセッサの時間割り当てがエレメントによって必要とされた場合、各々のエレメントに提供される。
【0054】
この時間割り当ては、例えば、シーケンスグラフにおける全ての挙動間の所定の単一通過時間を共有するか、または各挙動が各パスにおいて関連した動作の特定部分を終了することを可能にすることを含む種々の方法で管理され得る。
【0055】
あるいは、プロセッサは、各パスおよびおそらく各挙動の実行時間をトラッキングし得ることにより、時間依存挙動は、その先行するパスの後、経過された時間、累積実行時間(すなわち、第1のパスの開始後の総経過時間)、および恐らく、必要とされた場合シーケンスグラフ処理に関連した他の時間を決定し得る。
【0056】
例えば、シーケンスグラフ800を介した第1のパスは、以下のように進む。際外部の挙動シーケンサ、すなわち任意のフォークシーケンサ805は、シーケンスグラフ配置の終了を制御する。上述のように、その子の任意の1つが実行を終了する場合、任意のフォークシーケンスが終了される。シーケンスグラフ80では、線形シーケンス810がまず処理される。第1の挙動、すなわちホットスポット815は、1つ以上の特定の機能を実施するために実行することを可能にする。
【0057】
補間挙動は、好ましくは、特定された全体の継続時間を有し、それにより関連した変換動作が終了前に所定の期間の間に実行される。全体の継続時間は、典型的には、時間の測定として特定されるが、その代わりに、補間曲線に沿った特定の長さ、閉じた補間曲線の周りのサイクル数、または挙動の実行を制御する他のタイプの限界として特定され得る。
【0058】
補間挙動は、補間曲線に基づいてターゲットオブジェクトに対する新しい位置、挙動を介した以前のパスの後に経過した時間の量、および好ましい動画「速度」を効果的に計算する。例えば、シーケンスグラフ800を介する第1のパスでは、挙動835は、シーケンスグラフを通過する第1のパスの開始の後、経過した時間を用いて補間曲線上の新しい位置を補間することによってテキスト「Hello,World」に対する新しい位置を計算する。補間挙動は、ターゲットオブジェクトが開花した時間に移動されるべきである補間曲線に沿った距離を計算し、それによりターゲットオブジェクトに対する新しい座標を計算する。シーケンスグラフを介した各パスにおいて、補間挙動835は、一回の補間計算を実行する。
【0059】
補間曲線は、視覚オブジェクトに適用されるべき所望の移動に依存する任意の形状およびサイズから仮想的に構成され得る。補間曲線が補間挙動によって使用されるが、必ずしも仮想グラフにおける仮想オブジェクトである必要がない。1つの視覚エレメントが別の視覚エレメントを追跡する経路に沿って移動することが意図されるが、補間曲線は、視覚グラフにおけるエレメントに基づいて確立され得る。この場合、補間挙動は、補間曲線が視覚グラフにおける別のオブジェクト(ターゲットオブジェクト)の挙動を制御するために使用されることを決定するために、視覚グラフにおけるターゲットではないオブジェクトを参照し得る。
【0060】
例えば、補間挙動835、840、845の各々は、そのターゲットオブジェクトに対する異なるタイプの補間曲線を使用し得る。例えば、挙動835は、円補間曲線を使用して、画像「face.gif」周辺等の円のパターンでテキストを移動させ得るが、挙動840は、矩形を直線補間曲線に沿って前後に動画化し得る。次いで挙動845は、画像周辺に移動するテキストおよびディスプレイスクリーンのエッジ周辺の矩形パターンにおける画像の両方を移動させ得る。
【0061】
従って、シーケンスグラフ800を通過する第1のパスでは、ホットスポット挙動815は、そのターゲット、画像をホットスポットとして確立し、挙動835、840、845を補間し、その全てが各ターゲットに対する新しい位置を補間し、視覚グラフ700におけるターゲットを参照し、それに従って、ディスプレイ420上の新しい位置に視覚エレメント610を移動させる。
【0062】
次いでシーケンスグラフ800を介する第2のパスが開始する。本例の目的のために、いずれの挙動もシーケンスグラフ800を介する第1のパスにおける実行が終了することが想定される。任意のフォークシーケンサ805は、「終了された」または同様のフラグまたはインジケータをチェックすることによってその子の状態を決定し、フラグまたはインジケータが関連付けられ、各挙動によって好ましくは設定され得る。挙動が実行を終了する場合、例えば、終了されたフラグを真に設定し得る。シーケンスグラフ800では、その子の内の任意の1つがその完成したフラグを設定した場合、任意のフォークシーケンサ805がシーケンスグラフの処理を終了する。
【0063】
シーケンスグラフ800を通過する第2のパスおよび以後のパスでは、各挙動は、以後の処理において到達するどんなポイントにおいても中断する。線形シーケンス810は、まだ完成しておらず、ユーザがホットスポット画像にまたはこれを介してナビゲートされたかどうかを決定するためにホットスポット挙動815を用いて中断する。この目的のために、ユーザ入力は、デバイス上のメモリにキューまたはキャッシュされ得、シーケンスグラフ動作の間に処理される。
【0064】
ホットスポット挙動815は、ユーザがホットスポットを介してカーソルまたは他のスクリーンポインタをナビゲートしたかどうかを決定するために入力キューをチェックする。ユーザがホットスポットを介してカーソルまたは他のスクリーンポインタをナビゲートする場合、挙動815が終了され、終了されたフラグは真に設定され、それが完成されたことを線形シーケンサ810に示し、次いで、挙動820が開始され、オーディオクリップ「myclip」の一部が挙動820によって再生される。
【0065】
例えばホットスポットが再度圧縮されない場合、この現在のパスでは、次いで制御が補間挙動835、840、845に通過し、次いで、レンダリングするための各ターゲットオブジェクトに対する新しい位置を決定する。
【0066】
次のパスでは、任意のフォークシーケンサ805が、再度その挙動のいずれかが終了するかどうかを見るためにチェックし、その挙動のいずれかが終了する場合、シーケンスが完成する。他の場合では、シーケンスグラフ800を通過する別のパスが実行される。このパスでハードウエア、ホットスポット挙動815が終了し、それにより線形シーケンス810が「myclip」の別の部分を再生し、ホットスポットターゲットは、線形シーケンス810に割り当てられた実行時間内に挙動84によって確立される。ターゲット725、715、710の新しい位置が決定され、視覚エレメント610が再度修正されレンダリングされる。
【0067】
ループが線形シーケンス810においてイネーブルされるので、一旦その子の全てが挙動が完成されると(ユーザがホットスポットにナビゲートし、そしてオーディオクリップが停止される場合、)、シーケンスが繰り返す。従って、シーケンスグラフ800では、補間挙動835、840、845の内の1つがパス内で終了する場合、任意のフォークシーケンスが完成する。次のパスでは、任意のフォークシーケンサ805が終了されたフラグを検出するか、または恐らく他の場合では、その子の内の1つが実行を終了し、シーケンスグラフ処理が終了することを決定する。
【0068】
仮想グラフ700およびシーケンスグラフ800は、例示目的のみのために図7および図8に示される。動画は、より少ない、より多くの、および異なる視覚エレメントを視覚グラフ、挙動、およびシーケンサに含み得る。これは、多くの異なる動画または場面を定義する際に柔軟性を提供することにより、多くの効果および動画を含み得る。補間シーケンスは視覚エレメントを仮想グラフ内に適用され得るたった1つの例を表す。位置、大きさ、および色を含む、グラフ内の視覚エレメントの任意の属性が修正され得る。視覚グラフにおける視覚エレメントおよびグループは、好ましくは補間曲線に沿って変換される以外の他の態様で移動され得る。例えば、仮想グラフ中のターゲットオブジェクトもまた回転されてもよいし、その代わりに回転されても良い。多くの他の効果はまた、元のリッチコンテンツにおける効果をエミュレートするために定義され得る。
【0069】
図9を参照すると、四角動画900の例のブロック図を示す。四角動画900の例は、時刻0秒において座標X=20、Y=90から時刻2秒における座標X=20、Y=20に移動する幅80および高さ200を有する青い四角である。データ格納200では、四角動画900は、SVGのテキストフォーマットで四角SVG910として格納される。四角SVG910は、SVGリーダ300によって読み出され、次いで、SVG DOM305のフォーマットでメモリ内に格納され、これは四角SVGグラフ920によって表される。次いで、SVGコンパイラ310は、四角SVGグラフ920をBFオブジェクトモデル315に変換し、これは、四角視覚グラフ930および視覚シーケンスグラフ935によって表される。
【0070】
メモリ内の四角視覚グラフ930および視覚シーケンスグラフ935が四角メモリ動画として示される。次いでBFライター320は、四角メモリ動画を四角バイナリ940として示されたバイナリフォーマットに書き込む。四角バイナリ940は、ヘッダーを有する四角メモリ動画と実質的に同じである。四角バイナリ940は、提示のためにデバイス105の内の1つに送信される。デバイス105の内の1つにおいて、メディアエンジン310のリーダ505は、四角バイナリ940を読み出し、レンダー515によってレンダリングするためにBFオブジェクトモデル315の形態で四角デバイス動画として四角動画900をメモリ内に配置する。この四角デバイス動画は、実質的に四角メモリ動画と同じである。
【0071】
メディアデバイス205に対して、メディアデバイス105の内の1つにダウンロードされ、処理される動画に対する全体の時間は、四角バイナリ940のファイルをダウンロードするために必要とされた時間と、レンダー(Render)515によってレンダリングするためのBFオブジェクトモデル315の形態で四角デバイス動画に四角バイナリ940のファイルを処理するために必要とされた時間との結合である。全体の時間は、ファイルをダウンロードするのに利用可能な帯域幅および特定のメディアデバイスにおいて利用可能な処理電力に応じて最適化され得る。従って、ファイルのサイズは、より長い処理時間の間の交換の際のより短いダウンロード時間を圧縮することによって低減され得る。全体の時間が、圧縮および解凍によって低減され得る(この場合、メディアデバイスおよびメディアデバイスの処理電力に対して利用可能な帯域幅に依存する)ことが当業者に理解される。
【0072】
本発明のさらなる実施形態によると、BFライター320は、バイナリフォーマットで書き込む場合、コンテンツのBFオブジェクトモデル315をさらに圧縮し、リーダ505は、レンダリングのためにBFオブジェクトモデル315にコンテンツを発生させるためにバイナリフォーマットで受信されたファイルをさらに解凍する。バイナリフォーマットのヘッダーは、適用された圧縮のタイプおよびレベル等の圧縮に関する情報を含む。圧縮および解凍の方法が当該分野で公知である。
【0073】
図10を参照すると、本発明の別の実施形態によると、代替のコンバータ1000およびSVGメディアエンジン1010のブロック図が示される。代替のコンバータ1000は、SVGのグラフィックを有するテキストXMLにおけるコンテンツを読み出すため、代替のSVG DOM1020、SVGライター1025にコンテンツをフォーマットするため、および代替のSVG DOM1015をSVGバイナリフォーマットに書き込むためのSVGリーダ1015を含む。代替のSVG DOM1015は、デバイス105上のレンダラによって見られるようにコンテンツのメモリ内のバージョンである。代替のメディアエンジン1010は、SVGバイナリフォーマットでコンテンツを読み出し、それに従ってコンテンツをレンダリングする。
【0074】
本発明のさらなる実施形態に従って、デバイス105上でのレンダーによって見られるようなコンテンツのインメモリバージョンは、コンテンツプロバイダシステム125において、コンテンツ、代替のSVG DOM 1020、およびBFオブジェクトモデル315のインメモリバージョンと類似している。コンテンツプロバイダシステム125におけるコンテンツのインメモリバージョンが、デバイス105上でのレンダーによって見られるようなコンテンツのインメモリバージョンと同じであるが、コンテンツプロバイダシステム125におけるコンテンツのインメモリバージョンがデバイス105上でのレンダーによって見られるようなコンテンツのインメモリバージョンとは異なることが当業者に理解される。
【0075】
図11を参照すると、図1のコンテンツプロバイダシステム125上に展開する前にコンテンツを検証するためのシミュレーションシステム1100のブロック図を示す。シミュレーションシステム1100は、開発者によって作成されたコンテンツをXMLのテキストフォーマットで読み出し、そしてコンテンツのBFオブジェクトモデル305インメモリを発生させるためのSVGコンバータ1105と、コンテンツをレンダリングするためにBFオブジェクトモデル305にアクセスするためのメディアエンジン1110と、コンテンツを表すためにメディアエンジン1110によって制御するための特定のデバイスをシミュレートするデバイスシミュレータ1115を含む。デバイスシミュレータ1115は、ディスプレイおよびユーザインターフェースを用いて特定のデバイスをエミュレートする。シミュレーションシステム1100は、Java(R)仮想マシン(SVGコンバータ1105、メディアエンジン1110、およびデバイスシミュレータ1115がJava(R)アプリケーションである)を介してコンピュータワークステーション上で動作する。
【0076】
シミュレーションシステム1100、SVGコンバータ1105、メディアエンジン1110、およびデバイスシミュレータ1115は、他のコンピュータプログラミング言語に書き込まれ得る。
【0077】
図12を参照すると、コンピュータ上のNTT DoCoMo I−mode電話のためのデバイスシミュレータのスクリーン写真が存在する。従って、開発者は、動画のためにテキストXMLでフォーマットされたコンテンツを作成し、次いで、コンテンツは、シミュレータシステム1100によってテストされ、動画は、デバイスシミュレータ1115上で再生される。開発者はまた、コンテンツによって可能にされるユーザ入力をユーザインターフェース上で入力し、コンテンツのテストを完成する。
【0078】
ユーザインターフェースは、キーボードのキーの矢印、エンター、コンマ、およびピリオドを含み、ホットスポット間でそれぞれナビゲートするために電話と相互作用し、現在のホットスポットを選択し、左ソフトボタンをアクティブにし、そして右ソフトボタンをアクティブにする。ユーザインターフェースは、画面の下にある電話の矢印ボタン、中央ボタン、画面下のボタン、ならびにホットスポット間でそれぞれナビゲートするための番号をクリックするためのマウスを含み、現在のホットスポットを選択し、ソフトキーをアクティブにし、そして対応するメニューアイテムをアクティブにする。
【0079】
デバイスシミュレータは、展開の前のコンテンツをテストするための利用可能なデバイスの各々をエミュレートするために作成され得る。あるいは、1つのデバイスシミュレータが多くのメディアデバイスに共通であるアプリケーションのセットをエミュレートするデバイスシミュレータもまた作成され得る。シミュレータシステム1100を用いることによって、開発者は、実際のメディアデバイス上のコンテンツのテストを避け得、これらにより、広範囲の種類のメディアデバイスが与えられる非常に多くの数が存在し得る。
【0080】
図13を参照すると、本発明のさらなる実施形態に従う、リソースセレクタ1305を有する拡張されたコンテンツプロバイダシステム1300のブロック図が示される。拡張されたコンテンツプロバイダシステム1300は、リソースセレクタ1305、SVGコンバータ1310、プロパティ格納装置1315、SVGコンテンツ格納装置1320、およびBFキャッシュ1325を含む。メディアエンジン1335からのコンテンツのためのHTTPリクエスト1330に応答する拡張されたコンテンツプロバイダシステム1300は、コンテンツファイルをバイナリフォーマットで提供する。
【0081】
メディアエンジン1335は、デバイス識別情報を含むHTTPリクエスト1330を拡張されたコンテンツプロバイダシステム1300に提供する。SVGコンテンツ格納装置1320は、コンテンツのSVGファイルを含み、異なるデバイスタイプに対する各ファイルは、画像、音声、およびSVGテキストファイル等の異なるリソースに関連付けられる。リソースは、画像、音声、SVGテキスト、または他のファイルに対するURLを含む。リソースセレクタ1305は、デバイスコンテクストに基づいてリソースを特定するためのコンテンツに対するHTTPリクエスト1330をリダイレクトする。
【0082】
HTTPリクエスト1330に応答して、入来URL(リソースセレクタ1305)は、構成ファイル内に特定されたリソースマッピングに基づいて入来URLに対応するマッピングされたURLを生成する。構成ファイルは、コンテンツのSVGファイルの各々に対する異なるデバイスタイプに関連付けられたリソースファイルへのアドレス情報を有する。リソースセレクタ1305は、異なるデバイス、デバイスが特定されないデフォルトデバイス、および異なるデバイスのためのマッピングURLのパターンベースの規則に対するURLの1対1マッピングを提供することを含む。
【0083】
あるいは、リソースセレクタ1305は、受信されたデバイス情報に基づいてリクエストされたコンテンツを修正するための適応規則のリストを維持し得る。例えば、ディスプレイがコンテンツページよりも大きい場合、拡張されたコンテンツプロバイダシステム1300は、ディスプレイにフィットするようにコンテンツを成長させるか、またはディスプレイ内のコンテンツを集中するかのいずれかであり得る。
【0084】
デバイスリソースに基づくコンテンツを編成するためのパターンベースの規則は、(1)コンテンツによって編成し、そしてデバイスによってソートする(各サブディレクトリは、特定のコンテンツを含み、次いで各サポートされたデバイスに対するサブディレクトリ(例えば、.../flowers/p503i/*.gif;)を含む)、(2)デバイスによって編成し、そしてコンテンツによってソートする(次いで各サポートされたデバイスに対する各サブディレクトリは、特定のコンテンツに対するサブディレクトリ(例えば、.../p503i/flowers/*.gif;)を含む)、および(3)命名規約によって編成する(各ファイル名は、対応するデバイス(例えば、*_p503i.gif.)を識別する)。p503iはデバイスタイプである。
【0085】
SVGコンバータ1310は、HTTPリクエスト1330に対応するリソースセレクタ1305からマッピングされたURLを受信し、そしてそれに応答して、SVGファイルを探索し、SVGファイルから変換されたコンテンツの対応するBFファイルが存在するかどうかを決定するためにチェックする。対応するSVGファイルに対する変換されたBFファイルが存在する場合、両方のファイルの日付スタンプが比較される。BFファイルの日付スタンプが対応するSVGファイルと同じかまたはそれより遅い場合、BFファイルがBGキャッシュ1325から取り出され、いかなる変換も行わずにリクエストしているメディアデバイスのメディアエンジン1335に送信される。BFファイルの日付スタンプが対応するSVGファイルよりも早い場合、SVGコンバータ1310は、対応するSVGファイルを再変換し、BFキャッシュ1325の順序でBFファイルを置換し、そしてBFファイルをリクエストしているメディアデバイスのメディアエンジン1335に送信する。
【0086】
メディアエンジン1335の各々は、固有の識別子をさらに含む。メディアエンジン1335によって拡張されたコンテンツプロバイダシステム1300に送信されたURL内部に埋め込まれたのは、リクエストしているメディアエンジン1335の固有の識別子である。固有の識別子は、SVGコンバータ1310によって変換される前に、ユーザの名前をSVGファイルに挿入する等のアプリケーションの個人化をインプリメントするために使用され得る。固有の識別子を有するメディアエンジン1335は、当該分野で公知のような多くの方法によってメディアデバイスにロードされ得る。
【0087】
固有の識別子を有するメディアエンジン1335は、メディアデバイスがメディアデバイスの各々に対する永久的に割り当てられたIPアドレスなしでインターネットにアクセスすることを可能にするためにさらに使用され得る。メディアエンジン1335を有するメディアデバイスは、拡張されたコンテンツプロバイダシステム1300を介してインターネットにアクセスし得ることにより、拡張されたコンテンツプロバイダシステム1300は、リクエストしているメディアデバイスの固有の識別子に動的に割り当てられたIPアドレスを関係付ける。従って、インターネットセッションは、メディアデバイスからの全てのURLが、インターネットを介してコンテンツの取り出しのために拡張されたコンテンツプロバイダシステム1300に送信される点で、リクエストしているメディアデバイス上でサポートされる。取り出されたコンテンツは、固有の識別子に関係付けられた動的に割り当てられたIPアドレスにおいて拡張されたコンテンツプロバイダシステム1300によって受信される。この関係を用いて、次いで取り出されたコンテンツがリクエストしているメディアデバイスに転送される。拡張されたコンテンツプロバイダシステム1300は、コンテンツをメディアデバイスに転送する前に、取り出されたコンテンツを変換、処理、そして修正し得ることが企図される。
【0088】
メディアエンジン1335は、コンテンツの第1の部分がロードかつ再生される擬似ストリーミングをさらにインプリメントし、そして第1の部分が再生されるが、メディアエンジン1335は、コンテンツの第2の部分をフェッチするように命令される。従って、第1の部分が終了する場合、第2の部分がロードされ、そして再生を開始する。この技術は、連続的なストリーミングをエミュレートするために以後の部分を継続する。
【0089】
図14を参照すると、図13のリソースセレクタ1305の使用のための展開戦略のブロック図が示される。展開戦略をリダイレクトする場合、特定のメディアデバイスのメディアエンジン1335は、画像および音声ファイルを有するBFファイルをダウンロードする。メディアエンジン1335(BFファイルのコンテンツに基づいて)は、特定の画像または音声ファイルを必要とする場合、メディアエンジン1335は、サーブレット1400と接触し、そして特定のメディアデバイス上にデバイス情報を提供する。次いでリソースセレクタ1305が接触され、そしてデバイス情報に基づいて、特定の画像および/または音声ファイルがリソース1410から取り出され、メディアエンジン1335に再度送信される。リソース1410は、SVGコンバータ1310、SVGコンテンツ格納装置1320、およびBFキャッシュ1325を含む。
【0090】
再書き込み展開戦略では、リソースセレクタ1305は、BFファイルがダウンロードされる前にインプリメントされる。メディアエンジン1335は、特定のメディアデバイスのデバイス情報と共にサーブレット1400にリソースに対するリクエストを送信する。次いで、リソースセレクタ1305は、デバイス情報に基づいて含まれる適切な画像および音声ファイルを決定する。次いで、適切な画像および音声ファイルを有するSVGファイルが、リソース1410によってメディアエンジン1335へのダウンロードのためのBFファイルに変換される。
【0091】
図15を参照すると、メディアエンジン410からブラウジングおよび見るための特定のファイルシステムのSVG表示を生成するためのコンテンツナビゲータ1500のための手順のブロック図が示される。現在のディレクトリからのコンテンツに対するリクエストは、メディアエンジン410からフロントエンドサーブレット1505に送信される。JSPのURLは、コンテンツに対するリクエスト内部のクエリパラメータから取り出される。次いでフロントエンドサーブレット1505は、現在のディレクトリにおいてコンテンツに対する追加リクエストをContentsNavigator JSP 1510に送信する。次いで、コンテンツページビーン1515におけるプロパティが設定される。これは、コンテンツナビゲータページを作成するために必要とされた構成情報を加える。現在のディレクトリの生成されたファイルリスト情報がコンテンツページビーン1515によってリクエストされ、戻される。次いで、SVGコードがリスト情報から生成され、フロントエンドサーブレット1505に戻される。次いで、SVGコードは、SVGコンバータ210によって変換される。変換されたSVGコード(BFファイル)は、バイナリフォーマットでフロントエンドサーブレット1505に戻される。次いでファイルシステムを有するBFファイルは、ブラウジングおよび見るためのメディアエンジン410に送信される。
【0092】
図16を参照すると、図4のメディアデバイス105にコンテンツを提供する方法1600のフローチャートが示される。方法1600では、コンテンツプロバイダシステム125は、コンテンツリクエスト(例えば、HTTPリクエスト)をメディアデバイス105から受信する(ステップ1605)。
【0093】
ステップ1605は、コンテンツリクエストを参照するが、コンテンツプロバイダシステム125は、最初にメディアデバイス105からのコンテンツリクエストを受信することなく、デバイスにコンテンツを押し出すように構成され得る。例えば、コンテンツプロバイダシステム125は、所定の間隔で、特定の日時で、またはコンテンツ変化を格納した場合、所定のコンテンツをメディアデバイス105に押し出す。ステップ1605は、コンテンツリクエストを受信するだけではなく、メディアデバイス105にコンテンツを押し出すコンテンツリクエストを生成することをトリガする。
【0094】
コンテンツプロバイダシステム125は、次いで、メディアデバイス105に送信されるべきコンテンツを獲得する。コンテンツは、コンテンツプロバイダシステム125において、または例えばコンテンツプロバイダシステム125によってアクセス可能であるインターネット上のウエブサーバ上のリモート格納装置においてデータ格納装置200にローカルに格納され得る。次いで、コンテンツプロバイダシステム125は、コンテンツが獲得されたかどうかを決定する(ステップ1615)。
【0095】
コンテンツがコンテンツプロバイダシステム125によって獲得されなかった場合、エラーまたは故障表示がメディアデバイス105に送信され、連続的な検討についてのエラーまたは故障が記録される(ステップ1620)。次いで、コンテンツに対するリクエストの処理が終了する(ステップ1625)。
【0096】
コンテンツが獲得される場合、コンテンツはSVG DOM305によって変換され、コンテンツプロバイダシステム125のメモリ内のBFオブジェクトモデル315となる。次いで、BFオブジェクトモデル315は、バイナリフォーマットにフォーマットされ、BFファイルとなる(ステップ1635)。次いで、コンテンツプロバイダシステム125は、BFファイルをメディアデバイス105に送信する(ステップ1640)。コンテンツ変換および転送のための動作が完了され、そして処理が終了する(ステップ1625)。これらのステップが各コンテンツンリクエストに対して繰り返されるか、または代替的には各コンテンツプッシュリクエストに対して繰り返される。
【0097】
あるいは、コンテンツを獲得するためのステップ1610は、メディアデバイス105のデバイス情報に基づいてコンテンツをさらに獲得し得、そして拡張されたコンテンツプロバイダシステム1300に従ってメディアデバイス105のユーザ上で個人化されたデータを有する獲得されたコンテンツをさらに修正し得る。
【0098】
図17を参照すると、図1のメディアデバイス105上のコンテンツを処理する方法のフローチャートが示される。メディアデバイス105は、コンテンツリクエストをコンテンツプロバイダシステム125に送信する(ステップ1705)。コンテンツリクエストは、メディアデバイス105上で動作するソフトウエアアプリケーションによって、ユーザ入力に応答してまたは自動的のいずれかで生成され得る。自動的コンテンツリクエストは、コンテンツが、コンテンツに対する例示的なリクエストを行うことなしでユーザに送信される点でユーザの観点からコンテンツ押し出し動作と類似している。一実施形態では、リクエストはコンテンツプロバイダシステム125に関連付けられた均一リソースロケータ(URL)を含む。別の実施形態では、リクエストはまた、メディアデバイス105を説明するディスプレイおよびコンピュータ特有のデータ等のセッション情報を含む。この情報は、デバイスディスプレイ画面寸法、色サポート利用可能性、および色の数を含み得る。
【0099】
メディアデバイス105は、コンテンツプロバイダシステム125からのリクエストへの応答(ステップ1710)を受信する。次いでメディアデバイス105は、コンテンツプロバイダシステム125からの通信が実際のコンテンツ(ステップ1715)であるかどうかを決定する。否定的な決定はステップ1715でなされる場合(例えば、コンテンツプロバイダがエラーまたは故障表示をメディアデバイス105に戻した場合)、エラーまたは故障はメディアデバイス105上で示される(ステップ1720)。
【0100】
あるいは、メディアデバイス105は、リクエストを異なるコンテンツプロバイダシステムに送信し、例えば、エラー、故障、または他のコンテンツに関連する問題の性質に依存することによってコンテンツリクエストを再試行し得る(ステップ1725)。次いで処理が終了する(ステップ1730)。
【0101】
実際のコンテンツが受信される場合、メディアデバイス105は、コンテンツの視覚エレメントをレンダリングするメディアエンジン410によってコンテンツを処理する(ステップ1730)。次いでコンテンツの挙動エレメントが処理される。第1には、メディアエンジン410は、挙動エレメントの処理が企図されるかどうかを決定する(ステップ1735)。挙動エレメントが処理された場合、方法が完了する(ステップ1730)。
【0102】
次いでメディアエンジン410は、1つのパスに対する挙動エレメントを介して処理し、そしてコンテンツによって要求された入力キューに格納されたユーザ入力をさらに処理する。ユーザ入力またはユーザ相互作用は、好ましくは、それらが行われる場合に収集され、待ち行列に入れられることにより、コンテンツ処理動作と同時に実行する連続的プロセスとなる。
【0103】
次いで視覚エレメントが修正され、ここでは挙動が、色、サイズ、位置、および仮想エレメント等の属性を修正する(ステップ1750)。次いで処理はステップ1730に戻り、修正された視覚グラフがレンダリングされる。
【0104】
本発明のさらなる局面は、コンテンツ再生のための擬似ストリーミングを利用する。再生または表示されるコンテンツは、コンテンツのブロックに分割される。視覚グラフおよびシーケンスグラフの一部を含む第1のブロックの後、メディアデバイス105に転送され、メディアエンジン410は、表示を開始し、シーケンスグラフのブロックが処理されつつ、シーケンスグラフの新しい部分または挙動、視覚グラフについて新しい視覚グラフまたは新しい視覚エレメント、あるいはそれらのいくつかの組み合わせを含み得る次のブロックが無線ネットワークを介してフェッチされる。これは、ストリーミングの無線ネットワークペナルティなしで連続的ストリーミングに影響を与える。
【0105】
挙動エレメントが実行されている間にコンテンツプロバイダシステム125からさらなるコンテンツを取り出す挙動を規定することにより、このような機能がシーケンスグラフに組み込まれ得ることもまた考えられる。例えば、「取出しおよび置換」挙動が規定される。「取出しおよび置換」挙動とは、実行されると、コンテンツプロバイダシステム125から別の挙動または挙動の組み合わせと挙動シーケンスとを取り出し、要求に対する応答が受け取られたときにそれらを、取り出された挙動または挙動の組み合わせに置き換える。
【0106】
図18は、デュアルモードモバイル通信デバイス1810のブロック図である。例えばメディアデバイス105が、デュアルモードモバイル通信デバイス1810を含む。
【0107】
デュアルモードデバイス1810は、トランシーバ1811と、マイクロプロセッサ1838と、ディスプレイ1822と、フラッシュメモリ1824と、RAMメモリ1826と、予備入力/出力(I/O)デバイス1828と、シリアルポート1830と、キーボード1832と、スピーカ1834と、マイクロホン1836と、短距離通信サブシステム1840とを含み、さらに他のデバイスサブシステム1842を含み得る。トランシーバ1811は好適には送受信アンテナ1816および1618と、受信器1812と、送信器1814と、1以上の局部発振器1813と、デジタル信号プロセッサ1820とを含む。デバイス1810は好適にはフラッシュメモリ1824内に、複数のソフトウェアモジュール1824A〜1824Nを含む。複数のソフトウェアモジュール1824A〜1824Nはマイクロプロセッサ1838(および/またはDSP1820)によって実行され得、音声通信モジュール1824Aとデータ通信モジュール1824Bと、複数の他の機能を実行する複数の他の動作モジュール1824Nとを含む。
【0108】
モジュール通信デバイス1810は好適には、音声およびデータ通信能力を有する双方向通信デバイスである。したがって、例えば、デバイスは、アナログまたはデジタルセルラーネットワークのいずれかなどの音声ネットワークを介して通信し得、またはデータネットワークを介して通信し得る。音声およびデータネットワークは図18に、通信タワー1819として示されている。これらの音声およびデータネットワークは、基地局、ネットワークコントローラなどの別々のインフラストラクチャを用いた別々の通信ネットワークであり得るか、または単一の無線ネットワークに統合され得る。
【0109】
通信サブシステム1811は、音声およびデータネットワーク1819と通信するために用いられ、受信器1812と、送信器1814と、1以上の局部発振器1813とを含み、DSP1820をも含み得る。DSP1820は、送信器1814と受信器1812との間で信号を送受信するために用いられ、さらに、送信器1814からの制御情報を受け取るため、および受信器1812に制御情報を提供するためにも用いられる。音声およびデータ通信が単一の周波数、または間隔の短い複数の周波数の組で起こる場合、送信器1814および受信器1813と組み合わされて単一の局部発振器1813が用いられ得る。あるいは、音声通信とデータ通信とに対して異なる周波数が用いられる場合、音声およびデータネットワーク1819に対応する複数の周波数を生成するために複数の局部発振器1813が用いられる。図18には2つのアンテナ1816および1818を示すが、モバイルデバイス1810は単一のアンテナ構造と共に用いられ得る。音声情報およびデータ情報の両方を含む情報は、DSP1820とマイクロプロセッサ1838との間のリンクを介して通信モジュール1811へ、および通信モジュール1811から通信される。通信サブシステム1811の詳細な設計、例えば周波数帯、コンポーネント選択、パワーレベルなどは、デバイスが動作することになっている通信ネットワーク1819に依存する。例えば北米市場で動作することになっているデバイス1810は、Mobitex(商標)またはDataTAC(商標)モバイルデータ通信ネットワークで動作するように設計され、さらにAMPS、TDMA、CDMA、PCSなどの様々な音声通信ネットワークで動作するように設計されている通信サブシステム1811を含み得る。一方、ヨーロッパで用いられることになっているデバイス1810は、General Packet Radio Service(GPRS)データ通信ネットワークおよびGSM音声通信ネットワークで動作するように構成され得る。他のタイプのデータおよび音声ネットワークも、別々のものであれ統合されたものであれ、モバイルデバイス1810と共に用いられ得る。
【0110】
デュアルモードモバイルデバイス1810用のアクセス要件は、ネットワーク1819のタイプによっても変わり得る。例えば、MobitexおよびDataTACデータネットワークでは、モバイルデバイスは、各デバイスに関連づけられた独自の識別番号を用いてネットワーク上で登録される。しかしGPRSデータネットワークでは、ネットワークアクセスはデバイス1810の加入者またはユーザに関連づけられている。GPRSデバイスは典型的には、加入者アイデンティティモジュール(「SIM」)を必要とする。SIMは、GPRSネットワーク上でデバイス1810を動作させるために必要である。局地または非ネットワーク通信機能(もしあれば)はSIMデバイスなしに動作可能である。しかし、デバイス1810は、91811緊急呼び出しなどの法的に必要とされる動作以外は、データネットワーク1819を介した通信に関連するいかなる機能も実行することはできない。
【0111】
必要とされるネットワーク登録または開始手順が完了すると、デュアルモードデバイス1810は、ネットワーク1819を介して音声およびデータ信号の両方を含む通信信号を送受信し得る。通信ネットワーク1819からアンテナ1816によって受信した信号は、受信器1812にルーティングされる。このことは、信号増幅、周波数ダウン変換、フィルタリング、チャンネル選択などを提供し、さらに、アナログ−デジタル変換も提供し得る。受信信号のアナログ−デジタル変換は、デジタル復調および復号化などのさらに複雑な通信機能がDSP1820を用いて行われることを可能にする。同様の様式で、ネットワーク1819に送信される信号が処理される。この処理は、例えばDSP1820による変調および符号化を含む。ネットワーク1819に送信される信号はその後、送信器1814に提供され、この信号にデジタル−アナログ変調、周波数アップ変換、フィルタリング、アンテナ1818を介した増幅および通信ネットワーク1819への送信が行われる。図18では、音声およびデータ通信の両方のために単一の送信器1811が設けられているが、デバイス1810が2つの異なるトランシーバを含み得る。この場合、第1のトランシーバは音声信号を送受信するため、第2のトランシーバはデータ信号を送受信するためである。
【0112】
通信信号を処理することに加えて、DSP1820はさらに受信器および送信器の制御を提供する。例えば、受信器1812および送信器1814内の通信信号に付与されるゲインレベルは、DSP1820に搭載された自動ゲイン制御アルゴリズムを介して適宜制御され得る。他のトランシーバ制御アルゴリズムもまた、トランシーバ1811のより高度な制御を提供するためにDSP1820に搭載され得る。
【0113】
マイクロプロセッサ1838は好適には、デュアルモードデバイス1810の動作全体を管理し制御する。ここで多くのタイプのマイクロプロセッサまたはマイクロコントローラが用いられ得る。あるいは、マイクロプロセッサ1838の機能を実行するために単一のDSP1820が用いられ得る。少なくともデータおよび音声通信を含む低レベルの通信機能は、トランシーバ1811内のDSP1820を介して実行される。音声通信アプリケーション1824Aおよびデータ通信アプリケーション1824Bなどの他の高レベルの通信が、マイクロプロセッサ1838によって実行するためにフラッシュメモリ1824内に格納され得、マイクロプロセッサ1838により実行される。例えば、音声通信モジュール1824Aは、ネットワーク1819を介してデュアルモードデバイス1810と複数の他の音声デバイスとの間の音声呼び出しを送受信するように動作可能な高レベルユーザインターフェースを提供し得る。同様に、データ通信モジュール1824Bは、ネットワーク1819を介したデュアルモードモジュールデバイス1810と複数の他のデータデバイスとの間のデータの送受信、例えばEメールメッセージ、ファイル、オーガナイザ情報、ショートテキストメッセージなどの送受信をするように動作可能な高レベルユーザインターフェース1810を提供し得る。
【0114】
マイクロプロセッサ1838はさらに、ディスプレイ1822、フラッシュメモリ1824、ランダムアクセスメモリ(RAM)1826、予備入力/出力(I/O)サブシステム1828、シリアルポート1830、キーボード1832、スピーカ1834、マイクロホン1836、短距離通信サブシステム1840、および概して参照符号1842で示す任意の他のサブシステムなどの他のデバイスサブシステムとインタラクトする。
【0115】
図18に示すサブシステムのいくつかは、通信関連の機能を果たし、他のサブシステムは「レジデント」すなわちデバイス内の機能を提供し得る。特に、キーボード1832およびディスプレイ1822などのいくつかのサブシステムは、通信関連の機能、例えばテキストメッセージをデータ通信ネットワークを介した送信用に入力すること、およびデバイスレジデント機能、例えば計算機、タスクリスト、または他のPDAタイプの機能の両方に用いられ得る。
【0116】
マイクロプロセッサ1838によって用いられるオペレーティングシステムソフトウェアは好適には、フラッシュメモリ1824などの恒久的格納部に格納される。デバイス1810の低レベル機能のすべてを制御するオペレーティングシステムに加えて、フラッシュメモリ1824は複数の高レベルソフトウェアアプリケーションプログラムまたはモジュール、例えば音声通信モジュール1824A、データ通信モジュール1824B、オーガナイザモジュール(図示せず)、または任意の他のタイプのソフトウェアモジュール1824Nを含み得る。フラッシュメモリ1824はさらにデータを格納するファイルシステムを含み得る。これらのモジュールはマイクロプロセッサ1838によって実行され、デバイスのユーザとデバイスとの間の高レベルインターフェースを提供する。このインターフェースは典型的には、ディスプレイ1822を介して提供されるグラフィックコンポーネントと、予備I/O1828を介して提供される入力/出力コンポーネントと、キーボード1832と、スピーカ1834と、マイクロホン1836とを含む。オペレーティングシステム、特定のデバイスアプリケーションまたはモジュール、またはその一部は、動作を高速にするため、一時的にRAM1826などの揮発性格納部にロードされる。さらに、受信した通信信号もまたRAM1826などに一時的に格納された後、恒久的格納部1824内に位置するファイルシステムに永久的に書き込まれる。
【0117】
デュアルモードデバイス1810にロードされ得る一例としてのアプリケーションモジュール1824Nは、PDAの機能、例えばカレンダーイベント、アポイントメント、タスクアイテムなどを提供するパーソナル情報マネジャー(PIM)アプリケーションである。このモジュール1824Nはさらに電話呼び出し、ボイスメールなどを管理するために音声通信モジュール1824Nとインタラクトし得、さらにEメール通信および他のデータ伝送を管理するためにデータ通信モジュールとインタラクトし得る。あるいは、音声通信モジュール1824Nおよびデータ通信モジュール1824Bの全ての機能はPIMモジュールに統合され得る。
【0118】
フラッシュメモリ1824は好適には、デバイスへのPIMデータアイテムの格納を容易にするファイルシステムを提供する。PIMアプリケーションは好適には、それ自体で、または無線ネットワーク1819を介して音声およびデータ通信モジュール1824Aおよび1824Bと組み合わされてデータアイテムを送受信する能力を含む。PIMデータアイテムは好適には、無線ネットワーク1819を介して、ホストコンピュータシステムに格納された、または関連づけられた対応するデータセットとシームレスに統合、同期および更新され、それにより特定のユーザに関連づけられたデータアイテムのミラーシステムが作り出される。
【0119】
モバイルデバイス1810はさらに、インターフェースクレードル内にデバイス1810を載置することにより手動でホストシステムと同期され得る。インターフェースクレードルは、モジュールデバイス1810のシリアルポート1830をホストシステムのシリアルポートに連結する。シリアルポート1830はさらに外部デバイスまたはソフトウェアアプリケーションを介してユーザが優先度を設定することを可能にするため、または他のアプリケーションモジュール1824Nをインストール用にダウンロードすることを可能にするために用いられ得る。この有線ダウンロードパスは、デバイスに暗号化鍵をロードするために用いられ得る。これは無線ネットワーク1819を介して暗号化情報を交換するよりも安全な方法である。
【0120】
追加のアプリケーションモジュール1824Nが、ネットワーク1819を介して、予備I/Oサブシステム1828を介して、シリアルポート1830を介して、短距離通信サブシステム1840を介して、またはいずれかの他の適切なサブシステム1842を介してデュアルモード1810にロードされ得、ユーザによってフラッシュメモリ1824またはRAM1826にインストールされ得る。アプリケーションのインストールにおけるこのようなフレキシビリティは、デバイス1810の機能を増加させ、より高度な、デバイス内の機能、通信関連の機能、またはその両方を提供し得る。例えば、安全な通信アプリケーションは電子通信機能および他のこのような財政取引がデバイス1810を用いて行われることを可能にし得る。
【0121】
デュアルモードデバイス1810がデータ通信モードで動作している間、テキストメッセージまたはウェブページダウンロードなどの受信信号が送信器1811によって処理され、マイクロプロセッサ1838に提供される。マイクロプロセッサ1838は好適にはさらに受信信号を処理してディスプレイ1822に出力するか、または予備I/Oデバイス1828に出力する。デュアルモードデバイス1810のユーザはさらに、キーボード1832を用いてEメールメッセージなどのデータアイテムを作成し得る。キーボード1832は好適には、QWERTYスタイルでレイアウトされた完全な英数字キーボードであるが、他のスタイル、例えば公知のDVORAKスタイルの完全な英数字キーボードもまた用いられ得る。デバイス1810に対するユーザ入力は、複数の予備I/Oデバイス1828によってさらにエンハンスされる。複数の予備I/Oデバイス1828は、サムホイール入力デバイス、タッチパッド、様々なスイッチ、ロッカー入力スイッチなどを含み得る。ユーザによって入力された作成されたデータアイテムはその後、トランシーバ1811を介して通信ネットワーク1819を介して送信され得る。
【0122】
デュアルモードデバイス1810が音声通信モードで動作している間、デバイス1810の動作全体はデータモードと実質的に同一である。但し、受信信号が好適にはスピーカ1834に出力され、送信用の音声信号がマイクロホン1836によって生成される点が異なる。別の音声またはオーディオI/Oサブシステム、例えば音声メッセージ記録サブシステムもまた、デバイス1810に搭載され得る。音声またはオーディオ信号出力は好適には主にスピーカ1834を介して達成されるが、呼び出し側のアイデンティティ、音声呼び出しの期間、または他の音声呼び出し関連の情報を示すために、ディスプレイ1822がさらに用いられ得る。例えば、マイクロプロセッサ1838は、音声通信モジュールおよび動作システムソフトウェアと組み合わされて、入ってくる音声呼び出しの呼び出し側識別情報を検出し、それをディスプレイ1822上に表示する。
【0123】
短距離通信サブシステム1840がさらに、デュアルモードデバイス1810に含まれ得る。例えば、サブシステム1840は、赤外線デバイスならびに関連する回路およびコンポーネント、またはBluetooth(商標)短距離無線通信モジュールを含み得、同様にイネーブルされたシステムおよびデバイスとの通信を提供する。
【0124】
本発明の一局面によると、コンテンツ変換器および対応するコンテンツプロバイダはこのようにして、コンテンツ変換器で新しいシーケンスおよび挙動を規定し、かつ、このようなシーケンスおよび挙動をコンテンツをコンテンツプロセッサで実行することにより、新しい特徴をサポートするように適合される。そのため、上記実施例のシーケンスおよび挙動は説明のためだけであり、本発明は決してそれに限定されるものではないことが理解されるべきである。
【0125】
上記の記載では、実施例のみにより好適な実施形態を述べた。本発明の多くの改変が当業者にとっては自明であり、このような自明な改変は、明示的に記載されているか否かにかかわらず、上述した本発明の範囲内である。
【0126】
例えば、本明細書に記載した本発明の局面によるシステムおよび方法は媒体デバイスに特に適しているが、コンテンツサイズおよび処理要件の低減は、デスクトップコンピュータシステムなどの、メモリおよび処理リソースが媒体デバイスに限定されない他のシステムでもまた有利である。より小さいファイルサイズおよびより集中度の低い処理は、より高速のコンテンツ伝送および表示という結果になる。
【0127】
さらに、コンテンツ変換器およびプロセッサは何らかの特定の通信ネットワーク、システム、およびプロトコルに依存するものではないことが理解されるべきである。したがって、本発明によるコンテンツ変換器およびプロセッサは実質的に任意の一方向または双方向の通信デバイスに搭載され得る。通信関連の依存性は、コンテンツプロバイダシステムおよびデバイス内の通信サブシステムで扱われる。
【0128】
図面では、僅か2つの媒体デバイスおよび1つの無線ネットワーク、すなわち、ゲートウェイ、WANおよびコンテンツプロバイダシステムを示しているが、通信システムは通常、多くのこのようなコンポーネントを含むことが明らかである。コンテンツプロバイダシステムは、複数のゲートウェイおよび異なる無線ネットワークと通信するように構成され得る。おそらく、異なるゲートウェイには異なるタイプの接続を介して通信がなされる。各無線ネットワークは通常、複数のゲートウェイを含み、何千何万もの、さらには何百万何千万ものデバイスに通信サービスを提供する。これらのすべてが、1以上のコンテンツプロバイダシステムとの通信をイネーブルにされ得る。
【0129】
さらに、本発明の局面をSVGに関して、コンテンツプロバイダシステムのコンテンツのフォーマットとして述べてきたが、XMLおよび非XMLフォーマットの他のデータが本発明の範囲から逸脱することなく用いられ得る。
【0130】
同様に、コンテンツプロバイダシステムは異なるフォーマットのコンテンツを含み得、各タイプのコンテンツを変換する複数のコンテンツ変換器を有し得る。コンテンツプロバイダシステムが、本発明による媒体エンジンを搭載しないシステムにコンテンツを提供し得ることも可能である。このことは、例えば、まずコンテンツを変換することなくコンテンツを目的地に転送することによって達成され得る。
【0131】
変換されたコンテンツがコンテンツプロバイダシステムによって送られ得る、デバイス105などのデバイスが、主に限定されたメモリおよび処理リソースのために、概してSVGの全てのエレメントおよび機能をサポートし得ないことも考えられる。2つの比較的小さいSVGプロファイル、すなわちSVG BasicおよびSVG Tinyは、異なるクラスのデバイス用に適合される。これらのSVGプロファイルのいずれが、あるいはさらなる可能性としてこれらのSVGプロファイルおよび何らかの他の限定されたまたはモジュール化されたSVGプロファイルのうちのいずれが、目的地媒体デバイスによってサポートされるかに依存して、変換器210はサポートされていないエレメントをフィルタリングし、無視するかまたは破棄する。変換器210は、全デバイス用の特定のプロファイルおよびサポートされたエレメントを受け入れるような構成を有し得る。あるいは変換器210は、例えば、コンテンツプロバイダシステムデバイスプロファイルデータベース内の、またはデバイスからのコンテンツ要求内の、デバイス情報に基づいてSVGリーダ300からDOMをフィルタリングするように制御され得る。コンテンツをフィルタリングする機能が、代わりに、SVGリーダ300に搭載され得、SVGリーダ300において、サポートされていないSVGエレメントはDOMを構築する際に破棄されるかまたは無視される。
【0132】
コンテンツプロバイダシステム125はさらに、図面に明示的に示され、かつ上述されたエレメント以外の他のエレメントを含み得、それらをサポートし得る。例えば、SVG変換器210と組み合わされて、さらなるモジュールがコンテンツプロバイダシステム125にインストールされて、以下のような機能をサポートする。(1)ユーザアイデンティティ決定および認証、(2)例えば、各コンテンツ要求ではなく、コンテンツプロバイダシステム125に格納されたユーザプロファイル内における個人化:いかなるコンテンツがどのようにコンテンツプロバイダシステム125によって各ユーザに転送されるべきかをユーザが特定することを可能にする、(3)安全なモジュール交渉:コンテンツ変換器およびプロセッサ、例えばSecure HyperText Transfer Protocol(HTTP)を介して安全な財政取引が起こることを可能にする、(4)ダイナミックデータフィード:第三者のデータ、例えば、地図、株価の見積りまたはニュースの切り抜きなどのデータがコンテンツプロバイダを介してダイナミックにデバイスにプッシュされることを可能にする、および(5)チャットおよび他のメッセージサービス:デバイス通信機能に対してのコンテンツプロバイダシステム125を用いてメッセージを伝送する。さらなる高度なサービスが同様に開発され得、ユーザの経験全体をエンハンスする。
【0133】
テーブルA
以下のテキストは、バイナリフォーマットの例示的仕様である。
【0134】
最初に、一般的なストリームレイアウト、次に、特定のノードの特定のストリームフォーマットが説明される。すべてのサイズ値は、ビッグエンディアンフォーマット(高位バイトが先)で表され数0である。符号なしの値が全くの正の値である。
【0135】
各フィールドには、以下のフォーマット
<name><Java(R) Primitive><Byte size><Shortened according to candidate number>
が指定される。
【0136】
候補数がナローイングバイトで規定され、これらは以下において説明される。
【0137】
一般的フォーマット
BF 開始 ヘッダ 整数 (4バイト)
この値は、ストリームが有効BFストリームであり、テキストや他のストリームではないことを示す。これは、「211」「P」「M」「E」といった文字バイトである。最初の文字は、非テキストであり、テキストストリームがBFと解釈される機会を低減する。従って、残りの3つのバイトは、テキストエディタにおいて開かれた場合にファイルが識別され得る。
【0138】
BF メジャーバージョン1 バイト (1バイト)
この値は、現在用いられていない。
【0139】
BF メジャーバージョン2 バイト (1バイト)
この値は、ストリームと関連したメジャーリリースを示す。メディアエンジンは、より劣ったバージョン(後方互換性)のストリームの機能を選択的に実行し得るが、より優れたバージョン(前方互換性)のストリームの機能を実行することは必要とされない。新しい世代の製品が発売された場合、このバージョンはインクリメントされる。
【0140】
BF マイナーバージョン1 バイト (1バイト)
この値は、ストリームフォーマットのマイナーリリースを示す。所与のメジャーバージョンの範囲内のメディアエンジンは、任意のマイナーバージョンとの後方互換性がなければならないが、マイナーバージョン1リビジョンとの前方互換性が必ずしもある必要がない。ストリームフォーマットがアップグレードされた場合、このバージョンはインクリメントされる。
【0141】
BF マイナー バージョン2 バイト (1バイト)
この値は、このストリームの機能を実行するように設計された世代の範囲内のメディアエンジンのバージョンを示す。所与のマイナー1リビジョンの範囲内のメディアエンジンは、このバージョンと前方および後方互換性がなければならない。このバージョンは、ストリームフォーマットに、新しいバージョンのストリームの機能を実行するメディアエンジンの能力に影響をおよぼさない変更がストリームフォーマットになされた場合はいつでもインクリメントされる。
【0142】
バージョン情報に関する脚注は以下のとおりである。バージョン情報がテキストまたはバイトとして符号化されるか否かに関して若干述べられた。そのバージョン情報がテキストベースの文字として符号化された場合、テキストエディタにおいてBFファイルを開いた人は、それがどのバージョンであるのかを見出し得る。しかしながら、これは、さらに、各バージョン識別子を文字0〜9に制限する。
【0143】
BF end header int (4 バイト)
この値は、ファイル転送エラーを早期に把握するために用いられる。これは、文字「\r」「\n」「32」「\n」からなる。復帰/改行の組み合わせは、テキストベースのファイル転送メカニズムによってエラーであると理解される。開始および終了ヘッダがPNGファイルフォーマットヘッダに基づくことに留意されたい。(http://www.w3.org/TR/TRC−png.html#R.PNG−file−signature)。
【0144】
符号化 utf−8
これは、ストリームにおけるすべての残りのストリングを符号化するために用いられた符号化を表すテキストストリングである。この値は、チャックサムに含まれない。
【0145】
シーンタイトル
これは、シーンのタイトルである。コンテンツ開発者は、選択的に、このフィールドを規定し得る。これは、最長16文字を有する。逆シリアル化(de−serialization)の時間にチェックが保証されないので、この限度はコンパイラまたは出力ストリームによって強化される。
【0146】
版権情報(Copyright information)
これは、コンテンツ開発者によって規定される版権情報を含み得る任意のフィールドである。これは、最長80文字を有する。この限度もまた、コンパイラまたは出力ストリームによって強化される。
【0147】
ナローイング バイト int (4バイト)
このフィールドは、変数の特定のセットが最小数のバイトで書き込まれることを可能にするビットマスクのシーケンスを含む。このセットの値は、そのセット内に含まれる最大値を表すために必要な最少数のバイトで書き込まれる。以下のテーブルは、バイトの数を決定するために用いられる境界値を示す。符号なしのセットは、配列指数等、負の値が意味を有さないセットである。符号付きのセットは、負および正の両方の値が意味を有するセットである。符号付きのセットのすべての値は正である場合、これは、符号なしのセットとして処理されることが可能である。
【0148】
【表1】
Figure 2005507098
ナローイングは、フィールドに割り当てられた4バイト(32ビット)における特定のロケーションにビットマスクをセットすることによって適用される。最初の7つの候補が符号なしのバイトのタイプまたは符号なしのショートのタイプのどちらかであり得ることのみが可能であるので、ビットマスクの最後のビットのみがストリームに書き込まれる必要がある。ストリームが逆シリアル化された場合、行間隔0がマスクに追加され得る。同じ理由によって、キータイムに符号は付き得ないので、行間隔0のビットマスクが外され、かつ2ビットのみがストリームに書き込まれる。
【0149】
【表2】
Figure 2005507098
シーン幅 バイト/ショート (1バイト/2バイト) (#5)
シーン高さ バイト/ショート (1バイト/2バイト) (#5)
これは、シーンの好適な幅および高さである。これは、シーンをデバイスス画面の中央に置くために用いられる。
【0150】
Scene color−R 符号なしバイト (1バイト)
Scene color−G 符号なしバイト (1バイト)
Scene color−B 符号なしバイト (1バイト)
これは、RGBの形式でのシーンの背景色である。デバイス画面が、シーン幅および高さよりも大きい場合、マット化するためにこの色が用いられる。
【0151】
シーケンス ルート インデックス 符号なしのショート (2バイト)
シーケンスグラフルートノードのノード配列へのインデックス。ビジュアルグラフのインデックスは、常に0であるので書き込まれない。
【0152】
ノードデータサイズ 符号なしショート (2バイト)
ノード配列におけるエレメントの数。これは、配列におけるノードの数ではなく、割り当てられることが必要なintsの数である。この数は、過渡データの空間を含む。
【0153】
キータイムデータサイズ 符号なしショート (2バイト)
キー値データサイズ 符号なしショート (2バイト)
これらの値は、キータイムおよびキーの値が単配列に格納される可能性を考慮に入れ、ここで共に書き込まれる。エンジンがキータイムデータサイズをノード配列において見出されるすべてのキーの値インデックスに追加することを必要とする。
【0154】
numCoordinateArray 符号なしバイト/符号なしショート(1バイト/2バイト)(#2)
読み出すべき座標配列の数
numObjects 符号なしバイト/符号なしショート(1バイト/2バイト)(#1)
これは、オブジェクト配列に含まれるメディアurlリファレンス、ハイパーリンクリファレンスおよびテキストストリングスの数である。
【0155】
numSoundes 符号なしバイト/符号なしショート(1byて/2バイト)(#1)
便宜上、それぞれ、オブジェクト配列に含まれるサウンドurlおよびイメージurlの数である。
【0156】
numInterpolators 符号なしショート (2バイト)
ノード配列に含まれる補間ノードの数である。
【0157】
numHotspots 符号なしショート (2バイト)
ノード配列に含まれるホットスポットノードの数である。
【0158】
チャネルデータサイズ 符号なしショート (2バイト)
チャネル配列のデータサイズである。
【0159】
チェックサム 整数(4バイト)
これは、ストリームであるが、チェックサムおよびファイルヘッダのバイトは含まないストリームから計算された値である。この値は、ストリームに書き込まれたすべての値の単純な合計である。この値が修正されない場合、エンジンは、ストリームの伝送の間、ストリームが変更されたか、またはエラーが生じるとロードを中止する。
【0160】
ノード配列
シーケンスグラフにおける各ノードが追従するビジュアルグラフにおける各ノードのデータ。この情報は、pre−order depth−first traversalと書き込まれ、ストリーミングの将来の可能性を考慮に入れる。Preorderは、親が子の前に書き込まれることを意味する。Depth firstは、最初の子のサブグラフが、第2の子が書き込まれる前に完全に書き込まれることを意味する。例えば、ルートグループ、ルートグループの子1、ロートグループの子1の子1等である。
【0161】
チャックサム 整数 (4バイト)
これは、ストリームのバイトであるが、このチャックサム、前のチャックサムのいずれか、またはファイルヘッダのバイトは含まないバイトから計算された値である。この値は、ストリームに書き込まれるすべての値の単純な合計である。この値が正しくない場合、エンジンは、ストリームの伝送の間、ストリームが変更されたか、またはエラーが生じるとロードを中止する。
【0162】
座標配列
これは、シーンにおけるすべてのポリゴン/ポリラインの座標データである。以下のデータは、各座標配列のストリームに書き込まれる。
【0163】
長さ 符号なしバイト/符号なしショート(1バイト/2バイト)(#3)
各xまたはy値 バイト/ショート((1バイト/2バイト)*長さ)(#11)
エンジンは、ドコモグラフィックスAPIの性質に基づいて、これらを整数[ ][ ]で格納することが予測される。xおよびyは、ここでは区別されない。これらは、多角形オブジェクトのインデックスによってレンダーコールの場合にのみ区別される。座標のセットが動画化された場合、このセットは、所望の効果でない場合は共有されない。むしろ、これは、別個の座標セットとしてストリームに書き込まれる。コンパイラまたは出力ストリームは、座標配列が共有されるべきか否かの決定を担当する。
【0164】
チェックサム 整数、(4バイト)
これは、ストリームのバイトであるが、このチェックサム、前のチェックサムのいずれかまたはファイルヘッダは含まないバイトから計算される値である。この値は、ストリームに書き込まれたすべての値の単純な合計である。この値が正しくない場合、エンジンは、ストリームの伝送の間、ストリームが変更されたか、またはエラーが生じるとロードを中止する。
【0165】
キータイム配列
これは、シーンにおける補間のすべてのキータイムの配列である。以下のデータは、キータイム配列ごとにストリームに書き込まれる。
【0166】
長さ 符号なしバイト/符号なしショート(1バイト/2バイト)(#3)
各キータイム 符号なしバイト/符号なしショート/符号なし3バイト/符号なし整数((1バイト/2バイト/3バイト/4バイト)*長さ)(#9)
0の最初のキータイムはストリームに書き込まれない。むしろ、エンジンは、これを逆シリアル化の時間に初期化する。
【0167】
チェックサム 整数 (4バイト)
これは、ストリームのバイトであるが、このチェックサム、前のチェックサムのいずれか、またはファイルヘッダは含まないバイトから計算される値である。この値は、ストリームに書き込まれたすべての値の単純な合計である。この値が正しくない場合、エンジンは、ストリームの伝送の間、ストリームが変更されたか、またはエラーが生じるとロードを中止する。
【0168】
キー値配列
これは、シーンにおけるすべての補間と関連したキー値である。これらの配列は、共有され得るので、データサイズは、キータイムとは異なり得る。キー値配列が動画化された場合、キー値は、所望の効果でない場合は共有されない。この場合、別個のキー値配列として書き込まれる。コンパイラまたは出力ストリームは、キー値配列が共有されるべきか否かの決定を担当する。以下のデータは、キー値配列ごとにストリームに書き込まれる。
【0169】
長さ 符号なしバイト/符号なしショート(1バイト/2バイト)(#3)
各キータイム値 バイト/ショート ((1バイト/2バイト)*長さ)(#10)
チェックサム 整数 (4バイト)
これは、ストリームのバイトであるが、このチェックサム、前のチェックサムのいずれか、またはファイルヘッダは含まないバイトから計算される値である。この値は、ストリームに書き込まれたすべての値の単純な合計である。この値が正しくない場合、エンジンは、ストリームの伝送の間、ストリームが変更されたか、またはエラーが生じるとロードを中止する。
【0170】
ストリング/メディアオブジェクト配列
この配列は、イメージ、オーディオおよびハイパーリンクノードのurlを含む。これは、さらに、任意のテキストノードからのテキストストリングも含む。データは、すべてのオーディオクリップのurl、すべてのイメージurl、すべてのテキストストリング、すべてのハイパーリンクの順序で書き込まれる。
【0171】
*これがオブジェクト[ ]としてエンジン側に割り当てられた場合、メディアリソースオブジェクトは、適切なインデックスでURLを上書きし得る。
【0172】
チェックサム 整数 (4バイト)
これは、ストリームのバイトであるが、このチェックサム、前のチェックサムのいずれか、またはファイルヘッダは含まないバイトから計算される値である。この値は、ストリームに書き込まれたすべての値の単純な合計である。この値が正しくない場合、エンジンは、ストリームの伝送の間、ストリームが変更されたか、またはエラーが生じるとロードを中止する。
【0173】
チャネルデータ
これは、ソースのチャンネルである。以下のデータは、ストリーム内のすべてのチャネルに書き込まれる。
【0174】
長さ 符号なしバイト/符号なしショート(1バイト/2バイト)(#3)
各チャネルインデックス 符号なしショート (2バイト*長さ)
チェックサム 整数 (4バイト)
これは、ストリームのバイトであるが、このチェックサム、前のチェックサムのいずれか、またはファイルヘッダは含まないバイトから計算される値である。この値は、ストリームに書き込まれたすべての値の単純な合計である。この値が正しくない場合、エンジンは、ストリームの伝送の間、ストリームが変更されたか、またはエラーが生じるとロードを中止する。
【0175】
特定のノードのフォーマット
(*)値は、一時的であり、ストリームに書き込まれない。これらの値には、ストリームがシリアル化される時間に、エンジンによって初期値が割り当てかつ割り付けられる。すべてのノードは、ビットフィールドを有する。それらのバイトの範囲内に、ビットポジションに以下の意味が割り当てられている。
【0176】
可視(Visible) 7
ストロークされた(Has Stroke) 6
書き込まれた(Has Fill) 5
アクティブ 4
完了 3
ループ 2
通知 1
ノードは、タイプごとに読み出されるので、シーケンスとビジュアルノードとの間にノードタイプにネーム空間の衝突があってはならない。ビジュアルノードバイプは、タイプ1で開始し、64にインクリメントする。シーケンスノードタイプは、Byte.MAX_MAX_VALUE(127)で開始し、65にデクリメントする。
【0177】
可視のビットがビットフィールドにおける唯一のビットであるノードの可視性を示すために1の補数(〜)が用いられる。具体的に、これらのノードは、補間器、ホットスポット、グループ、イメージおよびテキストである。列挙されたノードのビットフィールドは、書き込まれない。その代わりに、ノードが可視である場合、通常のタイプの定数がストリームに書き込まれる。ノードが可視でない場合、このタイプの1の補数はストリームに書き込まれる。
【0178】
Pで表示されるビットフィールドは、可視性がタイプ識別子にパックされることを示す。
【0179】
タイプ識別子は、
矩形 10
ポリライン/ポリゴン 20
テキスト 30
イメージ40
グループ 50
ループ 125
すべてのフォーク 120
任意のフォーク 115
ホットスポット 110
オーディオクリップ 105
オーディオストップ 100
ハイパーリンク 95
チャネル変更子 90
補間器 85
シーケンスノード
オーディオクリップ
タイプ バイト (1バイト)
ビット 符号なしバイト (1バイト)
ループ
通知
*親
メディアインデックス 符号なしバイト/符号なしショート(1バイト/2バイト)(#1)
オーディオストップ
タイプ バイト (1バイト)
*ビット(将来の使用)
*親
チャネル変更子
タイプ バイト (1バイト)
*ビット(将来の使用)
*親
チャネルインデックス 符号なしバイト/符号なしショート(1バイト/2バイト)(#1)
動作 バイト (1バイト)
ハイパーリンク
タイプ バイト (1バイト)
*ビット(将来の使用)
*親
リンクインデックス 符号なしバイト/符号なしショート(1バイト/2バイト)(#1)
補間器
タイプ バイト (1バイト)
P ビット 符号なしバイト(1バイト)
可視
アクティブ
*親
ループカウント 符号なしバイト/符号なしショート(1バイト/2バイト)(#4)
補間タイプ バイト (1バイト)
キータイムのインデックス 符号なしバイト/符号なしショート(1バイト/2バイト)(#6)
キー値のインデックス 符号なしバイト/符号なしショート(1バイト/2バイト)(#7)
*開始時間
*インターバル
セット値ターゲットの数 符号なしバイト/符号なしショート(1バイト/2バイト)(#3)
セット値のインデックス 符号なしショート (2バイト*ターゲットの数)
セット値法を用いるのとは対照的に、値を書き込むためのインデックスは、補間器において直接指定される。これは、ノード配列におけるフィールドの位置に索引を付けて、整数配列フォーマットメディアエンジンにフォーマットを密接に結びつける。利得は、これがセット値法およびセット値識別子を除去することを可能にするということである。各ノードのインデックスが、逆シリアル化に対して追跡され、かつ補間が逆シリアル化されるとマッチされる場合、この情報をエンジンのオブジェクトバージョンで再構築することが可能である。補間器がセット値に対して空ターゲットを有する場合、インデックスは、ストリームに書き込まれない。
【0180】
ホットスポット
タイプ バイト (1バイト)
P ビット 符号なしのバイト (1バイト)
可視
* アクティブ
*親
アウトフォーカスの子のインデックス 符号なしショート (2バイト)
インフォーカスの子のインデックス 符号なしショート (2バイト)
オンアクティブの子のインデックス 符号なしショート (2バイト)
Anyfork
タイプ バイト (1バイト)
*ビット
* 完了
*親
numChildren 符号なしバイト/符号なしショート(1バイト/2バイト)(#3)
子のインデックス 符号なしショート (2バイト*numChildren)
Allfork
タイプ バイト (1バイト)
*ビット(将来の使用)
*親
numChildren 符号なしバイト/符号なしショート(1バイト/2バイト)(#3)
子のインデックス 符号なしショート (2バイト*numChildren)
ループ
タイプ バイト (1バイト)
*ビット(将来の使用)

numChildren 符号なしバイト/符号なしショート(1バイト/2バイト)(#3)
LoopCount 符号なしバイト/符号なしショート(1バイト/2バイト)(#4)
*CurrentChild
*CurrentLoop
子のインデックス 符号なしショート (2バイト*numChilderen)
ビジュアルノード
矩形
タイプ バイト (1バイト)
ビット 符号なしバイト (1バイト)
可視
ストロークされた
書き込まれた
X バイト/ショート (1バイト/2バイト) (#13)
Y バイト/ショート (1バイト/2バイト) (#14)
Fill Color−Red (適切な場合) 符号なしバイト(1バイト)
Fill Color−Green(適切な場合) 符号なしバイト(1バイト)
Fill Color−Blue (適切な場合) 符号なしバイト(1バイト)
Stroke Color−Red(適切な場合) 符号なしバイト(1バイト)
Stroke Color−Green(適切な場合)符号なしバイト(1バイト)
Stroke Color−Blue(適切な場合) 符号なしバイト(1バイト)
幅 符号なしバイト/符号なしショート(1バイト/2バイト)
高さ 符号なしバイト/符号なしショート(1バイト/2バイト)
ポリゴン/ポリライン
タイプ バイト (1バイト)
ビット 符号なし (1バイト)
可視
ストロークされた
書き込まれた
X バイト/ショート (1バイト/2バイト) (#13)
Y バイト/ショート (1バイト/2バイト) (#14)
Fill Color−Red(適切な場合) 符号なしバイト(1バイト)
Fill Color−Green(適切な場合) 符号なしバイト(1バイト)
Fill Color−Blue(適切な場合) 符号なしバイト(1バイト)
Stroke Color−Red(適切な場合) 符号なしバイト(1バイト)
Stroke Color−Green(適切な場合)符号なしバイト(1バイト)
Stroke Color−Blue(適切な場合) 符号なしバイト(1バイト)
x coord index 符号なしバイト/符号なしショート (1バイト/2バイト)(#2)
y coord index 符号なしバイト/符号なしショート (1バイト/2バイト)(#2)
テキスト
タイプ バイト (1バイト)
P ビット 符号なしバイト(1バイト)
可視
X バイト/ショート (1バイト/2バイト) (#13)
Y バイト/ショート (1バイト/2バイト) (#14)
Color−Red 符号なしバイト(1バイト)
Color−Green 符号なしバイト(1バイト)
Color−Blue 符号なしバイト(1バイト)
フォント 整数 (4バイト)
テキストインデックス 符号なしバイト/符号なしショート (1バイト/2バイト)(#1)
ストロークを支援し、かつテキストノードに書き込むために、各文字は、等価のポリラインに変換される必要がある。このオプションは、このバージョンには含まれず、素の結果、書き込みのみが支援される。
【0181】
イメージ
タイプ バイト (1バイト)
P ビット 符号なしバイト(1バイト)
可視
X バイト/ショート (1バイト/2バイト) (#13)
Y バイト/ショート (1バイト/2バイト) (#14)
イメージインデックス 符号なしバイト/符号なしショート(1バイト/2バイト)(#1)
グループ
タイプ バイト (1バイト)
P ビット 符号なしバイト(1バイト)
可視
X バイト/ショート (1バイト/2バイト) (#13)
Y バイト/ショート (1バイト/2バイト) (#14)
currentChild バイト/ショート(1バイト/2バイト) (#12)
numChildere 符号なしバイト/符号なしショート(1バイト/2バイト)(#3)
子インデックス 符号なしショート(2バイト)
【0182】
【表3】
Figure 2005507098
Figure 2005507098
凡例:空白は、SVGによって支援されない
Yは、SVGによって支援されるが、このインプリメンテーションによっては支援されない。
【0183】
Xは、SVGおよびこのインプリメンテーションによって支援される。
【図面の簡単な説明】
【0184】
【図1】図1は、本発明の実施形態によるコンテンツプロバイダシステムを有する通信システムのブロック図である。
【図2】図2は、コンバータを有する図1のシステムのコンテンツプロバイダのブロック図である。
【図3】図3は、SVGコンパイラを有する図2のコンバータのブロック図である。
【図4】図4は、メディアエンジンを有する図1のメディアデバイスのブロック図である。
【図5】図5は、図4のメディアエンジンのブロック図である。
【図6】図6は、図3のSVGコンパイラによる動画の変換(その変換は、視覚エレメントおよび挙動エレメントを有する)のブロック図である。
【図7】図7は、視覚グラフ700として表された図6の視覚エレメントの例のブロック図である。
【図8】図8は、シーケンスグラフとして表された図6の挙動エレメント例のブロック図である。
【図9−1】図9−1は、矩形動画の一例のブロック図である。
【図9−2】図9−2は、矩形動画の一例のブロック図である。
【図9−3】図9−3は、矩形動画の一例のブロック図である。
【図9−4】図9−4は、矩形動画の一例のブロック図である。
【図9−5】図9−5は、矩形動画の一例のブロック図である。
【図9−6】図9−6は、矩形動画の一例のブロック図である。
【図9−7】図9−7は、矩形動画の一例のブロック図である。
【図10】図10は、本発明の別の実施形態による代替のコンバータおよびSVGメディアエンジンのブロック図である。
【図11】図11は、図1のコンテンツプロバイダシステム上の展開の前にコンテンツを検証するためのデバイスシミュレータを有するシミュレーションシステムのブロック図である。
【図12】図12は、NTT DoCoMo I−mode電話のコンピュータ上のデバイスシミュレータのスクリーンショットである。
【図13】図13は、本発明のさらなる実施形態によるリソースセレクタを有する強化されたコンテンツプロバイダシステムのブロック図である。
【図14】図14は、図13のリソースセレクタの使用のための展開戦略のブロック図である。
【図15】図15は、メディアエンジンからブラウジングおよび見るための特定のファイルシステムのSVGレンダリングを生成するためのコンテンツナビゲータのための連続的ブロック図である。
【図16】図16は、図4のメディアデバイスにコンテンツを提供するための方法のフローチャートである。
【図17】図17は、図1のメディアデバイス上でコンテンツを処理するための方法のフローチャートである。
【図18】図18は、デュアルモードモバイル通信デバイスのブロック図である。

Claims (67)

  1. メディアデバイスと通信するためにネットワークに接続するコンテンツプロバイダシステムであって、
    該ネットワークを介して該メディアデバイスと通信する通信サブシステムと、
    該通信サブシステムに接続されたアプリケーションであって、該メディアデバイスからコンテンツのリクエストを受信し、かつ、これに応答して、リクエストされたコンテンツをデータストアから取り出すための、アプリケーションと、
    該アプリケーションに接続されたコンバータであって、該リクエストされたコンテンツをバイナリフォーマットにフォーマットする、該リクエストされたバイナリフォーマットのコンテンツが、該通信サブシステムを通じて該メディアデバイスに送信されるための、コンバータと
    を備える、コンテンツプロバイダシステム。
  2. コンテンツの1つのリクエストに応答してフォーマットされた、前記リクエストされた前記バイナリフォーマットのコンテンツは、ビジュアルグラフによって表されるビジュアルエレメント、およびシーケンスグラフによって表されるビヘイビアエレメントを含み、該ビジュアルグラフおよび該シーケンスグラフは、メディアデバイスによって別々にレンダリングするためのものである、請求項1に記載のコンテンツプロバイダシステム。
  3. 前記コンテンツは、データストアにマークアップ言語で格納される、請求項2に記載のコンテンツプロバイダシステム。
  4. 前記マークアップ言語は、ハイパーテキストマークアップ言語、エクステンシブルマークアップ言語、および、スケーラブルベクトルグラフィック言語を有するエクステンシブルマークアップ言語の1つを含む、請求項3に記載のコンテンツプロバイダシステム。
  5. 前記リクエストされたバイナリフォーマットのコンテンツは、前記メディアデバイスのメモリ内のリクエストされたコンテンツと実質的に同じである、請求項1に記載のコンテンツプロバイダシステム。
  6. 前記それぞれのメディアデバイスからデバイス情報を受信し、かつ、コンテンツの前記リクエストに応答して、前記アプリケーションを配向して、該デバイス情報に基づいて、該それぞれのメディアデバイスの利用可能なデバイスリソースとより一致する該リクエストされたコンテンツを提供するためのリソースセレクタをさらに備える、請求項1に記載のコンテンツプロバイダシステム。
  7. 前記リソースセレクタは、コンテンツによるオーガナイズおよびでデバイスによるソート、デバイスによるオーガナイズおよびコンテンツによるソート、ならびに命名規則によるオーガナイズの少なくとも1つを含むパターンベースの規則を用いて、前記デバイスリソースに基づいてコンテンツをオーガナイズする、請求項6に記載のコンテンツプロバイダシステム。
  8. 前記リソースセレクタは、リクエストするメディアデバイスの前記デバイス情報に基づいて前記リクエストされたコンテンツを変更するように前記アプリケーションを配向する、請求項6に記載のコンテンツプロバイダシステム。
  9. 前記リソースセレクタは、リダイレクト配置戦略によって用いられる、請求項6に記載のコンテンツプロバイダシステム。
  10. 前記リソースセレクタは、書き換え配置戦略によって用いられる、請求項6に記載のコンテンツプロバイダシステム。
  11. コンテンツの前記リクエストの各々は、前記メディアデバイスのそれぞれの1つと関連付けられた一意的識別子を含む、請求項1に記載のコンテンツプロバイダシステム。
  12. 前記アプリケーションは、前記メディアデバイスのそれぞれ1つに送信される、前記リクエストされたコンテンツをパーソナライズするために、該メディアデバイスのそれぞれ1つと関連付けられた前記一意的識別子を用いる、請求項11に記載のコンテンツプロバイダシステム。
  13. 前記アプリケーションは、前記メディアデバイスの前記それぞれ1つにインターネットアクセスを提供するために、該メディアデバイスのそれぞれ1つと関連付けられた前記一意的識別子を用いる、請求項11に記載のコンテンツプロバイダシステム。
  14. 前記データストアは、少なくとも1つのローカルデータストアおよび外部データストアを含む、請求項1に記載のコンテンツプロバイダシステム。
  15. 前記コンバータは、
    前記リクエストされたコンテンツを前記データストアから読み出して、該リクエストされたコンテンツのドキュメントオブジェクトモデルを生成するリーダーと、
    該ドキュメントオブジェクトモデルをバイナリフォーマットオブジェクトモデルに変換するコンパイラと、
    該バイナリフォーマットオブジェクトモデルをバイナリフォーマットファイルに書き込むためのライターであって、該バイナリフォーマットファイルは、前記メディアデバイスに送信するための前記通信サブシステムに提供される、ライターと
    を備える、請求項3に記載のコンテンツプロバイダシステム。
  16. 前記コンバータは、
    前記リクエストされたコンテンツを前記データストアから読み出して、該リクエストされたコンテンツのドキュメントオブジェクトモデルを生成するリーダーと、
    該ドキュメントオブジェクトモデルをバイナリフォーマットファイルに書き込むライターであって、該バイナリフォーマットファイルは、該メディアデバイスに送信するための前記通信サブシステムに提供される、ライターと
    を備える、請求項1に記載のコンテンツプロバイダシステム。
  17. 前記リクエストされた前記バイナリフォーマットのコンテンツは、前記メディアデバイスの前記メモリ内の前記リクエストされたコンテンツと実質的に同じである、請求項2に記載のコンテンツプロバイダシステム。
  18. ファイルシステムのナビゲータページを生成し、かつ、該ファイルシステムのコンテンツのリクエストに応答して、該リクエストされたコンテンツとして該ナビゲータページを提供するコンテンツナビゲータをさらに備える、請求項1に記載のコンテンツプロバイダシステム。
  19. 前記コンテンツナビゲータは、前記ナビゲータページをマークアップ言語で生成し、かつ、前記ファイルシステムのコンテンツの前記リクエストに応答して、前記バイナリフォーマットにフォーマットするために、前記コンバータに該ナビゲータページを提供する、請求項18に記載のコンテンツプロバイダシステム。
  20. ネットワークに接続して、コンテンツのコンテンツプロバイダシステムにアクセスするためのメディアデバイスであって、
    該ネットワークを介して該コンテンツプロバイダシステムと通信するためのデバイス通信サブシステムと、
    ユーザと双方向通信するためのディスプレイおよびユーザインターフェースを有するデバイスインフラストラクチャと、
    コンテンツのリクエストを該コンテンツプロバイダシステムに送信し、かつリクエストされたコンテンツを受信し、これに応答して、該リクエストされたコンテンツを該デバイスインフラストラクチャ上にレンダリングするために、該デバイス通信サブシステムおよび該デバイスインフラストラクチャに接続されるメディアエンジンと
    を備える、メディアデバイス。
  21. 前記メディアエンジンは、
    前記リクエストされたコンテンツを受信および読み出し、かつ該リクエストされたコンテンツをメモリに配置するリーダーと、
    前記ユーザと双方向通信するために、メモリ内の該リクエストされたコンテンツを前記デバイスインフラストラクチャ上にレンダリングするレンダーと
    を備える、請求項20に記載のメディアデバイス。
  22. 前記リクエストされたコンテンツは、バイナリフォーマットで受信される、請求項21に記載のメディアデバイス。
  23. 前記リクエストされたコンテンツは、前記バイナリフォーマットで受信され、かつビジュアルグラフによって表されるビジュアルエレメント、およびシーケンスグラフによって表されるビヘイビアエレメントを含み、該ビジュアルグラフおよび該シーケンスグラフは、前記メディアエンジンによって別々にレンダリングするためのものである、請求項22に記載のメディアデバイス。
  24. 前記リクエストされた前記バイナリフォーマットコンテンツは、前記メディアデバイスの前記メモリ内の前記リクエストされたコンテンツと実質的に同じである、請求項22に記載のメディアデバイス。
  25. 前記リクエストされた前記バイナリフォーマットのコンテンツは、前記メディアデバイスの前記メモリ内の前記リクエストされたコンテンツと実質的に同じである、請求項23に記載のメディアデバイス。
  26. 前記メディアエンジンは、前記コンテンツプロバイダシステムにデバイス情報を提供し、従って、前記リクエストされたコンテンツは、利用可能なデバイスリソースとより一致する、請求項20に記載のメディアデバイス。
  27. 前記メディアエンジンは、リダイレクト配置戦略および書き換え配置戦略の1つを用いて、利用可能なデバイスリソースとより一致するような前記リクエストされたコンテンツを受信する、請求項26に記載のメディアデバイス。
  28. 前記メディアエンジンは、前記コンテンツのリクエストの中に一意的識別子を含む、請求項20に記載のメディアデバイス。
  29. コンテンツのコンテンツプロバイダシステムにアクセスするためにネットワークに接続されたメディアデバイスのメディアエンジンであって、該メディアデバイスは、
    該コンテンツプロバイダシステムと通信するためのデバイス通信サブシステムと、
    ユーザと双方向通信するためのディスプレイおよびユーザインターフェースを有するデバイスインフラストラクチャと、
    該デバイス通信サブシステムおよび該デバイスインフラストラクチャに接続された該メディアエンジンとを備え、
    該メディアエンジンは、
    該リクエストされたコンテンツを受信および読み出し、かつ該リクエストされたコンテンツをメモリに配置するためのリーダーと、
    メモリ内の該リクエストされたコンテンツを該デバイスインフラストラクチャ上にレンダリングするためのレンダーと
    を備える、メディアエンジン。
  30. 前記リクエストされたコンテンツは、バイナリフォーマットで受信される、請求項29に記載のメディアエンジン。
  31. 前記リクエストされたコンテンツは、前記バイナリフォーマットで受信され、ビジュアルグラフによって表されるビジュアルエレメント、およびシーケンスグラフによって表されるビヘイビアエレメントを含み、該ビジュアルグラフおよび該シーケンスグラフは、前記メディアエンジンによって別々にレンダリングするためのものである、請求項20に記載のメディアエンジン。
  32. 前記リクエストされた前記バイナリフォーマットのコンテンツは、前記メディアデバイスの前記メモリ内の前記リクエストされたコンテンツと実質的に同じである、請求項30に記載のメディアエンジン。
  33. 前記リクエストされた前記バイナリフォーマットのコンテンツは、前記メディアデバイスの前記メモリ内の前記リクエストされたコンテンツと実質的に同じである、請求項31に記載のメディアエンジン。
  34. 前記コンテンツプロバイダシステムにデバイス情報が提供され、従って、前記リクエストされたコンテンツが利用可能なデバイスリソースとより一致する、請求項29に記載のメディアエンジン。
  35. 前記受信された、リクエストされたコンテンツは、リダイレクト配置戦略および書き換え配置戦略の1つを用いることにより、利用可能なデバイスリソースとより一致する、請求項34に記載のメディアエンジン。
  36. 一意的識別子は、コンテンツのリクエストの中に含まれる、請求項29に記載のメディアエンジン。
  37. コンテンツプロバイダシステム上に配置する前に、コンテンツを検証するためのシミュレーションシステムであって、該コンテンツプロバイダシステムは、ネットワークを介して該コンテンツをメディアデバイスに提供し、該シミュレーションシステムは、
    複数のデバイスシミュレータであって、各々が1つのタイプのメディアデバイスをエミュレートする、複数のデバイスシミュレータと、
    該コンテンツをバイナリフォーマットにフォーマットするためのコンバータと、
    該デバイスシミュレータの各々に該バイナリフォーマットの該コンテンツをレンダリングするためのメディアエンジンと
    を備える、シミュレーションシステム。
  38. 前記コンテンツは、マークアップ言語で生成される、請求項37に記載のシミュレーションシステム。
  39. 前記デバイスシミュレータの各々は、前記コンテンツと双方向通信するためのユーザインターフェースをさらに備える、請求項37に記載のシミュレーションシステム。
  40. コンテンツをメディアデバイス上にレンダリングする方法であって、該メディアデバイスは、メモリを有し、該方法は、
    コンテンツを受信する工程であって、該コンテンツは、ビジュアルグラフによって表されるビジュアルエレメント、およびシーケンスグラフによって表されるビヘイビアエレメントを含む、工程と、
    該コンテンツをレンダリングし、かつレンダリングするための該メディアデバイスの該メモリに該コンテンツを配置する工程と、
    該ビジュアルグラフをレンダリングする工程と、
    該シーケンスグラフをレンダリングして、該シーケンスグラフの該レンダリングにより、該ビジュアルグラフを変更する工程と、
    該シーケンスグラフの該レンダリングが完了したか否かを決定し、完了した場合、終了し、かつ、完了していない場合、該ビジュアルグラフの該レンダリングに進み、該ビジュアルグラフの該レンダリングを継続する工程と
    を包含する、方法。
  41. 前記コンテンツは、バイナリフォーマットの前記メディアデバイスによって受信される、請求項40に記載の方法。
  42. 前記シーケンスグラフの前記レンダリングは、ユーザ入力を受信する工程をさらに包含する、請求項40に記載の方法。
  43. ネットワークを介して接続するメディアデバイスにコンテンツを提供する方法であって、
    該ネットワークを介して該メディアデバイスからコンテンツのリクエストを受信する工程と、
    リクエストされたコンテンツをデータストアから取り出す工程と、
    該リクエストされたコンテンツをバイナリフォーマットにフォーマットし、従って、該リクエストされた該バイナリフォーマットのコンテンツが該メディアデバイスに送信される、工程と
    を包含する、方法。
  44. コンテンツの1つのリクエストに応答してフォーマットされた、前記リクエストされた前記バイナリフォーマットのコンテンツは、ビジュアルグラフによって表されるビジュアルエレメント、およびシーケンスグラフによって表されるビヘイビアエレメントを含み、該ビジュアルグラフおよび該シーケンスグラフは、メディアデバイスによって別々にレンダリングするためのものである、請求項43に記載の方法。
  45. 前記コンテンツは、前記データストア上にマークアップ言語で格納される、請求項44に記載の方法。
  46. 前記マークアップ言語は、ハイパーマークアップ言語、エクステンシブルマークアプ言語、および、スケーラブルベクトルグラフィック言語を有するエクステンシブルマークアップ言語の1つを含む、請求項45に記載の方法。
  47. 前記リクエストされた前記バイナリフォーマットのコンテンツは、前記メディアデバイスの前記メモリ内の前記リクエストされたコンテンツと実質的に同じである、請求項43に記載の方法。
  48. 前記それぞれのメディアからデバイス情報を受け取る工程と、該デバイス情報に基づいて、前記それぞれのメディアデバイスの利用可能なデバイスリソースとより一致する前記リクエストされたコンテンツを提供する工程とをさらに包含する、請求項43に記載の方法。
  49. コンテンツによるオーガナイズおよびデバイスによるソート、デバイスによるオーガナイズおよびコンテンツによるソート、ならびに命名規則によるオーガナイズの少なくとも1つを含むパターンベースの規則を用いて、前記デバイスリソースに基づいて該コンテンツをオーガナイズする工程をさらに包含する、請求項48に記載の方法。
  50. リクエストするメディアデバイスの前記デバイス情報に基づいて、前記リクエストされたコンテンツを変更する工程をさらに包含する、請求項48に記載の方法。
  51. 前記リクエストされたコンテンツを前記デバイス情報に基づいて提供する工程は、リダイレクト配置戦略を用いる、請求項48に記載の方法。
  52. 前記デバイス情報に基づいて、前記リクエストされたコンテンツを提供する工程は、書き換え配置戦略を用いる、請求項48に記載の方法。
  53. 前記コンテンツのリクエストの各々は、前記メディアデバイスのそれぞれ1つと関連付けられた一意的識別子を含む、請求項43に記載の方法。
  54. 前記メディアデバイスの前記それぞれ1つに送信される、前記リクエストされたコンテンツをパーソナライズするために、前記メディアデバイスのそれぞれ1つと関連付けられた前記一意的識別子を用いる工程をさらに包含する、請求項53に記載の方法。
  55. 前記メディアデバイスの前記それぞれ1つにインターネットアクセスを提供するために、前記メディアデバイスのそれぞれ1つと関連付けられた前記一意的識別子を用いる工程をさらに包含する、請求項53に記載の方法。
  56. 前記データストアは、ローカルデータストアおよび外部データストアの少なくとも1つを含む、請求項43に記載の方法。
  57. 前記リクエストされたコンテンツをバイナリフォーマットにフォーマットする前記工程は、
    前記リクエストされたコンテンツを前記データストアから読み出し、かつ、該リクエストされたコンテンツのドキュメントオブジェクトモデルを生成する工程と、
    該ドキュメントオブジェクトモデルをバイナリフォーマットオブジェクトモデルに変換する工程と、
    該バイナリフォーマットオブジェクトモデルをバイナリフォーマットファイルに書き込む工程であって、該バイナリフォーマットファイルは、前記メディアデバイスに提供される、工程と、
    を包含する、請求項45に記載の方法。
  58. 前記リクエストされたコンテンツをバイナリフォーマットにフォーマットする工程は、
    該リクエストされたコンテンツを前記データストアから読み出し、かつ、該リクエストされたコンテンツのドキュメントオブジェクトモデルを生成する工程と、
    該ドキュメントオブジェクトモデルをバイナリフォーマットファイルに書き込む工程であって、該バイナリフォーマットファイルは、前記メディアデバイスに提供される、工程と
    を包含する、請求項43に記載の方法。
  59. 前記リクエストされた前記バイナリフォーマットのコンテンツは、前記メディアデバイスの前記メモリ内の前記リクエストされたコンテンツと実質的に同じである、請求項44に記載の方法。
  60. ファイルシステムのナビゲータページを生成する工程と、かつ、コンテンツのリクエストに応答して、該リクエストされたコンテンツとして該ナビゲータページを提供する工程とをさらに包含する、請求項43に記載の方法。
  61. 前記ナビゲータページは、マークアップ言語で生成される、請求項50に記載の方法。
  62. メモリを有するメディアデバイスから、コンテンツのコンテンツプロバイダシステムにアクセスする方法であって、
    コンテンツのリクエストを該コンテンツプロバイダシステムに送信する工程と、
    該リクエストされたコンテンツをバイナリフォーマットで受信する工程と、
    該リクエストされたコンテンツを読み出して、該リクエストされたコンテンツを前記メディアの前記メモリに配置する工程と、
    該リクエストされたコンテンツを該メディアデバイス上にレンダリングする工程と
    を包含する、方法。
  63. 前記リクエストされたコンテンツは、前記バイナリフォーマットで受信され、ビジュアルグラフによって表されるビジュアルエレメント、およびシーケンスグラフによって表されるビヘイビアエレメントを含み、該ビジュアルグラフおよび該シーケンスグラフは、該前記メディアエンジンによって別々にレンダリングするためのものである、請求項62に記載の方法。
  64. 前記リクエストされた前記バイナリフォーマットのコンテンツは、前記メディアデバイスの前記メモリ内の前記リクエストされたコンテンツと実質的に同じである、請求項63に記載の方法。
  65. 前記コンテンツプロバイダにデバイス情報を提供し、従って、前記リクエストされたコンテンツは、利用可能なデバイスリソースとより一致する工程をさらに包含する、請求項62に記載の方法。
  66. 前記コンテンツプロバイダシステムにデバイス情報を提供し、従って、前記リクエストされたコンテンツは、利用可能なデバイスリソースとより一致する工程は、リダイレクト配置戦略および書き換え配置戦略の1つを用いる、請求項65に記載の方法。
  67. 前記コンテンツのリクエストの各々は、前記メディアデバイスを識別する一意的識別子を含む、請求項62に記載の方法。
JP2002573403A 2001-03-21 2002-03-21 コンテンツをメディアデバイスに提供するための方法および装置 Pending JP2005507098A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US40256401P 2001-03-21 2001-03-21
US25497601P 2001-03-21 2001-03-21
US60/402,564 2001-03-21
US60/254,976 2001-03-21
US34122301P 2001-12-20 2001-12-20
US60/341,223 2001-12-20
PCT/CA2002/000430 WO2002076058A2 (en) 2001-03-21 2002-03-21 Method and apparatus for providing content to media devices

Publications (2)

Publication Number Publication Date
JP2005507098A true JP2005507098A (ja) 2005-03-10
JP2005507098A6 JP2005507098A6 (ja) 2005-06-16

Family

ID=32180436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002573403A Pending JP2005507098A (ja) 2001-03-21 2002-03-21 コンテンツをメディアデバイスに提供するための方法および装置

Country Status (7)

Country Link
EP (1) EP1374525B1 (ja)
JP (1) JP2005507098A (ja)
CN (1) CN100512277C (ja)
AU (1) AU2002242557A1 (ja)
BR (2) BRPI0208736B8 (ja)
CA (1) CA2441612C (ja)
MX (1) MXPA03008620A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220094941A1 (en) * 2020-09-23 2022-03-24 Nokia Technologies Oy Temporal Alignment of MPEG and GLTF Media

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2894831B1 (en) * 2005-06-27 2020-06-03 Core Wireless Licensing S.a.r.l. Transport mechanisms for dynamic rich media scenes
US9558285B2 (en) * 2010-09-14 2017-01-31 Accenture Global Services Limited Treatment controller
WO2012096671A1 (en) * 2011-01-14 2012-07-19 Research In Motion Limited Mobile media content delivery
US9680896B2 (en) 2011-01-14 2017-06-13 Blackberry Limited Mobile media content delivery
KR20140072075A (ko) * 2011-10-03 2014-06-12 톰슨 라이센싱 디지털 로커 시스템의 콘텐츠 제안들을 처리하기 위한 방법 및 장치
EP2825978B1 (en) 2012-03-13 2021-06-30 Google LLC System and method providing a binary representation of a web page

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6512520B1 (en) * 1997-07-31 2003-01-28 Matsushita Electric Industrial Co., Ltd. Apparatus for and method of transmitting and receiving data streams representing 3-dimensional virtual space

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220094941A1 (en) * 2020-09-23 2022-03-24 Nokia Technologies Oy Temporal Alignment of MPEG and GLTF Media
US11695932B2 (en) * 2020-09-23 2023-07-04 Nokia Technologies Oy Temporal alignment of MPEG and GLTF media

Also Published As

Publication number Publication date
BRPI0208736B8 (pt) 2019-01-29
AU2002242557A1 (en) 2002-10-03
CN1511405A (zh) 2004-07-07
BR0208736A (pt) 2004-12-07
CA2441612C (en) 2014-12-02
MXPA03008620A (es) 2007-06-25
EP1374525B1 (en) 2013-11-06
EP1374525A2 (en) 2004-01-02
CN100512277C (zh) 2009-07-08
CA2441612A1 (en) 2002-09-26

Similar Documents

Publication Publication Date Title
US8949461B2 (en) Method and apparatus for providing content to media devices
US8595186B1 (en) System and method for building and delivering mobile widgets
US9342321B2 (en) System and method for cross-platform applications on a wireless phone
CN101150803B (zh) 微浏览器处理网络数据的方法、微浏览器及其服务器
EP2351327B1 (en) System and method for accessing multi-media content via a mobile terminal
JP2001511562A (ja) データ通信
KR20080091424A (ko) 멀티미디어 장면의 폰트를 관리하는 방법, 대응하는 컴퓨터프로그램 및 단말
Britton et al. Transcoding: Extending e-business to new environments
US20040204073A1 (en) Network technology augmented user device framework
CN101346994A (zh) 优化多媒体场景的呈现的方法及相应的程序、信号、数据载体、终端和接收方法
Lemlouma et al. The negotiation of multimedia content services in heterogeneous environments
JP2005507098A (ja) コンテンツをメディアデバイスに提供するための方法および装置
JP2005507098A6 (ja) コンテンツをメディアデバイスに提供するための方法および装置
CA2710037C (en) A method and system for authoring mobile content in a slideshow or presentation application for direct delivery to a mobile device
WO2002076058A2 (en) Method and apparatus for providing content to media devices
KR100433366B1 (ko) 무선 단말기에 대한 정보 제공 시스템 및 이에 있어서의메뉴 페이지 생성 방법
Rischpater Wireless web development
KR20050108677A (ko) 플래시를 동적으로 생성 및 관리하기 위한 방법 및 이를위한 기록매체
KR20050040532A (ko) 3d 데이터 제공 방법 및 시스템
KR100472342B1 (ko) 양방향 통신으로 멀티미디어 메시지를 작성하는 방법
dos Santos Multimedia Data and tools for Web services over Wireless Platforms
CN101123621A (zh) 一种多维超链接的通讯方法和装置以及系统
EP1225748B1 (en) Communications terminal
BRPI0208736B1 (pt) A method and apparatus for delivering content to media devices
Tull WAP 2.0 Development

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080228

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080528

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080528

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080528

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080604

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080630

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080707

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080729

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080804

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080820