(57)【要約】【課題】画素値が複数の成分を有する画素の画像の階調変換を、高速に行う。【解決手段】誤差拡散部５１では、画像の画素値INと、量子化誤差Qのフィルタリングの結果であるフィルタ出力Uとを加算した加算値の量子化値OUTが、量子化値OUTの小数点を基準として、画素値INの整数部Iと、フィルタ出力Uと画素値INの小数部Pとの和である小数加算値Xの整数部Jとの和として求められること、及び、量子化値OUTの量子化誤差Qが、量子化値OUTの小数点を基準として、フィルタ出力Uと、画素値INの小数部Pとの和である小数加算値Xの小数部として求められることに基づき、画素値IN、及び、小数加算値Xのそれぞれを、整数部と小数部とに分けて、量子化値OUT、及び、量子化誤差Qを求めることにより、誤差拡散法による階調変換を行う。本発明は、階調変換を行う装置に適用することができる。【選択図】図１０
2010117741.tif 000002
【特許請求の範囲】
【請求項１】
画像の画素値と、量子化誤差のフィルタリングの結果であるフィルタ出力とを加算した加算値の量子化値が、前記量子化値の小数点を基準として、
前記画素値の整数部と、
前記フィルタ出力と前記画素値の小数部との和である小数加算値の整数部と
の和として求められること、
及び、
前記量子化値の前記量子化誤差が、前記量子化値の小数点を基準として、
前記フィルタ出力と、
前記画素値の小数部と
の和である前記小数加算値の小数部として求められること
に基づき、前記画素値、及び、前記小数加算値のそれぞれを、整数部と小数部とに分けて、前記量子化値、及び、前記量子化誤差を求めることにより、画素値が複数の成分の前記画像の誤差拡散法による階調変換を行う誤差拡散手段を備える
画像処理装置。
【請求項２】
前記誤差拡散手段は、
前記画像の画素値の複数の成分を結合し、結合データとする結合手段と、
前記結合データに含まれる前記画素値の複数の成分それぞれの小数部を抽出し、前記画素値の複数の成分の小数部が結合された画素値成分小数部結合データを求める第１の小数部抽出手段と、
前記画素値成分小数部結合データに含まれる前記画素値の複数の成分の小数部と、前記フィルタ出力の複数の成分が結合されたフィルタ出力成分結合データに含まれる前記フィルタ出力の複数の成分との加算を、成分ごとに行い、前記小数加算値の複数の成分が結合された小数加算値成分結合データを求める第１の演算手段と、
前記小数加算値成分結合データに含まれる前記小数加算値の複数の成分それぞれの小数部を、前記量子化誤差の複数の成分として抽出し、前記量子化誤差の複数の成分が結合された量子化誤差成分結合データを求める第２の小数部抽出手段と、
前記量子化誤差成分結合データに含まれる前記量子化誤差の複数の成分をフィルタリングした、前記フィルタ出力の複数の成分が結合されたフィルタ出力成分結合データを求めるフィルタ手段と、
前記結合データに含まれる前記画素値の複数の成分それぞれの整数部を抽出し、前記画素値の複数の成分の整数部が結合された画素値成分整数部結合データを求める第１の整数部抽出手段と、
前記小数加算値成分結合データに含まれる前記小数加算値の複数の成分それぞれの整数部を抽出し、前記小数加算値の複数の成分の整数部が結合された小数加算値成分整数部結合データを求める第２の整数部抽出手段と、
前記画素値成分整数部結合データに含まれる前記画素値の複数の成分の整数部と、前記小数加算値成分整数部結合データに含まれる前記小数加算値の複数の成分の整数部との加算を、成分ごとに行い、前記画素値の整数部と前記小数加算値の整数部との和である整数加算値の複数の成分が結合された整数加算値成分結合データを求める第２の演算手段と、
前記整数加算値成分結合データに含まれる前記整数加算値の複数の成分を、前記量子化値の最大値に制限することにより、前記量子化値の複数の成分とし、前記量子化値の複数の成分が結合された量子化値成分結合データを求める制限手段と、
前記量子化値成分結合データに含まれる前記量子化値の複数の成分を分離し、階調変換後の画像の画素値である変調画素値の複数の成分として出力する分離手段と
を有する
請求項１に記載の画像処理装置。
【請求項３】
前記複数の成分は、RGB(Red,Green,Blue)成分である
請求項２に記載の画像処理装置。
【請求項４】
画像処理装置が、
画像の画素値と、量子化誤差のフィルタリングの結果であるフィルタ出力とを加算した加算値の量子化値が、前記量子化値の小数点を基準として、
前記画素値の整数部と、
前記フィルタ出力と前記画素値の小数部との和である小数加算値の整数部と
の和として求められること、
及び、
前記量子化値の前記量子化誤差が、前記量子化値の小数点を基準として、
前記フィルタ出力と、
前記画素値の小数部と
の和である前記小数加算値の小数部として求められること
に基づき、前記画素値、及び、前記小数加算値のそれぞれを、整数部と小数部とに分けて、前記量子化値、及び、前記量子化誤差を求めることにより、画素値が複数の成分の前記画像の誤差拡散法による階調変換を行うステップを含む
画像処理方法。
【請求項５】
画像の画素値と、量子化誤差のフィルタリングの結果であるフィルタ出力とを加算した加算値の量子化値が、前記量子化値の小数点を基準として、
前記画素値の整数部と、
前記フィルタ出力と前記画素値の小数部との和である小数加算値の整数部と
の和として求められること、
及び、
前記量子化値の前記量子化誤差が、前記量子化値の小数点を基準として、
前記フィルタ出力と、
前記画素値の小数部と
の和である前記小数加算値の小数部として求められること
に基づき、前記画素値、及び、前記小数加算値のそれぞれを、整数部と小数部とに分けて、前記量子化値、及び、前記量子化誤差を求めることにより、画素値が複数の成分の前記画像の誤差拡散法による階調変換を行う誤差拡散手段
として、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及び、プログラムに関し、特に、階調変換を、高速に行うことができるようにする画像処理装置、画像処理方法、及び、プログラムに関する。
【背景技術】
【０００２】
例えば、RGB(Red,Green,Blue)が6ビットのLCD(Liquid Crystal Display)（RGBの各値が6ビットの画像を表示することができるLCD）等の、少ないビット数のディスプレイに、RGBが8ビットの画像（RGBの各値が8ビットの画像）等の、多ビットの画像を表示する場合には、画像の階調を変換する階調変換を行う必要がある。
【０００３】
階調変換を行う方法としては、例えば、誤差拡散法がある（例えば、非特許文献１を参照）。
【０００４】
誤差拡散法による階調変換では、階調変換を行う対象の画素である注目画素に空間的に近い画素の画素値の（階調変換後の画素値としての量子化値の）量子化誤差であるノイズが、空間周波数の高域にノイズシェーピングされる。さらに、ノイズシェーピング後のノイズを、注目画素の画素値に加算する誤差拡散（注目画素の画素値の（量子化値の）量子化誤差を、注目画素に空間的に近い画素の画素値に加算する誤差拡散）が行われる。そして、ノイズの加算後の画素値が、所望のビット数に量子化され、その量子化により得られる量子化値が、注目画素の階調変換後の画素値として出力される。
【０００５】
誤差拡散法による階調変換は、空間方向の２次元のΔΣ変調（２次元ΔΣ変調）であり、上述のように、ノイズ（ノイズシェーピング後の量子化誤差）が加算された後の画素値が量子化される。そのため、その量子化後（階調変換後）の画像では、画素値の下位ビットを切り捨てる量子化だけでは一定値となる部分の画素値が、PWM(Pulse Width Modulation)がされたようになる。その結果、階調変換後の画像の階調は、人の視覚で空間方向の積分が行われるという空間積分効果によって、滑らかに変化しているように見える。すなわち、階調変換前の画像と同等の階調を、擬似的に表現することができる。
【０００６】
また、誤差拡散法では、空間周波数の高域において、人の視覚の感度が低いことを考慮して、画素値に、ノイズシェーピング後のノイズ（量子化誤差）が加算される。これにより、階調変換後の画像にノイズが目立つ程度を低減することができる。
【０００７】
【非特許文献１】貴家仁志著，「よくわかるディジタル画像処理」，第6版，CQ出版株式会社，2000年1月，p.196-213
【発明の開示】
【発明が解決しようとする課題】
【０００８】
階調変換の対象の画像の画素の画素値が、例えば、RGB(Red,Green,Blue)成分等の複数の成分を有する場合、階調変換は、成分ごとに行われる。すなわち、階調変換は、R成分、G成分、及び、B成分のそれぞれについて行われる。
【０００９】
したがって、１つの成分の階調変換を行う専用のハードウェアや、並列処理用でないCPU(Central Processing Unit)等のプロセッサを有するコンピュータにプログラムを実行させることによって、階調変換を行う場合、階調変換に時間を要することになる。
【００１０】
すなわち、この場合、例えば、R成分の階調変換を行い、その終了後に、G成分の階調変換を行い、さらに、その終了後に、B成分の階調変換を行わなければならないため、階調変換に時間を要する。
【００１１】
本発明は、このような状況に鑑みてなされたものであり、例えば、画素値がRGB成分等の複数の成分を有する画素の画像の階調変換を、高速に行うことができるようにするものである。
【課題を解決するための手段】
【００１２】
本発明の一側面の画像処理装置、又は、プログラムは、画像の画素値と、量子化誤差のフィルタリングの結果であるフィルタ出力とを加算した加算値の量子化値が、前記量子化値の小数点を基準として、前記画素値の整数部と、前記フィルタ出力と前記画素値の小数部との和である小数加算値の整数部との和として求められること、及び、前記量子化値の前記量子化誤差が、前記量子化値の小数点を基準として、前記フィルタ出力と、前記画素値の小数部との和である前記小数加算値の小数部として求められることに基づき、前記画素値、及び、前記小数加算値のそれぞれを、整数部と小数部とに分けて、前記量子化値、及び、前記量子化誤差を求めることにより、画素値が複数の成分の前記画像の誤差拡散法による階調変換を行う誤差拡散手段を備える画像処理装置、又は、画像処理装置として、コンピュータを機能させるためのプログラムである。
【００１３】
本発明の一側面の画像処理方法は、画像処理装置が、画像の画素値と、量子化誤差のフィルタリングの結果であるフィルタ出力とを加算した加算値の量子化値が、前記量子化値の小数点を基準として、前記画素値の整数部と、前記フィルタ出力と前記画素値の小数部との和である小数加算値の整数部との和として求められること、及び、前記量子化値の前記量子化誤差が、前記量子化値の小数点を基準として、前記フィルタ出力と、前記画素値の小数部との和である前記小数加算値の小数部として求められることに基づき、前記画素値、及び、前記小数加算値のそれぞれを、整数部と小数部とに分けて、前記量子化値、及び、前記量子化誤差を求めることにより、画素値が複数の成分の前記画像の誤差拡散法による階調変換を行うステップを含む画像処理方法である。
【００１４】
以上のような一側面においては、画像の画素値と、量子化誤差のフィルタリングの結果であるフィルタ出力とを加算した加算値の量子化値が、前記量子化値の小数点を基準として、前記画素値の整数部と、前記フィルタ出力と前記画素値の小数部との和である小数加算値の整数部との和として求められること、及び、前記量子化値の前記量子化誤差が、前記量子化値の小数点を基準として、前記フィルタ出力と、前記画素値の小数部との和である前記小数加算値の小数部として求められることに基づき、前記画素値、及び、前記小数加算値のそれぞれを、整数部と小数部とに分けて、前記量子化値、及び、前記量子化誤差を求めることにより、画素値が複数の成分の前記画像の誤差拡散法による階調変換が行われる。
【００１５】
なお、画像処理装置は、独立した装置であっても良いし、１つの装置を構成している内部ブロックであっても良い。
【００１６】
また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
【発明の効果】
【００１７】
本発明の一側面によれば、階調変換を高速に行うことができる。特に、例えば、画素値が複数の成分を有する画素の画像の階調変換を、高速に行うことができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態について説明するが、その前に、前段階の準備として、誤差拡散法による階調変換について説明する。
【００１９】
［誤差拡散法による階調変換］
【００２０】
図１は、誤差拡散法による階調変換を行う階調変換装置の構成例を示している。
【００２１】
図１において、階調変換装置は、誤差拡散部１０から構成される。
【００２２】
誤差拡散部１０は、演算部１１、量子化部１２、演算部１３、及び、フィルタ１４から構成され、誤差拡散を行うことで、誤差拡散法による階調変換を行う。
【００２３】
いま、画素値がmビットの画素の画像を、階調変換の対象として、画素値が、mビットより少ないnビットの画素の画像に階調変換を行うこととする。この場合、演算部１１には、階調変換の対象の画像の画素のmビットの画素値INが、例えば、ラスタスキャン順に供給される。
【００２４】
さらに、演算部１１には、フィルタ１４の出力（以下、フィルタ出力ともいう）が供給される。
【００２５】
演算部１１は、画素値INと、フィルタ１４のフィルタ出力とを加算し、その結果得られる加算値Mを、量子化部１２、及び、演算部１３に供給する。
【００２６】
量子化部１２は、演算部１１からの加算値を、nビットに量子化し、その結果得られるnビットの量子化値を、階調変換後の画像の画素値OUTとして出力する。
【００２７】
量子化部１２が出力する画素値OUTは、演算部１３にも供給される。
【００２８】
演算部１３は、演算部１１からの加算値Mから、量子化部１２からの画素値OUTを減算することで、すなわち、量子化部１２への入力から、量子化部１２からの出力を減算することで、量子化部１２での量子化により生じる量子化誤差Qを求め、フィルタ１４に供給する。
【００２９】
フィルタ１４は、信号をフィルタリングする２次元のFIR(Finite Impulse Response)フィルタであり、演算部１３からの量子化誤差Qをフィルタリングし、そのフィルタリングの結果であるフィルタ出力を、演算部１１に出力する。
【００３０】
演算部１１では、以上のようにして、フィルタ１４からの、量子化誤差Qのフィルタリングの結果であるフィルタ出力と、画素値INとが加算される。
【００３１】
誤差拡散部１０では、量子化誤差Qが、２次元のFIRフィルタであるフィルタ１４を介して、入力側（演算部１１）にフィードバックされており、２次元のΔΣ変調を行うΔΣ変調器が構成されている。
【００３２】
ΔΣ変調器によれば、量子化誤差Qが、２次元の空間方向、つまり、水平方向（x方向）、及び、垂直方向（y方向）のいずれについても、空間周波数の高域に拡散され（ノイズシェーピングされ）、見た目に、ノイズが比較的目立たない、擬似的に、高階調の画像を得ることができる。
【００３３】
以上のように、誤差拡散法による階調変換では、ΔΣ変調が行われる。そこで、誤差拡散法による階調変換によって得られる、階調変換後の画像を、変調画像ともいう。また、変調画像の画素を、変調画素ともいい、変調画素の画素値OUTを、変調画素値ともいう。
【００３４】
ここで、加算値Mは、画素値INと、量子化誤差Qとを用いて、式（１）で表される。
【００３５】
M=IN+G×Q
・・・（１）
【００３６】
式（１）において、Gは、フィルタ１４の伝達関数を表す。
【００３７】
また、量子化誤差は、加算値Mと、変調画素値OUTとを用いて、式（２）で表される。
【００３８】
Q=M-OUT
・・・（２）
【００３９】
式（１）と式（２）から、画素値INと変調画素値OUTとの関係は、式（３）で表される。
【００４０】
OUT=IN-(1-G)×Q
・・・（３）
【００４１】
式（３）では、量子化誤差Qが、-(1-G)で変調されているが、この-(1-G)での変調が、空間方向のΔΣ変調によるノイズシェーピングである。
【００４２】
図２は、誤差拡散法による階調変換、すなわち、ΔΣ変調の対象となる画素の順番を示している。
【００４３】
図２に示すように、階調変換の対象の画像を構成する画素は、例えば、ラスタスキャン順に、ΔΣ変調の対象（注目画素）となる。
【００４４】
図３は、図１のフィルタ１４の構成例を示している。
【００４５】
図３において、フィルタ１４は、４タップの２次元のFIRフィルタであり、４個の演算部２１1,1，２１2,1，２１3,1、及び２１1,2、並びに、１個の演算部２２等から構成される。
【００４６】
いま、注目画素を中心とする、横×縦が3×3画素のうちの、左からx番目で、上からy番目の画素の量子化誤差を、Q(x,y)と表すこととすると、演算部２１x,yには、量子化誤差Q(x,y)が供給される。
【００４７】
すなわち、図３では、演算部２１x,yには、注目画素を中心とする、横×縦が3×3画素のうちの、ラスタスキャン順で、注目画素より先に処理される（注目画素にされる）4画素それぞれの量子化誤差Q(x,y)が供給される。
【００４８】
演算部２１x,yは、そこに供給される量子化誤差Q(x,y)と、あらかじめ設定されたフィルタ係数a(x,y)とを乗算し、その結果得られる乗算値を、演算部２２に供給する。
【００４９】
演算部２２は、４個の演算部２１x,yそれぞれから供給される乗算値を加算し、その加算値を、フィルタ出力として、演算部１１（図１）に出力する。
【００５０】
図１の演算部１１では、以上のように、注目画素を中心とする3×3画素のうちの、ラスタスキャン順で、注目画素より先に処理される4画素それぞれの量子化誤差Q(x,y)を用いたフィルタリングにより得られるフィルタ出力が、注目画素の画素値INに加算される。
【００５１】
なお、図３では、４タップのフィルタ１４のフィルタ係数として、例えば、a(1,1) = 1/16，a(2,1) = 5/16，a(3,1) = 3/16，a(1,2) = 7/16が採用されている。
【００５２】
この場合、フィルタ出力Uは、式（４）で表される。
【００５３】
U=Q(1,1)/16 + Q(2,1)×5/16 + Q(3,1)×3/16 + Q(1,2)×7/16
・・・（４）
【００５４】
図４は、図３のフィルタ１４のフィルタリングに用いられる量子化誤差Qを示している。
【００５５】
図３で説明したように、フィルタ１４では、注目画素を中心とする3×3画素の、ラスタスキャン順で、注目画素より先に処理される4画素それぞれの量子化誤差Q(1,1)，Q(2,1)，Q(3,1)、及びQ(1,2)を用いてフィルタリング（式（４）の積和演算）が行われる。
【００５６】
そして、そのフィルタリングの結果であるフィルタ出力Uが、演算部１１（図１）において、注目画素の画素値INと加算される。
【００５７】
ところで、図１の階調変換装置は、１つの誤差拡散部１０から構成されるため、画素値がRGB成分等の複数の成分の画素からなる画像の階調変換を行う場合には、誤差拡散部１０において、複数の成分の階調変換を順番に行うことになる。
【００５８】
図５は、図１の階調変換装置において、画素値がRGB成分の画素からなる画像の階調変換を行う場合の、階調変換の処理を説明するフローチャートである。
【００５９】
図１の階調変換装置の誤差拡散部１０には、例えば、画素値がRGB成分の画素からなる画像が、階調変換の対象の画像（以下、対象画像ともいう）として供給される。
【００６０】
誤差拡散部１０は、対象画像の画素の中で、まだ、注目画素（処理の対象として注目する画素）としていない画素のうちの、ラスタスキャン順で最初の画素を、注目画素とする。
【００６１】
そして、ステップＳ１１において、誤差拡散部１０は、注目画素の画素値のR成分のΔΣ変調、すなわち、誤差拡散法による階調変換を行い、階調変換後の画素値のR成分を出力して、処理は、ステップＳ１２に進む。
【００６２】
ステップＳ１２では、誤差拡散部１０は、注目画素の画素値のG成分の誤差拡散法による階調変換を行い、階調変換後の画素値のG成分を出力して、処理は、ステップＳ１３に進む。
【００６３】
ステップＳ１３では、誤差拡散部１０は、注目画素の画素値のB成分の誤差拡散法による階調変換を行い、階調変換後の画素値のB成分を出力して、処理は、ステップＳ１４に進む。
【００６４】
なお、誤差拡散部１０のフィルタ１４（図１）は、量子化誤差を、RGB成分のそれぞれごとに記憶する。そして、フィルタ１４は、R成分の階調変換では量子化誤差のR成分（画素値のR成分について得られた量子化誤差）を、G成分の階調変換では量子化誤差のR成分を、B成分の階調変換では量子化誤差のB成分を、それぞれ用いてフィルタリングを行う。
【００６５】
ステップＳ１４では、誤差拡散部１０は、注目画素が、ラスタスキャン順で、最後の画素であるかどうかを判定する。
【００６６】
ステップＳ１４において、注目画素が、ラスタスキャン順で、最後の画素でないと判定された場合、誤差拡散部１０は、対象画像の画素の中で、まだ、注目画素としていない画素のうちの、ラスタスキャン順で最初の画素を、新たに、注目画素とする。そして、処理は、ステップＳ１４からステップＳ１１に戻り、以下、同様の処理が繰り返される。
【００６７】
また、ステップＳ１４において、注目画素が、ラスタスキャン順で、最後の画素であると判定された場合、処理は、終了する。
【００６８】
以上のように、１つの誤差拡散部１０を有する階調変換装置（図１）において、画素値がRGB成分の画素からなる画像の階調変換を行う場合には、画素値のRGB成分の階調変換を、成分ごとに順番に行うことになるので、階調変換に要する時間（処理のサイクル数）が大になる。この点、並列処理用でないCPU等のプロセッサを有するコンピュータにプログラムを実行させることによって、階調変換を行う場合も、同様である。
【００６９】
図６は、誤差拡散法による階調変換を行う階調変換装置の他の構成例を示している。
【００７０】
図６において、階調変換装置は、３つの誤差拡散部３１Ｒ，３１Ｇ、及び３１Ｂから構成され、画素値がRGB成分等の複数の成分の画素からなる画像の階調変換を行う。
【００７１】
すなわち、図６において、階調変換装置には、画素値がRGB成分の画素からなる画像が、対象画像として供給される。
【００７２】
対象画像の画素は、ラスタスキャン順に、注目画素とされ、注目画素の画素値のRGB成分のうちの、R成分は誤差拡散部３１Ｒに、G成分は誤差拡散部３１Ｇに、B成分は誤差拡散部３１Ｂに、それぞれ供給される。
【００７３】
誤差拡散部３１Ｒ，３１Ｇ、及び３１Ｂは、いずれも、図１の誤差拡散部１０と同様に構成される。
【００７４】
例えば、いま、対象画像が、画素値のRGB成分がそれぞれ8ビットの画像（8ビット画像）であり、階調変換後の画像として、画素値のRGB成分がそれぞれ6ビットの画像（6ビット画像）が要求されていることとする。この場合、誤差拡散部３１Ｒは、誤差拡散部１０（図１）と同様の処理を行うことで、そこに供給される画素値の8ビットのR成分を、6ビットのR成分に階調変換して出力する。
【００７５】
同様に、誤差拡散部３１Ｇは、そこに供給される画素値の8ビットのG成分を、6ビットのG成分に階調変換して出力し、誤差拡散部３１Ｂは、そこに供給される画素値の8ビットのB成分を、6ビットのB成分に階調変換して出力する。
【００７６】
以上のように、３つの誤差拡散部３１Ｒ，３１Ｇ、及び３１Ｂを有する階調変換装置（図６）では、画素値のRGB成分の階調変換を、並列に行うことができるので、階調変換に要する時間を小にすることができる。但し、図６の階調変換装置の規模は、単純には、図１の階調変換装置の3倍になる。
【００７７】
また、並列処理用でないCPU等のプロセッサを有するコンピュータにプログラムを実行させることによって、階調変換を行う場合には、図６の階調変換装置のように、画素値のRGB成分の階調変換を、並列に行うことは困難である。
【００７８】
［本発明を適用した画像処理装置の全体構成］
【００７９】
そこで、図７は、本発明を適用した画像処理装置の一実施の形態の構成例を示している。
【００８０】
図７において、画像処理装置は、誤差拡散部５１とディスプレイ５２から構成され、例えば、TV（テレビジョン受像機）等に適用することができる。
【００８１】
誤差拡散部５１には、例えば、テレビジョン放送番組の画像が、対象画像として供給される。
【００８２】
例えば、対象画像が、画素値のRGB成分がそれぞれ8ビットの画像（8ビット画像）であり、ディスプレイ５２が表示することができる画像が、画素値のRGB成分がそれぞれ6ビットの画像（6ビット画像）である。この場合、誤差拡散部５１は、対象画像である8ビット画像の、誤差拡散法による階調変換（ΔΣ変調）を行うことで、6ビット画像（変調画像）とし、その6ビット画像を、ディスプレイ５２に供給する。
【００８３】
ディスプレイ５２は、例えば、6ビット画像を表示することが可能なLCD(Liquid Crystal Display)や有機EL(Electro Luminescence)ディスプレイ等であり、誤差拡散部５１からの6ビット画像を表示する。
【００８４】
なお、ディスプレイ５２としては、画素値のRGB成分がそれぞれ6ビットの6ビット画像以外のビット数の画像を表示するディスプレイを採用することができる。
【００８５】
また、ディスプレイ５２としては、画素値のRGB成分が、いずれも6ビットの画像の他、例えば、R成分が5ビットで、G成分が6ビットで、B成分が5ビットの画像を表示するディスプレイを採用することが可能である。
【００８６】
以上のように構成される画像処理装置において、誤差拡散部５１では、対象画像の画素値のRGB成分の誤差拡散法による階調変換（ΔΣ変調）が、以下の原理に基づき、RGB成分すべてについて並列（同時に）行われる。
【００８７】
すなわち、図１で説明した誤差拡散法による階調変換（ΔΣ変調）では、量子化部１２が出力する量子化値（変調画素値）OUTの小数点を基準とすると、量子化値OUTは、画素値INの整数部と、小数加算値の整数部との和として求めることができる。
【００８８】
ここで、画素値INがmビットで、量子化値OUTがn(<m)ビットであるとする。量子化値（変調画素値）OUTとは、対象画像のmビットの画素値INと、量子化誤差Qのフィルタリングの結果であるフィルタ出力とを加算した加算値Mをnビットに量子化したnビットの値である。
【００８９】
量子化値OUTの小数点を基準としたときの、画素値INの整数部とは、mビットの画素値INの小数点が、最上位ビットからnビット目とn+1ビット目との間の位置にあるとしたときの、画素値INの整数部（最上位ビットから、nビット目まで）である。
【００９０】
小数加算値とは、量子化誤差Qのフィルタリングを行うフィルタ１４のフィルタ出力と、画素値INの小数部（最上位ビットからn+1ビット目から、最下位ビットまで）との和である。
【００９１】
また、図１で説明した誤差拡散法による階調変換では、量子化部１２が出力する量子化値OUTの小数点を基準とすると、量子化値OUTの量子化誤差Qは、フィルタ出力と画素値INの小数部との和である小数加算値の小数部として求めることができる。
【００９２】
図７の誤差拡散部５１では、上述のように、量子化値OUTの小数点を基準とした場合に、第１に、量子化値OUTが、画素値INの整数部と、小数加算値の整数部との和として求められること、及び、第２に、量子化誤差Qが、小数加算値の小数部として求められることに基づき、画素値IN、及び、小数加算値のそれぞれを、整数部と小数部とに分けて、量子化値OUT、及び、量子化誤差Qを求めることにより、誤差拡散法による階調変換を、画素値のRGB成分すべてについて並列（同時に）行う。
【００９３】
その結果、誤差拡散部５１では、画素値が複数の成分であるRGB成分を有する画素の画像の階調変換を、高速に行うことができる（処理のサイクル数を大幅に削減することができる）。
【００９４】
［誤差拡散部５１のハードウェアの構成］
【００９５】
図８は、図７の誤差拡散部５１のハードウェアの構成例を示している。
【００９６】
図８において、誤差拡散部５１は、コンピュータで構成されている。
【００９７】
コンピュータは、CPU１０２を内蔵している。CPU１０２には、バス１０１を介して、入出力インタフェース１１０が接続されている。CPU１０２は、入出力インタフェース１１０を介して、外部とのインタフェースである入力部１０７から指令や処理の対象となるデータが入力されると、ROM(Read Only Memory)１０３に格納されているプログラムを実行する。あるいは、CPU１０２は、ハードディスク１０５に格納されているプログラムを、RAM(Random Access Memory)１０４にロードして実行する。これにより、コンピュータは、全体として、後述するブロック図の構成によって行われる処理や、後述するフローチャートに従った処理を行う。そして、CPU１０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース１１０を介して、外部とのインタフェースである出力部１０６から出力し、あるいは、ハードディスク１０５に記録等させる。
【００９８】
なお、ハードディスク１０５に格納されているプログラムには、ハードディスク１０５に最初から記録されていたプログラムがある。また、ハードディスク１０５に格納されているプログラムには、インターネット等のネットワークを介しての通信インタフェースである通信部１０８によってダウンロードされてハードディスク１０５にインストールされたプログラムがある。その他、ハードディスク１０５に格納されているプログラムには、ドライブ１０９に装着されたリムーバブル記録媒体１１１から読み出されてハードディスク１０５にインストールされたプログラム等がある。
【００９９】
すなわち、CPU１０２に実行させるプログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク１０５やROM１０３に予め記録しておくことができる。
【０１００】
あるいは、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体１１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体１１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０１０１】
プログラムは、上述したようなリムーバブル記録媒体１１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部１０８で受信し、内蔵するハードディスク１０５にインストールすることができる。
【０１０２】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０１０３】
［誤差拡散部５１の処理］
【０１０４】
図９は、図８のコンピュータで構成される誤差拡散部５１の処理を説明するフローチャートである。
【０１０５】
誤差拡散部５１は、そこに供給される、画素値がRGB成分の画素からなる画像を、対象画像として、その対象画像の画素の中で、まだ、注目画素としていない画素のうちの、ラスタスキャン順で最初の画素を、注目画素とする。
【０１０６】
そして、ステップＳ２１において、誤差拡散部５１は、注目画素の画素値のRGB成分それぞれのΔΣ変調、すなわち、誤差拡散法による階調変換を並列に行い、階調変換後の画素値のRGB成分を出力して、処理は、ステップＳ２２に進む。
【０１０７】
ステップＳ２２では、誤差拡散部５１は、注目画素が、ラスタスキャン順で、最後の画素であるかどうかを判定する。
【０１０８】
ステップＳ２２において、注目画素が、ラスタスキャン順で、最後の画素でないと判定された場合、誤差拡散部５１は、対象画像の画素の中で、まだ、注目画素としていない画素のうちの、ラスタスキャン順で最初の画素を、新たに、注目画素とする。そして、処理は、ステップＳ２２からステップＳ２１に戻り、以下、同様の処理が繰り返される。
【０１０９】
また、ステップＳ２２において、注目画素が、ラスタスキャン順で、最後の画素であると判定された場合、処理は、終了する。
【０１１０】
［誤差拡散部５１の機能的な構成］
【０１１１】
図１０は、図７の誤差拡散部５１の機能的な構成例を示すブロック図である。
【０１１２】
図１０の構成は、CPU１０２（図８）がプログラムを実行することにより、いわば機能的に実現される。すなわち、図８のコンピュータは、CPU１０２がプログラムを実行することにより、実質的に、図１０の構成の誤差拡散部５１として機能する。
【０１１３】
なお、図１０の構成の誤差拡散部５１は、専用のハードウェアによって構成することも可能である。
【０１１４】
図１０において、誤差拡散部５１は、結合部２０１、小数部抽出部２０２、演算部２０３、小数部抽出部２０４、フィルタ部２０５、整数部抽出部２０６及び２０７、演算部２０８、リミッタ２０９、及び、分離部２１０から構成される。
【０１１５】
なお、以下において、ある値の整数部、及び、小数部とは、それぞれ、図１の誤差拡散部１０の量子化部１２の出力に相当する、誤差拡散部５１での階調変換により得られる量子化値（変調画素値）OUTの小数点を基準とする整数部、及び、小数部を意味する。
【０１１６】
結合部２０１には、注目画素の画素値INの複数の成分としてのRGB成分（R成分INR，G成分ING、及び、B成分INB）が供給される。
【０１１７】
結合部２０１は、注目画素の画素値INのRGB成分を結合し、結合データLとして、小数部抽出部２０２、及び、整数部抽出部２０６に供給する。
【０１１８】
小数部抽出部２０２は、結合部２０１からの結合データLに含まれる注目画素の画素値INのRGB成分それぞれの小数部を抽出し、注目画素の画素値INのRGB成分の小数部が結合された画素値成分小数部結合データPを求め、演算部２０３に供給する。
【０１１９】
演算部２０３には、小数部抽出部２０２から、画素値成分小数部結合データPが供給される他、フィルタ部２０５から、図１のフィルタ１４の出力に相当するフィルタ出力のRGB成分が結合されたフィルタ出力成分結合データUが供給される。
【０１２０】
演算部２０３は、小数部抽出部２０２からの画素値成分小数部結合データPに含まれる注目画素の画素値INのRGB成分の小数部と、フィルタ部２０５からのフィルタ出力成分結合データUに含まれるフィルタ出力のRGB成分との加算を、成分ごとに（R成分、G成分、及び、B成分のそれぞれごとに）行う。さらに、演算部２０３は、その加算によって得られる小数加算値のRGB成分が結合された小数加算値成分結合データXを求め、小数部抽出部２０４、及び、整数部抽出部２０７に供給する。
【０１２１】
小数部抽出部２０４は、演算部２０３からの小数加算値成分結合データXに含まれる小数加算値のRGB成分それぞれの小数部を、量子化誤差のRGB成分として抽出し、量子化誤差のRGB成分が結合された量子化誤差成分結合データQを求め、フィルタ部２０５に供給する。
【０１２２】
フィルタ部２０５は、小数部抽出部２０４からの量子化誤差成分結合データQに含まれる量子化誤差のRGB成分をフィルタリングした、フィルタ出力のRGB成分が結合されたフィルタ出力成分結合データUを求め、演算部２０３に供給する。
【０１２３】
整数部抽出部２０６は、結合部２０１からの結合データLに含まれる注目画素の画素値INのRGB成分それぞれの整数部を抽出し、注目画素の画素値INのRGB成分の整数部が結合された画素値成分整数部結合データIを求め、演算部２０８に供給する。
【０１２４】
整数部抽出部２０７は、演算部２０３からの小数加算値成分結合データXに含まれる小数加算値のRGB成分それぞれの整数部を抽出し、小数加算値のRGB成分の整数部が結合された小数加算値成分整数部結合データJを求め、演算部２０８に供給する。
【０１２５】
演算部２０８は、整数部抽出部２０６からの画素値成分整数部結合データIに含まれる注目画素の画素値INのRGB成分の整数部と、整数部抽出部２０７からの小数加算値成分整数部結合データJに含まれる小数加算値のRGB成分の整数部との加算を、成分ごとに行う。そして、演算部２０８は、その加算によって得られる注目画素の画素値INの整数部と小数加算値の整数部との和である整数加算値のRGB成分が結合された整数加算値成分結合データYを求め、リミッタ２０９に供給する。
【０１２６】
リミッタ２０９は、演算部２０８からの整数加算値成分結合データYに含まれる整数加算値のRGB成分を、量子化値の最大値に制限することにより、量子化値のRGB成分とし、量子化値のRGB成分が結合された量子化値成分結合データSを求める。そして、リミッタ２０９は、量子化値成分結合データSを、分離部２１０に供給する。
【０１２７】
分離部２１０は、リミッタ２０９からの量子化値成分結合データSに含まれる量子化値のRGB成分を分離し、階調変換後の画像の画素値である変調画素値OUTのRGB成分（R成分OUTR，G成分OUTG、及び、B成分OUTB）として出力する。
【０１２８】
［誤差拡散部５１の誤差拡散法による階調変換の処理］
【０１２９】
図１０の誤差拡散部５１では、図７で説明したように、対象画像の画素値のRGB成分の誤差拡散法による階調変換（ΔΣ変調）が、上述の原理に基づき、RGB成分すべてについて並列に行われる。
【０１３０】
すなわち、図１で説明した誤差拡散法による階調変換では、量子化部１２が出力する量子化値（変調画素値）OUTの小数点を基準とすると、量子化値OUTは、画素値INの整数部と、小数加算値（画素値INの小数部とフィルタ出力との加算値）の整数部との和として求めることができる。
【０１３１】
そこで、誤差拡散部５１では、演算部２０８において、整数部抽出部２０６から供給される画素値成分整数部結合データIに含まれる注目画素の画素値INのRGB成分の整数部と、整数部抽出部２０７から供給される小数加算値成分整数部結合データJに含まれる小数加算値のRGB成分の整数部との加算を、成分ごとに行う。これにより、演算部２０８は、その加算によって得られる注目画素の画素値INの整数部と小数加算値の整数部との和である整数加算値のRGB成分が結合された整数加算値成分結合データYを求める。
【０１３２】
演算部２０８で求められる整数加算値成分結合データYは、演算部２０８の後段のリミッタ２０９、及び、分離部２１０で処理され、最終的には、変調画素値OUTのRGB成分（R成分OUTR，G成分OUTG、及び、B成分OUTB）となる。
【０１３３】
また、図１で説明した誤差拡散法による階調変換では、量子化部１２が出力する量子化値（変調画素値）OUTの小数点を基準とすると、量子化値OUTの量子化誤差Qは、フィルタ出力と画素値INの小数部との和である小数加算値の小数部として求めることができる。
【０１３４】
そこで、誤差拡散部５１では、小数部抽出部２０４において、演算部２０３から供給される小数加算値成分結合データXに含まれる小数加算値のRGB成分それぞれの小数部を、量子化誤差のRGB成分として抽出し、量子化誤差のRGB成分が結合された量子化誤差成分結合データQを求める。
【０１３５】
誤差拡散部５１では、以上のようにして、最終的には変調画素値OUTとなる整数加算値成分結合データYと、量子化誤差成分結合データQとを求めるために、結合データL（に含まれる注目画素の画素値INのRGB成分それぞれ）を、整数部抽出部２０６と小数部抽出部２０２とで、整数部と小数部に分けるとともに、小数加算値成分結合データ（に含まれる小数加算値のRGB成分それぞれ）を、整数部抽出部２０７と小数部抽出部２０４とで、整数部と小数部に分けて、処理を行う。
【０１３６】
すなわち、図１１は、図１０の誤差拡散部５１が図９のステップＳ２１で行う誤差拡散法による階調変換の処理を説明するフローチャートである。
【０１３７】
結合部２０１は、ステップＳ１０１において、そこに供給される注目画素の画素値INのRGB成分を結合し、結合データLとして、小数部抽出部２０２、及び、整数部抽出部２０６に供給する。
【０１３８】
小数部抽出部２０２は、ステップＳ１０２において、結合部２０１からの結合データLに含まれる注目画素の画素値INのRGB成分それぞれの小数部を抽出し、その画素値INのRGB成分の小数部が結合された画素値成分小数部結合データPを求める。画素値成分小数部結合データPは、小数部抽出部２０２から演算部２０３に供給される。
【０１３９】
また、演算部２０３には、後述するステップＳ１０５で、フィルタ部２０５が前回求めた（前回の注目画素の階調変換の処理が行われたときに求められた）フィルタ出力成分結合データUが供給される。
【０１４０】
演算部２０３は、ステップＳ１０３において、小数部抽出部２０２からの画素値成分小数部結合データPに含まれる注目画素の画素値INのRGB成分の小数部と、フィルタ部２０５からのフィルタ出力成分結合データUに含まれるフィルタ出力のRGB成分との加算を、成分ごとに行う。そして、演算部２０３は、その加算によって得られる小数加算値のRGB成分が結合された小数加算値成分結合データXを求め、小数部抽出部２０４、及び、整数部抽出部２０７に供給する。
【０１４１】
小数部抽出部２０４は、ステップＳ１０４において、演算部２０３からの小数加算値成分結合データに含まれる小数加算値のRGB成分それぞれの小数部を、量子化誤差のRGB成分として抽出し、量子化誤差のRGB成分が結合された量子化誤差成分結合データQを求める。量子化誤差成分結合データQは、小数部抽出部２０４からフィルタ部２０５に供給される。
【０１４２】
フィルタ部２０５は、ステップＳ１０５において、小数部抽出部２０４からの量子化誤差成分結合データQに含まれる量子化誤差のRGB成分を成分ごとにフィルタリングした、フィルタ出力のRGB成分が結合されたフィルタ出力成分結合データUを求め、演算部２０３に供給する。
【０１４３】
このフィルタ出力成分結合データUは、次の注目画素の階調変換の処理が行われるときに、演算部２０３において、ステップＳ１０３で、小数部抽出部２０２から供給される画素値成分小数部結合データPと加算される。
【０１４４】
一方、整数部抽出部２０６は、ステップＳ１０６において、結合部２０１からの結合データLに含まれる注目画素の画素値INのRGB成分それぞれの整数部を抽出し、注目画素の画素値INのRGB成分の整数部が結合された画素値成分整数部結合データIを求める。画素値成分整数部結合データIは、整数部抽出部２０６から演算部２０８に供給される。
【０１４５】
また、整数部抽出部２０７は、ステップＳ１０７において、演算部２０３からの小数加算値成分結合データXに含まれる小数加算値のRGB成分それぞれの整数部を抽出し、小数加算値のRGB成分の整数部が結合された小数加算値成分整数部結合データJを求める。小数加算値成分整数部結合データJは、整数部抽出部２０７から演算部２０８に供給される。
【０１４６】
演算部２０８は、ステップＳ１０８において、整数部抽出部２０６からの画素値成分整数部結合データIに含まれる注目画素の画素値INのRGB成分の整数部と、整数部抽出部２０７からの小数加算値成分整数部結合データJに含まれる小数加算値のRGB成分の整数部との加算を、成分ごとに行う。そして、演算部２０８は、その加算によって得られる注目画素の画素値INの整数部と小数加算値の整数部との和である整数加算値のRGB成分が結合された整数加算値成分結合データYを求め、リミッタ２０９に供給する。
【０１４７】
リミッタ２０９は、ステップＳ１０９において、演算部２０８からの整数加算値成分結合データYに含まれる整数加算値のRGB成分を、量子化値の最大値に制限した、量子化値のRGB成分が結合された量子化値成分結合データSを求め、分離部２１０に供給する。
【０１４８】
分離部２１０は、ステップＳ１１０において、リミッタ２０９からの量子化値成分結合データSに含まれる量子化値のRGB成分を分離し、変調画素値OUTのRGB成分として出力して、処理は、リターンする。
【０１４９】
［結合部２０１ないし分離部２１０それぞれの処理］
【０１５０】
次に、対象画像の画素値INのRGB成分それぞれがmビットであり、階調変換後の画像（変調画像）の変調画素値OUTのRGB成分それぞれがn(<m)ビットであるとして、誤差拡散部５１を構成する結合部２０１ないし分離部２１０それぞれの処理について説明する。
【０１５１】
図１２は、図１０の結合部２０１で扱われるデータを説明する図である。
【０１５２】
結合部２０１は、図１２に示すように、画素値INのmビットのRGB成分INR，ING、及びINBを結合し、少なくとも、3m+2ビット以上のビット長の結合データLとする。
【０１５３】
図１２の結合データLでは、画素値INのmビットのR成分INR、mビットのG成分ING、及び、mビットのB成分INBが、上位ビットから、その順で並んでいる。さらに、図１２の結合データLは、各成分どうしの間に、1ビットのダミービットとしての、例えば0を挟む形の3m+2ビットのデータになっている。
【０１５４】
ここで、図１２の結合データLでは、mビットのR成分INR、mビットのG成分ING、及び、mビットのB成分INBの並びのうちの、R成分INRとG成分INGとの間に、1ビットのダミービット0が配置され、G成分INGとB成分INBとの間に、1ビットのダミービット0が配置されている。
【０１５５】
但し、R成分INRとG成分INGとの間に配置するダミービットは、2ビット以上とすることができる。G成分INGとB成分INBとの間に配置するダミービットも同様である。
【０１５６】
また、結合データLにおいては、その上位ビット側に配置されているmビットのR成分INRの上位ビット側や、結合データLの下位ビット側に配置されているmビットのB成分INBの下位ビット側に、さらに、1ビット以上のダミービットを配置することが可能である。
【０１５７】
なお、以下では、データの最下位ビットからNビット目のビットを、第Nビットという。また、図１２以降の図においては、データの小数点の位置を、逆三角形（▽）で表す。
【０１５８】
例えば、図１２の結合データLにおいて、第1ビットの右にある逆三角形は、結合データLに含まれる画素値INのB成分INBの小数点の位置を表す。また、第m+1ビットと第m+2ビットとの間にある逆三角形は、結合データLに含まれる画素値INのG成分INGの小数点の位置を表す。さらに、第2m+2ビットと第2m+3ビットとの間にある逆三角形は、結合データLに含まれる画素値INのR成分INRの小数点の位置を表す。
【０１５９】
図１３は、図１０の小数部抽出部２０２、演算部２０３、小数部抽出部２０４、及び、フィルタ部２０５で扱われるデータを説明する図である。
【０１６０】
すなわち、図１３Ａは、小数部抽出部２０２で求められる画素値成分小数部結合データPを示している。
【０１６１】
上述したように、対象画像の画素値INのRGB成分INR，ING、及びINBそれぞれがmビットであり、階調変換後の画像（変調画像）の変調画素値OUTのRGB成分OUTR，OUTG、及びOUTBそれぞれがn(<m)ビットであるとする。この場合、nビットの量子化値、つまり、変調画素値OUTのnビットのR成分OUTR、G成分OUTG、及び、B成分OUTBの小数点を基準とすると、画素値のmビットのR成分INR、G成分ING、及び、B成分INBの整数部は、上位nビットである。また、小数部は、下位m-nビットである。
【０１６２】
そこで、小数部抽出部２０２は、図１２の結合データLを、nビットだけ左シフトする（上位ビット側にシフトする）。そして、小数部抽出部２０２は、その左シフト後の結合データLに含まれる画素値のRGB成分INR，ING、及びINBそれぞれの下位m-nビットである小数部PR，PG、及びPB以外のビットを0にする。
【０１６３】
小数部抽出部２０２は、以上のようにして、量子化値の小数点を基準として、結合データLに含まれる画素値INのRGB成分INR，ING、及びINBそれぞれの小数部PR，PG、及びPBを抽出することで、画素値INのRGB成分INR，ING、及びINBの小数部PR，PG、及びPBが結合された、3m+2ビットの画素値成分小数部結合データP（図１３Ａ）を求める。
【０１６４】
なお、図１３Ａの画素値成分小数部結合データPに含まれる画素値INのR成分INRの小数部PRの小数点の位置は、第3m+2ビットの左側である。また、画素値INのG成分INGの小数部PGの小数点の位置は、第2m+2ビットと第2m+1ビットとの間であり、画素値INのB成分INBの小数部PBの小数点の位置は、第m+1ビットと第mビットとの間である。
【０１６５】
図１３Ｂは、フィルタ部２０５で求められるフィルタ出力成分結合データUを示している。
【０１６６】
図１３Ｂにおいて、フィルタ出力成分結合データUは、フィルタ出力のmビットのR成分（画素値INのR成分INRの階調変換後の変調画素値（量子化値）OUTの量子化誤差QRをフィルタリングして得られる値）UR、mビットのG成分UG、及び、mビットのB成分UBが、上位ビットから、その順で並び、かつ、各成分どうしの間に、1ビットのダミービットとしての、例えば0を挟む形の3m+2ビットのデータになっている。
【０１６７】
フィルタ部２０５は、小数部抽出部２０４で求められる後述する図１３Ｄの量子化誤差成分結合データQに含まれる量子化誤差のR成分（画素値INのR成分INRの階調変換後の変調画素値（量子化値）OUTの量子化誤差）QRを、図１のフィルタ１４等の、ΔΣ変調のノイズシェーピング用のフィルタでフィルタリングしたmビットの値を、フィルタ出力のmビットのR成分URとして求める。
【０１６８】
さらに、フィルタ部２０５は、小数部抽出部２０４で求められる量子化誤差成分結合データQ（図１３Ｄ）に含まれる量子化誤差のG成分QGをフィルタリングしたmビットの値を、フィルタ出力のmビットのG成分UGとして求める。
【０１６９】
また、フィルタ部２０５は、小数部抽出部２０４で求められる量子化誤差成分結合データQ（図１３Ｄ）に含まれる量子化誤差のB成分QBをフィルタリングしたmビットの値を、フィルタ出力のmビットのB成分UBとして求める。
【０１７０】
そして、フィルタ部２０５は、以上のようにして求められたフィルタ出力のmビットのR成分UR、G成分UG、及び、B成分UBが結合されたフィルタ出力成分結合データU（図１３Ｂ）を、演算部２０３（図１０）に供給する。
【０１７１】
なお、図１３Ｂのフィルタ出力成分結合データUに含まれるフィルタ出力のR成分UR、G成分UG、及び、B成分UBそれぞれの小数点の位置は、図１３Ａの画素値成分小数部結合データPに含まれる画素値INのR成分INR,G成分ING、及びB成分INBの小数部PR，PG、及びPBの、同一の成分の小数点の位置に一致する。
【０１７２】
すなわち、図１３Ｂのフィルタ出力のR成分URの小数点の位置は、第3m+2ビットの左側であり、フィルタ出力のG成分UGの小数点の位置は、第2m+2ビットと第2m+1ビットとの間である。また、フィルタ出力のB成分UBの小数点の位置は、第m+1ビットと第mビットとの間である。
【０１７３】
図１３Ｃは、演算部２０３で求められる小数加算値成分結合データXを示している。
【０１７４】
図１３Ｃにおいて、小数加算値成分結合データXは、小数加算値のm+1ビットのR成分（画素値INのR成分INRの小数部PRと、フィルタ出力のR成分URとの和）XR、m+1ビットのG成分XG、及び、m+1ビットのB成分XBが、上位ビットから、その順で隙間なく並んだ3m+3ビットのデータになっている。
【０１７５】
演算部２０３は、小数部抽出部２０２から供給される図１３Ａの画素値成分小数部結合データPに含まれる画素値INのRGB成分の小数部PR，PG、及びPBと、フィルタ部２０５から供給される図１３Ｂのフィルタ出力成分結合データUに含まれるフィルタ出力のRGB成分UR，UG、及びUBとの加算を、成分ごとに行い、その加算によって得られる小数加算値のRGB成分XR，XG、及びXBが結合された小数加算値成分結合データXを求める。
【０１７６】
ここで、上述したように、図１３Ａの画素値成分小数部結合データPと、図１３Ｂのフィルタ出力成分結合データUとについては、成分ごとに、小数点の位置が一致する。
【０１７７】
したがって、演算部２０３では、図１３Ａの画素値成分小数部結合データPと、図１３Ｂのフィルタ出力成分結合データUとを、そのまま加算することで、図１３Ｃの小数加算値成分結合データXを求めることができる。
【０１７８】
そして、その結果、図１３Ｃの小数加算値成分結合データXに含まれる小数加算値のRGB成分XR，XG、及びXBそれぞれの小数点の位置は、図１３Ａの画素値成分小数部結合データP、及び、図１３Ｂのフィルタ出力成分結合データUの同一の成分の小数点の位置に一致する。
【０１７９】
すなわち、図１３Ｃの小数加算値成分結合データXに含まれる小数加算値のR成分XRの小数点の位置は、第3m+2ビットの左側（第3m+3ビットと第3m+2ビットとの間）である。また、小数加算値のG成分XGの小数点の位置は、第2m+2ビットと第2m+1ビットとの間であり、小数加算値のB成分XBの小数点の位置は、第m+1ビットと第mビットとの間である。
【０１８０】
そして、図１３Ｃの小数加算値成分結合データXに含まれる小数加算値のm+1ビットのR成分XRにだけ注目すると、そのm+1ビットのR成分XRにおいては、最上位ビットだけが整数部になっており、残りのmビットが小数部になっている。小数加算値のG成分XG、及びB成分XBも同様である。
【０１８１】
なお、上述したように、図１３Ａの画素値成分小数部結合データPに含まれる画素値INのR成分の小数部PRは、m-nビットであり、図１３Ｂのフィルタ出力成分結合データUに含まれるフィルタ出力のR成分URは、mビットである。したがって、画素値INのR成分の小数部PRと、フィルタ出力のR成分URとの加算値（和）である、小数加算値のR成分XRは、最大で、m+1ビットの値になる。このため、図１３Ｃにおいて、小数加算値のR成分XRは、m+1ビットのデータになっている。小数加算値のG成分XG、及びB成分XBも同様である。
【０１８２】
図１３Ｄは、小数部抽出部２０４で求められる量子化誤差成分結合データQを示している。
【０１８３】
図１３Ｄにおいて、量子化誤差成分結合データQでは、量子化誤差のmビットのR成分（画素値INのR成分INRの変調画素値OUTRの量子化誤差）QR、mビットのG成分QG、及び、mビットのB成分QBが、上位ビットから、その順で並んでいる。さらに、量子化誤差成分結合データQは、各成分どうしの間に、1ビットのダミービットとしての、例えば0を挟む形の3m+2ビットのデータになっている。
【０１８４】
小数部抽出部２０４は、上述したように、演算部２０３から供給される図１３Ｃの小数加算値成分結合データXに含まれる小数加算値のRGB成分XR，XG、及びXBそれぞれの小数部を、量子化誤差のRGB成分QR，QG、及びQBとして抽出することで、量子化誤差のRGB成分QR，QG、及びQBが結合された量子化誤差成分結合データQを求める。
【０１８５】
ここで、図１３Ｃの小数加算値成分結合データXに含まれる小数加算値のm+1ビットのRGB成分XR，XG、及びXBそれぞれでは、図１３Ｃで説明したように、最上位ビットだけが整数部になっており、残りのmビットが小数部になっている。
【０１８６】
そこで、小数部抽出部２０４は、図１３Ｃの小数加算値成分結合データXに含まれる小数加算値のm+1ビットのRGB成分XR，XG、及びXBそれぞれの整数部である最上位ビットを0とすることで、小数加算値のRGB成分XR，XG、及びXBそれぞれの小数部を抽出する。そして、小数部抽出部２０４は、小数加算値のm+1ビットのRGB成分XR，XG、及びXBそれぞれの整数部である最上位ビットを0とした3m+3ビットの小数加算値成分結合データXの下位3m+2ビットを、3m+2ビットの量子化誤差成分結合データQとして抽出する。
【０１８７】
したがって、量子化誤差成分結合データQに含まれる量子化誤差のRGB成分QR，QG、及びQBそれぞれの小数点の位置は、図１３Ａの画素値成分小数部結合データP、図１３Ｂのフィルタ出力成分結合データU、及び図１３Ｃの小数加算値成分結合データXの同一の成分の小数点の位置に一致する。
【０１８８】
すなわち、図１３Ｄの量子化誤差成分結合データQに含まれる量子化誤差のR成分QRの小数点の位置は、第3m+2ビットの左側であり、量子化誤差のG成分QGの小数点の位置は、第2m+2ビットと第2m+1ビットとの間である。また、量子化誤差のB成分QBの小数点の位置は、第m+1ビットと第mビットとの間である。
【０１８９】
図１４は、図１０の整数部抽出部２０６及び２０７、並びに、演算部２０８で扱われるデータを説明する図である。
【０１９０】
すなわち、図１４Ａは、整数部抽出部２０６で求められる画素値成分整数部結合データIを示している。
【０１９１】
上述したように、対象画像の画素値INのRGB成分INR，ING、及びINBそれぞれがmビットであり、階調変換後の画像（変調画像）の変調画素値OUTのRGB成分OUTR，OUTG、及びOUTBそれぞれがn(<m)ビットである。したがって、nビットの量子化値、つまり、変調画素値OUTのnビットのR成分OUTR、G成分OUTG、及び、B成分OUTBの小数点を基準とすると、画素値のmビットのR成分INR、G成分ING、及び、B成分INBの整数部は、上位nビットである。
【０１９２】
そこで、整数部抽出部２０６は、図１２の3m+2ビットの結合データLに含まれる画素値のRGB成分INR，ING、及びINBそれぞれの上位nビットである整数部IR，IG、及びIB以外のビットを0にする。
【０１９３】
さらに、整数部抽出部２０６は、RGB成分INR，ING、及びINBそれぞれの整数部IR，IG、及びIB以外のビットを0にした結合データLの下位2m+n+2ビットを抽出することで、画素値INのRGB成分INR，ING、及びINBの整数部IR，IG、及びIBが結合された、2m+n+2ビットの画素値成分整数部結合データI（図１４Ａ）を求める。
【０１９４】
なお、図１４Ａの画素値成分整数部結合データIに含まれる画素値のR成分INRの整数部IRの小数点の位置は、第2m+3ビットと第2m+2ビットとの間である。また、画素値のG成分INGの整数部IGの小数点の位置は、第m+2ビットと第m+1ビットとの間であり、画素値のB成分INBの整数部IBの小数点の位置は、第1ビットの右側である。
【０１９５】
図１４Ｂは、整数部抽出部２０７で求められる小数加算値成分整数部結合データJを示している。
【０１９６】
上述したように、整数部抽出部２０７は、演算部２０３から供給される小数加算値成分結合データXに含まれる小数加算値のRGB成分XR，XG、及びXBそれぞれの整数部JR，JG、及びJBを抽出することで、小数加算値のRGB成分XR，XG、及びXBの整数部JR，JG、及びJBが結合された小数加算値成分整数部結合データJを求める。
【０１９７】
小数加算値成分結合データXは、図１３Ｃで説明したように、小数加算値のm+1ビットのR成分XR、m+1ビットのG成分XG、及び、m+1ビットのB成分XBが、上位ビットから、その順で隙間なく並んでいる3m+3ビットのデータである。さらに、図１３Ｃで説明したように、小数加算値成分結合データXに含まれる小数加算値のm+1ビットのRGB成分XR，XG、及びXBそれぞれにおいては、最上位ビットだけが整数部になっており、残りのmビットが小数部になっている。
【０１９８】
そこで、整数部抽出部２０７は、図１３Ｃの3m+3ビットの小数加算値成分結合データXを、mビットだけ右シフトする。さらに、整数部抽出部２０７は、その右シフト後の小数加算値成分結合データXに含まれる小数加算値のRGB成分XR，XG、及びXBそれぞれの最上位ビットである整数部JR，JG、及びJB以外のビットを0にする。
【０１９９】
そして、整数部抽出部２０７は、小数加算値のRGB成分XR，XG、及びXBそれぞれの整数部JR，JG、及びJB以外のビットを0にした小数加算値成分結合データXの下位2m+n+2ビットを抽出することで、小数加算値のRGB成分XR，XG、及びXBそれぞれの整数部JR，JG、及びJBが結合された、2m+n+2ビットの小数加算値成分整数部結合データJ（図１４Ｂ）を求める。
【０２００】
なお、図１４Ｂの小数加算値成分整数部結合データJに含まれる小数加算値のRGB成分XR，XG、及びXBそれぞれの小数点の位置は、図１４Ａの画素値成分整数部結合データIに含まれる整数部IR，IG、及びIBの、同一の成分の小数点の位置に一致する。
【０２０１】
すなわち、図１４Ｂの小数加算値成分整数部結合データJに含まれる整数部IRの小数点の位置は、第2m+3ビットと第2m+2ビットとの間であり、整数部IGの小数点の位置は、第m+2ビットと第m+1ビットとの間である。また、整数部IBの小数点の位置は、第1ビットの右側である。
【０２０２】
図１４Ｃは、演算部２０８で求められる整数加算値成分結合データYを示している。
【０２０３】
演算部２０８は、整数部抽出部２０６から供給される図１４Ａの画素値成分整数部結合データIに含まれる画素値INのRGB成分の整数部IR，IG、及びIBと、整数部抽出部２０７から供給される図１４Ｂの小数加算値成分整数部結合データJに含まれる小数加算値のRGB成分XR，XG、及びXBの整数部JR，JG、及びJBとの加算を、成分ごとに行うことで、その加算によって得られる整数加算値のRGB成分YR，YG、及びYBが結合された整数加算値成分結合データYを求める。
【０２０４】
ここで、上述したように、図１４Ａの画素値成分整数部結合データIと、図１４Ｂの小数加算値成分整数部結合データJとについては、成分ごとに、小数点の位置が一致する。
【０２０５】
したがって、演算部２０８では、図１４Ａの画素値成分整数部結合データIと、図１４Ｂの小数加算値成分整数部結合データJとを、そのまま加算することで、図１４Ｃの整数加算値成分結合データYを求めることができる。
【０２０６】
そして、その結果、図１４Ｃの整数加算値成分結合データYに含まれる整数加算値のRGB成分YR，YG、及びYBそれぞれの小数点の位置は、図１４Ａの画素値成分整数部結合データI、及び、図１４Ｂの小数加算値成分整数部結合データJの同一の成分の小数点の位置に一致する。
【０２０７】
すなわち、図１４Ｃの整数加算値成分結合データYに含まれる整数加算値のR成分YRの小数点の位置は、第2m+3ビットと第2m+2ビットとの間であり、整数加算値のG成分YGの小数点の位置は、第m+2ビットと第m+1ビットとの間である。また、整数加算値のB成分YBの小数点の位置は、第1ビットの右側である。
【０２０８】
なお、上述したように、図１４Ａの画素値成分整数部結合データIに含まれる画素値INのR成分の整数部IRは、nビットであり、図１４Ｂの小数加算値成分整数部結合データJに含まれる小数加算値のR成分XRの整数部JRは、1ビットである。したがって、画素値INのR成分の整数部IRと、小数加算値のR成分XRの整数部JRとの加算値（和）である、整数加算値のR成分YRは、最大で、n+1ビットの値になる。このため、図１４Ｃにおいて、整数加算値のR成分XRは、n+1ビットのデータになっている。整数加算値のG成分XG、及びB成分XBも同様である。
【０２０９】
そして、図１４Ｃにおいて、整数加算値成分結合データYは、整数加算値のn+1ビットのR成分YR、n+1ビットのG成分YG、及び、n+1ビットのB成分YBが、上位ビットから、その順で並び、かつ、各成分どうしの間に、m-nビットの0を挟む形の2m+n+3ビットのデータになっている。
【０２１０】
図１５は、図１０のリミッタ２０９、及び、分離部２１０で扱われるデータを説明する図である。
【０２１１】
リミッタ２０９は、上述したように、演算部２０８から供給される図１４Ｃの整数加算値成分結合データYに含まれる整数加算値のn+1ビットのRGB成分YR，YG、及びYBそれぞれを、nビットの量子化値（変調画素値）の最大値に制限する制限処理を行うことにより、量子化値のnビットのRGB成分SR，SG、及びSBとし、量子化値のRGB成分SR，SG、及びSBが結合された量子化値成分結合データSを求める。
【０２１２】
すなわち、図１４Ｃの整数加算値成分結合データYに含まれる整数加算値のn+1ビットのR成分YRにだけ注目すると、リミッタ２０９は、そのn+1ビットのR成分YRの最上位ビットが1であるかどうかによって、R成分YRが、nビットの量子化値の最大値を超えているかどうかを判定する。
【０２１３】
そして、n+1ビットのR成分YRの最上位ビットが1であり、R成分YRが、nビットの量子化値の最大値を超えている場合には、リミッタ２０９は、n+1ビットのR成分YRを、nビットの量子化値の最大値(2n-1)、すなわち、最上位ビットが0で、残りの下位nビットがすべて1のn+1ビットに変更（置換）し、そのn+1ビットの下位nビットを、量子化値のnビットのR成分SRとする。
【０２１４】
一方、n+1ビットのR成分YRの最上位ビットが0であり、R成分YRが、nビットの量子化値の最大値を超えていない場合には、リミッタ２０９は、n+1ビットのR成分YRの下位nビットを、そのまま、量子化値のnビットのR成分SRとする。
【０２１５】
量子化値のG成分SG、及びB成分SBも、同様にして求められる。
【０２１６】
そして、リミッタ２０９は、以上の制限処理後の2m+n+3ビット（図１４Ｃ）の整数加算値成分結合データYの下位2m+n+2ビットを抽出し、図１５に示すように、2m+n+2ビットの量子化値成分結合データSとする。
【０２１７】
量子化値成分結合データSは、リミッタ２０９から分離部２１０に供給される。分離部２１０は、図１５に示すように、量子化値成分結合データSに含まれる量子化値のnビットのRGB成分SR，SG、及びSBそれぞれを分離し、変調画素値OUTのnビットのRGB成分OUTR，OUTG、及びOUTBとする。
【０２１８】
［階調変換の処理の具体例］
【０２１９】
次に、図１０の誤差拡散部５１を機能的に実現する図８のCPU１０２が階調変換において行う処理を、例えば、8(=m)ビット画像である対象画像を、6(=n)ビット画像に階調変換する場合を例に説明する。
【０２２０】
なお、CPU１０２は、例えば、32ビットのCPUであり、32ビットのレジスタを内蔵することとする。CPU１０２が内蔵するレジスタを、以下、内蔵レジスタともいう。
【０２２１】
図１６は、結合部２０１（図１０）として機能するCPU１０２（図８）の処理を説明する図である。
【０２２２】
結合部２０１として機能するCPU１０２は、図１６に示すように、対象画像の画素値INの8(=m)ビットのRGB成分INR，ING、及びINBを結合し、3m+2ビット以上のビット長である32ビットの結合データL、すなわち、内蔵レジスタと同一のビット数の結合データLを生成して、内蔵レジスタに格納する。
【０２２３】
図１６の結合データLでは、画素値INの8ビットのR成分INR、8ビットのG成分ING、及び、8ビットのB成分INBが、上位ビットから、その順で並んでいる。さらに、結合データLは、各成分どうしの間に、3ビットのダミービットとしての0を挟み、さらに、最上位ビットと最下位ビットとして、1ビットのダミービットが付加された32ビットのデータになっている。
【０２２４】
図１７は、小数部抽出部２０２（図１０）として機能するCPU１０２（図８）の処理を説明する図である。
【０２２５】
図１７Ａは、結合部２０１から小数部抽出部２０２に供給される結合データLを示している。
【０２２６】
図１７Ａの結合データLは、図１６に示したのと同一のデータである。但し、図１７Ａにおいては、画素値INの8ビットのRGB成分INR，ING、及びINBを、それぞれ、RGB成分LR，LG、及びLBと表してある。
【０２２７】
小数部抽出部２０２は、上述したように、結合部２０１からの結合データLから、画素値INのRGB成分LR，LG、及びLBの小数部PR，PG、及びPBが結合された画素値成分小数部結合データPを求める。
【０２２８】
そのため、小数部抽出部２０２として機能するCPU１０２は、図１７Ａの結合データLを、6(=n)ビットだけ左シフトする。
【０２２９】
図１７Ｂは、図１７Ａの結合データLを、6ビットだけ左シフトして得られるデータを示している。
【０２３０】
その後、小数部抽出部２０２は、左シフト後の結合データL（図１７Ｂ）に含まれる画素値のRGB成分LR，LG、及びLBそれぞれの下位2(=m-n)ビットである小数部PR，PG、及びPB以外のビットを0にする。
【０２３１】
そのため、小数部抽出部２０２として機能するCPU１０２は、左シフト後の結合データL（図１７Ｂ）に、2ビットの小数部PR，PG、及びPBを抽出する所定のマスクをかける。
【０２３２】
図１７Ｃは、左シフト後の結合データL（図１７Ｂ）にかけられる所定のマスクとしての32ビットのビット列（以下、マスクデータともいう）を示している。
【０２３３】
図１７Ｃの32ビットのマスクデータは、600C0180H（Hは、その直前の値が16進数であることを表す）になっている。
【０２３４】
小数部抽出部２０２として機能するCPU１０２は、図１７Ｂの左シフト後の結合データLと、図１７Ｃのマスクデータとの論理積(AND)を演算することで、画素値INのRGB成分LR，LG、及びLBの2ビットの小数部PR，PG、及びPBが結合された32ビットの画素値成分小数部結合データPを求め、内蔵レジスタに格納する。
【０２３５】
図１７Ｄは、以上のようにして求められる画素値成分小数部結合データPを示している。
【０２３６】
図１７Ｄにおいて、32ビットの画素値成分小数部結合データPの第1ビットないし第7ビットには、0が配置されている。そして、第9ビットと第10ビットとの間を小数点として、画素値INのB成分LBの2ビットの小数部PBが、第8ビット及び第9ビットに配置されている。さらに、第10ビットないし第18ビットには、0が配置されている。そして、第20ビットと第21ビットとの間を小数点として、画素値INのG成分LGの2ビットの小数部PGが、第19ビット及び第20ビットに配置されている。また、第21ビットないし第29ビットには、0が配置されている。そして、第31ビットと第32ビットとの間を小数点として、画素値INのR成分LRの2ビットの小数部PRが、第30ビット及び第31ビットに配置されている。第32ビット(最上位ビット）には、0が配置されている。
【０２３７】
次に、図１８ないし図２０を参照して、フィルタ部２０５（図１０）として機能するCPU１０２（図８）の処理を説明する。
【０２３８】
フィルタ部２０５は、上述したように、小数部抽出部２０４から供給される量子化誤差成分結合データQを用いて、量子化誤差成分結合データQに含まれる量子化誤差のRGB成分QR，QG、及びQBそれぞれをフィルタリングした、図１のフィルタ１４の出力に相当するフィルタ出力のRGB成分UR，UG、及びUBが結合されたフィルタ出力成分結合データUを求める。
【０２３９】
いま、フィルタ１４の出力が、上述した式（４）によって表されることとすると、フィルタ出力のR成分URは、式（５）を計算することにより求めることができる。
【０２４０】
UR=QR(1,1)/16 + QR(2,1)×5/16 + QR(3,1)×3/16 + QR(1,2)×7/16
・・・（５）
【０２４１】
なお、式（５）において、QR(x,y)は、注目画素を中心とする、横×縦が3×3画素のうちの、左からx番目で、上からy番目の画素の量子化誤差のR成分を表す。
【０２４２】
フィルタ出力のG成分UG、及びB成分UBも、フィルタ出力のR成分URと同様にして求めることができる。
【０２４３】
すなわち、いま、説明を簡単にするために、フィルタ出力のRGB成分UR，UG、及びUBを、すべて、Uと表すとともに、量子化誤差のRGB成分QR，QG、及びQBを、すべて、Qと表すこととすると、フィルタ出力Uは、式（６）を計算することにより求めることができる。
U=Q(1,1)/16 + Q(2,1)×5/16 + Q(3,1)×3/16 + Q(1,2)×7/16
・・・（６）
【０２４４】
図１８は、式（６）右辺の第１項Q(1,1)/16の求め方を説明する図である。
【０２４５】
図１８Ａは、図１０において、小数部抽出部２０４からフィルタ部２０５に供給される量子化誤差成分結合データQを示している。
【０２４６】
図１８Ａにおいて、量子化誤差成分結合データQは、32ビットのデータであり、量子化誤差の9ビットのRGB成分QR，QG、及びQBが、その順で並んでいる。
【０２４７】
すなわち、量子化誤差成分結合データQの第1ビットないし第9ビットには、第9ビットと第10ビットとの間を小数点として、量子化誤差の9ビットのB成分QBが配置され、第10ビット及び第11ビットには、0が配置されている。さらに、第12ビットないし第20ビットには、第20ビットと第21ビットとの間を小数点として、量子化誤差の9ビットのG成分QGが配置され、第21ビット及び第22ビットには、0が配置されている。そして、第23ビットないし第31ビットには、第31ビットと第32ビットとの間を小数点として、量子化誤差の9ビットのR成分QRが配置され、第32ビットには、0が配置されている。
【０２４８】
フィルタ部２０５として機能するCPU１０２は、式（６）右辺の第１項Q(1,1)/16を求めるために、図１８Ａの量子化誤差成分結合データQを、4(=-log2(1/16))ビットだけ右シフトする。
【０２４９】
図１８Ｂは、図１８Ａの量子化誤差成分結合データQを、4ビットだけ右シフトして得られるデータを示している。
【０２５０】
その後、フィルタ部２０５は、右シフト後の量子化誤差成分結合データQ（図１８Ｂ）に含まれる量子化誤差のRGB成分QR，QG、及びQBそれぞれの上位5(=9-4)ビット以外のビットを0にすることで、式（６）右辺の第１項Q(1,1)/16を求める。
【０２５１】
すなわち、フィルタ部２０５として機能するCPU１０２は、右シフト後の量子化誤差成分結合データQ（図１８Ｂ）に、量子化誤差のRGB成分QR，QG、及びQBの上位5ビットを抽出する所定のマスクをかける。
【０２５２】
図１８Ｃは、右シフト後の量子化誤差成分結合データQ（図１８Ｂ）にかけられる所定のマスクとしての32ビットのマスクデータを示している。
【０２５３】
図１８Ｃの32ビットのマスクデータは、7C0F81FHになっている。
【０２５４】
フィルタ部２０５として機能するCPU１０２は、図１８Ｂの右シフト後の量子化誤差成分結合データQと、図１８Ｃのマスクデータとの論理積を演算することで、式（６）右辺の第１項Q(1,1)/16としての32ビットのデータを求める。
【０２５５】
図１８Ｄは、以上のようにして求められる、式（６）右辺の第１項Q(1,1)/16としての32ビットのデータを示している。
【０２５６】
ここで、式（６）右辺の第２項Q(2,1)×5/16は、Q(2,1)/4とQ(2,1)/16との和である。
【０２５７】
また、式（６）右辺の第３項 Q(3,1)×3/16は、Q(3,1)/8とQ(3,1)/16との和である。
【０２５８】
さらに、式（６）右辺の第４項Q(1,2)×7/16は、Q(1,2)/4と、Q(1,2)/8と、Q(1,2)/16との和である。
【０２５９】
以上の、Q(2,1)/4及びQ(2,1)/16、Q(3,1)/8及びQ(3,1)/16、並びに、Q(1,2)/4、Q(1,2)/8、及びQ(1,2)/16は、いずれも、式（６）右辺の第１項Q(1,1)/16と同様に、図１８Ａの量子化誤差成分結合データQのシフトと、マスクデータとの論理積とによって求めることができる。
【０２６０】
図１９は、図１８Ａの量子化誤差成分結合データQのシフトと、マスクデータとの論理積とによって求められるQ(1,1)/16，Q(2,1)/4，Q(2,1)/16，Q(3,1)/8，Q(3,1)/16，Q(1,2)/4，Q(1,2)/8、及びQ(1,2)/16それぞれとしての32ビットのデータを示している。
【０２６１】
すなわち、図１９ＡはQ(1,1)/16を、図１９ＢはQ(2,1)/4を、図１９ＣはQ(2,1)/16を、図１９ＤはQ(3,1)/8を、図１９ＥはQ(3,1)/16を、図１９ＦはQ(1,2)/4を、図１９ＧはQ(1,2)/8を、図１９ＨはQ(1,2)/16を、それぞれ示している。
【０２６２】
フィルタ部２０５として機能するCPU１０２は、Q(1,1)/16，Q(2,1)/4，Q(2,1)/16，Q(3,1)/8，Q(3,1)/16，Q(1,2)/4，Q(1,2)/8、及びQ(1,2)/16それぞれとしての32ビットのデータを加算することにより、フィルタ出力のRGB成分UR，UG、及びUBが結合されたフィルタ出力成分結合データUを求める。
【０２６３】
図２０は、以上のようにして求められる32ビットのフィルタ出力成分結合データUを示している。
【０２６４】
図２０において、フィルタ出力成分結合データUは、図１８Ａの量子化誤差成分結合データQと同様の32ビットのデータになっている。
【０２６５】
すなわち、フィルタ出力成分結合データUの第1ビットないし第9ビットには、第9ビットと第10ビットとの間を小数点として、フィルタ出力の9ビットのB成分UBが配置され、第10ビット及び第11ビットには、0が配置されている。さらに、第12ビットないし第20ビットには、第20ビットと第21ビットとの間を小数点として、フィルタ出力の9ビットのG成分UGが配置され、第21ビット及び第22ビットには、0が配置されている。そして、第23ビットないし第31ビットには、第31ビットと第32ビットとの間を小数点として、フィルタ出力の9ビットのR成分URが配置され、第32ビットには、0が配置されている。
【０２６６】
なお、図１８ないし図２０では、CPU１０２が、乗算を行うハードウェアである乗算器を内蔵していないことを前提として、式（６）の演算に必要な乗算を、加算によって行うこととしたが、CPU１０２が、乗算器を内蔵する場合には、式（６）の演算に必要な乗算は、乗算器を用いて行うことができる。
【０２６７】
次に、図２１を参照して、演算部２０３（図１０）として機能するCPU１０２（図８）の処理を説明する。
【０２６８】
演算部２０３として機能するCPU１０２は、小数部抽出部２０２から供給される画素値成分小数部結合データPと、フィルタ部２０５から供給されるフィルタ出力成分結合データUとを加算して、小数加算値のRGB成分XR，XG、及びXBが結合された小数加算値成分結合データXを求める。
【０２６９】
すなわち、図２１Ａは、画素値成分小数部結合データPを示している。図２１Ａの画素値成分小数部結合データPは、図１７Ｄに示したものと同一である。
【０２７０】
図２１Ｂは、フィルタ出力成分結合データUを示している。図２１Ｂのフィルタ出力成分結合データUは、図２０に示したものと同一である。
【０２７１】
図２１Ｃは、図２１Ａの画素値成分小数部結合データPと、図２１Ｂのフィルタ出力成分結合データUとを加算して得られる小数加算値成分結合データXを示している。
【０２７２】
図１７Ｄ、及び、図２０で説明したことから、図１７Ｄと同一の図２１Ａの画素値成分小数部結合データPに含まれる画素値INのRGB成分LR，LG、及びLBの2ビットの小数部PR，PG、及びPBの小数点の位置と、図２０と同一の図２１Ｂのフィルタ出力成分結合データUに含まれるフィルタ出力の9ビットのRGB成分UR，UG、及びUBの小数点の位置とは、成分ごとに一致する。
【０２７３】
したがって、演算部２０３として機能するCPU１０２では、画素値成分小数部結合データPと、フィルタ出力成分結合データUとを加算することで、画素値INのRGB成分LR，LG、及びLBの小数部PR，PG、及びPBと、フィルタ出力のRGB成分UR，UG、及びUBとを、成分ごとに加算して得られる小数加算値のRGB成分XR，XG、及びXBが結合された小数加算値成分結合データXを求めることができる。
【０２７４】
なお、画素値成分小数部結合データPに含まれる画素値INのRGB成分LR，LG、及びLBの小数部PR，PG、及びPBは、それぞれ2ビットであり、フィルタ出力成分結合データUに含まれるフィルタ出力のRGB成分UR，UG、及びUBは、それぞれ9ビットである。したがって、画素値成分小数部結合データPと、フィルタ出力成分結合データUとを加算することで得られる小数加算値成分結合データXに含まれる小数加算値のRGB成分XR，XG、及びXBは、それぞれ、最大で10ビットとなる。
【０２７５】
さらに、小数加算値成分結合データXの小数点の位置は、画素値成分小数部結合データP、及び、フィルタ出力成分結合データUの小数点の位置に一致する。
【０２７６】
このため、図２１Ｃにおいて、小数加算値成分結合データXの第1ないし第10ビットには、第9ビットと第10ビットとの間を小数点として、小数加算値の10ビットのB成分XBが配置され、第11ビットには、0が配置されている。さらに、第12ビットないし第21ビットには、第20ビットと第21ビットとの間を小数点として、小数加算値の10ビットのG成分XGが配置され、第22ビットには、0が配置されている。そして、第23ビットないし第32ビットには、第31ビットと第32ビットとの間を小数点として、小数加算値の10ビットのR成分XRが配置されている。
【０２７７】
また、小数加算値の10ビットのR成分XRにおいて、その最上位ビットが、整数部であり、残りの9ビットは、小数部である。小数加算値のG成分XG、及びB成分XBについても、同様である。
【０２７８】
図２２を参照して、整数部抽出部２０７（図１０）として機能するCPU１０２（図８）の処理を説明する。
【０２７９】
整数部抽出部２０７は、演算部２０３から供給される小数加算値成分結合データXに含まれる小数加算値のRGB成分XR，XG、及びXBそれぞれの整数部JR，JG、及びJBを抽出し、小数加算値のRGB成分XR，XG、及びXBの整数部JR，JG、及びJBが結合された小数加算値成分整数部結合データJを求める。
【０２８０】
ここで、図２１Ｃで説明したように、小数加算値成分結合データXに含まれる小数加算値のRGB成分XR，XG、及びXBそれぞれの最上位ビットが、整数部JR，JG、及びJBである。
【０２８１】
そこで、整数部抽出部２０７として機能するCPU１０２は、小数加算値成分結合データXに、小数加算値のRGB成分XR，XG、及びXBそれぞれの最上位ビットを抽出する所定のマスクをかけることで、小数加算値のRGB成分XR，XG、及びXBの整数部JR，JG、及びJBが結合された小数加算値成分整数部結合データJを求める。
【０２８２】
すなわち、図２２Ａは、小数加算値成分結合データXを示しており、図２１Ｃと同一の図である。
【０２８３】
図２２Ｂは、小数加算値成分結合データX（図２２Ａ）にかけられる所定のマスクとして32ビットのマスクデータを示している。
【０２８４】
図２２Ｂの32ビットのマスクデータは、80100100Hになっている。
【０２８５】
整数部抽出部２０７として機能するCPU１０２は、図２２Ａの小数加算値成分結合データXと、図２２Ｂのマスクデータとの論理積を演算することで、32ビットの小数加算値成分整数部結合データJを求める。
【０２８６】
図２２Ｃは、以上のようにして求められる32ビットの小数加算値成分整数部結合データJを示している。
【０２８７】
図２２Ｃの小数加算値成分整数部結合データJでは、第9ビットと第10ビットとの間を小数点として、第10ビットに、小数加算値のB成分XBの整数部JBが配置されている。また、第20ビットと第21ビットとの間を小数点として、第21ビットに、小数加算値のG成分XGの整数部JGが配置されている。さらに、第31ビットと第32ビットとの間を小数点として、第32ビットに、小数加算値のR成分XRの整数部JRが配置されている。そして、他のビットは、0になっている。
【０２８８】
図２３を参照して、整数部抽出部２０６（図１０）として機能するCPU１０２（図８）の処理を説明する。
【０２８９】
図２３Ａは、結合部２０１から整数部抽出部２０６に供給される32ビットの結合データLを示している。
【０２９０】
図２３Ａの結合データLは、図１６に示したのと同一のデータである。但し、図２３Ａにおいては、画素値INの8ビットのRGB成分INR，ING、及びINBを、それぞれ、RGB成分LR，LG、及びLBと表してある。
【０２９１】
8ビット画像を6ビット画像に階調変換することにより得られる6ビット画像（変調画像）の変調画素値（量子化値）の小数点を基準とする場合、結合データL（図２３Ａ）に含まれる画素値の8ビットのRGB成分LR，LG、及びLBそれぞれの整数部IR，IG、及びIBは、画素値の8ビットのRGB成分LR，LG、及びLBそれぞれの上位6ビットである。
【０２９２】
そこで、整数部抽出部２０６は、結合データL（図２３Ａ）に含まれる画素値のRGB成分LR，LG、及びLBそれぞれの上位6ビットである整数部IR，IG、及びIB以外のビットを0にすることで、画素値INのRGB成分LR，LG、及びLBの6ビットの整数部IR，IG、及びIBが結合された32ビットの画素値成分整数部結合データIを求める。
【０２９３】
そのため、整数部抽出部２０６として機能するCPU１０２は、結合データL（図２３Ａ）に、画素値のRGB成分LR，LG、及びLBそれぞれの上位6ビットを抽出する所定のマスクをかける。
【０２９４】
図２３Ｂは、結合データL（図２３Ａ）にかけられる所定のマスクとしての32ビットのマスクデータを示している。
【０２９５】
図２３Ｃの32ビットのマスクデータは、7E0FC1F8Hになっている。
【０２９６】
整数部抽出部２０６として機能するCPU１０２は、図２３Ａの結合データLと、図２３Ｃのマスクデータとの論理積を演算することで、画素値INのRGB成分LR，LG、及びLBの6ビットの整数部IR，IG、及びIBが結合された32ビットの画素値成分整数部結合データIを求め、内蔵レジスタに格納する。
【０２９７】
図２３Ｃは、以上のようにして求められる画素値成分整数部結合データIを示している。
【０２９８】
図２３Ｃにおいて、32ビットの画素値成分整数部結合データIの第1ビットないし第3ビットには、0が配置され、第3ビットと第4ビットとの間を小数点として、画素値INのB成分LBの6ビットの整数部IBが、第4ビットないし第9ビットに配置されている。さらに、第10ビットないし第14ビットには、0が配置され、第14ビットと第15ビットとの間を小数点として、画素値INのG成分LGの6ビットの整数部IGが、第15ビットないし第20ビットに配置されている。また、第21ビットないし第25ビットには、0が配置され、第25ビットと第26ビットとの間を小数点として、画素値INのR成分LRの6ビットの整数部IRが、第25ビットないし第31ビットに配置されている。そして、第32ビット(最上位ビット）に0が配置されている。
【０２９９】
図２４及び図２５を参照して、演算部２０８（図１０）として機能するCPU１０２（図８）の処理を説明する。
【０３００】
図２４は、演算部２０８として機能するCPU１０２が、整数部抽出部２０７からの小数加算値成分整数部結合データJに対して行う処理を説明する図である。
【０３０１】
演算部２０８は、整数部抽出部２０６から供給される画素値成分整数部結合データIと、整数部抽出部２０７から供給される小数加算値成分整数部結合データJとの加算を、成分ごとに行い、整数加算値成分結合データYを求める。
【０３０２】
上述の成分ごとの加算を行うために、演算部２０８として機能するCPU１０２は、小数加算値成分整数部結合データJの小数点の位置を、画素値成分整数部結合データIの小数点の位置に一致させる。
【０３０３】
すなわち、小数加算値成分整数部結合データJでは、図２２Ｃで説明したように、第9ビットと第10ビットとの間を小数点として、第10ビットに、小数加算値のB成分XBの整数部JBが配置されている。また、第20ビットと第21ビットとの間を小数点として、第21ビットに、小数加算値のG成分XGの整数部JGが配置されている。さらに、第31ビットと第32ビットとの間を小数点として、第32ビットに、小数加算値のR成分XRの整数部JRが配置されている。
【０３０４】
一方、画素値成分整数部結合データIでは、図２３Ｃで説明したように、第3ビットと第4ビットとの間を小数点として、画素値INのB成分LBの6ビットの整数部IBが、第4ビットないし第9ビットに配置されている。さらに、第14ビットと第15ビットとの間を小数点として、画素値INのG成分LGの6ビットの整数部IGが、第15ビットないし第20ビットに配置されている。また、第25ビットと第26ビットとの間を小数点として、画素値INのR成分LRの6ビットの整数部IRが、第25ビットないし第31ビットに配置されている。
【０３０５】
したがって、小数加算値成分整数部結合データJ（図２２Ｃ）の小数点の位置は、RGB成分すべてについて、画素値成分整数部結合データI（図２３Ｃ）の小数点の位置よりも、6ビットだけ左側（上位ビット側）にある。
【０３０６】
そこで、演算部２０８として機能するCPU１０２は、整数部抽出部２０７からの小数加算値成分整数部結合データJを、6ビットだけ右シフトする。
【０３０７】
すなわち、図２４Ａは、整数部抽出部２０７から演算部２０８に供給される小数加算値成分整数部結合データJを示しており、図２２Ｃと同一の図である。
【０３０８】
演算部２０８として機能するCPU１０２は、図２４Ａの小数加算値成分整数部結合データJを、6ビットだけ右シフトし、図２４Ｂのようにする。
【０３０９】
すなわち、図２４Ｂは、右シフト後の小数加算値成分整数部結合データJを示している。
【０３１０】
なお、図２４Ａの小数加算値成分整数部結合データJの全体を32ビットの値とみなすと、6ビットの右シフトは、64(=26)での除算であり、以下、6ビットの右シフト後の小数加算値成分整数部結合データJを、小数加算値成分整数部結合データJ/64ともいう。
【０３１１】
図２５は、演算部２０８として機能するCPU１０２が行う、画素値成分整数部結合データIと、小数加算値成分整数部結合データJとの加算を示す図である。
【０３１２】
すなわち、図２５Ａは、画素値成分整数部結合データIを示しており、図２３Ｃと同一の図である。
【０３１３】
図２５Ｂは、小数加算値成分整数部結合データJ/64を示しており、図２４Ｂと同一の図である。
【０３１４】
演算部２０８として機能するCPU１０２は、図２５Ａの画素値成分整数部結合データIと、その画素値成分整数部結合データIと小数点の位置が一致する図２５Ｂの小数加算値成分整数部結合データJ/64とを加算し、整数加算値のRGB成分YR，YG、及びYBが結合された32ビットの整数加算値成分結合データYを求める。
【０３１５】
図２５Ｃは、そのようにして求められる整数加算値成分結合データYを示している。
【０３１６】
ここで、図２５Ａの画素値成分整数部結合データIに含まれる、画素値の8ビットのR成分LRの整数部IRは、6ビットであり、図２５Ｂの小数加算値成分整数部結合データJ/64に含まれる小数加算値のR成分XRの整数部JRは、1ビットである。
【０３１７】
6ビットの整数部IRと、1ビットの整数部JRとの加算値は、最大で7ビットになるので、整数加算値成分結合データYに含まれる整数加算値のR成分YRは、7ビットになっている。整数加算値成分結合データYに含まれる整数加算値のG成分YG、及びB成分YBも、同様に7ビットになっている。
【０３１８】
そして、32ビットの整数加算値成分結合データYにおいて、整数加算値の7ビットのRGB成分YR，YG、及びYBは、小数点の位置が、図２５Ａの画素値成分整数部結合データI（、及び、図２５Ｂの小数加算値成分整数部結合データJ/64）と一致するように配置されている。さらに、整数加算値成分結合データYにおいて、整数加算値の7ビットのRGB成分YR，YG、及びYB以外のビットは、0になっている。
【０３１９】
すなわち、図２５Ｃの整数加算値成分結合データYにおいて、整数加算値の7ビットのB成分YBは、第3ビットと第4ビットとの間を小数点として、第4ビットないし第10ビットに配置されている。また、整数加算値の7ビットのG成分YGは、第14ビットと第15ビットとの間を小数点として、第15ビットないし第21ビットに配置されている。さらに、整数加算値の7ビットのR成分YRは、第25ビットと第26ビットとの間を小数点として、第26ビットないし第32ビットに配置されている。
【０３２０】
図２６ないし図２９を参照して、リミッタ２０９（図１０）として機能するCPU１０２（図８）の処理を説明する。
【０３２１】
リミッタ２０９は、演算部２０８から供給される図２５Ｃの整数加算値成分結合データYに含まれる整数加算値のRGB成分YR，YG、及びYBそれぞれを、量子化値（変調画素値）のRGB成分の最大値MAX_YR，MAX_YG、及びMAX＿YBに制限することにより、量子化値のRGB成分SR，SG、及びSBとし、量子化値のRGB成分SR，SG、及びSBが結合された量子化値成分結合データSを求める。
【０３２２】
すなわち、図２５Ｃで説明したように、整数加算値成分結合データYに含まれる整数加算値のRGB成分YR，YG、及びYBは、それぞれ7ビットである。
【０３２３】
一方、ここでは、8(=m)ビット画像である対象画像を、6(=n)ビット画像である変調画像に階調変換するので、誤差拡散部１０（図１）の量子化部１２の出力に相当する量子化値のRGB成分OUTR，OUTG、及びOUTBは、それぞれ6ビットである。
【０３２４】
整数加算値成分結合データYに含まれる整数加算値の7ビットのR成分YRが、誤差拡散部１０（図１）の量子化部１２の出力に相当する量子化値のR成分OUTRのビット数である6ビットで表現することができる値である場合、整数加算値の7ビットのR成分YRの下位6ビットを、そのまま、量子化値の6ビットのR成分OUTRとすることができる。
【０３２５】
一方、整数加算値成分結合データYに含まれる整数加算値の7ビットのR成分YRが、量子化値のR成分OUTRのビット数である6ビットで表現することができる値でない場合、すなわち、6ビットを超える7ビットでなければ表現することができない値である場合、整数加算値の7ビットのR成分YRは、量子化値の6ビットのR成分OUTRとしては、オーバーフローしているので、整数加算値の7ビットのR成分YRは、量子化値の6ビットのR成分の最大値MAX_YR、つまり、6ビットで表現することができる値の最大値に制限して、量子化値の6ビットのR成分OUTRとする必要がある。
【０３２６】
整数加算値のG成分YG、及びB成分YBについても、同様である。
【０３２７】
そこで、リミッタ２０９は、演算部２０８から供給される図２５Ｃの整数加算値成分結合データYに含まれる整数加算値のRGB成分YR，YG、及びYBそれぞれを、量子化値のRGB成分の最大値MAX_YR，MAX_YG、及びMAX＿YBに制限する制限処理を行う。
【０３２８】
すなわち、図２６は、整数加算値成分結合データYに含まれる整数加算値のR成分YRの、リミッタ２０９による制限処理を説明する図である。
【０３２９】
図２６Ａは、演算部２０８からリミッタ２０９に供給される整数加算値成分結合データYを示しており、図２５Ｃと同一の図である。
【０３３０】
リミッタ２０９として機能するCPU１０２は、演算部２０８から供給される図２６Ａの整数加算値成分結合データYに含まれる整数加算値の7ビットのR成分YRが、量子化値の6ビットのR成分OUTRとしてはオーバーフローしている場合、すなわち、整数加算値の7ビットのR成分YRの最上位ビットが1である場合、量子化値のR成分の最大値MAX_YRを含む32ビットのデータと、図２６Ａの整数加算値成分結合データYとの論理和(OR)を演算することで、整数加算値のR成分YRを、量子化値のR成分の最大値MAX_YRに制限する。
【０３３１】
図２６Ｂは、量子化値のR成分の最大値MAX_YRを含む32ビットのデータを示している。
【０３３２】
量子化値のR成分の最大値MAX_YRを含む32ビットのデータは、整数加算値成分結合データYに含まれる整数加算値の7ビットのR成分YRの小数点の位置である第25ビットと第26ビットとの間の位置から、上位6ビットが1で、他のビットが0の、7E000000Hになっている。
【０３３３】
なお、整数加算値の7ビットのR成分YRの最上位ビットが0である場合、リミッタ２０９では、量子化値のR成分の最大値MAX_YRを含む32ビットのデータ（図２６Ｂ）と、整数加算値成分結合データYとの論理和の演算は、行われない。
【０３３４】
図２７は、整数加算値成分結合データYに含まれる整数加算値のG成分YGの、リミッタ２０９による制限処理を説明する図である。
【０３３５】
図２７Ａは、演算部２０８からリミッタ２０９に供給される整数加算値成分結合データYを示しており、図２５Ｃと同一の図である。
【０３３６】
リミッタ２０９として機能するCPU１０２は、演算部２０８から供給される図２７Ａの整数加算値成分結合データYに含まれる整数加算値の7ビットのG成分YGが、量子化値の6ビットのG成分OUTGとしてはオーバーフローしている場合、すなわち、整数加算値の7ビットのG成分YGの最上位ビットが1である場合、量子化値のG成分の最大値MAX_YGを含む32ビットのデータと、図２７Ａの整数加算値成分結合データYとの論理和を演算することで、整数加算値のG成分YGを、量子化値のG成分の最大値MAX_YGに制限する。
【０３３７】
図２７Ｂは、量子化値のG成分の最大値MAX_YGを含む32ビットのデータを示している。
【０３３８】
量子化値のG成分の最大値MAX_YGを含む32ビットのデータは、整数加算値成分結合データYに含まれる整数加算値の7ビットのG成分YGの小数点の位置である第14ビットと第15ビットとの間の位置から、上位6ビットが1で、他のビットが0の、000FC000Hになっている。
【０３３９】
なお、整数加算値の7ビットのG成分YGの最上位ビットが0である場合、リミッタ２０９では、量子化値のG成分の最大値MAX_YGを含む32ビットのデータ（図２７Ｂ）と、整数加算値成分結合データYとの論理和の演算は行われない。
【０３４０】
図２８は、整数加算値成分結合データYに含まれる整数加算値のB成分YBの、リミッタ２０９による制限処理を説明する図である。
【０３４１】
図２８Ａは、演算部２０８からリミッタ２０９に供給される整数加算値成分結合データYを示しており、図２５Ｃと同一の図である。
【０３４２】
リミッタ２０９として機能するCPU１０２は、演算部２０８から供給される図２８Ａの整数加算値成分結合データYに含まれる整数加算値の7ビットのB成分YBが、量子化値の6ビットのB成分OUTBとしてはオーバーフローしている場合、すなわち、整数加算値の7ビットのB成分YBの最上位ビットが1である場合、量子化値のB成分の最大値MAX_YBを含む32ビットのデータと、図２８Ａの整数加算値成分結合データYとの論理和を演算することで、整数加算値のB成分YBを、量子化値のB成分の最大値MAX_YBに制限する。
【０３４３】
図２８Ｂは、量子化値のB成分の最大値MAX_YBを含む32ビットのデータを示している。
【０３４４】
量子化値のB成分の最大値MAX_YBを含む32ビットのデータは、整数加算値成分結合データYに含まれる整数加算値の7ビットのB成分YBの小数点の位置である第3ビットと第4ビットとの間の位置から、上位6ビットが1で、他のビットが0の、000001F8Hになっている。
【０３４５】
なお、整数加算値の7ビットのB成分YBの最上位ビットが0である場合、リミッタ２０９では、量子化値のB成分の最大値MAX_YBを含む32ビットのデータ（図２８Ｂ）と、整数加算値成分結合データYとの論理和の演算は、行われない。
【０３４６】
リミッタ２０９は、制限処理の後、整数加算値成分結合データYに含まれる整数加算値の7ビットのRGB成分YR，YG、及びYBそれぞれから、下位6ビットを抽出することで、量子化値の6ビットのRGB成分SR，SG、及びSBが結合された量子化値成分結合データSを求める。
【０３４７】
そのため、リミッタ２０９として機能するCPU１０２は、整数加算値成分結合データYに、整数加算値の7ビットのRGB成分YR，YG、及びYBそれぞれの下位6ビットを抽出する所定のマスクをかける。
【０３４８】
図２９は、整数加算値成分結合データYに、所定のマスクをかける処理を説明する図である。
【０３４９】
図２９Ａは、マスクをかける対象の整数加算値成分結合データYを示している。
【０３５０】
図２９Ａの整数加算値成分結合データYに含まれる整数加算値の7ビットのR成分YRは、図２６で説明したように、量子化値の6ビットのR成分の最大値MAX_YRに制限されている。整数加算値のG成分YG、及びB成分YBも同様である。
【０３５１】
図２９Ｂは、図２９Ａの整数加算値成分結合データYにかけられる所定のマスクとしての32ビットのマスクデータを示している。
【０３５２】
図２９Ｂの32ビットのマスクデータは、7E0FC1F8Hになっている。
【０３５３】
リミッタ２０９として機能するCPU１０２は、図２９Ａの整数加算値成分結合データYと、図２９Ｂのマスクデータとの論理積を演算することで、整数加算値の7ビットのRGB成分YR，YG、及びYBそれぞれの最上位ビットを0とするとともに、下位6ビットを、量子化値の6ビットのRGB成分SR，SG、及びSBとした量子化値成分結合データSを求め、内蔵レジスタに格納する。
【０３５４】
図２９Ｃは、以上のようにして求められる量子化値成分結合データSを示している。
【０３５５】
図２９Ｃの量子化値成分結合データSにおいて、量子化値の6ビットのB成分SBは、第3ビットと第4ビットとの間を小数点として、第4ビットないし第9ビットに配置されている。また、量子化値の6ビットのG成分SGは、第14ビットと第15ビットとの間を小数点として、第15ビットないし第20ビットに配置されている。さらに、量子化値の6ビットのR成分SRは、第25ビットと第26ビットとの間を小数点として、第26ビットないし第31ビットに配置されている。
【０３５６】
図３０を参照して、分離部２１０（図１０）として機能するCPU１０２（図８）の処理を説明する。
【０３５７】
分離部２１０として機能するCPU１０２は、図３０に示すように、リミッタ２０９からの量子化値成分結合データSに含まれる量子化値の6ビットのRGB成分SR，SG、及びSBを分離し、その量子化値の6ビットのRGB成分SR，SG、及びSBそのものを、階調変換後の画像の画素値である変調画素値OUTの6ビットのRGB成分OUTR，OUTG、及びOUTBとして出力する。
【０３５８】
なお、量子化値成分結合データSに含まれる量子化値の6ビットのR成分SRそのものを、変調画素値OUTのR成分OUTRとする他、量子化値の6ビットのR成分SRの下位2ビットに0を付加した8ビットを、変調画素値OUTのR成分OUTRとすることが可能である。すなわち、変調画素値OUTのR成分OUTRは、いわば、形式的には、対象画像の画素値のR成分INR（図１６）と同一の8ビットのデータとして出力することが可能である。変調画素値OUTのG成分OUTG、及びB成分OUTBについても、同様である。
【０３５９】
図３１を参照して、小数部抽出部２０４（図１０）として機能するCPU１０２（図８）の処理を説明する。
【０３６０】
図３１Ａは、演算部２０３から小数部抽出部２０４に供給される小数加算値成分結合データXを示しており、図２１Ｃと同一の図である。
【０３６１】
量子化誤差成分結合データQに含まれる量子化誤差のRGB成分QR，QG、及びQBは、それぞれ、小数加算値成分結合データXに含まれる小数加算値の9ビットのRGB成分XR，XG、及びXBの小数部である。
【０３６２】
また、小数加算値の9ビットのR成分XRの小数点の位置は、第31ビットと第32ビットとの間、すなわち、小数加算値の9ビットのR成分XRの最上位ビットと最上位ビットから2番目のビットとの間である。したがって、小数加算値の9ビットのR成分XRの小数部は、9ビットのR成分XRの下位8ビットである。小数加算値の9ビットのG成分XG、及びB成分XBについても、同様である。
【０３６３】
そこで、小数部抽出部２０４は、小数加算値の9ビットのRGB成分XR，XG、及びXBそれぞれの小数部である下位8ビットを、量子化誤差のRGB成分QR，QG、及びQBとして抽出した量子化誤差成分結合データQを求める。
【０３６４】
そのために、小数部抽出部２０４として機能するCPU１０２は、小数加算値成分結合データXに、小数加算値の9ビットのRGB成分XR，XG、及びXBそれぞれの下位8ビットを抽出する所定のマスクをかける。
【０３６５】
すなわち、図３１Ｂは、小数加算値成分結合データXにかけられる所定のマスクとしての32ビットのマスクデータを示している。
【０３６６】
図３１Ｂの32ビットのマスクデータは、7FCFF9FFHになっている。
【０３６７】
小数部抽出部２０４として機能するCPU１０２は、図３１Ａの小数加算値成分結合データXと、図３１Ｂのマスクデータとの論理積を演算することで、32ビットの量子化誤差成分結合データQを求める。
【０３６８】
図３１Ｃは、そのようにして求められる32ビットの量子化誤差成分結合データQを示しており、図１８Ａと同一の図である。
【０３６９】
以上のように、誤差拡散部５１（図１０）として機能するCPU１０２（図８）では、画像の画素値INと、量子化誤差Qのフィルタリングの結果であるフィルタ出力Uとを加算した加算値Mの量子化値OUTが、量子化値OUTの小数点を基準として、画素値INの整数部Iと、フィルタ出力Uと画素値INの小数部Pとの和である小数加算値Xの整数部Jとの和として求められること、及び、量子化値OUTの量子化誤差Qが、量子化値OUTの小数点を基準として、フィルタ出力Uと、画素値INの小数部Pとの和である小数加算値Xの小数部として求められることに基づき、画素値IN、及び、小数加算値Xのそれぞれを、整数部と小数部とに分けて、量子化値OUT、及び、量子化誤差Qを求めることにより、画素値がRGB成分の対象画像の誤差拡散法による階調変換を行う。
【０３７０】
そして、このように、画素値IN、及び、小数加算値Xのそれぞれを、整数部と小数部とに分けることで、画素値INのRGB成分INR，ING、及びINBの誤差拡散法による階調変換を、画素値INのRGB成分INR，ING、及びINBを結合して、いわば、まとめて（並列に）行うことができる。
【０３７１】
このように、画素値INのRGB成分INR，ING、及びINBの誤差拡散法による階調変換をまとめて行うことができるので、図６の階調変換装置のように、装置の規模を大規模化することなく（つまり、低コストで）、階調変換を、高速に行うことができる。すなわち、装置を大規模化することなく、階調変換の処理のサイクル数を、単純には、図５で説明した場合の1/3にすることができる。したがって、階調変換を、CPU１０２にプログラムを実行させることで行っても、リアルタイムで行うことができる。
【０３７２】
なお、CPU１０２において、上述のように、画素値IN、及び、小数加算値Xのそれぞれを、整数部と小数部とに分けることで、画素値INのRGB成分INR，ING、及びINBの誤差拡散法による階調変換をまとめて行う場合には、図５で説明したように、画素値INのRGB成分INR，ING、及びINBの誤差拡散法による階調変換を、成分ごとに順番に行う場合に比較して、演算量、並びに、データのロード、ストア、及びアドレッシングの回数を削減することができる。
【０３７３】
［フィルタ部２０５でのフィルタリングを行うフィルタの具体例］
【０３７４】
誤差拡散部５１（図１０）のフィルタ部２０５でのフィルタリングを行うフィルタ、すなわち、フィルタ出力Uを得るフィルタリングを行うフィルタとしては、例えば、従来の誤差拡散法で用いられているノイズシェーピング用のフィルタを採用することができる。
【０３７５】
従来の誤差拡散法で用いられるノイズシェーピング用のフィルタとしては、例えば、Jarvis, Judice & Ninkeのフィルタ（以下、Jarvisフィルタともいう）や、Floyd & Steinbergのフィルタ（以下、Floydフィルタともいう）がある。
【０３７６】
図３２は、Jarvisフィルタを用いたノイズシェーピングの振幅特性と、Floydフィルタを用いたノイズシェーピングの振幅特性とを示している。
【０３７７】
なお、図３２では、ノイズシェーピングの振幅特性の他に、人の視覚の空間周波数特性（以下、視覚特性ともいう）を表すコントラスト感度曲線も図示してある。
【０３７８】
また、図３２において（後述する図３３、図３４、及び、図３６ないし図３８でも同様）、横軸は、空間周波数を表し、縦軸は、振幅特性についてはゲインを、視覚特性については感度を、それぞれ表す。
【０３７９】
ここで、空間周波数の単位は、cpd（cycle/degree）であり、cpdは、視野角の単位角度（視野角１度）の範囲に見える縞模様の数を表す。例えば、10cpdは、視野角１度の範囲に、白線と黒線のペアが１０ペア見えることを意味し、20cpdは、視野角１度の範囲に、白線と黒線のペアが２０ペア見えることを意味する。
【０３８０】
図７において、誤差拡散部５１で得られる変調画像は、最終的には、ディスプレイ５２で表示される。したがって、ディスプレイ５２に表示される画像（変調画像）の画質を向上させる観点からは、人の視覚の空間周波数特性については、（0cpdから）ディスプレイ５２で表示される画像の最高の空間周波数までを考慮すればよい。
【０３８１】
ディスプレイ５２で表示される画像の最高の空間周波数が、仮に、例えば、120cpd程度等の極めて高い値である場合には、図３２に示すように、Jarvisフィルタであっても、また、Floydフィルタであっても、人の視覚の感度が低い、高域の周波数帯域に、ノイズ（量子化誤差）が十分に変調（ノイズシェーピング）される。
【０３８２】
ところで、ディスプレイ５２で表示される画像の最高の空間周波数は、ディスプレイ５２の解像度と、ディスプレイ５２に表示された画像を視聴するときの、視聴者からディスプレイ５２までの距離（以下、視聴距離ともいう）とによって決まる。
【０３８３】
いま、ディスプレイ５２の垂直方向（縦）の長さをHインチと表すこととすると、ディスプレイ５２で表示される画像の最高の空間周波数を求めるにあたり、視聴距離としては、例えば、2.5Hないし3.0H程度が採用される。
【０３８４】
この場合、例えば、ディスプレイ５２が、いわゆるフルHD(High Definition)の画像を表示する横×縦が1920×1080画素の40インチのサイズの表示画面を有することとすると、ディスプレイ５２で表示される画像の最高の空間周波数は、30cpd程度となる。
【０３８５】
図３３は、ディスプレイ５２（図７）で表示される画像の最高の空間周波数が、30cpdである場合の、Jarvisフィルタを用いたノイズシェーピングの振幅特性と、Floydフィルタを用いたノイズシェーピングの振幅特性とを示している。
【０３８６】
なお、図３３では、図３２と同様に、視覚特性も図示してある。
【０３８７】
ディスプレイ５２で表示される画像の最高の空間周波数が、30cpd程度である場合には、図３３に示すように、Jarvisフィルタや、Floydフィルタでは、人の視覚の感度が十分低い、高域の周波数帯域に、ノイズを、十分に変調することが困難である。
【０３８８】
したがって、Jarvisフィルタや、Floydフィルタでは、誤差拡散部５１での階調変換によって得られる変調画像に、ノイズが目立って、見た目の画質が劣化することがある。
【０３８９】
誤差拡散部５１での階調変換によって得られる変調画像にノイズが目立つことによる、見た目の画質の劣化を低減するには、ノイズシェーピングの振幅特性を、例えば、図３４に示すようにする必要がある。
【０３９０】
すなわち、図３４は、変調画像にノイズが目立つことによる、見た目の画質の劣化を低減するノイズシェーピング（以下、劣化低減ノイズシェーピングともいう）の振幅特性の例を示している。
【０３９１】
ここで、劣化低減ノイズシェーピングを実現するΔΣ変調に用いられるノイズシェーピング用のフィルタを、SBM(Super Bit Mapping)フィルタともいう。
【０３９２】
図３４では、劣化低減ノイズシェーピング（SBMフィルタを用いたノイズシェーピング）の振幅特性の他、図３３に示した視覚特性、Jarvisフィルタを用いたノイズシェーピングの振幅特性、及び、Floydフィルタを用いたノイズシェーピングの振幅特性も、図示してある。
【０３９３】
劣化低減ノイズシェーピングの振幅特性においては、中域以上の特性が、視覚特性（コントラスト感度曲線）の形状を、上下逆にした形状（類似した形状を含む）の特性（以下、逆特性ともいう）になっている。
【０３９４】
さらに、劣化低減ノイズシェーピングの振幅特性は、高域で、JarvisフィルタやFloydフィルタを用いたノイズシェーピングの振幅特性よりも急峻に増加する特性になっている。
【０３９５】
これにより、劣化低減ノイズシェーピングでは、ノイズ（量子化誤差）が、視覚の感度がより低い、JarvisフィルタやFloydフィルタを用いたノイズシェーピングよりも高域に、いわば集中的に変調される。
【０３９６】
図１０のフィルタ部２０５（でのフィルタリングを行うフィルタ）として、SBMフィルタを採用することにより、すなわち、フィルタ部２０５を用いたノイズシェーピングの振幅特性が、中域以上で、視覚特性の逆特性となり、かつ、高域で、FloydフィルタやJarvisフィルタを用いたΔΣ変調によるノイズシェーピングの振幅特性よりも急峻に増加するように、フィルタ部２０５のフィルタ係数を決定することにより、画素値INに対して、視覚の感度が低い高域のノイズ（量子化誤差）が加算されるようになり、その結果、変調画像に、ノイズ（量子化誤差）が目立つことを防止することができる。
【０３９７】
なお、図３４において、SBMフィルタを用いたノイズシェーピングの振幅特性は、高域で、ゲイン1を大きく超えているが、これは、JarvisフィルタやFloydフィルタを用いる場合よりも、量子化誤差を、高域で大きく増幅していることを表す。
【０３９８】
また、図３４では、SBMフィルタを用いたノイズシェーピングの振幅特性は、低域から中域にかけて、ゲインが負になっているが、これにより、SBMフィルタを、少ないタップ数の２次元フィルタで構成することができる。
【０３９９】
すなわち、例えば、SBMフィルタを用いたノイズシェーピングの振幅特性として、低域及び中域のゲインが0で、高域だけ、ゲインが急峻に増加する振幅特性を実現する場合には、SBMフィルタは、多タップ（タップ数が多い）の２次元フィルタとなる。
【０４００】
これに対して、SBMフィルタを用いたノイズシェーピングの振幅特性を、低域又は中域で、ゲインが負になるようにした場合には、少ないタップ数の２次元フィルタで、SBMフィルタを構成し、ノイズシェーピングの高域のゲインを、JarvisフィルタやFloydフィルタを用いる場合よりも急峻に増加させることができる。
【０４０１】
このようなSBMフィルタを、フィルタ部２０５として採用することにより、誤差拡散部５１を小型に構成することができる。
【０４０２】
［フィルタ部２０５の構成例］
【０４０３】
図３５は、図１０のフィルタ部２０５（フィルタ部２０５のフィルタ出力を得るフィルタリングを行うフィルタ）の構成例を示している。
【０４０４】
図３５において、フィルタ部２０５は、１２タップの２次元のFIRフィルタであり、１２個の演算部２５１1,3，２５１1,2，２５１1,1，２５１2,3，２５１2,2，２５１2,1，２５１3,2，２５１3,1，２５１4,1，２５１4,2，２５１5,1、及び、２５１5,2、並びに、１個の演算部２５２等から構成される。
【０４０５】
いま、注目画素を中心とする、横×縦が5×5画素のうちの、左からx番目で、上からy番目の画素の量子化誤差を、Q(x,y)と表すこととすると、演算部２５１x,yには、量子化誤差Q(x,y)が供給される。
【０４０６】
すなわち、図３５では、演算部２５１x,yには、注目画素を中心とする、横×縦が5×5画素のうちの、ラスタスキャン順で、注目画素より先に処理される（注目画素にされる）12画素それぞれの量子化誤差Q(x,y)が供給される。
【０４０７】
演算部２５１x,yは、そこに供給される量子化誤差Q(x,y)と、あらかじめ設定されたフィルタ係数a(x,y)とを乗算し、その結果得られる乗算値を、演算部２５２に供給する。
【０４０８】
演算部２５２は、１２個の演算部２５１x,yそれぞれから供給される乗算値を加算し、その加算値を、フィルタ出力Uとして出力する。
【０４０９】
［ノイズシェーピングの特性と、フィルタ係数の具体例］
【０４１０】
図３６は、ディスプレイ５２で表示される画像の空間周波数の最高周波数（最高の空間周波数）を30cpdとした場合の、SBMフィルタを用いたノイズシェーピングの振幅特性とフィルタ係数の第１の例を示している。
【０４１１】
すなわち、図３６Ａは、ノイズシェーピングの振幅特性が、低域又は中域で負になり、高域で、Floydフィルタを用いたΔΣ変調によるノイズシェーピングの振幅特性よりも急峻に増加するように決定された、12タップのSBMフィルタのフィルタ係数の第１の例を示している。
【０４１２】
図３６Ａでは、12タップのSBMフィルタのフィルタ係数a(x,y)（図３５）として、a(1,1) = -0.0317，a(2,1) = -0.1267，a(3,1) = -0.1900，a(4,1) = -0.1267，a(5,1) = -0.0317，a(1,2) = -0.1267，a(2,2) = 0.2406，a(3,2) = 0.7345，a(4,2) = 0.2406，a(5,2) = -0.1267，a(1,3) = -0.1900，a(2,3) = 0.7345が採用されている。
【０４１３】
図３６Ｂは、SBMフィルタのフィルタ係数が図３６Ａに示すようになっている場合の、SBMフィルタを用いたノイズシェーピングの振幅特性を示している。
【０４１４】
図３６Ｂのノイズシェーピングの振幅特性では、周波数f=0で、ゲインが0で、低域又は中域で、ゲインが負になり、高域で、ゲインが、Floydフィルタ（及びJarvisフィルタ）を用いたΔΣ変調によるノイズシェーピングの振幅特性よりも急峻に増加している。
【０４１５】
図３７は、ディスプレイ５２で表示される画像の空間周波数の最高周波数を30cpdとした場合の、SBMフィルタを用いたノイズシェーピングの振幅特性とフィルタ係数の第２の例を示している。
【０４１６】
すなわち、図３７Ａは、SBMフィルタを用いたノイズシェーピングの振幅特性が、低域又は中域で負になり、高域で、Floydフィルタを用いたΔΣ変調によるノイズシェーピングの振幅特性よりも急峻に増加するように決定された、12タップのSBMフィルタのフィルタ係数の第２の例を示している。
【０４１７】
図３７Ａでは、12タップのSBMフィルタのフィルタ係数a(x,y)（図３５）として、a(1,1) = -0.0249，a(2,1) = -0.0996，a(3,1) = -0.1494，a(4,1) = -0.0996，a(5,1) = -0.0249，a(1,2) = -0.0996，a(2,2) = 0.2248，a(3,2) = 0.6487，a(4,2) = 0.2248，a(5,2) = -0.0996，a(1,3) = -0.1494，a(2,3) = 0.6487が採用されている。
【０４１８】
図３７Ｂは、SBMフィルタのフィルタ係数が図３７Ａに示すようになっている場合の、SBMフィルタを用いたノイズシェーピングの振幅特性を示している。
【０４１９】
図３７Ｂのノイズシェーピングの振幅特性では、周波数f=0で、ゲインが0で、低域又は中域で、ゲインが負になり、高域で、ゲインが、Floydフィルタを用いたΔΣ変調によるノイズシェーピングの振幅特性よりも急峻に増加している。
【０４２０】
図３８は、ディスプレイ５２で表示される画像の空間周波数の最高周波数を30cpdとした場合の、SBMフィルタを用いたノイズシェーピングの振幅特性とフィルタ係数の第３の例を示している。
【０４２１】
すなわち、図３８Ａは、ノイズシェーピングの振幅特性が、低域又は中域で負になり、高域で、Floydフィルタを用いたΔΣ変調によるノイズシェーピングの振幅特性よりも急峻に増加するように決定された、12タップのSBMフィルタのフィルタ係数の第３の例を示している。
【０４２２】
図３８Ａでは、12タップのSBMフィルタのフィルタ係数a(x,y)（図３５）として、a(1,1) = -0.0397，a(2,1) = -0.1586，a(3,1) = -0.2379，a(4,1) = -0.1586，a(5,1) = -0.0397，a(1,2) = -0.1586，a(2,2) = 0.2592，a(3,2) = 0.8356，a(4,2) = 0.2592，a(5,2) = -0.1586，a(1,3) = -0.2379，a(2,3) = 0.8356が採用されている。
【０４２３】
図３８Ｂは、SBMフィルタのフィルタ係数が図３８Ａに示すようになっている場合の、SBMフィルタを用いたノイズシェーピングの振幅特性を示している。
【０４２４】
図３８Ｂのノイズシェーピングの振幅特性では、周波数f=0で、ゲインが0で、低域又は中域で、ゲインが負になり、高域で、ゲインが、Floydフィルタを用いたΔΣ変調によるノイズシェーピングの振幅特性よりも急峻に増加している。
【０４２５】
図３６ないし図３８に示した12タップのSBMフィルタのフィルタ係数は、負の値を含んでおり、そのために、ノイズシェーピングの振幅特性は、低域又は中域で負になる。このように、ノイズシェーピングの振幅特性を、低域又は中域で負にすることで、高域で急峻に増加するノイズシェーピングの振幅特性を、12タップという少ないタップ数のSBMフィルタで実現することができる。
【０４２６】
なお、図３６ないし図３８に示したフィルタ係数のSBMフィルタ（のフィルタリング結果を出力するブロック）を、フィルタ部２０５に採用して行ったシミュレーションによれば、いずれのSBMフィルタについても、見た目の画質が良い変調画像を得ることができた。
【０４２７】
以上、本発明を、TV等としての画像処理装置に適用した場合について説明したが、本発明は、TVの他、階調変換を行うあらゆる装置に適用可能である。
【０４２８】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【０４２９】
すなわち、例えば、本実施の形態では、画素値が、RGB成分の画像を、階調変換の対象（対象画像）としたが、階調変換の対象は、その他、例えば、画素値が、YUV成分等の複数の成分の画像等とすることができる。
【０４３０】
また、階調変換の対象は、画素値が単一の成分（輝度）のみからなる画像（いわゆるモノクロの画像）であっても良い。
【図面の簡単な説明】
【０４３１】
【図１】誤差拡散法による階調変換を行う階調変換装置の構成例を示すブロック図である。
【図２】誤差拡散法による階調変換の対象となる画素の順番を示す図である。
【図３】フィルタ１４の構成例を示すブロック図である。
【図４】フィルタ１４のフィルタリングに用いられる量子化誤差Qを示す図である。
【図５】画素値がRGB成分の画素からなる画像の階調変換の処理を説明するフローチャートである。
【図６】誤差拡散法による階調変換を行う階調変換装置の他の構成例を示すブロック図である。
【図７】本発明を適用した画像処理装置の一実施の形態の構成例を示すブロック図である。
【図８】誤差拡散部５１のハードウェアの構成例を示すブロック図である。
【図９】誤差拡散部５１の処理を説明するフローチャートである。
【図１０】誤差拡散部５１の機能的な構成例を示すブロック図である。
【図１１】誤差拡散部５１が行う誤差拡散法による階調変換の処理を説明するフローチャートである。
【図１２】結合部２０１で扱われるデータを説明する図である。
【図１３】小数部抽出部２０２、演算部２０３、小数部抽出部２０４、及び、フィルタ部２０５で扱われるデータを説明する図である。
【図１４】整数部抽出部２０６及び２０７、並びに、演算部２０８で扱われるデータを説明する図である。
【図１５】リミッタ２０９、及び、分離部２１０で扱われるデータを説明する図である。
【図１６】結合部２０１として機能するCPU１０２の処理を説明する図である。
【図１７】小数部抽出部２０２として機能するCPU１０２の処理を説明する図である。
【図１８】フィルタ部２０５として機能するCPU１０２の処理を説明する図である。
【図１９】フィルタ部２０５として機能するCPU１０２の処理を説明する図である。
【図２０】フィルタ部２０５として機能するCPU１０２の処理を説明する図である。
【図２１】演算部２０３として機能するCPU１０２の処理を説明する図である。
【図２２】整数部抽出部２０７として機能するCPU１０２の処理を説明する図である。
【図２３】整数部抽出部２０６として機能するCPU１０２の処理を説明する図である。
【図２４】演算部２０８として機能するCPU１０２の処理を説明する図である。
【図２５】演算部２０８として機能するCPU１０２の処理を説明する図である。
【図２６】リミッタ２０９として機能するCPU１０２の処理を説明する図である。
【図２７】リミッタ２０９として機能するCPU１０２の処理を説明する図である。
【図２８】リミッタ２０９として機能するCPU１０２の処理を説明する図である。
【図２９】リミッタ２０９として機能するCPU１０２の処理を説明する図である。
【図３０】分離部２１０として機能するCPU１０２の処理を説明する図である。
【図３１】小数部抽出部２０４として機能するCPU１０２の処理を説明する図である。
【図３２】Jarvisフィルタを用いたノイズシェーピングの振幅特性と、Floydフィルタを用いたノイズシェーピングの振幅特性を示す図である。
【図３３】Jarvisフィルタを用いたノイズシェーピングの振幅特性と、Floydフィルタを用いたノイズシェーピングの振幅特性を示す図である。
【図３４】SBMフィルタを用いたノイズシェーピングの振幅特性を示す図である。
【図３５】フィルタ部２０５のフィルタ出力Uを得るフィルタリングを行うフィルタの構成例を示す図である。
【図３６】SBMフィルタを用いたノイズシェーピングの振幅特性と、フィルタ係数の第１の例を示す図である。
【図３７】SBMフィルタを用いたノイズシェーピングの振幅特性と、フィルタ係数の第２の例を示す図である。
【図３８】SBMフィルタを用いたノイズシェーピングの振幅特性と、フィルタ係数の第３の例を示す図である。
【符号の説明】
【０４３２】
１０  誤差拡散部，  １１  演算部，  １２  量子化部，  １３  演算部，  １４  フィルタ，  ２１1,1ないし２１3,1，２１1,2，２２  演算部，  ３１Ｒ，３１Ｇ，３１Ｂ，５１  誤差拡散部，  ５２  ディスプレイ，  １０１  バス，  １０２  CPU，  １０３  ROM，  １０４  RAM，  １０５  ハードディスク，  １０６  出力部，  １０７  入力部，  １０８  通信部，  １０９  ドライブ，  １１０  入出力インタフェース，  １１１  リムーバブル記録媒体，  ２０１  結合部，  ２０２  小数部抽出部，  ２０３  演算部，  ２０４  小数部抽出部，  ２０５  フィルタ部，  ２０６，２０７  整数部抽出部，  ２０８  演算部，  ２０９  リミッタ，  ２１０  分離部，  ２５１1,1ないし２５１5,1，２５１1,2ないし２５１5,2，２５１1,3，２５１2,3，２５２  演算部
【図１】
2010117741.tif 000003
【図２】
2010117741.tif 000004
【図３】
2010117741.tif 000005
【図４】
2010117741.tif 000006
【図５】
2010117741.tif 000007
【図６】
2010117741.tif 000008
【図７】
2010117741.tif 000009
【図８】
2010117741.tif 000010
【図９】
2010117741.tif 000011
【図１０】
2010117741.tif 000012
【図１１】
2010117741.tif 000013
【図１２】
2010117741.tif 000014
【図１３】
2010117741.tif 000015
【図１４】
2010117741.tif 000016
【図１５】
2010117741.tif 000017
【図１６】
2010117741.tif 000018
【図１７】
2010117741.tif 000019
【図１８】
2010117741.tif 000020
【図１９】
2010117741.tif 000021
【図２０】
2010117741.tif 000022
【図２１】
2010117741.tif 000023
【図２２】
2010117741.tif 000024
【図２３】
2010117741.tif 000025
【図２４】
2010117741.tif 000026
【図２５】
2010117741.tif 000027
【図２６】
2010117741.tif 000028
【図２７】
2010117741.tif 000029
【図２８】
2010117741.tif 000030
【図２９】
2010117741.tif 000031
【図３０】
2010117741.tif 000032
【図３１】
2010117741.tif 000033
【図３２】
2010117741.tif 000034
【図３３】
2010117741.tif 000035
【図３４】
2010117741.tif 000036
【図３５】
2010117741.tif 000037
【図３６】
2010117741.tif 000038
【図３７】
2010117741.tif 000039
【図３８】
2010117741.tif 000040