JP2000069430A - ビデオサーバ装置およびそのデータ転送制御方法 - Google Patents

ビデオサーバ装置およびそのデータ転送制御方法

Info

Publication number
JP2000069430A
JP2000069430A JP10234159A JP23415998A JP2000069430A JP 2000069430 A JP2000069430 A JP 2000069430A JP 10234159 A JP10234159 A JP 10234159A JP 23415998 A JP23415998 A JP 23415998A JP 2000069430 A JP2000069430 A JP 2000069430A
Authority
JP
Japan
Prior art keywords
data
size
terminal
read
read request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10234159A
Other languages
English (en)
Inventor
Yukie Goshima
雪絵 五島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP10234159A priority Critical patent/JP2000069430A/ja
Publication of JP2000069430A publication Critical patent/JP2000069430A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

(57)【要約】 【課題】 蓄積データの読み出しに時間がかかる場合で
も、データを途切れずに送出し続けることができ、か
つ、端末からの応答性のよいビデオサーバ装置およびそ
のデータ転送制御方法を提供する。 【解決手段】 記憶装置10からバッファメモリ30へ
の読み出し遅延時間をTwait、バッファメモリ30から
端末6iへのデータ送出レートをRout 、記憶装置10
へのデータ読み出しブロックサイズをLとする。データ
先読み部20は、記憶装置10に対して(Twait×Rou
t +L)以上のサイズ分のデータの先読み(読み出し)
要求を予め発行しておく。データ送出部40から端末6
iへのデータ送出が開始し、バッファメモリ30内の先
読みデータが消費されるたびに、データ先読み部20
は、先読みデータサイズが(Twait×Rout +L)のサ
イズを満たすように順次先読み要求を追加する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ビデオサーバ装置
およびそのデータ転送制御方法に関し、より特定的に
は、映像情報などを多数蓄積する記憶装置からデータを
読み出し、端末に出力するためのビデオサーバ装置およ
びそのデータ転送制御方法に関する。
【0002】
【従来の技術】従来から、ビデオサーバ装置とユーザ端
末とをネットワークで接続して、映像や音声をユーザへ
リアルタイムに提供するというビデオ・オン・デマンド
(VOD)システムが存在する。このVODシステムで
は、様々な映像・音声ストリームをビデオサーバ装置が
備える大容量の記憶装置に記憶しており、ビデオサーバ
装置が、端末から受けた要求に応じて記憶装置からデー
タを読み出し、端末に対して映像・音声ストリームを出
力する。
【0003】一般に、VODシステムにおいて、記憶装
置からのデータの読み出しについては、小さなデータ単
位で少しずつ読み出すより、まとまった大きさのデータ
ブロックを読み出す方が効率的で、高い転送レートの読
み出しが行える。一方、VODシステムにおいて、端末
へのデータの送出については、一定の速度で途切れなく
一定のデータを出力する必要がある。このため、記憶装
置からのデータ読み出しタイミングと端末へのデータ送
出タイミングとは異なる。そこで、ビデオサーバ装置で
は、記憶装置と端末との間にバッファメモリを設け、バ
ッファメモリにデータを先読みして一時的に貯めておく
ことにより、データ読み出しとデータ送出とのタイミン
グの違いを吸収している。
【0004】上記バッファメモリを設けてタイミングの
違いを吸収する方法としては、従来からダブルバッファ
方式が一般的に知られている。以下、図7を用いて、従
来のダブルバッファ方式を簡単に説明する。図7(a)
は、従来のダブルバッファ方式におけるバッファメモリ
領域を示す図である。図7(b)は、従来のダブルバッ
ファ方式におけるデータの格納と読み出しのタイミング
を示す図である。図7において、時間Tは、ブロックサ
イズLの大きさのデータをチャネルから出力するのに必
要な時間であり、バッファメモリを管理するサイクルで
ある。
【0005】図7(a)を参照して、バッファメモリ
は、2つのバッファメモリB1およびB2で構成され、
それぞれの大きさは1回の大容量記憶装置のアクセスの
ブロックサイズLである。すなわち、ダブルバッファ方
式は、ブロックサイズLの2倍の容量のバッファメモリ
B1,B2を使用し、一方のバッファメモリB1(また
は、B2)に対するデータの格納と他方のバッファメモ
リB2(または、B1)からのデータの読み出しとを、
並行して交互に実行するのである。
【0006】図7(b)を参照して、まず、第1サイク
ルでは、すでにバッファメモリB2に書き込まれている
データ内容が、端末へのデータ転送レートに従って、時
間Tr(=T)の期間に読み出されて送信され、バッフ
ァメモリB1へは時間Twで新しいデータが書き込まれ
る。第2サイクルでは、今度はバッファメモリB1に書
き込まれたデータ内容が、端末へのデータ転送レートに
従って、時間Tr(=T)の期間に読み出されて送信さ
れ、バッファメモリB2へは時間Twでさらに新しいデ
ータが書き込まれる。このように、一方のバッファメモ
リB1(または、B2)からのデータ送信が終了次第、
他方のバッファメモリB2(または、B1)からのデー
タ送信に切り替えれられる。なお、図7(b)の矢印T
wで示されるように、バッファメモリB1(または、B
2)へのデータ書き込みは、データ送信(読み出し)中
でない方のバッファメモリB2(または、B1)に対し
て行われるが、データ書き込みの時間Twは短いため、
データ書き込みはデータ送信中(時間Tr内)の任意の
時間に実行すればよい。
【0007】このように、VODシステムにおいて、上
記従来のダブルバッファ方式を用いれば、バッファメモ
リB1とバッファメモリB2とを切り替えながら出力す
ることにより、映像情報を途切らすことなく端末へ出力
することができる。
【0008】一方、特開平9−218749号公報(以
下、従来の文献という)には、ダブルバッファ方式にお
いて端末ごとに必要とされているバッファメモリサイズ
(1回のデータ読み出しのブロックサイズの2倍の容
量)を削減する方法も開示されている。
【0009】
【発明が解決しようとする課題】しかしながら、上記ダ
ブルバッファ方式を用いる従来のVODシステムでは、
以下に示す3つの問題点がある。
【0010】第1には、読み出し要求発行から実際にデ
ータ転送が開始するまでの遅延時間が考慮されていない
という問題である。従来のVODシステムでは、バッフ
ァへの書き込みレート(記憶装置からの読み出しレー
ト)がバッファからの読み出しレート(端末への送出レ
ート)に比べて、かなり速いこと(高レートであるこ
と)を前提としており、記憶装置への読み出し要求をし
てからバッファへデータ転送完了するまでの時間は、バ
ッファからのデータ送出時間に比べてかなり短いと考え
ている。
【0011】これに対し、実際のVODシステムにおい
ては、読み出し要求を発行してからバッファに即座にデ
ータ転送されるわけではなく、システム構成によってさ
まざまな遅延時間が発生している。例えば、ハードディ
スク装置などの記憶装置は、読み出し要求を受け付けて
から、ディスク中のデータ記録位置を検索するためのシ
ークタイムが必要であり、これが遅延時間となる。ま
た、記憶装置がサーバ接続のディスク装置ではなくネッ
トワークを介したディスク装置の場合、ネットワーク遅
延時間がさらに加算される。さらに、記録されたデータ
を管理するサーバ(以下、蓄積サーバという)とネット
ワークを介して接続し、蓄積サーバを記憶装置とみなし
てデータ読み出しするような場合は、蓄積サーバでの処
理時間等もさらに加算される。
【0012】従って、従来のVODシステムでは、この
ような読み出し要求発行から実際にデータ転送が開始す
るまでの遅延時間が考慮されていないため、上述したダ
ブルバッファ方式を用いても端末に対して連続的にデー
タ送出が行えない場合があった。例えば、上記従来の文
献に開示されている例でいうと、ブロックサイズL=2
50KB,バッファへの書き込みレートri=5MBy
te/s,バッファからの読み出しレートro=4Mb
it/sの場合、サイクルタイムT=0.5sとなる。
このとき、記憶装置への読み出し要求発行から実際にデ
ータ転送が開始するまでの最大遅延時間を1.0sとす
ると、サイクルタイムTの時間内ではバッファにデータ
を用意できない。このように、従来のVODシステムで
は、記憶装置への読み出し要求からデータ到着までに時
間がかかる場合に対応できず、端末への送出が途切れる
という問題があった。
【0013】第2には、端末からのコマンド要求(送出
開始/送出停止など)に対する応答遅延時間が長いとい
う問題である。従来のVODシステムでは、端末から送
出開始のコマンドを受けない限りデータを読み出さない
ので、最初にデータを送出するときにはいつも、データ
を新規に読み出すための処理時間分だけ送出開始が遅れ
ていた。
【0014】第3には、ビデオサーバ装置が複数種類の
送出レートを用いた送出に対応できていないという問題
である。従来のVODシステムでは、先読みデータを貯
えるためのバッファメモリを端末ごとに独立して扱うた
め、端末ごとに領域を割り当てることが開示されている
(上記従来の文献)。この場合、端末に対応するバッフ
ァ個別にみれば、物理的に連続した1個のメモリ領域を
前提としている。しかし、ビデオサーバ装置が複数種類
のレートのストリームを送出する場合、各端末に対応す
るバッファメモリサイズは異なり、バッファメモリサイ
ズの組み合わせはその時々でまちまちになため、予めバ
ッファメモリを決まったサイズの領域に分割しておくこ
ともできない。そのため、従来のVODシステムように
物理的に連続した領域を、端末ごとに割り当てる方式で
は、以下の問題が発生していた。
【0015】(1)端末がストリームを選択する(スト
リームオープン)時ごとに、その端末に必要なサイズ分
のバッファメモリ領域の確保(アロケート)を行う場
合、ストリームオープン時の処理が重くなる。ストリー
ムのオープンは、端末からの要求に応じて、任意のタイ
ミングで行われるため、別のストリームを送出中にスト
リームオープンの要求を受け付けると、送出中のストリ
ームの処理が実行できなくなる場合がある。 (2)システム起動時にバッファメモリ全体の領域を確
保(アロケート)しておき、ストリームオープンごとに
その中から必要なサイズ分を割り当てる場合、ストリー
ムオープン/クローズを繰り返すうちに、小さなサイズ
の空き領域が点在し、最後には連続したメモリ領域を割
り当てられなくなる。オープン中のストリームに割り当
てられているメモリ領域は、送出中に勝手に再配置する
こともできないので、空き領域を固めることもできな
い。
【0016】それ故、本発明の目的は、蓄積データの読
み出しに時間がかかる場合にも、データを途切らせずに
送出し続けることができ、かつ、端末からの応答性のよ
いビデオサーバ装置およびそのデータ転送制御方法を提
供することである。
【0017】
【課題を解決するための手段および発明の効果】第1の
発明は、複数の端末にデータを供給するビデオサーバ装
置であって、データを格納する記憶手段と、記憶手段の
データを一時的に書き込むためのバッファメモリと、記
憶手段に対して読み出し要求を発行し、その後当該読み
出し要求に対応するデータを記憶手段からブロック単位
で順次読み出してバッファメモリに巡回して書き込む入
力手段と、バッファメモリに書き込まれたデータを巡回
して順次読み出して、一定の速度で端末に出力する出力
手段とを備え、ブロックのサイズをLと、入力手段が記
憶手段に対して読み出し要求を発行してから実際にバッ
ファメモリへの書き込みが始まるまでの遅延時間をTw
aitと、出力手段が端末にデータを出力する一定の速
度をRoutとした場合、入力手段は、出力手段が最初
のデータを出力する前に、(Twait×Rout+
L)以上のサイズのデータの読み出し要求を記憶手段に
発行し、出力手段が行う出力処理に対し、発行した読み
出し要求に対応するデータの内の当該出力処理がまだで
あるデータのサイズが(Twait×Rout)のサイ
ズを下回らないように、順次新たな読み出し要求の発行
を行うことを特徴とする。
【0018】上記のように、第1の発明によれば、ブロ
ックのサイズをL、記憶手段に読み出し要求を発行して
から実際にバッファメモリへの書き込みが始まるまでの
遅延時間をTwait、端末への送出レートをRout
とした場合に、常に(Twait×Rout+L)サイ
ズ以上のデータをバッファメモリへ書き込める(先読
み)状態であるように制御する。これにより、蓄積デー
タからの読み出しに時間がかかるような場合にも、デー
タが途切れること無く、連続した送出を行うことができ
る。
【0019】第2の発明は、第1の発明において、遅延
時間Twaitを測定する測定手段をさらに備え、測定
の結果に基づいて、新たな読み出し要求のデータサイズ
を調整することを特徴とする。
【0020】上記のように、第2の発明によれば、第1
の発明において、遅延時間Twaitの時間を測定する
手段を備えているので、バッファメモリへ先読みするデ
ータサイズを動的に決定することができる。これによ
り、読み出しの遅延時間Twaitが変化する場合にも
対応することができる。
【0021】第3の発明は、第1および第2の発明にお
いて、端末からストリームを選択するコマンドを受けた
とき、入力手段は、記憶手段に対してストリームの先頭
位置のデータを指示する読み出し要求を発行することを
特徴とする。
【0022】上記のように、第3の発明によれば、第1
および第2の発明において、端末からストリームオープ
ンコマンドを受けた直後に、ストリーム先頭のデータを
先読みしておく。これにより、端末から最初の送出開始
コマンドを受けたときの応答速度を向上させることがで
きる。
【0023】第4の発明は、第1〜第3の発明におい
て、端末へデータを出力中に当該端末から別のデータ位
置へのジャンプ再生を要求された場合、入力手段は、送
出停止位置までのデータサイズとジャンプ再生開始位置
以降のデータとを合わせたサイズが、常に(Twait
×Rout+L)以上のサイズとなるように読み出し要
求を発行することを特徴とする。
【0024】上記のように、第4の発明によれば、第1
〜第3の発明において、端末からジャンプ再生コマンド
を受けた後、送出停止位置までのデータとジャンプ再生
開始位置以降のデータとを合わせて、常に(Twait
×Rout+L)以上のサイズをバッファメモリへ先読
みする。これにより、即座に次のジャンプ位置のデータ
送出を開始することができる。
【0025】第5の発明は、第1〜第4の発明におい
て、バッファメモリは、所定サイズの複数の領域から構
成されており、複数の端末は、複数の領域の中から1つ
以上の領域がそれぞれ割り当てられていることを特徴と
する。
【0026】上記のように、第5の発明によれば、第1
〜第4の発明において、端末ごとに割り当てるバッファ
メモリを1個の連続領域ではなく、複数の領域で構成さ
せる。これににより、バッファメモリのメモリ配置の問
題から解放され、さまざまなレートの組み合わせに対応
することができる。
【0027】第6の発明は、記憶手段とバッファメモリ
とを備え、当該バッファメモリを介して当該記憶手段に
格納されているデータを複数の端末に供給するビデオサ
ーバ装置に用いるデータ転送制御方法であって、記憶手
段に対して読み出し要求を発行するステップと、読み出
し要求に対応するデータを記憶手段からブロック単位で
順次読み出してバッファメモリに巡回して書き込むステ
ップと、バッファメモリに書き込まれたデータを巡回し
て順次読み出して、一定の速度で端末に出力するステッ
プとを備え、ブロックのサイズをLと、記憶手段に対し
て読み出し要求を発行してから実際にバッファメモリへ
の書き込みが始まるまでの遅延時間をTwaitと、端
末にデータを出力する一定の速度をRoutとした場
合、発行するステップは、出力するステップで最初のデ
ータを出力する前に、(Twait×Rout+L)以
上のサイズのデータの読み出し要求を記憶手段に発行
し、出力するステップが行う出力処理に対し、発行した
読み出し要求に対応するデータの内の当該出力処理がま
だであるデータのサイズが(Twait×Rout)の
サイズを下回らないように、順次新たな読み出し要求の
発行を行うことを特徴とする。
【0028】上記のように、第6の発明によれば、ブロ
ックのサイズをL、記憶手段に読み出し要求を発行して
から実際にバッファメモリへの書き込みが始まるまでの
遅延時間をTwait、端末への送出レートをRout
とした場合に、常に(Twait×Rout+L)サイ
ズ以上のデータをバッファメモリへ書き込める状態であ
るように制御する。これにより、蓄積データからの読み
出しに時間がかかるような場合にも、データが途切れる
こと無く、連続した送出を行うことができる。
【0029】第7の発明は、第6の発明において、遅延
時間Twaitを測定するステップをさらに備え、測定
の結果に基づいて、新たな読み出し要求のデータサイズ
を調整することを特徴とする。
【0030】上記のように、第7の発明によれば、第6
の発明において、遅延時間Twaitの時間を測定する
ステップを備えているので、バッファメモリへ先読みす
るデータサイズを動的に決定することができる。これに
より、読み出しの遅延時間Twaitが変化する場合に
も対応することができる。
【0031】第8の発明は、第6および第7の発明にお
いて、端末からストリームを選択するコマンドを受けた
とき、発行するステップは、記憶手段に対してストリー
ムの先頭位置のデータを指示する読み出し要求を発行す
ることを特徴とする。
【0032】上記のように、第8の発明によれば、第6
および第7の発明において、端末からストリームオープ
ンコマンドを受けた直後に、ストリーム先頭のデータを
先読みしておく。これにより、端末から最初の送出開始
コマンドを受けたときの応答速度を向上させることがで
きる。
【0033】第9の発明は、第6〜第8の発明におい
て、端末へデータを出力中に当該端末から別のデータ位
置へのジャンプ再生を要求された場合、発行するステッ
プは、送出停止位置までのデータサイズとジャンプ再生
開始位置以降のデータとを合わせたサイズが、常に(T
wait×Rout+L)以上のサイズとなるように読
み出し要求を発行することを特徴とする。
【0034】上記のように、第9の発明によれば、第6
〜第8の発明において、端末からジャンプ再生コマンド
を受けた後、送出停止位置までのデータとジャンプ再生
開始位置以降のデータとを合わせて、常に(Twait
×Rout+L)以上のサイズをバッファメモリへ先読
みする。これにより、即座に次のジャンプ位置のデータ
送出を開始することができる。
【0035】第10の発明は、第6〜第9の発明におい
て、バッファメモリは、所定サイズの複数の領域から構
成されており、複数の端末は、複数の領域の中から1つ
以上の領域がそれぞれ割り当てられていることを特徴と
する。
【0036】上記のように、第10の発明によれば、第
6〜第9の発明において、端末ごとに割り当てるバッフ
ァメモリを1個の連続領域ではなく、複数の領域で構成
させる。これにより、バッファメモリのメモリ配置の問
題から解放され、さまざまなレートの組み合わせに対応
することができる。
【0037】
【発明の実施の形態】図1は、本発明の第1〜第4の実
施形態に係るデータ転送制御方法を用いるビデオサーバ
装置の構成を示すブロック図である。図1において、本
実施形態に係るビデオサーバ装置1は、記憶装置10
と、データ先読み部20と、バッファメモリ30と、デ
ータ送出部40と、コマンド解析部50とを備えてい
る。また、ビデオサーバ装置1は、ネットワークを介し
て複数の端末61〜6N(Nは正の整数、以下同じ)に
接続されている。
【0038】記憶装置10は、映像/音声などのデータ
を記憶するものであり、ハードディスクなどの記憶媒
体、あるいはビデオサーバ装置1にネットワークを介し
て蓄積データを送出するデータ蓄積サーバ等に対応す
る。データ先読み部20は、記憶装置10から読み出し
たデータをバッファメモリ30に出力するものであり、
読み出し要求判定部21と、バッファ位置/データ位置
管理メモリ22と、到着データ制御部23とから構成さ
れる。読み出し要求判定部21は、コマンド解析部50
または到着データ制御部23からの先読みの処理要求を
受けて、記憶装置10へデータの読み出し要求を発行す
る。バッファ位置/データ位置管理メモリ22は、後述
する次に読み出し要求するデータのストリーム先頭から
のオフセット位置(または、記憶装置10内でのデータ
格納位置)Dpos 、次に読み出し要求するデータのバッ
ファメモリ30上での書き込み開始位置Bpos およびプ
リフェッチデータサイズPreSize の情報を格納する。到
着データ制御部23は、記憶装置10から到着するデー
タをバッファメモリ30へ順次転送すると共に、予め定
めたサイズ分のデータ転送が完了した旨を読み出し要求
判定部21へ通知する。バッファメモリ30は、データ
先読み部20から転送されるデータを一時的に記憶する
ものである。このバッファメモリ30は、N個の端末6
1〜6Nのそれぞれに対応したメモリ領域31〜3Nを
有しており、N個の独立したバッファとして機能する。
データ送出部40は、コマンド解析部50からの指示に
応じて、バッファメモリ30のデータを読み出し、端末
61〜6Nへ送出する。コマンド解析部50は、端末6
1〜6Nからの送出開始/送出停止等の要求を受けて、
データ先読み部20およびデータ送出部40に指示を与
える。
【0039】まず、ビデオサーバ装置1の動作の概要に
ついて説明する。端末6i(i=1〜N、以下同じ)か
らビデオサーバ装置1に対して、ユーザが選択した再生
したいストリーム(ビデオデータ)のストリームオープ
ン(ストリーム選択)の要求コマンドSiが発行される
と、ビデオサーバ装置1は、コマンド解析部50で要求
コマンドSiを受け付ける。コマンド解析部50は、要
求コマンドSiが有するストリームの送出レートの情報
に基づいて、バッファメモリとして必要なサイズを求
め、バッファメモリ30のメモリ領域から端末6i用の
メモリ領域3iを予め定めたサイズで割り当てる。な
お、メモリ領域3iのサイズの算出方法は後述する。ま
た、コマンド解析部50は、データ先読み部20に対し
て、要求コマンドSiが有するストリームの情報を通知
し、記憶装置10からのデータ読み出し処理を開始させ
る。データ先読み部20は、記憶装置10内の対応する
データを読み出してメモリ領域3iへ転送する。
【0040】次に、端末6iから再生開始の要求コマン
ドPiが発行されると、コマンド解析部50は、データ
送出部40に対して送出開始処理要求を出す。データ送
出部40では、メモリ領域3iからデータを順次読み出
し、決められた送出レートで端末6iへ送出する。一
方、データ先読み部20では、データ送出部40が行う
データ送出処理によってメモリ領域3iから先読みデー
タが消費されるごとに、記憶装置10へ新たなデータ読
み出しを要求し、メモリ領域3iに順次データを書き込
んでいく。
【0041】以下、上記ビデオサーバ装置1において行
う本発明の第1〜第4の実施形態に係るデータ転送制御
方法を、図2〜図5をさらに参照して詳細に説明する。
【0042】(第1の実施形態)図2は、本発明の第1
の実施形態に係るデータ転送制御方法の手順を示すフロ
ーチャートである。なお、記憶装置10の条件として、
データ先読み部20がデータ読み出し要求を出してから
最初のデータバイトの転送準備が整うまでの最大遅延時
間をTwaitと、記憶装置10からバッファメモリ30へ
の書き込み(データ転送)レートをRinとする。また、
通常のデータ送出中にデータ先読み部20において、1
回に読み出し要求するデータサイズをLとする。さら
に、データ送出部40においてメモリ領域3iのデータ
を読み出して端末6iに送出するレートをRout と、サ
イズLのデータを端末6iに送信するのに要する時間を
Tとする。このとき、T,L,Rout の関係は、T=L
/Rout となる。
【0043】図2を参照して、端末6iから要求コマン
ドSiを受け付けると、コマンド解析部50は、要求コ
マンドSiが有するストリームの送出レートRout に基
づいて、メモリ領域3iを割り当てる(ステップS20
1)。このメモリ領域3iは、下記式(1)の条件を満
たすように割り当てられる。 メモリ領域3i > Twait×Rout +2L ‥‥(1)
【0044】コマンド解析部50は、メモリ領域3iの
割り当てが終わると、データ先読み部20に対して、要
求コマンドSiが求めるデータの情報を通知する。デー
タ先読み部20は、コマンド解析部50から上記通知を
受けて、記憶装置10に対して最初に読み出すデータサ
イズPreBlkの読み出し要求を発行する(ステップS20
2)。ここで、最初に読み出すデータサイズPreBlkは、
下記式(2)を満たすサイズとする。 PreBlk > Twait×Rout +L ‥‥(2) なお、データサイズPreBlkは、ストリームオープン時に
コマンド解析部50によって算出すればよい。
【0045】また、コマンド解析部50は、端末6iか
ら要求コマンドPiが送信されてきたか否かを判断し
(ステップS203)、要求コマンドPiの送信があっ
た場合に、ステップS204の処理に移行する。
【0046】一方、記憶装置10は、上記ステップS2
02における要求を受け、当該要求に従って対応するデ
ータを読み出し、データ先読み部20へ出力する。そし
て、データ先読み部20は、記憶装置10が出力してく
るデータを順次メモリ領域3iへ転送する。このとき、
データ先読み部20は、メモリ領域3iへサイズL分の
データを転送したか否かを判断する(ステップS20
4)。このステップS204の判断において、まだ転送
していない場合、データ先読み部20は、サイズL分の
データを転送するまでデータ転送を続ける。一方、ステ
ップS204の判断において、転送している場合、デー
タ先読み部20は、その旨をコマンド解析部50に通知
する。
【0047】コマンド解析部50は、データ先読み部2
0から、メモリ領域3iへのサイズL分のデータ転送完
了の通知を受けて、データ送出部40へデータ送出の可
能を連絡する。データ送出部40は、コマンド解析部5
0からの連絡を受けて、メモリ領域3iに転送されたサ
イズL分のデータの端末6iへの送出を開始する(ステ
ップS205)。また、データ先読み部20は、記憶装
置10に対して(ストリーム上における)次のデータに
ついてデータサイズL分の読み出し要求を発行する(ス
テップS206)。
【0048】その後、データ先読み部20は、データ送
出部40が端末6iへ送出するデータで、要求のあった
データをすべて端末6iへ送出し終わったか否かを判断
する(ステップS207)。このステップS207の判
断においてすべての送出が終わった場合、データ送出処
理を終了する。一方、ステップS207の判断において
すべての送出が終わっていない場合、上記ステップS2
05で開始したデータ送出の完了を待った後、再び上記
ステップS205に戻って次のサイズL分のデータの送
出を行う(ステップS208)。
【0049】次に、バッファメモリ30への書き込み期
間におけるデータの流れを、図3を用いて具体的に説明
する。図3は、端末6iに対応するメモリ領域3iの読
み出し/書き込みタイミングを示す図である。図3にお
いて、黒丸(●印)は、データ先読み部20から記憶装
置10に対してデータ読み出し要求が発行された時点を
示し、波線は黒丸の読み出し要求発行からメモリ領域3
iへのデータ書き込みが開始されるまでに必要な時間を
示し、実線矢印はメモリ領域3iへデータが書き込まれ
ている時間を示す。また、白抜き矢印は、データ送出部
40が、メモリ領域3iのデータを端末6iへ送出して
いる時間を示す。
【0050】データ先読み部20は、図3中の時点Ta
において、データサイズPreBlk分のデータ読み出し要求
を記憶装置10に対して発行する。この最初の読み出し
要求については、最大遅延時間Twaitが経過した後の時
点Tbからメモリ領域3iへのデータ書き込みが始ま
り、(PreBlk/Rin)の時間をかけてデータサイズPreB
lk分のデータ書き込みが完了することになる。
【0051】一方、データ送出部40において、メモリ
領域3iからサイズLの単位でデータを読み出す場合、
上記(PreBlk/Rin)の時間の経過を待つことなく、最
初のサイズL分のデータがメモリ領域3iに蓄積された
時点Tcから送出が可能になる。従って、読み出し要求
してからサイズLのデータを送出できる状態になるまで
は、少なくとも(Twait+L/Rin)の時間を要するこ
とになる。
【0052】ここで、記憶装置10へ読み出し要求が発
行済みのデータをプリフェッチデータと呼び、プリフェ
ッチデータのうち(データ送出部40による)データ送
出が完了していないデータサイズをプリフェッチデータ
サイズPreSize という。これに基づくと、データ送出が
まだ開始していない状態(Ta〜Tcの期間)では、プ
リフェッチデータサイズPreSize =データサイズPreBlk
となる。
【0053】図3に示すように、時点Tcからデータ送
出部40によってデータ送出が開始されると、時点Td
でメモリ領域3iにおいて送出したデータサイズL分の
領域が空くことになる。従って、時点Tdにおけるプリ
フェッチデータサイズPreSize は、送出完了したデータ
サイズL分を減算して、 PreSize = PreBlk − L となる。そして、データ先読み部20では、このように
データ送出によって消費されたプリフェッチデータをプ
リフェッチデータサイズPreSize により判断し、プリフ
ェッチデータサイズPreSize がデータサイズPreBlkを下
回ったとき、記憶装置10に対して読み出し要求を発行
し、消費されたサイズL分のデータをプリフェッチデー
タに追加する。以後同様にして、データ先読み部20
は、データ送出部40でサイズL分のデータを送出する
たびに、記憶装置10に対してサイズLのデータの読み
出し要求を発行する。
【0054】次に、メモリ領域3iにおけるデータ書き
込み/読み出し状態の遷移を、図4を用いて具体的に説
明する。図4は、図3で示すタイミングでメモリ領域3
iへの書き込み/読み込みを行った場合のメモリ領域3
iの状態の遷移を示す図である。なお、図4において、
(a)〜(e)は、図3の期間1〜期間5でのメモリ領
域3iの状態にそれぞれ対応している。
【0055】まず、最初はメモリ領域3iに何もデータ
のない状態(空き状態)とする。図3のTa時点で読み
出し要求が発行されると、メモリ領域3iの先頭からデ
ータサイズPreBlkの部分が「読み出し要求済みでデータ
が未到着の状態」、すなわち、プリフェッチデータの範
囲となる(図4(a))。次に、記憶装置10からのデ
ータが到着し、メモリ領域3iへの書き込みが開始する
と、先頭のサイズL分が「バッファへの書き込み状態」
になる(図4(b))。さらに、図3の時点Tcでデー
タ送出が開始するときには、先頭のサイズLの領域はす
べて「書き込み完了した状態」になっており、データ送
出部40は、メモリ領域3i先頭のサイズLのデータを
読み出すことができる「バッファからの読み出し状態」
になっている(図4(c))。
【0056】一方、データ先読み部20は、データ送出
によりプリフェッチデータが消費されたので、データサ
イズPreBlk以降のサイズL分のデータの読み出し要求を
記憶装置10へ発行する。このとき、データ先読み部2
0は、メモリ領域3i上の「未到着」状態の領域(すな
わち、プリフェッチデータの範囲)の最後尾の位置に要
求したデータが書き込まれるように設定する(図4
(c))。ちなみにこのとき、「バッファからの読み出
し状態」の次のサイズLのデータ領域は「バッファへの
書き込み状態」になっており、次に行われるデータ送出
に備えている。
【0057】このように、読み出しレート(送出レー
ト)Rout の方が書き込みレートRinに比べて遅いた
め、常に書き込み状態のバッファ領域が先行することに
なり、データ送出時にアンダーフローが発生しない(図
4(d)参照)。
【0058】また、時点Tcで読み出し要求したデータ
は、時点Teでメモリ領域3iへの書き込みを開始す
る。そのとき、データ送出部40は、その直前のデータ
を送出開始したところなので(図4(e)参照)、サイ
ズL分のデータを送出し終わるころには、次に送出すべ
きデータの書き込みが終了していることになる。また、
読み出し要求時には次のデータの書き込み位置として、
その前のサイクルで読み出し要求した位置の次の位置が
設定されるが、位置がメモリ領域3iの最後のところま
でくると折り返して最初に戻り、同様に書き込まれる。
【0059】以上の手順を繰り返すことにより、データ
が途切れることなく連続的に送出できる。また、図4か
らわかるように、本第1の実施形態に係るデータ転送制
御方法では、サイズL分のデータ送出と次の読み出し要
求とを並行して行うため、各端末6iに対して必要なメ
モリ領域3iとして、サイズ(PreBlk+L)以上の領域
を用意すればよいこととなる(上記式(1)を参照)。
【0060】なお、上記説明においては説明を簡単にす
るため、データ送出部40での送出単位とデータ先読み
部20での読み出し単位とを同一のデータサイズLとし
て説明したが、双方のサイズは異なっていてもよい。そ
こで、以下、記録装置10からバッファメモリ30への
読み出しサイズをLと、バッファメモリ30から端末6
iへのデータ送出のサイズをMとした場合において(た
だし、L>Mとする)、データ先読み部20で行う詳細
な処理動作をさらに説明する。
【0061】初期状態において、バッファ位置/データ
位置管理メモリ22は、位置Dpos=0(ストリームの
先頭データ位置)、位置Bpos =0(バッファメモリの
先頭位置)、プリフェッチデータサイズPreSize =0の
値を設定する。また、データ送出部40内部では、最初
に送出するデータが格納されるべきメモリ領域3iの位
置を管理しており、初期値として位置Bpos =0が設定
されているものとする。
【0062】読み出し要求判定部21では、ストリーム
オープン時にコマンド解析部50から先読みの処理要求
を受けると、記憶装置10に対して、ストリームの先頭
からデータサイズPreBlk分のデータの読み出し要求を発
行し、データの書き込み位置をメモリ領域3iの先頭に
設定する。その後、バッファ位置/データ位置管理メモ
リ22の各パラメータを、Dpos =PreBlk、Bpos =Pr
eBlk、PreSize =PreBlkに更新する。
【0063】記憶装置10からデータが到着しはじめる
と、到着データ制御部23は、メモリ領域3iへデータ
を順次転送する。また、到着データ制御部23は、到着
したデータ位置をチェックしており、データ送出が開始
できるサイズM分(図3の時点Tcに対応する)のデー
タ転送が完了すると、コマンド解析部50に先読み処理
完了を通知する。
【0064】端末6iから再生開始のコマンド要求Pi
が発行されると、コマンド解析部50では、到着データ
制御部23からの先読み処理完了通知をチェックする。
チェックの結果、すでに通知されていればそのままデー
タ送出部40に対して送出開始処理要求を出し、通知さ
れていなければ通知されるまで待った後、データ送出部
40に要求を出す。データ送出部40では、送出開始処
理要求を受けると、メモリ領域3iからサイズMのデー
タを読み出す。その後は、メモリ領域3i内の位置を順
次移動させながらデータを読み出し、決められた送出レ
ートRout で端末6iに送出する。さらに、データ送出
部40では、メモリ領域3iからデータを読み出す度
に、データ先読み部20に対して、サイズM分のデータ
を消費することを通知する。
【0065】読み出し要求判定部21では、データ送出
部40からのデータ消費の通知を受けると、記憶装置1
0に対して新たなデータの読み出しを要求すべきか否か
判定する。すなわち、バッファ位置/データ位置管理メ
モリ22のプリフェッチデータサイズPreSize から送出
したデータサイズMをデクリメント PreSize =PreSize −M して更新し、プリフェッチデータサイズPreSize とサイ
ズ(Twait×Rout +L)とを比較する。この比較の結
果、プリフェッチデータサイズPreSize の方が小さけれ
ば新たなデータ読み出し要求が必要となるため、位置D
pos からLサイズ分のデータを読み出し要求し、位置B
pos のメモリ領域3iの位置へ書き込むように設定す
る。さらに、バッファ位置/データ位置管理メモリ22
の各パラメータを、Lサイズ分インクリメントする。た
だし、メモリ領域3iの位置Bpos は、領域の最後尾ま
でくると領域の先頭に戻るように調整する。
【0066】以上のように、本発明の第1の実施形態に
係るデータ転送制御方法によれば、記憶装置10への読
みだし要求からデータ到着までの遅延時間に対応するデ
ータサイズPreBlk分を予め先読み(読み出し要求)して
おき、読み出し要求済みのデータサイズPreSize がこの
サイズPreBlkを下回らないように順次読み出し要求を追
加する。これにより、連続的なデータ送出が可能にな
る。
【0067】なお、上記第1の実施形態では、読み出し
要求すべきかどうか判定する際に、プリフェッチデータ
サイズPreSize と比較する値として、限界値のサイズ
(Twait×Rout +L)を設定していたが、処理の揺ら
ぎなどに対応するため、サイズ(Twait×Rout +L)
より大きな値と比較してもよい。
【0068】また、上記第1の実施形態では、記憶装置
10からの読み出しサイズLがバッファメモリ30から
のデータ送出サイズMより大きい(L>M)ことを前提
に、読み出し要求するデータサイズも常にサイズLに固
定されているものとして説明した。しかし、サイズL<
Mの場合でも、データ消費通知を受けるたびに読み出し
サイズAを算出することで対応することができる。この
場合、読み出しサイズAは、下記式(3)で求める。 A=max(L,(Twait×Rout+L−PreSize)) ‥‥(3) このように読み出しサイズAを算出するようにすれば、
瞬間的に大きなデータ送出サイズMを消費した場合にも
対応することが可能となる。
【0069】(第2の実施形態)ところで、上述した従
来の文献においてもそうだが、従来の先読み方法として
は、あるデータ位置の読み出しが端末から要求される
と、そのデータ位置に連続するデータを先読みしてお
き、異なるデータ位置の読み出しが端末から要求された
ときだけデータの取り直しをする方法が採られている。
この従来の方法によれば、端末のコマンド要求から送出
開始可能になるまでの応答遅延時間は、送出停止位置か
ら送出再開するコマンドの場合にはほぼ0だが、端末が
ストリームを選択した後最初にデータを送出する場合、
あるいは異なるデータ位置の読み出しが要求された場合
には、最短でも(Twait+L/Rin)となる(上記第1
の実施形態を参照)。これは、データ到着の遅延時間T
waitが大きいVODシステムでは、かなりの応答遅延に
なってしまう。
【0070】そこで、本発明の第2の実施形態に係るデ
ータ転送制御方法は、ある特定の条件下において、後述
する特定の処理を行うことにより、上記第1の実施形態
に係るデータ転送制御方法に対して、さらに応答遅延時
間の短縮を図るというものである。以下、本第2の実施
形態に係るデータ転送制御方法を順に説明する。
【0071】まず、第1の条件は、端末6iがストリー
ムを選択(ストリームオープン)した直後である。通
常、ストリームオープン後に端末6iが最初に要求する
コマンドPiとして考えられるのは、ストリームの先頭
からそのまま再生を開始するという要求コマンドPiで
ある。
【0072】これに対応して、本第2の実施形態に係る
データ転送制御方法では、ビデオサーバ装置1が端末6
iからストリームオープンの要求コマンドSiを受ける
と、そのままストリームの先頭のデータ(もちろん、サ
イズPreBlk分のデータである)を先読みしておく。これ
により、端末6iからの送出開始の要求コマンドSiを
受けたときには、多くの場合、先読みが完了したデータ
をそのまま端末6iへ送出することができ、応答遅延時
間がほぼ0で送出開始できる。
【0073】次に、第2の条件は、次の再生開始位置が
事前に端末6iから指定されているようなジャンプコマ
ンドがあったときである。ここで、ジャンプコマンドと
は、データ送出中に送出停止位置と次の送出開始位置を
指定するコマンドであり、今送出中のデータを指定の停
止位置まで送出した後、指定の開始位置から送出を再開
する要求である。例えば、ストリーム制御を規定したD
SM−CC(UU)(ISO/IEC−13818−
6)では、Jumpコマンドとして規定されている。従
来の方式では、端末6iからのジャンプコマンドを受け
て直後に次のジャンプ先のデータを読み出すようなシー
ケンスしか対応しておらず、事前に指定されたジャンプ
コマンドに対してどのタイミングで新しいジャンプ先の
データの先読み処理を開始すべきか等の手順が開示され
ていなかった。
【0074】これに対応して、本第2の実施形態に係る
データ転送制御方法では、ジャンプコマンドを受けたと
きには、以下の処理を行う。まず、コマンド解析部50
は、端末6iからジャンプコマンドを受けると、データ
送出部40およびデータ先読み部20へ端末6iから受
けた2つの情報、すなわち、送出停止位置StopPos と次
の送出開始位置PostStartPosの情報を通知する。データ
送出部40は、上記通知を受けた後も今行っている送出
処理を続け、送出停止位置StopPos までのデータを送出
した後、コマンド解析部50に対して送出停止したこと
を通知する。
【0075】一方、データ先読み部20は、コマンド解
析部50から上記通知を受けた後、プリフェッチデータ
消費の通知を受けたときの処理が以下のように変わる。
上記第1の実施形態で説明したように、データ先読み部
20は、プリフェッチデータサイズPreSize の大小比較
によって読み出し要求を発行すべきか否かを判定する。
そして、判定の結果、読み出し要求を発行する場合に
は、データ先読み部20は、読み出すべきデータサイズ
Ljを算出する。ここで、データ先読み部20は、さら
に位置(Dpos +Lj)と送出停止位置StopPos とを比
較し、それぞれ以下の(1)〜(3)に示すデータ範囲
の読み出しを行う。ただし、いずれの場合もプリフェッ
チデータサイズPreSize および位置Bpos のインクリメ
ントは、上記第1の実施形態と同様の処理を行う。
【0076】(1)Dpos +Lj < StopPos の場合 上記第1の実施形態と同様に、位置Dpos からサイズL
j分のデータを読み出し要求し、位置Dpos をサイズL
j分インクリメントする。 (2)Dpos +Lj > StopPos の場合 位置Dpos から位置(StopPos −1)までのデータ範囲
と、位置PostStartPosからサイズ(Lj−StopPos +D
pos )分のデータ範囲を読み出し要求し、位置Dpos を
位置(PostStartPos+(Lj−StopPos +Dpos ))に
設定する。 (3)Dpos +Lj = StopPos の場合 上記第1の実施形態と同様に、位置Dpos からサイズL
j分のデータを読み出し要求し、位置Dpos を位置Post
StartPosに設定する。
【0077】そして、上記(2)または(3)のデータ
範囲の読み出し処理の後は、位置(Dpos +Lj)と位
置StopPos との比較を行わず、上記第1の実施形態と同
様の読み出し処理を行う。
【0078】上述した手順により、常にプリフェッチデ
ータサイズPreSize を所定サイズ以上に維持しながら、
次に送出するデータを続けて先読みすることができるの
で、データ送出部40において送出停止位置StopPos ま
でのデータを送出完了した時点には、送出開始位置Post
StartPosからサイズPreBlk分のデータが読み出し要求さ
れていることになる。従って、そのまま続けて送出開始
位置PostStartPosからのデータを送出を始めることがで
き、遅延のない連続的な送出が行える。
【0079】以上のように、本発明の第2の実施形態に
係るデータ転送制御方法によれば、特定の条件下におい
て、端末6iからの要求コマンドSiに対する応答遅延
をほぼ0に短縮することができる。
【0080】(第3の実施形態)上記第1の実施形態で
は、データ先読み部20が記憶装置10に対して読み出
し要求を出してから実際にバッファメモリ30にデータ
が書き込みされるまでの遅延時間Twaitが、何らかの方
法ですでにわかっていることを前提にして、バッファメ
モリサイズや先読みするデータのサイズを算出してき
た。しかしながら、遅延時間Twaitは、VODシステム
構成によって変化する値であり、記憶装置10がネット
ワーク接続の場合は、ネットワークの混雑状況などによ
って時間とともに変化する場合もある。
【0081】そこで、本発明の第3の実施形態に係るデ
ータ転送制御方法は、遅延時間Twaitを動的に測定し、
この測定結果を割り当てるメモリ領域6iのサイズや先
読みデータサイズに反映するようにしたものである。以
下、本第3の実施形態に係るデータ転送制御方法を説明
する。
【0082】本第3の実施形態に係るデータ転送制御方
法に用いるビデオサーバ装置の構成は、上述した図1の
ビデオサーバ装置1の構成と同様であるが、各構成には
以下の処理機能が追加されている。まず、コマンド解析
部50は、必要に応じて読み出し要求判定部21に対し
てデータ到着遅延測定要求を発行する。読み出し要求判
定部21は、データ到着遅延測定要求を受けると、記憶
装置10から所定のデータを読み出し要求を発行し、タ
イマをスタートさせる。到着データ制御部23では、読
み出し要求判定部21が測定用に読み出し要求したデー
タが到着した時点でタイマをストップさせ、データ到着
までの所要時間Tcheck を求め、コマンド解析部50に
通知する。
【0083】上記コマンド解析部50がデータ到着遅延
測定要求を発行するタイミングとしては、 (1)システム起動時に1回だけ実行する (2)一定時間毎に実行する (3)送出データのアンダーフローが検出されたときに
実行する などの方法が考えられる。ここで、上記(1)の場合に
は、ストリームオープンされていない状態で上記処理を
行い、測定結果を遅延時間Twaitの値にすることで、以
後は上記第1の実施形態と同じ処理が行える。上記
(2)および(3)の場合には、ストリームオープン
後、すなわち、メモリ領域6iが割り当てられ、決めら
れたサイズ分のデータを先読みしている最中にも遅延時
間Twaitを変更できる機構が必要である。この対策とし
ては、例えば、各端末6iに割り当てるメモリ領域6i
のサイズを大きめにとっておき、測定した所要時間Tch
eck が現在使用中の遅延時間Twaitより大きくなった場
合に、先読みすべきデータサイズのパラメータのみを大
きくする、という手法等が考えられる。
【0084】以上のように、本発明の第3の実施形態に
係るデータ転送制御方法によれば、記憶装置10からの
データ到着遅延を測定することにより、割り当てるメモ
リ領域6iのサイズや先読みすべきデータサイズを動的
に変化させることができる。そのため、構成の異なるシ
ステムや時間的にデータ到着遅延の変化するシステムの
場合にも対応でき、常にデータアンダーフローのない連
続的な送出が実現できる。
【0085】(第4の実施形態)本発明の第4の実施形
態に係るデータ転送制御方法は、ビデオサーバ装置1で
複数種類の送出レートによる送出を可能とするために、
1つの端末に割り当てるメモリ領域を、複数個の領域で
構成するようにしたものである。以下、本第4の実施形
態に係るデータ転送制御方法を説明する。
【0086】まず、ビデオサーバ装置1は、システム起
動時に、バッファメモリ30全体の領域を確保(アロケ
ート)する。このとき、バッファメモリ30全体を1連
続領域で確保するのではなく、所定サイズRsizeの領域
を複数個(ここでは、k個とする)アロケートする。サ
イズRsizeは、記憶装置10への最小アクセスデータサ
イズ(例えば、64KB)の倍数とし、ストリームの送
出レートの最も遅いもの(MPEG2の場合は、3Mb
ps)、あるいは最も頻度の高い送出レートRout に対
するメモリ領域3iのサイズに近いサイズを選ぶ。ま
た、ここで確保されたk個の領域は、1〜kの通し番号
が振られ(以下、それぞれ領域1〜領域kと呼ぶ)、そ
れぞれの論理アドレス、端末への割り当ての有無および
割り当て先の端末番号等の情報で管理されているものと
する。
【0087】次に、端末6iからストリームオープンの
要求コマンドSiを受けたときの動作を説明する。コマ
ンド解析部50は、上記第1の実施形態で説明した方法
に基づいて、端末6iに必要なメモリ領域のサイズUsi
zeを算出する。ここで、メモリ領域として端末6iに割
り当てる領域の数Rnum は、 Rnum =(Usize/Rsize)を下回らない最小の整数 で求められる。そして、コマンド解析部50は、領域1
〜領域kの中でまだ端末に割り当てられていない領域を
Rnum 個選んで端末6i用として割り当てる。このよう
に処理の重いメモリ領域の確保(アロケート)をシステ
ム起動時に行うことで、ストリームオープン時の処理負
荷を軽減でき、ストリーム送出しながら別のストリーム
のオープン処理も可能になる。また、端末に割り当てら
れるメモリ領域がRnum 個の独立した領域の組み合わせ
で構成されることにより、メモリ配置などを考慮する必
要も無く、自由なレートのストリームが選択できる。
【0088】次に、データ先読み部20およびデータ送
出部40において、Rnum 個の領域で構成されるメモリ
領域の使用方法を、図5を参照して説明する。図5は、
本発明の第4の実施形態に係るデータ転送制御方法にお
ける、バッファメモリ30全体の管理番号と端末6i独
自の管理番号との関係の一例を示す図である。端末6i
に割り当てられたRnum 個の領域、すなわち図5(a)
において領域3,領域5,領域10,…は、端末6i独
自の管理番号として、図5(b)のように再度連続する
(i−1)〜(i−Rnum )までの番号が振られる。こ
のように端末独自の領域番号を付加し、この端末独自の
領域番号と領域先頭からのオフセット位置との2つの情
報を用いることで、バッファメモリ30上の位置は特定
でき、あたかも端末6iの管理番号で(i−1)〜(i
−Rnum )までの領域が連続し、上記第1の実施形態の
ような1つの領域から構成されているように扱うことが
できる。
【0089】具体的には、上記2つの情報は、バッファ
位置/データ位置管理メモリ22で管理する。また、デ
ータを書き込むバッファ位置を表す位置Bpos も、上記
2つの情報で管理する。例えば、図6に示すように、記
憶装置10から読み出したデータ(サイズL)を書き込
むメモリ領域の範囲が2つの領域にまたがってしまう場
合は、位置Bpos が(領域i−2,Off1)の位置から
(領域i−3,Off2)の位置に移動する。
【0090】以上のように、本発明の第4の実施形態に
係るデータ転送制御方法によれば、1つの端末に割り当
てるメモリ領域を、複数個の固定サイズの領域で構成す
ることにより、ストリームオープン時の処理負荷を軽減
し、他の送出中のストリームの処理に影響を与えない処
理が行える。また、小サイズの空き領域が孤立すること
もないため、自由なレート/自由なストリーム数の組み
合わせでのストリームのオープン/クローズを繰り返し
実行できる。
【図面の簡単な説明】
【図1】本発明の第1〜第4の実施形態に係るデータ転
送制御方法を用いるビデオサーバ装置の構成を示すブロ
ック図である。
【図2】本発明の第1の実施形態に係るデータ転送制御
方法の処理手順を示すフローチャートである。
【図3】メモリ領域3iの読み出し/書き込みタイミン
グを示す図である。
【図4】図3で示すタイミングでメモリ領域3iへの書
き込み/読み込みを行った場合のメモリ領域3iの状態
の遷移を示す図である。
【図5】本発明の第4の実施形態に係るデータ転送制御
方法における、バッファメモリ30全体の管理番号と端
末6i独自の管理番号との関係の一例を示す図である。
【図6】読み出し要求時にバッファ上の書き込み領域が
2つの領域にまたがる場合の対応の一例を示す図であ
る。
【図7】従来のダブルバッファ方式を説明する図であ
る。
【符号の説明】
1…ビデオサーバ装置 10…記憶装置 20…データ先読み部 21…読み出し要求判定部 22…バッファ位置/データ位置管理メモリ 23…到着データ制御部 30…バッファメモリ 31〜3N…メモリ領域 40…データ送出部 50…コマンド解析部 61〜6N…端末

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 複数の端末にデータを供給するビデオサ
    ーバ装置であって、 前記データを格納する記憶手段と、 前記記憶手段のデータを一時的に書き込むためのバッフ
    ァメモリと、 前記記憶手段に対して読み出し要求を発行し、その後当
    該読み出し要求に対応するデータを前記記憶手段からブ
    ロック単位で順次読み出して前記バッファメモリに巡回
    して書き込む入力手段と、 前記バッファメモリに書き込まれたデータを巡回して順
    次読み出して、一定の速度で前記端末に出力する出力手
    段とを備え、 前記ブロックのサイズをLと、前記入力手段が前記記憶
    手段に対して読み出し要求を発行してから実際に前記バ
    ッファメモリへの書き込みが始まるまでの遅延時間をT
    waitと、前記出力手段が前記端末にデータを出力す
    る一定の速度をRoutとした場合、 前記入力手段は、 前記出力手段が最初のデータを出力する前に、(Twa
    it×Rout+L)以上のサイズのデータの読み出し
    要求を前記記憶手段に発行し、 前記出力手段が行う出力処理に対し、発行した前記読み
    出し要求に対応するデータの内の当該出力処理がまだで
    あるデータのサイズが(Twait×Rout)のサイ
    ズを下回らないように、順次新たな前記読み出し要求の
    発行を行うことを特徴とする、ビデオサーバ装置。
  2. 【請求項2】 前記遅延時間Twaitを測定する測定
    手段をさらに備え、 前記測定の結果に基づいて、前記新たな読み出し要求の
    データサイズを調整することを特徴とする、請求項1に
    記載のビデオサーバ装置。
  3. 【請求項3】 前記端末からストリームを選択するコマ
    ンドを受けたとき、 前記入力手段は、前記記憶手段に対して前記ストリーム
    の先頭位置のデータを指示する前記読み出し要求を発行
    することを特徴とする、請求項1または2に記載のビデ
    オサーバ装置。
  4. 【請求項4】 前記端末へデータを出力中に当該端末か
    ら別のデータ位置へのジャンプ再生を要求された場合、 前記入力手段は、送出停止位置までのデータサイズとジ
    ャンプ再生開始位置以降のデータとを合わせたサイズ
    が、常に(Twait×Rout+L)以上のサイズと
    なるように前記読み出し要求を発行することを特徴とす
    る、請求項1〜3のいずれかに記載のビデオサーバ装
    置。
  5. 【請求項5】 前記バッファメモリは、所定サイズの複
    数の領域から構成されており、 前記複数の端末は、前記複数の領域の中から1つ以上の
    領域がそれぞれ割り当てられていることを特徴とする、
    請求項1〜4のいずれかに記載のビデオサーバ装置。
  6. 【請求項6】 記憶手段とバッファメモリとを備え、当
    該バッファメモリを介して当該記憶手段に格納されてい
    るデータを複数の端末に供給するビデオサーバ装置に用
    いるデータ転送制御方法であって、 前記記憶手段に対して読み出し要求を発行するステップ
    と、 前記読み出し要求に対応するデータを前記記憶手段から
    ブロック単位で順次読み出して前記バッファメモリに巡
    回して書き込むステップと、 前記バッファメモリに書き込まれたデータを巡回して順
    次読み出して、一定の速度で前記端末に出力するステッ
    プとを備え、 前記ブロックのサイズをLと、前記記憶手段に対して読
    み出し要求を発行してから実際に前記バッファメモリへ
    の書き込みが始まるまでの遅延時間をTwaitと、前
    記端末にデータを出力する一定の速度をRoutとした
    場合、 前記発行するステップは、 前記出力するステップで最初のデータを出力する前に、
    (Twait×Rout+L)以上のサイズのデータの
    読み出し要求を前記記憶手段に発行し、 前記出力するステップが行う出力処理に対し、発行した
    前記読み出し要求に対応するデータの内の当該出力処理
    がまだであるデータのサイズが(Twait×Rou
    t)のサイズを下回らないように、順次新たな前記読み
    出し要求の発行を行うことを特徴とする、データ転送制
    御方法。
  7. 【請求項7】 前記遅延時間Twaitを測定するステ
    ップをさらに備え、 前記測定の結果に基づいて、前記新たな読み出し要求の
    データサイズを調整することを特徴とする、請求項6に
    記載のデータ転送制御方法。
  8. 【請求項8】 前記端末からストリームを選択するコマ
    ンドを受けたとき、 前記発行するステップは、前記記憶手段に対して前記ス
    トリームの先頭位置のデータを指示する前記読み出し要
    求を発行することを特徴とする、請求項6または7に記
    載のデータ転送制御方法。
  9. 【請求項9】 前記端末へデータを出力中に当該端末か
    ら別のデータ位置へのジャンプ再生を要求された場合、 前記発行するステップは、送出停止位置までのデータサ
    イズとジャンプ再生開始位置以降のデータとを合わせた
    サイズが、常に(Twait×Rout+L)以上のサ
    イズとなるように前記読み出し要求を発行することを特
    徴とする、請求項6〜8のいずれかに記載のデータ転送
    制御方法。
  10. 【請求項10】 前記バッファメモリは、所定サイズの
    複数の領域から構成されており、 前記複数の端末は、前記複数の領域の中から1つ以上の
    領域がそれぞれ割り当てられていることを特徴とする、
    請求項6〜9のいずれかに記載のデータ転送制御方法。
JP10234159A 1998-08-20 1998-08-20 ビデオサーバ装置およびそのデータ転送制御方法 Pending JP2000069430A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10234159A JP2000069430A (ja) 1998-08-20 1998-08-20 ビデオサーバ装置およびそのデータ転送制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10234159A JP2000069430A (ja) 1998-08-20 1998-08-20 ビデオサーバ装置およびそのデータ転送制御方法

Publications (1)

Publication Number Publication Date
JP2000069430A true JP2000069430A (ja) 2000-03-03

Family

ID=16966590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10234159A Pending JP2000069430A (ja) 1998-08-20 1998-08-20 ビデオサーバ装置およびそのデータ転送制御方法

Country Status (1)

Country Link
JP (1) JP2000069430A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306263A (ja) * 2000-04-24 2001-11-02 Sony Corp メディアデータ記憶装置
JP2002051307A (ja) * 2000-08-02 2002-02-15 Sony Corp 画像処理装置および画像処理方法、並びに記録媒体
JP2006121402A (ja) * 2004-10-21 2006-05-11 Toyo Eng Corp 転送装置およびそれを用いたネットワークシステム、並びに通信方法
JP2007049230A (ja) * 2005-08-05 2007-02-22 Circle One:Kk ビデオ配信システム
US7546411B2 (en) 2001-09-14 2009-06-09 Bruner Curtis H Digital device configuration and method
US7551382B2 (en) 2001-09-14 2009-06-23 Bruner Curtis H Digital device configuration and method
JP2012118895A (ja) * 2010-12-03 2012-06-21 Mitsubishi Electric Corp 通信装置、通信装置のデータ転送方法および通信プログラム
JP2013016920A (ja) * 2011-06-30 2013-01-24 Toshiba Corp 映像表示装置、バッファ管理方法および映像表示システム

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306263A (ja) * 2000-04-24 2001-11-02 Sony Corp メディアデータ記憶装置
JP2002051307A (ja) * 2000-08-02 2002-02-15 Sony Corp 画像処理装置および画像処理方法、並びに記録媒体
US7720348B2 (en) 2000-08-02 2010-05-18 Sony Corporation Image processing apparatus and image processing method as well as recording medium
US7702847B2 (en) 2001-09-14 2010-04-20 Bruner Curtis H Digital device configuration and method
US8001321B2 (en) 2001-09-14 2011-08-16 Benhov Gmbh, Llc Digital device configuration and method
US7551382B2 (en) 2001-09-14 2009-06-23 Bruner Curtis H Digital device configuration and method
JP2010044853A (ja) * 2001-09-14 2010-02-25 Cornice Inc デジタル装置構成
US7689785B2 (en) 2001-09-14 2010-03-30 Bruner Curtis H Digital device configuration and method
US9940025B2 (en) 2001-09-14 2018-04-10 Benhov Gmbh, Llc Digital device configuration and method
US9396746B2 (en) 2001-09-14 2016-07-19 Benhov Gmbh, Llc Digital device configuration and method
US7546411B2 (en) 2001-09-14 2009-06-09 Bruner Curtis H Digital device configuration and method
US8631196B2 (en) 2001-09-14 2014-01-14 Benhov Gmbh, Llc Digital device configuration and method
US8312209B2 (en) 2001-09-14 2012-11-13 Benhov Gmbh, Llc Digital device configuration and method
JP2006121402A (ja) * 2004-10-21 2006-05-11 Toyo Eng Corp 転送装置およびそれを用いたネットワークシステム、並びに通信方法
JP2007049230A (ja) * 2005-08-05 2007-02-22 Circle One:Kk ビデオ配信システム
JP2012118895A (ja) * 2010-12-03 2012-06-21 Mitsubishi Electric Corp 通信装置、通信装置のデータ転送方法および通信プログラム
JP2013016920A (ja) * 2011-06-30 2013-01-24 Toshiba Corp 映像表示装置、バッファ管理方法および映像表示システム

Similar Documents

Publication Publication Date Title
CN107204198B (zh) 高速访问双倍速率同步动态随机存储器的控制方法及装置
US5610841A (en) Video server
US6134607A (en) Method and apparatus for controlling data flow between devices connected by a memory
US5944792A (en) Data transfer device with computed start times for data blocks
EP0713184A2 (en) Method of retrieving continuous and non-continuous media data from a file system
KR950022986A (ko) 영상축적 배송장치 및 영상축적 배송시스템
US6130869A (en) Multiple-channel information reproducing apparatus including buffer memories assigned to channels respectively
JP2000069430A (ja) ビデオサーバ装置およびそのデータ転送制御方法
US7376334B2 (en) Data recording/reproduction apparatus, method and program for real-time processing
JP2006523355A (ja) 記録媒体から読み出した複数のデータストリームをバッファリングする方法
WO2007043617A1 (ja) I/o要求処理システム及び方法
JPH08152976A (ja) 記憶装置のアクセス方法
JP2001057571A5 (ja)
US6678469B1 (en) Recorded information reproducing apparatus
JP4361085B2 (ja) 同時再生用にデータストリームを読み出す光学ピックアップを制御するための方法
US20040199683A1 (en) Admission control system for home video servers
US6961801B1 (en) Method and apparatus for accessing video data in memory across flow-controlled interconnects
JPH0793237A (ja) 動画像情報への多重アクセススケジューリング方式
KR100327388B1 (ko) 디지털 방송의 메모리 제어 장치
JPH08129522A (ja) マルチメディアデータの転送方法
JPH0528083A (ja) 入出力データ転送回路
KR0183831B1 (ko) 데이터 버퍼링 장치
JP2914188B2 (ja) データ送出装置
JP3186453B2 (ja) データ送出装置
JP2002232846A (ja) 映像音声処理装置および映像音声処理方法