(57)【特許請求の範囲】
【請求項１】
マルチメディアデータである素材データを多重化して生成されたストリームデータの前記素材データが格納されているブロックデータの格納位置情報と前記素材データとからなるストリーム生成情報を管理するストリーム生成情報管理手段と、再生されている前記ストリームデータの前記ストリーム生成情報から、前記素材データと前記格納位置情報を含むストリーム生成情報テーブルを作成するストリーム生成情報テーブル作成手段と、前記ストリーム生成情報から、当該素材データの伝送を開始するブロックデータと前記素材データとからなるデータ伝送開始テーブルを作成するデータ伝送開始テーブル作成手段と、前記素材データの表示時刻、表示取り消し時刻の情報からなるシナリオ情報を管理するシナリオ情報管理手段と、前記シナリオ情報から、前記素材データの表示終了時刻に対応するブロックデータと素材データとからなるシナリオ情報テーブルを作成するシナリオ情報テーブル作成手段と、ジャンプ先の位置情報と現在の再生位置の情報を入力として、前記データ伝送開始テーブル及び前記シナリオ情報テーブルから、ジャンプ先より前に伝送が開始され、更に、表示終了していない素材データを補完すべき素材データである補完データとし、前記ストリーム生成情報テーブルから前記補完データを検索する補完データ検索手段とを備えたデータ検索装置。
【請求項２】
補完データ検索手段に入力されたジャンプ先の位置情報と現在の再生位置の情報から、前記ジャンプ先が逆方向である場合は、前記現在の再生位置をストリームデータの先頭に変更する検索範囲変更手段を、更に、備えた請求項１記載のデータ検索装置。
【請求項３】
前回再生を開始した位置の情報である前回再生開始位置情報を管理する再生位置情報管理手段と、前記前回再生開始位置情報と現在の再生位置情報との間にある素材データが格納されているブロックデータから最大となるブロックデータを素材データの伝送履歴として管理する伝送履歴管理テーブル管理手段と、前記ストリーム生成情報から、当該素材データの伝送を終了するブロックデータと前記素材データとからなるデータ伝送終了テーブルを作成するデータ伝送終了テーブル作成手段と、を更に備え、補完データ検索手段は、ジャンプ先の位置情報と現在の再生位置の情報を入力として、ストリーム生成テーブル、データ伝送開始テーブル、シナリオ情報テーブル前記データ伝送終了テーブル及び前記伝送履歴管理テーブルを用いて、前記ジャンプ先が逆方向である場合は、前記ジャンプ先の位置情報と前記現在の再生位置の情報とから前記素材データが格納されているブロックデータから未伝送のブロックデータを補完データとし、前記ストリーム生成
情報テーブルから前記補完データを検索する請求項２記載のデータ検索装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マルチメディアデータを多重化してストリームのデータとし、このデータを用いてマルチメディアタイトルの再生を行うマルチメディアタイトル再生方式において、順方向のジャンプ、逆方向のジャンプを実現するデータ管理、およびデータ検索方式に関するものである。
【０００２】
【従来の技術】
マルチメディアのタイトルを再生するためのデータ形式としては、タイトルに必要なデータをすべて多重化し１本のストリームデータに格納する方法がある。このストリームデータをサーバからクライアントへ伝送し、クライアントでこのストリームの多重分離を行いタイトルの再生を行う。この多重化の方法としては、ＴＶ会議システム等に使用されるＨ．２２３や、ＬＡＮ系統等で使用されるＲＴＰなどが知られている。
【０００３】
マルチメディアタイトルとは、動画、音声、静止画、テキスト（文字）などをタイトルの再生経過時間に応じてあらかじめ決められた時刻に表示したり、表示を消したりするものである。よって、マルチメディアタイトルを再生するには、それぞれのデータを表示する時刻までに、各データのすべてがタイトル再生端末（クライアント端末）に揃っていなくてはならない。つまり、あらかじめそれぞれのデータの表示時刻までに各データのすべてがストリームデータの伝送を通じて、サーバからタイトル再生端末であるクライアントに伝送されていなくてはならない。そのために、各データを多重化してストリームデータを生成するときに、各データのデータ伝送帯域とデータ容量を考慮して伝送スケジュールを立て、これにしたがって各データの多重化を行う。
【０００４】
【発明が解決しようとする課題】
通常、動画の再生では、順方向や逆方向のジャンプ（先送り，巻き戻し）は困難でない。再生位置をシークして変更すればよいだけである。しかし、前述のストリームデータを用いてマルチメディアのタイトルを再生するとき、順方向や逆方向のジャンプは困難となる。それはシークする対象であるストリームデータはあらかじめ各データの表示時刻にあわせて伝送スケジュールを立て、それにしたがって多重化してあるからである。図１２にこれを図示した。
ここでは１つの動画と２つの静止画と１つのテキストが時間にあわせて表示されるタイトルを例に挙げている。時間軸に沿って、動画が表示しているところへ静止画１が表示され、後に静止画２、最後にテキストが表示される。各素材データは、各データ容量と伝送する帯域により各素材データ毎にデータの伝送所要時間がわかる。そこで各素材データの表示時刻からこのデータ伝送所要時間を引いた時刻をデータ伝送開始時刻とスケジュールする。さらに、このスケジュールにあわせて、各素材データを多重化する。
【０００５】
このタイトルの再生において、順方向や逆方向のジャンプを行うと、シークによってサーバからクライアントへストリームデータを通じて伝送されるはずだったデータが伝送されないことになる。図１３にこれを図示した。
ストリームデータを読む、あるいは取得することでタイトルの再生を行い、ジャンプにより、この取得するストリームデータの位置を変えると、ジャンプによって読まない、または取得しないデータが発生する。そこで、そのまま再生を続けると表示時刻になっても表示に必要なデータが不足し、表示できないことになる。
【０００６】
一方、ストリームに多重化される動画や音声などの等時的なデータについては、静止画やテキストなど（以降，非動画データと呼ぶ）と（の比較で見た場合、非動画データと）違い、表示時刻に関係なくシークによる移動先以降にストリームに多重化されたデータだけが必要となる。シークによってクライアントに伝送されなくなったデータは不要である。なお、ＭＰＥＧ等のフレーム間相関の動画等については、指定されたジャンプ位置がＰフレーム等（差分データ）だった場合、その時間位置に近いＩフレーム（基本データ）へジャンプする等のミクロな調整が行われているものとする。
【０００７】
このように、順方向、逆方向のジャンプを実現するには、ジャンプによって伝送されないことになる静止画やテキストのデータをクライアントに伝送し，ジャンプによって生じたスケジュールの不整合を修正しなければならない．しかし，ジャンプによって伝送されないことになる未伝送データには，タイトル再生位置の移動先でのタイトルの表示状態によっては，クライアント側で不必要となるデータも存在する．これは具体的には、ジャンプ先ではすでにその素材データの表示が終了している場合である。ジャンプ先以降の再生でその素材データは、それ以降も表示されないのでデータが十分そろっていないまま放置してもなんら問題は起きない。不必要なデータも含めてクライアントにデータを送り、ジャンプ後の再生のためにデータを補完すると，無駄なデータ転送所要時間が必要となりこのラグタイムでレスポンスが悪くなる。
【０００８】
順方向ジャンプで、スケジュールの不整合を修正するための補完データを図１４に示した。ここでは時刻ｔ１からｔ２へジャンプする例をあげている。時刻ｔ２以降では、静止画１は表示を終了している。よって、静止画１の伝送時間のうち、灰色で示した部分のデータは、ジャンプにより伝送されないデータとなるがジャンプ先の時刻ｔ２以降では不要となる。一方、静止画２は、表示終了時刻がｔ２以降なので、ジャンプにより伝送されなかった黒の部分は補完する必要がある。
【０００９】
逆方向ジャンプの例を図１５に示した。ここでは、クライアントでは一度取得したデータは破棄せず、保持するとしている。（もちろんデータを破棄し、保持しない場合もあるがここでは省略する。）このとき、一度再生した部分を逆方向ジャンプで再生し直しても問題は発生しない。クライアントはその部分のデータを保持しており、補完すべきデータが発生しないからである。しかし、順方向ジャンプをしてある区間のストリームを読み飛ばし、その後その部分に逆方向ジャンプで戻った場合に問題が発生する。
【００１０】
図１５では、まず時刻ｂ１からｂ２へ順方向ジャンプを行う。静止画１は時刻ｂ１までのデータは伝送される。順方向ジャンプで、静止画データ２のデータのうち黒い部分は補完データとして補完する必要がある。このジャンプの後、少し再生を行い、さらに時刻ｂ４にｂ３まで逆方向ジャンプを行う。この逆方向ジャンプの後は、ｂ３から通常の再生を開始するが、表示終了時刻はｂ３以降なのでデータの補完が必要となる。しかし、灰色の部分は過去に伝送されたデータなのでクライアントで保持しており、補完する必要はない。しかし、黒い部分は補完する必要がある。これを区別するには過去に伝送したデータの履歴を管理しなくてはならない。
【００１１】
このように，必要なデータをサーバからクライアントへ伝送してデータの補完を行った後、ジャンプ先位置以降のストリームを用いて再生を継続するというジャンプの動作においては，ジャンプによって未伝送となるデータの内，タイトルの再生において不必要となるデータと必要となるデータの識別と，補完すべきデータの抽出とをしなければいけないという課題が生じる。
【００１２】
そこで本発明では、
マルチメディアデータを多重化したストリームを用いたマルチメディアタイトル再生方式において，順方向，逆方向のジャンプ再生を実現するためのデータの管理，検索方式を提供することを目的とする。
【００１３】
【課題を解決するための手段】
本発明は、上記課題を解決するもので、本発明は第一に、
主に順方向のジャンプを実現するために，マルチメディアデータを多重化したストリームデータを作成するときに，多重化した静止画，テキストなどの非動画データの格納位置の情報からなるストリーム生成情報と，非動画データの表示する時刻，表示を消し非表示とする時刻の情報からなるシナリオ情報とを用いて，クライアントからの現在再生位置，ジャンプ先再生位置の情報から，補完すべきデータを検索するとしたものである．
これにより，マルチメディアデータを多重化したストリームを用いるマルチメディアタイトル再生方式において，タイトル再生中の順方向ジャンプが実現できるという効果が得られる。
【００１４】
本発明は第二に、
クライアント端末では，サーバから送られたデータは，表示が終了すると破棄し（保持しない）とした場合において，逆方向のジャンプを実現するために，補完すべきデータの検索範囲を変更する（；当該逆方向ジャンプを、データの先頭位置からそのジャンプ位置への順方向のジャンプとして扱う）検索範囲変更手段を備えたものである．
これにより，クライアント端末では，サーバから送られたデータは，表示が終了すると破棄し保持しないとし，マルチメディアデータを多重化したストリームを用いるマルチメディアタイトル再生方式において，タイトル再生中の逆方向ジャンプが実現できる
という効果が得られる。
【００１５】
本発明は第三に、
クライアント端末では，一度サーバから送られたデータは破棄せず（タイトル再生が終了するまで常に保持する）とした場合において，逆方向のジャンプを実現するために，データ伝送終了テーブル作成手段と、前回再生を開始した位置を管理する元位置情報管理手段と，伝送履歴管理テーブル管理手段とを備えたものである．
これにより，クライアント端末では，一度サーバから送られたデータは破棄せずタイトル再生が終了するまで常に保持するとし，マルチメディアデータを多重化したストリームを用いるマルチメディアタイトル再生方式において，タイトル再生中の逆方向ジャンプが実現できるという効果が得られる。
【００１６】
つまり本発明では、上記のような仕組みにより、
マルチメディアデータを多重化したストリームを用いたマルチメディアタイトル再生方式において，クライアント端末はサーバから伝送されたデータをタイトル再生終了まで保持するしないにかかわらず、タイトル再生中の順方向，逆方向のジャンプ時にサーバからクライアント端末へ補完すべきデータを検索することができる、という効果が得られる。
【００１７】
【発明の実施の形態】
以下本発明の実施の形態について、図１から図１１を用いて説明する。なお、本発明はこれら実施の形態に何等限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施し得る。
【００１８】
（実施の形態１）
図１は本発明の構成を示した構成図である．
図１において、１１はストリームデータのストリーム生成情報を管理するストリーム生成情報管理手段、１２はストリーム生成情報管理手段１１で管理するストリーム生成情報の内、再生中の当該ストリームのストリーム生成情報からストリーム生成情報テーブルを作成するストリーム生成情報テーブル作成手段、１３は再生中の当該ストリームのストリーム生成情報からデータ伝送開始テーブルを生成するデータ伝送開始テーブル作成手段、１４は各素材データの表示時刻、表示取り消し時刻の情報からなるシナリオ情報を管理するシナリオ情報管理手段、１５はシナリオ情報管理手段１４から再生中のタイトルのシナリオ情報からシナリオ情報テーブルを作成するシナリオ情報テーブル作成手段、１６はこれら前記のテーブルと入力されるジャンプ先位置情報と現再生位置情報から補完すべきデータを検索する補完データ検索手段である。
【００１９】
図２は、ストリーム生成情報テーブル作成手段１２が作成するストリーム生成情報テーブルの一例である。このテーブルはストリームデータに多重化した素材データの素材ＩＤまたは素材識別子と、各素材データを格納したストリームデータ上の位置を表すブロック番号で構成する。図２の例では素材ＩＤが１の素材データは、その素材データがストリームデータ上のブロック番号３，６，９，１２，１５，１８の６つのブロックに格納してあり、素材ＩＤ１の素材データはこの６つのブロックから構成していることを示す。ここに書かれていないブロック番号、たとえばブロック番号１，２，４，５のブロックには動画や音声など、非動画データ以外のデータが格納されていることを表す。
【００２０】
図３は、データ伝送開始テーブル作成手段１３が作成するデータ伝送開始テーブルの一例である。このテーブルはストリームデータに多重化した素材データの素材ＩＤまたは素材識別子と、各素材データの伝送を開始するブロック番号で構成する。
【００２１】
図４は、シナリオ情報テーブル作成手段１５が作成するシナリオ情報テーブルの一例である。このテーブルはストリームデータに多重化した素材データの素材ＩＤまたは素材識別子と、各素材データの表示終了時刻から構成する。ただし、ここで表示終了時刻はストリームデータ上のブロック番号に変換してある。
【００２２】
タイトル再生中に順方向のジャンプが発生すると、まずサーバ、クライアント端末間でストリームデータの伝送を止める。次に、ジャンプ先位置情報と現再生位置情報から補完データの検索を行い、補完すべきデータをサーバからクライアントへ伝送する。そして、再生位置を変更するため、サーバはジャンプ先位置のストリームデータから再び伝送を開始する。
【００２３】
図５は、ジャンプ先位置情報と現再生位置情報から、補完データ検索手段が行う補完データを検索する処理の流れを示したフロチャートである。図１，２，３，４とあわせて、以下その動作を説明する。
【００２４】
図５において、まずストリーム生成テーブルを作成する（ステップ５０１）。ストリーム生成テーブル例は図２に示し、前述した。次にデータ伝送開始テーブルを作成する（ステップ５０２）。ここで作成するデータ伝送開始テーブル例は図３に示し、前述した。このテーブルは伝送開始ブロック番号の若い順にソートする。さらにシナリオ情報テーブルを作成する（ステップ５０３）。シナリオ情報テーブル例は図４に示し、前述したシナリオ情報を元に作成する。
ここでシナリオ情報とは少なくとも、各素材データ毎の表示開始時刻と終了時刻の情報からなるものである。このシナリオ（情報）からシナリオ情報テーブルを作成するとき、各時刻はストリーム上のブロック番号に変換する。各ブロックが固定長であれば、表示時刻をＴ、タイトル再生時にサーバからクライアントへ単位時刻あたりに伝送するストリームデータに格納してあるブロック数Ｎから、ストリーム上のブロック番号ｋは、ｋ＝ＴxＮによって求められる。各ブロックが可変長であれば、各ブロック番号と時刻の対応テーブルをストリーム作成時に作成し、これを元に表示時刻とブロック番号の変換を行えばよい。このテーブルは、表示終了ブロック番号についてソートしておく。ここまでのステップ５０１から５０３は処理順序を問わない。
【００２５】
次に、ジャンプが発生するとジャンプ先位置情報と現再生位置情報を補完データ検索手段に入力する（ステップ５０４）。この２つの情報の位置もブロック番号とする。時刻とブロック番号の変換は前述した。ここでは例として、現再生位置はブロック番号１６、ジャンプ先位置はブロック番号６４、とする。
【００２６】
情報補完データ検索手段は、
（１）データ伝送開始テーブルから伝送開始ブロック番号がジャンプ先位置より前の素材データを検索する（ステップ５０５）。図３のデータ伝送開始テーブル例から、伝送開始ブロック番号がジャンプ先位置ブロック番号６４より前の素材データは、素材ＩＤ１，２，３，４の４つの素材データであることがわかる。さらに、
（２）シナリオ情報テーブルから表示終了ブロック番号がジャンプ先位置より後の素材データを検索する（ステップ５０６）。図４のシナリオ情報テーブル例から、表示終了ブロック番号がジャンプ先位置ブロック番号６４より後の素材データは、素材ＩＤ４、５の２つの素材データであることがわかる．
これら２つの検索で重複した素材ＩＤを抽出（ステップ５０６）すると、素材ＩＤ４の素材データだけが当てはまることがわかる。
【００２７】
そこで、抽出した素材データに関してのみストリーム生成情報テーブルから各素材データ毎にジャンプ先位置と現再生位置の間にあるブロック番号を検索（ステップ５０８）する。つまり、ストリーム生成情報テーブル図２から、ブロック番号１６から６４の間にある素材ＩＤ４のブロックは、４５，５０，５５，６０の４つのブロックであることがわかる。この結果から補完すべき素材データとそのデータ部分を算出する（ステップ５０９）と、素材ＩＤ４該当の素材ファイルの内、先頭から４ブロック分のデータを補完データとしてサーバからクライアントへ補完すればよいことがわかる。ここで先頭から４ブロック分のデータのデータ量はブロック長が固定であれば容易にわかる。ブロック長が可変であってもストリーム生成時に各ブロック番号とブロック長の対応テーブルを作成しておけば求めることができる。
【００２８】
なお、図５においてＡの部分、つまりステップ５０１から５０３は、ステップ５０４と５０５の間のＢにおいて処理を行ってもよい。また、Ａの部分の処理は２回目以降の検索では行う必要がない。
【００２９】
以上のように本実施の形態では、
ストリームデータに多重化した素材データの情報と素材データ格納位置情報からなるストリーム生成情報を管理するストリーム生成情報管理手段と、前記ストリーム生成情報からデータ伝送開始テーブルを作成するデータ伝送開始テーブル作成手段と、各素材データの表示時刻、表示取り消し時刻の情報からなるシナリオ情報を管理するシナリオ情報管理手段と、前記シナリオ情報からシナリオ情報テーブルを作成するシナリオ情報テーブル作成手段と、ジャンプ先の位置情報と現在の再生位置の情報を入力として補完すべきデータを検索する補完データ検索手段（；検索方法としては上記（１）（２）等を参照．）とを備えることにより、
マルチメディアデータを多重化したストリームを用いるマルチメディアタイトル再生方式において，タイトル再生中の順方向ジャンプのための補完データの検索が実現できるという効果が得られ、その実用的効果は大きい。
【００３０】
（実施の形態２）  図６は、本実施の形態におけるデータ検索装置の機能ブロック図であり、符号６１〜６６のものに関しては、実施の形態１で説明の図１中の１１〜１６とそれぞれ同様である。異なるのはジャンプ先の位置情報と現在の再生位置の情報が補完データ検索手段６６に入力されたときに、現在の再生位置をストリームデータの先頭とし、補完データの検索範囲を変更する補完データ検索範囲変更手段６７を備えたことである。
【００３１】
図７は、ジャンプ先位置情報と現再生位置情報から、補完データ検索手段が行う補完データを検索する処理の流れを示したフロチャートである。前記した図２，３，４とあわせて説明する。
【００３２】
図７は、実施の形態１で説明の図５とほぼ同様であるが、異なるのは検索範囲変更手段が現再生位置をタイトルの先頭、つまりブロック番号０に変更するステップ（ステップ７０５）と、シナリオ情報テーブルから、表示終了ブロックより、ステップ７０４で補完データ検索手段に入力された現再生位置ブロックの方が前の素材データを検索、ステップ７０８で抽出した素材ＩＤ群からこの素材ＩＤを削除する（ステップ７０９）を設けたことである。
【００３３】
以降、ブロック番号５７を現再生位置とし、ブロック番号４２をジャンプ先位置として逆方向のジャンプをするときを例に補完データ検索処理を説明する．
なお、ステップ７０１、７０２，７０３，７０４は、実施の形態１の図５におけるステップ５０１，５０２，５０３，５０４と同じこと、またステップ７０１，７０２，７０３の順番は問わないこと、この３ステップがステップ７０４と７０５のＢの部分であってもよいことは実施の形態１と同様である。また、Ａの部分の処理は２回目以降の検索では行う必要がない。なお、本実施の形態では、一度サーバからクライアントへ伝送したデータの内、表示が終了したものはクライアントで保持しない（；破棄する）ことを、主に前提としているが、保持していても（；破棄しないでいても）一向に構わない。
【００３４】
ステップ７０５では、補完データ検索手段に入力された現再生位置をタイトルの先頭、すなわち０に変更する。つまり入力された現再生位置ブロック番号５７を０に変更し、以降処理を続ける。
【００３５】
まず、ステップ７０６より伝送開始ブロック番号がジャンプ先位置ブロック番号４２より前の素材データを検索すると素材ＩＤが１，２，３の素材データが該当することがわかる。次に、ステップ７０７より表示終了ブロック番号がジャンプ先位置ブロック番号４２より後の素材データを検索すると、素材ＩＤが、２，３，４，５の素材データが該当することがわかる。さらにステップ７０８よりこれら２つの検索で重複した素材ＩＤを抽出すると素材ＩＤ２，３が該当することがわかる。
【００３６】
ステップ７０９では、前ステップ７０８で抽出した素材データ群の中から、シナリオ情報テーブルから表示終了ブロック番号より、ステップ７０４で入力された現再生位置ブロック、すなわち５７が前（；５７より後）の素材データを削除する。図４から素材ＩＤ２の素材データは表示終了ブロック番号が６０なので、素材ＩＤ２を前記素材データ群から削除し、残りは素材ＩＤ３だけとなる。これは表示が終了した素材データのデータは破棄されており、この素材データのデータは補完する必要があり、また表示が終了していない素材データのデータはまだ破棄しておらず、このデータは補完する必要がないからである。
【００３７】
ステップ７１１では補完すべき素材データのＩＤが３で、補完すべき部分はストリーム生成テーブルの図２から素材ＩＤ３のデータのすべてであることがわかる。なお、順方向のジャンプであるか逆方向のジャンプであるかは、ジャンプ先位置ブロック番号と現再生位置ブロック番号を比較すれば判別することができる。
【００３８】
以上のように、本実施の形態では、
クライアント端末が，サーバから送られたデータは，表示が終了すると破棄してしまい（；保持しないとし），マルチメディアデータを多重化したストリームを用いるマルチメディアタイトル再生方式の場合において，
実施の形態１のデータ検索装置に、補完データ検索手段に入力されたジャンプ先の位置情報と現在の再生位置の情報から検索する範囲を変更する検索範囲変更手段を備えるたものである。
【００３９】
これにより、送信される多重化マルチメディアデータは、表示が終了すると破棄してしまうのに着目して、タイトル再生中の逆方向ジャンプ（；あたかも先頭からそのジャンプ位置への順方向のジャンプとみなして処理する）が実現できるという効果が得られ、その実用的効果は大きい。
【００４０】
（実施の形態３）
図８は実施の形態３の構成図であり、符合８０１〜８０７に関しては、実施の形態２で説明の図６中の６０１〜６０７とそれぞれ同じである。異なるのは、素材ＩＤと各素材データのデータを伝送する最後のブロック番号のテーブルをストリーム生成情報から生成するデータ伝送終了テーブル作成手段８０８と、ジャンプ再生したときにその再生開始位置を格納しておく再生開始位置情報管理手段８８と、すでに伝送済みのデータを素材データ毎に管理する伝送履歴管理テーブル管理手段８９を備えたことである。
【００４１】
図９は、データ伝送終了テーブル作成手段８０８が作成するデータ伝送終了テーブルの一例である。このテーブルは、素材ＩＤと、その素材データを格納しているブロック番号の内で、もっとも大きいブロック番号を格納する。
【００４２】
図１０は、伝送履歴管理テーブル管理手段８１０で管理する伝送履歴管理テーブルの例である。このテーブルは、素材ＩＤと、その素材データを構成するブロック番号の内で、すでに伝送済みでもっとも大きいブロック番号を格納する。このテーブルは動的に変更し、以降の説明で（ａ）、（ｂ）、（ｃ）、（ｄ）と順を追って変わっていく。
【００４３】
図１１は、ジャンプ先位置情報と現再生位置情報から、補完データ検索手段が行う補完データを検索する処理の流れを示したフロチャートである。前記した図２，３，４、９、１０とあわせて説明する。
【００４４】
本実施の形態では、一度サーバからクライアントへ伝送したデータはクライアントで保持する（；破棄しない）ことを前提としている。そのため、一度伝送したデータは伝送済みとして伝送履歴を管理する必要がある。これは逆方向のジャンプが発生したときだけでなく、順方向ジャンプ発生時や通常再生した区間に関しても伝送したデータの履歴を管理する必要があることを示している。そこで、ジャンプの指示があったときに、ジャンプ指示時に発生する現再生位置情報と再生開始位置情報から、それまで通常再生した区間を判定し、この区間のデータは伝送済みであるとして伝送履歴管理テーブルで管理する。
【００４５】
本実施の形態では、タイトルの再生を開始してから伝送ブロック番号２６のところから６１まで順方向にジャンプ、その後７０まで通常再生した後、今度は、ブロック番号７０から３２まで逆方向にジャンプする場面を具体例として、以下説明をする。
【００４６】
ステップ１１０１から１１０３までは、実施の形態２の図７で説明のステップ７０１から７０３と同じである。これら３ステップの後、データ伝送終了テーブル作成手段８０８がデータ伝送終了テーブルを作成する（ステップ１１０４）。さらに再生開始位置情報管理手段で管理の再生位置を初期値０とする（ステップ１１０５）。これはブロック番号でタイトルの先頭を示す。再生開始位置情報管理手段はこの値だけを管理する。ここまでが準備段階で、ステップ１１０１から１１０５までの順番は問わない。
【００４７】
順方向または逆方向のジャンプが発生すると、ジャンプ先位置情報と現再生位置情報を補完データ検索手段に入力する（ステップ１１０６）。
【００４８】
次に、再生開始位置情報と現再生位置情報から通常再生区間を算出する（ステップ１１０８）。再生開始位置情報は初期値の０が入っているので、現再生位置つまり、ブロック番号２６までは通常に再生したことがわかる。そこで、データ伝送開始テーブルとデータ伝送終了テーブルとシナリオ情報テーブルから通常再生区間の送信済みブロックを検索する（ステップ１１０８）。つまり、通常再生したブロック番号０から２６までの間のデータとそのブロック番号を各素材データ毎に検索する。
【００４９】
まず、図３データ伝送開始テーブルから伝送開始ブロック番号が２６より前の素材データを検索する。素材ＩＤ１，２が該当する素材データであることがわかる。次に、図９データ伝送終了テーブルから伝送終了ブロック番号が０より後の素材データを検索する。素材ＩＤ１，２，３，４，５が該当する素材データであることがわかる。これら２つの検索から重複しているのは素材ＩＤ１，２であり、通常再生区間０から２６の間では、この２つの素材データのデータ伝送を行ったことがわかる。
【００５０】
さらにこの２つの素材データについて、ストリーム生成情報テーブルを検索し、ブロック番号０から２６の間の各素材データのブロックを検索すると、素材ＩＤ１の素材データは、ブロック番号３，６，９，１２，１５，１８の６つのブロックを伝送したことがわかる。一方素材ＩＤ２の素材データは、ブロック番号２１，２３，２５の３つのブロックを伝送したことがわかる。そこで、これらを伝送済みブロックとして伝送履歴管理テーブルに記録する（ステップ１１０９）。
【００５１】
ここでは各素材データ毎に、伝送済みのブロック番号の内一番番号の大きいブロックの番号だけを記録する。つまり素材ＩＤ１の素材データは１８、素材ＩＤ２の素材データは２５をテーブルに記録する。この例が図１０（ａ）である。図１０において０はまだなにも伝送されていないことを示す。ここまでは、通常再生区間の算出と、その区間に伝送したデータの伝送履歴管理作業である。
【００５２】
次に、ジャンプ先位置情報と現再生位置情報から順方向ジャンプか否かを判定する（ステップ１１１０）。ジャンプ先位置情報と現再生位置情報を比べ、ジャンプ先位置ブロック番号が現再生位置ブロックより大きければ順方向のジャンプである。
【００５３】
順方向ジャンプであった場合、実施の形態１、図５、ステップ５０５から５０８で説明した手順で以降補完すべき素材データの検索を行う（ステップ１１１１）。この結果から補完すべき素材データとそのデータ部分を算出する（ステップ１１１５）。このステップは、図５、５０９と同様である。ここから素材ＩＤ４のブロック番号４５，５０，５５、６０に該当のデータが補完しなければいけないデータであることがわかる。
【００５４】
さらに、これら補完データも伝送済みとして伝送履歴管理テーブルで管理しなければならない。つまり、素材ＩＤ４はブロック番号６０まで伝送済みであるとして、伝送済みブロックの内もっとも大きい番号６０を伝送履歴管理テーブルに記録する（ステップ１１１６）。図１０（ｂ）にこの伝送履歴管理テーブルを示す。さらに、つぎのジャンプ指示のために、ステップ１１０６で入力されたジャンプ先位置つまり、ブロック番号６１を、再生開始位置として格納しておく。データ補完が終わるとこのジャンプ先位置のブロック番号から通常の再生を開始するからである。
【００５５】
なお、ステップ１１１６，１１１７は補完データの検索後、補完データをサーバからクライアントへ伝送した後に行ってもよい。この後ブロック番号７０まで通常再生した後、今度は、ブロック番号７０から３２まで逆方向にジャンプする。ステップ１１０１から１１０５までは一度行えばよい作業であり、２回目以降は必要ない。
【００５６】
ジャンプ先位置情報をブロック番号３２，現再生位置情報をブロック番号７０として補完データ検索手段に入力される（ステップ１１０６）。ステップ１１０７で、再生開始位置ブロック番号６１、現再生位置ブロック番号７０から、ブロック番号６１から７０までの区間は通常再生したことがわかる。この区間で伝送されたブロックを検索（ステップ１１０８）すると、素材ＩＤ４のブロック番号６５，７０が伝送されたことがわかり、このブロックを伝送済みブロックとして伝送履歴管理テーブルに記録する（ステップ１１０９）。このときの伝送履歴管理テーブルを図１０（ｃ）に示す。
【００５７】
ジャンプ先位置ブロック番号と現再生位置ブロック番号から逆方向のジャンプであることがわかる（ステップ１１１０）。すると、実施の形態２、図７、ステップ７０５から７０８で説明した手順で以降補完すべき素材データの検索を行う（ステップ１１１１）。この検索から素材ＩＤ１，２が補完すべき素材データであることがわかる。さらにこの素材データに関してのみ、ストリーム生成情報テーブルから、各素材データ毎にジャンプ先位置と現再生位置の間にあるブロック番号を検索する（ステップ１１１３）。
【００５８】
この結果、素材ＩＤ１は、ブロック番号３，６，９，１２，１５，１８が、素材ＩＤ２は、ブロック番号２１，２３，２５，２７，２９，３１がこの補完すべきブロックであることがわかる。このブロックは、すでに伝送済みのブロックを含んでいる。そこで、これらのブロック番号と伝送履歴管理テーブルを比較し、未伝送ブロックを抽出する（ステップ１１１４）。伝送履歴間テーブルは、図１０（ｃ）から、素材ＩＤ１はブロック番号１８まで伝送済みで、素材ＩＤ２はブロック番号２５まで伝送済みであることがわかる。よって、未伝送で補完すべきデータは、素材ＩＤ２のブロック２７，２９，３１であることがわかる。
【００５９】
この結果から補完すべき素材データは、素材ＩＤ２の素材データで、当該素材データのデータの内、先頭から４ブロック目に相当するオフセット位置から３ブロック分のデータ長のデータを補完データとする（ステップ１１１５）。そして、補完対象となったブロックつまり、素材ＩＤ２のブロック２７，２９，３１の内一番数の大きいブロック番号３１を伝送履歴管理テーブルに記録する（ステップ１１１６）。この時の伝送履歴管理テーブルを図１０（ｄ）に示す。最後に、ジャンプ先位置、ブロック番号３２を再生開始位置情報として格納する（ステップ１１１７）。
実施の形態２の補完データ検索装置に、素材ＩＤと各素材データのデータを伝送する最後のブロック番号のテーブルを作成するデータ伝送終了テーブル作成手段と、前回再生を開始した位置を管理する元位置情報管理手段と，伝送履歴管理テーブル管理手段とを備えたものである。
【００６０】
このように、ストリーム生成テーブル、データ伝送開始テーブル、シナリオ情報手テーブル、データ伝送終了テーブルの静的な４つのテーブルと、伝送履歴管理テーブルの動的な１つのテーブルから補完データを検索する。
【００６１】
以上のように、本実施の形態では、
クライアント端末が，一度サーバから送られたデータは破棄せずタイトル再生が終了するまで常に保持するとし，マルチメディアデータを多重化したストリームを用いるマルチメディアタイトル再生方式において，
実施の形態２の補完データ検索装置に、素材ＩＤと各素材のデータを伝送する最後のブロック番号のテーブルを作成するデータ伝送終了テーブル作成手段と、前回再生を開始した位置を管理する元位置情報管理手段と，伝送履歴管理テーブル管理手段とを備えたものである。
【００６２】
これにより、サーバ側で行う伝送済みのデータ管理をうまく利用することで、伝送済みデータを再送させることなく、タイトル再生中の逆方向ジャンプが実現できるという効果が得られ、その実用的効果は大きい。
【００６３】
【発明の効果】
以上のように本発明によれば、
第一に、ストリームデータに多重化した素材データの情報と素材データ格納位置情報からなるストリーム生成情報を管理するストリーム生成情報管理手段と、前記ストリーム生成情報からデータ伝送開始テーブルを作成するデータ伝送開始テーブル作成手段と、各素材データの表示時刻、表示取り消し時刻の情報からなるシナリオ情報を管理するシナリオ情報管理手段と、前記シナリオ情報からシナリオ情報テーブルを作成するシナリオ情報テーブル作成手段と、ジャンプ先の位置情報と現在の再生位置の情報を入力として補完すべきデータを検索する補完データ検索手段とを備えることにより、
マルチメディアデータを多重化したストリームを用いるマルチメディアタイトル再生方式において，タイトル再生中の順方向ジャンプのための補完データの検索が実現できるという効果が得られる。
【００６４】
第二に、第一の発明のデータ検索装置に、補完データ検索手段に入力されたジャンプ先の位置情報と現在の再生位置の情報から検索する範囲を変更する検索範囲変更手段を備えることにより、
クライアント端末では，サーバから送られたデータは，表示が終了すると破棄し保持しないとし，マルチメディアデータを多重化したストリームを用いるマルチメディアタイトル再生方式において，タイトル再生中の逆方向ジャンプが実現できるという効果が得られる。
【００６５】
第三に、第二の発明のデータ検索装置に、素材ＩＤと各素材データのデータを伝送する最後のブロック番号のテーブルを作成するデータ伝送終了テーブル作成手段と、前回再生を開始した位置を管理する元位置情報管理手段と，伝送履歴管理テーブル管理手段とを備えることにより、
クライアント端末では，一度サーバから送られたデータは破棄せずタイトル再生が終了するまで常に保持するとし，マルチメディアデータを多重化したストリームを用いるマルチメディアタイトル再生方式において，タイトル再生中の逆方向ジャンプが実現できるという効果が得られる。
【図面の簡単な説明】
【図１】実施の形態１の構成図
【図２】実施の形態１のストリーム生成テーブル例図
【図３】実施の形態１のデータ伝送開始テーブル例図
【図４】実施の形態１のシナリオ情報テーブル例図
【図５】実施の形態１の検索フロチャート
【図６】実施の形態２の構成図
【図７】実施の形態２のの検索フロチャート
【図８】実施の形態３の構成図
【図９】実施の形態３のデータ伝送終了テーブル例図
【図１０】実施の形態３の伝送履歴管理テーブル例図
【図１１】実施の形態３の検索フロチャート
【図１２】伝送スケジュールとデータ多重化の例図
【図１３】ストリームデータのジャンプの例図
【図１４】順方向ジャンプでの補完データの例図
【図１５】逆方向ジャンプでの補完データの例図
【符号の説明】
１１、６１、８０１：ストリーム生成情報管理手段
１２、６２、８０２：ストリーム生成情報作成手段
１３、６３，８０３：データ伝送開始テーブル作成手段
１４、６４，８０４：シナリオ情報管理手段
１５、６５、８０５：シナリオ情報テーブル作成手段
１６、６６，８０６：補完データ検索手段
６７，８０７：検索範囲変更手段
８０８：データ伝送終了テーブル作成手段
８０９：再生開始位置情報管理手段
８１０：伝送履歴管理テーブル管理手段
【図１】
0003552538.tif 000002
【図２】
0003552538.tif 000003
【図３】
0003552538.tif 000004
【図４】
0003552538.tif 000005
【図５】
0003552538.tif 000006
【図６】
0003552538.tif 000007
【図７】
0003552538.tif 000008
【図８】
0003552538.tif 000009
【図９】
0003552538.tif 000010
【図１０】
0003552538.tif 000011
【図１１】
0003552538.tif 000012
【図１２】
0003552538.tif 000013
【図１３】
0003552538.tif 000014
【図１４】
0003552538.tif 000015
【図１５】
0003552538.tif 000016