JP2001518256A5 - - Google Patents

Download PDF

Info

Publication number
JP2001518256A5
JP2001518256A5 JP1998542064A JP54206498A JP2001518256A5 JP 2001518256 A5 JP2001518256 A5 JP 2001518256A5 JP 1998542064 A JP1998542064 A JP 1998542064A JP 54206498 A JP54206498 A JP 54206498A JP 2001518256 A5 JP2001518256 A5 JP 2001518256A5
Authority
JP
Japan
Prior art keywords
section
application
decoder
receiver
sections
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.)
Granted
Application number
JP1998542064A
Other languages
Japanese (ja)
Other versions
JP2001518256A (en
JP4376321B2 (en
Filing date
Publication date
Application filed filed Critical
Priority claimed from PCT/EP1997/002114 external-priority patent/WO1998043415A1/en
Publication of JP2001518256A publication Critical patent/JP2001518256A/en
Publication of JP2001518256A5 publication Critical patent/JP2001518256A5/ja
Application granted granted Critical
Publication of JP4376321B2 publication Critical patent/JP4376321B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【書類名】 明細書
【発明の名称】 伝送データ・ストリームからデータ・セクションを抽出する方法
【技術分野】
本発明は、データのセクションの他にビデオおよびオーディオ・テレビ・データを含むMPEGビットストリームのような伝送データ・ストリームの一つまたはそれ以上のセクションを記憶する装置および方法に関する。
【背景技術】
テレビ信号を放送することを主として意図されたデジタル送信システム、これに限定するものではないが特に衛星テレビ・システムの出現は、他の目的とするこの種のシステムを使用する可能性を開いた。その一つがエンド・ユーザとの相互活動を提供することである。
これを実行する一つの方法は、テレビ信号が受信されるレシーバ/デコーダ上でアプリケーションを実行することである。アプリケーションのためのコードは、レシーバ/デコーダに永久的に記憶される。しかし、これはかなり限定されることになる。好ましくは、レシーバ/デコーダは必要とされるアプリケーションのためにコードをダウンロードできなければならない。このようにして、より幅広い範囲の方法が提供でき、また、アプリケーションが、必要に応じて、ユーザ側で何の操作も必要としないでアップデートできる。
【発明の開示】
【発明が解決しようとする課題】
コンピュータ・システムにおいて、特にコンピュータ・システムがデジタル・テレビのためのレシーバ/デコーダのような特定の大型システムに組み込まれているシステムにおいて、メモリ量がしばしば制限される。これはシステムによって必要とされる種々の機能によるメモリ・スペースの使用が最小にされるようにメモリを編成しなければならないことを意味している。さらに、メモリの少なくともある一定部分にアクセスするのに必要とする時間を最短にすることも必要である。
【課題を解決するための手段】
従って、本発明は特にこれに限定するものではないが、特にアプリケーションによって必要とされるデータのみをレシーバ/デコーダのメモリへダウンロードすることに関する。
第1の態様において、本発明は伝送データ・ストリームの複数のセクションの少なくとも一つを記憶する方法を提供し、前記一つセクションが少なくとも一つのセクション特性を有しており、前記方法が、 データ・ストリームを受信する工程と;
少なくとも前記一つのセクション特性に従って前記データ・ストリームから前記一つのセクションをフィルタする工程と;
前記一つのセクションを記憶する工程と;
からなる。
このフィルタ工程はレシーバ/デコーダのメモリへロードされるべきアプリケーションによって必要とされるセクションのみに実行される。
この好ましい実施態様において、フィルタ工程が、各特性がフィルタ基準とそのフィルタ基準のための値とからなる少なくとも一つのフィルタ特性を特定する工程と;
各セクション特性を各フィルタ特性と比較する工程と;
各セクション特性がそれぞれのフィルタ特性に対応したときに、前記一つのセクションを前記データ・ストリームからフィルタする工程と;
を含んでいる。
本発明の第2の態様は、上述の方法を使用する伝送データ・ストリームの複数のセクションを記憶する方法を提供し、各セクションはそれぞれのメモリ・ロケーションに記憶される。
この方法がさらに、 各データ・フィルタ特性がデータ操作基準とそのデータ・フィルタ基準のための値とからなる少なくとも一つのデータ・フィルタ特性を特定する工程と;
各記憶されたセクション中に記憶されたデータをそれぞれのデータ・フィルタ特性と比較する工程と;
その記憶されたセクション中に記憶された前記データがそれぞれのデータ・フィルタ特性に対応していないときは、前記記憶されたセクションを前記メモリに置換できるようにする工程と;
をさらに含んでいることが好ましい。
前記記憶されたセクションに記憶されたデータが各々のデータ・フィルタ特性に対応している時、セクション識別信号をアプリケーションに供給する工程をさらに含んでいることが好ましい。
セクション識別信号は前記一つのセクションの記憶アドレスからなるのが好ましい。
第3の態様において、本発明は上述の方向によるセクションのグループを記憶する方法を提供し、前記セクションが周期的に前記データ・ストリームに伝送され、各グループが第1セクションと最終セクションを含んでおり、前記方法が、 第1セクションを記憶する工程と;
前記第1セクションの直後に連続して伝送されたセクションを後でダウンロードし、前記最終セクションがダウンロードされるか、または所定数のセクションが記憶されるまで各セクションがそれぞれのメモリ・ロケーションに連続して記憶される工程と;
を含んでいる。
第4の態様において、本発明は上述の方法によりセクションのグループを記憶する方法を提供し、前記セクションが周期的に前記データ・ストリームに伝送され、前記グループが第1セクションと最終セクションを含み、前記方法が、 第1セクションをダウンロードする工程と;
前記第1セクションの直後に連続して伝送されたセクションを続いてダウンロードし、前記最終セクションがダウンロードされるか、またはメモリ・ロケーション中に記憶されたセクションが、前記最終セクションがダウンロードされるまで続いてダウンロードされることによって連続して上書きされて所定数のセクションが記憶されるまで各セクションがそれぞれのメモリ・ロケーションに連続して記憶される工程と;
前記最終セクションを前記メモリに記憶する工程と;
を含んでいる。
第5の態様において、本発明はデータ・ストリーム中に周期的に伝送されたセクショングループを記憶する方法を提供し、前記グループは第1セクションと最終セクションを含んでおり、前記方法が、 第1セクションをダウンロードし、これをメモリに記憶する工程と;
前記第1セクションの直後に連続して伝送されたセクションを続いてダウンロードし、前記最終セクションがダウンロードされるか、または所定数のセクションが前記メモリに記憶されるまで各セクションがそれぞれのメモリ・ロケーションに連続して記憶される工程と;
を含んでいる。
第6の態様において、本発明は前記データ・ストリーム中に周期的に伝送されたセクションのグループを記憶する方法を提供し、前記各グループが第1セクションと最終セクションを含んでおり、前記方法が、 データ・ストリームを受信する工程と;
第1セクションをダウンロードする工程と;
前記第1セクションの直後に連続して伝送されたセクションを続いてダウンロードし、前記最終セクションがダウンロードされるか、またはメモリ・ロケーション中に記憶されたセクションが、前記最終セクションがダウンロードされるまで続いてダウンロードされることによって連続して上書きされて所定数のセクションが記憶されるまで各セクションがそれぞれのメモリ・ロケーションに連続して記憶される工程と;
前記最終セクションを前記メモリに記憶する工程と;
を含んでいる。
本発明の上述の第3から第6の態様により、セクションのグループから必要とされるこれらのセクションのみがレシーバ/デコーダのメモリに記憶される。例えば、仮に特定時間に放送するためにスケジュールの組まれた三つのテレビ・プログラムのリストを第3および第5の態様で見たときに、グループの最初の四つのセクションのみがデータ・ストリームからダウンロードされ、エンド・ユーザがリストを迅速にスクロール・ダウンでき、その時刻に示された最終プログラムから開始できる。第4および第6の態様により、グループの最後の四つのセクションのみがデータ・ストリームからダウンロードされ、エンド・ユーザがリストを迅速にスクロール・ダウンでき、その時刻に示された第1プログラムから開始でき、レシーバ/デコーダのメモリを最小にすることができる。
第7の態様において、本発明は伝送データ・ストリームの複数のセクションの少なくとも一つを記憶する装置を提供し、前記一つのセクションが少なくとも一つのセクション特性を有しており、前記装置が、 データ・ストリームを受信する手段と;
少なくとも前記一つのセクション特性に従って前記データ・ストリームから前記一つのセクションをフィルタする手段と;
前記一つのセクションを記憶する手段と;
を含んでいる。
前記フィルタ手段が、 各特性がフィルタ基準とそのフィルタ基準のための値とからなる少なくとも一つのフィルタ特性を特定する手段と;
各セクション特性を各フィルタ特性と比較する手段と;
各セクション特性がそれぞれのフィルタ特性に対応したときに、前記一つのセクションを前記データ・ストリームからフィルタする手段と;
を含んでいるのが好ましい。
第8の態様において、本発明はそのような複数のセクションをダウンロードする装置を提供し、前記記憶手段は各セクションを記憶する複数のメモリ・セクションからなる。
本装置はさらに、 各データ・フィルタ特性がデータ操作基準とそのデータ・フィルタ基準のための値とからなる少なくとも一つのデータ・フィルタ特性を特定する手段と;
各記憶されたセクション中に記憶されたデータをそれぞれのデータ・フィルタ特性と比較する手段と;
その記憶されたセクション中に記憶された前記データがそれぞれのデータ・フィルタ特性に対応していないときは、前記記憶されたセクションを前記メモリに置換できるようにする手段と;
をさらに含んでいるのが好ましい。
本装置はまた前記記憶されたセクション中に記憶された前記データが前記各フィルタ特性に対応しているとき、セクション識別信号をアプリケーションに供給する手段をさらに含んでいる。
上述の方法および装置は、前記セクションの他にビデオおよびオーディオ・テレビ・データを含むMPEGビットストリームの形態中のこの種のデータ・ストリームを使用することができる。
【発明を実施するための最良の形態】
本発明の好ましい特徴は、添付図面を参照して例としてのみここに説明する。
【実施例】
図1はデジタル・テレビ1000の全体を示している。本発明は、圧縮したデジタル信号
を送信するために従来のMPEG-2圧縮システムを利用する、ほぼ従来のデジタル・テレビ・システム2000を備えている。さらに詳細には、ブロードキャストセンター内のMPEG-2圧縮器2002がデジタル信号ストリーム(一般にはビデオ信号のストリーム)を受信する。圧縮器2002は、リンケージ2006によってマルチプレクサ、スクランブラ2004と接続している。マルチプレクサ2004は、複数の入力信号をさらに受信し、1つ以上のトランスポートストリームをアセンブルし、圧縮したデジタル信号を、リンケージ2010を介してブロードキャストセンターのトランスミッタ2008に送信する。もちろん、テレコムリンクを含む幅広い様々な形態をとることができる。トランスミッタ2008は、アップリンク2012を介して、電磁気信号をサテライトトランスポンダ2014へと送信し、ここで、地上レシーバ2018に、通常、エンド・ユーザが所有またはレンタルしている受信アンテナの形態である概念上のダウンリンク2016を介して、電磁気信号が電子的に処理およびブロードキャストされる。レシーバ2018が受信した信号は、エンド・ユーザが所有またはレンタルし、エンド・ユーザのテレビ・セット2022に接続された内蔵レシーバ/デコーダ2020に送信される。レシーバ/デコーダ2020は、圧縮されたMPEG-2信号をテレビ・セット2022のテレビ信号に復号する。
条件付きアクセスシステム3000はマルチプレクサ2004、レシーバ/デコーダ2020と接続しており、一部がブロードキャストセンター内に、別の一部がデコータ内に配置されている。これによりエンド・ユーザは、1つ以上のブロードキャストサプライヤからのデジタル・テレビブロードキャストへアクセスすることが可能である。レシーバ/デコーダ2020内に、コマーシャルオファー(すなわち、そのブロードキャストサプライヤが販売した1つまたは複数のテレビ・プログラム)に関連したメッセージを解読できるスマートカードを挿入することができる。デコーダ2020とスマートカードを使用して、エンド・ユーザは、購読モードまたは有料視聴モードで、コマーシャルオファーを購入できる。
インタアクティブ・システム4000もまた、マルチプレクサ2004、レシーバ/デコーダ2020と接続しており、やはり一部がブロードキャストセンター内に、別の一部がデコーダ内に配置されているので、エンド・ユーザは、モデムに繋がれたバックチャネル4002を介して多くのアプリケーションと対話することができる。
図2は、本発明によるデジタル・テレビ・システム1000のインタアクティブ・テレビ・システム4000の一般的な構成を示すものである。
例えば、インタアクティブ・システム4000によって、エンド・ユーザは、持っているテレビ・セットを介して画面上のカタログからの商品の購入や、必要に応じてローカルニュースや天気予報を観ることや、ゲームで遊ぶことが可能になる。
インタアクティブ・システム4000は、全体で以下の4つの主な要素を備えている。
オーサリングツール4004であり、ブロードキャストセンター(または他の場所)にあり、ブロードキャストサプライヤはこれを使用してアプリケーションの作成、開発、デバッグ、テストを行える;
アプリケーションおよびデータ・サーバ4006であって、ブロードキャストセンターにあり、オーサリングツール4004と接続しており、エンド・ユーザに向けて同報通信を行うために、ブロードキャストサプライヤはこれを使用して、アプリケーションとデータをMPEG-2伝送ストリーム(一般にはその専用セクション)に挿入するべくマルチプレクサおよびスクランブラ2004へ伝達するために、準備し、認証し、フォーマットすることができる;
実行時エンジン(RTE)4008を備えたバーチャル・マシンであって、これは、エンド・ユーザが所有またはレンタルしているレシーバ/デコーダ2020内にインストールされた実行可能なコードであり、エンド・ユーザはレシーバ/デコーダ2020の稼動メモリ2024内に実行のためにアプリケーションを受信し、認証し、圧縮を解除し、ロードすることができる。エンジン4008はまた、常駐の、汎用アプリケーションを実行する。エンジン4008はハードウェアおよびオペレーティングシステムから独立している;
レシーバ/デコーダ2020と、アプリケーションおよびデータ・サーバ4006との間においてモデムで繋がれたバックチャネル4002であり、これにより、エンド・ユーザの要求に応じて、信号に、サーバ4006にデータとアプリケーションをMPEG-2伝送ストリームに挿入するように指示することが可能になる。
インタアクティブ・テレビ・システムは、システムに内蔵されたレシーバ/デコーダおよび様々な装置の機能を制御する「アプリケーション」を使用して動作する。アプリケーションはエンジン4008内で「リソースファイル」として表されている。「モジュール」は、リソースファイルとデータのセットである。1つのアプリケーションを構成するためには数個のモジュールが必要である。レシーバ/デコーダの「メモリボリューム」とはモジュールのための記憶スペースである。「インターフェイス」は、モジュールをダウンロードするために使用される。モジュールは、MPEG-2伝送ストリームからレシーバ/デコーダ2020内にダウンロードすることもできる。
次に、前述の文章で挙げたこれらの要素についてより詳細に説明する。
本明細書の目的のために、アプリケーションは、好ましくはレシーバ/デコーダ2020の高レベル機能を制御する1つのコンピュータコードであるとする。例えば、エンド・ユーザが、遠隔コントローラの焦点をテレビ・セット2022の画面上のボタンオブジェクト上に配置し、検証キーを押す際に、そのボタンに関連した指示シーケンスが実行される。
インタアクティブ・アプリケーションはメニューを提示し、エンド・ユーザの要求に応じてコマンドを実行し、アプリケーションの目的に関連したデータを提供する。アプリケーションは、レシーバ/デコーダ2020のROM(またはFLASH、あるいはその他の非揮発性メモリ)内に記憶されているか、もしくはレシーバ/デコーダ2020のRAMまたはFLASHメモリにブロードキャストおよびダウンロードされた常駐アプリケーションであってよい。
アプリケーションの例を以下に示す。
● 開始アプリケーション。レシーバ/デコーダ2020が、モジュールの適応可能なコレクション(この用語については後に詳細に説明する)である常駐開始アプリケーションを備えている。モジュールの適応可能なコレクションは、レシーバ/デコーダ2020をMPEG−2環境で即時動作可能にする。アプリケーションは、所望であればブロードキャストサプライヤによって変更が可能なコア特性を備えている。また、コア特性は常駐アプリケーションとダウンロードしたアプリケーションの間のインターフェイスを提供する。
● スタートアップアプリケーション。スタートアップアプリケーションは、ダウンロードしたまたは常駐のいずれであってもよいアプリケーションをレシーバ/デコーダ2020上で実行する。このアプリケーションは、アプリケーションを開始するために、サービスが到着すると実行されるブートストラップとして働く。スタートアップはRAM内にダウンロードされるため、アップデートが容易に行える。またスタートアップを、ダウンロードの直後、またはプリロードの後のいずれかに、各チャネルで使用可能なインタアクティブ・アプリケーションの選択および実行が可能であるように構成することも可能である。プリロードの場合には、アプリケーションはメモリ2024内にロードされ、必要に応じてスタートアップによって起動することが可能である。
● プログラムガイド。プログラムガイドは、プログラミングについての完全な情報を提供するインタアクティブ・アプリケーションである。例えば、プログラムガイドは、デジタルTVブーケの各チャネルに割当てられた1週間のTVプログラムについての情報を提供する。遠隔コントローラ2026上のキーを押すと、エンド・ユーザは、テレビ・セット2022の画面上にある事象の上にオーバレイされたアッドオン画面にアクセスできる。このアッドオン画面は、デジタル・テレビ・ブーケの各チャネルの現在および次の事象についての情報を提供するブラウザである。遠隔コントローラ2026上の別のキーを押すと、エンド・ユーザは、1週間にわたる事象についての情報のリストを表示するアプリケーションにアクセスできる。さらにエンド・ユーザは、単純でカストマイズされた基準で事象の検索およびソートが行える。また、選択したチャネルに直接アクセスすることができる。
● 番組有料視聴制アプリケーション。番組有料視聴制アプリケーションは、条件付きアクセスシステム3000と速結したデジタル・テレビ・ブーケの各PPVチャネル上で利用可能なインタアクティブ・サービスである。エンド・ユーザは、TVガイドまたはチャネルブラウザを使ってこのアプリケーションにアクセスすることができる。さらに、このアプリケーションはPPVチャネル上でPPV事象が検出され次第、自動的に開始する。エンド・ユーザは、ドータースマートカード3020または通信サーバ3022(モデム、電話、DTMFコード、MINITEL等を使用)を介して現行の事象を購入することができる。アプリケーションは、レシーバ/デコーダ2020のROM内に常駐するもの、またはデコーダ2020のRAM内にダウンロード可能なもののいずれかであってよい。
● PCダウンロードアプリケーション。要求すれば、エンド・ユーザはPCダウンロードアプリケーションを使ってコンピュータソフトウェアをダウンロードすることができる。
● マガジンブラウザアプリケーション。マガジンブラウザアプリケーションは、オンスクリーンボタンを介したエンド・ユーザナビゲーションを備えた画像の巡回ビデオブロードキャストを有する。
● クイズアプリケーション。クイズアプリケーションはブロードキャストクイズプログラムと同期することが好ましい。1例として、テレビ2022の画面上に多項式選択の質問が表示されるので、ユーザは遠隔コントローラ2026を使って答えを選択できる。クイズアプリケーションは、その答えが正解であるかどうかをユーザに知らせることができ、また、ユーザの点数をカウントすることができる。
● テレショッピングアプリケーション。テレショッピングの1例において、販売される商品のオファーがレシーバ/デコーダ2020に転送され、テレビ2022上に表示される。遠隔コントローラを使って、ユーザは購入する特定のアイテムを選択できる。そのアイテムの注文が、モデムで繋がれたバックチャネル4002を介してアプリケーションおよびデータ・サーバ4006へと送信されるか、あるいは、個別の販売システムへと送信される。この販売システムの電話番号は、レシーバ/デコーダ2020のカードリーダ4036の1つに挿入されたクレジットカードに勘定を付ける旨の命令と共にレシーバ/デコーダにダウンロードされている。
● テレバンキングアプリケーション。テレバンキングの1例において、ユーザは、レシーバ/デコーダ2020のカードリーダ4036の1つに銀行カードを挿入する。するとレシーバ/デコーダ2020が、銀行カードに、またはレシーバ/デコーダに記憶された電話番号を使ってユーザの銀行を呼出し、アプリケーションが複数の機能を提供するので遠隔コントローラ2026を使って選択を行う。この機能には、例えば、電話回線を介した預金口座収支報告のダウンロード、預金口座の間での資金の送金、小切手帳の要求等がある。
● インターネットブラウザアプリケーション。インターネットブラウザアプリケーションの1例において、特定のURLのウェブページを見たいというようなユーザからの指示が、遠隔コントローラ2026を使って入力され、これらの指示が、モデムで繋がったバックチャネル4002によってアプリケーションおよびデータ・サーバ4006へ送信される。すると、ブロードキャストセンターからの送信に適切なウェブページが含まれ、この送信がアップリンク2012、トランスポンダ2014、ダウンリンク2016を介してレシーバ/デコーダ2020によって受信され、テレビ2022上に表示される。
アプリケーションは、受信機/デコーダ2020のメモリ位置に記憶され、資源ファイルとして示される。資源ファイルは、グラフィックオブジェクト記述ユニットファイルと、可変ブロックユニットファイルと、命令シーケンスファイルと、アプリケーションファイルと、データ・ファイルとを備えている。
グラフィックオブジェクト記述ユニットファイルは、アプリケーションのスクリーン、すなわちアプリケーションのマンマシンインタフェースを記述する。可変ブロックユニットファイルはアプリケーションによって処理されるデータ構造を記述する。命令シーケンスファイルはアプリケーションの処理動作を記述する。このアプリケーションはアプリケーションに対するエントリポイントを備えている。
このように構成されたアプリケーションは、アイコンライブラリファイル、イメージファイル、文字フォントファイル、カラーテーブルファイルおよびASCIIテキストファイルのようなデータ・ファイルを使用できる。インタアクティブ・アプリケーションは、入力および/または出力を行うことによってオンラインデータも得ることができる。
エンジン4008は、所与の時間で必要とするこれらの資源ファイルをそのメモリにロードするだけである。これらの資源ファイルは、グラフィックオブジェクト記述ユニットファイル、命令シーケンスファイルおよびアプリケーションファイルから読み取られる。可変ブロックユニットファイルは、モジュールをロードする手順に対する呼び出しに続いてメモリに記憶され、モジュールをロード解除する手順に対する特定の呼び出しが行われるまで、そこにロックされたままである。
図3を参照すると、電話ショッピングのようなモジュール4010は、下記のことを含む資源ファイルおよびデータのセットである。
単一アプリケーションファイル4012
未決定数のグラフィックブロックユニットファイル4014
未決定数の可変ブロックユニットファイル4016
未決定数の命令シーケンスファイル4018、 および
必要に応じて、アイコンライブラリファイル、イメージファイル、文字フォントファイル、カラーテーブルファイルおよびASCIIテキストファイルのようなデータ・ファイル4020。
MPEGデータ・ストリームにおいて、各モジュールはMPEGテーブルのグループを1つ備えている。各MPEGテーブルは、いくつかのセクションとしてフォーマットされうる。MPEGデータ・ストリームにおいて、各セクションは最大4キロバイトの「サイズ」を有する。シリアルおよびパラレルポートを介したデータの伝送には、例えば、同種のモジュールがテーブルとセクションに分割され、また、セクションのサイズは伝送する媒体によって異なる。
モジュールは、例えば、ビデオデータ・ストリーム、オーディオデータ・ストリーム、テレテキストデータ・ストリームのようなデータ・ストリームの関連するタイプ内において一般に188バイトのパケットの形式で、MPEGデータ・ストリーム内に伝送される。各パケットは13ビットのパケット識別子(PID)を前に付けており、PIDは、MPEGデータ・ストリーム内で伝送されるパケット毎に1つである。プログラムマップテーブル(PMTテーブル)は、異なるデータ・ストリームのリストを備え、各データ・ストリームの内容を関連するPIDに従って定義する。PIDは、データ・ストリーム内にアプリケーションが存在することを装置に知らせることができ、この場合、PIDはPMTテーブルを使って識別されている。
図4を参照して、各セクション4300は典型的に次のフィールドを含んでいる:
テーブルID(TID)4302、典型的にセクション4300の始めにおいて1バイトのサイズを有している;
セクションの長さ識別子4304、典型的に2バイトのサイズを有している;
テーブル中のそのセクション番号(SN)4306(eg.1)、SNが典型的に1バイトのサイズを有している;
テーブル中のセクションの総数(LSN)4308(eg.3)、LSNが典型的に1バイトのサイズを有している;
TIDエクステンション4310、典型的に2バイトのサイズを有している;
プライベイト・データ4312;および、
セクション4300のCRC4314。CRC4314の目的は、セクション4300中のバイトを全てチェックすることであり、CRC4314が先行データの全てと相関関係があれば、セクションはレシーバ/デコーダ2020によって許容される。同様に、プライベイト・データ・フィールド4312は、そのフィールドの末尾にあり、そのフィールド4312の先行内容全てから算出されるMD5サインを含み得る。
直列または並列インターフェイスを介して受信されたデータに関して、セクションのフィールドは変化する。典型的に前述のインターフェイスのいずれかを介して受信されたセクションは、フィールド4302から4310中の、低減された量のデータからなり、CRC4314はない。
特定モジュール/テーブルのために、このテーブルを構成するセクションの全ては同じTID4302と同じTIDエクステンション4310を有している。特定のアプリケーションのために、そのアプリケーションを形成するテーブル全ては同じTIDを有しているが、異なる別々のTIDエクステンションである。
例えば、MPEGビットストリームからモジュール4010へアクセスするためには、モジュールのためのPIDとモジュール・ディレクトリの両方が必要である。このディレクトリは単にキャリア信号からダウンロードできるモジュール4010をリストするだけである。一旦このディレクトリがダウンロードされると、アプリケーションに対して一つのまたはそれ以上のモジュール4010をダウンロードすることが可能である。
少量のコードをダウンロードするコンセプトと一緒にモジュール4010のコンセプトは、アプリケーションの容易な展開を許容する。これらは、常駐ソフトとしてレシーバ/デコーダ2020の永久FLASHメモリにダウンロードすることができ、エンド・ユーザによって必要とされたときにのみ、デコーダ2020のRAMにダウンロードするために放送(broadcast)することもできる。
メモリ容量はモジュール4010のための記憶スペースである。この種の記憶スペースはレシーバ/デコーダ2020のメモリ2024中に配備されている。図5を参照して、メモリ2024は典型的にRAM容量4022、FLASH容量4024およびROM容量4026に分割される。メモリはモジュールがレシーバ/デコーダ2020に、例えばMPEGビットストリームからダウンロードされるモジュールを記憶するためのMPEG容量およびシリアル・インターフェイスを介して受信されたモジュールを受信するためのシリアル容量のようなレシーバ/デコーダ2020にダウンロードされるモジュールを介して種々のインターフェイスに関連するメモリ容量にさらに分割される。
次に、RAM容量4022が、ファームウェアへの専用のゾーン、エンジン4008のためのワーキング・スペースおよびバッファに分割される。FLASHおよび他の不揮発性メモリがデバイス・マネージャを介してアプリケーションまたはエンジン自体のいずれかによってアクセスできる。
各容量はモジュール4010のリストを含み、各モジュール4010はファイル4012、4014、4016、4018、4020のリストを含んでいる。同じ名前のついた二つのファイルをもたせることができ、また、別個のモジュールに配備することもできる。例えば、アプリケーションのバージョンは典型的にROM容量4026に記憶され、後者のバージョンはFLASH容量4024にダウンロード可能で、FLASH容量4024に記憶されたバージョンの代わりにROM容量に記憶されたバージョンと置換される。ファイルの内容はLZWフォーマットに圧縮されるが、ファイルの解凍は、ある一定時間かかるので、解凍されたフォーマットで受信することができる。
レシーバ/デコーダ2020の物理的インターフェイスは、データをダウンロードするために使用される。図6を参照して、レシーバ/デコーダ2020は、例えば、6個のダウンロードする媒体、すなわち、MPEGフロー・チューナ4028、シリアル・インターフェイス4030、パラレル・インターフェイス4032、モデム4034および二つのカード読取装置4036を含んでいる。
複数のアプリケーションソースとレシーバ/デコーダ2020の複数の製作ソースにより、一つのアプリケーションは全てのレシーバ/デコーダにおいて同じように機能し、各レシーバ/デコーダは同じように正しい方法で全てのアプリケーションを実行しなければならない。図7を参照して、レシーバ/デコーダ2020はマイクロプロセッサの制御と共通のアプリケーション・プログラミング・インターフェイス4054の制御下で実行する実行時間エンジン4008からなる。これらは全てのレシーバ/デコーダ2020に設けられていて、全てのレシーバ/デコーダ2020がアプリケーションの局面から同一である。
図7はアプリケーション4056を実行するためのレシーバ/デコーダ2020のアーキテクチャを示す。バーチャル・マシン4007がアプリケーション4056を実行し、これは例えばMPEGデータ・ストリームからレシーバ/デコーダ2020にダウンロードされたバーチャル・マシンまたはアプリケーション4056"に直接接続されたアプリケーション4056'から構成できる。実行時間エンジン4008はグラフおよびテキストを表示し、サービスのためのデバイスをコールし、「イベント」を受信し、特定計算のためのライブラリ4058の機能を使用する。
図7を参照して、アプリケーションに関して、デコーダ2020の機能はデバイス4060として「見られる」。従って、これらはどのアプリケーションによっても見られないレシーバ/デコーダ2020の機能である。
デバイス4060は、ハードウェア4066の要素4062または物理的インターフェイス4064に対応できる論理デバイス・ユニットからなる。この種のデバイスは、「低いレベルのデバイス」4068と見なされる。この種のデバイス4068の出力は、デバイス4068によって論理信号出力を、例えばハードウェア・インターフェイス4064を実行するのに必要とする信号に変換するための少なくとも一つのデバイス・ドライバ4070に接続することができる。別の方法として、デバイス4068はそれ自体レシーバ/デコーダ2020の要素ないしインターフェイスを駆動してもよい、すなわち、デバイスの出力がハードウェア4066に直接接続されてもよい。
低いレベルのデバイス4068の例を次に説明する。
LCARDデバイスは、プログラムが、一つのスマートカード読取装置4036中に含まれたスマートカードと通信することを可能にし、また、RCARDデバイスは、プログラムが、他のスマートカード読取装置4036中に含まれたスマートカードと通信することを可能にする。例えば、これらのデバイスはプログラムをカードの状態で読み取れるようにし、カード履歴を読み取り、また、入力メッセージをカードに送れるようにすることができる。これらのデバイスは、また、読取装置へカードが挿入された旨、読取装置からカードを取り出された旨、および、カードがリセットされた旨(プログラムによって要求されない場合)をプログラムに通知する。LCARDおよびRCARDデバイスはカードを実行するために使用されるプロトコルに固有である。典型的に、ISO7816プロトコルが使用される。
SCTVデバイスは、テレビ・セット2022へのスカート(定順位自動送信方式)(SCART)アウトレットの検証及び構成をプログラムが行うことを可能にする。例えば、このデバイスは、プログラムが、スカート・アウトレットのサウンド特性に関する情報をリクエストし、サウンドに「ミュート」を実行し、またRGBレベルをダイナミックにプログラムすることを可能にする。
TUNERデバイスは、プログラムがチューナ4028を使用することを可能にする。例えば、このデバイスは、プログラムが最小周波数か、またはチューナの現周波数のいずれかから走査を実行し、チューナ・パラメータを読み取り、またチューナをプログラムすることを可能にする。
SERIALデバイスは、プログラムがシリアル・リンクを介して装置と通信することを可能にし、またPARALLELデバイスは、プログラムがパラレル・リンクを介して装置と通信することを可能にする。例えば、これらのデバイスは、プログラムが各リンクを介してメッセージを送り、またそのリンクを介してメッセージが受信された旨をプログラムに通知する。
MODEMデバイスは、レシーバ/デコーダが、V23を支持する内部半2重モデムを介してデータ・サービスと通信することを可能にする。このMODEMデバイスは番号のダイアリングと、メッセージのデータ・サーバへの送信と、モデムの断続と、メッセージの信号受信と、キャリアの検出または喪失およびエラーの検出をリクエストする。
遠隔位置で実行される遠隔デバイスは、ポートおよびプロトコルが規定されなければならないことを除いて、どのローカル・デバイスともなりうる。
「低レベル・デバイス」に加えて、レシーバ/デコーダ2020は、レシーバ/デコーダ2020の動作を制御する「高レベル・デバイス」を含めることもできる。
MPEGデータ・ストリームからロードされたセクションに関して、「MLOADデバイス」
といわれるデバイス4072は、一つのアプリケーションが、MPEGセクション、完全なMPEGテーブルまたはハードウェアおよびソフトウェア・フィルタ基準に対応するMPEGセクションのグループにロードすることを可能にする。
図8を参照して、電磁信号がレシーバ2018によって受信され、MPEGチューナ4028に送信される。チューナは典型的にはある周波数の範囲を走査し、キャリア周波数がその範囲内で検出されたときにのみ停止する。そうして検出された信号は復調器4500に送信され、ここで信号が復調され、この信号がデマルチプレクサ4502に送信される。このデマルチブレクサ4502はMPGEチップ4504に接続される。MPGEチップ4504は同様に、テレビ2022に接続される。デマルチプレクサ4502は、レシーバ/デコーダ2020のRAM容量4022に接続されている32個の出力まで典型的に提供されるハードウェア・フィルタ4506にも接続されている。
デマルチプレクサ4502によって受信された電磁信号は、データ・パケットの多数のデータ・ストリームを含み、典型的には放送供給者によって提供されるサービスのためのビデオ・パケットのストリーム、オーディオ・パケットのストリーム、テレテキスト・パケットのストリームおよびサブタイトル・パケットのストリームからなる。これらのデータ・パケットは、テレビ・セット2022のための信号にデコードするためにデマルチプレクサ4502によってデマルチプレックスされ、MPEGチップ4504に伝送される。
アプリケーションに関するデータ・パケットはハードウェア・フィルタ4506に伝送される。図9を参照して、ハードウェア・フィルタないしプリフィルタ4506は、データ・ストリームのセクション4508の典型的には8バイトのうち一つまたはそれ以上、典型的にはオフセット・バイト0(4150)およびオフセット・バイト3から9(4512)を使用して、データ・ストリームからのセクションをフィルタする。これらのバイトはTID4302、セクション番号4306、最終セクション番号4308およびMPEGセクション4508のTIDエクステンション4310を含んでいる。
ハードウェア・プリフィルタ特性を規定するために、アプリケーションは、セクション4508のどのビットを考慮するか、また各選択されたビットの予想値を特定付ける。従って、ハードウェア・プリフィルタ4506はフィルタ・マスク・アレイ4514およびフィルタ値アレイ4516それぞれからなり、各例は図10に示す。図10において、ビット4518、4520および4522はフィルタ・マスク4514を使用して選択され、またこれらのビットのそれぞれの値(0、1および0)がフィルタ値4516を使用して選択される。これらのフィルタの基準により、MPEGセクション4524はレシーバ/デコーダ2020のRAM4022のバッファへ出力され、ここでMPEGセクション4526はバッファへ出力されない。
ハードウェア・プリフィルタ4506は、メイン・プロセッサ内でのプロセッサ電力の浪費を回避してデマルチプレクサ・チップによって操作される。
マイクロプロセッサは、そのセクションがソフトウェア・フィルタ4526として記憶されているレシーバ/デコーダ2020のRAM4022を利用できる。ソフトウェア・フィルタ4526により、RAM容量4022のバッファ中にロードされたどのセクションがアプリケーションに入ることになるか選択することができる。
ソフトウェア・フィルタの原理は、ハードウェア・フィルタの原理と類似している。ソフトウェア・フィルタ4526は、MPEGセクション4508中のデータの典型的には8個の連続したバイト4528を使用する。図11に示したように、これらの8個の連続するバイトの第1バイト4530の位置は、セクション4508中の第1バイト4510に基づいたオフセット4532で規定される。
ハードウェア・フィルタを介してロードされた後、MPEGセクション中に記憶されたデータがソフトウェア・フィルタのための基準に対応していない場合、MPEGセクションが記憶されたバッファが、他のMPEGセクションをロードするのに使用できる。
MPEGデータ・ストリームからMPEGセクションをロードするために、MLOADデバイスは典型的に次の情報を受ける。
MPEGセクションが見いだされるデータ・ストリームのPID;
PIDをデスクランブルするための多数のPID ECMからなるデスクランブル・データ・アレイ;
PIDをデスクランブルするのに使用される特定ECMを認識するオペレータ基準;
適用されるべきハードウェア・フィルタ値アレイ;
適用されるべきハードウェア・フィルタ・マスク・アレイ;
適用されるべきソフトウェア・オフセット値;
適用されるべきソフトウェア・フィルタ値アレイ;
適用されるべきソフトウェア・フィルタ・マスク・アレイ;
セクションの最大サイズ(4096バイトまで);および
どれだけ長くデバイスがセクションへ、セクションのグループへまたはテーブルにロードするのに待つか決定するタイムアウト機能。
セクションの最大サイズが512バイトを示しているとき、セクションのサイズは512バイトを超えることはできない。
セクションは、デバイスによって割り当てられたRAM容量4022のバッファに一度に全てロードされる。セクションがロードされたときに、また、これがソフトウェア・フィルタ基準に対応していれば、デバイスはデマルチプレキシング・ルートを開放し、実行レポートとセクションを含んでいるバッファのアドレスとを含む「イベント」を介してアプリケーションに通知しなければならない。ロード後、セクションはそれが記憶されたバッファのアドレスによって識別される。
テーブルがロードされたときに、デバイスはTID4302も受ける。テーブルの各セクションは、これに割り当てられた各バッファ全てに一度にロードされる。しかし、テーブルはセクションの端から端まで、またセクションの順番に進めることによってロードすることが必須ではない。テーブルの各セクションがロードされるにつれて、デバイスはテーブルのセクションがロードされたことをアプリケーションに通知することになる。別の方法で、または付加的にデバイスは全テーブルがそのために割り当てられたバッファに順次ロードされる事象を介してアプリケーションに通知することができる。
図12を参照して、テーブルは典型的に次の方法でロードされる(ソフトウェア・フィルタの説明は簡潔さだけの理由で省略する);
ステップ1:ハードウェア・フィルタ・マスク・アレイ4532およびハードウェア・フィルタ値アレイ4536の特定付け;
ステップ2:ハードウェア(およびソフトウェア)に対応する第1セクション4538をロードする;
ステップ3:セクション4538のLSN4530の値を読み取り、ロードされるべきセクションの数(=LSN+1)を決定し、LSN4530の値に従ってハードウェア・フィルタ・マスク・アレイ4534およびハードウェア・フィルタ値アレイ4536を変更する;
ステップ4から6:TIDとLSNの値に従って残りのセクション4542、4544 および4546をロードし、イベント(事象)をアプリケーションに送信する。
テーブルのローディングは、正しく行われたダウンロードを示すイベントが実行時間エンジン4006のキューに突入したときにのみ完了する。このイベントがエンジン・キューに配置される前に、テーブルのローディングの途中終了を正しく行わなければならない。
テーブルがロードされた後、テーブルのダウンロードがリクエストされたときに、アプリケーションによってそれが割り当てられた名前で識別される。
テーブルがレシーバ/デコーダ2020のメモリに記憶された方法に関する情報は、テーブルの記述子を戻すコールによってアクセスすることができる。この種の記述子の一例を図17に示す。記述子4700は、テーブル中のセクションの総数(LSN+1)を含むフィールド4702と、「0」のSNを有するセクション4544に始まり、「1」のSNを有するセクション4546から、LSNに対応するSNを有するセクション4542までのテーブルを形成するセクション4538、4542、4544および4546を包含しているバッファのリスト4704とを含んでいる。
一グループのセクションは、ハードウェアおよびソフトウェアのフィルタ基準に対応するセクションの全てからなる。これらのセクションはMPEGデータ・ストリーム中に巡回的に現れる。
図13を参照して、グループ(組)4548は、二つのセクション、すなわち、最初のセクション(SDG)4550と最後のセクション(SFG)4552によって範囲が定められている。各セクションはそれぞれのフィルタ基準に対応し、両者間にグループの他のセクション(SG)4554がある。
グループ中のセクションのローディングは二つの異なるローディング・モードを用いて行なうことができる。
「後続モード」において、SDG4550の直後の所定数のセクション4544がロードされる。各タイプのセクション(SDG、SG、SFG)については、アプリケーションはTID、ハードウェア・フィルタ、ソフトウェア・フィルタおよび最大セクション長さを識別する。
図14を参照して、デバイスはまずハードウェアおよびソフトウェア・フィルタ基準を適用してSDG4550のみのダウンロードおよび記憶を可能にするのが好ましい。これでSDG4550のロードの前に、レシーバ/デコーダ2020のRAMメモリ容量4022のバッファへの余分なSG4554のローディングを回避する。検出時に、SDG4550がメモリのロケーションまたはバッファ4556に記憶される。こうしてデバイスはハードウェアおよびソフトウェアのフィルタ基準を適用して1グループのMPEGデータ・セクションから所望のSGとSFGのダウンロードを可能にする。
図14に示す例において、一つのSDG、七つのSGおよび一つのSFGからなる1グルーブのMPEGセクションから三つのSG4554が、MPEGデータ・ストリームからダウンロードされることになる。バッファ4556へのSDGの記憶に続いて、SDG4550の後に伝送される対象のMPEGセクションのグループからの最初のSG4558がバッファ4560に記憶される。同様にして、SDG4550の後に伝送される対象のMPEGセクションのグループからの第2のSG4562がバッファ4564に記憶され、SDG4550の後に伝送される対象のMPEGセクションのグループからの第3のSG4566がバッファ4568に記憶される。
所要数のセクション4554が記憶されるか、SFG4552がダウンロードされるまで、SGの記憶操作が続行される。ダウンロードが実行されれば、SFG4552はメモリ・ロケーションに記憶されない。
グループの各セクションがロードされるにつれて、デバイスは、グループのセクションがロードされたイベントを介してアプリケーションに通知することができる。別の方法で、または付加的に、デバイスは、MPEGセクションの記憶の完了かまたはアプリケーションへイベントを送ることによってSFG4552をダウンロードすることのいずれかのみでアプリケーションへ通知することができる。
「先行モード」において、SFGの直前の所定数のセクションがメモリ・ロケーションに記憶される。各タイプのセクション(SDG、SG、SFG)については、アプリケーションはPID、TID、ハードウェア・フィルタ、ソフトウェア・フィルタおよび最大セクション長さを識別する。
このモードでのローディングは、MPEGセクションを記憶するために循環バッファの使用を必要とする。
図15を参照して、デバイスはまずハードウェアおよびソフトウェアのフィルタ基準を適用してSDG4570のみをダウンロードし記憶できるのが好ましい。これでSDG4570のロードの前に、レシーバ/デコーダ2020のRAMメモリ容量4022のへの余分なSG4544のローディングを回避する。検出時に、SDG4550は記憶されない。こうしてデバイスはハードウェアおよびソフトウェアのフィルタ基準を適用して1グループのMPEGデータ・セクションから所望のSGとSFGのダウンロードを実行することを可能にする。
図15に示す例において、一つのSDG、七つのSGおよび一つのSFGからなる1グループのMPEGセクションから三つのSG4544が、MPEGデータ・ストリームからダウンロードされることになる。SDG4570のダウンロードに続いて、SDG4570の後に伝送される対象のMPEGセクションのグループからの最初のSG4572がバッファ4574に記憶される。同様にして、SDG4550の後に伝送される対象のMPEGセクションのグループからの第2のSG4576がバッファ4578に記憶され、SDG4570の後に伝送される対象のMPEGセクションのグループからの第3のSG4580がバッファ4582に記憶される。
SDG4550の後に伝送される対象のMPEGセクションのグループからの第4のSG4584がバッファ4574(すなわち、最初のSG4572が記憶されたバッファ)に記憶される。
同様にして、続いて伝送される各SG4586、4588および4590がバッファ4578、4582および4574それぞれに記憶される。
この巡回的方法でSGを記憶することは、SFG4592がデバイスによって検出さるまで継続される。これは、SFGが検出される前にたとえ所望の数のSGがロードされていなくてもあてはまる。検出がなされたときに、SFG4592はバッファに記憶され、グループのダウンロードが首尾良く行われたことを示すイベント(事象)がアプリケーションに送られる。
グループがレシーバ/デコーダ2020のRAM4022に記憶される方法に関する情報は、グループの記述子を戻す特定コールによってアクセスすることができる。
この種の記述子の一例を図16に示す。記述子4600は、グループ中のセクションの数と、SDGかまたはSFGのいずれか(ローディング・モードによる)、およびローディングする順序でグループを構成するセクションSGを包含しているバッファのリスト4604とからなる。
グループは、ロードされた後、グループのダウンロードがリクエストされたときにアプリケーションによってそれに割り当てられた名前で一意に識別される。
セクションをグループに付加し、またはグループからセクションを除去したりすることができる。あるセクションは一つを超えるグループに属すことができる。
アプリケーションが、ある一つのセクションをグループに付加することをリクエストすると、新しいセクションを含むバッファのアドレスが記述子4604の末尾に配置され、フィールド4602がアップデートされる。アプリケーションが、セクションのグループからの除去をリクエストすると、このセクションを含むバッファのアドレスが記述子4600中で非表示とされ、フィールド4602がアップデートされる。セクションがグループ中の最後のセクションでなければ、記述子は、どの空きメモリ・スペースも除去するよう再編成される。従って、全てのセクションを削除することによって「空きグループ」をもたせることもできる。
デバイスは一意の識別子で識別され、例えば、「LCARD_DEVICE_ID」がLCARDデバイスを識別し、また「RCARD_DEVICE_ID」がRCARDデバイスを識別する。
新しいデバイス4062が作成されると、放送センターから適切なアプリケーション4056をダウンロードすることによって既存デコーダ2020中にインストールすることができる。典型的に、一つのマネジャによって扱われるデバイスの最大数は256である。
このダウンロードは、ハードウェアおよびソフトウェア・バージョンをチェックするアプリケーション4056によってレシーバ/デコーダ2020で実行され、もし正しければ、新しいデバイス4062を表わすソフトウェア・モジュールをロードし、また、ツールボックス4058のプロシージャに、ファームウェア(FLASHメモリ中の)内の新しいデバイス・コードをインストールするよう求める。これはソフトウェアの残りの部分に影響を与えることなくデコーダ2020内での新しいインストールに融通性と信頼性を提供することができる。
本発明は、単に例として述べられ、詳細の変更は本発明の範囲内で行うことができる。
説明に開示された各特徴、および(妥当である場合)請求の範囲および図面は、別々にあるいは任意の適切な組み合わせで提供されてもよい。
前述の好ましい実施例では、本発明のある種の特徴はコンピュータソフトウェアを使用して実現された。しかしながら、もちろん、これらの特徴のいずれもハードウェアを使用して実現されてもよいことは当業者に明らかである。さらに、ハードウェア、コンピュータソフトウェア等によって実行された機能は、電気信号等に対して、あるいは電気信号等を使用して実行されることは容易に理解される。
相互参照は、我々の同時係属出願に対して行われ、全ては、同じ出願日を有し、名称が「信号発生および放送(代理人参照番号PC/ASB/19707)」
、「暗号化放送信号の受信機と併用するためのスマートカード、および受信機(代理人参照番号PC/ASB/19708)」、「放送・受信システムおよびそのための条件付アクセスシステム(代理人参照番号PC/ASB/19710)
」、「受信機/デコーダを介して送信機からコンピュータにコンピュータファイルのダウンロード(代理人参照番号PC/ASB/19711)」、「テレビジョンプログラムおよび他のデータの送信および受信(代理人参照番号PC/ASB/19712)」、「データのダウンロード(代理人参照番号PC/ASB/19713)」、「コンピュータメモリ構成(代理人参照番号PC/ASB/19714)」、「テレビジョンあるいはラジオ制御システム生成(代理人参照番号PC/ASB/19715)」、「送信データ・ストリームからのデータ・セクションの抽出(代理人参照番号PC/ASB/19716)」、「アクセス制御システム(代理人参照番号PC/ASB/19717)」、「データ処理システム(代理人参照番号PC/ASB/19718)」、および「放送・受信システム、およびそのための受信機/デコーダおよび遠隔コントローラ(代理人参照番号PC/ASB/19720)」である。これらの文書の開示は参照してここに組み込まれている。出願のリストは本出願を含んでいる。
【図面の簡単な説明】
【図1】本発明の好ましい実施例によるデジタル・テレビ・システムの全体構成を示す。
【図2】デジタル・テレビ・システムのインタアクティブ・システムの構成を示す。
【図3】 インタアクティブ・レシーバ/デコーダのメモリにダウンロードされたモジュール内のファイルの配置を示す。
【図4】セクションの配置を示す。
【図5】 インタアクティブ・レシーバ/デコーダのメモリのメモリ容量の配置を示す。
【図6】レシーバ/デコーダのインターフェイスの概略図である。
【図7】レシーバ/デコーダのソフトエウアの構成を示す。
【図8】MPEGデータ・ストリームからセクションをダウンロードするための受信システムの構成を示す。
【図9】ハードウェア・プリフィルタによって使用されるセクション中のバイトの配置を示す。
【図10】ハードウェア・フィルタのハードウェア・フィルタ・マスク・アレイおよびハードウェア・フィルタ数アレイの一例を示す。
【図11】ソフトウェア・プリフィルタによって使用されるセクション中のバイトの配置を示す。
【図12】テーブルのローディングの一例を示す。
【図13】セクションのグループ中のセクションの配置の一例を示す。
【図14】セクションのグルーブの後続モード・ダウンロードの一例を示す。
【図15】セクションのグループの先行モード・ダウンロードの一例を示す。
【図16】セクションのグループの記述子中のフィールドの配置を示す。
【図1に7】セクションのテーブルの記述子中のフィールドの配置を示す。
[Document name] Statement
Description: A method of extracting a data section from a transmitted data stream.
【Technical field】
The present invention relates to devices and methods for storing one or more sections of a transmitted data stream, such as an MPEG bitstream containing video and audio television data, in addition to the section of data.
[Background technology]
The advent of digital transmission systems primarily intended to broadcast television signals, but not limited to satellite television systems, has opened up the possibility of using this type of system for other purposes. One is to provide interaction with end users.
One way to do this is to run the application on a receiver / decoder where the television signal is received. The code for the application is permanently stored in the receiver / decoder. However, this will be quite limited. Preferably, the receiver / decoder must be able to download the code for the required application. In this way, a wider range of methods can be provided, and applications can be updated as needed without any user intervention.
[Disclosure of Invention]
[Problems to be Solved by the Invention]
The amount of memory is often limited in computer systems, especially those in which the computer system is embedded in a particular large system, such as a receiver / decoder for digital television. This means that the memory must be organized to minimize the use of memory space by the various functions required by the system. In addition, it is necessary to minimize the time required to access at least a certain portion of memory.
[Means for solving problems]
Therefore, the present invention is not particularly limited to this, but particularly relates to downloading only the data required by the application to the memory of the receiver / decoder.
In a first aspect, the invention provides a method of storing at least one of a plurality of sections of a transmitted data stream, wherein the one section has at least one section characteristic, the method of which is data.・ The process of receiving the stream;
With the step of filtering the one section from the data stream according to at least the one section characteristic;
With the process of memorizing the one section;
Consists of.
This filtering process is performed only on the sections required by the application to be loaded into the receiver / decoder memory.
In this preferred embodiment, the filter step is a step of identifying at least one filter characteristic, each characteristic consisting of a filter reference and a value for that filter reference;
With the process of comparing each section characteristic with each filter characteristic;
With the step of filtering the one section from the data stream when each section characteristic corresponds to the respective filter characteristic;
Includes.
A second aspect of the invention provides a method of storing multiple sections of a transmission data stream using the methods described above, each section being stored in its own memory location.
This method further identifies at least one data filter characteristic in which each data filter characteristic consists of a data manipulation criterion and a value for that data filter criterion;
With the process of comparing the data stored in each stored section with the respective data filter characteristics;
When the data stored in the stored section does not correspond to the respective data filter characteristics, the step of enabling the stored section to be replaced with the memory;
It is preferable to further contain.
When the data stored in the stored section corresponds to each data filter characteristic, it is preferable to further include the step of supplying the section identification signal to the application.
The section identification signal preferably consists of the storage address of the one section.
In a third aspect, the invention provides a method of storing groups of sections in the directions described above, the sections being periodically transmitted to the data stream, each group comprising a first section and a final section. The above method is the step of storing the first section;
The sections transmitted consecutively immediately after the first section are downloaded later, and each section continues to its respective memory location until the final section is downloaded or a predetermined number of sections are stored. And the process that is remembered;
Includes.
In a fourth aspect, the invention provides a method of storing a group of sections by the method described above, wherein the section is periodically transmitted to the data stream, the group comprising a first section and a final section. The method is the step of downloading the first section;
The sections transmitted consecutively immediately after the first section are continuously downloaded, and the last section is downloaded, or the section stored in the memory location continues until the last section is downloaded. Each section is continuously stored in its own memory location until it is continuously overwritten by being downloaded and a predetermined number of sections are stored;
With the step of storing the final section in the memory;
Includes.
In a fifth aspect, the invention provides a method of storing periodically transmitted section groups in a data stream, the group comprising a first section and a final section, wherein the method is the first. The process of downloading a section and storing it in memory;
The sections transmitted consecutively immediately after the first section are continuously downloaded, and each section has its own memory location until the final section is downloaded or a predetermined number of sections are stored in the memory. With the process that is continuously memorized in
Includes.
In a sixth aspect, the invention provides a method of storing a group of periodically transmitted sections in the data stream, wherein each group comprises a first section and a final section. , The process of receiving a data stream;
With the process of downloading the first section;
The sections transmitted consecutively immediately after the first section are downloaded in succession, and the last section is downloaded, or the section stored in the memory location continues until the last section is downloaded. Each section is continuously stored in its own memory location until it is continuously overwritten by being downloaded and a predetermined number of sections are stored;
With the step of storing the final section in the memory;
Includes.
According to the third to sixth aspects described above of the present invention, only those sections required from the group of sections are stored in the memory of the receiver / decoder. For example, if you look at a list of three television programs scheduled to broadcast at a specific time in the third and fifth aspects, only the first four sections of the group will download from the data stream. The end user can quickly scroll down the list and start with the final program indicated at that time. The fourth and sixth aspects allow only the last four sections of the group to be downloaded from the data stream, allowing the end user to quickly scroll down the list and start with the first program indicated at that time. , The receiver / decoder memory can be minimized.
In a seventh aspect, the present invention provides a device for storing at least one of a plurality of sections of a transmission data stream, wherein the one section has at least one section characteristic and the device is capable of storing data. -Means to receive the stream;
As a means of filtering the one section from the data stream according to at least the one section characteristic;
As a means of memorizing the one section;
Includes.
The filter means is a means for identifying at least one filter characteristic in which each characteristic consists of a filter reference and a value for the filter reference;
With means to compare each section characteristic with each filter characteristic;
As a means of filtering the one section from the data stream when each section characteristic corresponds to its own filter characteristic;
Is preferably contained.
In an eighth aspect, the present invention provides a device for downloading such a plurality of sections, the storage means comprising a plurality of memory sections for storing each section.
The device also provides a means of identifying at least one data filter characteristic, where each data filter characteristic consists of a data manipulation criterion and a value for that data filter criterion;
A means of comparing the data stored in each stored section with the respective data filter characteristics;
As a means of allowing the stored section to be replaced with the memory when the data stored in the stored section does not correspond to the respective data filter characteristics;
It is preferable to further contain.
The apparatus also includes means for supplying the application with a section identification signal when the data stored in the stored section corresponds to each of the filter characteristics.
The methods and devices described above can use this type of data stream in the form of an MPEG bitstream containing video and audio television data in addition to the sections described above.
[Best mode for carrying out the invention]
Preferred features of the present invention will be described herein by reference only by way of reference to the accompanying drawings.
【Example】
FIG. 1 shows the entire digital television 1000. The present invention is a compressed digital signal.
It is equipped with a nearly conventional digital television system 2000 that utilizes a conventional MPEG-2 compression system to transmit. More specifically, the MPEG-2 compressor 2002 in the broadcast center receives a digital signal stream (generally a stream of video signals). The compressor 2002 is connected to the multiplexer and scrambler 2004 by linkage 2006. The multiplexer 2004 further receives a plurality of input signals, assembles one or more transport streams, and transmits the compressed digital signal to the broadcast center transmitter 2008 via linkage 2010. Of course, it can take a wide variety of forms, including telecom links. Transmitter 2008 transmits an electromagnetic signal to satellite transponder 2014 via uplink 2012, where the terrestrial receiver 2018 is conceptually in the form of a receiving antenna, usually owned or rented by the end user. Electromagnetic signals are electronically processed and broadcast via the downlink 2016. The signal received by the receiver 2018 is owned or rented by the end user and transmitted to the built-in receiver / decoder 2020 connected to the end user's television set 2022. The receiver / decoder 2020 decodes the compressed MPEG-2 signal into the television signal of television set 2022.
Conditional access system 3000 is connected to multiplexer 2004, receiver / decoder 2020, some in the broadcast center and some in the decorator. This allows the end user to access digital television broadcasts from one or more broadcast suppliers. Within the receiver / decoder 2020, a smart card capable of decoding messages associated with a commercial offer (ie, one or more television programs sold by that broadcast supplier) can be inserted. Using Decoder 2020 and smart cards, end users can purchase commercial offers in subscription or paid viewing modes.
InteractiveThe system 4000 is also connected to the multiplexer 2004, receiver / decoder 2020, partly in the broadcast center and part in the decoder, so the end user is connected to the modem. You can interact with many applications via the modem 4002.
FIG. 2 shows the digital television system 1000 according to the present invention.InteractiveIt shows the general configuration of the television system 4000.
For exampleInteractiveSystem 4000 allows end users to purchase products from on-screen catalogs, watch local news and weather forecasts as needed, and play games through their TV set. Become.
InteractiveThe system 4000 has the following four main elements as a whole.
Authoring tool 4004, located in the broadcast center (or elsewhere), can be used by broadcast suppliers to create, develop, debug, and test applications;
The application and data server 4006, located in the broadcast center, connected to the authoring tool 4004, is used by broadcast suppliers to broadcast applications and data to end users. Can be prepared, authenticated, and formatted for transmission to the multiplexer and scrambler 2004 for insertion into the MPEG-2 transmission stream (typically its dedicated section);
A virtual machine with a run-time engine (RTE) 4008, which is executable code installed within the receiver / decoder 2020 owned or rented by the end user. Applications can be received, authenticated, decompressed and loaded for execution within the operating memory 2024 of the receiver / decoder 2020. Engine 4008 also runs resident, general purpose applications. Engine 4008 is hardware and operating system independent;
A modemed back channel 4002 between the receiver / decoder 2020 and the application and data server 4006, which MPEGs the data and application to the server 4006 in response to the end user's request. -2 It is possible to instruct to insert into the transmission stream.
InteractiveTelevision systems operate using "applications" that control the functionality of receivers / decoders and various devices built into the system. The application is represented within the engine 4008 as a "resource file". A "module" is a set of resource files and data. Several modules are required to configure one application. A receiver / decoder "memory volume" is a storage space for a module. The "interface" is used to download the module. The module can also be downloaded from the MPEG-2 transmission stream into the receiver / decoder 2020.
Next, these elements mentioned in the above sentence will be described in more detail.
For the purposes of this specification, the application is preferably one computer code that controls the high level functionality of the receiver / decoder 2020. For example, when the end user places the focus of the remote controller on a button object on the screen of television set 2022 and presses a validation key, the instruction sequence associated with that button is executed.
InteractiveThe application presents a menu, executes commands at the end user's request, and provides data related to the application's purpose. The application may be a resident application stored in the receiver / decoder 2020 ROM (or FLASH, or other non-volatile memory) or broadcast and downloaded to the receiver / decoder 2020 RAM or FLASH memory. ..
An example application is shown below.
● Start application. The receiver / decoder 2020 comprises a resident start application that is an adaptive collection of modules (the term will be described in detail later). The adaptable collection of modules makes the receiver / decoder 2020 ready for immediate operation in an MPEG-2 environment. The application has core characteristics that can be modified by the broadcast supplier if desired. Core characteristics also provide an interface between resident and downloaded applications.
● Startup application. The startup application runs the application, which may be downloaded or resident, on the receiver / decoder 2020. This application acts as a bootstrap that runs when the service arrives to start the application. The startup is downloaded into RAM, so it's easy to update. Also, startup is available on each channel either immediately after download or after preload.InteractiveIt can also be configured to allow application selection and execution. In the case of preload, the application is loaded into memory 2024 and can be started by startup if needed.
● Program guide. The program guide provides complete information about programmingInteractiveIt is an application. For example, a program guide provides information about a weekly TV program assigned to each channel of a digital TV bouquet. By pressing a key on the remote controller 2026, the end user can access the added-on screen overlaid on the event on the screen of the television set 2022. This add-on screen is a browser that provides information about the current and upcoming events of each channel of the digital television bouquet. Pressing another key on the remote controller 2026 gives the end user access to an application that displays a list of information about events over the week. In addition, end users can search and sort events based on simple, customized criteria. You can also access the selected channel directly.
● Program pay viewing application. The pay-per-view program application is available on each PPV channel of Digital TV Bouquet, which is quickly connected to the conditional access system 3000.InteractiveIt is a service. End users can access this application using a TV guide or channel browser. In addition, the application will automatically start as soon as a PPV event is detected on the PPV channel. The end user can purchase the current event via a daughter smart card 3020 or a communication server 3022 (using a modem, telephone, DTMF code, MINITEL, etc.). The application may be either resident in the ROM of the receiver / decoder 2020 or downloadable in the RAM of the decoder 2020.
● PC download application. Upon request, the end user can download the computer software using the PC download application.
● Magazine browser application. The magazine browser application has a cyclic video broadcast of images with end-user navigation via on-screen buttons.
● Quiz application. The quiz application is preferably synchronized with the broadcast quiz program. As an example, since the polynomial selection question is displayed on the screen of the television 2022, the user can select the answer using the remote controller 2026. The quiz application can inform the user whether the answer is correct and can count the user's score.
● Teleshopping application. In one example of teleshopping, an offer of goods for sale is transferred to the receiver / decoder 2020 and displayed on television 2022. The remote controller allows the user to select a specific item to purchase. Orders for that item are sent via a modemed back channel 4002 to the application and data server 4006, or to a separate sales system. The telephone number of this sales system is downloaded to the receiver / decoder with an instruction to count the credit card inserted in one of the card readers 4036 of the receiver / decoder 2020.
● Telebanking application. In one example of telebanking, the user inserts a bank card into one of the card readers 4036 of the receiver / decoder 2020. The receiver / decoder 2020 then calls the user's bank using the phone number stored in the bank card or in the receiver / decoder, and the application provides a plurality of functions so that the remote controller 2026 is used to make a selection. This function includes, for example, downloading a deposit account balance report via a telephone line, transferring funds between deposit accounts, requesting a checkbook, and the like.
● Internet browser application. In one example of an internet browser application, instructions from the user, such as wanting to view a web page at a specific URL, are entered using the remote controller 2026, and these instructions are sent through the application and the back channel 4002 connected by a modem. It is sent to the data server 4006. A web page suitable for transmission from the broadcast center is then included, which transmission is received by the receiver / decoder 2020 via uplink 2012, transponder 2014, downlink 2016 and displayed on television 2022.
The application is stored in the memory location of the receiver / decoder 2020 and is shown as a resource file. The resource file includes a graphic object description unit file, a variable block unit file, an instruction sequence file, an application file, and a data file.
The graphic object description unit file describes the screen of the application, that is, the man-machine interface of the application. The variable block unit file describes the data structure processed by the application. The instruction sequence file describes the processing operation of the application. This application has an entry point for the application.
Applications configured in this way can use data files such as icon library files, image files, character font files, color table files and ASCI I text files.InteractiveThe application can also obtain online data by inputting and / or outputting.
Engine 4008 only loads these resource files it needs in its memory at a given time. These resource files are read from the graphic object description unit file, instruction sequence file, and application file. The variable block unit file is stored in memory following the call to the module loading procedure and remains locked there until a specific call to the module unloading procedure is made.
Referring to FIG. 3, module 4010, such as telephone shopping, is a set of resource files and data that includes:
Single application file 4012
Undecided number of graphic block unit files 4014
Undecided number of variable block unit files 4016
An undetermined number of instruction sequence files 4018, and
Data files 4020, such as icon library files, image files, character font files, color table files and ASCI I text files, as needed.
In an MPEG data stream, each module contains one group of MPEG tables. Each MPEG table can be formatted as several sections. In an MPEG data stream, each section has a "size" of up to 4 kilobytes. For the transmission of data via serial and parallel ports, for example, modules of the same type are divided into tables and sections, and the size of the sections depends on the medium on which they are transmitted.
Modules are transmitted within an MPEG data stream, typically in the form of 188-byte packets within the relevant type of data stream, such as video data streams, audio data streams, teletext data streams. .. Each packet is prefixed with a 13-bit packet identifier (PID), one for each packet transmitted within the MPEG data stream. The program map table (PMT table) has a list of different data streams and defines the contents of each data stream according to the associated PID. The PID can inform the device that the application is in the data stream, in which case the PID is identified using the PMT table.
With reference to Figure 4, each section 4300 typically contains the following fields:
Table ID (TID) 4302, typically having a size of 1 byte at the beginning of section 4300;
Section length identifier 4304, typically having a size of 2 bytes;
Its section number (SN) 4306 (eg.1) in the table, the SN typically has a size of 1 byte;
The total number of sections in the table (LSN) 4308 (eg.3), the LSN typically has a size of 1 byte;
TID extension 4310, typically 2 bytes in size;
Private data 4312; and
CRC4314 in section 4300. The purpose of CRC4314 is to check all the bytes in section 4300, and if CRC4314 correlates with all of the preceding data, the section is allowed by receiver / decoder 2020. Similarly, the private data field 4312 may include an MD5 sign at the end of the field and calculated from all the predecessors of that field 4312.
For data received over a serial or parallel interface, the fields in the section change. The section typically received via any of the aforementioned interfaces consists of a reduced amount of data in fields 4302-4310, without CRC4314.
For a particular module / table, all of the sections that make up this table have the same TID4302 and the same TID extension 4310. For a particular application, all the tables that make up that application have the same TID, but different separate TID extensions.
For example, in order to access module 4010 from an MPEG bitstream, both the PID for the module and the module directory are required. This directory simply lists the modules 4010 that can be downloaded from the carrier signal. Once this directory is downloaded, it is possible to download one or more modules 4010 for the application.
The concept of Module 4010, along with the concept of downloading a small amount of code, allows for easy deployment of the application. They can be downloaded as resident software to the receiver / decoder 2020's permanent FLASH memory and can also be broadcast for download to the decoder 2020's RAM only when needed by the end user. ..
The memory capacity is the storage space for module 4010. This type of storage space is located in memory 2024 of the receiver / decoder 2020. With reference to FIG. 5, the memory 2024 is typically divided into a RAM capacity 4022, a FLASH capacity 4024 and a ROM capacity 4026. Memory is a receiver / decoder such as the MPEG capacity for the module to store the module downloaded from the MPEG bitstream and the serial capacity for receiving the module received via the serial interface to the receiver / decoder 2020. It is further subdivided into memory capacities associated with various interfaces via modules downloaded in 2020.
The RAM capacity 4022 is then divided into a dedicated zone for firmware, a working space for engine 4008 and a buffer. FLASH and other non-volatile memory can be accessed by either the application or the engine itself via Device Manager.
Each capacity contains a list of modules 4010, and each module 4010 contains a list of files 4012, 4014, 4016, 4018, 4020. You can have two files with the same name, or you can deploy them in separate modules. For example, the application version is typically stored in ROM capacity 4026, the latter version is downloadable in FLASH capacity 4024 and replaces the version stored in FLASH capacity 4024 with the version stored in ROM capacity. .. The contents of the file are compressed into the LZW format, but the decompression of the file takes a certain period of time, so it can be received in the decompressed format.
The physical interface of the receiver / decoder 2020 is used to download the data. With reference to FIG. 6, the receiver / decoder 2020 comprises, for example, six download media: an MPEG flow tuner 4028, a serial interface 4030, a parallel interface 4032, a modem 4034 and two card readers 4036. Includes.
With multiple application sources and multiple production sources for Receiver / Decoder 2020, one application must work the same for all receivers / decoders, and each receiver / decoder must run all applications in the same correct way. Must be. With reference to FIG. 7, the receiver / decoder 2020 consists of a run-time engine 4008 that runs under the control of a microprocessor and common application programming interface 4054. These are provided in all receivers / decoders 2020, and all receivers / decoders 2020 are the same from the application aspect.
FIG. 7 shows the architecture of the receiver / decoder 2020 for running application 4056. Virtual machine 4007 runs application 4056, which can consist of, for example, a virtual machine downloaded from an MPEG data stream to receiver / decoder 2020 or application 4056' connected directly to application 4056'. Execution time engine 4008 Displays graphs and text, calls devices for services, receives "events", and uses the features of library 4058 for specific calculations.
With reference to FIG. 7, with respect to the application, the functionality of Decoder 2020 is "seen" as device 4060. Therefore, these are receiver / decoder 2020 features not found in any application.
Device 4060 consists of a logical device unit that can accommodate element 4062 of hardware 4066 or physical interface 4064. This type of device is considered a "low level device" 4068. The output of this type of device 4068 can be connected by device 4068 to at least one device driver 4070 for converting the logical signal output into, for example, the signal needed to run hardware interface 4064. .. Alternatively, the device 4068 may itself drive an element or interface of the receiver / decoder 2020, i.e. the output of the device may be directly connected to the hardware 4066.
An example of a low-level device 4068 is described below.
The LCARD device allows the program to communicate with a smart card contained in one smart card reader 4036, and the RCARD device allows the program to be contained in another smart card reader 4036. Allows communication with smart cards. For example, these devices can allow programs to be read in the state of the card, read the card history, and send input messages to the card. These devices also notify the program that the card has been inserted into the reader, that the card has been removed from the reader, and that the card has been reset (if not required by the program). LCARD and RCARD devices are specific to the protocol used to execute the card. Typically, the ISO7816 protocol is used.
The SCTV device allows the program to verify and configure the skirt (sequential transmission method) (SCART) outlet to the television set 2022. For example, the device allows a program to request information about the sound characteristics of a skirt outlet, "mute" the sound, and dynamically program RGB levels.
The TUNER device allows the program to use the tuner 4028. For example, the device allows the program to scan from either the lowest frequency or the current frequency of the tuner, read the tuner parameters, and program the tuner.
The SERIAL device allows the program to communicate with the device over a serial link, and the PARALLEL device allows the program to communicate with the device over a parallel link. For example, these devices notify the program that the program has sent a message through each link and that the message has been received over that link.
The MODEM device allows the receiver / decoder to communicate with the data service via an internal half-duplex modem that supports the V23. This MODEM device requests number dialing, sending messages to the data server, connecting and disconnecting modems, receiving messages, and detecting carriers or loss and errors.
A remote device running at a remote location can be any local device, except that ports and protocols must be specified.
In addition to the "low level device", the receiver / decoder 2020 can also include a "high level device" that controls the operation of the receiver / decoder 2020.
"MLOAD device" for the section loaded from the MPEG data stream
The device 4072, referred to as device 4072, allows an application to load into a group of MPEG sections, a complete MPEG table or a group of MPEG sections corresponding to hardware and software filter criteria.
With reference to FIG. 8, the electromagnetic signal is received by the receiver 2018 and transmitted to the MPEG tuner 4028. The tuner typically scans a range of frequencies and stops only when a carrier frequency is detected within that range. The signal thus detected is transmitted to the demodulator 4500, where the signal is demodulated and this signal is transmitted to the demultiplexer 4502. This demultibrexer 4502 is connected to the MPGE chip 4504. The MPGE chip 4504 is similarly connected to the TV 2022. The demultiplexer 4502 is also connected to the hardware filter 4506, which typically provides up to 32 outputs connected to the RAM capacity 4022 of the receiver / decoder 2020.
The electromagnetic signal received by the demultiplexer 4502 contains a large number of data streams of data packets, typically a stream of video packets, a stream of audio packets, for services provided by the broadcast provider. It consists of a stream of teletext packets and a stream of subtitle packets. These data packets are demultiplexed by the demultiplexer 4502 to decode into a signal for television set 2022 and transmitted to the MPEG chip 4504.
Data packets about the application are transmitted to hardware filter 4506. With reference to FIG. 9, the hardware filter or prefilter 4506 typically has one or more of the eight bytes of section 4508 of the data stream, typically offset bytes 0 (4150) and Use offset bytes 3-9 (4512) to filter sections from the data stream. These bytes include TID 4302, section number 4306, final section number 4308 and MPEG section 4508 TID extension 4310.
To specify the hardware prefilter characteristics, the application identifies which bits in Section 4508 to consider and the expected value of each selected bit. Therefore, the hardware prefilter 4506 consists of a filter mask array 4514 and a filter value array 4516, respectively, each of which is shown in FIG. In FIG. 10, bits 4518, 4520 and 4522 are selected using the filter mask 4514, and their respective values (0, 1 and 0) are selected using the filter value 4516. By the criteria of these filters, the MPEG section 4524 is output to the buffer of RAM4022 of the receiver / decoder 2020, where the MPEG section 4526 is not output to the buffer.
The hardware prefilter 4506 is operated by a demultiplexer chip to avoid wasting processor power within the main processor.
The microprocessor can utilize RAM4022 of the receiver / decoder 2020 whose section is stored as software filter 4526. Software filter 4526 allows you to select which section loaded into the buffer with RAM capacity 4022 will enter the application.
The principle of software filters is similar to that of hardware filters. The software filter 4526 typically uses eight consecutive bytes 4528 of the data in MPEG section 4508. As shown in FIG. 11, the position of the first byte 4530 of these eight consecutive bytes is defined by an offset 4532 based on the first byte 4510 in section 4508.
After being loaded through a hardware filter, if the data stored in the MPEG section does not meet the criteria for the software filter, the buffer in which the MPEG section is stored loads the other MPEG section. Can be used to.
To load an MPEG section from an MPEG data stream, an MLOAD device typically receives the following information:
PID of the data stream in which the MPEG section is found;
A descrambled data array consisting of multiple PID ECMs for descrambled PIDs;
Operator criteria for recognizing a particular ECM used to descramble a PID;
Hardware filter value array to be applied;
Hardware filter mask array to be applied;
Software offset value to be applied;
Software filter value array to be applied;
Software filter mask array to be applied;
Maximum section size (up to 4096 bytes); and
A timeout feature that determines how long a device waits to load into a section, into a group of sections, or into a table.
When the maximum size of a section indicates 512 bytes, the size of the section cannot exceed 512 bytes.
All sections are loaded at once into a buffer with a RAM capacity of 4022 allocated by the device. When the section is loaded, and if it corresponds to the software filter criteria, the device frees the demultiplexing route and an "event" containing the execution report and the address of the buffer containing the section. The application must be notified via. After loading, the section is identified by the address of the buffer in which it was stored.
The device also receives TID4302 when the table is loaded. Each section of the table is loaded into all the buffers assigned to it at once. However, it is not mandatory to load the table from end to end of the section and by proceeding in the order of the sections. As each section of the table is loaded, the device will notify the application that the section of the table has been loaded. Alternatively, or additionally, the device can notify the application via the event that all tables are sequentially loaded into the buffer allocated for it.
With reference to FIG. 12, the table is typically loaded in the following way (software filter description omitted for brevity only);
Step 1: Identify the hardware filter mask array 4532 and the hardware filter value array 4536;
Step 2: Load the first section 4538 corresponding to the hardware (and software);
Step 3: Read the value of LSN4530 in section 4538, determine the number of sections to be loaded (= LSN + 1), and modify the hardware filter mask array 4534 and hardware filter value array 4536 according to the value of LSN4530. Do;
Steps 4-6: Load the remaining sections 4542, 4544 and 4546 according to the TID and LSN values and send the event to the application.
Table loading only completes when an event indicating a successful download rushes into the execution time engine 4006 queue. The table must be properly loaded before this event is placed on the engine queue.
After the table is loaded, when a table download is requested, it is identified by the application by its assigned name.
Information about how the table is stored in the memory of the receiver / decoder 2020 can be accessed by a call that returns the table's descriptor. An example of this type of descriptor is shown in FIG. Descriptor 4700 has SNs corresponding to LSNs, starting with field 4702 containing the total number of sections in the table (LSN + 1) and section 4544 with SNs of "0" and from section 4546 with SNs of "1". It contains a list of buffers 4704 that contains sections 4538, 4542, 4544 and 4546 that form the table up to section 4542.
A group of sections consists of all sections that correspond to hardware and software filter criteria. These sections appear cyclically in the MPEG data stream.
With reference to FIG. 13, the group 4548 is scoped by two sections, the first section (SDG) 4550 and the last section (SFG) 4552. Each section corresponds to its own filter criteria and there is another section (SG) 4554 of the group between them.
Loading of sections within a group can be done using two different loading modes.
In "subsequent mode", a predetermined number of sections 4544 immediately after the SDG 4550 are loaded. For each type of section (SDG, SG, SFG), the application identifies the TID, hardware filter, software filter and maximum section length.
With reference to FIG. 14, it is preferred that the device first apply hardware and software filter criteria to allow download and storage of the SDG 4550 only. This avoids loading the extra SG4554 into the buffer of the receiver / decoder 2020 RAM memory capacity 4022 before loading the SDG4550. Upon detection, the SDG 4550 is stored in a memory location or buffer 4556. The device thus applies hardware and software filter criteria to allow the desired SG and SFG downloads from a group of MPEG data sections.
In the example shown in FIG. 14, three SG4554s will be downloaded from the MPEG data stream from the MPEG section of one groove consisting of one SDG, seven SGs and one SFG. Following the storage of the SDG in buffer 4556, the first SG4558 from the group of MPEG sections of interest transmitted after the SDG 4550 is stored in buffer 4560. Similarly, the second SG4562 from the group of target MPEG sections transmitted after SDG4550 is stored in buffer 4564, and the third SG4566 from the group of target MPEG sections transmitted after SDG4550 is buffer 4568. Is remembered in.
The SG storage operation continues until the required number of sections 4554 is stored or the SFG4552 is downloaded. If the download is performed, the SFG4552 will not be stored in the memory location.
As each section of the group is loaded, the device can notify the application via the event that the section of the group is loaded. Alternatively, or additionally, the device can notify the application either by completing the storage of the MPEG section or by downloading the SFG4552 by sending an event to the application.
In "preceding mode", a predetermined number of sections immediately preceding the SFG are stored in the memory location. For each type of section (SDG, SG, SFG), the application identifies the PID, TID, hardware filter, software filter and maximum section length.
Loading in this mode requires the use of a circular buffer to store the MPEG section.
With reference to FIG. 15, it is preferred that the device can first download and store only the SDG4570 by applying hardware and software filter criteria. This avoids loading the extra SG4544 into the RAM memory capacity 4022 of the receiver / decoder 2020 before loading the SDG4570. At the time of detection, SDG4550 is not stored. The device is thus able to apply hardware and software filter criteria to perform the desired SG and SFG downloads from a group of MPEG data sections.
In the example shown in FIG. 15, three SG4544s from one group of MPEG sections consisting of one SDG, seven SGs and one SFG will be downloaded from the MPEG data stream. Following the download of the SDG4570, the first SG4572 from the group of MPEG sections of interest transmitted after the SDG4570 is stored in buffer 4574. Similarly, the second SG4576 from the group of target MPEG sections transmitted after SDG4550 is stored in buffer 4578, and the third SG4580 from the group of target MPEG sections transmitted after SDG4570 is buffer 4582. Is remembered in.
A fourth SG4584 from the group of MPEG sections of interest transmitted after the SDG4550 is stored in buffer 4574 (ie, the buffer in which the first SG4572 is stored).
Similarly, each SG4586, 4588 and 4590 transmitted subsequently is stored in buffers 4578, 4582 and 4574, respectively.
The storage of SG in this cyclic method continues until SFG4592 is detected by the device. This is true even if the desired number of SGs have not been loaded before SFG is detected. When the detection is made, the SFG4592 is stored in the buffer and an event is sent to the application indicating that the group download was successful.
Information about how the group is stored in RAM 4022 of the receiver / decoder 2020 can be accessed by a specific call that returns the group's descriptor.
An example of this type of descriptor is shown in FIG. Descriptor 4600 consists of the number of sections in the group, either SDG or SFG (depending on the loading mode), and a list of buffers 4604 containing the sections SG that make up the group in the order of loading. ..
After loading, the group is uniquely identified by the name assigned to it by the application when a download of the group is requested.
You can add sections to groups or remove sections from groups. A section can belong to more than one group.
When an application requests to add a section to a group, the address of the buffer containing the new section is placed at the end of descriptor 4604 and field 4602 is updated. When an application requests removal from a group of sections, the address of the buffer containing this section is hidden in descriptor 4600 and field 4602 is updated. If the section is not the last section in the group, the descriptor is reorganized to remove any free memory space. Therefore, it is possible to have a "free group" by deleting all sections.
The device is identified by a unique identifier, for example, "LCARD_DEVICE_ID" identifies the LCARD device and "RCARD_DEVICE_ID" identifies the RCARD device.
Once the new device 4062 is created, it can be installed in the existing decoder 2020 by downloading the appropriate application 4056 from the Broadcast Center. Typically, the maximum number of devices handled by one manager is 256.
This download is performed on the receiver / decoder 2020 by the application 4056, which checks the hardware and software version, loads the software module representing the new device 4062, and also puts the firmware in the procedure in the toolbox 4058. Prompt to install new device code (in FLASH memory). This can provide flexibility and reliability for new installations within Decoder 2020 without affecting the rest of the software.
The present invention is described merely as an example, and changes in detail can be made within the scope of the present invention.
Each feature disclosed in the description, and (if appropriate) claims and drawings, may be provided separately or in any suitable combination.
In the preferred embodiments described above, certain features of the invention have been achieved using computer software. However, of course, it will be apparent to those skilled in the art that any of these features may be realized using hardware. Further, it is easily understood that a function executed by hardware, computer software, or the like is executed with respect to an electric signal or the like or by using an electric signal or the like.
Cross-references are made to our co-pending applications, all with the same filing date and the name "Signal Generation and Broadcasting (Agent Reference Number PC / ASB / 19707)".
, "Smart card for use with receiver of encrypted broadcast signal, and receiver (agent reference number PC / ASB / 19708)", "Broadcast / reception system and conditional access system for it (agent reference number) PC / ASB / 19710)
, "Downloading computer files from transmitter to computer via receiver / decoder (agent reference number PC / ASB / 19711)", "transmitting and receiving television programs and other data (agent reference number PC) / ASB / 19712) "," Data download (agent reference number PC / ASB / 19713) "," Computer memory configuration (agent reference number PC / ASB / 19714) "," Television or radio control system generation (representative number PC / ASB / 19714) " Agent reference number PC / ASB / 19715) ”,“ Extraction of data section from transmitted data stream (agent reference number PC / ASB / 19716) ”,“ Access control system (agent reference number PC / ASB / 19717) ”,“ Data processing system (agent reference number PC / ASB / 19718) ”, and“ Broadcast / reception system, and receiver / decoder and remote controller for it (agent reference number PC / ASB / 19720) ”. Is. Disclosures of these documents are incorporated herein by reference. The list of applications includes this application.
[Simple explanation of drawings]
FIG. 1 shows the overall configuration of a digital television system according to a preferred embodiment of the present invention.
FIG. 2 of a digital television systemInteractiveShows the system configuration.
FIG. 3 InteractiveShows the placement of files in the downloaded module in the receiver / decoder memory.
FIG. 4 shows the arrangement of sections.
FIG. 5 InteractiveThe allocation of the memory capacity of the memory of the receiver / decoder is shown.
FIG. 6 is a schematic diagram of a receiver / decoder interface.
FIG. 7 shows the configuration of a soft ear of a receiver / decoder.
FIG. 8 shows the configuration of a receiving system for downloading sections from an MPEG data stream.
FIG. 9 shows the placement of bytes in a section used by a hardware prefilter.
FIG. 10 shows an example of a hardware filter mask array and a hardware filter number array of hardware filters.
FIG. 11 shows the placement of bytes in sections used by software prefilters.
FIG. 12 shows an example of table loading.
FIG. 13 shows an example of the arrangement of sections in a group of sections.
FIG. 14 shows an example of a subsequent mode download of a section groove.
FIG. 15 shows an example of a predecessor mode download for a group of sections.
FIG. 16 shows the placement of fields in a section's group descriptor.
FIG. 1 shows the arrangement of fields in a section table descriptor.

JP54206498A 1997-03-21 1997-04-25 How to extract a data section from a transmitted data stream Expired - Fee Related JP4376321B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP97400650.4 1997-03-21
EP97400650 1997-03-21
PCT/EP1997/002114 WO1998043415A1 (en) 1997-03-21 1997-04-25 Extracting data sections from a transmitted data stream

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009006133A Division JP2009077451A (en) 1997-03-21 2009-01-14 Method of extracting data section from transmission data stream

Publications (3)

Publication Number Publication Date
JP2001518256A JP2001518256A (en) 2001-10-09
JP2001518256A5 true JP2001518256A5 (en) 2009-03-05
JP4376321B2 JP4376321B2 (en) 2009-12-02

Family

ID=26070209

Family Applications (2)

Application Number Title Priority Date Filing Date
JP54206498A Expired - Fee Related JP4376321B2 (en) 1997-03-21 1997-04-25 How to extract a data section from a transmitted data stream
JP2009006133A Pending JP2009077451A (en) 1997-03-21 2009-01-14 Method of extracting data section from transmission data stream

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2009006133A Pending JP2009077451A (en) 1997-03-21 2009-01-14 Method of extracting data section from transmission data stream

Country Status (17)

Country Link
EP (1) EP0968602A1 (en)
JP (2) JP4376321B2 (en)
KR (1) KR100495779B1 (en)
CN (1) CN1254469A (en)
AU (1) AU742067B2 (en)
BR (1) BR9714600A (en)
CA (1) CA2284018C (en)
HU (1) HUP0002383A2 (en)
IL (1) IL131937A (en)
NO (1) NO334507B1 (en)
NZ (1) NZ500204A (en)
PL (1) PL183917B1 (en)
RU (1) RU2181929C2 (en)
TR (1) TR199902275T2 (en)
UA (1) UA61944C2 (en)
WO (1) WO1998043415A1 (en)
ZA (1) ZA973611B (en)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134554A (en) 1998-11-10 2000-10-17 Opentv, Inc. System and method for recording receipt of information
US6460086B1 (en) 1998-12-01 2002-10-01 Sun Microsystems, Inc. Method and apparatus for delivery of a bytecode embedded within a transport stream
KR100587284B1 (en) * 1999-01-14 2006-06-08 엘지전자 주식회사 Method for PSI filtering
FR2794602A1 (en) * 1999-06-02 2000-12-08 Dassault Automatismes DIGITAL TELEVISION RECEIVER / DECODER DEVICE WITH INTERACTIVE READING OF PREVIOUSLY RECORDED TELEVISION PROGRAMS
GB2350980B (en) * 1999-06-08 2003-08-27 Sgs Thomson Microelectronics Device and method for processing a stream of data
GB2352595B (en) * 1999-07-27 2003-10-01 Sgs Thomson Microelectronics Data processing device
BR0013419A (en) * 1999-08-16 2002-07-23 Gen Instrument Corp Process and system for managing multiple versions of an object-code that is downloaded by a top converter terminal on a cable television system
JP2001067803A (en) 1999-08-30 2001-03-16 Matsushita Electric Ind Co Ltd Image-recording/reproducing apparatus
JP4240766B2 (en) 2000-06-26 2009-03-18 パナソニック株式会社 DATA STORAGE METHOD, RECEIVING DEVICE AND BROADCASTING SYSTEM IMPLEMENTING THE SAME
EP1267579A3 (en) 2001-06-11 2003-03-19 Canal+ Technologies Société Anonyme MPEG table structure
KR100619053B1 (en) * 2003-11-10 2006-08-31 삼성전자주식회사 Information storage medium for subtitle and apparatus therefor
KR20050072255A (en) 2004-01-06 2005-07-11 엘지전자 주식회사 Method for managing and reproducing a subtitle of high density optical disc
KR100782808B1 (en) * 2004-01-13 2007-12-06 삼성전자주식회사 Storage medium recording interactive graphic stream and reproducing apparatus thereof
US7162533B2 (en) 2004-04-30 2007-01-09 Microsoft Corporation Session description message extensions
KR100601689B1 (en) * 2004-06-29 2006-07-14 삼성전자주식회사 Method and apparatus for filtering section data
JP2008523693A (en) * 2004-12-13 2008-07-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Method of bypassing DSMCC middleware by section filter mechanism
CN100521676C (en) 2005-04-14 2009-07-29 华为技术有限公司 Method and apparatus for realizing independent staging business software in set-top box
EP1835728A1 (en) * 2006-03-15 2007-09-19 Dibcom Method for data transfer and data recovery
US7962725B2 (en) 2006-05-04 2011-06-14 Qualcomm Incorporated Pre-decoding variable length instructions

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5477263A (en) * 1994-05-26 1995-12-19 Bell Atlantic Network Services, Inc. Method and apparatus for video on demand with fast forward, reverse and channel pause
US5635979A (en) * 1994-05-27 1997-06-03 Bell Atlantic Dynamically programmable digital entertainment terminal using downloaded software to control broadband data operations
KR0166935B1 (en) * 1994-11-23 1999-03-20 구자홍 Mpeg2 transport decoder apparatus
JP3301263B2 (en) * 1995-03-29 2002-07-15 株式会社日立製作所 Data decoding device
KR100226528B1 (en) * 1995-03-29 1999-10-15 가나이 쓰도무 Decoder for compressed and multiplexed video and audio data
US5600378A (en) * 1995-05-22 1997-02-04 Scientific-Atlanta, Inc. Logical and composite channel mapping in an MPEG network
US5864358A (en) * 1995-06-26 1999-01-26 Matsushita Electric Industrial Co., Ltd. Method for switching programs in digital broadcasting and digital broadcast receiving apparatus
JPH09182049A (en) * 1995-12-26 1997-07-11 Hitachi Ltd Digital information transmission system and transmitter and receiver therefor
JPH10145755A (en) * 1996-11-06 1998-05-29 Matsushita Electric Ind Co Ltd Data output controller

Similar Documents

Publication Publication Date Title
JP2009077451A (en) Method of extracting data section from transmission data stream
CA2284153C (en) Method of downloading of data to an mpeg receiver/decoder and mpeg transmission system for implementing the same
JP2001518256A5 (en)
KR20010030926A (en) Downloading data
KR100566419B1 (en) Decoder for a digital audiovisual transmission system
US20060271971A1 (en) Interactive television system
US20060179465A1 (en) Handling feature availability in a broadcast
EP1109400A1 (en) Transmission of a command to a receiver or to a decoder
US20070174356A1 (en) Program execution device, program execution method, and program
AU740740B2 (en) Data processing system
EP1734748A1 (en) Program execution device
WO1998043172A2 (en) Access control system
KR20000076405A (en) Acess control system
AU776683B2 (en) Method of downloading of data to an MPEG receiver/decoder and MPEG transmission system for implementing the same
MXPA99008546A (en) Extracting data sections from a transmitted data stream
MXPA99008545A (en) Access control system
CZ331699A3 (en) Selection method of data sections from transmitted data flow and apparatus for making the same
MXPA00007588A (en) Configuring method and device
CZ20002873A3 (en) Device and method for configuration of receiver/decoder