説明

パケット化トランスポート・ストリームの処理方法

【課題】エンタイトルメント・データが直ちにプログラム・マテリアルを受信するための権利を否定するように階層化されたシステムを提供する。
【解決手段】本装置は、条件付きアクセス・ペイロード・ヘッダと残りの権利付与データのペイロードを含むペイロードを有する信号パケットを選択するパケット・トランスポート・プロセッサを含む。各ペイロード・ヘッダは、受信機が権利付与データを処理することを可能または不能にするように符号化されるバイトのグループを含む。加入者固有の条件付きアクセス・コード・ワードで予めプログラムされたフィルタは、加入者固有の条件付きアクセス・コード・ワードと一致させるために条件付きアクセス・ヘッダのそれぞれのバイトのグルーピングを検査する。一致が生じる場合、プロセッサは権利付与データを処理する。権利付与は伝送信号の暗号解読部のための暗号解読キーを生成するために利用される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケット・ビデオ信号からプログラム・コンポーネント・データのパケットを処理するためのシステム、特に、エンタイトルメント(entitlement)情報のために、加入者が条件付きアクセスをするパケット・ペイロード(payload)を検出する回路に関するものである。
【背景技術】
【0002】
この検出する回路は、例えば、米国特許第5,168,356号および米国特許第5,289,276号から公知であり、エラー保護/訂正の対策(measure)をもたらすそれぞれのパケットと共にパケットで圧縮ビデオ信号を伝送することは有利なことである。前述の特許に開示されたシステムは、それぞれの伝送チャネルから、複数のプログラム・コンポーネントを持つとはいえ単一のテレビジョン・プログラムを伝送し、処理する。これらのシステムは、再生のためにビデオ・コンポーネントを条件付けるようにさらに処理するために、それぞれのプログラムのビデオ信号・コンポーネントを抽出するように、逆トランスポート(inverse transport)・プロセッサを利用する。
【0003】
それは、例えば、伝送されたテレビジョン信号の受け取りは、信号を暗号化することによって特定の加入者に限定されるという、英国のウイルトシヤー州、クリックレード、ピッツフィールド17(Wilts,Cricklade,17 Pittfield)のスフィスト・テレビジョン出版物(Swift Television Publications)、サテライト・ブック(SATELLITE BOOK)、「衛星テレビ理論と実践の完全ガイド(A COMPLETE GUIDE TO SATELLITE TV THEORY AND PRACTICE)」から公知である。この限定は、異なるエンタイトルメント・データ(entitlement data)を周期的に伝送することによって、放送局の意向で変えることができる。このエンタイトルメント・データは、それぞれの受信機の中にあるスマート・カードによって処理され、関連プログラム・マテリアルを再生する権利が与えられたこれらの受信機内だけの暗号化デバイス又は解読デバイスによる使用のために、暗号キー又は解読キーを生成する。前述のタイプのパケット・ビデオ・システムでは、エンタイトルメント・データは、スマート・カード回路が容易にアクセス可能なデータを含む特定のパケット内に含まれる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
北アメリカ向けのダイレクト放送衛星システムのような広域放送システムは、多数の加入者(受信契約者)を有する。この数は、非常に大きいため、特定の受信者のエンタイトルメント・データを急に変えることを不可能である。例えば、放送局は、スポーツ試合の切符が売り切れていない場合、スポーツ・スタジアムがあるエリアのテレビ放送を停止しなければならないとする。この情報は、試合の直前まで入手できないかもしれない。もちろん、放送局は、ローカル区域のテレビ放送を停止することの決定を行う直前まで待つことを望む。
【0005】
そこで、本発明は、エンタイトルメント・データが直ちにプログラム・マテリアルを受信するための権利を否定するように階層化(layered)されたシステムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、階層化されたエンタイトルメント・データ(layered entitlement data)の送受信のためのシステム/方法である。受信機の実施例は、条件付きアクセス・ペイロード・ヘッダと、残りのエンタイトルメント・データのペイロードとを含むペイロードを有するパケットを選択するパケット・トランスポート・プロセッサを含む。それぞれのペイロード・ヘッダは、各受信機に対してエンタイトルメント・データを処理することを許可又は許可しないように符号化されている、バイトのグループを含んでいる。加入者の特定の条件付きアクセス・コード・ワードで予めプログラム化された条件付きアクセス・フィルタ(conditional access filter)は、加入者の特定(固有)の条件付きアクセス・コード・ワードと照合するために条件付きアクセス・ヘッダのそれぞれのバイトのグルーピングを検査する。一致が生じる場合だけ、プロセッサはエンタイトルメント・データを処理することが許可される。
【図面の簡単な説明】
【0007】
【図1】時分割多重化パケット・テレビジョン信号の図式表現である。
【図2】それぞれの信号パケットの図式表現である。
【図3】本発明を実施する多重化コンポーネント信号(multiplexed component signals)のパケットの選択および処理のための受信機を示すブロック図である。
【図4】条件付きアクセス・フィルタ/開始コード検出器のブロック図である。
【図5】条件付きアクセス・フィルタの動作を示すフローチャートである。
【図6】他の条件付きアクセス・フィルタのブロック図である。
【図7】図3に示した要素17のために実施できる典型的なメモリ管理回路のブロック図である。
【図8】サービス・チャネル・データのためのメモリ・アドレス構成を示す図式表現である。
【図9】メモリ・アドレス制御の動作を示すフローチャートである。
【発明を実施するための形態】
【0008】
図1は、複数の異なるテレビジョンまたはインタアクティブ・テレビジョン・プログラムのコンポーネントを含む信号パケットを表す一連のボックスからなる、パケット信号ストリームを示している。これらのプログラム・コンポーネントは圧縮データで形成されていると仮定され、それぞれの画像のビデオ量は可変である。パケットは一定長である。同じ添字を有する文字のパケットは単一プログラムのコンポーネントを表している。例えば、Vi、Ai、Diは、ビデオ、オーディオおよびデータ・パケットを表し、V1、A1、D1と呼ばれているパケットは、プログラム1のためのビデオ、オーディオおよびデータ・コンポーネントを表し、V3、A31、A32、D3は、プログラム3のビデオ、オーディオ1、オーディオ2およびデータ・コンポーネントを表している。データ・パケット(data packets)Diは、例えば、受信機内の所定の動作を開始するための制御データを含むことができる。あるいは、それらは、例えば、受信機内に置かれまたは受信機に関連したマイクロプロセッサによって実行されるアプリケーションを形成する実行可能なコードを含むことができる。
【0009】
パケットのストリングの上部の行では、特定のプログラムのそれぞれのコンポーネントが一緒にグループ化して示されている。しかしながら、パケットの全ストリングにより示されているように、同一のプログラムからのパケットはグループ化する必要性がない。それぞれのコンポーネントの発生のシーケンスに対するいかなる特定の順序もまたない。
【0010】
それぞれのパケットは、図2に示されるようなプレフィックスおよびペイロードを含むように配置されている。本例のプレフィックスは、4つ(P,BB,CF,CS)が1ビットフィールドで、1つ(SCID)が12ビットフィールドである5つのフィールドを含む、2つの8ビット・バイトを含む。SCIDフィールドは信号コンポーネント識別子(signal component identifier)である。フィールドCFは、パケットのペイロードが暗号化されるかどうかを指示するためのフラグを含み、フィールドCSは、選択可能な2つの暗号解読キーのどれが暗号化パケットを暗号解読するために利用されるべきかを示すフラグを含んでいる。あらゆるパケットのプレフィックスはパケット整列され、したがってそれぞれのフィールドのロケーションは容易に識別できる。
【0011】
それぞれのペイロードの中には、プログラム・コンポーネントに特有である連続計数(continuity count)CC(モジュロ16)、およびTOGGLEフラグビットを含むヘッダがある。連続計数は、単に、同一プログラム・コンポーネントのシーケンシャル・パケットの連続番号である。TOGGLEフラグビットは、論理値レベルを変えるか、または、MPEG圧縮ビデオ・コンポーネントのうちの画像層開始コードの発生に基づいてトグルする1ビット信号である。
【0012】
図3は、逆トランスポート(inverse transport)・プロセッサの要素を含むディジタル・テレビジョン信号受信機の一部をブロック形式で示している。信号は、アンテナ10によって検出され、受信信号の特定の帯域を抽出し、2進形式のベースバンド圧縮信号を供給するチューナ検出器11に供給される。周波数帯域は、従来方法によってマイクロプロセッサ19を通してユーザによって選択される。通常、放送ディジタル信号は、例えばリード・ソロモン・フォーワード・誤り訂正(FEC)符号により誤り符号化されている。かくして、ベースバンド信号は、FECデコーダ12に供給される。FECデコーダ12は、受信ビデオを同期化し、図1に示された形式を有する信号パケットの誤り訂正済みストリームを供給する。FEC12は、規則的な間隔で、あるいは、例えばメモリ・コントローラ17の要求に応じてパケットを供給する。どちらの場合も、パケット・フレーミングまたは同期信号がFEC回路から供給される。これは、それぞれのパケット情報がFEC12からの転送される回数を示す。
【0013】
検出周波数帯域は、パケット形式の複数の時分割多重化プログラムを含むことができる。有用であるために、単一プログラムからのパケットだけは他の回路要素に送られるべきである。本例では、ユーザはどのパケットを選択したらいいかを知らないものと仮定する。この情報は、プログラム・ガイドに含まれる。プログラム・ガイドは、それ自体、SCIDによってプログラム信号・コンポーネントに関連したデータからなるプログラムであり、例えば、加入者のエンタイトルメントに関連している情報を含むことができる。このプログラム・ガイドは、それぞれのプログラムのオーディオ、ビデオ、データ等のコンポーネントのためのSCIDの各プログラムに対するリストである。プログラム・ガイド(図1のパケットD4)は、固定SCIDに割り当てられる。電力が受信機に供給されると、マイクロプロセッサ19は、プログラム・ガイドに関連したSCIDを、類似したプログラマブルSCIDレジスタ13のバンクの1つにロードするようにプログラムされる。FEC12からの信号のそれぞれの検出パケットのプレフィックス部のSCIDフィールドは、他のSCIDレジスタ14に連続的にロードされる。プログラマブル・レジスタおよび受信SCIDレジスタは、比較器15のそれぞれの入力ポートに結合され、受信SCIDはプログラム・ガイドSCIDと比較される。パケットのためのSCIDがプログラム・ガイドSCIDに一致するならば、比較器15は、マイクロプロセッサによる使用のためにメモリ18内の所定のロケーションにそのパケットを経路選択するようにメモリ・コントローラ17を条件付ける。受信SCIDがプログラム・ガイドSCIDに一致しないならば、対応するパケットは単にダンプされる。
【0014】
コンピュータ・キーボードとして示されているが、従来の遠隔制御装置、または受信機フロントパネル・スイッチであってもよいインターフェース20を介して、マイクロプロセッサは、ユーザからのプログラミング・コマンドを待機する。ユーザは、チャンネル4(アナログテレビシステムの用語)に供給されたプログラムを見る要求を出すことができる。マイクロプロセッサ19は、チャンネル4のプログラム・コンポーネントのそれぞれのSCIDのためにメモリ18にロードされたプログラム・ガイドを走査し、対応するコンポーネント信号処理経路に関連するレジスタ・バンク13のプログラマブル・レジスタの中のそれぞれの他のレジスタにこれらのSCIDをロードするようにプログラムされる。
【0015】
所望のプログラムのためのオーディオ、ビデオ、またはデータプログラムの受信パケットは、最終的に、それぞれのオーディオ・プロセッサ23、ビデオ・プロセッサ22、または補助データ・プロセッサ21、(24)信号プロセッサのそれぞれに経路選択されなければならない。データは、比較的定速度で受信されるが、信号プロセッサは、公称的には、バースト状の入力データを必要とする(例えば、それぞれの伸長形式による)。図3に示した典型的なシステムは、最初に、それぞれのパケットを共通メモリ18内の所定メモリ・ロケーションに経路選択する。その後、それぞれのプロセッサ21〜24はメモリ18からのコンポーネント・パケットを要求する。共通メモリを通してコンポーネントの経路選択をすることによって、所望の信号データ速度バッファリングまたはスロットリングの対策が実現できる。
【0016】
オーディオ・パケット、ビデオ・パケットおよびデータ・パケットは、それぞれの所定のメモリ・ロケーションにロードされ、コンポーネント・データへのバッファ・アクセスに便利な信号プロセッサを使用可能にする。それぞれのコンポーネント・パケットのペイロードは適当なメモリ領域にロードされるように、それぞれのSCID比較器はこれらのメモリ領域に関連している。この関連(association)は、メモリ・コントローラ17において実配線されるか、または、この関連はプログラマブルであってもよい。前者の場合、プログラマブル・レジスタ13の中の特定のレジスタは、常にオーディオ、ビデオおよびデータSCIDにそれぞれ割り当てられる。後者の場合、オーディオ、ビデオおよびデータSCIDはプログラマブル・レジスタ13のいずれかにロードされることができる。そして、それぞれのSCIDがプログラマブル・レジスタにロードされるとき、適当な関連はメモリ・コントローラ17においてプログラムされる。
【0017】
定常状態では、プログラムSCIDがプログラマブル・レジスタ13に記憶された後、受信信号パケットのSCIDは、プログラマブルSCIDレジスタ内のSCIDの全てと比較される。一致が、記憶されたオーディオ、ビデオ、またはデータSCIDのいずれかとなされるならば、対応するパケット・ペイロードは、オーディオ、ビデオまたはデータ・メモリ領域またはメモリ・ブロックにそれぞれ記憶される。
【0018】
それぞれの信号パケットは、信号暗号解読器16を介してFEC12からメモリ・コントローラ17に結合される。信号ペイロードだけが暗号化され、パケット・ヘッダは、変更されない暗号解読器によって通過される。パケットが暗号解読されるべきか否かは、パケット・プレフィックスのCFフラグによって決定され、いかにパケットが暗号解読されるべきか(2つの代替の暗号解読キーのうちの1つ)はCSフラグによって決定される。それぞれのパケットに対していかなるSCID一致もないならば、暗号解読器は単にいかなるデータの通過も不能にする。
【0019】
暗号解読器(decryptor)は、スマート・カード装置31によって提供される暗号解読キー(decryption keys)によってプログラムされる。このスマート・カードは、プログラム・ガイドの特定のパケットに含まれたエンタイトルメント情報に応答して、適当な暗号解読キーを生成する。本例のシステムは、2つのレベルの暗号(encryption)またはプログラム・アクセス、すなわちエンタイトルメント・制御メッセージECMおよびエンタイトルメント・管理メッセージEMMを取り入れる。プログラムエンタイトルメント・制御および管理情報は、プログラム・ガイドを含むパケット・ストリームに含まれる特定のSCIDと共に識別できるパケットで規則的に伝送される。これらのパケットの中に含まれるECM情報は、スマート・カードで使用されて、暗号解読器(decryptor)によって使用される暗号解読キー(decryption keys)を生成する。これらのパケットの中に含まれるEMM情報は、加入者固有のスマート・カードで使用されて、加入者がエンタイトルメントされるプログラム・マテリアルを決定する。これらのパケット内のEMMエンタイトルメント情報は、地理的に特有に、またグループ特有に、あるいは加入者特有にされることができる。例えば、本システムは、スマート・カードから課金情報(billing information)をプログラム・プロバイダ、例えば、衛星放送局に知らせるためのモデム(図示せず)を含む。スマート・カードは、例えば、受信機ロケーションのエリア・コードおよび電話交換局と共にプログラムされることができる。EMMは、スマート・カードで処理されるとき、特定のエリア・コードにおける特定のプログラムの受信の権利があるかまたはこのプログラムの受信を否定するデータを含んでいる。
【0020】
プログラム・プロバイダは、例えば、見る度に支払う(pay-per-view)プログラムに関する限り、非常に短いリード・タイム(lead time)である加入者に権利を付与する能力を要求する。特定の加入者の識別は、特定のプログラムの放送直前まで不能になることがある。このような短いリード・タイムの場合、加入者に基づいてEMMをプログラムすることができないこともある。他の符号化層は条件付きアクセス・コードを含むことによってエンタイトルメント情報に直ちに加えられ、それぞれのパケット内のEMMおよびECMデータの受信を許可/禁止し、それによって、いくつかのプログラムに対してほぼ瞬間の許可/禁止を可能にする。
【0021】
EMMおよびECMエンタイトルメント・データを含むパケット・ペイロードは、特別に符号化された4つの32ビットのグループに配置された128ビットのペイロード・ヘッダを含んでいる。各グループは条件付きアクセス・コードで符号化され、各条件付きアクセス・コードは異なって符号化されることができる。各加入者は特定の条件付きアクセス・コードに割り当てられる。照合フィルタ(matched filter)、すなわちEコード・デコーダ30は、128ビットヘッダ内の加入者固有のビット・パターンを検出するように構成されている。一致が検出されるならば、デコーダはメモリ・コントローラ17およびスマート・カード31と通信し、エンタイトルメント・ペイロードの残りがスマート・カードに利用されるようにする(メモリ18を介して)。一致が検出されないならば、ペイロードは特定の受信機によって受容されない。照合フィルタ30がプログラマブルされるならば、条件付きアクセス・コードは、周期的に変えることができる。これらのコードはスマート・カードによって周期的に供給されることができる。視聴者のエンタイトルメントに関連したスマート・カードの動作に関するより特定の詳細に関しては、サテライト・ブック(SATELLITE BOOK)、「衛星テレビ理論と実践の完全ガイド(A COMPLETE GUIDE TO SATELLITE TV THEORY AND PRACTICE)」の第25節に述べられている。
【0022】
照合フィルタ、すなわちEコード・デコーダは、特定のMPEGビデオ・ヘッダを検出するという第2の機能を実行するように構成されている。これらのヘッダは32ビット開始コードである(そのことがエンタイトルメント・ペイロードのヘッダが32ビット・グループで符号化される理由である)。ビデオ・データが消失されるならば、MPEGビデオ・デコーダは特定のデータ・エントリ・ポイントでビデオ・データの伸長だけを再開始できる。これらのエントリ・ポイントは、MPEG開始コードと一致する。デコーダは、ビデオ・パケットの消失後にメモリへのビデオ・データの流れを禁止し、次のMPEG開始コードがデコーダ30によって検出された後だけメモリへのビデオ・ペイロードの書き込みを再開するように、メモリ・コントローラ17と通信するように構成されている。
【0023】
図4は、条件付きアクセス情報またはMPEG開始コードを含むパケットを検出するための典型的な装置(図3のデコーダ30)を示している。デコーダ30がエンタイトルメント・ペイロードまたはMPEG開始コードを検出するように条件付けられるかどうかは、現在受信されているSCIDの機能による。図4では、暗号解読器(decryptor)16から供給されたデータは8ビット・バイトであり、パケット整列されていると仮定される。すなわち、エンタイトルメント・ペイロードの第1バイトまたはMPEG開始コードの第1バイトは、パケット・ペイロードの始め等の特定のバイト位置に正確に位置合わせされている。その理由は、特定のヘッダ又は開始コード・ワードを検出するためであり、ビット/バイト・ストリームにおけるそれらの位置は精密に知られているからである。暗号解読器16からのデータは、比較器254のそれぞれの第1の入力接続部に結合された8ビット並列出力ポートを有する8ビットレジスタ250に供給される。この比較器254は、例えば、アンド・ゲートおよびラッチに結合されたそれぞれの出力接続部を有する8つの2入力型排他的ノア(XNOR)回路のバンクで構成することができる。このラッチは、各バイト間隔でアンド・ゲートの結果をラッチするように構成されているデータラッチであってもよい。
【0024】
32ビットMPEG開始コードは、8ビット・レジスタ・バンク265内に4バイトとして記憶される。条件付きアクセス・コードは16の8ビット・レジスタ・バンク257内に8ビット・バイトとして記憶される。レジスタ・バンク251および265のロードは、マイクロプロセッサ19および/またはスマート・カードによって制御される。開始コード・レジスタ265は、4:1のマルチプレクサ266に結合され、条件付きアクセス・コード・レジスタは16:1のマルチプレクサ257に結合されている。マルチプレクサ257,266の出力ポートは、2:1のマルチプレクサ249に結合されている。マルチプレクサ249のそれぞれの出力接続部は比較器254のそれぞれの対応する第2の入力端子に結合されている。(マルチプレクサ249,257および266の入出力接続部は8ビットバスであることに注目)。レジスタ250のそれぞれの出力接続部に示されたそれぞれの値が対応してマルチプレクサ249のそれぞれの出力接続部に示された出力値と同じであるならば、真の信号は対応するデータバイトのための比較器254によって発生される。
【0025】
開始コードを検出するために、マルチプレクサ266は、カウンタ258によって走査され、暗号解読器16からの最初の4つのペイロード・データ・バイトの発生と同期して4つの異なるレジスタ265を比較器にシーケンシャルに結合する。一方、条件付きアクセス・コードを検出するために、マルチプレクサ257は、カウンタ258によって走査され、レジスタ265のうちの異なる一つを比較器254にシーケンシャルに結合する。
【0026】
比較器の出力は、累算・テスト回路255に供給されている。回路255は、所定数のバイト一致条件のいずれかが発生したかどうかを決定し、発生したならば、検査中の特定ペイロードの残りの部分のエンタイトルメント・データのための書き込みイネーブル信号を発生する。本システムでは、エンタイトルメント・ペイロード・ヘッダは、4つの32ビット条件付きコードに配列された128ビットを含む。異なった加入者の条件付きアクセス・フィルタ30は、128ビットのバイトの異なった組み合わせを探すように構成される。例えば、ある加入者装置は条件付きアクセス・コードのうちの最初の4バイトに一致するように構成することができる。他の加入者装置は、条件付きアクセス・コードの第2番目の4バイトに一致するように構成する、などが可能である。これらの典型的な状況のいずれにおいて、回路255は、適当な4つの連続的なバイトに対する一致が発生されたどうかを決定する。
【0027】
加入者固有の条件付きアクセス・コードに対してバンク内の16のレジスタの使用は回路構造を多少簡単にする。各加入者は4バイトの条件付きアクセス・コードを有しているので、このコードを16のレジスタ・セット内に4回ロードすることができる。したがって、送信機では、放送局は、送信される条件付きアクセス・コードのうちの4バイトの4つのグループに対する相対ロケーションにかかわる必要がない。代替装置は、加入者固有の条件付きアクセス・コードを保持するように単一グループの4つのレジスタのみを組み込むことができ、これらのレジスタを128ビットのエンタイトルメント・ペイロード・ヘッダによってモジュロ4を反復して走査することができる。
【0028】
このことは、好ましくないことには他のサービスのシステム帯域を制限し、あまりにも多くの時間がかかるだけであるので、あらゆる機能に対する232の可能なエンタイトルメント・コードのそれぞれを送信することは実用的でない。グルーピングがそれぞれの4バイトの条件付きアクセス・コードの中の3バイトで規定されるこの制限は、いくつかの論理値グルーピングにより条件付きアクセス・コードを配列することによって多少解決することができる。このように、グループの全ての加入者は、4バイトの条件付きコードの中の1バイトを無視するためにそれぞれのグループの受信機を条件付けることによってアドレス指定することができる。本例では、各4バイト・アクセス・コードは256の加入者を表す。フィルタ条件付けは、例えば、最初の4バイト位置の全ての0を送信し、この条件を検出するように条件付きアクセス・フィルタを構成することによって行われる。この条件が満たされるならば、条件付きアクセス・フィルタは、それぞれの4バイトのグループの3バイトだけの一致を検出するように電気的に再構成される。
【0029】
第3の変更例は、全ての加入者の条件付きアクセスを許可するために提供される。これは、オール0(またはオール1)でエンタイトルメント・ペイロードを符号化することによって行われる。したがって、条件付きアクセス・フィルタは、オール・ゼロ検出器(要素261〜263)も含むように構成される。
【0030】
データのそれぞれの受信バイトのビットは8ビット・オア・ゲート263のそれぞれの端子に結合される。このビットの中のいずれかのビットが論理値1であるならば、オア・ゲート263は論理値1を出力する。オア・ゲート263の出力は、D形ラッチ261のデータ入力端子およびQ出力端子にそれぞれ結合された出力および第2の入力を有する2入力オア・ゲート262の一方の入力に結合されている。D形ラッチは入力データバイトの受信と同期してタイミング回路259によってクロックされる。ラッチがリセットされた後、発生するデータバイトのいずれのいかなるビットも論理値1であるならば、ラッチ261は、次のリセットパルスまでそのQ出力で論理値1を示す。ラッチ261のQ出力は、ラッチが1出力レベルを示すときは常に、0出力レベルを示すインバータに結合されている。このように、その後、128ビット(16バイト)のヘッダがレジスタ250を通過されるならば、インバータの出力はハイで、128ビットは0となる。ラッチは、各新しいペイロードの受信よりも前にリセットされる。エンタイトルメント・ペイロード・ヘッダの通過後、インバータからのハイ出力レベルの検出に応答して、回路255はデータ書き込みイネーブル信号を発生する。
【0031】
図5は、条件付きアクセス・フィルタ30の動作を示すフローチャートである。この処理は関連したSCIDの検出によって開始される。一旦適当なSCIDが検出されると、ペイロードはフィルタ30に供給される{300}。比較{302}が、ヘッダの最初の4バイトと加入者固有の条件付きアクセス・コードとの間で行われる。一致が生じるならば、エンタイトルメント・データ書き込みイネーブルが発生される{310}。一致が生じないならば、最初の4バイトがオール0に対して検査される{306}。オール0が検出されないならば、ヘッダの第2番目の4バイトは加入者固有の条件付きアクセス・コードと比較される{308}。これらが一致するならば{312}、書き込みイネーブルが発生される{310}。一致しないならば、第3番目の4バイト・セットは加入者固有の条件付きアクセス・コードと比較される{314}。これが一致するならば{316}、書き込みイネーブルが発生される{310}。一致しないならば、第4番目の4バイト・セットが加入者固有の条件付きアクセス・コードと比較される{317}。これらが一致するならば{318}、書き込みイネーブルは発生される{310}。一致しないならば、ヘッダの最後の12バイトが、オール0に対して検査される{320}。オール0が最後の12バイトで検出されるならば、書き込みイネーブルが発生され{310}、検出されないならば、処理は次のパケットを待つ{300}。代替装置では、ステップ{320}で、本システムはヘッダの全16バイトのオール0を探すようにプログラムすることができる。ある種の他の固定パターンが、全て1または例えば、0と1とが交互に現れるパターンのような全て0以外を利用してもよいことを理解すべきである。
【0032】
ステップ{306}で、最初の4バイトが全て0であるならば、ヘッダの第2番目の4バイトのうちの3つが加入者固有の条件付きアクセス・コードと比較される{354}。図4の装置では、このことは、唯一の4バイトのグループに対する3つの一致を探すように要素255を構成することによって達成される。4バイトのうちの3つが一致するならば{326}、書き込みイネーブルが発生され{322}、一致しないならば、4ヘッダ・バイトのうちの第3のセットのうちの3つが加入者固有の条件付きアクセス・コードと比較される{330}。4バイトのうちの3つが一致するならば{332}、書き込みイネーブル信号が発生され{322}、一致しないならば、最後の4バイトのうちの3つが加入者固有の条件付きアクセス・コードと比較される{336}。これらが一致するならば、書き込みイネーブル信号が発生され{322}、一致しないならばオール0条件が検査される{320}。
【0033】
4バイトのそれぞれのグループのうちの2つだけが一致される場合、他の検出レベルはステップ{324〜340}と同様に組み入れることができることに注目すべきである。このことは、例えば、最初の8バイトを全て0に、または、最初の4バイトを全て1に配列することによって条件付けることができる。この場合、条件付けアクセス・コードによって使用可能にされるそれぞれのグループはずっと大きくなる。
【0034】
メモリにエンタイトルメント・ペイロードを記憶することに関しては、本システムは、条件付きアクセス・コードを受信し、検査するとき、ペイロード・ヘッダをメモリに書き込む。条件付きアクセス・コードが検出されるならば、検出される書き込みイネーブルは、メモリ制御がペイロードの書き込みを継続することを可能にするだけである。反対に、条件付きアクセス・コードがペイロードの最初の16バイトで検出されない場合、ペイロードの残りはメモリに書き込まれなく、条件付きアクセス・ペイロードに対するメモリ・アドレスはペイロード条件付きアクセス・ヘッダの中の16バイトを上書きするためにリセットされる。
【0035】
図6は、1度に32ビット(4バイト)と同じぐらい多数と比較する他の条件付きアクセス・フィルタである。これは、開始コードのバイト位置を予め知らないで開始コードの検出を可能にする。開始コードは、8ビットレジスタに記憶される(8ビットのμPCバスが使用されるために8ビットレジスタが使用される)。レジスタの出力ポートはマルチプレクサ298の第1の入力セットに結合されている。加入者固有の条件付きアクセス・コードは、マルチプレクサ298のための第2の入力セットに結合されたそれぞれの出力ポートを有する第2のレジスタ・バンク299に記憶される。マルチプレクサ298は、比較器270〜273のそれぞれの第1の8ビット入力ポートに接続された出力セットを有する。
【0036】
レジスタ265または299が比較器に結合されるかどうかは、μPCに応答する累算・テスト回路297によって制御される。
【0037】
暗号解読器16からの入力バイトは並列/直列レジスタ247〜277に結合される。それぞれのレジスタ274〜277は、比較器270〜273の第2の8ビット入力ポートにそれぞれ結合された並列出力ポートを有する。本システムは、入力信号の4つの連続バイトがレジスタ247〜277に現時点でロードされるようにタイミングをとる(timed)。比較器の出力端子は、それぞれのオア・ゲート278〜281を介して累算・テスト回路297に結合されている。オア回路の第2の入力端子は、累算・テスト回路297のそれぞれの制御出力接続部に結合されている。
【0038】
図4の装置のように、図6の装置は、最初の4バイトおよび16バイト全てでオール0を検出するオール・ゼロ検出器を含んでいる。
【0039】
4バイトの条件付きアクセス・コードを検出するために、連続する唯一の4バイトのグループがレジスタ247〜277にロードされ、レジスタ299に含まれる加入者固有のアクセス・コードと対照してテストされる。4つの比較器の全てが一致を検出するならば、アンド・ゲート283は一致を示す論理値1を発生する。比較器の中の1つが一致を検出することができないならば、アンド・ゲートは論理値0を発生する。4者択3の入力バイト条件付きアクセス・コード・セットを検出するために、累算・テスト回路297は、オア・ゲートに結合された制御線の中の1つに論理値1を供給する。これは、このオア・ゲートの出力を強制的に論理値1にさせ、当然有効的に関連した比較器からの一致となる。したがって、条件付きアクセス・コード検出は、4バイト検出の場合のように、連続する唯一の4バイトのグループで実行される。
【0040】
開始コードを検出するために、オア・ゲートの全ての制御線は論理値0に保持されている。入力バイトはカスケード接続のレジスタ247〜277にシーケンシャルに供給され、レジスタ265に記憶された開始コードとの一致に対するテストは各々の連続する包括的な4入力バイト・セットで行われる。
【0041】
図7は、図3に示されたメモリ・コントローラ17のための典型的な装置を示している。各プログラム・コンポーネントはメモリ18の異なる隣接ブロックに記憶される。
【0042】
さらに、マイクロプロセッサ19またはスマート・カード(図示せず)によって発生されたデータのような他のデータはメモリ18に記憶されることができる。
【0043】
アドレスは、マルチプレクサ105によって供給され、入力データはマルチプレクサ99によってメモリ18に供給される。メモリ管理回路からの出力データは、他のマルチプレクサ104によって信号プロセッサに供給される。マルチプレクサ104に供給された出力データは、マイクロプロセッサ19、メモリ18からまたはマルチプレクサ99から直接得られる。プログラム・データは、標準の画像解像度および画質のものであり、特定のデータ速度で生じるものと仮定される。一方、本受信機で供給することができる高画質テレビジョン信号HDTVは、非常に高速なデータ速度で生じる。実際には、FECで供給された全てのデータは、マルチプレクサ99からマルチプレクサ104に直接経路選択することができるより高速のHDTV信号を除いては、マルチプレクサ99およびメモリI/O回路102を介してメモリ18を通って経路選択される。データは、暗号解読器16と、スマート・カード回路と、マイクロプロセッサ19と、メディア・エラー・コード源100とからマルチプレクサ99に供給される。ここで使用されるような用語”メディア・エラー・コード”は、開始コードのような所定のコード・ワードの検出まで処理を中断し、次に例えば開始コードにより処理を再開するようにそれぞれの信号プロセッサ(伸長器)を条件付けるようにデータ・ストリームに挿入される特別のコード・ワードを意味する。
【0044】
メモリ・アドレスは、プログラムアドレス指定回路79〜97から、マイクロプロセッサ19から、スマート・カード装置31からおよび補助パケット・アドレス・カウンタ78からマルチプレクサ105に供給される。いかなる特定の時限でも特定のアドレスの選択は直接メモリ・アクセスDMA回路98によって制御される。比較器15からのSCID制御信号およびそれぞれの信号プロセッサからの”必要データ(data needed)”信号は、DMA98に供給され、それに応答して、メモリ・アクセス競合(memory access contention)が調停される。DMA98は、それぞれのプログラム信号・コンポーネントに対する適当な読み出しまたは書き込みアドレスを供給するようにサービス・ポインタ・コントローラ93と協働する。
【0045】
いろいろな信号コンポーネントのメモリ・ブロックに対するそれぞれのアドレスは、4つのプログラム・コンポーネントのグループ、すなわちサービス・ポインタ・レジスタ83,87,88および92によって発生される。それぞれの信号コンポーネントが記憶されるそれぞれのメモリのブロックに対する開始ポインタはそれぞれの信号コンポーネントのためのレジスタ87に含まれている。開始ポインタは、固定値であってもよいし、またはマイクロプロセッサ19において従来のメモリ管理法で計算されてもよい。
【0046】
それぞれのブロックの最後のアドレスに対するポインタは、各潜在的プログラムに対して1つサービス・レジスタ・バンク88に記憶されている。開始アドレスと同様に、終了、すなわち最後のアドレスは固定値であってもよいし、またはマイクロプロセッサ19によって供給された値で計算されてもよい。開始ポインタおよび終了ポインタに対して計算値を使用することは、より少ないメモリを有するより用途の広いシステムを提供するので、好ましいことである。
【0047】
メモリ書き込みポインタ、すなわちヘッド・ポインタは、加算器80およびサービス・ヘッド・レジスタ83によって発生される。各潜在的プログラム・コンポーネントに対してサービス・ヘッド・レジスタがある。書き込みポインタ値、すなわち、ヘッド・ポインタ値はレジスタ83に記憶され、メモリ書き込みサイクル中、アドレス・マルチプレクサ105に供給される。1単位だけ増分されるヘッド・ポインタは、加算器80にも結合され、増分されたポインタは、次の書き込みサイクルの間、適当なレジスタ83に記憶されている。現在サービスされている適当なプログラム・コンポーネントに対するレジスタ83がサービス・ポインタ・コントローラ93によって選択される。
【0048】
本例では、開始ポインタおよび終了ポインタは16ビット・ポインタであると仮定される。レジスタ83は、16ビットの書き込みポインタ、すなわちヘッド・ポインタである。16ビット・ポインタは、レジスタ87および88に開始ポインタおよび終了ポインタをロードするための16ビット・バスまたは8ビット・バスの使用を容易にするために選択されている。一方、メモリ18は18ビット・アドレスを有する。18ビットの書き込みアドレスは、結合された18ビットの書き込みアドレスの最上位のビット位置に開始ポインタ・ビットを有する16ビットのヘッド・ポインタに開始ポインタの最上位の2ビットを連結することによって形成される。開始ポインタは、それぞれのレジスタ87によってサービス・ポインタ・コントローラ93に供給される。サービス・ポインタ・コントローラは、レジスタ87に記憶された開始ポインタからより上位の(more significant)開始ポインタ・ビットを解析(parse)し、これらのビットを16ビットのヘッド・ポインタ・バスに関連付ける。このことは、マルチプレクサ85を出るヘッド・ポインタ・バスと結合されていることが示されるバス96によって、かつ、図8の太い矢印によって示されている。
【0049】
図8では、ボックスの最上部、中間および最下部の行は、開始ポインタ、アドレスおよびヘッドまたはテール・ポインタのビットをそれぞれ表している。より高位に番号付けられているボックスはより上位のビット位置(more significant bit position)を表している。矢印は、それぞれのアドレスのビットが開始ポインタまたはヘッド/テール・ポインタのどのビット位置から得られるかを示している。本展開(derivation)において、太い矢印は定常動作を表している。
【0050】
同様に、メモリ読み出しポインタまたはテール・ポインタは、加算器79およびサービス・テール・レジスタ92によって発生される。各潜在的なプログラム・コンポーネントに対してサービス・テール・レジスタがある。読み出しまたはテール・ポインタ値はレジスタ92に記憶され、メモリ読み出しサイクル中にアドレス・マルチプレクサ105に供給される。1単位だけ増分されるテール・ポインタは、加算器79にも結合され、増分されたポインタは次の読み出しサイクルの間、適当なレジスタ92に記憶される。レジスタ92は、現在サービスされている適当なプログラム・コンポーネントのためのサービス・ポインタ・コントローラ93によって選択される。
【0051】
レジスタ92は16ビットのテール・ポインタを供給する。18ビットの読み出しアドレスは、結合された18ビットの書き込みアドレスの最上位のビット位置に開始ポインタ・ビットを有する16ビットのテール・ポインタに開始ポインタの最上位の2ビットを連結することによって形成される。サービス・ポインタ・コントローラは、レジスタ87に記憶された開始ポインタからより上位の開始ポインタ・ビットを解析し、これらのビットを16ビットのヘッド・ポインタ・バスに関連付ける。このことは、マルチプレクサ90を出るテール・ポインタ・バスと結合されているバス94によって示されている。
【0052】
データは計算されたアドレスでメモリ18に記憶されている。1バイトのデータを記憶した後、ヘッド・ポインタは、1だけ増分され、このプログラム・コンポーネントのための終了ポインタと比較され、これらが等しいならば、ヘッド・ポインタのもっと有意なビットが開始ポインタの下位14ビットと取り換えられ、0がアドレスのヘッド・ポインタ部の下位2ビット位置に置かれる。このことは、開始ポインタとアドレスとの間のハッチされた矢印に関して図8に示されている。この動作は、サービス・ポインタ・コントローラ93からマルチプレクサ85からのヘッド・ポインタ・バスを指示する矢印97によって示される。下位14の開始ポインタ・ビットを供給することによって、ヘッド・ポインタ・ビットを無効にする(override)と仮定する。この1書き込みサイクルの間、ヘッド・ポインタ・ビットをアドレスの下位開始ポインタ・ビットと取り換えることによって、メモリは、上位の2開始ポインタ・ビットで指定されたメモリ・ブロックを通してスクロールし、したがって、ブロック内の独自のメモリ・ロケーションのための各パケットの開始での書き込みアドレスの再プログラミングを不要にする。
【0053】
ヘッド・ポインタが常にテール・ポインタ(メモリ18からデータをどこに読み出すかを指示するために使用される)に等しいならば、ヘッド・テール・クラッシュが発生したことを示す信号がマイクロプロセッサの割り込み部に送られる。このプログラム・チャネルからメモリ18にさらに書き込むことは、マイクロプロセッサがチャネルを再使用可能にするまで、不能にされる。この場合は非常にまれであり、通常動作中、発生すべきでない。
【0054】
データは、加算器79およびレジスタ92によって計算されたアドレスに従って、それぞれの信号プロセッサの要求でメモリ18から検索される。1バイトの記憶データを読み出した後、テール・ポインタは、1単位だけ増分され、サービス・ポインタ・コントローラ93においてこの論理チャネルのためのエンド・ポインタと比較される。テール・ポインタおよびエンド・ポインタが等しいならば、テール・ポインタのより上位のビットは下位の14ビットの開始ポインタと取り換えられ、0がアドレスのテール・ポインタ部の下位の2ビット位置に置かれる。これは、コントローラ93から出て、マルチプレクサ90からのテール・ポインタ・バスを指示する矢印95によって示されている。いま、テール・ポインタがヘッド・ポインタに等しいならば、それぞれのメモリ・ブロックは空として規定される。そして、より多くのデータがこのプログラム・チャネルのためにFECから受信されるまで、これ以上のバイトは関連する信号プロセッサに送られない。それぞれの書き込みアドレスまたは読み出しアドレスのヘッド・ポインタ部またはテール・ポインタ部をスタート・ポインタの下位14ビットで実際に置き換えることは、適当な多重化または3状態の相互接続の使用によって達成される。
【0055】
メモリ読み出し/書き込み制御は、サービス・ポインタ・コントローラおよび直接メモリ・アクセスDMA、要素93および94によって実行される。DMAは読み出しサイクルおよび書き込みサイクルをスケジュールするようにプログラムされる。スケジューリングは、FEC12がメモリに書き込まれるデータを供給しているか否かによる。いかなる入力信号・コンポーネント・データが消失されないようにFECデータ書き込み動作が優先する。図7に示された典型的な装置では、メモリをアクセスできる4つの種類の装置がある。これらは、スマート・カード、FEC(より正確には、暗号解読器16)、マイクロプロセッサ19およびオーディオ・プロセッサおよびビデオ・プロセッサのようなアプリケーション・デバイスである。メモリ競合(memory contention)は下記のように処理される。上記の様々な処理要素からのデータ要求に応答して、DMAは、それぞれのプログラム・コンポーネントに対するメモリのブロックを割り当てる。メモリへのアクセスは、その間に1バイトのデータがメモリ18から読み出されるかまたはメモリ18に書き込まれる95nSタイム・スロットで実現できる。“FECがデータを供給していること”または”FECがデータを供給していないこと”のそれぞれで規定される2つの主要なアクセス割り当て(access allocation)モードがある。これらのモードの各々に関して、最大5Mバイト/秒のFECデータ速度、すなわち各200nSに対して1バイトと仮定すると、タイム・スロットは下記のように割り当てられ、優先順位が付けられる。これらは、FECがデータを供給している場合
1)EECデータ書き込み;
2)アプリケーション・デバイス読み出し/マイクロプロセッサ読み出し/書き込み;
3)FECデータ書き込み;
4)マイクロプロセッサ読み出し/書き込み;
および
FECがデータ供給していない場合
1)スマート・カード読み出し/書き込み;
2)アプリケーション・デバイス置読み出し/マイクロプロセッサ読み出し/書き込み;
3)スマート・カード読み出し/書き込み;
4)マイクロプロセッサ読み出し/書き込み。
である。
【0056】
FECデータ書き込みは延期することができないために、FEC(すなわち、より正確には暗号解読器)は、データを提供している場合、各200nS期間中メモリ・アクセスを保証しなければならない。交互のタイム・スロットがアプリケーション・デバイスおよびマイクロプロセッサによって共有される。要求デバイス(requesting device)に対して供給可能であるいかなるデータもないとき、マイクロプロセッサはアプリケーション・タイム・スロットの使用を実現する。
【0057】
コントローラ93は、SCID検出器と通信して、メモリ書き込み動作の間、それぞれの開始ポインタ・レジスタ、ヘッド・ポインタ・レジスタおよび終了ポインタ・レジスタのどれにアクセスするかを決定する。コントローラ93は、DMAと通信して、メモリ読み出し動作の間、それぞれの開始レジスタ、終了レジスタおよびテールレジスタのどれにアクセスするかを決定する。DMA98は、マルチプレクサ99、104および105によって対応するアドレスおよびデータの選択を制御する。
【0058】
図9は、DMA98のメモリ・アクセス処理の典型的なフローチャートを示す。DMAは、SCIDの検出によって受信パケットの検出または非検出に応答する{200}。メモリに書き込まれる暗号解読器16からのデータの存在を示すSCIDが検出されたならば、暗号解読器からの1バイトのプログラム・データはバッファ・メモリ18に書き込まれる{201}。書き込まれるメモリのブロックは、現SCIDに応答するプロセッサ93によって決定される。次に、スマート・カードおよびμPCを含むプログラム・コンポーネント・プロセッサのいずれかがデータまたはメモリ18への読み出し/書き込み(R/W)アクセスを要求しているか否かを決定する{202}。いかなるデータ要求もDMAで行われていないならば、処理はステップに戻る{200}。データR/W要求が行われていたならば、DMAは要求の優先順位を決定する{203}。これは、従来の割り込みルーチンによってまたは、その代わりに、データを要求するこれらのプログラム・プロセッサの任意の順序のシーケンシャル1バイト・サービスによって達成される。例えば、任意のアクセス優先順位はビデオ、オーディオI、オーディオII、スマート・カード、およびμPCであると仮定する。ビデオ、オーディオIIおよびμPCだけがメモリ・アクセスを要求していることも仮定する。現ステップの動作中{203}、1バイトのビデオがメモリから読み出される。次のステップ動作中{203}、1バイトのオーディオIIがメモリから読み出され、次のその後のステップの発生中{203}、1バイトのμPCデータはメモリ18に書き込まれ、またはメモリ18から読み出される等である。スマート・カードおよびμPCアクセスのためのアドレスは、スマート・カードおよびμPCのそれぞれによって提供されるが、ビデオ、オーディオおよびプログラム・ガイドのためのアドレスはアドレス・ポインタ装置(80〜93)から供給されることに注目すべきである。
【0059】
一旦優先アクセスが確立されると{203}、必要なプログラム・プロセッサは、メモリ18に書き込まれるかまたはメモリ18から読み出される1バイトのデータによってサービスされる{204}。次に、暗号解読器16からの1バイトのデータはメモリに書き込まれる{205}。μPCがアクセスを要求しているかどうかを決定するための検査{206}が行われる。μPCがアクセスを要求しているならば、1バイトのデータによってサービスされる{207}。μPCがアクセスを要求していないならば、処理は、プログラム・プロセッサのいずれかアクセスを要求するかどうかを決定するためにステップ{202}にジャンプする。このように、入力データ(incoming data)は常に他のメモリ・アクセス期間(memory access period)へのアクセスが保証され、介在するメモリ・アクセス期間はプログラム・プロセッサの間で広げられる。
【0060】
暗号解読器16からデータが現在得られないならば、すなわち、SCIDは現在検出されないならば、処理{208〜216}が後に続く。最初に、スマート・カードは、メモリ・アクセスを要求しているか否かを決定するために検査される{208}。要求しているならば、1バイトのメモリ・アクセスが与えられ{209}、そうでないときには、プログラム・プロセッサのいずれかがメモリ・アクセスを要求しているか否かを決定するために検査が行われる{210}。データR/W要求が行われたならば、DMAは、要求の優先順位を決定する{211}。適当なプロセッサは、1バイトのメモリ読み出しまたは書き込みアクセスによってサービスされる{212}。データR/W要求がプログラム・プロセッサによって行われないならば、処理は、スマート・カードがメモリ・アクセスを要求しているか否かを決定するためにテストが実行されるステップ{213}にジャンプする。要求しているならば、スマート・カードは1バイトのメモリ・アクセスによってサービスされ{216}、そうでないと、処理はステップ{200}にジャンプする。
【0061】
この好ましい例では、“FECがデータを供給していない”モードでは、スマート・カードは全ての他のプログラム・プロセッサよりも2対1のアクセス優先順位(access precedence)が与えられる。この優先権は、DMA装置内のプログラマブル・ステートマシンにプログラムされ、μPCによって変更される。前述のように、本システムはインタアクティブ・サービスを提供することを意図され、μPC19は、インタアクティブ・データに応答して、少なくとも一部はインタアクティブ動作を実行する。この役割では、μPC19は、アプリケーション・ストレージおよび作業メモリの両方に対してメモリ18を使用する。これらの例では、システム・オペレータは、μPC19により大きな周波数のメモリ・アクセスを与えるためにメモリ・アクセス優先順位を変えることができる。メモリ・アクセス優先順位の再プログラミングを、インタアクティブ・アプリケーション命令のサブセットとして含むことができる。
【0062】
パケットが消失された場合、メディア・エラー・コードをビデオ・コンポーネント信号ストリームに挿入し、特定の信号エントリ・ポイントがデータ・ストリームで発生されるまで、伸長を中断するようにビデオ信号伸長器を条件付けることは有利なことである。どこで、どのビデオ・パケットで次のエントリ・ポイントが発生できるかを予測することは実際的でない。できるだけ高速に次のエントリ・ポイントを探すために、パケットが消失されたことを検出した後の最初のビデオ・パケットの始めでメディア・エラー・コードを含むことが必要である。図7の回路は、各ビデオ・パケットの始めにメディア・エラー・コードを置き、次に、直前のパケットのいかなる消失もない場合、それぞれのパケットのメディア・エラー・コードを削除する。メディア・エラー・コードは、暗号解読器から受信するビデオ・ペイロードより先にM書き込みサイクルの間、メモリ18に書き込むことにより、現ビデオ・パケット・ペイロードのために備えてある第1のM個のメモリ・アドレス・ロケーションに挿入される。同時に、マルチプレクサ99は、発生源100からのメディア・エラー・コードをメモリ18のI/Oに与えるようにDMA98によって条件付けられる。Mは、単に、メディア・エラー・コードを記憶するのに必要な整数のメモリ・ロケーションである。メモリは8ビット・バイトを記憶するものであり、メディア・エラー・コードは32ビットであると仮定すると、Mは4に等しい。
【0063】
メモリにメディア・エラー・コードをロードするためのアドレスは、マルチプレクサ82およびマルチプレクサ85を介して、それぞれのビデオ・コンポーネントサービス・レジスタ83によって供給される。ビデオ・コンポーネント・データでロードされるメモリ・ロケーションにメディア・エラー・コードをロードするためのポインタ・レジスタ83から供給された第1のM個のアドレスは単に、通常ビデオ・ヘッド・ポインタによって発生される次のM個のシーケンシャル・アドレスであることが理解される。これらの同一アドレスはM段の遅延素子84に結合されるので、メディア・エラー・コードの最後のバイトがメモリ18に記憶された直後、第1のM個のアドレスは遅延素子84の出力として得られる。
【0064】
メディア・エラー・コードをメモリにロードするためのタイミングは消失パケットの決定と一致する。パケット・エラーまたは消失検出は、現パケットのCCおよびHDデータに応答するエラー検出器101によって実行される。
【0065】
パケット消失が検出されたならば、現パケットのビデオ・コンポーネントは、次のアドレス・ロケーション、すなわち(M+1)番目のアドレス・ロケーションで始まるメモリ18に記憶される。これは、適当なレジスタ83から遅延されないヘッド・ポインタを送り続けるようにマルチプレクサ85を条件付けることによって達成される。一方、パケット消失が検出されないならば、現パケットにおけるビデオ・コンポーネントの第1のMバイトは、メディア・エラー・コードが直前に記憶されたメモリ・ロケーションに記憶される。
【0066】
パケット・エラーまたは消失検出は、現パケットのCCおよびHDデータに応答するエラー検出器101によって実行される。検出器101は、現パケットの連続カウント(continuity count)CCが前のパケットのCCと1単位(unit)だけ異なるか否かを決定するために、現パケットの連続カウントCCを検査する。さらに、現パケットのTOGGLE(トグル)ビットが検査され、それがそれぞれのビデオ・フレームに対して適切な状態を示しているか否かを決定する。CC値が不正確であるならば、TOGGLEビットの状態が検査される。CCおよびTOGGLEビットの一方または両方がエラーであるか否かに応じて、第1または第2のエラー修復(error remediation)モードがそれぞれ実行される。誤っているCCおよびTOGGLEビットの両方によって開始される第2のモードにおいて、本システムは画像層ヘッダ(picture layer header)を含むパケットにリセットされるように条件付けられる。CCだけが誤っている第1のモードでは、本システムはスライス層ヘッダ(slice layer header)を含むパケットにリセットされるように条件付けられる。(スライス層は、フレーム内の圧縮データのサブセットである。)第1および第2のモードの両方では、メモリに書き込まれたメディア・エラー・コードは、訂正動作(remedial action)を実行するよう伸長器(decompressor)に報知するために、それぞれのペイロードに保持される。
【0067】
SCID検出器、暗号解読器、アドレス指定回路、条件付きアクセス・フィルタ、およびスマート・カード・インターフェスは全て単一の集積回路上に含まれるようにシステムを分割することは特に有効であることが分かった。これは、臨界的なタイミング制約をもたらす外部経路の数を制限する。
【符号の説明】
【0068】
10 チューナ検出器
12 FEC
13 プログラマブルSCIDレジスタ
15 SCID一致検出
16 暗号解読器
30 Eコード・デコーダ
31 スマート・カード

【特許請求の範囲】
【請求項1】
パケット化トランスポート・ストリームを処理する方法において、
複数のトランスポート・パケットからなるパケット化トランスポート・ストリームを受信するステップと、
前記パケット化トランスポート・ストリーム内の、プログラムとパケット識別子との関係を示すデータに基づいて、選択されたビデオ・プログラムと関連するトランスポート・パケットを識別するためのパケット識別子を割り出すステップと、
前記パケット化トランスポート・ストリームを解析し、前記パケット識別子に応じて、所望の一連のトランスポート・パケットを特定して獲得するステップと、
前記獲得した一連のトランスポート・パケットの各々のトランスポート・パケットの中で、前記トランスポート・パケットのエラー情報を提供する1ビットのトグル部を検出するステップと、
前記1ビットのトグル部の状態に応じて前記トランスポート・パケットに特定のタイプのエラーが存在するかどうかを判定するステップと、
前記選択されたビデオ・プログラムと関連するトランスポート・パケットのビデオ信号処理手段への経路を設定するステップと、
を含む、前記方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2011−234405(P2011−234405A)
【公開日】平成23年11月17日(2011.11.17)
【国際特許分類】
【出願番号】特願2011−149984(P2011−149984)
【出願日】平成23年7月6日(2011.7.6)
【分割の表示】特願2011−128120(P2011−128120)の分割
【原出願日】平成7年3月15日(1995.3.15)
【出願人】(391000818)トムソン コンシユーマ エレクトロニクス インコーポレイテツド (166)
【氏名又は名称原語表記】THOMSON CONSUMER ELECTRONICS,INCORPORATED
【Fターム(参考)】