JP2008271249A - 情報処理方法、情報処理装置及びプログラム - Google Patents

情報処理方法、情報処理装置及びプログラム Download PDF

Info

Publication number
JP2008271249A
JP2008271249A JP2007112226A JP2007112226A JP2008271249A JP 2008271249 A JP2008271249 A JP 2008271249A JP 2007112226 A JP2007112226 A JP 2007112226A JP 2007112226 A JP2007112226 A JP 2007112226A JP 2008271249 A JP2008271249 A JP 2008271249A
Authority
JP
Japan
Prior art keywords
scene
image
image data
indicated
identified
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2007112226A
Other languages
English (en)
Inventor
Yasuo Kasai
庸雄 河西
Yoshiori Matsumoto
佳織 松本
Hirokazu Kasahara
広和 笠原
Kenji Fukazawa
賢二 深沢
Naoki Kuwata
直樹 鍬田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007112226A priority Critical patent/JP2008271249A/ja
Publication of JP2008271249A publication Critical patent/JP2008271249A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Facsimiles In General (AREA)
  • Studio Devices (AREA)

Abstract

【課題】確認画面の視認性を向上させる。
【解決手段】本発明の情報処理方法は、画像データに付加されている付加データから画像データのシーン情報を取得し、画像データに基づいて画像データの示す画像のシーンを識別し、シーン情報の示すシーンと識別したシーンとを比較し、シーン情報の示すシーンと識別したシーンとが不一致の場合、表示部に確認画面を表示する。そして、画像データの示す画像が特定のシーンに属する確率に応じて、画像データの示す画像が特定のシーンに属するか否かが判断され、複数の種類の特定のシーンのそれぞれについて画像データの示す画像が特定のシーンに属するか否かが判断されることによって、画像データの示す画像のシーンを識別することが行われ、識別したシーンに複数の候補が含まれる場合、確認画面を表示する際に、それぞれの候補における特定のシーンに属する確率に基づいて、複数の候補を表示する。
【選択図】図23

Description

本発明は、情報処理方法、情報処理装置及びプログラムに関する。
デジタルスチルカメラには撮影モードを設定するモード設定ダイヤルを持つものがある。ユーザがダイヤルで撮影モードを設定すると、デジタルスチルカメラは撮影モードに応じた撮影条件(露光時間等)を決定し、撮影を行う。撮影が行われると、デジタルスチルカメラは、画像ファイルを生成する。この画像ファイルには、撮影した画像の画像データに、撮影時の撮影条件等の付加データが付加されている。
一方、付加データに応じて画像データに画像処理することも行われている。例えば、プリンタが画像ファイルに基づいて印刷を行うとき、付加データの示す撮影条件に応じて画像データを補正し、補正した画像データに従って印刷することが行われている。
特開2001−238177号公報
デジタルスチルカメラが画像ファイルを生成するとき、付加データに、ダイヤル設定に応じたシーン情報が記憶されることがある。一方、ユーザが撮影モードを設定し忘れると、画像データの内容と不一致なシーン情報が付加データに記憶されてしまう。このため、付加データのシーン情報を用いずに、画像データを解析して画像データのシーンを識別することがある。
ところで、付加データの示すシーンと、識別結果のシーンとが不一致のとき、ユーザへ確認画面を表示することが望ましい。
本発明は、確認画面の視認性を向上させることを目的とする。
上記目的を達成するための主たる発明は、画像データに付加されている付加データから、画像データのシーン情報を取得し、前記画像データに基づいて、前記画像データの示す画像のシーンを識別し、前記シーン情報の示すシーンと識別したシーンとを比較し、前記シーン情報の示すシーンと識別したシーンとが不一致の場合、表示部に確認画面を表示する情報処理方法であって、前記画像データの示す画像が特定のシーンに属する確率に応じて、前記画像データの示す画像が前記特定のシーンに属するか否かが判断され、複数の種類の前記特定のシーンのそれぞれについて前記画像データの示す画像が前記特定のシーンに属するか否かが判断されることによって、前記画像データの示す画像のシーンを識別することが行われ、前記識別したシーンに複数の候補が含まれる場合、前記確認画面を表示する際に、それぞれの前記候補における前記特定のシーンに属する確率に基づいて、複数の前記候補を表示することを特徴とする。
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
本明細書及び添付図面の記載により、少なくとも、以下の事項が明らかとなる。
画像データに付加されている付加データから、画像データのシーン情報を取得し、
前記画像データに基づいて、前記画像データの示す画像のシーンを識別し、
前記シーン情報の示すシーンと識別したシーンとを比較し、
前記シーン情報の示すシーンと識別したシーンとが不一致の場合、表示部に確認画面を表示する情報処理方法であって、
前記画像データの示す画像が特定のシーンに属する確率に応じて、前記画像データの示す画像が前記特定のシーンに属するか否かが判断され、複数の種類の前記特定のシーンのそれぞれについて前記画像データの示す画像が前記特定のシーンに属するか否かが判断されることによって、前記画像データの示す画像のシーンを識別することが行われ、
前記識別したシーンに複数の候補が含まれる場合、前記確認画面を表示する際に、それぞれの前記候補における前記特定のシーンに属する確率に基づいて、複数の前記候補を表示する
ことを特徴とする情報処理方法。
このような情報処理方法によれば、ユーザの確認作業が簡便になる。
また、前記識別したシーンに複数の候補が含まれる場合、前記確認画面を表示する際に、それぞれの前記候補における前記特定のシーンに属する確率の順に、複数の前記候補を並べて表示することが望ましい。これにより、ユーザの確認作業が簡便になる。
また、前記確認画面には前記シーン情報の示すシーンも表示され、前記確認画面には前記シーン情報の示すシーンの最も近くに、複数の前記候補のうちの前記確率の最も高い候補が表示されることが望ましい。これにより、ユーザに選択されやすいシーンが集まり、ユーザが確認作業をしやすくなる。
また、前記識別したシーンに複数の候補が含まれる場合、前記確認画面を表示する際に、前記特定のシーンに属する確率が閾値を越える前記候補は表示し、前記特定のシーンに属する確率が前記閾値を越えない前記候補は表示しないことが望ましい。これにより、確認画面に表示すべき候補の数が減るので、ユーザの確認作業が簡便になる。
また、複数の画像データのそれぞれについて前記シーン情報の示すシーンと識別したシーンとを比較し、前記シーン情報の示すシーンと識別したシーンとが不一致の画像データについては、表示部に確認画面を表示し、前記シーン情報の示すシーンと識別したシーンとが不一致ではない画像データについては、表示部に確認画面を表示しないことが望ましい。これにより、確認画面に表示すべき情報を減らすことができ、ユーザが確認作業をしやすくなる。
また、前記確認画面を表示しているときに、前記シーン情報の示すシーンと識別したシーンとが不一致ではない画像データの示す画像を印刷することが望ましい。これにより、印刷開始を早めることができる。
また、前記シーン情報の示すシーンと識別したシーンとが不一致ではない画像データに基づいて作成されるジョブは、前記シーン情報の示すシーンと識別したシーンとが不一致の画像データに基づいて作成されるジョブよりも先に作成され、前記ジョブの優先順位に従ってジョブが実行されることによって、前記シーン情報の示すシーンと識別したシーンとが不一致ではない画像データの示す画像の印刷が、前記シーン情報の示すシーンと識別したシーンとが不一致の画像データの示す画像の印刷よりも先に行われることが望ましい。これにより、印刷開始を早めることができる。
また、前記シーン情報の示すシーンと識別したシーンとが不一致の画像データに基づいて前記ジョブが作成された後、前記ジョブの前記優先順位が変更されることが望ましい。これにより、ユーザは、番号順に印刷された印刷物を手に入れることが可能になる。
コントローラと表示部とを備え、
前記コントローラは、
画像データに付加されている付加データから、画像データのシーン情報を取得し、
前記画像データに基づいて、前記画像データの示す画像のシーンを識別し、
前記シーン情報の示すシーンと識別したシーンとを比較し、
前記シーン情報の示すシーンと識別したシーンとが不一致の場合、表示部に確認画面を表示する
情報処理装置であって、
前記画像データの示す画像が特定のシーンに属する確率に応じて、前記画像データの示す画像が前記特定のシーンに属するか否かが判断され、複数の種類の前記特定のシーンのそれぞれについて前記画像データの示す画像が前記特定のシーンに属するか否かが判断されることによって、前記画像データの示す画像のシーンを識別することが行われ、
前記識別したシーンに複数の候補が含まれる場合、前記確認画面を表示する際に、それぞれの前記候補における前記特定のシーンに属する確率に基づいて、複数の前記候補を表示する
ことを特徴とする情報処理装置。
このような情報処理装置によれば、ユーザの確認作業が簡便になる。
情報処理装置に、
画像データに付加されている付加データから、画像データのシーン情報を取得させ、
前記画像データに基づいて、前記画像データの示す画像のシーンを識別させ、
前記シーン情報の示すシーンと識別したシーンとを比較させ、
前記シーン情報の示すシーンと識別したシーンとが不一致の場合、表示部に確認画面を表示させる
プログラムであって、
前記画像データの示す画像が特定のシーンに属する確率に応じて、前記画像データの示す画像が前記特定のシーンに属するか否かが判断され、複数の種類の前記特定のシーンのそれぞれについて前記画像データの示す画像が前記特定のシーンに属するか否かが判断されることによって、前記画像データの示す画像のシーンを識別することが行われ、
前記識別したシーンに複数の候補が含まれる場合、前記確認画面を表示する際に、それぞれの前記候補における前記特定のシーンに属する確率に基づいて、複数の前記候補を表示する
ことを特徴とするプログラム。
このようなプログラムによれば、ユーザの確認作業が簡便になる。
===全体構成===
図1は、画像処理システムの説明図である。この画像処理システムは、デジタルスチルカメラ2と、プリンタ4とを備える。
デジタルスチルカメラ2は、被写体をデジタルデバイス(CCDなど)に結像させることによりデジタル画像を取得するカメラである。デジタルスチルカメラ2には、モード設定ダイヤル2Aが設けられている。ユーザは、ダイヤル2Aによって、撮影条件に応じた撮影モードを設定することができる。例えば、ダイヤル2Aによって「夜景」モードが設定されると、デジタルスチルカメラ2は、シャッター速度を遅くしたり、ISO感度を高くしたりして、夜景撮影に適した撮影条件にて撮影を行う。
デジタルスチルカメラ2は、ファイルフォーマット規格に準拠して、撮影により生成した画像ファイルをメモリカード6に保存する。画像ファイルには、撮影した画像のデジタルデータ(画像データ)だけでなく、撮影時の撮影条件(撮影データ)等の付加データも保存される。
プリンタ4は、画像データの示す画像を紙に印刷する印刷装置である。プリンタ4には、メモリカード6を挿入するスロット21が設けられている。ユーザは、デジタルスチルカメラ2で撮影した後、デジタルスチルカメラ2からメモリカード6を取り出し、スロット21にメモリカード6を挿入することができる。
パネル部15は、表示部16と、各種のボタンを有する入力部17とを備える。表示部16は、液晶ディスプレイにより構成される。表示部16がタッチパネルであれば、表示部16は入力部17としても機能する。表示部16には、プリンタ4の設定を行うための設定画面や、メモリカードから読み取った画像データの画像や、ユーザへの確認や警告のための画面などが表示される。なお、表示部16が表示する各種の画面については、後述する。
図2は、プリンタ4の構成の説明図である。プリンタ4は、印刷機構10と、この印刷機構10を制御するプリンタ側コントローラ20とを備える。印刷機構10は、インクを吐出するヘッド11と、ヘッド11を制御するヘッド制御部12と、紙を搬送するため等のモータ13と、センサ14とを有する。プリンタ側コントローラ20は、メモリカード6からデータを送受信するためのメモリ用スロット21と、CPU22と、メモリ23と、モータ13を制御する制御ユニット24と、駆動信号(駆動波形)を生成する駆動信号生成部25とを有する。また、プリンタ側コントローラ20は、パネル部15を制御するパネル制御部26も備えている。
メモリカード6がスロット21に挿入されると、プリンタ側コントローラ20は、メモリカード6に保存されている画像ファイルを読み出してメモリ23に記憶する。そして、プリンタ側コントローラ20は、画像ファイルの画像データを、印刷機構10で印刷するための印刷データに変換し、印刷データに基づいて印刷機構10を制御し、紙に画像を印刷する。この一連の動作は、「ダイレクトプリント」と呼ばれている。
なお、「ダイレクトプリント」は、メモリカード6をスロット21に挿入することによって行われるだけでなく、デジタルスチルカメラ2とプリンタ4とをケーブル(不図示)で接続することによっても可能である。また、ダイレクトプリントの設定にパネル部15が用いられる(後述)。また、ダイレクトプリント時の確認画面の表示や確認の入力にもパネル部15が用いられる(後述)。
===画像ファイルの構造===
画像ファイルは、画像データと、付加データとから構成されている。画像データは、複数の画素データから構成されている。画素データは、画素の色情報(階調値)を示すデータである。画素がマトリクス状に配置されることによって、画像が構成される。このため、画像データは、画像を示すデータである。付加データには、画像データの特性を示すデータや、撮影データや、サムネイル画像データ等が含まれる。
以下、画像ファイルの具体的な構造について説明する。
図3は、画像ファイルの構造の説明図である。図中の左側には画像ファイルの全体構成が示されており、右側にはAPP1領域の構成が示されている。
画像ファイルは、SOI(Start of image)を示すマーカで始まり、EOI(End of Image)を示すマーカで終わる。SOIを示すマーカの後に、APP1のデータ領域の開始を示すAPP1マーカがある。APP1マーカの後のAPP1のデータ領域には、撮影データやサムネイル画像等の付加データが含まれている。また、SOS(Start of Stream)を示すマーカの後には、画像データが含まれている。
APP1マーカの後、APP1のデータ領域のサイズを示す情報があり、EXIFヘッダとTIFFヘッダが続き、IFD領域となる。
各IFD領域は、複数のディレクトリエントリと、次のIFD領域の位置を示すリンクと、データエリアとを有する。例えば、最初のIFD0(IFD of main image)では次のIFD1(IFD of thumbnail image)の位置がリンクされる。但し、ここではIFD1の次のIFDが存在しないのでIFD1では他のIFDへのリンクは行われない。各ディレクトリエントリには、タグとデータ部が含まれる。格納すべきデータ量が小さい場合にはデータ部に実際のデータがそのまま格納され、データ量が多い場合には実際のデータはIFD0データエリアに格納されて、データ部にはデータの格納場所を示すポインタが格納される。なお、IFD0には、ExifSubIFDの格納場所を意味するタグ(Exif IFD Pointer)と、ExifSubIFDの格納場所を示すポインタ(オフセット値)とが格納されているディレクトリエントリがある。
ExifSubIFD領域は、複数のディレクトリエントリを有する。このディレクトリエントリにも、タグとデータ部が含まれる。格納すべきデータ量が小さい場合にはデータ部に実際のデータがそのまま格納され、データ量が多い場合には実際のデータはExifSubIFDデータエリアに格納されて、データ部にはデータの格納場所を示すポインタが格納される。なお、ExifSubIFDの中には、MakernoteIFDの格納場所を意味するタグと、MakernoteIFDの格納場所を示すポインタとが格納されている。
MakernoteIFD領域は、複数のディレクトリエントリを有する。このディレクトリエントリにも、タグとデータ部が含まれる。格納すべきデータ量が小さい場合にはデータ部に実際のデータがそのまま格納され、データ量が多い場合には実際のデータはMakernoteIFDデータエリアにデータが格納されて、データ部にはデータの格納場所を示すポインタが格納される。但し、MakernoteIFD領域ではデータの格納形式を自由に定義できるので、必ずしもこの形式でデータを格納しなくても良い。以下の説明では、MakernoteIFD領域に格納されるデータのことを「MakerNoteデータ」と呼ぶ。
図4Aは、IFD0で使われるタグの説明図である。図に示す通り、IFD0には一般的なデータ(画像データの特性を示すデータ)が格納され、詳細な撮影データは格納されていない。
図4Bは、ExifSubIFDで使われるタグの説明図である。図に示す通り、ExifSubIFDには詳細な撮影データが格納されている。なお、シーン識別処理の際に抽出される撮影データの大部分は、ExifSubIFDに格納されている撮影データである。なお、撮影シーンタイプタグ(Scene Capture Type)は、撮影シーンのタイプを示すタグである。また、Makernoteタグは、MakernoteIFDの格納場所を意味するタグである。
ExifSubIFD領域の撮影シーンタイプタグに対するデータ部(撮影シーンタイプデータ)が、「ゼロ」ならば「標準」を意味し、「1」ならば「風景」を意味し、「2」ならば「人物」を意味し、「3」ならば「夜景」を意味する。なお、ExifSubIFDに格納されたデータは規格化されているため、この撮影シーンタイプデータの内容を誰でも知ることが可能である。
本実施形態では、Makernoteデータの一つに、撮影モードデータが含まれている。この撮影モードデータでは、モード設定ダイヤル2Aで設定されたモード毎に異なる値を示す。但し、MakerNoteデータは、メーカ毎に形式が異なるため、MakerNoteデータの形式が分からなければ、撮影モードデータの内容を知ることはできない。
図5は、モード設定ダイヤル2Aの設定とデータとの対応表である。ExifSubIFDで使われる撮影シーンタイプタグは、ファイルフォーマット規格に準拠しているため、特定できるシーンが限定されており、「夕景」等のシーンを特定するデータをデータ部に格納することはできない。一方、MakerNoteデータは自由に定義できるので、MakerNoteデータの一つである撮影モードタグにより、モード設定ダイヤル2Aの撮影モードを特定するデータをデータ部に格納できる。
前述のデジタルスチルカメラ2は、モード設定ダイヤル2Aの設定に応じた撮影条件にて撮影を行った後、上記の画像ファイルを作成し、メモリカード6に保存する。この画像ファイルには、モード設定ダイヤル2Aに応じた撮影シーンタイプデータ及び撮影モードデータが、画像データに付加されるシーン情報として、それぞれExifSubIFD領域及びMakernoteIFD領域に格納される。
===自動補正機能の概要===
「人物」の写真を印刷するときには、肌色をきれいにしたいという要求がある。また、「風景」の写真を印刷するときには、空の青色を強調し、木や草の緑色を強調したいという要求がある。そこで、本実施形態のプリンタ4は、画像ファイルを分析して自動的に適した補正処理を行う自動補正機能を備えている。
図6は、プリンタ4の自動補正機能の説明図である。図中のプリンタ側コントローラ20の各要素は、ソフトウェアとハードウェアによって実現される。
記憶部31は、メモリ23の一部の領域及びCPU22によって実現される。メモリカード6から読み出された画像ファイルの全部又は一部は、記憶部31の画像記憶部31Aに展開される。また、プリンタ側コントローラ20の各要素の演算結果は、記憶部31の結果記憶部31Bに格納される。
顔識別部32は、CPU22と、メモリ23に記憶された顔識別プログラムとによって実現される。顔識別部32は、画像記憶部31Aに記憶された画像データを分析し、顔の有無を識別する。顔識別部32によって顔が有ると識別された場合、識別対象となる画像が「人物」のシーンに属すると識別される。顔識別部32による顔識別処理は、既に広く行われている処理と同様なので、詳細な説明は省略する。
なお、顔識別部32は、識別対象となる画像が「人物」のシーンに属する確率(確信度)も算出する。この確信度は、画像に占める肌色の画素の割合、肌色の画像の形状、画素データの示す色と肌色の記憶色との近接度合い、などから算出される。顔識別部32の識別結果は、結果記憶部31Bに記憶される。
シーン識別部33は、CPU22と、メモリ23に記憶されたシーン識別プログラムとによって実現される。シーン識別部33は、画像記憶部31Aに記憶された画像ファイルを分析し、画像データの示す画像のシーンを識別する。顔識別部32による顔識別処理の後に、シーン識別部33によるシーン識別処理が行われる。後述するように、シーン識別部33は、識別対象となる画像が「風景」、「夕景」、「夜景」、「花」、「紅葉」のいずれの画像であるかを識別する。なお、シーン識別部33の識別結果や確信度の情報も、結果記憶部31Bに記憶される。
図7は、画像のシーンと補正内容との関係の説明図である。
画像補正部34は、CPU22と、メモリ23に記憶された画像補正プログラムとによって実現される。画像補正部34は、記憶部31の結果記憶部31B(後述)に記憶されている識別結果(顔識別部32やシーン識別部33の識別結果)に基づいて、画像記憶部31Aの画像データを補正する。例えば、シーン識別部33の識別結果が「風景」である場合には、青色を強調し、緑色を強調するような補正が行われる。但し、画像ファイルの付加データの示すシーンと、識別結果の示すシーンとが不一致の場合、画像補正部34は、後述する所定の確認処理をした後、確認結果に応じて画像データを補正する。
プリンタ制御部35は、CPU22、駆動信号生成部25、制御ユニット24及びメモリ23に記憶されたプリンタ制御プログラムによって、実現される。プリンタ制御部35は、補正後の画像データを印刷データに変換し、印刷機構10に画像を印刷させる。
===シーン識別処理===
図8は、シーン識別部33によるシーン識別処理のフロー図である。図9は、シーン識別部33の機能の説明図である。図中のシーン識別部33の各要素は、ソフトウェアとハードウェアによって実現される。シーン識別部33は、図9に示す特徴量取得部40と、全体識別器50と、部分識別器60と、統合識別器70とを備えている。
最初に、特徴量取得部40が、記憶部31の画像記憶部31Aに展開された画像データを分析し、部分特徴量を取得する(S101)。具体的には、特徴量取得部40は、画像データを8×8の64ブロックに分割し、各ブロックの色平均と分散を算出し、この色平均と分散を部分特徴量として取得する。なお、ここでは各画素はYCC色空間における階調値のデータをもっており、各ブロックごとに、Yの平均値、Cbの平均値及びCrの平均値がそれぞれ算出され、Yの分散、Cbの分散及びCrの分散がそれぞれ算出される。つまり、各ブロックごとに3つの色平均と3つの分散が部分特徴量として算出される。これらの色平均や分散は、各ブロックにおける部分画像の特徴を示すものである。なお、RGB色空間における平均値や分散を算出しても良い。
ブロックごとに色平均と分散が算出されるので、特徴量取得部40は、画像記憶部31Aには画像データの全てを展開せずに、ブロック分の画像データをブロック順に展開する。このため、画像記憶部31Aは、必ずしも画像ファイルの全てを展開できるだけの容量を備えていなくても良い。
次に、特徴量取得部40が、全体特徴量を取得する(S102)。具体的には、特徴量取得部40は、画像データの全体の色平均、分散、重心及び撮影情報を、全体特徴量として取得する。なお、これらの色平均や分散は、画像の全体の特徴を示すものである。画像データ全体の色平均、分散及び重心は、先に算出した部分特徴量を用いて算出される。このため、全体特徴量を算出する際に、画像データを再度展開する必要がないので、全体特徴量の算出速度が速くなる。全体識別処理(後述)は部分識別処理(後述)よりも先に行われるにも関わらず、全体特徴量が部分特徴量よりも後に求められるのは、このように算出速度を速めるためである。なお、撮影情報は、画像ファイルの撮影データから抽出される。具体的には、絞り値、シャッター速度、フラッシュ発光の有無などの情報が全体特徴量として用いられる。但し、画像ファイルの撮影データの全てが全体特徴量として用いられるわけではない。
次に、全体識別器50が、全体識別処理を行う(S103)。全体識別処理とは、全体特徴量に基づいて、画像データの示す画像のシーンを識別(推定)する処理である。全体識別処理の詳細については、後述する。
全体識別処理によってシーンの識別ができる場合(S104でYES)、シーン識別部33は、記憶部31の結果記憶部31Bに識別結果を記憶することによってシーンを決定し(S109)、シーン識別処理を終了する。つまり、全体識別処理によってシーンの識別ができた場合(S104でYES)、部分識別処理や統合識別処理が省略される。これにより、シーン識別処理の速度が速くなる。
全体識別処理によってシーンの識別ができない場合(S104でNO)、次に部分識別器60が、部分識別処理を行う(S105)。部分識別処理とは、部分特徴量に基づいて、画像データの示す画像全体のシーンを識別する処理である。部分識別処理の詳細については、後述する。
部分識別処理によってシーンの識別ができる場合(S106でYES)、シーン識別部33は、記憶部31の結果記憶部31Bに識別結果を記憶することによってシーンを決定し(S109)、シーン識別処理を終了する。つまり、部分識別処理によってシーンの識別ができた場合(S106でYES)、統合識別処理が省略される。これにより、シーン識別処理の速度が速くなる。
部分識別処理によってシーンの識別ができない場合(S106でNO)、次に統合識別器70が、統合識別処理を行う(S107)。統合識別処理の詳細については、後述する。
統合識別処理によってシーンの識別ができる場合(S108でYES)、シーン識別部33は、記憶部31の結果記憶部31Bに識別結果を記憶することによってシーンを決定し(S109)、シーン識別処理を終了する。一方、統合識別処理によってシーンの識別ができない場合(S108でNO)、シーン識別部33は、候補となるシーン(シーン候補)の全てを、結果記憶部31Bに記憶する(S110)。このとき、シーン候補とともに、確信度も結果記憶部31Bに記憶される。
シーン識別処理(全体識別処理・部分識別処理・統合識別処理)の結果、図8のS104、S106及びS108においていずれかYESの場合、プリンタ側コントローラ20は、確信度の比較的高い1つのシーンを識別できる。また、S108においてNOの場合、プリンタ側コントローラ20は、確信度の比較的低い少なくとも1つのシーン(シーン候補)を識別できる。なお、S108においてNOの場合、シーン候補は1つの場合もあれば、2以上の場合もある。
===全体識別処理===
図10は、全体識別処理のフロー図である。ここでは図9も参照しながら全体識別処理について説明する。
まず、全体識別器50は、複数のサブ識別器51の中から1つのサブ識別器51を選択する(S201)。全体識別器50には、識別対象となる画像(識別対象画像)が特定のシーンに属するか否かを識別するサブ識別器51が5つ設けられている。5つのサブ識別器51は、それぞれ風景、夕景、夜景、花、紅葉のシーンを識別する。ここでは、全体識別器50は、風景→夕景→夜景→花→紅葉の順に、サブ識別器51を選択する。このため、最初には、識別対象画像が風景のシーンに属するか否かを識別するサブ識別器51(風景識別器51L)が選択される。
次に、全体識別器50は、識別対象テーブルを参照し、選択したサブ識別器51を用いてシーンを識別すべきか否かを判断する(S202)。
図11は、識別対象テーブルの説明図である。この識別対象テーブルは、記憶部31の結果記憶部31Bに記憶される。識別対象テーブルは、最初の段階では全ての欄がゼロに設定される。S202の処理では、「否定」欄が参照され、ゼロであればYESと判断され、1であればNOと判断される。ここでは、全体識別器50は、識別対象テーブルにおける「風景」欄の「否定」欄を参照し、ゼロであるのでYESと判断する。
次に、サブ識別器51は、全体特徴量に基づいて、判別式の値を算出する(S203)。この判別式の値は、識別対象画像が特定のシーンに属する確率(確信度)と関係している(後述)。本実施形態のサブ識別器51には、サポートベクタマシン(SVM)による識別手法が用いられている。なお、サポートベクタマシンについては、後述する。識別対象画像が特定のシーンに属する場合、サブ識別器51の判別式は、プラスの値になりやすい。識別対象画像が特定のシーンに属しない場合、サブ識別器51の判別式は、マイナスの値になりやすい。また、判別式は、識別対象画像が特定のシーンに属する確信度が高いほど、大きい値になる。このため、判別式の値が大きければ、識別対象画像が特定のシーンに属する確率(確信度)が高くなり、判別式の値が小さければ、識別対象画像が特定のシーンに属する確率が低くなる。
次に、サブ識別器51は、判別式の値が肯定閾値より大きいか否かを判断する(S204)。判別式の値が肯定閾値より大きければ、サブ識別器51は、識別対象画像が特定のシーンに属すると判断することになる。
図12は、全体識別処理の肯定閾値の説明図である。同図において、横軸は肯定閾値を示し、縦軸はRecall又はPrecisionの確率を示す。図13は、RecallとPrecisionの説明図である。判別式の値が肯定閾値以上の場合には識別結果はPositiveであり、判別式の値が肯定閾値以上でない場合には識別結果はNegativeである。
Recallは、再現率や検出率を示すものである。Recallは、特定のシーンの画像の総数に対する、特定のシーンに属すると識別された画像の数の割合である。言い換えると、Recallは、特定のシーンの画像をサブ識別器51に識別させたときに、サブ識別器51がPositiveと識別する確率(特定のシーンの画像が特定のシーンに属すると識別される確率)を示すものである。例えば、風景画像を風景識別器51Lに識別させたときに、風景のシーンに属すると風景識別器51Lが識別する確率を示すものである。
Precisionは、正答率や正解率を示すものである。Precisionは、Positiveと識別された画像の総数に対する、特定のシーンの画像の数の割合である。言い換えると、Precisionは、特定のシーンを識別するサブ識別器51がPositiveと識別したときに、識別対象の画像が特定のシーンである確率を示すものである。例えば、風景識別器51Lが風景のシーンに属すると識別したときに、その識別した画像が本当に風景画像である確率を示すものである。
図12から分かる通り、肯定閾値を大きくするほど、Precisionが大きくなる。このため、肯定閾値を大きくするほど、例えば風景のシーンに属すると識別された画像が風景画像である確率が高くなる。つまり、肯定閾値を大きくするほど、誤識別の確率が低くなる。
一方、肯定閾値を大きくするほど、Recallは小さくなる。この結果、例えば、風景画像を風景識別器51Lで識別した場合であっても、風景のシーンに属すると正しく識別しにくくなる。ところで、識別対象画像が風景のシーンに属すると識別できれば(S204でYES)、残りの別のシーン(夕景など)の識別を行わないようにして全体識別処理の速度を速めている。このため、肯定閾値を大きくするほど、全体識別処理の速度は低下することになる。また、全体識別処理によってシーンが識別できれば部分識別処理を行わないようにしてシーン識別処理の速度を速めているため(S104)、肯定閾値を大きくするほど、シーン識別処理の速度は低下することになる。
つまり、肯定閾値が小さすぎると誤識別の確率が高くなり、大きすぎると処理速度が低下することになる。本実施形態では、正答率(Precision)を97.5%に設定するため、風景の肯定閾値は1.72に設定されている。
判別式の値が肯定閾値より大きければ(S204でYES)、サブ識別器51は、識別対象画像が特定のシーンに属すると判断し、肯定フラグを立てる(S205)。「肯定フラグを立てる」とは、図11の「肯定」欄を1にすることである。この場合、全体識別器50は、次のサブ識別器51による識別を行わずに、全体識別処理を終了する。例えば、風景画像であると識別できれば、夕景などの識別を行わずに、全体識別処理を終了する。この場合、次のサブ識別器51による識別を省略しているので、全体識別処理の速度を速めることができる。
判別式の値が肯定閾値より大きくなければ(S204でNO)、サブ識別器51は、識別対象画像が特定のシーンに属すると判断できず、次のS206の処理を行う。
次に、サブ識別器51は、判別式の値と否定閾値とを比較する(S206)。これにより、サブ識別器51は、識別対象画像が所定のシーンに属しないかを判断する。このような判断としては、2種類ある。第1に、ある特定のシーンのサブ識別器51の判別式の値が第1否定閾値より小さければ、その特定のシーンに識別対象画像が属しないと判断されることになる。例えば、風景識別器51Lの判別式の値が第1否定閾値より小さければ、識別対象画像が風景のシーンに属しないと判断されることになる。第2に、ある特定のシーンのサブ識別器51の判別式の値が第2否定閾値より大きければ、その特定のシーンとは別のシーンに識別対象画像が属しないと判断されることになる。例えば、風景識別器51Lの判別式の値が第2否定閾値より大きければ、識別対象画像が夜景のシーンに属しないと判断されることになる。
図14は、第1否定閾値の説明図である。同図において、横軸は第1否定閾値を示し、縦軸は確率を示す。グラフの太線は、True Negative Recallのグラフであり、風景画像以外の画像を風景画像ではないと正しく識別する確率を示している。グラフの細線は、False Negative Recallのグラフであり、風景画像なのに風景画像ではないと誤って識別する確率を示している。
図14から分かる通り、第1否定閾値を小さくするほど、False Negative Recallが小さくなる。このため、第1否定閾値を小さくするほど、例えば風景のシーンに属しないと識別された画像が風景画像である確率が低くなる。つまり、誤識別の確率が低くなる。
一方、第1否定閾値を小さくするほど、True Negative Recallも小さくなる。この結果、風景画像以外の画像を風景画像ではないと識別しにくくなる。その一方、識別対象画像が特定シーンでないことを識別できれば、部分識別処理の際に、その特定シーンのサブ部分識別器61による処理を省略してシーン識別処理速度を速めている(後述、図17のS302)。このため、第1否定閾値を小さくするほど、シーン識別処理速度は低下する。
つまり、第1否定閾値が大きすぎると誤識別の確率が高くなり、小さすぎると処理速度が低下することになる。本実施形態では、False Negative Recallを2.5%に設定するため、第1否定閾値は−1.01に設定されている。
ところで、ある画像が風景のシーンに属する確率が高ければ、必然的にその画像が夜景のシーンに属する確率は低くなる。このため、風景識別器51Lの判別式の値が大きい場合には、夜景ではないと識別できる場合がある。このような識別を行うために、第2否定閾値が設けられる。
図15は、第2否定閾値の説明図である。同図において、横軸は風景の判別式の値を示し、縦軸は確率を示す。同図には、図12のRecallとPrecisionのグラフとともに、夜景のRecallのグラフが点線で描かれている。この点線のグラフに注目すると、風景の判別式の値が−0.44よりも大きければ、その画像が夜景画像である確率は2.5%である。言い換えると、風景の判別式の値が−0.44より大きい場合にその画像が夜景画像でないと識別しても、誤識別の確率は2.5%にすぎない。そこで、本実施形態では、第2否定閾値が−0.44に設定されている。
そして、判別式の値が第1否定閾値より小さい場合、又は、判別式の値が第2否定閾値より大きい場合(S206でYES)、サブ識別器51は、識別対象画像が所定のシーンに属しないと判断し、否定フラグを立てる(S207)。「否定フラグを立てる」とは、図11の「否定」欄を1にすることである。例えば、第1否定閾値に基づいて識別対象画像が風景のシーンに属しないと判断された場合、「風景」欄の「否定」欄が1になる。また、第2否定閾値に基づいて識別対象画像が夜景のシーンに属しないと判断された場合、「夜景」欄の「否定」欄が1になる。
図16Aは、上記で説明した風景識別器51Lにおける閾値の説明図である。風景識別器51Lには、肯定閾値及び否定閾値が予め設定されている。肯定閾値として1.72が設定されている。否定閾値には第1否定閾値と第2否定閾値とがある。第1否定閾値として−1.01が設定されている。また、第2否定閾値として、風景以外の各シーンにそれぞれ値が設定されている。
図16Bは、上記で説明した風景識別器51Lの処理の概要の説明図である。ここでは、説明の簡略化のため、第2否定閾値については夜景についてのみ説明する。風景識別器51Lは、判別式の値が1.72より大きければ(S204でYES)、識別対象画像が風景のシーンに属すると判断する。また、判別式の値が1.72以下であり(S204でNO)、−0.44より大きければ(S206でYES)、風景識別器51Lは、識別対象画像が夜景のシーンに属しないと判断する。また、判別式の値が−1.01より小さければ(S206でYES)、風景識別器51Lは、識別対象画像が風景のシーンに属しないと判断する。なお、風景識別器51Lは、夕景や紅葉についても、第2否定閾値に基づいて、識別対象画像がそのシーンに属しないかを判断する。但し、花の第2否定閾値は肯定閾値よりも大きいため、識別対象画像が花のシーンに属しないことを風景識別器51Lが判断することはない。
S202においてNOの場合、S206でNOの場合、又はS207の処理を終えた場合、全体識別器50は、次のサブ識別器51の有無を判断する(S208)。ここでは風景識別器51Lによる処理を終えた後なので、全体識別器50は、S208において、次のサブ識別器51(夕景識別器51S)があると判断する。
そして、S205の処理を終えた場合(識別対象画像が特定のシーンに属すると判断された場合)、又は、S208において次のサブ識別器51がないと判断された場合(識別対象画像が特定のシーンに属すると判断できなかった場合)、全体識別器50は、全体識別処理を終了する。
なお、既に説明した通り、全体識別処理が終了すると、シーン識別部33は、全体識別処理によってシーンの識別ができたか否かを判断する(図8のS104)。このとき、シーン識別部33は、図11の識別対象テーブルを参照し、「肯定」欄に1があるか否かを判断することになる。
全体識別処理によってシーンの識別ができた場合(S104でYES)、部分識別処理や統合識別処理が省略される。これにより、シーン識別処理の速度が速くなる。
===部分識別処理===
図17は、部分識別処理のフロー図である。部分識別処理は、全体識別処理によってシーンの識別ができなかった場合(図8のS104でNO)に行われる。以下に説明するように、部分識別処理は、分割された分割画像のシーンをそれぞれ識別することによって、画像全体のシーンを識別する処理である。ここでは図9も参照しながら部分識別処理について説明する。
まず、部分識別器60は、複数のサブ部分識別器61の中から1つのサブ部分識別器61を選択する(S301)。部分識別器60には、サブ部分識別器61が3つ設けられている。各サブ部分識別器61は、8×8の64ブロックに分割された部分画像がそれぞれ特定のシーンに属するか否かを識別する。ここでの3つのサブ部分識別器61は、それぞれ夕景、花、紅葉のシーンを識別する。部分識別器60は、夕景→花→紅葉の順に、サブ部分識別器61を選択する。このため、最初には、部分画像が夕景のシーンに属するか否かを識別するサブ部分識別器61(夕景部分識別器61S)が選択される。
次に、部分識別器60は、識別対象テーブル(図11)を参照し、選択したサブ部分識別器61を用いてシーンを識別すべきか否かを判断する(S302)。ここでは、部分識別器60は、識別対象テーブルにおける「夕景」欄の「否定」欄を参照し、ゼロであればYESと判断し、1であればNOと判断する。なお、全体識別処理の際に、夕景識別器51Sが第1否定閾値により否定フラグを立てたとき、又は、他のサブ識別器51が第2否定閾値により否定フラグを立てたとき、このS302でNOと判断される。仮にNOと判断されると夕景の部分識別処理は省略されることになるので、部分識別処理の速度が速くなる。但し、ここでは説明の都合上、YESと判断されるものとする。
次に、サブ部分識別器61は、8×8の64ブロックに分割された部分画像の中から、1つの部分画像を選択する(S303)。
図18は、夕景部分識別器61Sが選択する部分画像の順番の説明図である。部分画像から画像全体のシーンを識別するような場合、識別に用いられる部分画像は、被写体が存在する部分であることが望ましい。そこで、本実施形態では、数千枚のサンプルの夕景画像を用意し、各夕景画像を8×8の64ブロックに分割し、夕景部分画像(夕景の太陽と空の部分画像)を含むブロックを抽出し、抽出されたブロックの位置に基づいて各ブロックにおける夕景部分画像の存在確率を算出した。そして、本実施形態では、存在確率の高いブロックから順番に、部分画像が選択される。なお、図に示す選択順序の情報は、プログラムの一部としてメモリ23に格納されている。
なお、夕景画像の場合、画像の中央付近から上半分に夕景の空が広がっていることが多いため、中央付近から上半分のブロックにおいて存在確率が高くなる。また、夕景画像の場合、画像の下1/3では逆光で陰になり、部分画像単体では夕景か夜景か区別がつかないことが多いため、下1/3のブロックにおいて存在確率が低くなる。花画像の場合、花を中央付近に配置させる構図にすることが多いため、中央付近における花部分画像の存在確率が高くなる。
次に、サブ部分識別器61は、選択された部分画像の部分特徴量に基づいて、その部分画像が特定のシーンに属するか否かを判断する(S304)。サブ部分識別器61には、全体識別器50のサブ識別器51と同様に、サポートベクタマシン(SVM)による判別手法が用いられている。なお、サポートベクタマシンについては、後述する。判別式の値が正の値であれば、部分画像が特定のシーンに属すると判断し、サブ部分識別器61は正カウント値をインクリメントする。また、判別式の値が負の値であれば、部分画像が特定のシーンに属しないと判断し、サブ部分識別器61は負カウント値をインクリメントする。
次に、サブ部分識別器61は、正カウント値が肯定閾値よりも大きい否かを判断する(S305)。なお、正カウント値は、特定のシーンに属すると判断された部分画像の数を示すものである。正カウント値が肯定閾値より大きければ(S305でYES)、サブ部分識別器61は、識別対象画像が特定のシーンに属すると判断し、肯定フラグを立てる(S306)。この場合、部分識別器60は、次のサブ部分識別器61による識別を行わずに、部分識別処理を終了する。例えば、夕景画像であると識別できれば、花や紅葉の識別を行わずに、部分識別処理を終了する。この場合、次のサブ部分識別器61による識別を省略しているので、部分識別処理の速度を速めることができる。
正カウント値が肯定閾値より大きくなければ(S305でNO)、サブ部分識別器61は、識別対象画像が特定のシーンに属すると判断できず、次のS307の処理を行う。
サブ部分識別器61は、正カウント値と残りの部分画像数との和が肯定閾値よりも小さければ(S307でYES)、S309の処理へ進む。正カウント値と残りの部分画像数との和が肯定閾値よりも小さい場合、残り全ての部分画像によって正カウント値がインクリメントされても正カウント値が肯定閾値より大きくなることがないので、S309に処理を進めることによって、残りの部分画像についてサポートベクタマシンによる識別を省略する。これにより、部分識別処理の速度を速めることができる。
サブ部分識別器61がS307でNOと判断した場合、サブ部分識別器61は、次の部分画像の有無を判断する(S308)。なお、本実施形態では、64個に分割された部分画像の全てを順に選択していない。図18において太枠で示された上位10番目までの10個の部分画像だけを順に選択している。このため、10番目の部分画像の識別を終えれば、サブ部分識別器61は、S308において次の部分画像はないと判断する。(この点を考慮して、S307の「残りの部分画像数」も決定される。)
図19は、上位10番目までの10個の部分画像だけで夕景画像の識別をしたときのRecall及びPrecisionのグラフである。図に示すような肯定閾値を設定すれば、正答率(Precision)を80%程度に設定でき、再現率(Recall)を90%程度に設定でき、精度の高い識別が可能である。
本実施形態では、10個の部分画像だけで夕景画像の識別を行っている。このため、本実施形態では、64個の全ての部分画像を用いて夕景画像の識別を行うよりも、部分識別処理の速度を速めることができる。
また、本実施形態では、夕景部分画像の存在確率の高い上位10番目の部分画像を用いて夕景画像の識別を行っている。このため、本実施形態では、存在確率を無視して抽出された10個の部分画像を用いて夕景画像の識別を行うよりも、Recall及びPrecisionをともに高く設定することが可能になる。
また、本実施形態では、夕景部分画像の存在確率の高い順に部分画像を選択している。この結果、早い段階でS305の判断がYESになりやすくなる。このため、本実施形態では、存在確率の高低を無視した順で部分画像を選択したときよりも、部分識別処理の速度を速めることができる。
S307においてYESと判断された場合、又は、S308において次の部分画像がないと判断された場合、サブ部分識別器61は、負カウント値が否定閾値よりも大きいか否かを判断する(S309)。この否定閾値は、前述の全体識別処理における否定閾値(図10のS206)とほぼ同様の機能を果たすものなので、詳しい説明は省略する。S309でYESと判断された場合、図10のS207と同様に、否定フラグを立てる。
S302においてNOの場合、S309でNOの場合、又はS310の処理を終えた場合、部分識別器60は、次のサブ部分識別器61の有無を判断する(S311)。夕景部分識別器61Sによる処理を終えた後の場合、サブ部分識別器61として花部分識別器61Fや紅葉部分識別器61Rがまだあるので、部分識別器60は、S311において、次のサブ部分識別器61があると判断する。
そして、S306の処理を終えた場合(識別対象画像が特定のシーンに属すると判断された場合)、又は、S311において次のサブ部分識別器61がないと判断された場合(識別対象画像が特定のシーンに属すると判断できなかった場合)、部分識別器60は、部分識別処理を終了する。
なお、既に説明した通り、部分識別処理が終了すると、シーン識別部33は、部分識別処理によってシーンの識別ができたか否かを判断する(図8のS106)。このとき、シーン識別部33は、図11の識別対象テーブルを参照し、「肯定」欄に1があるか否かを判断することになる。
部分識別処理によってシーンの識別ができた場合(S106でYES)、統合識別処理が省略される。これにより、シーン識別処理の速度が速くなる。
===サポートベクタマシン===
統合識別処理について説明する前に、全体識別処理のサブ識別器51や部分識別処理のサブ部分識別器61において用いられているサポートベクタマシン(SVM)について説明する。
図20Aは、線形サポートベクタマシンによる判別の説明図である。ここでは、2つの特徴量x1、x2によって、学習用サンプルを2次元空間に示している。学習用サンプルは2つのクラスA、Bに分けられている。図中では、クラスAに属するサンプルは丸で示されており、クラスBに属するサンプルは四角で示されている。
学習用サンプルを用いた学習によって、2次元空間を2つに分ける境界が定義される。境界は、<w・x>+b=0で定義される(なお、x=(x1,x2)であり、wは重みベクトルであり、<w・x>はwとxの内積である)。但し、境界は、マージンが最大になるように、学習用サンプルを用いた学習によって定義される。つまり、図の場合、境界は、太点線ではなく、太実線のようになる。
判別は、判別式f(x)=<w・x>+bを用いて行われる。ある入力x(この入力xは学習用サンプルとは別である)について、f(x)>0であればクラスAに属すると判別され、f(x)<0であればクラスBに属すると判別される。
ここでは2次元空間を用いて説明しているが、これに限られない(つまり、特徴量は2以上でも良い)。この場合、境界は超平面で定義される。
ところで、2つのクラスに線形関数で分離できないことがある。このような場合に線形サポートベクタマシンによる判別を行うと、判別結果の精度が低下する。そこで、入力空間の特徴量を非線形変換すれば、すなわち入力空間からある特徴空間へ非線形写像すれば、特徴空間において線形関数で分離することができるようになる。非線形サポートベクタマシンでは、これを利用している。
図20Bは、カーネル関数を用いた判別の説明図である。ここでは、2つの特徴量x1、x2によって、学習用サンプルを2次元空間に示している。図20Bの入力空間からの非線形写像が図20Aのような特徴空間になれば、線形関数で2つのクラスに分離することが可能になる。この特徴空間においてマージンが最大になるように境界が定義されれば、特徴空間における境界の逆写像が、図20Bに示す境界になる。この結果、図20Bに示すように、境界は非線形になる。
本実施形態ではガウスカーネルを利用することにより、判別式f(x)は次式のようになる(なお、Mは特徴量の数であり、Nは学習用サンプルの数(若しくは境界に寄与する学習用サンプルの数)であり、wは重み係数であり、yは学習用サンプルの特徴量であり、xは入力xの特徴量である)。
Figure 2008271249
ある入力x(この入力xは学習用サンプルとは別である)について、f(x)>0であればクラスAに属すると判別され、f(x)<0であればクラスBに属すると判別される。また、判別式f(x)の値が大きい値になるほど、入力x(この入力xは学習用サンプルとは別である)がクラスAに属する確率が高くなる。逆に、判別式f(x)の値が小さい値になるほど、入力x(この入力xは学習用サンプルとは別である)がクラスAに属する確率が低くなる。前述の全体識別処理のサブ識別器51や部分識別処理のサブ部分識別器61では、上記のサポートベクタマシンの判別式f(x)の値を用いている。
なお、学習用サンプルとは別に評価用サンプルが用意されている。前述のRecallやPrecisionのグラフは、評価用サンプルに対する識別結果に基づくものである。
===統合識別処理===
前述の全体識別処理や部分識別処理では、サブ識別器51やサブ部分識別器61における肯定閾値を比較的高めに設定し、Precision(正解率)を高めに設定している。なぜならば、例えば全体識別部の風景識別器51Lの正解率が低く設定されると、風景識別器51Lが紅葉画像を風景画像であると誤識別してしまい、紅葉識別器51Rによる識別を行う前に全体識別処理を終えてしまう事態が発生してしまうからである。本実施形態では、Precision(正解率)が高めに設定されることにより、特定のシーンに属する画像が特定のシーンのサブ識別器51(又はサブ部分識別器61)に識別されるようになる(例えば紅葉画像が紅葉識別器51R(又は紅葉部分識別器61R)によって識別されるようになる)。
但し、全体識別処理や部分識別処理のPrecision(正解率)を高めに設定すると、全体識別処理や部分識別処理ではシーンの識別ができなくなる可能性が高くなる。そこで、本実施形態では、全体識別処理及び部分識別処理によってシーンの識別ができなかった場合、以下に説明する統合識別処理が行われる。
図21は、統合識別処理のフロー図である。以下に説明するように、統合識別処理は、全体識別処理の各サブ識別器51の判別式の値に基づいて、確信度が所定値以上(例えば90%以上)であって、最も確信度の高いシーンを選択する処理である。
まず、統合識別器70は、5つのサブ識別器51の判別式の値に基づいて、正となるシーンを抽出する(S401)。このとき、全体識別処理の際に各サブ識別器51が算出した判別式の値が用いられる。
次に、統合識別器70は、確信度が所定値以上のシーンが存在するか否かを判断する(S402)。ここで、確信度は、識別対象画像が特定シーンに属する確率を示すものであり、判別式の値から求められる。具体的にいうと、統合識別器70には、判別式の値とPrecisionとの関係を示すテーブルが用意されており、このテーブルに基づいて判別式の値に対応するPrecisionを導き出し、このPrecisionの値を確信度としている。なお、所定値は、例えば90%に設定され、全体識別器や部分識別器の肯定閾値によって設定されるPrecision(97.5%)よりも低い値に設定される。但し、確信度はPrecisionでなくてもよく、判別式の値を確信度としても良い。
確信度が所定値以上のシーンが存在する場合(S402でYES)、そのシーンの欄に肯定フラグを立てて(S403)、統合識別処理を終了する。なお、確信度が90%以上のシーンを抽出したときに、複数のシーンが抽出されることはない。あるシーンの確信度が高ければ、必然的に他のシーンの確信度が低くなるからである。
一方、確信度が所定値以上のシーンが存在しない場合(S402でNO)、肯定フラグを立てずに、統合識別処理を終了する。これにより、図11の識別対象テーブルの肯定欄において、1のシーンが無いままの状態になる。つまり、識別対象画像が、どのシーンに属するか識別できなかったことになる。
なお、既に説明した通り、統合識別処理が終了すると、シーン識別部33は、統合識別処理によってシーンの識別ができたか否かを判断する(図8のS108)。このとき、シーン識別部33は、図11の識別対象テーブルを参照し、「肯定」欄に1があるか否かを判断することになる。S402でYESとの判断の場合、S108の判断もYESになる。一方、S402でNOとの判断の場合、S108の判断もNOになる。
本実施形態では、図8のS108でNOの場合、すなわち図21のS402でNOの場合、S401で抽出されたシーンが、シーン候補として、全て結果記憶部31Bに記憶される。
===第1実施形態===
<概要>
前述したように、ユーザは、モード設定ダイヤル2Aによって、撮影モードを設定することができる。そして、デジタルスチルカメラ2は、設定された撮影モードや撮影時の測光結果等に基づいて、撮影条件(露光時間、ISO感度等)を決定し、決定した撮影条件にて被写体を撮影する。撮影後、デジタルスチルカメラ2は、撮影時の撮影条件を示す撮影データを、画像データとともに、画像ファイルとしてメモリカード6に保存する。
ところで、ユーザが撮影モードを設定し忘れたために、撮影条件に不適切な撮影モードが設定されたまま、撮影が行われることがある。例えば、夜景モードが設定されたまま、日中の風景が撮影されることがある。この場合、画像ファイルの画像データは日中の風景の画像であるにも関わらず、撮影データには夜景モードを示すデータが記憶されることになる(例えば図5の撮影シーンタイプデータが「3」になる)。このような場合、不適切な撮影シーンタイプデータに基づいて画像データが補正されてしまうと、ユーザにとって望ましくない画質の印刷が行われてしまう。
一方、識別処理(顔識別処理及びシーン識別処理)の結果に基づいて画像データを補正しても、ユーザの望む画質の印刷が得られないこともある。例えば、識別処理において誤識別が生じる場合、ユーザの望む画質の印刷が得られないこともある。また、ユーザが特殊な効果を狙って設定した撮影モードを否定して、プリンタによる識別結果に基づいて画像データを補正した場合にも、ユーザの意図通りの印刷を行えなくなる。
そこで、本実施形態では、ユーザの確認を促すための確認画面を表示することにしている。具体的には、後述するように、識別処理結果と、画像ファイルの付加データのシーン情報(撮影シーンタイプデータや撮影モードデータ)の示すシーンとが不一致の場合、パネル部15の表示部16に確認画面が表示される。
<第1実施形態の説明>
第1実施形態では、1つの画像ファイルをダイレクトプリントしている。
図22は、第1実施形態のダイレクトプリントの処理の流れを示すフロー図である。各処理は、メモリ23に記憶されたプログラムに基づいてプリンタ側コントローラ20によって実現される。
まず、プリンタ側コントローラ20は、顔識別部32による顔識別処理、及び、シーン識別部33によるシーン識別処理を行う(S501)。これらの処理については既に説明したので、説明を省略する。
次に、プリンタ側コントローラ20は、付加データの示すシーンと、識別処理結果の示すシーンとを比較可能かどうか判断する(S502)。識別処理結果に複数のシーン候補が含まれる場合には、確信度の最も高いシーン候補を用いて判断する。
なお、次のS503において不一致の判断に撮影シーンタイプデータを用いる場合と、MakerNoteデータである撮影モードデータを用いる場合とで、S502の判断方法は異なる。
S503において撮影シーンタイプデータを用いる場合、撮影シーンタイプデータが「人物」「風景」及び「夜景」のいずれでもないとき、例えば撮影シーンタイプデータが「0」のとき(図5参照)、S503において識別処理結果との比較ができないので、S502の判断はNOとなる。また、識別処理結果が「人物」「風景」及び「夜景」のいずれでもないとき、S503において撮影シーンタイプデータとの比較ができないので、S502の判断はNOとなる。例えば識別処理結果が「夕景」のとき、S502の判断はNOとなる。
S503において撮影モードデータを用いる場合、撮影モードデータが「人物」「風景」「夕景」及び「夜景」のいずれでもないとき、例えば撮影モードデータが「3(接写)」のとき(図5参照)、識別処理結果との比較ができないので、S502の判断はNOとなる。また、識別処理結果が「人物」「風景」「夕景」及び「夜景」のいずれでもないとき、撮影モードデータとの比較ができないので、S502の判断はNOとなる。
S502においてYESの場合、プリンタ側コントローラ20は、付加データ(撮影シーンタイプデータ、撮影モードデータ)の示すシーンと、識別処理結果の示すシーンとが不一致か否かを判断する(S503)。識別処理結果に複数のシーン候補が含まれる場合には、確信度の最も高いシーン候補を用いて判断する。
不一致の場合(S503でYES)、プリンタ側コントローラ20は、表示部16に確認画面を表示する(S504)。この確認画面は、付加データ(撮影シーンタイプデータ、撮影モードデータ)の示すシーンと、識別処理結果の示すシーンとが不一致である場合に、いずれのシーンに基づいて画像データを補正するかをユーザに確認させる画面である。
図23は、第1実施形態における確認画面の説明図である。この確認画面161には、ダイレクトプリントの対象となる画像ファイルの画像データの示す画像161Aが表示されている。この画像の下には、4つのシーンを示すボタン161B〜161Eが表示されている。ユーザは、これらのボタン161B〜161Eの中からシーンを選択することができる。
一番左のボタン161Bには、付加データの示すシーンが示されている。このボタン161Bの右側のボタン161C〜161Eには、識別処理結果のシーンが示されている。ここでは、シーン候補が複数あるため、これらのシーン候補がボタン161Bの右側にそれぞれ表示されている。仮に識別処理結果で1つのシーンに絞られていれば、ボタン161の右側には、1つのボタンしか表示されない。なお、シーン候補の中に付加データの示すシーンと同じシーンがあれば、このシーン候補を示すボタンは表示されない。例えば、識別処理の際に「人物」、「風景」、「夕景」及び「紅葉」の4つのシーン候補が抽出されたときには、付加データの示すシーンである「風景」を除外した残りの3つのシーン候補が、ボタン161Bの右側に表示される。
本実施形態では、識別処理結果の複数のシーンは、確信度順の順に表示されている。ここでは、「人物」の確信度が最も高く、「紅葉」の確信度が最も低い。このように、3つのシーン候補を識別処理結果の確信度順に並べて表示することによって、シーンを選択しやすくなり、ユーザが確認作業をしやすくなる。特に、付加データの示すシーン(ユーザが撮影時に設定したシーン)を示すボタン161Bの最も近傍に、確信度の最も高いシーンを示すボタン161Cが表示されるので、ユーザに選択される可能性の高いボタンが集まり、ユーザが確認作業をしやすくなる。
プリンタ側コントローラ20は、ユーザの入力部17への操作に応じて、ユーザの選択したボタンの縁を太線で強調表示する。初期設定では、識別処理結果のシーンを示すボタンが強調表示される。識別処理結果に複数のシーン候補が含まれる場合には、確信度の最も高いシーン候補を示すボタンが強調表示される。ここでは、確信度の最も高いシーン候補である「人物」を示すボタン161Cが太線で強調表示されている。
ユーザによりOKボタン161Fが選択されると(S505でYES)、プリンタ側コントローラ20は、ユーザの選択に応じた補正モードにて画像データを補正する(S506)。仮に、図23の状態でOKボタン161Cが押されると、「人物」モードにて画像データが補正処理されることになる(図7参照)。
確認画面は、ユーザによる確認の入力があるまで表示される(S505でNO)。ユーザによる確認の入力があれば(S505でYES)、プリンタ側コントローラ20は、ユーザの選択に応じた補正モードにて画像データを補正する(S506)。但し、ユーザによる入力がない場合であっても、確認画面が表示されてから所定時間(例えば20秒)が経過したら、初期設定で選択されたシーン(ここでは識別処理結果のシーン)に応じた補正モードにて、画像データが補正されても良い。これにより、ユーザがプリンタから離れていても、処理を進めることができる。初期設定で選択されるシーンは、識別処理結果の確信度に応じて変わっても良いし、確信度に関わらず常に識別処理結果のシーンを選択するように予め決まっていても良い。
なお、S502においてNOの場合には、S503において比較ができないので、S506へ処理が進む。また、S503においてNOの場合、ユーザへの確認が不要なので、S506へ処理が進む。
S506において、プリンタ側コントローラ20は、所定の補正モードにて画像データを補正する。S505においてユーザの確認があった場合、プリンタ側コントローラ20は、ユーザの選択したシーンに基づいて、画像データを補正する。また、S502及びS503のいずれかにおいてNOの場合、プリンタ側コントローラ20は、識別処理結果のシーンに基づいて、画像データを補正する。
そして、画像補正処理後、プリンタ側コントローラ20は、補正された画像データに基づいて、画像を印刷する(S507)。これにより、ユーザの希望に沿った画質の印刷画像が得られる。
===第2実施形態===
本第2実施形態では、複数の画像ファイルをダイレクトプリントする。つまり、第1実施形態の場合と比較すると、ダイレクトプリントする対象の数が異なる。複数の画像ファイルをダイレクトプリントするときに、仮に第1実施形態の確認画面のように1つの画像ファイルの情報しか表示できないとすると、不一致のたびに確認画面が何度も表示されることになり、ユーザに何度も入力作業を強いることになる。そこで、本実施形態の確認画面では、複数の画像ファイルの情報を一覧表示するようにし、一括してユーザが入力作業できるようにしている。
図24は、第2実施形態のダイレクトプリントの処理の流れを示すフロー図である。各処理は、メモリ23に記憶されたプログラムに基づいてプリンタ側コントローラ20によって実現される。
まず、プリンタ側コントローラ20は、ダイレクトプリントの対象となる複数の画像ファイルの全てについて、顔識別処理及びシーン識別処理をそれぞれ行う(S601)。これらの処理については既に説明したので、説明を省略する。
次に、プリンタ側コントローラ20は、付加データ(撮影シーンタイプデータ、撮影モードデータ)の示すシーンと、識別処理結果の示すシーンとが不一致か否かを、ダイレクトプリントの対象となる画像ファイルごとにそれぞれ判断する(S602)。識別処理結果に複数のシーン候補が含まれる場合には、確信度の最も高いシーン候補を用いて判断する。不一致か否かの判断方法については、既に説明したので、説明を省略する。
次に、プリンタ側コントローラ20は、2つのシーンが不一致となる画像ファイルが一つでも存在するか否かを判断する(S603)。ダイレクトプリントの対象となる全ての画像ファイルにおいて2つのシーンが一致していれば(S603でNO)、ユーザへの確認が不要なので、S606へ処理が進む。このように確認画面を表示しないことにより、印刷までの処理時間を短くできる。
2つのシーンが不一致となる画像ファイルが一つでも存在する場合(S603でYES)、プリンタ側コントローラ20は、表示部16に確認画面を表示する(S604)。
図25は、第2実施形態の確認画面の説明図である。
この確認画面162には、3個の画像162Aが表示される(図では四角の枠しか描かれていないが、実際には、この枠の中に画像が表示される)。この3個の画像162Aは、ダイレクトプリントの対象となる複数の画像ファイルのうち、付加データの示すシーンと識別処理結果のシーンとが不一致の画像ファイルの画像である。各画像を表示できるスペースが小さいため、画像ファイルのサムネイル画像データ(図3参照)を用いて各画像162Aが表示されている。また、表示される画像が小さいのでユーザが画質を評価することは難しいため、サムネイル画像データには特に画像補正は施されていない。各画像162Aの左上には、撮影日時順に若しくは画像ファイルのデータ名順に、数字が付されている。以下の説明では、この数字を用いて画像を特定する。例えば、確認画面の3個の画像162のうち、左上の画像のことを「1番目の画像」と呼び、この画像に対応する画像ファイルのことを「1番目の画像ファイル」と呼ぶ。なお、ここではダイレクトプリントの対象となる画像ファイルは1〜9番目の画像ファイルであり、このうち2つのシーンが不一致の画像ファイルは1、4、5、9番目の画像ファイルであるものとする。
各画像162の右側には、ユーザにシーンを選択させるためのボタンが複数表示されている。このうち、一番左のボタン162Bには、付加データの示すシーンが示されている。このボタン162Bの右側のボタン162C、162Dには、識別処理結果のシーンが示されている。
なお、複数のシーン候補があるとき、前述の第1実施形態では全てのシーン候補を示すボタンが表示されているが、第2実施形態では、確信度が40%以上のシーン候補を示すボタンだけが表示され、確信度が40%未満のシーン候補を示すボタンは表示されない。これにより、表示すべきボタンの数が減るので、ユーザが確認作業をしやすくなる。
本実施形態においても、識別処理結果の複数のシーン候補は、確信度順の順に表示されている。このように、複数のシーン候補を識別処理結果の確信度順に並べて表示することによって、シーンを選択しやすくなり、ユーザが確認作業をしやすくなる。特に、付加データの示すシーン(ユーザが撮影時に設定したシーン)を示すボタン162Bの最も近傍に、確信度の最も高いシーンを示すボタン162Cが表示されるので、ユーザに選択される可能性の高いボタンが集まり、ユーザが確認作業をしやすくなる。
本実施形態では、付加データのシーンと識別対象のシーンとが一致している画像は、確認画面162に表示されない。これにより、確認画面に表示すべき情報を減らすことができ、ユーザが確認作業をしやすくなる。一方、付加データのシーンと識別対象のシーンとが一致している画像に対してユーザは確認を行うことはできないことになってしまう。但し、2つのシーンが一致していれば、そもそもユーザの確認は不要であるはずなので、問題はない。
この確認画面上で1、4、5番目の画像ファイルが確認された後、プリンタ側コントローラ20は、残りの画像ファイル(9番目の画像ファイル)の確認画面を更に表示する。このようにして、残りの画像ファイルに対しても同様に、ユーザの確認が行われる。
ユーザにより入力部17の決定ボタン(不図示)が押されると(S605でYES)、プリンタ側コントローラ20は、ユーザの選択に応じた補正モードにて画像データを補正する(S606)。
確認画面は、ユーザによる確認の入力があるまで表示される(S605でNO)。ユーザによる確認の入力があれば(S605でYES)、プリンタ側コントローラ20は、ユーザの選択に応じた補正モードにて画像データを補正する(S606)。但し、ユーザによる確認の入力がない場合であっても、確認画面が表示されてから所定時間(例えば20秒)が経過したら、初期設定で選択されたシーン(ここでは識別処理結果のシーン)に応じた補正モードにて、画像データが補正されても良い。これにより、ユーザがプリンタから離れていても、処理を進めることができる。初期設定で選択されるシーンは、識別処理結果の確信度に応じて変わっても良いし、確信度に関わらず常に識別処理結果のシーンを選択するように予め決まっていても良い。
そして、画像補正処理後、プリンタ側コントローラ20は、補正された画像データに基づいて、画像を印刷する(S607)。これにより、ユーザの希望に沿った画質の印刷画像が得られる。
===第3実施形態===
前述の第2実施形態では、確認画面を表示し、ユーザによる確認の入力があった後に印刷が開始される。これに対し、第3実施形態では、印刷開始を早くするために、2つのシーンが不一致ではない画像ファイルについては先に印刷を開始する。
以下の説明では、ダイレクトプリントの対象は、1番目〜9番目の画像ファイルであることにする。また、第2実施形態と同様に、1、4、5及び9番目の画像ファイルでは付加データのシーンと識別対象のシーンとが不一致であり、2、3、6〜8番目の画像ファイルでは付加データのシーンと識別対象のシーンとが一致していることにする。
図26は、第3実施形態のダイレクトプリントの処理の流れを示すフロー図である。各処理は、メモリ23に記憶されたプログラムに基づいてプリンタ側コントローラ20によって実現される。
まず、プリンタ側コントローラ20は、ダイレクトプリントの対象となる複数の画像ファイルから1番目の画像ファイルを取得し、顔識別処理及びシーン識別処理を行う(S701)。これらの処理については既に説明したので、説明を省略する。
次に、プリンタ側コントローラ20は、付加データ(撮影シーンタイプデータ、撮影モードデータ)の示すシーンと、識別処理結果の示すシーンとが不一致か否かを判断する(S702)。この判断についても、既に説明したので、説明を省略する。
S702において不一致の場合(YES)、その画像ファイルの番号と、識別処理結果等をメモリ23に記憶する(S704)。そして、S705へ処理が進む。
S702において不一致ではない場合(NO)、プリンタ側コントローラ20はジョブを作成する(S703)。このときのジョブの内容は、画像データを識別処理結果のシーンに基づいて補正し、補正された画像データに基づいて印刷処理を行うことである。プリンタ側コントローラ20は、複数のジョブが蓄積されていれば、優先順位に従ってジョブを順に実行する。ジョブが実行されると、そのジョブの内容に従って、画像データが所定のシーン(ここでは識別処理結果のシーン)に基づいて補正され、補正された画像データに基づいて印刷処理が行われる。なお、プリンタ側コントローラ20は、ジョブを実行する間も、図26の各処理を並列して行う。
1番目の画像ファイルに対してS702においてYESと判断されると、プリンタ側コントローラ20は、画像ファイルの番号と、識別処理結果(ここでは「風景」、複数のシーン候補があれば、それらのシーン候補)をメモリ23に記憶することになる(S704)。
次に、まだ2番目〜9番目の画像ファイルが残っているのでS705でNOと判断され、2番目の画像ファイルに対してS701の処理が行われる。
2番目の画像ファイルにおいて、S702でNOと判断されると、プリンタ側コントローラ20は、2番目の画像ファイルのジョブを作成する(S703)。このとき、他のジョブがないので、ジョブの作成後にすぐにそのジョブが実行される。すなわち、2番目の画像ファイルの画像データが補正処理され、補正された画像データに基づいて印刷処理が開始される。
このようにして、残りの3番目〜9番目の画像ファイルに対しても、同様にS701〜S705の処理が行われる。なお、プリンタ側コントローラ20は、2番目の画像ファイルのジョブを実行する間に、3番目の画像ファイルに対するS701〜S705の処理を並列して行うことになる。
9番目の画像ファイルに対してS704の処理を行った後、残りの画像ファイルがないので、プリンタ側コントローラ20は、S705においてYESと判断する。そして、プリンタ側コントローラ20は、確認画面を表示する(S706)。この確認画面は、前述の第2実施形態の確認画面(図25参照)と同様である。
ユーザにより入力部17の決定ボタン(不図示)が押されると(S707でYES)、プリンタ側コントローラ20は、ユーザの選択に応じたジョブを作成する(S708)。ここでは、プリンタ側コントローラ20は、1、4、5、9番目の画像を印刷するためのジョブをそれぞれ作成する(S708)。このときのジョブの内容は、ユーザの選択したシーンに基づいて画像データを補正し、補正された画像データに基づいて印刷処理を行うことである。
次に、プリンタ側コントローラ20は、番号順に印刷ができる状態か否かを判断する(S709)。具体的には、プリンタ側コントローラ20は、S708でジョブを作成した画像ファイルの最小の番号が、既に印刷を開始した画像の番号よりも大きければ、番号順に印刷ができる状態であると判断する。ここでは、S708でジョブを作成した画像ファイル(1、4、5、9番目の画像ファイル)の最小の番号は1番であり、2番目の画像が印刷開始されているので、S709の判断はNOになる。
仮に1番目の画像ファイルにおいて2つのシーンが不一致でなければ、S703において1〜3番目の画像を印刷するジョブが作成され、1番目の画像の印刷が開始される。通常、1枚の画像を印刷するのに数秒〜数十秒かかるので、確認画面による指示が早ければ、1〜3番目の画像の印刷が終了する前に(6番目の画像の印刷が開始する前に)、4、5、9番目の画像ファイルのジョブが作成される(S708)。このような場合、プリンタ側コントローラ20は、S710においてYESと判断し、ジョブの順番を変更し(S710)、ジョブの優先順位を画像ファイルの番号順にする。これにより、プリンタ4は、3番目の画像の印刷の後に、6番の画像を印刷するのではなく、4番の画像を印刷することになる。そして、ユーザは、画像ファイルの番号順に印刷された画像を手にすることができる。
なお、S709の判断がNOの場合、プリンタ4は画像ファイルの番号順に画像を印刷しないので、プリンタ側コントローラ20は、そのことをユーザに知らせる警告画面を表示部16に表示しても良い。さらに、この警告画面に印刷順序を表示すれば、印刷された画像をユーザが並び替えるときに便利である。
そして、プリンタ側コントローラ20は、蓄積されたジョブを優先順位に従って順に実行し、全てのジョブの実行が終了すれば(S711でYES)、処理を終了する。
この実施形態によれば、印刷開始を早めることができる。
===付加データにシーン情報を追加===
確認画面においてユーザがシーンを選択すれば、ユーザの望んでいるシーンが確定できる。そこで、本実施形態では、ユーザが確認画面において確認をしたとき、プリンタ側コントローラ20は、ユーザの選択したシーンを画像ファイルの付加データに記憶している。ここでは、識別処理結果のシーンをユーザが確認画面上で選択した場合について説明する。
図27は、付加データに識別結果を追加したときのAPP1領域の構成の説明図である。図27では、図3の画像ファイルと比較して異なる部分を太線で示している。
図3の画像ファイルと比較すると、図27の画像ファイルにはMakernoteIFDが追加されている。この2つ目のMakernoteIFDに、識別処理結果の情報が格納される。
また、ExifSubIFDに新たなディレクトリエントリも追加される。追加されたディレクトリエントリは、2つ目のMakernoteIFDを示すタグと、2つ目のMakernoteIFDの格納場所を示すポインタとから構成されている。
また、ExifSubIFDに新たなディレクトリエントリを追加したため、ExifSubIFDデータエリアの格納場所がずれるので、ExifSubIFDデータエリアの格納場所を示すポインタが変更される。
また、2つ目のMakernoteIFDを追加したため、IFD1領域がずれるので、IFD0においてIFD1の位置を示すリンクも変更される。また、2つ目のMakernoteIFDを追加したため、APP1のデータ領域のサイズが変更されたので、APP1のデータ領域のサイズも変更する。
このようにユーザの選択したシーン(この場合、識別処理結果のシーン)を画像ファイルの付加データに保存することにより、再度、この画像ファイルの画像を印刷するときに識別処理や確認画面の表示が不要になる。また、ユーザが本実施形態のプリンタ4からメモリカード6を取り出し、他のプリンタにメモリカード6を挿入したときに、このプリンタがシーン識別処理機能を備えないが自動補正処理を行うプリンタであっても、適切に画像データを補正できるようになる。
===その他の実施の形態===
一実施形態としてのプリンタ等を説明したが、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
<プリンタについて>
前述の実施形態ではプリンタ4がシーン識別処理や確認画面表示等をしていたが、デジタルスチルカメラ2がシーン識別処理や確認画面表示等をしても良い。また、上記のシーン識別処理や確認画面表示を行う情報処理装置は、プリンタ4やデジタルスチルカメラ2に限られるものではない。例えば、大量の画像ファイルを保存するフォトストレージのような情報処理装置が、上記のシーン識別処理や確認画面表示を行っても良い。もちろん、パーソナルコンピュータやインターネット上に設置されたサーバーが、上記のシーン識別処理や確認画面表示を行っても良い。
<画像ファイルについて>
前述の画像ファイルはExif形式であったが、画像ファイルフォーマットはこれに限られるものではない。また、前述の画像ファイルは静止画であるが、動画であっても良い。要するに、画像ファイルが画像データと付加データとを備えていれば、前述のようなシーン識別処理等を行うことが可能である。
<サポートベクタマシンについて>
前述のサブ識別器51やサブ部分識別器61には、サポートベクタマシン(SVM)による識別手法が用いられている。しかし、識別対象画像が特定シーンに属するか否かの識別手法は、サポートベクタマシンを用いるものに限られるものではない。例えば、ニューラルネットワーク等のパターン認識を採用しても良い。
<シーン候補の抽出方法について>
前述の実施形態では、全体識別処理・部分識別処理・統合識別処理のいずれでもシーンを識別できなかった場合に限り、確信度が所定値以上のシーンをシーン候補として抽出している。但し、シーン候補の抽出方法は、これに限られるものではない。
図28は、別の処理フローの説明図である。この処理は、前述のシーン識別処理の代わりに行われる。
まず、前述の実施形態と同様に、プリンタ側コントローラ20が、画像ファイルの情報に基づいて、全体特徴量を算出する(S801)。次に、風景識別器51Lが、前述の識別処理と同様に、判別式の値又はその値に対応するPrecisionを確信度として算出する(S802)。なお、前述の実施形態の風景識別器51Lは、識別対象画像が風景のシーンに属するか否かをも識別していたが、ここでの風景識別器51Lは、判別式に基づいて確信度を算出するだけである。同様に、他のサブ識別器51も、確信度を算出する(S803〜S806)。そして、プリンタ側コントローラ20は、確信度が所定値以上のシーンをシーン候補として抽出し(S807)、シーン候補(及び確信度)を記憶する(S808)。
このようにしても、画像データの示す画像のシーンを識別することが可能である。そして、このように識別したシーンと、付加データのシーンとを比較して、不一致のときに確認画面を表示することも可能である。
===まとめ===
(1)前述の実施形態では、プリンタ側コントローラ20は、画像データに付加されている付加データから、シーン情報として撮影シーンタイプデータや撮影モードデータを取得する。また、プリンタ側コントローラ20は、顔識別処理やシーン識別処理(図8参照)による識別処理結果を取得する。なお、プリンタ側コントローラ20は、シーンを識別するとき、判別式の値を算出し、その値(若しくは確信度)に基づいて、画像データの示す画像が特定のシーンに属するか否かを識別する。また、プリンタ側コントローラ20は、このような識別処理を複数のシーンのそれぞれについて行っている。
ところで、撮影シーンタイプデータや撮影モードデータの示すシーンと、顔識別処理やシーン識別処理の識別処理結果のシーンとが不一致になる場合がある。そこで、前述の実施形態では、2つのシーンが不一致の場合、確認画面を表示することによって、ユーザに確認を促している。
一方、顔識別処理やシーン識別処理の識別処理結果が、複数のシーン候補を含むことがある。このような場合、複数のシーン候補を確認画面に表示することが望ましい。但し、複数のシーン候補をばらばらに表示してしまうと、ユーザの確認作業が不便になる。
そこで、前述の実施形態では、識別処理結果が複数のシーン候補を含む場合、確信度の順に基づいて、複数のシーン候補を順に表示している。例えば、図23の確認画面では、識別処理結果である3つのシーンをボタン161C〜161Eで表示しており、左から順に確信度の高いシーンを並べている。
(2)前述の実施形態では、プリンタ側コントローラ20は、確認画面を表示する際に、左から順に確信度の高いシーンを並べて表示している。仮にランダムな順番でシーン候補を並べてしまうとユーザが困惑してしまうが、前述の実施形態のような確認画面を表示すれば、ユーザの確認作業が簡便になる。
(3)前述の確認画面には、付加データの示すシーンである「風景」を示すボタン161Bも表示される。そして、識別処理結果のシーン候補のうち最も確信度の高いシーン候補のボタン161Cが、ボタン161Bに最も近くに表示される。これにより、ユーザに選択される可能性の高いボタンが集まり、ユーザが確認作業をしやすくなる。
(4)前述の第2実施形態の確認画面では、確信度が40%以上のシーン候補を示すボタンだけが表示され、確信度が40%未満のシーン候補を示すボタンは表示されない。これにより、確認画面に表示すべきボタンの数が減るので、ユーザの確認作業が簡便になる。なお、シーン候補を示すボタンを表示するか否かを判別するための確信度の閾値は、40%に限られず、何%でも良い。
(5)前述の第2実施形態では、複数の画像ファイルをダイレクトプリントの対象としている。そして、プリンタ側コントローラ20は、各画像ファイルのそれぞれについて、付加データの示すシーンと識別処理結果のシーンとの一致・不一致を比較し、2つのシーンが不一致の画像データについては確認画面に表示し、2つのシーンが不一致ではない画像データについては確認画面に表示しない。これにより、確認画面に表示すべき情報を減らすことができ、ユーザが確認作業をしやすくなる。なお、2つのシーンが一致していれば、そもそもユーザの確認は不要であるはずなので、このような画像は表示しなくても問題は生じない。
(6)前述の第3実施形態では、プリンタ側コントローラ20は、確認画面を表示しているときに、付加データの示すシーンと識別処理結果のシーンとが不一致ではない画像データの示す画像を印刷する。これにより、印刷開始を早めることができる。
(7)前述の第3実施形態では、プリンタ側コントローラ20は、付加データの示すシーンと識別処理結果のシーンとが不一致ではない画像データを印刷するためのジョブは、2つのシーンが不一致の画像データを印刷するためのジョブよりも先に作成する(S703、S708参照)。そして、プリンタ側コントローラ20は、ジョブの優先順位に従ってジョブを実行することによって、2つのシーンが不一致ではない画像データの印刷を、2つのシーンが不一致の画像データの印刷よりも先に行う。これにより、印刷開始を早めることができる。
(8)前述の第3実施形態では、番号順に印刷ができる状態であれば、ジョブの優先順位を変更している。これにより、ユーザは、画像ファイルの番号順に印刷された画像を手にすることが可能になる。
(9)前述のプリンタ(情報処理装置の一例)は、プリンタ側コントローラ20と表示部16を備えている。そして、プリンタ側コントローラ20は、画像データに付加されている付加データから、シーン情報である撮影シーンタイプデータや撮影モードデータを取得する。また、プリンタ側コントローラ20は、顔識別処理やシーン識別処理(図8参照)による識別結果を取得する。また、プリンタ側コントローラ20は、撮影シーンタイプデータや撮影モードデータの示すシーンと、識別処理結果のシーンとを比較し、2つのシーンが不一致の場合、表示部16に確認画面を表示する。
そして、前述の実施形態では、プリンタ側コントローラ20は、識別処理結果に複数のシーン候補が含まれる場合、それぞれのシーン候補の確信度に応じた順に従って、複数のシーン候補を表示する。これにより、ユーザの確認作業が簡便になる。
(10)前述のメモリ23には、図24又は図26の処理をプリンタ4に実行させるプログラムが記憶されている。このプログラムは、画像データに付加されている付加データから画像データのシーン情報を取得するコードと、画像データに基づいて画像データの示す画像のシーンを識別するコードと、シーン情報の示すシーンと識別したシーンとを比較するコードと、シーン情報の示すシーンと識別したシーンとが不一致の場合、表示部に確認画面を表示するコードとを備えている。そして、画像データの示す画像が特定のシーンに属する確率に応じて、画像データの示す画像が特定シーンに属するか否かが判断され、複数の種類の特定シーンのそれぞれについて画像データの示す画像が特定シーンに属するか否かが判断されることによって、画像データの示す画像のシーンを識別することが行われている。また、識別したシーンに複数のシーン候補が含まれる場合、確認画面を表示する際に、それぞれのシーン候補における確信度に基づいて、複数のシーン候補を表示する。
画像処理システムの説明図である。 プリンタの構成の説明図である。 画像ファイルの構造の説明図である。 図4Aは、IFD0で使われるタグの説明図である。図4Bは、ExifSubIFDで使われるタグの説明図である。 モード設定ダイヤルの設定とデータとの対応表である。 プリンタの自動補正機能の説明図である。 画像のシーンと補正内容との関係の説明図である。 シーン識別部によるシーン識別処理のフロー図である。 シーン識別部の機能の説明図である。 全体識別処理のフロー図である。 識別対象テーブルの説明図である。 全体識別処理の肯定閾値の説明図である。 RecallとPrecisionの説明図である。 第1否定閾値の説明図である。 第2否定閾値の説明図である。 図16Aは、風景識別器における閾値の説明図である。図16Bは、風景識別器の処理の概要の説明図である。 部分識別処理のフロー図である。 夕景部分識別器が選択する部分画像の順番の説明図である。 上位10番目までの10個の部分画像だけで夕景画像の識別をしたときのRecall及びPrecisionのグラフである。 図20Aは、線形サポートベクタマシンによる判別の説明図である。図20Bは、カーネル関数を用いた判別の説明図である。 統合識別処理のフロー図である。 第1実施形態のダイレクトプリントの処理の流れを示すフロー図である。 第1実施形態の確認画面の説明図である。 第2実施形態のダイレクトプリントの処理の流れを示すフロー図である。 第2実施形態の確認画面の説明図である。 第3実施形態のダイレクトプリントの処理の流れを示すフロー図である。 付加データに識別結果を追加したときのAPP1領域の構成の説明図である。 別の処理フローの説明図である。
符号の説明
2 デジタルスチルカメラ、2A モード設定ダイヤル、
4 プリンタ、6 メモリカード、
10 印刷機構、11 ヘッド、12 ヘッド制御部、13 モータ、
14 センサ、15 パネル部、16 表示部、17 入力部、
20 プリンタ側コントローラ、21 スロット、22 CPU、
23 メモリ、24 制御ユニット、25 駆動信号生成部、
31 記憶部、31A 画像記憶部、31B 結果記憶部、32 顔識別部、
33 シーン識別部、34 画像補正部、35 プリンタ制御部、
40 特徴量取得部、50 全体識別器、51 サブ識別器、
51L 風景識別器、51S 夕景識別器、51N 夜景識別器、
51F 花識別器、51R 紅葉識別器、60 部分識別器、
61 サブ部分識別器、61S 夕景部分識別器、61F 花部分識別器、
61R 紅葉部分識別器、70 統合識別器、
161 第1実施形態の確認画面、162 第2・第3実施形態の確認画面

Claims (10)

  1. 画像データに付加されている付加データから、画像データのシーン情報を取得し、
    前記画像データに基づいて、前記画像データの示す画像のシーンを識別し、
    前記シーン情報の示すシーンと識別したシーンとを比較し、
    前記シーン情報の示すシーンと識別したシーンとが不一致の場合、表示部に確認画面を表示する情報処理方法であって、
    前記画像データの示す画像が特定のシーンに属する確率に応じて、前記画像データの示す画像が前記特定のシーンに属するか否かが判断され、複数の種類の前記特定のシーンのそれぞれについて前記画像データの示す画像が前記特定のシーンに属するか否かが判断されることによって、前記画像データの示す画像のシーンを識別することが行われ、
    前記識別したシーンに複数の候補が含まれる場合、前記確認画面を表示する際に、それぞれの前記候補における前記特定のシーンに属する確率に基づいて、複数の前記候補を表示する
    ことを特徴とする情報処理方法。
  2. 請求項1に記載の情報処理方法であって、
    前記識別したシーンに複数の候補が含まれる場合、前記確認画面を表示する際に、それぞれの前記候補における前記特定のシーンに属する確率の順に、複数の前記候補を並べて表示する
    ことを特徴とする情報処理方法。
  3. 請求項2に記載の情報処理方法であって、
    前記確認画面には、前記シーン情報の示すシーンも表示され、
    前記確認画面には、前記シーン情報の示すシーンの最も近くに、複数の前記候補のうちの前記確率の最も高い候補が表示される
    ことを特徴とする情報処理方法。
  4. 請求項1〜3のいずれかに記載の情報処理方法であって、
    前記識別したシーンに複数の候補が含まれる場合、前記確認画面を表示する際に、前記特定のシーンに属する確率が閾値を越える前記候補は表示し、前記特定のシーンに属する確率が前記閾値を越えない前記候補は表示しない
    ことを特徴とする情報処理方法。
  5. 請求項1〜4のいずれかに記載の情報処理方法であって、
    複数の画像データのそれぞれについて前記シーン情報の示すシーンと識別したシーンとを比較し、
    前記シーン情報の示すシーンと識別したシーンとが不一致の画像データについては、表示部に確認画面を表示し、
    前記シーン情報の示すシーンと識別したシーンとが不一致ではない画像データについては、表示部に確認画面を表示しない
    ことを特徴とする情報処理方法。
  6. 請求項5に記載の情報処理方法であって、
    前記確認画面を表示しているときに、前記シーン情報の示すシーンと識別したシーンとが不一致ではない画像データの示す画像を印刷する
    ことを特徴とする情報処理方法。
  7. 請求項6に記載の情報処理方法であって、
    前記シーン情報の示すシーンと識別したシーンとが不一致ではない画像データに基づいて作成されるジョブは、前記シーン情報の示すシーンと識別したシーンとが不一致の画像データに基づいて作成されるジョブよりも先に作成され、
    前記ジョブの優先順位に従ってジョブが実行されることによって、前記シーン情報の示すシーンと識別したシーンとが不一致ではない画像データの示す画像の印刷が、前記シーン情報の示すシーンと識別したシーンとが不一致の画像データの示す画像の印刷よりも先に行われる
    ことを特徴とする情報処理方法。
  8. 請求項7に記載の情報処理方法であって、
    前記シーン情報の示すシーンと識別したシーンとが不一致の画像データに基づいて前記ジョブが作成された後、前記ジョブの前記優先順位が変更される
    ことを特徴とする情報処理方法。
  9. コントローラと表示部とを備え、
    前記コントローラは、
    画像データに付加されている付加データから、画像データのシーン情報を取得し、
    前記画像データに基づいて、前記画像データの示す画像のシーンを識別し、
    前記シーン情報の示すシーンと識別したシーンとを比較し、
    前記シーン情報の示すシーンと識別したシーンとが不一致の場合、表示部に確認画面を表示する
    情報処理装置であって、
    前記画像データの示す画像が特定のシーンに属する確率に応じて、前記画像データの示す画像が前記特定のシーンに属するか否かが判断され、複数の種類の前記特定のシーンのそれぞれについて前記画像データの示す画像が前記特定のシーンに属するか否かが判断されることによって、前記画像データの示す画像のシーンを識別することが行われ、
    前記識別したシーンに複数の候補が含まれる場合、前記確認画面を表示する際に、それぞれの前記候補における前記特定のシーンに属する確率に基づいて、複数の前記候補を表示する
    ことを特徴とする情報処理装置。
  10. 情報処理装置に、
    画像データに付加されている付加データから、画像データのシーン情報を取得させ、
    前記画像データに基づいて、前記画像データの示す画像のシーンを識別させ、
    前記シーン情報の示すシーンと識別したシーンとを比較させ、
    前記シーン情報の示すシーンと識別したシーンとが不一致の場合、表示部に確認画面を表示させる
    プログラムであって、
    前記画像データの示す画像が特定のシーンに属する確率に応じて、前記画像データの示す画像が前記特定のシーンに属するか否かが判断され、複数の種類の前記特定のシーンのそれぞれについて前記画像データの示す画像が前記特定のシーンに属するか否かが判断されることによって、前記画像データの示す画像のシーンを識別することが行われ、
    前記識別したシーンに複数の候補が含まれる場合、前記確認画面を表示する際に、それぞれの前記候補における前記特定のシーンに属する確率に基づいて、複数の前記候補を表示する
    ことを特徴とするプログラム。
JP2007112226A 2007-04-20 2007-04-20 情報処理方法、情報処理装置及びプログラム Withdrawn JP2008271249A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007112226A JP2008271249A (ja) 2007-04-20 2007-04-20 情報処理方法、情報処理装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007112226A JP2008271249A (ja) 2007-04-20 2007-04-20 情報処理方法、情報処理装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2008271249A true JP2008271249A (ja) 2008-11-06

Family

ID=40050160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007112226A Withdrawn JP2008271249A (ja) 2007-04-20 2007-04-20 情報処理方法、情報処理装置及びプログラム

Country Status (1)

Country Link
JP (1) JP2008271249A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017511627A (ja) * 2014-02-07 2017-04-20 クゥアルコム・テクノロジーズ・インコーポレイテッド 画像の記録または表示の前にシーン依存の画像修正を可能にする生のシーン認識
CN108701439A (zh) * 2016-10-17 2018-10-23 华为技术有限公司 一种图像显示优化方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178211A (ja) * 2002-11-26 2004-06-24 Canon Inc 印刷画像データ処理装置
JP2005122720A (ja) * 2003-09-25 2005-05-12 Fuji Photo Film Co Ltd 特定シーンの画像を選別する装置、プログラムおよびプログラムを記録した記録媒体
JP2006186695A (ja) * 2004-12-28 2006-07-13 Casio Comput Co Ltd カメラ装置、及び撮影条件設定方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178211A (ja) * 2002-11-26 2004-06-24 Canon Inc 印刷画像データ処理装置
JP2005122720A (ja) * 2003-09-25 2005-05-12 Fuji Photo Film Co Ltd 特定シーンの画像を選別する装置、プログラムおよびプログラムを記録した記録媒体
JP2006186695A (ja) * 2004-12-28 2006-07-13 Casio Comput Co Ltd カメラ装置、及び撮影条件設定方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017511627A (ja) * 2014-02-07 2017-04-20 クゥアルコム・テクノロジーズ・インコーポレイテッド 画像の記録または表示の前にシーン依存の画像修正を可能にする生のシーン認識
CN108701439A (zh) * 2016-10-17 2018-10-23 华为技术有限公司 一种图像显示优化方法及装置
US10847073B2 (en) 2016-10-17 2020-11-24 Huawei Technologies Co., Ltd. Image display optimization method and apparatus

Similar Documents

Publication Publication Date Title
JP2008273171A (ja) 情報処理方法、情報処理装置及びプログラム
US7639877B2 (en) Apparatus and program for selecting photographic images
JP5040624B2 (ja) 情報処理方法、情報処理装置及びプログラム
US20090092312A1 (en) Identifying Method and Storage Medium Having Program Stored Thereon
EP2107785B1 (en) Image processor
JP4862720B2 (ja) 情報処理方法、情報処理装置、プログラム、及び記憶媒体
JP2009080557A (ja) 識別方法及びプログラム
JP4992519B2 (ja) 情報処理方法、情報処理装置及びプログラム
JP2008284868A (ja) 印刷方法、印刷装置及びプログラム
JP4946750B2 (ja) 設定方法、識別方法及びプログラム
JP4830950B2 (ja) 情報処理方法、情報処理装置及びプログラム
JP2008271249A (ja) 情報処理方法、情報処理装置及びプログラム
JP4910821B2 (ja) 画像識別方法
JP4992646B2 (ja) 識別方法及びプログラム
JP2009044249A (ja) 画像識別方法、画像識別装置及びプログラム
JP2008271058A (ja) 情報処理方法、情報処理装置及びプログラム
JP2008258770A (ja) 情報処理方法、情報処理装置及びプログラム
JP2008228087A (ja) 情報処理方法、情報処理装置及びプログラム
JP4882927B2 (ja) カテゴリ識別方法
US8243328B2 (en) Printing method, printing apparatus, and storage medium storing a program
JP2008234626A (ja) 情報処理方法、情報処理装置及びプログラム
JP2008228086A (ja) 情報処理方法、情報処理装置及びプログラム
EP1959668A2 (en) Information processing method, information processing apparatus, and program
JP2009033459A (ja) 画像識別方法、画像識別装置及びプログラム
JP2009080556A (ja) 設定方法、識別方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111129

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20120131