(57)【要約】【課題】ストレージに蓄積された映像・音声データを取得して再生装置に送信して再生させるシステムにおけるデータ取得時の応答遅延を少なくし、倍速再生、逆再生等のどのような再生の場合にも映像・音声を滑らかに再生できるようにする。【解決手段】映像・音声データを格納しているストレージ107から取得した映像・音声データを再生装置に含まれるデコーダ１０１に送信するストレージサーバ102は、映像・音声データをバッファリングするメモリバッファとして、３面のメモリバッファＡ104〜Ｃ106を有している。これらのメモリバッファ104〜Ｃ106は、データの取得に使用しているメモリバッファが現在面として利用され、他のメモリバッファが未来面、過去面として利用される。【選択図】図１
2012244587.tif 000002
【特許請求の範囲】
【請求項１】
ストレージに保管された映像・音声データを取得し再生装置に送信して再生させるストレージサーバにおいて、
前記ストレージから取得した映像・音声データを保持する３面のメモリバッファ、及び、再生装置が使用中の一定量の映像・音声データと、未来方向の一定量の映像・音声データと、過去方向の一定量の映像・音声データとを前記３面のメモリバッファのそれぞれに保持するように、前記３面のメモリバッファを制御する制御手段を有することを特徴とするストレージサーバ。
【請求項２】
前記再生装置が順方向の再生を行い、再生すべき映像・音声データが前記未来方向の映像・音声データを保持しているメモリバッファ内の映像・音声データとなったとき、前記過去方向の映像・音声データを保持しているメモリバッファを開放し、該開放したメモリバッファに、さらに未来方向の一定量の映像・音声データを前記ストレージから取得して保持させることを特徴とする請求項１記載のストレージサーバ。
【請求項３】
前記再生装置が逆方向の再生を行い、再生すべき映像・音声データが前記過去方向の映像・音声データを保持しているメモリバッファ内の映像・音声データとなったとき、前記未来方向の映像・音声データを保持しているメモリバッファを開放し、該開放したメモリバッファに、さらに過去方向の一定量の映像・音声データを前記ストレージから取得して保持させることを特徴とする請求項１記載のストレージサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージサーバに係り、特に、ストレージに蓄積された映像・音声データを取得して再生装置に送信する際に、再生装置における映像データの連続再生時のタイムラグを少なくするための映像・音声データに対するストレージサーバに関する。
【背景技術】
【０００２】
本発明に関連する従来技術として、例えば、特許文献１等に記載された技術が知られている。この技術は、素材映像を放送用映像に編集加工する編集処理を行って番組を制作し、送出するためのシステムであり、素材映像の読み出し遅延、通信網を介して素材映像データを送信する際の転送遅延が一定時間以下に収まり、画面フリーズが生じないように、通信網の帯域幅を確保するというものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−８３１９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、ストレージに蓄積された映像・音声データを読み出し、読み出した映像・音声データを再生装置に送信して再生させるシステムは、映像・音声データを一括取得して再生することが可能なだけの記憶容量が再生装置側で確保できていない構成の場合、映像・音声データの再生・逆再生を行う（再生の方向が変わる）際に生じるタイムラグをどのように解消するかが問題となっている。また、前述したシステムは、通常の連続再生や逆再生を行う場合においても、また、再生速度を変更した場合であってもなめらかな画面表示を行うことが要求されている。
【０００５】
また、前述したシステムは、映像・音声データを任意のときに随時取得するために、ストレージの物理ディスクへのアクセスを再生の都度実施した場合、物理ディスクからのデータ読み出しのための応答遅延を発生させ、また、高速再生時や逆再生を行う場合、ストレージに対してランダムアクセスを行う必要があるために、更に大きな応答遅延を生じさせてしまう。
【０００６】
前述したような遅延を生じさせないようにすることのできる従来技術として、ストレージへのアクセスを制御するストレージサーバが、再生装置から再生すべき映像・音声データが要求される度に物理ディスクからの映像・音声データの取得を行うのではなく、一定サイズの映像・音声データを、予めストレージサーバのメモリ上にバッファリングしておき、要求を受信したときに、バッファの内容を再生装置に送信するというものがある。
【０００７】
このように、物理ディスク上のデータの一部をメモリ上にバッファリングして保持しておくことにより、応答速度を向上させることができる。しかし、映像・音声データを、予めストレージサーバのメモリ上にバッファリングしておくという前述の従来技術は、バッファが１面のみの場合、バッファの最後に行き着いたときにメモリをクリアし、ディスクからreadする必要があり、その際に遅延を発生させるという問題点を有する。そのため、２面のバッファを準備し、交互に使用するという技術が一般に採用されているが、このような従来技術も、再生方向を逆転させた場合に、遅延を発生させてしまうという問題点を生じさせる。
【０００８】
本発明の目的は、前述した従来技術の問題点を解決し、ストレージに蓄積された映像・音声データを取得して再生装置に送信して再生させるシステムにおける前述したような応答遅延を少なくし、倍速再生、逆再生等のどのような再生の場合にも映像・音声を滑らかに再生できるようにしたストレージサーバにおける映像・音声データに対するバッファ制御方法及びストレージサーバを提供することにある。
【課題を解決するための手段】
【０００９】
前記目的は、例えば、ストレージに保管された映像・音声データを取得し再生装置に送信して再生させるストレージサーバでの映像・音声に対するバッファ制御において、前記ストレージサーバは、前記ストレージから取得した映像・音声データを保持する３面のメモリバッファを有し、再生装置が使用中の一定量の映像・音声データと、未来方向の一定量の映像・音声データと、過去方向の一定量の映像・音声データとを前記３面のメモリバッファのそれぞれに保持するように、前記３面のメモリバッファを制御することにより達成される。
【発明の効果】
【００１０】
再生側の装置が映像・音声ファイルを一括して取得しなくても、倍速再生や逆再生時も含めて、どのような再生の場合にも映像・音声を滑らかに再生させることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態によるストレージサーバを備え、ストレージに蓄積された映像・音声データを取得し、再生装置に送信して再生させる再生システムの構成例を示すブロック図である。
【図２】本発明により実現される映像・音声データに対するメモリバッファの制御方法の第１の例を説明する図である。
【図３】本発明により実現される映像・音声データに対するメモリバッファの制御方法の第２の例を説明するフローチャートである。
【図４】デコーダからの映像・音声データの取得要求の例を要求順にテーブルとして示した図である。
【発明を実施するための形態】
【００１２】
以下、本発明による映像・音声データに対するバッファの実施形態を図面により詳細に説明する。ここで説明する本発明の実施形態は、映像・音声データを保持するストレージへのアクセスを制御するストレージサーバを、映像・音声データを保持するメモリバッファを３面備えて構成することにより、再生装置からの映像・音声データの取得要求に対して応答遅延を防止し、なめらかな再生、逆再生を行うことができるようにしたものである。
【００１３】
図１は本発明の一実施形態によるストレージサーバを備え、ストレージに蓄積された映像・音声データを取得し、再生装置に送信して再生させる再生システムの構成例を示すブロック図である。
【００１４】
図１に示す再生システムの例は、映像・音声データを格納しているストレージ１０７と、該ストレージ１０７に接続されていて、ストレージ１０７から取得した映像・音声データをデコーダ１０１に送信する本発明の実施形態によるストレージサーバ１０２と、デコーダ１０１を含んで構成される図示しない映像・音声データの再生装置とにより構成される。
【００１５】
前述において、図示しない映像・音声データの再生装置は、デコーダ１０１を有するどのような構成のものであってもよく、ストレージサーバ１０２に再生に必要な映像・音声データを要求し、デコーダ１０１がストレージサーバから受け取って復号した映像・音声を表示・出力することができるものであればよい。
【００１６】
また、ストレージ１０７は、複数のＨＤＤ等のディスクを備えて構成され、ディスク内な映像・音声データを蓄積していて、ストレージサーバ１０２からの要求により、要求された映像・音声データをストレージサーバ１０２に送信する機能を備えている。
【００１７】
また、ストレージサーバ１０２は、よく知られているように、図示しないが、ＣＰＵ、メモリ、ＯＳ及びアプリケーションプログラム等を格納するＨＤＤ等の記憶装置、必要であれば、管理者が使用する表示装置及びキーボード等の入力装置を備えた情報処理装置であり、デコーダ１０１からの要求により、ストレージ１０７にアクセスしてストレージ１０７から要求された映像・音声データを取得し、取得した映像・音声データをデコーダ１０１に送信する機能を有している。また、ストレージサーバ１０２は、本発明のために、ストレージ１０７から取得した映像・音声データを格納する３面のメモリバッファＡ１０４からＣ１０６と、デコーダとの間でのデータ等の授受を制御する制御部１０３とを備えている。
【００１８】
そして、ストレージサーバ１０２の図示しない記憶装置内には、本発明におけるメモリバッファの制御を行う機能部を構築するプログラムが格納されており、そのプログラムがメモリにロードされ、ＯＳの下にＣＰＵにより実行されることにより、後述するような本発明の実施形態でのメモリバッファの制御機能が構築される。
【００１９】
図２は本発明により実現される映像・音声データに対するメモリバッファの制御方法の第１の例を説明する図である。ここで説明するメモリバッファの制御方法は、ストレージサーバ１０２に備えられる３面のメモリバッファＡ１０４〜Ｃ１０６の全てが空きとなっている初期状態で、ストレージサーバ１０２がデコーダ１０１から要求された映像・音声データをストレージ１０７のディスクから取得してデコーダに転送する制御を説明するものである。
【００２０】
（１）状態１として示すように、デコーダ１０１は、まず、ストレージサーバ１０２に、再生すべき先頭からの映像・音声データを要求する。この要求を受けたストレージサーバ１０２は、ストレージ１０７から先頭から所定量の映像・音声データ（図２では単に映像とのみ表示）１を読み出して取得し、メモリバッファＡ１０４に格納すると共に、映像・音声データ１をデコーダ１０１に転送して、先頭の映像・音声を再生させると同時に、先頭からの映像・音声データ１に続く所定量の映像・音声データ２、３をストレージ１０７から取得してメモリバッファＢ１０５、Ｃ１０６に格納する。
【００２１】
（２）次に、デコーダ１０１が、状態２として示すように、ストレージサーバ１０２に、再生すべき先頭の映像・音声データ１の次のデータ２を要求したとする。この要求を受けたストレージサーバ１０２は、メモリバッファＢ１０５に格納されている映像・音声データ２をデコーダ１０１に転送して、次の映像・音声データ２の映像・音声を再生させる。このとき、ストレージサーバ１０２は、デコーダ１０１からの要求が順方向の再生、逆方向の再生のとちらにも対応することができるように、３面のメモリバッファＡ１０４〜Ｃ１０６には、映像・音声データ１〜３を保持したままとする。
【００２２】
（３）次に、デコーダ１０１が、状態３として示すように、ストレージサーバ１０２に、次に再生すべき映像・音声データ３を要求したとする。この要求を受けたストレージサーバ１０２は、メモリバッファＣ１０６に格納されている映像・音声データ３をデコーダ１０１に転送して、次に再生すべき映像・音声データ３の映像・音声を再生させる。このとき、ストレージサーバ１０２は、逆方向の再生に備えるため、映像・音声データ２を継続して保持し、２世代古い映像・音声データ１を破棄して、メモリバッファＡ１０４を空け、次の順方向の再生のために映像・音声データ３に続く所定量の映像・音声データ４をストレージ１０７から取得してメモリバッファＡ１０４に格納する。
【００２３】
（４）次に、デコーダ１０１が、状態４として示すように、ストレージサーバ１０２に、逆方向の再生を行うために再生すべき映像・音声データとして映像・音声データ２を要求したとする。この要求を受けたストレージサーバ１０２は、メモリバッファＢ１０５に保持していた映像・音声データ２をデコーダ１０１に転送して、映像・音声データ２の映像・音声を逆方向に再生させる。このとき、ストレージサーバ１０２は、順方向再生のために、映像・音声データ３を継続して保持すると共に、逆方向の再生が続くことも予測して、２世代先の映像・音声データ４を破棄して、メモリバッファＡ１０４を空け、次の逆方向の再生のために映像・音声データ２の逆方向の映像・音声データ１をストレージ１０７から取得してメモリバッファＡ１０４に格納する。
【００２４】
本発明の実施形態は、前述したようなメモリバッファの制御を行うことにより、再生側の装置が映像・音声ファイルを一括して取得しなくても、倍速再生や逆再生時も含めて、どのような再生の場合にも映像・音声を滑らかに再生させることができる。
【００２５】
図３は本発明により実現される映像・音声データに対するメモリバッファの制御方法の第２の例を説明するフローチャート、図４はデコーダ１０１からの映像・音声データの取得要求の例を要求順にテーブルとして示した図であり、次に、図３、図４を参照すると共に、図１をも参照して、映像・音声データに対するメモリバッファの制御方法の第２の例を説明する。ここで説明するメモリバッファの制御方法は、ストレージサーバ１０２に備えられる３面のメモリバッファＡ１０４〜Ｃ１０６の全てに映像・音声データが格納されている状態で、ストレージサーバ１０２がデコーダから図４に示しているような要求を受けたときに、要求された映像・音声データをストレージ１０７のディスクから取得してデコーダに転送する制御を説明するものである。
【００２６】
そして、ここでは、メモリバッファからの読み取りフレーム数を最大５とし、各バッファには、１０フレーム分のデータが保持されている場合の例を挙げて説明するが、これらの値は、システム構成に応じて任意に設定可能である。そして、デコーダ１０１からの映像・音声データの取得要求は、図４に示すように、要求を一意に特定するＩＤ、リード状態を示すモード、再生方向と再生速度とを示す再生モード、開始フレーム番号を示す開始位置、再生の場合の取得フレーム数を示すフレーム数を１つのレコードとした複数の取得要求からなり、ここで説明する例では、デコーダ１０１からの映像・音声データの取得要求が、ＩＤ００１から順ストレージサーバに送信されてくるものとする。また、ストレージサーバ１０２内のメモリバッファＡ１０４〜Ｃ１０６には、フレーム番号−１０〜２０までの３０フレームの映像・音声データが１０フレームずつ格納されているものとしている。
【００２７】
（１）ストレージサーバ１０２は、デコーダ１０１からの映像・音声データの取得要求を受信すると、データ取得要求の完了までの処理を繰り返すようにループを設定する（ステップ２０１、２０２）。
【００２８】
（２）その後、ストレージサーバ１０２の制御部１０３は、デコーダ１０１からの要求を解析してフレーム開始位置を特定し、要求に含まれる再生モードから再生方向、再生速度を判断し、返信する指定されたフレームを特定する（ステップ２０３、２０４）。
【００２９】
（３）次に、ストレージサーバ１０２の制御部１０３は、３面のメモリバッファをまたぐフレームが要求されているか否かを判定する。例えば、デコーダ１０１からの取得要求がＩＤ＝００１の取得要求であった場合、必要なフレームは、フレーム３〜７の５フレームであり、これらのフレームはメモリバッファＢ１０５に保持されているので、メモリバッファのまたぎが発生していないと判断でき、このメモリバッファＢ１０５内から全フレームを取得可能であるためメモリバッファＢ１０５から取得要求のフレームを抽出してデコーダ１０１に返信し、次の要求についての処理を行う（ステップ２０５、２０６）。
【００３０】
（４）ステップ２０５の判定で、３面のメモリバッファをまたぐフレームが要求されていた場合、例えば、デコーダ１０１からの取得要求が次の要求であるＩＤ＝００２の取得要求であった場合、必要なフレームがフレーム８〜１２の５フレームであり、メモリバッファＢ１０５からメモリバッファＣ１０６にまたがっていると判定される。この場合、制御部１０３は、抽出対象のフレーム８〜１２を抽出してデコーダ１０１に返信する。その際、制御部１０３は、抽出するフレームがメモリバッファＢ１０５からメモリバッファＣ１０６に移ったときに、メモリバッファＡ１０４に保持していた映像・音声データを破棄してメモリバッファＡ１０４を開放し、ストレージ１０７からフレーム２１以降の１０フレーム分のフレームをディスクから先読みし、ここでは未来面と呼ぶバッファをメモリバッファＡ１０４内に生成し、メモリバッファＣ１０６を現在面と呼ぶバッファとし、メモリバッファＢ１０５を過去面と呼ぶバッファとして、次の取得要求に備える（ステップ２０７）。
【００３１】
（５）ステップ２０６またはステップ２０７の処理の後、ステップ２０２の処理で設定したループでのデータ取得要求の繰り返し処理が終了していれば、ここでの処理を終了する（ステップ２０８）。
【００３２】
次に、続けて、デコーダ１０１からＩＤ＝００３、ＩＤ＝００４の取得要求が順に届いたものとして、前述のステップ２０５以降の処理について説明する。
【００３３】
デコーダ１０１からＩＤ＝００３の取得要求が届いたものとする。このＩＤ＝００３の取得要求は、逆再生でメモリバッファＣ１０６が保持している現在面及びメモリバッファＢ１０５が保持している過去面のフレームを要求しているので、ステップ２０５の判定で、メモリバッファのまたぎが発生していると判定される。そして、制御部１０３は、抽出対象のフレームであるフレーム１２〜フレーム８を抽出して返信するが、抽出するフレームを格納しているバッファが切り替わると同時に、ＩＤ＝００２の要求の処理で先読みを行い、未来方向の映像・音声データを保持していたメモリバッファＡ１０４を開放し、ストレージ１０７のディスクから過去方向の映像・音声データを先読みしてメモリバッファＡ１０４に格納し、メモリバッファＡ１０４を過去面と呼ぶバッファとして次の取得要求に備える。
【００３４】
続けて、デコーダ１０１からＩＤ＝００４の取得要求が届いたものとする。この場合、そのまま逆方向への再生の処理であるが、２倍速の逆再生であるため、ステップ２０４の処理で１フレームずつ間引いたフレーム、すなわち、フレーム８、６、４、２、−１が特定される。取得するフレームは、メモリバッファＢ１０５及びＡ１０４内に存在するので、ステップ２０５の判定で、メモリバッファのまたぎが発生していると判定される。そして、制御部１０３は、抽出対象のフレームを抽出してデコーダ１０１に返信する。その際、制御部１０３は、前述と同様に、抽出するフレームを格納しているバッファが切り替わると同時に、メモリバッファＣ１０６を開放し、ストレージのディスクからさらに過去方向の映像・音声データの先読みを行い、メモリバッファＣ１０６に過去面のバッファを生成して次の取得要求に備える。このときメモリバッファＢ１０５は未来面のバッファとされ、メモリバッファＡ１０４は現在面のバッファとされる。
【００３５】
本発明の実施形態は、前述で説明したような制御を行うことにより、安定した映像・音声データを再生装置に配信して再生を行わせることができる。
【００３６】
なお、３倍速以上の再生モードの場合、メモリバッファからのフレームの取得を行わず、ストレージから必要なフレームを抽出し、再生装置に返信後、メモリバッファを必要に応じて開放し、次の要求に備えるようにすればよい。
【符号の説明】
【００３７】
１０１  デコーダ
１０２  ストレージサーバ
１０３  制御部
１０４  メモリバッファＡ
１０５  メモリバッファＢ
１０６  メモリバッファＣ
１０７  ストレージ
【図１】
2012244587.tif 000003
【図２】
2012244587.tif 000004
【図３】
2012244587.tif 000005
【図４】
2012244587.tif 000006