(57)【要約】      （修正有）【課題】ユーザにとって処理が容易になるクロッピング方法及び装置を提供する。【解決手段】各々が少なくとも原画像の一部分に対応する複数のクロップの例を受信する。２つのクロップの例１４５０，１４９０は、少なくとも対象のクロップ領域の特性に基づいて選択される。選択されたクロップの例の間を補間してクロップウィンドウ１４１０を判定し、その判定されたクロップウィンドウを用いて原画像をクロップしてクロップされた画像を生成する。【選択図】図１４
2010160790.tif 000002
【特許請求の範囲】
【請求項１】
対象のクロップ領域に対して原画像からクロップされた画像を生成する、コンピュータにより実行される方法であって、
（ａ）各々が少なくとも前記原画像の一部分に対応する複数のクロップの例を受信するステップと、
（ｂ）少なくとも前記対象のクロップ領域の特性に基づいて２つのクロップの例を選択するステップと、
（ｃ）クロップウィンドウを判定するために、前記選択されたクロップの例の間を補間するステップと、
（ｄ）前記クロップされた画像を生成するために、前記判定されたクロップウィンドウを用いて前記原画像をクロップするステップと、
を有することを特徴とする方法。
【請求項２】
少なくとも１つの選択されたクロップの例が、別の選択されたクロップの例内に入れ子されることを特徴とする請求項１に記載の方法。
【請求項３】
前記選択されたクロップの例は、互いに異なるアスペクト比を有し、前記原画像の共通の部分に対応することを特徴とする請求項１に記載の方法。
【請求項４】
前記２つのクロップの例を選択するステップは、
（ｂａ）前記対象のクロップ領域の少なくとも１つの寸法をそれぞれ上回る寸法を有する第１のクロップの例を選択するサブステップと、
（ｂｂ）前記対象のクロップ領域の少なくとも１つの寸法をそれぞれ下回る寸法を有する第２のクロップの例を選択するサブステップとを有することを特徴とする請求項１に記載の方法。
【請求項５】
前記２つのクロップの例を選択するステップは、
（ｂａ）前記対象のクロップ領域のアスペクト比を上回るアスペクト比を有する第１のクロップの例を選択するサブステップと、
（ｂｂ）前記対象のクロップ領域のアスペクト比を下回るアスペクト比を有する第２のクロップの例を選択するサブステップとを有することを特徴とする請求項１に記載の方法。
【請求項６】
前記クロップウィンドウを判定するステップは、
前記選択されたクロップの例の前記少なくとも１つの横方向の位置及び縦方向の位置のそれぞれを補間することにより、前記対象の領域の少なくとも１つの横方向の位置及び縦方向の位置を判定するサブステップを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記クロップウィンドウを判定するステップは、
前記対象のクロップ領域の前記アスペクト比と実質的に同様のアスペクト比を有するクロップウィンドウを生成するために、前記選択されたクロップの例の間を補間するサブステップを含むことを特徴とする請求項１に記載の方法。
【請求項８】
（ｅ）前記クロップされた画像をコンピュータ可読記憶媒体に格納するステップを更に有することを特徴とする請求項１に記載の方法。
【請求項９】
前記格納するステップは、前記クロップされた画像を文書に配置すること、及び前記文書を前記コンピュータ可読媒体に格納することを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
対象のクロップ領域に対して原画像からクロップされた画像を生成するようにコンピュータ装置により実行可能なコンピュータプログラムを記録したコンピュータ可読記憶媒体であって、前記プログラムは、
各々が少なくとも前記原画像の一部分に対応する複数のクロップの例を受信するコードと、
少なくとも前記対象のクロップ領域の特性に基づいて２つのクロップの例を選択するコードと、
クロップウィンドウを判定するために、前記選択されたクロップの例の間を補間するコードと、
前記クロップされた画像を生成するために、前記判定されたクロップウィンドウを用いて前記原画像をクロップするコードと、
を有することを特徴とするコンピュータ可読記憶媒体。
【請求項１１】
少なくとも１つの選択されたクロップの例が別の選択されたクロップの例内に入れ子にされるか、
前記選択されたクロップの例が、異なるアスペクト比を有し、前記原画像の共通する部分に対応することを特徴とする請求項１０に記載のコンピュータ可読記憶媒体。
【請求項１２】
前記２つのクロップの例を選択するコードは、
前記対象のクロップ領域の少なくとも１つの寸法をそれぞれ上回る寸法を有する第１のクロップの例を選択するコードと、
前記対象のクロップ領域の少なくとも１つの寸法をそれぞれ下回る寸法を有する第２のクロップの例を選択するコードとを有することを特徴とする請求項１０に記載のコンピュータ可読記憶媒体。
【請求項１３】
前記２つのクロップの例を選択するコードは、
前記対象のクロップ領域の前記アスペクト比を上回るアスペクト比を有する第１のクロップの例を選択するコードと、
前記対象のクロップ領域の前記アスペクト比を下回るアスペクト比を有する第２のクロップの例を選択するコードとを含むことを特徴とする請求項１０に記載のコンピュータ可読記憶媒体。
【請求項１４】
前記クロップウィンドウを判定するコードは、
（ｉ）前記選択されたクロップの例の前記少なくとも１つの横方向の位置及び縦方向の位置のそれぞれを補間することにより、前記対象の領域の少なくとも１つの横方向の位置及び縦方向の位置を判定するコードと、
（ｉｉ）前記対象のクロップ領域の前記アスペクト比と実質的に同様のアスペクト比を有するクロップウィンドウを生成するために、前記選択されたクロップの例の間を補間するコードのうちの少なくとも１つを含むことを特徴とする請求項１０に記載のコンピュータ可読記憶媒体。
【請求項１５】
前記クロップされた画像をコンピュータ可読記憶媒体に格納するコードを更に有することを特徴とする請求項１０に記載のコンピュータ可読記憶媒体。
【請求項１６】
前記プログラムが前記クロップされた画像を生成するように前記コンピュータ装置内で実行可能である請求項１０に記載のコンピュータ可読記憶媒体を有するコンピュータ装置。
【請求項１７】
対象のクロップ領域に対して原画像からクロップされた画像を生成するように構成されたコンピュータ装置であって、
各々が少なくとも前記原画像の一部分に対応する複数のクロップの例をメモリから受信する手段と、
少なくとも前記対象のクロップ領域の特性に基づいて２つのクロップの例を選択する手段と、
クロップウィンドウを判定するために、前記選択されたクロップの例の間を補間する手段と、
前記クロップされた画像を生成するために、前記判定されたクロップウィンドウを用いて前記原画像をクロップする手段と、
を有することを特徴とするコンピュータ装置。
【請求項１８】
前記各々の手段が実行され、プロセッサにより、前記クロップされた画像が表示装置上に表示されるか、又は前記メモリに格納される出力手段を更に有することを特徴とする請求項１７に記載のコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアにより実現されるデジタル画像の自動クロッピング方法及び処理に関する。
【背景技術】
【０００２】
デジタル画像は、多くの通信の形態で広く使用される。そのような画像が使用される媒体の例には、ポスター、雑誌、ニュースレター、フォトアルバム、招待状、ウェブページ及びその他多くのものが含まれる。ページ上に表示又は再生されるデジタル画像の位置及びサイズは、ページのレイアウトにより判定される。しかし、デジタル画像は、使用される殆どの状況の知識なしで作成されることが多い。
【０００３】
画像は、画像の元の高さ又は幅と、画像が再生される際に必要な高さ又は幅との差異のために、レイアウトに正確に適合しないことがある。必要な範囲は、任意の高さ、幅及びアスペクト比であってもよい。多くの場合、画像は、レイアウトにより判定される範囲に適合するようにクロップされる必要がある。
【０００４】
多くの場合、同一デジタル画像は種々の状況下で複数回にわたり再使用されるため、それに応じて種々のレイアウトに適合するように種々のサイズにクロップされる必要がある。また、設計者は、レイアウトを設計する過程において、随時レイアウト設計を調整する必要がある。レイアウトが調整されるたびに、画像は、いかなる新しい範囲が指定されても適合するように再クロップされる必要がある。
【０００５】
ユーザは、デジタル画像を手動でクロップするために、コンピュータシステムの入力装置を使用してクロップの位置及びサイズを示す必要がある。同一画像を何度も繰り返し手動でクロップすることは、ユーザにとって時間がかかり、退屈で間違いが起きやすく且つ苛立つ体験である。自動画像クロッピング機能を提供するソフトウェアにより、必要なサイズのクロップウィンドウをデジタル画像中に自動的に位置付けられるようになり、ユーザにとって処理がより容易になる。
【０００６】
ソフトウェアの中には、自動画像クロッピングに対して簡単な手法をとるものもある。簡単な手法の一例には、画像の主な対象は、通常、中央に位置付けられるという仮定に基づいて、クロップされるデジタル画像に対してクロップウィンドウを中央に置くことが含まれる。そのようなソフトウェアは、原画像における主な対象の実際の位置については無知である。クロップウィンドウを単に中央に位置付けることにより、人の顔半分をクロップする等、非常に望ましくないクロップを生成する可能性がある。
【０００７】
より許容できるクロップを生成するために、自動画像クロッピングを行なうソフトウェアシステムは、主な対象の位置及びサイズ等、デジタル画像に取り込まれた対象に関するいくらかの知識を取り入れる必要がある。そのような情報は、ユーザ又はデジタル画像上で自動対象検出を実行するソフトウェアシステムのいずれか一方から得られる。
【０００８】
そのような手法の１つにより、ユーザが指定する特定のアスペクト比のクロップウィンドウが提案される。提案されるクロップウィンドウは、全ての主な対象を含む最小の可能な矩形領域である主な対象領域の中央に位置付けられる。
【発明の概要】
【０００９】
所定の対象のクロップ領域に対して原画像からクロップされた画像を生成する方法が開示される。方法は、各々が少なくとも原画像の一部分に対応する複数のクロップの例を受信する。２つのクロップの例は、少なくとも対象のクロップ領域の特性に基づいて選択される。方法は、選択されたクロップの例の間を補間してクロップウィンドウを判定し、判定されたクロップウィンドウを用いて原画像をクロップしてクロップされた画像を生成する。
【図面の簡単な説明】
【００１０】
次に、以下の図面を参照して、本発明の少なくとも１つの実施形態を説明する。
【図１】説明される構成が実施される汎用コンピュータシステムを示す概略ブロック図。
【図２】デジタル画像及びデジタル画像と関連付けられる複数の文書を示す図。
【図３Ａ】、
【図３Ｂ】２つのデジタル画像及び対応するクロップウィンドウを示す図。
【図４】画像クロッピング処理のストーリーボードを示す図。
【図５】デジタル画像をクロップする方法を概略的に示すフローチャート。
【図６】図５の方法で使用されるような１つ以上のクロップの例を選択する方法を概略的に示すフローチャート。
【図７ａ】、
【図７ｂ】、
【図７ｃ】デジタル画像及び３つの対象のクロップ領域と関連付けられる３組のクロップの例を示す図。
【図８】図５の方法において使用されるような１つ以上のクロップの例を選択する方法を概略的に示すフローチャート。
【図９ａ】、
【図９ｂ】、
【図９ｃ】図９ａは、デジタル画像及び対象のクロップ領域と関連付けられる１組のクロップの例を示す図であり、図９ｂ及び９Ｃは、デジタル画像と関連付けられる更なる２組のクロップの例を示す図。
【図１０】図５の方法で使用されるようなクロップ対の例を補間する方法を概略的に示すフローチャート。
【図１１】図５の方法で使用されるようなクロップ対の例を補間する方法を概略的に示すフローチャート。
【図１２】デジタル画像及び関連するクロップの例を示し、図１０の方法において使用されるような補間処理を例示する図。
【図１３】デジタル画像及び関連するクロップの例を示し、図１０の方法において使用されるような補間処理を更に例示する図。
【図１４】デジタル画像及び関連するクロップの例を示し、図１１の方法において使用されるような補間処理を更に例示する図である。
【発明を実施するための形態】
【００１１】
ハードウェアプラットフォーム
説明される自動画像クロッピング方法及び構成は、図１に示すようなコンピュータシステム１００を使用して実現されてもよい。図２から図１４の処理は、コンピュータシステム１００内で実行可能な１つ以上のアプリケーションプログラム等のソフトウェアとして実現されてもよい。特に、方法のステップは、コンピュータシステム１００内で実行されるソフトウェアの命令により実行される。命令は、各々が１つ以上の特定のタスクを実行する１つ以上のコードモジュールとして形成されてもよい。ソフトウェアは２つの別個の部分に分割されてもよく、第１の部分及び対応するコードモジュールはクロッピング機能を実行し、第２の部分及び対応するコードモジュールは第１の部分とユーザとの間のユーザインタフェースを管理する。例えばソフトウェアは、以下に説明する記憶装置を含むコンピュータ可読記憶媒体に格納されてもよい。ソフトウェアは、コンピュータ可読記憶媒体からコンピュータシステム１００にロードされ、コンピュータシステム１００により実行される。そのようなソフトウェアを有するコンピュータ可読記憶媒体又はそれに記録されたコンピュータプログラムは、コンピュータプログラム製品である。コンピュータシステム１００はコンピュータプログラム製品を使用して、クロッピング画像を容易に処理できる装置であることが好ましい。
【００１２】
図１から分かるように、コンピュータシステム１００は、コンピュータモジュール１０１、キーボード１０２及びマウスポインタ装置１０３等の入力装置、並びにプリンタ１１５、表示装置１１４及びスピーカ１１７を含む出力装置により形成される。外部変復調器（モデム）トランシーバ装置１１６は、接続１２１を介して通信ネットワーク１２０と通信するためにコンピュータモジュール１０１により使用されてもよい。ネットワーク１２０は、インターネット又は専用の広域ネットワーク（ＷＡＮ）等のＷＡＮであってもよい。接続１２１が電話線である場合、モデム１１６は従来の「ダイアルアップ」モデムであってもよい。或いは、接続１２１が大容量の（例えば、ケーブル）接続である場合、モデム１１６は広帯域モデムであってもよい。無線モデムは、ネットワーク１２０への無線接続のために使用されてもよい。
【００１３】
コンピュータモジュール１０１は、通常、少なくとも１つのプロセッサユニット１０５と、例えば半導体ランダムアクセスメモリ（ＲＡＭ）及び読み出し専用メモリ（ＲＯＭ）から形成されるメモリユニット１０６とを含む。このモジュール１０１は、ビデオ表示装置１１４及びスピーカ１１７に接続されるオーディオビデオインタフェース１０７を含むいくつかの入出力（Ｉ／Ｏ）インタフェースと、キーボード１０２及びマウス１０３、並びにオプションとしてジョイスティック（不図示）用のＩ／Ｏインタフェース１１３と、外部モデム１１６及びプリンタ１１５用のインタフェース１０８とを更に含む。いくつかの実施例において、モデム１１６は、コンピュータモジュール１０１内、例えばインタフェース１０８内に組み込まれてもよい。コンピュータモジュール１０１は、ローカルエリアネットワーク（ＬＡＮ）として周知であるローカルネットワークインタフェース１１１を更に有し、それにより、コンピュータシステム１００は接続１２３を介してローカルコンピュータネットワーク１２２に接続される。更に例示されるように、ローカルネットワーク１２２は、接続１２４を介して広域ネットワーク１２０に接続されてもよく、通常、いわゆる「ファイアウォール」装置又は同様の機能性を含む。インタフェース１１１は、イーサネット（登録商標）回路カード、無線Ｂｌｕｅｔｏｏｔｈ（商標）又はＩＥＥＥ８０２．１１無線構成により形成されてもよい。
【００１４】
インタフェース１０８及び１１３は、直列の接続性及び並列の接続性の双方を提供してもよく、前者は、通常、ユニバーサルシリアルバス（ＵＳＢ）規格に従って実現され且つ対応するＵＳＢコネクタ（不図示）を有する。記憶装置１０９が提供され、通常、ハードディスクドライブ（ＨＤＤ）１１０を含む。フロッピー（登録商標）ディスク及び磁気テープ装置（不図示）等の他の装置が更に使用されてもよい。光ディスクドライブ１１２は、通常、データの不揮発性ソースとして動作するように提供される。例えば、光ディスク（例えば、ＣＤ−ＲＯＭ、ＤＶＤ）、ＵＳＢ−ＲＡＭ及びフロッピー（登録商標）ディスク等の携帯メモリ素子は、システム１００への適当なデータのソースとして使用されてもよい。
【００１５】
コンピュータモジュール１０１の構成要素１０５から１１３は、通常、相互接続バス１０４を介して通信し、結果として当業者には周知であるコンピュータシステム１００の動作の従来のモードで通信する。説明する構成が実施されるコンピュータの例には、ＩＢＭ−ＰＣ及び互換機、Sun Sparcstations、アップルマック（商標）又はそれらから進化した同様のコンピュータシステムが含まれる。
【００１６】
通常、上述のアプリケーションプログラムは、ハードディスクドライブ１１０に常駐し、プロセッサ１０５により実行される際に読み出され且つ制御される。そのようなプログラム、並びにネットワーク１２０及び１２２から取り出される任意のデータの中間記憶領域は、半導体メモリ１０６を使用して、場合によってはハードディスクドライブ１１０と協働して達成されてもよい。いくつかの例において、アプリケーションプログラムは、１つ以上のＣＤ−ＲＯＭ上に符号化されてユーザに供給され、対応するドライブ１１２を介して読み出されてもよく、或いはネットワーク１２０又は１２２からユーザにより読み出されてもよい。更にソフトウェアは、他のコンピュータ可読媒体からコンピュータシステム１００にロードされてもよい。コンピュータ可読記憶媒体は、実行及び／又は処理のために命令及び／又はデータをコンピュータシステム１００に提供することに関係する任意の記憶媒体を示す。コンピュータモジュール１０１に内蔵されるか又は外付けされるか否かに関わらず、そのような媒体の例には、フロッピー（登録商標）ディスク、磁気テープ、ＣＤ−ＲＯＭ、ハードディスクドライブ、ＲＯＭ又は集積回路、光磁気ディスク、或いはＰＣＭＣＩＡカード等のコンピュータ可読カードが含まれる。命令及び／又はデータの提供に更に関係してもよいコンピュータ可読送信媒体の例には、別のコンピュータ又はネットワーク化装置へのネットワーク接続に加え、無線又は赤外線送信チャネル、並びに電子メール送信及びウェブサイト上に記録された情報等を含むインターネット又はイントラネットが含まれる。
【００１７】
アプリケーションプログラムの第２の部分及び上述の対応するコードモジュールは、表示装置１１４上にレンダリングされるか又は示される１つ以上のグラフィカルユーザインタフェース（ＧＵＩ）を実現するように実行されてもよい。コンピュータシステム１００及びアプリケーションのユーザは、キーボード１０２及びマウス１０３の操作を介してインタフェースを操作し、ＧＵＩと関連付けられるアプリケーションに制御コマンド及び／又は入力を提供してもよい。
自動画像クロッピング
次に、デジタル画像及びデジタル画像と関連付けられるメタデータを処理して、高さ及び幅のうち少なくとも１つ又はアスペクト比等、ユーザの指定した寸法を有するデジタル画像の適切なクロップを生成することを含む方法が開示される。簡単に言えば、クロッピングは、「クロップウィンドウ」として周知である画像の領域を選択することを含み、その内容は、対象のクロップ領域と呼ばれる割り当てられた領域のページ上に表示されることが望ましい。クロップウィンドウの外側の画像の領域は表示されない。
【００１８】
図２は、種々の文書に対する異なる状況において画像又は画像のクロップが使用される方法のいくつかの仮定の例を示す図である。
【００１９】
図２の中央にある例えばメモリユニット１０６に格納される元のデジタル画像２１０は、プロセッサ１０５により処理され、元のデジタル画像２１０のクロップ２２０を生成する。例示的な文書２３０は、クロップされた画像２２０の使用法を例示する。デジタル画像２１０の異なるクロップ２４０は、異なる例示的な文書２７０において示される。複数の他の例示的な文書２５０，２６０，２８０，２９０が示される。各文書は、異なるサイズのクロップ又は前記デジタル画像２１０のアスペクト比を含む。
【００２０】
図２から分かるように、原画像２１０は２つの主要な対象４６０及び３２０を有し、ユーザは、通常、その一方又はその部分が画像２１０のクロップの焦点となることを要求する。例えば、文書２３０は対象４６０の全体のみを含み、文書２９０は対象４６０及び３２０の各々の一部分を別個に含み、文書２５０は全体の画像のクロップの内の元の位置において対象４６０及び３２０の全体を含む。
【００２１】
クロップされた画像２２０の必要な高さ及び幅の寸法は、文書２３０のレイアウトにより判定される。同様に、クロップされた画像２４０の必要な高さ及び幅の寸法は、文書２７０のレイアウトにより判定される。
【００２２】
画像の適切なクロップを判定することは、重要なタスクである。図３Ａは、デジタル画像２１０の中心に任意に配置される第１のクロップウィンドウ３１０が望ましくない結果をもたらすことを示す図である。クロップされた画像３１０は対象３２０の顔半分を含み、顔の一部がクロップされる。これは、殆どの使用例において望ましくない。一方、図３Ｂに示される第２のクロップウィンドウ３３０は、ウィンドウ３３０が対象３２０の顔全体を含むため、多くの例において許容できるものとして考えられてもよい。
【００２３】
しかし、コンピュータシステム１００がクロップウィンドウをデジタル画像内のどこに配置するかに関して高度に判断するためには、システム１００が画像の合成に関していくらかの知識を有する必要がある。そのような情報を得るためのいくつかの方法がある。一例には、画像中の主な対象の位置に関する情報を提供する自動対象検出システムの使用が含まれる。画像合成情報を得る別の方法は、オペレータ又はシステムのユーザ、或いは原画像２１０を取り込んだ使用者から入力を受信する方法である。設計者は、デジタル画像が上述のＧＵＩ内の表示装置１１４上に表示される場合に、キーボード１０２又はマウス１０３を使用してデジタル画像に印を付けることにより適切なクロップの例を提供できる。ＧＵＩから受信される情報は、コンピュータシステム１００により処理され、自動画像クロッピングを実行する。
【００２４】
以下に説明する構成は、画像合成情報を受信し、ユーザの要求に基づいて対象のクロップウィンドウの位置及びサイズを計算するために使用される１つ又は２つのクロップの例を選択する自動クロッピングシステムのための手段を提供する。
【００２５】
図４は、クロップされた画像がレイアウトに適合するように、次に示す手法がデジタル画像をクロップするためにどのように使用されるかを例示する図である。この例において、対象のクロップ領域４１０は、画像２１０の４つのクロップの例４２０，４３０，４４０及び４５０と共に、画像２１０をクロップするために受信される。クロップの例は、ユーザにより実行されていてもよい。第１のクロップの例４２０は、男の子３２０の顔及びその周囲を含む。第２のクロップの例４３０は、男の子３２０の顔の大部分を含む。第３のクロップの例４４０は、男の子３２０の顔及び女の子である対象４６０全体を含む。第４のクロップの例４５０は、他の３つのクロップの例４２０，４３０及び４４０全てを完全に含む。この情報を受信することにより、本実施形態に係る自動クロッピング処理は、いくつかのクロップの例を選択し、選択されたクロップの例に基づいて計算してクロップウィンドウ４７０を生成する。クロップウィンドウ４７０内の画像領域は、対象の文書のレイアウト４８０と組み合わされて最終的な文書４９０を生成する。
【００２６】
図５は、自動画像クロッピングの処理５００を含む一連のステップを示す図である。処理５００は、通常、本明細書では説明されないコンピュータシステム１００内で実行可能な更なる機能性を有する文書レイアウトのサブモジュール又はパブリシングソフトウェアアプリケーションとして形成される。ステップ５１０において、デジタル画像は、図４の上部に示されるような画像と関連付けられる複数のクロップの例と共に、例えばＨＤＤ１１０からプロセッサ１０５により検索される。各クロップの例は、画像の許容できるクロップを示し、画像そのもの全体を含んでも含まなくてもよい。クロップの例は重なり合ってもよく、原画像において位置を示す値の集合として記憶装置１０９に格納されてもよい。一旦受信されたデジタル画像２１０及び関連付けられるクロップの例４２０から４６０は、処理対象のコンピュータシステム１００のメモリ素子１０６にロードされる。クロップの例は、表示装置１１４、キーボード１０２及びマウスポインタ１０３により示されるＧＵＩを操作する際にユーザにより作成されてもよい。クロップの例は、ＨＤＤ１１０等のメモリから検索されてもよい。
【００２７】
ステップ５２０において、ユーザの要求が受信される。このため、通常、表示装置１１４上に示されるＧＵＩを介してキーボード１０２及びマウス１０３からユーザの入力を検出するプロセッサ１０５が必要となる。ユーザの要求には、対象のクロップ領域の高さ及び幅の寸法、対象のクロップ領域の好適なアスペクト比、許容される最小及び最大アスペクト比、並びに／又は許容される最小倍率及び最大倍率が含まれてもよい。
【００２８】
ステップ５３０において、ステップ５１０において受信されるクロップの例は、プロセッサ１０５により実行されるアプリケーションにより検査及び解析される。１つ以上のクロップの例は、所定の選択基準及びステップ５２０で受信されたユーザの要求を適用することにより選択され、高さ、幅及びアスペクト比等、対象のクロップ領域の少なくとも１つの特性を含む。選択処理の詳細については、図６から図９において説明する。
【００２９】
ステップ５３０に後続するステップ５６０において、プロセッサ１０５は、２つ以上のクロップの例が選択されたかのテストを行う。ステップ５６０において２つ以上のクロップの例が選択されたと判定される場合、プロセッサ１０５は、ステップ５４０において選択されたクロップの例の位置を補間することにより、クロップウィンドウのサイズ及び位置を判定する。補間処理の詳細については、図１０から図１４において説明する。
【００３０】
ステップ５３０において厳密に１つのクロップの例が選択されたことがステップ５６０において判定される場合、選択されたクロップの例はクロップウィンドウとして使用され、ステップ５５０に続く。
【００３１】
更にステップ５５０は、プロセッサ１０５がクロップウィンドウ内に画像を保持し且つクロップウィンドウの外側の画像領域を破棄することにより画像のクロップを生成するステップ５４０に後続する。クロップされた画像は、原画像２１０とは別個に、ＨＤＤ１１０等のメモリに格納されてもよい。また、クロップされた画像は、表示装置１１４上に表示されてもよい。
高さ及び幅による選択
ステップ５３０において、所定の選択基準及びユーザの要求を適用することにより、１つ以上のクロップの例が選択される。図６及び図７は、選択処理の一例５３０Ａ及び選択基準を更に詳細に説明する。
【００３２】
図６において、処理５３０Ａの場合、最初のステップ６１０では、各クロップの例の高さ及び幅の寸法を、対象のクロップ領域の高さ及び幅の寸法とそれぞれ比較する。クロップの例のうちの１つが対象のクロップ領域と同一の高さ及び幅を有することが判明した場合、そのクロップの例が選択される。ステップ６６０においてそのようなテストを行ない、対象のクロップ領域と同一の高さ又は幅を有するクロップの例が無い場合、次にステップ６２０が実行される。
【００３３】
ステップ６２０において、同一の対象の組を含むクロップの入れ子対の例を見つけることを試みる。本実施例における入れ子対は、一方のクロップの例が他方のクロップの例を完全に含む必要があることを意味する。更に、１対のうち一方のクロップの例は、対象のクロップ領域以上の幅及び高さを有する必要があり、他方のクロップの例は、対象のクロップ領域以下の幅及び高さを有する必要がある。
【００３４】
図７ａは、画像２１０においてステップ６２０の基準を満たす入れ子クロップ対の例を示す図である。第１のクロップの例７１０及び第２のクロップの例７２０は、同一の対象の組、特に男の子３２０の顔を含む。第１のクロップの例７１０は、第２のクロップの例７２０を完全に含む。対象のクロップ領域７３０は、第１のクロップの例７１０の高さ及び幅を下回り且つ第２のクロップの例７２０を上回る高さ及び幅を有する。
【００３５】
２対以上のクロップの例がステップ６２０において示された条件を満たす場合、最も大きい重なり合った領域を有する１対が補間のために選択される。別の実施例において、原画像及び関連付けられるクロップの例は、条件を満たすために必要であるため、変倍される。最大倍率及び最小倍率は、ステップ５２０において説明されたユーザの要求の一部として得られる。
【００３６】
ステップ６７０においてステップ６２０の結果をテストし、基準に一致するクロップ対の例がステップ６２０において見つからない場合、次にステップ６３０が実行される。ステップ６３０において、同一の対象の組を含む重なり合ったクロップ対の例を見つけることを試みる。この条件において、対象のクロップ領域の高さは、一方のクロップの例の高さ以下であり且つ他方のクロップの例の高さ以上である。また、対象のクロップ領域の幅は、一方のクロップの例の幅以下であり且つ他方のクロップの例の幅以上である。図７ｂは、上記基準を満たすクロップ対の例を示す。
【００３７】
図７ｂは、画像２１０の重なり合ったクロップ対の例７４０及び７５０を示す図である。第１のクロップの例７４０及び第２のクロップの例７５０は、同一の対象の組、即ち男の子３２０の顔を含む。第１のクロップの例７４０及び第２のクロップの例７５０は重なり合う。しかし、第２のクロップの例７５０は、第１のクロップの例７４０を完全に含まない。対応する対象のクロップ領域７６０は、第１のクロップの例７４０の幅を上回るが、第２のクロップの例７５０の幅を下回る幅を有し、且つ第１のクロップの例７４０の高さを上回るが第２のクロップの例７５０の高さを下回る高さを有する。
【００３８】
２対以上のクロップの例がステップ６３０において示された条件を満たす場合、最も大きい重なり合った領域を有する１対が選択される。別の実施例において、原画像２１０及び関連付けられるクロップの例は、条件を満たすために再び変倍されることが可能である。最大倍率及び最小倍率は、ステップ５２０において説明されたユーザの要求の一部として得られる。
【００３９】
ステップ６３０をテストするステップ６８０において、ステップ６３０の基準に一致するクロップ対の例が見つからない場合、プロセッサ１０５はステップ６４０を実行する。ステップ６４０において、少なくとも１つの共通の対象を含む重なり合ったクロップ対の例を見つけることを試みる。重なり合った対は、入れ子対であっても入れ子対でなくてもよい。更に、対象のクロップ領域の高さは、一方のクロップの例の高さ以下であり且つ他方のクロップの例の高さ以上である。また、対象のクロップ領域の幅は、一方のクロップの例の幅以下であり且つ他方のクロップの例の幅以上である。図７ｃは、上記基準を満たすクロップ対の例を示す。
【００４０】
図７ｃは、画像２１０の重なり合ったクロップ対の例７７０及び７８０を示す図である。第１のクロップの例７７０及び第２のクロップの例７８０は、１つの共通の対象、即ち男の子３２０の顔を含む。しかし、第２のクロップの例７８０が２つの対象、即ち、男の子３２０の顔及び女の子４６０の全体を含む一方、第１のクロップの例７７０は１つの対象、即ち、男の３２０の顔のみを含む。２つのクロップの例７７０及び７８０は互いに重なり合う。対象のクロップ領域７９０は、第１のクロップの例７７０の幅を上回るが、第２のクロップの例７８０の幅を下回る幅を有する。対象のクロップ領域７９０は、第１のクロップの例７７０の高さを下回るが第２のクロップの例７８０の高さを上回る高さを有する。
【００４１】
２対以上のクロップの例がステップ６４０において示された条件を満たす場合、最も大きい重なり合った領域を有する１対が選択される。別の実施例において、原画像２１０及び関連付けられるクロップの例は、条件を満たすために変倍されることが可能である。最大倍率及び最小倍率は、ステップ５２０において説明されたユーザの要求の一部として得られる。
【００４２】
ステップ６４０において基準に一致するクロップ対の例が見つからなかったかどうかがステップ６９０において判定され、見つからなかった場合にはステップ６５０が実行される。
【００４３】
ステップ６５０において、対象のクロップ領域に最も近いか又はほぼ同様の高さ又は幅を有する１つのクロップの例が容易に見つけられる。
【００４４】
各テスト６６０，６７０，６８０及び６９０が満たされる（Ｙｅｓ）場合、ステップ６５０の後、制御は、処理５３０Ａが終了するステップ６９９に移る。従って、処理５３０Ａは、部分的に重なり合った基準の組を確立し、ユーザの要求に従って１つ或いはそれ以上のクロップの例を選択する。要求された場合、基準の順序は、図６に例示されたもの及び上述したものから変更されてもよい。
アスペクト比によるクロップの例の選択
図５のステップ５３０において、所定の選択基準及びユーザの要求を適用することにより、１つ或いはそれ以上のクロップの例が選択される。図８及び図９は、選択処理５３０Ｂの別の例について説明し、高さと幅の比として規定されるアスペクト比が対象のクロップ領域を指定するために使用される。
【００４５】
処理５３０Ｂは、各クロップの例のアスペクト比を対象のクロップ領域のアスペクト比と比較するステップ８１０から開始する。クロップの例のうちの１つが対象のクロップ領域と同一のアスペクト比を有する場合、クロップの例はステップ８６０で選択され、処理５３０Ｂはステップ８９９で終了する。対象のクロップ領域と同一のアスペクト比を有するクロップの例が無いことがステップ８６０において判定される場合、次にステップ８２０が実行される。
【００４６】
ステップ８２０において、同一の対象の組を含むクロップの入れ子対の例を見つけることを試みる。入れ子対は、一方のクロップの例が他方のクロップの例を完全に含む必要があることを意味する。更に、対のうち一方のクロップの例は、対象のクロップ領域を上回るアスペクト比を有する必要があり、他方のクロップの例は、対象のクロップ領域を下回るアスペクト比を有する必要がある。図９ａは、上記基準を満たす入れ子クロップ対の例９１０及び９２０を示す図である。第１のクロップの例９１０及び第２のクロップの例９２０は、同一の対象の組、即ち、男の子３２０の顔を含む。第２のクロップの例９２０は、第１のクロップの例９１０を完全に含む。対象のクロップ領域９３０は、１対１のアスペクト比を有する。第１のクロップの例９１０は、対象のクロップ領域９３０を上回るアスペクト比を有する。第２のクロップの例９２０は、対象のクロップ領域９３０を下回るアスペクト比を有する。
【００４７】
２対以上のクロップの例がステップ８２０において示された条件を満たす場合、最も大きい重なり合った領域を有する１対が選択される。
【００４８】
ステップ８７０はステップ８２０をテストし、基準に一致するクロップ対の例を識別できないことが判定される場合、ステップ８３０が実行される。ステップ８３０において、プロセッサ１０５は、同一の対象の組を含む重なり合ったクロップ対の例を見つけることを試みる。また、対のうち一方のクロップの例は対象のクロップ領域を上回るアスペクト比を有する必要があり、他方のクロップの例は対象のクロップ領域を下回るアスペクト比を有する必要がある。図９ｂは、上記基準を満たす画像２１０のクロップ対の例９４０及び９５０を示す図である。第１のクロップの例９４０及び第２のクロップの例９５０は、同一の対象の組、即ち男の子３２０の顔を含む。２つのクロップの例９４０及び９５０は、互いに重なり合う。しかし、２つのクロップの例９４０及び９５０のどちらも他方を完全に含まない。第１のクロップの例９４０は、対象のクロップ領域９３０を下回るアスペクト比を有する。第２のクロップの例９５０は、対象のクロップ領域９３０を上回るアスペクト比を有する。
【００４９】
２対以上のクロップの例がステップ８３０において示された条件を満たす場合、最も大きい重なり合った領域を有する１対が選択されることが望ましい。
【００５０】
ステップ８８０はステップ８３０をテストし、基準に一致するクロップ対の例を識別できないことが判定される場合、ステップ８４０が実行される。ステップ８４０において、少なくとも１つの共通の対象を含む重なり合ったクロップ対の例を見つけることを試みる。重なり合った対は、入れ子対であっても入れ子対でなくてもよい。また、対のうち一方のクロップの例は、対象のクロップ領域を上回るアスペクト比を有する必要があり、他方のクロップの例は対象のクロップ領域を下回るアスペクト比を有する必要がある。図９ｃは、上記基準を満たす画像２１０のクロップ対の例９７０及び９８０を示す図である。第１のクロップの例９７０及び第２のクロップの例９８０は、１つの共通の対象、即ち男の子３２０の顔を含む。しかし、第２のクロップの例９８０が他方の対象４６０を含む一方、第１のクロップの例９７０は１つの対象３２０のみを含む。２つのクロップの例９７０及び９８０は、互いに重なり合う。第２のクロップの例９８０は、対象のクロップ領域９３０を下回るアスペクト比を有する。第１のクロップの例９７０は、対象のクロップ領域９３０を上回るアスペクト比を有する。
【００５１】
２対以上のクロップの例がステップ８４０において示された条件を満たす場合、最も大きい重なり合った領域を有する１対が選択されることが望ましい。
【００５２】
ステップ８４０において基準に一致するクロップ対の例が見つからなかったことがステップ８９０において判定されると、ステップ８５０が実行される。ステップ８５０において、対象のクロップ領域に最も近いか又はほぼ同様のアスペクト比を有するクロップの例を見つける。
【００５３】
各テスト８６０，８７０，８８０及び８９０が満たされる（Ｙｅｓ）場合、ステップ８５０の後、ステップ８９９に進み、処理５３０Ｂは終了する。従って、処理５３０Ｂは、部分的に重なり合った基準の別の組を確立し、ユーザの要求に従って１つ以上のクロップの例を選択する。要求された場合、基準の順序は、図８に例示されたもの及び上述したものから変更されてもよい。
補間処理
クロップ対の例がステップ５３０において選択されると、ステップ５４０において、選択されたクロップの例の位置を補間することにより、対象のクロップウィンドウの位置を判定する。図１０及び図１１は、補間処理５４０を更に詳細に説明するフローチャートを示す。
【００５４】
図１０は、一実施例に従って２つのクロップの例の間を補間する一連のステップを示し、ユーザの要求により、対象のクロップ領域の高さ及び幅が指定される。
【００５５】
ステップ１０１０において、選択されたクロップの例の横方向の位置を補間することにより、クロップウィンドウの横方向の位置を判定する。クロップウィンドウは、クロップの例の左端に対する左端の位置が右端の相対的な位置と同一であるように配置される。これは、図１２を参照して以下に更に説明される。
【００５６】
ステップ１０２０において、選択されたクロップの例の縦方向の位置を補間することにより、対象のクロップウィンドウの縦方向の位置を判定する。クロップウィンドウは、クロップの例の上端に対する上端の位置が下端の相対的な位置と同一であるように配置される。これは、図１３を参照して以下に更に説明される。
【００５７】
クロップウィンドウの最終的な位置は、ステップ１０１０において判定された横方向の位置及びステップ１０２０において判定された縦方向の位置により形成される。
【００５８】
別の実施例において、図１１に示された補間処理は、クロップウィンドウの位置を判定するだけでなく、クロップウィンドウのサイズも判定する。これは、選択されたクロップの例の角を４つの線分を使用して接続する第１のステップ１１１０により達成される。線分のうちの１つは２つのクロップの例の左上角を接続し、別の線分は右上角を接続し、更に別の線分は左下角を接続し、最後の線分は右下角を接続する。ステップ１１２０において、クロップウィンドウは、その四つの角がステップ１１１０において見つけられた４つの線分上に位置し且つ高さ対幅の比がユーザの指定したアスペクト比と同一であるように位置付けられ且つサイズが調整される。これは、図１４を参照して更に説明される。
高さ及び幅による補間
図１０の処理において、２つの矩形のクロップの例の横方向の位置及び縦方向の位置は、個別に補間される。
【００５９】
図１２は、対象のクロップ領域１２５０が幅Ｅ１２９０を有すると仮定して、画像２１０の第１のクロップの例１２１０及び第２のクロップの例１２２０の横方向の位置を補間する方法の一例を示す図である。幅Ｅ１２９０を有するクロップウィンドウの横方向の位置は、以下の式を満たすように判定される：
（Ｃ／Ａ）＝（Ｄ／Ｂ）
ここで、Ｃ１２７０は、第２のクロップの例１２２０の左端とクロップウィンドウの左端との間の距離である。Ａ１２６０は、クロップの例１２１０及び１２２０の２つの左端間の距離である。Ｄ１２３０は、第２のクロップの例１２２０の右端とクロップウィンドウの右端との間の距離である。そしてＢ１２４０は、クロップの例１２１０及び１２２０の２つの右端間の距離である。
【００６０】
同様に、図１３に示されるように、クロップウィンドウの縦方向の位置は、第１のクロップの例１２１０及び第２のクロップの例１２２０の縦方向の位置を補間することにより判定される。対象のクロップ領域１３６０が高さＬ１３５０を有すると仮定して、同一の高さＬ１３５０を有するクロップウィンドウは、以下の式を満たすように２つのクロップの例１２１０と１２２０との間に位置付けられる：
（Ｇ／Ｈ）＝（Ｊ／Ｋ）
ここで、Ｇ１３２０は、第２のクロップの例１２２０の上端とクロップウィンドウの上端との間の距離である。Ｈ１３１０は、クロップの例１２１０及び１２２０の２つの上端間の距離である。Ｊ１３４０は、第２のクロップの例１２２０の下端とクロップウィンドウの下端との間の距離である。そしてＫ１３３０は、クロップの例１２１０及び１２２０の２つの下端間の距離である。
【００６１】
２つの矩形のクロップの例の横方向の位置及び縦方向の位置を個別に補間して、クロップウィンドウに対する横方向の位置及び縦方向の位置を生成した後、クロップウィンドウの最終的な位置は、横方向の座標及び縦方向の座標を合成したものとして解釈される。
アスペクト比による補間
図１４は、互いに異なるアスペクト比を有する２つのクロップの例の間を補間して、ユーザの指定したアスペクト比を有するクロップウィンドウの位置を判定する方法を示す図である。ユーザの指定した対象の領域がアスペクト比ＡＲを有すると仮定して、画像１４００の２つのクロップの例１４５０及び１４９０は、一方のクロップの例１４５０が対象のアスペクト比ＡＲを下回るアスペクト比を有し、且つ他方のクロップの例１４９０が対象のアスペクト比ＡＲを上回るアスペクト比を有するように選択される。
【００６２】
アスペクト比ＡＲを有するクロップウィンドウ１４１０は、以下となるように変倍され且つ位置付けられる：
・左上の角１４５５が、２つのクロップの例１４５０及び１４９０の左上の角１４４５及び１４６５を接続する線分上に配置される；
・右上の角１４３０が、２つのクロップの例１４５０及び１４９０の右上の角１４４０及び１４２０を接続する線分上に配置される；
・左下の角１４２５が、２つのクロップの例１４５０及び１４９０の左下の角１４３５及び１４１５を接続する線分上に配置される；
・右下の角１４７０が、２つのクロップの例１４５０及び１４９０の右下の角１４６０及び１４８０を接続する線分上に配置される。
【００６３】
上述の変倍及び位置決めにより、アスペクト比ＡＲを有する対象のクロップ領域と実質的に同様のアスペクト比を有する補間されたクロップウィンドウ１４１０が得られる。
【００６４】
図１４の構成から、クロップウィンドウ１４１０のアスペクト比ＡＲは、クロップウィンドウの例１４５０及び１４９０の各々のアスペクト比ＡＲの間である必要があることが理解される。そうでない場合、適切なクロップウィンドウは、所望のアスペクト比ＡＲに最も近いアスペクト比を有するクロップの例に基づいて計算される。別の実施例において、クロップの例からの外挿は、クロップウィンドウの範囲を判定するために使用されてもよい。しかし、外挿を使用する結果、原画像の範囲内に適合しないクロップウィンドウが得られる可能性があるため、更なる変倍が必要になる。
【産業上の利用可能性】
【００６５】
上記構成はコンピュータ及びデータ処理産業に適用可能であり、特に文書レイアウトのための画像の支援又は自動クロッピングに対して適用可能である。
【００６６】
上記では、本発明のいくつかの実施形態についてのみ説明した。実施形態は例示するものであって限定するものではなく、本発明の範囲及び趣旨から逸脱せずに変形及び／又は変更がなされてもよい。
【図１】
2010160790.tif 000003
【図２】
2010160790.tif 000004
【図３Ａ】
2010160790.tif 000005
【図３Ｂ】
2010160790.tif 000006
【図４】
2010160790.tif 000007
【図５】
2010160790.tif 000008
【図６】
2010160790.tif 000009
【図７ａ】
2010160790.tif 000010
【図７ｂ】
2010160790.tif 000011
【図７ｃ】
2010160790.tif 000012
【図８】
2010160790.tif 000013
【図９ａ】
2010160790.tif 000014
【図９ｂ】
2010160790.tif 000015
【図９ｃ】
2010160790.tif 000016
【図１０】
2010160790.tif 000017
【図１１】
2010160790.tif 000018
【図１２】
2010160790.tif 000019
【図１３】
2010160790.tif 000020
【図１４】
2010160790.tif 000021
【外国語明細書】
2010160790.tif 000022
2010160790.tif 000023
2010160790.tif 000024
2010160790.tif 000025
2010160790.tif 000026
2010160790.tif 000027
2010160790.tif 000028
2010160790.tif 000029
2010160790.tif 000030
2010160790.tif 000031
2010160790.tif 000032
2010160790.tif 000033
2010160790.tif 000034
2010160790.tif 000035
2010160790.tif 000036
2010160790.tif 000037
2010160790.tif 000038
2010160790.tif 000039
2010160790.tif 000040
2010160790.tif 000041
2010160790.tif 000042
2010160790.tif 000043
2010160790.tif 000044
2010160790.tif 000045
2010160790.tif 000046
2010160790.tif 000047
2010160790.tif 000048
2010160790.tif 000049
2010160790.tif 000050
2010160790.tif 000051
2010160790.tif 000052
2010160790.tif 000053
2010160790.tif 000054
2010160790.tif 000055
2010160790.tif 000056
2010160790.tif 000057
2010160790.tif 000058
2010160790.tif 000059
2010160790.tif 000060
2010160790.tif 000061
2010160790.tif 000062
2010160790.tif 000063