(57)【要約】【課題】画像データ分離システム及びその方法を提供すること。【解決手段】本発明の方法は、第１の指定モードを用いるユーザによって指定されたデータノードの第１の集合を受け取り、第２の指定モードを用いるユーザによって指定されたデータノードの第２の集合を受け取り、データノードの集合体から分離されるデータノードと、第１の集合のデータノード及び第２の集合のデータノードとの間の類似性基準に基づいて、データノードの集合体から分離されるデータノードを自動的に識別する。また、本発明のシステムは、決定された領域を、決定された領域にある画素と、決定された領域に含まれるべき画素に関連付けられた、１つ又は複数の指定されたシード画素の集合との間の類似性基準に基づいて、画像から自動的に区分化する画像処理モジュールを備えている。【選択図】図１
2006053919.tif 000002
【特許請求の範囲】
【請求項１】
データノードの集合体から該データノードを分離する画像データ分離方法であって、
第１の指定モードを用いるユーザによって指定された１つ又は複数のデータノードの第１の集合を受け取るステップと、
第２の指定モードを用いるユーザによって指定された１つ又は複数のデータノードの第２の集合を受け取るステップと、
前記集合体から分離されたデータノードと、前記第１の集合の１つ又は複数のデータノード及び前記第２の集合の１つ又は複数のデータノードとの間の類似性を特徴づける類似性基準に基づいて、前記分離されたデータノードを自動的に識別するステップと
を有することを特徴とする画像データ分離方法。
【請求項２】
前記データノードの集合体は、デジタル画像を含んでいることを特徴とする請求項１に記載の画像データ分離方法。
【請求項３】
前記デジタル画像を事前区分化して画素のグループにすることをさらに含んでいることを特徴とする請求項２に記載の画像データ分離方法。
【請求項４】
前記分離されたデータノードの周囲に境界を自動的にレンダリングすることをさらに含んでいることを特徴とする請求項２に記載の画像データ分離方法。
【請求項５】
前記分離されたデータノードの周囲にポリゴンを自動的にレンダリングすることをさらに含んでいることを特徴とする請求項４に記載の画像データ分離方法。
【請求項６】
前記ポリゴンは、編集可能であることを特徴とする請求項５に記載の画像データ分離方法。
【請求項７】
前記ポリゴンの個々の頂点が、編集可能であることを特徴とする請求項５に記載の画像データ分離方法。
【請求項８】
前記ポリゴンは、ブラシツールで編集可能であることを特徴とする請求項５に記載の画像データ分離方法。
【請求項９】
前記第１の集合の１つ又は複数のノードは、前景シードを含んでいることを特徴とする請求項２に記載の画像データ分離方法。
【請求項１０】
前記第２の集合の１つ又は複数のノードは、背景シードを含んでいることを特徴とする請求項２に記載の画像データ分離方法。
【請求項１１】
前記自動的に識別する操作は、前記デジタル画像内のエネルギーを特徴づけるエネルギー関数を最小化することを含んでいることを特徴とする請求項２に記載の画像データ分離方法。
【請求項１２】
前記自動的に識別する操作は、グラフカットアルゴリズムを実行することを含んでいることを特徴とする請求項２に記載の画像データ分離方法。
【請求項１３】
前記事前区分化は、分岐点アルゴリズムを実行して前記デジタル画像内の画素を分類することを含んでいることを特徴とする請求項３に記載の画像データ分離方法。
【請求項１４】
前記分離されたデータノードの周囲にトライマップをレンダリングすることをさらに含んでいることを特徴とする請求項５に記載の画像データ分離方法。
【請求項１５】
デジタル画像から前景領域を分離する処理をコンピュータに実行させる、コンピュータで実行可能な命令を格納するコンピュータ読み取り可能な媒体であって、前記処理は、
１つ又は複数の画素と、１つ又は複数の前景シードの集合及び１つ又は複数の背景シードの集合との類似性を特徴づける類似性基準に基づいて、前記デジタル画像にある前記１つ又は複数の画素を区分化するステップを有することを特徴とするコンピュータ読み取り可能な媒体。
【請求項１６】
前記処理は、さらに、
前景マーキングモードを用いて、前記１つ又は複数の前景シードのマーキングを検出するステップと、
背景マーキングモードを用いて、前記１つ又は複数の背景シードのマーキングを検出するステップと
を有することを特徴とする請求項１５に記載のコンピュータ読み取り可能な媒体。
【請求項１７】
前記前景マーキングモードは、前記１つ又は複数の前景シードが選択されている間に入力装置の第１のコントロールを活性化することを含み、前記背景マーキングモードは、前記１つ又は複数の背景シードが選択されている間に前記入力装置の第２のコントロールを活性化することを含んでいることを特徴とする請求項１６に記載のコンピュータ読み取り可能な媒体。
【請求項１８】
前記処理は、さらに、前記選択された１つ又は複数の画素の境界を自動的に定めるステップを有することを特徴とする請求項１５に記載のコンピュータ読み取り可能な媒体。
【請求項１９】
前記処理は、さらに、前記デジタル画像を事前区分化して画素のグループにするステップを有することを特徴とする請求項１５に記載のコンピュータ読み取り可能な媒体。
【請求項２０】
前記処理は、さらに、前記選択された１つ又は複数の画素の周囲に編集可能なポリゴンを生成するステップを有することを特徴とする請求項１８に記載のコンピュータ読み取り可能な媒体。
【請求項２１】
前記ポリゴンは、１つ又は複数の軟拘束を用いて定義されることを特徴とする請求項２０に記載のコンピュータ読み取り可能な媒体。
【請求項２２】
前記ポリゴンは、１つ又は複数の硬拘束を用いて定義されることを特徴とする請求項２０に記載のコンピュータ読み取り可能な媒体。
【請求項２３】
前記編集可能なポリゴンの少なくとも１つの頂点は、ユーザによる調整が可能であることを特徴とする請求項１８に記載のコンピュータ読み取り可能な媒体。
【請求項２４】
前記編集可能なポリゴンは、ポリゴンブラシツールにより編集可能であることを特徴とする請求項１８に記載のコンピュータ読み取り可能な媒体。
【請求項２５】
前記処理は、さらに、前記デジタル画像から前記１つ又は複数の画素を抽出するステップを有することを特徴とする請求項１５に記載のコンピュータ読み取り可能な媒体。
【請求項２６】
前記処理は、さらに、トライマップを生成するステップを有することを特徴とする請求項１８に記載のコンピュータ読み取り可能な媒体。
【請求項２７】
前記事前区分化は、分岐点アルゴリズムを実行することを含んでいることを特徴とする請求項１９に記載のコンピュータ読み取り可能な媒体。
【請求項２８】
前記事前区分化は、さらに、前記デジタル画像をフィルタリングすることを含んでいることを特徴とする請求項２７に記載のコンピュータ読み取り可能な媒体。
【請求項２９】
前記処理はさらに、
前記編集可能なポリゴンの頂点の、ユーザによる調整を検知するステップと、
前記検知に対する応答として、前記事前区分化を再度実行するステップと
を有することを特徴とする請求項２０に記載のコンピュータ読み取り可能な媒体。
【請求項３０】
デジタル画像内の領域を分離するためのユーザインターフェースであって、
ユーザが前景マーキングモードを用いて前景領域の一部にマーキングすることと、ユーザが背景マーキングモードを用いて背景領域の一部にマーキングすることとを可能にし、前記前景領域の周囲に境界を自動的にレンダリングするマーキングウィンドウと、
前記前景領域の周囲に編集可能なポリゴンをレンダリングするポリゴン編集ウィンドウと
を備えていることを特徴とするユーザインターフェース。
【請求項３１】
前記ユーザが、前記デジタル画像から前記前景領域を抽出することを可能にする抽出ウィンドウをさらに備えていることを特徴とする請求項３０に記載のユーザインターフェース。
【請求項３２】
前記ユーザが、前記マーキングウィンドウ、前記ポリゴン編集ウィンドウ、又は前記抽出ウィンドウをそれ以外の任意のウィンドウから選択することを可能にするステップセレクタをさらに備えていることを特徴とする請求項３１に記載のユーザインターフェース。
【請求項３３】
前記ユーザが、前景マークと背景マークとを表示するか非表示にすることを可能にするマーク非表示コントロールをさらに備えていることを特徴とする請求項３０に記載のユーザインターフェース。
【請求項３４】
前記ユーザが、前記編集可能なポリゴンを表示するか非表示にすることを可能にするポリゴン非表示コントロールをさらに備えていることを特徴とする請求項３０に記載のユーザインターフェース。
【請求項３５】
前記ポリゴン編集ウィンドウは、ユーザが単一ストロークを描画して前記編集可能なポリゴンの区分を置き換えることを可能にするポリゴンブラシツールを備えていることを特徴とする請求項３０に記載のユーザインターフェース。
【請求項３６】
決定された領域を、該決定された領域にある画素と、該決定された領域に含まれるべき画素に関連付けられた、１つ又は複数の指定されたシード画素の集合との間の類似性を特徴づける類似性基準に基づいて、画像から自動的に区分化する画像処理モジュールを備えていることを特徴とする画像データ分離システム。
【請求項３７】
前記画像処理モジュールは、前記画像内のエネルギーが最小になるように、前記画像内の各画素を、前記決定された領域にあるものとして、又は前記決定された領域にないものとしてラベル付けすることを特徴とする請求項３６に記載の画像データ分離システム。
【請求項３８】
前記画像処理モジュールは、前記決定された領域の周囲に編集可能なポリゴンを自動的に生成することを特徴とする請求項３６に記載の画像データ分離システム。
【請求項３９】
前記編集可能なポリゴンは、頂点の直接編集モードとポリゴンブラシモードとの少なくとも１つを用いて編集が可能であることを特徴とする請求項３８に記載の画像データ分離システム。
【請求項４０】
前記画像処理モジュールは、分岐点アルゴリズムを用いて前記画像を事前区分化することを特徴とする請求項３６に記載の画像データ分離システム。
【請求項４１】
前記画像処理モジュールはさらに、前記決定された領域に含まれない画素に関連付けられた、１つ又は複数の指定されたシード画素の別の集合に基づいて、前記決定された領域を区分化することを特徴とする請求項３６に記載の画像データ分離システム。
【請求項４２】
前景領域と背景領域とを有するデジタル画像を格納するメモリと、
前記デジタル画像内の各画素と、前記前景領域を指定する前景シード及び前記背景領域を指定する背景シードとの間の類似性を特徴づける類似性基準に基づいて、前記前景領域を前記背景領域から分離する分離手段と
を備えていることを特徴とする画像データ分離システム。
【請求項４３】
前記分離手段は、前記前景領域の周囲にポリゴンをレンダリングするよう動作するレンダリングモジュールを備え、前記ポリゴンは、１つ又は複数の軟拘束を用いて定義されることを特徴とする請求項４２に記載の画像データ分離システム。
【請求項４４】
前記分離手段は、前記前景領域の周囲にポリゴンをレンダリングするよう動作するレンダリングモジュールを備え、前記ポリゴンは、１つ又は複数の硬拘束を用いて定義されることを特徴とする請求項４２に記載の画像データ分離システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理技術に関し、より詳細には、画像データ分離システム及びその方法に関する。
【背景技術】
【０００２】
画像処理の分野では、ユーザが、画像の特定部分をその画像全体から分離しなければならないことがよくある。そうしたユーザは、一般に、どの部分を分離すべきかの視覚的センスを有するが、その情報をコンピュータベースの画像処理ツールに伝えることがまったく苦手である場合がある。画像から特定の画像データを分離する作業は、非常に時間がかかり、かつ、退屈である場合があり、画像や分離する部分が複雑である場合は特にそうである。
【０００３】
「画像切り取り（ｉｍａｇｅ  ｃｕｔｏｕｔ）」は、画像内の物体をその背景から抽出する手法である。切り取られたものを別の背景と合成して、新しいシーン（ｓｃｅｎｅ）を作成することが可能である。また、デジタル画像処理の登場により、前景と背景とを個々の画素レベルで指定することが可能になった。画像切り取りの作業では、画像のどの部分が「前景（ｆｏｒｅｇｒｏｕｎｄ）」（ユーザが切り取りたい部分）であって、どの部分が背景（ｂａｃｋｇｒｏｕｎｄ）であるかを指定する（ｓｐｅｃｉｆｙ）ことが必要である。従来のいくつかの方法では、ユーザは、前景の各画素を個別に指定しなければならない。このような画素精度の退屈な作業のおかげで、画像切り取りは、ユーザにとって特にいらいらする仕事になる可能性がある。
【０００４】
それらとは別の２つの方法が発展してきた。それは境界ベース（ｂｏｕｎｄａｒｙ−ｂａｓｅ）方法と領域ベース（ｒｅｇｉｏｎ−ｂａｓｅ）方法である。これらの方法はいずれも、コンピュータが検出可能な画像の特徴を取得し、それらを用いて前景指定処理の自動化又は誘導を支援する。境界ベース方法は、ユーザが前景を展開曲線（ｅｖｏｌｖｉｎｇ  ｃｕｒｖｅ）で囲むことを可能にして前景を切り取る方法である。ユーザが前景の境界をなぞると、システムがその曲線を区分的に最適化する。境界ベース方法の例として、Ｉｎｔｅｌｌｉｇｅｎｔ  Ｓｃｉｓｓｏｒ、Ｉｍａｇｅ  Ｓｎａｐｐｉｎｇ、Ｊｅｔｓｔｒｅａｍなどがある。
【０００５】
この境界ベース方法は、画素の個別選択より簡単であるが、やはりユーザに多大な注意力を求める。たとえば、それらのアルゴリズムによって用いられる特徴と前景画像とが完全に一致することはほとんどない。したがって、ユーザは、その曲線を注意深く制御しなければならない。間違ってしまったら、その曲線を「後退」させて、再度試みなければならない。ユーザはさらに、境界全体を閉じることを求められる。これは、物体が複雑で高解像度の場合には、ある程度の時間を要する可能性がある。目を離さず制御することが必要であり、そのために、ユーザは、全体的な進行状況を把握しにくくなる。境界線を画素精度でドラッグしながら画像をズームインしたりズームアウトしたりするのは困難である。最後に、境界が指定されてしまうと、ほとんどのツールは役に立たなくなる。エラーがあれば、最後に従来の選択ツールを用いてクリーンアップしなければならない。
【０００６】
一方、領域ベース方法は、画素精度の境界線を必要としないが、精度が低くなる傾向がある。従来の領域ベース方法は、前景又は背景に含まれるべき画素から共通の特徴（ＲＧＢカラーなど）を有する画素をユーザが選択することを可能にする。それに対して、基礎となるアルゴリズムが、選択された画素と共通の特徴を有する周囲画素をユーザ指定の許容度の範囲で外挿する。このような領域ベース方法の１つの問題は、領域検出アルゴリズムで用いられる特徴が所望の前景又は背景の要素と一致しない場合がよくあることである。多くの場合、集合写真から単一の個人を除去する場合のように、前景と背景とを見分けられる具体的な特徴は、ユーザの支援なしでは存在しない。
【０００７】
また、従来の領域ベース方法では、ある程度の特徴の違いが存在しても、影や低コントラストのエッジのような曖昧な領域では常に精度を調整しなければならない場合が多い。コントラストのそのような精度調整は、きわめて退屈な作業である可能性がある。実際には、ユーザは、満足な結果を得るために、従来の境界ツールと領域ツールと手動選択とを組み合わせて用いなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、システムが、データのすべてのユニット（ｕｎｉｔ；最小構成単位）を指定することをユーザに求めずに、精度を犠牲にすることなく、分離するデータをユーザが指定できるようにする必要がある。
【０００９】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、画像の分離する領域を、その領域内の画素に対応する類似性基準に基づいて自動的に識別するようにした画像データ分離システム及びその方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の画像データ分離システムは、決定された領域を、決定された領域にある画素と、決定された領域に含まれるべき画素に関連付けられた、１つ又は複数の指定されたシード画素（ｓｅｅｄ  ｐｉｘｅｌｓ）の集合との間の類似性を特徴づける類似性基準に基づいて、画像から自動的に区分化する画像処理モジュールを備えている。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の実施形態について説明する。  
＜例示的システム＞
例示的システムは、１つ又は複数のデータのユニット（データノード（ｄａｔａ  ｎｏｄｅ）という）をデータノードの集合体（ｃｏｌｌｅｃｔｉｏｎ）から分離するデータ分離モジュールを備えている。本明細書に記載の実施形態では、データノードは、デジタル画像における画素（ｐｉｘｅｌ）を意味している。説明のために、本明細書で図示及び記載する実施態様は、デジタル画像の前景領域（ｆｏｒｅｇｒｏｕｎｄ  ｒｅｇｉｏｎ）にある画素をその画像の背景領域（ｂａｃｋｇｒｏｕｎｄ  ｒｅｇｉｏｎ）から分離することを含んでいる。
【００１２】
図１は、デジタル画像において前景領域を背景領域から分離することを含むデータ分離処理のステップの例示的シーケンスを示す図で、デジタル画像１０２において前景領域を背景領域から分離する例示的な３つのステップ処理１００を示している。これらの３つのステップは、マーキングステップ１０４と、ポリゴン変換／境界編集ステップ１０６と、抽出ステップ１０８とを有している。この３つのステップ処理１００は、最初に大まかな領域を粗めに指定する処理と、その後に、指定された領域が細かく区切られる粗から密への処理とがある。例示的処理１００を示すために、前景領域１１０は犬を含んでいる。この前景領域１１０が背景領域１１２から分離される。
【００１３】
マーキングステップ１０４では、前景領域１１０と背景領域１１２とがユーザによって指定される。ユーザは、前景指定モード（ｆｏｒｅｇｒｏｕｎｄ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｍｏｄｅ）で、前景領域１１０の任意の数の画素をマーキングする。同様にユーザは、背景指定モード（ｂａｃｋｇｒｏｕｎｄ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｍｏｄｅ）で、背景領域１１２の任意の数の画素をマーキングする。
【００１４】
本実施形態において、前景指定モードでは、前景領域内の画素をポイントしている間の入力装置の１つのコントロール（マウスの左ボタンなど）をユーザが活性化（ａｃｔｉｖａｔｉｏｎ；実行）することを含み、背景指定モードでは、背景内の画素をポイントしている間の入力装置の別のコントロール（マウスの右ボタンなど）をユーザが活性化することを含んでいる。この実施形態では、前景領域１１０が前景インジケータ（ｆｏｒｅｇｒｏｕｎｄ  ｉｎｄｉｃａｔｏｒ）１１４によって第１の色（たとえば、黄色の線）でマーキングされ、背景領域１１２が背景インジケータ（ｂａｃｋｇｒｏｕｎｄ  ｉｎｄｉｃａｔｏｒ）１１６によって別の色（たとえば、青色の線）でマーキングされる。このマーキングステップ１０２については、後で例示的ユーザインターフェースに関してさらに詳細に説明する。
【００１５】
前景領域１１０と背景領域１１２とが指定された後、前景領域１１０が自動的に境界マーカで囲まれる。
【００１６】
図２は、マーキングステップ及びポリゴン編集ステップにおけるデジタル画像の一部の例示的拡大図で、拡大画像２００の中の例示的境界マーカ２０２を詳細に示した図である。図２に示すように、例示的境界マーカ２０２は、「蟻の行進」、すなわち、動いている白黒の破線で構成される。
【００１７】
図１に示すポリゴン変換及び境界編集ステップ１０６は、前景領域１１０を、複数の頂点及び線を含むポリゴンに自動的に変換し、ユーザがそのポリゴンを編集できるようにする。本実施形態では、ユーザは、ポリゴンの頂点（ｐｏｌｙｇｏｎ  ｖｅｒｔｉｃｅ）をクリックアンドドラッグして境界マーカ２０２を調整することにより、境界を編集できる。他の実施形態では、ユーザは、ポリゴンブラシ（後述する）を用いてポリゴンの線を簡単に調整できる。図２は、ポリゴン線２０８交点にポリゴン頂点２０６がある他の拡大画像２０４も示している。
【００１８】
ポリゴン変換及び境界編集ステップ１０６の後、抽出ステップ１０８において、前景領域１１０が背景領域１１２から分離される。抽出された前景領域１１０は、背景が異なる他の画像に挿入されることが可能となる。
【００１９】
図３は、類似性解析に基づいて前景シード及び背景シードが指定され、区分化境界が位置決めされる例示的画像データ分離方式を示す図で、デジタル画像において他のノードから分離されるノードを含むノードの例示的グラフ３００を示している。この実施形態では、ノードは画素である。グラフ３００は、画像内の領域をマーキング及び分離しやすくするグラフカット（ｇｒａｐｈ  ｃｕｔ）方式を示すために用いる。グラフ３００には、前景領域と背景領域とを指定するために、それぞれ前景マーカ３０２と背景マーカ３０４とが配置されている。
【００２０】
ユーザが画像をマーキングすると、それらのマークと交わる画素が、どのマークと交わっているかに応じて集合（ｓｅｔ）Ｆ又は集合Ｂに割り当てられる。集合Ｆは、前景マーカ３０２と交わる画素（前景シード（ｆｏｒｅｇｒｏｕｎｄ  ｓｅｅｄ）３０６という）を含んでいる。集合Ｂは、背景マーカ３０４と交わる画素（背景シード（ｂａｃｋｇｒｏｕｎｄ  ｓｅｅｄ）３０８という）を含んでいる。第３の、不定ノード３１０の集合Ｕは、マーキングされていない画素を含むものと定義される。
【００２１】
マーキングされていない画素は、集合Ｆ及び集合Ｂにある画素との類似性に基づいて前景領域又は背景領域に割り当てられる。類似性が決定された後、前景の画素と背景の画素との間に区分化境界３１２がレンダリング（ｒｅｎｄｅｒ）される。
【００２２】
本実施形態では、類似性はエネルギー関数で計量される。グラフカットアルゴリズムは、区分化境界を配置するためにエネルギー関数を最小化する。グラフ３００は、ステートメントＧ＝（Ｎ，Ａ）で特徴づけることができる。ただし、Ｎはすべてのノードの集合であり、Ａは、隣接するノード同士を接続するすべての円弧の集合である。この円弧は、近傍画素間の、複数の（たとえば、４つ又は８つの）接続による隣接関係である。各ノードには、一意のラベルｘi（ｉ∈Ｎ）が割り当てられる。ただし、ｘi∈｛ｆｏｒｅｇｒｏｕｎｄ（＝１），ｂａｃｋｇｒｏｕｎｄ（＝０）｝である。解Ｘ＝｛ｘi｝は、ＧｉｂｂｓエネルギーＥ（Ｘ）関数
【００２３】
【数１】
2006053919.tif 000003
【００２４】
を最小化することによって得られる。ただし、Ｅ1（ｘi）は尤度（ｌｉｋｅｌｉｈｏｏｄ）エネルギーと呼ばれ、Ｅ2（ｘi，ｘj）は優先エネルギー（ｐｒｉｏｒ  ｅｎｅｒｇｙ）と呼ばれ、λは２つの項の作用を均衡させるパラメータである。
【００２５】
Ｅ１（ｘi）は、ラベルｘiを有するノードｉに関連付けられたコストを表す。Ｅ2（ｘi，ｘj）は、隣接するノードｉ及びｊのラベルがそれぞれｘi及びｘjの場合のコストを表す。エネルギー項Ｅ1及びＥ2は、ユーザ入力に基づいて決定される。式（１）においてＥ（Ｘ）を最小化する方法は、当業者には周知である。Ｅ（Ｘ）を最小化する方法の一例は、最大フローアルゴリズムである。
【００２６】
式（１）では、Ｅ1がノードの色の類似性をエンコードし、Ｅ1が前景又は背景へのノードの割り当てに用いられる。Ｅ１を計算するために、集合Ｆ及び集合Ｂにある色がＫ−ｍｅａｎｓ法によって最初にクラスタ化される。この方法では、前景クラスタ及び背景クラスタの中間の色がそれぞれ
【００２７】
【数２】
2006053919.tif 000004
【００２８】
及び
【００２９】
【数３】
2006053919.tif 000005
【００３０】
として表される。
【００３１】
Ｋ−ｍｅａｎｓ法は、６４個のクラスタを有するように初期化される。次に、各ノードｉについて、ノードの色Ｃ（ｉ）から前景クラスタ及び背景クラスタまでの最短距離が計算される。前景クラスタ及び背景クラスタまでの最短距離は、それぞれ式（２ａ）及び（２ｂ）で計算される。
【００３２】
【数４】
2006053919.tif 000006
【００３３】
【数５】
2006053919.tif 000007
【００３４】
したがって、Ｅ1（ｘi）は以下のように定義できる。
【００３５】
【数６】
2006053919.tif 000008
【００３６】
式（３）では、Ｕ＝Ｎ｜｛Ｆ∪Ｂ｝が図３の不定領域を表す。式（１）及び（２）は、集合Ｆ又は集合Ｂのノードがユーザ入力と矛盾しないラベルを必ず有するようにする。式（３）の結果として、前景集合Ｆと類似する色を有するノードは前景に割り当てられ、背景集合Ｂと類似する色を有するノードは背景に割り当てられる。
【００３７】
エネルギー値Ｅ2は、前景領域を囲む境界に沿う勾配に起因するエネルギーを表す。エネルギーＥ2は、２つのノードｉ及びｊの間の色勾配の関数
Ｅ2（ｘi，ｘj）＝｜ｘi−ｘj｜ｇ（Ｃij）    ・・・（４）
として定義できる。ただし、
【００３８】
【数７】
2006053919.tif 000009
【００３９】
であり、Ｃij＝｜｜Ｃ（ｉ）−Ｃ（ｊ）｜｜2は、２つの画素ｉ及びｊの赤−緑−青（ＲＧＢ）色差のＬ２ノルムである。
【００４０】
値｜ｘi−ｘj｜は、前景領域と背景領域との間の区分化境界に沿う分だけの勾配情報を含んでいる。したがって、Ｅ2は、隣接するノードに異なるラベル（すなわち、前景と背景）が割り当てられた場合のペナルティ項と見ることができる。隣接する２つのノードの間の類似性が高いほどＥ2は大きくなり、したがって、より似ていないノードｉ及びｊが、前景と背景との間に沿って位置する。
【００４１】
エンハンストグラフカットアルゴリズムは、区分化処理の前に画素が分類されて領域化される事前区分化（ｐｒｅ−ｓｅｇｍｅｎｔｉｎｇ）ステップを含んでいる。この実施形態では、ノードは、個々の画素ではなく、画素のグループ又は領域である。分岐点アルゴリズムは、画素の各グループ内の小さな差を保持しながら画素のグループの境界を見つけるために用いることができる。そのような実施形態を図４に示す。エンハンストグラフカットアルゴリズムは、処理しなければならないノードがより少なく、前述の画素単位の方法より素早く完了することが可能である。したがって、エンハンストグラフカットアルゴリズムは、区分化の結果を即座にフィードバックできる。
【００４２】
図４は、画素のグループが、類似性解析で用いられる領域に事前区分化される例示的画像データ分離方式を示す図で、画素の他のグラフ４００を示している。画素は、破線で示されたグループ４０２内にある。画素をどのように分類するかは、事前区分化処理の間に決定される。グラフ４００は、ステートメントＧ＝（Ｎ，Ａ）で表すことができる。この場合、ノードＮは、すべての画素グループ４０２の集合であり、エッジＡは、隣接する画素グループ４０２を接続するすべての円弧の集合である。
【００４３】
この実施形態では、集合Ｆは、やはり、前景シード（図示せず）を含むように定義されるが、図３に示した実施形態と異なり、前景シードは、マーキングされている画素のグループ４０２である。同様に、背景シード（図示せず）の集合Ｂは、マーキングされた画素グループ４０２の集合を含んでいる。不定領域Ｕは、マーキングされていないグループ４０２を含んでいる。
【００４４】
グループ４０２の中の類似性は、前述の式（１）などのエネルギー関数を用いて決定することが可能である。尤度エネルギーＥ1も式（３）と同様であるが、この場合、色Ｃ（ｉ）は、画素グループｉの中間の色として計算される。説明のために、各グループ４０２の中間の色を、塗りつぶし円４０４で表わしている。
【００４５】
式（４）を用いて優先エネルギーＥ2を計算するために、第１の実施形態がＣijを、２つの画素グループｉとｊとの間の中間色差として定義する。他の実施形態では、Ｃijは同様に定義されるが、画素グループｉとｊとの間の共有境界の長さによってさらに重み付けされる。
【００４６】
各グループ４０２は、画素グループ４０２に対するエネルギー最小化に基づいて、前景グループ又は背景グループとラベル付けされる。区分化境界４０６は、隣接する前景グループ４０２と背景グループ４０２との間にレンダリングされる。
【００４７】
図４の実施形態に示されるような、事前区分化（たとえば、分岐点区分化）による近似を行うことで、妥当な結果が得られ、図３に示された単一画素の区分化方法に比べて区分化にかかる時間が大幅に短縮される。さらに、分岐点アルゴリズムを適用する前に画像をダウンサンプリング又はフィルタリングすることにより、ノードの数を低減できる。たとえば、ダウンサンプリングによって、画像サイズを１Ｋｂ×１Ｋｂまで減らすことができる。他の例として、Ｇａｕｓｓｉａｎフィルタを用いて画像をフィルタリングできる。
【００４８】
図３又は図４に示した実施形態を用いると、区分化境界が決定された後に、前景領域を追跡する編集可能なポリゴンが自動的に生成される。
【００４９】
図５は、指定された前景シードと背景シードとの間の例示的編集可能ポリゴンを示す図で、前景シード５０４の集合（集合Ｆとラベル付けされている）と背景シード５０６の集合（集合Ｂとラベル付けされている）との間に編集可能なポリゴン５０２を含む例示的グラフ５００を示している。編集可能なポリゴン５０２は、ポリゴン線５１０をつなぐ頂点５０８をいくつか含んでいる。
【００５０】
また、図５は、不定領域にある画素の集合も示している。不定画素の集合は、集合Ｕとラベル付けされている。集合Ｕは、ポリゴン５０２を広げることによって決定される。集合Ｆ及び集合Ｂは、集合Ｕのそれぞれ内部境界及び外部境界として定義される。
【００５１】
ポリゴン５０２は、繰り返しによって構築される。最初に構築されるポリゴンは頂点を１つだけ有し、この頂点が区分化境界上で最大の曲率を有する点になる。区分化境界の周囲でステップを進め、区分化境界上の各点から前のステップのポリゴンまでの距離が計算される。最も遠い点が挿入されて新しいポリゴンが生成される。最大距離が、あらかじめ定義されたしきい値（たとえば、３２画素）を下回ったところで繰り返しが終了される。
【００５２】
ポリゴン５０２が構築された後、各頂点５０８をユーザが調整できる。たとえば、ユーザは、頂点５０８を「クリックアンドドラッグ」して、その頂点を別の位置まで移動することができる。ポリゴンの編集中にユーザがマウスボタンを離すと、システムがグラフカット区分化アルゴリズムを再度実行して区分化境界を最適化する。最適化された境界は、ポリゴン頂点５０８がその境界上にない場合でも、前景の周囲で自動的にスナップされる。
【００５３】
ポリゴンの編集中は、そのポリゴンが硬拘束（ｈａｒｄ  ｃｏｎｓｔｒａｉｎｔｓ）を強制されない。しかしながら、区分化アルゴリズムは、最適化された境界を得るために、ポリゴンの位置を軟拘束（ｓｏｆｔ  ｃｏｎｓｔｒａｉｎｔ）として用いながら、Ｅ（Ｘ）を再度最適化する。尤度エネルギーＥ1は、前述の色（３）のように定義される。しかしながら、ポリゴンの編集中にＥ（Ｘ）が再コンパイルされた場合は、優先エネルギーＥ2が、それと異なって、式（５）に示すように定義される。
【００５４】
【数８】
2006053919.tif 000010
【００５５】
式（５）に示すように、勾配項（Ｃij）に加えて、Ｅ2は、曖昧かつ低コントラストの勾配境界を扱うために、軟拘束としてのポリゴン位置の関数である。式（５）では、
【００５６】
【数９】
2006053919.tif 000011
【００５７】
であり、Ｄijは、円弧の中心（ｉ，ｊ）からポリゴンまでの距離であり、ηは、２つの項の単位をそろえるための倍率である（標準値は１０）。
【００５８】
式（５）では、β∈［０，１］は、Ｄ（ｉ，ｊ）の作用を制御するために用いられる。βの標準値は０．５であるが、この値を調整してパフォーマンスを上げることも可能である。β＝１とすると、グラフカット区分化の結果が、画像の勾配に関係なくポリゴンにスナップされることに注意されたい。色勾配Ｃijが小さければ、Ｅ2は
【００５９】
【数１０】
2006053919.tif 000012
【００６０】
が支配的になり、結果がポリゴン位置の近くにスナップされやすくなる。ポリゴンを軟拘束すると、区分化境界は、より正確に、低コントラストのエッジにスナップされる。さらに、従来の領域ベースのツールと異なり、ポリゴンを軟拘束すると、前景のエッジが曖昧か、低コントラストか、それ以外で不明確であっても、区分化が正確に行われる。
【００６１】
後述するユーザインターフェースを用いると、ユーザは、ポリゴンの頂点が「硬」拘束であると手動で指定して、グラフカット区分化の結果が確実にこの頂点を通るようにできる。指定された硬拘束の頂点に対しては、不定領域Ｕは自動的に、その二等分線に沿って２つの部分に分割される。この２つの「分割された」線は、それぞれ、前景シードＦ５０４と背景シードＢ５０６とに加えられ、それによって、グラフカット区分化の結果がその頂点を通る。これは、その頂点が、指定された位置における前景と背景との間の唯一の接続点だからである。
【００６２】
＜例示的ユーザインターフェース＞
例示的ユーザインターフェースは、ユーザが、前述したマーキングと、ポリゴン編集と、抽出の各ステップを進めることを可能にする。
【００６３】
図６乃至図８は、そのような例示的ユーザインターフェースの、処理の各ステップにおけるスクリーンショットを示す図である。
【００６４】
図６は、画像内で前景領域と背景領域とを指定できるユーザインターフェースの例示的スクリーンショットを示す図で、ユーザインターフェース６００の、マーキングステップにおけるスクリーンショットを示している。最初に、画像６０２が、処理のためにロードされる。ユーザ対話に先立って、事前処理アルゴリズムが、事前区分化に関して既に説明したように、画像６０２を事前区分化できる。しかしながら、事前区分化は省略可能であり、必須のステップではない。
【００６５】
選択可能なステップセレクタ６０４が、処理の各ステップに関連付けられた３つの数字（たとえば、１、２、３）を含んでいる。ユーザがステップセレクタ６０４のいずれかの番号を選択すると、ユーザインターフェース６００が、選択されたステップに対応する画面に進む。この図６では、ステップ１がマーキングステップに対応し、ステップ２が（図７に示した）ポリゴン編集ステップに対応し、ステップ３が（図８に示した）抽出ステップに対応している。ユーザは、ステップセレクタ６０４を用いて任意のステップから他の任意のステップに移動できる。
【００６６】
図６に示すマーキングステップでは、ユーザは、前景マーキングモードを用いて、前景領域６０８上に１つ又は複数のマーク６０６を作成できる。本実施形態では、ユーザは、前景領域６０８の所望の部分の上で、マウスをドラッグしながら左マウスボタンをクリックできる。他の実施形態では、ユーザは、タッチスクリーン及び／又はペンコンピューティング装置（スタイラスなど）でマーク６０６を作成できる。
【００６７】
前景マーク６０６は、前景色（たとえば、黄色）で示される。前景マーク６０６は、前景領域６０８を完全に塗りつぶしたり、完全に囲んだりしなくてもよい。ユーザは、前景マーク６０６を作成することによって、画像のどの部分が前景領域６０８と類似しているかを粗く指定する。
【００６８】
ユーザはさらに、背景マーキングモードを用いて、背景領域６１２上に１つ又は複数のマーク６１０を作成する。本実施形態では、ユーザは、背景領域６１２の所望の部分の上で、マウスをドラッグしながら右マウスボタンをクリックできる。他の実施形態では、ユーザは、タッチスクリーン及び／又はペンコンピューティング装置（スタイラスなど）でマーク６１０を作成できる。
【００６９】
背景マーク６１０は、背景色（たとえば、青色）で示される。背景マーク６１０は、背景領域６１２を完全に塗りつぶしたり、前景領域６０８を完全に囲んだりしなくてもよい。さらに、背景マーク６１０を前景領域６０８の境界から比較的離すことができる。ユーザは、画像６０２のどの部分が背景領域６１２と類似しているかを粗く指定するだけである。
【００７０】
ユーザが前景マーク６０６又は背景マークを描画した後にマウスボタンを離すと、グラフカットアルゴリズムがトリガされる。結果として得られる区分化境界６１４は、前景領域６０８の周囲にレンダリングされる。次に、ユーザは、画面上の区分化境界６１４を検査して、さらにマークを描画する必要があるかどうかを決定する。区分化境界６１４は、ユーザが結果をすぐに見て、必要であればマークを追加することができるように、ほぼ瞬時に生成される。
【００７１】
ユーザは、マークを追加することに加えて、作成済みの任意のマークを、取り消しボタン６１６又は削除ボタン６１８を用いて取り消すか、作成し直すことができる。ツールボタン６２０は、ユーザが構成パラメータを調整することを可能にする。例示的構成パラメータは、３つのステップにそれぞれ対応する３つのグループに編成される。マーキングステップの場合、例示的構成パラメータは速度係数である。速度係数は、事前区分化ステップで事前区分化が可能な最大画像サイズを制御する。入力画像が所与のサイズより大きい場合（たとえば、速度係数の１００倍）は、要件を満たすように画像がサイズ変更される。
【００７２】
図７に示すポリゴン編集ステップの場合、例示的パラメータは、最大誤差、拡大尺度、浸食（ｅｒｏｓｉｏｎ）尺度の３つである。最大誤差パラメータは、境界からポリゴンへの変換の誤差を制御する。拡大尺度パラメータ及び浸食尺度パラメータは、グラフカット区分化アルゴリズムのバンド幅を制御する。
【００７３】
図８に示す抽出ステップの場合、例示的パラメータは、分散（ｖａｒｉａｎｃｅ）、浸食尺度、拡大尺度、及びアルファ優先イネーブル（ｅｎａｂｌｅ  ａｌｐｈａ  ｐｒｉｏｒ）の４つである。分散パラメータは、Ｂａｙｅｓｉａｎ  Ｍａｔｔｉｎｇアルゴリズムのノイズに対する感受性を制御する。浸食尺度パラメータ及び拡大尺度パラメータは、境界の周囲の画素のバンドをマッティング抽出のために制御するために用いられる。アルファ優先イネーブルが有効であれば、Ｂａｙｅｓｉａｎ  Ｍａｔｔｉｎｇアルゴリズムの前に、分散アルファを用いて、フェザリングアルファ（ｆｅａｔｈｅｒｉｎｇ  ａｌｐｈａ）の作用が制御される。
【００７４】
アルファチャネルボタン６２２（「Ａ」とラベル付けされている）を用いると、画像をＲＧＢではなくアルファチャネルフォーマットで表示できる。アルファチャネル乗数ボタン６２４（「Ｏ」とラベル付けされている）を用いると、前景にアルファチャネルを乗じた画像を表示できる。画像ボタン６２６（「Ｉ」とラベル付けされている）を用いると、アルファチャネル調整をまったく行わないオリジナルのカラー画像が表示される。
【００７５】
トライマップ（ｔｒｉｍａｐ）ボタン（「Ｔ」で表示）６２８をトグルすると、後で詳述するトライマップインジケータを非表示にしたり表示したりできる。境界ボタン（「Ｂ」で表示）６３０をトグルすると、区分化境界６１４を非表示にしたり表示したりできる。ポリゴンボタン（「Ｐ」で表示）６３２をトグルすると、編集可能なポリゴンを非表示にしたり表示したりできる。マーカボタン（「Ｍ」で表示）６３４をトグルすると、前景マーク６０６及び背景マーク６１０を非表示にしたり表示したりできる。「ｏｎ／ｏｆｆ」ボタン６３６は、トライマップインジケータ、区分化境界６１４、ポリゴン、前景マーカ、及び背景マーカを非表示にしたり表示したりするために用いられる。
【００７６】
ズームコントロール６３８は、ユーザが画像６０２をズームインしたりズームアウトしたりすることを可能にする。情報ウィンドウ６４０は、画像６０２のどの部分が表示されているかを示し、ユーザは情報ウィンドウ６４０を用いて、選択した位置で画像をセンタリングできる。情報ウィンドウ６４０はまた、画像６０２内の選択された画素のＲＧＢ値も示す。
【００７７】
マーキングステップとグラフカットアルゴリズムによって、前景領域６０８の周囲に精度の高い区分化境界６１４が生成されるが、この区分化境界６１４をユーザがさらに改良することも可能である。その場合、ユーザはステップセレクタ６０４でステップ２を選択して、ポリゴン編集ステップに進む。ステップ２が選択されると、区分化境界６１４が自動的にポリゴンに変換される。
【００７８】
図７は、指定した前景領域の周囲のポリゴンを編集できるユーザインターフェースの他の例示的スクリーンショットを示す図で、ポリゴン編集ステップで用いられるユーザインターフェース６００のスクリーンショットを示している。前景領域６０８の境界は、編集可能なポリゴン７００によって定まる。ポリゴン７００は、編集可能な頂点７０２とポリゴン線７０４とを含んでいる。ユーザは、頂点の直接編集ならびにポリゴンブラシという２つの方法で、頂点７０２を編集できる。
【００７９】
頂点の直接編集の場合、ユーザは、ポリゴン頂点ラジオボタン７０６を選択する。ポリゴン頂点ラジオボタン７０６が選択されると、ユーザは、マウスや他の入力装置を用いて個々の頂点を（すなわち、一度に１つの頂点を）選択して移動することができる。また、ユーザは、頂点７０２を追加又は削除することもできる。さらに、頂点の直接編集では、ユーザは、複数の頂点をまとめて処理できる。頂点７０２はかなり小さい場合があるので、個々の頂点を編集する際には、ズームコントロール６３８を用いて特定の部分をズームイン（拡大）すると便利である。
【００８０】
ポリゴンブラシの場合、ユーザは、ポリゴンブラシラジオボタン７０８を選択する。ユーザがポリゴンブラシラジオボタン７０８を選択すると、ブラシツール（ｂｒｕｓｈ  ｔｏｏｌ）７１０が表示される。ブラシツール７１０は、ユーザが単一のストロークを描画してポリゴンの区分を置き換えることを可能にする。ポリゴン（たとえば、Ａ）から始まり、そのポリゴンの別の場所（頂点でなくてもよい）（たとえば、Ｂ）で終わるブラシストロークをユーザが描画すると、ポリゴン７００が２つの部分に分割され、その一方の、ユーザストロークに対する角度差が小さくなる。その、角度差の小さい部分が、ユーザストロークで置き換えられて、新しいポリゴンが生成される。ユーザストロークと、ポリゴンの２つの部分との角度は、頂点ＡにおけるＡからＢへの正接方向によって計測される。
【００８１】
図８は、指定した前景領域を画像から抽出するユーザインターフェースの他の例示的スクリーンショットを示す図で、前景抽出ステップで用いられるユーザインターフェース６００のスクリーンショットを示している。ユーザは、抽出ボタン８００を選択して、区分化された前景領域６０８を画像から切り取ることができる。前景領域６０８を抽出すると、背景領域が除去される。抽出された前景領域６０８は、次に、背景が異なる別の画像に挿入されることが可能である。
【００８２】
図８に示したユーザインターフェース６００は、さらに、トライマップブラシセレクタ８０２を含んでいる。ユーザがトライマップブラシセレクタ８０２を選択すると、トライマップ（図示せず）がトライマップブラシツール（図示せず）とともに表示される。トライマップは、画像の３つの領域、すなわち、明確な前景領域と、明確な背景領域と、不定領域を示している。ユーザは、このトライマップをさらに改良して、境界の周囲の不定領域（たとえば、変化の激しい領域や動きの早い領域）をより多くカバーすることができる。この方法により、マッティングアルゴリズムは、不定領域の中のわずかな透過性情報や前景色も同様に抽出できる。
【００８３】
図９は、類似性基準に基づいてデータ分離を実行する例示的操作をフローチャートに示す図で、画像データ分離を実施するためにコンピュータが実行できる例示的操作を有するアルゴリズム９００を示している。アルゴリズム９００が実行される前に、画像がメモリにロードされ、ユーザに対して表示される。
【００８４】
任意選択の事前区分化操作９０２では、分岐点アルゴリズムなどのアルゴリズムに従って画素を分類して領域化することによって画像を事前区分化する。事前区分化操作９０２は、区分化処理を迅速化するために、画像のフィルタリング及び／又はダウンサンプリングを含むこともできる。
【００８５】
受け取り操作９０４では、前景シード及び／又は背景シードを受け取る。本実施態様では、前景シードは、ユーザが左マウスボタンをクリックし、前景シード画素の上でマウスをドラッグすることによって指定され、背景シードは、ユーザが右マウスボタンをクリックし、背景シード画素の上でマウスをドラッグすることによって指定される。前景シードは前景色で表示され、背景シードは別の色で表示される。
【００８６】
決定操作９０６では、前景又は背景への画素の割り当てに基づいて、画像内の画素の類似性基準を決定する。本実施態様では、画素は、画像内の総エネルギーが最小になるように前景又は背景に割り当てられる。
【００８７】
区分化操作９０８では、決定操作９０６での画素割り当てに従って画像を区分化する。前景領域の画素と背景領域の画素との間に区分化境界が自動的に生成される。
【００８８】
生成操作９１０では、区分化境界に基づいて、編集可能なポリゴンを生成する。編集可能なポリゴンがユーザに対して表示される。ユーザは、前景領域の周囲の境界をさらに改良するために、ポリゴンの頂点を移動できる。ユーザは、頂点を個別に移動したり、一度に複数の頂点を移動したりできる。
【００８９】
受け取り操作９１２では、ユーザ入力を受け取ってポリゴンを編集し、アルゴリズム９００が区分化操作９０６に戻って、ユーザ編集に基づく画像の再割り当てを行う。区分化操作９０６の２回目及びその後の繰り返しでは、ポリゴンの頂点を軟拘束又は硬拘束として用いて区分化を実施する。
【００９０】
ユーザが前景領域の周囲のポリゴンの編集を完了した後、抽出操作９１４により、前景領域が画像から切り取られる。抽出操作９１４の一実施態様では、切り取った前景を別の背景に合成する前に、コヒーレントマッティング（アルファ優先付きエンハンストＢａｙｅｓｉａｎマッティングアルゴリズム（ｅｎｈａｎｃｅｄ  Ｂａｙｅｓｉａｎ  ｍａｔｔｉｎｇ  ａｌｇｏｒｉｔｈｍ  ｗｉｔｈ  ａｌｐｈａ  ｐｒｉｏｒ））を用いて、区分化境界の周囲の不透明度を計算する。マッティングに用いる不定領域は、区分化境界を拡大することにより計算される。通常、この拡大は、各側の４画素分の幅である。
【００９１】
＜例示的コンピューティング装置＞
図１０は、本発明におけるデータ分離操作を実行するようにプログラムできる汎用コンピュータを示す図で、例示的な画像データ分離方法及びそのシステムを実装するために用いることのできる例示的コンピューティング装置１０００の概略図を示している。コンピューティング装置１０００は、１つ又は複数のプロセッサ又は処理ユニット１０３２と、システムメモリ１０３４と、システムメモリ１０３４を含む各種システムコンポーネントをプロセッサ１０３２と結合するバス１０３６とを含んでいる。バス１０３６は、メモリバス又はメモリコントローラ、ペリフェラルバス、アクセレーテッドグラフィックスポート、及び任意の様々なバスアーキテクチャを用いるプロセッサバス又はローカルバスを含む、任意のいくつかの種類のバス構造のうちの１つ又は複数を表す。システムメモリ１０３４は、読み出し専用メモリ（ＲＯＭ）１０３８とランダムアクセスメモリ（ＲＡＭ）１０４０とを含む。起動時などにコンピューティング装置１０００内で行われる構成要素間の情報転送を支援する基本ルーチンを収容する基本入出力システム（ＢＩＯＳ）１０４２がＲＯＭ１０３８に格納されている。
【００９２】
コンピューティング装置１０００は、さらに、ハードディスク（図示せず）の読み出し／書き込みを行うハードディスクドライブ１０４４を含み、リムーバブル磁気ディスク１０４８の読み出し／書き込みを行う磁気ディスクドライブ１０４６と、ＣＤ−ＲＯＭなどのリムーバブル光ディスク１０５２やその他の光媒体の読み出し／書き込みを行う光ディスクドライブ１０５０とを含むことができる。ハードディスクドライブ１０４４、磁気ディスクドライブ１０４６、及び光ディスクドライブ１０５０は、しかるべきインターフェース１０５４ａ、１０５４ｂ、及び１０５４ｃによってバス１０３６に接続されている。
【００９３】
ドライブ及びそれに関連付けられたコンピューティング読み取り可能な媒体は、コンピューティング装置１０００用のコンピュータ可読命令、データ構造体、プログラムモジュール、その他のデータの不揮発性記憶を提供する。本明細書に記載の例示的環境はハードディスクを用いているが、リムーバブル磁気ディスク１０４８及びリムーバブル光ディスク１０５２、他のタイプのコンピュータ読み取り可能な可読媒体（磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）など）、及び同様の媒体も例示的オペレーティング環境で用いることができる。
【００９４】
オペレーティングシステム１０５８、１つ又は複数のアプリケーションプログラム１０６０、他のプログラムモジュール１０６２、及びプログラムデータ１０６４を含むいくつかのプログラムモジュールを、ハードディスク１０４４、磁気ディスク１０４８、光ディスク１０５２、ＲＯＭ１０３８、又はＲＡＭ１０４０に格納できる。ユーザは、キーボード１０６６やポインティング装置１０６８などの入力装置からコンピューティング装置１０００にコマンド及び情報を入力できる。他の入力装置（図示せず）として、マイク、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナ、その他を用いることもできる。これらの入力装置及び他の入力装置は、バス１０３６と結合されたインターフェース１０５６を通して処理ユニット１０３２に接続されている。モニタ１０７２や他のタイプのディスプレイ装置も、ビデオアダプタ１０７４などのインターフェースを介してバス１０３６に接続されている。
【００９５】
一般に、コンピューティング装置１０００のデータプロセッサは、コンピュータの各種コンピュータ読み取り可能な記憶媒体に様々なタイミングで格納された命令によってプログラムされる。プログラム及びオペレーティングシステムは、たとえば、フロッピー（登録商標）ディスクやＣＤ−ＲＯＭで、あるいは電子的に配布可能であり、コンピューティング装置１０００のセカンダリメモリにインストール又はロードされる。プログラムは、実行時には、少なくとも部分的に、コンピューティング装置１０００のプライマリ電子メモリにロードされる。
【００９６】
コンピューティング装置１０００は、１つ又は複数のリモートコンピュータ（リモートコンピュータ１０７６など）との論理接続を用いるネットワーク環境で動作可能である。リモートコンピュータ１０７６として、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、又は他の一般的なネットワークノードを用いることができ、リモートコンピュータ１０７６は、通常、コンピューティング装置１０００に関してこれまでに記載した構成要素のほとんど又はすべてを含んでいる。図１０に図示された論理接続は、ＬＡＮ１０８０とＷＡＮ１０８２とを含んでいる。論理接続は、有線、無線、及び有線と無線との任意の組み合わせが可能である。
【００９７】
ＷＡＮ１０８２は、コンピューティング装置１０００及びリモートコンピュータ１０７６との間でのデータのルーティングが可能なネットワーク及びサブネットワークをいくつか含むことができる。ＷＡＮ１０８２は、メッセージを適切な宛先ノードに宛てるための任意の数のノード（たとえば、ＤＮＳサーバ、ルータなど）を含むことができる。
【００９８】
コンピューティング装置１０００は、ＬＡＮネットワーク環境で用いられる場合には、ネットワークインターフェース又はネットワークアダプタ１０８４を介してローカルネットワーク１０８０に接続される。コンピューティング装置１０００は、ＷＡＮネットワーク環境で用いられる場合には、通常、ワイドエリアネットワーク１０８２（インターネットなど）経由の通信を確立するためのモデム１０８６又はその他の手段を含んでいる。モデム１０８６は、内蔵であれ、外付けであれ、シリアルポートインターフェース１０５６を介してバス１０３６に接続される。
【００９９】
ネットワーク環境では、コンピューティング装置１０００に関して図示されたプログラムモジュール又はその一部を、リモートメモリ記憶装置に格納できる。図示したネットワーク接続は例示的であり、コンピュータ間の通信リンクを確立する他の手段も使用可能である。
【０１００】
コンピューティング装置１０００は、サーバアプリケーション専用であるか、他のアプリケーションも実行するサーバコンピュータとして実装することが可能である。あるいは、コンピューティング装置１０００は、たとえば、スタンドアロンパーソナルデスクトップ（又はラップトップ）コンピュータ（ＰＣ）、ワークステーション、携帯情報端末（ＰＤＡ）、又は電子器具などを用いて実現することも可能である。
【０１０１】
１つ又は複数のコンピュータや他の装置で実行される、プログラムモジュールなどの、コンピュータで実行可能な命令の一般的文脈では、様々なモジュールや手法を本明細書に記載することが可能である。プログラムモジュールとして、特定のタスクを実行したり、特定の抽象データ型を実装したりするルーチン、プログラム、オブジェクト、コンポーネント、データ構造体などが挙げられる。通常、プログラムモジュールの機能性は、必要に応じて、様々な実施形態で結合したり、分散したりできる。
【０１０２】
これらのモジュールや手法の実施形態は、何らかの形のコンピュータ読み取り可能な媒体に格納したり、それらの媒体を通じて送信したりできる。コンピュータ読み取り可能な媒体として、コンピュータによるアクセスが可能な任意の市販媒体を用いることができる。たとえば、コンピュータ読み取り可能な媒体は、「コンピュータ記憶媒体」及び「通信媒体」を含むことができ、これらに限定されない。
【０１０３】
「コンピュータ記憶媒体」は、コンピュータ可読命令、データ構造体、プログラムモジュール、又は他のデータなどの情報を記憶する任意の方法又は技術において実装される、揮発性及び不揮発性、リムーバブル及び非リムーバブルの媒体を含む。コンピュータ記憶媒体として、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、又は他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、又は他の光記憶媒体、磁気カセット、磁気テープ、磁気ディスク記憶装置、又は他の磁気記憶装置、あるいは、所望の情報を格納するために用いることができ、コンピュータによるアクセスが可能な他の任意の媒体が挙げられ、これらに限定されない。
【０１０４】
「通信媒体」は、一般に、コンピュータ可読命令、データ構造体、プログラムモジュール、又は他のデータを、搬送波などの変調データ信号や他の伝送メカニズムの形で具体化する。通信媒体には、任意の情報配布媒体も含まれる。「変調データ信号」という用語は、信号の１つ又は複数の特性が、信号内の情報をエンコードするように設定又は変更される信号を意味する。たとえば、通信媒体として、有線ネットワークや直接有線接続などの有線媒体や、音響、ＲＦ、赤外線などの無線媒体が挙げられ、これらに限定されない。また、これまで挙げたものの任意の組み合わせも、コンピュータ読み取り可能な媒体の範囲に含まれる。
【０１０５】
当業者であれば、本明細書の開示内容から、本明細書で明示的に記載した特定の実施形態だけでなく、他の態様及び実施形態も自明であろう。本明細書及び例示された実施形態は、添付の特許請求項の真正な範囲及び趣旨による例としてのみ見なされるものとする。
【図面の簡単な説明】
【０１０６】
【図１】デジタル画像において前景領域を背景領域から分離することを含むデータ分離処理のステップの例示的シーケンスを示す図である。
【図２】マーキングステップ及びポリゴン編集ステップにおけるデジタル画像の一部の例示的拡大図である。
【図３】類似性解析に基づいて前景シード及び背景シードが指定され、区分化境界が位置決めされる例示的画像データ分離方式を示す図である。
【図４】画素のグループが、類似性解析で用いられる領域に事前区分化される例示的画像データ分離方式を示す図である。
【図５】指定された前景シードと背景シードとの間の例示的編集可能ポリゴンを示す図である。
【図６】画像内で前景領域と背景領域とを指定できるユーザインターフェースの例示的スクリーンショットを示す図である。
【図７】指定した前景領域の周囲のポリゴンを編集できるユーザインターフェースの他の例示的スクリーンショットを示す図である。
【図８】指定した前景領域を画像から抽出するユーザインターフェースの他の例示的スクリーンショットを示す図である。
【図９】類似性基準に基づいてデータ分離を実行する例示的操作をフローチャートに示す図である。
【図１０】データ分離操作を実行するようにプログラムできる汎用コンピュータを示す図である。
【符号の説明】
【０１０７】
１０３２  処理ユニット
１０３４  システムメモリ
１０３６  システムバス
１０３８  ＲＯＭ
１０４０  ＲＡＭ
１０４２  ＢＩＯＳ
１０５４ａ  ハードディスクドライブインターフェース
１０５４ｂ  磁気ディスクドライブインターフェース
１０５４ｃ  光ドライブインターフェース
１０５６  シリアルポートインターフェース
１０５８  オペレーティングシステム
１０６０  アプリケーションプログラム
１０６２  他のプログラムモジュール
１０６４  プログラムデータ
１０６６  キーボード
１０６８  ポインティング装置
１０７２  モニタ
１０７４  ビデオアダプタ
１０７６  リモートコンピュータ
１０８０  ローカルエリアネットワーク
１０８２  ワイドエリアネットワーク
１０８４  ネットワークインターフェース
１０８６  モデム
【図１】
2006053919.tif 000013
【図２】
2006053919.tif 000014
【図３】
2006053919.tif 000015
【図４】
2006053919.tif 000016
【図５】
2006053919.tif 000017
【図６】
2006053919.tif 000018
【図７】
2006053919.tif 000019
【図８】
2006053919.tif 000020
【図９】
2006053919.tif 000021
【図１０】
2006053919.tif 000022
【外国語明細書】
2006053919000001.pdf