以下、本発明を実施するための形態(以下、「実施形態」という)を、図面を参照して以下の順序で説明する。
A.第1実施形態:
B.第2実施形態:
C.第3実施形態:
D.第4実施形態:
E.変形例:
A.第1実施形態:
図1は、本発明の第1実施形態に係る画像形成装置100の機能構成を示すブロックダイアグラムである。画像形成装置100は、制御部110と、画像形成部120と、操作表示部130と、記憶部140と、通信インターフェース部150(通信I/F部とも呼ばれる。)とを備えている。画像形成装置100は、通信インターフェース部150を介して近距離無線通信でスマートフォン200と接続される。これにより、画像形成装置100は、スマートフォン200で撮像して生成された動画像データを受信することができる。
近距離無線通信は、本実施形態では、BLUETOOTH(登録商標)のCLASS2を使用している。BLUETOOTH(登録商標)のCLASS2は、出力2.5mWの通信であり、画像形成装置100とスマートフォン200との距離が10m以内程度での通信が可能な近距離無線通信である。
制御部110は、RAMやROM等の主記憶手段、及びMPU(Micro Processing Unit)やCPU(Central Processing Unit)等の制御手段を備えている。また、制御部110は、各種I/O、USB(Universal Serial Bus)、バス、その他ハードウェア等のインターフェースに関連するコントローラー機能を備えている。制御部110は、画像形成装置100の全体を制御する。
制御部110は、フレーム画像生成部111と、特徴量演算部112と、フレーム画像抽出部113と、フレームメモリ114と、周期設定部115とを備えている。画像形成部120は、印刷媒体上に画像を形成する。
操作表示部130は、ディスプレイ131と、操作処理部132とを備えている。ディスプレイ131は、タッチパネルとして機能し、様々なメニューを入力画面として表示する。操作処理部132は、スタートボタンを含み、ユーザーの操作入力を受け付ける。
記憶部140は、非一時的な記録媒体であるハードディスクドライブやフラッシュメモリー等からなる記憶装置で、それぞれ制御部110が実行する処理の制御プログラムやデータを記憶する。記憶部140は、さらに、フレーム画像データを格納するための静止画像格納領域141と、人物の顔検出のための顔画像データ(登録顔画像データとも呼ばれる。)が登録されている人物登録データ格納領域142とを有している。人物登録データ格納領域142には、一般的な顔の検出に応じてフレーム画像データを抽出するための閾値を表すデータも格納されている。
図2は、第1実施形態に係る静止画像取得処理の内容を示すフローチャートである。ステップS10では、ユーザーは、操作表示部130を使用して特徴選択処理を実行する。特徴選択処理では、ユーザーは、動画像データから静止画像データを抽出する際の条件として抽出対象となる静止画像で検出されるべき特徴量の種類を選択することができる。
特徴量の種類には、顔検出のための特徴量や特定の人物を検出するための特徴量といった種類がある。顔検出のための特徴量は、単に人間の顔が大きく表示されていること等を定量的に表すことができる。特定の人物を検出するための特徴量は、他の人物から特定の人物を識別して、特定の人間の顔が大きく表示されていること等を定量的に表すことができる。特定の人物を検出するための特徴量の登録方法については、第3実施形態で詳しく説明する。
この際、周期設定部115は、フレーム画像の時間的なサンプリング間隔であるサンプリング周期の設定である周期設定入力を受け付ける操作表示画面(図示せず)を操作表示部130に表示させる。これにより、ユーザーは、サンプリング周期を設定することができる。
ステップS20では、制御部110のフレーム画像生成部111は、静止画像データ生成部として機能し、フレーム画像データ生成処理を実行する。フレーム画像データ生成処理では、フレーム画像生成部111は、たとえば30fpsのフレームレートの動画像データMDからフレーム画像データを生成する。
図3は、第1実施形態に係るフレーム画像データ生成処理の内容を示すデータフローダイアグラムである。図3には、上側にデータフローダイアグラムが示され、下側にGOP(Group of Pictures)が示されている。データフローダイアグラムは、動画像データMDからのフレーム画像データの流れを示している。フレーム画像データは、YUV画像データとして構成されている。フレーム画像データ生成処理は、動画像データMDから複数のフレーム画像データを抽出する処理であり、フレーム画像生成部111によって実行される。
フレーム画像データ生成処理には、たとえばMPEG−4(ISO/IEC 14496)やH.264に規定される処理が含まれる。フレーム画像データ生成処理では、フレーム画像生成部111は、Iフレーム(Intra−coded Frame)、Pフレーム(Predicted Frame)及びBフレーム(Bi−directional Predicted Frame)からフレーム画像データを生成する。
Iフレームとは、フレーム間予測を用いずに符号化されるフレームである。Iフレームとは、イントラフレームやキーフレームとも呼ばれる。Iフレームは、Pフレーム(Predicted Frame)やBフレーム(Bi−directional Predicted Frame)とともにGOPを構成する。Pフレームは、IフレームやPフレームとのフレーム間処理によってフレーム画像データの生成を可能とする。Bフレームは、Iフレーム、Pフレーム及び他のBフレームとの前後のフレーム間処理によってフレーム画像データの生成を可能とする。
動画像データは、時系列順に配列されている複数のフレーム画像データから生成される。複数のフレーム画像データは、時系列の前後のフレーム間で近似していることが多い。フレーム間予測とは、このような動画像データの性質を利用して、時系列的に前のフレーム画像から現在のフレーム画像を予測する技術である。
具体的には、画素ブロック毎の移動を推定し、移動後のフレーム間での画素ブロックの差分をDCT変換・量子化してGOP単位での圧縮率を高める技術である。Pフレームは、動きベクトルを使用してIフレームから再現することができる。動きベクトルは、各画素ブロックの移動ベクトルである。
フレーム画像生成部111は、Iフレームに対して逆離散コサイン変換(逆DCT変換とも呼ばれる。)を行うことによって、輝度データと色差データとを含むYUV画像データとしてのフレーム画像データを生成する。逆DCT変換は、たとえば8×8画素あるいは16×16の画素ブロック毎に実行される。フレーム画像生成部111は、再現されたフレーム画像データを制御部110のフレームメモリ114に格納する。
フレーム画像生成部111は、Pフレーム及びBフレームに対して逆離散コサイン変換を行うことによって差分データを生成する。フレーム画像生成部111は、差分データと動きベクトルとを使用してフレーム間処理を実行してフレーム画像データを生成する。動きベクトルは、動画像データMDのエンコード時に生成されたデータである。本処理は、MPEG−4やH.264に規定される通常の復号化処理である。
フレーム画像生成部111は、PフレームやBフレームに基づくフレーム画像データ生成処理を実行し、全てのフレーム画像データをフレームメモリ114に格納する。フレーム画像データをフレームメモリ114に格納する際には、フレーム画像生成部111は、フレーム画像データの時系列的な順序を表す番号を各フレーム画像データに紐づけて格納する。
図4は、第1実施形態に係るフレーム画像抽出処理の概要を示す説明図である。図4には、第1フレーム画像群FG1と、第2フレーム画像群FG2と、第3フレーム画像群FG3とが示されている。第1フレーム画像群FG1は、処理対象としての80個のフレーム画像データF1〜F80を示している。第2フレーム画像群FG2は、サンプリング処理中のフレーム画像データF1〜F80を示している。第3フレーム画像群FG3は、フレーム画像抽出処理完了後のフレーム画像データF1〜F80を示している。
ステップS30では、フレーム画像生成部111は、サンプリング処理を実行する。本実施形態では、特徴量演算部112は、ユーザーの選択に基づいて、8フレーム間隔のサンプリング周期(30fpsの場合で0.27秒)でサンプリング対象フレームを決定するものとする。この例では、サンプリング対象フレームは、第1フレーム画像群FG1において菱形の記号で表されている8個のフレーム画像データF9,F18,F27,F36,F45,F54,F63,F72となる。サンプリング対象フレームの画像データは、サンプリング対象静止画像データとも呼ばれる。
ステップS40では、制御部110の特徴量演算部112は、特徴量計算処理を実行する。特徴量計算処理では、特徴量演算部112は、選択された特徴量の種類に基づいて特徴量を計算する。特徴量演算部112は、たとえば周知のOpenCV(Open Source Computer Vision Library)を使用して人物の検出や特定を実行することができる。サンプリング対象静止画像データの特徴量は、第1の特徴量とも呼ばれる。
具体的には、特徴量演算部112は、人物登録データ格納領域142に登録されている登録顔画像データと、たとえばHOG(Histograms of Oriented Gradients)特徴やHaar−Like特徴とに基づいて特定の人物の特徴を定量的に表している特徴量を計算する。特徴量の計算では、SVM(Support Vector Machine)などの機械学習を利用することができる。
ステップS50では、フレーム画像抽出部113は、閾値設定処理を実行する。閾値設定処理では、フレーム画像抽出部113は、人物登録データ格納領域142から顔の検出に応じてフレーム画像データを抽出するための閾値を表すデータを読み出し、そのデータを使用して閾値を決定する。閾値は、機械学習によって自動的に計算され、人物登録データ格納領域142に格納される。
図5は、第1実施形態に係るフレーム画像抽出処理(ステップS60)の内容を示すフローチャートである(図3参照)。ステップS61では、フレーム画像抽出部113は、各サンプリング対象フレームが抽出対象であるか否かを判断する。フレーム画像抽出部113は、各サンプリング対象フレームの特徴量が閾値以上であるか否かに基づいて抽出対象であるか否を判断する。閾値は、人物登録データ格納領域142から読み出された値である。
フレーム画像抽出部113は、サンプリング対象フレームが抽出対象である場合には、処理をステップS62に進める。この例では、特徴量が閾値以上のサンプリング対象フレームは、第1フレーム画像群FG1において、3個のフレーム画像データF18,F45,F54となる。サンプリング対象フレーム(サンプリング対象静止画像データ)は、抽出対象である場合には、第1の抽出対象静止画像データとも呼ばれる。
ステップS62では、特徴量演算部112は、抽出候補フレーム画像データとして、特徴量が閾値以上のサンプリング対象フレームから予め設定された範囲内(この例では後側の8個)のフレーム画像データ(隣接静止画像データとも呼ばれる。)を選択する(第2フレーム画像群FG2参照)。特徴量が閾値以上のサンプリング対象フレームF18,F45,F54は、抽出対象サンプリング対象フレームとも呼ばれる。
具体的には、特徴量演算部112は、たとえばサンプリング対象フレームF18については、その後側の8個のフレーム画像データF19〜F26を選択する。さらに、特徴量演算部112は、サンプリング対象フレームF45については、その後側の8個のフレーム画像データF46〜F53を選択し、サンプリング対象フレームF54については、その後側の8個のフレーム画像データF55〜F62を選択する。
ステップS63では、特徴量演算部112は、抽出対象サンプリング対象フレームの直前のサンプリング対象フレームが抽出対象サンプリング対象フレームであるか否かを判断する。特徴量演算部112は、直前のサンプリング対象フレームが抽出対象サンプリング対象フレームである場合には、処理をステップS65に進め、直前のサンプリング対象フレームが抽出対象サンプリング対象フレームでない場合には、処理をステップS64に進める。
具体的には、特徴量演算部112は、サンプリング対象フレームF18については、その直前のサンプリング対象フレームF9が抽出対象サンプリング対象フレームでないので、処理をステップS64に進める。この点は、サンプリング対象フレームF45についても同様である。一方、特徴量演算部112は、サンプリング対象フレームF54については、その直前のサンプリング対象フレームF45が抽出対象サンプリング対象フレームなので、処理をステップS65に進める。
ステップS64では、特徴量演算部112は、抽出候補フレーム画像データとして、抽出対象サンプリング対象フレームから予め設定された範囲内(この例では前側の8個)のフレーム画像データ(隣接静止画像データとも呼ばれる。)を選択する。具体的には、サンプリング対象フレームF18については、8個のフレーム画像データF10〜F17が抽出候補フレーム画像データとして選択され、サンプリング対象フレームF45については、8個のサンプリング対象フレームF37〜F44が抽出候補フレーム画像データとして選択される。
一方、抽出対象サンプリング対象フレームF54については、その前側のフレーム画像データF46〜F53が選択されない。フレーム画像データF46〜F53は、既に抽出対象サンプリング対象フレームF45の後側の8個のフレーム画像データとして選択済みだからである。
なお、予め設定された範囲は、第1の抽出対象静止画像データ(たとえばサンプリング対象フレームF54)の直前のサンプリング対象静止画像データ(たとえばサンプリング対象フレームF45)と、第1の抽出対象静止画像データの直後のサンプリング対象静止画像データ(たとえばサンプリング対象フレームF63)との間において設定することができる。
このように、特徴量演算部112は、フレーム画像データF10〜F17,F19〜F26,F37〜F44,F46〜F53及びF55〜F62を抽出候補フレーム画像データとして選択する。すなわち、特徴量演算部112は、所定のフレーム間隔でサンプリング対象フレームを設定して特徴量を計算することによって、多数のフレーム画像データのうちの抽出対象である可能性が高い一部のフレーム画像データに限定して特徴量(第2の特徴量とも呼ばれる。)の計算を行うことができる。
本方法は、本願発明者による以下のような知見に基づいて創作されたものである。すなわち、動画の各フレーム画像に含まれる特徴的な部分は、局所的なフレーム(極短時間に相当するフレーム画像)にのみ現れるということは少ない。例えば、人物の顔を特徴として特徴量を計算する場合には、動画中の数フレーム画像のみから顔が検出されることはなく、ある程度連続したフレーム(たとえば数十フレーム)に撮影されていると考えられる。
本願発明者は、このような動画像の性質を考慮して、特徴量の計算対象となる被写体が撮影されている一連のシーンをサンプリング対象フレームで検出し、そのシーンを構成するフレーム画像データ(サンプリング対象フレームの近傍のフレーム)についてのみ特徴量の計算を行う方法を創作した。これにより、本願発明者は、動画像データから静止画像データを抽出する処理における特徴量の計算精度と処理負担のトレードオフの問題を解決する方法を実現した。
ステップS65では、特徴量演算部112は、特徴量計算処理を実行する。この例では、特徴量計算処理の内容は、ステップS40の特徴量計算処理と同一である。すなわち、この例では、第2の特徴量は、第1の特徴量と同一であるが、相互に相違する特徴量とすることもできる。
ステップS66では、フレーム画像抽出部113は、静止画像データ抽出部として機能し、抽出対象選別処理を実行する。抽出対象選別処理では、フレーム画像抽出部113は、ステップS61の処理と同様の処理を実行し、各抽出候補フレーム画像データの特徴量が閾値以上であるか否かを判断し、特徴量が閾値以上である抽出候補フレーム画像データを選別する。
この例では、フレーム画像抽出部113は、第3フレーム画像群FG3に示されるように、も含めてフレーム画像データF12〜F17,F19〜F21,F40〜F44,F46〜F47,F50〜F53,F55〜F61を第2の抽出対象静止画像データとして選別する。第2の抽出対象静止画像データは、抽出対象サンプリング対象フレーム(第1の抽出対象静止画像データとも呼ばれる。)とともに抽出対象フレーム画像データを構成する。
ステップS67では、フレーム画像抽出部113は、抽出対象フラグ処理を実行する。抽出対象フラグ処理では、フレーム画像抽出部113は、抽出対象フレーム画像データに抽出対象であることを示すフラグを設定する。
ステップS68では、フレーム画像抽出部113は、グループ化処理を実行する。グループ化処理では、フレーム画像抽出部113は、抽出対象サンプリング対象フレームを中心として、フラグが設定されている複数の抽出対象フレーム画像データをグループ化する(図3参照)。
具体的には、フレーム画像抽出部113は、抽出対象サンプリング対象フレームF18を中心として第1フレーム画像データ群FE1のグループを生成する(第3フレーム画像群FG3参照)。第1フレーム画像データ群FE1には、時系列的に連続している10個の抽出対象フレーム画像データF12〜F21が含まれる。
さらに、フレーム画像抽出部113は、抽出対象サンプリング対象フレームF45,F54を中心として、それぞれ第2フレーム画像データ群FE2と第3フレーム画像データ群FE3の各グループを生成する。第2フレーム画像データ群FE2には、時系列的に連続している8個の抽出対象フレーム画像データF40〜F47が含まれる。第3フレーム画像データ群FE3には、時系列的に連続している12個の抽出対象フレーム画像データF50〜F61が含まれる。
なお、この例では、2つのフレーム画像データF47,F50の間のフレーム画像データF48,F49が抽出対象フレーム画像データとして選別されていないので、第2フレーム画像データ群FE2と第3フレーム画像データ群FE3とにグループ化されている。しかしながら、仮にフレーム画像データF48,F49が抽出対象フレーム画像データとして選別されていた場合には、第3フレーム画像データ群FE3は、第2フレーム画像データ群FE2に併合された状態でグループ化されることになる。
制御部110は、最終フレーム画像データまでステップS20乃至ステップS60の処理を繰り返して実行する(ステップS70)。
ステップS80では、制御部110は、フレーム画像データ出力処理を実行する。フレーム画像データ出力処理では、制御部110は、第1フレーム画像データ群FE1、第2フレーム画像データ群FE2及び第3フレーム画像データ群FE3を記憶部140の静止画像格納領域141に格納する。
これにより、第1フレーム画像データ群FE1、第2フレーム画像データ群FE2及び第3フレーム画像データ群FE3は、3つの連続画像データファイルとして管理され、グループ毎に取り扱うことができる。静止画像格納領域141には、第1フレーム画像データ群FE1、第2フレーム画像データ群FE2及び第3フレーム画像データ群FE3の抽出対象フレーム画像データが、それぞれDCT変換されてJPEG静画像データとして格納される(図3参照)。
このように、第1実施形態に係る画像形成装置100によれば、特徴量の計算対象となる被写体が撮影されている一連のシーンをサンプリング対象フレームで検出し、そのシーンを構成するフレーム画像データについてのみ特徴量の計算を行うことができる。これにより、動画像データから静止画像データを抽出する処理における特徴量の計算精度と処理負担のトレードオフの問題を解決することができる。
第1実施形態では、全フレームについてフレーム画像データを生成し、その中から所定の周期でサンプリングしているが、このような方法に限定されない。具体的には、たとえばサンプリング対象フレームの検出の際には、サンプリング対象フレームだけを動画像データから生成するようにしてもよい。
具体的には、サンプリング対象フレームがIフレームである場合には、Iフレームだけでフレーム画像データを生成することができる。Iフレームは、そのフレーム全ての情報を保持したフレームであり、フレーム間予測を用いずに符号化されるフレームだからである。サンプリング対象フレームがPフレームである場合には、フレーム間予測で関連するIフレーム及びPフレームを使用してフレーム画像データを生成することができる。サンプリング対象フレームがBフレームである場合には、フレーム間予測で関連するIフレーム、Pフレーム及びBフレームを使用してフレーム画像データを生成することができる。
さらに、たとえばIフレームだけをサンプリングするようにしてもよい。こうすれば、フレーム間予測を実行する必要が無いので、処理負担を顕著に軽減することができる。あるいは、Iフレーム及びPフレームだけをサンプリングするようにしてもよい。Pフレームのフレーム間予測にはBフレームが使用されないので、IフレームとPフレームだけからフレーム画像データを生成することができるからである。
Iフレーム、あるいはIフレーム及びPフレームのサンプリングでは、たとえばサンプリング周期に一致するフレームあるいはサンプリング周期内で最大間隔のフレームをサンプリングすることでサンプリング周期を実現することができる。サンプリング周期内において、Iフレーム及びPフレームのいずれも存在しない場合には、その判断に基づいてBフレームを使用してフレーム画像データを生成するようにしてもよい。
B.第2実施形態:
図6は、第2実施形態に係る静止画像取得処理の内容を示すフローチャートである。図7は、第2実施形態に係るフレーム画像抽出処理の内容を示すフローチャートである。第2実施形態に係る静止画像取得処理は、フレーム画像抽出処理(ステップS60)がフレーム画像抽出処理(ステップS600)に変更されている点で第1実施形態に係る静止画像取得処理と相違する。フレーム画像抽出処理(ステップS600)は、時系列における特徴量の極大値の近傍のフレーム画像を抽出する点に特徴を有している。
特徴量は、ユーザーが望む静止画像であることを定量的に表すように設定されている。したがって、特徴量の極大値は、撮影者が被写体を設営する際に意図通りの画像が撮影された瞬間のフレーム画像であることを表すように意図されている。この例では、意図通りの画像とは、特定の人物の顔が正面から大きく撮影できたような場合、あるいは笑顔度が高い人物の顔が撮影された画像を意味する。笑顔度は、たとえば周知の3Dモデルフィッティングの手法を使用し、目や口の形状、さらに目や口の周辺の画像を使用する統計的識別手法により算出することができる。
しかしながら、特徴量が極大である画像が必ずしもユーザーが望む画像とは必ずしも一致しない。具体的には、たとえば親であるユーザーから見て、親が望む子供の表情が写っている画像は、笑顔度が極大値とは限らない。第2実施形態は、特徴量の極大値の近傍のフレーム画像を抽出することによって、笑顔度等でフレーム画像を絞り込み、その中からユーザーが好みのフレーム画像を選択できるようにしている。
ステップS610では、フレーム画像抽出部113は、極大値探索処理を実行する。極大値探索処理では、フレーム画像抽出部113は、時系列における特徴量の極大値を探索する。極大値とは、特徴量の局所的な(つまり、ある点の近傍における)最大値を意味している。
図8は、第2実施形態に係るフレーム画像抽出処理の概要を示す説明図である。図8は、時系列における特徴量の変動を表している特徴量曲線FCを示している。この例では、特徴量曲線FCは、第1の極大値LM1と、第2の極大値LM2と、第3の極大値LM3とを有している。図8では、最小値が0となり、最大値が1となるように特徴量が正規化されている。第1の極大値LM1は特徴量0.65を有し、第2の極大値LM2は特徴量0.8を有し、第3の極大値LM3は特徴量0.5を有している。
この例では、特徴量曲線FCは、サンプリング対象フレームの特徴量を使用して生成されたスプライン曲線として構成されている。スプライン曲線には、サンプリング対象フレームの特徴量を通過する曲線と、サンプリング対象フレームの特徴量を必ずしも通過しないスプライン曲線(たとえばB−スプライン曲線)とがある。特徴量曲線FCは、スプライン曲線に限られず、サンプリング対象フレームの特徴量あるいはその近傍を通過する近似曲線であればよい。
ステップS620では、フレーム画像抽出部113は、閾値計算処理を実行する。閾値計算処理では、フレーム画像抽出部113は、この例では、極大値に対する予め設定された所定の割合である80%として閾値を計算する。具体的には、たとえば第1の極大値LM1(特徴量0.65)に対する閾値Th1は、0.52となり、第2の極大値LM2(特徴量0.8)に対する閾値Th2は、0.64となり、第3の極大値LM3(特徴量0.5)に対する閾値Th3は、0.4となる。
ステップS630では、フレーム画像抽出部113は、隣接極小値探索処理を実行する。隣接極小値探索処理では、フレーム画像抽出部113は、各極大値の近傍において閾値を超える極小値を探索する。具体的には、フレーム画像抽出部113は、第3の極大値LMの近傍において閾値Th3(0.4)を超える極小値ALを発見することができる。
ステップS640では、フレーム画像抽出部113は、隣接極小値が存在した場合には、処理をステップS655に進め、隣接極小値が存在しなかった場合には、処理をステップS650に進める。この例では、フレーム画像抽出部113は、第1の極大値LM1および第2の極大値LM2については処理をステップS650に進める。一方、第3の極大値LMの始期時刻については処理をステップS655に進め、第3の極大値LMの終期時刻については処理をステップS650に進める。
ステップS650では、フレーム画像抽出部113は、閾値との交差時刻を取得する。閾値との交差時刻は、スプライン曲線を使用して求めることもできるし、あるいは閾値より大きく閾値に最も近い特徴量を有するフレーム画像データの時刻として求めることもできる。この例では、フレーム画像抽出部113は、第1の極大値LM1については始期時刻t11と終期時刻t12とを取得し、第2の極大値LM2については始期時刻t21と終期時刻t22とを取得し、第3の極大値LM3については終期時刻t32を取得する。
ステップS655では、フレーム画像抽出部113は、隣接極小値の時刻を取得する。隣接極小値の時刻は、スプライン曲線を使用して求めることもできるし、あるいは隣接極小値の近傍のフレーム画像データの時刻として求めることもできる。この例では、フレーム画像抽出部113は、第3の極大値LM3について隣接極小値ALの時刻である始期時刻t31を取得する。
ステップS660では、フレーム画像抽出部113は、静止画像データ抽出部として機能し、抽出対象選別処理を実行する。抽出対象選別処理では、フレーム画像抽出部113は、各極大値の近傍において始期時刻と終期時刻との間の所定の時間範囲内のフレーム画像データを抽出対象フレーム画像データとして選別する。所定の時間範囲は、換言すれば各極大値と始期時刻(又は隣接極小値の時刻)との間の時間と、各極大値と終期時刻(又は隣接極小値の時刻)との間の時間とを使用して設定される。
この例では、フレーム画像抽出部113は、第1の極大値LM1については始期時刻t11と終期時刻t12との間のフレーム画像データを選別し、第2の極大値LM2については始期時刻t21と終期時刻t22との間のフレーム画像データを選別し、第3の極大値LM3については始期時刻t31と終期時刻t32との間のフレーム画像データを選別する。
ステップS670では、フレーム画像抽出部113は、抽出対象フラグ処理を実行する。抽出対象フラグ処理では、フレーム画像抽出部113は、抽出対象フレーム画像データに抽出対象であることを示すフラグを設定する。
ステップS680では、フレーム画像抽出部113は、グループ化処理を実行する。グループ化処理では、フレーム画像抽出部113は、フラグが設定されている複数の抽出対象フレーム画像データを極大値毎にグループ化する(図3参照)。これにより、フレーム画像抽出部113は、第1の極大値LM1、第2の極大値LM2及び第3の極大値LM3に対して、それぞれフレーム画像データ群FE1a,FE2a,FE3aを連続画像データファイルとして生成することができる。
このように、第2実施形態に係るフレーム画像抽出処理は、特徴量の極大値を探索し、極大値の80%の閾値との交差時刻(又は隣接極小値の時刻)を使用して、特徴量の極大値の近傍のフレーム画像データを抽出する。これにより、画像形成装置100は、極大値のピーク形状(あるいは傾斜)が急峻である場合は抽出するフレーム数を少なくして効率的な抽出を可能とする一方、極大値のピーク形状(あるいは傾斜)が緩やかである場合には、長時間に亘って安定的に意図通りの画像が取得できたとして、抽出するフレーム数を多くすることができる。
なお、本実施形態では、極大値の80%の閾値との交差時刻が使用されているが、数値は80%に限定されず、特徴量の極大値の近傍を決定するための時刻の設定方法も閾値と交差時刻を使用する方法に限定されない。第2実施形態に係るフレーム画像抽出処理は、極大値のピーク形状が緩やかである場合には、抽出するフレーム数を少なくする一方、極大値のピーク形状が緩やかである場合には、抽出するフレーム数を多くするように構成されていればよい。
また、本実施形態では、特徴量曲線FCは、サンプリング対象フレームの特徴量を使用して生成された近似曲線として構成されているが、必ずしもサンプリング対象フレームの特徴量を使用する必要はなく、全てのフレーム画像データを使用するようにしてもよい。
C.第3実施形態:
図9は、第3実施形態に係る静止画像取得処理の内容を示すフローチャートである。第3実施形態に係る静止画像取得処理は、人物登録処理(ステップS100)が追加されている点と、特徴量計算処理(ステップS40)が特徴量計算処理(ステップS400)に変更されている点とで第1実施形態及び第2実施形態に係る静止画像取得処理と相違する。
図10は、第3実施形態に係る人物登録処理の内容を示すフローチャートである。ステップS110では、ユーザーは、人物登録処理用の動画像データ読込処理を実行する。動画像データ読込処理では、ユーザーは、操作表示部130を使用して人物登録処理用の動画像データを選択して動画像データの読込を指示する。動画像データは、たとえばワイヤレス通信(図示せず)や可搬記憶媒体(図示せず)を利用して画像形成装置100で読込可能とすることができる。
ステップS120では、制御部110の特徴量演算部112は、人物検出処理を実行する。人物検出処理では、特徴量演算部112は、動画像データからフレーム画像データを生成し、フレーム画像データファイルによって表される静止画像中から人物と思われる特徴を有する画像領域である人物検出領域を抽出する。特徴量演算部112は、たとえばHOG(Histograms of Oriented Gradients)特徴量に基づいて、SVM(Support Vector Machine)などの機械学習を利用して人物検出領域を抽出することができる。
ステップS130では、特徴量演算部112は、人物分類処理を実行する。人物分類処理では、特徴量演算部112は、たとえば予め登録されている家族の誰かに人物検出領域中の人物を分類する。本実施形態では、家族として父親A、母親B、息子C及び娘Dが操作表示部130を使用してユーザーによって予め登録されているものとする。
特徴量演算部112は、予め設定されている画像領域よりも大きなサイズで人物の顔が表示されているフレーム画像データを選択し、自動的に複数のグループに分類して操作表示部130に表示する。ユーザーは、操作表示部130を介して、複数のグループのそれぞれが父親A、母親B、息子C及び娘Dあるいは他人の何れに該当するかを選択して入力する。
ユーザーは、さらに、たとえば息子Cのグループに父親Aの静止画像が含まれているといった誤認識に応じて修正動作を行うことができる。これにより、特徴量演算部112は、機械学習の精度を向上させることができる。特徴量演算部112は、父親A、母親B、息子C及び娘Dをレコードとしてデータベースを生成する。データベースには、父親A、母親B、息子C及び娘Dの顔画像のHOG特徴量が登録される。
ステップS140では、特徴量演算部112は、服装選択処理を実行する。服装選択処理では、特徴量演算部112は、父親A、母親B、息子C及び娘Dのそれぞれが着ている服装についてのHOG特徴量をフレーム画像データから抽出する。これにより、特徴量演算部112は、父親A、母親B、息子C及び娘Dの顔画像のHOG特徴量に加えて、その服装画像のHOG特徴量を使用して人物を特定することができる。各人物は、同一の服装を着ることが多く、相違する人物は、相違する服装を着る傾向があるからである。
ステップS150では、特徴量演算部112は、データベース登録処理を実行する。データベース登録処理では、特徴量演算部112は、父親A、母親B、息子C及び娘Dについてのデータベースを記憶部140の人物登録データ格納領域142に格納する。データベースには、父親A、母親B、息子C及び娘Dをレコードとし、それぞれの顔画像のHOG特徴量、服装画像のHOG特徴量、顔画像の機械学習データ、服装画像の機械学習データに加え、身長その他のユーザー入力可能な属性データが含まれる。
ユーザーは、さらに、デジタルカメラで撮像した静止画像データを使用して各人物の顔画像や服装画像のデータを登録することもできる。特徴量演算部112は、このような画像データを使用して、顔画像のHOG特徴量及び服装画像のHOG特徴量を生成して、データベースに登録することができる。なお、本実施形態では、HOG特徴量は、画像認識における計算負荷の小さいYUV画像データに基づいて生成されているものとする。
図11は、第3実施形態に係る特徴量計算処理の内容を示すフローチャートである。特徴量計算処理(ステップS400)では、特徴量演算部112は、比較的に処理負荷が小さい候補領域高速検出処理を実行して所定の特徴を有する領域である候補領域を検出し、検出された各候補領域において人物を特定するための特徴量を計算する(比較的に処理負荷が大きい)。
ステップS410では、特徴量演算部112は、候補領域高速検出処理を実行する。候補領域高速検出処理では、特徴量演算部112は、フレーム画像データから候補領域を検出する。候補領域高速検出処理は、人物認識処理(後述)よりも処理速度を優先して構成されている検出処理方法を採用している。
具体的には、特徴量演算部112は、広く使用されている顔検出処理、たとえばHaar−like検出器を使用する多段フィルタ処理を実行する。ただし、多段フィルタ処理は、段数を少なくして計算速度を優先するように構成されている。したがって、候補領域高速検出処理には、ユーザーが望まない領域を候補領域として検出することが許容されている。
ステップS420では、特徴量演算部112は、候補領域切り出し処理を実行する。候補領域切り出し処理では、特徴量演算部112は、ビットマップ画像データであるフレーム画像データにおいて検出された各候補領域の位置を表す座標や大きさを表す情報である候補領域情報を取得し、候補領域情報を使用して各候補領域のビットマップ画像データを生成する。
ステップS430では、特徴量演算部112は、複数の候補領域のビットマップ画像データの画素数(面積)の総和とフレーム画像データの全画素数(全面積)とを比較する。本願発明者は、複数の候補領域が相互に重なり合って、複数の候補領域の画素数の総和がフレーム画像データの画素数を超え、却って計算量が増大する可能性があるという課題を見いだした。
特徴量演算部112は、複数の候補領域の画素数の総和がフレーム画像データの画素数未満のときには、処理をステップS440に進め、複数の候補領域の画素数の総和がフレーム画像データの画素数以上のときには、処理をステップS450に進める。これにより、特徴量演算部112は、上述の計算量の増大という課題を解決することができる。
ステップS440では、特徴量演算部112は、各候補領域のビットマップ画像データに基づいて各特徴量を計算し、その最大値を特徴量として出力する。最大値としたのは、同一人物の画像は、各ビットマップ画像データに1つだけのはずだからである。ステップS450では、特徴量演算部112は、フレーム画像データ全体としてのビットマップ画像データに基づいて特徴量を計算して出力する。
具体的には、特徴量演算部112は、人物認識処理を実行する。人物認識処理は、特定の人物である可能性(確度)を特徴量として定量的に表す処理である。人物認識処理では、フレームメモリ114に格納されている複数のフレーム画像データのそれぞれについてステップS10で選択された特徴(この例では、特徴選択処理(ステップS10)で娘Dが選択されたものとする。)が含まれているか否かを判断する。特徴量演算部112は、輝度データと色差データとを含むYUV画像データとしてのフレーム画像データから娘Dの検出を試みる。
特徴量演算部112は、たとえば周知のOpenCV(Open Source Computer Vision Library)を使用して人物の検出や特定を実行することができる。特徴量演算部112は、フレーム画像データの中から人物を検出し、検出された人物の顔が娘Dの顔であるか否かを判断する。この判断は、娘Dの顔画像のHOG特徴量を使用して行われる。
特徴量演算部112は、娘Dの顔であるか否かの判断の確度が低い場合には、娘Dの服装画像のHOG特徴量を使用して娘Dであるか否かを判断する。服装画像のHOG特徴量は、特に、娘Dを横方向から撮影し、顔画像のサイズが小さい場合等に補助的に使用可能である。特徴量演算部112は、さらに娘Dの笑顔度も定量化して特徴量の算出に利用することもできる。このように、特徴量演算部112は、演算量が多く複雑な処理を各候補領域に対して実行することができる。
このように、第3実施形態に係るフレーム画像抽出処理は、候補領域高速検出処理を実行して所定の特徴を有する領域である候補領域を検出し、検出された各候補領域において計算負荷の大きな特徴量の計算を実行する。これにより、第3実施形態は、特徴量の計算対象を低減させることができるので、全体として特徴量の計算負荷を過大とすることなく、処理負担が比較的に大きくて高精度の計算方法を採用することができる。
なお、本実施形態では、候補領域高速検出処理(ステップS410)と人物認識処理(ステップS440,S450)は、相互に相違する種類の処理としているが、同一種類の処理で精度だけが相違するようにしてもよい。
また、本実施形態は、第1実施形態及び第2実施形態の少なくとも一方と組み合わせて実装することもできるし、第1実施形態及び第2実施形態のいずれとも組み合わせることなく実装することも可能である。さらに、第1実施形態乃至第3実施形態に係るフレーム画像抽出処理は、画像形成装置100でなく画像処理装置として機能するスマートフォン200側で実行するようにしてもよい。
D.第4実施形態:
図12は、第4実施形態に係る静止画像取得処理の内容を示すフローチャートである。第4実施形態に係る静止画像取得処理は、少なくともフレーム画像データ出力処理(ステップS80)が印刷出力処理(ステップS800)に変更されている点で第1実施形態乃至第3実施形態に係る静止画像取得処理と相違する。
図13は、第4実施形態に係る印刷出力処理の内容を示すフローチャートである。この例では、画像形成装置100は、コンビニエンスストア等に設置され、金銭の投入その他の入金処理に応じて印刷出力可能とされる。
ステップS810では、ユーザーは、画像形成装置100の図示しない金銭投入用のスリットから金銭を投入する。この例では、ユーザーは、画像形成装置100に500円の硬貨を投入したものとする。画像形成装置100では、利用可能な印刷サイズには、L版(127mm×89mm)と、2L版(127mm×178mm)とがあるものとする。この例では、印刷サイズとしてL版(127mm×89mm)が初期設定として設定され、その単価は、30円であるものとする。
ステップS820では、制御部110は、印刷可能枚数計算部として機能し、印刷可能枚数を計算する。制御部110は、印刷サイズの設定がなされるまでは、初期設定(L版)に基づいて16枚(=500円(入金処理で入金された金額)÷30円(単価))を印刷可能枚数として計算する。
ステップS830では、制御部110は、グループ数計算処理を実行する。グループとは、グループ化処理(ステップS68及びステップS680)によってグループ化された時系列的に連続している複数のフレーム画像データ(連続画像データファイルを構成)である。グループには、たとえば第1フレーム画像データ群FE1、第2フレーム画像データ群FE2及び第3フレーム画像データ群FE3(第1実施形態)や3つのフレーム画像データ群FE1a,FE2a,FE3a(第2実施形態)がある。
ステップS840では、制御部110は、印刷可能枚数がグループ数以上であるか否かを判断する。印刷可能枚数がグループ数未満の場合には、制御部110は、処理をステップS850に進め、印刷可能枚数がグループ数以上の場合には、制御部110は、処理をステップS860に進める。ステップS850では、制御部110は、第1の印刷対象画像選択処理を実行する。なお、第2の印刷対象画像選択処理については後述する。
図14は、第4実施形態に係る印刷対象画像選択処理の内容を示すフローチャートである。ステップS851では、特徴量演算部112は、グループ毎の平均特徴量を計算する。平均特徴量は、たとえば各グループの上位10個のフレーム画像データの特徴量の平均値として算出することができる。
図15は、第4実施形態に係る印刷対象画像選択処理における操作表示画面を示す説明図である。図15(a)は、シーン選択画面として代表静止画像をグループ毎に表示している。この例では、各グループに含まれている複数のフレーム画像データ群は、各シーンを構成しているものとする。図15の操作表示画面では、タッチパネルとして機能する操作表示部130において操作(ピンチイン、ピンチアウト、ドラッグ等)することで表示された画像の拡大縮小、移動などを行うことが可能である。
図15(a)では、操作表示部130のディスプレイ131には、3枚の代表静止画像F55,F43,F17と、高評価方向にスクロールするためのスクロールアイコンSC1と、低評価方向にスクロールするためのスクロールアイコンSC2と、残枚数(印刷可能枚数)と残シーン数とを表示する表示領域RCとが表示されている。ディスプレイ131は、タッチパネルとして機能し、スワイプすることによって画面をスクロールさせることも可能である。
ステップS852では、ディスプレイ131は、平均特徴量が大きい順に代表静止画像を表示する。ディスプレイ131は、表示制御部として機能する制御部110によって生成された表示データに基づいて表示する。表示データは、特徴的な領域と紐づけて代表静止画像を表示するためのデータである。表示データは、複数の代表静止画像のそれぞれの特徴的な領域を、複数の代表静止画像のそれぞれとの関係が分かるように表示するように構成されている。代表静止画像を表示する順序は、平均特徴量に限られず特徴量を使用して決定された順序であればよい。
この例では、ディスプレイ131は、3枚の代表静止画像F55,F43,F17を左側から平均特徴量が大きい順に表示している。代表静止画像F55は、第3フレーム画像データ群FE3を代表するフレーム画像データF55によって表される静止画像である。代表静止画像F43は、第2フレーム画像データ群FE2を代表するフレーム画像データF43によって表される静止画像である。代表静止画像F17は、第1フレーム画像データ群FE1を代表するフレーム画像データF17によって表される静止画像である(第1実施形態の図4参照)。
この例では、ディスプレイ131は、代表静止画像F55,F43,F17の上側には、特徴的な領域の画像である特徴画像Q55,Q43,Q17を表示している。これにより、ユーザーは、代表静止画像F55,F43,F17を含むグループが自動的に選択された基準(又は理由)を確認することができる。この例では、代表静止画像F55,F43,F17の各グループは、笑顔度の高い娘Dを被写体として含む静止画像を抽出するための特徴量に基づいて抽出されているものとする。
具体的には、特徴画像Q55は、第3実施形態に係るフレーム画像抽出処理において代表静止画像F55が抽出される際の特徴量の算出に使用された候補領域の画像である。特徴画像Q43は、代表静止画像F43が抽出される際の特徴量の算出に使用された候補領域の画像である。特徴画像Q17は、代表静止画像F17が抽出される際の特徴量の算出に使用された候補領域の画像である。
ステップS853では、ユーザーは、シーンの選択処理としてグループを選択する。この例では、ユーザーは、ディスプレイ131に表示されている代表静止画像F43(又は特徴画像Q43)をタッチしてシーンを選択し、シーン選択アイコンM1をタッチして確定したものとする。
図15(b)は、画像選択画面として代表静止画像F43の前後の2つの静止画像F42、F44を表示している。図15(b)では、ディスプレイ131には、3枚の静止画像F42,F43,F44と、特徴画像Q42,Q43,Q44と、残枚数と残シーン数とを表示する表示領域RCと、時系列の前側にスクロールするためのスクロールアイコンSC3と、後側にスクロールするためのスクロールアイコンSC4とが表示されている。
これにより、以下のようなトレードオフの問題を解決することができる。すなわち、動画像データから静止画像データを抽出した後において、多数の静止画像の中から所望の静止画像を選択するためには、各静止画像の大きさを小さくして一覧表示を行いたいという要請がある。一方、各静止画像の大きさを小さくすると、各静止画像の特徴的な画像領域(たとえば顔画像)が小さくなってしまい、静止画像の選択が困難になるというトレードオフの問題である。
ステップS854では、ユーザーは、画像選択処理としてフレーム画像データを選択する。この例では、ユーザーは、ディスプレイ131に表示されている静止画像F42(又は特徴画像Q42)をタッチして静止画像を選択し、画像選択アイコンM2をタッチして確定したものとする。
ステップS855では、ユーザーは、印刷レイアウト設定処理を実行する。印刷レイアウト設定処理では、ユーザーは、静止画像F42の一部を抽出し、L版又は2L版の印刷サイズの印刷レイアウトを設定する。
図16は、第4実施形態に係る印刷レイアウト設定処理の内容を示すフローチャートである。図17は、第4実施形態に係る印刷レイアウト設定処理における操作表示画面を示す説明図である。図17(a)は、静止画像F42に表示されている人物の顔を拡大して示している。図17の操作表示画面においても、タッチパネルとして機能する操作表示部130において操作(ピンチイン、ピンチアウト、ドラッグ等)することで表示された画像の拡大縮小、移動などを行うことが可能である。
この例では、ディスプレイ131は、静止画像F42が娘Dの顔を表示する特徴画像Q42と、息子Cの顔を表示する抽出画像F42cと、人物登録データ格納領域142に未登録の2人の他人の顔を表示する2つの抽出画像F42a,F42bとを含んでいることを示している。3つの抽出画像F42a,F42b,F42cは、静止画像F42の変更に応じて、特徴量演算部112による顔検出処理で抽出されたものである。
ステップS8551では、ユーザーは、印刷レイアウト設定部として機能し、被写体人物選択処理を実行する。被写体人物選択処理では、ユーザーは、息子Cの顔と娘Dの顔とを参照しつつ、時系列的に前側の静止画像へ変更するためのスクロールアイコンSC5と、後側の静止画像へ変更するスクロールアイコンSC6とをタッチして静止画像をグループ内で変更することができる。この例では、ユーザーは、娘Dの顔と息子Cの顔とを選択し、人物選択アイコンM3をタッチして確定したものとする。3つの抽出画像F42a,F42b,F42cは、静止画像の変更に応じて抽出・変更される。
図17(b)は、静止画像F42に対して印刷レイアウト設定処理が施された静止画像F42Lを拡大して示している。図17(b)は、さらに、2人の他人の顔が印刷レイアウトで設定されている印刷の対象となる領域である印刷対象領域から排除されていることが分かるように抽出画像F42a,F42bを表示している。静止画像F42Lは、娘Dの顔と息子Cの顔と体が選択される一方、2人の他人の顔を排除する印刷レイアウトを採用している。静止画像F42Lには、以下の方法で自動的に印刷レイアウト設定処理が施されている。ユーザーは、レイアウト調整M4をタッチして印刷レイアウトを調整(変更)し、縦横変更M5をタッチしてL版の縦横を変更することができる。
ステップS8552では、制御部110は、被写体人数カウント処理を実行する。被写体人数カウント処理では、制御部110は、選択された顔の数を被写体人数としてカウントする。ステップS8553では、制御部110は、被写体人数が1人であるか否かを判断する。被写体人数が1人でない場合には、制御部110は、処理をステップS8554に進め、被写体人数が1人である場合には、制御部110は、処理をステップS8555に進める。
図18は、第4実施形態に係る印刷レイアウト設定処理の一例を示す説明図である。図18は、印刷レイアウト設定処理を分かりやすく説明するために2人の人物H1,H2の顔を表示する静止画像F101を示している。
ステップS8554では、制御部110は、被写体人物全員を包含する矩形を設定する。具体的には、制御部110は、2人の人物H1,H2の全員の顔とその周辺を包含するバウンディングボックスBB1として矩形を自動的に設定する。
図19は、第4実施形態に係る印刷レイアウト設定処理の他の例を示す説明図である。図19は、印刷レイアウト設定処理を分かりやすく説明するために1人の人物H3の顔を表示する静止画像F102,F103を示している。静止画像F102では、人物H3は、顔も視線も撮影者の方向である撮影方向に向けている。静止画像F103では、人物H3は、顔も視線も左側の方向に向けている。
被写体人数が1人である場合には、制御部110は、被写体の視線方向に基づいて印刷レイアウト設定処理を実行する。ステップS8555では、制御部110は、視線方向推定処理を実行する。視線方向推定処理では、制御部110は、たとえば特開平8−322796で提案されている方法を採用して推定することができる。
特開平8−322796は、顔画像の解析、すなわち、顔の部分の画像から目の部分の画像を切り出し、目の位置情報を表す特徴量を抽出して、特徴量と標準パターンの比較に基づいて視線方向を推定する方法を提案している。特徴量は、濃淡画像の目の部分の黒目に対応する水平方向、垂直方向それぞれの濃度分布を含んでいる。
ステップS8556では、制御部110は、視線方向に空間を配置して印刷レイアウトを設定する。写真撮影においては、一般的に被写体の視線方向や顔の方向に空間が配置されるようにして安定感のある構図が採用される。このように、制御部110は、視線の方向と顔の方向の少なくとも一方の方向である被写体方向に応じて印刷レイアウトを設定し、自動的に安定感のある構図を採用することができる。
静止画像F102においては、制御部110は、静止画像F102から人物H3とその周辺を包含するバウンディングボックスBB2として矩形を自動的に設定する。制御部110は、人物H3の顔も視線も撮影者の方向に向けられているので、バウンディングボックスBB2から両脇方向に均等に広げた構図を採用する。
一方、静止画像F103においては、制御部110は、静止画像F103から人物H3とその周辺を包含するバウンディングボックスBB3として矩形を自動的に設定する。制御部110は、人物H3の顔も視線も左側の方向に向けられているので、バウンディングボックスBB3から左側に比較的に大きな空間を配置する構図を採用する。
なお、撮影方向に対する被写体方向の角度が大きいほど、被写体方向の反対側に配置される空間に対する被写体方向の側に配置される空間の比が大きくなるようにしてもよい。また、人物の数が複数である場合において、複数の顔の被写体方向が同一方向に向いている場合には、その同一方向の側に広い空間を配置するようにしてもよい。
ステップS8557では、制御部110は、マージン設定処理を実行する。マージン設定処理では、制御部110は、人物をカメラで撮影した場合に想定される一般的なマージンを自動的に配置してフレーム枠Fr1,Fr2,Fr3を設定する。この設定は、初期設定としてのL版(127mm×89mm)のアスペクト比を想定して行われる。
動画像のアスペクト比は、一般的に静止画像のアスペクト比と相違するので、静止画像のアスペクト比への編集の際に動画像の撮影時に意図した構図が維持できないことがある。さらに、動画撮影では、撮影者も被写体も動くことがあり、構図を意識した撮影が一般に困難である。
このような問題に対して、本実施形態では、制御部110は、人物をスチルカメラで撮影した場合に想定される適切な構図を実現し、一般的なマージンを自動的に配置してフレーム枠Fr1,Fr2,Fr3をL版に設定することができる。これにより、動画像の撮影時に意図した構図を維持し、さらには動画像の撮影時には構図を意識しなくても安定感のある好ましい構図の半自動的な設定といった支援を実行して、ユーザー負担を軽減することができる。
ステップS856(図14参照)では、印刷設定処理を実行する。印刷設定処理では、ユーザーは、印刷枚数や画像処理の内容を設定し、設定完了M6(図17(b)参照)をタッチして印刷設定処理を完了させる。
ステップS857では、制御部110は、印刷可能枚数更新処理を実行する。印刷可能枚数更新処理では、制御部110は、設定が完了した静止画像について印刷処理が実行されるものとして、印刷可能な残枚数を計算する。この例では、1枚の静止画像F42Lの印刷が設定されるので、表示領域RCにおいて印刷可能枚数(残枚数)が16枚から15枚に更新されるとともに、残シーン数が18から17に更新される。
制御部110は、第1の印刷対象画像選択処理として、ステップS851乃至ステップS857の処理を最終グループまで実行する(ステップS858)。この例では、残シーン数は、印刷処理の対象として選択された静止画像データを含むグループよりも後に表示される未処理のグループの数である。
一方、印刷可能枚数がグループ数以上の場合には、制御部110は、処理をステップS860に進める(図13参照)。ステップS860では、制御部110は、第2の印刷対象画像選択処理を実行する。第2の印刷対象画像選択処理は、代表静止画像を時系列順でグループ毎に表示する点で、平均特徴量が大きい順に代表静止画像を表示する第1の印刷対象画像選択処理と相違する。
印刷可能枚数がグループ数以上の場合には、グループ毎に少なくとも1枚ずつ印刷出力処理が可能なので、制御部110は、代表静止画像を時系列順でグループ毎に表示することができる。これに対して、印刷可能枚数がグループ数未満の場合には、ユーザーは、印刷出力処理を行うグループの選択が望まれるので、平均特徴量が大きい順に代表静止画像を表示する。
さらに、制御部110は、操作表示部130の表示領域RCにおいて印刷可能枚数(残枚数)と残シーン数とを表示することができる。これにより、ユーザーは、グループ(シーン)の選択を円滑に行うことができる。ユーザーは、たとえば印刷可能枚数が残シーン数(残グループ数)よりも多いときには、各グループから改めて画像を追加で選択することもできる。
動画像データから静止画像データを抽出する場合には、一般的に静止画像の抽出数を予測することが困難である。たとえば旅先において、コンビニエンスストア等に設置してある画像形成装置を使用して印刷処理を行う場合に、抽出数が予測できないので、支払うべき料金を考慮しつつ印刷対象とする静止画像を選択する負担が大きい。本実施形態は、動画像データから抽出された複数の静止画像データから所望の静止画像データを選択するための負担を軽減させることができる。
ステップS870では、制御部110は、操作処理部(スタートスイッチ)132の押下に応じて画像形成部120を使用して印刷媒体上に画像を形成する。印刷対象となるのは、ステップS856(図14参照)において印刷設定処理が完了した静止画像データである。
なお、制御部110は、印刷設定処理の完了に応じて直ちに印刷媒体上に画像を形成するようにしてもよい。しかしながら、上述の実施形態によれば、印刷設定処理の解除を許容することによって静止画像データを選択し直すことができるという利点を有している。
このように、第4実施形態に係る静止画像取得処理は、動画像データから抽出された静止画像データの中から被写体の顔の状態を確認しつつシーン(グループ)を選択し、そのグループから望まれる静止画像を円滑に選択することができる。
第4実施形態に係る静止画像取得処理は、さらに、選択された静止画像から被写体の状態を考慮して自動的に適切な構図でレイアウト設定処理を行うこともできる。このように、第4実施形態に係る静止画像取得処理は、動画像データを使用する印刷処理において、ユーザーの負担を軽減しつつ適切な静止画像の印刷出力を実現することができる。
E.変形例:
本発明は、上記各実施形態だけでなく、以下のような変形例でも実施することができる。
上記実施形態では、画像形成装置に本発明が適用されているが、たとえばスマートフォンやパーソナルコンピュータといった画像処理装置として機能する装置に適用することもできる。