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