説明

再生装置及び再生方法

【課題】蓄積手段のデータの枯渇または不足による再生の中断を回避または低減する。
【解決手段】再生装置20は、再生対象データを取得してバッファ部23に蓄積させるデータ取得部22と、バッファ部23に蓄積された再生対象データを再生する再生部24と、再生対象データがバッファ部23に蓄積される速度を示す蓄積速度情報を取得する蓄積速度取得部26と、再生対象データの単位時間当たりのデータ量を示すデータレート情報を取得する情報取得部27と、蓄積速度情報と、データレート情報とに基づき、再生部24により再生対象データが再生される速度を変更する再生制御部28とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、再生対象データを再生する再生装置及び再生方法に関する。
【背景技術】
【0002】
ネットワーク上のサーバから端末が映像ストリームを受信して再生するシステムにおいて、早送りや早戻しなどの特殊再生を実現するための技術がある(例えば、特許文献1参照)。
【0003】
特許文献1には、特殊再生の際に、サーバが、映像ストリームからフレーム内符号化ピクチャを選択的に抽出し、当該フレーム内符号化ピクチャにリピートピクチャを付加することによって特殊再生ストリームを生成し、当該特殊再生ストリームを端末に送信する方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−184429号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、再生対象データ(例えば映像データ)を取得して蓄積手段に蓄積し、所定の初期蓄積量のデータの蓄積完了後に、データを蓄積しながら、蓄積された再生対象データを再生する構成では、蓄積手段へのデータの蓄積速度が、蓄積手段のデータが再生により消費される速度よりも小さい場合、蓄積手段のデータが枯渇または不足してしまい、再生が中断してしまうことがある。例えば、蓄積手段のデータが枯渇または不足すると、再度初期蓄積量のデータを蓄積する処理(いわゆる再バッファリング)が発生し、再生が一時停止したように見える現象が生じる。特に、早送りや早戻しなどの特殊再生が行われる場合には、蓄積手段のデータが再生により消費される速度が大きくなり、再生の中断が発生しやすい。
【0006】
そこで、本発明は、蓄積手段のデータの枯渇または不足による再生の中断を回避または低減することが可能な再生装置および再生方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る再生装置は、再生対象データを取得して蓄積手段に蓄積させるデータ取得手段と、前記蓄積手段に蓄積された再生対象データを再生する再生手段と、前記再生対象データが前記蓄積手段に蓄積される速度を示す蓄積速度情報を取得する蓄積速度取得手段と、前記再生対象データの単位時間当たりのデータ量を示すデータレート情報を取得する情報取得手段と、前記取得された蓄積速度情報と、前記取得されたデータレート情報とに基づき、前記再生手段により前記再生対象データが再生される速度を変更する再生制御手段と、を有する。
【0008】
また、本発明に係る再生方法は、再生対象データを取得して蓄積手段に蓄積させるデータ取得ステップと、前記蓄積手段に蓄積された再生対象データを再生する再生ステップと、前記再生対象データが前記蓄積手段に蓄積される速度を示す蓄積速度情報を取得する蓄積速度取得ステップと、前記再生対象データの単位時間当たりのデータ量を示すデータレート情報を取得する情報取得ステップと、前記取得された蓄積速度情報と、前記取得されたデータレート情報とに基づき、前記再生ステップで前記再生対象データが再生される速度を変更する再生制御ステップと、を有する。
【発明の効果】
【0009】
本発明によれば、蓄積手段のデータの枯渇または不足による再生の中断を回避または低減することが可能な再生装置および再生方法を提供することができる。
【図面の簡単な説明】
【0010】
【図1】実施の形態1における再生装置を含む再生システムの構成の一例を示すブロック図である。
【図2】蓄積速度取得部に通知された情報の一例を示す図である。
【図3】再生制御部の構成の一例を示すブロック図である。
【図4】再生制御部の制御によるIピクチャの表示のタイミングの一例を示す図である。
【図5】実施の形態1における再生装置の動作の一例を示すフローチャートである。
【図6】実施の形態1における再生装置の動作の一例を示すフローチャートである。
【図7】実施の形態1における再生装置の動作の一例を示すフローチャートである。
【図8】実施の形態1における再生装置の動作の一例を示すフローチャートである。
【図9】バッファ量の遷移を示すグラフである。
【図10】実施の形態2における再生装置を含む再生システムの構成の一例を示すブロック図である。
【図11】実施の形態3における再生装置を含む再生システムの構成の一例を示すブロック図である。
【図12】実施の形態3におけるIピクチャの表示のタイミングの一例を示す図である。
【図13】実施の形態4における再生装置を含む再生システムの構成の一例を示すブロック図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態を図面に従って説明する。
実施の形態1.
図1は、実施の形態1における再生装置20を含む再生システム100の構成の一例を示すブロック図である。この再生システム100は、データ提供装置10と、再生装置20とを含み、データ提供装置10から再生装置20が再生対象データを取得して再生するシステムである。再生対象データは、例えば、映像データ、音声データ、または映像音声データなどである。
【0012】
データ提供装置10は、再生対象データを再生装置20に提供する装置である。具体的には、データ提供装置10は、再生装置20からの再生対象データの要求を受け付け、当該要求に応じて再生対象データを再生装置20に送信する。
【0013】
データ提供装置10は、例えば、インターネット等のネットワーク上のサーバであり、ネットワーク経由で再生対象データを再生装置20に送信する。ただし、データ提供装置10は、再生装置20に再生対象データを提供するものであればよく、例えば、再生装置20と物理的に一体に構成されてもよい。例えば、データ提供装置10は、ハードディスクや光ディスク等の記憶媒体から再生対象データを読み出して再生装置20に出力する装置であってもよい。上記記憶媒体は、データ提供装置10の内部に設けられたものでもよいし、データ提供装置10とケーブル等で接続されたものでもよい。
【0014】
再生装置20は、データ提供装置10から再生対象データを取得して蓄積し、再生対象データを蓄積しながら、蓄積された再生対象データを再生する装置である。具体的には、再生装置20は、再生対象データを取得して蓄積手段に蓄積し、所定の初期蓄積量のデータの蓄積が完了した後に、蓄積手段への再生対象データの蓄積と並行して、蓄積された再生対象データの再生を行う。再生装置20は、例えば、映像データ、音声データ、または映像音声データを取得し、映像、音声、または映像および音声を出力する。本例では、再生装置20は、再生対象データを1倍速(標準速度)で再生する通常再生を行う機能に加えて、再生対象データを1倍速以外の再生倍率で再生する特殊再生(早送り再生、早戻し再生、逆再生、スロー再生、逆スロー再生など)を行う機能を有する。
【0015】
図1において、再生装置20は、指示受付部21、データ取得部22、バッファ部23、再生部24、出力部25、蓄積速度取得部26、情報取得部27、および再生制御部28を有する。
【0016】
指示受付部21は、再生動作に関するユーザ等からの指示を受け付ける。具体的には、指示受付部21は、再生開始指示や再生停止指示のほか、再生対象データの再生倍率Nの指定を受け付ける。再生倍率Nの指定は、例えば、再生開始指示とともに受け付けられる。再生倍率Nの指定は、N倍速(標準速度のN倍の速度)での再生の指定を意味する。具体的には、再生倍率Nの指定は、N=1のとき通常再生、N>1のとき早送り再生、0<N<1のときスロー再生、N=−1のとき逆再生、N<−1のとき早戻し再生、−1<N<0のとき逆スロー再生を意味する。なお、再生倍率Nの指定は、再生開始後に受け付けられてもよい。すなわち、再生中に再生倍率Nの変更(例えば通常再生から早送りへの変更)が指示されてもよい。
【0017】
また、指示受付部21は、再生開始指示とともに、再生すべき再生対象データの指定や、再生対象データにおける再生開始位置(例えば開始アドレスや開始時間位置)の指定などを受け付けてもよい。
【0018】
図1の例では、指示受付部21は、ユーザ操作制御部30を介して、ユーザからの指示を受け付ける。ユーザ操作制御部30は、例えば、ユーザの操作に応じて赤外線信号や電波信号などの指示信号を発信するリモコンである。ただし、ユーザ操作制御部30は、再生装置20と物理的に一体に設けられた操作部であってもよい。
【0019】
指示受付部21は、指示を受け付けると、当該指示に基づき、データ取得部22、蓄積速度取得部26、情報取得部27、および再生制御部28などに対して所定の指示を送る。例えば、指示受付部21は、再生倍率Nの指定を伴う再生開始指示を受け付けた場合、データ取得部22に対してデータ取得開始指示を送り、再生制御部28に対して再生倍率Nの指定を含む再生開始指示を送る。また、指示受付部21は、再生停止指示を受け付けた場合には、データ取得部22に対してデータ取得停止指示を送り、再生制御部28に対して再生停止指示を送る。
【0020】
データ取得部22は、再生対象データを取得してバッファ部23に蓄積させる。具体的には、データ取得部22は、指示受付部21からのデータ取得開始指示に応じて、データ提供装置10に対して再生対象データを要求し、データ提供装置10から再生対象データを取得してバッファ部23に蓄積させる。
【0021】
一つの態様では、データ取得部22は、データ提供装置10に対する再生対象データの要求を複数回に分けて行う。例えば、データ取得部22は、データ取得開始指示を受けると、1回目の要求を行い、当該要求に係るデータの取得が完了すると、次の(2回目の)要求を行う。以降同様に、n回目(nは2以上の整数)の要求に係るデータの取得が完了すると、(n+1)回目の要求を行う。この場合、データ取得部22は、各要求において、バッファ部23がオーバーフローしないようにデータ要求量を設定し、データ要求量を指定する。例えば、データ要求量は、バッファ部23の容量から現在の蓄積量を差し引いた値とされる。また、データ取得部22は、各要求において、再生対象データにおけるデータ要求開始位置を指定してもよい。データ要求開始位置は、再生対象データのうち要求される範囲の先頭の位置であり、例えば再生対象データにおけるアドレスや時間位置で表される。なお、上記の例ではデータの取得完了を待って次の要求を行っているが、データ取得部22は、データの取得完了を待たずに、すなわちデータの取得完了前に、次の要求を行ってもよい。
【0022】
別の態様では、データ取得部22は、データ提供装置10に対する再生対象データの要求を1回だけ行う。この場合にも、データ取得部22は、要求において、データ要求量や、データ要求開始位置を指定してもよい。
【0023】
複数のデータ提供装置10が存在する場合、データ取得部22は、要求先のデータ提供装置10に応じて、データ要求方法を変えてもよい。例えば、データ取得部22は、あるデータ提供装置に対して、データ要求量およびデータ要求開始位置の指定を伴う要求を複数回行う要求方法を用い、別のデータ提供装置に対しては、データ要求開始位置の指定を伴う要求を1回行う要求方法を用いてもよい。
【0024】
図1の例では、データ取得部22は、データ要求部22aと、データ受信部22bとを含む。
【0025】
データ要求部22aは、指示受付部21からのデータ取得開始指示に応じて、データ提供装置10に対して再生対象データの要求を送る。この要求は、データ要求量やデータ要求開始位置を含む。また、データ要求部22aは、再生対象データの要求を送った場合、蓄積速度取得部26に対して、当該要求におけるデータ要求量と、当該要求が行われた時刻であるデータ要求時刻とを通知する。
【0026】
データ受信部22bは、データ要求部22aの要求に応じてデータ提供装置10から送信される再生対象データを受信し、当該再生対象データをバッファ部23に蓄積させる。例えば、データ受信部22bは、データ提供装置10から再生対象データを含むデータ(例えばパケット)を受信し、当該データから再生対象データ(例えばストリームデータ)を抽出し、当該抽出された再生対象データをバッファ部23に蓄積させる。また、データ受信部22bは、再生対象データを受信した場合、蓄積速度取得部26に対して、受信したデータ量であるデータ受信量と、受信した時刻であるデータ受信時刻とを通知する。
【0027】
バッファ部23は、データ取得部22により取得された再生対象データを記憶するものであり、半導体メモリ装置等の適宜の記憶装置により実現される。
【0028】
再生部24は、バッファ部23に蓄積された再生対象データを再生する。具体的には、再生部24は、再生制御部28の制御に従い、バッファ部23から再生対象データを取り出して再生する。例えば、再生部24は、バッファ部23から再生対象データを取り出し、当該再生対象データを、出力部25で出力可能な形式の再生データに変換し、当該再生データを出力部25に出力する。
【0029】
一つの態様では、再生対象データは符号化されたデータであり、再生部24は当該再生対象データを復号化(デコード)するデコーダ部である。例えば、再生部24は、再生対象データをデコードして再生データを生成し、当該再生データを出力部25に出力する。
【0030】
出力部25は、再生部24から再生データを受け取り、当該再生データを出力する。例えば、出力部25は、再生データとして、映像データ、音声データ、映像音声データを受け取り、当該各データに基づき、映像の表示、音声の出力、映像及び音声の出力を行う。出力部25は、例えば、映像を表示する表示装置や、音声を出力するスピーカなどにより構成される。
【0031】
蓄積速度取得部26は、再生対象データがバッファ部23に蓄積される速度を示す蓄積速度情報を取得する。具体的には、蓄積速度取得部26は、バッファ部23に蓄積される単位時間当たりのデータ量を示す蓄積速度情報を取得する。
【0032】
一つの態様では、蓄積速度取得部26は、データ取得部22への再生対象データの転送速度(データ転送レート)を、蓄積速度情報として算出する。例えば、蓄積速度取得部26は、データ取得部22により取得された再生対象データのデータ量と、当該再生対象データの取得に要した時間とに基づき、データ転送レートを算出する。具体的には、蓄積速度取得部26は、データ取得部22からの通知に基づいてデータ転送レートの算出を行う。より具体的には、蓄積速度取得部26は、データ要求部22aからのデータ要求量およびデータ要求時刻と、データ受信部22bからのデータ受信量およびデータ受信時刻とに基づき、データ転送レートを算出する。
【0033】
図2は、蓄積速度取得部26に通知された情報の一例を示す図である。図2に示されるように、蓄積速度取得部26は、データ要求部22aからのデータ要求量とデータ要求時刻とを対応付けて記録するとともに、データ受信部22bからのデータ受信量とデータ受信時刻とを対応付けて記録する。図2の例では、最初に時刻0[msec]の時点でデータ量500[KB]のデータが要求され、当該要求に応じ、時刻50[msec]の時点で100[KB]のデータが受信され、その後、時刻100、170、220[msec]の時点で、それぞれデータ量100、200、100[KB]のデータが受信されている。すなわち、要求された500[KB]のデータの受信に要した時間は、220msecである。この場合、蓄積速度取得部26は、データ要求量500[KB]を所要時間220[msec]で除して、データ転送レート2.27[MB/s]を算出する。
【0034】
なお、上記の態様では蓄積速度情報としてデータ転送レートを算出しているが、蓄積速度取得部26は、データ転送レート以外の値を蓄積速度情報として取得してもよい。例えば、蓄積速度取得部26は、バッファ部23へのデータの蓄積を監視することにより、バッファ部23に蓄積される単位時間当たりのデータ量を蓄積速度情報として算出してもよい。
【0035】
蓄積速度情報を取得するタイミングに関し、一つの態様では、より適切な蓄積速度情報を取得する等の観点より、蓄積速度取得部26は、再生対象データがデータ取得部22により取得される期間中に、蓄積速度情報の取得(例えばデータ転送レートの算出)を複数回実行する。具体的には、蓄積速度取得部26は、再生対象データが取得される期間中に、蓄積速度情報の取得を継続的に実行する。または、蓄積速度取得部26は、再生対象データが取得される期間中において、所定のタイミングで蓄積速度情報の取得を随時実行する。例えば、蓄積速度取得部26は、一定の間隔で蓄積速度情報の取得を行う。具体的には、蓄積速度取得部26は、一定の時間間隔毎、一定のデータ受信量毎、または一定のデータ受信回数毎に蓄積速度情報の取得を行う。また、蓄積速度取得部26は、再生倍率Nが切り替わったときに、蓄積速度情報の取得を行ってもよい。
【0036】
ただし、蓄積速度取得部26は、再生対象データの再生につき、蓄積速度情報の取得を1回だけ実行するように構成されてもよい。例えば、蓄積速度取得部26は、再生対象データの取得が開始された際に、蓄積速度情報の取得を1回だけ実行してもよい。
【0037】
蓄積速度取得部26は、蓄積速度情報を取得すると、当該蓄積速度情報(例えばデータ転送レート)を再生制御部28に通知する。
【0038】
情報取得部27は、データ取得部22により取得された再生対象データに関する情報を取得する。例えば、情報取得部27は、バッファ部23に蓄積された再生対象データを解析することにより、再生対象データに関する情報を取得する。
【0039】
具体的には、情報取得部27は、再生対象データの単位時間当たりのデータ量(すなわち再生対象データを1倍速で再生したときに単位時間当たり消費されるデータ量)を示すデータレート情報を取得する。具体的には、情報取得部27は、再生対象データの単位時間当たりのデータ量であるデータレートを取得する。データレートは、例えば、1秒間当たりのビット数であるビットレートである。情報取得部27は、例えば、再生対象データのうち一部の範囲におけるビットレートの平均値(平均ビットレート)を取得する。なお、例えば、再生対象データが可変ビットレート方式で符号化されたものであれば、ビットレートは再生対象データの部分または位置によって異なり、固定ビットレート方式で符号化されたものであれば、ビットレートは再生対象データの部分または位置によらず一定である。
【0040】
一つの態様では、情報取得部27は、再生対象データを再生するために必要な情報を取得する。例えば、情報取得部27は、再生対象データを復号化するために必要な情報を取得する。再生対象データを復号化するために必要な情報としては、例えば、データのフォーマットやコーデックなどの情報がある。
【0041】
情報取得部27は、例えば、指示受付部21またはデータ取得部22からの指示に応じて、上記情報の取得処理を実行する。例えば、データ取得部22は、再生対象データの取得を開始した後、バッファ部23に蓄積されたデータ量が所定量に達した時点で、情報取得部27に対して解析指示を行う。情報取得部27は、当該解析指示に応じて、バッファ部23に蓄積されたデータを解析して、再生対象データに関する情報(例えばデータレート情報および復号用の情報)を取得する。この場合、例えば、データ取得部22は、解析対象のデータの位置を示す位置情報を含む解析指示を情報取得部27に送り、情報取得部27は、当該位置情報に基づき解析対象のデータを解析する。位置情報は、例えば、バッファ部23における解析対象のデータの開始位置と終了位置を示す情報、または再生対象データにおける解析対象のデータの開始位置と終了位置を示す情報である。
【0042】
より適切な情報を取得する観点より、一つの態様では、情報取得部27は、再生対象データがデータ取得部22により取得される期間中に、再生対象データに関する情報の取得を複数回実行する。具体的には、情報取得部27は、再生対象データが取得される期間中に、情報の取得を継続的に実行する。または、情報取得部27は、再生対象データが取得される期間中において、所定のタイミングで情報の取得を随時実行する。例えば、情報取得部27は、バッファ部23に所定量のデータが蓄積される毎に、当該所定量のデータを解析して再生対象データに関する情報を取得する。
【0043】
ただし、情報取得部27は、再生対象データの再生につき、当該再生対象データに関する情報の取得を1回だけ実行するように構成されてもよい。例えば、情報取得部27は、再生対象データの取得が開始された際に、再生対象データに関する情報の取得を1回だけ実行してもよい。
【0044】
情報取得部27は、再生対象データに関する情報を取得すると、当該情報を再生制御部28に通知する。例えば、情報取得部27は、データレート情報および復号化に必要な情報を含むストリーム情報を再生制御部28に送る。
【0045】
再生制御部28は、再生部24の動作を制御する。例えば、再生制御部28は、情報取得部27からの復号化に必要な情報に基づき、再生部24に対してデコーダの設定を行うなど、再生部24の復号化処理の制御を行う。
【0046】
具体的には、再生制御部28は、指示受付部21からの再生開始指示を受けると、バッファ部23への所定の初期蓄積量(以下、「初期バッファ量」と称す)の再生対象データの蓄積が完了した後に、すなわち初期バッファリングが完了した後に、再生部24による再生対象データの再生を開始させる。また、再生制御部28は、バッファ部23の再生対象データが枯渇または不足して再生を継続できなくなった場合には、再生部24による再生を中断させ、再度バッファ部23に初期バッファ量の再生対象データが蓄積された後に、すなわち再バッファリングが完了した後に、再生部24による再生を再開させる。
【0047】
本実施の形態では、再バッファリングまたは再生の中断の発生を回避または低減する観点より、再生制御部28は、蓄積速度取得部26により取得された蓄積速度情報と、情報取得部27により取得されたデータレート情報とに基づき、再生部24により再生対象データが再生される速度を変更または制御する。具体的には、再生制御部28は、バッファ部23の再生対象データが枯渇または不足しないように、再生対象データが再生される速度を変更する。ここで、再生対象データが再生される速度は、単位時間当たりに再生されるデータ量であり、バッファ部23の再生対象データが再生により消費される速度、またはバッファ部23の再生対象データが単位時間当たりに消費されるデータ量とも言える。
【0048】
一つの態様では、再生制御部28は、蓄積速度情報と、データレート情報と、指定された再生倍率とに基づき、再生対象データが再生される速度を変更する。具体的には、再生制御部28は、指定された再生倍率において再生対象データが再生される速度に対して再生対象データが蓄積される速度(以下、「蓄積速度」と称す)が不足する場合に、再生対象データが再生される速度を、指定された再生倍率に応じた速度よりも遅くする。一方、蓄積速度が不足しない場合には、再生制御部28は、再生対象データが再生される速度を、指定された再生倍率に応じた速度とする。すなわち、再生制御部28は、蓄積速度が不足しない場合には、指定された再生倍率で再生対象データが再生されるように制御し、蓄積速度が不足する場合には、指定された再生倍率よりも遅い(絶対値が小さい)再生倍率で再生対象データが再生されるように制御する。
【0049】
一つの態様では、再生対象データは、複数のフレームにより構成される動画像データ(映像データ)であり、再生制御部28は、フレームを再生、復号化、または表示する時間間隔を変更する。例えば、再生制御部28は、指定された再生倍率において再生対象データが再生される速度に対して蓄積速度が不足する場合に、フレームを再生する時間間隔を、指定された再生倍率に応じた時間間隔よりも長くする。
【0050】
上記の動画像データは、一つの態様では、他のフレームを参照せずに符号化されたフレーム内符号化ピクチャと、他のフレームを参照して符号化されたフレーム間符号化ピクチャとを含む複数のフレームにより構成された動画像データである。より具体的な一態様では、再生対象データは、フレーム内符号化ピクチャであるIピクチャと、フレーム間符号化ピクチャであるPピクチャおよびBピクチャとにより構成される動画像データであり、例えばMPEG−2データである。Pピクチャは順方向予測符号化ピクチャであり、Bピクチャは双方向予測符号化ピクチャである。
【0051】
動画像データの再生において、再生制御部28は、動画像データの全てのフレームを再生するように制御してもよいし、一部のフレームを選択的に再生するように制御してもよい。例えば、再生制御部28は、フレーム内符号化ピクチャ(例えばIピクチャ)のみを選択的に再生するように制御してもよい。この場合、再生制御部28は、全てのIピクチャを再生するように制御してもよいし、一部のIピクチャを選択的に(例えば所定スキップ数のIピクチャをスキップして)再生するように制御してもよい。また、再生制御部28は、指定された再生倍率に応じて、再生されるフレームを選択してもよい。例えば、再生制御部28は、通常再生においては、全てのフレーム(例えばIピクチャ、Pピクチャ、およびBピクチャ)を再生するように制御し、早送り再生や早戻し再生においては、フレーム内符号化ピクチャ(例えばIピクチャ)のみを再生するように制御してもよい。さらに、早送り再生や早戻し再生において、再生制御部28は、再生倍率の大きさに応じてIピクチャのスキップ数を変化させてもよい。
【0052】
図3は、再生制御部28の構成の一例を示すブロック図である。図3の例では、再生制御部28は、予定表示間隔設定部301、制御用データ取得部302、表示間隔補正部303、およびパラメータ設定部304を有する。
【0053】
予定表示間隔設定部301は、指示受付部21からの指定された再生倍率Nに基づき、当該再生倍率Nに応じた表示間隔(Iピクチャを表示する時間間隔)を予定表示間隔Tとして設定する。
【0054】
予定表示間隔Tの設定方法としては、例えば、下記(a1),(a2)の方法が挙げられる。
【0055】
(a1)予定表示間隔設定部301は、再生倍率から予定表示間隔を決定するための予め用意された関数(例えばテーブルや計算式)を用いて、指定された再生倍率Nに対応する予定表示間隔Tを決定する。
【0056】
(a2)予定表示間隔設定部301は、再生対象データに含まれるIピクチャが(スキップされずに)順番に表示されるように、予定表示間隔Tを決定する。具体的には、予定表示間隔設定部301は、再生対象データにおけるIピクチャの周期(すなわち1倍速再生のときのIピクチャの表示間隔)Tと、指定された再生倍率Nとに基づき、計算式T=T/Nにより予定表示間隔Tを決定する。例えば、T=1[s]の再生対象データを5倍速再生する場合には、予定表示間隔はT=1/5=0.2[s]となる。なお、周期Tは、例えば再生対象データのフレームレートとGOP(Group Of Picture)長とから求められる。
【0057】
制御用データ取得部302は、指示受付部21からの指定された再生倍率Nと、バッファ部23のバッファ量を示すバッファ情報と、蓄積速度取得部26からのデータ転送レートと、情報取得部27からのデータレート(例えば平均ビットレート)とを取得し、これらのデータを管理する。
【0058】
表示間隔補正部303は、予定表示間隔設定部301により設定された予定表示間隔Tと、制御用データ取得部302で管理されているデータとに基づき、表示間隔の補正を行う。
【0059】
具体的には、表示間隔補正部303は、1枚のIピクチャを表示するためにかかるデータの取得時間T’を算出し、当該取得時間T’が予定表示間隔Tよりも長い場合には、表示間隔の補正を行う。具体的には、表示間隔補正部303は、補正後の表示間隔が予定表示間隔Tよりも長くなるように補正を行う。例えば、表示間隔補正部303は、補正後の表示間隔を取得時間T’に設定する。或いは、表示間隔補正部303は、補正後の表示間隔を、予定表示間隔Tより長く取得時間T’より短い時間に設定する。そして、表示間隔補正部303は、補正後の表示間隔を最終的な表示間隔Tとしてパラメータ設定部304に出力する。一方、取得時間T’が予定表示間隔T以下である場合には、表示間隔補正部303は、表示間隔の補正を行わずに、予定表示間隔Tを最終的な表示間隔Tとしてパラメータ設定部304に出力する。
【0060】
上記取得時間T’の算出方法としては、例えば、下記(b1),(b2)の方法が挙げられる。
【0061】
(b1)データ転送レートがR[MB/s]、データレートがR[MB/s]、指定された再生倍率がN、予定表示間隔がT[s]である場合、1枚のIピクチャを表示するためにかかるデータ量はR・N・T[MB]となり、1枚のIピクチャを表示するためにかかるデータの取得時間T’は、T’=(R・N・T)/R[s]となる。例えば、データレートが3[MB/s]、再生倍率が5、予定表示間隔が1[s]である場合、1枚のIピクチャを表示するためにかかるデータ量は3×5×1=15[MB]となる。そして、データ転送レートが2[MB/s]であれば、1枚のIピクチャを表示するためにかかるデータの取得時間は、T’=15/2=7.5[s]となる。そこで、表示間隔補正部303は、計算式T’=(R・N・T)/Rにより取得時間T’を算出する。
【0062】
(b2)データ転送レートがR[MB/s]、データレートがR[MB/s]、再生対象データにおけるIピクチャの周期がT[s]である場合、1枚のIピクチャを表示するためにかかるデータ量はR・T[MB]となり、1枚のIピクチャを表示するためにかかるデータの取得時間T’は、T’=(R・T)/R[s]となる。例えば、データレートが3[MB/s]、フレームレートが30[fps]、GOP長が15である場合、再生対象データにおけるIピクチャの周期は15/30=0.5[s]となり、1枚のIピクチャを表示するためにかかるデータ量は3×0.5=1.5[MB]となる。そして、データ転送レートが2[MB/s]であれば、1枚のIピクチャを表示するためにかかるデータの取得時間は、T’=1.5/2=0.75[s]となる。そこで、表示間隔補正部303は、計算式T’=(R・T)/Rにより取得時間T’を算出する。
【0063】
パラメータ設定部304は、再生部24に対し、バッファ部23に蓄積された再生対象データを復号化するために必要なパラメータの設定を行う。具体的には、パラメータ設定部304は、表示間隔補正部303からの最終的な表示間隔Tや、復号化するために必要な情報(例えばデータのフォーマットやコーデックの情報等)、指定された再生倍率N、表示されるフレームを特定するための情報などを再生部24に出力する。
【0064】
図4は、再生制御部28の制御によるIピクチャの表示のタイミングの一例を示す図である。図4(a)、(b)において、横軸は時間を示し、横軸(時間軸)の原点は初期バッファリング完了時点を示す。図4(a)には、予定表示間隔設定部301により設定された予定表示間隔TでIピクチャを復号化して表示する場合が示されている。図4(a)では、時刻T,2T,3T,・・・において、IピクチャI,I,I,・・・が順次復号化されて表示される。一方、図4(b)には、表示間隔補正部303により補正された表示間隔(T+ΔT)でIピクチャを復号化して表示する場合が示されている。図4(b)では、時刻(T+ΔT)でIピクチャIが表示され、その後、IピクチャI,I,・・・は、時間(T+ΔT)毎に表示される。
【0065】
図5〜図8は、本実施の形態1における再生装置20の動作の一例を示すフローチャートである。以下、図5〜図8を参照して、再生装置20の動作の一例を説明する。
【0066】
再生装置20は、電源が投入されると、図5に示されるメイン処理を開始し、ユーザからの再生開始指示を受けるまで待機する(S1:NO)。
【0067】
ユーザからの再生開始指示を受けると(S1:YES)、再生装置20は、再生対象データを取得するためのデータ取得処理(図6)と、再生対象データを解析するためのデータ解析処理(図7)と、再生対象データを再生するためのデータ再生処理(図8)とを開始させる(S2)。これらのデータ取得処理、データ解析処理、およびデータ再生処理は、互いに並列に実行される。
【0068】
図6に示されるデータ取得処理では、再生装置20は、データ提供装置10に対し、データ要求量およびデータ要求開始位置を指定して、再生対象データを要求する(S11)。この際、データ要求量およびデータ要求時刻が、データ転送レートの算出のために記録される。
【0069】
再生装置20は、再生対象データを受信するまで待機し(S12:NO)、再生対象データを受信すると(S12:YES)、受信したデータをバッファ部23に蓄積させる(S13)。また、再生装置20は、受信されたデータ量を受信に要した時間で除してデータ転送レートRを算出する(S14)。
【0070】
そして、再生装置20は、ステップS11で要求されたデータ要求量のデータの取得が完了したか否かを判断し(S15)、完了していないと判断された場合には(S15:NO)、処理をステップS12に戻し、完了したと判断された場合には(S15:YES)、処理をステップS16に進める。
【0071】
ステップS16では、再生装置20は、再生対象データを最後まで取得したか否かを判断し、取得したと判断された場合には(S16:YES)、処理を終了させ、取得していないと判断された場合には(S16:NO)、処理をステップS11に戻す。
【0072】
上記データ取得処理により、再生対象データが最後まで取得されるまで、再生対象データがバッファ部23に随時蓄積され、データ転送レートが随時計算される。
【0073】
図7に示されるデータ解析処理では、再生装置20は、図6のステップS13によりバッファ部23に蓄積された(未解析の)データの量が規定値以上になるまで待機し(S21:NO)、蓄積量が規定値以上になると(S21:YES)、当該蓄積された未解析のデータを解析し、再生対象データをデコードするためのフォーマット等の情報や、再生対象データのデータレートRを取得する(S22)。
【0074】
ついで、再生装置20は、再生対象データが最後まで解析されたか否かを判断し(S23)、解析されたと判断された場合には(S23:YES)、処理を終了させ、解析されていないと判断された場合には(S23:NO)、処理をステップS21に戻す。
【0075】
上記データ解析処理により、再生対象データが規定値以上バッファ部23に蓄積される毎に、再生対象データの解析が行われ、データレート等の情報が取得される。
【0076】
図8に示されるデータ再生処理では、再生装置20は、バッファ部23における再生対象データの蓄積量(以下、「バッファ量」と称す)が初期バッファ量に達するまで待機し(S31:NO)、バッファ量が初期バッファ量に達すると(S31:YES)、処理をステップS32に進める。
【0077】
ステップS32では、再生装置20は、Iピクチャの予定表示間隔Tを決定する。例えば、再生装置20は、上記(a1)に記載の方法により、ユーザにより指定された再生倍率Nに対応する予定表示間隔Tを決定する。
【0078】
ついで、再生装置20は、データ取得処理のステップS14で取得されたデータ転送レートRと、データ解析処理のステップS22で取得されたデータレートRとに基づき、1枚のIピクチャを表示するためにかかるデータの取得時間T’を算出する(S33)。例えば、再生装置20は、上記(b1)に記載の方法により、データ転送レートR、データレートR、再生倍率N、および予定表示間隔Tに基づき、計算式T’=(R・N・T)/Rにより、1枚のIピクチャを表示するためにかかるデータの取得時間T’を算出する。この計算では、例えば、データ取得処理で取得された1以上のデータ転送レートのうち、最も新しい(最近取得された)データ転送レートが用いられる。また、データレートとしては、例えば、現時点までにデータ解析処理で取得された1以上のデータレートの平均値が用いられる。
【0079】
ついで、再生装置20は、取得時間T’が予定表示間隔T以下であるか否かを判断する(S34)。そして、取得時間T’が予定表示間隔T以下であると判断された場合には(S34:YES)、再生装置20は、処理をステップS35に進める。一方、取得時間T’が予定表示間隔Tよりも大きいと判断された場合には(S34:NO)、再生装置20は、処理をステップS36に進める。
【0080】
ステップS35では、再生装置20は、予定表示間隔Tにより、Iピクチャの表示を行う。具体的には、再生装置20は、バッファ量が初期バッファ量に到達した時点または前回Iピクチャを表示した時点から、時間Tが経過した時点で、バッファ部23から表示対象の1枚のIピクチャを表示するためのデータを取り出し、当該データをデコードして出力部25に表示させる。
【0081】
一方、ステップS36では、再生装置20は、予定表示間隔Tに補正時間ΔTを加えて、補正後の表示間隔(T+ΔT)により、Iピクチャの表示を行う。具体的には、再生装置20は、バッファ量が初期バッファ量に到達した時点または前回Iピクチャを表示した時点から、時間(T+ΔT)が経過した時点で、バッファ部23から表示対象の1枚のIピクチャを表示するためのデータを取り出し、当該データをデコードして出力部25に表示させる。なお、データの蓄積速度と消費速度とをバランスさせるためには、補正後の表示間隔として、取得時間T’と等しい時間が設定される。ただし、実際の再生倍率を指定された再生倍率に近づける観点より、補正後の表示間隔として、取得時間T’よりも小さい時間が設定されてもよい。
【0082】
なお、ステップS35およびS36では、再生装置20は、データ解析処理のステップS22で取得されたデコード用の情報を用いて、再生対象データのデコードを行う。
【0083】
ステップS35またはS36の後、ステップS37では、再生装置20は、再生対象データの最後のIピクチャの表示が完了したか否かを判断し、完了していないと判断された場合には(S37:NO)、処理をステップS33に戻す。一方、表示が完了したと判断された場合には(S37:YES)、再生装置20は、処理を終了させる。
【0084】
上記データ再生処理により、バッファ量が初期バッファ量に到達した後、Iピクチャの表示が行われる。このとき、データレートおよび再生倍率との関係で、データ転送レートが十分に大きい場合には、予定表示間隔でIピクチャの表示が行われ、一方、データ転送レートが不足する場合には、予定表示間隔より長い表示間隔でIピクチャの表示が行われる。
【0085】
再び図5を参照すると、再生装置20は、メイン処理において、データ取得処理、データ解析処理、およびデータ再生処理を開始させた後、処理をステップS3に進める。
【0086】
ステップS3では、再生装置20は、再生対象データの再生が終了したか否か、すなわちデータ再生処理が終了したか否かを判断する。
【0087】
そして、再生が終了したと判断された場合には(S3:YES)、再生装置20は、メイン処理を終了させる。
【0088】
一方、再生が終了していないと判断された場合には(S3:NO)、再生装置20は、ユーザからの再生停止指示を受け付けたか否かを判断する(S4)。そして、再生装置20は、再生停止指示を受け付けていないと判断された場合には(S4:NO)、処理をステップS3に戻し、再生停止指示を受け付けたと判断された場合には(S4:YES)、データ取得処理、データ解析処理、およびデータ再生処理を停止させた後(S5)、メイン処理を終了させる。
【0089】
図9は、バッファ部23の蓄積量(バッファ量)の遷移を示すグラフである。図9(a)〜(c)において、横軸は時間を示し、縦軸はバッファ量を示す。横軸(時間軸)の原点は初期バッファリング完了時点を示す。また、図9(a)〜(c)において、再生倍率はN[倍]、予定表示間隔はT[s]、1枚のIピクチャの表示につき消費されるデータ量はB[MB]、再生対象データのデータレートはR[MB/s]、初期バッファ量はM[MB]である。
【0090】
図9(a)は、データ転送レートが十分に大きい場合におけるバッファ量の遷移の一例を示している。図9(a)では、時間間隔T[s]でIピクチャが表示され、1枚のIピクチャの表示につきB[MB]のデータが消費される。この場合、1秒間に必要なデータ量は、B/T[MB/s]となる。また、再生対象データのデータレートがR[MB/s]であり、再生倍率がNであることから、1秒間に必要なデータ量は、R・N[MB/s]となる。図9(a)では、この1秒間に必要なデータ量B/T(またはR・N)[MB/s]に対して、データ転送レートR[MB/s]が大きいか等しい。このため、時間T[s]の間に消費量B[MB]に相当する量のデータを蓄積させることができ、バッファ部23のデータの枯渇または不足(バッファアンダーフロー)が発生せず、再生が継続的に行われる。
【0091】
図9(b)は、データ転送レートが不足する場合であって、表示間隔の補正を行わない場合におけるバッファ量の遷移の一例を示している。図9(b)では、時間間隔T[s]でIピクチャが表示され、1枚のIピクチャの表示につきB[MB]のデータが消費される。この場合、1秒間に必要なデータ量は、B/T[MB/s]となる。また、再生対象データのデータレートがR[MB/s]であり、再生倍率がNであることから、1秒間に必要なデータ量は、R・N[MB/s]となる。図9(b)では、この1秒間に必要なデータ量B/T(またはR・N)[MB/s]に対して、データ転送レートR[MB/s]が小さい。このため、時間T[s]の間に消費量B[MB]に相当する量のデータを蓄積させることができず、バッファ部23のデータの枯渇または不足(バッファアンダーフロー)が発生する。具体的には、1秒当たり不足するデータ量は(R・N−R)[MB/s]となり、時間M/(R・N−R)[s]後に、Iピクチャを表示するためのデータがなくなり、再バッファリングが発生し、初期バッファ量のデータが蓄積されるまでの間、同じIピクチャが表示され続ける。図9(b)の例では、時刻T5でデータがなくなり、再バッファリングが発生している。
【0092】
図9(c)は、データ転送レートが不足する場合であって、表示間隔の補正を行う場合におけるバッファ量の遷移の一例を示している。図9(c)では、図9(b)と同様に、1秒間に必要なデータ量B/T(またはR・N)[MB/s]に対して、データ転送レートR[MB/s]が小さい。このため、予定表示間隔T[s]でIピクチャを表示すると、図9(b)のようにバッファ部23のデータが枯渇してしまう。そこで、図9(c)では、データが枯渇しないよう、表示間隔を長くする補正を行い、表示間隔(T+ΔT)[s]でIピクチャの表示を行う。ここで、補正時間ΔTは、Iピクチャ1枚当たり不足するデータ量をデータ転送レートで除すことにより算出される。すなわち、補正時間ΔTは、計算式ΔT=(B−R・T)/Rにより計算される。この場合、表示間隔はT+ΔT=B/Rとなり、この表示間隔の間に(T+ΔT)・R=B[MB]のデータが蓄積され、蓄積量と消費量とが等しくなる。
【0093】
次に、具体的な例を挙げて、表示間隔の補正を行わない場合と行う場合との比較を示す。本例では、バッファ部23の容量(すなわちバッファ容量)は8[MB]、初期バッファ量は5[MB]、データ転送レートは2[MB/s]、データレートは0.6[MB/s]、指定された再生倍率は5[倍]、予定表示間隔は1[s]であるものとする。
【0094】
表示間隔の補正を行わない場合には、初期バッファリング完了後、時間5[MB]/(0.6[MB/s]×5−2[MB/s])=5[s]後にバッファ部23が空になり、再バッファリングが行われ、初期バッファ量のデータが蓄積されるまで、すなわち5[MB]/2[MB/s]=2.5[s]の時間、再生が中断される。また、再開後も、5秒間の再生毎に、2.5秒の中断が発生する。
【0095】
一方、表示間隔の補正を行う場合、予定表示間隔Tに補正時間ΔTを加算し、表示間隔(T+ΔT)でIピクチャの表示を行う。ここで、補正時間は、ΔT=(0.6[MB/s]×5×1[s]−2[MB/s]×1[s])/2[MB/s]=0.5[s]であり、補正後の表示間隔は、T+ΔT=1.5[s]である。これにより、表示間隔の間に2[MB/s]×1.5[s]=3[MB]のデータが蓄積される。この蓄積量は、1枚のIピクチャの表示におけるデータの消費量(0.6[MB/s]×5×1[s]=3[MB])と等しい。これにより、再生の中断が回避され、再生が継続的に行われる。
【0096】
以上説明した本実施の形態1によれば、下記(1)〜(8)の効果が得られ得る。
(1)本実施の形態では、再生装置は、再生対象データがバッファ部に蓄積される速度を示す蓄積速度情報と、再生対象データの単位時間当たりのデータ量を示すデータレート情報とを取得し、蓄積速度情報とデータレート情報とに基づき、再生部により再生対象データが再生される速度を変更する。本実施の形態によれば、再生対象データが蓄積される速度と、再生対象データの単位時間当たりのデータ量とに応じて、再生対象データが再生される速度を変更することができ、バッファ部のデータの枯渇または不足による再生の中断を回避または低減することが可能となる。具体的には、蓄積速度とデータレートとに応じて、バッファ部のデータが枯渇または不足しないように、再生対象データが再生される速度を変更することで、再バッファリングによる再生の中断を回避でき、再生を継続的に行うことができる。また、バッファ容量を大きくすることにより再生の中断を回避する構成と比較して、低コストで再生の中断を回避することが可能となる。
【0097】
(2)再生装置は、再生対象データの再生倍率の指定を受け付け、蓄積速度情報と、データレート情報と、指定された再生倍率とに基づき、再生対象データが再生される速度を変更する。本態様によれば、再生倍率が指定される構成において、蓄積速度とデータレートと再生倍率とに応じて、再生対象データが再生される速度を変更することができ、バッファ部のデータの枯渇または不足による再生の中断を回避または低減することが可能となる。具体的には、蓄積速度とデータレートと再生倍率とに応じて、バッファ部のデータが枯渇または不足しないように、再生対象データが再生される速度を変更することで、再バッファリングによる再生の中断を回避でき、再生を継続的に行うことができる。特に、早送りや早戻しなどの特殊再生が行われる場合には、バッファ部のデータが再生により消費される速度が大きくなり、再生の中断が発生しやすいが、このような特殊再生における再生の中断を回避することができ、特殊再生を継続的に行うことができる。
【0098】
(3)再生装置は、指定された再生倍率において再生対象データが再生される速度に対して、再生対象データが蓄積される速度が不足する場合に、再生対象データが再生される速度を、指定された再生倍率に応じた速度よりも遅くする。これにより、再生倍率に対して蓄積速度が不足する場合に、再生対象データが再生される速度を遅くすることができ、バッファ部のデータの枯渇または不足による再生の中断を回避または低減することができる。
【0099】
(4)再生対象データは、複数のフレームにより構成される動画像データであり、再生装置は、フレームを再生する時間間隔を変更する。本態様によれば、動画像データを再生する場合において、再生の中断を回避または低減することが可能となる。
【0100】
(5)再生対象データは、複数のフレームにより構成される動画像データであり、再生装置は、指定された再生倍率において再生対象データが再生される速度に対して、再生対象データが蓄積される速度が不足する場合に、フレームを再生する時間間隔を、再生倍率に応じた時間間隔よりも長くする。本態様によれば、動画像データを再生する場合において、再生倍率に対して蓄積速度が不足する場合に、再生の中断を回避または低減することができる。
【0101】
(6)再生装置は、取得された再生対象データのデータ量と、当該再生対象データの取得に要した時間とに基づき、再生対象データの転送速度を蓄積速度情報として算出する。本態様によれば、簡易な構成で蓄積速度情報を取得することができる。
【0102】
(7)再生装置は、再生対象データが取得される期間中に、蓄積速度情報の取得を複数回実行する。本態様によれば、ネットワークを介して再生対象情報を取得する場合など、通信速度や転送速度が変化する場合において、例えば蓄積速度情報を随時取得することができ、再生開始時に1回だけ蓄積速度情報を取得する場合と比較して、より適切な蓄積速度情報を取得することができる。
【0103】
(8)再生装置は、再生対象データが取得される期間中に、データレート情報や再生に必要な情報など、再生対象情報に関する情報の取得を複数回実行する。本態様によれば、再生対象データの位置によってデータレートやフォーマットが変化する場合において、例えばデータレート情報等を随時取得することができ、再生開始時に1回だけ再生対象データに関する情報を取得する場合と比較して、より適切な再生対象データに関する情報を取得することができる。
【0104】
なお、上記の説明では、情報取得部27がバッファ部23に蓄積されたデータから再生対象データに関する情報を取得する構成を例示したが、再生装置20は、例えば下記(c1)、(c2)のように構成されてもよい。
【0105】
(c1)データ受信部22bは、受信された再生対象データ(例えばストリームデータ)を一時保存し、一時保存された再生対象データの量が所定量以上に達すると、情報取得部27に対してデータの解析を指示する。情報取得部27は、データ受信部22bからの指示に基づき、データ受信部22bに一時保存されているデータを解析して、再生対象データに関する情報を取得する。当該情報の取得の終了後、データ受信部22bは、一時保存されているデータをバッファ部23に転送する。
【0106】
(c2)データ受信部22bは、受信された再生対象データを情報取得部27に逐次送信する。情報取得部27は、データ受信部22bからの再生対象データを一時保存し、一時保存されたデータの量が所定量以上に達すると、当該データを解析して、再生対象データに関する情報を取得する。その後、情報取得部27は、一時保存されているデータをバッファ部23に転送する。
【0107】
実施の形態2.
図10は、実施の形態2における再生装置50を含む再生システムの構成の一例を示すブロック図である。この再生装置50は、実施の形態1の再生装置20と殆ど同じであるので、実施の形態1と同様の部分については、同一の符号を用い、説明を省略または簡略化することとする。
【0108】
本実施の形態では、再生対象データは、他のフレームを参照せずに符号化されたフレーム内符号化ピクチャと、他のフレームを参照して符号化されたフレーム間符号化ピクチャとを含む複数のフレームにより構成された動画像データである。具体的には、再生対象データは、Iピクチャ、Pピクチャ、およびBピクチャにより構成される動画像データであり、例えばMPEG−2データである。
【0109】
図10に示されるように、再生装置50は、図1に示される再生装置20の構成に加えて、位置情報取得部51を有する。
【0110】
位置情報取得部51は、再生対象データのフレーム内符号化ピクチャの位置を示す位置情報を取得する。具体的には、位置情報取得部51は、バッファ部23に蓄積されている再生対象データを解析して、再生対象データにおけるIピクチャの開始位置(例えば先頭アドレス)および終了位置(例えば終了アドレス)を取得し、当該開始位置および終了位置を示すIピクチャの位置情報を再生制御部28に送る。位置情報取得部51は、上記位置情報を外部(例えばデータ提供装置10)から取得してもよい。
【0111】
位置情報取得部51は、例えば、指示受付部21からの位置情報取得指示に応じて位置情報の取得を行う。この位置情報取得指示は、例えば、指示受付部21により再生開始指示が受け付けられた場合に、指示受付部21から位置情報取得部51に送られる。
【0112】
再生制御部28は、再生対象データのうちフレーム内符号化ピクチャを選択的に再生する場合、位置情報取得部51により取得された位置情報に基づき、バッファ部23から上記フレーム内符号化ピクチャを選択的に取得するように再生部24を制御する。フレーム内符号化ピクチャを選択的に再生する場合としては、例えば、早送り再生や早戻し再生などにおいて、フレーム内符号化ピクチャ(例えばIピクチャ)のみを再生する場合が挙げられる。なお、再生制御部28は、例えば通常再生時など、フレーム内符号化ピクチャおよびフレーム間符号化ピクチャの両方を再生する場合には、位置情報を利用しなくてもよい。
【0113】
以上説明した本実施の形態2によれば、下記(9)の効果が得られ得る。
(9)再生対象データは、フレーム内符号化ピクチャと、フレーム間符号化ピクチャとを含む複数のフレームにより構成された動画像データであり、再生装置は、再生対象データのフレーム内符号化ピクチャの位置を示す位置情報を取得し、再生対象データのうちフレーム内符号化ピクチャを選択的に再生する場合、取得された位置情報に基づき、バッファ部からフレーム内符号化ピクチャを選択的に取得する。このため、本実施の形態によれば、バッファ部から再生部に転送されるデータをフレーム内符号化ピクチャのデータのみにすることができ、再生部に入力されるデータ量を削減することができる。これにより、例えばデータ転送の負荷や再生部の負荷を軽減することができる。
【0114】
なお、上記の説明では、位置情報取得部51がバッファ部23に蓄積されている再生対象データから位置情報を取得する構成を例示したが、位置情報取得部51は、情報取得部27に一時保存されている再生対象データから位置情報を取得してもよい。この場合、情報取得部27は、一時保存している再生対象データの解析が完了すると、位置情報取得部51に位置情報取得指示を送る。位置情報取得部51は、情報取得部27からの位置情報取得指示に応じて、情報取得部27に一時保存されているデータを解析して位置情報を取得する。その後、情報取得部27は、一時保存されているデータをバッファ部23に転送する。
【0115】
実施の形態3.
図11は、実施の形態3における再生装置60を含む再生システムの構成の一例を示すブロック図である。この再生装置60は、実施の形態1の再生装置20と殆ど同じであるので、実施の形態1と同様の部分については、同一の符号を用い、説明を省略または簡略化することとする。
【0116】
本実施の形態では、データ取得部22は、再生対象データが再生される速度が、指定された再生倍率に応じた速度よりも遅くされる場合、実際の再生倍率が指定された再生倍率に近づくように、再生対象データを、一部をスキップして取得する。
【0117】
図11の例では、データ取得部22は、データ要求制御部61を含む。このデータ要求制御部61は、再生対象データが再生される速度が、指定された再生倍率に応じた速度よりも遅くされる場合、実際の再生倍率が指定された再生倍率に近づくように、再生対象データが、一部スキップして要求されるように、データ要求部22aを制御する。
【0118】
具体的には、データ要求制御部61は、予定表示間隔設定部301により設定された予定表示間隔Tと、表示間隔補正部303により決定された最終的な表示間隔Tとを取得する。そして、データ要求制御部61は、当該予定表示間隔Tと表示間隔Tとが異なる場合、当該予定表示間隔Tと表示間隔Tとに基づき、Iピクチャを予定通りまたは順番通りに要求して表示する場合と比べて、実際の再生倍率が指定された再生倍率に近づくように、一部のIピクチャをとばして、Iピクチャを要求するようにデータ要求部22aを制御する。
【0119】
一つの例では、データ要求制御部61は、表示間隔Tに基づく実際にIピクチャが表示される時刻Tにおいて、予定表示間隔Tに基づくIピクチャが表示される予定の時刻Tのうち、時刻Tに最も近い時刻Tに対応するIピクチャが表示されるように、Iピクチャの取得を制御する。
【0120】
また、別の例では、データ要求制御部61は、表示間隔Tで表示される予定のT/T枚のIピクチャのうち、1枚のIピクチャが取得されて表示されるように、Iピクチャの取得を制御する。すなわち、データ要求制御部61は、表示間隔Tで表示される予定のT枚のIピクチャのうち、(T−T)枚のIピクチャがスキップされるように、Iピクチャの取得を制御する。例えば、T=1[s]、T=3[s]の場合には、3/1=3枚のIピクチャのうち1枚のIピクチャが取得されるように、3枚のIピクチャのうち(3−1)=2枚のIピクチャがスキップされるように、Iピクチャの取得を制御する。
【0121】
具体的な一例を挙げると、予定表示間隔T=1[s]、実際の表示間隔T=1.5[s]の場合、理想的には時刻1,2,3,・・・[s]の時点でIピクチャI,I,I,・・・が表示されるべきところ、時刻1.5,3.0,4.5,・・・[s]の時点でIピクチャI,I,I,・・・が表示され、例えば時刻2[s]で表示されるべきIピクチャIが時刻3[s]で表示されることになる。そこで、本実施の形態では、データ要求制御部61は、時刻1.5[s]でIピクチャIが表示された後、時刻3.0[s]でIピクチャIが表示されるように、IピクチャIをスキップして、IピクチャI,Iを取得するように制御する。
【0122】
再生部24は、データ取得部22により取得されてバッファ部23に蓄積された再生対象データを再生する。ここで、再生対象データのうちスキップされた部分については、データ取得部24に取得されず、再生の対象とならない。具体的には、再生部24は、再生制御部25の制御に従って、表示間隔Tにより、バッファ部23に蓄積されたIピクチャをデコードする。ここで、スキップされたIピクチャは、バッファ部23に蓄積されず、デコードの対象とならない。
【0123】
図12は、本実施の形態3におけるIピクチャの表示の一例を示す図である。図12(a)〜(c)において、横軸は時間を示し、横軸(時間軸)の原点は初期バッファリング完了時点を示す。
【0124】
図12(a)には、予定表示間隔TでIピクチャを表示する場合が示されている。図12(a)では、時刻T,2T,3T,4T,・・・で、IピクチャI,I,I,I,・・・が順次デコードされて表示される。
【0125】
図12(b)には、表示間隔を補正してIピクチャを表示する場合であって、本実施の形態の制御を行わない場合が示されている。図12(b)では、時刻T,2T+Δt,3T+Δt,4T+Δt,・・・で、IピクチャI,I,I,I,・・・が順次デコードされて表示される。この場合、理想的には時刻5TでIピクチャIが表示されるべきところ、時刻5Tに近い時刻4T+Δtにおいて、IピクチャIではなく、時刻4Tに対応するIピクチャIが表示される。
【0126】
図12(c)には、表示間隔を補正してIピクチャを表示する場合であって、本実施の形態の制御を行う場合が示されている。図12(c)では、時刻T,2T+Δt,3T+Δt,4T+Δt,・・・で、IピクチャI,I,I,I,・・・が順次デコードされて表示される。すなわち、時刻5Tに近い時刻4T+Δtにおいて、IピクチャIではなく、時刻5Tに対応するIピクチャIが表示されるように、Iピクチャの取得および表示が制御され、IピクチャIの取得および表示がスキップされている。
【0127】
以上説明した本実施の形態3によれば、下記(10)の効果が得られ得る。
(10)再生装置は、再生対象データが再生される速度が、指定された再生倍率に応じた速度よりも遅くされる場合、実際の再生倍率が指定された再生倍率に近づくように、再生対象データを、一部をスキップして取得する。このため、本実施の形態によれば、再生対象データが再生される速度が、指定された再生倍率に応じた速度よりも遅くされる場合において、実際の再生倍率を指定された再生倍率に近づけることができる。
【0128】
なお、上記の説明では、データ要求制御部61が表示間隔Tを使用する構成を例示したが、データ要求制御部61は、表示間隔Tの代わりに、例えば再生部24または再生制御部28から、Iピクチャが表示された時刻を取得して使用してもよい。
【0129】
また、上記の本実施の形態3の機能は、実施の形態2における再生装置に適用されてもよい。
【0130】
実施の形態4.
図13は、実施の形態4における再生装置70を含む再生システムの構成の一例を示すブロック図である。この再生装置70は、実施の形態1の再生装置20と殆ど同じであるので、実施の形態1と同様の部分については、同一の符号を用い、説明を省略または簡略化することとする。
【0131】
本実施の形態では、データ取得部22は、バッファ部23の蓄積量が所定の下限値を下回ったことを検知すると、データ提供装置10に対して再生対象データの要求を行う。
【0132】
図13の例では、データ取得部22は、下限検知部71を含む。この下限検知部71は、バッファ部23の蓄積量(バッファ量)を取得し、バッファ量が所定の下限値より少なくなった場合に、データ要求部22aにデータ要求を指示する。
【0133】
以上説明した本実施の形態4によれば、下記(11)の効果が得られ得る。
(11)再生装置は、バッファ部の蓄積量が所定の下限値を下回った場合に、再生対象データの要求を行う。このため、バッファ部の蓄積量が0になる前に、再生対象データを要求することができる。これにより、例えば、蓄積量が0になった場合に再バッファリングが実施される構成において、再バッファリングの発生を回避または低減することができる。
【0134】
なお、上記の本実施の形態4の機能は、実施の形態2または3における再生装置に適用されてもよい。
【0135】
以上説明した実施の形態1〜4において、再生装置の機能は、ハードウェア資源のみにより実現されてもよいし、ハードウェア資源とソフトウェアとの協働により実現されてもよい。ハードウェア資源とソフトウェアとの協働により実現される場合、再生装置の機能は、例えばコンピュータプログラムがコンピュータにより実行されることによって実現される。より具体的には、再生装置の機能は、ROM(Read Only Memory)等の記録媒体に記録されたコンピュータプログラムが主記憶装置に読み出されて中央処理装置(CPU: Central Processing Unit)により実行されることによって実現される。コンピュータプログラムは、光ディスク等のコンピュータ読み取り可能な記録媒体に記録されて提供されてもよいし、インターネット等の通信回線を介して提供されてもよい。
【0136】
なお、本発明は、上記実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の態様で実施することができる。
【符号の説明】
【0137】
10 データ提供装置、 20,50,60,70 再生装置、 21 指示受付部、 22 データ取得部、 22a データ要求部、 22b データ受信部、 23 バッファ部、 24 再生部、 25 出力部、 26 蓄積速度取得部、 27 情報取得部、 28 再生制御部、 30 ユーザ操作制御部、 51 位置情報取得部、 61 データ要求制御部、 71 下限検知部、 100 再生システム。

【特許請求の範囲】
【請求項1】
再生対象データを取得して蓄積手段に蓄積させるデータ取得手段と、
前記蓄積手段に蓄積された再生対象データを再生する再生手段と、
前記再生対象データが前記蓄積手段に蓄積される速度を示す蓄積速度情報を取得する蓄積速度取得手段と、
前記再生対象データの単位時間当たりのデータ量を示すデータレート情報を取得する情報取得手段と、
前記取得された蓄積速度情報と、前記取得されたデータレート情報とに基づき、前記再生手段により前記再生対象データが再生される速度を変更する再生制御手段と、
を有することを特徴とする再生装置。
【請求項2】
前記再生対象データの再生倍率の指定を受け付ける受付手段をさらに有し、
前記再生制御手段は、前記蓄積速度情報と、前記データレート情報と、前記指定された再生倍率とに基づき、前記再生対象データが再生される速度を変更することを特徴とする請求項1に記載の再生装置。
【請求項3】
前記再生制御手段は、前記指定された再生倍率において前記再生対象データが再生される速度に対して、前記再生対象データが蓄積される速度が不足する場合に、前記再生対象データが再生される速度を、前記再生倍率に応じた速度よりも遅くすることを特徴とする請求項2に記載の再生装置。
【請求項4】
前記再生対象データは、複数のフレームにより構成される動画像データであり、
前記再生制御手段は、前記フレームを再生する時間間隔を変更することを特徴とする請求項1から3のいずれかに記載の再生装置。
【請求項5】
前記再生対象データは、複数のフレームにより構成される動画像データであり、
前記再生制御手段は、前記指定された再生倍率において前記再生対象データが再生される速度に対して、前記再生対象データが蓄積される速度が不足する場合に、前記フレームを再生する時間間隔を、前記再生倍率に応じた時間間隔よりも長くすることを特徴とする請求項2に記載の再生装置。
【請求項6】
前記再生対象データは、符号化されたデータであり、
前記再生手段は、前記再生対象データを復号化することを特徴とする請求項1から5のいずれかに記載の再生装置。
【請求項7】
前記蓄積速度取得手段は、前記データ取得手段により取得された再生対象データのデータ量と、当該再生対象データの取得に要した時間とに基づき、前記データ取得手段への前記再生対象データの転送速度を、前記蓄積速度情報として算出することを特徴とする請求項1から6のいずれかに記載の再生装置。
【請求項8】
前記蓄積速度取得手段は、前記再生対象データが前記データ取得手段により取得される期間中に、前記蓄積速度情報の取得を複数回実行することを特徴とする請求項1から7のいずれかに記載の再生装置。
【請求項9】
前記再生対象データは、他のフレームを参照せずに符号化されたフレーム内符号化ピクチャと、他のフレームを参照して符号化されたフレーム間符号化ピクチャとを含む複数のフレームにより構成された動画像データであり、
前記再生装置は、前記再生対象データの前記フレーム内符号化ピクチャの位置を示す位置情報を取得する位置情報取得手段をさらに有し、
前記再生制御手段は、前記再生対象データのうち前記フレーム内符号化ピクチャを選択的に再生する場合、前記取得された位置情報に基づき、前記蓄積手段から前記フレーム内符号化ピクチャを選択的に取得するように前記再生手段を制御することを特徴とする請求項1から8のいずれかに記載の再生装置。
【請求項10】
前記位置情報取得手段は、前記再生対象データを解析して前記位置情報を取得する機能、または外部から前記位置情報を取得する機能を含むことを特徴とする請求項9に記載の再生装置。
【請求項11】
前記データ取得手段は、前記再生対象データが再生される速度が、指定された再生倍率に応じた速度よりも遅くされる場合、実際の再生倍率が前記指定された再生倍率に近づくように、前記再生対象データを、一部をスキップして取得することを特徴とする請求項1から10のいずれかに記載の再生装置。
【請求項12】
再生対象データを取得して蓄積手段に蓄積させるデータ取得ステップと、
前記蓄積手段に蓄積された再生対象データを再生する再生ステップと、
前記再生対象データが前記蓄積手段に蓄積される速度を示す蓄積速度情報を取得する蓄積速度取得ステップと、
前記再生対象データの単位時間当たりのデータ量を示すデータレート情報を取得する情報取得ステップと、
前記取得された蓄積速度情報と、前記取得されたデータレート情報とに基づき、前記再生ステップで前記再生対象データが再生される速度を変更する再生制御ステップと、
を有することを特徴とする再生方法。
【請求項13】
前記再生対象データの再生倍率の指定を受け付ける受付ステップをさらに有し、
前記再生制御ステップでは、前記蓄積速度情報と、前記データレート情報と、前記指定された再生倍率とに基づき、前記再生対象データが再生される速度を変更することを特徴とする請求項12に記載の再生方法。
【請求項14】
前記再生制御ステップでは、前記指定された再生倍率において前記再生対象データが再生される速度に対して、前記再生対象データが蓄積される速度が不足する場合に、前記再生対象データが再生される速度を、前記再生倍率に応じた速度よりも遅くすることを特徴とする請求項13に記載の再生方法。
【請求項15】
前記再生対象データは、複数のフレームにより構成される動画像データであり、
前記再生制御ステップでは、前記フレームを再生する時間間隔を変更することを特徴とする請求項12から14のいずれかに記載の再生方法。
【請求項16】
前記再生対象データは、複数のフレームにより構成される動画像データであり、
前記再生制御ステップでは、前記指定された再生倍率において前記再生対象データが再生される速度に対して、前記再生対象データが蓄積される速度が不足する場合に、前記フレームを再生する時間間隔を、前記再生倍率に応じた時間間隔よりも長くすることを特徴とする請求項13に記載の再生方法。
【請求項17】
前記再生対象データは、符号化されたデータであり、
前記再生ステップでは、前記再生対象データを復号化することを特徴とする請求項12から16のいずれかに記載の再生方法。
【請求項18】
前記蓄積速度取得ステップでは、前記データ取得ステップで取得された再生対象データのデータ量と、当該再生対象データの取得に要した時間とに基づき、前記再生対象データの転送速度を、前記蓄積速度情報として算出することを特徴とする請求項12から17のいずれかに記載の再生方法。
【請求項19】
前記蓄積速度取得ステップでは、前記再生対象データが前記データ取得ステップで取得される期間中に、前記蓄積速度情報の取得を複数回実行することを特徴とする請求項12から18のいずれかに記載の再生方法。
【請求項20】
前記再生対象データは、他のフレームを参照せずに符号化されたフレーム内符号化ピクチャと、他のフレームを参照して符号化されたフレーム間符号化ピクチャとを含む複数のフレームにより構成された動画像データであり、
前記再生方法は、前記再生対象データの前記フレーム内符号化ピクチャの位置を示す位置情報を取得する位置情報取得ステップをさらに有し、
前記再生制御ステップでは、前記再生対象データのうち前記フレーム内符号化ピクチャを選択的に再生する場合、前記取得された位置情報に基づき、前記蓄積手段から前記フレーム内符号化ピクチャを選択的に取得するように前記再生ステップを制御することを特徴とする請求項12から19のいずれかに記載の再生方法。
【請求項21】
前記位置情報取得ステップは、前記再生対象データを解析して前記位置情報を取得するステップ、または外部から前記位置情報を取得するステップを含むことを特徴とする請求項20に記載の再生方法。
【請求項22】
前記データ取得ステップでは、前記再生対象データが再生される速度が、指定された再生倍率に応じた速度よりも遅くされる場合、実際の再生倍率が前記指定された再生倍率に近づくように、前記再生対象データを、一部をスキップして取得することを特徴とする請求項12から21のいずれかに記載の再生方法。


【図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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2012−222689(P2012−222689A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−88279(P2011−88279)
【出願日】平成23年4月12日(2011.4.12)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】