(57)【特許請求の範囲】
【請求項１】
元画像を所定の倍率で解像度変換を行い拡大または縮小した出力画像を得る画像処理装置において、
前記元画像を構成する画素の濃度値を元画像の横方向のライン順に記憶するライン記憶手段と、
元画像を構成する横方向の画素数に応じて前記ライン記憶手段に記憶することができるライン数を算出するライン数算出手段と、
そのライン数算出手段により算出されたライン数に応じた解像度変換方法により出力画像の画素の濃度値を算出する画素濃度値算出手段とを備えていることを特徴とする画像処理装置。
【請求項２】
前記元画像は、JＰＥＧ形式により記憶されていることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記画素濃度値算出手段により算出された画素の濃度値に基づいてライン毎に記録媒体に印刷を行う印刷手段を備えていることを特徴とする請求項１または２記載の画像処理装置。
【請求項４】
前記画素濃度値算出手段は、前記ライン数算出手段により算出されたライン数が１である場合には、最近傍法により出力画像の画素の濃度値を算出することを特徴とする請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
平均画素法における平均を行う対象とする元画像の画素数である参照数を取得する参照数取得手段と、
前記倍率を取得する倍率取得手段とを備え、
前記画素濃度値算出手段は、前記倍率取得手段により取得された倍率が１より小さい縮小変換を行う場合は、前記ライン数算出手段により算出されたライン数と、前記参照数取得手段により取得された参照数とに応じた解像度変換方法により出力画像の画素の濃度値を算出することを特徴とする請求項１から４のいずれかに記載の画像処理装置。
【請求項６】
前記画素濃度値算出手段は、前記ライン数算出手段により算出されたライン数が、前記参照数取得手段により取得された参照数と等しいかまたは大きい場合に平均画素法により出力画像の画素の濃度値を算出することを特徴とする請求項５記載の画像処理装置。
【請求項７】
前記画素濃度値算出手段は、横方向については、平均画素法により出力画像の画素の濃度値を算出し、縦方向については、前記ライン数算出手段により算出されたライン数と、前記参照数取得手段により取得された参照数とに応じた解像度変換方法により出力画像の画素の濃度値を算出することを特徴とする請求項５記載の画像処理装置。
【請求項８】
前記倍率を取得する倍率取得手段を備え、
前記画素濃度値算出手段は、前記倍率取得手段により取得された倍率が１より大きい拡大変換を行う場合は、横方向については、バイキュービック法により出力画像の画素の濃度値を算出し、縦方向については、前記ライン数算出手段により算出されたライン数に応じた解像度変換方法により出力画像の画素の濃度値を算出することを特徴とする請求項１から４のいずれかに記載の画像処理装置。
【請求項９】
元画像を所定の倍率で解像度変換を行い拡大または縮小した出力画像を得る画像処理装置により実行される画像処理プログラムにおいて、
元画像を構成する横方向の画素数に応じて、元画像を構成する画素の濃度値を元画像の横方向のライン順に記憶するライン記憶手段に記憶することができるライン数を算出するライン数算出ステップと、
そのライン数算出ステップにより算出されたライン数に応じた解像度変換方法により出力画像の画素の濃度値を算出する画素濃度値算出ステップとを備えていることを特徴とする画像処理プログラム。
【請求項１０】
前記元画像は、JＰＥＧ形式により記憶されていることを特徴とする請求項９記載の画像処理プログラム。
【請求項１１】
前記画像処理装置は、前記画素濃度値算出ステップにより算出された画素の濃度値に基づいてライン毎に記録媒体に印刷を行う印刷手段を備えていることを特徴とする請求項９または１０記載の画像処理プログラム。
【請求項１２】
前記画素濃度値算出ステップは、前記ライン数算出ステップにより算出されたライン数が１である場合には、最近傍法により出力画像の画素の濃度値を算出することを特徴とする請求項９から１１のいずれかに記載の画像処理プログラム。
【請求項１３】
平均画素法における平均を行う対象とする元画像の画素数である参照数を取得する参照数取得ステップと、
前記倍率を取得する倍率取得ステップとを備え、
前記画素濃度値算出ステップは、前記倍率取得ステップにより取得された倍率が１より小さい縮小変換を行う場合は、前記ライン数算出ステップにより算出されたライン数と、前記参照数取得ステップにより取得された参照数とに応じた解像度変換方法により出力画像の画素の濃度値を算出することを特徴とする請求項９から１２のいずれかに記載の画像処理プログラム。
【請求項１４】
前記画素濃度値算出ステップは、前記ライン数算出ステップにより算出されたライン数が、前記参照数取得ステップにより取得された参照数と等しいかまたは大きい場合に平均画素法により出力画像の画素の濃度値を算出することを特徴とする請求項１３記載の画像処理プログラム。
【請求項１５】
前記画素濃度値算出ステップは、横方向については、平均画素法により出力画像の画素の濃度値を算出し、縦方向については、前記ライン数算出ステップにより算出されたライン数と、前記参照数取得ステップにより取得された参照数とに応じた解像度変換方法により出力画像の画素の濃度値を算出することを特徴とする請求項１３記載の画像処理プログラム。
【請求項１６】
前記倍率を取得する倍率取得ステップを備え、
前記画素濃度値算出ステップは、前記倍率取得ステップにより取得された倍率が１より大きい拡大変換を行う場合は、横方向については、バイキュービック法により出力画像の画素の濃度値を算出し、縦方向については、前記ライン数算出ステップにより算出されたライン数に応じた解像度変換方法により出力画像の画素の濃度値を算出することを特徴とする請求項９から１２のいずれかに記載の画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理プログラムに関し、特に元画像を記憶するバッファの記憶容量に応じて適切に画像を縮小または拡大することができる画像処理装置および画像処理プログラムに関する。
【背景技術】
【０００２】
従来より、元画像とは異なるサイズの新たな画像を得るために、新たな画像を構成するピクセルの値を算出する方法としてニアレストネイバー法（最近傍法）、バイリニア法（線形補間法）、バイキュービック法（３次補間法）、平均画素法などが知られている。
【０００３】
ニアレストネイバー法(nearest neighbor)は、変更後の画像のある画素に対応する元画像の画素の座標は、整数値を取らず実数値を取る。よって最近傍の画素を選択し、この濃度値を変更後の画像の対応画素とする方法である。この方法により変更を行うと、画像のエッジにシャギー（ギザギザ）が発生する場合があるが、演算が高速で行えるという利点がある。
【０００４】
また、バイリニア法（bi-linear  interpolation）は、周囲の４つの画素の濃度値から、その座標（実数値）に応じて線形の濃度補間を行うことにより、変更後の画素の濃度値を算出する方法である。
【０００５】
また、バイキュービック法（bi-cubic  convolution）は、バイリニア法よりも高精度で補間を行うために、周囲の１６個の画素の濃度値から、３次関数を用いて補間するものでである。（例えば、特開２００４−１０２９０４号公報（特許文献１）参照）
また、平均画素法は、縮小画像を得る場合における元画像の占める面積を考慮して画素値を平均することによって縮小を行う縮小専用のアルゴリズムである。多くの場合、この平均画素法を用いて得た縮小画像の方が、他のアルゴリズムを用いて得た縮小画像に比べて高画質である。
【０００６】
平均画素法を行う１つの手法としては、元画像の画像サイズを、一旦、縮小画像の画像サイズとの最小公倍数のサイズに拡大してから、画素値の平均値を得るという手法がある（例えば、特開２００３−２５６８２７号公報（特許文献２）参照）。
【０００７】
これらの方法は、求める画像の画質や、処理速度などに応じて使い分けられる。
【特許文献１】特開２００４−１０２９０４号公報
【特許文献２】特開２００３−２５６８２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、画像処理装置において、画像情報を処理する場合、元画像の情報をメモリに記憶して処理を行う必要がある。その場合に、一つの画像の全て、あるいは１ページ全ての画像情報を記憶すると、メモリの記憶容量を大きくする必要があり、画像処理装置が高価になるという問題点があった。
【０００９】
図６は、従来の技術である印刷処理を示すフローチャートである。図６に示すように、まず、バッファに印刷を行う元画像の１ページ分の画像データを全て読み込む（Ｓ４１）。ここで、読み込まれた画像データは、各ピクセルがＲＧＢ（Red  Green  Blue）の３つの濃度値により構成されたものである。例えば、デジタルカメラにより撮影された画像データは、ＪＰＥＧ形式により圧縮してメモリに記憶されているが、この圧縮された画像データをライン毎（横方向）に復調し、ビットマップ形式に復調してこのバッファに記憶される。
【００１０】
次に、バッファに記憶された画像データに基づいて、拡大または縮小するための解像度変換処理を行う（Ｓ２）。この解像度を変換する方法は、画像縮小する場合は、平均画素法が用いられ、画像を拡大する場合には、バイクービック法などが用いられる。
【００１１】
この解像度変換処理により、新たな各ピクセルにおけるＲＧＢ値が求められる。次に、このＲＧＢ値を、印刷を行うための例えば、ＣＭＹＫ値（Cyan  Magenta  Yellow  Black）の各値に変換する色変換処理を行い（Ｓ４３）、次にハーフトーン処理などを行って印刷部に出力する（Ｓ４４）。
【００１２】
このように、従来の方法では、バッファとして大容量の記憶を必要とするとともに、画像処理装置が所定の記録媒体に印刷を行う印刷装置である場合には、全ての画像について処理を行ってから印刷を行うことになり、印刷を行うために要する総印刷時間が長くなるという欠点もあった。
【００１３】
本発明は、上記問題点を解決するためになされたものであり、元画像を記憶するバッファの記憶容量に応じて適切に画像を縮小または拡大することができる画像処理装置および画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１４】
この目的を達成するために、本発明の請求項１記載の画像処理装置は、元画像を所定の倍率で解像度変換を行い拡大または縮小した出力画像を得るものであり、前記元画像を構成する画素の濃度値を元画像の横方向のライン順に記憶するライン記憶手段と、元画像を構成する横方向の画素数に応じて前記ライン記憶手段に記憶することができるライン数を算出するライン数算出手段と、そのライン数算出手段により算出されたライン数に応じた解像度変換方法により出力画像の画素の濃度値を算出する画素濃度値算出手段とを備えている。
【００１５】
請求項２記載の画像処理装置は、請求項１記載の画像処理装置において、前記元画像は、JＰＥＧ形式により記憶されている。
【００１６】
請求項３記載の画像処理装置は、請求項１または２記載の画像処理装置において、前記画素濃度値算出手段により算出された画素の濃度値に基づいてライン毎に記録媒体に印刷を行う印刷手段を備えている。
【００１７】
請求項４記載の画像処理装置は、請求項１から３のいずれかに記載の画像処理装置において、前記画素濃度値算出手段は、前記ライン数算出手段により算出されたライン数が１である場合には、最近傍法により出力画像の画素の濃度値を算出する。
【００１８】
請求項５記載の画像処理装置は、請求項１から４のいずれかに記載の画像処理装置において、平均画素法における平均を行う対象とする元画像の画素数である参照数を取得する参照数取得手段と、前記倍率を取得する倍率取得手段とを備え、前記画素濃度値算出手段は、前記倍率取得手段により取得された倍率が１より小さい縮小変換を行う場合は、前記ライン数算出手段により算出されたライン数と、前記参照数取得手段により取得された参照数とに応じた解像度変換方法により出力画像の画素の濃度値を算出する。
【００１９】
請求項６記載の画像処理装置は、請求項５記載の画像処理装置において、前記画素濃度値算出手段は、前記ライン数算出手段により算出されたライン数が、前記参照数取得手段により取得された参照数と等しいかまたは大きい場合に平均画素法により出力画像の画素の濃度値を算出する。
【００２０】
請求項７記載の画像処理装置は、請求項５記載の画像処理装置において、前記画素濃度値算出手段は、横方向については、平均画素法により出力画像の画素の濃度値を算出し、縦方向については、前記ライン数算出手段により算出されたライン数と、前記参照数取得手段により取得された参照数とに応じた解像度変換方法により出力画像の画素の濃度値を算出する。
【００２１】
請求項８記載の画像処理装置は、請求項１から４のいずれかに記載の画像処理装置において、前記倍率を取得する倍率取得手段を備え、前記画素濃度値算出手段は、前記倍率取得手段により取得された倍率が１より大きい拡大変換を行う場合は、横方向については、バイキュービック法により出力画像の画素の濃度値を算出し、縦方向については、前記ライン数算出手段により算出されたライン数に応じた解像度変換方法により出力画像の画素の濃度値を算出する。
【００２２】
請求項９記載の画像処理プログラムは、元画像を所定の倍率で解像度変換を行い拡大または縮小した出力画像を得る画像処理装置により実行されるものであり、元画像を構成する横方向の画素数に応じて、元画像を構成する画素の濃度値を元画像の横方向のライン順に記憶するライン記憶手段に記憶することができるライン数を算出するライン数算出ステップと、そのライン数算出ステップにより算出されたライン数に応じた解像度変換方法により出力画像の画素の濃度値を算出する画素濃度値算出ステップとを備えている。
【００２３】
請求項１０記載の画像処理プログラムは、請求項９記載の画像処理プログラムにおいて、前記元画像は、JＰＥＧ形式により記憶されている。
【００２４】
請求項１１記載の画像処理プログラムは、請求項９または１０記載の画像処理プログラムにおいて、前記画像処理装置は、前記画素濃度値算出ステップにより算出された画素の濃度値に基づいてライン毎に記録媒体に印刷を行う印刷手段を備えている。
【００２５】
請求項１２記載の画像処理プログラムは、請求項９から１１のいずれかに記載の画像処理プログラムにおいて、前記画素濃度値算出ステップは、前記ライン数算出ステップにより算出されたライン数が１である場合には、最近傍法により出力画像の画素の濃度値を算出する。
【００２６】
請求項１３記載の画像処理プログラムは、請求項９から１２のいずれかに記載の画像処理プログラムにおいて、平均画素法における平均を行う対象とする元画像の画素数である参照数を取得する参照数取得ステップと、前記倍率を取得する倍率取得ステップとを備え、前記画素濃度値算出ステップは、前記倍率取得ステップにより取得された倍率が１より小さい縮小変換を行う場合は、前記ライン数算出ステップにより算出されたライン数と、前記参照数取得ステップにより取得された参照数とに応じた解像度変換方法により出力画像の画素の濃度値を算出する。
【００２７】
請求項１４記載の画像処理プログラムは、請求項１３記載の画像処理プログラムにおいて、前記画素濃度値算出ステップは、前記ライン数算出ステップにより算出されたライン数が、前記参照数取得ステップにより取得された参照数と等しいかまたは大きい場合に平均画素法により出力画像の画素の濃度値を算出する。
【００２８】
請求項１５記載の画像処理プログラムは、請求項１３記載の画像処理プログラムにおいて、前記画素濃度値算出ステップは、横方向については、平均画素法により出力画像の画素の濃度値を算出し、縦方向については、前記ライン数算出ステップにより算出されたライン数と、前記参照数取得ステップにより取得された参照数とに応じた解像度変換方法により出力画像の画素の濃度値を算出する。
【００２９】
請求項１６記載の画像処理プログラムは、請求項９から１２のいずれかに記載の画像処理プログラムにおいて、前記倍率を取得する倍率取得ステップを備え、前記画素濃度値算出ステップは、前記倍率取得ステップにより取得された倍率が１より大きい拡大変換を行う場合は、横方向については、バイキュービック法により出力画像の画素の濃度値を算出し、縦方向については、前記ライン数算出ステップにより算出されたライン数に応じた解像度変換方法により出力画像の画素の濃度値を算出する。
【発明の効果】
【００３０】
請求項１記載の画像処理装置によれば、元画像を構成する画素の濃度値を元画像の横方向のライン順に記憶するライン記憶手段と、元画像を構成する横方向の画素数に応じてライン記憶手段に記憶することができるライン数を算出するライン数算出手段と、そのライン数算出手段により算出されたライン数に応じた解像度変換方法により出力画像の画素の濃度値を算出する画素濃度値算出手段とを備えているので、元画像を記憶する記憶手段の記憶容量を大きくすることなく高画質の出力画像を得ることができるという効果がある。
【００３１】
請求項２記載の画像処理装置によれば、請求項１記載の画像処理装置の奏する効果に加え、元画像は、JＰＥＧ形式により記憶されているので、元画像をライン順に復号してビットマップ形式により画素の濃度を演算し、解像度を変換することができるという効果がある。
【００３２】
請求項３記載の画像処理装置によれば、請求項１または２記載の画像処理装置の奏する効果に加え、画素濃度値算出手段により算出された画素の濃度値に基づいてライン毎に記録媒体に印刷を行う印刷手段を備えているので、印刷装置などの元画像を記憶する記憶手段の記憶容量を小さくすることができる。したがって、印刷装置を安価に提供することができるという効果がある。また、元画像をライン順に解像度の変換処理を行い、順次印刷を行うので、元画像を全て記憶し、解像度の変換を行って印刷を行う場合に比べ、印刷に要する総時間を短縮することができる。
【００３３】
請求項４記載の画像処理装置によれば、請求項１から３のいずれかに記載の画像処理装置の奏する効果に加え、画素濃度値算出手段は、ライン数算出手段により算出されたライン数が１である場合には、最近傍法により出力画像の画素の濃度値を算出するので、元画像を記憶する記憶手段の記憶容量が１ラインである場合でも、適切に解像度を変換することができるという効果がある。
【００３４】
請求項５記載の画像処理装置によれば、請求項１から４のいずれかに記載の画像処理装置の奏する効果に加え、平均画素法における平均を行う対象とする元画像の画素数である参照数を取得する参照数取得手段と、倍率を取得する倍率取得手段とを備え、画素濃度値算出手段は、倍率取得手段により取得された倍率が１より小さい縮小変換を行う場合は、ライン数算出手段により算出されたライン数と、参照数取得手段により取得された参照数とに応じた解像度変換方法により出力画像の画素の濃度値を算出するので、元画像を記憶する記憶手段の記憶容量に応じ、元画像を高画質な出力画像に縮小変換することができるという効果がある。
【００３５】
請求項６記載の画像処理装置によれば、請求項５記載の画像処理装置の奏する効果に加え、画素濃度値算出手段は、ライン数算出手段により算出されたライン数が、参照数取得手段により取得された参照数と等しいかまたは大きい場合に平均画素法により出力画像の画素の濃度値を算出するので、元画像を高画質な出力画像に縮小することができるという効果がある。
【００３６】
請求項７記載の画像処理装置によれば、請求項５記載の画像処理装置の奏する効果に加え、画素濃度値算出手段は、横方向については、平均画素法により出力画像の画素の濃度値を算出し、縦方向については、ライン数算出手段により算出されたライン数と、参照数取得手段により取得された参照数とに応じた解像度変換方法により出力画像の画素の濃度値を算出するので、元画像をより高画質な出力画像に縮小変換することができるという効果がある。
【００３７】
請求項８記載の画像処理装置によれば、請求項１から４のいずれかに記載の画像処理装置の奏する効果に加え、倍率を取得する倍率取得手段を備え、画素濃度値算出手段は、倍率取得手段により取得された倍率が１より大きい拡大変換を行う場合は、横方向については、バイキュービック法により出力画像の画素の濃度値を算出し、縦方向については、ライン数算出手段により算出されたライン数に応じた解像度変換方法により出力画像の画素の濃度値を算出するので、元画像を高画質な出力画像に拡大変換することができるという効果がある。。
【００３８】
請求項９記載の画像処理プログラムによれば、元画像を構成する横方向の画素数に応じて、元画像を構成する画素の濃度値を元画像の横方向のライン順に記憶するライン記憶手段に記憶することができるライン数を算出するライン数算出ステップと、そのライン数算出ステップにより算出されたライン数に応じた解像度変換方法により出力画像の画素の濃度値を算出する画素濃度値算出ステップとを備えているので、元画像を記憶する記憶手段の記憶容量を大きくすることなく高画質の出力画像を得ることができるという効果がある。
【００３９】
請求項１０記載の画像処理プログラムによれば、請求項９記載の画像処理プログラムの奏する効果に加え、元画像は、JＰＥＧ形式により記憶されているので、元画像をライン順に復号してビットマップ形式により画素の濃度を演算し、解像度を変換することができるという効果がある。
【００４０】
請求項１１記載の画像処理プログラムによれば、請求項９または１０記載の画像処理プログラムの奏する効果に加え、画像処理装置は、画素濃度値算出ステップにより算出された画素の濃度値に基づいてライン毎に記録媒体に印刷を行う印刷手段を備えているので、印刷装置などの元画像を記憶する記憶手段の記憶容量を小さくすることができる。したがって、印刷装置を安価に提供することができるという効果がある。また、元画像をライン順に解像度の変換処理を行い、順次印刷を行うので、元画像を全て記憶し、解像度の変換を行って印刷を行う場合に比べ、印刷に要する総時間を短縮することができる。
【００４１】
請求項１２記載の画像処理プログラムによれば、請求項９から１１のいずれかに記載の画像処理プログラムの奏する効果に加え、画素濃度値算出ステップは、ライン数算出ステップにより算出されたライン数が１である場合には、最近傍法により出力画像の画素の濃度値を算出するので、元画像を記憶する記憶手段の記憶容量が１ラインである場合でも、適切に解像度を変換することができるという効果がある。
【００４２】
請求項１３記載の画像処理プログラムによれば、請求項９から１２のいずれかに記載の画像処理プログラムの奏する効果に加え、平均画素法における平均を行う対象とする元画像の画素数である参照数を取得する参照数取得ステップと、倍率を取得する倍率取得ステップとを備え、画素濃度値算出ステップは、倍率取得ステップにより取得された倍率が１より小さい縮小変換を行う場合は、ライン数算出ステップにより算出されたライン数と、参照数取得ステップにより取得された参照数とに応じた解像度変換方法により出力画像の画素の濃度値を算出するので、元画像を記憶する記憶手段の記憶容量に応じ、元画像を高画質な出力画像に縮小変換することができるという効果がある。
【００４３】
請求項１４記載の画像処理プログラムによれば、請求項１３記載の画像処理プログラムの奏する効果に加え、画素濃度値算出ステップは、ライン数算出ステップにより算出されたライン数が、参照数取得ステップにより取得された参照数と等しいかまたは大きい場合に平均画素法により出力画像の画素の濃度値を算出するので、元画像を高画質な出力画像に縮小変換することができるという効果がある。
【００４４】
請求項１５記載の画像処理プログラムによれば、請求項１３記載の画像処理プログラムの奏する効果に加え、画素濃度値算出ステップは、横方向については、平均画素法により出力画像の画素の濃度値を算出し、縦方向については、ライン数算出ステップにより算出されたライン数と、参照数取得ステップにより取得された参照数とに応じた解像度変換方法により出力画像の画素の濃度値を算出するので、元画像をより高画質な出力画像に縮小変換することができるという効果がある。
【００４５】
請求項１６記載の画像処理プログラムによれば、請求項９から１２のいずれかに記載の画像処理プログラムの奏する効果に加え、倍率を取得する倍率取得ステップを備え、画素濃度値算出ステップは、倍率取得ステップにより取得された倍率が１より大きい拡大変換を行う場合は、横方向については、バイキュービック法により出力画像の画素の濃度値を算出し、縦方向については、ライン数算出ステップにより算出されたライン数に応じた解像度変換方法により出力画像の画素の濃度値を算出するので、元画像を高画質な出力画像に拡大変換することができるという効果がある。
【発明を実施するための最良の形態】
【００４６】
以下、本発明の好ましい実施例について、添付図面を参照して説明する。図１は、本発明の一実施形態におけるプリンタ１の電気的な構成を示したブロック図である。このプリンタ１は、パーソナルコンピュータ（以下「ＰＣ」と称する）２や、デジタルカメラ２１や、外部メディア２０から入力された画像データを所定の倍率で縮小または拡大して出力することができるように構成されている。
【００４７】
プリンタ１は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、印刷ヘッドなどから構成され、印刷媒体（例えば、紙媒体など）への印刷（出力）を行う印刷部１５と、出力画像サイズなどの入力値をユーザが入力可能なユーザ操作部（例えば、テンキーなど）を有する操作パネル１６とを備えている。
【００４８】
また、プリンタ１は、ケーブル５を介してＰＣ２と接続可能なインターフェイス（以下「Ｉ／Ｆ」と称する）１７と、ケーブル６を介してデジタルカメラ２１と接続可能なＩ／Ｆ１８と、外部メディア２０（例えば、ＳＤメモリカード、メモリスティックなどのフラッシュメモリにより構成される）を着脱自在に装着可能な外部メディアスロット１９とを備えている。近年、これらのＩ／Ｆ１７、１８により行われる通信方法としてＵＳＢ（Universal  Serial  Bus）が使用される。
【００４９】
よって、プリンタ１は、ＰＣ２０に記憶されている画像データをケーブル５及びＩ／Ｆ１７を介して入力することが可能であると共に、デジタルカメラ２１によって撮影された画像データをケーブル６及びＩ／Ｆ１８を介して入力することが可能である。さらに、外部メディアスロット１９に装着された外部メディア２０から、その外部メディア２１に記憶されている画像データを入力することが可能である。
【００５０】
ＣＰＵ１１は、プリンタ１全体を制御する演算処理装置（演算装置）であり、ＲＯＭ１２には、このＣＰＵ１１により実行される各種の制御プログラムや、その実行の際に参照される固定値データが格納されている。なお、ＲＯＭ１２は、後述する図２から図４に示すフローチャートを実行して画像の処理を行う画像処理プログラム１２ａを記憶する画像処理プログラム領域を備えている。
【００５１】
また、ＲＡＭ１３は、ＣＰＵ１１で実行される制御プログラムに必要な各種レジスタ群などが設定されたワーキングエリアや、処理中のデータを一時的に格納するテンポラリエリア等を有しランダムにアクセスできる書き換え可能なメモリである。
【００５２】
このＲＡＭ１３は、元画像データを記憶するライン処理バッファ１３ａと、拡大縮小倍率を記憶する倍率メモリ１３ｂと、平均画素法による解像度変換処理を行う場合の平均を取る対象とする画素の数である参照数を記憶する参照数メモリ１３ｃとを備えている。
【００５３】
ライン処理バッファ１３ａは、ＰＣ２、デジタルカメラ２１、及び外部メディア２０から、それぞれ、Ｉ／Ｆ１７、Ｉ／Ｆ１８、及び外部メディアスロット１９を介してプリンタ１へ元画像のライン順に読み出した画像データを記憶するものである。なお、本実施形態では、元画像データ及び出力画像データはいずれも、ＲＧＢ値から構成されている。
【００５４】
倍率メモリ１３ｂは、元画像Ｐのサイズと、解像度変換処理により変換された出力画像の出力画像サイズとから算出される拡大または縮小倍率を記憶するものである。
【００５５】
ここで、後述するように、画像処理プログラム１２ａは、ライン処理バッファ１３ａに記憶されている元画像データを、倍率メモリ１３ｂに記憶されている倍率で解像度変換することによって、出力画像データに生成する。
【００５６】
次に、図２を参照して、上記のように構成されたプリンタ１による印刷処理について説明する。図２は、プリンタ１による印刷処理を示すフローチャートである。図２に示すように、まず、拡大または縮小する倍率を設定する。プリンタ１は、元画像のサイズ（ｉｘ．ｉｙ）を、入力手段（非図示）から入力された出力画像サイズ（ｏｘ．ｏｙ）に拡大または縮小し、出力手段（非図示）から、出力画像サイズ（ｏｘ．ｏｙ）の出力画像データとして出力するものであり、ここでは、縦横比は同一のまま、拡大または縮小するものとする。倍率は、（ｏｘ／ｉｘ）であって、（ｏｙ／ｉｙ）と同一の値である。この算出された倍率は、ＲＡＭ１３の倍率メモリ１３ｂに記憶される。
【００５７】
次に、解像度変換方法を決定する（Ｓ２）。この決定方法については、図３と図４を参照して後述するが、ライン処理バッファ１３ａに記憶できるライン数などにより、最適な変換方法が決定される。次に、ライン処理バッファ１３ａに、元画像の画像データを読み込む（Ｓ３）。ここで、読み込まれた画像データは、各ピクセルがＲＧＢの３つの濃度値により構成されたものである。例えば、デジタルカメラにより撮影された画像データは、ＪＰＥＧ形式により圧縮してメモリに記憶されているが、この圧縮された画像データをライン毎（横方向）に復調し、ビットマップ形式に復調してこのライン処理バッファ１３ａに記憶される。
【００５８】
なお、読み込まれるラインは、解像度変換方法により参照されるラインだけが読み込まれ、参照されないラインは、読み飛ばされる場合がある。
【００５９】
次に、ライン処理バッファ１３ａに記憶された画像データに基づいて、拡大または縮小するための解像度変換処理を行う（Ｓ４）。この解像度変換処理により、新たな各ピクセルにおけるＲＧＢ値が求められる。
【００６０】
次に、このＲＧＢ値を、印刷を行うための例えば、ＣＭＹＫ値の各値に変換する色変換処理を行い（Ｓ５）、さらにハーフトーン処理などを行って印刷部１５に出力する（Ｓ６）。
【００６１】
次に、これらの処理を、元画像の最下ラインまで行ったか否かを判断し（Ｓ７）、まだ処理していないラインがある場合は（Ｓ７：Ｎｏ）Ｓ３の処理に戻り、最下ラインまで処理を終了した場合は（Ｓ７：Ｙｅｓ）、この印刷処理を終了する。
【００６２】
次に、図３と図４を参照して解像度変換方法を決定する処理について説明する。図３および図４は、解像度変換方法を決定する処理を示すフローチャートである。この処理では、まず、ライン処理バッファ１３ａに記憶することができるライン数Ｎを算出する（Ｓ１１）。このライン数Ｎは、ライン処理バッファ１３ａの記憶容量を、処理する画像データの１ラインのデータ量で除算し、小数点以下を切り下げた値である。
【００６３】
例えば、上述の通り、画像データは、１ピクセルについてＲＧＢの３つの濃度値を有する。各値が８ビット（１バイト）により形成される場合には、１ピクセルについて３バイトの記憶容量を必要とする。従って、例えば、ＸＧＡと呼ばれる解像度では、横方向は、１０２４ピクセルであり、一ラインあたり、
３×１０２４＝３０７２
バイト（３キロバイト）の画像データを有する。
【００６４】
従って、ライン処理バッファ１３ａの記憶容量を１６キロバイトとすれば、
１６／３＝５．３３・・
となり、Ｎ＝５である。
【００６５】
なお、近年のデジタルカメラの解像度は、この値よりかなり大きい値であるので、必要とするライン処理バッファ１３ａの記憶容量も大きいものが必要である。
【００６６】
次に、設定された倍率により、画像を縮小するか否かを判断する（Ｓ１２）。すなわち、倍率メモリ１３ｂに記憶された倍率の値が１より小さい場合は、縮小変換であり、１より大きい場合は、拡大変換である。
【００６７】
縮小変換である場合は（Ｓ１２：Ｙｅｓ）、次にライン処理バッファ１３ａに記憶できるライン数Ｎが１であるか否かを判断し（Ｓ１３）、Ｎが１である場合は（Ｓ１３：Ｙｅｓ）、解像度を変換する方法をニアレストネイバ法に決定する（Ｓ１４）。
【００６８】
Ｓ１３の判断処理において、ライン処理バッファ１３ａに記憶できるライン数Ｎが１ではない場合は（Ｓ１３：Ｎｏ）、平均画素法における参照数Ｍを算出する（Ｓ１５）。この平均画素法における参照数Ｍは、倍率（縮小率）により定められる値であり、この縮小率の逆数である拡大率（ｉｘ／ｏｘ）の値が、整数である場合は、その整数値が参照値Ｍであり、小数値を有する場合は、小数値を切り捨てた整数値に２を加えた値である。
【００６９】
図５は、参照数Ｍと画素との関係を示す模式図であり、横方向について複数の正方形が配列され、個々の正方形が画素示す示すものである。図５（ａ）は、拡大率（ｉｘ／ｏｘ）の値が、整数２である場合を示し、拡大率が整数の場合は、参照する範囲を順次移動しても、必ず隣り合う画素の境界線で区切られる範囲が参照される。一方、図５（ｂ）に示すように、拡大率が２．１のように小数値を有する場合、参照する範囲は、２つの画素と、その両側の画素の一部を参照範囲として含む場合があるので、参照数Ｍは、拡大率の小数を切り捨てた値に２を加算した値となる。
【００７０】
説明を図３に示すフローチャートに戻し、Ｓ１５の処理において、参照数Ｍを算出すると次に、ライン処理バッファ１３ａに記憶できるライン数Ｎが参照数Ｍに等しいか、または大きいか否かを判断する（Ｓ１６）。ライン処理バッファ１３ａに記憶できるライン数Ｎが参照数Ｍに等しいか、または大きい場合は（Ｓ１６：Ｙｅｓ）、解像度を変換する方法を平均画素法に決定する（Ｓ１７）。
【００７１】
Ｓ１６の判断処理において、ライン処理バッファ１３ａに記憶できるライン数Ｎが参照数Ｍに等しいか、または大きい場合ではない、すなわちライン数Ｎが参照数Ｍより小さい場合は（Ｓ１６：Ｎｏ）、ライン数Ｎの値が２、又は３であるか否かを判断する（Ｓ１８）。
【００７２】
ライン処理バッファ１３ａに記憶できるライン数Ｎが２、又は３である場合は（Ｓ１８：Ｙｅｓ）、解像度を変換する方法をバイリニア法に決定する（Ｓ１９）。ライン処理バッファ１３ａに記憶できるライン数Ｎが２、又は３ではない場合は（Ｓ１８：Ｎｏ）、ライン数Ｎが４であるか否かを判断し（Ｓ２０）、ライン数Ｎが４である場合は（Ｓ２０：Ｙｅｓ）、解像度を変換する方法をバイキュービック法に決定し（Ｓ２１）、ライン数Ｎが４ではない場合は（Ｓ２０：Ｎｏ）、解像度を変換する方法を平均画素法に決定する（Ｓ２２）。
【００７３】
一方、Ｓ１２の判断処理において、画像を縮小するのではない場合（Ｓ１２：Ｎｏ）、すなわち、倍率メモリ１３ｂに記憶された倍率の値が１より大きい場合は、図４に示すフローチャートの処理に移行し、ライン処理バッファ１３ａに記憶できるライン数Ｎが１であるか否かを判断する（Ｓ３１）。ライン処理バッファ１３ａに記憶できるライン数Ｎが１である場合は（Ｓ３１：Ｙｅｓ）、解像度を変換する方法をニアレストネイバ法に決定する（Ｓ３２）。Ｓ３１の判断処理において、ライン処理バッファ１３ａに記憶できるライン数Ｎが１ではない場合は（Ｓ３１：Ｎｏ）。ライン数Ｎが２、又は３であるか否かを判断し（Ｓ３３）、ライン数Ｎが２、又は３である場合は（Ｓ３３：Ｙｅｓ）、解像度を変換する方法をバイリニア法に決定する（Ｓ３４）。ライン処理バッファ１３ａに記憶できるライン数Ｎが２、又は３ではない場合は（Ｓ３３：Ｎｏ）、解像度を変換する方法をバイキュービック法に決定する（Ｓ３５）。Ｓ３２、Ｓ３４、またはＳ３５の処理において変換する方法を決定した場合は、この解像度を変換する方法を決定する処理を終了し、図２に示すフローチャートのＳ３の処理に進む。
【００７４】
なお、上記実施形態では、横方向（ライン方向）と縦方向とを同じ解像度を変換する方法により変換するものとしたが、横方向については、ライン処理バッファ１３ａに十分なデータが記憶されているので、縮小を行う場合には、横方向を平均画像法で新たな画素の濃度を算出し、縦方向については、ライン数Ｎと参照数Ｍとにより決定される方法により新たな画素の濃度を算出するようにしてもよい。
【００７５】
また、同様に画像を拡大する場合には、横方向をバイキュービック法で新たな画素の濃度を算出し、縦方向については、ライン数Ｎにより決定される方法により新たな画素の濃度を算出するようにしてもよい。
【００７６】
以上、実施形態に基づいて説明したように、プリンタ１では、所定の記憶容量を有するライン処理バッファ１３ａを備え、そのライン処理バッファ１３ａに記憶することができる解像度を変換する画像の横方向のライン数を算出し、その算出されたライン数に応じて解像度を変換する方法を決定する。よって、ライン処理バッファ１３ａの記憶容量を、画像の全てのデータを記憶する容量にする必要がなく、小さな記憶容量で解像度を変換し、高画質な出力画像を得ることができる。また、ライン毎に印刷を行うプリンタ１の場合には、ライン順に元画像を読み込み、解像度変換を行って印刷を行うことができるので、印刷に要する総時間を短縮することができる。
【００７７】
なお、請求項に記載のライン数算出手段およびライン数算出ステップは、図３に示すフローチャートのＳ１１の処理が該当し、画素濃度値算出手段および画濃度値算出ステップは、図２に示すフローチャートのＳ４の処理が該当し、参照数取得手段および参照数取得ステップは、図３に示すフローチャートのＳ１５の処理が該当し、倍率取得手段および倍率取得ステップは、図２に示すフローチャートのＳ１の処理が該当する。
【００７８】
以上実施形態に基づき本発明を説明したが、本発明は上記実施形態に何ら限定されるものでなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【００７９】
例えば、画像処理装置がプリンタであるものとし、画像データは、外部メディアスロット１９に装着された外部メディアなどから供給されるものとしたが、画像処理装置をコピー装置とし、スキャナを備えて、スキャナにより検出されたライン毎の画像データ順次処理するようにしてもよい。
【００８０】
また、上記実施形態では、参照数Ｍは、拡大率が小数値を有する場合は、小数値を切り捨てて２を加算することにより求めるものとしたが、拡大率が小数値を有する場合は、小数値を四捨五入し、１を加算することにより求めるようにしてもよい。すなわち、参照する範囲に含まれる画素の割合が、小さい場合には、その画素の濃度を無視するようにしてもよい。
【００８１】
また、上記実施形態では、画像データは、ＲＧＢ値により形成されるカラー画像であるものとしたが、いわゆるグレースケールなどにより表されるモノクロ画像においても適用するすることができる。
【図面の簡単な説明】
【００８２】
【図１】本発明の実施形態におけるプリンタの電気的構成を示すブロック図である。
【図２】プリンタにおける印刷処理を示すフローチャートである。
【図３】解像度を変換する方法を決定する処理を示すフローチャートである。
【図４】図３に示すフローチャートに続く処理を示すフローチャートである。
【図５】参照数を示す模式図で、（ａ）は、拡大率が整数値である場合を、（ｂ）は、拡大率が小数値である場合を示す。
【図６】従来の技術における印刷処理を示すフローチャートである。
【符号の説明】
【００８３】
１              プリンタ（画像処理装置）
２              パーソナルコンピュータ
１１            ＣＰＵ
１２            ＲＯＭ
１３            ＲＡＭ
１３ａ          ライン処理バッファ（ライン記憶手段）
１５            印刷部（印刷手段）
２０            外部メディア
２１            デジタルカメラ
【図１】
0004725336.tif 000002
【図２】
0004725336.tif 000003
【図３】
0004725336.tif 000004
【図４】
0004725336.tif 000005
【図５】
0004725336.tif 000006
【図６】
0004725336.tif 000007