(57)【特許請求の範囲】
【請求項１】
新しい制御プログラムは新しい更新用プログラムと新しい非更新用プログラムとからなり、
新しい制御プログラムのダウンロードに用いる更新用プログラムと、新しい制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを予め記憶する記憶装置を備えるデジタル放送受信装置に用いられる制御プログラムダウンロード方法であって、
新しい更新用プログラムの上書きが終了したか否かを繰り返し判定する判定ステップと、
ここで、上書きが終了したと判定するまでの間は第１制御ステップが、上書きが終了したと判定した後は第２制御ステップが実行され、
上書きが終了したと判定されるまでの間に、前記記憶装置に予め記憶された更新用プログラムを実行することにより、新しい更新用プログラムを受信し、受信した新しい更新用プログラムを、前記記憶装置内の非更新用プログラムが予め記憶された領域の一部である第１領域に上書きすると共に、新しい非更新用プログラムの一部である第１非更新用プログラムを受信し、受信した第１非更新用プログラムを、前記記憶装置内の非更新用プログラムが予め記憶された領域の内の前記第１領域以外である第２領域に上書きする第１制御ステップと、
上書きが終了したと判定された後に、前記記憶装置内の新しい更新用プログラムを実行することにより、前記第１非更新用プログラムの受信及び上書きを継続すると共に、新しい非更新用プログラムの内の前記第１非更新用プログラム以外である第２非更新用プログラムを受信し、受信した第２非更新用プログラムを、前記記憶装置内の現在制御に用いている更新用プログラムが記憶されていない領域、且つ、第２領域でない第３領域に上書きする第２制御ステップと
を備えることを特徴とする制御プログラムダウンロード方法。
【請求項２】
前記第２制御ステップでは、
前記判定ステップで上書きが終了したと判定された場合に、前記第１領域に上書きされた新しい更新用プログラムを、更新用プログラムが予め記憶された領域にコピーした後で、コピーした新しい更新用プログラムを実行すること
を特徴とする請求項１に記載の制御プログラムダウンロード方法。
【請求項３】
前記新しい更新用プログラムは複数の分割部分に分割されていて、分割部分単位で受信され、それぞれの分割部分には第１識別子と通し番号とが付加され、
前記第１非更新用プログラムは複数の分割部分に分割されていて、分割部分単位で受信され、それぞれの分割部分には第２識別子と通し番号とが付加され、
前記第２非更新用プログラムは複数の分割部分に分割されていて、分割部分単位で受信され、それぞれの分割部分には第３識別子と通し番号とが付加され、前記第１制御ステップでは、受信した新しい制御プログラムの分割部分に付加された識別子が第１識別子である場合に当該分割部分を更新用プログラムであると識別し、更新用プログラムであると識別された分割部分に付加された通し番号を参照して、前記第１領域における上書きすべき位置を特定すると共に、受信した新しい制御プログラムの分割部分に付加された識別子が第２識別子である場合に当該分割部分を第１非更新用プログラムであると識別し、第１非更新用プログラムであると識別された分割部分に付加された通し番号を参照して、前記第２領域における上書きすべき位置を特定し、
前記第２制御ステップでは、受信した新しい制御プログラムの分割部分に付加された識別子が第３識別子である場合に当該分割部分を第２非更新用プログラムであると識別し、第２非更新用プログラムであると識別された分割部分に付加された通し番号を参照して、前記第３領域における上書きすべき位置を特定すること
を特徴とする請求項２に記載の制御プログラムダウンロード方法。
【請求項４】
前記デジタル放送受信装置は、さらに、
前記第１制御ステップ、及び、前記第２制御ステップで新しい制御プログラムを受信及び上書きする際に用いる一時記憶装置を備え、
前記第１制御ステップ、及び、前記第２制御ステップでは、分割部分単位で受信した新しい制御プログラムを、一旦、一時記憶装置に一時記憶し、所定数の分割部分を一時記憶した後で、まとめて一時記憶装置から前記記憶装置へ転送すること
を特徴とする請求項３に記載の制御プログラムダウンロード方法。
【請求項５】
前記第１制御ステップ、及び、前記第２制御ステップで受信する新しい制御プログラムのデータは圧縮されており、
前記第１制御ステップ、及び、前記第２制御ステップでは、前記一時記憶装置に一時記憶した新しい制御プログラムを前記記憶装置へ転送する前に伸張すること
を特徴とする請求項４に記載の制御プログラムダウンロード方法。
【請求項６】
前記第１制御ステップ、及び、前記第２制御ステップで受信する新しい制御プログラムは、所定の単位で圧縮されており、それぞれ前記所定の単位毎に、前記記憶装置内の上書きすべき領域の先頭アドレスと圧縮前のデータ量とが付加されており、
前記第１制御ステップ、及び、前記第２制御ステップでは、前記一時記憶装置に一時記憶した新しい制御プログラムを、所定の単位で当該一時記憶装置から、前記記憶装置内の前記先頭アドレスと前記圧縮前のデータ量とにより特定される領域へ転送し、
前記制御プログラムダウンロード方法は、さらに、
記憶装置に記憶された新しい制御プログラムを伸張する伸張ステップを備えること
を特徴とする請求項４に記載の制御プログラムダウンロード方法。
【請求項７】
前記通し番号は、前記更新用プログラム、前記第１非更新用プログラム、及び、前記第２非更新用プログラムをそれぞれ構成するグループ毎に順次付加されたグループ番号と、各グループ番号を構成するシーケンス毎に順次付加されたシーケンス番号とからなり、
前記各分割部分はそれぞれ１個のシーケンスを含み、
前記第１制御ステップ、及び、前記第２制御ステップでは、受信した新しい制御プログラムを、一旦、シーケンス単位で前記一時記憶装置に一時記憶し、少なくとも１グループを一時記憶した後で、グループ単位で当該一時記憶装置から前記記憶装置へ転送すること
を特徴とする請求項４に記載の制御プログラムダウンロード方法。
【請求項８】
前記第１制御ステップ、及び、前記第２制御ステップで受信する新しい制御プログラムは、グループ単位で圧縮されており、
前記第１制御ステップ、及び、前記第２制御ステップでは、前記一時記憶装置に一時記憶した新しい制御プログラムをグループ単位で伸張し、伸張した新しい制御プログラムを前記記憶装置へ転送すること
を特徴とする請求項７に記載の制御プログラムダウンロード方法。
【請求項９】
前記第１制御ステップ、及び、前記第２制御ステップで受信する新しい制御プログラムは、グループ単位で圧縮されており、それぞれグループ毎に、前記記憶装置内の上書きすべき領域の先頭アドレスと圧縮前のデータ量とが付加されており、
前記第１制御ステップ、及び、前記第２制御ステップでは、前記一時記憶装置に一時記憶した新しい制御プログラムを、グループ単位で当該一時記憶装置から、前記記憶装置内の前記先頭アドレスと前記圧縮前のデータ量とにより特定される領域へ転送し、
前記制御プログラムダウンロード方法は、さらに、
記憶装置に記憶された新しい制御プログラムを、グループ単位で伸張する伸張ステップを備えること
を特徴とする請求項７に記載の制御プログラムダウンロード方法。
【請求項１０】
前記記憶装置は、電源が供給されなくてもデータを保持するものであり、
前記デジタル放送受信装置は、さらに、
前記新しい制御プログラムのダウンロードが開始されてから前記判定ステップで終了したと判定されるまでの第１状態、終了したと判定されてから新しい更新用プログラムがコピーされるまでの第２状態、コピーされてから前記新しい制御プログラムのダウンロード終了するまでの第３状態、及び、ダウンロード中でない通常状態の内の何れか１つを示す状態値を、電源が供給されなくても保持する状態保持装置を備え、
前記制御プログラムダウンロード方法は、さらに、
前記新しい制御プログラムのダウンロードが途中で中断した場合に、状態保持装置に保持した前記状態値を参照して、当該ダウンロードを継続する継続ステップを備えること
を特徴とする請求項２に記載の制御プログラムダウンロード方法。
【請求項１１】
送信される自身の制御プログラムをダウンロードするデジタル放送受信装置に用いられる制御プログラムダウンロード方法であって、
前記制御プログラムは、複数種類のサブプログラムからなり、各サブプログラム毎に複数の分割部分に分割されていて、分割部分単位で所定の順序で繰り返し送信され、当該分割部分にはそれぞれ、各サブプログラムのうちの何れの種類であるかを特定するカレント識別子が付加されており、
前記複数種類のサブプログラムを、それぞれ分割部分単位で受信する受信ステップと、
受信ステップで受信したサブプログラムの分割部分に付加されたカレント識別子を参照して、受信したサブプログラムの分割部分が、優先的にダウンロードすべき優先サブプログラムの分割部分であるか、優先サブプログラムと同時にダウンロードできる同時サブプログラムの分割部分であるか、どちらでもないかを判断する判断ステップと、
判断ステップで優先サブプログラム、及び、同時サブプログラムの何れかの分割部分であると判断したサブプログラムの分割部分を、順次ダウンロードするダウンロードステップと
を備えることを特徴とする制御プログラムダウンロード方法。
【請求項１２】
送信されるサブプログラムの各分割部分には、さらに、最初にダウンロードすべきサブプログラムのカレント識別子を表すスタート識別子と、最初にダウンロードすべきサブプログラムと同時にダウンロードできるサブプログラムのカレント識別子を表すスタートサブ識別子と、自身の次に優先的にダウンロードすべきサブプログラムの識別子を表すネクスト識別子と、自身の次に優先的にダウンロードすべきサブプログラムと同時にダウンロードできるサブプログラムのカレント識別子を表すネクストサブ識別子とが、それぞれ付加されており、
前記判断ステップは、
スタート識別子とスタートサブ識別子とを、前記受信ステップで受信した任意のサブプログラムの任意の分割部分から抽出する識別子抽出サブステップと、
抽出したスタート識別子を最初の優先サブプログラムの識別子として、抽出したスタートサブ識別子を最初の同時サブプログラムの識別子として、それぞれ識別子記憶装置に記憶させる識別子記憶サブステップと、
前記ダウンロードステップで優先サブプログラムの全てがダウンロードされた場合は、前記識別子記憶装置に記憶された優先サブプログラムの識別子を、優先サブプログラムの任意の分割部分に付加されたネクスト識別子に更新し、前記識別子記憶装置に記憶された同時サブプログラムの識別子を、優先サブプログラムの任意の分割部分に付加されたネクストサブ識別子に更新する更新サブステップとを含み、
前記判断ステップでは、
前記受信ステップで受信したサブプログラムの分割部分に付加されたカレント識別子が、識別子記憶装置に記憶された優先サブプログラムの識別子と一致する場合に、受信したサブプログラムの分割部分が、優先サブプログラムであると判断し、
前記受信ステップで受信した制御プログラムの分割部分に付加された前記カレント識別子が、識別子記憶装置に記憶された同時サブプログラムの識別子と一致する場合に、受信したサブプログラムの分割部分が、同時サブプログラムであると判断すること
を特徴とする請求項１１に記載の制御プログラムダウンロード方法。
【請求項１３】
デジタル放送受信装置の制御プログラムを送信する制御プログラム送信方法であって、
前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと、
制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する入手ステップと、入手した非更新用プログラムを、前記更新用プログラムのデータ量以上のデータ量の第１非更新用プログラムと、残りの第２非更新用プログラムとに分離する分離ステップと、
入手した更新用プログラムと、分離した第１非更新用プログラムと、分離した第２非更新用プログラムとを、それぞれ複数の分割部分に分割し、分割した各分割部分にそれぞれ通し番号を付加する分割ステップと、
分割した更新用プログラムの分割部分のそれぞれに第１識別子を、分割した第１非更新用プログラムの分割部分のそれぞれに第２識別子を、分割した第２非更新用プログラムの分割部分のそれぞれに第３識別子を付加する識別子付加ステップと、
識別子付加ステップで識別子を付加したそれぞれの分割部分を、繰返し送信する送信ステップと
を備えることを特徴とする制御プログラム送信方法。
【請求項１４】
前記送信ステップでは、
前記更新用プログラムの分割部分の全て、前記第１非更新用プログラムの分割部分の一部、前記第２非更新用プログラムの分割部分の全て、前記第１非更新用プログラムの分割部分の残りの順序で繰り返し送信し、
前記更新用プログラムの次に送信する前記第１非更新用プログラムの分割部分の一部の転送時間は、前記デジタル放送受信装置におけるリブート時間以上であること
を特徴とする請求項１３に記載の制御プログラム送信方法。
【請求項１５】
前記送信ステップでは、識別子付加手段が識別子を付加したそれぞれの分割部分を送出する際、連続して送信する制御プログラムのデータ量が、前記デジタル放送受信装置における受信バッファのデータ容量を越える前に、有効な制御プログラムの送信を休止し、当該受信バッファに一時記憶された制御プログラムを制御プログラム記憶装置へ転送する為に要する時間の経過後に有効な制御プログラムの送信を再開すること
を特徴とする請求項１３に記載の制御プログラム送信方法。
【請求項１６】
前記送信ステップでは、有効な制御プログラムの送信を休止する際には、有効な制御プログラムの代りにダミーを送信すること
を特徴とする請求項１５に記載の制御プログラム送信方法。
【請求項１７】
前記送信ステップでは、前記更新用プログラムの分割部分の全て、前記第１非更新用プログラムの分割部分の全て、前記第２非更新用プログラムの分割部分の全ての順序で繰り返し送信すること
を特徴とする請求項１５に記載の制御プログラム送信方法。
【請求項１８】
デジタル放送受信装置の制御プログラムを送信する制御プログラム送信方法であって、
前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと、制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する制御プログラム入手ステップと、
前記更新用プログラムのデータ量から、前記デジタル放送受信装置内の非更新用プログラムのコード増加に備えて設けられている領域のデータ量を差し引いたデータ量を入手するデータ量入手ステップと、
入手した非更新用プログラムを、データ量入手ステップで入手したデータ量以上のデータ量の第１非更新用プログラムと、残りの第２非更新用プログラムとに分離する分離ステップと、
入手した更新用プログラムと、分離した第１非更新用プログラムと、分離した第２非更新用プログラムとを、それぞれ複数の分割部分に分割し、分割した各分割部分にそれぞれ通し番号を付加する分割ステップと、
分割した更新用プログラムの分割部分のそれぞれに第１識別子を、分割した第１非更新用プログラムの分割部分のそれぞれに第２識別子を、分割した第２非更新用プログラムの分割部分のそれぞれに第３識別子を付加する識別子付加ステップと、
識別子付加ステップで識別子を付加したそれぞれの分割部分を、繰返し送信する送信ステップと
を備えることを特徴とする制御プログラム送信方法。
【請求項１９】
前記分割ステップでは、
入手した更新用プログラムと、分離した第１非更新用プログラムと、分離した第２非更新用プログラムとを、それぞれ所定の単位で圧縮すること
を特徴とする請求項１８に記載の制御プログラム送信方法。
【請求項２０】
前記分割ステップでは、さらに、
それぞれ所定の単位毎に、前記デジタル放送受信装置が備える制御プログラムを記憶する為の記憶装置におけるダウンロードすべき領域の先頭アドレスと、圧縮前のデータ量とを付加すること
を特徴とする請求項１９に記載の制御プログラム送信方法。
【請求項２１】
前記分割ステップでは、前記更新用プログラム、前記第１非更新用プログラム、及び、前記第２非更新用プログラムを、それぞれグループに分割した後、各グループをそれぞれシーケンスに分割し、
前記通し番号は、各グループに順次付加するグループ番号と、各シーケンスに順次付加するシーケンス番号とからなり、
前記各分割部分はそれぞれ１個のシーケンスを含むこと
を特徴とする請求項１８に記載の制御プログラム送信方法。
【請求項２２】
前記分割ステップでは、
グループに分割した後、グループ単位で圧縮し、圧縮された各グループをそれぞれシーケンスに分割すること
を特徴とする請求項２１に記載の制御プログラム送信方法。
【請求項２３】
前記分割ステップでは、さらに、
それぞれグループ毎に、前記デジタル放送受信装置が備える制御プログラムを記憶する為の記憶装置におけるダウンロードすべき領域の先頭アドレスと、圧縮前のデータ量とを付加すること
を特徴とする請求項２２に記載の制御プログラム送信方法。
【請求項２４】
デジタル放送受信装置の制御プログラムを送信する制御プログラム送信方法であって、
前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと、制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する入手ステップと、
Ｍを４以上の偶数とすると、入手した非更新用プログラムの一部を分離して、入手した更新用プログラムと合わせて、制御プログラム全体の略Ｍ分の１のデータ量の第１制御プログラムとし、残りの非更新用プログラムの内の第１制御プログラムと同じデータ量を分離して第２制御プログラムとし、残りの非更新用プログラムを略（Ｍ−２）等分にして、それぞれ第３制御プログラム〜第Ｍ制御プログラムとする分離ステップと、
分離した第１〜Ｍ制御プログラムをそれぞれ略均等の分割部分に分割する分割ステップと、
分割した第１制御プログラムの分割部分のそれぞれに第１識別子を、分割した第２制御プログラムの分割部分のそれぞれに第２識別子を付加し、分割した第３〜Ｍ制御プログラムを各制御プログラム単位で略均等な２組に振り分けて、それぞれに第３識別子、及び、第４識別子を付加する識別子付加ステップと、
第１識別子を付加された制御プログラム、及び、第３識別子を付加された制御プログラムを第１集合とし、第２識別子を付加された制御プログラム、及び、第４識別子を付加された制御プログラムを第２集合とした時、分割部分単位で第１集合と第２集合とを交互に繰り返し送信する送信ステップと
を備えることを特徴とする制御プログラム送信方法。
【請求項２５】
デジタル放送受信装置の制御プログラムを送信する制御プログラム送信方法であって、
複数種類のサブプログラムからなる制御プログラムを入手する入手ステップと、入手した複数種類のサブプログラムを、それぞれ複数の分割部分に分割する分割ステップと、
分割した各分割部分に、各サブプログラムのうちの何れの種類であるかを特定するカレント識別子と、優先的にダウンロードすべき優先サブプログラムを表す優先情報と、優先サブプログラムと同時にダウンロードできる同時サブプログラムを表す同時処理情報とを、それぞれ付加する付加ステップと、
カレント識別子と、優先情報と、同時処理情報とを付加したそれぞれの分割部分を、繰返し送信する送信ステップと
を備えることを特徴とする制御プログラム送信方法。
【請求項２６】
前記付加ステップで付加する優先情報は、最初にダウンロードすべきサブプログラムのカレント識別子を表すスタート識別子と、自身の次に優先的にダウンロードすべきサブプログラムのカレント識別子を表すネクスト識別子とであり、
前記付加ステップで付加する同時処理情報は、最初にダウンロードすべきサブプログラムと同時にダウンロードできるサブプログラムのカレント識別子を表すスタートサブ識別子と、自身の次に優先的にダウンロードすべきサブプログラムと同時にダウンロードできるサブプログラムのカレント識別子を表すネクストサブ識別子とであること
を特徴とする請求項２５に記載の制御プログラム送信方法。
【請求項２７】
新しい制御プログラムは新しい制御プログラムのダウンロードに用いる新しい更新用プログラムと新しい制御プログラムのダウンロードに用いない新しい非更新用プログラムとからなり、
新しい制御プログラムのダウンロードに用いる古い更新用プログラムと、新しい制御プログラムのダウンロードに用いない古い非更新用プログラムとからなる古い制御プログラムを予め記憶する記憶装置を備えるプログラム受信装置の古い制御プログラム又は新しい制御プログラムを記録するコンピュータ読み取り可能な記録媒体であって、
前記古い制御プログラム及び新しい制御プログラムは前記プログラム受信装置に、
新しい更新用プログラムの上書きが終了したか否かを繰り返し判定する判定ステップと、
ここで、上書きが終了したと判定するまでの間は第１制御ステップが、上書きが終了したと判定した後は第２制御ステップが実行され、
上書きが終了したと判定されるまでの間に、前記記憶装置に予め記憶された古い更新用プログラムを実行することにより、新しい更新用プログラムを受信し、受信した新しい更新用プログラムを、前記記憶装置内の古い非更新用プログラムが予め記憶された領域の一部である第１領域に上書きすると共に、新しい非更新用プログラムの一部である第１非更新用プログラムを受信し、受信した第１非更新用プログラムを、前記記憶装置内の古い非更新用プログラムが予め記憶された領域の内の前記第１領域以外である第２領域に上書きする第１制御ステップと、
上書きが終了したと判定された後に、前記記憶装置内の新しい更新用プログラムを実行することにより、前記第１非更新用プログラムの受信及び上書きを継続すると共に、新しい非更新用プログラムの内の前記第１非更新用プログラム以外である第２非更新用プログラムを受信し、受信した第２非更新用プログラムを、前記記憶装置内の現在制御に用いている更新用プログラムが記憶されていない領域、且つ、第２領域でない第３領域に上書きする第２制御ステップとを実行させること
を特徴とする古い制御プログラム又は新しい制御プログラムを記録するコンピュータ読み取り可能な記録媒体。
【請求項２８】
送信される自身の制御プログラムをダウンロードするデジタル放送受信装置の制御プログラムを記録するコンピュータ読み取り可能な記録媒体であって、
前記制御プログラムは、複数種類のサブプログラムからなり、各サブプログラム毎に複数の分割部分に分割されていて、分割部分単位で所定の順序で繰り返し送信され、当該分割部分にはそれぞれ、各サブプログラムのうちの何れの種類であるかを特定するカレント識別子が付加されており、
前記制御プログラムは前記デジタル放送受信装置に、
前記複数種類のサブプログラムを、それぞれ分割部分単位で受信する受信ステップと、
受信ステップで受信したサブプログラムの分割部分に付加されたカレント識別子を参照して、受信したサブプログラムの分割部分が、優先的にダウンロードすべき優先サブプログラムの分割部分であるか、優先サブプログラムと同時にダウンロードできる同時サブプログラムの分割部分であるか、どちらでもないかを判断する判断ステップと、
判断ステップで優先サブプログラム、及び、同時サブプログラムの何れかの分割部分であると判断したサブプログラムの分割部分を、順次ダウンロードするダウンロードステップとを実行させること
を特徴とする制御プログラムを記録するコンピュータ読み取り可能な記録媒体。
【請求項２９】
プログラム受信装置の制御プログラムを送信する制御プログラム送信プログラムを記録するコンピュータ読み取り可能な記録媒体であって、
前記制御プログラム送信プログラムは、コンピュータに、
前記プログラム受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと、制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する入手ステップと、
入手した更新用プログラムと、入手した非更新用プログラムとを、それぞれ複数の分割部分に分割し、分割した各分割部分にそれぞれ通し番号を付加する分割ステップと、
分割した更新用プログラムの分割部分のそれぞれに第１識別子を、分割した非更新用プログラムの分割部分のそれぞれに第２識別子を付加する識別子付加ステップと、
識別子を付加したそれぞれの分割部分を、分割部分単位で送信する送信ステップとを実行させること
を特徴とする制御プログラム送信プログラムを記録するコンピュータ読み取り可能な記録媒体。
【請求項３０】
デジタル放送受信装置の制御プログラムを送信する制御プログラム送信プログラムを記録するコンピュータ読み取り可能な記録媒体であって、
前記制御プログラム送信プログラムは、コンピュータに、
前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと、制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する入手ステップと、
入手した非更新用プログラムを、前記更新用プログラムのデータ量と同じデータ量の第１非更新用プログラムと、残りの第２非更新用プログラムとに分離する分離ステップと、
入手した更新用プログラムと、分離した第１非更新用プログラムと、分離した第２非更新用プログラムとを、それぞれ複数の分割部分に分割し、分割した各分割部分にそれぞれ通し番号を付加する分割ステップと、
分割した更新用プログラムの分割部分のそれぞれに第１識別子を、分割した第１非更新用プログラムの分割部分のそれぞれに第２識別子を、分割した第２非更新用プログラムの分割部分のそれぞれに第３識別子を付加する識別子付加ステップと、
識別子付加ステップで識別子を付加したそれぞれの分割部分を、繰返し送信する送信ステップとを実行させること
を特徴とする制御プログラム送信プログラムを記録するコンピュータ読み取り可能な記録媒体。
【請求項３１】
デジタル放送受信装置の制御プログラムを送信する制御プログラム送信プログラムを記録するコンピュータ読み取り可能な記録媒体であって、
前記制御プログラム送信プログラムは、コンピュータに、
前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと、制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する制御プログラム入手ステップと、
前記更新用プログラムのデータ量から、前記デジタル放送受信装置内の非更新用プログラムのコード増加に備えて設けられている領域のデータ量を差し引いたデータ量を入手するデータ量入手ステップと、
入手した非更新用プログラムを、データ量入手ステップで入手したデータ量の第１非更新用プログラムと、残りの第２非更新用プログラムとに分離する分離ステップと、
入手した更新用プログラムと、分離した第１非更新用プログラムと、分離した第２非更新用プログラムとを、それぞれ複数の分割部分に分割し、分割した各分割部分にそれぞれ通し番号を付加する分割ステップと、
分割した更新用プログラムの分割部分のそれぞれに第１識別子を、分割した第１非更新用プログラムの分割部分のそれぞれに第２識別子を、分割した第２非更新用プログラムの分割部分のそれぞれに第３識別子を付加する識別子付加ステップと、
識別子付加ステップで識別子を付加したそれぞれの分割部分を、繰返し送信する送信ステップとを実行させること
を特徴とする制御プログラム送信プログラムを記録するコンピュータ読み取り可能な記録媒体。
【請求項３２】
デジタル放送受信装置の制御プログラムを送信する制御プログラム送信プログラムを記録するコンピュータ読み取り可能な記録媒体であって、
前記制御プログラム送信プログラムは、コンピュータに、
前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと、制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する入手ステップと、
Ｍを４以上の偶数とすると、入手した非更新用プログラムの一部を分離して、入手した更新用プログラムと合わせて、制御プログラム全体の略Ｍ分の１のデータ量の第１制御プログラムとし、残りの非更新用プログラムの内の第１制御プログラムと同じデータ量を分離して第２制御プログラムとし、残りの非更新用プログラムを略（Ｍ−２）等分にして、それぞれ第３制御プログラム〜第Ｍ制御プログラムとする分離ステップと、
分離した第１〜Ｍ制御プログラムをそれぞれ略均等の分割部分に分割する分割ステップと、
分割した第１制御プログラムの分割部分のそれぞれに第１識別子を、分割した第２制御プログラムの分割部分のそれぞれに第２識別子を付加し、分割した第３〜Ｍ制御プログラムを各制御プログラム単位で略均等な２組に振り分けて、それぞれに第３識別子、及び、第４識別子を付加する識別子付加ステップと、
第１識別子を付加された制御プログラム、及び、第３識別子を付加された制御プログラムを第１集合とし、第２識別子を付加された制御プログラム、及び、第４識別子を付加された制御プログラムを第２集合とした時、分割部分単位で第１集合と第２集合とを交互に繰り返し送信する送信ステップとを実行させること
を特徴とする制御プログラム送信プログラムを記録するコンピュータ読み取り可能な記録媒体。
【請求項３３】
デジタル放送受信装置の制御プログラムを送信する制御プログラム送信プログラムを記録するコンピュータ読み取り可能な記録媒体であって、
前記制御プログラム送信プログラムは、コンピュータに、
複数種類のサブプログラムからなる制御プログラムを入手する入手ステップと、入手した複数種類のサブプログラムを、それぞれ複数の分割部分に分割する分割ステップと、
分割した各分割部分に、各サブプログラムのうちの何れの種類であるかを特定するカレント識別子と、優先的にダウンロードすべき優先サブプログラムを表す優先情報と、優先サブプログラムと同時にダウンロードできる同時サブプログラムを表す同時処理情報とを、それぞれ付加する付加ステップと、
カレント識別子と、優先情報と、同時処理情報とを付加したそれぞれの分割部分を、繰返し送信する送信ステップとを実行させること
を特徴とする制御プログラム送信プログラムを記録するコンピュータ読み取り可能な記録媒体。
【請求項３４】
デジタル放送受信装置の制御プログラムを記録するコンピュータ読み取り可能な記録媒体であって、
前記制御プログラムは、複数種類のサブプログラムからなり、それぞれ複数の分割部分に分割され、
分割されている各分割部分には、各サブプログラムのうちの何れの種類であるかを特定するカレント識別子と、優先的にダウンロードすべき優先サブプログラムを表す優先情報と、優先サブプログラムと同時にダウンロードできる同時サブプログラムを表す同時処理情報とが、それぞれ付加されていること
を特徴とする制御プログラムを記録するコンピュータ読み取り可能な記録媒体。
【請求項３５】
新しい制御プログラムは新しい更新用プログラムと新しい非更新用プログラムとからなり、
制御プログラムダウンロード装置であって、
新しい制御プログラムのダウンロードに用いる更新用プログラムと、新しい制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを予め記憶する記憶手段と、
新しい更新用プログラムの上書きが終了したか否かを繰り返し判定し、上書きが終了したと判定するまでの間は第１制御手段を、上書きが終了したと判定した後は第２制御手段を実行させる判定手段と、
上書きが終了したと判定されるまでの間に、前記記憶手段に予め記憶された更新用プログラムを実行することにより、新しい更新用プログラムを受信し、受信した新しい更新用プログラムを、前記記憶手段内の非更新用プログラムが予め記憶された領域の一部である第１領域に上書きすると共に、新しい非更新用プログラムの一部である第１非更新用プログラムを受信し、受信した第１非更新用プログラムを、前記記憶手段内の非更新用プログラムが予め記憶された領域の内の前記第１領域以外である第２領域に上書きする第１制御手段と、
上書きが終了したと判定された後に、前記記憶手段内の新しい更新用プログラムを実行することにより、前記第１非更新用プログラムの受信及び上書きを継続すると共に、新しい非更新用プログラムの内の前記第１非更新用プログラム以外である第２非更新用プログラムを受信し、受信した第２非更新用プログラムを、前記記憶手段内の現在制御に用いている更新用プログラムが記憶されていない領域、且つ、第２領域でない第３領域に上書きする第２制御手段と
を備えることを特徴とする制御プログラムダウンロード装置。
【請求項３６】
制御プログラムダウンロード装置の制御プログラムは、複数種類のサブプログラムからなり、各サブプログラム毎に複数の分割部分に分割されていて、分割部分単位で所定の順序で繰り返し送信され、当該分割部分にはそれぞれ、各サブプログラムのうちの何れの種類であるかを特定するカレント識別子が付加されており、
送信される前記制御プログラムをダウンロードする制御プログラムダウンロード装置であって、
前記複数種類のサブプログラムを、それぞれ分割部分単位で受信する受信手段と、
受信手段が受信したサブプログラムの分割部分に付加されたカレント識別子を参照して、受信したサブプログラムの分割部分が、優先的にダウンロードすべき優先サブプログラムの分割部分であるか、優先サブプログラムと同時にダウンロードできる同時サブプログラムの分割部分であるか、どちらでもないかを判断する判断手段と、
判断手段が優先サブプログラム、及び、同時サブプログラムの何れかの分割部分であると判断したサブプログラムの分割部分を、順次ダウンロードするダウンロード手段と
を備えることを特徴とする制御プログラムダウンロード装置。
【請求項３７】
デジタル放送受信装置の制御プログラムを送信する制御プログラム送信装置であって、
前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと、制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する入手手段と、
入手した非更新用プログラムを、前記更新用プログラムのデータ量と同じデータ量の第１非更新用プログラムと、残りの第２非更新用プログラムとに分離する分離手段と、
入手した更新用プログラムと、分離した第１非更新用プログラムと、分離した第２非更新用プログラムとを、それぞれ複数の分割部分に分割し、分割した各分割部分にそれぞれ通し番号を付加する分割手段と、
分割した更新用プログラムの分割部分のそれぞれに第１識別子を、分割した第１非更新用プログラムの分割部分のそれぞれに第２識別子を、分割した第２非更新用プログラムの分割部分のそれぞれに第３識別子を付加する識別子付加手段と、
識別子付加手段が識別子を付加したそれぞれの分割部分を、繰返し送信する送信手段と
を備えることを特徴とする制御プログラム送信装置。
【請求項３８】
デジタル放送受信装置の制御プログラムを送信する制御プログラム送信装置であって、
前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと、制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する制御プログラム入手手段と、
前記更新用プログラムのデータ量から、前記デジタル放送受信装置内の非更新用プログラムのコード増加に備えて設けられている領域のデータ量を差し引いたデータ量を入手するデータ量入手手段と、
入手した非更新用プログラムを、データ量入手ステップで入手したデータ量の第１非更新用プログラムと、残りの第２非更新用プログラムとに分離する分離手段と、
入手した更新用プログラムと、分離した第１非更新用プログラムと、分離した第２非更新用プログラムとを、それぞれ複数の分割部分に分割し、分割した各分割部分にそれぞれ通し番号を付加する分割手段と、
分割した更新用プログラムの分割部分のそれぞれに第１識別子を、分割した第１非更新用プログラムの分割部分のそれぞれに第２識別子を、分割した第２非更新用プログラムの分割部分のそれぞれに第３識別子を付加する識別子付加手段と、識別子付加手段が識別子を付加したそれぞれの分割部分を、繰返し送信する送信手段と
を備えることを特徴とする制御プログラム送信装置。
【請求項３９】
デジタル放送受信装置の制御プログラムを送信する制御プログラム送信装置であって、
前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと、制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する入手手段と、
Ｍを４以上の偶数とすると、入手した非更新用プログラムの一部を分離して、入手した更新用プログラムと合わせて、制御プログラム全体の略Ｍ分の１のデータ量の第１制御プログラムとし、残りの非更新用プログラムの内の第１制御プログラムと同じデータ量を分離して第２制御プログラムとし、残りの非更新用プログラムを略（Ｍ−２）等分にして、それぞれ第３制御プログラム〜第Ｍ制御プログラムとする分離手段と、
分離した第１〜Ｍ制御プログラムをそれぞれ略均等の分割部分に分割する分割手段と、
分割した第１制御プログラムの分割部分のそれぞれに第１識別子を、分割した第２制御プログラムの分割部分のそれぞれに第２識別子を付加し、分割した第３〜Ｍ制御プログラムを各制御プログラム単位で略均等な２組に振り分けて、それぞれに第３識別子、及び、第４識別子を付加する識別子付加手段と、
第１識別子を付加された制御プログラム、及び、第３識別子を付加された制御プログラムを第１集合とし、第２識別子を付加された制御プログラム、及び、第４識別子を付加された制御プログラムを第２集合とした時、分割部分単位で第１集合と第２集合とを交互に繰り返し送信する送信手段と
を備えることを特徴とする制御プログラム送信装置。
【請求項４０】
デジタル放送受信装置の制御プログラムを送信する制御プログラム送信装置であって、
複数種類のサブプログラムからなる制御プログラムを入手する入手手段と、入手した複数種類のサブプログラムを、それぞれ複数の分割部分に分割する分割手段と、
分割した各分割部分に、各サブプログラムのうちの何れの種類であるかを特定するカレント識別子と、優先的にダウンロードすべき優先サブプログラムを表す優先情報と、優先サブプログラムと同時にダウンロードできる同時サブプログラムを表す同時処理情報とを、それぞれ付加する付加手段と、
カレント識別子と、優先情報と、同時処理情報とを付加したそれぞれの分割部分を、繰返し送信する送信手段とを備えること
を特徴とする制御プログラム送信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル放送受信装置及びデジタル放送送信装置に関し、特に、デジタル放送受信装置において現在制御に用いられている制御プログラムを、デジタル放送送信装置から放送される新しい制御プログラムに書き換える技術に関する。
【０００２】
【従来の技術】
現在、ＭＰＥＧ（Moving Picture Image Coding Experts Group）トランスポート・ストリーム等を用いたデジタル放送では、画像、音声、及びその他の様々なデータが放送されている。
図２８は、ＭＰＥＧ２規格のデジタル放送送信装置の概略を示す図である。
【０００３】
この送信装置は、番組毎に画像と音声とをデジタル化した後、符号化し圧縮して画像ストリームと音声ストリームとを生成する複数のエンコーダ６０１と、プログラム仕様情報（ＰＳＩ：Program Specific Information）や番組情報（ＳＩ：Service Information）等のサービス情報からデータ・ストリームを生成するデータ生成回路６０２と、データ・ストリームと複数の番組の画像ストリームと音声ストリームとを時分割多重して多重化されたトランスポート・ストリーム・パケットを生成する多重化回路６０３と、トランスポート・ストリーム・パケットをデジタル変調して送出可能な変調波を生成する変調器６０４とを備える。
【０００４】
複数のエンコーダ６０１で生成された画像ストリームと音声ストリームと、データ生成回路６０２で生成されたデータ・ストリームとが、多重化回路６０３で時分割多重され、多重化されたＭＰＥＧ２規格のトランスポート・ストリーム・パケットが生成され、変調器６０４がこのトランスポート・ストリーム・パケットをデジタル変調して変調波を生成する。
【０００５】
ここでは、このようにして変調波を生成するユニットを３セット示しており、各変調器６０４は、それぞれ別の周波数の変調波を生成して、伝送路（電波及びケーブル等）に送出する。例えば、デジタル衛星放送の場合には、衛星（図示せず）が備えるトランスポンダ（中継器）の数だけの変調波を同時に伝送でき、それぞれの変調器６０４に対応するトランスポンダを介して各変調波が同時に複数のデジタル放送受信装置に伝送される。
【０００６】
図２９は、ＭＰＥＧ２規格のデジタル放送受信装置の概略を示す図である。
この受信装置は、利用者により指定されたチャンネルが含まれる変調波を、伝送路に送出された複数の変調波の中から選択的に同調させて受信するチューナー９０１と、受信された変調波をデジタル復調して多重化されたトランスポート・ストリーム・パケットを生成する復調器９０２と、多重化されたトランスポート・ストリーム・パケットを分離してデータ・ストリームと複数の番組の画像ストリームと音声ストリームとを生成するパケット分離回路９０３と、目的のストリームを取り出すトランスポート・デコーダ（以下、「ＴＤ」と記す）９０４と、音声ストリームを伸張し復号化した後アナログ化して音声信号を生成する音声デコーダ９０５と、画像ストリームを伸張し復号化して画像情報を生成する画像デコーダ９０６と、画像デコーダ９０６がワークエリアとして使用する画像デコード用メモリ９０７と、この受信装置の各部の制御を行うＣＰＵ９０８と、ＣＰＵ９０８の制御プログラムを記憶するフラッシュメモリ９０９と、データ・ストリームに含まれるサービス情報や画面に表示するための情報を記憶するＤＲＡＭ９１０と、この受信装置が電源オフ状態でも保存しておくべき情報を格納するＥＥＰＲＯＭ９１１と、画像情報とサービス情報等とを合成して画像信号を生成する画面合成装置９１２と、データを転送するために各構成要素間に接続されたＣＰＵバス９１３とを備える。ここでＣＰＵバス９１３は、チューナー９０１と、復調器９０２と、ＴＤ９０４と、ＣＰＵ９０８と、フラッシュメモリ９０９と、ＤＲＡＭ９１０と、ＥＥＰＲＯＭ９１１と、画面合成装置９１２とに接続され、ＣＰＵ９０８の制御、又は、ＤＭＡ転送等によりデータを転送するために用いられる。
【０００７】
図２９には、音声デコーダ９０５が生成した音声信号を音声に変換するスピーカ９１４と、画面合成装置９１２が生成した画像信号から画像を生成するモニタ９１５とを、この受信装置と共に示す。
チューナー９０１で受信された変調波が、復調器９０２で復調されて多重化されたトランスポート・ストリーム・パケットが生成され、パケット分離回路９０３で各ストリームに分離され、ＴＤ９０４で目的のストリームが取り出される。ここで、取り出された音声ストリームは音声デコーダ９０５で音声信号に変換されスピーカ９１４で音声となり、取り出された画像ストリームは画像デコーダ９０６で画像情報に変換され、画面合成装置９１２でサービス情報と合成されてモニタ９１５にその画像が表示される。ここで、取り出されたデータ・ストリームに含まれるサービス情報は、一旦ＤＲＡＭ９１０に格納された後、利用者により指定された情報のみが、ＴＤ９０４経由で画面合成装置９１２に転送されて画像情報と合成される。
【０００８】
ここで、上記デジタル放送送信装置から送信され、デジタル放送受信装置で受信されるトランスポート・ストリーム・パケットのデータ伝送の単位をパケットと呼び、伝送すべき情報が何から生成されたものかに関らず、全ての情報がこのパケットで伝送される。なお、このパケットの基本的なサイズは１８８バイトである。
【０００９】
また、ＤＲＡＭ９１０に格納されるサービス情報等のデータの構造をセクション構造と呼び、セクション構造のデータのひとまとまりをテーブルと呼ぶ。
図３０は、セクション構造のテーブルを示す図である。
このテーブルには、テーブルＩＤ（table_id）と、テーブルＩＤエクステンション（table_id_extention）と、セクション長（section_length）とが含まれる。
【００１０】
テーブルＩＤとテーブルＩＤエクステンションは、ＴＤ９０４が目的のテーブルを取り出すのに用いられる。
ここで、テーブルＩＤとはテーブルの種別を示す識別子であり、テーブルＩＤエクステンションとはテーブルＩＤが示す種別毎にさらに細かいテーブルの種別を示す拡張識別子である。
【００１１】
また、セクション長は、８ビット（＝１バイト）のデータ・バイト（data_byte）から成るセクション（section）の全データ量を、バイト単位で示すデータである。
デジタル放送受信装置の制御プログラムは、放送局のサービス形態の変更等の理由により変更が必要となることがある。制御に用いている制御プログラムを新しい制御プログラムに書き換えるには様々な方法があり、その中の一つに、放送局から新しい制御プログラムを送信し、デジタル放送受信装置がその制御プログラムを受信して、今まで制御に用いていた制御プログラムを受信した制御プログラムに書き換える方法がある。この方法は、利用者にとって比較的簡単に、且つ、短時間で実施できるので便利である反面、書き替え用のソフトウェアプログラムとハードウェアとが必要となる。
【００１２】
図３１は、デジタル衛星放送の場合における、制御プログラムの伝送形態を示す図である。制御プログラムは、画像データや音声データ等と共に、衛星を介して放送局から利用者宅のデジタル放送受信装置へ伝送される。
ここからは、上記デジタル放送受信装置において、現在制御に用いている制御プログラムを、上記デジタル放送送信装置から送信された制御プログラムに書き換える方法について説明する。
【００１３】
通常、制御プログラムの書き換え（ダウンロード）機能を備えたデジタル放送受信装置では制御プログラムを書き換え可能なフラッシュメモリに記憶している。
図３２（ａ）は、制御プログラムを記憶した上記フラッシュメモリ９０９のメモリマップを概略的に示す図である。
【００１４】
上記フラッシュメモリ９０９が格納する制御プログラムは、受信用プログラム、ダウンロードプログラム、ＯＳ、及び、デバイスドライバから成る。ここでは、上記フラッシュメモリ９０９は、制御プログラムとは別にブート用プログラムも格納している。
制御プログラムは、そのデータ量が数メガバイト程度あり、通常、複数のパケットに分けて伝送される。そのためデジタル放送受信装置が制御プログラムを書き換える場合において、全部の制御プログラムを受信して処理し終わるまで、現在制御に用いている制御プログラムを書き換えることができない。したがって、受信した制御プログラムの一部を蓄積するために、全部の制御プログラムを格納できるだけの記憶容量を備えるメモリが、制御プログラムを格納するフラッシュメモリ９０９以外に必要となる。上記デジタル放送受信装置では、ＤＲＡＭ９１０に受信した制御プログラムを蓄積する。
【００１５】
図３２（ｂ）は、制御プログラムを蓄積した上記ＤＲＡＭ９１０のメモリマップを概略的に示す図である。
上記ＤＲＡＭ９１０が蓄積した制御プログラムの構成は、上記フラッシュメモリ９０９と同様である。また、上記ＤＲＡＭ９１０は、制御プログラムの書き換え以外の時にはＣＰＵ９０８のワークエリアである。
【００１６】
上記デジタル放送送信装置は、送信すべき制御プログラムからデータ・ストリームをデータ生成回路６０２で生成し、サービス情報から生成したデータ・ストリームと同様にして変調波を生成して伝送路に送出する。
上記デジタル放送受信装置は、フラッシュメモリ９０９に記憶している制御プログラムを実行するＣＰＵ９０８の制御によって、制御プログラムから生成されたデータ・ストリームが含まれる変調波をチューナー９０１で受信し、そのデータ・ストリームをＴＤ９０４で取り出し、セクション構造でＤＲＡＭ９１０に一旦格納した後、制御プログラムを抽出してＤＲＡＭ９１０の空き領域に蓄積し、全ての制御プログラムを蓄積するとフラッシュメモリ９０９に記憶している制御プログラムをＤＲＡＭ９１０に蓄積された制御プログラムに書き換える。
【００１７】
伝送される制御プログラムのデータフォーマットは通常 ＡＲＩＢ（Association of Radio Industries and Businesses）ＳＴＤ−Ｂ１６で規格されるダウンロード制御テーブル（Download Control Table：以下、「ＤＣＴ」と記す）と、ダウンロードテーブル（Download Table：以下、「ＤＬＴ」と記す）とを用いる。勿論、各放送事業者は個別に独自のフォーマットを用いることもできる。また、ＤＣＴとＤＬＴは共にセクション構造のテーブルの一種である。
【００１８】
図３３は、ＤＣＴのフォーマットを示す図である。
ＤＣＴには、ＤＣＴのテーブルＩＤ、セクション長、トランスポート・ストリームＩＤ（transport_stream_id）、ダウンロード・パケットＩＤ（DL_PID）、モデル情報長（model_info_length）、及び、モデル情報（model_info）等が含まれる。
【００１９】
ＤＣＴのテーブルＩＤは“0xC0”である。
トランスポート・ストリームＩＤは、トランスポート・ストリームの識別子であり、チューナー９０１で受信すべき変調波の周波数を特定する。
ダウンロード・パケットＩＤは、パケットの識別子であり、ＴＤ９０４で取り出すべきパケットを特定する。
【００２０】
モデル情報長は、モデル情報の全データ量を、バイト単位で示すデータである。
モデル情報には、受信装置のメーカーを識別するメーカーＩＤ（maker_id）と、受信装置のモデルを識別するモデルＩＤ（model_id）と、受信装置のソフトバージョンを識別するバージョンＩＤ（version_id）とが含まれる。
【００２１】
図３４は、ＤＬＴのフォーマットを示す図である。
ＤＬＴには、ＤＬＴのテーブルＩＤ、セクション長、メーカーＩＤ、モデルＩＤ、バージョンＩＤ、及び、コード・データ・バイト（code_data_byte）等が含まれる。なお、ＤＬＴにおいて、先頭のテーブルＩＤからモデル情報フィールドの直前までの部分をセクションヘッダと呼ぶ。
【００２２】
ＤＬＴのテーブルＩＤは“0xC1”である。
セクション長は、常に“0x89C”である。
メーカーＩＤ、モデルＩＤ、及び、バージョンＩＤについては、ＤＣＴと同様である。
コード・データ・バイトは、ソフトウェア本体を表し、そのデータ量は８ビット×２０４８（２Ｋバイト）である。
【００２３】
ＤＣＴとＤＬＴについては、「ＣＳデジタル放送用標準共用受信機、標準規格、ＡＲＩＢ  ＳＴＡＮＤＡＲＤ、ＡＲＩＢ  ＳＴＤ−Ｂ１６  １．０版（社団法人  電波産業会）：ｐ１２〜１６」に詳しい記載がある。
ＤＣＴは、デジタル放送受信装置で受信される全ての変調波に多重されている。
【００２４】
上記デジタル放送受信装置は、何れかの変調波を受信し、フラッシュメモリ９０９に記憶しているダウンロードプログラムを常に実行するＣＰＵ９０８の制御によって、ＴＤ９０４に受信した変調波に多重されたＤＣＴのフィルタリングを行なわせる。続いて、フィルタリングしたＤＣＴを、一旦ＤＲＡＭ９１０に格納させ、ＣＰＵ９０８が、メーカーＩＤ、モデルＩＤ、及び、バージョンＩＤに基づいて、適合するＤＬＴが存在するか否かを判断する。
【００２５】
ＣＰＵ９０８が適合するＤＬＴが存在すると判断すると、制御プログラムを変更できる事を利用者に伝えるためのメッセージを、ＣＰＵ９０８が画面合成装置９１２を制御してモニタ９１５に表示させる。
図３５は、従来の制御プログラム書き換え方法のフローチャートを示す図である。
【００２６】
（１）利用者が上記メッセージを見て、制御プログラムの変更を指示した場合、チューナー９０１が適合するＤＬＴが存在すると判断されたＤＣＴ中のトランスポート・ストリームＩＤで識別される変調波を受信する（ステップＳ９１）。
（２）受信した変調波を、復調器９０２が復調し、パケット分離回路９０３が分離し、ＴＤ９０４がフィルタリングを行ない、該当するＤＬＴをＤＲＡＭ９１０に格納する（ステップＳ９２）。
【００２７】
（３）ＣＰＵ９０８が、ＤＲＡＭ９１０に格納されたＤＬＴのコード・データ・バイトをＤＲＡＭ９１０に蓄積する（ステップＳ９３）。
（４）制御プログラムの全部をＤＲＡＭ９１０に蓄積したか否かを判断する。全部を蓄積していない場合は、残りをフィルタリングしにステップＳ９２に戻り、全部を蓄積するまで繰り返す（ステップＳ９４）。
【００２８】
（５）制御プログラムの全部を蓄積すると、ＣＰＵ９０８が、フラッシュメモリ９０９に記憶している制御プログラムをＤＲＡＭ９１０に蓄積された制御プログラムに書き換える（ステップＳ９５）。
（６）制御プログラムの書き換えが終ったら、書き換えた制御プログラムをブートする（ステップＳ９６）。
【００２９】
以上の様に、従来の制御プログラム書き換え方法では、送信された制御プログラムの全部を一旦ＤＲＡＭ９１０に蓄積した後で、フラッシュメモリ９０９に記憶している制御プログラムを書き換える。
【００３０】
【発明が解決しようとする課題】
上記従来の技術では、制御プログラム書き換え時に、少なくとも制御プログラムのデータ量分の記憶容量を備えるメインＲＡＭが必要である。またメインＲＡＭの記憶容量を制御プログラム書き換え時以外に必要な程度に抑え、その代わりにフラッシュメモリを２重化し、一方に現在制御に用いている制御プログラムを格納したままで、もう一方に放送局から受信した制御プログラムを蓄積するという方法も可能である。
【００３１】
しかしながら、制御プログラムのデータ量分の記憶容量を備えるメインＲＡＭや２重化されたフラッシュメモリは制御プログラム書き換え時以外では必要ないので、本来の制御時に使用されない部品によって装置価格が上昇するのは望ましくない。
また、メインＲＡＭの記憶容量を押さえる為、メインＲＡＭに格納可能なデータ量以下の幾つかの分割部分に制御プログラムを分割して、その分割部分単位で制御プログラムを書き換える分割ダウンロード方法もある。
【００３２】
しかしながら、通常制御プログラムには制御プログラムの書き換えを制御するプログラムも含まれており、当該プログラムの一部分だけを書き換えると書き換えの制御そのものができなくなるので、当該プログラムは分割して書き換えることができない。その為、メインＲＡＭの記憶容量は最低でも当該プログラムのデータ量以上でなければならない。
【００３３】
また、デジタル衛星放送のように制御プログラムが放送局から一方的に送信されてくる様な場合は、基本的には制御プログラムが適当なタイミングで繰り返し送られてくるだけなので、特定のプログラムの先頭からダウンロードしようとすると、最大で制御プログラムの繰り返し周期分だけ待たなければならなくなる。例えば、あるデジタル衛星放送の制御プログラムの繰り返し周期は８分３０秒ほどであり、８分３０秒も処理時間が長くなるのは利用者にとって甚だ不便である。
【００３４】
そこで、本発明は、デジタル放送受信装置に代表されるプログラム受信装置において制御プログラムを書き換えるに際し、必要となるメモリの記憶容量を抑え、また周期待ちを少なくする制御プログラム送信方法、制御プログラムダウンロード方法、制御プログラム送信プログラムを記録するコンピュータ読み取り可能な記録媒体、制御プログラムを記録するコンピュータ読み取り可能な記録媒体、制御プログラム送信装置、及び、制御プログラムダウンロード装置を提供することを目的とする。
【００３５】
【課題を解決するための手段】
上記目的を達成するために、本発明に係る制御プログラム送信方法は、プログラム受信装置の制御プログラムを送信する制御プログラム送信方法であって、前記プログラム受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する入手ステップと、入手した更新用プログラムと入手した非更新用プログラムとをそれぞれ複数の分割部分に分割し分割した各分割部分にそれぞれ通し番号を付加する分割ステップと、分割した更新用プログラムの分割部分のそれぞれに第１識別子を分割した非更新用プログラムの分割部分のそれぞれに第２識別子を付加する識別子付加ステップと、識別子を付加したそれぞれの分割部分を分割部分単位で送信する送信ステップとを備えることを特徴とする。
【００３６】
また、本発明に係る制御プログラムダウンロード方法は、新しい制御プログラムは新しい更新用プログラムと新しい非更新用プログラムとからなり、新しい制御プログラムのダウンロードに用いる更新用プログラムと新しい制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを予め記憶する記憶装置を備えるプログラム受信装置に用いられる制御プログラムダウンロード方法であって、前記記憶装置に予め記憶された更新用プログラムを実行することにより新しい更新用プログラムを受信し受信した新しい更新用プログラムを前記記憶装置内の非更新用プログラムが予め記憶された第１領域に上書きする第１制御ステップと、第１制御ステップによる新しい更新用プログラムの上書きが終了した後に前記記憶装置内の新しい更新用プログラムを実行することにより新しい非更新用プログラムを受信し受信した新しい非更新用プログラムを記憶装置内の現在制御に用いている更新用プログラムが記憶されていない第２領域に上書きする第２制御ステップとを備え、前記新しい更新用プログラムは複数の分割部分に分割されていて分割部分単位で受信されそれぞれの分割部分には第１識別子と通し番号とが付加され、前記新しい非更新用プログラムは複数の分割部分に分割されていて分割部分単位で受信されそれぞれの分割部分には第２識別子と通し番号とが付加され、前記第１制御ステップでは受信した新しい制御プログラムの分割部分に付加された識別子が第１識別子である場合に当該分割部分を更新用プログラムであると識別し更新用プログラムであると識別された分割部分に付加された通し番号を参照して前記第１領域における上書きすべき位置を特定し、前記第２制御ステップでは受信した新しい制御プログラムの分割部分に付加された識別子が第２識別子である場合に当該分割部分を非更新用プログラムであると識別し非更新用プログラムであると識別された分割部分に付加された通し番号を参照して前記第２領域における上書きすべき位置を特定することを特徴とする。
【００３７】
これによって、受信した新しい更新用プログラムを記憶装置中の非更新用プログラムが予め記憶された領域に一旦上書きし、上書きされた新しい更新用プログラムを記憶装置中の更新用プログラムが予め記憶された領域にコピーした後でコピー元の領域を書き換えるので、電源が落ちる等のアクシデントがコピーの途中等の如何なるタイミングで発生しても、予め記憶された更新用プログラム、及び、新しい更新用プログラムの内の少なくとも一方が、必ず完全な形で記憶装置中に存在する事になる。
【００３８】
従って、制御プログラム書き換え処理専用のメモリを備えなくてよく、制御不能となる事もなく、制御プログラム書き換え処理の安全性が高い。
またこれによって、通し番号に基づいて分割部分毎に上書きすべきアドレスを特定することができ、送信順序に依存しない。
従って、どこの分割部分からでも処理を開始できるので周期待ちを減らすことができる。
【００３９】
上記目的を達成するために、本発明に係る制御プログラム送信方法は、デジタル放送受信装置の制御プログラムを送信する制御プログラム送信方法であって、前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する入手ステップと、入手した非更新用プログラムを前記更新用プログラムのデータ量以上のデータ量の第１非更新用プログラムと残りの第２非更新用プログラムとに分離する分離ステップと、入手した更新用プログラムと分離した第１非更新用プログラムと分離した第２非更新用プログラムとをそれぞれ複数の分割部分に分割し分割した各分割部分にそれぞれ通し番号を付加する分割ステップと、分割した更新用プログラムの分割部分のそれぞれに第１識別子を分割した第１非更新用プログラムの分割部分のそれぞれに第２識別子を分割した第２非更新用プログラムの分割部分のそれぞれに第３識別子を付加する識別子付加ステップと、識別子付加ステップで識別子を付加したそれぞれの分割部分を繰返し送信する送信ステップとを備えることを特徴とする。
【００４０】
上記目的を達成するために、本発明に係る制御プログラム送信方法は、デジタル放送受信装置の制御プログラムを送信する制御プログラム送信方法であって、前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する制御プログラム入手ステップと、前記更新用プログラムのデータ量から前記デジタル放送受信装置内の非更新用プログラムのコード増加に備えて設けられている領域のデータ量を差し引いたデータ量を入手するデータ量入手ステップと、入手した非更新用プログラムをデータ量入手ステップで入手したデータ量以上のデータ量の第１非更新用プログラムと、残りの第２非更新用プログラムとに分離する分離ステップと、入手した更新用プログラムと分離した第１非更新用プログラムと分離した第２非更新用プログラムとをそれぞれ複数の分割部分に分割し分割した各分割部分にそれぞれ通し番号を付加する分割ステップと、分割した更新用プログラムの分割部分のそれぞれに第１識別子を分割した第１非更新用プログラムの分割部分のそれぞれに第２識別子を分割した第２非更新用プログラムの分割部分のそれぞれに第３識別子を付加する識別子付加ステップと、識別子付加ステップで識別子を付加したそれぞれの分割部分を、繰返し送信する送信ステップとを備えることを特徴とする。
【００４１】
また、本発明に係る制御プログラムダウンロード方法は、新しい制御プログラムは新しい更新用プログラムと新しい非更新用プログラムとからなり、新しい制御プログラムのダウンロードに用いる更新用プログラムと新しい制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを予め記憶する記憶装置を備えるデジタル放送受信装置に用いられる制御プログラムダウンロード方法であって、新しい更新用プログラムの上書きが終了したか否かを繰り返し判定する判定ステップと、ここで上書きが終了したと判定するまでの間は第１制御ステップが上書きが終了したと判定した後は第２制御ステップが実行され、上書きが終了したと判定されるまでの間に前記記憶装置に予め記憶された更新用プログラムを実行することにより新しい更新用プログラムを受信し受信した新しい更新用プログラムを前記記憶装置内の非更新用プログラムが予め記憶された領域の一部である第１領域に上書きすると共に新しい非更新用プログラムの一部である第１非更新用プログラムを受信し受信した第１非更新用プログラムを前記記憶装置内の非更新用プログラムが予め記憶された領域の内の前記第１領域以外である第２領域に上書きする第１制御ステップと、上書きが終了したと判定された後に前記記憶装置内の新しい更新用プログラムを実行することにより前記第１非更新用プログラムの受信及び上書きを継続すると共に新しい非更新用プログラムの内の前記第１非更新用プログラム以外である第２非更新用プログラムを受信し受信した第２非更新用プログラムを前記記憶装置内の現在制御に用いている更新用プログラムが記憶されていない領域且つ第２領域でない第３領域に上書きする第２制御ステップとを備えることを特徴とする。
【００４２】
これによって、第１領域に新しい更新用プログラムを上書きすることができ、また、更新用プログラムの全てが上書きされる前であっても、第２領域に第１非更新用プログラムを上書きできる。
従って、制御プログラム書き換え処理専用のメモリを備えなくてよく、また、処理にかかる時間が短くて済む。
【００４３】
【発明の実施の形態】
以下、本発明の各実施の形態について、図面を用いて説明する。
（実施の形態１）
＜概要＞
本発明の実施の形態１は、受信側の制御プログラムの大半が制御プログラム更新の際には使用されていないことに注目し、送信側で、制御プログラムをダウンロード処理用プログラムと非ダウンロード処理用プログラムとに区別して送信し、受信側で、メモリ中の非ダウンロード処理用プログラムを格納している領域をダウンロード処理用プログラム用のワークエリアとして用いることにより、制御プログラム更新機能の追加によるメモリの記憶容量の増加を抑えるものである。
【００４４】
また、非ダウンロード処理用プログラムのデータ量がダウンロード処理用プログラムよりも多い場合にはワークエリアとして用いない領域があることに注目し、送信側で、非ダウンロード処理用プログラムを区別して送信し、受信側で、ワークエリアとして用いない領域に対応する非ダウンロード処理用プログラムを、ダウンロード処理用プログラムの更新を待たずに更新することにより、制御プログラム更新が完了するまでの時間を短縮する。
【００４５】
＜プログラム送信装置＞
図１は、本発明の実施の形態１に係るプログラム送信装置１００の概略を示す図である。
図１に示すプログラム送信装置１００は、制御プログラム入手部１０１、データ量入手部１０２、分離部１０３、分割部１０４、識別子付加部１０５、及び、送信部１０６を備える。
【００４６】
制御プログラム入手部１０１は、ダウンロード処理用プログラムと非ダウンロード処理用プログラムとからなる制御プログラムを入手する。ここで、ダウンロード処理用プログラムとは、制御プログラムを受信すべきプログラム受信装置がダウンロード処理を制御するために用いる制御プログラムの部分であり、非ダウンロード処理用プログラムとは、制御プログラムを受信すべきプログラム受信装置がダウンロード処理を制御するためには用いない制御プログラムの残りの部分をいう。
【００４７】
データ量入手部１０２は、入手するダウンロード処理用プログラムのデータ量から、制御プログラムを送信すべきプログラム受信装置内の非ダウンロード処理用プログラムのコード増加に備えて設けられている領域のデータ量を差し引いたデータ量を入手する。
分離部１０３は、非ダウンロード処理用プログラムを、データ量入手部１０２が入手したデータ量の第１非ダウンロード処理用プログラムと、残りの第２非ダウンロード処理用プログラムとに分離する。ここで、第１非ダウンロード処理用プログラムのデータ量は、入手したデータ量以上であればよいので、例えばダウンロード処理用プログラムのデータ量と同じデータ量であってもよい。また、非ダウンロード処理用プログラムのコード増加に備えて設けられている領域が無い場合もある。これらの場合にはデータ量入手部１０２は不要となる。
【００４８】
分割部１０４は、制御プログラム入手部１０１が入手したダウンロード処理用プログラムと、分離手段が分離した第１非ダウンロード処理用プログラムと第２非ダウンロード処理用プログラムとを、それぞれ複数の分割部分に分割し、分割した新しい制御プログラムの各分割部分にそれぞれ各処理用プログラム（ダウンロード処理用プログラム、第１非ダウンロード処理用プログラム、及び、第２非ダウンロード処理用プログラム）毎の通し番号等を付加する。より詳しくは、処理用プログラムを一定のデータ量のブロックに分割してそれぞれにダウンロードコマンドを付加してスクリプトを生成し、各スクリプト分割してＤＬＴのモデル情報フィールド + コード・データ・バイト・フィールドにダウンロードヘッダを付加して記述する。ここで、各グループに順次グループ番号を、各シーケンスに順次シーケンス番号を付加する。
【００４９】
ここでダウンロードコマンドとは、プログラム受信装置に対してスクリプトをどの様に処理すべきかを指示するものであり、プログラム受信装置はダウンロードコマンドを参照してダウンロードを実行する。また、このダウンロードコマンドはメモリ操作命令が主体であり、これらは通常、オペランドとしてソースアドレスやデスティネーションアドレスを指定する。例えばコピーコマンドでは、コピー先アドレス、コピー元アドレス、コピーサイズがオペランドとして規定される。なお、その他のコマンドについては、本発明の主眼とは関係がないので、その説明を省略する。
【００５０】
ここでスクリプトとはダウンロードコマンド＋ブロックであり、ブロックはプログラム受信装置においてフラッシュメモリ等に転送される際の最少単位となる。
ここでダウンロードヘッダとは、ダウンロードに必要なＤＬＴ識別情報等であり、プログラム受信装置におけるＤＬＴ受信時の処理を考慮して必要な情報を先頭に配置したものである。
【００５１】
識別子付加部１０５は、分割部１０４が分割したダウンロード処理用プログラムの各ＤＬＴのそれぞれに第１識別子を、分割した非ダウンロード処理用プログラムの各ＤＬＴのそれぞれに第２識別子を付加する。また、分割部１０４が分割したダウンロード処理用プログラムの各ＤＬＴのそれぞれに第３識別子を、分割した第１非ダウンロード処理用プログラムの各ＤＬＴのそれぞれに第４識別子を、分割した第２非ダウンロード処理用プログラムの各ＤＬＴのそれぞれに第５識別子を付加してもよい。ここで第１〜第５識別子は、プログラム受信装置において、処理用プログラムの種類を判別する為に用いられるカレントＩＤを含む。ここでは、プログラム受信装置においてダウンロードすべき順序を規定するダウンロードＩＤを付加するものとする。
【００５２】
送信部１０６は、識別子付加部１０５が生成した各ＤＬＴを、所定の順序で繰返し送信する。
ダウンロードされるべきプログラムコード（以下「ダウンロードコード」と記す）は、プログラム送信装置において必要な情報が付加されてＤＬＴ単位で送出される。
【００５３】
ＤＬＴには、セクションヘッダに続き、モデル情報フィールド（１４５ｂｙｔｅ固定）およびコード・データ・バイト・フィールド（２Ｋｂｙｔｅ固定）が規定されている（詳細については、ARIB STD-B16 第4章「ダウンロード伝送規格」を参照の事）。本実施の形態ではダウンロードをより効率的に行うため、両フィールドの合計２１９３ｂｙｔｅをダウンロードコード用に使用することとする。
【００５４】
図２は、ダウンロードコードからどのようにＤＬＴが生成されるのかを概略的に示した図である。
以下に、分割部１０４及び識別子付加部１０５によるＤＬＴの生成について説明する。
（１）まず、プログラム受信装置における受信用メモリの容量とフラッシュメモリ等のセクタ構成とを考慮し、ダウンロードコード(本実施の形態では２Ｍｂｙｔｅ)を各ブロック（本実施の形態では１２８Ｋｂｙｔｅ）に分割する。
【００５５】
（２）次に、各ブロックに対してダウンロードコマンドを付与し、スクリプトを形成する。
（３）次に、ＤＬＴのモデル情報フィールドの先頭から、ダウンロードヘッダを記述し、続いてスクリプトを分割して順に記述する。その結果生成されるＤＬＴは、１番目にセクションヘッダ、２番目にダウンロードヘッダ(モデル情報フィールドの一部に割り当て)、３番目に分割されたスクリプト(モデル情報フィールド の残り+ コード・データ・バイト・フィールドに割り当て)、４番目（最後）にCRC32の順の構成となる。
【００５６】
図３は、ダウンロードヘッダの概要の一例を示す図である。
なお、全てのＤＬＴにおいて、同一フォーマットのダウンロードヘッダが付与される。
以下にダウンロードヘッダの詳細を述べる。
“begin_version”はダウンロードの対象となる最古のバージョンを、“end_version”はダウンロードの対象となる最新のバージョンを指定し、ダウンロードの対象となるソフトウェアのバージョンを限定する。プログラム受信装置のソフトウェアのバージョンが、この“begin_version”と“end_version”との範囲内にある場合にのみ、このＤＬＴがダウンロードの対象であるとプログラム受信装置により判断される。
【００５７】
“new_version”はダウンロード後に更新すべきソフトウェアのバージョンを指定する。ダウンロード後にプログラム受信装置のソフトウェアのバージョンがこの“new_version”に更新される。
“exmodel_id”は、ＤＬＴのモデルＩＤの拡張の為のものであり、ダウンロードの対象となるモデルを限定する。プログラム受信装置の拡張モデルＩＤとこの“exmodel_id”とが一致した場合にのみ、このＤＬＴがダウンロードの対象であるとプログラム受信装置により判断される。
【００５８】
“exmodel_map”は、ダウンロードの対象となるタイプを限定するためのビットマップである。自身のタイプに対応するビットが立っていれば、このＤＬＴがダウンロードの対象であるとプログラム受信装置により判断される。
“current_id”は処理用プログラムの種類を示す識別子である。
“sub_id”は同時にダウンロード可能な処理用プログラムのcurrent_idを示す。
【００５９】
“start_id”は最初にダウンロードすべき処理用プログラムのcurrent_idを示す。
“start_subid”は最初に同時にダウンロード可能な処理用プログラムのcurrent_idを示す。
“next_id”は次にダウンロードすべき処理用プログラムのcurrent_idを示す。なお、ここでは、最後に受信すべき処理用プログラムのnext_idを“0xffff”とする。
【００６０】
“next_subid”は次に同時にダウンロード可能な処理用プログラムのcurrent_idを示す。
なお、上記識別子のＭＳＢ（最上位ビット）はダウンロード処理用プログラムと非ダウンロード処理用プログラムとの識別の為に用いられる。ここでは、２ｂｙｔｅの識別子内のＭＳＢが、“１”の場合はダウンロード処理用プログラムを“０”の場合は非ダウンロード処理用プログラムを示すものとする。
【００６１】
“grp_no”は同一の“current_id”を持つＤＬＴにおけるグループ番号であり、ここでは、０から順にインクリメントされた数値とする。
“last_grpno”は、同一の“current_id”を持つＤＬＴにおける最終グループ番号であり、同一のcurrent_idを持つＤＬＴのグループが全てダウンロードされたか否かの判断に用いられる。なお、グループ数は３２個以下なので、ここでは“last_grpno＜３２ ”、“０≦grp_no≦last_grpno”とする。
【００６２】
“seq_no”は、同一の“current_id”と同一の“grp_no”とを持つＤＬＴにおけるシーケンス番号であり、ここでは、０から順にインクリメントされた数値とする。
“last_seqno”は、同一の“current_id”と同一の“grp_no”とを持つＤＬＴにおける最終シーケンス番号であり、同一のcurrent_idと同一のgrp_noとを持つＤＬＴのシーケンスが全てダウンロードされたか否かの判断に用いられる。なお、シーケンス数は２５６個以下なので、ここでは“last_seqno＜２５６”、“０≦seq_no≦last_seqno”とする。
【００６３】
“dlt_total”は、一周期分の有効なＤＬＴの総数であり、ＤＬＴ受信中の進捗計算に用いられる。
“attr_flag”は、ＤＬＴの属性を示すフラグのセットであり、各ビット値に応じて、対応する処理等が区別される。例えば、ここではｂｉｔ０がＣＲＣ（エラーチェックの一種）の有り無しを区別し、ＣＲＣ有り（ｂｉｔ０が“１”）の場合はデータ２６ｂｉｔに対し６ｂｉｔのＣＲＣが付与される。
【００６４】
“offset”は、ダウンロードヘッダの終わりの位置からスクリプトが記述される位置までのバイト数を示す。
ここで、分割部１０４及び識別子付加部１０５によるＤＬＴの生成は、ダウンロード処理用プログラム、第１非ダウンロード処理用プログラム、及び、第２非ダウンロード処理用プログラムの各処理用プログラム別に実行される。
【００６５】
以下に、ＤＬＴの階層構造について説明する。
ダウンロードコードの各処理用プログラムはＤＬＴに比べてサイズが大きいため１つのＤＬＴでは記述できない。よって、生成されたＤＬＴは階層構造を持つ。
図４は、分割部１０４及び識別子付加部１０５により生成されたＤＬＴの階層構造を概略的に示す図である。
【００６６】
図４に示した様に、繰り返し送信されるＤＬＴ一周期はダウンロードＩＤにより識別される。また、同一のダウンロードＩＤを持つグループが最大で３２個存在し、各グループには順次グループ番号が付加される。さらに、同一のグループ番号を持つシーケンスが最大で２５６個存在し、各シーケンスには順次シーケンス番号が付加される。
【００６７】
ダウンロードＩＤとは、プログラム受信装置におけるダウンロードすべき順序を規定するものであり、
上記で説明した、カレントＩＤ（current_id）、サブＩＤ（sub_id）、ネクストＩＤ（next_id）、スタートＩＤ（start_id）、ネクストサブＩＤ（next_subid）及びスタートサブＩＤ（start_subid）からなる。ネクストサブＩＤ及びスタートサブＩＤは、より敏速な処理を実現する為に用いられるものである。ネクストサブＩＤはネクストＩＤと同じカレントＩＤを持つＤＬＴ内のサブＩＤと同じ値であり、スタートサブＩＤはスタートＩＤと同じカレントＩＤを持つＤＬＴ内のサブＩＤと同じ値なので、説明の簡略化のためネクストサブＩＤ及びスタートサブＩＤを用いず、カレントＩＤ、サブＩＤ、ネクストＩＤ、スタートＩＤの４つを用いて説明することとする。
【００６８】
ここでカレントＩＤは各処理用プログラムに応じた識別子である。よって、同一カレントＩＤをもつ各ＤＬＴは同一処理用プログラムが分割されたものであることを示している。
また、ここでサブＩＤはプログラム受信装置における自身のダウンロードの途中で、同時にダウンロードできる他の処理用プログラムのカレントＩＤを示している。
【００６９】
また、ここでネクストＩＤは、プログラム受信装置における自身のダウンロードの次にダウンロードすべき処理用プログラムのカレントＩＤを示している。
また、ここでスタートＩＤは、プログラム受信装置が最初にダウンロードすべき処理用プログラムのカレントＩＤを示している。
本実施の形態では、第１ダウンロードＩＤは「カレントＩＤ＝１、サブＩＤ＝３、ネクストＩＤ＝２、スタートＩＤ＝１」、第２ダウンロードＩＤは「カレントＩＤ＝２、サブＩＤ＝３、ネクストＩＤ＝３、スタートＩＤ＝１」、第３ダウンロードＩＤは「カレントＩＤ＝３、サブＩＤ＝なし（0xffff）、ネクストＩＤ＝なし（0xffff）、スタートＩＤ＝１」（ネクストＩＤが図１２とは異なる）となる（第４ダウンロードＩＤ以降はない）。これは、ダウンロード処理用プログラムが最初にダウンロードすべき処理用プログラムであり、ダウンロード処理用プログラムのダウンロードの途中で同時に第２非ダウンロード処理用プログラムをダウンロードでき、ダウンロード処理用プログラムのダウンロードの次に第１非ダウンロード処理用プログラムをダウンロードし、同時に第２非ダウンロード処理用プログラムをダウンロードすることを規定している。
【００７０】
ここで送信部１０６が繰返し送信する際の所定の順序とは、例えば、ダウンロード処理用プログラムのＤＬＴの全て、第１非ダウンロード処理用プログラムのＤＬＴの一部、第２非ダウンロード処理用プログラムのＤＬＴの全て、第１非ダウンロード処理用プログラムのＤＬＴの残りの繰り返しである。このような順序で繰返しＤＬＴを送信することで、これを受信したプログラム受信装置におけるダウンロードに係る時間が短縮される。
【００７１】
上記のように、本発明の実施の形態１に係るプログラム送信装置は、新しい制御プログラムを構成する新しいダウンロード処理用プログラムと新しい非ダウンロード処理用プログラムとを、それぞれ分割して識別子を付加してＤＬＴ単位で繰返し送信する。
また、新しい非ダウンロード処理用プログラムを、さらに、新しいダウンロード処理用プログラムの全部が更新されるまではダウンロードできない第１非ダウンロード処理用プログラムと、新しいダウンロード処理用プログラムの全部が更新されなくてもダウンロードできる第２非ダウンロード処理用プログラムとに分離し、それぞれ分割して識別子を付加して所定の順序で繰返し送信してもよい。
【００７２】
＜プログラム受信装置＞
図５は、本発明の実施の形態１に係るプログラム受信装置の概略を示す図である。
図５に示すプログラム受信装置１５０は、一時記憶部１５１、制御プログラム記憶部１５２、受信部１５３、部分判断部１５４、ダウンロード判断部１５５、第１ダウンロード部１５６、第２ダウンロード部１５７及び状態保持部１５８を備える。
【００７３】
一時記憶部１５１は、例えばＤＲＡＭ等の汎用メモリであり、受信用バッファとして使用され、各スクリプト毎にＤＬＴが順次蓄積される。
制御プログラム記憶部１５２は、例えばフラッシュメモリ等の不揮発性で書き換え可能なメモリであり、ダウンロード処理を制御するダウンロード処理用プログラムと、ダウンロード処理以外の他の処理を制御する非ダウンロード処理用プログラムとからなる制御プログラムを予め記憶する。
【００７４】
受信部１５３は、例えばチューナー、復調器、及び、パケット分離回路等であり、新しい制御プログラムを、第１〜２識別子又は第３〜５識別子が付加されたＤＬＴ単位で、本発明の実施の形態１に係るプログラム送信装置から受信する。
部分判断部１５４は、例えばＴＤ等であり、受信した制御プログラムのＤＬＴに付加された第１〜２識別子を参照して、受信した制御プログラムのＤＬＴが、ダウンロード処理用プログラムのＤＬＴであるか、非ダウンロード処理用プログラムのＤＬＴであるかを判断する。また、第３〜５識別子を参照して、ダウンロード処理用プログラムのＤＬＴであるか、第１非ダウンロード処理用プログラムのＤＬＴであるか、第２非ダウンロード処理用プログラムのＤＬＴであるかを判断してもよい。
【００７５】
ダウンロード判断部１５５は、例えばＣＰＵによって実行されるダウンロード処理用プログラムの制御により実現され、新しいダウンロード処理用プログラムが全てダウンロードされたか否かを判断する。
第１ダウンロード部１５６は、例えばＣＰＵによって実行されるダウンロード処理用プログラムの制御により実現され、ダウンロード判断部１５５が全てダウンロードされたと判断するまで、制御プログラム記憶部１５２に予め記憶されたダウンロード処理用プログラムによる制御に従って、ダウンロード処理用プログラムと判断されたＤＬＴを、一旦、一時記憶部１５１に順次蓄積し、スクリプト単位でまとめて、一時記憶部１５１から制御プログラム記憶部１５２中の予め非ダウンロード処理用プログラムが記憶された領域内の第１非ダウンロード処理用プログラムに対応する領域（以下「第１領域」と記す。）に転送することにより、予め記憶された非ダウンロード処理用プログラムの上に新しいダウンロード処理用プログラムを上書きする。
【００７６】
また、第１ダウンロード部１５６は同時に、第２非ダウンロード処理用プログラムと判断されたＤＬＴを、一旦、一時記憶部１５１に順次蓄積し、スクリプト単位でまとめて、一時記憶部１５１から制御プログラム記憶部１５２中の予め非ダウンロード処理用プログラムが記憶された領域内の第１領域以外の第２非ダウンロード処理用プログラムに対応する部分（以下「第２領域」と記す。）に転送することにより、予め記憶された非ダウンロード処理用プログラムの一部の上に新しい非ダウンロード処理用プログラムを上書きすることもできる。
【００７７】
第２ダウンロード部１５７は、例えばＣＰＵによって実行されるブートプログラム及びダウンロード処理用プログラムにより実現され、ダウンロード判断部１５５が全てダウンロードされたと判断した場合は、第１領域に記憶された新しいダウンロード処理用プログラムの全てを、予めダウンロード処理用プログラムが記憶された第３領域にコピーすることにより、予め記憶されたダウンロード処理用プログラムの上に新しいダウンロード処理用プログラムを上書きした後で、第３領域に記憶された新しいダウンロード処理用プログラムによる制御を開始させる。ここでは、これらの処理はリブートの指示により起動したブートプログラムによって実行される。なお、ここでコピーをせずに、第１領域に記憶された新しいダウンロード処理用プログラムによる制御をその領域のまま開始させてもよい。
【００７８】
続いて第２ダウンロード部１５７は、新しいダウンロード処理用プログラムによる制御に従って、非ダウンロード処理用プログラムと判断されたＤＬＴを、一旦、一時記憶部１５１に順次蓄積し、スクリプト単位でまとめて、一時記憶部１５１から制御プログラム記憶部１５２中の現在制御に用いている新しいダウンロード処理用プログラムが記憶されている領域以外の領域（以下「非制御中領域」と記す。）に転送することにより、現在制御に用いていない制御プログラムの上に新しい非ダウンロード処理用プログラムの一部を上書きする。
【００７９】
また、第１ダウンロード部１５６が同時に、予め記憶された非ダウンロード処理用プログラムの一部の上に新しい非ダウンロード処理用プログラムを上書きする場合には、第２ダウンロード部１５７は、新しいダウンロード処理用プログラムによる制御に従って、第１ダウンロード部１５６におけるダウンロード処理を継続すると共に、第１非ダウンロード処理用プログラムと判断されたＤＬＴを、一旦、一時記憶部１５１に順次蓄積し、スクリプト単位でまとめて、一時記憶部１５１から非制御中領域に（第１領域に記憶された新しいダウンロード処理用プログラムの全てを第３領域にコピーする場合は「第１領域に」、コピーせず第１領域のまま制御を開始する場合は「第３領域に」）転送することにより、現在制御に用いていない制御プログラムの上に新しい非ダウンロード処理用プログラムの一部を上書きする。
【００８０】
状態保持部１５８は、例えばＥＥＰＲＯＭ等の電源が供給されなくても内容を保持する書き替え可能なメモリであり、新しい制御プログラムへの更新が開始されてからダウンロード処理用プログラムが全て制御プログラム記憶部１５２中に転送されたと判断されるまでの状態１と、ダウンロード処理用プログラムが全て制御プログラム記憶部１５２中に転送されたと判断されてから新しいダウンロード処理用プログラムが制御を開始するまでの状態２と、新しいダウンロード処理用プログラムが制御を開始してから新しい制御プログラムへの更新が全て終了するまでの状態３と、更新中でない通常状態との内の何れか１つの状態を示す状態値を電源が供給されなくても保持する。ここでは、状態１，２，３を示す状態値を、それぞれ“１”，“２”，“３”とし、通常状態を示す状態値を“０とする。”
さらに、状態保持部１５８は、実行ＩＤ、同時実行ＩＤ、更新中フラグ、新プログラムコピー情報、伝送緒元等の情報、及び、管理テーブルを保持する。
【００８１】
実行ＩＤは、現在ダウンロード処理すべき処理用プログラムのカレントＩＤを示す。
同時実行ＩＤは、実行ＩＤが示すカレントＩＤにより特定される処理用プログラムと、同時にダウンロードしてもよい処理用プログラムのカレントＩＤを示す。
【００８２】
ダウンロード処理の開始時においては、何れかのＤＬＴ中のstart_idが実行ＩＤとして、何れかのＤＬＴ中のstart_subidが同時受信ＩＤとして、状態保持部１５８に格納される。実行ＩＤか同時実行ＩＤかにより特定される処理用プログラムのＤＬＴが常に受信対象となり、実行ＩＤが示す処理用プログラムを全て処理すると、当該処理用プログラムのＤＬＴ中のnext_idが実行ＩＤとして、当該処理用プログラムのＤＬＴ中のnext_subidが同時受信ＩＤとして、状態保持部１５８に格納される。当該処理用プログラムのＤＬＴ中のnext_idが“0xffff”の場合は、最後に受信すべき処理用プログラムと判断する。
【００８３】
更新中フラグは、制御プログラム更新中であるか否かを示すフラグである。ここでは、更新中は“１”、更新中以外は“０”とする。
新プログラムコピー情報は、全ての新しいダウンロード処理用プログラムが非ダウンロード処理用プログラム領域に書き込まれているか否かを示す新プログラム有無情報と、新しいダウンロード処理用プログラムに関する、コピー元アドレス、コピー先アドレス及びコピーサイズを示す情報である。ここでは、新プログラム有無情報は、全ての新しいダウンロード処理用プログラムが非ダウンロード処理用プログラム領域に書き込まれている場合は“１”、書き込まれていない場合は“０”であるものとし、コピー元アドレスは新しいダウンロード処理用プログラムが書き込まれる非ダウンロード処理用プログラム領域の先頭アドレスを、コピー先アドレスは新しいダウンロード処理用プログラム領域の先頭アドレスを、コピーサイズは新しいダウンロード処理用プログラムのプログラムサイズを示すこととする。
【００８４】
伝送緒元は、ダウンロードコードを受信する際の周波数や偏波面などのチューナー切替えに必要な情報である。
状態保持部１５８の管理テーブルは、ダウンロードコードが制御プログラム記憶部１５２に転送されたか否かを、グループ単位で管理するために用いられ、また、各処理用プログラムにおける最初のグループの転送時にダウンロードヘッダを処理用プログラム毎に格納する。
【００８５】
上記のように、本発明の実施の形態１に係るプログラム受信装置は、ダウンロード処理用プログラム領域と非ダウンロード処理用プログラム領域とに区分されたフラッシュメモリ等の記憶手段を備えており、新しい制御プログラムをＤＬＴ単位で受信し、付加された識別子を参照して、新しいダウンロード処理用プログラムを一旦非ダウンロード処理用プログラム領域の一部に蓄積し、全部蓄積した後でダウンロード処理用プログラム領域に転送することにより更新し、更新した後で新しい非ダウンロード処理用プログラムを非ダウンロード処理用プログラム領域に蓄積する。
【００８６】
また、非ダウンロード処理用プログラム領域が、さらに、第１非ダウンロード処理用プログラム領域と第２非ダウンロード処理用プログラム領域とに区分され、新しいダウンロード処理用プログラムを一旦第１非ダウンロード処理用プログラム領域に蓄積すると共に、新第２非ダウンロード処理用プログラムを第２非ダウンロード処理用プログラム領域に蓄積することもできる。
【００８７】
＜プログラムコードのダウンロード方法＞
プログラムコードは、ブートプログラム、ダウンロード処理用プログラム及び非ダウンロード処理用プログラムの３つに分類できる。
ブートプログラムは、通常ＣＰＵの起動時に最初に用いられるもので、ダウンロードにより書き換えられないプログラムである。ここでは、ダウンロード開始条件が成立した場合、ダウンロード処理用プログラムを更新する場合、及び、ダウンロードが終了した場合にも用いられる。
【００８８】
ダウンロード処理用プログラムは、ダウンロード処理を行うのに必要なライブラリやドライバ等で構成される。
非ダウンロード処理用プログラムは、ダウンロード処理に関係しないフォント等のライブラリやドライバ等で構成される。
図６は、制御プログラム記憶部１５２における現制御プログラムの保持状態を概略的に示す図である。
【００８９】
図６に示すように制御プログラム記憶部１５２は、ブートプログラム領域、ダウンロード処理用プログラム領域及び非ダウンロード処理用プログラム領域に分割される。また、各処理用プログラムのデータ量の増加に備え、メモリ容量が許す限り領域毎にすき間（未使用領域）を備える。なお、モジュール単位のパッチを想定する場合においては、モジュール単位のデータ量の増加に備え、各処理用プログラム領域をさらにモジュール単位のモジュール領域に分割し、モジュール領域毎にすき間を空けるものであってもよい。
【００９０】
図７（ａ）は、当該ダウンロード時でない状態の一時記憶部１５１の使用状況を示す図であり、図７（ｂ）は当該ダウンロード時の状態の一時記憶部１５１の使用状況を示す図である。
図８は、制御プログラム記憶部１５２の記憶内容の、当該ダウンロード時における遷移を示す図である。
【００９１】
図９は、当該ダウンロード処理の手順の概要を示す図である。
以下に、図７〜９を用いて当該ダウンロード処理の手順の概要を示す。
（１）通常状態において、状態保持部１５８が保持する状態値は通常状態を示す“０”である（図８左上に対応）。予め設定された諸条件が満たされるとダウンロード処理が開始される（ステップＳ１）。
【００９２】
（２）ダウンロード処理が開始されたら、状態保持部１５８が保持する更新中フラグを、更新中を示す“１”に変更し、状態保持部１５８が保持する状態値を、状態１を示す“１”（図８右上に対応）に変更する（ステップＳ２）。
（３）一時記憶部１５１に新しいダウンロード処理用プログラムを読み込む（ステップＳ３）。
【００９３】
（４）少なくとも１スクリプトの新しいダウンロード処理用プログラムが読み込まれるまでステップＳ３を繰返す（ステップＳ４）。
（５）少なくとも１スクリプトの新しいダウンロード処理用プログラムが読み込まれたら、一時記憶部１５１に読み込んだ新しいダウンロード処理用プログラムを、スクリプト単位で制御プログラム記憶部１５２の非ダウンロード処理用プログラム領域に書き込む（ステップＳ５）。
【００９４】
（６）全ての新しいダウンロード処理用プログラムを制御プログラム記憶部１５２の非ダウンロード処理用プログラム領域へ書き込むまでステップＳ３〜５を繰返す（ステップＳ６）。
（７）全ての新しいダウンロード処理用プログラムを書き込んだら、状態保持部１５８が保持する状態値を、状態２を示す“２”（図８右下に対応）に変更する（ステップＳ７）。
【００９５】
（８）リブートする。ここで、ブートプログラムによって、ステップＳ３〜ステップＳ６で非ダウンロード処理用プログラム領域に書き込まれた新しいダウンロード処理用プログラムが、ダウンロード処理用プログラム領域にコピーされる（ステップＳ８）。
（９）状態保持部１５８が保持する状態値を、状態３を示す“３”（図８左下に対応）に変更する（ステップＳ９）。
【００９６】
（１０）一時記憶部１５１に新しい非ダウンロード処理用プログラムを読み込む（ステップＳ１０）。
（１１）少なくとも１スクリプトの新しい非ダウンロード処理用プログラムが読み込まれるまでステップＳ１０を繰返す（ステップＳ１１）。
（１２）少なくとも１スクリプトの新しい非ダウンロード処理用プログラムが読み込まれたら、一時記憶部１５１に読み込んだ新しい非ダウンロード処理用プログラムを、スクリプト単位で制御プログラム記憶部１５２の非ダウンロード処理用プログラム領域に書き込む（ステップＳ１２）。
【００９７】
（１３）全ての新しい非ダウンロード処理用プログラムを制御プログラム記憶部１５２の非ダウンロード処理用プログラム領域へ書き込むまでステップＳ１０〜１２を繰返す（ステップＳ１３）。
（１４）全ての新しい非ダウンロード処理用プログラムを書き込んだら、状態保持部１５８が保持する更新中フラグを、更新中以外を示す“０”に変更し、状態保持部１５８が保持する状態値を、通常状態を示す“０”（図８左上に対応）に変更する（ステップＳ１４）。
【００９８】
なお、ステップＳ３において新しいダウンロード処理用プログラムが読み込まれ、且つ、ステップＳ１０において新しい非ダウンロード処理用プログラムが読み込まれる一時記憶部１５１の領域（図７（ｂ）の下部領域、以下「バッファ領域」と記す）は、通常状態において非ダウンロード処理用プログラムが使用する領域（図７（ａ）の非ダウンロード処理用プログラム使用領域）である。これは、ダウンロード状態において動作しない非ダウンロード処理用プログラム使用領域を有効に活用するものである。また、このバッファ領域の先頭部には管理テーブルが設けられており、グループ毎にシーケンス単位の受信状況が管理される。
【００９９】
また、ステップＳ４、Ｓ１１における繰り返しの条件は、「少なくとも１スクリプトの新しい非ダウンロード処理用プログラムが読み込まれるまで」ではなく、「バッファ領域を使い切るまで」であってもよい。
また、バッファ領域のデータ容量に応じて、ステップＳ５、Ｓ１２において同時に書き込むことができるスクリプトの数か決まる。例えば、バッファ領域のデータ容量を５１２Ｋｂｙｔｅ、スクリプトのデータ容量を１２８Ｋｂｙｔｅとすると、同時に書き込むことができるスクリプトの数は最大で４個となる。
【０１００】
また、必ずしも新しいダウンロード処理用プログラムから受信開始する必要はなく、新しい非ダウンロード処理用プログラムのうちステップＳ５で上書きされない部分は、ステップＳ３の時点から読み込みを開始してもよい（詳しくは後述する）。
図１０は、ブートプログラムによるブート処理の手順の概要を示す図である。
【０１０１】
以下に、図１０を用いて当該ブート処理の手順の概要を示す。
（１）まず最初に、状態保持部１５８に保持されている新プログラム有無情報を参照して、図９のステップＳ８の処理をする必要があるか否か、つまり、非ダウンロード処理用プログラム領域に書き込まれた新しいダウンロード処理用プログラムを、ダウンロード処理用プログラム領域にコピーする必要があるか否かを判断する（ステップＳ１０１）。
【０１０２】
（２）コピーする必要がある場合（ステップＳ１０１：Ｙｅｓ）は、状態保持部１５８に保持されている新プログラムコピー情報の、コピー先アドレス、コピー元アドレス、コピーサイズを参照してコピーを実施する（ステップＳ１０２）。
（３）次に、状態保持部１５８に保持されている更新中フラグを参照して、更新中であるか否かを判断する（ステップＳ１０３）。
【０１０３】
（４）更新中でなければ（ステップＳ１０３：Ｎｏ）通常状態となり、この状態の時に図１１で説明するダウンロード開始処理が実行される（ステップＳ１０４）。
（５）更新中である場合（ステップＳ１０３：Ｙｅｓ）は、状態保持部１５８に保持されている伝送緒元を参照してチューナー切替えを行なう（ステップＳ１０５）。
【０１０４】
（６）続いて、ａＮＩＴを受信し、正しいネットワークにいる事を確認する（ステップＳ１０６）。
（７）続いて、ＤＣＴを受信し、ダウンロードすべきダウンロードコードが存在する事を、受信したＤＣＴ内のメーカーＩＤ、モデルＩＤ、バージョンＩＤにより確認する（ステップＳ１０７）。
【０１０５】
（８）続いて、ＤＬＴ受信用のバッファ領域（図７（ｂ）の下部領域）を確保する（ステップＳ１０８）。
（９）図１２で説明するＤＬＴの受信処理が実行される（ステップＳ１０９）。
図１１は、ダウンロード開始処理の手順の概要を示す図である。
【０１０６】
以下に、図１１を用いて当該ダウンロード開始処理の手順の概要を示す。
（１）通常状態の時に、定期的に送られてくるＤＣＴを受信しておく（ステップＳ２０１）。
（２）受信したＤＣＴ内のメーカーＩＤ、モデルＩＤ、バージョンＩＤによりダウンロードコードが存在するか否かを判断する（ステップＳ２０２）。ダウンロードコードが存在しない場合（ステップＳ２０２：Ｎｏ）は、ダウンロード処理はできないのでダウンロード開始処理を終了する（リターン）。
【０１０７】
（３）ダウンロードコードが存在する場合（ステップＳ２０２：Ｙｅｓ）は、モニタ等にダウンロードコードの存在を知らせるメッセージ等を表示して、ユーザによるダウンロード処理の指示を待つ（ステップＳ２０３）。
（４）ユーザによりダウンロード処理が指示されると、受信部１５３が、受信する変調波を、ＤＣＴ内のトランスポート・ストリームＩＤが特定する周波数の変調波に切替える（ステップＳ２０４）。
【０１０８】
（５）ＥＣＭを受信し、鍵情報を取り出す（ステップＳ２０５）。
（６）ＤＬＴを受信し、取り出した鍵情報を用いて復号化する（ステップＳ２０６）。
（７）復号化されたＤＬＴ内のメーカーＩＤが、受信装置自身のメーカーＩＤと一致するまでＤＬＴの受信を繰り返す（ステップＳ２０７：Ｎｏ、ステップＳ２０６）。
【０１０９】
（８）メーカーＩＤが一致したら（ステップＳ２０７：Ｙｅｓ）続いて、復号化されたＤＬＴ内のモデルＩＤが受信装置自身のモデルＩＤと一致し、且つ、復号化されたＤＬＴ内のバージョンＩＤが受信装置自身の現在の制御プログラムのバージョンよりも新しいか否かを判断する（ステップＳ２０８）。何れか一方でも満たさない場合（ステップＳ２０８：Ｎｏ）は、ダウンロード処理はできないのでダウンロード開始処理を終了する。
【０１１０】
（９）両方共満たす場合（ステップＳ２０８：Ｙｅｓ）は、状態保持部１５８に、ダウンロード処理に必要な各種情報を保存し初期設定を行なう。詳細には、ＤＬＴ内のスタートＩＤを実行ＩＤとして、ＤＬＴ内のスタートサブＩＤを同時実行ＩＤとして保存し、更新中フラグを更新中を示す“１”に変更し、現在の周波数及び偏波面などを伝送緒元に保存し、状態保持部１５８の管理テーブルを初期化する（ステップＳ２０９）。
【０１１１】
（１０）リブートする（ステップＳ２１０）。ここで、ブートプログラムによって、ダウンロード処理が実行される。
図１２は、ＤＬＴの受信処理の手順の概要を示す図である。
以下に、図１２を用いて当該ＤＬＴの受信処理の手順の概要を示す。
なお、当該ＤＬＴの受信処理は、図１０で説明したブート処理のステップＳ１０９において更新中に実行されるものである。
【０１１２】
（１）ＤＬＴを受信する（ステップＳ３０１）。
（２）受信したＤＬＴ内のメーカーＩＤ及びモデルＩＤが、受信装置自身のメーカーＩＤ及びモデルＩＤと一致し、且つ、受信したＤＬＴ内のバージョンＩＤが受信装置自身の現在の制御プログラムのバージョンよりも新しいＤＬＴを受信するまで、ＤＬＴの受信を繰り返す（ステップＳ３０２：Ｎｏ，ステップＳ３０１）。
【０１１３】
（３）全ての条件を満たすＤＬＴを受信した場合（ステップＳ３０２：Ｙｅｓ）は、受信したＤＬＴ内のカレントＩＤが、状態保持部１５８が保持する実行ＩＤ及び同時実行ＩＤのどちらかと一致するか否かを判断する（ステップＳ３０３）。どちらにも一致しない場合（ステップＳ３０３：Ｎｏ）は、受信したＤＬＴを破棄し、この時点までに一時記憶部１５１に読み込んだＤＬＴについてのコマンド実行処理（ステップＳ３１２）に進む。
【０１１４】
（４）どちらかと一致する場合（ステップＳ３０３：Ｙｅｓ）は、受信したＤＬＴのグループが既に制御プログラム記憶部１５２に転送済みか否かを、状態保持部１５８の管理テーブルを参照して判断する（ステップＳ３０４）。転送済みの場合（ステップＳ３０４：Ｙｅｓ）は、別のＤＬＴを受信するため、ＤＬＴの受信（ステップＳ３０１）に戻る。
【０１１５】
（５）転送済みでない場合（ステップＳ３０４：Ｎｏ）は、一時記憶部１５１に読み込み中のグループであるか否かを一時記憶部１５１のバッファ領域の管理テーブルを参照して判断する（ステップＳ３０５）。
（６）読み込み中のグループでない場合（ステップＳ３０５：Ｎｏ）は、一時記憶部１５１のバッファ領域に新たなグループを読み込むだけの空き領域が有るか否かを判断する（ステップＳ３０６）。バッファ領域に十分な空き領域がない場合（ステップＳ３０６：Ｎｏ）は、受信したＤＬＴを破棄し、この時点までに一時記憶部１５１に読み込んだＤＬＴについてのコマンド実行処理（ステップＳ３１２）に進む。
【０１１６】
（７）バッファ領域に十分な空き領域がある場合（ステップＳ３０６：Ｙｅｓ）は、新たなグループを読み込むための領域を確保し、ＤＬＴ格納処理（ステップＳ３０９）に進む（ステップＳ３０７）。
（８）読み込み中のグループである場合（ステップＳ３０５：Ｙｅｓ）は、受信したＤＬＴが既に一時記憶部１５１に読み込み済みか否かを、一時記憶部１５１のバッファ領域の管理テーブルを参照して判断する（ステップＳ３０８）。読み込み済みの場合（ステップＳ３０８：Ｙｅｓ）は、受信したＤＬＴを破棄し、別のＤＬＴを受信するため、ＤＬＴの受信（ステップＳ３０１）に戻る。
【０１１７】
（９）読み込み済みでない場合（ステップＳ３０８：Ｎｏ）は、受信したＤＬＴ内のグループ番号とシーケンス番号とからアドレスを計算し、受信したＤＬＴを、計算したアドレスが示す一時記憶部１５１の領域に読み込む（ステップＳ３０９）。なお、ここまでの処理にのみ使用される情報（例えば、スタートＩＤ等）はここで読み込まなくてもよく、また、同一グループのＤＬＴ間においては、以後の処理で使用される情報（例えば、カレントＩＤのＭＳＢ等）は全て同じでありグループ毎に少なくとも１つ読み込めばよいので、グループ毎に最初にＤＬＴが処理される際等に以後の処理で使用される情報を記憶すれば、以後は受信したＤＬＴ内のダウンロードコードのみを読み込むだけでよいことになる。
【０１１８】
（１０）受信したＤＬＴを読み込んだ事により、受信したＤＬＴのグループと同一グループの全てのシーケンスが、一時記憶部１５１に読み込み済みとなったか否かを判断する（ステップＳ３１０）。当該同一グループの全てのシーケンスが読み込み済みとなっていない場合（ステップＳ３１０：Ｎｏ）は、別のＤＬＴを受信するため、ＤＬＴの受信（ステップＳ３０１）に戻る。
【０１１９】
（１１）当該同一グループの全てのシーケンスが読み込み済みとなった場合（ステップＳ３１０：Ｎｏ）は、さらに、受信したＤＬＴ内のカレントＩＤにより特定される処理用プログラムの全てのグループが、制御プログラム記憶部１５２に転送済み、又は、一時記憶部１５１に読み込み済みとなったか否かを、状態保持部１５８の管理テーブルと一時記憶部１５１のバッファ領域の管理テーブルとを参照して判断する（ステップＳ３１１）。転送済み、又は、読み込み済みとなっていない場合（ステップＳ３１１：Ｎｏ）は、別のＤＬＴを受信するため、ＤＬＴの受信（ステップＳ３０１）に戻る。
【０１２０】
（１２）転送済み、又は、読み込み済みとなった場合（ステップＳ３１１：Ｙｅｓ）は、この時点までに一時記憶部１５１に読み込んだＤＬＴについてのコマンド実行処理を実行する（ステップＳ３１２）。
図１３は、コマンド実行処理の手順の概要を示す図である。
以下に、図１３を用いて当該コマンド実行処理の手順の概要を示す。
【０１２１】
なお、当該コマンド実行処理は、図１２で説明したＤＬＴの受信処理のステップＳ３１２において更新中に実行されるものである。
（１）ダウンロード処理用プログラムデータの全てが制御プログラム記憶部１５２に転送済みとなり、且つ、一時記憶部１５１に残ったグループを処理していることを示す処理待ちビットをリセットする（ステップＳ４０１）。なお、ここでは、処理待ちビットは状態保持部１５８に存在するものとする。
【０１２２】
（２）一時記憶部１５１に実行可能なグループが蓄積されているか否かを、一時記憶部１５１のバッファ領域の管理テーブルを参照して判断する（ステップＳ４０２）。
（３）蓄積されていない場合（ステップＳ４０２：Ｎｏ）は、処理待ちビットがセットされているか否かを調べる（ステップＳ４０３）。処理待ちビットがセットされていない場合（ステップＳ４０３：Ｎｏ）はコマンド実行処理を終了してＤＬＴの受信処理に戻る。処理待ちビットがセットされている場合（ステップＳ４０３：Ｙｅｓ）は、制御プログラム記憶部１５２に転送済みとなっているダウンロード処理用プログラムのデータを処理するためにステップＳ４１２へ進む。
【０１２３】
（４）蓄積されている場合（ステップＳ４０２：Ｙｅｓ）は、実行可能なグループの内の１グループについて、そのグループ内のダウンロードコマンドとダウンロードコードのみが連続するように連結してスクリプトを生成する（ステップＳ４０４）。なお、図１２のステップＳ３０９を実行する際にこの処理を行なってもよい。
【０１２４】
（５）生成したスクリプトの先頭部にあるダウンロードコマンド内のコピーコマンドに従って、当該スクリプト内のデータを制御プログラム記憶部１５２に転送する（ステップＳ４０５）。ここで、当該グループが各処理用プログラムにおいて最初に転送されるグループの場合は、ダウンロードヘッダを状態保持部１５８の管理テーブルに格納する。
【０１２５】
（６）当該スクリプト内のデータを転送した事により、当該スクリプトが属する処理用プログラムのデータの全てが、制御プログラム記憶部１５２に転送済みとなったか否かを、状態保持部１５８の管理テーブルを参照して判断する（ステップＳ４０６）。転送済みとなっていない場合（ステップＳ４０６：Ｎｏ）は、別の実行可能なグループを処理する為にステップＳ４０２に戻る。
【０１２６】
（７）転送済みとなった場合（ステップＳ４０６：Ｙｅｓ）は、当該処理用プログラムを特定するカレントＩＤが、受信したＤＬＴ内のカレントＩＤと同じであり、且つ、状態保持部１５８が保持する実行ＩＤと同じであるか否かを、状態保持部１５８の管理テーブルを参照して判断する（ステップＳ４０７）。どちらか一方でも同じでない場合（ステップＳ４０７：Ｎｏ）は、状態保持部１５８に保存したダウンロード処理に必要な各種情報を更新しない（ステップＳ４０８の処理をスキップする）。
【０１２７】
（８）どちらとも同じである場合（ステップＳ４０７：Ｙｅｓ）は、状態保持部１５８に保存したダウンロード処理に必要な各種情報を更新する。詳細には、受信したＤＬＴ内のネクストＩＤを実行ＩＤとして、受信したＤＬＴ内のネクストサブＩＤを同時実行ＩＤとして更新する（ステップＳ４０８）。
（９）当該処理用プログラムを特定するカレントＩＤのＭＳＢにより、当該処理用プログラムがダウンロード処理用プログラムであるか否かを判断する（ステップＳ４０９）。
【０１２８】
（１０）ダウンロード処理用プログラムである場合（ステップＳ４０９：Ｙｅｓ）は、一時記憶部１５１に実行可能なグループが残っているか否かを、一時記憶部１５１のバッファ領域の管理テーブルを参照して判断する（ステップＳ４１０）。
（１１）残っている場合（ステップＳ４１０：Ｙｅｓ）は、処理待ちビットをセットして（ステップＳ４１１）、残りの実行可能なグループを処理する為にステップＳ４０２に戻る。
【０１２９】
（１２）残っていない場合（ステップＳ４１０：Ｎｏ）は、状態保持部１５８に保持されている新プログラム有無情報を、全ての新しいダウンロード処理用プログラムが非ダウンロード処理用プログラム領域に書き込まれている事を示す“１”に設定することにより、状態１を完了させる（ステップＳ４１２）。
（１３）リブートする（ステップＳ４１３）。
【０１３０】
（１４）ダウンロード処理用プログラムでない場合（ステップＳ４０９：Ｎｏ）は、ダウンロード処理が全て終了したか否かを判断する。ここでは、状態保持部１５８が保持する実行ＩＤと同じカレントＩＤに対応する処理用プログラムが全て更新済みで、且つ、当該処理用プログラムに対応するネクストＩＤが“0xffff”の場合にダウンロード処理が全て終了したと判断する（ステップＳ４１４）。ダウンロード処理が全て終了していない場合（ステップＳ４１４：Ｎｏ）は、残りの実行可能なグループを処理する為にステップＳ４０２に戻る。
【０１３１】
（１５）ダウンロード処理が全て終了している場合（ステップＳ４１４：Ｙｅｓ）は、状態保持部１５８の更新中フラグを、更新中以外を示す“０”に変更し、状態保持部１５８が保持する状態値を、通常状態を示す“０”（図８左上に対応）に変更する（ステップＳ４１５）。
（１６）リブートする（ステップＳ４１６）。
【０１３２】
＜ダウンロード処理のタイミング例＞
以下、ダウンロード処理用プログラムをＤＬと略記し、非ダウンロード処理用プログラムを非ＤＬと略記し、一時記憶部１５１のバッファ領域のデータ容量を５１２Ｋｂｙｔｅ程度とする。
まず、同時実行ＩＤを使用しない場合のダウンロード処理のタイミング例を示す。
【０１３３】
図１４は、制御プログラム記憶部１５２のメモリマップの概要を示す図である。ここで、ブートプログラムはダウンロードの対象外とする。
図１４に示すように、ＤＬ領域は１個の領域となっており、ＤＬのカレントＩＤを“0x8001”とする。
また、非ＤＬ領域も１個の領域となっており、非ＤＬのカレントＩＤを“0x0002”とする。例えば、各領域のサイズは、ブートプログラム領域が３２Ｋｂｙｔｅ、ＤＬ領域が２８８Ｋｂｙｔｅ、“非ＤＬ領域”が１７２８Ｋｂｙｔｅであり、合計で２Ｍｂｙｔｅである。
【０１３４】
ここで、“非ＤＬ領域”には、一旦新しいダウンロード処理用プログラムを転送する必要があるので、ダウンロード処理用プログラムの更新が終了するまでは、新しい非ダウンロード処理用プログラムは転送できない。
図１５は、ダウンロード処理のタイミングを示す図である。
なお、ここではＤＬＴの一時記憶部１５１への蓄積と、制御プログラム記憶部１５２への新しい制御プログラムの転送とを同時に処理できないものとする。
【０１３５】
ここで、図１５中の“ＤＬ部”は、図１４中に示したＤＬ領域に対応する新しいダウンロード処理用プログラムを含む複数のＤＬＴを指し、図１５中の“非ＤＬ部”は、図１４中に示した非ＤＬ領域に対応する新しい非ダウンロード処理用プログラムを含む複数のＤＬＴを指す。
また、図１５中に示した各ＩＤは、それぞれの直下の“ＤＬ部”、“非ＤＬ部”に対応する。
【０１３６】
図１５に示すように、新しい制御プログラムは、“ＤＬ部”、“非ＤＬ部”で１周期であり、この順番で繰り返し継続的に本発明のプログラム送信装置から送信される。
ここで、中央に“Ｗ”と記載された矢印は制御プログラム記憶部１５２への新しい制御プログラムの転送中を示し、“Ｗ”と記載されていない矢印はＤＬＴの一時記憶部１５１への蓄積中を示す。
【０１３７】
また、“スタート”と記載された“▼”は、ダウンロード処理を開始するタイミングを示し、“リブート”と記載された“△”は、リブートを開始するタイミングを示す。
また、制御プログラム記憶部１５２への新しい制御プログラムの転送開始の条件は、一時記憶部１５１のバッファ領域の空きが無くなった、各ＤＬ部と非ＤＬ部の切り替わり、ＤＬ部の蓄積完了、及び、非ＤＬ部の蓄積完了である。
【０１３８】
この例では、ＤＬ部を“非ＤＬ領域”に転送した後、リブートによって“非ＤＬ領域”に転送されたＤＬ部のデータが“ＤＬ領域”にコピーされ、非ＤＬ部をほぼ２周期かけて“非ＤＬ領域”に転送した後、リブートしてダウンロード処理が終了する。
図１５中の“（ａ）”は“ＤＬ部”の途中からダウンロード処理を開始した場合の蓄積及び転送のタイミングであり、“（ｂ）”は“非ＤＬ部”の途中からダウンロード処理を開始した場合の蓄積及び転送のタイミングである。
【０１３９】
図１５に示すように、“（ａ）”においてはほぼ３周期弱＋リブート時間で、“（ｂ）”においてはほぼ２周期半＋リブート時間でダウンロード処理が終了する。
この例では、ダウンロード処理用プログラムの更新が終了するまでは、新しい非ダウンロード処理用プログラムは転送できないので、ダウンロード処理を開始するタイミングによって、蓄積開始までの待ち時間が大幅に異なり処理時間が安定しない。
【０１４０】
次に、同時実行ＩＤを使用する場合のダウンロード処理のタイミング例を示す。
図１６は、制御プログラム記憶部１５２のメモリマップの概要を示す図である。ここでも、ブートプログラムはダウンロードの対象外とする。
図１６に示すように、ＤＬ領域は１個の領域となっており、ＤＬのカレントＩＤを“0x8001”とする。
【０１４１】
また、非ＤＬ領域は３個の領域、“(1)領域”、“(2)a領域”及び“(2)b領域”に分割されている。“(2)a領域＋(2)b領域”は、非ＤＬ領域のうち、ダウンロード処理用プログラムが暫定的に転送される領域であり、対応する非ＤＬのカレントＩＤを“0x0003”とする。なお、“(2)a領域＋(2)b領域”のサイズはＤＬ領域と同じである（ＤＬ領域よりも大きくてもよい）。“(1)領域”は、非ＤＬ領域のうち、ダウンロード処理用プログラムが暫定的に転送されない領域であり、対応する非ＤＬのカレントＩＤを“0x0002”とする。例えば、各領域のサイズは、ブートプログラム領域が３２Ｋｂｙｔｅ、ＤＬ領域が２８８Ｋｂｙｔｅ、“(1)領域”が１４４０Ｋｂｙｔｅ、“(2)a領域”が１４４Ｋｂｙｔｅ、“(2)b領域”が１４４Ｋｂｙｔｅであり、合計で２Ｍｂｙｔｅである。
【０１４２】
ここで、“(2)a領域＋(2)b領域”には、一旦新しいダウンロード処理用プログラムを転送する必要があるので、ダウンロード処理用プログラムの更新が終了するまでは、“(2)a領域＋(2)b領域”に対応する新しい非ダウンロード処理用プログラムは転送できない。また、“(1)領域”には、一旦新しいダウンロード処理用プログラムを転送する必要は無いので、ダウンロード処理用プログラムの更新が終了するまで待つ必要は無く、“(1)領域”に対応する新しい非ダウンロード処理用プログラムはいつでも転送できる。
【０１４３】
図１７は、ダウンロード処理のタイミングを示す図である。
なお、ここでもＤＬＴの一時記憶部１５１への蓄積と、制御プログラム記憶部１５２への新しい制御プログラムの転送とを同時に処理できないものとする。
ここで、図１７中の“ＤＬ部”は、図１６中に示したＤＬ領域に対応する新しいダウンロード処理用プログラムを含む複数のＤＬＴを指し、図１７中の“(1)”、“(2)a”及び“(2)b”はそれぞれ、図１６中に示した同一記号の各領域に対応する新しい非ダウンロード処理用プログラムを含む複数のＤＬＴを指す。
【０１４４】
また、図１７中に示した各ＩＤは、それぞれの直下の“ＤＬ部”、“(1)”、“(2)a”及び“(2)b”に対応する。
図１７に示すように、新しい制御プログラムは、“ＤＬ部”、“(2)a”、“(1)”、“(2)b”で１周期であり、この順番で繰り返し継続的に本発明のプログラム送信装置から送信される。
【０１４５】
なお、図１７中の記号その他の表記方法は図１５に準ずる。
図１７中の“（ａ）”は“ＤＬ部”の途中からダウンロード処理を開始した場合の蓄積及び転送のタイミングであり、“（ｂ）”は“(2)a”の途中からダウンロード処理を開始した場合の蓄積及び転送のタイミングである。
以下に、図１７中の“（ａ）”における蓄積及び転送のタイミングを詳細に説明する。
【０１４６】
（１）“ＤＬ部”の途中のＤＬＴから受信を開始する（ａ１）。なお、スタート時の実行ＩＤは“0x8001”、同時実行ＩＤは“0x0002”であるものとする。
（２）“ＤＬ部”のカレントＩＤは“0x8001”であり、実行ＩＤと一致するので、“(2)a”のＤＬＴを受信し始めるまで、“ＤＬ部”のＤＬＴを受信して一時記憶部１５１への蓄積する（ａ２）。
【０１４７】
（３）“(2)a”のＤＬＴを受信し始めると、一時記憶部１５１に蓄積したＤＬ部のデータを図１６中の“(2)a領域＋(2)b領域”に転送する（ａ３）。
（４）転送が終了した時は“(2)a”の途中となる。“(2)a”のカレントＩＤは“0x0003”であり、実行ＩＤ及び同時実行ＩＤの何れとも一致しないので、一時記憶部１５１へは蓄積しない（ａ４）。
【０１４８】
（５）“(1)”のＤＬＴを受信し始めると、“(1)”のカレントＩＤは“0x0002”であり、同時実行ＩＤと一致するので、一時記憶部１５１のバッファ領域がフルになるまで、“(1)”のＤＬＴを受信して一時記憶部１５１への蓄積する（ａ５）。
（６）一時記憶部１５１のバッファ領域がフルになると、一時記憶部１５１に蓄積した“(1)”のデータを図１６中の“(1)領域”に転送する（ａ６）。
【０１４９】
（７）転送が終了すると“(1)”のＤＬＴの受信を再開し、“(2)b”のＤＬＴを受信し始めるまで、“(1)”のＤＬＴを受信して一時記憶部１５１への蓄積する（ａ７）。
（８）“(2)b”のＤＬＴを受信し始めると、一時記憶部１５１に蓄積した“(1)”のデータを図１６中の“(1)領域”に転送する（ａ８）。
【０１５０】
（９）転送が終了した時は“(2)b”の途中となる。“(2)b”のカレントＩＤは“0x0003”であり、実行ＩＤ及び同時実行ＩＤの何れとも一致しないので、一時記憶部１５１へは蓄積しない（ａ９）。
（１０）“ＤＬ部”のＤＬＴを受信し始めると、“ＤＬ部”のカレントＩＤは“0x8001”であり、実行ＩＤと一致するので、まだ蓄積していない残り部分の“ＤＬ部”のＤＬＴを受信して一時記憶部１５１への蓄積する（ａ１０）。
【０１５１】
（１１）全ての“ＤＬ部”のＤＬＴを蓄積すると、一時記憶部１５１に蓄積したＤＬ部のデータを図１６中の“(2)a領域＋(2)b領域”に転送する（ａ１１）。
（１２）転送が終了したら、実行ＩＤを“ＤＬ部”のネクストＩＤである“0x0002”に、同時実行ＩＤを“ＤＬ部”のネクストサブＩＤである“0x0003”に書換えて、リブートする。ここでのブート処理において、図１６中の“(2)a領域＋(2)b領域”に転送された“ＤＬ部”の全データが、図１６中の“(1)領域”にコピーされる（ａ１２）。
【０１５２】
（１３）“(2)a”のＤＬＴを受信し始めると、“(2)a”のカレントＩＤは“0x0003”であり、同時実行ＩＤと一致するので、“(2)a”のＤＬＴを受信して一時記憶部１５１へ蓄積する（ａ１３）。
（１４）“(2)a”のＤＬＴを受信し終わると、一時記憶部１５１に蓄積した“(2)a”のデータを図１６中の“(2)a領域”に転送する（ａ１４）。
【０１５３】
（１５）転送が終了した時は“(1)”の途中となる。概に蓄積した“(1)”のＤＬＴの蓄積はしない（ａ１５）。
（１６）まだ蓄積していない“(1)”のＤＬＴを受信して一時記憶部１５１への蓄積する（ａ１６）。
（１７）概に蓄積した“(1)”のＤＬＴを受信し始めると、一時記憶部１５１に蓄積した“(1)”のデータを図１６中の“(1)領域”に転送する（ａ１７）。
【０１５４】
この転送が終了すると“(1)”の部分は全て受信及び書き込み完了になったので、実行ＩＤを“(1)”のネクストＩＤである“0x0003”に、同時実行ＩＤを“(1)”のネクストサブＩＤである“0xffff”に書換える。
（１８）転送が終了した時は“(1)”の途中となる。概に蓄積した“(1)”のＤＬＴの蓄積はしない（ａ１８）。
【０１５５】
（１９）“(2)b”のＤＬＴを受信し始めると、“(2)b”のカレントＩＤは“0x0003”であり、実行ＩＤと一致するので、“(2)b”のＤＬＴを受信して一時記憶部１５１への蓄積する（ａ１９）。
（２０）“(2)b”のＤＬＴを受信し終わると、一時記憶部１５１に蓄積した“(2)b”のデータを図１６中の“(2)b領域”に転送する（ａ２０）。
【０１５６】
（２１）全ての転送が終了したら、リブートして通常状態に戻る（ａ２１）。図１７中の“（ｂ）”における蓄積及び転送のタイミングの詳細な説明は、“（ａ）”と同様なので省略する。
図１７に示すように、“（ａ）”においてはほぼ２周期＋リブート時間で、“（ｂ）”においては２周期＋転送時間＋リブート時間でダウンロード処理が終了する。
【０１５７】
以上のように実施の形態１では、ダウンロード処理用プログラムの更新が終了しなくても、新しい非ダウンロード処理用プログラムの一部は転送できるので、蓄積開始までの待ち時間が生じにくく、処理時間が長くならず安定する。
（実施の形態２）
＜概要＞
本発明の実施の形態２は、プログラム送信装置、プログラム受信装置及びプログラムコードのダウンロード方法については実施の形態１と同様なので、説明を省略する。
【０１５８】
本発明の実施の形態２は、同時実行ＩＤを使用して短時間でダウンロード処理を行なう実施の形態１とは別の例であり、プログラム送信装置において各処理用プログラムを細分化して交互に繰り返し送信することにより、プログラム受信装置においてどこからダウンロード処理を開始しても長い待ちが生じない。
＜ダウンロード処理のタイミング例＞
図１８は、制御プログラム記憶部１５２のメモリマップの概要を示す図である。
【０１５９】
図１８に示すように、ＤＬ領域＋非ＤＬ領域は４個の領域、“Ａ領域”、“Ｂ領域”、“Ｃ領域”及び“Ｄ領域”に分割され、それぞれの領域はさらに、複数の部分領域に分割される。例えばここでは、それぞれの領域は４等分されるものとし、４等分された領域に対応する新しい制御プログラムを含む複数のＤＬＴの集まりをそれぞれ、Ａ−１〜Ａ−４、Ｂ−１〜Ｂ−４、Ｃ−１〜Ｃ−４、Ｄ−１〜Ｄ−４、とする。
【０１６０】
“Ａ領域”は、ＤＬ領域の全てと非ＤＬ領域の一部とからなり、対応するカレントＩＤを“0x8001”とする。“Ｂ領域”、“Ｃ領域”及び“Ｄ領域”は、非ＤＬ領域の一部からなり、対応するカレントＩＤをそれぞれ“0x0002”、“0x0003”及び“0x0004”とする。“Ｄ領域”は、ダウンロード処理用プログラムが暫定的に転送される領域であり、“Ａ領域”、“Ｂ領域”及び“Ｃ領域”の非ＤＬ領域は、ダウンロード処理用プログラムが暫定的に転送されない領域であるものとする。例えば、各領域のサイズは、ブートプログラム領域が３２Ｋｂｙｔｅ、Ａ領域が４８０Ｋｂｙｔｅ、“Ｂ領域”“Ｃ領域”及び“Ｄ領域”が５１２Ｋｂｙｔｅであり、合計で２Ｍｂｙｔｅである。
【０１６１】
ここで、“Ｄ領域”には、一旦新しいダウンロード処理用プログラムを転送する必要があるので、ダウンロード処理用プログラムの更新が終了するまでは、“Ｄ領域”に対応する新しい非ダウンロード処理用プログラムは転送できない。また、“Ｂ領域”及び“Ｃ領域”には、一旦新しいダウンロード処理用プログラムを転送する必要は無いので、ダウンロード処理用プログラムの更新が終了するまで待つ必要は無く、“Ｂ領域”及び“Ｃ領域”に対応する新しい非ダウンロード処理用プログラムはいつでも転送できる。
【０１６２】
図１９は、ダウンロード処理のタイミングを示す図である。
なお、ここでもＤＬＴの一時記憶部１５１への蓄積と、制御プログラム記憶部１５２への新しい制御プログラムの転送とを同時に処理できないものとする。
図１９に示すように、新しい制御プログラムは、“Ａ−１”、“Ｃ−１”、“Ｂ−１”、“Ｄ−１”、“Ａ−２”、“Ｃ−２”、“Ｂ−２”、“Ｄ−２”、“Ａ−３”、“Ｃ−３”、“Ｂ−３”、“Ｄ−３”、“Ａ−４”、“Ｃ−４”、“Ｂ−４”及び“Ｄ−４”で１周期であり、この順番で繰り返し継続的に本発明のプログラム送信装置から送信される。
【０１６３】
なお、図１９中の記号その他の表記方法は図１５に準ずる。
この例では、１順目でＡ−１〜Ａ−４を“Ｄ領域”に、Ｂ−１〜Ｂ−４を“Ｂ領域”に転送した後、リブートによって“Ｄ領域”に転送された“Ａ−１〜Ａ−４”のデータが“Ａ領域”にコピーされ、２順目でＣ−１〜Ｃ−４を“Ｃ領域”に、Ｄ−１〜Ｄ−４を“Ｄ領域”に転送した後、リブートしてダウンロード処理が終了する。
【０１６４】
ここでは“Ａ−１”の途中からダウンロード処理を開始した場合を示しており、ほぼ２周期＋リブート時間でダウンロード処理が終了する。
以上のように実施の形態２では、各領域を細分化しているので、どこからダウンロード処理を開始しても長い待ちが生じず、処理時間が長くならず安定している。
【０１６５】
なお、実施の形態２では、ＤＬ領域＋非ＤＬ領域を４個の領域に分割する例を説明したが、４個の領域に分割するだけでなく、４個以上の偶数に分割するものであってもよいし、また、それぞれの領域は４等分されるものとしたが、何等分されるものであってもよい。
この場合のプログラム送信装置は、Ｍを４以上の偶数とすると、非ＤＬ部の一部を分離してＤＬ部と合わせ制御プログラム全体の略Ｍ分の１のデータ量の第１制御プログラムとし、残りの非ＤＬ部の内の第１制御プログラムと同じデータ量を分離して第２制御プログラムとし、残りの非ＤＬ部を略（Ｍ−２）等分にして、それぞれ第３制御プログラム〜第Ｍ制御プログラムとし、分離した第１〜Ｍ制御プログラムをそれぞれ略均等の分割部分に分割し、分割した第１制御プログラムの分割部分のそれぞれに第１識別子を、分割した第２制御プログラムの分割部分のそれぞれに第２識別子を付加し、分割した第３〜Ｍ制御プログラムを各制御プログラム単位で略均等な２組に振り分けて、それぞれに第３識別子、及び、第４識別子を付加し、第１識別子を付加された制御プログラム、及び、第３識別子を付加された制御プログラムを第１集合とし、第２識別子を付加された制御プログラム、及び、第４識別子を付加された制御プログラムを第２集合として、分割部分単位で第１集合と第２集合とを交互に繰り返し送信する。
【０１６６】
以上のように実施の形態２では、実施の形態１と同様にダウンロード処理用プログラムの更新が終了しなくても、新しい非ダウンロード処理用プログラムの一部が転送できるのに加え、送信側が送信すべき制御プログラムを、ＤＬ部を含む略半分の第１集合とＤＬ部を含まない残りの略半分の第２集合との２組に分け、転送時間分以上の大きさの分割部分単位でこの２組を交互に繰り返し送信し、受信側がこの様な制御プログラムを受信するので、受信の１順目では第１集合の送信中に第１集合を蓄積し第２集合の送信中に蓄積した第１集合を順次転送することでＤＬ部を含む略半分を効率的に受信でき、２順目の受信では第２集合の送信中に第２集合を蓄積し第１集合の送信中に蓄積した第２集合を順次転送することでＤＬ部を含まない略半分を効率的に受信できる。従って、蓄積開始までの待ち時間が生じにくく、また、ほぼ２周期＋リブート時間でダウンロード処理が終了するので処理時間が長くならず安定する。
【０１６７】
（実施の形態３）
＜概要＞
本発明の実施の形態３は、プログラム送信装置、プログラム受信装置及びプログラムコードのダウンロード方法については実施の形態１と同様なので、説明を省略する。
【０１６８】
本発明の実施の形態３は、同時実行ＩＤを使用して短時間でダウンロード処理を行なう実施の形態１及び２とは別の例であり、プログラム送信装置においてプログラム受信装置がＤＬＴ受信の際に使用できるバッファサイズを考慮し、バッファが一杯になるタイミングでダミーＤＬＴを複数送出し、プログラム受信装置においてダミーＤＬＴ受信の間にフラッシュメモリへの書き込み等のコマンドの実行を行なう。
【０１６９】
＜ダウンロード処理のタイミング例＞
図２０は、制御プログラム記憶部１５２のメモリマップの概要を示す図である。ここでも、ブートプログラムはダウンロードの対象外とする。
図２０に示すように、ＤＬ領域は１個の領域となっており、ＤＬのカレントＩＤを“0x8001”とする。
【０１７０】
また、非ＤＬ領域は２個の領域、“(1)領域”及び“(2)領域”に分割されている。“(2)領域”は、非ＤＬ領域のうち、ダウンロード処理用プログラムとが暫定的に転送される領域であり、対応する非ＤＬのカレントＩＤを“0x0003”とする。なお、“(2)領域”のサイズは“ＤＬ領域”よりも大きい（“ＤＬ領域”と同じでもよい）。“(1)領域”は、非ＤＬ領域のうち、ダウンロード処理用プログラムとが暫定的に転送されない領域であり、対応する非ＤＬのカレントＩＤを“0x0002”とする。例えば、各領域のサイズは、ブートプログラム領域が３２Ｋｂｙｔｅ、ＤＬ領域が３５２Ｋｂｙｔｅ、“(1)領域”が１２８０Ｋｂｙｔｅ（１２８Ｋｂｙｔｅ×１０ブループ）、“(2)領域”が３８４Ｋｂｙｔｅ（１２８Ｋｂｙｔｅ×３グループ）であり、合計で２Ｍｂｙｔｅである。
【０１７１】
ここで、“(2)領域”には、一旦新しいダウンロード処理用プログラムを転送する必要があるので、ダウンロード処理用プログラムの更新が終了するまでは、“(2)領域”に対応する新しい非ダウンロード処理用プログラムは転送できない。また、“(1)領域”には、一旦新しいダウンロード処理用プログラムを転送する必要は無いので、ダウンロード処理用プログラムの更新が終了するまで待つ必要は無く、“(1)領域”に対応する新しい非ダウンロード処理用プログラムはいつでも転送できる。
【０１７２】
“(1)領域”はさらに、複数の部分領域に分割される。例えばここでは、“(1)領域”は３分割されるものとし、３分割された領域に対応する新しい制御プログラムを含む複数のＤＬＴの集まりをそれぞれ、“(1)a領域”、“(1)b領域”及び“(1)c領域”とする。例えば、各領域のサイズは、“(1)a領域”が５１２Ｋｂｙｔｅ（１２８Ｋｂｙｔｅ×４グループ）であり、“(1)b領域”が５１２Ｋｂｙｔｅ（１２８Ｋｂｙｔｅ×４グループ）であり、“(1)c領域”が２５６Ｋｂｙｔｅ（１２８Ｋｂｙｔｅ×２グループ）である。
【０１７３】
図２１は、ダウンロード処理のタイミングを示す図である。
なお、ここでもＤＬＴの一時記憶部１５１への蓄積と、制御プログラム記憶部１５２への新しい制御プログラムの転送とを同時に処理できないものとする。
ここで、図２１中の“ＤＬ部”は、図２０中に示した“ＤＬ領域”に対応する新しいダウンロード処理用プログラムを含む複数のＤＬＴを指し、図２１中の“(1)a”、“(1)b”、“(1)c”及び“(2)”はそれぞれ、図２０中に示した同一記号の各領域に対応する新しい非ダウンロード処理用プログラムを含む複数のＤＬＴを指す。また“ｄｕｍｍｙ”は、直前に一時記憶部１５１に蓄積した新しい制御プログラムのグループを、制御プログラム記憶部１５２へ転送するのに必要な時間分送出される様に、新しい制御プログラムの合間合間に挿入される。特に、“ＤＬ部”の直後の“ｄｕｍｍｙ”は、さらに、リブートも考慮した時間分送出される。
【０１７４】
“ｄｕｍｍｙ”のカレントＩＤは、有効なＤＬＴのカレントＩＤのどれとも一致しない値とする。ここでは、“ｄｕｍｍｙ”のカレントＩＤを“0x0000”とする。
また、図２１中に示した各ＩＤは、それぞれの直下の“ＤＬ部”、“(1)a”、“(1)b”、“(1)c”、“(2)”及び“ｄｕｍｍｙ”に対応する。
【０１７５】
図２１に示すように、新しい制御プログラムは、“ＤＬ部”、“ｄｕｍｍｙ”、“(2)”、“ｄｕｍｍｙ”、“(1)a”、“ｄｕｍｍｙ”、“(1)b”、“ｄｕｍｍｙ”、“(1)c”、“ｄｕｍｍｙ”で１周期であり、この順番で繰り返し継続的に本発明のプログラム送信装置から送信される。
なお、図２１中の記号その他の表記方法は図１５に準ずる。
【０１７６】
この例では、１順目の最初と２順目の最初で“ＤＬ部”を“(2)領域”に、“(1)a”を“(1)a領域”に、“(1)b”を“(1)b領域”に、“(1)c”を“(1)c領域”に転送した後、リブートによって“(2)領域”に転送された“ＤＬ部”のデータが“ＤＬ領域”にコピーされ、続いて２順目で“(2)”を“(2)領域”に転送した後、リブートしてダウンロード処理が終了する。
【０１７７】
ここでは“ＤＬ部”の途中からダウンロード処理を開始した場合を示している。
“ｄｕｍｍｙ”の挿入によって１周期が長くなるが、約１周期〜１．４周期でダウンロード処理が終了する。
例えば、ＤＬＴの送出レートが３６Ｋｂｐｓの場合には、新しい制御プログラム１０２４セクションの合間に挿入される“ｄｕｍｍｙ”は、“ＤＬ部”の直後に３８セクション、“(2)”の直後に２４セクション、“(1)a”の直後に３０セクション、“(1)b”の直後に３０セクション、及び、“(1)c”の直後に１８セクションであり、合計で１４０セクションとなり、一周期は９分４２秒となる。よって、ダウンロード処理にかかる時間は９分４２秒〜１３分３５秒である。
【０１７８】
実施の形態１及び２における同時実行ＩＤを使用する場合のダウンロード処理にかかる時間は、図１７の“（ａ）”においてはほぼ２周期＋リブート時間、“（ｂ）”においては２周期＋転送時間＋リブート時間、図１９においてほぼ２周期＋リブート時間なので、何れにしても２周期以上であり、少なくとも１９分２４秒は必要である。よって、本実施の形態では、実施の形態１及び２よりもダウンロード処理時間が短縮されている。
【０１７９】
以上のように実施の形態３では、プログラム送信装置がプログラム受信装置の受信用バッファが一杯にならない様に“ｄｕｍｍｙ”を挿入して新しい制御プログラムを送出し、プログラム受信装置が“ｄｕｍｍｙ”を受信している間にフラッシュメモリへの書き込み等のコマンドの実行を行なうので、ダウンロード処理時間が短縮される。
【０１８０】
（実施の形態４）
＜概要＞
本発明の実施の形態４は、プログラム送信装置、プログラム受信装置及びプログラムコードのダウンロード方法については実施の形態１と同様なので、説明を省略する。
【０１８１】
本発明の実施の形態４は、プログラム受信装置がＤＬＴの一時記憶部１５１への蓄積と、制御プログラム記憶部１５２への新しい制御プログラムの転送とを同時に処理できる場合に、同時実行ＩＤを使用して、より短時間でダウンロード処理を行なうものである。
＜ダウンロード処理のタイミング例＞
図２２は、制御プログラム記憶部１５２のメモリマップの概要を示す図である。ここでも、ブートプログラムはダウンロードの対象外とする。
【０１８２】
図２２に示すように、ＤＬ領域は１個の領域となっており、ＤＬのカレントＩＤを“0x8001”とする。
また、非ＤＬ領域は３個の領域、“(1)a領域”、“(1)b領域”及び“(2)領域”に分割されている。“(2)領域”は、非ＤＬ領域のうち、ダウンロード処理用プログラムが暫定的に転送される領域であり、対応する非ＤＬのカレントＩＤを“0x0003”とする。なお、“(2)領域”のサイズはＤＬ領域と同じである。“(1)a領域＋(1)b領域”は、非ＤＬ領域のうち、ダウンロード処理用プログラムが暫定的に転送されない領域であり、対応する非ＤＬのカレントＩＤを“0x0002”とする。例えば、各領域のサイズは、ブートプログラム領域が３２Ｋｂｙｔｅ、ＤＬ領域が２８８Ｋｂｙｔｅ、“(1)a領域”が７２０Ｋｂｙｔｅ、“(1)b領域”が７２０Ｋｂｙｔｅ、“(2)領域”が２８８Ｋｂｙｔｅであり、合計で２Ｍｂｙｔｅである。
【０１８３】
ここで、“(2)領域”には、一旦新しいダウンロード処理用プログラムを転送する必要があるので、ダウンロード処理用プログラムの更新が終了するまでは、“(2)領域”に対応する新しい非ダウンロード処理用プログラムは転送できない。また、“(1)a領域＋(1)b領域”には、一旦新しいダウンロード処理用プログラムを転送する必要は無いので、ダウンロード処理用プログラムの更新が終了するまで待つ必要は無く、“(1)a領域＋(1)b領域”に対応する新しい非ダウンロード処理用プログラムはいつでも転送できる。
【０１８４】
図２３は、ダウンロード処理のタイミングを示す図である。
なお、ここでは、上記の場合とは異なり、ＤＬＴの一時記憶部１５１への蓄積と、制御プログラム記憶部１５２への新しい制御プログラムの転送とを同時に処理できるものとする。
また、図２３中に示した各ＩＤは、それぞれの直下の“ＤＬ部”、“(1)a”、“(2)”及び“(1)b”に対応する。
【０１８５】
ここで、図２３中の“ＤＬ部”は、図２２中に示したＤＬ領域に対応する新しいダウンロード処理用プログラムを含む複数のＤＬＴを指し、図２３中の“(1)a”、“(1)b”及び“(2)”はそれぞれ、図２２中に示した同一記号の各領域に対応する新しい非ダウンロード処理用プログラムを含む複数のＤＬＴを指す。
図２３に示すように、新しい制御プログラムは、“ＤＬ部”、“(1)a”、“(2)”、“(1)b”で１周期であり、この順番で繰り返し継続的に本発明のプログラム送信装置から送信される。
【０１８６】
なお、図２３中の記号その他の表記方法は図１５に準ずる。
この例では、１順目でＤＬ部を“(2)領域”に、“(1)a”を“(1)a領域”に、“(1)b”を“(1)b領域”に転送した後、リブートによって“(2)領域”に転送されたＤＬ部のデータが“ＤＬ領域”にコピーされ、２順目で“(2)”を“(2)領域”に転送した後、リブートしてダウンロード処理が終了する。
【０１８７】
図２３中の“（ａ）”は“ＤＬ部”の途中からダウンロード処理を開始した場合の蓄積及び転送のタイミングであり、“（ｂ）”は“ＤＬ部”の始めからダウンロードを開始した場合の蓄積及び転送のタイミングである。
図２３中の“（ａ）”及び“（ｂ）”における蓄積及び転送のタイミングの詳細は、蓄積については図１７中の“（ａ）”と同様であり、転送については別タスクでバックグランド処理するような方法を取れば実現できる。
【０１８８】
図２３に示すように、“（ａ）”においては２周期弱＋リブート時間で、“（ｂ）”においてはほぼ１周期半＋転送時間＋リブート時間でダウンロード処理が終了する。
ここでは、リブート時間に若干の余裕時間を付加した時間だけ(1)aの送信が行われるようにすれば処理時間が短くなる。特に、ＤＬ部の後に(1)ａを送るとさらに処理時間が短くなる。つまり、プログラム受信装置の特徴に合わせた送信順序にすることにより、ダウンロード処理時間を短縮できる。
【０１８９】
以上のように実施の形態４では、ダウンロード処理用プログラムの更新が終了しなくても、新しい非ダウンロード処理用プログラムの一部は転送できるので、蓄積開始までの待ち時間が生じにくく、処理時間が長くならず安定する。
（実施の形態５）
本発明の実施の形態５は、ある特定のプログラムモジュールだけを書き換える為に、パッチ情報をダウンロードするパッチダウンロードの例である。
【０１９０】
図２４は、制御プログラム記憶部１５２の記憶内容の当該パッチダウンロード時における遷移を示す図である。
プログラム送信装置、プログラム受信装置及びプログラムコードのダウンロード方法については、新しいダウンロード処理用プログラムと新しい非ダウンロード処理用プログラムのサイズが小さくなっただけで、実施の形態１と同様である。パッチ処理なので、ＤＬＴのグループ毎にコピー情報を示すダウンロードコマンドでパッチ先のアドレスが記述される。
【０１９１】
図２５は、パッチダウンロード時の制御プログラム記憶部１５２のメモリマップを示す図である。これも新しいダウンロード処理用プログラムと新しい非ダウンロード処理用プログラムのサイズが小さくなっただけであり、ダウンロードＩＤの付加方法は実施の形態１と同様である。
図２５において、斜線領域で示したＤＬ領域が新ダウンロード処理用プログラムのパッチプログラム、網がけ領域で示した非ＤＬ領域が新非ダウンロード処理用プログラムのパッチプログラムである。
【０１９２】
ダウンロード処理のタイミングについても、送信されるＤＬＴの数が少なくなるだけであり、実施の形態１〜４と同様である。
（実施の形態６）
本発明の実施の形態６は、送信側で制御プログラムを圧縮して送信し、受信側で伸張することにより、送受信すべきＤＬＴの数を減らして制御プログラム更新の所要時間を削減するものである。
【０１９３】
＜プログラム送信装置＞
本発明の実施の形態６に係るプログラム送信装置の構成は、実施の形態１のプログラム送信装置１００と同様であり、内容が相違する構成要素のみ以下に説明する。
分割部１０４は、処理用プログラムをグループに分割した後、各グループをシーケンスに分割する前に、グループ単位で圧縮し、圧縮したグループをシーケンスに分割して各ＤＬＴを生成する。また、それぞれグループ毎に、プログラム受信装置の制御プログラム記憶部におけるダウンロードすべき領域の先頭アドレスと、圧縮前のデータ量とを付加することもできる。ここで圧縮とは、いかなる情報内容をも失わずにデータの記憶に要する空間を減少させることを言い、圧縮されたデータは伸張することにより圧縮前のデータに戻るものとする。なお、圧縮及び伸張には様々な技法が存在し、如何なる技法を用いるかについては本発明の趣旨ではなく、また、ここでは如何なる技法を用いてもよいのでその説明を省略する。
【０１９４】
図２６は、ダウンロードヘッダの概要の一例を示す図である。
以下にダウンロードヘッダの詳細を述べる。
なお、実施の形態１の図３と同様のものの説明は省略する。
“cmp_type”は圧縮方法の種類を示す。
“hd_size”はダウンロードヘッダのサイズをバイト数で示す。
【０１９５】
“exp_area”はスクリプトを伸張するために確保すべき領域のサイズをバイト数で示す。
“one_block”はＤＬＴ受信用の１ブロックのサイズをＤＬＴ数で示す。
“raw_scrpt”は圧縮前のスクリプトサイズをバイト数で示す。
“cmp_scrpt”は圧縮後のスクリプトサイズをバイト数で示す。
【０１９６】
図２７は、ダウンロードコードからどのようにＤＬＴが生成されるのかを概略的に示した図である。
図２７は、実施の形態１の図２と類似する部分が多いので相違点のみ説明する。実施の形態１では図２に示すようにスクリプトをそのまま分割してＤＬＴを生成するが、本実施の形態６では図２７に示すようにスクリプトを圧縮した後分割してＤＬＴを生成する。
【０１９７】
＜プログラム受信装置＞
本発明の実施の形態６に係るプログラム受信装置の構成は、実施の形態１のプログラム受信装置１５０と同様であり、内容が相違する構成要素のみ以下に説明する。
ここでプログラム送信装置１００から送信される新しい制御プログラムは、グループ単位で圧縮されている。また、それぞれグループ毎に、制御プログラム記憶部内のダウンロードすべき領域の先頭アドレスと圧縮前のデータ量とが付加されていてもよい。ここでは、図２６に示すダウンロードヘッダが付加されるものとする。
【０１９８】
第１ダウンロード部１５６及び第２ダウンロード部１５７は、一時記憶部１５１に蓄積した新しい制御プログラムをグループ単位で伸張し、伸張した新しい制御プログラムを制御プログラム記憶部１５２へ転送する。
なお、第１ダウンロード部１５６及び第２ダウンロード部１５７は、一時記憶部１５１に蓄積した新しい制御プログラムをグループ単位で一時記憶部１５１から制御プログラム記憶部１５２内の先頭アドレスから圧縮前のデータ量分の領域へ転送し、プログラム受信装置は、さらに、制御プログラム記憶部１５２に記憶された新しい制御プログラムをグループ単位で伸張する伸張部を備えるものであってもよい。
【０１９９】
＜プログラムコードのダウンロード方法＞
一時記憶部１５１から制御プログラム記憶部１５２への転送処理の前に伸張処理を追加するのみで、その他は実施の形態１と同様である。
また、一時記憶部１５１から制御プログラム記憶部１５２へ、圧縮された制御プログラムを伸張せずに転送し、転送後適当なタイミングで伸張部が伸張処理を実行するものであってもよい。
【０２００】
＜ダウンロード処理のタイミング例＞
実施の形態１〜５と同様である。
以上のように実施の形態６では、送信側で制御プログラムを圧縮して送信しているので、送受信すべきＤＬＴの数が減り処理時間が短い。
また、必ずしも実施の形態６の様にグループ単位で圧縮する必要はなく、所定の単位で圧縮するものであってもよい。
【０２０１】
なお、上記実施の形態１〜６では、ＤＬＴの受信がすべて正常にできたものとして説明したが、ノイズの影響等により突発的にＤＬＴの受信が正常にできない場合もあり得る。この様な場合であっても、実行ＩＤ、同時実行ＩＤ、カレントＩＤ及びサブＩＤ等を参照すれば、上記の処理は全て問題なく実現可能である。例えば、あるＤＬＴの受信に失敗した場合は、次の周期でそのＤＬＴを受信する。
【０２０２】
また、プログラム送信装置の識別子付加部１０５が生成した各ＤＬＴのデータを、所定の順序でハードディスクやＭＯ等のプログラム記録媒体に記録しておき、必要な時にだけ送信部１０６が繰返し送信するものであってもよい。この各ＤＬＴのデータを記録したプログラム記録媒体は単独で持ち運ばれたり、単独で取り引きの対象となるものであってもよい。
【０２０３】
また、送信部１０６は各ＤＬＴのデータを所定の順序で繰返し送信するに際し、搬送波等のプログラム搬送媒体に繰返し搬送する。
また、１つのカレントＩＤに対して１つのサブＩＤが対応するものであるが、１つのカレントＩＤに対して複数のサブＩＤが対応するものであってもよい。
【０２０４】
【発明の効果】
（Ａ１）本発明に係る制御プログラムダウンロード方法は、新しい制御プログラムは新しい更新用プログラムと新しい非更新用プログラムとからなり、新しい制御プログラムのダウンロードに用いる更新用プログラムと新しい制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを予め記憶する記憶装置を備えるプログラム受信装置に用いられる制御プログラムダウンロード方法であって、前記記憶装置に予め記憶された更新用プログラムを実行することにより新しい更新用プログラムを受信し受信した新しい更新用プログラムを前記記憶装置内の非更新用プログラムが予め記憶された第１領域に上書きする第１制御ステップと、第１制御ステップによる新しい更新用プログラムの上書きが終了した後に前記記憶装置内の新しい更新用プログラムを実行することにより新しい非更新用プログラムを受信し受信した新しい非更新用プログラムを記憶装置内の現在制御に用いている更新用プログラムが記憶されていない第２領域に上書きする第２制御ステップとを備え、前記新しい更新用プログラムは複数の分割部分に分割されていて分割部分単位で受信されそれぞれの分割部分には第１識別子と通し番号とが付加され、前記新しい非更新用プログラムは複数の分割部分に分割されていて分割部分単位で受信されそれぞれの分割部分には第２識別子と通し番号とが付加され、前記第１制御ステップでは受信した新しい制御プログラムの分割部分に付加された識別子が第１識別子である場合に当該分割部分を更新用プログラムであると識別し更新用プログラムであると識別された分割部分に付加された通し番号を参照して前記第１領域における上書きすべき位置を特定し、前記第２制御ステップでは受信した新しい制御プログラムの分割部分に付加された識別子が第２識別子である場合に当該分割部分を非更新用プログラムであると識別し非更新用プログラムであると識別された分割部分に付加された通し番号を参照して前記第２領域における上書きすべき位置を特定することを特徴とする。
【０２０５】
これによって、受信した新しい更新用プログラムを記憶装置中の非更新用プログラムが予め記憶された領域に一旦上書きした後でコピー元の領域を書き換えるので、電源が落ちる等のアクシデントがコピーの途中等の如何なるタイミングで発生しても、予め記憶された更新用プログラム、及び、新しい更新用プログラムの内の少なくとも一方が、必ず完全な形で記憶装置中に存在する事になる。
【０２０６】
従って、制御プログラム書き換え処理専用のメモリを備えなくてよく、制御不能となる事もなく、制御プログラム書き換え処理の安全性が高い。
またこれによって、通し番号に基づいて分割部分毎に上書きすべきアドレスを特定することができ、送信順序に依存しない。
従って、どこの分割部分からでも処理を開始できるので周期待ちを減らすことができる。
【０２０７】
（Ａ２）本発明に係る制御プログラムダウンロード方法は、新しい制御プログラムは新しい更新用プログラムと新しい非更新用プログラムとからなり、新しい制御プログラムのダウンロードに用いる更新用プログラムと新しい制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを予め記憶する記憶装置を備えるデジタル放送受信装置に用いられる制御プログラムダウンロード方法であって、新しい更新用プログラムの上書きが終了したか否かを繰り返し判定する判定ステップと、ここで上書きが終了したと判定するまでの間は第１制御ステップが上書きが終了したと判定した後は第２制御ステップが実行され、上書きが終了したと判定されるまでの間に前記記憶装置に予め記憶された更新用プログラムを実行することにより新しい更新用プログラムを受信し受信した新しい更新用プログラムを前記記憶装置内の非更新用プログラムが予め記憶された領域の一部である第１領域に上書きすると共に新しい非更新用プログラムの一部である第１非更新用プログラムを受信し受信した第１非更新用プログラムを前記記憶装置内の非更新用プログラムが予め記憶された領域の内の前記第１領域以外である第２領域に上書きする第１制御ステップと、上書きが終了したと判定された後に前記記憶装置内の新しい更新用プログラムを実行することにより前記第１非更新用プログラムの受信及び上書きを継続すると共に新しい非更新用プログラムの内の前記第１非更新用プログラム以外である第２非更新用プログラムを受信し受信した第２非更新用プログラムを前記記憶装置内の現在制御に用いている更新用プログラムが記憶されていない領域且つ第２領域でない第３領域に上書きする第２制御ステップとを備えることを特徴とする。
【０２０８】
これによって、第１領域に新しい更新用プログラムを上書きすることができ、また、更新用プログラムの全てが上書きされる前であっても、第２領域に第１非更新用プログラムを上書きできる。
従って、制御プログラム書き換え処理専用のメモリを備えなくてよく、また、処理にかかる時間が短くて済む。
【０２０９】
（Ａ３）ここで（Ａ２）において、前記第２制御ステップでは、前記判定ステップで上書きが終了したと判定された場合に前記第１領域に上書きされた新しい更新用プログラムを更新用プログラムが予め記憶された領域にコピーした後でコピーした新しい更新用プログラムを実行することを特徴とすることもできる。
これによって、第１領域に上書きされた新しい更新用プログラムを記憶装置中の更新用プログラムが予め記憶された領域にコピーした後で第１領域を書き換えるので、電源が落ちる等のアクシデントがコピーの途中等の如何なるタイミングで発生しても、予め記憶された更新用プログラム、及び、新しい更新用プログラムの内の少なくとも一方が、必ず完全な形で記憶装置中に存在する事になる。
【０２１０】
従って、制御不能となる事もなく、制御プログラム書き換え処理の安全性が高い。
（Ａ４）ここで（Ａ３）において、前記新しい更新用プログラムは複数の分割部分に分割されていて分割部分単位で受信されそれぞれの分割部分には第１識別子と通し番号とが付加され、前記第１非更新用プログラムは複数の分割部分に分割されていて分割部分単位で受信されそれぞれの分割部分には第２識別子と通し番号とが付加され、前記第２非更新用プログラムは複数の分割部分に分割されていて分割部分単位で受信されそれぞれの分割部分には第３識別子と通し番号とが付加され、前記第１制御ステップでは受信した新しい制御プログラムの分割部分に付加された識別子が第１識別子である場合に当該分割部分を更新用プログラムであると識別し更新用プログラムであると識別された分割部分に付加された通し番号を参照して前記第１領域における上書きすべき位置を特定すると共に受信した新しい制御プログラムの分割部分に付加された識別子が第２識別子である場合に当該分割部分を第１非更新用プログラムであると識別し第１非更新用プログラムであると識別された分割部分に付加された通し番号を参照して前記第２領域における上書きすべき位置を特定し、前記第２制御ステップでは受信した新しい制御プログラムの分割部分に付加された識別子が第３識別子である場合に当該分割部分を第２非更新用プログラムであると識別し第２非更新用プログラムであると識別された分割部分に付加された通し番号を参照して前記第３領域における上書きすべき位置を特定することを特徴とすることもできる。
【０２１１】
これによって、通し番号に基づいて分割部分毎に上書きすべきアドレスを特定することができ、どこの分割部分からでも受信を開始できる。
従って、順番に上書きしなくてもよくなり周期待ちが少なくなる。
（Ａ５）ここで（Ａ４）において、前記デジタル放送受信装置は、さらに、前記第１制御ステップ及び前記第２制御ステップで新しい制御プログラムを受信及び上書きする際に用いる一時記憶装置を備え、前記第１制御ステップ及び前記第２制御ステップでは分割部分単位で受信した新しい制御プログラムを一旦一時記憶装置に一時記憶し所定数の分割部分を一時記憶した後でまとめて一時記憶装置から前記記憶装置へ転送することを特徴とすることもできる。
【０２１２】
これによって、所定数の分割部分が一時記憶装置に一時記憶された後で、まとめて対応する各領域に転送することができる。
従って、効率的な処理ができる。
（Ａ６）ここで（Ａ５）において、前記第１制御ステップ及び前記第２制御ステップで受信する新しい制御プログラムのデータは圧縮されており、前記第１制御ステップ及び前記第２制御ステップでは前記一時記憶装置に一時記憶した新しい制御プログラムを前記記憶装置へ転送する前に伸張することを特徴とすることもできる。
【０２１３】
これによって、圧縮された新しい制御プログラムを伸張することができる。
従って、圧縮されている新しい制御プログラムを受信するので受信するデータ量が少なくなり、処理にかかる時間が短くて済む。
（Ａ７）ここで（Ａ５）において、前記第１制御ステップ及び前記第２制御ステップで受信する新しい制御プログラムは所定の単位で圧縮されておりそれぞれ前記所定の単位毎に前記記憶装置内の上書きすべき領域の先頭アドレスと圧縮前のデータ量とが付加されており、前記第１制御ステップ及び前記第２制御ステップでは前記一時記憶装置に一時記憶した新しい制御プログラムを所定の単位で当該一時記憶装置から前記記憶装置内の前記先頭アドレスと前記圧縮前のデータ量とにより特定される領域へ転送し、前記制御プログラムダウンロード方法は、さらに、記憶装置に記憶された新しい制御プログラムを伸張する伸張ステップを備えることを特徴とすることもできる。
【０２１４】
これによって、所定の単位毎に付加された先頭アドレスと圧縮前のデータ量とに基づいて、所定の単位毎に圧縮された新しい制御プログラムを、圧縮前のデータ量分の領域に圧縮されたまま転送し、後で伸張することができる。
従って、全ての処理の終了後、又は、待ち時間等に伸張処理を行なえるので、効率的な処理ができる。
【０２１５】
（Ａ８）ここで（Ａ５）において、前記通し番号は前記更新用プログラム、前記第１非更新用プログラム及び前記第２非更新用プログラムをそれぞれ構成するグループ毎に順次付加されたグループ番号と各グループ番号を構成するシーケンス毎に順次付加されたシーケンス番号とからなり、前記各分割部分はそれぞれ１個のシーケンスを含み、前記第１制御ステップ及び前記第２制御ステップでは受信した新しい制御プログラムを一旦シーケンス単位で前記一時記憶装置に一時記憶し少なくとも１グループを一時記憶した後でグループ単位で当該一時記憶装置から前記記憶装置へ転送することを特徴とすることもできる。
【０２１６】
これによって、少なくとも１グループが一時記憶装置に一時記憶された後で、まとめて対応する各領域に転送することができる。
従って、効率的な処理ができる。
（Ａ９）ここで（Ａ８）において、前記第１制御ステップ及び前記第２制御ステップで受信する新しい制御プログラムはグループ単位で圧縮されており、前記第１制御ステップ及び前記第２制御ステップでは前記一時記憶装置に一時記憶した新しい制御プログラムをグループ単位で伸張し伸張した新しい制御プログラムを前記記憶装置へ転送することを特徴とすることもできる。
【０２１７】
これによって、圧縮された新しい制御プログラムをグループ毎に伸張することができる。
従って、圧縮されている新しい制御プログラムを受信するので受信するデータ量が少なくなり、処理にかかる時間が短くて済む。
（Ａ１０）ここで（Ａ８）において、前記第１制御ステップ及び前記第２制御ステップで受信する新しい制御プログラムはグループ単位で圧縮されておりそれぞれグループ毎に前記記憶装置内の上書きすべき領域の先頭アドレスと圧縮前のデータ量とが付加されており、前記第１制御ステップ及び前記第２制御ステップでは前記一時記憶装置に一時記憶した新しい制御プログラムをグループ単位で当該一時記憶装置から前記記憶装置内の前記先頭アドレスと前記圧縮前のデータ量とにより特定される領域へ転送し、前記制御プログラムダウンロード方法は、さらに、記憶装置に記憶された新しい制御プログラムをグループ単位で伸張する伸張ステップを備えることを特徴とすることもできる。
【０２１８】
これによって、グループ毎に付加された先頭アドレスと圧縮前のデータ量とに基づいて、グループ毎に圧縮された新しい制御プログラムを、圧縮前のデータ量分の領域に圧縮されたまま転送し、後で伸張することができる。
従って、全ての処理の終了後、又は、待ち時間等に伸張処理を行なえるので、効率的な処理ができる。
【０２１９】
（Ａ１１）ここで（Ａ３）において、前記記憶装置は電源が供給されなくてもデータを保持するものであり、前記デジタル放送受信装置は、さらに、前記新しい制御プログラムのダウンロードが開始されてから前記判定ステップで終了したと判定されるまでの第１状態、終了したと判定されてから新しい更新用プログラムがコピーされるまでの第２状態、コピーされてから前記新しい制御プログラムのダウンロード終了するまでの第３状態及びダウンロード中でない通常状態の内の何れか１つを示す状態値を電源が供給されなくても保持する状態保持装置を備え、前記制御プログラムダウンロード方法は、さらに、前記新しい制御プログラムのダウンロードが途中で中断した場合に状態保持装置に保持した前記状態値を参照して当該ダウンロードを継続する継続ステップを備えることを特徴とすることもできる。
【０２２０】
これによって、電源が供給されなくてもデータを保持する状態保持装置に保持状態値を保持でき、電源が落ちる等のアクシデントが如何なるタイミングで発生したとしても、新しい制御プログラムの書き換えを途中から継続することができ、また、制御不能となる事がない。
従って、効率的な制御プログラム書き換え処理ができ、また、安全性が高い。
【０２２１】
（Ａ１２）本発明に係る制御プログラムダウンロード方法は、送信される自身の制御プログラムをダウンロードするデジタル放送受信装置に用いられる制御プログラムダウンロード方法であって、前記制御プログラムは複数種類のサブプログラムからなり各サブプログラム毎に複数の分割部分に分割されていて分割部分単位で所定の順序で繰り返し送信され当該分割部分にはそれぞれ各サブプログラムのうちの何れの種類であるかを特定するカレント識別子が付加されており、前記複数種類のサブプログラムをそれぞれ分割部分単位で受信する受信ステップと、受信ステップで受信したサブプログラムの分割部分に付加されたカレント識別子を参照して受信したサブプログラムの分割部分が優先的にダウンロードすべき優先サブプログラムの分割部分であるか優先サブプログラムと同時にダウンロードできる同時サブプログラムの分割部分であるかどちらでもないかを判断する判断ステップと、判断ステップで優先サブプログラム及び同時サブプログラムの何れかの分割部分であると判断したサブプログラムの分割部分を順次ダウンロードするダウンロードステップとを備えることを特徴とする。
【０２２２】
これによって、優先サブプログラムの全てをダウンロードしなくても、同時サブプログラムをダウンロードすることができる。
従って、ダウンロード処理にかかる時間が相対的に短くて済む。
（Ａ１３）ここで（Ａ１２）において、送信されるサブプログラムの各分割部分には、さらに、最初にダウンロードすべきサブプログラムのカレント識別子を表すスタート識別子と最初にダウンロードすべきサブプログラムと同時にダウンロードできるサブプログラムのカレント識別子を表すスタートサブ識別子と自身の次に優先的にダウンロードすべきサブプログラムの識別子を表すネクスト識別子と自身の次に優先的にダウンロードすべきサブプログラムと同時にダウンロードできるサブプログラムのカレント識別子を表すネクストサブ識別子とがそれぞれ付加されており、前記判断ステップは、スタート識別子とスタートサブ識別子とを前記受信ステップで受信した任意のサブプログラムの任意の分割部分から抽出する識別子抽出サブステップと、抽出したスタート識別子を最初の優先サブプログラムの識別子として抽出したスタートサブ識別子を最初の同時サブプログラムの識別子としてそれぞれ識別子記憶装置に記憶させる識別子記憶サブステップと、前記ダウンロードステップで優先サブプログラムの全てがダウンロードされた場合は前記識別子記憶装置に記憶された優先サブプログラムの識別子を優先サブプログラムの任意の分割部分に付加されたネクスト識別子に更新し前記識別子記憶装置に記憶された同時サブプログラムの識別子を優先サブプログラムの任意の分割部分に付加されたネクストサブ識別子に更新する更新サブステップとを含み、前記判断ステップでは前記受信ステップで受信したサブプログラムの分割部分に付加されたカレント識別子が識別子記憶装置に記憶された優先サブプログラムの識別子と一致する場合に受信したサブプログラムの分割部分が優先サブプログラムであると判断し、前記受信ステップで受信した制御プログラムの分割部分に付加された前記カレント識別子が識別子記憶装置に記憶された同時サブプログラムの識別子と一致する場合に受信したサブプログラムの分割部分が同時サブプログラムであると判断することを特徴とすることもできる。
【０２２３】
これによって、スタート識別子に基づいて最初の優先サブプログラムを判断でき、スタートサブ識別子に基づいて最初の同時サブプログラムを判断でき、ネクスト識別子に基づいて次の優先サブプログラムを判断でき、ネクストサブ識別子に基づいて次の同時サブプログラムを判断できる。
従って、何段階に渡ってでも継続的に、優先サブプログラムと同時サブプログラムとを平行してダウンロードできる。
【０２２４】
（Ｂ１）本発明に係る制御プログラム送信方法は、プログラム受信装置の制御プログラムを送信する制御プログラム送信方法であって、前記プログラム受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する入手ステップと、入手した更新用プログラムと入手した非更新用プログラムとをそれぞれ複数の分割部分に分割し分割した各分割部分にそれぞれ通し番号を付加する分割ステップと、分割した更新用プログラムの分割部分のそれぞれに第１識別子を分割した非更新用プログラムの分割部分のそれぞれに第２識別子を付加する識別子付加ステップと、識別子を付加したそれぞれの分割部分を分割部分単位で送信する送信ステップとを備えることを特徴とする。
【０２２５】
これによって、更新用プログラムと非更新用プログラムとに識別子を付加して繰返し送信することができる。
従って、上記（Ａ１）に用いられるプログラム受信装置において、更新用プログラムと非更新用プログラムとを判別することにより、制御プログラム書き換え処理専用のメモリを備えなくてよくなる。
【０２２６】
（Ｂ２）本発明に係る制御プログラム送信方法は、デジタル放送受信装置の制御プログラムを送信する制御プログラム送信方法であって、前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する入手ステップと、入手した非更新用プログラムを前記更新用プログラムのデータ量以上のデータ量の第１非更新用プログラムと残りの第２非更新用プログラムとに分離する分離ステップと、入手した更新用プログラムと分離した第１非更新用プログラムと分離した第２非更新用プログラムとをそれぞれ複数の分割部分に分割し分割した各分割部分にそれぞれ通し番号を付加する分割ステップと、分割した更新用プログラムの分割部分のそれぞれに第１識別子を分割した第１非更新用プログラムの分割部分のそれぞれに第２識別子を分割した第２非更新用プログラムの分割部分のそれぞれに第３識別子を付加する識別子付加ステップと、識別子付加ステップで識別子を付加したそれぞれの分割部分を繰返し送信する送信ステップとを備えることを特徴とする。
【０２２７】
これによって、更新用プログラムと第１非更新用プログラムと第２非更新用プログラムとに識別子を付加して繰返し送信することができる。
従って、上記（Ａ２）〜（Ａ４）に用いられるデジタル放送受信装置において、更新用プログラムと第１非更新用プログラムと第２非更新用プログラムとを判別することにより、制御プログラム書き換え処理専用のメモリを備えなくてよくなり、また、処理にかかる時間が短くて済む。
【０２２８】
（Ｂ３）ここで（Ｂ２）において、前記送信ステップでは、前記更新用プログラムの分割部分の全て、前記第１非更新用プログラムの分割部分の一部、前記第２非更新用プログラムの分割部分の全て、前記第１非更新用プログラムの分割部分の残りの順序で繰り返し送信し、前記更新用プログラムの次に送信する前記第１非更新用プログラムの分割部分の一部の転送時間は前記デジタル放送受信装置におけるリブート時間以上であることを特徴とすることもできる。
【０２２９】
これによって、送信ステップで更新用プログラムをこのような順序で繰り返し送信できる。
従って、上記（Ａ４）に用いられるデジタル放送受信装置において、周期待ちが少なくなりより敏速に処理ができる。
（Ｂ４）ここで（Ｂ２）において、前記送信ステップでは、識別子付加手段が識別子を付加したそれぞれの分割部分を送出する際連続して送信する制御プログラムのデータ量が前記デジタル放送受信装置における受信バッファのデータ容量を越える前に有効な制御プログラムの送信を休止し、当該受信バッファに一時記憶された制御プログラムを制御プログラム記憶装置へ転送する為に要する時間の経過後に有効な制御プログラムの送信を再開することを特徴とすることもできる。
【０２３０】
これによって、受信バッファが一杯になる前に送信を休止し、再開までの間に受信バッファを利用可能にできるので、受信すべき有効なデータを漏らさず受信できる。
従って、上記（Ａ４）に用いられるデジタル放送受信装置において、周期待ちが少なくなりより敏速に処理ができる。
【０２３１】
（Ｂ５）ここで（Ｂ４）において、前記送信ステップでは、有効な制御プログラムの送信を休止する際には有効な制御プログラムの代りにダミーを送信することを特徴とすることもできる。
これによって、受信バッファが一杯になる前にダミーを送信し、再開までの間に受信バッファを利用可能にできるので、受信すべき有効なデータを漏らさず受信できる。
【０２３２】
従って、上記（Ａ４）に用いられるデジタル放送受信装置において、周期待ちが少なくなりより敏速に処理ができる。
（Ｂ６）ここで（Ｂ４）において、前記送信ステップでは、前記更新用プログラムの分割部分の全て、前記第１非更新用プログラムの分割部分の全て、前記第２非更新用プログラムの分割部分の全ての順序で繰り返し送信することを特徴とすることもできる。
【０２３３】
これによって、送信ステップで更新用プログラムをこのような順序で繰り返し送信できる。
従って、上記（Ａ４）に用いられるデジタル放送受信装置において、第１非更新用プログラムの処理後すぐに第２非更新用プログラムの処理が行なえるので、周期待ちが少なくなりより敏速に処理ができる。
【０２３４】
（Ｂ７）本発明に係る制御プログラム送信方法は、デジタル放送受信装置の制御プログラムを送信する制御プログラム送信方法であって、前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する制御プログラム入手ステップと、前記更新用プログラムのデータ量から前記デジタル放送受信装置内の非更新用プログラムのコード増加に備えて設けられている領域のデータ量を差し引いたデータ量を入手するデータ量入手ステップと、入手した非更新用プログラムをデータ量入手ステップで入手したデータ量以上のデータ量の第１非更新用プログラムと残りの第２非更新用プログラムとに分離する分離ステップと、入手した更新用プログラムと分離した第１非更新用プログラムと分離した第２非更新用プログラムとをそれぞれ複数の分割部分に分割し分割した各分割部分にそれぞれ通し番号を付加する分割ステップと、分割した更新用プログラムの分割部分のそれぞれに第１識別子を、分割した第１非更新用プログラムの分割部分のそれぞれに第２識別子を、分割した第２非更新用プログラムの分割部分のそれぞれに第３識別子を付加する識別子付加ステップと、識別子付加ステップで識別子を付加したそれぞれの分割部分を繰返し送信する送信ステップとを備えることを特徴とする。
【０２３５】
これによって、上記（Ｂ２）と同様の効果がある。
（Ｂ８）ここで（Ｂ７）において、前記分割ステップでは、入手した更新用プログラムと分離した第１非更新用プログラムと分離した第２非更新用プログラムとをそれぞれ所定の単位で圧縮することを特徴とすることもできる。
これによって、新しい制御プログラムを所定の単位で圧縮できる。
【０２３６】
従って、所定の単位で圧縮した新しい制御プログラムを送信できるので送信するデータ量が少なくなり、上記（Ａ６）に用いられるデジタル放送受信装置において、処理にかかる時間が短くて済む。
（Ｂ９）ここで（Ｂ８）において、前記分割ステップでは、さらに、それぞれ所定の単位毎に前記デジタル放送受信装置が備える制御プログラムを記憶する為の記憶装置におけるダウンロードすべき領域の先頭アドレスと圧縮前のデータ量とを付加することを特徴とすることもできる。
【０２３７】
これによって、先頭アドレスと圧縮前のデータ量とを所定の単位毎に付加することができる。
従って、上記（Ａ７）に用いられるデジタル放送受信装置において、所定の単位毎に圧縮された新しい制御プログラムを圧縮前のデータ量分の領域に圧縮されたまま転送し、後で伸張することができ、全ての処理の終了後、又は、待ち時間等に伸張処理を行なえるので、効率的な処理ができる。
【０２３８】
（Ｂ１０）ここで（Ｂ７）において、前記分割ステップでは前記更新用プログラム、前記第１非更新用プログラム及び前記第２非更新用プログラムをそれぞれグループに分割した後各グループをそれぞれシーケンスに分割し、前記通し番号は各グループに順次付加するグループ番号と各シーケンスに順次付加するシーケンス番号とからなり、前記各分割部分はそれぞれ１個のシーケンスを含むことを特徴とすることもできる。
【０２３９】
これによって、新しい制御プログラムのグループ毎にグループ番号を、シーケンス毎にシーケンス番号を付加することができる。
従って、上記（Ａ８）に用いられるなデジタル放送受信装置において、少なくとも１グループが一時記憶装置に一時記憶された後で、まとめて対応する各領域に転送することにより、効率的に処理ができる。
【０２４０】
（Ｂ１１）ここで（Ｂ１０）において、前記分割ステップでは、グループに分割した後グループ単位で圧縮し圧縮された各グループをそれぞれシーケンスに分割することを特徴とすることもできる。
これによって、新しい制御プログラムをグループ単位で圧縮できる。
従って、グループ単位で圧縮した新しい制御プログラムを送信できるので送信するデータ量が少なくなり、上記（Ａ９）に用いられるデジタル放送受信装置において、処理にかかる時間が短くて済む。
【０２４１】
（Ｂ１２）ここで（Ｂ１１）において、前記分割ステップでは、さらに、それぞれグループ毎に前記デジタル放送受信装置が備える制御プログラムを記憶する為の記憶装置におけるダウンロードすべき領域の先頭アドレスと圧縮前のデータ量とを付加することを特徴とすることもできる。
これによって、先頭アドレスと圧縮前のデータ量とをグループ毎に付加することができる。
【０２４２】
従って、上記（Ａ１０）に用いられるデジタル放送受信装置において、グループ毎に圧縮された新しい制御プログラムを圧縮前のデータ量分の領域に圧縮されたまま転送し、後で伸張することができ、全ての処理の終了後、又は、待ち時間等に伸張処理を行なえるので、効率的な処理ができる。
（Ｂ１３）本発明に係る制御プログラム送信方法は、デジタル放送受信装置の制御プログラムを送信する制御プログラム送信方法であって、前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する入手ステップと、Ｍを４以上の偶数とすると入手した非更新用プログラムの一部を分離して入手した更新用プログラムと合わせて制御プログラム全体の略Ｍ分の１のデータ量の第１制御プログラムとし残りの非更新用プログラムの内の第１制御プログラムと同じデータ量を分離して第２制御プログラムとし残りの非更新用プログラムを略（Ｍ−２）等分にしてそれぞれ第３制御プログラム〜第Ｍ制御プログラムとする分離ステップと、分離した第１〜Ｍ制御プログラムをそれぞれ略均等の分割部分に分割する分割ステップと、分割した第１制御プログラムの分割部分のそれぞれに第１識別子を分割した第２制御プログラムの分割部分のそれぞれに第２識別子を付加し分割した第３〜Ｍ制御プログラムを各制御プログラム単位で略均等な２組に振り分けてそれぞれに第３識別子及び第４識別子を付加する識別子付加ステップと、第１識別子を付加された制御プログラム及び第３識別子を付加された制御プログラムを第１集合とし第２識別子を付加された制御プログラム及び第４識別子を付加された制御プログラムを第２集合とした時分割部分単位で第１集合と第２集合とを交互に繰り返し送信する送信ステップとを備えることを特徴とする。
【０２４３】
これによって、送信ステップで更新用プログラムをこのような順序で繰り返し送信できる。
従って、上記（Ａ４）に用いられるデジタル放送受信装置において、周期待ちが少なくなりより敏速に処理ができる。
（Ｂ１４）本発明に係る制御プログラム送信方法は、デジタル放送受信装置の制御プログラムを送信する制御プログラム送信方法であって、複数種類のサブプログラムからなる制御プログラムを入手する入手ステップと、入手した複数種類のサブプログラムをそれぞれ複数の分割部分に分割する分割ステップと、分割した各分割部分に各サブプログラムのうちの何れの種類であるかを特定するカレント識別子と優先的にダウンロードすべき優先サブプログラムを表す優先情報と優先サブプログラムと同時にダウンロードできる同時サブプログラムを表す同時処理情報とをそれぞれ付加する付加ステップと、カレント識別子と優先情報と同時処理情報とを付加したそれぞれの分割部分を繰返し送信する送信ステップとを備えることを特徴とする。
【０２４４】
これによって、分割された各サブプログラムに、カレント識別子と優先情報と同時処理情報とを付加して繰返し送信することができる。
従って、上記（Ａ１２）に用いられるデジタル放送受信装置において、優先サブプログラムの全てをダウンロードしなくても、同時サブプログラムをダウンロードすることができ、ダウンロード処理にかかる時間が相対的に短くて済む。
【０２４５】
（Ｂ１５）ここで（Ｂ１４）において、前記付加ステップで付加する優先情報は最初にダウンロードすべきサブプログラムのカレント識別子を表すスタート識別子と自身の次に優先的にダウンロードすべきサブプログラムのカレント識別子を表すネクスト識別子とであり、前記付加ステップで付加する同時処理情報は最初にダウンロードすべきサブプログラムと同時にダウンロードできるサブプログラムのカレント識別子を表すスタートサブ識別子と自身の次に優先的にダウンロードすべきサブプログラムと同時にダウンロードできるサブプログラムのカレント識別子を表すネクストサブ識別子とであることを特徴とすることもできる。
【０２４６】
これによって、分割された各サブプログラムに、カレント識別子とスタート識別子とネクスト識別子とスタートサブ識別子とネクストサブ識別子とを付加して繰返し送信することができる。
従って、上記（Ａ１３）に用いられるデジタル放送受信装置において、スタート識別子に基づいて最初の優先サブプログラムを判断でき、スタートサブ識別子に基づいて最初の同時サブプログラムを判断でき、ネクスト識別子に基づいて次の優先サブプログラムを判断でき、ネクストサブ識別子に基づいて次の同時サブプログラムを判断できるので、何段階に渡ってでも継続的に、優先サブプログラムと同時サブプログラムとを平行してダウンロードできる。
【０２４７】
（Ｃ１）本発明に係るコンピュータ読み取り可能な記録媒体は、新しい制御プログラムは新しい制御プログラムのダウンロードに用いる新しい更新用プログラムと新しい制御プログラムのダウンロードに用いない新しい非更新用プログラムとからなり、新しい制御プログラムのダウンロードに用いる古い更新用プログラムと新しい制御プログラムのダウンロードに用いない古い非更新用プログラムとからなる古い制御プログラムを予め記憶する記憶装置を備えるプログラム受信装置の古い制御プログラム又は新しい制御プログラムを記録するコンピュータ読み取り可能な記録媒体であって、前記古い制御プログラム及び新しい制御プログラムは前記プログラム受信装置に、前記記憶装置に予め記憶された古い更新用プログラムを実行することにより新しい更新用プログラムを受信し受信した新しい更新用プログラムを前記記憶装置内の古い非更新用プログラムが予め記憶された第１領域に上書きする第１制御ステップと、第１制御ステップによる新しい更新用プログラムの上書きが終了した後に前記記憶装置内の新しい更新用プログラムを実行することにより新しい非更新用プログラムを受信し受信した新しい非更新用プログラムを記憶装置内の現在制御に用いている更新用プログラムが記憶されていない第２領域に上書きする第２制御ステップとを実行させ、前記新しい更新用プログラムは複数の分割部分に分割されていて分割部分単位で受信されそれぞれの分割部分には第１識別子と通し番号とが付加され、前記新しい非更新用プログラムは複数の分割部分に分割されていて分割部分単位で受信されそれぞれの分割部分には第２識別子と通し番号とが付加され、前記第１制御ステップでは受信した新しい制御プログラムの分割部分に付加された識別子が第１識別子である場合に当該分割部分を新しい更新用プログラムであると識別し新しい更新用プログラムであると識別された分割部分に付加された通し番号を参照して前記第１領域における上書きすべき位置を特定し、前記第２制御ステップでは受信した新しい制御プログラムの分割部分に付加された識別子が第２識別子である場合に当該分割部分を新しい非更新用プログラムであると識別し新しい非更新用プログラムであると識別された分割部分に付加された通し番号を参照して前記第２領域における上書きすべき位置を特定することを特徴とする。
【０２４８】
これらによって、上記（Ａ１）と同様の効果が得られる。
（Ｃ２）本発明に係るコンピュータ読み取り可能な記録媒体は、新しい制御プログラムは新しい制御プログラムのダウンロードに用いる新しい更新用プログラムと新しい制御プログラムのダウンロードに用いない新しい非更新用プログラムとからなり、新しい制御プログラムのダウンロードに用いる古い更新用プログラムと新しい制御プログラムのダウンロードに用いない古い非更新用プログラムとからなる古い制御プログラムを予め記憶する記憶装置を備えるプログラム受信装置の古い制御プログラム又は新しい制御プログラムを記録するコンピュータ読み取り可能な記録媒体であって、前記古い制御プログラム及び新しい制御プログラムは前記プログラム受信装置に、新しい更新用プログラムの上書きが終了したか否かを繰り返し判定する判定ステップと、ここで、上書きが終了したと判定するまでの間は第１制御ステップが上書きが終了したと判定した後は第２制御ステップが実行され、上書きが終了したと判定されるまでの間に前記記憶装置に予め記憶された古い更新用プログラムを実行することにより新しい更新用プログラムを受信し受信した新しい更新用プログラムを前記記憶装置内の古い非更新用プログラムが予め記憶された領域の一部である第１領域に上書きすると共に新しい非更新用プログラムの一部である第１非更新用プログラムを受信し受信した第１非更新用プログラムを前記記憶装置内の古い非更新用プログラムが予め記憶された領域の内の前記第１領域以外である第２領域に上書きする第１制御ステップと、上書きが終了したと判定された後に前記記憶装置内の新しい更新用プログラムを実行することにより前記第１非更新用プログラムの受信及び上書きを継続すると共に新しい非更新用プログラムの内の前記第１非更新用プログラム以外である第２非更新用プログラムを受信し受信した第２非更新用プログラムを前記記憶装置内の現在制御に用いている更新用プログラムが記憶されていない領域且つ第２領域でない第３領域に上書きする第２制御ステップとを実行させることを特徴とする。
【０２４９】
これらによって、上記（Ａ２）と同様の効果が得られる。
（Ｃ３）本発明に係るコンピュータ読み取り可能な記録媒体は、送信される自身の制御プログラムをダウンロードするデジタル放送受信装置の制御プログラムを記録するコンピュータ読み取り可能な記録媒体であって、前記制御プログラムは複数種類のサブプログラムからなり各サブプログラム毎に複数の分割部分に分割されていて分割部分単位で所定の順序で繰り返し送信され当該分割部分にはそれぞれ各サブプログラムのうちの何れの種類であるかを特定するカレント識別子が付加されており、前記制御プログラムは前記デジタル放送受信装置に、前記複数種類のサブプログラムをそれぞれ分割部分単位で受信する受信ステップと、受信ステップで受信したサブプログラムの分割部分に付加されたカレント識別子を参照して受信したサブプログラムの分割部分が優先的にダウンロードすべき優先サブプログラムの分割部分であるか優先サブプログラムと同時にダウンロードできる同時サブプログラムの分割部分であるかどちらでもないかを判断する判断ステップと、判断ステップで優先サブプログラム及び同時サブプログラムの何れかの分割部分であると判断したサブプログラムの分割部分を順次ダウンロードするダウンロードステップとを実行させることを特徴とする。
【０２５０】
これによって、上記（Ａ１２）と同様の効果が得られる。
（Ｄ１）本発明に係るコンピュータ読み取り可能な記録媒体は、プログラム受信装置の制御プログラムを送信する制御プログラム送信プログラムを記録するコンピュータ読み取り可能な記録媒体であって、前記制御プログラム送信プログラムは、コンピュータに、前記プログラム受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する入手ステップと、入手した更新用プログラムと入手した非更新用プログラムとをそれぞれ複数の分割部分に分割し分割した各分割部分にそれぞれ通し番号を付加する分割ステップと、分割した更新用プログラムの分割部分のそれぞれに第１識別子を分割した非更新用プログラムの分割部分のそれぞれに第２識別子を付加する識別子付加ステップと、識別子を付加したそれぞれの分割部分を分割部分単位で送信する送信ステップとを実行させることを特徴とする。
【０２５１】
これによって、上記（Ｂ１）と同様の効果が得られる。
（Ｄ２）本発明に係るコンピュータ読み取り可能な記録媒体は、デジタル放送受信装置の制御プログラムを送信する制御プログラム送信プログラムを記録するコンピュータ読み取り可能な記録媒体であって、前記制御プログラム送信プログラムは、コンピュータに、前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する入手ステップと、入手した非更新用プログラムを前記更新用プログラムのデータ量と同じデータ量の第１非更新用プログラムと残りの第２非更新用プログラムとに分離する分離ステップと、入手した更新用プログラムと分離した第１非更新用プログラムと分離した第２非更新用プログラムとをそれぞれ複数の分割部分に分割し分割した各分割部分にそれぞれ通し番号を付加する分割ステップと、分割した更新用プログラムの分割部分のそれぞれに第１識別子を、分割した第１非更新用プログラムの分割部分のそれぞれに第２識別子を、分割した第２非更新用プログラムの分割部分のそれぞれに第３識別子を付加する識別子付加ステップと、識別子付加ステップで識別子を付加したそれぞれの分割部分を繰返し送信する送信ステップとを実行させることを特徴とする。
【０２５２】
これによって、上記（Ｂ２）と同様の効果が得られる。
（Ｄ３）本発明に係るコンピュータ読み取り可能な記録媒体は、デジタル放送受信装置の制御プログラムを送信する制御プログラム送信プログラムを記録するコンピュータ読み取り可能な記録媒体であって、前記制御プログラム送信プログラムは、コンピュータに、前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する制御プログラム入手ステップと、前記更新用プログラムのデータ量から前記デジタル放送受信装置内の非更新用プログラムのコード増加に備えて設けられている領域のデータ量を差し引いたデータ量を入手するデータ量入手ステップと、入手した非更新用プログラムをデータ量入手ステップで入手したデータ量の第１非更新用プログラムと残りの第２非更新用プログラムとに分離する分離ステップと、入手した更新用プログラムと分離した第１非更新用プログラムと分離した第２非更新用プログラムとをそれぞれ複数の分割部分に分割し分割した各分割部分にそれぞれ通し番号を付加する分割ステップと、分割した更新用プログラムの分割部分のそれぞれに第１識別子を、分割した第１非更新用プログラムの分割部分のそれぞれに第２識別子を、分割した第２非更新用プログラムの分割部分のそれぞれに第３識別子を付加する識別子付加ステップと、識別子付加ステップで識別子を付加したそれぞれの分割部分を繰返し送信する送信ステップとを実行させることを特徴とする。
【０２５３】
これによって、上記（Ｂ７）と同様の効果が得られる。
（Ｄ４）本発明に係るコンピュータ読み取り可能な記録媒体は、デジタル放送受信装置の制御プログラムを送信する制御プログラム送信プログラムを記録するコンピュータ読み取り可能な記録媒体であって、前記制御プログラム送信プログラムは、コンピュータに、前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する入手ステップと、Ｍを４以上の偶数とすると入手した非更新用プログラムの一部を分離して入手した更新用プログラムと合わせて制御プログラム全体の略Ｍ分の１のデータ量の第１制御プログラムとし残りの非更新用プログラムの内の第１制御プログラムと同じデータ量を分離して第２制御プログラムとし残りの非更新用プログラムを略（Ｍ−２）等分にしてそれぞれ第３制御プログラム〜第Ｍ制御プログラムとする分離ステップと、分離した第１〜Ｍ制御プログラムをそれぞれ略均等の分割部分に分割する分割ステップと、分割した第１制御プログラムの分割部分のそれぞれに第１識別子を、分割した第２制御プログラムの分割部分のそれぞれに第２識別子を付加し分割した第３〜Ｍ制御プログラムを各制御プログラム単位で略均等な２組に振り分けてそれぞれに第３識別子及び第４識別子を付加する識別子付加ステップと、第１識別子を付加された制御プログラム及び第３識別子を付加された制御プログラムを第１集合とし第２識別子を付加された制御プログラム及び第４識別子を付加された制御プログラムを第２集合とした時分割部分単位で第１集合と第２集合とを交互に繰り返し送信する送信ステップとを実行させることを特徴とする。
【０２５４】
これによって、上記（Ｂ１３）と同様の効果が得られる。
（Ｄ５）本発明に係るコンピュータ読み取り可能な記録媒体は、デジタル放送受信装置の制御プログラムを送信する制御プログラム送信プログラムを記録するコンピュータ読み取り可能な記録媒体であって、前記制御プログラム送信プログラムは、コンピュータに、複数種類のサブプログラムからなる制御プログラムを入手する入手ステップと、入手した複数種類のサブプログラムをそれぞれ複数の分割部分に分割する分割ステップと、分割した各分割部分に各サブプログラムのうちの何れの種類であるかを特定するカレント識別子と優先的にダウンロードすべき優先サブプログラムを表す優先情報と優先サブプログラムと同時にダウンロードできる同時サブプログラムを表す同時処理情報とをそれぞれ付加する付加ステップと、カレント識別子と優先情報と同時処理情報とを付加したそれぞれの分割部分を繰返し送信する送信ステップとを実行させることを特徴とする。
【０２５５】
これによって、上記（Ｂ１４）と同様の効果が得られる。
（Ｅ５）本発明に係るコンピュータ読み取り可能な記録媒体は、デジタル放送受信装置の制御プログラムを記録するコンピュータ読み取り可能な記録媒体であって、前記制御プログラムは複数種類のサブプログラムからなりそれぞれ複数の分割部分に分割され、分割されている各分割部分には各サブプログラムのうちの何れの種類であるかを特定するカレント識別子と優先的にダウンロードすべき優先サブプログラムを表す優先情報と優先サブプログラムと同時にダウンロードできる同時サブプログラムを表す同時処理情報とがそれぞれ付加されていることを特徴とする。
【０２５６】
これによって、各複数の分割部分に、カレント識別子と優先情報と同時処理情報とを付加して記憶することができる。
従って、上記（Ａ１２）の様なデジタル放送受信装置がこのプログラム記憶媒体の記憶内容を受信すると、優先サブプログラムの全てをダウンロードしなくても、同時サブプログラムをダウンロードすることができ、ダウンロード処理にかかる時間が相対的に短くて済む。
【０２５７】
（Ｆ１）本発明に係る制御プログラムダウンロード装置は、新しい制御プログラムは新しい更新用プログラムと新しい非更新用プログラムとからなり、制御プログラムダウンロード装置であって、新しい制御プログラムのダウンロードに用いる更新用プログラムと新しい制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを予め記憶する記憶手段と、前記記憶手段に予め記憶された更新用プログラムを実行することにより新しい更新用プログラムを受信し受信した新しい更新用プログラムを前記記憶手段内の非更新用プログラムが予め記憶された第１領域に上書きする第１制御手段と、第１制御手段による新しい更新用プログラムの上書きが終了した後に前記記憶手段内の新しい更新用プログラムを実行することにより新しい非更新用プログラムを受信し受信した新しい非更新用プログラムを記憶手段内の現在制御に用いている更新用プログラムが記憶されていない第２領域に上書きする第２制御手段とを備え、前記新しい更新用プログラムは複数の分割部分に分割されていて分割部分単位で受信されそれぞれの分割部分には第１識別子と通し番号とが付加され、前記新しい非更新用プログラムは複数の分割部分に分割されていて分割部分単位で受信されそれぞれの分割部分には第２識別子と通し番号とが付加され、前記第１制御手段は受信した新しい制御プログラムの分割部分に付加された識別子が第１識別子である場合に当該分割部分を更新用プログラムであると識別し更新用プログラムであると識別された分割部分に付加された通し番号を参照して前記第１領域における上書きすべき位置を特定し、前記第２制御手段は受信した新しい制御プログラムの分割部分に付加された識別子が第２識別子である場合に当該分割部分を非更新用プログラムであると識別し非更新用プログラムであると識別された分割部分に付加された通し番号を参照して前記第２領域における上書きすべき位置を特定することを特徴とする。
【０２５８】
これによって、上記（Ａ１）と同様の効果が得られる。
（Ｆ２）本発明に係る制御プログラムダウンロード装置は、新しい制御プログラムは新しい更新用プログラムと新しい非更新用プログラムとからなり、制御プログラムダウンロード装置であって、新しい制御プログラムのダウンロードに用いる更新用プログラムと新しい制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを予め記憶する記憶手段と、新しい更新用プログラムの上書きが終了したか否かを繰り返し判定し上書きが終了したと判定するまでの間は第１制御手段を上書きが終了したと判定した後は第２制御手段を実行させる判定手段と、上書きが終了したと判定されるまでの間に前記記憶手段に予め記憶された更新用プログラムを実行することにより新しい更新用プログラムを受信し受信した新しい更新用プログラムを前記記憶手段内の非更新用プログラムが予め記憶された領域の一部である第１領域に上書きすると共に新しい非更新用プログラムの一部である第１非更新用プログラムを受信し受信した第１非更新用プログラムを前記記憶手段内の非更新用プログラムが予め記憶された領域の内の前記第１領域以外である第２領域に上書きする第１制御手段と、上書きが終了したと判定された後に前記記憶手段内の新しい更新用プログラムを実行することにより前記第１非更新用プログラムの受信及び上書きを継続すると共に新しい非更新用プログラムの内の前記第１非更新用プログラム以外である第２非更新用プログラムを受信し受信した第２非更新用プログラムを前記記憶手段内の現在制御に用いている更新用プログラムが記憶されていない領域且つ第２領域でない第３領域に上書きする第２制御手段とを備えることを特徴とする。
【０２５９】
これによって、上記（Ａ２）と同様の効果が得られる。
（Ｆ３）本発明に係る制御プログラムダウンロード装置は、制御プログラムダウンロード装置の制御プログラムは複数種類のサブプログラムからなり各サブプログラム毎に複数の分割部分に分割されていて分割部分単位で所定の順序で繰り返し送信され当該分割部分にはそれぞれ各サブプログラムのうちの何れの種類であるかを特定するカレント識別子が付加されており、送信される前記制御プログラムをダウンロードする制御プログラムダウンロード装置であって、前記複数種類のサブプログラムをそれぞれ分割部分単位で受信する受信手段と、受信手段が受信したサブプログラムの分割部分に付加されたカレント識別子を参照して受信したサブプログラムの分割部分が優先的にダウンロードすべき優先サブプログラムの分割部分であるか優先サブプログラムと同時にダウンロードできる同時サブプログラムの分割部分であるかどちらでもないかを判断する判断手段と、判断手段が優先サブプログラム及び同時サブプログラムの何れかの分割部分であると判断したサブプログラムの分割部分を順次ダウンロードするダウンロード手段とを備えることを特徴とする。
【０２６０】
これによって、上記（Ａ１２）と同様の効果が得られる。
（Ｇ１）本発明に係る制御プログラム送信装置は、プログラム受信装置の制御プログラムを送信する制御プログラム送信装置であって、前記プログラム受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する入手手段と、入手した更新用プログラムと入手した非更新用プログラムとをそれぞれ複数の分割部分に分割し分割した各分割部分にそれぞれ通し番号を付加する分割手段と、分割した更新用プログラムの分割部分のそれぞれに第１識別子を、分割した非更新用プログラムの分割部分のそれぞれに第２識別子を付加する識別子付加手段と、識別子を付加したそれぞれの分割部分を分割部分単位で送信する送信手段とを備えることを特徴とする。
【０２６１】
これによって、上記（Ｂ１）と同様の効果が得られる。
（Ｇ２）本発明に係る制御プログラム送信装置は、デジタル放送受信装置の制御プログラムを送信する制御プログラム送信装置であって、前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する入手手段と、入手した非更新用プログラムを前記更新用プログラムのデータ量と同じデータ量の第１非更新用プログラムと残りの第２非更新用プログラムとに分離する分離手段と、入手した更新用プログラムと分離した第１非更新用プログラムと分離した第２非更新用プログラムとをそれぞれ複数の分割部分に分割し分割した各分割部分にそれぞれ通し番号を付加する分割手段と、分割した更新用プログラムの分割部分のそれぞれに第１識別子を、分割した第１非更新用プログラムの分割部分のそれぞれに第２識別子を、分割した第２非更新用プログラムの分割部分のそれぞれに第３識別子を付加する識別子付加手段と、識別子付加手段が識別子を付加したそれぞれの分割部分を繰返し送信する送信手段とを備えることを特徴とする。
【０２６２】
これによって、上記（Ｂ２）と同様の効果が得られる。
（Ｇ３）本発明に係る制御プログラム送信装置は、デジタル放送受信装置の制御プログラムを送信する制御プログラム送信装置であって、前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する制御プログラム入手手段と、前記更新用プログラムのデータ量から前記デジタル放送受信装置内の非更新用プログラムのコード増加に備えて設けられている領域のデータ量を差し引いたデータ量を入手するデータ量入手手段と、入手した非更新用プログラムをデータ量入手ステップで入手したデータ量の第１非更新用プログラムと残りの第２非更新用プログラムとに分離する分離手段と、入手した更新用プログラムと分離した第１非更新用プログラムと分離した第２非更新用プログラムとをそれぞれ複数の分割部分に分割し分割した各分割部分にそれぞれ通し番号を付加する分割手段と、分割した更新用プログラムの分割部分のそれぞれに第１識別子を、分割した第１非更新用プログラムの分割部分のそれぞれに第２識別子を、分割した第２非更新用プログラムの分割部分のそれぞれに第３識別子を付加する識別子付加手段と、識別子付加手段が識別子を付加したそれぞれの分割部分を繰返し送信する送信手段とを備えることを特徴とする。
【０２６３】
これによって、上記（Ｂ７）と同様の効果が得られる。
（Ｇ４）本発明に係る制御プログラム送信装置は、デジタル放送受信装置の制御プログラムを送信する制御プログラム送信装置であって、前記デジタル放送受信装置において制御プログラムのダウンロードに用いられる更新用プログラムと制御プログラムのダウンロード以外に用いる非更新用プログラムとからなる制御プログラムを入手する入手手段と、Ｍを４以上の偶数とすると入手した非更新用プログラムの一部を分離して入手した更新用プログラムと合わせて制御プログラム全体の略Ｍ分の１のデータ量の第１制御プログラムとし残りの非更新用プログラムの内の第１制御プログラムと同じデータ量を分離して第２制御プログラムとし残りの非更新用プログラムを略（Ｍ−２）等分にしてそれぞれ第３制御プログラム〜第Ｍ制御プログラムとする分離手段と、分離した第１〜Ｍ制御プログラムをそれぞれ略均等の分割部分に分割する分割手段と、分割した第１制御プログラムの分割部分のそれぞれに第１識別子を分割した第２制御プログラムの分割部分のそれぞれに第２識別子を付加し分割した第３〜Ｍ制御プログラムを各制御プログラム単位で略均等な２組に振り分けてそれぞれに第３識別子及び第４識別子を付加する識別子付加手段と、第１識別子を付加された制御プログラム及び第３識別子を付加された制御プログラムを第１集合とし第２識別子を付加された制御プログラム及び第４識別子を付加された制御プログラムを第２集合とした時分割部分単位で第１集合と第２集合とを交互に繰り返し送信する送信手段とを備えることを特徴とする。
【０２６４】
これによって、上記（Ｂ１３）と同様の効果が得られる。
（Ｇ５）本発明に係る制御プログラム送信装置は、デジタル放送受信装置の制御プログラムを送信する制御プログラム送信装置であって、複数種類のサブプログラムからなる制御プログラムを入手する入手手段と、入手した複数種類のサブプログラムをそれぞれ複数の分割部分に分割する分割手段と、分割した各分割部分に各サブプログラムのうちの何れの種類であるかを特定するカレント識別子と優先的にダウンロードすべき優先サブプログラムを表す優先情報と優先サブプログラムと同時にダウンロードできる同時サブプログラムを表す同時処理情報とをそれぞれ付加する付加手段と、カレント識別子と優先情報と同時処理情報とを付加したそれぞれの分割部分を繰返し送信する送信手段とを備えることを特徴とする。
【０２６５】
これによって、上記（Ｂ１４）と同様の効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施の形態１に係るプログラム送信装置１００の概略を示す図である。
【図２】ダウンロードコードからどのようにＤＬＴが生成されるのかを概略的に示した図である。
【図３】ダウンロードヘッダの概要の一例を示す図である。
【図４】分割部１０４及び識別子付加部１０５により生成されたＤＬＴの階層構造を概略的に示す図である。
【図５】本発明の実施の形態１に係るプログラム受信装置の概略を示す図である。
【図６】制御プログラム記憶部１５２における現制御プログラムの保持状態を概略的に示す図である。
【図７】（ａ）は、当該ダウンロード時でない状態の一時記憶部１５１の使用状況を示す図である。
（ｂ）は当該ダウンロード時の状態の一時記憶部１５１の使用状況を示す図である。
【図８】制御プログラム記憶部１５２の記憶内容の、当該ダウンロード時における遷移を示す図である。
【図９】当該ダウンロード処理の手順の概要を示す図である。
【図１０】ブートプログラムによるブート処理の手順の概要を示す図である。
【図１１】ダウンロード開始処理の手順の概要を示す図である。
【図１２】ＤＬＴの受信処理の手順の概要を示す図である。
【図１３】コマンド実行処理の手順の概要を示す図である。
【図１４】制御プログラム記憶部１５２のメモリマップの概要を示す図である。
【図１５】ダウンロード処理のタイミングを示す図である。
【図１６】制御プログラム記憶部１５２のメモリマップの概要を示す図である。
【図１７】ダウンロード処理のタイミングを示す図である。
【図１８】制御プログラム記憶部１５２のメモリマップの概要を示す図である。
【図１９】ダウンロード処理のタイミングを示す図である。
【図２０】制御プログラム記憶部１５２のメモリマップの概要を示す図である。
【図２１】ダウンロード処理のタイミングを示す図である。
【図２２】制御プログラム記憶部１５２のメモリマップの概要を示す図である。
【図２３】ダウンロード処理のタイミングを示す図である。
【図２４】制御プログラム記憶部１５２の記憶内容の当該パッチダウンロード時における遷移を示す図である。
【図２５】パッチダウンロード時の制御プログラム記憶部１５２のメモリマップを示す図である。
【図２６】ダウンロードヘッダの概要の一例を示す図である。
【図２７】ダウンロードコードからどのようにＤＬＴが生成されるのかを概略的に示した図である。
【図２８】分割部１０４及び識別子付加部１０５により生成されたＤＬＴの階層構造を概略的に示す図である。
【図２９】ＭＰＥＧ２規格のデジタル放送受信装置の概略を示す図である。
【図３０】セクション構造のテーブルを示す図である。
【図３１】デジタル衛星放送の場合における、制御プログラムの伝送形態を示す図である。
【図３２】（ａ）は、制御プログラムを記憶した上記フラッシュメモリ９０９のメモリマップを概略的に示す図である。
（ｂ）は、制御プログラムを蓄積した上記ＤＲＡＭ９１０のメモリマップを概略的に示す図である。
【図３３】ＤＣＴのフォーマットを示す図である。
【図３４】ＤＬＴのフォーマットを示す図である。
【図３５】従来の制御プログラム書き換え方法のフローチャートを示す図である。
【符号の説明】
１００    プログラム送信装置
１０１    制御プログラム入手部
１０２    データ量入手部
１０３    分離部
１０４    分割部
１０５    識別子付加部
１０６    送信部
１５０    プログラム受信装置
１５１    一時記憶部
１５２    制御プログラム記憶部
１５３    受信部
１５４    部分判断部
１５５    ダウンロード判断部
１５６    第１ダウンロード部
１５７    第２ダウンロード部
１５８    状態保持部
【図１】
0003813769.tif 000002
【図２】
0003813769.tif 000003
【図３】
0003813769.tif 000004
【図４】
0003813769.tif 000005
【図５】
0003813769.tif 000006
【図６】
0003813769.tif 000007
【図７】
0003813769.tif 000008
【図８】
0003813769.tif 000009
【図９】
0003813769.tif 000010
【図１０】
0003813769.tif 000011
【図１１】
0003813769.tif 000012
【図１２】
0003813769.tif 000013
【図１３】
0003813769.tif 000014
【図１４】
0003813769.tif 000015
【図１５】
0003813769.tif 000016
【図１６】
0003813769.tif 000017
【図１７】
0003813769.tif 000018
【図１８】
0003813769.tif 000019
【図１９】
0003813769.tif 000020
【図２０】
0003813769.tif 000021
【図２１】
0003813769.tif 000022
【図２２】
0003813769.tif 000023
【図２３】
0003813769.tif 000024
【図２４】
0003813769.tif 000025
【図２５】
0003813769.tif 000026
【図２６】
0003813769.tif 000027
【図２７】
0003813769.tif 000028
【図２８】
0003813769.tif 000029
【図２９】
0003813769.tif 000030
【図３０】
0003813769.tif 000031
【図３１】
0003813769.tif 000032
【図３２】
0003813769.tif 000033
【図３３】
0003813769.tif 000034
【図３４】
0003813769.tif 000035
【図３５】
0003813769.tif 000036