(57)【要約】【課題】フィードバック処理を含む画像処理を、パイプライン処理により高速処理することができるようにした画像処理回路を提供する。【解決手段】撮影情報と画像メモリ３から読み出された画素信号とでカーソル高さを決めるカーソル高さ決定部５と、画像端のカーソル位置を求めるカーソル初期位置決定部６と、画素信号がカーソル上端を超えるときのカーソル位置を求める第１のカーソル位置決定部７と、カーソル下端を下回るときのカーソル位置を求める第２のカーソル位置決定部８と、各カーソル位置決定部からの信号と先行画素の処理済カーソル位置信号とから、先行画素の処理済カーソル位置信号と入力画素信号との比較結果に基づいて所定のカーソル位置信号を選択出力するセレクタ９とを備え、上記各構成要素間に配置されたディレイ部のディレイ数と画素メモリからの読み出し順を調整して、フィードバック処理を高速パイプライン処理で行う。【選択図】　　　　図３
2004133644.tif 000002
【特許請求の範囲】
【請求項１】
画素信号読み出し手段により読み出された撮像素子の第１の画素の画素信号と、前記第１の画素に先行する第２の画素の画素信号に係る処理信号との比較結果に基づき、前記第１の画素の画素信号に係る複数の処理信号及び前記第２の画素の画素信号に係る処理信号から任意の処理信号を選択して出力する画像処理回路であって、前記第１の画素信号から複数の処理信号を生成する演算回路と、該演算回路からの複数の処理信号及び前記第２の画素の画素信号に係る処理信号から、前記比較結果に基づいて任意の処理信号を選択して出力する選択回路と、前記第１の画素の画素信号と前記第２の画素の画素信号に係る処理信号との比較結果を出力する比較回路と、前記選択回路の出力側から前記比較回路の比較結果出力の前記選択回路の制御入力側までの信号に係る第１の遅延量及び前記選択回路の出力側から該選択回路への入力側までの前記第２の画素の画素信号の処理信号に係る第２の遅延量と、前記画素信号読み出し手段から前記演算回路及び選択回路を経て前記比較回路までの信号に係る第３の遅延量とがほぼ等しくなるように、遅延量を設定する遅延量設定手段とを有することを特徴とする画像処理回路。
【請求項２】
前記遅延量設定手段は、前記第１の遅延量及び前記第２の遅延量と前記第３の遅延量とに差があるときには、前記比較回路に入力する前記第１の画素の画素信号をその差分遅延させることを特徴とする請求項１に係る画像処理回路。
【請求項３】
前記遅延量設定手段は、フリップフロップ回路であることを特徴とする請求項１又は２に係る画像処理回路。
【請求項４】
前記第１の画素と前記第２の画素とは、所定のライン方向に隣接する画素同士であることを特徴とする請求項１〜３のいずれか１項に係る画像処理回路。
【請求項５】
前記第１の画素と前記第２の画素とは、所定のライン方向に色的に隣接する画素同士であることを特徴とする請求項１〜３のいずれか１項に係る画像処理回路。
【請求項６】
前記画素信号読み出し手段は、前記所定ライン方向における前記第１の画素と前記第２の画素との間の画素数差に対応する遅延量と、前記第１或いは第２の遅延量とに差があるときには、その差に対応する画素数分、前記所定ラインに交差するライン方向に並ぶ画素の画素信号をジグザグ状に読み出すことを特徴とする請求項１に係る画像処理回路。
【請求項７】
前記演算回路は、前記第１の画素の画素信号を、前記第２の画素に係る処理信号の代表値に置換する信号値の変動の範囲量を設定するカーソル高さ決定部と、前記第１の画素の画素信号を上端とし、前記範囲量を減算した信号値を下端とする第１の処理信号を生成する第１のカーソル位置決定部と、前記第１の画素の画素信号を下端とし、前記範囲量を加算した信号値を上端とする第２の処理信号を生成する第２のカーソル位置決定部と、前記第１の画素の画素信号を前記範囲量の中央として上端と下端とを定める初期の処理信号を生成するカーソル初期位置決定部とを有していることを特徴とする請求項１に係る画像処理回路。
【請求項８】
前記演算回路は、前記第１の画素の画素信号を、前記第２の画素に係る処理信号の代表値に置換する信号値の変動の範囲量を設定するカーソル高さ決定部と、前記第１の画素の画素信号から、前記範囲量の半分の量を減算した信号値を第１の処理信号とする第１のカーソル中心位置決定部と、前記第１の画素の画素信号から、前記範囲量の半分の量を加算した信号値を第２の処理信号とする第２のカーソル中心位置決定部と、前記選択回路の出力信号を中心とし、前記範囲量の半分の量を減算した信号値を下端とし、前記範囲量の半分の量を加算した信号値と上端とするカーソル上下端位置決定部とを有していることを特徴とする請求項１に係る画像処理回路。
【請求項９】
前記比較回路は、前記第１の画素の画素信号が前記第２の画素に係る処理信号の上端を上回るときには、前記第１の処理信号を、前記第１の画素の画素信号が前記第２の画素に係る処理信号の下端を下回るときには、前記第２の処理信号を、前記第１の画素の画素信号が前記第２の画素に係る処理信号の前記範囲内にあるときには、前記第２の画素に係る処理信号を、それぞれ選択する比較結果を出力することを特徴とする請求項７又は８に係る画像処理回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、画像処理回路、特に画像データのフィードバック処理部を備えた画像処理回路に関する。
【０００２】
【従来の技術】
【非特許文献１】Ｒ　．Ｗ．Ｅｈｒｉｃｈ　，“Ａ　ｓｙｍｍｅｔｒｉｃ　ｈｙｓｔｅｒｉｓｉｓ　ｓｍｏｏｔｈｉｎｇ　ａｌｇｏｒｉｔｈｍ　ｔｈａｔ　ｐｒｅｓｅｒｖｅｓ　ｐｒｉｎｃｉｐａｌ　ｆｅａｔｕｒｅｓ，”〔ＣＧＩＰ　，　ｖｏｌ．８，　ｐｐ．１２１−１２６　，Ａｕｇｕｓｔ　１９７８　〕
【０００３】
ＣＣＤ等の撮像素子から得られる画像信号に対してデジタル画像処理を行って、所望の画質の画像を得ることを目的とする画像処理装置において、画像処理の一機能として、過去の処理結果を用いて現在の処理を行う、フィードバック処理を必要とすることがある。
【０００４】
ここで、フィードバック処理を有する画像処理の一例として、画像のヒステリシススムージングついて説明する。最初に、ヒステリシススムージングの動作の概要について、図９を用いて説明する。なお、説明を簡単にするために、画像処理装置の取り扱う画像データは、モノクロ画像データとする。ヒステリシススムージングは、画像中に含まれるノイズを除去する方法の一つであり、Ｒ　．Ｗ．Ｅｈｒｉｃｈ　，“Ａ　ｓｙｍｍｅｔｒｉｃ　ｈｙｓｔｅｒｉｓｉｓ　ｓｍｏｏｔｈｉｎｇ　ａｌｇｏｒｉｔｈｍ　ｔｈａｔ　ｐｒｅｓｅｒｖｅｓ　ｐｒｉｎｃｉｐａｌｆｅａｔｕｒｅｓ，”〔ＣＧＩＰ　，　ｖｏｌ．８，　ｐｐ．１２１−１２６　，Ａｕｇｕｓｔ　１９７８　〕（非特許文献１）により提案されている。
【０００５】
このヒステリシススムージングは、画像の一次元方向のみの処理でノイズ除去を行うものであり、図９に示すように高さｈのカーソル１０１　を入力画像値１０２　の一次元方向に移動させ、カーソル１０１　の中心値１０１ｃをノイズ除去後の出力画像値１０３　として出力するものである。なお、図９において、横軸は画素位置を示しており、縦軸は画素レベルを示している。カーソル１０１　は、以下のようなルールによって移動させる。
（１）カーソル１０１　の初期位置（図９の画素位置▲１▼）は、カーソル１０１　の中心１０１ｃが入力画素値１０２　となるように設定する。
（２）現在の位置からカーソル１０１　を、その位置すなわち同じ画素レベルを保ったまま１画素分だけ水平移動させる。
（３）もし、１画素水平移動した先の入力画素値１０２　が、図９の画素位置▲２▼の位置のときのように、カーソル１０１　の範囲内に入っていれば、縦方向（画素レベル方向）にはカーソル１０１　を動かさず、このときのカーソル中心１０１ｃのレベル値をノイズ除去後の出力画像値１０３　として出力する。
（４）　もし、１画素水平移動させたとき、入力画素値１０２　が、図９の画素位置▲５▼の位置のときのように、カーソル１０１　の上端１０１ｈより上にくれば、カーソル１０１の上端１０１ｈが入力画素値１０２　に一致するように縦方向に移動させ、一方、図９の画素位置▲８▼のときのように、入力画素値１０２　がカーソル１０１　の下端１０１ｌより下にくれば、カーソル１０１　の下端１０１ｌが入力画素値１０２　に一致するように縦方向に移動させる。そして、このときのカーソル中心１０１ｃのレベル値をそれぞれノイズ除去後の出力画像値として出力する。
このようにすることにより、被写体に含まれる大きな振幅成分は保存しつつ、カーソル１０１　の高さｈよりも小さなノイズ成分を除去することができる。
【０００６】
上記動作説明で示したしたように、このヒステリシススムージングは、１画素前隣のカーソル位置情報を元に現在のカーソル位置を決定し、ノイズ除去を行うというアルゴリズムであり、すなわち、１画素前隣のカーソル位置情報をフィードバックデータとして、現在のカーソル位置計算に用いるフィードバック画像処理装置である。
【０００７】
一方、上記デジタル画像処理をハードウェア処理によって実現する画像処理装置においては、パイプライン処理を用いて高速処理するのが一般的である。パイプライン処理とは、画像処理の一連の処理を、１クロック周期内で動作可能な小さなブロックに分割し、それぞれのブロックを流れ作業的に動作させる処理である。
【０００８】
【発明が解決しようとする課題】
ところで、ヒステリシススムージングのようなフィードバック処理をパイプライン処理させようとした場合、フィードバックデータの処理も１クロック周期内で処理することが必要である。しかし、ヒステリシススムージング処理のフィードバックデータは、カーソル上下端値と入力画像値との比較により生成されるため、回路の動作周波数が高かったり、画像のビット幅が大きい場合は、１クロック周期内に処理が終わらない可能性がある。
【０００９】
このように、フィードバックデータに対し複雑な演算を施すようなフィードバック処理を含む画像処理回路を、パイプライン処理で実現しようとした場合、パイプライン回路が実現できないという問題点がある。従来、このような複雑なゲートを通ったデータを画素単位でフィードバックしなければならない処理を、パイプライン処理にて実現する方法は提案されていなかった。
【００１０】
本発明は、従来のフィードバック処理を有する画像処理アルゴリズムをパイプライン処理する際に生じる上記問題点を解消するためになされたもので、複雑な構成のフィードバック処理を含む画像処理を、パイプライン処理により高速処理することが可能な画像処理回路を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記問題点を解決するため、請求項１に係る発明は、画素信号読み出し手段により読み出された撮像素子の第１の画素の画素信号と、前記第１の画素に先行する第２の画素の画素信号に係る処理信号との比較結果に基づき、前記第１の画素の画素信号に係る複数の処理信号及び前記第２の画素の画素信号に係る処理信号から任意の処理信号を選択して出力する画像処理回路であって、前記第１の画素信号から複数の処理信号を生成する演算回路と、該演算回路からの複数の処理信号及び前記第２の画素の画素信号に係る処理信号から、前記比較結果に基づいて任意の処理信号を選択して出力する選択回路と、前記第１の画素の画素信号と前記第２の画素の画素信号に係る処理信号との比較結果を出力する比較回路と、前記選択回路の出力側から前記比較回路の比較結果出力の前記選択回路の制御入力側までの信号に係る第１の遅延量及び前記選択回路の出力側から該選択回路への入力側までの前記第２の画素の画素信号の処理信号に係る第２の遅延量と、前記画素信号読み出し手段から前記演算回路及び選択回路を経て前記比較回路までの信号に係る第３の遅延量とがほぼ等しくなるように、遅延量を設定する遅延量設定手段とを有することを特徴とするものである。
【００１２】
この請求項１に係る発明に関する実施の形態には、第１〜第３の実施の形態が対応する。そして、このように構成された画像処理回路においては、選択回路及び比較回路の出力信号に対して適切な遅延量を設定することができ、ヒステリシススムージング処理に代表されるフィードバック処理を有する画像処理を、パイプライン処理により高速に行うことが可能となる。
【００１３】
請求項２に係る発明は、請求項１に係る画像処理回路において、前記遅延量設定手段は、前記第１の遅延量及び前記第２の遅延量と前記第３の遅延量とに差があるときには、前記比較回路に入力する前記第１の画素の画素信号をその差分遅延させることを特徴とするものである。
【００１４】
この請求項２に係る発明に関する実施の形態には、第１〜第３の実施の形態が対応する。そして、このように構成された画像処理回路においては、比較回路への入力信号のタイミングを合わせることができ、適確な比較結果を出力させることが可能となる。
【００１５】
請求項３に係る発明は、請求項１又は２に係る画像処理回路において、前記遅延量設定手段は、フリップフロップ回路であることを特徴とするものである。
【００１６】
この請求項３に係る発明に関する実施の形態には、第１〜第３の実施の形態が対応する。そして、このように構成された画像処理装置においては、遅延量設定手段をフリップフロップ回路で構成するようにしているので、遅延量を容易に設定することができる。
【００１７】
請求項４に係る発明は、請求項１〜３のいずれか１項に係る画像処理回路において、前記第１の画素と前記第２の画素とは、所定のライン方向に隣接する画素同士であることを特徴とするものであり、この発明に関する実施の形態には、第１の実施の形態が対応する。
【００１８】
請求項５に係る発明は、請求項１〜３のいずれか１項に係る画像処理回路において、前記第１の画素と前記第２の画素とは、所定のライン方向に色的に隣接する画素同士であることを特徴とするものであり、この発明に関する実施の形態には、第２及び第３の実施の形態が対応する。
【００１９】
請求項６に係る発明は、請求項１に係る画像処理回路において、前記画素信号読み出し手段は、前記所定ライン方向における前記第１の画素と前記第２の画素との間の画素数差に対応する遅延量と、前記第１或いは第２の遅延量とに差があるときには、その差に対応する画素数分、前記所定ラインに交差するライン方向に並ぶ画素の画素信号をジグザグ状に読み出すことを特徴とするものであり、この発明に関する実施の形態には、第１〜第３の実施の形態が対応する。
【００２０】
請求項７に係る発明は、請求項１に係る画像処理回路において、前記演算回路は、前記第１の画素の画素信号を、前記第２の画素に係る処理信号の代表値に置換する信号値の変動の範囲量を設定するカーソル高さ決定部と、前記第１の画素の画素信号を上端とし、前記範囲量を減算した信号値を下端とする第１の処理信号を生成する第１のカーソル位置決定部と、前記第１の画素の画素信号を下端とし、前記範囲量を加算した信号値を上端とする第２の処理信号を生成する第２のカーソル位置決定部と、前記第１の画素の画素信号を前記範囲量の中央として上端と下端とを定める初期の処理信号を生成するカーソル初期位置決定部とを有していることを特徴とするものであり、この発明に関する実施の形態には、第１及び第２の実施の形態が対応する。
【００２１】
請求項８に係る発明は、請求項１に係る画像処理回路において、前記演算回路は、前記第１の画素の画素信号を、前記第２の画素に係る処理信号の代表値に置換する信号値の変動の範囲量を設定するカーソル高さ決定部と、前記第１の画素の画素信号から、前記範囲量の半分の量を減算した信号値を第１の処理信号とする第１のカーソル中心位置決定部と、前記第１の画素の画素信号から、前記範囲量の半分の量を加算した信号値を第２の処理信号とする第２のカーソル中心位置決定部と、前記選択回路の出力信号を中心とし、前記範囲量の半分の量を減算した信号値を下端とし、前記範囲量の半分の量を加算した信号値と上端とするカーソル上下端位置決定部とを有していることを特徴とするものであり、この発明に関する実施の形態には、第３の実施の形態が対応する。
【００２２】
請求項９に係る発明は、請求項７又は８に係る画像処理回路において、前記比較回路は、前記第１の画素の画素信号が前記第２の画素に係る処理信号の上端を上回るときには、前記第１の処理信号を、前記第１の画素の画素信号が前記第２の画素に係る処理信号の下端を下回るときには、前記第２の処理信号を、前記第１の画素の画素信号が前記第２の画素に係る処理信号の前記範囲内にあるときには、前記第２の画素に係る処理信号を、それぞれ選択する比較結果を出力することを特徴とするものであり、この発明に関する実施の形態には、第１〜第３の実施の形態が対応する。
【００２３】
【発明の実施の形態】
次に、実施の形態について説明する。まず、本発明の実施の形態の説明に先立って、本発明に関連する画像処理回路として考えられる基本的な回路構成、及びその動作について説明する。図１は、ヒステリシススムージング処理回路をデジタルカメラに搭載した場合に考えられる基本的な回路構成を示すブロック図である。図１において、１はモノクロ画像を撮像するための撮像素子、又は単色のカラーフィルタを有する撮像素子、２は撮像素子１の信号をデジタル信号に変換するＡＤコンバータ、３はＡＤコンバータの出力信号を１画面分記憶するための画像メモリ、４は画像メモリ３のリード・ライトアドレスを生成するメモリコントローラ、５は撮影情報及び入力画像信号を元にカーソルの高さｈを決定するカーソル高さ決定部である。
【００２４】
また６は入力画素信号が画像端の場合における、カーソル上端位置ｈｉｇｈ０　，下端位置ｌｏｗ０，及びカーソル中心位置ｃｅｎｔｅｒ０　を演算するカーソル初期位置決定部、７は入力画素信号値をカーソルの上端とする、カーソル上端位置ｈｉｇｈ１　，下端位置ｌｏｗ１，及びカーソル中心位置ｃｅｎｔｅｒ１　を演算する第１のカーソル位置決定部、８は入力画素値をカーソルの下端とする、カーソル上端位置ｈｉｇｈ２　，下端位置ｌｏｗ２，及びカーソル中心位置ｃｅｎｔｅｒ２　を演算する第２のカーソル位置決定部、９はカーソル初期位置決定部６の出力、第１のカーソル位置決定部７の出力、第２のカーソル位置決定部８の出力、及び既にヒステリシススムージング処理を終えている１画素前隣の画素（先行画素）の処理結果ｈｉｇｈ３，ｌｏｗ３，ｃｅｎｔｅｒ３のいずれか１組を、セレクトして出力するセレクタ、１０は現在の画素値とカーソルの上端及び下端を比較する比較器、１１〜１８は各構成ブロック５〜１０で発生する演算遅延時間をクロックタイミングで同期させることにより吸収し、また、各構成ブロック５〜１０の出力データ間のタイミングをクロック単位で合わせるためのディレイ部（一般的回路におけるフリップフロップ）である。
【００２５】
次に、図１で示した画像処理回路の動作について、図２の（Ａ）のタイミングチャート及び図２の（Ｂ）の説明図を用いて説明する。図２の（Ａ）は、図１に示した回路における画像データの流れを説明するタイミングチャートであり、図２の（Ｂ）は画像の読み出し順を説明するための図である。図２の（Ａ）における番号▲１▼〜▲７▼は、図１に示した画像処理回路を流れるデータのタイミングを示す番号であり、それぞれ図１に示した画像処理回路の▲１▼〜▲７▼で示す部分におけるデータのタイミングを表している。
【００２６】
撮像素子１から出力される画像信号は、図２の（Ｂ）で示すような、横画素数Ｎ個、縦画素数Ｍ個の２次元の画像の画像信号であり、説明を容易にするため左上端から、０から始まる画素番号をつけてある。この２次元の画像信号は、ＡＤコンバータ２でデジタル信号に変換された後、画像メモリ３に書き込まれる。このときの画像信号の書き込み順は、メモリコントローラ４により画素番号０，１，２，３，・・・Ｎ−１，Ｎ＋０，Ｎ＋１，・・・と画素番号順に書き込まれるように制御されている。
【００２７】
次に、画像信号は画像メモリ３から１クロック毎に読み出されるが、このときの読み出し順は、図２の（Ｂ）の矢印で示したように、左上端の０番目の画素から順に横方向に読み出される。右端まで読み出された後は、２行目のＮ＋０番目から順に右方向に走査され、以下、同様にして画像の右下端まで繰り返され、これが入力画像信号Ｉとなる。
【００２８】
一方、画像処理回路のもう一つの入力データである撮影情報は、撮影時のＩＳＯ感度やシャッター速などの情報であり、図２の（Ａ）のフローチャートの▲２▼で示したように１フレーム単位で切り替わるデータであるため、１　画面中は同じ情報が保持される。
【００２９】
入力画像信号Ｉ及び撮影情報は、カーソル高さ決定部５に入力され、これらの情報を元に、１　画素毎にカーソル高さ情報ｃｕｒｓを計算し出力する。ここでは、撮像素子１が持つ、画像信号のレベルが高いとノイズの振幅も大きくなるという特性や、また、シャッタースピードが長くなるほどノイズ振幅が大きくなるという特性を元に、カーソル高さ情報ｃｕｒｓを計算する。そして、算出されたカーソル高さ情報ｃｕｒｓは、ディレイ部１１を通りクロック同期信号となる。
【００３０】
入力画像信号Ｉもまた、カーソル高さ情報ｃｕｒｓとクロック単位でのタイミングを合わせるためにディレイ部１２を通り、その結果、入力画像信号Ｉが１クロック遅れたＩ１という信号となる。したがって、この２つの信号ｃｕｒｓ，Ｉ１は、図２の（Ａ）のタイミングチャートの▲３▼に示したタイミングの信号となる。
【００３１】
次に、カーソル初期位置決定部６，第１のカーソル位置決定部７，及び第２のカーソル位置決定部８では、カーソル高さｃｕｒｓ及び入力画像信号Ｉ１から、カーソルの上下端位置及びカーソル中心位置を演算する。
【００３２】
カーソル初期位置決定部６は、図２の（Ｂ）における、０，Ｎ＋０，２Ｎ＋０，・・・といった、画像の左端におけるカーソル初期位置を決定するブロックであり、カーソル上端位置ｈｉｇｈ０，下端位置　ｌｏｗ０，及びカーソル中心位置ｃｅｎｔｅｒ０は、それぞれ次式（１），（２），（３）で示すように演算される。
ｈｉｇｈ０＝Ｉ１＋ｃｕｒｓ／２　・・・・・・・・・・（１）
ｌｏｗ０＝Ｉ１−ｃｕｒｓ／２　・・・・・・・・・・（２）
ｃｅｎｔｅｒ０＝Ｉ１　・・・・・・・・・・・・・・（３）
【００３３】
第１のカーソル位置決定部７は、入力画像信号Ｉ１をカーソルの上端位置とした場合の演算を行うブロックであるから、カーソル上端位置ｈｉｇｈ１，下端位置　ｌｏｗ１，及びカーソル中心位置ｃｅｎｔｅｒ１は、それぞれ、（４），（５），（６）で示すように演算される。
ｈｉｇｈ１＝Ｉ１　　・・・・・・・・・・・・・・（４）
ｌｏｗ１＝Ｉ１−ｃｕｒｓ　　・・・・・・・・・・・（５）
ｃｅｎｔｅｒ１＝Ｉ１−ｃｕｒｓ／２　・・・・・・・・・（６）
【００３４】
同様に、第２のカーソル位置決定部８は、入力画像信号Ｉ１をカーソルの下端位置とした場合の演算を行うブロックであるから、カーソル上端位置ｈｉｇｈ２，下端位置　ｌｏｗ２，及びカーソル中心位置ｃｅｎｔｅｒ２は、それぞれ、（７），（８），（９）で示すように演算される。
ｈｉｇｈ２＝Ｉ１＋ｃｕｒｓ　・・・・・・・・・・・（７）
ｌｏｗ２＝Ｉ１　　・・・・・・・・・・・・・（８）
ｃｅｎｔｅｒ２＝Ｉ１＋ｃｕｒｓ／２　・・・・・・・・（９）
【００３５】
そして、カーソル初期位置決定部６，第１のカーソル位置決定部７，及び第２のカーソル位置決定部８の出力信号は、それぞれディレイ部１３，１４，１５を通り、クロック同期信号となり、その結果、これらの信号は、図２の（Ａ）のタイミングチャートの▲４▼に示したタイミングの信号となる。
【００３６】
次に、セレクタ９では、上述した、ディレイ部１３通過後のカーソル初期位置決定部６の出力信号ｈｉｇｈ０，ｌｏｗ０，ｃｅｎｔｅｒ０、ディレイ部１４通過後の第１のカーソル位置決定部７の出力信号ｈｉｇｈ１，ｌｏｗ１，ｃｅｎｔｅｒ１、ディレイ部１５通過後の第２のカーソル位置決定部８の出力信号ｈｉｇｈ２，ｌｏｗ２，ｃｅｎｔｅｒ２、及び既にヒステリシススムージング処理を終えている一画素前隣の画素信号の処理結果ｈｉｇｈ３，ｌｏｗ３，ｃｅｎｔｅｒ３のいずれか１組を、セレクトして出力する。セレクタ９のセレクト信号Ｓは、セレクタ９の後段にある比較器１０からの２ビットの出力信号であり、“００”，“０１”，“１０”，“１１”の４つの状態を持つ信号である。
【００３７】
このセレクト信号Ｓにより、セレクタ９は以下の動作となる。
（１）Ｓ＝“００”のとき、セレクタ９は第１のカーソル位置決定部７の出力ｈｉｇｈ１，ｌｏｗ１，ｃｅｎｔｅｒ１を出力する。
（２）Ｓ＝“０１”のとき、セレクタ９は第２のカーソル位置決定部８の出力ｈｉｇｈ２，ｌｏｗ２，ｃｅｎｔｅｒ２を出力する。
（３）Ｓ＝“１０”のとき、セレクタ９はヒステリシススムージング処理処理済信号ｈｉｇｈ３，ｌｏｗ３，ｃｅｎｔｅｒ３を出力する。
（４）Ｓ＝“１１”のとき、セレクタ９はカーソル初期位置決定部６の出力ｈｉｇｈ０，ｌｏｗ０，ｃｅｎｔｅｒ０を出力する。
【００３８】
このようにセレクタ９でセレクトされた信号は、ディレイ部１７を通り、図２の（Ａ）のタイミングチャートの▲５▼で示したタイミングの信号ｈｉｇｈ，ｌｏｗ，ｃｅｎｔｅｒ　となる。この信号ｈｉｇｈ，ｌｏｗ，ｃｅｎｔｅｒ　は、ヒステリシススムージング処理を終えた信号であるので、セレクタ９の入力信号ｈｉｇｈ３，ｌｏｗ３，ｃｅｎｔｅｒ３となり、また、信号ｃｅｎｔｅｒは出力画像信号Ｏとなる。
【００３９】
次に、比較器１０では、上記セレクトされたカーソル位置信号の上端及び下端位置信号ｈｉｇｈ，ｌｏｗと、画像信号との比較を行う。この比較は、１画素前隣の画素位置におけるカーソルの上端及び下端位置信号ｈｉｇｈ，ｌｏｗと、現在の画像信号とを比較する必要があるため、前記カーソルの上端及び下端位置信号ｈｉｇｈ，ｌｏｗと画像信号とのタイミングの関係は、１　画素ずらしたものとしなければならない。したがって、画像信号は図２の（Ａ）のタイミングチャートの▲６▼で示す、画像信号Ｉ１をディレイ部１６で更に１クロック遅らせた画像信号Ｉ２となる。
【００４０】
これらのカーソルの上端及び下端位置信号ｈｉｇｈ，ｌｏｗ，及び画像信号Ｉ２を用いて、比較器１０は以下のように動作する。比較器１０の出力は２ビットの信号である。
（１）もしＩ２＞ｈｉｇｈなら、比較器１０は“００”を出力する。
（２）もしＩ２＜ｌｏｗ　なら、比較器１０は“０１”を出力する。
（３）もし　ｌｏｗ＜Ｉ２＜ｈｉｇｈなら、比較器１０は“１０”を出力する。
（４）もし、Ｉ２が画像の左端画素の信号の場合は、ｈｉｇｈ，ｌｏｗ　の信号と関係なく、“１１”を出力する。
【００４１】
ここで、画像の左端画素とは、図２の（Ｂ）における、０，Ｎ＋０，２Ｎ＋０，・・・の左端１列の画素である。この比較器１０からの信号は、ディレイ部１８を通った後、セレクタ９のセレクト信号Ｓとなる。したがって、このセレクト信号Ｓは図２の（Ａ）のタイミングチャートの▲７▼に示したタイミングの信号となる。また、画像左端の処理は、図２の（Ｂ）に示した画像において、一行につき最初の一回だけ行われる処理であり、フィードバック回路について述べる本発明とは直接の関係がないので、以後の説明においては省略する。
【００４２】
ところで、比較器１０が出力するセレクト信号Ｓは、セレクタ９の入力信号（ｈｉｇｈ１，ｌｏｗ１，ｃｅｎｔｅｒ１）、及び（ｈｉｇｈ２，ｌｏｗ２，ｃｅｎｔｅｒ２）に対して、１画素前の結果から導いた信号でなくてはならない。具体的には、図２の（Ｂ）における画素番号１の画素に対応するカーソル位置信号（ｈｉｇｈ１，ｌｏｗ１，ｃｅｎｔｅｒ１）、及び（ｈｉｇｈ２，ｌｏｗ２，ｃｅｎｔｅｒ２）をセレクトするためのセレクト信号Ｓは、画素番号０の画素に対応する信号である必要がある。しかしながら、図２の（Ａ）のタイミングチャートの▲４▼と▲７▼で示す信号のタイミング関係を見ると、画素番号１の画素に対応するカーソル位置信号（ｈｉｇｈ１，ｌｏｗ１，ｃｅｎｔｅｒ１）、及び（ｈｉｇｈ２，ｌｏｗ２，ｃｅｎｔｅｒ２）をセレクトするためのセレクト信号Ｓはまだ決定されておらず、画素番号２の画素に対応するカーソル位置信号（ｈｉｇｈ１，ｌｏｗ１，ｃｅｎｔｅｒ１）、及び（ｈｉｇｈ２，ｌｏｗ２，ｃｅｎｔｅｒ２）のセレクト信号として初めて、画素番号０の画素に対応するセレクト信号Ｓが生成される。
【００４３】
これでは、２画素前の結果から導いたセレクト信号を用いることになり、所望のヒステリシススムージング結果を得ることができない。この問題を解決するためには、セレクト信号Ｓを生成するタイミングを１クロック分早める必要があり、そのためには、セレクタ９の後のディレイ部１７，又は比較器１０の後のディレイ部１８のいずれかを削除する必要がある。すなわち、セレクタ９と比較器１０の処理の両方を１クロック周期以内で処理する必要があるということになる。
【００４４】
しかしながら、例えば、画像信号のデータビット長が大きい場合は演算時間が長くなるため、セレクタ９及び比較器１０の処理を１クロック周期内に終わらせることができない可能性がある。また、回路の動作周波数を上げて高速に処理させようとした場合も、１クロック周期が短くなるため、セレクタ９及び比較器１０を１クロック周期内に終わらせることができない可能性がある。特に、比較的ゲート遅延時間が大きい半導体デバイスを用いて、この回路を実現した場合、クロック周波数を上げることは更に難しくなる。あるいは、例えば、高性能の半導体デバイスを使い、且つ、低い動作周波数で動作させることによってパイプライン処理を実現しようとした場合、高コスト、低性能の画像処理装置になってしまうという問題がある。
【００４５】
次に、この問題を解決できるようにした本発明の実施の形態について説明する。図３は、本発明に係る画像処理回路の第１の実施の形態を示すブロック構成図で、ヒステリシススムージング処理回路をデジタルカメラに搭載した場合の画像処理回路の構成を示すブロック図である。図３において、図１に示した回路と同一又は対応する部材には同一符号を付して示し、その説明は省略する。この実施の形態が図１に示した回路と異なる点は、画像信号を１クロック遅らせるディレイ部１６を省き、セレクタ９に対する、ヒステリシススムージング処理を終えている１画素前隣の画素の処理結果（ｈｉｇｈ３，ｌｏｗ３，ｃｅｎｔｅｒ３）の入力部に２クロック分ディレイさせるディレイ部１９を設け、更に比較器１０から出力するセレクト信号Ｓを、ディレイ部１８で２クロック分ディレイさせるようにした点である。なお、ディレイ部１１〜１９において、１クロック分ディレイさせる場合はＤ，ｎクロック分ディレイさせる場合はｎＤと表示している。
【００４６】
次に、このように構成された第１の実施の形態の動作について、図３に加え、図４の（Ａ），（Ｂ）を用いて説明する。ただし、図１の回路と同じ動作については、その説明を省略する。図４の（Ａ）は、図３に示した回路における画像データの流れを説明するタイミングチャート図であり、図４の（Ｂ）は画像の読み出し順を説明するための説明図である。図４の（Ａ）のタイミングチャート中の番号▲１▼〜▲８▼は回路を流れるデータのタイミングを示し、それぞれ図３において▲１▼〜▲８▼で示す部分におけるデータのタイミングを表している。
【００４７】
撮像素子１から出力される画像信号が、ＡＤコンバータ２でデジタル信号に変換された後、メモリコントローラ４によって、０，１，２，・・・の順に画像メモリ３に書き込まれるのは図１に示した画像処理回路と同じである。
【００４８】
次に、画像信号は画像メモリ３から１クロック毎に読み出されるが、このときの読み出し順は、図４の（Ｂ）の説明図において矢印で示したように、０番目の画素から矢印に沿って、縦方向にＮ＋０，２Ｎ＋０の順に読み出され、次に、１，Ｎ＋１，２Ｎ＋１とジグザグ状に読み出される。右端の３Ｎ−１まで読み出された後は、３Ｎ＋０番目から４Ｎ＋０，５Ｎ＋０と読み出され、以下、同様に画像の下端まで繰り返される。これを画像信号Ｉとする。
【００４９】
カーソル高さ決定部５の動作は、図１に示した画像処理回路と同じ動作であり、ディレイ部１１，１２を通ったカーソル高さ信号ｃｕｒｓ及び画像信号Ｉ１信号は、図４の（Ａ）のタイミングチャートの▲３▼に示したタイミングの信号となる。
【００５０】
次に、カーソル初期位置決定部６，第１のカーソル位置決定部７，及び第２のカーソル位置決定部８における動作も、図１に示した画像処理回路の動作と同じであり、これらの出力信号は、それぞれディレイ部１３及び１４及び１５を通った後、図４の（Ａ）のタイミングチャートの▲４▼に示したタイミングの信号となる。
【００５１】
次に、セレクタ９の動作も図１に示した画像処理回路の動作と同じであり、ディレイ部１７を通った後、図４の（Ａ）のタイミングチャートの▲５▼で示したタイミングの信号ｈｉｇｈ，ｌｏｗ，ｃｅｎｔｅｒ　となる。これらの信号はヒステリシススムージング処理を終えたカーソル位置信号であり、このうちの信号ｃｅｎｔｅｒはヒステリシススムージング処理を終えた画像信号であるので、出力画像信号Ｏとなる。
【００５２】
ここで、セレクタ９の入力信号ｈｉｇｈ３，ｌｏｗ３，ｃｅｎｔｅｒ３は、既にヒステリシススムージング処理を終えている１画素前隣の画素に対応するカーソル位置信号であるが、この１画素前隣の画素とは、２次元画像における前隣の画素（先行画素）を示し、例えば、図４の（Ｂ）に示した説明図における画素番号１の画素に対する画素番号０の画素のことであり、メモリからの読み出し順とは関係ない。よって、セレクタ９に入力するカーソル位置信号ｈｉｇｈ０，ｌｏｗ０，ｃｅｎｔｅｒ０、ｈｉｇｈ１，ｌｏｗ１，ｃｅｎｔｅｒ１、ｈｉｇｈ２，ｌｏｗ２，ｃｅｎｔｅｒ２、及びｈｉｇｈ３，ｌｏｗ３，ｃｅｎｔｅｒ３は、図４の（Ａ）のタイミングチャートの▲４▼と▲６▼で表したようなタイミングの関係、すなわち、タイミングチャートの▲４▼の画素番号１の画素に対応する信号と、タイミングチャートの▲６▼の画素番号０の画素に対応する信号を同じタイミングとする必要がある。
【００５３】
したがって、これらの信号のタイミング合わせのため、ヒステリシススムージング処理の終えたカーソル位置信号のセレクタ９への入力信号ｈｉｇｈ３，ｌｏｗ３，ｃｅｎｔｅｒ３は、処理済のカーソル位置信号ｈｉｇｈ，ｌｏｗ，ｃｅｎｔｅｒ　をディレイ部１９によって２クロック遅らせた信号となる。
【００５４】
次に、比較器１０では、上記ヒステリシススムージング処理済のカーソル位置信号の上下端位置信号ｈｉｇｈ，ｌｏｗの２つ信号と、入力画像信号Ｉとの比較を行う。この比較は、１画素前隣の画素に対応するカーソル位置信号ｈｉｇｈ，ｌｏｗと、現在の画像信号Ｉとを比較するものである。具体的には、図４の（Ａ）のタイミングチャートの▲５▼の画素番号０の画素に対応する信号と、タイミングチャートの▲７▼の画素番号１の画素に対応する信号を比較するということであるから、カーソル位置信号ｈｉｇｈ，ｌｏｗは画像信号Ｉに対し、３クロック分遅れたものとしなければならない。したがって、ここでの画像信号にはディレイ部を通さない入力画像信号Ｉを用いることになる。
【００５５】
比較器１０の動作は、図１に示した画像処理回路で示した動作と同じであり、その出力信号はディレイ部１８を通った後、セレクタ９のセレクト信号Ｓとなる。
【００５６】
ここで、このセレクタ信号Ｓは前述したように、セレクタ９への入力信号ｈｉｇｈ０，ｌｏｗ０，ｃｅｎｔｅｒ０、ｈｉｇｈ１，ｌｏｗ１，ｃｅｎｔｅｒ１、ｈｉｇｈ２，ｌｏｗ２，ｃｅｎｔｅｒ２及びｈｉｇｈ３，ｌｏｗ３，ｃｅｎｔｅｒ３のいずれかの１組を選択するための信号であるため、これらの信号とのタイミングを考慮する必要がある。具体的には、図４の（Ｂ）における画素番号１の画素位置におけるヒステリシススムージング結果を得るためには、画素番号１の画素位置に対応するカーソル位置信号ｈｉｇｈ１，ｌｏｗ１，ｃｅｎｔｅｒ１及びｈｉｇｈ２，ｌｏｗ２，ｃｅｎｔｅｒ２と、画素番号０の画素位置に対応する処理済のカーソル位置信号ｈｉｇｈ３，ｌｏｗ３，ｃｅｎｔｅｒ３のいずれかを選択するセレクトする信号として、画素番号０の画素位置に対応するセレクト信号Ｓが必要ということになる。すなわち、セレクト信号Ｓは図４の（Ａ）のタイミングチャートの▲８▼に示したタイミングの信号とする必要がある。そしてこのセレクト信号Ｓは、例えば画素番号０の画素位置に対応するセレクト信号Ｓは、図４の（Ａ）のタイミングチャートの▲５▼で示す処理済のカーソル位置信号ｈｉｇｈ，ｌｏｗ，ｃｅｎｔｅｒ　の画素番号０の画素位置に対応する信号、及びタイミングチャートの▲７▼で示す画像信号Ｉの画素番号１の画素信号から生成される信号であるから、この２つの信号に対して２クロック分遅れた信号ということになる。つまり、図４の（Ａ）のタイミングチャートの▲８▼のタイミングのセレクト信号Ｓを得るためには、ディレイ部１８は２クロック分のディレイを必要とするということになる。
【００５７】
ここで、ディレイ部１８は２クロック分のディレイが必要であるということは、比較器１０の処理に２クロック分のパイプラインディレイを割り振ることが可能であるということである。例えば、この画像処理回路を動作させるクロックとして、比較的高速なクロックを用いた場合、比較器１０の処理が１クロック周期内に終わらないということが考えられる。このとき、比較器１０を構成する回路を分割し、比較器１０の内部にディレイ部１８を構成する１つ又は２つのディレイ素子を挿入することで、分割回路間の処理は簡単になり、すなわち、パイプライン化が可能となる。
【００５８】
また、この実施の形態の変形例として、セレクタ９の処理が１クロック周期内に終わらない場合は、ディレイ部１７のディレイ数を２クロック分として、セレクタ９内にその一部を挿入し、ディレイ部１９のディレイ数を１クロック分とし、ディレイ部１８のディレイ数を１クロック分とし、更に比較器１０に入力される画像信号Ｉを１クロック遅らせることにより、パイプライン処理が可能となる。ここで、比較器１０に入力する画像信号Ｉを１クロック遅らせるのは、比較器１０への入力信号ｈｉｇｈ，ｌｏｗと画像信号Ｉのタイミングを合わせるためである。
【００５９】
以上の説明を一般化して表すと、次のようになる。
（１）ディレイ部１７とディレイ部１８のディレイ数（ディレイクロック数）の和は３であればよい。
（２）ディレイ部１７とディレイ部１９のディレイ数の和は３であればよい。
（３）入力画像信号Ｉがカーソル位置決定部６〜８を経て比較器１０までに至る間に存在するディレイ数の和は最低３必要で、３より多い場合は、その多い分のディレイ数を、比較器１０への入力画像信号Ｉの入力部分に挿入する必要がある。
（４）上記（１），（２）及び（３）に示したディレイ数の和は、画像信号を画像メモリ３から読み出す際に、縦方向に読み出す画素数に等しい。
【００６０】
すなわち、本実施の形態では、画像メモリ３からの画素信号の読み出しを、画素番号０，Ｎ＋０，２Ｎ＋０，１，・・・というように読み出していたため、上記（１）及び（２）に記したディレイ数の和は３であったが、例えば、画素番号０，Ｎ＋０，２Ｎ＋０，３Ｎ＋０，１，・・・というように読み出した場合は、ディレイ数の和は４となる。したがって、画像を縦に読み出す数を増やせば増やすほど、ディレイ部１９，ディレイ部１７，ディレイ部１８に割り当てるディレイ数は多くなり、より複雑な処理をより高速に行うことが可能となる。
【００６１】
また、上記一般化した説明を、図１に示した画像処理回路に当てはめた場合、画素信号の読み出し順は画素番号１，２，・・・となっているので、上記（４）の条件から、ディレイ部１７とディレイ部１８のディレイ数の和は１となる。したがって、図１に示した画像処理回路においては、セレクタ９と比較器１０は、合わせて１クロック内で処理しなければならないことになり、これは図１に示した画像処理回路における問題点につながる。
【００６２】
以上で説明したように、画像メモリ３からの画素信号の読み出し順序を工夫し、また回路内のパイプラインディレイ部のディレイ数及び挿入位置を適切に選択することにより、ヒステリシススムージング回路に代表されるようなフィードバック処理回路を有する画像処理回路を、パイプライン処理により高速処理することが可能となる。
【００６３】
次に、本発明の第２の実施の形態について説明する。前記第１の実施の形態においては、入力画像は単一色の画像であったのに対し、第２の実施の形態は、単板のカラー画像を入力画像とした場合の画像処理回路に関するものである。図５は、本発明に係る画像処理装置の第２の実施の形態を示すブロック構成図であり、具体的にはヒステリシススムージング処理回路をデジタルカメラに搭載した場合の回路構成を示すブロック図である。図５において、図３に示した第１の実施の形態における構成要素と同一又は対応する構成要素には同一符号を付して示し、その詳細な説明は省略する。この実施の形態が第１の実施の形態と異なる点は、撮像素子としてＲＧＢベイヤーカラーフィルタを有する単板カラー撮像素子１′を用いている点と、ディレイ部１３〜１５，１７〜１９のディレイクロック数を異ならせている点で、その他の構成は第１の実施の形態と同様である。
【００６４】
次に、このように構成された第２の実施の形態の動作について、図５に加え、図６の（Ａ）〜（Ｃ）を用いて説明する。ただし、図１及び図３に示した画像処理回路と同じ動作をするブロックについては、その説明を省略する。図６の（Ａ）は、図５に示した画像処理回路における画像データの流れを説明するタイミングチャートであり、図６の（Ｂ）は画素信号の読み出し順を説明するための図であり、図６の（Ｃ）はベイヤーカラーフィルターを説明するための図である。図６の（Ａ）のタイミングチャートの番号▲１▼〜▲８▼で示す信号のタイミングは、図５に示す画像処理回路の同じ番号で示す部分に流れるデータのタイミングを示している。
【００６５】
ベイヤーカラーフィルタを有する撮像素子１から出力される画像信号は、図６の（Ｂ）で示されるような、横画素数Ｎ個、縦画素数Ｍ個の２次元の単板カラー画像の画像信号であり、説明を容易にするため０から始まる画素番号、及びそれぞれの画素に対応するカラーフィルタの色を表記している。カラーフィルタの色は、図６の（Ｃ）で示す単板ベイヤーカラーフィルタの色であり、Ｒは赤、Ｇｒは赤と同じ行の緑、Ｂは青、Ｇｂは青と同じ行の緑を表している。
【００６６】
この２次元の単板カラー画像信号は、ＡＤコンバータ２でデジタル信号に変換された後、画像メモリ３に書き込まれる。このときの画像信号の書き込み順は、メモリコントローラ４により、画素番号０（Ｒ），１（Ｇｒ），２（Ｒ），３（Ｇｒ），・・・，Ｎ＋０（Ｇｂ），Ｎ＋１（Ｂ），・・・というように、画素番号順に書き込まれるように制御される。
【００６７】
次に、画像メモリ３に書き込まれた画像信号は、画像メモリ３から１クロック毎に読み出されるが、このときの読み出し順は、図６の（Ｂ）の矢印で示したように、画素番号０（Ｒ）の画素から矢印に沿って、縦方向にＮ＋０（Ｇｂ），２Ｎ＋０（Ｒ）の順に読み出され、次に、１（Ｇｒ），Ｎ＋１（Ｂ），２Ｎ＋１（Ｇｒ）というように、ジグザグ状に読み出される。右端の３Ｎ−１まで読み出された後は、３Ｎ＋０（Ｇｂ）から４Ｎ＋０（Ｒ），５Ｎ＋０（Ｇｂ）と読み出され、以下、同様に画像の下端まで繰り返される。このようにして画像メモリ３から読み出された画像信号を、画像信号Ｉ（図６の（Ａ）のタイミングチャートの番号▲１▼で示す信号）とする。
【００６８】
一方、画像処理回路のもう一つの入力データである撮影情報は、撮影時のＩＳＯ感度やシャッター速などの情報であり、図６の（Ａ）のタイミングチャートの▲２▼で示すように、１フレーム単位で切り替わるデータであるため、１　画面中は同じ情報が保持される。
【００６９】
カーソル高さ決定部５の動作は、図１に示した画像処理回路と同じ動作であり、ディレイ部１１，１２を通ったカーソル高さ信号ｃｕｒｓ及び画像信号Ｉ１信号は、図６の（Ａ）のタイミングチャートの▲３▼に示すタイミングの信号となる。
【００７０】
次に、カーソル初期位置決定部６，第１　のカーソル位置決定部７，及び第２のカーソル位置決定部８は、図１に示した画像処理回路と同じ動作をし、それらの出力信号は、それぞれディレイ部１３，１４，１５を通った後、図６の（Ａ）のタイミングチャートの▲４▼に示すタイミングの信号となる。ここで、ディレイ部１３，１４，１５のディレイクロック数が３になっているが、この理由については後に述べる。
【００７１】
次に、セレクタ９の動作も図１に示した画像処理回路と同じであり、ディレイ部１７を通った後、図６の（Ａ）のタイミングチャートの▲５▼で示したタイミングの処理済のカーソル位置信号ｈｉｇｈ，ｌｏｗ，ｃｅｎｔｅｒ　となる。このうちの信号ｃｅｎｔｅｒはヒステリシススムージング処理を終えた画像信号であるので、出力画像信号Ｏとなる。
【００７２】
ここで、セレクタ９の入力信号ｈｉｇｈ３，ｌｏｗ３，ｃｅｎｔｅｒ３は、既にヒステリシススムージング処理を終えている１画素前隣の画素に対応するカーソル位置信号であるが、この１画素前隣の画素とは、２次元画像における同じ色の前隣の画素を示し、例えば、図６の（Ｂ）に示した画素番号２（Ｒ）の１画素前隣の画素とは、画素番号０（Ｒ）の画素のことであり、メモリからの読み出し順とは関係ない。前隣の画素を同色の画素とする理由は、色が異なると、ノイズの振幅値や画素のレベルが異なるため、同じ色同士でヒステリシススムージングを行う必要があるからである。
【００７３】
よって、セレクタ９に入力するカーソル位置信号ｈｉｇｈ０，ｌｏｗ０，ｃｅｎｔｅｒ０、ｈｉｇｈ１，ｌｏｗ１，ｃｅｎｔｅｒ１、及びｈｉｇｈ２，ｌｏｗ２，ｃｅｎｔｅｒ２と、ｈｉｇｈ３，ｌｏｗ３，ｃｅｎｔｅｒ３との関係は、図６の（Ａ）のタイミングチャートの▲４▼と▲６▼で表したようなタイミングの関係、すなわち、タイミングチャートの▲４▼の画素番号２（Ｒ）の画素に対応する信号と、タイミングチャートの▲６▼の画素番号０（Ｒ）の画素に対応する信号とを同じタイミングとする必要がある。したがって、このタイミング合わせのため、処理済のカーソル位置信号のセレクタ９への入力信号ｈｉｇｈ３，ｌｏｗ３，ｃｅｎｔｅｒ３は、処理済のカーソル位置信号ｈｉｇｈ，ｌｏｗ，ｃｅｎｔｅｒ　をディレイ部１９によって４クロック遅らせた信号となる。
【００７４】
次に、比較器１０では、上記処理済のカーソル位置信号の上下端位置信号ｈｉｇｈ，ｌｏｗの２つ信号と、入力画像信号Ｉとの比較を行う。この比較は、１画素前隣の同色画素に対応するカーソル位置信号ｈｉｇｈ，ｌｏｗと、現在の入力画像信号Ｉとを比較するものである。具体的には、図６の（Ａ）のタイミングチャートの▲５▼の画素番号０（Ｒ）の画素に対応する信号と、タイミングチャートの▲７▼の画素番号２（Ｒ）の画素に対応する信号とを比較するということであるから、カーソル位置信号ｈｉｇｈ，ｌｏｗは入力画像信号Ｉに対し、６クロック分遅れたものとしなければならない。したがって、ここでの画像信号にはディレイ部を通さない入力画像信号Ｉを用いることになる。比較器１０の動作は、図１に示した画像処理回路の動作と同じであるが、比較器１０が“１１”を出力する条件である、左端画素の位置には違いがある。本実施の形態における左端画素とは、図６の（Ｂ）における、０（Ｒ），Ｎ＋０（Ｇｂ），２Ｎ＋０（Ｒ），・・・及び、１（Ｇｒ），Ｎ＋１（Ｂ），２Ｎ＋１（Ｇｒ），・・・の左端２列の画素である。
【００７５】
この比較器１０の出力信号は、ディレイ部１８を通った後、セレクタ９のセレクト信号Ｓとなる。ここで、このセレクタ信号Ｓは前述したように、セレクタ９への入力信号ｈｉｇｈ０，ｌｏｗ０，ｃｅｎｔｅｒ０、ｈｉｇｈ１，ｌｏｗ１，ｃｅｎｔｅｒ１、ｈｉｇｈ２，ｌｏｗ２，ｃｅｎｔｅｒ２、及びｈｉｇｈ３，ｌｏｗ３，ｃｅｎｔｅｒ３のいずれか１組を選択するための信号であるため、これらの信号とのタイミングを考慮する必要がある。具体的には、図６の（Ｂ）における画素番号２（Ｒ）の画素位置におけるヒステリシススムージング結果を得るためには、画素番号２（Ｒ）の画素位置に対応するカーソル位置信号ｈｉｇｈ１，ｌｏｗ１，ｃｅｎｔｅｒ１及びｈｉｇｈ２，ｌｏｗ２，ｃｅｎｔｅｒ２と、画素番号０（Ｒ）の画素位置に対応する処理済のカーソル位置信号ｈｉｇｈ３，ｌｏｗ３，ｃｅｎｔｅｒ３のいずれかを選択するセレクトする信号として、画素番号０（Ｒ）の画素位置に対応するセレクト信号Ｓが必要ということになる。すなわち、セレクト信号Ｓは図６の（Ａ）のタイミングチャートの▲８▼に示したタイミングの信号とする必要がある。そして、このセレクト信号Ｓは、例えば画素番号０（Ｒ）の画素位置に対応するセレクト信号Ｓは、図６の（Ａ）のタイミングチャートの▲５▼で示す処理済のカーソル位置信号ｈｉｇｈ，ｌｏｗ，ｃｅｎｔｅｒ　の画素番号０（Ｒ）の画素位置に対応する信号、及びタイミングチャートの▲７▼で示す画像信号Ｉの画素番号２（Ｒ）の画素信号から生成される信号であるから、この２つの信号に対して４クロック分遅れた信号ということになる。つまり、図６の（Ａ）のタイミングチャートの▲８▼のタイミングのセレクト信号Ｓを得るためには、ディレイ部１８は４クロック分のディレイを必要とするということになる。
【００７６】
ここで、ディレイ部１８は４クロック分のディレイが必要であるということは、比較器１０の処理に４クロック分のパイプラインディレイを割り振ることが可能であるということであり、また、ディレイ部１７が、２クロック必要であるということは、セレクタ９の処理に２クロック分のパイプラインディレイを割り振ることが可能であるということである。
【００７７】
以上の説明を一般化して表すと、次のようになる。
（１）ディレイ部１７とディレイ部１８のディレイ数（ディレイクロック数）の和は６であればよい。
（２）ディレイ部１７とディレイ部１９のディレイ数の和は６であればよい。
（３）入力画像信号Ｉがカーソル位置決定部６〜８を経て比較器１０までに至る間に存在するディレイ数の和は最低６必要で、もし、６より多い場合は、その多い分のディレイ数を、比較器１０への入力画像信号Ｉの入力部分に挿入する必要がある。
（４）ベイヤーカラー画像においては、上記（１），（２）及び（３）に示したディレイ数の和は、画像信号を画像メモリ３から読み出す際に、縦方向に読み出す画素数×２に等しい。
【００７８】
すなわち、本実施の形態では、画像メモリ３からの画素信号の読み出しを、画素番号０，Ｎ＋０，２Ｎ＋０，１，・・・というように読み出していたため、上記（１）及び（２）に記したディレイ数の和は３×２＝６であったが、例えば、画素番号０，Ｎ＋０，２Ｎ＋０，３Ｎ＋０，１，・・・というように読み出した場合は、ディレイ数の和は８となる。したがって、画像を縦に読み出す数を増やせば増やすほど、ディレイ部１９，ディレイ部１７，ディレイ部１８に割り当てるディレイ数は多くなり、より複雑な処理をより高速に行うことが可能となる。
【００７９】
さて、本実施の形態においては、ディレイ１７，１８，１９のディレイ数は上記のように設定することが可能であるが、ディレイ１３，１４，１５のディレイ数については、次のようにして設定される。
【００８０】
まず、入力画像信号Ｉが、比較器１０に一番早く到達するのは図６の（Ａ）のタイミングチャートの▲７▼で示すタイミングのときである。したがって、この入力画像信号Ｉとタイミングを合わせる必要のある処理済のカーソル位置信号の上下端位置信号ｈｉｇｈ，ｌｏｗも、図６の（Ａ）のタイミングチャートの▲５▼で示すタイミングより前には生成してはいけないことになる。この制約があるため、ディレイ部１７のディレイ数を減らしたい場合は、図６の（Ａ）のタイミングチャートの▲４▼で示すセレクタ９への入力信号（カーソル位置信号）を遅らせるしか方法はない。つまり、本実施の形態では、ディレイ部１７のディレイ数を２としているため、ディレイ部１３，１４，１５のディレイ数を３とする必要がある。仮に、ディレイ部１７のディレイ数を１にしたい場合は、ディレイ部１３，１４，１５のディレイ数を４にする必要がある。これは、比較器１０への入力信号（処理済のカーソル位置信号の上下端位置信号）ｈｉｇｈ，ｌｏｗと、入力画像信号Ｉのタイミングを合わせるためである。
【００８１】
また、仮に、ディレイ部１７のディレイ数を５とした場合は、ディレイ部１８及びディレイ部１９のディレイ数を１とし、ディレイ部１３，１４，１５のディレイ数を１にし、且つ、比較器１０に入力する画像信号Ｉを１クロック遅らせる必要がある。これは第１の実施の形態での説明と同じで、比較器１０の入力信号ｈｉｇｈ，ｌｏｗと入力画像信号Ｉのタイミングを合わせるためである。
【００８２】
また、本実施の形態では入力画像をベイヤーカラー画像としたものを示したが、これは例えば補色フィルターような他のカラーフィルターによるカラー画像でも成り立つ。また、本実施の形態で用いたベイヤーカラー画像のような、１　画素おきに同色画素が並ぶ画像を扱う場合においては、画像メモリからの画像の読み出しを０，１，２，３，・・・というように、画像の横方向に読み出した場合、ディレイ部１７とディレイ部１８のディレイ数の和は２，ディレイ部１７とディレイ部１９のディレイ数の和は２となる。すなわち、セレクタ及び比較器をそれぞれ１クロック周期内で処理することが可能となり、図１で示した回路構成のままでも、回路のクロック周波数が高くない場合や、画像のビット幅が少ない場合においては、ヒステリシススムージングのパイプライン処理が実現可能である。
【００８３】
以上で説明したように、画像メモリ３からの画像信号の読み出し順序を工夫し、また回路内のパイプラインディレイ部のディレイ数及び挿入位置を適切に選択することにより、カラー画像においても、ヒステリシススムージング回路に代表されるようなフィードバック処理回路を有する画像処理回路における画像処理を、パイプライン処理により高速処理することが可能となる。
【００８４】
次に、本発明の第３の実施の形態について説明する。図７は、本発明に係る画像処理装置の第３の実施の形態を示すブロック構成図であり、図３及び図５に示した第１及び第２の実施の形態と同一又は対応する構成要素には同一の符号を付して示し、その説明を省略する。図７において、２１は入力画素信号値がカーソルの上端より上となった場合の、カーソルの中心位置ｃｅｎｔｅｒ１　を演算する第１のカーソル中心位置決定部、２２は入力画素値がカーソルの下端より下となった場合の、カーソルの中心位置ｃｅｎｔｅｒ２　を演算する第２のカーソル中心位置決定部、２３はカーソルの上端位置ｈｉｇｈ及び下端位置ｌｏｗ　を演算するカーソル上下端位置決定部、２４はディレイ部（一般的回路におけるフリップフロップ）であり、ディレイ部１１〜１９と共に１　クロック分ディレイさせる場合はＤ，ｎクロック分ディレイさせる場合はｎＤと表している。
【００８５】
この実施の形態においては、カーソル位置の演算は、最初に第１のカーソル中心位置決定部２１及び第２のカーソル中心位置決定部２２にて、中心位置ｃｅｎｔｅｒ１，ｃｅｎｔｅｒ２のみ求め、そしてセレクタ９により選ばれたカーソル中心位置から、カーソル上下端位置決定部２３にてカーソル上下端位置を求めるようにしている。したがって、前記第１及び第２の実施の形態に対し、機能的には同じであるが、カーソルの位置を演算するブロックが簡単になり、回路規模を小さくできるという利点がある。
【００８６】
しかし、セレクタ９の処理後に、カーソル上下端位置ｈｉｇｈ，ｌｏｗの演算を行うため、カーソル中心位置ｃｅｎｔｅｒからセレクタ信号Ｓを演算するまでの回路は更に複雑になるので、画像信号の読み出しを図２の（Ｂ）のように横方向に読み出した場合においては、セレクタ９，カーソル中心位置決定部２１又は２２，及び比較器１０の３つのブロックを、１クロック周期内に処理しなければならないことになり、一般的な回路でのパイプライン処理は難しい。
【００８７】
このような、より複雑な構成の回路においても、図７に示す第３の実施の形態の回路構成のように、ディレイ部の配置及びディレイクロック数を適切に決め、図６の（Ｂ）で示したような画像読み出し方法をとることにより、カラー画像に対して図８に示したタイミングのパイプライン処理が可能となる。
【００８８】
また、図７に示した第３の実施の形態に係る画像処理回路におけるパイプラインディレイ数（ディレイクロック数）は、第１及び第２の実施の形態と同様に、以下のように一般化できる。
（１）ディレイ部１７とディレイ部２４とディレイ部１８のディレイ数の和は６であればよい。
（２）ディレイ部１７とディレイ部１９のディレイ数の和は６であればよい。
（３）入力画像信号Ｉがカーソル中心位置決定部２１，２２、セレクタ９、及びカーソル上下端位置決定部２３を経て比較器１０までに至る間に存在するディレイ数の和は最低６必要で、もし、６より多い場合は、その多い分のディレイ数を、比較器１０への入力画像信号Ｉの入力部分に挿入する必要がある。本実施の形態では、入力画像信号Ｉがカーソル中心位置決定部２１，２２、セレクタ９、及びカーソル上下端位置決定部２３を経て比較器１０までに至る間に９段（９クロック分）のディレイ数があるため、３段のディレイ数のディレイ部１６が比較器１０に入力される画像信号Ｉの入力側に挿入されている。
（４）ベイヤーカラー画像においては、上記（１），（２）及び（３）に示したディレイ数の和は、画像信号を画像メモリ３から読み出す際に、縦方向に読み出す画素数×２に等しい。
【００８９】
以上で説明したように、画像メモリ３からの画像の読み出し順序を工夫し、また回路内のパイプラインディレイ部のディレイ数及び挿入位置を適切に選択することにより、より複雑な構成のフィードバック回路においても、パイプライン処理により高速処理することが可能な画像処理回路を提供することができる。
【００９０】
【発明の効果】
以上実施の形態に基づいて説明したように、本発明によれば、画像処理回路を構成する選択回路及び比較回路の出力信号に対して適切な遅延量を設定することができ、ヒステリシススムージング処理に代表されるフィードバック処理を有する画像処理を、パイプライン処理により高速に行うことが可能な画像処理回路を実現することができる。
【図面の簡単な説明】
【図１】本発明に関連する画像処理回路の構成を示すブロック構成図である。
【図２】図１に示した画像処理回路の動作を説明するためのタイミングチャート、及び図１に示した画像処理回路における画像データの読み出し順を示す説明図である。
【図３】本発明に係る画像処理装置の第１の実施の形態を示すブロック構成図である。
【図４】図３に示した第１の実施の形態の動作を説明するためのタイミングチャート、及び第１の実施の形態における画像データの読み出し順を示す説明図である。
【図５】本発明の第２の実施の形態を示すブロック構成図である。
【図６】図５に示した第２の実施の形態の動作を説明するためのタイミングチャート、第２の実施の形態における画像データの読み出し順を示す説明図、及び第２の実施の形態における撮像素子に用いられるベイヤーカラーフィルタの構成を示す図である。
【図７】本発明の第３の実施の形態を示すブロック構成図である。
【図８】図７に示した第３の実施の形態の動作を説明するためのタイミングチャートである。
【図９】ヒステリシススムージング処理を説明するための説明図である。
【符号の説明】
１　撮像素子
１′　単板カラー撮像素子
２　Ａ／Ｄコンバータ
３　画像メモリ
４　メモリコントローラ
５　カーソル高さ決定部
６　カーソル初期位置決定部
７　第１のカーソル位置決定部
８　第２のカーソル位置決定部
９　セレクタ
１０　比較器
１１〜１９　ディレイ部
２１　第１のカーソル中心位置決定部
２２　第２のカーソル中心位置決定部
２３　カーソル上下端位置決定部
２４　ディレイ部
【図１】
2004133644.tif 000003
【図２】
2004133644.tif 000004
【図３】
2004133644.tif 000005
【図４】
2004133644.tif 000006
【図５】
2004133644.tif 000007
【図６】
2004133644.tif 000008
【図７】
2004133644.tif 000009
【図８】
2004133644.tif 000010
【図９】
2004133644.tif 000011