(57)【要約】【課題】ストレージの効率的な利用とレスポンスの向上とを、両方満たせるようにする。【解決手段】記憶部１０１にはデータが蓄積される。読み出し制御部１０３は、記憶部１０１からのデータの読み出しを制御する。キャッシュ１０４，１０５は、読み出し制御部１０３が読み出したデータを一時的に保持する。データ送受信制御部１１０は、外部装置２００から入力されるデータ取得要求に基づいて、キャッシュ１０４，１０５に保持されたデータを読み出して外部装置２００に出力する。そして、読み出し制御部１０３が、記憶部１０１から読み出すデータの大きさを、予め定められた最小のサイズである第１のサイズから予め定められた最大のサイズである第２のサイズまでの間で段階的に大きくする。【選択図】図３
2012221156.tif 000002
【特許請求の範囲】
【請求項１】
データが蓄積される記憶部と、
前記記憶部からの前記データの読み出しを制御する読み出し制御部と、
前記読み出し制御部が読み出した前記データを一時的に保持するキャッシュと、
外部装置から入力されるデータ取得要求に基づいて、前記キャッシュに保持された前記データを読み出して前記外部装置に出力するデータ送受信制御部とを備え、
前記読み出し制御部は、前記記憶部から読み出すデータの大きさを、予め定められた最小のサイズである第１のサイズから予め定められた最大のサイズである第２のサイズまでの間で段階的に大きくしながら、前記データを前記記憶部から読み出して前記キャッシュに出力する
再生装置。
【請求項２】
前記第１のサイズおよび、前記第１のサイズより大きく前記第２のサイズより小さい各読み出しサイズは、前記読み出し制御部が前記記憶部から前記データを読み出す速度である第１の速度および、前記データ送受信制御部が前記キャッシュから前記データを読み出す速度である第２の速度に基づいて算出される
請求項１に記載の再生装置。
【請求項３】
前記第２の速度は前記第１の速度よりも遅く、前記第１のサイズおよび、前記第１のサイズより大きく前記第２のサイズより小さい各読み出しサイズは、前記キャッシュに保持されたすべてのデータを前記読み出し制御部が読み出すまでの間に、前記読み出し制御部が前記記憶部から読み出せる最大のサイズとして算出される
請求項２に記載の再生装置。
【請求項４】
前記データは音声データおよび映像データであり、前記読み出し制御部および前記データ送受信制御部が前記データの読み出しを行う単位はフレームである
請求項３に記載の再生装置。
【請求項５】
前記読み出し制御部の読み出し速度をｘ、前記読み出し制御部が読み出す前記データのサイズをＳ、前記データ送受信制御部が前記Ｓのサイズのデータを読み出す時間をＴとすると、前記読み出し制御部が前記記憶部からｎ回目に前記データを読み出す場合のフレーム数であるｊは、前記読み出し制御部が前記ｊフレームを読み出す時間であるＴ（ｊ）が、前記ｉフレームのデータサイズであるＳ（ｉ）を前記データ送受信制御部が読み出す時間で除算した値であるＳ（ｉ）／ｘよりも小さくなる値であり、かつ、前記読み出し制御部が前記記憶部からｎ−１回目に読み出したデータのフレーム数であるｉよりも大きな値に設定される
請求項４に記載の再生装置。
【請求項６】
前記読み出し制御部が読み出した前記データを一時的に保持する第２のキャッシュと、操作部を通して入力される第２のデータ取得要求に基づいて、前記第２のキャッシュに保持された前記データを読み出して再生する再生処理部とをさらに備え、
前記読み出し制御部は、前記データ取得要求または前記第２のデータ取得要求において示されたデータのアクセス開始位置が、前回アクセスした位置と連続していない場合に、前記第１のサイズで前記記憶部から前記データを読み出す
請求項５に記載の再生装置。
【請求項７】
前記ｊが取り得る最大値は前記第２のサイズと等しく、前記第２のサイズは、前記音声データおよび映像データの符号化規格により定められる最小の単位構造の大きさに等しい
請求項６に記載の再生装置。
【請求項８】
データを蓄積することと、
前記蓄積されたデータを読み出す際の前記データの大きさを、予め定められた最小のサイズである第１のサイズから予め定められた最大のサイズである第２のサイズまでの間で段階的に大きくしながら、前記データを読み出して出力することと、
前記読み出されたデータを一時的にキャッシュすることと、
外部装置から入力されるデータ取得要求に基づいて、前記キャッシュされた前記データを読み出して前記外部装置に出力することとを含む、
再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、音声データおよび映像データを再生する再生装置およびその再生方法に関し、特に、ストレージからのデータの読み出しを効率的に行う技術に関する。
【背景技術】
【０００２】
従来、データが記録されるストレージでは、近い将来にアクセスが予測されるデータを予めキャッシュ蓄積しておき、次にデータの読み出し要求があった場合にキャッシュからデータを読み出すことが行われる。この手法は「先読み」と称される。先読みを行うことで、読み出し速度の速いキャッシュからデータが読み出される確率が高くなるため、データへのアクセス時間は短縮される。先読みの効果が期待できるのは、ストレージに対してシーケンシャルなアクセスが続く場合、すなわち、オフセットが連続しているデータが読み出される場合である。特に、音声データや映像データの再生を行う再生装置においては、ストレージに対するアクセスはシーケンシャルに行われることが殆どであるため、先読みの効果が出やすい。
【０００３】
図７に、先読み処理の例を示す。図７には、ストレージと、読み出し制御部と、再生処理部の各部における処理を示してある。ストレージには、映像データや音声データ（以下、ＡＶデータと称する）が記憶されており、読み出し制御部の制御に基づいて、データの読み出しがされる。読み出し制御部は、ストレージからのデータの読み出しを指示する読み出し要求Ｒｉを生成する。また、読み出し制御部は、読み出し要求Ｒｉに基づいてストレージから読み出されたデータＤｔを、キャッシュまたは再生処理部に送信する。再生処理部は、キャッシュに蓄積されたＡＶデータまたは、ストレージから直接読み出されたＡＶデータを再生して出力する。
【０００４】
まず、図示せぬ操作パネル等を介して特定のデータの取得要求が入力されると、読み出し制御部は、入力されたデータの取得要求に基づいてデータの読み出し要求Ｒｉ１を生成して出力する。読み出し要求Ｒｉ１には、ファイルのアクセス開始位置（オフセット）および、読み出すデータの量（長さ）が記載されている。読み出し要求Ｒｉ１が出される時点では、キャッシュにはデータが蓄積されていないため、読み出し要求Ｒｉ１に基づいてストレージから読み出されたデータＤｔ１は、再生処理部に出力される。そして、読み出されたデータＤｔ１は、再生処理部によって再生される。
【０００５】
続いて、読み出し制御部は、先読み長として予め設定された長さ分のデータＤｔ２を読み出すための読み出し要求Ｒｉ２を生成する。読み出し要求Ｒｉ２に基づいて読み出されたデータＤｔ２は、実際に読み出しが必要とされたデータではなく先読みデータであるため、キャッシュに書き込まれる。
【０００６】
再生処理部は、データＤｔ１の再生が終わった後は、ストレージから次のデータを読み出すのではなく、キャッシュに蓄積されたデータＤｔ２を読み出して再生する。そして、再生処理部によってデータＤｔ２がキャッシュから読み出されている間に、次に再生が必要とされるデータＤｔ３がストレージから読み出されて、キャッシュに蓄積される。データＤｔ２を再生し終わった時点ですぐに再生処理部がデータＤｔ３の再生を行うためには、データＤｔ３のキャッシュへの書き込みを、再生処理部がデータＤｔ２を再生し終わるまでの間に行う必要がある。すなわち、キャッシュからデータＤｔ２がすべて読み出されてしまうまでの間に行う必要がある。
【０００７】
このような先読みが行われることにより、ストレージへのアクセス回数が削減されるため、データの読み出し速度は向上する。さらに、ＡＶデータの再生だけでなく、編集や、外部装置へのファイルの転送等、マルチタスクで処理を行う必要がある再生装置においては、先読みを行うことによって、ストレージの利用効率を上げることができる。先読みを行うことによって、１つのタスクにより発生するストレージへのアクセスの頻度を減らすことができるため、複数のタスクがストレージを利用できる時間が増えるためである。
【０００８】
ストレージの利用効率を上げるという観点からすると、ストレージから読み出す１回のデータの大きさは、なるべく大きい方がよい。ストレージからのデータ読み出し時にかかるオーバーヘッド（読み出し処理時間）は、読み出すデータのサイズに係わらず一定なためである。図８は、データの読み出しサイズを小さく設定した場合と、大きく設定した場合での、トータルの処理時間の差を示した図である。図８（ａ）は、読み出し要求されるデータを示したものであり、“読み出し要求データ”と記された枠の横軸方向の幅が、データの大きさを示す。図８（ｂ）は、読み出し要求されたデータを２回に分けてストレージから読み出した場合の処理を示し、図８（ｃ）は、読み出し要求されたデータを１回でストレージから読み出した場合の処理を示す。すなわち、図８（ｂ）では、読み出すデータの読み出しサイズを小さくした場合の例を示し、図８（ｃ）では、読み出しサイズを大きくした場合の例を示している。
【０００９】
図８中に“読み出し処理時間”と示された、データの読み出し時に行われる処理にかかる時間は、図８（ｂ）においても図８（ｃ）においても、それぞれ同じ長さとして示されている。すなわち、実際に読み出されるデータの大きさに係わらず、一定であることが分かる。このため、図８（ｂ）に示すように、一回に読み出すデータのサイズを小さくした場合には、トータルの処理時間がその分だけ長くなってしまう。一方、図８（ｃ）に示すように、一回に読み出すデータのサイズを大きくした場合には、データの読み出しにかかるトータルの時間を、図８（ｂ）に示した処理よりも「読み出し処理時間」の分だけ短くすることができる。つまり、前述したようなマルチタスクでの処理を行う場合には、ストレージから１回に読み出すデータの量を大きくした方が、ストレージの利用効率を向上させることができる。
【００１０】
ところが、ストレージの利用効率の向上を目的として、先読みを行ったり、先読みするデータの量を大きくとったとしても、ランダムアクセスによってファイルのアクセス位置が指定された場合には、その目的が果たされなくなる。
【００１１】
図９は、ストレージに対してシーケンシャルでのアクセスが続いた状態で、ランダムアクセスによるデータ取得要求が発生した場合の読み出し処理の例を示したものである。まず、読み出し制御部から送信された読み出し要求Ｒｉ１に基づいて、ストレージからデータＤｔ１が読み出される。そして、読み出されたデータＤｔ１が再生処理部によって再生されている間に、次に再生されるべきデータＤｔ２が、読み出し要求Ｒｉ２に基づいてキャッシュに読み出される。
【００１２】
ここで、ランダムアクセスによるデータ取得要求が入力されたものとする。この場合は、この要求に基づいて生成された読み出し要求Ｒｉ３においては、その中で示されるオフセットは、すでにキャッシュに読み出し済みのデータＤｔ２のオフセットとは連続性を持たないことになる。すなわち、キャッシュ上に書き込まれたデータＤｔ２は、再生処理部が再生するファイルとしては使用できないことになる。このため、再生処理部が再生するデータＤｔ３は、キャッシュからではなく、ストレージから新たに読み出される。このような場合は、データＤｔ３をストレージから読み出している時間が、そのまま読み出しのレスポンスの遅延につながってしまう。つまり、ストレージに対してシーケンシャルなアクセスだけでなくランダムアクセスも行われる場合には、ストレージの効率的な利用とレスポンスの向上とを、同時に満足させることは難しいという問題があった。
【００１３】
例えば特許文献１には、従来ランダムアクセスと見なされていたアクセスパターンにおいても、データの先読みを可能にし、ファイルデータアクセス等を高速化する技術が記載されている。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開平９−１８５４６２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
音声データおよび映像データを再生する再生装置において、ストレージの効率的な利用とレスポンスの向上とを、両方満たせることが求められていた。
【００１６】
本開示はかかる点に鑑みてなされたものであり、ストレージの効率的な利用とレスポンスの向上とを、同時に満たせるようにすることを目的とする。
【課題を解決するための手段】
【００１７】
上記課題を解決するために、本開示の再生装置は、記憶部と、読み出し制御部と、キャッシュと、データ送受信制御部とを備える構成とし、各部の構成及び機能を次のようにする。記憶部にはデータが蓄積される。読み出し制御部は、記憶部からのデータの読み出しを制御する。キャッシュは、読み出し制御部が読み出したデータを一時的に保持する。データ送受信制御部は、外部装置から入力されるデータ取得要求に基づいて、キャッシュに保持されたデータを読み出して外部装置に出力する。そして、読み出し制御部が、記憶部から読み出すデータの大きさを、予め定められた最小のサイズである第１のサイズから予め定められた最大のサイズである第２のサイズまでの間で段階的に大きくしながら、データを記憶部から読み出してキャッシュに出力する。
【００１８】
また、上記課題を解決するために、本開示の再生方法は、次の手順で行う。まず、データを蓄積する。次に、蓄積されたデータを読み出す際のデータの大きさを、予め定められた最小のサイズである第１のサイズから予め定められた最大のサイズである第２のサイズまでの間で段階的に大きくしながら、データを読み出して出力する。次に、読み出されたデータを一時的にキャッシュする。次に、外部装置から入力されるデータ取得要求に基づいて、キャッシュされたデータを読み出して外部装置に出力する。
【００１９】
このように構成および処理することで、ストレージとしての記憶部からキャッシュに読み出されるデータのサイズが、第１のサイズから第２のサイズまでの間で段階的に大きくなる。
【発明の効果】
【００２０】
本開示の再生装置および再生方法によれば、ストレージとしての記憶部からキャッシュに読み出されるデータのサイズが、第１のサイズから第２のサイズまでの間で段階的に大きくなるため、読み出し時のレスポンス遅延の解消と、ストレージの利用効率の向上が同時に図られる。
【図面の簡単な説明】
【００２１】
【図１】ストレージから読み出すデータのサイズを小さく設定した場合の読み出し処理の例を示す説明図である。
【図２】ストレージから最初に読み出すデータのサイズは小さく設定し、次に読み出すデータのサイズは大きくした場合の読み出し処理の例を示す説明図である。
【図３】本開示の一実施形態による再生装置の構成例を示すブロック図である。
【図４】本開示の一実施形態によるストレージからのデータの読み出しサイズの設定例を示す説明図である。
【図５】本開示の一実施の形態による読み出し制御部による処理の例を示すフローチャートである。
【図６】本開示の一実施の形態によるストレージからのデータの読み出し処理の例を示す説明図である。
【図７】従来の先読み処理の例を示す説明図である。
【図８】従来の、ストレージからのデータの読み出しサイズの違いによる読み出し時間の違いを示す説明図であり、（ａ）は読み出しサイズを小さくした場合の例を示し、（ｂ）は読み出しサイズを大きくした場合の例を示す。
【図９】従来の、シーケンシャルアクセスが行われていた状態でランダムアクセスが指示された場合のストレージからのデータの読み出し処理の例を示す説明図である。
【発明を実施するための形態】
【００２２】
本開示の一実施形態に係る再生装置の説明に入る前に、まず、読み出しのレスポンス遅延の解消に効果的であると考えられる処理と、ストレージの利用効率の向上に効果的であると考えられる処理について、それぞれ図１と図２を参照して説明する。
【００２３】
図１は、レスポンス遅延の解消を目的として、ストレージから読み出すデータのサイズを小さくした場合の読み出し処理の例を示したものである。まず、読み出し制御部から送信された読み出し要求Ｒｉ１に基づいて、ストレージからデータＤｔ１が読み出される。ストレージから読み出すデータＤｔのサイズは、予め小さなサイズに設定されているものとする。
【００２４】
続いて、読み出されたデータＤｔ１が再生処理部によって再生されている間に、次に再生されるべきデータＤｔ２が、読み出し要求Ｒｉ２に基づいてストレージから読み出され、キャッシュに書き込まれる。次に、キャッシュに蓄積されたデータＤｔ２が再生処理部によって再生されている間に、次に再生されるべきデータＤｔ３が、読み出し要求Ｒｉ３に基づいてキャッシュに読み出される。
【００２５】
そして、読み出し制御部から次に入力された読み出し要求Ｒｉ４が、ランダムアクセスによるファイルのアクセスを指示するものであったとする。この場合は、図９に示した例と同様に、キャッシュ上のデータＤｔ３は再生データとしては使えなくなる。このような場合には、読み出し要求Ｒｉ４で指定されたデータＤｔ４がストレージから新たに読み出されて、再生処理部に出力されるようになる。しかし、図１に示した例では、図９に示した例とは違って、ストレージから１回に読み出すデータのサイズが小さく設定されている。これにより、データＤｔ４がストレージから読み出される時間も短くなるため、読み出しのレスポンスにおける遅延も少なくなる。
【００２６】
ところが、このように読み出しサイズを小さくする手法では、ストレージにデータを読みに行く回数が増えてしまう。１つのタスクによりストレージからデータを読み出している間は、マルチタスクとして実行されるべき他のタスクは、処理（ストレージからのデータの読み出し）の実施を待たなければない。つまり、他のタスクを実行する命令は、図１に示した１つのタスクによるデータの読み出しが行われていない時間にのみ、実施が可能となる。しかし、図１に示した例では、ストレージから１回に読み出すデータの量を小さくしているため、ストレージからのデータの読み出しが行われない時間も、読み出されるデータの大きさに比例して少なくなってしまう。したがって、マルチタスクの実行自体が厳しくなるため、ストレージの利用効率も悪くなってしまう。
【００２７】
図２は、レスポンスの向上およびストレージの利用効率の向上を同時に図るべく、ストレージからのデータの読み出しサイズを、１回目と２回目とで変化させた場合の処理の例を示している。キャッシュにデータが蓄積されていない状態で、ストレージから読み出すデータのサイズを大きくすると、その読み出し時間がそのままレスポンスの遅延につながってしまう。したがって、キャッシュにデータが蓄積されていない１回目の読み出しは、できるだけ小さなサイズで行い、次のデータの読み出しを大きなサイズで行うケースを考えてみる。
【００２８】
まず、１回目のデータＤｔ１の読み出しは、読み出し要求Ｒｉ１に基づいて小さなサイズで行う。このように処理することにより、読み出しのレスポンスにおける遅延を最小限にとどめることが可能となる。これに対して、２回目のデータＤｔ２の読み出しサイズを比較的大きなサイズにしてみる。このようにすることで、このタイミング以降におけるマルチタスクの実行が容易になる。すなわち、ストレージの利用効率を上げることができる。ところが、このように、１回目に読み出したデータＤｔ１の大きさに対して２回目に読み出すデータＤｔ２の大きさを大きくしすぎると、データＤｔ２がストレージから読み出されている間に、再生処理部によるデータＤｔ１の再生が終了してしまうことになる。すなわち、ストレージからデータＤｔ２を読み出している最中に、キャッシュに蓄積されたデータＤｔ１がすべて読み出されてキャッシュが空になってしまう。これにより、データＤｔ２は、キャッシュからではなく、ストレージから直接読み出されて再生されるようになる。つまり、データＤｔ２がストレージから読み出される時間分が、そのままレスポンスの遅延時間となってしまう。
【００２９】
このような問題が発生しないように、本開示の再生装置では、ストレージとしての記憶部からキャッシュに読み出すデータのサイズを、第１のサイズから第２のサイズまでの間で段階的に大きくすることを行う。
【００３０】
続いて、本開示の実施形態に係る再生装置の構成および処理の例を、以下の順番で説明する。ただし、本開示は下記の例に限定されない。
１．再生装置の構成例
２．読み出しサイズの算出方法の説明
３．読み出し制御部による処理の例
４．再生装置による読み出し処理の例
【００３１】
＜１．再生装置の構成例＞
次に、本開示の一実施形態に係る再生装置について、図３を参照して説明する。図３に示す再生装置１００は、記憶部としてのストレージ１０１を備え、ストレージ１０１には、デジタル化されたＡＶデータが蓄積される。ストレージ１０１は、ＳＳＤ（Solid State Drive）やＨＤＤ（Hard Disc Drive）、光ディスクドライブ等で構成される。また、再生装置１００は、ネットワークを介して、外部装置としての外部ＰＣ（Personal Computer）２００と接続されている。そして、ストレージ１０１を、外部ＰＣのネットワークドライブとしても使えるように構成している。外部ＰＣ２００には、例えばノンリニア編集用のアプリケーションが搭載されているものとし、外部ＰＣ２００からは、ランダムアクセスによるデータの読み出し要求が入力されるものとする。
【００３２】
また、再生装置１００は、ストレージ制御部１０２と、読み出し制御部１０３と、第２のキャッシュとしてのビデオデータ用キャッシュ１０４と、ＰＣ  ＩＦ(Interface)用キャッシュ１０５を備える。ストレージ制御部１０２は、デバイスドライバの機能を果たすものであり、実際のストレージ１０１を操作してストレージ１０１からのデータの読み出しを行う。読み出し制御部１０３は、ファイルシステムの機能を果たすものであり、データの取得が要求に応じてファイルの読み出しを指示する読み出し要求を生成し、生成した読み出し要求をストレージ制御部１０２に送信する。読み出し要求の中には、ファイルの読み出しに必要な情報として、ファイルのアクセス開始位置（オフセット）および、読み出すデータの量（長さ）が記載される。
【００３３】
また、読み出し制御部１０３は、ストレージ１０１から読み出されたファイルを、ビデオデータ用キャッシュ１０４または、ビデオデータ再生処理部１０９または、ＰＣ  ＩＦ用キャッシュ１０５または、ネットワーク制御部１１０に出力する。なお、ストレージ１０１に蓄積されたデータはＡＶデータであるため、読み出し制御部１０３によるファイルの読み出し単位は、フレームデータ単位となる。また、読み出すファイルの最大サイズ（第２のサイズ）は、ＧＯＰ（Group Of Pictures）長として設定されたフレーム数と等しいサイズとする。ＧＯＰが１５フレームで構成される場合には、第２のサイズは１５フレームとなる。
【００３４】
また、再生装置１００は、操作パネル１０６と、ビデオデータ再生用制御部１０７と、データ要求処理部１０８と、ビデオデータ再生処理部１０９とを備える。操作パネル１０６は、ユーザからの操作が入力されるボタン等の入力部と、メニュー等を表示する表示パネル等の表示部により構成される。ユーザからの操作入力を受け付けると、その内容を操作コマンドとしてビデオデータ再生用制御部１０７に送信する。ビデオデータ再生用制御部１０７は、操作パネル１０６から送られてきた操作コマンドを解釈して具体的な動作に置き換える。そして、置き換えた動作の内容に基づく、例えばデータの取得要求（第２のデータ取得要求）等の要求を生成してデータ要求処理部１０８に送信する。データ要求処理部１０８は、ビデオデータ再生用制御部１０７から入力された要求と、後述するＰＣ  ＩＦ用制御部１１１から入力される要求とを調停して、読み出し制御部１０３に伝える。ビデオデータ再生処理部１０９は、ビデオデータ用キャッシュ１０４に保持されたビデオデータまたは、読み出し制御部１０３の制御に基づいてストレージ１０１から直接読み出されたビデオデータをＤ／Ａ変換し、得られたビデオ信号を出力する。
【００３５】
また、再生装置１００は、データ送受信制御部としてのネットワーク制御部１１０と、ＰＣ  ＩＦ用制御部１１１とを備える。ネットワーク制御部１１０は、外部ＰＣ２００との間の通信を制御する。ＰＣ  ＩＦ用制御部１１１は、通信を介して外部ＰＣ２００から送られてきたコマンドを解釈して具体的な動作に置き換える。そして、置き換えた動作の内容に基づく、例えばデータの取得要求等の要求を生成してデータ要求処理部１０８に送信する。
【００３６】
データ要求処理部１０８には、上述したように、ＰＣ  ＩＦ制御部１１１からのデータ取得要求と、ビデオデータ再生用制御部１０７からのデータ取得要求とが入力される。ＰＣ  ＩＦ制御部１１１からのデータ取得要求は、外部ＰＣ２００から送信される。そして、外部ＰＣ２００からは、前述したように、ランダムアクセスによるデータ取得要求が入力される。一方、ビデオデータ再生用制御部１０７から送信されるデータ取得要求は、ストレージ１０１に蓄積されたビデオデータを再生することを目的に生成されるものであり、シーケンシャルアクセスでのデータの読み出しを指示するものである。
【００３７】
シーケンシャルアクセスによるデータ取得要求が続く間は、先読みによってキャッシュ（この場合はビデオデータ用キャッシュ１０４）に蓄積されたファイルをそのまま使用することが可能となる。このような場合には、ストレージ１０１からのファイルの読み出しサイズを大きくした方が、ストレージ１０１の有効活用の面からもレスポンス遅延解消の面からも有利となる。
【００３８】
これに対して、ランダムアクセスによるファイルの取得が要求された場合には、先読みによってビデオデータ用キャッシュ１０４に蓄積されたファイルは、使用することができなくなる。このような場合には、ストレージ１０１からファイルを読み出す時間がそのままレスポンスの遅延時間となってしまうため、ストレージ１０１から読み出すファイルのサイズはできるだけ小さくする方がよい。
【００３９】
このため、本開示の一実施の形態に係る再生装置１００では、ランダムアクセスによるファイルの取得が要求された最初の１回目の、ストレージ１０１からのデータの読み出しは、ファイルサイズをできるだけ小さくして読み出す。その後は、ストレージ１０１から読み出すサイズを徐々に大きくすることを行う。ストレージ１０１からの読み出しサイズは、読み出し制御部１０３がストレージ１０１からデータを読み出す速度（第１の速度）と、ネットワーク制御部がＰＣ  ＩＦ用キャッシュ１０５からデータを読み出す速度（第２の速度）に基づいて算出することができる。第２の速度は、外部ＰＣ２００に搭載されたアプリケーションの処理時間や、アプリケーションによって行われるデータ取得要求の頻度、外部ＰＣ２００の性能やネットワークの通信速度等により定まる。
【００４０】
＜２．読み出しサイズの算出方法の説明＞
次に、ストレージ１０１からのデータの読み出しサイズの算出方法について説明する。まず、データの読み出しサイズの算出にあたり、読み出し制御部１０３の読み出し速度を“ｘ”、読み出し制御部１０３が読み出すファイルのサイズを“Ｓ”、ネットワーク制御部１１０がサイズＳのデータを読み出す時間を“Ｔ”とする。また、読み出し制御部１０３がストレージ１０１からｎ回目にデータを読み出す場合のフレーム数を“ｊ”、ｎ−１回目に読み出したデータのフレーム数を“ｉ”とする。
【００４１】
このとき、ｎ回目に読み出すフレーム数ｊは、以下の２つの式を満足させる値に設定される。
Ｔ（ｊ）＜Ｓ（ｉ）／ｘ  …式１
ｊ＞ｉ  …式２
すなわち、式１によれば、ｎ回目に読み出すフレーム数ｊは、読み出し制御部１０３がｊフレームを読み出す時間Ｔ（ｊ）が、ｉフレーム分のデータＳ（ｉ）をネットワーク制御部１１０が読み出す時間ｘで除算した値よりも、小さくなる値に設定される。これにより、ＰＣ  ＩＦ用キャッシュ１０５に保持されたすべてのデータを読み出し制御部１０３が読み出すまでの間に、読み出し制御部１０３がストレージ１０１から読み出せるデータサイズが算出される。さらに、式１により求められたフレーム数ｊは、既に読み出されたフレーム数ｉよりも大きなものである必要がある（式２）。
【００４２】
以下に、具体的な数値を用いた読み出しサイズの算出例を示す。フレーム数ｉおよびｊが取り得る値の最小値は１であり、最大値は第２のサイズである１５（＝ＧＯＰ長）とする。また、ネットワーク制御部１１０がＰＣ  ＩＦ用キャッシュ１０５からデータを読み出す速度ｘは、２４ＭＢ／ｓであるものとする。読み出し制御部１０３がストレージ１０１からファイルを読み出す速度は、ファイルのサイズにより異なるものであり、ファイルを構成するフレーム数に応じて速度を予め算出しておく。以下は、フレーム数が１，２，３，４，５，１０，１５である場合のファイルサイズＳと、読み出し制御部１０３の読み出し速度Ｔを示したものである。
【００４３】
フレーム数１の場合：Ｓ（１）＝２７５ｋＢ，Ｔ（１）＝１０ｍｓ
フレーム数２の場合：Ｓ（２）＝５５０ｋＢ，Ｔ（２）＝１２ｍｓ
フレーム数３の場合：Ｓ（３）＝８２５ｋＢ，Ｔ（３）＝１６ｍｓ
フレーム数４の場合：Ｓ（４）＝１１００ｋＢ，Ｔ（４）＝１９ｍｓ
フレーム数５の場合：Ｓ（５）＝１３７５ｋＢ，Ｔ（５）＝２３ｍｓ
フレーム数１０の場合：Ｓ（１０）＝２７５０ｋＢ，Ｔ（１０）＝２８ｍｓ
フレーム数１５の場合：Ｓ（１５）＝４０００ｋＢ，Ｔ（１５）＝３４ｍｓ
【００４４】
まず、ストレージ１０１から最初に読み出す最小サイズ（第１のサイズ）を算出してみる。最初に読み出す場合には、“ｎ−１”の概念が存在しないため、まず、ＰＣ  ＩＦ用キャッシュ１０５にｉフレームが蓄積されているものとし、そのｉフレームのデータがすべて読み出されるまでにかかる時間を算出する（式１の右辺）。そして、算出された値に基づいて、式１の左辺であるＴ（ｊ）の“ｊ”に代入可能なフレーム数を検討する。そして、“ｊ”に代入可能なフレーム数から、式２を満たすフレーム数を絞り込むことを行う。
【００４５】
式１の右辺の“ｉ”に、例えば「１」を代入した場合には、
Ｓ（１）／ｘ＝２７５［ｋＢ］／２４［ＭＢ／ｓ］＝１１．４ｍｓ
となる。
そして、式１を満たすには、Ｔ（ｊ）の値が１１．４ｍｓより小さいものである必要がある。Ｔ（ｊ）＜１１．４ｍｓとなるのは、ｊ＝１の場合（Ｔ＝１０ｍｓ）のみとなる。しかし、この場合はｉ＝ｊ＝１となってしまうため、式２の“ｊ＞ｉ”が満たされなくなる。
【００４６】
次に、式１の右辺の“ｉ”に「２」を代入してみると、右辺は、
Ｓ（２）／ｘ＝５５０［ｋＢ］／２４［ＭＢ／ｓ］＝２２ｍｓ
となる。
すなわち、式１は
Ｔ（ｊ）＜２２ｍｓ
となるため、フレーム数ｊとして取り得る値は、Ｔ＝１０ｍｓとなる「１」から、Ｔ＝１９ｍｓとなる「４」までとなる。そして、これらのうち、式２を満たすのはｊ＝３と、ｊ＝４となる。したがって、１回目の読み出しサイズは２フレームとし、２回目の読み出しサイズは３フレームまたは４フレームとすればよいことになる。このような場合は、実際には、マージンをとって３フレームが選択されることが多いものと考えられる。
【００４７】
３回目の読み出しサイズは、“ｉ”に「３」を代入して同様の計算を行うことにより算出できる。つまり、式１の右辺の“ｉ”に「３」を代入してみると、右辺は、
Ｓ（３）／ｘ＝８２５［ｋＢ］／２４［ＭＢ／ｓ］＝３４ｍｓ
となる。
すなわち、式１は
Ｔ（ｊ）＜３４ｍｓ
となるため、フレーム数ｊとして取り得る値は、Ｔ＝１０ｍｓとなる「１」から、Ｔ＝２８ｍｓとなる「１０」までとなる。そして、これらのうち、式２を満たすのはｊ＝４〜１０となる。ここでは、このうち最大のフレーム数である「１０」をｊとして設定する。フレーム数ｊ＝１０とする。
【００４８】
ｉ＝１０とした場合には、式１の右辺は、
Ｓ（１０）／ｘ＝２７５０［ｋＢ］／２４［ＭＢ／ｓ］＝１１４ｍｓ
となる。
すなわち、式１は
Ｔ（ｊ）＜１１４ｍｓ
となるため、フレーム数ｊとして取り得る値は、Ｔ＝１０ｍｓとなる「１」から、Ｔ＝３４ｍｓとなる「１５」までのすべてとなる。そして、これらのうち、式２を満たすのはｊ＝１１〜１５となる。ここでは、フレーム数ｊとして最大値の「１５」を採用するものとする。フレーム数ｊが「１５」となった後は、すなわち、第２のサイズに達した場合には、以降の読み出しは１５フレーム単位で行う。
【００４９】
図４に、このようにして算出した読み出しサイズに基づく、ストレージ１０１からのデータの読み出しのイメージを示してある。図４に示した「ユニット」とは、「エディットユニット」のことであり、「エディットユニット」とは、デジタル化されたビデオデータにおける１フレームの単位である。
【００５０】
図４に示すように、１回目のアクセス時には２エディットユニット分のデータＤｔ１を読み込み、２回目のアクセス時には３エディットユニット分のデータＤｔ２を読み込む。この、３エディットユニット分のデータＤｔ２の読み込みは、すでにＰＣ  ＩＦ用キャッシュ１０５（図３参照）に読み込まれた２エディットユニット分のデータＤｔ１が、読み出し制御部１０３によってすべて読み出されるまでの間に行われる。３回目のアクセス時には１０エディットユニット分のデータＤｔ３を読み込む。この、１０エディットユニット分のデータＤｔ３の読み込みは、すでにＰＣ  ＩＦ用キャッシュ１０５に読み込まれた３エディットユニット分のデータＤｔ２が、読み出し制御部１０３によってすべて読み出されるまでの間に行われる。
【００５１】
４回目のアクセス時には１５エディットユニット分のデータＤｔ４を読み込む。この、１５エディットユニット分のデータＤｔ４の読み込みは、すでにＰＣ  ＩＦ用キャッシュ１０５に読み込まれた１０エディットユニット分のデータＤｔ３が、読み出し制御部１０３によってすべて読み出されるまでの間に行われる。そして、以降のストレージ１０１からの読み出しは、シーケンシャルでのデータの読み出し要求が続く限り、１５エディットユニット単位で行われる。つまり、データ要求処理部１０８（図３参照）から供給された読み出し要求内で指示されたファイルのアクセス開始位置（オフセット）が、前回読み出しを行ったファイルのオフセットと連続している間は、１５エディットユニット単位での読み出しが続けられる。読み出し要求内で示されるオフセットが飛んだ場合には、再び、ストレージ１０１からの読み出しサイズを２エディットユニットに戻し、読み出しのサイズを徐々に大きくしていくことを行う。このような、ストレージ１０１からのファイルの読み出しサイズの算出は、再生処理がされる前に予め行っておいてもよいが、ファイルの読み出しが発生する都度行うようにしてもよい。
【００５２】
＜３．読み出し制御部による処理の例＞
次に、読み出し制御部１０３による処理の例について、図５のフローチャートを参照して説明する。まず、データ要求処理部１０８からのデータ取得要求を受け付けたか否かの判断を行い（ステップＳ１）、受けていない間はステップＳ１の判断を繰り返す。データ要求処理部１０８からのデータ取得要求を受け付けた場合には、データ取得要求により示されたファイルのオフセットが、前回読み出したファイルのオフセットと連続しているか否かを判断する（ステップＳ２）。前回読み出したファイルのオフセットと連続していないと判断した場合には、ストレージ１０１からのデータの読み出しサイズを最小サイズ（第１のサイズ）に設定し（ステップＳ３）、設定したサイズでのデータの読み出しを要求する読み出し要求を生成して、ストレージ制御部１０２に供給する（ステップＳ４）。
【００５３】
続いて、ＰＣ  ＩＦ用キャッシュ１０５上のデータの残量が、予め設定された所定の閾値以下であるか否かの判断を行う（ステップＳ５）。ＰＣ  ＩＦ用キャッシュ１０５上のデータの残量が所定の閾値より大きい間は、ステップＳ５の判断が繰り返される。ＰＣ  ＩＦ用キャッシュ１０５上のデータの残量が所定の閾値以下となった場合には、ステップＳ１に戻って判断が続けられる。
【００５４】
ステップＳ２で、データ取得要求により示されたファイルのオフセットが、前回読み出したファイルのオフセットと連続していると判断した場合には、次に、前回設定した読み出しサイズが最大サイズ（第２のサイズ）であったか否かの判断を行う（ステップＳ６）。最大サイズではなかった場合、すなわち、最大サイズより小さいサイズであった場合には、前回設定した読み出しサイズより１段階大きなサイズを読み出しサイズとして設定し、ステップＳ４に進む。前回設定した読み出しサイズが最大サイズであった場合には、読み出しサイズを最大サイズに設定してステップＳ４に進む。
【００５５】
図６は、読み出し制御部１０３が図５に示した処理を行った場合における、再生装置１００でのデータ読み出し処理の例を示している。図６に示す、読み出し制御部１０３から最初に出された読み出し要求Ｒｉ１は、前回アクセスしたファイルのオフセットと連続していないオフセットが指定されたデータ取得要求に基づいて、生成されたものとする。
【００５６】
したがって、読み出し制御部１０３は、予め設定された最小のサイズでストレージ１０１からデータＤｔ１を読み出し、ビデオデータ再生処理部１０９に出力する。図４に示した例に当てはめると、データＤｔ１のサイズは２エディットユニットとなる。そして、ストレージ１０１から読み出されたデータＤｔ１は、ビデオデータ再生処理部１０９によって再生される。
【００５７】
このように、データ取得要求において、前回アクセスしたファイルのオフセットと連続していないオフセットが指定された場合には、ＰＣ  ＩＦ用キャッシュ１０５に蓄積されたデータは使用することができない。このような場合には、ストレージ１０１からデータＤｔ１が読み出される時間が、そのままレスポンスの遅延時間となってしまう。本開示の一実施の形態による再生装置１００によれば、このようなときに読み出すデータＤｔ１のサイズを最小サイズとすることで、レスポンス遅延を最小限に抑えることができる。
【００５８】
続いてデータ要求処理部１０８（図１参照）から送信される各データ取得要求では、そこで示されたファイルのオフセットが、前回読み出したファイルのオフセットと連続しているものとする。よって、読み出し制御部１０３は、ストレージ１０１からのデータの読み出しサイズを前回読み出したサイズ（２エディットユニット）より１段階大きなサイズ（３エディットユニット）に設定して、読み出し要求Ｒｉ２を送信する。そして、この読み出し要求Ｒｉ２に基づいて、３ユニット分のデータＤｔ２がストレージ１０１から読み出され、ＰＣ  ＩＦ用キャッシュ１０５に書き込まれる。ＰＣ  ＩＦ用キャッシュ１０５に書き込まれたデータＤｔ２は、ビデオデータ再生処理部１０９によるデータＤｔ１の再生が終了する前にビデオデータ再生処理部１０９によって読み出され、データＤｔ１の再生終了と同時に再生される。
【００５９】
次に、読み出し制御部１０３は、ストレージ１０１からのデータの読み出しサイズを、さらに１段階大きなサイズである１０ユニット（図４参照）に設定して、読み出し要求Ｒｉ３を送信する。そして、この読み出し要求Ｒｉ３に基づいて、１０ユニット分のデータＤｔ３がストレージ１０１から読み出され、ＰＣ  ＩＦ用キャッシュ１０５に書き込まれる。この、ストレージ１０１からのデータＤｔ３の読み出しは、ビデオデータ再生処理部１０９によってデータＤｔ２のすべてのデータが再生されるまでの時間に行われる。すなわち、ＰＣ  ＩＦ用キャッシュ１０５が枯渇するまでの間に行われる。
【００６０】
続いて、読み出し制御部１０３は、ストレージ１０１からのデータの読み出しサイズを、もう１段階大きなサイズである１５ユニット（図４参照）に設定して、読み出し要求Ｒｉ４を送信する。そして、この読み出し要求Ｒｉ４に基づいて、１５ユニット分のデータＤｔ４がストレージ１０１から読み出され、ＰＣ  ＩＦ用キャッシュ１０５に書き込まれる。この、ストレージ１０１からのデータＤｔ４の読み出しは、ビデオデータ再生処理部１０９によってデータＤｔ３のすべてのデータが再生されるまでの時間に行われる。すなわち、ＰＣ  ＩＦ用キャッシュ１０５が枯渇するまでの間に行われる。以降のストレージ１０１から読み出すデータのサイズは、ストレージ１０１へのシーケンシャルなアクセスが続く限り、最大のサイズである１５エディットユニットに設定される。
【００６１】
ストレージ１０１から読み出されるデータのサイズが大きくなればなるほど、それに比例して、ストレージ１０１へのアクセスが行われていない時間も図６に斜線で示したように増えていく。すなわち、マルチタスクで立ち上がっている他のタスクが、ストレージ１０１にアクセスできる機会も増大する。したがって、ストレージ１０１を効率的に利用できるようになる。
【００６２】
つまり、本開示の一実施形態による再生装置１００によれば、ランダムアクセスとシーケンシャルアクセスの両方によるアクセスが想定される場合において、レスポンス遅延の改善およびストレージ１０１の有効利用という、２つの効果を得ることができる。
【００６３】
なお、上述した実施の形態では、本開示の再生装置を、再生のみを行う再生装置に適用した例をあげたが、記録も行える記録再生装置に適用してもよい。
【００６４】
また、上述した実施の形態では、読み出し制御部１０３が設定する第２のサイズを、ＧＯＰ長とする例を挙げたが、これに限定されるものではない。第２のサイズには、ストレージ１０１から読み出すデータのフォーマットに応じた最適な値が設定されるものとする。
【００６５】
なお、本開示は以下のような構成も取ることができる。
（１）データが蓄積される記憶部と、
前記記憶部からの前記データの読み出しを制御する読み出し制御部と、
前記読み出し制御部が読み出した前記データを一時的に保持するキャッシュと、
外部装置から入力されるデータ取得要求に基づいて、前記キャッシュに保持された前記データを読み出して前記外部装置に出力するデータ送受信制御部とを備え、
前記読み出し制御部は、前記記憶部から読み出すデータの大きさを、予め定められた最小のサイズである第１のサイズから予め定められた最大のサイズである第２のサイズまでの間で段階的に大きくしながら、前記データを前記記憶部から読み出して前記キャッシュに出力する再生装置。
（２）前記第１のサイズおよび、前記第１のサイズより大きく前記第２のサイズより小さい各読み出しサイズは、前記読み出し制御部が前記記憶部から前記データを読み出す速度である第１の速度および、前記データ送受信制御部が前記キャッシュから前記データを読み出す速度である第２の速度に基づいて算出される（１）に記載の再生装置。
（３）前記第２の速度は前記第１の速度よりも遅く、前記第１のサイズおよび、前記第１のサイズより大きく前記第２のサイズより小さい各読み出しサイズは、前記キャッシュに保持されたすべてのデータを前記読み出し制御部が読み出すまでの間に、前記読み出し制御部が前記記憶部から読み出せる最大のサイズとして算出される（１）または（２）に記載の再生装置。
（４）前記データは音声データおよび映像データであり、前記読み出し制御部および前記データ送受信制御部が前記データの読み出しを行う単位はフレームである（１）〜（３）のいずれかに記載の再生装置。
（５）前記読み出し制御部の読み出し速度をｘ、前記読み出し制御部が読み出す前記データのサイズをＳ、前記データ送受信制御部が前記Ｓのサイズのデータを読み出す時間をＴとすると、前記読み出し制御部が前記記憶部からｎ回目に前記データを読み出す場合のフレーム数であるｊは、前記読み出し制御部が前記ｊフレームを読み出す時間であるＴ（ｊ）が、前記ｉフレームのデータサイズであるＳ（ｉ）を前記データ送受信制御部が読み出す時間で除算した値であるＳ（ｉ）／ｘよりも小さくなる値であり、かつ、前記読み出し制御部が前記記憶部からｎ−１回目に読み出したデータのフレーム数であるｉよりも大きな値に設定される（１）〜（４）のいずれかに記載の再生装置。
（６）前記読み出し制御部が読み出した前記データを一時的に保持する第２のキャッシュと、操作部を通して入力される第２の読み出し要求に基づいて、前記第２のキャッシュに保持された前記データを読み出して再生する再生処理部とをさらに備え、
前記読み出し制御部は、前記読み出し要求または前記第２の読み出し要求によって示されたデータのアクセス開始位置が、前回アクセスした位置と連続していない場合に、前記第１のサイズで前記記憶部から前記データを読み出す（１）〜（５）のいずれかに記載の再生装置。
（７）前記ｊが取り得る最大値は前記第２のサイズと等しく、前記第２のサイズは、前記音声データおよび映像データの符号化規格により定められる最小の単位構造の大きさに等しい（６）に記載の再生装置。
（８）データを蓄積することと、
前記蓄積されたデータを読み出す際の前記データの大きさを、予め定められた最小のサイズである第１のサイズから予め定められた最大のサイズである第２のサイズまでの間で段階的に大きくしながら、前記データを読み出して出力することと、
前記読み出されたデータを一時的にキャッシュすることと、
外部装置から入力されるデータ取得要求に基づいて、前記キャッシュされた前記データを読み出して前記外部装置に出力することとを含む再生方法。
【符号の説明】
【００６６】
１００…再生装置、１０１…ストレージ、１０２…ストレージ制御部、１０３…読み出し制御部、１０４…ビデオデータ用キャッシュ、１０５…ＰＣ  ＩＦ用キャッシュ、１０６…操作パネル、１０７…ビデオデータ再生用制御部、１０８…データ要求処理部、１０９…ビデオデータ再生処理部、１１０…ネットワーク制御部、１１１…ＰＣ  ＩＦ制御部
２００…外部ＰＣ、Ｄｔ１〜Ｄｔ４…データ、Ｒｉ１〜Ｒｉ４…読み出し要求
【図１】
2012221156.tif 000003
【図２】
2012221156.tif 000004
【図３】
2012221156.tif 000005
【図４】
2012221156.tif 000006
【図５】
2012221156.tif 000007
【図６】
2012221156.tif 000008
【図７】
2012221156.tif 000009
【図８】
2012221156.tif 000010
【図９】
2012221156.tif 000011