JP2006339980A - 映像再生装置 - Google Patents

映像再生装置 Download PDF

Info

Publication number
JP2006339980A
JP2006339980A JP2005161571A JP2005161571A JP2006339980A JP 2006339980 A JP2006339980 A JP 2006339980A JP 2005161571 A JP2005161571 A JP 2005161571A JP 2005161571 A JP2005161571 A JP 2005161571A JP 2006339980 A JP2006339980 A JP 2006339980A
Authority
JP
Japan
Prior art keywords
video
data
buffer
time
compressed data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005161571A
Other languages
English (en)
Inventor
Fumio Torigata
文男 鳥潟
Masaru Igawa
勝 井川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005161571A priority Critical patent/JP2006339980A/ja
Publication of JP2006339980A publication Critical patent/JP2006339980A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ビデオオンデマンドシステムにおいて、現在の再生位置を起点とした映像制御コマンドのレスポンス速度を改善することにより視聴者のストレスを軽減する。
【解決手段】映像再生用クライアント103は、ビデオサーバ101へ要求した映像データをネットワーク経由で受信して表示する。受信した映像データは、圧縮データを蓄積する第1のバッファ111、112に一時的に蓄積される。現在の映像の再生位置を含んだ第1の時間範囲の外にはみ出した前記蓄積映像データは、所定の規則に従ってその一部のみを残しつつ第1のバッファから削除する。時間的に不連続なフレームを表示するフレーム飛ばし再生を新規に実行する際には、第1のバッファに保持されている前記受信データを取り出してデコードを開始すると同時に、サーバ101に対して第1のバッファに蓄積されたデータの時間的に最も過去のデータあるいは未来のデータを送信開始位置として映像データをサーバ101に要求する。
【選択図】 図1

Description

本発明は、映像再生装置に係り、特に、映像制御コマンドのレスポンス速度を向上させた映像再生装置に関する。
近年、映像圧縮技術の向上とネットワークの高速化とにより、映像をサーバに蓄積しユーザの要求に応じてネットワーク経由で映像を配信するストリーミングと呼ばれる映像の視聴形態が普及してきた。現在では、放送局等の映像のプロフェッショナル等によっても多く使用されるようになってきており、多機能な映像操作機能が要求されている。また、そのようなケースでは、単純に映像を再生するだけではなく、頻繁に異なる映像操作コマンドを実行するため、ストリーミングといえどもいかに軽快に操作を行うことができるかが課題として挙げられる。
放送局では、従来からテープに映像を記録していたこともあり、ジョグシャトルを用いて映像の制御を行うのが一般的である。そのため、ビデオオンデマンドにおいても同様の操作感が得られることが望ましいとされる。ジョグシャトルによる操作は、必ず現在の再生位置を起点とするため、ビデオオンデマンドにおいても現在の再生位置を起点とした映像制御を高速化する効果が大きいといえる。
映像制御コマンドの高速化に関する従来技術として、例えば、特許文献1等に記載された技術が知られている。この特許文献1に記載された従来技術は、シークの遅いディスク装置に蓄積した映像データを再生する際に、キーフレーム圧縮データを保持することにより、逆再生時に視聴開始までの時間を短縮することを可能とするというものである。
また、視聴開始にかかる時間を短縮することを可能とした従来技術として、例えば、特許文献2等に記載された技術が知られている。この特許文献2に記載された従来技術は、視聴する可能性のあるコンテンツの先頭部分を予めダウンロードしておくことにより、ユーザが視聴を開始したときのレスポンス速度を上げることを可能としたものである。
特開平8−79710号公報 特開2003−284029号公報
前述した特許文献2に記載の従来技術は、視聴開始にかかる時間だけを短縮することが可能であり、視聴中に行う映像制御コマンドを高速化することができないという問題点を有しており、また、特許文献1に記載の従来技術は、レスポンス時間を短縮することができるのはキーフレームのみを再生するフレーム飛ばし再生コマンドのみであり、フレーム飛ばし再生以外の連続再生の場合、レスポンス時間を短縮することができないという問題点を有している。
本発明の目的は、前述した従来技術の問題点を解決し、現在の再生位置を起点とするフレーム飛ばし再生コマンド(逆方向も含む)と連続再生コマンド(逆方向も含む)との両方を高速化することができる映像再生装置を提供することにある。
本発明によれば前記目的は、ビデオサーバへ要求した映像データをネットワーク経由で受信し、前記映像データをデコードして表示する映像再生装置において、受信した前記映像データである圧縮データを蓄積する第1のバッファと、圧縮データをデコードする映像デコード手段と、デコードされた非圧縮データを一定時間分保持する第2のバッファと、映像再生装置全体を制御する制御手段とを備え、前記第1のバッファは、現在の映像の再生位置を中心として設定された所定の時間範囲の連続した映像データと、前記所定の時間範囲の外側に複数のキーフレームの映像データとを蓄積しており、前記制御手段は、映像制御コマンドを新規に実行する際に、前記第1のバッファに保持されている前記映像データを取り出し、前記デコード手段にデコードを開始させることにより達成される。
本発明によれば、現在の再生位置付近を視聴開始位置とする連続再生コマンドとフレーム飛ばし再生コマンドとコマ送り/戻しコマンドとのレスポンス時間を極めて短くすることができ、映像視聴者が軽快に映像を制御することができる。
以下、本発明による映像再生装置の実施形態を図面により詳細に説明する。
図1は本発明の一実施形態による映像再生装置を含むビデオオンデマンドシステムのプログラム構成を示すブロック図である。図1において、101はビデオサーバ、102はネットワーク、103はクライアント、104は制御コマンド送信部、105はプレーヤ制御部、106はストリーム受信部、107は圧縮データ制御部、108は映像デコード部、109は非圧縮データ制御部、110は映像レンダラ、111は連続圧縮データバッファ、112はキーフレーム圧縮データバッファ、113は非圧縮データバッファ、114は入力装置、115はモニタである。
図1に示すビデオオンデマンドシステムは、映像の表示処理を行うクライアント103と、映像情報をクライアント103に送出するビデオサーバ101とがネットワーク102により接続されて構成される。そして、ビデオサーバ101は、クライアント103からネットワーク102を介して映像制御コマンドを受け取り、映像ファイルを指定された位置から指定された方式でクライアント103に送出し、クライアント103は、ビデオサーバ101から映像データを受け取って再生する。
次に、前述したように構成されるクライアント103の動作の概要にを説明する。
映像の時間的に連続するフレームを順次表示する連続再生コマンドを実行する場合、クライアント103は、ビデオサーバ101に映像制御コマンドを送信すると同時に、非圧縮データバッファ113からデータを取り出して表示を開始する。そして、非圧縮データバッファ113に残っている画像を表示している間に、連続圧縮データバッファ111に格納された圧縮データを映像デコード部108でデコードし非圧縮データバッファ113に追加していき、連続圧縮データバッファ111に蓄積されたデータが枯渇する前に、ビデオサーバ101から映像データを受信する。
また、映像の時間的に不連続なフレームを順次表示するフレーム飛ばし再生コマンドを実行する場合、クライアント103は、ビデオサーバ101に映像制御コマンドを送信すると同時に、非圧縮データバッファ113からデータを取り出して表示を開始する。そして、非圧縮データバッファ113に残っている画像を表示している間に、キーフレーム圧縮データバッファ112に格納された圧縮データを映像デコード部108デコードし非圧縮データバッファ113に追加していき、キーフレーム圧縮データバッファ112に蓄積されたデータが枯渇する前に、ビデオサーバ101から映像データを受信する。
クライアント103がビデオサーバ101にコマンドを送ってから映像データが返ってくるまでの時間をサーバレスポンス時間と呼ぶ。連続圧縮データバッファの長さは、最大連続再生速度×サーバレスポンスタイムとし、キーフレーム圧縮データバッファ112の長さは、最大フレーム飛ばし再生速度×サーバレスポンスタイムとする。
クライアント103は、PC等のような計算機により構成され、よく知られているように、CPU、主メモリ、ネットワークインタフェース、HDD等の記憶装置、ビデオカード等を備えて構成されていればよく、コマンドの入力を行うために使用する入力装置114、映像を表示するモニタ115が接続されている。そして、クライアント103を構成する次に説明する各コンポーネントは、PCが持つ主メモリに格納したプログラムをCPUが実行することによって実現することができる。
クライアント103は、外部の入力装置114から入力されたコマンドに従って映像制御コマンドの送出から映像データの再生までの全体を制御するプレーヤ制御部105と、ビデオサーバ101に対して映像制御コマンドを送信する制御コマンド送信部104と、ビデオサーバ101から映像データを受信するストリーム受信部106と、受信した映像データを連続圧縮データバッファ111及びキーフレーム圧縮データバッファ112へ蓄積し、また、映像デコード部108に対して連続圧縮データバッファ111及びキーフレーム圧縮データバッファ112から取得したデータを送出する圧縮データ制御部107と、受信したデータのうち時間的に連続な映像データを格納する連続圧縮データバッファ111と、受信したデータのうちキーフレーム圧縮データのみを格納するキーフレーム圧縮データバッファ112と、符号化されて圧縮された映像データをデコードする映像デコード部108と、非圧縮データの非圧縮データバッファ113への入出力を管理し、また、映像レンダラ110へ非圧縮データの送信を行う非圧縮データ制御部109と、符号化された圧縮データをデコードして生成した非圧縮データを蓄積する非圧縮データバッファ113と、非圧縮データ制御部109が送信した非圧縮データをモニタ115に出力する映像レンダラ110とにより構成される。
前述したように構成されるクライアント103において、プレーヤ制御部105は、入力装置114から制御コマンドを受けると、制御コマンド送信部104に制御コマンドメッセージのビデオサーバ101への送信を指示する。制御コマンドは、ビデオサーバ101とクライアント103とを接続するための接続コマンドと、映像再生を制御する映像制御コマンドとを備える。制御コマンド送信部104は、ビデオサーバ101とクライアント103とが接続されていない状態の場合、接続コマンドのみ受け付ける。映像制御コマンドには、任意の方向とスピードとにより全ての画像フレームを表示する連続再生コマンドと、任意の方向とスピードとによりキーフレームのみを表示するフレーム飛ばし再生コマンドと、任意の方向に1フレーム進めて表示するコマ送り/コマ戻しコマンドとがある。なお、前述したような各コマンドの処理手順については後述する。
制御コマンド送信部104は、プレーヤ制御部105から指示された命令が接続コマンドの場合に、ネットワーク102を介してビデオサーバ101へ接続要求メッセージを送信し、その応答として接続応答メッセージを受信し、受信した接続応答メッセージ内のセッションIDが失敗を意味するものでなければ、プレーヤ制御部105にその旨を通知する。それ以降、プレーヤ制御部105は、映像制御コマンドを実行可能とする。また、制御コマンド送信部104は、プレーヤ制御部105から受けた命令が映像制御コマンドの場合、そのままネットワーク102を介してビデオサーバ101へ制御コマンドメッセージを送信し、その応答のうちリターンコードのみを受信し、受信したリターンコードが成功であれば、ストリーム受信部106へ通信用のソケットを渡してデータの受信を行わせる。
ストリーム受信部106は、制御コマンド送信部104から渡された通信用ソケットを利用し、ネットワーク102を介してビデオサーバ101から送信されてくる映像データを受信し、受信した映像データを圧縮データ制御部107へ渡す。また、ストリーム受信部106は、制御コマンド送信部104がビデオサーバ101へ制御コマンドコマンドメッセージを送ってからストリーム受信部106が映像データを受け取るまでの時間を計測し、計測した時間をプレーヤ制御部105へ通知する。これにより、プレーヤ制御部105は、ストリーマの負荷状態とネットワーク状態とを知ることができる。
圧縮データ制御部107は、制御コマンドがフレーム飛ばし再生のとき、ストリーム受信部106から渡された圧縮データを、キーフレーム圧縮データバッファ112へ格納し、それ以外のコマンドの場合、連続圧縮データバッファ111へ追加するが、そのとき、キーフレームの圧縮データをキーフレーム圧縮データバッファ112へも同時に格納する。また、圧縮データ制御部107は、連続圧縮データバッファ111の最大蓄積時間を越えないように過去に追加したデータを削除する。同様に、圧縮データ制御部107は、キーフレーム圧縮データバッファ112の最大蓄積時間を越えないように過去に登録したデータを削除する。キーフレーム圧縮データバッファ112の最大蓄積時間は、連続圧縮データバッファ111の最大蓄積時間より小さいため、クライアント103としては、再生位置の近傍の圧縮データは、時間的に連続に蓄積し、時間的に離れたデータは、離散的に蓄積することになる。なお、連続圧縮データバッファ111とキーフレーム圧縮データバッファ112とには、受信したデータを2重に格納してもよいがメモリ上のデータのアドレスは同一であってもよい。また、圧縮データ制御部107は、映像制御コマンド実行時には、映像デコード部108に対し、可能な限り速い速度でデータを送信する。但し、映像デコード部108がデータの受け取りを拒否した場合、受け取るまで待機する。
映像デコード部108は、圧縮データ制御部107から送られてきた圧縮データをデコードし、非圧縮データを生成する。生成された非圧縮データは、非圧縮データ制御部109に送信される。
非圧縮データ制御部109は、映像デコード部108から渡された非圧縮データを非圧縮データバッファ113へ格納すると共に、その処理と並列に非圧縮データバッファ113から非圧縮データを取得し、取得した非圧縮データに再生速度と再生位置とに応じて変化させた再生時刻を付加して映像レンダラ110へ渡す。再生時刻は、映像レンダラ110において、映像のフレームを表示するタイミングを表した時刻である。コマ送り/戻しの場合、再生時刻は特に参照されない。
映像レンダラ110は、非圧縮データ制御部109から非圧縮データを受け取って、映像レンダラ110内に設けられている図示しないフレームバッファに一旦格納し、その非圧縮データの再生時刻になるのを待ってから、フレームバッファ内の受け取った非圧縮データをモニタ115に出力し、映像の再生を行う。また、映像レンダラ110は、コマ送り/戻しコマンドを処理する場合、1コマの表示を行った後、次のコマ送り/戻し命令が実行されるまでの間、非圧縮制御部109からデータの受け取りをブロックする。
図2は非圧縮データバッファ113と連続圧縮バッファ111とキーフレーム圧縮データバッファ112とに蓄積されるデータ形式について説明する図であり、次に、これについて説明する。
連続圧縮データバッファ111は、図2(a)に示すように、映像のGOV201を蓄積の単位としてデータを蓄積する。GOV201は、画像フレームの集合であり、通常、1秒程度の映像を表示することができる数の画像フレームの集合(一般には30枚)であり、それ自体でデコード可能なキーフレーム202(図2ではIと表記する)と、他のフレームのデコード結果を参照しなければデコードすることができない差分フレーム203(図2ではPと表記する)とから構成される。差分フレーム203には、デコード時に依存するフレームの数が1枚のPフレームと、デコード時に依存するフレームが2枚のBフレームとがあるが、ここではPフレームであるとしている。キーフレーム202は、位置を識別するための時間204とキーフレーム圧縮データ205とから構成される。差分フレーム203も、同様に、位置を識別するための時間206とフレーム相関圧縮データ207とから構成される。
連続圧縮データバッファ111の最大蓄積時間の制約条件は、最大連続再生速度で蓄積データを全て消費するのにかかる時間が、サーバレスポンスタイムよりも大きいことである。サーバレスポンスタイムは、制御コマンド送信部104がビデオサーバ101に映像送信要求メッセージを送ってから、ストリーム受信部106がビデオサーバ101から映像データメッセージの受け取りを開始するまでの時間であり、ストリーム受信部106において統計を取っている。従って、連続圧縮データバッファ111の最大蓄積時間(第1の時間)は、最大連続再生速度×サーバレスポンスタイム+α(安全度を見込んだ余分の時間)であってよい。最大連続再生速度は、システムが許容する連続再生の最大速度である。
キーフレーム圧縮データバッファ112は、図2(b)に示すように、キーフレーム圧縮データ202のみを蓄積するバッファである。キーフレーム圧縮データの時間当りのデータ量は、連続データより小さいため、キーフレーム圧縮データバッファ112は、キーフレーム圧縮データバッファ112と同一の容量でも長時間蓄積することが可能である。キーフレーム圧縮データバッファ112の最大蓄積時間の制約条件は、時間的に不連続なフレームを順次再生するフレーム飛ばし再生でキーフレーム圧縮データバッファ112の蓄積データをすべて消費するのにかかる時間が、前記サーバレスポンスタイムよりも大きいことである。従って、キーフレーム圧縮データバッファ112の最大蓄積時間(第2の時間)は、連続圧縮データバッファ111の最大蓄積時間と同様に、最大フレーム飛ばし再生速度×サーバレスポンスタイム+αとしてよい。
前述した連続圧縮データバッファ111の蓄積時間範囲(第1の時間)及びキーフレーム圧縮データバッファ112の蓄積時間範囲(第2の時間)は、現在の再生位置が中心ととなるように設定される。これは、例えば、順方向に再生している状態で、現在の再生位置から逆方向の再生がコマンドにより指示されたときに、即座に対応可能とするためである。
説明している本発明の実施形態では、連続圧縮データバッファ111とキーフレーム圧縮データバッファ112とを独立に設けるとしているが、本発明は、これらの2つを1つの圧縮データバッファとして纏めることができる。この場合に、1つに纏めた圧縮データバッファ(第1のデータバッファ)に蓄積されるデータ形式を図2(c)に示している。 通常、キーフレーム圧縮データバッファ112の最大蓄積時間は、連続圧縮データバッファ111の最大蓄積時間より小さいので、1つに纏めた圧縮データバッファ(第1のデータバッファ)には、図2(c)に示すように、再生位置の近傍の圧縮データを時間的に連続に第1の時間分蓄積し、時間的に離れたデータを離散的に第1の時間を含めて第2の時間分蓄積するようにすればよい。すなわち、図2(c)における現在位置を中心とする第1の時間の範囲には、連続した複数のGOVが蓄積され、その前後に複数のキーフレームを配置して、全体で第2の時間となるように蓄積されればよい。
非圧縮データバッファ113は、図2(d)に示すように、フロントバッファ209とバッグバッファ208とにより構成される。バッファ209、208のそれぞれは、1つのGOVに含まれるフレーム全てのデコード結果を格納することができる。そして、逆方向の連続再生時、フロントバッファ209内の非圧縮データを映像レンダラ110へ送信している間に、バッグバッファ208へ映像デコード部108から送信されたGOVのデコード結果を蓄積し、フロントバッファ209の非圧縮データを全て消費したタイミングでフロントバッファ209とバッグバッファ208とをスワップする。このスワップの技術は、公知の技術である。また、順方向の再生時には、フロントバッファ209に対し映像デコード部108から送信された非圧縮データを格納すると同時に、そのデータを映像レンダラ110へ送信する。フロントバッファ209の最大蓄積時間を超えたら、フロントバッファ209とバッグバッファ208とをスワップする。
フロントバッファ209とバッグバッファ208との最大蓄積時間の制約条件は、GOV1個分の非圧縮データを格納できることであり、通常1秒程度である。また、フロントバッファ208とバッグバッファ209とは、非圧縮データ212と映像内の時間211とのセットをその蓄積の単位とする。
図3は制御コマンド送信部104とビデオサーバ101との間で授受される制御コマンドメッセージの形式を説明する図であり、次に、図3を参照して、制御コマンドメッセージの形式について説明する。制御コマンドメッセージには、接続要求メッセージ300と、その応答である接続応答メッセージ320と、映像データを要求する映像送信要求メッセージ330と、その応答である映像データメッセージ340とがある。
接続要求メッセージ300は、図3(a)に示すように、視聴するコンテンツを指定するためのコンテンツ識別子301により構成される。接続応答メッセージ320は、図3(b)に示すように、配信を識別するためのセッションID321により構成される。映像送信要求メッセージ330は、図3(c)に示すように、再生方向331と、再生モード332と、送信開始位置(開始時間)333と、セッションID334とにより構成される。再生方向331には、順方向と逆方向とが指定可能である。再生モード332には、キーフレームのみを再生する「フレーム飛ばし再生」と、全フレームを再生する「連続再生」とが指定可能である。映像データメッセージ340は、図3(d)に示すように、映像送信要求の結果を表すためのリターンコード341と、要求が成功した場合にビデオサーバから送信される映像データ342とから構成される。
図4はビデオサーバから配信される映像データ342の詳細について説明する図であり、次に、図4を参照して、映像データ342の詳細について説明する。映像データ342は、再生モード332が「連続再生」である場合と「フレーム飛ばし再生」の場合とでその形式が異なる。
再生モード332が「連続再生」である場合の映像データ401を図4(a)に示しており、この場合の映像データ401は、再生方向331が順方向である場合には、映像データがGOVを構成の単位として順方向に配列されており、再生方向331が逆方向である場合には、GOVを構成の単位として時間的に逆順に配列されている。そして、それぞれのGOV201の中に含まれるフレームは、いずれの場合も時間的には順方向である。
再生モード332が「フレーム飛ばし」である場合の映像データ402を図4(b)に示しており、この場合の映像データ402は、キーフレーム圧縮データ205とその時間204とのセットを1つの単位として配列されている。映像ファイルにおいて、キーフレームデータは、離散的に挿入(一般的には、0.5 秒から1秒程度)されているため、映像データ402は、時間的に不連続となる。そして、再生方向331が順方向である場合には、前述のセットが時間的に順方向に送信され、逆方向である場合は前述のセットが時間的に逆方向に送信されてくる。
プレーヤ制御部105における映像制御コマンドの処理手順について説明すると、プレーヤ制御部105は、映像制御コマンドを処理する際、初めに非圧縮データ制御部109と圧縮データ制御部107とにおけるデータの送信処理を停止させ、その後に映像制御コマンドの種類に応じた異なる手順を実行する。
次に、各映像制御コマンドの処理手順について、図1を参照して説明する。まず、プレーヤ制御部105における順方向の連続再生コマンドの処理手順を説明する。
プレーヤ制御部105は、初めに、非圧縮制御部109を経由して、非圧縮データバッファ113に蓄積された非圧縮データの中で最も未来の非圧縮データの時間(以下、この時間を非圧縮データ末端時間という)を取得する。次に、プレーヤ制御部105は、圧縮データ制御部107を経由して、連続圧縮データバッファ111に蓄積された圧縮データの中で最も未来の非圧縮データの時間(以下、この時間を圧縮データ末端時間という)を取得する。次に、プレーヤ制御部105は、非圧縮データ制御部109に対して、現在の再生位置を送信開始位置として送信再開を指示する。次に、プレーヤ制御部105は、圧縮データ制御部107に対して、非圧縮データ末端時間の時間を送信開始位置として送信再開を指示する。次に、プレーヤ制御部105は、制御コマンド送信部104に対して、送信開始位置を圧縮データ末端時間とした映像制御コマンドメッセージのビデオサーバ101への送信を指示する。なお、非圧縮データ制御部109と圧縮データ制御部108におけるデータ送信処理の詳細については後述する。
次に、プレーヤ制御部105における逆方向の連続再生コマンドの処理手順を説明する。この逆方向の連続再生コマンドの処理手順は、順方向の連続再生コマンドの処理手順における非圧縮データ末端時間と圧縮データ末端時間とを次のように読み替えることによって表現することができる。すなわち、非圧縮データ末端時間は、非圧縮データバッファ113に蓄積された非圧縮データの中で最も未来のものの時間として読み替え、圧縮データ末端時間は、連続圧縮データバッファ111に蓄積された圧縮データの中で最も過去のものの時間として読み替える。なお、非圧縮データ制御部109と圧縮データ制御部108とにおけるデータ送信処理の詳細については後述する。
次に、プレーヤ制御部105における順方向のフレーム飛ばし再生の処理手順を説明する。
プレーヤ制御部105は、非圧縮データ制御部109に対して非圧縮データバッファのクリアを指示する。次に、プレーヤ制御部105は、圧縮データ制御部107を経由して、キーフレーム圧縮データバッファ112に蓄積された圧縮データの中で最も未来の圧縮データの時間(以下、この時間を圧縮データ末端時間という)を取得する。次に、プレーヤ制御部105は、非圧縮データ制御部109に対して、フレーム飛ばし再生を指示する。次に、プレーヤ制御部105は、圧縮データ制御部107に対して、現在の再生位置近傍のキーフレーム圧縮データの時間を送信開始位置として送信再開を指示する。次に、プレーヤ制御部105は、制御コマンド送信部104に対して、圧縮データ末端時間を送信開始位置とした映像制御コマンドメッセージのビデオサーバ101への送信を指示する。なお、非圧縮データ制御部109と圧縮データ制御部108とにおけるデータ送信処理の詳細については後述する。
次に、プレーヤ制御部105における逆方向のフレーム飛ばし再生の処理手順を説明する。この逆方向のフレーム飛ばし再生の処理手順は、順方向のフレーム飛ばし再生コマンドの処理手順における圧縮データ末端時間を次のように読み替えることによって表現することができる。すなわち、圧縮データ末端時間は、キーフレーム圧縮データバッファ112に蓄積された圧縮データの中で最も過去のものの時間として読み替える。なお、非圧縮データ制御部109と圧縮データ制御部108とにおけるデータ送信処理の詳細については後述する。
図5は圧縮データ制御部107におけるデータ送信処理の詳細を説明するPADを示す図であり、次に、図5に示すPADを参照して、圧縮データ制御部107におけるデータ送信処理の詳細を説明する。
(1)まず、圧縮データ制御部107は、プレーヤ制御部105から映像制御命令のパラメータとして再生方向、再生モード、再生速度、送信開始位置を取得する。再生方向には、順方向と逆方向とがあり、再生モードには、連続再生とフレーム飛ばし再生とがある(ステップ501)。
(2)次に、圧縮データ制御部107は、プレーヤ制御部105から取得した再生モードにより、取得した再生モードが連続再生かフレーム飛ばし再生かを判定する(ステップ502)。
(3)ステップ502の判定で、再生モードが連続再生であった場合、圧縮データ制御部107は、再生方向が順方向(コマ送りを含む)であるか、逆方向(コマ戻しを含む)であるかを判定する(ステップ503)。
(4)ステップ503の判定で、再生方向が順方向(コマ送りを含む)であった場合、圧縮データ制御部107は、圧縮データ制御部107における連続順方向送信ロジックにより、連続圧縮データバッファ111の中からプレーヤ制御部105から指示された送信開始位置を含むGOVを検索し、そのGOVから順番に未来方向にデータを取得させて、そのデータを映像デコード部108が受け取り得る限り送信し続ける。映像デコード部108は、圧縮データ制御部107から送信されたデータをデコードするが、再生開始位置より過去のデータは廃棄しているため、再生開始位置がGOVの途中であっても問題はない(ステップ505)。
(5)ステップ503の判定で、再生方向が逆方向(コマ戻しを含む)であった場合、圧縮データ制御部107は、圧縮データ制御部107における逆方向送信ロジックにより、連続圧縮データバッファ111の中からプレーヤ制御部105から指示された送信開始位置を含むGOVを検索し、そのGOVから順番に過去方向にデータを取得させて、そのデータを映像デコード部108が受け取り得る限り送信し続ける。映像デコード部108は、圧縮データ制御部107から送信されたデータをデコードするが、再生開始位置より未来のデータは廃棄しているため、再生開始位置がGOVの途中であっても問題はない(ステップ506)。
(6)ステップ502の判定で、再生モードがフレーム飛ばし再生であった場合、再生方向が順方向であるか、逆方向であるかを判定する(ステップ504)。
(7)ステップ504の判定で、再生方向が順方向であった場合、圧縮データ制御部107は、圧縮データ制御部107におけるフレーム飛ばし順方向送信ロジックにより、不連続データバッファ112の中からプレーヤ制御部105から指示された送信開始位置から未来方向に順番にキーフレームデータを取得し、そのキーフレームデータを、映像デコード部108が受け取り得る限り送信し続ける(ステップ507)。
(8)ステップ504の判定で、再生方向が逆方向であった場合、圧縮データ制御部107は、圧縮データ制御部107におけるフレーム飛ばし逆方向送信ロジックにより、不連続データバッファ112の中からプレーヤ制御部105から指示された送信開始位置から過去方向に順番にキーフレームデータを取得し、そのキーフレームデータを、映像デコード部108が受け取り得る限り送信し続ける(ステップ508)。
図6は非圧縮データ制御部109におけるデータ送信処理の詳細を説明するPADを示す図であり、次に、図6に示すPADを参照して、非圧縮データ制御部109におけるデータ送信処理の詳細を説明する。
(1)まず、非圧縮データ制御部109は、プレーヤ制御部105から映像制御命令のパラメータとして再生方向、再生モード、再生速度、送信開始位置を取得する(ステップ601)。
(2)次に、非圧縮データ制御部109は、プレーヤ制御部105から取得した再生モードにより、取得した再生モードが連続再生かフレーム飛ばし再生かを判定する(ステップ602)。
(3)ステップ602の判定で、再生モードが連続再生であった場合、非圧縮データ制御部109は、再生方向が順方向(コマ送りを含む)であるか、逆方向(コマ戻しを含む)であるかを判定する(ステップ603)。
(4)ステップ603の判定で、再生方向が順方向(コマ送りを含む)であった場合、非圧縮データ制御部109は、非圧縮データ制御部109における連続順方向送信ロジックにより、プレーヤ制御部105から指示された送信開始位置の非圧縮データを非圧縮データバッファ113から検索させ、そのデータから未来方向に順番に非圧縮データを取得して、映像レンダラ110が受け取り得る限り送信を続ける。映像レンダラ110へ送るデータに対して、再生速度と再生を開始した時刻とから算出した表示予定時刻を設定する。これにより、映像レンダラ110は、タイミングをとって画像を表示することが可能になる(ステップ605)。
(5)ステップ603の判定で、再生方向が逆方向(コマ戻しを含む)であった場合、非圧縮データ制御部109は、非圧縮データ制御部109における連続逆方向送信ロジックにより、プレーヤ制御部105から指示された送信開始位置の非圧縮データを非圧縮データバッファ113から検索させ、そこから過去方向に順番に非圧縮データを取得して、映像レンダラ110が受け取り得る限り送信を続ける。映像レンダラ110へ送るデータに対して、再生速度と再生開始した時刻とから算出した表示予定時刻を設定する。これにより、映像レンダラ110でタイミングをとって画像を表示することが可能になる(ステップ607)。
(6)ステップ602の判定で、再生モードがフレーム飛ばし再生であった場合、再生方向が順方向であるか、逆方向であるかを判定する(ステップ604)。
(7)ステップ604の判定で、再生方向が順方向であった場合、非圧縮データ制御部109は、非圧縮データ制御部109におけるフレーム飛ばし順方向送信ロジックにより、映像デコード部108から受け取った非圧縮データを、非圧縮データバッファ113に蓄積せずに、そのまま映像レンダラ110へ渡すように指示する。映像レンダラ110へ渡すデータには、再生速度と再生開始した時刻とから算出した表示予定時刻を設定する。これにより、映像レンダラ110でタイミングをとって表示画像を更新することができる(ステップ607)。
(8)ステップ604の判定で、再生方向が逆方向であった場合、非圧縮データ制御部109は、非圧縮データ制御部109におけるフレーム飛ばし逆方向送信ロジックにより、映像デコード部108から受け取った非圧縮データを、非圧縮データバッファ113に蓄積せずに、そのまま映像レンダラ110へ渡すように指示する。映像レンダラ110へ渡すデータには、再生速度と再生開始した時刻とから算出した表示予定時刻を設定する。これにより、映像レンダラ110でタイミングをとって表示画像を更新することができる(ステップ608)。
前述した本発明の実施形態での各処理は、プログラムにより構成し計算機が備えるCPUに実行させることができ、また、それらのプログラムは、FD、CDROM、DVD等の記録媒体に格納して提供することができ、また、ネットワークを介してディジタル情報により提供することができる。
図7はクライアント103のモニタ115に表示される表示画面の例及び再生状態について説明する図、図8は入力装置114の1つであるジョグシャトルの構成を示す図であり、次に、図7、図8を参照して、表示画面の例、フレーム飛ばし再生、連続再生における映像の表示状態及びジョグシャトル機能について説明する。図7、図8において、900は表示画面、901は映像表示領域、902はスライダ、903はつまみ、1000はジョグシャトル、1001はジョグ、1002はシャトルである。
モニタ115に表示される表示画面900は、図7(a)に示すように、映像表示領域901と、スライダ902とを備えて構成される。映像表示領域901には、ビデオサーバ101から受信した映像データが表示される。映像表示領域901に映像が表示されている状態で、スライダ902全体の長さは、映像表示領域901に表示しているコンテンツの時間長を表しており、つまみ903は、現在表示している映像の位置(時間)を示している。このつまみ903をマウス等によりスライダ902上をドラッグして移動させると、プレーヤ制御部105は、つまみ903の値から計算した再生位置をもとに映像の再生を行う。
ジョグシャトル1000は、図8に示すように、指穴を有して回転可能に設けられた円形のジョグ1001と、このジョグ1001の外側に設けられてジョグ1001とは独立に回転可能に設けられたリング上のシャトル1002とにより構成される。そして、ジョグシャトル1000をクライアント装置103の入力装置114として利用する場合、ジョグシャトル1000のシャトル1002あるいはジョグ1001を回転させることにより、プレーヤ制御部105に命令が入力され、映像を制御することができる。
前述において、シャトル1002をユーザが手で回すと、プレーヤ制御部105は、シャトル1002の回転した角度を取得し、角度に応じた方向と速度とで現在の再生位置を開始位置とする映像再生命令を実行する。一般には、速度が大きければ、フレーム飛ばし再生、遅ければ連続再生を行う。また、ジョグ1001をユーザが手で回すと、プレーヤ制御部105は、ジョグの回転を検出し、回転方向に応じてコマ送りあるいはコマ戻しを行う。
次に、フレーム飛ばし再生を行っているときの表示画面の見え方と、連続再生を行っているときの表示画面の見え方を図7(b)参照して説明する。図7(b)には、再生速度が同一の場合のフレーム飛ばし再生のフレーム表示時間と連続再生のフレーム時間とを示している。フレーム飛ばし再生は、1つのGOVに含まれるIフレームの映像データを1つのGOV全体を再生する場合と同一の時間だけ繰り返し連続して表示することにより行われる。この結果、フレーム飛ばし再生中のフレーム表示時間903は、連続再生中のフレーム表示時間904より長い。
前述した本発明の実施形態において、ビデオサーバ101へ映像の送信を要求する場合、送信開始位置として、時間を指定するとして説明したが、本発明は、送信開始位置をコンテンツの中での映像データのバイト位置とすることができる。これにより、ビデオサーバ101における映像検索時のファイルシーク処理を高速化することができる。
本発明は、例えば、放送局向け映像サーバに利用することができる。
本発明の一実施形態による映像再生装置を含むビデオオンデマンドシステムのプログラム構成を示すブロック図である。 非圧縮データバッファと連続圧縮バッファとキーフレーム圧縮データバッファ112とに蓄積されるデータ形式について説明する図である。 制御コマンド送信部とビデオサーバとの間で授受される制御コマンドメッセージの形式を説明する図である。 サーバから配信される映像データの詳細について説明する図である。 圧縮データ制御部におけるデータ送信処理の詳細を説明するPADを示す図である。 非圧縮データ制御部におけるデータ送信処理の詳細を説明するPADを示す図である。 クライアントのモニタに表示される表示画面の例及び再生状態について説明する図である。 入力装置の1つであるジョグシャトルの構成を示す図である。
符号の説明
101 ビデオサーバ
102 クライアント
103 ネットワーク
104 制御コマンド送信部
105 プレーヤ制御部
106 ストリーム受信部
107 圧縮データ制御部
108 映像デコード部
109 非圧縮データ制御部
110 映像レンダラ
111 連続圧縮データバッファ
112 キーフレーム圧縮データバッファ
113 非圧縮データバッファ
114 入力装置
115 モニタ
900 表示画面
901 映像表示領域
902 スライダ
903 つまみ
1000 ジョグシャトル
1001 ジョグ
1002 シャトル

Claims (5)

  1. ビデオサーバへ要求した映像データをネットワーク経由で受信し、前記映像データをデコードして表示する映像再生装置において、受信した前記映像データである圧縮データを蓄積する第1のバッファと、圧縮データをデコードする映像デコード手段と、デコードされた非圧縮データを一定時間分保持する第2のバッファと、映像再生装置全体を制御する制御手段とを備え、前記第1のバッファは、現在の映像の再生位置を中心として設定された所定の時間範囲の連続した映像データと、前記所定の時間範囲の外側に複数のキーフレームの映像データとを蓄積しており、前記制御手段は、映像制御コマンドを新規に実行する際に、前記第1のバッファに保持されている前記映像データを取り出し、前記デコード手段にデコードを開始させることを特徴とする映像再生装置。
  2. 前記制御手段は、時間的に連続するフレームを順次表示する連続再生コマンドを新規に実行する際に、前記第2のバッファに保持している前記映像データを取得して表示を開始させると同時に、前記第2のバッファに蓄積されているデータの時間における最も過去の時間あるいは最も未来の時間を起点として前記第1のバッファから順次映像データ取得し、前記デコード手段にその映像データのデコードを開始させることを特徴とする請求項1記載の映像再生装置。
  3. 前記第1のバッファに保持する圧縮データの時間長は、前記ビデオサーバへ映像データを要求してからネットワークを介して受信するまでかかる時間の統計値から決定されることを特徴とする請求項1または2に記載の映像再生装置。
  4. 前記ビデオサーバから受信した前記映像データである圧縮データには、ファイルにおける位置情報が付加されており、前記第1のバッファには位置情報も蓄積し、前記制御手段は、前記ビデオサーバへ映像データの送信を要求する際に、位置情報を付加して要求を行うことを特徴とする請求項1、2または3記載の映像再生装置。
  5. 前記制御手段は、映像制御コマンドのうち時間的に不連続なフレームを順次表示するフレーム飛ばし再生コマンドまたは連続するフレームを順次表示する連続再生コマンドを新規に実行する際、前記第1のバッファに蓄積されたデータのち時間的に最も過去のデータあるいは未来のデータを送信開始位置として、映像データを前記ビデオサーバに要求することを特徴とする請求項1記載の映像再生装置。
JP2005161571A 2005-06-01 2005-06-01 映像再生装置 Pending JP2006339980A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005161571A JP2006339980A (ja) 2005-06-01 2005-06-01 映像再生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005161571A JP2006339980A (ja) 2005-06-01 2005-06-01 映像再生装置

Publications (1)

Publication Number Publication Date
JP2006339980A true JP2006339980A (ja) 2006-12-14

Family

ID=37560128

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005161571A Pending JP2006339980A (ja) 2005-06-01 2005-06-01 映像再生装置

Country Status (1)

Country Link
JP (1) JP2006339980A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014093733A (ja) * 2012-11-06 2014-05-19 Nippon Telegr & Teleph Corp <Ntt> 映像配信装置、映像再生装置、映像配信プログラム及び映像再生プログラム
KR20150092928A (ko) * 2014-02-06 2015-08-17 에스케이플래닛 주식회사 레이턴시를 고려한 영상 출력 방법, 이를 수행하는 장치 및 클라우드 스트리밍 서비스 시스템
WO2016023402A1 (zh) * 2014-08-13 2016-02-18 优视科技有限公司 一种图片内存的处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05501942A (ja) * 1989-08-23 1993-04-08 デルタ ベータ ピーティーワイ リミテッド プログラム送信の最適化方法および装置
JPH06261303A (ja) * 1993-01-11 1994-09-16 Sony Corp 画像信号符号化方法、復号化方法および画像信号記録媒体
JPH0993540A (ja) * 1995-09-21 1997-04-04 Nec Corp Vodシステムにおける特殊再生方式
JPH10261075A (ja) * 1997-03-21 1998-09-29 Matsushita Electric Ind Co Ltd 画像バッファ制御装置
JP2003284025A (ja) * 2002-03-22 2003-10-03 Toshiba Corp マルチメディア情報伝送システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05501942A (ja) * 1989-08-23 1993-04-08 デルタ ベータ ピーティーワイ リミテッド プログラム送信の最適化方法および装置
JPH06261303A (ja) * 1993-01-11 1994-09-16 Sony Corp 画像信号符号化方法、復号化方法および画像信号記録媒体
JPH0993540A (ja) * 1995-09-21 1997-04-04 Nec Corp Vodシステムにおける特殊再生方式
JPH10261075A (ja) * 1997-03-21 1998-09-29 Matsushita Electric Ind Co Ltd 画像バッファ制御装置
JP2003284025A (ja) * 2002-03-22 2003-10-03 Toshiba Corp マルチメディア情報伝送システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014093733A (ja) * 2012-11-06 2014-05-19 Nippon Telegr & Teleph Corp <Ntt> 映像配信装置、映像再生装置、映像配信プログラム及び映像再生プログラム
KR20150092928A (ko) * 2014-02-06 2015-08-17 에스케이플래닛 주식회사 레이턴시를 고려한 영상 출력 방법, 이를 수행하는 장치 및 클라우드 스트리밍 서비스 시스템
KR101668283B1 (ko) 2014-02-06 2016-10-24 엔트릭스 주식회사 레이턴시를 고려한 영상 출력 방법, 이를 수행하는 장치 및 클라우드 스트리밍 서비스 시스템
WO2016023402A1 (zh) * 2014-08-13 2016-02-18 优视科技有限公司 一种图片内存的处理方法及装置

Similar Documents

Publication Publication Date Title
EP1239674B1 (en) Recording broadcast data
US8074244B2 (en) Receiving apparatus and method
WO2013008867A1 (ja) 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体
US20070271388A1 (en) Server-side media stream manipulation for emulation of media playback functions
JP4730590B2 (ja) 制御装置および方法、情報処理装置および方法、並びにプログラム
JP5211569B2 (ja) コンテンツ再生装置、コンテンツ再生方法、およびプログラム
KR20110041409A (ko) 콘텐츠 재생 시스템, 콘텐츠 재생 장치, 프로그램, 콘텐츠 재생 방법, 및 콘텐츠 서버의 제공
JP5282383B2 (ja) コンテンツ再生装置、コンテンツ再生方法、プログラム、およびコンテンツ再生システム
JP2003111048A (ja) コンテンツ再生のためのサーバ及びプログラム
JP2004140488A (ja) マルチメディアコンテンツ編集装置およびマルチメディアコンテンツ再生装置
JP2010016652A (ja) 記録再生装置、記録再生方法、及びプログラム
JP2008311795A (ja) コンテンツ配信システム、配信サーバ、受信端末及びコンピュータプログラム
JP4315914B2 (ja) 画像再生装置及び画像再生方法
JP2006332759A (ja) 電子機器、画像制御方法、及び画像制御用のプログラム
KR101517959B1 (ko) 적응형 스트리밍 방법
US7697815B2 (en) Video playback unit, video delivery unit and recording medium
JP3935412B2 (ja) 受信装置及び受信装置の制御方法、ストリームデータ配信システム
JP2006339980A (ja) 映像再生装置
JP2007074158A (ja) 再生システム及び同システムを利用した再生方法
JPWO2007123014A1 (ja) 画像出力装置
JP2003046928A (ja) ネットワーク映像再生方法および圧縮映像データ復号再生装置
JP2008301250A (ja) コンテンツ再生システムおよびコンテンツ再生方法
JP4528022B2 (ja) 映像配信方法およびシステム
KR101499194B1 (ko) 적응형 스트리밍 방법
KR20170102448A (ko) 요청 응답 방식의 적응형 컨텐츠 재생 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100824

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100928