説明

画像処理装置及びプログラム

【課題】画像記憶手段の容量が不足する事態の発生を抑制しつつ、且つ、印刷出力される印刷対象の画像の劣化を抑制する。
【解決手段】制御部は、印刷データに基づいて、印刷対象画像を分割してできる複数のバンド画像の各々を記憶部に順次描画する(S102、S105、及びS108)。但し、制御部6は、各バンド画像を、記憶部の空き容量に応じた階調数で描画する(S104及びS107)。ここにおいて、制御部は、最近描画されたバンド画像である第1のバンド画像の階調数が、第1のバンド画像の次に描画される第2のバンド画像の階調数より大きい場合に、記憶部に描画された第1のバンド画像のうちの第2のバンド画像に隣接する一部、に含まれるラスタの階調数を更新する(S106)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【0002】
ビデオメモリなどの画像記憶手段に描画された画像を印刷出力する装置が知られている。
【0003】
例えば、特許文献1には、解像度が異なる複数の画像メモリのうちから印刷データの種類に応じて選択される画像メモリに、印刷出力される画像を描画すること、が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平05−342314号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の目的は、印刷手段に供給される画像が描画される画像記憶手段に印刷対象の画像を分割して描画することによって、印刷対象の画像を印刷手段に印刷出力させる場合において、画像記憶手段の容量が不足する事態の発生を抑制しつつ、且つ、印刷出力される印刷対象の画像の劣化を抑制することである。
【課題を解決するための手段】
【0006】
上記課題を解決するための請求項1の発明は、印刷対象の画像を表す印刷対象情報を取得する取得手段と、前記印刷対象情報に基づいて、前記印刷対象の画像を分割してできる複数の分割画像の各々を、印刷手段に供給される画像が描画される画像記憶手段に順次描画する手段であって、各分割画像を、前記画像記憶手段の空き容量に応じた階調数で描画する描画手段と、前記複数の分割画像のうちのいずれかである第1の分割画像の階調数である第1階調数と、前記第1の分割画像に隣接する第2の分割画像の階調数である第2階調数と、が異なる場合に、前記画像記憶手段に描画された前記第1の分割画像のうちの前記第2の分割画像に隣接する一部、に含まれる画素列である注目画素列の階調数を、前記第1階調数と前記第2階調数との間の階調数に更新する更新手段と、を含む画像処理装置である。
【0007】
また、請求項2の発明は、請求項1の発明において、前記更新手段は、前記注目画素列の階調数を、当該注目画素列と前記第2の分割画像との距離に応じた階調数へと更新することを特徴とする。
【0008】
また、上記課題を解決するための請求項3の発明は、印刷対象の画像を表す印刷対象情報を取得する取得手段、前記印刷対象情報に基づいて、前記印刷対象の画像を分割してできる複数の分割画像の各々を、印刷手段に供給される画像が描画される画像記憶手段に順次描画する手段であって、各分割画像を、前記画像記憶手段の空き容量に応じた階調数で描画する描画手段、前記複数の分割画像のうちのいずれかである第1の分割画像の階調数である第1階調数と、前記第1の分割画像に隣接する第2の分割画像の階調数である第2階調数と、が異なる場合に、前記画像記憶手段に描画された前記第1の分割画像のうちの前記第2の分割画像に隣接する一部、に含まれる画素列である注目画素列の階調数、前記第1階調数と前記第2階調数との間の階調数に更新する更新手段、としてコンピュータを機能させるプログラムである。
【発明の効果】
【0009】
請求項1、請求項3の発明によれば、印刷手段に供給される画像が描画される画像記憶手段に印刷対象の画像を分割して描画することによって、印刷対象の画像を印刷手段に印刷出力させる場合において、画像記憶手段の容量が不足する事態の発生を抑制しつつ、且つ、印刷出力される印刷対象の画像の劣化を抑制することができる。
【0010】
請求項2の発明によれば、印刷出力される印刷対象の画像の劣化を、本構成を有しない場合よりも抑制することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の一実施形態に係る画像処理装置の構成を示す図である。
【図2】バンド領域を例示する図である。
【図3】階調値データを例示する図である。
【図4】階調数更新機能を説明するための図である。
【図5】階調値データの変化を示す図である。
【図6】制御部が実行する処理を例示するフロー図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。
【0013】
[画像処理装置]
図1は、本発明の一実施形態に係る画像処理装置2の構成を示す図である。本実施形態の場合、画像処理装置2は、制御部6、記憶部8、及び画像形成部10等を含むプリンタ4として実現される。プリンタ4は、印刷対象の画像(以下、印刷対象画像と記載する)をページ記述言語で表した印刷データの入力を受け付け、当該印刷データに基づいて印刷対象画像を印刷出力する。なお、印刷データが「印刷対象情報」に相当する。
【0014】
以下、制御部6、記憶部8、及び画像形成部10について説明する。
【0015】
記憶部8は、RAM及びROMであり、プログラム等の各種情報が格納される。このプログラムは、コンピュータ読取可能な情報記憶媒体から読み出されて記憶部8に格納される。なお、このプログラムは、インターネットなどの通信ネットワーク等の通信網から供給されて記憶部8に格納されてよい。
【0016】
また、記憶部8は、ワーキングメモリやビデオメモリとして動作する。
【0017】
制御部6は、マイクロプロセッサである。制御部6は、記憶部8に格納される上記プログラムに従って情報処理を実行する。制御部6は、「取得手段」として機能する。すなわち、制御部6には、上記印刷データが入力され、制御部6は、入力される印刷データを取得する。
【0018】
また、制御部6は、上記プログラムに従い、印刷データに基づいて記憶部8に印刷対象画像を描画する。
【0019】
なお、制御部6は、後述するように、「描画手段」、「更新手段」としても機能する。
【0020】
また、画像形成部10は、いわゆるプリンタエンジンである。画像形成部10は、記憶部8に描画された印刷対象画像を情報記憶媒体(例えば、印刷用紙)に印刷する。
【0021】
[バンディング機能]
このプリンタ4には、いわゆるバンディング機能が実装されている。すなわち、このプリンタ4では、「描画手段」として機能する制御部6が、印刷データに基づいて、複数のバンド画像の各々を一番目のバンド画像から順番に記憶部8に描画することによって、印刷対象画像を記憶部8に描画するようになっている(後述する図6のS102、S105、及びS108参照)。また、画像形成部10が、記憶部8に描画されたバンド画像の各々を読み出し、情報記憶媒体に印刷することによって、印刷対象画像を印刷するようになっている。
【0022】
ここで、バンド画像とは、印刷対象画像を水平方向のラインでN(N≧2)等分したときにできる矩形形状の画像を表すビットマップ画像である。言い換えれば、バンド画像とは、印刷対象画像の領域(以下、ページ領域)を水平方向のラインでN等分したときにできる帯状のバンド領域に含まれる画像を表すビットマップ画像である。上からM(M=1〜N)番目のバンド領域のビットマップ画像がM番目のバンド画像となる。制御部6は、印刷データに基づいてバンド領域ごとにラスタライズを行うことによって、各バンド画像を記憶部8に描画することになる。図2に印刷対象画像12(すなわち、ページ領域)を4等分したときの様子を示した。符号14で指し示される4つの領域のそれぞれがバンド領域に相当する。
【0023】
なお、「バンド画像を記憶部8に描画すること」とは、「印刷データに基づいてバンド画像を生成し、生成したバンド画像を表すバンドデータを記憶部8に格納すること」である。また、「記憶部8に描画されたバンド画像を読み出し、印刷すること」とは、記憶部8からバンドデータを読み出し、バンドデータが表すバンド画像を印刷すること」である。なお、バンド画像自体がバンドデータとして記憶部8に格納されてよいし、バンド画像の圧縮画像がバンドデータとして記憶部8に格納されてよい。
【0024】
[階調数調整機能]
また、このプリンタ4には、バンディング機能だけでなく、バンド画像の描画中に記憶部8の空き容量不足が発生しないよう、階調数調整機能が実装されている。すなわち、バンド画像のデータ量が階調数に依存することに着目し、「描画手段」として機能する制御部6が、バンド画像ごとに階調数を決定するようになっている。より詳しくは、制御部6が、バンド画像を描画する度に記憶部8の空き容量を考慮して次のバンド画像の階調数を「4」、「8」、「16」、「32」、「64」、「128」、及び「256」のうちで決定し、決定した階調数で次のバンド画像を描画するようになっている(図6のS104及びS107参照)。
【0025】
ここで、バンド画像は、当該バンド画像に含まれる各画素に対応する階調値データを含む。階調値データは、当該階調値データに対応する画素の階調値を示す。なお、バンド画像に含まれる階調値データは、当該バンド画像の階調数を表現するために十分なビット数のメモリ領域に格納される。言い換えれば、バンド画像に含まれる階調値データは、当該バンド画像の階調数に応じたビット数のデータとなるようになっている。例えば、バンド画像の階調数が「256」である場合、「256」通りの階調数を表現するために、このバンド画像に含まれる階調値データは、図3に示すように8ビットのデータとなる。また、例えば、バンド画像の階調数が「128」である場合、このバンド画像に含まれる階調値データは7ビットのデータとなる。そのため、上述のように、バンド画像のデータ量はその階調数に依存する。なお、各バンド画像の階調数は記憶部8に保持される。
【0026】
画像形成部10は、印刷対象の画素の印刷を、当該画素を含むバンド画像の階調数と、当該画素に対応する階調値データの値(すなわち、当該画素の階調値)と、に基づいて制御する。その結果、印刷対象の画素が、当該画素を含むバンド画像の階調数と、当該画素の階調値と、の関係に応じた階調で、印刷されることとなる。
【0027】
以下、「ある画素に対応する階調値データ」のことを、「その画素の階調値データ」と呼ぶ。
【0028】
[階調数更新機能]
階調数調整機能により、各バンド画像が、記憶部8の空き容量に応じた階調数で記憶部8に描画される。そのため、隣り合う二つのバンド画像が異なる階調数で描画される場合がある。例えば、2番目のバンド画像が階調数「256」で描画され、3番目のバンド画像が階調数「16」で描画される場合がある。
【0029】
ところで、隣り合う二つのバンド画像の階調数が大きく異なる場合、印刷対象画像が印刷された場合に、一方のバンド画像の画質と他方のバンド画像の画質との相違が大きくなりすぎてしまう場合がある。この場合、印刷された印刷対象画像の画質の劣化か大きくなり過ぎてしまう。
【0030】
この点、このプリンタ4では、隣り合う二つのバンド画像の階調数が異なる場合に、印刷された印刷対象画像の画質の劣化が抑制されるよう、階調数更新機能が実装されている。
【0031】
すなわち、このプリンタ4では、隣り合う二つのバンド画像が異なる階調数で描画される場合に、「更新手段」として機能する制御部6が、記憶部8に描画された一方のバンド画像のうちの他方のバンド画像に隣接する一部(後述する図4の領域16a参照)、に含まれるラスタの階調数を、一方のバンド画像の階調数と他方のバンド画像の階調数との間の階調数に更新する(図6のS106参照)。ここで、ラスタとは、水平方向の画素列のことを意味する。また、ラスタの階調数とは、ラスタを構成する各画素の階調数の平均のことを意味する。一方のバンド画像が「第1の分割画像」に相当し、他方のバンド画像が「第2の分割画像」に相当する。
【0032】
本実施形態の場合、制御部6は、隣り合う二つのバンド画像が異なる階調数で描画される場合に、階調数が大きい方のバンド画像の一部に含まれるラスタの階調数を下げる。ラスタの階調数の更新方法については後述する。
【0033】
図4は、階調数更新機能を説明するための図である。図4(A)は、記憶部8に描画された印刷対象画像12の一例を示す。符号16で指し示される4つの画像の各々が、バンド画像を示している。また、図4(B)は、図4(A)に示す印刷対象画像12における、位置Xと位置Xに位置するラスタの階調数との関係、を示す図である。Xは、印刷対象画像12の上端からの距離を示している。またRは、位置Xに位置するラスタの階調数を表している。
【0034】
なお、「ΔT」は、バンド画像16の垂直方向の幅を示している。
【0035】
図4(B)に示すように、一番目のバンド画像16の階調数と、二番目のバンド画像16の階調数と、が異なっていることがわかる。具体的には、一番目のバンド画像16の階調数は「256」であるが、二番目のバンド画像16の階調数は「256」ではなく「16」であり、一番目のバンド画像16の階調数が二番目のバンド画像16の階調数より大きいことがわかる。
【0036】
この場合、制御部6は、一番目のバンド画像16のうちの、二番目のバンド画像16に隣接する一部の領域16aに含まれるラスタ(以下、注目ラスタと呼ぶ)の階調数を、一番目のバンド画像16の階調数「256」と二番目のバンド画像16の階調数「16」との間の階調数に更新する。ここで、領域16aは、S(Sは2以上の偶数)本のラスタを含む矩形形状の領域であり、本実施形態の場合、一番目のバンド画像16の下半分の領域である。
【0037】
具体的には、注目ラスタを構成する画素のうちの少なくとも一部の画素の階調数を更新する。ここでは、制御部6は、注目ラスタを構成する画素の全部の階調数を「256」と「16」との間の階調数へと下げることになる。
【0038】
ここで、注目ラスタの階調数の更新方法を説明する。ここでは、記憶部8に描画された注目ラスタの階調数が「256」である場合において、注目ラスタの階調数をL(Lは正の整数)段階下げる場合を例に取り上げる。この場合、制御部6は、注目ラスタに含まれる各画素の階調値データの右から1〜L番目のビット値を「0」に更新する。但し、最大階調を表す階調値データ、すなわち、全ビット値が「1」である階調値データは更新されない。
【0039】
例えば、記憶部8に描画された注目ラスタの階調数が「256」である場合において、注目ラスタの階調数を一段階下げる場合を例に取り上げる。この場合、注目ラスタに含まれる各画素の階調値データの最も右のビット値が「0」に更新される。そのため、例えば、「252」を表す階調値データは更新されないが、「253」を表す階調値データは「252」へと更新される。また、例えば、「250」を表す階調値データは更新されないが、「251」を表す階調値データは「250」へと更新される。そのため、注目ラスタに含まれる各画素の階調値データは、実質的に129通りの値をとるようになる。すなわち、注目ラスタの階調数が「129」に下がる。
【0040】
図5に、注目ラスタの階調数を「256」から一段階下げる更新を行う前と後における階調値データの変化を示した。太枠内のビット値が「0」に更新されている。
【0041】
なお、制御部6は、注目ラスタの階調数を、当該注目ラスタの階調数と二番目のバンド画像16との間の距離に応じた階調数へと更新する。すなわち、制御部6は、注目ラスタの階調数を、当該注目ラスタと二番目のバンド画像16の代表点との距離に応じた階調数へと更新する。ここで、代表点は、二番目のバンド画像16内の位置であり、例えば二番目のバンド画像の中心である。こうすることにより、制御部6は、注目ラスタの階調数を段階的に変化させ、注目ラスタの階調数と二番目のバンド画像16との間の距離が小さいほど、注目ラスタの階調数が低くなるようにする。
【0042】
図4(C)は、注目ラスタの階調数を更新した後の、位置Xと位置Xに位置するラスタの階調数との関係、を示している。図4(C)に示すように、領域16aに含まれるラスタの階調数が一番目のバンド画像16の階調数「256」と二番目のバンド画像16の階調数「16」との間の階調数へと更新されている。また、領域16aにおいて、ラスタの階調数は、二番目のバンド画像16との間の距離が小さいほど低くなっている。
【0043】
[処理]
図6は、制御部6が実行する処理を例示するフロー図である。この処理は、上記プログラムに従って動作する制御部6が、印刷データの入力を受け付けた場合に実行される。
【0044】
まず、制御部6は、印刷データに基づいてディスプレイリストを生成し(S101)、記憶部8に格納する。ディスプレイリストとは、バンド領域単位でラスタライズを行うための基礎となるデータである。ディスプレイリストは、中間言語データと呼ばれる場合もある。
【0045】
そして、制御部6は、まず、ディスプレイリストに基づいて、一番目のバンド画像16を、階調数「256」で描画する(S102)。すなわち、ラスタライズを行って一番目のバンド画像16を生成し、記憶部8に格納する。一番目のバンド画像16において、各画素の階調値データは8ビットのデータとして記憶部8に記憶される。
【0046】
そして、制御部6は、予め記憶部8に記憶される階調数指数Pの値を「256」に設定する(S103)。なお、階調数指数Pは、「4」、「8」、「16」、「32」、「64」、「128」、及び「256」のうちのいずれかの値に設定される。
【0047】
そして、制御部6は、残りのバンド画像16を階調数「P」で描画することが可能か否かを判定する(S104)。
【0048】
具体的には、制御部6は、記憶部8の空き容量(以下、実空き容量と呼ぶ)を特定する。また、制御部6は、残りのバンド画像16を階調数「P」で描画するために必要な記憶部8の空き容量(以下、必要空き容量と呼ぶ)を予測する。例えば、制御部6は、階調数とその階調数で1つのバンド画像を描画するために必要な記憶部8の空き容量とを対応付けてなるデータを参照して、必要空き容量を予測(算出)する。そして、制御部6は、実空き容量と必要空き容量とを比較することによって、上記の判定を行う。
【0049】
残りのバンド画像16を階調数「P」で描画することが可能である場合(S104のY)、制御部6は、次のバンド画像16を階調数「P」で描画する(S105)。次のバンド画像16において、各階調値データは階調数「P」に応じたビット数のデータとなる。例えば、階調数指数Pの値が「256」である場合、各階調値データは8ビットのデータとなる。
【0050】
一方、残りのバンド画像16を階調数「P」で描画することが可能でない場合(S104のN)、制御部6は、最近描画したバンド画像16の下から1〜S番目のラスタ、すなわち注目ラスタの階調数を一段階又は二段階下げる(S106)。本実施形態の場合、制御部6は、S本の注目ラスタのうちの上半分の注目ラスタの階調数を一段階下げ、下半分の注目ラスタの階調数を二段階下げる。具体的には、制御部6は、上半分の注目ラスタを構成する画素の階調値データの最も右のビット値を「0」に更新し、下半分の注目ラスタを構成する画素の階調値データの右から1〜2番目のビット値を「0」に更新する。例えば、最近描画したバンド画像16の階調数が「256」である場合、上半分の注目ラスタの階調数は実質的に「129」になり、下半分の注目ラスタの階調数は実質的に「65」となる。
【0051】
そして、制御部6は、階調数指数Pの値を更新し、階調数指数Pの値を四段階下げる(S107)。例えば、階調数指数Pの値が「256」である場合、制御部6は、階調数指数Pの値を「16」へと更新する。
【0052】
そして、制御部6は、S105のステップと同様にして、次のバンド画像16を階調数「P」で描画する(S108)。
【0053】
S105又はS108のステップの後、制御部6は、すべてのバンド画像16を描画したか否かを判定する(S110)。
【0054】
すべてのバンド画像16の描画が完了していない場合(S110のN)、S104のステップを再度実行する。
【0055】
一方、すべてのバンド画像16の描画が完了した場合(S110のY)、制御部6は処理を終了する。この場合、各バンド画像16が記憶部8から読み出され、印刷出力されることとなる。
【0056】
なお、本発明の実施形態は上記実施形態だけに限らない。
【0057】
例えば、制御部6は、残りのバンド画像16を階調数「P」で描画することが可能である場合(S104のY)、残りのバンド画像16を階調数「P」よりも大きい階調数で描画することが可能であるか否かの判定をさらに行うようにしてもよい。例えば、制御部6は、残りのバンド画像16を階調数「P」より四段階大きな階調数で描画することが可能か否かを判定するようにしてもよい。
【0058】
そして、制御部6は、判定結果に応じた階調数で次のバンド画像16を描画するようにしてもよい。
【0059】
すなわち、制御部6は、残りのバンド画像16を階調数「P」より四段階大きな階調数で描画することが可能でない場合、S105のステップを実行する。この場合、S105のステップ描画された次のバンド画像16の階調数と、次のバンド画像16の一つ前に描画されたバンド画像16の階調数と、は同じになる。
【0060】
一方、制御部6は、残りのバンド画像16を階調数「P」より四段階大きな階調数で描画することが可能である場合、階調数指数Pの値を四段階大きな値へと更新した上で、S105のステップと同様にして、次のバンド画像16を階調数「P」で描画する。但し、この場合、描画された次のバンド画像16の階調数と、次のバンド画像16の一つ前に描画されたバンド画像16の階調数と、が異なることになる。具体的には、次のバンド画像16の階調数が、次のバンド画像16の一つ前に描画されたバンド画像16の階調数より四段階大きくなる。
【0061】
そこで、次のバンド画像16を描画した後に、制御部6は、描画された次のバンド画像16の上から1〜S番目のラスタを注目ラスタとして取扱い、S106のステップと類似の処理を行って注目ラスタの階調数を下げる。この場合、制御部6は、S106のステップとは異なり、S本の注目ラスタのうちの上半分の注目ラスタではなく、下半分の注目ラスタの階調数を一段階下げる。また、制御部6は、S106のステップとは異なり、S本の注目ラスタのうちの下半分の注目ラスタではなく、上半分の注目ラスタの階調数を二段階下げる。
【0062】
こうして、注目ラスタの階調数を下げた後、S110のステップへと進むことになる。
【符号の説明】
【0063】
2 画像処理装置、4 プリンタ、6 制御部、8 記憶部、10 画像形成部、12 印刷対象画像(ページ領域)、14 バンド領域、16 バンド画像、16a 領域。

【特許請求の範囲】
【請求項1】
印刷対象の画像を表す印刷対象情報を取得する取得手段と、
前記印刷対象情報に基づいて、前記印刷対象の画像を分割してできる複数の分割画像の各々を、印刷手段に供給される画像が描画される画像記憶手段に順次描画する手段であって、各分割画像を、前記画像記憶手段の空き容量に応じた階調数で描画する描画手段と、
前記複数の分割画像のうちのいずれかである第1の分割画像の階調数である第1階調数と、前記第1の分割画像に隣接する第2の分割画像の階調数である第2階調数と、が異なる場合に、前記画像記憶手段に描画された前記第1の分割画像のうちの前記第2の分割画像に隣接する一部、に含まれる画素列である注目画素列の階調数を、前記第1階調数と前記第2階調数との間の階調数に更新する更新手段と、
を含む画像処理装置。
【請求項2】
前記更新手段は、
前記注目画素列の階調数を、当該注目画素列と前記第2の分割画像との距離に応じた階調数へと更新すること、
を特徴とする請求項1に記載の画像処理装置。
【請求項3】
印刷対象の画像を表す印刷対象情報を取得する取得手段、
前記印刷対象情報に基づいて、前記印刷対象の画像を分割してできる複数の分割画像の各々を、印刷手段に供給される画像が描画される画像記憶手段に順次描画する手段であって、各分割画像を、前記画像記憶手段の空き容量に応じた階調数で描画する描画手段、
前記複数の分割画像のうちのいずれかである第1の分割画像の階調数である第1階調数と、前記第1の分割画像に隣接する第2の分割画像の階調数である第2階調数と、が異なる場合に、前記画像記憶手段に描画された前記第1の分割画像のうちの前記第2の分割画像に隣接する一部、に含まれる画素列である注目画素列の階調数、前記第1階調数と前記第2階調数との間の階調数に更新する更新手段、
としてコンピュータを機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−119977(P2012−119977A)
【公開日】平成24年6月21日(2012.6.21)
【国際特許分類】
【出願番号】特願2010−268469(P2010−268469)
【出願日】平成22年12月1日(2010.12.1)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】