(57)【要約】【課題】事前算出法のように、コンテンツファイルを読み込む際に、事前にタイムテーブルを生成することなく、任意の再生開始位置が指定されても、シーク再生要求に対するレスポンスを高めることができるようにする。【解決手段】フレーム検索履歴リスト４の中から、再生開始位置指定受付部３から出力された指定情報が示す再生開始位置に最も近い再生開始位置を検索する近傍位置検索部５と、コンテンツを構成しているフレームのうち、再生開始位置が近傍位置検索部５により検索された再生開始位置に近いフレームから順番に走査して、再生開始位置が上記指定情報が示す再生開始位置に最も近いフレームを検索するフレーム検索部６とを設ける。【選択図】図１
2010146602.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツの再生開始位置の指定を受け付けて、上記再生開始位置を示す指定情報を出力する再生開始位置指定受付手段と、上記コンテンツを構成しているフレームのうち、一部のフレームの再生開始位置を記録している検索履歴リストの中から、上記再生開始位置指定受付手段から出力された指定情報が示す再生開始位置に最も近い再生開始位置を検索する近傍位置検索手段と、上記コンテンツを構成しているフレームのうち、再生開始位置が上記近傍位置検索手段により検索された再生開始位置に近いフレームから順番に走査して、再生開始位置が上記指定情報が示す再生開始位置に最も近いフレームを検索するフレーム検索手段と、上記フレーム検索手段により検索されたフレームの再生開始位置を上記検索履歴リストに追記するリスト更新手段と、上記フレーム検索手段により検索されたフレームからコンテンツを再生するコンテンツ再生手段とを備えたコンテンツ再生装置。
【請求項２】
フレーム検索手段は、各フレームのヘッダ情報に格納されている再生時刻が前フレームからの差分時間で表わされている場合、近傍位置検索手段により検索された再生開始位置に対応する再生時刻に対して、上記ヘッダ情報に格納されている差分時間を順番に加算又は減算し、その加算又は減算の結果と再生開始位置指定受付手段から出力された指定情報が示す再生開始位置に対応する再生時刻とを比較することで、上記指定情報が示す再生開始位置に最も近いフレームを検索することを特徴とする請求項１記載のコンテンツ再生装置。
【請求項３】
リスト更新手段は、フレーム検索手段により検索されたフレームの再生開始位置として、上記再生開始位置に対応する再生時刻を検索履歴リストに記録することを特徴とする請求項２記載のコンテンツ再生装置。
【請求項４】
リスト更新手段は、フレーム検索手段により検索されたフレームの再生開始位置と同一又は略同一の再生開始位置が既に検索履歴リストに記録されている場合、上記検索履歴リストに対する上記再生開始位置の追記を取り止めることを特徴とする請求項１から請求項３のうちのいずれか１項記載のコンテンツ再生装置。
【請求項５】
再生開始位置指定受付手段がコンテンツの再生開始位置の指定を受け付けて、上記再生開始位置を示す指定情報を出力する再生開始位置指定受付ステップと、上記コンテンツを構成しているフレームのうち、一部のフレームの再生開始位置を記録している検索履歴リストの中から、近傍位置検索手段が上記再生開始位置指定受付ステップによって出力された指定情報が示す再生開始位置に最も近い再生開始位置を検索する近傍位置検索ステップと、フレーム検索手段が上記コンテンツを構成しているフレームのうち、再生開始位置が上記近傍位置検索ステップで検索された再生開始位置に近いフレームから順番に走査して、再生開始位置が上記指定情報が示す再生開始位置に最も近いフレームを検索するフレーム検索ステップと、リスト更新手段が上記フレーム検索ステップで検索されたフレームの再生開始位置を上記検索履歴リストに追記するリスト更新ステップと、コンテンツ再生手段が上記フレーム検索ステップで検索されたフレームからコンテンツを再生するコンテンツ再生ステップとを備えたコンテンツ再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ユーザが指定する位置からコンテンツを再生する機能を有するコンテンツ再生装置及びコンテンツ再生方法に関するものである。
【背景技術】
【０００２】
映像や音声などのマルチメディアデータを格納しているコンテンツファイルは、ヘッダ情報とマルチメディアデータの２階層で構成されているものが多く、ヘッダ情報には、再生可能単位（以降、「フレーム」と称する）の再生時刻などが記録されている。
また、フレームの再生時刻は、コンテンツの先頭からの相対時刻ではなく、前フレームからの相対時刻で表わされているヘッダフォーマットが多い。
このようなヘッダフォーマットは、ヘッダサイズの削減や、次フレームを再生するまでのＷａｉｔ時間の算出処理の削減が可能になる利点があり、ＭＰ４や３ＧＰなどのＩＳＯ標準ファイルフォーマットで採用されている。
【０００３】
コンテンツファイルを再生する装置やプレイヤでは、再生開始ボタンや再生停止ボタンのほかに、特定の再生開始位置を指定することができる機能やユーザインタフェースを備えられているものが多い。以降、再生開始位置を指定して再生を行う機能をシーク再生機能と称する。
このシーク再生機能は、ユーザが、お気に入りのシーンを繰り返し視聴したり、必要のないシーンをスキップして視聴したりする場合に有効である。
しかし、シーク再生を行う場合には、再生を開始するマルチメディアデータ（フレーム）を検索する必要がある。
【０００４】
一般的なフレーム検索方法として逐次算出法がある。
この逐次算出法は、ユーザから再生開始位置Ｓを指定される度に、その再生開始位置Ｓに最も近いフレームを検索する方式である。
一般的に再生開始位置Ｓは、コンテンツの先頭からの相対時刻で与えられる。
したがって、コンテンツの先頭から前フレームとの相対時刻ｄ（ｉ）を順次加算し、その加算結果Σｄが再生開始位置Ｓより大きくなったときのｉ番目のフレームを再生開始対象のフレームとするものである。
【０００５】
逐次算出法の他に、事前算出法も一般的なフレーム検索方法である。
この事前算出法は、コンテンツファイルを読み込む際に、コンテンツの先頭フレームからの相対時刻をフレーム毎に算出して、各フレームにおける先頭フレームからの相対時刻をタイムテーブルなどに格納し、ユーザからシーク再生が要求されたとき、タイムテーブルを参照して、再生開始対象のフレームを検索するものである。
【０００６】
また、以下の特許文献１には、コンテンツファイルを制作する際、フレームデータを決められた数だけグループ化（固定長ブロック化）することで、１つのブロックの再生時間を見積もることができるようにする技術が開示されている。
例えば、１５フレーム／秒の映像フレーム３０個を１つのブロックにすると、１つのブロックの再生時間は２秒間になる。
ここで、１つのブロックの再生時間をＮとすると、ユーザから再生開始位置Ｓが指定された場合、Ｎ×ｉ＜Ｓ＜Ｎ×（ｉ＋１）となるｉ番目のブロックの先頭フレームが再生開始対象のフレームとなる。
【０００７】
また、以下の特許文献２には、ユーザによるシーク再生要求が所定のパターンであるときに、再生開始位置に関する情報を再生開始インデックスとしてリストに記録しておき、再生時には、ユーザが再生開始インデックスのリストを参照して、ひとつの再生開始インデックスを選択し、その再生開始インデックスが示す位置から再生を行う技術が開示されている。
【０００８】
【特許文献１】特開平１１−２７５５２５号公報（段落番号［００１２］）
【特許文献２】特開２００３−２３３９７６号公報（段落番号［００２３］から［００２４］）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来のコンテンツ再生装置は以上のように構成されているので、逐次算出法を用いる場合、ユーザから再生開始位置を指定される度に、コンテンツの先頭から前フレームとの相対時刻ｄ（ｉ）を順次加算する処理を実施する必要がある。このため、ユーザのシーク再生要求に対するレスポンスが遅くなる課題があった。
事前算出法を用いる場合、ユーザのシーク再生要求に対するレスポンスは向上するが、コンテンツファイルを読み込む際に、コンテンツの先頭フレームからの相対時刻をフレーム毎に算出して、各フレームにおける先頭フレームからの相対時刻をタイムテーブルなどに格納する処理を行うため、多くの時間を要する。すべてのユーザがシーク再生を要求するものではないので、事前算出法では、シーク再生を必要としないユーザやサービスにとって不利益な手法である。また、タイムテーブルを記録するためのメモリリソースを確保しなければならない課題があった。
【００１０】
また、特許文献１に開示されている技術では、１つのブロックの再生時間Ｎを大きくすると、ユーザが要求する再生開始位置とのズレが大きくなり、１つのブロックの再生時間Ｎを小さくすると、逐次算出法と同様に、ユーザのシーク再生要求に対するレスポンスが遅くなる課題があった。
また、ブロックの先頭の再生時刻やブロック番号などのブロック情報を事前に算出して、ヘッダなどに格納しておかなければならず、そのようなブロック情報がないＭＰ４や３ＧＰなどのＩＳＯ標準ファイルフォーマットには利用することができない課題があった（ＭＰ４には、チャンクというブロック概念があるが、チャンクの先頭のファイルオフセットのみがヘッダに格納されており、各チャンクの再生開始時刻等は格納されていない）。
【００１１】
特許文献２に開示されている技術では、過去にユーザが要求した再生開始位置（再生開始インデックスに登録されている位置）からしか再生することができず、任意の再生開始位置が指定された場合には、フレーム検索を高速化することができない課題があった。
【００１２】
この発明は上記のような課題を解決するためになされたもので、事前算出法のように、コンテンツファイルを読み込む際に、事前にタイムテーブルを生成することなく、任意の再生開始位置が指定されても、シーク再生要求に対するレスポンスを高めることができるコンテンツ再生装置及びコンテンツ再生方法を得ることを目的とする。
【課題を解決するための手段】
【００１３】
この発明に係るコンテンツ再生装置は、コンテンツを構成しているフレームのうち、一部のフレームの再生開始位置を記録している検索履歴リストの中から、再生開始位置指定受付手段から出力された指定情報が示す再生開始位置に最も近い再生開始位置を検索する近傍位置検索手段と、コンテンツを構成しているフレームのうち、再生開始位置が近傍位置検索手段により検索された再生開始位置に近いフレームから順番に走査して、再生開始位置が上記指定情報が示す再生開始位置に最も近いフレームを検索するフレーム検索手段とを設け、コンテンツ再生手段がフレーム検索手段により検索されたフレームからコンテンツを再生するとともに、リスト更新手段がフレーム検索手段により検索されたフレームの再生開始位置を検索履歴リストに追記するようにしたものである。
【発明の効果】
【００１４】
この発明によれば、コンテンツを構成しているフレームのうち、一部のフレームの再生開始位置を記録している検索履歴リストの中から、再生開始位置指定受付手段から出力された指定情報が示す再生開始位置に最も近い再生開始位置を検索する近傍位置検索手段と、コンテンツを構成しているフレームのうち、再生開始位置が近傍位置検索手段により検索された再生開始位置に近いフレームから順番に走査して、再生開始位置が上記指定情報が示す再生開始位置に最も近いフレームを検索するフレーム検索手段とを設け、コンテンツ再生手段がフレーム検索手段により検索されたフレームからコンテンツを再生するとともに、リスト更新手段がフレーム検索手段により検索されたフレームの再生開始位置を検索履歴リストに追記するように構成したので、事前算出法のように、コンテンツファイルを読み込む際に、事前にタイムテーブルを生成することなく、任意の再生開始位置が指定されても、シーク再生要求に対するレスポンスを高めることができる効果がある。
【発明を実施するための最良の形態】
【００１５】
実施の形態１．
図１はこの発明の実施の形態１によるコンテンツ再生装置を示す構成図である。
図１において、コンテンツ格納部１は例えば映像や音声などのマルチメディアデータを含むコンテンツファイルを記録しているハードディスクなどの記録媒体である。
ファイルアクセス部２はコンテンツ格納部１に記録されているコンテンツファイルからヘッダ情報やマルチメディアデータを抽出する処理を実施する。
【００１６】
再生開始位置指定受付部３は例えばキーボードやマウスなどのマンマシンインタフェース、あるいは、他の装置から送信されるデータを受信する受信機などの通信インタフェースから構成されており、コンテンツの再生開始位置の指定を受け付けて、その再生開始位置を示す指定情報を出力する処理を実施する。なお、再生開始位置指定受付部３は再生開始位置指定受付手段を構成している。
【００１７】
フレーム検索履歴リスト４はコンテンツを構成しているフレームのうち、一部のフレームの再生開始位置を記録しているメモリである。
近傍位置検索部５はフレーム検索履歴リスト４に記録されている再生開始位置の中で、再生開始位置指定受付部３から出力された指定情報が示す再生開始位置に最も近い再生開始位置（以下、「最近傍位置」と称する）を検索する処理を実施する。なお、近傍位置検索部５は近傍位置検索手段を構成している。
【００１８】
フレーム検索部６はコンテンツを構成しているフレームのうち、再生開始位置が近傍位置検索部５により検索された最近傍位置に近いフレームから順番に走査して、再生開始位置が再生開始位置指定受付部３から出力された指定情報が示す再生開始位置に最も近いフレームを検索する処理を実施する。なお、フレーム検索部６はフレーム検索手段を構成している。
【００１９】
履歴リスト更新部７はフレーム検索部６により検索されたフレームの再生開始位置をフレーム検索履歴リスト４に追記する処理を実施する。なお、履歴リスト更新部７はリスト更新手段を構成している。
コンテンツ再生部８はフレーム検索部６により検索されたフレームからコンテンツを再生する処理を実施する。なお、コンテンツ再生部８はコンテンツ再生手段を構成している。
【００２０】
図２はコンテンツファイルのフレーム構成と、４回のシーク再生時におけるフレーム検索履歴リスト４の状態とを示す説明図である。
図３はこの発明の実施の形態１によるコンテンツ再生装置の処理内容を示すフローチャートである。
【００２１】
次に動作について説明する。
この実施形態１では、ユーザから４回のシーク再生を要求された場合を例にして説明する。
コンテンツ格納部１には、図２に示すようなフレーム構成のコンテンツファイルが記録されている。
図２において、ｉはフレーム番号であり、Ｆ（ｉ）はｉ番目のフレームである。
また、ｄ（ｉ）はフレームＦ（ｉ）の再生時刻とフレームＦ（ｉ＋１）の再生時刻との相対時刻である。
相対時刻ｄ（ｉ）は、本来的には任意の時刻であるが、図２の例では、説明の簡単化のため、すべての相対時刻ｄ（ｉ）を１０秒に固定している。
【００２２】
ＭＰ４などのＩＳＯ標準ファイルフォーマットでは、各フレームの再生時刻がヘッダ情報に格納されず、差分時刻だけが格納されるので、コンテンツ格納部１に記録されているコンテンツファイルについても、相対時刻ｄ（ｉ）がヘッダ情報に格納されているものとする。
また、フレーム検索履歴リスト４に記録されるフレームの再生開始位置は、フレーム番号ｉとフレームＦ（ｉ）の再生時刻との対応関係で表わされるものとする。
ここでの再生時刻は、コンテンツの先頭フレームＦ（１）の再生時刻を０秒として、先頭フレームＦ（１）からの相対時刻を示すものである。
【００２３】
まず、ファイルアクセス部２は、コンテンツ格納部１に記録されているコンテンツファイルを開いて、そのコンテンツファイルに含まれているヘッダ情報を抽出し、そのヘッダ情報をフレーム検索部６に出力する（ステップＳＴ１）。
履歴リスト更新部７は、ファイルアクセス部２がコンテンツファイルを開くと、コンテンツの先頭フレームＦ（１）の再生開始位置として、先頭フレームＦ（１）の再生時刻“０秒”をフレーム検索履歴リスト４に記録する（ステップＳＴ２）。
コンテンツファイルを開いた直後の初期時においては、図２に示すように、先頭フレームＦ（１）の再生時刻“０秒”のみがフレーム検索履歴リスト４に記録されている。
【００２４】
再生開始位置指定受付部３は、コンテンツの再生開始位置Ｔの指定を受け付けて、その再生開始位置Ｔを示す指定情報をフレーム検索部６に出力する（ステップＳＴ３，ＳＴ４）。
即ち、再生開始位置指定受付部３は、ユーザが１回目のシーク再生を要求すると（例えば、ユーザがキーボードを用いて秒数を入力することで再生開始位置を指定する操作や、ユーザがスライダーバーを動かして秒数を選択することで再生開始位置を指定する操作などが考えられる）、シーク再生を行う再生開始位置の指定を受け付けて、その再生開始位置を示す指定情報をフレーム検索部６に出力する。
１回目のシーク再生要求では、説明の便宜上、再生開始位置の指定が“３２秒”であるものとする。
【００２５】
フレーム検索部６は、再生開始位置指定受付部３から１回目のシーク再生を行う再生開始位置Ｔを示す指定情報を受けると、その指定情報が示す再生開始位置Ｔ（＝３２秒）に最も近い最近傍位置の検索要求を近傍位置検索部５に出力する。
近傍位置検索部５は、フレーム検索部６から最近傍位置の検索要求を受けると、フレーム検索履歴リスト４に記録されている再生開始位置の中で、再生開始位置Ｔ（＝３２秒）に最も近い最近傍位置を検索する（ステップＳＴ５）。
ただし、この段階では、フレーム検索履歴リスト４には、先頭フレームＦ（１）の再生時刻“０秒”しか記録されていないので、最近傍位置の検索結果として、フレーム番号＝１、再生時刻＝０秒をフレーム検索部６に出力する。
【００２６】
フレーム検索部６は、近傍位置検索部５から最近傍位置の検索結果を受けると、コンテンツを構成しているフレームのうち、再生開始位置が上記最近傍位置に近いフレームから順番に走査して、再生開始位置が再生開始位置Ｔ（＝３２秒）に最も近いフレームを検索する（ステップＳＴ６〜ＳＴ１０）。
即ち、フレーム検索部６は、近傍位置検索部５から最近傍位置の検索結果として、フレーム番号＝１、再生時刻＝０秒が出力されているので、フレームＦ（１）を検索開始フレームに設定する。
【００２７】
フレーム検索部６は、フレームＦ（１）を検索開始フレームに設定すると、ファイルアクセス部２から出力されたヘッダ情報に格納されている相対時刻ｄ（ｉ）を参照して、検索開始フレームであるフレームＦ（１）の再生時刻“０秒”に対して、フレーム番号の昇順方向に相対時刻ｄ（ｉ）を加算する。
【数１】
2010146602.tif 000003
ただし、Ｓは相対時刻ｄ（ｉ）の加算結果である。
【００２８】
フレーム検索部６は、相対時刻ｄ（ｉ）の加算結果Ｓと再生開始位置Ｔ（＝３２秒）を比較し、相対時刻ｄ（ｉ）の加算結果Ｓが再生開始位置Ｔ（＝３２秒）より大きくなったときのｉ番目のフレームを、再生開始位置が再生開始位置Ｔ（＝３２秒）に最も近いフレームＦ（ｘ）とする。
図２の例では、相対時刻ｄ（４）が加算されることにより、加算結果Ｓが再生開始位置Ｔ（＝３２秒）より大きくなるので、フレームＦ（４）が再生開始位置Ｔ（＝３２秒）に該当する再生開始対象フレームになる。
【数２】
2010146602.tif 000004
【００２９】
フレーム検索部６は、上記のようにして、１回目のシーク再生を行うフレームＦ（４）を検索すると、フレームＦ（４）の再生開始位置の記録要求を履歴リスト更新部７に出力する。
なお、フレームＦ（４）の再生開始位置の記録要求には、フレーム番号＝４、再生時刻＝３０秒が含まれている。
【００３０】
履歴リスト更新部７は、フレーム検索部６からフレームＦ（４）の再生開始位置の記録要求を受けると、フレームＦ（４）の再生開始位置と同一又は略同一の再生開始位置が既にフレーム検索履歴リスト４に記録されているか否かを調査する（ステップＳＴ１１）。
例えば、フレーム検索履歴リスト４に記録されている再生時刻の中で、フレームＦ（４）の再生時刻“３０秒”と１０秒以内の再生時刻があるか否かを調査する。
フレームＦ（４）の再生時刻“３０秒”と１０秒以内の再生時刻がある場合、フレームＦ（４）の再生開始位置と同一又は略同一の再生開始位置が既にフレーム検索履歴リスト４に記録されているものと判断する。
【００３１】
履歴リスト更新部７は、フレームＦ（４）の再生開始位置と同一又は略同一の再生開始位置が既にフレーム検索履歴リスト４に記録されていなければ、１回目のシーク再生を行うフレームＦ（４）の再生開始位置をフレーム検索履歴リスト４に記録するが（ステップＳＴ１２）、フレームＦ（４）の再生開始位置と同一又は略同一の再生開始位置が既にフレーム検索履歴リスト４に記録されていれば、フレーム検索履歴リスト４に対するフレームＦ（４）の再生開始位置の追記を取り止めるようにする。
なお、図２の例では、再生時刻が１０秒以内のフレームが存在していないので、フレームＦ（４）の再生時刻“３０秒”を追記している。
【００３２】
フレーム検索部６は、フレームＦ（４）からコンテンツの再生を指示するコンテンツ再生要求をコンテンツ再生部８に出力する。
コンテンツ再生部８は、フレーム検索部６からコンテンツ再生要求を受けると、フレームＦ（４）のマルチメディアデータの取得要求をファイルアクセス部２に出力する。
ファイルアクセス部２は、コンテンツ再生部８からマルチメディアデータの取得要求を受けると、コンテンツファイルのヘッダ情報を参照して、フレームＦ（４）のマルチメディアデータのファイルオフセット値とサイズを特定することで、そのコンテンツファイルからフレームＦ（４）のマルチメディアデータを抽出し、そのマルチメディアデータをコンテンツ再生部８に出力する（ステップＳＴ１３）。
【００３３】
コンテンツ再生部８は、ファイルアクセス部２からフレームＦ（４）のマルチメディアデータを受けると、そのマルチメディアデータにしたがってフレームＦ（４）を再生する（ステップＳＴ１４）。
コンテンツ再生部８は、ユーザから再生停止要求を受けなければ、あるいは、コンテンツファイルの最後に到達していなければ（ステップＳＴ１５）、フレーム番号ｉに“１”を加えて（ステップＳＴ１６）、ステップＳＴ１３の処理に戻り、フレームＦ（５）以降のマルチメディアデータの再生を継続する。
【００３４】
ユーザから再生停止要求を受けた場合、あるいは、コンテンツファイルの最後に到達した場合において、コンテンツファイルを閉じる場合には、一連の処理を終了するが（ステップＳＴ１７）、コンテンツファイルを閉じない場合には、再生開始位置指定受付部３が、さらに、コンテンツの再生開始位置Ｔの指定を受け付けて、その再生開始位置Ｔを示す指定情報をフレーム検索部６に出力する（ステップＳＴ３，ＳＴ４）。
即ち、再生開始位置指定受付部３は、ユーザが２回目のシーク再生を要求すると、シーク再生を行う再生開始位置の指定を受け付けて、その再生開始位置を示す指定情報をフレーム検索部６に出力する。
２回目のシーク再生要求では、説明の便宜上、再生開始位置の指定が“９４秒”であるものとする。
【００３５】
フレーム検索部６は、再生開始位置指定受付部３から２回目のシーク再生を行う再生開始位置Ｔを示す指定情報を受けると、その指定情報が示す再生開始位置Ｔ（＝９４秒）に最も近い最近傍位置の検索要求を近傍位置検索部５に出力する。
近傍位置検索部５は、フレーム検索部６から最近傍位置の検索要求を受けると、フレーム検索履歴リスト４に記録されている再生開始位置の中で、再生開始位置Ｔ（＝９４秒）に最も近い最近傍位置を検索する（ステップＳＴ５）。
この段階では、フレーム検索履歴リスト４には、先頭フレームＦ（１）の再生時刻“０秒”とフレームＦ（４）の再生時刻“３０秒”が記録されており、フレームＦ（４）の再生時刻“３０秒”の方が、再生開始位置Ｔ（＝９４秒）に近いので、最近傍位置の検索結果として、フレーム番号＝４、再生時刻＝３０秒をフレーム検索部６に出力する。
【００３６】
フレーム検索部６は、近傍位置検索部５から最近傍位置の検索結果を受けると、コンテンツを構成しているフレームのうち、再生開始位置が上記最近傍位置に近いフレームから順番に走査して、再生開始位置が再生開始位置Ｔ（＝９４秒）に最も近いフレームを検索する（ステップＳＴ６〜ＳＴ１０）。
即ち、フレーム検索部６は、近傍位置検索部５から最近傍位置の検索結果として、フレーム番号＝４、再生時刻＝３０秒が出力されているので、フレームＦ（４）を検索開始フレームに設定する。
【００３７】
フレーム検索部６は、フレームＦ（４）を検索開始フレームに設定すると、ファイルアクセス部２から出力されたヘッダ情報に格納されている相対時刻ｄ（ｉ）を参照して、検索開始フレームであるフレームＦ（４）の再生時刻“３０秒”に対して、フレーム番号の昇順方向に相対時刻ｄ（ｉ）を加算する。
【数３】
2010146602.tif 000005
ただし、Ｓは相対時刻ｄ（ｉ）の加算結果である。
【００３８】
フレーム検索部６は、相対時刻ｄ（ｉ）の加算結果Ｓと再生開始位置Ｔ（＝９４秒）を比較し、相対時刻ｄ（ｉ）の加算結果Ｓが再生開始位置Ｔ（＝９４秒）より大きくなったときのｉ番目のフレームを、再生開始位置が再生開始位置Ｔ（＝９４秒）に最も近いフレームＦ（ｘ）とする。
図２の例では、相対時刻ｄ（１０）が加算されることにより、加算結果Ｓが再生開始位置Ｔ（＝９４秒）より大きくなるので、フレームＦ（１０）が再生開始位置Ｔ（＝９４秒）に該当する再生開始対象フレームになる。
【数４】
2010146602.tif 000006
【００３９】
フレーム検索部６は、上記のようにして、２回目のシーク再生を行うフレームＦ（１０）を検索すると、フレームＦ（１０）の再生開始位置の記録要求を履歴リスト更新部７に出力する。
なお、フレームＦ（１０）の再生開始位置の記録要求には、フレーム番号＝１０、再生時刻＝９０秒が含まれている。
【００４０】
履歴リスト更新部７は、フレーム検索部６からフレームＦ（１０）の再生開始位置の記録要求を受けると、フレームＦ（１０）の再生開始位置と同一又は略同一の再生開始位置が既にフレーム検索履歴リスト４に記録されているか否かを調査する（ステップＳＴ１１）。
例えば、フレーム検索履歴リスト４に記録されている再生時刻の中で、フレームＦ（１０）の再生時刻“９０秒”と１０秒以内の再生時刻があるか否かを調査する。
フレームＦ（１０）の再生時刻“９０秒”と１０秒以内の再生時刻がある場合、フレームＦ（１０）の再生開始位置と同一又は略同一の再生開始位置が既にフレーム検索履歴リスト４に記録されているものと判断する。
【００４１】
履歴リスト更新部７は、フレームＦ（１０）の再生開始位置と同一又は略同一の再生開始位置が既にフレーム検索履歴リスト４に記録されていなければ、２回目のシーク再生を行うフレームＦ（１０）の再生開始位置をフレーム検索履歴リスト４に記録するが（ステップＳＴ１２）、フレームＦ（１０）の再生開始位置と同一又は略同一の再生開始位置が既にフレーム検索履歴リスト４に記録されていれば、フレーム検索履歴リスト４に対するフレームＦ（１０）の再生開始位置の追記を取り止めるようにする。
なお、図２の例では、再生時刻が１０秒以内のフレームが存在していないので、フレームＦ（１０）の再生時刻“９０秒”を追記している。
図２では、再生時刻を昇順にソートして追記しているが、単純にリストの最後に追記するようにしてもよいし、フレーム番号をソートして追記するようにしてもよい。
【００４２】
フレーム検索部６は、フレームＦ（１０）からコンテンツの再生を指示するコンテンツ再生要求をコンテンツ再生部８に出力する。
コンテンツ再生部８は、フレーム検索部６からコンテンツ再生要求を受けると、フレームＦ（１０）のマルチメディアデータの取得要求をファイルアクセス部２に出力する。
ファイルアクセス部２は、コンテンツ再生部８からマルチメディアデータの取得要求を受けると、コンテンツファイルのヘッダ情報を参照して、フレームＦ（１０）のマルチメディアデータのファイルオフセット値とサイズを特定することで、そのコンテンツファイルからフレームＦ（１０）のマルチメディアデータを抽出し、そのマルチメディアデータをコンテンツ再生部８に出力する（ステップＳＴ１３）。
【００４３】
コンテンツ再生部８は、ファイルアクセス部２からフレームＦ（１０）のマルチメディアデータを受けると、そのマルチメディアデータにしたがってフレームＦ（１０）を再生する（ステップＳＴ１４）。
コンテンツ再生部８は、ユーザから再生停止要求を受けなければ、あるいは、コンテンツファイルの最後に到達していなければ（ステップＳＴ１５）、フレーム番号ｉに“１”を加えて（ステップＳＴ１６）、ステップＳＴ１３の処理に戻り、フレームＦ（１１）以降のマルチメディアデータの再生を継続する。
【００４４】
ユーザから再生停止要求を受けた場合、あるいは、コンテンツファイルの最後に到達した場合において、コンテンツファイルを閉じる場合には、一連の処理を終了するが（ステップＳＴ１７）、コンテンツファイルを閉じない場合には、再生開始位置指定受付部３が、さらに、コンテンツの再生開始位置Ｔの指定を受け付けて、その再生開始位置Ｔを示す指定情報をフレーム検索部６に出力する（ステップＳＴ３，ＳＴ４）。
即ち、再生開始位置指定受付部３は、ユーザが３回目のシーク再生を要求すると、シーク再生を行う再生開始位置の指定を受け付けて、その再生開始位置を示す指定情報をフレーム検索部６に出力する。
３回目のシーク再生要求では、説明の便宜上、再生開始位置の指定が“５５秒”であるもとする。
【００４５】
フレーム検索部６は、再生開始位置指定受付部３から３回目のシーク再生を行う再生開始位置Ｔを示す指定情報を受けると、その指定情報が示す再生開始位置Ｔ（＝５５秒）に最も近い最近傍位置の検索要求を近傍位置検索部５に出力する。
近傍位置検索部５は、フレーム検索部６から最近傍位置の検索要求を受けると、フレーム検索履歴リスト４に記録されている再生開始位置の中で、再生開始位置Ｔ（＝５５秒）に最も近い最近傍位置を検索する（ステップＳＴ５）。
この段階では、フレーム検索履歴リスト４には、先頭フレームＦ（１）の再生時刻“０秒”と、フレームＦ（４）の再生時刻“３０秒”と、フレームＦ（１０）の再生時刻“９０秒”とが記録されており、フレームＦ（４）の再生時刻“３０秒”が、再生開始位置Ｔ（＝５５秒）に最も近いので、最近傍位置の検索結果として、フレーム番号＝４、再生時刻＝３０秒をフレーム検索部６に出力する。
【００４６】
フレーム検索部６は、近傍位置検索部５から最近傍位置の検索結果を受けると、コンテンツを構成しているフレームのうち、再生開始位置が上記最近傍位置に近いフレームから順番に走査して、再生開始位置が再生開始位置Ｔ（＝５５秒）に最も近いフレームを検索する（ステップＳＴ６〜ＳＴ１０）。
即ち、フレーム検索部６は、近傍位置検索部５から最近傍位置の検索結果として、フレーム番号＝４、再生時刻＝３０秒が出力されているので、フレームＦ（４）を検索開始フレームに設定する。
【００４７】
フレーム検索部６は、フレームＦ（４）を検索開始フレームに設定すると、ファイルアクセス部２から出力されたヘッダ情報に格納されている相対時刻ｄ（ｉ）を参照して、検索開始フレームであるフレームＦ（４）の再生時刻“３０秒”に対して、フレーム番号の昇順方向に相対時刻ｄ（ｉ）を加算する。
【数５】
2010146602.tif 000007
ただし、Ｓは相対時刻ｄ（ｉ）の加算結果である。
【００４８】
フレーム検索部６は、相対時刻ｄ（ｉ）の加算結果Ｓと再生開始位置Ｔ（＝５５秒）を比較し、相対時刻ｄ（ｉ）の加算結果Ｓが再生開始位置Ｔ（＝５５秒）より大きくなったときのｉ番目のフレームを、再生開始位置が再生開始位置Ｔ（＝５５秒）に最も近いフレームＦ（ｘ）とする。
図２の例では、相対時刻ｄ（６）が加算されることにより、加算結果Ｓが再生開始位置Ｔ（＝５５秒）より大きくなるので、フレームＦ（６）が再生開始位置Ｔ（＝５５秒）に該当する再生開始対象フレームになる。
【数６】
2010146602.tif 000008
【００４９】
フレーム検索部６は、上記のようにして、３回目のシーク再生を行うフレームＦ（６）を検索すると、フレームＦ（６）の再生開始位置の記録要求を履歴リスト更新部７に出力する。
なお、フレームＦ（６）の再生開始位置の記録要求には、フレーム番号＝６、再生時刻＝５０秒が含まれている。
【００５０】
履歴リスト更新部７は、フレーム検索部６からフレームＦ（６）の再生開始位置の記録要求を受けると、フレームＦ（６）の再生開始位置と同一又は略同一の再生開始位置が既にフレーム検索履歴リスト４に記録されているか否かを調査する（ステップＳＴ１１）。
例えば、フレーム検索履歴リスト４に記録されている再生時刻の中で、フレームＦ（６）の再生時刻“５０秒”と１０秒以内の再生時刻があるか否かを調査する。
フレームＦ（６）の再生時刻“５０秒”と１０秒以内の再生時刻がある場合、フレームＦ（６）の再生開始位置と同一又は略同一の再生開始位置が既にフレーム検索履歴リスト４に記録されているものと判断する。
【００５１】
履歴リスト更新部７は、フレームＦ（６）の再生開始位置と同一又は略同一の再生開始位置が既にフレーム検索履歴リスト４に記録されていなければ、３回目のシーク再生を行うフレームＦ（６）の再生開始位置をフレーム検索履歴リスト４に記録するが（ステップＳＴ１２）、フレームＦ（６）の再生開始位置と同一又は略同一の再生開始位置が既にフレーム検索履歴リスト４に記録されていれば、フレーム検索履歴リスト４に対するフレームＦ（６）の再生開始位置の追記を取り止めるようにする。
なお、図２の例では、再生時刻が１０秒以内のフレームが存在していないので、フレームＦ（６）の再生時刻“５０秒”を追記している。
【００５２】
フレーム検索部６は、フレームＦ（６）からコンテンツの再生を指示するコンテンツ再生要求をコンテンツ再生部８に出力する。
コンテンツ再生部８は、フレーム検索部６からコンテンツ再生要求を受けると、フレームＦ（６）のマルチメディアデータの取得要求をファイルアクセス部２に出力する。
ファイルアクセス部２は、コンテンツ再生部８からマルチメディアデータの取得要求を受けると、コンテンツファイルのヘッダ情報を参照して、フレームＦ（６）のマルチメディアデータのファイルオフセット値とサイズを特定することで、そのコンテンツファイルからフレームＦ（６）のマルチメディアデータを抽出し、そのマルチメディアデータをコンテンツ再生部８に出力する（ステップＳＴ１３）。
【００５３】
コンテンツ再生部８は、ファイルアクセス部２からフレームＦ（６）のマルチメディアデータを受けると、そのマルチメディアデータにしたがってフレームＦ（６）を再生する（ステップＳＴ１４）。
コンテンツ再生部８は、ユーザから再生停止要求を受けなければ、あるいは、コンテンツファイルの最後に到達していなければ（ステップＳＴ１５）、フレーム番号ｉに“１”を加えて（ステップＳＴ１６）、ステップＳＴ１３の処理に戻り、フレームＦ（７）以降のマルチメディアデータの再生を継続する。
【００５４】
ユーザから再生停止要求を受けた場合、あるいは、コンテンツファイルの最後に到達した場合において、コンテンツファイルを閉じる場合には、一連の処理を終了するが（ステップＳＴ１７）、コンテンツファイルを閉じない場合には、再生開始位置指定受付部３が、さらに、コンテンツの再生開始位置Ｔの指定を受け付けて、その再生開始位置Ｔを示す指定情報をフレーム検索部６に出力する（ステップＳＴ３，ＳＴ４）。
即ち、再生開始位置指定受付部３は、ユーザが４回目のシーク再生を要求すると、シーク再生を行う再生開始位置の指定を受け付けて、その再生開始位置を示す指定情報をフレーム検索部６に出力する。
４回目のシーク再生要求では、説明の便宜上、再生開始位置の指定が“１０５秒”であるもとする。
【００５５】
フレーム検索部６は、再生開始位置指定受付部３から４回目のシーク再生を行う再生開始位置Ｔを示す指定情報を受けると、その指定情報が示す再生開始位置Ｔ（＝１０５秒）に最も近い最近傍位置の検索要求を近傍位置検索部５に出力する。
近傍位置検索部５は、フレーム検索部６から最近傍位置の検索要求を受けると、フレーム検索履歴リスト４に記録されている再生開始位置の中で、再生開始位置Ｔ（＝１０５秒）に最も近い最近傍位置を検索する（ステップＳＴ５）。
この段階では、フレーム検索履歴リスト４には、先頭フレームＦ（１）の再生時刻“０秒”と、フレームＦ（４）の再生時刻“３０秒”と、フレームＦ（６）の再生時刻“５０秒”と、フレームＦ（１０）の再生時刻“９０秒”とが記録されており、フレームＦ（１０）の再生時刻“９０秒”が、再生開始位置Ｔ（＝１０５秒）に最も近いので、最近傍位置の検索結果として、フレーム番号＝１０、再生時刻＝９０秒をフレーム検索部６に出力する。
【００５６】
フレーム検索部６は、近傍位置検索部５から最近傍位置の検索結果を受けると、コンテンツを構成しているフレームのうち、再生開始位置が上記最近傍位置に近いフレームから順番に走査して、再生開始位置が再生開始位置Ｔ（＝１０５秒）に最も近いフレームを検索する（ステップＳＴ６〜ＳＴ１０）。
即ち、フレーム検索部６は、近傍位置検索部５から最近傍位置の検索結果として、フレーム番号＝１０、再生時刻＝９０秒が出力されているので、フレームＦ（１０）を検索開始フレームに設定する。
【００５７】
フレーム検索部６は、フレームＦ（１０）を検索開始フレームに設定すると、ファイルアクセス部２から出力されたヘッダ情報に格納されている相対時刻ｄ（ｉ）を参照して、検索開始フレームであるフレームＦ（１０）の再生時刻“９０秒”に対して、フレーム番号の昇順方向に相対時刻ｄ（ｉ）を加算する。
【数７】
2010146602.tif 000009
ただし、Ｓは相対時刻ｄ（ｉ）の加算結果である。
【００５８】
フレーム検索部６は、相対時刻ｄ（ｉ）の加算結果Ｓと再生開始位置Ｔ（＝１０５秒）を比較し、相対時刻ｄ（ｉ）の加算結果Ｓが再生開始位置Ｔ（＝１０５秒）より大きくなったときのｉ番目のフレームを、再生開始位置が再生開始位置Ｔ（＝１０５秒）に最も近いフレームＦ（ｘ）とする。
図２の例では、相対時刻ｄ（１１）が加算されることにより、加算結果Ｓが再生開始位置Ｔ（＝１０５秒）より大きくなるので、フレームＦ（１１）が再生開始位置Ｔ（＝１０５秒）に該当する再生開始対象フレームになる。
【数８】
2010146602.tif 000010
【００５９】
フレーム検索部６は、上記のようにして、４回目のシーク再生を行うフレームＦ（１１）を検索すると、フレームＦ（１１）の再生開始位置の記録要求を履歴リスト更新部７に出力する。
なお、フレームＦ（１１）の再生開始位置の記録要求には、フレーム番号＝１１、再生時刻＝１００秒が含まれている。
【００６０】
履歴リスト更新部７は、フレーム検索部６からフレームＦ（１１）の再生開始位置の記録要求を受けると、フレームＦ（１１）の再生開始位置と同一又は略同一の再生開始位置が既にフレーム検索履歴リスト４に記録されているか否かを調査する（ステップＳＴ１１）。
例えば、フレーム検索履歴リスト４に記録されている再生時刻の中で、フレームＦ（１１）の再生時刻“１００秒”と１０秒以内の再生時刻があるか否かを調査する。
フレームＦ（１１）の再生時刻“１００秒”と１０秒以内の再生時刻がある場合、フレームＦ（１１）の再生開始位置と同一又は略同一の再生開始位置が既にフレーム検索履歴リスト４に記録されているものと判断する。
【００６１】
履歴リスト更新部７は、フレームＦ（１１）の再生開始位置と同一又は略同一の再生開始位置が既にフレーム検索履歴リスト４に記録されていなければ、４回目のシーク再生を行うフレームＦ（１１）の再生開始位置をフレーム検索履歴リスト４に記録するが（ステップＳＴ１２）、フレームＦ（１１）の再生開始位置と同一又は略同一の再生開始位置が既にフレーム検索履歴リスト４に記録されていれば、フレーム検索履歴リスト４に対するフレームＦ（１１）の再生開始位置の追記を取り止めるようにする。
なお、図２の例では、再生時刻が１０秒以内のフレーム（１０）が存在しているので、フレームＦ（１１）の再生時刻“１００秒”の追記を取り止めている。
【００６２】
フレーム検索部６は、フレームＦ（１１）からコンテンツの再生を指示するコンテンツ再生要求をコンテンツ再生部８に出力する。
コンテンツ再生部８は、フレーム検索部６からコンテンツ再生要求を受けると、フレームＦ（１１）のマルチメディアデータの取得要求をファイルアクセス部２に出力する。
ファイルアクセス部２は、コンテンツ再生部８からマルチメディアデータの取得要求を受けると、コンテンツファイルのヘッダ情報を参照して、フレームＦ（１１）のマルチメディアデータのファイルオフセット値とサイズを特定することで、そのコンテンツファイルからフレームＦ（１１）のマルチメディアデータを抽出し、そのマルチメディアデータをコンテンツ再生部８に出力する（ステップＳＴ１３）。
【００６３】
コンテンツ再生部８は、ファイルアクセス部２からフレームＦ（１１）のマルチメディアデータを受けると、そのマルチメディアデータにしたがってフレームＦ（１１）を再生する（ステップＳＴ１４）。
コンテンツ再生部８は、ユーザから再生停止要求を受けなければ、あるいは、コンテンツファイルの最後に到達していなければ（ステップＳＴ１５）、フレーム番号ｉに“１”を加えて（ステップＳＴ１６）、ステップＳＴ１３の処理に戻り、フレームＦ（１２）以降のマルチメディアデータの再生を継続する。
ユーザから再生停止要求を受けた場合、あるいは、コンテンツファイルの最後に到達した場合において、コンテンツファイルを閉じる場合には、一連の処理を終了する（ステップＳＴ１７）。
【００６４】
以上で明らかなように、この実施の形態１によれば、コンテンツを構成しているフレームのうち、一部のフレームの再生開始位置を記録しているフレーム検索履歴リスト４の中から、再生開始位置指定受付部３から出力された指定情報が示す再生開始位置に最も近い再生開始位置を検索する近傍位置検索部５と、コンテンツを構成しているフレームのうち、再生開始位置が近傍位置検索部５により検索された再生開始位置に近いフレームから順番に走査して、再生開始位置が上記指定情報が示す再生開始位置に最も近いフレームを検索するフレーム検索部６とを設け、コンテンツ再生部８がフレーム検索部６により検索されたフレームからコンテンツを再生するとともに、履歴リスト更新部７がフレーム検索部６により検索されたフレームの再生開始位置をフレーム履歴リスト４に追記するように構成したので、事前算出法のように、コンテンツファイルを読み込む際に、事前にタイムテーブルを生成することなく、任意の再生開始位置が指定されても、シーク再生要求に対するレスポンスを高めることができる効果を奏する。
【００６５】
また、この実施の形態１によれば、フレーム検索部６により検索されたフレームの再生開始位置と同一又は略同一の再生開始位置が既にフレーム検索履歴リスト４に記録されている場合、履歴リスト更新部７がフレーム検索履歴リスト４に対する上記再生開始位置の追記を取り止めるように構成したので、フレーム検索履歴リスト４のリスト長が限られていても、時間的に分散しているフレームの再生開始位置を記録することができるようになる。換言すると、ユーザが同じような再生開始位置ばかりを指定しても、フレーム検索履歴リスト４に対する冗長な再生開始位置の記録が避けられるようになる。
その結果、フレーム検索部６の検索性能を高めることができる効果を奏する。
【００６６】
なお、この実施の形態１では、フレーム検索部６が検索開始フレームを設定すると、その検索開始フレームの再生時刻に対して、フレーム番号の昇順方向に相対時刻ｄ（ｉ）を加算するものについて示したが、フレーム検索部６は、再生開始位置指定受付部３から出力された指定情報が示す再生開始位置Ｔに対応する再生時刻が、検索開始フレームの再生時刻より早い場合（例えば、再生開始位置Ｔ（＝８８秒）＜検索開始フレームであるフレームＦ（１０）の再生時刻“９０”秒）、その検索開始フレームの再生時刻に対して、フレーム番号の降順方向に相対時刻ｄ（ｉ）を減算するようにする。
これにより、ユーザにより指定された再生開始位置Ｔに対応する再生時刻が、検索開始フレームの再生時刻より早い場合でも、適正なフレームを検索することができる。
【図面の簡単な説明】
【００６７】
【図１】この発明の実施の形態１によるコンテンツ再生装置を示す構成図である。
【図２】コンテンツファイルのフレーム構成と、４回のシーク再生時におけるフレーム検索履歴リストの状態とを示す説明図である。
【図３】この発明の実施の形態１によるコンテンツ再生装置の処理内容を示すフローチャートである。
【符号の説明】
【００６８】
１  コンテンツ格納部、２  ファイルアクセス部、３  再生開始位置指定受付部（再生開始位置指定受付手段）、４  フレーム検索履歴リスト、５  近傍位置検索部（近傍位置検索手段）、６  フレーム検索部（フレーム検索手段）、７  履歴リスト更新部（リスト更新手段）、８  コンテンツ再生部（コンテンツ再生手段）。
【図１】
2010146602.tif 000011
【図２】
2010146602.tif 000012
【図３】
2010146602.tif 000013