(57)【要約】【課題】ユーザが短時間で刺繍模様の確認を行うことができるミシン、及び、表示プログラムを提供する。【解決手段】ミシンのＣＰＵは、ステッチデータと、ステッチデータに対応する刺繍模様を示す模様画像のデータである模様データとを取得する。ＣＰＵは、取得された模様データに基づいて、模様画像を表示部に表示させる。ＣＰＵは、模様画像が表示部に表示されたことを条件として、取得されたステッチデータに基づいて、第１所定数分の縫目を示す複数の部分画像を生成する（Ｓ１５１）。ＣＰＵは、複数の部分画像のそれぞれが生成される毎に、生成された部分画像を、模様画像のうち生成された部分画像に対応する部分に表示させる（Ｓ１５９）。【選択図】図１０
2017029362.tif 000002
【特許請求の範囲】
【請求項１】
刺繍模様を表す複数の縫目のそれぞれの位置を特定するステッチデータに基づいて、布に刺繍模様の縫製を行う縫製部と、
第１記憶部から、前記ステッチデータと、当該ステッチデータに対応する刺繍模様を示す模様画像のデータである模様データと、を取得する第１取得手段と、
前記第１取得手段によって取得された前記模様データに基づいて、前記模様画像を表示部に表示させる第１表示手段と、
前記第１表示手段によって前記模様画像が前記表示部に表示されたことを条件として、前記第１取得手段によって取得された前記ステッチデータに基づいて、第１所定数分の縫目を示す複数の部分画像を生成する第１生成手段と、
前記第１生成手段によって前記複数の部分画像のそれぞれが生成される毎に、生成された部分画像を、前記第１表示手段によって表示された前記模様画像のうち生成された部分画像に対応する部分に表示させる第２表示手段と
を備えたことを特徴とするミシン。
【請求項２】
前記第１取得手段は、複数の刺繍模様に対応する前記ステッチデータ、及び、複数の模様画像に対応する前記模様データを取得し、
前記第１表示手段は、前記複数の模様画像を前記表示部に表示させ、
前記第１生成手段は、
前記第１表示手段によって前記複数の模様画像が前記表示部に表示されたことを条件として、表示された前記複数の模様画像のそれぞれに対応する複数の部分画像を生成することを特徴とする請求項１に記載のミシン。
【請求項３】
前記第１表示手段は、複数の画面を１画面ずつ前記表示部に表示させ、
前記複数の画面のそれぞれには、前記複数の模様画像のうち第２所定数の模様画像が含まれ、
前記第１生成手段は、
前記第１表示手段によって前記複数の模様画像のうち前記第２所定数の模様画像が１つの画面に表示されたことを条件として、表示された前記第２所定数の模様画像のそれぞれに対応する前記複数の部分画像を生成することを特徴とする請求項２に記載のミシン。
【請求項４】
前記表示部が表示する画面を第１画面から第２画面に切り替える切替指示を受け付ける受付手段を備え、
前記第１表示手段は、前記第２所定数の模様画像である第１模様画像を前記第１画面に表示させた後に、前記受付手段によって前記切替指示が受け付けられた場合、前記複数の模様画像のうち前記第１模様画像以外の前記第２所定数の模様画像である第２模様画像を、前記第２画面に表示させ、
前記第１画面に表示された前記第１模様画像に対応する複数の第１部分画像が、前記第２表示手段によって表示された後、前記第１画面が表示された状態において、前記第２模様画像に対応する複数の第２部分画像を生成する第２生成手段を備えたことを特徴とする請求項３に記載のミシン。
【請求項５】
前記表示部が表示する画面を第１画面から第２画面に切り替える切替指示を受け付ける受付手段と、
前記第１生成手段によって生成された前記複数の部分画像を第２記憶部に記憶する記憶制御手段と、
前記受付手段により前記切替指示が受け付けられた場合、前記第２画面に表示される前記第２所定数の模様画像のそれぞれに対応する前記複数の部分画像が、前記第２記憶部に記憶されているかを判断する第１判断手段と
を備え、
前記第１生成手段は、
前記第１判断手段によって前記第２記憶部に前記複数の部分画像が記憶されていないと判断した場合、前記複数の部分画像を生成し、
前記第２表示手段は、
前記第１判断手段によって前記第２記憶部に前記複数の部分画像が記憶されていると判断した場合、前記第２記憶部に記憶された前記複数の部分画像を前記表示部に表示させ、前記第１判断手段によって前記第２記憶部に前記複数の部分画像が記憶されていないと判断した場合、前記第１生成手段により生成された前記複数の部分画像を前記表示部に表示させることを特徴とする請求項３又は４に記載のミシン。
【請求項６】
前記ステッチデータに基づき、前記刺繍模様毎に前記縫目の数を算出する算出手段と、
前記算出手段によって算出された前記縫目の数が第３所定数以上か判断する第２判断手段と、を備え、
前記記憶制御手段は、
前記第２判断手段によって前記縫目の数が第３所定数以上であると判断された場合、前記第１生成手段によって生成された前記複数の部分画像を前記第２記憶部に記憶することを特徴とする請求項５に記載のミシン。
【請求項７】
前記第１取得手段によって取得された前記ステッチデータ及び前記模様データに基づき、前記刺繍模様の向きと前記模様画像の向きとが一致するか判断する第３判断手段を備え、
前記第２表示手段は、
前記第３判断手段によって、前記刺繍模様の向きと前記模様画像の向きとが一致しないと判断された場合、前記刺繍模様の向きを前記模様画像の向きと一致させるために必要な回転条件で回転させた前記複数の部分画像を表示させることを特徴とする請求項１から６の何れかに記載のミシン。
【請求項８】
前記第１生成手段は、
前記第３判断手段によって、前記刺繍模様の向きと前記模様画像の向きとが一致しないと判断された場合、前記回転条件で回転させた前記部分画像を生成することを特徴とする請求項７に記載のミシン。
【請求項９】
前記ステッチデータに関連付けられた前記模様データが前記第１記憶部に記憶されていない場合、当該ステッチデータのみを取得する第２取得手段と、
所定画像を前記表示部に表示させる第３表示手段と、
前記第３表示手段によって前記所定画像が前記表示部に表示されたことを条件として、前記第２取得手段によって取得された前記ステッチデータに基づいて、前記複数の部分画像を生成する第３生成手段と、
前記第３生成手段によって前記複数の部分画像のそれぞれが生成される毎に、生成された前記複数の部分画像を、前記第３表示手段によって表示された前記所定画像の代わりに表示させる第４表示手段と
を備えたことを特徴とする請求項１から８の何れかに記載のミシン。
【請求項１０】
前記第１生成手段は、前記模様画像よりも解像度の高い前記部分画像を生成することを特徴とする請求項１から９の何れかに記載のミシン。
【請求項１１】
第１記憶部から、刺繍模様を表す複数の縫目のそれぞれの位置を特定するステッチデータステッチデータと、当該ステッチデータに対応する刺繍模様を示す模様画像のデータである模様データと、を取得する第１取得ステップと、
前記第１取得ステップによって取得された前記模様データに基づいて、前記模様画像を表示部に表示させる第１表示ステップと、
前記第１表示ステップによって前記模様画像が前記表示部に表示されたことを条件として、前記第１取得ステップによって取得された前記ステッチデータに基づいて、第１所定数分の縫目を示す複数の部分画像を生成する第１生成ステップと、
前記第１生成ステップによって前記複数の部分画像のそれぞれが生成される毎に、生成された部分画像を、前記第１表示ステップによって表示された前記模様画像のうち生成された部分画像に対応する部分に表示させる第２表示ステップと
を、コンピュータに実行させるための表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、刺繍模様を示す画像を表示部に複数表示させることが可能なミシン、及び、刺繍模様を示す画像を表示部に複数表示させるための表示プログラムに関する。
【背景技術】
【０００２】
例えば、特許文献１に記載されているように、刺繍模様の縫製が可能なミシンにおいて、縫製対象とする刺繍模様をユーザに選択させるために、刺繍模様を示す画像（以下、「模様画像」という。）を複数並べて表示部に表示させる技術が知られている。以下、模様画像を複数並べて表示させることを、「複数の模様画像をサムネイル表示させる」ともいう。また、刺繍模様の縫製を行うためのステッチデータに基づいて、模様画像を生成する方法が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−９５８５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ステッチデータに基づいて模様画像が生成される場合、ステッチデータによって示される針落ち点の座標の数が多い程、生成に時間を要する。このため、生成された複数の模様画像をサムネイル表示させる場合、複数の模様画像の生成に時間がかかることによってサムネイル表示が円滑に実行されない可能性がある。その結果、ユーザが、縫製対象とする刺繍模様を確認できるまでに時間がかかるという問題点がある。
【０００５】
本発明の目的は、ユーザが短時間で刺繍模様の確認を行うことができるミシン、及び、表示プログラムを提供することである。
【課題を解決するための手段】
【０００６】
本発明の第１態様に係るミシンは、刺繍模様を表す複数の縫目のそれぞれの位置を特定するステッチデータに基づいて、布に刺繍模様の縫製を行う縫製部と、第１記憶部から、前記ステッチデータと、当該ステッチデータに対応する刺繍模様を示す模様画像のデータである模様データと、を取得する第１取得手段と、前記第１取得手段によって取得された前記模様データに基づいて、前記模様画像を表示部に表示させる第１表示手段と、前記第１表示手段によって前記模様画像が前記表示部に表示されたことを条件として、前記第１取得手段によって取得された前記ステッチデータに基づいて、第１所定数分の縫目を示す複数の部分画像を生成する第１生成手段と、前記第１生成手段によって前記複数の部分画像のそれぞれが生成される毎に、生成された部分画像を、前記第１表示手段によって表示された前記模様画像のうち生成された部分画像に対応する部分に表示させる第２表示手段とを備えている。
【０００７】
第１態様において、ミシンは、第１記憶部に記憶されたステッチデータ及び模様データを取得する。ミシンは、取得した模様データに基づいて模様画像を表示部に表示させる。又、ミシンは、取得したステッチデータに基づいて、複数の部分画像を生成する。ミシンは、生成した複数の部分画像のそれぞれを、模様画像のうち生成された部分画像に対応する部分に表示させる。この場合、部分画像が表示される前に模様画像が表示されるので、ユーザは、部分画像が表示されることを待つことなく、縫製可能な刺繍模様を確認することができる。
【０００８】
本発明の第２態様に係る表示プログラムは、第１記憶部から、刺繍模様を表す複数の縫目のそれぞれの位置を特定するステッチデータステッチデータと、当該ステッチデータに対応する刺繍模様を示す模様画像のデータである模様データと、を取得する第１取得ステップと、前記第１取得ステップによって取得された前記模様データに基づいて、前記模様画像を表示部に表示させる第１表示ステップと、前記第１表示ステップによって前記模様画像が前記表示部に表示されたことを条件として、前記第１取得ステップによって取得された前記ステッチデータに基づいて、第１所定数分の縫目を示す複数の部分画像を生成する第１生成ステップと、前記第１生成ステップによって前記複数の部分画像のそれぞれが生成される毎に、生成された部分画像を、前記第１表示ステップによって表示された前記模様画像のうち生成された部分画像に対応する部分に表示させる第２表示ステップとを、コンピュータに実行させる。第２態様によれば、第１態様と同様の効果を奏することができる。
【図面の簡単な説明】
【０００９】
【図１】ミシン１の斜視図である。
【図２】ミシン１の電気的構成を示すブロック図である。
【図３】選択画面１５１を示す図である。
【図４】ファイルテーブル６０を示す図である。
【図５】メイン処理のフローチャートである。
【図６】表示処理のフローチャートである。
【図７】第１展開処理のフローチャートである。
【図８】第２展開処理のフローチャートである。
【図９】算出処理のフローチャートである。
【図１０】部分展開処理のフローチャートである。
【図１１】ポーリング処理のフローチャートである。
【発明を実施するための形態】
【００１０】
＜ミシン１の物理的構成＞
以下、本発明の一実施形態について、図面を参照して説明する。図１を参照して、ミシン１の物理的構成について説明する。図１の上下方向、右下側、左上側、左下側、右上側が、各々、ミシン１の上下方向、前方、後方、左方、右方である。後述のディスプレイ１５が配置された面が、ミシン１の前面である。ベッド部１１及びアーム部１３の長手方向がミシン１の左右方向であり、脚柱部１２が配置されている側が右側である。脚柱部１２の伸長方向がミシン１の上下方向である。
【００１１】
ミシン１は、ベッド部１１、脚柱部１２、アーム部１３、頭部１４、及び、移送機構４０を備える。ベッド部１１は、左右方向に延びるミシン１の土台部である。脚柱部１２は、ベッド部１１の右端部から上方へ立設されている。アーム部１３は、ベッド部１１に対向して脚柱部１２の上端から左方へ延びる。頭部１４は、アーム部１３の左先端部に連結する部位である。
【００１２】
移送機構４０は、本体部４１及びキャリッジ４２を備える。キャリッジ４２は、枠ホルダ（図示略）、Ｙ軸移送機構（図示略）、及び、Ｙ軸モータ８４（図２参照）を備える。枠ホルダは、複数種類の刺繍枠を択一的に着脱可能である。刺繍枠５０は、内枠と外枠とで縫製対象物３を挟持して保持する周知構成の刺繍枠である。Ｙ軸移送機構は、枠ホルダを前後方向（Ｙ軸方向）に移送する。刺繍枠５０は、枠ホルダが前後方向に移送されることにより、縫製対象物３を前後方向に移送する。Ｙ軸モータ８４は、Ｙ軸移送機構を駆動する。本体部４１は、Ｘ軸移送機構（図示略）及びＸ軸モータ８３（図２参照）を内部に備える。Ｘ軸移送機構は、キャリッジ４２を左右方向（Ｘ軸方向）に移送する。刺繍枠５０は、キャリッジ４２が左右方向に移送されることによって、縫製対象物３を左右方向に移送する。Ｘ軸モータ８３は、Ｘ軸移送機構を駆動する。
【００１３】
脚柱部１２の前面には、ディスプレイ１５が設けられている。ディスプレイ１５の前面側には、押圧された位置を検知可能なタッチパネル２６が設けられている。ユーザが、指又はスタイラスペン（図示略）を用いてタッチパネル２６のタッチ操作を行うと、タッチパネル２６によって、タッチされた位置が検知される。ユーザは、タッチパネル２６を介して、縫製を所望する刺繍模様、及び、実行すべきコマンド等を選択できる。脚柱部１２は、内部にミシンモータ８１（図２参照）を備える。
【００１４】
アーム部１３の上部には、開閉可能なカバー１６が設けられている。図１では、カバー１６は開かれた状態である。アーム部１３の内部には、糸収容部１８が設けられている。糸収容部１８は、上糸が巻回された糸駒２０を収容可能である。アーム部１３内部には、左右方向に延びる主軸（図示略）が設けられている。主軸は、ミシンモータ８１により回転駆動される。アーム部１３の前面左下部には、スイッチ２９が設けられている。スイッチ２９は、縫製開始又は停止の指示を受け付ける。
【００１５】
頭部１４には、針棒６、押え棒８、及び、針棒上下動機構（図示略）等が設けられている。針棒６及び押え棒８は、頭部１４の下端部から下方に延びる。針棒６の下端には、縫針（図示略）が着脱可能に装着される。針棒上下動機構は、主軸の回転により針棒６を上下方向に駆動させる。
【００１６】
＜ミシン１の電気的構成＞
図２を参照して、ミシン１の電気的構成について説明する。ミシン１は、ＣＰＵ６１と、バス６５によって各々ＣＰＵ６１に接続されたＲＯＭ６２、ＲＡＭ６３、フラッシュメモリ６４、及び、入出力インターフェイス（Ｉ／Ｏ）６６を備えている。
【００１７】
ＣＰＵ６１は、ミシン１の主制御を司り、ＲＯＭ６２に記憶された各種プログラムに従って、縫製に関わる各種演算及び処理を実行する。ＲＯＭ６２は、ミシン１を動作させるための各種プログラムが記憶されている。ＲＡＭ６３には、ＣＰＵ６１が演算処理した演算結果等を収容する記憶エリアが必要に応じて設けられる。具体的には、ＲＡＭ６３には、後述するファイルテーブル領域６３１（図４参照）が設けられる。ＲＡＭ６３には、表示バッファが設けられる。ＣＰＵ６１は、表示バッファに記憶された画像のデータに基づき、ディスプレイ１５に画像を表示させる。フラッシュメモリ６４には、ミシン１が各種処理を実行するための各種パラメータとして、後述する第１所定数、第２所定数、及び、第３所定数が記憶されている。第１所定数、第２所定数、及び第３所定数の設定値は、それぞれ、「１００００」「９」「１００００」である。フラッシュメモリ６４には、後述するフォルダ画像、第１定型画像、及び、第２定型画像のデータが記憶される。フラッシュメモリ６４には、第１定型画像及び第２定型画像のそれぞれを囲む最小の四角形である外接矩形のデータが記憶される。フラッシュメモリ６４には、後述する刺繍データが記憶される。刺繍データは、ツリー構造を有する複数のフォルダの何れかに格納される。刺繍データの詳細は後述する。Ｉ／Ｏ６６には、駆動回路７１−７４、タッチパネル２６、及び、スイッチ２９が接続されている。
【００１８】
なお、ミシン１を動作させるためのプログラムは、フラッシュメモリ６４に記憶されてもよい。この場合、プログラムは、外部から書き換え可能としてもよい。例えば、ミシン１が備える図示外のドライブ装置によって記憶媒体からプログラムが読み出され、フラッシュメモリ６４に記憶されてもよい。
【００１９】
駆動回路７１には、ミシンモータ８１が接続されている。駆動回路７１は、ＣＰＵ６１からの制御信号に従って、ミシンモータ８１を駆動する。ミシンモータ８１の駆動に伴い、ミシン１の主軸（図示略）を介して針棒上下動機構（図示略）が駆動され、針棒６が上下動される。駆動回路７２には、Ｘ軸モータ８３が接続されている。駆動回路７３には、Ｙ軸モータ８４が接続されている。駆動回路７２及び７３は、各々、ＣＰＵ６１からの制御信号に従って、Ｘ軸モータ８３及びＹ軸モータ８４を駆動する。Ｘ軸モータ８３及びＹ軸モータ８４の駆動に伴い、制御信号に応じた移送量分、刺繍枠５０が左右方向（Ｘ軸方向）及び前後方向（Ｙ軸方向）に移送される。駆動回路７４は、ＣＰＵ６１からの制御信号に従ってディスプレイ１５を駆動することで、ディスプレイ１５に画像を表示させる。
【００２０】
＜刺繍データ＞
刺繍データには、ステッチデータが少なくとも含まれる。ステッチデータは、ミシン１に刺繍模様の縫製を実行させるためのデータである。ステッチデータは、刺繍模様を表す複数の縫目のそれぞれの位置を特定する。具体的には、ステッチデータには、縫製順序、座標データ、及び、糸色情報が含まれる。座標データは、刺繍模様を縫製するための針落ち点の刺繍座標系の位置を、相対座標で表す。相対座標は、連続する２つの針落ち点のそれぞれの座標の差分で示される。つまり、座標データは、１つの縫目を形成させるために刺繍枠５０が移動するときの、Ｘ軸方向及びＹ軸方向のそれぞれの移動量を示す。糸色情報は、刺繍模様の縫製に用いる上糸の色を示す情報である。ＣＰＵ６１は、ステッチデータに基づき、刺繍枠５０をＸ軸方向及びＹ軸方向に移動させ且つ針棒６を駆動することによって、縫製対象物３に刺繍模様を縫製する。
【００２１】
刺繍データには、ステッチデータに対応付けられた模様データが更に含まれる場合がある。模様データは、対応するステッチデータに基づいて縫製される刺繍模様を示す画像（以下、「模様画像」という。）を生成するためのデータである。より詳細には、模様データには、模様画像を形成する複数のブロック画像のそれぞれを示すブロックデータが含まれる。ブロックデータの形式として、ＢＭＰ形式、ＪＰＥＧ形式等がある。つまり、模様画像は、複数のブロックデータによって示される複数のブロック画像を組み合わせることによって生成される。 
【００２２】
刺繍データ、及び、ステッチデータの少なくとも一方が暗号化されている場合がある。刺繍データが暗号化されている場合、ＣＰＵ６１は、所定の第１鍵情報を用いて刺繍データを復号することによって、ステッチデータ及び模様データを参照可能となる。又、ステッチデータが暗号化されている場合、ＣＰＵ６１は、所定の第２鍵情報を用いてステッチデータを復号することによって、ステッチデータに含まれるデータを参照可能となる。又、ステッチデータ、及び、模様データに含まれるブロックデータの少なくとも一方が破損する場合がある。ＣＰＵ６１は、ステッチデータが破損した場合、このステッチデータに基づいて刺繍模様の縫製を実行できない。ＣＰＵ６１は、ブロックデータが破損した場合、このブロックデータを含む模様データに基づいて模様画像を生成できない。
【００２３】
＜選択画面１５１＞
図３を参照し、ディスプレイ１５（図１参照）に表示される選択画面１５１（選択画面１５１Ａ、１５１Ｂ）について説明する。選択画面１５１は、ミシン１によって縫製される刺繍模様をユーザに選択させるための画面である。選択画面１５１には、フォルダ名５１、サムネイル画像５２、ページ切り替えボタン５３、及び、階層切り替えボタン５４が含まれる。
【００２４】
選択画面１５１Ａを参照して説明する。フォルダ名５１は、フラッシュメモリ６４に記憶された複数のフォルダの何れかのフォルダ名を示す。選択画面１５１の場合、「ｂＰｏｃｋｅｔ」がフォルダ名に対応する。以下、フォルダ名５１によって示されるフォルダ名のフォルダを、「対象フォルダ」という。
【００２５】
サムネイル画像５２は、フラッシュメモリ６４に記憶された対象フォルダの直下に格納されたサブフォルダ又は刺繍データに対応する画像を、サムネイル形式で示す。サムネイル画像５２は、９つの枠５２１を含む。９つの枠５２１のそれぞれの形状は、矩形状である。９つの枠５２１のそれぞれは、対象フォルダの直下に格納された９つのフォルダ又は刺繍データのそれぞれに対応する。９つの枠５２１は、縦方向及び横方向のそれぞれに３つずつ並んでいる。以下、９つの枠５２１の横の並びを「行」といい、縦の並びを「列」という。９つの枠５２１のうち、上からｍ番目の行、及び、左からＭ番目の列の枠５２１の位置を、「ｍ行Ｍ列の位置」という。
【００２６】
複数の枠５２１のそれぞれの内側に表示される画像は、次の４種類のうち何れかである。１つ目は、１行１列の位置の枠５２１内に表示された、フォルダ画像５２Ａである。フォルダ画像５２Ａは、対象フォルダに格納されたフォルダに対応する。フォルダ画像５２Ａは、フォルダの形状を有する定型の画像である。フォルダ画像５２Ａは、フラッシュメモリ６４に記憶されたフォルダ画像のデータに基づいて表示される。
【００２７】
２つ目は、１行２列、１行３列、２行１列、２行２列、２行３列、及び、３行２列のそれぞれの位置の６つの枠５２１の内側に表示された、模様画像５２１Ｂである。模様画像５２１Ｂは、対象フォルダに格納された刺繍データのうち、ミシン１が縫製可能な刺繍データであって、模様画像の生成が可能な刺繍データに対応する。詳細には、模様画像５２１Ｂは、ステッチデータの解析が可能な刺繍データであり、且つ、模様画像の生成が可能な刺繍データに対応する。ステッチデータの解析が可能な刺繍データとは、次の（１）に該当する刺繍データであり、且つ、次の（２）に該当するステッチデータを含む刺繍データである。
（１）暗号化されていないか、又は、暗号化されていても復号可能な刺繍データ
（２）暗号化されていないか、又は、暗号化されていても復号可能なステッチデータであり、且つ、破損していないステッチデータ
【００２８】
又、模様画像の生成が可能な刺繍データとは、（３）模様画像の生成が可能な模様データを含む刺繍データである。このため、刺繍データに模様データが含まれていない場合、又は、模様画像を生成することが不可能な模様データが刺繍データに含まれている場合には、模様画像の生成が不可能な刺繍データということになる。なお、模様画像を生成することが不可能な模様データとは、模様データに対応する複数のブロックデータの少なくとも一部が破損していることを示す。
【００２９】
模様画像５２１Ｂは、模様データに基づいて生成される模様画像である。なお、本実施形態において、フラッシュメモリ６４に記憶される模様データのデータ量は、フラッシュメモリ６４の容量を抑制するために制限される。このため、模様データに基づいて生成される模様画像５２１Ｂの解像度は相対的に低く、ジャギーが目立っている。
【００３０】
３つ目は、３行１列の位置の枠５２１の内側に表示された、第１定型画像５２１Ｃである。第１定型画像５２１Ｃは、対象フォルダに格納された刺繍データのうち、ミシン１が縫製可能な刺繍データであって、模様画像の生成が不可能な刺繍データに対応する。詳細には、第１定型画像５２１Ｃは、ステッチデータの解析が可能な刺繍データであり、且つ、模様画像の生成が不可能な模様データを含む刺繍データに対応する。第１定型画像５２１Ｃは、砂時計を示す定型の画像である。第１定型画像５２１Ｃは、フラッシュメモリ６４に記憶された第１定型画像のデータに基づいて表示される。
【００３１】
４つ目は、３行３列の位置の枠５２１の内側に表示された、第２定型画像５２Ｄである。第２定型画像５２Ｄは、対象フォルダに格納された刺繍データのうち、ミシン１が縫製不可能な刺繍データに対応する。第２定型画像５２Ｄは、顔を示す定型の画像である。第２定型画像５２Ｄは、フラッシュメモリ６４に記憶された第２定型画像のデータに基づいて表示される。
【００３２】
ＣＰＵ６１は、サムネイル画像５２として表示された模様画像５２１Ｂ（選択画面１５１Ａ参照）を、ステッチ画像５２２Ｂ（選択画面１５１Ｂ参照）に変化させ、第１定型画像５２１Ｃ（選択画面１５１Ａ参照）を、ステッチ画像５２２Ｃ（選択画面１５１Ｂ参照）に変化させる。ステッチ画像５２２Ｂ、５２２Ｃは、模様画像５２１Ｂ及び第１定型画像５２１Ｃと異なり、刺繍データに含まれるステッチデータに基づいて生成される。詳細には、ＣＰＵ６１は、ステッチデータによって特定される複数の縫目のそれぞれを画像として表すことによって、ステッチ画像５２２Ｂ、５２２Ｃを生成する。なお、ステッチ画像５２２Ｂは、縫目単位で画像が形成されるので、模様画像５２１Ｂよりも解像度が高くなる。このため、ステッチ画像５２２Ｂにおいてジャギーは目立たず滑らかであり、模様画像５２１Ｂよりも見栄えが良い。
【００３３】
ＣＰＵ６１は、次のようにして、模様画像５２１Ｂをステッチ画像５２２Ｂに少しずつ変化させる。ＣＰＵ６１は、ステッチデータによって特定される複数の縫目のうち第１所定数分の縫目を抽出する。ＣＰＵ６１は、抽出した第１所定数分の縫目のそれぞれを画像として表現した画像、即ち、ステッチ画像の一部分の画像（以下、「部分画像」という。）５２１１を生成する。ＣＰＵ６１は、模様画像５２１Ｂのうち生成された部分画像５２１１によって示される縫目に対応する部分の代わりに、部分画像５２１１を表示させる。つまり、ＣＰＵ６１は、模様画像５２１Ｂの一部分を、部分画像５２１１に置き換える。枠５２１の内側には、模様画像５２１Ｂの一部分が部分画像５２１１に置き換えられた模様画像５２１１Ａが表示される。
【００３４】
次に、ＣＰＵ６１は、ステッチデータによって特定される複数の縫目のうち、部分画像５２１１を生成するときに抽出されていない複数の縫目について、第１所定数分の縫目を更に抽出し、部分画像５２１２を生成する。ＣＰＵ６１は、模様画像５２１１Ａのうち生成された部分画像５２１２に対応する部分の代わりに、部分画像５２１２を表示させる。枠５２１の内側には、模様画像５２１Ｂの一部分が部分画像５２１１、５２１２に置き換えられた模様画像５２１２Ａが表示される。
【００３５】
以上の処理は、ステッチデータによって特定される複数の縫目の全てが第１所定数分ずつ抽出されるまで繰り返される。複数の縫目の全てが抽出されることによって生成された複数の部分画像５２１１、５２１２、５２１３によって、模様画像５２１Ｂの全てが置き換えられる。部分画像５２１１、５２１２、５２１３が組み合わせられた画像は、ステッチ画像５２２Ｂに対応する。以上によって、模様画像５２１Ｂの代わりにステッチ画像５２２Ｂが最終的に表示される。
【００３６】
なお、詳細な説明は省略するが、第１定型画像５２１Ｃがステッチ画像５２２Ｃに変化する場合にも、上記の場合と同様、ステッチ画像５２２Ｃの一部分の画像である部分画像が順番に生成される。生成された部分画像は、第１定型画像５２１Ｃの一部分の代わりに表示される。つまり、第１定型画像５２１Ｃの一部分は、生成された部分画像に置き換えられる。最終的に、複数の部分画像が組み合わせられたステッチ画像５２２Ｃによって、第１定型画像５２１Ｃの全てが置き換えられる。以上によって、第１定型画像５２１Ｃの代わりにステッチ画像５２２Ｃが最終的に表示される。
【００３７】
ステッチデータに基づいて生成される部分画像及びステッチ画像の向きと、模様データに基づいて生成される模様画像の向きとが一致しない場合がある。本実施形態において、部分画像及びステッチ画像が、模様画像に対して時計回りに９０度回転した状態となる場合があるとする。この場合、模様画像の一部分の代わりに部分画像がそのまま表示されると、模様画像と部分画像とがずれてしまい、刺繍模様をユーザが認識できなくなる場合がある。
【００３８】
これに対し、ＣＰＵ６１は、次の処理を行う。はじめにＣＰＵ６１は、模様画像に対して時計回りに９０度回転した部分画像及びステッチ画像が生成されるステッチデータを特定する。特定の方法の詳細は後述する。次に、ＣＰＵ６１は、特定されたステッチデータに基づいて部分画像５２０１が生成された場合、生成された部分画像５２０１を反時計回りに９０度回転させる。ＣＰＵ６１は、反時計回りに９０度回転させた部分画像５２０１を、模様画像５２１Ｂのうち部分画像５２０１に対応する部分の代わりに表示させる。これによって、回転された部分画像５２０１によって模様画像５２１Ｂの一部分が置き換えられた模様画像５２０１Ａが表示される。このように、ＣＰＵ６１は、部分画像及びステッチ画像の向きと模様画像の向きとを揃えている。
【００３９】
選択画面１５１において、サムネイル画像５２に含まれる枠５２１の最大数は、第２所定数として設定された「９」である。対象フォルダの直下に格納されたフォルダ又は刺繍データの数が第２所定数以下の場合、サムネイル画像５２には、フォルダ又は刺繍データの数と同数の枠５２１が、１行１列、１行２列、１行３列、２行１列・・・の順に配列された状態で含まれる。
【００４０】
一方、対象フォルダの直下に格納されたフォルダ又は刺繍データの数が第２所定数よりも多い場合、フォルダ又は刺繍データは、最大第２所定数毎のグループに分割される。そして、分割された複数のグループのそれぞれに含まれるフォルダ又は刺繍データに対応する画像は、１つの選択画面１５１に表示される。又、複数のグループのそれぞれに含まれるフォルダ又は刺繍データに対応する画像を表示するために、複数のグループのそれぞれに対応する複数の選択画面１５１が切り替えられながら１画面ずつディスプレイ１５に表示される。以下、ｎ個のグループに対応するｎ（ｎ＝１，２，・・・）個の選択画面１５１のそれぞれを、「ｎページ目の選択画面１５１」という。
【００４１】
ページ切り替えボタン５３は、選択画面１５１のページを切り替えるためのボタンである。上記のように、対象フォルダの直下に格納されたフォルダ又は刺繍データが第２所定数よりも多い場合、ユーザは、ページ切り替えボタン５３を選択することによって、選択画面１５１のページを切り替えることができる。これによって、ユーザは、対象フォルダに格納された第２所定数よりも多いフォルダ又は刺繍データのそれぞれに対応する画像を、選択画面１５１のページを切り替えながら全て確認できる。以下、ディスプレイ１５に表示された選択画面１５１のページを、「対象ページ」という。
【００４２】
階層切り替えボタン５４は、対象フォルダを別のフォルダに切り替えるためのボタンである。例えば、選択画面１５１の階層切り替えボタン５４が選択された場合、対象フォルダは、フォルダ名が「ｂＰｏｃｋｅｔ」であるフォルダの１つ上層のフォルダに切り替えられる。なお、サムネイル画像５２のフォルダ画像５２Ａが選択された場合も同様に、対象フォルダが切り替えられる。この場合、対象フォルダは、フォルダ名が「ｂＰｏｃｋｅｔ」であるフォルダから、フォルダ画像５２Ａに対応するフォルダに切り替えられる。
【００４３】
ユーザは、縫製対象とする刺繍模様の選択操作を、選択画面１５１を介して次のように実行する。ユーザは、階層切り替えボタン５４、又は、サムネイル画像５２のフォルダ画像５２Ａを選択して対象フォルダを切り替え、ページ切り替えボタン５３を選択して対象ページを切り替える。これによって、ユーザは、縫製対象の刺繍模様を示す模様画像５２１Ｂ、模様画像５２１Ｂの一部分が部分画像５２１１、５２１２に置き換えられた模様画像５２１１Ａ、５２１２Ａ、及び、ステッチ画像５２２Ｂの何れかがサムネイル画像５２として含まれるページの選択画面１５１を、ディスプレイ１５に表示させる。
【００４４】
この状態で、ユーザは、縫製対象の刺繍模様に対応する画像を含む枠５２１を選択する操作を行う。ＣＰＵ６１は、選択された枠５２１に含まれる画像に対応する刺繍データを特定し、特定した刺繍データに含まれるステッチデータを更に特定する。ＣＰＵ６１は、特定したステッチデータに基づき、刺繍枠５０を移送機構４０によって左右方向（Ｘ軸方向）、及び前後方向（Ｙ軸方向）に移送する。同時に、ＣＰＵ６１は、針棒上下動機構（図示略）を駆動する。これにより、選択画面１５１を介して選択された画像に対応する刺繍模様が、刺繍枠５０に保持された縫製対象物３に対して縫製される。
【００４５】
＜ファイルテーブル６０＞
図４を参照し、ＲＡＭ６３のファイルテーブル領域６３１に格納されるファイルテーブル６０について説明する。ファイルテーブル６０は、フォルダ又は刺繍データに対応する画像をサムネイル画像５２として含む選択画面１５１を表示させるために使用される。ファイルテーブル６０は、フラッシュメモリ６４に記憶されたフォルダ毎に作成される。ファイルテーブル６０は、第１ファイルテーブル６０Ａ及び第２ファイルテーブル６０Ｂを含む。
【００４６】
第１ファイルテーブル６０Ａでは、１つのフォルダの直下に格納されたサブフォルダ又は刺繍データのインデックスが、ページ毎に管理される。第１ファイルテーブル６０Ａでは、ページ及びインデックスが対応付けられている。ページは、選択画面１５１のページに対応する。インデックスは、フォルダ又は刺繍データに順番に割り当てられる。図４の場合、ページ「１」「２」「３」のそれぞれに、「１−９」「１０−１８」「１９、２０」がインデックスとして対応付けられている。
【００４７】
第２ファイルテーブル６０Ｂでは、第１ファイルテーブル６０Ａのインデックスが割り当てられたフォルダ又は刺繍データに関する情報が管理される。第２ファイルテーブル６０Ｂは、インデックス毎に、左端座標、上端座標、ファイル／フォルダ識別、名称、及び、画像情報を含む。左端座標は、フォルダ又は刺繍データに対応する画像が表示される枠５２１（図３参照）の左端の位置を、横方向（Ｘ軸方向）の座標によって示す。上端座標は、フォルダ又は刺繍データに対応する画像が表示される枠５２１の上端の位置を、上下方向（Ｙ軸方向）の座標によって示す。ファイル／フォルダ識別は、フォルダ又は刺繍データを示すフラグ情報である。名称は、フォルダのフォルダ名、又は、刺繍データのファイル名を示す。「画像情報」は、枠５２１に表示される画像に関する情報である。
【００４８】
画像情報は、状態フラグ、回転フラグ、第１横サイズ、第１縦サイズ、第２横サイズ、第２縦サイズ、削除フラグ、及び、表示画像データを含む。状態フラグは、「０」（画像なし）「１」（模様画像生成完了）、「２」（ステッチ画像生成中）、「３」（ステッチ画像生成完了）、「４」（生成失敗）の何れかを示す。回転フラグの詳細は後述する。第１横サイズは、ステッチ画像の横方向の最大の長さを示す。第１縦サイズは、ステッチ画像の縦方向の最大の長さを示す。第２横サイズは、模様画像の横方向の最大の長さを示す。第２縦サイズは、模様画像の縦方向の最大の長さを示す。削除フラグは、表示画像データを削除するか否かを示すフラグ情報である。表示画像データは、枠５２１の内側に表示される画像のデータを示す。表示画像データとして、模様画像５２１Ｂ（図３参照）、模様画像５２１Ｂ一部分が部分画像５２１１、５２１２に置き換えられた模様画像５２１１Ａ、５２１２Ａ（図３参照）、及び、ステッチ画像５２２Ｂ（図３参照）のデータの何れかが記憶される。以下、インデックス毎に記憶される左端座標、上端座標、ファイル／フォルダ識別、名称、及び、画像情報を、総称して「ファイル情報」という。
【００４９】
＜メイン処理＞
図５から図１１を参照し、ミシン１のＣＰＵ６１によって実行される処理（メイン処理）について説明する。ＣＰＵ６１は、選択画面１５１（図３参照）をディスプレイ１５に表示させるための入力操作を、タッチパネル２６（図１参照）を介して検出した場合、ＲＯＭ６２に記憶されたプログラムを読み出して実行することによって、メイン処理（図５参照）を開始する。ＣＰＵ６１は、メイン処理の開始時、ＲＡＭ６３に記憶された変数である対象フォルダパスに、ルートフォルダのパスを記憶する。ＣＰＵ６１は、ＲＡＭ６３に記憶された変数である対象ページ数に「１」を記憶する。
【００５０】
図５に示すように、ＣＰＵ６１は、対象フォルダパスによって示されるパスの対象フォルダの直下に格納された全てのフォルダ又は刺繍データを全て読み出すことによって取得する（Ｓ１）。ＣＰＵ６１は、取得されたフォルダ又は刺繍データに基づいて、第１ファイルテーブル６０Ａ及び第２ファイルテーブル６０Ｂ（図４参照）を生成する（Ｓ３）。ＣＰＵ６１は、生成された第１ファイルテーブル６０Ａ及び第２ファイルテーブル６０Ｂを、ＲＡＭ６３のファイルテーブル領域６３１（図４参照）に記憶する（Ｓ３）。
【００５１】
第１ファイルテーブル６０Ａの生成方法の詳細は、次の通りである。図４を参照して具体的に説明する。対象フォルダの直下に格納されたフォルダ又は刺繍データの総数が「２０」であるとする。ＣＰＵ６１は、取得したフォルダ又は刺繍データのそれぞれに、インデックス「１、２、・・・２０」を順番に割り当てる。ＣＰＵ６１は、フォルダ又は刺繍データの総数である「２０」を、第２所定数として設定された「９」ずつに分割した場合のグループの数「３」を算出する。ＣＰＵ６１は、各グループのページ数「１、２、３」を、第１ファイルテーブル６０Ａのページとして記憶する。ＣＰＵ６１は、ページ「１」のインデックスとして「１−９」を対応付け、ページ「２」のインデックスとして「１０−１８」を対応付け、ページ「３」のインデックスとして「１９、２０」を対応付ける。
【００５２】
第２ファイルテーブル６０Ｂの生成方法の詳細は、次の通りである。ＣＰＵ６１は、インデックス「１」「１０」「１９」に対応する左端座標及び上端座標として、サムネイル画像５２（図３参照）の１行１列の位置の枠５２１の左上の角のＸ座標及びＹ座標を記憶する。以下、同様の手順で、インデックス「２」「１１」「２０」、インデックス「３」「１２」、インデックス「４」「１３」、インデックス「５」「１４」、インデックス「６」「１５」、インデックス「７」「１６」、インデックス「８」「１７」、インデックス「９」「１８」のそれぞれに対応する左端座標及び上端座標として、１行２列、１行３列、２行１列、２行２列、２行３列、３行１列、３行２列、及び、３行３列のそれぞれの位置の枠５２１の左上の角のＸ座標及びＹ座標を記憶する。ＣＰＵ６１は、フォルダ又は刺繍データを示すフラグ情報を、ファイル／フォルダ識別として記憶する。
【００５３】
ＣＰＵ６１は、フォルダを示すフラグ情報がファイル／フォルダ識別として記憶されている場合、フォルダ画像５２Ａ（図３参照）のデータをフラッシュメモリ６４から読み出す。ＣＰＵ６１は、読み出したフォルダ画像のデータを、表示画像データとして記憶する。ＣＰＵ６１は、フォルダのフォルダ名を、名称として記憶する。ＣＰＵ６１は、状態フラグに「１」（模様画像生成完了）を記憶する。なお、回転フラグ、第１横サイズ、第１縦サイズ、第２横サイズ、第２縦サイズ、及び、削除フラグは記憶されない。
【００５４】
一方、ＣＰＵ６１は、刺繍データを示すフラグ情報がファイル／フォルダ識別として記憶されている場合、刺繍データのファイル名を、名称として記憶する。ＣＰＵ６１は、状態フラグに「０」（画像無し）を記憶する。なお、回転フラグ、第１横サイズ、第１縦サイズ、第２横サイズ、第２縦サイズ、削除フラグ、及び、表示画像データは記憶されない。
【００５５】
図５に示すように、ＣＰＵ６１は、Ｓ３の処理の終了後、ポーリング処理（図１１参照）を起動する（Ｓ５）。ポーリング処理では、選択画面１５１のサムネイル画像５２のうちフォルダ画像５２Ａ、ページ切り替えボタン５３、及び、階層切り替えボタン５４（図３参照）の何れかが選択されたことに応じた処理を実行する。ポーリング処理は、メイン処理と並行して実行される。ポーリング処理の詳細は後述する。
【００５６】
ＣＰＵ６１は、ポーリング処理を起動した後、第１ファイルテーブル６０Ａ（図４参照）のうち、対象ページ数によって示される数のページに対応するインデックスを特定する。なお、対象ページ数は、メイン処理の起動時に「１」が記憶されている。第２ファイルテーブル６０Ｂ（図４参照）において対象ページ数が「１」の場合、対応するインデックス「１−９」が特定される。なお、対象ページ数は、ポーリング処理（図１１参照）においてフォルダ画像５２Ａ、ページ切り替えボタン５３、及び、階層切り替えボタン５４の何れかが選択されたと判断された場合に、更新される。第２ファイルテーブル６０Ｂにおいて、更新後の対象ページ数が「２」の場合、対応するインデックス「１０−１８」が特定され、更新後の対象ページ数が「３」の場合、対応するインデックス「１９、２０」が特定される。ＣＰＵ６１は、第２ファイルテーブル６０Ｂのうち、特定されたインデックスに対応するファイル情報を取得する（Ｓ７）。取得されるファイル情報は、選択画面１５１のサムネイル画像５２として表示される画像に対応する。ＣＰＵ６１は、表示処理（図６参照）を実行する（Ｓ９）。
【００５７】
図６を参照し、表示処理について説明する。ＣＰＵ６１は、Ｓ７（図５参照）の処理によって選択されたファイル情報のうち１つを、対応するインデックスの順に選択する（Ｓ３１）。以下、Ｓ３１の処理によって選択されたファイル情報を、「選択ファイル情報」という。ＣＰＵ６１は、選択ファイル情報の状態フラグに「１」以上の値が記憶されているか判断する（Ｓ３３）。状態フラグに「１」（模様画像生成完了）が記憶されている場合、選択ファイル情報の表示画像データとして、フォルダ画像５２Ａ（図３参照）、模様画像５２１Ｂ（図３参照）、及び、第１定型画像５２１Ｃ（図３参照）のデータが記憶されている（Ｓ３（図５参照）、Ｓ６７、Ｓ７１、Ｓ７３、Ｓ７７（図７参照））。状態フラグに「２」（ステッチ画像生成中）が記憶されている場合、選択ファイル情報の表示画像データとして、模様画像５２１Ｂの一部分が部分画像５２１１、５２１２に置き換えられた模様画像５２１１Ａ、５２１２Ａ（図３参照）のデータが記憶されている（Ｓ９１（図８参照）、Ｓ１５５（図１０参照））。状態フラグに「３」（ステッチ画像生成完了）が記憶されている場合、選択ファイル情報の表示画像データとして、ステッチ画像５２２Ｂ、５２２Ｃ（図３参照）のデータが記憶されている（Ｓ１５５（図１０参照）、Ｓ９９（図８参照））。状態フラグに「４」（生成失敗）が記憶されている場合、選択ファイル情報の表示画像データとして、第２定型画像５２Ｄ（図３参照）のデータが記憶されている（Ｓ７９、Ｓ８３（図７参照）、Ｓ１６１、Ｓ１６５（図１０参照））。これらの場合、模様画像を新たに生成する必要がない。ＣＰＵ６１は、状態フラグに「１」以上の値が記憶されていると判断した場合（Ｓ３３：ＹＥＳ）、処理をＳ３７に進める。
【００５８】
一方、選択ファイル情報の状態フラグに「０」が記憶されている場合、選択ファイル情報の表示画像データは記憶されていない。この場合、選択画面１５１のサムネイル画像５２として表示する画像のデータを、選択ファイル情報の表示画像データに記憶する必要がある。ＣＰＵ６１は、状態フラグに「１」以上の値が記憶されていないと判断した場合（Ｓ３３：ＮＯ）、第１展開処理（図７参照）を実行する（Ｓ３５）。ＣＰＵ６１は、第１展開処理の終了後、処理をＳ３７に進める。
【００５９】
図７を参照し、第１展開処理について説明する。ＣＰＵ６１は、選択ファイル情報の名称によって特定されるファイル名の刺繍データが上記の（１）に該当する刺繍データ、言い換えれば、暗号化されていないか、又は、暗号化されていても復号可能な刺繍データであるか判断する（Ｓ６１）。ＣＰＵ６１は、暗号化されていないか、又は、暗号化されていても復号可能な刺繍データであると判断した場合（Ｓ６１：ＹＥＳ）、処理をＳ６３に進める。ＣＰＵ６１は、模様画像の生成が可能な刺繍データであるか、言い換えれば、模様画像の生成が可能な模様データを含む刺繍データであるか判断する（Ｓ６３）。ＣＰＵ６１は、模様画像の生成が可能な模様データを含む刺繍データであると判断した場合（Ｓ６３：ＹＥＳ）、処理をＳ６５に進める。
【００６０】
ＣＰＵ６１は、刺繍データに含まれる模様データに基づき、模様画像を生成する（Ｓ６５）。具体的には、ＣＰＵ６１は、ブロックデータのそれぞれによって示される複数のブロック画像を組み合わせることによって、刺繍模様を生成する。ＣＰＵ６１は、生成した模様画像のデータを、選択ファイル情報の表示画像データとして記憶する（Ｓ６７）。ＣＰＵ６１は、生成した模様画像の外接矩形を特定する（Ｓ６９）。ＣＰＵ６１は、特定した外接矩形の横方向の長さを、選択ファイル情報の第２横サイズとして記憶する。ＣＰＵ６１は、特定した外接矩形の縦方向の長さを、選択ファイル情報の第２縦サイズとして記憶する（Ｓ６９）。ＣＰＵ６１は、選択ファイル情報の状態フラグとして、「１」を記憶する（Ｓ７１）。ＣＰＵ６１は第１展開処理を終了させ、処理を表示処理（図６参照）に戻す。
【００６１】
ＣＰＵ６１は、Ｓ６３の処理において、模様画像の生成が不可能な刺繍データ、言い換えれば、模様データが含まれていない刺繍データ、又は、模様画像を生成することが不可能な模様データが含まれている刺繍データであると判断した場合（Ｓ６３：ＮＯ）、処理をＳ７３に進める。ＣＰＵ６１は、第１定型画像のデータをフラッシュメモリ６４から読み出す。ＣＰＵ６１は、読み出した第１定型画像のデータを、選択ファイル情報の表示画像データとして記憶する（Ｓ７３）。ＣＰＵ６１は、第１定型画像の外接矩形のデータを、フラッシュメモリ６４から読み出す。ＣＰＵ６１は、読み出した外接矩形のデータに基づき、外接矩形の横方向の長さを特定し、選択ファイル情報の第２横サイズとして記憶する。ＣＰＵ６１は、読み出した外接矩形のデータに基づき、外接矩形の縦方向の長さを特定し、選択ファイル情報の第２縦サイズとして記憶する（Ｓ７５）。ＣＰＵ６１は、選択ファイル情報の状態フラグとして、「１」を記憶する（Ｓ７７）。ＣＰＵ６１は第１展開処理を終了させ、処理を表示処理（図６参照）に戻す。
【００６２】
ＣＰＵ６１は、Ｓ６１の処理において、（１）に該当しない刺繍データ、言い換えれば、暗号化されており且つ復号できない刺繍データであると判断した場合（Ｓ６１：ＮＯ）、処理をＳ７９に進める。ＣＰＵ６１は、第２定型画像のデータをフラッシュメモリ６４から読み出す。ＣＰＵ６１は、読み出した第２定型画像のデータを、選択ファイル情報の表示画像データとして記憶する（Ｓ７９）。ＣＰＵ６１は、第２定型画像の外接矩形のデータを、フラッシュメモリ６４から読み出す。ＣＰＵ６１は、読み出した外接矩形のデータに基づき、外接矩形の横方向の長さを特定し、選択ファイル情報の第２横サイズとして記憶する。ＣＰＵ６１は、読み出した外接矩形のデータに基づき、外接矩形の縦方向の長さを特定し、選択ファイル情報の第２縦サイズとして記憶する（Ｓ８１）。ＣＰＵ６１は、選択ファイル情報の状態フラグとして、「４」を記憶する（Ｓ８３）。ＣＰＵ６１は第１展開処理を終了させ、処理を表示処理（図６参照）に戻す。
【００６３】
図６に示すように、ＣＰＵ６１は、Ｓ３７の処理において、選択ファイル情報の表示画像データに記憶された画像のデータを、ＲＡＭ６３の表示バッファに記憶する（Ｓ３７）。具体的には、ＣＰＵ６１は、選択ファイル情報の左端座標及び上端座標に基づいて特定される枠５２１の位置を算出する。ＣＰＵ６１は、選択ファイル情報の表示画像データに記憶された画像のデータに基づき、算出した枠５２１の内側に画像を配置させる。なお、表示バッファに画像が既に記憶されている場合、Ｓ３７の処理によって、既に記憶されている画像に対して新たに画像が追加される。
【００６４】
ＣＰＵ６１は、Ｓ７（図５参照）の処理によって取得されたファイル情報を、Ｓ３１の処理によって全て選択したか判断する（Ｓ３９）。ＣＰＵ６１は、Ｓ３１の処理によって選択されていないファイル情報が残っている場合（Ｓ３９：ＮＯ）、処理をＳ３１に戻す。ＣＰＵ６１は、選択されていないファイル情報の１つを選択し（Ｓ３１）、Ｓ３３、Ｓ３５、Ｓ３７の処理を繰り返す。なお、Ｓ３７の処理が繰り返されることによって、並べて配置された複数の枠５２１のそれぞれの内側に、画像が配置される。
【００６５】
ＣＰＵ６１は、Ｓ７（図５参照）の処理によって取得されたファイル情報を全て選択したと判断した場合（Ｓ３９：ＹＥＳ）、表示バッファに記憶された画像のデータに基づいて、ディスプレイ１５に選択画面１５１を表示させる（Ｓ４１）。表示される選択画面１５１には、Ｓ３７の処理によって表示バッファに記憶された画像が、サムネイル画像５２として含まれる。ＣＰＵ６１は処理をＳ４３に進める。
【００６６】
ＣＰＵ６１は、Ｓ７（図５参照）の処理によって選択されたファイル情報のうち１つを、対応するインデックスの順に選択する（Ｓ４３）。以下、Ｓ４３の処理によって選択されたファイル情報を、Ｓ３１の処理によって選択されたファイル情報と同様、「選択ファイル情報」という。ＣＰＵ６１は、選択ファイル情報の状態フラグに「３」以上の値が記憶されているか、又は、選択ファイル情報のファイル／フォルダ情報としてフォルダを示すフラグ情報が記憶されているか判断する（Ｓ４５）。状態フラグに「３」（ステッチ画像生成完了）が記憶されている場合、選択ファイル情報の表示画像データとして、ステッチ画像５２２Ｂ、５２２Ｃのデータが記憶されている（Ｓ９９、図８参照）。状態フラグに「４」（生成失敗）が記憶されている場合、選択ファイル情報の表示画像データとして、第２定型画像５２Ｄのデータが記憶されている（Ｓ７９、Ｓ８３（図７参照）、Ｓ１６１、Ｓ１６５（図１０参照））。選択ファイル情報のファイル／フォルダ情報としてフォルダを示すフラグ情報が記憶されている場合、選択ファイル情報の表示画像データとして、フォルダ画像５２Ａのデータが記憶されている（Ｓ３（図５参照））。これらの場合、部分画像を生成する処理を繰り返すことによってステッチデータを新たに生成する必要がない。ＣＰＵ６１は、状態フラグに「３」以上の値が記憶されているか、又は、選択ファイル情報のファイル／フォルダ情報としてフォルダを示すフラグ情報が記憶されていると判断した場合（Ｓ４５：ＹＥＳ）、処理をＳ５１に進める。
【００６７】
一方、選択ファイル情報の状態フラグに「１」（模様画像生成完了）又は「２」（ステッチ画像生成中）の値が記憶されている場合、部分画像を生成する処理を繰り返すことによってステッチデータを新たに生成する必要がある。ＣＰＵ６１は、状態フラグに「３」以上の値が記憶されていないと判断した場合（Ｓ４５：ＮＯ）、第２展開処理（図８参照）を実行する（Ｓ４７）。ＣＰＵ６１は、第２展開処理の終了後、処理をＳ５１に進める。
【００６８】
図８を参照し、第２展開処理について説明する。ＣＰＵ６１は、選択ファイル情報の状態フラグが「１」である場合、「２」を記憶する（Ｓ９１）。ＣＰＵ６１は、算出処理（図９参照）を実行する（Ｓ９３）。図９を参照し、算出処理について説明する。ＣＰＵ６１は、選択ファイル情報の名称によって特定されるファイル名の刺繍データに含まれるステッチデータを取得する。ＣＰＵ６１は、取得したステッチデータの解析が可能かを判断する（Ｓ１１０）。具体的には、ＣＰＵ６１は、上記の（２）に該当するステッチデータ、言い換えれば、暗号化されていないか、又は、暗号化されていても復号可能なステッチデータであり、且つ、破損していないステッチデータであるか判断する（Ｓ１１０）。ＣＰＵ６１は、取得したステッチデータの解析が不可能と判断した場合（Ｓ１１０：ＮＯ）、算出処理を終了させ、処理を第２展開処理（図８参照）に戻す。
【００６９】
ＣＰＵ６１は、取得したステッチデータの解析が可能と判断した場合（Ｓ１１０：ＹＥＳ）、処理をＳ１１１に進める。ＣＰＵ６１は、取得したステッチデータに含まれる座標データに基づき、ステッチ画像を囲む最小の四角形である外接矩形を特定する（Ｓ１１１）。ＣＰＵ６１は、特定された外接矩形の長辺の延びる方向（以下、「ステッチ長辺方向」という。）と、選択ファイル情報の第２横サイズ及び第２縦サイズのうち長い方の方向（以下、「模様長辺方向」という。）とが、横方向又は縦方向で一致するか判断する。ＣＰＵ６１は、ステッチ長辺方向と模様長辺方向とが一致しない場合、後述する部分展開処理（図１０参照）によって生成される部分画像を反時計回りに９０度回転させる必要があると判断する（Ｓ１１３：ＹＥＳ）。ＣＰＵ６１は、選択ファイル情報の回転フラグとして「１」を記憶する（Ｓ１１５）。ＣＰＵ６１は、特定された外接矩形の横方向の長さを、選択ファイル情報の第１縦サイズとして記憶する。ＣＰＵ６１は、特定された外接矩形の縦方向の長さを、選択ファイル情報の第１横サイズとして記憶する（Ｓ１１７）。ＣＰＵ６１処理をＳ１２３に進める。
【００７０】
一方、ＣＰＵ６１は、ステッチ長辺方向と模様長辺方向とが一致する場合、後述する部分展開処理によって生成される部分画像を回転させる必要がないと判断する（Ｓ１１３：ＮＯ）。ＣＰＵ６１は、選択ファイル情報の回転フラグとして「０」を記憶する（Ｓ１１９）。ＣＰＵ６１は、特定された外接矩形の横方向の長さを、選択ファイル情報の第１横サイズとして記憶する。ＣＰＵ６１は、特定された外接矩形の縦方向の長さを、選択ファイル情報の第１縦サイズとして記憶する（Ｓ１２１）。ＣＰＵ６１処理をＳ１２３に進める。
【００７１】
ＣＰＵ６１は、選択ファイル情報の第１横サイズ及び第１縦サイズのそれぞれを、第２横サイズ及び第２縦サイズの長さとする場合の縮小率を算出する（Ｓ１２３）。縮小率の算出式は、「第２横サイズ／第１横サイズ」「第２縦サイズ／第１縦サイズ」の何れかである。なお、本実施形態において、ステッチ画像の外接矩形と模様画像の外接矩形との向きを揃えた状態で、それぞれの横方向の長さと縦方向の長さとの比率は一致するとする。このため、上記の２つの式の算出結果は一致する。ＣＰＵ６１は算出処理を終了し、処理を第２展開処理（図８参照）に戻す。
【００７２】
図８に示すように、ＣＰＵ６１は、算出処理（Ｓ９３）の終了後、部分展開処理（図１０参照）を実行する（Ｓ９５）。図１０を参照し、部分展開処理について説明する。ＣＰＵ６１は、選択ファイル情報の名称によって特定されるファイル名の刺繍データに含まれるステッチデータを取得する（Ｓ１３１）。ＣＰＵ６１は、取得したステッチデータが、上記の（２）に該当するステッチデータ、言い換えれば、暗号化されていないか、又は、暗号化されていても復号可能なステッチデータであり、且つ、破損していないステッチデータであるか判断する（Ｓ１３３）。ＣＰＵ６１は、上記の（２）に該当しないステッチデータ、言い換えれば、暗号化されており且つ復号できないステッチデータであるか、又は、破損したステッチデータであると判断した場合（Ｓ１３３：ＮＯ）。処理をＳ１６１に進める。ＣＰＵ６１は、第２定型画像のデータをフラッシュメモリ６４から読み出す。ＣＰＵ６１は、選択ファイル情報の表示画像データとして、読み出した第２定型画像のデータを、選択ファイル情報の表示画像データとして記憶する（Ｓ１６１）。ＣＰＵ６１は、第２定型画像の外接矩形のデータを、フラッシュメモリ６４から読み出す。ＣＰＵ６１は、読み出した外接矩形のデータに基づき、外接矩形の横方向の長さを特定し、選択ファイル情報の第２横サイズとして記憶する。ＣＰＵ６１は、読み出した外接矩形のデータに基づき、外接矩形の縦方向の長さを特定し、選択ファイル情報の第２縦サイズとして記憶する（Ｓ１６３）。ＣＰＵ６１は、選択ファイル情報の状態フラグとして、「４」を記憶する（Ｓ１６５）。ＣＰＵ６１は処理をＳ１５９に進める。
【００７３】
一方、ＣＰＵ６１は、Ｓ１３３の処理によって、暗号化されていないか、又は、暗号化されていても復号可能なステッチデータであり、且つ、破損していないステッチデータであると判断した場合（Ｓ１３３：ＹＥＳ）。処理をＳ１３５に進める。ＣＰＵ６１は、取得したステッチデータに含まれる座標データによって特定される針落ち点の数を、縫目数として算出する（Ｓ１３５）。ＣＰＵ６１は、算出された縫目数が第３所定数未満であるか判断する（Ｓ１３７）。ＣＰＵ６１は、縫目数が第３所定数未満と判断した場合（Ｓ１３７：ＹＥＳ）、削除フラグに「１」を記憶する（Ｓ１３９）。ＣＰＵ６１は処理をＳ１４３に進める。ＣＰＵ６１は、縫目数が第３所定数以上と判断した場合（Ｓ１３７：ＮＯ）、削除フラグに「０」を記憶する（Ｓ１４１）。ＣＰＵ６１は処理をＳ１４３に進める。
【００７４】
ＣＰＵ６１は、取得したステッチデータに含まれる座標データを、縫製順序の順に１つ取得する（Ｓ１４３）。なお、１つの座標データは、１つの縫目を形成させるために刺繍枠５０が移動するときの、Ｘ軸方向及びＹ軸方向のそれぞれの移動量を示す。ＣＰＵ６１は、Ｓ１４３の処理によって取得した座標データのＸ座標及びＹ座標のそれぞれに、Ｓ１２３（図９参照）の処理によって算出された縮小率を乗算する（Ｓ１４５）。ＣＰＵ６１は、縮小率が乗算された座標データを、ＲＡＭ６３に記憶する。以下、縮小率が乗算された座標のデータを、「縮小座標データ」という。
【００７５】
ＣＰＵ６１は、Ｓ１４３の処理によって第１所定数分の座標データを取得するか、又は、Ｓ１４３の処理によってステッチデータに含まれる座標データを全て取得したか判断する（Ｓ１４７）。ＣＰＵ６１は、第１所定数分の座標データを取得しておらず、且つ、ステッチデータに含まれる座標データを全て取得していないと判断した場合（Ｓ１４７：ＮＯ）、処理をＳ１４３に戻す。ＣＰＵ６１は、次の縫製順序の座標データを１つ取得し（Ｓ１４３）、Ｓ１４５の処理を繰り返す。
【００７６】
ＣＰＵ６１は、Ｓ１４７の処理によって、第１所定数分の座標データを取得するか、又は、ステッチデータに含まれる座標データを全て取得したと判断した場合（Ｓ１４７：ＹＥＳ）、処理をＳ１４９に進める。ＣＰＵ６１は、選択ファイル情報の回転フラグに「０」が記憶されているか判断する（Ｓ１４９）。ＣＰＵ６１は、回転フラグに「０」が記憶されていると判断した場合（Ｓ１４９：ＹＥＳ）、ＲＡＭ６３に記憶された縮小座標データに基づき、縮小された縫目のそれぞれを、１ドット幅の線分で示す。ＣＰＵ６１は、複数の線分を組み合わせることによって部分画像を生成する（Ｓ１５１）。ＣＰＵ６１は処理をＳ１５５に進める。
【００７７】
ＣＰＵ６１は、選択ファイル情報の回転フラグに「１」が記憶されていると判断した場合（Ｓ１４９：ＮＯ）、ＲＡＭ６３に記憶された縮小座標データに基づき、縮小された縫目のそれぞれを、１ドット幅の線分で示す。ＣＰＵ６１は、複数の線分のそれぞれを、反時計回りに９０度回転させる。ＣＰＵ６１は、回転させた複数の線分を組み合わせることによって部分画像を生成する（Ｓ１５３）。ＣＰＵ６１は処理をＳ１５５に進める。
【００７８】
Ｓ１５５において、ＣＰＵ６１は、生成された部分画像のデータを、選択ファイル情報の表示画像データとして記憶する。ここで、選択ファイル情報の表示画像データとして既に画像が記憶されている場合、既に記憶されている画像のうち生成された部分画像に対応する部分の代わりに、生成された部分画像を記憶する。つまり、既に記憶されている画像の一部分は、生成された部分画像によって置き換えられる。ここで、Ｓ１４７の処理によって、ステッチデータに含まれる座標データが全て取得されていないと判断されている場合、Ｓ１５５の処理によって、一部分が部分画像に置き換えられた模様画像又は第１定型画像のデータが、選択ファイル情報の表示画像データとして記憶される。一方、Ｓ１４７の処理によって、ステッチデータに含まれる座標データが全て取得されたと判断されている場合、Ｓ１５５の処理によって、模様画像又は第１定型画像の全てが複数の部分画像に置き換えられたステッチ画像のデータが、選択ファイル情報の表示画像データとして記憶される。
【００７９】
ＣＰＵ６１は、選択ファイル情報の表示画像データに記憶された画像のデータを、ＲＡＭ６３の表示バッファに記憶する（Ｓ１５７）。具体的には、ＣＰＵ６１は、選択ファイル情報の左端座標及び上端座標に基づいて特定される枠５２１の位置を算出する。ＣＰＵ６１は、選択ファイル情報の表示画像データに記憶された画像のデータに基づき、算出した枠５２１の内側に画像を配置させる。なお、表示バッファに画像が既に記憶されている場合、Ｓ１５７の処理によって、既に記憶されている画像に対して新たに画像が追加される。
【００８０】
ＣＰＵ６１は、表示バッファに記憶された画像のデータに基づいて、ディスプレイ１５に選択画面１５１を表示させる（Ｓ１５９）。表示される選択画面１５１には、Ｓ１５７の処理によって表示バッファに記憶された画像が、サムネイル画像５２として含まれる。ＣＰＵ６１は部分展開処理を終了させ、処理を第２展開処理（図８参照）に戻す。
【００８１】
図８に示すように、ＣＰＵ６１は、部分展開処理（Ｓ９５）の終了後、選択ファイル情報の名称によって特定される刺繍データに含まれるステッチデータに対する処理が終了したか判断する（Ｓ９７）。ＣＰＵ６１は、Ｓ１４７（図１０参照）の処理によって、ステッチデータに含まれる座標データを全て取得していないと判断した場合、ステッチデータに対する処理が終了していないと判断する（Ｓ９７：ＮＯ）。この場合、ＣＰＵ６１は処理をＳ９５に戻し、部分展開処理（図１０参照）を繰り返す。図１０の部分展開処理が繰り返される場合において、ＣＰＵ６１は、ステッチデータに含まれる座標データのうち、Ｓ１４３の処理によってまだ取得されていない座標データを、縫製順序の順に１つ取得する（Ｓ１４３）。ＣＰＵ６１は、取得した座標データに基づき、縮小座標データを算出する（Ｓ１４５）。
【００８２】
ＣＰＵ６１は、Ｓ１４７の処理によって、ステッチデータに含まれる座標データを全て取得したと判断した場合、ステッチデータに対する処理が終了したと判断する（Ｓ９７：ＹＥＳ）。ＣＰＵ６１は、選択ファイル情報の状態フラグに「３」を記憶する（Ｓ９９）。ＣＰＵ６１は、第２展開処理を終了させ、処理を表示処理（図６参照）に戻す。
【００８３】
図６に示すように、ＣＰＵ６１は、Ｓ７（図５参照）の処理によって取得されたファイル情報を、Ｓ４３の処理によって全て選択したか判断する（Ｓ５１）。ＣＰＵ６１は、Ｓ４３の処理によって選択されていないファイル情報が残っている場合（Ｓ５１：ＮＯ）、処理をＳ４３に戻す。ＣＰＵ６１は、選択されていないファイル情報の１つを選択し（Ｓ４３）、Ｓ４５、Ｓ４７の処理を繰り返す。ＣＰＵ６１は、ファイル情報を全て選択したと判断した場合（Ｓ５１：ＹＥＳ）、表示処理を終了させ、処理をメイン処理（図５参照）に戻す。図５に示すように、ＣＰＵ６１は、表示処理（図６参照）の終了後、第３展開処理を実行する（Ｓ１１）。
【００８４】
第３展開処理では、対象ページ以外の他のページの選択画面１５１にサムネイル画像５２として表示される画像を、対象ページを他のページに変更する操作が行われる前に生成する。詳細は次の通りである。ＣＰＵ６１は、第１ファイルテーブル６０Ａ（図４参照）のページのうち、対象ページ数によって示されるページ以外のページを１つ選択する。ＣＰＵ６１は、選択したページを、対象ページ数として記憶する。ＣＰＵ６１は、記憶された対象ページに基づき、Ｓ７（図５参照）、及び、表示処理（図６参照）を実行する。但し、第３展開処理で実行される表示処理において、ＣＰＵ６１は、Ｓ３７（図６参照）、Ｓ１５７（図１０参照）の処理を実行せず、画像のデータを表示バッファに記憶しない。又、ＣＰＵ６１は、Ｓ４１（図６参照）、Ｓ１５９（図１０参照）の処理を実行せず、表示バッファに記憶された画像のデータに基づいてディスプレイ１５に画像を表示させない。これによって、対象フォルダの直下に格納されたフォルダ又は刺繍データのうち、ディスプレイ１５に表示されていないページの選択画面１５１にサムネイル画像５２として含まれる画像に対応するファイル情報が生成される。ＣＰＵ６１は、第１ファイルテーブル６０Ａのページが全て対象ページとして記憶された場合、第３展開処理を終了させる。ＣＰＵ６１は、メイン処理を終了させる。
【００８５】
図１１を参照し、ポーリング処理について説明する。ポーリング処理は、メイン処理のＳ５（図５参照）によって起動される。ＣＰＵ６１は、選択画面１５１（図４参照）の階層切り替えボタン５４、又は、サムネイル画像５２のうちフォルダ画像５２Ａを含む枠５２１内を選択する操作が行われたか判断する（Ｓ１７１）。ＣＰＵ６１は、階層切り替えボタン５４、又は、サムネイル画像５２のうちフォルダ画像５２Ａを含む枠５２１内を選択する操作が行われたと判断した場合（Ｓ１７１：ＹＥＳ）、操作に応じて対象フォルダパスを変更する（Ｓ１７３）。ＣＰＵ６１は、並行して実行中のメイン処理を中断させる。ＣＰＵ６１は、メイン処理をＳ１（図５参照）から再開させる（Ｓ１７５）。ＣＰＵ６１はポーリング処理を終了させる。
【００８６】
ＣＰＵ６１は、階層切り替えボタン５４を選択する操作が行われていないと判断した場合（Ｓ１７１：ＮＯ）、ページ切り替えボタン５３を選択する操作が行われたか判断する（Ｓ１８１）。ＣＰＵ６１は、ページ切り替えボタン５３を選択する操作が行われたと判断した場合（Ｓ１８１：ＹＥＳ）、Ｓ７の処理によって取得されたフォルダ又は刺繍データに対応するファイル情報を１つ選択する（Ｓ１８５）。ＣＰＵ６１は、選択したファイル情報の削除フラグに「１」が記憶されているか判断する（Ｓ１８７）。ＣＰＵ６１は、削除フラグに「１」が記憶されていると判断した場合（Ｓ１８７：ＹＥＳ）、Ｓ１８５の処理によって選択されたファイル情報の表示画像データを削除する（Ｓ１８９）。ＣＰＵ６１は、Ｓ１８５の処理によって選択されたファイル情報のフラグ情報に「０」を記憶する（Ｓ１９０）。ＣＰＵ６１は処理をＳ１９１に進める。一方、ＣＰＵ６１は、削除フラグに「０」が記憶されていると判断した場合（Ｓ１８７：ＮＯ）、処理をＳ１９１に進める。
【００８７】
ＣＰＵ６１は、Ｓ１８５の処理によって、Ｓ７の処理によって取得されたフォルダ又は刺繍データに対応するファイル情報を全て選択したか判断する（Ｓ１９１）。ＣＰＵ６１は、選択されていないフォルダ又は刺繍データが残っている場合（Ｓ１９１：ＮＯ）、処理をＳ１８５に戻す。ＣＰＵ６１は、選択されていないフォルダ又は刺繍データのうち１つを選択し（Ｓ１８５）、Ｓ１８７、Ｓ１８９の処理を繰り返す。ＣＰＵ６１は、Ｓ７の処理によって取得されたフォルダ又は刺繍データを全て選択したと判断した場合（Ｓ１９１：ＹＥＳ）、Ｓ１８１の処理によって検出された操作に応じて対象ページ数を変更する（Ｓ１９３）。ＣＰＵ６１は、並行して実行中のメイン処理を中断させる。ＣＰＵ６１は、変更後の対象ページ数に基づき、メイン処理をＳ７（図５参照）から再開させる（Ｓ１９５）。ＣＰＵ６１は処理をＳ１７１に戻す。
【００８８】
＜本発明の主たる作用、効果＞
以上説明したように、ミシン１のＣＰＵ６１は、フラッシュメモリ６４に記憶された刺繍データを取得する（Ｓ１）。ＣＰＵ６１は、取得した刺繍データに含まれる模様データに基づいて、模様画像５２１Ｂをサムネイル画像５２として含む選択画面１５１をディスプレイ１５に表示させる（Ｓ４１）。模様画像５２１Ｂを表示した後、ＣＰＵ６１は、取得した刺繍データに含まれるステッチデータに基づいて、部分画像５２１１、５２１２、５２１３を生成する（Ｓ１５１、Ｓ１５３）。ＣＰＵ６１は、生成した部分画像５２１１、５２１２、５２１３のそれぞれを、模様画像５２１Ｂのうち対応する部分に表示させる（Ｓ１５９）。よって、ステッチデータに基づく部分画像５２１１、５２１２、５２１３を生成する前に、刺繍データに含まれる模様データに基づいて模様画像５２１Ｂが表示されるので、ユーザは、部分画像５２１１、５２１２、５２１３が表示されることを待つことなく、ミシン１によって縫製可能な刺繍模様を短時間で確認できる。なお、部分画像５２１１、５２１２、５２１３では、刺繍模様を表す複数の縫目のそれぞれが画像として表されるので、模様画像５２１Ｂよりも解像度を大きくできる。このため、ＣＰＵ６１は、部分画像５２１１、５２１２、５２１３及びステッチ画像５２２Ｂを模様画像５２１Ｂの代わりにサムネイル画像５２として表示することによって、サムネイル画像５２の見栄えを良好にできるとともに、ユーザは、刺繍模様の詳細を確認することができる。
【００８９】
ＣＰＵ６１は、複数の模様画像５２１Ｂをサムネイル画像５２として含む選択画面１５１をディスプレイ１５に表示させることによって、縫製対象の刺繍模様に対応する模様画像を、複数の模様画像の中からユーザに選択させることができる。さらに、複数の模様画像５２１Ｂを表示した後に、各模様画像に対応する部分画像５２１１、５２１２、５２１３の生成を開始するので、模様画像を表示し、部分画像を生成する処理を、刺繍模様毎に繰り返し行うよりも、ユーザは、ミシン１が縫製可能な複数の刺繍模様を短時間で確認できる。又、ＣＰＵ６１は、対象フォルダの直下に格納されたフォルダ又は刺繍データに対応する画像を、１ページ分の選択画面１５１に第２所定数ずつ表示させる。これによって、ユーザは、選択画面１５１のページを切り替えながら模様画像を検索することによって、縫製対象の刺繍模様の検索を容易に行うことができる。
【００９０】
ＣＰＵ６１は、ステッチデータに対応する全ての部分画像が生成されて表示された場合（Ｓ９７：ＹＥＳ）、第３展開処理を実行する（Ｓ１１）。第３展開処理では、対象ページと異なるページの選択画面１５１にサムネイル画像５２として含まれる部分画像が生成される（Ｓ１５１、Ｓ１５３）。生成された部分画像は、ファイル情報の表示画像データとして記憶される（Ｓ１５５）。このように、ＣＰＵ６１は、ページ切り替えボタン５３を選択する操作が行われることに応じて選択画面１５１の対象ページを切り替える前に、模様画像及び部分画像を生成し記憶できる。従って、ＣＰＵ６１は、選択画面１５１の対象ページを切り替える場合において、既に生成済みの部分画像のデータが表示画像データとして記憶されている場合には、この部分画像のデータに基づき、切り替え後の対象ページの選択画面１５１のサムネイル画像５２として部分画像を表示できる。これによって、ＣＰＵ６１は、切り替え後の対象ページの選択画面１５１においてステッチ画像が表示されるまでに要する時間を短縮できる。又、ＣＰＵ６１は、一旦生成した部分画像を再度生成することを抑制できるので、部分画像の生成に要する処理負荷を軽減できる。
【００９１】
ＣＰＵ６１は、ステッチデータに含まれる座標データに基づき、縫目数を算出する（Ｓ５３）。ＣＰＵ６１は、算出した縫目数が第３所定数未満の場合（Ｓ５５：ＹＥＳ）、削除フラグに「１」を記憶し（Ｓ５７）、第３所定数以上の場合（Ｓ５５：ＮＯ）、削除フラグに「０」を記憶する（Ｓ５９）。ＣＰＵ６１は、削除フラグが「１」の場合、ファイル情報の表示画像データを削除する（Ｓ１８９）。つまり、ＣＰＵ６１は、縫目数が第３所定数以上の場合のみ、表示画像データに部分画像が記憶された状態を維持する。なお、ステッチデータの縫目数が大きい程、このステッチデータに基づいて部分画像を生成するときに要する時間は長くなる。これに対し、ＣＰＵ６１は、縫目数が第３所定数以上の場合に、部分画像のデータを表示画像データとして記憶し、縫目数が第３所定数未満の場合に、部分画像のデータを表示画像データとして記憶しない。これによって、ＣＰＵ６１は、部分画像の生成に時間がかかることによってユーザが刺繍模様の選択操作を円滑に実行できないことを防止できる。又、ＣＰＵ６１は、記憶される部分画像のデータの量を抑制することによって、フラッシュメモリ６４の容量を抑制できる。
【００９２】
ＣＰＵ６１は、ステッチ長辺方向と模様長辺方向とが一致しない場合（Ｓ１１３：ＹＥＳ）、反時計回りに９０度回転させた部分画像を生成し（Ｓ１５３）、表示する（Ｓ１５９）。この場合、ＣＰＵ６１は、模様画像と、模様画像の一部分を置き換える部分画像との向きを揃えることができる。このため、ＣＰＵ６１は、一部分が部分画像によって置き換えられた模様画像の見栄えを良好にできる。又、ＣＰＵ６１は、回転後の部分画像を生成して表示バッファに記憶することによって、ディスプレイ１５に表示させる。この場合、ＣＰＵ６１は、回転後の部分画像の表示を容易に実行できる。
【００９３】
ＣＰＵ６１は、模様画像の生成が可能な模様データが刺繍データに含まれていない場合（Ｓ６３：ＮＯ）、第１定型画像５２１Ｃをサムネイル画像５２として表示させる（Ｓ４１）。これによって、ＣＰＵ６１は、模様画像が表示できないことを第１定型画像によってユーザに通知できる。又、ＣＰＵ６１は、ステッチデータに基づいて部分画像を生成し、第１定型画像５２１Ｃの一部分画像に対応する部分に表示させる（Ｓ１５９）。これによって、ＣＰＵ６１は、模様画像が表示できない場合でも、縫製対象の刺繍模様をユーザに認識させ、刺繍模様の選択操作をユーザに実行させることができる。
【００９４】
＜変形例＞
本発明は上記実施形態に限定されず、種々の変更が可能である。刺繍データは、フラッシュメモリ６４以外の外付け記憶媒体に記憶されてもよい。外付け記憶媒体の具体例として、ＵＳＢメモリ、ＳＤカード（登録商標）等が挙げられる。例えばミシン１は、外付け記憶媒体が接続されるドライブ装置を備えていてもよい。ＣＰＵ６１は、ドライブ装置に接続された外付け記憶媒体から刺繍データを読み出してもよい。又、選択画面１５１には、フラッシュメモリ６４又は外付け記憶媒体を選択可能なボタンが更に表示されていてもよい。ＣＰＵ６１は、このボタンを介して選択されたフラッシュメモリ６４又は外付け記憶媒体から、刺繍データを読み出してもよい。選択画面１５１において、サムネイル画像５２として表示されるフォルダ画像５２Ａの枠５２１の大きさと、他の画像の枠５２１の大きさとを相違させてもよい。例えば、フォルダ画像５２Ａの枠５２１は、他の画像の枠５２１より小さくてもよい。
【００９５】
模様データには、模様画像を形成する複数のブロックのそれぞれを示す複数のブロックデータが含まれていた。ＣＰＵ６１は、複数のブロックデータによって示される複数の画像を組み合わせることによって、模様画像を生成した（Ｓ６５）。これに対し、模様データは、模様画像を直接的に示すデータであってもよい。この場合、ＣＰＵ６１は、Ｓ６５の処理による模様画像の生成処理を行わなくても、選択ファイル情報の表示画像データとして模様データを記憶できる（Ｓ６７）。
【００９６】
選択画面１５１のサムネイル画像５２に含まれる枠５２１の最大数は、第２所定数によって特定され、上記実施形態の場合、「９」であった。第２所定数として記憶される値は、「９」に限定されず、他の値でもよい。又、第２所定数は、ユーザによって設定可能としてもよい。又、例えば第２所定数の初期値を、対象フォルダの直下に格納されたフォルダ又は刺繍データの数としてもよい。この場合、対象フォルダの直下に格納されたフォルダ又は刺繍データに対応する画像は、全て、１ページ分の選択画面１５１に表示される。この状態で、例えばユーザは、第２所定数を変更することによって、１ページ分の選択画面１５１に表示される画像の数を調整してもよい。
【００９７】
ＣＰＵ６１は、生成した部分画像のデータを、選択ファイル情報の表示画像データとして記憶した（Ｓ１５５）。ＣＰＵ６１は、刺繍データに含まれるステッチデータの全てに基づいて部分画像を生成することによってステッチ画像を生成した場合（Ｓ９７：ＹＥＳ）、選択ファイル情報の状態フラグに「３」を記憶した（Ｓ９９）。ＣＰＵ６１は、選択ファイル情報の状態フラグに「３」以上の値が記憶されていない場合（Ｓ４５：ＮＯ）のみ、第２展開処理（Ｓ４７）を実行し、部分画像を生成した。つまり、ＣＰＵ６１は、ステッチデータの全てに基づいてステッチ画像が生成された場合のみ、部分画像が繰り返し作成されないようにした。これに対し、ＣＰＵ６１は、ステッチ画像が生成されていない場合でも、ステッチ画像の一部分である部分画像が既に生成されている場合には、これらが繰り返し生成されないようにしてもよい。
【００９８】
ＣＰＵ６１は、ステッチデータに基づいて縫目数を算出した（Ｓ５３）。ＣＰＵ６１は、算出した縫目数が第３所定数未満の場合（Ｓ５５：ＹＥＳ）、削除フラグに「１」を記憶した（Ｓ５７）。これに対し、ＣＰＵ６１は、フラッシュメモリ６４の容量に応じて、第３所定数を変更してもよい。具体的には、ＣＰＵ６１は、フラッシュメモリ６４の空き容量が大きい程、第３所定数を大きい値としてもよい。これによって、ＣＰＵ６１は、フラッシュメモリ６４の容量が、生成した部分画像によって不足することを抑制できる。又、ＣＰＵ６１は、縫目数に依らず、常に、選択ファイル情報の表示画像データとして部分画像のデータを記憶してもよい。
【００９９】
ＣＰＵ６１は、部分画像を反時計回りに９０度回転させ、選択ファイル情報の表示画像データとして記憶した（Ｓ１５５）。これに対し、ＣＰＵ６１は、回転前の部分画像を、選択ファイル情報の表示画像データとして記憶してもよい。ＣＰＵ６１は、表示画像データに記憶された画像を反時計回りに９０度回転させて表示バッファに記憶してもよい。部分画像の回転方向は、時計回りに９０度としてもよい。又、部分画像の回転条件をユーザが選択できるようにしてもよい。
【０１００】
ＣＰＵ６１は、模様画像の生成が可能な模様データが刺繍データに含まれていないと判断した場合（Ｓ６３：ＮＯ）、第１定型画像のデータを、選択ファイル情報の表示画像データとして記憶し（Ｓ７３）、ディスプレイ１５に表示させた（Ｓ４１）。ＣＰＵ６１は、ステッチデータに基づいて部分画像を生成し（Ｓ１５１、Ｓ１５３）、第１定型画像の代わりに生成した部分画像をディスプレイ１５に表示させた（Ｓ１５９）。これに対し、ＣＰＵ６１は、模様画像の生成が可能な模様データが刺繍データに含まれていないと判断した場合（Ｓ６３：ＮＯ）、ディスプレイ１５に画像を表示させず、生成された部分画像のみ表示させてもよい。この場合、ＣＰＵ６１は、第１所定数よりも大きい所定数分の座標データに基づき、部分画像を生成してもよい。
【０１０１】
ＣＰＵ６１は、第３展開処理において、第１ファイルテーブル６０Ａ（図４参照）のページのうち、対象ページ数によって示されるページ以外のページを１つ選択した。ＣＰＵ６１は、選択したページを新たに対象ページ数として記憶し、Ｓ７（図５参照）、及び、表示処理（図６参照）を実行した。ＣＰＵ６１は、ページの選択方法を以下のようにしてもよい。例えば、ＣＰＵ６１は、対象ページ数により近いページを、新たな対象ページ数として記憶してもよい。又、ＣＰＵ６１は、ディスプレイ１５に表示される頻度の高いページを、新たな対象ページ数として記憶してもよい。
【０１０２】
上記のメイン処理は、ミシン１のＣＰＵ６１によって実行される場合に限らない。例えば、メイン処理は、ミシン１に接続される機器（例えば、ＰＣなど）のＣＰＵによって実行されてもよい。選択画面１５１は、機器が備える表示部に表示されてもよい。
【０１０３】
＜その他＞
針棒上下動機構を駆動するミシンモータ８１は本発明の「縫製部」の一例である。ステッチデータ及び模様データが記憶されるフラッシュメモリ６４は本発明の「第１記憶部」「第２記憶部」の一例である。Ｓ１の処理を行うＣＰＵ６１は本発明の「第１取得手段」「第２取得手段」の一例である。Ｓ４１の処理を行うＣＰＵ６１は本発明の「第１表示手段」「第３表示手段」の一例である。Ｓ１５１、Ｓ１５３の処理を行うＣＰＵ６１は本発明の「第１生成手段」「第２生成手段」「第３生成手段」の一例である。Ｓ１５９の処理を行うＣＰＵ６１は本発明の「第２表示手段」「第４表示手段」の一例である。Ｓ１８１の処理を行うＣＰＵ６１は本発明の「受付手段」の一例である。Ｓ１５５、Ｓ１８９の処理を行うＣＰＵ６１は本発明の「記憶制御手段」の一例である。Ｓ４５の処理を行うＣＰＵ６１は本発明の「第１判断手段」の一例である。Ｓ５３の処理を行うＣＰＵ６１は本発明の「算出手段」の一例である。Ｓ５５の処理を行うＣＰＵ６１は本発明の「第２判断手段」の一例である。Ｓ１１３の処理を行うＣＰＵ６１は本発明の「第３判断手段」の一例である。ステッチデータ及び模様データが記憶されるフラッシュメモリ６４は本発明の「第１記憶部」「第２記憶部」の一例である。Ｓ１の処理は本発明の「第１取得ステップ」の一例である。Ｓ４１の処理は本発明の「第１表示ステップ」の一例である。Ｓ１５１、Ｓ１５３の処理は本発明の「第１生成ステップ」の一例である。Ｓ１５９の処理は本発明の「第２表示ステップ」の一例である。
【符号の説明】
【０１０４】
１        ：ミシン
５２      ：サムネイル画像
５２Ａ    ：フォルダ画像
５２Ｄ    ：第２定型画像
６０      ：ファイルテーブル
６０Ａ    ：第１ファイルテーブル
６０Ｂ    ：第２ファイルテーブル
６１      ：ＣＰＵ
８１      ：ミシンモータ
８３      ：Ｘ軸モータ
８４      ：Ｙ軸モータ
１５１    ：選択画面
５２１Ｂ  ：模様画像
５２１Ｃ  ：第１定型画像
５２２Ｂ  ：ステッチ画像
５２２Ｃ  ：ステッチ画像
６３１    ：ファイルテーブル領域
５２０１  ：部分画像
５２０１Ａ：模様画像
５２１１  ：部分画像
５２１１Ａ：模様画像
５２１２  ：部分画像
５２１２Ａ：模様画像
５２１３  ：部分画像
【図１】
2017029362.tif 000003
【図２】
2017029362.tif 000004
【図４】
2017029362.tif 000005
【図５】
2017029362.tif 000006
【図６】
2017029362.tif 000007
【図７】
2017029362.tif 000008
【図８】
2017029362.tif 000009
【図９】
2017029362.tif 000010
【図１０】
2017029362.tif 000011
【図１１】
2017029362.tif 000012
【図３】
2017029362.tif 000013