説明

再生装置および再生方法

【課題】ストレージの効率的な利用とレスポンスの向上とを、両方満たせるようにする。
【解決手段】記憶部101にはデータが蓄積される。読み出し制御部103は、記憶部101からのデータの読み出しを制御する。キャッシュ104,105は、読み出し制御部103が読み出したデータを一時的に保持する。データ送受信制御部110は、外部装置200から入力されるデータ取得要求に基づいて、キャッシュ104,105に保持されたデータを読み出して外部装置200に出力する。そして、読み出し制御部103が、記憶部101から読み出すデータの大きさを、予め定められた最小のサイズである第1のサイズから予め定められた最大のサイズである第2のサイズまでの間で段階的に大きくする。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、音声データおよび映像データを再生する再生装置およびその再生方法に関し、特に、ストレージからのデータの読み出しを効率的に行う技術に関する。
【背景技術】
【0002】
従来、データが記録されるストレージでは、近い将来にアクセスが予測されるデータを予めキャッシュ蓄積しておき、次にデータの読み出し要求があった場合にキャッシュからデータを読み出すことが行われる。この手法は「先読み」と称される。先読みを行うことで、読み出し速度の速いキャッシュからデータが読み出される確率が高くなるため、データへのアクセス時間は短縮される。先読みの効果が期待できるのは、ストレージに対してシーケンシャルなアクセスが続く場合、すなわち、オフセットが連続しているデータが読み出される場合である。特に、音声データや映像データの再生を行う再生装置においては、ストレージに対するアクセスはシーケンシャルに行われることが殆どであるため、先読みの効果が出やすい。
【0003】
図7に、先読み処理の例を示す。図7には、ストレージと、読み出し制御部と、再生処理部の各部における処理を示してある。ストレージには、映像データや音声データ(以下、AVデータと称する)が記憶されており、読み出し制御部の制御に基づいて、データの読み出しがされる。読み出し制御部は、ストレージからのデータの読み出しを指示する読み出し要求Riを生成する。また、読み出し制御部は、読み出し要求Riに基づいてストレージから読み出されたデータDtを、キャッシュまたは再生処理部に送信する。再生処理部は、キャッシュに蓄積されたAVデータまたは、ストレージから直接読み出されたAVデータを再生して出力する。
【0004】
まず、図示せぬ操作パネル等を介して特定のデータの取得要求が入力されると、読み出し制御部は、入力されたデータの取得要求に基づいてデータの読み出し要求Ri1を生成して出力する。読み出し要求Ri1には、ファイルのアクセス開始位置(オフセット)および、読み出すデータの量(長さ)が記載されている。読み出し要求Ri1が出される時点では、キャッシュにはデータが蓄積されていないため、読み出し要求Ri1に基づいてストレージから読み出されたデータDt1は、再生処理部に出力される。そして、読み出されたデータDt1は、再生処理部によって再生される。
【0005】
続いて、読み出し制御部は、先読み長として予め設定された長さ分のデータDt2を読み出すための読み出し要求Ri2を生成する。読み出し要求Ri2に基づいて読み出されたデータDt2は、実際に読み出しが必要とされたデータではなく先読みデータであるため、キャッシュに書き込まれる。
【0006】
再生処理部は、データDt1の再生が終わった後は、ストレージから次のデータを読み出すのではなく、キャッシュに蓄積されたデータDt2を読み出して再生する。そして、再生処理部によってデータDt2がキャッシュから読み出されている間に、次に再生が必要とされるデータDt3がストレージから読み出されて、キャッシュに蓄積される。データDt2を再生し終わった時点ですぐに再生処理部がデータDt3の再生を行うためには、データDt3のキャッシュへの書き込みを、再生処理部がデータDt2を再生し終わるまでの間に行う必要がある。すなわち、キャッシュからデータDt2がすべて読み出されてしまうまでの間に行う必要がある。
【0007】
このような先読みが行われることにより、ストレージへのアクセス回数が削減されるため、データの読み出し速度は向上する。さらに、AVデータの再生だけでなく、編集や、外部装置へのファイルの転送等、マルチタスクで処理を行う必要がある再生装置においては、先読みを行うことによって、ストレージの利用効率を上げることができる。先読みを行うことによって、1つのタスクにより発生するストレージへのアクセスの頻度を減らすことができるため、複数のタスクがストレージを利用できる時間が増えるためである。
【0008】
ストレージの利用効率を上げるという観点からすると、ストレージから読み出す1回のデータの大きさは、なるべく大きい方がよい。ストレージからのデータ読み出し時にかかるオーバーヘッド(読み出し処理時間)は、読み出すデータのサイズに係わらず一定なためである。図8は、データの読み出しサイズを小さく設定した場合と、大きく設定した場合での、トータルの処理時間の差を示した図である。図8(a)は、読み出し要求されるデータを示したものであり、“読み出し要求データ”と記された枠の横軸方向の幅が、データの大きさを示す。図8(b)は、読み出し要求されたデータを2回に分けてストレージから読み出した場合の処理を示し、図8(c)は、読み出し要求されたデータを1回でストレージから読み出した場合の処理を示す。すなわち、図8(b)では、読み出すデータの読み出しサイズを小さくした場合の例を示し、図8(c)では、読み出しサイズを大きくした場合の例を示している。
【0009】
図8中に“読み出し処理時間”と示された、データの読み出し時に行われる処理にかかる時間は、図8(b)においても図8(c)においても、それぞれ同じ長さとして示されている。すなわち、実際に読み出されるデータの大きさに係わらず、一定であることが分かる。このため、図8(b)に示すように、一回に読み出すデータのサイズを小さくした場合には、トータルの処理時間がその分だけ長くなってしまう。一方、図8(c)に示すように、一回に読み出すデータのサイズを大きくした場合には、データの読み出しにかかるトータルの時間を、図8(b)に示した処理よりも「読み出し処理時間」の分だけ短くすることができる。つまり、前述したようなマルチタスクでの処理を行う場合には、ストレージから1回に読み出すデータの量を大きくした方が、ストレージの利用効率を向上させることができる。
【0010】
ところが、ストレージの利用効率の向上を目的として、先読みを行ったり、先読みするデータの量を大きくとったとしても、ランダムアクセスによってファイルのアクセス位置が指定された場合には、その目的が果たされなくなる。
【0011】
図9は、ストレージに対してシーケンシャルでのアクセスが続いた状態で、ランダムアクセスによるデータ取得要求が発生した場合の読み出し処理の例を示したものである。まず、読み出し制御部から送信された読み出し要求Ri1に基づいて、ストレージからデータDt1が読み出される。そして、読み出されたデータDt1が再生処理部によって再生されている間に、次に再生されるべきデータDt2が、読み出し要求Ri2に基づいてキャッシュに読み出される。
【0012】
ここで、ランダムアクセスによるデータ取得要求が入力されたものとする。この場合は、この要求に基づいて生成された読み出し要求Ri3においては、その中で示されるオフセットは、すでにキャッシュに読み出し済みのデータDt2のオフセットとは連続性を持たないことになる。すなわち、キャッシュ上に書き込まれたデータDt2は、再生処理部が再生するファイルとしては使用できないことになる。このため、再生処理部が再生するデータDt3は、キャッシュからではなく、ストレージから新たに読み出される。このような場合は、データDt3をストレージから読み出している時間が、そのまま読み出しのレスポンスの遅延につながってしまう。つまり、ストレージに対してシーケンシャルなアクセスだけでなくランダムアクセスも行われる場合には、ストレージの効率的な利用とレスポンスの向上とを、同時に満足させることは難しいという問題があった。
【0013】
例えば特許文献1には、従来ランダムアクセスと見なされていたアクセスパターンにおいても、データの先読みを可能にし、ファイルデータアクセス等を高速化する技術が記載されている。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特開平9−185462号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
音声データおよび映像データを再生する再生装置において、ストレージの効率的な利用とレスポンスの向上とを、両方満たせることが求められていた。
【0016】
本開示はかかる点に鑑みてなされたものであり、ストレージの効率的な利用とレスポンスの向上とを、同時に満たせるようにすることを目的とする。
【課題を解決するための手段】
【0017】
上記課題を解決するために、本開示の再生装置は、記憶部と、読み出し制御部と、キャッシュと、データ送受信制御部とを備える構成とし、各部の構成及び機能を次のようにする。記憶部にはデータが蓄積される。読み出し制御部は、記憶部からのデータの読み出しを制御する。キャッシュは、読み出し制御部が読み出したデータを一時的に保持する。データ送受信制御部は、外部装置から入力されるデータ取得要求に基づいて、キャッシュに保持されたデータを読み出して外部装置に出力する。そして、読み出し制御部が、記憶部から読み出すデータの大きさを、予め定められた最小のサイズである第1のサイズから予め定められた最大のサイズである第2のサイズまでの間で段階的に大きくしながら、データを記憶部から読み出してキャッシュに出力する。
【0018】
また、上記課題を解決するために、本開示の再生方法は、次の手順で行う。まず、データを蓄積する。次に、蓄積されたデータを読み出す際のデータの大きさを、予め定められた最小のサイズである第1のサイズから予め定められた最大のサイズである第2のサイズまでの間で段階的に大きくしながら、データを読み出して出力する。次に、読み出されたデータを一時的にキャッシュする。次に、外部装置から入力されるデータ取得要求に基づいて、キャッシュされたデータを読み出して外部装置に出力する。
【0019】
このように構成および処理することで、ストレージとしての記憶部からキャッシュに読み出されるデータのサイズが、第1のサイズから第2のサイズまでの間で段階的に大きくなる。
【発明の効果】
【0020】
本開示の再生装置および再生方法によれば、ストレージとしての記憶部からキャッシュに読み出されるデータのサイズが、第1のサイズから第2のサイズまでの間で段階的に大きくなるため、読み出し時のレスポンス遅延の解消と、ストレージの利用効率の向上が同時に図られる。
【図面の簡単な説明】
【0021】
【図1】ストレージから読み出すデータのサイズを小さく設定した場合の読み出し処理の例を示す説明図である。
【図2】ストレージから最初に読み出すデータのサイズは小さく設定し、次に読み出すデータのサイズは大きくした場合の読み出し処理の例を示す説明図である。
【図3】本開示の一実施形態による再生装置の構成例を示すブロック図である。
【図4】本開示の一実施形態によるストレージからのデータの読み出しサイズの設定例を示す説明図である。
【図5】本開示の一実施の形態による読み出し制御部による処理の例を示すフローチャートである。
【図6】本開示の一実施の形態によるストレージからのデータの読み出し処理の例を示す説明図である。
【図7】従来の先読み処理の例を示す説明図である。
【図8】従来の、ストレージからのデータの読み出しサイズの違いによる読み出し時間の違いを示す説明図であり、(a)は読み出しサイズを小さくした場合の例を示し、(b)は読み出しサイズを大きくした場合の例を示す。
【図9】従来の、シーケンシャルアクセスが行われていた状態でランダムアクセスが指示された場合のストレージからのデータの読み出し処理の例を示す説明図である。
【発明を実施するための形態】
【0022】
本開示の一実施形態に係る再生装置の説明に入る前に、まず、読み出しのレスポンス遅延の解消に効果的であると考えられる処理と、ストレージの利用効率の向上に効果的であると考えられる処理について、それぞれ図1と図2を参照して説明する。
【0023】
図1は、レスポンス遅延の解消を目的として、ストレージから読み出すデータのサイズを小さくした場合の読み出し処理の例を示したものである。まず、読み出し制御部から送信された読み出し要求Ri1に基づいて、ストレージからデータDt1が読み出される。ストレージから読み出すデータDtのサイズは、予め小さなサイズに設定されているものとする。
【0024】
続いて、読み出されたデータDt1が再生処理部によって再生されている間に、次に再生されるべきデータDt2が、読み出し要求Ri2に基づいてストレージから読み出され、キャッシュに書き込まれる。次に、キャッシュに蓄積されたデータDt2が再生処理部によって再生されている間に、次に再生されるべきデータDt3が、読み出し要求Ri3に基づいてキャッシュに読み出される。
【0025】
そして、読み出し制御部から次に入力された読み出し要求Ri4が、ランダムアクセスによるファイルのアクセスを指示するものであったとする。この場合は、図9に示した例と同様に、キャッシュ上のデータDt3は再生データとしては使えなくなる。このような場合には、読み出し要求Ri4で指定されたデータDt4がストレージから新たに読み出されて、再生処理部に出力されるようになる。しかし、図1に示した例では、図9に示した例とは違って、ストレージから1回に読み出すデータのサイズが小さく設定されている。これにより、データDt4がストレージから読み出される時間も短くなるため、読み出しのレスポンスにおける遅延も少なくなる。
【0026】
ところが、このように読み出しサイズを小さくする手法では、ストレージにデータを読みに行く回数が増えてしまう。1つのタスクによりストレージからデータを読み出している間は、マルチタスクとして実行されるべき他のタスクは、処理(ストレージからのデータの読み出し)の実施を待たなければない。つまり、他のタスクを実行する命令は、図1に示した1つのタスクによるデータの読み出しが行われていない時間にのみ、実施が可能となる。しかし、図1に示した例では、ストレージから1回に読み出すデータの量を小さくしているため、ストレージからのデータの読み出しが行われない時間も、読み出されるデータの大きさに比例して少なくなってしまう。したがって、マルチタスクの実行自体が厳しくなるため、ストレージの利用効率も悪くなってしまう。
【0027】
図2は、レスポンスの向上およびストレージの利用効率の向上を同時に図るべく、ストレージからのデータの読み出しサイズを、1回目と2回目とで変化させた場合の処理の例を示している。キャッシュにデータが蓄積されていない状態で、ストレージから読み出すデータのサイズを大きくすると、その読み出し時間がそのままレスポンスの遅延につながってしまう。したがって、キャッシュにデータが蓄積されていない1回目の読み出しは、できるだけ小さなサイズで行い、次のデータの読み出しを大きなサイズで行うケースを考えてみる。
【0028】
まず、1回目のデータDt1の読み出しは、読み出し要求Ri1に基づいて小さなサイズで行う。このように処理することにより、読み出しのレスポンスにおける遅延を最小限にとどめることが可能となる。これに対して、2回目のデータDt2の読み出しサイズを比較的大きなサイズにしてみる。このようにすることで、このタイミング以降におけるマルチタスクの実行が容易になる。すなわち、ストレージの利用効率を上げることができる。ところが、このように、1回目に読み出したデータDt1の大きさに対して2回目に読み出すデータDt2の大きさを大きくしすぎると、データDt2がストレージから読み出されている間に、再生処理部によるデータDt1の再生が終了してしまうことになる。すなわち、ストレージからデータDt2を読み出している最中に、キャッシュに蓄積されたデータDt1がすべて読み出されてキャッシュが空になってしまう。これにより、データDt2は、キャッシュからではなく、ストレージから直接読み出されて再生されるようになる。つまり、データDt2がストレージから読み出される時間分が、そのままレスポンスの遅延時間となってしまう。
【0029】
このような問題が発生しないように、本開示の再生装置では、ストレージとしての記憶部からキャッシュに読み出すデータのサイズを、第1のサイズから第2のサイズまでの間で段階的に大きくすることを行う。
【0030】
続いて、本開示の実施形態に係る再生装置の構成および処理の例を、以下の順番で説明する。ただし、本開示は下記の例に限定されない。
1.再生装置の構成例
2.読み出しサイズの算出方法の説明
3.読み出し制御部による処理の例
4.再生装置による読み出し処理の例
【0031】
<1.再生装置の構成例>
次に、本開示の一実施形態に係る再生装置について、図3を参照して説明する。図3に示す再生装置100は、記憶部としてのストレージ101を備え、ストレージ101には、デジタル化されたAVデータが蓄積される。ストレージ101は、SSD(Solid State Drive)やHDD(Hard Disc Drive)、光ディスクドライブ等で構成される。また、再生装置100は、ネットワークを介して、外部装置としての外部PC(Personal Computer)200と接続されている。そして、ストレージ101を、外部PCのネットワークドライブとしても使えるように構成している。外部PC200には、例えばノンリニア編集用のアプリケーションが搭載されているものとし、外部PC200からは、ランダムアクセスによるデータの読み出し要求が入力されるものとする。
【0032】
また、再生装置100は、ストレージ制御部102と、読み出し制御部103と、第2のキャッシュとしてのビデオデータ用キャッシュ104と、PC IF(Interface)用キャッシュ105を備える。ストレージ制御部102は、デバイスドライバの機能を果たすものであり、実際のストレージ101を操作してストレージ101からのデータの読み出しを行う。読み出し制御部103は、ファイルシステムの機能を果たすものであり、データの取得が要求に応じてファイルの読み出しを指示する読み出し要求を生成し、生成した読み出し要求をストレージ制御部102に送信する。読み出し要求の中には、ファイルの読み出しに必要な情報として、ファイルのアクセス開始位置(オフセット)および、読み出すデータの量(長さ)が記載される。
【0033】
また、読み出し制御部103は、ストレージ101から読み出されたファイルを、ビデオデータ用キャッシュ104または、ビデオデータ再生処理部109または、PC IF用キャッシュ105または、ネットワーク制御部110に出力する。なお、ストレージ101に蓄積されたデータはAVデータであるため、読み出し制御部103によるファイルの読み出し単位は、フレームデータ単位となる。また、読み出すファイルの最大サイズ(第2のサイズ)は、GOP(Group Of Pictures)長として設定されたフレーム数と等しいサイズとする。GOPが15フレームで構成される場合には、第2のサイズは15フレームとなる。
【0034】
また、再生装置100は、操作パネル106と、ビデオデータ再生用制御部107と、データ要求処理部108と、ビデオデータ再生処理部109とを備える。操作パネル106は、ユーザからの操作が入力されるボタン等の入力部と、メニュー等を表示する表示パネル等の表示部により構成される。ユーザからの操作入力を受け付けると、その内容を操作コマンドとしてビデオデータ再生用制御部107に送信する。ビデオデータ再生用制御部107は、操作パネル106から送られてきた操作コマンドを解釈して具体的な動作に置き換える。そして、置き換えた動作の内容に基づく、例えばデータの取得要求(第2のデータ取得要求)等の要求を生成してデータ要求処理部108に送信する。データ要求処理部108は、ビデオデータ再生用制御部107から入力された要求と、後述するPC IF用制御部111から入力される要求とを調停して、読み出し制御部103に伝える。ビデオデータ再生処理部109は、ビデオデータ用キャッシュ104に保持されたビデオデータまたは、読み出し制御部103の制御に基づいてストレージ101から直接読み出されたビデオデータをD/A変換し、得られたビデオ信号を出力する。
【0035】
また、再生装置100は、データ送受信制御部としてのネットワーク制御部110と、PC IF用制御部111とを備える。ネットワーク制御部110は、外部PC200との間の通信を制御する。PC IF用制御部111は、通信を介して外部PC200から送られてきたコマンドを解釈して具体的な動作に置き換える。そして、置き換えた動作の内容に基づく、例えばデータの取得要求等の要求を生成してデータ要求処理部108に送信する。
【0036】
データ要求処理部108には、上述したように、PC IF制御部111からのデータ取得要求と、ビデオデータ再生用制御部107からのデータ取得要求とが入力される。PC IF制御部111からのデータ取得要求は、外部PC200から送信される。そして、外部PC200からは、前述したように、ランダムアクセスによるデータ取得要求が入力される。一方、ビデオデータ再生用制御部107から送信されるデータ取得要求は、ストレージ101に蓄積されたビデオデータを再生することを目的に生成されるものであり、シーケンシャルアクセスでのデータの読み出しを指示するものである。
【0037】
シーケンシャルアクセスによるデータ取得要求が続く間は、先読みによってキャッシュ(この場合はビデオデータ用キャッシュ104)に蓄積されたファイルをそのまま使用することが可能となる。このような場合には、ストレージ101からのファイルの読み出しサイズを大きくした方が、ストレージ101の有効活用の面からもレスポンス遅延解消の面からも有利となる。
【0038】
これに対して、ランダムアクセスによるファイルの取得が要求された場合には、先読みによってビデオデータ用キャッシュ104に蓄積されたファイルは、使用することができなくなる。このような場合には、ストレージ101からファイルを読み出す時間がそのままレスポンスの遅延時間となってしまうため、ストレージ101から読み出すファイルのサイズはできるだけ小さくする方がよい。
【0039】
このため、本開示の一実施の形態に係る再生装置100では、ランダムアクセスによるファイルの取得が要求された最初の1回目の、ストレージ101からのデータの読み出しは、ファイルサイズをできるだけ小さくして読み出す。その後は、ストレージ101から読み出すサイズを徐々に大きくすることを行う。ストレージ101からの読み出しサイズは、読み出し制御部103がストレージ101からデータを読み出す速度(第1の速度)と、ネットワーク制御部がPC IF用キャッシュ105からデータを読み出す速度(第2の速度)に基づいて算出することができる。第2の速度は、外部PC200に搭載されたアプリケーションの処理時間や、アプリケーションによって行われるデータ取得要求の頻度、外部PC200の性能やネットワークの通信速度等により定まる。
【0040】
<2.読み出しサイズの算出方法の説明>
次に、ストレージ101からのデータの読み出しサイズの算出方法について説明する。まず、データの読み出しサイズの算出にあたり、読み出し制御部103の読み出し速度を“x”、読み出し制御部103が読み出すファイルのサイズを“S”、ネットワーク制御部110がサイズSのデータを読み出す時間を“T”とする。また、読み出し制御部103がストレージ101からn回目にデータを読み出す場合のフレーム数を“j”、n−1回目に読み出したデータのフレーム数を“i”とする。
【0041】
このとき、n回目に読み出すフレーム数jは、以下の2つの式を満足させる値に設定される。
T(j)<S(i)/x …式1
j>i …式2
すなわち、式1によれば、n回目に読み出すフレーム数jは、読み出し制御部103がjフレームを読み出す時間T(j)が、iフレーム分のデータS(i)をネットワーク制御部110が読み出す時間xで除算した値よりも、小さくなる値に設定される。これにより、PC IF用キャッシュ105に保持されたすべてのデータを読み出し制御部103が読み出すまでの間に、読み出し制御部103がストレージ101から読み出せるデータサイズが算出される。さらに、式1により求められたフレーム数jは、既に読み出されたフレーム数iよりも大きなものである必要がある(式2)。
【0042】
以下に、具体的な数値を用いた読み出しサイズの算出例を示す。フレーム数iおよびjが取り得る値の最小値は1であり、最大値は第2のサイズである15(=GOP長)とする。また、ネットワーク制御部110がPC IF用キャッシュ105からデータを読み出す速度xは、24MB/sであるものとする。読み出し制御部103がストレージ101からファイルを読み出す速度は、ファイルのサイズにより異なるものであり、ファイルを構成するフレーム数に応じて速度を予め算出しておく。以下は、フレーム数が1,2,3,4,5,10,15である場合のファイルサイズSと、読み出し制御部103の読み出し速度Tを示したものである。
【0043】
フレーム数1の場合:S(1)=275kB,T(1)=10ms
フレーム数2の場合:S(2)=550kB,T(2)=12ms
フレーム数3の場合:S(3)=825kB,T(3)=16ms
フレーム数4の場合:S(4)=1100kB,T(4)=19ms
フレーム数5の場合:S(5)=1375kB,T(5)=23ms
フレーム数10の場合:S(10)=2750kB,T(10)=28ms
フレーム数15の場合:S(15)=4000kB,T(15)=34ms
【0044】
まず、ストレージ101から最初に読み出す最小サイズ(第1のサイズ)を算出してみる。最初に読み出す場合には、“n−1”の概念が存在しないため、まず、PC IF用キャッシュ105にiフレームが蓄積されているものとし、そのiフレームのデータがすべて読み出されるまでにかかる時間を算出する(式1の右辺)。そして、算出された値に基づいて、式1の左辺であるT(j)の“j”に代入可能なフレーム数を検討する。そして、“j”に代入可能なフレーム数から、式2を満たすフレーム数を絞り込むことを行う。
【0045】
式1の右辺の“i”に、例えば「1」を代入した場合には、
S(1)/x=275[kB]/24[MB/s]=11.4ms
となる。
そして、式1を満たすには、T(j)の値が11.4msより小さいものである必要がある。T(j)<11.4msとなるのは、j=1の場合(T=10ms)のみとなる。しかし、この場合はi=j=1となってしまうため、式2の“j>i”が満たされなくなる。
【0046】
次に、式1の右辺の“i”に「2」を代入してみると、右辺は、
S(2)/x=550[kB]/24[MB/s]=22ms
となる。
すなわち、式1は
T(j)<22ms
となるため、フレーム数jとして取り得る値は、T=10msとなる「1」から、T=19msとなる「4」までとなる。そして、これらのうち、式2を満たすのはj=3と、j=4となる。したがって、1回目の読み出しサイズは2フレームとし、2回目の読み出しサイズは3フレームまたは4フレームとすればよいことになる。このような場合は、実際には、マージンをとって3フレームが選択されることが多いものと考えられる。
【0047】
3回目の読み出しサイズは、“i”に「3」を代入して同様の計算を行うことにより算出できる。つまり、式1の右辺の“i”に「3」を代入してみると、右辺は、
S(3)/x=825[kB]/24[MB/s]=34ms
となる。
すなわち、式1は
T(j)<34ms
となるため、フレーム数jとして取り得る値は、T=10msとなる「1」から、T=28msとなる「10」までとなる。そして、これらのうち、式2を満たすのはj=4〜10となる。ここでは、このうち最大のフレーム数である「10」をjとして設定する。フレーム数j=10とする。
【0048】
i=10とした場合には、式1の右辺は、
S(10)/x=2750[kB]/24[MB/s]=114ms
となる。
すなわち、式1は
T(j)<114ms
となるため、フレーム数jとして取り得る値は、T=10msとなる「1」から、T=34msとなる「15」までのすべてとなる。そして、これらのうち、式2を満たすのはj=11〜15となる。ここでは、フレーム数jとして最大値の「15」を採用するものとする。フレーム数jが「15」となった後は、すなわち、第2のサイズに達した場合には、以降の読み出しは15フレーム単位で行う。
【0049】
図4に、このようにして算出した読み出しサイズに基づく、ストレージ101からのデータの読み出しのイメージを示してある。図4に示した「ユニット」とは、「エディットユニット」のことであり、「エディットユニット」とは、デジタル化されたビデオデータにおける1フレームの単位である。
【0050】
図4に示すように、1回目のアクセス時には2エディットユニット分のデータDt1を読み込み、2回目のアクセス時には3エディットユニット分のデータDt2を読み込む。この、3エディットユニット分のデータDt2の読み込みは、すでにPC IF用キャッシュ105(図3参照)に読み込まれた2エディットユニット分のデータDt1が、読み出し制御部103によってすべて読み出されるまでの間に行われる。3回目のアクセス時には10エディットユニット分のデータDt3を読み込む。この、10エディットユニット分のデータDt3の読み込みは、すでにPC IF用キャッシュ105に読み込まれた3エディットユニット分のデータDt2が、読み出し制御部103によってすべて読み出されるまでの間に行われる。
【0051】
4回目のアクセス時には15エディットユニット分のデータDt4を読み込む。この、15エディットユニット分のデータDt4の読み込みは、すでにPC IF用キャッシュ105に読み込まれた10エディットユニット分のデータDt3が、読み出し制御部103によってすべて読み出されるまでの間に行われる。そして、以降のストレージ101からの読み出しは、シーケンシャルでのデータの読み出し要求が続く限り、15エディットユニット単位で行われる。つまり、データ要求処理部108(図3参照)から供給された読み出し要求内で指示されたファイルのアクセス開始位置(オフセット)が、前回読み出しを行ったファイルのオフセットと連続している間は、15エディットユニット単位での読み出しが続けられる。読み出し要求内で示されるオフセットが飛んだ場合には、再び、ストレージ101からの読み出しサイズを2エディットユニットに戻し、読み出しのサイズを徐々に大きくしていくことを行う。このような、ストレージ101からのファイルの読み出しサイズの算出は、再生処理がされる前に予め行っておいてもよいが、ファイルの読み出しが発生する都度行うようにしてもよい。
【0052】
<3.読み出し制御部による処理の例>
次に、読み出し制御部103による処理の例について、図5のフローチャートを参照して説明する。まず、データ要求処理部108からのデータ取得要求を受け付けたか否かの判断を行い(ステップS1)、受けていない間はステップS1の判断を繰り返す。データ要求処理部108からのデータ取得要求を受け付けた場合には、データ取得要求により示されたファイルのオフセットが、前回読み出したファイルのオフセットと連続しているか否かを判断する(ステップS2)。前回読み出したファイルのオフセットと連続していないと判断した場合には、ストレージ101からのデータの読み出しサイズを最小サイズ(第1のサイズ)に設定し(ステップS3)、設定したサイズでのデータの読み出しを要求する読み出し要求を生成して、ストレージ制御部102に供給する(ステップS4)。
【0053】
続いて、PC IF用キャッシュ105上のデータの残量が、予め設定された所定の閾値以下であるか否かの判断を行う(ステップS5)。PC IF用キャッシュ105上のデータの残量が所定の閾値より大きい間は、ステップS5の判断が繰り返される。PC IF用キャッシュ105上のデータの残量が所定の閾値以下となった場合には、ステップS1に戻って判断が続けられる。
【0054】
ステップS2で、データ取得要求により示されたファイルのオフセットが、前回読み出したファイルのオフセットと連続していると判断した場合には、次に、前回設定した読み出しサイズが最大サイズ(第2のサイズ)であったか否かの判断を行う(ステップS6)。最大サイズではなかった場合、すなわち、最大サイズより小さいサイズであった場合には、前回設定した読み出しサイズより1段階大きなサイズを読み出しサイズとして設定し、ステップS4に進む。前回設定した読み出しサイズが最大サイズであった場合には、読み出しサイズを最大サイズに設定してステップS4に進む。
【0055】
図6は、読み出し制御部103が図5に示した処理を行った場合における、再生装置100でのデータ読み出し処理の例を示している。図6に示す、読み出し制御部103から最初に出された読み出し要求Ri1は、前回アクセスしたファイルのオフセットと連続していないオフセットが指定されたデータ取得要求に基づいて、生成されたものとする。
【0056】
したがって、読み出し制御部103は、予め設定された最小のサイズでストレージ101からデータDt1を読み出し、ビデオデータ再生処理部109に出力する。図4に示した例に当てはめると、データDt1のサイズは2エディットユニットとなる。そして、ストレージ101から読み出されたデータDt1は、ビデオデータ再生処理部109によって再生される。
【0057】
このように、データ取得要求において、前回アクセスしたファイルのオフセットと連続していないオフセットが指定された場合には、PC IF用キャッシュ105に蓄積されたデータは使用することができない。このような場合には、ストレージ101からデータDt1が読み出される時間が、そのままレスポンスの遅延時間となってしまう。本開示の一実施の形態による再生装置100によれば、このようなときに読み出すデータDt1のサイズを最小サイズとすることで、レスポンス遅延を最小限に抑えることができる。
【0058】
続いてデータ要求処理部108(図1参照)から送信される各データ取得要求では、そこで示されたファイルのオフセットが、前回読み出したファイルのオフセットと連続しているものとする。よって、読み出し制御部103は、ストレージ101からのデータの読み出しサイズを前回読み出したサイズ(2エディットユニット)より1段階大きなサイズ(3エディットユニット)に設定して、読み出し要求Ri2を送信する。そして、この読み出し要求Ri2に基づいて、3ユニット分のデータDt2がストレージ101から読み出され、PC IF用キャッシュ105に書き込まれる。PC IF用キャッシュ105に書き込まれたデータDt2は、ビデオデータ再生処理部109によるデータDt1の再生が終了する前にビデオデータ再生処理部109によって読み出され、データDt1の再生終了と同時に再生される。
【0059】
次に、読み出し制御部103は、ストレージ101からのデータの読み出しサイズを、さらに1段階大きなサイズである10ユニット(図4参照)に設定して、読み出し要求Ri3を送信する。そして、この読み出し要求Ri3に基づいて、10ユニット分のデータDt3がストレージ101から読み出され、PC IF用キャッシュ105に書き込まれる。この、ストレージ101からのデータDt3の読み出しは、ビデオデータ再生処理部109によってデータDt2のすべてのデータが再生されるまでの時間に行われる。すなわち、PC IF用キャッシュ105が枯渇するまでの間に行われる。
【0060】
続いて、読み出し制御部103は、ストレージ101からのデータの読み出しサイズを、もう1段階大きなサイズである15ユニット(図4参照)に設定して、読み出し要求Ri4を送信する。そして、この読み出し要求Ri4に基づいて、15ユニット分のデータDt4がストレージ101から読み出され、PC IF用キャッシュ105に書き込まれる。この、ストレージ101からのデータDt4の読み出しは、ビデオデータ再生処理部109によってデータDt3のすべてのデータが再生されるまでの時間に行われる。すなわち、PC IF用キャッシュ105が枯渇するまでの間に行われる。以降のストレージ101から読み出すデータのサイズは、ストレージ101へのシーケンシャルなアクセスが続く限り、最大のサイズである15エディットユニットに設定される。
【0061】
ストレージ101から読み出されるデータのサイズが大きくなればなるほど、それに比例して、ストレージ101へのアクセスが行われていない時間も図6に斜線で示したように増えていく。すなわち、マルチタスクで立ち上がっている他のタスクが、ストレージ101にアクセスできる機会も増大する。したがって、ストレージ101を効率的に利用できるようになる。
【0062】
つまり、本開示の一実施形態による再生装置100によれば、ランダムアクセスとシーケンシャルアクセスの両方によるアクセスが想定される場合において、レスポンス遅延の改善およびストレージ101の有効利用という、2つの効果を得ることができる。
【0063】
なお、上述した実施の形態では、本開示の再生装置を、再生のみを行う再生装置に適用した例をあげたが、記録も行える記録再生装置に適用してもよい。
【0064】
また、上述した実施の形態では、読み出し制御部103が設定する第2のサイズを、GOP長とする例を挙げたが、これに限定されるものではない。第2のサイズには、ストレージ101から読み出すデータのフォーマットに応じた最適な値が設定されるものとする。
【0065】
なお、本開示は以下のような構成も取ることができる。
(1)データが蓄積される記憶部と、
前記記憶部からの前記データの読み出しを制御する読み出し制御部と、
前記読み出し制御部が読み出した前記データを一時的に保持するキャッシュと、
外部装置から入力されるデータ取得要求に基づいて、前記キャッシュに保持された前記データを読み出して前記外部装置に出力するデータ送受信制御部とを備え、
前記読み出し制御部は、前記記憶部から読み出すデータの大きさを、予め定められた最小のサイズである第1のサイズから予め定められた最大のサイズである第2のサイズまでの間で段階的に大きくしながら、前記データを前記記憶部から読み出して前記キャッシュに出力する再生装置。
(2)前記第1のサイズおよび、前記第1のサイズより大きく前記第2のサイズより小さい各読み出しサイズは、前記読み出し制御部が前記記憶部から前記データを読み出す速度である第1の速度および、前記データ送受信制御部が前記キャッシュから前記データを読み出す速度である第2の速度に基づいて算出される(1)に記載の再生装置。
(3)前記第2の速度は前記第1の速度よりも遅く、前記第1のサイズおよび、前記第1のサイズより大きく前記第2のサイズより小さい各読み出しサイズは、前記キャッシュに保持されたすべてのデータを前記読み出し制御部が読み出すまでの間に、前記読み出し制御部が前記記憶部から読み出せる最大のサイズとして算出される(1)または(2)に記載の再生装置。
(4)前記データは音声データおよび映像データであり、前記読み出し制御部および前記データ送受信制御部が前記データの読み出しを行う単位はフレームである(1)〜(3)のいずれかに記載の再生装置。
(5)前記読み出し制御部の読み出し速度をx、前記読み出し制御部が読み出す前記データのサイズをS、前記データ送受信制御部が前記Sのサイズのデータを読み出す時間をTとすると、前記読み出し制御部が前記記憶部からn回目に前記データを読み出す場合のフレーム数であるjは、前記読み出し制御部が前記jフレームを読み出す時間であるT(j)が、前記iフレームのデータサイズであるS(i)を前記データ送受信制御部が読み出す時間で除算した値であるS(i)/xよりも小さくなる値であり、かつ、前記読み出し制御部が前記記憶部からn−1回目に読み出したデータのフレーム数であるiよりも大きな値に設定される(1)〜(4)のいずれかに記載の再生装置。
(6)前記読み出し制御部が読み出した前記データを一時的に保持する第2のキャッシュと、操作部を通して入力される第2の読み出し要求に基づいて、前記第2のキャッシュに保持された前記データを読み出して再生する再生処理部とをさらに備え、
前記読み出し制御部は、前記読み出し要求または前記第2の読み出し要求によって示されたデータのアクセス開始位置が、前回アクセスした位置と連続していない場合に、前記第1のサイズで前記記憶部から前記データを読み出す(1)〜(5)のいずれかに記載の再生装置。
(7)前記jが取り得る最大値は前記第2のサイズと等しく、前記第2のサイズは、前記音声データおよび映像データの符号化規格により定められる最小の単位構造の大きさに等しい(6)に記載の再生装置。
(8)データを蓄積することと、
前記蓄積されたデータを読み出す際の前記データの大きさを、予め定められた最小のサイズである第1のサイズから予め定められた最大のサイズである第2のサイズまでの間で段階的に大きくしながら、前記データを読み出して出力することと、
前記読み出されたデータを一時的にキャッシュすることと、
外部装置から入力されるデータ取得要求に基づいて、前記キャッシュされた前記データを読み出して前記外部装置に出力することとを含む再生方法。
【符号の説明】
【0066】
100…再生装置、101…ストレージ、102…ストレージ制御部、103…読み出し制御部、104…ビデオデータ用キャッシュ、105…PC IF用キャッシュ、106…操作パネル、107…ビデオデータ再生用制御部、108…データ要求処理部、109…ビデオデータ再生処理部、110…ネットワーク制御部、111…PC IF制御部
200…外部PC、Dt1〜Dt4…データ、Ri1〜Ri4…読み出し要求

【特許請求の範囲】
【請求項1】
データが蓄積される記憶部と、
前記記憶部からの前記データの読み出しを制御する読み出し制御部と、
前記読み出し制御部が読み出した前記データを一時的に保持するキャッシュと、
外部装置から入力されるデータ取得要求に基づいて、前記キャッシュに保持された前記データを読み出して前記外部装置に出力するデータ送受信制御部とを備え、
前記読み出し制御部は、前記記憶部から読み出すデータの大きさを、予め定められた最小のサイズである第1のサイズから予め定められた最大のサイズである第2のサイズまでの間で段階的に大きくしながら、前記データを前記記憶部から読み出して前記キャッシュに出力する
再生装置。
【請求項2】
前記第1のサイズおよび、前記第1のサイズより大きく前記第2のサイズより小さい各読み出しサイズは、前記読み出し制御部が前記記憶部から前記データを読み出す速度である第1の速度および、前記データ送受信制御部が前記キャッシュから前記データを読み出す速度である第2の速度に基づいて算出される
請求項1に記載の再生装置。
【請求項3】
前記第2の速度は前記第1の速度よりも遅く、前記第1のサイズおよび、前記第1のサイズより大きく前記第2のサイズより小さい各読み出しサイズは、前記キャッシュに保持されたすべてのデータを前記読み出し制御部が読み出すまでの間に、前記読み出し制御部が前記記憶部から読み出せる最大のサイズとして算出される
請求項2に記載の再生装置。
【請求項4】
前記データは音声データおよび映像データであり、前記読み出し制御部および前記データ送受信制御部が前記データの読み出しを行う単位はフレームである
請求項3に記載の再生装置。
【請求項5】
前記読み出し制御部の読み出し速度をx、前記読み出し制御部が読み出す前記データのサイズをS、前記データ送受信制御部が前記Sのサイズのデータを読み出す時間をTとすると、前記読み出し制御部が前記記憶部からn回目に前記データを読み出す場合のフレーム数であるjは、前記読み出し制御部が前記jフレームを読み出す時間であるT(j)が、前記iフレームのデータサイズであるS(i)を前記データ送受信制御部が読み出す時間で除算した値であるS(i)/xよりも小さくなる値であり、かつ、前記読み出し制御部が前記記憶部からn−1回目に読み出したデータのフレーム数であるiよりも大きな値に設定される
請求項4に記載の再生装置。
【請求項6】
前記読み出し制御部が読み出した前記データを一時的に保持する第2のキャッシュと、操作部を通して入力される第2のデータ取得要求に基づいて、前記第2のキャッシュに保持された前記データを読み出して再生する再生処理部とをさらに備え、
前記読み出し制御部は、前記データ取得要求または前記第2のデータ取得要求において示されたデータのアクセス開始位置が、前回アクセスした位置と連続していない場合に、前記第1のサイズで前記記憶部から前記データを読み出す
請求項5に記載の再生装置。
【請求項7】
前記jが取り得る最大値は前記第2のサイズと等しく、前記第2のサイズは、前記音声データおよび映像データの符号化規格により定められる最小の単位構造の大きさに等しい
請求項6に記載の再生装置。
【請求項8】
データを蓄積することと、
前記蓄積されたデータを読み出す際の前記データの大きさを、予め定められた最小のサイズである第1のサイズから予め定められた最大のサイズである第2のサイズまでの間で段階的に大きくしながら、前記データを読み出して出力することと、
前記読み出されたデータを一時的にキャッシュすることと、
外部装置から入力されるデータ取得要求に基づいて、前記キャッシュされた前記データを読み出して前記外部装置に出力することとを含む、
再生方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−221156(P2012−221156A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−85421(P2011−85421)
【出願日】平成23年4月7日(2011.4.7)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】