(57)【特許請求の範囲】
【請求項１】
作成する布柄画像のサイズ、横糸の幅、縦糸の幅を入力するパラメータ入力手段と、
絵柄となる原画像を入力する画像入力手段と、
横糸の幅、縦糸の幅からなる糸領域により布柄画像のサイズを分割した画像領域を作成する機能と、各糸領域に対して、縦糸を三次元ポリゴンデータで表現した縦糸形状、または、横糸を三次元ポリゴンデータで表現した横糸形状を割り当てる機能と、各糸領域を移動させる機能と、各糸領域の形状を変化させる機能と、各糸領域を構成する単位ポリゴンを個々に移動させる機能を有し、前記入力された布柄画像のサイズ、横糸の幅、縦糸の幅に従って、糸領域により分割された画像領域を作成し、画像領域上の各糸領域を三次元ポリゴンデータにより表現した布モデルを生成する布モデル生成手段と、
前記入力された原画像を前記布モデルの糸領域に対応する画素数単位で平滑化する画像データ平滑手段と、
前記平滑化された画素値を前記布モデル上の各糸領域を構成する単位ポリゴンに与えるポリゴン色データ算出手段と、
前記画素値を得た布モデルを二次元平面にレンダリングして布柄模様を有する画像を作成するレンダリング手段と、
前記布柄模様を有する画像を出力する画像出力手段と、
を有することを特徴とする布柄模様作成装置。
【請求項２】
前記レンダリング手段は、前記布モデルを構成する三次元ポリゴンデータの画素値を二次元平面に投影する際、距離に応じた係数を前記画素値に乗じて第１の仮画素値を得る機能と、この第１の仮画素値と背景の画素値とを合成して第２の仮画素値を得る機能と、この第２の仮画素値とその周辺の第２の仮画素値を合成することにより布柄模様を有する画像を構成する画素値を得る機能と、を有することを特徴とする請求項１に記載の布柄模様作成装置。
【請求項３】
請求項１または請求項２に記載の布柄模様作成装置として、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、建材製品の表面に用いられる建材印刷物の１つである布の質感を持つ布柄模様を作成する装置に関する。
【０００２】
【従来の技術】
従来から、建築素材として合板、石膏ボード等が利用されており、これらの建築素材の表面を装飾すると共に表面を保護するものとして建材印刷が行われている。建材印刷の柄（以下「建材柄」という）には、木目あるいは石目等の天然物の柄を模した柄と、幾何学模様、砂目模様、地紋、花柄模様等の人間の創作に係る抽象柄とが知られている。
【０００３】
これらの建材柄に加え、最近では、布の質感を有する布柄も建材柄の一つとして需要が高まっている。布の質感を出すためには、縦横の繊維（糸）の編み具合、例えば、繊維の張りや弛みを表現しなければならず、また、繊維の毛ばだち感を表現する必要もあり、コンピュータ等で自動的に作成するのは困難である。このため、グラフィックデザイナーが手書きにより作成するか、もしくは、本物の布を実際に撮影して原稿を作成する、という手法が採られている。
【０００４】
【発明が解決しようとする課題】
しかしながら、グラフィックデザイナーが手書きにより作成する場合はもちろん、本物の布を実際に撮影して原稿を作成する場合にも非常に時間と手間のかかる作業になっている。また、意匠権を有する布を撮影して原稿を作成することは、権利上の問題があり、困難となっている。
【０００５】
本発明は上記のような点に鑑み、入力された画像に対して自動的に布の質感を与える処理を行い、布柄模様を作成する布柄模様作成装置を提供することを課題とする。
【０００６】
【課題を解決するための手段】
上記のような課題を解決するため、請求項１に記載の発明では、作成する布柄画像のサイズ、横糸の幅、縦糸の幅を入力するパラメータ入力手段と、絵柄となる原画像を入力する画像入力手段と、横糸の幅、縦糸の幅からなる糸領域により布柄画像のサイズを分割した画像領域を作成する機能と、各糸領域に対して、縦糸を三次元ポリゴンデータで表現した縦糸形状、または、横糸を三次元ポリゴンデータで表現した横糸形状を割り当てる機能と、各糸領域を移動させる機能と、各糸領域の形状を変化させる機能と、各糸領域を構成する単位ポリゴンを個々に移動させる機能を有し、前記入力された布柄画像のサイズ、横糸の幅、縦糸の幅に従って、糸領域により分割された画像領域を作成し、画像領域上の各糸領域を三次元ポリゴンデータにより表現した布モデルを生成する布モデル生成手段と、前記入力された原画像を前記布モデルの糸領域に対応する画素数単位で平滑化する画像データ平滑手段と、前記平滑化された画素値を前記布モデル上の各糸領域を構成する単位ポリゴンに与えるポリゴン色データ算出手段と、前記画素値を得た布モデルを二次元平面にレンダリングして布柄模様を有する画像を作成するレンダリング手段と、前記布柄模様を有する画像を出力する画像出力手段を有することを特徴とする。請求項１に記載の発明では、特に、設定したパラメータに従って各糸領域に三次元ポリゴンデータで表現した糸形状を割り当て、糸領域を移動し、糸領域の形状を変化させ、さらに、糸領域を構成する単位ポリゴンを個々に移動させることにより布モデルを生成し、一方、絵柄となる画像を入力して布モデルにおける糸領域に対応する画素数単位で平滑化し、布モデルを構成するポリゴンデータに平滑化した画素値を与え、これを二次元平面にレンダリングすることにより布柄模様を有する画像を作成するようにしたので、表現したい布に関するパラメータと、布上に表現する絵柄を有する原画像を入力するだけで、自動的に布の質感を有する布柄模様の作成が可能になるとともに、各糸領域における糸形状がより本物の糸らしく表現されることになる。
【０００８】
請求項２に記載の発明では、請求項１に記載のレンダリング手段が、前記布モデルを構成する三次元ポリゴンデータの画素値を二次元平面に投影する際、距離に応じた係数を前記画素値に乗じて第１の仮画素値を得る機能と、この第１の仮画素値と背景の画素値とを合成して第２の仮画素値を得る機能と、この第２の仮画素値とその周辺の第２の仮画素値を合成することにより布柄模様を有する画像を構成する画素値を得る機能と、を有することを特徴とする。請求項２に記載の発明では、特に、請求項１に記載のレンダリング手段において、布モデルを構成する三次元ポリゴンデータの画素値を二次元平面に投影する際、距離による影響、背景の影響、周辺の画素の影響を考慮して最終的な画素値を与えるようにしたので、実際に自然界で布を観察したときの光の環境により近い状態の布柄模様を得ることができる。
【０００９】
【発明の実施の形態】
以下、本発明の実施形態について、図面を用いて詳細に説明する。
図１は、本発明による布柄模様作成装置の一実施形態の構成を示すブロック図である。図１に示す本布柄模様作成装置は、パラメ−タ入力手段１、画像入力手段２、演算処理装置３、画像出力手段４により構成され、演算処理装置３はさらに、布モデル生成手段５、画像拡大手段６、画像データ平滑手段７、ポリゴン色データ算出手段８、レンダリング手段９を有する。
【００１０】
パラメータ入力手段１は、入力すべき原画像の選択、出力する布柄画像のサイズ、表現すべき布を構成する横糸の幅、縦糸の幅等の入力を行う機能を有し、キーボード、マウス等により実現される。画像入力手段２は、布の質感とは別に、布上の表現する絵柄を有する画像画像を演算処理装置３に入力する機能を有しており、原画像がシート状の媒体で用意される場合にはスキャナ、電子媒体として用意される場合には、ＭＯ、ＦＤ、ネットワーク等を接続して用いることができる。演算処理装置３は、パラメータ入力手段１で設定された内容、画像入力手段２から入力された画像に基づいて、布柄模様を有する画像を作成するものであり、コンピュータにより実現される。また、演算処理装置３内の各手段は、演算処理装置３を実現するコンピュータに搭載された専用のプログラムにより実現される。画像出力手段４は、作成された布柄模様を有する画像を出力する機能を有しており、ハードディスク等の外部記憶装置、ＣＲＴモニタ等の表示装置、プリント出力用のプリンタ、ネットワーク等が接続可能である。
【００１１】
次に本装置の処理動作について説明する。まず、パラメータ入力手段１により、出力する布柄画像のサイズ、表現すべき布を構成する横糸の幅、縦糸の幅等の入力を行う。これらは、画素（pixel）数単位で入力すると良い。また、画像入力手段にも入力する画像の指定を行う。
【００１２】
布モデル生成手段５では、入力された布柄画像のサイズ、横糸の幅、縦糸の幅に基づいて、布モデルを生成する処理を行う。この布モデル生成手段５による布モデルの生成の処理について図２のフローチャートを用いて説明する。まず、ステップＳ１において、布柄画像のサイズである画像領域の分割を行う。分割された画像領域を図２に示す。図２において、分割された各領域は糸を表現する糸領域であり、黒く塗りつぶされた領域は縦糸領域、空白の領域は横糸領域を示す。本来、布における糸は縦方向、横方向にそれぞれ連続しているが、それが交互に絡み合って織られているため、表面に現れるのは、どちらか一方になる。布の織り方には、様々な種類があるが、図２は綾織りの場合を示しているので、横糸が縦糸の２倍の量で現われ、縦糸も横糸も斜め方向に走るように表現される。各糸領域の縦方向の幅と横方向の幅が異なっているのは、布を織る場合、どちらか一方の方向を先に織り、他方をそれを縫うことによって織られるためである。図２の例では、先に縦糸が織られているため、糸が張られ、従って縦長になるのである。
【００１３】
次に、ステップＳ２において、布モデル生成手段５では、分割された画像領域の各糸領域に対して、３Ｄ（三次元）ポリゴンデータを作成する。図３に示すように画像領域を糸領域に分割しただけでは立体感がなく、布の質感が表現できない。そのため、３Ｄポリゴンデータを各糸領域に割り当てることにより、立体感を与えるのである。図４（ａ）、（ｂ）に縦糸領域に割り当てる３Ｄポリゴンデータで表現される縦糸形状を示す。図４（ａ）は正面すなわち、図２に示す画像領域がＸＹ平面であるとすると、Ｚ軸方向から見たときの基本縦糸形状であり、図４（ｂ）は図４（ａ）に示す基本縦糸形状をやや下側から見た状態である。図４（ａ）、（ｂ）に示す基本縦糸形状を構成する最小単位である三角形のポリゴン（以下単位ポリゴンという）は、全て同一形状、同一サイズである。すなわち、基本縦糸形状は同一の単位ポリゴン１８個で構成されることになる。そして、三次元座標空間内において、１８個の単位ポリゴンの３頂点の座標値が定義されることにより、基本縦糸形状も同時に三次元座標空間内で定義されるのである。
【００１４】
次に、縦糸領域の下側または上側に横糸領域が隣接する場合の縦糸形状について説明する。図４（ｃ）、（ｄ）に下側に横糸領域が隣接する場合の縦糸領域における縦糸形状を示す。図４（ｃ）は正面から見たときの縦糸形状であり、図４（ｄ）は図４（ｃ）に示す縦糸形状をやや下側から見た状態である。下側に横糸が縫われる場合は、縦糸が下側に引っ張られることになり、縦糸は下側がすぼむような形状になる。図４（ｃ）、（ｄ）は、このような場合の縦糸形状を表現しているのである。このような場合下側の単位ポリゴンは形状が変化し、サイズもそれぞれ異なるものになる。上側に横糸領域が隣接する場合の縦糸領域における縦糸形状は、図４（ｃ）、（ｄ）に示す縦糸形状を上下逆にしたような形状、すなわち、上側がすぼんだような形状になる。同様に上下両側に横糸領域が隣接する場合の縦糸領域における縦糸形状は、上下両側がすぼんだような形状になる。
【００１５】
また、横糸領域における横糸形状は、縦糸形状を９０°回転したものになる。すなわち、基本横糸形状は、基本縦糸形状を９０°回転したものとなり、右側に縦糸領域が隣接する場合の横糸領域における横糸形状は、右側がすぼんだような形状になり、左側に縦糸領域が隣接する場合の横糸領域における横糸形状は、左側がすぼんだような形状になり、左右両側に縦糸領域が隣接する場合の横糸領域における横糸形状は、左右両側がすぼんだような形状になる。
【００１６】
これらの３Ｄポリゴンデータで表現される縦糸形状、横糸形状が図３に示すような横９×縦６の５４個の領域に分割された画像領域に割り当てられると、この画像領域は、９７２個の単位ポリゴンで構成されることになる。また、図３に示すような綾織りの場合、どの糸領域も必ず別方向の糸領域と隣接しているため、基本糸形状（基本縦糸形状、基本横糸形状）が割り当てられることはない。
【００１７】
次に、ステップＳ３において、画像領域内の各糸領域を独立して左右上下に移動して、図５に示すような領域にする。移動といっても、実際には大きく移動はしないため、むしろ「揺らす」というイメージの方が表現的に近い。この各糸領域の移動は、糸は金属のようなものとは異なり、全く乱れずに直線であることは有り得ないため、より繊維らしく見せるために行うものである。移動の方法には色々考えられるが、ここでは、上下方向には、所定値移動し、左右方向には移動した後の重心を中心にして所定の角度分回転させている。上下方向の移動量は、例えば、各糸領域の長さの１０％〜２０％程度を最大値として、乱数により決定することができる。左右方向への回転角度についても、１０°〜２０°程度を最大値として、乱数により決定することができる。このとき、同時に各糸領域を構成する各単位ポリゴンも変更されることになる。
【００１８】
続いて、ステップＳ４では、各糸領域の変形を行う。図６に幅を変更した状態の糸領域を、画像領域上の一部分を取り出して示す。この糸領域の変形についても色々な手法が適用できるが、例えば、糸領域の上下の辺について、それぞれ最大値、最小値を定めておき、乱数によりその範囲内で上下の辺の長さを決定することができる。図６に示す例は、上下の辺の長さを変更したものであり、これにより長方形であった元の糸領域が台形になる。左右の辺についても同様に適用でき、上下、左右両方に適用して幅を変更した場合は、各糸領域は、かなり崩れた四角形になる。このときも、同時に各糸領域を構成する各単位ポリゴンも変更されることになる。この糸領域の幅変更も、さらに繊維らしさを表現するために行われる。
【００１９】
次に、ステップＳ５では、各糸領域を構成する単位ポリゴンを移動する。ここでの移動もステップＳ３と同様に、実際には大きく移動はしないため、むしろ「揺らす」というイメージの方が表現的に近い。実際の糸には、糸の方向に走る筋が、糸を構成する繊維の集積密度によってでき、光の当たり具合によって、この筋が目立ったり、目立たなかったりする。糸領域内の単位ポリゴンを移動させるのは、この筋を表現するためである。この単位ポリゴンを移動させる手法についても、様々な手法が適用できるが、例えば、各単位ポリゴンの３つの頂点の座標の移動範囲を予め定めておき、この範囲内で発生した乱数により新たな座標値を決定するようにすれば良い。図７に単位ポリゴンを移動させた後の糸形状の様子を、基本縦糸形状を例にとって示す。図７では、各単位ポリゴンの大きさが、まちまちになっていることがわかる。また、各単位ポリゴン同士が重なったり、各単位ポリゴン同士の間にすきまが生じたりする。以上で布モデル生成手段５による布モデル生成処理が終了する。
【００２０】
一方、画像入力手段２により入力された画像は画像拡大手段６により拡大される。画像拡大手段６は入力される画像のサイズが小さく、作成すべき布柄画像のサイズに割り付けるのに十分でないときにのみ使用される。画像の拡大については、周知の様々な手法が適用できるので、ここでは詳細には説明しない。画像の拡大が終了したら、画像データを画像データ平滑手段７に渡す。
【００２１】
画像データ平滑手段７では、画像データの平滑化を行う。ここでの平滑化は、布モデルにおける各糸領域と同じ画素数単位で行われる。例えば、図３に示す画像領域における糸領域が５×８画素で構成されている場合は、画像データを５×８画素毎に平滑化することになる。平滑化とは、その中の画素値を全て同一にすることであるが、このために、ここでは元の５×８画素の画素値の平均値を各画素に与えることにより行う。
【００２２】
次に、ポリゴン色データ算出手段８が、布モデル生成手段５で生成された布モデルに対して、画像データ平滑手段７で平滑化された画像データの色を割り当てる処理を行う。これは、布モデルにおける各糸領域に平滑化された画像データの５×８画素単毎に対応させて、各糸領域の糸形状を構成する全単位ポリゴンに対応する色を与えることにより行われる。これにより、１つの糸形状を構成する１８個の単位ポリゴンは、全て同じ色を有することになる。また、布モデル生成手段５による布モデルの生成において、糸領域や単位ポリゴンを揺らす処理を行い、その際に隙間が生じているが、この隙間には別途設定する背景色が割り当てられる。
【００２３】
次に、レンダリング手段９により、３Ｄポリゴンデータで表現された布モデルを二次元平面に投影した布柄画像を作成する処理を行う。この処理としては、まず、布モデル作成の元となった図３に示す画像領域に平行な投影平面を用意する。この投影平面は、最初に設定された出力画像サイズに対応する画素配列を有している。次に、この投影平面に布モデルを投影することにより、投影平面上の各画素に画素値を与える。このため、まず、投影平面、布モデルを含む三次元空間において、投影平面を挟んで布モデルと反対側に、視点位置を設定する。この関係を図８に示す。図８において１番左側を視点位置とし、中央に投影平面、１番右側が布モデルを構成する単位ポリゴンとなっている。そして、画素値決定は図９のフローチャートに示すような以下の３つの段階により行われる。
【００２４】
まず、ステップＳ１１では、視点位置と布モデルの距離に応じて、単位ポリゴンが有する画素値を投影平面上の仮画素値Ｖ１に変換する。これは単位ポリゴンが有している画素値に距離が大きい程小さい係数を乗じ、距離が小さい程大きい係数を乗じることにより算出される。すなわち、遠い場所は暗く、近い場所は明るく投影されることになる。
【００２５】
次に、ステップＳ１２では、ステップＳ１１で求めた仮画素値Ｖ１に背景色を合成する処理を行う。背景色の画素値をＢ、合成のための混合率をα（ただし、０≦α≦１）とすると、新たな仮画素値Ｖ２は以下に示す（数式１）により算出される。
【００２６】
（数式１）
Ｖ２＝α×Ｖ１＋（１−α）×Ｂ
【００２７】
この（数式１）からわかるように、混合率αの値を大きくすればする程、本来の色が表現され、、混合率αの値を小さくすればする程、背景色の影響が強くなる。
【００２８】
続いて、ステップＳ１３において、周辺の画素と溶け込ませる処理を行う。これは、周辺のステップＳ１２までの処理を行った画素と合成することにより行われる。周辺の画素の個数をｋ、周辺の画素の画素値をｖi（ｉ＝１，２，・・・，ｋ）、合成のための混合率をβ（ただし、０≦β≦１）とすると、最終的な画素値Ｖは以下に示す（数式２）により算出される。
【００２９】
（数式２）
Ｖ＝β×Ｖ２＋（１−β）×Σ（ｖi／ｋ）
ただし、Σはｉ＝１，２，・・・，ｋまで処理
【００３０】
この（数式２）からわかるように、混合率βの値を大きくすればする程、本来の画素値の色が表現され、、混合率βの値を小さくすればする程、周辺の画素の色の影響が強くなる。合成対象とする周辺画素の数は適宜設定することができるが、例えば、求める画素と隣接する周辺の画素だけを合成対象とした場合は、ｋ＝８となる。
【００３１】
投影平面上におけるこの画素値Ｖの集合が、布柄模様を有する布柄画像となる。この布柄画像は、画像出力手段４により所望の形態で出力される。
【００３２】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく種々の変形が可能である。例えば、上記実施形態では、布モデル生成手段５において画像領域上の各糸領域における糸形状を３Ｄポリゴンデータで割り当てる際、正六角柱を縦に二分割したような形状のものを割り当てたが、演算処理装置の能力が許すならば、なるべく多い多角形上、すなわち、円柱形状に近いものが好ましい。このようにすることにより、布モデルを構成する単位ポリゴンの数が増えることになり、より精細に布の質感を表現することができる。
【００３３】
【発明の効果】
以上、説明したように本発明によれば、設定したパラメータに従って三次元ポリゴンデータにより表現した布モデルを生成し、一方、絵柄となる画像を入力して布モデルにおける糸領域に対応する画素数単位で平滑化し、布モデルを構成するポリゴンデータに平滑化した画素値を与え、これを二次元平面にレンダリングすることにより布柄模様を有する画像を作成するようにしたので、表現したい布に関するパラメータと、布上に表現する絵柄を有する原画像を入力するだけで、自動的に布の質感を有する布柄模様の作成が可能になる。
また、特に、布モデル生成手段において、各糸領域に三次元ポリゴンデータで表現した糸形状を割り当て、糸領域を移動し、糸領域の形状を変化させ、さらに、糸領域を構成する単位ポリゴンを個々に移動させるようにしたので、各糸領域における糸形状がより本物の糸らしく表現されることになる。
さらに、特に、レンダリング手段において、布モデルを構成する三次元ポリゴンデータの画素値を二次元平面に投影する際、距離による影響、背景の影響、周辺の画素の影響を考慮して最終的な画素値を与えるようにしたので、実際に自然界で布を観察したときの光の環境により近い状態の布柄模様を得ることができる。
【図面の簡単な説明】
【図１】本発明の布柄模様作成装置の一実施形態を示す構成図である。
【図２】本発明の布柄模様作成装置の布モデル生成手段５による処理動作を示すフローチャートである。
【図３】図２のステップＳ１において発生される糸領域により分割された画像領域を示す図である。
【図４】図２のステップＳ２において発生される三次元ポリゴンデータにより表現された糸形状を示す図である。
【図５】図２のステップＳ３において各糸領域が移動された状態の画像領域を示す図である。
【図６】図２のステップＳ４において各糸領域が変形された状態の画像領域の一部を示す図である。
【図７】図２のステップＳ５において単位ポリゴンが移動された状態の縦糸形状を示す図である。
【図８】本発明の布柄模様作成装置のレンダリング手段９による投影のための位置関係を示す図である。
【図９】本発明の布柄模様作成装置のレンダリング手段９による処理動作を示すフローチャートである。
【符号の説明】
１・・・パラメータ入力手段
２・・・画像入力手段
３・・・演算処理装置
４・・・画像出力手段
５・・・布モデル生成手段
６・・・画像拡大手段
７・・・画像データ平滑手段
８・・・ポリゴン色データ算出手段
９・・・レンダリング手段
【図１】
0004220062.tif 000002
【図２】
0004220062.tif 000003
【図３】
0004220062.tif 000004
【図４】
0004220062.tif 000005
【図５】
0004220062.tif 000006
【図６】
0004220062.tif 000007
【図７】
0004220062.tif 000008
【図８】
0004220062.tif 000009
【図９】
0004220062.tif 000010