JP2007221370A - 復号装置、及び集積回路 - Google Patents
復号装置、及び集積回路 Download PDFInfo
- Publication number
- JP2007221370A JP2007221370A JP2006038470A JP2006038470A JP2007221370A JP 2007221370 A JP2007221370 A JP 2007221370A JP 2006038470 A JP2006038470 A JP 2006038470A JP 2006038470 A JP2006038470 A JP 2006038470A JP 2007221370 A JP2007221370 A JP 2007221370A
- Authority
- JP
- Japan
- Prior art keywords
- decoding
- processor
- processing program
- control processing
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/167—Systems rendering the television signal unintelligible and subsequently intelligible
- H04N7/1675—Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4432—Powering on the client, e.g. bootstrap loading using setup parameters being stored locally or received from the server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4623—Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/818—OS software
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Circuits Of Receivers In General (AREA)
Abstract
【課題】暗号化された符号化データを復号する復号装置において、復号装置を起動してから復号を開始するまでを高速化する。
【解決手段】第1のOS200が起動し、スクランブル鍵Ksの取得と登録を完了する間に第2のOS300が起動を完了する(ステップS201)。第1のOS200は、放送番組のチャネル情報やネットワークの設定情報(制御情報)を状態保存用バッファ103cに保存し(ステップS106)、第1のOS200は終了する。第2のOS300は、SMP化処理を開始し(ステップS204)、SMP処理を開始する(ステップS205)。その後、状態保存用バッファ領域103aから制御情報を読み取り(ステップS206)、第1のCPU101aと第2のCPU101bは、分担してAVデコーダ101d等各部を制御する(ステップS207)。
【選択図】図4
【解決手段】第1のOS200が起動し、スクランブル鍵Ksの取得と登録を完了する間に第2のOS300が起動を完了する(ステップS201)。第1のOS200は、放送番組のチャネル情報やネットワークの設定情報(制御情報)を状態保存用バッファ103cに保存し(ステップS106)、第1のOS200は終了する。第2のOS300は、SMP化処理を開始し(ステップS204)、SMP処理を開始する(ステップS205)。その後、状態保存用バッファ領域103aから制御情報を読み取り(ステップS206)、第1のCPU101aと第2のCPU101bは、分担してAVデコーダ101d等各部を制御する(ステップS207)。
【選択図】図4
Description
本発明は、暗号化された符号化データを復号する復号装置に関する。
従来、デジタルデータを送信する際に、送信側でデジタルデータを暗号化して限定した者にのみ受信を許可する、いわゆる限定受信方式がある。以降、本明細書において、デジタルデータを暗号化することを「スクランブルする」といい、暗号化されたデジタルデータの暗号を解いて復元することを「デスクランブルする」という。
例えば、デジタル放送においては、放送番組の著作権保護を目的として、放送事業者側(送信側)で放送番組に係る放送番組データをスクランブルすることが行われており、デジタル放送の受信装置側では、受信者固有が持つCAS(Conditional Access System)カードで生成される鍵データに基づいてスクランブルされた放送番組データをデスクランブルするようになっている(例えば、非特許文献1参照)。
例えば、デジタル放送においては、放送番組の著作権保護を目的として、放送事業者側(送信側)で放送番組に係る放送番組データをスクランブルすることが行われており、デジタル放送の受信装置側では、受信者固有が持つCAS(Conditional Access System)カードで生成される鍵データに基づいてスクランブルされた放送番組データをデスクランブルするようになっている(例えば、非特許文献1参照)。
ここで、CASカードを用いた限定受信方式について、その典型例を簡単に説明する。
図9は、限定受信方式でデジタル放送が受信可能な受信装置1000の例を示す図である。
まず、図示しない送信側は、短い所定周期(例えば、2秒周期間隔)で更新されるスクランブル鍵(Ks)を用いて、放送番組データをスクランブルする。そして、長期間(例えば、1年)の間変わらないワーク鍵(Kw)を用いて、スクランブル鍵Ks及び放送番組に関する情報をさらにスクランブルし、ECM(Entitlement Control Message:共通情報)と呼ばれるデータを生成する。
図9は、限定受信方式でデジタル放送が受信可能な受信装置1000の例を示す図である。
まず、図示しない送信側は、短い所定周期(例えば、2秒周期間隔)で更新されるスクランブル鍵(Ks)を用いて、放送番組データをスクランブルする。そして、長期間(例えば、1年)の間変わらないワーク鍵(Kw)を用いて、スクランブル鍵Ks及び放送番組に関する情報をさらにスクランブルし、ECM(Entitlement Control Message:共通情報)と呼ばれるデータを生成する。
さらに、送信側は、受信装置1000のCASカード1001に固有に設定されているマスタ鍵Kmを用いて、ワーク鍵Kw及び受信装置1000との契約内容をスクランブしてEMM(Entitlement Management Message:個別情報)と呼ばれるデータを生成する。
そして、送信側は、スクランブルされた放送番組データとECMとEMMとを多重化して、放送データとして受信側に送信する。
そして、送信側は、スクランブルされた放送番組データとECMとEMMとを多重化して、放送データとして受信側に送信する。
一方、受信装置1000では、チューナ1002で放送データを受信し、受信した放送データをTS(Transport Stream:トランスポートストリーム)デコーダ1003により、放送番組データとECMとEMMとに分離し、CASカード1001に予め記録されているマスタ鍵Kmを用いてEMMをデスクランブルする。
TSデコーダ1003は、EMMをデスクランブルすることで取り出したワーク鍵KwをCASカード1001に記録しておく。
TSデコーダ1003は、EMMをデスクランブルすることで取り出したワーク鍵KwをCASカード1001に記録しておく。
続いて、受信装置1000は、TSデコーダ1003により、ワーク鍵Kwを用いてECMをデスクランブルし、これにより取り出されたスクランブル鍵KsをAVデコーダ1004に登録する。
AVデコーダ1004は、スクランブル鍵Ksを用いて放送番組データをデスクランブルし、デスクランブルされた放送番組データをデジタル放送規格(例えば、MPEG2−TS(Moving Picture Expert Group 2 - Transport Stream))に則って復号して出力装置1005に出力するようになっている。
AVデコーダ1004は、スクランブル鍵Ksを用いて放送番組データをデスクランブルし、デスクランブルされた放送番組データをデジタル放送規格(例えば、MPEG2−TS(Moving Picture Expert Group 2 - Transport Stream))に則って復号して出力装置1005に出力するようになっている。
このように、受信側(受信装置1000)では、スクランブルされたデジタルデータを最終的に復号して出力するまでに、デスクランブルを行うために多くの処理を行わなければならない。
「デジタル放送におけるアクセス制御方式(ARIB STD−B25)」、4.1版、社団法人電波産業会、平成15年6月5日改定
「デジタル放送におけるアクセス制御方式(ARIB STD−B25)」、4.1版、社団法人電波産業会、平成15年6月5日改定
ところで、上述したデジタル放送の受信装置1000は、放送番組データの受信、復号、及び出力以外にも色々な処理を行う必要がある。例えば、ユーザからの操作による放送番組のチャンネル切り換えや音声データのボリュームアップ/ダウンといった処理はもちろんのこと、多機能化に伴い、受信したストリームデータに含まれる字幕データやBML(Broadcast Markup Language)で記述されたデータ放送用データの復号及び出力といった処理も行わなければならない。
また、復号処理の高速化の目的から、復号装置に複数のCPUを実装し、これら複数のCPUが分担して復号処理を行う、いわゆるSMP(Symmetric Multi Processor)の構成を採る場合、CPUに分散処理を実行させる処理も行う必要がある。
このような状況から、受信装置1000の各構成部1001〜1005を制御するCPU(Central Processing Unit)1006を動かすOS(Operating System)1007として、Linux(登録商標)等の汎用OSを使用することが多くなってきている。
このような状況から、受信装置1000の各構成部1001〜1005を制御するCPU(Central Processing Unit)1006を動かすOS(Operating System)1007として、Linux(登録商標)等の汎用OSを使用することが多くなってきている。
ところが、汎用OSは一般的に、様々な用途に利用できる反面、MEPGデコード等の特定の用途に特化したOSに比べて起動に時間がかかってしまう。
このため、ユーザが受信装置1000の電源を投入してから、TSデコーダ1003での分離処理及び、EMMのデスクランブル処理とECMのデスクランブル処理が完了するまでに時間がかかってしまう。この結果、AVデコーダ1004で放送番組データを復号して出力するのが遅くなるため、ユーザが受信装置1000の電源を入れてから放送番組を見られるようになるまで長時間待たなければならないという課題がある。
このため、ユーザが受信装置1000の電源を投入してから、TSデコーダ1003での分離処理及び、EMMのデスクランブル処理とECMのデスクランブル処理が完了するまでに時間がかかってしまう。この結果、AVデコーダ1004で放送番組データを復号して出力するのが遅くなるため、ユーザが受信装置1000の電源を入れてから放送番組を見られるようになるまで長時間待たなければならないという課題がある。
そこで、本発明は、暗号化された符号化データを復号する復号装置において、復号装置を起動してから復号を開始するまでを高速化することを目的とする。
上記課題を解決するために、本発明の復号装置は、所定周期で更新される鍵データを用いて逐次暗号化されて送信されるストリームデータ及び当該鍵データを、逐次受信して当該ストリームデータを復号する復号装置であって、送信されるストリームデータ及び鍵データを逐次受信する受信部と、メモリを共用する第1プロセッサ及び第2プロセッサを含む制御部とを備え、前記制御部は、前記第1プロセッサに第1OSを実行させ、当該第1OS上において、受信した鍵データを用いたストリームデータの暗号化を解くための制御を行う第1復号制御処理プログラムを実行させ、並行して、前記第2プロセッサに、複数のプロセッサ上での分散実行が可能な第2OSについての当該分散実行の準備処理を実行させ、前記第1プロセッサが、受信した一の鍵データを用いたストリームデータの暗号化を解くための制御を行った第1時点から、前記所定周期間隔より短い所定時間内に、前記第1プロセッサに、前記第1OSに代えて前記第2OSの分散実行処理を開始させ、並行して、前記第2プロセッサにも前記第2OSの分散実行処理を開始させ、当該第2OS上において、前記ストリームデータを復号するための第2復号制御処理プログラムを開始するよう制御することを特徴とする。
以上の構成により、第1OS上で第1プロセッサが鍵データを用いたデスクランブル処理に係るプログラム(第1復号制御処理プログラム)を実行している間に、第2OS上で第2プロセッサが分散処理の準備を行い、さらに、鍵データが更新されて新たに別の鍵データが必要となるまでに第1プロセッサ及び第2プロセッサが第2OS上でストリームデータの復号処理に係るプログラム(第2復号制御処理プログラム)を開始する。このため、第1プロセッサ及び第2プロセッサは、第2OS上で鍵データを用いたデスクランブル処理に係るプログラムを実行することなく、第1OS上で第1プロセッサが実行したプログラムの結果を使って、両プロセッサが分担して第2OS上でストリームデータの復号処理に係るプログラムをすぐに開始することができる。
例えば、第1OSとして、デスクランブル処理及び復号処理に特化した専用OSを使用し、第2OSとして、専用OSに比べて起動は遅いが多用途で総合的に復号装置を制御できる汎用OSを使用すれば、高速に起動する第1OS上で先にデスクランブル処理に係るプログラムを実行し、その間に遅れて起動した第2OS上では、第1OS上で既に実行されたプログラムの結果を使ってストリームデータの復号を行うプログラムをすぐに開始することができる。
以上から、復号装置が起動して第1OSと第2OSの起動を開始してから、ストリームデータの復号処理を開始するまでの時間を短縮することができる。
また、上記復号装置において、前記制御部は、電力が供給されて起動した時を起点として各処理を実行し、前記第2プロセッサに実行させる前記分散実行の準備処理は、前記第2OSを単一プロセッサ上で動作する形態で起動する処理を含み、前記第1プロセッサに実行させる前記第2OSの分散実行処理は、前記第1OSを終了する処理を含み、前記第2プロセッサに実行させる前記第2OSの分散実行処理は、当該第2OSを複数プロセッサ上で動作する形態に変える処理を含むことを特徴とする。
また、上記復号装置において、前記制御部は、電力が供給されて起動した時を起点として各処理を実行し、前記第2プロセッサに実行させる前記分散実行の準備処理は、前記第2OSを単一プロセッサ上で動作する形態で起動する処理を含み、前記第1プロセッサに実行させる前記第2OSの分散実行処理は、前記第1OSを終了する処理を含み、前記第2プロセッサに実行させる前記第2OSの分散実行処理は、当該第2OSを複数プロセッサ上で動作する形態に変える処理を含むことを特徴とする。
この構成により、電源を投入して復号装置が起動してから、第2OSが単体で起動している間に第1OS上で第1プロセッサがデスクランブル処理に係るプログラム(第1復号制御処理プログラム)を実行することができ、その後、第2OSの準備が整ったら両プロセッサが分担して動作するマルチプロセッサ処理を実行することができる。
また、上記復号装置において、前記受信部は、前記鍵データを所定のタイミングで定期的に受信し、前記制御部は、前記鍵データが前記鍵データの更新を検出し、前記第1時点は、前記制御部が前記鍵データの更新を検出した時から次の1回目のタイミングで前記受信部が鍵データを受信した時点であることを特徴とする。
また、上記復号装置において、前記受信部は、前記鍵データを所定のタイミングで定期的に受信し、前記制御部は、前記鍵データが前記鍵データの更新を検出し、前記第1時点は、前記制御部が前記鍵データの更新を検出した時から次の1回目のタイミングで前記受信部が鍵データを受信した時点であることを特徴とする。
この構成により、鍵データが更新されてからすぐのタイミングで、第1プロセッサがデスクランブル処理に係るプログラムを完了することで、新たに鍵データが更新されるまで充分に余裕をもって第2プロセッサが第2OS上で分散実行処理を開始することができる。
また、上記復号装置において、前記復号装置は、記憶部を有していて前記ストリームデータの復号を行う復号部を備え、前記第1復号制御処理プログラムは、受信した鍵データを前記記憶部に記録する処理を含み、前記第2復号制御処理プログラムは、前記記憶部に記録された鍵データを用いて前記ストリームデータの復号を行うよう、前記復号部を制御する処理を含むことを特徴とする。
また、上記復号装置において、前記復号装置は、記憶部を有していて前記ストリームデータの復号を行う復号部を備え、前記第1復号制御処理プログラムは、受信した鍵データを前記記憶部に記録する処理を含み、前記第2復号制御処理プログラムは、前記記憶部に記録された鍵データを用いて前記ストリームデータの復号を行うよう、前記復号部を制御する処理を含むことを特徴とする。
この構成により、ストリームデータの復号処理を専用のハードウェア(復号部)で行うことで、第1プロセッサ及び第2プロセッサの処理負担を軽減することができる。
特に、MPEG方式等の復号処理における負荷の高い符号化データを復号する場合、有効である。
また、上記復号装置において、前記ストリームデータは、複数の放送番組のエレメンタリーストリームを含んで構成されるデジタル放送用のストリームデータであって、それぞれの放送番組を特定するチャンネルを示すチャンネル情報を複数含んで送信され、前記復号装置は、さらに前記複数の放送番組の中から所望の放送番組を選択する操作をユーザから受付ける操作部を備え、前記第1復号制御処理プログラムは、前記ユーザの選択操作に応じて、受信したチャンネル情報の中から、選択された放送番組のチャンネルを示すチャンネル情報を前記記憶部に記録する処理を含み、前記第2復号制御処理プログラムは、前記記憶部に記録されたチャンネル情報を使用して前記ストリームデータの復号を行うよう、前記復号部を制御する処理を含むことを特徴とする。
特に、MPEG方式等の復号処理における負荷の高い符号化データを復号する場合、有効である。
また、上記復号装置において、前記ストリームデータは、複数の放送番組のエレメンタリーストリームを含んで構成されるデジタル放送用のストリームデータであって、それぞれの放送番組を特定するチャンネルを示すチャンネル情報を複数含んで送信され、前記復号装置は、さらに前記複数の放送番組の中から所望の放送番組を選択する操作をユーザから受付ける操作部を備え、前記第1復号制御処理プログラムは、前記ユーザの選択操作に応じて、受信したチャンネル情報の中から、選択された放送番組のチャンネルを示すチャンネル情報を前記記憶部に記録する処理を含み、前記第2復号制御処理プログラムは、前記記憶部に記録されたチャンネル情報を使用して前記ストリームデータの復号を行うよう、前記復号部を制御する処理を含むことを特徴とする。
この構成により、デジタル放送のストリームデータを復号する場合、第1プロセッサで先ず、デスクランブル処理に係るプログラムの実行とともに放送番組のチャンネル情報の記録を行っておき、このとき記録したチャンネル情報を使って両プロセッサがストリームデータの復号処理に係るプログラムを実行することができる。
また、上記復号装置において、前記第1復号制御処理プログラムと前記第2復号制御処理プログラムは、ともに単一のプログラムであり、前記第1復号制御処理プログラムは、前記一のプログラムが前記第1OSの管理下で前記メモリにロードされて実行され、前記第2復号制御処理プログラムは、前記一のプログラムが前記第2OSの管理下で前記メモリにロードされて実行され、前記制御部は、前記第2OS上で前記第2復号制御処理プログラムを実行開始する際、前記第1OSをエミュレートするゲストOSとしての第3OSを前記第2OS上で起動して、当該第3OS上で前記第2復号制御処理プログラムを実行開始するよう制御することを特徴とする。
また、上記復号装置において、前記第1復号制御処理プログラムと前記第2復号制御処理プログラムは、ともに単一のプログラムであり、前記第1復号制御処理プログラムは、前記一のプログラムが前記第1OSの管理下で前記メモリにロードされて実行され、前記第2復号制御処理プログラムは、前記一のプログラムが前記第2OSの管理下で前記メモリにロードされて実行され、前記制御部は、前記第2OS上で前記第2復号制御処理プログラムを実行開始する際、前記第1OSをエミュレートするゲストOSとしての第3OSを前記第2OS上で起動して、当該第3OS上で前記第2復号制御処理プログラムを実行開始するよう制御することを特徴とする。
この構成により、ゲストOSとして機能する第3OSを使用することで、単一のプログラムを第1OS上及び第2OS上で実行させることができることから、用意しておくプログラムを削減することができる。
これにより、プログラムの作成、保守を行うプログラマーの負担も軽減することができる。
これにより、プログラムの作成、保守を行うプログラマーの負担も軽減することができる。
また、上記復号装置において、前記第1復号制御処理プログラムは、受信した鍵データを前記メモリに記録する処理を含み、前記第2復号制御処理プログラムは、前記メモリに記録された鍵データを使用して、前記ストリームデータを復号する処理を含むことを特徴とする。
この構成により、第1プロセッサ及び第2プロセッサ自身がストリームデータの復号処理を行うことで、当該復号処理を行う専用のハードウェアを不要とすることができる。
この構成により、第1プロセッサ及び第2プロセッサ自身がストリームデータの復号処理を行うことで、当該復号処理を行う専用のハードウェアを不要とすることができる。
これにより、復号装置を製造するコストを削減することができる。
また、上記復号装置において、前記ストリームデータは、複数の放送番組のエレメンタリーストリームを含んで構成されるデジタル放送用のストリームデータであって、それぞれの放送番組を特定するチャンネルを示すチャンネル情報を複数含んで送信され、前記復号装置は、さらに前記複数の放送番組の中から所望の放送番組を選択する操作をユーザから受付ける操作部を備え、前記第1復号制御処理プログラムは、前記ユーザの選択操作に応じて、受信したチャンネル情報の中から、選択された放送番組のチャンネルを示すチャンネル情報を前記メモリに記録する処理を含み、前記第2復号制御処理プログラムは、前記メモリに記録されたチャンネル情報を使用して前記ストリームデータの復号を行う処理を含む
ことを特徴とする。
また、上記復号装置において、前記ストリームデータは、複数の放送番組のエレメンタリーストリームを含んで構成されるデジタル放送用のストリームデータであって、それぞれの放送番組を特定するチャンネルを示すチャンネル情報を複数含んで送信され、前記復号装置は、さらに前記複数の放送番組の中から所望の放送番組を選択する操作をユーザから受付ける操作部を備え、前記第1復号制御処理プログラムは、前記ユーザの選択操作に応じて、受信したチャンネル情報の中から、選択された放送番組のチャンネルを示すチャンネル情報を前記メモリに記録する処理を含み、前記第2復号制御処理プログラムは、前記メモリに記録されたチャンネル情報を使用して前記ストリームデータの復号を行う処理を含む
ことを特徴とする。
この構成により、デジタル放送のストリームデータを復号する場合、第1プロセッサで先ず、デスクランブル処理に係るプログラムの実行とともに放送番組のチャンネル情報の記録を行っておき、このとき記録したチャンネル情報を使って両プロセッサがストリームデータの復号処理を実行することができる。
また、上記復号装置において、前記第2OSは、単一プロセッサ上で動作する態様と、複数プロセッサ上で動作する態様を持ち、前記制御部は、前記第2OS上で前記第2復号制御処理プログラムを実行開始した後、前記第2OS上で動作する他のプログラムの影響によって前記第2復号制御処理プログラムの実行性能が所定のレベルよりも低下した場合、前記第1プロセッサに、前記第1OSを起動し、前記第2OSに代えて当該第1OS上において前記第1復号制御処理プログラムを実行させ、並列して、前記第2プロセッサに、前記第2復号制御処理プログラムを終了させるとともに前記第2OSを単一プロセッサ上で動作する態様に変えて、前記他のプログラムを実行開始するよう制御することを特徴とする。
また、上記復号装置において、前記第2OSは、単一プロセッサ上で動作する態様と、複数プロセッサ上で動作する態様を持ち、前記制御部は、前記第2OS上で前記第2復号制御処理プログラムを実行開始した後、前記第2OS上で動作する他のプログラムの影響によって前記第2復号制御処理プログラムの実行性能が所定のレベルよりも低下した場合、前記第1プロセッサに、前記第1OSを起動し、前記第2OSに代えて当該第1OS上において前記第1復号制御処理プログラムを実行させ、並列して、前記第2プロセッサに、前記第2復号制御処理プログラムを終了させるとともに前記第2OSを単一プロセッサ上で動作する態様に変えて、前記他のプログラムを実行開始するよう制御することを特徴とする。
この構成により、第1プロセッサ及び第2プロセッサが分担して復号処理に係るプログラムを実行している最中にパフォーマンスが低下した場合、影響を及ぼす他のプログラムと切り離し、第1プロセッサのみが第1OS上で復号処理に係るプログラムを実行することから、マルチプロセッサ処理における復号処理のパフォーマンスの低下を是正することができる。
以下本発明の実施形態について、図面を参照しながら説明する。
<実施形態1>
(1.概要)
本発明の実施形態1について、デジタル放送の復号装置100を例に挙げて説明する。復号装置100は、デジタル放送を受信して復号し、出力する装置である。
<実施形態1>
(1.概要)
本発明の実施形態1について、デジタル放送の復号装置100を例に挙げて説明する。復号装置100は、デジタル放送を受信して復号し、出力する装置である。
まず、先に、デジタル放送の送信側と復号装置100との間で、どのようにストリームデータがスクランブされやり取りするのかついて、その概要を説明する。
送信側である放送事業者(図示しない)は、短い所定周期T(例えば、2秒周期間隔)で更新されるスクランブル鍵(Ks)を用いて、放送番組の映像データ及び音声データ(以後、両データを合わせてAVデータと呼ぶ)をスクランブルする。そして、長期間(例えば、1年)の間変わらないワーク鍵(Kw)を用いて、スクランブル鍵Ks及び放送番組に関する情報をさらにスクランブルし、ECMを生成する。
送信側である放送事業者(図示しない)は、短い所定周期T(例えば、2秒周期間隔)で更新されるスクランブル鍵(Ks)を用いて、放送番組の映像データ及び音声データ(以後、両データを合わせてAVデータと呼ぶ)をスクランブルする。そして、長期間(例えば、1年)の間変わらないワーク鍵(Kw)を用いて、スクランブル鍵Ks及び放送番組に関する情報をさらにスクランブルし、ECMを生成する。
さらに、送信側は、復号装置100に固有に割り当てられているマスタ鍵Kmを用いて、ワーク鍵Kw及び復号装置100との契約内容をスクランブしてEMMを生成する。
そして、送信側は、スクランブルされたAVデータとECMとEMMとを多重化して、放送データとして受信側に送信する。
一方、復号装置100では、受信した放送データをAVデータとECMとEMMとに分離し、予め設定されているマスタ鍵Kmを用いてEMMをデスクランブルし、取り出したワーク鍵Kwを記録しておく。
そして、送信側は、スクランブルされたAVデータとECMとEMMとを多重化して、放送データとして受信側に送信する。
一方、復号装置100では、受信した放送データをAVデータとECMとEMMとに分離し、予め設定されているマスタ鍵Kmを用いてEMMをデスクランブルし、取り出したワーク鍵Kwを記録しておく。
続いて、復号装置100は、ワーク鍵Kwを用いてECMをデスクランブルし、これにより取り出されたスクランブル鍵Ksを登録する。
そして、復号装置100は、スクランブル鍵Ksを用いてAVデータをデスクランブルし、デスクランブルされたAVデータをMPEG2−TSに則って復号して出力するようになっている。
(2.構成)
次に、図1を参照しながら、復号装置100の構成について説明する。
そして、復号装置100は、スクランブル鍵Ksを用いてAVデータをデスクランブルし、デスクランブルされたAVデータをMPEG2−TSに則って復号して出力するようになっている。
(2.構成)
次に、図1を参照しながら、復号装置100の構成について説明する。
図1は、復号装置100の構成を示すブロック図である。
図1に示すように、復号装置100は、復号処理用のLSI(Large Scale Integration)101、チューナ102、メモリ103、CASカード104、及びディスプレイ105を備えている。
LSI101は、MPEG2−TS方式で符号化されたストリームデータを復号する機能を有するものであり、その内部に、第1CPU101a、第2CPU101b、TSデコーダ101c、及びAVデコーダ101dを備えている。
図1に示すように、復号装置100は、復号処理用のLSI(Large Scale Integration)101、チューナ102、メモリ103、CASカード104、及びディスプレイ105を備えている。
LSI101は、MPEG2−TS方式で符号化されたストリームデータを復号する機能を有するものであり、その内部に、第1CPU101a、第2CPU101b、TSデコーダ101c、及びAVデコーダ101dを備えている。
第1CPU101aは、後述する第1OS上又は第2OS上で、ストリームデータの復号処理に係るプログラムを実行し、TSデコーダ101c及びAVデコーダ101dを制御する機能を有する。
第2CPU101bは、後述する第2OS上で、ストリームデータの復号処理に係るプログラムを実行し、TSデコーダ101c及びAVデコーダ101dを制御する機能を有する。
第2CPU101bは、後述する第2OS上で、ストリームデータの復号処理に係るプログラムを実行し、TSデコーダ101c及びAVデコーダ101dを制御する機能を有する。
TSデコーダ101cは、チューナ102から送出されるストリームデータを取り込み、第1CPU101a又は第2CPU101bの指示に基づいてストリームデータの分離処理を実行する機能を有する。分離処理によって、ストリームデータは、AVデータと、PSI(Program Specific Information)等の番組管理用のデータとに分離され、AVデータはAVデコーダ101dに送出される。
AVデコーダ101dは、TSデコーダ101cから送出されるAVデータを取り込み、第1CPU101a又は第2CPU101bの指示に基づいてAVデータの復号処理を実行する機能を有する。
チューナ102は、放送事業者(図示しない)から放送される、MPEG2−TS方式で符号化されたストリームデータを受信し、TSデコーダ101cへ送出する機能を有する。
チューナ102は、放送事業者(図示しない)から放送される、MPEG2−TS方式で符号化されたストリームデータを受信し、TSデコーダ101cへ送出する機能を有する。
メモリ103は、RAM(Random Access Memory)等の記憶部であり、LSI101が実行する処理により生じたデータを記憶する機能を有する。特に、TSデコーダ101cが実行する分離処理で分離されたPSI内に含まれる、放送番組のチャンネル情報やネットワークの設定情報を記憶するものである。
CASカード104は、デジタル放送の放送番組の著作権保護を目的に、予め設定されているマスタ鍵Kmを記憶するものである。
CASカード104は、デジタル放送の放送番組の著作権保護を目的に、予め設定されているマスタ鍵Kmを記憶するものである。
ディスプレイ105は、AVデコーダ101dが復号して得られた映像と音声を出力する機能を有する。
次に、図2を参照しながら、復号装置100のハードウェア層とソフトウェア層とのつながりについて説明する。
図2は、復号装置100について、ハードウェア層とソフトウェア層とを重ねて示す模式図である。
次に、図2を参照しながら、復号装置100のハードウェア層とソフトウェア層とのつながりについて説明する。
図2は、復号装置100について、ハードウェア層とソフトウェア層とを重ねて示す模式図である。
図2に示すように、第1のCPU101aの上では第1のOS200が動き、第2のCPU101bの上では第2のOS300が動く。
(2−1.第1のOS)
第1のOS200は、MPEGデコードに特化したOSであり、第1のCPUに対してMEPGデコードに関する処理を実行するよう指示する機能を有する。第1のOS200は、用途はMPEGデコードに限られるが、そのぶんプログラムはシンプルなため起動が早く、約1.0秒で起動する。
(2−1.第1のOS)
第1のOS200は、MPEGデコードに特化したOSであり、第1のCPUに対してMEPGデコードに関する処理を実行するよう指示する機能を有する。第1のOS200は、用途はMPEGデコードに限られるが、そのぶんプログラムはシンプルなため起動が早く、約1.0秒で起動する。
第1のOS200は、第1のOS200を起動するためのプログラムであるOS起動手段200aを含む。
また、第1のOS200上では、MPEGデコードに係る処理を行う第1の復号制御処理プログラム201が動く。
第1の復号制御処理プログラム201は、状態保存手段201a、状態判定手段201b、及び状態読み取り手段201cを含む。
また、第1のOS200上では、MPEGデコードに係る処理を行う第1の復号制御処理プログラム201が動く。
第1の復号制御処理プログラム201は、状態保存手段201a、状態判定手段201b、及び状態読み取り手段201cを含む。
状態判定手段201aは、スクランブル鍵Ks取得/判定と、放送番組のチャンネル情報やネットワークの設定情報の取得/判定を行うためのプログラムである。
状態保存手段201bは、状態判定手段201aで判定を行ったスクランブル鍵KsをAVデコーダ101dに登録するとともに、放送番組のチャンネル情報やネットワークの設定情報をメモリ103の状態保存用バッファ領域103aに保存するためのプログラムである。
状態保存手段201bは、状態判定手段201aで判定を行ったスクランブル鍵KsをAVデコーダ101dに登録するとともに、放送番組のチャンネル情報やネットワークの設定情報をメモリ103の状態保存用バッファ領域103aに保存するためのプログラムである。
状態読み取り手段201cは、状態保存用バッファ領域103aに保存していある、放送番組のチャンネル情報やネットワークの設定情報を読み取るためのプログラムである。
(2−2.第2のOS)AV
第2のOS300は、MPEGデコードの他、デジタル放送のチャンネル決定やデジタル放送の音量の増減といった種々の処理を行うのに対応した汎用OSである。また、第2のOS300は、第2のCPU101bに対して上記処理を実行するよう指示する機能を有するとともに、SMP処理に対応しており、第1のCPU101a及び第2のCPU101bに対して同時に上記処理を分担して実行させるよう指示する機能を有する。
(2−2.第2のOS)AV
第2のOS300は、MPEGデコードの他、デジタル放送のチャンネル決定やデジタル放送の音量の増減といった種々の処理を行うのに対応した汎用OSである。また、第2のOS300は、第2のCPU101bに対して上記処理を実行するよう指示する機能を有するとともに、SMP処理に対応しており、第1のCPU101a及び第2のCPU101bに対して同時に上記処理を分担して実行させるよう指示する機能を有する。
第2のOS300は、多用途であるが、そのぶんプログラムが複雑なため起動が第1のOS200に比べて遅く、約5.0秒で起動する。
特に、第2のOS300には、OS起動手段300a、SMP化手段300b、及びシングルCPU化手段300cを含む。
OS起動手段300aは、第2のOS300を起動するためのプログラムである。
特に、第2のOS300には、OS起動手段300a、SMP化手段300b、及びシングルCPU化手段300cを含む。
OS起動手段300aは、第2のOS300を起動するためのプログラムである。
SMP化手段300bは、第2のOS300がシングルプロセッサ上で動いているときにSMP処理に移行するためのプログラムである。具体的には、SMP処理に備えて、第1のCPU101aと第2のCPU101bとで共通のメモリ領域を使用するために行うメモリ103の初期化や、割り込み処理の初期化、カーネルの展開などの処理を第2のCPU101bに実行させる。
シングルCPU化手段300cは、SMP処理により第1のCPU101aと第2のCPU101bとが動いているときに、第2CPU101bのみを駆動するシングルプロセッサ処理の態様に変更するためのプログラムである。
また、第2のOS300上では、MPEGデコードに係る処理を行う第2の復号制御処理プログラム301が動く。
また、第2のOS300上では、MPEGデコードに係る処理を行う第2の復号制御処理プログラム301が動く。
第2の復号制御処理プログラム300は、状態読み取り手段301a及びパフォーマンス監視手段301bを含む。
状態読み取り手段301aは、メモリ103の状態保存用バッファ領域103aに保存されている、放送番組のチャンネル情報やネットワークの設定情報を読み取るためのプログラムである。
状態読み取り手段301aは、メモリ103の状態保存用バッファ領域103aに保存されている、放送番組のチャンネル情報やネットワークの設定情報を読み取るためのプログラムである。
パフォーマンス監視手段301bは、第2のOS300上で第1のCPU101aと第2のCPU101bとがSMP処理を実行中に、両CPUのパフォーマンス、すなわち、実行性能が所定のレベルよりも下回っていないかを監視するためのプログラムである。
(3.スクランブル鍵)
ここで、スクランブル鍵Ksについて、図3を参照しながら説明する。
(3.スクランブル鍵)
ここで、スクランブル鍵Ksについて、図3を参照しながら説明する。
図3に示すように、受信するECMにはOdd鍵とEven鍵という2種類のスクランブル鍵Ksが含まれており、第1のCPU101aは、状態保存手段201bの指示により所定時間t間隔でECMを受信し、当該2種類のスクランブル鍵KsをAVデコーダ101dに登録する。そして、これら2種類のスクランブル鍵Ksは、所定時間Tごとに交互に交代して使用するようになっている。
例えば、図3に示すA点〜B点の所定時間Tの間、ECMにはOdd鍵Ks−1とEven鍵Ks−0が含まれており、両スクランブル鍵が登録される。そして、その中のEven鍵Ks−0を使用してAVデータをデコードするようになる。
次のタイミングであるB点〜C点の所定時間Tの間は、ECMにはOdd鍵のKs−1とEven鍵Ks−2が含まれており、両スクランブル鍵が登録される。そして、その中のOdd鍵Ks−1を使用してAVデータをデコードするようになる。
次のタイミングであるB点〜C点の所定時間Tの間は、ECMにはOdd鍵のKs−1とEven鍵Ks−2が含まれており、両スクランブル鍵が登録される。そして、その中のOdd鍵Ks−1を使用してAVデータをデコードするようになる。
次のタイミングであるC点〜D点の所定時間Tの間は、ECMにはOdd鍵Ks−3とEven鍵Ks−2が含まれており、両スクランブル鍵が登録される。そして、その中のEven鍵Ks−2を使用してAVデータをデコードするようになる。
次のタイミングであるD点〜E点の所定時間Tの間は、ECMにはOdd鍵Ks−3とEven鍵Ks−4が含まれており、両スクランブル鍵が登録される。そして、その中のOdd鍵Ks−3を使用してAVデータをデコードするようになる。
次のタイミングであるD点〜E点の所定時間Tの間は、ECMにはOdd鍵Ks−3とEven鍵Ks−4が含まれており、両スクランブル鍵が登録される。そして、その中のOdd鍵Ks−3を使用してAVデータをデコードするようになる。
そして次のタイミングであるE点〜F点の所定時間Tの間は、ECMにはOdd鍵Ks−5とEven鍵Ks−4が含まれており、両スクランブル鍵が登録される。そして、その中のOdd鍵Ks−3を使用して、AVデコーダをデコードするようになる。
このように、状態保存用バッファ領域103aには常にEven鍵とOdd鍵の2種類のスクランブル鍵が登録され、その中からいずれかのスクランブル鍵を用いるようになっている。
(4−1.動作 その1)
次に、復号装置100がデジタル放送を受信し、ストリームデータの復号を行う動作を、図4を参照しながら説明する。
このように、状態保存用バッファ領域103aには常にEven鍵とOdd鍵の2種類のスクランブル鍵が登録され、その中からいずれかのスクランブル鍵を用いるようになっている。
(4−1.動作 その1)
次に、復号装置100がデジタル放送を受信し、ストリームデータの復号を行う動作を、図4を参照しながら説明する。
ユーザが復号装置100の電源を投入すると、図4に示すように、まず、第1のCPU101aにおいてOS起動手段200aが第1のOS200の起動を開始する(ステップS100)とともに、第2のCPU101bにおいてもOS起動手段300aが第2のOS300の起動を開始する(ステップS200)。
第1のCPU101a上で第1のOS200の起動が約1.0秒で完了すると(ステップS101)、次に、第1の復号制御処理プログラム201の状態判定手段201aが実行され、TSデコーダ101cで分離されたPSIを受信してスクランブル鍵Ksの取得を開始する(ステップS102)。
第1のCPU101a上で第1のOS200の起動が約1.0秒で完了すると(ステップS101)、次に、第1の復号制御処理プログラム201の状態判定手段201aが実行され、TSデコーダ101cで分離されたPSIを受信してスクランブル鍵Ksの取得を開始する(ステップS102)。
ここで、ステップS102で状態判定手段201aが実行するスクランブル鍵Ksの取得処理の詳細を、図5を参照しながら説明する。
図5に示すように、ステップS102では、まず、第1のCPU101a上で、PSIに含まれるPAT(Program Association Table)を受信し、放送番組のチャンネル情報を取得する(ステップS10)。
図5に示すように、ステップS102では、まず、第1のCPU101a上で、PSIに含まれるPAT(Program Association Table)を受信し、放送番組のチャンネル情報を取得する(ステップS10)。
次に、NIT(Network Information Table)を受信し、変調方法やガードインターバル等のネットワークに関連した設定情報を取得する(ステップS11)。
次に、CAT(Conditional Access Table)を受信して限定受信方式で放送される放送番組の個別情報を取得する(ステップS12)。
次に、EMMを受信し、CASカード104に記憶されているマスタ鍵Kmを用いてEMMをデスクランブルし、取り出したワーク鍵KwをCASカード104に記憶する(ステップS13)。
次に、CAT(Conditional Access Table)を受信して限定受信方式で放送される放送番組の個別情報を取得する(ステップS12)。
次に、EMMを受信し、CASカード104に記憶されているマスタ鍵Kmを用いてEMMをデスクランブルし、取り出したワーク鍵KwをCASカード104に記憶する(ステップS13)。
次に、再びPATを受信し(ステップS14)、デコードすべき放送番組のPMTを受信する(ステップS15)。
次に、ECMを受信し、CASカード104に記憶されているワーク鍵Kwを用いてECMをデスクランブルし、スクランブル鍵Ksを取得する(ステップS16)。
以上のステップS10〜S16までの処理によりスクランブル鍵Ksを含む制御情報の取得が完了すると、続いて、この取得したスクランブル鍵Ksが、前回(所定時間t前)に受信したスクランブル鍵Ksと異なるか否かを判定する(ステップS103)。
次に、ECMを受信し、CASカード104に記憶されているワーク鍵Kwを用いてECMをデスクランブルし、スクランブル鍵Ksを取得する(ステップS16)。
以上のステップS10〜S16までの処理によりスクランブル鍵Ksを含む制御情報の取得が完了すると、続いて、この取得したスクランブル鍵Ksが、前回(所定時間t前)に受信したスクランブル鍵Ksと異なるか否かを判定する(ステップS103)。
スクランブル鍵KsのうちEven鍵とOdd鍵のうち1つでも変更されていた場合(ステップS103:YES)、第1のCPU101a上で状態保存手段201bが実行され、変更されていた新しいスクランブル鍵KsがAVデコーダ101dに登録される(ステップS104)。
スクランブル鍵KsのうちEven鍵とOdd鍵のうち1つも変更されていない場合(ステップS103:NO)、再び所定時間t経過後にスクランブル鍵Ksの取得処理を行う(ステップS102)。すなわち、新規のデスクランブル鍵Ksを受信するまでステップS102を繰り返す。
スクランブル鍵KsのうちEven鍵とOdd鍵のうち1つも変更されていない場合(ステップS103:NO)、再び所定時間t経過後にスクランブル鍵Ksの取得処理を行う(ステップS102)。すなわち、新規のデスクランブル鍵Ksを受信するまでステップS102を繰り返す。
この間、第2のCPU101b上で第2のOS300が起動を完了すると(ステップS201)、第1のOS200に対して、第2のOS300の起動完了を通知する(ステップS202)。
第1のOS200が、第2のOS300から起動開始の通知を受けると(S105:YES)、ステップS102で取得した、放送番組のチャンネル情報やネットワークの設定情報(総称して、以下、制御情報と呼ぶ)を状態保存用バッファ領域103aに記憶する(ステップS106)。
第1のOS200が、第2のOS300から起動開始の通知を受けると(S105:YES)、ステップS102で取得した、放送番組のチャンネル情報やネットワークの設定情報(総称して、以下、制御情報と呼ぶ)を状態保存用バッファ領域103aに記憶する(ステップS106)。
状態保存用バッファ領域103aへの制御情報の記憶が完了すると、その旨を第2のOS300に通知して(ステップS107)、第1のOS200を終了する(ステップS108)。
第1のOS200から通知を受け取った第2のOS300は(ステップS203:YES)、第2のOS300上でSMP処理を実行するための準備処理であるSMP化処理を開始する(ステップS204)。
第1のOS200から通知を受け取った第2のOS300は(ステップS203:YES)、第2のOS300上でSMP処理を実行するための準備処理であるSMP化処理を開始する(ステップS204)。
そして、SMP化処理が完了すると、第1のCPU101a上で第2のOS300が起動してSMP動作を開始する(ステップS109)とともに、第2のCPU101b上でも第2のOS300が起動してSMP動作を開始する(ステップS205)。
SMP動作が開始すると、第2の復号制御処理プログラム301の状態読み取り手段301aが実行され、状態保存用バッファ領域103aから制御情報を読み取り(ステップS206)、第1のCPU101aと第2のCPU101bは、分担してAVデコーダ101d等各部を制御する(ステップS207)。
SMP動作が開始すると、第2の復号制御処理プログラム301の状態読み取り手段301aが実行され、状態保存用バッファ領域103aから制御情報を読み取り(ステップS206)、第1のCPU101aと第2のCPU101bは、分担してAVデコーダ101d等各部を制御する(ステップS207)。
ステップS207以降、両CPU101a及び101b上で第2のOS300は、読み取った制御情報に基づいて、AVデコーダ101dに対して、AVデータのデコードの実行を指示するとともに、その他詳述はしないが、ユーザが行う放送番組の選択操作に伴うチャンネル切り替え処理や、デコードしたAVデータの再生時のボリューム増減処理等を実行する。
以上、ステップS100〜S207までの処理を行うことによって、メインOSだが起動が遅い第2のOS300が起動をしている間に、起動の早い第1OS200を単独で起動させてAVデータのデコードに必要な制御情報の取得を先に行わせることができる。
特に、ステップS102〜S104の意義は大きく、新規にスクランブル鍵Ksを受信したタイミングでなければ第2のOS300から起動開始の通知が来てもこれを受付けない。すなわち、例えば、図3に示すA点、B点、C点、D点、E点、又はF点のように、新規にスクランブル鍵Ksを受信したタイミングになったときにはじめてスクランブル鍵Ksを登録する(ステップS104)。こうすることにより、例えば、図3に示すA点〜B点、B点〜C点、C点〜D点、D点〜E点、又はE点〜F点の、所定時間tという時間を最大限に利用して、その後に続く第2のOS300のSMP化処理(ステップS204)を実行し、新規のスクランブル鍵Ksを受信する次のタイミングが来るまでにSMP化処理を完了させることができる。
特に、ステップS102〜S104の意義は大きく、新規にスクランブル鍵Ksを受信したタイミングでなければ第2のOS300から起動開始の通知が来てもこれを受付けない。すなわち、例えば、図3に示すA点、B点、C点、D点、E点、又はF点のように、新規にスクランブル鍵Ksを受信したタイミングになったときにはじめてスクランブル鍵Ksを登録する(ステップS104)。こうすることにより、例えば、図3に示すA点〜B点、B点〜C点、C点〜D点、D点〜E点、又はE点〜F点の、所定時間tという時間を最大限に利用して、その後に続く第2のOS300のSMP化処理(ステップS204)を実行し、新規のスクランブル鍵Ksを受信する次のタイミングが来るまでにSMP化処理を完了させることができる。
理解を助けるために具体的な一例を挙げると、例えば、図3に示すA点〜B点の間のタイミングでスクランブル鍵Ks(Odd鍵Ks−1とEven鍵Ks−0)の取得を行っても(ステップS102)、前回のスクランブル鍵Ksも同様にKs−1とKs−0なので、これは登録せずに無視する。
そして、B点のタイミングに到達すると、スクランブル鍵Ks(Odd鍵Ks−1とEven鍵Ks−2)が取得されるため、前回までのKs−1とKs−0のペアとは異なり、新規のスクランブル鍵Ks受信となる(ステップS103:YES)。
そして、B点のタイミングに到達すると、スクランブル鍵Ks(Odd鍵Ks−1とEven鍵Ks−2)が取得されるため、前回までのKs−1とKs−0のペアとは異なり、新規のスクランブル鍵Ks受信となる(ステップS103:YES)。
このとき、新規のスクランブル鍵Ks(Ks−1とKs−2)をAVデコーダ101dに登録し(ステップS106)、また、第2のOS300からの通知に応答して制御情報を状態保存用バッファ領域103dに記憶する(ステップS106)。
すると、スクランブル鍵Ksを登録して制御情報を記憶したタイミングであるB点〜C点までの所定時間tの間はスクランブル鍵Ksが変わらない(Ks−1とKs−2)ため、この所定時間tの間を最大限に使ってSMP化処理を完了し、第2のOS300がSMP動作を開始すればよい(ステップS109、S205)。
すると、スクランブル鍵Ksを登録して制御情報を記憶したタイミングであるB点〜C点までの所定時間tの間はスクランブル鍵Ksが変わらない(Ks−1とKs−2)ため、この所定時間tの間を最大限に使ってSMP化処理を完了し、第2のOS300がSMP動作を開始すればよい(ステップS109、S205)。
そうすれば、ステップS205の時点でまだスクランブル鍵Ksが変わっていないので、AVデコーダ101dに登録されているスクランブル鍵Ks(Ks−1とKs−2)を遣ってすぐにAVデータのデコードを開始することができる。
(4−2.動作 その2)
続いて、第1のCPU101a及び第2のCPU101b上でのSMP処理を開始してから、その後の動作について、図6を参照しながら説明する。
(4−2.動作 その2)
続いて、第1のCPU101a及び第2のCPU101b上でのSMP処理を開始してから、その後の動作について、図6を参照しながら説明する。
図6に示すように、第1のCPU101a及び第2のCPU101b上で、第2のOS300がSMP処理を実行している(ステップS300)。
その間、第2の復号制御処理プログラム301のパフォーマンス監視手段301bは、両CPU101a及び101bでのAVデコード処理のパフォーマンスが落ちていないかどうかを監視している(ステップS301)。具体的には、予め決めた所定のレベル以上に両CPU101a及び101bの処理速度が下がっていないかを監視すればよい。
その間、第2の復号制御処理プログラム301のパフォーマンス監視手段301bは、両CPU101a及び101bでのAVデコード処理のパフォーマンスが落ちていないかどうかを監視している(ステップS301)。具体的には、予め決めた所定のレベル以上に両CPU101a及び101bの処理速度が下がっていないかを監視すればよい。
もし、パフォーマンスが落ちていると判断した場合(ステップS301:YES)、新規のスクランブル鍵Ks(Odd鍵及びEven鍵)を受信するまで待つ(ステップS302)。
新規のスクランブル鍵Ksを受信すると(ステップS302:YES)、その新規のスクランブル鍵KsをAVデコーダ101dに登録する(ステップS303)とともに、現在使用している制御情報を状態保存用バッファ領域103aに記憶しておく(ステップS304)。
新規のスクランブル鍵Ksを受信すると(ステップS302:YES)、その新規のスクランブル鍵KsをAVデコーダ101dに登録する(ステップS303)とともに、現在使用している制御情報を状態保存用バッファ領域103aに記憶しておく(ステップS304)。
次に、シングルCPU化手段300は、現在第1のCPU101a上に割り当てられているプロセスの割り当てを解除し、第2のCPU101bに再割当を行う(ステップS305)。
また、同時に、現在第1のCPU101a上に割り当てられている外部割込み処理を解除し、第2のCPU101bに再割当を行う(ステップS306)。
また、同時に、現在第1のCPU101a上に割り当てられている外部割込み処理を解除し、第2のCPU101bに再割当を行う(ステップS306)。
プロセスと外部割込みの再割当が完了すると、第2のOS300は第1のCPU101aから自身を切り離す(ステップS307)。
こうすることにより、第2のOS300によるSMP処理を終了し、第1のCPU101aと第2のCPU101bとをそれぞれシングルプロセッサ処理により実行させる。
第1のCPU101a上では、第1のOS200が起動して動作を開始し(ステップS308)、状態読み取り手段301aが状態保存用バッファ領域103aに記憶しておいた制御情報を読み取って(ステップS309)、AVデコーダ101d等各部の制御を開始する(ステップS310)。
こうすることにより、第2のOS300によるSMP処理を終了し、第1のCPU101aと第2のCPU101bとをそれぞれシングルプロセッサ処理により実行させる。
第1のCPU101a上では、第1のOS200が起動して動作を開始し(ステップS308)、状態読み取り手段301aが状態保存用バッファ領域103aに記憶しておいた制御情報を読み取って(ステップS309)、AVデコーダ101d等各部の制御を開始する(ステップS310)。
一方、第2のCPU101b上では、第2のOS300がシングルプロセッサ処理により、ユーザが行う放送番組の選択操作に伴うチャンネル切り換え処理や、デコードしたAVデータの再生時のボリューム増減処理等を実行する(ステップS311)。
ステップS307以降、第1のCPU101aがシングルプロセッサ処理によりAVデコーダ101dを制御してAVデータのデコード処理を実行するとともに、第2のCPU101bがシングルプルセッサ処理によりユーザが行う放送番組の選択操作に伴うチャンネル切り換え処理や、デコードしたAVデータの再生時のボリューム増減処理等を実行する。
ステップS307以降、第1のCPU101aがシングルプロセッサ処理によりAVデコーダ101dを制御してAVデータのデコード処理を実行するとともに、第2のCPU101bがシングルプルセッサ処理によりユーザが行う放送番組の選択操作に伴うチャンネル切り換え処理や、デコードしたAVデータの再生時のボリューム増減処理等を実行する。
以上、ステップS200〜S311までの処理を行うことによって、SMP処理中に、ユーザが行う放送番組の選択操作に伴うチャンネル切り換え処理や、デコードしたAVデータの再生時のボリューム増減処理等によってAVデータのデコードに遅延が発生してパフォーマンスが落ちた場合に、第1のCPU101aと第2のCPU101bとを切り離し、第1のCPU101aはAVデータのデコードを専念して実行することができ、第2のCPU101bはその他の処理を専念して実行することができる。これにより、復号装置100全体としてのパフォーマンスの向上を図ることができる。
特に、ステップS302〜S303の意義は大きく、新規にスクランブル鍵Ksを受信したタイミングでなければパフォーマンスが落ちてもすぐにはSMP処理を終了しない。すなわち、例えば、図3に示すA点、B点、C点、D点、E点、又はF点のように、新規にスクランブル鍵Ksを受信したタイミングになったときにはじめてスクランブル鍵Ksを登録する(ステップS303)。こうすることにより、例えば、図3に示すA点〜B点、B点〜C点、C点〜D点、D点〜E点、又はE点〜F点の、所定時間tという時間を最大限に利用して、その後に続く第2のOS300のシングルプロセッサ化処理(ステップS305〜S307)を実行し、新規のスクランブル鍵Ksを受信する次のタイミングが来るまでにシングルプロセッサ化処理を完了させることができる。
理解を助けるために具体的な一例を挙げると、例えば、ステップS301でパフォーマンスの低下が判断されたとしても、図3に示すA点〜B点の間のタイミングで取得したスクランブル鍵Ks(Odd鍵Ks−1とEven鍵Ks−0)は、前回のスクランブル鍵Ksも同様にKs−1とKs−0なので、これは登録せずに無視する。
そして、B点のタイミングに到達すると、スクランブル鍵Ks(Odd鍵Ks−1とEven鍵Ks−2)が取得されるため、前回までのKs−1とKs−0のペアとは異なり、新規のスクランブル鍵Ks受信となる(ステップS302:YES)。
そして、B点のタイミングに到達すると、スクランブル鍵Ks(Odd鍵Ks−1とEven鍵Ks−2)が取得されるため、前回までのKs−1とKs−0のペアとは異なり、新規のスクランブル鍵Ks受信となる(ステップS302:YES)。
このとき、新規のスクランブル鍵Ks(Ks−1とKs−2)をAVデコーダ101dに登録し(ステップS303)、また、第2のOS300からの通知に応答して制御情報を状態保存用バッファ領域103aに記憶する(ステップS304)。
すると、スクランブル鍵Ksを登録して制御情報を記憶したタイミングであるB点〜C点までの所定時間tの間はスクランブル鍵Ksが変わらない(Ks−1とKs−2)ため、この所定時間tの間を最大限に使ってシングルプロセッサ化処理を完了し、第1のCPU101aと第2のCPU101bとがそれぞれシングルプロセッサ処理を開始すればよい(ステップS305〜S307)。
すると、スクランブル鍵Ksを登録して制御情報を記憶したタイミングであるB点〜C点までの所定時間tの間はスクランブル鍵Ksが変わらない(Ks−1とKs−2)ため、この所定時間tの間を最大限に使ってシングルプロセッサ化処理を完了し、第1のCPU101aと第2のCPU101bとがそれぞれシングルプロセッサ処理を開始すればよい(ステップS305〜S307)。
そうすれば、ステップS308の時点でまだスクランブル鍵Ksが変わっていないので、第1のCPU101aは、AVデコーダ101dに登録されているスクランブル鍵Ks(Ks−1とKs−2)を遣ってすぐにAVデータのデコードを開始することができる。
<実施形態2>
(1.概要)
次に、本発明の実施形態2について説明する。
<実施形態2>
(1.概要)
次に、本発明の実施形態2について説明する。
実施形態1との差異について簡単に説明すると、実施形態1では、第1のOS200上で動く第1の復号制御処理プログラム201と、第2のOS300上で動く第2の復号制御処理プログラム301とを別々に用意していた。これに対し、実施形態2では、第1の復号制御処理プログラム201を第2のOS300上でエミュレート動作させる点で異なっている。
(2.構成)
実施形態2では、図7に示すように、第2のCPU101bにおいて、第2のOS300の上にさらに第3のOS400を起動し、この第3のOS400上で第1の復号制御処理プログラム201を実行する構成になっている。
(2.構成)
実施形態2では、図7に示すように、第2のCPU101bにおいて、第2のOS300の上にさらに第3のOS400を起動し、この第3のOS400上で第1の復号制御処理プログラム201を実行する構成になっている。
第1のOS200及び第2のOS300は、実施形態1のそれと同様なので、ここでは詳細な説明はしない。
実施形態2に係る第1の復号制御処理プログラム201は、パフォーマンス監視手段201dを含む。
パフォーマンス監視手段201dは、第1のCPU101aと第2のCPU101bとがSMP処理を実行中に、両CPUのパフォーマンス、すなわち、実行性能が所定のレベルよりも下回っていないかを監視するためのプログラムである。
(2−1.第3のOS)
第3のOS400は、第2のOS200上で第1のOS100をエミュレートし、第1のOS100上で動くようコードが設計された第1の復号制御処理プログラム201を動かす機能を有する。第1のOS100のエミュレートに特化して設計されているため起動が早く、約1.0秒で起動する。
(3−1.動作 その1)
次に、実施形態2に係る復号装置100がデジタル放送を受信し、ストリームデータの復号を行う動作を、図8を参照しながら説明する。
実施形態2に係る第1の復号制御処理プログラム201は、パフォーマンス監視手段201dを含む。
パフォーマンス監視手段201dは、第1のCPU101aと第2のCPU101bとがSMP処理を実行中に、両CPUのパフォーマンス、すなわち、実行性能が所定のレベルよりも下回っていないかを監視するためのプログラムである。
(2−1.第3のOS)
第3のOS400は、第2のOS200上で第1のOS100をエミュレートし、第1のOS100上で動くようコードが設計された第1の復号制御処理プログラム201を動かす機能を有する。第1のOS100のエミュレートに特化して設計されているため起動が早く、約1.0秒で起動する。
(3−1.動作 その1)
次に、実施形態2に係る復号装置100がデジタル放送を受信し、ストリームデータの復号を行う動作を、図8を参照しながら説明する。
なお、実施形態1に係る復号装置100が実行する処理と同じ処理については、同じ符号を付している。
ユーザが復号装置100の電源を投入すると、図8に示すように、まず、第1のCPU101aにおいてOS起動手段200aが第1のOS200の起動を開始する(ステップS100)とともに、第2のCPU101bにおいてもOS起動手段300aが第2のOS300の起動を開始する(ステップS200)。
ユーザが復号装置100の電源を投入すると、図8に示すように、まず、第1のCPU101aにおいてOS起動手段200aが第1のOS200の起動を開始する(ステップS100)とともに、第2のCPU101bにおいてもOS起動手段300aが第2のOS300の起動を開始する(ステップS200)。
第1のCPU101a上で第1のOS200の起動が約1.0秒で完了すると(ステップS101)、次に、第1の復号制御処理プログラム201の状態判定手段201aが実行され、TSデコーダ101cで分離されたPSIを受信してスクランブル鍵Ksの取得を開始する(ステップS102)。
ステップS102で実行するスクランブル鍵Ksの取得処理の詳細は、図5に示した通りである。
ステップS102で実行するスクランブル鍵Ksの取得処理の詳細は、図5に示した通りである。
スクランブル鍵Ksを含む制御情報の取得が完了すると、続いて、この取得したスクランブル鍵Ksが、前回(初手時間t前)に受信したスクランブル鍵Ksと異なるか否かを判定する(ステップS103)。
スクランブル鍵KsのうちEven鍵とOdd鍵のうち1つでも変更されていた場合(ステップS103:YES)、第1のCPU101a上で状態保存手段201bが実行され、変更されていた新しいスクランブル鍵KsをAVデコーダ101dに登録される(ステップS104)。
スクランブル鍵KsのうちEven鍵とOdd鍵のうち1つでも変更されていた場合(ステップS103:YES)、第1のCPU101a上で状態保存手段201bが実行され、変更されていた新しいスクランブル鍵KsをAVデコーダ101dに登録される(ステップS104)。
スクランブル鍵KsのうちEven鍵とOdd鍵のうち1つも変更されていない場合(ステップS103:NO)、再び所定時間t経過後にスクランブル鍵Ksの取得処理を行う(ステップS102)。
この間、第2のCPU101b上で第2のOS300が起動を完了すると(ステップS201)、第1のOS200に対して、第2のOS300の起動完了を通知する(ステップS202)。
この間、第2のCPU101b上で第2のOS300が起動を完了すると(ステップS201)、第1のOS200に対して、第2のOS300の起動完了を通知する(ステップS202)。
第1のOS200が、第2のOS300から起動開始の通知を受けると(ステップS105:YES)、ステップS102で取得した管理情報を状態保存用バッファ領域103aに記憶する(ステップS106)。
状態保存用バッファ領域103aへの制御情報の記憶が完了すると、その旨を第2のOS300に通知して(ステップS107)、第1のOS200を終了する(ステップS108)。
状態保存用バッファ領域103aへの制御情報の記憶が完了すると、その旨を第2のOS300に通知して(ステップS107)、第1のOS200を終了する(ステップS108)。
第1のOS200から通知を受け取った第2のOS300は(ステップS203:YES)、第2のOS300上でSMP処理を実行するための準備処理であるSMP化処理を開始する(ステップS208)。ここでのSMP化処理は、実施形態1で示したステップS205のSMP化処理と異なり、第2のOS300上で第1の復号制御処理プログラム201を動かすための第3のOS400を起動する処理を含む。
そして、SMP化処理が完了すると、両CPU101a及び101bそれぞれの上で第2のOS300が起動し、かつその上で第3のOS400が起動してSMP動作を開始する(ステップS210)。
SMP動作が開始すると、第1の復号制御処理プログラム201の読み取り手段201cが実行され、状態保存用バッファ領域103aから制御情報を読み取り(ステップS211)、第1のCPU101aと第2のCPU101bは、分担してAVデコーダ101d等各部を制御する(ステップS212)。
SMP動作が開始すると、第1の復号制御処理プログラム201の読み取り手段201cが実行され、状態保存用バッファ領域103aから制御情報を読み取り(ステップS211)、第1のCPU101aと第2のCPU101bは、分担してAVデコーダ101d等各部を制御する(ステップS212)。
ステップS211以降、両CPU101a及び101b上で第2のOS300は、読み取った制御情報に基づいて、AVデコーダ101dに対して、AVデータのデコードの実行を指示するとともに、その他詳述はしないが、ユーザが行う放送番組の選択操作に伴うチャンネル切り替え処理や、デコードしたAVデータの再生時のボリューム増減処理等を実行する。
このように、第1のOS200をエミュレートする第3のOS400を、第2のOS300上で動かしてSMP処理を行うことで、第1のOS200上で動く第1の復号制御処理プログラム201をSMP処理にも共用させることができる。これにより、復号装置100に記憶しておくプログラムを削減することができる。
(3−2.動作 その2)
また、実施形態2においても、実施形態1と同様に、第1のCPU101a及び第2のCPU101b上でのSMP処理を実行している間、両CPU101a及び101bでのAVデコード処理のパフォーマンスが落ちていないかどうかを監視する。
(3−2.動作 その2)
また、実施形態2においても、実施形態1と同様に、第1のCPU101a及び第2のCPU101b上でのSMP処理を実行している間、両CPU101a及び101bでのAVデコード処理のパフォーマンスが落ちていないかどうかを監視する。
実施形態2においては、第1の復号制御処理プログラム201のパフォーマンス監視手段201dが、予め決めた所定のレベル以上に両CPU101a及び101bの処理速度が下がっていないかを監視し、もし下がっていると判断した場合、シングルCPU化手段300がシングルプロセッサ処理に移行するための処理を実行する。
この際、パフォーマンスが落ちたと判定されてから、新規のスクランブル鍵Ks(Odd鍵及びEven鍵)を受信するまで待ち、新規のスクランブル鍵Ksを受信後、その新規のスクランブル鍵KsをAVデータ101dに登録するとともに、現在使用している制御情報の状態保存用バッファ領域103aを記憶しておく。
この際、パフォーマンスが落ちたと判定されてから、新規のスクランブル鍵Ks(Odd鍵及びEven鍵)を受信するまで待ち、新規のスクランブル鍵Ksを受信後、その新規のスクランブル鍵KsをAVデータ101dに登録するとともに、現在使用している制御情報の状態保存用バッファ領域103aを記憶しておく。
そうしておいてから、シングルCPU化手段300は、現在第1のCPU101a上に割り当てられているプロセスの割り当てを解除して第2のCPU101bに再割当を行うとともに、現在第1のCPU101a上に割り当てられている外部割込み処理を解除して第2のCPU101bに再割当を行う。
プロセスと外部割込みの再割当が完了すると、第2のOS300は第1のCPU101aから自身を切り離す。
プロセスと外部割込みの再割当が完了すると、第2のOS300は第1のCPU101aから自身を切り離す。
こうすることにより、第2のOS300によるSMP処理を終了し、第1のCPU101aと第2のCPU101bとをそれぞれシングルプロセッサ処理により実行させる。
<変形例>
以上、本発明に係る復号装置を実施形態1及び2に基づいて説明してきたが、これら実施形態の構成又は動作には、種々の変形を加えることが可能である。
<変形例>
以上、本発明に係る復号装置を実施形態1及び2に基づいて説明してきたが、これら実施形態の構成又は動作には、種々の変形を加えることが可能である。
例えば、実施形態1において、第1のOS200の起動時間を約1.0秒、第2のOS300の起動時間を約5.0秒としたが、これは単なる例示に過ぎず、これに限定されない。第1のOS200と第2のOS300それぞれの起動時間はどちらが短くても良い。
同様に、実施形態2において、第3のOS400の起動時間を約1.0秒としたが、これは単なる例示に過ぎず、これに限定されない。
<補足>
第1の復号制御処理プログラム201及び第2の復号制御処理プログラム301は、コンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
同様に、実施形態2において、第3のOS400の起動時間を約1.0秒としたが、これは単なる例示に過ぎず、これに限定されない。
<補足>
第1の復号制御処理プログラム201及び第2の復号制御処理プログラム301は、コンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
両プログラム201及び301は、コンピュータプログラム又はデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM(Compact Disc - Read Only Memory)、MO(Magneto Optical disk)、DVD(Digital Versatile Disk)、DVD−ROM(Digital Versatile Disk - Read Only Memory)、DVD−RAM(Digital Versatile Disk - Random Access Memory)、BD(Blu-ray Disc)、半導体メモリなど、に記録されて提供されてもよい。
また、両プログラム201及び301は、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して提供されてもよい。
本発明に係る復号装置は、MPEG2−TS方式で符号化されたデジタル放送のデータの受信装置など、暗号化された符号化データを復号する復号装置に広く適用可能であり、起動してから復号処理を開始するまでを高速化することのできる点で有用な技術である。
100 復号装置
101 LSI
101a 第1のCPU
101b 第2のCPU
101c TSデコーダ
101d AVデコーダ
102 チューナ
103 メモリ
104 CASカード
105 ディスプレイ
101 LSI
101a 第1のCPU
101b 第2のCPU
101c TSデコーダ
101d AVデコーダ
102 チューナ
103 メモリ
104 CASカード
105 ディスプレイ
Claims (10)
- 所定周期で更新される鍵データを用いて逐次暗号化されて送信されるストリームデータ及び当該鍵データを、逐次受信して当該ストリームデータを復号する復号装置であって、
送信されるストリームデータ及び鍵データを逐次受信する受信部と、
メモリを共用する第1プロセッサ及び第2プロセッサを含む制御部とを備え、
前記制御部は、
前記第1プロセッサに第1OSを実行させ、当該第1OS上において、受信した鍵データを用いたストリームデータの暗号化を解くための制御を行う第1復号制御処理プログラムを実行させ、並行して、前記第2プロセッサに、複数のプロセッサ上での分散実行が可能な第2OSについての当該分散実行の準備処理を実行させ、
前記第1プロセッサが、受信した一の鍵データを用いたストリームデータの暗号化を解くための制御を行った第1時点から、前記所定周期間隔より短い所定時間内に、
前記第1プロセッサに、前記第1OSに代えて前記第2OSの分散実行処理を開始させ、並行して、前記第2プロセッサにも前記第2OSの分散実行処理を開始させ、当該第2OS上において、前記ストリームデータを復号するための第2復号制御処理プログラムを開始するよう制御する
ことを特徴とする復号装置。 - 前記制御部は、電力が供給されて起動した時を起点として各処理を実行し、
前記第2プロセッサに実行させる前記分散実行の準備処理は、前記第2OSを単一プロセッサ上で動作する形態で起動する処理を含み、
前記第1プロセッサに実行させる前記第2OSの分散実行処理は、前記第1OSを終了する処理を含み、
前記第2プロセッサに実行させる前記第2OSの分散実行処理は、当該第2OSを複数プロセッサ上で動作する形態に変える処理を含む
ことを特徴とする請求項1記載の復号装置。 - 前記受信部は、前記鍵データを所定のタイミングで定期的に受信し、
前記制御部は、前記鍵データが前記鍵データの更新を検出し、
前記第1時点は、前記制御部が前記鍵データの更新を検出した時から次の1回目のタイミングで前記受信部が鍵データを受信した時点である
ことを特徴とする請求項1記載の復号装置。 - 前記復号装置は、記憶部を有していて前記ストリームデータの復号を行う復号部を備え、
前記第1復号制御処理プログラムは、受信した鍵データを前記記憶部に記録する処理を含み、
前記第2復号制御処理プログラムは、前記記憶部に記録された鍵データを用いて前記ストリームデータの復号を行うよう、前記復号部を制御する処理を含む
ことを特徴とする請求項1記載の復号装置。 - 前記ストリームデータは、複数の放送番組のエレメンタリーストリームを含んで構成されるデジタル放送用のストリームデータであって、それぞれの放送番組を特定するチャンネルを示すチャンネル情報を複数含んで送信され、
前記復号装置は、さらに前記複数の放送番組の中から所望の放送番組を選択する操作をユーザから受付ける操作部を備え、
前記第1復号制御処理プログラムは、前記ユーザの選択操作に応じて、受信したチャンネル情報の中から、選択された放送番組のチャンネルを示すチャンネル情報を前記記憶部に記録する処理を含み、
前記第2復号制御処理プログラムは、前記記憶部に記録されたチャンネル情報を使用して前記ストリームデータの復号を行うよう、前記復号部を制御する処理を含む
ことを特徴とする請求項4記載の復号装置。 - 前記第1復号制御処理プログラムと前記第2復号制御処理プログラムは、ともに単一のプログラムであり、
前記第1復号制御処理プログラムは、前記一のプログラムが前記第1OSの管理下で前記メモリにロードされて実行され、
前記第2復号制御処理プログラムは、前記一のプログラムが前記第2OSの管理下で前記メモリにロードされて実行され、
前記制御部は、前記第2OS上で前記第2復号制御処理プログラムを実行開始する際、前記第1OSをエミュレートするゲストOSとしての第3OSを前記第2OS上で起動して、当該第3OS上で前記第2復号制御処理プログラムを実行開始するよう制御する
ことを特徴とする請求項1記載の復号装置。 - 前記第1復号制御処理プログラムは、受信した鍵データを前記メモリに記録する処理を含み、
前記第2復号制御処理プログラムは、前記メモリに記録された鍵データを使用して、前記ストリームデータを復号する処理を含む
ことを特徴とする請求項1記載の復号装置。 - 前記ストリームデータは、複数の放送番組のエレメンタリーストリームを含んで構成されるデジタル放送用のストリームデータであって、それぞれの放送番組を特定するチャンネルを示すチャンネル情報を複数含んで送信され、
前記復号装置は、さらに前記複数の放送番組の中から所望の放送番組を選択する操作をユーザから受付ける操作部を備え、
前記第1復号制御処理プログラムは、前記ユーザの選択操作に応じて、受信したチャンネル情報の中から、選択された放送番組のチャンネルを示すチャンネル情報を前記メモリに記録する処理を含み、
前記第2復号制御処理プログラムは、前記メモリに記録されたチャンネル情報を使用して前記ストリームデータの復号を行う処理を含む
ことを特徴とする請求項7記載の復号装置。 - 前記第2OSは、単一プロセッサ上で動作する態様と、複数プロセッサ上で動作する態様を持ち、
前記制御部は、
前記第2OS上で前記第2復号制御処理プログラムを実行開始した後、前記第2OS上で動作する他のプログラムの影響によって前記第2復号制御処理プログラムの実行性能が所定のレベルよりも低下した場合、
前記第1プロセッサに、前記第1OSを起動し、前記第2OSに代えて当該第1OS上において前記第1復号制御処理プログラムを実行させ、並列して、前記第2プロセッサに、前記第2復号制御処理プログラムを終了させるとともに前記第2OSを単一プロセッサ上で動作する態様に変えて、前記他のプログラムを実行開始するよう制御する
ことを特徴とする請求項1記載の復号装置。 - 所定周期で更新される鍵データを用いて逐次暗号化されて送信されるストリームデータ及び当該鍵データを外部から入力して、当該ストリームデータを復号する集積回路であって、
送信されるストリームデータ及び鍵データを外部から逐次入力する入力部と、
外部のメモリを共用する第1プロセッサ及び第2プロセッサを含む制御部とを備え、
前記制御部は、
前記第1プロセッサに第1OSを実行させ、当該第1OS上において、入力した鍵データを用いたストリームデータの暗号化を解くための制御を行う第1復号制御処理プログラムを実行させ、並行して、前記第2プロセッサに、複数のプロセッサ上での分散実行が可能な第2OSについての当該分散実行の準備処理を実行させ、
前記第1プロセッサが、受信した一の鍵データを用いたストリームデータの暗号化を解くための制御を行った第1時点から、その後に鍵データが更新される第2時点までより短い所定時間内に、
前記第1プロセッサに、前記第1OSに代えて前記第2OSの分散実行処理を開始させ、並行して、前記第2プロセッサにも前記第2OSの分散実行処理を開始させ、かつ当該第2OS上において、前記ストリームデータを復号するための第2復号制御処理プログラムを開始するよう制御する
ことを特徴とする集積回路。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006038470A JP2007221370A (ja) | 2006-02-15 | 2006-02-15 | 復号装置、及び集積回路 |
| CNA200710079805XA CN101022534A (zh) | 2006-02-15 | 2007-02-14 | 解码装置和集成电路 |
| EP07250600A EP1821539A3 (en) | 2006-02-15 | 2007-02-14 | Decoding apparatus and integrated circuit |
| US11/706,257 US20070214367A1 (en) | 2006-02-15 | 2007-02-15 | Decoding apparatus and integrated circuit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006038470A JP2007221370A (ja) | 2006-02-15 | 2006-02-15 | 復号装置、及び集積回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2007221370A true JP2007221370A (ja) | 2007-08-30 |
Family
ID=38043052
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006038470A Withdrawn JP2007221370A (ja) | 2006-02-15 | 2006-02-15 | 復号装置、及び集積回路 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20070214367A1 (ja) |
| EP (1) | EP1821539A3 (ja) |
| JP (1) | JP2007221370A (ja) |
| CN (1) | CN101022534A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012146052A (ja) * | 2011-01-11 | 2012-08-02 | Nikon Corp | 電子機器、電子カメラ |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101542968B (zh) * | 2007-08-28 | 2012-12-26 | 松下电器产业株式会社 | 密钥终端装置、加密处理用lsi、固有密钥生成方法和内容系统 |
| EP2290985B1 (en) * | 2008-06-10 | 2017-05-03 | Panasonic Intellectual Property Management Co., Ltd. | Image decoding apparatus and image coding apparatus |
| CN101710986B (zh) * | 2009-11-18 | 2012-05-23 | 中兴通讯股份有限公司 | 基于同构多核处理器的h.264并行解码方法和系统 |
| CN102810071B (zh) * | 2011-05-30 | 2015-01-28 | 联想(北京)有限公司 | 控制方法、控制装置以及计算机 |
| CN102819457A (zh) * | 2011-06-10 | 2012-12-12 | 扬智科技股份有限公司 | 用来于开机期间播放多媒体文件的方法与装置 |
| CN103294970B (zh) * | 2012-02-23 | 2015-12-09 | 纬创资通股份有限公司 | 双操作系统共用加密设定的方法以及电子装置 |
| US9934047B2 (en) * | 2014-03-20 | 2018-04-03 | Intel Corporation | Techniques for switching between operating systems |
| JP6903275B2 (ja) * | 2017-09-14 | 2021-07-14 | オムロン株式会社 | 制御装置および制御方法 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6763458B1 (en) * | 1999-09-27 | 2004-07-13 | Captaris, Inc. | System and method for installing and servicing an operating system in a computer or information appliance |
| US7890741B2 (en) * | 2000-12-01 | 2011-02-15 | O2Micro International Limited | Low power digital audio decoding/playing system for computing devices |
| KR100752482B1 (ko) * | 2001-07-07 | 2007-08-28 | 엘지전자 주식회사 | 멀티채널 스트림 기록 재생장치 및 방법 |
| US7392399B2 (en) * | 2003-05-05 | 2008-06-24 | Sun Microsystems, Inc. | Methods and systems for efficiently integrating a cryptographic co-processor |
| JP2005011336A (ja) * | 2003-05-29 | 2005-01-13 | Matsushita Electric Ind Co Ltd | オペレーティングシステム切り替え可能な情報処理装置 |
| GB2406403B (en) * | 2003-09-26 | 2006-06-07 | Advanced Risc Mach Ltd | Data processing apparatus and method for merging secure and non-secure data into an output data stream |
| US20050160474A1 (en) * | 2004-01-15 | 2005-07-21 | Fujitsu Limited | Information processing device and program |
| JP2005217908A (ja) * | 2004-01-30 | 2005-08-11 | Toshiba Corp | 情報処理装置および同装置におけるコンテンツの表示方法 |
| TWI258696B (en) * | 2004-05-04 | 2006-07-21 | Intervideo Digital Technology | Computer system capable of rendering encrypted multimedia and method thereof |
| US8619971B2 (en) * | 2005-04-01 | 2013-12-31 | Microsoft Corporation | Local secure service partitions for operating system security |
-
2006
- 2006-02-15 JP JP2006038470A patent/JP2007221370A/ja not_active Withdrawn
-
2007
- 2007-02-14 EP EP07250600A patent/EP1821539A3/en not_active Withdrawn
- 2007-02-14 CN CNA200710079805XA patent/CN101022534A/zh active Pending
- 2007-02-15 US US11/706,257 patent/US20070214367A1/en not_active Abandoned
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012146052A (ja) * | 2011-01-11 | 2012-08-02 | Nikon Corp | 電子機器、電子カメラ |
Also Published As
| Publication number | Publication date |
|---|---|
| US20070214367A1 (en) | 2007-09-13 |
| EP1821539A3 (en) | 2009-08-05 |
| EP1821539A2 (en) | 2007-08-22 |
| CN101022534A (zh) | 2007-08-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN100479521C (zh) | 广播接收装置 | |
| EP1821539A2 (en) | Decoding apparatus and integrated circuit | |
| JP5539093B2 (ja) | デジタル放送受信装置およびソフトウェアの起動方法 | |
| JP4243571B2 (ja) | 放送受信装置 | |
| EP2085970A1 (en) | Information recording device, information reproducing device, program and recording medium | |
| US20070240184A1 (en) | Digital Broadcasting Receiving Apparatus and Control Method Therefor | |
| KR20160039922A (ko) | 영상처리장치 및 그 제어방법 | |
| JP2008066764A (ja) | 放送記録装置 | |
| JP2003008568A (ja) | 受信装置、受信方法及び受信プログラム並びに受信プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
| JP4311407B2 (ja) | デジタル放送受信装置およびデジタル放送再生方法 | |
| JP2014045422A (ja) | デジタル放送受信機、放送サービス提示方法、および、プログラム | |
| JP2005080142A (ja) | スクランブル解除装置 | |
| JP5219688B2 (ja) | 放送受信装置、及びその制御方法 | |
| JP6374054B2 (ja) | 放送信号受信装置、テレビジョン受像機、制御プログラム、記録媒体、および放送信号受信方法 | |
| JP2006262090A (ja) | デジタル放送受信装置 | |
| JP5159455B2 (ja) | 放送受信装置及び方法 | |
| WO2018218897A1 (zh) | 一种视频处理方法及设备 | |
| JP6251834B2 (ja) | 放送信号受信装置、放送信号受信方法、テレビジョン受像機、制御プログラム、および記録媒体 | |
| JP6443234B2 (ja) | 放送受信装置および放送受信方法 | |
| JP4250150B2 (ja) | デジタル映像信号記録再生装置、デジタル映像信号記録再生プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
| JP6341810B2 (ja) | 放送信号送受信システムおよび放送信号送受信方法 | |
| JP2014045414A (ja) | 放送受信装置、携帯端末装置、放送受信方法およびプログラム | |
| JP2010074536A (ja) | 放送受信装置、その制御方法及びプログラム | |
| JP2010199879A (ja) | デジタル放送録画再生装置およびその制御方法、プログラム | |
| JP2011223603A (ja) | 信号処理装置及び信号処理方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081217 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090803 |