(57)【特許請求の範囲】
【請求項１】
刺しゅうする模様の所定周であるボーダーで囲まれる領域の色以外の色の模様部分をシルエットとし、そのシルエット内の同一色の模様部分の周をボーダーとし、刺しゅう模様をボーダーとシルエットの関係でツリー構造に分解し、
ボーダーで囲まれた領域の色が同一である次のボーダーまでの前記ツリー構造に沿った最短経路を探索し、
前記探索された経路に応じて前記次のボーダーまでの縫いデータを出力し、
続いて前記次のボーダーで囲まれた部分の縫いデータを出力し、
これを同一色のボーダー全てについて繰り返したあと、各色ごとにすべてのボーダーについて繰り返して各ボーダーまでの縫いデータならびに各ボーダーで囲まれた部分の縫いデータを出力することを特徴とする刺しゅうデータ作成方法。
【請求項２】
前記次のボーダーまでの縫いデータがあるき縫いのデータであり、ボーダーで囲まれた部分の縫いデータが密着縫いまたはタタミ縫いのデータであることを特徴とする請求項１に記載の刺しゅうデータ作成方法。
【請求項３】
刺しゅうする模様の所定周であるボーダーで囲まれる領域の色以外の色の模様部分をシルエットとし、そのシルエット内の同一色の模様部分の周をボーダーとし、刺しゅう模様をボーダーとシルエットの関係でツリー構造に分解する手段と、
ボーダーで囲まれた領域の色が同一である次のボーダーを探索し前記ツリー構造を上昇するときはＰＯＰ、下降するときはＰＵＳＨ動作して前記次のボーダー位置までの経路を記憶する手段と、
前記探索された経路に応じて前記次のボーダーに至るまでの縫いデータを出力する手段と、
前記次のボーダーで囲まれた部分の縫いデータを出力する手段とを備え、
各色ごとに同一色のボーダーで囲まれたすべての部分の縫いデータを出力することを特徴とする刺しゅうデータ作成装置。
【請求項４】
前記次のボーダーまでの縫いデータがあるき縫いのデータであり、ボーダーで囲まれた部分の縫いデータが密着縫いまたはタタミ縫いのデータであることを特徴とする請求項３に記載の刺しゅうデータ作成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、刺しゅうデータ作成方法及び装置、更に詳細には、コンピュータを用いてミシン用の刺しゅうデータを作成する方法及び装置に関する。
【０００２】
【従来の技術】
従来からコンピュータ制御で種々の色を用いた多色の刺しゅう縫いが行われている。多色の刺しゅう縫いでは、各色ごとに糸を交換しなければならないので面倒な糸交換の作業を軽減するために、最適な縫い順序を考えて同色の模様のところを可能な限り多く縫うことが必要である。
【０００３】
図１は、従来の刺しゅう縫い装置の縫い順序を示すものである。ここで、図１のペンギン１だけを縫製することが求められており、針の現在点Ｐは非縫製領域にあり、適当な縫い開始点Ｓが決まったとする。このとき、現在点Ｐから縫い開始点Ｓまでは空送り（縫い目をつくらず移動すること）が行われる。すなわち、従来の装置では、縫いの対象領域外の部分は、針が自由に空送りできるという前提に立っており、これは、１色の糸による１色縫いの時のみ許される動作であった。
【０００４】
【発明が解決しようとする課題】
しかしながら、多色縫いの場合には問題が発生する。例えば、図１の縫いが、２色＃１、＃２（＃ｎは色番号ｎを意味する）の糸により、色＃１の糸で現在点Ｐを含む背景（Ｈ0、Ｈ1、Ｈ2、Ｈ3、Ｈ4、Ｈ5とＨ6）を縫い、その後で色＃２の色でペンギン本体を縫う場合を考えてみる。色＃１と＃２の糸どちらを先にしても、現在点Ｐからの空送りを出力させることは許されない。仮に最初は色＃２の糸から使うとした場合、背景Ｈ0を縫うことから現在点Ｐから縫い開始点Ｓまでは色＃２の糸で縫う必要があることから、空送りではなく、あるき（縫い目を伴い移動すること）を出力する必要がある。このように、縫いの対象が２色以上で構成される場合、従来の方法はもはや適用できない。
【０００５】
従って、本発明は、多色の刺しゅう縫いをする場合糸の交換作業が少なく、かつ品質のよい多色刺しゅうデータを作成できる刺しゅうデータ作成方法及び装置を提供することをその課題とする。
【０００６】
【課題を解決するための手段】
上記課題を解決するために、本発明では、刺しゅうする模様の所定周であるボーダーで囲まれる領域の色以外の色の模様部分をシルエットとし、そのシルエット内の同一色の模様部分の周をボーダーとし、刺しゅう模様をボーダーとシルエットの関係でツリー構造に分解し、ボーダーで囲まれた領域の色が同一である次のボーダーまでの前記ツリー構造に沿った最短経路を探索し、前記探索された経路に応じて前記次のボーダーまでの縫いデータを出力し、続いて前記次のボーダーで囲まれた部分の縫いデータを出力し、これを同一色のボーダー全てについて繰り返したあと、各色ごとにすべてのボーダーについて繰り返して各ボーダーまでの縫いデータならびに各ボーダーで囲まれた部分の縫いデータを出力する構成を採用している。
【０００７】
また、本発明では、刺しゅうする模様の所定周であるボーダーで囲まれる領域の色以外の色の模様部分をシルエットとし、そのシルエット内の同一色の模様部分の周をボーダーとし、刺しゅう模様をボーダーとシルエットの関係でツリー構造に分解する手段と、ボーダーで囲まれた領域の色が同一である次のボーダーを探索し前記ツリー構造を上昇するときはＰＯＰ、下降するときはＰＵＳＨ動作して前記次のボーダー位置までの経路を記憶する手段と、前記探索された経路に応じて前記次のボーダーに至るまでの縫いデータを出力する手段と、前記次のボーダーで囲まれた部分の縫いデータを出力する手段とを備え、各色ごとに同一色のボーダーで囲まれたすべての部分の縫いデータを出力する構成を採用している。
【０００８】
このような構成では、一つの色の刺しゅう部分をすべて縫いつぶしたのち、次の色の刺しゅう部分のすべてが縫いつぶされるので、１本針ミシンにおいての面倒な糸交換の作業を最小限に抑えることができる。
【０００９】
【発明の実施の形態】
以下、図面に示す実施形態に基づいて本発明を詳細に説明する。
【００１０】
図２は、本発明の１実施形態を示す刺しゅうデータ作成装置の要部回路構成図である。同図において符号１０で示すものは全体制御部で、ＣＰＵなどの中央演算装置から構成され全体の縫製制御を司る制御部である。入力部１１で、刺しゅうすべき模様が入力される。
【００１１】
ＳＢ構造生成部１２は、入力された模様を解析してＳＢ構造と呼ばれるツリー構造を生成し、格納する。ＳＢ構造のＳは、シルエット（Silhouette）の意味であり、所定の周（あるいは背景を形成する周）で囲まれた部分の色以外の色の模様部分の周を指し、またＢはボーダー（Border）の意味で、同一色の模様部分の周を指し、いずれも、たとえばフリーマン符号で記述されるベクトルデータである。
【００１２】
あるき生成部１３は、本発明の直接の対象となる部分であり、次のボーダーで囲まれる部分の縫いつぶしに至るあるきの経路を生成し、そのあるき縫いのデータを出力するものである。縫いつぶし部１４は刺しゅう領域を密着縫いまたはタタミ縫い等でボーダーで囲まれた部分を縫いつぶすデータを出力するものである。密着縫いは、ジグザク縫いとも呼ばれており、幅細部の図形の刺しゅう縫いに適しており、所定ピッチで針落点をジグザグさせて刺しゅう縫いするもので、一方タタミ縫いは、大きい模様の刺しゅう縫いに用いられ、所定ピッチで一ライン縫った後次のラインでの針落点を前のラインの針落点と位相をずらして縫うもので、ラインごとの針落点が畳の模様に似ていることからタタミ縫いと呼ばれている。
【００１３】
また、出力部１５は、これらの生成されたあるき縫いデータ及び刺しゅう領域を縫いつぶすデータが格納され、ミシンはこのデータにしたがって刺しゅう縫いを行う。
【００１４】
図３は、多色で刺しゅう縫いを行おうとする模様（ペンギン２０とかもめ２１）を示す一例であり、ＳＢ構造生成部１２において入力部１１から入力されたこれらの模様が解析され、ＳＢ構造が作成され、格納される。同図において、Ｂi（i＝1,2,....）は、上述したように、ボーダーと呼ばれる周のベクトルデータであり、その内部の縫製色を＃ｎ（ｎ＝１、２、３）の色番号で示している。＃０は特別に背景色と定義して、＃０は縫わないものとする。Ｓi（i＝1,2,....）は、上述したシルエットであり、１個以上の周のベクトルデータの集合を示している。
【００１５】
シルエットＳはボーダーＢを包含し、一方ボーダーＢはシルエットＳを包含する。図４は、ＳＢ構造生成部１２で作成された図３のシルエットＳとボーダーＢの包含関係を示すツリー構造を示している。同図で、Ｕは宇宙の意味で、対象とする世界の外枠を示すものである。この宇宙Ｕには、非縫色＃０が割りつけられる。
【００１６】
宇宙ＵにはシルエットＳ1とＳ2が存在する。シルエットＳ1には、同一色＃１の模様部分があるだけなので、ボーダーＢ1（＃１）だけが存在しており、一方、シルエットＳ2には２つの色＃２と＃３の模様部分のボーダーＢ2（＃２）とＢ3（＃３）が存在している。ボーダーＢ1とＢ2で形成される内部領域には、それ以外の模様部分はないのでその下部にシルエットは存在しないが、ボーダーＢ3で形成される内部領域には、その色＃３以外の色＃０、＃１、＃２の模様部分のシルエットＳ3〜Ｓ8が存在している。各シルエットＳ3、Ｓ4、Ｓ5、Ｓ6、Ｓ7には、それぞれ同一色の模様部分のボーダーＢ4（＃１）、Ｂ5（＃１）、Ｂ6（＃０）、Ｂ7（＃２）、Ｂ8（＃２）が存在するだけなので、各シルエットに含まれるボーダーはそれぞれ一つであり、そのボーダーにより形成される部分にはもはやシルエットは存在しない。
【００１７】
これに対して、シルエットＳ8には、ボーダーＢ9（＃２）があり、このボーダーＢ9により形成される内部領域には、その色＃２と異なる色の模様部分の周、すなわちシルエットＳ9が存在する。そして、このシルエットＳ9には、同一色の模様部分のボーダーＢ10（＃３）、Ｂ11（＃１）が含まれており、各ボーダーＢ10、Ｂ11で形成される領域には、もはやシルエットは存在しない。このようにして図４に示すようなツリー構造が得られる。なお、図４で＊印を施したボーダーＢは既に縫われた周であることを示す。非縫色＃０をもつ周に囲まれた部分は縫われることはないので、便宜上＊印を付けておくと処理に都合がよい。
【００１８】
次に、図５を参照して、全体の刺しゅうデータの縫い手順を説明する。
【００１９】
まず、図６に示したように、現在の刺しゅう位置を格納するスタックＸと、目標となる刺しゅう位置を格納するスタックＹを用意し、ステップＳ１でスタックＸの先頭にφをＰＵＳＨし、ステップＳ２でスタックＹの先頭にφをＰＵＳＨする。この状態が図６の（Ａ）、（Ｂ）に図示されている。ここでφは無を示す記号であり、矢印→は格納物の先頭を示すスタックポインタａ＿ｓｐ、ｂ＿ｓｐである。
【００２０】
最初に色（ｃｏｌ）＝＃１の周で囲まれた部分をすべて縫うものとする。ステップＳ３でＹの判定になるので、ステップＳ４でＳＢポインタ（ｔ）（図４のＳＢ構造の位置を示すポインタ）を図４のＳＢ構造の先頭（Ｕ）に位置づける。続いてステップＳ５において、ＳＢポインタ（ｔ）の指すボーダーＢの色ｃｏｌが＃１のものを探す。この探す順序はＳＢ構造の左から下に降りるようにする。この探索中、スタックＹに対して次のスタック操作が行われる。ＳＢ構造を下に降りるとき、シルエットＳを通過するときはＰＵＳＨ  Ｓ、ボーダーＢを通過するときは、ＰＵＳＨ  Ｂの操作をする。またＳＢ構造を上に昇るとき、ボーダーＢを通過するときにはＰＯＰ、シルエットＳを通過するときもＰＯＰ操作する。
【００２１】
図４のＳＢ構造でＳ1→Ｂ1と降りると、色＃１の周のボーダーＢ1に達する。このとき、スタックＹには、図６（Ｄ）に示したように、Ｓ1、Ｂ1がＰＵＳＨされ、スタックポインタｂ＿ｓｐ＝２となっている。まだすべてのボーダーを探索していないので、ステップＳ６の判断はＮとなり、ステップＳ７に至る。
【００２２】
ステップＳ７では、スタックＸ、ＹのφのＰＵＳＨ位置から始めて両スタックが初めて異なる値となる位置をｊとし、ｊ−１を分岐点ｊにする。今スタックＸ、Ｙはそれぞれ図６の（Ｃ）と（Ｄ）に図示したようになっており、各スタックＸ、Ｙが初めて異なる位置になるのはｊ＝１であるので、ｊ−１をｊとすることにより分岐点ｊはｊ＝０となることがわかる。
【００２３】
ここで、ステップＳ８で示したように、すなわち、スタックＸのスタックポインタａ＿ｓｐからＰＯＰ方向に分岐点ｊまでのＳＢ列（ＰＯＰ列）と、スタックＹの分岐点ｊからＰＵＳＨ方向にスタックポインタｂ＿ｓｐまでのＳＢ列（ＰＵＳＨ列）を並べた列をγ列とする。いま、スタックＸに関しては、スタックポインタａ＿ｓｐ＝０であり、ｊ＝０なので、ＰＯＰ方向に分岐点ｊまでのＳＢ列はなく、したがってＰＯＰ列はない。また、スタックＹの分岐点ｊからＰＵＳＨ方向にスタックポインタｂ＿ｓｐまでのＳＢ列は、Ｓ1Ｂ1となるので、これがＰＵＳＨ列となり、この結果γ列はγ＝Ｓ1Ｂ1となる。
【００２４】
このようにγ列が作成されたら、ステップＳ９でγ列を先頭から順に取り出し、Ｉ型移動、ＩＩ型移動、ＩＩＩ型移動のいずれかを適用して縫い順序を定める。この移動の原理は以下に示す通りである。
【００２５】
図８は、一般的なＳＢ構造の局面を示すものであり、同図において、あるボーダーＢで囲まれた領域の中にシルエットＳが存在している。シルエットＳは、周ａｂ…ｇの集合体であり、このうち周ａｂｃｄは表皮周と呼ばれ、シルエットＳとこれらの表皮周は○印で示す座標点で結ばれている。また、各周はそれぞれ自己と接触するすべての周と×印で示す座標点で結ばれている。図９は、この周間の結合関係を示すグラフである。
【００２６】
移動（あるき）には、シルエットＳの内部での移動（Ｉ型移動）と、シルエットＳの内部から外への移動（ＩＩ型移動）と、シルエットＳの外から内への移動（ＩＩＩ型移動）の３種がある。図１０（Ａ）には、周ｂからｅに至る移動経路が点線で図示されている。現在点Ｐから目標点Ｑまでの移動がシルエットＳの内部であるので、Ｉ型移動を示しており、同図で＊印のものは縫製済を示し、＊印の中を移動することはできないので、周ｂからｅに至る経路にはこの他ｂｃｄｇｅがあるが周の個数が最短であるｂｄｇｅが採用される。この最短経路を探すのに、図９の関係が用いられる。図９においてノード数（同図で黒丸のところ）を調べてノード数が最小のものが最短経路となる。このＩ型移動が適用されるのは、γ列の分岐点ｊがシルエットＳにあり、その前後にボーダーＢがともに存在するとき、すなわちγ＝‥αＳβ‥となる場合であり、シルエットＳ内でαからβに直接移動して良いことがわかる。
【００２７】
図１０（Ｂ）では、周ｇから点線で示す移動を行い、表皮周ａを経由してシルエットＳとの接続点に至っている。現在点Ｐから目標点Ｑまでの移動がシルエットＳの内部から外部への移動であるので、ＩＩ型移動を示している。このとき縫製済の周ｂｄ（＊印）は通行不可である。ＩＩ型移動は、分岐点ｊまでの経路がもしあれば、その経路に適用される。
【００２８】
図１０（Ｃ）には、シルエットＳの外から表皮周ａを経由して目的の周ｆに至る経路が点線で図示されており、現在点Ｐから目標点Ｑまでの移動がシルエットＳの外部から内部への移動であるので、ＩＩＩ型移動を示している。ＩＩＩ型移動は、分岐点から先の経路がもしあれば、その経路に適用される。ＩＩ型移動とＩＩＩ型移動においても、図９の関係を用いて表皮周の中であるき経路の周の個数が最小となる表皮周が選ばれる。
【００２９】
図５のステップＳ９に戻って説明すると、いまγ列はγ＝Ｓ1Ｂ1となっており、これは分岐点ｊから先の下降経路であるので、ＩＩＩ型移動を適用する。これを図３で示すと、現在点Ｐから鳥のボーダーＢ1の周の特定点に到達したことになる。このとき、あるき縫いデータを出力しておく。
【００３０】
続いてスタックＸにスタックＹをコピーし（ステップＳ１０）、スタックＸを現状の状態に合わせる。この状態が図６の（Ｅ）、（Ｆ）に図示されている。続いてステップＳ１１で周（ｔ）、すなわち図３のボーダーＢ1で囲まれた領域を縫いつぶすデータを出力部１４に出力する。
【００３１】
続いてステップＳ５に戻り、色＃１をもつ周、すなわちボーダーを捜す。図４のＳＢ構造で、ボーダーＢ1からシルエットＳ１を経て上方に昇るので、スタックＹで、ＰＯＰ、ＰＯＰの操作が行われ、ここでＵに達し、その後下方にＳ2Ｂ2を降りるので、ＰＵＳＨ  Ｓ2、ＰＵＳＨ  Ｂ2に至る。しかし、このボーダーＢ2は色＃２であるので、上昇してＰＯＰし、その後下降してＰＵＳＨ  Ｂ3、ＰＵＳＨ  Ｓ3、ＰＵＳＨ  Ｂ4の動作により、色＃１のボーダーＢ4に達する。このときのスタックＹの状態が図７（Ｂ）に図示されている。現在の状態を示す図７（Ａ）のスタックＸと目標位置を示す図７（Ｂ）のスタックＹを比較すると、分岐点はｊ＝０であることがわかる。
【００３２】
まだすべての色＃１のボーダーの探索が終了していないので、ステップＳ７でγ列が形成される。スタックＸのスタックポインタａ＿ｓｐから分岐点ｊまでＳＢ列は、Ｓ1φであり、一方スタックＹの分岐点ｊからスタックポインタｂ＿ｓｐまでのＳＢ列は、Ｓ2Ｂ3Ｓ3Ｂ4であるので、γ＝Ｓ1φＳ2Ｂ3Ｓ3Ｂ4が得られる。
【００３３】
ステップＳ８でこのγ列を取り出す。上昇経路Ｓ1φ（ＰＯＰ列）にはＩＩ型移動が、また下降経路Ｓ2Ｂ3Ｓ3Ｂ4（ＰＵＳＨ列）にはＩＩＩ型移動が適用されるので、この移動に従ってボーダーＢ4に達する。このボーダーに達するまではあるきデータが出力される。このとき、ステップＳ１０でスタックＸにスタックＹがコピーされるので、スタックＸは図７（Ｃ）に図示したようになる。そして、ステップＳ１１でボーダーＢ4で囲まれた部分を縫いつぶすデータが縫いつぶし部１３を介して出力部に出力される。
【００３４】
同様な手順でさらに色＃１をもつ周を探すと、図４のＳＢ構造で分岐点Ｂ3まで上昇経路をたどるのでＰＯＰ、ＰＯＰとなり、その後下降経路をたどってＰＵＳＨ  Ｓ4、ＰＵＳＨ  Ｂ5で周Ｂ5に達する。スタックＹの状態は、図７(Ｄ)に図示された状態となり、図７（Ｃ）のスタックＸと、図７（Ｄ）のスタックＹを較べると、分岐点はｊ＝２であることがわかる。これより、γ＝Ｓ3Ｂ3Ｓ4Ｂ5が得られる。上昇経路Ｓ3Ｂ3にはＩＩ型移動が、また下降経路Ｓ4Ｂ5にはＩＩＩ型移動が適用される。ボーダーＢ5の縫製データを出力した時の状況が図１１に図示されている。新たにボーダーＢ1、Ｂ4、Ｂ5が縫製済み（＊）になっていることがわかる。
【００３５】
以下同様な手順で色＃１のボーダーＢ11の周を縫いつぶすデータを出力すると、色＃１の周がすべて調べられたので、ステップＳ３に戻り色＃２、色＃３について同様な手順で各色の周を縫いつぶすデータを出力し、刺しゅうデータの作成が終了する。このように作成された刺しゅうデータはその後刺しゅうミシンに出力され、所望の刺しゅうが縫製される。
【００３６】
図５のステップＳ１で、スタックＸにφをＰＵＳＨする代わりに、針の現在点Ｐを真に含む周が必ずあるので、宇宙Ｕからその周に至るＳＢ列をあらかじめＰＵＳＨしておくこともできる（現在点Ｐがもともと宇宙Ｕに含まれているときは図５と同じになる）。この代替策を施しておくと、さらに良好な結果が得られる。すなわち、スタックＸの現在位置が最初から周の中にあるので、刺しゅうデータ最初の移動から、あるきのみで作成することができ、空送りが不要になる。
【００３７】
【発明の効果】
以上説明したように、本発明では、複数色の糸を用いて多色の刺しゅう縫いを行う場合、第１の色の刺しゅう部分をすべて縫いつぶしたのち、第２の色の刺しゅう部分のすべての縫いつぶしを行い、これを各色について行うことができるので、１本針ミシンにおいての面倒な糸交換の作業を最小限に抑えることができる。
【００３８】
また、それぞれの色の縫いにおいて、まだ縫っていないところをあるき縫いで移動して次の同じ色の刺しゅう部分のところに到達するが、このあるき縫いの部分はいずれ他の色で刺しゅうされる部分であり、外から見えなくすることができ、仕上がりの美しい刺しゅうを得ることができる。
【００３９】
また、あるき経路は、スタックのＰＯＰ、ＰＵＳＨ操作によりほぼ最短の経路となるので、縫製時間の短縮を図ることができる、など種々の効果が得られる。
【図面の簡単な説明】
【図１】従来の刺しゅうの縫いを説明する説明図である。
【図２】本発明の全体の装置構成を概略示すブロック図である。
【図３】刺しゅうする対象物をシルエットとボーダーで区分けした状態を示す説明図である。
【図４】シルエットとボーダーのＳＢ構造を示す説明図である。
【図５】縫い手順の流れを示すフローチャート図である。
【図６】現在の刺しゅう位置を格納するスタックＸと、目標となる刺しゅう位置を格納するスタックＹの格納状態を示した説明図である。
【図７】現在の刺しゅう位置を格納するスタックＸと、目標となる刺しゅう位置を格納するスタックＹの格納状態を示した説明図である。
【図８】移動経路の原理を説明するための周の群を示した説明図である。
【図９】移動経路の原理を説明するためのノードを示した説明図である。
【図１０】各種の移動経路を示した説明図である。
【図１１】縫いデータを出力したときのシルエットとボーダーのＳＢ構造を示す説明図である。
【符号の説明】
１０  全体制御部
１１  入力部
１２  ＳＢ構造生成部
１３  あるき生成部
１４  縫いつぶし部
１５  出力部
【図１】
0003833367.tif 000002
【図２】
0003833367.tif 000003
【図３】
0003833367.tif 000004
【図４】
0003833367.tif 000005
【図５】
0003833367.tif 000006
【図６】
0003833367.tif 000007
【図７】
0003833367.tif 000008
【図８】
0003833367.tif 000009
【図９】
0003833367.tif 000010
【図１０】
0003833367.tif 000011
【図１１】
0003833367.tif 000012