(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６に展開した最新のバージョンのプログラムに基づいて、例えば、デマルチプレクサ２によるパケットの抽出などの、テレビジョン受像機の全体の動作を制御する（以下、適宜、マイクロコンピュータ５をメインマイコン５として説明し、マイクロコンピュータ９をサブマイコンＡ９として説明する。また、マイクロコンピュータ１１をサブマイコンＢ１１として説明し、マイクロコンピュータ１４をサブマイコンＣ１４として説明する。さらに、サブマイコン９Ａ、サブマイコン１１Ｂ、およびサブマイコン１４Ｃのそれぞれを個々に区別する必要がない場合、適宜、まとめてサブマイコンＡ乃至Ｃと称する）。
【００２９】
サブマイコンＡ９（マイクロコンピュータ９）は、メインマイコン５（マイクロコンピュータ５）と同様に、固定プログラム領域４１乃至データ領域４４の４つの領域からなるフラッシュメモリ１０を有しており、可変プログラム領域Ａ４２、および可変プログラム領域Ｂ４３のうち、メインマイコン５により指示された領域に記憶されているプログラムを起動し、各種の処理を実行する。
【００３０】
また、サブマイコンＢ１１、およびサブマイコンＣ１４も、サブマイコンＡ９と同様に、それぞれ、４つの領域からなるフラッシュメモリ１２、フラッシュメモリ１５を有しており、メインマイコン５により指示された領域に記憶されているプログラムを起動し、各種の処理を実行する。
【００３１】
サブマイコンＡ乃至Ｃは、例えば、図示せぬIEEE(Institute of Electrical and Electronics Engineers)1394インタフェースや、HDD(Hard Disk Drive)などのディジタルデータを扱う処理部を制御するマイクロコンピュータである。
【００３２】
これらのサブマイコンＡ乃至Ｃによりそれぞれ管理される、フラッシュメモリ１０の可変プログラム領域Ａ４２、および可変プログラム領域Ｂ４３、フラッシュメモリ１２の可変プログラム領域Ａ５２、および可変プログラム領域Ｂ５３、フラッシュメモリ１５の可変プログラム領域Ａ６２、可変プログラム領域Ｂ６３に記憶されているプログラムは、フラッシュメモリ７に記憶されているプログラムと同様に、ディジタル放送波を介して送信されてきたバージョンアッププログラム７１により、適宜、書き換えられる。
【００３３】
従って、メインマイコン５は、デマルチプレクサ２からバージョンアッププログラム７１が供給されてきたとき、バージョンアッププログラム７１に含まれる、自分自身に対するバージョンアッププログラムを取得し、それを、可変プログラム領域Ａ３２と可変プログラム領域Ｂ３３のうち、より古いバージョンのプログラムが記憶されている領域に記憶させるとともに、サブマイコンＡ乃至Ｃに対して、それぞれ対応するバージョンアッププログラムを転送し、記憶させる。
【００３４】
図１の例においては、バージョンアッププログラム７１−１により、可変プログラム領域Ｂ３３に記憶されている、より古いバージョンのプログラムが書き換えられ、バージョンアップが行われている。また、フラッシュメモリ１０の可変プログラム領域Ｂ４３に記憶されているプログラム、フラッシュメモリ１２の可変プログラム領域Ｂ５３に記憶されているプログラム、およびフラッシュメモリ１４の可変プログラム領域Ｂ６３に記憶されているプログラムが、バージョンアッププログラム７１−２乃至７１−４によりそれぞれ書き換えられ、バージョンアップが行われている。
【００３５】
すなわち、図１に示される、バージョンアッププログラム７１の「M７１−１」はメインマイコン５用のバージョンアッププログラムを表わしており、「Ａ７１−２」はサブマイコンＡ９用のバージョンアッププログラムを表わしている。また、「Ｂ７１−３」はサブマイコンＢ１１用のバージョンアッププログラムを表わしており、「Ｃ７１−４」はサブマイコンＣ１４用のバージョンアッププログラムを表わしている。
【００３６】
また、図１に示されるテレビジョン受像機においては、電力消費が少ない、小電力ブロックにマイクロコンピュータ１６が設けられている。このマイクロコンピュータ１６は、基本的に、表示部の偏向、或いは電子銃による走査などのアナログ的な制御を行うマイクロコンピュータである（以下、適宜、マイクロコンピュータ１６を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を構成するメインマイコン用プログラム（Ｍ）とサブマイコン用プログラム（Ａ乃至Ｃ）が１つのモジュールからなる場合と、複数のモジュールからなる場合がある。メインマイコン５は、DDBが複数のモジュールからなる場合、サブマイコンＡ乃至Ｃのプログラムを、そのモジュールの状態で転送することができるが、DDBが１つのモジュールからなる場合、SDRAM６などにDDB全体を展開し、個々のモジュールに分割する必要がある。
【００５４】
なお、図１においては、説明の便宜上、DDBのモジュール構成を区別せずに説明するとともに、１回のダウンロードで取得されるバージョンアッププログラムの数を１つとして説明している。
【００５５】
次に、図１のテレビジョン受像機の動作について説明する。
【００５６】
始めに、図５のフローチャートを参照して、利用者からパワーオンが指示されることに応じて実行されるメインマイコン５の起動処理について説明する。
【００５７】
利用者から起動（電源オン）が指示されたとき、ステップＳ１において、メインマイコン５は、フラッシュメモリ７の固定プログラム領域３１に記憶されているブートプログラムを利用して起動処理を行う。具体的には、メインマイコン５は、各種のパラメータの初期化、周辺のハードウエアの初期化などを行う。
【００５８】
メインマイコン５は、初期化処理を行った後、ステップＳ２に進み、管理する起動フラグを参照して、可変プログラム領域Ａ３２と可変プログラム領域Ｂ３３のうち、最新のバージョンのプログラムが記憶されている領域を特定する。
【００５９】
ステップＳ３において、メインマイコン５は、ステップＳ２で特定した領域から、最新のバージョンのプログラムを読み出す。メインマイコン５は、ステップＳ４において、読み出したプログラムをSDRAM６に展開し、全てのデータを展開したとき、ステップＳ５に進み、それを起動する。
【００６０】
ステップＳ６において、メインマイコン５は、サブマイコンＡ乃至Ｃに対して、起動フラグの設定を通知する。すなわち、この起動フラグにより、メインマイコン５により起動されるプログラムだけでなく、サブマイコンＡ乃至Ｃにより起動されるプログラムも指定される。図６のフローチャートを参照して後述するように、サブマイコンＡ乃至Ｃは、メインマイコン５からの通知に応じて、指定された領域に記憶されているプログラムを起動する。
【００６１】
メインマイコン５は、ステップＳ７において、SDRAM６に起動させているプログラムに基づいて、各種のパラメータの初期化などを行い、それが終了したとき、ステップＳ８に進み、通常の処理、すなわち、デマルチプレクサ２を制御する処理を実行する。
【００６２】
次に、図６のフローチャートを参照して、図５の処理に対応して実行されるサブマイコンＡ９の起動処理について説明する。なお、サブマイコンＢ１１、およびサブマイコンＣ１４においても、同様の処理が実行される。
【００６３】
ステップＳ２１において、サブマイコンＡ９は、利用者により起動が指示されたとき、フラッシュメモリ１０の固定プログラム領域４１に格納されているブートプログラムによる起動処理を行い、ステップＳ２２に進み、メインマイコン５から、起動フラグの設定が通知されてきたか否かを判定する。
【００６４】
サブマイコンＡ９は、ステップＳ２２において、起動フラグの設定が通知されてきたと判定するまで待機し、通知されてきたと判定した場合、ステップＳ２３に進み、起動フラグにより指定される領域に記憶されているプログラムを起動する。
【００６５】
そして、サブマイコンＡ９は、ステップＳ２４において、各パラメータの初期化などを行った後、ステップＳ２５に進み、通常の処理、すなわち、図示せぬHDDの制御などを行う。
【００６６】
通常、起動フラグは、いずれのマイクロコンピュータにおいても、最新のバージョンのプログラムが起動されるように設定されているため、以上の処理により、最新のメインマイコン５用のプログラム、最新の各サブマイコン用のプログラムが起動される。
【００６７】
図７は、図５、および図６を参照して説明した起動処理の具体的な例を示す図である。
【００６８】
図７においては、上から、テレビジョン受像機の状態、メインマイコン５の動作、サブマイコンＡ９の動作、サブマイコンＢ１１の動作、サブマイコンＣ１４の動作が表わされている。また、横軸は時刻を表わしている。
【００６９】
時刻ｔ11において、利用者によりパワーオンが指示されたとき、それまでスタンバイ状態（電源オフ）であったテレビジョン受像機はパワーオンの状態となり、各マイコンにおいて、上述したような各種の処理が行われる。
【００７０】
例えば、期間Ｔ11において、メインマイコン５により、ブートプログラムに基づく起動処理が行われ（図５のステップＳ１の処理）、同様に、期間Ｔ21、期間Ｔ31、期間Ｔ41において、それぞれ、サブマイコンＡ乃至Ｃにより、ブートプログラムに基づく起動処理が行われる（図６のステップＳ２１の処理）。
【００７１】
メインマイコン５は、ブートプログラムによる起動が終了したとき、起動フラグの設定に基づいて、最新のメインマイコン用プログラムをフラッシュメモリ７から読み出し（図６のステップＳ３の処理）、期間Ｔ12において、それを起動する（図６のステップＳ５の処理）。
【００７２】
図７の例においては、起動フラグの設定により「領域Ａ」が指定されている。また、フラッシュメモリ７の領域Ａ（可変プログラム領域Ａ３２）には、バージョン３のプログラムが記憶されており、領域Ｂ（可変プログラム領域Ｂ３３）には、バージョン２のプログラムが記憶されている。
【００７３】
従って、メインマイコン５は、起動フラグの設定に基づいて、期間Ｔ12において、領域Ａ（可変プログラム領域Ａ３２）に記憶されているバージョン３のプログラムを起動する。
【００７４】
一方、サブマイコンＡ乃至Ｃは、それぞれ、ブートプログラムにより起動した後、期間Ｔ22、期間Ｔ32、期間Ｔ42において、メインマイコン５から起動が要求されるまで待機する。
【００７５】
サブマイコンＡ９は、メインマイコン５から起動フラグの設定（設定Ａ）が通知され、起動が要求されたとき、期間Ｔ23において、フラッシュメモリ１０の領域Ａ（可変プログラム領域Ａ４２）に記憶されているバージョン５のプログラムを起動させる。この例においては、フラッシュメモリ１０には、バージョン５のプログラムが領域Ａ（可変プログラム領域Ａ４２）に記憶されており、バージョン４のプログラムが領域Ｂ（可変プログラム領域Ｂ４３）に記憶されている。
【００７６】
同様に、サブマイコンＢ１１は、メインマイコン５から起動フラグの設定が通知されてきたとき、期間Ｔ33において、フラッシュメモリ１２の領域Ａ（可変プログラム領域Ａ５２）に記憶されているバージョン３のプログラムを起動させる。この例においては、フラッシュメモリ１２には、バージョン３のプログラムが領域Ａ（可変プログラム領域Ａ５２）に記憶されており、バージョン２のプログラムが領域Ｂ（可変プログラム領域Ｂ５３）に記憶されている。
【００７７】
また、サブマイコンＣ１４も同様に、メインマイコン５から起動フラグの設定が通知されてきたとき、期間Ｔ43において、フラッシュメモリ１５の領域Ａ（可変プログラム領域Ａ６２）に記憶されているバージョン７のプログラムを起動させる。この例においては、フラッシュメモリ１５には、バージョン７のプログラムが領域Ａ（可変プログラム領域Ａ６２）に記憶されており、バージョン６のプログラムが領域Ｂ（可変プログラム領域Ｂ６３）に記憶されている。
【００７８】
以上のような処理により、メインマイコン５は、それ以降、バージョン３のメインマイコン用プログラムに従って各種の処理を実行し、サブマイコンＡ９は、バージョン５のサブマイコンＡ９用のプログラムに従って各種の処理を実行する。また、サブマイコンＢ１１は、バージョン３のサブマイコンＢ１１用のプログラムに従って各種の処理を実行し、サブマイコンＣ１４は、バージョン７のサブマイコンＣ１４用のプログラムに従って各種の処理を実行する。
【００７９】
すなわち、各マイクロコンピュータは、それぞれが有している最新のバージョンのプログラムに従って各種の処理を実行することとなる。
【００８０】
次に、バージョンアッププログラムをダウンロードするテレビジョン受像機の処理について説明する。
【００８１】
始めに、図８のフローチャートを参照して、SDTTに基づいて、タイマを設定するメインマイコン５の処理について説明する。
【００８２】
ステップＳ４１において、メインマイコン５は、デマルチプレクサ２から供給されてきたSDTTを取得する。
【００８３】
メインマイコン５は、ステップＳ４２において、SDTTに記述されている情報を参照し、ダウンロード対象が自分自身のセットであり、かつ、ダウンロードの対象となるプログラムのバージョンが、例えば、フラッシュメモリ７に格納されているメインマイコン用プログラムのバージョンに相当すると判断したとき、ダウンロードが開始される時刻をTVマイコン１６に通知し、その時刻になったときに起動することを要求する。
【００８４】
そして、利用者により操作が行われていないとき（利用者により電源オフが指示されているとき）、メインマイコン５は、ステップＳ４３において、スタンバイ状態（電源オフ）にする。上述したように、バージョンアッププログラムのダウンロードが開始されるまで、メインマイコン５をスタンバイ状態にすることにより、消費電力を抑制することができる。
【００８５】
次に、図９のフローチャートを参照して、メインマイコン５を起動させるTVマイコン１６の処理について説明する。
【００８６】
ステップＳ５１において、TVマイコン１６は、メインマイコン５からの指示に基づいて、タイマを設定する。
【００８７】
そして、ステップＳ５２において、TVマイコン１６は、バージョンアッププログラムのダウンロードが開始される時刻になったか否か（メインマイコン５により設定された時刻になったか否か）を判定し、その時刻になったと判定するまで待機する。
【００８８】
TVマイコン１６は、ステップＳ５２において、バージョンアッププログラムのダウンロードが開始される時刻になったと判定した場合、ステップＳ５３に進み、メインマイコン５に起動を要求する。そして、それ以降、メインマイコン５により、バージョンアッププログラムのダウンロードが実行される。
【００８９】
次に、図１０、および図１１のフローチャートを参照して、ダウンロードしたバージョンアッププログラムにより、既に記憶されているプログラムを書き換えるメインマイコン５の処理について説明する。この処理は、例えば、TVマイコン１６から起動が要求されたタイミングで実行される。
【００９０】
ステップＳ６１乃至ステップＳ６５の処理は、図５を参照して説明したステップＳ１乃至ステップＳ５の処理と同様の処理である。すなわち、メインマイコン５は、ステップＳ６１において、ブートプログラムにより起動した後、ステップＳ６２に進み、起動フラグの設定に基づいて最新のプログラムが記憶されているメモリ領域を特定する。そして、メインマイコン５は、ステップＳ６３に進み、その領域から、最新のバージョンのプログラムを読み出す。
【００９１】
メインマイコン５は、ステップＳ６４において、読み出したプログラムをSDRAM６に展開し、展開が終了したとき、ステップＳ６５に進み、それを起動させる。
【００９２】
ステップＳ６６において、メインマイコン５は、TVマイコン１６に対して、起動の原因を問い合わせ、ステップＳ６７に進み、その原因が、バージョンアッププログラムのダウンロードが開始される時刻になったためのものであるか否かを判定する。
【００９３】
例えば、利用者により所定の番組を記録することが指示されており、その番組の開始時刻になったために要求された起動である場合、メインマイコン５は、ステップＳ６８に進み、通常の処理、すなわち、設定されている番組を記録する処理を実行し、処理を終了させる。
【００９４】
一方、ステップＳ６７において、メインマイコン５は、TVマイコン１６からの起動要求が、バージョンアッププログラムのダウンロードが開始されることによるものであると判定した場合、ステップＳ６９に進み、バージョンアッププログラムを取得する（ダウンロードする）準備を行う。例えば、メインマイコン５は、デマルチプレクサ２を制御し、バージョンアッププログラムが送信されてくるチャンネルにチューニングさせる。
【００９５】
そして、メインマイコン５は、ステップＳ７０において、バージョンアッププログラムがデマルチプレクサ２から供給されてきたか否かを判定し、供給されてきたと判定するまで待機する。
【００９６】
メインマイコン５は、ステップＳ７０において、バージョンアッププログラムがデマルチプレクサ２から供給されてきたと判定した場合、ステップＳ７１に進み、そのデータのエラーチェックを行う。
【００９７】
例えば、メインマイコン５は、同一のマイクロコンピュータを対象としたプログラムが複数含まれていないかなどのチェックや、チェックサム、或いはCRCを利用したチェックを行い、ステップＳ７２において、エラーを検出したか否かを判定する。ステップＳ７２において、メインマイコン５は、バージョンアッププログラムのエラーを検出したと判定した場合、ステップＳ７３に進み、所定のエラー処理を行った後、処理を終了させる。
【００９８】
一方、メインマイコン５は、ステップＳ７２において、エラーを検出していないと判定した場合、ステップＳ７４に進み、デマルチプレクサ２から送信されてきたプログラム（図４に示されるモジュール）が、メインマイコン５のプログラムをバージョンアップさせるプログラムであるか否か、すなわち、自分自身に対して送信されてきたプログラムであるか否かを判定する。例えば、図４に示されるように、全てのマイクロコンピュータのバージョンアッププログラムが１つのモジュールからなる場合、メインマイコン５は、それを個々のモジュールに分割し、分割したモジュールが自分自身に対するものであるか否かを判定する。
【００９９】
メインマイコン５は、ステップＳ７４において、自分自身に対するバージョンアッププログラムが送信されてきたと判定した場合、ステップＳ７５に進み、現在起動しているプログラムは、可変プログラム領域Ａ３２から読み出したプログラムであるか否かを判定する。
【０１００】
メインマイコン５は、ステップＳ７５において、現在、SDRAM６に展開しているプログラムは、可変プログラム領域Ａ３２から読み出したプログラムでない（可変プログラム領域Ｂ３３から読み出したプログラムである）と判定した場合、可変プログラム領域Ｂ３３に記憶されているプログラムよりも、可変プログラム領域Ａ３２に記憶されているプログラムの方が古いバージョンのものであるため、ステップＳ７６に進み、取得したバージョンアッププログラムを可変プログラム領域Ａ３２に書き込む。
【０１０１】
一方、ステップＳ７５において、メインマイコン５は、現在、SDRAM６に展開しているプログラムは、可変プログラム領域Ａ３２から読み出したプログラムであると判定した場合、ステップＳ７７に進み、取得したバージョンアッププログラムを可変プログラム領域Ｂ３３に書き込む。
【０１０２】
メインマイコン５は、ステップＳ７８において、バージョンアッププログラムの書き込みが正常に終了したか否かを判定し、正常に終了していないと判定した場合、ステップＳ７３に進み、エラー処理を行った後、処理を終了させる。また、メインマイコン５は、ステップＳ７８において、バージョンアッププログラムの書き込みが正常に終了したと判定した場合、ステップＳ７９に進み、プログラムのバージョン情報を更新する。
【０１０３】
メインマイコン５は、ステップＳ８０において、バージョンアッププログラムを構成する最後のデータがデマルチプレクサ２から送信されてきたか否かを判定し、最後のデータがまだ送信されてきていないと判定した場合、ステップＳ７０に戻り、それ以降の処理を繰り返し実行する。また、メインマイコン５は、ステップＳ８０において、最後のデータが送信されてきたと判定した場合、処理を終了させる。
【０１０４】
一方、ステップＳ７４において、メインマイコン５は、送信されてきたバージョンアッププログラムが、自分自身に対するプログラムでないと判定した場合、ステップＳ８１に進み、対象とされているサブマイコンに対してプログラムを転送する。例えば、図１に示されるバージョンアッププログラム７１−２が供給されてきた場合、メインマイコン５は、ステップＳ８１において、それをサブマイコンＡ９に転送する。
【０１０５】
そして、メインマイコン５は、ステップＳ８０において、最後のデータが送信されてきたか否かを判定し、最後のデータが送信されてきたと判定した場合、処理を終了させる。
【０１０６】
次に、図１２のフローチャートを参照して、起動フラグを設定するメインマイコン５の処理について説明する。この処理は、例えば、図１０、および図１１を参照して説明したような書き換え処理が行われた後に実行される。
【０１０７】
ステップＳ９１において、メインマイコン５は、全てのサブマイコンから、プログラムの書き換えを終了したことが通知されてきたか否かを判定する。すなわち、図１３のフローチャートを参照して後述するように、メインマイコン５から転送されてきたバージョンアッププログラムを用いてプログラムを書き換えた（バージョンアップ）させた後、各サブマイコンは、書き換えが終了したことをメインマイコン５に通知する。
【０１０８】
メインマイコン５は、ステップＳ９１において、書き換えを終了したことが全てのサブマイコンから通知されてきていないと判定した場合、ステップＳ９２に進み、所定の時間が経過したか否かを判定する。メインマイコン５は、ステップＳ９２において、所定の時間が経過していないと判定した場合、ステップＳ９１に戻り、それ以降の処理を繰り返し実行し、所定の時間が経過したと判定した場合、処理を終了させる。すなわち、起動フラグの設定が変更されずに、処理は終了される。
【０１０９】
一方、ステップＳ９１において、メインマイコン５は、書き換えを終了したことが全てのサブマイコンから通知されてきたと判定した場合、ステップＳ９３に進み、次に、全てのサブマイコンが、書き換え（バージョンアップ）を正常に終了したか否かを判定する。例えば、利用者により書き換えが中断され、いずれかのサブマイコンから、書き換えを正常に行うことができなかったことが通知されてきた場合、メインマイコン５は、ステップＳ９３において、全てのサブマイコンが正常に書き換えを終了することができなかったと判定し、フラグの設定を変更することなく処理を終了させる。
【０１１０】
従って、サブマイコンＡ乃至Ｃのうち、１つのサブマイコンが正常に書き換えを行うことができなかった場合であっても、起動フラグは書き換えられないこととなり、次に起動する際には、前回、起動されたときと同様の起動フラグの設定に基づいて、起動するプログラムが指定される。
【０１１１】
メインマイコン９は、ステップＳ９３において、全てのサブマイコンから、正常に書き換えを終了したことが通知されてきたと判定した場合、ステップＳ９４に進み、起動フラグの設定を書き換える。これにより、次回、起動が指示されたとき、書き換えられた起動フラグの設定に基づいて、プログラムが起動される。
【０１１２】
次に、図１３のフローチャートを参照して、メインマイコン５から転送されてきたバージョンアッププログラムに基づいて、自らのプログラムを書き換えるサブマイコンＡ９の処理について説明する。なお、サブマイコンＢ１１、およびサブマイコンＣ１４においても、同様の処理が実行される。
【０１１３】
ステップＳ１０１乃至ステップＳ１０３の処理は、図６を参照して説明したステップＳ２１乃至ステップＳ２３の処理と同様の処理である。すなわち、サブマイコンＡ９は、ステップＳ１０１において、フラッシュメモリ１０の固定プログラム領域４１に記憶されているブートプログラムにより起動し、ステップＳ１０２に進み、起動フラグの設定が通知されてきたか否かを判定する。
【０１１４】
サブマイコンＡ９は、ステップＳ１０２において、起動フラグの設定が通知されてきたと判定するまで待機し、通知されてきたと判定した場合、ステップＳ１０３に進み、起動フラグにより指定される領域に記憶されているプログラムにより起動する。
【０１１５】
そして、サブマイコンＡ９は、ステップＳ１０４において、メインマイコン５から、バージョンアッププログラムが転送されてきたか否かを判定し、転送されてきたと判定するまで待機する。
【０１１６】
サブマイコンＡ９は、ステップＳ１０４において、バージョンアッププログラムが転送されてきたと判定した場合、ステップＳ１０５に進み、そのバージョンアッププログラムのエラーチェックを行う。具体的には、サブマイコンＡ９は、チェックサムやCRCにより、バージョンアッププログラムのエラーチェックを行い、ステップＳ１０６において、エラーを検出したか否かを判定する。
【０１１７】
サブマイコンＡ９は、ステップＳ１０６において、転送されてきたバージョンアッププログラムのエラーを検出したと判定した場合、ステップＳ１０７に進み、書き換えを正常に行うことができなかったことをメインマイコン５に通知する。例えば、サブマイコンＡ９は、正常に書き換えを行うことができなかったことを設定したフラグをメインマイコン５に転送する。その後、処理は終了される。
【０１１８】
一方、ステップＳ１０６において、サブマイコンＡ９は、転送されてきたバージョンアッププログラムのエラーを検出していないと判定した場合、ステップＳ１０８に進み、次に、現在起動しているプログラムは、可変プログラム領域Ａ４２から読み出したプログラムであるか否かを判定する。
【０１１９】
サブマイコンＡ９は、ステップＳ１０８において、現在起動しているプログラムが、可変プログラム領域Ａ４２から読み出したプログラムでない（可変プログラム領域Ｂ４３から読み出したプログラムである）と判定した場合、ステップＳ１０９に進み、取得したバージョンアッププログラムを可変プログラム領域Ａ４２に書き込む。これにより、可変プログラム領域Ａ４２に記憶されていたプログラムがバージョンアップされる。
【０１２０】
一方、ステップＳ１０８において、サブマイコンＡ９は、現在起動しているプログラムが、可変プログラム領域Ａ４２から読み出したプログラムであると判定した場合、ステップＳ１１０に進み、取得したバージョンアッププログラムを可変プログラム領域Ｂ４３に書き込む。
【０１２１】
サブマイコンＡ９は、ステップＳ１１１において、バージョンアッププログラムの書き込みが正常に終了したか否かを判定し、正常に終了していないと判定した場合、ステップＳ１０７に進み、書き込みを正常に行うことができなかったことをメインマイコン５に通知し、処理を終了させる。
【０１２２】
また、サブマイコンＡ９は、ステップＳ１１１において、バージョンアッププログラムの書き込みが正常に終了したと判定した場合、ステップＳ１１２に進み、書き込みが正常に完了したことをメインマイコン５に通知する。すなわち、サブマイコンＡ９は、書き込みが正常に完了したことを設定したフラグをメインマイコン５に送信する。
【０１２３】
以上の処理により、可変プログラム領域Ａ４２、および可変プログラム領域Ｂ４３に記憶されているプログラムのうち、より古いバージョンのプログラムが、ディジタル放送波を介して送信されてきたバージョンアッププログラムによりバージョンアップされる。
【０１２４】
図１４は、図１０乃至図１３を参照して説明した書き換え処理の具体的な例を示す図である。
【０１２５】
図１４の例においては、上から、テレビジョン受像機の状態、メインマイコン５の動作、サブマイコンＡ９の動作、サブマイコンＢ１１の動作、サブマイコンＣ１４の動作が表わされている。また、横軸は時刻を表わしている。
【０１２６】
例えば、時刻ｔ21において、TVマイコン１６により起動が要求されたとき、それまでの期間（期間Ｔ51）、スタンバイ状態であったテレビジョン受像機は、内部的にはダウンロードを実行する状態となり、各マイコンにおいて各種の処理が行われる。
【０１２７】
始めに、期間Ｔ61において、メインマイコン５とサブマイコンＡ乃至Ｃにより、図７を参照して説明したものと同様の起動処理が行われる。
【０１２８】
例えば、メインマイコン５は、期間Ｔ71において、ブートプログラムにより起動した後、起動フラグの設定（設定Ａ）に基づいて、可変プログラム領域Ａ３２に記憶されているバージョン３のプログラムを読み出し、期間Ｔ72で起動する（図１０のステップＳ６５の処理）。図１４の例においては、フラッシュメモリ７の領域Ａ（可変プログラム領域Ａ３２）には、バージョン３のプログラムが記憶されており、領域Ｂ（可変プログラム領域Ｂ３３）には、バージョン２のプログラムが記憶されている。
【０１２９】
メインマイコン５は、期間Ｔ73において、各サブマイコンに対して、起動フラグの設定を通知し、プログラムの起動を要求する。
【０１３０】
一方、サブマイコンＡ９は、期間Ｔ91において、ブートプログラムにより起動し、期間Ｔ92において、起動フラグの設定が通知されてくるまで待機する。この例においては、領域Ａ（可変プログラム領域４２Ａ）に記憶されているプログラムを起動することが起動フラグにより指示されてくるため、サブマイコンＡ９は、期間Ｔ93において、フラッシュメモリ１０の可変プログラム領域４２Ａに記憶されているバージョン５のプログラムを起動させる。
【０１３１】
また、サブマイコンＢ１１も同様に、期間Ｔ101において、ブートプログラムにより起動し、その後、起動フラグにより、領域Ａ（可変プログラム領域５２Ａ）に記憶されているプログラムを起動することが指示されてくることに応じて、期間Ｔ103において、フラッシュメモリ１２の可変プログラム領域５２Ａに記憶されているバージョン３のプログラムを起動させる。
【０１３２】
さらに、サブマイコンＣ１４も同様に、期間Ｔ121において、ブートプログラムにより起動し、その後、起動フラグにより、領域Ａ（可変プログラム領域６２Ａ）に記憶されているプログラムを起動することが指示されてくることに応じて、期間Ｔ123において、フラッシュメモリ１５の可変プログラム領域６２Ａに記憶されているバージョン７のプログラムを起動させる。
【０１３３】
メインマイコン５は、デマルチプレクサ２から、バージョンアッププログラム７１が供給されてきたとき、期間Ｔ74において、そのチェックを行い、現在、起動されているプログラムが記憶されている領域と反対の領域（より古いバージョンのプログラムが記憶されている領域）に、バージョンアッププログラム７１−１を書き込む（図１１のステップＳ７６、またはステップＳ７７の処理）。この例においては、可変プログラム領域Ｂ３３に記憶されていたバージョン２のプログラムが、バージョン４のプログラムに書き換えられている。
【０１３４】
また、図１４の例においては、メインマイコン５は、期間Ｔ75において、バージョンアッププログラム７１に含まれているサブマイコンＡ９に対するバージョンアッププログラム７１−２と、サブマイコンＣ１４に対するバージョンアッププログラム７１−４のチェックを行い、それぞれのマイクロコンピュータに送信する（図１１のステップＳ８１の処理）。
【０１３５】
サブマイコンＡ９は、メインマイコン５からバージョンアッププログラム７１−２が送信されてきたとき、期間Ｔ94において、それを、より古いバージョンのプログラムが記憶されている可変プログラム領域Ｂ４３に書き込む。この例においては、バージョンアッププログラム７１−２により、バージョン４のプログラムがバージョン６のプログラムにバージョンアップされている。
【０１３６】
サブマイコンＡ９は、バージョンアッププログラム７１−２によるバージョンアップが正常に完了したとき、期間Ｔ95において、それをメインマイコン５に通知する。
【０１３７】
また、サブマイコンＣ１４も同様に、メインマイコン５からバージョンアッププログラム７１−４が送信されてきたとき、期間Ｔ124において、それを、より古いバージョンのプログラムが記憶されている可変プログラム領域Ｂ６３に書き込む。この例においては、バージョンアッププログラム７１−４により、バージョン６のプログラムがバージョン８のプログラムにバージョンアップされており、その後、期間Ｔ125において、バージョンアップが正常に完了したことがメインマイコン５に通知されている。
【０１３８】
なお、図１４の例においては、通信エラー等のため、バージョンアッププログラム７１により、サブマイコンＢ１１のプログラムをバージョンアップさせることができなかったとされており、サブマイコンＢ１１のプログラムのバージョンアップは、バージョンアッププログラム７２により行われている。上述したように、より確実にバージョンアップを行うことができるように、同一のバージョンアッププログラムが複数送信されている。
【０１３９】
すなわち、メインマイコン５は、バージョンアッププログラム７２を取得したとき、期間Ｔ76において、そのチェックを行い、バージョンアッププログラム７２−３をサブマイコンＢ１１に送信する。
【０１４０】
そして、サブマイコンＢ１１は、メインマイコン５からバージョンアッププログラム７２−３が送信されてきたとき、期間Ｔ104において、それを、より古いバージョンのプログラムが記憶されている可変プログラム領域Ｂ５３に書き込む。この例においては、バージョンアッププログラム７２−３により、バージョン２のプログラムがバージョン４のプログラムにバージョンアップされている。サブマイコンＢ１１は、その後、期間Ｔ105において、バージョンアップが正常に完了したことをメインマイコン５に通知する。
【０１４１】
メインマイコン５は、全てのサブマイコンから、プログラムのバージョンアップを正常に完了したことの通知を受けたとき、期間Ｔ77において、起動フラグの設定を変更する。図１４の例においては、全てのフラッシュメモリにおいて、領域Ｂ（可変プログラム領域Ｂ３３、可変プログラム領域Ｂ４３、可変プログラム領域Ｂ５３、可変プログラム領域Ｂ６３）に記憶されているプログラムの方が、領域Ａ（可変プログラム領域Ａ３２、可変プログラム領域Ａ４２、可変プログラム領域Ａ５２、可変プログラム領域Ａ６２）に記憶されているプログラムよりも新しいものに書き換えられているため、メインマイコン５は、起動フラグの設定を「設定Ｂ」に書き換える。
【０１４２】
これにより、次に起動が指示されたとき、領域Ｂ（可変プログラム領域Ｂ３３、可変プログラム領域Ｂ４３、可変プログラム領域Ｂ５３、可変プログラム領域Ｂ６３）に記憶されているプログラムがそれぞれ起動されることとなる。なお、起動されたプログラムが連動して各種の処理を実行できるものであれば、起動フラグにより指定される領域がマイクロコンピュータ毎に異なるようにしてもよい。例えば、起動フラグの設定を、メインマイコン５に対しては領域Ａ（可変プログラム領域Ａ３２）を指定するものとし、サブマイコンＡ９に対しては領域Ｂ（可変プログラム領域Ｂ４３）を指定するものとすることもできる。
【０１４３】
そして、メインマイコン５は、起動フラグの設定を変更したとき、期間Ｔ78において、書き込みが終了したことを図示せぬ電源制御回路に通知し、電源の供給を停止させる。
【０１４４】
これにより、期間Ｔ53において、テレビジョン受像機は、いずれの動作も行っていないスタンバイの状態となる。
【０１４５】
そして、時刻ｔ22において、利用者により、パワーオンが指示されたとき、それまでスタンバイ状態であったテレビジョン受像機はパワーオンの状態となり、各マイコンにおいて、図７を参照して説明したものと同様の起動処理が行われる。
【０１４６】
すなわち、期間Ｔ79において、メインマイコン５により、ブートプログラムに基づく起動処理が行われ、同様に、期間Ｔ96、期間Ｔ106、および期間Ｔ126において、サブマイコンＡ乃至Ｃにより、それぞれ、ブートプログラムに基づく起動処理が行われる。
【０１４７】
メインマイコン５においては、ブートプログラムによる起動が終了したとき、フラッシュメモリ７から、最新のバージョンのプログラム、すなわち、可変プログラム領域Ｂ３３に書き込まれたバージョン４のプログラムが読み出され、期間Ｔ80で起動される。
【０１４８】
そして、メインマイコン５は、起動フラグの設定を各サブマイコンに通知し、それ以降、可変プログラム領域Ｂ３３から読み出したバージョン４のプログラムに基づいて各種の処理を実行する。
【０１４９】
サブマイコンＡ乃至Ｃは、メインマイコン５から起動フラグの設定が通知されてきたとき、期間Ｔ98、期間Ｔ108、および期間Ｔ128において、それぞれ、バージョンアッププログラムにより書き換えた最新のバージョンのプログラムを起動させる。図１４の例においては、サブマイコンＡ９により、バージョン６のプログラムが起動され、サブマイコンＢ１１により、バージョン４のプログラムが起動され、サブマイコンＣ１４により、バージョン８のプログラムが起動されている。そして、それ以降、各マイクロコンピュータにより、各種の処理が行われる。
【０１５０】
以上の処理により、２つの可変プログラム領域のうち、古いバージョンのプログラムが記憶されている領域に、ダウンロードしたバージョンアッププログラムを記憶させるようにしたので、その書き込みが失敗した場合であっても、書き込みを実行していない、新しいバージョンのプログラムが記憶されている領域のプログラムは依然、有効なものとして利用することができる。
【０１５１】
また、全てのサブマイコンのプログラムのバージョンアップが完了したときに、起動フラグの設定を変更するようにしたので、書き換えたプログラムのバージョンの不整合により、各マイクロコンピュータが協働して処理を行うことができなくなるといったことを抑制することができる。例えば、いずれかのマイクロコンピュータのプログラムがバージョンアップされていないにも関わらず、起動フラグの設定が変更された場合、起動フラグの設定に基づいてプログラムが起動されることにより、起動されたプログラムが、協働して各種の処理を行うことができないバージョンのものとなることがある。
【０１５２】
以上においては、バージョンアッププログラムのダウンロード、およびプログラムの書き換えなどの処理は、スタンバイ状態のときに実行されるとしたが、電源オンの状態で、映像や音声の出力を制御しながら、それらの処理が実行されるようにしてもよい。その場合、各マイクロコンピュータは、起動した状態であるので、SDTTに基づいて行われる、タイマの設定の処理（例えば、図８を参照して説明した処理）は省略される。
【０１５３】
さらに、フラッシュメモリ７には、可変プログラム領域Ａ３２と可変プログラム領域Ｂ３３が設けられるとしたが、さらに多数の領域を設けるようにしてもよい。この場合、アドレスにより指定して、それぞれの領域を区別させるようにしてもよいし、各プログラムをファイルにより管理させるようにしてもよい。また、ディレクトリ構造により、プログラムを管理させるようにしてもよい。他のフラッシュメモリ（フラッシュメモリ１０，１２，１５）も同様である。
【０１５４】
以上においては、デマルチプレクサ２を制御するマイクロコンピュータ５が、他のマイクロコンピュータのプログラムをも管理するとしたが、他のマイクロコンピュータにより、上述したようなマイクロコンピュータ５の処理が実行されるようにしてもよい。例えば、マイクロコンピュータ９やマイクロコンピュータ１６により、上述したようなマイクロコンピュータ５の処理が実行されるようにしてもよい。
【０１５５】
なお、本発明をテレビジョン受像機に適用した場合について説明したが、以上の処理を、STB(Set Top Box)のマイクロコンピュータのプログラムをバージョンアップさせる場合に適用させることもできる。また、BS(Broadcasting Satellite)ディジタル放送を取り扱う機器だけでなく、CS(Communications Satellite)ディジタル放送や、地上波ディジタル放送を取り扱う機器にも適用することができる。
【０１５６】
【発明の効果】
本発明の放送受信装置および放送受信方法によれば、第１のマイクロコンピュータにより利用される複数のバージョンの第１のプログラムを記憶し、第２のマイクロコンピュータにより利用される複数のバージョンの第２のプログラムを記憶する。また、第１のマイクロコンピュータは、複数のバージョンの第１のプログラムのうちの、フラグにより指定されるバージョンの第１のプログラムを起動するとともに、フラグの設定を第２のマイクロコンピュータに通知する。さらに、第２のマイクロコンピュータは、第１のマイクロコンピュータから通知されてきたフラグの設定に基づいて、複数のバージョンの第２のプログラムのうちの、所定のバージョンの第２のプログラムを起動するようにしたので、放送受信装置内に設けられる複数のマイクロコンピュータのそれぞれの機能を、容易に変更、または追加でき、その後起動されたプログラムに従って、正常な動作を実行させることができる。
【図面の簡単な説明】
【図１】本発明を適用したテレビジョン受像機の構成例を示すブロック図である。
【図２】バージョンアッププログラムのダウンロードの概念を示す図である
【図３】図２のSDTTの例を示す図である。
【図４】図２のバージョンアッププログラムの構成例を示す図である。
【図５】図１のメインマイコンの処理を説明するフローチャートである。
【図６】図１のサブマイコンＡの処理を説明するフローチャートである。
【図７】起動処理の具体例を示す図である。
【図８】図１のメインマイコンの他の処理を説明するフローチャートである。
【図９】図１のTVマイコンの処理を説明するフローチャートである。
【図１０】図１のメインマイコンのさらに他の処理を説明するフローチャートである。
【図１１】図１のメインマイコンのさらに他の処理を説明する、図１０に続くフローチャートである。
【図１２】図１のメインマイコンの処理を説明するフローチャートである。
【図１３】図１のサブマイコンＡの他の処理を説明するフローチャートである。
【図１４】ダウンロード処理の具体例を示す図である。
【符号の説明】
２  デマルチプレクサ，  ５  マイクロコンピュータ，  ６  SDRAM，  ７  フラッシュメモリ，  ９  マイクロコンピュータ，  １０  フラッシュメモリ，１１  マイクロコンピュータ，  １２  フラッシュメモリ，  １４  マイクロコンピュータ，  １５  フラッシュメモリ
【図１】
0003932547.tif 000002
【図２】
0003932547.tif 000003
【図３】
0003932547.tif 000004
【図４】
0003932547.tif 000005
【図５】
0003932547.tif 000006
【図６】
0003932547.tif 000007
【図７】
0003932547.tif 000008
【図８】
0003932547.tif 000009
【図９】
0003932547.tif 000010
【図１０】
0003932547.tif 000011
【図１１】
0003932547.tif 000012
【図１２】
0003932547.tif 000013
【図１３】
0003932547.tif 000014
【図１４】
0003932547.tif 000015