コンテンツ再生装置及びコンテンツ再生方法
【課題】コンテンツデータが滑らかに再生されるように制御できるコンテンツ再生装置及びコンテンツ再生方法を提供すること。
【解決手段】実施形態によれば、コンテンツ再生装置は、再生手段、一時停止手段及び再生準備手段を具備する。再生手段は、複数のシーンを含む映像コンテンツデータを再生する。一時停止手段は、1つのシーンに対応する前記映像コンテンツデータが再生されているとき、当該シーンに対応する映像の再生を一時停止する。再生準備手段は、前記シーンに対応する映像の再生が一時停止されている期間内に、前記シーンに後続するシーンに対応するデータを準備する。前記再生手段は、前記準備が完了したこと、及び/又は前記再生が一時停止されてからの経過時間が第1の時間以上であることに応答して、前記再生を再開する。
【解決手段】実施形態によれば、コンテンツ再生装置は、再生手段、一時停止手段及び再生準備手段を具備する。再生手段は、複数のシーンを含む映像コンテンツデータを再生する。一時停止手段は、1つのシーンに対応する前記映像コンテンツデータが再生されているとき、当該シーンに対応する映像の再生を一時停止する。再生準備手段は、前記シーンに対応する映像の再生が一時停止されている期間内に、前記シーンに後続するシーンに対応するデータを準備する。前記再生手段は、前記準備が完了したこと、及び/又は前記再生が一時停止されてからの経過時間が第1の時間以上であることに応答して、前記再生を再開する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、コンテンツデータを再生するコンテンツ再生装置及び該装置に適用されるコンテンツ再生方法に関する。
【背景技術】
【0002】
近年、デジタルフォトフレーム等と称される画像再生装置が普及している。デジタルフォトフレームは、例えば、カード型記憶メディアに格納される複数枚の静止画像を所定時間間隔で順次表示する機能を有している。例えばパーソナルコンピュータやデジタルカメラ等においても、デジタルフォトフレームと同様に、複数枚の静止画像を所定時間間隔で順次表示する機能を有するものが一般的である。
【0003】
また、上述の画像再生装置では、静止画像にエフェクトを施して表示する機能を有するものもある。この画像再生装置は、例えば、2枚の静止画像に対して、これら静止画像をスライドさせて切り替える(スライドイン/スライドアウト)エフェクトを施す。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−219775号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述のような画像再生装置では、複数のシーンを含むコンテンツデータを再生するとき、現在のシーンを再生している期間内に、次のシーンを再生するための再生準備(例えば、静止画像のロード、エフェクトデータのロード等)を行うことが多い。事前に再生準備を行うことにより、画像再生装置はシーンが切り替わる際にもコンテンツを滑らかに再生することができる。
【0006】
しかし、次のシーンの再生準備に対応する処理量が大きい際には、現在のシーンが滑らかに再生されない可能性がある。例えば、次のシーンで表示される静止画像のデータサイズが大きく、ロードに要する処理量が大きい際には、このロード処理が実行されることにより現在のシーンの再生処理が遅延する可能性がある。これは、コンテンツを観賞するユーザに違和感を与える可能性がある。
【0007】
本発明は、コンテンツデータが滑らかに再生されるように制御できるコンテンツ再生装置及びコンテンツ再生方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
実施形態によれば、コンテンツ再生装置は、再生手段、一時停止手段及び再生準備手段を具備する。再生手段は、複数のシーンを含む映像コンテンツデータを再生する。一時停止手段は、1つのシーンに対応する前記映像コンテンツデータが再生されているとき、当該シーンに対応する映像の再生を一時停止する。再生準備手段は、前記シーンに対応する映像の再生が一時停止されている期間内に、前記シーンに後続するシーンに対応するデータを準備する。前記再生手段は、前記準備が完了したこと、及び/又は前記再生が一時停止されてからの経過時間が第1の時間以上であることに応答して、前記再生を再開する。
【図面の簡単な説明】
【0009】
【図1】一実施形態に係るコンテンツ再生装置の外観を示す斜視図。
【図2】同実施形態のコンテンツ再生装置のシステム構成を示すブロック図。
【図3】同実施形態のコンテンツ再生装置によって実行されるコンテンツ再生アプリケーションプログラムの構成の例を示すブロック図。
【図4】同実施形態のコンテンツ再生装置によるコンテンツ再生の制御シーケンスの例を示す図。
【図5】同実施形態のコンテンツ再生装置によって再生される映像コンテンツデータの構成の例を示す図。
【図6】同実施形態のコンテンツ再生装置によって再生される映像コンテンツデータを一時停止させるタイミングを説明する図。
【図7】同実施形態のコンテンツ再生装置によって実行されるコンテンツ再生処理の手順の例を示すフローチャート。
【図8】同実施形態のコンテンツ再生装置によって実行される再生制御処理の手順の例を示すフローチャート。
【図9】同実施形態のコンテンツ再生装置によって実行される再生制御処理の手順の別の例を示すフローチャート。
【図10】同実施形態のコンテンツ再生装置によって実行される再生再開処理の手順の例を示すフローチャート。
【図11】同実施形態のコンテンツ再生装置によって実行される再生再開処理の手順の別の例を示すフローチャート。
【図12】同実施形態のコンテンツ再生装置によって実行される再生制御処理の手順の他の例を示すフローチャート。
【図13】同実施形態のコンテンツ再生装置によって実行される再生再開処理の手順の他の例を示すフローチャート。
【図14】同実施形態のコンテンツ再生装置によって実行される再生再開処理の手順のさらに別の例を示すフローチャート。
【図15】同実施形態のコンテンツ再生装置によって実行されるタイミング検出処理の手順の例を示すフローチャート。
【発明を実施するための形態】
【0010】
以下、実施の形態について図面を参照して説明する。
図1は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えばノートブックタイプのパーソナルコンピュータ10として実現されている。図1に示すように、本コンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とから構成されている。ディスプレイユニット12には、LCD(liquid crystal display)17が組み込まれている。ディスプレイユニット12は、コンピュータ本体11の上面が露出される開放位置とコンピュータ本体11の上面を覆う閉塞位置との間を回動自在にコンピュータ本体11に取り付けられている。
【0011】
コンピュータ本体11は、薄い箱形の筐体を有しており、その上面には、キーボード13、本コンピュータ10を電源オン/電源オフするためのパワーボタン14、入力操作パネル15、タッチパッド16、スピーカ18A,18Bなどが配置されている。入力操作パネル15上には、各種操作ボタンが設けられている。
【0012】
また、コンピュータ本体11の右側面には、例えばUSB(universal serial bus)2.0規格のUSBケーブルやUSBデバイスを接続するためのUSBコネクタ19が設けられている。
【0013】
図2は、本コンピュータ10のシステム構成を示す図である。
本コンピュータ10は、図2に示されているように、CPU(central processing unit)101、ノースブリッジ102、主メモリ103、サウスブリッジ104、GPU(Graphics Processing Unit)105、VRAM(ビデオRAM:random access memory)105A、サウンドコントローラ106、BIOS−ROM(basic input/output system-read only memory)107、LAN(local area network)コントローラ108、ハードディスクドライブ(HDD)109、光ディスクドライブ(ODD)110、USBコントローラ111A、カードコントローラ111B、無線LANコントローラ112、エンベデッドコントローラ/キーボードコントローラ(EC/KBC)113、EEPROM(electrically erasable programmable ROM)114等を備える。
【0014】
CPU101は、本コンピュータ10内の各部の動作を制御するプロセッサである。CPU101は、HDD109から主メモリ103にロードされる、オペレーティングシステム(OS)201、及びコンテンツ再生アプリケーションプログラム202のような各種アプリケーションプログラムを実行する。コンテンツ再生アプリケーションプログラム202は、例えばHDD109等に格納された各種デジタルコンテンツデータを再生するソフトウェアである。このコンテンツ再生アプリケーションプログラム202は、コンテンツ再生機能を有している。このコンテンツ再生機能は、例えば、HDD109等に格納された映像コンテンツデータ(例えば、フォトムービー)を再生する機能である。さらに、このコンテンツ再生機能は、映像コンテンツデータの再生を制御する機能を含む。コンテンツ再生アプリケーションプログラム202は、映像コンテンツデータを再生し、画面(LCD17)に表示する。主メモリ103は、コンテンツ再生アプリケーションプログラム202によって使用されるバッファ領域である、現シーン用バッファ203及び次シーン用バッファ204を含む。なお、現シーン用バッファ203及び次シーン用バッファ204は、主メモリ103内に限らず、CPU101内に設けられてもよい。
【0015】
また、CPU101は、BIOS−ROM107に格納されたBIOSも実行する。BIOSは、ハードウェア制御のためのプログラムである。
【0016】
ノースブリッジ102は、CPU101のローカルバスとサウスブリッジ104との間を接続するブリッジデバイスである。ノースブリッジ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ102は、例えば、PCI EXPRESS規格のシリアルバスなどを介してGPU105との通信を実行する機能も有している。
【0017】
GPU105は、本コンピュータ10のディスプレイモニタとして使用されるLCD17を制御する表示コントローラである。このGPU105によって生成される表示信号はLCD17に送られる。
【0018】
サウスブリッジ104は、PCI(Peripheral Component Interconnect)バス上の各デバイス及びLPC(Low Pin Count)バス上の各デバイスを制御する。また、サウスブリッジ104は、HDD109及びODD110を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。さらに、サウスブリッジ104は、サウンドコントローラ106との通信を実行する機能も有している。
【0019】
サウンドコントローラ106は音源デバイスであり、再生対象のオーディオデータをスピーカ18A,18Bに出力する。LANコントローラ108は、例えばIEEE 802.3規格の有線通信を実行する有線通信デバイスであり、一方、無線LANコントローラ112は、例えばIEEE 802.11g規格の無線通信を実行する無線通信デバイスである。USBコントローラ111Aは、(USBコネクタ19を介して接続される)例えばUSB 2.0規格に対応した外部機器との通信を実行する。例えば、USBコントローラ111Aは、例えば、デジタルカメラに格納されている画像データファイルを受信するために使用される。カードコントローラ111Bは、コンピュータ本体11に設けられたカードスロットに挿入される、SDカードのようなメモリカードに対するデータの書き込み及び読み出しを実行する。
【0020】
EC/KBC113は、電力管理のためのエンベデッドコントローラと、キーボード13及びタッチパッド16を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC113は、ユーザによるパワーボタン14の操作に応じて本コンピュータ10を電源オン/電源オフする機能を有している。
【0021】
次に、図3を参照して、以上のような構成を有するコンピュータ10上で動作するコンテンツ再生アプリケーションプログラム202の一機能構成を説明する。ここでは、コンテンツ再生アプリケーションプログラム202が有する機能のうち、コンテンツ再生機能を実現するための構成例について説明する。このコンテンツ再生機能は、HDD109に格納された映像コンテンツデータ51だけでなく、インタフェース部(上述のUSBコントローラ111A、カードコントローラ111B等)を介して外部デバイス(デジタルカメラ、メモリカード等)からリードされた映像コンテンツデータ51に対しても適用することができる。
【0022】
コンテンツ再生アプリケーション202は、制御部31、再生制御部32、再生準備部33、及び表示部34を備える。制御部31は、コンテンツ再生アプリケーション202内の各部の動作を制御する。具体的には、制御部31は、再生制御部32と再生準備部33とに各種の通知を行って、再生制御部32と再生準備部33の動作を制御する。再生制御部32は、再生対象の映像コンテンツデータ51をシーン毎に再生する。再生制御部32は、現シーン用バッファ203に格納されたデータを用いて、再生対象のシーン(現在のシーン)を再生する。再生準備部33は、現在のシーンに後続するシーン(次のシーン)の再生の準備(データのロード等)を行い、次のシーンで用いられるデータを次シーン用バッファ204に格納する。再生制御部32は、現在のシーンの再生が完了したとき、次シーン用バッファ204に格納されたデータを現シーン用バッファ203に移動し、後続するシーンを現在のシーンとして再生することにより、映像コンテンツデータ51内の複数のシーンを連続して再生する。再生制御部32によって現在のシーンを再生している期間内に、再生準備部33によって次のシーンの再生準備を行うことによって、シーンが切り替わる際にも、映像コンテンツデータ51をスムーズに再生することができる。
【0023】
しかし、再生準備部33による次のシーンの再生準備に対応する処理量が大きい際には、現在のシーンが滑らかに再生されない可能性がある。例えば、次のシーンに用いられる静止画像データ401A(写真等)のデータサイズが大きく、ロードに要する処理量が大きい際には、再生準備部33がロード処理を実行することによって、再生制御部32による現在のシーンの再生に遅延が生じる可能性がある。この遅延によりユーザは、例えば、現在のシーンを滑らかに連続した映像として知覚せず、いわゆる「かくつき」を知覚する可能性がある。
【0024】
そのため、本実施形態のコンテンツ再生アプリケーション202では、現在のシーンが再生されている期間内において、現在のシーンの再生位置が次のシーンの再生準備に適したタイミングに達したとき、現在のシーンの再生が一時停止される。そして、現在のシーンの再生が一時停止されている期間内に、次のシーンの再生準備が行われる。次いで、次のシーンの再生準備が完了したことに応答して、現在のシーンの再生が再開される。
【0025】
次のシーンの再生準備に適したタイミングは、例えば、現在のシーン内で動きがない期間(画面に表示された画像に変化がない(少ない)期間)である。このタイミングは、例えばシーン毎に予め設定される。また、このタイミングは、シーン内の動きがない期間を検出して設定されてもよい。これによりユーザは、再生中のシーンに「かくつき」を知覚することなく、映像コンテンツデータ51を観賞することができる。
【0026】
図4は、コンテンツ再生アプリケーション202によるコンテンツ再生の制御シーケンスの例を示す。
まず、制御部31は、映像コンテンツデータ51の再生を開始するための通知を再生制御部32に出力する(S11)。再生制御部32は、映像コンテンツデータ51をシーン毎に再生する。そして、再生制御部32は、現在のシーンの再生中に、次のシーンの再生準備に適したタイミングに達したとき、現在のシーンの再生を一時停止する(S12)。再生制御部32は、次のシーンの再生準備を許可する通知を制御部31に出力する(S13)。次いで、制御部31は、再生準備部33に、次のシーンの再生準備の開始を指示する通知を出力する(S14)。再生準備部33は、制御部31による再生準備開始の通知に応じて、次のシーンの再生準備の処理を実行する(S15)。再生準備部33は、次のシーンの再生準備が完了したとき、制御部31に再生準備が完了したことを示す通知を出力する(S16)。そして、制御部31は、再生制御部32に次のシーンの再生準備が完了したことを通知する(S17)。再生制御部32は、制御部31による再生準備完了の通知に応じて、現在のシーンの再生を再開する(S18)。
【0027】
以下では、コンテンツ再生アプリケーション202内の各部について詳述する。
制御部31は、再生開始通知部311、準備開始通知部312及び準備完了通知部313を備える。再生制御部32は、再生部321、一時停止部322、準備許可通知部323、及びシーン遷移部324を備える。
【0028】
再生開始通知部311は、再生部321に再生対象の映像コンテンツデータ51の再生を開始させるための通知(再生開始通知)を送信する。再生開始通知部311は、例えば、ユーザにより再生対象の映像コンテンツデータ51が選択され、再生が指示されたことに応答して、再生部321に再生開始通知を送信する。また、再生開始通知部311は、例えば、再生対象の映像コンテンツデータ51の生成が完了したことに応答して、再生部321に再生開始通知を送信する。再生部321は、この再生開始通知に応答して映像コンテンツデータ51の再生を開始する。再生部321は、映像コンテンツデータ51をシーン単位で再生する。
【0029】
図5は、映像コンテンツデータ51の構成の例を示す。映像コンテンツデータ51は複数のシーン(例えばシーン1からシーンn)で構成される。1つのシーンには、例えば、1つのエフェクトデータ401Cと1つ以上のオブジェクト(例えばオブジェクト1からオブジェクトm)とが対応付けられる。エフェクトデータ401Cは、オブジェクトに施される装飾的な効果を含む。オブジェクトは、静止画像データ401A、音声データ401B等を含む。エフェクトデータ401Cは、例えば、オブジェクト(静止画像データ401A)のズームイン/ズームアウト、スライドイン/スライドアウト、回転、枠等の画像の重畳表示、フェードイン/フェードアウト、アニメーションを含む。また、オブジェクトは、静止画像データ401A内の顔画像のように、静止画像データ401内の一部であってもよい。したがって、1つのシーンが再生されることは、当該シーンに対応付けられたエフェクトデータ401Cが施された1つ以上のオブジェクトを含む映像が再生されることを意味する。
【0030】
また、シーンが再生される際に、静止画像データ401A(オブジェクト)にエフェクトデータ401Cが施されることによって該オブジェクトが動く(変化する)区間を、モーション区間(図5内、斜線部分)と呼ぶ。換言すると、各エフェクトデータ401Cには、対応付けられたオブジェクトに施される動き(モーション)とその期間とが定義されている。具体的には、モーション区間は、例えば静止画像データ401Aをスライドインさせるエフェクトが施された区間を示す。また、モーション区間は、例えば静止画像データ401A内の顔画像にズームインするエフェクトが施された区間を示す。なお、シーンに対応付けられるエフェクト、オブジェクトは、シーン毎に変更される。当然ながら、シーンに対応付けられるオブジェクト数mは、シーン毎に変動する。
【0031】
映像コンテンツデータ51には、シーン毎に再生されるオブジェクト、及び該オブジェクトに施されるエフェクトを示す情報が記述されている。つまり、映像コンテンツデータ51は、再生される映像に含まれるオブジェクトデータ(例えば、静止画像データ401A、音声データ401B)とエフェクトデータ401Cとを含まない。そのため、映像コンテンツデータ51を再生するためには、映像コンテンツデータ51内に記述された、オブジェクト及びエフェクトを示す情報に対応するオブジェクトデータ及びエフェクトデータ401Cをロードする処理等が必要である。映像コンテンツデータ51は、例えばFlash(登録商標)データである。なお、映像コンテンツデータ51は、オブジェクトデータやエフェクトデータ401Cを含む動画像データ(例えば、MPEG)であってもよい。
【0032】
再生部321は、上述のように構成される映像コンテンツデータ51をシーン毎に再生する。再生部321は、現シーン用バッファ203に格納されたデータ(静止画像データ401A、音声データ402B、エフェクトデータ401C等)を用いて、映像コンテンツデータ321内の現在のシーン(再生対象のシーン)を再生する。そして、再生部321は再生した映像(画像)を表示部34に出力する。表示部34は再生部321から出力された映像をLCD17等に表示する。再生部321は、映像コンテンツデータ51の再生が開始されたことを一時停止部322に通知する。
【0033】
一時停止部322は、現在のシーンが再生されている期間内において、再生位置が次のシーンの再生準備に適したタイミングに達したとき、該再生を一時停止する。次のシーンの再生準備に適したタイミングは、上述のように、例えば現在のシーン内で動きがない期間(画面に表示された画像に変化がない(少ない)期間)である。
【0034】
図6を参照して、次のシーンの再生準備に適したタイミングについて説明する。図6では、映像コンテンツデータ51内の1つのシーンに対応付けられたオブジェクト1〜6とエフェクトとがタイムライン上に示されている。オブジェクト1〜6には、指定された期間においてエフェクトが施される。図6のタイムライン上では、動きのあるエフェクトが施される期間がモーション区間(図6内、斜線部分)として、オブジェクト毎に示されている。シーンの先頭を0msecとしたとき、例えば、オブジェクト1には、20msecから80msecまでの期間と、300msecから500msecまでの期間とに、モーションを有するエフェクトが施される。
【0035】
図6に示す例では、220msecから300msecまでの期間内にモーション区間が存在しない。すなわち、220msecから300msecまでの期間は、現在のシーン内で動きがない(再生中のコンテンツが静止して見える)期間であるため、次のシーンの再生準備に適したタイミングであるといえる。したがって、現在のシーンの再生中、再生位置が220msecから300msecまでの期間内にあるとき、一時停止部322は、現在のシーンの再生を一時停止する。
【0036】
そして、一時停止部322は、現在のシーンの再生が一時停止されたことを準備許可通知部323に通知する。なお、映像コンテンツデータ51に次のシーンが存在しないとき、すなわち、現在のシーンが映像コンテンツデータ51に含まれる最後のシーンであるときには、一時停止部322は現在のシーンの再生を一時停止しない。また、現在のシーンが映像コンテンツデータ51に含まれる最後のシーンであっても、次に再生される別の映像コンテンツデータ51が決定されている際には、その別の映像コンテンツデータ51の先頭のシーンの再生準備のために、現在のシーンの再生を一時停止してもよい。
【0037】
準備許可通知部323は、一時停止部322による通知に応答して、次のシーンの再生準備を許可する通知(準備許可通知)を準備開始通知部312に出力する。そして、準備開始通知部312は、次のシーンの再生準備を開始させるための通知(準備開始通知)を再生準備部33に出力する。
【0038】
再生準備部33は、準備開始通知部312による通知に応答して、次のシーンの再生準備を開始する。具体的には、再生準備部33は、次のシーンに対応付けられた静止画像データ401A、音声データ401B、エフェクトデータ401C等を素材データベース401(HDD109)から次シーン用バッファ204(主メモリ103)にロードする。また、再生準備部33は、静止画像データ401Aの画像サイズを変更する処理や、静止画像データ401A内の一部を切り出す処理等を行って、その処理結果を次シーン用バッファ204に格納してもよい。再生準備部33は、次のシーンの再生準備が完了したことに応答して、準備完了通知部313に、再生準備が完了したことを通知する。
【0039】
準備完了通知部313は、再生準備部33による通知に応答して、現在のシーンの再生を再開させるための通知(準備完了通知)を再生部321に出力する。
【0040】
再生部321は、所定の条件が満たされたとき、現在のシーンの再生を再開する。再生部321は、例えば準備完了通知部313による準備完了通知を受け取ったとき、現在のシーンの再生を再開する。再生部321は、現在のシーンを、一時停止部322によって再生が一時停止された時点(再生位置)から再生する。そして、再生部321は、現在のシーンの再生が完了したことに応答して、シーン遷移部324に現在のシーンの再生が完了したことを通知する。
【0041】
なお、再生部321は、一時停止部322によって現在のシーンの再生が一時停止されてからの経過時間に基づいて、現在のシーンの再生を再開してもよい。その場合、一時停止部322は、例えばタイマを用いて、現在のシーンの再生が一時停止されてからの経過時間を計測する。再生部321は、タイマにより計測された経過時間が第1の時間(しきい値)に達したとき、現在のシーンの再生を再開する。また、再生部321は、タイマにより計測された経過時間が第1の時間に達し、且つ準備完了通知部313から準備完了通知を受け取ったとき、現在のシーンの再生を再開してもよい。なお、第1の時間には、現在のシーンをエフェクトとして一時停止させたい期間(シーン内のオブジェクトをエフェクトとして静止させたい期間)の長さを設定してもよい。これにより、例えば、静止画像データ401Aをエフェクトとして静止させて表示する期間を利用して、次のシーンの再生準備を行うことができる。また、次のシーンの再生準備がごく短時間で終了した際にも、静止画像データ401Aをエフェクトとして静止させて表示する期間を保証することができる。
【0042】
また、再生部321は、現在のシーンの再生が一時停止されてからの経過時間が第2の時間(タイムアウト時間)を超えた場合、タイムアウト処理を行ってもよい。なお、第2の時間は第1の時間よりも大きい。該経過時間が第2の時間を超えた場合、再生部321は、再生準備部33による次のシーンの再生準備にエラーが生じたものと判定する。そして、再生部321は、例えば、再生を終了する、再生を再開する、又は再生準備部33に準備開始通知を再度出力する等のタイムアウト処理を実行する。また、再生部321は、制御部31に次シーンの再生準備に問題があることを示すエラー通知を出力してもよい。その際、制御部31は、映像コンテンツデータ51に問題がないか、再生に必要な静止画像データ401A、音声データ401B、エフェクトデータ401C等が存在するか等を検証し、再生を継続するか否かを決定してもよい。
【0043】
なお、準備許可通知部323によって、次のシーンの再生準備を許可する準備許可通知を出力するよりも前に、準備完了通知部313から準備完了通知を受け取った際には、再生部321は、この準備完了通知を無視する。すなわち、再生部321は、一時停止された現在のシーンの再生を再開する処理等を行わない。あるいは、次のシーンの再生準備を許可する準備許可通知を出力するよりも前に、準備完了通知部313から準備完了通知を受け取った際には、再生部321は次のシーンの再生準備が完了したものと見なしてもよい。その場合、一時停止部322による現在のシーンの再生を一時停止する処理や、準備許可通知部323による準備許可通知を出力する処理等はスキップされる。
【0044】
シーン遷移部324は、再生部321による通知に応答して、次シーン用バッファ204に格納されたデータを現シーン用バッファ203に移動する。再生部321は、現シーン用バッファ203に新たに格納されたデータを用いて、現在のシーンに後続するシーンを再生する。つまり、再生部321は、現在のシーンに後続するシーンを新たな現在のシーンとして、再生を継続する。
【0045】
なお、シーン遷移部324は、次シーン用バッファ204に格納されたデータを現シーン用バッファ203に移動せず、再生部321により参照されるバッファを次シーン用バッファ204に変更する操作を行ってもよい。つまり、シーン遷移部324は、次シーン用バッファ204が新たな現シーン用バッファとして参照されるように変更する操作を行ってもよい。その場合、再生部321は、次シーン用バッファ204(新たな現シーン用バッファ)に格納されたデータを用いて、後続するシーンを再生する。また、シーン遷移部324は、現シーン用バッファ203を解放し、さらに後続するシーンに対応するデータを格納するためのバッファを新たに確保する。再生準備部33は、この新たに格納されたバッファに、さらに後続するシーンに対応するデータを格納する。
【0046】
また、映像コンテンツデータ51の先頭のシーンについては、以下のように再生準備を行い、映像コンテンツデータ51の再生を開始する。
まず、再生開始通知部311は、映像コンテンツデータ51の再生開始通知を再生制御部32に出力する。再生準備部33は、再生開始通知に応じて、映像コンテンツデータ51の先頭のシーンの再生準備を行う。再生準備部33は、先頭のシーンの再生準備が完了したことに応答して、準備完了通知部313に再生準備が完了したことを通知する。そして、準備完了通知部313は、再生部321に準備完了通知を出力する。
【0047】
再生部321は、再生開始通知部311から再生開始通知を受け、準備完了通知部313から準備完了通知を受けたことにより、先頭のシーンの再生準備が完了したことを検出する。そして、再生部321は、先頭のシーンに対応するデータが次シーン用バッファ204に格納されたことをシーン遷移部324に通知する。シーン遷移部324は、この通知に応答して、次シーン用バッファ204に格納されたデータを現シーン用バッファ203に移動する。そして、再生部321は、現シーン用バッファ203に格納された、先頭のシーンに対応するデータを用いて先頭のシーンを再生する。
【0048】
以上の構成により、コンテンツ再生アプリケーション202は、シーン毎に再生される映像コンテンツデータ51を滑らかに再生することができる。一時停止部322は、現在のシーンが再生されている期間内において、次のシーンの再生準備を行うのに適した、映像に動きがない(変化が少ない)タイミングに達したとき、現在のシーンの再生を一時停止する。そして、再生準備部33は、現在のシーンの再生が一時停止されている間に、次のシーンで用いるデータのロード処理等の再生準備を行う。再生部321は、再生準備部33による再生準備が完了すると、現在のシーンの再生を再開する。コンテンツ再生アプリケーション202は、映像に動きがないタイミングで、現在のシーンの再生を一時停止することにより、映像の再生に「かくつき」を生じさせることなく、且つ観賞するユーザに違和感を覚えさせることなく、映像コンテンツデータ51を再生することができる。
【0049】
なお、再生制御部32は、制御部31(準備開始通知部312)を介さずに、直接、再生準備部33に準備許可通知を出力してもよい。また、再生準備部33は、制御部31(準備完了通知部313)を介さずに、直接、再生制御部32に準備完了通知を出力してもよい。
【0050】
次いで、図7のフローチャートを参照して、コンテンツ再生アプリケーション202によって実行されるコンテンツ再生処理の手順の例を説明する。
まず、再生部321は、再生開始通知部311から映像コンテンツデータ51の再生開始を指示する通知を受けたか否かを判定する(ブロックB101)。再生開始を指示する通知を受けていない場合(ブロックB101のNO)、再生部321は、再生開始通知を待ち、再度ブロックB101の処理を行う。
【0051】
再生開始を指示する通知を受けた場合(ブロックB101のYES)、再生部321は、現在のシーンを示す現シーン番号Nに“−1”を設定する(ブロックB102)。そして、再生準備部33は、再生開始を指示する通知に応答して、シーンN+1、すなわち、映像コンテンツデータ51の先頭のシーン(シーン0)の再生準備を行う(ブロックB103)。再生準備部33は、先頭のシーンで用いられるデータを次シーン用バッファ204に格納する。なお、再生開始を指示する通知は、再生部321等を介して再生準備部33に出力されてもよいし、再生開始通知部311から再生準備部33に直接通知されてもよい。再生準備部33は、準備完了通知部313及び再生部321を介して、シーン遷移部324に再生準備が完了したことを通知する。
【0052】
次いで、シーン遷移部324は、次シーン用バッファ204に格納されたデータを現シーン用バッファ203に移動する(ブロックB104)。シーン遷移部324は、再生部321に、次のシーンに対応するデータが現シーン用バッファ203に格納されたことを通知する。再生部321は、シーン遷移部324による通知に応答して、現シーン番号Nを1だけ増やす(ブロックB105)。そして、再生部321は、現シーン用バッファ203に格納されたデータを用いて、現在のシーンNの再生を開始する(ブロックB106)。再生部321は、現在のシーンNの再生が開始されたことを一時停止部322に通知する。
【0053】
一時停止部322は、再生部321による通知に応答して、映像コンテンツデータ51に、現在のシーンNに後続するシーンN+1が存在するか否かを判定する(ブロックB107)。シーンN+1が存在する場合(ブロックB107のYES)、一時停止部322は現在のシーンNの再生を一時停止する(ブロックB108)。一時停止するタイミングは、シーンN+1の再生準備に適したタイミングであり、例えば、再生中の現在のシーンN内に動きがない(変化が少ない)タイミングである。したがって、一時停止部322は、現在のシーンNが再生される期間内において、現在のシーンの再生位置が次のシーンの再生準備に適したタイミングに達したとき、現在のシーンの再生を一時停止する。一時停止部322は、準備許可通知部323及び準備開始通知部312を介して、再生準備部33に現在のシーンの再生が一時停止されたことを通知する。
【0054】
再生準備部33は、一時停止部322による通知に応答して、シーンN+1の再生準備を行う(ブロックB109)。再生準備部33は、シーンN+1で用いられるデータを次シーン用バッファ204に格納する。再生準備部33は、シーンN+1の再生準備が完了したことに応答して、準備完了通知部313を介して、再生部321に再生準備が完了したことを通知する。再生部321は、再生準備部33による通知に応答して、現在のシーンの再生を再開する(ブロックB110)。ブロックB108からブロックB110の処理の詳細は、図8から図14を参照して後述する。
【0055】
現在のシーンの再生を再開した後、又はシーンN+1が存在しない場合(ブロックB107のNO)、再生部321は、現在のシーンの再生が完了したか否かを判定する(ブロックB111)。再生が完了していない場合(ブロックB111のNO)、再生部321は、再生が完了するまでブロックB111の判定を繰り返す。
【0056】
再生が完了している場合(ブロックB111のYES)、再生部321は、現在のシーンNに後続するシーンN+1が存在するか否かを判定する(ブロックB112)。シーンN+1が存在する場合(ブロックB112のYES)、ブロックB104に戻る。その際、再生部321は、シーン遷移部324に現在のシーンの再生が完了したことを通知する。つまり、シーン遷移部324がバッファ間でデータを移動するブロックB104以降の処理が繰り返される。シーンN+1が存在しない場合(ブロックB112のNO)、再生部321は、映像コンテンツデータ51の再生を終了する。
【0057】
以上の処理により、コンテンツ再生アプリケーション202は、映像コンテンツデータ51が滑らかに再生されるように制御することができる。再生準備部33は、現在のシーンが再生されている期間内にバックグラウンドで次のシーンの再生準備を行う。これにより再生部321は、シーンが切り替わる際にも映像コンテンツデータ51をスムーズに再生することができる。また、現在のシーンの再生が完了したとき、当該シーンの再生に用いられるデータが格納されたメモリは解放される。再生が完了したシーンに対応するメモリは逐次解放されるため、コンテンツ再生アプリケーション202によって同時に使用されるメモリ量を低減することができる。
【0058】
以下では、図8から図14を参照して、現在のシーンに後続するシーンの再生準備をする際に、現在のシーンの再生を制御する再生制御処理について説明する。
図8のフローチャートは、コンテンツ再生アプリケーション202(再生制御部32)によって実行される再生制御処理の例を示す。ここでは、再生部321によりシーンN(現在のシーン)が再生されていることを想定する。
【0059】
まず、一時停止部322は、現在のシーンが再生されている期間内において、現在のシーンの再生位置が次のシーンの再生準備に適したタイミングに達したか否かを判定する(ブロックB21)。次のシーンの再生準備に適したタイミングに達していない場合(ブロックB21のNO)、再生部321により現在のシーンの再生が進行され、一時停止部322は、その進行されたタイミングで再度、ブロックB21の判定を行う。
【0060】
次のシーンの再生準備に適したタイミングに達している場合(ブロックB21のYES)、一時停止部322は、現在のシーンの再生を一時停止する(ブロックB22)。一時停止部322は、現在のシーンの再生を一時停止したことを準備許可通知部323に通知する。そして、準備許可通知部323は制御部31(準備開始通知部312)に、次のシーンの再生準備を許可する準備許可通知を出力する(ブロックB23)。
【0061】
次いで、再生部321は、制御部31(準備完了通知部313)から再生準備の完了を示す準備完了通知を受け取ったか否かを判定する(ブロックB24)。準備完了通知を受け取っていない場合(ブロックB24のNO)、再生部321は、再度ブロックB24の判定を行う。準備完了通知を受け取った場合(ブロックB24のYES)、再生部321は、現在のシーンの再生を再開する(ブロックB25)。
【0062】
以上の処理により、コンテンツ再生アプリケーション202は、次のシーンの再生準備に適したタイミングで、現在のシーンの再生を一時停止し、次のシーンの再生準備を行うことにより、映像の再生に「かくつき」を生じさせることなく、且つ観賞するユーザに違和感を覚えさせることなく、映像コンテンツデータ51を再生することができる。
【0063】
図9のフローチャートは、コンテンツ再生アプリケーション202によって実行されるタイマを用いた再生制御処理の手順の例を示す。ここでは、再生部321によりシーンN(現在のシーン)が再生されていることを想定する。また、再生制御部32は、再生準備にかかる期間を管理するためのタイマを備える。
【0064】
まず、一時停止部322は、現在のシーンが再生されている期間内において、現在のシーンの再生位置が次のシーンの再生準備に適したタイミングに達したか否かを判定する(ブロックB31)。次のシーンの再生準備に適したタイミングに達していない場合(ブロックB31のNO)、再生部321により現在のシーンの再生が進行され、一時停止部322は、その進行されたタイミングで再度、ブロックB31の判定を行う。
【0065】
次のシーンの再生準備に適したタイミングに達している場合(ブロックB31のYES)、一時停止部322は、現在のシーンの再生を一時停止する(ブロックB32)。一時停止部322は、現在のシーンの再生を一時停止したことを準備許可通知部323に通知する。また、一時停止部322は、再生準備にかかる期間を管理するためのタイマを起動する(ブロックB33)。次いで、準備許可通知部323は制御部31(準備開始通知部312)に、次のシーンの再生準備を許可する準備許可通知を出力する(ブロックB34)。そして、再生部321は、タイマにより計測された時間、すなわち、現在のシーンの再生が一時停止されてからの経過時間に基づいて、現在のシーンの再生を再開する再生再開処理を行う(ブロックB35)。
【0066】
図10のフローチャートを参照して、図9のブロックB35の再生再開処理の手順の例を説明する。
まず、再生部321は、準備完了通知を受け取ったか否かを判定する(ブロックB351)。準備完了通知を受け取っている場合(ブロックB351のYES)、再生部321は、タイマ完了フラグにtrueが設定されているか否かを判定する(ブロックB352)。タイマ完了フラグには、タイマにより計測された経過時間が規定時間(第1の時間)以上である場合にtrueが設定される。また、タイマ完了フラグには、タイマにより計測された経過時間が規定時間以上でない場合にfalseが設定される。なお、再生再開処理が開始されるとき、タイマ完了フラグにはfalseが設定されている。
【0067】
タイマ完了フラグにfalseが設定されている場合(ブロックB352のNO)、再生部321は準備完了フラグにtrueを設定する(ブロックB353)。準備完了フラグには、準備完了通知を既に受け取っている場合にはtrueが設定されている。また、準備完了フラグには、準備完了通知をまだ受け取っていない場合にはfalseが設定されている。
【0068】
準備完了通知を受け取っていない場合(ブロックB351のNO)、再生部321はタイマにより計測された経過時間が規定時間以上であるか否かを判定する(ブロックB354)。経過時間が規定時間以上でない場合(ブロックB354のNO)、再生部321はブロックB351の処理に戻る。
【0069】
経過時間が規定時間以上である場合(ブロックB354のYES)、再生部321は準備完了フラグにtrueが設定されているか否かを判定する(ブロックB355)。準備完了フラグにfalseが設定されている場合(ブロックB355のNO)、再生部321は、タイマ完了フラグにtrueを設定する(ブロックB356)。
【0070】
また、タイマ完了フラグにtrueが設定されている場合(ブロックB352のYES)、又は準備完了フラグにtrueが設定されている場合(ブロックB355のYES)、再生部321は、現在のシーンの再生を再開する(ブロックB357)。
【0071】
以上の処理により、コンテンツ再生アプリケーション202は、タイマにより計測された経過時間に基づいて現在のシーンの再生を制御することができる。再生部321は、タイマにより計測された経過時間が規定時間に達したときに現在のシーンの再生を再開するため、現在のシーンの再生時間を正確に制御することができる。例えば、次のシーンの再生準備に要する時間が次のシーンの内容や再生環境によって変化した際にも、現在のシーンが一時停止される期間を含む再生時間を一定にすることができる。エフェクトが施された静止画像データ401Aの再生時間を一定にすることができるため、例えば、画面(LCD17)に表示される画像とスピーカ18A,18Bから出力される音声データ401Bとを容易に同期させることができる。
【0072】
また、図11のフローチャートは、図9のブロックB35の再生再開処理の手順の別の例を示す。図11に示すフローチャートでは、まず、再生部321は、現在のシーンの再生が一時停止されてからの経過時間が規定時間(第1の時間)以上であるか否かを判定する(ブロックB361)。再生部321は、ポーリングにより経過時間を検出する。経過時間が規定時間以上である場合(ブロックB361のYES)、再生部321は、準備完了通知部313から、再生準備部33による再生準備が完了したことを示す準備完了通知を受け取ったか否かを判定する(ブロックB362)。準備完了通知を受け取った場合(ブロックB362のYES)、再生部321は、現在のシーンの再生を再開する(ブロックB363)。また、経過時間が規定時間以上でない場合(ブロックB361のNO)又は準備完了通知を受け取っていない場合(ブロックB362のNO)、再生部321はブロックB361の処理に戻る。
【0073】
以上の処理により、タイマを用いる場合と同様に、コンテンツ再生アプリケーション202は、ポーリングにより取得された経過時間に基づいて現在のシーンの再生を制御することができる。
【0074】
また、図12のフローチャートは、コンテンツ再生アプリケーション202によって実行されるタイマを用いた再生制御処理の手順の別の例を示す。ここでは、再生部321によりシーンN(現在のシーン)が再生されていることを想定する。また、再生制御部32は、再生準備にかかる期間を管理するためのタイマAと再生の一時停止をタイムアウトするためのタイマBとを備える。
【0075】
まず、一時停止部322は、現在のシーンが再生されている期間内において、現在のシーンの再生位置が次のシーンの再生準備に適したタイミングに達したか否かを判定する(ブロックB41)。次のシーンの再生準備に適したタイミングに達していない場合(ブロックB41のNO)、再生部321により現在のシーンの再生が進行され、一時停止部322は、その進行されたタイミングで再度、ブロックB41の処理を行う。
【0076】
次のシーンの再生準備に適したタイミングに達している場合(ブロックB41のYES)、一時停止部322は現在のシーンの再生を一時停止する(ブロックB42)。一時停止部322は、現在のシーンの再生を一時停止したことを準備許可通知部323に通知する。また、一時停止部322は、再生準備にかかる期間を管理するためのタイマAを起動する(ブロックB43)。一時停止部322は、再生の一時停止をタイムアウトするためのタイマBを起動する(ブロックB44)。
【0077】
次いで、準備許可通知部323は制御部31(準備開始通知部312)に、次のシーンの再生準備を許可する準備許可通知を出力する(ブロックB45)。そして、再生部321は、タイマA及びタイマBにより計測された経過時間(現在のシーンの再生が一時停止されてからの経過時間)に基づいて、現在のシーンの再生を再開する再生再開処理を行う(ブロックB46)。
【0078】
図13のフローチャートを参照して、図12のブロックB46の再生再開処理の手順の例を説明する。
まず、再生部321は、準備完了通知を受け取ったか否かを判定する(ブロックB461)。準備完了通知を受け取っている場合(ブロックB461のYES)、再生部321は、タイマA完了フラグにtrueが設定されているか否かを判定する(ブロックB462)。タイマA完了フラグには、タイマAにより計測された経過時間Aが規定時間(第1の時間)以上である場合にtrueが設定される。また、タイマA完了フラグには、タイマAにより計測された経過時間Aが規定時間以上でない場合にfalseが設定される。なお、再生再開処理が開始されるとき、タイマA完了フラグにはfalseが設定される。
【0079】
タイマA完了フラグにfalseが設定されている場合(ブロックB462のNO)、再生部321は準備完了フラグにtrueを設定し(ブロックB463)、ブロックB461の処理に戻る。準備完了フラグには、準備完了通知を既に受け取っている場合にはtrueが設定されている。また、準備完了フラグには、準備完了通知をまだ受け取っていない場合にはfalseが設定されている。なお、再生再開処理が開始されるとき、準備完了フラグにはfalseが設定される。
【0080】
準備完了通知を受け取っていない場合(ブロックB461のNO)、再生部321は、タイマA完了フラグにtrueが設定されているか否かを判定する(ブロックB464)。タイマA完了フラグにfalseが設定されている場合(ブロックB464のNO)、再生部321は、タイマAにより計測された経過時間Aが規定時間(第1の時間)以上であるか否かを判定する(ブロックB465)。経過時間Aが規定時間以上でない場合(ブロックB465のNO)、再生部321はブロックB461の処理に戻る。経過時間Aが規定時間以上である場合(ブロックB465のYES)、再生部321は準備完了フラグにtrueが設定されているか否かを判定する(ブロックB466)。準備完了フラグにfalseが設定されている場合(ブロックB466のNO)、再生部321は、タイマA完了フラグにtrueを設定し(ブロックB467)、ブロックB461の処理に戻る。
【0081】
タイマA完了フラグにtrueが設定されている場合(ブロックB464のYES)、再生部321は、タイマBにより計測された経過時間Bがタイムアウト時間(第2の時間)以上であるか否かを判定する(ブロックB469)。経過時間Bがタイムアウト時間以上でない場合(ブロックB469のNO)、再生部321はブロックB461の処理に戻る。経過時間Bがタイムアウト時間以上である場合(ブロックB469のYES)、再生部321はタイムアウト処理を実行する(ブロックB470)。再生部321は、経過時間Bがタイムアウト時間以上である場合、次シーンの再生準備に何らかの問題が生じたものと判定する。再生部321は、例えば、再生を終了する、再生を再開する、又は再生準備部33に準備開始通知を再度出力する等のタイムアウト処理を実行する。また、再生部321は、制御部31に次シーンの再生準備に問題があることを示すエラー通知を出力してもよい。その際、制御部31は、映像コンテンツデータ51に問題がないか、再生に必要な静止画像データ401A、音声データ401B、エフェクトデータ401C等が格納されているか等を検証し、再生を継続するか否かを決定してもよい。
【0082】
また、タイマA完了フラグにtrueが設定されている場合(ブロックB462のYES)、又は準備完了フラグにtrueが設定されている場合(ブロックB466のYES)、再生部321は、現在のシーンの再生を再開する(ブロックB468)。
【0083】
上述のタイムアウト処理により、次のシーンの再生準備がエラー等により完了しない際にも、現在のシーンの再生が一時停止されたまま制御不能にはならず、適切なリカバリが可能となる。なお、タイマBは、タイマAにより計測された経過時間が規定時間(第1の時間)に達したことに応答して起動されてもよい。つまり、タイマAによる計測が停止されると同時に、タイマBによる計測が開始される。その場合、タイマAにより計測された経過時間と、タイマBにより計測された経過時間との和が、タイムアウトを判定するための経過時間として用いられる。2つのタイマを並行して動作させずに、タイムアウトの判定を行うことができるため、これらタイマの動作にかかる処理負荷が同時に発生することを回避することができる。
【0084】
また、図14のフローチャートは、図12のブロックB46の再生再開処理の手順の別の例を示す。図14に示すフローチャートでは、まず、再生部321は、現在のシーンの再生が一時停止されてからの経過時間が規定時間(第1の時間)以上であるか否かを判定する(ブロックB471)。再生部321は、ポーリングにより経過時間を検出する。経過時間が規定時間以上である場合(ブロックB471のYES)、再生部321は、当該経過時間がタイムアウト時間(第2の時間)以上であるか否かを判定する(ブロックB472)。経過時間がタイムアウト時間以上である場合(ブロックB472のYES)、再生部321はタイムアウト処理を実行する(ブロックB473)。
【0085】
経過時間がタイムアウト時間以上でない場合(ブロックB472のNO)、再生部321は、準備完了通知部313から、再生準備部33による再生準備が完了したことを示す準備完了通知を受け取ったか否かを判定する(ブロックB474)。準備完了通知を受け取った場合(ブロックB474のYES)、再生部321は、現在のシーンの再生を再開する(ブロックB475)。また、経過時間が規定時間以上でない場合(ブロックB471のNO)又は準備完了通知を受け取っていない場合(ブロックB474のNO)、再生部321はブロックB471の処理に戻る。
【0086】
以上の処理により、タイマを用いる場合と同様に、コンテンツ再生アプリケーション202は、ポーリングにより取得された経過時間に基づいて、現在のシーンの再生及び再生準備のタイムアウトを制御することができる。
【0087】
また、図15のフローチャートは、コンテンツ再生アプリケーション202によって実行される、次のシーンの再生準備に適したタイミングを検出するタイミング検出処理の手順の例を示す。ここでは、再生準備部33によりタイミング検出処理が実行されることを想定する。
【0088】
まず、再生準備部33は、映像コンテンツデータ51に含まれるシーン毎に、タイムライン上の初期位置にチェックポイントを設定する(ブロックB51)。タイムライン上の初期位置は、例えば、再生準備をするシーン(すなわち、次のシーン)に対応する期間の先頭である。そして、再生準備部33は、現在のチェックポイントにモーション(動き)があるか否かを判定する(ブロックB52)。再生準備部33は、例えば、現在のチェックポイントに対応するエフェクトデータ401Cにモーション(動きがある効果)が含まれるか否かを判定する。具体的には例えば、現在のチェックポイントが、オブジェクト(静止画像データ401A)に対して、画面上をスライドさせるようなエフェクトデータ401Cを施している時点であるとき、再生準備部33は、現在のチェックポイントにモーションがあると判定する。また、例えば、現在のチェックポイントが、オブジェクト(静止画像データ401A)を画面上に静止させるようなエフェクトデータ401Cを施している時点であるとき、再生準備部33は、現在のチェックポイントにモーションがないと判定する。
【0089】
現在のチェックポイントにモーションがない場合(ブロックB52のNO)、再生準備部33は、現在のチェックポイントをタイミングリストに追加する(ブロックB53)。タイミングリストは再生準備に適したタイミングが記述されたリストである。現在のチェックポイントをタイミングリストに追加した後、又は現在のチェックポイントにモーションがある場合(ブロックB52のYES)、再生準備部33は、現在のチェックポイントがシーンの終端であるか否かを判定する(ブロックB54)。
【0090】
現在のチェックポイントがシーンの終端でない場合(ブロックB54のNO)、再生準備部33はチェックポイントを次に進める(ブロックB55)。再生準備部33は、例えば、現在のチェックポイントの所定期間後の時点を、次のチェックポイントに設定する。
【0091】
現在のチェックポイントがシーンの終端である場合(ブロックB54のYES)、再生準備部33は、シーンの始点と終点とをタイミングリストに追加する(ブロックB56)。つまり、シーン内に再生準備に適したタイミングがない場合には、シーンの始点又は終点において、次のシーンの再生準備が行われる。したがって、ブロックB53の処理において、タイミングリストに再生準備に適したタイミングが既に追加されている際には、シーンの始点と終点とをタイミングリストに追加しなくてもよい。また、再生準備部33は、ブロックB56の処理において、シーンの始点及び終点のいずれかのタイミングをタイミングリストに追加してもよい。再生準備部33は、再生準備に適したタイミングを記述したタイミングリストを、例えば、次シーン用バッファ204に格納する。
【0092】
以上の処理により、再生準備部33は、次のシーンの再生準備に適したタイミングを記述したタイミングリストを作成することができる。これにより、一時停止部322は、現在のシーンが再生されている期間内において、現在のシーンの再生位置が次のシーンの再生準備に適したタイミングに達したか否かを、このタイミングリストに記述されたタイミングに基づいて判定することができる。なお、再生制御部32(再生部321)による現在のシーンの再生時に、次のシーンの再生準備に適したタイミングを検出してもよい。その場合、例えば、再生部321は、現在のシーンの再生中に、現在の再生位置が次のシーンの再生準備に適したタイミングであるか否かを判定する。そして、現在のシーンの再生位置が次のシーンの再生準備に適したタイミングであると判定された場合、一時停止部322は、現在のシーンの再生を一時停止する。また、準備許可通知部323は、次のシーンの再生準備を許可する準備許可通知を出力する。
【0093】
以上説明したように、本実施形態によれば、コンテンツデータが滑らかに再生されるように制御できる。コンテンツ再生アプリケーション202は、映像に動きがない(変化が少ない)タイミングで、現在のシーンの再生を一時停止することにより、映像の再生に「かくつき」を生じさせることなく、且つ観賞するユーザに違和感を覚えさせることなく、映像コンテンツデータ51を再生することができる。
【0094】
なお、本実施形態の再生制御処理の手順は全てソフトウェアによって実行することができる。このため、再生制御処理の手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【0095】
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0096】
109…HDD、202…コンテンツ再生アプリケーション、203…現シーン用バッファ、204…次シーン用バッファ、31…制御部、311…再生開始通知部、312…準備開始通知部、313…準備完了通知部、32…再生制御部、321…再生部、322…一時停止部、323…準備許可通知部、324…シーン遷移部、33…再生準備部、34…表示部、401…素材データベース、401A…静止画像データ、401B…音声データ、401C…エフェクトデータ、51…映像コンテンツデータ。
【技術分野】
【0001】
本発明の実施形態は、コンテンツデータを再生するコンテンツ再生装置及び該装置に適用されるコンテンツ再生方法に関する。
【背景技術】
【0002】
近年、デジタルフォトフレーム等と称される画像再生装置が普及している。デジタルフォトフレームは、例えば、カード型記憶メディアに格納される複数枚の静止画像を所定時間間隔で順次表示する機能を有している。例えばパーソナルコンピュータやデジタルカメラ等においても、デジタルフォトフレームと同様に、複数枚の静止画像を所定時間間隔で順次表示する機能を有するものが一般的である。
【0003】
また、上述の画像再生装置では、静止画像にエフェクトを施して表示する機能を有するものもある。この画像再生装置は、例えば、2枚の静止画像に対して、これら静止画像をスライドさせて切り替える(スライドイン/スライドアウト)エフェクトを施す。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−219775号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述のような画像再生装置では、複数のシーンを含むコンテンツデータを再生するとき、現在のシーンを再生している期間内に、次のシーンを再生するための再生準備(例えば、静止画像のロード、エフェクトデータのロード等)を行うことが多い。事前に再生準備を行うことにより、画像再生装置はシーンが切り替わる際にもコンテンツを滑らかに再生することができる。
【0006】
しかし、次のシーンの再生準備に対応する処理量が大きい際には、現在のシーンが滑らかに再生されない可能性がある。例えば、次のシーンで表示される静止画像のデータサイズが大きく、ロードに要する処理量が大きい際には、このロード処理が実行されることにより現在のシーンの再生処理が遅延する可能性がある。これは、コンテンツを観賞するユーザに違和感を与える可能性がある。
【0007】
本発明は、コンテンツデータが滑らかに再生されるように制御できるコンテンツ再生装置及びコンテンツ再生方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
実施形態によれば、コンテンツ再生装置は、再生手段、一時停止手段及び再生準備手段を具備する。再生手段は、複数のシーンを含む映像コンテンツデータを再生する。一時停止手段は、1つのシーンに対応する前記映像コンテンツデータが再生されているとき、当該シーンに対応する映像の再生を一時停止する。再生準備手段は、前記シーンに対応する映像の再生が一時停止されている期間内に、前記シーンに後続するシーンに対応するデータを準備する。前記再生手段は、前記準備が完了したこと、及び/又は前記再生が一時停止されてからの経過時間が第1の時間以上であることに応答して、前記再生を再開する。
【図面の簡単な説明】
【0009】
【図1】一実施形態に係るコンテンツ再生装置の外観を示す斜視図。
【図2】同実施形態のコンテンツ再生装置のシステム構成を示すブロック図。
【図3】同実施形態のコンテンツ再生装置によって実行されるコンテンツ再生アプリケーションプログラムの構成の例を示すブロック図。
【図4】同実施形態のコンテンツ再生装置によるコンテンツ再生の制御シーケンスの例を示す図。
【図5】同実施形態のコンテンツ再生装置によって再生される映像コンテンツデータの構成の例を示す図。
【図6】同実施形態のコンテンツ再生装置によって再生される映像コンテンツデータを一時停止させるタイミングを説明する図。
【図7】同実施形態のコンテンツ再生装置によって実行されるコンテンツ再生処理の手順の例を示すフローチャート。
【図8】同実施形態のコンテンツ再生装置によって実行される再生制御処理の手順の例を示すフローチャート。
【図9】同実施形態のコンテンツ再生装置によって実行される再生制御処理の手順の別の例を示すフローチャート。
【図10】同実施形態のコンテンツ再生装置によって実行される再生再開処理の手順の例を示すフローチャート。
【図11】同実施形態のコンテンツ再生装置によって実行される再生再開処理の手順の別の例を示すフローチャート。
【図12】同実施形態のコンテンツ再生装置によって実行される再生制御処理の手順の他の例を示すフローチャート。
【図13】同実施形態のコンテンツ再生装置によって実行される再生再開処理の手順の他の例を示すフローチャート。
【図14】同実施形態のコンテンツ再生装置によって実行される再生再開処理の手順のさらに別の例を示すフローチャート。
【図15】同実施形態のコンテンツ再生装置によって実行されるタイミング検出処理の手順の例を示すフローチャート。
【発明を実施するための形態】
【0010】
以下、実施の形態について図面を参照して説明する。
図1は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えばノートブックタイプのパーソナルコンピュータ10として実現されている。図1に示すように、本コンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とから構成されている。ディスプレイユニット12には、LCD(liquid crystal display)17が組み込まれている。ディスプレイユニット12は、コンピュータ本体11の上面が露出される開放位置とコンピュータ本体11の上面を覆う閉塞位置との間を回動自在にコンピュータ本体11に取り付けられている。
【0011】
コンピュータ本体11は、薄い箱形の筐体を有しており、その上面には、キーボード13、本コンピュータ10を電源オン/電源オフするためのパワーボタン14、入力操作パネル15、タッチパッド16、スピーカ18A,18Bなどが配置されている。入力操作パネル15上には、各種操作ボタンが設けられている。
【0012】
また、コンピュータ本体11の右側面には、例えばUSB(universal serial bus)2.0規格のUSBケーブルやUSBデバイスを接続するためのUSBコネクタ19が設けられている。
【0013】
図2は、本コンピュータ10のシステム構成を示す図である。
本コンピュータ10は、図2に示されているように、CPU(central processing unit)101、ノースブリッジ102、主メモリ103、サウスブリッジ104、GPU(Graphics Processing Unit)105、VRAM(ビデオRAM:random access memory)105A、サウンドコントローラ106、BIOS−ROM(basic input/output system-read only memory)107、LAN(local area network)コントローラ108、ハードディスクドライブ(HDD)109、光ディスクドライブ(ODD)110、USBコントローラ111A、カードコントローラ111B、無線LANコントローラ112、エンベデッドコントローラ/キーボードコントローラ(EC/KBC)113、EEPROM(electrically erasable programmable ROM)114等を備える。
【0014】
CPU101は、本コンピュータ10内の各部の動作を制御するプロセッサである。CPU101は、HDD109から主メモリ103にロードされる、オペレーティングシステム(OS)201、及びコンテンツ再生アプリケーションプログラム202のような各種アプリケーションプログラムを実行する。コンテンツ再生アプリケーションプログラム202は、例えばHDD109等に格納された各種デジタルコンテンツデータを再生するソフトウェアである。このコンテンツ再生アプリケーションプログラム202は、コンテンツ再生機能を有している。このコンテンツ再生機能は、例えば、HDD109等に格納された映像コンテンツデータ(例えば、フォトムービー)を再生する機能である。さらに、このコンテンツ再生機能は、映像コンテンツデータの再生を制御する機能を含む。コンテンツ再生アプリケーションプログラム202は、映像コンテンツデータを再生し、画面(LCD17)に表示する。主メモリ103は、コンテンツ再生アプリケーションプログラム202によって使用されるバッファ領域である、現シーン用バッファ203及び次シーン用バッファ204を含む。なお、現シーン用バッファ203及び次シーン用バッファ204は、主メモリ103内に限らず、CPU101内に設けられてもよい。
【0015】
また、CPU101は、BIOS−ROM107に格納されたBIOSも実行する。BIOSは、ハードウェア制御のためのプログラムである。
【0016】
ノースブリッジ102は、CPU101のローカルバスとサウスブリッジ104との間を接続するブリッジデバイスである。ノースブリッジ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ102は、例えば、PCI EXPRESS規格のシリアルバスなどを介してGPU105との通信を実行する機能も有している。
【0017】
GPU105は、本コンピュータ10のディスプレイモニタとして使用されるLCD17を制御する表示コントローラである。このGPU105によって生成される表示信号はLCD17に送られる。
【0018】
サウスブリッジ104は、PCI(Peripheral Component Interconnect)バス上の各デバイス及びLPC(Low Pin Count)バス上の各デバイスを制御する。また、サウスブリッジ104は、HDD109及びODD110を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。さらに、サウスブリッジ104は、サウンドコントローラ106との通信を実行する機能も有している。
【0019】
サウンドコントローラ106は音源デバイスであり、再生対象のオーディオデータをスピーカ18A,18Bに出力する。LANコントローラ108は、例えばIEEE 802.3規格の有線通信を実行する有線通信デバイスであり、一方、無線LANコントローラ112は、例えばIEEE 802.11g規格の無線通信を実行する無線通信デバイスである。USBコントローラ111Aは、(USBコネクタ19を介して接続される)例えばUSB 2.0規格に対応した外部機器との通信を実行する。例えば、USBコントローラ111Aは、例えば、デジタルカメラに格納されている画像データファイルを受信するために使用される。カードコントローラ111Bは、コンピュータ本体11に設けられたカードスロットに挿入される、SDカードのようなメモリカードに対するデータの書き込み及び読み出しを実行する。
【0020】
EC/KBC113は、電力管理のためのエンベデッドコントローラと、キーボード13及びタッチパッド16を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC113は、ユーザによるパワーボタン14の操作に応じて本コンピュータ10を電源オン/電源オフする機能を有している。
【0021】
次に、図3を参照して、以上のような構成を有するコンピュータ10上で動作するコンテンツ再生アプリケーションプログラム202の一機能構成を説明する。ここでは、コンテンツ再生アプリケーションプログラム202が有する機能のうち、コンテンツ再生機能を実現するための構成例について説明する。このコンテンツ再生機能は、HDD109に格納された映像コンテンツデータ51だけでなく、インタフェース部(上述のUSBコントローラ111A、カードコントローラ111B等)を介して外部デバイス(デジタルカメラ、メモリカード等)からリードされた映像コンテンツデータ51に対しても適用することができる。
【0022】
コンテンツ再生アプリケーション202は、制御部31、再生制御部32、再生準備部33、及び表示部34を備える。制御部31は、コンテンツ再生アプリケーション202内の各部の動作を制御する。具体的には、制御部31は、再生制御部32と再生準備部33とに各種の通知を行って、再生制御部32と再生準備部33の動作を制御する。再生制御部32は、再生対象の映像コンテンツデータ51をシーン毎に再生する。再生制御部32は、現シーン用バッファ203に格納されたデータを用いて、再生対象のシーン(現在のシーン)を再生する。再生準備部33は、現在のシーンに後続するシーン(次のシーン)の再生の準備(データのロード等)を行い、次のシーンで用いられるデータを次シーン用バッファ204に格納する。再生制御部32は、現在のシーンの再生が完了したとき、次シーン用バッファ204に格納されたデータを現シーン用バッファ203に移動し、後続するシーンを現在のシーンとして再生することにより、映像コンテンツデータ51内の複数のシーンを連続して再生する。再生制御部32によって現在のシーンを再生している期間内に、再生準備部33によって次のシーンの再生準備を行うことによって、シーンが切り替わる際にも、映像コンテンツデータ51をスムーズに再生することができる。
【0023】
しかし、再生準備部33による次のシーンの再生準備に対応する処理量が大きい際には、現在のシーンが滑らかに再生されない可能性がある。例えば、次のシーンに用いられる静止画像データ401A(写真等)のデータサイズが大きく、ロードに要する処理量が大きい際には、再生準備部33がロード処理を実行することによって、再生制御部32による現在のシーンの再生に遅延が生じる可能性がある。この遅延によりユーザは、例えば、現在のシーンを滑らかに連続した映像として知覚せず、いわゆる「かくつき」を知覚する可能性がある。
【0024】
そのため、本実施形態のコンテンツ再生アプリケーション202では、現在のシーンが再生されている期間内において、現在のシーンの再生位置が次のシーンの再生準備に適したタイミングに達したとき、現在のシーンの再生が一時停止される。そして、現在のシーンの再生が一時停止されている期間内に、次のシーンの再生準備が行われる。次いで、次のシーンの再生準備が完了したことに応答して、現在のシーンの再生が再開される。
【0025】
次のシーンの再生準備に適したタイミングは、例えば、現在のシーン内で動きがない期間(画面に表示された画像に変化がない(少ない)期間)である。このタイミングは、例えばシーン毎に予め設定される。また、このタイミングは、シーン内の動きがない期間を検出して設定されてもよい。これによりユーザは、再生中のシーンに「かくつき」を知覚することなく、映像コンテンツデータ51を観賞することができる。
【0026】
図4は、コンテンツ再生アプリケーション202によるコンテンツ再生の制御シーケンスの例を示す。
まず、制御部31は、映像コンテンツデータ51の再生を開始するための通知を再生制御部32に出力する(S11)。再生制御部32は、映像コンテンツデータ51をシーン毎に再生する。そして、再生制御部32は、現在のシーンの再生中に、次のシーンの再生準備に適したタイミングに達したとき、現在のシーンの再生を一時停止する(S12)。再生制御部32は、次のシーンの再生準備を許可する通知を制御部31に出力する(S13)。次いで、制御部31は、再生準備部33に、次のシーンの再生準備の開始を指示する通知を出力する(S14)。再生準備部33は、制御部31による再生準備開始の通知に応じて、次のシーンの再生準備の処理を実行する(S15)。再生準備部33は、次のシーンの再生準備が完了したとき、制御部31に再生準備が完了したことを示す通知を出力する(S16)。そして、制御部31は、再生制御部32に次のシーンの再生準備が完了したことを通知する(S17)。再生制御部32は、制御部31による再生準備完了の通知に応じて、現在のシーンの再生を再開する(S18)。
【0027】
以下では、コンテンツ再生アプリケーション202内の各部について詳述する。
制御部31は、再生開始通知部311、準備開始通知部312及び準備完了通知部313を備える。再生制御部32は、再生部321、一時停止部322、準備許可通知部323、及びシーン遷移部324を備える。
【0028】
再生開始通知部311は、再生部321に再生対象の映像コンテンツデータ51の再生を開始させるための通知(再生開始通知)を送信する。再生開始通知部311は、例えば、ユーザにより再生対象の映像コンテンツデータ51が選択され、再生が指示されたことに応答して、再生部321に再生開始通知を送信する。また、再生開始通知部311は、例えば、再生対象の映像コンテンツデータ51の生成が完了したことに応答して、再生部321に再生開始通知を送信する。再生部321は、この再生開始通知に応答して映像コンテンツデータ51の再生を開始する。再生部321は、映像コンテンツデータ51をシーン単位で再生する。
【0029】
図5は、映像コンテンツデータ51の構成の例を示す。映像コンテンツデータ51は複数のシーン(例えばシーン1からシーンn)で構成される。1つのシーンには、例えば、1つのエフェクトデータ401Cと1つ以上のオブジェクト(例えばオブジェクト1からオブジェクトm)とが対応付けられる。エフェクトデータ401Cは、オブジェクトに施される装飾的な効果を含む。オブジェクトは、静止画像データ401A、音声データ401B等を含む。エフェクトデータ401Cは、例えば、オブジェクト(静止画像データ401A)のズームイン/ズームアウト、スライドイン/スライドアウト、回転、枠等の画像の重畳表示、フェードイン/フェードアウト、アニメーションを含む。また、オブジェクトは、静止画像データ401A内の顔画像のように、静止画像データ401内の一部であってもよい。したがって、1つのシーンが再生されることは、当該シーンに対応付けられたエフェクトデータ401Cが施された1つ以上のオブジェクトを含む映像が再生されることを意味する。
【0030】
また、シーンが再生される際に、静止画像データ401A(オブジェクト)にエフェクトデータ401Cが施されることによって該オブジェクトが動く(変化する)区間を、モーション区間(図5内、斜線部分)と呼ぶ。換言すると、各エフェクトデータ401Cには、対応付けられたオブジェクトに施される動き(モーション)とその期間とが定義されている。具体的には、モーション区間は、例えば静止画像データ401Aをスライドインさせるエフェクトが施された区間を示す。また、モーション区間は、例えば静止画像データ401A内の顔画像にズームインするエフェクトが施された区間を示す。なお、シーンに対応付けられるエフェクト、オブジェクトは、シーン毎に変更される。当然ながら、シーンに対応付けられるオブジェクト数mは、シーン毎に変動する。
【0031】
映像コンテンツデータ51には、シーン毎に再生されるオブジェクト、及び該オブジェクトに施されるエフェクトを示す情報が記述されている。つまり、映像コンテンツデータ51は、再生される映像に含まれるオブジェクトデータ(例えば、静止画像データ401A、音声データ401B)とエフェクトデータ401Cとを含まない。そのため、映像コンテンツデータ51を再生するためには、映像コンテンツデータ51内に記述された、オブジェクト及びエフェクトを示す情報に対応するオブジェクトデータ及びエフェクトデータ401Cをロードする処理等が必要である。映像コンテンツデータ51は、例えばFlash(登録商標)データである。なお、映像コンテンツデータ51は、オブジェクトデータやエフェクトデータ401Cを含む動画像データ(例えば、MPEG)であってもよい。
【0032】
再生部321は、上述のように構成される映像コンテンツデータ51をシーン毎に再生する。再生部321は、現シーン用バッファ203に格納されたデータ(静止画像データ401A、音声データ402B、エフェクトデータ401C等)を用いて、映像コンテンツデータ321内の現在のシーン(再生対象のシーン)を再生する。そして、再生部321は再生した映像(画像)を表示部34に出力する。表示部34は再生部321から出力された映像をLCD17等に表示する。再生部321は、映像コンテンツデータ51の再生が開始されたことを一時停止部322に通知する。
【0033】
一時停止部322は、現在のシーンが再生されている期間内において、再生位置が次のシーンの再生準備に適したタイミングに達したとき、該再生を一時停止する。次のシーンの再生準備に適したタイミングは、上述のように、例えば現在のシーン内で動きがない期間(画面に表示された画像に変化がない(少ない)期間)である。
【0034】
図6を参照して、次のシーンの再生準備に適したタイミングについて説明する。図6では、映像コンテンツデータ51内の1つのシーンに対応付けられたオブジェクト1〜6とエフェクトとがタイムライン上に示されている。オブジェクト1〜6には、指定された期間においてエフェクトが施される。図6のタイムライン上では、動きのあるエフェクトが施される期間がモーション区間(図6内、斜線部分)として、オブジェクト毎に示されている。シーンの先頭を0msecとしたとき、例えば、オブジェクト1には、20msecから80msecまでの期間と、300msecから500msecまでの期間とに、モーションを有するエフェクトが施される。
【0035】
図6に示す例では、220msecから300msecまでの期間内にモーション区間が存在しない。すなわち、220msecから300msecまでの期間は、現在のシーン内で動きがない(再生中のコンテンツが静止して見える)期間であるため、次のシーンの再生準備に適したタイミングであるといえる。したがって、現在のシーンの再生中、再生位置が220msecから300msecまでの期間内にあるとき、一時停止部322は、現在のシーンの再生を一時停止する。
【0036】
そして、一時停止部322は、現在のシーンの再生が一時停止されたことを準備許可通知部323に通知する。なお、映像コンテンツデータ51に次のシーンが存在しないとき、すなわち、現在のシーンが映像コンテンツデータ51に含まれる最後のシーンであるときには、一時停止部322は現在のシーンの再生を一時停止しない。また、現在のシーンが映像コンテンツデータ51に含まれる最後のシーンであっても、次に再生される別の映像コンテンツデータ51が決定されている際には、その別の映像コンテンツデータ51の先頭のシーンの再生準備のために、現在のシーンの再生を一時停止してもよい。
【0037】
準備許可通知部323は、一時停止部322による通知に応答して、次のシーンの再生準備を許可する通知(準備許可通知)を準備開始通知部312に出力する。そして、準備開始通知部312は、次のシーンの再生準備を開始させるための通知(準備開始通知)を再生準備部33に出力する。
【0038】
再生準備部33は、準備開始通知部312による通知に応答して、次のシーンの再生準備を開始する。具体的には、再生準備部33は、次のシーンに対応付けられた静止画像データ401A、音声データ401B、エフェクトデータ401C等を素材データベース401(HDD109)から次シーン用バッファ204(主メモリ103)にロードする。また、再生準備部33は、静止画像データ401Aの画像サイズを変更する処理や、静止画像データ401A内の一部を切り出す処理等を行って、その処理結果を次シーン用バッファ204に格納してもよい。再生準備部33は、次のシーンの再生準備が完了したことに応答して、準備完了通知部313に、再生準備が完了したことを通知する。
【0039】
準備完了通知部313は、再生準備部33による通知に応答して、現在のシーンの再生を再開させるための通知(準備完了通知)を再生部321に出力する。
【0040】
再生部321は、所定の条件が満たされたとき、現在のシーンの再生を再開する。再生部321は、例えば準備完了通知部313による準備完了通知を受け取ったとき、現在のシーンの再生を再開する。再生部321は、現在のシーンを、一時停止部322によって再生が一時停止された時点(再生位置)から再生する。そして、再生部321は、現在のシーンの再生が完了したことに応答して、シーン遷移部324に現在のシーンの再生が完了したことを通知する。
【0041】
なお、再生部321は、一時停止部322によって現在のシーンの再生が一時停止されてからの経過時間に基づいて、現在のシーンの再生を再開してもよい。その場合、一時停止部322は、例えばタイマを用いて、現在のシーンの再生が一時停止されてからの経過時間を計測する。再生部321は、タイマにより計測された経過時間が第1の時間(しきい値)に達したとき、現在のシーンの再生を再開する。また、再生部321は、タイマにより計測された経過時間が第1の時間に達し、且つ準備完了通知部313から準備完了通知を受け取ったとき、現在のシーンの再生を再開してもよい。なお、第1の時間には、現在のシーンをエフェクトとして一時停止させたい期間(シーン内のオブジェクトをエフェクトとして静止させたい期間)の長さを設定してもよい。これにより、例えば、静止画像データ401Aをエフェクトとして静止させて表示する期間を利用して、次のシーンの再生準備を行うことができる。また、次のシーンの再生準備がごく短時間で終了した際にも、静止画像データ401Aをエフェクトとして静止させて表示する期間を保証することができる。
【0042】
また、再生部321は、現在のシーンの再生が一時停止されてからの経過時間が第2の時間(タイムアウト時間)を超えた場合、タイムアウト処理を行ってもよい。なお、第2の時間は第1の時間よりも大きい。該経過時間が第2の時間を超えた場合、再生部321は、再生準備部33による次のシーンの再生準備にエラーが生じたものと判定する。そして、再生部321は、例えば、再生を終了する、再生を再開する、又は再生準備部33に準備開始通知を再度出力する等のタイムアウト処理を実行する。また、再生部321は、制御部31に次シーンの再生準備に問題があることを示すエラー通知を出力してもよい。その際、制御部31は、映像コンテンツデータ51に問題がないか、再生に必要な静止画像データ401A、音声データ401B、エフェクトデータ401C等が存在するか等を検証し、再生を継続するか否かを決定してもよい。
【0043】
なお、準備許可通知部323によって、次のシーンの再生準備を許可する準備許可通知を出力するよりも前に、準備完了通知部313から準備完了通知を受け取った際には、再生部321は、この準備完了通知を無視する。すなわち、再生部321は、一時停止された現在のシーンの再生を再開する処理等を行わない。あるいは、次のシーンの再生準備を許可する準備許可通知を出力するよりも前に、準備完了通知部313から準備完了通知を受け取った際には、再生部321は次のシーンの再生準備が完了したものと見なしてもよい。その場合、一時停止部322による現在のシーンの再生を一時停止する処理や、準備許可通知部323による準備許可通知を出力する処理等はスキップされる。
【0044】
シーン遷移部324は、再生部321による通知に応答して、次シーン用バッファ204に格納されたデータを現シーン用バッファ203に移動する。再生部321は、現シーン用バッファ203に新たに格納されたデータを用いて、現在のシーンに後続するシーンを再生する。つまり、再生部321は、現在のシーンに後続するシーンを新たな現在のシーンとして、再生を継続する。
【0045】
なお、シーン遷移部324は、次シーン用バッファ204に格納されたデータを現シーン用バッファ203に移動せず、再生部321により参照されるバッファを次シーン用バッファ204に変更する操作を行ってもよい。つまり、シーン遷移部324は、次シーン用バッファ204が新たな現シーン用バッファとして参照されるように変更する操作を行ってもよい。その場合、再生部321は、次シーン用バッファ204(新たな現シーン用バッファ)に格納されたデータを用いて、後続するシーンを再生する。また、シーン遷移部324は、現シーン用バッファ203を解放し、さらに後続するシーンに対応するデータを格納するためのバッファを新たに確保する。再生準備部33は、この新たに格納されたバッファに、さらに後続するシーンに対応するデータを格納する。
【0046】
また、映像コンテンツデータ51の先頭のシーンについては、以下のように再生準備を行い、映像コンテンツデータ51の再生を開始する。
まず、再生開始通知部311は、映像コンテンツデータ51の再生開始通知を再生制御部32に出力する。再生準備部33は、再生開始通知に応じて、映像コンテンツデータ51の先頭のシーンの再生準備を行う。再生準備部33は、先頭のシーンの再生準備が完了したことに応答して、準備完了通知部313に再生準備が完了したことを通知する。そして、準備完了通知部313は、再生部321に準備完了通知を出力する。
【0047】
再生部321は、再生開始通知部311から再生開始通知を受け、準備完了通知部313から準備完了通知を受けたことにより、先頭のシーンの再生準備が完了したことを検出する。そして、再生部321は、先頭のシーンに対応するデータが次シーン用バッファ204に格納されたことをシーン遷移部324に通知する。シーン遷移部324は、この通知に応答して、次シーン用バッファ204に格納されたデータを現シーン用バッファ203に移動する。そして、再生部321は、現シーン用バッファ203に格納された、先頭のシーンに対応するデータを用いて先頭のシーンを再生する。
【0048】
以上の構成により、コンテンツ再生アプリケーション202は、シーン毎に再生される映像コンテンツデータ51を滑らかに再生することができる。一時停止部322は、現在のシーンが再生されている期間内において、次のシーンの再生準備を行うのに適した、映像に動きがない(変化が少ない)タイミングに達したとき、現在のシーンの再生を一時停止する。そして、再生準備部33は、現在のシーンの再生が一時停止されている間に、次のシーンで用いるデータのロード処理等の再生準備を行う。再生部321は、再生準備部33による再生準備が完了すると、現在のシーンの再生を再開する。コンテンツ再生アプリケーション202は、映像に動きがないタイミングで、現在のシーンの再生を一時停止することにより、映像の再生に「かくつき」を生じさせることなく、且つ観賞するユーザに違和感を覚えさせることなく、映像コンテンツデータ51を再生することができる。
【0049】
なお、再生制御部32は、制御部31(準備開始通知部312)を介さずに、直接、再生準備部33に準備許可通知を出力してもよい。また、再生準備部33は、制御部31(準備完了通知部313)を介さずに、直接、再生制御部32に準備完了通知を出力してもよい。
【0050】
次いで、図7のフローチャートを参照して、コンテンツ再生アプリケーション202によって実行されるコンテンツ再生処理の手順の例を説明する。
まず、再生部321は、再生開始通知部311から映像コンテンツデータ51の再生開始を指示する通知を受けたか否かを判定する(ブロックB101)。再生開始を指示する通知を受けていない場合(ブロックB101のNO)、再生部321は、再生開始通知を待ち、再度ブロックB101の処理を行う。
【0051】
再生開始を指示する通知を受けた場合(ブロックB101のYES)、再生部321は、現在のシーンを示す現シーン番号Nに“−1”を設定する(ブロックB102)。そして、再生準備部33は、再生開始を指示する通知に応答して、シーンN+1、すなわち、映像コンテンツデータ51の先頭のシーン(シーン0)の再生準備を行う(ブロックB103)。再生準備部33は、先頭のシーンで用いられるデータを次シーン用バッファ204に格納する。なお、再生開始を指示する通知は、再生部321等を介して再生準備部33に出力されてもよいし、再生開始通知部311から再生準備部33に直接通知されてもよい。再生準備部33は、準備完了通知部313及び再生部321を介して、シーン遷移部324に再生準備が完了したことを通知する。
【0052】
次いで、シーン遷移部324は、次シーン用バッファ204に格納されたデータを現シーン用バッファ203に移動する(ブロックB104)。シーン遷移部324は、再生部321に、次のシーンに対応するデータが現シーン用バッファ203に格納されたことを通知する。再生部321は、シーン遷移部324による通知に応答して、現シーン番号Nを1だけ増やす(ブロックB105)。そして、再生部321は、現シーン用バッファ203に格納されたデータを用いて、現在のシーンNの再生を開始する(ブロックB106)。再生部321は、現在のシーンNの再生が開始されたことを一時停止部322に通知する。
【0053】
一時停止部322は、再生部321による通知に応答して、映像コンテンツデータ51に、現在のシーンNに後続するシーンN+1が存在するか否かを判定する(ブロックB107)。シーンN+1が存在する場合(ブロックB107のYES)、一時停止部322は現在のシーンNの再生を一時停止する(ブロックB108)。一時停止するタイミングは、シーンN+1の再生準備に適したタイミングであり、例えば、再生中の現在のシーンN内に動きがない(変化が少ない)タイミングである。したがって、一時停止部322は、現在のシーンNが再生される期間内において、現在のシーンの再生位置が次のシーンの再生準備に適したタイミングに達したとき、現在のシーンの再生を一時停止する。一時停止部322は、準備許可通知部323及び準備開始通知部312を介して、再生準備部33に現在のシーンの再生が一時停止されたことを通知する。
【0054】
再生準備部33は、一時停止部322による通知に応答して、シーンN+1の再生準備を行う(ブロックB109)。再生準備部33は、シーンN+1で用いられるデータを次シーン用バッファ204に格納する。再生準備部33は、シーンN+1の再生準備が完了したことに応答して、準備完了通知部313を介して、再生部321に再生準備が完了したことを通知する。再生部321は、再生準備部33による通知に応答して、現在のシーンの再生を再開する(ブロックB110)。ブロックB108からブロックB110の処理の詳細は、図8から図14を参照して後述する。
【0055】
現在のシーンの再生を再開した後、又はシーンN+1が存在しない場合(ブロックB107のNO)、再生部321は、現在のシーンの再生が完了したか否かを判定する(ブロックB111)。再生が完了していない場合(ブロックB111のNO)、再生部321は、再生が完了するまでブロックB111の判定を繰り返す。
【0056】
再生が完了している場合(ブロックB111のYES)、再生部321は、現在のシーンNに後続するシーンN+1が存在するか否かを判定する(ブロックB112)。シーンN+1が存在する場合(ブロックB112のYES)、ブロックB104に戻る。その際、再生部321は、シーン遷移部324に現在のシーンの再生が完了したことを通知する。つまり、シーン遷移部324がバッファ間でデータを移動するブロックB104以降の処理が繰り返される。シーンN+1が存在しない場合(ブロックB112のNO)、再生部321は、映像コンテンツデータ51の再生を終了する。
【0057】
以上の処理により、コンテンツ再生アプリケーション202は、映像コンテンツデータ51が滑らかに再生されるように制御することができる。再生準備部33は、現在のシーンが再生されている期間内にバックグラウンドで次のシーンの再生準備を行う。これにより再生部321は、シーンが切り替わる際にも映像コンテンツデータ51をスムーズに再生することができる。また、現在のシーンの再生が完了したとき、当該シーンの再生に用いられるデータが格納されたメモリは解放される。再生が完了したシーンに対応するメモリは逐次解放されるため、コンテンツ再生アプリケーション202によって同時に使用されるメモリ量を低減することができる。
【0058】
以下では、図8から図14を参照して、現在のシーンに後続するシーンの再生準備をする際に、現在のシーンの再生を制御する再生制御処理について説明する。
図8のフローチャートは、コンテンツ再生アプリケーション202(再生制御部32)によって実行される再生制御処理の例を示す。ここでは、再生部321によりシーンN(現在のシーン)が再生されていることを想定する。
【0059】
まず、一時停止部322は、現在のシーンが再生されている期間内において、現在のシーンの再生位置が次のシーンの再生準備に適したタイミングに達したか否かを判定する(ブロックB21)。次のシーンの再生準備に適したタイミングに達していない場合(ブロックB21のNO)、再生部321により現在のシーンの再生が進行され、一時停止部322は、その進行されたタイミングで再度、ブロックB21の判定を行う。
【0060】
次のシーンの再生準備に適したタイミングに達している場合(ブロックB21のYES)、一時停止部322は、現在のシーンの再生を一時停止する(ブロックB22)。一時停止部322は、現在のシーンの再生を一時停止したことを準備許可通知部323に通知する。そして、準備許可通知部323は制御部31(準備開始通知部312)に、次のシーンの再生準備を許可する準備許可通知を出力する(ブロックB23)。
【0061】
次いで、再生部321は、制御部31(準備完了通知部313)から再生準備の完了を示す準備完了通知を受け取ったか否かを判定する(ブロックB24)。準備完了通知を受け取っていない場合(ブロックB24のNO)、再生部321は、再度ブロックB24の判定を行う。準備完了通知を受け取った場合(ブロックB24のYES)、再生部321は、現在のシーンの再生を再開する(ブロックB25)。
【0062】
以上の処理により、コンテンツ再生アプリケーション202は、次のシーンの再生準備に適したタイミングで、現在のシーンの再生を一時停止し、次のシーンの再生準備を行うことにより、映像の再生に「かくつき」を生じさせることなく、且つ観賞するユーザに違和感を覚えさせることなく、映像コンテンツデータ51を再生することができる。
【0063】
図9のフローチャートは、コンテンツ再生アプリケーション202によって実行されるタイマを用いた再生制御処理の手順の例を示す。ここでは、再生部321によりシーンN(現在のシーン)が再生されていることを想定する。また、再生制御部32は、再生準備にかかる期間を管理するためのタイマを備える。
【0064】
まず、一時停止部322は、現在のシーンが再生されている期間内において、現在のシーンの再生位置が次のシーンの再生準備に適したタイミングに達したか否かを判定する(ブロックB31)。次のシーンの再生準備に適したタイミングに達していない場合(ブロックB31のNO)、再生部321により現在のシーンの再生が進行され、一時停止部322は、その進行されたタイミングで再度、ブロックB31の判定を行う。
【0065】
次のシーンの再生準備に適したタイミングに達している場合(ブロックB31のYES)、一時停止部322は、現在のシーンの再生を一時停止する(ブロックB32)。一時停止部322は、現在のシーンの再生を一時停止したことを準備許可通知部323に通知する。また、一時停止部322は、再生準備にかかる期間を管理するためのタイマを起動する(ブロックB33)。次いで、準備許可通知部323は制御部31(準備開始通知部312)に、次のシーンの再生準備を許可する準備許可通知を出力する(ブロックB34)。そして、再生部321は、タイマにより計測された時間、すなわち、現在のシーンの再生が一時停止されてからの経過時間に基づいて、現在のシーンの再生を再開する再生再開処理を行う(ブロックB35)。
【0066】
図10のフローチャートを参照して、図9のブロックB35の再生再開処理の手順の例を説明する。
まず、再生部321は、準備完了通知を受け取ったか否かを判定する(ブロックB351)。準備完了通知を受け取っている場合(ブロックB351のYES)、再生部321は、タイマ完了フラグにtrueが設定されているか否かを判定する(ブロックB352)。タイマ完了フラグには、タイマにより計測された経過時間が規定時間(第1の時間)以上である場合にtrueが設定される。また、タイマ完了フラグには、タイマにより計測された経過時間が規定時間以上でない場合にfalseが設定される。なお、再生再開処理が開始されるとき、タイマ完了フラグにはfalseが設定されている。
【0067】
タイマ完了フラグにfalseが設定されている場合(ブロックB352のNO)、再生部321は準備完了フラグにtrueを設定する(ブロックB353)。準備完了フラグには、準備完了通知を既に受け取っている場合にはtrueが設定されている。また、準備完了フラグには、準備完了通知をまだ受け取っていない場合にはfalseが設定されている。
【0068】
準備完了通知を受け取っていない場合(ブロックB351のNO)、再生部321はタイマにより計測された経過時間が規定時間以上であるか否かを判定する(ブロックB354)。経過時間が規定時間以上でない場合(ブロックB354のNO)、再生部321はブロックB351の処理に戻る。
【0069】
経過時間が規定時間以上である場合(ブロックB354のYES)、再生部321は準備完了フラグにtrueが設定されているか否かを判定する(ブロックB355)。準備完了フラグにfalseが設定されている場合(ブロックB355のNO)、再生部321は、タイマ完了フラグにtrueを設定する(ブロックB356)。
【0070】
また、タイマ完了フラグにtrueが設定されている場合(ブロックB352のYES)、又は準備完了フラグにtrueが設定されている場合(ブロックB355のYES)、再生部321は、現在のシーンの再生を再開する(ブロックB357)。
【0071】
以上の処理により、コンテンツ再生アプリケーション202は、タイマにより計測された経過時間に基づいて現在のシーンの再生を制御することができる。再生部321は、タイマにより計測された経過時間が規定時間に達したときに現在のシーンの再生を再開するため、現在のシーンの再生時間を正確に制御することができる。例えば、次のシーンの再生準備に要する時間が次のシーンの内容や再生環境によって変化した際にも、現在のシーンが一時停止される期間を含む再生時間を一定にすることができる。エフェクトが施された静止画像データ401Aの再生時間を一定にすることができるため、例えば、画面(LCD17)に表示される画像とスピーカ18A,18Bから出力される音声データ401Bとを容易に同期させることができる。
【0072】
また、図11のフローチャートは、図9のブロックB35の再生再開処理の手順の別の例を示す。図11に示すフローチャートでは、まず、再生部321は、現在のシーンの再生が一時停止されてからの経過時間が規定時間(第1の時間)以上であるか否かを判定する(ブロックB361)。再生部321は、ポーリングにより経過時間を検出する。経過時間が規定時間以上である場合(ブロックB361のYES)、再生部321は、準備完了通知部313から、再生準備部33による再生準備が完了したことを示す準備完了通知を受け取ったか否かを判定する(ブロックB362)。準備完了通知を受け取った場合(ブロックB362のYES)、再生部321は、現在のシーンの再生を再開する(ブロックB363)。また、経過時間が規定時間以上でない場合(ブロックB361のNO)又は準備完了通知を受け取っていない場合(ブロックB362のNO)、再生部321はブロックB361の処理に戻る。
【0073】
以上の処理により、タイマを用いる場合と同様に、コンテンツ再生アプリケーション202は、ポーリングにより取得された経過時間に基づいて現在のシーンの再生を制御することができる。
【0074】
また、図12のフローチャートは、コンテンツ再生アプリケーション202によって実行されるタイマを用いた再生制御処理の手順の別の例を示す。ここでは、再生部321によりシーンN(現在のシーン)が再生されていることを想定する。また、再生制御部32は、再生準備にかかる期間を管理するためのタイマAと再生の一時停止をタイムアウトするためのタイマBとを備える。
【0075】
まず、一時停止部322は、現在のシーンが再生されている期間内において、現在のシーンの再生位置が次のシーンの再生準備に適したタイミングに達したか否かを判定する(ブロックB41)。次のシーンの再生準備に適したタイミングに達していない場合(ブロックB41のNO)、再生部321により現在のシーンの再生が進行され、一時停止部322は、その進行されたタイミングで再度、ブロックB41の処理を行う。
【0076】
次のシーンの再生準備に適したタイミングに達している場合(ブロックB41のYES)、一時停止部322は現在のシーンの再生を一時停止する(ブロックB42)。一時停止部322は、現在のシーンの再生を一時停止したことを準備許可通知部323に通知する。また、一時停止部322は、再生準備にかかる期間を管理するためのタイマAを起動する(ブロックB43)。一時停止部322は、再生の一時停止をタイムアウトするためのタイマBを起動する(ブロックB44)。
【0077】
次いで、準備許可通知部323は制御部31(準備開始通知部312)に、次のシーンの再生準備を許可する準備許可通知を出力する(ブロックB45)。そして、再生部321は、タイマA及びタイマBにより計測された経過時間(現在のシーンの再生が一時停止されてからの経過時間)に基づいて、現在のシーンの再生を再開する再生再開処理を行う(ブロックB46)。
【0078】
図13のフローチャートを参照して、図12のブロックB46の再生再開処理の手順の例を説明する。
まず、再生部321は、準備完了通知を受け取ったか否かを判定する(ブロックB461)。準備完了通知を受け取っている場合(ブロックB461のYES)、再生部321は、タイマA完了フラグにtrueが設定されているか否かを判定する(ブロックB462)。タイマA完了フラグには、タイマAにより計測された経過時間Aが規定時間(第1の時間)以上である場合にtrueが設定される。また、タイマA完了フラグには、タイマAにより計測された経過時間Aが規定時間以上でない場合にfalseが設定される。なお、再生再開処理が開始されるとき、タイマA完了フラグにはfalseが設定される。
【0079】
タイマA完了フラグにfalseが設定されている場合(ブロックB462のNO)、再生部321は準備完了フラグにtrueを設定し(ブロックB463)、ブロックB461の処理に戻る。準備完了フラグには、準備完了通知を既に受け取っている場合にはtrueが設定されている。また、準備完了フラグには、準備完了通知をまだ受け取っていない場合にはfalseが設定されている。なお、再生再開処理が開始されるとき、準備完了フラグにはfalseが設定される。
【0080】
準備完了通知を受け取っていない場合(ブロックB461のNO)、再生部321は、タイマA完了フラグにtrueが設定されているか否かを判定する(ブロックB464)。タイマA完了フラグにfalseが設定されている場合(ブロックB464のNO)、再生部321は、タイマAにより計測された経過時間Aが規定時間(第1の時間)以上であるか否かを判定する(ブロックB465)。経過時間Aが規定時間以上でない場合(ブロックB465のNO)、再生部321はブロックB461の処理に戻る。経過時間Aが規定時間以上である場合(ブロックB465のYES)、再生部321は準備完了フラグにtrueが設定されているか否かを判定する(ブロックB466)。準備完了フラグにfalseが設定されている場合(ブロックB466のNO)、再生部321は、タイマA完了フラグにtrueを設定し(ブロックB467)、ブロックB461の処理に戻る。
【0081】
タイマA完了フラグにtrueが設定されている場合(ブロックB464のYES)、再生部321は、タイマBにより計測された経過時間Bがタイムアウト時間(第2の時間)以上であるか否かを判定する(ブロックB469)。経過時間Bがタイムアウト時間以上でない場合(ブロックB469のNO)、再生部321はブロックB461の処理に戻る。経過時間Bがタイムアウト時間以上である場合(ブロックB469のYES)、再生部321はタイムアウト処理を実行する(ブロックB470)。再生部321は、経過時間Bがタイムアウト時間以上である場合、次シーンの再生準備に何らかの問題が生じたものと判定する。再生部321は、例えば、再生を終了する、再生を再開する、又は再生準備部33に準備開始通知を再度出力する等のタイムアウト処理を実行する。また、再生部321は、制御部31に次シーンの再生準備に問題があることを示すエラー通知を出力してもよい。その際、制御部31は、映像コンテンツデータ51に問題がないか、再生に必要な静止画像データ401A、音声データ401B、エフェクトデータ401C等が格納されているか等を検証し、再生を継続するか否かを決定してもよい。
【0082】
また、タイマA完了フラグにtrueが設定されている場合(ブロックB462のYES)、又は準備完了フラグにtrueが設定されている場合(ブロックB466のYES)、再生部321は、現在のシーンの再生を再開する(ブロックB468)。
【0083】
上述のタイムアウト処理により、次のシーンの再生準備がエラー等により完了しない際にも、現在のシーンの再生が一時停止されたまま制御不能にはならず、適切なリカバリが可能となる。なお、タイマBは、タイマAにより計測された経過時間が規定時間(第1の時間)に達したことに応答して起動されてもよい。つまり、タイマAによる計測が停止されると同時に、タイマBによる計測が開始される。その場合、タイマAにより計測された経過時間と、タイマBにより計測された経過時間との和が、タイムアウトを判定するための経過時間として用いられる。2つのタイマを並行して動作させずに、タイムアウトの判定を行うことができるため、これらタイマの動作にかかる処理負荷が同時に発生することを回避することができる。
【0084】
また、図14のフローチャートは、図12のブロックB46の再生再開処理の手順の別の例を示す。図14に示すフローチャートでは、まず、再生部321は、現在のシーンの再生が一時停止されてからの経過時間が規定時間(第1の時間)以上であるか否かを判定する(ブロックB471)。再生部321は、ポーリングにより経過時間を検出する。経過時間が規定時間以上である場合(ブロックB471のYES)、再生部321は、当該経過時間がタイムアウト時間(第2の時間)以上であるか否かを判定する(ブロックB472)。経過時間がタイムアウト時間以上である場合(ブロックB472のYES)、再生部321はタイムアウト処理を実行する(ブロックB473)。
【0085】
経過時間がタイムアウト時間以上でない場合(ブロックB472のNO)、再生部321は、準備完了通知部313から、再生準備部33による再生準備が完了したことを示す準備完了通知を受け取ったか否かを判定する(ブロックB474)。準備完了通知を受け取った場合(ブロックB474のYES)、再生部321は、現在のシーンの再生を再開する(ブロックB475)。また、経過時間が規定時間以上でない場合(ブロックB471のNO)又は準備完了通知を受け取っていない場合(ブロックB474のNO)、再生部321はブロックB471の処理に戻る。
【0086】
以上の処理により、タイマを用いる場合と同様に、コンテンツ再生アプリケーション202は、ポーリングにより取得された経過時間に基づいて、現在のシーンの再生及び再生準備のタイムアウトを制御することができる。
【0087】
また、図15のフローチャートは、コンテンツ再生アプリケーション202によって実行される、次のシーンの再生準備に適したタイミングを検出するタイミング検出処理の手順の例を示す。ここでは、再生準備部33によりタイミング検出処理が実行されることを想定する。
【0088】
まず、再生準備部33は、映像コンテンツデータ51に含まれるシーン毎に、タイムライン上の初期位置にチェックポイントを設定する(ブロックB51)。タイムライン上の初期位置は、例えば、再生準備をするシーン(すなわち、次のシーン)に対応する期間の先頭である。そして、再生準備部33は、現在のチェックポイントにモーション(動き)があるか否かを判定する(ブロックB52)。再生準備部33は、例えば、現在のチェックポイントに対応するエフェクトデータ401Cにモーション(動きがある効果)が含まれるか否かを判定する。具体的には例えば、現在のチェックポイントが、オブジェクト(静止画像データ401A)に対して、画面上をスライドさせるようなエフェクトデータ401Cを施している時点であるとき、再生準備部33は、現在のチェックポイントにモーションがあると判定する。また、例えば、現在のチェックポイントが、オブジェクト(静止画像データ401A)を画面上に静止させるようなエフェクトデータ401Cを施している時点であるとき、再生準備部33は、現在のチェックポイントにモーションがないと判定する。
【0089】
現在のチェックポイントにモーションがない場合(ブロックB52のNO)、再生準備部33は、現在のチェックポイントをタイミングリストに追加する(ブロックB53)。タイミングリストは再生準備に適したタイミングが記述されたリストである。現在のチェックポイントをタイミングリストに追加した後、又は現在のチェックポイントにモーションがある場合(ブロックB52のYES)、再生準備部33は、現在のチェックポイントがシーンの終端であるか否かを判定する(ブロックB54)。
【0090】
現在のチェックポイントがシーンの終端でない場合(ブロックB54のNO)、再生準備部33はチェックポイントを次に進める(ブロックB55)。再生準備部33は、例えば、現在のチェックポイントの所定期間後の時点を、次のチェックポイントに設定する。
【0091】
現在のチェックポイントがシーンの終端である場合(ブロックB54のYES)、再生準備部33は、シーンの始点と終点とをタイミングリストに追加する(ブロックB56)。つまり、シーン内に再生準備に適したタイミングがない場合には、シーンの始点又は終点において、次のシーンの再生準備が行われる。したがって、ブロックB53の処理において、タイミングリストに再生準備に適したタイミングが既に追加されている際には、シーンの始点と終点とをタイミングリストに追加しなくてもよい。また、再生準備部33は、ブロックB56の処理において、シーンの始点及び終点のいずれかのタイミングをタイミングリストに追加してもよい。再生準備部33は、再生準備に適したタイミングを記述したタイミングリストを、例えば、次シーン用バッファ204に格納する。
【0092】
以上の処理により、再生準備部33は、次のシーンの再生準備に適したタイミングを記述したタイミングリストを作成することができる。これにより、一時停止部322は、現在のシーンが再生されている期間内において、現在のシーンの再生位置が次のシーンの再生準備に適したタイミングに達したか否かを、このタイミングリストに記述されたタイミングに基づいて判定することができる。なお、再生制御部32(再生部321)による現在のシーンの再生時に、次のシーンの再生準備に適したタイミングを検出してもよい。その場合、例えば、再生部321は、現在のシーンの再生中に、現在の再生位置が次のシーンの再生準備に適したタイミングであるか否かを判定する。そして、現在のシーンの再生位置が次のシーンの再生準備に適したタイミングであると判定された場合、一時停止部322は、現在のシーンの再生を一時停止する。また、準備許可通知部323は、次のシーンの再生準備を許可する準備許可通知を出力する。
【0093】
以上説明したように、本実施形態によれば、コンテンツデータが滑らかに再生されるように制御できる。コンテンツ再生アプリケーション202は、映像に動きがない(変化が少ない)タイミングで、現在のシーンの再生を一時停止することにより、映像の再生に「かくつき」を生じさせることなく、且つ観賞するユーザに違和感を覚えさせることなく、映像コンテンツデータ51を再生することができる。
【0094】
なお、本実施形態の再生制御処理の手順は全てソフトウェアによって実行することができる。このため、再生制御処理の手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【0095】
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0096】
109…HDD、202…コンテンツ再生アプリケーション、203…現シーン用バッファ、204…次シーン用バッファ、31…制御部、311…再生開始通知部、312…準備開始通知部、313…準備完了通知部、32…再生制御部、321…再生部、322…一時停止部、323…準備許可通知部、324…シーン遷移部、33…再生準備部、34…表示部、401…素材データベース、401A…静止画像データ、401B…音声データ、401C…エフェクトデータ、51…映像コンテンツデータ。
【特許請求の範囲】
【請求項1】
複数のシーンを含む映像コンテンツデータを再生する再生手段と、
1つのシーンに対応する前記映像コンテンツデータが再生されているとき、当該シーンに対応する映像の再生を一時停止する一時停止手段と、
前記シーンに対応する映像の再生が一時停止されている期間内に、前記シーンに後続するシーンに対応するデータを準備する再生準備手段とを具備し、
前記再生手段は、前記準備が完了したこと、及び/又は前記再生が一時停止されてからの経過時間が第1の時間以上であることに応答して、前記再生を再開するコンテンツ再生装置。
【請求項2】
前記一時停止手段は、前記シーンに対応する映像に動きがないとき、前記シーンに対応する映像の再生を一時停止する請求項1記載のコンテンツ再生装置。
【請求項3】
前記シーンに対応する映像は、エフェクトが施された画像を含み、
前記一時停止手段は、前記エフェクトが施された画像に動きがないとき、前記シーンに対応する映像の再生を一時停止する請求項1記載のコンテンツ再生装置。
【請求項4】
前記一時停止手段は、前記エフェクトを解析し、前記エフェクトが施された画像に動きがないタイミングを算出し、前記算出されたタイミングで、前記シーンに対応する映像の再生を一時停止する請求項3記載のコンテンツ再生装置。
【請求項5】
前記再生手段は、前記シーンに対応する映像の再生が完了したことに応答して、前記後続するシーンに対応するデータを用いて、前記後続するシーンに対応する映像を再生する請求項1記載のコンテンツ再生装置。
【請求項6】
前記後続するシーンに対応するデータは、前記後続するシーンに対応する映像に含まれる、画像のデータと当該画像に施されるエフェクトのデータとを含む請求項1記載のコンテンツ再生装置。
【請求項7】
前記一時停止手段は、前記シーン毎に規定されたタイミングで、当該シーンに対応する映像の再生を一時停止する請求項1記載のコンテンツ再生装置。
【請求項8】
前記再生準備手段は、前記再生が一時停止されてからの経過時間が前記第1の時間よりも大きい第2の時間以上であるとき、前記準備を中断し、
前記再生手段は、前記準備を中断されたことに応答して、前記再生を再開する請求項1記載のコンテンツ再生装置。
【請求項9】
複数のシーンを含む映像コンテンツデータを再生し、
1つのシーンに対応する前記映像コンテンツデータが再生されているとき、当該シーンに対応する映像の再生を一時停止し、
前記シーンに対応する映像の再生が一時停止されている期間内に、前記シーンに後続するシーンに対応するデータを準備し、
前記再生することは、前記準備が完了したこと、及び/又は前記再生が一時停止されてからの経過時間が第1の時間以上であることに応答して、前記再生を再開するコンテンツ再生方法。
【請求項1】
複数のシーンを含む映像コンテンツデータを再生する再生手段と、
1つのシーンに対応する前記映像コンテンツデータが再生されているとき、当該シーンに対応する映像の再生を一時停止する一時停止手段と、
前記シーンに対応する映像の再生が一時停止されている期間内に、前記シーンに後続するシーンに対応するデータを準備する再生準備手段とを具備し、
前記再生手段は、前記準備が完了したこと、及び/又は前記再生が一時停止されてからの経過時間が第1の時間以上であることに応答して、前記再生を再開するコンテンツ再生装置。
【請求項2】
前記一時停止手段は、前記シーンに対応する映像に動きがないとき、前記シーンに対応する映像の再生を一時停止する請求項1記載のコンテンツ再生装置。
【請求項3】
前記シーンに対応する映像は、エフェクトが施された画像を含み、
前記一時停止手段は、前記エフェクトが施された画像に動きがないとき、前記シーンに対応する映像の再生を一時停止する請求項1記載のコンテンツ再生装置。
【請求項4】
前記一時停止手段は、前記エフェクトを解析し、前記エフェクトが施された画像に動きがないタイミングを算出し、前記算出されたタイミングで、前記シーンに対応する映像の再生を一時停止する請求項3記載のコンテンツ再生装置。
【請求項5】
前記再生手段は、前記シーンに対応する映像の再生が完了したことに応答して、前記後続するシーンに対応するデータを用いて、前記後続するシーンに対応する映像を再生する請求項1記載のコンテンツ再生装置。
【請求項6】
前記後続するシーンに対応するデータは、前記後続するシーンに対応する映像に含まれる、画像のデータと当該画像に施されるエフェクトのデータとを含む請求項1記載のコンテンツ再生装置。
【請求項7】
前記一時停止手段は、前記シーン毎に規定されたタイミングで、当該シーンに対応する映像の再生を一時停止する請求項1記載のコンテンツ再生装置。
【請求項8】
前記再生準備手段は、前記再生が一時停止されてからの経過時間が前記第1の時間よりも大きい第2の時間以上であるとき、前記準備を中断し、
前記再生手段は、前記準備を中断されたことに応答して、前記再生を再開する請求項1記載のコンテンツ再生装置。
【請求項9】
複数のシーンを含む映像コンテンツデータを再生し、
1つのシーンに対応する前記映像コンテンツデータが再生されているとき、当該シーンに対応する映像の再生を一時停止し、
前記シーンに対応する映像の再生が一時停止されている期間内に、前記シーンに後続するシーンに対応するデータを準備し、
前記再生することは、前記準備が完了したこと、及び/又は前記再生が一時停止されてからの経過時間が第1の時間以上であることに応答して、前記再生を再開するコンテンツ再生方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2011−244342(P2011−244342A)
【公開日】平成23年12月1日(2011.12.1)
【国際特許分類】
【出願番号】特願2010−116579(P2010−116579)
【出願日】平成22年5月20日(2010.5.20)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成23年12月1日(2011.12.1)
【国際特許分類】
【出願日】平成22年5月20日(2010.5.20)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]