(57)【特許請求の範囲】
【請求項１】
対話式アプリケーションを制御するための方法であって、
対話式アプリケーションを有するデータストリームを受け取り、
前記データストリームの変化を識別するために前記データストリームをモニターし、前記変化に応じて、前記対話式アプリケーションがファイルにアクセスするのを防止し、前記データストリームに存在するファイルを識別し、前記対話式アプリケーションが、前記データストリームに存在する前記ファイルだけにアクセスすることを可能にすることを特徴とする方法。
【請求項２】
前記データストリームは、放送信号に含まれることを特徴とする請求項１に記載の方法。
【請求項３】
前記方法は、コンピュータプログラムによって実行されることを特徴とする請求項１または２に記載の方法。
【請求項４】
前記コンピュータプログラムは、デジタルテレビの受信機によって実行されることを特徴とする請求項３に記載の方法。
【請求項５】
前記変化は、前記デジタルテレビの受信機がチャンネルを変更する場合に発生することを特徴とする請求項４に記載の方法。
【請求項６】
対話式アプリケーションを制御するための装置であって、
対話式アプリケーションを有するデータストリームを受け取るための受信手段と、
前記データストリームをモニターするためのモニター手段であって、前記データストリームの変化後に前記対話式アプリケーションがファイルにアクセスするのを防止し、前記データストリームに存在するファイルを識別し、前記対話式アプリケーションが、前記データストリームに存在する前記ファイルだけにアクセスすることを可能にするように前記対話式アプリケーションを制御するためのモニター手段と、を有することを特徴とする装置。
【請求項７】
前記装置は、集積回路を有することを特徴とする請求項６に記載の装置。
【請求項８】
前記集積回路は、デジタルテレビの受信機の一部を形成することを特徴とする請求項７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話式アプリケーションを制御するための方法及び装置に関する。より詳細には、下記に限定しないが、装置はデジタルテレビ受信機の部品を形成する集積回路である。
【背景技術】
【０００２】
デジタル受信機は、一般的にビデオ、オーディオ及びデータ構成要素を有するデジタルの放送信号を受信する。データ構成要素は、それらが要求されるにつれて、およびそれらが要求される場合に、受信機によってダウンロードされているモジュールを反復の"カルーセル（carousel）"の手法で供給される。モジュールは、一般的に、ジャバプログラミングスクリプト（JAVA（Ｒ） programming script）で書き込まれた対話式アプリケーションを含む。
【０００３】
ユーザがデジタル受信機を介して対話式アプリケーションにアクセスすることを所望する場合、この機能は、典型的にはリモートコントロールであるユーザ・インターフェースによって利用可能である。それら対話式アプリケーションは、電子プログラムガイド、文字放送（teletext）型情報及び放送されている内容に関係のあるアプリケーションのようなものである。この後者のタイプのアプリケーションは、例えば、ユーザがゴルフ・トーナメント放送を見ていた場合、コースの各ホールの図形の詳細、参加しているゴルファーの統計、リアルタイムのリーダー・ボードなどである。２方向通信を含むアプリケーションはまた、例えば、ショッピング及び賭け事に可能である。デジタル受信機は、通常、かかる２方向通信を促進するために電話ネットワークによってバックチャンネルが供給される。
【０００４】
しかしながら、それら対話式アプリケーションを実行するためのソフトウェアは、放送信号のデータ構成要素を介してデジタル受信機に伝達される。対話式アプリケーションをなすジャバアプレットは、各放送チャンネル専用のものであり、送信機によってカルーセル方式で反復して放送される。一旦、ユーザが対話式アプリケーションを選択すると、セットトップ・ボックスは、アプリケーションを実行することができるように必要なジャバアプレットの獲得を開始する。
【０００５】
データストリームに変更がある場合、例えば、ユーザがチャンネルを変更する場合、デジタル受信機は、新しいデータストリームの新しい環境に順応できる必要がある。現行のデジタル受信機は現在実行している対話式アプリケーションを放棄するであろう、さもなければ、対話式アプリケーションがデータストリームに存在しないファイルを要求するや否や、対話式アプリケーションはクラッシュするであろう。これらの結果のどちらも、デジタルのテレビ受信機のユーザにとって満足な動作を達成しない。
【０００６】
したがって、本発明の目的は周知の技術を改善することである。
【０００７】
本発明の第一の態様によると、対話式アプリケーションを制御するための方法であって、対話式アプリケーションを有するデータストリームを受け取るステップと、前記データストリームの変化を識別するために前記データストリームをモニターするステップと、前記変化に応じて、前記対話式アプリケーションがファイルにアクセスするのを防止するステップと、前記データストリームに存在するファイルを識別するステップと、前記対話式アプリケーションが前記データストリームに存在するそれらのファイルだけにアクセスすることを可能にするステップとを有する方法が提供される。
【０００８】
本発明の第二の態様によると、対話式アプリケーションを制御するための装置であって、対話式アプリケーションを有するデータストリームを受け取るための受信手段と、前記データストリームをモニターするためのモニター手段であって、前記データストリームの変化後に前記対話式アプリケーションがファイルにアクセスするのを防止し、前記データストリームに存在するファイルを識別し、前記対話式アプリケーションが前記データストリームに存在するそれらのファイルだけにアクセスすることを可能にするように前記対話式アプリケーションを制御するためのモニター手段と、を有する装置が提供される。
【０００９】
かかる方法は、適切なハードウェアにインストールされるか、又は記録担体に記憶されるコンピュータプログラムエレメントによって達成できる。かかる装置は、集積回路で構成され得る。
【００１０】
本発明によると、対話式アプリケーションを搬送するデータストリームの変化後、前記対話式アプリケーションが、前記対話式アプリケーションに利用可能なファイルから可能な限り最適に走り続けるであろうように、前記対話式アプリケーションを制御することが可能である。データストリームの変化は、例えば、データの放送の中断によって、又はデータストリームの受信機においてユーザがチャンネルを変更することによって引き起こされるかもしれない。前記対話式アプリケーションが、前記データストリームに存在しないファイルを要求する場合、前記対話式アプリケーションは、前記ファイルが存在しないことから直ちに機能しなくなる代わりに、前記ファイルが到達するのを待つことを「阻止」する。前記ファイルが再度存在するようになるまで、前記要求をしているプログラム・スレッド（program thread）は実行を継続しないか、又は、前記ファイルは永久に利用不可能であると決定される。しかしながら、他のプログラム・スレッドは実行を継続する。
【００１１】
本発明の実施態様は添付図を参照して、実施例だけの手段によって記載される。
【００１２】
図１において、セットトップ・ボックス１０は、デジタルの放送信号１４を受信するための受信機１２の形態である受信手段を有する。セットトップ・ボックスはまた、信号１４を処理するためのＣＰＵ１６の形態である処理手段を有する。セットトップ・ボックスは、デコーダ２０、ＲＡＭ２２、およびキャッシュメモリ２４などの構成要素を追加的に含む。デコーダ２０は、放送信号１４を多重分離（demultiplexes）する。ビデオ構成要素は、表示デバイス２６に送られ、音声構成要素は音声スピーカ（示されていない）に送られる。セットトップ・ボックス１０のユーザは、適切なユーザ・インターフェースを介して、ユーザが視聴したいチャンネルを選択し、適切なコンテンツが獲得されてユーザに提供される。
【００１３】
信号１４は、信号内に対話式アプリケーションを有するデータストリームを含む。データストリームは、望ましいように複数の対話式アプリケーションを有する。対話式アプリケーションを制御するための装置は、対話式アプリケーションを有するデータストリームを受信するための受信手段１２とデータストリームをモニターするためのモニター手段の役割を果たすＣＰＵ１６とを有する。装置は、典型的には、デジタルのテレビ受信機１０の一部を形成する集積回路を有する。
【００１４】
現在のサービスを変更する際に放送データカルーセルサービスへのアクセスを維持する技術が必要とされている。デジタルテレビシステムは、カルーセル送出による一般データの放送のためのメカニズムを含む。重要な実施例は、ＤＶＢデジタルＴＶスタンダードのために定義されたＤＶＢオブジェクトカルーセル（ＤＶＢ Ｏｂｊｅｃｔ Ｃａｒｏｕｓｅｌ）である。これらのメカニズムは、ＭＨＥＧ−５、ＤＶＢ、ＭＨＰおよびＯＣＡＰを含む新しい世代の対話式サービスの基盤を成すころから、ますます重要になっている。上述のシステムでは、データ放送が一つ以上の放送ファイルシステムを含み、ファイルシステムの構成要素は、カルーセル（つまり、反復）方式で受信機１０に送信される。受信機１０は、入力されるデータストリームを分析することにより、ファイルシステムコンテンツを回復することを試みる。ファイルシステムは、ユーザに提示されているサービスに関連した１つ以上のアプリケーションのための実行可能なコードおよび資産を含むであろう。
【００１５】
ＭＨＰなどのシステムにおいては、アプリケーションを２以上のサービス内において実行させることが可能である。例えば、一つのサービスプロバイダーからのサービスのブーケのための電子プログラムガイドは、ユーザが前記ブーケにおいてサービスを切り換える際、動作し続けるであろう。しかしながら、カルーセルデータは、用いられていた元のサービスに結び付けられていることから、一旦新しいサービスが選択されると、このデータは今やアクセスできなくなる。これは、アプリケーションの機能に厳しい制約を課し、また、ほとんどのアプリケーションはアクセスのこの突然の除去から回復することができないだろう。
【００１６】
したがって、あるサービスから別のサービスへのカルーセルアクセスのシームレスの引き渡しのためのメカニズムが必要とされる。目標は、アプリケーションがカルーセルデータに対するルーティングの変化に気づかないことである。
【００１７】
現在、ＤＶＢは、ＤＶＢトランスポートストリーム内で階層的ファイルシステムを搬送する方法を規定している。かかる方法がデータ放送において使用される。かかる方法は、通常、コンピュータファイルシステムに保存される種類のあらゆるデータを搬送するために使用することができる。かかる方法は、対話式放送システムのためのデータファイルを搬送するのによく使用される。例えば、かかる方法は、ＤＶＢの英国の地上波での実施においてMHEG-5オブジェクトを放送するための選択された方法であり、また、それはＤＶＢからのＭＨＰ仕様におけるジャバクラスのファイルおよびそれらの関連するデータにおいて使用される。システムは、階層的ファイルシステムの連続する接続に対する効率的な伝送の問題の解決策を提供するように設計されている。それは、構文解析されることができ、ファイルの階層化ディレクトリー構造、ファイル名およびコンテンツは、受信機において回復されることができる。"サービス"の一部として、カルーセルファイルシステムが送信される。ここで、サービスは、ユーザに全体として提示されるように意図される、様々なタイプのエレメンタリストリームのセットと定義される。テレビプログラムの概念は、音声及びビデオのストリームを含んでいるサービスの例である。カルーセルデータは、一度トランスポートストリームにおいて伝送されてよいが、トランスポートストリーム内の２以上のサービスの一部であってよい。しかしながら、カルーセルは、前記サービスの各々の別々のエンティティであって、そのデータが前記エンティティ内に含まれている別々のエンティティであると論理上考えられる。
【００１８】
（ＣＰＵ１６内に位置する）カルーセルデコーダは、２つの別々の部分、即ち、
１．現在のサービスのストリームからのデータを使用可能なフォーマットにデコードするストリームリーダーであって、典型的には、受信機のメモリ内の'モジュールキャッシュ'に要求されたデータ"モジュール"を記憶するストリームリーダーと、
２．受信機において実行するアプリケーションから要求を受信し、モジュールキャッシュにおいて要求されたデータを見つけようと試みる、又はフェッチ要求をストリームリーダーに渡すファイルシステムドライバーとを有する。
【００１９】
受信機１０のメモリは、通常、限られており、故に、カルーセルを完全にメモリに読み込むことは実現可能ではない。したがって、通常、最も要求されそうなモジュールがキャッシュされることを試して、確実にするキャッシュ方法が利用される。放送カルーセルからのフェッチの待ち時間は、通常、何秒間もかかるので、これはアプリケーションのパフォーマンスに大きな影響を及ぼす。
【００２０】
受信機において実行するアプリケーションは、あるサービスのカルーセルからのデータにアクセスし、且つ同時に別のサービスをデコードすることを望むかもしれない。例は、ノンサービスバウンド（non-service-bound）のＭＨＰアプリケーションである。かかるアプリケーションは、あるサービスにおいて開始し、そのサービスのカルーセルを使用するが、次いで、デコーダに、別のサービスへ切り替えさせるかもしれない。かかる状況においては、古いサービスのデータソースがもはや利用可能でないので、デコーダのストリームリーダー部は動作できなくなる。これは、アプリケーションの動作を著しく害し、ほとんどの場合、アプリケーションはエラーなしに動作し続けることを保証され得ない。しかしながら、多くの場合では、新しいサービスは、最初のサービスと同じカルーセルデータを含み、したがって、実際には可能なデータソースがある。本発明は、方法であり、前記方法により、デコーダのストリームリーダー部が、サービスの変更後、カルーセルのための同等のデータソースがあるかどうか識別することによって、動作可能なままであることが出来る方法であって、斯くして、許容可能なアプリケーションの動作を保証する方法を提案する。
【００２１】
本発明は、ＤＳＭＣＣオブジェクトカルーセルファミリーのメカニズムおよびＭＨＰ内でのその使用に焦点を当てるが、本発明の考えは、いくつかの異なるサービスまたはプログラム内で同じデータを呈示するすべてのカルーセルに基づいたデータ放送メカニズムに適用される。
【００２２】
ここに示されているオプションは、カルーセルがマウントされていた最初のサービスと現在のサービスを比較し、両方のサービスに共通しているデータストリームに接続されたままでいるために最良の努力をすることである。サービス間のデータストリームの本物の共有がある場合のみ、かかる解決策が有用であることに注意されたい。少しも重複がない場合、カルーセルは"失われた"ままである。しかしながら、この新しいオプションは、ブロードキャスターがこれらの特徴を利用するアプリケーションのために放送を最適化することを可能にする。本願明細書には、２つの実施態様を記載する。それらは、異なる２レベルにおいて、サービス間でどのデータ項目が共有され得るかを識別するという問題に対処している。
【００２３】
両実施態様において、ＣＰＵ１６は、対話式アプリケーションが（ユーザによるチャンネルの変更によって引き起こされるような）データストリームの変化後にファイルにアクセスするのを防ぐように対話式アプリケーションを制御する。ＣＰＵ１６は、データストリームに存在するファイルを識別し、対話式アプリケーションがデータストリームに存在するファイルだけにアクセスすることを可能にする。この方法は、図２に例示される。
【００２４】
実施態様１：カルーセルレベルの共有
第一の実施態様は、カルーセルデコーダを、ストリームから更新されている装置において動作するサーバーとみなす。サーバーは、装置において動作するアプリケーションにファイルシステムアクセスを提供し、２つの動作モードであって、デコーダは、両方のモードにおいて、デコーダが有する最新データを提供するが、一方のモードにおいてだけ、ストリームからの更新を受けるデコーダである２つの動作モードを有する。サービス間の切り換えは、上述のモード間の変化を引き起こす。カルーセルは、サービスがカルーセルの全データソースを含む場合にしか、完全動作状態に入ることが出来ない。カルーセルは、多くの特定の状態を有する。以下にそれらを定義と共に列記する。
【００２５】
・添付（attached）状態：ファイルシステムマウントポイントが作成される。ＤＳＩ ＰＩＤがログ記録される。カルーセルはＰＭＴ／サービスに添付されない。ファイルシステムアクセスなし。
【００２６】
・開始（started）状態：ＰＭＴをカルーセルに添付する。通常動作ためのモジュール／ＤＳＩ／ＤＩＩの獲得が開始される。新しいファイルシステムの要求が処理され得る。サービスドメインのためのロケーターがこのポイントで設定される。
【００２７】
・停止（stopped）状態：セクションのフィルタリングによるモジュールの獲得が停止される。ファイルシステムの現状がメモリに維持され、キャッシュ効果を受ける。モジュールが別のまだ動作しているカルーセルと共有されている場合、これらは、更新され続けるであろう。
【００２８】
・分離（detached）状態：カルーセルがサービスから分離される。すべてのキャッシュ要素が開放される。すべてのファイルハンドルが無効にされる。
【００２９】
ＭＨＰ環境においては、アプリケーション信号伝達は、添付状態を介して、開始状態への最初の移行を引き起こすであろう。アプリケーションの終了は、カルーセルを分離状態に移すであろう。サービスから離れる変更は、そのサービスのカルーセルを停止状態に移す。Ｂ．２．９において列挙されているイベントのいずれもまた、カルーセルをこの状態に移す（つまり、これは'失われる'のに等しい）。新しいサービスに達すると、ＰＭＴが調べられる。下記に記載のアルゴリズムは、最初のサービスからのモジュールデータが新しいサービス内で再使用され得るかどうかを決定するために使用される。一致するものが見つけられる場合、カルーセルは開始状態に戻されて、カルーセルは新しいサービスにおいて動作を再開する。これらの遷移はアプリケーションには見えない。一致するものが見つけられない場合、カルーセルは停止状態のままである。他の理由において失ったカルーセルを回復する試みは、プラットフォーム依存の方法で行われ得る。元来の損失の理由のほとんどは、かなり絶望的なものであり、従って、そのようなカルーセルは強制分離の良い候補である。
【００３０】
今述べたように、停止したカルーセルはシステムによって分離状態に移され得る。Xletが破壊されたら、カルーセルデコーダがいかなる他の方法によってもメモリを回復することができない場合にXletを実行するための最後の手段として、ブート（boot）・カルーセルに対してこれが行われるであろう。システムは、まず、未使用項目をモジュールキャッシュからパージしようと試みるであろう。
【００３１】
カルーセルの同等性を決定するために選択されるアルゴリズムは、カルーセルデータを伝達する可能性があるエレメンタリストリームのセットがどのように信号で伝えられるかに依存する。
【００３２】
１．サービスによって結合された内容。サービス中のカルーセルによって使用されるカルーセルエレメンタリストリームのセットは、サービスの関連タグテーブルだけによって定義される。このモデルにおいては、サービス中のカルーセルは、サービスの変更に際して、すべてが利用可能なままであるか、又は利用可能なままであるのが全く無いかのいずれかである。ＤＳＭＣＣ ＵＮメッセージタイプ（１１）を備えるすべてのエレメンタリストリームは、同一記述子ループを有するはずであり、元のサービスと同じＰＩＤを参照するはずである。付加的なエントリーは、それらが、元のサービスの据え置き関連タグに含まれていた場合に存在し得る。元のサービスが据え置き関連タグ記述子を含む場合には、エレメンタリストリームを参照するすべてのエントリーは、新しいサービスの、据え置き関連タグ記述子において全く同じに保持されるか、またはエレメンタリストリームループに分解されなければならない。
【００３３】
２．カルーセルによって結合された内容。このモデルにおいては、サービス中の各カルーセルは別々に分析され得る。各カルーセルによって使用されるエレメンタリストリームのセットは、例えば、ＤＳＩ中の"マニフェスト記述子"として、カルーセルの最上位に記載される。このマニフェスト中のすべてのエントリーは、関連タグからエレメンタリストリームに分解されるであろう。新しいサービスに到達すると、システムは、ＤＳＩがカルーセルの構成要素に関する付加的な情報を含んでいるかどうかをチェックする。カルーセルのＤｌｌの関連タグは、この"マニフェスト記述子"において一覧表示される。この情報が存在しなければ、上述の第一方法に戻る。この一覧の中のすべてのエントリーは、元のサービスの選択時に関連タグからＰＩＤに分解される。かかる"マニフェスト記述子"が存在する場合、カルーセル中のデータがいかなる他の関連タグを参照するのも有効ではなく、このようにして参照されるオブジェクトは、ファイルシステム抽象化において入手不可能であるように見えるであろう。新しいサービスに到達すると、システムは、ＤＳＩが元のサービスと同じＰＩＤ上にあるかどうかをチェックし、その後、新しいＰＭＴ中のすべての一覧表示されるエントリーを分解する。上述のサービスを去る前のＰＭＴからの最後のサンプルにより、すべてが一致する場合、これは完全な同等性を保証するのに十分である。関連タグ対ＰＩＤのマッピングは経時変化するかもしれないが、このことは現在のカルーセルキャッシュを無効にしないことに注意されたい。したがって、ＰＩＤの比較は、以前のサービスの利用可能な最新の情報に基づいてなされるべきである。
【００３４】
実施態様２：基本ストリームレベルの共有
第二実施態様（または改善例）は、幾つかの関連タグにおいては不一致があるが、他の関連タグにおいては不一致がない状況において、カルーセルにおける"開始"モジュールと"停止"モジュールの混合を可能にすることである。この状況においては、一致するソースを備えるモジュールだけが、ストリームから更新され続けるだろう。他のエントリーは、変化前のままであるだろう。'誤った'ＰＩＤからのデータがシステムに入ることは許されない。これを実施する方法は、ルックアップテーブルによってタグ−ＰＩＤ変換を実行するものである。このテーブルは、ＰＭＴからのテーブルの関連タグおよびマスターＰＩＤカラムを入力する、カルーセルのための最初の"マスター"サービスによって設定される。ＰＭＴ中のエントリーは、異なるサービスにおいて動作する場合、テーブルの第三の"現ＰＩＤ"カラムにマップされる。モジュールを更新しようとするすべての試みにおいて、マスターＰＩＤと現ＰＩＤとの間に不一致がある場合には、更新は失敗する。また、新しい獲得要求も、不一致によって失敗する。
【００３５】
据え置き関連タグの場合は、ストリームのロケーターは、ＰＩＤではなく直接比較される。これは、各比較において潜在的に遅いＰＩＤ検査を回避し、それは、比較成功後に分解されるだけである。元のサービスのＰＭＴは、ＰＩＤの変化を追うために新しいサービスにおいてモニターされ続けるかもしれない。
【００３６】
このモデルでは、開始状態および停止状態がなく、添付状態および分離状態だけがある。カルーセルのロケーターは、現サービスを通して利用可能なデータにしかアクセスしないが、事実上、引き続き元のサービスに従って動作することから、変化しない。
【００３７】
本発明は、サービスの境界を越えたカルーセルモジュールデータの維持を可能にする。幾つかのオブジェクトカルーセルフォーマットは、（ストリームオブジェクトを介する）メディアストリームへのアクセスおよびリアルタイムイベント情報（ストリームイベント）へのアクセス、ならびに従来のファイルシステム・ファイルへのアクセス及びディレクトリー・オブジェクトへのアクセスをサポートする。これらの他のコンテンツタイプの場合、アクセスは、同様に、関連タグのマッピングの分析によって有効にされる。これらのフォーマットへのアクセスを阻止することは、悪影響を及ぼさないようにして現ストリームデータへアクセスするのを妨げる効果を有する。例えば、ビデオは表示されないが、エラーは生じない。
【００３８】
多数のオブジェクトカルーセルが、同じデータモジュールにアクセスするかもしれない。ここで、各オブジェクトカルーセルは一つのクライアントしか持たないと仮定される。したがって、例えば、２つのアプリケーションが同一のオブジェクトカルーセルにアクセスする場合、実際には２つの別々のオブジェクトカルーセルデータ構造がある。これは、オブジェクトカルーセルの一つのクライアントは、新しいサービスへ移行を望んでいるが、他のクライアントは、望んでいない場合の割引を可能にする。
【００３９】
本発明は、主に、デジタルＴＶ放送の分野において適用される。これは、カルーセルによるデータの広範囲の放送分配が行われる第一の分野であって、２以上のサービス（ここで、サービスは、全体として処理されるデータ項目の一群を意味する）からこのデータにアクセスする要求がある第一の分野である。当然のこととして、これらのメカニズムは、デジタルのラジオ放送にも適用され、実際に、純粋なデータ放送ネットワークにも適用される。
【００４０】
本発明の開示により、多数の他の修正および変化は、当業者にとって明白である。そのような修正および変化は、当業者にとって既に周知であり、ここで既に記載された特徴に代わって使用されるか、または追加してよい他の特徴を含んでよい。
【図面の簡単な説明】
【００４１】
【図１】表示デバイスに接続されたセットトップ・ボックスの概略図である。
【図２】対話式アプリケーションを制御するための方法の流れ図である。
【図１】
0004896371.tif 000002
【図２】
0004896371.tif 000003