(57)【要約】      （修正有）【課題】符号化映像データの符号化情報が記述されたインデックスファイルの読み取り方法を提供する。【解決手段】Ｐ、Ｒを整数とするとき、インデックスファイルは複数行で構成され、１フレームがＰ行で、１ＧＯＰがＲフレームから成り、かつ、各行にはそれぞれ再生時間が記述されており、再生端末から配信要求のあった符号化映像データのインデックスファイルを１ＧＯＰ単位で前記インデックスファイル格納部から読み出し、前記読み出したインデックスファイルを前記一時記憶部に書き込み、前記一時記憶部から前記書き込んだインデックスファイルを１行づつ読み出し、前記読み出した前記インデックスファイルの１行毎に記述されている再生時間に対応する、前記再生端末から配信要求のあった符号化映像データを前記符号化映像データ格納部から読み出し、当該読み出した符号化映像データを送信部に送信する。【選択図】図１
2010187077.tif 000002
【特許請求の範囲】
【請求項１】
再生端末からの配信要求を受信する受信部と、
前記再生端末に前記配信要求のあった符号化映像データを送信する送信部と、
符号化映像データ情報であるインデックスファイルが格納されているインデックスファイル格納部と、
符号化映像データが格納されている符号化映像データ格納部と、
前記インデックスファイルを一時保存する一時記憶部とを備え、
前記符号化映像データの蓄積と配信を行う配信サーバのファイル読み取り方法であって、
Ｐ、Ｒを整数とするとき、前記インデックスファイルは複数行で構成され、１フレームがＰ行で、１ＧＯＰがＲフレームから成り、かつ、各行にはそれぞれ再生時間が記述されており、
前記受信部において受信した前記再生端末からの配信要求を判断するステップ１と、
前記ステップ１での判断結果が映像の先頭からの再生の場合に、前記再生端末から配信要求のあった符号化映像データのインデックスファイルを先頭から１ＧＯＰ単位で前記インデックスファイル格納部から読み出すステップ２と、
前記読み出したインデックスファイルを前記一時記憶部に書き込むステップ３と、
前記一時記憶部から前記書き込んだインデックスファイルを１行づつ読み出すステップ４と、
前記読み出した前記インデックスファイルの１行毎に記述されている再生時間に対応する、前記再生端末から配信要求のあった符号化映像データを前記符号化映像データ格納部から読み出すステップ５と、
前記送信部から前記再生端末に対して、前記読み出した符号化映像データを送信するステップ６とを有することを特徴とするファイル読み取り方法。
【請求項２】
前記ステップ１での判断結果がジャンプ再生の場合、前記ステップ２ないしステップ３に代えて、前記インデックスファイル格納部からの前記インデックスファイルの１ＧＯＰ単位での読み出しを一時停止するステップ１１と、
前記一時停止で最後に読み出した前記インデックッスファイルの再生時間からジャンプ再生時間が何秒先か、あるいは何秒前かを割り出し、前記インデックスファイルの読み出し先ＧＯＰを割り出すステップ１２と、
前記再生端末から配信要求のあった符号化映像データの前記インデックスファイルを、前記割り出した読み出し先ＧＯＰから１ＧＯＰ単位で前記インデックスファイル格納部から読み出すステップ１３と、
前記読み出したインデックスファイルを前記一時記憶部に書き込むステップ１４とを実行することを特徴とする請求項１に記載のファイル読み取り方法。
【請求項３】
前記ステップ１での判断結果が一時停止の場合、前記インデックスファイル格納部からの前記符号化映像データのインデックスファイルの１ＧＯＰ単位での読み出しと、前記一時記憶部からの前記インデックスファイルの１行づつの読み出しと、前記符号化映像データ格納部からの符号化映像データの読み出しを一時停止するステップ２１を有し、
前記ステップ１での判断結果が再生再開の場合、前記インデックスファイル格納部からの前記符号化映像データのインデックスファイルの１ＧＯＰ単位での読み出しと、前記一時記憶部からの前記インデックスファイルの１行づつの読み出しと、前記符号化映像データ格納部からの符号化映像データの読み出しを継続して実行するステップ２２とを有することを特徴とする請求項１に記載のファイル読み取り方法。
【請求項４】
前記インデックスファイルは、１行が１ＮＡＬユニットであり、
Ｓを整数とするとき、前記１ＮＡＬユニットは、固定長のＳバイトであり、
１フレームは、１ＮＡＬユニットのＰ倍で構成されることを特徴とする請求項１ないし請求項３のいずれか１項に記載のファイル読み取り方法。
【請求項５】
再生端末からの配信要求を受信する受信部と、
前記再生端末に前記配信要求のあった符号化映像データを送信する送信部と、
符号化映像データ情報であるインデックスファイルが格納されているインデックスファイル格納部と、
符号化映像データが格納されている符号化映像データ格納部と、
前記インデックスファイルを一時保存する一時記憶部と、
読み取り制御部とを備え、
前記符号化映像データの蓄積と配信を行う配信サーバであって、
Ｐ、Ｒを整数とするとき、前記インデックスファイルは複数行で構成され、１フレームがＰ行で、１ＧＯＰがＲフレームから成り、かつ、各行にはそれぞれ再生時間が記述されており、
前記読み取り制御部は、要求判断部と、
ファイル制御部と、
映像データ制御部とを有し、
前記要求判断部は、前記受信部において受信した前記再生端末からの配信要求を判断し、その判断結果を前記ファイル制御部に通知し、
前記ファイル制御部は、前記受信部において受信した前記再生端末からの配信要求が映像の先頭からの再生の場合に、前記再生端末から配信要求があった符号化映像データのインデックスファイルを先頭から１ＧＯＰ単位で前記インデックスファイル格納部から読み出し、前記１ＧＯＰ単位で読み出したインデックスファイルを前記一時記憶部に書き込む機能１１と、
前記一時記憶部に書き込んだ前記インデックスファイルを１行づつ読み出し、１行毎に記載されている再生時間を前記映像データ制御手段に通知する機能１２とを有し、
前記映像データ制御部は、前記ファイル制御手段から受け取った再生時間に対応する、前記再生端末から配信要求のあった符号化映像データを前記符号化映像データ格納部から読み出す機能２１と、
前記読み出した符号化映像データを前記送信部へ送信する機能２２とを有することを特徴とする配信サーバ。
【請求項６】
前記ファイル制御部は、前記受信部において受信した前記再生端末からの配信要求がジャンプ再生の場合、前記インデックスファイル格納部からの前記インデックスファイルの１ＧＯＰ単位での読み出しを一時停止する機能１３と、
前記一時停止で最後に読み出した前記インデックッスファイルの再生時間からジャンプ再生時間が何秒先か、あるいは何秒前かを割り出し、前記インデックスファイルの読み出し先ＧＯＰを割り出す機能１４とを有し、
前記ファイル制御部の前記機能１１は、前記再生端末から配信要求のあった符号化映像データの前記インデックスファイルを、前記割り出した読み出し先ＧＯＰから１ＧＯＰ単位で前記インデックスファイル格納部から読み出し、前記読み出したインデックスファイルを前記一時記憶部に書き込むことを特徴とする請求項５に記載の配信サーバ。
【請求項７】
前記ファイル制御部は、前記受信部において受信した前記再生端末からの配信要求が一時停止の場合、前記インデックスファイル格納部からの前記符号化映像データのインデックスファイルの１ＧＯＰ単位での読み出しと、前記一時記憶部からの前記インデックスファイルの１行づつの読み出しを中止する機能１５と、
前記受信部において受信した前記再生端末からの配信要求が再生再開の場合、前記インデックスファイル格納部からの前記符号化映像データのインデックスファイルの１ＧＯＰ単位での読み出しと、前記一時記憶部からの前記インデックスファイルの１行づつの読み出とを継続して実行する機能１６とを有し、
前記映像データ制御部は、前記受信部において受信した前記再生端末からの配信要求が一時停止の場合、前記符号化映像データ格納部からの符号化映像データの読み出しを一時停止する機能２３と、
前記受信部において受信した前記再生端末からの配信要求が再生再開の場合、前記符号化映像データ格納部からの符号化映像データの読み出しを継続して実行する機能２４とを有することを特徴とする請求項５に記載の配信サーバ。
【請求項８】
前記インデックスファイルは、１行が１ＮＡＬユニットであり、
Ｓを整数とするとき、前記１ＮＡＬユニットは、固定長のＳバイトであり、
１フレームは、１ＮＡＬユニットのＰ倍で構成されることを特徴とする請求項５ないし請求項７のいずれか１項に記載の配信サーバ。
【請求項９】
請求項１ないし請求項４のいずれか１項に記載のファイル読み取り方法を、コンピュータに実行させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル読み取り方法、配信サーバ、プログラムおよび記録媒体に係り、特に、符号化映像データの符号化情報が記述されたインデックスファイルの読み取り方法に関する。
【背景技術】
【０００２】
従来、符号化映像データの符号化情報が記述されたインデックスファイルを用いて符号化映像データの再生を行う場合、基本的に以下の方法で行われている。
（１）インデックスファイルは、ハードディスクに保存されている。
（２）インデックスファイルには、１行単位でいつ再生すれば良いかを示す細かく刻まれた再生時間等が記載されており、１行単位でハードディスクから読み出す。
なお、符号化映像データの符号化情報が記述されたインデックスファイルについては、例えば、下記特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−４５４２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、前述した従来の方法は、以下のような問題点があった。
（１）いつ再生すれば良いかを示す細かく刻まれた再生時間単位（１行単位）でインデックスファイルを読み出すため、ファイルリード回数が大量に発生する。
（２）ハードディスからの読み出しで処理速度が遅い。
（３）ジャンプ再生の場合、インデックスファイルを先頭から読み出すため、再生位置のサーチに時間が掛かる。
本発明は、前記従来技術の問題点を解決するためになされたものであり、本発明の目的は、ファイル読み取り方法および配信サーバにおいて、インデックスファイルを用いて符号化映像データの再生を行う場合に、ハードディスクヘのアクセス回数を減少させ、処理速度を向上させるとともに、ジャンプ再生の場合に再生位置のサーチ処理速度を向上させることが可能となる技術を提供することにある。
また、本発明の他の目的は、前述の読み取り方法をコンピュータに実行させるプログラムと、当該プログラムが記述された記録媒体を提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述及び添付図面によって明らかにする。
【課題を解決するための手段】
【０００５】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記の通りである。
（１）再生端末からの配信要求を受信する受信部と、前記再生端末に前記配信要求のあった符号化映像データを送信する送信部と、符号化映像データ情報であるインデックスファイルが格納されているインデックスファイル格納部と、符号化映像データが格納されている符号化映像データ格納部と、前記インデックスファイルを一時保存する一時記憶部とを備え、前記符号化映像データの蓄積と配信を行う配信サーバのファイル読み取り方法であって、Ｐ、Ｒを整数とするとき、前記インデックスファイルは複数行で構成され、１フレームがＰ行で、１ＧＯＰがＲフレームから成り、かつ、各行にはそれぞれ再生時間が記述されており、前記受信部において受信した前記再生端末からの配信要求を判断するステップ１と、前記ステップ１での判断結果が映像の先頭からの再生の場合に、前記再生端末から配信要求のあった符号化映像データのインデックスファイルを先頭から１ＧＯＰ単位で前記インデックスファイル格納部から読み出すステップ２と、前記読み出したインデックスファイルを前記一時記憶部に書き込むステップ３と、前記一時記憶部から前記書き込んだインデックスファイルを１行づつ読み出すステップ４と、前記読み出した前記インデックスファイルの１行毎に記述されている再生時間に対応する、前記再生端末から配信要求のあった符号化映像データを前記符号化映像データ格納部から読み出すステップ５と、前記送信部から前記再生端末に対して、前記読み出した符号化映像データを送信するステップ６とを有する。
【０００６】
（２）（１）において、前記ステップ１での判断結果がジャンプ再生の場合、前記ステップ２ないしステップ３に代えて、前記インデックスファイル格納部からの前記インデックスファイルの１ＧＯＰ単位での読み出しを一時停止するステップ１１と、前記一時停止で最後に読み出した前記インデックッスファイルの再生時間からジャンプ再生時間が何秒先か、あるいは何秒前かを割り出し、前記インデックスファイルの読み出し先ＧＯＰを割り出すステップ１２と、前記再生端末から配信要求のあった符号化映像データの前記インデックスファイルを、前記割り出した読み出し先ＧＯＰから１ＧＯＰ単位で前記インデックスファイル格納部から読み出すステップ１３と、前記読み出したインデックスファイルを前記一時記憶部に書き込むステップ１４とを実行する。
（３）（１）において、前記ステップ１での判断結果が一時停止の場合、前記インデックスファイル格納部からの前記符号化映像データのインデックスファイルの１ＧＯＰ単位での読み出しと、前記一時記憶部からの前記インデックスファイルの１行づつの読み出しと、前記符号化映像データ格納部からの符号化映像データの読み出しを一時停止するステップ２１を有し、前記ステップ１での判断結果が再生再開の場合、前記インデックスファイル格納部からの前記符号化映像データのインデックスファイルの１ＧＯＰ単位での読み出しと、前記一時記憶部からの前記インデックスファイルの１行づつの読み出しと、前記符号化映像データ格納部からの符号化映像データの読み出しを継続して実行するステップ２２とを有する。
【０００７】
（４）（１）ないし（３）の何れかにおいて、前記インデックスファイルは、１行が１ＮＡＬユニットであり、Ｓを整数とするとき、前記１ＮＡＬユニットは、固定長のＳバイトであり、１フレームは、１ＮＡＬユニットのＰ倍で構成される。
（５）また、本発明は、前述の（１）ないし（４）のファイル読み取り方法を実行する配信サーバである。
（６）また、本発明は、前述の（１）ないし（４）のいずれかのファイル読み取り方法を、コンピュータに実行させるためのプログラムである。
（７）また、本発明は、前述の（６）のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【０００８】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
本発明によれば、インデックスファイルを用いて符号化映像データの再生を行う場合に、ハードディスクヘのアクセス回数を減少させ、処理速度を向上させるとともに、ジャンプ再生の場合に再生位置のサーチ処理速度を向上させることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施例の配信サーバが適用される映像配信システムの概略構成と、本発明の実施例のファイル読み取り方法を説明するためのブロック図である。
【図２】図１に示す読み取り制御部の概略構成を示すブロック図である。
【図３】本発明の実施例の配信サーバのインデックスファイル格納部に格納されるインデックスファイルの概要を説明するための図である。
【図４】本発明の実施例のファイル読み取り方法の処理手順を示すフローチャートである。
【図５】図４のフローチャートにおける、ステップ１１１のより詳細な処理手順の一例を説明するための図である。
【図６】図４のフローチャートにおける、ステップ１１１のより詳細な処理手順の他の例を説明するための図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施例を詳細に説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
図１は、本発明の実施例の配信サーバが適用される映像配信システムの概略構成と、本発明の実施例のファイル読み取り方法を説明するためのブロック図である。
図１において、１０は符号化映像データを蓄積、配信する配信サーバ、２０は配信サーバ１０に符号化映像データの配信を要求し、符号化映像データを再生する再生端末、３０は配信サーバ１０と再生端末２０とを接続するネットワークである。
配信サーバ１０は、再生端末２０から配信要求を受け取る受信部１１と、読み取り制御部１２と、インデックッスファイルを書き込む一時記憶部１３と、符号化映像データ情報であるインデックスファイルが格納されているインデックスファイル格納部１４と、符号化映像データが格納されている符号化映像データ格納部１５と、符号化映像データを再生端末２０へ送信する送信部１６とを備える。ここで、読み取り制御部１２は、符号化映像データ格納部１５と、インデックスファイル格納部１４と、一時記憶部１３の制御を行う。
また、再生端末２０は、送信部２１と、受信部２２と、復号部２３と、再生要求部２４と、表示部２５とを備える。
ユーザは、再生端末２０の再生要求部２４から映像配信要求を送信部２１を介して配信サーバ１０に送信し、受信部２２を介して符号化映像データ受信し、復号部２３で復号化し、表示部２５で再生する。
図２は、図１に示す読み取り制御部１２の概略構成を示すブロック図である。
図２に示すように、読み取り制御部１２は、配信要求判断を行う要求判断部１７と、インデックスファイルの読み取り制御を行うファイル制御部１８と、符号化映像データの読み取り制御を行う映像データ制御部１９とを備える。
【００１１】
以下、図１、図２を用いて、本実施例の映像配信システムの動作の概要について説明する。
ユーザは、再生端末２０の再生要求部２４から映像配信要求を送信部２１を介して配信サーバ１０に送信する（図１の（１））。
配信要求を受け取った配信サーバ１０の受信部１１は、要求判断部１７へ配信要求を送信し（図１の（２））、要求判断部１７は、受信部１１から受け取った配信要求内容を判断し、ファイル制御部１８へその判断結果を送信する。
ファイル制御部１８は、要求判断結果が映像の先頭からの再生の場合、インデックスファイル格納部１４から、配信要求のあった符号化映像データのインデックスファイルを、先頭から１ＧＯＰ（Ｌバイト）単位で読み出す命令を出す（図１の（４））。
また、ファイル制御部１８は、インデックスファイル格納部１４から、１ＧＯＰ（Ｌバイト）単位で読み出したインデックスファイルを一時記憶部１３に書き込む命令を出す（図１の（５））。さらに、ファイル制御部１８は、一時記憶部１３に書き込んだインデックスファイルを１行（Ｎバイト）づつ読み出す命令を出し（図１の（６））、１行（Ｎバイト）づつ読み出したインデックスファイルの１行毎に記述されている再生時間を、映像データ制御部１９へ通知する命令を出す。
映像データ制御部１９は、ファイル制御部１８から受け取った再生時間に対応する、配信要求あった符号化映像データを符号化映像データ格納部１５から読み出す命令を出す（図１の（７））。
また、映像データ制御部１９は、読み出した符号化映像データを送信部１６へ送信する命令を出す（図１の（８））。そして、送信部１６は符号化映像データを再生端末２０に配信する（図１の（９））。
再生端末２０の受信部２２を介して符号化映像データ受信し、復号部２３で復号化し、表示部２５で再生する（図１の（１０））。
【００１２】
また、ファイル制御部１８は、要求判断結果が一時停止の場合、インデックスファイル格納部１４からのインデックスファイルの１ＧＯＰ（Ｌバイト）単位での読み出だしを一時中止する命令を出す。また、ファイル制御部１８は、一時記憶部１３からの１行（Ｎバイト）づつのインデックスファイル読み出しを一時中止する命令を出す。
さらに、ファイル制御部１８は、映像データ制御部１９へ一時停止を通知する。映像データ制御部１９は、ファイル制御部１８から一時停止を受け取ると、符号化映像データ格納部１５からの符号化映像データ読み出しを一時停止する命令を出す。
また、ファイル制御部１８は、要求判断結果が再生再開の場合、一時停止していたインデックスファイル格納部１４から１ＧＯＰ（Ｌバイト）単位でインデックスファイル読み出しを再開し継続して行う命令を出す。また、ファイル制御部１８は、インデックスファイル格納部１４から、１ＧＯＰ（Ｌバイト）単位で読み出したインデックスファイルを一時記憶部１３へ書き込み命令を出す。
さらに、ファイル制御部１８は、一時記憶部１３に書き込んだインデックスファイルを１行（Ｎバイト）づつ読み出す命令を出し、１行（Ｎバイト）づつ読み出したインデックスファイルの１行毎に記述されている再生時間を、映像データ制御部１９へ通知する命令を出す。映像データ制御部１９は、ファイル制御部１８から受け取った再生時間に対応する、配信要求のあった符号化映像データを符号化映像データ格納部１５から読み出す命令を出す。また、映像データ制御部１９は、読み出した符号化映像データを送信部１６へ送信する命令を出す。そして、送信部１６は符号化映像データを再生端末２０に配信する。
【００１３】
また、ファイル制御部１８は、要求判断結果がジャンプ再生の場合、ファイル制御部１８は、インデックスファイル格納部１４からインデックスファイルの１ＧＯＰ（Ｌバイト）単位での読み出だしを一時停止する命令を出し、この一時停止した時にインデックスファイル格納部１４から最後に１ＧＯＰ（Ｌバイト）単位で読み出したインデックスファイルの再生時間を確認する。
また、ファイル制御部１８は、ジャンプ再生時間と最後に読み出したインデックスファイルの再生時間を比較し、最後に読み出したインデックッスファイルの再生時間からジャンプ再生時間が何秒先か、あるいは何秒前かを割り出し、ファイル制御部１８は、割り出した先から、インデックスファイルを１ＧＯＰ（Ｌバイト）単位で、インデックスファイル格納部１４から読み出す命令を出す。
また、ファイル制御部１８は、インデックスファイル格納部１４から、１ＧＯＰ（Ｌバイト）単位で読み出したインデックスファイルを一時記憶部１３に書き込む命令を出す。さらに、ファイル制御部１８は、一時記憶部１３に書き込んだインデックスファイルを１行（Ｎバイト）づつ読み出す命令を出し、１行（Ｎバイト）づつ読み出したインデックスファイルの１行毎に記述されている再生時間を、映像データ制御部１９へ通知する命令を出す。
映像データ制御部１９は、ファイル制御部１８から受け取った再生時間に対応する、配信要求のあった符号化映像データを符号化映像データ格納部１５から読み出す命令を出す。
【００１４】
以下、図２を用いて、読み取り制御部１２の動作について詳細に説明する。
（１）要求判断部１７は、配信要求を受信し、配信要求内容を判断する（図２の（１））。
（２）要求判断部１７は、判断結果をファイル制御部１８に通知する（図２の（２））。
（３）ファイル制御部１８は、映像の先頭からの再生の配信要求を受け取った場合、インデックスファイル格納部１４から配信要求のあった符号化映像データのインデックスファイルを、先頭から１ＧＯＰ（Ｌバイト）単位で読み出す命令を出す（図２の（３））。
（４）ファイル制御部１８は、１ＧＯＰ（Ｌバイト）単位でインデックスファイル格納部１４から読み出したインデックスファイルを一時記憶部１３に書き込む命令を出す（図２の（４））。
（５）ファイル制御部１８は、一時記憶部１３からインデックスファイルを１行単位（Ｎバイト）づつ読みだし、１行毎に記載されている再生時間を確認し、映像データ制御部１９にこの確認した再生時間を通知する命令を出す（図２の（５））。
（６）映像データ制御部１９は、ファイル制御部１８から受け取った再生時間に対応する、配信要求のあった符号化映像データを符号化映像データ格納部１５から読み出す命令を出す（図２の（６））。
（７）映像データ制御部１９は、読み出した符号化映像データを送信部１６へ送信する命令を出す（図２の（７））。
（８）ファイル制御部１８は、ジャンプ再生の配信要求を受け取った場合、インデックスファイル格納部１４からのインデックスファイル読み出し一時停止命令を出し、この一時停止で最後に読み出したインデックッスファイルの再生時間からジャンプ再生時間が何秒先か、あるいは、何秒前かを割り出す（図２の（８））。
（９）ファイル制御部１８は、要求判断部１７から通知された判断結果が一時停止の場合、一時記憶部１３、インデックッスファイル格納部１４からの読み出しを一時中止する命令を出す（図２の（９））。
（１０）配信要求が一時停止の場合、ファイル制御部１８は、映像データ制御部１９に一時中止を通知する（図２の（１０））。
（１１）配信要求が一時停止の場合、映像データ制御部１９は、符号化映像データ格納部１５からの符号化映像データ読み出しを一時停止命令を出す（図２の（１１））。
【００１５】
図３は、本実施例の配信サーバのインデックスファイル格納部に格納されるインデックスファイルの概要を説明するための図である。
本実施例において、符号化映像データ情報がのインデックスファイルである。
インデックスファイルには、符号化映像データの再生時間情報等の、符号化映像データの符号化情報が記述されている。
本実施例のインデックスファイルは、以下の構成を有する。
（１）インデックスファイルは、複数行で構成されるが、１行をＮＡＬユニットとする。
１ＮＡＬユニット（Network Abstraction Layer unit）は、データを分割および識別するためものであり、ＲＴＰ（Real-time Transport Protocol）パケットに分割して伝送したりするなど、圧縮データをさまざまな用途に柔軟に適用できるようになっている。
（２）１行は固定長のＮ（Ｎは整数）バイトとする。
（３）１行毎にいつ再生すれば良いかを示す再生時間が必ず記述されている。
（４）ＮＡＬＵ×Ｘ（Ｘは整数）行を１フレームとする。したがって、１フレームあたりのバイト数は、Ｎバイト×Ｘ行＝Ｍバイトとなる。
（５）１ＧＯＰ（Ｌバイト）単位でインデックスファイルをインデックスファイル格納部１４から読み出す。１ＧＯＰ（Group Of Pictures）は１５フレーム（１ＧＯＰ＝１５フレーム＝０．５秒）であり、１５×（１ＮＡＬＵ×Ｘ行）＝Ｙ行毎に、つまり、１５×（Ｎバイト×Ｘ行）＝Ｌバイトごとに、インデックスファイル格納部１４からインデックスファイルを読み出すことになる。なお、本実施例では、１ＧＯＰは１５フレームであるが、１ＧＯＰは必ずしも１５フレームである必要はなく、任意の値に設定することが可能である。
【００１６】
図４は、本実施例のファイル読み取り方法の処理手順を示すフローチャートである。
［映像データの先頭からの再生］
ステップ１０１で、再生端末２０の送信部２１から配信要求を配信サーバ１０に送信する。
ステップ１０２で、配信サーバ１０の受信部１１は配信要求を受け取り、さらに受信部１１は要求判断部１７へ配信要求を送信する。
ステップ１０３で、要求判断部１７は、受信部１１から受け取った配信要求内容を判断し、ファイル制御部１８へその判断結果を通知する。
ステップ１０４で、要求判断結果が映像の先頭からの再生の場合、ステップ１０５に進み、ファイル制御部１８は、インデックスファイル格納部１４から、配信要求のあった符号化映像データのインデックスファイルを、先頭から１ＧＯＰ（Ｌバイト）単位で読み出す命令を出し、ステップ１０６で、ファイル制御部１８は、１ＧＯＰ（Ｌバイト）単位で読み出したインデックスファイルを一時記憶部１３に書き込む命令を出す。
ステップ１０７で、ファイル制御部１８は、一時記憶部１３に書き込んだインデックスファイルを１行（Ｎバイト）づつ読み出す命令を出し、１行（Ｎバイト）づつ読み出したインデックスファイルの１行毎に記述されている再生時間を確認し、映像データ制御部１９へ確認した再生時間を通知する命令を出す。
ステップ１０８で、映像データ制御部１９は、ファイル制御部１８から受け取った再生時間に対応する、配信要求のあった符号化映像データを、符号化映像データ格納部１５から読み出す命令を出し、さらに、送信部１６へ符号化映像データを送信する命令を出す。
ステップ１０９で、送信部１６から再生端末２０に符号化映像データを配信する。
ステップ１１０で、再生端末２０の受信部２２は、符号化映像データを受信し、復号部２３で復号し、表示部２５で再生する。
【００１７】
［一時停止］
ステップ１０４で、要求判断結果が一時停止の場合、ステップ１１３に進み、ファイル制御部１８は、インデックスファイル格納部１４からのインデックスファイルの１ＧＯＰ（Ｌバイト）単位での読み出だしを一時中止する命令を出す。
また、ファイル制御部１８は、一時記憶部１３からの１行（Ｎバイト）づつのインデックスファイル読み出しを一時中止する命令を出す。さらに、ファイル制御部１８は、映像データ制御部１９へ一時停止を通知する。
映像データ制御部１９は、ファイル制御部１８から一時停止を受け取ると符号化映像データ格納部１５からの符号化映像データ読み出しを一時停止する命令を出す。
【００１８】
［再生再開］
ステップ１０４で、要求判断結果が再生再開の場合、ステップ１０５に進み、ファイル制御部１８は、一時停止していたインデックスファイル格納部１４から、１ＧＯＰ（Ｌバイト）単位でインデックスファイルの読み出しを再開する命令を出し、ステップ１０６で、ファイル制御部１８は、１ＧＯＰ（Ｌバイト）単位で読み出したインデックスファイルを一時記憶部１３に書き込む命令を出す。
ステップ１０７で、ファイル制御部１８は、一時記憶部１３に書き込んだインデックスファイルを１行（Ｎバイト）づつ読み出す命令を出し、１行（Ｎバイト）づつ読み出したインデックスファイルの１行毎に記述されている再生時間を確認し、映像データ制御部１９へ確認した再生時間を通知する命令を出す。
ステップ１０８で、映像データ制御部１９は、ファイル制御部１８から受け取った再生時間に対応する、配信要求のあった符号化映像データを符号化映像データ格納部１５から読み出す命令を出し、さらに送信部１６へ符号化映像データを送信する命令を出す。
ステップ１０９で、送信部１６から再生端末２０に符号化映像データを配信する。
ステップ１１０で、再生端末２０の受信部２２は、符号化映像データを受信し、復号部２３で復号し、表示部２５で再生する。
【００１９】
［ジャンプ再生］
ステップ１０４で、要求判断結果がジャンプ再生の場合、ステップ１１１に進み、ファイル制御部１８は、インデックスファイル格納部１４からインデックスファイルの１ＧＯＰ（Ｌバイト）単位での読み出しを一時停止する命令を出し、ステップ１１２で、ファイル制御部１８は、この一時停止した時にインデックスファイル格納部１４から最後に１ＧＯＰ（Ｌバイト）単位で読み出したインデックスファイルの再生時間を確認する。
さらに、ジャンプ再生時間と最後に読み出したインデックスファイルの再生時間を比較し、最後に読み出したインデックッスファイルの再生時間からジャンプ再生時間が何秒先か、あるいは、何秒前かを割り出す。
ステップ１０５で、ファイル制御部１８は、割り出した先から、インデックスファイルを１ＧＯＰ（Ｌバイト）単位で、インデックスファイル格納部１４から読み出す命令を出す。
ステップ１０６で、ファイル制御部１８は、インデックスファイル格納部１４から１ＧＯＰ（Ｌバイト）単位で読み出したインデックスファイルを一時記憶部１３に書き込む命令を出す。
ステップ１０７で、ファイル制御部１８は、一時記憶部１３に書き込んだインデックスファイルを１行（Ｎバイト）づつ読み出す命令を出し、１行（Ｎバイト）づつ読み出したインデックスファイルの１行毎に記述されている再生時間を確認し、映像データ制御部１９へ確認した再生時間を通知する命令を出す。
ステップ１０８で、映像データ制御部１９は、ファイル制御部１８から受け取った再生時間に対応する、配信要求のあった符号化映像データを符号化映像データ格納部１５から読み出す命令を出し、読み出した符号化映像データを送信部１６へ送信する命令を出す。
ステップ１０９で、送信部１６から再生端末２０に符号化映像データを配信する。
ステップ１１０で、再生端末２０の受信部２２は、符号化映像データを受信し、復号部２３で復号し、表示部２５で再生する。
【００２０】
ジャンプ再生の場合、読み取り制御部１２のファイル制御部１８は、インデックスファイル格納部１４からのインデックスファイルの１ＧＯＰ（Ｌバイト）単位での読み出しを一時停止し、さらに、この一時停止した時に最後に１ＧＯＰ（Ｌバイト）単位でインデックスファイル格納部１４から読み出したインデックスファイルの再生時間を確認する。さらに、ファイル制御部１８は、この確認した再生時間をもとに、インデックスファイルの読み出し先ＧＯＰを割り出す。
図５は、図４のフローチャートにおける、ステップ１１１のより詳細な処理手順の一例説明するための図である。
図５に示すように、ジャンプ再生先が現再生時点から先の場合、例えば、一時停止した時に１ＧＯＰ（Ｌバイト）単位で最後に読み出した再生時間を１０秒目、ジャンプ再生時間を４０秒目とした場合、両者を比較すると、最後に読み込んだインデックスファイルの再生時間からの差分は４０秒−１０秒＝３０秒先、３０秒×２ＧＯＰ＝６０ＧＯＰ先と分かる。
ファイル制御部１８は、１０秒（２０ＧＯＰ）目の次の２１ＧＯＰ目から数えて６０ＧＯＰ（６０ＧＯＰ×Ｌバイト）目からインデックスファイルを１ＧＯＰ（Ｌバイト）単位で、インデックスファイル格納部１４から読み出す。
【００２１】
図６は、図４のフローチャートにおける、ステップ１１１のより詳細な処理手順の他の例を説明するための図である。
図６に示すように、ジャンプ再生先が現再生時点から戻る場合、例えば、一時停止した時に最後に読み出したインデックスファイルの再生時間を３０秒、ジャンプ再生時間を１０秒とした場合、両者を比較すると、最後に読み込んだインデックスファイルの再生時間から戻る分は３０秒−１０秒＝２０秒、２０秒×２ＧＯＰ＝４０ＧＯＰ分戻る事が分かる。
読み取り制御部１２は、３０秒（６０ＧＯＰ）目の１つ前の５９ＧＯＰ目から４０ＧＯＰ（４０ＧＯＰ×Ｌバイト）戻り、この戻った２０ＧＯＰ目からインデックスファイルを１ＧＯＰ（Ｌバイト）単位で、インデックスファイル格納部１４から読み出す。
以上説明したように、本実施例によれば、ハードディスクからのインデックッスファイルの読み取り単位を１ＧＯＰ（＝１５フレーム＝０．５秒＝Ｌバイト）とし、１ＧＯＰ（Ｌバイト）単位で読み出すため、処理速度の遅いハードディスクヘのアクセス回数が減少する。また、行単位でのインデックスファイル読み出しは一時記憶部１３からになるため、処理速度をあげることができる。
さらに、再生がジャンプした場合においても、何ＧＯＰ先、あるいは何ＧＯＰ前を読み込めば、要求されたジャンプ位置情報を取得できるかが簡単に分かり、再生位置のサーチ処理速度を向上させることができる。なお、前述の説明では、１ＧＯＰは１５フレームであるが、１ＧＯＰは必ずしも１５フレームである必要はない。
なお、本発明の配信サーバは、コンピュータで実行することも可能である。この場合、本発明のファイル読み取り方法は、コンピュータ内のハードディスクなどに格納されるプログラムを、コンピュータが実行することにより行われる。そして、このプログラムは、ＣＤ−ＲＯＭ、あるいは、ネットワークを介したダウンロードにより供給される。
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【符号の説明】
【００２２】
１０  配信サーバ
１１  受信部
１２  読み取り制御部
１３  一時記憶部
１４  インデックスファイル格納部
１５  符号化映像データ格納部
１６  送信部
１７  要求判断部
１８  ファイル制御部
１９  映像データ制御部
２０  再生端末
２１  送信部
２２  受信部
２３  復号部
２４  再生要求部
２５  表示部
３０  ネットワーク
【図１】
2010187077.tif 000003
【図２】
2010187077.tif 000004
【図３】
2010187077.tif 000005
【図４】
2010187077.tif 000006
【図５】
2010187077.tif 000007
【図６】
2010187077.tif 000008