(57)【特許請求の範囲】
【請求項１】
対話的番組を構成する複数のナビゲーション情報が多重化されているストリームを送出するデータ送出装置であって、
他の一または複数のナビゲーション情報へのリンク命令を含むハンドラ情報を有するナビゲーション情報であって、各ナビゲーション情報を識別する識別子とナビゲーション情報の内容の更新を示すバージョン番号が付与された複数のナビゲーション情報を記憶するナビゲーション情報記憶手段と、
複数のナビゲーション情報のうち、一または複数のナビゲーション情報が削除された時、削除されたナビゲーション情報に代えて、削除されたナビゲーション情報に付与されていた識別子と同じ識別子を付与し、前記ハンドラ情報には削除されたナビゲーション情報の表示を変える指示を記述し、削除される直前のバージョン番号を更新したバージョン番号を付与したナビゲーション情報を生成するナビゲーション情報生成手段と、
前記複数のナビゲーション情報を多重化したストリームを送信する送信手段
を備えたデータ送出装置。
【請求項２】
前記指示は、指示されたナビゲーション情報への視聴遷移の指示である請求項１記載のデータ送出装置。
【請求項３】
前記ナビゲーション情報は繰り返し多重して送信される請求項１または請求項２記載のデータ送出装置。
【請求項４】
対話的番組を構成する複数のナビゲーション情報が多重化されているストリームを受信するデータ受信装置であって、
前記各ナビゲーション情報には、各ナビゲーション情報を識別する識別子とナビゲーション情報の内容の更新を示すバージョン番号が付与されており、
一のナビゲーション情報は、他の一または複数のナビゲーション情報へのリンク命令を含むハンドラ情報を有し、
複数のナビゲーション情報が多重化されているストリームを受信する受信手段と、
受信したナビゲーション情報が視聴中のナビゲーション情報と同じ識別子を有し、かつバージョン番号が更新されたナビゲーション情報であるか判定する判定手段と、
前記ナビゲーション情報が更新されたと判断した時、当該ナビゲーション情報を取り込む取り込み手段と、
取り込んだナビゲーション情報のハンドラ情報にナビゲーション情報の表示を変える指示が記述されておれば、当該指示に基づき表示を変える表示制御手段
を備えたデータ受信装置。
【請求項５】
前記指示は、指示されたナビゲーション情報への視聴遷移の指示である請求項４記載のデータ受信装置。
【請求項６】
対話的番組を構成する複数のナビゲーション情報が多重化されているストリームを送出するデータ送出方法であって、
他の一または複数のナビゲーション情報へのリンクを示すハンドラ情報を含んだナビゲーション情報であって、各ナビゲーション情報を識別する識別子とナビゲーション情報の内容の更新を示すバージョン番号が付与された複数のナビゲーション情報を記憶するナビゲーション情報記憶ステップと、
複数のナビゲーション情報のうち、一または複数のナビゲーション情報が削除された時、削除されたナビゲーション情報に代えて、削除されたナビゲーション情報に付与されていた識別子と同じ識別子を付与し、前記ハンドラ情報には削除されたナビゲーション情報の表示を変える指示を記述し、削除される直前のバージョン番号を更新したバージョン番号を付与したナビゲーション情報を生成するナビゲーション情報生成ステップと、
前記複数のナビゲーション情報を多重化したストリームを送信する送信ステップ
から構成されるデータ送出方法。
【請求項７】
対話的番組を構成する複数のナビゲーション情報が多重化されているストリームを受信するデータ受信方法であって、
前記各ナビゲーション情報には、各ナビゲーション情報を識別する識別子とナビゲーション情報の内容の更新を示すバージョン番号が付与されており、
一のナビゲーション情報は、他の一または複数のナビゲーション情報へのリンクを示すハンドラ情報を含み、
複数のナビゲーション情報が多重化されているストリームを受信する受信ステップと、
受信したナビゲーション情報が視聴中のナビゲーション情報と同じ識別子を有し、かつバージョン番号が更新されたナビゲーション情報であるか判定する判定ステップと、
前記ナビゲーション情報が更新されたと判断した時、当該ナビゲーション情報を取り込む取り込みステップと、
取り込んだナビゲーション情報のハンドラ情報にナビゲーション情報の表示を変える指示が記述されておれば、当該指示に基づき表示を変える表示制御ステップ
から構成されるデータ受信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル放送システムに関する。
【０００２】
【従来の技術】
最近、衛星デジタル放送が開始され、ビットマップ、スクリプト、ハイパーリンク等の番組の付加情報をプライベートセクション形式で記述し、画像データ、音声データに多重して繰り返し送出することで一方向で放送される映像情報等を用いてあたかも対話的に双方向で情報を通信しているかのように振る舞うデジタル放送の形態が実現されている。この放送形態にはＭＰＥＧ２（Moving Picture Experts Group ２）規格におけるトランスポートストリームという技術が用いられている。具体的には、ＩＳＯ／ＩＥＣ標準１３８１８−１（ＭＰＥＧ２システム）規格書に記載されている。
【０００３】
【発明が解決しようとする課題】
ところで、この対話的番組の放送中に、ハイパーリンク先のデータが削除されて送出された場合、このリンク先のデータを視聴している利用者は、古いデータを古いデータであると気づかずに見続けてしまう。
【０００４】
本発明の目的は、ハイパーリンク先のデータが削除されて送出された場合、削除されたリンク先のデータの視聴を続けているデータ受信装置に対し、その表示を変えさせるデータ送出装置、および表示を変えるデータ受信装置を提供することである。
【０００５】
【課題を解決するための手段】
上記目的を達成するために、本発明のデータ送出装置は、対話的番組を構成する複数のナビゲーション情報が多重化されているストリームを送出するデータ送出装置であって、他の一または複数のナビゲーション情報へのリンク命令を含むハンドラ情報を有するナビゲーション情報であって、各ナビゲーション情報を識別する識別子とナビゲーション情報の内容の更新を示すバージョン番号が付与された複数のナビゲーション情報を記憶するナビゲーション情報記憶手段と、複数のナビゲーション情報のうち、一または複数のナビゲーション情報が削除された時、削除されたナビゲーション情報に代えて、削除されたナビゲーション情報に付与されていた識別子と同じ識別子を付与し、ハンドラ情報には削除されたナビゲーション情報の表示を変える指示を記述し、削除される直前のバージョン番号を更新したバージョン番号を付与したナビゲーション情報を生成するナビゲーション情報生成手段と、複数のナビゲーション情報を多重化したストリームを送信する送信手段を備える。
この構成を用いて、削除されたナビゲーション情報と同じ識別子でバーション番号を更新し、視聴中の削除されたナビゲーション情報の表示を変えさせるハンドラ情報を含むナビゲーション情報を送信することにより、削除されたナビゲーション情報を視聴し続けているデータ受信装置の表示を変えることができる。
また、上記目的を達成するために、本発明のデータ受信装置は、対話的番組を構成する複数のナビゲーション情報が多重化されているストリームを受信するデータ受信装置であって、各ナビゲーション情報には、各ナビゲーション情報を識別する識別子とナビゲーション情報の内容の更新を示すバージョン番号が付与されており、一のナビゲーション情報は、他の一または複数のナビゲーション情報へのリンク命令を含むハンドラ情報を有し、複数のナビゲーション情報が多重化されているストリームを受信する受信手段と、受信したナビゲーション情報が視聴中のナビゲーション情報と同じ識別子を有し、かつバージョン番号が更新されたナビゲーション情報であるか判定する判定手段と、ナビゲーション情報が更新されたと判断した時、当該ナビゲーション情報を取り込む取り込み手段と、取り込んだナビゲーション情報のハンドラ情報にナビゲーション情報の表示を変える指示が記述されておれば、当該指示に基づき表示を変える表示制御手段を備える。
この構成を用いて、データ受信装置は、削除されたナビゲーション情報と同じ識別子でバーション番号を更新し、視聴中の削除されたナビゲーション情報の表示を変えさせるハンドラ情報を含むナビゲーション情報を受信することにより、当該ナビゲーション情報を取り込み、指示されるナビゲーション情報に基づく表示を行うので、視聴を続けている削除されたナビゲーション情報の表示を変えることができる。
【０００６】
【発明の実施の形態】
以下、本発明に係るデジタル放送システムの実施の形態を図面を参照して説明する。
【０００７】
１．デジタル放送システム
図１は、本発明に係るデジタル放送システムの一実施の形態の構成を示すブロック図である。デジタル放送システム３００は、情報提供部３０１、データ送出装置３０２と複数のデータ放送受信装置とを含む。同図では代表して１つのデータ放送受信装置３０３のみを図示する。
【０００８】
図２はデータ送出装置３０２の詳細な構成を表わすブロック部である。データ送出装置３０２は情報取得部４０１、データ判断部４０２、固定データ保持部４０３、スケルトン保持部４０４、データ合成部４０５、外部入力受信部４０６、トラブルスライド用NI保持部４０７、トラブルスライド用NI読み出し部４０８、バージョン巡回用NI保持部４０９、バージョン巡回用NI読み出し部４１０、エントリ復帰NI保持部４１１、エントリ復帰NI読み出し部４１２、番組情報管理部４１３、リアルタイムクロック４１４、番組情報制御部４１５、サービス開始NI保持部４１６、サービス開始NI読み出し部４１７、送信データ書込み部４１８、送信データ保持部４１９、送信データ読み出し部４２０、データ送信部４２１、映像送出部４２２、音声送出部４２３、多重化部４２４を備え、送信するデータの内容をリアルタイムに更新しながら、対話的番組をデジタル放送波にのせて放送する。
【０００９】
図３はデータ放送受信装置３０３の詳細な構成を表わすブロック図である。データ放送受信装置３０３は受信部５０１、ＴＳデコーダ５０２、ＡＶデコーダ５０３、スピーカ５０４、受信データ記憶部５０５、信号受信部５０６、受信制御部５０７、表示部５０８、条件記憶部５０９を備える。
【００１０】
図４、図５は通常の競艇番組と本実施の形態で生じる対話的番組の一例である競艇情報番組の内容の一例を示した図である。図４と図５は線Ａ−Ａ'の左右で連続している。データ送出装置３０２が、競艇の様子を中継する映像ストリーム１０２、音声ストリーム（図示せず）と、「大阪」、「東京」、「福岡」のレース場ごとの気象情報、オッズ情報等の番組の補助情報と、利用者が情報を自由に選択するためのハイパーリンク情報を含むナビゲーション情報（以下ＮＩ）を繰り返し多重して送信することで、利用者は受信装置３０３を用いて、画像ストリーム１０１に示すように中継映像を見ながら、各レース場の気象情報、オッズ情報を見ることができる。
【００１１】
例えば、通常の競艇番組ではシーン１１５、シーン１１６、シーン１１７に示されるようなシーンの連続である画像ストリーム１０２と音声ストリームのみを視聴するが、図４のシーン１０４では、競艇の様子を中継する動画、音声に加えて、ＮＩによる「大阪」のレース場の気象情報、オッズ情報が補助情報として表示されている。ここで、利用者が、リモコン等を用いて「福岡」のレース場を選択すると、シーン１０７に示すように「福岡」のレース場の情報が表示される。
【００１２】
また、オッズ情報、気象情報は、時間の経過に従ってリアルタイムに変化する情報である。データ送出装置３０２は、ＮＩの中で、オッズ情報、気象情報等の変化する部分の情報を、リアルタイムに最新の内容に更新しながら送信する。これにより、利用者は常に最新のオッズ情報、気象情報を参照することが可能になる。
【００１３】
例えば、利用者がシーン１０７を表示している時に、気象情報、オッズ情報が変化し場合、シーン１０８に示すように自動的に気象情報、オッズ情報の内容が更新される。
【００１４】
以上がデジタル放送システムで実現されるサービスの概要説明である。以下でデジタル放送システムの構成について詳細に説明する。
【００１５】
２．情報提供部
情報提供部３０１は、データベースシステム等を用いて構成され、デジタル放送システム３００を用いて放送する為の番組データを管理し、データ送出装置３０２の情報取得部４０１の要求に応じて、最新の番組情報をデータ取得部４０１に供給する。
【００１６】
図６は、情報提供部３０１が管理する番組データの一例を示す図である。番組データ５１１、５１２、５１３は競艇番組で用いる補助情報を表わしており、開催競艇場ごとにレースのオッズ情報、気象情報等を含む。また、番組データ５１１はレースの進行に応じて、自動的、もしくはオペレータによる手動操作により５１２、５１３に更新される。データベースシステムを用いた番組データの保持方法、更新方法の詳細に関しては、一般的に知られており、また本発明の主眼ではないので省略する。情報提供部３０１は、データ取得部４０１からの要求の種別に応じて、固定データ、更新データのいずれかをデータ取得部４０１に送信する。固定データは番組データ中の変更頻度が少ない部分の情報を含み、更新データは番組データ中の変更頻度が少ない部分の情報を含む。
【００１７】
図７（ａ）、（ｂ）は、情報提供部３０１がデータ取得４０１に送信する固定データの一例を示す図である。固定データ６００はヘッダー６０１、レース情報ヘッダー６０２、レース情報テーブル６１１、６１２、６１３を含む。ヘッダー６０１中のデータ種別６０４はこのデータの種別を示し、値「Ｆ」は、このデータの種別が固定データであることを示す。レース情報ヘッダー６０２は、開催フラグ大阪６０８、開催フラグ東京６０９、開催フラグ福岡６１０、開催レース場数６０７を含む。開催フラグ大阪６０８、開催フラグ東京６０９、開催フラグ福岡６１０は、それぞれ「大阪」、「東京」、「福岡」の各レース場でレースが開催されているか否かを示すフラグである。値「１」は、そのレース場でレースが開催されていることを、値「０」はレースが開催されていないことを示す。情報提供装置３０１は、レースが開催されているレース場の情報のみを提供する。
【００１８】
開催レース場数６０７は、レースが開催されているレース場の合計数を表す。レース場情報テーブル６１１、６１２、６１３は、各レース場の情報を表すテーブルであり、これはレース場数６０７の値と同数存在する。レース場名６１５、レース開始日６１６、レース終了日６１７、レースグレード６１８は競艇番組で用いる補助情報となる文字列である。固定データにはレース場名、レースの開始日、レースの終了日、レースのグレードなど、あらかじめ決まっていてあるレース開催日中に変化する可能性の低い情報のみが含まれる。
【００１９】
図８、図９、図１０は、情報提供部３０１が送信する更新データの一例を示す図である。更新データ７００はヘッダー７０１、レース場情報テーブル７０３、７０４、７０５を有する。ヘッダー７０１は、データ種別７０２を含む。データ種別７０２はデータ種別を表し、値「Ｃ」はこのデータの種別が更新データである事を示す。レース場情報テーブル７０３、７０４、７０５はそれぞれ、レースが開催されているレース場に関するレース情報を表すテーブルであり、レース場情報テーブルは固定データ６００中のレース場数６０７の値と同数だけ存在する。レース場情報テーブル７０３、７０４、７０５は同じ形式で記述されているので、レース場情報テーブル７０３を例に説明する。天気の行７０７からＯＤＤＳ３-４の行７１７の文字列は、競艇番組で用いる補助情報となる文字列である。更新データにはレース場の天気、出場選手、レースのオッズなどレース開催中に変化する頻度が高い情報が含まれる。
【００２０】
このように、番組データを固定データと更新データに分けることにより、更新頻度が低い情報の送信回数を少なくすることができ、情報提供部３０１と情報取得部４０１の間のデータ通信量を減らすことができる。情報取得部３０１からのデータ要求は２種類あり、１つは固定データ要求、もう１つは任意データ要求である。固定データ要求を受信した場合は、情報提供部３０１は固定データの送信を行う。任意データを要求された場合は、固定データに更新がない場合は更新データのみを送出し、固定データに更新があった場合には固定データを送出する。
【００２１】
また、情報提供部３０１は、データベースシステムに不具合が発生した場合など固定データ、更新データを生成できない場合には、情報取得部４０１からの特定データ要求通知、任意データ要求通知に対して、トラブルスライド発行要求を送信する。トラブルスライドとは、情報提供装置３０１、データ送出装置３０２側で不具合が発生して送信するデータの内容が更新できなくなった場合に、ユーザにその旨を通知するための画面である。
【００２２】
図１１は、情報提供部が送出するトラブルスライド発行要求の一例を示す図である。トラブルスライド発行要求８００はヘッダー８０１とトラブルスライドテーブル８０２を有する。ヘッダー８０１中のデータ種別８０５の行はデータの種別を示すフラグであり、値「Ｔ」は、このデータの種別がトラブルスライド発行要求である事を示す。トラブルスライドテーブル８０２はトラブルスライドの内容に関する情報である。トラブルスライドＩＤ８０３は、複数のトラブルスライドの中からどのトラブルスライドを選択するかを示す識別番号である。
【００２３】
３．データ送出装置
３−１．情報取得部
情報取得部４０１はあらかじめ決められた時間毎に情報提供部３０１に、固定データ要求通知、もしくは任意データ要求通知を送信して、情報提供部から固定データ、更新データ、もしくはトラブルスライド発行要求８００を受信し、データ判断部４０２に送信する。また、固定データ要求通知、任意データ要求通知に対する情報提供部３０１からの応答が、あらかじめ定められた時間以上なかった場合、データ取得部４０１はデータ提供部３０１の不具合もしくはデータ提供部３０１とデータ取得部４０１間の通信エラーが発生したと判断し、データ判断部４０２にトラブルスライド発行要求８００を送信し、情報提供部３０１には固定データを要求する。ここで固定データを要求するのは、任意データ要求通知に対し情報提供部３０１が固定データを送信したにも関らず通信エラーによってその固定データが情報取得部４０１で受信されない場合に、固定データ保持部４０３が保持する固定データが更新されないままとなるためである。このような不具合を解消するため、あらかじめ決められた時間以上応答のない場合には、次回のデータ要求においてデータ取得部４０１は必ず固定データを要求する。固定データを受け取ると、データ取得部４０１は任意データの要求を再開する。
【００２４】
１−３−３データ判断部
データ判断部４０２は固定データのレース場数を記憶する記憶媒体となる変数ＮＩを有し、情報取得部４０１から送信されたデータの種類を判別し、データの種別にみあった処理を行なう。データ判断部４０２に送信されるデータは固定データ、更新データ、トラブルスライド発行要求８００、バージョン番号巡回処理要求である。
【００２５】
バージョン番号とは、データ受信装置３０３がＮＩの内容が更新されたことを識別するために、データ送信装置３０１が、各ＮＩに付与する番号である。データ送信装置は、ＮＩの内容が更新される度に、ＮＩに付与するバージョン番号の値を１ずつ増加させる。但し、バージョン番号の値があらかじめ定められた最大値を超えると１に戻す。データ放送受信装置３０３は、受信ストリームを監視し、表示中のＮＩが保持するバージョン番号より１だけ大きいバージョン番号を有するＮＩを受信すると、自動的に表示中のＮＩを破棄して新しいＮＩを表示する。従って、データ送信装置３０１から送信されるＮＩの内容が更新されれば、データ放送受信装置３０３で表示されるＮＩの内容も自動的に更新される。
【００２６】
ところが、データ送出装置３０２に不具合が発生した場合などで、バージョン番号が前バージョン番号と不連続になると、データ放送受信３０３は、現在表示中のＮＩより１だけ大きいバージョン番号を有するＮＩを受信できず、送信データが次々に更新され、ＴＳデコーダ内に保持されているバージョン番号の次のバージョン番号を持つ送信データを受信するまでは、送信データの更新が表示部５０８では行なわれない。このような不具合を回避するため、バージョン番号の連続性が保証されないような場合には、オペレータのキーボード等による外部入力によりバージョン巡回用ＮＩ発行要求をすることができる。
【００２７】
バージョン番号巡回処理とはＮＩに必須な情報のみを有しデータ量を最小限に抑えたＮＩ（これをバージョン巡回用ＮＩと呼ぶ）を用いて、高速にバージョンアップを発生させる不具合の回避法である。このアルゴリズムを用いることで、バージョン番号不連続が生じてからＴＳデコーダ５０２が更新された送信データを再び受信するまでの時間を短縮することができる。
【００２８】
図１２は、バージョン巡回用ＮＩ読み出し部４１０が送出するバージョン巡回用ＮＩ発行要求の一例を示す図である。バージョン番号巡回処理要求９００はヘッダー９０１を有する。ヘッダー９０１のデータ種別９０２はデータ種別を識別するためのヘッダーであり、データ種別の行はデータの種別を示すフラグであり、このデータの種別がバージョン番号巡回処理要求である事を示す。
【００２９】
データ判断部４０２はヘッダーのデータ種別の行（ここでは固定データ６００のデータ種別６０６、更新データ７００のデータ種別７０２、トラブルスライド発行要求８００のデータ種別８０５、バージョン巡回用ＮＩ発行要求９００のデータ種別９０２）のフラグを参照し、データの識別を行なう。
【００３０】
送信されたデータが固定データである場合、データ判断部はレース場数６０７を参照し、変数ＮＩに格納されている前回送信された固定データのレース場数と比較する。今回のレース場数が前回よりも少ない場合、前回のＮＩ数（pre_NIとする）と今回のレース場数（num_ＮＩとする）を引数とし、制御部にエントリ復帰ＮＩ発行要求を行なう。
【００３１】
ここでエントリ復帰ＮＩとは、開催されていたレース場が非開催になった場合、そのレース場を見ていた利用者に、これ以上レース情報が更新されないようなレース場のデータを見せないため、非開催レース場を見ていた利用者の画面を開催場のレース情報に強制的に切り替えるＮＩである。
【００３２】
データ判断部４０２はまた、変数pre_ＮＩを今回のレース場数num_ＮＩに書き換え、固定データ６００を固定データ保持部４０３に送信する。送信されたデータが更新データである場合は、更新データをデータ合成部へ送信する。送信されたデータがバージョン巡回用ＮI発行要求である場合、データ判断部４０２は変数pre_ＮＩを参照し、変数pre_ＮＩを引数としてバージョン巡回用ＮI読み出し部にバージョン巡回用ＮI発行要求をする。送信されたデータがトラブルスライド発行要求８００である場合、もしくは送信されたデータが通信エラー等により前述のどれにも当てはまらないように書き換えられてしまった場合、データ判断部は、変数ＮＩを参照し、これを引数としてトラブルスライド読み出し部にトラブルスライドの発行要求をする。
【００３３】
なお、本実施例では情報取得部から送信されるデータは固定データ、更新データ、トラブルスライド発行要求８００、バージョン番号巡回処理要求のみであるが、スケルトンなどを送出してもよい。
【００３４】
１−３−４固定データ保持部
固定データ保持部は半導体メモリ等の記憶媒体を有し、固定データを記憶する。固定データ記憶部はデータ判断部から固定データが送信されると前回送信された固定データを今回送信された固定データに書き換える。図７は固定データ保持部４０３に保持されている固定データの一例を示す図である。
【００３５】
１−３−５スケルトン保持部
スケルトン保持部４０４は磁気ディスク等の記憶媒体を有し、スケルトンを記憶する。ここでスケルトンとは、受信装置３０３での補助情報の表示方式や表示位置、ビットマップ情報、利用者リモコン等による入力時の動作記述など、すべてのＮＩに共通で変化のない部分である。スケルトンに特定フォーマットで記述された数値、文字列などの可変情報（ここでは固定データ、更新データを指す）と合成することにより、ＮＩを生成する。
【００３６】
図１３はスケルトンの一例を示す図である。スケルトン１１００はＮＥ＿ＩＤ１１０２、ハイパーリンクテーブル１１０３、オブジェクトテーブル１１０４、ハンドラテーブル１１０８、ビットマップテーブル１１０９を含む。
【００３７】
ＮＥ＿ＩＤ１１０２はスケルトンを合成してナビゲーション情報を生成した際に、リンク付けされた複数のＮＩを識別するために付与されるＮＩのＩＤが格納されたテーブルである。スケルトンではＮＥ＿ＩＤ１３０１に示すようＮＵＬＬが記載されている。
【００３８】
ハイパーリンクテーブル１１０３はスケルトンを合成してナビゲーション情報を生成した際の他のＮＩとのリンク関係を示したテーブルである。「競艇場名」欄に示されている競艇場のＮＥ＿ＩＤが「ＮＥ＿ＩＤ」欄に格納されるよう、スケルトンではＮＵＬＬになっている。
【００３９】
オブジェクトテーブル１１０４は対話的番組が再生される際に、表示部５０８に表示されるオブジェクト関する情報を記述したテーブルである。オブジェクトはその性質からボタン、テキストボックス、ピクチャに分類され、それぞれの情報はボタンテーブル１１０５、テキストボックステーブル１１０６、ピクチャテーブル１１０７に記述される。ボタンテーブル１１０５のテーブルの１行目にボタンテーブルの記述に必要な項目をあげている。「X座標」欄１５０１と「Y座標」欄１５０２は表示画面上でのビットマップ等の標準表示位置を示すX、Y座標値を記述する項目である。「NormalBitmap」欄１５０３は、標準状態（又は非選択状態）において、上記のX、Y座標が示す表示位置に、どのビットマップを表示すべきがを指定するためのビットマップ・インデックス値を示す項目である。非選択状態とは、データ放送受信装置３０３において、ボタンにフォーカスがあたっていない状態をいう。「Focusebitmap」欄１５０４は、フォーカス状態において上記のX、Y座標が示す表示位置に、どのビットマップを表示すべきがを指定するためのビットマップ・インデックス値を示す項目である。「SelectHandler」欄１５０６はハンドラテーブル中のハンドラのうち、ボタンを選択した時に起動されるハンドラがどれであるかを指定するためのハンドラ・インデックス値を記述する項目である。ハンドラについては、ハンドラテーブルの説明の際に説明する。テキストボックステーブルの１行目にテキストボックスの記述に必要な項目をあげている。「X座標」１６０１と「Y座標」１６０２は表示画面上でのオブジェクトの標準表示位置を示すX、Y座標値を記述する項目である。「高さ」欄１６０３、「幅」欄１６０４はビットマップの高さと幅を表す項目である。「string」欄１６０５はオブジェクトに表示されるべき文字列かオブジェクトに表示される文字列に置換するためのキーワードとなる文字列、もしくは上記の前述後述の文字列を混在したような文字列が記述されている。「string」欄中でキーワードとなる文字列は「”」（ダブルクォーテーション）で括られ、他の文字列と区別されている。ピクチャテーブル１１０７の１行目にテキストボックスの記述に必要な項目をあげている。「X座標」欄１７０１と「Y座標」欄１７０２は表示画面上でのビットマップ等の標準表示位置を示すX、Y座標値を記述する項目である。「bitmap」欄１７０３は上記のX、Y座標が示す表示位置に、どのビットマップを表示すべきがを指定するためのビットマップ・インデックス値もしくはビットマップインデックス値に置換するためのキーワードとなる文字列が記述されている項目である。「bitmap」欄中でキーワードとなる文字列は「”」（ダブルクォーテーション）で括られ、他の文字列と区別されている。
【００４０】
ハンドラテーブル１１０８はハンドラ・インデックス値とそのハンドラスクリプトの対応を示したテーブルである。ここでハンドラとは、データ放送受信機３０３によって実行可能なプログラム又は命令語である。「SelectHandler」欄１５０６項目に記述されたハンドラ・インデックス値は、「HandlerIndex」欄１８０１に記述された番号を指し示している。「script」欄１８０２はハンドラ・インデックスに対応するハンドラ（スクリプト）を示す。特に、ボタンに対応するハンドラは同図「go_contents（Hyperlink_id）」のようにＮＩ切り替え命令を含んでいる。
【００４１】
ビットマップテーブル１１０９はビットマップ・インデックス値とそのビットマップの対応を示したテーブルであり、ボタンテーブルの「NormalBitmap」欄、「Focusebitmap」欄及びピクチャテーブルの「bitmap」欄１７０３に指定されるビットマップデータを記録している。「bitmapIndex」欄１９０１はビットマップデータを区別する値（ビットマップ番号）を示す。「bitmap data」欄１９０２は表示部５０８で表示されるビットマップデータを記憶する。
【００４２】
１−３−６データ合成部
データ合成部４０５はデータ判断部４０２から更新データが送信されるとスケルトンをスケルトン保持部４０４から、固定データを固定データ保持部４０３から参照し、スケルトン、固定データ、更新データ、の組から合成データを合成する。ここで合成データとは、リンク付けがなされた複数のＮＩのことである。ＮＩはレーズ場ごとに存在するので、固定データ６００のレース場数６０７の行に記述された数のＮＩが１つの固定データ、更新データ、スケルトンの組から作成される。
【００４３】
図１４〜図２１は固定データ、更新データ、スケルトン１１００を用いて合成したＮＩの一例を示す図である。図１４、図１７、図２０は固定データ６００、更新データ７００、スケルトン１１００を用いて合成したＮＩの一例である。
【００４４】
ＮＩ２５００はＮＥ＿ＩＤ２５０１、ハイパーリンクテーブル２５０２、オブジェクトテーブル２５０３、ボタンテーブル２５０４、テキストボックステーブル２５０５、ピクチャテーブル２５０６、ハンドラテーブル２５０７、ビットマップテーブル２５０８を有する。上記のように1つの固定データ６００、更新データ７００、スケルトン１１００の組から複数のＮＩが生成されるが、図１４ではＮＥ＿ＩＤ＝１となるＮＩを記述している。図１７、図２０はそれぞれＮＥ＿ＩＤ＝２、ＮＥ＿ＩＤ＝３となるＮＩを記述している。図１７、図２０の詳細な説明に関しては、図１４と等しいので省略する。ボタンテーブル２５０４、ハンドラテーブル２５０７、ビットマップテーブル２５０８はそれぞれ１１０５、１１０８、１１０９の内容と等しい。
【００４５】
データ合成のアルゴリズムを以下に示す。ＮＩはレース場数６０７の数だけ作成する。
【００４６】
ＮＥ＿ＩＤはＮＩごとにユニークな値になるよう、１から順に割り当てる。
ハイパーリンクテーブルのＮＥ＿ＩＤは、開催フラグ大阪６０８、開催フラグ東京６０９、開催フラグ福岡６１０のうち、値が１の競艇場にのみ割り当てる。ＮＥ＿ＩＤの値は１から順番に付け、割り当てる順番はＮＩ情報ヘッダーに書かれている順番に従うものとする。
【００４７】
次に固定データ６００のレース場情報テーブル６１１とスケルトン１１００のテキストボックス１１０６、ピクチャテーブル１１０７を用いて合成データを作成する。レース情報テーブル６１１の左側の文字列と同じキーワードをテキストボックステーブルの「String」欄１６０５、もしくはピクチャテーブルの「Bitmap」欄１７０３から探し、レース場情報テーブル６１１の右側の文字列もしくは数値と置き換える。例えばレース場名６１５では左側の文字列「レース場名」と同じキーワードはテキストボックステーブルの９番の「string」にあるので、これをレース場名６１５の右側の文字列「大阪」と置き換える。次に更新データ７００のレース情報テーブル７０３と上記作業で生成されたスケルトンとを用いて合成データを生成する。これも固定データの場合と同じ処理を行なう。
【００４８】
上記の要領でデータ合成が完了し、ＮＩ２５００が生成されると、データ合成部は送信データ書込み部４１８に合成データを送信する。固定データ６００、変更データ７００は３つのレース場のデータを保持しているので、レース場情報テーブル６１２、レース場テーブル７０４とスケルトン１１００のテキストボックス１１０６、ピクチャテーブル１１０７を用いてＮＩ２５２０が、レース場情報テーブル６１３、レース場テーブル７０５とスケルトン１１００のテキストボックス１１０６、ピクチャテーブル１１０７を用いてＮＩ２５３０がそれぞれ生成され、送信データ書込み部４１８に送信される。
【００４９】
以上の合成処理は、単純な文字列置換処置のため、極めて短時間で合成させることが可能である。これにより、リアルタイムなデータの更新が可能になる。
【００５０】
なお、本実施例では、スケルトンは１つであるが、スケルトン保持部が識別子を有する複数のスケルトンを保持し、固定データもしくは変更データもしくはオペレータからのキーボード等による入力でどのスケルトンを使用するかを決定し、指定されたスケルトンと固定データ、変更データから合成データを生成してもよい。
【００５１】
１−３−２外部入力受信部
外部入力受信部４０６は情報取得部４０１が情報を取得する情報提供部３０１以外の入力系例えばオペレータのキーボード入力などから入力情報を受信し、データ判断部４０２に送信する。ここで入力情報とはトラブルスライド発行要求８００とバージョン巡回用ＮI発行要求である。
【００５２】
１−３−７トラブルスライド用ＮＩ保持部
トラブルスライド用ＮＩ保持部４０７は磁気ディスク等の記憶媒体を有し、トラブルスライド用ＮＩを記憶する。
【００５３】
図２２はトラブルスライド用ＮＩ保持部４０７が保持するトラブルスライド用ＮＩの一例を示す図である。トラブルスライド用ＮＩ３１００はトラブルスライド情報３１０１、ＮＩ情報３１０２、テキストボックステーブル３１０３を有する。トラブルスライド情報３１０１のトラブルスライドＩＤの行はトラブルスライド用ＮＩ保持部に保持されている複数のトラブルスライド用ＮＩを識別するための番号を示している。トラブルスライドの発行要求をする際は、この値を引数とする。ＮＩ情報３１０２のＮＥ＿ＩＤの行はトラブルスライド用ＮＩにＮＥ＿ＩＤを割り当てる際に記述するため、NULLが入っている。テキストボックス３１０３の一行目関してはテキストボックス１１０６と等しいので、説明は省略する。
【００５４】
１−３−８トラブルスライド用ＮＩ読み出し部
トラブルスライド用ＮＩ読み出し部４０８はデータ判断部４０２からトラブルスライドの発行要求を受け、トラブルスライド用ＮＩ保持部４０７からトラブルスライド用ＮＩを読み出し、送信データ書込み部４１８に送信する。トラブルスライド用ＮＩ読み出し部４０８はトラブルスライドの発行要求とともに、引数num_NIを受信する。トラブルスライド用ＮＩ読み出し部４０８はトラブルスライドの発行要求を受けると以下の動作を引数num_NIの数だけ繰り返す。トラブルスライド用ＮＩ保持部から、トラブルスライド情報３１０１のトラブルスライドＩＤと同じトラブルスライドＩＤを持つトラブルスライド用ＮＩを読み出し、トラブルスライド用ＮＩ３１００のＮＩ情報３１０２のＮＥ＿ＩＤの行にＮＥ＿ＩＤを割り当てて、送信データ書込み部４１８に送信する。ＮＥ＿ＩＤは１から順に割り当てる。図２３（ａ）、（ｂ）、（ｃ）は送信データ書込み部４１８に送信するトラブルスライド用ＮＩの送信データの一例を示した図である。
【００５５】
なおこの例ではトラブルスライドの引数はトラブルスライドＩＤだけであるが、文字列を引数とし、テキストボックス３１０３のStringを入れ替えられるようなトラブルスライド合成機能をトラブルスライド用ＮＩ読み出し部に加えることで、任意の文字列を表示部５０８に表示できる。
【００５６】
１−３−９バージョン巡回用ＮＩ保持部
バージョン巡回用ＮＩ保持部４０９は磁気ディスク等の記憶媒体を有し、バージョン巡回用ＮＩを記憶する。図２４はバージョン巡回用ＮＩ保持部４０９がするバージョン巡回用ＮＩの一例を示す図である。バージョン巡回用ＮＩ３３００はＮＩ情報３３０１を有する。ＮＩ情報３３０１のＮＥ＿ＩＤの行はバージョン巡回用ＮＩにＮＥ＿ＩＤを割り当てる際に記述するため、NULLが入っている。
【００５７】
１−３−１０バージョン巡回用ＮＩ読み出し部
バージョン巡回用ＮＩ読み出し部４１０はデータ判断部４０２からバージョン巡回発行要求を受けると、バージョン巡回用ＮＩ保持部４０９からバージョン巡回用ＮＩを読み出し、送信データ書込み部４１８に送信する。バージョン巡回用ＮＩ読み出し部４１０はバージョン巡回発行要求とともに、引数num_NIを受信する。バージョン巡回用ＮＩ読み出し部４１０はバージョン巡回発行要求を受けると以下の動作をあらかじめ決められたバージョンの最大値だけ繰り返す。バージョン巡回用ＮＩ保持部からバージョン巡回用ＮＩをnum_NI回読み出し、バージョン巡回用ＮＩ３３００のＮＩ情報３１０１のＮＥ＿ＩＤの行にＮＥ＿ＩＤとして１からnum_NIまでの番号を順割り当てて、送信データ書込み部４１８に送信する。図２５（ａ）、（ｂ）は送信データ書込み部４１８に送出するバージョン巡回用ＮＩの送信データの一例を示した図である。
【００５８】
１−３−１１エントリ復帰ＮＩ保持部
エントリ復帰ＮＩ保持部４１１は磁気ディスク等の記憶媒体を有し、エントリ復帰ＮＩを記憶する。
【００５９】
図２６はエントリ復帰ＮＩ保持部４１１がするエントリ復帰ＮＩの一例を示す図である。エントリ復帰ＮＩ３５００はＮＩ情報３５０１、イニシャライズテーブル３５０２、ハンドラテーブル３５０３を有する。
【００６０】
ここでイニシャライズテーブルとはＮＩが受信データ記憶部５０５に出力され、データ表示部５０８で再生される場合の初期動作として実行されるハンドラに関して記述したテーブルである。ＮＩ情報３５０１のＮＥ＿ＩＤの行はエントリ復帰ＮＩにＮＥ＿ＩＤを割り当てる際に記述するため、NULLが入っている。イニシャライズテーブル３５０２のInitialized Handlerはハンドラテーブル中のハンドラのうち、どのハンドラを実行するかを指定するためのハンドラ・インデックス値を記述する項目である。ハンドラテーブル３５０３の一行目関してはハンドラテーブル１１０８と等しいので、説明は省略する。
【００６１】
１−３−１２エントリ復帰ＮＩ
読み出し部エントリ復帰ＮＩ読み出し部４１２はデータ判断部４０２からエントリ復帰発行要求を受け、エントリ復帰ＮＩ保持部４１１からエントリ復帰ＮＩを読み出し、送信データ書込み部４１８に送信する。エントリ復帰ＮＩ読み出し部４１２はエントリ復帰発行要求とともに、引数num_NI、pre_NIを受信する。エントリ復帰ＮＩ読み出し部４１０はエントリ復帰発行要求を受けると以下の動作を行なう。
【００６２】
エントリ復帰ＮＩ保持部からエントリ復帰ＮＩを(pre_NI−num_NI)回読み出し、エントリ復帰ＮＩ３５００のＮＩ情報３５０１のＮＥ＿ＩＤの行にＮＥ＿ＩＤをnum_NI＋１から順に割り当てて、送信データ書込み部４１８に送信する。図２７は送信データ書込み部４１８に送出するエントリ復帰ＮＩの送信データの一例を示した図である。
【００６３】
１−３−１３番組情報管理部
番組情報管理部４１３はデータベースシステム等を用いて構成され、デジタル放送の放送時間、ＰＩＤ等の番組情報等の番組データを保持している。
【００６４】
図２８は番組情報の一例を示す図である。「放送時間」欄３７０１は番組情報の時間軸を示す項目である。「チャンネル」（「１」「２」「３」）欄３７０２はどのチャンネルに送出される番組に関する情報であるかを示す項目である。箱３７０３は番組の開始終了時刻と付与されるＰＩＤを示している。ＰＩＤ（１）、ＰＩＤ(２)、ＰＩＤ（３）はそれぞれ映像データ、音声データ、ＮＩに付与されるＰＩＤである事を示す。この場合、番組開始時刻が7／2の10時、終了時刻が7/2の16時、ＮＩのＰＩＤは１００３である事を示す。ここでＰＩＤとは、チャンネルごとにユニークな識別子である。また、対話的番組は映像、音声、ナビゲーション情報から構成されるが、同じ番組の構成する映像、音声、ナビゲーション情報はそれぞれ異なったＰＩＤを有する。
【００６５】
１−３−１５番組情報制御部
番組情報制御部４１５はリアルタイムクロック４１４を有し、番組情報管理部から得た番組情報に応じて、データの送出を制御する。図２９は番組情報制御部４１５が保持している番組情報の一例を示した図である。「チャンネル」欄３８０１は送信データ書込み部４１８が書込みをおこなうナビゲーション情報がどのチャンネルの番組に多重されるかを示す項目である。ＰＩＤ３８０２はＮＩに割り当てられるＰＩＤを示す項目である。start_time３８０３はナビゲーション情報の送出を開始する時間である。リアルタイムクロックがこの時間になると、情報取得部４０１、送信データ書込み部４１８、データ読み出し部４２０の動作の停止命令を解除し、サービス開始ＮＩ読み出し部にサービス開始ＮＩ発行要求することで番組開始を制御する。また番組情報制御部４１５は送信データに割り当てるＰＩＤを送信データ書込み部４１８に指示する。end_time３８０４はナビゲーション情報の送出を停止する時間である。リアルタイムクロックがこの時間になると、番組情報制御部４１５は送信データ保持部４１９に保持している送信データの消去を命じ、情報取得部４０１、送信データ書込み部４１８、データ読み出し部４２０に動作の停止を命じることで、番組終了を制御する。番組終了作業の後、番組情報制御部４１５は直ちに次の番組情報を番組情報管理部から得る。
【００６６】
なお、本実施例では次の番組情報は、番組終了後に取得するが、処理にかかる遅延時間を考慮して、現在放送している番組が終了する時間よりあらかじめ決められた時間だけ前に取得してもよい。
【００６７】
なお、本実施例では１つのチャンネルに関してのみ番組情報の取得を行なったが、番組情報制御部は送信データ書込み部４１８が送信データを送出するすべてのチャンネルに関する情報を取得してもよい。
【００６８】
１−３−１６サービス開始ＮＩ保持部
サービス開始ＮＩ保持部４１６は磁気ディスク等の記憶媒体を有し、サービス開始ＮＩを記憶する。図３０はサービス開始ＮＩ保持部４１６が保持しているサービス開始ＮＩの一例を示す図である。サービス開始ＮＩ４０００はＮＩ情報４００１とテキストボックス４００２を有する。ＮＩ情報４００１のＮＥ＿ＩＤのサービス開始ＮＩにＮＥ＿ＩＤを割り当てる項目であり、サービス開始ＮＩはＮＥ＿ＩＤに１を割り当てる。テキストボックス４００２の１行目関してはテキストボックス１１０６と等しいので、説明は省略する。
【００６９】
１−３−１７サービス開始ＮＩ読み出し部
サービス開始ＮＩ読み出し部４１７は番組情報制御部４１５からサービス開始ＮＩ発行要求を受け、サービス開始ＮＩ保持部４１６からサービス開始ＮＩを読み出し、送信データ書込み部４１８に送信する。
【００７０】
１−３−１８．送信データ書き込み部
送信データ書き込み部４１８は、番組情報制御部から取得したＰＩＤを記憶する変数ＰＩＤと、ＮＩに割り当てるべきバージョン番号をＮＥ＿ＩＤごとに記憶するバージョン番号テーブルを有し、データ合成部４０５、トラブルスライド読み出し部４０８、バージョン巡回用ＮＩ読み出し部４１０、エントリ復帰ＮＩ読み出し部４１２、サービス開始ＮＩ読み出し部から送信されたＮＩを、ＭＰＥＧ２システム規格で規定された、１つまたは複数のプライベートセクションに変換し、さらにトランスポートパケットに変換して送信データ保持部４２０に書き込む。
【００７１】
図３１、３２は、送信データ書き込み部４１８が保持するバージョン番号テーブルの一例を示す図である。ＮＥ＿ＩＤ欄４２０１が「１」の行は、次にＮＥ＿ＩＤが「１」のＮＩに割り当てるべきバージョン番号の値が「１」であることを示している。送信データ書き込み部４１８は、ＮＩをプライベートセクションに変換する際、プライベートセクションヘッダのtable_id_extensionフィールドにNE_IDの値を割り当てる。また、バージョン番号テーブル４２００を参照して当該NE_IDに対応するバージョン番号の値を読み出し、セクションヘッダのversion_numberフィールドに割り当てる。その後、送信データ書き込み部４１８は、バージョン番号テーブル４２００中の読み出したバージョン番号の値を「１」増加させる。但し、読み出したバージョン番号の値があらかじめ定められた最大値に等しい場合は、「１」に設定する。
【００７２】
このようにバージョン番号を割り当てることにより、データ放送受信装置３０３は、セクションヘッダ中のversion_numberフィールドに格納されたバージョン番号を参照するだけでＮＩの内容が変化したことを識別することが可能になる。また、送信データ書き込み部４１８は、プライベートセクション形式のＮＩをトランスポートパケットに変換する際、トランスポートパケットヘッダのPIDフィールドに、変数ＰＩＤの値を割り当てる。
【００７３】
なお、本実施例では、送信データ書き込み部４１８はセクションヘッダ中のversion_numberフィールドにバージョン番号の値を書き込むこととしたが、別のフィールドに書き込み、データ受信装置３０３がそのフィールドを参照することとしてもよい。
【００７４】
なお、本実施例では、送信データ書込み部４１８は１つの送信データ保持部にＮＩデータの書込みを行なったが、番組情報制御部４１５が取得した複数のチャンネルに関する番組情報から複数のＰＩＤを取得し、複数の送信データ保持部に異なるＰＩＤを付与したＮＩデータをそれぞれのチャンネルの番組放送時間に沿って書込みを行なってもよい。
【００７５】
１−３−１９送信データ保持部
送信データ保持部４２０は半導体メモリ、磁気ディスク等の記憶媒体によって構成され、送信データ書き込み部４１８によって生成されたトランスポートパケット形式のＮＩと、送信データ読み出し部４２０による各ＮＩの読み出し状態を記憶するＮＩ読み出し状態テーブルとを記憶する。
【００７６】
図３３、３４は、送信データ保持部に格納されているデータの一例を示す図である。１つ１つの箱は、トランスポートパケット形式に変換された１つのプライベートセクションを示す。例えば箱４６０１、箱４６０４、箱４６０５、箱４６０６、箱４６０７は、ＮＥ＿ＩＤ＝１に対応するＮＩが、section_numberフィールドの値が「０」から「４」の５つのプライベートセクションに変換されて格納されており、PIDフィールドには「１００３」が、table_id_extensionフィールドには「１」が、version_numberフィールドには「２」がそれぞれ割り当てられていることを示している。他の箱についても同様である。
【００７７】
図３５は送信データ保持部４１９に保持されているＮＩデータの送出状況に関する情報の一例である。送出テーブル４７００「ＮＥ＿ＩＤ」欄はＮＥ＿ＩＤが何番のＮＩに関する情報であるかを示す。「interval」欄は前回このＮＩのセクションが読み出された後に読み出された別のＮＩのパケット数を示す。「reading_flag」欄は途中のセクションまで読み出しが行われている状態のＮＩについて１、読み出しが行われていないＮＩについて０、それ以外のＮＩについては「−」が設定されている。「read_count」欄はこれまでにこのＮＩが読み出された回数を示す。読み出しが１度も行われていないＮＩに関しては「read_count」欄は「０」が記載され、ＮＩが存在しないＮＥ＿ＩＤの「read_count」欄は「−」が記載される。「next_section_ptr」欄は次にこのＮＩデータが読み出されたときに、何番目のセクションを読み出すかを示す。
【００７８】
送信データ書込み部４１９から送信データが到着すると、送信データ保持部４１９は送信データのＮＥ＿ＩＤをＮＩデータごとに参照し、送信データ保持部４２０内に保持しているこれと同じＮＥ＿ＩＤを持つＮＩデータを消去し、到着したＮＩデータを記憶する。また、送出テーブル４７００に関して前述のＮＩデータのＮＥ＿ＩＤが「ＮＥ＿ＩＤ」欄の値と等しい行の設定を行なう。すなわち「interval」欄にあらかじめ決められた値を代入し、「reading_flag」欄を「０」にし、「read_count」欄を「０」にし、「next_section_ptr」欄を「１」にする。送信データ保持部４２０はまた、番組情報制御部４１５から、送信データ消去命令があると、送信データ保持部４２０内の送信データを全て消去し、送出テーブル４７００の欄をすべて「−」に初期化する。
【００７９】
１−３−２０送信データ読み出し部
送信データ読み出し部４２０は送信データ保持部４１９が保持している全てのＮＩを繰り返し読みして送信トランスポートストリームを生成しデータ送信４２１へ送信する。また、送信データ読み出し部４２０は、データ受信装置３０３がＮＩを受信する際の処理負荷を軽減するため、同じＮＩを格納する複数のプライベートセクションの間隔をあらかじめ定められた時間以上空けて送信トランスポートストリームを生成する。この時、以下のアルゴリズムにしたがってプライベートセクション単位でＮＩの読み出しを行うことにより、ヌルパケットの数の少ない、すなわち帯域の無駄の少ない送信トランスポートストリームを生成する。
【００８０】
まず、式 min_interval = (D x Bitrate) / (Packet_Size) により、同じＮＩを格納するプライベートセクションの間に多重すべき別のトランスポートパケットの最小数を求める。但し、Dはあらかじめ定められたセクション間の間隔（単位秒）、BitrateはＮＩの送出ビットレート（単位ｂｐｓ）、Packet_Sizeはトランスポートパケットのサイズ（単位bit)を表す。送出ビットレートはあらかじめ定められた値を用いる。また、送信データ保持部に新しいＮＩデータが書き込まれた場合は、「interval」欄の初期値としてこのmin_intervalを設定する。以下に送出データ読み出しアルゴリズムを示す。
【００８１】
送信データ読み出し部４２０は、送信データ保持部４１９が保持している送出テーブル４７００を参照し、次に読み出すセクションを決定する。
【００８２】
まず、「reading_flag」欄が１、「interval」欄の値が「min_interval」以上を満たすＮＩがあるか否か判定する。存在すれば、上記の条件を満たすＮＩの中で、「interval」欄の値が最大のＮＩについて、そのＮＩの「next_section_ptr」欄に書かれた番号のセクションを読み出す。なければ、「reading_flag」欄が０、「interval」欄の値が「min_interval」以上を満たすＮＩがあるか否か判定する。あれば、上記の条件を満たすＮＩの中で「read_count」欄の値が最少のＮＩ（複数あれば、その中で、「interval」欄の値が最大のＮＩ）について、そのＮＩの「next_section_ptr」欄に書かれた番号のセクションを読み出す。なければ、「interval」欄の値が最も大きいＮＩが、min_intervalに到達するだけのヌルパケットを読み出す。読み出しをした際には、ヌルパケット以外のセクションを読み出した場合は、読み出したＮＩの「interval」欄を「０」にし、「next_section_ptr」欄の値を変更する。すなわち「next_section_ptr」欄の値に１加えた値を「next_section_ptr」欄に記載する。ただし、ＮＩの保持するセクション数と「next_section_ptr」欄の値が等しい場合には、１を記載し、「reading_flag」欄を０、「read_count」欄の値に１加えた値を「read_count」欄に記載する。また、「next_section_ptr」欄が１で、ＮＩの保持するセクション数が２以上の場合は、「reading_flag」欄を１にする。また、「interval」欄が「−」でない個所に関して、記載されている値に読み出したパケット数を加えた値を記載する。読み出しを一度行なうごとに上記の要領で送出テーブル４７００を書き換え、書き換えた送出テーブルを参照して、送出データ読み出しアルゴリズムにより、次に送出すべきセクションを選択する。
【００８３】
なお本実施例では送出ビットレートはあらかじめ決められていたが、送出ビットレートが番組情報に含まれていて、番組開始時に番組情報制御部より通知された値を用いてもよい。
【００８４】
図３６は、Dが25m秒、ビットレートが０．５Ｍbpsの場合に、送信データ４６００から送信データ読み出し部４２０によって生成された送信トランスポートストリームの一例を示した図である。NE_IDが「１」のＮＩを格納するプライベートセクション４６０１、４６０４の間に、NE_IDが「２」、「３」のＮＩを格納するプライベートセクション４６０３、４６０４が多重され、ヌルパケットの数が少なくなっている。図３７は送信データ４６５０から送信データ読み出し部４２０によって生成された送信トランスポートストリームの一例を示した図である。
【００８５】
１−３−２１データ送信部
データ送信部４２１は送信データ読み出し部４２０から送信された送出データを多重化部４２４に送出する。
【００８６】
１−３−２２映像送出部
映像送出部４２２は競艇番組の映像を送出する。図３８は映像送出部から送出される映像の一例を示す図である。映像送出方法の詳細に関しては、ＭＰＥＧ２ビデオ等で一般的に知られており、また本発明の主眼ではないので省略する。
【００８７】
１−３−２３音声送出部
音声送出部４２２は競艇番組の映像を送出する。
【００８８】
映像送出方法の詳細に関しては、ＭＰＥＧ２オーディオ等で一般的に知られており、また本発明の主眼ではないので省略する。
【００８９】
１−３−２４多重化部
多重化部４２４はデータ送出部４２１、映像送出部４２２、音声送出部４２３から送信された送出データをＭＥＰＧ２システム規格で規定された方法に基づいてＭＰＥＧ２トランスポートストリーム中に多重し、生成したトランスポートストリームデータをデジタル放送波にのせて放送する多重送出方法の詳細に関しては、ＭＰＥＧ２システム等で一般的に知られており、また本発明の主眼ではないので省略する。
【００９０】
１−４受信装置
１−４−１受信部
データ送出装置３０２から受信したデジタル放送波を復調し、トランスポートストリームをＴＳデコーダ部に送信する。
【００９１】
１−４−２ＴＳデコーダ部
ＴＳデコーダ部５０２はフィルタ条件を記憶する条件記憶部５０９を有し、番組放送時間中に受信したトランスポートストリームの中から、フィルタ条件のＰＩＤに従って分離した映像データ、音声データをＡＶデコーダ部５０３に出力し、フィルタ条件のＰＩＤ、ＮＥ＿ＩＤ、version＿numberに従って分離したＮＩを受信データ記憶部５０５に書込む。ＴＳデコーダ５０２はまた、ＳＩデータを受信して、送信データ記憶部に送信する。ＳＩデータは、すべての番組に関する番組等の情報を含む。ＳＩデータの詳しいデータフォーマット等に関してはＤＶＢ−ＳＩ規格に記載されており、本発明の主眼ではないので説明を省略する。
【００９２】
ＳＩデータは、チャンネルごとの番組の放送開始終了時間やＰＩＤに関する情報を含む。図２８はＳＩデータの詳細の一例を示す図である。
【００９３】
図３９（ａ）、（ｂ）、（ｃ）、（ｄ）、（ｅ）は条件記憶部５０９が保持しているフィルタ条件の一例である。これらの図においてフィルタ条件表５４０１の各行はＰＩＤ、ＮＥ_ＩＤ、Version_numberとで指定される1組のフィルタ条件とその条件にみあったセクションを出力する出力先を示している。「フィルタ識別番号」欄５４１１は各フィルタ条件を識別する番号である。同図では「１」が映像データ、「２」が音声データ「３」がナビゲーション情報をそれぞれ分離するフィルタ条件である事を示している。「ＰＩＤ」欄５４１２は分離すべきデータのＰＩＤの値を示す。「ＮＥ_ＩＤ」欄５４１３はナビゲーション情報を分離するための識別子のＮＥ＿ＩＤの値を示す項目である。「Version_number」欄５４１４はナビゲーション情報を分離するために用いるバージョン番号の値を示す項目である。「Version_number」欄に「−」が記載されている場合は、条件が設定されていないことを、すなわち、その識別子「Version_number」の値が何であっても分離することを示す。「データ出力先」欄５４１５は分離したデータを出力する先を示す。
【００９４】
ＴＳデコーダ部５０２は受信制御部５０７からＰＩＤ変更命令があると、フィルタ条件変更命令の引数であるＰＩＤ（１）、ＰＩＤ（２）、ＰＩＤ（３）をフィルタ条件の「ＰＩＤ」欄にそれぞれ代入する。ここで引数ＰＩＤ（Ｘ）のＸはフィルタ識別番号を示しており、例えばＰＩＤ（１）の値はフィルタ識別子「１」の「ＰＩＤ」欄に書込まれる。
【００９５】
ＴＳデコーダ部５０２は受信制御部５０７からＮＥ＿ＩＤ変更命令があると、フィルタ条件のフィルタ識別子欄「３」の行の「ＮＥ＿ＩＤ」欄をＮＥ＿ＩＤ変更命令の引数に書き換え、「Version_numver」欄を初期化する（「フィルタ識別子」欄「３」の「version_number」欄を「−」にする）。すなわちフィルタ条件５４０１の状態にする。
【００９６】
ＴＳデコーダ５０２は受信制御部５０７からデータ出力開始命令があると、映像データ、音声データ、ＮＩの出力を開始し、データ出力終了命令があるまで出力を続ける。受信部５０１から送られてきたトランスポートストリームをフィルタリングし、フィルタ条件５４０１を満たす映像データ、音声データ、ナビゲーションデータを分離して出力する。また分離したナビゲーション情報のバージョン番号を参照し、このバージョン番号に１加えた値（バージョン番号がバージョン番号最大値である場合は１）をフィルタ条件の「Version_number」欄に書込む。これにより、フィルタ条件は５４０２に変化する。
【００９７】
上記のようにフィルタ条件を満たす映像データ、音声データ、ナビゲーションデータの分離とフィルタ条件の書き換えを繰り返す。
【００９８】
１−４−３ＡＶデコーダ部
ＡＶデコーダ部５０３はＭＰＥＧ２規格に従って、ＴＳデコーダ部５０２から出力された映像データと音声データとを同期を取りながら復号し、映像データは表示部に、音声データはスピーカに出力する。ＡＶデコータを用いた映像データ、音声データの詳しい復号方法はＭＰＥＧ２ビデオ、オーディオ等で一般的に知られており、従来どおりの技術を用いて実現できる。また、本発明の主眼ではないので、説明を省略する。
【００９９】
１−４−４スピーカ
ＡＶデコーダから出力された音声データを再生する。
【０１００】
１−４−５受信データ記憶部
受信データ記憶部５０５は半導体メモリ等の記憶媒体を有し、受信データを記憶する。ここで受信データとはＳＩデータとＮＩのことである。受信データ記憶部５０５は、ＴＳデコーダ部５０２からセクション単位でＮＩを受信し、１つのＮＩを構成するすべてのセクションを受信すると、今まで保持していたＮＩを今回受信したＮＩに書き換え、ＮＩ取得通知を受信制御部５０７に出す。
【０１０１】
図１４は受信データであるＮＩの一例を示す図である。これは合成データと等しいので、説明を省略する。
【０１０２】
１−４−６信号受信部
信号受信部５０６は利用者からリモコン等を用いてなされる入力信号を受信し、受信制御部５０７に送信する。入力信号の種類は、チャンネルを数値で入力する数値入力、対話的番組の項目選択操作などを行なうボタン入力である。ボタン入力には、表示部５０８に表示された複数のボタン間でフォーカスを前後に移動する「前」、「後」入力。ボタンを選択する「決定」入力などがある。
【０１０３】
１−４−７受信制御部
受信制御部５０７は受信しているチャンネル、ＰＩＤ、放送開始終了時間を記憶する記憶媒体である受信番組記憶部５１０とリアルタイムクロックとフォーカスの当たっているボタンのインデックス値を記憶する記憶媒体である変数focused_bottonを備えており、利用者が選択した番組を視聴できるよう、受信データ保持部５０５のＳＩデータを参照し、ＴＳデコーダ部５０２にフィルタ条件５４０１の「ＰＩＤ」欄の変更を指示する。また、利用者が対話的番組を視聴中に他の競艇場のデータを見ようと「決定」入力をすると、受信制御部５０７は、フィルタ条件５４０１の「ＮＥ＿ＩＤ」欄、「Version_number」欄の変更をＴＳデコーダ部５０２に指示する。
【０１０４】
図４０は受信番組記憶部５１０が保持するデータの一例を示した図である。
「チャンネル」欄５６０１は利用者の選択したを示す項目であり、「ＰＩＤ（１）」欄５６０２、「ＰＩＤ（２）」欄５６０３、「ＰＩＤ（３）」欄５６０４はそれぞれ「チャンネル」欄５６０１に記述された番組のそれぞれのフィルタ識別番号１、２、３のデータを取得するための識別子であるＰＩＤを示す項目であり、「start 」欄５６０５、「end」欄５６０６はそれぞれ、「チャンネル」欄５６０１に記述された番組の番組開始時間、番組終了時間を示す項目である。受信制御部５０７は信号受信部５０６から数値入力があると、受信番組記憶部５１０「チャンネル」欄を参照し、この値が数値入力された値と異なる場合は、ＴＳデコーダ部５０２にデータ出力停止命令を出し、数値入力されたチャンネルと現在の時刻を引数として、ＳＩデータから引数のチャンネルで現在放送している番組（番組放送時間中でなければ次に放送される番組）の「ＰＩＤ（１）」、「ＰＩＤ（２）」、「ＰＩＤ（３）」、番組開始時間、番組終了時間を取得し、チャンネルとともに受信番組記憶部５１０に記憶する。その後、「ＰＩＤ（１）」、「ＰＩＤ（２）」、「ＰＩＤ（３）」を引数として、ＴＳデコーダにフィルタ条件のＰＩＤ変更命令を出し、ＮＥ＿ＩＤの初期値である１を引数としてＮＥ＿ＩＤ変更命令を出す。その後、番組開始時間とリアルタイムクロックを参照し、番組放送時間中であれば、ＴＳデコーダ部５０２にデータ出力開始命令を出す。そうでなければ、チャンネルの選択もしくは番組開始時間を待つ。
【０１０５】
リアルタイムクロックが番組開始時間になると、ＴＳデコーダ部５０２にデータ出力開始命令を出す。リアルタイムクロックが番組終了時間になると、ＴＳデコーダ部５０２にデータ出力停止命令を出し、番組情報記憶部５１０の「チャンネル」を引数として電子番組表から引数のチャンネルで現在放送している番組（番組放送時間中でなければ次に放送される番組）の「ＰＩＤ（１）」、「ＰＩＤ（２）」、「ＰＩＤ（３）」、番組開始時間、番組終了時間を取得し、チャンネルとともに受信番組記憶部５１０に記憶し、ＴＳデコーダ部５０２に番組終了を指示する。また、「ＰＩＤ（１）」、「ＰＩＤ（２）」、「ＰＩＤ（３）」を引数として、ＴＳデコーダにフィルタ条件のＰＩＤ変更命令を出し、ＮＥ＿ＩＤの初期値である１を引数としてＮＥ＿ＩＤ変更命令を出す。
【０１０６】
受信制御部は、受信データ記憶部からＮＩ取得通知があると、受信データ記憶部５０５に記憶された受信データ参照し、イニシャライズテーブルがあれば、実行し、オブジェクトテーブルがあれば表示部５０８でビットマップ等を表示するためのグラフィックテーブルを作成して表示部５０８に送信する。ここでグラフィックテーブルとは、ビットマップ・データやその表示位置等を記述したデータのことである。受信データ記憶部５０５からＮＩ取得の通知があると、受信制御部５０７はfocused_bottonの値を１に初期化した後、グラフィックテーブルを表示部５０８に送信する。
【０１０７】
図４１〜図４８はグラフィックテーブルの詳細の一例を示す図である。グラフィックテーブル５７００はＮＩ２５００から作成したグラフィックテーブルである。グラフィックテーブル５７００はボタングラフィックテーブル５７０１、テキストボックスグラフィックテーブル５７０２、ピクチャグラフィックテーブル５７０３を有し、これらはそれぞれボタンテーブル２５０４、テキストボックステーブル２５０５、ピクチャテーブル２５０６を参照して作られる。「X座標」欄５７０４「Y座標」欄５７０５はビットマップデータの標準表示位置を示す項目であり、「bitmapdata」欄５７０６は上記のX、Y座標が示す表示位置に表示するビットマップデータを示す欄である。グラフィックテーブルの作成は以下のアルゴリズムで行なう。
【０１０８】
受信制御部５０７はボタンテーブル２５０４と変数focused_bottonを参照し、focused_bottonの値と等しいインデックス値を持つボタンの「focusebitmap」欄に記述されたビットマップ・インデックスを持つビットマップ・データ、それ以外のボタンの「normalbitmap」欄に記述されたビットマップ・インデックスを持つビットマップ・データ、また上記ビットマップ・データの表示位置を示すボタンテーブルの「X座標」欄２５０９、「Y座標」欄２５１０の値よりグラフィックテーブルのボタングラフィックテーブルを作成する。受信制御部５０７はテキストボックステーブルを参照し、テキストボックス1つ1つについて「高さ」欄２５１３、「幅」欄２５１４、「string」欄２５１４を参照して、「高さ」欄２５１３に記述されている高さ、「幅」欄２５１４に記述されている幅を有する長方形に「string」欄２５１４に記述されている文字列が重畳されているようなビットマップを作成し、グラフィックテーブルのビットマップ・データとする。また、「X座標」欄２５１１、「Y座標」欄２５１２を参照して、これらの値と上述のビットマップ・データからグラフィックテーブルのテキストボックスグラフィックテーブルを作成する。受信制御部５０７はピクチャテーブルのピクチャ1つ1つについて、「bitmap」欄２５１８に記述されたビットマップ・インデックスをもつビットマップ・データ、また「X座標」欄２５１６、「Y座標」欄２５１７の値よりグラフィックテーブルのピクチャグラフィックテーブルを作成する。
【０１０９】
受信制御部５０７は信号受信部５０６から「前」もしくは「後」入力があると、フォーカス移動を行う。フォーカス移動のアルゴリズムを以下に示す。
【０１１０】
「前」入力があると、受信制御部５０７はfocused_bottonの値を参照し、値が１以上の場合、この値を１減らす。「後」入力があると、ボタンテーブルを参照し、focused_bottonの値がボタンの数よりも小さい場合にはfocused_bottonの値を１増やす。前述の作業を行なった後、上述のグラフィックテーブル作成アルゴリズムを行い、グラフィックテーブルを表示部５０８に送信する。受信制御部５０７は「決定」入力があると、focused_bottonの値と等しい番号を持つボタンテーブルのボタンの「Select Handler」のハンドラ・インデックス参照し、このハンドラ・インデックスに対応するscriptを実行する。scriptに「go_contents（X）」命令があれば、Xの値を引数として、ＮＩ取得するようＴＳデコーダ５０２に指示する。
【０１１１】
１−４−８表示部
表示部５０８は、ＡＶデコーダから受信した映像データを表示する。表示部５０８はまた、受信制御部５０７からグラフィックテーブルを受信すると、「X座標」欄、「Y座標」欄を参照して標準表示位置を決定し、この位置に「BitmapData」欄のビットマップを映像データに重畳して表示する。
【０１１２】
以上のように構成された本発明の実施形態におけるデジタル放送システム３００について、以下その動作を説明する。
【０１１３】
図４９はデータ送出装置３０２の処理全体を示すフローチャートである。番組情報制御部４１５はまず、番組情報管理部４１３から次に放送すべき番組の番組情報を取得する（ｓ６００１）。番組情報の中には番組開始時間、番組終了時間、ＰＩＤが含まれる。番組情報制御部４１５はリアルタイムクロックが番組開始時間になると（ｓ６００２)情報取得部４０１、送信データ書込み部４１８、送信データ読み出し部４２０の番組開始命令をし（ｓ６００３）、ＰＩＤを通信データ書込み部に通知し（ｓ６００４）、サービス開始ＮＩ読み出し部４１７にサービス開始ＮＩ発行要求をする（ｓ６００５）。サービス開始ＮＩ読み出し部４１７はサービス開始ＮＩ発行要求を受信するとサービス開始ＮＩ保持部４１６からサービス開始ＮＩを読み出し、送信データ書込み部４１８に送信する。リアルタイムクロックが番組終了時間になると（ｓ６００６）、情報取得部４０１、送信データ書込み部４１８、送信データ読み出し部４２０に番組終了命令をし（ｓ６００７）、番組情報制御部は送信データ保持部に送信データの消去を命令する（ｓ６００８）。これが、1つの番組の放送開始から終了までの流れである。番組情報制御部４１５はその後、直ちに番組情報管理部４１３より次に放送すべき番組の番組情報を取得し、上述の動作を繰り返すことで、番組情報に従ったデータ送出を行なう。
【０１１４】
図５０は情報取得部４０１の詳細なフローチャートである。同図においてTimerは情報取得部がデータ要求をしてからデータを取得するまでの時間を示す変数である。情報取得部４０１は任意データを要求し（ｓ６１０１）、変数Timerを０に初期化（ｓ６１０２）する。１秒待った（ｓ６１０３）後、Timerの値を１増やし（Ｓ６１０４）、データを取得したか否かを判定する（ｓ６１０５）。データを取得した場合は取得したデータをデータ判断部に送信し（ｓ６１０６）、再び任意データを要求する（ｓ６１０１）。データを取得していない場合は、Timerが３０（タイムアウトの時間）を超えているか否かを判定する（ｓ６１０７）。超えていなければ、再び１秒待つ（ｓ６１０３）。超えていれば、データ判断部にトラブルスライド発行要求をし（ｓ６１０８）、固定データを要求し（ｓ６１０９）、再びTimerを０に初期化する（ｓ６１０２）。
【０１１５】
図５１はデータ判断部４０２の詳細なフローチャートである。同図において、num_NIは固定データを取得した際のレース場数、pre_NIは最新の固定データを取得する以前に取得した固定データのレース場数を示す変数である。また、トラブルスライドIDはトラブルスライド用ＮＩ読み出し部に引き渡すトラブルスライドの識別子を記憶する変数である。データ判断部４０２はpre_NIを１に初期化する（ｓ６２０１）。情報取得部４０１もしくは外部入力受信部４０６からデータが送信されると（ｓ６２０２）、そのデータがバージョン巡回用ＮＩ発行要求であるか否かを判定する（ｓ６２０３）。そのデータがバージョン巡回用ＮＩ発行要求であれば、pre_NIを引数としてバージョン巡回ＮＩ読み出し部４１０にバージョン巡回用ＮＩの発行を指示する（ｓ６２０４）。データがバージョン巡回用ＮＩ発行要求でなければ、データがトラブルスライド発行要求８００か否かを判定する（ｓ６２０５）。データがトラブルスライド発行要求８００であれば、トラブルスライド発行要求８００のトラブルスライドIDを参照して変数T_IDに代入し（ｓ６２０６）、T_ID、pre_NIを引数としてトラブルスライド読み出し部４０８にトラブルスライドの発行を指示する（ｓ６２０７）。データがトラブルスライド発行要求８００でなければ、データが固定データか否かを判定する（ｓ６２０８）。データが固定データであれば、固定データからレース場数を参照し、num_NIに代入する（ｓ６２０９）。また、num_NI-pre_NIを計算し、さらにこの値が０以上かどうかを判定する（ｓ６２１０）。０以上であれば、pre_NIにnum_NIを代入し（ｓ６２１２）、固定データを固定データ保持部４０３に送信する（ｓ６２１３）。０以上でなければ、pre_NI、num_NIを引数として、エントリ復帰NI読み出し部４１２にエントリ復帰NIの発行を指示（ｓ６２１１）した後、pre_NIにnum_NIを代入し（ｓ６２１２）、固定データを固定データ保持部４０３に送信する（ｓ６２１３）。データが固定データでなければ、データが更新データか否かを判定する（ｓ６２１４）。データが更新データであれば、更新データをデータ合成部６０５へ送信する（ｓ６２１５）。データが更新データでなければ、T_IDに１を代入し（ｓ６２１６）、T_ID、pre_NIを引数としてトラブルスライド読み出し部４０８にトラブルスライドの発行を指示する（ｓ６２０７）。
【０１１６】
図５２はデータ合成部４０４の詳細なフローチャートである。同図において、NIはデータ合成、送出をすべき回数を記憶する変数である。またｉは送出したNI数を記憶する変数である。データ合成部４０５は更新データを受信し（ｓ６３０１）、スケルトンを読み出し（ｓ６３０２）、固定データを読み出し（ｓ６３０３）、固定データのレース場数を参照して変数NIに代入し（ｓ６３０４）、ｉを１に初期化する（ｓ６３０５）。そしてスケルトン、固定データのｉ番目のレース場情報テーブル、更新データのｉ番目のレース場情報テーブルを用いてデータ合成をしてＮＩを作成し（ｓ６３０６）、ＮＩを送信データ書込み部に送信し（ｓ６３０７）、変数ｉの値を１増やし（ｓ６３０８）、変数ｉの値が変数NIより大きいか否かを判定する（ｓ６３０９）。変数ｉの値が変数NI以下であれば、スケルトン、固定データのｉ番目のレース場情報テーブル、更新データのｉ番目のレース場情報テーブルを用いてデータ合成をしてＮＩを作成する（ｓ６３０６）。変数ｉの値が変数NIよりも大きい場合、データ合成部４０４は更新データの受信（ｓ６３０１）を待つ。
【０１１７】
外部入力受信部４０６はオペレータによるキーボードなどから入力情報を受信すると、入力情報をデータ判断部４０２に送信する。ここで入力情報とはトラブルスライド発行要求８００とバージョン巡回用ＮI発行要求である。
【０１１８】
図５３はトラブルスライド読み出し部４０８の詳細なフローチャートである。同図において、NI、IDはデータ判断部４０２からのトラブルスライドの発行要求の引数であるpre_NI、T_IDを記憶する変数である。また、ｉは送出したＮＩ数およびＮＥ_ＩＤ値を記憶する変数である。トラブルスライド用ＮＩ読み出し部４０８はデータ判断部４０２からトラブルスライド用ＮＩ発行要求を受信し（ｓ６５０１）、NIにトラブルスライド用NI発行要求の引数であるpre_NIを代入し（ｓ６５０２）、IDにトラブルスライド用NI発行要求の引数であるT_IDを代入し（ｓ６５０３）、ｉを１に初期化する（ｓ６５０４）。その後トラブルスライド用ＮＩ保持部４０７からIDを引数として、トラブルスライド用NIを読み出し（ｓ６５０５）、トラブルスライド用NIのNE_ID行にｉの値を代入し（ｓ６５０６）、前述のトラブルスライドを送信データ書込み部４１８へ送信し（ｓ６５０７）、ｉの値を１増やし（ｓ６５０８）、ｉの値がＮＩより大きいか否かを判定する（ｓ６５０９）。ｉの値がＮＩ以下場合は、トラブルスライド用ＮＩ保持部４０７からIDを引数として、トラブルスライド用NIを読み出す（ｓ６５０５）。ｉの値がＮＩより大きい場合は、データ判断部４０２からトラブルスライド用ＮＩ発行要求を受信されるのを待つ（ｓ６５０１）。
【０１１９】
図５４はバージョン巡回読み出し部４１０の詳細なフローチャートである。同図において、NIはデータ判断部からのバージョン巡回の発行要求の引数であるpre_NIを記憶する変数である。また、ｉは送出したＮＩ数およびＮＥ_ＩＤ値を記憶する変数、ｋは同じＮＥ_ＩＤのＮＩ送出した回数を記憶する変数である。バージョン巡回用ＮＩ読み出し部４１０はデータ判断部４０２からバージョン巡回用NI発行要求を受信し（ｓ６６０１）、NIにバージョン巡回用NI発行要求の引数であるpre_NIを代入し（ｓ６６０２）、ｋを１に初期化し（ｓ６６０３）、ｉを１に初期化する（ｓ６６０４）。その後バージョン巡回用NI保持部４０９からバージョン巡回用NIを読み出し（ｓ６６０５）、バージョン巡回用NIのNE_ID行にｉの値を代入し（ｓ６６０６）、前述のバージョン巡回用NIを送信データ書込み部４１８へ送信し（ｓ６６０７）、ｉの値を１増やし（ｓ６６０８）、ｉの値がＮＩより大きいか否かを判定する（ｓ６６０９）。ｉの値がＮＩ以下場合は、バージョン巡回用ＮＩ保持部４０９からバージョン巡回用NIを読み出す（ｓ６６０５）。ｉの値がＮＩより大きい場合は、kの値を１増やし（ｓ６６１０）、kの値がバージョン番号の最大値（ここでは３２）より大きいか否かを判定する（ｓ６６１１）。ｋの値が３２以下の場合はｉを初期化する（ｓ６６０４）。ｋの値が３２以上の場合はデータ判断部４０２からバージョン巡回用ＮＩ発行要求を受信されるのを待つ（ｓ６６０１）。
【０１２０】
図５５はエントリ復帰NI読み出し部４１２の詳細なフローチャートである。同図において、NI、preはデータ判断部からのエントリ復帰の発行要求の引数であるnum_NI、pre_NIを記憶する変数である。また、ｉは送出したＮＩ数およびＮＥ_ＩＤ値を記憶する変数、ｋは同じＮＥ_ＩＤのＮＩ送出した回数を記憶する変数である。エントリ復帰NI読み出し部４１０はデータ判断部４０２からエントリ復帰NI発行要求を受信し（ｓ６７０１）、NIにエントリ復帰NI発行要求の引数であるnum_NIを代入し（ｓ６７０２）、preにエントリ復帰NI発行要求の引数であるpre_NIを代入し（ｓ６７０３）、ｉにNI＋１を代入する（ｓ６７０４）。その後エントリ復帰NI保持部４１１からエントリ復帰NIを読み出し（ｓ６７０５）、エントリ復帰NIのNE_ID行にｉの値を代入し（ｓ６７０６）、前述のエントリ復帰NIを送信データ書込み部４１８へ送信し（ｓ６７０７）、ｉの値を１増やし（ｓ６７０８）、ｉの値preより大きいか否かを判定する（ｓ６７０９）。ｉの値がＮＩ以下場合は、エントリ復帰用ＮＩ保持部４１１からエントリ復帰NIを読み出す（ｓ６７０５）。ｉの値がＮＩより大きい場合は、データ判断部４０２からエントリ復帰用NI発行要求が受信されるのを待つ（ｓ６７０１）。
【０１２１】
図５６は送信データ書込み部４１８の詳細なフローチャートである。送信データ書込み部４１８は番組情報制御部４１５から番組開始命令を受信し（ｓ６９０１）、番組情報制御部４１５からＰＩＤを受信して変数ＰＩＤに代入し（ｓ６９０２）、番組情報制御部４１５から番組終了命令があるか否かを判定する（ｓ６９０３）。番組終了命令があれば、番組制御部４１５からの番組開始要求の受信（６９０１）を待つ。番組終了要求がなければ、ＮＩを受信し（ｓ６９０４）、ＮＩのＮＥ＿ＩＤ行に書かれたＮＥ＿ＩＤを参照し（ｓ６９０５）、前記ＮＥ＿ＩＤにみあったバージョン番号をバージョン番号テーブルから参照し（ｓ６９０６）、ＮＩにバージョン番号を割り当て（ｓ６９０７）、前記ＮＩデータを送信データ保持部４１９に書込む（ｓ６９０８）。その後、参照したバージョン番号を参照したバージョン番号に１加えた値（参照したバージョン番号がバージョン番号の最大値である場合は１）に書き換え（ｓ６９０９）、番組情報制御部４１５から番組終了命令があるか否かを判定する（ｓ６９０３）。
【０１２２】
図５７は送信データ読み出し部４２０の詳細なフローチャートである。送信データ読み出し部４２０は番組情報制御部４１５からの番組開始命令を受信し（ｓ７１０１）、送信データ保持部４１９の送出テーブルを参照して次に読み出すセクションを決定し（ｓ７１０２）、選択されたセクションを読み出してデータ送出部４２１に送出する（ｓ７１０３）。その後、送出したセクションに基づき、送出テーブルを書き換え（ｓ７１０４）、番組情報制御部４１５からの番組終了命令があるか否かを判定する（ｓ７１０５）。番組終了命令があれば、番組情報制御部４１５からの番組開始命令の受信（ｓ７１０１）を待ち、番組終了命令がなければ、送信データ保持部４１９の送出テーブルを参照して次に読み出すセクションを決定する（ｓ７１０２）。データ送信部４２１は送信データ読み出し部４２０から送信された送出データを多重化部４２４に送出する。映像送出部４２２は競艇番組の映像を送出する。音声送出部４２２は競艇番組の映像を送出する。多重化部４２４はデータ送出部４２１、映像送出部４２２、音声送出部４２３から送信された送出データをＭＥＰＧ２システム規格で規定された方法に基づいてＭＰＥＧ２トランスポートストリーム中に多重し、生成したトランスポートストリームデータをデジタル放送波にのせて放送する。
【０１２３】
図５８はデータ放送受信装置３０３全体の処理を示すフローチャートである。受信制御部５０７は現在受信している以外のチャンネルが受信されたか否かを判定する（ｓ７２０１）。現在受信している以外のチャンネルが受信制御部５０６から受信されていれば、受信制御部５０７はＴＳデコーダ部５０２にデータ出力停止命令を出し（ｓ７２０２）、チャンネルと現在の時刻を引数として受信データ記憶部５０５のＳＩデータから、引数のチャンネルで現在放送している番組（番組放送時間中でなければ次に放送される番組）の「ＰＩＤ（１）」、「ＰＩＤ（２）」、「ＰＩＤ（３）」、番組開始時間、番組終了時間を取得し、チャンネルとともに受信番組記憶部５１０に記憶し（ｓ７２０３）、「ＰＩＤ（１）」、「ＰＩＤ（２）」、「ＰＩＤ（３）」を引数として、ＴＳデコーダ部５０２にＰＩＤ書き換え命令を出し（ｓ７２０４）、１を引数としてＴＳデコーダ部５０２にＮＥ＿ＩＤ書き換え命令を出し（ｓ７２０５）、番組開始時間、番組終了時間、現在時刻を参照して、現在番組が放送時間中であるか否かを判定する（ｓ７２０６）。放送時間中であれば、ＴＳデコーダ部５０２にデータ出力開始命令をし（ｓ７２０７）、現在受信している以外のチャンネルが受信されたか否かを判定する（ｓ７２０１）。放送時間中でなければ、現在受信している以外のチャンネルが受信されたか否かを判定する（ｓ７２０１）。現在受信している以外のチャンネルが受信制御部５０６から受信されない場合（受信制御部５０６から何も受信されない場合も含む）はデータ出力停止中であるか否かを判定する（ｓ７２０８）。データ出力停止中であれば、番組開始時間であるか否かを判定する（ｓ７２０９）。番組開始時間であれば、ＴＳデコーダ部５０２にデータ出力開始命令を出し（ｓ７２１０）、ＮＩ取得通知を受信したか否かを判定する（ｓ７２１２）。番組開始時間でなければ、現在受信している以外のチャンネルが受信されたか否かを判定する（ｓ７２０１）。データ出力停止中でなければ、番組終了時間であるか否かを判定する（ｓ７２１１）。番組終了時間であれば、ＴＳデコーダ部５０２にデータ出力停止命令を出す（ｓ７２０２）。番組終了時間でなければ、ＮＩ取得通知を受信したか否かを判定する（ｓ７２１２）。ＮＩ取得通知を受信したか否かを判定した時（ｓ７２１２）、ＮＩ取得通知を受信していれば、ＮＩ取得動作をして（ｓ７２１３）、現在受信している以外のチャンネルが受信されたか否かを判定する（ｓ７２０１）。ＮＩ取得通知を受信していなければ、「前」ボタン入力があるか否かを判定する（ｓ７２１４）。「前」ボタン入力があれば前ボタン入力動作をし（ｓ７２１５）、現在受信している以外のチャンネルが受信されたか否かを判定する（ｓ７２０１）。「前」ボタン入力がなければ、「後」ボタン入力があるか否かを判定する（ｓ７２１６）。「後」ボタン入力があれば後ろボタン入力動作をし（ｓ７２１７）、現在受信している以外のチャンネルが受信されたか否かを判定する（ｓ７２０１）。「後」ボタン入力がなければ、「決定」ボタン入力があるか否かを判定する（ｓ７２１８）。「決定」ボタン入力があれば、決定ボタン入力動作をし（ｓ７２１９）、現在受信している以外のチャンネルが受信されたか否かを判定する（ｓ７２０１）。「決定」ボタン入力がなければ、現在受信している以外のチャンネルが受信されたか否かを判定する（ｓ７２０１）。
【０１２４】
図５９はＴＳデコーダ部５０２の詳細なフローチャートである。ＴＳデコーダ部５０２はＰＩＤ変更命令があるか否かを判定する（ｓ７３０１）。ＰＩＤ変更命令があると、フィルタ条件のフィルタ識別番号「１」、「２」、「３」行の「ＰＩＤ」欄をそれぞれＰＩＤ変更命令の引数ＰＩＤ(１)、ＰＩＤ（２）、ＰＩＤ（３）に書き換え（ｓ７３０２）、ＮＥ_ＩＤ変更命令があるか否かを判定する（ｓ７３０３）。ＰＩＤ変更命令がなければ、ＮＥ_ＩＤ変更命令があるか否かを判定する（ｓ７３０３）。ＮＥ＿ＩＤ変更命令があれば、フィルタ条件のフィルタ識別番号「３」の行の［ＮＥ＿ＩＤ」欄をＮＥ＿ＩＤ変更命令の引数に書き換え（ｓ７３０４）、フィルタ条件の「Version_number」欄を初期化し（ｓ７３０５）、データ出力開始命令があるもしくはデータ出力中であるか否かを判定する（ｓ７３０６）。ＮＥ＿ＩＤ変更命令がなければ、データ出力開始命令があるもしくはデータ出力中であるか否かを判定する（ｓ７３０６）。データ出力開始命令があるもしくはデータ出力中であれば、データ出力停止命令があるか否かを判定する（ｓ７３０７）。データ出力中でなくかつデータ出力開始命令がない場合は、ＰＩＤ変更命令があるか否かを判定する（ｓ７３０１）。データ出力停止命令があれば、ＰＩＤ変更命令があるか否かを判定する（ｓ７３０１）。データ出力停止命令がなければ、セクションを受信する（ｓ７３０８）。データ出力停止中も受信部５０１は常にトランスポートストリームを受信し、ＴＳデコーダ部５０２にセクションの送信を行なっている。ここでは図示しないが、データ出力停止中に受信したセクションデータはＳＩデータを除き全て破棄し、ＳＩデータは受信データ記憶部５０５に送信する。セクション受信後、セクションのＰＩＤを参照し、フィルタ条件のフィルタ識別番号「１」又は「２」の行のＰＩＤと等しいか否かを判定する（ｓ７３０９）。等しい場合はＡＶデコーダ部５０３へ送信する（ｓ７３１０）。ＡＶデコーダ部５０３はセクションを受信すると、ＭＰＥＧ２規格に従って、ＴＳデコーダ部５０２から出力された映像データと音声データとを同期を取りながら復号し、映像データは表示部５０８に、音声データ５０４はスピーカに出力する。スピーカ５０４はＡＶデコーダから出力された音声データを再生する。セクションをＡＶデコーダ部へ送信後、ＰＩＤ変更命令があるか否かを判定する（ｓ７３０１）。等しくなければ、セクションのＰＩＤを参照し、フィルタ条件のフィルタ識別番号「３」の行のＰＩＤと等しいか否かを判定する（ｓ７３１１）。等しい場合は、セクションのＮＥ＿ＩＤとバージョン番号を参照し、フィルタ条件のフィルタ識別番号「３」の行のＮＥ＿ＩＤと「Version_number」をみたすか否かを判定する（ｓ７３１２）。等しくない場合にはそのセクションのデータを破棄する（ｓ７３１３）。条件を満たしていればそのセクションデータを受信データ記憶部５０５に送信し（ｓ７３１４）、フィルタ条件のフィルタ識別番号「３」の行のバージョン番号の値をセクションのバージョン番号に１加えた値（セクションのバージョン番号がバージョンの最大値であれば１）に書き換え（ｓ７３１５）、ＰＩＤ変更命令があるか否かを判定する（ｓ７３０１���。条件を満たしていなければ、データを破棄し（ｓ７３１３）、ＰＩＤ変更命令があるか否かを判定する（ｓ７３０１）。受信データ記憶部５０５は、ＴＳデコーダ部５０２からセクション単位でＮＩを受信し、１つのＮＩを構成するすべてのセクションを受信すると、今まで保持していたＮＩを今回受信したＮＩに書き換え、ＮＩ取得通知を受信制御部５０７に出す。
【０１２５】
図６０はＮＩ取得動作（ｓ７２１３）の詳細なフローチャートである。受信制御部５０７は受信データ記憶部５０５からＮＩ取得通知を受信すると（ｓ７２１２）、受信制御部５０７は表示部５０８に現在表示されているグラフィックの消去を命じ（ｓ７５０１）、focused_bottonの値を１に初期化し（ｓ７５０２）、受信データ記憶部５０５のＮＩを参照してイニシャライズテーブルがあるか否かを判定する（ｓ７５０３）。イニシャライズテーブルがあれば、イニシャライズテーブルの番号を参照して、それと同じHANDLER INDEXのハンドラを実行し（ｓ７５０４）、オブジェクトテーブルがあるか否かを判定する（ｓ７５０５）。イニシャライズテーブルがない場合もオブジェクトテーブルがあるか否かを判定する（ｓ７５０５）。オブジェクトテーブルがあれば、オブジェクトテーブルを参照して、グラフィックテーブルを作成し（ｓ７５０６）、表示部５０８に送信する（ｓ７５０７）。受信制御部５０７はまた「前」ボタン入力があると、focused_bottonの値を参照し、値が１の場合は何もしない。値が１以上の場合この値を１減らし、表示部５０８に現在表示されているグラフィックの消去を命じ、グラフィックテーブルを作成し、表示部５０８に送信する。受信制御部５０７はまた「後」入力があると、ボタンテーブルを参照し、focused_bottonの値がボタンの数と等しい場合には何もしない。focused_bottonの値がボタンの数よりも小さい場合にはfocused_bottonの値を１増やし、表示部５０８に現在表示されているグラフィックの消去を命じ、グラフィックテーブルを作成し、表示部５０８に送信する。受信制御部５０７はまた、「決定」入力があると、focused_bottonの値と等しい番号を持つボタンテーブルのボタンの「Select Handler」のハンドラ・インデックス参照し、それと同じHANDLER INDEXのハンドラを実行しする。
【０１２６】
図６１はハンドラ実行（ｓ７５０４）の詳細なフローチャートである。同図のｉはどの行の命令を実行しているかをカウントする変数である。ハンドラ実行命令がなされると、ｉを初期値１に設定し（ｓ７６０１）、指定されたハンドラのｉ行目の命令が存在するか否かを判定する（ｓ７６０２）。存在しなければ終了する。存在すればｉ行目の命令がgo_contents（X）命令か否かを判定する（ｓ７６０３）。go_contents（X）命令であれば、表示部５０８に現在表示されているグラフィックの消去を命じ（ｓ７６０４）、Xの値を引数として、ＮＥ＿ＩＤ変更命令をＴＳデコーダ部５０２に指示し（ｓ７６０５）、ｉの値を増やして（ｓ７６０６）、ハンドラのｉ行目の命令が存在するか否かを判定する（ｓ７６０２）。go_contents（X）命令でなければ、ｉ行目の命令を実行し（ｓ７６０７）、ｉの値を増やして（ｓ７６０６）、ハンドラのｉ行目の命令が存在するか否かを判定する（ｓ７６０２）。表示部５０８はＡＶデコーダ部５０３から映像データを受信して表示する。表示部５０８はまた、受信制御部５０７からグラフィックテーブルを受信して、映像データに重畳して表示する。受信制御部５０７からグラフィック消去命令を受信するか、新たなグラフィックテーブルを受信すると、現在表示しているグラフィックを消去する。以下にデータ提供部３０１が保持する番組データ５１１が番組情報３７００に沿ってデータ送出装置３０２から送出データとなって送出され、データ放送受信装置３０３で再生されるまでの流れを示す。番組情報制御部４１５は、現在時刻7/2/10:00とチャンネル１を引数として番組情報管理部４１３から次に放送すべき番組の番組情報を取得する（ｓ６００１）。チャンネル１、7/2/10:00の番組情報３７００をもとに、ナビゲーション情報のＰＩＤの１００３、番組開始時間の 7/2/10:00、番組終了時間 7/2/16:00を取得して、番組情報テーブルに書込んだものが番組情報３８００である。リアルタイムクロックが番組開始時刻 7/2/10:00になると（ｓ６００２)、情報取得部４０１、送信データ書込み部４１８、送信データ読み出し部４２０の番組開始命令をし（ｓ６００３）、通信データ書込み部にＰＩＤ１００３を通知し（ｓ６００４）、サービス開始ＮＩ読み出し部４１７にサービス開始ＮＩ発行要求をする（ｓ６００５）。サービス開始ＮＩ読み出し部４１７はサービス開始ＮＩ発行要求を受信するとサービス開始ＮＩ保持部４１６からサービス開始ＮＩ４０００を読み出し、送信データ書込み部４１８に送信する。
【０１２７】
なお、本実施例ではサービス開始ＮＩは番組開始時のみ発行されているが、送信データ保持部、もしくは送信データ読み出し部、もしくは番組情報制御部が送信データ保持部に送信すべきＮＩが存在しないことを検知し、サービス開始ＮＩ読み出し部にサービス開始ＮＩ読み出しを要求してもよい。
【０１２８】
送信データ書込み部４１８は番組情報制御部４１５から番組開始命令を受信し（ｓ６９０１）、番組情報制御部４１５からＰＩＤ１００３を受信して変数ＰＩＤに代入し（ｓ６９０２）、番組情報制御部４１５から番組終了命令があるか否かを判定し（ｓ６００３）、番組終了命令がないので、ＮＩ（すなわちサービス開始ＮＩ）４０００を受信し（ｓ６９０４）、ＮＩのＮＥ＿ＩＤ行に書かれたＮＥ＿ＩＤ １を参照し（ｓ６９０５）、バージョン番号テーブル４２００のＮＥ＿ＩＤ＝１の欄を参照し（ｓ６９０６）、ＮＩにバージョン番号１とＰＩＤ１００３を割り当て（ｓ６９０７）、ＮＩデータを送信データ保持部４１９に書込む（ｓ６９０８）。図３４は送信データ保持部に書込まれたＮＩデータの一例を示す図である。その後、参照したバージョン番号を参照したバージョン番号に１加えた値すなわち２に書き換える（ｓ６９０９）。前述の書き換えにより作成されたバージョン番号テーブルを４２０２に示す。
【０１２９】
情報取得部４０１は番組情報制御部４１５から番組開始命令を受信し、任意データを要求し（ｓ６１０１）、変数Timerを０に初期化し（ｓ６１０２）、１秒待ち（ｓ６１０３）、Timerの値をTimer＋１すなわち１とし（ｓ６１０４）、データを取得したか否か判定する（ｓ６２０５）。データ６００を取得すると、取得したデータをデータ判断部４０２に送信し（ｓ６１０６）、再び任意データを要求し（ｓ６１０１）、Timerを０に初期化し（ｓ６１０２）、１秒待ち（ｓ６１０３）、Timerの値をTimer＋１すなわち１とし（ｓ６１０４）、データを取得したか否か判定する（ｓ６２０５）。データ７００を取得すると、取得したデータをデータ判断部に送信し（ｓ６１０６）、再び任意データを要求する（ｓ６１０１）。データ判断部４０２はpre_NIを１に初期化する（ｓ６２０１）。情報取得部４０１からデータ６００を取得し（ｓ６２０２）、バージョン巡回発行要求であるか否かを判定する（ｓ６２０３）。否定であるので、トラブルスライド発行要求８００であるか否かを判定する（ｓ６２０５）。否定であるので、固定データであるか否かを判定する（ｓ６２０８）。肯定であるので、固定データ６００のレース場数６０７を参照し、num_NIにレース場数３代入する（ｓ６２０９）。また、num_NI-pre_NIつまり３−１を計算し、さらにこの値が０以上かどうかを判定する（ｓ６２１０）。０以上であるので、、pre_NIにnum_NI ３を代入し（ｓ６２１２）、固定データ６００を固定データ保持部４０３に送信する（ｓ６２１３）。
【０１３０】
情報取得部４０１からデータ７００を取得し（ｓ６２０２）、バージョン巡回発行要求であるか否かを判定する（ｓ６２０３）。否定であるので、トラブルスライド発行要求８００であるか否かを判定する（ｓ６２０５）。否定であるので、固定データであるか否かを判定する（ｓ６２０８）。否定であるので、変更データであるか否かを判定する（ｓ６２１４）。肯定であるので、更新データ７００をデータ合成部６０５へ送信する（ｓ６２１５）。
【０１３１】
データ合成部４０５は更新データ７００を受信し（ｓ６３０１）、スケルトン１１００を読み出し（ｓ６３０２）、固定データ６００を読み出し（ｓ６３０３）、固定データのレース場数３を参照して変数NIに代入し（ｓ６３０４）、ｉを１に初期化する（ｓ６３０５）。そしてスケルトン、固定データの１番目のレース場情報テーブル、更新データの１番目のレース場情報テーブルを用いてデータ合成をしてＮＩ２５００を作成し（ｓ６３０６）、ＮＩ２５００を送信データ書込み部に送信し（ｓ６３０７）、変数ｉの値を１増やし（ｓ６３０８）、変数ｉの値が変数ＮＩ３より大きいか否かを判定する（ｓ６３０９）。否定であるので、固定データの２番目のレース場情報テーブル、更新データの２番目のレース場情報テーブルを用いてデータ合成をしてＮＩ２６００を作成し（ｓ６３０６）、ＮＩ２６００を送信データ書込み部に送信し（ｓ６３０７）、変数ｉの値を１増やし（ｓ６３０８）、変数ｉの値が変数ＮＩ３より大きいか否かを判定する（ｓ６３０９）。否定であるので、固定データの３番目のレース場情報テーブル、更新データの３番目のレース場情報テーブルを用いてデータ合成をしてＮＩ２７００を作成し（ｓ６３０６）、ＮＩ２７００を送信データ書込み部に送信し（ｓ６３０７）、変数ｉの値を１増やし（ｓ６３０８）、変数ｉの値が変数ＮＩ３より大きいか否かを判定する（ｓ６３０９）。肯定であるので、更新データの受信（ｓ６３０１）を待つ。
【０１３２】
送信データ書込み部４１８は、ＮＩ２５００を受信し（ｓ６９０４）、ＮＩのＮＥ＿ＩＤ行に書かれたＮＥ＿ＩＤ １を参照し（ｓ６９０５）、バージョン番号テーブル４２０２のＮＥ＿ＩＤ＝１の欄を参照し（ｓ６９０６）、ＮＩにバージョン番号２とＰＩＤ１００３割り当て（ｓ６９０７）、ＮＩ８０００データを送信データ保持部４１９に書込む（ｓ６９０８）。その後、参照したバージョン番号２を参照したバージョン番号に１加えた値３に書き換える（ｓ６９０９）。同様にして、ＮＩ２６００とＮＩ２７００にＰＩＤとバージョン番号を割り当て、送信データ保持部４１９に書込む。
【０１３３】
送信データ保持部４１９は書込まれたデータ４６００とともに、初期化された送出テーブル４７００を保持する。「interval」欄の初期値８５はビットレートを０．５Ｍbpsとしたときのmin_intervalの値である。送信データ読み出し部４２０は番組情報制御部４１５からの番組開始命令を受信し（ｓ７１０１）、送信データ保持部４１９の送出テーブルを参照して次に読み出すセクションを決定する（ｓ７１０２）。
【０１３４】
まず、「reading_flag」欄が１、「interval」欄の値が「min_interval」以上を満たすＮＩがあるか否か判定する。否定であるので、、「reading_flag」欄が０、「interval」欄の値が「min_interval」以上を満たすＮＩがあるか否か判定する。肯定であるので、、上記の条件を満たすＮＩの中で「read_count」欄の値が最少のＮＩ（複数あれば、その中で、「interval」欄の値が最大のＮＩ）について、そのＮＩの「next_section_ptr」欄に書かれた番号のセクションを読み出す。この場合、ＮＥ＿ＩＤ＝１、２、３はすべて同じ条件下にあるので、どのＮＥ＿ＩＤから送出をはじめてもよいが、ここではＮＥ＿Ｉ＝１のＮＩデータから送出をはじめるものとする。送信データ読み出し部４２０は上記の要領で決定されたセクション４６０１を読み出して、送信データ読み出し部４２１に送信する（ｓ７１０３）。ヌルパケット以外のセクションを読み出しているので、読み出したＮＩの「interval」欄を「０」にし、「next_section_ptr」欄の値を変更する。すなわち「next_section_ptr」欄の値に１加えた値を「next_section_ptr」欄に記載する。「next_section_ptr」欄が１で、ＮＩの保持するセクション数が２以上のであるので、「reading_flag」欄を１にする。また、「interval」欄が「−」でない個所に関して、記載されている値に読み出したパケット数２３を加えた値を記載する。
【０１３５】
上記の要領で送信テーブルを書き換え（ｓ７１０４）、送信テーブル４７２０となる。同様にして送信テーブル４７２０を参照し、セクション４６０２、セクション４６０３の順にセクションを読み出してデータ送出部４２１に送出する。その後書き換えられた送出テーブルは送出テーブル４７３０である。
【０１３６】
送信データ読み出し部４２０送出テーブル４７３０を参照し、「reading_flag」欄が１、「interval」欄の値が「min_interval」以上を満たすＮＩがあるか否か判定する。否定であるので、「reading_flag」欄が０、「interval」欄の値が「min_interval」以上を満たすＮＩがあるか否か判定する。否定であるので、「interval」欄の値が最も大きいＮＩであるＮＥ＿ＩＤ＝１のＮＩが、min_interval８５に到達するだけのヌルパケットすなわち１６のヌルバケットを読み出す。その後、送出テーブルの書き換えを行ない、送出テーブル４７４０となる。図３６に送出データ４６００を送出データ読み出しアルゴリズムを用いて読み出した場合に生成されるトランスポートストリーム４８００の一例を示す。
【０１３７】
チャンネル１以外の番組を選択している利用者がチャンネル１を選択すると、受信制御部５０７は現在受信している以外のチャンネルが受信されたか否かを判定する（ｓ７２０１）。肯定であるので、受信制御部５０７はＴＳデコーダ部５０２にデータ出力停止命令を出し（ｓ７２０２）、チャンネル１と現在の時刻7/2/10:00を引数として受信データ記憶部５０５のＳＩデータ３７００から、引数のチャンネルで現在放送している番組（番組放送時間中でなければ次に放送される番組）の「ＰＩＤ（１）」１００１、「ＰＩＤ（２）」１００２、「ＰＩＤ（３）」１００３、番組開始時間10:00、番組終了時間16:00を取得し、チャンネル１とともに受信番組記憶部５１０の番組情報３８００に記憶し（ｓ７２０３）、「ＰＩＤ（１）」１００１、「ＰＩＤ（２）」１００２、「ＰＩＤ（３）」１００３を引数として、ＴＳデコーダ部５０２にＰＩＤ書き換え命令を出し（ｓ７２０４）、１を引数としてＴＳデコーダ部５０２にＮＥ＿ＩＤ書き換え命令を出し（ｓ７２０５）、番組開始時間7/2/10:00、番組終了時間7/2/16:00、現在時刻7/2/10:00を参照して、現在番組が放送時間中であるか否かを判定する（ｓ７２０６）。肯定であるので、ＴＳデコーダ部５０２にデータ出力開始命令をし（ｓ７２０７）、現在受信している以外のチャンネルが受信されたか否かを判定する（ｓ７２０１）。ＴＳデコーダ部５０２はＰＩＤ変更命令があるか否かを判定する（ｓ７３０１）。肯定であるので、フィルタ条件のフィルタ識別番号「１」、「２」、「３」行の「ＰＩＤ」欄をそれぞれＰＩＤ変更命令の引数ＰＩＤ(１)１００１、ＰＩＤ（２）１００２、ＰＩＤ（３）１００３に書き換え（ｓ７３０２）、ＮＥ_ＩＤ変更命令があるか否かを判定する（ｓ７３０３）。肯定であるので、、フィルタ条件のフィルタ識別番号「３」の行の「ＮＥ＿ＩＤ」欄をＮＥ＿ＩＤ変更命令の引数１に書き換え（ｓ７３０４）、フィルタ条件の「Version_number」欄を初期化し（ｓ７３０５）、データ出力開始命令があるか否かを判定する（ｓ７３０６）。ＮＥ＿ＩＤ変更命令がなければ、データ出力開始命令があるもしくはデータ出力中であるか否かを判定する（ｓ７３０６）。肯定であるので、データ出力停止命令があるか否かを判定する（ｓ７３０７）。否定であるので、セクションを受信し（ｓ７３０８）、セクションのＰＩＤ１００３を参照し、フィルタ条件５４０１のフィルタ識別番号「１」又は「２」の行のＰＩＤすなわち１００１、１００２と等しいか否かを判定する（ｓ７３０９）。否定であるので、セクションのＰＩＤを参照し、フィルタ条件５４０１のフィルタ識別番号「３」の行のＰＩＤ１００３と等しいか否かを判定する（ｓ７３１１）。肯定であるので、セクションのＮＥ＿ＩＤ１とバージョン番号２を参照し、フィルタ条件５４０１のフィルタ識別番号「３」の行のＮＥ＿ＩＤ１と「Version_number」「−」をみたすか否かを判定する（ｓ７３１２）。肯定であるので、そのセクションデータを受信データ記憶部５０５に送信し（ｓ７３１４）、フィルタ条件５４０１のフィルタ識別番号「３」の行のバージョン番号の値をセクションのバージョン番号１に１加えた値すなわち２に書き換え（ｓ７３１５）フィルタ条件５４０２とし、ＰＩＤ変更命令が���るか否かを判定する（ｓ７３０１）。
【０１３８】
受信データ記憶部５０５は、ＴＳデコーダ部５０２からセクション単位でＮＩを受信し、１つのＮＩ４０００を構成するすべてのセクションを受信すると、今まで保持していたＮＩを今回受信したＮＩ４０００に書き換え、ＮＩ取得通知を受信制御部５０７に出す。
【０１３９】
受信制御部５０７は、現在受信している以外のチャンネルが受信されたか否かを判定する（ｓ７２０１）。否定であるので、データ出力停止中であるか否かを判定する（ｓ７２０８）。否定であるので、番組終了時間であるか否かを判定する（ｓ７２１１）。否定であるので、ＮＩ取得通知を受信したか否かを判定する（ｓ７２１２）。肯定であるので、ＮＩ取得動作をする（ｓ７２１３）。
【０１４０】
受信制御部５０７は表示部５０８に現在表示されているグラフィックの消去を命じ（ｓ７５０１）、focused_bottonの値を１に初期化し（ｓ７５０２）、受信データ記憶部５０５のＮＩ４０００を参照してイニシャライズテーブルがあるか否かを判定する（ｓ７５０３）。否定であるので、オブジェクトテーブルがあるか否かを判定する（ｓ７５０５）。肯定であるので、オブジェクトテーブルを参照して、グラフィックテーブル５７７０を作成し（ｓ７５０６）、表示部５０８に送信する（ｓ７５０７）。
【０１４１】
表示部５０８はＡＶデコーダ部５０３から映像データ５０００を受信して表示する。表示部５０８は受信制御部５０７からグラフィック消去命令を受信し、現在表示しているグラフィックを消去する。表示部５０８はまた、受信制御部５０７からグラフィックテーブル５７７０を受信して、映像データ５０００に重畳してシーン１０３を表示する。
【０１４２】
ＴＳデコーダ部５０２はＰＩＤ変更命令があるか否かを判定する（ｓ７３０１）。否定であるので、ＮＥ_ＩＤ変更命令があるか否かを判定する（ｓ７３０３）。否定であるので、データ出力開始命令があるもしくはデータ出力中であるか否かを判定する（ｓ７３０６）。肯定であるので、データ出力停止命令があるか否かを判定する（ｓ７３０７）。否定であるので、セクション４６０１を受信し（ｓ７３０８）、セクションのＰＩＤ１００３を参照し、フィルタ条件５４０２のフィルタ識別番号「１」又は「２」の行のＰＩＤすなわち１００１、１００２と等しいか否かを判定する（ｓ７３０９）。否定であるので、セクションのＰＩＤを参照し、フィルタ条件５４０２のフィルタ識別番号「３」の行のＰＩＤ１００３と等しいか否かを判定する（ｓ７３１１）。肯定であるので、セクションのＮＥ＿ＩＤ１とバージョン番号２を参照し、フィルタ条件５４０２のフィルタ識別番号「３」の行のＮＥ＿ＩＤ１と「Version_number」２をみたすか否かを判定する（ｓ７３１２）。肯定であるので、そのセクションデータ４６０１を受信データ記憶部５０５に送信し（ｓ７３１４）、フィルタ条件５４０２のフィルタ識別番号「３」の行のバージョン番号の値をセクションのバージョン番号２に１加えた値すなわち３に書き換え（ｓ７３１５）、ＰＩＤ変更命令があるか否かを判定する（ｓ７３０１）。
【０１４３】
受信データ記憶部５０５は、ＴＳデコーダ部５０２からセクション単位でＮＩを受信し、１つのＮＩ２５００を構成するすべてのセクション４６０１、４６０４、４６０５、４６０６、４６０７を受信すると、今まで保持していたＮＩ４０００を今回受信したＮＩ２５００に書き換え、ＮＩ取得通知を受信制御部５０７に出す。
【０１４４】
受信制御部５０７は、現在受信している以外のチャンネルが受信されたか否かを判定する（ｓ７２０１）。否定であるので、データ出力停止中であるか否かを判定する（ｓ７２０８）。否定であるので、番組終了時間であるか否かを判定する（ｓ７２１１）。否定であるので、ＮＩ取得通知を受信したか否かを判定する（ｓ７２１２）。肯定であるので、ＮＩ取得動作をする（ｓ７２１３）。受信制御部５０７は表示部５０８に現在表示されているグラフィックの消去を命じ（ｓ７５０１）、focused_bottonの値を１に初期化し（ｓ７５０２）、受信データ記憶部５０５のＮＩ２５００を参照してイニシャライズテーブルがあるか否かを判定する（ｓ７５０３）。否定であるので、オブジェクトテーブルがあるか否かを判定する（ｓ７５０５）。肯定であるので、オブジェクトテーブルを参照して、グラフィックテーブル５７００を作成し（ｓ７５０６）、表示部５０８に送信する（ｓ７５０７）。
【０１４５】
表示部５０８はＡＶデコーダ部５０３から映像データ５０００を受信して表示する。表示部５０８は受信制御部５０７からグラフィック消去命令を受信し、現在表示しているグラフィックを消去する。表示部５０８はまた、受信制御部５０７からグラフィックテーブル５７００を受信して、映像データ５０００に重畳してシーン１０４表示する。
【０１４６】
受信制御部５０７は「前」ボタン入力があるか否かを判定する（ｓ７２１４）。「前」ボタン入力があれば前ボタン入力動作をする（ｓ７２１５）。受信制御部５０７は「前」ボタン入力があると、focused_bottonの値１を参照し、値が１であるので何もしない。
【０１４７】
受信制御部５０７は「後」ボタン入力があるか否かを判定する（ｓ７２１６）。「後」ボタン入力があれば後ろボタン入力動作をする（ｓ７２１７）。受信制御部５０７は「後」入力があると、ボタンテーブル２５０４を参照し、focused_bottonの値１がボタンの数３よりも小さいので、focused_bottonの値を１増やして２とし、表示部５０８に現在表示されているグラフィックの消去を命じ、グラフィックテーブル５７２０を作成し、表示部５０８に送信する。表示部５０８は、受信制御部５０７からグラフィックテーブル５７２０を受信して、映像データ５０００に重畳してシーン１０５表示する。
【０１４８】
受信制御部５０７は再度「後」入力があると、ボタンテーブル２５０４を参照し、focused_bottonの値２がボタンの数３よりも小さいので、focused_bottonの値を１増やして３とし、表示部５０８に現在表示されているグラフィックの消去を命じ、グラフィックテーブル５７３０を作成し、表示部５０８に送信する。表示部５０８は、受信制御部５０７からグラフィックテーブル５７３０を受信して、映像データ５０００に重畳してシーン１０６表示する。
【０１４９】
受信制御部５０７は「決定」ボタン入力があるか否かを判定する（ｓ７２１８）。「決定」ボタン入力があれば、決定ボタン入力動作をする（ｓ７２１９）。受信制御部５０７はまた、「決定」入力があると、focused_bottonの値３と等しい番号を持つボタンテーブルのボタンの「Select Handler」のハンドラ・インデックス参照し、それと同じHANDLER INDEXのハンドラを実行しする。ハンドラ実行命令がなされると、ｉを初期値１に設定し（ｓ７６０１）、指定されたHANDLER INDEX２のハンドラの１行目の命令が存在するか否かを判定する（ｓ７６０２）。肯定であるので、１行目の命令がgo_ocntents（X）命令か否かを判定する（ｓ７６０３）。否定であるので、1行目の命令「 Hyperlink_id = hyperlink(福岡)」を実行する。福岡のNE_IDの値は３であるから、Hyperlink_idに３を代入し、ｉの値を１増やして２とし（ｓ７６０６）、ハンドラの２行目の命令が存在するか否かを判定する（ｓ７６０２）。肯定であるので、肯定であるので、１行目の命令がgo_ocntents（X）命令か否かを判定する（ｓ７６０３）。Hyperlind_id=３、NE_ID＝１であり、「if(Hyperlind_id!=NULL&&Hyperlind_id!=NE_ID)」の条件を満たすので、go_ocntents（Hyperlind_id）命令が実行される。すなわち肯定であるので、表示部５０８に現在表示されているグラフィックの消去を命じ（ｓ７６０４）、Hyperlind_id＝３の値を引数として、ＴＳデコーダ部５０２にＮＥ＿ＩＤ書き換え命令を出し（ｓ７６０５）、ｉの値１を増やして３とし（ｓ７６０６）、ハンドラの３行目の命令が存在するか否かを判定する（ｓ７６０２）。否定であるので、終了する。
【０１５０】
ＴＳデコーダ部５０２はＰＩＤ変更命令があるか否かを判定する（ｓ７３０１）。否定であるので、ＮＥ_ＩＤ変更命令があるか否かを判定する（ｓ７３０３）。肯定であるので、フィルタ条件５４０２のフィルタ識別番号「３」の行の「ＮＥ＿ＩＤ」欄をＮＥ＿ＩＤ変更命令の引数３に書き換え（ｓ７３０４）、フィルタ条件の「Version_number」欄を初期化し（ｓ７３０５）、データ出力開始命令があるもしくはデータ出力中であるか否かを判定する（ｓ７３０６）。肯定であるので、データ出力停止命令があるか否かを判定する（ｓ７３０７）。否定であるので、セクション４６０３を受信する（ｓ７３０８）。セクション４６０３受信後、セクション４６０３のＰＩＤ１００３を参照し、フィルタ条件５４０３のフィルタ識別番号「１」１００１又は「２」の行のＰＩＤ１００２と等しいか否かを判定する（ｓ７３０９）。否定であるので、セクション４６０２のＰＩＤ１００３を参照し、フィルタ条件５４０３のフィルタ識別番号「３」の行のＰＩＤ１００３と等しいか否かを判定する（ｓ７３１１）。肯定であるので、セクション４６０３のＮＥ＿ＩＤ３とバージョン番号１を参照し、フィルタ条件５４０３のフィルタ識別番号「３」の行のＮＥ＿ＩＤ３と「Version_number」「−」をみたすか否かを判定する（ｓ７３１２）。肯定であるので、そのセクションデータ４６０３を受信データ記憶部５０５に送信し（ｓ７３１４）、フィルタ条件のフィルタ識別番号「３」の行のバージョン番号の値をセクションのバージョン番号１に１加えた値すなわち２に書き換え（ｓ７３１５）、ＰＩＤ変更命令があるか否かを判定する（ｓ７３０１）。
【０１５１】
受信データ記憶部５０５は、ＴＳデコーダ部５０２からセクション単位でＮＩを受信し、１つのＮＩ２７００を構成するすべてのセクション４６０３、４６１２、４６１３、４６１４、４６１５を受信すると、今まで保持していたＮＩ２５００を今回受信したＮＩ２７００に書き換え、ＮＩ取得通知を受信制御部５０７に出す。
【０１５２】
受信制御部５０７はＮＩ取得通知を受信したか否かを判定する（ｓ７２１２）。肯定であるので、ＮＩ取得動作をする（ｓ７２１３）。受信制御部５０７は表示部５０８に現在表示されているグラフィックの消去を命じ（ｓ７５０１）、focused_bottonの値を１に初期化し（ｓ７５０２）、受信データ記憶部５０５のＮＩ２６００を参照してイニシャライズテーブルがあるか否かを判定する（ｓ７５０３）。否定であるので、オブジェクトテーブルがあるか否かを判定する（ｓ７５０５）。肯定であるので、オブジェクトテーブルを参照して、グラフィックテーブル５７４０を作成し（ｓ７５０６）、表示部５０８に送信する（ｓ７５０７）。表示部５０８は、受信制御部５０７からグラフィックテーブル５７４０を受信して、映像データ５０００に重畳してシーン１０７表示する。
【０１５３】
以下にデータ提供部３０１が保持する番組データ５１１の更新データ部分が番組データ５１２に変更された場合に番組データ５１２がデータ送出装置３０２から送出データとなって送出され、データ放送受信装置３０３で再生されるまでの流れを示す。
【０１５４】
情報取得部４０１は任意データを要求し（ｓ６１０１）、変数Timerを０に初期化し（ｓ６１０２）、１秒待ち（ｓ６１０３）、Timerの値をTimer＋１すなわち１とし（ｓ６１０４）、データを取得したか否か判定する（ｓ６２０５）。データ７２２を取得すると、取得したデータをデータ判断部４０２に送信し（ｓ６１０６）、再び任意データを要求する（ｓ６１０１）。
【０１５５】
データ判断部４０２は情報取得部４０１からデータ７２２を取得し（ｓ６２０２）、変更データであるか否かを判定する（ｓ６２１４）。肯定であるので、更新データ７２２をデータ合成部６０５へ送信する（ｓ６２１５）。
【０１５６】
以下、更新データ７００の時と同様に、データ合成部４０５で、３つのＮＩ２５２０、ＮＩ２６２０、ＮＩ２７２０を作成し、送信データ書込み部４１８でＰＩＤとバージョン番号を付与して送信データ保持部４１９に保持し、送信データ読み出し部４２０からＮＩ２５２０、ＮＩ２６２０、ＮＩ２７２０を送出データ読み出しアルゴリズムを用いてセクション単位で読み出して、データ送出部４２１に送出し、多重化部で映像データ、音声データと多重して送信する。ＴＳデコーダは、前回取得したＮＩデータと同じＮＥ＿ＩＤすなわち３、前回取得したＮＩデータのバージョン番号１より１つ大きい値２を持つＮＩ２７２０を取得し、受信データ記憶部５０５に送信する。受信データ記憶部５０５は、受信制御部５０７にＮＩ取得通知をし、受信制御部５０７はＮＩ取得動作をする（ｓ７２１３）。受信制御部５０７は表示部５０８に現在表示されているグラフィックの消去を命じ（ｓ７５０１）、focused_bottonの値を１に初期化し（ｓ７５０２）、オブジェクトテーブルを参照して、グラフィックテーブル５７５０を作成し（ｓ７５０６）、表示部５０８に送信する（ｓ７５０７）。表示部５０８は、受信制御部５０７からグラフィックテーブル５７５０を受信して、映像データ５０００に重畳してシーン１０８表示する。
【０１５７】
以下にデータ提供部３０１が保持する番組データ５１２の固定データ部分、更新データ部分が番組データ５１３に変更された場合に番組データ５１３がデータ送出装置３０２から送出データとなって送出され、データ放送受信装置３０３で再生されるまでの流れを示す。
【０１５８】
情報取得部４０１は任意データを要求し（ｓ６１０１）、変数Timerを０に初期化し（ｓ６１０２）、１秒待ち（ｓ６１０３）、Timerの値をTimer＋１すなわち１とし（ｓ６１０４）、データを取得したか否か判定する（ｓ６２０５）。データ６２２を取得すると、取得したデータをデータ判断部４０２に送信し（ｓ６１０６）、再び任意データを要求し（ｓ６１０１）、Timerを０に初期化し（ｓ６１０２）、１秒待ち（ｓ６１０３）、Timerの値をTimer＋１すなわち１とし（ｓ６１０４）、データを取得したか否か判定する（ｓ６２０５）。データ７２３を取得すると、取得したデータをデータ判断部に送信し（ｓ６１０６）、再び任意データを要求する（ｓ６１０１）。
【０１５９】
データ判断部４０２は情報取得部４０１からデータ６２２を取得し（ｓ６２０２）、バージョン巡回発行要求であるか否かを判定する（ｓ６２０３）。否定であるので、トラブルスライド発行要求８００であるか否かを判定する（ｓ６２０５）。否定であるので、固定データであるか否かを判定する（ｓ６２０８）。肯定であるので、固定データ６２２のレース場数を参照し、num_NIにレース場数２代入する（ｓ６２０９）。また、num_NI-pre_NIつまり２−３を計算し、さらにこの値が０以上かどうかを判定する（ｓ６２１０）。否定であるので、pre_NI３、num_NI２を引数として、エントリ復帰NI読み出し部４１２にエントリ復帰NIの発行を指示（ｓ６２１１）した後、pre_NI３にnum_NI２を代入し（ｓ６２１２）、固定データを固定データ保持部４０３に送信する（ｓ６２１３）。データ判断部４０２は情報取得部４０１からデータ７２３を取得し（ｓ６２０２）、更新データ７２３をデータ合成部６０５へ送信する（ｓ６２１５）。
【０１６０】
エントリ復帰NI読み出し部４１０はデータ判断部４０２からエントリ復帰NI発行要求を受信し（ｓ６７０１）、NIにエントリ復帰NI発行要求の引数であるnum_NI２を代入し（ｓ６７０２）、preにエントリ復帰NI発行要求の引数であるpre_NI３を代入し（ｓ６７０３）、ｉにNI＋１である３を代入する（ｓ６７０４）。その後エントリ復帰NI保持部４１１からエントリ復帰NIを読み出し（ｓ６７０５）、エントリ復帰NIのNE_ID行にｉの値すなわち３を代入し（ｓ６７０６）、前述のエントリ復帰NIを送信データ書込み部４１８へ送信し（ｓ６７０７）、ｉの値を１増やして４とし（ｓ６７０８）、ｉの値がpre３より大きいか否かを判定する（ｓ６７０９）。肯定であるので、データ判断部４０２からエントリ復帰用NI発行要求が受信されるのを待つ（ｓ６７０１）。
【０１６１】
データ合成部は、スケルトンと固定データ６２２、更新データ７２３から、ＮＥ＿ＩＤ１、２なる２つのＮＩ２５３０、ＮＩ２６３０を生成し、送信データ書込み部４１８に送信する。
【０１６２】
送信データ書込み部４１８はデータ合成部から送信されたＮＥ＿ＩＤ１、２なる２つのＮＩ２５３０、ＮＩ２６３０とエントリ復帰ＮＩ読み出し部４１０から送信されたＮＥ＿ＩＤ３なるＮＩ３６００にＰＩＤとバージョン番号を割り当てて送信データ保持部４１９に書込む。上記の３つのＮＩを送信データ読み出し部４２１が読み出し、多重化部４２４で多重して送出される。
【０１６３】
ＴＳデコーダ部５０２は、前回取得したＮＩデータと同じＮＥ＿ＩＤすなわち３、前回取得したＮＩデータのバージョン番号２より１つ大きい値３を持つＮＩを取得し、受信データ記憶部５０５に送信する。受信データ記憶部５０５は、受信制御部５０７にＮＩ取得通知をし、受信制御部５０７はＮＩ取得動作をする（ｓ７２１３）。受信制御部５０７は受信データ記憶部５０５からＮＩ取得通知を受信すると（ｓ７２１２）、受信制御部５０７は表示部５０８に現在表示されているグラフィックの消去を命じ（ｓ７５０１）、focused_bottonの値を１に初期化し（ｓ７５０２）、受信データ記憶部５０５のＮＩを参照してイニシャライズテーブルがあるか否かを判定する（ｓ７５０３）。イニシャライズテーブルがあれば、イニシャライズテーブルの番号を参照して、それと同じHANDLER INDEXのハンドラを実行し（ｓ７５０４）、オブジェクトテーブルがあるか否かを判定する（ｓ７５０５）。ハンドラ実行命令がなされると、指定されたHANDLER INDEX０のハンドラの１行目から実行していく。HANDLER INDEX ０は「go_contents（１）」であるから、表示部５０８に現在表示されているグラフィックの消去を命じ（ｓ７６０４）、１の値を引数として、ＴＳデコーダ部５０２にＮＥ＿ＩＤ書き換え命令を出す（ｓ７６０５）。オブジェクトテーブルは存在しないので、グラフィックテーブルは作成されない。
【０１６４】
ＴＳデコーダ部５０２はＮＥ＿ＩＤ変更命令があると、フィルタ条件のフィルタ識別番号「３」の行の「ＮＥ＿ＩＤ」欄をＮＥ＿ＩＤ変更命令の引数１に書き換え（ｓ７３０４）、フィルタ条件の「Version_number」欄を初期化し（ｓ７３０５）、ＮＥ＿ＩＤが１、バージョン番号が「−」であるセクションを受信を開始し、条件を満たすＮＩデータを受信データ保持部５０５に送信する。また、フィルタ条件のフィルタ識別番号「３」の行のバージョン番号の値をセクションのバージョン番号３に１加えた値すなわち４（セクションのバージョン番号がバージョンの最大値であれば１）に書き換える。
【０１６５】
受信制御部５０７は、ＮＩ２５３０取得通知を受信すると表示部５０８に現在表示されているグラフィックの消去を命じ（ｓ７５０１）、focused_bottonの値を１に初期化し（ｓ７５０２）、受信データ記憶部５０５のＮＩ２５３０を参照してイニシャライズテーブルがあるか否かを判定する（ｓ７５０３）。否定であるので、オブジェクトテーブルがあるか否かを判定する（ｓ７５０５）。肯定であるので、オブジェクトテーブルを参照して、グラフィックテーブル５７６０を作成し（ｓ７５０６）、表示部５０８に送信する（ｓ７５０７）。表示部５０８は、受信制御部５０７からグラフィックテーブル５７６０を受信して、映像データ５０００に重畳してシーン１０９表示する。
【０１６６】
以下に情報取得部４０１のデータ要求に対して、データ提供部３０１からトラブルスライド発行要求がなされた場合、もしくはデータ提供部から情報取得部４０１へのデータ提供があらかじめ決められた時間以上なされなかった場合、もしくは外部入力によりオペレータがトラブルスライド発行要求をした場合にデータ送出装置３０２がトラブルスライドを送出し、データ放送受信装置３０３で再生されるまでの流れを示す。
【０１６７】
情報取得部４０１は任意データを要求し（ｓ６１０１）、変数Timerを０に初期化（ｓ６１０２）する。１秒待った（ｓ６１０３）後、Timerの値を１増やし（Ｓ６１０４）、データを取得したか否かを判定する（ｓ６１０５）。肯定であるので、データ８００データ判断部に送信し（ｓ６１０６）、再び任意データを要求する（ｓ６１０１）。
【０１６８】
データ判断部４０２は情報取得部４０１からデータが送信されると（ｓ６２０２）、そのデータがバージョン巡回用ＮＩ発行要求であるか否かを判定する（ｓ６２０３）。否定であるので、データがトラブルスライド発行要求８００か否かを判定する（ｓ６２０５）肯定であるので、トラブルスライド発行要求８００のトラブルスライドID１を参照して変数T_IDに代入し（ｓ６２０６）、T_ID１、pre_NI２を引数としてトラブルスライド読み出し部４０８にトラブルスライドの発行を指示する（ｓ６２０７）。
【０１６９】
情報取得部４０１は任意データを要求し（ｓ６１０１）、変数Timerを０に初期化（ｓ６１０２）する。１秒待った（ｓ６１０３）後、Timerの値を１増やし（Ｓ６１０４）、データを取得したか否かを判定する（ｓ６１０５）。否定であるので、Timerが３０（タイムアウトの時間）を超えているか否かを判定する（ｓ６１０７）。否定であるので、再び１秒待つ（ｓ６１０３）。データの取得がなされないので、上記動作３０回を繰り返し、Timerの値が３１になる。Timerが３０（タイムアウトの時間）を超えているか否かを判定し（ｓ６１０７）、肯定であるので、データ判断部４０２にトラブルスライド発行要求をし（ｓ６１０８）、固定データを要求し（ｓ６１０９）、再びTimerを０に初期化する（ｓ６１０２）。データ判断部４０２は情報取得部４０１からデータが送信されると（ｓ６２０２）、そのデータがバージョン巡回用ＮＩ発行要求であるか否かを判定する（ｓ６２０３）。否定であるので、データがトラブルスライド発行要求８００か否かを判定する（ｓ６２０５）肯定であるので、トラブルスライド発行要求８００のトラブルスライドID１を参照して変数T_IDに代入し（ｓ６２０６）、T_ID１、pre_NI２を引数としてトラブルスライド読み出し部４０８にトラブルスライドの発行を指示する（ｓ６２０７）。
【０１７０】
外部入力受信部４０６はオペレータによるキーボードなどから入力情報を受信すると、入力情報をデータ判断部４０２に送信する。
【０１７１】
データ判断部４０２は外部入力受信部４０６からデータが送信されると（ｓ６２０２）、そのデータがバージョン巡回用ＮＩ発行要求であるか否かを判定する（ｓ６２０３）。否定であるので、データがトラブルスライド発行要求８００か否かを判定する（ｓ６２０５）肯定であるので、トラブルスライド発行要求８００のトラブルスライドID１を参照して変数T_IDに代入し（ｓ６２０６）、T_ID１、pre_NI２を引数としてトラブルスライド読み出し部４０８にトラブルスライドの発行を指示する（ｓ６２０７）。
【０１７２】
上記の３つのうちのいずれかのステップにより、データ判断部４０２はトラブルスライド読み出し部４０８にトラブルスライドの発行を指示する。トラブルスライド用ＮＩ読み出し部４０８はデータ判断部４０２からトラブルスライド用ＮＩ発行要求を受信し（ｓ６５０１）、NIにトラブルスライド用NI発行要求の引数であるpre_NI２を代入し（ｓ６５０２）、ID１にトラブルスライド用NI発行要求の引数であるT_ID１を代入し（ｓ６５０３）、ｉを１に初期化する（ｓ６５０４）。その後トラブルスライド用ＮＩ保持部４０７からID１を引数として、トラブルスライド用NI３１００を読み出し（ｓ６５０５）、トラブルスライド用NIのNE_ID行にｉの値すなわち１を代入し（ｓ６５０６）、前述のトラブルスライド３２０１を送信データ書込み部４１８へ送信し（ｓ６５０７）、ｉの値を１増やし（ｓ６５０８）、ｉの値２がＮＩ２より大きいか否かを判定する（ｓ６５０９）。否定であるので、トラブルスライド用ＮＩ保持部４０７からIDを引数として、トラブルスライド用NI３１００を読み出し（ｓ６５０５）、トラブルスライド用NIのNE_ID行にｉの値すなわち２を代入し（ｓ６５０６）、前述のトラブルスライド３２０２を送信データ書込み部４１８へ送信し（ｓ６５０７）、ｉの値を１増やし（ｓ６５０８）、ｉの値３がＮＩ２より大きいか否かを判定する（ｓ６５０９）。肯定であるので、データ判断部４０２からトラブルスライド用ＮＩ発行要求を受信されるのを待つ（ｓ６５０１）。送信データ書込み部４１８はトラブルスライド３２０１、３２０２を受信し、ＰＩＤとバージョン番号を付与して、送信データ保持部４１９に書込まれる。データ読み出し部４２０はＮＩデータを読み出し、データ送信部４２１に送出し、データ送出部４２１は多重化部４２４にＮＩデータを送出し、多重化部４２１はＮＩデータ、映像データ、音声データを多重して送信する。
【０１７３】
ＴＳデコーダ部５０２は、前回取得したＮＩデータと同じＮＥ＿ＩＤすなわち１、前回取得したＮＩデータのバージョン番号３より１つ大きい値４を持つＮＩを取得し、受信データ記憶部５０５に送信する。受信データ記憶部５０５は、受信制御部５０７にＮＩ取得通知をし、受信制御部５０７はＮＩ取得動作をする（ｓ７２１３）。受信制御部５０７は受信データ記憶部５０５からＮＩ取得通知を受信すると（ｓ７２１２）、受信制御部５０７は表示部５０８に現在表示されているグラフィックの消去を命じ（ｓ７５０１）、focused_bottonの値を１に初期化し（ｓ７５０２）、受信データ記憶部５０５のＮＩを参照してイニシャライズテーブルがあるか否かを判定する（ｓ７５０３）。否定であるので、オブジェクトテーブルがあるか否かを判定する（ｓ７５０５）。肯定であるので、オブジェクトテーブルを参照して、グラフィックテーブル５７８０を作成し（ｓ７５０６）、表示部５０８に送信する（ｓ７５０７）。表示部５０８は、受信制御部５０７からグラフィックテーブル５７８０を受信して、映像データ５０００に重畳してシーン１１１表示する。
【０１７４】
以下にバージョン番号の不連続を検出したオペレータが外部入力によりバージョン番号処理要求をした場合に、データ送出装置３０２がバージョン巡回用ＮＩ送出処理を行ない、データ放送受信装置３０３で通常の対話的番組が再生されるようになるまでの流れを示す。現在、送出データ書込み部４１８はバージョン番号テーブル４２００を有し、受信制御部５０７はフィルタ条件５４０４を有するものとする。フィルタ条件５４０４のフィルタ識別子「３」の行の「Version_number」欄の値３２はバージョン番号の最大値である。
【０１７５】
外部入力受信部４０６はオペレータによるキーボードなどから入力情報を受信すると、入力情報をデータ判断部４０２に送信する。トラブルスライド用ＮＩ読み出し部４０８は外部入力受信部４０６からデータ９００を取得すると（ｓ６２０２）、そのデータがバージョン巡回用ＮＩ発行要求であるか否かを判定する（ｓ６２０３）。肯定であるので、pre_NI２を引数としてバージョン巡回ＮＩ読み出し部４１０にバージョン巡回用ＮＩの発行を指示する（ｓ６２０４）。
【０１７６】
バージョン巡回用ＮＩ読み出し部４１０はデータ判断部４０２からバージョン巡回用NI発行要求を受信し（ｓ６６０１）、NIにバージョン巡回用NI発行要求の引数であるpre_NI２を代入し（ｓ６６０２）、ｋを１に初期化し（ｓ６６０３）、ｉを１に初期化する（ｓ６６０４）。その後バージョン巡回用NI保持部４０９からバージョン巡回用NI３３００を読み出し（ｓ６６０５）、バージョン巡回用NIのNE_ID行にｉの値１を代入し（ｓ６６０６）、前述のＮＩ３４０１を送信データ書込み部４１８へ送信し（ｓ６６０７）、ｉの値を１増やして２とし（ｓ６６０８）、ｉの値がＮＩ２より大きいか否かを判定する（ｓ６６０９）。否定であるので、バージョン巡回用NI保持部４０９からバージョン巡回用NI３３００を読み出し（ｓ６６０５）、バージョン巡回用NIのNE_ID行にｉの値２を代入し（ｓ６６０６）、前述のＮＩデータ３４０２を送信データ書込み部４１８へ送信し（ｓ６６０７）、ｉの値を１増やして３とし（ｓ６６０８）、ｉの値がＮＩ２より大きいか否かを判定する（ｓ６６０９）。肯定であるので、kの値を１増やし（ｓ６６１０）、kの値２がバージョン番号の最大値（ここでは３２）より大きいか否かを判定する（ｓ６６１１）。否定であるので、ｉを初期化する（ｓ６６０４）。
【０１７７】
上記動作を３２回繰り返し、ｋの値が３２以上になるとデータ判断部４０２からバージョン巡回用ＮＩ発行要求を受信されるのを待つ（ｓ６６０１）。
【０１７８】
これにより、ＮＩ３４０１、ＮＩ３４０２がそれぞれ３２回ずつ送信データ書込み部４１８に送出される。
【０１７９】
送信データ書込み部４１８はＮＩ３４０１を受信し、ＮＩのＮＥ＿ＩＤ行に書かれたＮＥ＿ＩＤ１を参照し（ｓ６９０５）、前記ＮＥ＿ＩＤにみあったバージョン番号１をバージョン番号テーブル４２００から参照し（ｓ６９０６）、ＮＩにバージョン番号１とＰＩＤ１００３を割り当て（ｓ６９０７）、ＮＩデータを送信データ保持部４１９に書込む（ｓ６９０８）。その後、参照したバージョン番号を参照したバージョン番号に１加えた値２に書き換え（ｓ６９０９）、番組情報制御部４１５から番組終了命令があるか否かを判定する（ｓ６９０３）。同様にＮＩ３４００（２）を受信し、バージョン番号１とＰＩＤ１００３を割り当て、ＮＩデータを送信データ保持部４１９に書込む。ＮＩ３４０１、ＮＩ３４０２はそれぞれ３２回ずつ送信データ書込み部４１８に送出されるため、ＮＩ３４０１、ＮＩ３４０２にＰＩＤ１００３とバージョン番号１〜３２を割り当てたそれぞれ３２のＮＩデータが順次送信データ保持部４１９に書込まれる。また、バージョン番号テーブルは、再びバージョン番号テーブル４２００の状態となる。
【０１８０】
送信データ読み出し部４２０は送信データ保持部４１９の送出データ４６５０をセクション単位で読み出し、トランスポートストリーム４８２０としてデータ送信部４２１に送信し、データ送信部４２１はＮＩデータを多重化部４２４に送信し、多重化部４２１はＮＩデータ、映像データ、音声データを多重して送信する。
【０１８１】
ＴＳデコーダ部５０２は、ＰＩＤ１００３、バージョン番号１〜３２のＮＩ３４０１、ＮＩ３４０２を受信した場合、フィルタ条件５４０４のフィルタ識別子「３」の行の「ＮＥ＿ＩＤ」欄に記載されたＮＥ＿ＩＤすなわち１、「Version_number」欄に記載されたバージョン番号すなわち３２持つＮＩデータ以外のＮＩデータはつまりセクション４６５８以外のセクションを受信すると、セクションのＮＥ＿ＩＤ１とバージョン番号（例えば１）を参照し、フィルタ条件５４０４のフィルタ識別番号「３」の行のＮＥ＿ＩＤ１と「Version_number」「３２」をみたすか否かを判定し（ｓ７３１２）、否定であるのでＮＩデータを破棄する。セクション４６５８を取得すると、セクションのＮＥ＿ＩＤ１とバージョン番号３２を参照し、フィルタ条件５４０４のフィルタ識別番号「３」の行のＮＥ＿ＩＤ１と「Version_number」「３２」をみたすか否かを判定する（ｓ７３１２）。肯定であるので、そのセクションデータ４６５８を受信データ記憶部５０５に送信し（ｓ７３１４）、フィルタ条件５４０４のフィルタ識別番号「３」の行のバージョン番号の値をセクションのバージョン番号３２を１に書き換え（ｓ７３１５）、ＰＩＤ変更命令があるか否かを判定する（ｓ７３０１）。フィルタ条件５４０４はフィルタ条件５４０５となる。
【０１８２】
受信データ記憶部５０５は、ＮＩ３４０１を受信し、受信制御部５０７にＮＩ取得通知をし、受信制御部５０７はＮＩ取得動作をする（ｓ７２１３）。受信制御部５０７は受信データ記憶部５０５からＮＩ取得通知を受信すると（ｓ７２１２）、受信制御部５０７は表示部５０８に現在表示されているグラフィックの消去を命じ（ｓ７５０１）、focused_bottonの値を１に初期化し（ｓ７５０２）、受信データ記憶部５０５のＮＩを参照してイニシャライズテーブルがあるか否かを判定する（ｓ７５０３）。否定であるので、オブジェクトテーブルがあるか否かを判定する（ｓ７５０５）。否定であるので、グラフィックテーブルを作成しない。表示部５０８は、受信制御部５０７からのグラフィックテーブルを受信があるまでは、映像データ５０００すなわちシーン１１３を表示する。
【０１８３】
送信データ書込み部４１８は合成データ部４０５から送信されたＮＥ＿ＩＤ１なるＮＩを受信し、バージョン番号テーブル４２００を参照して、ＮＥ＿ＩＤ１にみあったバージョン番号１とＰＩＤ１００３を割り当て、送信データ保持部４１９に送信する。このＮＩデータをＴＳデコーダ部５０２が取得すると、フィルタ条件５４０５のフィルタ識別番号「３」の行の「ＮＥ＿ＩＤ」欄のＮＥ＿ＩＤ１、「Version_number」欄のバージョン番号１を満たすので、受信データ記憶部５０５に送出され、受信制御部５０７にＮＩ取得通知がなされる。受信制御部５０５は表示部５０８に現在表示されているグラフィックの消去を命じ（ｓ７５０１）、focused_bottonの値を１に初期化し（ｓ７５０２）、受信データ記憶部５０５のＮＩを参照してイニシャライズテーブルがあるか否かを判定する（ｓ７５０３）。否定であるので、オブジェクトテーブルがあるか否かを判定する（ｓ７５０５）。肯定であるので、オブジェクトテーブルを参照して、グラフィックテーブル５７６０を作成し（ｓ７５０６）、表示部５０８に送信する（ｓ７５０７）。表示部５０８は、受信制御部５０７からグラフィックテーブル５７６０を受信すると、映像データ５０００すなわちシーン１１４を表示する。
【０１８４】
【発明の効果】
以上説明したように本発明によれば以下のような効果が得られる。
【０１８５】
1)  取得したデータから送信データを高速に作成して送信できるため、リアルタイムなデータ放送を実現できる。
【０１８６】
2)  変更情報において変更頻度が高い部分だけを頻繁に送信してもらい、変更がほとんど起らない部分については頻度を下げて送信してもらうことで、情報提供手段と情報取得手段間における通信で帯域幅を有効に活用し、データ更新速度を高められる。
【０１８７】
3)  通信エラーや情報提供部のエラーが発生しても異常状態に陥らず、利用者にトラブルを知らせることができる。
【０１８８】
4)  通信エラーによりデータが書き換えられてしまっても、そのデータを過って使用して、利用者に間違ったデータを提供することなく、トラブルを知らせることができる。
【０１８９】
5） データ送出装置が自動的に通信エラーを検知し、利用者にトラブルを知らせることができる。
【０１９０】
6） 外部からの入力により情報取得部が取得したデータを利用者に提供しないようにすることが可能である。
【０１９１】
7） バージョン番号が不連続になり、受信機がNIを取得できない状態になった場合、受信機が再びNIを取得するまでの時間を短縮出来る。
【０１９２】
8)  データから生成できるナビゲーション情報数が減少すると、減少するナビゲーションを選択している利用者が視聴しているデータはそれ以上更新されない。利用者が古いデータを古いデータであると気づかずに見続けないため、減少するナビゲーションを選択している受信装置に対し、減少することのないナビゲーションへ強制的に切り替えさせる事ができる。
【０１９３】
9)  送信されるべきＮＩがない状態であることを利用者に知らせ受信機の故障と区別することができる。
【０１９４】
10)  受信機の負担を軽減できる。
11)  PIDはあらかじめ決定しておく必要がなく、PID制御することにより番組情報に合せたデータ放送を行なうことができる。
【０１９５】
12)  番組情報に従った、データ送出が実現できる。
13)  新しい番組が始まった際に、前の番組のデータが送出されるのを防ぐとこができる。
【０１９６】
14） 番組開始直後で、送出すべきＮＩがまだないことを利用者に知らせ受信機の故障と区別することができる。
【図面の簡単な説明】
【図１】本実施例におけるデジタル放送システムの情報提供部とデータ送出装置とデータ放送受信装置の構成図
【図２】図１のデータ送出装置の詳細を示す図
【図３】図１のデータ放送受信装置の詳細を示す図
【図４】データ放送受信装置により切り替えながら再生される対話的番組の例を示す図
【図５】データ放送受信装置により切り替えながら再生される対話的番組の例を示す図
【図６】情報提供部に記憶されている番組データの一例を示す図
【図７】情報提供部から情報取得部に送られる固定データの一例を示した図
【図８】情報提供部から情報取得部に送られる更新データの一例を示した図
【図９】情報提供部から情報取得部に送られる更新データの一例を示した図
【図１０】情報提供部から情報取得部に送られる更新データの一例を示した図
【図１１】情報提供部から情報取得部に送られるもしくは外部入力受信部からデータ判断部に送られるトラブルスライド発行要求の一例を示した図
【図１２】外部入力受信部からデータ判断部に送られるバージョン番号巡回処理要求の一例を示した図
【図１３】スケルトン保持部に保持されているスケルトンの一例を示す図
【図１４】ＮＩの一例を示す図
【図１５】ＮＩの一例を示す図
【図１６】ＮＩの一例を示す図
【図１７】ＮＩの一例を示す図
【図１８】ＮＩの一例を示す図
【図１９】ＮＩの一例を示す図
【図２０】ＮＩの一例を示す図
【図２１】ＮＩの一例を示す図
【図２２】トラブルスライド用ＮＩ保持部に保持されているトラブルスライド用ＮＩの一例を示す図
【図２３】トラブルスライド用ＮＩの一例を示す図
【図２４】バージョン巡回用ＮＩ保持部に保持されているバージョン巡回用ＮＩの一例を示す図
【図２５】バージョン巡回用ＮＩの一例を示す図
【図２６】エントリ復帰ＮＩ保持部に保持されているエントリ復帰ＮＩの一例を示す図
【図２７】エントリ復帰ＮＩの一例を示す図
【図２８】番組情報及びＳＩデータの一例を示す図
【図２９】番組情報制御部が保持する番組情報の一例を示す図
【図３０】サービス開始ＮＩ保持部が保持しているサービス開始ＮＩの一例を示す図
【図３１】送信データ書込み部が保持するバージョン番号テーブルの一例を示す図
【図３２】送信データ書込み部が保持するバージョン番号テーブルの一例を示す図
【図３３】送信データ保持部が保持しているＮＩの格納方法を示す図
【図３４】送信データ保持部が保持しているＮＩの格納方法を示す図
【図３５】送信データ保持部が保持している送出テーブルの一例を示す図
【図３６】送信データ読み出し部が送信データ読み出しアルゴリズムを用いて作成したトランスポートストリームの一例を示す図
【図３７】送信データ読み出し部が送信データ読み出しアルゴリズムを用いて作成したトランスポートストリームの一例を示す図
【図３８】映像データの一例を示す図
【図３９】ＴＳデコーダ部が保持するフィルタ条件の一例を示した図
【図４０】受信番組記憶部が保持している番組情報の一例を示す図
【図４１】受信制御部で作成されるグラフィックテーブルの一例を示す図
【図４２】受信制御部で作成されるグラフィックテーブルの一例を示す図
【図４３】受信制御部で作成されるグラフィックテーブルの一例を示す図
【図４４】受信制御部で作成されるグラフィックテーブルの一例を示す図
【図４５】受信制御部で作成されるグラフィックテーブルの一例を示す図
【図４６】受信制御部で作成されるグラフィックテーブルの一例を示す図
【図４７】受信制御部で作成されるグラフィックテーブルの一例を示す図
【図４８】受信制御部で作成されるグラフィックテーブルの一例を示す図
【図４９】データ送出装置の全体の動作を説明するフローチャート
【図５０】情報取得部の詳細を説明するフローチャート
【図５１】データ判断部の詳細を説明するフローチャート
【図５２】データ合成部の詳細を説明するフローチャート
【図５３】トラブルスライド用ＮＩ読み出し部の詳細を説明するフローチャート
【図５４】バージョン巡回用ＮＩ読み出し部の詳細を説明するフローチャート
【図５５】エントリ復帰ＮＩ読み出し部の詳細を説明するフローチャート
【図５６】送信データ書込み部の詳細を説明するフローチャート
【図５７】送信データ読み出し部の詳細を説明するフローチャート
【図５８】データ放送受信装置の全体の動作を説明するフローチャート
【図５９】ＴＳデコータ部の詳細を説明するフローチャート
【図６０】ＮＩ取得動作の詳細を説明するフローチャート
【図６１】ハンドラ実行の詳細を説明するフローチャート
【符号の説明】
３０１  情報提供部
３０３  データ放送受信装置
４０１  情報取得部
４０２  データ判断部
４０３  固定データ保持部
４０４  スケルトン保持部
４０５  データ合成部
４１８  送信データ書込み部
４１９  送信データ保持部
４２０  送信データ読出し部
４２１  データ送出部
４２４  多重化部
５０１  受信部
５０２  ＴＳデコーダ部
５０５  受信データ記憶部
５０６  信号受信部
５０７  受信制御部
５０８  表示部
５１１  番組データ
６００  固定データ
７００  変更データ
１１００  スケルトン
２５００  NI
５７００  グラフィックボタンテーブル
【図１】
0004186268.tif 000002
【図２】
0004186268.tif 000003
【図３】
0004186268.tif 000004
【図４】
0004186268.tif 000005
【図５】
0004186268.tif 000006
【図６】
0004186268.tif 000007
【図７】
0004186268.tif 000008
【図８】
0004186268.tif 000009
【図９】
0004186268.tif 000010
【図１０】
0004186268.tif 000011
【図１１】
0004186268.tif 000012
【図１２】
0004186268.tif 000013
【図１３】
0004186268.tif 000014
【図１４】
0004186268.tif 000015
【図１５】
0004186268.tif 000016
【図１６】
0004186268.tif 000017
【図１７】
0004186268.tif 000018
【図１８】
0004186268.tif 000019
【図１９】
0004186268.tif 000020
【図２０】
0004186268.tif 000021
【図２１】
0004186268.tif 000022
【図２２】
0004186268.tif 000023
【図２３】
0004186268.tif 000024
【図２４】
0004186268.tif 000025
【図２５】
0004186268.tif 000026
【図２６】
0004186268.tif 000027
【図２７】
0004186268.tif 000028
【図２８】
0004186268.tif 000029
【図２９】
0004186268.tif 000030
【図３０】
0004186268.tif 000031
【図３１】
0004186268.tif 000032
【図３２】
0004186268.tif 000033
【図３３】
0004186268.tif 000034
【図３４】
0004186268.tif 000035
【図３５】
0004186268.tif 000036
【図３６】
0004186268.tif 000037
【図３７】
0004186268.tif 000038
【図３８】
0004186268.tif 000039
【図３９】
0004186268.tif 000040
【図４０】
0004186268.tif 000041
【図４１】
0004186268.tif 000042
【図４２】
0004186268.tif 000043
【図４３】
0004186268.tif 000044
【図４４】
0004186268.tif 000045
【図４５】
0004186268.tif 000046
【図４６】
0004186268.tif 000047
【図４７】
0004186268.tif 000048
【図４８】
0004186268.tif 000049
【図４９】
0004186268.tif 000050
【図５０】
0004186268.tif 000051
【図５１】
0004186268.tif 000052
【図５２】
0004186268.tif 000053
【図５３】
0004186268.tif 000054
【図５４】
0004186268.tif 000055
【図５５】
0004186268.tif 000056
【図５６】
0004186268.tif 000057
【図５７】
0004186268.tif 000058
【図５８】
0004186268.tif 000059
【図５９】
0004186268.tif 000060
【図６０】
0004186268.tif 000061
【図６１】
0004186268.tif 000062