(57)【要約】【課題】  本発明は、プログラムの更新の不完全さに起因するシステムの立ち上がり不良を防止することができる情報処理装置を提供する。【解決手段】  放送波をチューナーにより受信し（Ｓ７０４）、受信した放送波にプログラム更新に関する告知情報が含まれているか否かを判断する（Ｓ７０５）。告知情報が含まれている場合、この告知情報に含まれるプログラム更新の開始時間情報に基づいて、更新用のプログラムが受信可能な状態に情報処理装置を設定する（Ｓ７０９）。【選択図】  図７
2006304341.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段に記憶されたプログラムに基づき、放送波を受信し、出力手段に出力する制御を行う情報処理装置であって、
前記受信した放送波に前記プログラムの更新用のプログラムに関する情報が含まれているか否かを判断する第１の判断手段と、
前記第１の判断手段により前記情報が含まれていると判断された場合、前記更新用のプログラムにより前記プログラムを更新する必要があるか否か判断する第２の判断手段と、
前記第２の判断手段により更新する必要があると判断された場合、前記更新用のプログラムが受信可能な状態にする制御手段と、
前記制御手段による受信可能な状態で、前記更新用のプログラムを受信する受信手段と、
前記プログラムに基づく制御から、前記受信手段により受信した更新用のプログラムに基づく制御へ変更する変更手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記情報には、前記情報処理装置の製造メーカー、型番、プログラムのバージョン、プログラムの識別子、ネットワーク番号、プログラムの送信開始時間、プログラムの送信終了予定時間の少なくとも１つを含むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
ユーザにより放送波の録画予約時間を受け付ける予約手段と、
前記プログラムの送信開始時間とプログラムの送信終了予定時間に基づく更新時間が、前記録画予約時間に重なるか否かを判断する第３の判断手段とを更に有し、
前記第３の判断手段により重なっていると判断された場合、前記受信手段により受信した前記更新用のプログラムの更新を行わないことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
記憶手段に記憶されたプログラムに基づき、放送波を受信し、出力手段に出力する制御を行う情報処理装置のプログラム更新方法であって、
前記受信した放送波に前記プログラムの更新用のプログラムに関する情報が含まれているか否かを判断する第１の判断工程と、
前記第１の判断工程により前記情報が含まれていると判断された場合、前記更新用のプログラムにより前記プログラムを更新する必要があるか否か判断する第２の判断工程と、
前記第２の判断工程により更新する必要があると判断された場合、前記更新用のプログラムが受信可能な状態にする制御工程と、
前記制御工程による受信可能な状態で、前記更新用のプログラムを受信する受信工程と、
前記プログラムに基づく制御から、前記受信工程により受信した更新用のプログラムに基づく制御へ変更する変更工程と
を有することを特徴とする情報処理装置のプログラム更新方法。
【請求項５】
記憶手段に記憶されたプログラムに基づき、放送波を受信し、出力手段に出力する制御を行うコンピュータプログラムを記憶したコンピュータ可読の記憶媒体であって、
前記受信した放送波に前記プログラムの更新用のプログラムに関する情報が含まれているか否かを判断する第１の判断ステップと、
前記第１の判断ステップにより前記情報が含まれていると判断された場合、前記更新用のプログラムにより前記プログラムを更新する必要があるか否か判断する第２の判断ステップと、
前記第２の判断ステップにより更新する必要があると判断された場合、前記更新用のプログラムが受信可能な状態にする制御ステップと、
前記制御ステップによる受信可能な状態で、前記更新用のプログラムを受信する受信ステップと、
前記プログラムに基づく制御から、前記受信ステップにより受信した更新用のプログラムに基づく制御へ変更する変更ステップと
を有するコンピュータプログラムを記憶したコンピュータ可読の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は情報処理装置、プログラム更新方法および記憶媒体に関し、特に、外部から転送されてくるデータによりプログラムを更新する情報処理装置、プログラム更新方法および記憶媒体に関する。
【背景技術】
【０００２】
通常、個人情報管理機能などの各種アプリケーションを実行する情報処理装置においては、各種アプリケーションの実行環境を得るためのファームウエアなどのプログラムが不揮発性メモリに書込まれている。
【０００３】
この不揮発性メモリに書込まれているプログラムにバグがあるとき、バージョンアップを行うときなどには、不揮発性メモリに書込まれているプログラムの書換えが行われる。
【０００４】
この不揮発性メモリに書込まれているプログラムを書き換えるための方法としては、特許文献１に記載されているものがある。この方法では、外部から放送波、或いは、電話回線等を介して送信された更新のためのプログラムを受信して一時的に保持し、１つの不揮発性メモリに格納されているプログラムを、受信したプログラムに自動的に書き換えるものである。
【０００５】
また、ディジタル放送はこれまでのアナログ放送に比べて、新しいサービスが次々に生まれる可能性が非常に高い。従って、ディジタル放送の受信機を購入しても従来のように購入時の機能が変わらなければ新しいサービスに対応できないのであれば、すぐに陳腐化してしまう恐れがある。
【０００６】
これに対応するために受信機のハードウエアを変えることなく、ソフトウエアであるプログラムを変えることで新しいサービスに対応させようとする考え方がある。即ち、ディジタル放送を受信可能な機器のプログラムを更新しようとする場合、プログラムを放送電波に載せて送り、ダウンロードして更新する方法がある。
【特許文献１】特開平６−０４４０６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載されている方法は、１つの不揮発性メモリに格納されているプログラムを、新たなプログラムに書き換えるものであるから、このプログラムの更新中に停電などにより電源供給が遮断されると、プログラムの更新が完全に実行されず、このプログラムの更新の不完全さによりシステムが立ち上がらないような事態に陥る可能性がある。
【０００８】
また、受信機のダウンロードに関しては、機器の動作状況に関しては何ら考慮されておらず、受信機の動作中の場合においてもプログラムが更新されてしまい、誤動作する恐れがあった。
【０００９】
本願発明は、プログラムの更新の不完全さに起因するシステムの立ち上がり不良を未然に防止することができる情報処理装置、プログラム更新方法および記憶媒体を提供することを目的とする。
【００１０】
また、本願発明は、受信側の動作状況に基づいて、プログラムを更新する情報処理装置及びプログラム更新方法および記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本願発明の情報処理装置は、記憶手段に記憶されたプログラムに基づき、放送波を受信し、出力手段に出力する制御を行う情報処理装置であって、前記受信した放送波に前記プログラムの更新用のプログラムに関する情報が含まれているか否かを判断する第１の判断手段と、前記第１の判断手段により前記情報が含まれていると判断された場合、前記更新用のプログラムにより前記プログラムを更新する必要があるか否か判断する第２の判断手段と、前記第２の判断手段により更新する必要があると判断された場合、前記更新用のプログラムが受信可能な状態にする制御手段と、前記制御手段による受信可能な状態で、前記更新用のプログラムを受信する受信手段と、前記プログラムに基づく制御から、前記受信手段により受信した更新用のプログラムに基づく制御へ変更する変更手段とを有することを特徴とする。
【００１２】
また、本願発明のプログラム更新方法は、記憶手段に記憶されたプログラムに基づき、放送波を受信し、出力手段に出力する制御を行う情報処理装置のプログラム更新方法であって、前記受信した放送波に前記プログラムの更新用のプログラムに関する情報が含まれているか否かを判断する第１の判断工程と、前記第１の判断工程により前記情報が含まれていると判断された場合、前記更新用のプログラムにより前記プログラムを更新する必要があるか否か判断する第２の判断工程と、前記第２の判断工程により更新する必要があると判断された場合、前記更新用のプログラムが受信可能な状態にする制御工程と、前記制御工程による受信可能な状態で、前記更新用のプログラムを受信する受信工程と、前記プログラムに基づく制御から、前記受信工程により受信した更新用のプログラムに基づく制御へ変更する変更工程とを有することを特徴とする。
【００１３】
また、本願発明の記憶媒体は、記憶手段に記憶されたプログラムに基づき、放送波を受信し、出力手段に出力する制御を行うコンピュータプログラムを記憶したコンピュータ可読の記憶媒体であって、前記受信した放送波に前記プログラムの更新用のプログラムに関する情報が含まれているか否かを判断する第１の判断ステップと、前記第１の判断ステップにより前記情報が含まれていると判断された場合、前記更新用のプログラムにより前記プログラムを更新する必要があるか否か判断する第２の判断ステップと、前記第２の判断ステップにより更新する必要があると判断された場合、前記更新用のプログラムが受信可能な状態にする制御ステップと、前記制御ステップによる受信可能な状態で、前記更新用のプログラムを受信する受信ステップと、前記プログラムに基づく制御から、前記受信ステップにより受信した更新用のプログラムに基づく制御へ変更する変更ステップとを有する。
【発明の効果】
【００１４】
本願発明によれば、情報処理装置の動作中に、プログラムの変更による不自然な動作を防止することができ、放送波に含まれる情報に基づき、送信される更新用のプログラムによる更新が必要であるか否かを判断し、判断の結果に基づいて更新用のプルグラムを受信可能な状態にすることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本願発明の実施の形態を、図を参照しながら説明する。
【００１６】
（第１の実施の形態）
図１は、第１の実施の形態に係る情報処理装置の構成を示すブロック図である。
【００１７】
図１に示すように、情報処理装置は、フラッシュメモリＡ１２又はフラッシュメモリＢ１３のいずれかに格納されているプログラムに従ってシステム制御を行うＭＰＵ１０と、リセット解除後にＭＰＵ１０がフラッシュメモリＡ１２又はフラッシュメモリＢ１３のいずれかに格納されているプログラムを選択するかを示すジャンプ命令が格納されているＥＥＰＲＯＭ１１と、ＭＰＵ１０の作業領域を提供するＲＡＭ１４と、外部装置（不図示）とのインタフェースを司る外部インタフェース１７とを備え、ＭＰＵ１０と各ブロックとは共通バス１８を介して接続されている。なお、その他の構成が、必要に応じて接続されることは言うまでもない。
【００１８】
ここで、共通バス１８のアドレスは２０ビットであって、ＥＥＰＲＯＭ１１はアドレスＦＦＦＦ０ｈ〜ＦＦＦＦＦｈ、フラッシュメモリＡ１２はアドレス０００００ｈ〜３ＦＦＦＦｈ、フラッシュメモリＢ１３はアドレス４００００ｈ〜７ＦＦＦＦｈ，ＲＡＭ１４はアドレス８００００ｈ〜ＢＦＦＦＦｈにそれぞれ割り振られている。
【００１９】
次に、本情報処理装置におけるＭＰＵ１０による処理について、図２を参照しながら説明する。
【００２０】
図２は、図１に示した情報処理装置におけるプログラム更新機能処理の状態遷移図である。
【００２１】
なお、本処理はフラッシュメモリＡ１２、又は、Ｂ１３に格納されているプログラムに基づき実行され、本処理には、プログラム更新する処理が含まれている。
【００２２】
電源スイッチ（不図示）により電源がオンされて、リセットが解除されると（ステップＳ２１０）、ＭＰＵ１０は、アドレスＦＦＦＦ０ｈを指定し、この領域に割り振られているＥＥＰＲＯＭ１１の内容を読み出す。この内容にはジャンプ命令が書込まれており、ＭＰＵ１０はこのジャンプ命令に基づきフラッシュメモリＡ１２又はＢ１３のいずれかに格納されているプログラムを選択し、選択したプログラムに従いシステムを立ち上げる（ステップＳ２１１）。ここでは、フラッシュメモリＡ１２が選択され、ＭＰＵ１０はフラッシュメモリＡ１２のプログラムに従い処理を実行するものとする。
【００２３】
このようにシステムが立ち上げられた状態（ステップＳ２１２）において、外部装置から放送波、電話回線などの通信媒体により送信されたプログラムを外部インタフェース１７を介して受信すると（ステップＳ２１３）、ＭＰＵ１０はこのプログラムを最後まで受信したか否かをチェックサムなどで調べ（ステップＳ２１４）、このプログラムの受信が正常に終了しなかったときには、受信したプログラムを消去する（ステップＳ２２１）。そして、処理を終了する（ステップＳ２２２）。
【００２４】
プログラムの受信が正常に終了したときには、この受信したプログラムをＲＡＭ１４に一旦格納する（ステップＳ２１５）。
【００２５】
次いで、ＭＰＵ１０は、受信したプログラムに含まれているＩＤなどの情報に基づき、該プログラムが本装置のシステム用プログラムで、かつ、バージョンが現在稼動しているプログラムのバージョンより新しいか否かを判定する（ステップＳ２１６）。受信したプログラムが本装置のシステム用プログラムではない、または、そのバージョンが現在稼動しているプログラムより新しくない場合、ＭＰＵ１０は、この受信したプログラムを不要なプログラムと判断して消去する（ステップＳ２２１）。
【００２６】
受信したプログラムが本装置のシステム用プログラムで、かつ、そのバージョンが現在稼動しているプログラムのバージョンより新しいときには、ＭＰＵ１０はこの受信したプログラムは更新用プログラムであると判断し、このプログラムの動作チェックを行う（ステップＳ２１７）。
【００２７】
この動作チェックプログラムでは、受信したプログラムを起動し、動作自動チェックプログラムにより受信したプログラムの動作をチェックする。この動作チェックの結果、受信したプログラムが正常に動作しないことを確認すると、この受信したプログラムを消去する（ステップＳ２２１）。
【００２８】
上記動作チェックの結果、受信したプログラムが正常に動作することを確認すると、受信したプログラムすなわち更新用プログラムを、選択実行中ではないフラッシュメモリであるフラッシュメモリＢ１３に書込み（ステップＳ２１８）、そしてフラッシュメモリＢ１３に格納されているプログラムの内容に従いシステムを動作させる（ステップＳ２１９）。この動作が正常でないときには、フラッシュメモリＢ１３にプログラムが書込まれた状態で処理を終了する（ステップＳ２２２）。上記動作結果が正常であったときには、次回の電源オン時にフラッシュメモリＢ１３を選択するようにＥＥＰＲＯＭ１１の内容を書き換え（ステップＳ２２０）、本処理を終了する（ステップＳ２２２）。
【００２９】
このように、受信したプログラムが更新用プログラムであって、正常に動作可能なものであるときには、この受信したプログラムがフラッシュメモリＢ１３に書込まれると共に、次回の電源オン時には、このフラッシュメモリＢ１３が選択されるから、次回の電源オン時には、新しいバージョンのプログラムが起動されることになる。
【００３０】
また、フラッシュメモリＢ１３の内容に従う動作が正常に行われないときには、次回の電源オン時に選択するフラッシュメモリとしてフラッシュメモリＡ１２が選択されることになり、フラッシュメモリＡ１２のプログラムの内容に従いシステムが起動する。従って、フラッシュメモリＢ１３へのプログラムの更新の不完全さに起因してシステムが立ち上がらないなどのシステムの不具合を未然に防止することができる。
【００３１】
また、フラッシュメモリＢ１３が選択されているときには、更新用プログラムがフラッシュメモリＡ１２に書込まれることになり、最新のバージョンプログラムがフラッシュメモリＡ１２に、それより古いバージョンのプログラムがフラッシュメモリＢ１３に格納されていることになる。
【００３２】
（第２の実施の形態）
次に、本願発明の第２の実施の形態について、図３を参照しながら説明する。
【００３３】
図３は、図１に示した情報処理装置における第２の実施の形態におけるプログラム更新機能処理の状態遷移図である。なお、本実施の形態における構成は、第１の実施の形態と同様の構成を有し、その構成についての説明は省略する。
【００３４】
本実施の形態では、ＥＥＰＲＯＭ１１に自動チェックプログラム及びジャンプ命令を格納し、フラッシュメモリＡ１２とフラッシュメモリＢ１３とには、それぞれ異なるバージョンのプログラムが格納され、上記ジャンプ命令に従い選択したフラッシュメモリのプログラムを実行する前に、該プログラムの動作内容をチェックし、該プログラムに不具合があるか否かを判定し、選択したフラッシュメモリのプログラムに不具合があるときに、他方のフラッシュメモリを選択してそのプログラムを実行する。
【００３５】
具体的には、図３に示すように、電源がオンされてリセットが解除されると（ステップＳ３１０）、ＭＰＵ１０は、ＥＥＰＲＯＭ１１の自動動作チェックプログラムを起動し、ＥＥＰＲＯＭ１１のジャンプ命令が指定するフラッシュメモリのプログラムの内容をチェックする（ステップＳ３１１）。ここで、フラッシュメモリＡ１２が指定されているとすると、自動動作チェックプログラムによりフラッシュメモリＡ１２のプログラム内容がチェックされる。自動動作チェックプログラムにより動作が正常に行われることが確認されると、ＭＰＵ１０は、フラッシュメモリＡ１２のプログラム内容に従いシステムを動作させ（ステップＳ３１３）、本処理を終了する（ステップＳ３１６）。
【００３６】
これに対して、自動動作チェックプログラムにより動作が正常に行われないことが確認されると、ＭＰＵ１０は、自動動作チェックプログラムによりフラッシュメモリＢ１３のプログラム内容をチェックし（ステップＳ３１２）、このプログラム動作が正常に行われないことを確認すると、本処理を終了する（ステップＳ３１６）。
【００３７】
フラッシュメモリＢ１３のプログラム動作が正常に行われることを確認すると、次回の電源オン時にフラッシュメモリＢ１３を選択するようにＥＥＰＲＯＭ１１の内容を書き換え（ステップＳ３１４）、フラッシュメモリＢ１３のプログラム内容に従い本システムを動作させ（ステップＳ３１５）、そして本処理を終了する（ステップＳ３１６）。
【００３８】
（第３の実施の形態）
次に、本願発明の第３の実施の形態について、図４及び図５を参照しながら説明する。
【００３９】
図４は、第３の実施の形態に係る情報処理装置の構成を示すブロック図、図５は、図４に示した情報処理装置におけるプログラム更新機能処理の状態遷移図である。
【００４０】
本実施の形態に係る情報処理装置は、図４に示すように、ＲＯＭ４１に格納されているプログラムに従ってシステム制御を含む処理制御を行うＭＰＵ４０と、ＲＯＭ４１に格納されているプログラムをバージョンアップするためのバージョンアップ用プログラムを格納するフラッシュメモリ４２と、ＭＰＵ４０の作業領域を提供するＲＡＭ４４と、補助記憶装置４６と、この補助記憶装置４６とのインターフェースを司る記憶装置インタフェース４５と、外部装置（不図示）とのインタフェースを司る外部インタフェース４７とを備え、ＭＰＵ４０と各ブロックとは共通バス４８を介して接続されている。なお、その他の構成が、必要に応じて接続されることは言うまでもない。
【００４１】
ここで、ＲＯＭ４１に格納されているプログラム（システムプログラム）は製品出荷時のものである。また、ＲＯＭ４１にはシステムプログラムとともに自動動作チェックプログラムが格納されている。
【００４２】
次に、本情報処理装置におけるＭＰＵ４０による処理について、図５を参照しながら説明する。
【００４３】
電源スイッチ（不図示）により電源がオンされてリセットが解除されると（ステップＳ５０７）、ＭＰＵ４０は、ＲＯＭ４１から自動動作チェックプログラムを読み出して起動し、この自動動作チェックプログラムによりフラッシュメモリ４２のプログラム動作をチェックする（ステップＳ５０８）。ここで、バージョンアップ用プログラムが外部から取り込まれるまでは、フラッシュメモリ４２にはバージョンアップ用プログラムが格納されておらず、ＭＰＵ４０は、ＲＯＭ４１のシステムプログラムを起動してシステムを立ち上げる（ステップＳ５１１）。
【００４４】
このようにシステムが起動されて、動作している最中に外部装置から放送波、電話回線などの通信媒体により送信されたプログラムを外部インタフェース４７を介して受信すると（ステップＳ５１３）、ＭＰＵ４０はこのプログラムの最後の部分まで受信したか否かをチェックサムなどで調べ（ステップＳ５１４）、このプログラムの受信が正常に終了しなかったときには、受信したプログラムを消去し（ステップＳ５２１）、そして処理を終了する（ステップＳ５２２）。
【００４５】
これに対し、プログラムの受信が正常に終了したときには、この受信したプログラムはＲＡＭ４４に一旦格納される（ステップＳ５１５）。次いで、ＭＰＵ４０は、受信したプログラムに含まれているＩＤなどの情報に基づき、該プログラムが本装置のシステム用プログラムで、かつ、そのバージョンが現在稼動しているプログラムのバージョンより新しいか否かを判定する（ステップＳ５１６）。
【００４６】
受信したプログラムが本装置のシステム用プログラムでない場合、または、そのバージョンが現在稼動しているプログラムのバージョンより新しくない場合、ＭＰＵ４０は、この受信したプログラムを不要なプログラムと判断して消去する（ステップＳ５２１）。
【００４７】
受信したプログラムが本装置のシステム用プログラムで、かつ、そのバージョンが現在稼動しているプログラムのバージョンより新しいときには、ＭＰＵ４０は、この受信したプログラムはバージョンアップ用プログラムであると判断して、このプログラムの動作チェックを行う（ステップＳ５１７）。この動作チェックでは、受信したプログラムを起動し、自動動作チェックプログラムにより受信したプログラムの動作をチェックする。この動作チェックの結果、受信したプログラムが正常に動作しないことを確認すると、この受信したプログラムを消去する（ステップＳ５２１）。
【００４８】
上記の動作チェックの結果、受信したプログラムが正常に動作することを確認すると、受信したプログラム即ちバージョンアップ用プログラムをフラッシュメモリ４２に書込み（ステップＳ５１８）、そして、フラッシュメモリ４２に格納されているプログラムに従いシステムを動作させる（ステップＳ５１９）。この動作結果が正常でないときは、フラッシュメモリ４２にプログラムが書き込まれた状態で処理を終了する（ステップＳ５２２）。上記動作が正常であったときには、記憶装置インタフェース４５を介して補助記憶装置４６に受信したプログラムを書込み（ステップＳ５２０）、本処理を終了する（ステップＳ５２２）。
【００４９】
このように、受信したプログラムがバージョンアップ用プログラムであって正常に動作可能なものであるときには、この受信したプログラムがフラッシュメモリ４２と補助記憶装置４６とにそれぞれ書込まれる。それと共に、次回の電源オン時には、フラッシュメモリのバージョンアップ用プログラムが選択されるため、次回の電源オン時には、新しいバージョンのプログラムが起動されることになる。
【００５０】
次に電源がオンされる（ステップＳ５０７）と、ＭＰＵ４０は、ＲＯＭ４１から自動動作チェックプログラムを読み出して起動し、この自動動作チェックプログラムによりフラッシュメモリ４２のバージョンアップ用プログラムの動作をチェックする（ステップＳ５０８）。この自動動作チェックプログラムにより、バージョンアップ用プログラムの動作が正常に行われることを確認すると、ＲＯＭ４１のシステムプログラムが起動され、バージョンアップされたシステムが立ち上がる（ステップＳ５１１）。
【００５１】
これに対し、自動動作チェックプログラムにより、バージョンアップ用プログラムの動作が正常に行われないことを確認すると、記憶装置インタフェース４５を介して補助記憶装置４６からバージョンアップ用プログラムが読み出されてフラッシュメモリ４４に書込まれる（ステップＳ５０９）。そして、ＲＯＭ４１のシステムプログラムと共にフラッシュメモリ４２のバージョンアップ用プログラムが起動され、バージョンアップされたシステムが立ち上がる（ステップＳ５１１）。以降、上述の動作と同様の動作が実行される。
【００５２】
このようにバージョンアップ用プログラムを取り込むと、このバージョンアップ用プログラムがフラッシュメモリ４２及び補助記憶装置４６に記憶されることになるから、この後にフラッシュメモリ４２のバージョンアップ用プログラムが何らかの原因で失われたとしても、このバージョンアップ用プログラムを補助記憶装置４６から読み出すことができ、バージョンアップされたシステムを立ち上げることができる。また、バージョンアップ用プログラムを取り込む最中にプログラムが停電などにより失われたとしても、補助記憶装置４６に古いバージョンのプログラムが、または、ＲＯＭ４１に出荷時のシステムプログラムが格納されているから、フラッシュメモリ４２へのプログラムの更新の不完全さに起因してシステムが立ち上がらないなどのシステムの不具合を未然に防止することができる。
【００５３】
（第４の実施の形態）
次に、第４の実施の形態について、図６〜図９を参照しながら説明する。なお、以下の実施の形態は、情報処理装置として、ＩＲＤ（Ｉｎｔｅｇｒａｔｅｄ  Ｒｅｃｅｉｖｅｒ  Ｄｅｃｏｄｅｒ）を用いた例を示している。
【００５４】
図６は、第４の実施の形態に係る、ディジタル放送に対応したＩＲＤ（Ｉｎｔｅｇｒａｔｅｄ  Ｒｅｃｅｉｖｅｒ  Ｄｅｃｏｄｅｒ）の構成を示すブロック図である。ここで、放送は、ＤＶＢ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｂｒｏａｄｃａｓｔｉｎｇ）の放送システム、映像はＩＳＯ／ＩＥＣ  ６１８１８―２のＭＰＥＧ２、音声はＩＳＯ／ＩＥＣ  ６１８１８−３のＭＰＥＧ２にそれぞれ従って送られてくるものとする。
【００５５】
６１０はプログラムに従って本ＩＲＤ全体を制御するプログラム実行部、６０６はプログラム実行部６１０と各部を結ぶ共通バスである。
【００５６】
ディジタル放送波を受信し、プログラム実行部６１０の指示に従い所望の周波数を選択するチューナー６０１からの信号は、復調＆エラー訂正部６０２において復調と通信路で発生したエラーの検出と訂正が行なわれる。次に、デマルチプレクサ６０３に送られて、多重化されたストリームから所望のプログラムの識別子（ＰＩＤ）を持つストリームを選択し、映像・音声ストリームと番組情報・プログラム告知情報・プログラムデータを含むデータストリームに分割されて出力される。
【００５７】
データストリームは、ローダー部６０７とプログラム実行部６１０に送られる。デマルチプレクサ６０３で選択された映像・音声ストリーム信号は、ＡＶデコーダー６０４でＭＰＥＧ２映像・音声データにデコードされ、再生＆画面合成部６０５により映像データはアナログビデオ信号に、音声データは音声アナログ信号に再生・出力される。更に、再生＆画面合成部６０５はプログラム実行部６１０からの指示によりＥＰＧ画面・操作画面等を合成し、ビデオ信号として出力できる。
【００５８】
６１１は入力部であり、ユーザーからの操作状況をキーやリモコンからの入力データとしてプログラム実行部６１０に伝える。電源スイッチ・ＯＫキーもこの入力部６１１に含まれる。
【００５９】
６０７はローダー部であり、データストリームから所定のデータを選択し、ハード情報格納制御・ソフト情報格納制御・プログラム格納制御を行う。６０８はハード情報格納部でありメーカー名及び機種名というハードウエア情報を格納しており、この情報は書き換わることはない。６０９はソフト情報格納部であり、ローダー部６０７からのソフトウエアバージョン番号を格納しており、プログラム更新作業によりダウンロードされたバージョンに書き換わる。
【００６０】
６１２はメモリ制御部であり、不揮発性プログラム格納部Ａ６１４、不揮発性プログラム格納部Ｂ６１５、ワーク領域用ＲＡＭ６１６の各メモリを制御する。不揮発性プログラム格納部Ａ６１４と不揮発性プログラム格納部Ｂ６１５は、電源の供給が無くてもその内容を保持している不揮発性メモリで構成され、異なるバージョンのプログラムを各々格納するメモリ領域であり、電源オン時にメモリ制御部６１２により、どちらの不揮発性プログラム格納部に格納されているプログラムが実行されるか決定される。ローダー部６０７から更新されるプログラムがダウンロードされ格納される際、どちらの不揮発性プログラム格納部に書込まれるかはメモリ制御部６１２が決定する。ワーク領域用ＲＡＭ６１６は、プログラム実行部６１０がプログラム実行中のワーク用ＲＡＭ領域として用いる。
【００６１】
６１３は液晶、プラズマパネル等を用いた表示器であり、プログラム実行部６１０の指示により、「スタンバイ中」、「受信番組のチャネル」、「ネットワークの種類」、「プログラム更新中」、「プログラム更新完了」、「プログラム更新失敗」というようなメッセージ・動作状態などを絵文字・アイコン・文字などで表示できる。
【００６２】
６１７はタイマー部であり、共通バス６０６を介してプログラム実行部６１０の指令によりタイマーをセットし、所定の時間になるとプログラム実行部６１０にそのことを知らせることができる。
【００６３】
６１８は電源部であり、電源スイッチは入力部６１１に含まれるため電源スイッチをオフにしても、電源コードがコンセントにささっている状態で、プログラム実行部６１０による共通バス６０６を介した指令によりプログラム実行部６１０・タイマー部６１７のみに電源を供給し、それ以外の部分は電源供給を止めてしまうスタンバイ状態にすることが可能である。電源スイッチをオフにしても直ちにスタンバイ状態になる必要はなく、プログラム実行部６１０が何らかの処理を行ったあと、スタンバイ状態に移ることができる。スタンバイ状態から電源スイッチをオンにすると、ＩＲＤ全体に電源を供給して動作状態になる。６１９、６２０は電源部６１８からの各々プログラム実行部６１０、タイマー部６１７への個別の電源供給線を示す。
【００６４】
ここで、プログラムは、ＯＳカーネル、ＭＰＥＧドライバ等のドライバソフト、ＥＰＧ表示画面・操作画面などのアプリケーションソフト等を含むものをいう。
【００６５】
図７〜図９のフローチャートを用いて、本実施の形態の動作を説明する。ここで、初期状態において不揮発性プログラム格納部Ａ６１４に、有効なプログラムが格納されていて、不揮発性プログラム格納部Ｂ６１５の内容は無効とする。
【００６６】
スタンバイ状態から電源スイッチをオンにすると（ステップＳ７０１）、メモリ制御部６１２は不揮発性プログラム格納部Ａ６１４の内容を読み出し、プログラム実行部６１０はその内容を実行し始める（ステップＳ７０２）。プログラム実行部６１０はバス６０６を介してチューナー６０１、復調＆エラー訂正部６０２、デマルチプレクサ６０３、ＡＶデコーダ６０４の各部を適切に制御して放送波が受信可能な状態にセットする（ステップＳ７０３）。
【００６７】
入力部６１１からのキーまたはリモコン操作によるユーザーにより指示された番組を受信し続け、再生＆画面合成部６０５からビデオ信号と音声信号とを出力する（ステップＳ７０４）。ここで、放送波を受信中に告知情報を示すＰＩＤ、例えばＰＩＤ＝００４０ｈを受信すると（ステップＳ７０５）、デマルチプレクサ６０３を介してそのデータ、つまり、「製造メーカー・型番・プログラムのバージョン・プログラム識別子（ＰＩＤ）を含むロードデータ・送信するネットワーク番号・トランスポート番号・送信開始日時・終了予定日時」等の告知情報がプログラム実行部６１０及びローダー部６０７に伝えられ、その中からローダー部６０７は、「プログラムの識別子（ＰＩＤ）を含むダウンロードデータ・送信するネットワーク番号・トランスポート番号・終了予定日時」の情報をメモリ制御部６１２を介して不揮発性プログラム格納部Ａ６１４の空き領域に書込む（ステップＳ７０６）。
【００６８】
プログラム実行部６１０は、ハードウエア情報格納部６０８からの製造メーカー・型番情報と送られてきた告知情報の中の製造メーカー・型番データを比較し一致していれば自分のＩＲＤに対してのプログラム更新と判断して（ステップＳ７０７）、次のステップに進み、不一致ならプログラム更新は中止される（ステップＳ７１１）。
【００６９】
更に、ソフトウエア情報格納部６０９からのソフトウエアバージョン番号情報と送られてきた告知情報の中のソフトウエアバージョンデータを比較して、送られてきた情報のバージョンが進んでいれば更新されたプログラムが送られてくると判断し（ステップＳ７０８）、次のステップに進み、そうでなければプログラム更新は中止される（ステップＳ７１１）。
【００７０】
プログラム実行部６１０は、送信開始日時のデータを用いて送信開始時間より準備時間を設けるため少し早い時間になったらタイマー部６１７にそのことを伝えるようにセットし、プログラム更新受信予約をする。（ステップＳ７０９）。
【００７１】
プログラム更新受信予約時間の所定の時間の前になり、タイマー部６１７からの指示があった、例えば受信予約時間の１分前になった、とする（ステップＳ７１０）。プログラム実行部６１０・タイマー部６１７以外に電源を供給していないスタンバイ状態時はこのＩＲＤが動作していないと判断して（ステップＳ８０１）、電源部６１８は電源をオンにしＩＲＤ各部に電源を供給する（ステップＳ８０２）。動作中ならプログラム更新は中止される（ステップＳ７１１）。
【００７２】
プログラム実行部６１０は、不揮発性プログラム格納部Ａ６１４から告知情報を呼び出し、その中の送信するネットワーク番号・トランスポート番号のデータを用いてチューナー６０１と復調＆エラー訂正部６０２のセットを行い、プログラム識別子（ＰＩＤ）を含むダウンロードデータを用いてデマルチプレクサ６０３のセットを行う（ステップＳ８０３）。プログラム実行部６１０は、チューナー部６０１の受信レベルを調べて、所定以上のレベルなら次に進み（ステップＳ８０４）、そうでなければ中止される（ステップＳ７１１）。
【００７３】
プログラム実行部６１０は、不揮発性プログラム格納部Ａ６１４から終了予定日時の告知情報を読み出し、終了予定日時までに他の番組予約が重なっているを確認し（ステップＳ８０５）、重なっていなければステップＳ８０６に進み、重なっていればプログラム更新は中止される（ステップＳ７１１）。
【００７４】
プログラム実行部６１０は、入力部６１１からのリモコン・キー操作を受け付けないようにし、プログラム更新中に不用意な入力操作で誤動作が起こらないように防止する（ステップＳ８０６）。
【００７５】
表示器６１３には、これからプログラム更新を行うので終了するまでリモコン・キー操作は受け付けませんという意味のプログラム更新中の絵文字を表示し、ユーザーに知らせる（ステップＳ８０７）。そして、受信予約通りに更新するプログラムを受信開始する（ステップＳ８０８）。受信したプログラムデータは、ＣＲＣチェックおよびチェックサムを用いてデータ化けがあるか確認して（ステップＳ９０１）、ない時はステップＳ９０２に進み、データ化けがある時はプログラム更新中にエラーが発生してプログラム更新が中断したので、表示器６１３にプログラム更新失敗の絵文字を表示し（ステップＳ９０７）、スタンバイ状態になる（ステップＳ９０６）。
【００７６】
ステップＳ９０１でデータ化けがないと判断された場合、二重にある不揮発性プログラム格納部のうち、現在無効データが格納されている不揮発性プログラム格納部Ｂ６１５に受信したプログラムデータを書込む（ステップＳ９０２）。この時、不揮発性プログラム格納部Ａ６１４の内容は、全く変更されておらず、メモリ制御６１２の内容も変更していないので、万一、不揮発性プログラムＢ６１５に書込み中に停電などで書込みが完了しなかった場合でも、再び電源をオンすれば不揮発性プログラムＡ６１４のプログラムにより起動される。
【００７７】
プログラムデータの書込みが完了したら、メモリ制御部６１２を不揮発性プログラムＢ６１５の内容を呼び出すように変更し（ステップＳ９０３）、ソフトウエア情報格納部６０９の内容を更新したプログラムバージョンに変更する（ステップＳ９０４）。
【００７８】
以上のようにしてプログラム更新が完了したので表示器６１３にプログラム更新完了の絵文字を表示し（ステップＳ９０５）、スタンバイ状態に戻る（ステップＳ９０６）。これで、次回電源がオンされた場合は、不揮発性プログラムＢ６１５に書込まれた更新されたプログラムがロード・実行されることになる。
【００７９】
このようにして、ＩＲＤの動作状態に応じて、プログラムを更新するたびに二重にある不揮発性プログラム格納部に、交互にプログラムを格納する。
【００８０】
（第５の実施の形態）
次の第５の実施の形態を図を参照して説明する。
【００８１】
第５の実施の形態の構成は、図６の構成と同様であり、その動作については、図７、図１０、図１１のフローチャートに示される。
【００８２】
図７の説明については、第４の実施の形態で説明してあるので省略する。
【００８３】
ステップＳ１０１において、ＩＲＤ全てに電源が供給されている時は、このＩＲＤは動作中と判断されて、ステップＳ１０２に移り、そうでなければ第４の実施の形態で説明した図８のステップＳ８０２以下と同じ処理なので説明は省略する。
【００８４】
ステップＳ１０２において、プログラム実行部６１０は、不揮発性プログラム格納部Ａ６１４から告知情報を呼び出し、その中の送信するネットワーク番号・トランスポート番号を用いてチューナー６０１と復調＆エラー訂正部６０２のセットを行い、プログラム識別子（ＰＩＤ）を含むダウンロードデータを用いてデマルチプレクサ６０３のセットを行う。
【００８５】
プログラム実行部６１０は、不揮発性プログラム格納部Ａ６１４から終了予定日時の告知情報を呼び出し、終了予定日時までに他の番組予約が重なっているかを確認し（ステップＳ１０３）、重なっていなければステップＳ１０４に進み、重なっていればプログラム更新は中止される（ステップＳ７００）。プログラム更新のネットワーク番号・トランスポート番号が現在受信中の番組と同一ならば、番組受信とプログラム受信は同時に処理が可能なので、同一がどうか判断し（ステップＳ１０４）、同一でなければプログラム更新は行われない（ステップＳ７１１）。これは受信中にビデオ信号および音声信号を録画しているかもしれず、使用中に不用意にプログラムを更新してＩＲＤの動作が不安定になることを防ぐためである。
【００８６】
ステップＳ１０４で同一と判断されると、プログラム実行部６１０は、入力部６１１からのリモコン・キー操作を受け付けないようにする（ステップＳ１０５）。表示器６１３には、これからプログラム更新を行うので終了するまでリモコン・キー操作は受け付けませんという意味でプログラム更新中の絵文字を表示し（ステップＳ１０６）、ユーザーに知らせる。
【００８７】
そして、受信予約通りに更新するプログラムを受信開始する（スッテプＳ１０７）。受信したプログラムデータは、ＣＲＣチェックおよびチェックサムを用いてデータ化けがあるか確認して（ステップＳ１１１）、ない時はステップＳ１１２に進み、データ化けがある時はプログラム更新中にエラーが発生してプログラム更新が中断したので、表示器６１３にプログラム更新失敗の絵文字を表示し（ステップＳ１１９）、スタンバイ状態になる（ステップＳ１１８）。
【００８８】
データ化けがない場合は、受信したプログラムデータを二重にある不揮発性プログラム格納部のうち、現在無効データが格納されている不揮発性プログラム格納部Ｂ６１５に書込む（ステップＳ１１２）。書込みが終了したら、入力部６１１からのリモコン・キー操作を受け付け（ステップＳ１１３）、ＩＲＤは通常の動作に戻る。
【００８９】
ユーザーが動作を終了させようとして入力部６１１から電源スイッチをオフにしたら（ステップＳ１１４）、メモリ制御部６１２が不揮発性プログラム格納部Ｂ６１５の内容を呼び出すように変更し（ステップＳ１１５）、ソフトウエア情報格納部６０９の内容を更新したプログラムバージョンに変更する（ステップＳ１１６）。
【００９０】
以上のようにプログラム更新が終了したので、表示器６１３にプログラム更新完了の絵文字を表示して（ステップＳ１１７）、スタンバイ状態に戻る（ステップＳ１１８）。これにより次回電源がオンされた場合は、不揮発性プログラム格納部Ｂ６１５に書込まれた更新されたプログラムがロード・実行される。
【００９１】
（第６の実施の形態）
第６の実施の形態は、第４或いは第５の実施の形態で説明したようにプログラムが更新された場合、ユーザーが更新されたプログラムが、使いにくい・なじめないと思った時、前のバージョンに戻すものである。
【００９２】
図１２に、起動するプログラムを変更するときの設定画面を示す。これは、ユーザーにより入力部６１１からの指示に基づき、プログラム実行部６１０の制御のもとに、再生＆画面合成部６０５が合成した画面である。
【００９３】
ここで、「プログラムを変更しますか。ＯＫ？」の問いかけに対し、ユーザーが入力部６１１のリモコンまたはキー操作によりＯＫの指示を出すと、メモリ制御部６１２は、現在実行しているプログラムが格納されている不揮発性プログラム格納部と異なる不揮発性プログラム格納部から電源オン時にプログラムをロードするように設定を変える。そして電源を一旦オフした後に、オンすると別のプログラムがロード・実行される。
【００９４】
この設定画面で同様のことを繰り返せば、ユーザーは２種類のプログラムを選択・実行可能となる。
【００９５】
また、実行中のプログラムのバージョンと比較して新しいバージョンではあるが、他の不揮発性プログラム格納部に格納されているプログラムのバージョンと同じバージョンのプログラムの更新の要求がきた場合は、プログラムの更新が行われないのは言うまでもない。
【図面の簡単な説明】
【００９６】
【図１】第１の実施の形態に係る情報処理装置の構成を示すブロック図である。
【図２】図１に示した情報処理装置におけるプログラム更新機能処理の状態遷移図である。
【図３】図１に示した情報処理装置における第２の実施の形態におけるプログラム更新機能処理の状態遷移図である。
【図４】第３の実施の形態に係る情報処理装置の構成を示すブロック図である。
【図５】図４に示した情報処理装置におけるプログラム更新機能処理の状態遷移図である。
【図６】第４の実施の形態に係る、ディジタル放送に対応したＩＲＤ（Ｉｎｔｅｇｒａｔｅｄ  Ｒｅｃｅｉｖｅｒ  Ｄｅｃｏｄｅｒ）の構成を示すブロック図である。
【図７】第４の実施形態におけるＩＲＤの処理を示すフローチャートである。
【図８】第４の実施形態におけるＩＲＤの処理を示すフローチャートである。
【図９】第４の実施形態におけるＩＲＤの処理を示すフローチャートである。
【図１０】第５の実施形態におけるＩＲＤの処理を示すフローチャートである。
【図１１】第５の実施形態におけるＩＲＤの処理を示すフローチャートである。
【図１２】起動するプログラムを変更するときの設定画面である。
【符号の説明】
【００９７】
１０  ＭＰＵ
１１  ＥＥＰＲＯＭ
１２  フラッシュメモリＡ
１３  フラッシュメモリＢ
１４  ＲＡＭ
１７  外部インターフェース
６０１  チューナー
６１０  プログラム実行部
６１１  入力部
６１２  メモリ制御部
６１３  表示器
６１４  不揮発性プログラム格納部Ａ
６１５  不揮発性プログラム格納部Ｂ
６１９  電源部
【図１】
2006304341.tif 000003
【図２】
2006304341.tif 000004
【図３】
2006304341.tif 000005
【図４】
2006304341.tif 000006
【図５】
2006304341.tif 000007
【図６】
2006304341.tif 000008
【図７】
2006304341.tif 000009
【図８】
2006304341.tif 000010
【図９】
2006304341.tif 000011
【図１０】
2006304341.tif 000012
【図１１】
2006304341.tif 000013
【図１２】
2006304341.tif 000014