(57)【要約】【課題】プログラムを分割することによって得られる複数のデータ夫々を適切、かつ、安価に更新することができ、更新時間が短い映像音声機器、更新方法及びコンピュータプログラムの提供。【解決手段】ＣＰＵ２２は、不揮発性メモリ１９に記憶してあるプログラムに従って映像及び音声に関する動作を行う。ＣＰＵ２２は、前記プログラムを分割することによって得られる複数のデータ中の圧縮データ及び暗号化データ夫々を、更新すべき更新データを用いて更新する。また、ＣＰＵ２２は、前記プログラムを分割することによって得られる複数のデータ中の圧縮データ及び暗号化データを除くデータを更新すべき更新データとの差分データを用いて更新する。【選択図】図１
2014081785.tif 000002
【特許請求の範囲】
【請求項１】
記憶部に記憶してあるプログラムを分割することによって得られる複数のデータ夫々を更新し、前記プログラムに従って映像及び音声に関する動作を行う映像音声機器において、
前記複数のデータ中の圧縮データ及び暗号化データ夫々を、更新すべき更新データを用いて更新する第１更新手段と、
前記複数のデータ中の圧縮データ及び暗号化データを除くデータを、更新すべき更新データとの差分データを用いて更新する第２更新手段と
を備えることを特徴とする映像音声機器。
【請求項２】
前記圧縮データを伸長する伸長手段と、
該伸長手段が伸長した圧縮データを記憶する第２の記憶部と、
該第２の記憶部に前記伸長手段が伸長した圧縮データを記憶することが可能であるか否かを判定する判定手段と
を備え、
前記第２更新手段は、前記判定手段が記憶することが可能であると判定した場合、前記圧縮データを、更新すべき更新データとの差分データを用いて更新するように構成してあること
を特徴とする請求項１に記載の映像音声機器。
【請求項３】
前記第１更新手段が用いる更新データと、前記第２更新手段が用いる差分データとを受信する受信部
を備えることを特徴とする請求項１又は請求項２に記載の映像音声機器。
【請求項４】
映像及び音声に関する動作を制御するためのプログラムを分割することによって得られる複数のデータ夫々を更新する更新方法において、
前記複数のデータ中の圧縮データ及び暗号化データ夫々を、更新すべき更新データを用いて更新し、
前記複数のデータ中の圧縮データ及び暗号化データを除くデータを、更新すべき更新データとの差分データを用いて更新すること
を特徴とする更新方法。
【請求項５】
映像及び音声に関する動作を制御するためのプログラムを分割することによって得られる複数のデータ夫々をコンピュータに更新させるコンピュータプログラムにおいて、
コンピュータに、前記複数のデータ中の圧縮データ及び暗号化データ夫々を、更新すべき更新データを用いて更新させ、
コンピュータに、前記複数のデータ中の圧縮データ及び暗号化データを除くデータ夫々を、更新すべき更新データとの差分データを用いて更新させること
を特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像及び音声に関する動作を制御するためのプログラムを分割することによって得られる複数のデータ夫々を更新する映像音声機器、更新方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
現在、パーソナルコンピュータ及び携帯電話機等の電気機器は、多機能化しており、種々のプログラム、例えばアプリケーションプログラムを備えている。
【０００３】
種々のプログラムを備える電気機器の中には、ネットワークに接続可能な電気機器がある。このような電気機器は、プログラムのバージョンアップ、又は、プログラムの不具合、若しくは、セキュリティ上の欠陥の解消を、ネットワークから取得したデータを用いて、プログラムを分割することによって得られる複数のデータ夫々を更新することによって行っている。
【０００４】
ここで、プログラムを分割することによって得られる複数のデータ夫々について、更新すべき更新データを、ネットワークからのダウンロードによって取得してデータ全体を更新する場合、取得するデータの量は多い。このため、更新すべき更新データを取得してデータを更新する電気機器には、データの更新時間が長く、更新データをネットワークから取得する費用が嵩むという問題点がある。
【０００５】
特許文献１，２，３夫々には、プログラムを分割することによって得られる複数のデータ夫々を、外部から取得した少量のデータを用いて更新することができる電気機器が開示されている。この電気機器は、プログラムを分割することによって得られる複数のデータ夫々を更新する場合、更新すべき更新データと、現在記憶してある当該データとの差分データを外部から取得し、取得した差分データを用いて複数のデータ夫々を更新している。
【０００６】
プログラムを分割することによって得られる複数のデータ夫々について、プログラムのバージョンアップ、又は、プログラムの不具合、若しくは、セキュリティ上の欠陥の解消をデータの更新によって行うために修正されるデータの量又は追加されるデータの量は少なく、更新後のデータの大部分は更新前のデータと同一である。
従って、差分データの量は、更新すべき更新データの量よりも十分に少なく、データの更新時間が短い。更に、差分データの量が少ないため、外部から安価に差分データを取得することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−２９３３６６号公報
【特許文献２】特開２００２−２９７３９０号公報
【特許文献３】特開２００７−２１９８８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、映像及び音声に関する動作を行うテレビジョン受信機又は録音装置等の映像音声機器も多機能化しており、映像及び音声に関する動作を制御するための種々のプログラムを備えている。従って、映像音声機器においても、前述した電気機器と同様に、更新用のデータを外部から取得し、取得したデータを用いて、プログラムを分割することによって得られる複数のデータ夫々を更新することが考えられる。
【０００９】
しかしながら、映像音声機器では、プログラムを分割することによって得られる複数のデータ中には、ＶｏＤ（Video on Demand）サービス等に係るコンテンツを保護するために暗号化されている暗号化データ、及び、映像音声機器の起動を高速化するためにデータ量が圧縮されている圧縮データが含まれている。このような暗号化データ及び圧縮データは、差分データを用いて更新することが困難である。
【００１０】
このため、映像音声機器が、特許文献１，２，３に記載の電気機器のように、差分データを取得し、プログラムを分割することによって得られる複数のデータ夫々を更新した場合、差分データを用いて更新することができなかったデータが該複数のデータ中に含まれ、映像及び音声に関する映像音声機器の動作に不具合が生じる虞がある。
【００１１】
これを解消するために、プログラムを分割することによって得られる複数のデータ夫々について、更新すべき更新データを外部から取得して複数のデータ夫々を更新した場合、前述したように、データの更新時間が長く、更新データの取得費用が嵩むという問題点がある。
【００１２】
本発明は斯かる事情に鑑みてなされたものであり、その目的とするところは、プログラムを分割することによって得られる複数のデータ夫々を適切、かつ、安価に更新することができ、更新時間が短い映像音声機器、更新方法及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
本発明に係る映像音声機器は、記憶部に記憶してあるプログラムを分割することによって得られる複数のデータ夫々を更新し、前記プログラムに従って映像及び音声に関する動作を行う映像音声機器において、前記複数のデータ中の圧縮データ及び暗号化データ夫々を、更新すべき更新データを用いて更新する第１更新手段と、前記複数のデータ中の圧縮データ及び暗号化データを除くデータを、更新すべき更新データとの差分データを用いて更新する第２更新手段とを備えることを特徴とする。
【００１４】
本発明に係る映像音声機器は、前記圧縮データを伸長する伸長手段と、該伸長手段が伸長した圧縮データを記憶する第２の記憶部と、該第２の記憶部に前記伸長手段が伸長した圧縮データを記憶することが可能であるか否かを判定する判定手段とを備え、前記第２更新手段は、前記判定手段が記憶することが可能であると判定した場合、前記圧縮データを、更新すべき更新データとの差分データを用いて更新するように構成してあることを特徴とする。
【００１５】
本発明に係る映像音声機器は、前記第１更新手段が用いる更新データと、前記第２更新手段が用いる差分データとを受信する受信部を備えることを特徴とする。
【００１６】
本発明に係る更新方法は、映像及び音声に関する動作を制御するためのプログラムを分割することによって得られる複数のデータ夫々を更新する更新方法において、前記複数のデータ中の圧縮データ及び暗号化データ夫々を、更新すべき更新データを用いて更新し、前記複数のデータ中の圧縮データ及び暗号化データを除くデータを、更新すべき更新データとの差分データを用いて更新することを特徴とする。
【００１７】
本発明に係るコンピュータプログラムは、映像及び音声に関する動作を制御するためのプログラムを分割することによって得られる複数のデータ夫々をコンピュータに更新させるコンピュータプログラムにおいて、コンピュータに、前記複数のデータ中の圧縮データ及び暗号化データ夫々を、更新すべき更新データを用いて更新させ、コンピュータに、前記複数のデータ中の圧縮データ及び暗号化データを除くデータ夫々を、更新すべき更新データとの差分データを用いて更新させることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、更新データ及び差分データの両方を用いて更新を行うため、プログラムを分割することによって得られる複数のデータ夫々を適切、かつ、安価に更新することができ、更新時間が短い。
【図面の簡単な説明】
【００１９】
【図１】実施の形態１におけるテレビジョン受信機及びサーバ夫々の要部構成を示すブロック図である。
【図２】不揮発性メモリ夫々の記憶内容を説明するための説明図である。
【図３】ＣＰＵによる差分データの生成を説明するための説明図である。
【図４】ＣＰＵが実行するプログラムのバージョンアップの手順を示すフローチャートである。
【図５】ＣＰＵが実行するプログラムのバージョンアップの手順を示すフローチャートである。
【図６】ＣＰＵが実行するプログラムのバージョンアップの手順を示すフローチャートである。
【図７】ＣＰＵが実行するプログラムのバージョンアップの手順を示すフローチャートである。
【図８】実施の形態２におけるテレビジョン受信機及びサーバ夫々の要部構成を示すブロック図である。
【発明を実施するための形態】
【００２０】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。例として、本発明をテレビジョン受信機に適用し、該テレビジョン受信機がプログラムのバージョンアップを行う場合を説明する。この場合、テレビジョン受信機が映像音声機器として機能する。
【００２１】
（実施の形態１）
図１は、実施の形態１におけるテレビジョン受信機及びサーバ夫々の要部構成を示すブロック図である。テレビジョン受信機１及びサーバ３はネットワークＮを介して接続されている。テレビジョン受信機１は、サーバ３からデータを受信し、受信したデータを用いて、映像又は音声に関する動作を制御するためのプログラムＰ（図２参照）を分割することによって得られる複数のデータ夫々を更新する。テレビジョン受信機１は、リモートコントローラ４から赤外線信号を受光することによって、リモートコントローラ４から種々の指示を受け付け、受け付けた指示に従って動作する。
【００２２】
テレビジョン受信機１は、チューナ部１０、復調部１１、分離部１２、映像処理部１３、音声処理部１４、表示部１５、スピーカ１６、受光部１７、選局部１８、不揮発性メモリ１９、ＲＡＭ（Random Access Memory）２０、通信部２１及びＣＰＵ（Central Processing Unit）２２を備える。
【００２３】
チューナ部１０は、アンテナＡ及び復調部１１に各別に接続され、分離部１２は、復調部１１、映像処理部１３及び音声処理部１４に各別に接続されている。映像処理部１３及び音声処理部１４夫々は表示部１５及びスピーカ１６に接続されている。また、ＣＰＵ２２は、バス２３を介して、映像処理部１３、音声処理部１４、受光部１７、選局部１８、不揮発性メモリ１９、ＲＡＭ２０及び通信部２１に接続している。通信部２１はネットワークＮを介してサーバ３に接続されている。
【００２４】
チューナ部１０は、アンテナＡが受信したテレビジョン放送に係る放送信号の中から選局部１８が指示した周波数帯域に対応する放送信号を選択し、選択した放送信号を復調部１１に出力する。
【００２５】
復調部１１は、チューナ部１０から入力された放送信号をＴＳ（Transport Stream）信号に復調し、復調したＴＳ信号を分離部１２に出力する。
分離部１２は、復調部１１から入力されたＴＳ信号から、映像を表示するための映像信号と、音声を出力するための音声信号とを分離する。分離部１２は、分離した映像信号を映像処理部１３に、分離した音声信号を音声処理部１４に出力する。
【００２６】
映像処理部１３は、ＣＰＵ２２の指示に従って、分離部１２から入力された映像信号に、該映像信号の復号化を含む映像処理を施し、映像処理を施した映像信号を表示部１５に出力する。
表示部１５は、映像処理部１３から入力された映像信号に係る映像を表示する。
【００２７】
音声処理部１４は、ＣＰＵ２２の指示に従って、分離部１２から入力された音声信号に、該音声信号の復号化を含む音声処理を施し、音声処理を施した音声信号をスピーカ１６に出力する。
スピーカ１６は、音声処理部１４から入力された音声信号に係る音声を出力する。
【００２８】
受光部１７は、リモートコントローラ４から赤外線信号を受光することによって、アンテナＡが受信した放送信号の中から特定の放送チャネルを選択することを指示する選択指示、又は、不揮発性メモリ１９に記憶してあるプログラムＰのバージョンアップを指示する更新指示を受け付ける。受光部１７は、リモートコントローラ４から受け付けた選択指示及び更新指示をＣＰＵ２２に通知する。
選局部１８は、ＣＰＵ２２によって指示された放送チャネルに対応する周波数帯域をチューナ部１０に指示する。
【００２９】
不揮発性メモリ１９は、フラッシュメモリ又はＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）等を用いてなり、映像又は音声に関する動作を制御するためのプログラムＰを記憶している。プログラムＰを分割することによって得られる複数のデータ夫々については、ＣＰＵ２２によって書き換えることが可能である。不揮発性メモリ１９は記憶部として機能する。
ＲＡＭ２０は、データを一時的に保存する記憶領域、及び、データ量が圧縮された圧縮データを伸長する記憶領域を有している。
【００３０】
通信部２１は、プログラムＰを分割することによって得られる複数のデータ夫々を更新するためのデータを、ネットワークＮを介したサーバ３から受信する。また、通信部２１は、不揮発性メモリ１９に記憶してあるプログラムＰのバージョン、及び、テレビジョン受信機１の型番等を示す機器情報を、ＣＰＵ２２の指示に従ってサーバ３に送信する。
【００３１】
通信部２１は、特定のバージョンにアップグレードするために用いる可能性がある複数のデータを示す更新リストをサーバ３から受信し、受信した更新リストをＣＰＵ２２に与える。
更に、通信部２１は、ＣＰＵ２２の指示に従ってサーバ３に、プログラムＰを分割して得られる複数のデータの更新に用いるデータの送信要求を送信する。
【００３２】
ＣＰＵ２２は、不揮発性メモリ１９に記憶してあるプログラムＰをＲＡＭ２０に読み出し、読み出したプログラムを実行することによって、映像処理部１３、音声処理部１４、選局部１８及び通信部２１の動作を制御する。これにより、テレビジョン受信機１は、不揮発性メモリ１９に記憶してあるプログラムＰに従って映像及び音声に関する動作を行う。
【００３３】
ＣＰＵ２２は、映像処理部１３及び音声処理部１４夫々に指示して、映像処理及び音声処理を施させる。また、ＣＰＵ２２は、受光部１７から選択指示を受け付けた場合、選択指示に従って特定の放送チャネルを選択するように選局部１８に指示する。更に、ＣＰＵ２２は、受光部１７から更新指示を受け付けた場合、通信部２１がサーバ３から受信したデータを用いて、不揮発性メモリ１９に記憶してあるプログラムＰのバージョンアップ、即ち、プログラムＰを分割することによって得られる複数のデータの更新を行う。ＣＰＵ２２によるデータの更新については詳細に後述する。
【００３４】
サーバ３は、通信部３０、ＲＡＭ３１、不揮発性メモリ３２及びＣＰＵ３３を備えている。サーバ３のＣＰＵ３３は、バス３４を介して通信部３０、ＲＡＭ３１及び不揮発性メモリ３２夫々に接続している。通信部３０は、ネットワークＮを介して、テレビジョン受信機１の通信部２１に接続している。
【００３５】
通信部３０は、テレビジョン受信機１の通信部２１から機器情報及び送信要求を受信し、受信した機器情報及び送信要求をＣＰＵ３３に通知する。また、通信部３０は、ＣＰＵ３３の指示に従って、更新リストを通信部２１に送信する。更に、通信部３０は、ＣＰＵ３３の指示に従って、プログラムＰを分割することによって得られる複数のデータ夫々の更新に用いられるデータも通信部２１に送信する。
【００３６】
ＲＡＭ３１は、データを一時的に保存する記憶領域、及び、データを生成する記憶領域を有している。
不揮発性メモリ３２は、フラッシュメモリ又はＥＥＰＲＯＭ等を用いてなり、プログラムＰを分割することによって得られる複数のデータ夫々の更新に用いられる複数のデータを記憶している。不揮発性メモリ３２は、不揮発性メモリ３２に記憶してある複数のデータをＣＰＵ３３が書き換え可能に構成されている。更に、不揮発性メモリ３２は、サーバ３の動作を制御するためのプログラムも記憶している。
【００３７】
ＣＰＵ３３は、サーバ３の動作を制御するためのプログラムを不揮発性メモリ３２からＲＡＭ３１に読み出し、読み出したプログラムを実行することによって通信部３０の動作を制御する。
【００３８】
ＣＰＵ３３は、通信部３０が機器情報をテレビジョン受信機１の通信部２１から受信した場合、受信した機器情報から特定のバージョンにアップグレードするために用いる可能性がある複数のデータを、不揮発性メモリ３２から検索する。ＣＰＵ３３は、検索した複数のデータ夫々を示す更新リストを作成し、作成した更新リストを、通信部３０に指示して通信部２１に送信させる。
【００３９】
ＣＰＵ３３は、通信部３０がテレビジョン受信機１の通信部２１から送信要求を受信した場合、受信した送信要求が要求するデータを不揮発性メモリ３２から読み出し、読み出したデータを、通信部３０に指示して通信部２１に送信させる。
【００４０】
図２は、不揮発性メモリ１９，３２夫々の記憶内容を説明するための説明図である。テレビジョン受信機１の不揮発性メモリ１９には、前述したようにプログラムＰが記憶されている。プログラムＰには、ＯＳ（Operating System）の基本機能に係るコマンドが書き込まれているカーネル領域、及び、テレビジョン受信機１を起動させるために必要なファイル群を格納しているルート・ファイル・システム領域が含まれている。カーネル領域及びルート・ファイル・システム領域には、圧縮又は暗号化が施されている。
【００４１】
このため、プログラムＰの分割によって、圧縮又は暗号化が施されていないプログラムデータ５０、データ量が圧縮されている圧縮データ５１、及び、データが暗号化されている暗号化データ５２が得られる。プログラムデータ５０、圧縮データ５１及び暗号化データ５２は、プログラムＰを分割することによって得られる複数のデータである。
【００４２】
サーバ３の不揮発性メモリ３２には、図２に示すように、プログラムをバージョン１．２にアップデートするための複数のデータが記憶してある。
具体的に述べると、不揮発性メモリ３２は、バージョン１．２のプログラムを分割することによって得られるプログラムデータ６０、圧縮データ６１及び暗号化データ６２を記憶している。
【００４３】
また、不揮発性メモリ３２は、プログラムデータ６０と、バージョン１．０のプログラムを分割することによって得られるプログラムデータとの差分データ６０ａを記憶している。不揮発性メモリ３２は、伸長した圧縮データ６１と、バージョン１．０のプログラムを分割することによって得られる圧縮データを伸長したデータとの差分データ６１ａを記憶している。差分データ６０ａ，６１ａは、プログラムのバージョンを１．０から１．２にアップグレードする場合に用いられる。
【００４４】
更に、不揮発性メモリ３２には、プログラムデータ６０と、バージョン１．１のプログラムを分割することによって得られるプログラムデータとの差分データ６０ｂを記憶している。不揮発性メモリ３２には、伸長した圧縮データ６１と、バージョン１．１のプログラムを分割することによって得られる圧縮データを伸長したデータとの差分データ６１ｂを記憶してある。差分データ６０ｂ，６１ｂは、プログラムのバージョンを１．１から１．２にアップグレードする場合に用いられる。
【００４５】
プログラムＰのバージョンが１．０である場合、テレビジョン受信機１のＣＰＵ２２は、プログラムデータ５０と差分データ６０ａとを用いてバージョン１．２のプログラムデータ６０を生成することができる。
【００４６】
更に、プログラムＰのバージョンが１．０である場合、ＣＰＵ２２は、伸長した圧縮データ５１と、差分データ６１ａとを用いて、圧縮データ６１を伸長したデータを作成し、作成したデータの量を圧縮することによって圧縮データ６１を生成することができる。
【００４７】
プログラムＰのバージョンが１．１である場合においても、ＣＰＵ２２は、プログラムＰのバージョンが１．０である場合と同様に、差分データ６０ｂ，６１ｂを用いてプログラムデータ６０及び圧縮データ６１を生成することができる。
【００４８】
ＣＰＵ２２は、プログラムデータ５０をプログラムデータ６０に、圧縮データ５１を圧縮データ６１に、暗号化データ５２を暗号化データ６２に書き換えることによって、プログラムＰのバージョンを１．２にアップグレードすることができる。
【００４９】
プログラムＰをバージョン１．２にアップグレードする場合、プログラム６０、圧縮データ６１及び暗号化データ６２夫々は、更新すべき更新データに該当する。
【００５０】
また、プログラムＰのバージョンが１．０であり、プログラムＰのバージョンを１．０から１．２にアップグレードする場合、差分データ６０ａは、プログラムデータ５０，６０の差分データであり、差分データ６１ａは、圧縮データ５１，６１の差分データである。差分データ６０ａ，６１ａ夫々は、更新すべき更新データとの差分データに該当する。
【００５１】
同様に、プログラムＰのバージョンが１．１であり、プログラムＰのバージョンを１．１から１．２にアップグレードする場合、差分データ６０ｂは、プログラムデータ５０，６０の差分データであり、差分データ６１ｂは、圧縮データ５１，６１の差分データである。この場合、差分データ６０ｂ，６１ｂ夫々が、更新すべき更新データとの差分データに該当する。
【００５２】
図３は、ＣＰＵ３３による差分データ６０ａの生成を説明するための説明図である。サーバ３の不揮発性メモリ３２には、バージョン１．０及び１．１夫々のプログラムを分割することによって得られるプログラムデータ、圧縮データ及び暗号化データが記憶してある。サーバ３のＣＰＵ３３は、プログラムデータ６０、圧縮データ６１及び暗号化データ６２と、バージョン１．０及び１．１夫々に対応するプログラムデータ、圧縮データ及び暗号化データを用いて、差分データ６０ａ，６０ｂ，６１ａ，６１ｂを生成する。
【００５３】
以下では、ＣＰＵ３３による差分データ６０ａの生成を説明する。図３には、バージョン１．０のプログラムデータ、バージョン１．２のプログラムデータ６０及び差分データ６０ａが示されている。ＣＰＵ３３は、図３にブロックで示すように、バージョン１．０のプログラムデータ及びプログラムデータ６０夫々を、所定量、例えば１メガバイトごとに複数の領域に分割する。ＣＰＵ３３は、バージョンを１．０から１．２にアップグレードする場合に追加される追加領域を除いて、分割された領域ごとに、バージョン１．０のプログラムデータと、プログラムデータ６０とが一致しているか否かを判定する。
【００５４】
ＣＰＵ３３は、この判定の結果、プログラムデータ６０の中で、バージョン１．０のプログラムデータと複数の領域に渡って一致する部分を、差分データ６０ａでは、連続して一致する領域の個数を示す個数情報に置き換える。
【００５５】
ＣＰＵ３３は、差分データ６０ａを生成する場合に、プログラムデータ６０の中で、バージョン１．０のプログラムデータと複数の領域に渡って一致しない部分については処理を施さない。ここで、複数の領域に渡って一致しない部分は、プログラムデータ６０の中で、追加領域、及び、バージョン１．０のプログラムデータと不一致である領域等によって構成される部分である。
【００５６】
従って、差分データ６０ａが構成された場合、差分データ６０ａには、図３に示すような個数情報が含まれる。図３の例では、個数情報が示す個数が「５」となっており、該個数情報が挿入されている部分については、５つの領域でバージョン１．０のプログラムデータとバージョン１．２のプログラムデータ６０とが一致していることが示されている。
【００５７】
ＣＰＵ３３は、以上のようにして、プログラムデータ６０よりもデータ量が少ない差分データ６０ａを生成する。テレビジョン受信機１のＣＰＵ２２は、プログラムＰのバージョンが１．０である場合、差分データ６０ａに含まれる個数情報に従って、プログラムＰのプログラムデータ５０と差分データ６０ａとからプログラムデータ６０を作成する。
ＣＰＵ３３は、差分データ６０ａと同様にして、バージョン１．１のプログラムデータとプログラムデータ６０とを用いて差分データ６０ｂを生成する。
【００５８】
差分データ６１ａについては、ＣＰＵ３３は、バージョン１．０の圧縮データを伸長したデータと、圧縮データ６１を伸長したデータとを用いて、差分データ６０ａと同様に生成する。また、差分データ６１ｂについても、ＣＰＵ３３は、バージョン１．１の圧縮データを伸長したデータと、バージョン１．２の圧縮データ６１を伸長したデータとを用いて、差分データ６０ａと同様に生成する。
【００５９】
図４、図５、図６及び図７は、ＣＰＵ２２が実行するプログラムＰのバージョンアップの手順を示すフローチャートである。以下では、プログラムＰのバージョンを１．０であるとし、プログラムＰのバージョンを１．０から１．２にアップグレードする場合を説明する。
【００６０】
まず、テレビジョン受信機１のＣＰＵ２２は、受光部１７がリモートコントローラ４から更新指示を受け付けたか否かを判定する（ステップＳ１）。ＣＰＵ２２は、更新指示を受け付けていないと判定した場合（ステップＳ１：ＮＯ）、処理をステップＳ１に戻し、受光部１７が更新指示を受け付けるまでステップＳ１の判定を繰り返す。
【００６１】
ＣＰＵ２２は、受光部１７が更新指示を受け付けたと判定した場合（ステップＳ１：ＹＥＳ）、通信部２１に指示して、テレビジョン受信機１の機器情報をサーバ３の通信部３０に送信させる（ステップＳ２）。その後、ＣＰＵ２２は、通信部２１が受信した更新リストを取得する（ステップＳ３）。ステップＳ３で取得される更新リストは、サーバ３のＣＰＵ３３がテレビジョン受信機１の通信部２１からサーバ３の通信部３０に送信された機器情報に基づいて作成した更新リストである。
【００６２】
更新リストには、例えば、プログラムデータ６０、圧縮データ６１、暗号化データ６２及び差分データ６０ａ，６１ａが示される。また、プログラムＰの圧縮データ５１及び暗号化データ５２夫々の更新が不要である場合、更新リストには、例えば、プログラムデータ６０及び差分データ６０ａが示される。
【００６３】
次に、テレビジョン受信機１のＣＰＵ２２は、ステップＳ３で取得した更新リストに差分データ６０ａが示されているか否かを判定する（ステップＳ４）。ＣＰＵ２２は、差分データ６０ａが示されていると判定した場合（ステップＳ４：ＹＥＳ）、差分データ６０ａの送信要求をテレビジョン受信機１の通信部２１からサーバ３の通信部３０に送信させることによって、通信部２１が受信した差分データ６０ａを取得する（ステップＳ５）。このとき、通信部２１は、差分データ６０ａと共に付加情報を受信しており、ＣＰＵ２２は付加情報も取得している。
【００６４】
次に、ＣＰＵ２２は、ステップＳ５で取得した差分データ６０ａの整合性を確認する（ステップＳ６）。ここで、ＣＰＵ２２は、差分データ６０ａと共に取得した付加情報に基づいて整合性を確認する。付加情報に例えば差分データ６０ａのワード数が示されている場合、ＣＰＵ２２は、ステップＳ５で取得した差分データ６０ａのワード数と、付加情報が示すワード数とが一致しているか否かを確認する。
【００６５】
ＣＰＵ２２は、ステップＳ６を実行した後、ステップＳ５で取得した差分データ６０ａの整合性に問題があるか否かを判定する（ステップＳ７）。ここで、ＣＰＵ２２は、差分データ６０ａと共に取得した付加情報に差分データ６０ａのワード数が示されている場合、ステップＳ５で取得した差分データ６０ａのワード数と、付加情報が示すワード数とが一致しているときに整合性に問題はないと判定し、これらのワード数が一致していないときに整合性に問題があると判定する。
【００６６】
ＣＰＵ２２は、整合性に問題があると判定した場合（ステップＳ７：ＹＥＳ）、処理をステップＳ５に戻し、サーバ３の通信部３０から整合性に問題がない差分データ６０ａを取得するまでステップＳ５，Ｓ６を繰り返す。
【００６７】
ＣＰＵ２２は、整合性に問題はないと判定した場合（ステップＳ７：ＮＯ）、ステップＳ５で取得した差分データ６０ａを用いてデータ構造を作成する（ステップＳ８）。ここで、ＣＰＵ２２は、ディレクトリ及びショートカットを展開することによってデータ構造を作成する。
【００６８】
次に、ＣＰＵ２２は、ステップＳ８で作成したデータ構造の整合性を確認する（ステップＳ９）。ここでも、ＣＰＵ２２は、ステップＳ６と同様に、ステップＳ５で差分データ６０ａと共に取得した付加情報に基づいて整合性を確認する。
【００６９】
ＣＰＵ２２は、ステップＳ９を実行した後、ステップＳ８で作成したデータ構造の整合性に問題があるか否かを判定する（ステップＳ１０）。ＣＰＵ２２は、整合性に問題がないと判定した場合（ステップＳ１０：ＮＯ）、データ構造が作成されてある差分データ６０ａと、不揮発性メモリ１９に記憶してあるプログラムＰのプログラムデータ５０とからバージョン１．２に対応するプログラムデータ６０をＲＡＭ２０の記憶領域に作成する（ステップＳ１１）。
【００７０】
次に、ＣＰＵ２２は、ステップＳ１１で作成したプログラムデータ６０の整合性を確認する（ステップＳ１２）。ここでも、ＣＰＵ２２は、ステップＳ５で差分データ６０ａと共に取得した付加情報に基づいて整合性を確認する。
【００７１】
ＣＰＵ２２は、ステップＳ１２を実行した後、ステップＳ１１で作成したプログラムデータ６０の整合性に問題があるか否かを判定する（ステップＳ１３）。
ＣＰＵ２２は、更新リストに差分データ６０ａが示されていないと判定した場合（ステップＳ４：ＮＯ）、又は、整合性に問題があると判定した場合（ステップＳ１０：ＹＥＳ、若しくは、ステップＳ１３：ＹＥＳ）、プログラムデータ６０の送信要求をテレビジョン受信機１の通信部２１からサーバ３の通信部３０に送信させることによって、通信部２１が受信したプログラムデータ６０を取得する（ステップＳ１４）。このとき、通信部２１は、プログラムデータ６０と共に付加情報を受信しており、ＣＰＵ２２は付加情報も取得している。
【００７２】
次に、ＣＰＵ２２は、ステップＳ１４で取得したプログラムデータ６０の整合性を確認する（ステップＳ１５）。ここでも、ＣＰＵ２２は、ステップＳ６と同様に、ステップＳ１４でプログラムデータ６０と共に取得した付加情報に基づいて整合性を確認する。
【００７３】
ＣＰＵ２２は、ステップＳ１５を実行した後、ステップＳ１４で取得したプログラムデータ６０の整合性に問題があるか否かを判定する（ステップＳ１６）。ＣＰＵ２２は、整合性に問題があると判定した場合（ステップＳ１６：ＹＥＳ）、処理をステップＳ１４に戻し、整合性に問題がないプログラムデータ６０を取得するまで、ステップＳ１４，Ｓ１５を繰り返す。
【００７４】
ＣＰＵ２２は、整合性に問題がないと判定した場合（ステップＳ１３：ＮＯ、又は、ステップＳ１６：ＮＯ）、不揮発性メモリ１９に記憶してあるプログラムＰのプログラムデータ５０を、ステップＳ１１で作成したプログラムデータ６０、又は、ステップＳ１４で取得したプログラムデータ６０に書き換えることによって、プログラムデータ５０をプログラムデータ６０に更新する（ステップＳ１７）。
これにより、プログラムＰにおけるプログラムデータ５０の更新が終了する。
【００７５】
以上のように、ＣＰＵ２２は、プログラムＰを分割することによって得られる複数のデータ中の圧縮データ５１及び暗号化データ５２を除くプログラムデータ５０を、差分データ６０ａを用いて更新する。ＣＰＵ２２は第２更新手段として機能する。プログラムＰのプログラムデータ５０を、更新データであるプログラムデータ６０ではなく、差分データ６０ａを用いて更新することによって、通信部２１が受信するデータの量を例えば１／３に縮小することができる。
【００７６】
以下に述べるステップＳ１８からＳ３２では、ＣＰＵ２２はプログラムＰの圧縮データ５１を更新する。
ＣＰＵ２２は、ステップＳ１７を実行した後、プログラムＰの圧縮データ５１の更新が必要であるか否かを判定する（ステップＳ１８）。ここでは、ＣＰＵ２２は、ステップＳ３で取得した更新リストに、圧縮データ５１を更新するための圧縮データ６１又は差分データ６１ａが含まれているか否かによって判定する。ＣＰＵ２２は、ステップＳ３で取得した更新リストに圧縮データ６１又は差分データ６１ａが示されている場合に圧縮データ５１の更新が必要であると判定し、ステップＳ３で取得した更新リストに圧縮データ６１又は差分データ６１ａが示されていない場合に圧縮データ５１の更新が必要ではないと判定する。
【００７７】
ＣＰＵ２２は、圧縮データ５１の更新が必要であると判定した場合（ステップＳ１８：ＹＥＳ）、ステップＳ３で取得した更新リストに差分データ６１ａが示されているか否かを判定する（ステップＳ１９）。
【００７８】
ＣＰＵ２２は、更新リストに差分データ６１ａが示されていると判定した場合（ステップＳ１９：ＹＥＳ）、伸長したプログラムＰの圧縮データ５１をＲＡＭ２０に記憶することが可能であるか否かを判定する（ステップＳ２０）。ＣＰＵ２２は、圧縮データ５１を伸長する場合に必要な容量を計算し、計算した容量とＲＡＭ２０の空き容量とを比較することによって、伸長した圧縮データ５１をＲＡＭ２０に記憶することが可能であるか否かを判定する。ＣＰＵ２２は、計算した容量がＲＡＭ２０の空き容量よりも小さい場合に、伸長した圧縮データ５１をＲＡＭ２０に記憶することが可能であると判定し、計算した容量がＲＡＭ２０の空き容量よりも大きい場合に、伸長した圧縮データ５１をＲＡＭ２０に記憶することが不可能であると判定する。ＣＰＵ２２は判定手段としても機能する。
【００７９】
ＣＰＵ２２は、伸長した圧縮データ５１をＲＡＭ２０に記憶することが可能であると判定した場合（ステップＳ２０：ＹＥＳ）、差分データ６１ａの送信要求をテレビジョン受信機１の通信部２１からサーバ３の通信部３０に送信させることによって、通信部２１が受信した差分データ６１ａを取得する。（ステップＳ２１）。このとき、通信部２１は、差分データ６１ａと共に付加情報を受信しており、ＣＰＵ２２は付加情報も取得している。
【００８０】
次に、ＣＰＵ２２は、ステップＳ２１で取得した差分データ６１ａの整合性を確認する（ステップＳ２２）。ここでも、ＣＰＵ２２は、ステップＳ６と同様に、ステップＳ２１で差分データ６１ａと共に取得した付加情報に基づいて整合性を確認する。
【００８１】
次に、ＣＰＵ２２は、ステップＳ２１で取得した差分データ６１ａの整合性に問題があるか否かを判定する（ステップＳ２３）。ＣＰＵ２２は、整合性に問題があると判定した場合（ステップＳ２３：ＹＥＳ）、処理をステップＳ２１に戻し、サーバ３の通信部３０から整合性に問題がない差分データ６１ａを取得するまでステップＳ２１，Ｓ２２を繰り返す。
【００８２】
ＣＰＵ２２は、整合性に問題はないと判定した場合（ステップＳ２３：ＮＯ）、不揮発性メモリ１９に記憶してある圧縮データ５１をＲＡＭ２０の記憶領域内で伸長する（ステップＳ２４）。このように、ＣＰＵ２２は、伸長手段としても機能する。ＲＡＭ２０は、第２の記憶部として機能し、ＣＰＵ２２が伸長した圧縮データ５１を記憶する。
【００８３】
次に、ＣＰＵ２２は、ステップＳ２４で伸長した圧縮データ５１にステップＳ２１で取得した差分データ６１ａを適用する（ステップＳ２５）。これにより、圧縮データ６１を伸長したデータが作成される。
【００８４】
その後、ＣＰＵ２２は、ステップＳ２５で差分データ６１ａを適用した圧縮データ５１のデータ量を圧縮することによって圧縮データ６１をＲＡＭ２０の記憶領域に作成し（ステップＳ２６）、作成した圧縮データ６１の整合性を確認する（ステップＳ２７）。ここでも、ＣＰＵ２２は、ステップＳ６と同様に、ステップＳ２１で差分データ６１ａと共に取得した付加情報に基づいて整合性を確認する。
【００８５】
ＣＰＵ２２は、ステップＳ２７を実行した後、ステップＳ２６で作成した圧縮データ６１の整合性に問題があるか否かを判定する（ステップＳ２８）。
【００８６】
ＣＰＵ２２は、更新リストに差分データ６１ａが示されていないと判定した場合（ステップＳ１９：ＮＯ）、伸長した圧縮データ５１をＲＡＭ２０に記憶することが不可能であると判定した場合（ステップＳ２０：ＮＯ）、又は、整合性に問題があると判定した場合（ステップＳ２８：ＹＥＳ）、圧縮データ６１の送信要求をテレビジョン受信機１の通信部２１からサーバ３の通信部３０に送信させることによって、通信部２１が受信した圧縮データ６１を取得する（ステップＳ２９）。このとき、通信部２１は、圧縮データ６１と共に付加情報を受信しており、ＣＰＵ２２は付加情報も取得している。
【００８７】
次に、ＣＰＵ２２は、ステップＳ２９で取得した圧縮データ６１の整合性を確認する（ステップＳ３０）。ここでも、ＣＰＵ２２は、ステップＳ６と同様に、ステップＳ２９で圧縮データ６１と共に取得した付加情報に基づいて整合性を確認する。
【００８８】
ＣＰＵ２２は、ステップＳ３０を実行した後、ステップＳ２９で取得した圧縮データ６１の整合性に問題があるか否かを判定する（ステップＳ３１）。ＣＰＵ２２は、整合性に問題があると判定した場合（ステップＳ３１：ＹＥＳ）、処理をステップＳ２９に戻し、整合性に問題がない圧縮データ６１を取得するまで、ステップＳ２９，Ｓ３０を繰り返す。
【００８９】
ＣＰＵ２２は、整合性に問題がないと判定した場合（ステップＳ２８：ＮＯ、又は、ステップＳ３１：ＮＯ）、不揮発性メモリ１９に記憶してあるプログラムＰの圧縮データ５１を、ステップＳ２６で作成した圧縮データ６１、又は、ステップＳ２９で取得した圧縮データ６１に書き換えることによって、圧縮データ５１を圧縮データ６１に更新する（ステップＳ３２）。
【００９０】
以上のように、ＣＰＵ２２は、伸長した圧縮データ５１をＲＡＭ２０に記憶することが可能であると判定した場合、圧縮データ５１を、圧縮データ５１，６１、具体的には、伸長した圧縮データ５１，６１の差分データ６１ａを用いて更新する。また、ＣＰＵ２２は、伸長した圧縮データ５１をＲＡＭ２０に記憶することが不可能である場合、不揮発性メモリ１９に記憶してあるプログラムＰを分割することによって得られる複数のデータ中の圧縮データ５１を、通信部２１が受信した圧縮データ６１を用いて更新する。
【００９１】
プログラムＰのプログラムデータ５０及び圧縮データ５１を、更新データであるプログラムデータ６０及び圧縮データ６１ではなく、差分データ６０ａ，６１ａを用いて更新することによって、通信部２１が受信するデータの量を例えば１／１０に縮小することができる。
【００９２】
以下に述べるステップＳ３３からＳ３７では、ＣＰＵ２２はプログラムＰの暗号化データ５２を更新する。
ＣＰＵ２２は、圧縮データ５１の更新が必要ではないと判定した場合（ステップＳ１８：ＮＯ）、又は、ステップＳ３２を実行した後、プログラムＰの暗号化データ５２の更新が必要であるか否かを判定する（ステップＳ３３）。
【００９３】
ここでは、ＣＰＵ２２は、ステップＳ３で取得した更新リストに、暗号化データ５２を更新するための暗号化データ６２が含まれているか否かを判定する。ＣＰＵ２２は、ステップＳ３で取得した更新リストに暗号化データ６２が示されている場合に暗号化データ５２の更新が必要であると判定し、ステップＳ３で取得した更新リストに暗号化データ６２が示されていない場合に暗号化データ５２の更新が必要ではないと判定する。
【００９４】
ＣＰＵ２２は、暗号化データ５２の更新が必要であると判定した場合（ステップＳ３３：ＹＥＳ）、暗号化データ６２の送信要求をテレビジョン受信機１の通信部２１からサーバ３の通信部３０に送信させることによって、通信部２１が受信した暗号化データ６２を取得する（ステップＳ３４）。このとき、通信部２１は、暗号化データ６２と共に付加情報を受信しており、ＣＰＵ２２は付加情報も取得している。
【００９５】
次に、ＣＰＵ２２は、ステップＳ３４で取得した暗号化データ６２の整合性を確認する（ステップＳ３５）。ここでも、ＣＰＵ２２は、ステップＳ６と同様に、ステップＳ３４で暗号化データ６２と共に取得した付加情報に基づいて整合性を確認する。
【００９６】
ＣＰＵ２２は、ステップＳ３５を実行した後、ステップＳ３４で取得した暗号化データ６２の整合性に問題があるか否かを判定する（ステップＳ３６）。ＣＰＵ２２は、整合性に問題があると判定した場合（ステップＳ３６：ＹＥＳ）、処理をステップＳ３４に戻し、整合性に問題がない暗号化データ６２を取得するまで、ステップＳ３４，Ｓ３５を繰り返す。
【００９７】
ＣＰＵ２２は、整合性に問題がないと判定した場合（ステップＳ３６：ＮＯ）、不揮発性メモリ１９に記憶してあるプログラムＰの暗号化データ５２を、ステップＳ３４で取得した暗号化データ６２に書き換えることによって、暗号化データ５２を暗号化データ６２に更新する（ステップＳ３７）。
【００９８】
以上のように、ＣＰＵ２２は、不揮発性メモリ１９に記憶してあるプログラムＰを分割することによって得られる複数のデータ中の暗号化データ５２を、通信部２１が受信した暗号化データ６２を用いて更新する。ＣＰＵ２２は、第１更新手段としても機能する。
【００９９】
また、通信部２１は、ステップＳ５，Ｓ１４，Ｓ２１，Ｓ２９，Ｓ３４の説明で述べたように、ＣＰＵ２２がプログラムデータ５０、圧縮データ５１及び暗号化データ５２の更新に用いるプログラムデータ６０、圧縮データ６１、暗号化データ６２及び差分データ６０ａ，６１ａの中の一又は複数のデータを受信する。通信部２１は受信部として機能する。
【０１００】
ＣＰＵ２２は、暗号化データ５２の更新が必要ではないと判定した場合（ステップＳ３３：ＮＯ）、又は、ステップＳ３７を実行した後、プログラムＰのバージョンアップに関する動作を終了する。
なお、ステップＳ１１でのプログラムデータ６０の作成、及び、ステップＳ２６での圧縮データ６１の作成に用いるＲＡＭ２０の記憶領域は共有化されている。このため、ＲＡＭ２０の記憶領域が効率的に使用される。また、ＲＡＭ２０には、プログラムＰのプログラムデータ５０、圧縮データ５１及び暗号化データ５２の更新に失敗した場合にＣＰＵ２２が使用することができる補助の記憶領域が設けられている。
【０１０１】
以上のように構成されたテレビジョン受信機１では、ＣＰＵ２２は、伸長した圧縮データ５１をＲＡＭ２０に記憶することが不可能である場合、差分データによる更新が困難なデータ、即ち、圧縮データ５１及び暗号化データ５２夫々を、通信部２１が受信した圧縮データ６１及び暗号化データ６２を用いて更新する。更に、ＣＰＵ２２は、プログラムＰを分割することによって得られる複数のデータ中の圧縮データ５１及び暗号化データ５２を除くプログラムデータ５０を、差分データ６０ａを用いて更新する。
【０１０２】
このように、ＣＰＵ２２は、プログラムデータ５０、圧縮データ５１及び暗号化データ５２を、更新データである圧縮データ６１及び暗号化データ６２、並びに、差分データ６０ａを用いて更新を行うため、プログラムデータ５０、圧縮データ５１及び暗号化データ５２夫々を適切に更新することができる。
【０１０３】
更に、ＣＰＵ２２はプログラムデータ５０の更新に差分データ６０ａを用いているため、サーバ３から通信部２１が受信するデータの量が少なく、サーバ３から通信部２１へのデータの送信時間が短い。これにより、通信部２１によるデータの受信にかかる費用は安価であり、プログラムデータ５０、圧縮データ５１及び暗号化データ５２夫々を更新する更新時間が短い。
【０１０４】
また、ＣＰＵ２２は、伸長した圧縮データ５１をＲＡＭ２０に記憶することが可能である場合、圧縮データ５１も差分データ６１ａによって更新される。この場合、サーバ３から通信部２１が受信するデータの量が更に少なく、サーバ３から通信部２１へのデータの送信時間が更に短い。従って、通信部２１がデータの受信にかかる費用はより安価であり、プログラムＰを更新する更新時間がより短い。
【０１０５】
また、通信部２１は、プログラムＰにおける圧縮データ５１の更新が不要である場合、圧縮データ５１を更新するための差分データ６１ａ及び圧縮データ６１を受信しない。更に、通信部２１は、プログラムＰにおける暗号化データ５２の更新が不要である場合、暗号化データ５２を更新するための暗号化データ６２を受信しない。このため、プログラムＰをアップグレードする場合に通信部２１が受信するデータの量は更に少ない。
【０１０６】
なお、ＣＰＵ２２は、プログラムＰのバージョンを１．１から１．２にアップグレードする場合、プログラムＰのバージョンを１．０から１．２にアップグレードする場合に行った処理と同様の動作を行う。この場合、ＣＰＵ２２は、差分データ６０ａ，６１ａの代わりに差分データ６０ｂ，６１ｂを用いる。
【０１０７】
また、プログラムＰの不具合、又は、セキュリティ上の欠陥を解消するために行われるプログラムデータ５０、圧縮データ５１及び暗号化データ５２の更新も、プログラムＰのバージョンアップと同様にして行うことができる。
【０１０８】
（実施の形態２）
図８は実施の形態２におけるテレビジョン受信機及びサーバ夫々の要部構成を示すブロック図である。実施の形態１と同様の部分については、同一の符号を付して説明を省略する。
【０１０９】
実施の形態２におけるテレビジョン受信機７は、実施の形態１におけるテレビジョン受信機１が備える構成部に加えて、ＵＳＢ（Universal Serial Bus）インタフェース７０を備える。ＵＳＢインタフェース７０は、バス２３を介してＣＰＵ２２に接続してある。
【０１１０】
ＵＳＢインタフェース７０は、可搬型の記録媒体８に接続可能に構成されている。可搬型の記録媒体８には、更新データである圧縮データ６１及び暗号化データ６２を用いて、プログラムＰの圧縮データ５１及び暗号化データ５２を更新するステップ、並びに、差分データ６０ａ，６０ｂを用いて、プログラムデータ５０を更新するステップ等をコンピュータに実行させるコンピュータプログラム８０が記憶されている。記録媒体８は例えばＵＳＢメモリである。
【０１１１】
ＣＰＵ２２は、ＵＳＢインタフェース７０を介して記録媒体８に記憶されているコンピュータプログラム８０を読み出して、読み出したコンピュータプログラム８０を実行する。これにより、テレビジョン受信機７は、実施の形態１におけるテレビジョン受信機１と同様に動作する。
【０１１２】
なお、実施の形態１及び２において、ＣＰＵ２２は、プログラムデータ６０、圧縮データ６１、暗号化データ６２及び差分データ６０ａ，６０ｂ，６１ａ，６１ｂを、テレビジョン受信機１の通信部２１によるサーバ３からの受信によって取得しなくてもよい。ＣＰＵ２２は、これらのデータを、例えば、バス２３に接続してあるＵＳＢインタフェースに接続された記録媒体から取得してもよい。
【０１１３】
また、ＣＰＵ２２は、伸長した圧縮データ５１がＲＡＭ２０に記憶することが可能であるか否かを判定しなくてもよい。ＣＰＵ２２は、例えば、プログラムＰの圧縮データ５１を、通信部２１が受信した圧縮データ６１を用いて常に更新してもよい。
【０１１４】
この場合であっても、プログラムＰのプログラムデータ５０は差分データ６０ａによって更新され、圧縮データ５１及び暗号化データ５２夫々は、更新データである圧縮データ６１及び暗号化データ６２によって更新される。従って、プログラムＰのプログラムデータ５０、圧縮データ５１及び暗号化データ５２夫々は、適切かつ安価に更新され、更新時間が短い。
【０１１５】
プログラムＰを分割することによって得られるプログラムデータ、圧縮データ及び暗号化データ夫々の数は、１に限定されず、２以上であってもよい。この場合、サーバ３の不揮発性メモリ３２には、プログラムＰのプログラムデータ及び圧縮データ夫々に対応する更新すべき更新データ及び差分データを記憶しており、プログラムＰの暗号化データ夫々に対応する更新すべき更新データを記憶している。
【０１１６】
ＣＰＵ２２は、前述したプログラムデータ５０、圧縮データ５１及び暗号化データ５２夫々の更新をプログラムＰのプログラムデータ、圧縮データ及び暗号化データの数だけ繰り返すことによって、プログラムＰのプログラムデータ、圧縮データ及び暗号化データ夫々は更新される。
【０１１７】
また、実施の形態１及び２では、本発明をテレビジョン受信機に適用した場合を例にして説明したが、本発明については、映像及び音声に関する動作を行うテレビジョン受信機以外の映像音声機器、例えば録音装置にも適用することができる。
【０１１８】
テレビジョン受信機以外の映像音声機器に本発明が適用された場合、該映像音声機器は、プログラムを記憶する記憶部、及び、記憶部に記憶してあるプログラムに従って前記映像音声機器の動作を制御するＣＰＵを備えている。該ＣＰＵは、更新データ及び差分データを取得し、取得した更新データ及び差分データを用いて、記憶部に記憶してあるプログラムを分割することによって得られるプログラムデータ、圧縮データ及び暗号化データを更新する。
【０１１９】
本発明に係る映像表示機器（１，７）は、記憶部（１９）に記憶してあるプログラム（Ｐ）を分割することによって得られる複数のデータ（５０，５１，５２）夫々を更新し、前記プログラム（Ｐ）に従って映像及び音声に関する動作を行う映像音声機器（１，７）において、前記複数のデータ（５０，５１，５２）中の圧縮データ（５１）及び暗号化データ（５２）夫々を、更新すべき更新データ（６１，６２）を用いて更新する第１更新手段（２２）と、前記複数のデータ（５０，５１，５２）中の圧縮データ（５１）及び暗号化データ（５２）を除くデータ（５０）を、更新すべき更新データ（６０）との差分データ（６０ａ，６０ｂ）を用いて更新する第２更新手段（２２）とを備えることを特徴とする。
【０１２０】
本発明に係る更新方法は、映像及び音声に関する動作を制御するためのプログラム（Ｐ）を分割することによって得られる複数のデータ（５０，５１，５２）夫々を更新する更新方法において、前記複数のデータ（５０，５１，５２）中の圧縮データ（５１）及び暗号化データ（５２）夫々を、更新すべき更新データ（６１，６２）を用いて更新し、前記複数のデータ（５０，５１，５２）中の圧縮データ（５１）及び暗号化データ（５２）を除くデータ（５０）を、更新すべき更新データ（６０）との差分データ（６０ａ，６０ｂ）を用いて更新することを特徴とする。
【０１２１】
本発明に係るコンピュータプログラム（８０）は、映像及び音声に関する動作を制御するためのプログラム（Ｐ）を分割することによって得られる複数のデータ夫々をコンピュータ（１，７）に更新させるコンピュータプログラム（８０）において、コンピュータ（１，７）に、前記複数のデータ（５０，５１，５２）中の圧縮データ（５１）及び暗号化データ（５２）夫々を、更新すべき更新データ（６１，６２）を用いて更新させ、コンピュータ（１，７）に、前記複数のデータ（５０，５１，５２）中の圧縮データ（５１）及び暗号化データ（５２）を除くデータ（５０）夫々を、更新すべき更新データ（６０）との差分データ（６０ａ，６０ｂ）を用いて更新させることを特徴とする。
【０１２２】
本発明に係る映像音声機器（１，７）、更新方法及びコンピュータプログラム（８０）あっては、映像及び音声に関する動作を制御するためのプログラム（Ｐ）を分割することによって得られる複数のデータ（５０，５１，５２）中の圧縮データ（５１）及び暗号化データ（５２）を更新すべき更新データ（６１，６２）を用いて更新する。更に、複数のデータ（５０，５１，５２）中の圧縮データ（５１）及び暗号化データ（５２）を除くデータ（５０）を、更新すべき更新データ（６０）との差分データ（６０ａ，６０ｂ）を用いて更新する。
【０１２３】
差分データによる更新が困難である圧縮データ（５１）及び暗号化データ（５２）を更新データ（６１，６２）によって更新し、圧縮データ（５１）及び暗号化データ（５２）を除くデータ（５０）を差分データ（６０）によって更新するため、プログラム（Ｐ）を分割することによって得られる複数のデータ（５０，５１，５２）夫々を適切に更新することができる。また、圧縮データ（５１）及び暗号化データ（５２）を除くデータ（５０）を差分データ（６０ａ，６０ｂ）によって更新するので、更新を行うために外部から取得するデータの量が少なく、更新を行うために必要なデータを安価に取得することができる。更に、更新を行うために外部から取得するデータの量が少ないので、複数のデータ（５０，５１，５２）を更新する時間が短い。
【０１２４】
本発明に係る映像表示機器（１，７）は、前記圧縮データ（５１）を伸長する伸長手段（２２）と、該伸長手段（２２）が伸長した圧縮データ（５１）を記憶する第２の記憶部（２０）と、該第２の記憶部（２０）に前記伸長手段（２２）が伸長した圧縮データ（５１）を記憶することが可能であるか否かを判定する判定手段（２２）とを備え、前記第２更新手段（２２）は、前記判定手段（２２）が記憶することが可能であると判定した場合、前記圧縮データ（５１）を、更新すべき更新データ（６１）との差分データ（６１ａ，６１ｂ）を用いて更新するように構成してあることを特徴とする。
【０１２５】
本発明にあっては、伸長した圧縮データ（５１）を第２の記憶部（２０）に記憶することが可能であると判定した場合、第２の記憶部（２２）に圧縮データ（５１）を伸長し、更新すべき更新データ（６１）との差分データ（６１ａ，６１ｂ）を用いて更新する。これにより、更新を行うために外部から取得するデータの量がより少なく、更新を行うために必要なデータをより安価に取得することができる。更に、更新を行うために外部から取得するデータの量がより少ないので、複数のデータ（５０，５１，５２）を更新する時間がより短い。
【０１２６】
本発明に係る映像表示機器（１，７）は、前記第１更新手段（２２）が用いる更新データ（６１，６２）と、前記第２更新手段（２２）が用いる差分データ（６０ａ，６０ｂ，６１ａ，６１ｂ）とを受信する受信部（２１）を備えることを特徴とする。
【０１２７】
本発明にあっては、受信部（２１）が受信した更新データ（６１，６２）及び差分データ（６０ａ，６０ｂ，６１ａ，６１ｂ）を用いて、プログラム（Ｐ）を分割することによって得られる複数のデータ（５０，５１，５２）夫々が更新される。
【符号の説明】
【０１２８】
１，７  テレビジョン受信機
１９  不揮発性メモリ
２０  ＲＡＭ
２１  通信部
２２  ＣＰＵ
５０，６０  プログラムデータ
５１，６１  圧縮データ
５２，６２  暗号化データ
６０ａ，６０ｂ，６１ａ，６１ｂ  差分データ
８０  コンピュータプログラム
Ｐ  プログラム
【図１】
2014081785.tif 000003
【図２】
2014081785.tif 000004
【図３】
2014081785.tif 000005
【図４】
2014081785.tif 000006
【図５】
2014081785.tif 000007
【図６】
2014081785.tif 000008
【図７】
2014081785.tif 000009
【図８】
2014081785.tif 000010