(57)【要約】【課題】常に安定した圧縮率で刺繍データを圧縮して確実に刺繍データのデータサイズを減少させること。【解決手段】刺繍縫製に関連する制御の種類を示す複数種の制御コードとこれら制御コードに夫々付随する制御データとを有する刺繍データについて、制御コードとそれに付随する制御データとを組にした縫製指令データが同種の制御コードだけを含む状態で複数組連続する場合に、その連続する複数組の縫製指令データから少なくとも２番目以降の制御コードを削除して圧縮刺繍データを作成する。【選択図】  図５
2004298369.tif 000002
【特許請求の範囲】
【請求項１】
刺繍縫製に関連する制御の種類を示す複数種の制御コードとこれら制御コードに夫々付随する制御データとを有する刺繍データを処理して圧縮する刺繍データ処理装置において、
制御コードとそれに付随する制御データとを組にした縫製指令データが同種の制御コードだけを含む状態で複数組連続する場合に、その連続する複数組の縫製指令データから少なくとも２番目以降の制御コードを削除した圧縮刺繍データを作成するデータ圧縮手段を有することを特徴とする刺繍データ処理装置。
【請求項２】
前記複数種の制御コードには、Ｘ，Ｙ方向への加工布の移動を指示するステッチコードが含まれ、このステッチコードに付随する制御データが縫針に対して加工布を相対移動させる移動量データであることを特徴とする請求項１に記載の刺繍データ処理装置。
【請求項３】
前記データ圧縮手段は、複数組の縫製指令データにおける先頭の制御コードを残した状態の圧縮刺繍データを作成することを特徴とする請求項１又は２に記載の刺繍データ処理装置。
【請求項４】
前記データ圧縮手段は、前記複数組連続する縫製指令データの組数を求め、この組数のデータを前記先頭の制御コードの次に組み込んだ圧縮刺繍データを作成することを特徴とする請求項３に記載の刺繍データ処理装置。
【請求項５】
刺繍縫製に関連する制御の種類を示す複数種の制御コードに制御データを対応付けてなる刺繍データのうちの、特定の制御コードとこの特定制御コードに付随させた複数組の連続する制御データとを処理する刺繍データ処理装置において、
前記刺繍データを順々に読みだして特定制御コードを検出する特定制御コード検出手段と、
前記特定制御コード検出手段により特定制御コードが検出された際に、その特定制御コードに付随する複数組の制御データを順々に読みだしながら、特定制御コードと制御データとを対にした複数対の連続するデータに書き換えるデータ変換手段と、
を備えたことを特徴とする刺繍データ処理装置。
【請求項６】
刺繍縫製に関連する制御の種類を示す複数種の制御コードとこれら制御コードに夫々付随する制御データとを有する刺繍データを処理して圧縮する刺繍データ処理方法において、
制御コードとそれに付随する制御データとを組にした縫製指令データが同種の制御コードだけを含む状態で複数組連続する場合に、その連続する複数組の縫製指令データから少なくとも２番目以降の制御コードを削除した圧縮刺繍データを作成することを特徴とする刺繍データ処理方法。
【請求項７】
刺繍データ処理装置のコンピュータに実行させる刺繍データ処理プログラムであって、刺繍縫製に関連する制御の種類を示す複数種の制御コードとこれら制御コードに夫々付随する制御データとを有する刺繍データを処理して圧縮する刺繍データ処理プログラムにおいて、
制御コードとそれに付随する制御データとを組にした縫製指令データが同種の制御コードだけを含む状態で複数組連続する場合に、その連続する複数組の縫製指令データから少なくとも２番目以降の制御コードを削除した圧縮刺繍データを作成する圧縮処理ルーチンを備えたことを特徴とする刺繍データ処理プログラム。
【請求項８】
刺繍縫製に関連する制御の種類を示す複数種の制御コードに制御データを対応付けた刺繍データであって刺繍データ処理装置のコンピュータで読み出し可能に記録した刺繍データのデータ構造において、
特定の制御コードと、この特定制御コードに付随する複数組の連続する制御データとを備えたデータ構造部を設けたことを特徴とする刺繍データのデータ構造。
【請求項９】
前記データ構造部は、特定制御コードの次に、複数組の連続する制御データの組数を示す組数データを備えたことを特徴とする請求項８に記載の刺繍データのデータ構造。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】本発明は、刺繍データ処理装置、刺繍データ処理方法、刺繍データ処理プログラム及び刺繍データのデータ構造に関し、特に、刺繍データを圧縮する技術に関する。
【０００２】
【従来の技術】従来より、刺繍ミシンにおいては、予めパーソナルコンピュータ等の刺繍データ作成装置により作成された刺繍データに基づいて加工布に刺繍縫製を行うことが多い。この刺繍データは、一般的に、実施形態の図４に示すように、ステッチ、ジャンプ、色替え等の刺繍縫製に関連する制御の種類を示す複数種の制御コードと、縫針に対するＸ，Ｙ方向への加工布の相対移動量等、前記複数種の制御コード等に夫々付随する制御データとを有する。
【０００３】
ところで、今日では、加工布に施される刺繍模様は多種多様化しており、それに伴って、刺繍データ（特に、刺繍データの大部分を占めるステッチデータ）のデータサイズが大きくなりつつある。刺繍データのデータサイズが大きくなると、この刺繍データを読み取り可能に記録して、記録した刺繍データを刺繍ミシンの制御装置に読み込ませるための、容量の大きな記録媒体が必要となる。さらに、１又は複数の刺繍ミシンを、刺繍データを記憶したパーソナルコンピュータやサーバー等の刺繍データ処理装置と接続して、この刺繍データ処理装置と刺繍ミシンとの間で刺繍データを送受信するようなシステムを構築した場合には、刺繍データ処理装置の記録媒体の記憶容量を大きくする必要があるとともに、刺繍データを送受信する際の通信コストも大きくなるという問題がある。
【０００４】
そのため、刺繍データのデータサイズを減少させることに関する種々の提案が既になされている。例えば、特許文献１に記載の刺繍データ作成装置は、刺繍縫製範囲を複数のブロックに分割し、各ステッチの針落ち点の位置を、その針落ち点を含むブロックの頂点の座標及びブロック内の糸密度により近似して表すことができるため、１針ごとの針落ち点のデータを作成する必要がなくなり、刺繍データのデータ数を減らすことができる。
【０００５】
また、特許文献２に記載の刺繍データ圧縮方法においては、各ステッチの針落ち点のＸ，Ｙ座標データを、所定の基準位置の座標データからの偏差で置き換えることにより、座標データの値自体を小さくすることで刺繍データを圧縮する。
【０００６】
さらに、特許文献３に記載のデータ圧縮装置及びデータ圧縮方法においては、「１」、「０」の羅列したビットデータにおいて、連続したビットデータを８ビットで構成された１バイト単位で区切り、この８ビットのデータに対して、その中の「１」のデータ位置に対応する識別コードを付与するとともに、「０」のデータを除去して、バイナリデータの数を減少させた圧縮ビットデータを作成する。
【０００７】
【特許文献１】特公平６−６７４２３号公報（第２−５頁、第１−８図）
【特許文献２】特開平２−５７２９０号公報（第２−５頁、第１−８図）
【特許文献３】特開平７−２４１６７号公報（第４−６頁、図７、図８）
【０００８】
【発明が解決しようとする課題】特許文献１に記載の刺繍データ作成装置においては、針落ち点の位置をブロックの頂点の座標とブロック内の糸密度により近似して表して刺繍データを作成するため、元の刺繍模様の針落ち点を正確に再現することができない場合もあり、その刺繍データにより実際に加工布に施された刺繍模様が意図した刺繍模様と少し異なってしまう虞がある。
【０００９】
特許文献２に記載の刺繍データ圧縮方法においては、針落ち点の座標データの値自体を小さくできるものの、データの個数自体を減らすわけではないので、刺繍データによっては圧縮率が低くなる場合もあるなど、圧縮率が安定しない。さらに、特許文献３に記載のデータ圧縮装置及びデータ圧縮方法においても、元のデータサイズが同じでも、ビットデータの「１」、「０」の配列により圧縮率が大きく異なることに場合もあるため、想定していたデータサイズまで圧縮できず、刺繍データの記憶や転送等ができないこともありえる。
本発明の目的は、常に安定した圧縮率で刺繍データを圧縮して確実に刺繍データのデータサイズを減少させること、圧縮刺繍データを復元したときに針落ち点を正確に再現すること、刺繍データを圧縮する前に予め圧縮後のデータサイズを想定可能にすること、等である。
【００１０】
【課題を解決するための手段】請求項１の刺繍データ処理装置は、刺繍縫製に関連する制御の種類を示す複数種の制御コードとこれら制御コードに夫々付随する制御データとを有する刺繍データを処理して圧縮する刺繍データ処理装置において、制御コードとそれに付随する制御データとを組にした縫製指令データが同種の制御コードだけを含む状態で複数組連続する場合に、その連続する複数組の縫製指令データから少なくとも２番目以降の制御コードを削除した圧縮刺繍データを作成するデータ圧縮手段を有するものである。
【００１１】
刺繍ミシンにより加工布に対して刺繍縫製を行う際には、ステッチ、ジャンプ、色替え、糸切り、一時停止等、刺繍縫製に関する種々の制御が実行される。そして、その刺繍縫製の為の刺繍データには、これら種々の制御を示す制御コードと、これら制御コードに夫々付随する制御データとが含まれている。例えば、ステッチやジャンプを示す制御コードに対しては、縫針に対して加工布をＸ，Ｙ方向へ相対移動させる移動量データが付随する。そして、制御コードとその制御コードに付随する制御データとを組にして縫製指令データが構成され、この縫製指令データが複数組連続して前記種々の制御が連続して行われるように、刺繍データは構成されている。
【００１２】
ここで、縫製指令データが同種の制御コードだけを含む状態で複数組連続する場合には、その制御コードが示す制御が連続して行われることを示す。そして、その場合に、データ圧縮手段は、その連続する複数組の縫製指令データから少なくとも２番目以降の制御コードを削除して圧縮刺繍データを作成する。ここで、連続する複数組の縫製指令データのうち、先頭の縫製指令データの制御コードだけを残して、どの制御が連続して行われるのかを容易に判別できるようにしてもよいが、圧縮刺繍データから刺繍データを復元する際に、削除された制御コードを復元することができる場合には、全ての制御コードを削除してもよい。
【００１３】
請求項２の刺繍データ処理装置は、請求項１の発明において、前記複数種の制御コードには、Ｘ，Ｙ方向への加工布の移動を指示するステッチコードが含まれ、このステッチコードに付随する制御データが縫針に対して加工布を相対移動させる移動量データであるものである。刺繍縫製の際に行われる制御はステッチが大部分であるため、刺繍データを構成する複数組の縫製指令データに含まれる制御コードのほとんどがステッチコードである。そこで、データ圧縮手段は、このステッチコードを有し複数組連続する縫製指令データについて、少なくとも２番目以降のステッチコードを削除するとともに縫針に対して加工布を相対移動させる移動量データを連続させて、圧縮刺繍データを作成する。
【００１４】
請求項３の刺繍データ処理装置は、請求項１又は２の発明において、前記データ圧縮手段は、複数組の縫製指令データにおける先頭の制御コードを残した状態の圧縮刺繍データを作成するものである。従って、縫製指令データが同種の制御コードだけ含む状態で複数組連続する場合に、データ圧縮手段は、圧縮刺繍データから元の刺繍データを復元する際にどの制御が以下連続して行われるのかを判別できるように、先頭の制御コードを残した状態で２番目以降の制御データを削除する。
【００１５】
請求項４の刺繍データ処理装置は、請求項３の発明において、前記データ圧縮手段は、前記複数組連続する縫製指令データの組数を求め、この組数のデータを前記先頭の制御コードの次に組み込んだ圧縮刺繍データを作成するものである。縫製指令データが同種の制御コードだけ含む状態で複数組連続する場合に、データ圧縮手段は、先頭の制御コード以外の制御コードを削除するが、圧縮刺繍データから元の刺繍データを復元する際に、その制御コードで示される制御が何回繰り返し行われるのかを容易に検出できるように、データ圧縮手段は、それら連続する縫製指令データの組数を求めて、その組数のデータを制御コードの次に組み込む。
【００１６】
請求項５の刺繍データ処理装置は、刺繍縫製に関連する制御の種類を示す複数種の制御コードに制御データを対応付けてなる刺繍データのうちの、特定の制御コードとこの特定制御コードに付随させた複数組の連続する制御データとを処理する刺繍データ処理装置において、前記刺繍データを順々に読みだして特定制御コードを検出する特定制御コード検出手段と、前記特定制御コード検出手段により特定制御コードが検出された際に、その特定制御コードに付随する複数組の制御データを順々に読みだしながら、特定制御コードと制御データとを対にした複数対の連続するデータに書き換えるデータ変換手段とを備えたものである。
【００１７】
刺繍データには、ステッチ、ジャンプ、色替え、糸切り、一時停止等、刺繍縫製に関する種々の制御の種類を示す制御コードと、これら制御コードに夫々付随する制御データとが含まれている。ここで、刺繍ミシンにより刺繍縫製を行う際には、制御コードとその制御コードに付随する制御データとを対にして、この１対のデータを、刺繍縫製の際に実行されるステッチ等の制御の回数分だけ複数対連続させて構成したデータ構造を有する刺繍データを使用する場合が多い。
【００１８】
しかし、刺繍縫製においては、例えば、ステッチのような特定の制御は複数回連続して行われるのが通常である。そこで、刺繍データを作成したり、作成した刺繍データを記録媒体に記録させたり刺繍ミシンに転送したりする場合に、刺繍データを、ステッチ等の特定の制御を示す特定制御コードに複数組の連続する制御データを付随させたデータ構造で構成すれば、連続する特定の制御に対して特定制御コードが１つだけ付されることになり、刺繍データのデータサイズを減少させることができる。
【００１９】
そして、この請求項５の刺繍データ処理装置は、このようにデータサイズを減少させた刺繍データを処理してその刺繍データを刺繍ミシンで使用可能なデータ構造を有するデータに変換するものである。即ち、特定制御コード検出手段により刺繍データを順々に読み出して特定制御コードが検出された際に、データ変換手段により、その特定制御コードに付随する複数組の制御データを順々に読み出して、特定制御コードと制御データとを対にした複数対の連続するデータに書き換える。
【００２０】
請求項６の刺繍データ処理方法は、刺繍縫製に関連する制御の種類を示す複数種の制御コードとこれら制御コードに夫々付随する制御データとを有する刺繍データを処理して圧縮する刺繍データ処理方法において、制御コードとそれに付随する制御データとを組にした縫製指令データが同種の制御コードだけを含む状態で複数組連続する場合に、その連続する複数組の縫製指令データから少なくとも２番目以降の制御コードを削除した圧縮刺繍データを作成するものである。
【００２１】
この刺繍データ処理方法によれば、制御コードとその制御コードに付随する制御データを組にして構成された縫製指令データが同種の制御コードだけ含む状態で複数組連続する場合に、その連続する複数組の縫製指令データから少なくとも２番目以降の制御コードを削除して圧縮刺繍データを作成する。
【００２２】
請求項７の刺繍データ処理プログラムは、刺繍データ処理装置のコンピュータに実行させる刺繍データ処理プログラムであって、刺繍縫製に関連する制御の種類を示す複数種の制御コードとこれら制御コードに夫々付随する制御データとを有する刺繍データを処理して圧縮する刺繍データ処理プログラムにおいて、制御コードとそれに付随する制御データとを組にした縫製指令データが同種の制御コードだけを含む状態で複数組連続する場合に、その連続する複数組の縫製指令データから少なくとも２番目以降の制御コードを削除した圧縮刺繍データを作成する圧縮処理ルーチンを備えたものである。
【００２３】
この刺繍データ処理プログラムが刺繍データ処理装置のコンピュータで実行されると、圧縮処理ルーチンにおいて、制御コードとその制御コードに付随する制御データを組にして構成された縫製指令データが同種の制御コードだけ含む状態で複数組連続する場合に、その連続する複数組の縫製指令データから少なくとも２番目以降の制御コードが削除されて圧縮刺繍データが作成される。
【００２４】
請求項８の刺繍データのデータ構造は、刺繍縫製に関連する制御の種類を示す複数種の制御コードに制御データを対応付けた刺繍データであって刺繍データ処理装置のコンピュータで読み出し可能に記録した刺繍データのデータ構造において、特定の制御コードと、この特定制御コードに付随する複数組の連続する制御データとを備えたデータ構造部を設けたものである。特定の制御を複数回連続して実行するためのデータを有するデータ構造部は、その特定の制御を示す特定制御コードとこの特定制御コードに付随する複数組の連続する制御データを備えており、連続して実行される複数回の特定の制御に対して付される特定制御コードが１つだけであるため、刺繍データのデータ数が少なくなる。
【００２５】
請求項９の刺繍データのデータ構造は、請求項８の発明において、前記データ構造部は、特定制御コードの次に、複数組の連続する制御データの組数を示す組数データを備えたものである。従って、刺繍データ処理装置のコンピュータにより特定制御コードが読み出された場合に、特定制御コードの次に連続する、複数組の制御データの組数を示す組数データも読み出されるので、その特定の制御が連続して繰り返される回数が検出される。
【００２６】
【発明の実施の形態】本発明の実施の形態について説明する。本実施形態は、刺繍ミシン及びこの刺繍ミシンで使用される刺繍データを処理する刺繍データ処理装置に本発明を適用した一例である。
図１に示すように、刺繍ミシン１に、パーソナルコンピュータ３０（以下、ＰＣ３０という）を主体とする刺繍データ処理装置２がデータ転送用ケーブル３を介して接続されている。
【００２７】
まず、刺繍ミシン１について簡単に説明する。
図１、図２に示すように、刺繍ミシン１は、ミシン本体４と、刺繍枠１５を左右方向（Ｘ軸方向）と前後方向（Ｙ軸方向）に移動させる為の刺繍枠移動機構５と、刺繍ミシン１全体の制御を司る制御装置６とを備えている。ミシン本体４は、ベッド部７と、このベッド部７の右端部から立設された脚柱部８と、脚柱部８の上端からベッド部７に対向するように左方に延びるアーム部９とを有し、ミシン本体４はミシンテーブル１０に組み込まれている。アーム部９の左端部のアーム頭部には、縫針１１を装着した針棒１２が設けられている。刺繍枠移動機構５は、Ｘ軸駆動モータ１３とＹ軸駆動モータ１４とを有し、これら２つの駆動モータ１３，１４により加工布を装着した刺繍枠１５を左右方向及び前後方向に駆動する。
【００２８】
図２に示すように、制御装置６には、ＣＰＵ２０とＲＯＭ２１とＲＡＭ２２とこれらを接続するバス２３とを含むマイクロコンピュータと、バス２３に接続され書き換え可能なＥＥＰＲＯＭ２４と、入出力インターフェース２５等を有する。バス２３にはフレキシブルドライブ２６（ＦＤＤ）も接続されている。入出力インターフェース２５には、後述の刺繍データ処理装置２のＰＣ３０と、操作パネル２６等が接続され、さらに、ミシンモータ２７、Ｘ軸駆動モータ１３、Ｙ軸駆動モータ１４等が接続されている。
【００２９】
刺繍ミシン１には、刺繍データ処理装置２のＰＣ３０で作成された後述の圧縮刺繍データがデータ転送用ケーブル３を介して転送され、ＥＥＰＲＯＭ２４に記憶される。そして、ＲＯＭ２１には、この圧縮刺繍データを圧縮前の刺繍データに復元するデータ復元プログラムが格納されている。これら、圧縮刺繍データ及びデータ復元プログラムについては、後で詳述する。
【００３０】
次に、刺繍データ処理装置２について説明する。
図１に示すように、刺繍データ処理装置２は、ＰＣ３０と、このＰＣ３０に接続された、ディスプレイ３１、キーボード３２、マウス３３等で構成されている。この刺繍データ処理装置２は、図４に示すような、刺繍ミシン１による刺繍縫製の為の刺繍データを作成したり、作成された刺繍データを圧縮して図５の圧縮刺繍データを作成したりする為のものである。
【００３１】
図３に示すように、ＰＣ３０は、刺繍データに関する種々の処理を制御する制御装置４０を有する。この制御装置４０は、ＣＰＵ４１とＲＯＭ４２とＲＡＭ４３とこれらを接続するバス４４とを含むマイクロコンピュータと、バス４４に接続されハードディスク４５（ＨＤ）を備えたハードディスクドライブ４６（ＨＤＤ）と、入出力インターフェース４９等を有する。バス４４には、フレキシブルディスクドライブ４７（ＦＤＤ）と、ＣＤ−ＲＯＭドライブ４８も接続されている。入出力インターフェース４９には、ディスプレイ３１を駆動する為の表示駆動回路５０、キーボード３２、マウス３３等も接続されている。
【００３２】
ＲＯＭ４２には、ＰＣ３０の電源ＯＮ時にＰＣ３０を起動する起動プログラム等、種々のプログラムが格納されている。
一方、ＨＤ４５には、ＯＳ（オペレーティングシステム）や、ディスプレイ３１、キーボード３２、マウス３３等を使用可能とする為の各種ドライバが組み込まれ、さらに、ＨＤ４５には、刺繍データを新規に作成したり、作成された刺繍データを処理して圧縮する後述の刺繍データ処理プログラム等、種々のプログラムが格納されている。そして、これらのプログラムにより作成、あるいは、処理された刺繍データ等もＨＤ４５に記憶される。
【００３３】
ここで、刺繍縫製に使用される刺繍データについて説明する。この刺繍データは、刺繍データ処理装置２により作成することもできるが、他の刺繍データ作成装置で作成した刺繍データをＦＤやＣＤ−ＲＯＭ等の記憶媒体を介してＨＤ４５に記憶させてもよいし、あるいは、他の複数の刺繍データ処理装置と接続されたサーバーに一元的に管理された刺繍データを、ネットワークを介してダウンロードしてＨＤ４５に記憶するようにしてもよい。
【００３４】
図４に示すように、刺繍データは、ステッチ、ジャンプ、色替え、糸切り等、刺繍縫製に関連する種々の制御を示す複数種の制御コードとこれら制御コードに夫々付随する制御データとを有する。ここで、図４において、１つの枠のデータサイズは、８ビットからなる１バイトである。例えば、制御コードがステッチを示すステッチコードであれば、このステッチコードに、縫針１１に対して刺繍枠１５（つまり、加工布）を夫々相対移動させるＸ方向相対移動量データ（以下、Ｘ方向移動量データという）とＹ方向相対移動量データ（同じく、Ｙ方向移動量データという）とが制御データとして付随している。ここで、移動量データは、符号に１ビット、数値に７ビット使用するため、これら移動量を０．１ｍｍ単位で記述すると、±１２．８ｍｍの値の範囲内でＸ方向、Ｙ方向の移動量の値を設定できる。
【００３５】
また、制御コードが色替えを示す色替えコードであれば、この色替えコードには、色番号データが制御データとして付随している。そして、刺繍データは、これら制御コードとそれに付随する制御データとを組にした縫製指令データＤｋ（ｋ＝１，２，・・・）が複数組連続した状態で構成されている。
【００３６】
ところで、前記の刺繍縫製に関連する制御の大部分はステッチである。従って、刺繍データの連続した複数組の縫製指令データＤｋの大部分は、制御データとしてステッチコードを有する。そして、通常、ステッチは複数針連続して行われることが多く、図４に示すように、ｎ針連続してステッチを行う場合には、３バイト毎にステッチコードが連続する。そこで、後ほど説明する、刺繍データ処理プログラムを実行することにより、２番目以降の重複するステッチコード（図４の塗りつぶしたデータ部分）を削除して、図５に示す、圧縮刺繍データを作成することができるようになっている。
【００３７】
この圧縮刺繍データにおいては、前述の刺繍縫製に関連する制御の種類を示すステッチコードや色替えコード等の複数種の制御コードに夫々制御データが対応付けられている。さらに、この圧縮刺繍データには、図４の刺繍データにおける、ステッチコードを有する複数組の縫製指令データＤｋが連続するステッチデータ部から２番目以降のステッチコードを削除して作成された、ステッチコード（特定制御コードに相当する）とこのステッチコードに付随する複数組の連続するＸ方向移動量データ及びＹ方向移動量データとを備えた圧縮ステッチデータ部（データ構造部に相当する）が設けられている。そして、この圧縮ステッチデータ部は、ステッチコードの次に、複数組の連続するＸ方向移動量データ及びＹ方向移動量データの組数を示す組数データ（つまり、連続ステッチ数ｎのデータ）を備えている。
【００３８】
次に、刺繍データ処理プログラムについて説明する。この刺繍データ処理プログラムは、図４に示す刺繍データを作成するデータ作成ルーチンや、データ作成ルーチン等で作成された刺繍データを処理して圧縮するデータ圧縮ルーチン等を備えている。但し、データ作成ルーチンについては当業者により公知の種々の技術を適用できるため、その説明を省略し、ここでは、本願発明の特徴部分の１つであるデータ圧縮ルーチンについて、図６のフローチャートを参照して説明する。尚、以下の説明において、Ｓｉ（Ｓｉ＝１０，１１，１２・・・）はステップ数を示す。
【００３９】
このデータ圧縮ルーチンが実行されると、ＰＣ２のＨＤ４５に記憶された刺繍データが読み出されて、その刺繍データを圧縮した圧縮刺繍データがＨＤ４５の別の領域に書き込まれる。そして、データ圧縮ルーチンによるデータ圧縮処理が終了すると、元の刺繍データは削除される。
【００４０】
図６に示すように、データ圧縮ルーチンが実行されて、データ圧縮処理が開始されると、初期設定において、ステッチの連続ステッチ数ｎ、入力側である刺繍データの読み出し位置を指示する読み出しポインタＰ１、出力側である圧縮刺繍データの書き込み位置を指示する書き込みポインタＰ２の初期値を０にしてから（Ｓ１０）、図４の刺繍データを順に読み出していく。まず、ポインタＰ１が指示する制御コードを読み出してＰ１をインクリメントし（Ｓ１１）、その制御コードがステッチコードであれば（Ｓ１２：Ｙｅｓ）、ステッチフラグＦｓを１とし（Ｓ１３）、連続ステッチ数ｎをインクリメントする（Ｓ１４）。
【００４１】
まず、連続ステッチ数ｎが１の場合には（Ｓ１５：Ｙｅｓ）、ステッチコードをポインタＰ２が指示する位置に書き込んで、ポインタＰ２をインクリメントする（Ｓ１６）。さらに、図５に示すように、後述のＳ２１で最終的な連続ステッチ数ｎを求めてからステッチコードの次の位置にｎの値を書き込むことができるように、連続ステッチ数ｎの書き込み用のポインタＰｓをＰ２として、ｎの書き込み位置を一旦記憶しておく（Ｓ１７）。
【００４２】
そして、図４の刺繍データにおいて、ポインタＰ１が指示するＸ方向移動量（この場合は、１針目のＸ方向移動量Ｘ１）を、図５の圧縮刺繍データのポインタＰ２の位置（連続ステッチ数ｎの書き込み位置Ｐｓの次の位置）に書き込んでポインタＰ１，Ｐ２をインクリメントする（Ｓ１８）。さらに、次に続くＹ方向移動量（この場合は、１針目のＹ方向移動量Ｙ１）も同様に圧縮刺繍データのポインタＰ２の位置に書き込んでポインタＰ１，Ｐ２をインクリメントして（Ｓ１９）、Ｓ２４へ移行し、Ｐ１が指示するデータが終了コードでなければ（Ｓ２４：Ｎｏ）、Ｓ１１へ戻って次の制御コードを読み出す。
【００４３】
次の縫製指令データの制御コードもステッチコードであれば（Ｓ１２：Ｙｅｓ）、連続ステッチ数ｎがインクリメントされるため（Ｓ１４）、連続ステッチ数ｎは１でない（Ｓ１５：Ｎｏ）。このときには、刺繍データから２番目の縫製指令データ以降の重複するステッチコードを削除して、Ｘ方向移動量ＸｎとＹ方向移動量Ｙｎだけを圧縮刺繍データに書き込む（Ｓ１８、Ｓ１９）。そして、連続するステッチが途切れるまでこれらの処理を繰り返す。
【００４４】
次に、Ｓ１２において、制御データがステッチ以外のジャンプや色替えの制御コードである場合に（Ｓ１２：Ｎｏ）、ステッチフラグＦｓが１、つまり、直前までの縫製指令データの制御コードがステッチであれば（Ｓ２０：Ｙｅｓ）、連続ステッチ数ｎの積算を終了して、Ｓ１７で指定したステッチ数書き込み用のポインタＰｓの位置（図５におけるステッチコードの次の位置）にｎの値を書き込む（Ｓ２１）。そして、ｎとＦｓをクリアして（Ｓ２２）、Ｓ２３に移行する。一方、ステッチフラグＦｓが１でなければ（Ｓ２０：Ｎｏ）、直前の縫製指令データの制御コードはステッチでないため、そのままＳ２３に移行する。
【００４５】
Ｓ２３において、制御コードはステッチコード以外の色替えやジャンプを示すコードであるが、これら色替えやジャンプ等の制御が連続して行われることは少ないため、制御コードを削除することはせずに制御コードとその制御コードに対応する制御データ（例えば、色替えであれば色番号データ、ジャンプであればＸ，Ｙ方向移動量データ）をそのまま圧縮刺繍データに書き込んで（Ｓ２３）、Ｓ２４へ移行する。そして、ポインタＰ１で指示するデータが終了コードでなければ（Ｓ２４：Ｎｏ）、Ｓ１１に戻って次の制御コードを読み出し、ポインタＰ１で指示するデータが終了コードであれば（Ｓ２４：Ｙｅｓ）、データ圧縮処理を終了する。
【００４６】
以上のように、図４の刺繍データにデータ圧縮処理を施すことで、３ｎバイトのサイズのステッチデータ部が、図５に示すように（２ｎ＋２）のサイズの圧縮ステッチデータ部に圧縮される。そして、前述したように、刺繍データの大部分がステッチデータ部であることを考慮すると、刺繍データのデータサイズが略２／３まで圧縮されることになる。
【００４７】
次に、前記の圧縮刺繍データを元の刺繍データに復元するデータ復元プログラムのデータ復元ルーチンについて説明する。データ復元プログラムは、前述したように刺繍ミシン１の制御装置６のＲＯＭ２１に格納されている。そして、前記のデータ圧縮処理により作成された圧縮刺繍データがＰＣ３０のＨＤ４５からＥＥＰＲＯＭ２４に読み込まれた後にデータ復元ルーチンが実行されると、図５の圧縮刺繍データが順々に読みだされてステッチコードが検出された際に  ステッチコードに付随する複数組のＸ，Ｙ方向移動量データが順々に読みだされ、ステッチコードとＸ，Ｙ方向移動量データとを対にした複数対の連続するデータに書き換えられて、図４に示す刺繍データに復元される。以下、図７のフローチャートを参照してこのデータ復元ルーチンについて説明する。
【００４８】
データ復元ルーチンが実行されてデータ圧縮処理が開始されると、まず、初期設定において、入力側の圧縮刺繍データの読み出し位置を指示する読み出しポインタＰ２、出力側である刺繍データの書き込み位置を指示する書き込みポインタＰ１を０としてから（Ｓ４０）、図５の圧縮刺繍データを順に読み出していく。そして、まず、ポインタＰ２が指示する制御コードを読み出してからＰ２をインクリメントし（Ｓ４１）、この制御コードがステッチコードであれば（Ｓ４２：Ｙｅｓ）、さらに、ポインタＰ２が指示する連続ステッチ数ｎを読み出してＰ２をインクリメントする（Ｓ４３）。
【００４９】
次に、カウンタｉの初期値を１として（Ｓ４４）、ｉ＝１〜ｎまでの間、以下の処理を繰り返す（Ｓ４５〜Ｓ４９）。まず、ステッチコードを圧縮刺繍データのＰ１が指示する位置に書き込んでＰ１をインクリメントする（Ｓ４５）。そして、ポインタＰ２が指示するｉ針目のＸ方向移動量ＸｉをポインタＰ１が指示する位置に書き込んでＰ２，Ｐ１をインクリメントする（Ｓ４６）。同様に、ｉ針目のＹ方向移動量ＹｉもポインタＰ１が指示する位置に書き込んでＰ２，Ｐ１をインクリメントする（Ｓ４７）。そして、カウンタｉをインクリメントして（Ｓ４８）、Ｘｉ，Ｙｉを図４の刺繍データに順次書き込んでいき、ｉ＝ｎになると（Ｓ４９：Ｙｅｓ）、一連の連続ステッチのデータの書き込みを終了してＳ５１へ移行する。Ｓ５１において、Ｐ２で指示するデータが終了コードでなければ（Ｓ５１：Ｎｏ）、Ｓ４１へ戻って次の制御コードを読み出す。
【００５０】
一方、Ｓ４２において、ポインタＰ２が指示する制御コードがステッチコードでない場合には（Ｓ４２：Ｎｏ）、Ｐ２，Ｐ１をインクリメントしつつ圧縮刺繍データの制御コードとその制御コードに対応する制御データをそのまま刺繍データに書き込み（Ｓ５０）、Ｓ５１へ移行する。そして、Ｓ５１において、ポインタＰ２で指示するデータが終了コードでなければ（Ｓ５１：Ｎｏ）、Ｓ４１に戻って次の制御コードを読み出し、ポインタＰ２で指示するデータが終了コードであれば（Ｓ５１：Ｙｅｓ）、データ復元処理を終了する。
【００５１】
尚、刺繍データ処理装置２が請求項１〜４の刺繍データ処理装置に相当し、ＰＣ３０のマイクロコンピュータと図６のフローチャートが請求項１のデータ圧縮手段に相当する。一方、刺繍ミシン１の制御装置６が請求項５の刺繍データ処理装置に相当し、制御装置６のマイクロコンピュータと図７のＳ４１及びＳ４２が特定制御コード検出手段に相当し、さらに、制御装置のマイクロコンピュータと図８のＳ４３〜Ｓ４９がデータ変換手段に相当する。
【００５２】
以上説明した刺繍ミシン１及び刺繍データ処理装置２によれば、以下のような効果が得られる。
１）刺繍データ処理装置２は、図６の刺繍データ処理プログラムのデータ圧縮ルーチンを実行することで、刺繍データのうち、縫製指令データＤｋがステッチコードを含む状態で複数組連続するステッチデータ部に対して、その連続する複数組の縫製指令データにおける先頭のステッチコードだけを残し２番目以降のステッチコードを削除して圧縮刺繍データを作成する。ここで、刺繍データ内の制御コードの大部分はステッチコードであり、それら大部分のステッチコードを削除して圧縮刺繍データが作成されるため、刺繍データのデータ数をほぼ一定割合で確実に減少させて、安定した圧縮率で刺繍データを圧縮することができる。
【００５３】
２）図４の刺繍データにおいては、ステッチコードとこのステッチコードに付随するＸ方向移動量とＹ方向移動量の２つのデータにより、ステッチの縫製指令データＤｋが構成されているが、刺繍データを圧縮する際に、大部分のステッチコードを削除することで、刺繍データのデータサイズが略２／３に圧縮される。つまり、刺繍データが常に安定した圧縮率で圧縮されるため、事前に圧縮後の圧縮刺繍データのデータサイズを想定でき、圧縮刺繍データを記憶させたり転送させたりすることが可能かを確実に判断できるようになる。
【００５４】
３）刺繍データ処理装置２で圧縮した圧縮刺繍データを刺繍ミシン１の制御装置６に転送した後、制御装置６においてデータ復元プログラムのデータ復元ルーチンを実行させることにより、図５の圧縮刺繍データを、刺繍ミシン１で刺繍縫製する際に使用可能な図４の刺繍データに復元できる。さらに、刺繍データを圧縮する際に各ステッチの移動量データは削除されないため、データ復元ルーチンにおいて、圧縮刺繍データから元の刺繍データを完全に復元することができる。
【００５５】
次に、前記実施形態に種々の変更を加えた変更形態について説明する。
１］前記実施形態では、データ圧縮処理において、制御コードがステッチコードであれば、連続ステッチ数ｎが１であっても（つまり、ステッチが連続していない場合でも）、ステッチコードの次に連続ステッチ数ｎを書き込むようにしているが、ステッチが連続している場合に限り、連続ステッチ数ｎを書き込むようにしてもよい。
【００５６】
２］図６のデータ圧縮処理において、必ずしも、ステッチコードの次に連続ステッチ数ｎを書き込む必要はない。例えば、ステッチコード等の複数種の制御コードに対して夫々特定の値を割り当て、これら特定の値をＸ，Ｙ方向移動量等の制御データでは使用できないようにしておけば、図５の圧縮刺繍データのうちの、ステッチコードから次の別の種類の制御コード（例えば、ジャンプ）を示す特定の値までの間のｎ組の制御データは全てＸ方向移動量とＹ方向移動量であるため、圧縮刺繍データを復元するデータ復元処理において、Ｘ方向移動量とＹ方向移動量とからなるデータ連続する組数ｎをカウントすることにより、容易に連続ステッチ数ｎを求めることができる。
【００５７】
３］前述のように、複数種の制御コードとして、制御データで使用されない特定の値を用いれば、ステッチコードを全て削除した圧縮刺繍データを作成することも可能である。即ち、図４の刺繍データにおいて、複数種の制御コードに付随する制御データの数は予め決まっているので、刺繍データからステッチコードだけを全て削除しても圧縮刺繍データを作成したとしても、データ復元処理においてこの圧縮刺繍データを復元する際に、あるステッチコードでない制御コードを検出したときに、その制御コードの位置から制御コードに付随する制御データの数だけ進んだ位置に次の制御コードが格納されていることになる。そして、その次の制御コードが格納されているはずの位置に、制御コードを示す特定の値がなない場合には、制御コードが削除されたステッチコードであると判定して、以下連続するＸ方向移動量、Ｙ方向移動量を読み出せばよい。
【００５８】
４］刺繍データ処理装置２で刺繍データを圧縮して作成した圧縮刺繍データを、ＦＤやＣＤ−ＲＯＭ、あるいは、メモリーカード等の種々の記録媒体に記録して、これら種々の記録媒体を介して圧縮刺繍データを刺繍ミシン１の制御装置６に読み込ませるようにしてもよい。また、無線を利用したＲＡＮを介して圧縮刺繍データを刺繍ミシン１へ転送してもよい。
【００５９】
５］前記実施形態では、図４の刺繍データを予め作成してから、この刺繍データを刺繍データ処理装置２で圧縮して圧縮刺繍データを作成するようにしているが、刺繍データを作成する段階で、最初から図５のデータ構造を有するデータサイズの小さい刺繍データを作成し、この作成された刺繍データを刺繍ミシン１の制御装置６へ読み込ませてから、図７のデータ復元処理と同様の処理を刺繍データに施して、刺繍ミシン１で使用できる、図４の一般的なデータ構造の刺繍データに変換するようにしてもよい。
【００６０】
次に、本発明の別実施形態について説明する。但し、前記実施形態と同様の構成については同じ符号を付して適宜その説明を省略する。
前記実施形態では、刺繍データの制御コードの大部分がステッチデータであることに着目して刺繍データを効果的に圧縮する技術について説明した。それに加えて、この別実施形態では、一般的に、複数の連続するステッチにおいて、あるステッチのＸ方向移動量及びＹ方向移動量の値と、そのステッチの２針前のＸ方向移動量及びＹ方向移動量の値とはあまり差がないことを利用して、さらに刺繍データの圧縮率を高める技術について説明する。
【００６１】
一般的な刺繍縫製においては、図８（ａ）に示すタタミ縫いや、図８（ｂ）に示すサテン縫いが行われることが多い。まず、タタミ縫いに関しては、各ステッチのＸ方向移動量及びＹ方向移動量は、その数針前後のステッチと比較して大きく変化することはあまりない。一方、サテン縫いに関しては、各ステッチのＸ方向移動量及びＹ方向移動量は、２針前後のステッチと比較した場合には、その変化量は小さいことが多い。即ち、図９（ａ）の１針目＜１＞と３針目＜３＞は似かよったステッチであり、２針目＜２＞と４針目＜４＞の関係も同様である。
【００６２】
そこで、３針以上の複数のステッチが連続する場合において、３針目以降のステッチのＸ方向移動量及びＹ方向移動量を、２針前のステッチのＸ方向移動量及びＹ方向移動量からの差分で表すことにより、これら移動量データのデータサイズを小さくすることができる。
【００６３】
以上のような観点に基づいて、図４の刺繍データを圧縮したときの、具体的な圧縮刺繍データのデータ構造について、図４、図９を参照して説明する。ここで、図４、図９で示される、１つの枠のデータサイズは８ビットからなる１バイトである。前述のように、ステッチは通常複数針連続して行われるため、図４の刺繍データにおいて、ステッチデータとこのステッチデータに付随する１組のＸ，Ｙ方向移動量データを備えた縫製指令データＤｋが複数組連続してステッチデータ部が構成されている。
【００６４】
そして、刺繍データ処理装置２において、後述の刺繍データ処理プログラムによるデータ圧縮処理が実行されると、連続する複数針のステッチに関し、３針目以降のステッチのＸ，Ｙ方向の移動量データを、Ｘ方向移動量Ｘｎ及びＹ方向移動量Ｙｎの代わりに、Ｘ方向移動量Ｘｎ及びＹ方向移動量Ｙｎと２針前のステッチのＸ方向移動量Ｘ（ｎ−２）及びＹ方向移動量Ｙ（ｎ−２）との差分ｄＸｎ（ｄＸｎ＝Ｘｎ−Ｘ（ｎ−２）），ｄＹｎ（ｄＸｎ＝Ｘｎ−Ｘ（ｎ−２））で表す。これらの差分ｄＸｎ，ｄＹｎの値が、４ビットで記述できる範囲内（具体的には、移動量を０．１ｍｍ単位で記述し、符号に１ビット、数値に３ビットを夫々使用すると、±０．７ｍｍの範囲内）の値であれば、これら連続する複数針のステッチが、移動量差分値の小さい小ステッチであると判定する。
【００６５】
このように小ステッチと判定された複数針のステッチに対して、図９の圧縮刺繍データにおいては、前記実施形態と同様に、刺繍データから２番目以降のステッチコードを削除され、さらに、刺繍データ中のステッチコードの代わりに、小ステッチを示す制御コードである小ステッチコードが先頭に書き込まれる。そして、この小ステッチコードの次には、連続ステッチ数ｎと、１針目、２針目のＸ，Ｙ方向移動量が格納され、さらに、３針目以降のステッチについては、１バイト中に、４ビットずつＸ方向移動量差分データとＹ方向移動量差分データが格納されている。従って、３針目以降のステッチに関しては、１バイトでＸ，Ｙ方向両方の移動量データを格納することができるため、刺繍データ中の大部分のステッチが小ステッチである場合には、前記実施形態の圧縮刺繍データ（図５参照）と比べて、刺繍データはさらに半分のデータサイズに圧縮される。
【００６６】
次に、図４の刺繍データを図９の圧縮刺繍データに圧縮する、刺繍データ処理プログラムのデータ圧縮ルーチンについて、図１０〜図１２のフローチャートを参照して説明する。
図１０に示すように、データ圧縮ルーチンが実行されて、データ圧縮処理が開始されると、初期設定において、ステッチの連続ステッチ数ｎ、入力側である刺繍データの読み出し位置を指示する読み出しポインタＰ１、出力側である圧縮刺繍データの書き込み位置を指示する書き込みポインタＰ３の初期値を０にしてから（Ｓ７０）、図４の刺繍データを順に読み出していく。まず、ポインタＰ１が指示する制御コードを読み出してＰ１をインクリメントし（Ｓ７１）、その制御コードがステッチコードであれば（Ｓ７２：Ｙｅｓ）、連続ステッチ数ｎをインクリメントする（Ｓ７３）。
【００６７】
まず、ｎ＝１の場合には（Ｓ７４：Ｙｅｓ）、Ｐ１をインクリメントしつつ１針目のＸ方向移動量Ｘ１とＹ方向移動量Ｙ１を夫々読み出して（Ｓ７５、Ｓ７６）、Ｓ１００へ移行する。ｎ＝２であれば（Ｓ７４：Ｎｏ、Ｓ７７：Ｙｅｓ）であれば、Ｐ１をインクリメントしつつ２針目のＸ方向移動量Ｘ２とＹ方向移動量Ｙ２を夫々読み出して（Ｓ７８、Ｓ７９）、Ｓ１００へ移行する。
【００６８】
さらに、ｎ≧３以上であれば（Ｓ７７：Ｎｏ）、図１１に示すように、Ｐ１をインクリメントしつつｎ針目のＸ方向移動量ＸｎとＹ方向移動量Ｙｎを夫々読み出す（Ｓ８０、Ｓ８１）。そして、２針前のＸ方向移動量Ｘ（ｎ−２）とＸｎとの差分ｄＸｎと、２針前のＹ方向移動量Ｙ（ｎ−２）とＹｎとの差分ｄＹｎが±０．７ｍｍの範囲内にあれば（Ｓ８２：Ｙｅｓ）、差分の値が小さい小ステッチであると判定して小ステッチフラグＦｓｄを１とする（Ｓ８３）。ここで、ｎ＝３の場合には（Ｓ８４：Ｙｅｓ）、ポインタＰ３の位置に、まず、連続するステッチが小ステッチであることを示す小ステッチコードを書き込む（Ｓ８５）。
【００６９】
さらに、後述するように最終的な小ステッチの連続ステッチ数ｎを求めた後に、この連続ステッチ数ｎを小ステッチコードの次の位置に書き込むことができるように、連続ステッチ数書き込み用のポインタＰｓをＰ３として、ｎの書き込み位置を一旦記憶しておく（Ｓ８６）。次に、Ｐ３をインクリメントしつつ読み出し済みの１針目及び２針目のＸ，Ｙ方向移動量Ｘ１，Ｙ１，Ｘ２，Ｙ２を順に書き込む（Ｓ８７）。さらに、３針目のＸ，Ｙ方向移動量差分ｄＸｎ，ｄＹｎの両方をＰ３の位置に４ビットずつ１バイトで書き込み（Ｓ８８）、Ｓ１００へ移行する。
【００７０】
また、連続するステッチが小ステッチであり、且つ、ｎ＞３である場合には（Ｓ８４：Ｎｏ）、既にＳ８５において小ステッチコードが書き込まれていることから、ｎ針目のＸ，Ｙ方向移動量差分ｄＸｎ，ｄＹｎを、Ｐ３が指示する位置に４ビットずつ１バイトで書き込み（Ｓ８８）、Ｓ１００へ移行する。
【００７１】
一方、Ｓ８２において、移動量差分ｄＸｎ，ｄＹｎが±０．７の範囲を外れている場合には（Ｓ８２：Ｎｏ）、ステッチが小ステッチでなく小ステッチの連続が途切れたと判定し、Ｓ９０へ移行する。
そして、図１２に示すように、小ステッチフラグが０、つまり、１針目から３針目の３つの連続するステッチが小ステッチではない場合には（Ｓ９０：Ｙｅｓ）、これら１針目から３針目までのステッチに関するデータはまだ書き込まれていないため、ステッチコードと１針目の移動量Ｘ１，Ｙ１を圧縮刺繍データに順に書き込む（Ｓ９１）。２針目、３針目についても同様に書き込む（Ｓ９２、Ｓ９３）。
【００７２】
一方、小ステッチフラグが１、つまり、直前まで小ステッチが連続していた場合には（Ｓ９０：Ｎｏ）、小ステッチと判定されなかったｎ針目に関してのみ、ステッチコードと移動量Ｘｎ，Ｙｎだけ圧縮刺繍データに順に書き込み（Ｓ９４）、ｎ針目のステッチを連続ステッチ数にカウントしないために連続ステッチ数ｎを１減らす（Ｓ９５）。さらに、連続ステッチ数ｎをＳ８６で指定したポインタＰｓに書き込み（Ｓ９６）、連続ステッチ数ｎと小ステッチフラグＦｓｄをクリアして（Ｓ９７）、Ｓ１００へ移行する。
【００７３】
尚、図１０のＳ７２において、Ｓ７１で読み出された制御コードがステッチコードでない場合には（Ｓ７２）、その制御コードと対応する制御データを書き込んでＰ３，Ｐ１をインクリメントする（Ｓ９８）。さらに、小ステッチフラグＦｓｄが１、つまり、直前まで小ステッチが連続していた場合には（Ｓ９９）、Ｓ９６へ移行し、連続ステッチ数ｎをポインタＰｓに書き込んで（Ｓ９６）、連続ステッチ数ｎと小ステッチフラグをクリアしてから（Ｓ９７）、Ｓ１００へ移行する。小ステッチフラグＦｓｄが０であれば、そのままＳ１００へ移行する。
【００７４】
そして、Ｓ１００において、ポインタＰ１で指示するデータが終了コードでなければ（Ｓ１００：Ｎｏ）、Ｓ７１に戻って次の制御コードを読み出し、ポインタＰ１で指示するデータが終了コードであれば（Ｓ１００：Ｙｅｓ）、データ圧縮処理を終了する。
【００７５】
次に、図９の圧縮刺繍データを図４の元の刺繍データに復元するデータ復元プログラムのデータ復元ルーチンについて説明する。図１３に示すように、このデータ復元ルーチンが実行されてデータ復元処理が開始されると、まず、初期設定において、入力側の圧縮刺繍データの読み出し位置を指示する読み出しポインタＰ３、出力側である刺繍データの書き込み位置を指示する書き込みポインタＰ１を０としてから（Ｓ１１０）、図９の圧縮刺繍データを順に読み出していく。そして、まず、ポインタＰ３が指示する制御コードを読み込み（Ｓ１１１）、この制御コードが小ステッチコードであれば（Ｓ１１２：Ｙｅｓ）、ポインタＰ３が指示する連続ステッチ数ｎを読み出し、Ｐ３をインクリメントする（Ｓ１１３）。
【００７６】
さらに、カウンタｉの初期値を１として（Ｓ１１４）、ｉ＝１〜ｎまでの間、以下の処理を繰り返す（Ｓ１１５〜Ｓ１２０）。即ち、まず、刺繍データのポインタＰ１の位置にステッチコードを書き込み、Ｐ１をインクリメントする（Ｓ１１５）。次に、ｉ＜３であれば（Ｓ１１６：Ｙｅｓ）、Ｐ３が指示する１針目または２針目のＸ方向移動量Ｘ１をＰ１が指示する位置に書き込み、Ｐ３，Ｐ１をインクリメントする（Ｓ１１７）。同様に、１針目または２針目のＹ方向移動量Ｙ１についても同様に処理して（Ｓ１１８）、ｉをインクリメントする（Ｓ１１９）。ｉ＝ｎでなければ（Ｓ１２０：Ｎｏ）、Ｓ１１６へ戻る。
【００７７】
次に、ｉが３以上の場合には（Ｓ１１６：Ｎｏ）、Ｐ３が指示する８ビットからなる１バイトに４ビットずつ格納されたＸ方向移動量差分ｄＸｉとＹ方向移動量差分ｄＹｉを読み出してＰ３をインクリメントし（Ｓ１２１）、これらｄＸｉ、ｄＹｉと（ｉ−２）針目のＸ方向、Ｙ方向移動量データＸ（ｉ−２），Ｙ（ｉ−２）により、ｉ針目のＸ方向移動量Ｘｉと、Ｙ方向移動量Ｙｉを算出する（ｓ１２２）。そして、Ｐ１が指示する位置にＸｉ，Ｙｉを書き込んで（Ｓ１２３）、ｉをインクリメントし（Ｓ１１９）、ｉ＝ｎとなるまで繰り返す。そして、ｉ＝ｎになると（Ｓ１２０：Ｙｅｓ）、一連の連続小ステッチのデータの書き込みを終了し、Ｓ１２５へ移行する。
【００７８】
一方、Ｓ１１２において、Ｐ３が指示する制御コードが小ステッチコードでなければ（Ｓ１１２：Ｎｏ）、圧縮刺繍データの制御コードとその制御コードに対応する制御データを刺繍データに書き込み（Ｓ１２４）、Ｓ１２５へ移行する。そして、Ｓ１２５において、Ｐ３で指示するデータが終了コードでなければ（Ｓ１２５：Ｎｏ）、Ｓ１１１へ戻って次の制御コードを読み出し、終了コードであれば（Ｓ１２５：Ｙｅｓ）、データ復元処理を終了する。
【００７９】
以上説明した刺繍データに関する技術によれば、サテン縫いあるいはタタミ縫いの何れの場合でも、２針前のステッチと比較するとＸ，Ｙ方向移動量の差分は小さいことから、３針以上の複数のステッチが連続する場合において、３針目以降のステッチのＸ方向移動量及びＹ方向移動量を、２針前のステッチのＸ方向移動量及びＹ方向移動量からの差分で表すことにより、縫い方にかかわらず移動量データのデータサイズを小さくすることができる。
【００８０】
さらに、この刺繍データ圧縮技術は、前記実施形態で説明した、重複したステッチコードを削除する刺繍データ圧縮技術と併用することができるため、刺繍データをさらに圧縮してデータサイズを小さくすることができる。
【００８１】
【発明の効果】請求項１の発明によれば、縫製指令データが同種の制御コードだけ含む状態で複数組連続する場合に、データ圧縮手段は、その連続する複数組の縫製指令データから少なくとも２番目以降の制御コードを削除して圧縮刺繍データを作成するので、例えば、刺繍縫製の際に最も多く実行される特定の制御コードを有する縫製指令データが複数組連続している場合に、少なくともその２番目以降の制御データを削除することができるので、刺繍データのデータ数をほぼ一定割合で確実に減少させることができる。
【００８２】
請求項２の発明によれば、刺繍データを構成する複数組の縫製指令データの制御コードの大部分はステッチコードであり、このステッチコードを有し複数組連続する縫製指令データについて、データ圧縮手段が、少なくとも２番目以降のステッチコードを削除することができるので、刺繍データ中の大部分のステッチコードを削除でき、高い圧縮率で刺繍データを圧縮することができる。また、刺繍データが略安定した圧縮率で圧縮されるため、事前に圧縮後の圧縮刺繍データのデータサイズを想定でき、圧縮刺繍データを記憶させたり転送させたりすることが可能かを確実に判断できるようになる。さらに、刺繍データを圧縮する際に各ステッチの移動量データは削除されないため、圧縮刺繍データから元の刺繍データを完全に復元することができる。
【００８３】
請求項３の発明によれば、縫製指令データが同種の制御コードだけ含む状態で複数組連続する場合に、データ圧縮手段は、先頭の制御コードを残した状態で２番目以降の制御データを削除するので、圧縮刺繍データから元の刺繍データを復元する際に、どの制御が以下連続して行われるのかを検出することができる。
【００８４】
請求項４の発明によれば、縫製指令データが同種の制御コードだけ含む状態で複数組連続する場合に、データ圧縮手段は、先頭の制御コード以外の制御コードを削除するが、ここで、それら連続する縫製指令データの組数を求めて、その組数のデータを残された制御コードの次に組み込むので、その制御コードで示される制御が何回繰り返し行われるのかを検出することができる。
【００８５】
請求項５の発明によれば、特定の制御コードに複数組の連続する制御データを付随させてデータサイズを減少させた刺繍データを、特定制御コード検出手段により順に読み出して特定制御コードを検出し、次に、データ変換手段により、特定制御コード検出手段で検出された特定制御コードに付随する複数組の制御データを順々に読みだしながら、特定制御コードと制御データとを対にした複数対の連続するデータに書き換えることにより、このような刺繍データを刺繍ミシンで使用可能なデータ構造に変換することができる。
【００８６】
請求項６の発明によれば、制御コードとその制御コードに付随する制御データを組にして構成された縫製指令データが同種の制御コードだけ含む状態で複数組連続する場合に、その連続する複数組の縫製指令データから少なくとも２番目以降の制御コードを削除して圧縮刺繍データを作成するため、請求項１と略同様の効果が得られる。
【００８７】
請求項７の発明によれば、圧縮処理ルーチンにおいて、制御コードとその制御コードに付随する制御データを組にして構成された縫製指令データが同種の制御コードだけ含む状態で複数組連続する場合に、その連続する複数組の縫製指令データから少なくとも２番目以降の制御コードが削除されて圧縮刺繍データが作成されるので、請求項１と略同様の効果が得られる。
【００８８】
請求項８の発明によれば、特定の制御を複数回連続して実行するためのデータを有するデータ構造部は、その特定の制御を示す特定制御コードとこの特定制御コードに付随する複数組の連続する制御データを備えたので、連続して実行される複数回の特定の制御に対して付される特定制御コードが１つだけであり、刺繍データのデータ数が少ないデータ構造を実現できる。
【００８９】
請求項９の発明によれば、刺繍データ処理装置のコンピュータにより特定制御コードが読み出された場合に、特定制御コードの次に連続する、複数組の制御データの組数を示す組数データも読み出されるので、その特定の制御が繰り返される回数を検出できる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る刺繍ミシン及び刺繍データ処理装置の斜視図である。
【図２】刺繍ミシンの制御系のブロック図である。
【図３】刺繍データ処理装置の制御系のブロック図である。
【図４】刺繍データのデータ構造を示す図である。
【図５】圧縮刺繍データのデータ構造を示す図である。
【図６】データ圧縮処理のフローチャートである。
【図７】データ復元処理のフローチャートである。
【図８】刺繍縫製における縫目を示す説明図であり、（ａ）はタタミ縫い、（ｂ）はサテン縫いを示す。
【図９】別実施形態の圧縮刺繍データのデータ構造を示す図である。
【図１０】別実施形態のデータ圧縮処理のフローチャート（１／３）である。
【図１１】別実施形態のデータ圧縮処理のフローチャート（２／３）である。
【図１２】別実施形態のデータ圧縮処理のフローチャート（３／３）である。
【図１３】別実施形態のデータ復元処理のフローチャートである。
【符号の説明】
１      刺繍ミシン
２      刺繍データ処理装置
６      制御装置
２０    ＣＰＵ
２１    ＲＯＭ
２２    ＲＡＭ
４０    制御装置
４１    ＣＰＵ
４２    ＲＯＭ
４３    ＲＡＭ
【図１】
2004298369.tif 000003
【図２】
2004298369.tif 000004
【図３】
2004298369.tif 000005
【図４】
2004298369.tif 000006
【図５】
2004298369.tif 000007
【図６】
2004298369.tif 000008
【図７】
2004298369.tif 000009
【図８】
2004298369.tif 000010
【図９】
2004298369.tif 000011
【図１０】
2004298369.tif 000012
【図１１】
2004298369.tif 000013
【図１２】
2004298369.tif 000014
【図１３】
2004298369.tif 000015