(57)【要約】【課題】縦方向の解像度と横方向の解像度が異なる場合であっても、出力画像の粒状性に方向性が生じることを抑制できる画像処理装置および画像処理プログラムを提供すること。【解決手段】本実施形態によれば、出力画像の解像度の縦横比に応じた係数群が、誤差伝播マトリクス１７ｂに設定され、その誤差伝播マトリクス１７ｂを用いて誤差拡散処理が実行されるので、プリンタ４０において印刷される出力画像の縦方向の解像度と横方向の解像度が異なる場合であっても、出力画像の粒状性に方向性が生じることを抑制できる。【選択図】図３
2010232798.tif 000002
【特許請求の範囲】
【請求項１】
周辺画素から誤差を収集し又は周辺画素へ誤差を拡散して、各画素の値をｎ値化する誤差拡散処理を実行し、印刷部に印刷を行わせる画像処理装置であって、
前記周辺画素の範囲を規定すると共に、注目画素に対する各周辺画素の位置に応じて前記誤差に重み付けをするために用いられる係数群が設定される誤差伝播マトリクスと、
前記印刷部に印刷させる出力画像の解像度の縦横比を判断する判断手段と、
前記判断手段により判断される前記解像度の縦横比に応じた前記係数群を、前記誤差伝播マトリクスに設定する設定手段と、
前記設定手段により前記係数群が設定された前記誤差伝播マトリクスを用いて、前記出力画像の元となる画像データに対し誤差拡散処理を実行する実行手段とを備える画像処理装置。
【請求項２】
前記設定手段は、
前記誤差伝播マトリクスに設定される前記係数群を、前記出力画像の解像度の縦横比に応じて変更する一方、前記誤差伝播マトリクスが規定する前記周辺画素の範囲を変更しないものである請求項１記載の画像処理装置。
【請求項３】
複数セットの前記係数群を記憶する記憶手段を備え、
前記設定手段は、
前記判断手段により判断された前記出力画像の解像度の縦横比に対応する前記係数群を前記記憶手段から呼び出し、前記誤差伝播マトリクスに設定するものである請求項２記載の画像処理装置。
【請求項４】
前記出力画像の縦方向の解像度と横方向の解像度とのうち、一方向の解像度が他方向の解像度よりも大きい場合、
前記設定手段は、
前記注目画素に対して前記一方向に位置する周辺画素について設定する前記係数の総和が、前記注目画素に対して前記他方向に位置する周辺画素について設定する前記係数の総和よりも大きくなるように、前記係数群を設定するものである請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
前記出力画像の縦方向の解像度と横方向の解像度とのうち、一方向の解像度が他方向の解像度よりも大きい場合、
前記設定手段は、
前記一方向への誤差の重み付けの程度を示す一方向指数が、前記他方向への誤差の重み付けの程度を示す他方向指数よりも大きくなるように、前記係数群を前記誤差伝播マトリクスに設定するものであり、
前記一方向指数は、前記注目画素から前記一方向にｎ画素、前記他方向にｍ画素離れた周辺画素について設定される係数に、ｎ／（ｎ＋ｍ）を乗算して得られる値を各係数について算出し、それらの総和として表される値であり、
前記他方向指数は、前記注目画素から前記一方向にｎ画素、前記他方向にｍ画素離れた周辺画素について設定される係数に、ｍ／（ｎ＋ｍ）を乗算して得られる値を各係数について算出し、それらの総和として表される値である請求項４記載の画像処理装置。
【請求項６】
前記一方向の解像度が前記他方向の解像度のｋ倍である場合、
前記設定手段は、
前記一方向指数が前記他方向指数のｋ倍以上となるように前記係数群を設定するものである請求項５記載の画像処理装置。
【請求項７】
周辺画素から誤差を収集し又は周辺画素へ誤差を拡散して、各画素の値をｎ値化する誤差拡散処理のための画像処理プログラムであって、
前記周辺画素の範囲を規定すると共に、注目画素に対する各周辺画素の位置に応じて前記誤差に重み付けをするために用いられる係数群が設定される誤差伝播マトリクスを備え、印刷部に印刷を行わせるコンピュータを、
前記印刷部に印刷させる出力画像の解像度の縦横比を判断する判断手段と、
前記判断手段により判断される前記解像度の縦横比に応じた前記係数群を、前記誤差伝播マトリクスに設定する設定手段と、
前記設定手段により前記係数群が設定された前記誤差伝播マトリクスを用いて、前記出力画像に対し誤差拡散処理を実行する実行手段として機能させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理プログラムに関する。
【背景技術】
【０００２】
多値の画像データを、例えば２値の画像データに量子化するハーフトーン処理の一手法として、誤差拡散処理が知られている。誤差拡散処理は、階調数を低減することによって各画素に生じる誤差を、周辺画素に配分する。誤差の配分において、適切な分散性が得られるよう、配分される誤差には、誤差伝播マトリクスに予め規定された係数で重み付けがされる。
【０００３】
誤差拡散処理を行う際における適切な誤差拡散範囲は、プリンタに出力させる画像の出力解像度によって異なる。異なる出力解像度の画像に、同じ誤差拡散範囲を適用すると、画像が形成される記録用紙上の誤差拡散範囲が異なることになるからである。特許文献１には、出力解像度が３００ｄｐｉ×３００ｄｐｉである第１の場合と、出力解像度が６００ｄｐｉ×６００ｄｐｉである第２の場合とで、誤差拡散範囲を変化させる画像処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１３５５８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１には、縦方向の出力解像度と、横方向の出力解像度との比が、１：１である場合のみが考慮されており、出力解像度の縦横比が異なる場合に適用すべき誤差拡散範囲については何ら考慮されていない。例えば、インクジェット方式のプリンタの場合、紙送り方向（以下、縦方向と称する）における記録用紙の搬送距離を細かく制御することができるから、その縦方向の出力解像度を、紙送り方向に垂直な方向（以下、横方向と称する）の最大の出力解像度よりも大きくできる場合がある。この場合、画像の出力解像度を、例えば、６００ｄｐｉ×２４００ｄｐｉとできる。
【０００６】
図７は、従来例のように、解像度の縦横比が異なる画像に同じ誤差拡散範囲を適用する場合を説明する図であって、（ａ）は、６００ｄｐｉ×６００ｄｐｉの出力解像度の画像における誤差拡散範囲を模式的に示す図である。図７（ｂ）は、６００ｄｐｉ×２４００ｄｐｉの出力解像度の画像における誤差拡散範囲を模式的に示す図である。図７（ａ），（ｂ）において、注目画素に対応する画素には＊を図示し、周辺画素に対応する画素はグレー色で図示している。誤差拡散処理においては、周辺画素の誤差が注目画素に収集されて、注目画素の値が２値化される。図７（ａ），（ｂ）に示すように、解像度の縦横比が異なる２種類の画像に対し、同一の誤差伝播マトリクスを適用し、同一の誤差拡散範囲および同一の係数で誤差拡散処理を行うと、注目画素に対して誤差を反映させる範囲の大きさおよび形状が異なることとなる。
【０００７】
その結果、縦方向と横方向と解像度が等しい場合を想定して設計された誤差伝播マトリクスを、縦方向と横方向との解像度が異なる画像に対して適用すると、画像の粒状性（画像のざらつき）に方向性が生じるという問題点を、本発明者は見いだした。
【０００８】
ここで、画像の粒状性を評価する指標として一般的に知られている、粒状性評価値（Graininess  Scale：以下、ＧＳと称する）について説明する。このＧＳは、一般的には以下の手順で求めることができる。
【０００９】
まず、評価対象の画像を空間周波数解析することによりウィナースペクトルを求める。そして、このウィナースペクトルを同心円で（すなわち半径毎に）積分することにより、各空間周波数成分の強度を表すパワースペクトルを求める。そして、得られたパワースペクトルに、人間の視覚度特性（Visual  Transfer  Function）を畳み込み演算することにより、ＧＳを求めることができる。このように、ＧＳは、各空間周波数成分の強度と、人間の視覚度特性とに基づいて算出されるから、人の目にとって画像のざらつきがどの程度目立つかを的確に表現することができる。なお、ＧＳの算出方法は、Dooleyによって一般式が導かれているのでこれ以上の詳細な説明は省略する。
【００１０】
本発明者は、画像の粒状性の方向性を評価するために、ウィナースペクトルを角度毎に積分し、角度毎のＧＳを求めた。
【００１１】
図８は、従来例のように、解像度の縦横比が異なる画像に同じ誤差伝播マトリクスを用いて誤差拡散処理した場合の画像のＧＳを、角度毎に求めた結果を表すグラフである。同グラフにおいて、縦軸はＧＳであり、横軸は角度を表している。また、実線で示すグラフが１２００ｄｐｉ×１２００ｄｐｉの画像のＧＳ測定結果を表し、一点鎖線で示すグラフが６００ｄｐｉ×２４００ｄｐｉの画像のＧＳ測定結果を表している。なお、角度９０°が画像の縦方向に相当し、角度０°，１８０°が画像の横方向に相当する。
【００１２】
図８に示すように、１２００ｄｐｉ×１２００ｄｐｉの画像のＧＳは、角度毎の違いがあまり表れていない。すなわち、縦方向の粒状性と横方向の粒状性とでは、見た目上、あまり大きな違いがないことが分かる。
【００１３】
これに対し、６００ｄｐｉ×２４００ｄｐｉの画像のＧＳは、９０°の場合が最も低く、０°，１８０°の場合に高い。すなわち、横方向の粒状性が縦方向の粒状性よりも高い。この場合、横方向に粒状性が目立ち、画像においては粒状性が模様のように視認され、画質を低下させるおそれがある。
【００１４】
本発明は、上記問題点を解決するためになされたものであり、縦方向の解像度と横方向の解像度が異なる場合であっても、出力画像の粒状性に方向性が生じることを抑制できる画像処理装置および画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１５】
この目的を達成するために、請求項１記載の画像処理装置は、周辺画素から誤差を収集し又は周辺画素へ誤差を拡散して、各画素の値をｎ値化する誤差拡散処理を実行し、印刷部に印刷を行わせるものであって、前記周辺画素の範囲を規定すると共に、注目画素に対する各周辺画素の位置に応じて前記誤差に重み付けをするために用いられる係数群が設定される誤差伝播マトリクスと、前記印刷部に印刷させる出力画像の解像度の縦横比を判断する判断手段と、前記判断手段により判断される前記解像度の縦横比に応じた前記係数群を、前記誤差伝播マトリクスに設定する設定手段と、前記設定手段により前記係数群が設定された前記誤差伝播マトリクスを用いて、前記出力画像の元となる画像データに対し誤差拡散処理を実行する実行手段とを備える。
【００１６】
請求項２記載の画像処理装置は、請求項１記載の画像処理装置において、前記設定手段は、前記誤差伝播マトリクスに設定される前記係数群を、前記出力画像の解像度の縦横比に応じて変更する一方、前記誤差伝播マトリクスが規定する前記周辺画素の範囲を変更しないものである。
【００１７】
請求項３記載の画像処理装置は、請求項２記載の画像処理装置において、複数セットの前記係数群を記憶する記憶手段を備え、前記設定手段は、前記判断手段により判断された前記出力画像の解像度の縦横比に対応する前記係数群を前記記憶手段から呼び出し、前記誤差伝播マトリクスに設定するものである。
【００１８】
請求項４記載の画像処理装置は、請求項１から３のいずれかに記載の画像処理装置において、前記出力画像の縦方向の解像度と横方向の解像度とのうち、一方向の解像度が他方向の解像度よりも大きい場合、前記設定手段は、前記注目画素に対して前記一方向に位置する周辺画素について設定する前記係数の総和が、前記注目画素に対して前記他方向に位置する周辺画素について設定する前記係数の総和よりも大きくなるように、前記係数群を設定するものである。
【００１９】
請求項５記載の画像処理装置は、請求項４記載の画像処理装置において、前記出力画像の縦方向の解像度と横方向の解像度とのうち、一方向の解像度が他方向の解像度よりも大きい場合、前記設定手段は、前記一方向への誤差の重み付けの程度を示す一方向指数が、前記他方向への誤差の重み付けの程度を示す他方向指数よりも大きくなるように、前記係数群を前記誤差伝播マトリクスに設定するものであり、前記一方向指数は、前記注目画素から前記一方向にｎ画素、前記他方向にｍ画素離れた周辺画素について設定される係数に、ｎ／（ｎ＋ｍ）を乗算して得られる値を各係数について算出し、それらの総和として表される値であり、前記他方向指数は、前記注目画素から前記一方向にｎ画素、前記他方向にｍ画素離れた周辺画素について設定される係数に、ｍ／（ｎ＋ｍ）を乗算して得られる値を各係数について算出し、それらの総和として表される値である。
【００２０】
請求項６記載の画像処理装置は、請求項５記載の画像処理装置において、前記一方向の解像度が前記他方向の解像度のｋ倍である場合、前記設定手段は、前記一方向指数が前記他方向指数のｋ倍以上となるように前記係数群を設定するものである。
【００２１】
請求項７記載の画像処理プログラムは、周辺画素から誤差を収集し又は周辺画素へ誤差を拡散して、各画素の値をｎ値化する誤差拡散処理のためのプログラムであって、前記周辺画素の範囲を規定すると共に、注目画素に対する各周辺画素の位置に応じて前記誤差に重み付けをするために用いられる係数群が設定される誤差伝播マトリクスを備え、印刷部に印刷を行わせるコンピュータを、前記印刷部に印刷させる出力画像の解像度の縦横比を判断する判断手段と、前記判断手段により判断される前記解像度の縦横比に応じた前記係数群を、前記誤差伝播マトリクスに設定する設定手段と、前記設定手段により前記係数群が設定された前記誤差伝播マトリクスを用いて、前記出力画像に対し誤差拡散処理を実行する実行手段として機能させる。
【００２２】
なお本発明は、画像処理装置、該画像処理装置を含む印刷装置、画像処理方法、画像処理装置を制御するコンピュータプログラム、該コンピュータプログラムを記録する記録媒体等の種々の態様で実現可能である。
【発明の効果】
【００２３】
請求項１記載の画像処理装置によれば、出力画像の解像度の縦横比に応じた係数群が、誤差伝播マトリクスに設定され、その誤差伝播マトリクスを用いて出力画像の元となる画像データに対し誤差拡散処理が実行されるので、縦方向の解像度と横方向の解像度が異なる場合であっても、出力画像の粒状性に方向性が生じることを抑制できるという効果がある。
【００２４】
なお、「出力画像の解像度の縦横比」とは、出力画像の縦方向の解像度と横方向の解像度との比を意味している。
【００２５】
請求項２記載の画像処理装置によれば、請求項１記載の画像処理装置の奏する効果に加え、誤差伝播マトリクスに設定される係数群は、出力画像の解像度の縦横比に応じて変更されるので、出力画像の粒状性に方向性が生じることを抑制できるという効果がある。また、誤差伝播マトリクスが規定する周辺画素の範囲は変更されないので、誤差を一時的に格納するために必要なバッファの容量は一定であり、必要最低限の容量でバッファを設計できるという効果がある。さらに、誤差伝播マトリクスが規定する周辺画素の範囲を変更しないので、出力画像の解像度の縦横比が異なる場合であっても、共通のプログラムで誤差拡散処理を実行可能であるという効果がある。誤差伝播マトリクスが規定する周辺画素の範囲（すなわち、誤差伝播マトリクスの形状）が異なる場合、それぞれに専用のプログラムを準備しなければならず、多種類の解像度に対応することが困難となるのである。
【００２６】
請求項３記載の画像処理装置によれば、請求項２記載の画像処理装置の奏する効果に加え、複数セットの係数群が記憶された記憶手段から、出力画像の解像度の縦横比に対応する係数群が呼び出されて誤差伝播マトリクスに設定されるので、記憶手段にそれほど大きな負荷をかけずに、多種類の解像度に対応可能であるという効果がある。すなわち、出力画像の解像度として想定される解像度の縦横比毎の係数群を記憶しておけば良く、想定される解像度の縦横比毎のプログラムを準備する必要がない。
【００２７】
請求項４記載の画像処理装置によれば、請求項１から３のいずれかに記載の画像処理装置の奏する効果に加え、注目画素に対して一方向にある周辺画素と、注目画素に対して他方向にある周辺画素とでは、より解像度が大きい一方向にある周辺画素について誤差が大きく重み付けされるので、縦方向の解像度と横方向の解像度が異なる場合であっても、出力画像の粒状性に方向性が生じることを抑制できるという効果がある。
【００２８】
請求項５記載の画像処理装置によれば、請求項４記載の画像処理装置の奏する効果に加え、一方向への誤差の重み付けの程度を示す一方向指数と、他方向への誤差の重み付けの程度を示す他方向指数との関係が、解像度の縦横比に応じた大小関係となるように係数群が設定されるので、縦方向の解像度と横方向の解像度との大小関係に対応した適切な係数群を設定できるという効果がある。
【００２９】
請求項６記載の画像処理装置によれば、請求項５記載の画像処理装置の奏する効果に加え、一方向の解像度が他方向の解像度のｋ倍である場合、一方向指数が他方向指数のｋ倍以上となるように係数群が設定されるので、解像度の縦横比に応じた適切な係数群を設定できるという効果がある。
【００３０】
請求項７記載の画像処理プログラムによれば、コンピュータで実行されることにより、請求項１の画像処理装置と同様の作用効果を奏する。
【図面の簡単な説明】
【００３１】
【図１】本発明の画像処理装置の実施形態であるＰＣと、ＰＣに接続されたプリンタとの電気的構成を示すブロック図である。
【図２】（ａ）は、誤差伝播マトリクスの構成を模式的に示す図であり、（ｂ）は、第１係数群が設定された誤差伝播マトリクスを模式的に示す図であり、図２（ｃ）は、第２係数群が設定された誤差伝播マトリクスを模式的に示す図であり、図２（ｄ）は、第３係数群が設定された誤差伝播マトリクスを模式的に示す図である。
【図３】印刷データ生成処理を示すフローチャートである。
【図４】縦指数の算出方法を説明するための図であり、係数Ｋが設定された誤差伝播マトリクスを図示している。
【図５】本発明の効果を調査するために設定した様々な係数群を、縦指数という概念で分類して示す図である。
【図６】出力画像の粒状性評価値を角度毎に算出した結果を表すグラフである。
【図７】従来例のように、解像度の縦横比が異なる画像に同じ誤差拡散範囲を適用する場合を説明する図であって、（ａ）は、６００ｄｐｉ×６００ｄｐｉの出力解像度の画像における誤差拡散範囲を模式的に示す図であり、（ｂ）は、６００ｄｐｉ×２４００ｄｐｉの出力解像度の画像における誤差拡散範囲を模式的に示す図である。
【図８】従来例のように、解像度の縦横比が異なる画像に同じ誤差伝播マトリクスを用いて誤差拡散処理した場合の画像のＧＳを、角度毎に求めた結果を表すグラフである。
【発明を実施するための形態】
【００３２】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図１は、本発明の画像処理装置の実施形態であるパーソナルコンピュータ１０（以下、ＰＣ１０と称する）と、ＰＣ１０に接続されたプリンタ４０との電気的構成を示すブロック図である。本実施形態のＰＣ１０は、プリンタ４０を制御して印刷を行わせるものであり、プリンタ４０に印刷させる出力画像の縦方向の解像度と横方向の解像度とが異なる場合であっても、出力画像の粒状性に方向性が生じることを抑制できるように構成されている。
【００３３】
図１に示すように、ＰＣ１０は、ＣＰＵ１１、ＲＯＭ１３、ＲＡＭ１５、ハードディスクドライブ１７（以下、ＨＤＤ１７と称す）、インターフェイス１９、入力装置２１、表示装置２３を主に有し、これらはバスライン２０を介して互いに接続されている。
【００３４】
ＣＰＵ１１は、ＲＯＭ１３やＨＤＤ１７に記憶される固定値やプログラムに従って、バスライン２０により接続された各部を制御する。ＲＯＭ１３は、ＰＣ１０の動作を制御するためのプログラムなどが格納されたメモリであり、ＲＡＭ１５は、ＣＰＵ１１の処理に必要なデータなどを一時的に記憶するための読み書き可能なメモリであり、誤差バッファ１５ａを備える。誤差バッファ１５ａは、誤差拡散処理において各画素から発生する誤差を格納するバッファである。本実施形態では、５×３画素分の誤差が格納できるように、誤差バッファ１５ａが設計される。
【００３５】
ＨＤＤ１７は、ハードディスクドライブであり、本発明の画像処理プログラムの一例であるプリンタドライバ１７ａ、誤差拡散マトリクス１７ｂ、第１係数群１７ｃ、第２係数群１７ｄ、第３係数群１７ｅを備える。誤差伝播マトリクス１７ｂには、係数群１７ｃ，１７ｄ，１７ｅのいずれかが設定される。ＣＰＵ１１は、誤差伝播マトリクス１７ｂに設定された係数群に基づいて、画像データを誤差拡散処理する。なお、各係数群１７ｃ,１７ｄ,１７ｅは、複数個の係数から構成される数値データであると共に、各係数が誤差伝播マトリクス１７ｂのいずれの位置に設定されるかを示す位置データも含むデータである。係数群１７ｃ，１７ｄ，１７ｅについては、図２，図３を参照して詳細に説明する。
【００３６】
入力装置２１は、ユーザ指示を入力するためのものであり、例えば、キーボードやマウスなどで構成される。表示装置２３は、例えば、ＣＲＴディスプレイや液晶ディスプレイなどにより構成され、各種処理内容や入力されたデータなどを視覚的に表示するものである。
【００３７】
プリンタ４０は、インクジェット方式のプリンタであり、プリンタ４０の動作を制御する制御部５０を備える。この制御部５０は、演算装置であるＣＰＵ４１と、そのＣＰＵ４１により実行される各種の制御プログラムやデータを記憶したＲＯＭ４３と、ＰＣ１０から供給された印刷データや制御信号を記憶するためのメモリであるＲＡＭ４５とを備えている。また、ＣＰＵ４１、ＲＯＭ４３、ＲＡＭ４５は、バスラインを介して互いに接続されており、バスラインは、集積回路であるＡＳＩＣ（Application  Specific  Integrated  Circuit）４６に接続されている。
【００３８】
さらに、制御部５０は、プリンタ４０と外部機器とを通信可能に接続するためのインターフェイス４７と、印刷部４９とに接続されている。
【００３９】
印刷部４９は、画像が印刷される記録用紙を搬送する用紙搬送機構、インクを吐出するためのノズルが形成されたインクヘッド、そのインクジェッドを記録用紙の搬送方向に対し垂直な方向へ往復移動させるキャリッジ等を備える。ＣＰＵ４１は、ＰＣ１０から入力される画像データに基づき、印刷部４９を駆動して、行単位で画像を印刷させる。なお、本実施形態においては、記録用紙の搬送方向を縦方向と称し、記録用紙の搬送方向に垂直な方向を横方向と称している。
【００４０】
図２（ａ）は、誤差伝播マトリクス１７ｂの構成を模式的に示す図である。誤差伝播マトリクス１７ｂは、注目画素に対する各周辺画素の位置に応じて周辺画素から発生した誤差に重み付けをするために用いられる１３個の係数Ｋが要素として設定される。説明の都合上、図２および図３においては、注目画素に対応する位置にアスタリスクを付している。誤差伝播マトリクス１７ｂにおいて係数Ｋが設定された各位置は、それぞれ注目画素に対応する周辺画素の位置を規定している。換言すれば、誤差伝播マトリクス１７ｂにおいて係数Ｋが設定された範囲が、周辺画素の範囲を規定している。
【００４１】
本実施形態の誤差拡散処理では、出力画像の左上端を構成する画素から順番に右方向へ、上から下方向へ、１つずつ注目画素として選択し、その注目画素の階調を表す値を、例えば、大ドット、中ドット、小ドット、ドット無しのいずれかに４値化（ｎ値化に対応）する。具体的には、誤差バッファ１５ａに記憶された各周辺画素の誤差に、誤差伝播マトリクス１７ｂに設定された各係数による重み付けをして、注目画素の値に加算する。なお、重み付けの際には、注目画素に対する各周辺画素の位置に対応した誤差伝播マトリクス１７ｂ内の要素として設定された係数Ｋが、各周辺画素の誤差に掛け合わされる。すなわち、係数Ｋとして「０」が設定されている位置については、対応する周辺画素の誤差は収集されるものの係数「０」が乗算されることにより、注目画素にはその誤差が反映されない。
【００４２】
そして、周辺画素から収集した誤差を加算した注目画素の値が、大ドット、中ドット、小ドット、ドット無しのいずれかに振り分けるための閾値と比較され、その閾値との大小関係に応じて、いずれかの値に４値化されて出力される。そして、注目画素の値を４値化する際に生じた誤差は、誤差バッファ１５ａに格納され、未処理の画素に伝播される。
【００４３】
図２（ｂ）は、第１係数群１７ｃが設定された誤差伝播マトリクス１７ｂを模式的に示す図であり、図２（ｃ）は、第２係数群１７ｄが設定された誤差伝播マトリクス１７ｂを模式的に示す図であり、図２（ｄ）は、第３係数群１７ｅが設定された誤差伝播マトリクス１７ｂを模式的に示す図である。
【００４４】
なお、図２（ｂ）から（ｄ）に示すように、どの係数群を設定する場合においても、誤差伝播マトリクス１７ｂにおいて係数が設定される位置は同一である。すなわち、設定する係数群を変更したとしても、変更するのは値のみであり、誤差伝播マトリクス１７ｂが規定する周辺画素の範囲は、変更されない。換言すれば、誤差伝播マトリクス１７ｂの形状は変更しない。したがって、係数群１７ｃ,１７ｄ,１７ｅのうちいずれを誤差伝播マトリクス１７ｂに設定する場合においても、共通のプログラムによる同一の処理で誤差拡散処理を実行可能である。また、誤差を一時的に格納するために必要な誤差バッファ１５ａの容量は、係数群１７ｃ,１７ｄ,１７ｅのいずれを設定する場合も一定であり、必要最低限の容量で誤差バッファ１５ａを設計することができる。
【００４５】
図２（ｂ）と図２（ｃ）を比較すると明らかなように、第２係数群１７ｄは、第１係数群１７ｃに比較して、注目画素に対し縦方向に位置する周辺画素の係数が大きく、横方向に位置する周辺画素の係数が小さい。その結果、第２係数群１７ｄが設定された誤差伝播マトリクス１７ｂを用いれば、第１係数群１７ｃが設定された誤差伝播マトリクス１７ｂを用いる場合に比較して、注目画素に対し縦方向に位置する周辺画素の誤差の重みを大きくして、注目画素に反映できる。本実施形態のＰＣ１０は、出力画像の解像度の縦横比が１：１の場合（すなわち、縦方向の解像度と横方向の解像度が高い場合）、第１係数群１７ｃを誤差伝播マトリクス１７ｂに設定するが、縦方向の解像度が横方向の解像度の２倍である場合（例えば、６００ｄｐｉ×１２００ｄｐｉ）、第２係数群１７ｄを誤差伝播マトリクス１７ｂに設定するように構成されている。
【００４６】
同様に、図２（ｂ）と図２（ｄ）を比較すると明らかなように、第３係数群１７ｅは、第１係数群１７ｃに比較して、注目画素に対し横方向に位置する周辺画素の係数が大きく、縦方向に位置する周辺画素の係数が小さい。その結果、第３係数群１７ｅが設定された誤差伝播マトリクス１７ｂを用いれば、第１係数群１７ｃが設定された誤差伝播マトリクス１７ｂを用いる場合に比較して、注目画素に対し横方向に位置する周辺画素の誤差の重みを大きくして、注目画素に反映できる。本実施形態のＰＣ１０は、出力画像の解像度の縦横比が１：１の場合（すなわち、縦方向の解像度と横方向の解像度が高い場合）、第１係数群１７ｃを誤差伝播マトリクス１７ｂに設定するが、縦方向の解像度が横方向の解像度の１／２倍である場合（例えば、６００ｄｐｉ×３００ｄｐｉ）、第３係数群１７ｅを誤差伝播マトリクス１７ｂに設定するように構成されている。
【００４７】
その結果、本実施形態のＰＣ１０によれば、出力画像の縦方向の解像度と横方向の解像度が異なる場合であっても、出力画像の粒状性に方向性が生じることを抑制できるという効果が得られるのであるが、効果の詳細は後述する。
【００４８】
図３は、ＰＣ１０が実行する印刷制御処理を示すフローチャートである。まず、ＣＰＵ１１は、ステップ（以下、ステップを省略）Ｓ３０１において、プリンタ４０に印刷させる出力画素の元となる画像データを取得する（Ｓ３０２）。この画像データは、画像を構成する各画素の階調を、例えば２５６段階で表す値を画素毎に含む多階調の画像データである。次に、ＣＰＵ１１は、プリンタ４０に印刷させる出力画像の解像度（すなわち出力解像度）を取得する（Ｓ３０４）。なお、本実施形態においては、Ｓ３０２で取得する画像データとプリンタ４０に印刷させる出力画像の解像度は等しいものとして説明する。
【００４９】
次に、ＣＰＵ１１は、取得した解像度の縦横比を判断する（Ｓ３０６）。次に、ＣＰＵ１１は、出力画像の解像度の縦横比に応じた係数群をＨＤＤ１７から呼び出し、誤差伝播マトリクス１７ｂに設定する。
【００５０】
具体的には、縦方向の解像度と横方向の解像度とが等しい場合（Ｓ３０６，縦：横＝１：１）、縦指数が１程度の第１係数群１７ａを誤差伝播マトリクス１７ｂに設定する（Ｓ３１０）。一方、縦方向の解像度が横方向の解像度の２倍である場合（Ｓ３０６，縦：横＝２：１）、縦指数が２以上の第２係数群１７ｃを誤差伝播マトリクス１７ｂに設定する（Ｓ３０８）。一方、縦方向の解像度が横方向の解像度の１／２倍である場合（Ｓ３０６，縦：横＝１：２）、縦指数が０．５以下の第３係数群１７ｄを誤差伝播マトリクス１７ｂに設定する（Ｓ３１２）。
【００５１】
なお、「縦指数」とは、誤差伝播マトリクス１７ｂにおける縦と横の誤差伝播比率を表す指標であり、縦指数が１より大きい場合、誤差は横方向よりも縦方向に大きく影響を及ぼし、縦指数が１未満である場合、誤差は縦方向よりも横方向に大きく影響を及ぼすことを表している。縦指数については、図４を参照して後述する。
【００５２】
そして、このようにして縦横比に応じた係数群が設定された誤差伝播マトリクス１７ｂを用いて、画像データに対して誤差拡散処理を実行し、各画素の値を４値化して（Ｓ３１４）、プリンタ４０へ出力する（Ｓ３１６）。
【００５３】
その結果、プリンタ４０においては、画像データに基づいて大ドット、中ドット、または小ドットを記録用紙上に形成させ、出力画像を印刷させることができる。
【００５４】
本実施形態の印刷制御処理によれば、出力画像の解像度の縦横比に応じた係数群が、誤差伝播マトリクス１７ｂに設定され、その誤差伝播マトリクス１７ｂを用いて誤差拡散処理が実行されるので、プリンタ４０において印刷される出力画像の縦方向の解像度と横方向の解像度が異なる場合であっても、出力画像の粒状性に方向性が生じることを抑制できる。
【００５５】
誤差伝播マトリクス１７ｂに設定する係数群は、上述した係数群１７ｃ，１７ｄ，１７ｅに限られず、様々に変更可能である。また、その種類も３種類に限られず、プリンタ４０で印刷可能な出力画像の縦方向解像度および横方向解像度の全組み合わせについて、対応する係数群を準備し、ＨＤＤ１７に記憶しておいても良い。組み合わせ毎に記憶するのは係数群だけで良く、誤差拡散処理は共通のプログラムで実行可能であるため、メモリをそれほど圧迫しないからである。
【実施例】
【００５６】
以下、誤差伝播マトリクス１７ｂに設定する係数群と、その係数群を設定することにより得られる効果との関係について説明するが、各係数群の特性を表すために、縦指数というパラメータを用いているので、まず縦指数の算出方法について説明する。
【００５７】
図４は、縦指数の算出方法を説明するための図であり、係数Ｋが設定された誤差伝播マトリクス１７ｂを図示している。まず、設定された係数群の縦方向の指数を算出する。縦方向の指数は、縦方向への誤差の影響の度合いを表す値である。注目画素から縦方向にｎ画素、横方向にｍ画素離れた周辺画素について設定される係数に、ｎ／（ｎ＋ｍ）を乗算して得られる値を、各係数について算出し、それらの総和として、縦方向の指数を算出することができる。図４に示す例では、アンダーラインが付された係数Ｋには「１」を乗算し、囲み線で囲まれた係数Ｋには「２／３」を乗算し、グレー背景の係数Ｋには「１／２」を乗算し、無印の係数Ｋには「１／３」を乗算し、斜体の係数Ｋには「０」を乗算する。すなわち、縦方向の指数は、以下の式で求められる。
縦方向の指数＝（Ｋ１３＋Ｋ２３）＋（Ｋ１２＋Ｋ１４）・２／３＋（Ｋ１１＋Ｋ２２＋Ｋ２４＋Ｋ１５）・１／２＋（Ｋ２１＋Ｋ２５）・１／３＋（Ｋ３０＋Ｋ３１＋Ｋ３２）・０
【００５８】
次に、横方向の指数を算出する。横方向の指数は、横方向への誤差の影響の度合いを表す値である。注目画素から縦方向にｎ画素、横方向にｍ画素離れた周辺画素について設定される係数に、ｍ／（ｎ＋ｍ）を乗算して得られる値を、各係数について算出し、それらの総和として、横方向の指数を算出することができる。図４に示す例では、アンダーラインが付された係数Ｋには「０」を乗算し、囲み線で囲まれた係数Ｋには「１／３」を乗算し、グレー背景の係数Ｋには「１／２」を乗算し、無印の係数Ｋには「２／３」を乗算し、斜体の係数Ｋには「１」を乗算する。すなわち、横方向の指数は、以下の式で求められる。
横方向の指数＝（Ｋ１３＋Ｋ２３）・０＋（Ｋ１２＋Ｋ１４）・１／３＋（Ｋ１１＋Ｋ２２＋Ｋ２４＋Ｋ１５）・１／２＋（Ｋ２１＋Ｋ２５）・２／３＋（Ｋ３０＋Ｋ３１＋Ｋ３２）
【００５９】
そして、横方向の指数に対する縦方向の指数の比（縦方向の指数／横方向の指数）を、本実施形態では、「縦指数」と称している。すなわち、縦指数が大きいほど、横方向に比べて縦方向への誤差の影響の度合いが強い。
【００６０】
図５は、本発明の効果を調査するために設定した様々な係数群を、縦指数という概念で分類して示す図である。これらの係数群は、本発明に適用し得る。図５において、各マトリクスの最上段には係数群の名称（例えば、Jarvis、test1など）と、縦指数とを並べて記載している。図５に示すJarvisは、（J.F.Jarvis,C.N.Judice,and  W.H.Ninke,"A Survey  of  Techniques  for  the  Display  of  Continuous  Tone  Pictures  on  Bilevel  Displays",Computer  Graphicsand  Image  Processing.5,13-40(1976)）で示された誤差伝播マトリクスの係数群であり、上述した縦指数を算出すると「１」となる。なお、Jarvisは上記実施形態の第１係数群１７ｃ（図２（ｂ）参照）と同一である。
【００６１】
一方、test1からtest４は、縦指数が１未満であるように設定される係数群である。すなわち、横方向の指数が縦方向の指数よりも大きい。したがって、test1からtest4の係数群は、縦方向よりも横方向の解像度が大きい出力画像を印刷させる際の誤差拡散処理に適用することが望ましい。反対に、test5からtest9は、縦指数が１より大であるように設定される係数群である。すなわち、縦方向の指数が横方向の指数よりも大きい。したがって、test5からtest9の係数群は、横方向よりも縦方向の解像度が大きい出力画像を印刷させる際の誤差拡散処理に適用することが望ましい。なお、test9は上記実施形態の第３係数群１７ｅ（図２（ｂ）参照）と同一である。
【００６２】
図６を参照して、縦指数と、出力画像に発生する粒状性の方向性との関係について調べた実験結果を説明する。図６は、出力画像の粒状性評価値（ＧＳ）を角度毎に算出した結果を表すグラフである。図６において、破線で示す６００×２４００は、Jarvisを設定した誤差伝播マトリクス１７ｂで誤差拡散処理した６００ｄｐｉ×２４００ｄｐｉの出力画像の角度毎のＧＳを表す。一点鎖線で示す１２００×１２００は、Jarvisを設定した誤差伝播マトリクス１７ｂで誤差拡散処理した１２００ｄｐｉ×１２００ｄｐｉの出力画像の角度毎のＧＳを表す。
【００６３】
上述したようにJarvisは、縦指数１の係数群であるから、縦方向の解像度と横方向の解像度とが等しい場合（１２００×１２００）、角度毎のＧＳに大きな起伏は表れず粒状性に方向性を生じさせていないことが分かる。一方、縦方向の解像度が横方向の解像度の４倍である場合（６００×２４００）、９０度の角度（縦方向）では粒状性が低いのに対し、０度,１８０度（横方向）では粒状性が強く表れている。すなわち、出力画像の粒状性に方向性が生じていることがグラフから読み取れる。
【００６４】
図６において、点線で示すtest5、実線で示すtest8はそれぞれ、test5、test8の係数群が設定された誤差伝播マトリクス１７ｂを用いて誤差拡散処理を行った、６００ｄｐｉ×２４００ｄｐｉの出力画像の角度毎のＧＳを表す。図５に示したように、test5、test8は、共に縦指数が１より大きい係数群である。これらのtest5,test8によれば、Jarvisの誤差伝播マトリクス１７ｂで誤差拡散処理した６００ｄｐｉ×２４００ｄｐｉの出力画像に比較して、角度毎の粒状性の起伏は小さく抑制され、粒状性の方向性が低減していることが分かる。さらに、test８よりも大きい縦指数を有するtest５は、test8に比較して、粒状性の方向性が一層低減している。
【００６５】
表１は、jarvis,test1〜test9のそれぞれについて、角度毎のＧＳを求め、それらの最大値等をまとめて表した表である。表１において、６００×２４００は、Jarvisを設定した誤差伝播マトリクス１７ｂによって処理した、６００ｄｐｉ×２４００ｄｐｉの出力画像の角度毎のＧＳの最大値等を表し、jarvisは、Jarvisを設定した誤差伝播マトリクス１７ｂによって処理した、１２００ｄｐｉ×１２００ｄｐｉの出力画像の角度毎のＧＳの最大値等を表し、test1〜test9は、test1〜test9をそれぞれ設定した誤差伝播マトリクス１７ｂによって処理した、６００ｄｐｉ×２４００ｄｐｉの出力画像の角度毎のＧＳの最大値等を表す。
【００６６】
【表１】
2010232798.tif 000003
表１において、最大差は、角度毎のＧＳの最大値と最小値との差であり、標準偏差は、角度毎のＧＳの標準偏差である。したがって、最大差と標準偏差が大きいほど、粒状性に方向性が生じていると判断できる。また、粒状性評価値は、方向性を考慮しない（すなわち同心円状で積分したパワースペクトルに基づいて求められる）ＧＳである。
【００６７】
ここで、表１から明らかなように縦方向の解像度が横方向の解像度の４倍である６００ｄｐｉ×２４００ｄｐｉの画像に、縦指数が１未満のtest1〜test4、縦指数が１であるjarvisを適用した場合に比較して、縦指数が１より大きいtest5〜test9を適用した場合は、最大差と標準偏差とが低くなっている。さらに、表１に示す縦指数と、最大値、標準偏差との相関係数を求めると、−０．６４となり、相関があると判断できる。一方、縦指数と方向性を考慮しない粒状性評価値との間では、相関係数は、−０．４４となり、縦指数と粒状性評価値との間では相関が低いと判断できる。
【００６８】
上記実施形態において、ＣＰＵ１１がコンピュータの一例であり、プリンタドライバ１７ａが画像処理プログラムの一例であり、ＨＤＤ１７が記憶手段の一例であり、プリンタ４０が印刷部の一例であり、Ｓ３０６を実行するＣＰＵ１１が判断手段の一例であり、Ｓ３０８，Ｓ３１０，Ｓ３１２を実行するＣＰＵ１１が設定手段の一例であり、Ｓ３１４を実行するＣＰＵ１１が実行手段の一例である。
【００６９】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【００７０】
例えば、上記実施形態では、処理済みの周辺画素から注目画素へ誤差を収集する（集中させる）方式のマトリクスについて説明したが、注目画素で発生した誤差を未処理の周辺画素へ分配する方式の誤差伝播マトリクスを用いて誤差拡散処理が行われる場合にも、本発明は適用可能である。
【００７１】
また、上記実施形態では、特許請求の範囲に記載のｋの一例として、ｋ＝２の場合を例に取って説明した。すなわち、縦方向の解像度が横方向の解像度の２倍である場合、縦指数が２以上の第２係数群１７ｄを誤差伝播マトリクス１７ｂに設定し（Ｓ３０８）、横方向の解像度が縦方向の解像度の２倍である場合（Ｓ３０６，縦：横＝１：２）、縦指数が０．５以下（すなわち、横方向の指数が縦方向の指数の２倍以上）である第３係数群１７ｅを誤差伝播マトリクス１７ｂに設定することとした（Ｓ３１２）。しかしながら、上記実施形態は一例であり、ｋは２以外の値であっても良い。また、上記実施形態では、縦方向の解像度が横方向の解像度のｋ倍である場合、縦指数ｋ以上の係数群が誤差伝播マトリクス１７ｂに設定されるものとして説明したが、必ずしもこの関係が成立していなくても良く、解像度がより大きい一方向の指数が、解像度がより小さい他方向の指数よりも大きい関係が成立している係数群を設定すれば、粒状性の方向性を抑制する、という効果を奏することができる。
【００７２】
また、上記実施形態では、ＰＣ１０において印刷制御処理（図３）が実行されるものとして説明したが、この印刷制御処理は、例えば、プリンタ４０の制御部５０において実行されても良い。この場合、プリンタ４０（図１参照）が本発明の画像処理装置の一例に相当し、印刷部４９が印刷部の一例に相当する。また、ＣＰＵ４１がコンピュータの一例に相当し、ＲＯＭ４３に格納されたプログラムが画像処理プログラムの一例に相当する。
【符号の説明】
【００７３】
１０                    ＰＣ
４０                    プリンタ
１７ａ                  プリンタドライバ
１７ｂ                  誤差伝播マトリクス
１７ｃ，１７ｄ，１７ｅ  係数群
【図１】
2010232798.tif 000004
【図２】
2010232798.tif 000005
【図３】
2010232798.tif 000006
【図４】
2010232798.tif 000007
【図５】
2010232798.tif 000008
【図６】
2010232798.tif 000009
【図７】
2010232798.tif 000010
【図８】
2010232798.tif 000011