説明

画像再生装置、方法及びプログラム

【課題】レジューム再生する場合において、前回再生時に停止されたフレームがエラーであった場合に、次に再生を開始したときにフリーズ画面や黒画面にならないようにする。
【解決手段】動画再生を開始した状態で、システム制御部50は、操作部70が操作されることによる動画再生の停止指示があった場合、動画再生を停止する際(停止直前)に動画データの再生が正常に行われているか否かを判定する。動画再生が正常に行われていない、すなわちエラーが発生したと判定された場合、システム制御部50は、レジューム再生位置として記録すべきフレームをシークし、停止指示を受け付けて停止した再生位置より後のフレームをレジューム再生位置として記録する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画データをレジューム再生するのに好適な画像再生装置、方法、プログラム及びコンピュータ読み取り可能な記憶媒体に関する。
【背景技術】
【0002】
従来より、MPEG動画のように前のフレームを参照して動画を再生するような動画フォーマットの画像再生がある。かかる画像再生において、動画再生時にエラーが発生した場合には次のIピクチャかGOP以上の階層まで読み飛ばしを行い、読み飛ばした範囲の画像データに代えて、直前の画像を表示したり、黒画面を表示したりする方法があった。
【0003】
【特許文献1】特開平9−271025号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、レジューム再生(前回再生を停止した位置のフレームから再生を開始すること)する場合に、停止位置がエラーであったときの処理については触れられていない。もしレジューム再生の場合の処理について従来技術を用いるならば、停止位置のフレームがエラーであった場合、次に再生を開始したときに最初から前回の停止位置のフレームのフリーズ画面や黒画面が表示されてしまう。そのため、ユーザにとって動画再生が開始したのかが分かりにくく、動画再生が正常に開始されているのかも判断がつかない。
【0005】
そこで本発明では、レジューム再生する場合において、前回再生時に停止されたフレームがエラーであった場合に、次に再生を開始したときにフリーズ画面や黒画面にならないようにすることを目的とする。
【課題を解決するための手段】
【0006】
本発明の画像再生装置は、動画データを再生する再生手段と、前記再生手段での再生の停止指示を受け付ける停止指示受付手段と、前記停止指示受付手段によって停止指示を受け付けた際に、前記再生手段での再生が正常に行われていたか否かを判定する判定手段と、前記判定手段によって再生が正常に行われていなかったと判定された場合、前記動画データのうち前記停止指示を受け付けて停止した再生位置より後のフレームを、レジューム再生位置として記録するよう制御する記録制御手段とを有することを特徴とする。
本発明の別の画像再生装置は、動画データを再生する再生手段と、レジューム再生位置の記録を指示する指示手段と、前記指示手段による指示の際に、前記再生手段での再生が正常に行われていたか否かを判定する判定手段と、前記判定手段によって再生が正常に行われていなかったと判定された場合、前記動画データのうち前記指示手段による指示の際に再生していた再生位置より後のフレームを、レジューム再生位置として記録するよう制御する記録制御手段とを有することを特徴とする。
本発明の画像再生方法は、動画データを再生する再生ステップと、前記再生ステップでの再生の停止指示を受け付ける停止指示受付ステップと、前記停止指示受付ステップによって停止指示を受け付けた際に、前記再生ステップでの再生が正常に行われていたか否かを判定する判定ステップと、前記判定ステップによって再生が正常に行われていなかったと判定された場合、前記動画データのうち前記停止指示を受け付けて停止した再生位置より後のフレームを、レジューム再生位置として記録するよう制御する記録制御ステップとを有することを特徴とする。
本発明のプログラムは、動画データを再生する再生手段と、前記再生手段での再生の停止指示を受け付ける停止指示受付手段と、前記停止指示受付手段によって停止指示を受け付けた際に、前記再生手段での再生が正常に行われていたか否かを判定する判定手段と、前記判定手段によって再生が正常に行われていなかったと判定された場合、前記動画データのうち前記停止指示を受け付けて停止した再生位置より後のフレームを、レジューム再生位置として記録するよう制御する記録制御手段としてコンピュータを機能させる。
本発明の記憶媒体は、動画データを再生する再生手段と、前記再生手段での再生の停止指示を受け付ける停止指示受付手段と、前記停止指示受付手段によって停止指示を受け付けた際に、前記再生手段での再生が正常に行われていたか否かを判定する判定手段と、前記判定手段によって再生が正常に行われていなかったと判定された場合、前記動画データのうち前記停止指示を受け付けて停止した再生位置より後のフレームを、レジューム再生位置として記録するよう制御する記録制御手段としてコンピュータを機能させるためのプログラムを記憶したことを特徴とする。
本発明の別の画像再生方法は、動画データを再生する再生ステップと、レジューム再生位置の記録を指示する指示ステップと、前記指示ステップによる指示の際に、前記再生ステップでの再生が正常に行われていたか否かを判定する判定ステップと、前記判定ステップによって再生が正常に行われていなかったと判定された場合、前記動画データのうち前記指示ステップによる指示の際に再生していた再生位置より後のフレームを、レジューム再生位置として記録するよう制御する記録制御ステップとを有することを特徴とする。
本発明の別のプログラムは、動画データを再生する再生手段と、レジューム再生位置の記録を指示する指示手段と、前記指示手段による指示の際に、前記再生手段での再生が正常に行われていたか否かを判定する判定手段と、前記判定手段によって再生が正常に行われていなかったと判定された場合、前記動画データのうち前記指示手段による指示の際に再生していた再生位置より後のフレームを、レジューム再生位置として記録するよう制御する記録制御手段としてコンピュータを機能させる。
本発明の別の記憶媒体は、動画データを再生する再生手段と、レジューム再生位置の記録を指示する指示手段と、前記指示手段による指示の際に、前記再生手段での再生が正常に行われていたか否かを判定する判定手段と、前記判定手段によって再生が正常に行われていなかったと判定された場合、前記動画データのうち前記指示手段による指示の際に再生していた再生位置より後のフレームを、レジューム再生位置として記録するよう制御する記録制御手段としてコンピュータを機能させるためのプログラムを記憶したことを特徴とする。
【発明の効果】
【0007】
本発明によれば、レジューム再生する場合において、前回再生時に停止されたフレームがエラーであった場合に、レジューム再生位置として記録しておくフレームを後ろにずらすことができる。これにより、次に再生を開始したときにフリーズ画面や黒画面になることがなく、ユーザの混乱を招くことのないレジューム再生が可能となる。
【発明を実施するための最良の形態】
【0008】
以下、添付図面を参照して、本発明の好適な実施形態について説明する。本実施形態では、本発明を適用する画像再生装置としてデジタルカメラを例にするが、本発明は、撮像機能を備えないPC(パーソナルコンピュータ)等の動画再生装置にも適用可能である。また、本実施形態のデジタルカメラには、デジタル記録媒体(例えば、EEPROMやハードディスク等のメモリ媒体)にデジタル画像データを記録するデジタルカメラが含まれる。デジタルカメラには、例えばデジタルムービーカメラ、デジタルスチルカメラ、又は、それらの複合機等が含まれる。
【0009】
<デジタルカメラ100の構成>
図1は、本実施形態に係るデジタルカメラ100の構成を示す機能ブロック図である。デジタルカメラ100は、光学系10(撮像用レンズ)を介して被写体像を撮像するように構成されている。光学系10は、ズームレンズ(撮像画角を変更可能なレンズ)を用いて構成されうる。これにより光学的なズーム機能(いわゆる光学ズーム)がデジタルカメラ100に提供される。
【0010】
デジタルカメラ100はまた、撮像素子14を用いて、撮像された画像を電子的に切り取る(トリミング)ことによる電子的なズーム機能(いわゆる電子ズーム)を有するように構成されうる。
【0011】
なお、デジタルカメラ100は、光学ズーム及び電子ズームのいずれか一方の機能のみを有するように構成される場合もある。また、光学系10は交換可能であってもよく、この場合は、デジタルカメラ100のズーム制御部44からデジタルカメラ100に対して電気信号を送ることにより、光学系10内の駆動機構が変倍用のレンズを駆動してズーム機能を実現してもよい。又は、デジタルカメラ100に光学系10内の変倍用のレンズを機械的に駆動する駆動機構を設けてもよい。
【0012】
光学系10を通る被写体からの光線(光学的な画角内から入射する光線)は、絞り機能を備えるシャッター12の開口を通して撮像素子14の撮像面に被写体の光学像を形成する。撮像素子14には、例えばCCDセンサやCMOSセンサ等を用いることができる。撮像素子14は、この光学像を電気的なアナログ画像信号に変換して出力する。
【0013】
A/D変換器16は、撮像素子14から提供されるアナログ画像信号をデジタル画像信号に変換する。撮像素子14及びA/D変換器16は、タイミング発生回路18から提供されるクロック信号や制御信号によって制御される。タイミング発生回路18は、メモリ制御部22及びシステム制御部50により制御される。
【0014】
画像処理部20は、A/D変換器16から提供される画像データ(デジタル画像信号)又はメモリ制御部22から提供される画像データに対して画素補間処理や色変換処理等の画像処理を行う。また、画像処理部20は、撮像素子14で撮像された画像データに基づいて、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光による自動調光)処理のためのデータを演算する。画像処理部20は、演算により得られたデータをシステム制御部50に提供する。システム制御部50は、このデータに基づいて露光制御部40、測距制御部42(AF制御部)を制御し、自動露出やオートフォーカス機能を実現する。さらに、画像処理部20は、撮像素子14で撮像された画像データに基づいてTTL方式のAWB(オートホワイトバランス)処理も実行する。
【0015】
メモリ制御部22は、A/D変換器16、タイミング発生回路18、画像処理部20、画像表示メモリ24、D/A変換器26、メモリ30、圧縮・伸長部32を制御する。A/D変換器16から出力される画像データは、画像処理部20及びメモリ制御部22を介して、又は、画像処理部20を介することなく直接メモリ制御部22を介して、画像表示メモリ24又はメモリ30に書き込まれる。
【0016】
画像表示メモリ24に書き込まれた表示用の画像データは、D/A変換器26によって表示用のアナログ画像信号に変換されて画像表示部28に提供され、これにより画像表示部28に撮像画像が表示される。また、画像表示部28に撮像画像を連続的に表示することにより、電子ビューファインダ(EVF)機能が実現される。
【0017】
メモリ30は、撮像(記録媒体に記録する画像として撮像)した静止画像や動画像を格納するために使用される。メモリ30の容量やアクセス速度(書き込み速度、読み出し速度)は任意に設計されうるが、複数枚の静止画像を連続して撮像する連写撮像やパノラマ撮像を可能にするためには、それに応じた容量やアクセス速度を与える必要がある。メモリ30は、システム制御部50の作業領域としても使用されうる。
【0018】
圧縮・伸長部32は、例えば適応離散コサイン変換(ADCT)等により画像データを圧縮・伸長する回路である。圧縮・伸長部32は、メモリ30に格納された画像データを読み込んで圧縮処理又は伸長処理を行い、処理を終えた画像データをメモリ30に書き込むように構成される。また、トリミングで指定された範囲の画像を記録するのも圧縮・伸長部32である。
【0019】
露光制御部40は、システム制御部50から提供される情報に基づいて、絞り機能を備えるシャッター12を制御する。露光制御部40はまた、フラッシュ48(発光装置)と連携したフラッシュ調光機能も有しうる。フラッシュ48は、フラッシュ調光機能及びAF補助光の投光機能を有する。
【0020】
測距制御部42は、システム制御部50から提供される情報に基づいて、光学系10のフォーカシング用レンズを制御する。ズーム制御部44は、光学系10のズーミングを制御する。バリア制御部46は、光学系10を保護するバリア102の動作を制御する。フラッシュ48は、屋内等の暗所での撮影時に光を投光したり、AF補助光を投光したりする。
【0021】
システム制御部50は、デジタルカメラ100全体を制御する。メモリ52は、システム制御部50の動作用の定数、変数、プログラム、さらには、画像表示部28にオブジェクトを表示するためのオブジェクトデータ等を記憶する。オブジェクトデータは、撮像によって生成される画像データとは異なり、画像データを一時的に保持するメモリ領域とは異なるメモリ領域に保持される。オブジェクトデータは、典型的には、デジタルカメラ100の出荷前にメモリ52に書き込まれる。オブジェクトデータはまた、デジタルカメラ100の出荷後に、電気通信回線を通じてダウンロードされるデータ又は記録媒体に収めてユーザに提供されるデータに基づいてユーザによって書き換えられてもよい。さらに、オブジェクトデータは、サービスセンター等において書き換えられてもよい。
【0022】
表示部54は、例えばLCDやLEDによって構成される。表示部54は、一又は複数の素子で構成され、システム制御部50におけるプログラムの実行に応じて、文字、画像等により動作状態やメッセージ等を出力するように構成され、デジタルカメラ100の適所に配置される。表示部54を構成する一部の表示素子は、光学ファインダ104内に配置されうる。
【0023】
表示部54に表示される情報のうち、LCD等に表示される情報としては、例えば、シングルショット/連写撮像表示、セルフタイマー表示、圧縮率表示、記録画素数表示、記録枚数表示、残撮像可能枚数表示、シャッタースピード表示等がある。この他にも、絞り値表示、露出補正表示、フラッシュ表示、赤目緩和表示、マクロ撮像表示、ブザー設定表示、時計用電池残量表示、電池残量表示、エラー表示、複数桁の数字による情報表示等がある。さらには、記録媒体200及び210の着脱状態表示、日付・時刻表示等がある。
【0024】
また、表示部54に表示される情報のうち、光学ファインダ104内に表示される情報としては、例えば、合焦表示、手振れ警告表示、フラッシュ充電表示、シャッタースピード表示、絞り値表示、露出補正表示等がある。
【0025】
不揮発性メモリ56は、例えばEEPROM等の、電気的に消去・記録が可能なメモリである。前述のオブジェクトデータは、不揮発性メモリ56に格納されてもよい。
【0026】
モードダイヤル60は、デジタルカメラ100の状態を「撮像モード」「再生モード」「PC接続モード」等に設定(切り替え)するためのダイアルである。
【0027】
第1シャッタースイッチSW1(62)は、不図示のシャッターボタンの操作途中(半押し)でONとなり、AF処理、AE処理、AWB処理、EF処理等の開始をシステム制御部50に指示する。第2シャッタースイッチSW2(64)は、不図示のシャッターボタンの操作完了(全押し)でONとなる。SW2(64)は、撮像素子14から画像信号を読み出してA/D変換器16でデジタル画像データに変換した後にこれを画像処理部20で処理し、メモリ制御部22を介してメモリ30に書き込む処理の開始をシステム制御部50に指示する。SW2(64)はまた、メモリ30から画像データを読み出して圧縮・伸長部32で圧縮し、その圧縮された画像データを記録媒体200又は210に書き込む処理を含む一連の処理(撮像処理)の開始をシステム制御部50に指示する。
【0028】
画像表示ON/OFFスイッチ66は、画像表示部28の表示を任意にON/OFFするためのスイッチである。画像表示部28の表示をOFFにして使用することにより、デジタルカメラ100の電力消費を低減することができる。
【0029】
角度検出センサ68は、デジタルカメラ100の傾き角度を検出する。角度検出センサ68は、端的には、デジタルカメラ100が水平状態にあるか、左右いずれかに90度回転された状態にあるかを検出する。
【0030】
操作部70は、各種ボタンやタッチパネル等から構成され、例えば、メニューボタン、セットボタン、マクロボタン、マルチ画面再生改ページボタン、フラッシュ設定ボタン、単写/連写/セルフタイマー切り替えボタン等を含む。操作部70はまた、メニュー移動+(プラス)ボタン、メニュー移動−(マイナス)ボタン、再生画像移動+(プラス)ボタン、再生画像−(マイナス)ボタン、撮影画質選択ボタン、露出補正ボタン、日付/時間設定ボタン等も含む。操作部70は更に、動画再生開始ボタン、動画再生停止ボタンを含む。
【0031】
電源制御部80は、例えば、電源検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路等を含む。電源制御部80は、電源の有無、電源の種類、電池残量の検出を行い、その検出結果とシステム制御部50からの指令に従ってDC−DCコンバータを制御し、必要な電圧を必要な期間に各ブロックに供給する。デジタルカメラ100の本体、電源86は、それぞれコネクタ82、84を有し、これによって接続される。電源86は、例えば、アルカリ電池やリチウム電池等の一次電池や、NiCd電池やNiMH電池、Li電池等の二次電池、ACアダプタ等である。
【0032】
記録媒体200、210は、コネクタ206、216によってデジタルカメラ100の本体のコネクタ92、96に接続される。記録媒体210、210は、例えば半導体メモリ又はハードディスク等の記録部202、212と、インタフェース204、214とを含み、デジタルカメラ100のインタフェース90、94を介してデジタルカメラ100内のバスに接続される。記録媒体着脱検知部98は、コネクタ92、96に記録媒体200、210が接続されているか否かを検知する。
【0033】
なお、この例では、記録媒体を取り付けるインタフェース及びコネクタを2系統有するものとして説明したが、これらは1系統でもよいし、3系統以上でもよい。複数系統のインタフェース及びコネクタを備える場合は、それらは互いに異なる仕様を有していてもよい。インタフェース及びコネクタとしては、例えば、PCMCIAカードやCF(コンパクトフラッシュ(登録商標))カード等の規格に準拠したものを用いることができる。
インタフェース90及び94、並びにコネクタ92及び96としてPCMCIAカードやCFカード等の規格に準拠したものを採用する場合、次に列挙するカード等を用いて外部機器との間で画像データや画像データに付属した管理情報を相互に転送できる。そのカードとは、LANカードやモデムカード、USBカード、IEEE1394カード、P1284カード、SCSIカード、PHS等の通信カード、等の各種通信カードである。また、外部機器には、コンピュータやプリンタ等の周辺機器を使用できる。
【0034】
光学ファインダ104は、画像表示部28によるEVF機能を使用することなしに撮像を行うことを可能にする。光学ファインダ104内には、表示部54の一部を構成する表示素子、例えば、合焦表示、手振れ警告表示、フラッシュ充電表示、シャッタースピード表示、絞り値表示、露出補正表示等を行うための表示素子が配置されうる。
【0035】
110は音声の録音や再生の処理を行うための音声処理部であり、111は録音する時に音声入力するためのマイク、112は音声を再生するためのスピーカーである。音声処理部110は、音声のA/D変換とD/A変換も行って音声情報の録音と再生を行う。
【0036】
<動画ファイルの構成例>
次に、図2を参照して、MPEG動画ファイル(以下、単に「動画ファイル」と称する)の構成例を説明する。動画ファイルは2つのファイル、すなわちサムネイルファイルと動画情報本体を含む動画データファイルとから構成される。
【0037】
図2(a)に示すように。サムネイルファイルには、サムネイル画像のデータサイズ等を記憶するヘッダ部分と、次に動画を再生させる際に何フレーム目から再生させるかの情報を格納したレジュームフレーム情報と、サムネイル画像データとが格納されている。
【0038】
図2(b)に示すように、動画データファイルには、まず動画データ本体のファイルサイズや動画の水平垂直画素数情報を格納したヘッダ部分がある。その後に動画情報本体が格納されており、音声データ1秒分と画像データ1秒分が交互に格納されている。本実施形態では、動画1秒を30フレームあるものとしている。また、画像データ部分に関してはIフレーム(IDRピクチャ)とPフレームから構成されている。Iフレームはフレーム単体で画像情報として成立している画像情報を圧縮された状態で保有するフレームである。Pフレームは前フレームとの差分情報のみを情報として格納するフレームである。本実施形態では、5フレームでGOP(Group Of Picture)を構成している。例えば、8フレーム目の画像情報を得るためには、直前のIフレームである6フレーム目の画像情報を生成する。次に6フレーム目の画像情報と7フレーム目のIフレームの情報を参照して7フレーム目の画像情報を生成する。そして、7フレーム目の画像情報と8フレーム目のIフレームの情報を参照して8フレーム目の画像情報を生成する。
【0039】
<デジタルカメラ100の動作>
図3を参照して、本実施形態に係るデジタルカメラ100の動画再生処理について説明する。操作部70の動画再生開始ボタンの押下等によって動画の再生開始指示があると、まずステップS301にて動画再生開始処理を行う。このステップS301の処理が本発明でいう再生手段による処理例である。ステップS301の動画再生開始処理については図4を用いて後述する。
【0040】
動画再生を開始したら、動画再生の停止指示があるか、最終フレームの再生が終了して自動的に再生が停止するまで再生を続ける。
【0041】
ステップS302で、システム制御部50は、最終フレームの再生が終了したか否かを判定する。最終フレームとは、動画データファイルに記録されたフレームのうち、最後のフレームのことであり、図2(b)の動画データファイルの例ではフレームNoが最大のフレームである。最終フレームの再生が終了したと判定すると、ステップS303に進み、動画再生を停止する。続いてステップS304に進み、サムネイルファイル(図2を参照)に記録されたレジュームフレーム情報をクリアして、動画再生処理を終了する。或いは、レジューム再生位置としてフレームNo1を記録して動画再生処理を終了する。これによって次回のレジューム再生は動画の先頭から行われることとなる。なお、最終フレームの再生を終了しても動画の再生を停止せず、ループ再生する場合は、ステップS302〜S304の処理は行わない。一方、ステップS302で最終フレームの再生が終了していないと判定するとステップS305に進む。
【0042】
ステップS305では、システム制御部50は、動画再生の停止指示があるか否かを判定する。動画再生の停止指示には、操作部70の動画再生停止ボタンの押下、モードダイヤル60や操作部70へのモード遷移を指示する操作、電源ボタン(不図示)の押下による電源OFFの指示操作等による停止指示が含まれる。また、動画再生のエラー等による自動的な停止指示も含まれる。動画再生時に、エラー等によって現在再生しているフレームの次のフレームを再生することができなくなっても、処理的には次のフレームを読み出して再生しようと試み、失敗するという処理を繰り返すことになる。しかし、次のフレームの再生が所定時間、或いは所定回数成功しなかったことを検知して、これ以上次のフレームを再生しようとする処理を行わないように制御することが可能である。この制御を行う指示が動画再生のエラー等による自動的な停止指示である。
【0043】
動画再生の停止指示があると判定すると、ステップS306に進み、動画再生を停止する。続いてステップS307に進む。一方、ステップS305で動画再生の停止指示がないと判定すると、ステップS302に進み、処理を繰り返す。このステップS305の処理が本発明でいう停止指示受付手段による処理例である。
【0044】
ステップS307で、システム制御部50は、動画再生を停止する際(停止直前)に動画データの再生が正常に行われていたか否かを判定する。これは、例えば、ステップS305で停止指示を受け付けた際に動画データの再生がエラーしていたか等の判定である。エラーと判定する例としては、デコードされたデータサイズが想定通りになっていない、データの内容を示すマーカーが規定どおり付いていない、デコードタイムアウト、動画再生のフリーズ等がある。このステップS307の処理が本発明でいう判定手段による処理例である。
【0045】
ステップS307において動画再生が正常に行われていると判定された場合、ステップS308に進む。ステップS308で、システム制御部50は、レジューム再生位置として再生を停止したときのフレームの情報をサムネイルファイルに記録し(図2を参照)、処理を終了する。
【0046】
一方、ステップS307において動画再生が正常に行われていない、すなわちエラーが発生したと判定された場合、ステップS309に進む。ステップS309で、システム制御部50は、レジューム再生位置として記録すべきフレームを捜し出して取得する(以下、シーク)。このステップS309の処理が本発明でいう記録制御手段による処理例である。ステップS309のレジューム再生位置のシーク処理については図5を用いて後述する。ステップS309においてレジューム再生位置として記録すべきフレームをシークした後、ステップS310で、シークされたフレームをレジューム再生位置としてサムネイルファイルに記録し(図2を参照)、処理を終了する。
【0047】
なお、上述のステップS305の判定では、モードダイヤル60や操作部70へのモード遷移を指示する操作、電源ボタン(不図示)の押下による電源OFFの指示操作等も動画再生の停止指示と判定した。しかし、操作部70の動画再生停止ボタンの押下以外は、ユーザからの明確な停止指示ではないと考えて、それ以外の操作によって動画の再生が停止される指示は、ステップS307〜S310の処理を行わずに動画再生処理を終了するとしてもよい。例えば、モードダイヤル60や操作部70へのモード遷移を指示する操作、電源ボタン押下による電源OFF操作等による指示や、エラー等による自動的な停止指示を受け付けた場合は、ステップS307〜S310の処理を行わずに動画再生処理を終了する。すなわち、レジュームフレーム情報を更新もクリアもせずに動画再生処理を終了する。したがって、次回のレジューム再生では、操作部70の動画再生停止ボタン押下以外の操作で再生が停止された位置は反映されず、最後に操作部70の動画再生停止ボタンの押下によって停止されたフレームに基づいた位置から再生が開始される。このようにすることで、ユーザが意図しない停止位置からレジューム再生が行われてしまうことを防ぐことができる。
【0048】
本実施形態では、ステップS305で動画再生の停止指示が行われることで、動画の再生停止を行い、レジュームフレーム情報を更新する例を述べた。言い換えれば、ステップS305の指示はレジュームフレーム情報の更新指示(レジューム再生位置の記録指示)とも言える。このレジュームフレーム情報の更新指示に応じて、ステップS306で再生を停止する制御を行うことなく、レジューム再生位置をレジュームフレーム情報に記録する構成としてもよい。例えば、レジュームフレーム情報の更新指示(ステップS305)があった際に、再生が正常に行われていたか否かを判定する(ステップS307)。そして、正常に行われていれば、そのフレームをレジューム再生位置としてレジュームフレーム情報に記録する(ステップS308)。また、正常に行われていなければ、そのフレームより後のフレームをレジューム再生位置としてレジュームフレーム情報に記録する(ステップS310)。
【0049】
図4を参照して、ステップS301の動画再生開始処理について説明する。まず、ステップS401で、システム制御部50は、図2で示したようにサムネイルファイルに格納されている動画のレジュームフレーム情報からレジューム再生位置のフレームをシークする。
【0050】
次にステップS402で、システム制御部50は、レジューム再生位置がIフレームであるか否かを判定する。ステップS402においてレジューム再生位置がIフレームでない場合、ステップS403に進む。ステップS403では直前のIフレームをシークし、ステップS404で直前のIフレームをデコードする。その後、ステップS405で、次のPフレームをデコードする。
【0051】
次にステップS406で、システム制御部50は、デコードしたフレームがレジューム再生位置であるか否かを判定する。ステップS406においてデコードしたフレームがレジューム再生位置である場合、ステップS409に進む。それに対して、ステップS406においてデコードしたフレームがレジューム再生位置でない場合、ステップS405に戻り、Pフレームをデコードしてレジューム再生位置のフレームになるまで、Pフレームのデコードを繰り返す。
【0052】
ステップS409で、システム制御部50は、所定の記録単位(本実施形態では1秒)で格納されている音声データ内をシークして、レジューム再生位置と一致する位置の音声の頭出しを行って、ステップS410に進む。
【0053】
一方、ステップS402においてレジューム再生位置がIフレームである場合、ステップS407に進む。ステップS407で、システム制御部50は、レジューム再生位置のIフレームをデコードする。
【0054】
次にステップS408で、システム制御部50は、レジューム再生位置が音声の記録単位(1秒)の先頭か否かを判定する。これは、音声のデータが所定の記録単位(1秒)でファイルに格納されているために、レジューム再生位置が音声の記録単位(1秒)の先頭でない場合は再生させようとする動画像のレジューム再生位置と音声の再生開始位置を合わせなければならないからである。すなわち、所定の記録単位で格納されている音声データ内をシークしてレジューム再生位置と一致する音声の頭出しをする必要があるためである。
【0055】
ステップS408においてレジューム再生位置が音声の記録単位(1秒)の先頭でない場合、ステップS409に進む。ステップS409で、システム制御部50は、所定の記録単位(1秒)で格納されている音声データ内をシークして、レジューム再生位置と一致する位置の音声の頭出しを行って、ステップS410に進む。それに対して、ステップS408においてレジューム再生位置が音声の記録単位(1秒)の先頭であった場合、再生させる音声の開始位置は音声データの区切れ目にあるため、音声の頭出しは行わずに、そのままステップS410に進む。音声の頭出しを行わなかった分だけ処理速度と演算負荷を減少させることができる。
【0056】
ステップS410で、システム制御部50は、レジューム再生位置と一致する場所から音声の再生を開始する。そして、ステップS411で、デコードした画像を表示させ、動画の再生を開始する。
【0057】
図5を参照して、ステップS309のレジューム再生位置のシーク処理について説明する。ステップS501で、システム制御部50は、シーク位置をエラーフレームの次のフレームに移動させて、ステップS502に進む。
【0058】
ステップS502で、システム制御部50は、現在のシーク位置がIフレームであるか否かを判定する。ステップS502において現在のシーク位置がIフレームでない場合、ステップS503に進む。ステップS503では、シーク位置を直後のIフレームに移動させた後、ステップS504に進む。なお、ステップS502において現在のシーク位置がIフレームである場合、そのままステップS504に進む。
【0059】
ステップS504で、システム制御部50は、現在のシーク位置が音声データの単位である1秒単位の先頭フレームであるか否かを判定する。ステップS504において現在のシーク位置が1秒単位の先頭フレームでない場合、ステップS505に進む。ステップS505では、現在のシーク位置を直後の1秒単位の先頭フレームに移動する。通常、1秒単位(音声データの単位)の先頭フレームはIフレームであるため、ここでは移動先の1秒単位の先頭フレームがIフレームであるか否かの判定は行わずにステップS506に進む。しかし、1秒単位の先頭フレームがIフレームでない可能性がある場合は、ここでIフレームであるか否かを判定して、Iフレームでなかった場合は次の1秒の先頭フレームへ移動して再度Iフレームか否かを判定することによって、1秒の先頭フレームかつIフレームを探す処理を行ってもよい。一方、ステップS504において現在のシーク位置が1秒単位の先頭フレームである場合、そのままステップS506に進む。
【0060】
ステップS506で、システム制御部50は、その時点でのシーク位置のフレームをレジューム再生位置のフレームとして記録し、処理を終了する。
【0061】
このように、動画再生の停止時に再生が正常に行われていなかった場合、レジューム再生位置として記録しておくフレームを後ろにずらす。これによって、再生時に停止されたフレームがエラーであっても、次回のレジューム再生がはじめからフリーズ画面や黒画面になることを防止することができる。
【0062】
レジューム再生位置を決定する際に、音声の単位の先頭と同じフレームをレジュームフレームとしていたが、これは音声データが圧縮されていた場合等は、レジューム再生するときに音声開始位置をシークする時間が短くなるためである。例えば、音声データが圧縮されていない等、レジューム再生時の音声の頭出しに時間がかからない場合は、レジュームフレームと音声データの先頭を合わせる必要は無い。この場合は、エラーが発生した直後のIフレームをレジュームフレームとする。また、音声の格納単位やGOPの単位は上述した単位以外の単位で格納されていてもかまわないものとする。
【0063】
なお、エラーが発生した場合はレジュームフレームを記録するタイミングでファイルを自動的に編集し、エラーが発生する可能性を低減した動画データファイルを生成することもできる。
【0064】
例えば、動画データファイルのうち、動画データが正常に再生しなくなった位置からレジューム再生位置までのフレームを、他の再生可能なフレームに置き換えた動画データファイルを自動的に生成することができる。動画データファイルのうち、動画データが正常に再生しなくなった位置からレジューム再生位置までのフレームを、他の再生可能なフレームに置き換えた動画データファイルからなる動画ファイルの例を図6に示す。動画データファイルの編集例としては図6(b)に示すように、エラーが発生した場所(エラーフレーム)からレジューム再生位置のフレームとして記録する前のフレームまでのフレームをスキップトマクロブロック画像(SMB画像)に置き換える方法等がある。もちろん、SMB画像にかえて、前面単色等の単純な画像や、エラー発生直前の画像と同一画像で置き換えても良い。
【0065】
また、エラーが発生した場所からレジューム再生位置のフレームとして記録する前のフレームまでを削除して、削除したフレームの前後をつなげるような編集を行ってもよい。例えば、図6の例ではフレームNo33〜60を切り取り、フレームNo32の直後のフレームがフレームNo61となるような動画データファイルを生成する。レジューム再生位置はフレームNo61としてサムネイルファイルのレジュームフレーム情報に記録する。このような動画データファイルを生成すれば、次回以降に最初から動画を再生したときに、同じ位置でエラーが発生してしまう可能性を低減することができる。なお、編集のタイミングはレジュームフレームを記録するタイミング以外でもかまわない。
【0066】
なお、上述した実施形態の処理は、各機能を具現化したソフトウェアのプログラムコードを記録した記憶媒体をシステム或いは装置に提供してもよい。そして、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによって、上述した実施形態の機能を実現することができる。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク等を用いることができる。或いは、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることもできる。
【0067】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけではない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部又は全部を行い、その処理によって前述した各実施例の機能が実現される場合も含まれている。
【0068】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれてもよい。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含むものである。
【図面の簡単な説明】
【0069】
【図1】実施形態に係るデジタルカメラの構成を示す機能ブロック図である。
【図2】動画ファイルの構成例を示す図である。
【図3】動画再生処理の流れを示すフローチャートである。
【図4】動画再生開始処理の流れを示すフローチャートである。
【図5】レジュームフレームのシーク処理の流れを示すフローチャートである。
【図6】編集後の動画ファイル構成例を示す図である。
【符号の説明】
【0070】
14:撮像素子
18:タイミング発生回路
22:メモリ制御部
24:画像表示メモリ
28:画像表示部
30:メモリ
50:システム制御部
70:操作部

【特許請求の範囲】
【請求項1】
動画データを再生する再生手段と、
前記再生手段での再生の停止指示を受け付ける停止指示受付手段と、
前記停止指示受付手段によって停止指示を受け付けた際に、前記再生手段での再生が正常に行われていたか否かを判定する判定手段と、
前記判定手段によって再生が正常に行われていなかったと判定された場合、前記動画データのうち前記停止指示を受け付けて停止した再生位置より後のフレームを、レジューム再生位置として記録するよう制御する記録制御手段とを有することを特徴とする画像再生装置。
【請求項2】
動画データを再生する再生手段と、
レジューム再生位置の記録を指示する指示手段と、
前記指示手段による指示の際に、前記再生手段での再生が正常に行われていたか否かを判定する判定手段と、
前記判定手段によって再生が正常に行われていなかったと判定された場合、前記動画データのうち前記指示手段による指示の際に再生していた再生位置より後のフレームを、レジューム再生位置として記録するよう制御する記録制御手段とを有することを特徴とする画像再生装置。
【請求項3】
前記記録制御手段は、前記判定手段によって再生が正常に行われていると判定された場合、前記動画データのうち、前記停止した再生位置のフレームを前記レジューム再生位置として記録するよう制御することを特徴とする請求項1又は2に記載の画像再生装置。
【請求項4】
前記判定手段によって再生が正常に行われていないと判定された場合、前記記録制御手段は、前記動画データのうち前記停止した再生位置より後のIフレームを、前記レジューム再生位置として記録するよう制御することを特徴とする請求項1乃至3のいずれか1項に記載の画像再生装置。
【請求項5】
前記判定手段によって再生が正常に行われていないと判定された場合、前記記録制御手段は、前記動画データのうち前記停止した再生位置より後のIフレームうち、音声データの記録単位での先頭フレームを前記レジューム再生位置として記録するよう制御することを特徴とする請求項4に記載の画像再生装置。
【請求項6】
前記判定手段によって再生が正常に行われていないと判定された場合、前記動画データのうち、該動画データが正常に再生しなくなった位置から、前記レジューム再生位置までを編集する編集手段をさらに有することを特徴とする請求項1乃至5のいずれか1項に記載の画像再生装置。
【請求項7】
前記編集手段は、前記動画データのうち、該動画データが正常に再生しなくなった位置から、前記レジューム再生位置までのフレームを他の再生可能なフレームに置き換えることを特徴とする請求項6に記載の画像再生装置。
【請求項8】
前記編集手段は、前記動画データのうち、該動画データが正常に再生しなくなった位置から、前記レジューム再生位置までのフレームを削除することを特徴とする請求項6に記載の画像再生装置。
【請求項9】
動画データを再生する再生ステップと、
前記再生ステップでの再生の停止指示を受け付ける停止指示受付ステップと、
前記停止指示受付ステップによって停止指示を受け付けた際に、前記再生ステップでの再生が正常に行われていたか否かを判定する判定ステップと、
前記判定ステップによって再生が正常に行われていなかったと判定された場合、前記動画データのうち前記停止指示を受け付けて停止した再生位置より後のフレームを、レジューム再生位置として記録するよう制御する記録制御ステップとを有することを特徴とする画像再生方法。
【請求項10】
動画データを再生する再生手段と、
前記再生手段での再生の停止指示を受け付ける停止指示受付手段と、
前記停止指示受付手段によって停止指示を受け付けた際に、前記再生手段での再生が正常に行われていたか否かを判定する判定手段と、
前記判定手段によって再生が正常に行われていなかったと判定された場合、前記動画データのうち前記停止指示を受け付けて停止した再生位置より後のフレームを、レジューム再生位置として記録するよう制御する記録制御手段としてコンピュータを機能させるためのプログラム。
【請求項11】
動画データを再生する再生手段と、
前記再生手段での再生の停止指示を受け付ける停止指示受付手段と、
前記停止指示受付手段によって停止指示を受け付けた際に、前記再生手段での再生が正常に行われていたか否かを判定する判定手段と、
前記判定手段によって再生が正常に行われていなかったと判定された場合、前記動画データのうち前記停止指示を受け付けて停止した再生位置より後のフレームを、レジューム再生位置として記録するよう制御する記録制御手段としてコンピュータを機能させるためのプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項12】
動画データを再生する再生ステップと、
レジューム再生位置の記録を指示する指示ステップと、
前記指示ステップによる指示の際に、前記再生ステップでの再生が正常に行われていたか否かを判定する判定ステップと、
前記判定ステップによって再生が正常に行われていなかったと判定された場合、前記動画データのうち前記指示ステップによる指示の際に再生していた再生位置より後のフレームを、レジューム再生位置として記録するよう制御する記録制御ステップとを有することを特徴とする画像再生方法。
【請求項13】
動画データを再生する再生手段と、
レジューム再生位置の記録を指示する指示手段と、
前記指示手段による指示の際に、前記再生手段での再生が正常に行われていたか否かを判定する判定手段と、
前記判定手段によって再生が正常に行われていなかったと判定された場合、前記動画データのうち前記指示手段による指示の際に再生していた再生位置より後のフレームを、レジューム再生位置として記録するよう制御する記録制御手段としてコンピュータを機能させるためのプログラム。
【請求項14】
動画データを再生する再生手段と、
レジューム再生位置の記録を指示する指示手段と、
前記指示手段による指示の際に、前記再生手段での再生が正常に行われていたか否かを判定する判定手段と、
前記判定手段によって再生が正常に行われていなかったと判定された場合、前記動画データのうち前記指示手段による指示の際に再生していた再生位置より後のフレームを、レジューム再生位置として記録するよう制御する記録制御手段としてコンピュータを機能させるためのプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−74296(P2010−74296A)
【公開日】平成22年4月2日(2010.4.2)
【国際特許分類】
【出願番号】特願2008−237000(P2008−237000)
【出願日】平成20年9月16日(2008.9.16)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】