説明

画像処理装置、画像処理方法、およびプログラム

【課題】 動画に含まれる適切なフレームを、当該動画における適切な間隔で抽出することができる画像処理装置、画像処理方法、およびプログラムを提供する。
【解決手段】 ユーザによる指示に応じたフレーム間隔に基づき、動画像における当該フレーム間隔に対応する間隔で、複数のフレーム群を特定する。そして、その複数のフレーム群のそれぞれに含まれる複数のフレームの解析結果に基づき、当該複数のフレーム群のそれぞれから出力対象のフレームを抽出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のフレームから構成される動画像から抽出された出力対象のフレームを出力する画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【0002】
従来、動画再生機能を有する装置において、動画像を構成する静止画像を、動画像から抽出する機能を有するものがある。この種の機能においては、動画像に含まれる複数のフレームから抽出対象のフレームをユーザが指定すると、その指定されたフレームの画像を液晶モニター等の表示装置に出力して、その画像を表示させることができる。他にも、動画像から抽出されたフレームを印刷装置に出力することで、そのフレームに対応する画像を印刷用紙に印刷させることができる。
【0003】
ところで、動画像に含まれる静止画像のうち、撮影者の手や被写体が動いたときに撮影された静止画像は、ブレが発生している場合があり、出力対象として好ましくない場合がある。そこで特許文献1では、動画データを解析して、動画に含まれる各フレームのブレ量を取得し、取得されたブレ量に基づいて基準フレームを決定し、その基準フレームの所定範囲内にある周辺フレームを出力することが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4301236号
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記の従来技術では、ブレの少ないフレームを出力対象としている。そのため、複数のフレームを出力対象として抽出した場合、ブレの少ないフレームの間隔は動画像の内容に依存するので、出力対象の複数のフレームの間隔が動画像によって異なることがある。
【0006】
よって、上記の従来技術により抽出された複数フレームの内容をユーザが確認したとしても、ユーザは、複数のフレームがどのような時間間隔に対応するものか把握することが困難な場合がある。この場合ユーザは、複数のフレームに含まれる被写体やシーンが、動画像においてどのように変化したものか把握することができないことがある。
【0007】
そこで本発明は上述した問題に鑑みて、出力対象として適切な複数のフレームを、動画像におけるユーザの指示に応じた間隔で抽出することができる画像処理装置、画像処理方法、およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【0008】
本発明の画像処理装置は、複数のフレームから構成される動画像から抽出された出力対象のフレームを出力する画像処理装置であって、ユーザによる指示に応じたフレーム間隔に基づき、前記動画像における当該フレーム間隔に対応する間隔で、複数のフレーム群を特定する特定手段と、前記特定手段により特定された複数のフレーム群のそれぞれに含まれる複数のフレームを解析し、当該解析の結果に基づき、当該複数のフレーム群のそれぞれから出力対象のフレームを抽出する抽出手段と、を有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、出力対象として適切な複数のフレームを、動画像におけるユーザの指示に応じた間隔で抽出することができる。
【図面の簡単な説明】
【0010】
【図1】画像処理装置のブロック図である。
【図2】動画を構成するフレームを示した図である。
【図3】動画における主フレームを示す図である。
【図4】実施例1におけるフレーム抽出処理を示すフローチャートである。
【図5】フレームにおける解析領域を示す図である。
【図6】実施例2におけるフレーム抽出処理を示すフローチャートである。
【図7】実施例2における主フレーム決定処理を説明するための図である。
【発明を実施するための形態】
【0011】
(実施例1)
以下、本発明の実施の形態について詳細に説明する。図1は、本実施例における画像処理装置のブロック図である。
【0012】
CPU101は、中央演算ユニット(Central Processing Unit)で、他の機能ブロックや装置の制御を行う。ブリッジ部102は、CPU101と他の機能ブロックの間でデータのやり取りを制御する機能を提供している。
【0013】
ROM(Read Only Memory) 103は読み込み専用の不揮発メモリであり、BIOS(Basic Input/Output System)と呼ばれるプログラムが格納されている。BIOSは画像処理装置が起動したときに最初に実行されるプログラムであり、2次記憶装置105、表示装置107、入力装置109、出力装置110などの周辺機器の基本入出力機能を制御するものである。
【0014】
RAM(Random Access Memory)104は、高速の読み/書き可能な記憶領域を提供する。
【0015】
2次記憶装置105は、大容量の記憶領域を提供するHDD(Hard Disk Drive)である。BIOSが実行されると、HDDに格納されているOS(Operating System)が実行される。OSはすべてのアプリケーションで利用可能な基本的な機能や、アプリケーションの管理、基本GUI(Graphical User Interface)を提供する。アプリケーションは、OSが提供するGUIを組み合わせることで、アプリケーション独自の機能を実現するUIを提供できる。
【0016】
なお、上記のOSや、他のアプリケーションの実行プログラムや作業用に使用しているデータは、必要に応じてROM103または2次記憶装置105に格納される。また、本実施例の処理を実行する画像処理アプリケーションは、ROM103または2次記憶装置105に格納され、ユーザの操作で起動するアプリケーションとして提供される。以下で説明する処理は、CPU101が、ROM103や2次記憶装置105に記憶されている、OS、画像処理アプリケーション等のプログラムを、RAM104をワークメモリとして実行することで実現する。
【0017】
表示制御部106は、OSやアプリケーションに対して行われるユーザの操作の結果をGUIの画像データとして生成し、表示装置107で表示するための制御を行う。表示装置107には液晶ディスプレイや、CRT(Cathode Ray Tube)ディスプレイが使用できる。
【0018】
I/O制御部108は、複数の入力装置109、出力装置110とのインターフェースを提供するものである。代表的なインターフェースとして、USB(Universal Serial Bus)やPS/2(Personal System/2)がある。
【0019】
入力装置109は、キーボード、マウスといった操作デバイスであり、I/O制御部108は、入力装置109を介してユーザの指示を画像処理装置に入力する。
【0020】
I/O制御部108は、各種の出力装置110を接続して、接続されている出力装置110にデータを出力する。出力装置110は例えばプリンターであり、I/O制御部が印刷データを出力装置に出力することで、印刷データに対応する画像を印刷させることができる。
【0021】
なお、画像処理装置には、デジタルカメラ、USBメモリ、CF(Compact Flash)メモリ、SD(Secure Digital)メモリカードといった記憶装置などを接続することもできる。そして、I/O制御部は、そのデジタルカメラやメモリに画像データなどのデータを転送することや、逆にデジタルカメラやメモリからデータを取得することも可能である。
【0022】
後述するが、本実施例では、複数枚のフレームから構成される動画像から、フレームを抽出する。その動画像のデータは、上記の2次記憶装置105や、画像処理装置に接続されているUSBメモリやCFメモリ、SDメモリカード等から供給される。
【0023】
図2は、動画を構成するフレームを示した図である。一般的な動画データは、1秒間に30フレームないしは60フレームで構成されている(秒間フレーム数をfps:frame per secで表記する)。例えば、30fpsで3分間の動画データは、30×180=5400枚のフレームで構成される。
【0024】
本実施例においては、ユーザの指示に応じて決定されたフレーム間隔に従って、抽出対象のフレームがおおよそ上記のフレーム間隔になるように、ブレやボケの少ない好適なフレームを抽出する。
【0025】
ユーザは、動画データから静止画像を抽出する際に、入力装置109を用いて、開始位置201および終了位置202を指定することができる。動画において、開始位置201と終了位置202の間のフレームが、抽出対象のフレームの候補として決定される。この開始位置201や終了位置202の指定は、ユーザが表示装置107を見ながら、入力装置109を操作することによって行う。そのときに、例えば、動画像を再生して、表示装置107に表示させる。そして、ユーザが、表示装置107に表示されている動画像を確認しながら動画像におけるフレームを抽出する範囲を指定すると、上記の開始位置201と終了位置202が決定される。なお、ユーザによる開始位置、終了位置の指定がなければ、動画ファイルの先頭フレームを開始位置とし、最終フレームを終了位置として設定すればよい。
【0026】
また、ユーザは、入力装置109を用いて、ユーザが指示した、動画から切出す静止画像の枚数を入力する。すると、画像処理装置は、ユーザにより指示された枚数のフレームを特定する。例えば、ユーザが20枚を指定すると、開始位置201から終了位置202までの複数のフレーム203から所定の間隔で20枚のフレームを特定する。なお、このように特定されたフレームを主フレームと呼ぶ。そして、この主フレームと、その主フレームの周辺にある周辺フレームからなるフレーム群から、ブレ、ボケの少ないフレームを抽出する。主フレーム、周辺フレームについては、図3を用いて後述する。
【0027】
また、動画のフォーマットとしては、プログレッシブ方式とインタレース方式とがある。プログレッシブ方式は、フレームを切り出して表示するときに、静止画像を構成するすべての画素が同じタイミングで表示される。一方、インタレース方式は、1枚のフレームの奇数行のラインの画素と、偶数行のラインの画素とを、タイムラグをもたせて表示させる方式である。インタレース方式の動画から静止画像を切出す場合には、CPU101が、インタレース解除という画像処理を行うことによって、タイムラグのない静止画像を取得する。
【0028】
さらに、例えばMPEG(Moving Picture Experts Group)などの動画フォーマットでは、フレームに含まれるオブジェクトの、フレーム間の動きを検出する(動き検出)ことで、データ圧縮を行っている。複数フレームに対してブレ、ボケを判定するときは、フレームごとに順次、上記の圧縮に対する伸長処理を行い、伸長処理が完了したフレームに対して、ブレ、ボケの解析処理を行う。また、このような動画フォーマットでは、上述のように動き検出することで圧縮処理を行うが、所定枚数ごとに、動き検出を行わずに圧縮するフレームを設ける。即ち、当該フレームに、静止画像のための圧縮方式を採用して、データ圧縮する。通常、動き検出により圧縮を行ったフレームよりも、上記のように動き検出を行っていないフレームの方が、画質が良いことが多い。そこで、出力対象のフレームを抽出するときに、動き検出を行わずに圧縮したフレームを優先的に抽出するようにしてもよい。
【0029】
図3は、動画における主フレームを示す図であり、図2示す動画像のシーケンスにおいて特定された主フレーム301、302、およびその周辺にある複数のフレームを模式的に示した図である。
【0030】
この周辺フレームは、動画において主フレームから時間を遡る方向と、時間を進む方向のいずれか、もしくは両方向に、所定の枚数を設定する。そして、この主フレームと周辺フレームからなるフレーム群から、抽出対象のフレームを決定する。
【0031】
そして、上記のように主フレームを特定するときに、開始位置201と終了位置202のそれぞれに応じて、先頭の主フレームと、後端の主フレームを特定する。この先頭の主フレーム、後端の主フレームは、例えば開始位置201、終了位置202に位置するフレームとする。
【0032】
そして、主フレームの数はユーザにより指定されているため、ユーザによる開始位置201と、終了位置202の指定、また抽出対象のフレームの枚数の指定により、主フレーム同士の間隔が決定される。即ち、例えば抽出フレームの数を少なく、開始位置201、終了位置202を広く取れば、主フレーム間の間隔が広くなることになる。図3に示す例では、主フレーム間の間隔が30枚であったとする。
【0033】
ただし、抽出対象のフレームの合計枚数をユーザが指示する方法では、不慣れなユーザにとっては、主フレームの間隔を、所望のフレーム間隔(30枚)とすることが困難な場合がある。
【0034】
そこで、抽出対象のフレーム(もしくは主フレーム)のフレーム枚数ではなく、フレームの間隔をユーザが指示できるようにしてもよい。ユーザがフレーム間隔を指示するための方法として、主フレームの間のフレーム枚数をユーザに指示させて、指示されたフレーム枚数を入力可能にしてもよい。または、ユーザにより指示された動画像における時間間隔を入力して、その時間間隔に対応するフレーム枚数を、主フレーム間の枚数として決定してもよい。また、ユーザが時間間隔を指示する場合には、その時間間隔に従ってフレームを抽出したときの動画におけるフレーム間隔(枚数)や、動画から抽出される合計のフレーム枚数をユーザに通知してもよい。例えば、動画から抽出されるフレームの合計枚数を通知することにより、ユーザは、時間間隔を指示したときでも、出力対象とするフレームの枚数を確認することができる。さらに、ユーザが抽出対象のフレームの合計枚数や、フレーム間隔を指定したときに、その指定に従ってフレームを抽出したときのフレーム間の時間間隔をユーザに通知してもよい。このような通知は、例えば表示制御部106が、表示装置107にフレーム枚数や時間間隔を表示させることによって行う。
【0035】
なお、この周辺フレームは必ずしも主フレームと連続したフレームである必要はなく、所定の間隔で飛ばしながら複数の周辺フレームを設定してもよい。ただし、後述のフレーム内のブレ検出において、解析対象のフレームの数が増えるほど画像処理装置の処理負荷が増大するため、効率的な枚数に設定することが重要となる。すなわち、その解析対象の複数のフレーム中に少なくとも1枚は好ましいフレームが存在する可能性を高くすることができれば、処理負荷を抑えつつ効率的に好適なフレームを抽出できることになる。
【0036】
また、周辺フレームの枚数は、動画像の性質に応じて決定してもよい。例えば、ユーザがデジタルビデオカメラで撮影した動画像について説明する。撮影者がカメラを手で持ちながら撮影する場合、適切にカメラを固定できない場合がある。主たるゆれの要因として、撮影者が撮影中に動くことが想定され、その歩数の間隔に応じたゆらぎが発生する。発明者が被験者を用いて実験を行った結果、徒歩の平均ペースは0.5秒〜0.6秒/歩であり、徒歩による上下運動を震動としてとらえれば、上下のピークにおいて上下の速度がゼロとなる。つまり、およそ0.3秒間のフレームを見ることで、撮影時に発生するゆらぎの中で少なくとも1枚はカメラの動きが固定されるフレームとして含まれることが期待できる。よって、周辺フレームとして0.3秒間に対応する枚数のフレームをブレの検出対象とすれば、その複数のフレームの中から、ブレの少ないフレームを1枚は抽出できると見込める。
【0037】
上記のように決定した、主フレーム、また、その主フレームに対応する周辺フレームが、ブレ、ボケの少ないフレームとして抽出されるフレームの候補となる。そして、次に、上記の主フレームおよび周辺フレームの画像の画質評価を行い、抽出する静止画像として最もよいと思われるフレームを抽出する。ここで、画質評価方法としては特に画像に含まれるブレ量やボケ量を推定することによって、ブレやボケの少ないフレームを抽出する静止画像として決定すればよい。
【0038】
なお、画質評価方法としては、フレームごとに顔検出を行って主要被写体が特定できる場合には、その領域を中心にブレを解析して、その解析結果に基づいて抽出フレームを決定してもよい。即ち、フレームに含まれる顔は、ユーザにとって重要な領域であることが多い。そのため、その顔領域にブレ、ボケが少ない画像を抽出対象とする。
【0039】
さらに、顔検出ができたフレームを優先的に抽出フレーム候補として考えてもよい。即ち、そもそも顔が含まれているフレームは、ユーザにとって重要なフレームであると考えられるため、そのフレームを優先的に抽出対象とする。例えば、フレームの全体を評価したときに、同程度のブレ、ボケが検出された2枚の画像があったとすると、その2枚の画像のうち顔領域を含むフレームを抽出対象とする。
【0040】
その他にも、画質面での色味のよさやコントラストの適正、またノイズ感など様々な画質の解析結果に基づいて抽出フレームを決定してもよい。このように、画質評価方法としては種々の変形が可能である。
【0041】
図4は、実施例1におけるフレーム抽出処理を示すフローチャートである。この図4に示すフローチャートの処理に対応するプログラムがROM103に記録されており、CPU101がこのプログラムをRAM104に読み出して実行することにより、図4に示す処理を実現することができる。
【0042】
図4では、まず、ユーザが指定した動画における、開始位置201から終了位置202までの複数のフレームにおいて、所定枚数の主フレームを所定のフレーム間隔で決定する(S401)。なお、主フレームの枚数や、主フレームのフレーム間隔は、上記のようにユーザの指示により決定されるものであってもよいし、例えばROM103に記憶されている情報が示す、所定の枚数を、主フレームの枚数やフレーム間隔としてもよい。
【0043】
このように決定した複数の主フレームのそれぞれに対して、その周辺にある複数フレームを周辺フレームとして選択する(S402)。
【0044】
例えば、30fpsの動画データの場合、主フレームを中心に前後5フレーム、計10枚を周辺フレームとして選択する。つまり、1つの主フレームに対して、その主フレームを含む11フレームを解析する。なお、この11枚のフレームは、0.36秒間の動画に相当するものであり、上記のように撮影時に発生する0.3秒間隔のゆらぎに対応する枚数のフレームを解析することが可能となる。
【0045】
ただし、動画データの先頭フレームや最終フレームが主フレームになるときは、必ずしも前後から周辺フレームを選択できないこともある。また、主フレームの間隔によっては、隣り合う2枚の主フレームにおいて、その2枚の主フレームに対応する周辺フレームが重複する場合もある。よって、周辺フレームの枚数や位置は、主フレームの間隔などに応じて決定すればよい。
【0046】
次に、ブレ、ボケの検出対象となっている主フレームと周辺フレームの画質を評価する(S403)。このフレームの画質は、各フレームに対して解析領域を設定して、その解析領域に対する解析結果に基づいて評価される。図5はフレームにおける解析領域を示す図であり、各フレーム501に対して予め所定の領域を解析領域502として設定する。これらの解析領域について、ブレ量やボケ量を推定する。ブレ量やボケ量を推定する方法は、公知の技術を利用すればよい。例えば、解析領域のエッジ量をブレ量もしくはボケ量の評価値として算出する。
【0047】
さらに、画質の評価対象となっていた複数のフレームの評価値に基づいて、その複数のフレームの中で、画質が最もよいと思われるフレームを抽出対象のフレームとして決定する(S404)。ここでは、複数のフレームのそれぞれに複数の解析領域を設定して、解析領域ごとに、ボケ、ブレを判断する。そして、複数の解析領域のそれぞれにおいて解析された解析結果を、フレーム間で比較することで、複数のフレームの中からブレ、ボケの少ないフレームを抽出する。
【0048】
本実施例では、複数の解析領域のそれぞれに勝ち点を与えることで、フレームの画質を評価する「勝ち点制度」により、フレームを抽出する。具体的には、あるフレームAの解析領域を解析したときの評価値が、別のフレームBの、当該解析領域に対応する解析領域の評価値よりも所定のレベル以上高い場合には、フレームAの解析領域に勝ち点3を与える。一方、フレームBの上記の解析領域には、勝ち点を与えない(勝ち点0)。また、2つフレーム(フレームA、フレームB)の解析領域において、所定のレベル以上の差がなければ、2つフレームの両方の解析領域に勝ち点1を与える。
【0049】
1つフレームに設定された複数の解析領域に与えられた勝ち点の合計(図5の例では、5つの解析領域の勝ち点の合計)を、そのフレームの勝ち点とする。そして、主フレームおよび周辺フレームのうちの、最も高得点となったフレームを抽出フレームとする。
【0050】
このように、S404において抽出対象のフレームを決定すると、S401で決定した全ての主フレームに対する処理が終了したかを判定する(S405)。まだ主フレームが残っている場合には、開始位置201と終了位置202の間のすべての主フレームに対する処理が完了するまでS402に戻り、上記フレーム抽出処理を繰り返せばよい。
【0051】
S405で、開始位置201と終了位置202の間のすべての主フレームに対して、S402〜S404の処理が終了したと判定された場合には、S406に進む。
【0052】
このS406では、S405で決定された抽出対象の複数のフレームを動画データから抽出して、抽出された複数フレームを出力する。
【0053】
以上の図4に示した処理によれば、S401において決定された複数の主フレームと、S402において各主フレームに対して選択された周辺フレームからなるフレーム群が、ユーザの指示に応じて決定したフレーム間隔に従って特定される。そして、S404では、その各フレーム群から、出力対象のフレームが抽出される。これにより、動画像から、おおよそ一定間隔で出力対象のフレームが抽出される。
【0054】
なお、S406の出力処理は、例えば表示制御部106により、動画像データから抽出した複数のフレームを、表示装置107に表示させてもよい。または、動画像データから抽出した複数のフレームに対応する印刷データを印刷装置である出力装置110に出力して、当該複数のフレームに対応する画像を印刷媒体に印刷させてもよい。
【0055】
また動画像データから抽出された複数のフレームを個別に表示、印刷させてよいし、例えば表示画面または印刷媒体に複数のフレームを並べるようにレイアウトしてもよい。また、複数のフレームを重ねて合成して、1つの画像として出力するようにしてもよい。
【0056】
さらに、上述したS406におけるフレームの抽出、出力処理において、抽出対象として特定されたフレームから、出力対象のフレームをユーザが選択できるようにしてもよい。例えば、動画像から抽出対象として特定した複数のフレームを、動画像から抽出して表示装置107に表示させる。そして、ユーザが、表示装置107に表示されているフレームを確認して、印刷装置に印刷させるフレームを選択する。これにより、ユーザは、動画像から抽出されたフレームのうち、最終的に出力させるフレームを絞りこむことができるため、出力対象のフレームを適切に選択することができる。
【0057】
なお、S403における画質評価のためにフレームに設定される解析領域の数は、本実施例で示した5つに限定されるものではなく、特に動画の場合は被写体も動くことを考慮して、さらに端部の領域を追加してもよい。また、カメラの測距点に基づいて複数の解析領域を設定してもよい。また、複数の解析領域によりフレームの画質を評価するときに、フレームに設定した解析領域に応じて重み付けをしてもよい。例えば、中央部は周辺よりも重みを高くしてもよい。例えば、上記のような「勝ち点方式」を用いる場合には、中央部の解析領域に与えられた勝ち点を、他の解析領域に与えられる勝ち点よりも重みを付けてもよい。
【0058】
また、本実施例においては、主フレームの前後の所定のフレーム枚数以内のフレームを、周辺フレームとしていた。ただし、1つの主フレームに対する周辺フレームの枚数は、固定の枚数である必要はなく、主フレームの間隔に応じて決定してもよい。例えば、主フレームの間隔が広いほど、多くの周辺フレームを選択するようにしてもよい。これにより、2つの主フレームに対応する周辺フレームが重複することを防ぎ、また多くの周辺フレームを選択することができる。
【0059】
さらに、以上の実施例ではS405に示すように、主フレームごとに、順次、抽出フレームを決定(S404)していた。しかし、これに限らず、複数の主フレームに対して並行して、抽出フレームを実行するようにしてもよい。
【0060】
また、図4に示したように、主フレーム、周辺フレームからブレ、ボケが少ないフレームを抽出する処理は、ユーザによるフレーム間隔に関する指示に加えて、上記の抽出処理を行う旨を、ユーザにより指示されたときに実行してもよい。即ち、図3からも明らかなように、本実施例では周辺フレームから、出力対象のフレームを抽出する場合がある。すると、ユーザが主フレームの間隔を想定していた場合であっても、その間隔よりも多少ずれた位置のフレームが抽出される可能性があるからである。よって、ユーザの指示に応じて、そのような抽出方法をユーザが許容することを確認してから、抽出処理を実行する。
【0061】
一方、ユーザがフレーム間隔については指示したが、上記の抽出処理を行う旨を指示していない場合には、S401で決定した複数の主フレームを、出力対象のフレームとして抽出する。
【0062】
(実施例2)
以下、本発明の第2の実施例について詳細に説明する。
実施例1では、S401において、まず動画において複数の主フレームを、所定のフレーム間隔で決定した後に、その複数の主フレームのそれぞれに対応する周辺フレームを決定していた。
【0063】
よって、ある主フレームの周辺からフレームを抽出する場合に、動画のシーケンスにおける隣の主フレームの周辺から抽出したフレームの位置に関わらず、フレームの抽出を行う。そのため、動画から抽出されたフレームの間隔の、主フレームの間隔に対する誤差が大きくなってしまうことがある。
【0064】
例えばユーザがフレーム間隔として30枚を指定していて、主フレームの前後5枚を周辺フレームとして選択する場合について考える。このとき、図3の主フレーム301に対して、主フレーム301の前後5枚から抽出フレームAが決定されて、主フレーム301の30枚後の主フレーム302の前後5枚から、抽出フレームBを抽出するとする。このとき抽出フレームAと抽出フレームBの間のフレーム枚数は、20〜40枚となる。
【0065】
よって、ユーザの指示により決定されたフレーム間隔が、本来は30枚であるにも拘わらず、実際に抽出されたフレームの間隔は20〜40枚であり、最大10枚の誤差が生じてしまう。
【0066】
そこで本実施例では、主フレームの位置を、他の主フレームに対応して抽出されたフレームの位置に応じて決定する。具体的には、ある主フレームを決定するときに、ひとつ前の主フレームに対応する抽出フレームを基準にして、次の主フレームを決定する方法を説明する。
【0067】
図6は本実施例のフレーム抽出方法の動作を示すフローチャートである。
まず、動画において開始位置201と終了位置202の間の複数のフレームから、先頭の主フレームを決定する(S601)。この先頭の主フレームは、例えば開始位置201に対応するフレームとする。また、開始位置201と、周辺フレームを選択する範囲に応じて、先頭フレームの位置を決定してもよい。例えば、周辺フレームを選択する範囲が主フレームの前後5枚であれば、開始位置201のフレームから5枚先のフレームを、先頭の主フレームとしてもよい。これにより、開始位置201に位置するフレームから11枚先までのフレームから、先頭の抽出フレームが決定されることになる。
【0068】
次に、主フレームに対応する周辺フレームを選択する(S602)。そして、主フレームと周辺フレームの画質を評価し(S603)、その画質評価に基づいて、抽出フレームを決定する(S604)。このS602〜S604の処理は、図4のS402〜S404の処理と同様である。
【0069】
ここで、S604において抽出されたフレームから、所定のフレーム間隔だけ先に進んだフレームが存在するか否かを判定する(S605)。まだ先にフレームが存在すれば、そのフレームを次の主フレームとしてS606に進む。このS606の処理については後述する。S604において、当該主フレームの次の主フレームが、動画における終了位置202を超える場合は、開始位置201と終了位置202の間の全てのフレームに対してS602〜S604の処理を終了したと判断して、S607に進む。S607では、S406と同様に、抽出対象の複数のフレームの出力処理を実行する。
【0070】
S606では、S604において決定した抽出フレームの位置を基準にして、当該主フレームの次の主フレームの位置を決定する。具体的には、S604で抽出したフレームから、ユーザの指示により決定されたフレーム間隔だけ後のフレームを、主フレームとする。例えば、ユーザがフレーム間隔として30枚を指定していた場合には、S604で抽出したフレームの30枚後のフレームを、新たな主フレームとする。
【0071】
そして、S606において決定された主フレームの位置に応じて、その主フレームに対応する周辺フレームを選択する。例えば、主フレームの前後5枚のフレームを、周辺フレームとする。
【0072】
図7は、実施例2における主フレーム決定処理を説明するための図である。図6のS601もしくはS606において、主フレーム701が決定され、S604において、主フレーム701に対応する抽出フレームとして、抽出フレーム702が決定されたとする。すると、S606では、抽出フレーム702の30枚後のフレームである、フレーム703が、新たな主フレームとして決定される。
【0073】
このように、本実施例で示した方法では、動画から、ブレ、ボケの少ないフレームとして抽出されたフレームの位置を基準に、次の主フレームの位置を決定する。本実施例の主フレームの決定処理を説明するために、上述した例と同様に、ユーザがフレーム間隔として30枚を指定していて、主フレームの前後5枚を周辺フレームとして選択するとする。
【0074】
この場合、S604で抽出した抽出フレーム702の30枚後のフレーム703が主フレームとなるため、抽出フレーム702の25〜35枚後のフレームから、ブレ、ボケの少ないフレームを抽出することになる。よって、動画から実際に抽出される複数のフレームの間隔は25〜35枚となる。即ち、ユーザの指示により決定されたフレーム間隔(30枚)に対して、最大5枚の誤差に抑えることができる。上記の実施例1の場合、同じ条件で最大10枚の誤差が発生するため、本実施例の処理により、上記の誤差を軽減できることがわかる。
【0075】
このように、実施例2で説明した方法によれば、ブレ、ボケの少ないフレームとして抽出したフレームの位置を基準として、次の主フレームの位置を決定する。これにより、動画から実際に抽出される複数のフレームの間隔と、ユーザの指示により決定されたフレーム間隔との誤差を軽減することができる。
【0076】
以上の実施例によれば、ユーザの指示に応じて決定したフレーム間隔に応じて、主フレームを特定して、その主フレームと、その主フレームの周辺のフレームを解析することで、ブレ、ボケの少ないフレームを抽出している。よって、動画に含まれる複数のフレームから、ユーザの指示に応じた間隔で、適切なフレームを抽出することができる。
【0077】
また以上の実施例の処理は、動画像からフレームを抽出するときに限らず、複数の静止画像から、ユーザの指示に応じた間隔で静止画像を抽出するときにも応用できるものである。例えば、コンピュータ上に取りためた大量の静止画像の内容を、ユーザが瞬時に把握できるように、ユーザが指定した間隔で、ブレ、ボケの少ない画像を抽出するときに用いることができる。
【0078】
また、以上の実施例で説明した画像処理装置は、表示装置107や出力装置110を含むものであったが、画像処理装置に接続されている、外部の表示装置に画像を表示させる、また外部の出力装置110に画像を出力する場合であってもよい。また、この画像処理装置の例としては、PC(Personal Computer)や、デジタルスチルカメラやデジタルビデオカメラ等の撮像装置、印刷装置、携帯電話などのモバイル機器など、種々の装置であってよい。
【0079】
(他の実施形態)
前述した実施形態の機能を実現するように前述した実施形態の構成を動作させるプログラムを記録媒体に記憶させ、該記録媒体に記憶されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も上述の実施形態の範疇に含まれる。
【0080】
該記録媒体は、コンピュータ読み取り可能な記録媒体である。また、前述のプログラムが記憶された記録媒体はもちろんそのプログラム自体も上述の実施形態に含まれる。かかる記録媒体としてはたとえばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD―ROM、磁気テープ、不揮発性メモリカード、ROMを用いることができる。
【0081】
また前述の記録媒体に記憶されたプログラム単体で処理を実行しているものに限らず、他のソフトウエア、拡張ボードの機能と共同して、OS上で動作し前述の実施形態の動作を実行するものも前述した実施形態の範疇に含まれる。
【0082】
また、上述した実施例を1つのプロセッサが実行する場合に限らず、複数のプロセッサが協働することでも、上記の実施例の処理を実現することができる。
【符号の説明】
【0083】
101 CPU
102 ブリッジ部
103 ROM
104 RAM
105 2次記憶装置


【特許請求の範囲】
【請求項1】
複数のフレームから構成される動画像から抽出された出力対象のフレームを出力する画像処理装置であって、
ユーザによる指示に応じたフレーム間隔に基づき、前記動画像における当該フレーム間隔に対応する間隔で、複数のフレーム群を特定する特定手段と、
前記特定手段により特定された複数のフレーム群のそれぞれに含まれる複数のフレームを解析し、当該解析の結果に基づき、当該複数のフレーム群のそれぞれから出力対象のフレームを抽出する抽出手段と、
を有することを特徴とする画像処理装置。
【請求項2】
前記特定手段は、前記動画像から、ユーザによる指示に応じたフレーム間隔を有する複数のフレームを特定し、特定された当該複数のフレームのそれぞれを含むフレーム群を特定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記特定手段は、ユーザによる指示に応じたフレーム間隔を有する複数のフレームのそれぞれから、所定のフレーム枚数以内の複数のフレームを、前記フレーム群として特定することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記特定手段は、前記抽出手段によりフレーム群から抽出された出力対象のフレームと、前記決定手段により決定されたフレーム間隔とに基づき、新たなフレーム群を特定し、
前記抽出手段は、前記新たに特定されたフレーム群から、出力対象のフレームを新たに抽出することを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記特定手段は、前記抽出手段によりフレーム群から抽出された出力対象のフレームから、前記決定手段により決定されたフレーム間隔を有するフレームを特定し、特定された当該フレームを含むフレーム群を、新たなフレーム群として特定することを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記特定手段は、前記抽出手段によりフレーム群から抽出された出力対象のフレームから、前記決定手段により決定されたフレーム間隔を有するフレームに対して、前記動画像において所定のフレーム枚数以内の複数のフレームを、新たなフレーム群として特定することを特徴とする請求項5に記載の画像処理装置。
【請求項7】
ユーザによるフレーム間隔の指示と、前記抽出手段により抽出される出力対象のフレームの枚数の指示と、前記動画像における時間間隔の指示の少なくとも1つの指示を入力可能な入力手段を有し、
前記特定手段は、前記入力手段により入力されたユーザによる指示に応じたフレーム間隔を決定し、当該決定したフレーム間隔に対応する間隔で、複数のフレーム群を特定することを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
複数のフレームから構成される動画像から抽出された出力対象のフレームを出力する画像処理方法であって、
ユーザによる指示に応じたフレーム間隔に基づき、前記動画像における当該フレーム間隔に対応する間隔で、複数のフレーム群を特定する特定工程と、
前記特定工程において特定された複数のフレーム群のそれぞれに含まれる複数のフレームを解析し、当該解析の結果に基づき、当該複数のフレーム群のそれぞれから出力対象のフレームを抽出する抽出工程と、
を有することを特徴とする画像処理方法。
【請求項9】
請求項8に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate