(57)【特許請求の範囲】
【請求項１】
互いに異なる複数の圧縮方式から選択されたいずれかの圧縮方式でデータファイルを圧縮するデータ圧縮手段と、
データファイルを前記複数の圧縮方式のそれぞれで圧縮することを前記データ圧縮手段に指示する第１圧縮指示手段と、
前記第１圧縮指示手段の指示により前記データ圧縮手段が生成した複数の圧縮ファイルに基づいて、前記複数の圧縮方式における、ビットパターンの配列に着目して圧縮を行う前記圧縮方式の中で最も圧縮効率が高い前記圧縮方式である第１圧縮方式と、ビットパターンの発生頻度に着目して圧縮を行う前記圧縮方式の中で最も圧縮効率が高い前記圧縮方式である第２圧縮方式とを検出する検出手段と、
前記第１圧縮方式で圧縮された圧縮ファイルをさらに前記第２圧縮方式で圧縮すること、及び、前記第２圧縮方式で圧縮された圧縮ファイルをさらに前記第１圧縮方式で圧縮することを前記データ圧縮手段に指示する第２圧縮指示手段と、
前記第１及び第２圧縮指示手段のそれぞれの指示により前記データ圧縮手段が生成した複数の圧縮ファイルのうち、最も圧縮効率が高い圧縮ファイルを選択する選択手段とを備えていることを特徴とするデータファイル圧縮装置。
【請求項２】
前記複数の圧縮方式における、ビットパターンの配列に着目して圧縮を行う前記圧縮方式が、ＲＬＥ（Run Length Encoding）方式及びＬＺ（Lempel Ziv）方式の少なくともいずれかであり、ビットパターンの発生頻度に着目して圧縮を行う前記圧縮方式が、Ｈｕｆｆｍａｎ方式、Ａｒｉｔｈｍｅｔｉｃ方式及びＲａｎｇｅ  Ｃｏｄｅｒ方式の少なくともいずれかであることを特徴とする請求項１に記載のデータファイル圧縮装置。
【請求項３】
外部から供給されたデータファイルを記憶する記憶手段と、
前記データファイルのヘッダーに、当該データファイルに関して前記選択手段が選択した圧縮ファイルを生成する圧縮手順を示す符号が記録されているか否かを判断する判断手段と、
前記判断手段が前記データファイルのヘッダーに前記符号が記録されていると判断したときに、当該データファイルを当該符号が示す前記圧縮手順で圧縮することを前記データ圧縮手段に指示する第３圧縮指示手段と、
前記判断手段が前記データファイルのヘッダーに前記符号が記録されていないと判断したときに、前記圧縮手順を示す前記符号を、前記記憶手段に記憶された前記データファイルのヘッダーに記録する記録手段と、
前記判断手段が当該データファイルのヘッダーに前記符号が記録されていないと判断したときに、前記選択手段が選択した圧縮ファイルを外部に送信し、前記符号が記録されていると判断したときに、前記第３圧縮指示手段の指示により前記データ圧縮手段が生成した圧縮ファイルを外部に送信する送信手段とをさらに備えていることを特徴とする請求項１又は２に記載のデータファイル圧縮装置。
【請求項４】
互いに異なる複数の圧縮方式から選択されたいずれかの圧縮方式でデータファイルを圧縮するデータ圧縮手段、
データファイルを前記複数の圧縮方式のそれぞれで圧縮することを前記データ圧縮手段に指示する第１圧縮指示手段、
前記第１圧縮指示手段の指示により前記データ圧縮手段が生成した複数の圧縮ファイルに基づいて、前記複数の圧縮方式における、ビットパターンの配列に着目して圧縮を行う前記圧縮方式の中で最も圧縮効率が高い前記圧縮方式である第１圧縮方式と、ビットパターンの発生頻度に着目して圧縮を行う前記圧縮方式の中で最も圧縮効率が高い前記圧縮方式である第２圧縮方式とを検出する検出手段、
前記第１圧縮方式で圧縮された圧縮ファイルをさらに前記第２圧縮方式で圧縮すること、及び、前記第２圧縮方式で圧縮された圧縮ファイルをさらに前記第１圧縮方式で圧縮することを前記データ圧縮手段に指示する第２圧縮指示手段、及び、
前記第１及び第２圧縮指示手段のそれぞれの指示により前記データ圧縮手段が生成した複数の圧縮ファイルのうち、最も圧縮効率が高い圧縮ファイルを選択する選択手段としてコンピュータを機能させることを特徴とするプログラム。
【請求項５】
データファイルを互いに異なる複数の圧縮方式のそれぞれで圧縮する第１圧縮工程と、
前記第１圧縮工程において生成した複数の圧縮ファイルに基づいて、前記複数の圧縮方式における、ビットパターンの配列に着目して圧縮を行う前記圧縮方式の中で最も圧縮効率が高い前記圧縮方式である第１圧縮方式と、ビットパターンの発生頻度に着目して圧縮を行う前記圧縮方式の中で最も圧縮効率が高い前記圧縮方式である第２圧縮方式とを検出する検出工程と、
前記第１圧縮方式で圧縮された圧縮ファイルをさらに前記第２圧縮方式で圧縮すること、及び、前記第２圧縮方式で圧縮された圧縮ファイルをさらに前記第１圧縮方式で圧縮することを前記データ圧縮手段に指示する第２圧縮工程と、
前記第１及び第２圧縮工程のそれぞれにおいて生成した複数の圧縮ファイルのうち、最も圧縮効率が高い圧縮ファイルを選択する選択工程とを備えていることを特徴とするデータファイル圧縮方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データファイルを圧縮するデータファイル圧縮装置、プログラム及びデータファイル圧縮方法に関する。
【背景技術】
【０００２】
データファイルを圧縮するための圧縮方式には様々なものがある。例えば、データファイルのビットパターンの配列に着目して圧縮を行う圧縮方式として、ＲＬＥ（Run Length Encoding）方式、ＬＺ（Lempel Ziv）方式などがあり、データファイルのビットパターンの発生頻度に着目して圧縮を行う前記圧縮方式として、Ｈｕｆｆｍａｎ方式、Ａｒｉｔｈｍｅｔｉｃ方式、Ｒａｎｇｅ  Ｃｏｄｅｒ方式などがある。そして、データファイルの圧縮効率を高くするため、データファイルを全ての圧縮方式で圧縮し、生成された全ての圧縮ファイルを比較して最も圧縮効率が高い圧縮ファイルのみを残す技術が知られている（例えば、特許文献１参照）。この技術によると、結果として、全ての圧縮方式のうち最も圧縮効率が高い圧縮方式でデータファイルを圧縮することができる。
【０００３】
【特許文献１】特開２００３−１８９１１１号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
データファイルの内容によっては、１つの圧縮方式で圧縮された圧縮ファイルを、さらに他の圧縮方式で圧縮する２重圧縮を用いることによって、より圧縮効率が高い圧縮ファイルを得ることができる場合がある。しかしながら、複数の圧縮方式の全てにおいて２重圧縮の全ての圧縮手順を検証しようとすると、圧縮手順の数が膨大になり、データファイルの圧縮に時間がかかりすぎてしまう。
【０００５】
そこで、本発明は、データファイルを高い圧縮効率で素早く圧縮することができるデータファイル圧縮装置、プログラム及びデータファイル圧縮方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のデータファイル圧縮装置は、互いに異なる複数の圧縮方式から選択されたいずれかの圧縮方式でデータファイルを圧縮するデータ圧縮手段と、データファイルを前記複数の圧縮方式のそれぞれで圧縮することを前記データ圧縮手段に指示する第１圧縮指示手段と、前記第１圧縮指示手段の指示により前記データ圧縮手段が生成した複数の圧縮ファイルに基づいて、前記複数の圧縮方式における、ビットパターンの配列に着目して圧縮を行う前記圧縮方式の中で最も圧縮効率が高い前記圧縮方式である第１圧縮方式と、ビットパターンの発生頻度に着目して圧縮を行う前記圧縮方式の中で最も圧縮効率が高い前記圧縮方式である第２圧縮方式とを検出する検出手段と、前記第１圧縮方式で圧縮された圧縮ファイルをさらに前記第２圧縮方式で圧縮すること、及び、前記第２圧縮方式で圧縮された圧縮ファイルをさらに前記第１圧縮方式で圧縮することを前記データ圧縮手段に指示する第２圧縮指示手段とを備えている。さらに、前記第１及び第２圧縮指示手段のそれぞれの指示により前記データ圧縮手段が生成した複数の圧縮ファイルのうち、最も圧縮効率が高い圧縮ファイルを選択する選択手段とを備えている。
【０００７】
本発明のプログラムは、互いに異なる複数の圧縮方式から選択されたいずれかの圧縮方式でデータファイルを圧縮するデータ圧縮手段、データファイルを前記複数の圧縮方式のそれぞれで圧縮することを前記データ圧縮手段に指示する第１圧縮指示手段、前記第１圧縮指示手段の指示により前記データ圧縮手段が生成した複数の圧縮ファイルに基づいて、前記複数の圧縮方式における、ビットパターンの配列に着目して圧縮を行う前記圧縮方式の中で最も圧縮効率が高い前記圧縮方式である第１圧縮方式と、ビットパターンの発生頻度に着目して圧縮を行う前記圧縮方式の中で最も圧縮効率が高い前記圧縮方式である第２圧縮方式とを検出する検出手段、前記第１圧縮方式で圧縮された圧縮ファイルをさらに前記第２圧縮方式で圧縮すること、及び、前記第２圧縮方式で圧縮された圧縮ファイルをさらに前記第１圧縮方式で圧縮することを前記データ圧縮手段に指示する第２圧縮指示手段、及び、前記第１及び第２圧縮指示手段のそれぞれの指示により前記データ圧縮手段が生成した複数の圧縮ファイルのうち、最も圧縮効率が高い圧縮ファイルを選択する選択手段としてコンピュータを機能させる。
【０００８】
本発明のデータファイル圧縮方法は、データファイルを互いに異なる複数の圧縮方式のそれぞれで圧縮する第１圧縮工程と、前記第１圧縮工程において生成した複数の圧縮ファイルに基づいて、前記複数の圧縮方式における、ビットパターンの配列に着目して圧縮を行う前記圧縮方式の中で最も圧縮効率が高い前記圧縮方式である第１圧縮方式と、ビットパターンの発生頻度に着目して圧縮を行う前記圧縮方式の中で最も圧縮効率が高い前記圧縮方式である第２圧縮方式とを検出する検出工程と、前記第１圧縮方式で圧縮された圧縮ファイルをさらに前記第２圧縮方式で圧縮すること、及び、前記第２圧縮方式で圧縮された圧縮ファイルをさらに前記第１圧縮方式で圧縮することを前記データ圧縮手段に指示する第２圧縮工程とを備えている。さらに、前記第１及び第２圧縮工程のそれぞれにおいて生成した複数の圧縮ファイルのうち、最も圧縮効率が高い圧縮ファイルを選択する選択工程とを備えている。
【０００９】
本発明の発明者は、ビットパターンの配列に着目して圧縮を行う圧縮方式と、ビットパターンの発生頻度に着目して圧縮を行う圧縮方式とで２重圧縮を行ったときに、圧縮効率が大きく異なることを知見した。したがって、これら本発明によると、ビットパターンの配列に着目して圧縮を行う圧縮方式の中で最も圧縮効率が高い第１圧縮方式と、ビットパターンの発生頻度に着目して圧縮を行う圧縮方式の中で最も圧縮効率が高い第２圧縮方式とを検出し、これらの間でのみ２重圧縮の圧縮手順を検証することで圧縮効率の高い圧縮手順を効率よく特定することができる。これにより、全ての圧縮方式について２重圧縮の圧縮手順を検証する場合と比較して、圧縮効率の高い圧縮ファイルを素早く生成することができる。
【００１０】
本発明においては、前記複数の圧縮方式における、ビットパターンの配列に着目して圧縮を行う前記圧縮方式が、ＲＬＥ（Run Length Encoding）方式及びＬＺ（Lempel Ziv）方式の少なくともいずれかであり、ビットパターンの発生頻度に着目して圧縮を行う前記圧縮方式が、Ｈｕｆｆｍａｎ方式、Ａｒｉｔｈｍｅｔｉｃ方式及びＲａｎｇｅ  Ｃｏｄｅｒ方式の少なくともいずれかであってもよい。
【００１１】
また、本発明においては、外部から供給されたデータファイルを記憶する記憶手段と、前記データファイルのヘッダーに、当該データファイルに関して前記選択手段が選択した圧縮ファイルを生成する圧縮手順を示す符号が記録されているか否かを判断する判断手段と、前記判断手段が前記データファイルのヘッダーに前記符号が記録されていると判断したときに、当該データファイルを当該符号が示す前記圧縮手順で圧縮することを前記データ圧縮手段に指示する第３圧縮指示手段と、前記判断手段が前記データファイルのヘッダーに前記符号が記録されていないと判断したときに、前記圧縮手順を示す前記符号を、前記記憶手段に記憶された前記データファイルのヘッダーに記録する記録手段と、前記判断手段が当該データファイルのヘッダーに前記符号が記録されていないと判断したときに、前記選択手段が選択した圧縮ファイルを外部に送信し、前記符号が記録されていると判断したときに、前記第３圧縮指示手段の指示により前記データ圧縮手段が生成した圧縮ファイルを外部に送信する送信手段とをさらに備えていることが好ましい。
【００１２】
これによると、データファイルの一連の圧縮処理を１回行えば、圧縮効率が高い圧縮手順を示す符号が当該データファイルのヘッダーに記録されるため、当該データファイルを再び圧縮するときは、当該データファイルに関して圧縮効率が高い圧縮手順を即座に特定することができる。これにより、圧縮効率の高い圧縮ファイルをさらに素早く生成することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の好適な実施の形態について、図面を参照しつつ説明する。
【００１４】
図１は、本発明に係る好適な実施形態であるデータファイル圧縮装置である制御装置の機能ブロック図である。図１に示すように、制御装置１は、ＰＣ（パーソナルコンピュータ）上で起動する制御プログラムによって実現される。また、制御装置１は、インクジェットプリンタ２を制御するものであり、インクジェットプリンタ２とＵＳＢ（Universal Serial Bus）を介して通信可能に接続されている。また、制御装置１は外部から取り込んだ画像データを含む画像ファイル（データファイル）Ｐを圧縮してインクジェットプリンタ２に送信する（データファイル圧縮装置としての機能）とともに、ユーザからの指示に基づいて当該画像ファイルに係る画像が印刷されるように、インクジェットプリンタ２を制御する。なお、以下の説明においては、制御装置１のデータファイル圧縮装置としての機能を中心に説明する。
【００１５】
制御装置１は、画像ファイル記憶部（記憶手段）１１と、符号判断部（判断手段）１２と、第１圧縮指示部（第１圧縮指示手段）１３と、検出部（検出手段）１４と、第２圧縮指示部（第２圧縮指示手段）１５と、第３圧縮指示部（第３圧縮指示手段）１６と、データ圧縮部（データ圧縮手段）１７と、送信ファイル選択部（選択手段）１８と、符号記録部（記録手段）１９と、ＵＳＢコントローラ（送信手段）２０と、画像編集部３０とを有している。画像ファイル記憶部１１は、メモリーカード（図示せず）などを介して外部から供給された画像ファイルＰを記憶するものである。なお、画像ファイルＰは、ファイル情報が記録されたヘッダーと画像データが記録されたデータ本体とを有するものである。符号判断部１２は、画像ファイル記憶部１１に記憶された画像ファイルＰのヘッダーにデータ圧縮部１７による圧縮手順を示す符号が記録されているか否かを判断するものである。この符号については後に詳述する。
【００１６】
図２を参照しつつ、データ圧縮部１７について説明する。図２は、データ圧縮部１７の機能ブロック図である。図２に示すように、データ圧縮部１７は、第１圧縮指示部１３、第２圧縮指示部１５及び第３圧縮指示部１６からの指示によって、ＲＬＥ方式、ＬＺ方式、Ｈｕｆｆｍａｎ方式、Ａｒｉｔｈｍｅｔｉｃ方式及びＲａｎｇｅ  Ｃｏｄｅｒ方式の計５つの圧縮方式から選択されたいずれかの圧縮方式で画像ファイルＰのデータ本体を圧縮するものである。なお、ＲＬＥ方式及びＬＺ方式は、ビットパターンの配列に着目して圧縮を行う圧縮方式（以下、圧縮方式Ｘと称する）に属する圧縮方式であり、Ｈｕｆｆｍａｎ方式、Ａｒｉｔｈｍｅｔｉｃ方式及びＲａｎｇｅ  Ｃｏｄｅｒ方式は、ビットパターンの発生頻度に着目して圧縮を行う圧縮方式（以下、圧縮方式Ｙと称する）に属する圧縮方式である。なお、以下の説明において、ＲＬＥ方式によって圧縮された圧縮ファイルを圧縮ファイルＡ、ＬＺ方式によって圧縮された圧縮ファイルを圧縮ファイルＢ、Ｈｕｆｆｍａｎ方式によって圧縮された圧縮ファイルを圧縮ファイルＣ、Ａｒｉｔｈｍｅｔｉｃ方式によって圧縮された圧縮ファイルを圧縮ファイルＤ、Ｒａｎｇｅ  Ｃｏｄｅｒ方式によって圧縮された圧縮ファイルを圧縮ファイルＥと称する。
【００１７】
図１に戻って、第１圧縮指示部１３は、符号判断部１２が画像ファイルＰのヘッダーに圧縮手順を示す符号が記録されていないと判断したときに、画像ファイルＰのデータ本体を、上記５つの圧縮方式のそれぞれで圧縮することをデータ圧縮部１７に指示するものである。第１圧縮指示部１３の指示により、データ圧縮部１７は、画像ファイルＰのデータ本体を、上記５つの圧縮方式のそれぞれで圧縮して圧縮ファイルＡ〜Ｅを生成する。
【００１８】
検出部１４は、第１圧縮指示部１３の指示によりデータ圧縮部１７が生成した圧縮ファイルＡ及びＢのファイル容量を互いに比較して、上記圧縮方式Ｘに属する圧縮方式の中で最も圧縮効率が高い圧縮方式である第１圧縮方式を検出するとともに、第１圧縮指示部１３の指示によりデータ圧縮部１７が生成した圧縮ファイルＣ〜Ｅのファイル容量を互いに比較して、上記圧縮方式Ｙに属する圧縮方式の中で最も圧縮効率が高い前記圧縮方式である第２圧縮方式を検出するものである。
【００１９】
図３を参照しつつ、第２圧縮指示部１５の機能について説明する。図３は、第２圧縮指示部１５の指示によりデータ圧縮部１７が行う圧縮手順を示したブロック図である。なお、図３においては、圧縮方式Ｘに関してＬＺ方式によって生成される圧縮ファイルＢが最も圧縮効率が高く、圧縮方式Ｙに関してＡｒｉｔｈｍｅｔｉｃ方式によって生成される圧縮ファイルＤが最も圧縮効率が高くなっているものとする。これにより、検出部１４が、第１圧縮方式としてＬＺ方式を検出し、第２圧縮方式としてＡｒｉｔｈｍｅｔｉｃ方式を検出する。図３に示すように、第２圧縮指示部１５は、第１圧縮方式（図３ではＬＺ方式）で圧縮された圧縮ファイル（圧縮ファイルＢ）をさらに第２圧縮方式（図３ではＡｒｉｔｈｍｅｔｉｃ方式）で圧縮すること、及び、第２圧縮方式で圧縮された圧縮ファイル（圧縮ファイルＤ）をさらに第１圧縮方式で圧縮することをデータ圧縮部１７に指示する。第２圧縮指示部１５の指示により、データ圧縮部１７は、第１圧縮方式で圧縮された圧縮ファイルをさらに第２圧縮方式で圧縮して圧縮ファイルＦを生成するとともに、第２圧縮方式で圧縮された圧縮ファイルをさらに第１圧縮方式で圧縮して圧縮ファイルＧを生成する。
【００２０】
第３圧縮指示部１６は、符号判断部１２が画像ファイルＰのヘッダーに圧縮手順を示す符号が記録されていると判断したときに、当該符号が示す圧縮手段あるいは、圧縮手段の組み合わせで画像ファイルＰのデータ本体を圧縮することをデータ圧縮部１７に指示する。第３圧縮指示部１６の指示により、データ圧縮部１７は、画像ファイルＰのデータ本体を当該符号が示す圧縮手順で圧縮して圧縮ファイルを生成する。
【００２１】
送信ファイル選択部１８は、符号判断部１２が画像ファイルＰのヘッダーに圧縮手順を示す符号が記録されてないと判断したときに、第１圧縮指示部１３の指示によりデータ圧縮部１７が生成した圧縮ファイルＡ〜Ｅ、及び、第２圧縮指示部１５の指示によりデータ圧縮部１７が生成した圧縮ファイルＦ、Ｇのファイル容量を互いに比較して、これら圧縮ファイルＡ〜Ｇのうち、最も圧縮効率が高い圧縮ファイルを選択する。符号記録部１９は、符号判断部１２が画像ファイルＰのヘッダーに圧縮手順を示す符号が記録されてないと判断したときに、送信ファイル選択部１８が選択した圧縮ファイルに係る圧縮手順を示す符号を、画像ファイルＰのヘッダーに記録するものである。
【００２２】
ＵＳＢコントローラ２０は、符号判断部１２が画像ファイルＰのヘッダーに圧縮手順を示す符号が記録されてないと判断したときに、送信ファイル選択部１８が選択した圧縮ファイルをインクジェットプリンタ２に送信し、符号判断部１２が画像ファイルＰのヘッダーに圧縮手順を示す符号が記録されていると判断したときに、データ圧縮部１７が、第３圧縮指示部１６により、画像ファイルＰのデータ本体を当該符号が示す圧縮手段で圧縮した圧縮ファイルをインクジェットプリンタ２に送信するものである。
【００２３】
画像編集部３０は、ユーザの操作によって、画像ファイル記憶部１１に記憶された画像ファイルＰのデータ本体の画像データを編集するものである。また、画像編集部３０は、画像ファイルＰのデータ本体に関する編集結果が保存されるとき、画像ファイルＰのヘッダーにある符号が記録される領域をクリアする。
【００２４】
次に、制御装置１の動作について図４を参照しつつ説明する。図４は、制御装置１の動作を示すフローチャートである。図４に示すように、制御装置１は、画像ファイル記憶部１１に画像ファイルＰが記憶された状態で、画像ファイルＰをインクジェットプリンタ２へ送信する旨がユーザから指示されると、ステップＳ１０１（以下、単にＳ１０１と称する。他のステップも同様）に移行し、符号判断部１２が、画像ファイル記憶部１１に記憶された画像ファイルＰのヘッダーにデータ圧縮部１７による圧縮手順を示す符号が記録されているか否かを判断する。そして、符号判断部１２が画像ファイルＰのヘッダーに圧縮手順を示す符号が記録されていないと判断すると（Ｓ１０１：ＮＯ）、Ｓ１０２に移行し、第１圧縮指示部１３が、画像ファイルＰのデータ本体を、上記５つの圧縮方式のそれぞれで圧縮することをデータ圧縮部１７に指示する。データ圧縮部１７は、第１圧縮指示部１３の指示により、画像ファイルＰのデータ本体を、上記５つの圧縮方式のそれぞれで圧縮して圧縮ファイルＡ〜Ｅを生成する。
【００２５】
その後、Ｓ１０３に移行し、検出部１４が、圧縮ファイルＡ及びＢのファイル容量を互いに比較して圧縮方式Ｘに属する圧縮方式の中で最も圧縮効率が高い圧縮方式である第１圧縮方式を検出するとともに、圧縮ファイルＣ〜Ｅのファイル容量を互いに比較して圧縮方式Ｙに属する圧縮方式の中で最も圧縮効率が高い前記圧縮方式である第２圧縮方式を検出する。
【００２６】
その後、Ｓ１０４に移行し、第２圧縮指示部１５が、第１圧縮方式で圧縮された圧縮ファイルをさらに第２圧縮方式で圧縮すること、及び、第２圧縮方式で圧縮された圧縮ファイルをさらに第１圧縮方式で圧縮することをデータ圧縮部１７に指示する。データ圧縮部１７は、第２圧縮指示部１５の指示により、第１圧縮方式で圧縮された圧縮ファイルをさらに第２圧縮方式で圧縮して圧縮ファイルＦを生成する。また、Ｓ１０５に移行して、データ圧縮部１７は、第２圧縮指示部１５の指示により、第２圧縮方式で圧縮された圧縮ファイルをさらに第１圧縮方式で圧縮して圧縮ファイルＧを生成する。
【００２７】
その後、Ｓ１０６に移行して、送信ファイル選択部１８が、圧縮ファイルＡ〜Ｇのファイル容量を互いに比較して、これら圧縮ファイルＡ〜Ｇのうち、最も圧縮効率が高い圧縮ファイルを選択する。その後、Ｓ１０７に移行して、符号記録部１９が、送信ファイル選択部１８が選択した圧縮ファイルに係る圧縮手順を示す符号を、画像ファイルＰのヘッダーに記録する。そして、Ｓ１０８に移行して、ＵＳＢコントローラ２０が、送信ファイル選択部１８が選択した圧縮ファイルをインクジェットプリンタ２に送信する。そして、図４のフローチャートを終了する。
【００２８】
一方、Ｓ１０１において、符号判断部１２が画像ファイルＰのヘッダーに圧縮手順を示す符号が記録されていると判断すると（Ｓ１０１：ＹＥＳ）、Ｓ１０９に移行し、第３圧縮指示部１６が、当該符号が示す圧縮手段で画像ファイルＰのデータ本体を圧縮することをデータ圧縮部１７に指示する。データ圧縮部１７は、第３圧縮指示部１６の指示により、画像ファイルＰのデータ本体を当該符号が示す圧縮手段で圧縮して圧縮ファイルを生成する。そして、Ｓ１１０に移行し、ＵＳＢコントローラ２０が、第３圧縮指示部１６の指示によりデータ圧縮部１７が圧縮した圧縮ファイルをインクジェットプリンタ２に送信する。そして、図４のフローチャートを終了する。
【００２９】
インクジェットプリンタ２においては、制御装置１から送信された圧縮ファイルを受信すると、受信した圧縮ファイルを展開して画像ファイルＰを生成し、ユーザからの指示に基づいて、当該画像ファイルＰに係る画像を印刷用紙に印刷する。
【００３０】
次に、画像編集部３０の動作について図５を参照しつつ説明する。図５は、画像編集部３０の動作を示すフローチャートである。図５に示すように、画像編集部３０は、画像ファイル記憶部１１に画像ファイルＰが記憶された状態で、画像ファイルＰのデータ本体に係る画像編集を開始する旨がユーザから指示されると、Ｓ２０１に移行し、画像ファイルＰに係る画像データをメモリ上の作業エリアに展開する。そして、Ｓ２０２に移行し、編集モードを起動する。編集モードにおいては、ユーザが図示しないマウスやキーボードを用いて任意に画像データを編集することが可能となっている。
【００３１】
そして、Ｓ２０３に移行し、ユーザが編集モードを終了させたか否かを判断する。ユーザが編集モードを終了させていないときは（Ｓ２０３：ＮＯ）、Ｓ２０２に移行して編集モードを継続する。ユーザが編集モードを終了させたときは（Ｓ２０３：ＹＥＳ）、Ｓ２０４に移行して画像データが編集されたか否かを判断する。画像データが編集されていないときは（Ｓ２０４：ＮＯ）、Ｓ２０５に移行し、作業エリアに展開した画像データを破棄する。そして、図５のフローチャートを終了する。
【００３２】
画像データが編集されていれば（Ｓ２０４：ＹＥＳ）、Ｓ２０６に移行し、編集された画像データを保存するか否かを判断する。編集された画像データを保存しないときは（Ｓ２０６：ＮＯ）、Ｓ２０５に移行し、作業エリアに展開した画像データを破棄する。そして、図５のフローチャートを終了する。編集された画像データを保存するときは（Ｓ２０６：ＹＥＳ）、Ｓ２０７に移行し、画像データを画像ファイル記憶部１１に記憶される新たな画像ファイルＰとして保存するとともに、当該画像ファイルＰのヘッダーの圧縮手順が記録されるべき領域をクリアする。そして、図５のフローチャートを終了する。
【００３３】
以上、説明した本実施形態によると、ビットパターンの配列に着目して圧縮を行う圧縮方式Ｘと、ビットパターンの発生頻度に着目して圧縮を行う圧縮方式Ｙとで２重圧縮を行ったときに、圧縮効率が大きく異なるため、圧縮方式Ｘの中で最も圧縮効率が高い第１圧縮方式と、圧縮方式Ｙの中で最も圧縮効率が高い第２圧縮方式とを検出し、これらの間でのみ２重圧縮の圧縮手順を検証することで圧縮効率の高い圧縮手順を効率よく特定することができる。これにより、５つ全ての圧縮方式について２重圧縮の圧縮手順を検証する場合と比較して、圧縮効率の高い圧縮ファイルを素早く生成することができる。
【００３４】
また、本発明においては、画像ファイルＰの一連の圧縮処理を１回行えば、圧縮効率が高い圧縮手順を示す符号が当該画像ファイルＰのヘッダーに記録されるため、当該画像ファイルＰを再び圧縮するときは、圧縮効率が高い圧縮手順を即座に特定することができる。これにより、圧縮効率の高い圧縮ファイルをさらに素早く生成することができる。
【００３５】
以上、本発明の好適な実施形態について説明したが、本発明は上述の実施形態に限られるものではなく、特許請求の範囲に記載した限りにおいて様々な変更が可能なものである。例えば、上述した実施形態においては、データ圧縮部１７が、ＲＬＥ方式、ＬＺ方式、Ｈｕｆｆｍａｎ方式、Ａｒｉｔｈｍｅｔｉｃ方式及びＲａｎｇｅ  Ｃｏｄｅｒ方式の計５つの圧縮方式から選択されたいずれかの圧縮方式で画像ファイルＰのデータ本体を圧縮する構成であるが、データ圧縮部が、２〜４又は６以上の圧縮方式から選択されたいずれかの圧縮方式で画像ファイルＰのデータ本体を圧縮する構成であってもよいし、これら５つの圧縮方式以外の圧縮方式で画像ファイルＰのデータ本体を圧縮する構成であってもよい。また、データ圧縮部は、圧縮方式Ｘ、Ｙのそれぞれについて少なくとも１つの圧縮方式が含まれていれば、圧縮方式Ｘ、Ｙのいずれにも属さない他の圧縮方式で画像ファイルＰのデータ本体を圧縮可能な構成であってもよい。この場合、データ圧縮部は、第１圧縮指示部の指示により、画像ファイルＰのデータ本体を当該他の圧縮方式で圧縮して圧縮ファイルを生成し、送信ファイル選択部が、当該圧縮ファイルを含めて最も圧縮効率が高い圧縮ファイルを選択する構成であることが好ましい。
【００３６】
また、上述した実施形態においては、制御装置１が、送信ファイル選択部１８が選択した圧縮ファイルに係る圧縮手順を示す符号を、画像ファイルＰのヘッダーに記録する符号記録部１９を有する構成であるが、符号記録部１９を有さない構成であってもよい。
【００３７】
さらに、上述した実施形態においては、制御装置１がＵＳＢコントローラ２０を介して圧縮ファイルをインクジェットプリンタ２に送信する構成であるが、インクジェットプリンタ２以外の装置に圧縮ファイルを送信する構成であってもよいし、ＵＳＢ以外の通信手段によって圧縮ファイルを送信する構成であってもよいし、圧縮ファイルを送信しない構成であってもよい。
【００３８】
加えて、上述した実施形態においては、制御装置１が、ＰＣ上で起動するプログラムによって実現される構成であるが、ＰＣ以外のコンピュータ上で起動するプログラムによって実現される構成であってもよい。
【００３９】
さらに、上述した実施形態においては、画像データを含む画像ファイルＰのデータ本体を圧縮する構成であるが、動画データや音声データなど他のデータを含む任意のフォーマットのデータファイルであってもよいし、データファイルが予め圧縮された圧縮ファイルであってもよい。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施形態に係る制御装置の機能ブロック図である。
【図２】図１に示すデータ圧縮部の機能ブロック図である。
【図３】図１に示す第２圧縮指示部の指示によりデータ圧縮部が行う圧縮手順を示したブロック図である。
【図４】図１に示す制御装置の動作を示すフローチャートである。
【図５】図１に示す画像編集部の動作を示すフローチャートである。
【符号の説明】
【００４１】
１     制御装置（データファイル圧縮装置）
２     インクジェットプリンタ
１１   画像ファイル記憶部（記憶手段）
１２   符号判断部（判断手段）
１３   第１圧縮指示部（第１圧縮指示手段）
１４   検出部（検出手段）
１５   第２圧縮指示部（第２圧縮指示手段）
１６   第３圧縮指示部（第３圧縮指示手段）
１７   データ圧縮部（データ圧縮手段）
１８   送信ファイル選択部（選択手段）
１９   符号記録部（記録手段）
２０   ＵＳＢコントローラ（送信手段）
３０   画像編集部
Ｐ     画像ファイル（データファイル）
【図１】
0004640382.tif 000002
【図２】
0004640382.tif 000003
【図３】
0004640382.tif 000004
【図４】
0004640382.tif 000005
【図５】
0004640382.tif 000006