JP2009059368A - 要素配置の見本ベースの手続き的合成 - Google Patents
要素配置の見本ベースの手続き的合成 Download PDFInfo
- Publication number
- JP2009059368A JP2009059368A JP2008223336A JP2008223336A JP2009059368A JP 2009059368 A JP2009059368 A JP 2009059368A JP 2008223336 A JP2008223336 A JP 2008223336A JP 2008223336 A JP2008223336 A JP 2008223336A JP 2009059368 A JP2009059368 A JP 2009059368A
- Authority
- JP
- Japan
- Prior art keywords
- elements
- synthesized
- synthesized pattern
- reference arrangement
- arrangement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
【課題】見本から要素配置を合成するための方法及び装置を提供する。
【解決手段】実施形態は、見本配置から要素配置パターンを合成できる。実施形態は、見本とターゲットの局所的近隣比較に基づくテクスチャ合成テクニックと、局所的成長に基づく手続き的モデリングを結合できる。見本が与えられると、各要素の近隣情報を獲得するように要素の連結性を構成できる。合成プロセスは、単一のシードを伴って開始し、かつシードの場所に新しい要素を1つ1つ置くことによって合成されているパターンを拡大できる。合成されているパターン内のターゲット・シードの近隣特徴にもっとも類似する近隣特徴を有する見本から参照要素を選択できる。非回転モード、回転モード、及びフロー・フィールド・モードを使用できる。ペインティング・ツール、フロー・フィールド・ツール、及び境界ツールを提供できる。
【選択図】図4
【解決手段】実施形態は、見本配置から要素配置パターンを合成できる。実施形態は、見本とターゲットの局所的近隣比較に基づくテクスチャ合成テクニックと、局所的成長に基づく手続き的モデリングを結合できる。見本が与えられると、各要素の近隣情報を獲得するように要素の連結性を構成できる。合成プロセスは、単一のシードを伴って開始し、かつシードの場所に新しい要素を1つ1つ置くことによって合成されているパターンを拡大できる。合成されているパターン内のターゲット・シードの近隣特徴にもっとも類似する近隣特徴を有する見本から参照要素を選択できる。非回転モード、回転モード、及びフロー・フィールド・モードを使用できる。ペインティング・ツール、フロー・フィールド・ツール、及び境界ツールを提供できる。
【選択図】図4
Description
優先権情報
本件出願は、参照によってその全内容がこれに援用される「イグザンプル‐ベースド・プロシージュアル・シンセシス・オブ・エレメント・アレンジメンツ(Example‐Based Procedural Synthesis of Element Arrangements)」と題されて2007年8月31日に出願された米国特許仮出願第60/969,508号の優先権の恩典を主張する。
本件出願は、参照によってその全内容がこれに援用される「イグザンプル‐ベースド・プロシージュアル・シンセシス・オブ・エレメント・アレンジメンツ(Example‐Based Procedural Synthesis of Element Arrangements)」と題されて2007年8月31日に出願された米国特許仮出願第60/969,508号の優先権の恩典を主張する。
関連技術の説明
要素配置は、人工的環境(たとえば、タイル、建築物、ファサード、装飾アート等)及び自然環境(たとえば、蜂の巣、花弁、砂利、小石の浜辺、雲等)の両方に遍在する。要素の2次元(2D)配置は、たとえばタイル、壁紙、ハッチングのストローク、装飾アート、織地、花弁、蜂の巣、動物の毛皮と鱗、波、砂丘等々のように人工又は自然いずれの環境でも観察できる。要素配置の合成は、テクスチャの作成や非フォトリアリスティック(non-photorealistic)・レンダリングのための有用なツールである。配置パターンの合成は、テクスチャ生成や非フォトリアリスティック・レンダリング(NPR)に有用なだけでなく、コンピュータ・グラフィクスにも興味深い努力目標を投げかける(たとえば、規則的なパターン、規則的に近いパターン、不規則な分布)。これらの配置は大きな変動を有し、それらのうちのいくつかは、全体を通じて規則的又は規則的に近い特徴を持つが、そのほかは、局所的に規則的でないが、不規則な特徴を一様(不規則一様)に分布している。配置パターンを合成するためには、全体的分布における要素間の局所的な空間的関係を保存するテクニックが必要となる。
要素配置は、人工的環境(たとえば、タイル、建築物、ファサード、装飾アート等)及び自然環境(たとえば、蜂の巣、花弁、砂利、小石の浜辺、雲等)の両方に遍在する。要素の2次元(2D)配置は、たとえばタイル、壁紙、ハッチングのストローク、装飾アート、織地、花弁、蜂の巣、動物の毛皮と鱗、波、砂丘等々のように人工又は自然いずれの環境でも観察できる。要素配置の合成は、テクスチャの作成や非フォトリアリスティック(non-photorealistic)・レンダリングのための有用なツールである。配置パターンの合成は、テクスチャ生成や非フォトリアリスティック・レンダリング(NPR)に有用なだけでなく、コンピュータ・グラフィクスにも興味深い努力目標を投げかける(たとえば、規則的なパターン、規則的に近いパターン、不規則な分布)。これらの配置は大きな変動を有し、それらのうちのいくつかは、全体を通じて規則的又は規則的に近い特徴を持つが、そのほかは、局所的に規則的でないが、不規則な特徴を一様(不規則一様)に分布している。配置パターンを合成するためには、全体的分布における要素間の局所的な空間的関係を保存するテクニックが必要となる。
一般的なテクスチャ・パターンを生成するためのテクニックの2つの異なるグルーピングは、テクスチャ合成と手続き的モデリングである。テクスチャ合成テクニックは、見本画像を採用して新しいテクスチャを生成する。テクスチャ合成テクニックは、概して3つのグループ、すなわち周波数ドメイン、ピクセル‐ベース、パッチ‐ベース、にカテゴリ分けできる。周波数ドメインのテクニックは、通常、特定タイプのテクスチャだけを扱うことが可能である。ピクセル・ベースとパッチ・ベースのテクニックは、より一般的なテクスチャについての説得力のある結果を達成できる。しかしながら、要素配置では各ピクセルではなく各要素が個別に知覚可能なことから、これらのテクニックを要素配置に直接適用することは困難である。要素間の空間的関係は、ピクセル間のそれより重要である。
手続き的モデリング・テクニックは、要素を単位モジュールとして扱う。手続き的モデリング・システムは、初期特徴から開始し、局所的な生成規則に基づいてモジュールの漸進的な置換と追加を行う。しかしながら手続き的フレームワークは、要素がツリー等の明示的な局所構造を有するパターンに限定されている。たとえば、不規則一様な配置について成長規則を定義することは困難である。いくつかの手続き的モデリング・テクニックは印象的な結果を達成しているが、それらのテクニックは、通常、局所的成長規則を定義するスクリプトの記述をユーザに要求し、初心者ユーザが結果として得られるモデルをコントロールすることを困難にしている。
ストローク・パターン合成
ストローク・パターン合成は、非フォトリアリスティック・レンダリング(NPR)分野で好まれているトピックである。ストローク・パターン合成テクニックは、マニュアル選択されるか、又は伝統的な図形上で観察される生成規則に基づいてストローク・パターンを合成する。通常、すべてのストロークが曲線上に線形順序で整列される比較的単純なケースに焦点を当てる見本ベース・システムが開発された。ストローク・ベースの分析及び合成のテクニックは、規則的又は規則的に近いパターンの扱い、及び煉瓦の壁等の構造化されたパターンの合成時に困難を有することがある。
ストローク・パターン合成は、非フォトリアリスティック・レンダリング(NPR)分野で好まれているトピックである。ストローク・パターン合成テクニックは、マニュアル選択されるか、又は伝統的な図形上で観察される生成規則に基づいてストローク・パターンを合成する。通常、すべてのストロークが曲線上に線形順序で整列される比較的単純なケースに焦点を当てる見本ベース・システムが開発された。ストローク・ベースの分析及び合成のテクニックは、規則的又は規則的に近いパターンの扱い、及び煉瓦の壁等の構造化されたパターンの合成時に困難を有することがある。
見本から要素配置を合成するための方法及び装置の種々の実施態様が説明されている。実施態様は、たとえば、見本配置から要素配置パターンを合成する。実施態様は、従来方法のようにスクリプトを通じてではなく、見本の提供を介して動作する。グリッド上に整列されるピクセルを扱うテクスチャ合成に使用されるアプローチとは対照的に、実施態様のターゲットは、要素が必ずしも整列されなくてよい要素配置である。したがって実施態様は、各要素の「空間的」近隣特性を考慮できる。実施態様は、見本(参照配置)とターゲットの局所的近隣比較に基づくテクスチャ合成テクニックと、局所的成長に基づく手続き的モデリングを結合できる。
1つの実施態様は、参照配置、たとえばユーザによって入力されるか、又はそのほかの指定された見本を採用し、かつ当該配置の要素間における連結性を構成することによって局所的構造が分析される。その参照配置を前提とし、実施態様は、各要素のすぐ隣の情報を獲得するように連結性を構成できる。合成プロセスは、単一のシードを伴って開始し、かつ新しいシードの場所に新しい要素を1つ1つ置くことによって合成中のパターンを外側に拡大できる。1つの実施態様においては、このプロセスが局所的な近隣の比較を適用でき、参照要素は、合成済みパターン内のターゲット・シードの近隣の特徴にもっとも類似する近隣特徴を有する参照配置から選択できる。
実施態様は、参照配置として参照できる入力された例示的な要素の配置を採用し、かつ当該参照配置に類似する新しいより大きなパターンを生成又は合成できる。参照配置は、あらかじめ定義済みの記号のセットから1つ又は複数の記号を使用できる。このセット内の各記号は、記号識別子(記号ID)を有するか、又は割り当てられるようにできる。それに加えて、参照配置内の各記号は、ここでサブIDと呼ばれる、合成プロセス内で同一の記号IDを有する記号間の区別に使用できる一意的な識別子を有するか、又は割り当てられる。
種々の実施態様は、局所的成長プロセス内において1つ又は複数の異なるモードを設けることができる。それらのモードは、限定はされないが、システムが回転を伴わずに参照要素を使用できる非回転モード、システムが回転を考慮に入れて最良フィッティング参照要素をサーチし、より良好な分布を結果としてもたすことができる回転モード、及びシステムが参照を回転し、その局所座標を、基礎をなすユーザ指定のフロー・フィールド方向に対して調整するフロー・フィールド・モードのうちの1つ又は複数を含むことができる。
種々の実施態様は、ユーザ・インターフェースを介して、結果として得られる配置の全体的様相をコントロールするための1つ又は複数の異なるタイプのツールを設ける。それらのツールは、ペインティング・ツール、たとえばカーソル・エリア下のシードをアクティブ化するスプレー・ツールを含むことができる。このツールによって、ユーザは配置パターンをペイントすることができる。またツールは、ユーザがストロークのセットを描くことによってフロー・フィールドをデザインすることを可能にするフロー・フィールド・ツールを含む。システムは、入力されたストロークの方向を制約条件として使用し、かつ2D空間を、たとえばラジアル・ベース関数を使用して補間することができる。またツールは、局所的成長を制限するか、又は停止させる境界ストロークのセットをユーザが描くことを可能にする境界ツールを含む。
見本から要素配置を合成するための方法及び装置の実施態様は、スタンドアロン・アプリケーション内における見本ベースの手続き的パターン合成モジュールとして、又はグラフィック・アプリケーション又はグラフィック・ライブラリのモジュールとして実装できる。実施態様が実装できるグラフィック・アプリケーションの例は、限定はされないが、ペインティング、出版、写真、ゲーム、アニメーション、及び/又はそのほかのアプリケーションを含む。
本発明は、ここで例としていくつかの実施態様及び例証的図面について説明されているが、当業者であれば、説明されているそれらの実施態様又は図面に本発明が限定されないことを認識されるであろう。理解される必要があるが、図面やそれに対する詳細な説明は、開示されている特定の形式に本発明を限定することを意図するものでなく、むしろ逆にその意図は、付随する請求項によって定義されるとおりの本発明の精神及び範囲内に含まれるあらゆる修正、等価、及び代替を保護するところにある。ここに使用されている小見出しは、整理だけを目的としており、説明又は請求項の範囲を限定するための使用を意味していない。この出願全体を通じて使用されているとおり、表現「できる」は、必須の意味(すなわち、でなければならないという意味)ではなく、随意的な意味(すなわち、可能性を有するという意味)で使用されている。同様に「含む」、「含んでいる」、及び「含まれる」は、包含を意味し、それへの限定ではない。
見本から要素配置を合成するための方法及び装置の種々の実施形態が説明されている。実施形態は、たとえば、1つ又は複数のタイプの複数の要素を含む見本パターンから要素配置パターンを合成できる。種々の実施形態は、局所的近隣比較に基づいて1つ又は複数のテクスチャ合成方法の組み合わせを、及び局所的成長に基づいて1つ又は複数の手続き的モデリング・システムを使用できる。実施形態は、コンピュータにより実施される要素配置合成システムを、使用容易なフレームワークを介して設けることができる。実施形態は、従来方法におけるようなスクリプト記述を通じてではなく、見本の提供を介して動作できる。実施形態は、コントロール可能な合成プロセスを、限定はされないが、ペインティング(たとえばスプレー)ツール、フロー・フィールド・ツール、及び境界ツールを含む1つ又は複数のツールを介して設けることができる。
実施形態は、参照配置と呼ぶことができる見本とターゲットの局所的近隣比較に基づくテクスチャ合成テクニックと、局所的成長に基づく手続き的モデリングとを結合する。実施形態は要素配置に焦点を合わせているが、各要素の形状を合成しなくてもよい。1つの実施形態においては、参照配置の各要素が当該参照配置内における要素のタイプを一意的に識別する記号識別子(ID)、及び当該参照配置内における要素を一意的に識別するサブIDを有するか、又は割り当てられる。
見本から要素配置を合成するための方法及び装置の実施形態は、スタンドアロン・アプリケーション内における見本ベースの手続き的パターン合成モジュールとして、又はグラフィック・アプリケーション又はグラフィック・ライブラリのモジュールとして実装できる。実施形態が実装できるグラフィック・アプリケーションの例は、限定はされないが、ペインティング、出版、写真、ゲーム、アニメーション、及び/又はそのほかのアプリケーションを含む。
図1a〜1cを参照すると、1つの実施形態は、ユーザによって入力されるか、又はそのほかの指定ができる参照配置を採用し、かつ連結性を構成することによって局所的構造が分析される。その参照配置を前提とし、実施形態は、各要素のすぐ隣の情報を獲得するように連結性を構成できる(図1a参照)。合成プロセスは、単一のシードを伴って開始し、新しい要素を1つ1つ置くことによって合成中のパターンを外側に拡大する。1つの実施形態においては、このプロセスが局所的な近隣の比較を適用でき、参照要素は、以前の合成済みパターンのターゲットの場所にもっとも類似する近隣特徴を有する参照配置から選択できる。ほとんどすべての要素が一様に分布されているが、2つのグレイの要素が概して隣接して現れている例示的な合成済みパターンを示している図1bに示されているとおり、その後、類似する局所構造を有するより大きなパターンを合成できる。ペインティング、描画、又は配置パターンを用いたそのほかの機能の実行のため、及びフロー・フィールドをコントロールするために、1つ又は複数のユーザ・インターフェース・ツールを設けることができる。たとえば図1cは、実施形態によって用意されたスプレー・ツール等の例示的なペインティング・ツールの例示的な結果を示している。
実施形態は、参照配置として参照できる入力された要素の配置を採用し、かつ当該参照配置に類似する新しいより大きなパターンを生成又は合成できる。参照配置は、あらかじめ定義済みの記号のセットから1つ又は複数の記号を使用できる。このセット内の各記号は、記号識別子(記号ID)を有する。それに加えて、参照配置内の各記号は、ここでサブIDと呼ばれる、合成プロセス内で同一の記号IDを有する記号間の区別に使用できる一意的な識別子を有するか、又は割り当てられる。図2aは、1つの実施形態に従った参照配置を示している。図2bは、1つの実施形態に従った図2a内の参照配置の要素のための記号IDを示している。図2cは、1つの実施形態に従った図2a内の参照配置の要素のためのサブIDを示している。
1つの実施形態においては、要素配置に焦点が当てられ、したがって記号の形状は合成されなくてよい。それに代わりこの実施形態は、ユーザがランダム・ノイズを導入して合成済み要素の回転及びスケールを修正すること、したがってより変化を獲得することを可能にする。
種々の実施形態は、局所的成長プロセスにおいて1つ又は複数の異なるモードを使用できる。それらのモードは、限定はされないが、次のうちの1つ又は複数を含むことができる。
・ システムが回転を伴うことなしに参照要素を使用できる非回転モード。
・ システムが参照要素の回転を考慮に入れて最良フィッティング参照要素をサーチし、より良好な分布を結果としてもたらすことができる回転モード。
・ システムが参照を回転し、それの局所座標を、基礎をなすユーザ指定のフロー・フィールド方向に対して調整するフロー・フィールド・モード。これは、合成される配置の全体的なフローのコントロールを可能にする。
・ システムが回転を伴うことなしに参照要素を使用できる非回転モード。
・ システムが参照要素の回転を考慮に入れて最良フィッティング参照要素をサーチし、より良好な分布を結果としてもたらすことができる回転モード。
・ システムが参照を回転し、それの局所座標を、基礎をなすユーザ指定のフロー・フィールド方向に対して調整するフロー・フィールド・モード。これは、合成される配置の全体的なフローのコントロールを可能にする。
クリエイティブなデザイン・プロセスをサポートするために、種々の実施形態は、ユーザ・インターフェースを介して、結果として得られる配置の全体的様相をコントロールするための1つ又は複数の異なるタイプのツールを提供できる。それらのツールは、限定はされないが、次のうちの1つ又は複数を含むことができる。
・ ペインティング・ツール、たとえばカーソル・エリアの下のシードをアクティブ化するスプレー・ツール。このツールは、ユーザが配置パターンをペイントすることを可能にする。実施形態は、充分に速く、迅速なフィードバックを返す。
・ ユーザがストロークのセットを描くことによってフロー・フィールドをデザインすることを可能にするフロー・フィールド・ツール。システムは、入力されたストロークの方向を制約条件として使用し、2D空間を、たとえばラジアル・ベース関数を使用して補間できる。
・ 局所的成長を停止させる境界ストロークのセットをユーザが描くことを可能にする境界ツール。
・ ペインティング・ツール、たとえばカーソル・エリアの下のシードをアクティブ化するスプレー・ツール。このツールは、ユーザが配置パターンをペイントすることを可能にする。実施形態は、充分に速く、迅速なフィードバックを返す。
・ ユーザがストロークのセットを描くことによってフロー・フィールドをデザインすることを可能にするフロー・フィールド・ツール。システムは、入力されたストロークの方向を制約条件として使用し、2D空間を、たとえばラジアル・ベース関数を使用して補間できる。
・ 局所的成長を停止させる境界ストロークのセットをユーザが描くことを可能にする境界ツール。
グリッド上に整列されるピクセルを扱うテクスチャ合成に使用されるアプローチとは対照的に、実施形態のターゲットは、要素が必ずしも整列されなくてよい要素配置とすることができる。したがって実施形態は、各要素の「空間的」近隣特性を考慮できる。
図3a〜3eは、1つの実施形態に従った例示的な分析段階と合成段階を示している。図3a、3bは、分析段階を示している。図3aにおいては、見本又は参照配置が提供される。図3bにおいては、参照配置内の要素の連結が構成される。図3c〜3eは、参照配置に基づいてパターンを合成するための合成段階を示している。図3cにおいて、円はシードを表す。新しい要素のための候補ポジション(候補シード)が示されている。図3dにおいては、図3aの参照配置からの最良フィッティング要素が見つけ出される。図3eにおいては、その要素を用いて候補シードが置換される。新しいシードが生成される。このプロセスが繰り返し反復され、所望のパターン・エリアが満たされてしまうまでパターン内に単一の参照要素が置かれる。
図4は、1つの実施形態に従って見本から要素配置を合成するための方法を示したフローチャートである。200においては、参照配置の要素間の連結性が構成される。参照配置は、たとえば、複数の要素を含み、1つ又は複数のタイプの要素を伴うユーザ指定パターンとすることができる。202においては、構成済みの連結性に従って参照パターン内の各要素の近隣情報が分析される。204においては、合成されるパターン・エリア内のターゲット・シードが決定される。たとえばユーザはスプレー・ツール等のツールを使用してスクリーン上の場所の上をクリックして開始場所を示し、その開始場所を初期ターゲット・シードとして使用する。このほかの方法も、初期ターゲット・シード及びその後に続くシードの決定に使用できる。206においては、ターゲット・シードのための近隣特徴が決定される。初期シードは、まだ近隣を有してなくてよく、そのため初期シードのためにデフォルトの「近隣」が仮定されるか、又は初期シードのための近隣特徴を決定するそのほかの方法(たとえば、ランダム配置)を使用する。208においては、ターゲット・シードの近隣特徴にもっとも類似する近隣特徴を有する参照配置内の参照要素が決定される。210に示されているとおり、参照要素のコピーを、合成されるパターン・エリア内のターゲット・シードの場所に配置できる。新しいシードを、たとえば参照要素の近隣情報を使用して生成する。212において、パターンの合成が完了していなければ、プロセスが204に戻り、次のターゲット・シードを決定する。完了していればパターンの合成が終了する。
図5a〜5hは、1つの実施形態に従った例示的な局所的成長プロセスを示しており、単一の繰り返しステップの例を示している。この例においては、白い石の記号IDがA、グレイの石の記号IDがBである。参照配置を前提とし、分析段階の中で、たとえば参照配置の三角形分割法によって近隣要素間の局所的関係が分析される。この合成プロセス又は段階は、単一のシードの配置を伴って開始する。シードは、参照配置及びいくつかの新しいシードからの参照要素を用いて繰り返し置換される。各繰り返しにおいては、シードの近隣の獲得をサポートする、新しい要素とシードについての連結性を構成できる。図5a〜5hは、単一の繰り返しステップの例を示しているが、各繰り返しの中で実行される例示的なプロセスのいくつかの段階をグラフィカルに示している。図5aにおいては、ターゲット・シード100としてシードが選択される。図5bにおいては、選択されたシード100の近隣がチェックされ、矢印によって示されるとおりに連結性が構成される。図5cにおいては、選択されたシード100のそれにもっとも類似する近隣状態を有する参照要素102が参照配置の中で見つけ出される。図5dにおいては、見つけ出された参照要素102のコピーを用いてターゲット・シード100が置換される。図5eと5fにおいては、プロセスが参照要素102の近隣要素のコピーを獲得する。図5gにおいては、プロセスが、コピーのフィッティング未済の部分を新しいシードとして配置する。図5hにおいては、エッジが構成される。1つの実施形態においては、滑らかなパターンを獲得するために、各成長プロセスの後に全体的な緩和を導入できる。
図6a、6bは、1つの実施形態に従った分析段階における与えられた見本又は参照配置(図6a)のための連結性の生成(図6b)を示している。連結性を構成するために、1つの実施形態においては、デローネイの三角形分割法を使用できる。1つの実施形態においては、ひずんだ三角形(たとえば、指定スレッショルド、たとえば150度より大きい角度を含むすべての三角形)を除去できる。1つの実施形態においては、非境界要素だけ使用できる。1つの実施形態においては、1つ又は複数の設けられたユーザ・インターフェース要素又はコントロールを介してユーザが連結性を修正することが可能である。実施形態は、最長又は最短のエッジ長を計算する。1つの実施形態においては、ガウス分布を仮定する。
1つの実施形態においては、入力された参照配置又は要素を前提とし、デローネイの三角形分割法等の数学的三角形分割テクニックを使用して連結性を抽出する。1つの実施形態においては、三角形分割法の中で各要素の中心ポジションを使用する。デローネイの三角形分割法は、境界周辺でひずんだ三角形を生成できるが、そのため1つの実施形態は、ひずんだ三角形、たとえば2/3×πより大きい角度を有する三角形を除去でき、かつ少なくとも1つのひずんでいない三角形部分であるエッジだけを残す。各要素の直近の相対的ポジション、記号ID、及びサブIDを、その後記録する。1つの実施形態においては、参照配置の境界の周囲の要素が充分な近隣要素を有していないことから、それらは使用されなくてよい。
規則的な、又は規則的に近い配置が入力されるとき、デローネイの三角形分割法等の三角形分割法テクニックは、望ましくない連結を生成することがある。図7a〜7c及び8a〜8cは、1つの実施形態に従った参照配置及び要素間の連結性のいくつかの例を示している。図7bにおいては、図7a内で入力されたとおりの配置について、いくつかの生成済みエッジが1行を超えるブロックを連結している。図8aにおいては規則的に近い配置が入力されるが、図8b内には、規則性を持たないエッジが生成される。ここに述べられている合成アルゴリズムは、各要素の局所的連結性によって影響されることがあり、したがって、これらの連結が規則的パターンを乱すことがある。したがって1つの実施形態は、三角形分割法の後にユーザが連結を訂正することが可能である。たとえば、1つの実施形態においては、ユーザが、クリックによって、又は何らかのほかのユーザ・インターフェース・ツール又は方法によってエッジをフリップすることが可能である。これによって、ユーザが望ましい連結性を獲得することが可能である。したがって1つの実施形態においては、図7a、8aに示されているとおりの参照配置に対して、図7b又は8bに示されているとおりに、システムが連結性を自動的に生成できるが、ユーザは、実施形態によって提供される1つ又は複数のツールを使用して、図7c、8cに示されているとおりに基礎をなす規則性を再構成するようにトポロジを修正できる。
図9a〜9cは、1つの実施形態に従った、ユーザにより案内される連結性の訂正を示している。図9aは、例示的な初期参照配置を示している。図9bは、システムにより生成される例示的な連結性を示している。図9cは、ユーザによって訂正された例示的な連結性を示している。
局所的成長による合成
1つの実施形態は、パターンの中心の要素を用いて開始し、以前の合成済み要素の近隣比較に基づき、新しい要素を1つ1つ置くことによってそれを外側に拡大できる。しかしながらターゲット要素配置は、グリッド上のピクセルの場合におけるように、規則的な構造を有することが必ずしも常に想定されていない。新しい要素を配置するためのポジション及びその近隣が不明確なことがある。さらに、個別の要素のサイズと向きが異なることがある。これらは、従来のテクスチャ合成テクニックと、ここで述べている方法の間における主要な相違である。
1つの実施形態は、パターンの中心の要素を用いて開始し、以前の合成済み要素の近隣比較に基づき、新しい要素を1つ1つ置くことによってそれを外側に拡大できる。しかしながらターゲット要素配置は、グリッド上のピクセルの場合におけるように、規則的な構造を有することが必ずしも常に想定されていない。新しい要素を配置するためのポジション及びその近隣が不明確なことがある。さらに、個別の要素のサイズと向きが異なることがある。これらは、従来のテクスチャ合成テクニックと、ここで述べている方法の間における主要な相違である。
1つの実施形態においては、この問題を取り扱うために、参照配置内の要素の連結性に基づいてシードの局所的成長を定義する見本ベースの手続き的方法が使用できる。各成長ステップにおいては、シードを最良フィッティング参照要素を用いて置換することに加え、選択された参照要素の直近をコピーすることによって新しいシードを配置できる。
シーディング
シードは、新しい要素の候補ポジションである。オプションとしてシードは、それに関連付けされた記号IDを有する。記号IDは、シードを特定タイプの要素にするために使用できるが、それが参照配置からの同一記号IDの要素(同一タイプの要素)となる可能性がある。
シードは、新しい要素の候補ポジションである。オプションとしてシードは、それに関連付けされた記号IDを有する。記号IDは、シードを特定タイプの要素にするために使用できるが、それが参照配置からの同一記号IDの要素(同一タイプの要素)となる可能性がある。
1つの実施形態においては、単一のシードを配置することによって合成プロセスを開始できる。1つの実施形態においては、初期シードからの距離によってシードをソートでき、各成長ステップにおいては、もっとも近いシードを選択できる。たとえばスプレー・ツール・モードにおいては、ユーザがペインティングを開始するときにカーソル・ポジションに新しいシードを生成でき、スプレー・ツールは、ペイント中のカーソルからユーザが指定したか、又はそのほかの形で示される距離内にあるすべてのシードを成長させることができる。
図10a〜10cは、1つの実施形態に従ったシーディングを示している。各シードは記号IDを有する。図10aにおいては、参照配置から最良フィッティング要素が見つけ出される。図10bにおいては、新しいシードが配置される。1つの実施形態においては、非マッチング近隣が新しいシードとして配置される。図10cにおいては、リング・エッジが追加される。緩和が実行される。緩和については、さらに後述する。
要素が異なる重要度を有するいくつかの配置パターンがある。たとえば、配置パターンが、より大きい要素(1つ又は複数)を最初に配置し、より小さい要素(1つ又は複数)を後に用いて空間を埋めることができる。1つの実施形態は、この効果を、要素の記号IDに基づいてシードに配置されることになる要素の優先度を指定することによって提供することができる。1つの実施形態は、近隣エリア内のもっとも高い、又は同一の優先度を伴うシードだけを成長させる。たとえば、1つの実施形態は、参照内のエッジの平均の長さをlとするとき、5×lの半径を伴う円として近隣エリアを定義する。たとえば図1bにおいては、より高い優先度がより大きいグレイの石及び白い石に対して指定され、より低い優先度が、フィラーのみとして使用される小さい石に対して指定される。
図11a、11b、及び図12a、12bは、1つの実施形態に従ったシードの併合の2つの例を示している。図11a、12aにおいては、新しいシードの近隣エリアがチェックされ、そのシードの指定距離内に要素又はシードが存在するか否かが調べられる。新しいシードに近い要素又はシードが存在する場合には、当該新しいシード及び当該近隣シード又は要素を、図11b、12bに示されているとおりに併合する。
図13a〜13cは、1つの実施形態に従った衝突の取り扱いを示している。図13aにおいては、新しいシードの近隣エリアがチェックされ、衝突が存在するか否かが調べられる。図13bは、検出された衝突を示している。図13cにおいては、新しいシードが取り除かれる。
図14a〜14fは、1つの実施形態に従ったリング・エッジの生成を示している。図14a、14bにおいて、1つのリング・エッジが生成される。図14cにおいては、新しいエッジの長さがチェックされる。その長さが、参照配置内におけるもっとも長いエッジより長い場合には、図14dに示されているとおり、追加のシードが追加される。図14eにおいては、衝突がチェックされる。衝突が検出される場合には、図14fに示されているとおり、エッジが生成されない。
最良マッチング要素を見つけ出す
図15a〜15cは、1つの実施形態に従ったパターンのマッチングを行う例を示している。システムは、図15a内のターゲット・シード110の近隣と、図15bの参照要素112のそれの間におけるマッチング・パターンのセットを構成する。図15cにおいては、対応が定義される。
図15a〜15cは、1つの実施形態に従ったパターンのマッチングを行う例を示している。システムは、図15a内のターゲット・シード110の近隣と、図15bの参照要素112のそれの間におけるマッチング・パターンのセットを構成する。図15cにおいては、対応が定義される。
図15a〜15cを参照し、etar(ターゲット・シード110)を合成されるパターン内で焦点が当てられたシードとし、w(etar)をそれの直近の要素のセットとする。同様にeref(参照要素112)及びw(eref)は、参照要素についての表記法である。w(etar)とw(eref)の間の差に基づいてエラー関数を定義でき、そのエラー関数を最小化する1つを見つけ出すべくすべての参照要素を試験できる。
注意されたいが、ターゲット・シードが記号IDを有する場合は、対応する参照要素(同一記号IDを伴う参照要素)だけ試験される。
要素配置のための近隣比較は、近隣要素の数とポジションが分布に応じて変動することから、テクスチャ合成のためのものより複雑である。1つの実施形態においては、差を2ステップで計算できる。第1は、参照近隣の要素に対してターゲットの近隣の各要素をマッチングさせるマッチングfが構成される。いくつかの候補マッチング・パターンが存在することから、マッチング・パターンFのセットを構成する必要がある。第2は、すべての関連ペアについての差を計算でき、かつ各f∈Fに関して総和を求める。
1つの実施形態においては、マッチング・パターンFのセットを構築するためにスリップやフリップを伴わない場合だけを考慮できる。最初に要素etar i∈w(etar)及びeref j∈w(eref)を、反時計方向の順序でソートする。要素は、反時計方向以外の順序でもソートできる。ターゲットの近隣について、1つの実施形態は、境界上にある要素を伴って開始できる(図15a参照)。1つの実施形態は、1つの対応f0を獲得するように、etar 0及びeref 0を初期ペアとして選択し、漸増的にその後に続く要素etar i及びeref iのマッチングを行う。類似の態様において、1つの実施形態は、etar 0及びeref kを初期ペアとして選択することによってfkを獲得できる。15a〜15cに与えられている例においては、6つのマッチング・パターンが獲得される。
1つの実施形態は、ターゲット・シードが成長下にあり、かつその近隣要素の数が比較的小さいことから、w(etar)のサイズがw(eref)のそれに等しいか、又はそれより小さいこと、及びターゲット・シードが境界上にあることを仮定する。しかしながら、例外的なケースが時折生じることがある。たとえば、シードのすべての近隣要素が、優先度の相違又はスプレー・ツールの使用に起因してすでに配置済みのことがある。シードが境界上にないとき、1つの実施形態は、そのソーティングを任意の要素からソートし、かつw(etar)のサイズがw(eref)より大きいときは、単純にその種の参照要素を無視できる。
マッチング・パターンのセットが獲得されると、1つの実施形態は、各f∈Fに関して次のとおりのエラー関数を定義できる。
d(etar,eref)は、etarとerefの相対ポジション間のユークリッド距離である。id(etar,eref)は、etarの記号IDがerefのそれと異なる場合に1を返し、それ以外は0を返す。これら2つの項は、局所的な空間的関係を測定する。1つの実施形態においては、再三にわたって同一要素が繰り返し現れることを回避するためにsubid(etar,eref)を使用できる。この関数は、etar及びerefのsub_idが同一であるとき1を返し、それ以外は0を返す。1つの実施形態においては、重みw3が大きい(指定スレッショルドを超える)場合に、結果として得られるパターン内において参照配置の構造をより良好に保存できる。1つの実施形態は、次のエラー関数を定義できる。
回転モード
種々の実施形態は、異なる目的のために異なる結果を生成するように1つ又は複数のモードを設ける。参照近隣の向きを保存するパターンの生成に使用できる非回転モードが設けられる。局所的なターゲット近隣の向きに対してそれを調整するように参照要素の近隣の向きを変更する回転モードが設けられ、より良好な分布を結果としてもたらす。ユーザ指定の、たとえばユーザによって、ここで述べられているようなフロー・フィールド・ツールの適用を通じて指定されるフロー・フィールドを追従するパターンを生成するフロー・フィールド・モードも設けられている。実施形態は、図16a〜16eの例によって示されるとおりの最良マッチング要素を見つけ出すプロセスに対する修正によってそれらの効果を達成できる。システムは、図16aに示されている例示的な参照要素を、図16bに示されている例示的なターゲット・シードに、選択されたモードに応じて異なってフィッティングる。図16cは、非回転モードの例示的な結果を示している。図16dは、回転モードの例示的な結果を示している。図16eは、フロー・フィールド・モードの例示的な結果を示している。
種々の実施形態は、異なる目的のために異なる結果を生成するように1つ又は複数のモードを設ける。参照近隣の向きを保存するパターンの生成に使用できる非回転モードが設けられる。局所的なターゲット近隣の向きに対してそれを調整するように参照要素の近隣の向きを変更する回転モードが設けられ、より良好な分布を結果としてもたらす。ユーザ指定の、たとえばユーザによって、ここで述べられているようなフロー・フィールド・ツールの適用を通じて指定されるフロー・フィールドを追従するパターンを生成するフロー・フィールド・モードも設けられている。実施形態は、図16a〜16eの例によって示されるとおりの最良マッチング要素を見つけ出すプロセスに対する修正によってそれらの効果を達成できる。システムは、図16aに示されている例示的な参照要素を、図16bに示されている例示的なターゲット・シードに、選択されたモードに応じて異なってフィッティングる。図16cは、非回転モードの例示的な結果を示している。図16dは、回転モードの例示的な結果を示している。図16eは、フロー・フィールド・モードの例示的な結果を示している。
非回転モードにおいては、最良フィッティング要素が、参照パターン(参照要素及びその近隣)の回転を伴わずに見つけ出され、エラー関数(1)はそのまま解かれる。回転モードにおいては、エラー関数(2)の計算時に最良フィッティングの回転を考慮できる。1つの実施形態においては、角度シータを用いて参照要素を回転することによってポジションの差を最小化できる。
ここでRθ(eref j)は、eref jの相対ポジションを回転させる。1つの実施形態においては、種々の形状マッチング方法のうちの1つを適用できる。
フロー・フィールド・モードにおいては、最良マッチングを見つけ出すときにユーザ指定のフロー・フィールドを考慮する。ターゲット・シードのポジションにおけるフロー・フィールドの向きが獲得される。その後、その向きに対してその局所x座標を調整し、したがってeref_flow及びw(eref_flow)を獲得するように全体の参照パターンが回転される。回転後の参照は、最良マッチングを見つけ出すときに使用できる。
局所的成長
上で述べたプロセスの実施形態を使用し、最良フィッティング参照要素及びオプションとして回転モードにおける最良フィッティング回転又はフロー・フィールド・モードにおけるフロー・フィールド回転を見つけ出すことができる。1つの実施形態は、最良フィッティング要素を使用することによって、リング形状と呼ぶことができるものを形成するターゲット・シード及びその近隣のポイント又は要素を局所的に成長させることができる。注意を要するが、これらの回転のうちの1つが利用可能である場合には、それを、以下に述べるプロセスの前に、参照要素及びそのリング形状に対して適用できる。
上で述べたプロセスの実施形態を使用し、最良フィッティング参照要素及びオプションとして回転モードにおける最良フィッティング回転又はフロー・フィールド・モードにおけるフロー・フィールド回転を見つけ出すことができる。1つの実施形態は、最良フィッティング要素を使用することによって、リング形状と呼ぶことができるものを形成するターゲット・シード及びその近隣のポイント又は要素を局所的に成長させることができる。注意を要するが、これらの回転のうちの1つが利用可能である場合には、それを、以下に述べるプロセスの前に、参照要素及びそのリング形状に対して適用できる。
再び図5a〜5hを参照すると、1つの実施形態において、最初にシステムは、見つけ出された参照要素102を用いてターゲット・シード100を置換する(たとえば、図5c及び5d参照)。システムは、記号ID及びサブIDをコピーする。次にシステムは、見つけた参照要素102の近隣要素を使用することによって新しいシードを配置し、それらの近隣要素が、ここでリング形状と呼ぶものを形成する。システムは、参照リング形状のコピーをターゲット・シード近隣に重ね(たとえば、図5f参照)、その後、エラー関数の計算時にターゲット近隣要素とペアにされた各近隣要素を削除する。残された要素は、対応する記号IDを伴う新しいシードを形成する(たとえば、図5g参照)。最後に、新しいシードを連結するようにエッジが構成される(たとえば、図5h参照)。
分布の過密又は過疎及び/又はエッジの衝突を回避するため、実施形態は、局所的成長プロセスの間に1つ又は複数のヒューリスティックを実装する。図17a〜17fは、1つの実施形態に従って望ましくない構造を回避するために使用できるヒューリスティック・アプローチを示している。新しいシードの獲得後、1つの実施形態は、各新しいシードの近隣エリアをチェックする。当該シードから距離スレッショルドlshort内に既存の要素又はシードが見つけ出されると、そのシードが削除され、見つけ出されたオブジェクトにエッジが連結される。1つの実施形態は、参照内におけるもっとも短いエッジ長の2分の1をlshortとして使用する。ほかの実施形態は、そのほかの長さ又は方法をlshortの計算に使用する。1つの実施形態は、新しいエッジ間の角度をチェックし、その角度が0.5×original_angleより小さいときは、新しいシード及びエッジが削除される(図17c参照)。original_angleは、選択された参照リング形状内のエッジ間の対応する角度である(図17a参照)。1つの実施形態は、新しいシードのエッジの衝突をチェックし、検出された場合には、当該シード及びエッジが除去される(図17d参照)。新しいシードの周囲に新しいエッジを構成するとき、1つの実施形態は、各エッジの長さをチェックする。エッジがスレッショルドllongより長い場合に、1つの実施形態は、対応する記号IDを伴わない追加シードを生成する(図17e参照)。1つの実施形態は、対応する角度を二分し、かつその長さが2つの隣接するエッジの平均となる線分の端にシードを配置する(図17e参照)。1つの実施形態においては、llongを1.5×original_lengthとして定義するが、その際、original_lengthは、重ねられる参照リング形状内の対応するエッジの長さである(図17a参照)。そのほかの実施形態は、スレッショルドllongの計算にほかの方法を使用することができる。システムは、その後、再び衝突についてエッジをチェックする。衝突が検出された場合には、1つ又は複数のオブジェクトが、etar、s0、及びs1によって構成される三角形内に存在しなければならないため、この実施形態はエッジを構成する(図17f参照)。
緩和
実施形態は、ターゲット近隣ともっとも類似する形状を有する近隣を伴う参照要素を配置する。しかしながら、システムが常に、誤差の値をゼロにする「ちょうどフィッティング」する要素を見つけ出すことができるとは限らないため、各局所的成長プロセスにおいて誤差が蓄積されることがある。1つの実施形態は、以前に合成された要素のポジションを修正して合成後のパターンの局所的特徴を、可能な限り参照のそれと類似に維持するように緩和プロセスを用意する。1つの実施形態においては、各合成後の要素について、システムが、各合成後の要素のリング形状を、対応する参照要素のそれに対して調整する。注意を要するが、各合成後の要素は、局所的成長プロセスにおいてマッチングされた対応する要素を持つことができる。
実施形態は、ターゲット近隣ともっとも類似する形状を有する近隣を伴う参照要素を配置する。しかしながら、システムが常に、誤差の値をゼロにする「ちょうどフィッティング」する要素を見つけ出すことができるとは限らないため、各局所的成長プロセスにおいて誤差が蓄積されることがある。1つの実施形態は、以前に合成された要素のポジションを修正して合成後のパターンの局所的特徴を、可能な限り参照のそれと類似に維持するように緩和プロセスを用意する。1つの実施形態においては、各合成後の要素について、システムが、各合成後の要素のリング形状を、対応する参照要素のそれに対して調整する。注意を要するが、各合成後の要素は、局所的成長プロセスにおいてマッチングされた対応する要素を持つことができる。
図18a〜18cは、1つの実施形態に従った緩和プロセスを示している。各頂点(図18a)の直近の形状が望ましい形状にフィッティングられる(図18b)。各頂点とそれの望ましいポジションの間におけるギャップが最小化される(図18c)。
図18a〜18cを参照し、xiを合成後の要素eref iのポジション、w(xi)をその近隣のポジションのセットとする。対応する参照リング形状の相対的ポジションは、ri jとすることができ、そのri jはxi j∈w(xi)に対応する(図18a及び18b参照)。1つの実施形態は、各近隣のポジションxjと対応する参照リング形状のポジションの間における距離が最小化される(図18c参照)。
この表現が平行移動不変量であることから、1つの実施形態は、一意的なミニマイザを有するために1つの要素のポジションをあらかじめ決定する。1つの実施形態においては、初期要素を初期ポジションに保持する。ユーザ指定の境界が存在する場合に1つの実施形態は、要素を、それらの生成されたポジションに拘束する。
線形拘束を伴う二次最小化問題は、たとえば閉じた形式により解くことができる。1つの実施形態は、ラグランジェの乗数法が適用される。ほかの実施形態は、ほかの方法を使用できる。注意を要するが、成長の間にエッジを失うか又は追加のエッジを獲得する要素が存在する。それらの要素は、すでに対応する参照要素と同じトポロジを持たない。またすべてのシードが、まだ対応する参照要素を有していないこともある。それらのオブジェクトのために、1つの実施形態は、それらの現在の近隣形状をターゲット・リング形状として使用する。ほかの実施形態は、ターゲット・リング形状の決定にほかの方法を使用できる。
図19a〜19fは、1つの実施形態に従った参照配置及び構成された連結及び合成された配置又はパターンを示している。図19a〜19fは、3つの異なるクラス、すなわち規則的パターン(図19a)、規則的に近いパターン(図19c)、及び不規則一様分布(図19f)における参照配置を用いて合成されたパターンを示す。図19aは、2つの異なる三角形のシェードと2つの異なる矩形のシェードが配置された規則的な参照配置を示しており、図19bは、図19aの参照配置から合成されたパターンを示している。図19cは、長短のブロックが配置された規則的に近い参照配置を示しており、図19dは、図19cの参照配置から合成されたパターンを示している。わずかなランダム性が、スケール回転及び各記号の色に導入されている。図19eは、不規則一様分布を伴う参照配置を示している。図19fは、図19eの参照配置から合成されたパターンを示している。水滴を表すスケッチのストロークが、不規則な分布で配置されている。システムが、局所的空間的関係及び近隣間のトポロジの維持を試みることから、これら3つのクラスを同一フレームワーク内でカバーすることが可能である。
図20a〜20c及び図21a〜21dは、1つの実施形態に従った回転モードの効果を示している。システムは、図20aに示されている同一の参照配置を採用し、非回転モード(図20b)と回転モード(図20c)において異なる結果を生成する。これらの例においては、より高い優先度がグレイの石に割り当てられている。両方のケースともに、2つのグレイの石が互いに近づいて現れている。それぞれの2つの石の向きが非回転モードにおいては保持されているが、回転モードにおいては局所的に回転させられている。図21a〜21dは、1つの実施形態に従ったフロー・フィールド・モードを示している。ユーザは、基礎をなすフロー・フィールドの指定によって配置パターンをコントロールすることも可能である。フロー・フィールド・モードにおいては、システムがユーザ指定の参照(図21a)及びフロー・フィールド(図21b)を採用し、当該フロー・フィールドに沿ってパターンを合成する(図21c)。1つの実施形態においては、ユーザがフロー・フィールド・ツールの使用によってストローク(図21bの曲線)を描くとき、システムが、図21bに示されているとおり、当該ストロークに沿って、フロー・フィールドを生成する。その後システムは、当該フロー・フィールドをはじめ図21aの参照配置を採用して、図21cに示されているとおり、鱗がフローに沿って整列される新しいパターンを合成する。1つの実施形態においては、システムが、一様な分布を維持するようにトポロジを変更できる。図21c内の円は、局所的なトポロジが変化しているポジションを強調している。図21dは結果としてもたらされる連結性を示す。
ユーザ・インターフェース
直観的な合成プロセスを提供するように、及びクリエイティブなデザイン・プロセスをサポートするように、実施形態は、結果としてもたらされるパターンの全体的な特徴をユーザ入力/コントロールに応答してコントロールするための1つ又は複数のタイプのインタラクション・ツールを、ユーザ・インターフェースを介して提供できる。このツールは、限定はされないが、次のうちの1つ又は複数を含むことができる。
・ ペインティング・ツール、たとえばカーソル・エリア下のシードをアクティブ化するスプレー・ツール。このツールは、ユーザが配置パターンをペイントすることを可能にする。実施形態は、充分に速く、迅速なフィードバックを返す。「スプレー・ツール」は、例のためにここで言及されており、限定は意図されず、カーソル又はそのほかのユーザによってコントロールされるユーザ・インターフェース要素の下のシードをアクティブ化するか、又は類似の「ペインティング・ツール」機能を実行するブラシ又はバケツ・ツールといったこのほかのタイプのペインティング・ツールも実施形態の中に設けられる。
・ ユーザがストロークのセットを描くことによってフロー・フィールドをデザインすることを可能にするフロー・フィールド・ツール。システムは、入力されたストロークの方向を制約条件として使用し、2D空間を、たとえばラジアル・ベース関数を使用して補間できる。
・ 局所的成長を停止させる境界ストロークのセットをユーザが描くことを可能にする境界ツール。
直観的な合成プロセスを提供するように、及びクリエイティブなデザイン・プロセスをサポートするように、実施形態は、結果としてもたらされるパターンの全体的な特徴をユーザ入力/コントロールに応答してコントロールするための1つ又は複数のタイプのインタラクション・ツールを、ユーザ・インターフェースを介して提供できる。このツールは、限定はされないが、次のうちの1つ又は複数を含むことができる。
・ ペインティング・ツール、たとえばカーソル・エリア下のシードをアクティブ化するスプレー・ツール。このツールは、ユーザが配置パターンをペイントすることを可能にする。実施形態は、充分に速く、迅速なフィードバックを返す。「スプレー・ツール」は、例のためにここで言及されており、限定は意図されず、カーソル又はそのほかのユーザによってコントロールされるユーザ・インターフェース要素の下のシードをアクティブ化するか、又は類似の「ペインティング・ツール」機能を実行するブラシ又はバケツ・ツールといったこのほかのタイプのペインティング・ツールも実施形態の中に設けられる。
・ ユーザがストロークのセットを描くことによってフロー・フィールドをデザインすることを可能にするフロー・フィールド・ツール。システムは、入力されたストロークの方向を制約条件として使用し、2D空間を、たとえばラジアル・ベース関数を使用して補間できる。
・ 局所的成長を停止させる境界ストロークのセットをユーザが描くことを可能にする境界ツール。
図22a〜22b、図23a〜23b、図24a〜24bは、実施形態に従い、種々のユーザ・インターフェース・ツールを使用して作り出された例示的な結果を示している。1つの実施形態は、結果が図22bに示されている基礎をなすフロー・フィールドを指定するためのフロー・フィールド・ツールを設ける。フロー・フィールド・ツールは、ユーザがストロークのセットを描くことによってフロー・フィールドをデザインすることを可能にする。システムは、入力されたストロークの方向を制約条件として使用し、2D空間を補間する。図22bにおいては、図22a内に示されている参照配置から合成された羽根の向きがフロー・フィールド・ツールを使用してコントロールされており、また成長エリアがスプレー・ツールを使用してコントロールされている。図22b内の矢印を伴う線は、所望のフロー・フィールドを指定するユーザ入力を表す。
1つの実施形態は、図23bに示されているとおり、成長を制限する境界ツールを設ける。境界ツールは、局所的成長を停止させる境界ストロークのセットをユーザが描くことを可能にする。図23bにおいては、図23a内に示されている参照配置から合成されるブロックの成長エリアが、境界ツールによって制限されている。図23b内の実線は、所望の境界を指定するユーザ入力を表す。
1つの実施形態は、ペインティング・ツール、たとえば結果が図24bに示されている成長エリアを指定するためのスプレー・ツールを設けている。1つの実施形態においては、スプレー・ツールが、カーソル・エリアの下のシードをアクティブ化する。このツールは、ユーザが配置パターンによってペイントすることを可能にする。スプレー・ツールの実施形態は、直ちにフィードバックを返すことができる。図24bにおいては、たとえばスプレー・ツールを使用し、図24a内に示されている参照又は配置パターンから合成される鱗を用いて4つの文字「Euro」がペイントされる。基礎をなすフロー・フィールドは、フロー・フィールド・ツールを使用して指定され、成長エリアは、スプレー・ツールを使用して指定できる。
図22b及び24bに示されている例において、丸められた形状を有し、かつわずかに傾斜された3次元(3D)オブジェクトが実施形態によって配置されているため、結果が重なり効果を自然に表現している。これらの例示的な図に示されている効果は、要素のレンダリング順序の明示的な指定が要求されることから2Dベクトル・ベースのアプローチを用いて作り出すことが困難である。いくつかの実施形態は、合成プロセスにおいて、たとえば局所的エリア内への集中における誤りを回避する補助、及び滑らかな結果を獲得する補助ができる分布の全体的形状を最適化することができる。また実施形態は、配置を獲得した後に各要素の局所的な向き又はサイズを修正する能力も有する。このタイプのコントロールは、ピクセル・ベースのテクスチャ合成にとって困難である。
図25は、1つの実施形態に従った見本ベースの手続き的パターン合成モジュールを示している。実施形態においては、見本から要素配置を合成するための方法及び装置が、ここで述べられているとおり、モジュール300として、又は図25に示されているとおりにその中に実装される。見本ベースの手続き的パターン合成モジュール300は、スタンドアロン・アプリケーション内で、又はグラフィック・アプリケーション又はそのほかのグラフィック・ツールを設けたグラフィック・ライブラリのモジュールとして実装される。モジュール300の実施形態が実装できるグラフィック・アプリケーションの例は、限定はされないが、ペインティング、出版、写真、ゲーム、アニメーション、及び/又はそのほかのアプリケーションを含む。モジュール300は、画像、ビデオ、及び/又はそのほかのグラフィック出力の表示、レンダリング、製作、及び/又はストアに使用できる。
モジュール300は、境界ツール304、フロー・フィールド・ツール306、及びペインティング・ツール308等の1つ又は複数のツールを含むユーザ・インターフェース302を設けている。モジュール300は、1つ又は複数のパターン310(参照配置)を獲得し、かつ当該パターン(1つ又は複数)310から、ユーザ・インターフェース302を介して受信されるユーザ入力312に従って1つ又は複数のディジタル画像320内に1つ又は複数の要素配置322を生成する。モジュール300は、ここに述べられているとおり、入力されたパターン(1つ又は複数)310からの要素配置322の生成において、参照配置と呼ぶことができる見本とターゲットの局所的近隣比較に基づくテクスチャ合成テクニックと、局所的成長に基づく手続き的モデリングとを結合できる。
要素配置のための見本ベースの手続き的方法及び装置の実施形態を説明してきた。実施形態は、見本(参照配置)とターゲットの局所的近隣比較に基づくテクスチャ合成テクニックと、局所的成長に基づく手続き的モデリングとを結合できる。見本ベースの手続き的方法及び装置においてユーザは、要素配置を合成する難しいスクリプトを記述することによって規則を定義する必要がない。実施形態は、ユーザ・インターフェースを介したユーザ・コントロールを用いて、見本から要素配置を合成するためのコントロール可能な合成フレームワークを設けている。ユーザは、ユーザ・インターフェースを介してイネーブルされるプロセスに設けられた1つ又は複数のツールを介して合成プロセスをインタラクティブに、かつ動的にコントロールできる。
例示的なシステム
見本から要素配置を合成するための方法及び装置の実施形態の多様なコンポーネントは、ほかの多様なデバイスとインタラクションできる1つ又は複数のコンピュータ・システム上において実行できる。1つのその種のコンピュータ・システムが図26によって示されている。示されている実施形態においては、コンピュータ・システム700が、入力/出力(I/O)インターフェース730を介してシステム・メモリ720に結合される1つ又は複数のプロセッサ710を含む。さらにコンピュータ・システム700は、ネットワーク・インターフェース740、及びカーソル・コントロール・デバイス760、キーボード770、オーディオ・デバイス790、及びディスプレイ(1つ又は複数)780等といったI/Oインターフェース730に結合された1つ又は複数の入力/出力デバイス750も含む。いくつかの実施形態においては、コンピュータ・システム700の単一インスタンスを使用して当該実施形態を実装できることが企図され、ほかの実施形態においては、複数のその種のシステム又はコンピュータ・システム700を構成する複数のノードを、実施形態の異なる部分又はインスタンスをホストするように構成できる。たとえば、1つの実施形態においては、いくつかの要素を、ほかの要素を実装するノードと明瞭に異なるコンピュータ・システム700の1つ又は複数のノードを介して実装できる。
見本から要素配置を合成するための方法及び装置の実施形態の多様なコンポーネントは、ほかの多様なデバイスとインタラクションできる1つ又は複数のコンピュータ・システム上において実行できる。1つのその種のコンピュータ・システムが図26によって示されている。示されている実施形態においては、コンピュータ・システム700が、入力/出力(I/O)インターフェース730を介してシステム・メモリ720に結合される1つ又は複数のプロセッサ710を含む。さらにコンピュータ・システム700は、ネットワーク・インターフェース740、及びカーソル・コントロール・デバイス760、キーボード770、オーディオ・デバイス790、及びディスプレイ(1つ又は複数)780等といったI/Oインターフェース730に結合された1つ又は複数の入力/出力デバイス750も含む。いくつかの実施形態においては、コンピュータ・システム700の単一インスタンスを使用して当該実施形態を実装できることが企図され、ほかの実施形態においては、複数のその種のシステム又はコンピュータ・システム700を構成する複数のノードを、実施形態の異なる部分又はインスタンスをホストするように構成できる。たとえば、1つの実施形態においては、いくつかの要素を、ほかの要素を実装するノードと明瞭に異なるコンピュータ・システム700の1つ又は複数のノードを介して実装できる。
種々の実施形態においては、コンピュータ・システム700を1つのプロセッサ710を含むユニプロセッサ・システムとするか、又はいくつかの(たとえば、2、4、8、又は別の適切な数の)プロセッサ710を含むマルチプロセッサ・システムとすることができる。プロセッサ710は、インストラクションを実行することが可能な任意の適切なプロセッサとすることができる。たとえば、種々の実施形態においてプロセッサ710を、x86、パワーPC(PowerPC)、スパーク(SPARC)、又はMIPS ISA、又はそのほかの任意の適切なISAといった種々のインストラクション・セット・アーキテクチャ(ISA)のいずれかを実装する汎用又は埋め込みプロセッサとすることができる。マルチプロセッサ・システムにおいては、プロセッサ710のそれぞれが、必然ではないが同一ISAを共通に実装できる。
システム・メモリ720は、プロセッサ710によってアクセス可能なプログラム・インストラクション及び/又はデータをストアするように構成できる。種々の実施形態においては、スタティック・ランダム・アクセス・メモリ(SRAM)、同期ダイナミックRAM(SDRAM)、不揮発性/フラッシュ・タイプのメモリ、又は任意のそのほかのタイプのメモリ等、任意の適切なメモリ・テクノロジを使用してシステム・メモリ720を実装できる。示されている実施形態においては、見本から要素配置を合成するための方法及び装置について前述したような所望の機能を実施するプログラム・インストラクション及びデータが、それぞれプログラム・インストラクション725及びデータ・ストレージ735としてシステム・メモリ720内にストアされることが示されている。ほかの実施形態においては、システム・メモリ720又はコンピュータ・システム700とは別の異なるタイプのコンピュータ‐アクセス可能メディア又は類似のメディア上にストアされるか、又は送信されるプログラム・インストラクション及び/又はデータを受信できる。概して言えば、コンピュータ‐アクセス可能メディアは、I/Oインターフェース730を介してコンピュータ・システム700に結合される磁気又は光メディア、たとえばディスク又はCD/DVD‐ROM等のストレージ・メディア又はメモリ・メディアを含むことができる。コンピュータ‐アクセス可能メディアを介してストアされるプログラム・インストラクション及びデータは、ネットワーク・インターフェース740を介して実装できるといった類のネットワーク及び/又は無線リンク等の通信メディアを介して伝達できる電気、電磁気、又はディジタル信号等の送信メディア又は信号によって送信される。
1つの実施形態においては、プロセッサ710、システム・メモリ720、及びネットワーク・インターフェース740又はそのほかの入力/出力デバイス750等の周辺インターフェースを含むデバイス内の任意の周辺デバイスの間におけるI/Oトラフィックを調和するようにI/Oインターフェース730が構成される。いくつかの実施形態においては、I/Oインターフェース730は、1つのコンポーネント(たとえば、システム・メモリ720)からのデータ信号を別のコンポーネント(たとえば、プロセッサ710)による使用に適したフォーマットに変換するための任意の必要なプロトコル、タイミング、又はそのほかのデータの変換を実行できる。いくつかの実施形態においては、I/Oインターフェース730が、たとえば各種のペリフェラル・コンポーネント・インターコネクト(PCI)バス標準又はユニバーサル・シリアル・バス(USB)標準等の種々のタイプの周辺バスを通じて取り付けられるデバイスのためのサポートを含む。いくつかの実施形態においては、I/Oインターフェース730の機能を、2又はそれより多くの別々のコンポーネント、たとえばノース・ブリッジ及びサウス・ブリッジ等に分割できる。加えて、いくつかの実施形態においては、システム・メモリ720に対するインターフェース等のI/Oインターフェース730の機能の一部又は全部を、プロセッサ710内に直接組み込むことができる。
ネットワーク・インターフェース740は、コンピュータ・システム700と、ネットワークに取り付けられたほかのデバイス、たとえばほかのコンピュータ・システムの間、又はコンピュータ・システム700のノード間におけるデータの交換を可能にするように構成される。種々の実施形態においては、ネットワーク・インターフェース740が、任意の適切なタイプの、たとえばイーサネット(登録商標)・ネットワーク等の有線又は無線の汎用データ・ネットワーク経由、アナログ音声ネットワーク又はディジタル・ファイバ通信ネットワーク等のテレコミュニケーション/電話網経由、ファイバ・チャンネルSAN等のストレージ・エリア・ネットワーク経由、又はそのほかの任意の適切なタイプのネットワーク及び/又はプロトコル経由の通信をサポートしている。
入力/出力デバイス750は、いくつかの実施形態において、1つ又は複数のディスプレイ端末、キーボード、キーパッド、タッチパッド、スキャニング・デバイス、音声又は光学認識デバイス、又は任意のそのほかの、1つ又は複数のコンピュータ・システム700によるデータの入力又は取り出しに適したデバイスを含むことができる。複数の入力/出力デバイス750をコンピュータ・システム700内に存在させることができるか、又はコンピュータ・システム700の種々のノード上に分散させることができる。いくつかの実施形態においては、類似する入力/出力デバイスがコンピュータ・システム700から分離でき、かつネットワーク・インターフェース740を介して等の有線又は無線接続を通じてコンピュータ・システム700の1つ又は複数のノードとインタラクションできる。
図26に示されているとおり、メモリ720は、ここで述べられているとおりの見本から要素配置を合成するための方法及び装置の実施形態を実施するように構成されたプログラム・インストラクション725、及びプログラム・インストラクション725によってアクセス可能な種々のデータを包含するデータ・ストレージ735を含む。1つの実施形態においては、プログラム・インストラクション725が、前述の図1a〜25内に示されているとおりの見本から要素配置を合成するための方法及び装置のソフトウエア要素を含む。データ・ストレージ735は、実施形態内において使用できるデータを含む。ほかの実施形態においては、このほかの、又は異なるソフトウエア要素及びデータを含むことができる。
プログラム・インストラクション725は、種々の実施形態において、見本から要素配置を合成するための方法及び装置を、スタンドアロン・アプリケーションとして、又は別のグラフィック・アプリケーション又はグラフィック・ライブラリのモジュールとして実装するように構成できる。たとえば1つの実施形態においては、プログラム・インストラクション725を、ペインティング、出版、写真、ゲーム、アニメーション、及び/又はそのほかのアプリケーション等の1つ又は複数のグラフィック・アプリケーションを実装するように構成し、またそれらのグラフィック・アプリケーションのうちの1つ又は複数の部品として、ここに述べられているとおりに見本から要素配置を合成するように構成してもよい。別の実施形態では、プロセッサ(1つ又は複数)710上で、又はネットワーク・インターフェース740を介し、何らかのほかのデバイス又はシステム上で実行されている別のグラフィック・アプリケーションによる1つ又は複数の関数呼び出しにおいて、ここに述べられているとおりの見本から要素配置を合成するための方法及び装置を実装するようにプログラム・インストラクション725を構成する。またプログラム・インストラクション725を、種々の実施形態において、画像のレンダリングを行い、それを1つ又は複数のディスプレイ780上に、見本から要素配置を合成するための方法及び装置の出力として呈示するか、かつ/又はレンダリング後の画像データをメモリ720内にストアするように構成することもできる。
当業者は認識することになろうが、コンピュータ・システム700は、単なる例示であって、ここで述べられているとおりの見本から要素配置を合成するための方法及び装置の範囲を限定することが意図されていない。詳細に述べれば、コンピュータ・システム及びデバイスは、コンピュータ、ネットワーク・デバイス、インターネット・アプライアンス、PDA、無線電話、ページャ等を含む、望ましい機能の実行が可能なハードウエア又はソフトウエアの任意の組み合わせを含むことができる。またコンピュータ・システム700は、示されていないこのほかのデバイスに接続できるか、又はそれに代えて、スタンドアロン・システムとして動作できる。加えて、いくつかの実施形態においては、示されているコンポーネントによって提供される機能を、より少ないコンポーネント内において結合すること、又は追加のコンポーネント内に分散させることができる。同様に、いくつかの実施形態においては、示されているコンポーネントのいくつかの機能を設けなくてもよく、かつ/又はそのほかの追加の機能を利用可能にできる。
これもまた当業者は認識することになろうが、使用の間にメモリ内又はストレージ上にストアされるとして種々のアイテムが示されているが、これらのアイテム又はそれらの一部は、メモリ・マネジメントやデータ保全の目的のためにメモリ及びそのほかのストレージ・デバイスの間で転送される。それに代えて、ほかの実施形態においては、ソフトウエア・コンポーネントの一部又は全部を別のデバイス上のメモリ内で実行し、示されているコンピュータ・システムに、コンピュータ間通信を介して伝達することができる。システムコンポーネント又はデータ構造の一部又は全部もまた、種々の例が上で述べられているコンピュータ‐アクセス可能メディア又は適切なドライブによって読み出されるポータブル物品上にストア(たとえば、インストラクション又は構造化されたデータとして)される。いくつかの実施形態においては、コンピュータ・システム700とは別のコンピュータ‐アクセス可能メディア上にストアされたインストラクションを、ネットワーク及び/又は無線リンク等の通信メディアを介して伝達される電気、電磁気、又はディジタル信号等の送信メディア又は信号を介してコンピュータ・システム700に送信することができる。多様な実施形態は、さらに、コンピュータ‐アクセス可能メディア上において以上の記述に従って実施されるインストラクション及び/又はデータの受信、送信、又はストアを含む。したがって、本発明は、このほかのコンピュータ・システム構成を用いても実施できる。
結論
種々の実施形態は、さらに、コンピュータ‐アクセス可能メディア上において以上の記述に従って実装されるインストラクション及び/又はデータの受信、送信、又はストアを含む。概して言えば、コンピュータ‐アクセス可能メディアは、磁気又は光メディア等、たとえばディスク又はDVD/CD‐ROM、揮発性又は不揮発性メディア、たとえばRAM(たとえば、SDRAM、DDR、RDRAM、SRAM等)、ROM等のストレージ・メディア又はメモリ・メディアをはじめ、ネットワーク及び/又は無線リンク等の通信メディアを介して伝達される電気、電磁気、又はディジタル信号等の送信メディア又は信号を含むことができる。
種々の実施形態は、さらに、コンピュータ‐アクセス可能メディア上において以上の記述に従って実装されるインストラクション及び/又はデータの受信、送信、又はストアを含む。概して言えば、コンピュータ‐アクセス可能メディアは、磁気又は光メディア等、たとえばディスク又はDVD/CD‐ROM、揮発性又は不揮発性メディア、たとえばRAM(たとえば、SDRAM、DDR、RDRAM、SRAM等)、ROM等のストレージ・メディア又はメモリ・メディアをはじめ、ネットワーク及び/又は無線リンク等の通信メディアを介して伝達される電気、電磁気、又はディジタル信号等の送信メディア又は信号を含むことができる。
図面内に示され、ここで説明されているとおりの種々の方法は、方法の例示的な実施形態を表す。それらの方法は、ソフトウエア、ハードウエア、又はこれらの組み合わせにおいて実施できる。方法の順序は変更でき、種々の要素の追加、再順序設定、結合、スリップ、修正等を行うことができる。
この開示の恩典を受ける当業者には自明となるとおり、種々の修正及び変更を行うことができる。本発明がすべてのその種の修正及び変更を囲い込むことが意図されており、したがって上記の説明は限定の意味ではなく例示と考えられるべきとする。
100 シード;ターゲット・シード
102 参照要素
110 ターゲット・シード
112 参照要素
300 モジュール;見本ベースの手続き的パターン合成モジュール
302 ユーザ・インターフェース
304 境界ツール
306 フロー・フィールド・ツール
308 ペインティング・ツール
310 パターン
312 ユーザ入力
320 ディジタル画像
322 要素配置
102 参照要素
110 ターゲット・シード
112 参照要素
300 モジュール;見本ベースの手続き的パターン合成モジュール
302 ユーザ・インターフェース
304 境界ツール
306 フロー・フィールド・ツール
308 ペインティング・ツール
310 パターン
312 ユーザ入力
320 ディジタル画像
322 要素配置
Claims (31)
- パターンを合成するためのコンピュータで実施される方法であって、
反復的に単一要素を合成されるパターン内に配置することを包含し、前記単一の要素を合成されるパターン内に配置することが、
合成されるパターン・エリア内のターゲット・シードを決定すること、
前記合成されるパターン・エリア内の前記ターゲット・シードについての近隣特徴を決定すること、
前記ターゲット・シードの前記近隣特徴にもっとも類似する近隣特徴を有する複数の要素を包含する参照配置内の参照要素を決定すること、及び
前記参照要素のコピーを前記合成されるパターン・エリア内の前記ターゲット・シードの場所に配置すること、
を包含する方法。 - さらに、前記反復的に単一要素を合成されるパターン内に配置することに先行して、
前記参照配置の前記複数の要素の間の連結性を構成すること、及び
前記要素の前記連結性に従って前記参照配置内の各要素の近隣特徴を決定することを包含する、請求項1に記載の方法。 - 前記反復的に単一要素を合成されるパターン内に配置することは、さらに、前記ターゲット・シードの前記場所及び前記参照要素の前記近隣特徴に従って前記合成されるパターン・エリア内に1つ又は複数の新しいシードを生成することを包含する、請求項1に記載の方法。
- 前記ターゲット・シードの前記近隣特徴にもっとも類似する近隣特徴を有する複数の要素を包含する参照配置内の参照要素を決定することは、前記参照要素の前記近隣に対して回転を適用して、前記参照要素の前記近隣を前記ターゲット・シードの前記近隣に対して調整することを包含する、請求項1に記載の方法。
- 前記反復的に単一要素を合成されるパターン内に配置することは、さらに、フロー・フィールドに従って前記合成されるパターン・エリア内の前記参照要素の前記コピーの配置を調整することを包含する、請求項1に記載の方法。
- さらに、前記フロー・フィールドを指定するユーザ入力を受信することを包含する、請求項5に記載の方法。
- 前記合成されるパターン・エリアは1つ又は複数の境界を含み、前記方法は、さらに、前記1つ又は複数の境界に従って前記合成されるパターン・エリア内の前記参照要素のコピーの配置を制限することを包含する、請求項1に記載の方法。
- さらに、前記1つ又は複数の境界を指定するユーザ入力を受信することを包含する、請求項7に記載の方法。
- 前記反復的に単一要素を合成されるパターン内に配置することは、ユーザ・インターフェースに設けられたペインティング・ツールを介したユーザ入力の受信に応答して実行される、請求項1に記載の方法。
- 前記参照配置は、複数の異なるタイプの要素を包含する、請求項1に記載の方法。
- さらに、前記参照配置内の各タイプの各要素に対して記号識別子を割り当てることを包含し、前記記号識別子は、前記参照配置内のそれぞれの要素のタイプを一意的に識別する、請求項10に記載の方法。
- さらに、前記参照配置内の各要素にサブ識別子を割り当てることを包含し、前記サブ識別子は、前記参照配置内のそれぞれの要素を一意的に識別する、請求項11に記載の方法。
- 前記反復的に単一要素を合成されるパターン内に配置することは、さらに、前記参照配置内の前記要素に割り当てられた前記記号識別子及びサブ識別子に従って、前記合成されるパターン・エリア内に配置するために前記参照配置から少なくともいくつかの要素を選択することを包含する、請求項12に記載の方法。
- 少なくとも1つのプロセッサ、及び
プログラム・インストラクションを包含するメモリを包含し、前記プログラム・インストラクションが、
反復的に単一要素を合成されるパターン内に配置するように前記少なくとも1つのプロセッサによって実行可能であり、それにおいて単一の要素を前記合成されるパターン内に配置することが、
合成されるパターン・エリア内のターゲット・シードを決定すること、
前記合成されるパターン・エリア内の前記ターゲット・シードについての近隣特徴を決定すること、
前記ターゲット・シードの前記近隣特徴にもっとも類似する近隣特徴を有する複数の要素を包含する参照配置内の参照要素を決定すること、及び
前記参照要素のコピーを前記合成されるパターン・エリア内の前記ターゲット・シードの場所に配置すること、
を包含するシステム。 - 前記プログラム・インストラクションが、前記少なくとも1つのプロセッサによって、前記反復的に単一要素を合成されるパターン内に配置することに先行して、
前記参照配置の前記複数の要素の間の連結性を構成し、かつ
前記要素の前記連結性に従って前記参照配置内の各要素の近隣特徴を決定するように実行可能である、請求項14に記載のシステム。 - 前記反復的に単一要素を合成されるパターン内に配置するために、前記プログラム・インストラクションが、前記少なくとも1つのプロセッサによって、前記ターゲット・シードの前記場所及び前記参照要素の前記近隣特徴に従って前記合成されるパターン・エリア内に1つ又は複数の新しいシードを生成するように実行可能である、請求項14に記載のシステム。
- 前記ターゲット・シードの前記近隣特徴にもっとも類似する近隣特徴を有する複数の要素を包含する参照配置内の参照要素を決定するために、前記プログラム・インストラクションが、前記少なくとも1つのプロセッサによって、前記参照要素の前記近隣に対して回転を適用して、前記参照要素の前記近隣を前記ターゲット・シードの前記近隣に対して調整するように実行可能である、請求項14に記載のシステム。
- 前記プログラム・インストラクションが、前記少なくとも1つのプロセッサによって、
前記合成されるパターンのためのフロー・フィールドを指定するユーザ入力を受信し、かつ
前記フロー・フィールドに従って前記合成されるパターン・エリア内の参照要素のコピーの配置を調整するように実行可能である、請求項14に記載のシステム。 - 前記プログラム・インストラクションが、前記少なくとも1つのプロセッサによって、
前記合成されるパターンのための1つ又は複数の境界を指定するユーザ入力を受信し、かつ
前記1つ又は複数の境界に従って前記合成されるパターン・エリア内の参照要素のコピーの配置を制限するように実行可能である、請求項14に記載のシステム。 - 前記プログラム・インストラクションが、前記少なくとも1つのプロセッサによって、ユーザ・インターフェースによって提供されるペインティング・ツールを介してユーザ入力を受信するように実行可能であり、前記ユーザ入力は、前記プログラム・インストラクションに、反復的に単一要素を前記合成されるパターン内に配置するように指示する、請求項14に記載のシステム。
- 前記参照配置は、複数の異なるタイプの要素を包含し、前記プログラム・インストラクションが、前記少なくとも1つのプロセッサによって、
前記参照配置内の各タイプの各要素に対し、記号識別子であって前記参照配置内の要素のそれぞれのタイプを一意的に識別する記号識別子を割り当て、かつ
前記参照配置内の各要素に対し、サブ識別子であって前記参照配置内のそれぞれの要素を一意的に識別するサブ識別子を割り当てるべく実行可能である、請求項14に記載のシステム。 - 前記反復的に単一要素を合成されるパターン内に配置するために、前記プログラム・インストラクションが、前記少なくとも1つのプロセッサによって、前記参照配置内の前記要素に割り当てられた前記記号識別子及びサブ識別子に従って、前記合成されるパターン・エリア内に配置するために前記参照配置から少なくともいくつかの要素を選択するように実行可能である、請求項21に記載のシステム。
- プログラム・インストラクションをストアするコンピュータ可読ストレージ・メディアであって、前記プログラム・インストラクションが、
反復的に単一要素を合成されるパターン内に配置することを実施するようにコンピュータ実行可能であり、前記単一の要素を合成されるパターン内に配置することが、
合成されるパターン・エリア内のターゲット・シードを決定すること、
前記合成されるパターン・エリア内の前記ターゲット・シードについての近隣特徴を決定すること、
前記ターゲット・シードの前記近隣特徴にもっとも類似する近隣特徴を有する複数の要素を包含する参照配置内の参照要素を決定すること、及び
前記参照要素のコピーを前記合成されるパターン・エリア内の前記ターゲット・シードの場所に配置すること、
を包含する、コンピュータ可読ストレージ・メディア。 - 前記プログラム・インストラクションが、前記反復的に単一要素を合成されるパターン内に配置することに先行して、
前記参照配置の前記複数の要素の間の連結性を構成すること、及び
前記要素の前記連結性に従って前記参照配置内の各要素の近隣特徴を決定することを実装するようにコンピュータ実行可能である、請求項23に記載のコンピュータ可読ストレージ・メディア。 - 前記反復的に単一要素を合成されるパターン内に配置することにおいて、前記プログラム・インストラクションが、前記ターゲット・シードの前記場所及び前記参照要素の前記近隣特徴に従って前記合成されるパターン・エリア内に1つ又は複数の新しいシードを生成することを実施するようにコンピュータ実行可能である、請求項23に記載のコンピュータ可読ストレージ・メディア。
- 前記ターゲット・シードの前記近隣特徴にもっとも類似する近隣特徴を有する複数の要素を包含する参照配置内の参照要素を決定することにおいて、前記プログラム・インストラクションが、前記参照要素の前記近隣に対して回転を適用して、前記参照要素の前記近隣を前記ターゲット・シードの前記近隣に対して調整することを実装するようにコンピュータ実行可能である、請求項23に記載のコンピュータ可読ストレージ・メディア。
- 前記プログラム・インストラクションが、
前記合成されるパターンのためのフロー・フィールドを指定するユーザ入力を受信すること、及び
前記反復的に単一要素を合成されるパターン内に配置することにおいて、フロー・フィールドに従って前記合成されるパターン・エリア内の参照要素のコピーの配置を調整することを実装するようにコンピュータ実行可能である、請求項23に記載のコンピュータ可読ストレージ・メディア。 - 前記プログラム・インストラクションが、
前記合成されるパターンのための1つ又は複数の境界を指定するユーザ入力を受信すること、及び
前記反復的に単一要素を合成されるパターン内に配置することにおいて、前記1つ又は複数の境界に従って前記合成されるパターン・エリア内の参照要素のコピーの配置を制限することを実施するようにコンピュータ実行可能である、請求項23に記載のコンピュータ可読ストレージ・メディア。 - 前記プログラム・インストラクションが、ペインティング・ツールを介してユーザ入力を受信することを実装するようにコンピュータ実行可能であり、それにおいて前記反復的に単一要素を合成されるパターン内に配置することが、前記ペインティング・ツールを介した前記ユーザ入力の受信に応答して実行される、請求項23に記載のコンピュータ可読ストレージ・メディア。
- 前記参照配置は、複数の異なるタイプの要素を包含し、それにおいて前記プログラム・インストラクションが、
前記参照配置内の各タイプの各要素に対し、記号識別子であって前記参照配置内の要素のそれぞれのタイプを一意的に識別する記号識別子を割り当てること、
前記参照配置内の各要素に対し、サブ識別子であって前記参照配置内のそれぞれの要素を一意的に識別するサブ識別子を割り当てることを実施するようにコンピュータ実行可能である、請求項23に記載のコンピュータ可読ストレージ・メディア。 - 前記反復的に単一要素を合成されるパターン内に配置することにおいて、前記プログラム・インストラクションが、前記参照配置内の前記要素に割り当てられた前記記号識別子及び前記サブ識別子に従って、前記合成されるパターン・エリア内に配置するために前記参照配置から少なくともいくつかの要素を選択することを実装するようにコンピュータ実行可能である、請求項30に記載のコンピュータ可読ストレージ・メディア。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US96950807P | 2007-08-31 | 2007-08-31 | |
US12/039,164 US8457405B2 (en) | 2007-08-31 | 2008-02-28 | Example-based procedural synthesis of element arrangements |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009059368A true JP2009059368A (ja) | 2009-03-19 |
Family
ID=40406724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008223336A Withdrawn JP2009059368A (ja) | 2007-08-31 | 2008-09-01 | 要素配置の見本ベースの手続き的合成 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8457405B2 (ja) |
JP (1) | JP2009059368A (ja) |
CN (1) | CN101447088B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024150415A1 (ja) * | 2023-01-13 | 2024-07-18 | 株式会社Live2D | 描画プログラム、描画装置、制御方法及び記録媒体 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8280703B1 (en) * | 2009-01-20 | 2012-10-02 | Adobe Systems Incorporated | Method and apparatus for controlling procedural models |
US8249365B1 (en) | 2009-09-04 | 2012-08-21 | Adobe Systems Incorporated | Methods and apparatus for directional texture generation using sample-based texture synthesis |
US8599219B2 (en) | 2009-09-18 | 2013-12-03 | Adobe Systems Incorporated | Methods and apparatuses for generating thumbnail summaries for image collections |
US8619098B2 (en) | 2009-09-18 | 2013-12-31 | Adobe Systems Incorporated | Methods and apparatuses for generating co-salient thumbnails for digital images |
US8698829B2 (en) | 2010-05-28 | 2014-04-15 | Microsoft Corporation | Discrete element texture synthesis |
US20120092374A1 (en) * | 2010-10-19 | 2012-04-19 | Apple Inc. | Systems, methods, and computer-readable media for placing a representation of the captured signature in a document |
US8681387B2 (en) * | 2010-12-02 | 2014-03-25 | Xerox Corporation | Guilloche mark generation |
CN102034252B (zh) * | 2010-12-29 | 2012-07-04 | 厦门大学 | 手绘图案的合成方法 |
US8861868B2 (en) | 2011-08-29 | 2014-10-14 | Adobe-Systems Incorporated | Patch-based synthesis techniques |
US9251620B2 (en) * | 2011-10-26 | 2016-02-02 | Disney Enterprises, Inc. | Fast pattern interpolation with parallel coherent random walk searching |
US8576239B2 (en) * | 2011-10-26 | 2013-11-05 | Disney Enterprises, Inc. | Parallel coherent random walk search for image processing |
US20140355888A1 (en) * | 2013-05-31 | 2014-12-04 | Siemens Product Lifecycle Management Software Inc. | Automatic detection of regular patterns of features |
CN114785696B (zh) * | 2022-05-09 | 2024-03-29 | 中国人民解放军国防科技大学 | 复杂网络节点的重要度评估方法及装置 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000209425A (ja) * | 1998-11-09 | 2000-07-28 | Canon Inc | 画像処理装置及び方法並びに記憶媒体 |
JP2000215317A (ja) * | 1998-11-16 | 2000-08-04 | Sony Corp | 画像処理方法及び画像処理装置 |
US6919903B2 (en) * | 2001-03-02 | 2005-07-19 | Mitsubishi Electric Research Laboratories, Inc. | Texture synthesis and transfer for pixel images |
US6964025B2 (en) * | 2001-03-20 | 2005-11-08 | Microsoft Corporation | Auto thumbnail gallery |
US7136072B2 (en) * | 2001-08-03 | 2006-11-14 | Hewlett-Packard Development Company, L.P. | System and method for performing texture synthesis |
US7069506B2 (en) * | 2001-08-08 | 2006-06-27 | Xerox Corporation | Methods and systems for generating enhanced thumbnails |
US6937275B2 (en) * | 2001-12-20 | 2005-08-30 | Hewlett-Packard Development Company, L.P. | Contact sheet file-generating digital camera |
KR100468967B1 (ko) * | 2001-12-28 | 2005-01-29 | 엘지전자 주식회사 | 썸네일 영상 생성장치 및 방법 |
US6762769B2 (en) * | 2002-01-23 | 2004-07-13 | Microsoft Corporation | System and method for real-time texture synthesis using patch-based sampling |
KR100469422B1 (ko) * | 2002-04-08 | 2005-02-02 | 엘지전자 주식회사 | 이동통신 단말기의 섬 네일 이미지 브라우징 방법 |
US7239314B2 (en) * | 2002-08-29 | 2007-07-03 | Warner Bros. Animation | Method for 2-D animation |
US6987520B2 (en) * | 2003-02-24 | 2006-01-17 | Microsoft Corporation | Image region filling by exemplar-based inpainting |
US7012624B2 (en) * | 2003-12-29 | 2006-03-14 | Arcsoft, Inc. | Texture synthesis for repairing damaged images |
US7577313B1 (en) * | 2003-12-30 | 2009-08-18 | Adobe Systems Incorporated | Generating synthesized texture in differential space |
US7596751B2 (en) * | 2005-04-22 | 2009-09-29 | Hewlett-Packard Development Company, L.P. | Contact sheet based image management |
US20060267958A1 (en) * | 2005-04-22 | 2006-11-30 | Microsoft Corporation | Touch Input Programmatical Interfaces |
US7502521B2 (en) * | 2005-06-21 | 2009-03-10 | Microsoft Corporation | Image completion with structure propagation |
US7283140B2 (en) * | 2005-06-21 | 2007-10-16 | Microsoft Corporation | Texture montage |
US7800627B2 (en) * | 2007-06-08 | 2010-09-21 | Microsoft Corporation | Mesh quilting for geometric texture synthesis |
US8280703B1 (en) * | 2009-01-20 | 2012-10-02 | Adobe Systems Incorporated | Method and apparatus for controlling procedural models |
US8249365B1 (en) * | 2009-09-04 | 2012-08-21 | Adobe Systems Incorporated | Methods and apparatus for directional texture generation using sample-based texture synthesis |
-
2008
- 2008-02-28 US US12/039,164 patent/US8457405B2/en active Active
- 2008-08-29 CN CN200810212694XA patent/CN101447088B/zh active Active
- 2008-09-01 JP JP2008223336A patent/JP2009059368A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024150415A1 (ja) * | 2023-01-13 | 2024-07-18 | 株式会社Live2D | 描画プログラム、描画装置、制御方法及び記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
US8457405B2 (en) | 2013-06-04 |
CN101447088A (zh) | 2009-06-03 |
CN101447088B (zh) | 2012-01-18 |
US20090058871A1 (en) | 2009-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009059368A (ja) | 要素配置の見本ベースの手続き的合成 | |
JP5045619B2 (ja) | 画像処理装置および方法、並びにプログラム | |
Weber et al. | Creation and rendering of realistic trees | |
US8917283B2 (en) | Polygon processing techniques in procedural painting algorithms | |
US8280703B1 (en) | Method and apparatus for controlling procedural models | |
KR100914846B1 (ko) | 2차원 환경에서 3차원 모델의 텍스쳐 맵 제작 방법 및시스템 | |
US20130127848A1 (en) | System and Method for Generating 3D Surface Patches from Unconstrained 3D Curves | |
US8952964B2 (en) | Generating animated voronoi treemaps to visualize dynamic hierarchical data with node insertion | |
CN102411791B (zh) | 一种静止图像动态化的方法和设备 | |
Johnson et al. | Artifact-based rendering: harnessing natural and traditional visual media for more expressive and engaging 3D visualizations | |
US9013485B2 (en) | Systems and methods for synthesizing high fidelity stroke data for lower dimension input strokes | |
WO2013055914A2 (en) | Systems and methods for creating texture exemplars | |
CN111210486B (zh) | 一种用于实现流光效果的方法和装置 | |
US20220351436A1 (en) | Digital Content Editing using a Procedural Model | |
Davison et al. | Interactive example-palettes for discrete element texture synthesis | |
US9292941B2 (en) | Methods and apparatus for specifying and interpolating hierarchical procedural models | |
Wan et al. | Evolving mazes from images | |
Joshi et al. | A Novel Algorithm for Triangulating 2d Point Clouds Using Multi-Dimensional Data Structures and Nearest Neighbour Approach | |
JP2018197973A (ja) | 三次元形状データの編集装置、及び三次元形状データの編集プログラム | |
Tanaka et al. | Out-tree generation using controllable field space colonization and application to modeling | |
Ekman et al. | SeamScape A procedural generation system for accelerated creation of 3D landscapes | |
Cruz et al. | Exemplar-based terrain synthesis | |
Wong et al. | Computational manga and anime | |
US20130127868A1 (en) | Methods and Apparatus for Score-Based Tile Placement | |
CN115272550A (zh) | 一种基于模块化着色器组件的渲染管线配置方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20111101 |