(57)【要約】【課題】暗号化された符号化データを復号する復号装置において、復号装置を起動してから復号を開始するまでを高速化する。【解決手段】第１のＯＳ２００が起動し、スクランブル鍵Ｋｓの取得と登録を完了する間に第２のＯＳ３００が起動を完了する（ステップＳ２０１）。第１のＯＳ２００は、放送番組のチャネル情報やネットワークの設定情報（制御情報）を状態保存用バッファ１０３ｃに保存し（ステップＳ１０６）、第１のＯＳ２００は終了する。第２のＯＳ３００は、ＳＭＰ化処理を開始し（ステップＳ２０４）、ＳＭＰ処理を開始する（ステップＳ２０５）。その後、状態保存用バッファ領域１０３ａから制御情報を読み取り（ステップＳ２０６）、第１のＣＰＵ１０１ａと第２のＣＰＵ１０１ｂは、分担してＡＶデコーダ１０１ｄ等各部を制御する（ステップＳ２０７）。【選択図】図４
2007221370.tif 000002
【特許請求の範囲】
【請求項１】
所定周期で更新される鍵データを用いて逐次暗号化されて送信されるストリームデータ及び当該鍵データを、逐次受信して当該ストリームデータを復号する復号装置であって、
送信されるストリームデータ及び鍵データを逐次受信する受信部と、
メモリを共用する第１プロセッサ及び第２プロセッサを含む制御部とを備え、
前記制御部は、
前記第１プロセッサに第１ＯＳを実行させ、当該第１ＯＳ上において、受信した鍵データを用いたストリームデータの暗号化を解くための制御を行う第１復号制御処理プログラムを実行させ、並行して、前記第２プロセッサに、複数のプロセッサ上での分散実行が可能な第２ＯＳについての当該分散実行の準備処理を実行させ、
前記第１プロセッサが、受信した一の鍵データを用いたストリームデータの暗号化を解くための制御を行った第１時点から、前記所定周期間隔より短い所定時間内に、
前記第１プロセッサに、前記第１ＯＳに代えて前記第２ＯＳの分散実行処理を開始させ、並行して、前記第２プロセッサにも前記第２ＯＳの分散実行処理を開始させ、当該第２ＯＳ上において、前記ストリームデータを復号するための第２復号制御処理プログラムを開始するよう制御する
ことを特徴とする復号装置。
【請求項２】
前記制御部は、電力が供給されて起動した時を起点として各処理を実行し、
前記第２プロセッサに実行させる前記分散実行の準備処理は、前記第２ＯＳを単一プロセッサ上で動作する形態で起動する処理を含み、
前記第１プロセッサに実行させる前記第２ＯＳの分散実行処理は、前記第１ＯＳを終了する処理を含み、
前記第２プロセッサに実行させる前記第２ＯＳの分散実行処理は、当該第２ＯＳを複数プロセッサ上で動作する形態に変える処理を含む
ことを特徴とする請求項１記載の復号装置。
【請求項３】
前記受信部は、前記鍵データを所定のタイミングで定期的に受信し、
前記制御部は、前記鍵データが前記鍵データの更新を検出し、
前記第１時点は、前記制御部が前記鍵データの更新を検出した時から次の１回目のタイミングで前記受信部が鍵データを受信した時点である
ことを特徴とする請求項１記載の復号装置。
【請求項４】
前記復号装置は、記憶部を有していて前記ストリームデータの復号を行う復号部を備え、
前記第１復号制御処理プログラムは、受信した鍵データを前記記憶部に記録する処理を含み、
前記第２復号制御処理プログラムは、前記記憶部に記録された鍵データを用いて前記ストリームデータの復号を行うよう、前記復号部を制御する処理を含む
ことを特徴とする請求項１記載の復号装置。
【請求項５】
前記ストリームデータは、複数の放送番組のエレメンタリーストリームを含んで構成されるデジタル放送用のストリームデータであって、それぞれの放送番組を特定するチャンネルを示すチャンネル情報を複数含んで送信され、
前記復号装置は、さらに前記複数の放送番組の中から所望の放送番組を選択する操作をユーザから受付ける操作部を備え、
前記第１復号制御処理プログラムは、前記ユーザの選択操作に応じて、受信したチャンネル情報の中から、選択された放送番組のチャンネルを示すチャンネル情報を前記記憶部に記録する処理を含み、
前記第２復号制御処理プログラムは、前記記憶部に記録されたチャンネル情報を使用して前記ストリームデータの復号を行うよう、前記復号部を制御する処理を含む
ことを特徴とする請求項４記載の復号装置。
【請求項６】
前記第１復号制御処理プログラムと前記第２復号制御処理プログラムは、ともに単一のプログラムであり、
前記第１復号制御処理プログラムは、前記一のプログラムが前記第１ＯＳの管理下で前記メモリにロードされて実行され、
前記第２復号制御処理プログラムは、前記一のプログラムが前記第２ＯＳの管理下で前記メモリにロードされて実行され、
前記制御部は、前記第２ＯＳ上で前記第２復号制御処理プログラムを実行開始する際、前記第１ＯＳをエミュレートするゲストＯＳとしての第３ＯＳを前記第２ＯＳ上で起動して、当該第３ＯＳ上で前記第２復号制御処理プログラムを実行開始するよう制御する
ことを特徴とする請求項１記載の復号装置。
【請求項７】
前記第１復号制御処理プログラムは、受信した鍵データを前記メモリに記録する処理を含み、
前記第２復号制御処理プログラムは、前記メモリに記録された鍵データを使用して、前記ストリームデータを復号する処理を含む
ことを特徴とする請求項１記載の復号装置。
【請求項８】
前記ストリームデータは、複数の放送番組のエレメンタリーストリームを含んで構成されるデジタル放送用のストリームデータであって、それぞれの放送番組を特定するチャンネルを示すチャンネル情報を複数含んで送信され、
前記復号装置は、さらに前記複数の放送番組の中から所望の放送番組を選択する操作をユーザから受付ける操作部を備え、
前記第１復号制御処理プログラムは、前記ユーザの選択操作に応じて、受信したチャンネル情報の中から、選択された放送番組のチャンネルを示すチャンネル情報を前記メモリに記録する処理を含み、
前記第２復号制御処理プログラムは、前記メモリに記録されたチャンネル情報を使用して前記ストリームデータの復号を行う処理を含む
ことを特徴とする請求項７記載の復号装置。
【請求項９】
前記第２ＯＳは、単一プロセッサ上で動作する態様と、複数プロセッサ上で動作する態様を持ち、
前記制御部は、
前記第２ＯＳ上で前記第２復号制御処理プログラムを実行開始した後、前記第２ＯＳ上で動作する他のプログラムの影響によって前記第２復号制御処理プログラムの実行性能が所定のレベルよりも低下した場合、
前記第１プロセッサに、前記第１ＯＳを起動し、前記第２ＯＳに代えて当該第１ＯＳ上において前記第１復号制御処理プログラムを実行させ、並列して、前記第２プロセッサに、前記第２復号制御処理プログラムを終了させるとともに前記第２ＯＳを単一プロセッサ上で動作する態様に変えて、前記他のプログラムを実行開始するよう制御する
ことを特徴とする請求項１記載の復号装置。
【請求項１０】
所定周期で更新される鍵データを用いて逐次暗号化されて送信されるストリームデータ及び当該鍵データを外部から入力して、当該ストリームデータを復号する集積回路であって、
送信されるストリームデータ及び鍵データを外部から逐次入力する入力部と、
外部のメモリを共用する第１プロセッサ及び第２プロセッサを含む制御部とを備え、
前記制御部は、
前記第１プロセッサに第１ＯＳを実行させ、当該第１ＯＳ上において、入力した鍵データを用いたストリームデータの暗号化を解くための制御を行う第１復号制御処理プログラムを実行させ、並行して、前記第２プロセッサに、複数のプロセッサ上での分散実行が可能な第２ＯＳについての当該分散実行の準備処理を実行させ、
前記第１プロセッサが、受信した一の鍵データを用いたストリームデータの暗号化を解くための制御を行った第１時点から、その後に鍵データが更新される第２時点までより短い所定時間内に、
前記第１プロセッサに、前記第１ＯＳに代えて前記第２ＯＳの分散実行処理を開始させ、並行して、前記第２プロセッサにも前記第２ＯＳの分散実行処理を開始させ、かつ当該第２ＯＳ上において、前記ストリームデータを復号するための第２復号制御処理プログラムを開始するよう制御する
ことを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化された符号化データを復号する復号装置に関する。
【背景技術】
【０００２】
従来、デジタルデータを送信する際に、送信側でデジタルデータを暗号化して限定した者にのみ受信を許可する、いわゆる限定受信方式がある。以降、本明細書において、デジタルデータを暗号化することを「スクランブルする」といい、暗号化されたデジタルデータの暗号を解いて復元することを「デスクランブルする」という。
例えば、デジタル放送においては、放送番組の著作権保護を目的として、放送事業者側（送信側）で放送番組に係る放送番組データをスクランブルすることが行われており、デジタル放送の受信装置側では、受信者固有が持つＣＡＳ（Conditional Access System）カードで生成される鍵データに基づいてスクランブルされた放送番組データをデスクランブルするようになっている（例えば、非特許文献１参照）。
【０００３】
ここで、ＣＡＳカードを用いた限定受信方式について、その典型例を簡単に説明する。
図９は、限定受信方式でデジタル放送が受信可能な受信装置１０００の例を示す図である。
まず、図示しない送信側は、短い所定周期（例えば、２秒周期間隔）で更新されるスクランブル鍵（Ｋｓ）を用いて、放送番組データをスクランブルする。そして、長期間（例えば、１年）の間変わらないワーク鍵（Ｋｗ）を用いて、スクランブル鍵Ｋｓ及び放送番組に関する情報をさらにスクランブルし、ＥＣＭ（Entitlement Control Message：共通情報）と呼ばれるデータを生成する。
【０００４】
さらに、送信側は、受信装置１０００のＣＡＳカード１００１に固有に設定されているマスタ鍵Ｋｍを用いて、ワーク鍵Ｋｗ及び受信装置１０００との契約内容をスクランブしてＥＭＭ（Entitlement Management Message：個別情報）と呼ばれるデータを生成する。
そして、送信側は、スクランブルされた放送番組データとＥＣＭとＥＭＭとを多重化して、放送データとして受信側に送信する。
【０００５】
一方、受信装置１０００では、チューナ１００２で放送データを受信し、受信した放送データをＴＳ（Transport Stream：トランスポートストリーム）デコーダ１００３により、放送番組データとＥＣＭとＥＭＭとに分離し、ＣＡＳカード１００１に予め記録されているマスタ鍵Ｋｍを用いてＥＭＭをデスクランブルする。
ＴＳデコーダ１００３は、ＥＭＭをデスクランブルすることで取り出したワーク鍵ＫｗをＣＡＳカード１００１に記録しておく。
【０００６】
続いて、受信装置１０００は、ＴＳデコーダ１００３により、ワーク鍵Ｋｗを用いてＥＣＭをデスクランブルし、これにより取り出されたスクランブル鍵ＫｓをＡＶデコーダ１００４に登録する。
ＡＶデコーダ１００４は、スクランブル鍵Ｋｓを用いて放送番組データをデスクランブルし、デスクランブルされた放送番組データをデジタル放送規格（例えば、ＭＰＥＧ２−ＴＳ（Moving Picture Expert Group 2 - Transport Stream））に則って復号して出力装置１００５に出力するようになっている。
【０００７】
このように、受信側（受信装置１０００）では、スクランブルされたデジタルデータを最終的に復号して出力するまでに、デスクランブルを行うために多くの処理を行わなければならない。
【非特許文献１】「デジタル放送におけるアクセス制御方式（ＡＲＩＢ  ＳＴＤ−Ｂ２５）」、４．１版、社団法人電波産業会、平成１５年６月５日改定
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、上述したデジタル放送の受信装置１０００は、放送番組データの受信、復号、及び出力以外にも色々な処理を行う必要がある。例えば、ユーザからの操作による放送番組のチャンネル切り換えや音声データのボリュームアップ／ダウンといった処理はもちろんのこと、多機能化に伴い、受信したストリームデータに含まれる字幕データやＢＭＬ（Broadcast Markup Language）で記述されたデータ放送用データの復号及び出力といった処理も行わなければならない。
【０００９】
また、復号処理の高速化の目的から、復号装置に複数のＣＰＵを実装し、これら複数のＣＰＵが分担して復号処理を行う、いわゆるＳＭＰ（Symmetric Multi Processor）の構成を採る場合、ＣＰＵに分散処理を実行させる処理も行う必要がある。
このような状況から、受信装置１０００の各構成部１００１〜１００５を制御するＣＰＵ（Central Processing Unit）１００６を動かすＯＳ（Operating System）１００７として、Ｌｉｎｕｘ（登録商標）等の汎用ＯＳを使用することが多くなってきている。
【００１０】
ところが、汎用ＯＳは一般的に、様々な用途に利用できる反面、ＭＥＰＧデコード等の特定の用途に特化したＯＳに比べて起動に時間がかかってしまう。
このため、ユーザが受信装置１０００の電源を投入してから、ＴＳデコーダ１００３での分離処理及び、ＥＭＭのデスクランブル処理とＥＣＭのデスクランブル処理が完了するまでに時間がかかってしまう。この結果、ＡＶデコーダ１００４で放送番組データを復号して出力するのが遅くなるため、ユーザが受信装置１０００の電源を入れてから放送番組を見られるようになるまで長時間待たなければならないという課題がある。
【００１１】
そこで、本発明は、暗号化された符号化データを復号する復号装置において、復号装置を起動してから復号を開始するまでを高速化することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の復号装置は、所定周期で更新される鍵データを用いて逐次暗号化されて送信されるストリームデータ及び当該鍵データを、逐次受信して当該ストリームデータを復号する復号装置であって、送信されるストリームデータ及び鍵データを逐次受信する受信部と、メモリを共用する第１プロセッサ及び第２プロセッサを含む制御部とを備え、前記制御部は、前記第１プロセッサに第１ＯＳを実行させ、当該第１ＯＳ上において、受信した鍵データを用いたストリームデータの暗号化を解くための制御を行う第１復号制御処理プログラムを実行させ、並行して、前記第２プロセッサに、複数のプロセッサ上での分散実行が可能な第２ＯＳについての当該分散実行の準備処理を実行させ、前記第１プロセッサが、受信した一の鍵データを用いたストリームデータの暗号化を解くための制御を行った第１時点から、前記所定周期間隔より短い所定時間内に、前記第１プロセッサに、前記第１ＯＳに代えて前記第２ＯＳの分散実行処理を開始させ、並行して、前記第２プロセッサにも前記第２ＯＳの分散実行処理を開始させ、当該第２ＯＳ上において、前記ストリームデータを復号するための第２復号制御処理プログラムを開始するよう制御することを特徴とする。
【発明の効果】
【００１３】
以上の構成により、第１ＯＳ上で第１プロセッサが鍵データを用いたデスクランブル処理に係るプログラム（第１復号制御処理プログラム）を実行している間に、第２ＯＳ上で第２プロセッサが分散処理の準備を行い、さらに、鍵データが更新されて新たに別の鍵データが必要となるまでに第１プロセッサ及び第２プロセッサが第２ＯＳ上でストリームデータの復号処理に係るプログラム（第２復号制御処理プログラム）を開始する。このため、第１プロセッサ及び第２プロセッサは、第２ＯＳ上で鍵データを用いたデスクランブル処理に係るプログラムを実行することなく、第１ＯＳ上で第１プロセッサが実行したプログラムの結果を使って、両プロセッサが分担して第２ＯＳ上でストリームデータの復号処理に係るプログラムをすぐに開始することができる。
【００１４】
例えば、第１ＯＳとして、デスクランブル処理及び復号処理に特化した専用ＯＳを使用し、第２ＯＳとして、専用ＯＳに比べて起動は遅いが多用途で総合的に復号装置を制御できる汎用ＯＳを使用すれば、高速に起動する第１ＯＳ上で先にデスクランブル処理に係るプログラムを実行し、その間に遅れて起動した第２ＯＳ上では、第１ＯＳ上で既に実行されたプログラムの結果を使ってストリームデータの復号を行うプログラムをすぐに開始することができる。
【００１５】
以上から、復号装置が起動して第１ＯＳと第２ＯＳの起動を開始してから、ストリームデータの復号処理を開始するまでの時間を短縮することができる。
また、上記復号装置において、前記制御部は、電力が供給されて起動した時を起点として各処理を実行し、前記第２プロセッサに実行させる前記分散実行の準備処理は、前記第２ＯＳを単一プロセッサ上で動作する形態で起動する処理を含み、前記第１プロセッサに実行させる前記第２ＯＳの分散実行処理は、前記第１ＯＳを終了する処理を含み、前記第２プロセッサに実行させる前記第２ＯＳの分散実行処理は、当該第２ＯＳを複数プロセッサ上で動作する形態に変える処理を含むことを特徴とする。
【００１６】
この構成により、電源を投入して復号装置が起動してから、第２ＯＳが単体で起動している間に第１ＯＳ上で第１プロセッサがデスクランブル処理に係るプログラム（第１復号制御処理プログラム）を実行することができ、その後、第２ＯＳの準備が整ったら両プロセッサが分担して動作するマルチプロセッサ処理を実行することができる。
また、上記復号装置において、前記受信部は、前記鍵データを所定のタイミングで定期的に受信し、前記制御部は、前記鍵データが前記鍵データの更新を検出し、前記第１時点は、前記制御部が前記鍵データの更新を検出した時から次の１回目のタイミングで前記受信部が鍵データを受信した時点であることを特徴とする。
【００１７】
この構成により、鍵データが更新されてからすぐのタイミングで、第１プロセッサがデスクランブル処理に係るプログラムを完了することで、新たに鍵データが更新されるまで充分に余裕をもって第２プロセッサが第２ＯＳ上で分散実行処理を開始することができる。
また、上記復号装置において、前記復号装置は、記憶部を有していて前記ストリームデータの復号を行う復号部を備え、前記第１復号制御処理プログラムは、受信した鍵データを前記記憶部に記録する処理を含み、前記第２復号制御処理プログラムは、前記記憶部に記録された鍵データを用いて前記ストリームデータの復号を行うよう、前記復号部を制御する処理を含むことを特徴とする。
【００１８】
この構成により、ストリームデータの復号処理を専用のハードウェア（復号部）で行うことで、第１プロセッサ及び第２プロセッサの処理負担を軽減することができる。
特に、ＭＰＥＧ方式等の復号処理における負荷の高い符号化データを復号する場合、有効である。
また、上記復号装置において、前記ストリームデータは、複数の放送番組のエレメンタリーストリームを含んで構成されるデジタル放送用のストリームデータであって、それぞれの放送番組を特定するチャンネルを示すチャンネル情報を複数含んで送信され、前記復号装置は、さらに前記複数の放送番組の中から所望の放送番組を選択する操作をユーザから受付ける操作部を備え、前記第１復号制御処理プログラムは、前記ユーザの選択操作に応じて、受信したチャンネル情報の中から、選択された放送番組のチャンネルを示すチャンネル情報を前記記憶部に記録する処理を含み、前記第２復号制御処理プログラムは、前記記憶部に記録されたチャンネル情報を使用して前記ストリームデータの復号を行うよう、前記復号部を制御する処理を含むことを特徴とする。
【００１９】
この構成により、デジタル放送のストリームデータを復号する場合、第１プロセッサで先ず、デスクランブル処理に係るプログラムの実行とともに放送番組のチャンネル情報の記録を行っておき、このとき記録したチャンネル情報を使って両プロセッサがストリームデータの復号処理に係るプログラムを実行することができる。
また、上記復号装置において、前記第１復号制御処理プログラムと前記第２復号制御処理プログラムは、ともに単一のプログラムであり、前記第１復号制御処理プログラムは、前記一のプログラムが前記第１ＯＳの管理下で前記メモリにロードされて実行され、前記第２復号制御処理プログラムは、前記一のプログラムが前記第２ＯＳの管理下で前記メモリにロードされて実行され、前記制御部は、前記第２ＯＳ上で前記第２復号制御処理プログラムを実行開始する際、前記第１ＯＳをエミュレートするゲストＯＳとしての第３ＯＳを前記第２ＯＳ上で起動して、当該第３ＯＳ上で前記第２復号制御処理プログラムを実行開始するよう制御することを特徴とする。
【００２０】
この構成により、ゲストＯＳとして機能する第３ＯＳを使用することで、単一のプログラムを第１ＯＳ上及び第２ＯＳ上で実行させることができることから、用意しておくプログラムを削減することができる。
これにより、プログラムの作成、保守を行うプログラマーの負担も軽減することができる。
【００２１】
また、上記復号装置において、前記第１復号制御処理プログラムは、受信した鍵データを前記メモリに記録する処理を含み、前記第２復号制御処理プログラムは、前記メモリに記録された鍵データを使用して、前記ストリームデータを復号する処理を含むことを特徴とする。
この構成により、第１プロセッサ及び第２プロセッサ自身がストリームデータの復号処理を行うことで、当該復号処理を行う専用のハードウェアを不要とすることができる。
【００２２】
これにより、復号装置を製造するコストを削減することができる。
また、上記復号装置において、前記ストリームデータは、複数の放送番組のエレメンタリーストリームを含んで構成されるデジタル放送用のストリームデータであって、それぞれの放送番組を特定するチャンネルを示すチャンネル情報を複数含んで送信され、前記復号装置は、さらに前記複数の放送番組の中から所望の放送番組を選択する操作をユーザから受付ける操作部を備え、前記第１復号制御処理プログラムは、前記ユーザの選択操作に応じて、受信したチャンネル情報の中から、選択された放送番組のチャンネルを示すチャンネル情報を前記メモリに記録する処理を含み、前記第２復号制御処理プログラムは、前記メモリに記録されたチャンネル情報を使用して前記ストリームデータの復号を行う処理を含む
ことを特徴とする。
【００２３】
この構成により、デジタル放送のストリームデータを復号する場合、第１プロセッサで先ず、デスクランブル処理に係るプログラムの実行とともに放送番組のチャンネル情報の記録を行っておき、このとき記録したチャンネル情報を使って両プロセッサがストリームデータの復号処理を実行することができる。
また、上記復号装置において、前記第２ＯＳは、単一プロセッサ上で動作する態様と、複数プロセッサ上で動作する態様を持ち、前記制御部は、前記第２ＯＳ上で前記第２復号制御処理プログラムを実行開始した後、前記第２ＯＳ上で動作する他のプログラムの影響によって前記第２復号制御処理プログラムの実行性能が所定のレベルよりも低下した場合、前記第１プロセッサに、前記第１ＯＳを起動し、前記第２ＯＳに代えて当該第１ＯＳ上において前記第１復号制御処理プログラムを実行させ、並列して、前記第２プロセッサに、前記第２復号制御処理プログラムを終了させるとともに前記第２ＯＳを単一プロセッサ上で動作する態様に変えて、前記他のプログラムを実行開始するよう制御することを特徴とする。
【００２４】
この構成により、第１プロセッサ及び第２プロセッサが分担して復号処理に係るプログラムを実行している最中にパフォーマンスが低下した場合、影響を及ぼす他のプログラムと切り離し、第１プロセッサのみが第１ＯＳ上で復号処理に係るプログラムを実行することから、マルチプロセッサ処理における復号処理のパフォーマンスの低下を是正することができる。
【発明を実施するための最良の形態】
【００２５】
以下本発明の実施形態について、図面を参照しながら説明する。
＜実施形態１＞
（１．概要）
本発明の実施形態１について、デジタル放送の復号装置１００を例に挙げて説明する。復号装置１００は、デジタル放送を受信して復号し、出力する装置である。
【００２６】
まず、先に、デジタル放送の送信側と復号装置１００との間で、どのようにストリームデータがスクランブされやり取りするのかついて、その概要を説明する。
送信側である放送事業者（図示しない）は、短い所定周期Ｔ（例えば、２秒周期間隔）で更新されるスクランブル鍵（Ｋｓ）を用いて、放送番組の映像データ及び音声データ（以後、両データを合わせてＡＶデータと呼ぶ）をスクランブルする。そして、長期間（例えば、１年）の間変わらないワーク鍵（Ｋｗ）を用いて、スクランブル鍵Ｋｓ及び放送番組に関する情報をさらにスクランブルし、ＥＣＭを生成する。
【００２７】
さらに、送信側は、復号装置１００に固有に割り当てられているマスタ鍵Ｋｍを用いて、ワーク鍵Ｋｗ及び復号装置１００との契約内容をスクランブしてＥＭＭを生成する。
そして、送信側は、スクランブルされたＡＶデータとＥＣＭとＥＭＭとを多重化して、放送データとして受信側に送信する。
一方、復号装置１００では、受信した放送データをＡＶデータとＥＣＭとＥＭＭとに分離し、予め設定されているマスタ鍵Ｋｍを用いてＥＭＭをデスクランブルし、取り出したワーク鍵Ｋｗを記録しておく。
【００２８】
続いて、復号装置１００は、ワーク鍵Ｋｗを用いてＥＣＭをデスクランブルし、これにより取り出されたスクランブル鍵Ｋｓを登録する。
そして、復号装置１００は、スクランブル鍵Ｋｓを用いてＡＶデータをデスクランブルし、デスクランブルされたＡＶデータをＭＰＥＧ２−ＴＳに則って復号して出力するようになっている。
（２．構成）
次に、図１を参照しながら、復号装置１００の構成について説明する。
【００２９】
図１は、復号装置１００の構成を示すブロック図である。
図１に示すように、復号装置１００は、復号処理用のＬＳＩ（Large Scale Integration）１０１、チューナ１０２、メモリ１０３、ＣＡＳカード１０４、及びディスプレイ１０５を備えている。
ＬＳＩ１０１は、ＭＰＥＧ２−ＴＳ方式で符号化されたストリームデータを復号する機能を有するものであり、その内部に、第１ＣＰＵ１０１ａ、第２ＣＰＵ１０１ｂ、ＴＳデコーダ１０１ｃ、及びＡＶデコーダ１０１ｄを備えている。
【００３０】
第１ＣＰＵ１０１ａは、後述する第１ＯＳ上又は第２ＯＳ上で、ストリームデータの復号処理に係るプログラムを実行し、ＴＳデコーダ１０１ｃ及びＡＶデコーダ１０１ｄを制御する機能を有する。
第２ＣＰＵ１０１ｂは、後述する第２ＯＳ上で、ストリームデータの復号処理に係るプログラムを実行し、ＴＳデコーダ１０１ｃ及びＡＶデコーダ１０１ｄを制御する機能を有する。
【００３１】
ＴＳデコーダ１０１ｃは、チューナ１０２から送出されるストリームデータを取り込み、第１ＣＰＵ１０１ａ又は第２ＣＰＵ１０１ｂの指示に基づいてストリームデータの分離処理を実行する機能を有する。分離処理によって、ストリームデータは、ＡＶデータと、ＰＳＩ（Program Specific Information）等の番組管理用のデータとに分離され、ＡＶデータはＡＶデコーダ１０１ｄに送出される。
【００３２】
ＡＶデコーダ１０１ｄは、ＴＳデコーダ１０１ｃから送出されるＡＶデータを取り込み、第１ＣＰＵ１０１ａ又は第２ＣＰＵ１０１ｂの指示に基づいてＡＶデータの復号処理を実行する機能を有する。
チューナ１０２は、放送事業者（図示しない）から放送される、ＭＰＥＧ２−ＴＳ方式で符号化されたストリームデータを受信し、ＴＳデコーダ１０１ｃへ送出する機能を有する。
【００３３】
メモリ１０３は、ＲＡＭ（Random Access Memory）等の記憶部であり、ＬＳＩ１０１が実行する処理により生じたデータを記憶する機能を有する。特に、ＴＳデコーダ１０１ｃが実行する分離処理で分離されたＰＳＩ内に含まれる、放送番組のチャンネル情報やネットワークの設定情報を記憶するものである。
ＣＡＳカード１０４は、デジタル放送の放送番組の著作権保護を目的に、予め設定されているマスタ鍵Ｋｍを記憶するものである。
【００３４】
ディスプレイ１０５は、ＡＶデコーダ１０１ｄが復号して得られた映像と音声を出力する機能を有する。
次に、図２を参照しながら、復号装置１００のハードウェア層とソフトウェア層とのつながりについて説明する。
図２は、復号装置１００について、ハードウェア層とソフトウェア層とを重ねて示す模式図である。
【００３５】
図２に示すように、第１のＣＰＵ１０１ａの上では第１のＯＳ２００が動き、第２のＣＰＵ１０１ｂの上では第２のＯＳ３００が動く。
（２−１．第１のＯＳ）
第１のＯＳ２００は、ＭＰＥＧデコードに特化したＯＳであり、第１のＣＰＵに対してＭＥＰＧデコードに関する処理を実行するよう指示する機能を有する。第１のＯＳ２００は、用途はＭＰＥＧデコードに限られるが、そのぶんプログラムはシンプルなため起動が早く、約１．０秒で起動する。
【００３６】
第１のＯＳ２００は、第１のＯＳ２００を起動するためのプログラムであるＯＳ起動手段２００ａを含む。
また、第１のＯＳ２００上では、ＭＰＥＧデコードに係る処理を行う第１の復号制御処理プログラム２０１が動く。
第１の復号制御処理プログラム２０１は、状態保存手段２０１ａ、状態判定手段２０１ｂ、及び状態読み取り手段２０１ｃを含む。
【００３７】
状態判定手段２０１ａは、スクランブル鍵Ｋｓ取得／判定と、放送番組のチャンネル情報やネットワークの設定情報の取得／判定を行うためのプログラムである。
状態保存手段２０１ｂは、状態判定手段２０１ａで判定を行ったスクランブル鍵ＫｓをＡＶデコーダ１０１ｄに登録するとともに、放送番組のチャンネル情報やネットワークの設定情報をメモリ１０３の状態保存用バッファ領域１０３ａに保存するためのプログラムである。
【００３８】
状態読み取り手段２０１ｃは、状態保存用バッファ領域１０３ａに保存していある、放送番組のチャンネル情報やネットワークの設定情報を読み取るためのプログラムである。
（２−２．第２のＯＳ）ＡＶ
第２のＯＳ３００は、ＭＰＥＧデコードの他、デジタル放送のチャンネル決定やデジタル放送の音量の増減といった種々の処理を行うのに対応した汎用ＯＳである。また、第２のＯＳ３００は、第２のＣＰＵ１０１ｂに対して上記処理を実行するよう指示する機能を有するとともに、ＳＭＰ処理に対応しており、第１のＣＰＵ１０１ａ及び第２のＣＰＵ１０１ｂに対して同時に上記処理を分担して実行させるよう指示する機能を有する。
【００３９】
第２のＯＳ３００は、多用途であるが、そのぶんプログラムが複雑なため起動が第１のＯＳ２００に比べて遅く、約５．０秒で起動する。
特に、第２のＯＳ３００には、ＯＳ起動手段３００ａ、ＳＭＰ化手段３００ｂ、及びシングルＣＰＵ化手段３００ｃを含む。
ＯＳ起動手段３００ａは、第２のＯＳ３００を起動するためのプログラムである。
【００４０】
ＳＭＰ化手段３００ｂは、第２のＯＳ３００がシングルプロセッサ上で動いているときにＳＭＰ処理に移行するためのプログラムである。具体的には、ＳＭＰ処理に備えて、第１のＣＰＵ１０１ａと第２のＣＰＵ１０１ｂとで共通のメモリ領域を使用するために行うメモリ１０３の初期化や、割り込み処理の初期化、カーネルの展開などの処理を第２のＣＰＵ１０１ｂに実行させる。
【００４１】
シングルＣＰＵ化手段３００ｃは、ＳＭＰ処理により第１のＣＰＵ１０１ａと第２のＣＰＵ１０１ｂとが動いているときに、第２ＣＰＵ１０１ｂのみを駆動するシングルプロセッサ処理の態様に変更するためのプログラムである。
また、第２のＯＳ３００上では、ＭＰＥＧデコードに係る処理を行う第２の復号制御処理プログラム３０１が動く。
【００４２】
第２の復号制御処理プログラム３００は、状態読み取り手段３０１ａ及びパフォーマンス監視手段３０１ｂを含む。
状態読み取り手段３０１ａは、メモリ１０３の状態保存用バッファ領域１０３ａに保存されている、放送番組のチャンネル情報やネットワークの設定情報を読み取るためのプログラムである。
【００４３】
パフォーマンス監視手段３０１ｂは、第２のＯＳ３００上で第１のＣＰＵ１０１ａと第２のＣＰＵ１０１ｂとがＳＭＰ処理を実行中に、両ＣＰＵのパフォーマンス、すなわち、実行性能が所定のレベルよりも下回っていないかを監視するためのプログラムである。
（３．スクランブル鍵）
ここで、スクランブル鍵Ｋｓについて、図３を参照しながら説明する。
【００４４】
図３に示すように、受信するＥＣＭにはＯｄｄ鍵とＥｖｅｎ鍵という２種類のスクランブル鍵Ｋｓが含まれており、第１のＣＰＵ１０１ａは、状態保存手段２０１ｂの指示により所定時間ｔ間隔でＥＣＭを受信し、当該２種類のスクランブル鍵ＫｓをＡＶデコーダ１０１ｄに登録する。そして、これら２種類のスクランブル鍵Ｋｓは、所定時間Ｔごとに交互に交代して使用するようになっている。
【００４５】
例えば、図３に示すＡ点〜Ｂ点の所定時間Ｔの間、ＥＣＭにはＯｄｄ鍵Ｋｓ−１とＥｖｅｎ鍵Ｋｓ−０が含まれており、両スクランブル鍵が登録される。そして、その中のＥｖｅｎ鍵Ｋｓ−０を使用してＡＶデータをデコードするようになる。
次のタイミングであるＢ点〜Ｃ点の所定時間Ｔの間は、ＥＣＭにはＯｄｄ鍵のＫｓ−１とＥｖｅｎ鍵Ｋｓ−２が含まれており、両スクランブル鍵が登録される。そして、その中のＯｄｄ鍵Ｋｓ−１を使用してＡＶデータをデコードするようになる。
【００４６】
次のタイミングであるＣ点〜Ｄ点の所定時間Ｔの間は、ＥＣＭにはＯｄｄ鍵Ｋｓ−３とＥｖｅｎ鍵Ｋｓ−２が含まれており、両スクランブル鍵が登録される。そして、その中のＥｖｅｎ鍵Ｋｓ−２を使用してＡＶデータをデコードするようになる。
次のタイミングであるＤ点〜Ｅ点の所定時間Ｔの間は、ＥＣＭにはＯｄｄ鍵Ｋｓ−３とＥｖｅｎ鍵Ｋｓ−４が含まれており、両スクランブル鍵が登録される。そして、その中のＯｄｄ鍵Ｋｓ−３を使用してＡＶデータをデコードするようになる。
【００４７】
そして次のタイミングであるＥ点〜Ｆ点の所定時間Ｔの間は、ＥＣＭにはＯｄｄ鍵Ｋｓ−５とＥｖｅｎ鍵Ｋｓ−４が含まれており、両スクランブル鍵が登録される。そして、その中のＯｄｄ鍵Ｋｓ−３を使用して、ＡＶデコーダをデコードするようになる。
このように、状態保存用バッファ領域１０３ａには常にＥｖｅｎ鍵とＯｄｄ鍵の２種類のスクランブル鍵が登録され、その中からいずれかのスクランブル鍵を用いるようになっている。
（４−１．動作  その１）
次に、復号装置１００がデジタル放送を受信し、ストリームデータの復号を行う動作を、図４を参照しながら説明する。
【００４８】
ユーザが復号装置１００の電源を投入すると、図４に示すように、まず、第１のＣＰＵ１０１ａにおいてＯＳ起動手段２００ａが第１のＯＳ２００の起動を開始する（ステップＳ１００）とともに、第２のＣＰＵ１０１ｂにおいてもＯＳ起動手段３００ａが第２のＯＳ３００の起動を開始する（ステップＳ２００）。
第１のＣＰＵ１０１ａ上で第１のＯＳ２００の起動が約１．０秒で完了すると（ステップＳ１０１）、次に、第１の復号制御処理プログラム２０１の状態判定手段２０１ａが実行され、ＴＳデコーダ１０１ｃで分離されたＰＳＩを受信してスクランブル鍵Ｋｓの取得を開始する（ステップＳ１０２）。
【００４９】
ここで、ステップＳ１０２で状態判定手段２０１ａが実行するスクランブル鍵Ｋｓの取得処理の詳細を、図５を参照しながら説明する。
図５に示すように、ステップＳ１０２では、まず、第１のＣＰＵ１０１ａ上で、ＰＳＩに含まれるＰＡＴ（Program Association Table）を受信し、放送番組のチャンネル情報を取得する（ステップＳ１０）。
【００５０】
次に、ＮＩＴ（Network Information Table）を受信し、変調方法やガードインターバル等のネットワークに関連した設定情報を取得する（ステップＳ１１）。
次に、ＣＡＴ（Conditional Access Table）を受信して限定受信方式で放送される放送番組の個別情報を取得する（ステップＳ１２）。
次に、ＥＭＭを受信し、ＣＡＳカード１０４に記憶されているマスタ鍵Ｋｍを用いてＥＭＭをデスクランブルし、取り出したワーク鍵ＫｗをＣＡＳカード１０４に記憶する（ステップＳ１３）。
【００５１】
次に、再びＰＡＴを受信し（ステップＳ１４）、デコードすべき放送番組のＰＭＴを受信する（ステップＳ１５）。
次に、ＥＣＭを受信し、ＣＡＳカード１０４に記憶されているワーク鍵Ｋｗを用いてＥＣＭをデスクランブルし、スクランブル鍵Ｋｓを取得する（ステップＳ１６）。
以上のステップＳ１０〜Ｓ１６までの処理によりスクランブル鍵Ｋｓを含む制御情報の取得が完了すると、続いて、この取得したスクランブル鍵Ｋｓが、前回（所定時間ｔ前）に受信したスクランブル鍵Ｋｓと異なるか否かを判定する（ステップＳ１０３）。
【００５２】
スクランブル鍵ＫｓのうちＥｖｅｎ鍵とＯｄｄ鍵のうち１つでも変更されていた場合（ステップＳ１０３：ＹＥＳ）、第１のＣＰＵ１０１ａ上で状態保存手段２０１ｂが実行され、変更されていた新しいスクランブル鍵ＫｓがＡＶデコーダ１０１ｄに登録される（ステップＳ１０４）。
スクランブル鍵ＫｓのうちＥｖｅｎ鍵とＯｄｄ鍵のうち１つも変更されていない場合（ステップＳ１０３：ＮＯ）、再び所定時間ｔ経過後にスクランブル鍵Ｋｓの取得処理を行う（ステップＳ１０２）。すなわち、新規のデスクランブル鍵Ｋｓを受信するまでステップＳ１０２を繰り返す。
【００５３】
この間、第２のＣＰＵ１０１ｂ上で第２のＯＳ３００が起動を完了すると（ステップＳ２０１）、第１のＯＳ２００に対して、第２のＯＳ３００の起動完了を通知する（ステップＳ２０２）。
第１のＯＳ２００が、第２のＯＳ３００から起動開始の通知を受けると（Ｓ１０５：ＹＥＳ）、ステップＳ１０２で取得した、放送番組のチャンネル情報やネットワークの設定情報（総称して、以下、制御情報と呼ぶ）を状態保存用バッファ領域１０３ａに記憶する（ステップＳ１０６）。
【００５４】
状態保存用バッファ領域１０３ａへの制御情報の記憶が完了すると、その旨を第２のＯＳ３００に通知して（ステップＳ１０７）、第１のＯＳ２００を終了する（ステップＳ１０８）。
第１のＯＳ２００から通知を受け取った第２のＯＳ３００は（ステップＳ２０３：ＹＥＳ）、第２のＯＳ３００上でＳＭＰ処理を実行するための準備処理であるＳＭＰ化処理を開始する（ステップＳ２０４）。
【００５５】
そして、ＳＭＰ化処理が完了すると、第１のＣＰＵ１０１ａ上で第２のＯＳ３００が起動してＳＭＰ動作を開始する（ステップＳ１０９）とともに、第２のＣＰＵ１０１ｂ上でも第２のＯＳ３００が起動してＳＭＰ動作を開始する（ステップＳ２０５）。
ＳＭＰ動作が開始すると、第２の復号制御処理プログラム３０１の状態読み取り手段３０１ａが実行され、状態保存用バッファ領域１０３ａから制御情報を読み取り（ステップＳ２０６）、第１のＣＰＵ１０１ａと第２のＣＰＵ１０１ｂは、分担してＡＶデコーダ１０１ｄ等各部を制御する（ステップＳ２０７）。
【００５６】
ステップＳ２０７以降、両ＣＰＵ１０１ａ及び１０１ｂ上で第２のＯＳ３００は、読み取った制御情報に基づいて、ＡＶデコーダ１０１ｄに対して、ＡＶデータのデコードの実行を指示するとともに、その他詳述はしないが、ユーザが行う放送番組の選択操作に伴うチャンネル切り替え処理や、デコードしたＡＶデータの再生時のボリューム増減処理等を実行する。
【００５７】
以上、ステップＳ１００〜Ｓ２０７までの処理を行うことによって、メインＯＳだが起動が遅い第２のＯＳ３００が起動をしている間に、起動の早い第１ＯＳ２００を単独で起動させてＡＶデータのデコードに必要な制御情報の取得を先に行わせることができる。
特に、ステップＳ１０２〜Ｓ１０４の意義は大きく、新規にスクランブル鍵Ｋｓを受信したタイミングでなければ第２のＯＳ３００から起動開始の通知が来てもこれを受付けない。すなわち、例えば、図３に示すＡ点、Ｂ点、Ｃ点、Ｄ点、Ｅ点、又はＦ点のように、新規にスクランブル鍵Ｋｓを受信したタイミングになったときにはじめてスクランブル鍵Ｋｓを登録する（ステップＳ１０４）。こうすることにより、例えば、図３に示すＡ点〜Ｂ点、Ｂ点〜Ｃ点、Ｃ点〜Ｄ点、Ｄ点〜Ｅ点、又はＥ点〜Ｆ点の、所定時間ｔという時間を最大限に利用して、その後に続く第２のＯＳ３００のＳＭＰ化処理（ステップＳ２０４）を実行し、新規のスクランブル鍵Ｋｓを受信する次のタイミングが来るまでにＳＭＰ化処理を完了させることができる。
【００５８】
理解を助けるために具体的な一例を挙げると、例えば、図３に示すＡ点〜Ｂ点の間のタイミングでスクランブル鍵Ｋｓ（Ｏｄｄ鍵Ｋｓ−１とＥｖｅｎ鍵Ｋｓ−０）の取得を行っても（ステップＳ１０２）、前回のスクランブル鍵Ｋｓも同様にＫｓ−１とＫｓ−０なので、これは登録せずに無視する。
そして、Ｂ点のタイミングに到達すると、スクランブル鍵Ｋｓ（Ｏｄｄ鍵Ｋｓ−１とＥｖｅｎ鍵Ｋｓ−２）が取得されるため、前回までのＫｓ−１とＫｓ−０のペアとは異なり、新規のスクランブル鍵Ｋｓ受信となる（ステップＳ１０３：ＹＥＳ）。
【００５９】
このとき、新規のスクランブル鍵Ｋｓ（Ｋｓ−１とＫｓ−２）をＡＶデコーダ１０１ｄに登録し（ステップＳ１０６）、また、第２のＯＳ３００からの通知に応答して制御情報を状態保存用バッファ領域１０３ｄに記憶する（ステップＳ１０６）。
すると、スクランブル鍵Ｋｓを登録して制御情報を記憶したタイミングであるＢ点〜Ｃ点までの所定時間ｔの間はスクランブル鍵Ｋｓが変わらない（Ｋｓ−１とＫｓ−２）ため、この所定時間ｔの間を最大限に使ってＳＭＰ化処理を完了し、第２のＯＳ３００がＳＭＰ動作を開始すればよい（ステップＳ１０９、Ｓ２０５）。
【００６０】
そうすれば、ステップＳ２０５の時点でまだスクランブル鍵Ｋｓが変わっていないので、ＡＶデコーダ１０１ｄに登録されているスクランブル鍵Ｋｓ（Ｋｓ−１とＫｓ−２）を遣ってすぐにＡＶデータのデコードを開始することができる。
（４−２．動作  その２）
続いて、第１のＣＰＵ１０１ａ及び第２のＣＰＵ１０１ｂ上でのＳＭＰ処理を開始してから、その後の動作について、図６を参照しながら説明する。
【００６１】
図６に示すように、第１のＣＰＵ１０１ａ及び第２のＣＰＵ１０１ｂ上で、第２のＯＳ３００がＳＭＰ処理を実行している（ステップＳ３００）。
その間、第２の復号制御処理プログラム３０１のパフォーマンス監視手段３０１ｂは、両ＣＰＵ１０１ａ及び１０１ｂでのＡＶデコード処理のパフォーマンスが落ちていないかどうかを監視している（ステップＳ３０１）。具体的には、予め決めた所定のレベル以上に両ＣＰＵ１０１ａ及び１０１ｂの処理速度が下がっていないかを監視すればよい。
【００６２】
もし、パフォーマンスが落ちていると判断した場合（ステップＳ３０１：ＹＥＳ）、新規のスクランブル鍵Ｋｓ（Ｏｄｄ鍵及びＥｖｅｎ鍵）を受信するまで待つ（ステップＳ３０２）。
新規のスクランブル鍵Ｋｓを受信すると（ステップＳ３０２：ＹＥＳ）、その新規のスクランブル鍵ＫｓをＡＶデコーダ１０１ｄに登録する（ステップＳ３０３）とともに、現在使用している制御情報を状態保存用バッファ領域１０３ａに記憶しておく（ステップＳ３０４）。
【００６３】
次に、シングルＣＰＵ化手段３００は、現在第１のＣＰＵ１０１ａ上に割り当てられているプロセスの割り当てを解除し、第２のＣＰＵ１０１ｂに再割当を行う（ステップＳ３０５）。
また、同時に、現在第１のＣＰＵ１０１ａ上に割り当てられている外部割込み処理を解除し、第２のＣＰＵ１０１ｂに再割当を行う（ステップＳ３０６）。
【００６４】
プロセスと外部割込みの再割当が完了すると、第２のＯＳ３００は第１のＣＰＵ１０１ａから自身を切り離す（ステップＳ３０７）。
こうすることにより、第２のＯＳ３００によるＳＭＰ処理を終了し、第１のＣＰＵ１０１ａと第２のＣＰＵ１０１ｂとをそれぞれシングルプロセッサ処理により実行させる。
第１のＣＰＵ１０１ａ上では、第１のＯＳ２００が起動して動作を開始し（ステップＳ３０８）、状態読み取り手段３０１ａが状態保存用バッファ領域１０３ａに記憶しておいた制御情報を読み取って（ステップＳ３０９）、ＡＶデコーダ１０１ｄ等各部の制御を開始する（ステップＳ３１０）。
【００６５】
一方、第２のＣＰＵ１０１ｂ上では、第２のＯＳ３００がシングルプロセッサ処理により、ユーザが行う放送番組の選択操作に伴うチャンネル切り換え処理や、デコードしたＡＶデータの再生時のボリューム増減処理等を実行する（ステップＳ３１１）。
ステップＳ３０７以降、第１のＣＰＵ１０１ａがシングルプロセッサ処理によりＡＶデコーダ１０１ｄを制御してＡＶデータのデコード処理を実行するとともに、第２のＣＰＵ１０１ｂがシングルプルセッサ処理によりユーザが行う放送番組の選択操作に伴うチャンネル切り換え処理や、デコードしたＡＶデータの再生時のボリューム増減処理等を実行する。
【００６６】
以上、ステップＳ２００〜Ｓ３１１までの処理を行うことによって、ＳＭＰ処理中に、ユーザが行う放送番組の選択操作に伴うチャンネル切り換え処理や、デコードしたＡＶデータの再生時のボリューム増減処理等によってＡＶデータのデコードに遅延が発生してパフォーマンスが落ちた場合に、第１のＣＰＵ１０１ａと第２のＣＰＵ１０１ｂとを切り離し、第１のＣＰＵ１０１ａはＡＶデータのデコードを専念して実行することができ、第２のＣＰＵ１０１ｂはその他の処理を専念して実行することができる。これにより、復号装置１００全体としてのパフォーマンスの向上を図ることができる。
【００６７】
特に、ステップＳ３０２〜Ｓ３０３の意義は大きく、新規にスクランブル鍵Ｋｓを受信したタイミングでなければパフォーマンスが落ちてもすぐにはＳＭＰ処理を終了しない。すなわち、例えば、図３に示すＡ点、Ｂ点、Ｃ点、Ｄ点、Ｅ点、又はＦ点のように、新規にスクランブル鍵Ｋｓを受信したタイミングになったときにはじめてスクランブル鍵Ｋｓを登録する（ステップＳ３０３）。こうすることにより、例えば、図３に示すＡ点〜Ｂ点、Ｂ点〜Ｃ点、Ｃ点〜Ｄ点、Ｄ点〜Ｅ点、又はＥ点〜Ｆ点の、所定時間ｔという時間を最大限に利用して、その後に続く第２のＯＳ３００のシングルプロセッサ化処理（ステップＳ３０５〜Ｓ３０７）を実行し、新規のスクランブル鍵Ｋｓを受信する次のタイミングが来るまでにシングルプロセッサ化処理を完了させることができる。
【００６８】
理解を助けるために具体的な一例を挙げると、例えば、ステップＳ３０１でパフォーマンスの低下が判断されたとしても、図３に示すＡ点〜Ｂ点の間のタイミングで取得したスクランブル鍵Ｋｓ（Ｏｄｄ鍵Ｋｓ−１とＥｖｅｎ鍵Ｋｓ−０）は、前回のスクランブル鍵Ｋｓも同様にＫｓ−１とＫｓ−０なので、これは登録せずに無視する。
そして、Ｂ点のタイミングに到達すると、スクランブル鍵Ｋｓ（Ｏｄｄ鍵Ｋｓ−１とＥｖｅｎ鍵Ｋｓ−２）が取得されるため、前回までのＫｓ−１とＫｓ−０のペアとは異なり、新規のスクランブル鍵Ｋｓ受信となる（ステップＳ３０２：ＹＥＳ）。
【００６９】
このとき、新規のスクランブル鍵Ｋｓ（Ｋｓ−１とＫｓ−２）をＡＶデコーダ１０１ｄに登録し（ステップＳ３０３）、また、第２のＯＳ３００からの通知に応答して制御情報を状態保存用バッファ領域１０３ａに記憶する（ステップＳ３０４）。
すると、スクランブル鍵Ｋｓを登録して制御情報を記憶したタイミングであるＢ点〜Ｃ点までの所定時間ｔの間はスクランブル鍵Ｋｓが変わらない（Ｋｓ−１とＫｓ−２）ため、この所定時間ｔの間を最大限に使ってシングルプロセッサ化処理を完了し、第１のＣＰＵ１０１ａと第２のＣＰＵ１０１ｂとがそれぞれシングルプロセッサ処理を開始すればよい（ステップＳ３０５〜Ｓ３０７）。
【００７０】
そうすれば、ステップＳ３０８の時点でまだスクランブル鍵Ｋｓが変わっていないので、第１のＣＰＵ１０１ａは、ＡＶデコーダ１０１ｄに登録されているスクランブル鍵Ｋｓ（Ｋｓ−１とＫｓ−２）を遣ってすぐにＡＶデータのデコードを開始することができる。
＜実施形態２＞
（１．概要）
次に、本発明の実施形態２について説明する。
【００７１】
実施形態１との差異について簡単に説明すると、実施形態１では、第１のＯＳ２００上で動く第１の復号制御処理プログラム２０１と、第２のＯＳ３００上で動く第２の復号制御処理プログラム３０１とを別々に用意していた。これに対し、実施形態２では、第１の復号制御処理プログラム２０１を第２のＯＳ３００上でエミュレート動作させる点で異なっている。
（２．構成）
実施形態２では、図７に示すように、第２のＣＰＵ１０１ｂにおいて、第２のＯＳ３００の上にさらに第３のＯＳ４００を起動し、この第３のＯＳ４００上で第１の復号制御処理プログラム２０１を実行する構成になっている。
【００７２】
第１のＯＳ２００及び第２のＯＳ３００は、実施形態１のそれと同様なので、ここでは詳細な説明はしない。
実施形態２に係る第１の復号制御処理プログラム２０１は、パフォーマンス監視手段２０１ｄを含む。
パフォーマンス監視手段２０１ｄは、第１のＣＰＵ１０１ａと第２のＣＰＵ１０１ｂとがＳＭＰ処理を実行中に、両ＣＰＵのパフォーマンス、すなわち、実行性能が所定のレベルよりも下回っていないかを監視するためのプログラムである。
（２−１．第３のＯＳ）
第３のＯＳ４００は、第２のＯＳ２００上で第１のＯＳ１００をエミュレートし、第１のＯＳ１００上で動くようコードが設計された第１の復号制御処理プログラム２０１を動かす機能を有する。第１のＯＳ１００のエミュレートに特化して設計されているため起動が早く、約１．０秒で起動する。
（３−１．動作  その１）
次に、実施形態２に係る復号装置１００がデジタル放送を受信し、ストリームデータの復号を行う動作を、図８を参照しながら説明する。
【００７３】
なお、実施形態１に係る復号装置１００が実行する処理と同じ処理については、同じ符号を付している。
ユーザが復号装置１００の電源を投入すると、図８に示すように、まず、第１のＣＰＵ１０１ａにおいてＯＳ起動手段２００ａが第１のＯＳ２００の起動を開始する（ステップＳ１００）とともに、第２のＣＰＵ１０１ｂにおいてもＯＳ起動手段３００ａが第２のＯＳ３００の起動を開始する（ステップＳ２００）。
【００７４】
第１のＣＰＵ１０１ａ上で第１のＯＳ２００の起動が約１．０秒で完了すると（ステップＳ１０１）、次に、第１の復号制御処理プログラム２０１の状態判定手段２０１ａが実行され、ＴＳデコーダ１０１ｃで分離されたＰＳＩを受信してスクランブル鍵Ｋｓの取得を開始する（ステップＳ１０２）。
ステップＳ１０２で実行するスクランブル鍵Ｋｓの取得処理の詳細は、図５に示した通りである。
【００７５】
スクランブル鍵Ｋｓを含む制御情報の取得が完了すると、続いて、この取得したスクランブル鍵Ｋｓが、前回（初手時間ｔ前）に受信したスクランブル鍵Ｋｓと異なるか否かを判定する（ステップＳ１０３）。
スクランブル鍵ＫｓのうちＥｖｅｎ鍵とＯｄｄ鍵のうち１つでも変更されていた場合（ステップＳ１０３：ＹＥＳ）、第１のＣＰＵ１０１ａ上で状態保存手段２０１ｂが実行され、変更されていた新しいスクランブル鍵ＫｓをＡＶデコーダ１０１ｄに登録される（ステップＳ１０４）。
【００７６】
スクランブル鍵ＫｓのうちＥｖｅｎ鍵とＯｄｄ鍵のうち１つも変更されていない場合（ステップＳ１０３：ＮＯ）、再び所定時間ｔ経過後にスクランブル鍵Ｋｓの取得処理を行う（ステップＳ１０２）。
この間、第２のＣＰＵ１０１ｂ上で第２のＯＳ３００が起動を完了すると（ステップＳ２０１）、第１のＯＳ２００に対して、第２のＯＳ３００の起動完了を通知する（ステップＳ２０２）。
【００７７】
第１のＯＳ２００が、第２のＯＳ３００から起動開始の通知を受けると（ステップＳ１０５：ＹＥＳ）、ステップＳ１０２で取得した管理情報を状態保存用バッファ領域１０３ａに記憶する（ステップＳ１０６）。
状態保存用バッファ領域１０３ａへの制御情報の記憶が完了すると、その旨を第２のＯＳ３００に通知して（ステップＳ１０７）、第１のＯＳ２００を終了する（ステップＳ１０８）。
【００７８】
第１のＯＳ２００から通知を受け取った第２のＯＳ３００は（ステップＳ２０３：ＹＥＳ）、第２のＯＳ３００上でＳＭＰ処理を実行するための準備処理であるＳＭＰ化処理を開始する（ステップＳ２０８）。ここでのＳＭＰ化処理は、実施形態１で示したステップＳ２０５のＳＭＰ化処理と異なり、第２のＯＳ３００上で第１の復号制御処理プログラム２０１を動かすための第３のＯＳ４００を起動する処理を含む。
【００７９】
そして、ＳＭＰ化処理が完了すると、両ＣＰＵ１０１ａ及び１０１ｂそれぞれの上で第２のＯＳ３００が起動し、かつその上で第３のＯＳ４００が起動してＳＭＰ動作を開始する（ステップＳ２１０）。
ＳＭＰ動作が開始すると、第１の復号制御処理プログラム２０１の読み取り手段２０１ｃが実行され、状態保存用バッファ領域１０３ａから制御情報を読み取り（ステップＳ２１１）、第１のＣＰＵ１０１ａと第２のＣＰＵ１０１ｂは、分担してＡＶデコーダ１０１ｄ等各部を制御する（ステップＳ２１２）。
【００８０】
ステップＳ２１１以降、両ＣＰＵ１０１ａ及び１０１ｂ上で第２のＯＳ３００は、読み取った制御情報に基づいて、ＡＶデコーダ１０１ｄに対して、ＡＶデータのデコードの実行を指示するとともに、その他詳述はしないが、ユーザが行う放送番組の選択操作に伴うチャンネル切り替え処理や、デコードしたＡＶデータの再生時のボリューム増減処理等を実行する。
【００８１】
このように、第１のＯＳ２００をエミュレートする第３のＯＳ４００を、第２のＯＳ３００上で動かしてＳＭＰ処理を行うことで、第１のＯＳ２００上で動く第１の復号制御処理プログラム２０１をＳＭＰ処理にも共用させることができる。これにより、復号装置１００に記憶しておくプログラムを削減することができる。
（３−２．動作  その２）
また、実施形態２においても、実施形態１と同様に、第１のＣＰＵ１０１ａ及び第２のＣＰＵ１０１ｂ上でのＳＭＰ処理を実行している間、両ＣＰＵ１０１ａ及び１０１ｂでのＡＶデコード処理のパフォーマンスが落ちていないかどうかを監視する。
【００８２】
実施形態２においては、第１の復号制御処理プログラム２０１のパフォーマンス監視手段２０１ｄが、予め決めた所定のレベル以上に両ＣＰＵ１０１ａ及び１０１ｂの処理速度が下がっていないかを監視し、もし下がっていると判断した場合、シングルＣＰＵ化手段３００がシングルプロセッサ処理に移行するための処理を実行する。
この際、パフォーマンスが落ちたと判定されてから、新規のスクランブル鍵Ｋｓ（Ｏｄｄ鍵及びＥｖｅｎ鍵）を受信するまで待ち、新規のスクランブル鍵Ｋｓを受信後、その新規のスクランブル鍵ＫｓをＡＶデータ１０１ｄに登録するとともに、現在使用している制御情報の状態保存用バッファ領域１０３ａを記憶しておく。
【００８３】
そうしておいてから、シングルＣＰＵ化手段３００は、現在第１のＣＰＵ１０１ａ上に割り当てられているプロセスの割り当てを解除して第２のＣＰＵ１０１ｂに再割当を行うとともに、現在第１のＣＰＵ１０１ａ上に割り当てられている外部割込み処理を解除して第２のＣＰＵ１０１ｂに再割当を行う。
プロセスと外部割込みの再割当が完了すると、第２のＯＳ３００は第１のＣＰＵ１０１ａから自身を切り離す。
【００８４】
こうすることにより、第２のＯＳ３００によるＳＭＰ処理を終了し、第１のＣＰＵ１０１ａと第２のＣＰＵ１０１ｂとをそれぞれシングルプロセッサ処理により実行させる。
＜変形例＞
以上、本発明に係る復号装置を実施形態１及び２に基づいて説明してきたが、これら実施形態の構成又は動作には、種々の変形を加えることが可能である。
【００８５】
例えば、実施形態１において、第１のＯＳ２００の起動時間を約１．０秒、第２のＯＳ３００の起動時間を約５．０秒としたが、これは単なる例示に過ぎず、これに限定されない。第１のＯＳ２００と第２のＯＳ３００それぞれの起動時間はどちらが短くても良い。
同様に、実施形態２において、第３のＯＳ４００の起動時間を約１．０秒としたが、これは単なる例示に過ぎず、これに限定されない。
＜補足＞
第１の復号制御処理プログラム２０１及び第２の復号制御処理プログラム３０１は、コンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【００８６】
両プログラム２０１及び３０１は、コンピュータプログラム又はデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ（Compact Disc - Read Only Memory）、ＭＯ（Magneto Optical disk）、ＤＶＤ（Digital Versatile Disk）、ＤＶＤ−ＲＯＭ（Digital Versatile Disk - Read Only Memory）、ＤＶＤ−ＲＡＭ（Digital Versatile Disk - Random Access Memory）、ＢＤ（Blu-ray Disc）、半導体メモリなど、に記録されて提供されてもよい。
【００８７】
また、両プログラム２０１及び３０１は、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して提供されてもよい。
【産業上の利用可能性】
【００８８】
本発明に係る復号装置は、ＭＰＥＧ２−ＴＳ方式で符号化されたデジタル放送のデータの受信装置など、暗号化された符号化データを復号する復号装置に広く適用可能であり、起動してから復号処理を開始するまでを高速化することのできる点で有用な技術である。
【図面の簡単な説明】
【００８９】
【図１】実施形態１において、本発明に係る復号装置１００の構成を示すブロック図である。
【図２】復号装置１００におけるハードウェアとソフトウェアとの関係を示す概念図である。
【図３】スクランブル鍵Ｋｓの遷移を示す概念図である。
【図４】実施形態１において、復号装置１００がデジタル放送を受信し、ストリームデータの復号を行う動作を示すフローチャートである。
【図５】状態判定手段２０１ａが実行するスクランブル鍵Ｋｓの取得処理を示すフローチャートである。
【図６】復号装置１００がＳＭＰ処理を開始してから、その後の動作を示すフローチャートである。
【図７】実施形態２において、本発明に係る復号装置１００の構成を示すブロック図である。
【図８】実施形態２において、復号装置１００がデジタル放送を受信し、ストリームデータの復号を行う動作を示すフローチャートである。
【図９】従来の、限定受信方式でデジタル放送が受信可能な受信装置１０００を示す概念図である。
【符号の説明】
【００９０】
１００        復号装置
１０１        ＬＳＩ
１０１ａ      第１のＣＰＵ
１０１ｂ      第２のＣＰＵ
１０１ｃ      ＴＳデコーダ
１０１ｄ      ＡＶデコーダ
１０２        チューナ
１０３        メモリ
１０４        ＣＡＳカード
１０５        ディスプレイ
【図１】
2007221370.tif 000003
【図２】
2007221370.tif 000004
【図３】
2007221370.tif 000005
【図４】
2007221370.tif 000006
【図５】
2007221370.tif 000007
【図６】
2007221370.tif 000008
【図７】
2007221370.tif 000009
【図８】
2007221370.tif 000010
【図９】
2007221370.tif 000011