(57)【要約】【課題】  非可逆圧縮形式で圧縮された所定の階調数に対応するデータに階調変換が行われるときの当該階調変換後の階調数を適切に決定することができる情報処理装置、情報処理方法、およびプログラムを提供する。【解決手段】  処理対象のデータが非可逆圧縮形式で圧縮されたときの圧縮度が所定の第１の閾値より大きなときの第１の階調数が、前記圧縮度が当該第１の閾値以下のときの第２の階調数よりも少なくなるように、階調変換後の階調数を決定する。【選択図】  図１３
2015122618.tif 000002
【特許請求の範囲】
【請求項１】
非可逆圧縮形式で圧縮された所定の階調数に対応する処理対象のデータの圧縮度に対応する情報を取得する取得手段と、
前記データが伸長され、当該伸長されたデータの階調数が少なくなるよう階調変換が行われるときの当該階調変換後の階調数を、前記取得手段により取得された情報に基づき決定する決定手段と、を有し、
前記決定手段は、前記処理対象のデータの圧縮度が所定の第１の閾値より大きなときの第１の階調数が、当該処理対象のデータの圧縮度が当該第１の閾値以下のときの第２の階調数よりも少なくなるように、前記決定を行うことを特徴とする情報処理装置。
【請求項２】
前記決定手段は、前記圧縮度が前記第１の閾値よりも大きな第２の閾値よりもさらに大きい場合、前記第１の階調数よりも多い第３の階調数となるように、前記決定を行う手段であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記データの階調数が前記決定手段により決定された階調数となるように、当該データに階調変換を実行する階調変換手段を有することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記階調変換手段により階調変換が実行されたデータを、当該データに所定の処理を実行する所定の装置に出力する出力手段を有することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記データは画像データであり、前記所定の装置は前記所定の処理として、前記出力手段により出力された画像データに基づく画像の印刷または表示を実行することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記決定手段は、前記所定の装置による印刷のために前記画像データに対する誤差拡散法による中間調処理において階調変換が実行されるときの階調数を決定する手段であることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記決定手段は、前記圧縮度と、前記所定の装置が前記画像を印刷するときの印刷設定に応じて、前記階調数を決定する手段であることを特徴とする請求項５または６に記載の情報処理装置。
【請求項８】
前記決定手段は、前記圧縮度と、前記画像データに基づく画像の内容とに応じて、前記階調数を決定する手段であることを特徴とする請求項５乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記決定手段は、前記画像の内容として、当該画像に文字が含まれるか判定し、当該判定結果に応じて、前記階調数を決定する手段であることを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記処理対象のデータは、ＪＰＥＧ形式で圧縮された画像データであることを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記処理対象のデータは、音声データであることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項１２】
非可逆圧縮形式で圧縮されているデータに伸長処理を実行する伸長手段を有し、
前記決定手段は、前記伸長手段により伸長されたデータが階調変換されるときの階調数を決定する手段であることを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記取得手段は、前記データが非可逆圧縮形式で圧縮されるときに用いられた情報を、前記圧縮度に対応する情報として取得し、
前記伸長手段は、前記取得手段により取得された前記情報に基づいて前記伸長処理を実行する手段であり、且つ前記決定手段は当該情報に基づいて階調数を決定する手段であることを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記取得手段は、前記データが非可逆圧縮形式で圧縮されるときの量子化処理に用いられた情報を、前記圧縮度に対応する情報として取得する手段であることを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記圧縮度は、前記データが非可逆圧縮形式で圧縮されるときの量子化処理に対応するＱｕａｎｔｉｚａｔｉｏｎ係数であることを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
非可逆圧縮形式で圧縮された所定の階調数に対応する処理対象のデータの圧縮度に対応する情報を取得する取得工程と、
前記データが伸長され、当該伸長されたデータの階調数が少なくなるよう階調変換が行われるときの当該階調変換後の階調数を、前記取得工程において取得された情報に基づき決定する決定工程と、を有し、
前記決定工程では、前記処理対象のデータの圧縮度が所定の第１の閾値より大きなときの第１の階調数が、当該処理対象のデータの圧縮度が当該第１の閾値以下のときの第２の階調数よりも少なくなるように、前記決定が行われることを特徴とする情報処理方法。
【請求項１７】
請求項１乃至１５のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させるための、または請求項１６に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の階調数に対応する処理対象のデータの階調数が少なくなるよう階調変換が行われるときの当該階調変換後の階調数を決定する情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
画像の印刷を行う印刷装置において、非可逆圧縮形式で圧縮された画像データに基づく画像を印刷することがある。このような非可逆圧縮形式として、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）形式がある。このＪＰＥＧ形式で圧縮された画像データが伸長され、伸長された画像データに基づく画像が印刷装置により記録媒体に印刷される。
【０００３】
しかし、上記のようにＪＰＥＧ形式は非可逆の圧縮形式である。そのため、伸長後の画像においてはモスキートノイズという画像の劣化が発生することがある。このモスキートノイズは、ＪＰＥＧ圧縮における量子化処理に起因して発生する。ＪＰＥＧ形式においてはＤＣＴ（離散コサイン変換）処理により周波数に変換された画像に対する量子化処理によって、特に高周波成分の情報が削除される。これにより、伸長処理が行われると、例えばその伸長が行われた画像内のエッジ周辺において本来存在しなかった信号値が上記モスキートノイズとして発生してしまうことがある。
【０００４】
特許文献１では、圧縮画像データが伸長された画像データに関して、モスキートノイズを除去する処理が提案されている。具体的には、圧縮画像データが伸長された画像データをブロック単位で区切り、ノイズ判定処理を行い、ノイズの種類と発生度合いを判定する。そして、印刷データ作成のための中間調処理のパラメータ（量子化閾値、誤差判定閾値、拡散係数）をノイズ判定結果に基づいて切換えることが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４０５３４６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の特許文献１は、伸長処理が実行された後の画像を用いて判定を行っている。そのため、ノイズと判定された部分が非可逆圧縮、伸長により生じたものなのか、圧縮、伸長の前の元画像に含まれている部分なのか区別が出来ないことがある。そのため、例えば非可逆圧縮形式における圧縮度が小さくノイズが生じにくい場合にも関わらず、元々の画像に含まれている部分をノイズと判定してしまい、その部分が画像から除去されてしまうことがある。また例えば非可逆圧縮形式で圧縮された音声データなど、画像データ以外のデータが伸長された場合にも同様の課題が起こることがある。
【０００７】
上記の課題を鑑みて本発明は、非可逆圧縮形式で圧縮された処理対象のデータの圧縮度に対応する情報に基づいて当該データに対応する階調数を適切に決定することができる情報処理装置、情報処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本発明の情報処理装置は、非可逆圧縮形式で圧縮された所定の階調数に対応する処理対象のデータの圧縮度に対応する情報を取得する取得手段と、前記データが伸長され、当該伸長されたデータの階調数が少なくなるよう階調変換が行われるときの当該階調変換後の階調数を、前記取得手段により取得された情報に基づき決定する決定手段と、を有し、前記決定手段は、前記処理対象のデータの圧縮度が所定の第１の閾値より大きなときの第１の階調数が、当該処理対象のデータの圧縮度が当該第１の閾値以下のときの第２の階調数よりも少なくなるように、前記決定を行うことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、処理対象のデータの圧縮度が所定の第１の閾値より大きなときの第１の階調数が、当該処理対象のデータの圧縮度が当該第１の閾値以下のときの第２の階調数よりも少なくなるように、階調数が決定される。そのため、非可逆圧縮形式で圧縮された処理対象のデータの圧縮度に対応する情報に基づいて当該データに対応する階調数を適切に決定することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態におけるインクジェット記録装置の一例を示す図である。
【図２】制御回路部１０３の構成を示すブロック図である。
【図３】本実施形態におけるファームウェア構成のブロック図の一例を示す。
【図４】色補正テーブルの一例を示す。
【図５】四面体補間法を説明するための図である。
【図６】色分解テーブル３１２の一例を示す。
【図７】誤差拡散法における、誤差分配方法を示す図である。
【図８】画像データの復号化処理のフローチャートを示す。
【図９】モスキートノイズの発生数の算出処理を示すフローチャートである。
【図１０】Ｑテーブルと階調数の組み合わせに対応する、Ｓ９０６において算出された画素数の一例を示す図である。
【図１１】元画像の白領域にＪＰＥＧ圧縮、伸長を行った後の輝度Ｙのヒストグラムを示す。
【図１２】圧縮度を示すＱ係数に対する階調数を示すテーブルの一例である。
【図１３】本実施形態による階調変換処理の一例を示すフローチャートである。
【図１４】印刷装置に予め記憶されている量子化テーブルの一例を示す図である。
【図１５】本実施形態による階調変換処理の一例を示すフローチャートである。
【図１６】本実施形態におけるファームウェア構成のブロック図の一例を示す。
【図１７】画像の内容に応じて階調数を決定する処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本実施形態について説明する。なお、以下の実施形態はあくまで実施の一例を示したものであり、本発明は以下の実施形態に限定されるものではない。
【００１２】
＜ハードウェア構成の説明＞
図１は、本実施形態におけるインクジェット記録装置の一例を示す図である。記録ヘッド１０１は、インクを充填したインクタンク１０２を搭載する。インクタンク１０２には、図１では４色のインクそれぞれが充填されている例を示している。ただし、何色のインクタンクが装着されてもよく、また同色であっても染料、顔料等、材料の異なるインクそれぞれが充填されたインクタンクが装着されてもよい。
【００１３】
制御回路部１０３は、記録ヘッド１０１を駆動するための記憶部、演算部及び通信部を含む。記録ヘッド１０１は、制御回路部１０３から、インク吐出の要否を示す記録信号とその吐出タイミングを示す制御信号を受信し、その制御信号に従って記録信号に基づいたインクの吐出を行う。記録媒体である記録媒体１０４は、不図示の搬送ローラによって搬送されながら記録ヘッド１０１から吐出されたインクが付与されることで記録媒体１０４上に画像が記録される。
【００１４】
なお、本実施形態では、印刷装置の記録方式としてインクジェット方式を例に説明するが、電子写真方式によりトナーを付与することで印刷を行う印刷装置であってもよい。
【００１５】
また図１の例では、記録ヘッド１０１、インクタンク１０２が装着されたキャリッジが記録媒体１０４の搬送方向に直交する方向に走査しながらインクを付与する記録方式を示した。しかしこれに限らず、記録媒体１０４の幅方向の長さ以上の長さを有するラインヘッドを設け、上記のような走査を行わずに印刷を行う印刷装置であってもよい。
【００１６】
図２は、制御回路部１０３の構成を示すブロック図である。制御回路部１０３は、入力インタフェース２０１、ＣＰＵ２０２、出力インタフェース２０３、ＲＯＭ２０４、ＲＡＭ２０５を含む。ＲＯＭ２０４は不揮発性のメモリであり、制御回路部１０３、並びに印刷装置全体を制御するための制御プログラムが格納されている。ＲＡＭ２０５は、ＲＯＭ２０４に格納されている制御プログラムや画像データ、各種パラメータなどの各種のデータを記憶するメモリである。
【００１７】
ＣＰＵ２０２は、不揮発性メモリであるＲＯＭ２０４に記憶されている制御プログラムをＲＡＭ２０５に読み出し、ＲＡＭ２０５上で実行することで、制御回路部１０３や印刷装置の全体を制御する。具体的には、ＣＰＵ２０２は、不図示の操作部や外部のコンピュータ、スマートフォンやタブレット等からユーザの指示を受け付け、その指示に応じて制御を行う。
【００１８】
入力インタフェース２０１は、不図示の外部、または内部メモリや外部のコンピュータ等から記録対象の画像データ、及び、記録ヘッドを駆動するための制御信号の入力を受け付ける。また入力インタフェース２０１は、それらの画像データや制御信号をＲＡＭ２０５とＣＰＵ２０２に送る。その際、ＣＰＵ２０２は、ＲＯＭ２０４に記憶されている制御プログラムをＲＡＭ２０５上で実行することで、画像データを、インク吐出のための記録信号に変換する。このように変換された記録信号が記録データとして制御信号とともに、出力インタフェース２０３から出力される。出力された記録データと制御信号とにより記録ヘッド１０１が駆動され、記録媒体１０４に画像が記録される。
【００１９】
例えばＪＰＥＧ形式で圧縮された画像データが入力インタフェース２０１から入力された場合、ＣＰＵ２０２は、この画像データに対してＪＰＥＧ伸長処理を行い、さらに伸長された画像データを記録信号に変換する。
【００２０】
なお、図２の例ではＣＰＵ２０２がＪＰＥＧ伸長処理、記録信号への変換処理を行っていたがこれに限らない。具体的には、上記ＪＰＥＧ伸長処理及び／または変換処理を行うハードウェア回路を制御回路部１０３とは別に設け、この回路がＪＰＥＧ伸長処理及び／または変換処理を行ってもよい。
【００２１】
本実施形態においては、入力インタフェース２０１に非可逆圧縮形式であるＪＰＥＧ形式で圧縮された画像データが入力され、ＣＰＵ２０２では、その画像データに対する伸長処理が実行され、また記録信号への変換処理が実行される。ＪＰＥＧ形式の圧縮では、圧縮前の元画像ではなかった情報が、圧縮、伸長によりモスキートノイズとして発生してしまうことがある。特に文字が中心となる文書画像については文字部周辺に発生するモスキートノイズにより文字の視認性を損なうことがある。例えば、インクジェット方式の印刷装置によりモスキートノイズが発生してしまった文書画像を印刷する場合、インクの滲みが発生することから、特に小さい文字の可読性を低くすることがあり、またインクが無駄に消費されてしまう。
【００２２】
そこで本実施形態では、記録信号への階調変換処理においては、画像データが圧縮率に応じた階調数で変換される。具体的には、圧縮率が高く、モスキートノイズが発生し易い場合、階調数「２」等、比較的少ない階調数が設定される。このように階調数「２」が設定されると、画像の各画素について「０（インク吐出が不要）」、「１（インク吐出が必要）」のいずれかに決定される。
【００２３】
例えば階調数「３」「４」等の場合に、モスキートノイズが発生した画素についてインクの吐出が必要と判定されてしまう場合がある。この場合に上記のように階調数「２」が設定されると、上記モスキートノイズが発生した画素については「０（インク吐出が不要）」と判定され、結果としてモスキートノイズが印刷結果に表れないようにすることができる。詳細については後述する。
【００２４】
なお、本実施形態では、非可逆圧縮された画像データの取得、またその画像データの伸長処理、階調変換による印刷データの作成等を、印刷装置において実行する例について説明する。例えばこれらの処理を、印刷装置に接続されたホスト装置においてプリンタドライバが実行する場合、各ホスト装置において当該プリンタドライバがインストールされなくてはならない。よって、印刷装置に種々のデバイス（ＰＣ、スマートフォン、タブレット等）が、種々のインタフェースを介して印刷を実行させる場合、それらのデバイス全てにプリンタドライバをインストールしなくてはならない。また、プリンタドライバは、印刷装置の機種ごとに設けられる場合があるため、ホスト装置が複数機種の印刷装置に印刷を行わせる場合、機種ごとのプリンタドライバがインストールされなくてはならない。
【００２５】
そこで本実施形態では、非可逆圧縮された画像データの取得、またその画像データの伸長処理、階調変換による印刷データの作成等を、印刷装置において実行する。そのためホスト装置は、プリンタドライバによる処理がなくても、印刷データに変換される前の画像データを送信することにより、印刷を実行させることができる。また圧縮処理された画像データを送信することができるため、伸長後のデータを送信する場合に比べて、印刷対象のデータを印刷装置に高速に送信することができる。
【００２６】
＜ファームウェアのブロック図＞
図３は本実施形態におけるファームウェア構成のブロック図の一例を示す。図３に示す各ブロックの機能が制御プログラムのプログラムモジュールとしてＲＯＭ２０４に格納されており、ＣＰＵ２０２がこれらのモジュールを実行することで、図３の各ブロックの機能が実現される。なお、これらのブロックの一部または全部を実行するためのハードウェア回路が別途設けられ、この回路が各機能の全部を実現する、または一部を実現してＣＰＵ２０２と連携することでも、図３で説明する機能を実現することができる。
【００２７】
入力インタフェース２０１に入力された画像データは、図３に示す処理が施され、記録ヘッドと接続された不図示の印刷エンジンが受信出来る解像度、階調数の記録信号に変換され、印刷エンジンに出力される。以下詳細に説明する。
【００２８】
＜各処理部の説明＞
付属情報取得部３０１は、画像データが圧縮される際に使用された各種パラメータを取得する。このパラメータには、当該画像データの圧縮率を特定するための情報が含まれる。例えば画像データがＪＰＥＧ圧縮されたＪＰＥＧファイルが入力された場合、ＪＰＥＧ圧縮の際に使用された量子化テーブルと画像データサイズが含まれている。これらの情報により量子化ステップ数を特定するためのＱ係数（Ｑｕａｎｔｉｚａｔｉｏｎ係数）を求めることができる。付属情報取得部３０１は、この量子化テーブル（Ｑテーブル）と画像データサイズ（縦、横の画素数）を取得する。
【００２９】
さらに、付属情報取得部３０１により取得された各種パラメータは、画像データ伸長部３０２に送られ、圧縮された画像データを伸長する処理に利用される。また、この各種パラメータは圧縮度算出部３０９に送られ、当該画像データが圧縮されたときの圧縮の度合いを算出する処理に利用される。
【００３０】
画像データ伸長部３０２は、符号化された画像データを復号化して画像データを抽出する処理部である。入力された画像データが圧縮されていた場合、画像データ伸長部３０２は、その画像データの圧縮形式に応じた伸長処理を実行することで、画像データの伸長を行う。この画像データ伸長部３０２における処理について図８を用いて説明する。なお図８は、圧縮形式がＪＰＥＧ形式であった場合の例である。
【００３１】
図８は、画像データの復号化処理のフローチャートを示す。なお、図８に示すフローチャートに示す処理に対応するプログラムが、画像データ伸長部３０２のプログラムモジュールとしてＲＯＭ２０４に格納されており、ＣＰＵ２０２がこのプログラムを実行することで図８の処理が実現される。
【００３２】
ＪＰＥＧのデータ形式である画像は、Ｎ個の８画素正方ブロック単位で圧縮処理が実行されており、図８では、伸長処理の処理対象のブロックを示す変数ｎを１に設定して初期化する（Ｓ８０１）。
【００３３】
そして、処理対象の８画素正方ブロックｎにハフマン復号化する（Ｓ８０２）。そして、付属情報取得部３０１が取得した量子化テーブルで逆量子化する（Ｓ８０３）。そして逆ＤＣＴ変換する（Ｓ８０４）。
【００３４】
次に上記変数ｎをインクリメントし（Ｓ８０５）、インクリメントされた変数ｎと当該画像の全ブロック数Ｎとを比較する（Ｓ８０６）。
【００３５】
変数ｎが全ブロック数Ｎ未満であれば、処理対象のブロックがまだ残っているものとして、Ｓ８０２〜Ｓ８０５の処理を繰り返す。なお、全ブロック数Ｎは、付属情報取得部３０１が取得した画像データサイズが示す縦横の画素数を８画素で除算することで求めることができる。
【００３６】
また、ハフマン符号化は、頻度の高いデータに短いビット数の符号を割当てる事で全体のビット数を減らす形で圧縮する方法である。Ｓ８０２におけるハフマン復号化は、そのハフマン符号化に対応するハフマン符号を用いて復号化する。
【００３７】
Ｓ８０３における逆量子化は、付属情報取得部３０１で取得した、圧縮する際に使用された量子化テーブルを用いて、逆量子化を行い画像データに展開する。
【００３８】
Ｓ８０４における逆ＤＣＴ変換は、画像データを直流成分（ＤＣ成分）と交流成分（ＡＣ成分）にするＤＣＴ変換されたデータを元の画像濃度成分に戻す逆変換を行う処理である。なお、ＪＰＥＧ圧縮は、輝度Ｙ、色差Ｃｂ、Ｃｒ形式で実施されることがあり、その場合、逆ＤＣＴ処理が施されたデータもＹＣｂＣｒの形になっている。以下の式に従い、画像信号値ＲＧＢを得る。
式１：
Ｒ＝（Ｙ＋１２８）＋１．４０２（Ｃｒ−１２８）
Ｇ＝（Ｙ＋１２８）−０．３４４１４（Ｃｂ−１２８）−０．７１４１４（Ｃｒ−１２８）
Ｂ＝（Ｙ＋１２８）＋１．７７２（Ｃｂ−１２８）
このように画像データ伸長部３０２により得られた画像信号値ＲＧＢが、画像補正部３０３に送られる。
【００３９】
画像補正部３０３は、ＲＧＢデータに対し、画像補正を施す。画像補正としては、全体の色を明るくする、または暗くするための明度調整や、コントラスト調整、カラーバランスの調整のほか、写真印刷を想定した逆光補正や赤目補正など、様々なものが挙げられる。なお、これらの補正は、本ブロックで一元的に処理を行うことで、記録装置に依存しない処理を実現することが可能となる。このように画像補正部３０３により補正が実行された画像が、解像度変換部３０４に送られる。
【００４０】
解像度変換部３０４は、画像を記録装置に対応した解像度に変換する。入力される画像データと記録装置の解像度から、必要な変倍量が導き出され、拡大または縮小の処理が施される。変倍処理としては、ニアレストネイバーやバイリニア、バイキュービック法などが存在する。これらの処理は、処理の特性や、処理速度、また当該印刷において設定されている印刷モードを考慮し、適宜選択される。このように解像度変換された画像が色補正部３０５に送られる。
【００４１】
色補正部３０５は、記録装置における出力のための色変換処理を施す。例えば、表示装置に表示された画像を記録する場合、表示と印刷では必ずしも色再現範囲は一致しない。例えば、ある色では記録装置の方が再現範囲は狭く、また別の色では逆のケースであったりする。それらを画像の劣化を最小限にし、適宜、色の圧縮・伸長を行う必要がある。
【００４２】
本実施形態では色補正部３０５は、それらの処理をＲＧＢ形式で変換を行う。つまり、本ブロックに入力されたＲＧＢ値を、デバイスの再現性を考慮し、記録装置向けのＲＧＢ値（以下、区別のためＤｅｖｉｃｅＲＧＢとする）に変換する。変換はマトリクスなどの演算で行うことも可能であるが、本実施形態では、３次元の色補正テーブル３１１を利用する。
【００４３】
入力されるＲＧＢ値を各色８ビット（２５６階調）とした場合、全組み合わせを保持する場合、その組み合わせを示すデータのデータ容量が大きくなってしまう。そのため、色補正テーブル３１１は所定の間隔で間引かれたものを使用する。
【００４４】
図４は、色補正テーブルの一例を示す。
【００４５】
図４の例では、各色２５６階調を１７点のグリッド点とし、それに対応するＤｅｖｉｃｅＲＧＢ値を記載したテーブルとなっている（１７＊１７＊１７＝４９１３グリッド点）。
【００４６】
グリッド点間の値は、補間処理を利用して算出する。補間方法については、本実施形態では四面体補間を利用した処理を記載する。四面体補間法とは、３次元空間の分割単位を四面体として、４つの格子点を用いる線形補間である。
【００４７】
図５は、四面体補間法を説明するための図である。以下の式２のように、まず、図５（ａ）に示すような、四面体への分割を行う。そして、ターゲットとなる点ｐが、分割された四面体のうち、いずれに属するかを決定する。その四面体の４頂点をそれぞれｐ０、ｐ１、ｐ２、ｐ３とし、同図（ｂ）に示すように、さらに細かい小四面体に分割される。各点の変換値をそれぞれｆ（ｐ０）、ｆ（ｐ１）、ｆ（ｐ２）、ｆ（ｐ３）とした場合、次式により補間値ｆ（ｐ）が求められる。
【００４８】
【数１】
2015122618.tif 000003
【００４９】
ここで、ｗ０、ｗ１、ｗ２、ｗ３は、各頂点ｐｉと反対向位置の小四面体の、四面体ｐ０ｐ１ｐ２ｐ３全体に対する体積比である。上記により、対象となるＲＧＢ値に対応したＤｅｖｉｃｅＲＧＢ値を算出するが、階調性を考慮し、出力は８ビット以上でも構わない。
【００５０】
また、色補正テーブルは、上述の通り記録装置の色再現範囲にも依存するため、例えば記録に使用する記録用紙が異なる場合は、それに応じたテーブルを準備してもよい。  このように色補正部３０５により印刷対象の画像に対して色補正処理が行われると、色補正後の画像がインク色変換部３０６に送られる。
【００５１】
インク色変換部３０６は、色補正部で決定されたＤｅｖｉｃｅＲＧＢ値を、インク色ＣＭＹＫへと変換する。変換は予め各ＤｅｖｉｃｅＲＧＢの組み合わせに対応したインク色の値が記述された色分解テーブル３１２を利用する。尚、本ブロックにおいても、色補正部３０５と同様、グリッド点１７のテーブルを利用する。
【００５２】
図６に色分解テーブル３１２の一例を示す。本実施形態では、インク色として、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の４色を例として、各グリッド点に対応した４色の値が記述されている。これらは、記録用紙の紙面上でインクが溢れないことや、インク同士が隣接した際、滲まないことを考慮して、決定された値である。つまり、色分解テーブル３１２についても、記録用紙が異なる場合、それに応じたテーブルを用意してもよい。
【００５３】
上述の色補正部と同様、対象となるＤｅｖｉｃｅＲＧＢ値に対応したインク分解後の値は、図５を用いて説明した四面体補間処理を適用して求めればよい。このように画像データがＣＭＹＫのデータに変換されると、その変換後のデータが濃度補正部３０７に送られる。
【００５４】
インクジェット記録の場合、記録用紙上にドットとして塗布されるインク量が多くなるにつれ、ドットの重なりが増加し、記録濃度が上昇しにくくなる。そのため濃度補正部３０７は、濃度を補正し、濃度の応答性を均一にする。これを行うことにで、上記した色補正テーブル３１１や色分解テーブル３１２作成時の精度が確保しやすくなる。補正は、Ｃ、Ｍ、Ｙ、Ｋの各色について行えばよいため、ここでは１次元の濃度補正テーブル３１３を利用する。各色の入力８ビット（２５６階調）に対応したテーブルを用意しておけばよい。特に間引くようなことは行わず、各信号値に対応した値が記述されたテーブルがあればよい。このように濃度補正が行われたデータが、階調変換部３０８に送られる。
【００５５】
階調変換部３０８では、インク色変換され、濃度補正を施された多ビットデータを、記録装置で記録可能な階調数に従って、記録信号に変換する。ここでは階調変換処理の説明のため、記録（１）／非記録（０）の２階調（１ビット）の記録信号について説明する。階調変換方法としては、画像の高周波成分を除去し、視覚に好適な階調再現可能な誤差拡散法とする。また、多ビットデータの入力信号として、８ビットの０〜２５５を例に説明する。
【００５６】
図７は誤差拡散法における、誤差分配方法を示す図である。ターゲットピクセルの信号値Ｌとした時、閾値ＴＨと比較を行う。０〜２５５を２値にするため、ここでの閾値は１２７とする。その大小により、
Ｌ＞ＴＨ（１２７）    ・・・・・・    １（記録）
Ｌ≦ＴＨ（１２７）    ・・・・・・    ０（非記録）
と判定される。そして、判定結果に応じて量子化代表値Ｖを、
１（記録）    ・・・・・・    ２５５
０（非記録）  ・・・・・・    ０
と設定することで、発生する誤差Ｅ（＝Ｌ−Ｖ）は、当該ターゲットピクセルの周辺の画素に分配される。具体的には、図７に示す分配係数の割合に従って、ターゲットピクセルの左下、下、右下、右の画素に誤差が分配される。なお、右にのみ分配対象の画素がある場合、誤差がそのまま、右の画素に加算される。そして、当該ターゲットピクセルの右の画素が新たなターゲットピクセルとなり、その信号値Ｌに、分配された誤差Ｅａ（Ｅ×７／１６）を加算した値Ｌａに対し、閾値との比較を行う。従って、
Ｌａ＞ＴＨ（１２７）    ・・・・・・    １（記録）
Ｌａ≦ＴＨ（１２７）    ・・・・・・    ０（非記録）
と判定される。なお、量子化代表値Ｖに対する輝度値の誤差Ｅａは、−１２７〜＋１２６になるため、上記閾値と比較されるＬａは−１２７〜＋３８１の値となる。
【００５７】
この処理を画像の右下方向に向かってすべてのピクセル、すべてのインク色Ｃ、Ｍ、Ｙ、Ｋに対して行うことで、記録可能な１ビットのインク色データ（記録信号）を得ることが出来る。
【００５８】
このように生成されたインク色データが印刷エンジンに送られ、印刷エンジンではそのインク色データに従ってインクの吐出の要否が判定される。そして、その判定に従ってインクが記録ヘッド１０１から吐出されることで、入力インタフェース２０１に入力されたＪＰＥＧ形式の画像データに対応する画像が記録媒体に記録される。
【００５９】
なお、上記の例では、階調変換部３０８が、階調数「２」に階調変換する例について説明した。ただし、本実施形態では画像データが圧縮されていたときの圧縮の度合いに応じた階調数により、インク色データ（記録信号）が生成される。具体的には、圧縮度算出部３０９において画像データの圧縮の度合いが算出され、パラメータ決定部３１０においてその圧縮の度合いに応じた階調数が決定される。階調変換部３０８では、このように決定された階調数となるように、階調変換が行われる。以下、圧縮度算出部３０９、パラメータ決定部３１０による処理の詳細について説明する。
【００６０】
圧縮度算出部３０９は、付属情報取得部３０１により取得された、圧縮の際に使用された量子化テーブルから、圧縮度を算出する。具体的には、量子化テーブルと、図１４に示す予め記録されている圧縮Ｑ係数に対応する量子化テーブルとの類似度の算出を行う。そして、予め記録されている量子化テーブルには、圧縮度を示すＱ係数が設定されている。類似度が高い量子化テーブルのＱ（Ｑｕａｎｔｉｚａｔｉｏｎ）係数を圧縮度として判定する方法について説明する。
【００６１】
図１４は、印刷装置に予め記憶されている量子化テーブルの一例を示す図である。図１４（ａ）はＱ係数を５０とし、（ｂ）はＱ係数７５、（ｃ）はＱ係数９０とする。Ｑ係数が大きいほど、圧縮の度合いが小さく（圧縮率が低く）、圧縮・伸長による劣化の少ない量子化テーブルとなる。これらの量子化テーブルが、ＲＯＭ２０４に格納されている。
【００６２】
圧縮度算出部３０９は、付属情報取得部３０１が取得した当該ＪＰＥＧデータの量子化テーブルと、図１４に示す量子化テーブルを比較し、その類似度を判定する。図１４に示すように、ＪＰＥＧの量子化テーブルは、輝度と色差で各々８×８の６４個のテーブルを保持している。そして、以下の式３のように、当該印刷対象のＪＰＥＧ画像の量子化テーブルと、図１４に示した予めＲＯＭ２０４に記憶されている複数の量子化テーブルそれぞれとの差分を算出する。
【００６３】
【数２】
2015122618.tif 000004
【００６４】
ここで、Ｙａ（ｘ、ｙ）、Ｃｂａ（ｘ、ｙ）、Ｃｒａ（ｘ、ｙ）は、座標位置（ｘ、ｙ）における、予め保持されＱ係数と紐付けられている量子化係数のそれぞれ、輝度Ｙ、色差Ｃｂ、色差Ｃｒの量子化値の値を示す。また、Ｙｂ（ｘ、ｙ）、Ｃｂｂ（ｘ、ｙ）、Ｃｒｂ（ｘ、ｙ）は、座標位置（ｘ、ｙ）における、対象とするＪＰＥＧの付属情報から取得した、それぞれ輝度Ｙ、色差Ｃｂ、色差Ｃｒを示す。
【００６５】
そして、図１４に示す複数の量子化テーブルそれぞれに対応する類似度と、各量子化テーブルに対応するＱ係数に応じて、当該ＪＰＥＧデータが圧縮されたときのＱ係数を判定する。これにより、図１４に示す量子化テーブルのＱ係数は、５０、７０、９０と離散的であるが、当該印刷対象のＪＰＥＧデータのＱ係数として、５０未満の値から、９０よりも大きな値まで判定することができる。
【００６６】
なお、圧縮度を算出する方法はこれに限らず、量子化テーブルに重みを付けて圧縮度を算出してもよい。以下の式４のように、類似度Ｒとして、量子化テーブルの差分に対して重みを設定する。例えば、輝度の量子化テーブルの差分の重みＷｙを高くして、色差の量子化テーブルの差分の重みＷｃｂ、Ｗｃｒを低く設定する。これは、画素データの濃度差が、色差に比べ輝度の方が、視覚的に目立ちやすいためで、輝度の量子化テーブルの差分が小さい方を優先する方法をとってもよい。
【００６７】
【数３】
2015122618.tif 000005
【００６８】
また、例えば、６４個の量子化テーブルの中で、重みをつけてもよい。いずれにせよ、画像データが圧縮された程度を示すことができれば、種々の方法を採用することができる。
【００６９】
そして、類似度Ｒが最も小さいものを選択し、そのＱ係数を圧縮度とする。なお、本実施形態ではＱ係数が３段階であったが、さらなる多段階にすることも可能である。さらにＲの値に基づき、さらに細かいＱ係数を設定しても構わない。
【００７０】
このように圧縮度算出部３０９において算出した圧縮度は、パラメータ決定部３１０に送られる。
【００７１】
パラメータ決定部３１０は、圧縮度算出部３０９により算出された圧縮度をもとに、パラメータを決定する。具体的には、パラメータ決定部３１０において、階調変換部３０８による階調変換で用いられる階調数が決定される。この決定処理について、図１３のフローチャートを用いて処理の詳細を説明する。
【００７２】
図１３は、本実施形態による階調変換処理の一例を示すフローチャートである。なお、図１３に示すフローチャートに示す処理に対応するプログラムが、画像データ伸長部３０２のプログラムモジュールとしてＲＯＭ２０４に格納されており、ＣＰＵ２０２がこのプログラムを実行することで図１３の処理が実現される。
【００７３】
Ｓ１３０１において、付属情報取得部３０１が、圧縮された画像データと、画像データの付属情報として圧縮に関する情報とを取得する。本実施形態では、ＪＰＥＧで符号化された画像データを取得する。
【００７４】
Ｓ１３０２において、付属情報取得部３０１が、Ｓ１３０１で取得された画像データから付属情報を取得し、圧縮パラメータであるＱテーブルを取得する。
【００７５】
次に、Ｓ１３０３で画像データ伸長部３０２が、Ｓ１３０２で取得された画像データとＱテーブルを用いて上述した図８に示す復号化処理を実行することで、圧縮された画像データに対して伸長処理を行う。
【００７６】
次にＳ１３０４で圧縮度算出部３０９が、図１４並びに式３、式４で説明したように、Ｓ１３０２で取得されたＱテーブルと、図１４に示したＲＯＭ２０４に格納されている複数のＱテーブルとの類似度を判定する。そして、類似度の高いＱテーブルに対応した圧縮度（Ｑ係数）を特定することで、圧縮度を算出する。
【００７７】
次に、Ｓ１３０５でパラメータ決定部３１０が、Ｓ１３０４で算出された圧縮度に応じて階調数を決定する。なお、Ｓ１３０５における処理では、図１２を用いて後述する、Ｑ係数と階調数との対応関係を示すテーブルを参照することにより、圧縮度に応じた階調数を決定する。
【００７８】
次に、Ｓ１３０６では階調変換部３０８が、Ｓ１３０５で設定された階調数に従い、階調変換を行う。ここでは説明を省略したが、Ｓ１３０６における階調変換の前に、画像補正部３０３、解像度変換部３０４、色補正部３０５、インク色変換部３０６、濃度補正部３０７による、上述した画像補正、解像度変換、色補正、濃度補正が行われている。なお、濃度補正については、階調変換の後に実行されてもよい。
【００７９】
Ｓ１３０６における処理が行われると、階調変換された画像が印刷エンジンへ出力される。
【００８０】
以下、上記のＳ１３０５において決定される、圧縮度に応じた階調数について説明する。
【００８１】
本実施形態では、付属情報のＱテーブルから算出した圧縮度を元に、階調数を算出する。その際、圧縮度が大きく、画像劣化が大きくなる恐れがある場合に、その階調数を、圧縮度が小さい場合の階調数より少なくする。
【００８２】
以下、本実施形態では、圧縮度算出部３０９で算出した圧縮度を取得し、パラメータ決定部３１０で、階調変換後の階調数を決定する。階調数の決定では、圧縮度に応じた階調数を予め複数用意しておき、付属情報取得部３０１が取得した圧縮度に応じた階調数が選択される。
【００８３】
圧縮度に応じた階調数は、画像を符号化、復号化した際に発生するモスキートノイズの発生数を元に予め設定される。階調変換後の階調数の決定を行うための処理の説明として、以下の順に説明を行う。まずモスキートノイズの発生数の算出方法について説明する。次に、モスキートノイズの発生数から階調数を決定する方法について説明する。最後に、圧縮度に応じて階調数を決定する方法について説明する。
【００８４】
なお、これらの処理は、図１〜３に示した印刷装置においてＣＰＵ２０２の制御により実行されてもよいし、或いは、当該印刷装置とは異なる各種のコンピュータにより実行され、その処理の結果が、例えばＲＯＭ２０４に格納されてもよい。ここでいう処理の結果とは、圧縮の度合いに対応する階調数を示すテーブルである。このテーブルについては後述する。
【００８５】
図９は、モスキートノイズの発生数の算出処理を示すフローチャートである。なお、図９の例では、文字データに対して発生するモスキートノイズの画素数を算出する。文字については、そのエッジの位置、長さ、角度等でユーザは文字の内容を認識するため、モスキートノイズの影響が写真等の自然画像よりも大きい。そのため、図９では文字データをサンプルとしてモスキートノイズを算出する。具体的には、サンプルのデータとして、任意の文字データをアンチエイリアス処理したＲＧＢ形式の画像データに変換した文字画像データを用いる。
【００８６】
Ｓ９０１では、プリンタ側に用意されているＪＰＥＧの復号化処理で利用する逆量子化を行うためのＱテーブルを選択する。例えば、３つのＱテーブル、Ｑａ、Ｑｂ、Ｑｃを予め用意しておく。Ｓ９０１では、３つのＱテーブルの中から１つ選択する。
【００８７】
次に、Ｓ９０２では、Ｓ９０１で選択されたＱテーブルを用いて、予め用意されている文字画像データに対してＪＰＥＧの符号化処理を行う。具体的には、ＲＧＢ形式のデータで構成されている画像データを、ＹＣｂＣｒ形式に色空間変換処理を行う。色空間変換処理は、赤（Ｒ）、緑（Ｇ）、青（Ｂ）の光の三原色の値から、輝度Ｙと色差（青Ｃｂ、赤Ｃｒ）の３成分に変換する処理である。変換式は以下の通り。
式５：
Ｙ＝０．２９９Ｒ＋０．５８７Ｇ＋０．１１４Ｂ−１２８
Ｃｂ＝−０．１６８７Ｒ−０．３３１３Ｇ＋０．５Ｂ＋１２８
Ｃｒ＝０．５Ｒ−０．４１８７Ｇ−０．０８１３Ｂ＋１２８
次に、ＹＣｂＣｒ形式のデータをサンプリング処理する。サンプリング処理は、８×８画素を１ブロックとして、縦２、横２の計４ブロックの中で、輝度情報、色差情報の内、色差情報を間引く処理を行う処理である。
【００８８】
例えば、Ｙ：Ｃｂ：Ｃｒ＝４：１：１の比率で、データを間引く。この場合、色差Ｃｂ、Ｃｒは、縦、横が１画素おきに間引かれることを示す。
【００８９】
次に、画像をブロック単位で分割し、ブロック毎に空間周波数成分に変換する。空間周波数成分の変換は、ブロック毎に空間周波数に変換し、直流成分（ＤＣ）と交流成分（ＡＣ）に分割し、ブロック毎に、量子化により誤差を切り捨てて、画像サイズ低減を行う処理である。
【００９０】
例えば、ＪＰＥＧでは、離散コサイン変換（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ:ＤＣＴ）を行う。
【００９１】
次に、空間周波数成分に変換したデータに対し量子化処理を行う。量子化処理は、Ｓ９０１で選択したＱテーブルを用いて、整数で割って端数の切り落としを行い、細かい誤差を切り捨てる。なお、このとき低周波成分に対する量子化ステップを、高周波成分に対する量子化ステップよりも細かくする。画像における低周波成分の方が高周波成分よりも認識されやすいため、上記のように高周波成分の方をより削除されるように量子化することで、画像の劣化が目立ちにくいようにデータ量を削減することができる。
【００９２】
そして、量子化されたデータに対して、符号化処理が行われる。ＪＰＥＧの符号化処理では、ハフマン符号化を用いて、頻度の高いデータに短いビット数の符号を割り当て全体のビット数を減らす処理を行う。
【００９３】
以上のように、Ｓ９０１において選択されたＱテーブルを用いて、予め用意した文字画像データに対してＪＰＥＧの符号化処理が行われる。
【００９４】
次に、Ｓ９０３では、Ｓ９０１で選択されたＱテーブルで符号化した画像データを、復号化する処理を行う。復号化処理に関しては、符号化処理と逆の処理を行う。具体的には、ＪＰＥＧの符号化処理されたデータに対し、復号化を行うためにハフマン符号を解読する。次に、符号化処理する際に選択したＱテーブルを用いて逆量子化処理を行う。次に、逆量子化されたブロック毎のデータに対し、逆ＤＣＴ変換を行う、ＹＣｂＣｒ形式のデータに変換する。そして、式１に示す色空間変換処理で、ＹＣｂＣｒ形式のデータをＲＧＢ形式のデータに変換する。
【００９５】
以上のように、選択したＱテーブルを用いて、予め用意した文字画像データに対してＪＰＥＧの符号化処理されたデータに対し、復号化処理を行い、符号化前の画像データフォーマットに変換される。ここまでで、ＪＰＥＧフォーマットによる符号化、復号化を行って、元の画像よりも劣化した文字画像データが生成される。
【００９６】
Ｓ９０４では、Ｓ９０３でＪＰＥＧ復号化された文字画像データに対し、予め設定した階調数を設定する。印刷エンジンに対応する複数の階調数の中から１つ設定する。例えば印刷エンジンが濃度に応じた２段階の方法で記録可能である場合、印刷エンジンに対応する階調数が「２」と「３」となる。具体的には、印刷エンジンが１画素に対して２ドット、または１ドットのインクを吐出可能である場合、階調数は、「０（インクを吐出しない）」、「１（インクを１ドット吐出する）」、「２（インクを２ドット吐出する）」の階調数「３」を設定することができる。或いは、「０（インクを吐出しない）」、「１（インクを１ドットもしくは２ドット吐出する）」の階調数「２」を設定することもできる。
【００９７】
上記の例では、Ｓ９０４において、階調数「２」、「３」このいずれかを選択する。
【００９８】
Ｓ９０５では、図３の画像補正部３０３、解像度変換部３０４、色補正部３０５、インク色変換部３０６、濃度補正部３０７、階調変換部３０８と同等の処理を行い、印刷データを生成するための画像処理を行う。
【００９９】
なお、上記のように階調変換部３０８による階調変換と同等の処理を行うが、階調数毎に、階調を判定する閾値が予め設定されている。例えば多値データの画素値が０〜２５５の場合、階調数２のとき階調毎の閾値を１２７とし、また階調数３のとき階調毎の閾値を６４と１９２とする。
【０１００】
階調変換部３０８では、この階調毎の閾値に従って、ＪＰＥＧ符号化、復号化され各画像処理されたデータに対し、階調変換を行う。階調変換は、予め設定されている閾値に従い、０〜２５５の入力データに周辺誤差を加算したＬａを、０、１もしくは、０、１、２といった数値に階調変換を行う。例えば、階調数が２と３の場合を以下に示す。
【０１０１】
階調数が２の場合、０〜２５５の多値データを２値にするため、ここでの閾値ＴＨが１２７となり、画素毎に閾値ＴＨと大小を比較し、以下のように０、１の値に階調変換される。
Ｌａ＞ＴＨ（１２７）    ・・・・・・    １（記録）
Ｌａ≦ＴＨ（１２７）・・・・・・    ０（非記録）
階調数が３の場合、０〜２５５の多値データを３値にするため、ここでの閾値ＴＨＡが６４、閾値ＴＨＢが１９２となり、画素毎に閾値ＴＨと大小を比較し、以下のように０、１、２の値に階調変換される。
Ｌａ＞ＴＨＢ（１９２）                    ・・・・・・    ２（記録）
ＴＨＢ（１９２）≧Ｌａ＞ＴＨＡ（６４）    ・・・・・・    １（記録）
Ｌａ≦ＴＨＡ（６４）                      ・・・・・・    ０（非記録）
以上のように、設定した階調数によって、ＪＰＥＧ符号化、復号化され各画像処理されたデータに対し階調変換処理が実行される。なお、上記の階調数「３」の場合、量子化代表値Ｖに対する輝度値の誤差Ｅａは、−６４〜＋６２となるため、上記閾値と比較されるＬａは、−６４〜＋３１７の値となる。
【０１０２】
なお、本実施形態では中間調処理として図７で説明した誤差拡散を想定しているため、階調数が「３」の場合の閾値を６４、１９２としている。ただし、例えば中間調処理がディザ変換である場合、多値データの階調数０〜２５５を３分割したときの、８５、１７０を閾値として設定してもよい。
【０１０３】
そして、Ｓ９０６では、ＪＰＥＧ符号化、復号化、階調変換前のＳ９０１に入力される文字画像データの白領域に対し、Ｓ９０５の出力である階調変換後の画像データとの差分を算出する。
【０１０４】
具体的には、元の文字画像データにおける白領域の画素毎に、階調変換後の結果が、０以外の記録領域に判定された画素数を算出する。即ち、本来白（輝度値２５５）のデータであるが、ＪＰＥＧ圧縮、伸長によりノイズが発生し、さらに階調変換によりインクを吐出すべき画素と判定された画素の数を算出する。例えば、階調数が２の場合は、１（記録）と判定された数、階調数が３の場合は、２（記録）、１（記録）と判定された画素数を、白領域に対して算出する。
【０１０５】
このように算出された画素（本来白であるが、Ｓ９０２〜Ｓ９０５の処理によりインク吐出の対象となった画素）の数が多いほど、Ｓ９０１で選択されたＱテーブルが、モスキートノイズが印刷結果に与える影響が大きいテーブルであると判定することができる。
【０１０６】
Ｓ９０７では、Ｓ９０４における設定対象となり得る階調数があるか判定される。まだＱテーブルが残っている場合、Ｓ９０４に戻り、未設定の階調数を設定し、当該Ｑテーブルを用いてＳ９０５、Ｓ９０６の処理を実行する。
【０１０７】
Ｓ９０７において、当該印刷エンジンに対して設定可能な階調数の全てに対してＳ９０２〜Ｓ９０６の処理を実行したと判定されると、Ｓ９０８に進む。
【０１０８】
Ｓ９０８では、Ｓ９０１における選択対象となるＱテーブルがあるか判定される。まだＱテーブルが残っている場合、Ｓ９０１に戻り、未選択のＱテーブルを選択し、当該Ｑテーブルを用いてＳ９０２、Ｓ９０３におけるＪＰＥＧ符号化、復号化処理を行い、またＳ９０４〜Ｓ９０６の処理を実行する。
【０１０９】
以上のＳ９０１〜Ｓ９０８に示した処理を実行することにより、Ｑテーブル‐階調数の全ての組み合わせについて、本来白の画素であったが、ＪＰＥＧ符号化、復号化処理、階調変換処理によりインクの吐出が必要と判定される画素の画素数を算出する。
【０１１０】
そして、Ｓ９０９において、Ｑテーブルと階調数の組み合わせで算出された上記画素数の傾向から、圧縮度に応じた階調数を決定する。具体的には、比較的圧縮度が高いＱテーブルに対しては、階調数を少なく決定し、比較的圧縮度が低いＱテーブルについては、階調数を多く決定する。
【０１１１】
そして、Ｓ９０９において決定された、Ｑテーブルに対応する階調数を示すテーブルが、ＲＯＭ２０４に格納される。そして、非可逆圧縮形式で圧縮された印刷対象の画像データが入力インタフェース２０１に入力された場合、上述の図１３におけるＳ１３０５では、Ｓ１３０２で取得されたＱテーブルに対応する階調数が上記テーブルから取得される。そして、その階調数が階調変換後の階調数として決定される。
【０１１２】
Ｓ９０９における階調数決定処理ついて、図１０、１１を用いて説明する。
【０１１３】
図１０は、Ｑテーブルと階調数の組み合わせに対応する、Ｓ９０６において算出された画素数の一例を示す図である。
【０１１４】
図１０では、ＱテーブルＱａ、Ｑｂ、Ｑｃの順に圧縮度が小さい（圧縮度を示すＱ係数が大きく、画像劣化度が少ない）Ｑテーブルである。ＱテーブルＱａは、圧縮度が小さく、また画像劣化度合いが少ないため、上記の画素数がＱｂ、Ｑｃと比べ少ない。
【０１１５】
また、図１０に示す階調数は、印刷エンジンが持つ階調変換処理の階調数を示している。この傾向として、階調数が多い程、上記の画素数が多い傾向を示している。この理由について図１１を用いて説明する。
【０１１６】
図１１は、元画像の白領域にＪＰＥＧ圧縮、伸長を行った後の輝度Ｙのヒストグラムを示す。図１１におけるヒストグラムの横軸が輝度値、縦軸がその輝度値を持つ画素の数であり、ＱテーブルがＱａ、Ｑｂ，Ｑｃのそれぞれの場合のヒストグラムを図１１の（ａ）、（ｂ）、（ｃ）に示す。なお、対象となる白領域は３つのヒストグラムにおいて共通であり、各ヒストグラムにおける合計の画素数は同じである。
【０１１７】
例えば白領域の画像データを圧縮しない場合や、可逆圧縮、伸長を行った場合、処理対象となった全ての画素が元の輝度値（２５５）となる。そのため図１１に示すようなヒストグラムを作成した場合、ヒストグラムの最も右の輝度値２５５のみに画素数がカウントされ、その他の輝度値については画素数「０」となる。
【０１１８】
一方、図１１においては、非可逆圧縮であるＪＰＥＧ圧縮で圧縮、伸長を行ったために、輝度値２５５よりも低いグレーの画素として、画素数がカウントされる。また圧縮度が大きいほど（Ｑａ⇒Ｑｂ⇒Ｑｃの順に）、画像劣化が大きいため、ＪＰＥＧの符号化、復号化により、その画素数が多くなる。さらに、圧縮度が大きいほど、画素値が黒（輝度値０）に近くなり、即ち多値データにおいてモスキートノイズが目立ちやすくなる。
【０１１９】
また、階調数が「３」のとき、閾値１１０１を６４、閾値１１０２を１９２として、階調数が「２」のとき閾値１１０３を１２８とする。この場合、階調変換を行った後、白と判定されない輝度Ｙ値（インクを吐出する輝度値）は、階調数が「３」のとき０〜１９２となり、階調数が「２」のとき０〜１２８となる。即ち、階調数が「３」である方が、本来白であった画素がＪＰＥＧ圧縮、伸長によりモスキートノイズとなった場合、階調変換によりインクが吐出されてしまう可能性が高いことがわかる。
【０１２０】
さらに、中間調処理として図７を用いて説明したような誤差拡散方法を用いた場合、ある画素の輝度値に、他の画素に対する誤差が加算される。これにより、例えば当該画素の輝度値自体は階調変換により「０（インクの吐出なし）」と判定されるものであったとしても、誤差が加算された輝度値については「１（インクが吐出される）」と判定されてしまうことがある。例えばＱテーブルＱａの場合、図１１（ａ）に示すように、全ての画素の輝度値が１９３〜２５５に含まれている。しかし、上記の誤差の影響により、図１０においてＱテーブル：Ｑａ階調数：３の場合に、５個の画素が階調変換により「１（インクが吐出される）」と判定されてしまう。
【０１２１】
特に印刷対象が黒文字の場合、文字のエッジ部付近の画素は、多値データにおいてグレー色であることがある。この場合、このグレー色の画素が階調変換において２値や３値となった場合、その誤差が大きく、またその大きな誤差がその周辺にある白画素に加算されてしまう。これにより、階調変換の結果、文字周辺にモスキートノイズが表れやすい。
【０１２２】
即ち図１１で示したように、圧縮度を示すＱ係数が低いほど（圧縮度が高いほど）、本来白のデータがＪＰＥＧ圧縮、伸長により、輝度値が小さくなり、階調変換により「１（インクが吐出される）」と判定されやすいことがわかる。また輝度値が小さくなることにより、階調変換により「０（インクの吐出なし）」と判定されたとしても、その差分が他の画素に影響して、その他の画素が「１（インクが吐出される）」と判定されやすくなる。即ち、Ｑ係数が低いほど、モスキートノイズが印刷結果に影響を及ぼしやすいことが分かる。
【０１２３】
また階調数が多いほど、「１（インクが吐出される）」と判定する基準となる輝度値が大きくなるため、モスキートノイズが印刷結果に影響を及ぼしやすいことが分かる。
【０１２４】
従って、図１０に示したように、圧縮度を示すＱ係数が低いほど（圧縮度が高いほど）、また階調数が多いほど、インクが吐出される画素が多くなり、結果としてモスキートノイズが印刷結果に影響を及ぼしやすくなる。
【０１２５】
上記の図９におけるＳ９０９では、図１０に示した、Ｑテーブルと階調数の組み合わせに対する、インクが吐出される画素数の傾向から、Ｑテーブルに対応する階調数を決定する。上記のように、ある範囲の圧縮度については階調数を少なくした方がモスキートノイズの印刷結果への影響を少なくすることができる。しかし、階調数を少なくした場合、隣接する画素間の差分が強調され、ジャギーが発生する恐れがある。
【０１２６】
例えば文字データなどは、階調数が多い方が階調性を高く表現できるため、斜めの線などをなめらかに表現することができる。例えば、アンチエイリアスされた文字データは、黒と白の画素だけではなく、斜めの線を滑らかに表現するために、グレーの画素を含んでいる。グレーの画素を再現できるように出来れば階調性を高く設定しておいた方が望ましい。
【０１２７】
そこでＳ９０９では、サンプルの文字データに対してのモスキートノイズの数が、１００以内であることを条件に、なるべく大きな階調数を決定する。図１０の例では、ＱテーブルのＱａに対しては階調数３、Ｑｂに対しては階調数３、Ｑｃに対しては階調数２が決定される。
【０１２８】
またＳ９０９では、上記のようにサンプルとしてのＱテーブルＱａ、Ｑｂ、Ｑｃに対して決定した階調数に基づき、圧縮度を示すＱ係数の範囲に対して、階調数を決定する。
【０１２９】
圧縮度を示すＱ係数が、ＱテーブルＱｃに基づく所定の閾値（例えば５０）より低い場合（圧縮度が所定の閾値より大きい場合）には、画像劣化が大きく、階調数が多いとモスキートノイズの印刷結果への影響が大きくなったしまう傾向がある。この場合には、上記のようにＱｃに対して決定した少ない階調数「２」を設定しておくことによって、モスキートノイズの印刷結果への影響を低減した印刷結果を得ることができる。
【０１３０】
また、圧縮度を示すＱ係数が、ＱテーブルＱａに基づく所定の閾値（例えば８０）以上の場合（圧縮度が所定の閾値以下の場合）には、画像劣化が比較的少なく、階調数が多かったとしてもモスキートノイズの影響は比較的少ない傾向がある。よってこの場合には、モスキートノイズ低減よりもジャギーの低減を優先することができる。そこで上記のようにＱａに対して決定した比較的大きな階調数「３」を設定しておくことによって、ジャギーの少ない印刷結果を得ることができる。
【０１３１】
同様に、圧縮度を示すＱ係数が、ＱテーブルＱｂに基づく所定の範囲（例えば８０未満、５０以上）の場合（圧縮度が所定の範囲の場合）には、上記のようにＱｂに対して決定した比較的大きな階調数「３」を設定する。
【０１３２】
このようにＳ９０９において決定された、圧縮度に対応する階調数を、図１２を用いて説明する。図１２は、圧縮度を示すＱ係数に対する階調数を示すテーブルの一例である。図１２における「圧縮度」はＱ係数を示し、Ｑ係数が高いほど圧縮度が低く、伸長時の画像劣化が小さい。逆に、Ｑ係数が低いほど圧縮度が高く、伸長時の画像劣化が大きい。そして図１２においては、そのＱ係数とＱテーブルが対応づけられており、またＱテーブルに対して階調数が対応づけられている。
【０１３３】
図１２に示す、Ｑ係数と階調数との対応関係を示すテーブル１２００が、ＲＯＭ２０４に格納される。上記の図１３におけるＳ１３０４では、パラメータ決定部３１０が、ＲＯＭ２０４に格納されている図１２に示すテーブルを参照することにより、圧縮度に応じた階調数を決定する。
【０１３４】
なお、図１２においては、印刷設定における印刷媒体の種類、印刷品位（標準、きれい）に応じて階調数が対応付けられている。上記のようにＳ９０９において決定された階調数は、紙種が普通紙であり、印刷品位が標準の場合の階調数として採用される。
【０１３５】
一方、印刷品位が「きれい」の場合、ユーザは、印刷品位「標準」に比べて色再現性を高くしたいものと判断することができる。よって、Ｓ９０９において決定された階調数よりも多い階調数が設定される。なお、印刷品位「きれい」の場合の階調数は、Ｓ９０９において決定された階調数を基準に決定されてもよいし、或いは、例えば印刷エンジンが印刷可能な最大の階調数（例えば階調数「４」）を設定してもよい。
【０１３６】
この場合、上述した図１３に示したＳ１３０５でパラメータ決定部は、Ｓ１３０４で算出された圧縮度に加えて、印刷設定における印刷品位を基にテーブル１２００を算出することで、階調変換後の階調数を決定する。
【０１３７】
例えば圧縮度を示すＱ係数が９０と判定され、且つ印刷設定の印刷用紙の種類が「普通紙」、印刷品位が「標準」の場合、階調数は「３」となる。また、圧縮度を示すＱ係数が４０と判定され、印刷用紙の種類が「普通紙」、印刷品位が「きれい」の場合、階調数は「３」となる。このように、印刷用紙の種類や印刷品位などの印刷設定と圧縮度との組み合わせにより、階調数が予め設定される。
【０１３８】
なお、図１２に示したテーブル１２００においては省略したが、印刷用紙の種類が「光沢紙」等の写真印刷に主に使用される写真紙についても階調数がテーブルにおいて設定される。写真紙の場合、文字データよりも自然画像が印刷されることが多く、また自然画像の場合、文字データよりもモスキートノイズが目立ちにくく、またジャギーが少ないことが望まれることが多い。よって、印刷用紙の種類が「光沢紙」等の写真紙の場合、普通紙の場合よりも階調数が多くなるよう、テーブルを作成してもよい。
【０１３９】
なお上述したように、図９に示した処理により図１２に示すテーブル１２００が作成され、そのテーブル１２００がＲＯＭ２０４に格納される。そして、印刷時における階調変換においてそのテーブルが参照される。この図９に示す処理は、印刷装置においてＣＰＵ２０２の制御により実行されてもよいし、或いは、当該印刷装置とは異なる各種のコンピュータにより実行され、その処理の結果がＲＯＭ２０４に格納されてもよい。
【０１４０】
図９に示す処理を印刷装置が行う場合、図１４に示したテーブルを、図９におけるＪＰＥＧ符号化（Ｓ９０２）、ＪＰＥＧ復号化（Ｓ９０３）において使用してもよい。これにより、圧縮度に対応する階調数決定処理（図９）と、当該印刷対象の画像の圧縮度算出処理（Ｓ１３０４）に共通のＱテーブルを用いることができる。そのため、それぞれの処理に使用するＱテーブルをＲＯＭ２０４に格納する場合に比べて、ＲＯＭ２０４に格納されるＱテーブルの数を少なくすることができる。
【０１４１】
以上の処理により、非可逆圧縮方式で圧縮された印刷対象の画像の圧縮度に応じた階調数に従って、当該画像に対して階調変換を行うことができる。例えば、Ｑ係数がある範囲の場合、Ｑ係数が低い場合（圧縮度が高く、画像劣化が起きやすい場合）の階調数を、Ｑ係数が高い場合（圧縮度が低く、画像劣化が起き難い場合）の階調数より少なく設定する。
【０１４２】
このような設定することで、モスキートノイズが発生しやすく、また印刷結果に影響が大きな画像に対しては、階調数を少なくすることで、印刷結果に対するモスキートノイズの影響を小さくすることができる。一方、モスキートノイズの印刷結果に対する影響が比較的小さな画像に対しては、階調数を多くすることで、階調性のある印刷結果を提供することが可能となる。
【０１４３】
なお、図１０、図１１に示した例においては、多値データにおいて、モスキートノイズが薄いグレーで表れるため、例えば階調数を「２」に設定することで、階調変換後の値を「０（インクの吐出なし）」に設定することができた。
【０１４４】
しかしながら、例えば圧縮の度合いが図１１に示したものよりも更に大きい場合、画像の劣化も大きくなり、多値データにおけるノイズの色も濃くなることがある。即ち、図１１における中央値１２８を下回る濃いグレーのノイズが発生する場合がある。この場合、例えば階調数を下げて階調数「２」を設定したとしても、階調変換後、その画素の値は「０（インクの吐出なし）」とはならない。
【０１４５】
また例えば印刷エンジンが、階調数が３の場合に、「１（１ドットのインクを吐出）」、「２（２ドットのインクを吐出）」とインクの吐出する場合がある。このとき、階調数が２の場合に、「１（２ドットのインクを吐出）」、「２（２ドットのインクを吐出）」となるようにインクを吐出する場合がある。この場合、階調数が３であれば、濃いグレーのノイズ（輝度値６５〜１２８）が１ドットで記録されるのに対し、階調数が２であれば２ドットで記録されてしまう。即ち、Ｑ係数が非常に小さく、画像の劣化が非常に大きい場合に階調数を少なくすると、印刷結果においてノイズがむしろ目立ってしまう場合がある。
【０１４６】
そこで本実施形態では、圧縮度が非常に大きいと判定された場合、その圧縮度よりも小さな圧縮度（画像劣化が少ない圧縮度）の場合よりも、階調数を多くする。以下、詳細に説明する。
【０１４７】
図１５は、本実施形態による階調変換処理の一例を示すフローチャートである。図１５において、Ｓ１３０１〜１３０６は、図１３で説明した処理と同様であるため、説明は省略する。
【０１４８】
Ｓ１５０１において、Ｓ１３０４で算出されたＱ係数が４０未満であるか判定される。Ｑ係数が４０未満である場合、画像劣化が非常に大きく、上述したように濃いグレーのノイズが表れる可能性がある。この場合、階調数を少なくとしたとしても、印刷結果においてそのノイズが消えず、むしろ目立ってしまう場合もある。
【０１４９】
そこで、Ｓ１５０１においてＱ係数が４０未満と判定された場合、Ｓ１５０２において、図１２におけるＱ係数が８０以上（圧縮度が閾値以下）の場合の多い階調数を、階調変換後の階調数として決定する。これにより、濃いグレーのノイズが印刷結果において目立ってしまうことを防ぐことができ、また階調数が大きいため、ジャギーを低減させることができる。
【０１５０】
即ち図１５に示した処理によれば、例えば印刷品位が標準で普通紙に印刷を行う場合、Ｑ係数が５０以上（圧縮度が所定の閾値以下）と画像劣化が少ない場合には、階調数「３」が設定される。そして、Ｑ係数が４０以上５０未満と比較的画像劣化が大きい場合、階調数「２」が設定され、Ｑ係数が４０未満と画像劣化が非常に大きい場合、階調数「３」が設定される。
【０１５１】
即ち、印刷対象の画像のＱ係数が、階調数を少なくすることでモスキートノイズ低減の効果が大きい範囲（上記の例ではＱ係数が４０以上５０未満）の場合、階調数を少なくする。しかし、印刷対象の画像のＱ係数が、階調数を少なくしてモスキートノイズがむしろ強調されてしまう範囲（上記の例ではＱ係数が４０未満）の場合（圧縮度が所定の閾値より大きい場合）、階調数を多くする。これにより、上記のようにモスキートノイズが強調されてしまうことを防ぐことができ、またジャギーを低減させることができる。
【０１５２】
なお、Ｓ１５０１における判定の閾値としてＱ係数４０を例に説明したが、これに限らず、印刷対象の画像の種類や、印刷品位等の印刷設定などの各種の条件に応じて、種々の閾値を設定してもよい。
【０１５３】
以上の実施形態では、主に文字データに対してのモスキートノイズを低減するための処理について説明した。しかし、文字データ以外の例えば写真データなどでは、階調数を少なくすることで階調性が減少し、隣接する画素の差が大きくなってジャギーが発生しやすくなる。
【０１５４】
従って、図１３、図１５において画像データの取得、伸長処理を行うときに、印刷対象の画像の内容が主に文字を含むものであるか、主に自然画像を含むものであるか判定し、Ｑ係数に加え、その判定結果に応じた階調数を決定してもよい。
【０１５５】
上記のように、文字の場合、自然画像に比べてモスキートノイズが目立ちやすく、印刷結果における影響が大きい。そこで上記の判定により印刷対象の画像の内容が主に文字を含むと判定された場合、主に自然画像を含むと判定された場合に比べて、階調数を少なくすることで、文字に対するモスキートノイズの影響を低減させることができる。
【０１５６】
画像の内容の判定方法として例えば、Ｓ１３０３において復号化された画像を解析することで、印刷対象の画像の内容を確認する。他の方法として、例えば画像データが作成されたときのアプリケーションを特定し、例えば文書作成アプリケーションであれば主に文字を含むものと判定し、一方、例えば写真管理アプリケーションであれば主に自然画像を含むものと判定する。
【０１５７】
または画像データの付属情報として、画像データを圧縮する際に使用された各種パラメータの他に、元画像に文字データ以外のデータが含まれているか否かを示す情報を含ませる。そして、付属情報を取得した際に、元画像に文字データ以外のデータが含まれているものと判定してもよい。
【０１５８】
図１６は、本実施形態におけるファームウェア構成のブロック図の一例を示す。図１６における１６０１〜１６０９、１６１１〜１６１４は、図３で説明した３０１〜３０９、３１１〜３１４と同様のため、説明は省略する。
【０１５９】
図１６において、画像判定部１６１５が属性情報を取得し、印刷対象の画像データが、文字情報のみで構成されているか否かを判定する。なお、上記属性情報は、画像データの付属情報として画像ファイルに含まれていてもよいし、画像ファイルとは別に取得されてもよい。
【０１６０】
そして、画像判定部１６１５は、上記のように判定した画像の内容を示す画像判定情報をパラメータ決定部１６１０に送信する。パラメータ決定部１６１０では、画像判定情報に応じて階調変換後の階調数を決定する。
【０１６１】
パラメータ決定部１６１０において階調数を設定する方法について、図１７を用いて説明する。図１７は、画像の内容に応じて階調数を決定する処理を示すフローチャートである。図１７において、Ｓ１３０１〜Ｓ１３０６は、図１３で説明した処理と同様のため、説明を省略する。
【０１６２】
Ｓ１７０１で、印刷対象の画像データが文字情報のみで構成されているかを示す属性情報を取得する。Ｓ１３０１〜Ｓ１３０３で画像データに対する復号化処理が行われると、Ｓ１７０２に進む。
【０１６３】
Ｓ１７０２において、Ｓ１７０１で取得された属性情報を元に、印刷対象の画像が文字情報のみで構成されているかを判定する。
【０１６４】
Ｓ１７０２において印刷対象の画像が文字情報のみと判定された場合には、Ｓ１３０４〜Ｓ１３０６において、図１３を用いて説明した処理と同様の処理を行う。
【０１６５】
Ｓ１７０２において印刷対象の画像が文字情報のみと判定されない場合には、圧縮度に応じて階調数を設定せずに、予め定めた階調数を設定する。なお、このＳ１７０２において設定される階調数は、Ｓ１３０５で設定される階調数以上であるとする。
【０１６６】
以上の図１７に示した処理により、文字情報以外の例えば写真データなどは、文字情報の場合に比べて階調数が多くなるように階調変換を行うことができる。写真等の自然画像の場合、文字に比べてモスキートノイズが目立ちにくく、またジャギーの影響が大きいことが多いため、文字に比べて階調数が多い方が望ましいことが多い。図１７の処理により、印刷対象の画像が自然画像を含む場合、文字のみの場合に比べて階調数を多くすることができる。一方、印刷対象の画像が、モスキートノイズの影響の大きい文字情報のみの画像の場合、圧縮の度合いに応じて、ノイズの影響を低減させる階調数を設定することができる。
【０１６７】
なお、図１７に示した例では、印刷対象の画像に文字のみが含まれるか否かを判定していたが、これに限らず、例えば文字を含むか否かを判定してもよいし、自然画像を含むか否か、または自然画像のみを含むか否かを判定してもよい。
【０１６８】
また、その判定の方法として上記のような属性情報を取得する場合に限らず、例えば伸長後の画像を解析することで画像の内容を判定してもよい。その場合、例えば画像をブロック単位で分割し、ブロック毎に画像の内容を判定し、その内容に応じてブロック毎に階調数を決定してもよい。
【０１６９】
以上の実施形態では、印刷装置が情報処理装置として動作し、図１３、図１５、図１７で示した非可逆圧縮された画像データの取得処理、画像データの伸長処理、階調変換処理等を、印刷装置において実行する例について説明した。しかしこれに限らず、印刷装置に接続され、印刷対象のデータに基づく画像を印刷装置に印刷させる各種の装置（ＰＣやスマートフォン、タブレット、ネットワーク上のサーバ等のデバイス）が本実施形態における情報処理装置として動作してもよい。この場合、例えば上記処理に対応するプリンタドライバやアプリケーションが上記各種の装置にインストールされ、当該装置がプリンタドライバやアプリケーションのプログラムを実行することで上記処理が実現される。また上記の各種の装置において、上記処理がプリンタドライバとアプリケーションにより分担されて実行されてもよい。
【０１７０】
また、上記のような各種の装置と印刷装置が連携することにより、非可逆圧縮された画像データの取得処理、またその画像データの伸長処理、階調変換処理等が実行されてもよい。例えば図１３におけるＳ１３０１〜Ｓ１３０３における画像データの伸長処理まで上記各種の装置で実行される。そして、伸長後の画像データと、その伸長処理で用いられたＱテーブルが印刷装置に送信されることで、Ｓ１３０４〜Ｓ１３０６の処理が印刷装置において実行されてもよい。或いは、上記各種の装置において、Ｓ１３０５における圧縮度に応じた階調数の決定処理を実行し、その階調数が印刷装置に通知されてもよい。そして、印刷装置においてＳ１３０６の処理が実行されることで、上記各種の装置から通知された階調数に応じた階調変換が印刷装置において行われてもよい。その他、上記各種の装置と印刷装置における処理の分担方法として種々の方法を採用することができる。
【０１７１】
また上記実施形態では、画像データを圧縮する際に使用された各種パラメータとしてＱテーブルを取得し、取得されたＱテーブルによりＱ係数を算出することで画像データの圧縮度を判定していたが、これに限らない。例えば、圧縮の有無を示す情報や、圧縮率を示す情報、Ｑ係数を数値として表した情報など、圧縮度を特定するための特定情報は各種の情報でよい。
【０１７２】
例えば圧縮の有無を示す情報を取得した場合に、当該取得された情報が圧縮「有」を示すときに階調数を２にして、圧縮「無」ときに階調数を３にするように階調数を設定すればよい。なお、非可逆圧縮方式による圧縮・伸長によりモスキートノイズが発生するため、非可逆圧縮の有無を示す情報を取得してもよい。その情報が非可逆圧縮「無」を示す場合、圧縮処理が無い場合に加え、可逆圧縮が画像データに実行されている場合がある。この場合でも、例えば圧縮処理が無い場合と同様の階調数を設定する。
【０１７３】
また、上記実施形態では、印刷対象の画像の圧縮度に対応する階調数をテーブルにおいて予め設定しておき、印刷時において上記テーブルを参照することで、当該印刷における階調数を設定していた。しかし、これに限らず、上記階調数を示す情報のデータ形式はテーブルに限らず各種の形式でもよいし、またそのような情報を予め設定しておく場合に限らず、印刷の際に階調数を新たに決定してもよい。
【０１７４】
例えば、印刷装置が外部装置から印刷ジョブを受信した際に図９に示した処理を実行して、圧縮度に応じた階調数を設定する。そして、当該印刷ジョブに対応する印刷対象の画像の圧縮度に応じて、当該画像に対する階調数を設定してもよい。この場合、図９における処理を実行するためのサンプルとなる文字データを、当該外部装置から印刷ジョブと共に受信するようにしてもよい。
【０１７５】
或いは、当該印刷ジョブに対応する印刷対象の画像における白領域に対して図９に示した処理を行い、各種の階調数で階調変換を行ったときのノイズの発生度合いを判定する。そして、そのように判定されたノイズの発生度合いに応じて、当該画像の印刷における階調数を決定してもよい。
【０１７６】
またこのように印刷時において図９に示した処理を実行する場合、当該印刷において印刷される画像データが非可逆圧縮形式で圧縮されているか判定してもよい。そして、非可逆圧縮形式で圧縮されていることが確認されてから、図９に示した処理を行って、圧縮度に応じた階調数を決定してもよい。なお、非可逆圧縮形式で圧縮されておらず、圧縮されていない、若しくは可逆圧縮形式で圧縮されている場合、所定の階調数により階調変換を行う。所定の階調数として、印刷モード等で階調数が指定されている場合はその階調数を採用し、そのような指定が無い場合、例えば印刷装置で可能な最大の階調数を採用してもよい。
【０１７７】
さらに、図１３、図１５、図１７のフローチャートでは、画像データに対する伸長処理を行った後に、圧縮度に応じた階調数決定処理を行っていた。しかしこれに限らず、伸長処理の前に階調数決定処理を行い、伸長処理が実行された画像データに対して、決定された階調数となるように階調変換が行われてもよい。
【０１７８】
また上記実施形態では、階調数変換による中間調処理の例として、誤差拡散法を用いて説明を行ったが、これに限らず、例えばディザ法であってもよい。ディザ法では、階調数変換を行うための閾値を示す所定のディザマトリックスを多値の画像データに適用することで、階調数変換を行う。このディザ法においても、階調変換における階調数によりノイズの影響が変化するが、本実施形態のように圧縮度に応じて階調数を決定することでノイズの影響を低減することができる。
【０１７９】
また以上の実施形態では、画像データの階調変換を、印刷装置による印刷のために実行する例について説明したが、これに限らない。例えば表示装置において画像の表示を行う場合に、本実施形態における階調変換を行ってもよい。この場合、表示を行う表示装置において階調変換後の階調数の決定、階調変換を行ってもよいし、当該表示装置に画像を出力する各種の外部装置が、階調数の決定を行ってもよい。外部装置において階調数の決定を行う場合、当該決定された階調数への階調変換は、当該外部装置が行ってもよいし、表示装置が行ってもよい。
【０１８０】
また、以上の実施形態では、画像圧縮における非可逆圧縮形式の例としてＪＰＥＧ形式を例に説明したが、これに限らず、種々の非可逆圧縮形式に対して本実施形態における処理を適用できる。
【０１８１】
さらに、以上の実施形態では、非可逆圧縮形式により圧縮された処理対象のデータの例として、静止画像のデータを例に説明したがこれに限らない。例えばＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）等の動画像を表示する場合や、このような動画像から抽出されたフレームを印刷する場合に、階調数を下げる場合がある。このような場合にも本実施形態の処理を適用することができる。
【０１８２】
また処理対象のデータは画像に限らず、例えば非可逆圧縮形式で圧縮された音声データでもよい。このような音声データが伸長された場合、非可逆圧縮形式であるためノイズ音が発生する場合がある。また特に音の階調数を下げる場合、そのノイズ音が強調されてしまう場合がある。そこで本実施形態を適用し、音声データの圧縮度に応じて階調変換後の階調数を決定することで、ノイズ音が強調されてしまうことを防ぐことができる。
【０１８３】
なお、本実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
【０１８４】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【符号の説明】
【０１８５】
１０３  制御回路部
２０２  ＣＰＵ
２０４  ＲＯＭ
２０５  ＲＡＭ
【図１】
2015122618.tif 000006
【図２】
2015122618.tif 000007
【図３】
2015122618.tif 000008
【図４】
2015122618.tif 000009
【図５】
2015122618.tif 000010
【図６】
2015122618.tif 000011
【図７】
2015122618.tif 000012
【図８】
2015122618.tif 000013
【図９】
2015122618.tif 000014
【図１０】
2015122618.tif 000015
【図１１】
2015122618.tif 000016
【図１２】
2015122618.tif 000017
【図１３】
2015122618.tif 000018
【図１４】
2015122618.tif 000019
【図１５】
2015122618.tif 000020
【図１６】
2015122618.tif 000021
【図１７】
2015122618.tif 000022