【発明の詳細な説明】
レシーバ/デコーダを介したトランスミッタからコンピュータへの
コンピュータファイルのダウンロード
本発明は以下に関するものである。
● レシーバ/デコーダ(デジタル衛星TVセットトップボックス等)を介
して、トランスミッタ(衛星TVアップリンクトランスミッタ等)からコンピュ
ータへ(PCまたはワークステーション等)コンピュータファイルをダウンロー
ドする手段;
● このような手段の1部を実行するために使用するコンピュータ;
● このようなコンピュータの処理手段をプログラムするためのコンピュー
タプログラムを備えた記録媒体(ディスケットまたはCD−ROM等);
● MPEG送信システム;
● MPEGビデオおよび/または音声データと、コンピュータファイルデ
ータのブロック。
主にTV信号のブロードキャスト、特に、しかし限定的にではなく、衛星TV
システムを目的としたデジタル送信システムの到来により、こうしたシステムを
別の用途に使用する可能性がでてきた。例えば、エンドユーザがダウンロードす
ることができるコンピュータファイルまたはソフトウェアである。
こうした送信システムではデータエラーが頻繁に発生する。ビデオまたは音声
データのエラーの場合、これらのデータエラーは補間技術等を使って頻繁にごま
かすことができるが、コンピュータファイルの単一ビットがそのファイルを使用
不可能にしてしまう。
本発明の第1の面は、レシーバ/デコーダを介した、トランスミッタからコン
ピュータへのコンピュータファイルのダウンロードに特に関連し、ファイルをデ
ータのブロックに分割する段階と、トランスミッタからそのブロックを送信する
段階と、レシーバ/デコーダで送信されたブロックを受信する段階と、レシーバ
/デコーダからコンピュータに受信したブロックを供給する段階とを有する。一
般に、ブロックはCRCコードを含んでいるため有効性を調べることができ、ブ
ロックの送信が繰返されるため、もし1度目の送信時にブロックの受信が正確に
行われなかった場合、または全く受信できなかった場合でも、2度目、あるいは
後続する送信時に受信される。こうしたスキームを伴う問題は、1つ以上のブロ
ックが適切に受信されなかった場合、ファイルの受信により長い時間がかかって
しまうことである。極端な場合、最後のブロックが適切に受信されないと、その
ファイルをダウンロードするためにかかる合計の時間は約2倍になってしまう。
こうしたスキームに伴う別の問題は、例えば、レシーバ/デコーダからコンピュ
ータへのダウンロード値が、トランスミッタからレシーバ/デコーダへのダウン
ロード値よりも低いために、ブロックが送信された順番でダウンロードされない
場合に、最後の数ブロックを待つ時間が比較的長くなることである。極端な場合
、最後の数ブロックを待つ時間は、ブロックの1セット全部を送信するのにかか
る時間とほぼ同じ程度に長い。これは全てのブロックが有効に受信された場合も
同様である。
本発明の第1面によれば、ファイルまたはその1部を一連のデータのRグルー
プに分割し、前記グループの各々を一連のデータのCブロックに細分する段階を
有し、C冗長ブロックのグループを生成する段階を有し、これらのデータブロッ
クのビットワイズ排他ORまたはNORであることにより、各冗長ブロックが、
前記Rグループ内の対応するデータブロックと関連し、前記データブロックのグ
ループと前記冗長ブロックのグループの各々をトランスミッタから送信する段階
を有し、前記送信されたブロックの少なくともいくつかを前記レシーバ/デコー
ダで受信する段階を有し、前記受信されたブロックを、前記レシーバ/デコーダ
からコンピュータへ供給する段階を有し、前記受信された冗長ブロックの少なく
とも1つについて、その冗長ブロックと、これに関連する1つを除く全てのデー
タブロックが受信されたかどうかを前記コンピュータで決定し、受信されている
場合には、その冗長ブロックと、これに対応する受信されたデータブロック上に
おいて、ビットワイズ排他ORまたはNORオペレーションを実行することによ
り前記1つのデータブロックを再生する段階を有する、レシーバ/デコーダを介
してトランスミッタからコンピュータにコンピュータファイルをダウンロードす
る方法が得られる。
疑問を避けるため、複数のデータブロック上でのビットワイズ排他ORオペレ
ーションとは、ブロックの最初の1つの各ビットがそのブロックの第2の対応ビ
ットでXORされることを意味し、この結果がブロックの第3の対応ビットでX
ORされ、これがブロックの最後の1つまで続けられる。簡略化のために、第2
ブロックの第1ビットでXORされたのは第1ブロックの第1ビットであり、そ
の結果が第3ブロックの第1ビットでXORされ、その結果の第1ビットを得る
ためにこれが続けられ、また、第2ビット、第3ビット等についても同様の動作
が実行される。しかし、これとは異なる所定のブロックのビットの置換をXOR
オペレーションに採用することも可能である。XORではなく排他NORオペレ
ーションが採用されている場合にも、同様の解釈が当てはまる。
本発明の第1の面は、特にファイルダウンロードオペレーションの最後にかけ
て、データブロックがまだ受信されていなくても、残りのデータブロックの送信
および有効性の受信を待つことなく、対応する冗長ブロックと対応するデータブ
ロックからそのブロックを再生することが可能である。特定のブロックの送信ま
たは受信に問題がある場合は、同一の一連のCブロック内の次のブロックの送信
または受信においても問題が発生する可能性が比較的高い。しかし、値Cを適切
に選択することで、Cブロックの次の連続内にある関連ブロックの送信または受
信に問題が発生する可能性は比較的低くなる。こうした冗長ブロックを追加する
ことで、全てのブロックを100/R%で送信するのに必要な時間が長くなって
しまう。しかし、Rの値を適切に選択することで、本発明のこの面が提供する利
点でこの欠点を補うことが可能である。一般に、CとRの値は、それぞれ50、
10とすることができる。
決定および再生段階は、いくつかの受信した冗長ブロックのみに、特にファイ
ルダウンロードオペレーションの最後に近いもの対して実行することができる。
しかし、決定および再生段階は、1つを除く全ての対応するデータブロックが受
信されている冗長ブロックの受信した各々に実行することが好ましい。この後者
の場合、方法はさらに、残りのデータブロックを再生するのに十分なブロックが
受信された時と、ファイルまたはその前記部分にそれ以上のブロックの受信を中
止する時とを決定する段階を有する。従って、再生段階は、必要な全てのブロッ
クが受信されてから実行される。
番号RとCの値は、全てのファイルダウンロードオペレーションにおいて同じ
値である。しかし、柔軟性を提供するために、この方法はさらに、番号RとCの
値を表示するデータをトランスミッタから送信し、レシーバでR、Cデータを受
信し、R、Cデータをコンピュータに供給する段階を有することが好ましく、こ
こでコンピュータは、各々の冗長ブロックがどのデータブロックに対応するかを
決定する上で、供給されたR、Cデータを使用する動作が可能である。
ブロックは、C冗長ブロックのグループ内にあるi番目(i=1〜C)の冗長
ブロックが、Cデータブロックの各Rグループ内のi番目データブロックと対応
するような順序で配置されることが好ましい。しかし、その他の関係も可能であ
る。
本発明の第2の面によれば、コンピュータが、前記レシーバ/デコーダから前
記ブロックを受信する手段を有し、前記受信したブロックを処理するための手段
を有し、前記処理手段が、前記受信した冗長ブロックの少なくとも1つについて
、その冗長ブロックと、これに対応するデータブロックの1つを除く全部が受信
されているかどうかを決定し、受信されている場合は、その冗長ブロック上と、
対応する受信したデータブロック上でビットワイズ排他ORまたはNORオペレ
ーションを実行することにより、前記1つのデータブロックを再生するようにプ
ログラムされており、前記受信したデータブロックと、あらゆる再生されたデー
タブロックとを記憶する手段を有する、本発明の第1の面の方法の1部を実行す
るために使用するコンピュータが得られる。
処理手段は、1つを除く全ての対応するデータブロックが受信されている冗長
ブロックの受信した各々について、こうした決定および再生を実行するようにプ
ログラムされていることが好ましい。この場合、処理手段は、残りのデータブロ
ックの再生に十分なブロックが受信された時を決定し、また、受信手段が、ファ
イルまたはその該1部のブロックのそれ以上の受信を中止するようにプログラム
されていることが好ましい。
受信手段は、番号R、Cの値を表示するデータを受信するように動作可能であ
ることが好ましく、また、処理手段は、冗長ブロックの各々がどのデータブロッ
クに対応するかを決定する上で、R、Cデータを使用するようにプログラムされ
ている。
処理手段は、コンピュータファイルまたはその1部を再構成するために、受信
したデータブロックと再生されたあらゆるデータブロックとをリンクするように
プログラムされていることが好ましく、また、記憶手段はこの再構成されたファ
イルまたはその1部を記憶するように動作可能であることが好ましい。
本発明の第3の面によれば、上述したように動作するために、本発明の第2の
面によるコンピュータの処理手段をプログラムするためのコンピュータプログラ
ムを備えた記憶媒体が得られる。
本発明の第4の面によれば、レシーバ/デコーダへダウンロードするために、
ファイルまたはその1部を、データの一連のRグループに分割し、また、前記グ
ループの各々を前記データの一連のCブロックに細分する手段を有し、C冗長ブ
ロックのグループを生成する手段を有し、前記各冗長ブロックが、データブロッ
クのビットワイズ排他ORまたはNORであることによって、Rグループ内のデ
ータブロックの対応する1つと関連し、前記データブロックのグループと、前記
冗長ブロックのグループとの各々を送信する手段を有することを特徴とするMP
EG送信システムが得られる。
本発明の第5の面は、ファイルをデータのブロックに分割し、トランスミッタ
からブロックを連続して送信し、送信されたブロックをレシーバ/デコーダで受
信し、受信したブロックをレシーバ/デコーダからコンピュータに供給する段階
を備えた、レシーバ/デコーダを介してトランスミッタからコンピュータへコン
ピュータファイルをダウンロードする方法に特に関連する。
データのブロックは、一般に700キロビット/秒といった固定のデータ値に
おいてトランスミッタからレシーバ/デコーダへ送信される。異なる能力を持つ
コンピュータでレシーバ/デコーダを使用するため、また、これらの能力を役立
たせるために、レシーバ/デコーダは、データ値の異なる様々なモードでブロッ
クをコンピュータにダウンロードすることが可能である必要がある。この様々な
モードとは、典型的な1Mビット/秒のデータ値を有するIEEE 1284E
CPモード、典型的な400キロビット/秒のデータ値を有するIEEE 12
84パラレルバイトモード、典型的な150〜200キロビット/秒のデータ値
を有するIEEE 1284パラレルニブルモード、おそらく115キロビット
/秒の最大データ値を有し、典型的なデータ値がこれよりもかなり低い可能性が
あるRS−232シリアルモードである。
レシーバ/デコーダへのデータ値がレシーバ/デコーダからのデータ値よりも
速い場合、全てのデータブロックが確実にコンピュータに受信およびダウンロー
ドされるように対処する必要がある。これは、完全なコンピュータファイルを記
憶できる十分な大きさのレシーバ/デコーダにバッファを設けることで達成され
る。あるいは、レシーバ/デコーダからコンピュータへの最小のデータ値を概算
し、これをレシーバ/デコーダの期待データ値に分割して、端数を切上げした整
数Xを求め、受信したブロックの各X内の1つがコンピュータにダウンロードさ
れるため、N/Xブロックが1つの位相に受信され、全てのNブロックをダウン
ロードするためにこの位相がX回繰返される。しかしながら、これは、効率性の
ために正確に概算されたコンピュータへのデータ値に依存するものであり、実際
にはデータ値は変化するので、この方法は不可能である。また、この方法を使用
すると、特定のデータブロックが損失した場合に重大な問題が発生してしまう。
本発明の第5の面は、これらの問題の解決方法を見つけることである。
本発明の第5の面によれば、前記ファイルを複数(N)のブロックに分割する
段階を有し、前記ファイルのブロックの各々を、そのブロックの一致と共に、前
記トランスミッタから連続して送信する段階を有し、レシーバ/デコーダにおい
て、各ブロックにつき、最初にリセットされた複数のNフラグを1つ提供し、前
記ブロックの最新の送信を受信する段階と、そのブロックにフラグが設定されて
いるかどうかを決定し、設定されていない場合には、前記レシーバから前記コン
ピュータにそのブロックを供給し、そのブロックにフラグを設定する段階とを全
てのフラグが設定されるまで周期的に繰返す、レシーバ/デコーダを介して、ト
ランスミッタからコンピュータにコンピュータファイルをダウンロードする方法
が得られる。
従って、レシーバ/デコーダに受信されるブロックの順番は関係ないことがわ
かるであろう。レシーバ/デコーダはブロックが必要であるかどうかの決定もで
き、必要である場合にはそのブロックをコンピュータにダウンロードする。レシ
ーバ/デコーダが、ブロックをレシーバ/デコーダにダウンロードするのと同じ
速度でブロックをコンピュータにダウンロードできる場合には、全てでない場合
ほとんどのブロックが順番に連続してダウンロードされる。しかし、レシーバ/
デコーダが、ブロックをレシーバ/デコーダにダウンロードするのと同じ速度で
ブロックをコンピュータにダウンロードできない場合、例えばその半分の速度で
しかダウンロードできない場合には、一般的に言えば、ある段階において別のブ
ロックがダウンロードされ、続いて、後続する段階において残りのブロックがダ
ウンロードされる。レシーバ/デコーダへのダウンロード値とレシーバ/デコー
ダからのダウンロード値の間の比率が変化すると、上述した装置がブロックのイ
ンターリーブを自動的に調整する。
供給段階の各々を遂行しながら、コンピュータは、供給されたブロックの受信
の肯定応答をレシーバ/デコーダに送信することが好ましく、そのブロックの肯
定応答の受信に反応して、各ブロックの設定が実行される。従って、ブロックが
コンピュータによって適切に肯定されていない場合、レシーバ/デコーダは次の
機会にそのブロックを再びダウンロードする。
この方法は、フラグをリセットする段階を除いて、方法を繰返す段階をさらに
有する。従って、ブロックの受信に割込みがあった場合、ダウンロード方法は、
既に受信したブロックをダウンロードすることなく再開される。
本発明の第6の面によれば、MPEGビデオおよび/または音声データのテー
ブルと、コンピュータファイルデータのブロックを受信するように配置されたレ
シーバ/デコーダであって、コンピュータファイルが、周期的に受信されるこう
したブロックの複数Nとして受信され、こうしたブロックの各々がそのブロック
の識別を有しており、前記レシーバ/デコーダが、各コンピュータファイルブロ
ックについて、最初にリセットされている複数のNフラグを1つ記憶する手段を
有し、1番新しく受信したコンピュータファイルブロックを一時的に記憶する手
段を有し、前記ブロック記憶手段内に記憶された前記ブロックをコンピュータに
供給する手段と、1番新しく受信したブロックのフラグが前記フラグ記憶手段で
設定されているかどうかを決定し、設定されていない場合には、前記ブロック供
給手段に、前記ブロック記憶手段から前記コンピュータへそのブロックを供給さ
せ、前記フラグ記憶手段内のそのブロックにフラグを設定させる制御手段を有す
ることを特徴とするレシーバ/デコーダが得られる。
レシーバ/デコーダは、コンピュータから、このようなブロックがブロック供
給手段から受信された旨の肯定応答を受信するための手段をさらに有し、前記制
御手段が、前記ブロックの肯定応答に反応して、そのブロックにフラグを設定す
るように動作可能であることが好ましい。
制御手段は、接続が損失した後に、フラグをリセットすることなくコンピュー
タファイルブロックの受信を再開させるように動作可能であることが好ましい。
ブロック供給手段が、異なるタイプの複数のブロック供給手段であり、例えば
、ECPモードIEEEパラレルポート、バイトモードIEEEパラレルポート
、ニブルモードIEEEパラレルポート、RS−232シリアルポートの内の少
なくとも2つを備えている。
レシーバ/デコーダを介してトランスミッタからコンピュータへコンピュータ
ファイルをダウンロードする方法に、本発明の第1および第5の特徴を組合せて
採用することが可能であることに留意すべきである。
次に、本発明の特徴を、添付の図面を参照しながら、純粋に例証の方法によっ
て説明する。
第1図は、デジタルテレビシステムの全体のアーキテクチャである。
第2図は、第1図で示したデジタルテレビシステムのインタラクティブシステ
ムのアーキテクチャである。
第3図は、第1図、第2図のシステムのレシーバ/デコーダ形成部品のインタ
ーフェースの略線図である。
第4図は、デジタルテレビシステムに使用される遠隔コンローラの略線図であ
る。
第5図は、ダウンロードされるファイルを構成するブロックの配置を示す。
第6図は、ファイルがダウンロードされている際のブロックのシーケンスを示
す。
第7図は、ファイルのダウンロードオペレーションの最中にあるレシーバ/デ
コーダの機能線図である。
第8図〜第12図は、ファイルのダウンロードオペレーション中にレシーバ/
デコーダ内で起こるプロセスを示す系統線図である。
第13図は、ダウンロードされるファイルを構成するブロックの配置を示す別
の図である。
第14図は、第13図に示したブロック第1マトリックスをさらに詳細に示す
図である。
第15図は、第13図に示したブロックの一般化したマトリックスを示す図で
ある。
第16図は、ダウンロードのためのファイルを準備する上で、テレビシステム
のアプリケーションとデータサーバにおいて実行される処理を示す系統線図であ
る。
第17図は、ファイルダウンロードオペレーションの最中に実行される処理を
示す系統線図である。
本発明によるデジタルテレビシステム1000の全体像を第1図に示している
。本発明は主に、圧縮したデジタル信号を送信するために従来のMPEG−2圧
縮システムを利用した従来のデジタルテレビシステム2000を備えている。よ
り詳細には、ブロードキャストセンター内のMPEG−2コンプレッサ2002
がデジタル信号ストリーム(一般にはビデオ信号のストリーム)を受信する。コ
ンプレッサ2002はリンケージ2006でマルチプレクサ、スクランブラ20
04と接続している。マルチプレクサ2004は複数の入力信号をさらに受信し
、1つ以上の送信ストリームをアセンブルし、圧縮されたデジタル信号を、リン
ケージ2010を介してブロードキャストセンターのトランスミッタ2008へ
送信する。もちろんこの送信は、遠隔通信リンクを含む幅広いバラエティの形式
で行うことができる。トランスミッタ2008はアップリンク2012を介して
電磁信号を衛星トランスポンダ2014へ送信する。この衛星トランスポンダに
おいて、電磁信号は電子的に処理され、概念的なダウンリンク2016を介して
地上のレシーバ2018へブロードキャストされる。レシーバ2018は、一般
にはエンドユーザが所有またはレンタルしている衛星受信アンテナである。レシ
ーバ2018が受信した信号は統合レシーバ/デコーダ2020へ送信される。
統合レシーバ/デコーダ2020は、エンドユーザが所有またはレンタルし、エ
ンドユーザのテレビセット2022と接続ている。さらに、レシーバ/デコーダ
2020は、圧縮MPEG−2信号をテレビセット2022用のテレビ信号にデ
コードする。
条件付きアクセスシステム3000は、マルチプレクサ2004、レシーバ/
デコーダ2020に接続しており、また、1部がブロードキャストセンター内に
、別の1部がデコーダ内に配置されている。これにより、エンドユーザは1つ以
上のブロードキャストサプライヤからのデジタルテレビブロードキャストにアク
セスすることができる。コマーシャルオファー(ブロードキャストサプライヤが
販売する単数または複数のテレビプログラム)に関連するメッセージの解読が可
能なスマートカードを、レシーバ/デコーダ2020内に挿入することができる
。エンドユーザは、デコーダ2020とスマートカードを使って、サブスクリプ
ションモードまたは番組有料視聴制のいずれかでコマーシャルオファーを購入す
ることができる。
インタラクティブシステム4000もマルチプレクサ2004、レシーバ/デ
コーダ2020と接続しており、さらに1部がブロードキャストセンター内に、
別の1部がデコーダ内に配置されている。これにより、エンドユーザはモデムに
繋がれたバックチャネル4002を介して多くのアプリケーションと対話するこ
とができる。
第2図は、本発明によるデジタルテレビシステム1000のインタラクティブ
テレビシステム4000の一般アーキテクチャを示す。
例えば、インタラクティブシステム4000により、エンドユーザは画面上の
形ログから商品を購入することができ、オンデマンドでローカルニュースや天気
予報を観ることや、ゲームで遊ぶことが可能になる。
インタラクティブシステム4000は、全体として4つの主要素を備えている
。
● オーサリングツール4004。ブロードキャストセンターまたはその他
の場所に設けられ、ブロードキャストサプライヤがアプリケーションの作成、開
発、デバッグ、テストを行える。
● アプリケーションおよびデータサーバ4006。ブロードキャストセン
ターにあり、オーサリングツール4004と接続している。エンドユーザに向け
て同報通信を行うために、ブロードキャストサプライヤはこれを使用して、アプ
リケーションとデータをMPEG−2伝送ストリーム(一般にはその専用セクシ
ョン)に挿入するべくマルチプレクサおよびスクランブラ2004へ伝達するた
めに、準備し、有効にし、フォーマットすることができる。
● 実行時エンジン(RTE)を備えたバーチャルマシン4008。これは
、エンドユーザが所有またはレンタルしているレシーバ/デコーダ2020内に
インストールされた一行可能なコードであり、エンドユーザはレシーバ/デコー
ダ2020の稼動メモリ内に実行のためにアプリケーションを受信し、有効にし
、圧縮を解除し、ロードすることができる。エンジン4008はまた、常駐の、
汎用アプリケーションを実行する。エンジン4008はハードウェアおよびオペ
レーティングシステムから独立している。
● レシーバ/デコーダ2020と、アプリケーションおよびデータサーバ
との間においてモデムで繋がれたバックチャネル4002。これにより、エンド
ユーザの要求に応じて、信号に、サーバ4006にデータとアプリケーションを
MPEG−2伝送ストリームに挿入するように指示することが可能になる。
インタラクティブTVシステムは、システムに内蔵されたレシーバ/デコーダ
および様々な装置の機能を制御する「アプリケーション」を使用して動作する。
アプリケーションはエンジン4008内で「リソースファイル」として表されて
いる。「モジュール」は、リソースファイルとデータのセットである。1つのア
プリケーションを構成するためインは数個のモジュールが必要である。レシーバ
/デコーダの「メモリボリューム」とはモジュールのための記憶スペースである
。モジュールは、MPEG−2伝送ストリームからレシーバ/デコーダ2020
内にダウンロードすることもできる。
レシーバ/デコーダ2020の物理的インターフェースはデータのダウンロー
ドに使用される。第3図を参照すると、デコーダ2020は、例えば次の6つの
ダウンロード装置を備えている。MPEGフローチューナ4028、シリアルイ
ンターフェース4030、パラレルインターフェース4032、モデム4034
、2つのカードリーダ4036。
本明細書の目的として、アプリケーションとは、好ましくはレシーバ/デコー
ダ2020の高レベル機能を制御するためのコンピュータコードの1ピースであ
る。例えば、エンドユーザが、遠隔コントローラ2026(第4図にさらに詳細
に示す)をテレビセット2022の画面上のボタンオブジェクト上に照準し、有
効キーを押すと、そのボタンに関連した指示シーケンスが実行される。
インタラクティブアプリケーションは、エンドユーザの要求に応じてメニュー
の提示、命令の実行を行い、そのアプリケーションの目的に関するデータを提供
する。アプリケーションは、レシーバ/デコーダ2020のROM(またはFL
ASHあるいは他の非揮発性メモリ)内に記憶された常駐アプリケーションか、
ブロードキャストのどちらであってもよく、デコーダ2020のRAM(または
FLASH)内にダウンロードされる。
アプリケーションの例を以下に示す。
● 開始アプリケーション。レシーバ/デコーダ2020が、モジュールの
適応可能なコレクション(この用語については後に詳細に説明する)である常駐
開始アプリケーションを備えている。モジュールの適応可能なコレクションは、
レシーバ/デコーダ2020をMPEG−2環境で即時動作可能にする。アプリ
ケーションは、所望であればブロードキャストサプライヤによって変更が可能な
コア特性を備えている。また、コア特性は常駐アプリケーションとダウンロード
したアプリケーションの間のインターフェースを提供する。
● スタートアップアプリケーション。スタートアップアプリケーションは
、ダウンロードしたまたは常駐のいずれであってもよいアプリケーションをレシ
ーバ/デコーダ2020上で実行する。このアプリケーションは、アプリケーシ
ョンを開始するために、サービスが到着すると実行されるブートストラップとし
て働く。スタートアップはRAM内にダウンロードされるため、アップデートが
容易に行える。またスタートアップを、ダウンロードの直後、またはプリロード
の後のいずれかに、各チャネルで使用可能なインタレクティブアプリケーション
の選択および実行が可能であるように構成することも可能である。プリロードの
場合には、アプリケーションはメモリ2024内にロードされ、必要に応じてス
タートアップによって起動することが可能である。
● プログラムガイド。プログラムガイドは、プログラミングについての完
全な情報を提供するインタラクティブアプリケーションである。例えば、プログ
ラムガイドは、デジタルTVブーケの各チャネルに割当てられた1週間のTVプ
ログラムについての情報を提供する。遠隔コントローラ2026上のキーを押す
と、エンドユーザは、テレビセット2022の画面上にある事象の上にオーバレ
イされたアッドオン画面にアクセスできる。このアッドオン画面は、デジタルテ
レビブーケの各チャネルの現在および次の事象についての情報を提供するブラウ
ザである。遠隔コントローラ2026上の別のキーを押すと、エンドユーザは、
1週間以上の事象についての情報のリストを表示するアプリケーションにアクセ
スできる。さらにエンドユーザは、単純でカストマイズされたクリテリアで事象
の検索およびソートが行える。また、選択したチャネルに直接アクセスすること
ができる。
● 番組有料視聴制アプリケーション。番組有料視聴制アプリケーションは
、条件付きアクセスシステム3000と連結したデジタルテレビブーケの各PP
Vチャネル上で利用可能なインタラクティブサービスである。エンドユーザは、
TVガイドまたはチャネルブラウザを使ってこのアプリケーションにアクセスす
ることができる。さらに、このアプリケーションはPPVチャネル上でPPV事
象が検出され次第、自動的に開始する。エンドユーザは、ドータースマートカー
ド3020または通信サーバ3022(モデム、電話、DTMFコード、MIN
ITEL等を使用)を介してカレント事象を購入することができる。アプリケー
ションは、レシーバ/デコーダ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を介してレシーバ/デコーダ2
020によって受信され、テレビ2022上に表示される。
次に、PCダウンロードアプリケーションの特定の特徴について説明する。解決
すべき特定の技術問題は、最終的にソフトウェアをダウンロードしたいコンピュ
ータが、ブロードキャストする側のデータ入力値とは異なる値を有することであ
る。例えば、ソフトウェアがMPEG−2ストリームを介して500キロビット
/秒で送信する場合、値の差異は9キロビット/秒〜1000キロビット/秒で
ある。
この問題を解決するためには、ブロードキャストセンターにおいて、ソフトウ
ェアがNブロックに分割され(第5図参照)、MPEG専用セクションに繰返し挿
入される(第6図参照)。レシーバ/デコーダ2020は、全部のソフトウェアブ
ロックを説明するビットマップを含んでいる。ダウンロードが開始すると、ビッ
トマップ内の各ビットが0に設定される。ダウンロード手順の段階は次の通りで
ある。ブロック番号を読み、bit=0の場合は受信側のコンピュータにブロッ
クを送信し、受信側のコンピュータがブロックを調べ、適切である旨の確認を送
信する。受信側のコンピュータが、そのコンピュータ内のソフトウェア(通常は
フロッピーディスクに提供されている)に対して、送信されたソフトウェアの多
数のブロックを結合するよう要求する。自動インターリーブがフロー制御手段を
提供する。ブロードキャストデータ値が変更できないようにされているため、連
続サイクル内のブロックが自動的にインターリーブされる。受信側のコンピュー
タのビット値に従って、カルーセル方式の連続サイクルで3〜4つおきのブロッ
クがデコーダ2020に送信される。これは全てのブロックが受信されるま
で続けられる。
ブロックが1つでも欠けると問題が発生する。この問題を解決するためには、
XOR機能を使った冗長の概念を利用する。必要に応じて失われたブロックの値
の引出しが可能なデータストリームに、冗長ブロックが追加される。
次に、PCダウンロードアプリケーションについてより詳細に説明する。PC
ダウンロードが行われている間、一般に、MPEGフローチューナ4028を介
して、通常700キロビット/秒のデータ値で、トランスポンダ2014からレ
シーバ/デコーダ2020へ、また、パラレルインターフェース4032または
シリアルインターフェース4030を介して、レシーバ/デコーダ2020から
コンピュータへ、データがダンロードされる。レシーバ/デコーダは、典型的な
1Mビット/秒のデータ値を有するIEEE 1284 ECPモード、典型的
な400キロビット/秒のデータ値を有するバイトモード、150〜200キロ
ビット/秒のデータ値を有するニブルモードでのパラレルインターフェース40
32を介したコンピュータへのダウンロードを支持する。レシーバ/デコーダは
さらに、おそらく115キロビット/秒の最大データ値で、おそらくこれよりも
かなり小さい典型的なデータ値での、RS−232モードでのシリアルインター
フェース4030を介したコンピュータへのダウンロードを支持する。レシーバ
/デコーダ2020は柔軟性を与えるためにこれら全てのモードのコンピュータ
へのダウンロードを提供するので、通常、ユーザはその中から最も高速のダウン
ロードモードを選択する。
レシーバ/デコーダ2020へのデータ値がレシーバ/デコーダ2020から
のデータ値よりも速い場合、全てのデータブロックがコンピュータに確実に受信
およびダウンロードされるよう処置をとる必要がある。これは、コンピュータフ
ァイル全てを記憶するのに十分な大きさのバッファを、レシーバ/デコーダ20
20内に設けることで達成される。しかしこれはコスト高である。あるいは、レ
シーバ/デコーダ2020からコンピュータへの最小のデータ値を概算し、これ
をレシーバ/デコーダ2020の期待データ値に分割して、端数を切上げした整
数Xを求め、受信したブロックの各X内の1つがコンピュータにダウンロードさ
れるため、N/Xブロックが1つの位相に受信され、全てのNブロックをダウン
ロードするためにこの位相がX回繰返される。しかしながら、これは、効率性の
ために正確に概算されたコンピュータへのデータ値に依存するものであり、実際
にはデータ値は変化するので、この方法は不可能である。また、この方法を使用
すると、特定のデータブロックが損失した場合に重大な問題が発生してしまう。
これらの問題を解決するために、第7図に示すようにPCダウンロードオペレ
ーションの最中にレシーバ/デコーダ2020が機能的に配列される。レシーバ
2018から入力されたビットストリームにブロック検出機能10が実行され、
ビットストリームはセレクタ12からバッファ14Aまたはバッファ14Bへ通
過する。バッファ14A、14Bから選択された1つのコンテンツが、セレクタ
16、パラレルポート4032の1つ、シリアルポート4030を介してPC1
4の関連するポートに供給される。バッファ14A、14Bは、ビットマップ2
0と同様に、レシーバ/デコーダ2020のRAMの部分によって提供される。
ブロック検出機能10、セレクタ12、16、バッファ14A、14B、パラレ
ルおよびシリアルポート4032、4030、ビットマップ20は、PCダウン
ロードアプリケーションを実行するプロセッサ22によって制御されている。
次に、PCダウンロードオペレーション中のレシーバ/デコーダ2020のオ
ペレーションについて、第8図〜第12図の系統線図を参照しながら説明する。
第8図の段階24にあるように、開始プロセスにおいて、受信されたブロックが
ブロック検出機能10によって検出され、各ブロックのヘッダからブロックの番
号Nが検出された。各ブロックは、そのブロックの番号iと、ブロックの合計番
号Nを含んでいる。段階26において、ビットマップ20は番号Nと等しい複数
のビットで設定されており、各ビットは0にリセットされる。段階28、30に
おいて、バッファAフラグとバッファBフラグは両方とも「エンプティ」に設定
されている。既述した例において、これらフラグの可能な状態は、「エンプティ」
、「フィリング」、「フル」、「エンプティ中」である。段階32で、PCへの出力
モードが設定される。次に、段階34で、開始プロセスが第9図、第10A図、
第10B図、第11A図、第11B図、第12図に示す第6プロセスへと続く。
この開始プロセスは実質的にパラレルで実行される。
第9図は、バッファ14A、14Bへのダウンロードの開始を制御するルーチ
ンである。段階36で、このプロセスはブロック検出機能10によって新規ブロ
ックが検出されるまで待機する。新規ブロックが検出されると、段階38におい
て新規ブロックの番号iがブロック検出機能10によって検出される。段階40
では、ビットb(i)が1に設定されているかどうかビットマップ20を調べ、
設定されている場合には、そのブロックは無視され、プロセスがその開始時に戻
る。設定されていない場合は、段階42においてバッファAフラグの「エンプテ
ィ」かどうか調べられ、そうである場合は段階44でバッファAフラグが「フィ
リング」に設定され、続いて、段階46において、セレクタ12を介したバッフ
ァ14Aへのブロックのダウンロードが開始されて、その後プロセスがその開始
時に戻る。段階42においてバッファAフラグが「エンプティ」に設定されてい
ない場合は、段階48でバッファBフラグが「エンプティ」であるかどうか調べ
られる。「エンプティ」である場合は、段階50においてバッファBフラグが「
フィリング」に設定され、続いて段階52においてセレクタ12を介したバッフ
ァ14Bへのブロックのダウンロードが開始し、その後プロセスがその開始時に
戻る。段階42、48において、どちらのバッファフラグも「エンプティ」に設
定されていない場合には、プロセスがその開始時に戻る。
第10A図は、ブロックのバッファ14Aへのダウウンロードの最後に実行さ
れるルーチンを示している。段階54において、プロセスは、ブロック検出機能
10が最後のブロックを検出するまで待機する。次に、段階56、58において
、ブロック内に含まれたCRCを使ってブロックが調べられる。ブロックが良好
であれば、段階60においてバッファAフラグが「フル」に設定され、ブロック
が不良であれば、段階62においてバッファAフラグが「エンプティ」に設定さ
れ、その結果このブロックは無視される。第10Bに示すように、バッファ14
Bへのブロックのダウンロードの最後に補足ルーチンが実行される。
第11A図は、バッファAからPC18へのブロックのダウンロードを制御す
るルーチンを示すものである。段階64において、プロセスは、バッファAフラ
グが「フル」設定になるまで待機する。次に段階66において、バッファBフラ
グが「エンプティ中」に設定されているかどうかが調べられ、設定されている場
合、プロセスはバッファ10Bが完全にエンプティ状態になるまで待機する。次
に段階68で、バッファAフラグが「エンプティ中」に設定される。続いて段階
70で、バッファ14A内のブロックiが、設定出力モードを使って、セレクタ
16を介してPC18へダウンロードされる。段階72においてプロセスは、ダ
ウンロードが完了するまで待機する。次に段階74において、PC18からの肯
定応答のチェックが行われる。肯定応答が受信されると、次に段階76において
、ビットマップ20内のブロックIのためのビットb(i)が1に設定され、段
階78において、バッファBフラグが「エンプティ」に設定される。次に、プロ
セスはその開始時に戻る。段階74において肯定応答が受信されない場合、段階
76は省略される。従って、ブロックのダウンロードは無視される。第11B図
に示すように、バッファ14BからPC18へのブロックのダウンロードを制御
する補足ルーチンが実行される。
第12図に、コンピュータのダウンロードが完了したかどうかを調べるルーチ
ンを示す。段階80において、ビットマップ20内の全てのビットb(1)〜b
(N)が1に設定されているかどうかが調べられ、設定されている場合には、レ
シーバ/デコーダ2020を考慮する限りファイルダウンロードオペレーション
が終了する。
上記の説明から、レシーバ/デコーダ2020に受信されるブロックの順番は
関係ないことがわかるであろう。レシーバ/デコーダ2020は、ブロックが必
要であるかどうかの決定もできる。必要である場合、レシーバ/デコーダ202
0はそのブロックをバッファ14A、14Bの内の1つに配置し、PC18がそ
のブロックを受信する準備が整うまで待機する。ブロックがCRCチェックに合
格しなかった場合、または、ブロックがPC18によって正しく確認されなかっ
た場合は、レシーバ/デコーダ2020が次の機会にそのブロックを再度ダウン
ロードする。レシーバ/デコーダ2020が、レシーバ/デコーダ2020にブ
ロックがダウンロードされるのと同じ速度でそのブロックをPC18にダウンロ
ードできるのであれば、全てでない場合はほとんどのブロックが順番に連続して
ダウンロードされる。しかしながら、レシーバ/デコーダ2020が、レシーバ
/デコーダ2020にブロックがダウンロードされるのと同じ速度でそのブロッ
クをPC18にダウンロードできない場合、例えば、その半分の速度でしかダウ
ンロードできない場合には、一般的に言えば、ある段階において別のブロックが
ダウンロードされ、続いて、後続する段階において残りのブロックがダウンロー
ドされる。レシーバ/デコーダ2020へのダウンロード値とレシーバ/デコー
ダ2020からのダウンロード値の間の比率が変化すると、上述した装置がブロ
ックのインターリーブを自動的に調整する。
動作中のソフトウェアの分を別にして、上述した装置でメモリを必要とするも
のは、2つのバッファ14A、14Bと、ビットマップ20である。一般に、ブ
ロックのサイズは2キロバイト(1つのMPEG−2テーブルの容量は4キロバ
イトまで可能である)であり、1つのファイル中のブロックの最大数は216ブ
ロックである。従って、メモリの必要量は、バッファ14A、14Bでは4キロ
バイト、ビットマップ20では216/8=8キロバイトであるので、合計12
バイトが、216×2キロバイト=128Mバイトのサイズのファイルをダウン
ロードするために必要となる。
上述の装置においてPC18は以下のようににプログラムされている。すなわ
ち、各ブロックが受信されると、ブロックが、ブロックの番号iを含むファイル
名と共にPC18のハードディスクに書込まれる。次に、全てのブロックが受信
されたら、オリジナルのコンピュータファイルを再生するためにNファイル内の
データが連結される。
次に、ブロードキャストセンターとレシーバ/デコーダ2020間の接続が損
失した場合に対処するために、第5図〜第12図を参照して上述した装置の改良
について説明する。この場合、損失した接続はレシーバ/デコーダ2020によ
って検出され、ユーザは、ダウンロードオペレーションを再開したいかどうかを
問われるであろう。その場合、上述の問題においてファイルのダウンロードが要
求されるが、存在するビットマップ20のビットb(1)からb(N)は0にリ
セットされないようにするために第8図の段階26は省略される。従って、ダウ
ンロードオペレーションは、既にダウンロードされたブロックを再度ダウンロー
ドすることなく再開される。
次に、XOR機能を使った冗長の概念についてより詳細に説明する。第5図、
第6図を参照して上に説明した装置において、データのブロックは、単純にブロ
ック1〜Nの連続であると考慮される。これから説明する装置は、第13図〜第
15図に示すように、ブロックは一連のマトリックスとして配置され、各マトリ
ックスがブロックの(R+1)列とCカラムを含んでいると考慮される。特に第
14図に示すように、第1マトリックス(マトリックス1)内で、最上列はi=
1〜Cと番号付けされたブロックを含み、次の列は、i=C+1〜2Cと番号付
けされたブロックを含み、この調子で最下列まで続く。第15図に示すような、
jと番号付けされたより一般的なマトリックスの場合、最上列がi=(j−1)
(R+1)C+1〜((j−1)(R+1)+1)Cと番号付けされたブロックを
含み、最下列がi=(j(R+1)-1)C+1〜j(R+1)Cと番号付けさ
れたブロックを含んでいる。マトリックスjのr列とカラムCの一般な位置にお
いて、ブロックの番号はi=((j−1)(R+1)+(r−1))C+cである。
このマトリックスにおいて、最下列(r=1〜R)を除く全ての列内のブロック
はデータブロックであり、このデータブロック内に、ダウンロードされるコンピ
ュータファイルが分割される。しかし、最下列(r=R+1)内のブロックは、
アプリケーションおよびデータサーバ4006によって既に計算され、MPEG
ビットストリーム内に加えられた冗長ブロックである。さらに詳細には、第16
図に示すように、段階100においてダウンロードされるファイルが各々が2キ
ロバイトのデータブロック内に分割される。段階102では、RとCの値が設定
される。段階104では、マトリックス番号カウンタjが1に設定される。段階
106において、第1RCデータブロックが、データブロックのCカラムとR列
のマトリックスとして読取られる。段階108では、各カラムc=1〜Cについ
て、そのカラムの冗長ブロックが計算される。より詳細には、冗長ブロックは、
対応するカラム内のデータブロック上のビットワイズXORオペレーションとし
て計算される。段階110において、冗長ブロックは、マトリックスの追加の最
下列(r=R+1)として考慮される。段階112では、ブロック番号i=(j
−1)(R+1)C+1〜(j(R+1)-1)Cがデータブロックへのヘッダと
して追加され、ブロック番号i=(j(R+1)-1)C+1〜j(R+1)C
がその冗長ブロックへのヘッダとして追加され、ブロックが記憶される。段階1
14において、ファイルの最後に達したかどうかのテストが実行され、達して
いない場合には段階116においてマトリックスカウンタjがインクリメントさ
れる。次に、次のRCデータブロックのために段階102〜108が繰返される
。これはコンピュータファイルの最後に達するまで続けられる。ファイル用のエ
ントリがディレクトリか、またはファイルの名前、サイズ、日付スタンプと、R
およびCの値を含むインデックスMPEG−2テーブルかに追加される。これで
、処理されたデータブロックと冗長ブロックは送信の準備が整ったことになる。
レシーバ/デコーダ2020を使ってファイル等をダウンロードしたい場合、
ユーザはディレクトリまたはインデックスからファイルのエントリを選択する。
するとレシーバ/デコーダ2020が、RおよびCの値を含むファイル情報をP
C18に供給する。次に、そのファイルのPCダウンロードの最中に、レシーバ
/デコーダ2020は、第7図〜第12図を参照して上述した方法と同じ機能で
動作する。しかし、PC18は以下の方法で冗長ブロックに対処するようにプロ
グラムされている(これは、ディスケットまたはCD−ROMからPC18にロ
ードされた、あるいはレシーバ/デコーダ2020からPC18にダウンロード
されたプログラムによる)。全体としてPC18は、冗長ブロックのダウンロー
ドを検出する度に、受信された冗長ブロックと同じマトリックスの同じカラム内
にあるデータブロックの1つを除く全てが受信されているかどうかを調べる。受
信されている場合、PC18が、受信したデータブロックおよび受信した冗長ブ
ロック上でビットワイズXORオペレーションを実行することにより、損失した
データブロックを再生し、この再生したデータブロックをレシーバ/デコーダ2
020から受信したかのように記憶する。
さらに詳細には、第17図を参照すると、初期段階120においてPC18が
値R、Cを受信し、次いで段階122においてブロックを受信する。段階124
では、PC18が受信したブロックのヘッダからそのブロック番号iを抽出する
。段階126では、PC18がそのブロックをiとして記憶する。続いて、段階
128でレシーバ/デコーダ2020に肯定応答を送信する。段階130におい
て、PC18は、少なくとも1つ(R−1)を除く全てのブロックがCカラムの
各々に受信されたかどうかをチェックする。このチェックは、ブロックが記憶さ
れているPC18のハードディスクのディレクトリを調べるか、また好ましくは
、速度の理由で、各ブロックが記憶された際に区切られるビットマップをPC1
8のメモリ内に採用することにより行うことができる。少なくとも1つを除く全
てのブロックが各カラムに記憶されている場合、十分なブロックが受信されてい
るのでプロセスは段階132へと進む。しかし、記憶されていない場合には、プ
ロセスは次のブロックを受信するために段階122へと戻る。段階132はFO
R−NEXTループを制御する。段階134では、PC18が各カラムについて
、そのカラムの全てのデータブロック(すなわち、R−1データブロック)が受
信されているかどうかを決定する。受信されている場合、FOR−NEXTルー
プは次のカラムへ進む。しかし、受信されていない場合には、段階136におい
て、PC18が、受信されたデータブロックおよび冗長ブロック上でビットワイ
ズXORオペレーションを実行することで、欠損しているデータブロックを再生
する。次に段階138において、PC18は再生されたデータブロックを記憶し
、FOR−NEXTループ内の次のカラムへと進む。FOR−NEXTループの
最後において、プロセスは段階140へと進む。段階140では、受信されたデ
ータブロックからコンピュータファイルが再生される。次に段階142で、コン
ピュータファイルがPC18のハードディスクに記憶される。段階134におい
て、ブロックがデータブロックであるかまたは冗長ブロックであるかの決定が、
関係0<i-jRC<Cの真理を調べることで行われる。この関係で、マトリッ
クス番号jはj=int((I−1)/(R+1)C)+1から求められ、ここで
、int()は()の整数部分に関連する。真理である場合、そのブロックは冗
長ブロックであり、真理でない場合、それはデータブロックである。
上述した装置は2つの大きな問題を抱えている。第1の問題は、トランスポン
ダ2014から各レシーバ2018へのビットストリームに起こる短い割込みに
関するものである。特定のブロックiがこうした割込みによって影響されると、
同列内の次のブロックi+1も影響を受ける可能性が比較的高いことが理解され
る。同カラム内の次のブロックi+Cも影響を受けてしまう可能性を比較的低く
するために、Cの値が選択される。ただし、各カラム内の(R+1)ブロックの
Rは適切に受信されているならば、冗長ブロックと、ビットワイズXORオペレ
ーションのプロパティを使って、残りのブロックを再生することができる。もう
1つの問題はファイルダウンロードオペレーションの最後近くにブロックが受信
される有効値に関するものである。待機しているブロックが1つだけの場合、待
機時間は、ファイル内の全てのブロックを送信するのに必要な時間とほぼ同じ長
さであることが理解される。上述した装置において、待機するデータブロックが
少ししかない場合、これは受信された冗長ブロックおよびデータブロックから再
生することが可能である。当然、冗長ブロックの送信の追加により、ファイル全
体を送信する合計時間も増え、従って、送信割込みへの対処、および最後の数ブ
ロックを待つ時間を減じる利点は、CとRの値を適切に選択することにより、合
計送信時間の増大の欠点に対して対応するものでなければならない。値CとRの
選択は、統計的研究またはトライアルアンドエラーの対象となり得る。しかし一
般には、この値はC=50とR=10であろう。CとRの両方が5よりも大きい
ことが好ましい。
上述した例において、CとRの値は、ファイルが送信可能なブロックに準備さ
れた際に決定され、CとRの値はダウンロード可能なファイルのディレクトリま
たはインデックステーブルに含まれる。あるいは、CとRの値がディレクトリま
たはインデックステーブルに含まれることなく予め決定され、PC18が予めC
とRの値と共にプログラムされてもよい。
上述した例において、ブロックのダウンロードは、ファイルの再生に十分なブ
ロックがダウンロードされるまで続けられる。次に、欠損したブロックが再生さ
れ、ファイルが再生される。別の例において、特定なカラムの冗長ブロックがダ
ウンロードされ、そのカラムの1つを除いた全てのデータブロックがダウンロー
ドされている場合、ファイル全体の再生に十分なブロックがダウンロードされる
まで待つことなく、欠損したデータブロックが再生され、その段階で受信された
旨がマークされる。
上述した装置において、レシーバ/デコーダ2020はPC18から独立した
状態として説明されている。しかし、レシーバ/デコーダ2020が、例えばア
ドオンカードの形で、PC18の1部を形成していることが理解されるであろう
。
本発明は、単に例として述べられ、詳細の変更は本発明の範囲内で行うことが
できる。
説明に開示された各特徴、および(妥当である場合)請求の範囲および図面は
、別々にあるいは任意の適切な組み合わせで提供されてもよい。
前述の好ましい実施例では、本発明のある種の特徴はコンピュータソフトウェ
アを使用して実現された。しかしながら、もちろん、これらの特徴のいずれかは
ハードウェアを使用して実現されてもよいことは当業者に明らかである。さらに
、ハードウェア、コンピュータソフトウェア等によって実行された機能は、電気
信号等であるいは電気信号を使用して実行されることは容易に理解される。
相互参照は、我々の同時係属出願に対して行われ、全ては、同じ出願日を有し
、名称が「信号発生および放送(代理人参照番号PC/ASB/19707)」、「
暗号化放送信号の受信機と併用するためのスマートカード、および受信機(代理
人参照番号PC/ASB/19708)」、「放送・受信システムおよびそのため
の条件付アクセスシステム(代理人参照番号PC/ASB/19710)」、「受信
機/デコーダを介して送信機からコンピュータにコンピュータファイルのダウン
ロード(代理人参照番号PC/ASB/19711)」、「テレビジョンプログラム
および他のデータの送信および受信(代理人参照番号PC/ASB/19712)」
、「データのダウンロード(代理人参照番号PC/ASB/19713)」、「コン
ピュータメモリ構成(代理人参照番号PC/ASB/19714)」、「テレビジ
ョンあるいはラジオ制御システム生成(代理人参照番号PC/ASB/1971
5)」、「送信データストリームからのデータセクションの抽出(代理人参照番号P
C/ASB/19716)」、「アクセス制御システム(代理人参照番号PC/AS
B/19717)」、「データ処理システム(代理人参照番号PC/ASB/197
18)」、および「放送・受信システム、およびそのための受信機/デコーダおよ
び遠隔コントローラ(代理人参照番号PC/ASB/19720)」である。これ
らの文書の開示は参照してここに組み込まれている。出願のリストは本出願を含
んでいる。DETAILED DESCRIPTION OF THE INVENTION
Transmitter to computer via receiver / decoder
Computer file download
The present invention relates to the following.
● Via a receiver / decoder (digital satellite TV set-top box, etc.)
do it, From a transmitter (such as a satellite TV uplink transmitter)
Download computer files (PC or workstation, etc.)
Means to implement;
● a computer used to carry out part of such means;
● A computer for programming such computer processing means.
Recording medium (diskette or CD-ROM, etc.) with a data program;
● MPEG transmission system;
● MPEG video and / or audio data, Computer file de
Data block.
Mainly broadcast TV signals, In particular, But not limited, Satellite TV
With the advent of digital transmission systems aimed at systems, Such a system
There is a possibility of using it for another purpose. For example, End user downloads
Computer files or software that can be
Data errors frequently occur in such a transmission system. Video or audio
For data errors, These data errors are frequently fraudulent using interpolation techniques, etc.
Can be scraped, A single bit of a computer file uses that file
Make it impossible.
A first aspect of the present invention is Via a receiver / decoder, Transmitter to controller
Especially related to the downloading of computer files to the computer, Deleting files
Splitting into data blocks, Transmit that block from the transmitter
Stages and Receiving the transmitted block at the receiver / decoder; Receiver
/ Supplying the received block from the decoder to the computer. one
Generally, The block can be checked for validity because it contains a CRC code, B
Because the lock is sent repeatedly, If the block is received correctly on the first transmission
If not, Or even if you didn't receive it at all, The second time, Or
Received on subsequent transmissions. The problems with such a scheme are: One or more blocks
If the lock was not received properly, It takes a long time to receive files
Is to put it. In extreme cases, If the last block is not properly received, That
The total time it takes to download the file is about doubled.
Another problem with these schemes is that For example, From receiver / decoder to computer
The download value to the data Down from transmitter to receiver / decoder
Because it is lower than the load value, Blocks are not downloaded in the order sent
In case, The waiting time for the last few blocks is relatively long. Extreme case
, The time to wait for the last few blocks is How to send an entire set of blocks
About the same time as This is true even if all blocks have been successfully received.
The same is true.
According to a first aspect of the present invention, R file of a series of data
Divided into Subdividing each of the groups into a series of C blocks of data
Have Generating a group of C redundant blocks; These data blocks
The bitwise exclusive OR or NOR of Each redundant block is
Associated with a corresponding data block in the R group, Group of the data block
Transmitting a loop and each of the groups of redundant blocks from a transmitter
Has, Converting at least some of the transmitted blocks into the receiver / decode
Receiving at the server, The received block The receiver / decoder
From the computer to the computer, Less of the received redundant blocks
About one, The redundant block, All but one related to this
Determining at the computer whether a block lock has been received; Has been received
in case of, The redundant block, On the corresponding received data block
And By performing a bitwise exclusive OR or NOR operation
Reproducing the one data block. Via receiver / decoder
Download a computer file from the transmitter to the computer
A method is obtained.
To avoid doubts, Bitwise exclusive OR operation on multiple data blocks
What is a solution? Each first bit of a block is the second corresponding bit of that block.
Means XOR, The result is X in the third corresponding bit of the block.
ORed, This continues until the last one in the block. For simplicity, Second
XORed with the first bit of the block is the first bit of the first block, So
Is XORed with the first bit of the third block, Get the first bit of the result
This was continued for Also, The second bit, Similar operation for the third bit, etc.
Is executed. But, XOR is used to replace the bits of a predetermined block different from this.
It can also be employed in operations. Exclusive NOR operation, not XOR
If the solution is adopted, Similar interpretations apply.
A first aspect of the present invention is Especially at the end of the file download operation
hand, Even if the data block has not been received yet, Send remaining data block
And without waiting for the receipt of validity Corresponding redundant block and corresponding data block
It is possible to play that block from the lock. Until sending a specific block
Or if you are having problems receiving, Transmission of the next block in the same series of C blocks
Alternatively, there is a relatively high possibility that a problem will occur in reception. But, Appropriate value C
By selecting Transmission or reception of the associated block in the next continuation of the C block
The likelihood of communication problems is relatively low. Add these redundant blocks
By that The time required to send all blocks at 100 / R% increases
I will. But, By properly choosing the value of R, The benefits provided by this aspect of the invention
It is possible in this respect to make up for this disadvantage. In general, The values of C and R are 50 each
It can be set to 10.
The decision and regeneration stages are: Only for some received redundant blocks, Especially Phi
Can be performed on the one near the end of the download operation.
But, The decision and regeneration stages are: All corresponding data blocks except one are received
It is preferably performed on each received redundant block being transmitted. This latter
in the case of, The method is also Enough blocks to play the remaining data blocks
When received, During the reception of further blocks in the file or its parts
Determining when to stop. Therefore, The playback stage is All necessary blocks
This is executed after the token is received.
The values of the numbers R and C are Same for all file download operations
Value. But, To provide flexibility, The method further: Numbers R and C
Transmit data to display the value from the transmitter, R at the receiver, Receive C data
Believe in R, Preferably, providing C data to a computer, This
Where the computer Which data block each redundant block corresponds to
In deciding, R supplied, Operation using C data is possible.
The block is I-th (i = 1 to C) redundancy in a group of C redundant blocks
Block Corresponds to the ith data block in each R group of C data blocks
It is preferable to arrange them in such an order. But, Other relationships are possible
You.
According to a second aspect of the present invention, Computer Before the receiver / decoder
Means for receiving said block, Means for processing the received block
Has, The processing means comprises: For at least one of the received redundant blocks
, The redundant block, All but one of the corresponding data blocks are received
To determine if If so, On that redundant block,
Bitwise exclusive OR or NOR operation on the corresponding received data block
By running the solution, Push to play the one data block
Has been programmed Said received data block; Any regenerated day
Having means for storing Performing part of the method of the first aspect of the invention
You will have a computer to use.
The processing means is Redundancy in which all but one corresponding data block has been received
For each received block, Make decisions and replays
It is preferably programmed. in this case, The processing means is Remaining data block
Determine when enough blocks have been received to play the Also, Receiving means Fa
Program to halt further reception of the file or its part block
It is preferred that
The receiving means is Number R, Operable to receive data indicating the value of C.
Preferably Also, The processing means is Which data block is
In deciding whether to respond to R, Programmed to use C data
ing.
The processing means is To reconstruct the computer file or a part of it, Receiving
To link any data blocks that have been reproduced
Preferably programmed, Also, The storage means uses this reconstructed file.
Preferably, it is operable to store the file or a part thereof.
According to a third aspect of the present invention, To work as described above, The second of the present invention
Computer program for programming computer processing means by computer
Thus, a storage medium having a memory is obtained.
According to a fourth aspect of the present invention, To download to the receiver / decoder,
File or part of it Divided into a series of R groups of data, Also, The group
Means for subdividing each of the loops into a series of C blocks of said data; C redundant bus
Means for generating a group of locks, Each of the redundant blocks is Data block
By being bitwise exclusive OR or NOR Data in R group
Associated with a corresponding one of the data blocks, A group of said data blocks; Said
MP having means for transmitting each of the groups of redundant blocks
An EG transmission system is obtained.
A fifth aspect of the present invention is: Split the file into blocks of data, Transmitter
Continuously send blocks from The transmitted block is received by the receiver / decoder.
Believe in Providing the received block from the receiver / decoder to the computer
With Transmitter to computer via receiver / decoder
It is particularly relevant to how to download a pewter file.
The block of data is Generally a fixed data value of 700 kilobits / second
At the transmitter to the receiver / decoder. Have different abilities
To use a receiver / decoder on a computer, Also, Use these abilities
To help The receiver / decoder is Blocking in various modes with different data values
It must be possible to download the tool to the computer. This variety
The mode is IEEE 1284E with typical 1 Mbit / s data values
CP mode, IEEE 12 with typical 400 kbit / s data values
84 parallel byte mode, Typical 150-200 kbit / s data value
IEEE 1284 parallel nibble mode with Probably 115 kilobits
/ Max data value per second, Typical data values could be much lower
This is an RS-232 serial mode.
The data value to the receiver / decoder is greater than the data value from the receiver / decoder
If fast, Ensure that all data blocks are received and downloaded to the computer
Need to be addressed. this is, Record complete computer files
Achieved by buffering a receiver / decoder of sufficient size to remember
You. Or, Approximate minimum data value from receiver / decoder to computer
And Dividing this into the expected data values of the receiver / decoder, Rounded up
Find the number X, One in each X of the received block is downloaded to the computer
Because N / X blocks are received in one phase, Down all N blocks
This phase is repeated X times to load. However, this is, Efficiency
In order to rely on accurately estimated data values to the computer, Actual
Since the data value changes, This method is not possible. Also, Use this method
Then Significant problems arise when certain data blocks are lost.
A fifth aspect of the present invention is: The solution is to find a solution to these problems.
According to a fifth aspect of the present invention, Divide the file into multiple (N) blocks
Having a stage, Each of the blocks of the file With that block match, Previous
Transmitting continuously from the transmitter, Receiver / decoder smell
hand, For each block, Providing one of a plurality of N flags that were initially reset, Previous
Receiving the latest transmission of the block; The block is flagged
To determine if If not set, From the receiver to the controller
Supply the blocks to the pewter, And setting the flag on the block.
Repeat periodically until all flags are set, Through the receiver / decoder, G
How to Download Computer Files from a Transmitter to a Computer
Is obtained.
Therefore, The order of the blocks received by the receiver / decoder does not matter.
It will be. The receiver / decoder can also decide if a block is needed
Come If necessary, download the block to your computer. Resi
Server / decoder Same as downloading block to receiver / decoder
If you can download blocks to your computer at speed, If not all
Most blocks are downloaded sequentially in sequence. But, Receiver /
The decoder At the same speed as downloading blocks to the receiver / decoder
If you can't download the block to your computer, For example, at half the speed
If you can only download it, Generally speaking, At some stage, another block
The lock is downloaded, continue, In subsequent stages, the remaining blocks are
Downloaded. Download value to receiver / decoder and receiver / decode
When the ratio between the download values from The device described above is
Adjust interleave automatically.
While performing each of the supply stages, Computer Receiving supplied blocks
Preferably to the receiver / decoder, Acknowledgment of the block
In response to receiving the fixed response, The setting of each block is executed. Therefore, Block
If not properly acknowledged by the computer, The receiver / decoder is
Download the block again on occasion.
This method Except for resetting the flag, Additional steps to repeat the method
Have. Therefore, If there is an interrupt in receiving the block, How to download
It is resumed without downloading the already received block.
According to a sixth aspect of the present invention, MPEG video and / or audio data table
Bull and A laser arranged to receive blocks of computer file data
A siever / decoder, Computer files This is received periodically
Received as a plurality N of blocks Each of these blocks is
Has the identification of Said receiver / decoder Each computer file browser
About the Means for storing one of a plurality of N flags that have been reset first
Have Method to temporarily store the first newly received computer file block
Having a step, The block stored in the block storage means is transferred to a computer.
Means for supplying; The flag of the first newly received block is stored in the flag storage means.
Determine if it is set, If not set, Block
To supply means, The block is supplied from the block storage means to the computer.
Let A control means for setting a flag in the block in the flag storage means
A receiver / decoder characterized in that:
The receiver / decoder is From a computer, Such a block is
Means for receiving an acknowledgment of receipt from the supply means, Said system
Your means is In response to the block acknowledgment, Flag the block
Preferably, it is operable to
The control means After the connection is lost Computing without resetting flags
Preferably, it is operable to resume receiving the file block.
Block supply means, A plurality of block supply means of different types, For example
, ECP mode IEEE parallel port, Byte mode IEEE parallel port
, Nibble mode IEEE parallel port, Of the RS-232 serial ports
It has at least two.
Computer from transmitter to computer via receiver / decoder
How to download the file, Combining the first and fifth features of the invention
It should be noted that adoption is possible.
next, Features of the present invention, With reference to the attached drawings, Purely by way of illustration
Will be explained.
Figure 1 This is the overall architecture of the digital television system.
Fig. 2 The interactive system of the digital television system shown in FIG.
The architecture of the system.
FIG. FIG. 1, The receiver / decoder components of the system of FIG.
FIG.
FIG. FIG. 2 is a schematic diagram of a remote controller used in a digital television system.
You.
FIG. 4 shows an arrangement of blocks constituting a file to be downloaded.
FIG. Indicates the sequence of blocks as the file is being downloaded
You.
FIG. Receiver / data during file download operation
It is a function diagram of a coder.
FIG. 8 to FIG. During the file download operation, the receiver /
FIG. 3 is a system diagram illustrating processes that occur in a decoder.
FIG. Another showing the arrangement of blocks that make up the downloaded file
FIG.
FIG. 13 shows the block first matrix shown in FIG. 13 in more detail
FIG.
FIG. FIG. 13 shows a generalized matrix of the blocks shown in FIG.
is there.
FIG. In preparing the files for download, TV system
FIG. 3 is a system diagram showing processing executed by the application and the data server of FIG.
You.
FIG. What happens during the file download operation
FIG.
FIG. 1 shows an overview of a digital television system 1000 according to the present invention.
. The present invention is mainly Conventional MPEG-2 compression for transmitting compressed digital signals
A conventional digital television system 2000 using a compression system is provided. Yo
More specifically, MPEG-2 compressor 2002 in Broadcast Center
Receive a digital signal stream (generally a stream of video signals). Ko
Impreza 2002 is a multiplexer with linkage 2006, Scrambler 20
04. Multiplexer 2004 further receives a plurality of input signals.
, Assemble one or more transmission streams, The compressed digital signal Rin
To the broadcast center transmitter 2008 via the cage 2010
Send. Of course, this transmission Wide variety of forms including telecommunications links
Can be done with Transmitter 2008 is connected via uplink 2012
An electromagnetic signal is transmitted to the satellite transponder 2014. To this satellite transponder
And Electromagnetic signals are processed electronically, Via the conceptual downlink 2016
Broadcast to a terrestrial receiver 2018. Receiver 2018, General
Is a satellite receiving antenna owned or rented by the end user. Resi
The signal received by the server 2018 is transmitted to the integrated receiver / decoder 2020.
The integrated receiver / decoder 2020 Owned or rented by the end user, D
Connected to the TV set 2022 of the user. further, Receiver / decoder
2020 is Decompress the compressed MPEG-2 signal into a TV signal for TV set 2022
Code.
Conditional access system 3000, Multiplexer 2004, Receiver /
Connected to the decoder 2020, Also, One in the broadcast center
, Another part is located in the decoder. This allows One or more end users
Access digital TV broadcasts from the above broadcast suppliers
Can be accessed. Commercial Offer (broadcast supplier
One or more TV programs to sell)
Smart card Can be inserted into the receiver / decoder 2020
. End users Using a decoder 2020 and a smart card, Subscription
Purchase commercial offers in either subscription mode or pay-per-view
Can be
Interactive system 4000 also has multiplexer 2004, Receiver / de
Connected to the coder 2020, One more in the broadcast center,
Another part is located in the decoder. This allows End users can connect to the modem
Interact with many applications via a connected back channel 4002
Can be.
Fig. 2 Interactive of digital television system 1000 according to the present invention
3 shows the general architecture of the television system 4000.
For example, With the interactive system 4000, End user on screen
Products can be purchased from the shape log, Local news and weather on demand
Watch the forecast, You can play games.
Interactive system 4000 Has four main elements as a whole
.
● Authoring tool 4004. Broadcast center or other
At the location of Broadcast suppliers create applications, Open
Departure, debug, Can test.
● Application and data server 4006. Broadcast Sen
In the It is connected to the authoring tool 4004. For end users
In order to broadcast Broadcast suppliers use this to Ap
Application and data to an MPEG-2 transport stream (generally, its dedicated section).
To the multiplexer and scrambler 2004 for insertion into the
In order to Prepare, Enable Can be formatted.
● A virtual machine 4008 with a runtime engine (RTE). this is
, In the receiver / decoder 2020 owned or rented by the end user
Installed one-line code, End user is receiver / decoder
Receiving the application for execution in the working memory of the Enable
, Uncompress, Can be loaded. Engine 4008 also Resident,
Run a generic application. Engine 4008 includes hardware and operating
Independent of the rating system.
● Receiver / decoder 2020, Application and data server
A back channel 4002 connected by a modem between This allows End
At the request of the user, At the signal Data and applications on server 4006
It becomes possible to instruct to insert into the MPEG-2 transmission stream.
Interactive TV system Receiver / decoder built into the system
It operates using "applications" that control the functions of various devices.
The application is represented as a “resource file” in the engine 4008
I have. "Modules" A set of resource files and data. One a
An application requires several modules to form an application. Receiver
/ Decoder “memory volume” is storage space for modules
. The module is MPEG-2 Transport Stream to Receiver / Decoder 2020
You can also download it inside.
The physical interface of the receiver / decoder 2020 is the data download
Used for Referring to FIG. The decoder 2020 is For example, the following 6
It has a download device. MPEG flow tuner 4028, Cereal
Interface 4030, Parallel interface 4032, Modem 4034
, Two card readers 4036.
For the purposes of this specification, An application is Preferably receiver / decoder
A piece of computer code for controlling the high-level functions of
You. For example, End user, Remote controller 2026 (further detailed in FIG. 4)
On the button object on the screen of the TV set 2022, Yes
When you press the effect key, The instruction sequence associated with that button is executed.
Interactive application Menu upon request of end user
Presentation, Execute the instruction, Provides data about the purpose of the application
I do. The application is The ROM (or FL) of the receiver / decoder 2020
Resident application stored in ASH or other non-volatile memory)
It can be either broadcast or The RAM of the decoder 2020 (or
FLASH).
An example of the application is shown below.
● Start application. Receiver / decoder 2020 Module
Resident, which is an adaptable collection (this term is explained in more detail below)
Has a start application. An adaptable collection of modules
Enable the receiver / decoder 2020 to operate immediately in the MPEG-2 environment. App
Application Can be changed by broadcast supplier if desired
Has core properties. Also, Core properties are resident application and download
Provide an interface between the applications.
● Startup application. Startup application
, Download applications that may be downloaded or resident
Server / decoder 2020. This application is Application
In order to start the As a bootstrap that runs when the service arrives
Work. Since the startup is downloaded into RAM, Update
Easy to do. Also start up, Immediately after downloading, Or preload
After any of Interactive applications available for each channel
Can be selected and executed. Preloaded
in case of, The application is loaded into memory 2024, If necessary
It can be activated by start-up.
● Program guide. The program guide Complete programming
An interactive application that provides complete information. For example, Blog
Ram Guide One week TV program assigned to each channel of digital TV bouquet
Provides information about the program. Press a key on the remote controller 2026
When, End users Overlay the event on the screen of the TV set 2022
You can access the added add-on screen. This add-on screen Digital
A browser that provides information about the current and next events of each channel of the Levi Bouquet
It is the. Pressing another key on the remote controller 2026, End users
Access an application that displays a list of information about events over a week
I can do it. In addition, end users Events with simple, customized criteria
Search and sort. Also, Direct access to the selected channel
Can be.
● Program paid viewing application. Paid program viewing program application
, Each PP of digital TV bouquet connected with conditional access system 3000
An interactive service that can be used on the V channel. End users
Access this application using your TV guide or channel browser
Can be further, This application is a PPV
As soon as an elephant is detected, Start automatically. End users Daughter smart car
3020 or communication server 3022 (modem, phone, DTMF code, MIN
(Using ITEL etc.). Application
Is Resident in the ROM of the receiver / decoder 2020, Or resi
Server / decoder 2020, which can be downloaded to the RAM.
May be.
● PC download application. If you request, End user is PC
Download computer software using download application
Can be
● Magazine browser application. Magazine browser application
Is Image with end-user navigation via on-screen buttons
Has a cyclic video broadcast.
● Quiz application. Quiz application broadcast
It is preferable to synchronize with the quiz program. As an example, Picture of TV 2022
A polynomial choice question is displayed on the surface, The user operates the remote controller 2026
Can be used to select an answer. The quiz application The answer is correct
To let the user know if Also, Counting user scores
Can be.
● Teleshopping application. In one example of tele-shopping
, The offer for the item to be sold is forwarded to the receiver / decoder 2020, TV set
2022. With a remote controller, The user can purchase a specific
Items can be selected. Ordering the item Back channel connected by modem
Transmitted to the application and data server 4006 via the
Or Or, Sent to individual sales systems. Phone for this sales system
The number is Inserted into one of the card readers 4036 of the receiver / decoder 2020
Down to receiver / decoder with instruction to credit credit card
Has been loaded.
● Telebanking application. In one example of telebanking, You
The user One of the card readers 4036 of the receiver / decoder 2020 has a bank card
Insert a key. Then, the receiver / decoder 2020 becomes On the bank card, Or
Calling the user's bank using the telephone number stored in the sheaver / decoder, App
Application provides multiple functions, select using remote controller 2026
I do. This feature includes For example, Downloading account reports via telephone line
Mode, Transfer of funds between savings accounts, There is a request for a checkbook.
● Internet browser application. Internet browser
In one application example, You want to see a specific URL web page
Instructions from the user Entered using the remote controller 2026, these
The instructions Application by back channel 4002 connected by modem
And transmitted to the data server 4006. Then Broadcast center
Contains the appropriate webpage for submissions from, This transmission is the uplink 2012,
Transponder 2014, Receiver / Decoder 2 via downlink 2016
020, It is displayed on the television 2022.
next, Specific features of the PC download application will be described. Settle
The specific technical issues to be addressed are: The computer from which you want to download the software
Data Having a value different from the data input value of the broadcaster.
You. For example, Software is 500 kilobits via MPEG-2 stream
/ S per second, The difference between the values is 9 kilobits / second to 1000 kilobits / second.
is there.
To solve this problem, At the broadcast center, Software
Is divided into N blocks (see FIG. 5), Repeated insertion into MPEG section
(See FIG. 6). Receiver / decoder 2020 All software blocks
Contains a bitmap that describes the lock. When the download starts, Bit
Each bit in the map is set to zero. The steps of the download procedure are as follows
is there. Read the block number, If bit = 0, the block is sent to the receiving computer.
Send The receiving computer examines the block, Send confirmation of suitability
I believe. The receiving computer Software in that computer (usually
(Provided on floppy disk) Lots of software sent
Requests that a number of blocks be combined. Automatic interleaving provides flow control
provide. Because the broadcast data value is not changed, Communicating
Blocks in subsequent cycles are automatically interleaved. Receiving computer
According to the bit value of Carousel type continuous cycle every 3-4 blocks
Is transmitted to the decoder 2020. This is done until all blocks have been received.
Continue with.
A problem arises when even one block is missing. To solve this problem,
The concept of redundancy using the XOR function is used. Block value lost if needed
Into a data stream from which Redundant blocks are added.
next, The PC download application will be described in more detail. PC
While the download is taking place, In general, Via the MPEG flow tuner 4028
do it, Usually with a data value of 700 kilobits / second, From transponder 2014
To the Sheaver / Decoder 2020, Also, Parallel interface 4032 or
Via serial interface 4030 From receiver / decoder 2020
To the computer, The data is downloaded. The receiver / decoder is Typical
IEEE 1284 ECP mode with a data value of 1 Mbit / s, Typical
Byte mode with a data value of 400 kilobits / second, 150-200 kg
Parallel interface 40 in nibble mode with data values in bits / second
32 for download to a computer. The receiver / decoder is
further, Probably with a maximum data value of 115 kilobits / second, Probably more than this
For typical data values that are fairly small, Serial interface in RS-232 mode
Support download to computer via face 4030. Receiver
/ Decoder 2020 is a computer in all these modes to provide flexibility
To provide a download to Normal, The user is the fastest down
Select the load mode.
The data value to the receiver / decoder 2020 is
Faster than the data value of All data blocks are reliably received by the computer
And take action to be downloaded. this is, Computer
A buffer large enough to store all the files Receiver / decoder 20
20 to achieve this. But this is costly. Or, Les
Estimate the minimum data value from the Seer / Decoder 2020 to the computer, this
Into the expected data values of the receiver / decoder 2020, Rounded up
Find the number X, One in each X of the received block is downloaded to the computer
Because N / X blocks are received in one phase, Down all N blocks
This phase is repeated X times to load. However, this is, Efficiency
In order to rely on accurately estimated data values to the computer, Actual
Since the data value changes, This method is not possible. Also, Use this method
Then Significant problems arise when certain data blocks are lost.
To solve these problems, As shown in Fig. 7, PC download operation
During the operation, the receiver / decoder 2020 is functionally arranged. Receiver
The block detection function 10 is executed on the bit stream input from 2018,
The bit stream passes from the selector 12 to the buffer 14A or 14B.
Spend. Buffer 14A, One content selected from 14B is selector
16, One of the parallel ports 4032, PC1 via serial port 4030
4 associated ports. Buffer 14A, 14B is Bitmap 2
Like 0, Provided by the RAM portion of the receiver / decoder 2020.
Block detection function 10, Selector 12, 16, Buffer 14A, 14B, Parale
And serial port 4032, 4030, Bitmap 20 is PC down
It is controlled by a processor 22 that executes a load application.
next, Receiver / decoder 2020 during PC download operation
About perations, This will be described with reference to the system diagrams of FIGS.
As in step 24 of FIG. In the start process, The received block is
Detected by the block detection function 10, Block number from the header of each block
No. N was detected. Each block is The number i of the block, Block total number
No. N is included. In step 26, A plurality of bitmaps 20 equal to the number N
Is set by the bits of Each bit is reset to zero. Stage 28, To 30
And Buffer A flag and buffer B flag both set to "empty"
Have been. In the example already described, The possible states of these flags are: "Empty"
, "Filling", "full", “Empty”. In step 32, Output to PC
The mode is set. next, At step 34, The starting process is shown in FIG. 9, FIG. 10A,
FIG. 10B, FIG. 11A, FIG. 11B, The process continues to the sixth process shown in FIG.
This starting process is performed substantially in parallel.
Fig. 9 Buffer 14A, Routine to control start of download to 14B
It is. At step 36, This process is a new block
Wait until a lock is detected. When a new block is detected, Step 38
Thus, the block detection function 10 detects the number i of the new block. Stage 40
Then Check bitmap 20 to see if bit b (i) is set to 1;
If set, The block is ignored, Process returns to its start
You. If not set, In step 42, the "empty"
"" If so, at step 44 the buffer A flag is
Ring " continue, In step 46, Buff via selector 12
Download of the block to the filer 14A is started, Then the process starts
Return to time. If the buffer A flag is set to "empty" in step 42
If not, Step 48 checks whether the buffer B flag is "empty"
Can be If "empty" In step 50, the buffer B flag is set to "
Filling " Subsequently, in step 52, the buffer
The download of the block to the filer 14B starts, Then when the process starts
Return. Stage 42, At 48, Both buffer flags are set to "empty".
If not specified, The process returns to its start.
FIG. Executed at the end of downloading the block to buffer 14A.
Shows the routine to be performed. In step 54, The process, Block detection function
Wait until 10 detects the last block. next, Stage 56, At 58
, The block is checked using the CRC contained in the block. Good block
If, In step 60, the buffer A flag is set to "full"; block
Is bad, In step 62, the buffer A flag is set to "empty".
And As a result, this block is ignored. As shown in FIG. 10B, Buffer 14
At the end of downloading blocks to B, a supplementary routine is executed.
FIG. 11A shows Controls block download from buffer A to PC 18
FIG. In step 64, The process, Buffer A hula
Wait until the setting is set to "full". Next, at step 66, Buffer B hula
Is set to "empty" Place that is set
If The process waits until the buffer 10B is completely empty. Next
In step 68, The buffer A flag is set to "empty". Then the stage
70, The block i in the buffer 14A is Using the setting output mode, selector
16 and downloaded to the PC 18. In step 72, the process includes: Da
Wait for the download to complete. Next, in step 74, Acknowledgment from PC18
A check for a fixed response is performed. When an acknowledgment is received, Then in step 76
, Bit b (i) for block I in bitmap 20 is set to one, Step
On floor 78, The buffer B flag is set to "empty". next, Professional
Seth returns at the beginning. If no acknowledgment is received in step 74, Stage
76 is omitted. Therefore, Block downloads are ignored. FIG. 11B
As shown in Controls block download from buffer 14B to PC 18
Is executed.
In FIG. Routine to check if computer download is complete
To indicate In step 80, All bits b (1) to b in the bitmap 20
It is checked whether (N) is set to 1 and If set, Les
File download operation as far as the sheaver / decoder 2020 is considered
Ends.
From the above explanation, The order of the blocks received by the receiver / decoder 2020 is
You will find it has nothing to do. Receiver / decoder 2020 Block is required
You can decide whether it is important. If needed, Receiver / decoder 202
0 stores the block in buffer 14A, 14B, placed in one of PC18
Wait until you are ready to receive this block. Block passes CRC check
If not, Or Block not correctly identified by PC18
If Receiver / decoder 2020 downs the block again at next opportunity
To load. Receiver / decoder 2020 Receiver / decoder 2020
Download the block to PC 18 at the same speed as the lock is downloaded.
If you can load If not all, most blocks are consecutive
Downloaded. However, Receiver / decoder 2020 Receiver
Block / decoder 2020 at the same speed as the block is downloaded.
If you are unable to download the For example, Dow only at half its speed
If you can't download Generally speaking, At some stage another block
Downloaded, continue, The remaining blocks are downloaded in subsequent stages
Is executed. Download value to receiver / decoder 2020 and receiver / decoder
When the ratio between the download values from 2020 changes, The above-mentioned device
Automatically adjusts the interleave of the rack.
Apart from the running software, The above devices require memory
Is Two buffers 14A, 14B, It is a bitmap 20. In general, B
The lock size is 2 kilobytes (the capacity of one MPEG-2 table is 4 kilobytes)
Is possible up to the site) The maximum number of blocks in one file is 216
Lock. Therefore, The required amount of memory is Buffer 14A, 4kg for 14B
Part-Time Job, In the bitmap 20, since 216/8 = 8 kilobytes, Total 12
Bytes 216 x 2 KB = 128 MB file down
Required to load.
In the device described above, the PC 18 is programmed as follows. Sand
Chi As each block is received, Block File containing block number i
It is written on the hard disk of PC 18 together with the name. next, All blocks received
When done To play the original computer file
The data is concatenated.
next, Loss of connection between broadcast center and receiver / decoder 2020
To cope with loss, Improvements to the device described above with reference to FIGS.
Will be described. in this case, Lost connections are made by receiver / decoder 2020.
Is detected, The user Whether you want to resume the download operation
Will be asked. In that case, File download required for above issues
Required, Bits b (1) to b (N) of the existing bitmap 20 are reset to 0.
Step 26 of FIG. 8 is omitted to prevent it from being set. Therefore, Dow
The unload operation is Download already downloaded blocks again
Resumed without any delay.
next, The concept of redundancy using the XOR function will be described in more detail. FIG. 5,
In the device described above with reference to FIG. The block of data is Simply bro
Is considered to be a sequence of blocks 1-N. The device to be described is FIG. 13 to FIG.
As shown in FIG. The blocks are arranged as a series of matrices, Each matri
Is considered to include the (R + 1) column of blocks and the C column. Especially
As shown in FIG. In the first matrix (Matrix 1), The top row is i =
Including blocks numbered 1-C, The next column is Numbered i = C + 1 ~ 2C
Including the block It continues to the bottom row in this condition. As shown in FIG.
For a more general matrix, numbered j, The top row is i = (j-1)
Blocks numbered as (R + 1) C + 1 to ((j-1) (R + 1) +1) C
Including The bottom row is numbered as i = (j (R + 1) -1) C + 1 to j (R + 1) C
Included blocks. In the general position of column r and column C of matrix j
And The block number is i = ((j-1) (R + 1) + (r-1)) C + c.
In this matrix, Blocks in all columns except the bottom column (r = 1 to R)
Is a data block, Within this data block, Downloaded compilation
The computer file is split. But, The blocks in the bottom row (r = R + 1)
Already calculated by the application and data server 4006, MPEG
Redundant blocks added in the bitstream. More specifically, Sixteenth
As shown in the figure, If the files downloaded in step 100 are two keys each
Divided into low byte data blocks. In step 102, R and C values set
Is done. In step 104, The matrix number counter j is set to 1. Stage
At 106, The first RC data block is C column and R column of data block
As a matrix. In step 108, For each column c = 1 ~ C
hand, The redundant block for that column is calculated. More specifically, Redundant blocks are
Bitwise XOR operation on the data block in the corresponding column
Is calculated. In step 110, Redundant blocks are Addition of matrix
It is considered as the lower row (r = R + 1). In step 112, Block number i = (j
-1) (R + 1) C + 1 to (j (R + 1) -1) C is a header to the data block.
And added Block number i = (j (R + 1) -1) C + 1 to j (R + 1) C
Is added as a header to the redundant block, The block is stored. Stage 1
At 14, A test is run to see if the end of the file has been reached, Reached
If not, at step 116 the matrix counter j is incremented.
It is. next, Steps 102-108 are repeated for the next RC data block
. This continues until the end of the computer file is reached. D for the file
If the entry is a directory Or the name of the file, size, A date stamp, R
And the index containing the value of C is added to the MPEG-2 table. with this
, The processed data blocks and redundant blocks are now ready for transmission.
If you want to download a file using the receiver / decoder 2020,
The user selects a file entry from a directory or index.
Then, the receiver / decoder 2020 becomes File information including values of R and C is expressed as P
Supply to C18. next, During the PC download of the file, Receiver
/ Decoder 2020, With the same function as the method described above with reference to FIGS.
Operate. But, The PC 18 is designed to deal with redundant blocks in the following way.
(This is Log in from PC or CD-ROM to PC18.
Loaded, Or download from receiver / decoder 2020 to PC18
Program). The PC 18 as a whole Download redundant blocks
Every time a code is detected, In the same column of the same matrix as the received redundant block
To see if all but one of the data blocks at have been received. Receiving
If trusted, PC18, Received data blocks and received redundant blocks
By performing a bitwise XOR operation on the lock, Lost
Play the data block, The reproduced data block is transmitted to the receiver / decoder 2
020 as if it were received.
More specifically, Referring to FIG. In the initial stage 120, the PC 18
The value R, C is received, Then, at step 122, the block is received. Stage 124
Then The block number i is extracted from the header of the block received by the PC 18.
. At step 126, The PC 18 stores the block as i. continue, Stage
At 128, an acknowledgment is sent to the receiver / decoder 2020. In stage 130
hand, PC18 is All blocks except at least one (R-1) are of the C column.
Check if each received. This check is Blocks are remembered
Check the directory on the hard disk of PC 18 Also preferably
, For speed reasons, The bitmap divided when each block is stored is stored in PC1.
8 can be performed in the memory. All except at least one
If all blocks are stored in each column, Not enough blocks have been received
Thus, the process proceeds to step 132. But, If not remembered, Step
The process returns to step 122 to receive the next block. Step 132 is FO
Controls the R-NEXT loop. In step 134, PC18 for each column
, All data blocks in that column (ie, R-1 data block)
Determine if you are trusted. If received, FOR-NEXT Lou
The group proceeds to the next column. But, If not, Step 136
hand, PC18, Bitwise on received data blocks and redundant blocks
By executing the XOR operation, Replay missing data blocks
I do. Next, in step 138, The PC 18 stores the reproduced data block.
, Go to the next column in the FOR-NEXT loop. FOR-NEXT loop
Finally, The process proceeds to step 140. In stage 140, The received data
A computer file is played from the data block. Next, in step 142, Con
The computer file is stored on the hard disk of PC18. Step 134
hand, The decision whether a block is a data block or a redundant block is
This is done by examining the truth of the relationship 0 <i-jRC <C. In this connection, Matri
The index number j is obtained from j = int ((I-1) / (R + 1) C) +1, here
, int () relates to the integer part of (). If it is true, That block is a joke
Long block, If not, It is a data block.
The device described above has two major problems. The first problem is Transponder
Short interrupts that occur in the bit stream from
It is about. When a particular block i is affected by such an interrupt,
It is understood that the next block i + 1 in the same column is also likely to be affected.
You. It is relatively unlikely that the next block i + C in the same column will be affected.
To do The value of C is selected. However, Of (R + 1) block in each column
If R is properly received, Redundant blocks, Bitwise XOR operation
Using the properties of the The remaining blocks can be played. Already
One problem is that a block is received near the end of a file download operation
The valid values to be used. If there is only one block waiting, Waiting
The machine time is Approximately the time required to send all blocks in the file
It is understood that it is. In the device described above, The waiting data block is
If there is only a little, It reconstructs the received redundant and data blocks.
It is possible to live. Of course, With the addition of sending redundant blocks, All files
The total time to send the body has also increased, Therefore, Handling transmission interrupts, And the last few
The advantage of reducing the time waiting for locks is By properly choosing the values of C and R, Combination
It must deal with the disadvantage of increasing the total transmission time. Of values C and R
The choice is Can be subject to statistical studies or trial and error. But one
Generally, This value would be C = 50 and R = 10. Both C and R are greater than 5
Is preferred.
In the example above, The values of C and R are The file is prepared in a sendable block
Is determined when The values of C and R are stored in the directory of the downloadable file.
Or included in the index table. Or, If the values of C and R are
Or it is predetermined without being included in the index table, PC18 is C
And with the value of R.
In the example above, Block download, Enough blocks to play the file
Continue until the lock is downloaded. next, The missing block is played
And The file plays. In another example, Redundant blocks in specific columns
Downloaded, All data blocks except one of the columns are downloaded
If it is Enough blocks are downloaded to play the entire file
Without waiting until The missing data block is played, Received at that stage
Is marked.
In the device described above, Receiver / decoder 2020 is independent of PC18
It is described as a state. But, Receiver / decoder 2020 For example,
In the form of a doon card, It will be appreciated that it forms part of PC 18
.
The present invention Just mentioned as an example, Changes in details may be made within the scope of the invention.
it can.
Each feature disclosed in the description, And (where appropriate) the claims and drawings
, It may be provided separately or in any suitable combination.
In the preferred embodiment described above, Certain features of the present invention relate to computer software.
Was realized using a. However, of course, Any of these features
It will be apparent to those skilled in the art that the present invention may be implemented using hardware. further
, hardware, Functions performed by computer software, etc., Electrical
It is easily understood that the operation can be performed using a signal or the like or using an electric signal.
The cross reference is Filed against our co-pending application, Everything is Have the same filing date
, Named "Signal Generation and Broadcasting (Agent Reference Number PC / ASB / 19707)", "
Smart card for use with receivers of encrypted broadcast signals, And receiver (substitute
Person reference number PC / ASB / 19708) " "Broadcast / Receive System and its
Conditional access system (agent reference number PC / ASB / 19710) " "Receive
Download computer files from transmitter to computer via transmitter / decoder
Road (agent reference number PC / ASB / 19711) " "Television program
And reception and transmission of other data (agent reference number PC / ASB / 19712) "
, "Download data (agent reference number PC / ASB / 19713)", "Con
Computer memory configuration (agent reference number PC / ASB / 19714) " "TV
Or radio control system generation (agent reference number PC / ASB / 1971)
5) ", "Extraction of data section from transmitted data stream (agent reference number P
C / ASB / 19716) " "Access control system (agent reference number PC / AS)
B / 19717) ", "Data processing system (agent reference number PC / ASB / 197
18) ", And "Broadcasting and receiving systems, And receivers / decoders therefor and
And remote controller (agent reference number PC / ASB / 19720). " this
The disclosures of these documents are incorporated herein by reference. The list of applications includes this application.
It is.
─────────────────────────────────────────────────────
フロントページの続き
(81)指定国 EP(AT,BE,CH,DE,
DK,ES,FI,FR,GB,GR,IE,IT,L
U,MC,NL,PT,SE),OA(BF,BJ,CF
,CG,CI,CM,GA,GN,ML,MR,NE,
SN,TD,TG),AP(GH,KE,LS,MW,S
D,SZ,UG),EA(AM,AZ,BY,KG,KZ
,MD,RU,TJ,TM),AL,AM,AT,AU
,AZ,BA,BB,BG,BR,BY,CA,CH,
CN,CU,CZ,DE,DK,EE,ES,FI,G
B,GE,GH,HU,IL,IS,JP,KE,KG
,KP,KR,KZ,LC,LK,LR,LS,LT,
LU,LV,MD,MG,MK,MN,MW,MX,N
O,NZ,PL,PT,RO,RU,SD,SE,SG
,SI,SK,TJ,TM,TR,TT,UA,UG,
US,UZ,VN,YU────────────────────────────────────────────────── ───
Continuation of front page
(81) Designated countries EP (AT, BE, CH, DE,
DK, ES, FI, FR, GB, GR, IE, IT, L
U, MC, NL, PT, SE), OA (BF, BJ, CF)
, CG, CI, CM, GA, GN, ML, MR, NE,
SN, TD, TG), AP (GH, KE, LS, MW, S
D, SZ, UG), EA (AM, AZ, BY, KG, KZ
, MD, RU, TJ, TM), AL, AM, AT, AU
, AZ, BA, BB, BG, BR, BY, CA, CH,
CN, CU, CZ, DE, DK, EE, ES, FI, G
B, GE, GH, HU, IL, IS, JP, KE, KG
, KP, KR, KZ, LC, LK, LR, LS, LT,
LU, LV, MD, MG, MK, MN, MW, MX, N
O, NZ, PL, PT, RO, RU, SD, SE, SG
, SI, SK, TJ, TM, TR, TT, UA, UG,
US, UZ, VN, YU