(57)【特許請求の範囲】
【請求項１】
映像データを送出するビデオポンプ部と，該ビデオポンプ部から送出された映像データを受信して映像を表示するクライアント部とから構成される映像データ転送方式において，
前記クライアント部は，
受信すべき映像データが消失したことを検出する手段と，
映像データが消失したことを検出した場合に前記ビデオポンプ部に対し消失した映像データの再送要求を発行する手段とを備え，
前記ビデオポンプ部は，
読み出しポインタと書き込みポインタとを用いて巡回的に使用されるバッファであって，前記読み出しポインタと前記書き込みポインタとの間に，映像データを映像データ自体の固有のビットレートより速く送るために必要なデータを確保する先読み領域を有し，前記書き込みポインタと前記読み出しポインタとの間に，映像データが消失した場合に備えて所定量以上の送出済み映像データを確保する保存領域を有するバッファと，
前記クライアント部から再送要求があった場合に，要求された映像データを前記バッファにおける保存領域から読み出して再送する手段とを備える
ことを特徴とする映像データ転送方式。
【請求項２】
前記ビデオポンプ部は，映像データの送出時に映像データの送出単位ごとにシーケンス番号を付加する手段を備え，
前記クライアント部による前記映像データの消失の検出および再送要求は，前記ビデオポンプ部において映像データに付加したシーケンス番号によって行われる
ことを特徴とする請求項１記載の映像データ転送方式。
【請求項３】
前記ビデオポンプ部は，映像データが消失した場合の再送に備えて，前記クライアント部においてリアルタイムに映像を表示するのに必要な映像データが本来持つ転送速度よりも高い転送速度で映像データを送出する手段を備える
ことを特徴とする請求項１記載の映像データ転送方式。
【請求項４】
前記クライアント部は，映像データ自体の固有のビットレートより速く送られてくる映像データを一時蓄積するための領域を有するバッファと，その領域が溢れそうになったことを検出する手段と，その領域が溢れそうになった場合に前記ビデオポンプ部に対し，映像データの送出停止要求を発行する手段を備え，
前記ビデオポンプ部は，前記クライアント部からの送出停止要求があった場合に，映像データの送出を一時的に停止し，所定の時間経過後に映像データの送出を再開する手段を備える
ことを特徴とする請求項１記載の映像データ転送方式。
【請求項５】
ネットワークを介して映像データを他の装置へ送出するビデオサーバ装置であって，
読み出しポインタと書き込みポインタとを用いて巡回的に使用されるバッファであって，前記読み出しポインタと前記書き込みポインタとの間に，映像データを映像データ自体の固有のビットレートより速く送るために必要なデータを確保する先読み領域を有し，前記書き込みポインタと前記読み出しポインタとの間に，映像データが消失した場合に備えて所定量以上の送出済み映像データを確保する保存領域を有するバッファと，
映像データの送出時に前記バッファにおける先読み領域から読み出した映像データの送出単位ごとにシーケンス番号を付加する手段と，
映像データが消失した場合の再送に備えて，映像データを受信する前記他の装置がリアルタイムに映像を表示するのに必要な映像データが本来持つ転送速度よりも高い転送速度で映像データを送出する手段と，
前記他の装置から再送要求があった場合に，要求された映像データを前記バッファにおける保存領域から読み出して再送する手段とを備える
ことを特徴とするビデオサーバ装置。
【請求項６】
前記他の装置からの送出停止要求があった場合に，映像データの送出を一時的に停止し，所定の時間経過後に映像データの送出を再開する手段を備える
ことを特徴とする請求項５記載のビデオサーバ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，ネットワークを介して映像データを伝送するビデオ・オン・デマンド（ＶＯＤ）システム等の映像データ転送方式およびビデオサーバ装置に関する。
【０００２】
近年のネットワークの高速化や情報圧縮技術の進歩により，映像を情報伝達の手段として使う動きが盛んになってきている。そうした中で，好きなときに好きな映像を，家庭あるいはオフィスに居ながらにして見ることができるＶＯＤシステムは，これからのマルチメディア時代の重要なアプリケーションとしてその普及が期待されている。
【０００３】
【従来の技術】
従来のＶＯＤシステムにおいては，映像データの伝送媒体に非同期転送モード（ＡＴＭ）が用いられたり，あるいは映像データを伝送するプロトコルとしてＵＤＰ（User Datagram Protocol）がそのまま使われたりしていた。
【０００４】
【発明が解決しようとする課題】
ＡＴＭやＵＤＰプロトコルによる映像データ転送においては，映像を表示するクライアントにデータが到達するまでに，データが消失することは考慮されておらず，ネットワークの伝送途中でデータが消失したり，クライアント側の処理能力の不足によりデータが消失したりした場合には，表示される映像が乱れてぎくしゃくした映像になるという問題があった。
【０００５】
本発明は上記問題点の解決を図り，リアルタイムな映像データの表示の途切れが生じない転送を可能とすることを目的とする。
【０００６】
【課題を解決するための手段】
本発明は，上記課題を解決するために，ビデオポンプ部とクライアント部とから構成される映像データ転送方式において，図１に示すような手段により，映像データの消失に対する補償を行う。
【０００７】
図１は本発明の構成例を示す図である。
図中，１は映像データを送出するビデオポンプ部（ビデオサーバ装置），２は映像データを受信して映像を表示するクライアント部（クライアント装置）である。
【０００８】
１０は映像データの先読み領域および保存領域を有するバッファ，１１はバッファ１０に対する映像データの書き込みおよび読み出しを制御するバッファ書き込み／読み出し制御部，１２は映像データをネットワークを介して送出するデータ送出手段，１３はクライアント部２からの再送要求を検出する再送要求検出手段，１４はクライアント部２からの送出停止要求を検出する送出停止要求検出手段，１５は映像データを蓄積する映像データ蓄積装置を表す。
【０００９】
２０は受信した映像データを一時蓄積するバッファ，２１はバッファ２０に対する映像データの書き込みおよび読み出しを制御するバッファ書き込み／読み出し制御部，２２は映像データの消失を検出する映像データ消失検出手段，２３は再送要求を発行する再送要求発生手段，２４はバッファ２０の一時蓄積領域が溢れそうになったことを検出する溢れ検出手段，２５は送出停止要求を発行する送出停止要求発生手段，２６は映像データを表示する表示装置を表す。
【００１０】
ビデオポンプ部１におけるデータ送出手段１２は，映像データが消失した場合のデータの再送に備え，映像データが本来持つ再生に必要な転送速度よりも高い速度でデータを送出する。
【００１１】
クライアント部２は，映像データに付加されたシーケンス番号によって映像データが消失したことを検出する映像データ消失検出手段２２を備え，映像データの消失が発生した場合には，消失したデータの再送要求をビデオポンプ部１に発行する再送要求発生手段２３を持つ。
【００１２】
ビデオポンプ部１は，再送要求検出手段１３によってクライアント部２からの制御データ中に再送要求を検出した場合に，バッファ１０の保存領域から送出済みの映像データを再度読み出し，データ送出手段１２を介して送出する。
【００１３】
また，ビデオポンプ部１は，映像データを映像データ自体の固有のビットレートより速く送るために必要なデータを確保する先読み領域と，映像データが消失した場合に備え，過去のデータを確保する保存領域が設けられるバッファ１０を備え，映像データ蓄積装置１５からの映像データの先読みおよび保存を，バッファ書き込み／読み出し制御部１１によって制御する。
【００１４】
クライアント部２は，映像データ自体の固有のビットレートより速く送られてくる映像データを一時蓄積するための一時蓄積領域であるバッファ２０を備えるとともに，その一時蓄積領域が溢れそうになったことを検出する溢れ検出手段２４と，溢れそうになったことを検出した場合に，ビデオポンプ部１に対し送出停止要求を発行する送出停止要求発生手段２５を備える。
【００１５】
ビデオポンプ部１は，送出停止要求検出手段１４によってクライアント部２からの制御データ中に送出停止要求を検出した場合に，バッファ書き込み／読み出し制御部１１に対して，映像データの読み出しおよび送出を一時的に停止する指示を出す。バッファ書き込み／読み出し制御部１１は，映像データの読み出しおよび送出を一時的に停止した後，所定の時間が経過するとデータの読み出しおよび送出を再開する。
【００１６】
以上のような手段を持つので，ビデオポンプ部１からクライアント部２への映像データの転送途中において映像データの消失が生じても，クライアント部２においてリアルタイムな映像の表示の途切れが生じることがない映像データの転送が可能になる。
【００１７】
【発明の実施の形態】
図２はビデオポンプ部の構成例，図３はクライアント部の構成例を示す図である。
【００１８】
図２に示すデータ読み出し部３０，書き込みアドレス生成部３１，バッファ書き込み部３２，読み出しアドレス生成部３３，バッファ読み出し部３４およびアドレス比較部３６は，図１に示すバッファ書き込み／読み出し制御部１１に相当する。
【００１９】
また，図３に示すデータ受信部４０，書き込みアドレス生成部４１，バッファ書き込み部４２，読み出しアドレス生成部４３およびバッファ読み出し部４４は，図１に示すバッファ書き込み／読み出し制御部２１に相当する。アドレス比較部４６は，図１に示す溢れ検出手段２４に相当し，シーケンス番号検出部４８は，図１に示す映像データ消失検出手段２２に相当する。
【００２０】
ビデオポンプ部１とクライアント部２とは，ネットワークを介して接続されている。ビデオポンプ部１のデータ読み出し部３０は，ディスク記憶媒体等に蓄積された映像データを読み出す。読み出された映像データは，バッファ書き込み部３２によって，書き込みアドレス生成部３１が生成するバッファ１０のアドレスに書き込まれる。
【００２１】
バッファ１０に書き込まれた映像データは，バッファ読み出し部３４によって読み出しアドレス生成部３３が生成するバッファ１０のアドレスから読み出され，データ送出部３５へ送られる。データ送出部３５は，映像データの送出単位ごとに送出する映像データの順番を示すシーケンス番号を付与し，ネットワークを介してクライアント部２へ送出する。このとき，データ送出部３５は，読み出された映像データが本来転送されるべき転送速度よりも速い速度でクライアント部２側へ送出する。
【００２２】
バッファ１０には，映像データを映像データ自体の固有のビットレートより速く送るために必要なデータを確保する先読み領域と，映像データが消失した場合に備えて所定量以上の送出済み映像データを確保する保存領域とが用意される。アドレス比較部３６は，バッファ１０に対する書き込みアドレスと読み出しアドレスとを比較し，その差が一定量以上になるように保存領域を確保しつつ，データ読み出し部３０に対し映像データの先読みの指示を出す。
【００２３】
データ受信部３７は，クライアント部２から制御データを受信する。送出停止要求検出部３８は，データ受信部３７が受信した制御データが送出停止要求であるかどうかを調べ，送出停止要求である場合には，バッファ１０からの映像データの読み出しを止め，映像データの送出を一時的に停止する。所定の時間が経過したならば，バッファ読み出し部３４およびデータ送出部３５による映像データの送出を再開する。
【００２４】
また，再送要求検出部３９は，データ受信部３７が受信した制御データが再送要求であるかどうかを調べ，再送要求である場合には，要求されたシーケンス番号に該当する映像データのバッファ１０上のアドレスを読み出しアドレス生成部３３によって生成し，そのアドレスからバッファ読み出し部３４によって映像データを読み出し，データ送出部３５によって再度送出する。
【００２５】
クライアント部２では，ビデオポンプ部１から送出されてきた映像データを，データ受信部４０によって受信し，バッファ書き込み部４２によって，書き込みアドレス生成部４１が生成したバッファ２０のアドレスに，受信した映像データを書き込む。このバッファ２０に蓄積した映像データは，読み出しアドレス生成部４３が生成したアドレスから，バッファ読み出し部４４によって所定の量ずつ読み出され，表示部４５を介して表示装置に表示される。
【００２６】
アドレス比較部４６は，バッファ２０に対する書き込みアドレスと読み出しアドレスとを比較し，映像データの書き込み量が読み出し量よりも多いために，バッファ２０内の一時蓄積領域が溢れそうになると，その旨を送出停止要求発生部４７へ通知する。送出停止要求発生部４７は，送出停止要求を発行し，制御データ送出部５０を介して送出停止要求の制御データをビデオポンプ部１へ送出する。
【００２７】
また，クライアント部２のシーケンス番号検出部４８は，データ受信部４０が受信したデータからシーケンス番号を抽出し，そのシーケンス番号が予定されたシーケンス番号であるかどうかを調べる。シーケンス番号が予定されたシーケンス番号より先に進んだものである場合には，映像データが消失したと判断し，再送要求発生部４９にその旨を通知する。再送要求発生部４９は，届かなかったシーケンス番号を持つ映像データについての再送要求を発行し，制御データ送出部５０を介して再送要求の制御データをビデオポンプ部１へ送出する。
【００２８】
図４は本実施の形態における送信データの構成例を示す。
本実施の形態では，ビデオポンプ部１とクライアント部２間で，ＵＤＰプロトコルを用いたデータの転送を行っている。しかし，ＵＤＰプロトコル自体は，データが消失することを考慮していないので，ＵＤＰヘッダ部，ＩＰヘッダ部に続くデータ部の先頭に，データの消失を検出するためのシーケンス番号を設定し，その後に実際の映像データを設定したパケットを生成して，送信データとしている。
【００２９】
図５は，本実施の形態におけるビデオポンプ部１とクライアント部２におけるバッファの使用例を説明するための図である。
図５（Ａ）は，ビデオポンプ部１のバッファ１０を示しており，図中の各記号は，それぞれ以下の事項を表している。
【００３０】
ＡＤＲｔ：バッファ１０の先頭アドレス
ＡＤＲｂ：バッファ１０の最終アドレス
ＰＴＲｗ：バッファ１０への書き込みアドレス（書き込みポインタ）
ＰＴＲｒ：バッファ１０からの読み出しアドレス（読み出しポインタ）
Ｎ：図１に示す映像データ蓄積装置１５からの読み出し単位
ｎ：バッファ１０から映像データを送出する単位
バッファ１０のサイズは，例えばＮ×１０バイト程度である。Ｎおよびｎは映像データの転送速度に依存するが，転送速度が６Ｍｂｐｓの場合，例えばｎ＝１Ｋバイト，Ｎ＝１００Ｋバイトである。この場合，送出停止要求に対して送出を一時的に停止する時間ｗは，ｗ＝１００ｍｓ程度が適当である。
【００３１】
バッファ１０は，先頭アドレスＡＤＲｔから最終アドレスＡＤＲｂまで，巡回的に使われる。読み出しアドレスＰＴＲｒから書き込みアドレスＰＴＲｗまでが，送出前の映像データが蓄積されている先読み領域である。また，書き込みアドレスＰＴＲｗ＋Ｎから読み出しアドレスＰＴＲｒまでが，送出済み映像データが保存されている保存領域である。ただし，バッファ１０に対する初回の書き込みサイクルでは，バッファ１０の先頭アドレスＡＤＲｔから読み出しアドレスＰＴＲｒまでが保存領域であり，書き込みアドレスＰＴＲｗから最終アドレスＡＤＲｂまでは未使用領域となる。
【００３２】
また，図５（Ｂ）は，クライアント部２のバッファ２０を示しており，図中の各記号は，それぞれ以下の事項を表している。
ＣＡＤＲｔ：バッファ２０の先頭アドレス
ＣＡＤＲｂ：バッファ２０の最終アドレス
ＣＰＴＲｗ：バッファ２０への書き込みアドレス（書き込みポインタ）
ＣＰＴＲｒ：バッファ２０からの読み出しアドレス（読み出しポインタ）
ｍ：バッファ２０から映像データを読み出す単位
ｎ：バッファ２０への映像データの書き込み単位
ｍおよびｎは，映像データの転送速度に依存するが，転送速度が６Ｍｂｐｓの場合，例えばｍ＝１Ｋバイト，ｎ＝１Ｋバイトである。
【００３３】
バッファ２０も，先頭アドレスＣＡＤＲｔから最終アドレスＣＡＤＲｂまで，巡回的に使われる。バッファ２０に書き込むデータが溢れそうになったかどうかは，読み出しアドレスＣＰＴＲｒと書き込みアドレスＣＰＴＲｗとの差によって判断する。この量が所定の閾値Ｌ以下になると，データ溢れが生じると判断し，送出停止要求を出す。データ転送速度が６Ｍｂｐｓの場合，Ｌ＝２００Ｋバイト程度とする。バッファ２０としては，Ｌ×３程度の大きさを確保するものとする。
【００３４】
図６はビデオポンプ部１の処理フローチャートである。
ステップＳ１では，バッファ１０の書き込みポインタ（ＰＴＲｗ）および読み出しポインタ（ＰＴＲｒ）をバッファ１０の先頭アドレス（ＡＤＲｔ）とし，シーケンス番号Ｓを１とする初期設定を行う。
【００３５】
ＰＴＲｗ＝ＡＤＲｔ
ＰＴＲｒ＝ＡＤＲｔ
Ｓ＝１
ステップＳ２では，送出済みの映像データを再送に備えて保証するために，映像データのバッファ１０への書き込み前に，保存領域は十分であるかどうかを判断する。保存領域が十分である場合，ステップＳ３へ進み，保存領域が十分でない場合には，ステップＳ５へ進む。
【００３６】
具体的な処理は，以下のとおりである。ここでは，保存領域の大きさは，最低でもＮ×３以上確保するものとする。Ｎは，バッファ１０への書き込み単位（映像データ蓄積装置１５からの読み出し単位）である。
【００３７】
▲１▼  まず，ＰＴＲｒ−Ｎ×３がＡＤＲｔより小さいかどうかを判定する。
▲２▼  小さい場合，ｐ＝ＰＴＲｒ−Ｎ×３＋ＡＤＲｂ−ＡＤＲｔとする。バッファ１０を巡回的に使用するために必要なアドレスの調整処理である。なお，ｐは次の▲４▼での比較に用いるための作業用変数である。
【００３８】
▲３▼  ＰＴＲｒ−Ｎ×３がＡＤＲｔ以上であれば，ｐ＝ＰＴＲｒ−Ｎ×３とする。
▲４▼  次に，ＰＴＲｗ＋Ｎとｐとを比較し，ＰＴＲｗ＋Ｎがｐより小さければ，保存領域は十分であると判断する。ＰＴＲｗ＋Ｎがｐより小さくなければ，保存領域の確保のためにバッファ１０への書き込み処理をスキップし，ステップＳ５へ進む。
【００３９】
ステップＳ３では，映像データを図１に示す映像データ蓄積装置１５からＮバイト読み出し，バッファ１０の書き込みポインタ（ＰＴＲｗ）が示すアドレスに，読み出した映像データを書き込む。
【００４０】
ステップＳ４では，書き込みポインタ（ＰＴＲｗ）を次のように更新する。
▲１▼  ＰＴＲｗ＝ＰＴＲｗ＋Ｎ
▲２▼  もし，ＰＴＲｗがバッファ１０の最終アドレス（ＡＤＲｂ）以上になったならば，ＰＴＲｗ＝ＡＤＲｔとする。
【００４１】
ステップＳ５では，バッファ１０の読み出しポインタ（ＰＴＲｒ）が示すアドレスから映像データをｎバイト読み出し，その先頭部分にシーケンス番号Ｓを付ける。
【００４２】
ステップＳ６では，クライアント部２へ映像データを送出する。
ステップＳ７では，読み出しポインタ（ＰＴＲｒ）を次のように更新する。
▲１▼  ＰＴＲｒ＝ＰＴＲｒ＋ｎ
▲２▼  もし，ＰＴＲｒがバッファ１０の最終アドレス（ＡＤＲｂ）以上になったならば，ＰＴＲｒ＝ＡＤＲｔとする。
【００４３】
ステップＳ８では，シーケンス番号Ｓを次のように更新する。この例では，シーケンス番号の最大値を１００００とし，シーケンス番号Ｓが１００００の後は，Ｓを１に戻す処理を行っている。
【００４４】
▲１▼  Ｓ＝Ｓ＋１
▲２▼  Ｓが１００００を超えた場合，Ｓ＝１とする。
ステップＳ９では，クライアント部２から再送要求が来ているかどうかを調べる。再送要求が来ていない場合，ステップＳ１１へ進む。再送要求が来ている場合，ステップＳ１０を実行する。
【００４５】
ステップＳ１０では，再送要求されたシーケンス番号から該当するバッファ１０のアドレスを計算し，バッファ１０中の保存領域にその映像データが残っていれば，その映像データを読み出してクライアント部２へ送出する。
【００４６】
ステップＳ１１では，クライアント部２から送出停止要求が来ているかどうかを調べる。送出停止要求が来ていない場合，ステップＳ２へ戻る。送出停止要求が来ている場合，ステップＳ１２を実行する。
【００４７】
ステップＳ１２では，データの送出を一時停止するため，所定の時間ｗだけウェイトし，所定の時間ｗ経過後にステップＳ２へ戻って，同様に処理を繰り返す。ｗは，例えば映像データの転送速度が６Ｍｂｐｓの場合，１００ｍｓ程度である。
【００４８】
以上のステップＳ２〜Ｓ１２の処理を繰り返し，映像データをすべて送出した場合またはクライアント部２から終了要求があった場合に，処理を終了する（終了処理については図示省略する）。
【００４９】
図７はクライアント部２の処理フローチャートである。
ステップＳ２０では，バッファ２０の書き込みポインタ（ＣＰＴＲｗ）および読み出しポインタ（ＣＰＴＲｒ）をバッファ２０の先頭アドレス（ＣＡＤＲｔ）とし，受信の確認用シーケンス番号ＣＳを１とする初期設定を行う。確認用シーケンス番号ＣＳは，次に受信すべきシーケンス番号を確認するためのクライアント部２が内部で管理する番号である。
【００５０】
ＣＰＴＲｗ＝ＣＡＤＲｔ
ＣＰＴＲｒ＝ＣＡＤＲｔ
ＣＳ＝１
ステップＳ２１では，ビデオポンプ部１から映像データを受信する。
【００５１】
ステップＳ２２では，受信した映像データから検出したシーケンス番号Ｓと，確認用シーケンス番号ＣＳとが一致するかどうかを判定する。一致する場合，ステップＳ２３へ進み，一致しない場合，ステップＳ２４へ進む。
【００５２】
ステップＳ２３では，確認用シーケンス番号ＣＳを次のように更新する。確認用シーケンス番号ＣＳも，シーケンス番号Ｓと同様に，最大値が１００００であり，確認用シーケンス番号ＣＳが１０００１になっは場合には，ＣＳを１に戻す。その後，ステップＳ２８へ進む。
【００５３】
▲１▼  ＣＳ＝ＣＳ＋１
▲２▼  ＣＳが１００００を超えた場合，ＣＳ＝１とする。
ステップＳ２４では，受信した映像データが消失のために再送要求をしたデータであるかどうかを判定する。再送要求データである場合，ステップＳ２７へ進み，再送要求データでない場合には，受信すべき映像データが消失したと判断してステップＳ２５へ進む。
【００５４】
ステップＳ２５では，ビデオポンプ部１に対し，届かなかった映像データの再送要求を行う。
ステップＳ２６では，再送要求をしたデータが後に届いた場合に，それを格納するためのバッファ２０の領域を空けておくため，書き込みポインタ（ＣＰＴＲｗ）を先に進める。また，確認用シーケンス番号ＣＳを先に進める。その後，ステップＳ２８へ進む。
【００５５】
例えばｉ個の映像データが消失した場合，次の計算を行う。
ＣＰＴＲｗ＝ＣＰＴＲｗ＋ｎ×ｉ
ＣＳ＝ＣＳ＋ｉ
ただし，計算途中でＣＰＴＲｗが最終アドレスＣＡＤＲｂ以上になった場合には，ＣＰＴＲｗを先頭アドレスＣＡＤＲｔに戻す。また，ＣＳが１００００を超えた場合には，ＣＳ＝１とする。
【００５６】
ステップＳ２７では，再送要求によって受信した映像データを，バッファ２０の該当位置に書き込む。書き込む位置は，ステップＳ２６における書き込みポインタＣＰＴＲｗの更新で空けておいた場所であり，受信した映像データのシーケンス番号から計算によって求める。その後，ステップＳ３０へ進む。
【００５７】
ステップＳ２８では，受信した映像データを，バッファ２０の書き込みポインタ（ＣＰＴＲｗ）が示すアドレスに書き込む。
ステップＳ２９では，書き込みポインタ（ＣＰＴＲｗ）を次のように更新する。
【００５８】
▲１▼  ＣＰＴＲｗ＝ＣＰＴＲｗ＋ｎ
▲２▼  もし，ＣＰＴＲｗがバッファ２０の最終アドレス（ＣＡＤＲｂ）以上になったならば，ＣＰＴＲｗ＝ＣＡＤＲｔとする。
【００５９】
ステップＳ３０では，バッファ１０の読み出しポインタ（ＣＰＴＲｒ）が示すアドレスから映像データをｍバイト読み出し，表示部４５へ転送する。
ステップＳ３１では，読み出しポインタ（ＣＰＴＲｒ）を次のように更新する。
【００６０】
▲１▼  ＣＰＴＲｒ＝ＣＰＴＲｒ＋ｍ
▲２▼  もし，ＣＰＴＲｒがバッファ２０の最終アドレス（ＣＡＤＲｂ）以上になったならば，ＣＰＴＲｒ＝ＣＡＤＲｔとする。
【００６１】
ステップＳ３２では，バッファ２０に余裕があるかどうか，すなわち書き込むデータが溢れるおそれがないかどうかを調べる。余裕がある場合，ステップＳ２１へ戻り，余裕がないため溢れが生じるおそれがある場合には，ステップＳ３３を実行する。具体的には，以下の処理を行う。空き領域が所定の閾値Ｌ以下になった場合に，余裕がないと判断するものとする。
【００６２】
▲１▼  ＣＰＴＲｒとＣＰＴＲｗの大小を比較する。
▲２▼  ＣＰＴＲｒが大きい場合，
ｐ＝ＣＰＴＲｒ−ＣＰＴＲｗとする。
【００６３】
▲３▼  ＣＰＴＲｒが大きくない場合，
ｐ＝ＣＡＤＲｂ−ＣＰＴＲｗ＋ＣＰＴＲｒ−ＣＡＤＲｔとする。
▲４▼  ｐがＬより小さいかどうかを判定し，ｐがＬより小さい場合，溢れが生じるおそれがあると判断する。
【００６４】
ステップＳ３３では，データの溢れを回避するために，ビデオポンプ部１に対し送出停止要求を送出する。その後，ステップＳ２１へ戻って同様に処理を繰り返す。
【００６５】
以上のステップＳ２１〜Ｓ３３の処理を繰り返し，映像データをすべて表示した場合またはユーザから終了要求があった場合に，処理を終了する（終了処理については図示省略する）。
【００６６】
上記処理において，もし，クライアント部２から送出停止要求を送った後，その解除のためにクライアント部２から送出停止解除の要求を送るようにすると，クライアント部２とビデオポンプ部１間の制御データの転送数が多くなるが，本実施の形態では，クライアント部２から送出停止解除の要求を送らなくても，一定時間が経過すると自動的にビデオポンプ部１が映像データの転送を再開するので，制御データの転送数は少なくて済む。
【００６７】
【発明の効果】
以上説明したように，本発明によれば，ビデオポンプ部とクライアント部との間で，映像データが消失した場合でも，そのデータを再送し，リアルタイムな映像の途切れの生じない表示が可能になる。したがって，ビデオ・オン・デマンド（ＶＯＤ）システム等における映像データを用いたサービスの高品質化を実現することができる。
【図面の簡単な説明】
【図１】本発明の構成例を示す図である。
【図２】ビデオポンプ部の構成例を示す図である。
【図３】クライアント部の構成例を示す図である。
【図４】本実施の形態における送信データの構成例を示す図である。
【図５】本実施の形態におけるビデオポンプ部とクライアント部におけるバッファの使用例を説明図である。
【図６】ビデオポンプ部の処理フローチャートである。
【図７】クライアント部の処理フローチャートである。
【符号の説明】
１    ビデオポンプ部
２    クライアント部
１０  バッファ
１１  バッファ書き込み／読み出し制御部
１２  データ送出手段
１３  再送要求検出手段
１４  送出停止要求検出手段
１５  映像データ蓄積装置
２０  バッファ
２１  バッファ書き込み／読み出し制御部
２２  映像データ消失検出手段
２３  再送要求発生手段
２４  溢れ検出手段
２５  送出停止要求発生手段
２６  表示装置
【図１】
0003825099.tif 000002
【図２】
0003825099.tif 000003
【図３】
0003825099.tif 000004
【図４】
0003825099.tif 000005
【図５】
0003825099.tif 000006
【図６】
0003825099.tif 000007
【図７】
0003825099.tif 000008