(57)【要約】  好ましい構図を得るための構図解析を容易に実施できる技術が開示される。画像データを取り込み（Ｓ１）、上記画像データを解析して上記画像データの構図上の特徴を表す複数の構図線を獲得し（Ｓ６）、上記獲得した複数の構図線で形成される構図上において、上記複数の構図線で区切られた領域の複数の辺から選択された２辺の長さの比が、所定の値（例えば黄金比）であることを検出する（Ｓ７）。
2009020047.tif 000002
【特許請求の範囲】
【請求項１】
画像データを取り込むステップ（Ｓ１；Ｓ１０；Ｓ２１）と、
上記取り込んだ画像データを解析して、上記画像データの構図上の特徴を表す、複数の線分を獲得するステップ（Ｓ６；Ｓ１５；Ｓ２６）と、
上記獲得した複数の線分で形成される構図上において、上記複数の線分で区切られた領域の複数の辺から選択された２辺の長さの比を解析するステップ（Ｓ７；Ｓ１５；Ｓ２６）と、
を具備することを特徴とする画像の構図解析方法。
【請求項２】
上記所定の値とは、黄金比またはフィボナッチ数列の隣り合う二つの数の比率の値であることを特徴とする請求項１に記載の構図解析方法。
【請求項３】
上記２辺の長さの解析の結果に基づき、上記複数の線分から選択された少なくとも１本の線分の位置を、上記構図上で移動させるステップ（Ｓ７；Ｓ１５；Ｓ２６）をさらに含むことを特徴とする請求項１に記載の構図解析方法。
【請求項４】
上記複数の線分で区切られた領域に、画像を貼り付けるステップ（Ｓ９）をさらに含むことを特徴とする請求項１に記載の構図解析方法。
【請求項５】
上記貼り付けた画像を順次変更するステップ（Ｓ９）をさらに含むことを特徴とする、請求項１に記載の構図解析方法。
【請求項６】
上記２辺の長さの解析の結果に基づき、上記取り込んだ画像から所定の部分画像をトリミングするステップ（Ｓ３０）をさらに含むことを特徴とする、請求項１に記載の構図解析方法。
【請求項７】
上記トリミングされる部分画像は、縦横比が１６：９或いは９：１６の方形をしていることを特徴とする請求項６に記載の構図解析方法。
【請求項８】
請求項６に記載の方法で複数の部分画像をトリミングするステップ（Ｓ３０）と、
上記トリミングした複数の部分画像を結ぶ経路を設定するステップ（Ｓ３２）と、
上記経路上において、請求項６に記載の方法でさらに複数の部分画像をトリミングするステップ（Ｓ３０）と、
をさらに含み、
上記トリミングした部分画像は、上記経路の順に従って順次表示されることを特徴とする構図解析方法。
【請求項９】
請求項１に記載の構図解析方法を実行する機能を有することを特徴とする画像装置。
【請求項１０】
上記画像装置は、デジタルカメラであることを特徴とする請求項９に記載の画像装置。
【請求項１１】
撮像レンズ（２７）を通過した光が結像する撮像素子（２８）と、
上記撮像素子が取り込んだ画像データを解析して、上記画像データの構図上の特徴を表す、複数の線分を獲得するＣＰＵ（３１）と、
上記ＣＰＵが獲得した複数の線分を、上記撮像素子が取り込んだ画像に重畳して表示するモニタ（３０）と、
を具備し、
上記複数の線分で区切られた領域の複数の辺から選択された２辺の長さの比が所定の値であることを告知する機能を有することを特徴とするデジタルカメラ。
【請求項１２】
請求項１に記載の構図解析方法をコンピュータに実行させることを特徴とする構図解析プログラム。
【請求項１３】
請求項１２に記載の構図解析プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１４】
コンピュータに、さらに、
構図解析結果を利用して、取り込んだ画像から所定の経路に沿って複数の部分を順次トリミングさせ（Ｓ３０）、そのトリミングした複数の部分から動画を生成させる（Ｓ３２）、ことを特徴とする請求項１２に記載の構図解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像上で構図を解析する構図解析方法、あるいは当該構図解析方法を実装した画像装置に関する。なお、上記構図解析方法は、コンピュータ読み取り可能な記録媒体上に記録された構造解析プログラムに実装してもよい。また、上記画像装置の好ましい一例としてはデジタルカメラやデジタルビデオカメラ、あるいはデジタルサイネージやフォトフレームなどの画像表示装置がある。
【背景技術】
【０００２】
画像において構図（composition）は重要である。構図は、アレンジメント（arrangement）、配置（disposition）、レイアウト（layout）、比率関係（proportion）、バランス（balance）などと呼ばれることもある。【０００３】
画像中において、好ましい構図を提示する技術がいくつか提案されている。【０００４】
例えば、特開２００２−２１８３０６号公報に記載された画像記録編集装置は、予め好適な構図を表すテンプレートを装置内に具備するものである。この画像記録編集装置は、撮影された画像から画像処理により被写体の輪郭線情報を抽出し、上記テンプレートと上記輪郭線情報の差分を演算して、その差分が最小となるように、ズームレンズを駆動する。この技術によれば、テンプレートによくマッチした大きさで人物等の被写体が撮像できる。その結果として、好ましい構図の画像が得られることが多い。【０００５】
一方、従来より、美的に好ましい比率として、黄金比（Golden ratio）が著名である。黄金比は、１：（１＋√５）／２の比率であり、近似値は１：１．６１８で、約５：８である。また、フィボナッチ数列は、Ｆ１＝１、Ｆ２＝１、Ｆｎ＋２＝Ｆｎ＋Ｆｎ＋１で定義される数列であり、このフィボナッチ数列の隣り合う２項の比率は黄金比に収束することが知られている。【０００６】
ルネッサンス期における西洋絵画に頻繁に見られるように、構図やプロポーションの決定において、黄金比を中心とした幾何学的構成は重要な要素として扱われてきた。【０００７】
また、美的に好ましい比率の別の例としては、白銀比（silver ratio）がある。白銀比は、１：（１＋√２）または、１：√２の何れかを指す。白銀比は美的にも優れているが、白銀比の長方形を長手方向に半分にすると、元と相似の形状となる利点もある。その理由もあってか、白銀比の用途としては、用紙の形状（Ａ４、Ａ３など）が著名である。【０００８】
また、好ましい比率の決定において、美的以外の観点も可能である。例えば、撮像した画像を高品位テレビで再現する予定があるならば、高品位テレビのアスペクト比を撮像時に意識して、被写体が上記アスペクト比の画像範囲にバランス良く収まるようにすることが好ましい。【０００９】
しかし、上述のように、テンプレートに基づいて好ましい構図を提案する技術においては、様々な撮像対象に対応するためには、膨大な数のテンプレートを用意する必要があった。また、このように多くのテンプレートを用意したとしても、実際の撮像にあたり、数多くのテンプレートから撮像対象の被写体に適したテンプレートを素早く選択することは困難であった。【００１０】
また、被写体が動体の場合には、時々刻々変化する被写体の形状や位置の変化に対応して、動的にテンプレートを切り替えることは困難であった。【００１１】
また、上述したように、美的あるいは他の観点から好ましい比率の知見は以前からあったが、画像処理においてこの知見を構図に活かすことは提案されていなかった。
【発明の開示】
【００１２】
本発明は、上記の点に鑑みてなされたもので、好ましい構図を得るための構図解析が容易に実施できる構図解析方法、構図解析機能を備えた画像装置を提供することを目的とする。
【００１３】
本発明は、画像データの構図上の特徴を表す複数の線分（構図線 composition lines）を獲得し、この構図線で区切られた領域の複数の辺から選択された２辺の長さの比を解析するものである。
【００１４】
このように、本発明では、構図の解析において、画像データ上の２次元要素である被写体や背景の次元を落とし、１次元の構図線に還元している。このようにデータ量を落としているため、画像データの細かなディティールが省かれ、画像データの構造的な特徴をより少ないデータ量で把握できる。即ち、画像の全体的な特徴をより少ない演算パワーで把握できる。
【００１５】
また、本発明は、上記構図線で区切られた領域に着眼し、上記領域の形状を「比率」という視点で認識する。この比率はスカラーであるので、画像データ全体の構図を定量的に把握できる。
【００１６】
上記比率としては、例えば、黄金比率、白銀比率、モニタのアスペクト比などがあるが、これに限定されない。上記比率として黄金比や白銀比を採用した場合には、画像データの構図を美的観点から解析できる。
【００１７】
本発明に関する好適ではあるが必須ではない付加事項（optional feature）においては、上記獲得した構図線の全部または一部はユーザに対して表示される。上記表示は例えば、本発明を実装した装置のモニタ上に上記画像データを表示し、その画像データに獲得した構図線を重畳表示することで実現させる。これにより、本発明のユーザに対して、構図解析の根拠となる構図線の存在を正しく認識させることができる。
【００１８】
この場合、ユーザの認識をより向上させるため、様々な工夫が可能である。例えば、所定の比率が検出された領域を生成する構図線（領域定義構図線 region defining composition lines）のみを表示することや、他の構図線よりも上記領域定義構図線を強調表示することができる。また、上記領域定義構図線が生成する領域を強調表示することができる（例えば、領域定義構図線のうち、領域の周囲の部分のみを表示又は強調する）。
【００１９】
構図線の獲得においては様々な方法が可能である。例えば、画像中の領域の境界線を延長することで構図線を獲得することができる。例えば、画像中にある塀やテーブルやビルの端の線を延長する。あるいは、人物の中心線や、立木の中心線などを構図線として獲得してもよい。さらに、複雑な形状の線を近似する直線や単純曲線を構図線として獲得してもよい。また、画像中のある領域を黄金比率で分割する線分なども利用可能である。もちろん、構図線の獲得方法はこれに限定されない。構図線は、画面の端まで引いてもよいし、途中までしか引かなくてもよい。
【００２０】
本発明に関する好適ではあるが必須ではない応用（optional application）においては、本発明で実施した画像の構図解析の結果を利用して、広い画像範囲から部分領域を抽出する。例えば、広い領域をもつ画像データを高品位テレビで表示する場合、上記広い画像範囲から部分領域を抽出して当該部分領域のみを高品位テレビの全画面に表示したり、当該部分領域にズームアップするケースがある。この場合、本発明の構図解析の結果を利用して、所定の基準（例えば、美的スケール）で、好ましい部分領域を選択できる。
【００２１】
あるいは、本発明の構図解析の結果を利用して、好ましい部分領域を複数選択し、上記複数の部分領域をあたかもカメラが連続して（切り替えなしに）撮影したように表示する動画を生成する応用も可能である。
【００２２】
あるいは、本発明に関する好適ではあるが必須ではない別の応用（optional application）においては、本発明で実施した画像の構図解析の結果を利用して、撮像装置（例えば、デジタルカメラ、カムコーダ、デジタルビデオカメラ）や撮像装置で撮像した画像の編集装置のユーザに撮影時の構図をアドバイスすることもできる。
【００２３】
本発明の構図解析方法は、例えば、画像データを取り込むステップと、上記画像データを解析して、上記画像データの構図上の特徴を表す、複数の線分を獲得するステップと、上記獲得した複数の線分で形成される構図上において、上記複数の線分で区切られた領域を検出するステップと、上記検出された領域の複数の辺から選択された２辺の長さの比を解析するステップとを具備する。
【００２４】
また、本発明は、上記構造解析方法を実行する機能を有する画像装置、例えばデジタルカメラ、の発明としても理解できる。さらに、上記構造解析方法をコンピュータに実行させるプログラム及び上記プログラムを記録したコンピュータ読み取り可能な記録媒体の発明としても理解できる。
【００２５】
本発明によれば、好ましい構図を得るための構図解析が容易に実施できる構図解析方法、構図解析機能を備えた画像装置、構図解析プログラム及びコンピュータ読み取り可能な記録媒体を提供することができる。
【図面の簡単な説明】
【００２６】
【図１】図１は、本発明の第１実施例に関わる画像装置としてのコンピュータシステムのブロック図である。
【図２】図２は、ＣＰＵの動作を説明するフローチャートである。
【図３Ａ】図３Ａは、オセロアルゴリズムによる画像上のごみの除去を説明するための、中心画素が黒であり、周囲の８画素全てが白である場合を示す図である。
【図３Ｂ】図３Ｂは、オセロアルゴリズムによる画像上のごみの補完を説明するための、中心画素が白であり、周囲の８画素が全て黒である場合を示す図である。
【図３Ｃ】図３Ｃは、オセロアルゴリズムを適用する前の画像を示す図である。
【図３Ｄ】図３Ｄは、オセロアルゴリズムを適用後の画像を示す図である。
【図４Ａ】図４Ａは、構造検出モジュールを示す図である。
【図４Ｂ】図４Ｂは、図４Ａの構造検出モジュールを含めた４種類の構造検出モジュールを示す図である。
【図５Ａ】図５Ａは、構図の解析対象ピクセルを含む画像を示す図である。
【図５Ｂ】図５Ｂは、解析対象画像の境界線の画素において３本の構図線が獲得された様子を示す図である。
【図５Ｃ】図５Ｃは、獲得された３本の構図線のみを抽出して示す図である。
【図６】図６は、斜線検出をする４種類の構造検出モジュールを示す図である。
【図７Ａ】図７Ａは、曲線検出をする構造検出モジュールを示す図である。
【図７Ｂ】図７Ｂは、図７Ａの構造検出モジュールで検出可能な境界線（曲線）を持つ画像の例を示す図である。
【図７Ｃ】図７Ｃは、構図線（曲線）が獲得された様子を示す図である。
【図８】図８は、黄金比斜線を検出する２種類の構造検出モジュールを示す図である。
【図９Ａ】図９Ａは、解析対象画像から得られた構図の例を示す図である。
【図９Ｂ】図９Ｂは、図９Ａの構図に対して構図をより整合させる処理を行った結果を示す図である。
【図１０】図１０は、最終的に得られる構図を説明する図である。
【図１１】図１１は、出力アニメーションを生成する処理を説明するフローチャートである。
【図１２】図１２は、構図から生成された複数のマスク情報を示す図である。
【図１３Ａ】図１３Ａは、２つの画像を示す図である。
【図１３Ｂ】図１３Ｂは、図１３Ａの２つの画像を接続した状態を示す図である。
【図１３Ｃ】図１３Ｃは、図１３Ｂの２つの接続した画像において、隣接する領域間の色彩情報を整合する処理を行った結果を示す図である。
【図１４】図１４は、本発明の第２実施例に関わる画像装置としてのデジタルカメラのブロック構成図である。
【図１５】図１５は、ＣＰＵの動作を説明するフローチャートである。
【図１６Ａ】図１６Ａは、モニタに表示されるライブ画像の例を示す図である。
【図１６Ｂ】図１６Ｂは、獲得された複数の構図線が重畳表示されたライブ画像の例を示す図である。
【図１６Ｃ】図１６Ｃは、黄金比が検出された構図線を含む複数の構図線が重畳表示されたライブ画像の例を示す図である。
【図１６Ｄ】図１６Ｄは、構図として十分美的と判断される場合の表示例を示す図である。
【図１７】図１７は、本発明の第３実施例でのＣＰＵの動作を説明するフローチャートである。
【図１８Ａ】図１８Ａは、横画像における画素数を減らす変換を説明するための図である。
【図１８Ｂ】図１８Ｂは、縦画像における画素数を減らす変換を説明するための図である。
【図１９】図１９は、変換後の画像のどの領域に入力画像が存在するかの座標値のスタックを説明するための図である。
【図２０】図２０は、画像上のゴミの除去と補間に用いる複数のテンプレートを示す図である。
【図２１Ａ】図２１Ａは、３つの黒画素が横に連続している画素列の数が１つ以上の行を集計した場合を説明する図である。
【図２１Ｂ】図２１Ｂは、３つの黒画素が横に連続している画素列の数が２つ以上の行を集計した場合を説明する図である。
【図２１Ｃ】図２１Ｃは、３つの黒画素が縦に連続している画素列の数が１つ以上の行を集計した場合を説明する図である。
【図２１Ｄ】図２１Ｄは、３つの黒画素が縦に連続している画素列の数が２つ以上の行を集計した場合を説明する図である。
【図２２Ａ】図２２Ａは、縮尺された画素列を示す図である。
【図２２Ｂ】図２２Ｂは、図２２Ａの画素列を単純に１０倍した場合の画素列を示す図である。
【図２２Ｃ】図２２Ｃは、第３実施例における図２２Ａの画素列を１０倍した場合の画素列を示す図である。
【図２３】図２３は、獲得した構図線の各交点座標のスタックを説明するための図である。
【図２４】図２４は、指定点に対するトリミング領域を演算する処理を説明するフローチャートである。
【図２５Ａ】図２５Ａは、傾きが小の場合の指定点から黄金比斜線と１６：９斜線を引いた様子を示す図である。
【図２５Ｂ】図２５Ｂは、傾きが大の場合の指定点から黄金比斜線と１６：９斜線を引いた様子を示す図である。
【図２６Ａ】図２６Ａは、第１のトリミングポイントの決定例を示す図である。
【図２６Ｂ】図２６Ｂは、第１のトリミングポイントの別の決定例を示す図である。
【図２６Ｃ】図２６Ｃは、第１のトリミングポイントの更に別の決定例を示す図である。
【図２７Ａ】図２７Ａは、第２のトリミングポイントの決定例を示す図である。
【図２７Ｂ】図２７Ｂは、第２のトリミングポイントの別の決定例を示す図である。
【図２７Ｃ】図２７Ｃは、第２のトリミングポイントの更に別の決定例を示す図である。
【図２７Ｄ】図２７Ｄは、第２のトリミングポイントの他の決定例を示す図である。
【図２８Ａ】図２８Ａは、第１及び第２のトリミングポイントから決定された領域を示す図である。
【図２８Ｂ】図２８Ｂは、図２８Ａの領域を更に黄金比のプロポーションに基づいて拡張したトリミング領域を示す図である。
【図２９Ａ】図２９Ａは、トリミング領域と元の領域の位置関係の第１の例を示す図である。
【図２９Ｂ】図２９Ｂは、トリミング領域と元の領域の位置関係の第２の例を示す図である。
【図２９Ｃ】図２９Ｃは、トリミング領域と元の領域の位置関係の第３の例を示す図である。
【図２９Ｄ】図２９Ｄは、トリミング領域と元の領域の位置関係の第４の例を示す図である。
【図２９Ｅ】図２９Ｅは、トリミング領域と元の領域の位置関係の第５の例を示す図である。
【図３０Ａ】図３０Ａは、指定点が複数設定されることを示す図である。
【図３０Ｂ】図３０Ｂは、各指定点においてトリミング領域が決定されることを示す図である。
【図３０Ｃ】図３０Ｃは、各指定点における黄金比斜線の交点を示す図である。
【図３０Ｄ】図３０Ｄは、動画の表示方法を説明するための図である。
【発明を実施するための最良の形態】
【００２７】
以下、本発明を実施するための最良の形態を図面を参照して説明する。【００２８】
なお、以下の実施例においては、最も好ましい比率として黄金比を採用しているが、一例であり、本発明はこれに限定されない。黄金比以外にも、上述した白銀比やその他の比率を適用可能である。【００２９】
［第１実施例］
第１実施例では、上記取り込んだ画像データから複数の構図線を獲得し、上記構図線で区切られた領域の複数の辺から選択された２辺の長さの比を解析する。具体的には、上記辺の長さの比が所定範囲であることを検出し、その比をより黄金比に近づけるように構図を変更する。第１の実施例ではさらに、上記変更後の構図を利用して流動的アニメーションを生成する。【００３０】
図１に示すように、本発明の第１実施例に関わる画像装置としてのコンピュータシステム１は、コンピュータ本体２、キーボード３、外部記憶装置４、及びディスプレイ５を含む。コンピュータ本体２の中には、ＣＰＵ６がメモリ７にデータバス８を介して接続されている。ＣＰＵ６は、更に、上記データバス８を介して、入力装置用Ｉ／Ｆ（インターフェース）１０と、外部記憶装置用Ｉ／Ｆ１１と、外部ディスプレイ用Ｉ／Ｆ９と接続されている。上記キーボード３は、上記入力装置用Ｉ／Ｆ１０に接続される。上記外部記憶装置４は、例えば外部ＨＤＤ（ハードディスクドライブ）であり、上記外部記憶装置用Ｉ／Ｆ１１に接続される。上記ディスプレイ５は、例えば高精細ディスプレイ装置であり、上記外部ディスプレイ用Ｉ／Ｆ９に接続される。【００３１】
なお、外部記憶装置４は本実施例のように、コンピュータ本体２にケーブルを介して接続してもよいが、ネットワークを経由して接続してもよい。例えば、インターネット上のサーバーなども外部記憶装置４として採用可能である。【００３２】
外部記憶装置４の中には、複数の画像データが収納されている。また、コンピュータ読み取り可能な記憶媒体であるメモリ７には、本発明に関する構図解析方法を実現する構図解析プログラムが記録されている。【００３３】
上記構成のコンピュータシステム１において、ユーザが所定の操作を実行することにより、メモリ７から構図解析プログラムが読み出され、実行される。【００３４】
以下、上記構図解析プログラムを実行するＣＰＵ６の動作を、図２を参照して説明する。【００３５】
（１）ステップＳ１  画像の読み込み  
ユーザがキーボード３を使って所定の操作をすると、ＣＰＵ６は、外部記憶装置４に格納されている複数の画像データから、所望の画像データをコンピュータ本体２内部のメモリ７に読み込む。読み込まれた画像データは、構図解析プログラムの処理対象となる。【００３６】
この場合、画像は静止画でも動画でもよい。動画の場合は、ＣＰＵ６の処理能力の適合したフレームレートまでレート（単位時間のフレーム枚数）を落として読み込んでもよい。本実施例では、静止画を扱うものとして説明する。【００３７】
（２）ステップＳ２  画像のグレースケール化  
次に、画像の色彩をグレースケールに変換する。これは、以降のステップで行う画像の輪郭抽出のための準備段階である。本実施例では、画像の各画素の明度を２５６段階に区分してグレースケール化をしている。【００３８】
但し、グレースケール化の方法はこれに限定されない。例えば、もっと細かな段階でグレースケール化をしてもよいし、もっと粗くグレースケール化をしてもよい。また、例えば画像の種類によっては、特定の色成分だけを抽出して、その色成分の強度にのみ基づいてグレースケール化をしてもよい。例えば、主被写体の色が黄色成分が強い場合には、背景の構造をなるべく評価しない目的で、黄色成分の強さのみによってグレースケール化をしてもよい。【００３９】
また、以降のステップで行う画像の輪郭抽出が色成分を考慮している場合には、本ステップＳ２は省略してもよい。【００４０】
（３）ステップＳ３  画像のサイズ変更  
次に、ＣＰＵ６の処理能力や、ディスプレイ５の精細度を考慮し、画像細部の変更を行う。本実施例では画素数で言って、６４×４８、９６×７２、１２８×９６、３２０×２４０、６４０×４８０の５段階から、ユーザが適宜選択可能となっている。もちろん、６４０×４８０を上回る段階など、本構図解析プログラムが実行される環境に応じて、適切な画像サイズは決定される。また、処理能力が許すなら、本ステップによる画像サイズの変更をせずに、読み込んだ画像のサイズをそのまま採用してもよい。【００４１】
（４）ステップＳ４  画像の２値化  
次に、画像処理を容易にして処理速度を上げる目的で、画像の２値化を行う。本実施例では、上記ステップＳ２で実施したグレースケール化の結果を利用して、処理画像の全画素のうち、最大のスケール値Ｉｍａｘと最小のスケール値Ｉｍｉｎの中間値を閾値する。この閾値よりもスケール値が高い（明るい）か同じの場合には、当該画素を白（値「１」）とし、それ以外の場合は当該画素を黒（値「０」）としている。【００４２】
但し、２値化の方法はこれに限定されない。例えば、白と黒の画素の割合が所定比率（例えば、４：１）になるような閾値を本構図解析プログラムが自動的に求めて、これを各画素のグレースケール値に適用して、各画素を白または黒に区別してもよい。【００４３】
（５）ステップＳ５  画像上のごみの除去と補完  
画像のグレースケール化、サイズ変更、２値化などを実施すると、副産物として画像中に画素の変換処理時のノイズ（ごみ）が残ることがある。画像上の「ごみ」は、これ以外にも、もともと画像を撮像する際に撮像素子の光電変換面に付着していた塵等によっても発生することがある。本ステップＳ５では、「ごみ」として残った不要な画素データの削除と必要な画素データの補完を行う。【００４４】
図面を参照して、本実施例における、画像上のごみの除去と補完を説明する。  
本実施例では、１つの中心画素の周囲の８画素全てが上記中心画素と白黒が異なる場合には、上記中心画素の白黒を反転させている。例えば、図３Ａに示すように、中心画素が黒であり、周囲の８画素全てが白である場合には、中心画素を反転させて白とする（ごみの除去）。また、図３Ｂに示すように、中心画素が白であり、周囲の８画素が全て黒である場合には、中心画素を反転させて黒とする（ごみの補完）。このアルゴリズムは、白黒を反転させることから以降、「オセロアルゴリズム」と称呼する。【００４５】
図３Ｃに示すような画像に、このオセロアルゴリズムを適用すると、図３Ｄに示すようになる。図３Ｄにおいては、図３Ｃに見られた、一画素のみ周囲の８画素と白黒が異なる画素が無くなっている。その結果、画像がすっきりと見やすくなっている。【００４６】
実際のプログラム上の演算としては、図３Ａと図３Ｂの形状をテンプレートとして用い、例えば図３Ｃの画像の各領域とマッチングを行ってゆき、マッチングした領域について、中心画素の白黒を反転させている。【００４７】
但し、処理対象の画像上の「ごみ」が少ない場合、または「ごみ」があっても処理に支障とならない場合は、本ステップＳ５を省略することも可能である。【００４８】
また、「ごみ」の除去と補完の単位は、本実施例の１画素単位ではなく、もっと大きな「ごみ」を単位として除去と補完をしてもよい。【００４９】
（６）ステップＳ６  構図計算と抽出  
次に画像データから構図の構成を行う。【００５０】
本実施例では、構図計算に図４Ａに示すような構造検出モジュール１２を用いる。この構造検出モジュール１２は、最小単位を正方形に配列された９マス（画素に対応）とする。この構造検出モジュール１２の各マスには条件が各々定められており、この条件に合致する部分を処理対象の画像から検出する。【００５１】
構造モジュール１２の９マスにおいて、「！」マークが表示されているマスは、比較対象のマスを示す。黒いマスは、輪郭上でないマスを示す。白いマスは、輪郭上のマスを示す。また、「？」マークのマスは、（輪郭線上でも輪郭線上でなくとも）どちらでもよいマスを示す。【００５２】
図４Ａにおいては、左側の列のマスは全て黒であるので輪郭上でないことを意味し、中央の列のマスは全て白であるので輪郭上であることを意味し、右列のマスは全て「どちらでもよい」ことを意味する。従って、図４Ａの構造検出モジュール１２は、少なくとも中央列のマス全てが輪郭線上にあり、左列のマス全てが輪郭線上にない画像部分を検出する機能がある。また、右列のマスは、各々輪郭線上にあってもなくてもよい。このように、この構造検出モジュール１２は、縦方向に並んだ３画素からなる輪郭線であり、少なくともその左側が輪郭線となっていないものを検出する。【００５３】
また、図４Ｂに示すように、図４Ａのように３マスから成る輪郭線（垂線と水平線）を検出する構造検出モジュール１２以外にも、様々な種類がある。図４Ｂにおいて、左上の構造検出モジュール１２は図４Ａと同じである。左下の構造検出モジュール１３は、横方向に並んだ３画素からなる輪郭線であり、少なくともその上側が輪郭線となっていないものを検出する。右上の構造検出モジュール１４は、縦方向に並んだ３画素からなる輪郭線であり、少なくともその右側が輪郭線となっていないものを検出する。右下の構造検出モジュール１５は、横方向に並んだ３画素からなる輪郭線であり、少なくともその下側が輪郭線となっていないものを検出する。【００５４】
なお、上下左右どちらからでも輪郭線の検出ができるように、本実施例では、これら４つの構造検出モジュール１２〜１５で一組としている。【００５５】
このような構造検出モジュール１２〜１５において、条件を満たす画素が見つかった場合の処理を説明する。【００５６】
図５Ａに示すように、解析対象の画像の中央部分には、縦方向に３画素分の境界線があり、その上方には、横方向に３画素分の境界線がある。また、画像の右下には、横方向の２画素分の境界線と、この画素に一部が接続して横方向に３画素分の境界線がある。【００５７】
このような図５Ａの画像に上述した構造検出モジュール１２〜１５を適用して、構造検出モジュール１２〜１５の条件に合った画素を検索する。その結果、縦又は横方向に３画素以上画素の連続した境界線が検出できる。上記検出の結果、図５Ｂに示すように、解析対象の画像の境界線の画素において、３本の直線（構図線）が獲得される。また、図５Ｃは、上記検出の結果、獲得された３本の構図線のみを抽出した図である。【００５８】
また、図４Ａ及び図４Ｂに示した構造検出モジュール１２〜１５は、３×３の正方形モジュールであるが、この最小単位のモジュールだけでは、構図における重要な画像部分の検出が困難な場合がある。その場合は、図６に示す構造検出モジュール１６〜１９のように、構造化モジュールの大きさを拡張してもよい。これら構造検出モジュール１６〜１９は、４×４の正方形モジュールであり、斜線を検出するものである。【００５９】
さらに、構造検出モジュールを拡張して、曲線検出を行ってもよい。これによって、直線的な解析だけでは検出できない構図要素も検出可能となる。図７Ａは、曲線を検出する構造検出モジュール２０の一例を示す図である。図７Ｂは、この構造検出モジュール２０で検出可能な境界線（曲線）を持つ画像の例を示す図であり、上記構造検出モジュール２０で、上記境界線を検出すると、その結果、図７Ｃに示すように、構図線（曲線）が獲得される。【００６０】
但し、曲線の検出においては、解析画像の画素数を考慮して構造検出モジュールを決定する必要がある。例えば、９６×７２画素の画像と３２０×２４０画素の画像では、同じ曲率の曲線を検出するには、異なった構造検出モジュールを使う必要がある。【００６１】
さらに、縦直線、横直線、斜線、曲線以外を検出する構造検出モジュールを採用することもできる。【００６２】
図８は、黄金比斜線（縦辺・横辺の長さの比が黄金比である直角三角形における斜辺の傾きと同じ傾きをもつ斜線）を検出する構造検出モジュール２１，２２を示す図である。本構造検出モジュール２１，２２は、解析対象の画像の画素数に応じて、段階的に構成マス数が変化する動的モジュールである。初期値は図８に示すように３×５の長方形で定義されているが、解析対象の画像の画素数が増加するに従い、構造検出モジュール２１，２２の構成マス数が増加する。その場合、フィボナッチ数例に従って、検出する斜線の傾きが次第に黄金比に近似されてゆくようになっている。【００６３】
また、構成画素数を動的に変化させるのではなく、予め複数段階の構造検出モジュールを用意しておいてもよい。本実施例では１２段階の構造検出モジュールを定義してある。【００６４】
以上説明した構造検出モジュール１２〜２２を本実施例では採用している。もちろん、これ以外にも様々な構造検出モジュールを適用してもよい。【００６５】
また、構造検出モジュール以外の方法を使って構図線を獲得してもよい。例えば、白黒２値の元画像がある場合、白黒を反転させた補画像を作成し、補画像を縦又は横に１画素分ずらせた上で、元画像と補画像の画素毎の排他的論理和の否定を演算しても、構図線（ずらせた方向の構図線を除く）を得ることができる。あるいは、ハフ変換を実施しても画像中の特徴点から構図線を得ることができる。【００６６】
なお、本実施例では、画像の縁を構図線として認識しない。しかし、画像の縁を構図線として認識するように構成することも可能である。【００６７】
（７）ステップＳ７  構図の決定  
上記ステップＳ６では、解析対象画像から構図線を獲得した。本ステップＳ７では、その構図を美学的に構成しなおす構図整形アルゴリズムによって最終的な構図を決定する。なお、本ステップはあくまでも検出した構図だけを変化させるものであり、構図を変化させても解析対象画像は変更されない。【００６８】
上記ステップＳ６により、例えば図９Ａに示すような構図が得られる。この構図は、次のルールによって作成されている。【００６９】
１．構図線は、縦線、横線、斜線、曲線の順に獲得される。  
２．獲得された構図線のうち、直線（縦線、横線、斜線）については、図面領域の端まで延長される。  
３．獲得された構図線のうち、曲線については、直線の構図線との交点でまで延長する。【００７０】
ＣＰＵ６は、まず、検出された複数の構図線から距離や関係性についての修正を行う。この修正においては、ある一定距離内に交点や接触点が存在した場合に、最も整合性のとれる位置に直線の構図線の移動を行う。さらに、極めて隣接した平行線は１本の線に併合する。また、曲線の構図線は固定しておく。【００７１】
図９Ａにおいては、曲線が２点において斜線と接触しており、上方の接触点の近傍には横線が存在する。上記上方の接触点上に横線がくれば、構図的により整合されるので、上記横線を下方に移動させ、横線が接触点上に乗るようにする。【００７２】
この結果、図９Ｂに見られるように、画像上で構図線によって区切られた領域の数が減少し、また領域の形状もより基本図形に近くなる。このように、（ａ）画像上で構図線によって区切られた領域の数が減少する、（ｂ）いずれかの領域の形状がより基本図形に近くなる、の少なくとも一方が実現すれば、構図がより整合されたとする。【００７３】
本実施例では、直線の移動距離が対象画像の対角線長の８％以内ならば、直線を移動させて、直線が直近の交点や接触点上に乗るようにしている。また、画像内に平行線がある場合、線間の距離が画像の対角線長の２％以内ならば、一方の直線を他方の直線上に移動させて、直線を１本にする。もちろん、これは一例であり、本修正はこれに限定されない。直線だけでなく、曲線も移動するようにしてもよい。また、単純な構図の場合には、本修正を省略することも可能である。【００７４】
次に、上記複数の構図線で区切られた領域の複数の辺から選択された２辺の長さの比を解析する。具体的には、上記比が黄金比に対して所定の範囲にあるか判断し、所定の範囲にある場合には、その比率がより黄金比率に近似するように、構図を変更する操作を行う。【００７５】
本実施例では、ユーザの指定により、黄金比に近似させる度合いを段階的に決められるようになっている。上述したようフィボナッチ数列の隣り合う２項の比率は黄金比に収束することが知られている。これを利用して、「構図の調整を行わない」を含めて１５段階で黄金比に近似させる度合いを指定できる。もちろん、これ以外に様々な態様も可能である。例えば、黄金比とともにプラチナ比を採用してもよいし、段階も１６段階等の様々段階を採用できる。【００７６】
具体的には、黄金比検出用の構造検出モジュールのサイズＮ×ＭのＮとＭをフィボナッチ数列の数（１、１、２、３、５、８、１３、２１、…）とすれば、段階的に黄金比に対する近似度が異なる複数の構造検出モジュールを用意できる。例えば、図８に示す黄金比斜線検出用の構造検出モジュール２１，２２のサイズは３×５であるが、次の段階のサイズとして５×８、その次のサイズとして８×１３を用意する。【００７７】
例えば図９Ｂの構図において、領域の斜線を黄金比により適合するように変形する場合を説明する。まずは図８に示す３×５の黄金比用の構造検出モジュール２１，２２を適用して斜線を検出する。このとき、図の左側の斜線２３が上記構造検出モジュールに適合する。即ち、斜線２３を持つ横辺２４と縦辺２５の長さの比が黄金比に近いことが検出される。つまり、斜線２３は粗く黄金比斜線であると検出される。このように、３×５の黄金比用の構造検出モジュールが斜線に適合すれば、上記斜線をもつ３角形の縦辺２５と横辺２４の比率が所定の値（黄金比に対して所定の範囲にある値）であることが検出される。【００７８】
次に、上記構造検出モジュールをより高精度のものに切り替える。このとき、斜線２３が検出されなかった場合には、図９Ｂの構図を変化させ、斜線２３の傾きをより黄金比に近似した傾きに変更する。具体的には、斜線２３の上方端点は固定し、斜線２３の下側端点を移動させる。これに従い、上記下側端点と接触する縦線（縦辺２５）の位置も平行移動する。【００７９】
このように、次々と構造検出モジュールの精度を上げてゆき、ユーザが所望する段階まで構図を変更する。【００８０】
長方形の領域について２辺の長さの比を評価する場合は、当該長方形の対角線を演算し、その対角線について上記図８に示す３×５の黄金比用の構造検出モジュール２１，２２を適用する。上記３×５の黄金比用の構造検出モジュール２１，２２を適用が適合すれば、上記長方形の領域において、縦辺と横辺の比率は所定の値（黄金比に対して所定の範囲にある値）であることが検出される。そして、次々と構造検出モジュールの精度を上げてゆきながら、ユーザが所望する段階まで構図を変更する。【００８１】
本実施例では、構図線を曲線、斜線、直線の順に順位付けをし、順位がより低いものを移動させることにより、構図を変化させるようにしている。また、各構図線の端点の座標を移動させて、新しい構図線を演算している。この場合、端点を位置により、画像の端、画像の辺、画像の内部の順に順位付けをし、順位がより低いものを移動させるようにしている。【００８２】
但し、構図の決定の方法は、上述以外にも様々な変形が可能であることは言うまでもない。【００８３】
（８）ステップＳ８  構図の出力  
上述のようにして作成された構図は出力され、メモリ７に記録されるとともに、ディスプレイ５に表示される。【００８４】
出力される構図は、図１０に示すように、構図線の端点の座標と、各端点間の接続態様の情報をもつデータである。メモリ７に記録される構図は、元の画像のレイヤーとは異なるレイヤーに記録される。【００８５】
（９）ステップＳ９  動画処理・出力  
上記ステップＳ１〜Ｓ８で、構図の生成が完了する。本実施例では、ＣＰＵ６は、この構図を利用して、流動的アニメーションを生成する。但し、この処理は、上述の構図解析プログラムの本体ではなく、この構図解析プログラムに従属する別のプログラムモジュールに従って実施される。【００８６】
本ステップＳ９の概略を説明すると、ＣＰＵ６は、図１１のサブステップＳ９Ａで、上記構図解析プログラムの本体により生成した構図データを読み込む。サブステップＳ９Ｂでは、上記構図の各領域に、所望の画像、または所望の画像の一部分を貼り付ける。サブステップＳ９Ｃでは、１つの構図から別の構図に連続的に変化させる幾何学的アニメーションを生成する。サブステップＳ９Ｄでは、上記生成した幾何学的アニメーションに上記サブステップＳ９Ｂで貼り付けた画像を初期値とする画像を合成し、出力する。【００８７】
以下、各サブステップを詳細に説明する。【００８８】
（１０）サブステップＳ９Ａ  
まず、サブステップＳ９Ａで、本モジュールは構図解析プログラム本体で生成した構図を自動的に読み込む。なお、構図解析プログラムは、第１回目の構図生成に続いて、別画像を処理して構図を生成する処理を順次実行しているものとする。【００８９】
（１１）サブステップＳ９Ｂ  
次に、サブステップＳ９Ｂで、アニメーションの最初の画像（フレーム）を生成する。具体的には、上記サブステップＳ９Ａで読み込んだ構図のうち、最初の構図を使って、構図の各領域に各々画像を貼り付けて画像を生成する。貼り付けられる画像は、次の条件に従って、外部記憶装置４に格納されている複数の画像（フォトデータベース）から選択される。【００９０】
１．色彩の類似度  
外部記憶装置４中に格納されている画像を色彩で分類し、同じ又は類似の色彩に属する画像同士が選択されるようにする。【００９１】
まず、１つの画像と別画像を比較する。その比較の結果、色彩分布が一致した場合には、これら画像をその色彩に関する候補リストに追加する。【００９２】
また、色彩が一致しない画像同士については、明度、彩度、色相を所定の範囲で変化させてみて、色彩分布が一致するかを判断する。この結果、一致した場合には、その画像を候補リストに追加する。また、一致しなかった場合には候補リストには追加しない。このようにして、候補リストを作成してゆく。【００９３】
２．形状の類似度  
外部記憶装置４中に格納されている画像は、保存時点で一度、構造解析が行われており、幾何学図形のパーツとして保存されている。これらのパーツの形状と、読み込まれた構図中の各領域との形状を比較して、形状の類似度（合同のみでなく相似も含む）により、類似度の高い画像を候補リストに追加する。【００９４】
つまり、写真全体の構図から抽出された形状の類似度ではなく、構図を構成する線分で区切られた幾何学領域レベルのトリミング画像についても内部の画像配置の形状を照合可能である。【００９５】
３．タグ情報  
外部記憶装置４に格納されている画像には、キーワードが付加されている。このキーワードは例えば、「海」、「旅行」、「野球」、「寒い」といったものである。キーワードは一枚の画像に複数付加してもよい。本実施例では、キーワードがユーザによって指定可能であり、同じキーワードの範囲に属する画像が、当該キーワードに関する候補リストに登録される。【００９６】
上記３つの条件に基づき、読み込まれた構図の各領域に、外部記憶装置４から抽出された画像が貼り付けられ、画像の再構成がされる。【００９７】
（１２）サブステップＳ９Ｃ  
このサブステップＳ９Ｃでは、上記サブステップＳ９Ａで読み込んだ複数の構図を対象に、１つの構図から別の構図に連続的に変化するアニメーションを作成する。【００９８】
１つの構図Ｋ（ｉ）から別の構図Ｋ（ｉ＋１）への変化は、常に１つの点ずつ実行される。構図Ｋ（ｉ）から１つの頂点が抽出され、この頂点に対応する構図Ｋ（ｉ＋１）の頂点が検出される。このとき、対応する頂点が構図Ｋ（ｉ＋１）中になければ、別の頂点が構図Ｋ（ｉ）から選択される。【００９９】
次に、この構図Ｋ（ｉ）の上記頂点から構図Ｋ（ｉ＋１）の対応頂点への移動を行う。この場合、上記頂点が黄金比率に関わるものである場合には、黄金比率を維持したままで移動してゆく。つまり、アニメーションではあるが、どの瞬間で静止画として切り取られても、そのフレームが常に黄金比率に基づいた構図を維持しているようにする。また、選択される頂点の順番においても、フィボナッチ数列に基づいたルールで選択される。【０１００】
また、構図Ｋ（ｉ）から構図Ｋ（ｉ＋１）への変化において、領域数の過不足がある場合は、領域の分裂・融合動作を変化の途中で実行する。【０１０１】
アニメーションにおいて、構図Ｋ（ｉ）から構図Ｋ（ｉ＋１）の変化が全て完了した時点で、構図Ｋ（ｉ＋１）から構図Ｋ（ｉ＋２）へ変化するアニメーションの製作を開始する。この様に、順次、構図から構図へのアニメーションが連続的に生成される。【０１０２】
上記生成したアニメーションの内部に見られる頂点により区切られた領域は、次のプロセスにおける動作作成で、全て独立したレイヤー情報として処理される。そのため、頂点で囲まれた領域を頂点座標情報を利用して、マスク情報としてメモリ７に保存する。【０１０３】
図１０に示した構図を例にすると、図１２に示すようなマスク情報（マスク画像）がその構図から切り取られる。【０１０４】
（１３）サブステップＳ９Ｄ  
次に、上記サブステップＳ９ＢとＳ９Ｃの処理結果を入力としたアニメーションの製作を行う。この時点で用意されているのは、アニメーションの為に用意された最初のフレーム（サブステップＳ９Ｂの出力）と、このフレームから始まる幾何学アニメーション及びそのマスク情報（サブステップＳ９Ｃの出力）である。この２つの素材を元に、下記に掲げる効果を使用してアニメーションを作成する。【０１０５】
１．形状と色彩による内部画像の置換  
出力アニメーションでは、１つの頂点が移動して停止する度に、変化した領域（頂点は最低２つの領域で共有されているので、最低２つの領域が変化する）の画像が、外部記憶装置４から読み込まれる別の画像と置換される。この置換ルールは、上記サブステップＳ９Ｂで説明した１〜３のルールに従うが、色相・明度・彩度による色彩変化もアニメーションとして表示される。【０１０６】
２．色彩変化（カメレオンアルゴリズム）  
２つの異なる画像が隣り合った際に、境界の相違を解析してリニアに接続するとともに、色彩の変化をアニメーションによって表現するため、以下の処理（カメレオンアルゴリズム）を実施する。【０１０７】
図１３Ａの左側の四角形は、色を変化させる属性（カメレオン属性）が付与された構図の構成領域（画像）である。また、右側の四角形は、上記属性が与えられていない構図の構成領域（画像）である。図１３Ｂに示すように、上記２つの領域が接触すると、図１３Ｃに示すように、色を変化させる属性が与えられた領域は、相手の色彩情報（明度・彩度・色彩）の影響を受けて、自身の色彩を変化させる。【０１０８】
このように、領域の色彩情報が隣り合った領域の色彩情報の影響を受けて変化する場合、その変化は色相環（ＰＣＣＳ色相環、マンセル色相環、オストワルト色相環など）の配列に従って、全体が変化するようにしている。具体的には、境界付近の色が赤から黄色に変化した場合を想定して説明する。今、赤から黄色への変化が色相環上の距離において２色分であるとすると、同じ領域上の水色についても、２色分の変化をする（例えば、深い青色に変化する）。これにより、単調な色彩の変化が防止される。【０１０９】
また、上記色彩の変化は境界からの距離が離れるに従って弱まり、領域の重心より先へはその影響が及ばない。【０１１０】
３．その他の変化  
上記以外にも、画像の透明度、回転、拡大・縮小を適宜実施することにより、より流動的なアニメーションを実施する。【０１１１】
このように、本実施例によれば、画像から構図を抽出し、その構図の少なくとも一部を黄金比に基づいて変化させている。これにより、画像から美的に優れた構図を容易に生成できる。【０１１２】
また、黄金比を維持しながら、１つの構図から別の構図への遷移を流動的に行うアニメーションを生成している。これにより、美的に優れた構図変化を呈示できる。【０１１３】
さらに、上記構図遷移のアニメーションにおいては、構図の領域に画像が貼り付けられており、その画像が動的に変化する。これにより、美的に優れた画像の動的表示が実現する。【０１１４】
［第２実施例］
次に、本発明の第２実施例を説明する。本実施例は、上記第１実施例で説明した画像において黄金比を考慮して構図を解析する機能を、画像装置としてのデジタルカメラに応用したものである。【０１１５】
具体的には、デジタルカメラのモニタに被写体のモニタ画像に重畳して構図線を表示する。さらに、カメラの位置・姿勢・焦点距離等の変化により、構図が黄金比を反映したものになった場合には、構図線の色を変化させて、そのことをユーザに認知させる。さらに、カメラのモニタにおいて、カメラの位置・姿勢・焦点距離等をどのように変化させたらよいかを示すアドバイス情報をユーザに提示する。【０１１６】
また、本実施例のデジタルカメラにおいては、上記のような構図解析を実施するために、ユーザがファインダで観察している範囲よりも、カメラが実際に撮像している範囲が広い状態、所謂オーバーフレーミングとしている。【０１１７】
図１４に示すように、本実施例のデジタルカメラ２６は、撮像レンズ２７と、該撮像レンズ２７が被写体像を結像させる撮像素子２８と、上記撮像素子２８が出力する画像信号を処理する画像処理ユニット２９を有する。画像処理ユニット２９には、モニタ３０が接続されている。また、デジタルカメラ２６全体の動作を制御するＣＰＵ３１が、上記画像処理ユニット２９に接続されている。ＣＰＵ３１には、制御プログラムが格納された記録媒体であるＲＯＭ３２と、画像を記録する記録媒体３３とが接続されている。【０１１８】
ＲＯＭ３２には、本発明に関する構図解析方法を実現する構図解析プログラムが記録されている。【０１１９】
上記構成のデジタルカメラ２６において、ユーザが撮影準備としてモニタ３０にライブ画像を表示させている状況下において、本構図解析プログラムの機能がアクティブにされていれば、図１５のフローチャートに示す処理が実行される。【０１２０】
図１５のフローチャートは、ＲＯＭ３２から本構図解析プログラムがＣＰＵ３１に読みまれ、実行されるものである。なお、図１５のフローチャートは多くの処理が図２のフローチャートと同じある。このため、以下、差異のある部分のみ説明する。【０１２１】
（１４）ステップＳ１０  画像の読み込み  
デジタルカメラ２６において、ユーザが被写体像をモニタ３０にライブ表示させている場合、撮像素子２８により取り込まれ、画像処理ユニット２９で処理された画像データは、リアルタイムでＣＰＵ３１に取り込まれる。【０１２２】
（１５）ステップＳ１１〜Ｓ１５  
ステップＳ１１乃至ステップＳ１５の処理は、図２のフローチャートのステップＳ２乃至ステップＳ６と同様であるので、説明を省略する。【０１２３】
なお、本実施例では、ステップＳ１５（ステップＳ６と同様）で獲得される構図線から成る構図を第１の構図と呼称する。【０１２４】
（１６）ステップ１６  モニタへの出力  
次に、ステップＳ１６において、上記生成された第１の構図をモニタ画像に重畳してモニタ３０に表示する。【０１２５】
例えば、図１６Ａに示すようにモニタ３０に構図線が重畳表示されていないライブ画像が表示されている状態で、本構図解析機能がアクティブになると、図１６Ｂに示すような画像が表示される。図１６Ｂの画像においては、獲得された構図線（図では破線で示す）がライブ画像に重畳表示される。この画像はリアルタイムに更新される。【０１２６】
ここで、カメラの構図が変化し、画像の構図中に黄金比が検出されると、当該部分を検出する構図線の色が変化し、画面上で自動的にロックオンされる。黄金比の検出精度は、上記第１実施例で説明したように、複数段階設定できるが、本実施例では精度に応じて構図線が変化する色を変えるようにしている（例えば、青→緑→ピンク）。従って、色によってどの程度の精度で黄金比が検出されたかが判断できる。この様子を図１６Ｃに示す。太線が色が変わった構図線を示す。【０１２７】
また、構図線の多くに黄金比の関係が見いだされ、構図として十分美的と判断される場合には、図１６Ｄ示すように、その旨を示す表示「ＯＫ！」をモニタ３０に表示する。本実施例では、７割以上の構図線の色が変化した場合に上記表示をしている。【０１２８】
これにより、ユーザはモニタ３０上において、画像が構図的に美しいか否かが容易に判断できる。【０１２９】
もちろん、より詳細にユーザをより好ましい構図に導くように構成してもよい。例えば、被写体までの距離をデジタルカメラ２６の距離測定ユニット（不図示）で知ることが出来るので、被写体とデジタルカメラ２６との適切な距離をモニタ上に表示して、画像がより構図的に好ましくなるよう導いてもよい。例えば、「あと１ｍ近づく」とか「あと３０ｃｍ右に移動する」といった表示が可能である。【０１３０】
また、デジタルカメラ２６がズームレンズを備えたズームカメラの場合は、ズームによってフレーミングの範囲を変化させ、構図を調整してもよい。あるいは、別のレンズを使用することによって焦点距離を変化させるようにユーザに指示してもよい。【０１３１】
また、実際に獲得された構図線とともに、黄金比を実現する目標構図線を同時に表示して、両方の構図線が一致するように、カメラのパラメータ（位置、姿勢、焦点距離、など）を変化させることをユーザに促しても良い。【０１３２】
また、本実施例では、ユーザがファインダで観察している範囲よりも、カメラが実際に撮像している範囲が広い状態、所謂オーバーフレーミングを実施している。実際に撮像される範囲はユーザの観察範囲より広いので、様々な構図バリエーションをユーザに提供できる。また、撮影後にも、豊富な構図バリエーションをユーザに提供できる。【０１３３】
本実施例によれば、容易に構図的に優れた画像を撮像できるデジタルカメラを得ることができる。【０１３４】
［第３実施例］
次に、本発明の第３実施例を説明する。  
本実施例では、上記取り込んだ画像データから複数の構図線を獲得し、上記構図線で区切られた領域の複数の辺から選択された２辺の長さの比を解析することによってトリミング領域を複数決定する（第１のトリミング領域群）。そして、このようにして決定された複数のトリミング領域を結ぶ経路を決定する。その経路上の複数の点において、上記構図線で区切られた領域の複数の辺から選択された２辺の長さの比を解析することによってトリミング領域を決定する（第２のトリミング領域群）。このように決定された、第１のトリミング領域群と第２のトリミング領域群を上記経路にそって順次表示することにより、あたかも第１のトリミング領域群の各トリミング領域を滑らかなカメラワークで経路に沿って順次撮影した動画のような表示を実現する。【０１３５】
なお、本第３実施例ではトリミングした結果はハイビジョンで再生されることを前提としており、トリミング領域のアスペクト比は１６：９（ハイビジョンのアスペクト比）または９：１６の比率をもった縦型ディスプレイを前提とした比率で一定とする。トリミング領域の画素数は特に制限しないが、ハイビジョンのモニタで表示しても、一定のクオリティが得られる画素数を持つものとする。入力画像はアスペクト比には制限はないが、トリミング領域を複数指定できるだけの十分な画素数をもつ高精細画像とする。【０１３６】
本第３実施例が実現される環境は、上記第１実施例の図１で示した構成と同じであるので、その説明は省略する。【０１３７】
コンピュータ読み取り可能な記憶媒体であるメモリ７には、本実施例に関する構図解析方法を実現する構図解析プログラムが記録されている。ユーザが所定の操作を実行することにより、ＣＰＵ６は、メモリ７から構図解析プログラムを読み出し、実行する。【０１３８】
以下、上記構図解析プログラムを実行するＣＰＵ６の動作を、図１７を参照して説明する。なお、図１７のフローチャートは多くの処理が図２のフローチャートと同じある。このため、以下、差異のある部分のみ説明する。【０１３９】
（１７）ステップＳ２１  画像の読み込み  
基本的に、図２のフローチャートのステップＳ１と同じである。但し、入力画像の画素数がコンピュータの処理能力を上回るほど多い場合には、画素数を減らす変換をするとよい。【０１４０】
この画素数を減らす処理の一例を、図１８Ａ及び図１８Ｂを参照して説明する。これらの図において、白色部分は、画素数を減らした変換後の入力画像である。ここで、入力画像は、短辺の画素数が５４０ピクセルになるように画素数を減らされる。この５４０ピクセルの値は、フルスペックハイビジョンの１９２０×１０８０の画素数の４分の１の面積を占める画像（９４０×５４０）の短辺から決定したものである。【０１４１】
白色で示した入力画像（画素数を減少済み）の上下、又は左右に黒帯部分が付加されて、処理画像全体のアスペクト比（ａ：ｂ）はハイビジョンのアスペクト比（１６：９）と同じに調整させる。これにより、処理の標準化が実現する。【０１４２】
また、トリミング処理をする際に、黒帯部分を除外するため、画像の黒帯部分を追加する前にピクセル数を確認し、図１９に示すように、変換後の画像のどの領域に入力画像（画素数を減少済み）が存在するかの座標値をスタックする。【０１４３】
（１８）ステップＳ２２  画像のグレースケール化  
基本的に、図２のフローチャートのステップＳ２と同じである。但し、グレースケール化の前処理を設けて、画像変換を改善してもよい。本第３実施例では、前処理として画像を２７値化している。【０１４４】
２７値化は、入力画像のＲＧＢの各色の輝度を３段階に区分して、３×３×３＝２７の合計２７種類に分類するものである。３段階の分類の境界値は、入力画像の種類に応じて決定される。例えば、各色の輝度を０〜１のスケールで表現すると、入力画像が黄色系の背景を特徴とする日本画の場合には、Ｒが０．６と０．３、Ｇが０．８と０．３、Ｂが０．５と０．２を境界値としている。【０１４５】
この２７値化によって、入力画像の種類に応じた色彩の重み付けが実現する。例えば、目視では一見ほぼ均一に見える色、特に絵画の構図に対して寄与しない背景色が、多くの段階に分類されてしまうことが防止される。【０１４６】
（１９）ステップＳ２３  サイズ変更  
基本的に、図２のフローチャートのステップＳ３と同じであるので、説明を省略する。【０１４７】
（２０）ステップＳ２４  ２値化  
基本的に、図２のフローチャートのステップＳ４と同じであるので、説明を省略する。【０１４８】
（２１）ステップＳ２５  画像上のゴミの除去と補間  
基本的に、図２のフローチャートのステップＳ５と同じである。但し、本第３実施例では、図２０に示すようなテンプレートを用いて、より詳細にゴミを除去する。なお、図２０では、内側に黒色部分を有し、周辺に白色部分を有するテンプレートのみが記載されているが、黒と白を入れ替えたテンプレートも同様に準備される。この各テンプレートを２値化後の画像に当てはめてゆき、マッチングした場合には、そのテンプレートの内側の画素について、黒と白を反転させる。【０１４９】
この場合、テンプレートの数が膨大になるのを防止するため、入力画像の画素数を調整してからゴミの除去をしている。本第３実施例では、３２×１８ピクセル、６４×３６ピクセル、１２８×７２ピクセル、２５６×１４４ピクセルの４種類の解像度が用意されている。３２×１８ピクセルの場合は、第１実施例と同様に１ピクセル単位でゴミを除去する。他の解像度の場合は、１ピクセル単位でゴミを除去すると同時に、１ピクセル以上の任意のピクセル数のゴミ除去を行う。例えば、３ピクセルまでのゴミ除去においては、図２０のテンプレートを適用する。【０１５０】
（２２）ステップＳ２６  構図計算と抽出  
本第３実施例では、縦と横の構図線の抽出は、処理時間の短縮のため、以下の方法を実施している。斜の構図線については、上記第１実施例と同様にテンプレートを使用する。【０１５１】
横の構図線については、以下の手順で構図線を獲得する。  
１．画像中の各行について、３つあるいはそれ以上の黒画素が横に連続している画素列を抽出する。  
２．上記画素列の数を各行毎に集計する。  
３．上記画素例の数が所定以上（例えば、３以上）の場合に、横の構図線を獲得する。【０１５２】
縦の構図線も同様にして、以下の手順で獲得する。【０１５３】
１．画像中の各列について、３つあるいはそれ以上の黒画素が縦に連続している画素列を抽出する。  
２．上記画素列の数を各列毎に集計する。  
３．上記画素例の数が所定以上（例えば、３以上）の場合に、縦の構図線を獲得する。【０１５４】
上記所定数を変更することによって、構図線獲得の感度を調整できる。【０１５５】
図２１Ａ乃至図２１Ｄは、この操作の様子を模式的に説明する図である。図２１Ａ、図２１Ｂにおいては、３つの黒画素が横に連続している画素列の１つが１つの黒四角で示される。黒四角が右辺に寄せられているのは、画素列の数を各行毎に集計するにあたり、全黒四角を右に寄せて黒四角で棒グラフを生成し、この棒グラフの長さで各行毎の画素列の数の集計結果を判断しているためである。【０１５６】
図２１Ａでは、一番右の列を参照している。この参照において、黒四角が存在する行は、３つの黒画素が横に連続している画素列が少なくとも１つ存在する行である。また、図２１Ｂでは、右から２番目の列を参照している。この参照において、黒四角が存在する行は、３つの黒画素が横に連続している画素列が少なくとも２つ存在する行である。図２１Ｂでは、上記２つの画素列は連続している場合もあり、分離している場合もある。【０１５７】
図２１Ｃ、図２１Ｄにおいては、３つの黒画素が縦に連続している画素列の１つが１つの黒四角で示される。黒四角が底辺に寄せられているのは、画素列の数を各列毎に集計するにあたり、全黒四角を底辺に寄せて黒四角で棒グラフを生成し、この棒グラフの長さで各列毎の画素列の数の集計結果を判断しているためである。【０１５８】
図２１Ｃでは、一番下の列を参照している。この参照において、黒四角が存在する列は、３つの黒画素が縦に連続している画素列が少なくとも１つ存在する列である。また、図２１Ｄでは、下から２番目の列を参照している。この参照において、黒四角が存在する列は、３つの黒画素が縦に連続している画素列が少なくとも２つ存在する列である。図２１Ｄでは、上記２つの画素列は連続している場合もあり、分離している場合もある。【０１５９】
（２３）ステップ２７  入力画像の解像度に構図を合わせる  
先行ステップで処理速度向上のため、入力画像の画素数を減らしている。本ステップでは、構図データの精度を入力画像に合わせる。【０１６０】
ここで、座標位置は、単純に定数倍するのではなく、データ拡大に伴う不整合を調整する。例えば、図２２Ａに示すような縮尺された画素列を１０倍する場合、単純に定数倍すると、図２２Ｂに示すように、拡大された画素列の１０画素区分の先頭画素が黒になる。しかし、本第３実施例では、図２２Ｃに示すように、１０画素区分の中央付近の画素を黒にしている。【０１６１】
（２４）ステップＳ２８  交点座標のスタック  
図２３に示すように、獲得した構図線の各交点座標をスタックする。【０１６２】
（２５）ステップＳ２９  取り出し中心点の指定  
ユーザは、入力画像中において、トリミング領域に含めたい点を指定する。例えば、人物の顔をトリミング領域に含めたい場合には、上記顔中の１点を指定する。この指定は例えば、ディスプレイ５上に入力画像を表示させ、その中の１点をユーザがマウスでポイントし、クリック動作をすることで行う。ここで、中心点とはユーザの関心領域の中心の意味で、トリミング領域の中心の意味ではない。従って、中心点は必ずしも最終的なトリミング領域の中心に一致しない。【０１６３】
もちろん、トリミング領域に含めたい点を複数指定できるように構成してもよい。また、ユーザが中心点を指定するのではなく、システムが自動的に入力画像中の特徴点を検出して、指定するように構成してもよい。【０１６４】
（２６）ステップＳ３０  指定点に対するトリミング領域を演算  
このステップは、上記指定した点に対して、黄金比を考慮した最良のトリミング領域を算出するステップである。図２４を参照して、本処理ステップを説明する。【０１６５】
（２７）サブステップＳ３０Ａ  指定点から放射線状に複数の斜線を引く  
まず、上記指定点を中心として、幾つかの斜線を演算する。図２５Ａ及び図２５Ｂは、指定点Ｐから斜線として、黄金比斜線３４と１６：９斜線３５を演算して引いた様子を示す。図２５Ａは傾きが小の場合、図２５Ｂは傾きが大の場合である。これ以外にも、例えば、白銀比斜線等を演算して引いてもよい。例えば、黄金比斜線の場合は、斜線の底辺と高さが黄金比の関係性を保っている。【０１６６】
（２８）サブステップＳ３０Ｂ  第１のトリミングポイント決定  
上記サブステップＳ３０Ａで引いた斜線を利用して、第１のトリミングポイントを指定する。本実施例では、黄金比斜線３４を主に利用して第１のトリミングポイントを決定する。【０１６７】
第１のトリミングポイントは次の優先順位で決定される。  
１．黄金比斜線３４と縦横の構図線の交点が交わる。  
２．黄金比斜線３４が、縦横の構図線の交点から２５ピクセル以内を通過する。  
３．傾き小の場合で、黄金比斜線３４と１６：９斜線３５の間に、縦横の構図線の交点が位置する。  
４．傾き大の場合で、黄金比斜線３４と１６：９斜線３５の間に、縦横の構図線の交点が位置する。【０１６８】
図２６Ａは上記条件１に合致する場合、図２６Ｂは上記条件２に合致する場合、図２６Ｃは上記条件３に合致する場合、をそれぞれ図示している。それぞれ、第１のトリミングポイントＱが決定される。【０１６９】
なお、第１のトリミングポイントＱが決定できない場合は、その旨をユーザに表示して、指定点Ｐを再度入力するように促す。【０１７０】
（２９）サブステップＳ３０Ｃ  第２のトリミングポイント決定  
次に、第２のトリミングポイントを決定する。【０１７１】
切り取る領域は１６：９のアスペクト比をもつと決まっているので、第１及び第２のトリミングポイントが決定されると、領域が一意に決まる。【０１７２】
第２のトリミングポイントは、縦横構図線の別の交点に決定したり、斜線と構図線の交点に決定できる。【０１７３】
図２７Ａ乃至図２７Ｄに、第２のトリミングポイントＲを決定する例を示す。【０１７４】
図２７Ａは、第１のトリミングポイントＱと同じ縦の構図線上にある縦横の構図線の別の交点を、第２のトリミングポイントＲにする例である。【０１７５】
図２７Ｂは、第１のトリミングポイントＱに係る斜線と指定点Ｐに対して左右対称の斜線が、第１のトリミングポイントＱに係る横の構図線と交わる点を、第２のトリミングポイントＲとする例である。【０１７６】
図２７Ｃは、第１のトリミングポイントＱと同じ横の構図線上にある縦横の構図線の別の交点を、第２のトリミングポイントＲにする例である。【０１７７】
図２７Ｄは、１６：９のアスペクト比をもつ領域を画像の下端まで確保した例である。【０１７８】
本実施例では、縦横構図線の別の交点の優先度を高くして決定している。【０１７９】
（３０）サブステップＳ３０Ｄ  トリミング領域決定  
上記のようにして第１のトリミングポイントＱと第２のトリミングポイントＲが決定されると、第１のトリミングポイントＱと第２のトリミングポイントＲを頂点にもち、指定点Ｐを内部含むアスペクト比１６：９（横：縦）の領域３６が一意に決定される。【０１８０】
そこで次に、この領域３６を黄金比を利用して拡張して、トリミング領域を決定する。【０１８１】
例えば、第１のトリミングポイントＱと第２のトリミングポイントＲより、図２８Ａに示すような領域３６が決定されたとする。本サブステップでは、この領域３６の辺の長さ（α）に対して、黄金比率の関係が生まれるβ（α＞β）を計算し、図２８Ｂに示すように辺の長さ（α＋β）を持つ領域をトリミング領域３７として決定する。【０１８２】
このトリミング領域３７と元の領域３６の位置関係は、図２９Ａ乃至図２９Ｅに示すように、様々なパターンが考えられる。本実施例では、構図線が画面の端に位置しない点を評価し、図２９Ｅに示すような、元の領域３６とトリミング領域３７の中心が一致する位置関係を採用している。【０１８３】
なお、これでトリミング領域３７が本来の画像の領域を超えてしまう場合には、領域の拡張は行わないようにしている。しかし、これに限らず、トリミング領域が本来の画像の領域を超えてしまう場合にトリミング領域をずらして対応することも可能である。これは、トリミング領域が入力画像データ領域からはみ出たり、図１９の黒帯部分に入っている場合が該当する。【０１８４】
（３１）サブステップＳ３０Ｅ  トリミング  
上記サブステップＳ３０Ｄによって決定したトリミング領域３７をトリミングする。【０１８５】
（３２）ステップＳ３１  指定完了かを判断  
上記サブステップＳ３０Ａ乃至Ｓ３０Ｅで１つの領域のトリミングが完了する。ここで、次の指定点があるかを判断し、ある場合には、上記ステップＳ２９に戻り上記処理（取り出し中心点の指定からトリミング領域決定まで）を繰り返す。このように、画像中で複数の指定点Ｐが指定され、各指定点Ｐに応じてトリミング領域が決定される。【０１８６】
（３３）ステップＳ３２  動画処理  
図３０Ａ乃至図３０Ｄを参照して、この動画処理の概要を説明する。【０１８７】
図３０Ａは、本ステップＳ３２以前の処理であり、上述のように、指定点Ｐが複数設定されることを示す。【０１８８】
図３０Ｂは、本ステップＳ３２以前の処理であり、上述のように、各指定点Ｐにおいて、トリミング領域３７が決定されることを示す。【０１８９】
以下は、本ステップＳ３２の処理である。【０１９０】
図３０Ｃに示すように、各指定点Ｐにおける黄金比斜線３４（サブステップＳ３０Ａで求めたものと同じ）を延長し、それらの交点（図では黒い三角で示す）を求める。【０１９１】
次に、図３０Ｄに示すように、上記交点を中間点とし、各指定点Ｐを結ぶ曲線を演算する。例えば、ベジェ曲線３８を演算する。このベジェ曲線３８に沿って、各トリミング領域３７を連続的に表示する。これにより、カメラを切り替えずに各トリミング領域３７を次々を写してゆくような画像を得る。なお、トリミング領域３７の中間においては、画像のサイズを自然に変化させる。本実施例では、画像サイズの変化の変化率は２次関数を採用し、変化の始まりと終わりで変化率を小さくしている。これによって、なめらかなサイズの変化の表現を実現している。曲線の演算について、例としてベジェ曲線を挙げているが、スプライン曲線や、黄金比を定数とする曲線関数、フォボナッチ数列によって生み出される曲線美を用いた曲線などを利用することも可能である。【０１９２】
このように、動画処理は、上記複数のトリミング領域３７を結ぶ経路を設定し、あたかも１つのトリミング領域３７の画像から他のトリミング領域３７の画像まで、上記経路に沿ってカメラで連続撮影をしたように画像を表示する。【０１９３】
以上実施例に基づいて本発明を説明したが、本発明は上述した実施例に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。
【図１】
2009020047.tif 000003
【図２】
2009020047.tif 000004
【図３Ａ】
2009020047.tif 000005
【図３Ｂ】
2009020047.tif 000006
【図３Ｃ】
2009020047.tif 000007
【図３Ｄ】
2009020047.tif 000008
【図４Ａ】
2009020047.tif 000009
【図４Ｂ】
2009020047.tif 000010
【図５Ａ】
2009020047.tif 000011
【図５Ｂ】
2009020047.tif 000012
【図５Ｃ】
2009020047.tif 000013
【図６】
2009020047.tif 000014
【図７Ａ】
2009020047.tif 000015
【図７Ｂ】
2009020047.tif 000016
【図７Ｃ】
2009020047.tif 000017
【図８】
2009020047.tif 000018
【図９Ａ】
2009020047.tif 000019
【図９Ｂ】
2009020047.tif 000020
【図１０】
2009020047.tif 000021
【図１１】
2009020047.tif 000022
【図１２】
2009020047.tif 000023
【図１３Ａ】
2009020047.tif 000024
【図１３Ｂ】
2009020047.tif 000025
【図１３Ｃ】
2009020047.tif 000026
【図１４】
2009020047.tif 000027
【図１５】
2009020047.tif 000028
【図１６Ａ】
2009020047.tif 000029
【図１６Ｂ】
2009020047.tif 000030
【図１６Ｃ】
2009020047.tif 000031
【図１６Ｄ】
2009020047.tif 000032
【図１７】
2009020047.tif 000033
【図１８Ａ】
2009020047.tif 000034
【図１８Ｂ】
2009020047.tif 000035
【図１９】
2009020047.tif 000036
【図２０】
2009020047.tif 000037
【図２１Ａ】
2009020047.tif 000038
【図２１Ｂ】
2009020047.tif 000039
【図２１Ｃ】
2009020047.tif 000040
【図２１Ｄ】
2009020047.tif 000041
【図２２Ａ】
2009020047.tif 000042
【図２２Ｂ】
2009020047.tif 000043
【図２２Ｃ】
2009020047.tif 000044
【図２３】
2009020047.tif 000045
【図２４】
2009020047.tif 000046
【図２５Ａ】
2009020047.tif 000047
【図２５Ｂ】
2009020047.tif 000048
【図２６Ａ】
2009020047.tif 000049
【図２６Ｂ】
2009020047.tif 000050
【図２６Ｃ】
2009020047.tif 000051
【図２７Ａ】
2009020047.tif 000052
【図２７Ｂ】
2009020047.tif 000053
【図２７Ｃ】
2009020047.tif 000054
【図２７Ｄ】
2009020047.tif 000055
【図２８Ａ】
2009020047.tif 000056
【図２８Ｂ】
2009020047.tif 000057
【図２９Ａ】
2009020047.tif 000058
【図２９Ｂ】
2009020047.tif 000059
【図２９Ｃ】
2009020047.tif 000060
【図２９Ｄ】
2009020047.tif 000061
【図２９Ｅ】
2009020047.tif 000062
【図３０Ａ】
2009020047.tif 000063
【図３０Ｂ】
2009020047.tif 000064
【図３０Ｃ】
2009020047.tif 000065
【図３０Ｄ】
2009020047.tif 000066
【国際調査報告】
2009020047.tif 000067
2009020047.tif 000068
2009020047.tif 000069
2009020047.tif 000070