(57)【要約】【課題】乗算器や除算器を用いた場合よりも、低コスト又は低消費電力で画像の平滑化を実現する。また、ディザ画像に対して平滑化のためのフィルタリングを行った場合であっても、疑似輪郭のような画質劣化を防止する。【解決手段】加算器、減算器及びバレルシフタによってフィルタ回路を構成しているので、低コスト及び低消費電力で動作するフィルタ回路となる。また、加算器及び減算器よりも処理速度が遅い乗算器及び除算器を用いず、さらに、フリップフロップを用いてパイプライン化しているので、フィルタリング処理を高速化することが可能となる。また、フィルタ回路において注目画素に乗算されるフィルタ係数の全フィルタ係数の総数に占める割合が、５０％以上であるので、ディザ法によって表現された階調を維持することができるとともに、疑似輪郭などの画質劣化を防止することが可能となる。【選択図】図４
2008112396.tif 000002
【特許請求の範囲】
【請求項１】
加算器又は減算器と、
シフト演算によって、２のべき乗の乗算又は除算を行うシフト演算手段とを備え、
前記加算器による加算若しくは前記減算器による減算、又は、前記シフト演算手段によるシフト演算を行うことで、画像データに含まれる注目画素の画素値に第１のフィルタ係数を乗算した第１の演算結果を得て、
前記加算器による加算若しくは前記減算器による減算、又は、前記シフト演算手段によるシフト演算を行うことで、前記注目画素に隣接する複数個の周辺画素の画素値にそれぞれ第２のフィルタ係数を乗算した第２の演算結果を得て、
前記第１の演算結果と前記第２の演算結果とを前記加算器で加算し、
その加算結果を、前記シフト演算手段によって、前記第２の演算結果を得るために前記複数個の周辺画素の画素値に対して用いた前記第２のフィルタ係数と、前記第１のフィルタ係数との総和に相当する、２のべき乗で除算し、その除算結果を出力する
ことを特徴とするフィルタ回路。
【請求項２】
前記第１のフィルタ係数及び前記第２のフィルタ係数の総和で前記第１のフィルタ係数を除算した値が常に０．５以上となるような、前記第１のフィルタ係数及び前記第２のフィルタ係数を用いる
ことを特徴とする請求項１記載のフィルタ回路。
【請求項３】
前記注目画素が１個で、前記周辺画素が２個であり、
前記第２のフィルタ係数、前記第１のフィルタ係数及び前記第２のフィルタ係数のそれぞれの比が、１：２：１，７：１８：７，３：１０：３,５：２２：５,１：６：１,３：２６：３，１：１４：１，１：３０：１のうちの少なくともいずれか１つの比である
ことを特徴とする請求項２記載のフィルタ回路。
【請求項４】
前記加算器又は前記減算器及び前記シフト演算手段による演算結果を一時的に保持する一時記憶手段を備え、
前記一時記憶手段により前記演算結果を一時的に保持しつつ、前記加算器又は前記減算器及び前記シフト演算手段によってパイプライン処理を行う
ことを特徴とする請求項１記載のフィルタ回路。
【請求項５】
請求項１〜４のいずれか１項に記載のフィルタ回路であって、前記第１のフィルタ係数及び前記第２のフィルタ係数の比がそれぞれ異なる複数のフィルタ回路を備え、
前記画像データの特性を判定し、その判定結果に応じて前記複数のフィルタ回路のうちのいずれかを選択して用いる
ことを特徴とする画像処理回路。
【請求項６】
加算器による加算若しくは減算器による減算、又は、２のべき乗の乗算又は除算を行うためのシフト演算によって、画像データに含まれる注目画素の画素値に第１のフィルタ係数を乗算した第１の演算結果を得る第１のステップと、
加算器による加算若しくは減算器による減算、又は、２のべき乗の乗算又は除算を行うためのシフト演算によって、前記注目画素に隣接する複数個の周辺画素の画素値にそれぞれ第２のフィルタ係数を乗算した第２の演算結果を得る第２のステップと、
前記第１の演算結果と前記第２の演算結果とを加算器で加算する第３のステップと、
前記第３のステップにおける加算結果を、シフト演算によって、前記第２の演算結果を得るために前記複数個の周辺画素の画素値に対して用いた前記第２のフィルタ係数と、前記第１のフィルタ係数との総和に相当する、２のべき乗で除算し、その除算結果を出力する第４のステップと
を備えることを特徴とするフィルタリング方法。
【請求項７】
前記第１のステップ、前記第２のステップ及び前記第４のステップにおいては、前記第１のフィルタ係数及び前記第２のフィルタ係数の総和で前記第１のフィルタ係数を除算した値が常に０．５以上となるような、前記第１のフィルタ係数及び前記第２のフィルタ係数を用いる
ことを特徴とする請求項６記載のフィルタリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はフィルタリングによって画像を平滑化する技術に関する。
【背景技術】
【０００２】
階調を表現する方法の１つに、ディザ法と呼ばれるものがある。このディザ法は、複数の異なる濃度の画素を適切な位置に分散配置することで、より多くの階調を疑似的に表現するという手法である。例えば白画素と黒画素とを交互に配置することで全体として灰色（中間調）に見える画像を表現することができる。そして、これらの白画素と黒画素の数や位置を調整することで、白から黒までの階調を連続的に表すことが可能となる。
【０００３】
例えば特許文献１，２には、ディザ法によって階調が表現された画像（以下、ディザ画像という）を拡大又は縮小する際に、フィルタリングによって画像の平滑化を行う技術が開示されている。平滑化とは、互いに隣り合う画素の濃度差を小さくすることで画像の輪郭（エッジ）を滑らかにするという処理である。画像を拡大又は縮小した場合には、その画像の輪郭が強調されてしまうことがあるので、平滑化を施すことで強調された輪郭をぼかす必要がある。
【特許文献１】特開平３−１０５４８４号公報
【特許文献１】特開平６−１８０５６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ディザ画像をフィルタリングして平滑化する処理量は膨大であるため、その処理をソフトウェアによって実現した場合には、処理時間と消費電力が非常に多くなってしまうという問題がある。そこで、特に処理時間の高速化が求められる場合には、フィルタリング専用のハードウェアフィルタを用いればよい。ところが、ハードウェアフィルタは、高速処理を可能にする一方で、比較的高価な乗算器や除算器を使用するために製造コストが増大するとともに、消費電力が大きくなってしまうという問題がある。
【０００５】
ところで、ディザ画像に対して平滑化のためのフィルタリングを行うと、ディザ法によって表現された階調に段差が生じて、いわゆる疑似輪郭が発生することがある。例えば図９に示すように、白画素が「０」で黒画素が「１」で表された画像データ「０１０」に対して、２：３：２のフィルタ係数で構成された３タップフィルタでフィルタリングを行った場合、注目画素である黒画素「１」に対するフィルタリング結果は、（０×２＋１×３＋０×２）÷（２＋３＋２）＝３÷７＝０．４２８となる。ここで、計算結果の小数点以下第１位以下を四捨五入して画素の濃度を求めると仮定すると、図９の例の場合、黒画素「１」の濃度が「０」となってしまい、本来は白に近い灰色を表現していた領域がフィルタリングによって白を表現する領域に変化し、階調が失われてしまう。この現象が、階調の連続的に変化している領域で発生すると、疑似輪郭の原因となる。
【０００６】
本発明は上述した背景に鑑みてなされたものであり、その第１の目的は、乗算器や除算器を用いた場合よりも、低コスト又は低消費電力で画像の平滑化を実現することにある。さらに、本発明は、画像データに対して平滑化のためのフィルタリングを行った場合であっても、疑似輪郭のような画質劣化を抑制することを第２の目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、加算器又は減算器と、シフト演算によって、２のべき乗の乗算又は除算を行うシフト演算手段とを備え、前記加算器による加算若しくは前記減算器による減算、又は、前記シフト演算手段によるシフト演算を行うことで、画像データに含まれる注目画素の画素値に第１のフィルタ係数を乗算した第１の演算結果を得て、前記加算器による加算若しくは前記減算器による減算、又は、前記シフト演算手段によるシフト演算を行うことで、前記注目画素に隣接する複数個の周辺画素の画素値にそれぞれ第２のフィルタ係数を乗算した第２の演算結果を得て、前記第１の演算結果と前記第２の演算結果とを前記加算器で加算し、その加算結果を、前記シフト演算手段によって、前記第２の演算結果を得るために前記複数個の周辺画素の画素値に対して用いた前記第２のフィルタ係数と、前記第１のフィルタ係数との総和に相当する、２のべき乗で除算し、その除算結果を出力することを特徴とするフィルタ回路を提供する。この発明によれば、乗算器や除算器よりも低コスト又は低消費電力の加算器又は減算器及びシフト演算手段を用いているので、低コスト又は低消費電力で画像の平滑化を実現することが可能となる。
【０００８】
本発明の好ましい態様においては、前記第１のフィルタ係数及び前記第２のフィルタ係数の総和で前記第１のフィルタ係数を除算した値が常に０．５以上となるような前記第１のフィルタ係数及び前記第２のフィルタ係数を用いる。特に前記注目画素が１個で、前記周辺画素が２個である場合には、前記第２のフィルタ係数、前記第１のフィルタ係数及び前記第２のフィルタ係数のそれぞれの比が、１：２：１，７：１８：７，３：１０：３,５：２２：５,１：６：１,３：２６：３，１：１４：１，１：３０：１のうちの少なくともいずれか１つの比であることが望ましい。これらの態様によれば、画像に対して平滑化のためのフィルタリングを行った場合であっても、疑似輪郭のような画質劣化を抑制することができる。
【０００９】
また、本発明の別の好ましい態様においては、前記加算器又は前記減算器及び前記シフト演算手段による演算結果を一時的に保持する一時記憶手段を備え、前記一時記憶手段により前記演算結果を一時的に保持しつつ、前記加算器又は前記減算器及び前記シフト演算手段によってパイプライン処理を行う。この態様によれば、処理をより高速化することができる。
【００１０】
また、本発明は、請求項１〜４のいずれか１項に記載のフィルタ回路であって、前記第１のフィルタ係数及び前記第２のフィルタ係数の比がそれぞれ異なる複数のフィルタ回路を備え、前記画像データの特性を判定し、その判定結果に応じて前記複数のフィルタ回路のうちのいずれかを選択して用いることを特徴とする画像処理回路を提供する。本発明によれば、例えばテキスト、グラフィック又はイメージなどの画像データの特性に応じて適切なフィルタ回路を用いることができる。
【００１１】
また、本発明は、加算器による加算若しくは減算器による減算、又は、２のべき乗の乗算又は除算を行うためのシフト演算によって、画像データに含まれる注目画素の画素値に第１のフィルタ係数を乗算した第１の演算結果を得る第１のステップと、加算器による加算若しくは減算器による減算、又は、２のべき乗の乗算又は除算を行うためのシフト演算によって、前記注目画素に隣接する複数個の周辺画素の画素値にそれぞれ第２のフィルタ係数を乗算した第２の演算結果を得る第２のステップと、前記第１の演算結果と前記第２の演算結果とを加算器で加算する第３のステップと、前記第３のステップにおける加算結果を、シフト演算によって、前記第２の演算結果を得るために前記複数個の周辺画素の画素値に対して用いた前記第２のフィルタ係数と、前記第１のフィルタ係数との総和に相当する、２のべき乗で除算し、その除算結果を出力する第４のステップとを備えることを特徴とするフィルタリング方法を提供する。この発明によれば、乗算器や除算器よりも低コスト又は低消費電力の加算器又は減算器及びシフト演算手段を用いているので、低コスト又は低消費電力で画像の平滑化を実現することが可能となる。
【００１２】
さらに、前記第１のステップ、前記第２のステップ及び前記第４のステップにおいては、前記第１のフィルタ係数及び前記第２のフィルタ係数の総和で前記第１のフィルタ係数を除算した値が常に０．５以上となるような、前記第１のフィルタ係数及び前記第２のフィルタ係数を用いることが望ましい。これにより、画像に対して平滑化のためのフィルタリングを行った場合であっても、疑似輪郭のような画質劣化を抑制することができる。
【発明を実施するための最良の形態】
【００１３】
次に、本発明を実施するための最良の形態について説明する。
図１は、本実施形態に係る画像表示装置１の構成を示した図である。
図示のように、画像表示装置１は、ＣＰＵ（Central Processing Unit）１１と、ＲＯＭ（Read Only Memory）１２と、ＲＡＭ（Random Access Memory）１３と、ＶＲＡＭ（Video Random Access Memory）１４と、記憶性液晶表示体１５と、表示制御装置１６と、電源１７と、電源制御装置１８と、コネクタ１９と、記憶制御装置２０と、Ｉ／Ｏ２１と、キー２２と、記憶装置２３と、画像処理回路２５とを備えている。ＣＰＵ１１は、ＲＯＭ１２に記憶されている制御プログラムを読み出してＲＡＭ１３に展開し、その制御プログラムに記述された手順に従って処理を実行する。コネクタ１９に対しては、リムーバブルメディアのような可搬性の記憶媒体２４が着脱自在である。この記憶媒体２４は、例えばＳＤ（Secure Digital）カードのようなフラッシュメモリ内蔵のカード型記憶媒体であってもよいし、例えばフロッピー（登録商標）ディスクなどの磁気媒体を利用したディスク型記憶媒体であってもよい。
【００１４】
記憶装置２３は、フラッシュメモリやハードディスクなどの不揮発性の記憶手段である。記憶装置２３又は記憶媒体２４には、テキスト（文字）、グラフィック（図形）又はイメージ（写真画像）などの画像を表す画像データが記憶されている。この画像データは、ディザ法によって階調が表現された画像（ディザ画像）を表している。記憶制御装置２０は、ＣＰＵ１１の指示に従い、記憶装置２３又は記憶媒体２４から画像データを読み出して画像処理回路２５に転送する。画像処理回路２５は、ＣＰＵ１１の指示に従い、この画像データに対して平滑化や拡大・縮小などの画像処理を施し、これをＶＲＡＭ１４に格納する。記憶性液晶表示体１５は、コレステリック液晶や電気泳動などを利用した表示手段であり、電力供給が停止しても画像を表示し続けることができるという記憶性を有している。ＶＲＡＭ１４に書き込まれた画像データは、ＣＰＵ１１の指示の下で表示制御装置１６に供給される。表示制御装置１６は記憶性液晶表示体１５を制御して上記画像データに基づいた画像を表示させる。キー２２は、利用者によって操作される操作手段であり、ペンデバイスやジョイスティックなどの操作デバイスを含んでいる。Ｉ／Ｏ２１は、キー２２の操作状態を監視しており、ユーザによってキー２２が操作されるとその操作に応じた信号をＣＰＵ１１に供給する。電源１７は、例えば充電可能な電池であり、電源制御装置１８は、電源１７のオンオフ制御や電力の残量監視など各種の電源管理を行う。
【００１５】
画像処理回路２５は、複数のフィルタ回路２５１を備えており、このフィルタ回路２５１によって画像データをフィルタリングすることで、ディザ画像の平滑化を行う。これらのフィルタ回路２５１はいずれも、乗算器や除算器よりも低コスト及び低消費電力である加算器又は減算器のほか、バレルシフタとフリップフロップによって構成されている。フィルタ回路２５１は、いずれも３タップフィルタであり、それぞれのフィルタ係数が８通りに異なっている。これら８種類のフィルタ回路（第１のフィルタ回路〜第８のフィルタ回路）のフィルタ係数の比は、図２に示すとおり、「１：２：１」と、「７：１８：７」と、「３：１０：３」と、「５：２２：５」と、「１：６：１」と、「３：２６：３」と、「１：１４：１」と、「１：３０：１」である。
【００１６】
各々のフィルタ回路２５１における３つのフィルタ係数のうち、中央のフィルタ係数は注目画素の画素値に対して乗算される係数（第１のフィルタ係数）であり、左右両側のフィルタ係数は、注目画素に隣接する２個の周辺画素の画素値に対してそれぞれ乗算される係数（第２のフィルタ係数）である。そして、各々のフィルタ回路２５１において、中央のフィルタ係数が全フィルタ係数の総和に占める割合は常に０．５（５０％）以上である。例えば第１のフィルタ回路の場合、フィルタ係数の比は「１：２：１」であるから、中央のフィルタ係数「２」が全フィルタ係数の総数である１＋２＋１＝「４」に占める割合は、２÷４＝０．５（５０％）である。同様に第２のフィルタ回路の場合、フィルタ係数の比は「７：１８：７」であるから、中央のフィルタ係数「１８」が全フィルタ係数の総数である７＋１８＋７＝「３２」に占める割合は、１８÷３２＝０．５６３（５６．３％）である。
【００１７】
ここで、図３は、中央のフィルタ係数が全フィルタ係数の総数に占める割合と、平滑化の効果と、疑似輪郭の発生しやすさとの関係を概念的に示した図である。図において、実線ｒは、中央のフィルタ係数が全フィルタ係数の総数に占める割合と、平滑化の効果との関係を表している。また、実線ｓは、中央のフィルタ係数が全フィルタ係数の総数に占める割合と、疑似輪郭の発生しやすさとの関係を表している。中央のフィルタ係数の全フィルタ係数の総数に占める割合が大きくなるほど、平滑化の効果は小さくなる。このため、実線ｒに示すように、中央のフィルタ係数の全フィルタ係数の総数に占める割合と、平滑化の効果とは、ほぼ反比例の関係となる。一方、疑似輪郭は、過剰な平滑化によって階調が失われることで発生するから、平滑化の効果が大きいほど、疑似輪郭が発生しやすいと言える。このため、実線ｓに示すように、中央のフィルタ係数が全フィルタ係数の総数に占める割合と、疑似輪郭の抑制効果のレベルとは、おおよそ比例する関係となる。
【００１８】
このように、中央のフィルタ係数の全フィルタ係数の総数に占める割合が１（１００％）に近づくほど、平滑化の効果は小さい一方で、疑似輪郭が発生しにくくなるという利点がある。これに対し、中央のフィルタ係数の全フィルタ係数の総数に占める割合が０（０％）に近づくほど、平滑化の効果は大きい一方で、疑似輪郭が発生しやすくなるという欠点がある。このような利点と欠点のバランスを勘案した上で、疑似輪郭の抑制をより重視するならば、中央のフィルタ係数の全フィルタ係数の総数に占める割合が５０％以上であることが望ましいことが発明者らの検証によって確認された。このため、前述した第１のフィルタ回路〜第８のフィルタ回路では、中央のフィルタ係数の全フィルタ係数の総数に占める割合が常に５０％以上となっているのである。これによって、過剰な平滑化によって発生する疑似輪郭などの画質劣化を抑制することが可能となる。
【００１９】
さらに、図２では、中央のフィルタ係数の全フィルタ係数の総数に占める割合が、上段に示したフィルタ回路ほど小さく、下段に示したフィルタ回路ほど大きい。つまり、上段に示したフィルタ回路ほど平滑化の効果は大きく、下段に示したフィルタ回路ほど平滑化の効果は小さいと言える。画像処理回路２５は、画像データの特性（テキストかグラフィックかイメージか）を判定し、その判定結果に応じて、平滑化に用いるフィルタ回路として、第１のフィルタ回路〜第８のフィルタ回路から選択する。例えば、画像がテキストかグラフィックであれば、輪郭（エッジ）が平滑化されてぼやけてしまうことは望ましくないから、画像処理回路２５は、平滑化の効果が比較的小さいフィルタ回路（例えば第５のフィルタ回路〜第８のフィルタ回路のいずれか）を用いる。一方、画像がイメージの場合には、滑らかに変化する階調性が求められるから、画像処理回路２５は、平滑化の効果が比較的大きいフィルタ回路（例えば第１のフィルタ回路〜第４のフィルタ回路のいずれか）を用いる。なお、画像データの特性判定は、例えば画像データ毎に画像の特性を示すデータを記憶しておく手法や、画像の周波数を解析するなどの手法で実現することができる。
【００２０】
次に、フィルタ回路２５１の構成について具体的に説明する。
図４は、図２で説明した第１のフィルタ回路の構成を示す図である。図４に示すように、第１のフィルタ回路は、３つの入力端１０１ｌ、１０１ｃ、１０１ｒと、２つの加算器１０２，１０６と、２つのバレルシフタ１０３，１０７と、２つのフリップフロップ１０４，１０５と、１つの出力端１０８とを備えている。入力端１０１ｌ、１０１ｃ、１０１ｒには、画像データから抽出された３つの画素値が入力される。例えば図５に示すように、画素値がｄ１，ｄ２，ｄ３，ｄ４，ｄ５，ｄ６，ｄ７，ｄ８，ｄ９，ｄ１０・・・というように連続している場合、まず最初に、画像処理回路２５によって画素値ｄ１，ｄ２，ｄ３が画素群Ｄ１として抽出される。そして、画素値ｄ２が、中央にある注目画素の画素値Ｃとして入力端１０１ｃに入力され、画素値ｄ１が、注目画素の左にある周辺画素の画素値Ｌとして入力端１０１ｌに入力され、画素値ｄ３が、注目画素の右にある周辺画素の画素値Ｒとして入力端１０１ｒに入力される。
【００２１】
画素値Ｌと画素値Ｒは、加算器１０２において加算されて、Ｔ＝Ｌ＋Ｒとなる。画素値Ｃは、バレルシフタ１０３によって、２進数で１桁分だけ上位（左）にシフト演算される。バレルシフタは、シフト演算を行うことで、入力値に対して２のべき乗を乗算又は除算するシフト演算手段である。図４に示すバレルシフタ１０３は、図６に示すような状態で結線された構成となっている。このバレルシフタ１０３によるシフト演算は、入力値（画素値Ｃ）に対して「２」を乗算することに相当するので、図では「←２」と表記している。そして、加算器１０２による加算結果「Ｔ」と、バレルシフタ１０３によるシフト演算の結果「２Ｃ（＝２×Ｃ）」は、それぞれフリップフロップ１０４，１０５に格納される。
【００２２】
次に、画像処理回路２５によって、図５の画素値ｄ２，ｄ３，ｄ４が画素群Ｄ２として抽出され、画素値ｄ２が画素値Ｌとして入力端１０１ｌに入力され、画素値ｄ３が画素値Ｃとして入力端１０１ｃに入力され、画素値ｄ４が画素値Ｒとして入力端１０１ｒに入力される。そして、これらの画素値Ｌ，Ｃ，Ｒに対して上述したような加算とシフト演算が行われる。そして、既にフリップフロップ１０４，１０５に格納されていた演算結果「Ｔ」及び「２Ｃ」がフリップフロップ１０４，１０５から加算器１０６に供給されるのとほぼ同時に、加算器１０２及びバレルシフタ１０３による次の演算結果（画素値ｄ２，ｄ３，ｄ４に対する加算及びシフト演算の結果）が、それぞれフリップフロップ１０４，１０５に格納される。
【００２３】
加算器１０６に「Ｔ」及び「２Ｃ」が供給されると、加算器１０６にてこれらが加算される。そして、その加算結果「Ｔ＋２Ｃ」が、バレルシフタ１０７によって、２進数で２桁分だけ下位（右）にシフト演算される。このシフト演算は、画素値Ｃを「４」で除算することに相当するので、図では「→４」と表記している。そして、バレルシフタ１０７から、シフト演算の結果である（Ｔ＋２Ｃ）÷４が出力端１０８に供給され、これが第１のフィルタ回路の演算結果「Ｚ」として出力される。このＺの値は、図５に示した画素ｄ２に対して平滑化がなされた画素値を意味している。
【００２４】
続いて、画像処理回路２５によって、図５の画素値ｄ３，ｄ４，ｄ５が画素群Ｄ３として抽出され、加算器１０２及びバレルシフタ１０３による処理がこれらの画素値に対して施されると同時に、前述した画素群Ｄ２に対する加算器１０６及びバレルシフタ１０７による演算が行われる。同様に、画素群Ｄ４以降についても、注目画素の位置が１つずつずらされていって上記と同一の処理が実行される。フリップフロップ１０４，１０５は、途中の演算結果を一時的に保持しつつ、処理をパイプライン化する役割を果たしており、これにより図５に示した画素群Ｄ１，Ｄ２，Ｄ３、Ｄ４・・・について処理を連続的に行うことができる。このパイプライン処理によって処理が高速化されることとなる。なお、このパイプライン処理のステージ数は「２」であるが、これは図２に示すように、加算器又は減算器の総数と同じである。
【００２５】
次に、図７は、図２で説明した第５のフィルタ回路の構成を示す図である。
図７に示すように、第５のフィルタ回路は、３つの入力端５０１ｌ、５０１ｃ、５０１ｒと、３つの加算器５０２，５０６，５１０と、３つのバレルシフタ５０３，５０７，５１１と、２つのフリップフロップ５０８，５０９と、１つの出力端５１２とを備えている。入力端５０１ｌ、５０１ｃ、５０１ｒには、第１のフィルタ回路と同様に、画像データから抽出された３つの画素値ｄ１，ｄ２，ｄ３が、それぞれ画素値Ｌ，Ｃ，Ｒとして入力される。画素値Ｌと画素値Ｒは、加算器５０２において加算されて、Ｔ＝Ｌ＋Ｒとなる。画素値Ｃは、バレルシフタ５０３によって、２進数で１桁分だけ上位（左）にシフト演算される。このシフト演算は、画素値Ｃに対して「２」を乗算することに相当するので、図では「←２」と表記している。
【００２６】
次に、画素値Ｃと、バレルシフタ５０３から供給される「２Ｃ」とが、加算器５０６によって加算される。そして、その加算結果「Ｃ＋２Ｃ」が、バレルシフタ５０７によって、２進数で１桁分だけ上位（左）にシフト演算される。このシフト演算は、画素値Ｃに対して「２」を乗算することに相当するので、図では「←２」と表記している。そして、このバレルシフタ５０７によるシフト演算の結果である「２（Ｃ＋２Ｃ）」がフリップフロップ５０９に格納されるとともに、加算器５０２から供給される「Ｔ」がフリップフロップ５０８に格納される。
【００２７】
このとき、画像処理回路２５によって、図５の画素値ｄ２，ｄ３，ｄ４が画素群Ｄ２として抽出され、画素値ｄ２が画素値Ｌとして入力端５０１ｌに入力され、画素値ｄ３が画素値Ｃとして入力端５０１ｃに入力され、画素値ｄ４が画素値Ｒとして入力端５０１ｒに入力される。そして、これらの画素値Ｌ，Ｃ，Ｒに対して上述したような加算とシフト演算が施される。つまり、この第５のフィルタ回路においても、フリップフロップ５０８，５０９は、処理をパイプライン化する役割を果たしており、処理を高速化することができる。なお、このパイプライン処理のステージ数は「２」であるが、これは図２に示すように、加算器又は減算器の総数よりも少ない数となっている。
【００２８】
そして、フリップフロップ５０８，５０９に格納されていた「Ｔ」及び「２（Ｃ＋２Ｃ）」が、加算器５１０に供給されて加算される。そしてその加算結果「Ｔ＋２（Ｃ＋２Ｃ）」が、バレルシフタ５１１によって、２進数で３桁分だけ下位（右）にシフト演算される。このシフト演算は、画素値Ｃを「８」で除算することに相当するので、図では「→８」と表記している。そして、バレルシフタ５０７から、シフト演算の結果である「｛Ｔ＋２（Ｃ＋２Ｃ）｝÷８」が出力端５１２に供給され、これが第５のフィルタ回路の演算結果「Ｚ」として出力される。このＺの値は、図５に示した画素ｄ２に対して平滑化がなされた画素値を意味している。以降同様にして、注目画素の位置が１つずつずらされていって上記と同一のフィルタリング処理が実行される。
【００２９】
前掲の図４，７は、第１のフィルタ回路と第５のフィルタ回路の説明に関するものであったが、これら以外のフィルタ回路の構成も、第１のフィルタ回路と第５のフィルタ回路の構成に倣って容易に実現することができる。ここで、第１のフィルタ回路〜第８のフィルタ回路の構成を数式で表現すると、図８に示すようになる。図８において、Ｌ，Ｃ，Ｒ，Ｔ，Ｚは前述した値であり、これらの値に対する「＋」の演算子は加算器による加算を意味しており、「−」の演算子は減算器による減算を意味している。そして、２のべき乗による乗算と、２のべき乗による除算は、バレルシフタによるシフト演算を意味している。
【００３０】
例えば、第２のフィルタ回路を例にとると、画素値「Ｃ」に対して上位に３桁分シフト演算した結果である「８Ｃ」と、画素値「Ｃ」とを加算し、その加算結果に対して上位に１桁分シフト演算して「２（Ｃ＋８Ｃ）」を得る。この「２（Ｃ＋８Ｃ）」、つまり「１８Ｃ」は、注目画素の画素値「Ｃ」に対して、「７：１８：７」の中央のフィルタ係数（第１のフィルタ係数）である「１８」を乗算した結果（第１の演算結果）に相当する。
【００３１】
一方、画素値「Ｌ」，「Ｒ」を加算した「Ｔ」に対して上位に３桁分シフト演算した結果「８Ｔ」から、「Ｔ」を減算して（８Ｔ−Ｔ）を得る。この「８Ｔ−Ｔ」、つまり「７Ｔ」は、周辺画素の画素値の総和「Ｔ」に対して、「７：１８：７」の左右両側のフィルタ係数（第２のフィルタ係数）である「７」を乗算した結果（第２の演算結果）に相当する。
【００３２】
そして、これらを加算した｛（８Ｔ−Ｔ）＋２（Ｃ＋８Ｃ）｝に対して下位に５桁分シフト演算して、Ｚ＝｛（８Ｔ−Ｔ）＋２（Ｃ＋８Ｃ）｝÷３２を得る。これは、上記の第１の演算結果と第２の演算結果とを加算し、その加算結果を、フィルタ係数７，１８，７の総和に相当する、２のべき乗（この場合は、２5＝３２）で除算した結果に相当する。
【００３３】
つまり、図８に示したフィルタ回路は、いずれも次のような手順でフィルタリングを行うことになる。まず、加算器による加算若しくは減算器による減算、又は、バレルシフタによるシフト演算を行うことで、注目画素の画素値「Ｃ」に、第１のフィルタ係数を乗算した第１の演算結果を得る。一方、加算器による加算若しくは減算器による減算、又は、バレルシフタによるシフト演算を行うことで、複数個の周辺画素の画素値Ｌ，Ｒにそれぞれ第２のフィルタ係数を乗算した第２の演算結果を得る。そして、その第１の演算結果と第２の演算結果とを加算器で加算し、その加算結果を、バレルシフタによって、フィルタ係数の総和に相当する、２のべき乗で除算し、その除算結果を出力する。
【００３４】
上述した実施形態によれば、乗算器及び除算器を使用せずに、加算器、減算器及びバレルシフタによってフィルタ回路２５１を構成しているので、従来よりも低コスト及び低消費電力を実現することができる。また、加算器及び減算器は乗算器及び除算器よりも処理速度が速く、且つ、フリップフロップを用いて処理をパイプライン化しているので、フィルタリング処理を高速化することが可能となる。特に容量が小さい電池などの電源１７によって動作する画像表示装置１の場合、処理の高速化とともに、消費電力の低減化は非常に重要である。本実施形態ではその両方の課題に対処することができる。
【００３５】
また、本実施形態によれば、フィルタ回路２５１において、注目画素の画素値Ｃに乗算されるフィルタ係数（第１のフィルタ係数）の全フィルタ係数の総和に占める割合が、常に５０％以上となっている。これにより、ディザ法によって表現された階調を維持することができるとともに、疑似輪郭などの画質劣化を抑制することが可能となる。さらに、本実施形態によれば、画像の特性（テキストかグラフィックかイメージか）に応じて、適切なフィルタ回路２５１を使い分けることができる。
【００３６】
上述した実施形態を次のように変形してもよい。
図２に示した全てのフィルタ回路２５１によって同時にフィルタリングを行い、その複数のフィルタリング結果から適切なものを選択して用いるようにしてもよい。この場合、許容される演算時間やコストの制約などによって使用可能な加算器および減算器の数が変わるため、使用するフィルタ回路２５１の構成も変わってくる。例えば、５個の加算器および減算器の使用が許されるなら、図２に示した全てのフィルタ回路２５１を使用することができる。この場合、画像処理回路２５は、８種類の演算結果（画素値）を選択可能となる。さらに、フィルタ回路２５１によるフィルタリングを行わないという選択肢も考慮すると、９種類の画素値の選択が可能となる。
また、４個の加算器および減算器の使用が許されるなら、図２に示したフィルタ回路２５１のうち、加算器・減算器の数が４以下のもの、つまり、第１〜第３、第５、第７，第８のフィルタ回路を使用することができる。この場合、画像処理回路２５は、６種類の演算結果（画素値）を選択可能となる。さらに、フィルタ回路２５１によるフィルタリングを行わないという選択肢も考慮すると、７種類の画素値の選択が可能となる。
また、３個の加算器および減算器の使用が許されるなら、図２に示したフィルタ回路２５１のうち、加算器・減算器の数が３以下のもの、つまり、第１、第５、第７，第８のフィルタ回路を使用することができる。この場合、画像処理回路２５は、４種類の演算結果（画素値）を選択可能となる。さらに、フィルタ回路２５１によるフィルタリングを行わないという選択肢も考慮すると、５種類の画素値の選択が可能となる。
【００３７】
実施形態で述べた技術は、ディザ画像を表示する画像表示装置であれば適用可能であり、電子ペーパーなどと呼ばれるような可搬性に富む表示体のほか、パーソナルコンピュータやＰＤＡ（Personal Digital Assistants）の液晶ディスプレイなどにも適用することができる。
【００３８】
前述したように、ディザ画像の階調を維持しつつ画質劣化を防止するためには、フィルタ回路２５１において、注目画素の画素値に乗算されるフィルタ係数の全フィルタ係数の総数に占める割合を常に５０％以上とすればよい。このようなフィルタリング方法は、実施形態で述べたフィルタ回路（ハードウェア）に限らず、ＣＰＵ１１が実行し得るソフトウェアによって実現することもできる。そのソフトウェアには、ＣＰＵ１１が、画像データに含まれる注目画素の画素値に対して第１のフィルタ係数を乗算して第１の演算結果を得るステップと、複数個の周辺画素の画素値にそれぞれ第２のフィルタ係数を乗算して第２の演算結果を得るステップと、第１の演算結果と第２の演算結果とを加算し、その加算結果を、第１のフィルタ係数及び複数個の第２のフィルタ係数の総和で除算して、その除算結果を出力するステップとが記述されている。さらに、このソフトウェア（プログラム）は、磁気テープ、磁気ディスク、フロッピー（登録商標）ディスク、光記録媒体、光磁気記録媒体、ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk）、ＲＡＭなどの記録媒体に記録した状態で提供し得る。
【図面の簡単な説明】
【００３９】
【図１】本発明の実施形態に係る画像表示装置の構成を示した図である。
【図２】同画像表示装置が用いるフィルタ係数を示す図である。
【図３】中央のフィルタ係数が全フィルタ係数の総数に占める割合と、平滑化の効果と、疑似輪郭の発生しやすさとの関係を概念的に示した図である。
【図４】同画像表示装置における第１のフィルタ回路の構成を示す図である。
【図５】画像データに含まれる画素値の配置例を示す図である。
【図６】同フィルタ回路におけるバレルシフタの構成を示す図である。
【図７】同画像表示装置における第５のフィルタ回路の構成を示す図である。
【図８】同画像表示装置における第１のフィルタ回路〜第８のフィルタ回路の構成を数式で表現した図である。
【図９】ディザ画像において平滑化によって階調が失われる様子を説明する図である。
【符号の説明】
【００４０】
１…画像表示装置、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…ＶＲＡＭ、１５…記憶性液晶表示体、１６…表示制御装置、１７…電源、１８…電源制御装置、１９…コネクタ、２０…記憶制御装置、２１…Ｉ／Ｏ、２２…キー、２３…記憶装置、２４…記憶媒体、２５…画像処理回路、２５１…フィルタ回路。
【図１】
2008112396.tif 000003
【図２】
2008112396.tif 000004
【図３】
2008112396.tif 000005
【図４】
2008112396.tif 000006
【図５】
2008112396.tif 000007
【図６】
2008112396.tif 000008
【図７】
2008112396.tif 000009
【図８】
2008112396.tif 000010
【図９】
2008112396.tif 000011