(57)【特許請求の範囲】
【請求項１】
輝度表示がＮビットである画素の画像データをフレーム毎に入力し、輝度表示がＭ（Ｍ＜Ｎ）ビットである画素の画像データをフレーム毎に出力する装置であって、当該画素のＮビットの画像データからＭビットの画像データを差し引いたＮ−Ｍビットの誤差データを求め、当該画素の誤差データに周辺画素の誤差データを加算して新たな誤差データを求め、当該新たな誤差データの桁上げによるビットのデータをＭビットの画像データに加算して輝度を補正すると共に新たな誤差データを周辺画素に拡散する画像処理装置において、
前記周辺画素から拡散されてくる誤差データとして、当該表示画像の前フレームの最終表示ラインの画素の誤差データを現在フレームの第１表示ラインの画素の誤差データに加算すると共に、当該表示画像の現在フレームの各々の表示ラインの先頭画素の誤差データを現在フレームの各々の表示ラインの最終画素の誤差データに加算することを特徴とする画像処理装置。
【請求項２】
輝度表示がＮビットである画素の画像データをフレーム毎に入力し、輝度表示がＭ（Ｍ＜Ｎ）ビットである画素の画像データをフレーム毎に出力する装置であって、当該画素のＮビットの画像データからＭビットの画像データを差し引いたＮ−Ｍビットの誤差データを求め、当該画素の誤差データに周辺画素の誤差データを加算して新たな誤差データを求め、当該新たな誤差データの桁上げによるビットのデータをＭビットの画像データに加算して輝度を補正すると共に新たな誤差データを周辺画素に拡散する画像処理装置において、
当該表示画像の現在のフレームの第１表示ラインから任意の表示ラインに至る間の複数の画素をブロックに分割し、前記ブロック毎に誤差データの平均値を求め、前記ブロック毎に求めた誤差データの平均値を周辺の画素から拡散されてくる誤差データとして、次のフレームの第１表示ラインの表示画素の誤差データに加算することを特徴とする画像処理装置。
【請求項３】
当該表示画像の現在のフレームの各々の表示ラインの先頭画素から任意の画素に至る間の複数の画素をブロックに分割し、前記ブロック毎に誤差データの平均値を求め、前記ブロック毎に求めた誤差データの平均値を周辺の画素から拡散されてくる誤差データとして、次のフレームの各々の表示ラインの先頭画素の誤差データに加算することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
当該表示画像の現在のフレームの各々の表示ラインの最終画素から任意の前の画素に至る間の複数の画素をブロックに分割し、前記ブロック毎に誤差データの平均値を求め、前記ブロック毎に求めた誤差データの平均値を周辺の画素から拡散されてくる誤差データとして、次のフレームの各々の表示ラインの最終画素の誤差データに加算することを特徴とする請求項２に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置に関するものであり、更に詳しく言えば、高い表示階調の入力画像を表示階調能力の低い表示装置で表示するために輝度（誤差データ）を周辺画素に拡散する回路に関するものである。
【０００２】
【従来の技術】
近年、薄型の特徴を生かしたフルカラーＰＤＰ（プラズマ・ディスプレイ・パネル）が壁掛けテレビ用として製造されている。ＰＤＰは、本来、白黒画像の表示デバイスであるが、表示パネルにＲ（赤）Ｇ（緑）Ｂ（青）の３色の蛍光体を塗布することによりカラー表示を実現している。
【０００３】
また、ＰＤＰは画質を向上させるために多階調表示方式が採られている。多階調表示にはサブフィールド方式が採用されている。この方式は、表示セルへの書込みデータの重みに比例した発光時間で各表示セルを同時に発光させるものである。
図14（Ａ）は、６４階調のＰＤＰの１フレーム期間（垂直走査期間：１６．７ｍｓ）を示している。図14（Ａ）において、ＳＦ１〜ＳＦ６はサブフィールドである。各フィールドＳＦ１〜ＳＦ６の発光時間の相対比は１対２，４，８，１６，３２である。このようにサブフィールド毎に発光時間を変えることにより、６４階調のカラー表示を実現することができる。多階調化のためには、サブフィールドを増やせば良いが、サブフィールド毎にデータを書込む「アドレス期間」が必要となる。したがって、サブフィールド数を増やすことは１フレーム期間内に占めるアドレス期間が増大し、相対的に発光時間を短くせざるを得なくなる。これにより、表示パネルの輝度が低下してしまう。
【０００４】
そこで、高い表示階調の入力画像を表示駆動能力の低い表示装置で表示するために、疑似的な多階調化手段として「誤差拡散処理」が採用されている。誤差拡散処理とは、階調数Ａを表示できる表示装置に、Ａ以上の階調数Ｂを持つ映像信号を入力した場合、表示装置が表示できない情報（Ｂ−Ａ）を利用して実際の階調数はＡでありながら、疑似的にＢに近い階調数に見せる技術である。
【０００５】
図14（Ｂ）は、入力画像の階調対表示画像の階調の関係を示した特性図である。図14（Ｂ）において、図中太線は２５６階調（８ビット）の入力画像を全ビットを適用して階調表示を行った場合の特性である。階段状の細線は、２５６階調の入力画像の上位３ビットを適用して８階調表示を行った場合の特性である。この階調特性は誤差拡散処理を行わない場合を示しており、人間の顔のような輪郭部分が、明るさ（階調）の段差として見えてしまう。このため色細やかな自然画を表示することができない。
【０００６】
そこで、図14（Ｂ）に示すように、２５６階調特性（図中太線）と８階調特性（細線）が作る三角形部分（図中網点部分）の輝度差（以下誤差又は誤差データという）を利用することにより、図15（Ａ）に示すような階段部分に無数の疑似中間調（ひげ）を発生させるようにする。この中間調の誤差（明るさ）が画面全体に分散され、人間の目にはこれがぼけて認識されるようになり、８階調特性の階段部分が滑らかに変化するようになる。
【０００７】
誤差拡散処理は、まず、
（１）閾値を決定し、
（２）それぞれの閾値を表示値に割り当て、
（３）入力画像の値と閾値とを比較して、最も近い閾値を選択することにより、表示値を決定する。そして、
（４）選択した閾値と入力画像の差により誤差を算出し、
（５）算出した誤差を図15（Ｂ）に示すような重み（１／16, ３／16, ５／16, ７／16）を付けて周辺の画素に拡散する（Ｆloyd＆Ｓteinbergの方法）。
【０００８】
図15（Ｂ）において、Ａは当該画素、Ｂは左隣の画素、Ｃは左上の画素、Ｄは真上の画素、Ｅは右上の画素である。誤差拡散開始位置は、表示画面の第１表示ラインの先頭画素である。この位置から所定の方向に誤差が拡散する。誤差は１つの画素から右隣の画素、左下の画素、真下の画素、右下の画素に拡散する。誤差拡散処理は、このような５つの手順によって行われ、このうち表示画面の画素毎に（３）〜（５）の作業を繰り返し行う。
【０００９】
これによって、画面左上部から右下部に向かって誤差が拡散され、どんどん誤差が累積されていき、各画素の表示値の最下位ビットに桁上げが発生する。この桁上げが図15（Ａ）に示すような階調特性に疑似中間調を発生させる。そして、累積誤差が画面全体に散りばめられ、表示画面を原画に近い階調数に見せかけることができる。
【００１０】
次に、従来例に係る誤差拡散回路を説明する。図16の構成図において、１はｍ個の閾値Ｓ１〜Ｓｍと入力画像との差が最も少なくなる表示値Ｘ1 〜Ｘｍのいずれか１つ及びそのときの誤差を検出する誤差検出回路である。閾値と表示値とは表示装置の階調数分（ｍ個）だけ用意されており、表示値と閾値はそれぞれ対応付けられている。２は誤差拡散範囲以外の表示値をマスクするマスク回路、３〜６は誤差拡散範囲以外の誤差をマスクするマスク回路、７〜１０は所定の重みα１〜α４を誤差に乗算する乗算器、１１は当該画素の周辺画素から拡散されてくる誤差を全て加算する加算器である。１２は加算器１１の出力（累積誤差：桁上げ部分の下位のビット）を１表示ラインだけ遅らせるラインメモリ、１３〜１５は周辺画素からの誤差を保持するフリップ・フロップ回路（以下ＦＦ回路という）である。１６は加算器１１の演算結果のうち、誤差の最上位となる桁上げビットを誤差検出回路１からの表示値に加算する加算器である。１７は各マスク回路２〜６及びラインメモリ１２を制御する制御部である。
【００１１】
次に誤差拡散回路の動作を説明する。図17は水平方向に誤差を拡散する場合の動作タイミングチャートであり、図18は垂直方向に誤差を拡散する場合の動作タイミングチャートを示している。このタイムチャートは、入力画像の１表示ラインの画素Ｉ１〜Ｉ20のうち、画素Ｉ３〜Ｉ17に誤差拡散範囲を指定した場合を示している。
【００１２】
例えば、８ビットの入力画像を５ビットの表示階調の表示装置に適用する場合、まず、誤差検出回路１は、８ビットの入力画像からｍ個の閾値Ｓ１〜Ｓｍを差し引いた下位３ビットの誤差が最も少なくなる５ビットの表示値Ｘ1 〜Ｘｍの何れか及びそのときの誤差Ａ´を検出する。この表示値Ｘｎは第１表示ラインの先頭画素Ｉ３に該当する。
【００１３】
また、マスク回路２は制御部１７から出力されたマスク信号Ｓ２に基づいて誤差拡散範囲外の表示値をマスクするように動作し、当該画素Ａの表示値Ｘｎは加算器１６に出力される。また、マスク回路３はマスク信号Ｓ１に基づいて誤差拡散範囲外の誤差をマスクするように動作し、当該画素の誤差Ａ´は加算器１１に出力されるようになる。
【００１４】
加算器１１の演算結果から、桁上げ部分以下の３ビットは累積誤差としてラインメモリ１２及びＦＦ回路１３に書き込まれる。また、ＦＦ回路１３の出力は入力に対して１クロック遅延した累積誤差、つまり当該画素Ａの左隣に位置する画素Ｂの誤差Ｂ´になる。
ラインメモリ１２は制御部１７からのリード制御信号に基づいて加算器１１の出力を１表示ライン及び１クロック遅延して乗算器１０に出力する。このラインメモリ１２からの出力が、当該画素Ａの右上の画素Ｅの誤差Ｅ´である。ラインメモリ１２の出力をＦＦ回路１４及びＦＦ回路１５により１クロックづつ遅延させることにより、当該画素Ａの真上に位置する画素Ｄの誤差Ｄ´、画素Ａの左上に位置する画素Ｃの誤差Ｃ´を得ている。各マスク回路４、５、６はマスク信号Ｓ１に基づいて誤差拡散範囲以外の誤差をマスクする。この結果、周辺画素Ｂ，Ｃ，Ｄ，Ｅからの誤差が乗算器７〜１０に出力され、乗算器７〜１０はα１〜α４の係数を誤差に乗算して重み付けする。重み付けされた誤差は加算器１１によって加算される。そして加算器１１の演算の結果、新たな誤差に桁上げ（キャリー＝「１」）が生じた場合、このビットが、誤差検出回路１からの表示値の最下位ビットに加算されるようになる。このように見直された表示値が表示信号（表示画像）として表示装置に出力される。また、新たな誤差は周辺の画素に拡散していく。
【００１５】
【発明が解決しようとする課題】
しかしながら従来技術に係る誤差拡散方法では、図19に示すように表示画面の中央の画素Ａ（ケース▲１▼）に比べて、画面の端部の画素には、周辺画素からの誤差が十分に拡散されていない。すなわち、図19において、ケース▲２▼では、第１表示ラインの先頭画素Ａに対して、左隣の画素Ｂ、左上の画素Ｃ、真上の画素Ｄ及び右上の画素Ｅからの誤差が無い。ケース▲３▼では、第１表示ラインの最終画素Ａに対して左隣の画素Ｂの誤差はあるものの、左上の画素Ｃ、真上の画素Ｄ及び右上の画素Ｅからの誤差が無い。ケース▲４▼では、最終表示ラインの先頭画素Ａに対して真上の画素Ｄ及び右上の画素Ｅの誤差はあるものの、左隣の画素Ｂ及び左上の画素Ｃからの誤差が無い。ケース▲５▼では、最終表示ラインの最終画素Ａに対して左隣の画素Ｂ、左上の画素Ｃ及び真上の画素Ｄの誤差はあるものの、右上の画素Ｅからの誤差が無い。
【００１６】
したがって、誤差が十分に累積されている画面の中央部や下部に比べて、誤差が不十分な画面の左側や上部では輝度ムラが発生し、多階調表示の再現性が非常に悪くなるという問題がある。
本発明は、かかる従来例の課題に鑑み創作されたものであり、表示画面の左上部に位置する画素の輝度の差分の不足を補い、その部分の輝度ムラを無くして画質の向上を図ることが可能となる画像処理装置の提供を目的とする。
【００１７】
【課題を解決するための手段】
本発明に係る第１の画像処理装置は、その一実施例を図１に示すように、輝度表示がＮビットである画素の画像データをフレーム毎に入力し、輝度表示がＭ（Ｍ＜Ｎ）ビットである画素の画像データをフレーム毎に出力する装置であって、当該画素のＮビットの画像データからＭビットの画像データを差し引いたＮ−Ｍビットの誤差データを求め、当該画素の誤差データに周辺画素の誤差データを加算して新たな誤差データを求め、当該新たな誤差データの桁上げによるビットのデータをＭビットの画像データに加算して輝度を補正すると共に新たな誤差データを周辺画素に拡散する画像処理装置において、前記周辺画素から拡散されてくる誤差データとして、当該表示画像の前フレームの最終表示ラインの画素の誤差データを現在フレームの第１表示ラインの画素の誤差データに加算すると共に、当該表示画像の現在フレームの各々の表示ラインの先頭画素の誤差データを現在フレームの各々の表示ラインの最終画素の誤差データに加算することを特徴とする。
【００１８】
本発明の第２の画像処理装置は、輝度表示がＮビットである画素の画像データをフレーム毎に入力し、輝度表示がＭ（Ｍ＜Ｎ）ビットである画素の画像データをフレーム毎に出力する装置であって、前記Ｎビットの画像データからＭビットの画像データを差し引いた当該画素のＮ−Ｍビットの誤差データを求め、前記誤差データに周辺画素の誤差データを加算し新たな誤差データを求め、前記新たな誤差データの桁上げによるビットのデータをＭビットの画像データに加算して輝度を補正すると共に新たな誤差データを周辺画素に拡散する画像処理装置において、
当該表示画像の現在のフレームの第１表示ラインから任意の表示ラインに至る間の複数の画素をブロックに分割し、前記ブロック毎に誤差データの平均値を求め、前記ブロック毎に求めた誤差データの平均値を周辺の画素から拡散されてくる誤差データとして、次のフレームの第１表示ラインの表示画素の誤差データに加算することを特徴とし、上記目的を達成する。
【００１９】
本発明の第１の画像処理装置では、前フレームの最終表示ラインの各々対応する画素の誤差データを現在フレームの第１表示ラインの各々対応する画素の誤差データに加算することにより、表示画面の左上部（誤差拡散開始点）から右上部に至る画素の輝度を補うことができる。したがって、これらの当該画素に最初から大きな誤差データを与えることができるので、表示画面の左上部から右上部に至る輝度ムラが無くなる。
【００２１】
本発明の第２の画像処理装置では、ブロック毎に求めた誤差データの平均値を次のフレームの第１表示ラインの当該画素の誤差データに加算することにより、表示画面の左上部の誤差を補うことができる。したがって、これらの当該画素に最初から大きな誤差データを与えることができるので、表示画面の左上部の輝度ムラが無くなる。
【００２２】
また、本発明の第２の装置ではブロック毎に求めた誤差データの平均値を次のフレームの各々の表示ラインの先頭画素や最終画素の誤差データに加算することにより、これらの当該画素に最初から大きな誤差データを与えることができるので、表示画面の左側部分や右側部分の輝度ムラが無くなる。
【００２３】
【発明の実施の形態】
次に、図を参照しながら本発明の実施の形態について説明をする。図１〜図１３は、本発明の実施の形態に係る画像処理装置の説明図である。
本発明の画像処理装置は、▲１▼１枚の画像をラスタ走査する画像信号が時系列的に伝送されてくるという特徴と、▲２▼表示画像のフレーム間には相関性があるということを利用して表示画面の端部の画素の誤差データ（以下単に誤差という）を算出するものである。
【００２４】
（１）第１の実施の形態
図１は、本発明の第１の実施の形態に係る誤差拡散処理の説明図を示している。第１の誤差拡散方法は、前記の▲１▼の特徴を利用するものである。図１は表示画像の現在フレームとその前フレームとを便宜的につなぎ合わせたものである。図１において、Ｌはある表示画像の現在フレームであり、Ｌ−１は表示画像の前フレームを示している。当該フレームは、ｍドット×ｎラインの表示画面を構成している。網掛け部分（ａ）は、画面の中央部の画素のタイプを示しており、（ｂ）〜（ｇ）は画面の端部の画素のタイプを示している。次に、これらのタイプの画素に誤差を与える周辺画素を示すことにする。以下括弧内はドット番号、ライン番号、フレーム番号を順に示している。Ｘは任意ドットであり、Ｙは任意ラインである。
【００２５】
（ａ）  画面の中央部の画素（Ｘ，Ｙ，Ｌ）は、基本パターンである。但し、１＜Ｙ＜ｎ、１＜Ｘ＜ｍである。この画素に対して誤差を与える周辺画素は、
左隣の画素が、Ｂ：（ｍ−１，ｎ  ，  Ｌ    ）、
左上の画素が、Ｃ：（ｍ−１，ｎ−１，Ｌ    ）、
真上の画素が、Ｄ：（ｍ  ，  ｎ−１，Ｌ    ）、
右上の画素が、Ｅ：（ｍ＋１，ｎ−１，Ｌ    ）である。
【００２６】
（ｂ）  画面の左上部の画素（１，１，Ｌ）に対して誤差を与える周辺画素は、
左隣の画素が、Ｂ：（ｍ  ，  ｎ  ，  Ｌ−１）、
左上の画素が、Ｃ：（ｍ  ，  ｎ−１，Ｌ−１）、
真上の画素が、Ｄ：（１  ，  ｎ  ，  Ｌ−１）、
右上の画素が、Ｅ：（２  ，  ｎ  ，  Ｌ−１）である。
【００２７】
（ｃ）  画面の最上部の画素（Ｘ，１，Ｌ）、すなわち、画面の左上部及び右上部の画素を除いた第１表示ラインの画素（１＜Ｘ＜ｍ）に対して誤差を与える周辺画素は、
左隣の画素が、Ｂ：（Ｘ−１，１  ，  Ｌ    ）、
左上の画素が、Ｃ：（Ｘ−１，ｎ  ，  Ｌ−１）、
真上の画素が、Ｄ：（Ｘ  ，  ｎ  ，  Ｌ−１）、
右上の画素が、Ｅ：（Ｘ＋１，ｎ  ，  Ｌ−１）である。
【００２８】
（ｄ）  画面の右上部の画素（ｍ，１，Ｌ）に対して誤差を与える周辺画素は、
左隣の画素が、Ｂ：（ｍ−１，１  ，  Ｌ    ）、
左上の画素が、Ｃ：（ｍ−１，ｎ  ，  Ｌ−１）、
真上の画素が、Ｄ：（ｍ  ，  ｎ  ，  Ｌ−１）、
右上の画素が、Ｅ：（ｍ  ，  １  ，  Ｌ    ）である。
【００２９】
（ｅ）  画面の第２表示ラインの先頭画素（１，２，Ｌ）に対して誤差を与える周辺画素は、
左隣の画素が、Ｂ：（ｍ  ，  １  ，  Ｌ    ）、
左上の画素が、Ｃ：（ｍ  ，  ｎ  ，  Ｌ−１）、
真上の画素が、Ｄ：（１  ，  １  ，  Ｌ    ）、
右上の画素が、Ｅ：（２  ，  １  ，  Ｌ    ）である。
【００３０】
（ｆ）  画面の左端の各先頭画素（１，Ｙ，Ｌ）、すなわち、画面の第１、第２表示ラインの先頭画素を除いた左端の画素（２＜Ｙ＜ｎ）に対して誤差を与える周辺画素は、
左隣の画素が、Ｂ：（ｍ  ，  ｎ−１，Ｌ    ）、
左上の画素が、Ｃ：（ｍ  ，  ｎ−２，Ｌ    ）、
真上の画素が、Ｄ：（１  ，  ｎ−１，Ｌ    ）、
右上の画素が、Ｅ：（２  ，  ｎ−１，Ｌ    ）である。
【００３１】
（ｇ）  画面の右側下部の最終画素（ｍ，ｎ，Ｌ）に対して誤差を与える周辺画素は、
左隣の画素が、Ｂ：（ｍ−１，ｎ  ，  Ｌ    ）
左上の画素が、Ｃ：（ｍ−１，ｎ−１，Ｌ    ）
真上の画素が、Ｄ：（ｍ  ，  ｎ−１，Ｌ    ）
右上の画素が、Ｅ：（１  ，  ｎ  ，  Ｌ    ）である。
【００３２】
次に、このような周辺画素Ｂ、Ｃ、Ｄ、Ｅから７タイプの画素へ誤差を与える誤差拡散回路について説明する。図２は第１の実施の形態に係る誤差拡散回路の構成図を示している。図２において、２０は誤差検出回路、２１、２２、２８〜３０はマスク回路、２３は加算器、２４はリード制御信号ＳＲ及びライト制御信号ＳＷに基づいて加算器２３の出力（累積誤差）を１表示ライン（１水平期間）だけ遅らせるラインメモリである。従来例では最終表示ラインの１つ手前の表示ラインで書込みを終了していたが、本実施の形態では最終表示ラインの誤差まで書込みを行う。読出しは各表示ラインの先頭画素から開始する。このようにすると第１表示ラインの先頭画素の誤差の演算に、前フレームの最終表示ラインの各画素の誤差が使用できる。従来例では「０」であった先頭画素の誤差として、左上の画素Ｃ、真上の画素Ｄ、右上の画素Ｅの誤差を前フレームの最終表示ラインから持ってくることができる。
【００３３】
２５、２６、２７はフリップ・フロップ回路（以下ＦＦ回路という）である。ＦＦ回路２５は加算器２３の出力を１クロック分だけ遅らせ、左隣の画素Ｂ´から画素へ拡散する誤差を与えるように動作する。ＦＦ回路２６はラインメモリ２４の出力を１クロック分だけ遅らせ、真上の画素Ｄ´から画素へ拡散する誤差を与えるように動作する。ＦＦ回路２７はラインメモリ２４の出力を２クロック分だけ遅らせ、画素の左上の画素Ｃ´からの誤差を与えるように動作する。
【００３４】
これまでは従来例と大きな相違点はないが、次の点で構成が異なる。３１は誤差拡散終了パルス（Ｓ５）に従って加算器２３の出力（画素の誤差）をラッチするラッチ回路である。ラッチ回路３１は、図１に示したような（ｂ）、（ｅ）及び（ｆ）タイプの画素の誤差を計算する場合に、加算器２３の出力（誤差Ｂ´）をラッチするように動作する。誤差拡散終了パルスは、前フレームの最終表示ライン（ｎライン）の最終画素の誤差を算出したときに発生する。誤差拡散終了パルスが「Ｈ」から「Ｌ」レベルに変化すると、加算器２３の出力がラッチ回路３１にセットされる。これにより、左隣の画素Ｂの誤差として前フレームの最終画素の誤差を現在フレームの第１表示ラインの先頭画素に与えることができる。
【００３５】
また、誤差拡散終了パルスは、現在フレームの各表示ライン（１〜ｎライン）の最終画素の誤差を算出したときに発生する。誤差拡散終了パルスは各表示ラインの最終画素の誤差を算出すると「Ｈ」から「Ｌ」レベルに変化する。この結果、加算器３６の出力がラッチ回路３１にセットされる。ラッチ回路３１は、図１に示したような（ｂ）、（ｅ）及び（ｆ）タイプの画素の誤差を計算する場合に、加算器２３の出力（誤差Ｂ´）をラッチするように動作する。これにより、左隣の画素Ｂの誤差として各表示ラインの最終画素の誤差を現在フレームの各表示ラインの先頭画素に与えることができる。
【００３６】
３２はラッチパルス信号（Ｓ４）に従ってラッチ回路３１の出力をラッチするラッチ回路である。ラッチ回路３２は、（ｂ）、（ｃ）、（ｄ）、（ｅ）及び（ｆ）タイプの画素の誤差を計算する場合に、ラッチ回路３２の出力を誤差Ｃ´としてラッチするように動作する。これにより、左上部の画素Ｃの誤差として各表示ラインの最終画素の誤差を現在フレームの各表示ラインの先頭画素に与えることができる。
【００３７】
３３は誤差拡散開始パルス（Ｓ３）に従って加算器２３の出力をラッチするラッチ回路である。ラッチ回路３３は、（ｄ）及び（ｇ）タイプの画素の誤差を計算する場合に、加算器２３の出力（誤差Ｅ´）をラッチするように動作する。誤差拡散開始パルスは、現在フレームの各表示ラインの先頭画素の誤差を算出するときに発生する。誤差拡散開始パルスが「Ｈ」から「Ｌ」レベルに変化すると、加算器２３の出力がラッチ回路３３にセットされる。これにより、右上部の画素Ｅの誤差として現在フレームの先頭画素の誤差を現在フレームの各表示ラインの最終画素に与えることができる。
【００３８】
３４は誤差拡散開始パルスに従ってラッチ回路３１の出力又はＦＦ回路２５の出力（誤差Ｂ´）のいずれかを選択するセレクタである。セレクタ３４は、図１に示したような（ａ）、（ｃ）、（ｄ）及び（ｇ）タイプの画素の誤差を計算する場合は、入力１側の誤差Ｂ´を選択するように動作するが、（ｂ）、（ｅ）及び（ｆ）タイプの画素の誤差を計算する場合は入力２側のラッチ回路３１の出力を選択するように動作する。
【００３９】
３５は誤差拡散開始パルスに従ってラッチ回路３２の出力又はＦＦ回路２７の出力（誤差Ｃ´）のいずれかを選択するセレクタである。セレクタ３５は、（ａ）、（ｇ）タイプの画素の誤差を計算する場合に、入力１側の誤差Ｃ´を選択するように動作するが、（ｂ）、（ｃ）、（ｄ）、（ｅ）及び（ｆ）タイプの画素の誤差を計算する場合は、入力２側のラッチ回路３２の出力を選択するように動作する。
【００４０】
３６は誤差拡散終了パルスに従ってラッチ回路３３の出力又はラインメモリ２４の出力（誤差Ｅ´）のいずれかを選択するセレクタである。セレクタ３６は、（ａ）、（ｅ）及び（ｆ）タイプの画素の誤差を計算する場合に、入力１側の誤差Ｅ´を選択するように動作するが、（ｂ），（ｃ），（ｄ），（ｇ）タイプの画素の誤差を計算する場合は、入力２側のラッチ回路３３の出力を選択するように動作する。
【００４１】
なお、３７は画素Ｂからの誤差に所定の重みα１＝７／16を乗算する乗算器、３８は画素Ｃからの誤差に重みα２＝１／16を乗算する乗算器、３９は画素Ｄからの誤差に重みα３＝５／16を乗算する乗算器、４０は重みα４＝３／16を画素Ｅかの誤差に乗算する乗算器である。４１は加算器３０の演算結果のうち誤差の桁上げ部分の下位のビットを誤差検出回路２０からの表示値に加算する加算器である。次式は、例えば、６ビットの表示値Ｘn , Ｘn-1 , Ｘn-2 , Ｘn-3 , Ｘn-4 , Ｘn-5 に、小数表示した誤差Ｙm ．Ｙm-1 , Ｙm-2 , Ｙm-3 , Ｙm-4 , Ｙm-5 を加算した場合の加算器３０の出力Ｚn , Ｚn-1 , Ｚn-2 , Ｚn-3 , Ｚn-4 , Ｚn-5 ．Ｙm-1 , Ｙm-2 , Ｙm-3 , Ｙm-4 , Ｙm-5 を示している。
【００４２】
【数１】
0003690860.tif 000002
【００４３】
Ｙm が桁上げ部分のビットであり、当該表示値の誤差に周辺の画素からの誤差を加算した結果キャリーが上がるとＸn-5 が変化する。Ｘn-5 が変化することにより表示値が補正できる。例えば、表示値が「１１１０００」の場合であって、キャリー＝１が上がると、表示値は「１１１００１」に補正され、表示値が「１１１００１」の場合であって、キャリー＝１が上がると、表示値は「１１１０１０」に補正されるようになる。
【００４４】
４２はマスク回路２２、２８〜３０、ラッチ回路３１〜３３、セレクタ３４〜３６及びラインメモリ２４の入出力を制御する制御部である。制御部４２は、垂直同期信号（Ｖ−ＳＹＮＣ）、水平同期信号（Ｈ−ＳＹＮＣ）及び誤差拡散範囲指定値に従って各マスク回路２８〜３０にマスク信号Ｓ１を出力し、マスク回路２２にマスク信号Ｓ２を出力し、ラインメモリ２４にリード制御信号及びライト制御信号を出力する。マスク信号Ｓ１及びＳ２は誤差拡散範囲を指定するときに「Ｈ」レベルにする。
【００４５】
また、制御部４２は、垂直同期信号、水平同期信号及び誤差拡散範囲指定値から、各表示ライン毎に誤差拡散開始位置と誤差拡散終了位置とを検出して誤差拡散開始パルスとラッチパルスと誤差拡散終了パルスとを発生する。誤差拡散開始パルスはセレクタ３４、３５及びラッチ回路３３に出力し、ラッチパルスはラッチ回路３２に出力し、誤差拡散終了パルスはラッチ回路３１、セレクタ３６に出力する。
【００４６】
次に、本実施の形態に係る誤差拡散回路の動作を説明する。図３は垂直方向に誤差を拡散する場合の動作タイミングチャートである。このタイムチャートは、入力画像の１フレームの垂直方向の画素Ｉ０〜Ｉ20のうち画素Ｉ２〜Ｉ18に誤差拡散範囲を指定した場合であり、表示ラインが１７本の場合を示している。
本実施の形態では、前フレームの最終表示ラインの最終画素の誤差Ｙ18ａ，Ｙ18ｂ…を周辺画素Ｃ，Ｄ，Ｅの誤差として使用する場合を示している。まず、誤差検出回路２０は、画像（輝度値）を入力し、従来例と同様に誤差が最も少なくなる表示値（輝度）Ｘ２及びそのときの誤差Ａ２を検出する。この表示値Ｘ２は第１表示ラインの先頭画素Ｉ２に該当する。表示値Ｘ２は、表示装置に表示すべき画素の輝度値である。
【００４７】
また、マスク回路２１は各表示ライン毎にマスク信号Ｓ１及びＳ２に基づいて誤差拡散範囲外の表示値をマスクするように動作し、画素の表示値Ｘ２は加算器４１に出力される。マスク回路２２はマスク信号Ｓ１に基づいて誤差拡散範囲外の誤差をマスクするように動作し、画素の誤差Ａ２は加算器２３に出力されるようになる。
【００４８】
加算器２３の演算結果で、桁上げ部分から下位のビットが累積誤差としてラインメモリ２４に書き込まれる。ラインメモリ２４はリード制御信号に基づいて加算器２３の出力を１表示ライン遅延してセレクタ３６に出力する。セレクタ３６は誤差拡散終了パルスに従ってラッチ回路３３の出力又はラインメモリ２４の出力をマスクした誤差Ｅ´のいずれかを選択するように動作する。このとき、セレクタ３６は、（ａ）、（ｅ）及び（ｆ）タイプの画素の誤差を計算する場合は、入力１の誤差Ｅ´を選択するように動作するが、（ｄ），（ｇ）タイプの画素の誤差を計算する場合は、入力２側のラッチ回路３３の出力を選択するように動作する。
【００４９】
同様に残りの表示ラインについても誤差検出回路２０は、表示値Ｘ３〜Ｘ18及び誤差Ａ３〜Ａ18を検出し、所定の誤差拡散処理を続けると、加算器２３はＹ2b〜Ｙ18ｂを出力するようになる。そして、最終表示ラインの最終画素Ｉ18の誤差Ｙ18ｂが得られると、次のフレームの第１表示ラインの周辺画素Ｃ，Ｄ，Ｅの誤差としてこれを使用する（図３▲１▼参照）。
【００５０】
ラインメモリ２４からの出力が、当該画素の右上の画素Ｅの誤差Ｅ´である。ラインメモリ２４の出力をＦＦ回路２６及びＦＦ回路２７により１クロックづつ遅延させると、当該画素Ａの真上の画素Ｄの誤差Ｄ´、画素Ａの左上の画素Ｃの誤差Ｃ´が得られる。
そして、乗算器３７は画素Ｂからの誤差に重みα１＝７／16を乗算し、乗算器３８は画素Ｃからの誤差に重みα２＝１／16を乗算し、乗算器３９は画素Ｄからの誤差に重みα３＝５／16を乗算し、乗算器４０は重みα４＝３／16を画素Ｅかの誤差に乗算するように動作する。この結果、加算器４１は加算器３０の演算結果でキャリーが発生すると、この桁上げビット＝「１」を誤差検出回路２０からの表示値に加算するように動作する。これにより、加算器４１は表示信号としてＺ２〜Ｚ18を表示装置に出力する。新たな誤差は第２フレームの画素に拡散して行く。
【００５１】
図４は水平方向に誤差を拡散する場合の動作タイミングチャートを示している。このタイムチャートは、入力画像の１表示ラインの水平方向の画素のうち１７画素に誤差拡散範囲を指定した場合であり、表示画素が１７個の場合を示している。
図４において、▲１▼は、図１に示したように右上の画素Ｅからの誤差として第１表示ラインの先頭画素の誤差を当該表示ラインの最終画素に与える場合を示している。この場合、誤差検出回路２０が表示値Ｘ２及びそのときの誤差Ａ２を検出し、マスク回路２１がマスク信号Ｓ２に基づいて誤差拡散範囲以外の表示値をマスクし、マスク回路２２がマスク信号Ｓ１に基づいて誤差拡散範囲以外の誤差をマスクするように動作する。また、加算器２３はラッチ回路３３に演算結果（誤差）Ｙ２ａを出力する。ラッチ回路３３は誤差拡散開始パルスＳ３に基づいて誤差Ｙ２ａを１水平期間だけラッチする。
【００５２】
セレクタ３６は誤差拡散終了パルスに従って（ｄ），（ｇ）タイプの画素の誤差を計算するべく、入力２側のラッチ回路３３の出力を選択するように動作する。これにより、右上の画素Ｅからの誤差として第１表示ラインの先頭画素の誤差を当該表示ラインの最終画素の誤差に加算することができる。
▲２▼は、左隣の画素Ｂからの誤差として第１表示ラインの最終画素の誤差を第２表示ラインの先頭画素に与える場合を示している。この場合、誤差検出回路２０が表示値Ｘ18及びそのときの誤差Ａ18を検出し、マスク回路２１が当該画素の表示値以外をマスクし、マスク回路２２が誤差拡散範囲以外の誤差をマスクするように動作する。また、加算器２３はラッチ回路３１に演算結果（誤差）Ｙ18ａを出力する。そして、ラッチ回路３１は誤差Ｙ18ａを誤差拡散終了パルスＳ５に基づいて１水平期間だけラッチし、セレクタ３４は誤差拡散終了パルスに従って（ｂ）、（ｅ）タイプの画素の誤差を計算するべく、入力２側のラッチ回路３１の出力を選択するように動作する。これにより、左隣の画素Ｂからの誤差として第１表示ラインの最終画素の誤差を第２表示ラインの先頭画素の誤差に加算することができる。
【００５３】
▲３▼は、左上の画素Ｃからの誤差として、第１表示ラインの最終画素の誤差を第３表示ラインの先頭画素に与える場合を示している。この場合、加算器２３の演算結果Ｙ18ａが、ラッチパルスに基づいてラッチ回路３２によりラッチされる。そして、セレクタ３５は誤差拡散終了パルスに従って（ｂ）、（ｅ）、（ｆ）タイプの画素の誤差を計算するべく、入力２側のラッチ回路３２の出力を選択するように動作する。これにより、左上の画素Ｃからの誤差として第１表示ラインの最終画素の誤差を第３表示ラインの先頭画素の誤差に加算することができる。
【００５４】
▲４▼は、右上の画素Ｅからの誤差として第２表示ラインの先頭画素の誤差を当該表示ラインの最終画素に与える場合を示している。この場合、誤差検出回路２０が表示値Ｘ２及びそのときの誤差Ａ２を検出し、マスク回路２１が誤差拡散範囲以外の表示値をマスクし、マスク回路２２が誤差拡散範囲以外の誤差をマスクするように動作する。また、加算器２３はラッチ回路３３に演算結果Ｙ２ｂを出力する。
【００５５】
セレクタ３６は誤差拡散終了パルスに従って（ｄ），（ｇ）タイプの画素の誤差を計算するべく、入力２側のラッチ回路３３の出力を選択するように動作する。これにより、右上の画素Ｅからの誤差として第２表示ラインの先頭画素の誤差を当該表示ラインの最終画素の誤差に加算することができる。
▲５▼は、左隣の画素Ｂからの誤差として第２表示ラインの最終画素の誤差を第３表示ラインの先頭画素に与える場合を示している。この場合、誤差検出回路２０が表示値Ｘ18及びそのときの誤差Ａ18を検出し、マスク回路２１が誤差拡散範囲以外の表示値をマスクし、マスク回路２２が誤差拡散範囲以外の誤差をマスクするように動作する。また、加算器２３はラッチ回路３１に誤差Ｙ18ｂを出力する。そして、ラッチ回路３１は誤差Ｙ18ｂを１水平期間だけラッチし、セレクタ３４は誤差拡散終了パルスに従って（ｂ）、（ｅ）タイプの画素の誤差を計算するべく、入力２側のラッチ回路３１の出力を選択するように動作する。これにより、左隣の画素Ｂからの誤差として第２表示ラインの最終画素の誤差を第３表示ラインの先頭画素の誤差に加算することができる。
【００５６】
▲６▼は、右上の画素Ｅからの誤差として第３表示ラインの先頭画素の誤差を当該表示ラインの最終画素の誤差の計算に使用する場合を示している。この場合、誤差検出回路２０は表示値Ｘ２及びそのときの誤差Ａ２を検出し、マスク回路２１がマスク信号Ｓ２に基づいて誤差拡散範囲以外の表示値をマスクし、マスク回路２２がマスク信号Ｓ１に基づいて誤差拡散範囲以外の誤差をマスクするように動作する。また、加算器２３はラッチ回路３３に誤差Ｙ２ｂを出力する。ラッチ回路３３は誤差Ｙ２ｂを１水平期間だけラッチし、セレクタ３６は誤差拡散終了パルスに従って（ｄ），（ｇ）タイプの画素の誤差を計算するべく、入力２側のラッチ回路３３の出力を選択するように動作する。これにより、右上の画素Ｅからの誤差として第２表示ラインの先頭画素の誤差を当該表示ラインの最終画素の誤差に加算することができる。
【００５７】
このようにして、本発明の第１の実施の形態に係る画像処理装置によれば、図１に示すように、左上部の画素Ｃ、真上の画素Ｄ及び右上部の画素Ｅから拡散されてくる誤差として、前フレームの最終表示ライン（ｎ）の各画素の誤差を現在フレームの第１表示ラインの（ｂ）、（ｃ）及び（ｄ）タイプの画素の誤差に加算することにより、これら（ｂ）、（ｃ）及び（ｄ）タイプの画素で不足している誤差を補うことができる。したがって、最初から大きな誤差をこれらの画素に与えることができるので、表示画面の左上部（誤差拡散開始点）の輝度ムラを無くすことができる。
【００５８】
また、本発明の第１の実施の形態では、右上部の画素Ｅから拡散されてくる誤差として、当該表示画像の現在のフレームの各々の表示ラインの先頭画素の誤差を現在フレームの各々の表示ラインの（ｄ），（ｇ）タイプの最終画素の誤差に加算することにより、これら（ｄ），（ｇ）タイプの最終画素で不足している誤差を補うことができる。したがって、各表示ラインの最終画素に大きな誤差データを拡散することができるので、表示画面の右側の輝度ムラを無くすことができる。
【００５９】
更に、本発明の第１の実施の形態では、左隣の画素Ｂから拡散されてくる誤差として、当該表示画像の現在のフレームの各々の表示ラインの最終画素の誤差を現在フレームの各々の表示ラインの（ｂ），（ｅ）及び（ｆ）タイプの先頭画素の誤差に加算することにより、これら（ｂ），（ｅ）及び（ｆ）タイプの先頭画素で不足している誤差を補うことができる。したがって、各表示ラインの先頭画素に大きな誤差を拡散することができるので、表示画面の左側の輝度ムラを無くすことができる。なお、ラッチ回路とセレクタの追加で回路が構成でき、簡単に輝度が補正できる。
【００６０】
（２）第２の実施の形態
図５は、本発明の第２の実施の形態に係る誤差拡散処理の説明図を示している。第２の実施の形態では第１の実施の形態と異なり、「表示画像のフレーム間には相関性がある」ということを利用して表示画面の端部の画素の誤差を算出するものである。一般に、ディスプレイは１秒間に数十フレーム（ＴＶ画像の場合には約６０フレーム）の画像を連続して表示しており、フレーム間の絵柄には大きな差異は無く相関性を持っている。さらに、同一のフレーム内のある表示ラインの画素に着目すると、その画素の周辺画素の輝度レベルが大きく変化する場合は少なく、相関性があるといって良い。
【００６１】
そこで、本実施の形態では、まず、表示画面の現在フレームの端部の領域をｍ×ｎの画素のブロックに分割し、そのブロック内の画素が持つ誤差成分の平均値を算出し、次のフレームにおいて、前フレームの各ブロックで算出した平均誤差をそれぞれ表示画面の端部に位置する画素に拡散させるようにする。このようにすると相関性のある値で当該画素の誤差を算出することができるようになる。
【００６２】
図５（Ａ）において、Ｌはある表示画面の現在フレームであり、（１）〜（13）はブロックを示している。（１）〜（７）ブロックは第１表示ライン〜第４表示ラインに位置する４×２８の画素を７つに分割したものである。（８），（10），（12）ブロックは第５表示ライン〜第16表示ラインの先頭ドットから４ドットまでの４×１６の画素を３つに分割したものである。（９），（11），（13）ブロックは第５表示ライン〜第16表示ラインの最終ドットから手前４ドットまでの４×１２の画素を３つに分割したものである。各ブロックは４×４の画素で構成するようになる。各ブロックの平均誤差は、各画素の誤差を全て加算し、この加算値を１６分の１したものである。
【００６３】
図５（Ｂ）において、Ｌ＋１はこの表示画面の次のフレームである。本実施の形態ではブロック（１）で求めた平均誤差は、当該表示画面の第１表示ラインの先頭画素〜第４画素及び第２〜第４表示ラインの各先頭画素の誤差を算出するときに、左隣の画素Ｂ、左上の画素Ｃ及び真上の画素Ｄの各々の誤差として使用する。ブロック（２）で求めた平均誤差は、第１表示ラインの第１画素〜第１２画素の誤差を算出するときに、右上の画素Ｅ、真上の画素Ｄ及び左上の画素Ｃの各々の誤差として使用する。ブロック（３）で求めた平均誤差は、第１表示ラインの第５画素〜第１６画素の誤差を算出するときに、右上の画素Ｅ、真上の画素Ｄ及び左上の画素Ｃの各々の誤差として使用する。ブロック（４）で求めた平均誤差は、第１表示ラインの第９画素〜第２０画素の誤差を算出するときに、右上の画素Ｅ、真上の画素Ｄ及び左上の画素Ｃの各々の誤差として使用する。ブロック（５）で求めた平均誤差は、第１表示ラインの第１３画素〜第２４画素の誤差を算出するときに、右上の画素Ｅ、真上の画素Ｄ及び左上の画素Ｃの各々の誤差として使用する。ブロック（６）で求めた平均誤差は、第１表示ラインの第１７画素〜第２８画素の誤差を算出するときに、右上の画素Ｅ、真上の画素Ｄ及び左上の画素Ｃの各々の誤差として使用する。ブロック（７）で求めた平均誤差は、第１表示ラインの第２１画素〜第２８画素及び第２〜第４表示ラインの最終画素の誤差を算出するときに、右上の画素Ｅ及び真上の画素Ｄの各々の誤差として使用する。
【００６４】
また、ブロック（８）で求めた平均誤差は、第５〜第８表示ラインの先頭画素の誤差を算出するときに、左隣の画素Ｂ及び左上の画素の誤差として使用する。ブロック（９）で求めた平均誤差は、第５〜第８表示ラインの最終画素の誤差を算出するときに、右上の画素Ｅの誤差として使用する。ブロック（10）で求めた平均誤差は、第９〜第12表示ラインの先頭画素の誤差を算出するときに、左隣の画素Ｂ及び左上の画素の誤差として使用する。ブロック（11）で求めた平均誤差は、第９〜第12表示ラインの最終画素の誤差を算出するときに、右上の画素Ｅの誤差として使用する。ブロック（12）で求めた平均誤差は、第13〜第16表示ラインの先頭画素の誤差を算出するときに、左隣の画素Ｂ及び左上の画素の誤差として使用する。ブロック（13）で求めた平均誤差は、第13〜第16表示ラインの最終画素の誤差を算出するときに、右上の画素Ｅの誤差として使用する。
【００６５】
次に、このようなブロック（１）〜（13) の平均誤差を表示画面の端部の画素に与える誤差拡散回路について説明する。図６は第２の実施の形態に係る誤差拡散回路の構成図を示している。図６において、５１は誤差検出回路、５２、２２、７４〜７６はマスク回路、５３は加算器である。
５４はイネーブル信号Ｓｅに従って加算器５３の出力を加算し、各ブロックの誤差を累積する加算器である。５５は加算器５４の出力を１クロックだけ保持するフリップ・フロップ回路（以下ＦＦ回路という）である。５６は各ブロックの誤差を記憶するメモリである。メモリ５６は２フレーム分の累積誤差を蓄積する容量を持せるようにする。メモリ５６は、１フレーム目の累積誤差を記憶する領域Ｍ１及び２フレーム目の累積誤差を記憶する領域Ｍ２とを設けている。
【００６６】
５７は切り換え信号Ｓａに基づいて１表示ライン毎にＦＦ回路５５の出力又はメモリ５６の出力をいずれかを選択するセレクタである。５８はメモリ５６の出力から各ブロックの平均誤差を算出する演算器である。演算器５８は各ブロックの誤差をブロック内の画素数４×４で除算することにより平均誤差を算出するように動作する。５９はリード制御信号ＳＲ及びライト制御信号ＳＷに基づいて加算器５３の出力を１水平期間だけ遅らせるラインメモリである。
【００６７】
６０はラッチパルスＰ１に従って演算器５８の出力（各ブロックの平均誤差）をラッチするラッチ回路である。ラッチ回路６０は、第１の実施の形態で説明したような（ｂ）、（ｅ）及び（ｆ）タイプの画素の誤差を計算する場合に、加算器５３の出力（誤差Ｂ´）をラッチするように動作する。これにより、左隣の画素Ｂの誤差として前フレームのブロック（１），（８），（10），（12）の各々の平均誤差を現在フレームの第１〜第１６表示ラインの先頭画素に与えることができる。
【００６８】
６１はラッチパルスＰ２に従って演算器５８の出力をラッチするラッチ回路である。ラッチ回路６１は、同様に（ｂ）、（ｃ）、（ｄ）、（ｅ）及び（ｆ）タイプの画素の誤差を計算する場合に、演算器５８の出力を誤差Ｃ´としてラッチするように動作する。これにより、前フレームのブロック（１）〜（８），（10），（12）の各平均誤差を左上部の画素Ｃの誤差として現在フレームの第１表示ラインの画素及び第１〜第１６表示ラインの先頭画素に与えることができる。
【００６９】
６２はラッチパルスＰ３に従って演算器５８の出力をラッチするラッチ回路である。ラッチ回路６２は、（ｂ）、（ｃ）及び（ｄ）タイプの画素の誤差を計算する場合に、演算器５８の出力を誤差Ｄ´としてラッチするように動作する。これにより、前フレームのブロック（１）〜（７）の各平均誤差を真上の画素Ｄの誤差として第１表示ラインの各画素に与えることができる。
【００７０】
６３はラッチパルスＰ４に従って演算器５８の出力をラッチするラッチ回路である。ラッチ回路６３は、（ｄ）及び（ｇ）タイプの画素の誤差を計算する場合に、演算器５８の出力（誤差Ｅ´）をラッチするように動作する。これにより、前フレームのブロック（７），（９），（11），（13）の各平均誤差を右上部の画素Ｅの誤差として現在フレームの各表示ラインの最終画素に与えることができる。なお、６４〜６６はラッチパルスＰ５に基づいて各ラッチ回路６１〜６３の出力タイミングを揃えるラッチ回路である。７１、７２、７３はＦＦ回路であり、第１の実施の形態に係るＦＦ回路２５〜２７と同じ機能を有している。
【００７１】
６７はセレクト信号ＳＳ１に従ってラッチ回路６０の出力又はＦＦ回路７１の出力をマスクした誤差Ｂ´のいずれかを選択するセレクタである。セレクタ６７は、図１に示したような（ａ）、（ｃ）、（ｄ）及び（ｇ）タイプの画素の誤差を計算する場合には、入力１側の誤差Ｂ´を選択するように動作するが、（ｂ）、（ｅ）及び（ｆ）タイプの画素の誤差を計算する場合には入力２側のラッチ回路６０の出力を選択するように動作する。
【００７２】
６８はセレクト信号ＳＳ２に従ってラッチ回路６４の出力又はＦＦ回路７３の出力をマスクした誤差Ｃ´のいずれかを選択するセレクタである。セレクタ６８は、（ａ）、（ｇ）タイプの画素の誤差を計算する場合に、入力１側の誤差Ｃ´を選択するように動作するが、（ｂ）、（ｃ）、（ｄ）、（ｅ）及び（ｆ）タイプの画素の誤差を計算する場合は、入力２側のラッチ回路６４の出力を選択するように動作する。
【００７３】
６９はセレクト信号ＳＳ２に従ってラッチ回路６５の出力又はＦＦ回路７２の出力をマスクした誤差Ｄ´のいずれかを選択するセレクタである。セレクタ６９は、（ａ）、（ｆ）、（ｇ）タイプの画素の誤差を計算する場合に、入力１側の誤差Ｄ´を選択するように動作するが、（ｂ）、（ｃ）及び（ｄ）タイプの画素の誤差を計算する場合は、入力２側のラッチ回路６５の出力を選択するように動作する。
【００７４】
７０はセレクト信号ＳＳ３に従ってラッチ回路６６の出力又はラインメモリ５９の出力をマスクした誤差Ｅ´のいずれかを選択するセレクタである。セレクタ７０は、（ａ）、（ｅ）及び（ｆ）タイプの画素の誤差を計算する場合に、入力１側の誤差Ｅ´を選択するように動作するが、（ｂ），（ｃ），（ｄ），（ｇ）タイプの画素の誤差を計算する場合は、入力２側のラッチ回路６６の出力を選択するように動作する。
【００７５】
なお、７７〜８０は乗算器であり、第１の実施の形態に係る乗算器３７〜４０と同じ機能を有している。８１は加算器７６の演算結果のうち誤差の桁上げ部分の下位のビットを誤差検出回路５１からの表示値に加算する加算器である。計算式は第１の実施の形態で示している。
８２はマスク回路５２、７４〜７６、加算器５４、メモリ５６、セレクタ５７、演算器５８、ラインメモリ５９、ラッチ回路６０〜６６及びセレクタ６７〜７０の入出力を制御する制御部である。制御部８２は第１の実施の形態で説明した制御部４２の機能に加えて次のような機能を有している。制御部８２は誤差拡散開始位置と誤差拡散終了位置とを検出してラッチパルスＰ１〜Ｐ５及びセレクタ信号ＳＳ１〜ＳＳ３を発生する。ラッチパルスＰ１〜Ｐ５は、各ブロックが誤差を演算する直前に制御部８２から各ラッチ回路に出力され、セレクタ信号ＳＳ１〜ＳＳ３は、図１に示すような（ａ）タイプの画素の誤差の算出と、（ｂ）〜（ｇ）タイプの画素の誤差の算出との切り換えに使用している。
【００７６】
制御部８２は、各ブロック（１）〜（13）で誤差を算出するときに、加算器５４にイネーブル信号Ｓｅを出力し、セレクタ５７に切り換え信号Ｓａを出力する。イネーブル信号Ｓｅは当該ブロック内の画素のみの誤差を加算するために、各表示ライン及び各ブロック（１）〜（13）毎にリセットされる。切り換え信号Ｓａは前の表示ラインで加算した誤差を次の表示ラインの誤差に加算するための信号であり、セレクタ５７に出力される。
【００７７】
制御部８２は、メモリ領域Ｍ１に各ブロック（１）〜（13）の誤差を書込むようにライトアドレス（ＡＤＤ）を指定し、ライトイネーブル信号ＷＥを出力してメモリ５６を制御する。また、制御部８２は平均誤差（ＤＡＴＡ）を誤差拡散回路に与えるときに、メモリ５６にリードイネーブル信号ＲＥを出力する。更に、制御部８２はブロック分割情報からブロック内画素数を求め、この画素数を演算器５８に出力する。他の構成及び第１の実施の形態と同じ名称のものは、同じ機能を有するため、その説明を省略する。
【００７８】
次に、本実施の第２の形態に係る誤差拡散回路の動作を説明する。図７（Ａ）及び（Ｂ）は、誤差拡散回路のブロック内誤差算出時の動作タイミングチャートである。図７（Ａ）は、第１表示ラインの７つブロックの累積誤差の算出タイムチャートである。図７（Ａ）において、加算器５３は第１表示ラインのブロック（１）の誤差Ａ０〜Ａ３を加算器５４に出力し、同様にブロック（２）の誤差Ｂ０〜Ｂ３、ブロック（３）の誤差Ｃ０〜Ｃ３、ブロック（４）の誤差Ｄ０〜Ｄ３、ブロック（５）の誤差Ｅ０〜Ｅ３、ブロック（６）の誤差Ｆ０〜Ｆ３、及びブロック（７）の誤差Ｇ０〜Ｇ３を順次加算器５４に出力するように動作する。加算器５４の出力はＦＦ回路５５により１クロック遅延され、ここで遅延された誤差ａ０〜ａ３、ｂ０〜ｂ３、ｃ０〜ｃ３、ｄ０〜ｄ３、ｅ０〜ｅ３、ｆ０〜ｆ３及びｇ０〜ｇ３は、切り換え信号Ｓａに従ってセレクタ５７により選択される。セレクタ５７がＦＦ回路５５の出力を選択することにより、誤差ａ０〜ａ３、ｂ０〜ｂ３、ｃ０〜ｃ３、ｄ０〜ｄ３、ｅ０〜ｅ３、ｆ０〜ｆ３及びｇ０〜ｇ３は加算器５４にフィードバックされる。
【００７９】
そして、加算器５４はイネーブル信号Ｓｅに基づいて第１表示ラインの各ブロック毎に誤差ａ０〜ａ３、ｂ０〜ｂ３、ｃ０〜ｃ３、ｄ０〜ｄ３、ｅ０〜ｅ３、ｆ０〜ｆ３及びｇ０〜ｇ３を順次加算する。このとき制御部８２は各ブロック毎に誤差が加算されると、ライトアドレス（ＡＤＤ＝ａａ）を指定してブロック（１）の第１表示ラインの累積誤差ａｍ＝ａ０〜ａ３をメモリ領域Ｍ１に書き込む。制御部８２はライトイネーブル信号ＷＥをメモリ５６に出力する。他のブロック（２）〜（７）の累積誤差ｂｍ＝ｂ０〜ｂ３、ｃｍ＝ｃ０〜ｃ３、ｄｍ＝ｄ０〜ｄ３、ｅｍ＝ｅ０〜ｅ３、ｆｍ＝ｆ０〜ｆ３及びｇｍ＝ｇ０〜ｇ３も制御部８２はライトアドレス（ＡＤＤ＝ａｂ，ａｃ…）を指定し、ライトイネーブル信号ＷＥを出力して同様に書き込む。次のフレームの場合（Ｌ＋１）には、メモリ領域をＭ１からＭ２に変えるためにライトアドレスＡＤＤはｂｂ，ｂｂ，ｂｃ…を指定するようにする。
【００８０】
また、図７（Ｂ）は、第２表示ラインの７つブロックの累積誤差の算出タイムチャートを示している。図７（Ｂ）において、加算器５３は第２表示ラインのブロック（１）の誤差Ａ０〜Ａ３を加算器５４に出力し、同様にブロック（２）の誤差Ｂ０〜Ｂ３、ブロック（３）の誤差Ｃ０〜Ｃ３、ブロック（４）の誤差Ｄ０〜Ｄ３、ブロック（５）の誤差Ｅ０〜Ｅ３、ブロック（６）の誤差Ｆ０〜Ｆ３、及びブロック（７）の誤差Ｇ０〜Ｇ３を順次加算器５４に出力するように動作する。
【００８１】
第１表示ラインの動作と異なるのは、第２の表示ラインでは、メモリ領域Ｍ１に記憶した第１表示ラインの累積誤差ａｍ、ｂｍ、ｃｍ、ｄｍ、ｅｍ、ｆｍ及びｇｍを読出し、これを当該表示ラインの誤差に加算するものである。具体的には、制御部８２がセレクタ５７に切り換え信号Ｓａを出力すると、セレクタ５７がメモリ５６の出力を選択することにより、第１表示ラインで得た累積誤差ａｍ、ｂｍ、ｃｍ、ｄｍ、ｅｍ、ｆｍ及びｇｍが加算器５４にフィードバックされる。そして、ＦＦ回路５５によって遅延された加算器５３からの誤差ａ０〜ａ２、ｂ０〜ｂ２、ｃ０〜ｃ２、ｄ０〜ｄ２、ｅ０〜ｅ２、ｆ０〜ｆ２及びｇ０〜ｇ２に累積誤差ａｍ、ｂｍ、ｃｍ、ｄｍ、ｅｍ、ｆｍ及びｇｍが加算される。これにより、制御部８２は各ブロック毎に累積誤差が加算されると、ライトアドレス（ＡＤＤ＝ａａ）を指定してメモリ領域Ｍ１にブロック（１）の第２表示ラインの誤差を書き込む。他のブロック（２）〜（７）の累積誤差もライトアドレス（ＡＤＤ＝ａｂ，ａｃ…）を指定し、ライトイネーブル信号ＷＥを出力して同様に書き込む。このような動作を繰り返し、図５に示したような第１表示ラインから第４表示ラインに至る７つのブロックの累積誤差を各々メモリ５６に記憶することができる。
【００８２】
これ以降の動作では、７つのブロック（１）〜（７）の各々の累積誤差の平均値を求め、次のフレームの第１表示ラインの全画素に平均誤差を拡散するようにする。
図８は、本発明の実施の形態に係る誤差拡散回路の動作タイムチャート（ラッチ書込み時）である。本実施の形態では、表示画面のフレーム間の空き時間から演算器５８で各ブロックの平均値を計算し始め、次のフレームの第１表示ラインの先頭画素の誤差計算の直前に、これらの平均誤差（ＤＡＴＡ）をラッチ回路６０〜６３でラッチする。
【００８３】
図８において、制御部８２は誤差計算の直前に、メモリ５６にリードイネーブル信号ＲＥを出力し、演算器５８にブロック内画素数を指定する。すると、メモリ５６から読み出された各ブロック（１）〜（７）の累積誤差ａｍ、ｂｍ、ｃｍ、ｄｍ、ｅｍ、ｆｍ及びｇｍはブロック内画素数（４×４）で除算される。これが各ブロック毎の平均誤差である。この平均誤差はラッチ回路６０，６１，６２，６３に与えられる。
【００８４】
ラッチ回路６０は、ラッチパルスＰ１に基づいて演算器５８の出力（ブロック（１）の平均誤差）をラッチし、ラッチ回路６１はラッチパルスＰ２に基づいて演算器５８の出力をラッチし、ラッチ回路６２はラッチパルスＰ３に従って演算器５８の出力をラッチする。そして、ラッチ回路６３はラッチパルスＰ４に従って演算器５８の出力（ブロック（２）の平均誤差）をラッチする。その後、ラッチ回路６４〜６６は、ラッチパルスＰ５に基づいて各ラッチ回路６１〜６３の出力タイミングを揃えるように動作する。
【００８５】
そして、制御部８２がセレクタ６７にセレクト信号ＳＳ１を出力し、セレクタ６８及び６９にセレクト信号ＳＳ２を出力し、セレクタ７０にセレクト信号ＳＳ３を出力すると、セレクタ６７は、入力２側のラッチ回路６０の出力を選択するように動作し、セレクタ６８は入力２側のラッチ回路６４の出力を選択するように動作し、セレクタ６９は入力２側のラッチ回路６５の出力を選択するように動作し、セレクタ７０は入力２側のラッチ回路６６の出力を選択するように動作する。
【００８６】
これにより、セレクタ６７は左隣の画素の誤差として、ブロック（１）の平均誤差を第１表示ラインの先頭画素に与え、セレクタ６８は左上部の画素の誤差としてブロック（１）の平均誤差を第１表示ラインの先頭画素に与え、セレクタ６９は真上の画素の誤差としてブロック（１）の平均誤差を第１表示ラインの先頭画素に与え、セレクタ７０は右上の画素の誤差としてブロック（２）の平均誤差を第１表示ラインの先頭画素に与えるように動作する。このような動作を繰り返し、図５に示したような第１表示ラインの７つのブロックの平均誤差を使用して各々の画素の誤差を算出することができる。
【００８７】
なお、図９は、本発明の第２の実施の形態に係る誤差拡散回路の動作タイムチャート（第２表示ライン以降）である。第２表示ライン以降では、表示画面の各表示ラインの先頭画素に、ブロック（１），（８），（10）及び（12）の平均誤差を与えて累積誤差を算出し、また、各表示ラインの最終画素に、ブロック（７），（９），（11）及び（13）の平均誤差を与えて累積誤差を算出するようにする。
【００８８】
したがって、先頭画素の誤差演算のときは、ラッチ回路６０がラッチパルスＰ１に基づいて演算器５８の出力（ブロック（１）の平均誤差）をラッチする。他のラッチ回路６１〜６３は非動作である。そして、最終画素の誤差演算のときは、ラッチ回路６３がラッチパルスＰ４に基づいて演算器５８の出力（ブロック（７）の平均誤差）をラッチし、ラッチ回路６３が動作する。他のラッチ回路６０〜６２、６４、６５は非動作である。このときセレクタ６７は、入力２側のラッチ回路６０の出力を選択するように動作する。先頭画素の除く最終画素に至るまではセレクタ６７は、入力１側のＦＦ回路７１の出力を選択するように動作し、セレクタ６８は入力１側のＦＦ回路７３の出力を選択するように動作し、セレクタ６９は入力１側のラインメモリ５９の出力を選択するように動作する。なお、最終画素に至るとセレクタ７０は入力２側のラッチ回路６６の出力を選択するように動作する。
【００８９】
これにより、セレクタ６７は左隣の画素の誤差として、ブロック（１）の平均誤差を第２表示ラインの先頭画素に与え、セレクタ７０は右上の画素の誤差としてブロック（７）の平均誤差を第２表示ラインの最終画素に与えるように動作する。このような動作を繰り返すことにより、図５に示したような表示画面の各表示ラインの先頭画素に、ブロック（１），（８），（10）及び（12）の平均誤差を与えて累積誤差を算出すること、及び、各表示ラインの最終画素に、ブロック（７），（９），（11）及び（13）の平均誤差を与えて累積誤差を算出することができる。
【００９０】
このようにして、本発明の第２の実施の形態に係る画像処理装置では、当該表示画像の現在のフレームの第１表示ラインから第４表示ラインに至る間の４×２８の画素を７つのブロックに分割し、このブロック（１）〜（７）毎に平均誤差を求め、このブロック毎に求めた平均誤差を左上部の画素Ｃ、真上の画素Ｄ、右上部の画素Ｅから拡散されてくる誤差として、次のフレームの第１表示ラインの各々の画素の誤差に加算している。
【００９１】
このため、第１表示ラインの各々の画素に最初から大きな誤差が与えられるので、表示画面の上部の画素の誤差不足分を各ブロック（１）〜（７）の平均誤差によって補うことができる。これにより、表示画面の上部の輝度ムラが無くなり、ＰＤＰや液晶ディスプレイ等の表示品質を向上させることができる。
また、本実施の形態では、当該表示画像の現在のフレームの各々の表示ラインの先頭画素から４画素に至る間の４×１６ラインの画素を４つブロックに分割し、このブロック（１），（８），（10），（12）毎に平均誤差を求め、ブロック毎に求めた平均誤差を左隣の画素Ｂ及び左上部の画素Ｃから拡散されてくる誤差として、次のフレームの各々の表示ラインの先頭画素の誤差に加算している。
【００９２】
このため、各々の表示ラインの先頭画素に最初から大きな誤差が与えられるので、表示画面の左側部分の画素の誤差不足分を各ブロック（１），（８），（10），（12）の平均誤差によって補うことができる。これにより、表示画面の左側部分の輝度ムラが無くなる。
更に、本実施の形態では、当該表示画像の現在のフレームの各々の表示ラインの最終画素から４つの前の画素に至る間の４×１６ラインの画素を４つブロックに分割し、このブロック（７），（９），（11），（13）毎に平均誤差を求め、ブロック毎に求めた平均誤差を右上部の画素Ｅから拡散されてくる誤差として、次のフレームの各々の表示ラインの最終画素の誤差に加算している。このため、これらの最終画素に最初から大きな誤差を与えることができるので、表示画面の右側部分の輝度ムラが無くなる。
【００９３】
（３）本実施の形態と従来技術との比較
図１０〜図１９は本発明の実施の形態に係る誤差拡散画像と従来例に係る誤差拡散画像とを比較する図を示している。いずれも図も画像を写真に撮ったものを複写したものである。図１０（Ａ）は従来方式の誤差拡散回路により得られた拡散画像であり、図１０（Ｂ）は本発明に係る誤差拡散回路により得られた拡散画像を示している。この画像は２５６階調を持つ信号を画面の左から右に向けて誤差拡散処理をし、２階調化表示（白と黒の画像）したものである。
【００９４】
従来方式では全てのフレームの左上部（誤差拡散開始位置）が丸くなっており、輝度むらが現れている。これに対して、本発明では第１フレームでは他からの誤差が拡散されない（電源投入時）ので、左上部（誤差拡散開始位置）が丸くなっているが、第２フレーム以降では、この丸みが消え、左上部に輝度むらが無くなっていることが明確である。
【００９５】
図１１（Ａ）は画面の上から下に向けて誤差拡散処理をした従来方式の誤差拡散画像であり、図１１（Ｂ）は本発明に係る誤差拡散画像を示している。この場合にも、従来方式では全てのフレームの左上部が丸くなっており輝度むらが現れている。これに対して、本発明では全てのフレームで丸みが消え、左上部に輝度むらが無くなっている。
【００９６】
図１２（Ａ）は従来方式の誤差拡散画像であり、図１２（Ｂ）は本発明に係る誤差拡散画像を示している。この画像は、画面の左から右に向けて、白から黒に階調を減少させ、黒になった時点で再び白に向かって階調が増加していくように誤差拡散処理をしたものである。この場合にも、従来方式では全てのフレームの中央部が丸く括れており輝度むらが現れている。これに対して、本発明では第２のフレーム以降では括れが消え、画面の中央部の輝度むらが無くなっている。
【００９７】
図１３（Ａ）は従来方式の誤差拡散画像であり、図１３（Ｂ）は本発明に係る誤差拡散画像を示している。この画像は、画面の上から下に向けて、白から黒に階調を減少させ、黒になった時点で再び白に向かって階調が増加していくように誤差拡散処理をしたものである。この場合にも、従来方式では全てのフレームの中央部が丸く括れており輝度むらが現れている。これに対して、本発明では全てで括れが消え、画面の中央部の輝度むらが無くなっている。
【００９８】
【発明の効果】
以上説明したように、本発明の画像処理装置では、前フレームの特定画素の誤差データを現在フレームの第１表示ラインの各画素及び第２表示ラインの先頭画素の各々の誤差データに加算することにより、表示画面の左上部（誤差拡散開始点）の輝度を補うことができる。したがって、これらの画素に最初から大きな誤差データを与えることができるので、表示画面の左上部の輝度むらが無くなる。
【００９９】
本発明の他の画像処理装置では、ブロック毎に求めた誤差データの平均値を次のフレームの第１表示ラインの画素の誤差データに加算することにより、表示画面の左上部の輝度を補うことができる。したがって、表示画面の左上部の輝度むらが無くなる。
これにより、プラズマディスプレイや液晶表示装置の表示品質の向上に寄与するところが大きい。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る誤差拡散処理の説明図である。
【図２】本発明の第１の実施の形態に係る誤差拡散回路の構成図である。
【図３】本発明の第１の実施の形態に係る誤差拡散回路の動作タイミングチャート（垂直方向）である。
【図４】本発明の第１の実施の形態に係る誤差拡散回路の動作タイミングチャート（水平方向）である。
【図５】本発明の第２の実施の形態に係る誤差拡散処理の説明図である。
【図６】本発明の第２の実施の形態に係る誤差拡散回路の構成図である。
【図７】本発明の第２の実施の形態に係る誤差拡散回路のブロック内誤差算出時の動作タイミングチャートである。
【図８】本発明の第２の実施の形態に係る誤差拡散回路のラッチ書込み時の動作タイミングチャートである。
【図９】本発明の第２の実施の形態に係る誤差拡散回路の動作タイミングチャート（第２表示ライン以降）である。
【図１０】本発明に係る誤差拡散像と従来例の誤差拡散画像とを比較する写真図（その１）である。
【図１１】本発明に係る誤差拡散像と従来例の誤差拡散画像とを比較する写真図（その２）である。
【図１２】本発明に係る誤差拡散像と従来例の誤差拡散画像とを比較する写真図（その３）である。
【図１３】本発明に係る誤差拡散像と従来例の誤差拡散画像とを比較する写真図（その４）である。
【図１４】従来例に係る表示装置の多階調化を説明する図（その１）である。
【図１５】従来例に係る表示装置の多階調化を説明する図（その２）である。
【図１６】従来例に係る誤差拡散回路の構成図である。
【図１７】従来例に係る誤差拡散回路の動作タイミングチャート（水平方向）である。
【図１８】従来例に係る誤差拡散回路の動作タイミングチャート（垂直方向）である。
【図１９】従来例に係る誤差拡散方法の説明図である。
【符号の説明】
１，２０，５１…誤差検出回路、２〜６，２１，２２，２８〜３０，５２，７４〜７６…マスク回路、７〜１０，３７〜４０，７７〜８０…乗算器、１１，１６，２３，４１，５３，５４，８１…加算器、１２，２４，５９…ラインメモリ、１３〜１５，２５〜２７，５５，７１〜７３…フリップ・フロップ回路、３１〜３３，６０〜６６…ラッチ回路、３４〜３６，５７，６７〜７０…セレクタ、１７，４２，８２…制御部、５６…メモリ、５８…演算器。
【図１】
0003690860.tif 000003
【図２】
0003690860.tif 000004
【図３】
0003690860.tif 000005
【図４】
0003690860.tif 000006
【図５】
0003690860.tif 000007
【図６】
0003690860.tif 000008
【図７】
0003690860.tif 000009
【図８】
0003690860.tif 000010
【図９】
0003690860.tif 000011
【図１０】
0003690860.tif 000012
【図１１】
0003690860.tif 000013
【図１２】
0003690860.tif 000014
【図１３】
0003690860.tif 000015
【図１４】
0003690860.tif 000016
【図１５】
0003690860.tif 000017
【図１６】
0003690860.tif 000018
【図１７】
0003690860.tif 000019
【図１８】
0003690860.tif 000020
【図１９】
0003690860.tif 000021