(57)【要約】エンハンスメントを記述するテキストベースのスクリプトファイルをパースすることによって、プラットフォーム依存のエンハンスメントファイルを生成する。このファイルを使用して、セットトップボックス、機能拡張テレビ、またはコンピュータディスプレイ上にエンハンスメントを生成することができる。スクリプトファイルはＸＭＬフォーマットであってよく、パーサはＸＳＬトランスレータであってよい。パーサは、他のアプリケーションからＨＴＭＬおよびジャバスクリプトをインポートすることができる。パーサは、ビデオおよびエンハンスメントを表示させるためのエミュレーション用のメディアプレイヤをサポートすることができる。エンハンスメントを提供するためのトリガデータをジャバスクリプト配列にフォーマットすることができる。トリガイベントを使用して、グラフィックポインタまたはテキスト値を置換することができる。それぞれが特定のプラットフォームをサポートする複数のパーサによって、単一のスクリプトファイルを複数のプラットフォーム上で使用することが可能になる。新しいプラットフォーム、または新しいバージョンのプラットフォームは、新しい、または更新されたパーサによってサポートされる。
2004519116.tif 000002
【特許請求の範囲】
【請求項１】
要素と前記要素の属性とを含む、プラットフォーム独立テレビエンハンスメントファイルを使用するステップと、
前記テレビエンハンスメントファイルをパースして、特定のプラットフォームを使って表示させることができる出力ファイルを生成するステップと
によってテレビエンハンスメントを生成する方法。
【請求項２】
前記プラットフォーム独立テレビエンハンスメントファイルがデータベース中に含まれ、そして、前記使用するステップにおいて、「使用する」という用語がアクセスすることを意味し、前記方法が、前記出力ファイルを保存するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記テレビエンハンスメントを作成する前記方法がプレゼンテーションであって、前記「使用する」という用語がアクセスすることを意味し、前記パースするステップが、
前記エンハンスメントファイルに第１のパーシングスクリプトを適用して、ウェブブラウザおよびメディアプレイヤを使って表示させることができる第１の出力ファイルを生成するステップと、そして、
前記エンハンスメントファイルに第２のパーシングスクリプトを適用して、セットトップボックスを使って表示させることができる第２の出力ファイルを生成するステップと
を含む、請求項１に記載の方法。
【請求項４】
使用するステップにおいて「使用する」という用語が編集することを意味して、前記編集することが前記要素および属性を指定し、前記方法がテレビエンハンスメントプレゼンテーションを作成するためのものであって、前記パースするステップが、
前記エンハンスメントファイルに第１のパーシングスクリプトを適用して、ウェブブラウザおよびメディアプレイヤを使って表示させることができる第１の出力ファイルを生成するステップと、そして、
前記エンハンスメントファイルに第２のパーシングスクリプトを適用して、セットトップボックスを使って表示させることができる第２の出力ファイルを生成するステップと
を含む、請求項１に記載の方法。
【請求項５】
前記エンハンスメントファイルが、
要素、トリガ、並びに、エンハンスメントファイル名およびエンハンスメントファイル作成日を含む管理情報のためのＸＭＬ準拠のタグをさらに含む、請求項３に記載の方法。
【請求項６】
前記テレビエンハンスメントファイルがテキストファイルである、請求項３に記載の方法。
【請求項７】
前記第１の出力ファイルをブラウザのウィンドウに表示するステップをさらに含む、請求項３に記載の方法。
【請求項８】
第２のパーシングスクリプトを適用する前記ステップが、
前記第２の出力ファイルのＨＴＭＬバージョンを指定するステップをさらに含む、請求項３に記載の方法。
【請求項９】
リンクが前記要素の少なくとも１つに関連付けられる、請求項３に記載の方法。
【請求項１０】
前記要素の前記属性が、
前記要素の少なくとも１つのＺオーダ値をさらに含む、請求項３に記載の方法。
【請求項１１】
前記第１のパーシングスクリプトがＸＳＬ変換ファイルである、請求項３に記載の方法。
【請求項１２】
前記第２のパーシングスクリプトがＸＳＬ変換ファイルである、請求項３に記載の方法。
【請求項１３】
前記第２の出力ファイルを記憶するステップをさらに含む、請求項３に記載の方法。
【請求項１４】
前記第２のパーシングスクリプトがＨＴＭＬコードを前記第２の出力ファイル中にインポートする、請求項３に記載の方法。
【請求項１５】
前記エンハンスメントファイルにアクセスするステップが、
データベースにアクセスするステップをさらに含む、請求項３に記載の方法。
【請求項１６】
前記第２のパーシングスクリプトが、カラー値を変換するように動作可能である、請求項３に記載の方法。
【請求項１７】
前記エンハンスメントファイルがＸＭＬに準拠する、請求項１または２に記載の方法。
【請求項１８】
前記パースするステップが、
前記エンハンスメントファイルにＸＳＬ変換を適用するステップをさらに含む、請求項１７に記載の方法。
【請求項１９】
前記パースするステップが、
前記要素のうちの１つに関連付けられているカラー値を変換するステップをさらに含む、請求項１７に記載の方法。
【請求項２０】
テレビエンハンスメントを発展するためのシステムであって、
コンピュータと、
データベースと、
ウェブブラウザと、そして、
前記データベース中に含まれる、プラットフォーム独立テレビエンハンスメントファイルをパースするように動作可能であり、そして、前記ブラウザを使用して表示させることができる出力ファイルを生成するように動作可能なパーサと
を含むシステム。
【請求項２１】
前記テレビエンハンスメントファイルがテレビ画像を表す要素を含む場合に、メディアプレイヤの表示を可能にするように動作可能なパーサコンポーネントをさらに含む、請求項２０に記載のシステム。
【請求項２２】
前記パーサが、特定のプラットフォームの出力ファイルを作成するように動作可能である、請求項２０に記載のシステム。
【請求項２３】
前記パーサが、前記テレビエンハンスメントファイル中に含まれる要素に関連付けられているカラー値を変換するように動作可能である、請求項２０に記載のシステム。
【請求項２４】
プラットフォームに特有のテレビエンハンスメントファイルを生成するためのパーサであって、
プロジェクト情報、要素の記述、前記要素の位置、および前記要素が提供される時間を含む、プラットフォーム独立テレビエンハンスメントファイルにアクセスする関数と、
前記プロジェクト情報を含むＨＴＭＬヘッダを作成する関数と、
前記要素がテキスト要素またはグラフィックス要素である場合に、ＨＴＭＬ出力ファイル中の分割タグの間に、前記要素の前記位置を置く関数と、
前記要素がインポートされた要素である場合に、前記要素に関連付けられているジャバスクリプトコードを挿入する関数と、
前記要素がテレビを表す場合に、ＨＴＭＬファイル中にメディアプレイヤを埋め込む関数と、
前記要素にアクセスできるアドレスを更新する関数と、そして、
ジャバスクリプト配列中において、トリガを作成し、そして、記憶する関数とを含むパーサ。
【請求項２５】
ＸＳＬに準拠する、請求項２４に記載のパーサ。
【請求項２６】
ＨＴＭＬコードをインポートする関数をさらに含む、請求項２４に記載のパーサ。
【請求項２７】
カラー値を変換する関数をさらに含む、請求項２４に記載のパーサ。
【請求項２８】
テレビプレゼンテーションエンハンスメントを作成する方法であって、
要素と、前記要素の属性と、少なくとも１つのイベントを指定するトリガ情報とを含む、プラットフォーム独立エンハンスメントファイルにアクセスするステップであって、前記エンハンスメントがビデオプレゼンテーションの少なくとも１つの画像と同期をとって提供されるところのステップと、
前記エンハンスメントファイルに第１のパーシングスクリプトを適用して、前記エンハンスメントを、前記少なくとも１つの画像と同期をとって、メディアプレイヤを埋め込んであるウェブブラウザ中に提供する第１の出力ファイルを生成するステップと、そして、
前記エンハンスメントファイルに第２のパーシングスクリプトを適用して、前記エンハンスメントを、前記少なくとも１つの画像と同期をとって、特定のテレビプラットフォーム上に提供する第２の出力ファイルを生成するステップと
を含む方法。
【請求項２９】
前記エンハンスメントファイルが、
要素、トリガ、並びに、ファイル名およびファイル作成日を含む管理情報のためのＸＭＬ準拠のタグをさらに含む、請求項２８に記載の方法。
【請求項３０】
前記エンハンスメントファイルがテキストファイルである、請求項２８に記載の方法。
【請求項３１】
前記第１の出力ファイルをブラウザのウィンドウに表示するステップをさらに含む、請求項２８に記載の方法。
【請求項３２】
第２のパーシングスクリプトを適用する前記ステップが、
前記第２の出力ファイルのＨＴＭＬのバージョンを指定するステップをさらに含む、請求項２８に記載の方法。
【請求項３３】
リンクが、前記要素の１つに関連付けられている、請求項２８に記載の方法。
【請求項３４】
前記要素の前記属性が、
前記要素の少なくとも１つのＺオーダ値をさらに含む、請求項２８に記載の方法。
【請求項３５】
前記第１のパーシングスクリプトがＸＳＬ変換ファイルである、請求項２８に記載の方法。
【請求項３６】
前記第２のパーシングスクリプトがＸＳＬ変換ファイルである、請求項２８に記載の方法。
【請求項３７】
前記エンハンスメントファイルが交換テキスト関数を含む、請求項２８に記載の方法。
【請求項３９】
前記第２のパーシングスクリプトがＨＴＭＬコードを前記第２の出力ファイルにインポートする、請求項２８に記載の方法。
【請求項４０】
前記エンハンスメントファイルにアクセスするステップが、
ユーザ／プロジェクト管理情報、ページレイアウト情報、およびトリガ作成情報を含むデータベースにアクセスするステップをさらに含む、請求項２８に記載の方法。
【請求項４１】
前記プラットフォーム独立エンハンスメントファイルを編集して、要素および前記要素の属性を指定するステップをさらに含む、請求項２８に記載の方法。
【請求項４２】
前記第１のパーシングスクリプトが、要素のリストを走査し、そして、テキストエリアタグを有する要素については交換テキスト関数を生成するルーチンを含む、請求項２８に記載の方法。
【請求項４３】
前記第２のパーシングスクリプトが、前記特定のテレビプラットフォームに応じてカラー値を変換する関数を含む、請求項２８に記載の方法。
【請求項４４】
プラットフォームに特有のテレビエンハンスメントファイルを生成するパーサであって、
プロジェクト情報、要素の記述、前記要素の位置、および前記要素が提供される時間を含む、プラットフォーム独立テレビエンハンスメントファイルにアクセスする関数と、
前記プロジェクト情報を含むＨＴＭＬヘッダを作成する関数と、
前記要素がテキスト要素またはグラフィックス要素である場合に、ＨＴＭＬ出力ファイル中の分割タグの間に、前記要素の前記位置を置く関数と、
前記要素がインポートされた要素である場合に、前記要素に関連付けられているジャバスクリプトコードを挿入する関数と、
前記要素がテレビを表す場合に、ＨＴＭＬファイル中にメディアプレイヤを埋め込む関数と、
前記要素にアクセスできるアドレスを更新する関数と、そして、
ジャバスクリプト配列中において、トリガを作成し、そして、記憶する関数とを含むパーサ。
【請求項４５】
ＸＳＬに準拠する、請求項４４に記載のパーサ。
【請求項４６】
ＨＴＭＬコードをインポートする関数をさらに含む、請求項４４に記載のパーサ。
【請求項４７】
要素のリストを走査し、そして、テキストエリアタグを有する要素については交換テキスト関数を生成するルーチンをさらに含む、請求項４４に記載のパーサ。
【請求項４８】
要素と、前記要素の属性と、少なくとも１つのイベントを指定するトリガ情報とを含む、プラットフォーム独立エンハンスメントファイルを含むデータベースにアクセスするステップであって、前記エンハンスメントがビデオプレゼンテーションと同期をとって提供されるところのステップと、
複数のパーシングプログラムから１つのパーシングプログラムを選択するステップであって、各パーシングプログラムが特定のプラットフォームをサポートするところのステップと、
前記１つのパーシングプログラムを用いて、前記プラットフォーム独立エンハンスメントファイルをパースして、特定のプラットフォームを用いて表示させることができる出力ファイルを生成するステップと、そして、
前記出力ファイルを保存するステップと
によって生成されるテレビエンハンスメント。
【請求項４９】
前記エンハンスメントファイルがＸＭＬに準拠する、請求項４８に記載のテレビエンハンスメント。
【請求項５０】
前記パースするステップが、前記エンハンスメントファイルにＸＳＬ変換を適用するステップをさらに含む、請求項４８記載のテレビエンハンスメント。
【請求項５１】
テレビエンハンスメントを発展するためのシステムであって、
コンピュータと、
データベースと、
ウェブブラウザと
前記データベース中に含まれる、プラットフォーム独立エンハンスメントファイルをパースし、そして、前記ブラウザを使用して表示させることができる出力ファイルを生成する第１のパーサと、そして、
前記データベース中に含まれる、前記プラットフォーム独立エンハンスメントファイルをパースし、そして、特定のテレビプラットフォームを使用して表示させることができる出力ファイルを生成する第２のパーサと
を含むシステム。
【請求項５２】
前記エンハンスメントファイルがテレビ画像を表す要素を含む場合に、前記ブラウザ中にメディアプレイヤを埋め込むコンポーネントをさらに含む、請求項５１に記載の第１のパーサ。
【請求項５３】
前記パーサが要素のリストを走査し、そして、テキストエリアタグを有する要素については交換テキスト関数を生成する、請求項５１に記載のシステム。
【請求項５４】
前記テレビエンハンスメントファイルが、
メディアプレイヤの画面上の場所を指定する要素をさらに含む、請求項５２に記載のパーサ。
【発明の詳細な説明】
【０００１】
（関連出願の相互参照）
本出願は、２０００年８月２１に出願された、Ｓｔｅｖｅ  Ｏ．Ｍａｒｋｅｌによる「Ａ  ＤＡＴＡ  ＤＲＩＶＥＮ  ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＤＩＳＴＲＩＢＵＴＩＯＮ  ＯＦ  ＩＮＴＥＲＡＣＴＩＶＥ  ＣＯＮＴＥＮＴ  ＴＯ  ＭＵＬＴＩＰＬＥ  ＴＡＲＧＥＴＥＤ  ＰＲＥＳＥＮＴＡＴＩＯＮ  ＰＬＡＴＦＯＲＭＳ（複数のターゲットプレゼンテーションプラットフォームに対話型コンテンツを配布するためのデータ駆動によるシステムおよび方法）」という名称の米国仮出願第６０／２２７，０６３号に基づき、その優先権を主張するものである。同出願の開示全体を、同出願が開示し教示しているすべてについて、参照により特に本明細書に組み込む。
【０００２】
（背景）
ａ．分野
本開示は、対話型の機能拡張テレビに関し、より詳細には、再編集することなく複数のプラットフォーム上で使用することができる、機能拡張コンテンツを生成する方法およびシステムに関する。この開示では、対話型コンテンツを複数のターゲットプレゼンテーションプラットフォームに配布するためのシステムおよび方法を詳説している。
【０００３】
ｂ．背景の説明
テレビ番組は、番組を機能拡張するために、または視聴者の対話を可能にするために使用する追加情報を伴うことがある。従来、エンハンスメントには字幕および多言語サポートが含まれる。ネットワーキング、コンピュータシステム、およびビデオ生成の進歩によって、番組または広告と共に提供することができるエンハンスメントの数および種類が増えている。エンハンスメントには、株価の更新、ニュース記事、インターネットリンク、天気予報、掲示板、統計、雑学、およびその他の情報が含まれる。例えば、フットーボールの試合は、チームの選手、統計、雑学、および次回の試合などのその他の情報を表示することを可能にするアイコンを含むことがある。さらに、ケーブルおよび衛星テレビシステムにおいて使用できるセットトップボックスの出現によって、例えばスクリーンオーバレイやウィンドウなど、新しい方法でエンハンスメント情報を提示することが可能になっている。
【０００４】
機能拡張テレビのコンテンツは、ＨＴＭＬ（ハイパーテキストマークアップ言語）、ジャバスクリプト、ジャバ、およびインターネットのページ表示に一般的なその他のフォーマットを組み合わせて使用することができる。機能拡張表示は、テレビ画像上またはその近くに配置される、テキスト、アイコン、グラフィックス、および画像を含むことができる。機能拡張表示を生成するためには、作者は、表示される要素（テキスト、アイコン、グラフィックス、画像）のそれぞれ、各要素が表示される場所、および要素を表示することができる時間を識別するファイルを作成しなければならない。例えば、セットトップボックス、衛星放送受信機、コンピュータ、または対話型テレビなどのプレゼンテーションプラットフォーム間で相違点が多いために、従来、コンテンツプロバイダは、エンハンスメントアプリケーションの発展において、特定のプラットフォームを選択する必要がある。対話型コンテンツのプロバイダは、追加プラットフォームのそれぞれに対してサポートを提供するために、既存のアプリケーションに相当の修正を加えなければならない可能性があり、その結果、複数のコード・ベースを維持し続けなければならず、また、複数のプラットフォーム用の機能拡張ページレイアウトを生成するのに必要な時間と経費が増すことになる。
【０００５】
さらに、機能拡張ページのレイアウトを含む要素を生成して位置付けるために必要とされる、パラメータを入力するために使用されているこれまでの方法は、大量の手作業入力を必要とする。エンハンスメントファイルの手作業による編集では、意図せぬ変更が行われる場合もあるため、複数プラットフォーム上でエンハンスメントが一様ではない。したがって、複数のプラットフォーム上での使用を可能にし、かつエンハンスメントの正確なプレビューを提供する、機能拡張コンテンツを作成するための新しい方法が必要とされている。
【０００６】
（発明の概要）
本発明は、テキストベースのスクリプトエンハンスメントファイルをパースして、エンハンスメントのエミュレーションを提供し、またプラットフォームに特有のエンハンスメントファイルを出力するシステムおよび方法を提供することによって、従来技術の欠点および限界を克服するものである。ＸＭＬフォーマットを使用している場合もあるエンハンスメントファイルは、要素の位置、属性、トリガリングおよびリンケージを始めとする、エンハンスメントの説明を含む。リンケージはファイルを要素に関連させて、ユーザが、リンクされているオブジェクトを選択して、ウェブサイトにアクセスし、その他のアプリケーションを立ち上げ、またはその他のタスクを実施することができるようにする。エンハンスメントファイルをパースすることによって、特定のプラットフォームをターゲットとする出力ファイルが生成される。プラットフォームには、セットトップボックス、対話型テレビ、またはコンピュータのディスプレイを含めることができる。コンピュータディスプレイ用にパースされたファイルは、エンハンスメントのエミュレーションおよびプレビューのために使用することができ、また、ブラウザメディアプレイヤを制御するための関数を含むことができる。
【０００７】
したがって、本発明は、要素および要素の属性を含む、プラットフォーム独立エンハンスメントファイルにアクセスするステップ、エンハンスメントファイルに第１のパーシングスクリプトを適用して、ウェブブラウザおよびメディアプレイヤを使って表示させることができる第１の出力ファイルを生成するステップ、およびエンハンスメントファイルに第２のパーシングスクリプトを適用して、セットトップボックスを使って表示させることができる第２の出力ファイルを生成するステップを含むテレビプレゼンテーションエンハンスメントを作成する方法を含むことができる。
【０００８】
ＸＳＬ（拡張スタイルシート言語）スクリプトを使って、ＸＭＬフォーマットのエンハンスメントファイルをパースすることができる。本発明では、管理情報、レイアウト情報、およびトリガ情報のためのタグ付きＸＭＬファイルを使用している。ＸＭＬファイルをパースして、ＨＴＭＬおよびジャバスクリプトコードを含む出力ファイルを生成することができる。この場合、ＨＴＭＬおよびジャバスクリプトのバージョンが、ターゲットプラットフォームによって提供されるサポートのレベルを反映している。さらに、出力ファイルを、エンハンスメントトランスポートのモードに合わせてフォーマットすることができる。第１のトランスポートモードでは、エンハンスメントおよびトリガが、ビデオ番組に関連して供給される。第２のトランスポートモードでは、トリガ、およびＵＲＬなどのロケータが、ビデオ番組に関連して提供され、プラットフォームは、ロケータを使用してエンハンスメント情報にアクセスする。
【０００９】
本発明は、コンピュータ、データベース、ウェブブラウザ、および、データベース中に含まれるプラットフォーム独立エンハンスメントファイルをパースするように、また、ブラウザを使って表示させることができる出力ファイルを生成するように動作可能なパーサを含む、テレビエンハンスメントを発展するためのシステムをさらに含むことができる。
【００１０】
有利には、本発明は、パーソナルコンピュータまたは同様の機器を使用して、エンハンスメントファイルの表示およびエミュレーションを提供する。これによって、開発者および評価者のチームは物理的に離れていることが可能になり、また、エンハンスメントの顧客（広告主など）は、単にウェブサイトにアクセスするだけで、マテリアルをプレビューすることができる。
【００１１】
（発明の詳細な説明）
機能拡張テレビコンテンツは、一般に、ＨＴＭＬ、ジャバスクリプト、ジャバおよびその他のウェブ技術を組み合わせて使用して提示する。これらの技術に対するサポートのレベルは、クライアントハードウェア、オペレーティングシステム、ウェブブラウザおよびアドオンソフトウェアの組合せを含めて、ターゲットとするプレゼンテーションプラットフォームによって異なる。プレゼンテーションプラットフォームは、セットトップボックス、対話型テレビ、コンピュータ、または、テレビ信号を受信するように、またＨＴＭＬおよびその他のコードを処理するように、また、テレビ画像およびエンハンスメントを含む表示を生成するように動作可能なその他のシステムを含む。機能は、特定のプラットフォームによって異なる。機能によっては存在することもしないこともあり、あるいは、特注機構を使用することによって所与のプラットフォーム上で最適化されることもある。可変なものとしては、例えば、画面サイズおよび解像度、許容可能な色の配合、グラフィックスのサポート、およびＨＴＭＬやジャバスクリプトのバージョンが挙げられる。インターネットや無線ハンドヘルド装置を同時にサポートする場合は、さらなる要件および依存が伴う。本発明は、エンハンスメントアセット、それらの場所およびその他の属性、およびトリガリング情報を完全に定義する、プラットフォーム独立テキストベースのスクリプトファイルを使用することによって、それぞれが特定の１組の機能を有する、複数のプラットフォームをサポートするという困難を克服している。この場合、ソフトウェアをパースして、特定のプラットフォームに適合させたＨＴＭＬおよびジャバスクリプトコードを含む、プラットフォーム依存ファイルを生成することによって、このテキストベースのスクリプトファイルが変換される。本発明はまた、ウェブブラウザおよびメディアプレイヤをターゲットとする変換を可能にし、それによってつくったエンハンスメントのエミュレーションおよびプレビューが提供される。
【００１２】
図１は、市販されている一群のセットトップボックス製品に対するＨＴＭＬおよび画像のサポートを示す図である。セットトップボックスのモデル１００は、ＨＴＭＬサポート１０２および画像サポート１０４を提供する。ＨＴＭＬサポート１０２には、ＨＴＭＬのバージョン１．０、２．０、および３．２に対するサポートが記載されている。ＨＴＭＬの限界は、バージョンによっては下方互換性に欠けるものがあることである。例えば、ＨＴＭＬのバージョン４以上は、ＨＧＭＬ３．２のすべてのタグをサポートしていない。図１は、機能拡張コンテンツを作成するＨＴＭＬベースの作者が、広範にわたるターゲットプラットフォームをサポートできないことを示している。本発明は、各プラットフォームタイプについてＸＳＬスクリプトを使ってパースすることができるＸＭＬファイルを生成するオーサリング・ツールを使用して、各プラットフォームに適したＨＴＭＬコードおよびジャバスクリプトを生成することにより、ＨＴＭＬベースのオーサリングの欠点を克服している。
【００１３】
図２は、本発明の環境を示す。環境２００は、ユーザ／プロジェクト管理情報２０２を含むデータベース２０８、ページレイアウト情報２０４、およびトリガ作成情報２０６を含む。ＸＭＬファイル２１０は、データベース２０８からの情報を使って作成される。インポートＸＳＬ２１２を使用して、ＨＴＭＬおよびジャバスクリプトをＸＭＬファイル２１０に変換することができる。エミュレータＸＳＬ２１４は、ＸＭＬファイル２１０をＨＴＭＬおよびジャバスクリプトに変換し、エミュレーションおよびプレビューのためにメディアプレイヤ制御を行う。ＳＴＢには拘らないスニッファＸＳＬ２１６は、エンハンスメント情報を要求しているプラットフォームのタイプを判定するためのプラットフォームクエリルーチンを含む。ＷｅｂＴＶ（商標）ＸＳＬ２１８は、ＷｅｂＴＶプラットフォームに互換性がある変換を行う。ＡＯＬＴＶ（商標）ＸＳＬ２２０は、ＡＯＬＴＶプラットフォームに互換性がある変換を行う。トリガＸＳＬ２２２は、エンハンスメントの表示の同期をとるために使用できる、テレビプレゼンテーションとともに伝送することが可能なトリガを提供する。エンハンスメント情報は、そのテレビプレゼンテーションとともに伝送することもできるし、あるいは、プラットフォームが、トリガ情報に応答してアクセスすることもできる。変換されたファイルは、サーバ２２４に記憶することができる。
【００１４】
図３は、ＸＭＬファイルをパースして、エンハンスメントをエミュレートし、プレビューする概略流れ図である。図３に示すプロセスステップは、以下の図において詳細に説明する。パーシングプロセス３００はステップ３０２で開始し、そこでは、プロジェクト名、ページ名、日付、時間、およびその他の情報を示すコメントを挿入する。この情報は、このパーシングプロセスによって生成される、結果としてのＨＴＭＬ／ジャバスクリプトファイルのヘッダの一部を形成する。ステップ３０４で、エンハンスメントを含む要素のリストを走査し、またジャバスクリプトのタグがあるかどうかを調べる。ジャバスクリプトのタグが見つかった場合には、そのジャバスクリプトを出力ファイル中に置く。ステップ３０６で、トリガタグを抽出し、トリガデータをソートし、時間、要素、新しい要素値を含むジャバスクリプトトリガ配列を作成する。この配列は、エミュレーションの間、参照される。ステップ３０８で、要素のリストを走査し、テキストエリアタグを有する要素については、テキスト値を変更する関数を生成する。この関数は、例えばトリガイベントに応答して、テキストエリア中のテキストを変更することを可能にする。ステップ３１０で、要素のリストを走査し、ソース値を変更する関数をグラフィックス要素に適用する。ステップ３１２で、トリガ配列を参照するコード、および個々の関数を挿入する。ステップ３１４で、ブラウザウィンドウが開かれたときに実行されるコードを挿入する。ステップ３１６で、要素のリストを走査し、インポートされたＨＴＭＬタグ要素が見つかった場合には、その値を抽出して出力ファイル中に置く。ステップ３１８で、停止、再生、一時停止、およびタイマを含めて、メディアプレイヤをサポートするコードを出力ファイルに書く。ステップ３２０で、ＸＭＬソースファイル中に「ＴＶ」オブジェクトが存在する場合には、メディアプレイヤオブジェクトを出力ファイル中に置く。グラフィックス要素は、「ｉｍｇ」タグを有する出力ファイル中に置かれ、テキスト要素は、テキストタグを有する出力ファイル中に置かれる。ウェブブラウザは、上記パーシングプロセスによって作成された出力ファイルにアクセスすることができ、また、エンハンスメントを表示することができる。エンハンスメントがテレビ画像に関連している場合には、メディアプレイヤモジュールによって、ビデオ画像の表示に関連して表示することができる。このモジュールは、メディアプレイヤが、エンハンスメントとともにビデオシーケンスを提示することができるようにする。メディアプレイヤは一時停止、停止、開始させることができ、またはユーザが特定のフレームまたは表示時間に行くことができる。以下の図では、ＸＭＬソースファイルをパースする際に使用するステップを、より詳細に説明する。
【００１５】
図４は、パーシングプロセスの一部の第１の流れ図を示す。プロセス４００はステップ４０２で開始し、そこで、ＸＭＬファイルの各ページについて、ループプロセスが開始する。ページループ４０４は、さらなる１ページまたは複数ページが残っている場合に、プロセスにリターンパスを提供する。ステップ４０６で、オープンタグ、＜ＨＴＭＬ＞および＜ＨＥＡＤ＞を書く。ステップ４０８で、ページ名を用いて＜ＴＩＴＬＥ＞タグを書く。ステップ４１０で、所有権および連絡先のコメント情報を書くことができる。ステップ４１２で、プロジェクト名のコメントを書くことができる。ステップ４１４で、ページ名のコメントを書くことができる。ステップ４１６で、作者のコメントを書くことができる。ステップ４１８で、そのＸＭＬファイルを作成した日付を表すコメントを書くことができる。ステップ４２０で、注釈のコメントを書くことができる。ステップ４２２で、ジャバスクリプトタグ付けプロセスが開始する。ステップ４２４で、そのＸＭＬファイルから要素にアクセスし、その要素を調べて、インポートタイプかどうかを判定する。要素がインポートタイプではない場合には、プロセスはステップ４２２に戻り、そこで別の要素にアクセスする。すべての要素にアクセスし終わると、プロセスはステップ４３４に進む。ステップ４２４の結果、アクセスした要素がインポートタイプであった場合には、ステップ４２６で、スクリプト言語がジャバスクリプトであることを表す言語仕様を書く。ステップ４２８で、ＸＭＬファイルの「ｊｓ」タグ内の内容を書く。ステップ４３０で、クローズタグ＜／ｓｃｒｉｐｔ＞を書く。ステップ４３２で、処理はステップ４２２に進み、さらなる要素にアクセスする。すべての要素にアクセスし終わると、処理はステップ４３４に進む。ステップ４３４で、トリガのエミュレーションのためのジャバスクリプト変数ステートメントを書く。ステップ４３６で、トリガの配列のオープンタグを書く。ステップ４３８で、処理ループを開始する。ステップ４３８で、ループが実行されるたびに、時間順のトリガ情報にアクセスする。ステップ４４０で、トリガ時間に１０００を乗じた値を書く。ステップ４４２で、トリガが作用する要素名を書く。ステップ４４４で、各トリガに関連するパラメータを書く。ステップ４４６で、現在のページについて、さらなるトリガ情報にアクセスできるかどうかを調べる。さらなる情報にアクセスできる場合には、処理はステップ４３８に進む。すべてのトリガ情報にアクセスし終わると、処理はステップ４４８に進み、そこで、トリガ配列の終わりを表す値を書く。ステップ４５０は、図５に示すステップに続く。
【００１６】
図５は、パーシングプロセスの第２の流れ図を示す。ステップ５０２は、図４に示すステップからの続きである。ステップ５０４で、処理ループは、現在のページの各要素にアクセスする。ステップ５０６で、要素がテキスト要素であるかどうかを調べる。要素がテキスト要素の場合には、ステップ５０８で、テキストエリア内のテキスト値を変更する関数を書く。次いで、処理はステップ５１４に進む。ステップ５０６で、要素がテキスト要素ではないと判定すると、ステップ５１０で、その要素がグラフィックス要素であるかどうかを調べる。その要素がグラフィックス要素の場合には、ステップ５１２で、画像フィールド内のソース値を変更する関数を書く。次いで、処理はステップ５１４に進む。ステップ５１０で、要素がグラフィックス要素ではないと判定した場合には、処理はステップ５１４に進む。ステップ５１４で、さらなる要素が残っている場合には、処理はステップ５０４に進む。すべての要素にアクセスし終わると、処理はステップ５１６に進む。ステップ５１６で、スクリプトのクローズタグを書く。次いで、ステップ５１８で、スクリプト言語がジャバスクリプトであることを表すスクリプト言語タグを書く。ステップ５２０で、メディアプレイヤのセットアップ変数を書く。次いで、ステップ５２２で、数値秒数をＡＳＣＩＩ文字列に変換する。ステップ５２４で、メディアプレイヤの開始、停止、および一時停止制御を扱う関数を書く。ステップ５２６で、時間表示の関数を書く。時間表示を使って、メディアプレイヤによって示されるビデオシーケンスの時間を表すことができる。ステップ５２８で、メディアプレイヤの「再生」ボタンを選択するイベントコードを書く。ステップ５３０で、メディアプレイヤの「停止」ボタンを選択するイベントコードを書く。ステップ５３２で、メディアプレイヤの「プレビュー」ボタンを選択するイベントコードを書く。ステップ５３４で、エミュレーションウィンドウが開かれたときに実行されるイベントコードを書く。ステップ５３６で、スクリプト終了タグを書く。ステップ５３８で、ヘッド終了タグを書く。ステップ５４０で、ウィンドウロード用イベントハンドラを使って「ボディ」タグを書く。ステップ５４２から図６に示すステップに進む。
【００１７】
図６は、パーシングプロセスの第３の流れ図を示す。ステップ６０２は、図５に示すステップからの続きである。ステップ６０４で、処理ループは、各ページ内の各要素にアクセスする。ステップ６０６で、要素がインポートタイプであるかどうかを調べる。要素がインポートタイプではない場合には、処理はステップ６０４に進み、そこで次の要素にアクセスする。すべての要素にアクセスし終わると、処理はステップ６１６に進む。ステップ６０６で、要素がインポートタイプであると判定すると、ステップ６０８で、分割タグ（＜ｄｉｖ＞）を書き込み、要素名、絶対位置、左上位置、およびＺインデックスを含むボディコードを書く。Ｚインデックス値を使用して、要素を提供する順番を制御して、ある要素が別の要素の最上部に現れるようにすることができる。ステップ６１０で、「ｈｔｍｌＢｏｄｙ」タグの内容を書く。次いで、ステップ６１２で、終了＜ｄｉｖ＞タグを書く。ステップ６１４で、すべての要素にアクセスし終わっていない場合には、処理はステップ６０４に進む。すべての要素にアクセスし終わると、処理はステップ６１６に進む。ステップ６１６で、メディアプレイヤの複数ポジショニングボタンのための分割タグを書く。ステップ６１８で、ポジショニングボタンを用いた＜ｔａｂｌｅ＞コードを書く。ステップ６２０で、終了＜ｄｉｖ＞タグを書き、ステップ６１６で開始した分割のマークを解除する。ステップ６２２で、処理ループは各ページ内の各要素にアクセスする。ステップ６２４で、要素タイプがグラフィックスであるかどうかを調べる。要素がグラフィックス要素の場合には、ステップ６２６で、要素名、絶対位置、左上位置、およびＺインデックスを含むＨＴＭＬボディコードの分割タグを書く。ステップ６２８で、その要素のＵＲＬ（ユニバーサルリソースロケータ）が存在するかどうかを調べる。ＵＲＬが存在する場合には、ステップ６３０で、ＵＲＬのＨＴＭＬタグを書く。次いで、ステップ６３２で、要素名、ｂｏｒｄｅｒ＝０、およびソースを用いて「ｉｍｇ」タグを書く。ソースは、グラフィックス要素が記憶されている場所のアドレスである。次いで、処理はステップ６４４に進む。ステップ６２８で、要素のＵＲＬが存在しないと判定した場合には、ステップ６３２で、要素名、ｂｏｒｄｅｒ＝０、およびソースを用いて「ｉｍｇ」タグを書く。次いで、処理はステップ６４４に進む。ステップ６２４で、要素がグラフィックス要素ではないと判定した場合には、処理はステップ６３４に進む。ステップ６３４で、要素が「ｔｖ」タイプであるかどうかを調べる。要素が「ｔｖ」タイプである場合には、ステップ６３６で、要素名、絶対位置、左上位置、およびＺインデックスを含むＨＴＭＬボディコードの分割タグを書く。ステップ６３８で、メディアプレイヤを埋め込むためのコードを書く。次いで、処理はステップ６４４に進む。ステップ６３４で、要素が「ｔｖ」タイプの要素ではないと判定した場合には、処理はステップ６４０に進み、そこで、その要素がテキストエリア要素であるかどうかを調べる。要素がテキストエリア要素である場合には、ステップ６４２で、要素名、絶対位置、左上位置、Ｚインデックス、フォント、色、およびポイントサイズを含むＨＴＭＬボディコードの分割タグを書く。次いで、処理はステップ６４４に進む。ステップ６４０で、要素がテキストエリア要素ではないと判定した場合には、処理はステップ６４４に進む。ステップ６４４で、アクセスしていない要素が残っている場合には、処理はステップ６２２にループバックする。残っていない場合には、処理はステップ６４６に進む。アクセスしていないページが残っている場合には、処理はステップ６４８に進み、そこで、プロセスは図４のステップ４０４にループバックして、次のページにアクセスする。すべてのページにアクセスし終わると、ステップ６５０で、クローズタグ、＜ｂｏｄｙ＞＜ｈｔｍｌ＞を書き、ステップ６５２でプロセスは終了する。
【００１８】
図７は、あるエンハンスメントのコンピュータ表示を示す。付録Ａに、図７に示すエンハンスメントを作成するために使用した要素を記述している、ＸＭＬフォーマットを使用したテキストベースのスクリプトファイルを記載してある。付録Ｂには、図３から６で説明したプロセスによって付録Ａのコードから生成した、ジャバスクリプトを使ったＨＴＭＬファイルを記載してある。付録Ｂは、図３に示すステップにコードセクションを関係させる、セクション識別子を含む。
【００１９】
操作においては、ユーザは、編集システムにログインし、プロジェクトを作成し、次いで、機能拡張コンテンツページをレイアウトし、それらのページのトリガを作成する。データベースは、ページおよびトリガを含み、また、プロジェクト名、作成日、およびその他の情報を含む場合もあるプロジェクト情報を記憶する。データベース中の情報を使用して、各要素、その属性、そのレイアウト、および要素のトリガリングを記述するテキストベースのスクリプトファイルを作成する。本発明の一実施形態では、ＸＭＬファイルを使用している。このファイルは、出力プラットフォームに依存せず、アセット、それらの位置およびその他の属性、およびその機能拡張コンテンツプロジェクトに必要なトリガリング情報を完全に定義する。次いで、例えばＨＴＭＬ４．０やジャバスクリプト１．２などの別のフォーマットに「翻訳」する、１つまたは複数のＸＳＬルールベースのパーサを使って、ＸＭＬファイルを処理する。図２に示すように、ＸＳＬパーサは、エミュレーション、およびプラットフォームに特有の出力ファイルの作成のために使用する。特定のプラットフォーム用のエンハンスメントファイルのパーシングは、カラー値の変換を含む場合がある。プラットフォームによっては、純色を表示しないものがあるため、カラー値のチェックおよびカラー値の変更を行うためのルックアップテーブルや変換アルゴリズムを使用する場合がある。図３から６に示すプロセスは、ともにマイクロソフト社の製品である、マイクロソフトインターネットエクスプローラおよびウィンドウズメディアプレイヤなど、業界標準のウェブブラウザおよびメディアプレイヤ上で実行することができるＨＴＭＬおよびジャバスクリプト出力ファイルを生成する。ＸＳＬに関するさらなる情報は次の本から得られる。
【００２０】
書名：Ｐｒｏｆｅｓｓｉｏｎａｌ  ＸＳＬ
著者：Ｋｕｒｔ  Ｃａｇｌｅら
発行元：Ｗｒｏｘ  Ｐｒｅｓｓ  Ｉｎｃ．
ＩＳＢＮ：１８６１００３５７９
書名：ＸＳＬ  Ｃｏｍｐａｎｉｏｎ
著者：Ｎｅｉｌ  Ｂｒａｄｌｅｙ
発行元：Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ  Ｐｕｂ  Ｃｏ
ＩＳＢＮ：０２０１６７４８７４
上記の説明では、作成したエンハンスメントを変更する必要なしに、プラットフォーム独立エンハンスメントファイルをプラットフォーム依存ファイルに変換し、それによって時間とお金を節約し、かつ複数のプラットフォーム上のエンハンスメントの一様性を図ることができるシステムおよび方法を提供している。図に示すステップは、示してある通りの順番で実行する必要はない。説明した実施形態ではＸＭＬファイルフォーマットを使用している。しかし、公用でもプロプラエタリでも、その他のフォーマットを使用して、エンハンスメント、およびエンハンスメントを含む要素の属性を記述することができる。エンハンスメント出力ファイルは、様々なエンハンスメントデータ配布方法を使用する可能性があるテレビ放送の機能拡張を可能にする。第１の方法は、エンハンスメントデータを放送の一部として転送する。第２の方法は、放送とともにトリガおよびロケータを転送し、セットトップボックスまたはその他のプラットフォームがそのロケータを使用してエンハンスメント情報にアクセスする。第２の転送方法は、エンハンスメントデータを要求しているプラットフォームのタイプを識別する情報を受け取る（プラットフォームがロケータにアクセスしたときに）ステップ、および要求しているプラットフォームに適合させたエンハンスメント情報を提供するステップをさらに含むことができる。新しい、または修正されたパーサを使用して、新しいプラットフォームまたは新しいバージョンのプラットフォームをサポートすることができる。この場合、新しいまたは修正されたパーサを、修正する必要がない複数のソースエンハンスメントファイルに適用することができる。このようにして、本発明は、新しいプラットフォームまたは新しいバージョンのプラットフォームのサポートにおいてコストの節約ができるようにする。
【００２１】
本発明の上記の記載は、例示および説明の目的で提示したものであり、本発明を網羅すること、あるいは本発明を開示の形態通りに限定することを意図したものではない。上述の教示を鑑みれば、その他の変更および変形も可能である。上記実施形態は、本発明の原理およびその実際的な応用を最もよく説明し、それによって、当業者が、考えられた特定の用途に適した様々な実施形態および様々な修正形態で、本発明を最もよく利用できるようにするために選択して説明したものである。頭記の特許請求の範囲は、従来技術により限定される範囲を除き、本発明のその他の代替実施形態を含むものとして解釈されるべきものである。
【００２２】
付録Ｂ
この付録は、本発明のパーサを使って、付録Ａに記載のＸＭＬファイルから生成したコードを示す。太字で示してあるステップは、図３に示すステップを指す。
【図面の簡単な説明】
【図１】
市販されている一群のセットトップボックス製品に対する、ＨＴＭＬおよび画像のサポートを示す図である。
【図２】
本発明のソフトウェア環境を示す図である。
【図３】
ＸＭＬファイルをパースして、エンハンスメントをエミュレートし、プレビューする概略流れ図である。
【図４】
パーシングプロセスの一部の第１の流れ図である。
【図５】
パーシングプロセスの第２の流れ図である。
【図６】
パーシングプロセスの第３の流れ図である。
【図７】
エンハンスメントのコンピュータ表示を示す図である。
【図１】
2004519116.tif 000003
【図２】
2004519116.tif 000004
【図３】
2004519116.tif 000005
【図４】
2004519116.tif 000006
【図５】
2004519116.tif 000007
【図６】
2004519116.tif 000008
【国際公開パンフレット】
2004519116.tif 000009
2004519116.tif 000010
2004519116.tif 000011
2004519116.tif 000012
2004519116.tif 000013
2004519116.tif 000014
2004519116.tif 000015
2004519116.tif 000016
2004519116.tif 000017
2004519116.tif 000018
2004519116.tif 000019
2004519116.tif 000020
2004519116.tif 000021
2004519116.tif 000022
2004519116.tif 000023
2004519116.tif 000024
2004519116.tif 000025
2004519116.tif 000026
2004519116.tif 000027
2004519116.tif 000028
2004519116.tif 000029
2004519116.tif 000030
2004519116.tif 000031
2004519116.tif 000032
2004519116.tif 000033
2004519116.tif 000034
2004519116.tif 000035
2004519116.tif 000036
2004519116.tif 000037
2004519116.tif 000038
2004519116.tif 000039
2004519116.tif 000040
2004519116.tif 000041
2004519116.tif 000042
【国際公開パンフレット（コレクトバージョン）】
2004519116.tif 000043
2004519116.tif 000044
【国際公開パンフレット（コレクトバージョン）】
2004519116.tif 000045
2004519116.tif 000046
【国際調査報告】
2004519116.tif 000047
2004519116.tif 000048
2004519116.tif 000049