(57)【要約】【課題】誤差拡散ブロックの境界が目立つことを抑制する。【解決手段】画像表示装置は、同一誤差拡散ブロック内の隣接画素の第１の誤差値Ｅｒｒ１に基づいて注目画素の第１の画素データｖｄ１＿ｍｏｄを算出する第１の画素データ算出部３０と、隣接画素の修正誤差値Ｅｒｒ２’に基づいて注目画素の第２の画素データｖｄ２＿ｍｏｄを算出する第２の画素データ算出部３１と、第１の画素データｖｄ１＿ｍｏｄに基づいて第１の誤差値Ｅｒｒ１を算出する第１の誤差値算出部３６と、第２の画素データｖｄ２＿ｍｏｄに基づいて第２の誤差値Ｅｒｒ２を算出する第２の誤差値算出部３７と、注目画素が複数の誤差拡散ブロックの境界から所定の範囲内にあるか否かに応じて、第１の誤差値Ｅｒｒ１に近づける方向に第２の誤差値Ｅｒｒ２を修正することにより修正誤差値Ｅｒｒ２’を算出する修正誤差値算出部４０と、を備える。【選択図】図３
2017167464.tif 000002
【特許請求の範囲】
【請求項１】
マトリクス状に配置された複数の画素を含む表示面を複数の領域に分割してなる複数の誤差拡散ブロックを有する画像表示装置であって、
前記画素ごとに第１の誤差値及び修正誤差値を記憶する記憶部と、
注目画素に対応する入力データと、前記注目画素と所定の方向に隣接する所定数の画素のうち前記注目画素と同じ前記誤差拡散ブロックに属するものそれぞれについて前記記憶部に記憶される前記第１の誤差値とに基づいて第１の画素データを算出する第１の画素データ算出部と、
前記注目画素に対応する入力データと、前記注目画素と前記所定の方向に隣接する所定数の画素それぞれについて前記記憶部に記憶される前記修正誤差値とに基づいて第２の画素データを算出する第２の画素データ算出部と、
前記第１の画素データを量子化してなる第１の量子化データを算出する第１の量子化データ算出部と、
前記第２の画素データを量子化してなる第２の量子化データを算出する第２の量子化データ算出部と、
前記第１の画素データと前記第１の量子化データとの差分に基づいて第１の誤差値を算出する第１の誤差値算出部と、
前記第２の画素データと前記第２の量子化データとの差分に基づいて第２の誤差値を算出する第２の誤差値算出部と、
前記注目画素が前記複数の誤差拡散ブロックの境界から所定の範囲内にあるか否かを判定する判定部と、
前記判定部の判定結果に応じて、前記第１の誤差値に近づける方向に前記第２の誤差値を修正することにより前記注目画素の前記修正誤差値を算出する修正誤差値算出部と
を備えることを特徴とする画像表示装置。
【請求項２】
前記第１及び第２の量子化データの値に応じて前記第１の誤差値を制限してなる制限誤差値を算出する制限誤差値算出部をさらに備え、
前記修正誤差値算出部は、前記判定部の判定結果により前記注目画素が前記複数の誤差拡散ブロックの境界から所定の範囲内にあることが示される場合に、前記第１の誤差値に近づける方向に前記第２の誤差値を修正することにより前記注目画素の前記修正誤差値を算出し、前記判定部の判定結果により前記注目画素が前記複数の誤差拡散ブロックの境界から所定の範囲内にないことが示される場合に、前記制限誤差値を前記注目画素の前記修正誤差値とする、請求項１に記載の画像表示装置。
【請求項３】
前記第１の誤差値に近づける方向への前記第２の誤差値の修正は、前記制限誤差値から前記第２の誤差値を減じてなる値に基づく値を前記第２の誤差値から減ずることにより行われる、請求項１又は２に記載の画像表示装置。
【請求項４】
前記制限誤差値から前記第２の誤差値を減じてなる値に基づく値は、前記制限誤差値から前記第２の誤差値を減じてなる値を所定数で除してなる値である、請求項３に記載の画像表示装置。
【請求項５】
マトリクス状に配置された複数の画素を含む表示面を複数の領域に分割してなる複数の誤差拡散ブロックを有する画像表示装置であって、
注目画素に関して、前記誤差拡散ブロック内に制限された第１の誤差値を算出する第１の誤差値算出部と、
前記注目画素に関して、前記誤差拡散ブロック内に制限されない第２の誤差値を算出する第２の誤差値算出部と、
前記注目画素が前記複数の誤差拡散ブロックの境界から所定の範囲内にあるか否かを判定する判定部と、
前記判定部の判定結果に応じて、前記第１の誤差値に近づける方向に前記第２の誤差値を修正することにより前記注目画素の前記修正誤差値を算出する修正誤差値算出部と、
前記修正誤差値に基づいて、前記注目画素に隣接する他の画素についての画素データを算出する画素データ算出部と
を備える画像表示装置。
【請求項６】
マトリクス状に配置された複数の画素を含む表示面を複数の領域に分割してなる複数の誤差拡散ブロックを有する画像表示装置の駆動方法であって、
前記画素ごとに第１の誤差値及び修正誤差値を記憶部に記憶させ、
注目画素に対応する入力データと、前記注目画素と所定の方向に隣接する所定数の画素のうち前記注目画素と同じ前記誤差拡散ブロックに属するものそれぞれについて前記記憶部に記憶される前記第１の誤差値とに基づいて第１の画素データを算出し、
前記注目画素に対応する入力データと、前記注目画素と前記所定の方向に隣接する所定数の画素それぞれについて前記記憶部に記憶される前記修正誤差値とに基づいて第２の画素データを算出し、
前記第１の画素データを量子化してなる第１の量子化データを算出し、
前記第２の画素データを量子化してなる第２の量子化データを算出し、
前記第１の画素データと前記第１の量子化データとの差分に基づいて第１の誤差値を算出し、
前記第２の画素データと前記第２の量子化データとの差分に基づいて第２の誤差値を算出し、
前記注目画素が前記複数の誤差拡散ブロックの境界から所定の範囲内にあるか否かを判定し、
前記判定の結果に応じて、前記第１の誤差値に近づける方向に前記第２の誤差値を修正することにより前記注目画素の前記修正誤差値を算出する
ことを特徴とする画像表示装置の駆動方法。
【請求項７】
前記第１及び第２の量子化データの値に応じて前記第１の誤差値を制限してなる制限誤差値を算出することをさらに含み、
前記修正誤差値の算出は、前記判定の結果により前記注目画素が前記複数の誤差拡散ブロックの境界から所定の範囲内にあることが示される場合に、前記第１の誤差値に近づける方向に前記第２の誤差値を修正することにより前記注目画素の前記修正誤差値を算出し、前記判定の結果により前記注目画素が前記複数の誤差拡散ブロックの境界から所定の範囲内にないことが示される場合に、前記制限誤差値を前記注目画素の前記修正誤差値とする、請求項６に記載の画像表示装置の駆動方法。
【請求項８】
前記第１の誤差値に近づける方向への前記第２の誤差値の修正は、前記制限誤差値から前記第２の誤差値を減じてなる値に基づく値を前記第２の誤差値から減ずることにより行われる、請求項６又は７に記載の画像表示装置の駆動方法。
【請求項９】
前記制限誤差値から前記第２の誤差値を減じてなる値に基づく値は、前記制限誤差値から前記第２の誤差値を減じてなる値を所定数で除してなる値である、請求項８に記載の画像表示装置の駆動方法。
【請求項１０】
マトリクス状に配置された複数の画素を含む表示面を複数の領域に分割してなる複数の誤差拡散ブロックを有する画像表示装置の駆動方法であって、
注目画素に関して、前記誤差拡散ブロック内に制限された第１の誤差値を算出し、
前記注目画素に関して、前記誤差拡散ブロック内に制限されない第２の誤差値を算出し、
前記注目画素が前記複数の誤差拡散ブロックの境界から所定の範囲内にあるか否かを判定し、
前記判定の結果に応じて、前記第１の誤差値に近づける方向に前記第２の誤差値を修正することにより前記注目画素の前記修正誤差値を算出し、
前記修正誤差値に基づいて、前記注目画素に隣接する他の画素についての画素データを算出する
ことを特徴とする画像表示装置の駆動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一実施形態は、液晶表示パネル等に画像を表示する画像表示装置と画像表示装置の駆動方法に関する。
【背景技術】
【０００２】
例えば、携帯電話機や携帯情報端末といった携帯電子機器、あるいは、パーソナルコンピュータやテレビジョン受像機等の表示部には、モノクロ表示やカラー表示の液晶表示パネル、無機材料若しくは有機材料のエレクトロルミネッセンスを用いたエレクトロルミネッセンス表示パネル、プラズマ表示パネル等が用いられている。
【０００３】
表示部の画素の階調表示能力が低い場合、言い換えれば、画素の階調数が少ない場合には、画像のグラデーション部分に等高線状の輪郭が生じ、画質が低下する。このような場合に、誤差拡散法を用いることによって画質が向上することが知られている。
【０００４】
誤差拡散法は、多値画像データを例えば２値画像データに変換する際に生じた誤差（即ち、多値画像データと２値画像データとの差）を、隣接する複数の画素へ重み係数を乗じて「拡散」するものである。誤差拡散法によれば、多値のオリジナル画像と例えば２値化されたハーフトーン画像の間に生じた誤差を平均的に最小にすることができ、優れた画質を持つハーフトーン画像を生成することができる。
【０００５】
一方で、誤差拡散法には、原画像の一部のみが変化した場合においても画面内の広範な範囲に誤差拡散の変化が伝搬し、画面がちらついている感じを視聴者に与えてしまうという問題がある。この問題は、例えば画面内の一部の領域に動画が埋め込まれ、他の領域は静止画となっているような場合に顕著となる。
【０００６】
特許文献１には、この問題を解決するための技術として、表示面を複数の区画（誤差拡散ブロック）に区切り、それぞれの区画内でのみ誤差拡散を行う技術が開示されている。この技術によれば、誤差拡散の変化の伝搬範囲が限定されるので、画面のちらつき感を低減することが可能になる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−１４５８２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載された技術によれば、誤差拡散ブロックの境界が目立つ場合があるという問題がある。このような傾向は、特に階調変化が少ない部分で顕著となる。
【０００９】
そこで本発明の一実施形態は、画像表示装置において、誤差拡散ブロックの境界が目立つことを抑制することを目的の一つとする。
【課題を解決するための手段】
【００１０】
本発明の一実施形態に係る画像表示装置は、マトリクス状に配置された複数の画素を含む表示面を複数の領域に分割してなる複数の誤差拡散ブロックを有する画像表示装置であって、画素ごとに第１の誤差値及び修正誤差値を記憶する記憶部と、注目画素に対応する入力データと、注目画素と所定の方向に隣接する所定数の画素のうち注目画素と同じ誤差拡散ブロックに属するものそれぞれについて記憶部に記憶される第１の誤差値とに基づいて第１の画素データを算出する第１の画素データ算出部と、注目画素に対応する入力データと、注目画素と所定の方向に隣接する所定数の画素それぞれについて記憶部に記憶される修正誤差値とに基づいて第２の画素データを算出する第２の画素データ算出部と、第１の画素データを量子化してなる第１の量子化データを算出する第１の量子化データ算出部と、第２の画素データを量子化してなる第２の量子化データを算出する第２の量子化データ算出部と、第１の画素データと第１の量子化データとの差分に基づいて第１の誤差値を算出する第１の誤差値算出部と、第２の画素データと第２の量子化データとの差分に基づいて第２の誤差値を算出する第２の誤差値算出部と、注目画素が複数の誤差拡散ブロックの境界から所定の範囲内にあるか否かを判定する判定部と、判定部の判定結果に応じて、第１の誤差値に近づける方向に第２の誤差値を修正することにより注目画素の修正誤差値を算出する修正誤差値算出部とを備える。
【００１１】
本発明の一実施形態に係る画像表示装置は、マトリクス状に配置された複数の画素を含む表示面を複数の領域に分割してなる複数の誤差拡散ブロックを有する画像表示装置であって、注目画素に関して、誤差拡散ブロック内に制限された第１の誤差値を算出する第１の誤差値算出部と、注目画素に関して、誤差拡散ブロック内に制限されない第２の誤差値を算出する第２の誤差値算出部と、注目画素が複数の誤差拡散ブロックの境界から所定の範囲内にあるか否かを判定する判定部と、判定部の判定結果に応じて、第１の誤差値に近づける方向に第２の誤差値を修正することにより注目画素の修正誤差値を算出する修正誤差値算出部と、修正誤差値に基づいて、注目画素に隣接する他の画素についての画素データを算出する画素データ算出部とを備える。
【００１２】
本発明の一実施形態に係る画像表示装置の駆動方法は、マトリクス状に配置された複数の画素を含む表示面を複数の領域に分割してなる複数の誤差拡散ブロックを有する画像表示装置の駆動方法であって、画素ごとに第１の誤差値及び修正誤差値を記憶部に記憶させ、注目画素に対応する入力データと、注目画素と所定の方向に隣接する所定数の画素のうち注目画素と同じ誤差拡散ブロックに属するものそれぞれについて記憶部に記憶される第１の誤差値とに基づいて第１の画素データを算出し、注目画素に対応する入力データと、注目画素と所定の方向に隣接する所定数の画素それぞれについて記憶部に記憶される修正誤差値とに基づいて第２の画素データを算出し、第１の画素データを量子化してなる第１の量子化データを算出し、第２の画素データを量子化してなる第２の量子化データを算出し、第１の画素データと第１の量子化データとの差分に基づいて第１の誤差値を算出し、第２の画素データと第２の量子化データとの差分に基づいて第２の誤差値を算出し、注目画素が複数の誤差拡散ブロックの境界から所定の範囲内にあるか否かを判定し、判定の結果に応じて、第１の誤差値に近づける方向に第２の誤差値を修正することにより注目画素の修正誤差値を算出する。
【００１３】
本発明の一実施形態に係る画像表示装置の駆動方法は、マトリクス状に配置された複数の画素を含む表示面を複数の領域に分割してなる複数の誤差拡散ブロックを有する画像表示装置の駆動方法であって、注目画素に関して、誤差拡散ブロック内に制限された第１の誤差値を算出し、注目画素に関して、誤差拡散ブロック内に制限されない第２の誤差値を算出し、注目画素が複数の誤差拡散ブロックの境界から所定の範囲内にあるか否かを判定し、判定の結果に応じて、第１の誤差値に近づける方向に第２の誤差値を修正することにより注目画素の修正誤差値を算出し、修正誤差値に基づいて、注目画素に隣接する他の画素についての画素データを算出する。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態による画像表示装置１の概念図である。
【図２】（ａ）は、図１に示した表示面２１に設けられる誤差拡散ブロックＢＬを示す図であり、（ｂ）は、（ａ）に示す領域Ａの拡大図である。
【図３】図１に示した誤差拡散処理部１１の機能ブロックを示す略ブロック図である。
【図４】図１に示した誤差拡散処理部１１が実行する処理を示すフロー図である。
【図５】図４に示したｖｄ１＿ｍｏｄ（ｎ，ｍ）算出処理の詳細を示すフロー図である。
【図６】図５に示した各場合におけるｖｄ１＿ｍｏｄ（ｎ，ｍ）の算出方法を説明する図である。
【図７】図４に示したＬＶ１（ｎ，ｍ），ｖｄ１＿ｏｕｔ（ｎ，ｍ）算出処理及びＬＶ２（ｎ，ｍ），ｖｄ２＿ｏｕｔ（ｎ，ｍ）算出処理の詳細を示すフロー図である。
【図８】図４に示したＥｒｒ２’（ｎ，ｍ）算出処理の詳細を示すフロー図である。
【図９】本発明の一実施形態により算出されるＥｒｒ１（ｎ，ｍ）、Ｅｒｒ２（ｎ，ｍ）、及びＥｒｒ２’（ｎ，ｍ）の水平方向の変化を示す図である。
【図１０】本発明の一実施形態に係る第１の変形例により表示面２１に設けられる誤差拡散ブロックＢＬを示す図である。
【図１１】本発明の一実施形態に係る第２の変形例により表示面２１に設けられる誤差拡散ブロックＢＬを示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の一実施形態に係る画像表示装置について詳細に説明する。なお、本発明の一実施形態に係る画像表示装置は以下の実施形態に限定されることはなく、種々の変形を行ない実施することが可能である。また、図面の寸法比率は、説明の都合上、実際の比率とは異なったり、構成の一部が図面から省略されたりする場合がある。また、本発明は画像表示装置に係る発明に限定されるものではなく、画像表示装置に後述する各処理を行わせるための画像表示装置の駆動方法にかかる発明としてもよいし、その駆動方法を実行するためのプログラム又はそのようなプログラムを記憶する記憶媒体にかかる発明としてもよい。
【００１６】
図１は、本実施形態による画像表示装置１の概念図である。同図に示すように、画像表示装置１は、マトリクス状に配置された複数の画素ＰＸを含む表示面２１を有する表示部２０と、図示しない上位装置から供給される入力データｖｄ＿ｉｎに所定の階調変換処理を施すことによって出力データｖｄ＿ｏｕｔを生成し、表示部２０に供給する階調変換部１０とを備えて構成される。
【００１７】
表示部２０は、例えばモノクロ表示の液晶表示パネルにより構成される。ただし、表示部２０の構成や方式は特に限定されない。例えば、液晶表示パネル、エレクトロルミネッセンス表示パネル、プラズマ表示パネルといった周知の表示装置を表示部２０として用いることができるし、電気的に書き換え可能な電子ペーパーといった表示媒体を表示部２０として用いることもできる。また、表示部２０は、モノクロ表示であってもよいし、カラー表示であってもよい。以下では、説明を簡単にするため、モノクロ表示の表示部２０を用いる（したがって、１フレーム中に１つの画素ＰＸについて入力される入力データｖｄ＿ｉｎは１つだけとなる）ことを前提として説明を続ける。
【００１８】
表示部２０の表示面２１においては、水平方向にＭ個、垂直方向にＮ個の合計Ｍ×Ｎ個の画素ＰＸが、２次元マトリクス状に配列されている。本明細書においてＸ（ｎ，ｍ）と記載する場合があるが（Ｘは任意の構成。ｎは１〜Ｎの整数、ｍは１〜Ｍの整数）、これは、画素ＰＸごとに設けられる複数の構成Ｘのうちｎ行目かつｍ列目に位置する画素ＰＸに対応する構成Ｘであることを示している。
【００１９】
表示部２０が透過型の表示パネルである場合、表示部２０は、階調変換部１０から供給される出力データｖｄ＿ｏｕｔの値に基づいて各画素ＰＸの光透過率を制御するよう構成される。この制御により、図示しない光源装置からの光の透過量が制御され、その結果として表示部２０に画像が表示される。表示部２０が反射型の表示パネルである場合には、表示部２０は、階調変換部１０から供給される出力データｖｄ＿ｏｕｔの値に基づいて各画素ＰＸの光反射率を制御するよう構成される。この制御により外光の反射量が制御され、その結果として表示部２０に画像が表示される。
【００２０】
階調変換部１０は、誤差拡散法による階調処理を行う誤差拡散処理部１１を含んでおり、この誤差拡散処理部１１を用いて、入力データｖｄ＿ｉｎ（ｎ，ｍ）を出力データｖｄ＿ｏｕｔ（ｎ，ｍ）に変換するよう構成される。変換によって得られた出力データｖｄ＿ｏｕｔ（ｎ，ｍ）は、表示部２０に供給される。変換処理の詳細については、後ほど図３〜図９を参照しながら詳しく説明する。
【００２１】
また、階調変換部１０は、表示面２１を複数の領域に分割してなる複数の誤差拡散ブロックＢＬ（図２参照）を記憶している。誤差拡散ブロックＢＬは仮想的な領域であり、誤差拡散法による階調処理を行う際の誤差の拡散範囲を規定するものである。ただし、本実施形態による誤差拡散処理部１１は、必ずしも誤差拡散ブロックＢＬ内に限定された誤差拡散を行うわけではない。この点についても、後ほど図３〜図９を参照しながら詳しく説明する。
【００２２】
図２（ａ）は、図１に示した表示面２１に設けられる誤差拡散ブロックＢＬを示す図であり、（ｂ）は、（ａ）に示す領域Ａの拡大図である。なお、図２（ａ）では、画素ＰＸの図示を省略している。
【００２３】
本実施形態による誤差拡散ブロックＢＬは、図２（ａ）に示すようにそれぞれ同じサイズの矩形の形状を有しており、境界Ｂで隣接する他の誤差拡散ブロックＢＬと区切られている。図２（ａ）には、表示面２１を６×６＝３６個の誤差拡散ブロックＢＬに分割する例を示しているが、これは例示に過ぎず、本発明の一実施形態において誤差拡散ブロックＢＬの個数は限定されない。また、図２（ｂ）には、１つの誤差拡散ブロックＢＬが１６×９＝１４４個の画素ＰＸにより構成される例を示しているが、これも例示に過ぎず、本発明の一実施形態において各誤差拡散ブロックＢＬを構成する画素ＰＸの個数は限定されない。
【００２４】
階調変換部１０には、１行目から順（ｎが１ずつ増加する順。上から下）に、入力データｖｄ＿ｉｎ（ｎ，ｍ）が供給される。各行内においては、図示した矢印ＯＲに沿う順（ｍが１ずつ増加する順。左から右）に入力データｖｄ＿ｉｎ（ｎ，ｍ）が供給される。階調変換部１０内の誤差拡散処理部１１は、こうして順次供給される入力データｖｄ＿ｉｎ（ｎ，ｍ）を、１画素ＰＸずつ出力データｖｄ＿ｏｕｔ（ｎ，ｍ）に変換し、表示部２０に供給するよう構成される。
【００２５】
図３は、誤差拡散処理部１１の機能ブロックを示す略ブロック図である。同図に示すように、誤差拡散処理部１１は、第１の画素データ算出部３０、第２の画素データ算出部３１、第１の量子化データ算出部３２、第１の出力画素データ算出部３３、第２の量子化データ算出部３４、第２の出力画素データ算出部３５、第１の誤差値算出部３６、第２の誤差値算出部３７、制限誤差値算出部３８、判定部３９、修正誤差値算出部４０、及び記憶部４１を有して構成される。
【００２６】
記憶部４１は、画素ＰＸごとに、第１の誤差値Ｅｒｒ１（ｎ，ｍ）と、修正誤差値Ｅｒｒ２’（ｎ，ｍ）とを記憶するよう構成される。これらは、各画素ＰＸについて順次階調処理を行っていく過程で、それぞれ第１の誤差値算出部３６及び修正誤差値算出部４０により算出されるものである。
【００２７】
第１の画素データ算出部３０は、入力データｖｄ＿ｉｎ（ｎ，ｍ）と、この入力データｖｄ＿ｉｎ（ｎ，ｍ）に対応する画素ＰＸ（ｎ，ｍ）（注目画素）と所定の方向に隣接する所定数の画素のうち画素ＰＸ（ｎ，ｍ）と同じ誤差拡散ブロックＢＬに属するものそれぞれについて記憶部４１に記憶される第１の誤差値Ｅｒｒ１とに基づいて第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）を算出する。詳細は図５及び図６を参照しながら後述することとしてここでは簡単に説明すると、第１の画素データ算出部３０は、第１の誤差値Ｅｒｒ１を参照する範囲を「画素ＰＸ（ｎ，ｍ）と同じ誤差拡散ブロックＢＬに属するもの」に限定することにより、誤差の拡散範囲を誤差拡散ブロックＢＬ内に限定している。したがって、第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）は、誤差の拡散範囲を誤差拡散ブロックＢＬ内に限定することによって算出されたものとなる。
【００２８】
第２の画素データ算出部３１は、入力データｖｄ＿ｉｎ（ｎ，ｍ）と、画素ＰＸ（ｎ，ｍ）と上記所定の方向に隣接する所定数の画素それぞれについて記憶部４１に記憶される修正誤差値Ｅｒｒ２’とに基づいて第２の画素データｖｄ２＿ｍｏｄ（ｎ，ｍ）を算出する。第２の画素データ算出部３１は、第１の画素データ算出部３０とは異なり、修正誤差値Ｅｒｒ２’を参照する範囲を「画素ＰＸ（ｎ，ｍ）と同じ誤差拡散ブロックＢＬに属するもの」に限定しない。したがって、第２の画素データｖｄ２＿ｍｏｄ（ｎ，ｍ）は、誤差の拡散範囲を誤差拡散ブロックＢＬ内に限定しないで算出されたものとなる。
【００２９】
第１の量子化データ算出部３２は、第１の画素データ算出部３０により算出された第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）を量子化してなる第１の量子化データＬＶ１（ｎ，ｍ）を算出する。また、第１の出力画素データ算出部３３は、第１の量子化データＬＶ１（ｎ，ｍ）を３ビットデータに変換することにより、第１の出力画素データｖｄ１＿ｏｕｔ（ｎ，ｍ）を算出する。これらの処理の詳細については、後ほど図７を参照しながら説明する。
【００３０】
第２の量子化データ算出部３４は、第２の画素データ算出部３１により算出された第２の画素データｖｄ２＿ｍｏｄ（ｎ，ｍ）を量子化してなる第２の量子化データＬＶ２（ｎ，ｍ）を算出する。また、第２の出力画素データ算出部３５は、第２の量子化データＬＶ２（ｎ，ｍ）を３ビットデータに変換することにより、第２の出力画素データｖｄ２＿ｏｕｔ（ｎ，ｍ）を算出する。これらの処理の詳細についても、後ほど図７を参照しながら説明する。第２の出力画素データ算出部により算出された第２の出力画素データｖｄ２＿ｏｕｔ（ｎ，ｍ）は、図３にも示すように、階調変換部１０の出力データｖｄ＿ｏｕｔ（ｎ，ｍ）となる。
【００３１】
第１の誤差値算出部３６は、第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）と第１の量子化データＬＶ１（ｎ，ｍ）との差分に基づいて第１の誤差値Ｅｒｒ１（ｎ，ｍ）を算出する。具体的には、次の式（１）に示すように、第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）から第１の量子化データＬＶ１（ｎ，ｍ）を減じてなる値を、第１の誤差値Ｅｒｒ１（ｎ，ｍ）として算出する。
Ｅｒｒ１（ｎ，ｍ）＝ｖｄ１＿ｍｏｄ（ｎ，ｍ）−ＬＶ１（ｎ，ｍ）・・・（１）
【００３２】
第１の誤差値算出部３６によって算出された第１の誤差値Ｅｒｒ１（ｎ，ｍ）は記憶部４１に供給され、誤差拡散処理部１１が同一フレームにかかる処理を実行している間、画素ＰＸ（ｎ，ｍ）に対応する第１の誤差値Ｅｒｒ１として記憶部４１内に記憶される。
【００３３】
第２の誤差値算出部３７は、第２の画素データｖｄ２＿ｍｏｄ（ｎ，ｍ）と第２の量子化データＬＶ２（ｎ，ｍ）との差分に基づいて第２の誤差値Ｅｒｒ２（ｎ，ｍ）を算出する。具体的には、次の式（２）に示すように、第２の画素データｖｄ２＿ｍｏｄ（ｎ，ｍ）から第２の量子化データＬＶ２（ｎ，ｍ）を減じてなる値を、第２の誤差値Ｅｒｒ２（ｎ，ｍ）として算出する。
Ｅｒｒ２（ｎ，ｍ）＝ｖｄ２＿ｍｏｄ（ｎ，ｍ）−ＬＶ２（ｎ，ｍ）・・・（２）
【００３４】
制限誤差値算出部３８は、第１の量子化データＬＶ１（ｎ，ｍ）及び第２の量子化データＬＶ２（ｎ，ｍ）の値に応じて第１の誤差値Ｅｒｒ１（ｎ．ｍ）を制限してなる制限誤差値Ｅｒｒ１＿ｍｕｘを算出する。制限誤差値Ｅｒｒ１＿ｍｕｘは、後に修正誤差値算出部４０が修正誤差値Ｅｒｒ２’（ｎ，ｍ）を算出する際に使用される。制限誤差値算出部３８の処理の詳細については、後ほど図８を参照しながら説明する。
【００３５】
判定部３９は、画素ＰＸ（ｎ，ｍ）が複数の誤差拡散ブロックＢＬの境界から所定の範囲内にあるか否かを判定する。具体的には、図２（ｂ）に示した水平方向距離Ｈ及び垂直方向距離Ｖの閾値判定を行うことにより、上記判定を行う。判定部３９の処理の詳細についても、後ほど図８を参照しながら説明する。
【００３６】
修正誤差値算出部４０は、判定部３９の判定結果に応じて、第１の誤差値Ｅｒｒ１（ｎ，ｍ）に近づける方向に第２の誤差値Ｅｒｒ２（ｎ，ｍ）を修正することにより、画素ＰＸ（ｎ，ｍ）の修正誤差値Ｅｒｒ２’（ｎ，ｍ）を算出する。より具体的に説明すると、修正誤差値算出部４０は、判定部３９の判定結果により画素ＰＸ（ｎ，ｍ）が複数の誤差拡散ブロックＢＬの境界から所定の範囲内にあることが示される場合に、第１の誤差値Ｅｒｒ１（ｎ，ｍ）に近づける方向に第２の誤差値Ｅｒｒ２（ｎ，ｍ）を修正することにより、画素ＰＸ（ｎ，ｍ）の修正誤差値Ｅｒｒ２’（ｎ，ｍ）を算出する。一方、判定部の判定結果により画素ＰＸ（ｎ，ｍ）が複数の誤差拡散ブロックＢＬの境界から所定の範囲内にないことが示される場合には、修正誤差値算出部４０は、制限誤差値算出部３８により算出された制限誤差値Ｅｒｒ１＿ｍｕｘを、画素ＰＸ（ｎ，ｍ）の修正誤差値Ｅｒｒ２’（ｎ，ｍ）とする。
【００３７】
修正誤差値算出部４０によって算出された修正誤差値Ｅｒｒ２’（ｎ，ｍ）は記憶部４１に供給され、誤差拡散処理部１１が同一フレームにかかる処理を実行している間、画素ＰＸ（ｎ，ｍ）に対応する修正誤差値Ｅｒｒ２’として記憶部４１内に記憶される。
【００３８】
修正誤差値算出部４０が上記のようにして修正誤差値Ｅｒｒ２’を算出していることの結果として得られる効果について、図９を参照しながら説明する。
【００３９】
図９は、本発明の一実施形態により算出される第１の誤差値Ｅｒｒ１、第２の誤差値Ｅｒｒ２、及び修正誤差値Ｅｒｒ２’の水平方向の変化を示す図である。同図では、説明を簡単にするため、表示面２１が水平方向の一次元であるとし、１つの誤差拡散ブロックＢＬが８つの画素ＰＸ１〜ＰＸ８により構成されるとしている。また、入力データｖｄ＿ｉｎは、矢印Ｇで示したように、同図内の左に位置する画素から順に（画素ＰＸ１から画素ＰＸ８の順に）入力されるとしている。さらに、上記所定の範囲は、矢印Ｄで示したように、左側の境界Ｂから６画素分であるとしている。
【００４０】
図９に示すように、修正誤差値Ｅｒｒ２’は、修正誤差値算出部４０による算出処理の結果、誤差拡散ブロックＢＬの境界Ｂに最も近い画素ＰＸ１では第２の誤差値Ｅｒｒ２と同じ値になる。そして、画素ＰＸ１を除く上記所定の範囲にある画素ＰＸ２〜ＰＸ６については、修正誤差値Ｅｒｒ２’は、第１の誤差値Ｅｒｒ１に近づける方向に第２の誤差値Ｅｒｒ２を修正したものとなる。そして、その他の画素ＰＸ７，ＰＸ８については、修正誤差値Ｅｒｒ２’は第１の誤差値Ｅｒｒ１と同じ値になる。
【００４１】
本実施形態で使用した用語等を用いて特許文献１の技術を表現すると、第１の誤差値Ｅｒｒ１に基づいて算出される第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）から、出力データｖｄ＿ｏｕｔ（ｎ，ｍ）が算出されることになる。第１の誤差値Ｅｒｒ１は、図９から理解されるように、境界Ｂを超えたときに不連続に変化する。これが、上述したように、誤差拡散ブロックの境界が目立つ原因となる。これに対し、本実施形態では、修正誤差値Ｅｒｒ２’に基づいて算出される第２の画素データｖｄ２＿ｍｏｄ（ｎ，ｍ）から、出力データｖｄ＿ｏｕｔ（ｎ，ｍ）が生成される。そして、修正誤差値Ｅｒｒ２’は、図９から理解されるように、境界Ｂも含めて連続的に変化する。したがって、本実施形態によれば、特許文献１の技術で生ずるような誤差拡散ブロックＢＬの境界Ｂでの目立ちが抑制されることとなる。
【００４２】
以下、図４に示したフロー図を参照しながら、誤差拡散処理部１１内の各部が行う処理について、より詳しく説明する。
【００４３】
図４には、１フレーム分の処理を示している。同図に示すように、新たなフレームの処理が開始される際、まず記憶部４１の記憶内容がリセットされる（ステップＳ１）。その後、入力データｖｄ＿ｉｎ（ｎ，ｍ）が、ｎ＝１からｎ＝Ｎまでｎを１ずつインクリメントしつつ、さらに各ｎにおいてｍ＝１からｍ＝Ｍまでｍを１ずつインクリメントしつつ、図示しない上位装置から供給される。誤差拡散処理部１１は、こうして入力データｖｄ＿ｉｎ（ｎ，ｍ）が供給される都度、以下に説明するステップＳ４〜Ｓ１１の処理を繰り返す（図４のステップＳ２，Ｓ３）。
【００４４】
入力データｖｄ＿ｉｎ（ｎ，ｍ）が供給されると、まず第１の画素データ算出部３０により、第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）を算出するための処理（ｖｄ１＿ｍｏｄ（ｎ，ｍ）算出処理）が実行される（ステップＳ４）。
【００４５】
図５は、ｖｄ１＿ｍｏｄ（ｎ，ｍ）算出処理の詳細を示すフロー図である。同図に示すように、第１の画素データ算出部３０はまず、画素ＰＸ（ｎ，ｍ）と境界との関係を判定する処理を行う（ステップＳ２０）。そして、画素ＰＸ（ｎ，ｍ）が水平方向と垂直方向の両方について境界に位置する場合と、水平方向のみについて境界に位置する場合と、垂直方向のみについて境界に位置する場合と、水平方向と垂直方向のいずれについても境界に位置しない場合とで、異なる数式により第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）の算出を行う。なお、図５の「水平方向のみの場合」のｖｄ１＿ｍｏｄ（ｎ，ｍ）の算出方法は、「両方向の場合」の算出方法と同じ数式であっても良い。
【００４６】
図６は、図５に示した各場合における第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）の算出方法を説明する図である。まず図６（ａ）は、画素ＰＸ（ｎ，ｍ）が水平方向と垂直方向のいずれについても境界に位置しない場合を示している。この場合、第１の画素データ算出部３０は、画素ＰＸ（ｎ，ｍ）と左上方向に隣接する画素ＰＸ（ｎ−１，ｍ−１）と、画素ＰＸ（ｎ，ｍ）と上方向に隣接する画素ＰＸ（ｎ−１，ｍ）と、画素ＰＸ（ｎ，ｍ）と右上方向に隣接する画素ＰＸ（ｎ−１，ｍ＋１）と、画素ＰＸ（ｎ，ｍ）と左方向に隣接する画素ＰＸ（ｎ−１，ｍ）との４つの画素ＰＸのそれぞれについて、記憶部４１から第１の誤差値Ｅｒｒ１を読み出す。そして、次の式（３）に示すように、読み出した４つの第１の誤差値Ｅｒｒ１にそれぞれ係数ａ〜ｄを乗算したものを加算し、さらに、その結果に入力データｖｄ＿ｉｎ（ｎ，ｍ）を加算することにより、第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）を算出する。
ｖｄ１＿ｍｏｄ（ｎ，ｍ）＝ａ×Ｅｒｒ１（ｎ−１，ｍ−１）＋ｂ×Ｅｒｒ１（ｎ−１，ｍ）＋ｃ×Ｅｒｒ１（ｎ−１，ｍ＋１）＋ｄ×Ｅｒｒ１（ｎ，ｍ−１）＋ｖｄ＿ｉｎ（ｎ，ｍ）・・・（３）
【００４７】
ここで、式（３）中の定数ａ，ｂ，ｃ，ｄは拡散誤差の規格化係数であり、ａ＋ｂ＋ｃ＋ｄ＝１となるように予め定められる。それぞれの具体的な値の選択にはいくつかの方式があり、例えばＦｌｏｙｄ−Ｓｔｅｉｎｂｅｒｇ式では、ａ＝１／１６、ｂ＝５／１６、ｃ＝３／１６、ｄ＝７／１６となる。また、Ｓｉｅｒｒａ  Ｆｉｌｔｅｒ  Ｌｉｔｅ式では、ａ＝０、ｂ＝１／４、ｃ＝１／４、ｄ＝１／２となる。いずれの方式を採用するかについては、画素表示装置１に対して要求される品質などを考慮して決定すればよい。
【００４８】
図６（ｂ）は、画素ＰＸ（ｎ，ｍ）が水平方向と垂直方向の両方について境界に位置する場合を示している。上述したように、第１の画素データ算出部３０は、第１の誤差値Ｅｒｒ１を参照する範囲を「画素ＰＸ（ｎ，ｍ）と同じ誤差拡散ブロックＢＬに属するもの」に限定するものである。したがって、この場合には、図６（ａ）の例で参照した４つの第１の誤差値Ｅｒｒ１をいずれも参照せずに、第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）を算出する。具体的には、次の式（４）に示すように、入力データｖｄ＿ｉｎ（ｎ，ｍ）をそのまま第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）とする。
ｖｄ１＿ｍｏｄ（ｎ，ｍ）＝ｖｄ＿ｉｎ（ｎ，ｍ）・・・（４）
【００４９】
図６（ｃ）は、画素ＰＸ（ｎ，ｍ）が水平方向のみについて境界に位置する場合を示している。この場合、第１の画素データ算出部３０は、図６（ａ）の例で参照した４つの第１の誤差値Ｅｒｒ１のうち、画素ＰＸ（ｎ，ｍ）と同じ誤差拡散ブロックＢＬに属しない２つの画素ＰＸ（ｎ−１，ｍ−１），ＰＸ（ｎ，ｍ−１）に対応する第１の誤差値Ｅｒｒ１（ｎ−１，ｍ−１），Ｅｒｒ１（ｎ，ｍ−１）を参照せずに、第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）を算出する。具体的には、次の式（５）に示すように、画素ＰＸ（ｎ，ｍ）と同じ誤差拡散ブロックＢＬに属する２つの画素ＰＸ（ｎ−１，ｍ），ＰＸ（ｎ−１，ｍ＋１）に対応する第１の誤差値Ｅｒｒ１（ｎ−１，ｍ），Ｅｒｒ１（ｎ−１，ｍ＋１）にそれぞれ上述した係数ｂ，ｃを乗算したものを加算し、さらに、その結果に入力データｖｄ＿ｉｎ（ｎ，ｍ）を加算することにより、第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）を算出する。
ｖｄ１＿ｍｏｄ（ｎ，ｍ）＝ｂ×Ｅｒｒ１（ｎ−１，ｍ）＋ｃ×Ｅｒｒ１（ｎ−１，ｍ＋１）＋ｖｄ＿ｉｎ（ｎ，ｍ）・・・（５）
【００５０】
図６（ｄ）は、画素ＰＸ（ｎ，ｍ）が垂直方向のみについて境界に位置する場合を示している。この場合、第１の画素データ算出部３０は、図６（ａ）の例で参照した４つの第１の誤差値Ｅｒｒ１のうち、画素ＰＸ（ｎ，ｍ）と同じ誤差拡散ブロックＢＬに属しない３つの画素ＰＸ（ｎ−１，ｍ−１），ＰＸ（ｎ−１，ｍ），ＰＸ（ｎ−１，ｍ＋１）に対応する第１の誤差値Ｅｒｒ１（ｎ−１，ｍ−１），Ｅｒｒ１（ｎ−１，ｍ），Ｅｒｒ１（ｎ−１，ｍ＋１）を参照せずに、第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）を算出する。具体的には、次の式（６）に示すように、画素ＰＸ（ｎ，ｍ）と同じ誤差拡散ブロックＢＬに属する画素ＰＸ（ｎ，ｍ−１）に対応する第１の誤差値Ｅｒｒ１（ｎ，ｍ−１）に上述した係数ｄを乗算したものに入力データｖｄ＿ｉｎ（ｎ，ｍ）を加算することにより、第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）を算出する。
ｖｄ１＿ｍｏｄ（ｎ，ｍ）＝ｄ×Ｅｒｒ１（ｎ，ｍ−１）＋ｖｄ＿ｉｎ（ｎ，ｍ）・・・（６）
【００５１】
図４に戻る。ステップＳ４で第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）を算出した後には、第２の画素データ算出部３１により第２の画素データｖｄ２＿ｍｏｄ（ｎ，ｍ）を算出する処理が行われる（ステップＳ５）。具体的に説明すると、第２の画素データ算出部３１はまず、画素ＰＸ（ｎ，ｍ）と左上方向に隣接する画素ＰＸ（ｎ−１，ｍ−１）と、画素ＰＸ（ｎ，ｍ）と上方向に隣接する画素ＰＸ（ｎ−１，ｍ）と、画素ＰＸ（ｎ，ｍ）と右上方向に隣接する画素ＰＸ（ｎ−１，ｍ＋１）と、画素ＰＸ（ｎ，ｍ）と左方向に隣接する画素ＰＸ（ｎ−１，ｍ）との４つの画素ＰＸのそれぞれについて、記憶部４１から修正誤差値Ｅｒｒ２’を読み出す。そして、次の式（７）に示すように、読み出した４つの修正誤差値Ｅｒｒ２’にそれぞれ上記係数ａ〜ｄを乗算したものを加算し、さらに、その結果に入力データｖｄ＿ｉｎ（ｎ，ｍ）を加算することにより、第２の画素データｖｄ２＿ｍｏｄ（ｎ，ｍ）を算出する。式（７）は、式（３）において第１の誤差値Ｅｒｒ１を修正誤差値Ｅｒｒ２’に置き換えたものとなっている。
ｖｄ２＿ｍｏｄ（ｎ，ｍ）＝ａ×Ｅｒｒ２’（ｎ−１，ｍ−１）＋ｂ×Ｅｒｒ２’（ｎ−１，ｍ）＋ｃ×Ｅｒｒ２’（ｎ−１，ｍ＋１）＋ｄ×Ｅｒｒ２’（ｎ，ｍ−１）＋ｖｄ＿ｉｎ（ｎ，ｍ）・・・（７）
【００５２】
次に、第１の量子化データ算出部３２による第１の量子化データＬＶ１（ｎ，ｍ）の算出と、第１の出力画素データ算出部３３による第１の出力画素データｖｄ１＿ｏｕｔ（ｎ，ｍ）の算出とが実行される（ステップＳ６の「ＬＶ１（ｎ，ｍ），ｖｄ１＿ｏｕｔ（ｎ，ｍ）算出処理」）。また、第２の量子化データ算出部３４による第２の量子化データＬＶ２（ｎ，ｍ）の算出と、第２の出力画素データ算出部３５による第２の出力画素データｖｄ２＿ｏｕｔ（ｎ，ｍ）の算出とが実行される（ステップＳ７の「ＬＶ２（ｎ，ｍ），ｖｄ２＿ｏｕｔ（ｎ，ｍ）算出処理」）。
【００５３】
図７は、ＬＶ１（ｎ，ｍ），ｖｄ１＿ｏｕｔ（ｎ，ｍ）算出処理及びＬＶ２（ｎ，ｍ），ｖｄ２＿ｏｕｔ（ｎ，ｍ）算出処理の詳細を示すフロー図である。同図に示す「ｉ」は「１」又は「２」を表す変数である。以下では、ｉ＝１の場合の処理、すなわちＬＶ１（ｎ，ｍ），ｖｄ１＿ｏｕｔ（ｎ，ｍ）算出処理に着目して説明するが、ＬＶ２（ｎ，ｍ），ｖｄ２＿ｏｕｔ（ｎ，ｍ）算出処理についても同様である。
【００５４】
まず初めに、第１の量子化データ算出部３２により、第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）の値の範囲が判定される（ステップＳ２２）。図７の例では、第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）の値が「２３７以上」「２０１以上２３７未満」「１６４以上２０１未満」「１２８以上１６４未満」「９１以上１２８未満」「５５以上９１未満」「１８以上５５未満」「その他（１８未満）」のいずれに属するかが判定される。なお、図７ではこのように８つの範囲を用いているが、これは、第１の出力画素データｖｄ１＿ｏｕｔ（ｎ，ｍ）のビット数３で表現可能な数が「０」〜「７」の８種類であることに対応するものである。第１の出力画素データｖｄ１＿ｏｕｔ（ｎ，ｍ）のビット数によっては、より細かく範囲を設定することとしてもよいし、逆により粗く範囲を設定することとしてもよい。細かく設定するほど、高精細な画像が得られることになる。
【００５５】
第１の量子化データ算出部３２は、ステップＳ２２の判定結果に基づいて、第１の量子化データＬＶ１（ｎ，ｍ）を算出する。図７の例では、例えば第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）の値が「２３７以上」である場合、第１の量子化データ算出部３２は、第１の量子化データＬＶ１（ｎ，ｍ）の値を「２５５」と決定する。同様に、「２０１以上２３７未満」に対して「２１９」、「１６４以上２０１未満」に対して「１８２」、「１２８以上１６４未満」に対して「１４６」、「９１以上１２８未満」に対して「１０９」、「５５以上９１未満」に対して「７３」、「１８以上５５未満」に対して「３６」、「その他（１８未満）」に対して「０」をそれぞれ第１の量子化データＬＶ１（ｎ，ｍ）の値として決定する。
【００５６】
こうして第１の量子化データＬＶ１（ｎ，ｍ）が決定されると、次に第１の出力画素データ算出部３３により、３ビットデータである第１の出力画素データｖｄ１＿ｏｕｔ（ｎ，ｍ）の値が算出される。具体的に説明すると、第１の出力画素データ算出部３３は、例えば第１の量子化データＬＶ１（ｎ，ｍ）の値が「２５５」である場合、第１の出力画素データｖｄ１＿ｏｕｔ（ｎ，ｍ）の値を「１１１ｂ」とする。同様に、「２１９」に対して「１１０ｂ」、「１８２」に対して「１０１ｂ」、「１４６」に対して「１００ｂ」、「１０９」に対して「０１１ｂ」、「７３」に対して「０１０ｂ」、「３６」に対して「００１ｂ」、「０」に対して「０００ｂ」をそれぞれ第１の出力画素データｖｄ１＿ｏｕｔ（ｎ，ｍ）の値として決定する。
【００５７】
図４に戻る。ステップＳ６，Ｓ７で第１の量子化データＬＶ１（ｎ，ｍ）、第１の出力画素データｖｄ１＿ｏｕｔ（ｎ，ｍ）、第２の量子化データＬＶ２（ｎ，ｍ）、第２の出力画素データｖｄ２＿ｏｕｔ（ｎ，ｍ）が算出された後には、第２の出力画素データｖｄ２＿ｏｕｔ（ｎ，ｍ）が階調変換部１０の出力データｖｄ＿ｏｕｔ（ｎ，ｍ）として出力される（ステップＳ８）。出力された出力データｖｄ＿ｏｕｔ（ｎ，ｍ）は図１に示した表示部２０に供給され、表示面２１上に画像を表示する（描画する）ために使用される。
【００５８】
次に、第１の誤差値算出部３６による第１の誤差値Ｅｒｒ１（ｎ，ｍ）の算出と、第２の誤差値算出部３７による第２の誤差値Ｅｒｒ２（ｎ，ｍ）の算出とが行われる（ステップＳ９，Ｓ１０）。これらの算出の具体的な方法は、上述した式（１）及び式（２）に示した通りである。第１の誤差値算出部３６により算出された第１の誤差値Ｅｒｒ１（ｎ，ｍ）は、上述したように、画素ＰＸ（ｎ，ｍ）に対応する第１の誤差値Ｅｒｒ１として図３に示した記憶部４１に格納され、画素ＰＸ（ｎ，ｍ）と隣接する他の画素ＰＸ（具体的には、画素ＰＸ（ｎ，ｍ＋１）、画素ＰＸ（ｎ＋１，ｍ−１）、ＰＸ（ｎ＋１，ｍ）、ＰＸ（ｎ＋１，ｍ＋１）の４画素ＰＸ）について第１の画素データｖｄ１＿ｍｏｄを算出する際に使用される。
【００５９】
ここで、第１の誤差値Ｅｒｒ１の算出の際に使用する第１の画素データｖｄ１＿ｍｏｄ及び第１の量子化データＬＶ１が誤差拡散ブロックＢＬ内に制限されたものとなっている（すなわち、図５を参照して説明したように、画素ＰＸ（ｎ，ｍ）と同じ誤差拡散ブロックＢＬ内に属さない画素ＰＸの第１の誤差値を参照せずに算出されている）ことから、第１の誤差値Ｅｒｒ１も、誤差拡散ブロックＢＬ内に制限されたものとなっている。これに対し、第２の誤差値Ｅｒｒ２の算出の際に使用する第２の画素データｖｄ２＿ｍｏｄ及び第２の量子化データＬＶ２が誤差拡散ブロックＢＬ内に制限されないものとなっている（すなわち、図５を参照して説明したように、誤差拡散ブロックＢＬを考慮しないで算出されている）ことから、第１の誤差値Ｅｒｒ１も、誤差拡散ブロックＢＬ内に制限されないものとなっている。
【００６０】
最後に、制限誤差値算出部３８、判定部３９、及び修正誤差値算出部４０により、修正誤差値Ｅｒｒ２’（ｎ，ｍ）を算出するための処理が実行される（ステップＳ１１の「Ｅｒｒ２’（ｎ，ｍ）算出処理」）。
【００６１】
図８は、Ｅｒｒ２’（ｎ，ｍ）算出処理の詳細を示すフロー図である。この処理では、まず制限誤差値算出部３８により、第１の出力画素データｖｄ１＿ｏｕｔ（ｎ，ｍ）と第２の出力画素データｖｄ２＿ｏｕｔ（ｎ，ｍ）との関係が判定される（ステップＳ２３）。なお、この処理は、第１の量子化データＬＶ１（ｎ，ｍ）と第２の量子化データＬＶ２（ｎ，ｍ）との関係を判定することとしても同じことである。
【００６２】
第１の出力画素データｖｄ１＿ｏｕｔ（ｎ，ｍ）が第２の出力画素データｖｄ２＿ｏｕｔ（ｎ，ｍ）より大きい場合、制限誤差値算出部３８は、数値「１５２」を制限誤差値Ｅｒｒ１＿ｍｕｘに設定する。一方、第１の出力画素データｖｄ１＿ｏｕｔ（ｎ，ｍ）が第２の出力画素データｖｄ２＿ｏｕｔ（ｎ，ｍ）より小さい場合、制限誤差値算出部３８は、数値「−１５２」を制限誤差値Ｅｒｒ１＿ｍｕｘに設定する。その他の場合、すなわち第１の出力画素データｖｄ１＿ｏｕｔ（ｎ，ｍ）と第２の出力画素データｖｄ２＿ｏｕｔ（ｎ，ｍ）とが等しい場合には、制限誤差値算出部３８は、第１の誤差値Ｅｒｒ１（ｎ，ｍ）を制限誤差値Ｅｒｒ１＿ｍｕｘに設定する。
【００６３】
次に、判定部３９により、図２（ｂ）に示した水平方向距離Ｈ及び垂直方向距離Ｖの閾値判定が行われる。図２に示すように、水平方向距離Ｈは、画素ＰＸ（ｎ，ｍ）の属する誤差拡散ブロックＢＬの左端から画素ＰＸ（ｎ，ｍ）までの距離であり、画素数で表現される。同様に、垂直方向距離Ｖは、画素ＰＸ（ｎ，ｍ）の属する誤差拡散ブロックＢＬの上端から画素ＰＸ（ｎ，ｍ）までの距離であり、画素数で表現される。例えば、図２（ｂ）において左下がりの斜線ハッチングで示した画素ＰＸについての水平方向距離Ｈ及び垂直方向距離Ｖは、いずれも「５」となる。なお、上記説明で水平方向距離Ｈ及び垂直方向距離Ｖの算出の基準をそれぞれ「左端」「上端」としているのは、画像表示装置１の走査方向（入力データｖｄ＿ｉｎ（ｎ，ｍ）の供給方向）が左から右かつ上から下であるからであり、走査方向が異なる場合には、水平方向距離Ｈ及び垂直方向距離Ｖの算出の基準も当然変化する。
【００６４】
判定部３９は、水平方向距離Ｈの閾値として、閾値ｒｅｇ＿ｂｄｒ＿ｈ＿ｓｉｚｅを予め記憶している。また、垂直方向距離Ｖの閾値として、閾値ｒｅｇ＿ｂｄｒ＿ｖ＿ｓｉｚｅを予め記憶している。そして、これらと水平方向距離Ｈ及び垂直方向距離Ｖを比較することにより、上記閾値判定を行う（ステップＳ２４，Ｓ２５）。
【００６５】
判定部３９により水平方向距離Ｈが閾値ｒｅｇ＿ｂｄｒ＿ｈ＿ｓｉｚｅより小さいか、又は、垂直方向距離Ｖが閾値ｒｅｇ＿ｂｄｒ＿ｖ＿ｓｉｚｅより小さいと判定された場合、すなわち、画素ＰＸ（ｎ，ｍ）が誤差拡散ブロックＢＬの上端又は左端から所定の範囲内に位置している場合、修正誤差値算出部４０は、第１の誤差値Ｅｒｒ１（ｎ，ｍ）に近づける方向に第２の誤差値Ｅｒｒ２（ｎ，ｍ）を修正することにより、画素ＰＸ（ｎ，ｍ）の修正誤差値Ｅｒｒ２’（ｎ，ｍ）を算出する。具体的には、次の式（８）に示すように、制限誤差値Ｅｒｒ１＿ｍｕｘから第２の誤差値Ｅｒｒ２（ｎ，ｍ）を減じてなる値に基づく値（より具体的には、制限誤差値Ｅｒｒ１＿ｍｕｘから第２の誤差値Ｅｒｒ２（ｎ，ｍ）を減じてなる値を所定数Ｎで除してなる値）を、第２の誤差値Ｅｒｒ２（ｎ，ｍ）から減ずることにより、修正誤差値Ｅｒｒ２’（ｎ，ｍ）を算出する。なお、所定数Ｎの具体的な値としては「１６」が好適である。
Ｅｒｒ２’（ｎ，ｍ）＝Ｅｒｒ２（ｎ，ｍ）＋（Ｅｒｒ１＿ｍｕｘ−Ｅｒｒ２（ｎ，ｍ））／Ｎ・・・（８）
また、上記所定数Ｎの代わりに、誤差拡散ブロックの境界からの画素数の関数を用いてもよい。
【００６６】
一方、判定部３９により水平方向距離Ｈが閾値ｒｅｇ＿ｂｄｒ＿ｈ＿ｓｉｚｅ以上であり、かつ、垂直方向距離Ｖが閾値ｒｅｇ＿ｂｄｒ＿ｖ＿ｓｉｚｅ以上であると判定された場合、すなわち、画素ＰＸ（ｎ，ｍ）が誤差拡散ブロックＢＬの上端又は左端から所定の範囲内に位置していない場合、修正誤差値算出部４０は、次の式（９）に示すように、制限誤差値Ｅｒｒ１＿ｍｕｘを修正誤差値Ｅｒｒ２’（ｎ，ｍ）とする。
Ｅｒｒ２’（ｎ，ｍ）＝Ｅｒｒ１＿ｍｕｘ・・・（９）
【００６７】
修正誤差値算出部４０により算出された修正誤差値Ｅｒｒ２’（ｎ，ｍ）は、上述したように、画素ＰＸ（ｎ，ｍ）に対応する修正誤差値Ｅｒｒ２’として図３に示した記憶部４１に格納され、画素ＰＸ（ｎ，ｍ）と隣接する他の画素ＰＸ（具体的には、画素ＰＸ（ｎ，ｍ＋１）、画素ＰＸ（ｎ＋１，ｍ−１）、ＰＸ（ｎ＋１，ｍ）、ＰＸ（ｎ＋１，ｍ＋１）の４画素ＰＸ）について第２の画素データｖｄ２＿ｍｏｄを算出する際に使用される。
【００６８】
図４に戻る。ここまで説明した処理により、１つの入力データｖｄ＿ｉｎ（ｎ，ｍ）についての処理が完結する。すべての入力データｖｄ＿ｉｎ（ｎ，ｍ）についての処理が完結した時点で、誤差拡散処理部１１による１フレーム分の処理が完了する。その後は、図示していないが、次のフレームの処理が同様に実行される。
【００６９】
以上説明したように、本実施形態による画像表示装置１によれば、修正誤差値Ｅｒｒ２’に基づいて算出される第２の画素データｖｄ２＿ｍｏｄ（ｎ，ｍ）から、出力データｖｄ＿ｏｕｔ（ｎ，ｍ）が生成される。そして、修正誤差値Ｅｒｒ２’は、修正誤差値算出部４０が上述した処理によって算出していることから、図９にも例示したように、境界Ｂも含めて連続的に変化する。したがって、本実施形態による画像表示装置１によれば、特許文献１の技術で生ずるような誤差拡散ブロックの境界での目立ちを抑制することが可能になる。
【００７０】
以上、本発明の一実施形態に係る好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
【００７１】
例えば、上記実施形態では、モノクロ表示の表示部２０を用いることを前提として本発明の一実施形態に係る構成を説明したが、上述したように、カラー表示の表示部２０を用いる場合にも本発明は適用可能である。その場合、階調変換部１０には色（例えば、赤（Ｒ）、緑（Ｇ）、青（Ｂ）、白（Ｗ））ごとに入力データｖｄ＿ｉｎ（ｎ，ｍ）が入力されることになるので、色ごとに上記処理を行えばよい。
【００７２】
カラー表示の表示部２０を用いる場合において、誤差拡散ブロックＢＬの配置は、色によらず同じであるとしてもよいし、色ごとに異なることとしてもよい。図１０は、後者の場合における誤差拡散ブロックＢＬの一例を示している。同図において、境界Ｂ（Ｒ），Ｂ（Ｇ），Ｂ（Ｂ），Ｂ（Ｗ）はそれぞれ、赤（Ｒ）、緑（Ｇ）、青（Ｂ）、白（Ｗ）に対応する誤差拡散ブロックＢＬの境界を示している。この例では、個々の誤差拡散ブロックＢＬの形状は図２に示した例と基本的に同様であるが、色によってその配置をオフセットしている。このように、誤差拡散ブロックＢＬの配置は色によって異なっていてもよく、最適な表示結果が得られる配置を適宜選択すればよい。
【００７３】
また、上記実施形態では、個々の誤差拡散ブロックＢＬを水平方向及び垂直方向のそれぞれに平行な４辺により構成される長方形によって構成したが、その他の形状により個々の誤差拡散ブロックＢＬを構成することとしてもよい。図１１は、水平方向及び垂直方向に対して傾斜した４辺により構成される平行四辺形により個々の誤差拡散ブロックＢＬを構成した例を示している。この例のように、個々の誤差拡散ブロックＢＬの形状は自由であり、最適な表示結果が得られるように適宜選択すればよい。
【００７４】
また、上記実施形態で誤差拡散処理部１１に入力される入力データｖｄ＿ｉｎは、階調変換部１０の図示しないディザリング処理部によりディザリング済みのものであることとしてもよい。例えば、ディザリング処理部により元々８ビットの画像データをディザ８により６ビットとし、さらに、この６ビットの画像データをディザ６により４ビットとしたものを、入力データｖｄ＿ｉｎとして誤差拡散処理部１１に入力することとしてもよい。
【００７５】
また、本発明の一実施形態の効果は、画面内の一部の領域に動画が埋め込まれ、他の領域は静止画となっているような場合に特に有効である。逆に言えば、全体が動画である場合や、全体が静止画である場合にはそれほど有効でないので、誤差拡散処理部１１が処理を行うにあたっては、表示対象の入力データｖｄ＿ｉｎが、画面内の一部の領域に動画が埋め込まれ、他の領域は静止画となっているような画像を示すものであるか否かを判定し、その結果に応じて、処理を変えることとしてもよい。具体的には、判定結果が肯定である場合には、本実施形態で説明した処理を行う一方、判定結果が否定である場合には、例えば図４のステップＳ４で算出される第１の画素データｖｄ１＿ｍｏｄ（ｎ，ｍ）を出力データｖｄ＿ｏｕｔ（ｎ，ｍ）として出力することとし、ステップＳ５，Ｓ７，Ｓ８，Ｓ１０，Ｓ１１にかかる処理はスキップすることとしてもよい。
【符号の説明】
【００７６】
１・・・画像表示装置、１０・・・階調変換部、１１・・・誤差拡散処理部、２０・・・表示部、２１・・・表示面、３０・・・第１の画素データ算出部、３１・・・第２の画素データ算出部、３２・・・第１の量子化データ算出部、３３・・・第１の出力画素データ算出部、３４・・・第２の量子化データ算出部、３５・・・第２の出力画素データ算出部、３６・・・第１の誤差値算出部、３７・・・第２の誤差値算出部、３８・・・制限誤差値算出部、３９・・・判定部、４０・・・修正誤差値算出部、４１・・・記憶部、Ｂ・・・誤差拡散ブロックＢＬの境界、ＢＬ・・・誤差拡散ブロック、Ｅｒｒ１・・・第１の誤差値、Ｅｒｒ１＿ｍｕｘ・・・制限誤差値、Ｅｒｒ２・・・第２の誤差値、Ｅｒｒ２’・・・修正誤差値、Ｈ・・・水平方向距離、ＬＶ１・・・第１の量子化データ、ＬＶ２・・・第２の量子化データ、ＰＸ、ＰＸ１〜ＰＸ８・・・画素、Ｖ・・・垂直方向距離、ｖｄ＿ｉｎ・・・入力データ、ｖｄ＿ｏｕｔ・・・出力データ、ｖｄ１＿ｍｏｄ・・・第１の画素データ、ｖｄ１＿ｏｕｔ・・・第１の出力画素データ、ｖｄ２＿ｍｏｄ・・・第２の画素データ、ｖｄ２＿ｏｕｔ・・・第２の出力画素データ
【図１】
2017167464.tif 000003
【図２】
2017167464.tif 000004
【図３】
2017167464.tif 000005
【図４】
2017167464.tif 000006
【図５】
2017167464.tif 000007
【図６】
2017167464.tif 000008
【図７】
2017167464.tif 000009
【図８】
2017167464.tif 000010
【図９】
2017167464.tif 000011
【図１０】
2017167464.tif 000012
【図１１】
2017167464.tif 000013