(57)【特許請求の範囲】
【請求項１】
処理対象となる原画像から、第１オブジェクト領域および第２オブジェクト領域を検出する検出部と、
前記原画像から、前記第１オブジェクト領域を含み、前記第２オブジェクト領域を含まない変形領域を設定する設定部と、
前記変形領域内で、前記第１オブジェクト領域のサイズを拡大可能な拡大位置を探索するとともに、当該拡大位置での拡大倍率を算出する算出部と、
前記第１オブジェクト領域を探索された前記拡大位置において前記拡大倍率で拡大し、かつ前記変形領域内の残りの部分を変形処理するとともに、前記第２オブジェクト領域には変形処理を行わないか、変形処理を軽減することによって、変形した原画像を生成する変形部と
を備える、画像処理装置。
【請求項２】
前記算出部は、
拡大された前記第１オブジェクト領域の大きさが最大となる位置を、前記拡大位置として算出する、請求項１記載の画像処理装置。
【請求項３】
前記変形部は、
前記第１オブジェクト領域の位置から前記拡大位置までの移動方向に基づき、前記変形領域を区分した区分領域を生成する区分部と、
前記移動方向に移動し、前記移動方向側にある前記区分領域を縮め、前記移動方向とは反対側にある前記区分領域を引き伸ばし、その他の前記区分領域を前記第１オブジェクト領域の移動に合わせて遷移させるように、各前記区分領域を変形させ、
前記変形領域を歪ませつつ、前記拡大位置で前記第１オブジェクト領域を拡大する領域変形部と
を備える、請求項１又は２記載の画像処理装置。
【請求項４】
前記原画像は、
位置および輝度で定義される座標空間において、幾何学平面であるパッチの集合であるメッシュにより表現される画像であり、
前記領域変形部は、
前記区分領域におけるパッチの各頂点を移動させることにより、各前記区分領域を変形させる、請求項３記載の画像処理装置。
【請求項５】
前記原画像は、
位置及び輝度で表わされるピクセル画像であり、
前記領域変形部は、
前記区分領域におけるピクセルの頂点を移動させることにより、各前記区分領域を変形させる、請求項３記載の画像処理装置。
【請求項６】
処理対象となる原画像から、第１オブジェクト領域および第２オブジェクト領域を検出し、
前記原画像から、前記第１オブジェクト領域を含み、前記第２オブジェクト領域を含まない変形領域を設定し、
前記変形領域内で、前記第１オブジェクト領域のサイズを拡大可能な拡大位置を探索するとともに、当該拡大位置での拡大倍率を算出し、
前記第１オブジェクト領域を探索された前記拡大位置において前記拡大倍率で拡大し、かつ前記変形領域内の残りの部分を変形処理するとともに、前記第２オブジェクト領域には変形処理を行わないか、変形処理を軽減することによって、変形した原画像を生成する
画像処理方法。
【請求項７】
コンピュータを、
処理対象となる原画像から、第１オブジェクト領域および第２オブジェクト領域を検出する手段と、
前記原画像から、前記第１オブジェクト領域を含み、前記第２オブジェクト領域を含まない変形領域を設定する手段と、
前記変形領域内で、前記第１オブジェクト領域のサイズを拡大可能な拡大位置を探索するとともに、当該拡大位置での拡大倍率を算出する手段と、
前記第１オブジェクト領域を探索された前記拡大位置において前記拡大倍率で拡大し、かつ前記変形領域内の残りの部分を変形処理するとともに、前記第２オブジェクト領域には変形処理を行わないか、変形処理を軽減することによって、変形した原画像を生成する手段と
して機能させる、画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像処理装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
処理対象となる原画像において、一のオブジェクト領域（建物や人物等）を検出し、当該オブジェクト領域を拡大しつつ、それ以外の領域を歪ませることにより、当該原画像のサムネイル画像を生成する画像処理装置がある。
【０００３】
従来の画像処理装置では、オブジェクト領域が複数ある場合、一のオブジェクト領域を拡大すると、他のオブジェクト領域が歪んでしまう場合があり、ユーザにとって、原画像を特定しやすいサムネイル画像を生成することが困難であった。
【０００４】
このような画像処理装置では、ユーザが原画像を特定しやすいサムネイル画像を生成することができるものが望まれている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３１３５１１号公報
【特許文献２】特許第３４８２９２３号公報
【非特許文献】
【０００６】
【非特許文献１】中村 徳裕、阿部 英彦、西尾 孝治、小堀 研一、“Delaunay三角形分割を用いた解像度変換に関する一手法”、画像電子学会誌、Vol.35、No.5、2005.
【非特許文献２】M. Kass, A. Witkin, and D. Terzopoulos, "Snakes: Active Contour Models." International Journal of Computer Vision, Vol.1, No.4, pp. 321-331, 1988.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明が解決しようとする課題は、ユーザが原画像を特定しやすいサムネイル画像を生成することができる画像処理装置、方法、及びプログラムを提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の実施形態に係る画像処理装置は、検出部と、設定部と、算出部と、変形部とを備える。
【０００９】
検出部は、処理対象となる原画像から、第１オブジェクト領域および第２オブジェクト領域を検出する。設定部は、前記原画像から、前記第１オブジェクト領域を含み、前記第２オブジェクト領域を含まない変形領域を設定する。算出部は、前記変形領域内で、前記第１オブジェクト領域のサイズを拡大可能な拡大位置を探索するとともに、当該拡大位置での拡大倍率を算出する。変形部は、前記第１オブジェクト領域を探索された前記拡大位置において前記拡大倍率で拡大し、かつ前記変形領域内の残りの部分を変形処理するとともに、前記第２オブジェクト領域には変形処理を行わないか、変形処理を軽減することによって、変形した原画像を生成する。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態に係る画像処理装置１による画像処理の説明図。
【図２】原画像の説明図。
【図３】画像処理装置１を表すブロック図。
【図４】画像処理装置１の処理を表すフローチャート。
【図５】算出部１４の処理を表すフローチャート。
【図６】算出部１４の処理の説明図。
【図７】算出部１４の処理の一部を表すフローチャート。
【図８】候補点Ｐ’ｍを表す一例図。
【図９】区分部１５１の処理の説明図。
【図１０】領域変形部１５２の処理を表すフローチャート。
【図１１】領域３０５の変形処理の説明図。
【図１２】領域３０６の変形処理の説明図。
【図１３】対象オブジェクト領域３０１の拡大処理を表すフローチャート。
【図１４】対象オブジェクト領域３０１の拡大処理の説明図。
【図１５】第２の実施の形態における設定部１３の処理を表すフローチャート。
【図１６】メッシュの一例図。
【発明を実施するための形態】
【００１１】
（第１の実施の形態）
第１の実施の形態に係る画像処理装置１は、原画像から、当該原画像のサムネイル画像を生成するためのものである。画像処理装置１は、例えば、テレビ、ＰＣ（パーソナルコンピュータ）、携帯情報端末、デジタルカメラ等、画像を表示可能な装置に用いられ得る。画像処理装置１は、原画像の中でユーザが注目する対象オブジェクトを含み、かつ他のオブジェクト領域を含まない変形領域を設定し、変形領域内において対象オブジェクトを移動及び拡大した変形画像を生成する。この変形画像を縮小することにより、サムネイル画像が得られる。
【００１２】
図１は、画像処理装置１による画像処理の説明図である。画像処理装置１は、原画像において処理対象とする対象オブジェクト領域３０１を、変形領域３０２内において、その大きさが最も大きくなる位置に移動し、拡大する（図１（ａ）から図１（ｃ）は、その過程を示す）。変形領域３０２とは、原画像の一部の領域であって、オブジェクト３０１の移動及び拡大を許可する領域である。
【００１３】
図２は、本実施形態における原画像の説明図である。２次元に分布する画素値を有する画像は、多数の小領域の集合（メッシュ）としても表現可能である。ここで、メッシュは、複数の頂点及び頂点どうしを接続する稜線（エッジ）で作られる三角形（パッチ）により表現されている。当該パッチは、三角形以外のその他の多角形でも構わない。
【００１４】
一つの頂点は、位置（ｘ，ｙ）、及び、一つの頂点がどの頂点と接続されているかを示す接続情報（例えば、図２において、「頂点Ｐ１は、頂点Ｐ２〜頂点Ｐ８に接続」といった情報）により表わされてよい。各パッチには、各パッチを識別するためのパッチＩＤが付されていてよい。メッシュにおける各頂点には、各頂点を識別するための頂点ＩＤが付されていてよい。
【００１５】
例えば、入力画像が、ＪＰＥＧやビットマップ画像等の画像であって、位置（ｘ，ｙ）および輝度Ｉで定義される座標空間で表現されている場合には、図示しない変換部を用いてメッシュの原画像に変換すればよい。例えば、非特許文献１記載の手法を用いて、ＪＰＥＧやビットマップ画像等の画像を上記メッシュの原画像に変換することができる。ここでは、図１６に示されるようなｘｙ平面に加えて輝度Ｉを高さとした３次元座標（ｘ，ｙ，Ｉ）で表現されるメッシュであってよい。
【００１６】
また、メッシュは、コンピュータグラフィックス（ＣＧ）のテクスチャマッピングで使用される２次元のメッシュであってよく、各頂点はマッピング対象となるテクスチャやビットマップ画像等と対応する位置情報を持っていてもよい。
【００１７】
また、入力画像がカラー画像である場合、各頂点はさらに色成分の情報（例えば、ＲＧＢ）を含んでいてもよい。
【００１８】
図３は、画像処理装置１を表すブロック図である。画像処理装置１は、入力部１１と、検出部１２と、設定部１３と、算出部１４と、変形部１５と、出力部１６とを備える。変形部１５は、区分部１５１と、領域変形部１５２とを含む。
【００１９】
入力部１１は、処理対象となる原画像を入力する。
【００２０】
検出部１２は、原画像において、一又は複数のオブジェクトを検出し、その中から一の対象オブジェクト領域３０１を設定する。
【００２１】
複数のオブジェクト領域が複数ある場合、検出部１２は、ユーザからの指定により、対象オブジェクト領域を設定してもよい。あるいは、公知の画像認識技術を用いて、検出したオブジェクト領域が、人であるか、物であるかを推定し、人のオブジェクト領域を対象オブジェクト領域３０１に設定してもよい。あるいは、サイズが最も大きいオブジェクト領域を対象オブジェクト領域３０１に設定してもよい。
【００２２】
設定部１３は、対象オブジェクト領域３０１を含み、かつ、他のオブジェクト領域（図１では、オブジェクト領域３０４）を含まない変形領域３０２を設定する。本実施形態では、ユーザからの指定に基づき、変形領域３０２を設定する。例えば、設定部１３は、図示しないタッチパネル、マウス、キーボード等を用いて、原画像中でユーザが指定した領域を受け取ると、当該領域が対象オブジェクト領域３０１を含み、かつ、他のオブジェクト領域を含んでいないかを判定し、判定が真であれば、指定された領域を変形領域３０２をとして設定する。判定が偽であれば、ユーザに領域の指定を再度促がすようにしてもよい。なお、変形領域３０２に含まないと判定されるオブジェクト領域は、単一のオブジェクトに限らず、誘目度の高い領域であってもよい
なお、検出部１２がオブジェクト領域として検出しなかったオブジェクト（図１では、オブジェクト３０３）は、変形領域３０２内に含まれてよい。
【００２３】
算出部１４は、変形領域３０２内の任意の位置を中心として、対象オブジェクト領域３０１を変形領域３０２内で拡大する。本実施形態では、メッシュ頂点を移動させることにより、対象オブジェクト領域３０１を拡大しつつ、変形領域３０２を歪ませる。
【００２４】
この場合、拡大された対象オブジェクト領域３０１の大きさが最大となる拡大位置（最適位置）及びその拡大倍率（最大倍率）を算出する。
【００２５】
すなわち、算出部１４は、変形領域３０２内における対象オブジェクト領域３０１の拡大位置の候補を複数選択する。そして、各候補の拡大位置を中心として、対象オブジェクト領域３０１が変形領域３０２からはみ出さないように拡大した際に、拡大倍率が最大となる最大倍率とを候補ごとに求める。複数の最大倍率のなかでたとえば最大倍率となる拡大位置を最適位置として選択する。
【００２６】
なお、本実施形態におけるオブジェクト領域の位置とは、例えば、オブジェクト猟奇の重心位置であってよい。この場合、算出部１４は、オブジェクト領域の形状から重心位置を算出すればよい。
【００２７】
区分部１５１は、対象オブジェクト領域３０１の最適位置までの移動方向に基づき、変形領域３０２を区分する。区分された変形領域３０２の各々は、後述の変形部１５２により、異なる変形処理が行われる。
【００２８】
領域変形部１５２は、区分された各々の変形領域３０２に対して、異なる変形処理を施すことにより、対象オブジェクト領域３０１を最適位置まで移動し、最適位置を中心として、移動した対象オブジェクト領域３０１を最大倍率で拡大する。これにより、原画像が変形される。
【００２９】
出力部１６は、変形された原画像（変形画像）を提示装置５に出力する。ここで、提示装置５とは、ディスプレイやプリンタ等を含む。提示装置５は、変形画像をサムネイル画像として提示する。
【００３０】
入力部１１と、検出部１２と、設定部１３と、算出部１４と、変形部１５と、出力部１６とは、中央演算処理装置（ＣＰＵ）及びＣＰＵが用いるメモリにより実現されてよい。
【００３１】
以上、画像処理装置１の構成について説明した。
【００３２】
図４は、画像処理装置１の処理を表すフローチャートである。
【００３３】
入力部１１は、処理対象となる原画像を入力する（Ｓ１０１）。検出部１２は、原画像において、一又は複数のオブジェクトを検出し、その中から一の対象オブジェクト領域３０１を設定する（Ｓ１０２）。
【００３４】
設定部１３は、変形領域３０２を設定する（Ｓ１０３）。算出部１４は、変形領域３０２内の任意の位置を中心として、対象オブジェクト領域３０１を変形領域３０２内で拡大する場合の最適位置及び最大倍率を算出する（Ｓ１０４）。
【００３５】
区分部１５１は、対象オブジェクト領域３０１を現在位置から最適位置まで移動する際の移動方向に基づき、変形領域３０２を区分する（Ｓ１０５）。
【００３６】
変形部１５２は、原画像を変形する（Ｓ１０６）。すなわち、変形部１５２は、区分された各々の変形領域３０２に対して、異なる変形処理を施すことにより、対象オブジェクト領域３０１を最適位置まで移動し、最適位置を中心として、移動した対象オブジェクト領域３０１を最大倍率で拡大する（Ｓ１０６）。出力部１６は、変形された原画像（変形画像）を提示装置５に出力する（Ｓ１０７）。
【００３７】
以上、画像処理装置１の処理について説明した。
【００３８】
以下、各部について詳述する。
【００３９】
入力部１１は、原画像を検出部１２と、設定部１３と、変形部１５とに供給する。検出部１２は、原画像において対象オブジェクト領域３０１を検出する。例えば、検出部１２は、特許文献２の手法などで抽出された領域を含むパッチの集合を、対象オブジェクト領域３０１として検出してよい。
【００４０】
検出部１２は、対象オブジェクト領域３０１を、設定部１３と、算出部１４とに通知する。例えば、検出部１２は、対象オブジェクト領域３０１に含まれるパッチのパッチＩＤを設定部１３と算出部１４とに通知してよい。
【００４１】
設定部１３は、変形領域３０２を設定する。設定部１３は、変形領域５０２を算出部１４に通知する。例えば、設定部１３は、変形領域５０２に含まれるパッチのパッチＩＤを算出部１４に通知してよい。
【００４２】
算出部１４は、変形領域３０２内の任意の位置を中心として、対象オブジェクト領域３０１を変形領域３０２内で拡大する場合の最適位置及び最大倍率を算出する。
【００４３】
図５は、算出部１４の処理を表すフローチャートである。ここでは、対象オブジェクト領域３０１の位置Ｐと、拡大倍率Ｍと、移動方向（角度Ａ）と、移動距離Ｌとを各々一定の刻み幅で大きくし、変形領域内に収まる範囲で、対象オブジェクト領域３０１を最大に拡大できるような最適位置Pと、最大倍率Ｍと、移動方向Ａと、移動距離Ｌとを算出する。
【００４４】
ステップＳ２０１にて、算出部１４は、対象オブジェクト領域３０１を拡大させる倍率Ｍを初期化する（Ｓ２０１）。例えば、Ｍ＝１．０に初期化してよい。
【００４５】
ステップＳ２０２にて、算出部１４は、対象オブジェクト領域３０１を移動させる方向（角度Ａ）を初期化する（Ｓ２０２）。例えば、Ａ’＝０°に初期化してよい。ここで、角度Ａ’は、原画像における基準ラインからの角度である。図６は、算出部１４の処理の説明図である。図６（ａ）に示すように、例えば、基準ラインは、原画像の水平方向と平行なラインであってよく、左回りを正、右回りを負としてよい。この場合、基準ラインの方向を角度０°としてよい。
【００４６】
ステップＳ２０３にて、算出部１４は、角度Ａが３６０°未満であるか否かを判定する（Ｓ２０３）。角度Ａ’が３６０°未満であれば（判定がＹＥＳ）ステップＳ２０４に遷移し、角度Ａ’が３６０°以上であれば（判定がＮＯ）ステップＳ２０５に遷移する。
【００４７】
ステップＳ２０４にて、算出部１４は、対象オブジェクト領域３０１を移動させる距離Ｌを初期化する（Ｓ２０４）。例えば、Ｌ’＝０に初期化してよい。
【００４８】
ステップＳ２０６にて、算出部１４は、図６（ｂ）に示すように、予め定められた刻み距離ΔＬを距離Ｌ’に加える（Ｓ２０６）。
【００４９】
ステップＳ２０７にて、算出部１４は、対象オブジェクト領域３０１を、角度Ａ’の方向に距離Ｌ’移動させる（Ｓ２０７）。すなわち、対象オブジェクト領域３０１に含まれるメッシュの頂点を角度Ａ’の方向に距離Ｌ’移動させる。
【００５０】
ステップＳ２０８にて、移動した対象オブジェクト領域３０１が変形領域内に含まれているか否かを判定する（Ｓ２０８）。
【００５１】
本実施形態では、対象オブジェクト領域３０１と変形領域３０２が交わらず、かつ、対象オブジェクト領域３０１の境界を構成する１点が変形領域３０２の内部にあれば、対象オブジェクト領域３０１が変形領域３０２内に含まれていると判定する。
【００５２】
具体的には、対象オブジェクト領域３０１として、メモリ（不図示）に登録されているパッチの集合の頂点のうち、対象オブジェクト領域３０１として登録されていないパッチと隣接しているものを探索することにより、対象オブジェクト領域３０１の境界を構成しているメッシュ頂点Ｕ１１、Ｕ１２、・・・、Ｕ１ｎを求めることができる（変形領域３０２についても同様）。
【００５３】
また、対象オブジェクト領域３０１の境界を構成している稜線Ｔ１１、Ｔ１２・・・、Ｔ１ｉ…も求めることができる（変形領域３０２についても同様にＴ２１、Ｔ２２、…Ｔ２ｊとする）。ここで、対象オブジェクト領域３０１および変形領域３０２の境界の稜線Ｔ１ｉ、Ｔ２ｊの中で、互いに交わる組合せがなければ、対象オブジェクト領域３０１と変形領域３０２が交わらないと判定する。さらに、変形領域３０２内に属しているパッチ内部のある点からＵ１１に引いた線分に対して、変形領域３０２の稜線が交わらないか、あるいは偶数回交わる場合、対象オブジェクト領域３０１が変形領域３０２の中に含まれていると判定する。
【００５４】
移動した対象オブジェクト領域３０１が変形領域内に含まれていればステップＳ２１０に遷移する。含まれていなければステップＳ２０９に遷移する。
【００５５】
ステップＳ２０９にて、算出部は、予め定められた刻み角度ΔＡを角度Ａ’に加え（Ｓ２０９）、ステップＳ２０６に遷移する。
【００５６】
ステップＳ２１０にて、算出部１４は、対象オブジェクト領域３０１を、入力された原画像における初期位置から、角度Ａ’の方向に距離Ｌ’移動した位置において、対象オブジェクト領域３０１を最大に拡大できる際の、拡大中心Ｐ’と、その際の倍率Ｍ’とを算出する。
【００５７】
図７は、ステップＳ２１０における算出部１４の処理を表すフローチャートである。算出部１４は、対象オブジェクト領域３０１において、拡大中心Ｐ’の候補となる複数の候補点Ｐ’ｍ（ｍ＝１〜ｓ）（ｓは、候補点の個数である）を設定する（Ｓ３０１）。
【００５８】
図８は、候補点Ｐ’ｍを示す一例図である。図８（ａ）に示すように、例えば、算出部１４は、対象オブジェクト領域３０１内において、対象オブジェクト領域３０１の重心から、予め定められた間隔で格子状に候補点Ｐ’ｍを設定してもよい。
【００５９】
算出部１４は、ｍ＝１に設定する（Ｓ３０２）。算出部１４は、候補点Ｐ’ｍを拡大中心として、対象オブジェクト領域３０１を拡大倍率Ｍ’ｍ拡大する（Ｓ３０３）。
【００６０】
具体的には、図８（ｂ）に示すように、拡大中心Ｐ’ｍから、対象オブジェクト領域３０１内のメッシュの頂点Ｖまでを結ぶ半直線Ｐ’ｍＶがＭ倍になる点Ｖ’（Ｐ’ｍＶ’＝Ｍ’ｍ×Ｐ’ｍＶ）にメッシュの頂点Ｖを移動する。これを対象オブジェクト領域３０１内の全てのメッシュの頂点について行なうことにより、対象オブジェクト領域３０１が拡大される。
【００６１】
算出部１４は、拡大した対象オブジェクト領域３０１が変形領域３０２の中に含まれているか否かを判定する（Ｓ３０４）。ステップＳ３０４における判定がＹＥＳの場合、算出部１４は、拡大倍率Ｍ’ｍに、所定の定数ΔＭ’（例えば、ΔＭ’＝０．１）を加えた値（Ｍ’ｍ+ΔＭ’）を新たな拡大倍率Ｍ’ｍとして（Ｓ３０５）、ステップＳ３０３に遷移する。
【００６２】
ステップＳ３０４における判定がＮＯの場合、算出部１４は、拡大倍率Ｍ’ｍを決定する（Ｓ３０６）。例えば、算出部１４は、Ｍ’ｍ＝Ｍ’ｍ−ΔＭを候補点Ｐ’ｍにおける最終的な拡大倍率として決定してよい。
【００６３】
算出部１４は、更新前の拡大倍率Ｍ’ｍよりも、現在の拡大倍率Ｍ’ｍの方が大きいか否かを判定する（Ｓ３０７）。ステップＳ３０７における判定がＮＯの場合、算出部１４は、ｍ＝ｓであるか否かを判定する（Ｓ３１１）。すなわち、算出部１４は、全てのＰ’ｍで評価したか否かを判定する。ステップＳ３１１における判定がＮＯの場合、（ｍ＋１）を新たなｍとして、ステップＳ３０３に遷移する。
【００６４】
ステップＳ３０９における判定がＹＥＳの場合、算出部１４は、拡大倍率Ｍ’ｍを新たな拡大倍率Ｍ’としてメモリ（不図示）に書き込み、拡大倍率Ｍを更新する。また、そのときのＰ’ｍを拡大中心Ｐ’としてメモリ（不図示）に書き込み、拡大中心Ｐ’を更新する（Ｓ３１０）。そして、ステップＳ３１１に遷移する。
【００６５】
ステップＳ３１１における判定がＹＥＳの場合、図５におけるステップＳ２１１に遷移する。
【００６６】
ステップＳ２１１にて、算出部１４は、算出した拡大倍率Ｍ’が、これまでに更新された拡大倍率Ｍよりも大きいか否かを判定し（Ｓ２１１）、判定がＹＥＳの場合、ステップＳ２１２にて、拡大倍率Ｍ’を拡大倍率Ｍとして、メモリ（不図示）を更新する。すなわち、算出部１４は、角度Ａ’で移動距離Ｌ’のときの、拡大倍率Ｍ’を各々算出し、値が最大となる拡大倍率Ｍ’を拡大倍率Ｍとして、メモリ（不図示）を更新する。なお、このときの角度Ａ’を角度Ａ、距離Ｌ’を距離Ｌとしてメモリ（不図示）を更新する。ステップＳ２１１における判定がＮＯの場合、ステップＳ２０６に遷移する。
【００６７】
ステップＳ２０５にて、算出部１４は、最適位置Pと、最大倍率Ｍと、移動方向Ａと、移動距離Ｌとを設定し、処理を終了する。
【００６８】
なお、ここでは自動的に最適位置、最大倍率、移動方向、移動距離を算出する方法について述べたが、対象オブジェクトが変形影響領域内に収まる範囲で外部からユーザがこれらの値を与えてもよい。その場合、角度Ａ’、距離Ｌ’、位置Ｐ’、倍率Ｍ’は、外部から与えられた値を固定して図５の処理を行う。
【００６９】
以上、算出部１４の処理について説明した。
【００７０】
区分部１５１は、最適位置Ｐと、最大倍率Ｍと、移動方向Ａと、移動距離Ｌとに基づいて、対象オブジェクト領域３０１を現在位置から最適位置Ｐまで移動する際に、対象オブジェクト領域３０１が通る軌跡に基づき、変形領域３０２を区分する。
【００７１】
図９は、区分部１５１の処理の説明図である。区分部１５１は、対象オブジェクト領域３０１と、変形領域３０２と、移動方向Ａと、に基づき、移動方向Ａと平行、かつ、オブジェクト領域３０１と接し、変形領域３０２の外周と交わる直線３０３及び直線３０４を引く。すなわち、区分部１５１は、直線３０３及び直線３０４によって変形領域３０２を、領域３０５と、領域３０６と、領域３０７と、領域３０８とに区分する。区分部１５１では、それぞれの領域に含まれる頂点に対し、領域３０５〜３０８のどの領域に属しているか判別できる属性（領域ＩＤ）を与える。
【００７２】
なお、直線３０３及び直線３０４は、対象オブジェクト領域３０１の境界を構成している複数点のいずれか一点を通り、対象オブジェクト領域３０１の移動方向Ａと平行な複数直線の中から、互いに最も距離の離れた２本の直線として求められる。
【００７３】
また、区分部１５１は、領域ＩＤを以下のように求めてよい。区分部１５１は、対象オブジェクト領域３０１のパッチを通り対象オブジェクト領域３０１の移動方向Ａと平行な直線と、直線３０３と、直線３０４との位置関係により、当該パッチを、（i）領域３０８、（ii）領域３０５あるいは３０７、（iii）領域３０６の３通りに分類する。
【００７４】
もし、（ii）領域３０５あるいは領域３０７に属していれば、区分部１５１は、当該パッチと対象オブジェクト領域３０１の境界を構成している稜線との交点の位置から、当該パッチが領域３０５あるいは領域３０７のどちらの領域に属しているかを求める。なお、区分された領域の境界である直線３０３又は直線３０４上に存在するパッチについては、それに接するどれか一つの領域の領域ＩＤを与える。
【００７５】
なお、直線３０３及び直線３０４を引いた後に、その線分に沿うようにメッシュを分割する方法も考えられる。具体的には、直線３０３及び直線３０４が通るパッチ（三角形とする）に対して、その線分が通過している線上で分割する。分割によって四角形のパッチが生成されたら、その四角形のパッチを非特許文献1記載のＤｅｌａｕｎａｙ三角形分割等の方法により２つの三角形パッチに分割する。
【００７６】
以上、区分部１５１の処理について説明した。
【００７７】
変形部１５２は、区分された各々の変形領域３０２に対して、異なる変形処理を施すことにより、対象オブジェクト領域３０１を最適位置Ｐまで移動し、最適位置Ｐを中心として、移動した対象オブジェクト領域３０１を最大倍率Ｍで拡大する。
【００７８】
図１０は、領域変形部１５２の処理を表すフローチャートである。図１０に示すように、区分部１５１は、ステップＳ４０１にて、領域変形部１５２は、区分部１５１で付与された領域ＩＤに基づき、各頂点が領域３０５〜３０８のどの領域に属すかを判定する（Ｓ４０１）。ステップＳ４０２にて、領域変形部１５２は、領域毎に頂点を移動することにより対象オブジェクト領域３０１を移動する（Ｓ４０２）。ステップＳ４０３にて、領域変形部１５２は、対象オブジェクト領域３０１を拡大する（Ｓ４０３）。以下、ステップＳ４０２とＳ４０３とについて説明する。
【００７９】
ステップＳ４０２について説明する。
【００８０】
領域変形部１５２は、対象オブジェクト領域３０１を最適位置Ｐに移動する。すなわち、対象オブジェクト領域３０１を移動方向Ａに移動距離Ｌだけ移動させる。このとき、領域変形部１５２は、対象オブジェクト領域３０１の移動に伴い、領域３０５を移動方向Ａに引き伸ばし、領域３０７を移動方向Ａに縮めることにより、補間する。また、領域変形部１５２は、対象オブジェクト領域３０１の移動に伴い、領域３０６及び領域３０８を各々、移動方向Ａにずらすことにより補間する。
【００８１】
以下、上記のような変形を実現するためのメッシュ頂点の移動方法について説明する。
【００８２】
対象オブジェクト領域３０１内のメッシュ頂点については、全てのメッシュ頂点を移動方向Ａに移動距離Ｌだけ移動することで実現される。
【００８３】
図１１は、領域３０５の変形処理の説明図である。領域変形部１５２は、移動対象のメッシュ頂点Ｗから対象オブジェクト領域３０１の移動方向Ａと平行な直線Ｆを引く。ここで、対象オブジェクト領域３０１の外周と直線Ｆとの交点をＲ１、変形領域３０２の外周と直線Ｆとの交点をＲ２とする（図１１（ａ））。また、移動後の対象オブジェクト領域３０１の外周と直線Ｆとの交点をＲ１’とする（図１１（ｂ））。
【００８４】
このとき、Ｒ１がＲ１’に移動するのに伴い、頂点ＷはＲ１とＲ２との間を線形に補間するように移動する。つまり、領域変形部１５２は、線分Ｒ２Ｗ：線分ＷＲ１＝線分Ｒ２Ｗ’：線分Ｗ’Ｒ１’となる点Ｗ’に、頂点Ｗを移動させる。領域変形部１５２は、同様の処理を領域３０５のメッシュ頂点全てに対して行うことにより、原画像を変形させる。領域変形部１５２は、領域３０７のメッシュ頂点についても同様の処理を行なう。
【００８５】
図１２は、領域３０６の変形処理の説明図である。変形領域３０２を区分している直線３０３と対象オブジェクト領域３０１との接点をＱ１とし、直線Ｆ’と変形領域３０２の外周との交点をＱ２とする。直線Ｆ’は、移動対象のメッシュ頂点Ｕ及び接点Ｑ１を通る直線である。また、移動後の対象オブジェクト領域３０１上で、移動前の対象オブジェクト領域３０１の点Ｑ１に対応する点をＱ１’とする。
【００８６】
領域変形部１５２は、点Ｑ１を点Ｑ１’に移動させ、点ＵをＱ１とＱ２との間を線形に補間するように移動させる。つまり、Ｑ２Ｕ：ＵＱ１＝Ｑ２Ｕ’：Ｕ’Ｑ１’となる点Ｕ’に、点Ｕを移動させる。領域変形部１５２は、同様の処理を領域３０６のメッシュ頂点全てに対して行うことにより、原画像を変形させる。領域変形部１５２は、領域３０８のメッシュ頂点についても同様の処理を行なう。
【００８７】
なお、対象オブジェクト領域３０１が直線３０３と複数点あるいは辺で接している場合、領域変形部１５２は、移動対象の頂点Ｕから最も近い位置にある接点あるいは接線上の点をＱ１としてよい。
【００８８】
ステップＳ４０３について説明する。
【００８９】
領域変形部１５２は、移動させた対象オブジェクト領域３０１を、最適位置Ｐを拡大中心として、倍率Ｍで拡大する。すなわち、領域変形部１５２は、対象オブジェクト領域３０１の移動後の画像のメッシュ頂点を拡大倍率Ｍに従って移動させることにより、対象オブジェクト領域３０１を拡大する。図１３は、領域変形部１５２による対象オブジェクト領域３０１の拡大処理を表すフローチャートである。図１４は、対象オブジェクト領域３０１の拡大処理の説明図である。
【００９０】
ステップＳ５０１にて、領域変形部１５２は、移動させた対象オブジェクト領域３０１において、選択が完了していない一の頂点を処理対象の頂点（処理対象頂点Ｖ）として選択する（Ｓ５０１）。
【００９１】
ステップＳ５０２にて、領域変形部１５２は、最適位置Ｐから処理対象頂点Ｖに半直線ＰＶを引き、半直線ＰＶと対象オブジェクト領域３０１の外周との交点Ｄ１、及び半直線ＰＶと変形領域３０２の輪郭との交点Ｄ２を求める（Ｓ５０２）。
【００９２】
半直線ＰＶと対象オブジェクト領域３０１との交点Ｄ１、及び半直線ＰＶと変形領域３０２との交点Ｄ２は、図１４（ａ）に示す関係となる。
【００９３】
ステップＳ５０３にて、領域変形部１５２は、選択した移動対象頂点Ｖが、対象オブジェクト領域３０１内にあるか否かを判定する（Ｓ５０３）。ステップＳ５０３における判定がＹＥＳの場合、ステップＳ５０４にて、領域変形部１５２は、「ＰＶ’（ベクトル）＝拡大倍率Ｍ×ＰＶ（ベクトル）」となる点Ｖ’の位置に、選択した移動対象頂点Ｖを移動させる（Ｓ５０４）。
【００９４】
そして、ステップＳ５０７にて、領域変形部１５２は、対象オブジェクト領域３０１の移動後の画像において、全てのメッシュ頂点を選択したか否かを判定する（Ｓ５０７）。例えば、領域変形部１５２は、移動対象頂点Ｖとして選択した頂点の頂点ＩＤをメモリ（不図示）に記憶させておくことにより、ステップＳ５０７における判定を行なってもよい。
【００９５】
ステップＳ５０７における判定がＹＥＳの場合、領域変形部１５２は、画像の変形が終了したことを提示部１６に通知し、処理を終了する。ステップＳ５０７における判定がＮＯの場合、ステップＳ５０１に遷移する。
【００９６】
ステップＳ５０３における判定がＮＯの場合、ステップＳ５０５にて、領域変形部１５２は、選択した移動対象頂点Ｗが、変形領域３０２内かつ対象オブジェクト領域３０１外にあるか否かを判定する（Ｓ５０５）。ステップＳ５０５における判定がＮＯの場合、ステップＳ５０７に遷移する。ステップＳ５０５における判定がＹＥＳの場合、ステップＳ５０６にて、「Ｄ１’Ｖ’：Ｖ’Ｄ２＝Ｄ１Ｖ：ＶＤ２」となる点Ｖ’の位置に移動対象頂点Ｖを移動させる（Ｓ５０６）。ここでＤ１’とは、拡大倍率Ｍで拡大した対象オブジェクト領域３０１の外周と、半直線ＰＶ’との交点である。そして、ステップＳ５０７に遷移する。これにより、サムネイル画像にするための変形画像が生成される（図１４（ｂ））。
【００９７】
出力部１６は、変形画像を提示装置５に出力する。
【００９８】
提示装置５は、変形画像を縮小し、サムネイル画像として提示する。例えば、提示部１６は、サムネイル画像をレンダリングして表示するディスプレイであってよい。この場合、提示装置５は、メッシュの各頂点が持つ色情報を用いて、パッチ内を補間することにより、レンダリングしてよい（非特許文献１参照）。
【００９９】
（変形例）
なお、本実施の形態において、原画像は、メッシュで表現されるものであるとしたが、ピクセル画像であっても構わない。この場合、検出部１２と、設定部１３と、算出部１４とは、上述のメッシュの頂点を、各ピクセルの中心点として同様の処理を行なえばよい。
【０１００】
また、変形部１５は、メモリ（不図示）に記憶された各ピクセルの輝度及び色情報を書き換えることによって画像変形を行なう。すなわち、上述のメッシュの頂点の移動先を決定する方法と同様に、各ピクセルの中央点の移動先を仮に算出する。各ピクセルの中央点の移動先として算出された座標にピクセルの輝度及び色情報を持たせたものを参照点とし、その参照点を補間することで各ピクセルの輝度及び色情報を書き換え、変形後の画像を生成する。
【０１０１】
本実施形態により、ユーザが原画像を特定しやすいサムネイル画像を生成することができる。
【０１０２】
（第２の実施の形態）
第２の実施の形態に係る画像処理装置では、設定部１３が自動的に変形領域３０２を設定する点が、前実施形態の場合と異なる。
【０１０３】
本実施形態において、設定部１３は、対象オブジェクト領域３０１を含み、かつ、他のオブジェクト（図１ではオブジェクト３０４）を含まないように、変形領域３０２を設定する。例えば、非特許文献２に記載の公知の動的輪郭モデル（Ｓｎａｋｅ法）の手法を用いて、変形領域３０２を特定してもよい。
【０１０４】
図１５は、本実施形態における設定部１３の処理を表すフローチャートである。
【０１０５】
ステップＳ６０１にて、設定部１３は、対象オブジェクト３０１の外周にあるメッシュ頂点の位置に制御点Ｃ１〜Ｃｎを用意し、それらを直線で結んだ輪郭を輪郭Ｃとする（Ｓ６０１）。
【０１０６】
ステップＳ６０２にて、設定部１３は、初期の倍率ｒを設定する（Ｓ６０２）。
【０１０７】
ステップＳ６０３にて、設定部１３は、輪郭Ｃの制御点Ｃ１〜Ｃｎを、輪郭Ｃの重心を中心にして倍率ｒで拡大（移動）する（Ｓ６０３）。
【０１０８】
ステップＳ６０４にて、設定部１３は、メッシュからはみ出す制御点が存在したか否かを判定する（Ｓ６０４）。ステップＳ６０４における判定がＹＥＳの場合、ステップＳ６０５にて、設定部１３は、倍率ｒを予め定められた値の刻み幅だけ減らす（Ｓ６０５）。
【０１０９】
ステップＳ６０４における判定がＮＯの場合、ステップＳ６０６にて、設定部１３は、制御点をエネルギー（E =αEint＋βEimg）を小さくする位置に移動させる。ここで、Eintは形状エネルギー項（内部エネルギー項）、Eimgは画像エネルギー項（外部エネルギー項）、α及びβは、各エネルギー項に対する重みである。
【０１１０】
すなわち、設定部１３は、輪郭Ｃが、短く、滑らかで、隣接するパッチの二面角が小さい稜線に沿うような位置になるように制御点を移動させる。
【０１１１】
ステップＳ６０７にて、設定部１３は、全ての制御点を移動させたか否かを判定する（Ｓ６０７）。ステップＳ６０７における判定がＮＯの場合、ステップＳ６０６に遷移する。
【０１１２】
ステップＳ６０７における判定がＹＥＳの場合、ステップＳ６０８にて、設定部１３は、ステップＳ６０６及びステップＳ６０７の処理を予め定められた所定回数繰り返したか否かを判定する（Ｓ６０８）。つまり、エネルギーが小さくなるように制御点Ｃ１〜Ｃｎの全てを移動するというサイクルを所定回数繰り返したか否かを判定する。ステップＳ６０８における判定がＮＯの場合、ステップＳ６０６に遷移する。
【０１１３】
ステップＳ６０８における判定がＹＥＳの場合、ステップＳ６０９にて、設定部１３は、輪郭Ｃで囲まれた領域内に含まれるメッシュ頂点で作られるパッチの領域を変形領域３０２とし（Ｓ６０９）、処理を終了する。
【０１１４】
以上、本実施形態では、対象オブジェクト領域３０１を含み、かつ、他のオブジェクト（図１ではオブジェクト３０４）を含まないように、変形領域３０２を設定することができるため、ユーザによる変形領域３０２の指定を省略することができる。
【０１１５】
以上、上述した実施の形態により、ユーザが原画像を特定しやすいサムネイル画像を生成することができる画像処理装置、方法、及びプログラムを提供することができる。
【０１１６】
これまで、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１１７】
１…画像処理装置
５…提示装置
１１…入力部
１２…検出部
１３…設定部
１４…算出部
１５…変形部
１６…出力部
１５１…区分部
１５２…領域変形部
【図１】
0005620313.tif 000002
【図２】
0005620313.tif 000003
【図３】
0005620313.tif 000004
【図４】
0005620313.tif 000005
【図５】
0005620313.tif 000006
【図６】
0005620313.tif 000007
【図７】
0005620313.tif 000008
【図８】
0005620313.tif 000009
【図９】
0005620313.tif 000010
【図１０】
0005620313.tif 000011
【図１１】
0005620313.tif 000012
【図１２】
0005620313.tif 000013
【図１３】
0005620313.tif 000014
【図１４】
0005620313.tif 000015
【図１５】
0005620313.tif 000016
【図１６】
0005620313.tif 000017