(57)【特許請求の範囲】
【請求項１】
１以上の時系列データストリームをそれぞれパケット化し、当該パケット単位で上記時系列データストリームをそれぞれ多重化して生成した多重化ストリームが入力され、入力された多重化ストリーム中の暗号化された時系列データストリームを復号して、当該多重化ストリームを出力する暗号復号装置において、
入力された上記多重化ストリームの各パケットに含まれている制御データを検出して、当該パケットに含まれている時系列データストリームの種類、並びに当該パケットに含まれている時系列データストリームが暗号化されているか否かを判断し、判断した結果に基づいて、時系列データストリームの暗号化が開始するパケット及び暗号化が終了するパケットの入力タイミングを各時系列データストリームの種類毎に検出し、各時系列データストリームの種類毎に上記タイミングで割り込み信号を発生する割り込み信号発生手段と、
各時系列データストリームの種類毎に発生される各割り込み信号に基づき、各パケットに対応した暗号鍵を選択して出力する暗号鍵出力手段と、
出力された上記暗号鍵に基づき、入力された多重化ストリームに含まれている暗号化された時系列データストリームを復号する復号手段とを備えること
を特徴とする暗号復号装置。
【請求項２】
上記割り込み信号発生手段は、上記制御データを検出して当該パケットがエラーパケットであるか否かを判断し、当該パケットがエラーパケットであるときには、当該パケットの入力タイミングを検出して上記タイミングで割り込み信号を発生し、
上記暗号鍵出力手段は、上記割り込み信号に基づき、上記暗号鍵の出力を停止すること
を特徴とする請求項１記載の暗号復号装置。
【請求項３】
上記多重化ストリームは、トランスポートストリームであること
を特徴とする請求項１記載の暗号復号装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばデジタル放送の受信システムなどに用いて好適な暗号復号装置に関する。
【０００２】
【従来の技術】
デジタル放送における有料放送などでは、データを秘匿するために、送信するデータや記録媒体に対して記録するデータなどを暗号化（以下、スクランブルと称する。）している。スクランブルされたデータは、例えば有料放送の契約者が所有する受信機によって受信された後に、復号化（以下、デスクランブルと称する。）されて元のデータに復元される。
【０００３】
日本のデジタル放送のスクランブル方式としては、社団法人電波産業会（ＡＲＩＢ；Associated of Radio Industries and Business）が標準化しており特開平１−２７６１８９号公報で開示されているＭｕｌｔｉ２方式が知られている。また、米国のデジタル放送のスクランブル方法としては、ＤＥＳ（Data Encryption Standard）方式などが知られている。
【０００４】
以下では、スクランブルされたトランスポートストリーム（以下、ＴＳと称する。）をデスクランブルする方法について説明する。
【０００５】
まず、ＴＳについて説明する。
【０００６】
ＴＳは、図７に示すＴＳパケット１００が、複数連なった構造とされている。ＴＳは、複数の番組を構成する複数の映像データ、音声データをそれぞれ圧縮符号化した時系列データストリームをそれぞれパケット化し、多重化して生成した多重化ストリームである。また、ＴＳには、各番組の契約条件を設定するＥＣＭ（Entitlement Control Message）、及び各契約者の契約内容を表すＥＭＭ（Entitlement Management Message）などのシステムデータが書き込まれたＴＳパケット１００が含まれている。
【０００７】
ＴＳパケットは、先頭に４バイトのＴＳパケットヘッダ１０１を有しており、ＴＳパケットヘッダ１０１の後には、後述するようにアダプテーションフィールド及び／又はペイロードデータが付加される。
【０００８】
ＴＳパケットヘッダ１０１は、アダプテーションフィールド制御（Adaptation Field Control；以下、ＡＦＣと称する。）データ１０２と、パケット識別（Packet IDentification；以下、ＰＩＤと称する。）データ１０３と、スクランブル制御（Transport Scrambling Control；以下、ＴＳＣと称する。）データ１０４と、誤り表示（Transport Error Indicator；以下ＴＥＩと称する。）データ１０５とが書き込まれている。
【０００９】
ＡＦＣデータ１０２は２ビットのデータであり、ＴＳパケットヘッダ１０１の後に付加されるデータを示している。具体的に説明すると、ＡＦＣデータ１０２が“０１”であるときには、図８中（ａ）に示すように、ＴＳパケットヘッダ１０１の後にペイロードデータ１０６が付加される。また、ＡＦＣデータ１０２が“１０”であるときには、図８中（ｂ）に示すように、ＴＳパケットヘッダ１０１の後にアダプテーションフィールド１０７が付加される。さらに、ＡＦＣデータ１０２が“１１”であるときには、図８中（ｃ）に示すように、ＴＳパケットヘッダ１０１の後にアダプテーションフィールド１０７及びペイロードデータ１０６の両方が付加される。
【００１０】
ＰＩＤデータ１０３は１３ビットのデータであり、該当ＴＳパケット１００のペイロードデータ１０６の属性（種類）を表している。
【００１１】
ＴＳＣデータ１０４は２ビットのデータであり、上位ビットはペイロードデータ１０６がスクランブルされているか否かを示しており、下位ビットは、スクランブルの鍵の種類を示している。ＴＳＣデータ１０４の上位ビットが０であるときにはペイロードデータ１０はスクランブルされておらず、１であるときにはペイロードデータ１０はスクランブルされている。また、ＴＳＣデータ１０４の下位ビットが０であるときにはスクランブルの鍵はｅｖｅｎ鍵であり、１であるときにはスクランブルの鍵はｏｄｄ鍵である。
【００１２】
ＴＥＩデータ１０５は、１ビットのデータ（以下、ＴＥＩデータと称する。）が書き込まれている。ＴＥＩデータ１０５は、ＴＳパケット１００がエラーパケットであるか否かを示している。ＴＥＩデータ１０５が０であるときは、ＴＳパケット１００はエラーパケットではなく、また、ＴＥＩデータ１０５が１であるときは、ＴＳパケット１００はエラーパケットである。
【００１３】
ペイロードデータ１０６は、例えば音声データ、映像データ、システムデータなどの各種データである。ペイロードデータ１０６は、課金データである場合にはスクランブルがかけられている。
【００１４】
ところで、データの課金単位は有効なＥＣＭ毎であり、１つの有効なＥＣＭに対しては、例えば１つの番組を構成する複数のＴＳパケット１００が対応している。
【００１５】
しかしながら、ＥＣＭに課金対象であることが示されているときにも、データを送信する側での番組間の過渡応答やフィラー挿入のために、当該ＥＣＭに対応する全てのＴＳパケット１００のペイロードデータ１０６がスクランブルされているとは限らない。ペイロードデータ１０６がスクランブルされているか否かは、各ＴＳパケットヘッダ１０１に設けられているＴＳＣデータ１０４に示されている。
【００１６】
すなわち、ＴＳをデスクランブルするときに、ＥＣＭを参照し、ＥＣＭに対応した全てのＴＳパケット１００のペイロードデータ１０６をデスクランブルすると、スクランブルされていないペイロードデータ１０６をデスクランブルしてしまう場合が生じる。
【００１７】
したがって、ペイロードデータ１０６をデスクランブルするときには、ＥＣＭの内容に拘わらず、各ＴＳパケット１００毎に逐一ＴＳＣデータ１０４を検出して、ペイロードデータ１０６がスクランブルされているか否かを判定し、スクランブルされているペイロードデータ１０６のみをデスクランブルする必要性がある。
【００１８】
以下では、各ＴＳパケット１００毎にＴＳＣデータ１０４を検出して、ペイロードデータ１０６をデスクランブルする装置及び方法について説明する。
【００１９】
図９に示すように、デスクランブル装置１２０は、ＴＳＣレジスタ１２１、ＰＩＤレジスタ１２２、及びＡＦＣレジスタ１２３を有するヘッダディテクタ１２４と、ＣＰＵ１２５と、鍵テーブル１２６と、デスクランブルコア１２７とを備える。
【００２０】
先ず、ヘッダディテクタ１２４が、供給されたＴＳパケット１００毎に、ＴＳＣデータ１０４をＴＳＣレジスタ１２１に格納し、ＰＩＤデータ１０３をＰＩＤレジスタ１２２に格納し、ＡＦＣデータ１０２をＡＦＣレジスタ１２３に格納する。
【００２１】
次に、ＣＰＵ１２５が、デスクランブル装置１２０にＴＳパケット１００が供給される毎に、ＴＳＣレジスタ１２１に格納されたＴＳＣデータ１０４を逐一検出し、供給されたＴＳパケット１００のペイロードデータ１０６にスクランブルがかかっているか否かを判断する。
【００２２】
そして、ＣＰＵ１２５は、当該ペイロードデータ１０６にスクランブルがかかっていると判断したときには、予め受信した暗号鍵を鍵テーブル１２６に供給する。また、ＴＳＣレジスタ１２１に格納されたＴＳＣデータ１０４と、ＰＩＤレジスタ１２２に格納されたＰＩＤデータ１０３とが、鍵テーブル１２６へ供給される。
【００２３】
次に、鍵テーブル１２６からデスクランブルコア１２７へ、供給されたＴＳパケット１００のＰＩＤデータ１０３に対応したデータ鍵が供給される。そして、デスクランブルコア１２７が、供給されたＴＳパケット１００のペイロードデータ１０６をデスクランブルする。
【００２４】
なお、ペイロードデータ１０６がデスクランブルされたＴＳパケット１００は、図示しないデマルチプレクサなどに供給され、例えば、音声データ、映像データ、システムデータなど、データの種類毎に分離する。
【００２５】
【発明が解決しようとする課題】
以上説明したデスクランブル方法では、デスクランブル装置１２０にＴＳパケット１００が供給される毎に、ＣＰＵ１２５がヘッダディテクタ１２４内のＴＳＣレジスタ１２１にアクセスし、ＴＳＣレジスタ１２１に格納されているＴＳＣデータ１０４の上位ビットを逐一検出することで、デスクランブル装置１２０に供給されたＴＳパケット１００のペイロードデータ１０６がスクランブルされているか否かを検出している。
【００２６】
しかしながら、当該デスクランブル方法によると、供給されたＴＳパケット１００のペイロードデータ１０６がスクランブルされているか否かを確認するために、ＣＰＵ１２５は、デスクランブル装置１２０にＴＳパケット１００が供給される毎にＴＳＣレジスタ１２１にアクセスする必要がある。したがって、ＣＰＵ１２５にかかる負担は膨大なものとなる。
【００２７】
本発明は以上説明した実情に基づいて提案されたものであり、暗号化されているデータを復号するときに、暗号鍵出力手段の負担が小さい暗号復号装置を提供することを目的とする。
【００２８】
【課題を解決するための手段】
本発明に係る暗号復号装置は、１以上の時系列データストリームをそれぞれパケット化し、当該パケット単位で上記時系列データストリームをそれぞれ多重化して生成した多重化ストリームが入力され、入力された多重化ストリーム中の暗号化された時系列データストリームを復号して、当該多重化ストリームを出力する暗号復号装置において、入力された上記多重化ストリームの各パケットに含まれている制御データを検出して、当該パケットに含まれている時系列データストリームの種類、並びに当該パケットに含まれている時系列データストリームが暗号化されているか否かを判断し、判断した結果に基づいて、時系列データストリームの暗号化が開始するパケット及び暗号化が終了するパケットの入力タイミングを各時系列データストリームの種類毎に検出し、各時系列データストリームの種類毎に上記タイミングで割り込み信号を発生する割り込み信号発生手段と、各時系列データストリームの種類毎に発生される各割り込み信号に基づき、各パケットに対応した暗号鍵を選択して出力する暗号鍵出力手段と、出力された上記暗号鍵に基づき、入力された多重化ストリームに含まれている暗号化された時系列データストリームを復号する復号手段とを備えることを特徴とする。
【００２９】
【発明の実施の形態】
以下、本発明を適用した暗号復号装置（以下、デスクランブル装置と称する。）について説明する。
【００３０】
以下ではスクランブルされているトランスポートストリーム（以下、ＴＳと称する。）のデスクランブル装置及びデスクランブル方法について説明する。
【００３１】
図１に示すように、本発明を適用したデスクランブル装置１は、ヘッダディテクタ２と、中央演算処理装置（Central Processing Unit；以下、ＣＰＵと称する。）３と、鍵テーブル４と、デスクランブルコア５とを備える。
【００３２】
ヘッダディテクタ２は、ＴＥＩレジスタ３０と、ＴＳＣレジスタ３１と、ＰＩＤレジスタ３２と、ＡＦＣレジスタ３３と、スクランブル検出部３４とを備えている。ヘッダディテクタ２は、ＡＦＣデータ１０２、ＴＥＩデータ１０５、ＰＩＤデータ１０３、及びＴＳＣデータ１０４から、ペイロードデータ１０６のスクランブルが開始するＴＳパケット１００の入力タイミングと、終了するＴＳパケット１００の入力タイミングとを検出する。
【００３３】
図２に示すように、ＴＳは、映像データ、音声データなどの各時系列データストリーム毎に、スクランブルが開始するＴＳパケット１００及び終了するＴＳパケット１００を有しており、スクランブルが開始するＴＳパケット１００及び終了するＴＳパケット１００間に配置されているＴＳパケット１００のペイロードデータ１０６が、全てスクランブルされている。なお、図２では、各ＴＳパケット１００の詳細な構成については省略している。また、図２中に示されているデータ名は、各ＴＳパケット１００のペイロードデータ１０６の内容を示している。
【００３４】
また、ヘッダディテクタ２は、スクランブルが開始するＴＳパケット１００の入力タイミングでＣＰＵ３に対する第１の割り込み信号を発生する。さらに、ヘッダディテクタ２は、スクランブルが終了するＴＳパケット１００の入力タイミングでＣＰＵ３に対する第２の割り込み信号を発生する。なお、ヘッダディテクタ２については詳細を後述する。
【００３５】
ＣＰＵ３は、ヘッダディテクタ２から供給される第１の割り込み信号に従って、鍵テーブル４へ暗号鍵を供給する。また、ＣＰＵ３は、ヘッダディテクタ２から供給される第２の割り込み信号に従って、鍵テーブル４への暗号鍵の供給を停止する。
【００３６】
鍵テーブル４は、ＣＰＵ３から暗号鍵が供給される。また、鍵テーブル４は、ヘッダディテクタ２からＰＩＤデータ１０３及びＴＳＣデータ１０４が供給される。鍵テーブル４は、供給された暗号鍵、ＰＩＤデータ１０３及びＴＳＣデータ１０４に基づいて、デスクランブル装置１に供給されたＴＳパケット１００のＰＩＤデータ１０３に対応している暗号鍵を、デスクランブルコア５へ供給する。
【００３７】
デスクランブルコア５は、鍵テーブル４から供給された暗号鍵に基づいて、供給されたＴＳパケット１００のペイロードデータ１０６をデスクランブルする。
【００３８】
以上説明したデスクランブル装置１の動作は以下に示す通りとなる。
【００３９】
先ず、ヘッダディテクタ２が、供給されたＴＳパケット１００のＴＥＩデータ１０５をＴＥＩレジスタ３０に格納し、ＰＩＤデータ１０３をＰＩＤレジスタ３２に格納し、ＴＳＣデータ１０４をＴＳＣレジスタ３１に格納し、ＡＦＣデータ１０２をＡＦＣレジスタ３３に格納する。
【００４０】
次に、ヘッダディテクタ２は、ＡＦＣデータ１０２、ＰＩＤデータ１０３、ＴＳＣデータ１０４、及びＴＥＩデータ１０５から、デスクランブル装置１に供給されたＴＳパケット１００のペイロードデータ１０６がスクランブルされているか否かを判断し、判断した結果に基づいて、ペイロードデータ１０６の暗号化が開始するＴＳパケット１００の入力タイミングを、各時系列データストリームの種類毎に検出する。ヘッダディテクタ１００は、当該ＴＳパケット１００の入力タイミングで第１の割り込み信号を発生してＣＰＵ３へ供給する。
【００４１】
第１の割り込み信号が供給されると、ＣＰＵ３は、予め受信した暗号鍵を鍵テーブル４に供給する。また、ＴＳＣデータ１０４及びＰＩＤデータ１０３が、ヘッダディテクタ２から鍵テーブル４へ供給される。
【００４２】
次に、鍵テーブル４からデスクランブルコア５へ、デスクランブル装置１へ供給されたＴＳパケット１００のＰＩＤデータ１０３に対応した暗号鍵が供給される。
【００４３】
そして、デスクランブルコア５が、デスクランブル装置１へ供給されたＴＳパケット１００のペイロードデータ１０６をデスクランブルする。
【００４４】
なお、ペイロードデータ１０６がデスクランブルされたＴＳパケット１００は、図示しないデマルチプレクサなどに供給され、例えば、音声データ、映像データ、システムデータなどの種類毎に分離する。
【００４５】
次に、ヘッダディテクタ２は、ＴＥＩデータ１０５、ＰＩＤデータ１０３、ＴＳＣデータ１０４、及びＡＦＣデータ１０２から、デスクランブル装置１に供給されたＴＳパケット１００のペイロードデータ１０６がスクランブルされているか否かを判断し、判断した結果に基づいて、ペイロードデータ１０６の暗号化が終了するＴＳパケット１００の入力タイミングを、各データの種類毎に検出する。ヘッダディテクタ１００は、当該ＴＳパケット１００の入力タイミングで第２の割り込み信号を発生してＣＰＵ３へ供給する。
【００４６】
第２の割り込み信号が供給されると、ＣＰＵ３は、鍵テーブル４への暗号鍵の供給を停止する。そして、鍵テーブル４からヘッダディテクタ５への暗号鍵の供給もなくなり、ペイロードデータ１０６のスクランブルが終了する。
【００４７】
以下では、ヘッダディテクタ２について、詳細に説明する。
【００４８】
ヘッダディテクタ２は、図１に示すように、ＴＥＩレジスタ３０と、ＴＳＣレジスタ３１と、ＰＩＤレジスタ３２と、ＡＦＣレジスタ３３と、スクランブル検出部３４とを備えている。
【００４９】
ＴＥＩレジスタ３０は、供給されたＴＳパケット１００のＴＥＩデータ１０５を格納する。また、ＴＥＩレジスタ３０は、格納したＴＥＩデータ１０５をスクランブル検出部３４へ供給する。
【００５０】
ＴＳＣレジスタ３１は、供給されたＴＳパケット１００のＴＳＣデータ１０４を格納する。また、ＴＳＣレジスタ３１は、格納したＴＳＣデータ１０４をスクランブル検出部３４へ供給する。
【００５１】
ＰＩＤレジスタ３２は、供給されたＴＳパケット１００のＰＩＤデータ１０３を格納する。また、ＰＩＤレジスタ３２は、格納したＰＩＤデータ１０３をスクランブル検出部３４へ供給する。
【００５２】
ＡＦＣレジスタ３３は、供給されたＴＳパケット１００のＡＦＣデータ１０２を格納する。また、ＡＦＣレジスタ３３は、格納したＡＦＣデータ１０２の下位１ビットをスクランブル検出部３４へ供給する。
【００５３】
スクランブル検出部３４は、ＴＥＩレジスタ３０、ＴＳＣレジスタ３１、ＰＩＤレジスタ３２、及びＡＦＣレジスタ３３から供給された各データに基づいて、第１の割り込み信号又は第２の割り込み信号を発生し、ＣＰＵ３へ供給する。
【００５４】
スクランブル検出部３４は、図３に示すように、ｎ個のＴＳＣデータ保存回路５０１，５０２，５０３，・・・，５０ｎ（以下、ＴＳＣデータ保存回路５０１〜５０ｎと総称する。）、及びｎ個の立ち上がり／立ち下がり検出回路５１１，５１２，５１３，・・・，５１ｎ（以下、立ち上がり／立ち下がり検出回路５１１〜５１ｎと総称する。）を備えている。
【００５５】
ＴＳＣデータ保存回路５０１〜５０ｎは、各ＰＩＤデータ１０３に対応するＴＳＣデータ１０４を保存する。すなわち、供給されたＴＳパケット１００のＰＩＤデータ１０３によって、当該ＴＳパケット１００のＴＳＣデータ１０４が格納されるＴＳＣデータ保存回路が決まる。
【００５６】
例えば、デスクランブル装置１に供給されたＴＳパケット１００のペイロードデータ１０６が映像データであるときには、ＰＩＤデータ１０３にペイロードデータ１０６が映像データである旨が示されている。ＰＩＤデータ１０３にペイロードデータ１０６が映像データである旨が示されているときには、当該ＴＳパケット１００のＴＳＣデータ１０４は、ＴＳＣデータ保存回路５０１〜５０ｎのうち特定のもの（例えばＴＳＣデータ保存回路５０１）に保存される。また、ＰＩＤデータ１０３にペイロードデータ１０６が音声データである旨が示されているときには、当該ＴＳパケット１のＴＳＣデータ１０４は、ペイロードデータ１０６が映像データであるときにＴＳＣデータ１０４が保存されたＴＳＣデータ保存回路とは異なるＴＳＣデータ保存回路（例えば、ＴＳＣデータ保存回路５０２）に保存される。
【００５７】
スクランブル検出部３４内に、各ＰＩＤデータ１０３に対応したＴＳＣデータ保存回路５０１〜５０ｎ及び立ち上がり／立ち下がり検出器５１１〜５１ｎを設けることで、ペイロードデータ１０６の種類毎に、スクランブルが開始するＴＳパケット１００とスクランブルが終了するＴＳパケット１００とを検出することが可能となる。また、ペイロードデータ１０６の種類毎に、スクランブルの開始となるＴＳパケット１００の入力タイミングを検出して、当該タイミングで第１の割り込み信号を発生することが可能となる。また、ペイロードデータ１０６の種類毎に、スクランブルが終了するＴＳパケット１００の入力タイミングを検出して、当該タイミングで第２の割り込み信号を発生させることが可能となる。
【００５８】
また、各立ち上がり／立ち下がり検出回路５１１〜５１ｎは、それぞれ各ＴＳＣデータ保存回路５０１〜５０ｎと接続している。各立ち上がり／立ち下がり検出回路５１１〜５１ｎは、接続しているＴＳＣデータ保存回路５０１〜５０ｎから供給された信号の立ち上がり検出して第１の割り込み信号を発生し、立ち下がりを検出して第２の割り込み信号を発生する。
【００５９】
以下では、ＴＳＣデータ保存回路５０１及び立ち上がり／立ち下がり検出回路５１１の動作について説明する。なお、ＴＳＣデータ保存回路５０２，５０３，・・・，５０ｎはＴＳＣデータ保存回路５０１と同じであり、立ち上がり／立ち下がり検出回路５１２，５１３，・・・，５１ｎは立ち上がり／立ち下がり検出回路５１１と同じである。したがって、ＴＳＣデータ保存回路５０２，５０３，・・・，５０ｎの説明についてはＴＳＣデータ保存回路５０１の説明を援用し、立ち上がり／立ち下がり検出回路５１２，５１３，・・・，５１ｎについては、立ち上がり／立ち下がり検出回路５１１の説明を援用する。
【００６０】
図４に示すように、ＴＳＣデータ保存回路５０１は、一致回路６０１と、ＡＮＤ回路６１１と、第１のフリップフロップ６２１とを備える。また、立ち上がり／立ち下がり検出回路５１１は、第２のフリップフロップ回路６３１と、不一致回路６４１とを備える。
【００６１】
先ず、図５に示すように、Ｓ１において、ＰＩＤレジスタ３２に格納されたＴＳパケット１００のＰＩＤデータ１０３と、予め設定されたＰＩＤデータとが一致回路６０１に供給される。一致回路６０１は、ＰＩＤレジスタ３２に格納されたＴＳパケット１００のＰＩＤデータ１０３と予め設定されたＰＩＤデータとが一致したときには「ハイ」を出力してＳ２に進み、不一致のときには「ロー」を出力してＳ４に進む。一致回路６０１からの出力は、ＡＮＤ回路６１１に供給される。
【００６２】
なお、Ｓ１において、ＰＩＤレジスタ３２に格納されたＴＳパケット１００のＰＩＤデータ１０３と予め設定されたＰＩＤデータとが不一致であるときには、ペイロードデータ１０６はデスクランブルされることなくデスクランブルコア５から出力される。
【００６３】
次に、Ｓ２において、一致回路６０１から出力された信号とともに、ＡＦＣレジスタ３３に格納されたＡＦＣデータ１０２のうち下位１ビットがＡＮＤ回路６１１に供給される。また、ＴＥＩレジスタ３０に格納されたＴＥＩデータ１０５が反転してＡＮＤ回路６１１に供給される。
【００６４】
ＡＦＣデータ１０２の下位１ビットは、ＴＳパケット１００にペイロードデータ１０６が存在するときには１とされており、存在しないときには０とされている。すなわち、ＴＳパケット１００にペイロードデータ１０６が存在するときにはＡＦＣレジスタ３３からＡＮＤ回路６１１へ「ハイ」が供給され、ＴＳパケット１００にペイロードデータ１０６が存在しないときにはＡＦＣレジスタ３３からＡＮＤ回路６１１へ「ロー」が供給される。
【００６５】
また、ＴＥＩデータ１０５は、ＴＳパケット１００がエラーパケットであるときには１とされており、ＴＳパケット１００がエラーパケットでないときには０とされている。さらに、ＴＥＩレジスタ３０から出力された値は、反転してＡＮＤ回路６１１へ供給される。すなわち、ＴＳパケット１００がエラーパケットでないときにはＴＥＩレジスタ３０からＡＮＤ回路６１１へ「ハイ」が供給され、ＴＳパケット１００がエラーパケットであるときにはＴＥＩレジスタ３０からＡＮＤ回路６１１へ「ロー」が供給される。
【００６６】
したがって、ＴＳパケット１００のＰＩＤデータ１０３と予め設定されたＰＩＤデータとが一致するとともに、ＴＳパケット１００にペイロードデータ１０６が存在し、且つＴＳパケット１がエラーパケットでないときに、ＡＮＤ回路６１１に供給される信号は全て「ハイ」となり、ＡＮＤ回路６１１は「ハイ」を出力する。また、ＡＮＤ回路６１１に「ロー」が供給されるときには、ＡＮＤ回路６１１は「ロー」を出力する。
【００６７】
次に、ＡＮＤ回路６１１から出力した信号が、第１のフリップフロップ６２１へ供給される。ＡＮＤ回路６１１から第１のフリップフロップ６２１へ「ハイ」が供給されたときにはＳ３へ進み、ＴＳＣレジスタ３１に格納されていたＴＳＣデータ１０４が、第１のフリップフロップ６２１へ格納される。なお、ＡＮＤ回路６１１から第１のフリップフロップ６２１へ「ロー」が供給されるときにはＳ４に進み、第１のフリップフロップ６２１は、ＴＳＣレジスタ３１に格納されていたＴＳＣデータ１０４を格納しない。
【００６８】
そして、第１のフリップフロップ６２１は、格納したＴＳＣデータ１０４の上位１ビットを出力する。なお、第１のフリップフロップ６２１に格納されたＴＳＣデータ１０４の上位１ビットは、ペイロードデータ１０６にスクランブルがかかっているときには１とされており、ペイロードデータ１０６にスクランブルがかかっていないときには０とされている。すなわち、第１のフリップフロップ６２１は、デスクランブル装置１に供給されたＴＳパケット１００のペイロードデータ１０６にスクランブルがかかっているときには「ハイ」を出力し、当該ＴＳパケットのペイロードデータ１０６にスクランブルがかかっていないときには「ロー」を出力する。また、デスクランブル装置１にスクランブルが開始するＴＳパケット１００が供給されたときには、第１のフリップフロップ６２１から出力される信号は「ロー」から「ハイ」へと立ち上がり、デスクランブル装置１にスクランブルが終了するＴＳパケット１００が供給されたときには、第１のフリップフロップ６２１から出力される信号は「ハイ」から「ロー」へと立ち下がる。
【００６９】
次に、第１のフリップフロップ６２１から出力される信号は、立ち上がり／立ち下がり検出回路５１１内の第２のフリップフロップ回路６３１と、不一致回路６４１とへ供給される。また、第２のフリップフロップ回路６３１へ供給された信号は１クロック分遅延して出力され、不一致回路６４１へ供給される。
【００７０】
そして、Ｓ５において、不一致回路６４１は、第１のフリップフロップから直接供給された信号、及び第２のフリップフロップ６３１から供給された信号に基づいて、供給されたＴＳパケット１００がスクランブルが開始するＴＳパケット１００又は終了するＴＳパケット１００であるか否かを判断する。供給されたＴＳパケット１００が、スクランブルが開始するＴＳパケット１００又は終了するＴＳパケット１００であると判断されたときにはＳ６に進み、不一致回路６４１は第１又は第２の割り込み信号を出力してＣＰＵ３２へ供給する。また、供給されたＴＳパケット１００が、スクランブルが開始するＴＳパケット１００又は終了するＴＳパケット１００ではないと判断されたときにはＳ７へ進み、不一致回路６４１は割り込み信号を出力しない。
【００７１】
なお、Ｓ４に進んだときには、第１のフリップフロップ６２１は、ＴＳＣレジスタ３１に格納されていたデータを格納せずにＳ７に進む。Ｓ７においては、不一致回路６４１は割り込み信号を出力しない。
【００７２】
以下では、デスクランブル装置１に供給されるＴＳパケット１００と、第１のフリップフロップ６２１から出力される信号と、第２のフリップフロップ６３１から出力される信号と、不一致回路６４１から出力される信号との関係について、図６を参照しながら説明する。
【００７３】
不一致回路６４１には、図６中（ａ），（ｂ）に示すように、第１のフリップフロップ６２１から信号が供給されるとともに、第２のフリップフロップ６３１からは、第１のフリップフロップ回路６２１から供給される信号と比較して１クロック分遅延した信号が供給される。すなわち、第２のフリップフロップ６３１から供給される信号の立ち上がり及び立ち下がりは、第２のフリップフロップ６３１から供給される信号と比較して１クロック分遅延している。
【００７４】
したがって、図６中ｘで示すように、第１のフリップフロップ６２１から供給される信号が立ち上がってから、第２のフリップフロップ６３１から供給される信号が立ち上がるまでの間、第１のフリップフロップ６２１から不一致回路６４１へ供給される信号は「ハイ」となり、第２のフリップフロップ６３１から不一致回路６４１へ供給される信号は「ロー」となる。すなわち、不一致回路６４１には異なる信号が供給される。そして、不一致回路６４１は第１の割り込み信号を出力する。
【００７５】
また、図６中ｙで示すように、第１のフリップフロップ６２１から供給される信号が立ち下がってから、第２のフリップフロップ６３１から供給される信号が立ち下がるまでの間、第１のフリップフロップ６２１から不一致回路６４１へ供給される信号は「ロー」となり、第２のフリップフロップ６３１から不一致回路６４１へ供給される信号は「ハイ」となる。すなわち、不一致回路６４１には異なる信号が供給される。そして、不一致回路６４１は第２の割り込み信号を出力する。
【００７６】
したがって、図６中（ｃ）に示すように、第１のフリップフロップ６２１から供給される信号が立ち上がった直後、すなわち、ペイロードデータ１０６のスクランブルが開始するＴＳパケット１００がデスクランブル装置１へ供給された直後に、不一致回路６４１は第１の割り込み信号を出力する。そして、第１の割り込み信号はＣＰＵ３に供給される。ＣＰＵ３は、この第１の割り込み信号が供給されることで、鍵テーブル４に対して暗号鍵を供給する。
【００７７】
また、第１のフリップフロップ６２１から供給される信号が立ち下がった直後、すなわち、ペイロードデータ１０６のデスクランブルが終了となるＴＳパケット１００がデスクランブル装置１に供給された直後に、不一致回路６４１は第２の割り込み信号を出力する。そして、当該第２の割り込み信号はＣＰＵ３に供給される。ＣＰＵ３は、この第２の割り込み信号が供給されることで、鍵テーブル４への暗号鍵の供給を停止する。
【００７８】
なお、デスクランブル装置１は、ＴＥＩデータ１０５が１とされるとき、すなわち、当該デスクランブル装置１に供給されたＴＳパケット１００がエラーパケットであるときに、ＡＮＤ回路６１１が「ロー」を出力する。したがって、供給されたＴＳパケット１００がエラーパケットであるときには、第１のフリップフロップ６２１はＴＳＣレジスタ３１から供給されたＴＳＣデータ１０４を格納しない。したがって、第１のフリップフロップ６２１から出力される信号は「ハイ」から「ロー」へ変化する。また、第２のフリップフロップ６３１から出力される信号は、第１のフリップフロップ６２１から１クロック遅れて「ハイ」から「ロー」へと変化する。したがって、不一致回路６４１は、デスクランブル装置１にエラーパケットが供給されることに伴って、第３の割り込み信号を出力する。ＣＰＵ３は、第３の割り込み信号が供給されたことにより、鍵テーブル４への暗号鍵の供給を停止する。したがって、本発明を適用したデスクランブル装置１は、供給されたＴＳパケット１００がエラーパケットであったときには、ペイロードデータ１０６をデスクランブルしない構成とされている。
【００７９】
以上説明したように、本発明を適用したデスクランブル装置１は、先ず、ヘッダディテクタ２が、デスクランブル装置１に供給されたＴＳパケット１００内のＴＳＣデータ１０４を検出することで、当該ＴＳパケット１００のペイロードデータ１０６がスクランブルされているか否かを判断するとともに、当該ＴＳパケットのＰＩＤデータ１０３を検出することで、当該ＴＳパケット１００のペイロードデータ１０６のデータの種類を判断する。そして、ヘッダディテクタ２は、判断した結果に基づいて、ペイロードデータ１０６のスクランブルが開始するＴＳパケット１００の入力タイミングを、ペイロードデータ１０６の種類毎に検出する。そして、ヘッダディテクタ２は、ペイロードデータ１０６のスクランブルが開始するＴＳパケット１００の入力タイミングで第１の割り込み信号を発生する。
【００８０】
次に、ＣＰＵ３が、第１の割り込み信号が供給されることによって暗号鍵を出力する。当該暗号鍵は鍵テーブル４に対して供給される。鍵テーブル４では、供給された暗号鍵、ＴＳＣデータ１０４、及びＰＩＤ１０３データに基づいて、ＰＩＤデータ１０３に対応している暗号鍵をデスクランブルコア５へ供給する。そして、デスクランブルコア５は、供給された暗号鍵に基づいて、スクランブルが開始するＴＳパケット１００及び終了するＴＳパケット１００間に配置されているＴＳパケット１００に書き込まれたペイロードデータ１０６をデスクランブルする。
【００８１】
そして、ヘッダディテクタ２が、デスクランブル装置１に供給されたＴＳパケット１００内のＴＳＣデータ１０４を検出することで、当該ＴＳパケット１００のペイロードデータ１０６がスクランブルされているか否かを判断するとともに、当該ＴＳパケット１００のＰＩＤデータ１０３を検出することで、当該ＴＳパケット１００のペイロードデータ１０６のデータの種類を判断する。ヘッダディテクタ２は、判断した結果に基づいて、ペイロードデータ１０６のスクランブルが終了するＴＳパケット１００の入力タイミングを、ペイロードデータ１０６の種類毎に検出する。また、ヘッダディテクタ２は、ペイロードデータ１０６のスクランブルが終了するＴＳパケット１００の入力タイミングで第２の割り込み信号を発生する。
【００８２】
最後に、ＣＰＵ３が、第２の割り込み信号が供給されることによって暗号鍵の出力を停止する。
【００８３】
すなわち、本発明を適用したデスクランブル装置１では、ＴＳパケット１００が供給される毎にＣＰＵ３がＴＳＣレジスタ３１にアクセスすることなく、ヘッダディテクタ２が供給される各ＴＳパケット１００のＴＳＣデータ１０４を検出することで、スクランブルされたペイロードデータ１０６をデスクランブルすることが可能となる。したがって、本発明を適用したデスクランブル装置１では、ペイロードデータ１０６をデスクランブルするときのＣＰＵ３の負担が軽減される。
【００８４】
【発明の効果】
本発明に係る暗号復号装置では、割り込み信号発生手段が、入力された多重化ストリームの各パケット内に含まれている制御データを検出して、当該パケットに含まれている時系列データストリームの種類、並びに当該パケットに含まれている時系列データストリームが暗号化されているか否かを判断し、判断した結果に基づいて、時系列データストリームの暗号化が開始するパケット及び暗号化が終了するパケットの入力タイミングを各時系列データストリームの種類毎に検出し、各時系列データストリームの種類毎に上記タイミングで割り込み信号を発生する。また、暗号鍵出力手段は、各時系列データストリームの種類毎に発生される各割り込み信号に基づき、各パケットに対応した暗号鍵を選択して出力する。さらにまた、復号手段が、暗号鍵出力手段から出力された暗号鍵に基づき、入力された多重化ストリームに含まれている暗号化された時系列データストリームを復号する。
【００８５】
すなわち、本発明に係る復号装置では、暗号鍵出力手段が供給されたパケットに含まれる各制御データを逐一検出することなく、割り込み信号発生手段がパケットに含まれる各制御データを検出することで、暗号化された時系列データストリームを復号することができる。したがって、本発明に係る暗号復号装置では、暗号化された時系列データストリームを復号するときの暗号鍵出力手段の負担が軽減される。
【図面の簡単な説明】
【図１】本発明を適用したデスクランブル装置を示すブロック図である。
【図２】ＴＳにおいて、ペイロードデータにスクランブルがかけられている部分と、ペイロードデータにスクランブルがかけられていない部分とを説明するための模式図である。
【図３】同デスクランブル装置に備えられたスクランブル検出部を示すブロック図である。
【図４】同ヘッダディテクタに備えられたＴＳＣ保存回路及び立ち上がり／立ち下がり検出回路を示すブロック図である。
【図５】同スクランブル検出部において、第１及び第２の割り込み信号を出力するときの工程を示すフローチャートである。
【図６】第１のフリップフロップから出力される信号と、第２のフリップフロップから出力される信号と、不一致回路から出力される信号との関係を示す模式図である。
【図７】ＴＳパケットの構成を説明するための図であり、特にＴＳパケットヘッダの構成を説明するための模式図である。
【図８】ＴＳパケットの構成を説明するための図であり、特にＴＳパケットヘッダの後に付加するデータの構成を説明するための模式図である。
【図９】従来のデスクランブル装置を示すブロック図である。
【符号の説明】
３４  スクランブル検出部、５０１〜５０ｎ  ＴＳＣレジスタ、５１１〜５１ｎ  立ち上がり／立ち下がり検出回路
【図１】
0004000809.tif 000002
【図２】
0004000809.tif 000003
【図３】
0004000809.tif 000004
【図４】
0004000809.tif 000005
【図５】
0004000809.tif 000006
【図６】
0004000809.tif 000007
【図７】
0004000809.tif 000008
【図８】
0004000809.tif 000009
【図９】
0004000809.tif 000010