(57)【特許請求の範囲】
【請求項１】
第１の機能に対応する第１のプログラムを実行する第１のマイクロコンピュータと第２の機能に対応する第２のプログラムを実行する第２のマイクロコンピュータとを有する放送データ受信装置において、
放送データとして送信された第１の更新プログラムと第２の更新プログラムとを取得する取得部と、
上記第１の更新プログラムと上記第２の更新プログラムを格納する、上記第１のマイクロコンピュータにより制御される第１の格納部と
を有し、
上記第１ないし第２のマイクロコンピュータは、上記第１の格納部に上記第１ないし第２の更新プログラムが格納されている場合には、上記第１の格納部に格納されている上記第１ないし第２の更新プログラムを、新たな上記第１ないし第２のプログラムとして実行し、
上記第２のプログラムは上記第１のプログラムと異なるプログラムである
ことを特徴とする放送データ受信装置。
【請求項２】
上記第１あるいは第２の更新プログラムは、上記第１あるいは第２のプログラムのより新しいバージョンのプログラムである
請求項１に記載の放送データ受信装置。
【請求項３】
上記第１の機能は、装置全体の動作を制御する機能である
請求項１に記載の放送データ受信装置。
【請求項４】
上記第２の機能は、デジタルデータ処理を制御する機能である
請求項１に記載の放送データ受信装置。
【請求項５】
上記第２のマイクロコンピュータは、起動時に、上記第１のマイクロコンピュータによって上記第１の格納部から読み出され、転送されてきた上記第２のプログラムを第２の格納部に展開して実行する
請求項１に記載の放送データ受信装置。
【請求項６】
上記第１ないし第２の更新プログラムは、繰り返し送信されているプログラムである
請求項１に記載の放送データ受信装置。
【請求項７】
上記第１のマイクロコンピュータは、起動時に、上記第１の格納部から読み出した上記第１のプログラムを第３の格納部に展開して実行する
請求項１に記載の放送データ受信装置。
【請求項８】
第１の機能に対応する第１のプログラムを実行する第１のマイクロコンピュータと第２の機能に対応する第２のプログラムを実行する第２のマイクロコンピュータとを有し、
放送データとして送信された第１の更新プログラムと第２の更新プログラムとを取得する取得部と、
上記第１の更新プログラムと上記第２の更新プログラムを格納する、上記第１のマイクロコンピュータにより制御される第１の格納部と
を有する放送データ受信装置の放送データ受信方法において、
上記第１ないし第２のマイクロコンピュータは、上記第１の格納部に上記第１ないし第２の更新プログラムが格納されている場合には、上記第１の格納部に格納されている上記第１ないし第２の更新プログラムを、新たな上記第１ないし第２のプログラムとして実行し、
上記第２のプログラムは上記第１のプログラムと異なるプログラムである
ことを特徴とする放送データ受信方法。
【請求項９】
上記第１あるいは第２の更新プログラムは、上記第１あるいは第２のプログラムのより新しいバージョンのプログラムである
請求項８に記載の放送データ受信方法。
【請求項１０】
上記第１の機能は、装置全体の動作を制御する機能である
請求項８に記載の放送データ受信方法。
【請求項１１】
上記第２の機能は、デジタルデータ処理を制御する機能である
請求項８に記載の放送データ受信方法。
【請求項１２】
上記第２のマイクロコンピュータは、起動時に、上記第１のマイクロコンピュータによって上記第１の格納部から読み出され、転送されてきた上記第２のプログラムを第２の格納部に展開して実行する
請求項８に記載の放送データ受信方法。
【請求項１３】
上記第１ないし第２の更新プログラムは、繰り返し送信されているプログラムである
請求項８に記載の放送データ受信方法。
【請求項１４】
上記第１のマイクロコンピュータは、起動時に、上記第１の格納部から読み出した上記第１のプログラムを第３の格納部に展開して実行する
請求項８に記載の放送データ受信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、放送データ受信装置および方法に関し、特に、各部の機能を容易に追加、または変更できるようにする放送データ受信装置および方法に関する。
【０００２】
【従来の技術】
近年、音声信号や画像信号をディジタル化し、衛星(BS(Broadcasting Satellite))を介して放送するディジタル放送が開始されている。このディジタル放送においては、伝送する信号をディジタル化し、それらの信号を多重化することにより、画像信号や音声信号のみならず、各種のデータの伝送も可能である。
【０００３】
ところで、この分野においては、どのようなサービスを提供できるのかについての模索が続いており、今後、新しい形態のサービスが開始される可能性が高い。従って、新たなサービスが開始され、そのサービスを受けるための新たな機能を追加する場合、放送受信装置のプログラムに追加、または変更を加える必要がある。
【０００４】
そこで、このような追加等を行うために、ディジタル放送波を介して、新たなプログラムをダウンロードし、既にあるプログラムをバージョンアップすることが各種提案されている。
【０００５】
ディジタル放送波を介してプログラムをバージョンアップする場合、放送受信装置においては、受信したディジタル放送波からトランスポートストリームが取得され、トランスポートストリームを構成する個々のパケットのパケットIDにより識別されて、バージョンアップするためのプログラムが抽出される。そして抽出されたプログラムが、所定のマイクロコンピュータの記憶部に書き込まれる。
【０００６】
また、抽出したプログラムでバージョンアップを行う際、同様の機能を有するプログラムを記憶部に複数用意しておき、何らかの原因により書き込みが失敗した場合であっても、書き込みを行っていない、正常に動作するプログラムを利用して通常の処理を実行できるようなリカバリー方法も各種提案されている。
【０００７】
【発明が解決しようとする課題】
しかしながら、上述したように、所定のパケットを抽出するデマルチプレクサを制御するマイクロコンピュータなどのように、１つのマイクロコンピュータのプログラムをバージョンアップさせる場合であれば、その処理を容易に実行させることができるものの、複数のマイクロコンピュータのそれぞれのプログラムを同時にバージョンアップさせる場合、その処理が非常に複雑になるという課題があった。
【０００８】
また、複数のマイクロコンピュータのプログラムを書き換えている最中に、利用者によりいずれかの操作がされ、書き換えが中断された場合、あるマイクロコンピュータのプログラムはバージョンアップされ、他のマイクロコンピュータのプログラムは古いバージョンのままの状態となってしまうおそれがある。
【０００９】
マイクロコンピュータが自分自身のプログラムに基づいて、それぞれ単独で各種の処理を実行するのであれば、何等支障はないものの、複数のマイクロコンピュータが協働して処理を実行する場合、それぞれのプログラムのバージョンが異なることにより、映像を表示できないなど、各種の支障が生ずるという課題があった。
【００１０】
本発明は、このような状況に鑑みてなされたものであり、放送受信装置内に設けられる複数のマイクロコンピュータのそれぞれの機能を、容易に変更、または追加できるようにしたものである。
【００１１】
【課題を解決するための手段】
本発明の放送データ受信装置は、第１の機能に対応する第１のプログラムを実行する第１のマイクロコンピュータと第２の機能に対応する第２のプログラムを実行する第２のマイクロコンピュータとを有する放送データ受信装置において、放送データとして送信された第１の更新プログラムと第２の更新プログラムとを取得する取得部と、上記第１の更新プログラムと上記第２の更新プログラムを格納する、上記第１のマイクロコンピュータにより制御される第１の格納部とを有し、上記第１ないし第２のマイクロコンピュータは、上記第１の格納部に上記第１ないし第２の更新プログラムが格納されている場合には、上記第１の格納部に格納されている上記第１ないし第２の更新プログラムを、新たな上記第１ないし第２のプログラムとして実行し、上記第２のプログラムは上記第１のプログラムと異なるプログラムであることを特徴とする。
【００１２】
上記第１あるいは第２の更新プログラムは、上記第１あるいは第２のプログラムのより新しいバージョンのプログラムであるようにすることができる。
【００１３】
上記第１の機能は、装置全体の動作を制御する機能であるようにすることができる。
【００１４】
上記第２の機能は、デジタルデータ処理を制御する機能であるようにすることができる。
上記第２のマイクロコンピュータは、起動時に、上記第１のマイクロコンピュータによって上記第１の格納部から読み出され、転送されてきた上記第２のプログラムを第２の格納部に展開して実行することができる。
上記第１ないし第２の更新プログラムは、繰り返し送信されているプログラムであるようにすることができる。
上記第１のマイクロコンピュータは、起動時に、上記第１の格納部から読み出した上記第１のプログラムを第３の格納部に展開して実行することができる。
【００１５】
本発明の放送データ受信方法は、第１の機能に対応する第１のプログラムを実行する第１のマイクロコンピュータと第２の機能に対応する第２のプログラムを実行する第２のマイクロコンピュータとを有し、放送データとして送信された第１の更新プログラムと第２の更新プログラムとを取得する取得部と、上記第１の更新プログラムと上記第２の更新プログラムを格納する、上記第１のマイクロコンピュータにより制御される第１の格納部とを有する放送データ受信装置の放送データ受信方法において、上記第１ないし第２のマイクロコンピュータは、上記第１の格納部に上記第１ないし第２の更新プログラムが格納されている場合には、上記第１の格納部に格納されている上記第１ないし第２の更新プログラムを、新たな上記第１ないし第２のプログラムとして実行し、上記第２のプログラムは上記第１のプログラムと異なるプログラムであることを特徴とする。
上記第１あるいは第２の更新プログラムは、上記第１あるいは第２のプログラムのより新しいバージョンのプログラムであるようにすることができる。
上記第１の機能は、装置全体の動作を制御する機能であるようにすることができる。
上記第２の機能は、デジタルデータ処理を制御する機能であるようにすることができる。
上記第２のマイクロコンピュータは、起動時に、上記第１のマイクロコンピュータによって上記第１の格納部から読み出され、転送されてきた上記第２のプログラムを第２の格納部に展開して実行することができる。
上記第１ないし第２の更新プログラムは、繰り返し送信されているプログラムであるようにすることができる。
上記第１のマイクロコンピュータは、起動時に、上記第１の格納部から読み出した上記第１のプログラムを第３の格納部に展開して実行することができる。
【００１６】
本発明の放送データ受信装置および方法においては、第１ないし第２のマイクロコンピュータにより、第１の格納部に第１ないし第２の更新プログラムが格納されている場合には、上記第１の格納部に格納されている上記第１ないし第２の更新プログラムが、新たな第１ないし第２のプログラムとして実行される。
【００１７】
【発明の実施の形態】
図１は、本発明を適用したテレビジョン受像機の構成例を示すブロック図である。
【００１８】
図示せぬアンテナにおいて受信されたディジタル放送波の受信信号は、ディジタルチューナ１に供給され、所定の信号が選局された後、復調処理、およびエラー訂正処理等が施され、トランスポートストリーム（TS）としてデマルチプレクサ２に供給される。
【００１９】
デマルチプレクサ２は、ディジタルチューナ１から供給されてきたトランスポートストリームを構成するトランスポートパケットのヘッダに記述されているPID（パケットID）により、それぞれのパケットに格納されているデータを識別する。
【００２０】
デマルチプレクサ２は、マイクロコンピュータ５からの指示に基づいて、例えば、PES(Packetized Elementary Stream)、またはES(Elementary Stream)のビデオデータをビデオデコーダ３に出力し、オーディオデータをオーディオデコーダ４に出力する。
【００２１】
また、デマルチプレクサ２は、マイクロコンピュータ５、およびマイクロコンピュータ８のプログラムをそれぞれバージョンアップさせる（機能を拡張させる）バージョンアッププログラム４１を取得したとき、それをマイクロコンピュータ５に供給する。
【００２２】
ビデオデコーダ３は、デマルチプレクサ２からビデオデータが供給されてきたとき、例えば、そのデータをMPEG(Moving Picture Experts Group)２フォーマットで伸長し、ディジタルアナログ変換等を行うことにより得られた映像信号をCRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などの表示部に表示させる。一方、オーディオデコーダ４は、デマルチプレクサ２からオーディオデータが供給されてきたとき、そのデータを伸長し、得られた音声信号をスピーカに出力させる。
【００２３】
マイクロコンピュータ５は、不揮発性のメモリであるフラッシュメモリ７の固定プログラム領域２１に記憶されているブートプログラムにより起動する。そして、マイクロコンピュータ５は、フラッシュメモリ７の可変プログラム領域２２、および可変プログラム領域２３に記憶されているプログラムのうち、より新しいバージョンのプログラムを読み出し、それをSDRAM(Synchronous Dynamic Random Access Memory)６に展開して各種の処理を実行する。
【００２４】
後に詳述するように、可変プログラム領域２２、および可変プログラム領域２３には、それぞれ、マイクロコンピュータ８により利用されるプログラムも格納されており、そのプログラムは、マイクロコンピュータ５により読み出され、マイクロコンピュータ８に転送される。
【００２５】
マイクロコンピュータ５は、SDRAM６に展開したマイクロコンピュータ５用のプログラムに基づいて、例えば、デマルチプレクサ２によるパケットの抽出、或いは、マイクロコンピュータ８に対するプログラムの転送などの、テレビジョン受像機の全体の動作を制御する（以下、適宜、マイクロコンピュータ５をメインマイコン５として説明し、マイクロコンピュータ８をサブマイコン８として説明する）。
【００２６】
また、メインマイコン５（マイクロコンピュータ５）は、デマルチプレクサ２からバージョンアッププログラム４１が供給されてきたとき、バージョンアッププログラム４１を、可変プログラム領域２２と可変プログラム領域２３のうち、より古いバージョンのプログラムが記憶されている領域に書き込む。図１において、「PM４１Ａ」はメインマイコン用プログラムをバージョンアップさせるバージョンアッププログラムを表わしており、「PS４１Ｂ」はサブマイコン用プログラムをバージョンアップさせるバージョンアッププログラムを表わしている。
【００２７】
図１の例においては、可変プログラム領域２３に記憶されているプログラムよりも、可変プログラム領域２２に記憶されているプログラムの方が、より新しいバージョンのプログラムとされており、メインマイコン５は、ブートプログラムにより起動したとき、可変プログラム領域２２から読み出したプログラムのうち、メインマイコン用プログラム２２Ａ（PM２２Ａ）をSDRAM６に展開し、起動するとともに、サブマイコン用プログラム２２Ｂ（PS２２Ｂ）をサブマイコン８に転送する。
【００２８】
また、図１の例においては、バージョンアッププログラム４１が供給されてきたとき、メインマイコン５は、より古いバージョンのプログラムが記憶されている可変プログラム領域２３に、そのバージョンアッププログラム４１を記憶させている。
【００２９】
図２は、メインマイコン５により管理されるフラッシュメモリ７の構成例を示す図である。
【００３０】
図２に示されるように、フラッシュメモリ７は、基本的に、固定プログラム領域２１、可変プログラム領域２２、可変プログラム領域２３、およびデータ領域２４から構成されている。
【００３１】
固定プログラム領域２１には、メインマイコン５が起動するときに利用されるブートプログラム２１Ａが記憶されている。このブートプログラム２１Ａは、通常、ディジタル放送波により送信されてきたバージョンアッププログラムにより、書き換えることができないプログラムである。
【００３２】
可変プログラム領域２２には、メインマイコン５により利用されるメインマイコン用プログラム２２Ａと、サブマイコン８により利用されるサブマイコン用プログラム２２Ｂが記憶されている。
【００３３】
可変プログラム領域２３には、可変プログラム領域２２と同様に、メインマイコン５とサブマイコン８により、それぞれ利用されるメインマイコン用プログラム２３Ａとサブマイコン用プログラム２３Ｂが記憶されている。
【００３４】
可変プログラム領域２２と、可変プログラム領域２３に記憶されているプログラムは、ブートプログラム２１Ａとは異なり、ディジタル放送波により送信されてきたバージョンアッププログラムにより、書き換えることができるプログラムである。
【００３５】
データ領域２４には、例えば、電源がオフとされたときに選局されていたチャンネルの情報や、録画予約が設定されている場合、その録画予約情報などの、各種のユーザ情報が記憶される。
【００３６】
図１の説明に戻り、サブマイコン８は、起動が指示されたとき、フラッシュメモリ１０に記憶されているブートプログラムにより起動する。そして、サブマイコン８は、メインマイコン５からプログラムが転送されてきたとき、それをSDRAM９に展開し、各種の処理を実行する。サブマイコン８は、例えば、図示せぬIEEE(Institute of Electrical and Electronics Engineers)1394インタフェースや、HDD(Hard Disk Drive)などのディジタルデータを扱う処理部を制御するマイクロコンピュータである。
【００３７】
図１の例においては、一点鎖線で示されるように、フラッシュメモリ７の可変プログラム領域２２から読み出されたサブマイコン用プログラム２２Ｂがサブマイコン８に転送され、それがSDRAM９に展開されている。
【００３８】
すなわち、サブマイコン８が管理するフラッシュメモリ１０には、起動用のブートプログラムのみが、その固定プログラム領域３１に記憶されており、サブマイコン８は、起動する毎に、メインマイコン５から供給されてくるプログラムを利用して、各種の処理を実行する。なお、ブートプログラムのみが記憶されているマスクROM(Read Only Memory)により、フラッシュメモリ１０を構成するようにしてもよい。
【００３９】
このように、起動する毎に、サブマイコン８用の最新のプログラムがメインマイコン５から供給されてくるようにしたので、フラッシュメモリ１０を容量の小さいメモリにより構成することができる。従って、コストを抑制することができる。
【００４０】
また、メインマイコン５とサブマイコン８のプログラムを同一の場所（フラッシュメモリ７）に格納させるようにしたので、ダウンロードしたバージョンアッププログラムを利用して、容易に、かつ安全にそれらのプログラムをバージョンアップさせることができる。
【００４１】
すなわち、メインマイコン５とサブマイコン８のプログラムが、それぞれ異なる場所に格納されており、ダウンロードしたバージョンアッププログラムを利用して、それらのプログラムを書き換えている最中に、書き換えが中断された場合、メインマイコン５のプログラムはバージョンアップされ、サブマイコン８のプログラムは古いバージョンのままの状態となってしまうことがあり、メインマイコン５とサブマイコン８が協働して各種の処理を実行できなくなるといった不都合を回避することができる。
【００４２】
なお、図１に示されるテレビジョン受像機においては、電力消費が少ない、小電力ブロックにマイクロコンピュータ１１が設けられている。このマイクロコンピュータ１１は、基本的に、表示部の偏向、或いは電子銃による走査などのアナログ的な制御を行うマイクロコンピュータである（以下、適宜、マイクロコンピュータ１１をTVマイコン１１と称する）。
【００４３】
通常、上述したような、プログラムのバージョンアップは、利用者により各種の操作が行われていないスタンバイ（電源オフ）の状態のときに実行される。
【００４４】
メインマイコン５は、自分自身のセットに対するバージョンアッププログラムが送信されてくる時刻を、他のデータとともに多重化されて送信されてくるSDTT(Software Download Trigger Table)で確認する。そして、メインマイコン５は、バージョンアッププログラムのダウンロードが開始される時刻まで、所定の時間以上空いていると判断した場合、その時刻になったときに自分自身を起動させることをTVマイコン１１に要求し、自らは電源をオフの状態とする。また、その場合、メインマイコン５と同様に、サブマイコン８も自らの電源をオフ状態とする。
【００４５】
一般的に、メインマイコン５、およびサブマイコン８のように、ディジタルデータを取り扱うマイクロコンピュータは、アナログ信号を制御するマイクロコンピュータよりも、その消費電力が大きい。従って、このようにダウンロードが開始されるまで、TVマイコン１１以外のマイクロコンピュータの電源をオフにすることにより、電力の浪費を抑制することができる。
【００４６】
図３は、バージョンアッププログラムによるバージョンアップの概念を示す図である。
【００４７】
時刻ｔ1において、利用者によりリモートコントローラが操作され、パワーオフ（電源オフ）が指示されたとき、次にパワーオンが指示されるまで（時刻ｔ2まで）の期間、テレビジョン受像機はスタンバイ状態になる。上述したように、バージョンアッププログラムのダウンロードは、利用者により各種の操作が実行されていないスタンバイ状態のときに行われるため、ダウンロードが行われる期間Ｔ3だけは、内部的に起動している状態となる。
【００４８】
例えば、期間Ｔ1において、メインマイコン５がバージョン２のプログラムを有していた場合（可変プログラム領域２２と可変プログラム領域２３に記憶されているプログラムのうち、古いプログラムのバージョンがバージョン２の場合）、期間Ｔ3において実行されるダウンロードにより、そのプログラムが、例えば、バージョン４に書き換えられる。
【００４９】
そして、時刻ｔ2において、利用者によりパワーオンが指示されたとき、それ以降の期間Ｔ5においては、バージョン４のプログラムが起動される。
【００５０】
また、図３に示されるように、上述したSDTTは、例えば、１０分間隔などの所定の周期で送信されている。メインマイコン５は、SDTTの内容を参照し、自分自身のセット（図１に示されるテレビジョン受像機）に対するバージョンアッププログラムの送信時刻等を確認する。
【００５１】
図４は、SDTTに記述されている情報の例を示す図である。
【００５２】
例えば、SDTTには、ダウンロードの対象となるテレビジョン受像機の機器名（ダウンロード対象）、対象となるプログラムのバージョン（対象バージョン）、ダウンロードにより取得できるプログラムのバージョン（新バージョン）、および、２日分のダウンロード開始時間が記述されている。
【００５３】
メインマイコン５は、このようなSDTTを参照し、ダウンロード対象が自分自身のセットであり、対象バージョンがフラッシュメモリ７に格納されているプログラムのうち、より古い方のプログラムのバージョンに相当する場合、記述されている開始時間に基づいて、プログラムのダウンロードを実行する。
【００５４】
なお、図４の例においては、ダウンロード対象が「PONY HD７００」とされ、対象バージョンが「バージョン２より以前」とされ、新バージョンが「バージョン４」とされている。また、「ダウンロード時間」は、例えば、「２００１年８月１４日午前１２時５分から１０分間」とされている。
【００５５】
図５は、バージョンアッププログラムの構成例を示す図であり、例えば、図３に示されるように、２時間周期で送信されてくる。
【００５６】
図５に示されるように、１回のダウンロードでは、同一のバージョンアッププログラムが複数取得され、より確実に、バージョンアップを行うことができるようになされている。図５の例においては、１回のダウンロードにより、バージョンアッププログラム５１乃至５３が取得される。
【００５７】
バージョンアッププログラム５１乃至５３は、DII(Download Information Indication)とDDB(Download Date Block)から構成されている。このDDBは、バージョンアッププログラムそのものであり、DIIは、DDBのサイズ、モジュール数、或いはダウンロードに要する時間などを表わす情報である。
【００５８】
メインマイコン５は、DIIを参照して、プログラムの書き込み、およびサブマイコン８に対するプログラムの転送などを行う。
【００５９】
また、図５に示されるように、DDBを構成するメインマイコン用プログラム（PM）とサブマイコン用プログラム（PS）が１つのモジュールからなる場合と、複数のモジュールからなる場合がある。メインマイコン５は、DDBが複数のモジュールからなる場合、サブマイコン８のプログラムを、そのモジュールの状態で転送することができるが、DDBが１つのモジュールからなる場合、SDRAM６などにDDB全体を展開し、個々のモジュールに分割する必要がある。
【００６０】
なお、図１においては、説明の便宜上、DDBのモジュール構成を区別せずに説明するとともに、１回のダウンロードで取得されるバージョンアッププログラムの数を１つとして説明している。
【００６１】
次に、図１のテレビジョン受像機の動作について説明する。
【００６２】
始めに、図６のフローチャートを参照して、利用者からパワーオンが指示されることに応じて実行されるメインマイコン５の起動処理について説明する。
【００６３】
利用者から起動（電源オン）が指示されたとき、ステップＳ１において、メインマイコン５は、フラッシュメモリ７の固定プログラム領域２１に記憶されているブートプログラムを利用して起動処理を行う。具体的には、メインマイコン５は、各種のパラメータの初期化、周辺のハードウエアの初期化などを行う。
【００６４】
メインマイコン５は、ステップＳ２に進み、管理する内部フラグを参照し、可変プログラム領域２２と可変プログラム領域２３のうち、最新のバージョンのプログラムが記憶されている領域を特定する。この内部フラグには、可変プログラム領域２２と可変プログラム領域２３に記憶されているそれぞれのプログラムのバージョンや、プログラムが格納された日時などが記述されている。
【００６５】
そして、ステップＳ３において、メインマイコン５は、ステップＳ２で特定した領域から、最新のメインマイコン用プログラムを読み出す。メインマイコン５は、ステップＳ４において、読み出したプログラムをSDRAM６に展開し、全てのデータを展開したとき、ステップＳ５に進み、それを起動する。
【００６６】
ステップＳ６において、メインマイコン５は、メインマイコン用プログラムを読み出した領域と同一の領域から、最新のサブマイコン用プログラムを読み出す。例えば、メインマイコン５は、可変プログラム領域２２からメインマイコン用プログラム２２Ａを読み出した場合、ステップＳ６において、可変プログラム領域２２からサブマイコン用プログラム２２Ｂを読み出す。
【００６７】
メインマイコン５は、ステップＳ７において、フラッシュメモリ７から読み出したサブマイコン用プログラムをサブマイコン８に転送する。転送されたプログラムは、図７のフローチャートを参照して後述するように、サブマイコン８によりSDRAM９に展開されて、利用される。すなわち、サブマイコン８は、メインマイコン５からサブマイコン用プログラムが転送されてくるまでの期間、待機した状態となる。
【００６８】
ステップＳ８において、メインマイコン５は、SDRAM６に起動させているメインマイコン用プログラムに基づいて、各種のパラメータの初期化などを行い、それが終了したとき、ステップＳ９に進み、通常の処理、すなわち、デマルチプレクサ２を制御する処理を実行する。
【００６９】
次に、図７のフローチャートを参照して、図６の処理に対応して実行されるサブマイコン８の起動処理について説明する。
【００７０】
ステップＳ２１において、サブマイコン８は、利用者により起動が指示されたとき、フラッシュメモリ１０の固定プログラム領域３１に格納されているブートプログラムによる起動処理を行い、ステップＳ２２に進み、メインマイコン５からサブマイコン用プログラムが転送されてきたか否かを判定する。
【００７１】
サブマイコン８は、ステップＳ２２において、サブマイコン用プログラムが転送されてきたと判定するまで待機し、転送されてきたと判定した場合、ステップＳ２３に進み、そのチェックを行う。
【００７２】
例えば、サブマイコン８は、ステップＳ２３において、データサイズを確認するとともに、チェックサムやCRC(Cyclic Redundancy Check)などにより、転送されてきたサブマイコン用プログラムをチェックし、全てのデータのチェックが終了したとき、ステップＳ２４に進み、それをSDRAM９に展開する。例えば、ステップＳ２３で実行されるチェックにおいて、データのエラー等が検出された場合、再転送の要求がサブマイコン８からメインマイコン５に送信されるようにしてもよい。
【００７３】
ステップＳ２５において、サブマイコン８は、メインマイコン５から転送されてきたサブマイコン用プログラムの全てのデータをSDRAM９に展開したか否かを判定し、展開していないと判定した場合、ステップＳ２３に戻り、それ以降の処理を繰り返し実行する。
【００７４】
一方、ステップＳ２５において、サブマイコン８は、全てのデータをSDRAM９に展開したと判定した場合、ステップＳ２６に進み、展開したサブマイコン用プログラムを起動する。そして、サブマイコン８は、ステップＳ２７において、各パラメータの初期化などを行った後、ステップＳ２８に進み、通常の処理、すなわち、図示せぬHDDの制御などを行う。
【００７５】
図８は、図６、および図７を参照して説明した起動処理の具体例を示す図である。図８においては、上から、テレビジョン受像機の状態、メインマイコン５の動作、サブマイコン８の動作が表わされている。また、横軸は時刻を表わしている。
【００７６】
時刻ｔ11において、利用者によりリモートコントローラが操作され、パワーオンが指示されたとき、それまでスタンバイ状態（電源オフ）であったテレビジョン受像機はパワーオンの状態となり、各マイコンにおいて、上述したような各種の処理が行われる。
【００７７】
例えば、期間Ｔ11において、メインマイコン５により、ブートプログラムに基づく起動処理が行われ（図６のステップＳ１の処理）、同様に、期間Ｔ21において、サブマイコン８により、ブートプログラムに基づく起動処理が行われる（図７のステップＳ２１の処理）。
【００７８】
メインマイコン５においては、ブートプログラムによる起動が終了したとき、フラッシュメモリ７から、最新のメインマイコン用プログラムが読み出され（図６のステップＳ３の処理）、それが期間Ｔ12において起動される（図６のステップＳ５の処理）。
【００７９】
図８の例においては、フラッシュメモリ７の領域２２（可変プログラム領域２２）には、バージョン３のメインマイコン用プログラムと、バージョン２のサブマイコン用プログラムが記憶されており、領域２３（可変プログラム領域２３）には、バージョン２のメインマイコン用プログラムと、バージョン１のサブマイコン用プログラムが記憶されている。
【００８０】
従って、メインマイコン５は、可変プログラム領域２２から、バージョン３のメインマイコン用プログラムを読み出し、それを期間Ｔ12で起動した後、期間Ｔ13おいて、バージョン２のサブマイコン用プログラムをサブマイコン８に転送する（図６のステップＳ７の処理）。
【００８１】
一方、サブマイコン８においては、サブマイコン用プログラムが転送されてくるまでの期間（期間Ｔ22）、プログラムの転送待ちの状態となる（図７のステップＳ２２の処理）。そして、メインマイコン５により読み出された、バージョン２のサブマイコン用プログラムが転送されてきたとき、サブマイコン８は、期間Ｔ23おいて、それをSDRAM９に展開し、期間Ｔ24で起動させる（図７のステップＳ２６の処理）。
【００８２】
以上のような処理により、期間Ｔ12以降、メインマイコン５は、バージョン３のメインマイコン用プログラムに従って各種の処理を行い、期間Ｔ24以降、サブマイコン８は、バージョン２のサブマイコン用プログラムに従って各種の処理を行うことになる。
【００８３】
以上のように、起動する毎にサブマイコン用プログラムがメインマイコン５から転送されるようにしたので、サブマイコン用プログラムをフラッシュメモリ１０に用意しておく必要がなくなる。従って、容量の少ないメモリにより、或いは、マスクROMによりフラッシュメモリ１０を構成することが可能となるため、コストを抑制することができる。
【００８４】
次に、バージョンアッププログラムをダウンロードするテレビジョン受像機の処理について説明する。
【００８５】
始めに、図９のフローチャートを参照して、SDTTに基づいて、タイマを設定するメインマイコン５の処理について説明する。
【００８６】
ステップＳ４１において、メインマイコン５は、デマルチプレクサ２から供給されてきたSDTTを取得する。
【００８７】
メインマイコン５は、ステップＳ４２において、SDTTに記述されている情報を参照し、ダウンロード対象が自分自身のセットであり、かつ、ダウンロードの対象となるプログラムのバージョンが、例えば、フラッシュメモリ７に格納されているメインマイコン用プログラムのバージョンに相当すると判断したとき、ダウンロードが開始される時刻をTVマイコン１１に通知し、その時刻になったときに起動することを要求する。
【００８８】
そして、利用者により操作が行われていないとき（利用者により電源オフが指示されているとき）、メインマイコン５は、ステップＳ４３において、スタンバイ状態（電源オフ）にする。上述したように、バージョンアッププログラムのダウンロードが開始されるまで、メインマイコン５をスタンバイ状態にすることにより、消費電力を抑制することができる。
【００８９】
次に、図１０のフローチャートを参照して、メインマイコン５を起動させるTVマイコン１１の処理について説明する。
【００９０】
ステップＳ５１において、TVマイコン１１は、メインマイコン５からの指示に基づいて、タイマを設定する。
【００９１】
そして、ステップＳ５２において、TVマイコン１１は、バージョンアッププログラムのダウンロードが開始される時刻になったか否か（メインマイコン５により設定された時刻になったか否か）を判定し、その時刻になったと判定するまで待機する。
【００９２】
TVマイコン１１は、ステップＳ５２において、バージョンアッププログラムのダウンロードが開始される時刻になったと判定した場合、ステップＳ５３に進み、メインマイコン５に起動を要求する。そして、それ以降、メインマイコン５により、バージョンアッププログラムのダウンロードが実行される。
【００９３】
次に、図１１、および図１２のフローチャートを参照して、ダウンロードしたバージョンアッププログラムにより、既に記憶されているプログラムを書き換えるメインマイコン５の処理について説明する。この処理は、例えば、TVマイコン１１から起動が要求されたタイミングで実行される。
【００９４】
ステップＳ６１乃至ステップＳ６５の処理は、図６を参照して説明したステップＳ１乃至ステップＳ５の処理と同様の処理である。すなわち、メインマイコン５は、ステップＳ６１において、ブートプログラムにより起動した後、ステップＳ６２に進み、最新のプログラムが記憶されているメモリ領域を特定する。そして、メインマイコン５は、ステップＳ６３において、特定した領域から、最新のメインマイコン用プログラムを読み出す。
【００９５】
メインマイコン５は、ステップＳ６４において、メインマイコン用プログラムをSDRAM６に展開し、展開が終了したとき、ステップＳ６５に進み、それを起動させる。
【００９６】
ステップＳ６６において、メインマイコン５は、TVマイコン１１に対して、起動の原因を問い合わせ、ステップＳ６７に進み、その原因が、バージョンアッププログラムのダウンロードが開始される時刻になったためのものであるか否かを判定する。
【００９７】
例えば、利用者により所定の番組を記録することが指示されており、その番組の開始時刻になったために要求された起動である場合、メインマイコン５は、ステップＳ６８に進み、通常の処理、すなわち、設定されている番組を記録する処理を実行し、処理を終了させる。
【００９８】
一方、ステップＳ６７において、メインマイコン５は、TVマイコン１１からの起動要求が、バージョンアッププログラムのダウンロードが開始されることによるものであると判定した場合、ステップＳ６９に進み、バージョンアッププログラムを取得する（ダウンロードする）準備を行う。例えば、メインマイコン５は、デマルチプレクサ２を制御し、バージョンアッププログラムが送信されてくるチャンネルにチューニングさせる。
【００９９】
そして、メインマイコン５は、ステップＳ７０において、バージョンアッププログラムがデマルチプレクサ２から供給されてきたか否かを判定し、供給されてきたと判定するまで待機する。
【０１００】
メインマイコン５は、ステップＳ７０において、バージョンアッププログラムがデマルチプレクサ２から供給されてきたと判定した場合、ステップＳ７１に進み、そのデータのエラーチェックを行う。
【０１０１】
例えば、メインマイコン５は、チェックサムやCRCによりバージョンアッププログラムのチェックを行い、ステップＳ７２において、エラーを検出したか否かを判定する。ステップＳ７２において、メインマイコン５は、供給されてきたバージョンアッププログラムのエラーを検出したと判定した場合、ステップＳ７３に進み、所定のエラー処理を行った後、処理を終了させる。
【０１０２】
一方、メインマイコン５は、ステップＳ７２において、エラーを検出してないと判定した場合、ステップＳ７４に進み、バージョンアッププログラムの全てのデータを取得したか否かを判定し、全てのデータを取得したと判定するまで、ステップＳ７１に戻り、それ以降の処理を繰り返し実行する。
【０１０３】
ステップＳ７４において、メインマイコン５は、全てのデータを取得したと判定した場合、ステップＳ７５に進み、管理する内部フラグの設定を確認し、現在起動しているメインマイコン用プログラムは、可変プログラム領域２２から読み出したプログラムであるか否かを判定する。
【０１０４】
メインマイコン５は、ステップＳ７５において、現在、SDRAM６に展開しているプログラムは、可変プログラム領域２２から読み出したプログラムでない（可変プログラム領域２３から読み出したプログラムである）と判定した場合、可変プログラム領域２３に記憶されているプログラムよりも、可変プログラム領域２２に記憶されているプログラムの方が古いバージョンのものであるため、ステップＳ７６に進み、取得したバージョンアッププログラムを可変プログラム領域２２に書き込む。
【０１０５】
一方、ステップＳ７５において、メインマイコン５は、現在、SDRAM６に展開しているプログラムは、可変プログラム領域２２から読み出したプログラムであると判定した場合、ステップＳ７７に進み、取得したバージョンアッププログラムを可変プログラム領域２３に書き込む。
【０１０６】
メインマイコン５は、ステップＳ７８において、バージョンアッププログラムの書き込みが正常に終了したか否かを判定し、正常に終了していないと判定した場合、ステップＳ７３に進み、エラー処理を行った後、処理を終了させる。また、メインマイコン５は、ステップＳ７８において、バージョンアッププログラムの書き込みが正常に終了したと判定した場合、ステップＳ７９に進み、フラッシュメモリ７に格納されているプログラムを管理する内部フラグのバージョンの設定を更新した後、処理を終了させる。
【０１０７】
図１３は、図１１、および図１２を参照して説明した書き換え処理の具体例を示す図である。図１３においては、上から、テレビジョン受像機の状態、メインマイコン５の動作、サブマイコン８の動作が表わされている。また、横軸は時刻を表わしている。
【０１０８】
例えば、時刻ｔ21において、TVマイコン１１により起動が要求されたとき、それまでの期間（期間Ｔ31）、スタンバイ状態（電源オフ）であったテレビジョン受像機は、内部的にはダウンロードを実行する状態となり、各マイコンにおいて各種の処理が行われる。
【０１０９】
なお、上述した例においては、TVマイコン１１からの要求に応じて、メインマイコン５だけが起動されるとしたが、図１３に示されるように、サブマイコン８も、ともに起動されるようにしてもよい。
【０１１０】
始めに、期間Ｔ41において、メインマイコン５とサブマイコン８により、図８を参照して説明したものと同様の起動処理が行われる。
【０１１１】
期間Ｔ51において、ブートプログラムによる起動が行われた後、メインマイコン５により、可変プログラム領域２２に記憶されているバージョン３のメインマイコン用プログラムが読み出されて、期間Ｔ52で起動される（図１１のステップＳ６５の処理）。また、期間Ｔ53において、バージョン２のサブマイコン用プログラムが可変プログラム領域２２から読み出され、サブマイコン８に転送される。
【０１１２】
サブマイコン８においては、期間Ｔ63において、メインマイコン５から転送されてきたサブマイコン用プログラムがSDRAM９に展開され、期間Ｔ64で、それが起動される。
【０１１３】
メインマイコン５は、デマルチプレクサ２からバージョンアッププログラム４１−１が供給されてきたとき、期間Ｔ54において、そのチェックを行い、フラッシュメモリ７に対する書き込みを行う（図１２のステップＳ７６、またはステップＳ７７の処理）。この例においては、バージョンアッププログラムにより、バージョン４のメインマイコン用プログラムと、バージョン３のサブマイコン用プログラムがフラッシュメモリ７の可変プログラム領域２３に記憶されている。
【０１１４】
なお、より確実にプログラムの書き込みを行うことができるように、バージョンアッププログラム４１−１と同様の情報が、バージョンアッププログラム４１−２としてメインマイコン５に供給されている。
【０１１５】
そして、メインマイコン５は、バージョンアッププログラム４１−１の書き込みが終了したとき、期間Ｔ55において、書き込みが終了したことを図示せぬ電源制御回路に通知し、メインマイコン５、およびサブマイコン８に対する電源の供給を停止させる。
【０１１６】
これにより、期間Ｔ33において、テレビジョン受像機は、いずれの動作も行っていないスタンバイの状態となる。
【０１１７】
図１３に示されるように、例えば、時刻ｔ22において、利用者によりパワーオンが指示されたとき、それまでスタンバイ状態であったテレビジョン受像機はパワーオンの状態となり、各マイコンにおいて、図８を参照して説明したものと同様の起動処理が行われる。
【０１１８】
すなわち、期間Ｔ56において、メインマイコン５により、ブートプログラムに基づく起動処理が行われ、同様に、期間Ｔ65において、サブマイコン８により、ブートプログラムに基づく起動処理が行われる。
【０１１９】
メインマイコン５においては、起動が終了したとき、フラッシュメモリ７から、最新のプログラム、すなわち、期間Ｔ54において、可変プログラム領域２３に記憶されたプログラムが読み出され、期間Ｔ57で起動される。
【０１２０】
従って、メインマイコン５は、それ以降、可変プログラム領域２３から読み出したバージョン４のメインマイコン用プログラムに基づいて各種の処理を実行する。また、メインマイコン５は、期間Ｔ58おいて、可変プログラム領域２３から読み出したバージョン３のサブマイコン用プログラムをサブマイコン８に転送する。
【０１２１】
サブマイコン８は、メインマイコン５によりバージョンアップされ、転送されてきたバージョン３のサブマイコン用プログラムを取得したとき、期間Ｔ67において、SDRAM９に展開する。そして、サブマイコン８は、バージョン３のサブマイコン用プログラムの展開が終了したとき、期間Ｔ68において、それを起動させる。サブマイコン８は、期間Ｔ68以降、バージョン３のサブマイコン用プログラムに従って、各種の処理を実行する。
【０１２２】
以上の処理により、２つの可変プログラム領域のうち、古いバージョンのプログラムが記憶されている領域に、ダウンロードしたバージョンアッププログラムを記憶させるようにしたので、その書き込みが失敗した場合であっても、書き込みを実行していない、新しいバージョンのプログラムが記憶されている領域のプログラムは依然、有効なものとして利用することができる。
【０１２３】
また、ダウンロードしたバージョンアッププログラムにより、同一の領域に格納されているメインマイコン用プログラムとサブマイコン用プログラムを同時に書き換えるようにしたので、書き換えたプログラムのバージョンの不整合により、メインマイコン５とサブマイコン８が協働して処理を行うことができなくなるといったことを抑制することができる。
【０１２４】
以上においては、バージョンアッププログラムのダウンロード、およびプログラムの書き換えなどの処理は、スタンバイ状態のときに実行されるとしたが、電源オンの状態で、映像や音声の出力を制御しながら、それらの処理が実行されるようにしてもよい。その場合、メインマイコン５、およびサブマイコン８は、起動した状態であるので、SDTTに基づいて行われる、タイマの設定の処理（例えば、図９を参照して説明した処理）は省略される。
【０１２５】
また、以上においては、サブマイコン用プログラムの転送や、バージョンアッププログラムのダウンロードは、SDRAM６に展開されたメインマイコン用プログラムに基づいて実行されるとしたが、ブートプログラムに基づいて実行できるようにしてもよい。システムの構成によっては、ブートプログラムに基づいて、それらの処理が実行される方が、より効率的な場合もある。
【０１２６】
さらに、フラッシュメモリ７には、可変プログラム領域２２と可変プログラム領域２３が設けられるとしたが、さらに多数の領域を設けるようにしてもよい。この場合、アドレスにより指定して、それぞれの領域を区別させるようにしてもよいし、各プログラムをファイルにより管理させるようにしてもよい。また、ディレクトリ構造により、プログラムを管理させるようにしてもよい。
【０１２７】
以上においては、デマルチプレクサ２を制御するマイクロコンピュータ５が、他のマイクロコンピュータのプログラムをも管理するとしたが、他のマイクロコンピュータにより、上述したようなマイクロコンピュータ５の処理が実行されるようにしてもよい。例えば、マイクロコンピュータ８やマイクロコンピュータ１１により、上述したようなマイクロコンピュータ５の処理が実行されるようにしてもよい。
【０１２８】
また、マイクロコンピュータ５は、マイクロコンピュータ８に対してのみ、プログラムを転送するとしたが、さらに多数のマイクロコンピュータに対して、最新のプログラムを転送するようにしてもよい。
【０１２９】
なお、本発明をテレビジョン受像機に適用した場合について説明したが、以上の処理を、STB(Set Top Box)のマイクロコンピュータのプログラムをバージョンアップさせる場合に適用させることもできる。また、BS(Broadcasting Satellite)ディジタル放送を取り扱う機器だけでなく、CS(Communications Satellite)ディジタル放送や、地上波ディジタル放送を取り扱う機器にも適用することができる。
【０１３０】
【発明の効果】
本発明の放送データ受信装置および方法によれば、第１ないし第２のマイクロコンピュータにより、第１の格納部に第１ないし第２の更新プログラムが格納されている場合には、上記第１の格納部に格納されている上記第１ないし第２の更新プログラムを、新たな第１ないし第２のプログラムとして実行するようにしたので、装置内に設けられる複数のマイクロコンピュータのそれぞれの機能を、容易に変更、または追加でき、その後起動されたプログラムに従って、正常な動作を実行させることができる。
【図面の簡単な説明】
【図１】本発明を適用したテレビジョン受像機の構成例を示すブロック図である。
【図２】図１のメインマイコンにより管理されるフラッシュメモリの構成例を示す図である。
【図３】バージョンアッププログラムのダウンロードの概念を示す図である
【図４】図３のSDTTの例を示す図である。
【図５】図３のバージョンアッププログラムの構成例を示す図である。
【図６】図１のメインマイコンの処理を説明するフローチャートである。
【図７】図１のサブマイコンの処理を説明するフローチャートである。
【図８】起動処理の具体例を示す図である。
【図９】図１のメインマイコンの他の処理を説明するフローチャートである。
【図１０】図１のTVマイコンの処理を説明するフローチャートである。
【図１１】図１のメインマイコンのさらに他の処理を説明するフローチャートである。
【図１２】図１のメインマイコンのさらに他の処理を説明する、図１１に続くフローチャートである。
【図１３】ダウンロード処理の具体例を示す図である。
【符号の説明】
２  デマルチプレクサ，  ５  マイクロコンピュータ，  ６  SDRAM，  ７  フラッシュメモリ，  ８  マイクロコンピュータ，  ９  SDRAM，  １０  フラッシュメモリ，  ２２  可変プログラム領域，  ２３  可変プログラム領域
【図１】
0004048469.tif 000002
【図２】
0004048469.tif 000003
【図３】
0004048469.tif 000004
【図４】
0004048469.tif 000005
【図５】
0004048469.tif 000006
【図６】
0004048469.tif 000007
【図７】
0004048469.tif 000008
【図８】
0004048469.tif 000009
【図９】
0004048469.tif 000010
【図１０】
0004048469.tif 000011
【図１１】
0004048469.tif 000012
【図１２】
0004048469.tif 000013
【図１３】
0004048469.tif 000014