(57)【特許請求の範囲】
【請求項１】
受信側で視聴されるときに送信される第１のチャネルの第１の番組データを、前記第１のチャネルと異なる第２のチャネルの第２の番組データの暗号化を解く鍵とともに送信し、
前記第１の番組データの送信が開始されるよりも前の時点で、暗号化されている前記第２の番組データを送信し、
前記第２の番組データから、イントラピクチャを検出し、そのイントラピクチャの位置と、前記第２の番組の開始時刻からの経過時間を関連付けた関連情報を作成し、前記第２の番組データを送信するときに送信し、
前記第１の番組と前記第２の番組の両方に関する第１のＥＰＧであり、前記第１の番組であるのか、または、前記第２の番組であるのかを示すフラグを含む前記第１のＥＰＧと、前記第２の番組に関する第２のＥＰＧをそれぞれ生成し、送信する
ステップを含む送信方法。
【請求項２】
前記第２のデータの送信を開始するとき、受信側で蓄積されている第２の番組データを消去させるためのコマンドを送信し、
前記第２のデータのダウンロードを実行させるためのコマンドを送信する
ステップをさらに含む請求項１に記載の送信方法。
【請求項３】
受信側で視聴されるときに送信される第１のチャネルの第１の番組データを、前記第１のチャネルと異なる第２のチャネルの第２の番組データの暗号化を解く鍵とともに送信し、
前記第１の番組データの送信が開始されるよりも前の時点で、暗号化されている前記第２の番組データを送信し、
前記第２の番組データから、イントラピクチャを検出し、そのイントラピクチャの位置と、前記第２の番組の開始時刻からの経過時間を関連付けた関連情報を作成し、前記第２の番組データを送信するときに送信し、
前記第１の番組と前記第２の番組の両方に関する第１のＥＰＧであり、前記第１の番組であるのか、または、前記第２の番組であるのかを示すフラグを含む前記第１のＥＰＧと、前記第２の番組に関する第２のＥＰＧをそれぞれ生成し、送信する
ステップを含む処理を実行するコンピュータ読み取り可能なプログラム。
【請求項４】
受信側で視聴されるときに送信される第１のチャネルの第１の番組データを、前記第１のチャネルと異なる第２のチャネルの第２の番組データの暗号化を解く鍵とともに送信する第１の送信部と、
前記第１の番組データの送信が開始されるよりも前の時点で、暗号化されている前記第２の番組データを送信する第2の送信部と、
前記第２の番組データから、イントラピクチャを検出し、そのイントラピクチャの位置と、前記第２の番組の開始時刻からの経過時間を関連付けた関連情報を作成し、前記第２の番組データを送信するときに送信する第３の送信部と、
前記第１の番組と前記第２の番組の両方に関するＥＰＧであり、前記第１の番組であるのか、または、前記第２の番組であるのかを示すフラグを含む前記第１のＥＰＧと、前記第２の番組に関する第２のＥＰＧをそれぞれ生成し、送信する第４の送信部と
を備える送信装置。
【請求項５】
視聴されるときに送信されてくる第１のチャネルの第１の番組データを、前記第１のチャネルと異なる第２のチャネルの第２の番組データの暗号化を解く鍵とともに受信し、
前記第１の番組データの送信が開始されるよりも前の時点で、暗号化されている前記第２の番組データを受信し、蓄積し、
前記第２の番組データから、イントラピクチャを検出し、そのイントラピクチャの位置と、前記第２の番組の開始時刻からの経過時間を関連付けた関連情報を、前記第２の番組データが受信されたときに受信し、蓄積し、
前記第１の番組と前記第２の番組の両方に関するＥＰＧであり、前記第１の番組であるのか、または、前記第２の番組であるのかを示すフラグを含む前記ＥＰＧを受信する
ステップを含む受信方法。
【請求項６】
前記第２のデータの受信を開始するとき、蓄積されている第２の番組データを消去させるためのコマンドを受信し、そのコマンドに応じて、前記蓄積されている第２の番組データを消去し、
前記第２のデータのダウンロードを実行させるためのコマンドを受信し、そのコマンドに応じて、前記第２のデータのダウンロードを開始し、蓄積する
ステップをさらに含む請求項５に記載の受信方法。
【請求項７】
前記第２のチャネルの再生が指示されたとき、前記第２の番組データが前記第１の番組データよりも前の時点で送信された番組であることを判断すると共に前記第２の番組データの提供開始時刻からの経過時間を、前記関連情報を用いて算出し、該算出された経過時間分スキップした位置から前記第２の番組データの再生を開始する
請求項５または６に記載の受信方法。
【請求項８】
視聴されるときに送信されてくる第１のチャネルの第１の番組データを、前記第１のチャネルと異なる第２のチャネルの第２の番組データの暗号化を解く鍵とともに受信し、
前記第１の番組データの送信が開始されるよりも前の時点で、暗号化されている前記第２の番組データを受信し、蓄積し、
前記第２の番組データから、イントラピクチャを検出し、そのイントラピクチャの位置と、前記第２の番組の開始時刻からの経過時間を関連付けた関連情報を、前記第２の番組データが受信されたときに受信し、蓄積し、
前記第１の番組と前記第２の番組の両方に関するＥＰＧであり、前記第１の番組であるのか、または、前記第２の番組であるのかを示すフラグを含む前記ＥＰＧを受信する
ステップを含む処理を実行するコンピュータ読み取り可能なプログラム。
【請求項９】
視聴されるときに送信されてくる第１のチャネルの第１の番組データを、前記第１のチャネルと異なる第２のチャネルの第２の番組データの暗号化を解く鍵とともに受信する第１の受信部と、
前記第１の番組データの送信が開始されるよりも前の時点で、暗号化されている前記第２の番組データを受信し、蓄積する第１の蓄積部と、
前記第２の番組データから、イントラピクチャを検出し、そのイントラピクチャの位置と、前記第２の番組の開始時刻からの経過時間を関連付けた関連情報を、前記第２の番組データが受信されたときに受信し、蓄積する第２の蓄積部と、
前記第１の番組と前記第２の番組の両方に関するＥＰＧであり、前記第１の番組であるのか、または、前記第２の番組であるのかを示すフラグを含む前記ＥＰＧを受信する第２の受信部と
を備える受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は送信方法、送信装置、受信方法、受信装置、プログラムに関し、特に、帯域を有効に利用して番組などの情報をユーザに提供する際に用いて好適な送信方法、送信装置、受信方法、受信装置、プログラムに関する。
【背景技術】
【０００２】
近年、衛星を用いたテレビジョン放送が普及しつつある。図１に示すように、放送局側の送信装置１から送信された番組に関するデータは、衛星２を介して、各家庭に設置されている受信装置３に対して供給される。
【０００３】
図２は、送信装置１の一例の構成を示す図である。送信装置１は、装置内の制御を行う制御部１１を備えている。制御部１１は、編成データを蓄積するためのメモリ１２を備えている。編成データとは、番組を放送する際に使用されるスケジュール（番組表）に関するデータである。また、制御部１１は、時計１３を備え、時計１３による時刻により、各部のデータの送出タイミングなどを管理する。
【０００４】
ＶＴＲ（Video Tape Recorder）カート１４は、複数のＶＴＲ装置、そのＶＴＲ装置にＶＴＲテープを搬送し、挿入を行う装置、およびＶＴＲテープを収納する棚から構成され制御部１１の指示により、所定のＶＴＲテープが棚からＶＴＲ装置に対して搬送され、セットされる。このようにして、ＶＴＲ装置にセットされたＶＴＲテープから再生されたデータのうち、ビデオデータは、ビデオエンコーダ１５に、オーディオデータは、オーディオエンコーダ１６に、それぞれ出力される。
【０００５】
ビデオエンコード１５とオーディオエンコーダ１６は、それぞれ、入力されたデータを、所定の方式、例えば、ＭＰＥＧ（Moving Picture Expert Group）方式によりエンコードし、多重化部１７に出力する。多重化部１７には、ＥＰＧ（Electric Program Guide）発生部１８により発生されたＥＰＧも入力される。
【０００６】
多重化部１７は、多重化制御部１９の制御に基づき、入力されたデータの多重化処理を実行する。多重化部１７が実行する多重化の方式としては、例えば、時分割多重化方式が用いられ、MPEG2 TS(ISO13818-1)などを用いることが可能である。
【０００７】
多重化制御部１９は、制御部１１からの情報を受け、ビデオストリームやオーディオストリームを搬送するためのＴＳ（トランスポートストリーム）パケットのＰＩＤ（Packet ID）を決定し、多重化部１７に出力する。多重化部１７は、多重化制御部１９からのＰＩＤにより、入力されたビデオストリームやオーディオストリームが格納されるＴＳパケットのＰＩＤを設定する。
【０００８】
多重化制御部１９は、ＰＩＤの情報を含めたＰＳＩ（Program Specific Information）の情報を生成し、多重化部１７に供給する。この供給されたＰＳＩの情報を、他の信号に含めて、多重化部１７は、多重化処理を実行する。
【０００９】
制御部１１は、送信装置１の各部を制御すると共に、内蔵する時計１３による時刻情報をＰＣＲ（Program Clock Reference）に変換し、多重化部１７に供給する。また、制御部１１は、多重化制御部１９に、ＰＣＲをどのストリームに付加させるかの指示を出す。ここでは、ＰＣＲをビデオストリームに付加させるという指示が出されたとして、以下の説明をする。
【００１０】
多重化制御部１９は、ビデオストリームに指定したＰＩＤと同じＰＩＤを、ＰＣＲを付加するトランスポートパケットのＰＩＤとして指定する。多重化部１７は、供給されたＰＣＲをビデオストリームのトランスポートパケット内に含ませる。
【００１１】
多重化部１７からの出力は、ＥＣＣ（Error Correcting Code）／変調部２０に入力され、誤り訂正符号の付加や送信のための変調の処理が施され、増幅部２１に出力される。増幅部２１は、入力されたデータを送信するために必要な電力まで増幅させ、アンテナ２２により、電波として送信させる。
【００１２】
このようにして、送信装置１から送信されたデータは、衛星２を介して受信装置３に受信される。図３は、受信装置３の一例の構成を示す図である。受信装置３は、装置内の制御を行う制御部３１を備えている。制御部３１は、ＥＰＧやＰＳＩの情報を記憶するメモリ３２と、時計３３を備えている。
【００１３】
受信装置３のアンテナ３４で受信された電波（信号）は、フロントエンド３５に出力され、同調、復調、および誤り訂正符号の除去などが行われ、トランスポートストリームとして出力される。フロントエンド３５から出力されたトランスポートストリームは、ＰＳＩ用フィルタ３６、ＥＰＧ用ＰＩＤフィルタ３７、出力用ＰＩＤフィルタ３８、およびＰＣＲ用ＰＩＤフィルタ３９に出力される。これらのフィルタは、それぞれ指定されたＰＩＤを含むトランスポートパケットを、入力したトランスポートストリームから抽出する。
【００１４】
ＰＳＩ用フィルタ３６は、入力されたトランスポートストリームからＰＳＩの含まれているトランスポートパケットを抽出し、その結果得られたＰＳＩを、制御部３１に出力する。制御部３１は、入力したＰＳＩをメモリ３２に記憶する。
【００１５】
ＥＰＧ用ＰＩＤフィルタ３７は、入力されたトランスポートストリームからＥＰＧを含むトランスポートパケットを抽出する。この抽出されるＥＰＧを含むトランスポートパケットのＰＩＤは、制御部３１から供給される。この供給されたＰＩＤに基づいて、ＥＰＧ用ＰＩＤフィルタ３７は、抽出したトランスポートパケットからさらにＥＰＧ情報を抽出し、制御部３１に出力する。制御部３１は、入力されたＥＰＧ情報を、メモリ３２に記憶する。
【００１６】
出力用ＰＩＤフィルタ３８は、入力されたトランスポートストリームからビデオストリームとオーディオストリームが含まれるトランスポートパケットを抽出する。その抽出されるビデオストリームとオーディオストリームの含まれるトランスポートパケットのＰＩＤは、制御部３１から供給される。
【００１７】
出力用ＰＩＤフィルタ３８は、制御部３１から供給されたＰＩＤに基づき、入力されたトランスポートパケットから、ビデオストリームを抽出し、ビデオデコーダ４０に出力する。同様に、出力用ＰＩＤフィルタ３８は、供給されたＰＩＤに基づき、入力されたトランスポートパケットから、オーディオストリームを抽出し、オーディオデコーダ４１に出力する。
【００１８】
ＰＣＲ用ＰＩＤフィルタ３９は、入力されたトランスポートストリームからＰＣＲが含まれるトランスポートパケットを抽出する。このＰＣＲの含まれるトランスポートパケットのＰＩＤは、制御部３１から供給される。供給されたＰＩＤに基づき、ＰＣＲ用ＰＩＤフィルタ３９は、入力されたトランスポートストリームからＰＣＲを抽出し、ＳＴＣ（System Time Clock）４２に供給する。ＳＴＣ４２は、入力されたＰＣＲを基に自身のクロックの同期を行う。
【００１９】
ＯＳＤ（On Screen Display）４３は、必要に応じて制御部３１の制御を受け、ビデオ信号を生成し、加算部４４に供給する。加算部４４は、ＯＳＤ４３からのビデオ信号と、ビデオデコーダ４０からビデオ信号に加算（混合）して、受信装置３に接続されているテレビジョン受像機（不図示）に出力する。
【００２０】
受信装置３では、複数の番組が同時に受信される。受信装置３では、受信された複数の番組からユーザ（視聴者）が所望する番組を提供する必要がある。受信装置３側で行われる番組選択の際の動作について、図４のフローチャートを参照して説明する。図４のフローチャートの処理は、受信装置３の電源がリモートコントローラ（不図示）などが操作されることによりオンの状態にされたときに行われる。
【００２１】
ステップＳ１において、受信装置３の制御部３１は、メモリ３２に記憶されているＰＳＩまたはＥＰＧの情報のどちらか一方でも、現在時刻に対して古い情報であるか否か、および情報として不足していないか否かを判断する。すなわち、制御部３１は、メモリ３２に記憶されているＰＳＩとＥＰＧの情報と、時計３３の示す時刻情報と比較し、現在時刻より古い情報であるか、情報として不足していないかを判断する。
【００２２】
ステップＳ１において、メモリ３２に記憶されているＰＳＩまたはＥＰＧの情報のどちらか一方でも、現在時刻に対して古い情報である、あるいは情報として不足していると判断された場合、ステップＳ２に進み、現在時刻に対して古い情報ではなく、情報としても不足していないと判断された場合、ステップＳ２の処理を省略し、ステップＳ３に進む。
【００２３】
ステップＳ２において、ＰＳＩとＥＰＧの更新が行われる。制御部３１は、フロントエンド３５に、デフォルトのチャネルを受信するように指示する。受信装置３は、予めデフォルトとして所定のチャネルが設定されており、フロントエンド３５は、デフォルトのチャネルの伝送される周波数／帯域に同調し、信号を復調し、誤り訂正符号による信号の訂正等が行われ、トランスポートストリームとして出力する。
【００２４】
フロントエンド３５から出力されたトランスポートストリームは、ＰＳＩ用フィルタ３６とＥＰＧ用ＰＩＤフィルタ３７に、それぞれ供給される。出力用ＰＩＤフィルタ３８とＰＣＲ用ＰＩＤフィルタ３９にも、フロントエンド３５から出力されたトランスポートストリームは供給されるが、この場合、この２つのフィルタにおいては、使用されない（処理は行われない）。
【００２５】
ＰＳＩ用フィルタ３６は、入力されたトランスポートストリームからＰＳＩの情報を抽出して制御部３１に供給する。制御部３１に供給されたＰＳＩは、メモリ３２に記憶される。この場合、同時に放送される番組数（ここでは１とする）、番組に対するビデオ／オーディオストリームの本数（ここではそれぞれ１とする）、各ストリームに対するＰＩＤ、ＰＣＲを運んでいるトランスポートパケットのＰＩＤ、ＥＰＧの送信方法などに関する情報が、制御部３１に供給される。
【００２６】
ＰＳＩの含まれているＰＩＤは決まっているので、制御部３１がＰＳＩ用フィルタ３６に対してＰＩＤを供給する必要はない。制御部３１は、ＥＰＧ用ＰＩＤフィルタ３７に、ＥＰＧを含んでいるトランスポートパケットのＰＩＤの値を供給する。ＥＰＧ用ＰＩＤフィルタ３７は、与えられたＰＩＤの値を使用してトランスポートパケットを選り分け、ＥＰＧデータを抽出し、制御部３１に供給する。制御部３１に供給されたＥＰＧ情報は、メモリ３２に記憶される。
【００２７】
ＰＳＩとＥＰＧ情報は、どのトランスポートストリームにも含まれている。制御部３１においては、上記の動作が常時行われており、ＰＳＩとＥＰＧの情報は常にアップデートされている。
【００２８】
制御部３１は、必要に応じ、あるいは、図示せぬリモートコントローラなどからのユーザの指示に応じ、ＥＰＧの情報を抽出し、加工し、ＯＳＤ４３に指示してビデオ信号に変更させる。ＯＳＤ４３が生成したビデオ信号は、加算部４４によりビデオデコーダ４０からの出力信号と混合されて出力される。
【００２９】
ステップＳ３において、制御部３１は、前回電源が切られる直前に視聴されていたチャネルを、図示せぬ不揮発性記憶装置等から読み出す。前回電源が切られる前に視聴されていたのがチャネルＡであるとする。
【００３０】
制御部３１はフロントエンド３５に指示して、チャネルＡを受信するように指示する。フロントエンド３５は、チャネルＡの伝送される周波数／帯域に同調し、信号を復調し、誤り訂正符号による信号の訂正等を行い、トランスポートストリームを出力する。
【００３１】
フロントエンド３５から出力されたトランスポートストリームは、ＰＳＩ用フィルタ３６、ＥＰＧ用ＰＩＤフィルタ３７、出力用ＰＩＤフィルタ３８、およびＰＣＲ用ＰＩＤフィルタ３９に、それぞれ供給される。
【００３２】
ＰＳＩ用フィルタ２０４は、上述したように、入力されたトランスポートストリームからＰＳＩの情報を抽出して制御部３１に供給し、メモリ３２に記憶されているＰＳＩは更新される。ＥＰＧ用ＰＩＤフィルタ３７も上述したように、供給されたＰＩＤの値を用いてトランスポートパケットを選り分けてＥＰＧ情報を抽出し、制御部３１に供給し、制御部３１は、メモリ３２に記憶されているＥＰＧ情報を更新する。
【００３３】
制御部３１は、出力用ＰＩＤフィルタ３８に対して、ビデオストリームを運んでいるトランスポートパケットのＰＩＤとオーディオストリームを運んでいるトランスポートパケットのＰＩＤの値を供給する。また、制御部３１はＥＰＧ用ＰＩＤフィルタ３７にＥＰＧを含んでいるトランスポートパケットのＰＩＤの値を供給する。制御部３１は、ＰＣＲ用ＰＩＤフィルタ３９に、ＰＣＲを含んでいるトランスポートパケットのＰＩＤの値を供給する。
【００３４】
出力用ＰＩＤフィルタ３８は、供給された２つのＰＩＤの値を用いてトランスポートパケットを選り分け、ビデオストリームとオーディオストリームを抽出する。ビデオストリームはビデオデコーダ４０に、オーディオストリームはオーディオデコーダ４１に、それぞれ供給される。
【００３５】
ビデオデコーダ４０は、供給された所定のエンコード方式でエンコードされたビデオストリームをビデオ信号に変換（デコード）して出力する。同様に、オーディオデコーダ４１は、供給されたオーディオストリームをオーディオ信号に変換して出力する。
【００３６】
ＰＣＲ用ＰＩＤフィルタ３９は、与えられたＰＩＤの値を使用してトランスポートパケットを選り分けてＰＣＲを抽出し、ＳＴＣ４２に供給する。ＳＴＣ４２は入力されたＰＣＲに自身のクロックを同期させる。ＰＣＲを用いて発生された内部クロックは、ビデオデコーダ４０とオーディオデコーダ４１の同期クロックとして使用される。
【００３７】
ステップＳ４において、制御部３１は、図示せぬユーザが図示せぬリモートコントローラあるいは受信装置３に設けられているボタン等により、チャネルの変更が指示されたか否かを判断する。チャネルが変更されたと判断された場合、ステップＳ５に進み、チャネルは変更されていないと判断された場合、ステップＳ４に戻り、それ以降の処理が繰り返される。
【００３８】
ステップＳ４において、ユーザからの指示があったと判断された場合、その指示は制御部３１に伝えられ、制御部３１は、フロントエンド３５に指示して、指定されたチャネルを受信するように指示する。その結果、ステップＳ５において、フロントエンド３５から出力されたトランスポートストリームが、上述したような処理が施される事により、新たに選択されたチャネルの番組の出力が行われる。このような処理が終了されると、ステップＳ４に戻り、それ以降の処理が繰り返される。
【００３９】
このようにして、受信装置３において受信された複数のチャネル（番組）から、ユーザが所望した番組が提供される。
【特許文献１】特開平１０−２６２０１３号公報
【特許文献２】特開平１０−３３６６２５号公報
【特許文献３】特開平１１−２０５７０７号公報
【特許文献４】特開平１０−０７９７１１号公報
【発明の開示】
【発明が解決しようとする課題】
【００４０】
送信装置１側から受信装置３側に送信されるチャネルについて説明する。ここでは、図５に示すように、２４時間に渡り１つのチャネルＡだけが提供される場合を例に挙げて説明する。また、放送施設として用意された帯域は終日２４Mbpsとする。この数値は、誤り訂正や変調を行う前のビットレートであり、多重化部１７からＥＣＣ／変調部２０に渡されるデータのビットレートである。
【００４１】
図６は、図５の１０月１０日のプライムタイム前後を拡大し、番組の区切りと番組名を追加したものである。プライムタイムとは、他の時間帯と比較して視聴している視聴者が多い時間帯のことであり、例えば、１９時から２３時の時間帯のことである。
【００４２】
チャネルＡにおいては、１０月１０日の１８時から１９時まで“番組Ａ”が提供される。以下同様に１９時から２０時まで“番組Ｂ”、２０時から２１時まで“番組Ｃ”、２１時から２３時まで“番組Ｄ”が提供される。
【００４３】
図７に示したような番組提供（放送）スケジュールを、必要な情報とともに一覧にしたものは、編成データなどと称される。編成データは、番組毎のレコードが複数集まってできたデータである。番組毎のレコードには、“チャネル”、“日付”、“開始時間”、“長さ”、“番組名”、および“属性”の６つのフィールドが設けられている。
【００４４】
このような編成データは、図示せぬ送信装置１の管理者により、制御部１１に設定され、メモリ１２に記録される。編成データは、送信装置１全体の制御に用いられる。
【００４５】
ところで、チャネルＡは、終日２４Mbpsの帯域をもつ伝送路を用いて、番組の提供を行っているが、このことは、プライムタイムのときと、プライムタイムでないときとを区別なく、同じ帯域で番組の提供を行っていることになり、帯域の有効利用を行っていないとい考えられる。
【００４６】
本発明はこのような状況に鑑みてなされたものであり、帯域が余っている時間帯に、受信装置に対して番組に関するデータを送信し、記憶させ、プライムタイムにその番組を視聴できるような仕組みを設けることにより、あたかも、プライムタイムにチャンネルが増したかのような効果を得るようにする。
【課題を解決するための手段】
【００４７】
本発明の一側面の送信方法は、受信側で視聴されるときに送信される第１のチャネルの第１の番組データを、前記第１のチャネルと異なる第２のチャネルの第２の番組データの暗号化を解く鍵とともに送信し、前記第１の番組データの送信が開始されるよりも前の時点で、暗号化されている前記第２の番組データを送信し、前記第２の番組データから、イントラピクチャを検出し、そのイントラピクチャの位置と、前記第２の番組の開始時刻からの経過時間を関連付けた関連情報を作成し、前記第２の番組データを送信するときに送信し、前記第１の番組と前記第２の番組の両方に関する第１のＥＰＧであり、前記第１の番組であるのか、または、前記第２の番組であるのかを示すフラグを含む前記第１のＥＰＧと、前記第２の番組に関する第２のＥＰＧをそれぞれ生成し、送信するステップを含む。
【００４８】
前記第２のデータの送信を開始するとき、受信側で蓄積されている第２の番組データを消去させるためのコマンドを送信し、前記第２のデータのダウンロードを実行させるためのコマンドを送信するステップをさらに含むようにすることができる。
【００４９】
本発明の一側面の第１のプログラムは、受信側で視聴されるときに送信される第１のチャネルの第１の番組データを、前記第１のチャネルと異なる第２のチャネルの第２の番組データの暗号化を解く鍵とともに送信し、前記第１の番組データの送信が開始されるよりも前の時点で、暗号化されている前記第２の番組データを送信し、前記第２の番組データから、イントラピクチャを検出し、そのイントラピクチャの位置と、前記第２の番組の開始時刻からの経過時間を関連付けた関連情報を作成し、前記第２の番組データを送信するときに送信し、前記第１の番組と前記第２の番組の両方に関する第１のＥＰＧであり、前記第１の番組であるのか、または、前記第２の番組であるのかを示すフラグを含む前記第１のＥＰＧと、前記第２の番組に関する第２のＥＰＧをそれぞれ生成し、送信するステップを含む処理を実行するコンピュータ読み取り可能なプログラムである。
【００５０】
本発明の一側面の送信装置は、受信側で視聴されるときに送信される第１のチャネルの第１の番組データを、前記第１のチャネルと異なる第２のチャネルの第２の番組データの暗号化を解く鍵とともに送信する第１の送信部と、前記第１の番組データの送信が開始されるよりも前の時点で、暗号化されている前記第２の番組データを送信する第2の送信部と、前記第２の番組データから、イントラピクチャを検出し、そのイントラピクチャの位置と、前記第２の番組の開始時刻からの経過時間を関連付けた関連情報を作成し、前記第２の番組データを送信するときに送信する第３の送信部と、前記第１の番組と前記第２の番組の両方に関するＥＰＧであり、前記第１の番組であるのか、または、前記第２の番組であるのかを示すフラグを含む前記第１のＥＰＧと、前記第２の番組に関する第２のＥＰＧをそれぞれ生成し、送信する第４の送信部とを備える。
【００５１】
本発明の一側面の受信方法は、視聴されるときに送信されてくる第１のチャネルの第１の番組データを、前記第１のチャネルと異なる第２のチャネルの第２の番組データの暗号化を解く鍵とともに受信し、前記第１の番組データの送信が開始されるよりも前の時点で、暗号化されている前記第２の番組データを受信し、蓄積し、前記第２の番組データから、イントラピクチャを検出し、そのイントラピクチャの位置と、前記第２の番組の開始時刻からの経過時間を関連付けた関連情報を、前記第２の番組データが受信されたときに受信し、蓄積し、前記第１の番組と前記第２の番組の両方に関するＥＰＧであり、前記第１の番組であるのか、または、前記第２の番組であるのかを示すフラグを含む前記ＥＰＧを受信するステップを含む。
【００５２】
前記第２のデータの受信を開始するとき、蓄積されている第２の番組データを消去させるためのコマンドを受信し、そのコマンドに応じて、前記蓄積されている第２の番組データを消去し、前記第２のデータのダウンロードを実行させるためのコマンドを受信し、そのコマンドに応じて、前記第２のデータのダウンロードを開始し、蓄積するステップをさらに含むようにすることができる。
【００５３】
前記第２のチャネルの再生が指示されたとき、前記第２の番組データが前記第１の番組データよりも前の時点で送信された番組であることを判断すると共に前記第２の番組データの提供開始時刻からの経過時間を、前記関連情報を用いて算出し、該算出された経過時間分スキップした位置から前記第２の番組データの再生を開始するようにすることができる。
【００５４】
本発明の一側面の第２のプログラムは、視聴されるときに送信されてくる第１のチャネルの第１の番組データを、前記第１のチャネルと異なる第２のチャネルの第２の番組データの暗号化を解く鍵とともに受信し、前記第１の番組データの送信が開始されるよりも前の時点で、暗号化されている前記第２の番組データを受信し、蓄積し、前記第２の番組データから、イントラピクチャを検出し、そのイントラピクチャの位置と、前記第２の番組の開始時刻からの経過時間を関連付けた関連情報を、前記第２の番組データが受信されたときに受信し、蓄積し、前記第１の番組と前記第２の番組の両方に関するＥＰＧであり、前記第１の番組であるのか、または、前記第２の番組であるのかを示すフラグを含む前記ＥＰＧを受信するステップを含む処理を実行するコンピュータ読み取り可能なプログラムである。
【００５５】
本発明の一側面の受信装置は、視聴されるときに送信されてくる第１のチャネルの第１の番組データを、前記第１のチャネルと異なる第２のチャネルの第２の番組データの暗号化を解く鍵とともに受信する第１の受信部と、前記第１の番組データの送信が開始されるよりも前の時点で、暗号化されている前記第２の番組データを受信し、蓄積する第１の蓄積部と、前記第２の番組データから、イントラピクチャを検出し、そのイントラピクチャの位置と、前記第２の番組の開始時刻からの経過時間を関連付けた関連情報を、前記第２の番組データが受信されたときに受信し、蓄積する第２の蓄積部と、前記第１の番組と前記第２の番組の両方に関するＥＰＧであり、前記第１の番組であるのか、または、前記第２の番組であるのかを示すフラグを含む前記ＥＰＧを受信する第２の受信部とを備える。
【００５６】
本発明の一側面においては、受信側で視聴されるときに送受信される第１のチャネルの第１の番組データが、第１のチャネルと異なる第２のチャネルの第２の番組データの暗号化を解く鍵とともに送受信され、第１の番組データの送信が開始されるよりも前の時点で、暗号化されている第２の番組データが送受信され、第２の番組データから、イントラピクチャを検出し、そのイントラピクチャの位置と、第２の番組の開始時刻からの経過時間を関連付けた関連情報が送受信され、第１の番組と第２の番組の両方に関するＥＰＧであり、第１の番組であるのか、または、第２の番組であるのかを示すフラグを含む第１のＥＰＧと、第２の番組に関する第２のＥＰＧが送受信される。
【発明の効果】
【００５７】
本発明の一側面によれば、帯域を有効に用いて番組の提供を行うことができる。
【００５８】
また、本発明の一側面によれば、視聴者に対して選択できるチャネル数を多くすることができる。
【００５９】
さらに、本発明の一側面によれば、送信するための帯域を有効に用いることができ、ユーザに対してチャネルの数を増やすことができる。
【発明を実施するための最良の形態】
【００６０】
以下に、本発明の実施の形態について図面を参照して説明する。図１に示したような、送信装置１、衛星２、および受信装置３から構成されるシステムに対して本発明を適用した場合について以下に説明する。図８は、本発明を適用した送信装置１の構成を示す図である。なお、図２に示した従来の送信装置１と同一の部分には、同一の符号を付し、適宜、その説明は省略する。
【００６１】
送信装置１は、ＶＴＲカート１４と同様の構成からなるＶＴＲカート６１を備えている。ＶＴＲカート６１のビデオ出力端子とオーディオ出力端子は、それぞれビデオエンコーダ６２、オーディオエンコーダ６３に接続されている。ビデオエンコーダ６２、オーディオエンコーダ６３の出力は、それぞれ多重化部６４に出力され、多重化部６４の出力は、サーバ６５に出力される。
【００６２】
多重化部６４は入力された信号を時分割多重化する。多重化部６４が行う時分割多重の方式としては、例えば、ＭＰＥＧ２ ＴＳ（ＩＳＯ１３８１８−１）を採用することが可能である。なお、多重化部６４が行う多重化は入力が２つだけであり、さらにＰＩＤが固定であり、ＰＳＩ等の情報も無いため、多重化部６４を制御するための制御部（多重化部１７を制御するために設けられている多重化制御部１９に対応する制御部）を設ける必要はない。
【００６３】
多重化部６４の出力は、イントラピクチャ（Intra Picture）検出部６６にも供給される。イントラピクチャ検出部６６は、入力されたビットストリームからイントラピクチャの位置を検出する。そして、検出された全てのイントラピクチャに対して、ビットストリーム先頭からの時間的なオフセットと、バイトオフセットを組にしたデータが作成され、サーバ６５に出力される。このようなデータを「位置情報ファイル」と称する。サーバ６５は、位置情報ファイルを記憶する。
【００６４】
サーバ６５の出力は、暗号化部６７およびスイッチ６８を介して多重化部１７に入力される。制御部１１は暗号化部６７に対して、暗号化のための鍵を供給する。また、制御部１１は暗号を解くための鍵と、その他の情報をスイッチ６８を介して多重化部１７に供給する。サーバ６５に保存されている位置情報ファイル、あるいは、制御部１１からの鍵等の情報はトランスポートストリームに多重化されて受信装置３に供給される。多重化部１７には、制御部１１から、コントロールコマンドと称するデータも入力される。
【００６５】
また、制御部１１は、事前に供給する番組の供給や提供を制御するコントロールコマンドを多重化部１７に供給する。スイッチ６８を介して多重化部１７に入力されるデータはデータストリームと称する。なお、多重化部１７からＥＣＣ／変調部２０に渡されるデータのビットレートは２４Mbpsとする。
【００６６】
次に、図８に示した送信装置１の動作について説明する。図８に示した送信装置１では、送信された番組が、リアルタイムに受信側で視聴することができる通常の放送と、送信と同時刻にリアルタイムには視聴出来ないが、プライムタイムに視聴できる番組をプライムタイム以外の時間帯で、予め受信装置３に対して送信しておく放送（提供）とがある。
【００６７】
この２つの放送について説明する。ただし、以下の説明においては、適宜、リアルタイムに送信された番組が視聴できる送信を放送と称し、リアルタイムに送信された番組が視聴できない送信を提供と称する。
【００６８】
図９は、送信装置１側のチャネル構成を説明する図である。プライムタイム（ここでは１９時乃至２３時の４時間とする）は２チャネル、それ以外の時間帯は１チャネルである。なお、複数のチャネルが含まれる１つの伝送用のチャネルを伝送チャネルと称し、以下の説明において、特に説明がない場合、チャネルとは視聴者が認識できるチャネルのことを示すとする。
【００６９】
また、チャネルＡの番組は、２４時間、受信した側で視聴可能な番組であり、チャネルＢの番組は、プライムタイムの間だけ、受信した側で視聴可能な番組である。
【００７０】
ここに示したチャネル構成は一例であり、この他にも例えば、３チャネル＋３チャネル（２４時間３チャネル＋プライムタイムは３チャネル追加され６チャネル）等の構成をとることが可能である。
【００７１】
図１０は、帯域に関して説明するための図である。図１０（Ａ）で示したのは、ここで提供される番組の帯域幅の合計を示している。すなわち、０時から６時までは合計８Mbpsであり、６時から７時までは２４Mbpsであり、７時から１１時までは４８Mbpsであり、１１時から０時までは２４Mbpsである。なお、放送施設として用意されている帯域は、上述したように終日２４Mbpsである。この数値は誤り訂正や変調を行う前のビットレートである。
【００７２】
このため、プライムタイムにユーザに提供される２チャネルの内、１チャネル分の帯域（データ）は事前に受信装置３に提供し、受信装置３側で記憶しておく。図１０（Ｂ）を参照して説明するに、プライムタイムにおいて提供される帯域幅は４８Mbpsだが、リアルタイムに送る事のできる帯域は２４Mbpsである。このため、４時間×（４８−２４）Mbpsの量のデータを事前に受信装置３に送信し、受信装置３側で蓄積させておく。
【００７３】
このため、同日朝の０時から６時までの６時間に２４Mbpsの内の１６Mbps（=24x4/6）を蓄積用のデータの送信に充てる。この結果、０時から６時までの時間帯のチャネルに対しては８Mbpsの帯域幅が残っている。なお、この設定は一例であり、実際にはもっと複雑な帯域の融通が行われるとしても良い。一般に、事前にデータを送り込む事の可能な帯域幅の合計は、送り込む番組のデータ量より大きい必要がある。
【００７４】
受信装置３側に蓄積されたデータの使用期限が一日未満とした場合、０時から翌日の０時の間で以下の不等式が成立する。
“事前に提供する番組のデータの送信可能な帯域幅の合計”
＞“提供する番組のデータ量”
【００７５】
ここで便宜上、プライムタイムに視聴される番組を事前に受信装置３側に送信することを「事前送信」、リアルタイムで送信する事を「直接送信」と呼んで区別する。また、事前に送信される「チャネル」や「番組」を「事前送信チャネル」や「事前送信番組」と称し、リアルタイムに送信される「チャネル」や「番組」を「直接送信チャネル」や「直接送信番組」と称する。
【００７６】
ここでは、プライムタイムに視聴される２チャネルの内、チャネルＡのデータは全体として直接送信で送信され、チャネルＢのデータは全体として事前送信で送信される。すなわち、チャネルＡの番組は２４時間に渡り“直接送信”されるのに対し、チャネルＢの番組は、一日に４時間分存在するが、全てが“事前送信”される。
【００７７】
図１０（Ｂ）を参照するに、チャネルＡの番組は０時乃至６時に８Mbps、６時乃至２４時（０時）に２４Mbpsの各ビットレートで、それぞれ直接送信される。チャネルＢの番組は０時乃至６時に１６Mbpsのビットレートで事前送信され受信装置３側に蓄積され、１９時乃至２３時の間に提供される（視聴可能とされる）。
【００７８】
図１０（Ｃ）を参照してさらに説明するに、例えば、１０月９日の０時乃至６時の間には、１つの伝送チャネルにおいて、チャネルＡの番組のデータである、データＡ−１，Ａ−２・・・と、チャネルＢの番組のデータである、データＢ−１，Ｂ−２・・・が、受信装置３に対して送信される。
【００７９】
これに対して、６時乃至０時（２４時）の間には、１つの伝送チャネルにおいて、チャネルＡの番組データである、データＡ−１，Ａ−２・・・のみが受信装置３に対して送信される。
【００８０】
図１１は、図９に示した１０月１０日のプライムタイムの前後を拡大し、番組の区切りと番組名を追加して示した図である。図１１において、チャネルＡは、１０月１０日の１８時乃至１９時まで“番組Ａ”を提供する。同様に１９時乃至２０時まで“番組Ｂ”、２０時乃至２１時まで“番組Ｃ”、２１時乃至２３時まで“番組Ｄ”が提供される。また、チャネルＢは、１９時乃至２１時まで“番組Ｘ”を提供し、２１時乃至２３時まで“番組Ｙ”を提供する。
【００８１】
図１１に示した番組提供（放送）スケジュールに対応する編成データを図１２に示す。編成データは、複数の番組毎のレコードから構成されるデータである。編成データの構成は、図７に示したチャネルＡだけのときの編成データの構成に、各番組が直接送信であるか、あるいは事前送信であるかを示すフラグが設けられる。図１２に示した編成データでは、チャネルＡは全て直接送信であり、チャネルＢは全て事前送信である。
【００８２】
事前に送り込む必要のあるチャネルＢの番組は、事前に作成しておく必要が有る。チャネルＡの番組は、プライムタイムを含めて２４時間リアルタイムに送信される。従って、チャネルＡの番組は、生放送でも良い（事前に作成しておく必要がない）。
【００８３】
図１３に、事前送信する必要があるチャネルＢに関する送信装置１側のスケジュールを示した図である。図１３では、１０月１０日の１９時乃至２３時に提供する番組に関するスケジュールを示す。その他の日付に対しても日付のずれが発生するだけで相対的な関係は同じであるので、その説明は省略する。
【００８４】
なお、緊急時等には、より柔軟な運用が行われるようにし、事前のスケジュールを変更して番組を提供することも可能である。
【００８５】
まず、該当番組（該当事前送信番組）に関する編成データは、少なくとも提供当日の１週間前までに送信装置１に入力される。ここでは、１０月１０日の編成データは、１０月２日までに入力される。また、直接送信の番組に関する編成データも同様に放送当日の１週間前までに入力される。なお、１週間前というのは後の処理を円滑に行うための期限であり、後の処理が円滑に行えるのであれば、１週間前でなくても良い。
【００８６】
編成データが入力されるとき、事前送信の１つの番組に対して１つのファイル名が決定される。このファイル名は、送信装置１と受信装置３において、各番組のデータ（ファイル）を識別するために使用される。編成データは、ＥＰＧデータとして番組提供当日の１週間前から提供時刻までの間、一定の間隔で送信装置１から受信装置３に対して送信される。
【００８７】
本実施の形態では、２系統のＥＰＧ情報の経路が設けられている。一方は、直接送信の番組に対するＥＰＧ情報のみが送信される。他方は、直接送信と事前送信の両方の種類の番組に関するＥＰＧ情報が送信される。すなわち、直接送信の番組に関するＥＰＧ情報は両方の方式で送信され、事前送信の番組に関するＥＰＧ情報は後者の方式のみで送信される。事前送信の番組に関してはファイル名も同時に送られる。
【００８８】
このように、２系統のＥＰＧ情報の経路を設けることにより、一方は、事前送信を受け入れられない受信装置３、すなわち、詳細は後述するが、事前送信されてきた番組のデータを記憶するための記憶装置を備えていない受信装置３のために設けられており、他方は、事前送信を受け入れられる受信装置３のために設けられている。
【００８９】
受信装置３は、受信したＥＰＧのデータをユーザに示し、ユーザは、その示されたデータを基に、番組予約等などの処理を行うことができる。
【００９０】
編成データの送信装置１への入力が終了されると、次の処理として、事前送信される番組のＶＴＲテープの締め切りがある。番組提供前日の９時までに、事前送信番組のコンテンツの記録されたＶＴＲテープを用意する。この例では、１０月９日の９時までに、図１１に示す２つの番組“番組Ｘ”と“番組Ｙ”に、それぞれ対応する２本のＶＴＲが用意され、送信装置１内のＶＴＲカート６１に格納される。
【００９１】
番組提供前日の９時から、事前送信を行う番組のデータのエンコードが行われ、「ストリームファイル」が作成される。エンコードの作業は、前日中に終了するように行われるのが好ましい。従って、エンコードの為にかかる時間を考慮し、事前送信される番組のデータは、事前送信される前日の９時までに作成されていることが好ましい。勿論、エンコードを行う時間が確保される状態であれば、事前送信される前日の９時以降に、番組のデータの作成が終了されても良い。
【００９２】
この時、同時に、イントラピクチャの位置を列挙した「位置情報ファイル」を作成する。ビデオ符号化において可変レートによる符号化を行う時など、時間情報から位置情報に変換するための情報が必要となるからである。本実施の形態において、ビデオデータの符号化にＭＰＥＧ２ビデオを採用した場合、各イントラピクチャに対して時刻情報と位置情報を列挙したデータが作成される。
【００９３】
番組のデータをエンコードするにあたり、各番組のビットレートが決定される。これは、エンコードを開始する前に決定しておく事も可能であるし、エンコードしながら決定する事も可能である。また、複数の番組に対して異なる平均ビットレートを設定する事も可能であるし、番組内でレートを可変にする事も可能である。ビットレートの決定は、どのような方式が採用されても良い。
【００９４】
番組提供当日の０時から、事前送信する番組の送信、すなわち、ストリームファイルの受信装置３への送信が開始される。図１０を参照して説明したように、このイベントは０時に開始され、６時に終了するように行われる。送信装置１は受信装置３に対して、最初に、受信装置３側で記憶されている番組のデータを全て消去するための全消去コマンドを発行する。
【００９５】
詳細は後述するが、受信装置３は、内部に事前送信された番組のデータを記憶する記憶装置を備えており、全消去コマンドを受信すると、その記憶装置に記憶されているデータを消去し、新たなデータが記憶できる状態にする。消去されるデータは、この場合、１０月９日のプライムタイムに提供された番組（プライムタイムのときに視聴可能とされていた番組）に関するデータである。このように、本実施の形態においては、受信装置３側で記憶される番組のデータは、１日分（この場合、チャネルＢの４時間分のデータ）のみが記憶され、夜の間に更新されるようにする。
【００９６】
送信装置１は、全消去コマンドを発行した後に、番組を符号化したストリームファイルの送信を行う。次に、送信したストリームファイルに対応する位置情報ファイルの送信を行う。そして、２種類のファイルの送出作業は番組の数だけ繰り返される。このとき、ストリームファイルは暗号化され送出される。受信装置３側では、暗号化されたストリームファイルが受信され、そのまま記録される。位置情報ファイルは、暗号化されずに、そのまま送信される。
【００９７】
このようにして、プライムタイムよりも前の時刻において、受信装置３側で受信し、記憶された番組のデータは、番組提供当日のプライムタイムとして設定された１９時から提供が開始される。提供が開始されると、送信装置１は、受信装置３に対して、時刻情報、番組の情報、鍵などを送付する。鍵は暗号化されたファイルを元に戻すために用いられものである。
【００９８】
受信装置３でユーザが事前送信の番組を選択すると、受信装置３は、ＥＰＧと共に送られて来たファイル名によりファイルを特定し、送られて来た鍵でファイルの暗号を解き、送られて来た時刻情報に同期させて該当番組をユーザに提供する。
【００９９】
事前送信について、さらに詳細に説明する。事前送信番組を送信するために、本実施の形態においては、トランスポートストリーム上の２つのストリームを用いる。１つめのストリームは、コントロールストリームであり、事前送信の制御を行うために用いられる。もう１つのストリームは、データストリームであり、番組の事前送信時に、ストリームファイルと位置情報ファイルのダウンロードの際に用いられる。また、番組の提供時には時刻情報と鍵の送信にも用いられる。
【０１００】
図１４を参照して、事前送信の手順をさらに説明する。まず時刻ｔ１において、送信装置１は“全消去コマンド”をコントロールストリームにて送信する。このコマンドを受信した受信装置３は、以前に事前送信されて記憶装置に記憶されていたファイルを全て消去する。この処理により、受信装置３側で、事前送信されるファイルのダウンロードに必要な空き容量が確保される。
【０１０１】
従って、本実施の形態のように、事前送信されるのは、１チャンネルで４時間分の番組のデータであるとすると、受信装置３側では、その分のデータだけ記憶できる容量の記憶装置を備えるようにすればよい。
【０１０２】
次に、時刻ｔ２において、送信装置１の“本体ダウンロード”のコマンドがコントロールストリームで送信される。このコマンドは、ストリームファイルをデータストリームにて規定時間の後に送出する事を示す。このコマンドの内部には、これから送出するストリームファイルの名前（ファイル名）と大きさが含まれている。本体ダウンロード予告のコマンドを受信した受信装置３は、ストリームファイルのダウンロードに対しての準備を行う。
【０１０３】
時刻ｔ３において、送信装置３は、ストリームファイルをデータストリームで送信を開始する。ストリームファイルは暗号化されて送信される。受信装置３では、受信したファイルを記憶装置に記憶する。この時、本体ダウンロード予告コマンドで指定されたファイル名で管理される。
【０１０４】
時刻ｔ４において、送信装置１は、“位置情報ダウンロード予告”のコマンドをコントロールストリームで流す。このコマンドは、位置情報ファイルをデータストリームにて規定時間の後に送出する事を示す。このコマンドの内部には、これから送出する位置情報ファイルの名前（ファイル名）と大きさが含まれている。“位置情報ダウンロード予告”のコマンドを受信した受信装置３は、位置情報ファイルのダウンロードに対しての準備を行う。
【０１０５】
時刻ｔ５において、送信装置１は、「位置情報ファイル」をデータストリームで送信を開始する。位置情報ファイルは暗号化されずに送信される。受信装置３は、受信したデータを記憶部に蓄積する。この時、“位置情報ダウンロード予告”のコマンドで指定されたファイル名で管理される。
【０１０６】
ここまでの一連の処理で、事前送信の必要な２番組のファイル群の内、１番組分の２つのファイルが受信装置３に送り込まれたので、引き続き２番目の番組用のファイルの送信が行われる。即ち、時刻ｔ６に“本体ダウンロード予告”のコマンドの送信、時刻ｔ７に「ストリームファイル」の送出を開始、時刻ｔ８に“位置情報ダウンロード予告”コマンドの送信、時刻ｔ９に「位置情報ファイル」の送信の開始というように、一連の処理が実行される。
【０１０７】
なお、本実施の形態においては、各コマンドを１回づつしか送信しないが、各コマンドをそれぞれ複数回ずつ送信する事により、伝送系のエラーに対してロバストなシステムを構築することができ、そのようにしても良い。また、図１４における時刻（図中上側に図示）と各時刻ｔ１乃至ｔ９（図中下側に図示）とは、対応しているものではなく、例えば、時刻ｔ６において“本体ダウンロード”のコマンドは、時刻３時に送信されるように図示されているが、３時でなく、処理の流れのなかで送信できるタイミングで送信されればよい。
【０１０８】
事前送信番組の提供の直前に受信装置３に蓄積されている情報は、以下の通りである。ＥＰＧの情報は１週間前から送られている。ＥＰＧデータには、チャネル、番組名、番組の始まる時刻、持続時間、事前送信か直接送信か等の情報が記述されている。事前送信の番組に対してはファイル名も追加されている。また、事前送信の番組に対して「ストリームファイル」と「位置情報ファイル」が事前にロードされている。
【０１０９】
図１５を参照して事前送信された番組の提供（視聴者が視聴できるようにする処理）について説明する。事前送信の提供時刻には、コントロールストリームは使用されず、データストリームのみが使用される。
【０１１０】
まず、事前送信の番組提供時刻（この場合、１９時）より少し前の時刻ｔ２１に送信装置１は、時刻情報を受信装置３に送信を開始する。これは、受信装置３が保持している時刻情報を送信装置１の時刻情報と一致させるためのものである。まだ、番組提供時刻になっていないため、ファイル名と鍵は意味のない値が送られている。トランスポートパケットにはＰＣＲが付加される。
【０１１１】
時刻ｔ２２の番組提供時刻（この場合１９時）になると、送信装置１は、時刻情報に加えて、番組Ｘに対応するファイル名やストリームファイルを暗号化した時に用いられた暗号の鍵をデータストリームで流す。
【０１１２】
時刻ｔ２３の番組切り替え時（この場合２１時）になると、送信装置１は、番組Ｙに対応するファイル名と暗号の鍵に、送信する情報を切り替える。すなわち、時刻ｔ２３以降に送信装置１は、時刻情報、番組Ｙのファイル名、番組Ｙのストリームファイルを暗号化した時に用いられた暗号の鍵をデータストリームで送信する。時刻ｔ２４において、時刻情報や、その他の情報の送信が終了される。
【０１１３】
受信装置３側において、該当番組開始以前に、ユーザが、ＥＰＧ情報あるいは新聞雑誌の情報により、事前送信番組のあるチャネルを選択した場合、受信装置３は、タイマ等の動作により、指定された時刻に、上述した動作を同様に行う。
【０１１４】
受信装置３は、ＥＰＧの情報を参照し、事前送信番組か否かを確認する。事前送信番組でない場合には従来と同じ動作により処理される。事前送信番組であると判断された場合、チューナに指令して事前送信のデータストリームを選択する。このストリームでは時刻・鍵データが伝送されている。時間情報には現在時刻、番組開始時刻、該当番組に使用されるファイル名、暗号を解く鍵が含まれている。
【０１１５】
また、該当トランスポートパケットから取り出されたＰＣＲが用いられて受信装置３のクロックが放送局のクロックに同期される。受信装置３は、現在時刻と番組開始時刻の差を算出する。算出された値は、番組が開始してからの経過時間を示している。このため、予め蓄積されているファイルの先頭から、算出された時間だけスキップした位置を探し出し、その位置からの再生が行なわれる。
【０１１６】
受信装置３は、経過時間と「位置情報ファイルの情報」を用いて、ストリームファイル内の、現在時刻に対応する位置を求める。そして、ストリームファイルの対応する位置からの読み出しが行なわれ、暗号が解かれ、デコードされることにより映像と音声の信号が出力される。このようにして、事前送信された受信装置３内部に蓄積されているストリームファイルが、放送局から送られる時計に同期して再生される。
【０１１７】
ここで、ＥＰＧデータのフォーマットについて説明する。以下に、表１としてＥＰＧデータのフォーマットを示す。
［表１］EPG用
payload(){                                    No. of Bits
num_of_ch                                           8
for (i=0;i<num_of_ch;i++){
num_of_programs                                 8
for (j=0;j<num_of_programs){
DIRECT_or_PRE-LOAD                          8
month                                       8
day                                         8
start_time_hour                             8
start_time_min                              8
length_hour                                 8
length_min                                  8
len_program_name                            8
for (i=0;i<len_program_name;i++){
program_name_data                       8
}
if (DIRECT_or_PRE-LOAD==DIRECT){
}
if (DIRECT_or_PRE-LOAD==PRE-LOAD){
len_filename                            8
for (i=0;i<len_filename;i++){
filename_data                       8
}
}
attribute_length                            8
for (j=0;j<attribute_length;j++){
attribute_data                          8
}
}
}
for (stuffing){
stuffing_byte                                   8
}
}
【０１１８】
ＥＰＧはトランスポートパケットに格納されて送られるため、フォーマットはトランスポートパケットのデータ格納部分（data_byteの部分）をpayload()として定義される。なお、トランスポートパケットは全体で１８８バイトと比較的短い構造であるため、１週間分のＥＰＧデータ全体を送出するためには、複数のトランスポートパケットが送信される。
【０１１９】
上述したＥＰＧデータのフォーマットについて説明するに、payload()の先頭にチャネル数（num_of_ch）が置かれている。payload()の中でＥＰＧデータはチャネル毎にまとめて記述されており、チャネル数（num_of_ch）に引き続き、チャネル毎の情報がチャネル数（num_of_ch）の数だけ繰り返される。
【０１２０】
チャネル毎の情報の先頭には番組数（num_of_programs）が置かれている。これはチャネル毎の構造の中に含まれるＥＰＧデータの番組数を示している。引き続き、番組毎の情報が番組数（num_of_programs）の数だけ繰り返される。
【０１２１】
番組毎の情報の先頭には、直接送信されるか事前送信されるかを示すフラグ（DIRECT_or_PRE-LOAD）が置かれている。次に番組の提供される日時が月（month）、日（day）、開始時刻の時（start_time_hour）と分（start_time_min）で表される。次に、番組の長さが、時間（length_hour）と分（length_min）で表される。次に番組名（program_name）が置かれる。
【０１２２】
次に、事前送信の番組に限って、ファイル名が置かれる。
【０１２３】
最後に、属性のデータが置かれる。この属性のデータとしては、例えば、番組の解説等が置かれる。このような情報を詰め込んでも、payload()にまだ空きがある場合、スタッフィング（stuffing）が行われる。
【０１２４】
次に、事前送信におけるコントロールストリームにて送信されるコントロールコマンドについて説明する。以下に表２として、コントロールコマンドのフォーマットを示す。
［表２］  コントロールコマンド
payload(){                                    No. of Bits
command_flag                                        8
if (command_flag == '0000 0001'){           // コマンド  1 - 全消去
}
if (command_flag == '0000 0010'){           // コマンド  2 - 本体ダウンロード予告
len_filename                                    8
for (i=0;i<len_filename;i++){
filename_data                               8
}
size                                           64
}
if (command_flag == '0000 0011'){           // コマンド  3 - 位置情報ダウンロード予告
len_filename                                    8
for (i=0;i<len_filename;i++){
filename_data                               8
}
size                                           64
}
for (stuffing){
stuffing_byte                                   8
}
}
【０１２５】
上述したコントロールコマンドは、トランスポートパケットに格納されて送られるため、フォーマットはトランスポートパケットのデータ格納部分（data_byteの部分）をpayload()として定義される。なお、トランスポートパケットは全体で１８８バイトと比較的短い構造であるが、ここで定義するコマンドは、その１８８バイトよりも小さいため、１つのコントロールコマンドに対して１つのトランスポートパケットが占有され、トランスポートパケットのpayload()の余った部分にはstuffingがされる。
【０１２６】
上述したコントロールコマンドのフォーマットについて説明するに、payload()の先頭にコマンドの種類を表す情報（command_flag）が置かれる。command_flagの値が‘０００００００１’の場合、“全消去コマンド”を、‘００００００１０’の場合、“本体ダウンロード予告”を、‘００００００１１’の場合、“位置情報ダウンロード予告”を、それぞれ示す。
【０１２７】
“全消去コマンド”（command_flag='00000001'）の場合、このコマンドには引き数がないため、該当トランスポートパケットのpayload()はstuffingで充当される。
【０１２８】
“本体ダウンロード予告コマンド”（command_flag='00000010'）の場合、ファイル名（len_filenameとfilename_data）とその大きさ（size）が置かれ、残りの部分はstuffingで充当される。
【０１２９】
“位置情報ダウンロード予告コマンド”（command_flag='00000011'）の場合、ファイル名（len_filenameとfilename_data）とその大きさ（size）が置かれ、残りの部分はstuffingで充当される。
【０１３０】
次に、事前送信時、および、事前送信番組の提供時にデータストリームにて送信される信号のフォーマットについて説明する。以下に表３として、そのフォーマットを示す。
［表３］  データ／時刻・鍵用
payload(){                                    No. of Bits
command_flag                                        8
if (command_flag == '0000 1001'){           // コマンド  9 - ダウンロードデータ
num_of_data                                     8
for (i=0;i<num_of_data;i++){
data_byte                                   8
}
}
if (command_flag == '0000 1010'){           // コマンド 10 - 鍵
PTS                                            33
year                                           16
month                                           8
day                                             8
hour                                            8
minute                                          8
second                                          8
len_filename                                    8
for (i=0;i<len_filename;i++){
filename_data                               8
}
start_time_hour                                 8
start_time_min                                  8
length_hour                                     8
length_min                                      8
key                                           128
}
for (stuffing){
stuffing_byte                                   8
}
}
【０１３１】
上述した事前送信時および事前送信番組の提供時に送信されるデータは、トランスポートパケットに格納されて送られるため、フォーマットはトランスポートパケットのデータ格納部分（data_byteの部分）をpayload()として定義される。なお、トランスポートパケットは全体で１８８バイトと比較的短い構造であるため、ファイルダウンロードの際には多数のトランスポートパケットが用いられて伝送が行われる。
【０１３２】
上述したデータのフォーマットについて説明するに、payload()の先頭にデータの種類を表す情報（command_flag）が置かれる。command_flagの値が‘００００１００１’の場合は“ダウンロードデータ”を、‘００００１０１０’の場合には“鍵と時刻”を示す。
【０１３３】
“ダウンロードデータ”の場合、command_flagに続けてデータ数（num_of_data）が置かれ、引き続きデータ数（num_of_data）だけのデータバイトが置かれる。そして、ここまでの情報でpayload()にまだ空きがある場合には、スタッフィング（stuffing）が行われる。
【０１３４】
“鍵と時刻”の場合、command_flagに続けてPTS（Presentation Time Stamp）が置かれる。このPTSは引き続き置かれている“現在時刻”のタイミングを示すものである。
【０１３５】
次に、現在時刻の年（year）、月（month）、日（day）、時（hour）、分（minute）、秒（second）が置かれる。次に、該当番組に使用されるファイル名（len_filename、filename_data）、該当番組の開始時刻（start_time_hour、start_time_min）、および番組の長さ（length_hour、length_min）が置かれる。そして最後に暗号を解くための鍵（key）が置かれる。ここまでの情報でpayload()にまだ空きがある場合、スタッフィング（stuffing）が行われる。
【０１３６】
“PTS”と“現在時刻”を使用する方法について説明する。受信装置３は、トランスポートストリームのPCRに同期したSTCを保持している。これは、送信装置１と受信装置３のクロックを同期させるためである。PTSとSTCが等しくなった瞬間が“現在時刻”の値の示す時刻であり、受信装置３は、その時刻に内部時計を設定する。また、現在時刻と該当番組の開始時刻の差を求める事により、該当番組開始からの経過時間を認識することができる。
【０１３７】
次に、位置情報ファイルのフォーマットについて説明する。以下に表４として、位置情報ファイルのフォーマットを示す。
［表４］  位置情報ファイル
location_file(){                              No. of Bits
num_entry                                          32
for (i=0;i<num_entry;i++){
offset_hour                                     8
offset_minute                                   8
offset_second                                   8
offset_frame                                    8
offset_byte                                    64
}
}
【０１３８】
上述した位置情報ファイルのフォーマットについて説明するに、先頭にエントリ数（num_entry）が置かれ、位置情報ファイル中のエントリの数が示される。エントリ毎の情報は、まず、ストリームファイルの先頭からの時刻でのオフセット、すなわち先頭からの経過時間が、時（offset_hour）、分（offset_min）、秒（offset_min）、およびフレーム（offset_frame）として記述される。最後に、「ストリームファイル」先頭からのバイトオフセット（offset_byte）が置かれる。
【０１３９】
なお、各エントリは、ストリーム先頭からの出現順、すなわち時刻及びバイトオフセットの小さい順に並んでいる。
【０１４０】
上述したようなフォーマット形式のデータを扱う、図８に示した送信装置１の動作について説明する。本実施の形態では、送信装置１の動作としては、送信した番組が受信側においてリアルタイムに視聴できる番組の放送（従来放送）と、リアルタイムではなく、事前に送信された番組を受信側において所定の時刻になったら視聴できるようにする番組の提供とがあるが、まず、番組の放送の際の送信装置１の動作について、図１６のフローチャートを参照して説明する。
【０１４１】
ステップＳ１１において、送信装置１の管理者は、制御部１１のメモリ１２（図８）に、図１２に示したような編成データを入力する。また、各タイミングで放送すべきコンテンツはＶＴＲテープに記録され、ＶＴＲカート１４にセットされる。
【０１４２】
図８に示した送信装置１には生放送を行うための設備は図示していないが、生放送を行う場合、ＶＴＲカート１４に番組が記録されたＶＴＲテープがセットされる代わりに、該当時間になったら、ＶＴＲカート１４と並列に設置された放送収録スタジオ（図示せず）から、ビデオとオーディオの出力が開始され、それぞれビデオエンコーダ１５とオーディオエンコーダ１６に入力されるようにすれば良い。以下の説明においては、生放送ではない場合を例に挙げて説明する。
【０１４３】
ステップＳ１２において、制御部１１は、メモリ１２に記憶された編成データから、少なくとも当日から１週間先までの情報をＥＰＧ発生部１８に入力させる。従って、送信装置１の管理者は、図１２に示す編成データを該当番組提供の少なくとも１週間前に、制御部１１に設定する（メモリ１２に記憶させる）必要がある。ＥＰＧ発生部１８は入力された情報を蓄積し、送信装置１で採用されているＥＰＧのフォーマットに変換して多重化部１７の端子Ｋ３に出力する。なお、ＥＰＧとしては、どのようなものを用いても良く、既に使用されているＥＰＧを用いることが可能である。
【０１４４】
ステップＳ１３において、制御部１１は内部の時計１３を参照し編成データに従って、ＶＴＲカート１４を操作して番組の内容をエンコーダ群に供給する。具体的には、制御部１１は、内部の時計１３とメモリ１２中の編成データを比較参照して、次に再生すべき番組を決定する。そして制御部１１は、該当番組の開始時刻以前にＶＴＲカート１４に対して番組名を指示し、再生待機状態にする。
【０１４５】
番組の指定をうけたＶＴＲカート１４は、該当番組の記録されているＶＴＲテープを特定し、内部の搬送装置により該当ＶＴＲテープを内部のビデオ再生装置に挿入して、次の指示を待つ。一般的にはこの間、ＶＴＲカート１４内の上記とは別のビデオ再生装置により放送中の番組が再生され、その信号がエンコーダ群に供給されている。
【０１４６】
ステップＳ１４において、該当番組の開始時刻になると、制御部１１は、ＶＴＲカート１４に対して該当番組の再生を指示する。ＶＴＲカート１４は用意してあったＶＴＲ再生装置を再生状態にし、信号を出力させる。ＶＴＲカート１４から出力されたビデオデータはビデオエンコーダ１５に供給され、ＭＰＥＧ２ビデオの形式に符号化され、さらに多重化部１７の端子Ｋ４に供給される。また、ＶＴＲカート１４から出力されたオーディオデータは、オーディオエンコーダ１６に供給され、ＭＰＥＧ２−ＡＡＣの形式に符号化され、多重化部１７の端子Ｋ５に供給される。
【０１４７】
ステップＳ１５において、多重化制御部１９は、制御部１１の指令をうけて、多重化部１７を制御する。具体的には、制御部１１から、同時に放送する番組数（ここでは１）と、番組に対するビデオ／オーディオストリームの本数（ここではそれぞれ１）の情報を供給され、各ストリームに対するＰＩＤが決定される。また、ＰＣＲを伝送するためのＰＩＤも決定される。ＰＩＤの情報は多重化部１７に供給される。さらに多重化制御部１９は、受信装置３で使用するＰＳＩを作成して多重化部１７の端子Ｋ１に供給する。
【０１４８】
多重化部１７は、入力された信号、即ち端子Ｋ１に入力されたＰＳＩ、端子Ｋ２に入力されたＰＣＲ、端子Ｋ３に入力されたＥＰＧ、端子Ｋ４に入力されたビデオストリーム、および端子Ｋ５に入力されたオーディオストリームをMPEG2 TS(ISO13818-1)の方式で時分割多重化する。
【０１４９】
ステップＳ１６において、多重化部１７の出力が、ＥＣＣ／変調部２０により誤り訂正符号が付加され、さらに変調が行われる。そして、増幅部２１で電力増幅が行われた後、アンテナ２２から空中に放出される。
【０１５０】
このような放送が行われる一方で、上述したように事前送信も行われることにより番組が視聴者に提供される。次に、図１７のフローチャートを参照して、事前送信に関わる、図８に示した送信装置１の動作について説明する。
【０１５１】
ステップＳ２１において、各番組に関する編成データが、直接送信の番組、事前送信の番組共に、番組提供当日の一週間前までに、送信装置１の管理者により制御部１１のメモリ１２に入力される。このステップＳ２１における処理は、図１６のフローチャートのステップＳ１１の処理と同じ処理であり、一緒に行われる。
【０１５２】
編成データが入力される時、制御部１１は、事前送信の番組、それぞれに対してユニークな（重複のない）ファイル名を定め、メモリ１２に記憶する。ファイル名を決定する方法としては、重複が無ければどのような名前の付け方をしても良く、例えば、順番に番号を振るなどでも良い。ここでは、“番組Ｘ”に対してファイル名"番組ｘ"が、“番組Ｙ”に対してファイル名“番組ｙ”が決定されたとする。
【０１５３】
制御部１１は、メモリ１２に格納された編成データのうち、チャネルＡ、この場合、直接送信のチャネルで提供する番組の編成データに関しては図１６のフローチャートを参照して説明したような処理を行い、一方で、チャネルＢ、この場合、事前送信のチェンネルで提供する番組データの編成データに関しても処理を行う必要がある。
【０１５４】
すなわち、チャネルＢで提供する番組のために、ステップＳ２２において、制御部１１は、メモリ１２に記憶された編成データと事前送信番組のためのファイル名情報から、当日から一週間先までの情報をＥＰＧ発生部６９に入力させる。このとき、事前送信の番組（チャネルＢ）と直接送信の番組（チャネルＡ）の両方の情報が入力される。ＥＰＧ発生部６９は、入力された情報を蓄積し、上述したＥＰＧのフォーマットに変換して多重化部１７の端子Ｋ６に入力する。
【０１５５】
多重化部１７は、予め決められている新規のＥＰＧ用のＰＩＤの値を用い、端子Ｋ６に供給されたＥＰＧ情報をトランスポートパケットに格納し、他の入力信号と多重化して出力する。この他の入力信号とは、その時刻に放送されている直接送信の番組のデータ等である。
【０１５６】
このように、送信装置１において発生されるＥＰＧは、ＥＰＧ発生部１８により発生されるＥＰＧと、ＥＰＧ発生部６９により発生されるＥＰＧとがある。すなわち、ハードディスクなどの番組データを記憶しておく装置を備えていない受信側の装置に対応するために、ＥＰＧ発生部１８により発生される従来のＥＰＧと、対応している受信側の装置の為のＥＰＧ発生部６９により発生されるＥＰＧとがある。
【０１５７】
多重化部１７の出力は、ＥＣＣ／変調部２０に入力され、誤り訂正符号の付加及び送信のための変調が行われる。ＥＣＣ／変調部２０の出力は増幅部２１に入力され、電力増幅され、アンテナ２２に供給され電波として放出される。このような処理が繰り返し行われることにより、編成データは、ＥＰＧデータとして番組提供当日の一週間前から提供時刻までの間、一定の間隔で送信される。受信装置３側では受け取ったＥＰＧデータをユーザに示し、ユーザは、番組予約等の用途に使用することができる。
【０１５８】
ステップＳ２３において、図１３を参照して説明したように、番組提供前日の９時までに、送信装置１の管理者は、事前送信番組のコンテンツの記録されたＶＴＲテープを、ＶＴＲカート６１に収納する。ここでは、１０月９日の９時までに、２つの番組“番組Ｘ”および“番組Ｙ”に対応する２本のＶＴＲテープが用意され、事前送信専用のＶＴＲカート６１に収納される。
【０１５９】
ステップＳ２４において、番組提供前日の９時から、事前送信番組のエンコードが開始される。まず、制御部１１は、各番組のビットレートを決定する。この場合、全ての番組（ここでは２つの番組）に対して、２４Mbps固定のビットレートでエンコードを行うと決定されたとする。
【０１６０】
制御部１１は、ビデオエンコーダ６２とオーディオエンコーダ６３に対して、例えば２２Mbpsと０．３Mbpsのビットレートを指定する。２４Mbpsに対する残りは、多重化のオーバーヘッド等で消費され、残りはstuffingにより充当される。
【０１６１】
制御部１１は、ビデオエンコーダ６２とオーディオエンコーダ６３に対して、エンコードの用意を指示する。また、制御部１１は、ＶＴＲカート６１に対して“番組Ｘ”のコンテンツを再生するように指示する。
【０１６２】
制御部１１はさらに、サーバ６５に対して、多重化部６４からの出力を"番組Ｘ．pre"として、またイントラピクチャ検出部６６からの出力を"番組Ｘ.cpi"として記憶するように指定する。
【０１６３】
ＶＴＲカート６１により再生された番組Ｘのコンテンツは、ビデオエンコーダ６２によりＭＰＥＧ２ビデオの形式に、またオーディオエンコーダ６３によりMPEG２ AACの方式に、それぞれ符号化され、多重化部６４に供給される。
【０１６４】
多重化部６４は、入力されたビデオストリームとオーディオストリームをMPEG2 TSの方式で時分割多重する。このとき、それぞれのストリームを運搬するトランスポートパケットが持つＰＩＤに、予め定められた値が使用される。多重化部６４の出力であるストリームファイルは、サーバ６５に入力され、予め設定されたファイル名"番組ｘ.pre"として記憶される。
【０１６５】
また、多重化部６４の出力は、イントラピクチャ検出部６６にも入力される。イントラピクチャ検出部６６は、入力された多重化ストリームを解析し、イントラピクチャの位置を検出し、上述した「位置情報ファイル」を作成する。作成された位置情報ファイルは、サーバ６５に供給され、ファイル名"番組ｘ.cpi"として記憶される。
【０１６６】
“番組Ｘ”のエンコードが終了すると、制御部１１は、次の番組である“番組Ｙ”のエンコードの処理を開始する。次の“番組Ｙ”のエンコードは、“番組Ｘ”のエンコードと同様に行われ、最終的に、サーバ６５に記憶される際に、ストリームファイルが、ファイル名"番組ｙ.pre"として、位置情報ファイルが、ファイル名"番組ｙ.cpi"として記憶される。
【０１６７】
このような処理を制御部１１は、全ての事前送信番組に対して行う。この場合、事前送信番組は２つであるため、２つの“番組Ｘ”と“番組Ｙ“に対して処理が行われる。事前送信番組のエンコード作業は、どんなに遅くても前日中に終了するように行われることが好ましい。
【０１６８】
なお、番組毎に異なる平均ビットレートでエンコードするようにしても良い。番組の重要度、必要とされる画質等に従い、管理者が制御部１１に、そのことを設定し、制御部１１が、ビデオエンコーダ６２、オーディオエンコーダ６３に対して指示を出すことにより可能となる。
【０１６９】
また、１つの番組の中で可変レートのエンコードを行うようにしても良い。このようにエンコードが行われる場合、詳細な説明は省略するが、例えば、ＶＴＲカート６１から番組全体を１度エンコーダ群（ビデオエンコーダ６２とオーディオエンコーダ６３）に通し、各場面の難しさを検出（判断）した後、もう１度番組全体をエンコーダ群に通し、エンコードを行う。このようなエンコードの仕方については、例えば、特開平６−１５３１５２において開示されている方法を用いることが可能である。
【０１７０】
ステップＳ２５において、事前送信が開始される。すなわち、番組が提供される当日（視聴者が、番組を視聴可能な日）の午前０時から、事前送信番組の、受信装置３への事前送信が開始される。この事前送信の処理は、図１４を参照して説明したように行われる。
【０１７１】
事前送信番組を送信するために、本実施の形態では、トランスポートストリーム上の２つのストリームが用いられる。１つめのストリームは、コントロールストリームであり、事前送信の制御を行うために用いられる。図８に示す送信装置１においては、制御部１１が発生し、多重化部１７の端子Ｋ７に供給されトランスポートストリームに多重化されるストリームである。
【０１７２】
２つめのストリームは、データストリームである。図８に示す送信装置１において、事前送信時には「ストリームファイル」と「位置情報ファイル」が、サーバ６５から暗号化部６７を経て、多重化部１７の端子Ｋ８に供給されトランスポートストリームに多重化される。番組提供時刻には、時刻や鍵が、制御部１１により発生され、多重化部１７の端子Ｋ８に供給され、トランスポートストリームに多重化される。
【０１７３】
図１０を参照して説明したように、午前０時乃至６時までは、チャネルＡ、すなわち、リアルタイムに視聴が可能に放送される番組のチャネルの帯域が８Mbpsとされる。この状況を実現するために制御部１１は、ビデオエンコーダ１５にビットレートを、例えば、６Mbpsに変更するように指示する。この数値は、オーディオエンコード１６の出力及び多重化のオーバーヘッド等を含めて、チャネルＡが８Mbpsになるように調整した数値である。これにより事前送信のための帯域が１６Mbps（＝２４Mbps−８Mbps）確保される。
【０１７４】
ステップＳ２５において、事前送信が開始されると、ステップＳ２６において、“全消去コマンド”がコントロールストリームにて送出される。すなわち、まず制御部１１は、“全消去コマンド”を発生する。“全消去コマンド”は、表２を参照して説明したコントロールコマンドのうちの“command_flag”の値が“０００００００１”に設定されたものであり、残りの部分がstuffingで埋められているものである。制御部１１は、発生した“全消去コマンド”を多重化部１７の端子Ｋ７に供給する。
【０１７５】
多重化部１７は、予め設定されているコントロールストリーム用のＰＩＤの値を用い、端子Ｋ７に供給されたコントロールストリームをトランスポートパケットに格納する。
【０１７６】
なお、多重化部１７と多重化制御部１９は、図２を参照して説明した従来の場合と同様の動作を行っている。すなわち、それぞれの端子Ｋ１乃至Ｋ８に入力されたデータが、MPEG2 TS方式で時分割多重される。これらのデータは、リアルタイムに視聴可能とされている番組（直接送信の番組）のデータである。
【０１７７】
このため、多重化されたコントロールストリームの情報、すなわちこの場合、“全消去コマンド”は、他の入力信号と多重化されて多重化部１７から出力される。多重化部１７の出力はＥＣＣ／変調部２０、増幅部２１、およびアンテナ２２における処理を経て、送信される。以下の説明において、多重化部１７から出力されたストリームに対する処理は、同様であるので、その説明は省略する。
【０１７８】
制御部１１は、“全消去コマンド”を送信してから、予め設定された時間が経過するまで次のステップの処理の実行を開始しない。この待ち時間は、例えば、３０秒や１分などであり、受信装置３側で“全消去コマンド”が実行（受信）されることにより、受信装置３側に備えられている記憶装置のデータが消去されるのに充分な時間に設定されている。また、この時間は、制御部１１が備える時計１３により計測される。
【０１７９】
次に、事前送信番組の送信が行われるわけだが、まずステップＳ２７において、“本体ダウンロード予告”のコマンドがコントロールストリームで送信される。すなわち、まず制御部１１は、“本体ダウンロードコマンド”を発生する。“本体ダウンロードコマンド”は、表２を参照して説明したコントロールコマンドのうちの“command_flag”の値が、“００００００１０”に設定されたものである。
【０１８０】
制御部１１は、そのコントロールコマンドとして、ダウンロードさせる（送信する）「ストリームファイル」のファイル名（file_name）、ここでは"画像ｘ.pre"、と、そのファイルの大きさ（size）を記述する。残りの部分は、stuffingで埋められる。制御部１１は、発生した“本体ダウンロードコマンド”を多重化部１７の端子Ｋ７に供給する。
【０１８１】
多重化部１７は、前述した“全消去コマンド”と同様に、入力されたコマンドを他の入力信号と多重化して出力する。制御部１１は、“本体ダウンロードコマンド”を送出してから、予め設定された時間が経過するのを待つ。この時間は、受信装置３側で、ダウンロードされるデータを、備えられている記憶装置に記憶するために必要とされ処理にかかる時間が設定される。
【０１８２】
ステップＳ２８において、送信装置１は、「ストリームファイル」をデータストリームで送信する。すなわち、制御部１１は、まず暗号化のための鍵を発生する。この処理は、制御部１１の持つ乱数発生のためのサブルーチン等が用いられることにより行われる。発生される暗号化の鍵は、毎回異なったものになる。なお、この鍵は番組提供終了（この場合、番組Ｘに関しては２１時、番組Ｙに関しては２３時）までメモリ１２に記憶されている。
【０１８３】
制御部１１は、発生した暗号化の鍵を暗号化部６７に供給し、さらに暗号化部６７を、サーバ６５からのデータの入力待ちの状態に設定する。また制御部１１は、スイッチ６８を端子ｂと接続される設定し、多重化部１７の端子Ｋ８に暗号化されたデータが供給されるようにする。
【０１８４】
次に、制御部１１は、サーバ６５に対し、“番組Ｘ”のストリームファイル、即ち"番組ｘ.pre"というファイル名を持つファイルを、暗号化部６７に対して出力するように指令する。サーバ６５は、指定されたファイルの内容を暗号化部６７に供給する。この時、サーバ６５からの出力ビットレートは、事前送信のために確保されたビットレート１６Mbpsから、多重化のオーバーヘッド分を差し引いた値が設定されている。制御部１１が、サーバ６５に対して出力ビットレートを指定する。
【０１８５】
サーバ６５での出力レートの制限はせず、多重化部１７において、出力が２４Mbpsとしたままで、端子Ｋ８以外からの入力を多重化した残りの帯域全部を、端子Ｋ８に入力されたデータに対して割り当てるという方法でも良い。
【０１８６】
暗号化部６７は、サーバ６５から供給されるデータを、制御部１１から供給された暗号化の鍵を用いて暗号化する。暗号の仕方は、どのようなものを用いても良い。なお、以下の説明においては、暗号化により、コンテンツの大きさ（size）は変わらないものとする。暗号化部６７により暗号化されたデータは、スイッチ６８の端子ｂを介して多重化部１７の端子Ｋ８に供給される。
【０１８７】
多重化部１７は、予め決められているデータストリーム用のＰＩＤの値を用い、端子Ｋ８に供給されたデータストリーム、ここでは暗号化されたストリームファイルをトランスポートパケットに格納し、他の入力されたデータと多重化して出力する。
【０１８８】
ストリームファイルを格納するトランスポートパケットは、表３を参照して説明した“データ／時刻・鍵用フォーマット”のうちの“command_flag”の値が、“００００１００１”に設定されたものである。command_flag直後に、このトランスポートパケットに格納されたストリームファイルのデータ数（num_of_data）が置かれ、引き続きデータ本体（data_byte）が置かれる。そして、payload()にまだ空きがある場合には、スタッフィング（stuffing）が行われる。
【０１８９】
このような処理は、ストリームファイル全体が送信されるまで繰り返し続けられる。
【０１９０】
ストリームファイル（番組本体のデータ）の送信が終了されると、ステップＳ２９に進み、送信装置１は、“位置情報ダウンロード予告”のコマンドを、コントロールストリームで流す。すなわち、まず制御部１１は、“位置情報ダウンロードコマンド”を発生する。“位置情報ダウンロードコマンド”は、表２を参照して説明したコントロールコマンドのうちの“command_flag”の値が、“００００００１１”に設定されたものである。
【０１９１】
制御部１１は、続けて、ダウンロードする「位置情報ファイル」のファイル名（file_name）、ここでは"番組ｘ.cpi"と、その大きさ（size）を記述する。残りの部分は、stuffingで埋められる。制御部１１は、発生した“位置情報ダウンロードコマンド”を、多重化部１７の端子Ｋ７に供給する。
【０１９２】
多重化部１７は、入力されたコマンドを、他の入力データと多重化して出力する。制御部１１は、“位置情報ダウンロードコマンド”を送出してから、予め設定された時間が経過するのを待つ。
【０１９３】
予め設定された時間が経過すると、制御部１１は、ステップＳ３０において、位置情報ファイルの送信を開始する。ステップＳ３０において、送信装置１は、「位置情報ファイル」をデータストリームで送出する。すなわち、まず制御部１１は、暗号化部６７に対して、サーバ６５からの入力信号を、そのまま出力するように指令する。また制御部１１は、スイッチ６８を設定し、端子ｂ側と接続し、暗号化部６７から出力された信号が、多重化部１７の端子Ｋ８に供給されるようにする。
【０１９４】
なお、サーバ６５と暗号化部６７との間にスイッチを設けそのスイッチにより、サーバ６５からの出力が、暗号化部６７を介してスイッチ６８の端子ｂに供給されるか、暗号化部６７を介さずにスイッチ６８の端子ｂに供給されるかが選択されるようにし、そのスイッチの接続を変えることにより、暗号化部６７による暗号を行うか否かを選択できるような構成としても良い。
【０１９５】
ステップＳ３０の処理として、上述した処理の他に、制御部１１は、サーバ６５に対し、“番組Ｘ”の位置情報ファイル、即ち"番組ｘ.cpi"のファイル名を持つファイルを、暗号化部６７に対して出力するように指令する。サーバ６５は指令されたファイルの内容を暗号化部６７に供給する。
【０１９６】
位置情報ファイルのサーバ６５からの出力ビットレートも、上述した番組本体のデータの送信（この場合、“番組Ｘ．pre”のファイルの送信）と同様に行われるため、ここでは、その説明を省略する。
【０１９７】
多重化部１７は、予め設定されているデータストリーム用のＰＩＤの値を用い、端子Ｋ８に供給されたデータストリーム、ここでは、暗号化されていない位置情報ファイルをトランスポートパケットに格納し、他の入力信号と多重化して出力する。
【０１９８】
位置情報ファイルを格納するトランスポートパケットは、表３を参照して説明した“データ／時刻・鍵用フォーマット”のうちの“command_flag”の値が、“００００１００１”に設定されたものである。直後に、このトランスポートパケットに格納された位置情報ファイルのデータ数（num_of_data）が置かれ、引き続きデータ本体（data_byte）が置かれる。そして、payload()にまだ空きがある場合には、スタッフィング（stuffing）が行われる。このような処理は、位置情報ファイルの全体が送信されるまで続けられる。
【０１９９】
このような一連の処理で、事前送信する必要の有る１つの“番組Ｘ”を構成するストリームファイル"番組Ｘ.pre"と、位置情報ファイル"番組ｘ.cpi"の送信が完了される。
【０２００】
このようにして、１つの番組に関するデータ（番組本体のデータと、位置情報ファイルのデータ）の送信が終了されると、ステップＳ３１において、事前送信する必要がある全ての番組の送信が終了されたか否かが判断される。この判断は、制御部１１が、メモリ１２に記憶されている編成データを参照し、確認することにより行われる。
【０２０１】
この場合、事前送信される番組は、２番組であるので、ステップＳ３１において、全番組の送信は終了していないと判断され、ステップＳ２７に戻り、“番組Ｙ”に対して、ステップＳ２７以降の処理が同様に行われる。“番組Ｙ”に関するデータの送信は、上述した“番組Ｘ”に関するデータの送信と同様の処理により行われるため、その説明は省略する。
【０２０２】
一方、ステップＳ３１において、制御部１１が、編成データを参照することにより、全番組の送信が終了したと判断した場合、図１７のフローチャートに示した事前送信の為の処理は終了される。なお、図１７に示した事前送信の為の処理は、上述したように、視聴者がその番組を視聴可能となる日の６時頃まで（事前送信番組の為に帯域が確保される時間内）に終了されるようにする。
【０２０３】
このようにして事前送信された番組に関するデータは、受信装置３側に備えられている記憶装置に記憶されるわけだが、その記憶装置が取り外され、他の装置と接続されて、視聴の権利がない視聴者が視聴できたり、視聴可能とされている時間（この場合、１９時乃至２３時）以外の時間に視聴されるようなことがあると、著作権保護の観点から、また、運営上、好ましくない。
【０２０４】
そこで、上述したように、本実施の形態においては、事前送信される番組の本体のデータ（この場合、“番組Ｘ．pre”と“番組Ｙ．pre”のデータ）は、暗号化部６７による暗号化が施されて送信され、受信装置３側でも、暗号化されたデータが記憶されている。このため、上述したようなことは防ぐことができる。
【０２０５】
しかしながら、暗号化されたデータだけでは、視聴可能な時間になっても、視聴出来ないことになる。そこで、視聴可能な時間帯（この場合、１９時乃至２３時）において行われる送信装置１の動作について、図１８のフローチャートを参照して説明する。
【０２０６】
ステップＳ４１において、図１５に示したように、事前送信の番組提供時刻の直前（時刻ｔ２１）に、送信装置１は、「時刻情報」をデータストリームで送信する。すなわち、制御部１１は、まず、時刻・鍵用のデータを発生する。この時、使用されるトランスポートパケットの構造は、表３を参照して説明したデータ／時刻・鍵用のフォーマット形式において、先頭の“command_flag”の値が“００００１０１０”に設定されたものである。
【０２０７】
次に、制御部１１は、時刻情報を設定する。制御部１１は、内部の時計１３の値を読み込み、その時点から、１０秒後以降に発生する“秒”未満の位（桁）が０となる時刻、換言すると、“秒”の位（桁）が繰り上がる時刻を“時刻情報”とし、その“時刻情報”をMPEG2のPCRの定義に変換したものを“PTS”とする。
【０２０８】
“その時点から１０秒後以降に発生する“秒”未満の位（桁）が０となる時刻”についてさらに説明するに、本実施の形態においては、上述したデータ／時刻・鍵用のフォーマットに示す時刻情報が“秒の位（桁）”までしか設定しておらず、“秒”より小さい値を表すようには設定していない。そこで、秒より小さい位（桁）が、全て“０”を表す時刻、すなわち“ＸＸ秒ちょうど”という時刻を用いることになる。
【０２０９】
ここでは、時刻情報として“秒”の位（桁）まで存在するので、“秒未満”が０になる時刻としたが、設定により秒未満以外でも良く、存在する（設定されている）位（桁）より小さい位（桁）が全て０になる時刻というように設定するようにすれば良い。
【０２１０】
また、ここで“１０秒後”としているのは、制御部１１が時刻情報を発生してから多重化部１７、ＥＣＣ／変調部２０、増幅部２１の各部においての処理にかかる時間、および受信装置３側で受信されて時刻情報が処理されるために必要な時間を考慮したものである。従って、“１０秒”という数値でなくても良く、各放送システムあるいは送出装置１の特性に合わせて、適正な数値として設定されるようにすればよい。
【０２１１】
“時刻情報”は、例えば、２０００年（year）、１０月（month）、１０日（day）、１８時（hour）、４９分（minute）、５０秒（second）などの値を持つ。PTSは、“時刻情報”で表した時刻をＰＣＲの値で示している。
【０２１２】
この時点では、「番組に対応するファイル名」、「開始時刻」、「番組の長さ」や「暗号の鍵」は送付されない。すなわち、上述したデータ／時刻・鍵用のフォーマットにおいて、ファイル名の長さ（len_filename）は０と設定され、ファイル名のデータ本体（filename_data）は置かれないデータである。また、番組の開始時間（start_time_hour、start_time_min）や番組の長さ（length_hour、length_min）も値０に設定されたデータである。さらに、「鍵」の値も０に設定されたデータである。このようなデータが送信される。
【０２１３】
制御部１１は、発生した時刻・鍵用のデータを、多重化部１７の端子Ｋ７に供給する。多重化部１７は、予め決められているコントロールストリーム用のＰＩＤの値を用い、端子Ｋ７に供給されたデータを、トランスポートパケットに格納し、他の入力信号と多重化して出力する。
【０２１４】
ステップＳ４２において、番組の提供時刻になったか否かが判断される。ステップＳ４２において、番組の提供時刻にはなっていないと判断されると、ステップＳ４１に戻り、それ以降の処理が繰り返される。一方、ステップＳ４２において、番組の提供時刻になったと判断された場合、ステップＳ４３に進む。
【０２１５】
すなわち、図１５を参照して説明したように、時刻ｔ２２になるまで制御部１１は、時刻情報を一定の間隔で送出し続ける。制御部１１は、一定の間隔で時刻情報を発生し、時刻・鍵用のデータとしてコントロールストリームで送出する。そして、時刻ｔ２２になると、ステップＳ４３に進み、番組の情報および鍵の送信を開始する。
【０２１６】
ステップＳ４３において、時刻ｔ２２、すなわち事前送信番組“番組Ｘ”の番組提供時刻になると、制御部１１は、送出するデータに、“番組Ｘ”の情報を追加する。すなわち、「番組に対応するファイル名」には"番組Ｘ"が置かれる。この時len_filenameは値“３”が置かれ、３回出現するfilename_dataはそれぞれ“番”、“組”、“Ｘ”の値を持つ。また、番組の開始時間は、１９時であるためstart_time_hourには“１９”、start_time_minには“０”が置かれる。
【０２１７】
さらに、番組の長さは２時間であるためlength_hourには“２”、length_minには“０”が置かれる。鍵（key）には、“番組Ｘ”を事前送信した際に使用された暗号の鍵が置かれる。制御部１１は、このように発生した時刻・鍵用のデータを多重化部１７に供給し、送信させる。
【０２１８】
時刻ｔ２３になるまで、制御部１１は、“番組Ｘ”のための時刻・鍵情報は一定の間隔で送出し続ける。制御部１１は、一定の間隔で時刻情報を発生し、番組の情報を追加して、時刻・鍵用のデータとしてコントロールストリームで送出する。
【０２１９】
ステップＳ４４において、番組（この場合番組Ｘ）は、終了したか否かが判断される。この場合、この処理は、時刻が２１時になったか否かが、制御部１１が内蔵する時計１３を参照することにより行われる。ステップＳ４４において、番組は終了していないと判断された場合、ステップＳ４３に戻り、それ以降の処理が繰り返される。
【０２２０】
一方、ステップＳ４４において、番組は終了したと判断された場合、ステップＳ４５に進み、提供する次の番組があるか否かが判断される。この場合、“番組Ｙ”があるため、ＹＥＳと判断され、“番組Ｙ”に対して、ステップＳ４３以降の処理が繰り返される。“番組Ｙ”に対しても、上述した“番組Ｘ”のときと同様の処理が行われるため、その説明は終了する。
【０２２１】
この場合、上述したような処理が“番組Ｘ”と“番組Ｙ”に対して行われることにより、ステップＳ４５において、次の番組はないと判断された場合、すなわち、時刻ｔ２４（図１５）になったと判断された場合、制御部１１は、時刻・鍵情報の送出を停止する。図１５を参照して説明したように、このイベントは２３時に終了される。
【０２２２】
このように、送信装置１側から、直接送信される番組（リアルタイムに、送信された番組を受信装置３側で視聴可能とされる番組）と、事前送信される番組（事前にデータが送信され、所定の時刻になると視聴が可能とされる番組）を受信する受信装置３について説明する。
【０２２３】
図１９は、本発明を適用した受信装置３の一実施の形態の内部構成を示す図である。図１９に示した受信装置３のうち、図３に示した受信装置３と対応する部部には、同一の符号を付し、その説明は適宜省略する。図３に示した受信装置３（従来例）と図１９に示した受信装置３（本発明を適用）とを比較するに、図１９に示した受信装置３は、図３に示した受信装置３のＥＰＧ用ＰＩＤフィルタ３７を、蓄積系ＰＩＤフィルタ７１に代えた構成とされている。
【０２２４】
ここで、従来例にてＥＰＧ用ＰＩＤフィルタ３７が取り扱っていたＥＰＧを“旧ＥＰＧ”と称し、蓄積系ＰＩＤフィルタ７１が取り扱うＥＰＧを“新ＥＰＧ”と称して、必要に応じ区別する。
【０２２５】
蓄積用ＰＩＤフィルタ７１は、入力されたトランスポートストリームから、コントロールストリーム、新ＥＰＧ、データストリーム（時刻・鍵データ及びコンテンツデータ）を含むトランスポートパケットを抽出する。コントロールストリーム、新ＥＰＧ、及びデータストリームのうちの時刻・鍵データは、制御部３１に供給される。また、データストリームのうちのストリームファイルと位置情報ファイルは、データ抽出部７２を介してハードディスク７３に供給される。それぞれの情報が含まれるトランスポートパケットのＰＩＤは、制御部３１から与えられる。
【０２２６】
ここで、ＰＩＤフィルタを蓄積系ＰＩＤフィルタ７１として、１つのフィルタとして図示したが、複数のブロック図で示される構成としても良いし、あるいは他の機能を持つ要素と複合されるようにしても良い。
【０２２７】
記憶装置として受信装置３に設けられているハードディスク７３は、蓄積系ＰＩＤフィルタ７１からデータ抽出部７２を介して供給されるストリームファイルと位置情報ファイルを、制御部３１の制御に基づき記憶する。位置情報ファイルは、制御部３１により用いられる。また、制御部３１の制御により、ハードディスク７３からストリームファイルが、デスクランブラ７４に供給される。
【０２２８】
デスクランブラ７４は、制御部３１から与えられる鍵により、入力されたストリームファイルの暗号を解き、スイッチ７５の端子ａに供給する。出力用ＰＩＤフィルタ３８の入力は、スイッチ７５により、フロントエンド３５からの受信トランスポートストリーム（端子ｂ）と、デスクランブラ７４からの一時蓄積されたストリームファイル（端子ａ）が切り替えられた一方のデータである。
【０２２９】
スイッチ７５は、制御部３１からの指示が無い限り、端子ａ側と接続されることはない。また、制御部３１は、事前送信された番組（ハードディスク７３に記憶されている番組）が視聴可能とされる時間しか、スイッチ７５を端子ａ側に接続しないような制御を行う。
【０２３０】
次に、図１９に示した受信装置３の動作について説明する。受信装置３の制御部３１は、２つのプロセスを同時に進行させている。１つは表示制御であり、もう１つは事前送信データの受信制御である。まず、同時に動作している２つのプロセスのうち、表示制御の制御について、図２０と図２１に示したフローチャートを参照して説明する。
【０２３１】
ステップＳ５１において、制御部３１は、図示せぬ視聴者が、リモートコントローラあるいは受信装置３に備えられているボタン等（いずれも不図示）により、電源スイッチをオン（“入”）にしたか否かを判断する。ただし、受信装置３は電源が供給された時点で、すでに動作を開始しているため、ステップＳ５１における電源スイッチは、表示動作を行うか否かのスイッチである。電源スイッチが“入”にされたと判断された場合、ステップＳ５２に進み、電源スイッチは“入”にされてはいないと判断された場合、ステップＳ５１に戻りそれ以降の処理が繰り返される（待機状態が継続される）。
【０２３２】
ステップＳ５２において、制御部３１内のメモリ３２に蓄積されているＰＳＩや“新ＥＰＧ”の情報のうちの少なくとも一方が、不足しているか、或いは、古くなっているか否かが判断される。ステップＳ５２において、ＰＳＩまたは新ＥＰＧのうち、どちらかが、または両方とも、情報として不足している、古くなっていると判断された場合、ステップＳ５３に進み、そのような状況ではないと判断された場合（ＰＳＩもＥＰＧも記憶されている情報だけで充分であると判断された場合）、ステップＳ５３の処理は省略されて、ステップＳ５４に進む。
【０２３３】
ステップＳ５２における判断は、制御部３１が、メモリ３２内のＰＳＩとＥＰＧ情報と時計３３の示す日時と比較することにより行われる。
【０２３４】
ステップＳ５３において、制御部３１は、フロントエンド３５に指示して、デフォルトのチャネルを受信するように指示する。受信装置３では、予めデフォルトのチャネルが設定されている。本実施の形態の場合、デフォルトのチャネルは、直接送信のチャネルＡである（直接送信のチャネルとして複数存在する場合、どのチャネルでも良い）。フロントエンド３５は、デフォルトのチャネルの伝送される周波数／帯域に同調し、信号を復調し、誤り訂正符号による信号の訂正等を行い、処理したデータをトランスポートストリームとして出力する。
【０２３５】
フロントエンド３５から出力されたトランスポートストリームは、ＰＳＩ用フィルタ３６と、蓄積系ＰＩＤフィルタ７１に、それぞれ供給される。トランスポートストリームは、ＰＣＲ用ＰＩＤフィルタ３９と、スイッチ７５を介して出力用ＰＩＤフィルタ３８にも供給されるが、ステップＳ５３における処理の段階では、供給されるだけであり、何の処理も実行されない。
【０２３６】
ＰＳＩ用フィルタ３６は、入力されたトランスポートストリームからＰＳＩの情報を抽出して制御部３１に供給する。制御部３１に供給されたＰＳＩは制御部３１内部のメモリ３２に蓄えられる。
【０２３７】
制御部３１は、蓄積系ＰＩＤフィルタ７１に“新ＥＰＧ”を運んでいるトランスポートパケットのＰＩＤの値を供給する。この値は、予め設定されており、制御部３１に格納されている。蓄積系ＰＩＤフィルタ７１は、与えられたＰＩＤの値を使用してトランスポートパケットを選り分け、ＥＰＧ情報を抽出し、制御部３１に供給する。供給されたＥＰＧ情報は、メモリ３２に蓄えられる。
【０２３８】
この時使用されているＥＰＧ情報のフォーマットは、表１を参照して既に説明したものである。また、制御部３１に供給される情報は、図１２を参照して説明した編成データと、事前送信番組に対応するファイル名である。
【０２３９】
ＰＳＩとＥＰＧ情報は、どのトランスポートストリームにも含まれている。受信装置３においては、上記の動作が常時行われており、ＰＳＩとＥＰＧの情報は常にアップデートされる。事前送信番組の提供（視聴／再生）中にもアップデートされる。
【０２４０】
制御部３１は必要に応じ、あるいは図示せぬユーザの指示に応答し、ＥＰＧの情報を、抽出／加工し、ＯＳＤ４３に指示してビデオ信号に変更させる。ＯＳＤ４３の発生したビデオ信号は、加算部４４によってビデオデコーダ４０からの出力信号と混合されて、図示せぬテレビジョン受像機などに出力される。
【０２４１】
ステップＳ５４において、制御部３１は、前回電源が切られる直前に視聴されていたチャネルを、図示せぬ内部不揮発記憶装置等から読み出す。前回電源が切られる前に視聴していたのがチャネルＡであるとして、以下の説明をする。
【０２４２】
受信装置３は、電源投入直後に、直前に視聴していた“直接送信チャネル”が視聴されるように制御する。もちろん、電源投入時に直前に視聴されていた“直接”あるいは“事前送信”チャネルが表示されるようにしても良い。
【０２４３】
制御部３１は、フロントエンド３５に指示して、チャネルＡを受信するように指示する。フロントエンド３５は、チャネルＡの伝送される周波数／帯域に同調し、信号を復調し、誤り訂正符号による信号の訂正等が行われ、トランスポートストリームとして出力する。
【０２４４】
フロントエンド３５から出力されたトランスポートストリームは、ＰＳＩ用フィルタ３６、蓄積系ＰＩＤフィルタ７１、ＰＣＲ用ＰＩＤフィルタ３９、およびスイッチ７５を介して出力用ＰＩＤフィルタ３８に、それぞれ供給される。
【０２４５】
制御部３１は出力用ＰＩＤフィルタ３８に対して、ビデオストリームを運んでいるトランスポートパケットのＰＩＤと、オーディオストリームを運んでいるトランスポートパケットのＰＩＤの値を供給する。制御部３１は、ＰＣＲ用ＰＩＤフィルタ３９にＰＣＲを運んでいるトランスポートパケットのＰＩＤの値を供給する。これらのＰＩＤの情報は、ＰＳＩ用フィルタ３６から供給されたものである。
【０２４６】
出力用ＰＩＤフィルタ３８は、与えられた２つのＰＩＤの値を使用してトランスポートパケットを選り分け、ビデオストリームとオーディオストリームを抽出する。ビデオストリームは、ビデオデコーダ４０に、オーディオストリームは、オーディオデコーダ４１に、それぞれ供給される。
【０２４７】
ビデオデコーダ４０は、供給されたMPEG2ビデオ方式のビデオストリームをビデオ信号に変換して出力し、オーディオデコーダ４１は供給されたMPEG2-AACのオーディオストリームをオーディオ信号に変換して出力する。
【０２４８】
ＰＣＲ用ＰＩＤフィルタ３９は、与えられたＰＩＤの値を使用してトランスポートパケットを選り分けてＰＣＲを抽出し、ＳＴＣ４２に供給する。ＳＴＣ４２は、入力されたＰＣＲに自身のクロックを同期させる。ＰＣＲで発生された内部クロックは、ビデオデコーダ４０とオーディオデコーダ４１の同期クロックとして使用される。
【０２４９】
ＰＳＩ用フィルタ３６は、上述したように、入力されたトランスポートストリームからＰＳＩの情報を抽出して制御部３１に供給し、メモリ３２上のＰＳＩが更新される。蓄積系ＰＩＤフィルタ７１は、上述したように、与えられたＰＩＤの値を使用してトランスポートパケットを選り分け、ＥＰＧデータを抽出し、制御部３１に供給する。このようにして、メモリ３２上のＥＰＧ情報が更新される。
【０２５０】
ステップＳ５５において、制御部３１は、視聴者がリモートコントローラあるいはボタン（いずれも不図示）により、チャネルの変更を指示したか否かを判断する。ステップＳ５５において、ユーザによりチャネルが変更されたと判断された場合、ステップＳ５９に進み、ユーザによりチャネルの変更はされていないと判断された場合、ステップＳ５６に進む。
【０２５１】
ステップＳ５６において、制御部３１は、現在出力中（デコード中）の番組が事前送信の番組であるか否かを判断する。ステップＳ５６において、事前送信の番組であると判断された場合、ステップＳ５８に進み、事前送信の番組ではないと判断された場合、ステップＳ５７に進む。
【０２５２】
ステップＳ５７において、制御部３１は、ユーザにより電源スイッチがオフにされたか否かを判断する。ただし、ステップＳ５７においての電源スイッチのオフの状態とは、表示動作を行うか否かのスイッチのオフの状態のことである。ステップＳ５７において、電源スイッチがオフにされたと判断された場合、ビデオデコーダ４０とオーディオデコーダ４１からの出力が停止され、ステップＳ５１に戻り、それ以降の処理が繰り返される。一方、ステップＳ５７において、電源スイッチがオフにされてはいないと判断された場合、ステップＳ５５に戻り、それ以降の処理が繰り返される。
【０２５３】
一方、ステップＳ５５において、ユーザによりチャネルの変更の指示があったと判断され、ステップＳ５９に処理が進んだ場合、制御部３１は、指定されたチャネルが事前送信番組のチャネル（この場合、チャネルＢ）か否かを判断する。ステップＳ５９において、指定されたチャネルが事前送信の番組のチャネルであると判断された場合、ステップＳ６１（図２１）に進み、事前送信の番組のチャネルではないと判断された場合、すなわち直接送信の番組のチャネル（この場合、チャネルＡ）であると判断された場合、ステップＳ６０に進む。
【０２５４】
ステップＳ６０において、制御部３１は、指定されたチャネルに対応する直接送信の番組を、フロントエンド３５に受信するように指示する。その結果、フロントエンド３５から出力されたトランスポートストリームを上述した処理、すなわちステップＳ５４における処理と同様に処理する事により、新しく選択されたチャネルに対応する番組のデータの出力が行われる。その後、ステップＳ５５に戻り、それ以降の処理が繰り返される。
【０２５５】
一方、ステップＳ５９において、指定されたチャネルが事前送信の番組のチャネルであると判断され、ステップＳ６１（図２１）に処理が進んだ場合、制御部３１は、メモリ３２に記憶されたＥＰＧの情報と時計３３の示す時刻を比較し、指定された事前送信のチャネルに事前送信された番組が、現在、提供されているか否か（換言すれば、この場合、視聴可能とされている時間帯である１９時乃至２３時であるか否か）を確認する。提供されていると判断された場合、ステップＳ６２に進み、提供されていないと判断された場合、ステップＳ６６に進む。
【０２５６】
ユーザが指定した事前送信のチャネルが提供中である事を確認した制御部３１は、ステップＳ６２において、まず、メモリ３２に格納されている情報から、現在提供中の事前送信番組のファイル名を探し出す。具体的には、時計３３の示す時刻における、ユーザから指定された事前送信のチャネルの番組表を確認し、関連付けられたファイル名を探し出す。
【０２５７】
制御部３１は、ハードディスク７３に該当ファイルが記録されているか否かを確認する。ステップＳ６２において、ハードディスク７３に、該当ファイルに対応するストリームファイル（"*.pre"）と位置情報ファイル（"*.cpi"）の両方が記憶されていると判断された場合、ステップＳ６５に進み、いずれか１つ、あるいは両方が記憶されていないと判断された場合、ステップＳ６３に進む。
【０２５８】
ステップＳ６２において、ハードディスク７３に、ユーザにより指示されたチャネルに対応する番組に関するファイルが記憶されていると判断され、ステップＳ６５に処理が進んだ場合、制御部３１は、フロントエンド３５に指示して、チャネルＡのチャネルを受信するように指示する。本実施の形態においては、上述したように、事前送信番組に関する情報（例えば、鍵の情報）は、チャネルＡと同じ周波数／帯域で送られてくると予め設定されており、その情報を受信するために、チャネルＡのチャネルを受信するように指示される。
【０２５９】
また、制御部３１は、スイッチ７５を端子ａ側に接続させ、デスクランブラ７４の出力が出力用ＰＩＤフィルタ３８に供給されるようにする。
【０２６０】
フロントエンド３５は、チャネルＡの伝送される周波数／帯域に同調し、信号を復調し、誤り訂正符号による信号の訂正等を行い、トランスポートストリームとしてのデータを出力する。フロントエンド３５から出力されたトランスポートストリームは、ＰＳＩ用フィルタ３６、蓄積系ＰＩＤフィルタ７１、およびＰＣＲ用ＰＩＤフィルタ３９に、それぞれ供給される。
【０２６１】
制御部３１は、蓄積系ＰＩＤフィルタ７１にデータストリームを運んでいるトランスポートパケットのＰＩＤの値を供給する。この値は予め決まっており、制御部３１に格納されている。蓄積系ＰＩＤフィルタ７１は、与えられたＰＩＤの値を用いてトランスポートパケットを選り分け、データストリームを制御部３１に供給する。
【０２６２】
事前送信の番組の供給時には、データストリームに時刻・鍵のデータが含まれている。この時、使用されているフォーマットは、表３を参照して説明したものの内、“command_flag”の値が”００００１０１０”に設定されているものである。制御部３１は、時刻・鍵のデータから、鍵を取り出してデスクランブラ７４に供給する。これにより、予めハードディスク７３に蓄えられているストリームファイルの暗号を解く事ができる。
【０２６３】
次に、制御部３１は、メモリ３２に蓄えられているＥＰＧ情報から、該当番組の開始時刻を確認する。以下に示すように、該当番組の開始時刻と時計３３の示す現在時刻の差を求める事により、該当番組先頭からの経過時間を計算する事ができる。
番組の先頭からの経過時刻＝（現在時刻）−（番組開始時刻）
【０２６４】
制御部３１は、ハードディスク７３から位置情報ファイル"*.cpi"を読み出す。位置情報ファイルは、上述したようにストリームファイルの持つ全てのイントラピクチャの位置を、その出現順に時刻とバイトオフセットの組み合わせで表した情報である。制御部３１は、計算した“番組の先頭からの経過時刻”の直後に表示されるべき位置のイントラピクチャを、バイナリサーチ等の方法を用いて探し出す。この位置を、ここでは再生位置と称する。
【０２６５】
制御部３１は、ハードディスク７３に指令して、該当ファイルの再生位置からのデータをデスクランブラ７４に供給させる。デスクランブラ７４は、制御部３１から供給された鍵を使うことにより、ハードディスク７３から供給されたストリームファイルの暗号を解く。デスクランブラ７４の出力は、スイッチ７５を介して、出力用ＰＩＤフィルタ３８に供給される。暗号を解かれたストリームファイルは、トランスポートストリームのフォーマットに則っている。
【０２６６】
制御部３１は、出力用ＰＩＤフィルタ３８に対して、ビデオストリームを運んでいるトランスポートパケットのＰＩＤとオーディオストリームを運んでいるトランスポートパケットのＰＩＤの値を供給する。事前送信されたストリームファイルに対して、これら２つの値は予め決まっている。
【０２６７】
出力用ＰＩＤフィルタ３８は、与えられた２つのＰＩＤの値を使用してトランスポートパケットを選り分け、ビデオストリームとオーディオストリームを抽出する。ビデオストリームはビデオデコーダ４０に、オーディオストリームはオーディオデコーダ４１に、それぞれ供給される。
【０２６８】
ビデオデコーダ４０は、供給されたMPEG2ビデオ方式のビデオストリームをビデオ信号に変換して出力し、オーディオデコーダ４１は供給されたMPEG2-AACのオーディオストリームをオーディオ信号に変換して出力する。
【０２６９】
制御部３１は、ＰＣＲ用ＰＩＤフィルタ３９にＰＣＲを運んでいるトランスポートパケットのＰＩＤの値を供給する。事前送信番組の供給中は、時刻・鍵のデータを運んでいるトランスポートストリームがＰＣＲを運んでいるため、データストリームのＰＩＤと同じ値を設定する。
【０２７０】
ＰＣＲ用ＰＩＤフィルタ３９は、与えられたＰＩＤの値を使用してトランスポートパケットを選り分け、ＰＣＲを抽出し、ＳＴＣ４２に供給する。ＳＴＣ４２は、入力されたＰＣＲに自身のクロックを同期させる。ＳＴＣ４２で発生された内部クロックは、ビデオデコーダ４０とオーディオデコーダ４１の同期クロックとして用いられる。
【０２７１】
このとき、時刻・鍵のデータ（データストリーム）にて送られるリアルタイムのＰＣＲと、ハードディスク７３に蓄えられていたストリームファイルのＰＴＳは値が異なる。このため、ビデオデコーダ４０及びオーディオデコーダ４１は、予め両者の差を計算しておき、ＰＣＲに差を加えた値に対して、ビデオデコード／オーディオデコードのクロックを同期させる。
【０２７２】
ＰＳＩとＥＰＧ情報の更新は、事前供給された番組の提供中にも行われている。すなわちＰＳＩ用フィルタ３６は、入力されたトランスポートストリームからＰＳＩの情報を抽出して制御部３１に供給する。供給されたＰＳＩは制御部３１内部のメモリ３２に蓄えられる。
【０２７３】
制御部３１は、蓄積系ＰＩＤフィルタ７１に“新ＥＰＧ”を運んでいるトランスポートパケットのＰＩＤの値を供給する。この値は予め決まっており、制御部３１に格納されている。蓄積系ＰＩＤフィルタ７１は、与えられたＰＩＤの値を使用してトランスポートパケットを選り分け、ＥＰＧ情報を抽出し、制御部３１に供給する。供給されたＥＰＧ情報は制御部３１内部のメモリ３２に蓄えられる。
【０２７４】
このような処理が、ステップＳ６５の処理として実行され、事前送信の番組が視聴者に提供されると、ステップＳ５５（図２０）に戻り、それ以降の処理が繰り返される。
【０２７５】
一方、ステップＳ６１において、現在時刻に、事前送信の番組が提供中ではないと判断された場合、換言すれば、この場合、現在時刻が１９時乃至２３時ではなく、事前送信の番組の視聴は許可されていないと判断された場合、ステップＳ６６に進み、制御部３１は、ＯＳＤ４３に指令して「現在、事前送信の番組は行われていない」旨のメッセージを発生させる。ＯＳＤ４３の出力信号は加算部４４によりビデオデコーダ４０の出力と混合され出力される。このような処理が終了されると、ステップＳ６４に進む。
【０２７６】
なお、視聴者には、事前送信や直接送信といった、番組の提供に関する情報を与える必要はなく、また、そのような情報を与えることにより混乱や、煩わしさを与える可能性があるので、メッセージとしては、「現在、指定されたチャネルでは、番組は提供されていません」などで、視聴者には、事前送信や直接送信といったことを知らせないようなメッセージにすることが好ましい。
【０２７７】
ステップＳ６４において、制御部３１は、直前に視聴されていた直接送信のチャネルの番組を提供する。制御部３１は、フロントエンド３５に指示して、指定されたチャネルを受信するように指示する。その結果、フロントエンド３５から出力されたトランスポートストリームを上述した処理、すなわちステップＳ５４のところで説明した処理と同様の処理を実行する事により、チャネルの変更が指示されるときに視聴されていた番組の表示が再び開始される。このような処理が終了されると、ステップＳ５５（図２０）に戻り、それ以降の処理が繰り返される。
【０２７８】
一方、ステップＳ６２において、指定されたチャネルに対応する番組のファイルが、ハードディスク７３に記憶されていないと判断された場合、ステップＳ６６に進み、制御部３１は、ＯＳＤ４３に指令して「該当番組のファイルが読み込まれていないので、見る事が出来ない」旨のメッセージを発生させる。ＯＳＤ４３の出力信号は加算部４４によりビデオデコーダ４０の出力と混合され出力される。このステップＳ６６において発生されるメッセージも、上述したステップＳ６３において発生されるメッセージと同じく、事前送信と直接送信などの区別を視聴者に認識させないようなメッセージが発生されるようにする方が好ましい。
【０２７９】
一方、ステップＳ５６（図２０）において、事前送信の番組のデコード中であると判断された場合、ステップＳ５８に進み、提供中（デコード中）の番組は、終了か否かが判断される。例えば、番組Ｘは、１９時乃至２１時まで提供されるため、２１時になると、ステップＳ５８において、提供中の番組は終了したと判断され、２１時前の時刻では、提供中の番組は終了していないと判断されることになる。
【０２８０】
そこで、ステップＳ５８において、提供中の番組は終了していないと判断された場合、終了したと判断されるまで、ステップＳ５５に戻り、それ以降の処理が繰り返され、終了したと判断されると、ステップＳ６７（図２１）に進む。なお、ステップＳ５８における処理は、制御部３１が、ハードディスク７３に指示して出力させている番組を、メモリ３２のＥＰＧデータにて確認し、時計３３の示す時刻が該当番組放送中か、あるいは放送終了（提供終了）の時刻に達したか否かを確認することにより行われる。
【０２８１】
ステップＳ６７において、制御部３１は、該当番組が提供されているチャネルを、メモリ３２に記録されているＥＰＧ情報を参照することにより調べ、該当チャネルに、次の“事前送信番組”が有るか否かを判断する。次の番組があると判断された場合、ステップＳ６８に進み、次の番組がないと判断された場合、ステップＳ６４に進む。ステップＳ６４以下の処理については、既に説明したので、その説明は省略する。
【０２８２】
この場合、チャネルＢで、番組Ｘが提供されているときに、ステップＳ６７の処理が実行された場合、番組Ｙが存在するため、処理は、ステップＳ６８に進み、番組Ｙが提供されているときに、ステップＳ６７の処理が実行された場合、次に提供される番組は存在しないので、ステップＳ６４に進み、事前送信の番組Ｘが視聴される直前に視聴されていた直接送信の番組にチャネルが切り換えられる。
【０２８３】
ステップＳ６８において、制御部３１は、メモリ３２に記憶されたＥＰＧの情報と時計３３の示す時刻より、該当チャネルで次に放送すべき事前送信の番組を確定する。確定された番組に対して、ステップＳ６２以降の処理が実行される。
【０２８４】
このようにして、表示が制御されることにより、直接送信の番組と事前送信の番組の間での切り替えが、視聴者に対しては、あたかも、２つの直接送信チャネル間を切り替えているかのように行う事ができる。
【０２８５】
ここで、表３を参照して説明した時刻・鍵のデータについて、さらに説明を加える。日時に関するデータ（year、month、day、hour、minute、second）及びこれらに対するＰＴＳは、時計３３の時刻の修正に使用される。すなわち、該当日時情報に付加されているＰＴＳと、同じく時刻・鍵のデータのトランスポートストリームに付加されて入力されるＰＣＲに同期したＳＴＣと等しくなった瞬間が、該当日時情報が表す瞬間である。
【０２８６】
制御部３１は、その瞬間に時計３３の情報を、入力された該当日時情報に書き換える事で、時計３３を、送信装置１の時計１３（図８）と一致させる。ただし、この作業は毎回行われるわけではなく、例えば、１日１回などの頻度で行われる。
【０２８７】
また、ファイル名に関する情報（len_filename、filename_data）は、例えば、ステップＳ６２においてファイル名を求める処理に、メモリ３２内のＥＰＧ情報が調べられる代わりに、このフィールドが用いられるようにしても良い。
【０２８８】
さらに、開始時刻（start_time_hour、start_time_min）、番組の長さ（length_hour、length_min）は、例えば、ステップＳ６１の処理においてのチェックやステップＳ６５においての経過時刻の計算の際に用いられるようにしても良い。
【０２８９】
受信装置３は、上述したような表示の制御を行うとともに、事前送信される番組のデータの受信に関する制御も行う。次に、この事前送信される番組のデータの受信に関する、受信装置３の動作について、図２２のフローチャートを参照して説明する。
【０２９０】
ステップＳ８１において、制御部３１は、蓄積系ＰＩＤフィルタ７１に、コントロールストリームを運んでいるトランスポートパケットのＰＩＤの値を供給する。この値は予め決まっており、制御部３１に格納されている。蓄積系ＰＩＤフィルタ７１は、供給されたＰＩＤの値を用いてトランスポートパケットを選り分け、コントロールストリームの情報を抽出し、制御部３１に供給する。コントロールストリームに含まれる情報は、表２を参照して説明したコントロールコマンドである。
【０２９１】
ステップＳ８２において、制御部３１は、蓄積系ＰＩＤフィルタ７１から供給されるコントロールストリームを監視する。コントロールストリームのコマンドが供給されたと判断されるまで、ステップＳ８２の処理は繰り返され、コマンドが供給されたと判断された場合、ステップＳ８３に進む。
【０２９２】
ステップＳ８３以降の処理において、入力されたコマンドの解析および解析された結果に対応する処理が実行される。コントロールコマンドは、上述した表２に示す構造である。まず、ステップＳ８３において、入力されたコマンドは、全消去を指示するコマンドであるか否かが判断される。この判断は、コマンドを受け取った制御部３１が、先頭８ビットのcommand_flagを検査することにより行われる。command_flagが値‘０００００００１’の場合、“全消去コマンド”を示している。
【０２９３】
ステップＳ８３において、入力されたコマンドは、全消去コマンドであると判断された場合、ステップＳ８４に進む。ステップＳ８４において、全消去コマンドを受け取った制御部３１は、ハードディスク７３に指令して、ハードディスク７３内部に記憶されている「ストリームファイル」（"*.pre"）と「位置情報ファイル」（"*.cgi"）を削除する。この処理が終了されると、ステップＳ８２に戻り、次のコマンド待ちの状態となる。
【０２９４】
一方、ステップＳ８３において、入力されたコマンドは、全消去コマンドではないと判断された場合、ステップＳ８５に進み、本体ダウンロードのコマンドであるか否かが判断される。command_flagが値‘００００００１０’の場合、本体ダウンロードコマンドを示している。ステップＳ８５において、入力されたコマンドは、本体ダウンロードコマンドであると判断された場合、ステップＳ８６に進む。
【０２９５】
ステップＳ８６において、本体ダウンロードコマンドを受け取った制御部３１は、コマンド内部からファイル名（len_filename、filename_data）とファイルサイズ（size）を読み出す。ファイル名には、末尾に".pre"が付加されており、ストリームファイルである事を示す。
【０２９６】
ステップＳ８７において、制御部３１は、ハードディスク７３に対して“ファイル名”と“ファイルサイズ”を指定し、データ抽出部７２から供給されるストリームファイルを指定されたファイル名で記憶するように指示する。
【０２９７】
制御部３１は、蓄積系ＰＩＤフィルタ７１に、ストリームファイルを運んでいるトランスポートパケットのＰＩＤの値を供給する。この値は予め決まっており、制御部３１に格納されている。蓄積系ＰＩＤフィルタ７１は、与えられたＰＩＤの値を使用してトランスポートパケットを選り分け、ストリームファイルをデータ抽出部７２に供給する。
【０２９８】
事前送信番組の事前送信時には、データストリームにはダウンロードデータのフォーマットが使用されている。この時使用されているフォーマットは表３を参照して説明したものの内、command_flagが値‘００００１００１’を持っているものである。データ抽出部７２は、表３に示したダウンロードデータの構造から先頭のcommand_flagを取り去り、次のnum_of_dataを使ってdata_byteを抽出してハードディスク７３に供給する。stuffing_byteも取り去られる。
【０２９９】
ハードディスク７３は、制御部３１から指定された名前で入力されたデータを記憶する。ハードディスク７３は、入力されたデータが“ファイルサイズ”で指定された大きさに達したら、制御部３１にデータロード終了を伝える信号を供給する。
【０３００】
ステップＳ８８において、制御部３１は、ハードディスク７３から記録終了を伝える信号が入力されたか否かを判断し、記録終了の信号が入力されたと判断されるまで、ステップＳ８８の処理を繰り返す。そして、記録終了の信号が入力されたと判断された場合、次に入力されたコマンドに対して、ステップＳ８２以下の処理が繰り返される。
【０３０１】
一方、ステップＳ８５において、入力されたコマンドは、本体ダウンロードのコマンドではないと判断された場合、ステップＳ８９に進む。ステップＳ８９において、入力されたコマンドが、位置情報のダウンロードのコマンドではないと判断された場合、ステップＳ８２に戻り、それ以降の処理が繰り返される。なお、この場合、ステップＳ８９において、入力されたコマンドが、位置情報のダウンロードのコマンドではないと判断されたとき、このことは、入力されたコマンドは、無効なコマンドであることを示している。
【０３０２】
ステップＳ８９において、入力されたコマンドは、位置情報のダウンロードのコマンドであると判断された場合、ステップＳ９０に進む。ステップＳ９０乃至Ｓ９２の処理は、基本的に既に説明したステップＳ８６乃至Ｓ８８の処理と同様に行われるため、適宜、その説明は省略する。
【０３０３】
ステップＳ９１において、制御部３１は、ハードディスク７３に対して“ファイル名”と“ファイルサイズ”を指定し、データ抽出部７２から供給される位置情報ファイルを指定された名前で記憶するように指示する。
【０３０４】
事前送信番組の事前送信時には、データストリームにはダウンロードデータのフォーマットが使用されている。この時使用されているフォーマットは、表３を参照して説明したものの内、command_flagが値‘００００１００１’を持っているものである。
【０３０５】
ステップＳ９２において、制御部３１は、ステップ８８のところで説明したように、ハードディスク７３から記録終了の信号の入力待ちの状態を継続し、記録終了の信号が入力されると、ステップＳ８２に戻り、それ以降の処理が繰り返される。
【０３０６】
このような、事前送信の番組のデータの受信制御が行わるとともに、受信装置３においては、上述した表示に関する制御も同時に行われている。
【０３０７】
本発明を適用することにより、プライムタイムにチャネル数があたかも増えたように扱うことができ、視聴者が望む時間に、チャネルの選択の幅を広げることができる。また、視聴者に対して、このようなことにより処理が増えるなどの不都合が生じることはない。さらに、ハードディスク７３に記憶される番組本体のデータは、暗号化されたデータとするなどにより、著作権などの保護も的確に行うことができる。
【０３０８】
上述した実施の形態においては、事前送信の番組と直接送信の番組はチャネル単位で分け、事前送信のチャネルと直接送信のチャネルとしたが、事前送信の番組と直接送信の番組を、１つのチャネル内で番組単位、あるいはそれより小さな単位で混在するようにしても良い。
【０３０９】
また、ここではプライムタイムに流用した帯域を番組を増やすために使用したが、画質を向上するために使用するようにしても良い。すなわち、直接送信の部分では普通の画質のビットストリームを送り、事前送信の部分で画質向上分のビットストリームを送るようにすればよい。
【０３１０】
事前送信番組のストリームファイルを特殊再生できるか否かのフラグを情報として送る事により、受信装置３側で該当ファイルを特殊再生するか否かを判断し、特殊再生可能である時には特殊再生させるようにしても良い。
【０３１１】
上述した実施の形態においては、事前送信の番組のデータは、送信装置１から送信されるとしたが、インターネットなどのネットワークを介して送信されるようにしても良い。また、CD-ROMなどの記録媒体などで配布されるようにしても良い。このような、ネットワークや記録媒体などで、事前送信の番組のデータを送信（配布）するようにしても、本実施の形態のように、鍵のデータを、所定の時間にしか提供しないようにすれば、著作権などを保護することが可能である。
【０３１２】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０３１３】
図２３は、汎用のパーソナルコンピュータの内部構成例を示す図である。パーソナルコンピュータのCPU（Central Processing Unit）１０１は、ROM（Read Only Memory）１０２に記憶されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）１０３には、CPU１０１が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース１０５は、キーボードやマウスから構成される入力部１０６が接続され、入力部１０６に入力された信号をCPU１０１に出力する。また、入出力インタフェース１０５には、ディスプレイやスピーカなどから構成される出力部１０７も接続されている。
【０３１４】
さらに、入出力インタフェース１０５には、ハードディスクなどから構成される記憶部１０８、および、インターネットなどのネットワークを介して他の装置とデータの授受を行う通信部１０９も接続されている。ドライブ１１０は、磁気ディスク１２１、光ディスク１２２、光磁気ディスク１２３、半導体メモリ１２４などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
【０３１５】
記録媒体は、図２３に示すように、パーソナルコンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク１２１（フロッピディスクを含む）、光ディスク１２２（CD-ROM（Compact Disk-Read Only Memory），DVD（Digital Versatile Disk）を含む）、光磁気ディスク１２３（MD（Mini-Disk）を含む）、若しくは半導体メモリ１２４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているROM１０２や記憶部１０８が含まれるハードディスクなどで構成される。
【０３１６】
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０３１７】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０３１８】
【図１】データの授受を行うシステムの一例の構成を示した図である。
【図２】従来の送信装置１の一例の内部構成を示す図である。
【図３】従来の受信装置３の一例の内部構成を示す図である。
【図４】図３に示した受信装置３の動作を説明するフローチャートである。
【図５】チャネルについて説明する図である。
【図６】番組について説明する図である。
【図７】編成データについて説明する図である。
【図８】本発明を適用した送信装置１の一実施の形態の内部構成を示す図である。
【図９】チャネルについて説明する図である。
【図１０】帯域について説明する図である。
【図１１】チャネルについて説明する図である。
【図１２】編集データについて説明する図である。
【図１３】事前送信のスケジュールについて説明する図である。
【図１４】コマンドの送信について説明する図である。
【図１５】事前送信された番組の提供について説明する図である。
【図１６】送信装置１が行う直接送信について説明するフローチャートである。
【図１７】送信装置１が行う事前送信について説明するフローチャートである。
【図１８】送信装置１が事前送信された番組を提供するときの動作について説明するフローチャートである。
【図１９】本発明を適用した受信装置３の一実施の形態の内部構成を示す図である。
【図２０】受信装置３の表示制御の動作について説明するフローチャートである。
【図２１】図２０のフローチャートに続くフローチャートである。
【図２２】受信装置３が事前送信された番組のデータの受信する際の動作について説明するフローチャートである。
【図２３】媒体を説明する図である。
【符号の説明】
【０３１９】
１  送信装置，  ３  受信装置，  １１  制御部，  １２  メモリ，  １３  時計，  ３１  制御部，  ３２  メモリ，  ３３  時計，  ６１  ＶＴＲカート，  ６２  ビデオエンコーダ，  ６３  オーディオエンコーダ，  ６４  多重化部，  ６５  サーバ，  ６６  イントラピクチャ検出部，  ６７  暗号化，  ６８  スイッチ，  ７１  蓄積系PIDフィルタ，  ７２  データ抽出部，  ７３  ハードディスク，  ７４  デスクランブラ，  ７５  スイッチ
【図１】
0004725507.tif 000002
【図２】
0004725507.tif 000003
【図３】
0004725507.tif 000004
【図４】
0004725507.tif 000005
【図５】
0004725507.tif 000006
【図６】
0004725507.tif 000007
【図７】
0004725507.tif 000008
【図８】
0004725507.tif 000009
【図９】
0004725507.tif 000010
【図１０】
0004725507.tif 000011
【図１１】
0004725507.tif 000012
【図１２】
0004725507.tif 000013
【図１３】
0004725507.tif 000014
【図１４】
0004725507.tif 000015
【図１５】
0004725507.tif 000016
【図１６】
0004725507.tif 000017
【図１７】
0004725507.tif 000018
【図１８】
0004725507.tif 000019
【図１９】
0004725507.tif 000020
【図２０】
0004725507.tif 000021
【図２１】
0004725507.tif 000022
【図２２】
0004725507.tif 000023
【図２３】
0004725507.tif 000024