(57)【特許請求の範囲】
【請求項１】
複数のフレームを含む動画像から抽出された出力対象のフレームを静止画像として出力する画像処理装置であって、
ユーザによる指示に応じたフレーム間隔に基づき、前記動画像における当該フレーム間隔に対応する間隔で、複数のフレーム群を特定する特定手段と、
前記特定手段により特定された複数のフレーム群のそれぞれに含まれる複数のフレームにおけるブレ量またはボケ量を解析する解析手段と、
前記複数のフレーム群のそれぞれにおいて前記解析手段による解析結果を少なくとも２つのフレームで比較することにより、当該複数のフレーム群のそれぞれから、ブレ量またはボケ量が少ない解析結果に対応するフレームを出力対象のフレームとして抽出する抽出手段と、
前記抽出手段により前記複数のフレーム群のそれぞれから抽出された複数の出力対象のフレームを、複数の静止画像として個別に出力する出力手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記解析手段は、前記複数のフレーム群のそれぞれに含まれるフレームにおける複数の解析領域それぞれのブレ量またはボケ量を解析し、
前記抽出手段は、前記複数のフレーム群のそれぞれにおいて、第１のフレームにおける複数の解析領域のそれぞれに対する解析結果と、第２のフレームにおける複数の解析領域のそれぞれに対する解析結果を、当該第１のフレームと当該第２のフレームで対応する解析領域同士で比較することにより、出力対象のフレームを抽出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記特定手段は、前記動画像から、ユーザによる指示に応じたフレーム間隔を有する複数のフレームを特定し、特定された当該複数のフレームのそれぞれを含むフレーム群を特定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記特定手段は、ユーザによる指示に応じたフレーム間隔を有する複数のフレームのそれぞれから、所定のフレーム枚数以内の複数のフレームを、前記フレーム群として特定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記特定手段は、前記抽出手段によりフレーム群から抽出された出力対象のフレームと、前記ユーザによる指示に応じた前記フレーム間隔とに基づき、フレーム群を新たに特定し、
前記抽出手段は、前記新たに特定されたフレーム群から、出力対象のフレームを新たに抽出することを特徴とする請求項１または２に記載の画像処理装置。
【請求項６】
前記特定手段は、前記抽出手段によりフレーム群から抽出された出力対象のフレームから、ユーザによる指示に応じた前記フレーム間隔を有するフレームを特定し、特定された当該フレームを含むフレーム群を、新たなフレーム群として特定することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記特定手段は、前記抽出手段によりフレーム群から抽出された出力対象のフレームから、ユーザによる指示に応じた前記フレーム間隔を有するフレームに対して、前記動画像において所定のフレーム枚数以内の複数のフレームを、新たなフレーム群として特定することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
ユーザによるフレーム間隔の指示と、前記抽出手段により抽出される出力対象のフレームの枚数の指示と、前記動画像における時間間隔の指示の少なくとも１つの指示を入力可能な入力手段を有し、
前記特定手段は、前記入力手段により入力されたユーザによる指示に応じたフレーム間隔を決定し、当該決定したフレーム間隔に対応する間隔で、複数のフレーム群を特定することを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
前記出力手段は、前記出力対象のフレームを表示装置に表示させることを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記出力手段は、前記出力対象のフレームを印刷装置に印刷させることを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１１】
複数のフレームを含む動画像から抽出された出力対象のフレームを静止画像として出力する画像処理方法であって、
ユーザによる指示に応じたフレーム間隔に基づき、前記動画像における当該フレーム間隔に対応する間隔で、複数のフレーム群を特定する特定工程と、
前記特定工程において特定された複数のフレーム群のそれぞれに含まれる複数のフレームにおけるブレ量またはボケ量を解析する解析工程と、
前記複数のフレーム群のそれぞれにおいて前記解析工程における解析結果を少なくとも２つのフレームで比較することにより、当該複数のフレーム群のそれぞれから、ブレ量またはボケ量の少ない解析結果に対応するフレームを出力対象のフレームとして抽出する抽出工程と、
前記抽出工程において前記複数のフレーム群のそれぞれから抽出された複数の出力対象のフレームを、複数の静止画像として個別に出力する出力工程と、
を有することを特徴とする画像処理方法。
【請求項１２】
前記解析工程では、前記複数のフレーム群のそれぞれに含まれるフレームにおける複数の解析領域それぞれのブレ量またはボケ量を解析し、
前記抽出工程では、前記複数のフレーム群のそれぞれにおいて、第１のフレームにおける複数の解析領域のそれぞれに対する解析結果と、第２のフレームにおける複数の解析領域のそれぞれに対する解析結果を、当該第１のフレームと当該第２のフレームで対応する解析領域同士で比較することにより、出力対象のフレームを抽出することを特徴とする請求項１１に記載の画像処理方法。
【請求項１３】
複数のフレームを含む動画像から抽出された出力対象のフレームを静止画像として出力する画像処理方法であって、
前記動画像に含まれるフレーム群に含まれる複数のフレームにおけるブレ量またはボケ量を解析する解析工程と、
前記フレーム群において前記解析工程における解析結果を少なくとも２つのフレームで比較することにより、当該フレーム群から、ブレ量またはボケ量の少ない解析結果に対応するフレームを出力対象のフレームとして抽出する第１の抽出工程と、
前記第１の抽出工程において前記フレーム群から抽出された出力対象のフレームと、ユーザによる指示に応じたフレーム間隔とに基づき、前記動画像における当該フレーム間隔に対応する間隔で、フレーム群を特定する特定工程と、
前記特定工程において特定されたフレーム群において前記解析工程における解析結果を少なくとも２つのフレームで比較することにより、当該フレーム群から、ブレ量またはボケ量の少ない解析結果に対応するフレームを出力対象のフレームとして抽出する第２の抽出工程と、
前記第１の抽出工程において抽出された出力対象のフレームと、前記第２の抽出工程で抽出された出力対象のフレームを、２つの静止画像として個別に出力する出力工程と、
を有することを特徴とする画像処理方法。
【請求項１４】
請求項１乃至１０のいずれか１項に記載の画像処理装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のフレームから構成される動画像から抽出された出力対象のフレームを出力する画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、動画再生機能を有する装置において、動画像を構成する静止画像を、動画像から抽出する機能を有するものがある。この種の機能においては、動画像に含まれる複数のフレームから抽出対象のフレームをユーザが指定すると、その指定されたフレームの画像を液晶モニター等の表示装置に出力して、その画像を表示させることができる。他にも、動画像から抽出されたフレームを印刷装置に出力することで、そのフレームに対応する画像を印刷用紙に印刷させることができる。
【０００３】
ところで、動画像に含まれる静止画像のうち、撮影者の手や被写体が動いたときに撮影された静止画像は、ブレが発生している場合があり、出力対象として好ましくない場合がある。そこで特許文献１では、動画データを解析して、動画に含まれる各フレームのブレ量を取得し、取得されたブレ量に基づいて基準フレームを決定し、その基準フレームの所定範囲内にある周辺フレームを出力することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４３０１２３６号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の従来技術では、ブレの少ないフレームを出力対象としている。そのため、複数のフレームを出力対象として抽出した場合、ブレの少ないフレームの間隔は動画像の内容に依存するので、出力対象の複数のフレームの間隔が動画像によって異なることがある。
【０００６】
よって、上記の従来技術により抽出された複数フレームの内容をユーザが確認したとしても、ユーザは、複数のフレームがどのような時間間隔に対応するものか把握することが困難な場合がある。この場合ユーザは、複数のフレームに含まれる被写体やシーンが、動画像においてどのように変化したものか把握することができないことがある。
【０００７】
そこで本発明は上述した問題に鑑みて、出力対象として適切な複数のフレームを、動画像におけるユーザの指示に応じた間隔で抽出することができる画像処理装置、画像処理方法、およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
本発明の情報処理装置は、複数のフレームを含む動画像から抽出された出力対象のフレームを静止画像として出力する画像処理装置であって、ユーザによる指示に応じたフレーム間隔に基づき、前記動画像における当該フレーム間隔に対応する間隔で、複数のフレーム群を特定する特定手段と、前記特定手段により特定された複数のフレーム群のそれぞれに含まれる複数のフレームにおけるブレ量またはボケ量を解析する解析手段と、前記複数のフレーム群のそれぞれにおいて前記解析手段による解析結果を少なくとも２つのフレームで比較することにより、当該複数のフレーム群のそれぞれから、ブレ量またはボケ量が少ない解析結果に対応するフレームを出力対象のフレームとして抽出する抽出手段と、前記抽出手段により前記複数のフレーム群のそれぞれから抽出された複数の出力対象のフレームを、複数の静止画像として個別に出力する出力手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、出力対象として適切な複数のフレームを、動画像におけるユーザの指示に応じた間隔で抽出することができる。
【図面の簡単な説明】
【００１０】
【図１】画像処理装置のブロック図である。
【図２】動画を構成するフレームを示した図である。
【図３】動画における主フレームを示す図である。
【図４】実施例１におけるフレーム抽出処理を示すフローチャートである。
【図５】フレームにおける解析領域を示す図である。
【図６】実施例２におけるフレーム抽出処理を示すフローチャートである。
【図７】実施例２における主フレーム決定処理を説明するための図である。
【発明を実施するための形態】
【００１１】
（実施例１）
以下、本発明の実施の形態について詳細に説明する。図１は、本実施例における画像処理装置のブロック図である。
【００１２】
ＣＰＵ１０１は、中央演算ユニット（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）で、他の機能ブロックや装置の制御を行う。ブリッジ部１０２は、ＣＰＵ１０１と他の機能ブロックの間でデータのやり取りを制御する機能を提供している。
【００１３】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）  １０３は読み込み専用の不揮発メモリであり、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）と呼ばれるプログラムが格納されている。ＢＩＯＳは画像処理装置が起動したときに最初に実行されるプログラムであり、２次記憶装置１０５、表示装置１０７、入力装置１０９、出力装置１１０などの周辺機器の基本入出力機能を制御するものである。
【００１４】
ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０４は、高速の読み／書き可能な記憶領域を提供する。
【００１５】
２次記憶装置１０５は、大容量の記憶領域を提供するＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。ＢＩＯＳが実行されると、ＨＤＤに格納されているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が実行される。ＯＳはすべてのアプリケーションで利用可能な基本的な機能や、アプリケーションの管理、基本ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を提供する。アプリケーションは、ＯＳが提供するＧＵＩを組み合わせることで、アプリケーション独自の機能を実現するＵＩを提供できる。
【００１６】
なお、上記のＯＳや、他のアプリケーションの実行プログラムや作業用に使用しているデータは、必要に応じてＲＯＭ１０３または２次記憶装置１０５に格納される。また、本実施例の処理を実行する画像処理アプリケーションは、ＲＯＭ１０３または２次記憶装置１０５に格納され、ユーザの操作で起動するアプリケーションとして提供される。以下で説明する処理は、ＣＰＵ１０１が、ＲＯＭ１０３や２次記憶装置１０５に記憶されている、ＯＳ、画像処理アプリケーション等のプログラムを、ＲＡＭ１０４をワークメモリとして実行することで実現する。
【００１７】
表示制御部１０６は、ＯＳやアプリケーションに対して行われるユーザの操作の結果をＧＵＩの画像データとして生成し、表示装置１０７で表示するための制御を行う。表示装置１０７には液晶ディスプレイや、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイが使用できる。
【００１８】
Ｉ／Ｏ制御部１０８は、複数の入力装置１０９、出力装置１１０とのインターフェースを提供するものである。代表的なインターフェースとして、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やＰＳ／２（Ｐｅｒｓｏｎａｌ  Ｓｙｓｔｅｍ／２）がある。
【００１９】
入力装置１０９は、キーボード、マウスといった操作デバイスであり、Ｉ／Ｏ制御部１０８は、入力装置１０９を介してユーザの指示を画像処理装置に入力する。
【００２０】
Ｉ／Ｏ制御部１０８は、各種の出力装置１１０を接続して、接続されている出力装置１１０にデータを出力する。出力装置１１０は例えばプリンターであり、Ｉ／Ｏ制御部が印刷データを出力装置に出力することで、印刷データに対応する画像を印刷させることができる。
【００２１】
なお、画像処理装置には、デジタルカメラ、ＵＳＢメモリ、ＣＦ（Ｃｏｍｐａｃｔ  Ｆｌａｓｈ）メモリ、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカードといった記憶装置などを接続することもできる。そして、Ｉ／Ｏ制御部は、そのデジタルカメラやメモリに画像データなどのデータを転送することや、逆にデジタルカメラやメモリからデータを取得することも可能である。
【００２２】
後述するが、本実施例では、複数枚のフレームから構成される動画像から、フレームを抽出する。その動画像のデータは、上記の２次記憶装置１０５や、画像処理装置に接続されているＵＳＢメモリやＣＦメモリ、ＳＤメモリカード等から供給される。
【００２３】
図２は、動画を構成するフレームを示した図である。一般的な動画データは、１秒間に３０フレームないしは６０フレームで構成されている（秒間フレーム数をｆｐｓ：ｆｒａｍｅ  ｐｅｒ  ｓｅｃで表記する）。例えば、３０ｆｐｓで３分間の動画データは、３０×１８０＝５４００枚のフレームで構成される。
【００２４】
本実施例においては、ユーザの指示に応じて決定されたフレーム間隔に従って、抽出対象のフレームがおおよそ上記のフレーム間隔になるように、ブレやボケの少ない好適なフレームを抽出する。
【００２５】
ユーザは、動画データから静止画像を抽出する際に、入力装置１０９を用いて、開始位置２０１および終了位置２０２を指定することができる。動画において、開始位置２０１と終了位置２０２の間のフレームが、抽出対象のフレームの候補として決定される。この開始位置２０１や終了位置２０２の指定は、ユーザが表示装置１０７を見ながら、入力装置１０９を操作することによって行う。そのときに、例えば、動画像を再生して、表示装置１０７に表示させる。そして、ユーザが、表示装置１０７に表示されている動画像を確認しながら動画像におけるフレームを抽出する範囲を指定すると、上記の開始位置２０１と終了位置２０２が決定される。なお、ユーザによる開始位置、終了位置の指定がなければ、動画ファイルの先頭フレームを開始位置とし、最終フレームを終了位置として設定すればよい。
【００２６】
また、ユーザは、入力装置１０９を用いて、ユーザが指示した、動画から切出す静止画像の枚数を入力する。すると、画像処理装置は、ユーザにより指示された枚数のフレームを特定する。例えば、ユーザが２０枚を指定すると、開始位置２０１から終了位置２０２までの複数のフレーム２０３から所定の間隔で２０枚のフレームを特定する。なお、このように特定されたフレームを主フレームと呼ぶ。そして、この主フレームと、その主フレームの周辺にある周辺フレームからなるフレーム群から、ブレ、ボケの少ないフレームを抽出する。主フレーム、周辺フレームについては、図３を用いて後述する。
【００２７】
また、動画のフォーマットとしては、プログレッシブ方式とインタレース方式とがある。プログレッシブ方式は、フレームを切り出して表示するときに、静止画像を構成するすべての画素が同じタイミングで表示される。一方、インタレース方式は、１枚のフレームの奇数行のラインの画素と、偶数行のラインの画素とを、タイムラグをもたせて表示させる方式である。インタレース方式の動画から静止画像を切出す場合には、ＣＰＵ１０１が、インタレース解除という画像処理を行うことによって、タイムラグのない静止画像を取得する。
【００２８】
さらに、例えばＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）などの動画フォーマットでは、フレームに含まれるオブジェクトの、フレーム間の動きを検出する（動き検出）ことで、データ圧縮を行っている。複数フレームに対してブレ、ボケを判定するときは、フレームごとに順次、上記の圧縮に対する伸長処理を行い、伸長処理が完了したフレームに対して、ブレ、ボケの解析処理を行う。また、このような動画フォーマットでは、上述のように動き検出することで圧縮処理を行うが、所定枚数ごとに、動き検出を行わずに圧縮するフレームを設ける。即ち、当該フレームに、静止画像のための圧縮方式を採用して、データ圧縮する。通常、動き検出により圧縮を行ったフレームよりも、上記のように動き検出を行っていないフレームの方が、画質が良いことが多い。そこで、出力対象のフレームを抽出するときに、動き検出を行わずに圧縮したフレームを優先的に抽出するようにしてもよい。
【００２９】
図３は、動画における主フレームを示す図であり、図２示す動画像のシーケンスにおいて特定された主フレーム３０１、３０２、およびその周辺にある複数のフレームを模式的に示した図である。
【００３０】
この周辺フレームは、動画において主フレームから時間を遡る方向と、時間を進む方向のいずれか、もしくは両方向に、所定の枚数を設定する。そして、この主フレームと周辺フレームからなるフレーム群から、抽出対象のフレームを決定する。
【００３１】
そして、上記のように主フレームを特定するときに、開始位置２０１と終了位置２０２のそれぞれに応じて、先頭の主フレームと、後端の主フレームを特定する。この先頭の主フレーム、後端の主フレームは、例えば開始位置２０１、終了位置２０２に位置するフレームとする。
【００３２】
そして、主フレームの数はユーザにより指定されているため、ユーザによる開始位置２０１と、終了位置２０２の指定、また抽出対象のフレームの枚数の指定により、主フレーム同士の間隔が決定される。即ち、例えば抽出フレームの数を少なく、開始位置２０１、終了位置２０２を広く取れば、主フレーム間の間隔が広くなることになる。図３に示す例では、主フレーム間の間隔が３０枚であったとする。
【００３３】
ただし、抽出対象のフレームの合計枚数をユーザが指示する方法では、不慣れなユーザにとっては、主フレームの間隔を、所望のフレーム間隔（３０枚）とすることが困難な場合がある。
【００３４】
そこで、抽出対象のフレーム（もしくは主フレーム）のフレーム枚数ではなく、フレームの間隔をユーザが指示できるようにしてもよい。ユーザがフレーム間隔を指示するための方法として、主フレームの間のフレーム枚数をユーザに指示させて、指示されたフレーム枚数を入力可能にしてもよい。または、ユーザにより指示された動画像における時間間隔を入力して、その時間間隔に対応するフレーム枚数を、主フレーム間の枚数として決定してもよい。また、ユーザが時間間隔を指示する場合には、その時間間隔に従ってフレームを抽出したときの動画におけるフレーム間隔（枚数）や、動画から抽出される合計のフレーム枚数をユーザに通知してもよい。例えば、動画から抽出されるフレームの合計枚数を通知することにより、ユーザは、時間間隔を指示したときでも、出力対象とするフレームの枚数を確認することができる。さらに、ユーザが抽出対象のフレームの合計枚数や、フレーム間隔を指定したときに、その指定に従ってフレームを抽出したときのフレーム間の時間間隔をユーザに通知してもよい。このような通知は、例えば表示制御部１０６が、表示装置１０７にフレーム枚数や時間間隔を表示させることによって行う。
【００３５】
なお、この周辺フレームは必ずしも主フレームと連続したフレームである必要はなく、所定の間隔で飛ばしながら複数の周辺フレームを設定してもよい。ただし、後述のフレーム内のブレ検出において、解析対象のフレームの数が増えるほど画像処理装置の処理負荷が増大するため、効率的な枚数に設定することが重要となる。すなわち、その解析対象の複数のフレーム中に少なくとも１枚は好ましいフレームが存在する可能性を高くすることができれば、処理負荷を抑えつつ効率的に好適なフレームを抽出できることになる。
【００３６】
また、周辺フレームの枚数は、動画像の性質に応じて決定してもよい。例えば、ユーザがデジタルビデオカメラで撮影した動画像について説明する。撮影者がカメラを手で持ちながら撮影する場合、適切にカメラを固定できない場合がある。主たるゆれの要因として、撮影者が撮影中に動くことが想定され、その歩数の間隔に応じたゆらぎが発生する。発明者が被験者を用いて実験を行った結果、徒歩の平均ペースは０．５秒〜０．６秒／歩であり、徒歩による上下運動を震動としてとらえれば、上下のピークにおいて上下の速度がゼロとなる。つまり、およそ０．３秒間のフレームを見ることで、撮影時に発生するゆらぎの中で少なくとも１枚はカメラの動きが固定されるフレームとして含まれることが期待できる。よって、周辺フレームとして０．３秒間に対応する枚数のフレームをブレの検出対象とすれば、その複数のフレームの中から、ブレの少ないフレームを１枚は抽出できると見込める。
【００３７】
上記のように決定した、主フレーム、また、その主フレームに対応する周辺フレームが、ブレ、ボケの少ないフレームとして抽出されるフレームの候補となる。そして、次に、上記の主フレームおよび周辺フレームの画像の画質評価を行い、抽出する静止画像として最もよいと思われるフレームを抽出する。ここで、画質評価方法としては特に画像に含まれるブレ量やボケ量を推定することによって、ブレやボケの少ないフレームを抽出する静止画像として決定すればよい。
【００３８】
なお、画質評価方法としては、フレームごとに顔検出を行って主要被写体が特定できる場合には、その領域を中心にブレを解析して、その解析結果に基づいて抽出フレームを決定してもよい。即ち、フレームに含まれる顔は、ユーザにとって重要な領域であることが多い。そのため、その顔領域にブレ、ボケが少ない画像を抽出対象とする。
【００３９】
さらに、顔検出ができたフレームを優先的に抽出フレーム候補として考えてもよい。即ち、そもそも顔が含まれているフレームは、ユーザにとって重要なフレームであると考えられるため、そのフレームを優先的に抽出対象とする。例えば、フレームの全体を評価したときに、同程度のブレ、ボケが検出された２枚の画像があったとすると、その２枚の画像のうち顔領域を含むフレームを抽出対象とする。
【００４０】
その他にも、画質面での色味のよさやコントラストの適正、またノイズ感など様々な画質の解析結果に基づいて抽出フレームを決定してもよい。このように、画質評価方法としては種々の変形が可能である。
【００４１】
図４は、実施例１におけるフレーム抽出処理を示すフローチャートである。この図４に示すフローチャートの処理に対応するプログラムがＲＯＭ１０３に記録されており、ＣＰＵ１０１がこのプログラムをＲＡＭ１０４に読み出して実行することにより、図４に示す処理を実現することができる。
【００４２】
図４では、まず、ユーザが指定した動画における、開始位置２０１から終了位置２０２までの複数のフレームにおいて、所定枚数の主フレームを所定のフレーム間隔で決定する（Ｓ４０１）。なお、主フレームの枚数や、主フレームのフレーム間隔は、上記のようにユーザの指示により決定されるものであってもよいし、例えばＲＯＭ１０３に記憶されている情報が示す、所定の枚数を、主フレームの枚数やフレーム間隔としてもよい。
【００４３】
このように決定した複数の主フレームのそれぞれに対して、その周辺にある複数フレームを周辺フレームとして選択する（Ｓ４０２）。
【００４４】
例えば、３０ｆｐｓの動画データの場合、主フレームを中心に前後５フレーム、計１０枚を周辺フレームとして選択する。つまり、１つの主フレームに対して、その主フレームを含む１１フレームを解析する。なお、この１１枚のフレームは、０．３６秒間の動画に相当するものであり、上記のように撮影時に発生する０．３秒間隔のゆらぎに対応する枚数のフレームを解析することが可能となる。
【００４５】
ただし、動画データの先頭フレームや最終フレームが主フレームになるときは、必ずしも前後から周辺フレームを選択できないこともある。また、主フレームの間隔によっては、隣り合う２枚の主フレームにおいて、その２枚の主フレームに対応する周辺フレームが重複する場合もある。よって、周辺フレームの枚数や位置は、主フレームの間隔などに応じて決定すればよい。
【００４６】
次に、ブレ、ボケの検出対象となっている主フレームと周辺フレームの画質を評価する（Ｓ４０３）。このフレームの画質は、各フレームに対して解析領域を設定して、その解析領域に対する解析結果に基づいて評価される。図５はフレームにおける解析領域を示す図であり、各フレーム５０１に対して予め所定の領域を解析領域５０２として設定する。これらの解析領域について、ブレ量やボケ量を推定する。ブレ量やボケ量を推定する方法は、公知の技術を利用すればよい。例えば、解析領域のエッジ量をブレ量もしくはボケ量の評価値として算出する。
【００４７】
さらに、画質の評価対象となっていた複数のフレームの評価値に基づいて、その複数のフレームの中で、画質が最もよいと思われるフレームを抽出対象のフレームとして決定する（Ｓ４０４）。ここでは、複数のフレームのそれぞれに複数の解析領域を設定して、解析領域ごとに、ボケ、ブレを判断する。そして、複数の解析領域のそれぞれにおいて解析された解析結果を、フレーム間で比較することで、複数のフレームの中からブレ、ボケの少ないフレームを抽出する。
【００４８】
本実施例では、複数の解析領域のそれぞれに勝ち点を与えることで、フレームの画質を評価する「勝ち点制度」により、フレームを抽出する。具体的には、あるフレームＡの解析領域を解析したときの評価値が、別のフレームＢの、当該解析領域に対応する解析領域の評価値よりも所定のレベル以上高い場合には、フレームＡの解析領域に勝ち点３を与える。一方、フレームＢの上記の解析領域には、勝ち点を与えない（勝ち点０）。また、２つフレーム（フレームＡ、フレームＢ）の解析領域において、所定のレベル以上の差がなければ、２つフレームの両方の解析領域に勝ち点１を与える。
【００４９】
１つフレームに設定された複数の解析領域に与えられた勝ち点の合計（図５の例では、５つの解析領域の勝ち点の合計）を、そのフレームの勝ち点とする。そして、主フレームおよび周辺フレームのうちの、最も高得点となったフレームを抽出フレームとする。
【００５０】
このように、Ｓ４０４において抽出対象のフレームを決定すると、Ｓ４０１で決定した全ての主フレームに対する処理が終了したかを判定する（Ｓ４０５）。まだ主フレームが残っている場合には、開始位置２０１と終了位置２０２の間のすべての主フレームに対する処理が完了するまでＳ４０２に戻り、上記フレーム抽出処理を繰り返せばよい。
【００５１】
Ｓ４０５で、開始位置２０１と終了位置２０２の間のすべての主フレームに対して、Ｓ４０２〜Ｓ４０４の処理が終了したと判定された場合には、Ｓ４０６に進む。
【００５２】
このＳ４０６では、Ｓ４０５で決定された抽出対象の複数のフレームを動画データから抽出して、抽出された複数フレームを出力する。
【００５３】
以上の図４に示した処理によれば、Ｓ４０１において決定された複数の主フレームと、Ｓ４０２において各主フレームに対して選択された周辺フレームからなるフレーム群が、ユーザの指示に応じて決定したフレーム間隔に従って特定される。そして、Ｓ４０４では、その各フレーム群から、出力対象のフレームが抽出される。これにより、動画像から、おおよそ一定間隔で出力対象のフレームが抽出される。
【００５４】
なお、Ｓ４０６の出力処理は、例えば表示制御部１０６により、動画像データから抽出した複数のフレームを、表示装置１０７に表示させてもよい。または、動画像データから抽出した複数のフレームに対応する印刷データを印刷装置である出力装置１１０に出力して、当該複数のフレームに対応する画像を印刷媒体に印刷させてもよい。
【００５５】
また動画像データから抽出された複数のフレームを個別に表示、印刷させてよいし、例えば表示画面または印刷媒体に複数のフレームを並べるようにレイアウトしてもよい。また、複数のフレームを重ねて合成して、１つの画像として出力するようにしてもよい。
【００５６】
さらに、上述したＳ４０６におけるフレームの抽出、出力処理において、抽出対象として特定されたフレームから、出力対象のフレームをユーザが選択できるようにしてもよい。例えば、動画像から抽出対象として特定した複数のフレームを、動画像から抽出して表示装置１０７に表示させる。そして、ユーザが、表示装置１０７に表示されているフレームを確認して、印刷装置に印刷させるフレームを選択する。これにより、ユーザは、動画像から抽出されたフレームのうち、最終的に出力させるフレームを絞りこむことができるため、出力対象のフレームを適切に選択することができる。
【００５７】
なお、Ｓ４０３における画質評価のためにフレームに設定される解析領域の数は、本実施例で示した５つに限定されるものではなく、特に動画の場合は被写体も動くことを考慮して、さらに端部の領域を追加してもよい。また、カメラの測距点に基づいて複数の解析領域を設定してもよい。また、複数の解析領域によりフレームの画質を評価するときに、フレームに設定した解析領域に応じて重み付けをしてもよい。例えば、中央部は周辺よりも重みを高くしてもよい。例えば、上記のような「勝ち点方式」を用いる場合には、中央部の解析領域に与えられた勝ち点を、他の解析領域に与えられる勝ち点よりも重みを付けてもよい。
【００５８】
また、本実施例においては、主フレームの前後の所定のフレーム枚数以内のフレームを、周辺フレームとしていた。ただし、１つの主フレームに対する周辺フレームの枚数は、固定の枚数である必要はなく、主フレームの間隔に応じて決定してもよい。例えば、主フレームの間隔が広いほど、多くの周辺フレームを選択するようにしてもよい。これにより、２つの主フレームに対応する周辺フレームが重複することを防ぎ、また多くの周辺フレームを選択することができる。
【００５９】
さらに、以上の実施例ではＳ４０５に示すように、主フレームごとに、順次、抽出フレームを決定（Ｓ４０４）していた。しかし、これに限らず、複数の主フレームに対して並行して、抽出フレームを実行するようにしてもよい。
【００６０】
また、図４に示したように、主フレーム、周辺フレームからブレ、ボケが少ないフレームを抽出する処理は、ユーザによるフレーム間隔に関する指示に加えて、上記の抽出処理を行う旨を、ユーザにより指示されたときに実行してもよい。即ち、図３からも明らかなように、本実施例では周辺フレームから、出力対象のフレームを抽出する場合がある。すると、ユーザが主フレームの間隔を想定していた場合であっても、その間隔よりも多少ずれた位置のフレームが抽出される可能性があるからである。よって、ユーザの指示に応じて、そのような抽出方法をユーザが許容することを確認してから、抽出処理を実行する。
【００６１】
一方、ユーザがフレーム間隔については指示したが、上記の抽出処理を行う旨を指示していない場合には、Ｓ４０１で決定した複数の主フレームを、出力対象のフレームとして抽出する。
【００６２】
（実施例２）
以下、本発明の第２の実施例について詳細に説明する。
実施例１では、Ｓ４０１において、まず動画において複数の主フレームを、所定のフレーム間隔で決定した後に、その複数の主フレームのそれぞれに対応する周辺フレームを決定していた。
【００６３】
よって、ある主フレームの周辺からフレームを抽出する場合に、動画のシーケンスにおける隣の主フレームの周辺から抽出したフレームの位置に関わらず、フレームの抽出を行う。そのため、動画から抽出されたフレームの間隔の、主フレームの間隔に対する誤差が大きくなってしまうことがある。
【００６４】
例えばユーザがフレーム間隔として３０枚を指定していて、主フレームの前後５枚を周辺フレームとして選択する場合について考える。このとき、図３の主フレーム３０１に対して、主フレーム３０１の前後５枚から抽出フレームＡが決定されて、主フレーム３０１の３０枚後の主フレーム３０２の前後５枚から、抽出フレームＢを抽出するとする。このとき抽出フレームＡと抽出フレームＢの間のフレーム枚数は、２０〜４０枚となる。
【００６５】
よって、ユーザの指示により決定されたフレーム間隔が、本来は３０枚であるにも拘わらず、実際に抽出されたフレームの間隔は２０〜４０枚であり、最大１０枚の誤差が生じてしまう。
【００６６】
そこで本実施例では、主フレームの位置を、他の主フレームに対応して抽出されたフレームの位置に応じて決定する。具体的には、ある主フレームを決定するときに、ひとつ前の主フレームに対応する抽出フレームを基準にして、次の主フレームを決定する方法を説明する。
【００６７】
図６は本実施例のフレーム抽出方法の動作を示すフローチャートである。
まず、動画において開始位置２０１と終了位置２０２の間の複数のフレームから、先頭の主フレームを決定する（Ｓ６０１）。この先頭の主フレームは、例えば開始位置２０１に対応するフレームとする。また、開始位置２０１と、周辺フレームを選択する範囲に応じて、先頭フレームの位置を決定してもよい。例えば、周辺フレームを選択する範囲が主フレームの前後５枚であれば、開始位置２０１のフレームから５枚先のフレームを、先頭の主フレームとしてもよい。これにより、開始位置２０１に位置するフレームから１１枚先までのフレームから、先頭の抽出フレームが決定されることになる。
【００６８】
次に、主フレームに対応する周辺フレームを選択する（Ｓ６０２）。そして、主フレームと周辺フレームの画質を評価し（Ｓ６０３）、その画質評価に基づいて、抽出フレームを決定する（Ｓ６０４）。このＳ６０２〜Ｓ６０４の処理は、図４のＳ４０２〜Ｓ４０４の処理と同様である。
【００６９】
ここで、Ｓ６０４において抽出されたフレームから、所定のフレーム間隔だけ先に進んだフレームが存在するか否かを判定する（Ｓ６０５）。まだ先にフレームが存在すれば、そのフレームを次の主フレームとしてＳ６０６に進む。このＳ６０６の処理については後述する。Ｓ６０４において、当該主フレームの次の主フレームが、動画における終了位置２０２を超える場合は、開始位置２０１と終了位置２０２の間の全てのフレームに対してＳ６０２〜Ｓ６０４の処理を終了したと判断して、Ｓ６０７に進む。Ｓ６０７では、Ｓ４０６と同様に、抽出対象の複数のフレームの出力処理を実行する。
【００７０】
Ｓ６０６では、Ｓ６０４において決定した抽出フレームの位置を基準にして、当該主フレームの次の主フレームの位置を決定する。具体的には、Ｓ６０４で抽出したフレームから、ユーザの指示により決定されたフレーム間隔だけ後のフレームを、主フレームとする。例えば、ユーザがフレーム間隔として３０枚を指定していた場合には、Ｓ６０４で抽出したフレームの３０枚後のフレームを、新たな主フレームとする。
【００７１】
そして、Ｓ６０６において決定された主フレームの位置に応じて、その主フレームに対応する周辺フレームを選択する。例えば、主フレームの前後５枚のフレームを、周辺フレームとする。
【００７２】
図７は、実施例２における主フレーム決定処理を説明するための図である。図６のＳ６０１もしくはＳ６０６において、主フレーム７０１が決定され、Ｓ６０４において、主フレーム７０１に対応する抽出フレームとして、抽出フレーム７０２が決定されたとする。すると、Ｓ６０６では、抽出フレーム７０２の３０枚後のフレームである、フレーム７０３が、新たな主フレームとして決定される。
【００７３】
このように、本実施例で示した方法では、動画から、ブレ、ボケの少ないフレームとして抽出されたフレームの位置を基準に、次の主フレームの位置を決定する。本実施例の主フレームの決定処理を説明するために、上述した例と同様に、ユーザがフレーム間隔として３０枚を指定していて、主フレームの前後５枚を周辺フレームとして選択するとする。
【００７４】
この場合、Ｓ６０４で抽出した抽出フレーム７０２の３０枚後のフレーム７０３が主フレームとなるため、抽出フレーム７０２の２５〜３５枚後のフレームから、ブレ、ボケの少ないフレームを抽出することになる。よって、動画から実際に抽出される複数のフレームの間隔は２５〜３５枚となる。即ち、ユーザの指示により決定されたフレーム間隔（３０枚）に対して、最大５枚の誤差に抑えることができる。上記の実施例１の場合、同じ条件で最大１０枚の誤差が発生するため、本実施例の処理により、上記の誤差を軽減できることがわかる。
【００７５】
このように、実施例２で説明した方法によれば、ブレ、ボケの少ないフレームとして抽出したフレームの位置を基準として、次の主フレームの位置を決定する。これにより、動画から実際に抽出される複数のフレームの間隔と、ユーザの指示により決定されたフレーム間隔との誤差を軽減することができる。
【００７６】
以上の実施例によれば、ユーザの指示に応じて決定したフレーム間隔に応じて、主フレームを特定して、その主フレームと、その主フレームの周辺のフレームを解析することで、ブレ、ボケの少ないフレームを抽出している。よって、動画に含まれる複数のフレームから、ユーザの指示に応じた間隔で、適切なフレームを抽出することができる。
【００７７】
また以上の実施例の処理は、動画像からフレームを抽出するときに限らず、複数の静止画像から、ユーザの指示に応じた間隔で静止画像を抽出するときにも応用できるものである。例えば、コンピュータ上に取りためた大量の静止画像の内容を、ユーザが瞬時に把握できるように、ユーザが指定した間隔で、ブレ、ボケの少ない画像を抽出するときに用いることができる。
【００７８】
また、以上の実施例で説明した画像処理装置は、表示装置１０７や出力装置１１０を含むものであったが、画像処理装置に接続されている、外部の表示装置に画像を表示させる、また外部の出力装置１１０に画像を出力する場合であってもよい。また、この画像処理装置の例としては、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）や、デジタルスチルカメラやデジタルビデオカメラ等の撮像装置、印刷装置、携帯電話などのモバイル機器など、種々の装置であってよい。
【００７９】
（他の実施形態）
前述した実施形態の機能を実現するように前述した実施形態の構成を動作させるプログラムを記録媒体に記憶させ、該記録媒体に記憶されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も上述の実施形態の範疇に含まれる。
【００８０】
該記録媒体は、コンピュータ読み取り可能な記録媒体である。また、前述のプログラムが記憶された記録媒体はもちろんそのプログラム自体も上述の実施形態に含まれる。かかる記録媒体としてはたとえばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ―ＲＯＭ、磁気テープ、不揮発性メモリカード、ＲＯＭを用いることができる。
【００８１】
また前述の記録媒体に記憶されたプログラム単体で処理を実行しているものに限らず、他のソフトウエア、拡張ボードの機能と共同して、ＯＳ上で動作し前述の実施形態の動作を実行するものも前述した実施形態の範疇に含まれる。
【００８２】
また、上述した実施例を１つのプロセッサが実行する場合に限らず、複数のプロセッサが協働することでも、上記の実施例の処理を実現することができる。
【符号の説明】
【００８３】
１０１  ＣＰＵ
１０２  ブリッジ部
１０３  ＲＯＭ
１０４  ＲＡＭ
１０５  ２次記憶装置
【図１】
0005804817.tif 000002
【図２】
0005804817.tif 000003
【図３】
0005804817.tif 000004
【図４】
0005804817.tif 000005
【図５】
0005804817.tif 000006
【図６】
0005804817.tif 000007
【図７】
0005804817.tif 000008