(57)【特許請求の範囲】
【請求項１】
複数のデータ信号処理部が単一のバスを共有し、ＤＭＡ（ダイレクトメモリアクセス：direct  memory  access）コントローラによって前記バスを使用するデータ信号処理部の切り換えおよびアドレスの自動生成を行うと共に、前記単一のバスを介して各信号処理部と外部メモリとが入出力を行うことにより一連のデータ信号処理を実施するデータ処理システムにおいて、
該ＤＭＡコントローラは、アドレスを管理する座標カウンタの値によって、前段のデータ信号処理が完了する前に次段のデータ信号処理部を起動させて、時間的に並列にデータ信号処理を行わせるデータ信号並列処理手段を有し、
該データ信号並列処理手段は、予め設定された遅延ライン数を示す起動遅延信号を出力するレジスタバンクと、後段のデータ信号処理が前段のデータ信号処理よりも速い場合にも、該座標カウンタのカウンタ値と該起動遅延信号とを比較して該カウンタ値と該遅延ライン数との差分が一定値以下にならないように該ＤＭＡコントローラが該後段のデータ信号処理にバス権を許可することによって、前段のデータ信号処理を追い越さないように後段のデータ信号処理を制御する追い越し禁止制御手段とを有するデータ処理システム。
【請求項２】
前記ＤＭＡコントローラは、矩形小領域単位でＤＭＡ転送を行う請求項１記載のデータ処理システム。
【請求項３】
前記追い越し禁止制御手段は、前段のデータ信号処理の完了後に、前記追い越し禁止制御の終了処理を行う請求項２記載のデータ処理システム。
【請求項４】
請求項１〜３の何れかに記載のデータ処理システムにおいて、前記一連のデータ信号処理中で、単一の処理系列が途中で複数の処理系列に分岐されるデータ処理システム。
【請求項５】
請求項１〜３の何れかに記載のデータ処理システムにおいて、前記一連のデータ信号処理中で、複数の処理系列が単一の処理系列に統合されるデータ処理システム。
【請求項６】
請求項１記載のデータ処理システムにおいて、前記一連のデータ信号処理における処理データが画像データであるデータ処理システム。
【請求項７】
複数のデータ信号処理部を有するデータ処理システムにおいて、共通のバスを通して外部メモリ内のデータのデータ信号処理を行うデータ処理方法であって、後段のデータ信号処理が前段のデータ信号処理よりも速い場合にも、予め設定された遅延ライン数を示す起動遅延信号と、ＤＭＡコントローラが管理する座標カウンタのカウンタ値とを比較して該カウンタ値と該遅延ライン数との差分が一定値以下にならないように該ＤＭＡコントローラが該後段のデータ信号処理にバス権を許可することによって、前段のデータ信号処理に対して後段のデータ信号処理が追い越さないように追い越し禁止制御処理を行いつつ、アドレスを管理する該座標カウンタのカウンタ値によって、前段のデータ信号処理が完了する前に次段のデータ信号処理部を起動させて、時間的に並列に複数のデータ信号処理部を並列動作させるデータ処理方法。
以上
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、複数の画像信号処理を組み合わせた一連の所要のデータ信号処理を実現するデジタルスチルカメラなどに用いられた画像処理システムなどのデータ処理システムおよび、それを用いたデータ処理方法に関する。
【０００２】
【従来の技術】
この種の画像処理システムは例えばデジタルスチルカメラなどに用いられ、一連の複数の画像信号処理を組み合わせて所要のデータ信号処理を実現するものである。デジタルスチルカメラでは、ＣＣＤモジュールから画像データを取り込み、ベイヤー配列のＲＧＢ値（各色信号）からＹＵＶ値（輝度、色差信号）への色空間変換、オートアイリス（明暗に応じた出力値の調整）、ホワイトバランス（色の調整）などの色濃度変換と、ＪＰＥＧフォーマットへの画像圧縮などの各画像信号処理が必要となる。これらの各画像信号処理をシリアルで順次的に実行した場合には、全体の画像信号処理に要する時間が直列に加算されて長くなり、カメラなどの撮影動作においてはその即応性が損なわれる。この一例を以下に、図８を参照して説明する。
【０００３】
図８は従来の画像信号処理システムの構成を示すブロック図である。図８において、画像処理システム１００は、複数の画像信号処理モジュールＡ〜Ｃと、複数の画像信号処理モジュールＡ〜Ｃが共有する単一のバス１０１と、外部のメモリ１０２にアクセス（データの書き込みおよび読み出し）するメモリコントローラ１０３と、複数の画像信号処理モジュールＡ〜Ｃおよびメモリコントローラ１０３を制御するＤＭＡコントローラ１０４とを有している。
【０００４】
この画像信号処理モジュールＡは、入力部１０５から入力された画像データを信号処理し、その信号処理結果をバス１０１を介してメモリコントローラ１０３に出力するようにしている。
【０００５】
また、画像信号処理モジュールＢは、メモリ１０２内の画像信号処理モジュールＡの信号処理結果をバス１０１を介してメモリコントローラ１０３から入力されると共に、その入力した信号処理結果に対して更に信号処理をした後に再び、その信号処理結果をバス１０１を介してメモリコントローラ１０３に出力するようにしている。
【０００６】
さらに、画像信号処理モジュールＣは、メモリ１０２内の画像信号処理モジュールＢの処理結果をバス１０１を介してメモリコントローラ１０３から入力され、その入力された信号処理結果を出力部１０６に出力するようにしている。
【０００７】
以上のように、各信号処理を直列的で順次的に実行する場合には、全体の信号処理時時間が各画像信号処理時間の合計になって、全体の画像信号処理に要する時間が長くなり、カメラの撮影動作の即応性が損なわれるという問題がある。
【０００８】
このような問題を解決するために、例えば特開平５−４８９１１号公報「画像読取装置及びデジタル複写装置」では、複写機のデジタル信号処理を高速化するために、各信号処理モジュールをパイプライン状に構成し、原稿の読み取り中に符号化部が符号化処理を開始し、更にその符号化処理中に次段の復号化部が復号化処理を開始するというように、複数の画像信号処理が並行して処理される期間を設けることで、全体の画像信号処理にかかる処理時間を短縮化している。
【０００９】
パイプライン処理とは、１つの処理をｎ段の独立な処理段階に分けて１列に並べ、各処理段階を並列に実行することによって、前処理過程の１／ｎの時間毎に次々に一連の信号処理結果を得る方式である。このパイプライン処理の一例を以下に、図９を参照して具体的に説明する。
【００１０】
図９は、従来のパイプライン処理によって信号処理を高速化した画像処理システムの構成を示すブロック図である。図９において、画像処理システム２００は、入力部２０１から入力された画像データを信号処理する画像信号処理モジュールＤと、画像信号処理モジュールＤによる信号処理結果を一時的に保持する一時保持用メモリ２０２と、一時保持用メモリ２０２の信号処理結果を用いて更に信号処理する画像信号処理モジュールＥと、画像信号処理モジュールＥによる信号処理結果を一時的に保持する一時保持用メモリ２０３と、一時保持用メモリ２０３の信号処理結果を用いて信号処理する画像信号処理モジュールＦと、画像信号処理モジュールＦによる信号処理結果を出力する出力部２０４とを有しており、時間的にまたは、アドレス空間上においてパイプライン状に構成されて、前段の信号処理の途中で後段の信号処理を開始することで並列に信号処理を行う時間を設けて全体の信号処理時間を短縮するものである。
【００１１】
即ち、特開平５−４８９１１号公報「画像読取装置及びデジタル複写装置」では、原稿読取部と符号化部の間で水平画素数×８ライン分のメモリが２つ（上記公報の一時保持用メモリ２０２に相当）ある。符号化部は一度に８×８画素のデータを必要とし、原稿読取部の出力開始から８ライン分のデータがたまった時点で符号化部による符号化処理を開始するようにしている。これと同様に、復号化部も符号化部の処理中に復号化処理を開始し、読取、符号化、復号化、出力が全て同一の速度で並行して信号処理されることで、全体の画像信号処理の時間が短縮されるようになっている。
【００１２】
【発明が解決しようとする課題】
ところが、上記したデジタルスチルカメラにおけるＣＣＤデータの取り込み（読取、符号化、復号化、出力）のように、パイプライン処理となっているため、前段の信号処理を待機させるような制御は不可能であり、後段の信号処理が一時保持用メモリ２０２，２０３の規模を超える期間にわたって遅滞する可能性がある場合には、上記特開平５−４８９１１号公報「画像読取装置及びデジタル複写装置」のようなパイプライン処理は実現できない。
【００１３】
また、後段の信号処理の方が速い場合にも、後段の信号処理が前段の信号処理を追い越すなどの不具合が発生してしまうことにより、上記パイプライン処理は実現できない。
【００１４】
したがって、各信号処理の速度が異なる場合には、上記パイプライン処理は実現できず、全体の画像信号処理にかかる処理時間を短縮することができない。
【００１５】
本発明は、上記従来の事情に鑑みて為されたものであり、各信号処理の速度が異なる場合にも、全体の画像信号処理にかかる処理時間を短縮することができるデータ処理システムおよび、それを用いたデータ処理方法を提供することを目的とする。
【００１６】
【課題を解決するための手段】
本発明のデータ処理システムは、複数のデータ信号処理部が単一のバスを共有し、ＤＭＡ（ダイレクトメモリアクセス：direct  memory  access）コントローラによって前記バスを使用するデータ信号処理部の切り換えおよびアドレスの自動生成を行うと共に、前記単一のバスを介して各信号処理部と外部メモリとが入出力を行うことにより一連のデータ信号処理を実施するデータ処理システムにおいて、該ＤＭＡコントローラは、アドレスを管理する座標カウンタの値によって、前段のデータ信号処理が完了する前に次段のデータ信号処理部を起動させて、時間的に並列にデータ信号処理を行わせるデータ信号並列処理手段を有し、該データ信号並列処理手段は、予め設定された遅延ライン数を示す起動遅延信号を出力するレジスタバンクと、後段のデータ信号処理が前段のデータ信号処理よりも速い場合にも、該座標カウンタのカウンタ値と該起動遅延信号とを比較することによって、前段のデータ信号処理を追い越さないように後段のデータ信号処理を制御する追い越し禁止制御手段とを有するものであり、そのことにより上記目的が達成されるものである。また、本発明のデータ処理方法は、複数のデータ信号処理部を有するデータ処理システムにおいて、共通のバスを通して外部メモリ内のデータのデータ信号処理を行うデータ処理方法であって、後段のデータ信号処理が前段のデータ信号処理よりも速い場合にも、予め設定された遅延ライン数を示す起動遅延信号と、該ＤＭＡコントローラが管理する座標カウンタのカウンタ値とを比較することによって、前段のデータ信号処理に対して後段のデータ信号処理が追い越さないように追い越し禁止制御処理を行いつつ、アドレスを管理する該座標カウンタのカウンタ値によって、前段のデータ信号処理が完了する前に次段のデータ信号処理部を起動させて、時間的に並列に複数のデータ信号処理部を並列動作させるものであり、そのことにより上記目的が達成されるものである。
【００１７】
上記構成により、バスが各信号処理に対し十分に高速である場合、前段の信号処理によるデータの入出力は間欠的となり、その間に、ＤＭＡコントローラによって別の信号処理モジュールからのデータ入出力を行うことが可能となるため、各信号処理速度が異なる場合であっても、前段の信号処理と後段の信号処理とが並列に処理可能となり、全体の画像処理時間は短縮される。また、後段の信号処理速度の方が前段の信号処理速度よりも速い場合にも、後段と前段の信号処理において追越が発生しないように制御するので、後段と前段の信号処理が良好に行われる。
【００１８】
また、好ましくは、本発明のデータ処理システムにおけるＤＭＡコントローラは、矩形小領域単位でＤＭＡ転送を行う。
【００２０】
また、好ましくは、本発明のデータ処理システムにおける追い越し禁止制御手段は、前段のデータ信号処理の完了後に、追い越し禁止制御の終了処理を行う。
【００２１】
この構成により、前段の信号処理が完了したのち、各カウンタ値の差が一定以下にならないようにする制御が続くと、後段の処理が最後まで信号処理できないため、前段の処理の完了をＤＭＡコントローラで生成されるアドレスが予め設定された値に達することで検出し、追越禁止制御を無効にして確実に最後のデータまで処理をすることが可能となる。後段の処理の完了を検出すると再び追越禁止制御を有効にして次に備えることになる。
【００２２】
さらに、好ましくは、請求項１〜３の何れかに記載のデータ処理システムにおいて、一連のデータ信号処理中で、単一の処理系列が途中で複数の処理系列に分岐されるようになっている。また、好ましくは、請求項１〜３の何れかに記載のデータ処理システムにおいて、一連のデータ信号処理中で、複数の処理系列が単一の処理系列に統合されるようになっている。
【００２３】
これらの構成により、画像処理が１本の系列ではなく、例えばＣＣＤなどからの入力データに対して、輝度成分と色成分で別の信号処理に分かれる場合のように、ある画像信号処理モジュールの出力側が複数であるか、または逆に、入力側が複数あって、出力側が１本の系列であるような場合でも同様に、データ信号処理の高速化が可能となる。
【００２４】
さらに、好ましくは、請求項１〜４の何れかに記載のデータ処理システムにおいて、一連のデータ信号処理における処理データが画像データである。
【００２５】
この構成により、本発明のデータ処理システムが画像処理システムに容易かつ良好に適応可能であり、しかも、画像データの場合は、通常扱うデータに比べてデータ量が多いため、特に本発明の処理時間短縮効果が顕著である。
【００２６】
【発明の実施の形態】
以下に、本発明の信号処理システムを画像処理システムに適用させた場合の実施形態について図面を参照しながら説明する。
（実施形態１）
図１は、本発明の実施形態１における画像処理システムの構成例を示すブロック図であり、図６の部材と同様の作用効果を奏する部材には同一の符号を付してその説明を省略する。なお、本実施形態では、説明を簡略化するために、入力画像データに対して３段階の画像信号処理を順次行って、一連の画像処理を実現する場合について説明する。
【００２７】
図１において、この画像処理システム１は、複数の画像信号処理モジュールＡ〜Ｃと、複数の画像信号処理モジュールＡ〜Ｃが共有する単一のバス１０１と、外部のメモリ１０２にアクセス（データの書き込みおよび読み出し）するメモリコントローラ１０３と、複数の画像信号処理モジュールＡ〜Ｃおよびメモリコントローラ１０３を制御するメモリ処理制御部としてのＤＭＡコントローラ２とを有している。
【００２８】
各画像処理モジュールＡ〜Ｃは、一時的に少量のデータ（例えば１ライン分の画像データ）を蓄積するための一時記憶手段としての入力バッファおよび出力バッファの少なくとも何れかをを有している。なお、画像信号処理モジュールＡの入力側および、画像信号処理モジュールＣの出力側はバッファではなくメモリであってもよい。また、バッファの記憶容量分だけ、各画像処理モジュールＡ〜Ｃでの処理時間が吸収されて、単一のバス１０１を介して高速にデータの入出力を行うことができる。このため、その信号処理におけるデータの入出力は間欠的となり、その間に、ＤＭＡコントローラ２によって別の信号処理モジュールによってバスの使用が可能となる。
【００２９】
画像信号処理モジュールＡは、入力部１０５から入力された画像データを順次信号処理し、その信号処理データがバッファに一定量以上蓄積されてメモリ１０２に書きこむべきデータがある場合、ＤＭＡコントローラ２に対してＤＭＡリクエスト（ＤＲＥＱ−Ａ）を発行するようになっている。また、画像信号処理モジュールＡは、ＤＭＡコントローラ２からの許可を示すＤＭＡアクノリッジ（ＤＡＣＫ−Ａ）が発行されたときだけにデータを入力または出力するようにしている。
【００３０】
また、画像信号処理モジュールＢは、入出力それぞれにＤＭＡチャンネルを割り当てられており、新規のデータが処理可能な状態になると、ＤＭＡコントローラ２に対してＤＭＡリクエスト（ＤＲＥＱ−ＢＩ）を発行し、所定の信号処理を行い、メモリ１０２に書きこむべきデータがある場合は、ＤＭＡコントローラ２に対してＤＭＡリクエスト（ＤＲＥＱ−ＢＯ）を発行する。また、画像信号処理モジュールＢは、ＤＭＡコントローラ２からのＤＭＡアクノリッジ（ＤＡＣＫ−ＢＩ，ＤＡＣＫ−ＢＯ）が発行されたときだけにデータを入力または出力するようにしている。
【００３１】
さらに、画像信号処理モジュールＣは、データが入力可能な状態のとき、ＤＭＡコントローラ２に対してＤＭＡリクエスト（ＤＲＥＱ−Ｃ）を発行する。また、画像信号処理モジュールＣは、ＤＭＡコントローラ２からのＤＭＡアクノリッジ（ＤＡＣＫ−Ｃ）が発行されたときだけにデータを入出力するようにしている。
【００３２】
ＤＭＡコントローラ２は画像信号並列処理手段（データ信号並列処理手段）を有し、後述する座標カウンタ２４の値によって、前段の画像信号処理が完了する前に次段の画像信号処理部を起動することにより、図２のアドレス割り当て例にも示すように、各画像信号処理をアドレス上並列に行うようになっている。つまり、ＤＭＡコントローラ２は、画像信号並列制御処理を行うべく、優先順位やチャンネル使用可否の設定状態などに基づいて、どの画像信号処理であるかのチャンネルを切り換え、各信号処理モジュールＡ〜Ｃに対して許可を示すＤＭＡアクノリッジ（ＤＡＣＫ−Ａ，ＤＡＣＫ−ＢＩ，ＤＡＣＫ−ＢＯ，ＤＡＣＫ−Ｃ）を発行するようになっている。以下、画像信号並列処理機能を備えたＤＭＡコントローラ２について図３を用いて詳細に説明する。
【００３３】
図３は、画像信号並列処理機能を備えた図１のＤＭＡコントローラ２の構成を示すブロック図である。図３において、ＤＭＡコントローラ２は、レジスタバンク２１と、優先順位判定部２２と、バスインターフェイス部／ＤＭＡアクノリッジ生成部２３と、座標カウンタ２４と、セレクタ２５と、アドレス演算部２６と、追越禁止制御部２７とを有している。
【００３４】
レジスタバンク２１は、ＣＰＵ（中央演算処理装置）から制御されており、チャンネル使用許可信号（ＤＭＡＥＮ−Ａ，ＤＭＡＥＮ−ＢＩ，ＤＭＡＥＮ−ＢＯ，ＤＭＡＥＮ−Ｃ）、ベースアドレスを設定するレジスタ出力であるベースアドレス信号（ＢＡＳＥ−Ａ，ＢＡＳＥ−ＢＩ，ＢＡＳＥ−ＢＯ，ＢＡＳＥ−Ｃ）および、各画像信号処理モジュールＡ〜Ｃの遅延ライン数を示す起動遅延信号（ＤＬＹ−ＡＢ，ＤＬＹ−ＢＣ）を出力するようになっている。
【００３５】
優先順位判定部２２は、画像信号処理モジュールＡ〜Ｃから出力されたＤＭＡリクエスト（ＤＲＥＱ−Ａ，ＤＲＥＱ−ＢＩ，ＤＲＥＱ−ＢＯ，ＤＲＥＱ−Ｃ）が入力され、レジスタバンク２１からのチャンネル使用許可信号（ＤＭＡＥＮ−Ａ，ＤＭＡＥＮ−ＢＩ，ＤＭＡＥＮ−ＢＯ，ＤＭＡＥＮ−Ｃ）に応じて、どのチャンネル（画像信号処理モジュールＡ〜Ｃ）が有効かを示すセレクトチャンネル信号（ＳＥＬＣＨ−Ａ，ＳＥＬＣＨ−ＢＩ，ＳＥＬＣＨ−ＢＯ，ＳＥＬＣＨ−Ｃ）を出力するようになっている。即ち、優先順位判定部２２は、図４に示すように、チャンネル使用許可信号によって予め決められた優先順位にしたがって、アンドゲート２２１〜２２３により有効なチャンネルを選択し、チャンネルの使用を許可していない場合、即ち、レジスタバンク２１からのチャンネル使用許可信号がＤＭＡＥＮ＝‘Ｌ’の場合には、アンドゲート２２４〜２２７により、画像信号処理モジュールＡ〜ＣからのＤＭＡリクエスト（ＤＲＥＱ−Ａ，ＤＲＥＱ−ＢＩ，ＤＲＥＱ−ＢＯ，ＤＲＥＱ−Ｃ）をそれぞれマスクしてリクエストを無効とするようになっている。
【００３６】
バスインターフェイス部／ＤＭＡアクノリッジ生成部２３は、優先順位判定部２２からのセレクトチャンネル信号（ＳＥＬＣＨ−Ａ，ＳＥＬＣＨ−ＢＩ，ＳＥＬＣＨ−ＢＯ，ＳＥＬＣＨ−Ｃ）が入力されて、画像信号処理モジュールＡ〜Ｃのうちどのモジュールが有効かを示すＤＭＡアクノリッジ（ＤＡＣＫ−Ａ，ＤＡＣＫ−ＢＩ，ＤＡＣＫ−ＢＯ，ＤＡＣＫ−Ｃ）を生成して、該当する画像信号処理モジュールＡ〜Ｃに出力するようになっている。また、バスインターフェイス部／ＤＭＡアクノリッジ生成部２３は、座標カウンタ２４に対してカウントアップ信号（ＣＮＴＵＰ−Ａ，ＣＮＴＵＰ−ＢＩ，ＣＮＴＵＰ−ＢＯ，ＣＮＴＵＰ−Ｃ）を出力するようになっている。
【００３７】
座標カウンタ２４は各段の信号処理毎に複数設けられ、チャンネル毎に水平、垂直座標（２次元画像座標）のカウンタ値（Ｘ−Ａ，Ｘ−ＢＩ，Ｘ−ＢＯ，Ｘ−ＣおよびＹ−Ａ，Ｙ−ＢＩ，Ｙ−ＢＯ，Ｙ−Ｃ）を出力するようになっている。座標カウンタ２４のカウンタ値は、各信号処理が画像アドレスのどの位置にあるかを示している。
【００３８】
セレクタ２５は、優先順位判定部２２からのセレクトチャンネル信号（ＳＥＬＣＨ−Ａ，ＳＥＬＣＨ−ＢＩ，ＳＥＬＣＨ−ＢＯ，ＳＥＬＣＨ−Ｃ）に応じた有効チャンネルに対応したカウンタ値（Ｘ，Ｙ）およびベースアドレス信号（ＢＡＳＥ）をアドレス演算部２６に出力するようになっている。
【００３９】
アドレス演算部２６は、セレクタ２５からのカウンタ値（Ｘ，Ｙ）およびベースアドレス信号（ＢＡＳＥ）に基づいて演算（例えばＢＡＳＥ＋Ｙ×Ｘ幅＋Ｘなど）を行って、メモリ１０２上のアドレス（メモリ空間上のアドレス）を自動的に生成するものである。
【００４０】
追越禁止制御部２７は、出力チャンネルの座標カウンタ２４からの例えば垂直方向のカウンタ値（Ｙ−Ａ，Ｙ−ＢＯ）と、予め設定された遅延ライン数を示す起動遅延信号（ＤＬＹ−ＡＢ，ＤＬＹ−ＣＢ）とを比較して、後段の信号処理を前段の信号処理に比べて所定の遅延ライン数だけ遅らせて起動させるようにしている。この追越禁止制御部２７による遅延ライン数は、後段の信号処理と前段の信号処理との信号処理速度差を考慮して、後段の信号処理が前段の信号処理を追い越さないように遅延ライン数を設定している。
【００４１】
即ち、追越禁止制御部２７は、図４に示すように、前段の信号処理の出力の座標カウンタ２４からの垂直カウンタ値（Ｙ−Ａ）がＤＭＡコントローラ２のレジスタに設定可能な遅延ライン数の一定値（ＤＬＹ−ＡＢ）よりも小さい期間は、加算器２７１（実際には減算している）の出力の最上位符号ビット（ＭＳＫ−Ｂは’Ｈ’レベル）とＤＭＡリクエスト（ＤＲＥＱ−ＢＩ）をＡＮＤゲート２８１，２２５によりマスクし、チャンネルをディセーブル状態とするようになっている。また、追越禁止制御部２７は、座標カウンタ２４からの垂直カウンタ値（Ｙ−Ａ）がＤＭＡコントローラ２のレジスタに設定可能な一定値（ＤＬＹ−ＡＢ）以上の期間は、加算器２７１の出力の最上位符号ビット（ＭＳＫ−Ｂ）が’Ｌ’レベルとなり、自動的に画像信号処理モジュールＢのバス使用権が許可可能になっている。
【００４２】
また、追越禁止制御部２７は、前段の出力チャンネルの出力の座標カウンタ２４からの垂直カウンタ値（Ｙ−ＢＯ）がＤＭＡコントローラ２のレジスタに設定可能な一定値（ＤＬＹ−ＢＣ）よりも小さい期間は、加算器２７２（実際には減算している）の出力の符号ビット（ＭＳＫ−Ｃ）がとリクエスト（ＤＲＥＱ−ＢＩ）をＡＮＤゲート２８１，２２５によりマスクし、チャンネルをディセーブル状態とするようになっている。前段の出力チャンネルの垂直カウンタ（Ｙ−ＢＯ）がレジスタの設定値（ＤＬＹ−ＢＣ）より大きくなると加算器（４０２）の符号ビット（ＭＳＫ−Ｃ）が‘Ｈ’になり、ＤＲＥＱ−Ｃのマスクが解除され、モジュールＣが画像処理を開始するようになっている。
【００４３】
上記構成により、以下その動作を説明する。まず、各画像信号処理を実行する３つの画像信号処理モジュールＡ〜ＣからのＤＭＡリクエストはそれぞれ、ＤＭＡコントローラ２からのＤＭＡアクノリッジによって許可され、画像信号処理モジュールＡ〜Ｃから単一のバス１０１を介してデータの入出力を行うと共に、ＤＭＡコントローラ２からの自動生成したアドレスにしたがって、共有のメモリ１０２に対してアクセスする。
【００４４】
このとき、各信号処理モジュールＡ〜Ｃが共有するバス１０１の使用権の決定と、メモリアクセス用のアドレス自動生成を管理するＤＭＡコントローラ２において、追越禁止制御部２７では、図４のように、優先順位判定部２２が予め決められた優先順位にしたがってチャンネルを選択し、チャンネルの使用を許可していないチャンネル使用許可信号（ＤＭＡＥＮ）が‘Ｌ’の場合、前段の信号処理の座標を表すカウンタ値（Ｘ，Ｙ）がＤＭＡコントローラ２に予め設定された値の遅延ライン数ＤＬＹに達するまで、後段のアドレス信号処理モジュールからのＤＭＡリクエストをマスクして無効とする。これによって、前段の信号処理が完了する前に次段の信号処理を起動して、アドレス上並列に各信号処理モジュールＡ〜Ｃの処理が為される。このとき、前段のＤＭＡリクエストは間欠的となり、その間に別の信号処理のＤＭＡリクエストを実行することにより、各信号処理の速度が異なる場合にも、全体の画像信号処理にかかる処理時間を短縮することができる。
【００４５】
即ち、画像信号処理モジュールＡ，Ｂ間では、前段の信号処理の出力の垂直カウンタ値（Ｙ−Ａ）がＤＭＡコントローラ２のレジスタに設定可能な一定値（ＤＬＹ−ＡＢ）よりも小さい期間は、加算器２７１の出力の最上位符号ビット（ＭＳＫ−Ｂ）とリクエスト（ＤＲＥＱ−ＢＩ）をＡＮＤゲート２８１，２２５によりマスクし、チャンネルをディセーブル状態とする。さらに、画像信号処理モジュールＡの処理が進み、カウンタ値Ｙ−Ａが大きくなるとＭＳＫ−Ｂは’Ｌ’レベルとなり、自動的に画像信号処理モジュールＢのバス１０１の使用が許可され、バス１０１を各画像信号処理モジュールＡ〜Ｃに切り換えながら並行して処理を行う。後段の処理の方が遅い場合には、その後、ＤＭＡリクエストがマスクされることなく最後まで処理される。上記した最上位符号ビットは最上位符号ビット検出部２７３，２７４によって得られる。
【００４６】
画像信号処理モジュールＣ，Ｂ間でも同様に、前段の出力チャンネルの垂直カウンタ値（Ｙ−ＢＯ）がレジスタの設定値（ＤＬＹ−ＢＣ）より大きくなると、加算器２７２の符号ビット（ＭＳＫ−Ｃ）が‘Ｈ’になり、ＤＲＥＱ−Ｃのマスクが解除され、画像信号処理モジュールＣが画像処理を開始する。
【００４７】
以上により、本実施形態１によれば、バスを共有し、一連の信号処理をする複数の信号処理モジュールＡ〜ＣのＹ座標などのカウンタ値と所定の遅延ライン数との差分が一定値以下とならないように管理することで、後段の処理を前段の信号処理の途中で開始させることができる。したがって、バスが十分に高速であった場合、各信号処理を並行して実行することが可能となり、一連の画像処理にかかる時間を短縮できる。また、上記カウンタ値の制御によって、後段の信号処理の速度が前段の処理速度よりも大きい場合にも追い越さないように制御できる。
【００４８】
（実施形態２）
図５は、本発明の実施形態２における画像処理システムの構成例を示すブロック図、図６は図５のＤＭＡコントローラ３の構成を示すブロック図であり、図１および図３の部材と同様の作用効果を奏する部材には同一の符号を付してその説明を省略する。
【００４９】
図５および図６において、画像処理システム１０のＤＭＡコントローラ３は、レジスタバンク３１と、優先順位判定部２２と、バスインターフェイス部／ＤＭＡアクノリッジ生成部２３と、座標カウンタ２４と、セレクタ２５と、アドレス演算部２６と、追越禁止制御部３７と、エンドアドレス検出部３９とを有しており、各チャンネルの垂直カウンタ値（Ｙ−Ａ，Ｙ−ＢＩ，Ｙ−ＢＯ，Ｙ−Ｃ）を比較する追い越し禁止制御を行うようにしている。
【００５０】
レジスタバンク３１は、ＤＭＡコントローラ２のレジスタに設定可能なエンドアドレス（一つの画面の走査上の最後のポイント）（ＥＮＤ−Ａ，ＥＮＤ−ＢＩ，ＥＮＤ−ＢＯ，ＥＮＤ−Ｃ）をセレクタ２５に出力するようになっている。
【００５１】
追越禁止制御部３７は、図７に示すように、後段のデータ信号処理が前段のデータ信号処理よりも速い場合に、ＤＭＡコントローラ２が管理する座標カウンタの差値を加算器３７１，３７２で求め、その座標カウンタの差値（加算器出力）と遅延ライン数（ＤＬＹ）との差を加算器２７１，２７２で求め、その加算器２７１，２７２からの出力から、最上位符号ビット検出部２７３，２７４にて最上位符号ビットを求めるようになっている。また、追越禁止制御部３７は、終了フラグ（ＥＮＤＦＬＧ−Ａ，ＥＮＤＦＬＧ−ＢＩバー）がアンドゲート３７３に入力され、終了フラグ（ＥＮＤＦＬＧ−ＢＯ，ＥＮＤＦＬＧ−Ｃバー）がアンドゲート３７３に入力されるようになっている。さらに、追越禁止制御部３７は、最上位符号ビット検出部２７３からの最上位符号ビットと、アンドゲート３７３からの出力バー信号がアンドゲート３７５に入力され、また、最上位符号ビット検出部２７４からの最上位符号ビットと、アンドゲート３７４からの出力反転信号がアンドゲート３７６に入力されるようになっている。
【００５２】
エンドアドレス検出部３９は、図７に示すように、エンドアドレス（ＥＮＤ−Ａ，ＥＮＤ−ＢＩ，ＥＮＤ−ＢＯ，ＥＮＤ−Ｃ）のうち、セレクトチャンネル信号（ＳＥＬＣＨ−Ａ，ＳＥＬＣＨ−ＢＩ，ＳＥＬＣＨ−ＢＯ，ＳＥＬＣＨ−Ｃ）に応じてセレクタ２５で選択された有効チャンネルのエンドアドレスと、アドレス演算部２６からのアドレスを比較器３９１で比較し、アドレスがエンドアドレスになったときに、比較出力をセレクトチャンネル信号（ＳＥＬＣＨ−Ａ，ＳＥＬＣＨ−ＢＩ，ＳＥＬＣＨ−ＢＯ，ＳＥＬＣＨ−Ｃ）毎に設けられたフリップフロップ３９２〜３９６に入力し、セレクトチャンネル信号（ＳＥＬＣＨ−Ａ，ＳＥＬＣＨ−ＢＩ，ＳＥＬＣＨ−ＢＯ，ＳＥＬＣＨ−Ｃ）によって有効になったフリップフロップ３９２〜３９６の何れかから、終了フラグ（ＥＮＤＦＬＧ−Ａ，ＥＮＤＦＬＧ−ＢＩ，ＥＮＤＦＬＧ−ＢＯ，ＥＮＤＦＬＧ−Ｃ）の何れかを出力するようになっている。
【００５３】
上記構成により、以下その動作を説明する。まず、追越禁止制御部３７は、図７に示すように、例えば画像信号処理モジュールＡと画像信号処理モジュールＢとの間では、加算器３７１（ここでは差を求めている）により計算される、後段と前段の垂直カウンタ値の差（Ｙ−ＢＩ）−（Ｙ−Ａ）がレジスタの設定値（ＤＬＹ−ＡＢ）よりも小さい期間は加算器２７１の出力の符号ビット（ＭＳＫ−Ｂ）でリクエストＤＲＥＱ−ＢＩのマスク信号を作って追越禁止制御を行う。垂直カウンタ値（Ｙ−Ａ）が大きくなり、画像信号処理モジュールＢのバス使用が開始された後も、モジュールＢの方が速度が速く、カウンタ値の差（Ｙ−Ａ）−（Ｙ−ｂ）が一定値（ＤＬＹ−ＢＡ）以下になった場合には、再びＭＳＫ−Ｂは’Ｈ’レベルとなり、自動的に画像信号処理モジュールＢのバス使用を禁止して待たせる。これによって、リクエストに対して応答しないことになる。
【００５４】
次に、画像信号処理モジュールＣと画像信号処理モジュールＢの間でも同様に、加算器３７２（ここでは差を求めている）により計算される、後段と前段の垂直カウンタ値の差（Ｙ−Ｃ）−（Ｙ−ＢＯ）がレジスタの設定値（ＤＬＹ−ＢＣ）よりも小さい期間は加算器２７２の出力の符号ビット（ＭＳＫ−Ｃ）でリクエスト（ＤＲＥＱ−Ｃ）をマスクして追越禁止制御を行う。
【００５５】
さらに、前段の信号処理が終了（ＥＮＤＦＬＧ−Ａ＝’Ｈ’）すると、ＭＳＫ−Ｂを強制的に’Ｌ’とし、追越禁止制御を終了し、画像信号処理モジュールＢがＤＬＹ−ＢＡ以下の間隔までアクセスできるようにすることで後段の信号処理が最後のデータとなるまで信号処理可能とする。
【００５６】
さらに、画像信号処理モジュールヘの入力動作が完了し、ＥＮＤＦＬＧ−ＢＩ＝’Ｈ’となると追越禁止制御を再度有効にし、次の画像の信号処理に備える。画像信号処理モジュールＢと画像信号処理モジュールＣの間も同様の制御を行う。これによって、後段の信号処理の方が速い場合でも並列処理して全体の画像処理時間の短縮化を図ることができる。
【００５７】
以上により、本実施形態２によれば、後段の信号処理速度の方が前段の信号処理速度よりも速い場合にも、上記のようにして後段の信号処理を開始した後、前段の信号処理の座標を表すカウンタ値と後段の信号処理の座標を表すカウンタ値との差がＤＭＡコントローラ３に予め設定された値に達したときには、後段の画像信号処理モジュールからのリクエストを無視することで、追越が発生しないように制御することができる。前段の信号処理が完了したのち、各カウンタ値の差が一定以下にならないようにする制御が続くと、後段の信号処理が最後まで処理できないため、前段の信号処理の完了をＤＭＡコントローラ３で生成されるアドレスが予め設定された値に達することで検出し、追越禁止制御を無効にして最後のデータまで信号処理をすることができる。同様にして後段の信号処理の完了を検出すると再び追越禁止制御を有効にして次に備える。
【００５８】
上記のように、エンドアドレスと設定値とを比較する機能を備えることによって、前段の信号処理の完了を検出し、追越禁止制御を無効とすることで、後段の処理のアドレス生成にかかわるカウンタ値が追越禁止制御で設定される差分以下の領域までアクセス可能となる。したがって、後段の信号処理が最後のデータまで処理できるようになる。
【００５９】
以上の実施形態１，２において、例えば、画像信号処理モジュールＡは、ＣＣＤから出力されたディジタルデータが入力され、信号処理結果を外部のメモリ１０２に書き込む動作を実行し、画像信号処理モジュールＢは、画像信号処理モジュールＡの信号処理結果から輝度成分と色成分を分離する動作を実行し、画像信号処理モジュールＣは、画像信号処理モジュールＢの信号処理結果をＪＰＥＧ圧縮動作を実行するものとすれば、画像信号処理モジュールＡへのデータ入力のレート（例えば１５ＭＨｚ）は通常の画像信号処理モジュールＡがメモリ１０２に書きこむレートに対して数分の１と遅いため、画像信号処理モジュールＡは一定間隔でバス１０１を使用し、バス１０１は比較的空いていることになる。バス１０１の使用可能な周波数は例えば５０ＭＨｚである。画像信号処理モジュールＢでも信号処理中はバス１０１を使用しないため、バス１０１の使用は断続的である。また、画像信号処理モジュールＡに対して画像信号処理モジュールＢ，Ｃの処理速度は速い。よって、全ての画像信号処理モジュールＡ〜Ｃを同時に起動させ、追越禁止制御を行うことにより、画像信号処理モジュールＡがバス１０１を使用していない期間に画像信号処理モジュールＢがバス１０１を使用し、画像信号処理モジュールＡ，Ｂがバス１０１を使用していない期間に画像信号処理モジュールＣがバス１０１を使用することによって、全体の画像信号処理モジュールＡ〜Ｃによる画像信号処理の高速化が実現する。
【００６０】
また、本画像処理システムにおいて、共有バスを通して外部の大規模なメモリを使用することができるため、後段の処理が滞った場合にも、前段の処理は継続が可能である。
【００６１】
さらに、後段の処理の入力に関して追越禁止制御することで、後段の処理が出力する座標およびアドレスも、前段の処理が出力する座標およびアドレスに対して、一定以下の間隔にはならない。そのため、後段の信号処理による出力する先頭アドレスを前段の処理のそれよりも上記間隔以上離れた、小さいアドレスにしておくことで、それぞれの画像信号処理が使用するメモリ領域をできる限りオーバーラップさせ、各信号処理を順次的に実行するので、各処理毎に全画面分のメモリを要する場合と比べてメモリの使用量を削減できる。これは例えば、画像信号処理Ｃでもメモリ１０２に対して出力し、画像信号処理Ｂ，Ｃの入力と出力のデータ量が等しいとすると、図２のようなメモリ１０２に対するアドレスの割り当てになる。
【００６２】
なお、本実施形態１，２では、カウンタ値で比較したが、カウンタ値の代わりにメモリアドレス値を比較してもよい。
【００６３】
また、上記実施形態１，２では、特に説明しなかったが、画像信号処理モジュールによっては（フィルタ処理などのため、例えば１９ライン毎にまとめて処理する。）矩形小領域単位でＤＭＡ転送をする場合もあり、その場合には矩形小領域の最初のラインを比較対象とする。また、前段、後段共に矩形小領域で転送する場合には、垂直方向のブロック数などのカウンタ値を比較対象としてもよい。
【００６４】
さらに、上記実施形態１，２では、３つの画像信号処理モジュールを一例として説明したが、２つの画像信号処理モジュールや、４つ以上の画像信号処理モジュールを用いてもよい。
【００６５】
さらに、上記実施形態１，２では、特に説明しなかかったが、一連の画像処理において、ＣＣＤから入力されるデータ系列を色成分別に分けて処理したり、色成分別に分けて処理された結果を圧縮符号化して一つのビットストリーム（圧縮データのこと）にするなど、処理系列が分岐したり統合されたりしてもよい。これらの場合、画像処理が１本の系列ではなく、ＣＣＤなどからの入力データに対して、輝度成分と色成分で別の処理をするように、ある画像信号処理モジュールの出力が複数であるか、あるいは逆に入力が複数あって、出力が１本の系列であるような場合でも、同様にカウンタの差が設定値を上回らないように制御することで、全体の信号処理を高速化することができる。
【００６６】
さらに、上記実施形態１，２では、画像処理システムについて説明したが、画像処理に限らず、データ処理システムであってもよい。即ち、メモリ上にあるデータに対して種類の異なる一連の処理を次々と連続して行って行く場合にも本発明を適用できる。画像データの場合は通常扱うデータに比べて、データ量が多い（メモリアドレス上、連続して広い範囲に亘っている。）ために、特に本発明の処理時間短縮効果が顕著である。また、この場合に、信号処理がメモリ上のデータに対して共通のバスを通じて、ＣＰＵ（中央演算処理装置）ではなく、ＤＭＡコントローラ２にて行われるのを前提としている。
【００６７】
さらに、上記実施形態１，２では、特に説明しなかかったが、上記実施形態１における図４の追い越し禁止制御部２７のカウンタ値の入力端に、上記実施形態２における図７の加算器３７１，３７２を設けて、図７と同様のカウンタ値の差信号（加算器出力）をそれぞれ、加算器２７１，２７２にそれぞれ入力するようにしてもよい。これによって、後段の信号処理速度の方が前段の信号処理速度よりも速い場合にも、後段と前段の信号処理において追越が発生しないように制御することができる。このため、後段と前段の信号処理を良好に行うことができるものである。
【００６８】
さらに、上記実施形態１，２では、特に説明しなかかったが、従来のパイプライン構成においては、並列処理ではあるが、ＬＳＩとして設計する場合に、設計の自由度がないという欠点を良好に解決できるものである。
【００６９】
【発明の効果】
以上により、請求項１、７によれば、バスが各信号処理に対し十分に高速である場合、前段の信号処理によるデータの入出力を間欠的に行うことができて、その間に、ＤＭＡコントローラによって別の信号処理モジュールからのデータ入出力を行うことができる。このため、各信号処理速度が異なる場合であっても、前段の信号処理と後段の信号処理とを並列に処理できて、全体の画像処理時間を短縮することができる。
【００７０】
また、後段の信号処理速度の方が前段の信号処理速度よりも速い場合にも、後段と前段の信号処理において追越が発生しないように制御することができる。このため、後段と前段の信号処理を良好に行うことができる。
【００７１】
また、請求項３によれば、前段の信号処理が完了したのち、各カウンタ値の差が一定以下にならないようにする制御が続くと、後段の信号処理が最後まで信号処理できないため、このような場合には追越禁止制御を無効にする。これによって、最後のデータまで確実に信号処理をすることができる。
【００７２】
さらに、請求項４，５によれば、画像処理が１本の系列ではなく、例えばＣＣＤなどからの入力データに対して、輝度成分と色成分で別の信号処理に分かれる場合のように、ある画像信号処理モジュールの出力側が複数であるか、または逆に、入力側が複数あって、出力側が１本の系列であるような場合でも同様に、データ信号処理の高速化を図ることができる。このように、信号処理が一連の順次的処理のみでなく、途中で選択的な処理を含む場合でも高速化を図ることができる。
【００７３】
さらに、請求項６によれば、本発明のデータ処理システムを画像処理システムに容易かつ良好に適応することができ、しかも、画像データの場合には、通常扱うデータに比べてデータ量が多いため、特に本発明の処理時間短縮効果を顕著なものとすることができる。
【図面の簡単な説明】
【図１】本発明の実施形態１における画像処理システムの構成例を示すブロック図である。
【図２】図１の画像処理システムにおける各画像信号処理のメモリ使用領域を重複させたアドレスの割り当て状態を示す図である。
【図３】追越禁止制御機能を備えた図１のＤＭＡコントローラの構成を示すブロック図である。
【図４】図３の優先順位判定部および追越禁止制御部の構成を示すブロック図である。
【図５】本発明の実施形態２における画像処理システムの構成例を示すブロック図である。
【図６】図５のＤＭＡコントローラの構成を示すブロック図である。
【図７】図６のエンドアドレス検出部および追越禁止制御部の構成を示すブロック図である。
【図８】従来の画像信号処理システムの構成を示すブロック図である。
【図９】従来のパイプライン処理によって信号処理を高速化した画像処理システムの構成を示すブロック図である。
【符号の説明】
１，１０    画像処理システム
２，３    ＤＭＡコントローラ
２１，３１    レジスタバンク
２２    優先順位判定部
２２１〜２２７，２８１，２８２，３７３〜３７６    アンドゲート
２３    バスインターフェイス部／ＤＭＡアクノリッジ生成部
２４    座標カウンタ
２５    セレクタ
２６    アドレス演算部
２７，３７    追越禁止制御部
２７１，２７２，３７１，３７２    加算器
２７３，２７４    最上位ビット検出部
３９    エンドアドレス検出部
３９１    比較器
１０１    バス
１０２    メモリ
１０３    メモリコントローラ
Ａ〜Ｃ    画像信号処理モジュール
ＤＲＥＱ−Ａ，ＤＲＥＱ−ＢＩ，ＤＲＥＱ−ＢＯ，ＤＲＥＱ−Ｃ    ＤＭＡリクエスト
ＤＡＣＫ−Ａ，ＤＡＣＫ−ＢＩ，ＤＡＣＫ−ＢＯ，ＤＡＣＫ−Ｃ    ＤＭＡアクノリッジ
ＤＭＡＥＮ−Ａ，ＤＭＡＥＮ−ＢＩ，ＤＭＡＥＮ−ＢＯ，ＤＭＡＥＮ−Ｃ    チャンネル使用許可信号
ＢＡＳＥ−Ａ，ＢＡＳＥ−ＢＩ，ＢＡＳＥ−ＢＯ，ＢＡＳＥ−Ｃ    ベースアドレス信号
ＳＥＬＣＨ−Ａ，ＳＥＬＣＨ−ＢＩ，ＳＥＬＣＨ−ＢＯ，ＳＥＬＣＨ−Ｃ    セレクトチャンネル信号
Ｘ−Ａ，Ｘ−ＢＩ，Ｘ−ＢＯ，Ｘ−Ｃ    水平座標カウンタ値
Ｙ−Ａ，Ｙ−ＢＩ，Ｙ−ＢＯ，Ｙ−Ｃ    垂直座標カウンタ値
ＤＬＹ−ＢＡ，ＤＬＹ−ＣＢ    駆動遅延信号（遅延ライン数）
ＭＳＫ−Ｂ，ＭＳＫ−Ｃ    最上位符号ビット
【図１】
0003761061.tif 000002
【図２】
0003761061.tif 000003
【図３】
0003761061.tif 000004
【図４】
0003761061.tif 000005
【図５】
0003761061.tif 000006
【図６】
0003761061.tif 000007
【図７】
0003761061.tif 000008
【図８】
0003761061.tif 000009
【図９】
0003761061.tif 000010