(57)【要約】【課題】  並列処理により画像処理の最低の処理速度を向上させるには、並列数に比例した大きさの回路規模が必要になる。【解決手段】  隣接する複数の注目画素の画素値と当該複数の注目画素の属性情報及び複数の注目画素の周囲の画素の画素値とを用いて画像処理を行う画像処理装置であって、複数の注目画素の属性情報を基に、画像処理で用いる複数の係数値を生成する係数生成部と、複数の係数値の第１の係数値と、複数の注目画素の画素値と前記周囲の画素の画素値のそれぞれとの演算処理を行う複数の処理Ａ部と、複数の係数値の第２の係数値と、複数の処理ＡＢ部の各グループのそれぞれの出力との演算処理を行う複数の処理Ｂ部と、複数の処理Ｂ部のそれぞれの出力の演算結果と、複数の係数値の第３の係数値とに応じた演算処理を行う複数の処理Ｃ部とを有し、複数の処理Ｂ部では、複数の注目画素それぞれの周囲の共通する画素の画素値と第１の係数値との演算を行う処理Ｂ部を共通化している。【選択図】  図７
2012243159.tif 000002
【特許請求の範囲】
【請求項１】
隣接する複数の注目画素の画素値と当該複数の注目画素の属性情報及び前記複数の注目画素の周囲の画素の画素値とを用いて画像処理を行う画像処理装置であって、
前記複数の注目画素の属性情報を基に、前記画像処理で用いる複数の係数値を生成する係数生成手段と、
前記複数の係数値の第１の係数値と、前記複数の注目画素の画素値と前記周囲の画素の画素値のそれぞれとの演算処理を行う複数の第１の演算手段と、
前記複数の係数値の第２の係数値と、前記複数の第１の演算手段の各グループのそれぞれの出力との演算処理を行う複数の第２の演算手段と、
前記複数の第２の演算手段のそれぞれの出力の演算結果と、前記複数の係数値の第３の係数値とに応じた演算処理を行う複数の第３の演算手段とを有し、
前記複数の第１の演算手段では、前記複数の注目画素それぞれの周囲の共通する画素の画素値と前記第１の係数値との演算を行う演算手段を共通化したことを特徴とする画像処理装置。
【請求項２】
前記係数生成手段は、前記複数の注目画素の属性情報が互いに異なる場合、前記複数の注目画素の属性情報の平均値、大きい方の値、小さい方の値のいずれかを用いて、前記画像処理で用いる複数の係数値を生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記係数生成手段は、前記複数の注目画素の属性情報が互いに異なる場合、前記複数の注目画素の属性情報のそれぞれに応じた、前記画像処理で用いる複数の係数値を生成し、
前記第１ないし第３の演算手段のそれぞれは、前記複数の係数値を使用して、前記複数の注目画素の画素値のそれぞれに対する画像処理を逐次処理するように制御する制御手段を更に有することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記逐次処理の回数を所定回数に設定する設定手段を更に有し、前記逐次処理の回数が前記設定手段により設定された前記所定回数に達すると、前記制御手段は、前記逐次処理を中止することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記第１の演算手段は、前記第１の係数値と、前記複数の注目画素の画素値と前記周囲の画素の画素値のそれぞれとの乗算処理を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記第２の演算手段は、前記第２の係数値と、前記複数の第１の演算手段の各グループのそれぞれの出力との加算処理を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記第３の演算手段は、前記複数の第２の演算手段の出力の加算処理を行い、その加算結果を前記第３の係数値に従ってシフトすることを特徴とする請求項１に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像処理を並列に行う画像処理装置に関するものである。
【背景技術】
【０００２】
画像処理を高速に行う手法として、複数の画像処理回路を並列に設け、これら複数の画像処理回路で並行して画像処理を行う方法がある。これによれば、例えば回路を２組用意することで、２つの処理を並行して実施することにより、処理速度を上げることが可能になる。しかし、このような構成では回路規模も２倍となり、回路の設計・製造コストが大きなものとなってしまう。
【０００３】
そこで、なるべく少ない回路で処理を高速に行う技術として、並列処理が可能かどうかを判断して、可能な場合は並列処理を行い、不可能な場合は逐次処理を行うことが提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−３３７９３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、並列処理が不可能な場合に逐次処理を行う構成では、逐次処理による最低処理速度を保証することができない。この最低処理速度を保証するためには、それと比例した大きさの回路規模が必要になるという課題がある。
【０００６】
本発明の目的は、上記従来技術の問題点を解決することにある。
【０００７】
本願発明の特徴は、回路規模の増大を抑えて、複数の注目画素に対する画像処理を並行して行うことができる画像処理装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
隣接する複数の注目画素の画素値と当該複数の注目画素の属性情報及び前記複数の注目画素の周囲の画素の画素値とを用いて画像処理を行う画像処理装置であって、
前記複数の注目画素の属性情報を基に、前記画像処理で用いる複数の係数値を生成する係数生成手段と、
前記複数の係数値の第１の係数値と、前記複数の注目画素の画素値と前記周囲の画素の画素値のそれぞれとの演算処理を行う複数の第１の演算手段と、
前記複数の係数値の第２の係数値と、前記複数の第１の演算手段の各グループのそれぞれの出力との演算処理を行う複数の第２の演算手段と、
前記複数の第２の演算手段のそれぞれの出力の演算結果と、前記複数の係数値の第３の係数値とに応じた演算処理を行う複数の第３の演算手段とを有し、
前記複数の第１の演算手段では、前記複数の注目画素それぞれの周囲の共通する画素の画素値と前記第１の係数値との演算を行う演算手段を共通化したことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、回路規模の増大を抑えて、複数の注目画素に対する画像処理を並行して行うことができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る画像処理装置の構成を説明するブロック図。
【図２】画像処理装置が扱う画像と画素データとを説明する模式図。
【図３】画素データバス１３を介して画像処理装置に入力される画素データのタイミングチャートと、各画素の画像上での位置関係を示す模式図。
【図４】画像処理装置から画素データバス１５を介して出力される画素データのタイミングチャートと、各画素の画像上での位置関係を示す模式図。
【図５】画像記憶部が演算部に転送する画素データのタイミングチャートと、各画素の画像上での位置関係を示す模式図。
【図６】従来の演算部による演算の概念を説明する概念図。
【図７】本実施形態１に係る演算部の演算処理の模式図及び演算回路のブロック図。
【図８】実施形態１に係る係数生成部を説明するブロック図。
【図９】本実施形態１に係る演算部の処理Ａ部、処理Ｂ部、及び、処理Ｃ部の構成を示すブロック図。
【図１０】本実施形態２に係る画像の一例を表した模式図。
【図１１】実施形態２に係る画像処理装置で入出力される画素データの転送タイミングを示すタイミングチャート。
【図１２】実施形態２において、画像記憶部１１が演算部１２に対して転送する画素データのタイミングを説明するタイミングチャート。
【図１３】実施形態２に係る演算部の構成を説明するブロック図。
【図１４】実施形態２に係る切換部の構成を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１２】
図１は、本実施形態に係る画像処理装置１の構成を説明するブロック図である。
【００１３】
画像記憶部１１は、画像処理装置１に供給される画素の画素データを、クロック信号１６に同期して画素データバス１３を介して２画素ずつ受信して記憶する。ここで、画素データは画素値と制御値（属性情報）とを有している。また画像記憶部１１は、全ての画素データの受信が終わった後、画像記憶部１１に記憶した画素データを２つの注目画素ずつ、それら注目画素の周囲の１０個の画素の画素データと共に画素データバス１４を介して演算部１２に転送する。このとき、注目画素の画素データは画素値と制御値とを有し、周囲の１０個の画素の画素データは画素値だけを含んでいる。この転送されるデータについては後述する。演算部１２は、画像記憶部１１から画像データバス１４を介して転送された注目画素である２画素の画素データと、その周囲の１０個の画素の画素データとを受信して、２つの注目画素の画素データを並列で演算する。また演算部１２は、その演算結果の値を画素値とした画素データを、２画素ずつ画素データバス１５を介して外部に出力する。
【００１４】
図２は、画像処理装置１が扱う画像と画素データとを説明する模式図である。
【００１５】
図２（Ａ）は画像の模式図で、この画像は画素の集まりであることを表しており、各画素には識別のために左上を「００」とした座標の番号が振ってある。尚、ここで画素データとは、画素の持つデータを表しており、後述するように、画素の画素値と制御値とを含んでいる場合と、画素の画素値だけを含む場合とがある。
【００１６】
図２（Ｂ）は、実施形態に係る画像処理装置１に入力される画素データの模式図で、各画素データは、対応する画素の画素値と制御値とを含んでいる。
【００１７】
図２（Ｃ）は、画像処理装置１が出力する周辺画素の画素データの模式図で、各画素データには制御値は含まれず、対応する画素の画素値だけが含まれている。
【００１８】
図３は、画素データバス１３を介して画像処理装置１に入力される画素データのタイミングチャートと、各画素の画像上での位置関係を示す模式図である。
【００１９】
図３（Ａ）は、画素データバス１３における画素データの転送タイミングを示すタイミングチャートである。ここでは有効信号がハイレベルにある間、クロック信号１６に同期して、各クロック周期ごとに２画素ずつの画素データがに転送される。ここで各画素データは画素値と制御値とを含んでいる。
【００２０】
図３（Ｂ）は、１クロック周期で画像処理装置１に入力される２つの画素データの、図２（Ａ）の画像上での位置関係を表した模式図である。画素値Ａと制御値Ａで構成される画素データＡの画素Ａと、画素値Ｂと制御値Ｂで構成される画素データＢの画素Ｂとは、画像で水平方向に隣接した２つの画素であることを表している。
【００２１】
図３（Ｃ）は、図３（Ａ）の３０１で示す、クロック信号のクロック周期２で転送される２つの画素データに対応する２つの画素の、画像上での位置関係を表した模式図である。画素値００と制御値００で構成される画素データ００の画素００と、画素値０１と制御値０１で構成される画素データ０１の画素０１は、画像上で水平方向に隣接した２つの画素であることを表している。
【００２２】
また図３（Ｄ）は、図３（Ａ）の３０２で示す、クロック信号のクロック周期３で転送される２つの画素データに対応する２つの画素の、画像上での位置関係を表した模式図である。画素値０２と制御値０２で構成される画素データ０２の画素０２と、画素値０３と制御値０３で構成される画素データ０３の画素０３は、画像上で水平方向に隣接した２つの画素であることを表している。
【００２３】
このように、画像上で水平方向に隣接した２つの画素の画素値と制御値で構成される画素データが、画素データバス１３を介してクロック信号１６に同期して画像処理装置１に供給される。
【００２４】
図４は、画像処理装置１から画素データバス１５を介して出力される画素データのタイミングチャートと、各画素の画像上での位置関係を示す模式図である。
【００２５】
図４（Ａ）は、画素データバス１５における画素データの転送タイミングを示すタイミングチャートである。ここでは画像処理装置１は有効信号をハイレベルにして、画素データを２画素ずつ、クロック信号に同期して転送する。ここでは各画素データは、画素値だけで構成される。
【００２６】
図４（Ｂ）は、クロック信号の１クロック周期で画像処理装置１が出力する２つの画素データの画像上での位置関係を表した模式図である。画素値Ａで構成される画素データＡの画素Ａと、画素値Ｂで構成される画素データＢの画素Ｂは、画像上で水平方向に隣接した２つの画素である。
【００２７】
図４（Ｃ）は、図４（Ａ）の４０１で示す、クロック信号のクロック周期２で転送される２つの画素データに対応する２つの画素の画像上での位置関係を表した模式図である。画素値００で構成される画素データ００の画素００と、画素値０１で構成される画素データ０１の画素０１は、画像上で水平方向に隣接した２つの画素である。
【００２８】
また図４（Ｄ）は、図４（Ａ）の４０２で示す、クロック周期３で転送される２つの画素データに対応する２つの画素の画像上での位置関係を表した模式図である。画素値０２で構成される画素データ０２の画素０２と、画素値０３で構成される画素データ０３の画素０３は、画像上で水平方向に隣接した２つの画素である。
【００２９】
このように、画像上で水平方向に隣接した２つの画素の画素値で構成される２つの画素データが、クロック信号の１クロック周期に同期して、画素データバス１５を介して画像処理装置１から出力される。
【００３０】
図５は、画像記憶部１１が演算部１２に転送する画素データのタイミングチャートと、各画素の画像上での位置関係を示す模式図である。
図５（Ａ）は、画素データバス１４のデータ転送タイミングを説明するタイミングチャートである。画像記憶部１１は画素データを、画像処理の対象である注目画素を２つの画素ずつ、また、その注目画素の演算に使用するための周囲の１０個の画素を、それぞれクロック信号に同期して、有効信号をハイレベルにして転送する。注目画素である２つの画素の画素データは画素値と制御値を含み、周囲の１０個の画素の画素データは、それぞれ画素値だけを含んでいる。図５（Ａ）で、画素値ＢＢと制御値ＢＢ、及び画素値ＢＣと制御値ＢＣが２つの注目画素の画素データで、画素値ＡＡ，ＡＢ，ＡＣ，ＡＤ，ＢＡ，ＢＤ，ＣＡ，ＣＢ，ＣＣ及びＣＤが周囲の１０個の画素の画素データを示している（図５（Ｂ）参照）。尚、図５（Ａ）において、５０１は注目画素が存在している画像のラインの１つ上のライン、５０２は注目画素が存在している画像のライン、そして５０３は注目画素が存在している画像のラインの１つ下のラインを示している（図５（Ｂ）参照）。また５０４は、注目画素の制御値である。
【００３１】
図５（Ｂ）は、クロック信号の１クロック周期で転送される画素データの画像上での位置関係を表した模式図である。１クロック周期で転送される画素データは、図５（Ａ）の１列分の画素データに対応している。
【００３２】
画素値ＢＢと制御値ＢＢとで構成される画素データＢＢに対応する画素ＢＢと、画素値ＢＣと制御値ＢＣとで構成される画素データＢＣに対応する画素ＢＣは、各クロック周期における画像処理の対象である２つの注目画素である。これら２つの注目画素は、画像上で水平方向に隣接した２つの画素である。また注目画素に隣接した周囲の１０個の画素の画素データも、注目画素の画素データと同時に１クロック周期で転送され、それらは画素データは画素値だけで構成されている。
【００３３】
図５（Ｃ）は、図５（Ａ）の５１０で示す、クロック信号のクロック周期２で転送される画素データの画像上での位置関係を表した模式図である。画素値００と制御値００とで構成される画素データ００に対応する画素００と、画素値０１と制御値０１とで構成される画素データ０１に対応する画素０１は、このクロック周期２における画像処理の対象である２つの注目画素である。そして、これら２つの注目画素は、画像上で隣接した２つの画素であることを表している。また注目画素に隣接した周囲の１０個の画素の画素データも注目画素の画素データとともに同じクロック周期で転送され、それらは画素値だけで構成されている。ここで注目画素である画素００と画素０１は、画像の端部の画素であり、斜線で示した周囲の画素の画素データは存在しないため、画素値の代わりに固定値「０」を転送する。
【００３４】
また図５（Ｄ）は、図５（Ａ）の５１１で示す、クロック信号のクロック周期７で転送される画素データの画像上での位置関係を表した模式図である。画素値１２と制御値１２とで構成される画素データ１２に対応する画素１２と、画素値１３と制御値１３とで構成される画素データ１３に対応する画素１３は、このクロック周期における画像処理の対象である２つの注目画素である。これら２つの注目画素は、画像上で水平方向に隣接した２つの画素である。また、これら２つの注目画素に隣接した周囲の１０個の画素の画素データも、注目画素の画素データとともに同じクロック周期で転送され、それらは画素値だけで構成されている。
【００３５】
このように、画像上で隣接した２つの注目画素の画素値と制御値とで構成される画素データと、周囲の１０個の画素の画素値で構成される画素データが、画素データバス１４を介してクロック信号に同期して演算部１２に転送される。
【００３６】
図６は、従来の演算部による演算の概念を説明する概念図である。
【００３７】
図６（Ａ）は、画像記憶部から入力した画素データが演算部で演算処理されて、出力画素データに変換されることを表した模式図である。ここでは、２つの注目画素（画素値ＢＢ、画素値ＢＣ）に対する２つの演算が独立して並列に行われることを示している。１つめの演算は、注目画素である画素ＢＢに対する演算で、画素ＢＢの画素値ＢＢと制御値ＢＢ、及び、その周囲の８個の画素の画素値ＡＡ，ＡＢ，ＡＣ，ＢＡ，ＢＣ，ＣＡ，ＣＢ，ＣＣを用いて行われ、その結果である出力画素値ＢＢが算出される。２つめの演算は、注目画素である画素ＢＣに対する演算で、画素ＢＣの画素値ＢＣと制御値ＢＣ、及び、周囲の画素の画素値ＡＢ，ＡＣ，ＡＤ，ＢＢ，ＢＤ，ＣＢ，ＣＣ，ＣＤを使って行われ、出力画素値ＢＣが算出される。
【００３８】
図６（Ｂ）は、この従来の演算部の演算回路のブロック図である。
【００３９】
この演算部は、入力した２つの注目画素の各画素値及び制御値をそれぞれ独立した演算処理回路で処理して出力画素値を算出する。ここで図６（Ａ）の画素マトリクス６０１の２列目及び３列目は、画素マトリクス６０２の１列目、２列目とそれぞれ同じであるため、処理Ａ部６１０と処理Ａ部６１２には同じ画素値ＡＢ，ＢＢ，ＣＢが入力されている。また処理Ａ部６１１と処理Ａ部６１３にも、同じ画素値ＡＣ，ＢＣ，ＣＣが入力されている。ここでは、それぞれに接続されている係数生成部６１４，６１５から転送される係数が異なり、その演算内容も異なるため回路を共通化できない。ここで係数生成部６１４，６１５は、それぞれ制御値ＢＢ，ＢＣに対応する係数を生成する。
【００４０】
従って、この図６に示す従来の演算部は、それぞれ１つの注目画素だけを処理する回路を単純に２系統持つ必要があるため、その回路規模は２倍となる。
【００４１】
図７は、本実施形態１に係る演算部１２の演算処理の模式図及び演算回路のブロック図である。
【００４２】
図７（Ａ）は、画像記憶部１１から入力した画素データが演算部１２で演算処理されて、出力画素データに変換されることを表した模式図である。ここでは２つの注目画素（画素値ＢＢ，画素値ＢＣ）に対する２つの演算が独立に並行して行われるが、演算に使用する係数は共通の値を使用している。
【００４３】
１つめの演算は、注目画素である画素ＢＢに対する演算で、画素ＢＢの画素値ＢＢ、及び周囲の画素の画素値ＡＡ，ＡＢ，ＡＣ，ＢＡ，ＢＣ，ＣＡ，ＣＢ，ＣＣ及び、共通係数を使って行われ出力画素値ＢＢが算出される。２つめの演算は、注目画素である画素ＢＣに対する演算で、画素ＢＣの画素値ＢＣ、周囲の画素の画素値ＡＢ，ＡＣ，ＡＤ，ＢＢ，ＢＤ，ＣＢ，ＣＣ，ＣＤ及び、共通係数を使って行われ、出力画素値ＢＣが算出される。ここで共通係数は、画素ＢＢの制御値ＢＢと画素ＢＣの制御値ＢＣとに基づいて決定される。
【００４４】
図７（Ｂ）は、実施形態１に係る演算部１２の演算回路のブロック図である。
【００４５】
演算部１２は、入力された２つの注目画素の制御値を共通の係数生成部７０１で処理して、２つの注目画素のそれぞれの演算で使用する係数を生成している。
【００４６】
ここで、２つの注目画素の演算に使用する係数を共通化することにより、画素値ＡＢ，ＢＢ，ＣＢ，ＡＣ，ＢＣ及びＣＣに対する演算処理部を、２つの注目画素のそれぞれに対して独立に２組持つ必要がなくなる。こうして２つの注目画素の演算を部分的に共通化している。この共通化により、図６（Ｂ）で示した従来の演算部における処理Ａ部６１２，６１３、及び、処理Ｂ部６１６，６１７を省略できる。
【００４７】
図７（Ｂ）では、注目画素ＢＢに対する演算は、処理Ａ部（第１の演算部）７１０，７１１，７１２のグループ、処理Ｂ部（第２の演算部）７１４，７１５，７１６のグループ及び処理Ｃ部（第３の演算部）７１８で行われる。また注目画素ＢＣに対する演算は、処理Ａ部のグループ７１１，７１２，７１３、処理Ｂ部７１５，７１６，７１７のグループ及び処理Ｃ部７１９で行われる。
【００４８】
このように共通化できる理由は、処理Ａ部と処理Ｂ部の処理内容は、後述するように単純な演算処理であり、入力される画素値と係数が同じであれば、出力も同じになるという性質を持つためである。
【００４９】
従って本実施形態に係る演算部によれば、１つの注目画素を処理する回路を単純に２系統持つ必要がなく、回路規模を小さく抑えることができる。
【００５０】
図８は、実施形態１に係る係数生成部を説明するブロック図である。
【００５１】
図８（Ａ）は、従来の係数生成部６１４，６１５の構成を示すブロック図である。
【００５２】
この係数生成部は、係数Ａ、係数Ｂ及び、係数Ｃを、入力される制御値に応じて選択して出力する。８０１〜８０３はそれぞれ制御値に応じて、入力ポートのいずれかの信号を選択して出力するマルチプレクサである。尚、ここで係数Ａ０〜Ａ３、係数Ｂ０〜Ｂ３、及び、係数Ｃ０〜Ｃ３は、既定の定数である。
【００５３】
図８（Ｂ）は、本実施形態に係る係数生成部７０１の構成を示すブロック図である。
【００５４】
この係数生成部７０１は、係数（第１の係数値）Ａ、係数（第２の係数値）Ｂ、及び、係数（第３の係数値）Ｃを、入力される２つの制御値ＢＢ，ＢＣの組み合わせに基づいて選択して出力する。８１０〜８１２はそれぞれ２つの制御値に応じて、入力ポートのいずれかの信号を選択して出力するマルチプレクサである。係数Ａ００〜Ａ３３、係数Ｂ００〜Ｂ３３、及び、係数Ｃ００〜Ｃ３３は、既定の定数である。
【００５５】
図８（Ａ）の構成と比較して、係数生成部７０１の構成での制限は、入力される２つの注目画素の制御値ＢＢと制御値ＢＣが互いに異なる場合、各注目画素の画像処理に際して、異なる係数値で演算できない点である。その場合に選ばれる係数値は、係数Ａij，Ｂij及びＣij（ｉ≠ｊ）である。これらの値の設定を工夫することによって、２つの注目画素の画素値を、互いに異なる係数で演算できない場合の演算結果が所望の結果に近くなるように調整することが可能である。
【００５６】
例えば、係数Ａ００，Ａ１１，Ａ２２及びＡ３３を先に決めてから、係数Ａij（ｉ≠ｊ）の値を「係数Ａij＝（係数Ａii＋係数Ａjj）÷２」のように決めることにより、２つの係数値の平均値を用いて演算できる。また例えば、係数Ａij（ｉ≠ｊ）の値を「係数Ａij＝係数Ａii（係数Ａii＜係数Ａjjのとき）、又は、係数Ａij＝係数Ａjj（係数Ａii＞係数Ａjjのとき）」のように決める。これにより、２つの注目画素の制御値のうち、小さい方の係数値を優先的に使用した演算ができる。また例えば、係数Ａij（ｉ≠ｊ）の値を「係数Ａij＝係数Ａii（係数Ａii＞係数Ａjjのとき）、又は、係数Ａij＝係数Ａjj（係数Ａii≦係数Ａjjのとき）」のように決める。これにより、大きい方の係数値を優先した演算ができる。
【００５７】
ここで制御値は、一般的な画像処理において、例えば画像上でその画素が写真領域に属するか、又は文字領域に属するのか等の画素の付随情報を表すものである。そういった情報は、画像内で画素毎に頻繁に値が変わるものではなく、また、厳密な画素単位での位置精度を要求されるものではない場合が多い。そのため実際には、２つの注目画素の制御値が互いに異なる頻度は低く、また例え異なった場合にも、本来の所望の係数値と異なる係数値、例えば隣の画素の制御値で選択した係数値で演算しても、演算結果の画素値の劣化が目立たないことが多い。
【００５８】
図９は、本実施形態１に係る演算部１２の処理Ａ部、処理Ｂ部及び処理Ｃ部の構成を示すブロック図である。
【００５９】
図９（Ａ）は、処理Ａ部の構成を示すブロック図である。この処理Ａ部は乗算器９０１を有し、入力される画素値ＡＡと係数Ａとの乗算を行って、その乗算処理結果を出力する。図７（Ｂ）の他の処理Ａ部も同じ構成であり、入力される画素値と係数Ａの値が同じであれば常に同じ結果を出力する。このため、同じ入力の処理Ａ部が複数存在すれば、それらを１つにまとめることができる。
【００６０】
図９（Ｂ）は、処理Ｂ部７１４の構成を示すブロック図である。この処理Ｂ部７１４は加算器９０２を有し、処理Ａ部から入力される値と係数Ｂとの加算を行って、その加算処理の結果を出力する。図７（Ｂ）の処理Ｂ部７１５〜７１７も同じ構成であり、入力される画素値と係数Ｂの値が同じであれば常に同じ結果を出力するため、同じ入力の処理Ｂ部が複数存在すれば、それらを１つにまとめることができる。
【００６１】
図９（Ｃ）は、処理Ｃ部７１８の構成を示すブロック図である。処理Ｃ部７１８は、加算器９０３により、入力される値の加算を行った後に、ビットシフタ９０４により、加算器９０３からの加算結果を係数Ｃの値だけ左方向にシフトをして結果を出力する。他の処理Ｃ部７１９も同じ構成である。
【００６２】
以上説明したように本実施形態１によれば、並列処理する２つの画素で演算の係数を共通化することで、１つの注目画素に対する画像処理を行う回路を２組設けることなく、２つの注目画素に対する画像処理を並列して行うことができる。また並列処理できない場合が発生しないため、逐次処理により処理速度が低下することもない。更に、Ｎ個の注目画素に対する画像処理を並行して実施する回路においても、上述のように制御値を共通化することにより、回路規模をＮ倍にすることなく実現できる。
【００６３】
［実施形態２］
以下、本発明を実施するため実施形態２に説明する。尚、実施形態２に係る画像処理装置の構成及び処理対象の画像データは、前述の実施形態１の図１及び図２と同様であるため、その説明を省略する。
【００６４】
図１０は、本実施形態２に係る画像の一例を表した模式図である。ここでは説明のために、この画像の画素の制御値として２種類存在するものとし、各画素の背景に斜線が有るか無いかでその２種類の制御値を表現している。即ち、斜線のない画素は全て制御値「０」を有し、斜線のある画素は全て制御値「１」を有している。
【００６５】
図１１は、実施形態２に係る画像処理装置１で入出力される画素データの転送タイミングを示すタイミングチャートである。
【００６６】
図１１（Ａ）は、画素データバス１３における画素データの転送タイミングを説明するタイミングチャートである。画素データは２画素ずつ、クロック信号に同期して、有効信号がハイレベルにある間に転送される。各画素データは画素値と制御値で構成される。尚、図１１において、図１０で示した制御値の違いを、図１１の制御値の背景が白であるか、黒であるかで表している。即ち、背景が白の制御値は「０」で、背景が黒の制御値は「１」である。
【００６７】
図１１（Ｂ）は、演算部１２から出力される画素データバス１５での画素データの転送を示すタイミングチャートである。
【００６８】
ここでも画素データは２画素ずつ、クロック信号に同期して、有効信号がハイレベルにある間に転送される。各画素データは画素値だけで構成される。演算部１２は、同時に入力される２つの画素の制御値が互いに異なるときの並列処理で、使用する係数に制限があるため、画像記憶部１１の制御によって、所定回数だけ並列動作を中止して１画素ずつの逐次動作を行う。逐次動作を行う理由は、逐次動作であれば画像処理に所望の係数が使えるためである。また所定回数だけに制限する理由は、逐次動作を行うと並列動作に比べて処理速度が遅くなるため、処理速度の低下を既定の範囲に限定するためである。この制御により、既定の最低動作速度を下回らない範囲で、所望の係数を使用した画像処理を行うことが可能である。
【００６９】
本実施形態２では、制御値の異なる画素０２と画素０３の処理は２サイクルでの逐次処理が行われている。その結果、１１００で示す、クロック周期３では画素データの出力がなく、１１０１で示す、クロック周期４で、画素０２と画素０３の画素データが出力されている。これは、画像処理装置１の内部では、クロック周期３で画素０２の画像処理が行われ、またクロック周期４で画素０３の画像処理が行われ、クロック周期４でそれらの処理結果である画素データがまとめて出力されるためである。また制御値の異なる画素０６と画素０７も同様に、２つのクロック周期で逐次処理が行われ、その結果、１１０２で示す、クロック周期６では画素データの出力がなく、１１０３で示す、クロック周期７で画素０６と画素０７の画素データが出力されている。
【００７０】
本実施形態２では、逐次処理の回数は２回としている。そのため、画素１０以降の処理では、互いに制御値が異なっても逐次処理されることはない。実際に、画素１０と画素１１は制御値が異なるが、並列処理され、１１０４で示すように、クロック周期８で２画素分の画素データが出力されている。
【００７１】
図１２は、実施形態２において、画像記憶部１１が演算部１２に対して転送する画素データのタイミングを説明するタイミングチャートである。
【００７２】
画像記憶部１１は画素データを、画像処理の対象である注目画素を２画素ずつ、また、注目画素の演算処理に使用するための周囲の画素を１０画素ずつ、それぞれクロック信号に同期して、有効信号ＢＢと有効信号ＢＣをハイレベルにして転送する。２つの注目画素の画素データは、画素値１２００と制御値１２０１で構成され、周囲の画素１０画素の画素データは画素値だけで構成される。ここで、画素値ＢＢと制御値ＢＢ、また画素値ＢＣと制御値ＢＣが注目画素の画素データで、画素値ＡＡ，ＡＢ，ＡＣ，ＡＤ，ＢＡ，ＢＤ，ＣＡ，ＣＢ，ＣＣ及びＣＤが周囲の画素の画素データである（図５（Ｂ）参照）。但し、２つの注目画素の制御値が互いに異なっている場合は、画像記憶部１１は２つの注目画素の制御値の転送を２クロック周期に延長して行う。
【００７３】
１２０２で示す、２つの注目画素が画素０２と画素０３の場合がそれにあたり、クロック周期３では画素０２の制御値０２だけを制御値ＢＢと制御値ＢＣに対して出力し、有効信号ＢＢだけをハイレベルにしている。また、次のクロック周期４では、画素０３の制御値０３だけを制御値ＢＢと制御値ＢＣに対して出力し、有効信号ＢＣだけをハイレベルにしている。これは、演算部１２で画像処理の逐次処理を行わせるためである。
【００７４】
同様に、１２０３で示す、２つの注目画素の画素０６と画素０７の制御ちが互いに異なっているので、画像記憶部１１は２つの注目２画素の制御値の転送を２クロック周期に延長して行っている。尚、この２クロック周期に延長するデータの転送に対しては、所定の上限回数が設定されている。よって、その回数に達した場合は、それ以降、２つの注目画素の制御値が互いに異なっていても、２つの注目画素の転送を２クロック周期に延長して行うことはない。
【００７５】
本実施形態２では、所定回数（上限回数）を２回としており、２つの注目画素が画素０６と画素０７のときの転送で上限回数の２回に達しているので、それ以降は２クロック周期に延長したデータ転送は行わない。実際に、２つの注目画素が画素１０と画素１１のとき、及び、画素１２と画素１３のときに制御値が互いに異なっているが、画像記憶装置１１は、これら２つの注目画素を１クロック周期で同時に転送している。尚、制御値が互いに異なっている場合の処理は、前述の実施形態１で説明したように、それら２つの制御値の平均値、或いは小さい方、大きい方の、いずれかを用いて演算が行われる。
【００７６】
図１３は、実施形態２に係る演算部１２の構成を説明するブロック図である。尚、前述の図７（Ｂ）の構成と共通する部分は同じ記号で示し、それらの説明を省略する。
【００７７】
入力信号の有効信号ＢＢ、処理Ｃ部１２２５、及び、切換部１２３０以外は前述の実施形態１の図７（Ｂ）に示した模式図と同じである。切換部１３０１は、有効信号ＢＢがハイレベルの間は処理Ｃ部７１８が出力する画素値をそのまま出力し、有効信号ＢＢがローレベルの間は、１つ前のクロック周期に処理Ｃ部７１８から出力された画素値を出力する。この構成により、逐次処理時の画素値の出力を、２クロック周期の２つ目のクロック周期にまとめて行うことができる。
【００７８】
図１４は、実施形態２に係る切換部１３０１の構成を示すブロック図である。
【００７９】
この切換部１３０１は、入力される値を次のクロック周期で出力できるようにフリップフロップ（Ｆ／Ｆ）１４０１で保持している。マルチプレクサ１４０２は、有効信号ＢＢがハイレベルの間は、処理Ｃ部７１８から入力される値をそのまま出力し、有効信号ＢＢがロウレベルの間はＦ／Ｆ１４０１で保持している値を出力する。この動作により、２クロック周期に延長した逐次動作の１クロック周期で入力された画素データを、２クロック周期目で出力できる。
【００８０】
以上説明したように本実施形態２によれば、２つの注目画素の制御値が互いに異なる場合でも、各対応する制御値に応じた逐次処理を画素データに対して行うことができる。その場合に、２つの注目画素の制御値が互いに異なる場合の逐次処理の回数を限定することにより、所望の最低動作速度を下回らないように動作させることができる。
【００８１】
以上説明したように本実施形態によれば、並列処理する２画素で演算の係数を共通化することで、注目画素１画素の画像処理を行う回路を単純に２組使用することなく注目画素２画素の画像処理を並列処理することが可能である。また、並列処理できない場合が発生しないため、逐次処理により処理速度が低下することもない。さらに、注目画素２画素の制御値が異なる場合にも既定の回数だけは演算の係数を共通化しないことにより、できるだけ係数の共通化をしないようにしながらも、所望の最低動作速度を下回らないように動作させることができる。
【００８２】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012243159.tif 000003
【図２】
2012243159.tif 000004
【図３】
2012243159.tif 000005
【図４】
2012243159.tif 000006
【図５】
2012243159.tif 000007
【図６】
2012243159.tif 000008
【図７】
2012243159.tif 000009
【図８】
2012243159.tif 000010
【図９】
2012243159.tif 000011
【図１０】
2012243159.tif 000012
【図１１】
2012243159.tif 000013
【図１２】
2012243159.tif 000014
【図１３】
2012243159.tif 000015
【図１４】
2012243159.tif 000016