(57)【特許請求の範囲】
【請求項１】
複数の端末装置と、各端末装置からの要求に応じてデジタル映像やデジタル音声を多重化して要求してきた各端末装置に送信するサーバ装置とからなるオンデマンド装置であって、
サーバ装置は、
予めデジタル映像やデジタル音声を記憶している記憶手段と、
前記端末装置からの要求に応じて、前記記憶手段に記憶されているデジタル映像やデジタル音声の読み出しを指示し、同じく該端末装置へ映像や音声信号の送出を指示するサーバ管理手段と、
前記サーバ管理手段の読み出し指示に従い、前記記憶手段に記憶されているデジタル映像やデジタル音声を読み出し、その先頭にデジタル映像やデジタル音声が端末装置に到着して再生を開始するまでの経過時間を含む情報を埋め込んだプライベートパケットを付加する読出付加手段と、
前記読出付加手段が付加したプライベートパケットと、読み出したデジタル映像やデジタル音声を複数多重化したバイトストリームとを前記要求を発した複数の端末に送信する多重化送信手段とを備え、
端末装置は、
前記多重化送信手段から送信された多重化されたバイトストリームを復調して映像や音声のアナログ信号とプライベートパケットの内容とを出力するストリームデコーダと、
前記ストリームデコーダから出力されるアナログ信号を再生する再生手段と、
映像や音声の再生の要求を受け付ける受付操作手段と、
前記受付操作手段が受け付けた要求を前記サーバ管理手段に送信し、前記ストリームデコーダから出力されるプライベートパケットに埋め込まれた情報に従い前記再生手段を制御する端末管理手段とを備えることを特徴とするオンデマンド装置。
【請求項２】
前記読出付加手段は、プライベートパケットを複数付加することを特徴とする請求項１記載のオンデマンド装置。
【請求項３】
前記読出付加手段は、映像や音声の再生位置と、再生方向と再生速度とを示す再生ベクトルとの情報をプライベートパケットに埋め込む埋込部を含み、
前記ストリームデコーダは、上記バイトストリームに埋め込まれた信号によってクロックを発生するクロック発生部を含み、
前記端末管理手段は、前記ストリームデコーダから出力されるプライベートパケットに埋め込まれたデジタル映像やデジタル音声が端末装置に到着して再生を開始するまでの経過時間と再生位置と再生ベクトルとの情報と前記クロック発生部で発生されるクロックとに基づいて、前記再生手段に映像や音声の先頭からの再生位置を表示させる再生位置表示制御部とを含むことを特徴とする請求項１又は２記載のオンデマンド装置。
【請求項４】
前記読出付加手段は、更に、読み出したデジタル映像やデジタル音声の末尾に映像や音声の再生終了を示す情報を埋め込んだプライベートパケットを付加する末尾プライベートパケット付加部を含み、
前記端末管理手段は、前記ストリームデコーダから出力される末尾に付加されたプライベートパケットの情報に基づいて前記再生手段の再生位置の表示を終了させる再生終了制御部を含むことを特徴とする請求項１、２又は３記載のオンデマンド装置。
【請求項５】
前記末尾プライベートパケット付加部は、プライベートパケットを複数付加することを特徴とする請求項４記載のオンデマンド装置。
【請求項６】
前記受付操作手段は、再生手段の再生停止の指示を受け付ける停止指示受付操作部を含み、
前記端末管理手段は、前記停止指示受付部が指示された停止位置と前記再生位置表示制御部が表示させる再生位置が一致したとき、前記ストリームデコーダの入力を禁止する入力禁止部を含むことを特徴とする請求項３、４又は５記載のオンデマンド装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、ユーザの端末装置からの要求に応じてサーバ装置から映像や音声をリアルタイムに端末装置に送出するオンデマンド装置に関する。
【０００２】
【従来の技術】
近年、ＱＡＭ（Quadrature Amplitude Modulation）、ＱＰＳＫ（Quadrature Phase Shift Keying）に代表されるデジタル変調技術とＭＰＥＧ（Moving Picture Experts Group）に代表されるデジタル圧縮技術の発展に伴い、これらの技術を応用して映像や音声を公衆回線を介して遠くの多数の端末装置に送出するビデオオンデマンドやオンラインショッピング等が実現されつつある。従来、ケーブルテレビでなされているペイパービューの映像音声の提供は、予め指定された時間にならないと受けられないのに対して、このビデオオンデマンド等は、双方向チャネルを用いてリアルタイムに提供可能な点が異なる。
【０００３】
図７は、このオンデマンド装置の構成図である。本オンデマンド装置は、ビデオポンプ１と多重化装置２とサーバ管理装置７とからなるビデオサーバ８と、ストリームデコーダ３とモニタ４と入力装置５とＵＩ（ユーザインタフェース）管理部６とからなる端末装置９と、ストリーム伝送路１０と、コマンド伝送路１１とを備える。
【０００４】
このオンデマンド装置によって、端末装置９のモニタ４に番組（映像と音声）の再生をするときの動作を図８のフローチャートを用いて説明する。
ユーザは、入力装置５を用いて再生のためのコマンドを入力する。ＵＩ管理部６は、モニタ４に「しばらくお待ちください」というメッセージを表示しＢＧＭを再生する（Ｓ８０１）。次に、再生コマンドをサーバ管理装置７へ送信し（Ｓ８０２）、サーバ管理装置７からの返答を待つ（Ｓ８０３）。サーバ管理装置７に送られる再生コマンドには、番組識別子Ｉと番組再生位置Ｓと番組再生ベクトルＶが付随している。なお、Ｓの単位はミリ秒である。しかしながら一般にビデオポンプ１は、常に指定されたＳとＶ通りに要求を満たすことができるとは限らない。このため、サーバ管理装置７はＳとＶをビデオポンプ１が処理できる範囲の値に変更し、Ｓ’とＶ’を得る。サーバ管理装置７は、Ｓ’，Ｖ’と共に再生コマンドをビデオポンプ１へ送り、Ｓ’とＶ’をＵＩ管理部６へ返す。ＵＩ管理部６は、Ｓ’，Ｖ’を含む返答を受け取ると、これを変数ｓｔａｒｔ＝Ｓ’×（１／１０００），ｖｅｃｔｏｒ＝Ｖ’として保持して（Ｓ８０４）、タイマーを起動し（Ｓ８０５）、モニタ４に表示したメッセージを消去してＢＧＭを停止する（Ｓ８０６）。ビデオポンプ１はサーバ管理部７から指定された通りに、指定された番組の送出を開始する。多重化装置２はビデオポンプ１から受け取ったＭＰＥＧ２形式のストリームを多重化してＭＰＥＧ２トランスポートストリームを生成し、ストリーム伝送路１０へ送出する。ストリームデコーダ３は既に設定されたチャネル情報に従ってストリーム伝送路１０から受信したトランスポートストリームをデコードし、その結果得られる映像及び音声信号をモニタ４へ出力する。モニタ４は入力した映像及び音声信号を再生する。
【０００５】
次に、モニタ４に表示するカウンタ表示の動作を図９に示すフローチャートを用いて説明する。タイマー割り込みが発生してカウンタ用タイマーが起動されると、変数ｓｔａｒｔの値をモニタ４に表示し（Ｓ９０１）、変数ｓｔａｒｔの値を式ｓｔａｒｔ＝ｓｔａｒｔ＋ｖｅｃｔｏｒに従って、再計算して更新する（Ｓ９０２）。タイマー割り込みは１秒に一回発生するため、モニタ４に表示される値は１秒毎に更新される。モニタ４に表示される数字は、従来のＶＴＲ装置におけるカウンタ表示に相当するものである。この数字は、通常再生の場合は１秒に１ずつ増加し、２倍速再生の場合は１秒に２ずつ増加する。
【０００６】
次に、ユーザが番組の再生停止を指示する動作を、図１０に示すフローチャートを用いて説明する。管理部６は、停止コマンドをサーバ管理装置７へ送信し（Ｓ１００１）、サーバ管理装置７からの返答を待つ（Ｓ１００２）。サーバ管理装置７は再生停止コマンドをビデオポンプ１へ送り、ビデオポンプ１は既に指定された番組の送出を停止する。次にＵＩ管理部６は（番組停止位置−ｓｔａｒｔ）で求まる時間だけ待つ（Ｓ１００３）。次に、タイマーを停止してカウンタ表示を消去する（Ｓ１００４）。
【０００７】
【発明が解決しようとする課題】
ところで、上記従来の構成では、現在再生している映像の再生時刻が端末装置１０で正確に表示されていないので、オンラインショッピング等において、見たい番組の再生位置を指定するのに、現在表示されている再生時刻を目安とすることができない。ここで言う再生時刻とは、ＶＴＲ装置におけるカウンタのように、映像の先頭を基準にして計測した時刻のことを指している。ＭＰＥＧ２規格によると、ビデオとオーディオを同期再生させるために、あるフレームをいつ再生させるべきかを示すタイムスタンプと、ＭＰＥＧ２デコーダのクロックを設定するための時間基準と呼ばれる情報がストリームに埋め込まれているが、映像の先頭を基準とする再生時刻の情報は埋め込まれていない。したがって、一つの映像を途中から再生させるときに、端末装置１０が番組の先頭からの相対的な再生時刻を正確に得ることができない。
【０００８】
即ち、Ｓ８０３で返答が返る時刻と同期してストリームがストリームデコーダ３で再生されることが保証されないために、モニタ４に表示されるカウンタの値が実際の再生位置と異なる値を示すことが生じた。特に、コマンド伝送路１１の誤り率が高い場合、Ｓ８０３の返答の再送が発生し、誤差はさらに大きくなる可能性がある。
【０００９】
また、カウンタ表示の内容を端末装置９の中だけで計算しているために、ビデオポンプ１がストリーム送出の実時間性を完全に保証できない場合は誤差が蓄積される。
また、番組の終わりに到達したことを知る方法がないため、番組が終了しても、ユーザが停止コマンドを入力しない限りカウンタが表示されたままになる。
【００１０】
更に、停止コマンドを処理するときに、Ｓ１００１でサーバ管理装置７へ停止コマンドを送信してから、Ｓ１００２でコマンドの返答が返ってくるまでの時間が（番組停止位置−ｓｔａｒｔ）よりも大きい場合、余分な映像がモニタ４に表示される。特に、番組停止位置を指定しなかった場合、番組停止位置はｓｔａｒｔと等しくなるため、コマンドの返答が返るまでの間、モニタ４に映像が流れ続けることとなる。
【００１１】
本発明は、上記課題に鑑み、再生時刻を正確に表示でき、かつ、番組の停止を正確にすることができるオンデマンド装置を提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記課題を解決するために、請求項１に係る発明においては、複数の端末装置と、各端末装置からの要求に応じてデジタル映像やデジタル音声を多重化して要求してきた各端末装置に送信するサーバ装置とからなるオンデマンド装置であって、サーバ装置は、予めデジタル映像やデジタル音声を記憶している記憶手段と、前記端末装置からの要求に応じて、前記記憶手段に記憶されているデジタル映像やデジタル音声の読み出しを指示し、同じく該端末装置へ映像や音声信号の送出を指示するサーバ管理手段と、前記サーバ管理手段の読み出し指示に従い、前記記憶手段に記憶されているデジタル映像やデジタル音声を読み出し、その先頭にデジタル映像やデジタル音声が端末装置に到着して再生を開始するまでの経過時間を含む情報を埋め込んだプライベートパケットを付加する読出付加手段と、前記読出付加手段が付加したプライベートパケットと、読み出したデジタル映像やデジタル音声を複数多重化したバイトストリームとを前記要求を発した複数の端末に送信する多重化送信手段とを備え、端末装置は、前記多重化送信手段から送信された多重化されたバイトストリームを復調して映像や音声のアナログ信号とプライベートパケットの内容とを出力するストリームデコーダと、前記ストリームデコーダから出力されるアナログ信号を再生する再生手段と、映像や音声の再生の要求を受け付ける受付操作手段と、前記受付操作手段が受け付けた要求を前記サーバ管理手段に送信し、前記ストリームデコーダから出力されるプライベートパケットに埋め込まれた情報に従い前記再生手段を制御する端末管理手段とを備えることを特徴としている。
【００１３】
請求項２に係る発明においては、前記読出付加手段は、プライベートパケットを複数付加することを特徴としている。
請求項３に係る発明においては、前記読出付加手段は、映像や音声の再生位置と、再生方向と再生速度とを示す再生ベクトルとの情報をプライベートパケットに埋め込む埋込部を含み、前記ストリームデコーダは、上記バイトストリームに埋め込まれた信号によってクロックを発生するクロック発生部を含み、前記端末管理手段は、前記ストリームデコーダから出力されるプライベートパケットに埋め込まれたデジタル映像やデジタル音声が端末装置に到着して再生を開始するまでの経過時間と再生位置と再生ベクトルとの情報と前記クロック発生部で発生されるクロックとに基づいて、前記再生手段に映像や音声の先頭からの再生位置を表示させる再生位置表示制御部とを含むことを特徴としている。
【００１４】
請求項４に係る発明においては、前記読出付加手段は、更に、読み出したデジタル映像やデジタル音声の末尾に映像や音声の再生終了を示す情報を埋め込んだプライベートパケットを付加する末尾プライベートパケット付加部を含み、前記端末管理手段は、前記ストリームデコーダから出力される末尾に付加されたプライベートパケットの情報に基づいて前記再生手段の再生位置の表示を終了させる再生終了制御部を含むことを特徴としている。
【００１５】
請求項５に係る発明においては、前記末尾プライベートパケット付加部は、プライベートパケットを複数付加することを特徴としている。
請求項６に係る発明においては、前記受付操作手段は、再生手段の再生停止の指示を受け付ける停止指示受付操作部を含み、前記端末管理手段は、前記停止指示受付部が指示された停止位置と前記再生位置表示制御部が表示させる再生位置が一致したとき、前記ストリームデコーダの入力を禁止する入力禁止部を含むことを特徴としている。
【００１６】
【作用】
上記構成により、請求項１の発明においては、サーバ管理手段は、前記端末装置からの要求に応じて、予めデジタル映像やデジタル音声を記憶している記憶手段からデジタル映像やデジタル音声の読み出しを読出付加手段に指示し、同じく該端末装置へ映像や音声信号の送出を多重化送信手段に指示する。読出付加手段は、前記記憶手段に記憶されているデジタル映像やデジタル音声を読み出し、その先頭にデジタル映像やデジタル音声が端末装置に到着して再生を開始するまでの経過時間を含む情報を埋め込んだプライベートパケットを付加する。多重化送信手段は、前記読出付加手段が付加したプライベートパケットと、読み出したデジタル映像やデジタル音声を複数の端末装置のために複数多重化したバイトストリームとを前記要求を発した複数の端末に送信する。端末装置のストリームデコーダは、前記多重化送信手段から送信された多重化されたバイトストリームを復調して映像や音声のアナログ信号を再生手段に出力し、プライベートパケットの内容を端末管理手段に出力する。再生手段は、前記ストリームデコーダから出力されるアナログ信号を再生する。受付操作手段は、映像や音声の再生の要求を受け付ける。端末管理手段は、前記受付操作手段が受け付けた要求を前記サーバ管理手段に送信し、前記ストリームデコーダから出力されるプライベートパケットに埋め込まれた情報に従い前記再生手段を制御する。
【００１７】
請求項２の発明においては、前記読出付加手段は、通信の信頼性を損なわないためにプライベートパケットを複数付加する。
請求項３の発明においては、前記読出付加手段の埋込部は、映像や音声の再生位置と、再生方向と再生速度とを示す再生ベクトルとの情報をプライベートパケットに埋め込む。前記ストリームデコーダのクロック発生部は、上記バイトストリームに埋め込まれた信号によってクロックを発生する。前記端末管理手段の再生位置表示制御部は、前記ストリームデコーダから出力されるプライベートパケットに埋め込まれたデジタル映像やデジタル音声が端末装置に到着して再生を開始するまでの経過時間と再生位置と再生ベクトルとの情報と前記クロック発生部で発生されるクロックとに基づいて、前記再生手段に映像や音声の先頭から現在の再生位置を表示させる。
【００１８】
請求項４の発明においては、前記読出付加手段の末尾プライベートパケット付加部は、更に、読み出したデジタル映像やデジタル音声の末尾に映像や音声の再生終了を示す情報を埋め込んだプライベートパケットを付加する。前記端末管理手段の再生終了制御部は、前記ストリームデコーダから出力される末尾に付加されたプライベートパケットの情報に基づいて前記再生手段の再生位置の表示を終了させる。
【００１９】
請求項５の発明においては、前記末尾プライベートパケット付加部は、通信の信頼性を損なわないためにプライベートパケットを複数付加する。
請求項６の発明においては、前記受付操作手段の停止指示受付操作部は、再生手段の再生停止の指示を受け付ける。前記端末管理手段の入力禁止部は、前記停止指示受付部が指示された停止位置と前記再生位置表示制御部が表示させる現在の再生位置が一致したとき、余分な映像を出力しないため前記ストリームデコーダの入力を禁止する。
【００２０】
【実施例】
以下、本発明に係るオンデマンド装置を実施例に基づいて説明する。
図１は、本発明に係るオンデマンド装置の一実施例の構成図である。このオンデマンド装置は、複数の端末装置１１１、１１２、…と、サーバ装置１２１と、これらを接続するコマンド伝送路１３１と、ストリーム伝送路１３２とを備える。
【００２１】
端末装置１１１は、受付部１１３と、端末管理部１１４と、ストリームデコーダ１１５と、再生部１１６とを備える。端末装置１１２、…についても同様である。
サーバ装置１２１は、記憶部１２２と、サーバ管理部１２３と、読出付加部１２４と、多重化送信部１２５とを備える。
【００２２】
受付部１１３は、マウスやキーボード等からなり、ユーザの入力コマンドを受け付け、受け付けたコマンドを端末管理部１１４に通知する。このコマンドには、図２に示すような、選択コマンド２０１、再生コマンド２０２及び停止コマンド２０３とがある。
選択コマンド２０１では、ユーザは、番組（サーバ装置１２１の記憶部１２２に記憶されているデジタル映像やデジタル音声）を指定する番組識別子を入力する。ここで番組識別子とは、記憶部１２２に複数記憶されている番組を一意に指定する識別子をいう。再生コマンド２０２では、ユーザは、番組識別子と番組再生位置と番組再生ベクトルとを入力する。ここで、番組再生位置とは、番組を標準の速度で再生したときの番組の先頭からの相対時間（単位はミリ秒）をいう。番組再生位置の入力がないときは、番組識別子で指定された番組の最新の停止位置がデフォルトで用いられる。なお、初めてその番組の再生コマンド２０２が入力されるときには、番組の先頭位置が停止位置とされる。番組再生ベクトルとは、サーバ装置１２１の多重化送信部１２５から送出される番組の再生方向と再生速度とを示す数値をいい、正の値は通常の再生方向を、負の値はいわゆる巻き戻し方向をそれぞれ示し、絶対値が再生速度（標準（通常）再生速度を「１」とする）を示す。例えば、ユーザが、番組１の先頭から１分後の位置を開始位置として２倍速で通常の再生方向に再生するというコマンドを入力するときには、番組識別子は「１」、番組再生位置は「６００００」、番組再生ベクトルは「２」となる。なお、番組再生ベクトルを指定しないときには、デフォルト値として「１」が用いられる。停止コマンド２０３では、ユーザは、番組識別子と番組停止位置とを入力する。ここで番組停止位置とは、再生を停止する位置の番組の先頭からの相対時間をいい、この番組停止位置の指定がないときは、現在の再生位置がデフォルト値として用いられる。
【００２３】
端末管理部１１４は、時限タイマー（図示せず）と１秒ごとに割り込みを発生するカウンタ用タイマー（図示せず）とを含む。受付部１１３から通知されたコマンドが番組の選択コマンド２０１、番組の再生コマンド２０２又は再生の停止コマンド２０３のいずれであるかを判断する。番組の選択コマンド２０１のときは、再生部１１６にメッセージ表示を指示するとともに、その選択コマンド２０１をコマンド伝送路１３１を介してサーバ装置１２１のサーバ管理部１２３に送信する。番組の再生コマンド２０２のときも、同様に、再生部１１６にメッセージ表示を指示するとともに、再生コマンドをサーバ管理部１２３に送信する。再生の停止コマンド２０３のときは、停止コマンドをサーバ管理部１２３に送信し、受付部１１３から入力された番組停止位置が後述する番組再生位置ｓｔａｒｔ＊と一致するまで待ち、カウンタ用タイマーを停止し、再生部１１６のカウンタ表示の消去を指示する。併せて、ストリームデコーダ１１５のデコード処理を停止させる。
【００２４】
また、端末管理部１１４は、サーバ管理部１２３から選択コマンドの返答としてチャネル情報を受信すると、ストリームデコーダ１１５にチャネル情報を設定するとともに、再生部１１６にメッセージ表示の消去を指示する。
更に、端末管理部１１４は、割り込みがあった場合に、その割り込みがストリームデコーダ１１５からのプライベートパケットの内容の通知、時限タイマーの割り込み又はカウンタ用タイマー割り込みの何れであるかを判定する。プライベートパケットの内容の通知であるときは、その内容を解析し、再生位置フラグが真であるか偽であるかを判定する。真であると判定したときは、既に時限タイマーがセットされているときは、それをリセットし、プライベートパケットの再生時刻フィールドに記録されている開始時間（再生開始までの時間）に到達すると起動する時限タイマーを新たにセットするとともに、プライベートパケットの再生位置フィールドと番組再生ベクトルフィールドに埋め込まれている値を定数ｓｔａｒｔ＝Ｓ’×（１／１０００）、ｖｅｃｔｏｒ＝Ｖ’としてそれぞれ記憶する。
【００２５】
再生位置フラグが偽であると判定したときは、カウンタ用タイマーを停止し、再生部１１６にカウンタ表示の消去を指示する。
端末管理部１１４は、セットした時限タイマーが再生開始までの時間が経過して、時限タイマーの割り込みが発生したときは、ストリームデコーダ１１５から現在のＳＴＣ（System Time Clock ）を取得し、そのＳＴＣを定数ｓｔａｒｔ＿ＳＴＣに設定するとともに、カウンタ用タイマーを起動し、再生部１１６に表示されているメッセージの消去を指示する。ここで、ＳＴＣとは、ストリームデコーダ１１５が同期再生を実現するために用いるクロックのことをいう。このクロックの値は、入力されるストリームの中に埋め込まれるクロック補正情報（ＭＰＥＧ２規格におけるＰＣＲ（Program Clock Reference ）によって補正されるようになっており、このようにしてストリーム送出側とデコーダ側のクロックが補正される。ＳＴＣの値の単位はミリ秒である。
【００２６】
カウンタ用タイマーの割り込みが発生したときは、ストリームデコーダ１１５から現在のＳＴＣの値を取得して、そのＳＴＣの値を変数ｃｕｒｒ＿ＳＴＣに設定する。再生部１１６に現在の番組再生位置ｓｔａｒｔ＊を表示させるため次式に従い番組再生位置ｓｔａｒｔ＊を計算する。
ｓｔａｒｔ＊＝ｓｔａｒｔ＋（ｃｕｒｒ＿ＳＴＣ−ｓｔａｒｔ＿ＳＴＣ）×ｖｅｃｔｏｒ
得られたｓｔａｒｔ＊の値を再生部１１６に通知して表示させる。
【００２７】
ストリームデコーダ１１５は、端末管理部１１４によってチャネル情報が設定されると、サーバ装置１２１の多重化送信部１２５からストリーム伝送路１３２を介して送出されるトランスポートストリーム形式のプライベートパケットと番組パケットとを受けると、プライベートパケットの内容を端末管理部１１４に通知し、番組パケットを映像や音声のアナログ信号に復調して再生部１１６に出力する。
【００２８】
再生部１１６は、ＣＲＴやスピーカ等からなり、ストリームデコーダ１１５から番組のアナログ信号を入力して、番組の映像や音声を出力する。また、端末管理部１１４からメッセージ表示の指示を受けると、「しばらくお待ち下さい」と画面上にメッセージの表示をするとともに、ＢＧＭを流す。端末管理部からメッセージ表示の消去の指示を受けると、画面上に表示したメッセージを消去し、ＢＧＭの出力を停止する。端末管理部１１４からｓｔａｒｔ＊の値の通知を受けると、その値を表示する。
【００２９】
記憶部１０２は、ハードディスク等からなり、ＭＰＥＧ２トランスポートストリーム形式（ビデオとオーディオとを同期多重したビットストリームの形式）の複数のデジタル映像やデジタル音声（番組）を予め記憶している。これらの番組は、番組識別子によって識別される。
サーバ管理部１２３は、端末装置１１１の端末管理部１１４からコマンド伝送路１３１を介して選択コマンドとして番組識別子Ｉの送信を受けると、読出付加部１２４に番組識別子Ｉを通知するとともに、多重化送信部１２５に端末装置１１１に番組を送信するためのチャネル確保の要求を通知する。多重化送信部１２５から端末装置１１１に送信するためのチャネル情報を受け取ると、端末装置１１１の端末管理部１１４にそのチャネル情報をコマンド伝送路１３１を介して送信する。
【００３０】
また、サーバ管理部１２３は、端末管理部１１４から再生コマンドとして、番組識別子Ｉと番組再生位置Ｓと番組再生ベクトルＶとの送信を受けると、読出付加部１２４が指定された番組の読み出し可能な番組再生位置Ｓ’と番組再生ベクトルＶ’とに、修正する。これは、番組の映像等は、複数のフレーム群をまとめて圧縮して記憶部１２２に記憶されていることから、指定された番組再生位置Ｓが圧縮されたフレーム群の途中である場合には、少し前又は後のパケットの先頭フレームから再生する必要があるからである。同様に指定された番組再生ベクトルＶも同様である。この修正した番組再生位置Ｓ’と番組再生ベクトルＶ’とを読出付加部１２４に通知するとともに、端末管理部１１４に再生コマンドを了解したことをコマンド伝送路１３１を介して送信する。
【００３１】
また、サーバ管理部１２３は、端末管理部１１４から再生停止のコマンドとして、番組識別子Ｉと番組停止位置Ｅとの送信を受けると、読出付加部１２４が指定された番組の読み出し停止可能な番組停止位置Ｅ’に、修正して、読出付加部１２４に通知する。
読出付加部１２４は、サーバ管理部１２３から番組識別子Ｉと番組再生位置Ｓ’と番組再生ベクトルＶ’の通知を受けると、記憶部１２２に記憶されている複数の番組から番組識別子Ｉで識別される番組を番組再生位置Ｓ’で示される位置からパケット単位で読み出し、図３に示すように、その番組パケット３０１の先頭３０２と末尾３０３とに先頭プライベートパケット３０４と末尾プライベートパケット３０５とをそれぞれ付加する。
【００３２】
ここで、プライベートパケット３０４、３０５は、複数のプライベートパケットから構成される。各プライベートパケット３０４、３０５には、図４に示すように、再生位置フラグフィールド４０１、番組識別子フィールド４０２、番組再生位置フィールド４０３、番組再生ベクトルフィールド４０４及び開始時間フィールド４０５（先頭プライベートパケット３０４にのみ）が設けられている。
【００３３】
図４には、読出付加部１２４が埋め込んだ先頭プライベートパケット３０４の開始時間フィールド４０５の内容が示されている。ここで、開始時間Ｔの数値が番組のパケット３０１の先頭３０２に近づくに従い小さくなっているのは、このプライベートパケット３０４のうちの一つを受信した後、実際に番組パケット３０１を受信して再生するまでの経過（待ち）時間を示しているからである。なお、この単位はミリ秒である。
【００３４】
読出付加部１２４は、先頭プライベートパケット３０４の再生位置フラグフィールド４０１には真である「１」を埋め込み、末尾プライベートパケット３０５の再生位置フラグフィールド４０１は偽である「０」を埋め込む。また、プライベートパケット３０４、３０５の他のフィールド４０２、４０３、４０４には、サーバ管理部１２３から通知された番組識別子Ｉ、番組再生位置Ｓ’、番組再生ベクトルＶ’をそれぞれ埋め込む。
【００３５】
読出付加部１２４は、先頭プライベートパケット３０４、番組パケット３０１、末尾プライベートパケット３０５を順次多重化送信部１２５に通知する。
また、読出付加部１２４は、番組停止位置Ｅ’の通知を受けると、番組の読み出しをその停止位置Ｅ’に達したとき停止する。
多重化送信部１２５は、サーバ管理部１２３からチャネル確保の要求の通知を受けると、チャネルを設定し、そのチャネル情報をサーバ管理部１２３に通知する。また、読出付加部１２４からプライベートパケット３０４、３０５及び番組パケット３０１（ＭＰＥＧ２ストリーム）の通知を受けると、設定したチャネルを割り当てる。複数の端末１１１、１１２、…に送信するためのＭＰＥＧ２ストリームを多重化してＭＰＥＧ２トランスポートストリーム形式でストリーム伝送路１３２を介してストリームデコーダ１１５に送信する。
【００３６】
コマンド伝送路１３１は、端末管理部１１４とサーバ管理部１２３との間で相互にコマンドを伝送する。
ストリーム伝送路１３２は、多重化送信部１２５からストリームデコーダ１１５にストリームを伝送する。
なお、コマンド伝送路１３１およびストリーム伝送路１３２は、物理的に独立した伝送媒体で実現されてもよいし、同一の伝送媒体で実現されてもよい。前者の例としては、コマンド伝送路１３１を電話回線を用い、ストリーム伝送路１３２に衛星通信を用いるものがある。後者の例としては、Ｅｔｈｅｒｎｅｔ  ＬＡＮやＩＳＤＮの公衆網や同軸ケーブルを用いるものがある。
【００３７】
次に、本実施例の動作を図５、図６に示すフローチャートを用いて説明する。先ず、ユーザは、受付部１１３に見たい番組を選択するための選択コマンドを入力する。端末管理部１１４は、入力コマンドであるか否かを判定し（Ｓ５０２）、入力コマンドでないときはＳ６０２に移り、入力コマンドであるときは、選択コマンドであるか否かを判定する（Ｓ５０４）。選択コマンドであるときには、再生部１１６にメッセージ表示を指示する。再生部１１６は、メッセージを表示し、ＢＧＭを再生する（Ｓ５０６）。
【００３８】
端末管理部１１４は、サーバ管理部１２３に選択コマンドを送信する（Ｓ５０８）。サーバ管理部１２３からチャネル情報の送信を受けると（Ｓ５１０）、ストリームデコーダ１１５にチャネル情報を設定する（Ｓ５１２）。
再生部１１６は、メッセージを消去して、ＢＧＭを停止し（Ｓ５１３）、Ｓ５０２に戻る。
【００３９】
端末管理部１１４は、Ｓ５０４において、選択コマンドでないと判定したときは、再生コマンドであるか否かを判定する（Ｓ５１４）。即ち、ユーザが受付部１１３に再生コマンドを入力したときは、再生部１１６は、メッセージを表示し、ＢＧＭを再生する（Ｓ５１６）。続いて、サーバ管理部１２３に再生コマンドを送信し（Ｓ５１８）、Ｓ５０２に戻る。
【００４０】
一方、サーバ管理部１２３は、再生コマンドを受けると読出付加部１２４に番組識別子Ｉで識別される番組の読み出しを指示し、読出付加部１２４は、プライベートパケットを付加して、多重化送信部１２５に番組パケットとともに通知する。多重化送信部１２５は、設定したチャネルによって、番組をＭＰＥＧ２形式のストリームを多重化してＭＰＥＧ２トランスポートストリームを生成して、それをストリーム伝送路１３２を介してストリームデコーダ１１５へ送出する。ストリームデコーダ１１５は、受信したトランスポートストリームを復調し、再生部１１６に映像および音声信号を出力する。併せて、プライベートパケットの内容を端末管理部１１４に通知する。
【００４１】
Ｓ５１４において、再生コマンドでないと判定したときは、停止コマンドであるか否かを判定する（Ｓ５２２）。停止コマンドでないときは、Ｓ５０２に戻る。ユーザが受付部１１３に停止コマンドを入力したときは、端末管理部１１４は、停止コマンドをサーバ管理部１２３に送信する（Ｓ５２４）。サーバ管理部１２３は、読出付加部１２４に番組停止位置を通知し、番組の読み出しを停止させる。
【００４２】
端末管理部１１４は、ユーザの指示した番組停止位置Ｅがｓｔａｒｔ＊に一致するまで待ち（Ｓ５２６）、カウンタ用タイマーを停止して、再生部にカウンタ表示の消去を指示する。再生部１１６は、カウンタ表示を消去する（Ｓ５２８）。併せて、端末管理部１１４は、ストリームデコーダ１１５にデコード処理を停止させ（Ｓ５３０）、処理を終了する。これによって、再生部１１６の番組再生は停止されるので、余分な映像が映し出されることを防ぐことができる。
【００４３】
端末管理部１１４は、Ｓ６０２において、ストリームデコーダ１１５からの割り込みであるか否かを判定し、ストリームデコーダからの割り込みのときは、通知されたプライベートパケットの内容を解析する（Ｓ６０４）。プライベートパケットの再生位置フラグフィールドの値が真であるか否かを判定し（Ｓ６０６）、真のときは、時限タイマーがセットされていればそれを削除する（Ｓ６０８）。次に、プライベートパケットの開始時間フィールドの値だけ時間が経過すれば起動する時限タイマーをセットする（Ｓ６１０）。さらに、プライベートパケットの番組再生位置フィールドと番組再生ベクトルフィールドの値を定数ｓｔａｒｔ＝Ｓ'×（１／１０００），ｖｅｃｔｏｒ＝Ｖ'として保持する（Ｓ６１２）。このように、プライベートパケットが複数送信されるので、そのうち幾つかを消失しても、そのうち最低一つを正しく処理できれば、時限タイマーがセットされるようになっている。
【００４４】
端末管理部１１４は、Ｓ６０６において、再生位置フラグが偽であると判定したときは、番組の終了であるので、カウンタ用タイマーを停止して、再生部１１６にカウンタ表示（再生時刻表示）の消去を指示し（Ｓ６１４）、Ｓ５０２に戻る。
次に、端末管理部１１４は、ストリームデコーダ１１５からの割り込みでないと判定したとき、時限タイマーの割り込みであるか否かを判定し（Ｓ６１６）、時限タイマーの割り込みのときは、ストリームデコーダ１１５からトランスポートストリームに埋め込まれた現在のＳＴＣを取得し、それを定数ｓｔａｒｔ＿ＳＴＣとして記憶する（Ｓ６１８）。併せて、カウンタ用タイマーを起動し、１秒間に１回の割り込みを発生させる（Ｓ６２０）。更に、再生部１１６のメッセージ表示の消去を指示する。
【００４５】
再生部１１６は、メッセージを消去し、ＢＧＭを停止し（Ｓ６２２）、番組を再生し（Ｓ６２３）、Ｓ５０２に戻る。
Ｓ６１６において、時限タイマーの割り込みでないと判定したときは、カウンタ用タイマーの割り込みであるか否かを判定する（Ｓ６２４）。否と判定したときはＳ５０２に戻る。カウンタ用タイマーの割り込みであると判定したときは、ストリームデコーダ１１５から現在のＳＴＣを取得し、変数ｃｕｒｒ＿ＳＴＣに代入する（Ｓ６２６）。式ｓｔａｒｔ＊＝ｓｔａｒｔ＋（ｃｕｒｒ＿ＳＴＣ−ｓｔａｒｔ＿ＳＴＣ）×ｖｅｃｔｏｒを用いて現在の再生時刻ｓｔａｒｔ＊を計算する（Ｓ６２８）。再生部１１６にｓｔａｒｔ＊を通知し、再生部１１６はｓｔａｒｔ＊の値を表示し（Ｓ６３０）、Ｓ５０２に戻る。このｓｔａｒｔ＊は１秒ごとに更新表示される。
【００４６】
【発明の効果】
以上説明したように、請求項１の発明によれば、読出付加手段が送出する番組の前にプライベートパケットを付加するようにし、端末管理手段がこのパケットの開始時間に従い、番組の先頭から正確に番組を再生することができる。
また、請求項２の発明によれば、伝送誤りがあっても、通信の信頼性を損ねることがない。
【００４７】
請求項３の発明によれば、ストリームデコーダのクロックを用いて番組再生位置の値を算出することにより、サーバ装置がストリーム送出処理のゆらぎ等によって実時間性を完全に保証できなくても、高い精度で番組再生位置の値を算出でき、その実用的効果は大きい。
請求項４の発明によれば、番組の後にプライベートパケットを付加するようにし、端末管理手段がそれによって、番組の終わりになると番組再生位置表示を確実に消去でき、その実用的効果は大きい。
【００４８】
請求項５の発明によれば、伝送誤りがあっても、通信の信頼性を損ねることがない。
更に、請求項６の発明によれば、停止コマンドが入力された場合、サーバ装置と再生位置とが一致したときからストリームの送出を停止する前であっても、端末管理手段が番組停止位置−ｓｔａｒｔだけ待った後に、ストリームデコーダのデコード処理を強制的に停止させることにより、余分な映像が再生手段に出力されることを防ぐことができ、その実用的効果は大きい。
【図面の簡単な説明】
【図１】本発明に係るオンデマンド装置の一実施例の構成図である。
【図２】上記実施例の受付部が受け付ける入力コマンドとその内容の説明図である。
【図３】上記実施例の読出付加部で送出される番組データの概念図である。
【図４】上記実施例の読出付加部でプライベートパケットに記録されるデータの説明図である。
【図５】上記実施例の端末管理部の動作を中心に説明するフローチャートの１／２である。
【図６】上記実施例の端末管理部の動作を中心に説明するフローチャートの２／２である。
【図７】従来のオンデマンド装置の構成図である。
【図８】従来の番組再生の動作を説明するフローチャートである。
【図９】従来のカウンタ表示の動作を説明するフローチャートである。
【図１０】従来の再生停止の動作を説明するフローチャートである。
【符号の説明】
１１１      端末装置
１１２      端末装置
１１３      受付部
１１４      端末管理部
１１５      ストリームデコーダ
１１６      再生部
１２１      サーバ装置
１２２      記憶部
１２３      サーバ管理部
１２４      読出付加部
１２５      多重化送信部
１３１      コマンド伝送路
１３２      ストリーム伝送路
【図１】
0003670724.tif 000002
【図２】
0003670724.tif 000003
【図３】
0003670724.tif 000004
【図４】
0003670724.tif 000005
【図５】
0003670724.tif 000006
【図６】
0003670724.tif 000007
【図７】
0003670724.tif 000008
【図８】
0003670724.tif 000009
【図９】
0003670724.tif 000010
【図１０】
0003670724.tif 000011