(57)【特許請求の範囲】
【請求項１】
画像データをフレーム毎に処理する複数の画像処理部を有し、
前記複数の画像処理部のそれぞれは、メモリへのアクセスタイミングを制御する処理制御部を有し、
前記処理制御部は、対応する前記画像処理部の目標処理時間を格納するレジスタと、対応する前記画像処理部の処理時間をカウントするカウンタとを有し、対応する前記画像処理部の前記メモリに対するアクセスタイミングを前記目標処理時間と前記カウンタの出力とに基づいて制御し、前記処理時間を目標処理時間に近づけるように制御する
ことを特徴とする画像データ処理装置。
【請求項２】
前記各画像処理部から入力される前記メモリへのアクセス要求信号を調停する調停回路を有し、
前記処理制御部は、対応する前記画像処理部が前記アクセス要求信号を前記調停回路に出力するタイミングを、前記目標処理時間と前記カウンタの出力とに基づいて制御する
ことを特徴とする請求項１に記載の画像データ処理装置。
【請求項３】
前記処理制御部は、対応する前記画像処理部が処理した前記画像データを前記メモリに書き込むための前記アクセス要求信号を出力してから、前記複数の画像処理部の内の対応する前記画像処理部とは異なる他の画像処理部が処理した前記画像データを前記メモリから読み出すための前記アクセス要求信号を出力するまでの第１の間隔を制御する
ことを特徴とする請求項２に記載の画像データ処理装置。
【請求項４】
前記処理制御部は、対応する前記画像処理部とは異なる前記複数の画像処理部の内の他の画像処理部が処理した前記画像データを前記メモリから読み出すための前記アクセス要求信号を対応する前記画像処理部が出力してから、対応する前記画像処理部が処理した前記画像データを前記メモリに書き込むための前記アクセス要求信号を出力するまでの第２の間隔を制御する
ことを特徴とする請求項２又は３に記載の画像データ処理装置。
【請求項５】
前記複数の画像処理部のそれぞれは、前記画像データを処理する処理回路と、クロック信号を生成するクロック信号生成部とを有し、
前記処理制御部は、前記目標処理時間と前記カウンタの出力とに基づいて前記クロック信号の周波数を調整し、該周波数を調整後のクロック信号を対応する前記画像処理部の前記処理回路へ出力する
ことを特徴とする請求項１に記載の画像データ処理装置。
【請求項６】
前記クロック信号生成部は、位相ロックドループ、電圧制御発振器、あるいは分周器のうちのいずれか一つを有する
ことを特徴とする請求項５に記載の画像データ処理装置。
【請求項７】
前記処理制御部のそれぞれに含まれる前記レジスタに格納される前記目標処理時間が、前記複数の画像処理部の内の少なくとも二つの間で等しい
ことを特徴とする請求項１ないし６の内のいずれか１項に記載の画像データ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
画像データ処理装置に関するものである。
【背景技術】
【０００２】
従来、デジタルスチルカメラ等の撮像装置は、ＣＣＤ（Charge Coupled Devices）イメージセンサなどの撮像素子によって取得した撮像信号を画像データに変換し、その画像データを複数の処理部にて処理してメモリに格納する。この際、撮像装置は、各処理部にて画像データを順番に処理する度に、その処理した画像データを一時的にメモリに格納する。このような構成により、各処理部は、順番に入力される画像データについてパイプライン処理を行っている。
【０００３】
次に、パイプライン処理の概念を図１１に従って説明する。
ここでは、撮像装置は、パイプラインを構成する第１〜第４処理部Ｐａ〜Ｐｄを有し、第１〜第５フレームの画像データを処理する場合について説明する。なお、各フレームに係る画像データを、共通してＤ１〜Ｄ５として説明する。つまり、処理部において、１つのフレーム、例えば第１フレームを処理するために入力データと出力データに同じ符号を用いることとする。
【０００４】
まず、時刻ｔ１１において、第１処理部Ｐａは、第１画像データＤ１が入力される。第１処理部Ｐａは、その第１画像データＤ１を処理し、処理後の第１画像データＤ１をメモリに格納する。
【０００５】
時刻ｔ１２において、第１処理部Ｐａは、第２画像データＤ２が入力される。第１処理部Ｐａは、その第２画像データＤ２を処理し、処理後の第２画像データＤ２をメモリに格納する。また、第２処理部Ｐｂは、メモリから第１処理部Ｐａが処理した第１画像データＤ１を読み出し、その第１画像データＤ１を処理してメモリに格納する。
【０００６】
時刻ｔ１３において、第１処理部Ｐａは、第３画像データＤ３が入力される。第１処理部Ｐａは、その第３画像データＤ３を処理してメモリに格納する。第２処理部Ｐｂは、メモリから第１処理部Ｐａが処理した第２画像データＤ２を読み出し、その第２画像データＤ２を処理してメモリに格納する。第３処理部Ｐｃは、メモリから第２処理部Ｐｂが処理した第１画像データＤ１を読み出し、その第１画像データＤ１を処理してメモリに格納する。
【０００７】
時刻ｔ１４において、第１処理部Ｐａは、第４画像データＤ４が入力される。第１処理部Ｐａは、その第４画像データＤ４を処理してメモリに格納する。第２処理部Ｐｂは、メモリから第１処理部Ｐａが処理した第３画像データＤ３を読み出し、その第３画像データＤ３を処理してメモリに格納する。第３処理部Ｐｃは、メモリから第２処理部Ｐｂが処理した第２画像データＤ２を読み出し、その第２画像データＤ２を処理してメモリに格納する。第４処理部Ｐｄは、メモリから第３処理部Ｐｃが処理した第１画像データＤ１を読み出し、その第１画像データＤ１を処理してメモリに格納する。
【０００８】
すなわち、第１処理部Ｐａは、第１〜第５画像データＤ１〜Ｄ５を順番に入力し、処理後の第１〜第５画像データＤ１〜Ｄ５を順番にメモリに格納する。第２〜第４処理部Ｐｂ〜Ｐｄは、各自の前処理が終了した第１〜第５画像データＤ１〜Ｄ５をメモリから読み出し、その第１〜第５画像データＤ１〜Ｄ５を処理してメモリに格納する。
【０００９】
図１１に示すように、各処理部Ｐａ〜Ｐｄによる第１〜第５画像データＤ１〜Ｄ５の処理時間が等しい場合、第２〜第４処理部Ｐｂ〜Ｐｄは、各自の前処理が終了した第１〜第５画像データＤ１〜Ｄ５をメモリから待機時間無く読み出すことができる。
【００１０】
なお、図１１において、横方向の長さは、各処理部Ｐａ〜Ｐｄの実処理時間を示す。実処理時間は、各処理部Ｐａ〜Ｐｄが、図示しない制御部から実行の要求を受けてから、その画像データをメモリに格納し終わるまでに要する時間であり、メモリに対する読み出し及び書き込みに要するアクセス時間と、各処理部がデータに対して演算や変換等の各処理部に応じた処理を行うデータ処理時間を含む。メモリに対する読み出し及び書き込みに要するアクセス時間とは、処理部がメモリに対してアクセス要求をしてからそのアクセス要求に対応する読み出し又は書き込みを終了するまでの時間である。そして、２つの実処理時間の間は、１つのフレームに対する実処理が終了してから、次のフレームに対する実処理が指示されるまでの時間、つまり待機時間である。
【００１１】
しかし、実際には、各処理部Ｐａ〜Ｐｄは、第１〜第５画像データＤ１〜Ｄ５に対する実処理時間が等しくないことがある。例えば、各処理部Ｐａ〜Ｐｄが入出力する画像データのデータサイズが異なると、そのデータサイズに応じて各処理部のアクセス時間、即ち実処理時間が異なる。このため、図１２に示すように、第２処理部Ｐｂが第２画像データＤ２を読み出す時のように、待機時間ｔｄが生じてしまう。
【００１２】
また、各処理部Ｐａ〜Ｐｄのメモリに対するアクセスの頻度によってメモリに対するアクセスの負荷が変化するため、帯域の制限によって、第３処理部Ｐｃにおいて各画像データＤ１〜Ｄ５に対する実処理時間が異なる。すると、各処理部Ｐａ〜Ｐｄに対して処理開始を指示する順番やタイミングが変化してしまう。これは、パイプライン制御を複雑化させる。また、このように、実処理時間が異なる場合、図１２に示すように、第３処理部Ｐｃが第２画像データＤ２を処理している間に、第２処理部Ｐｂが第３画像データＤ３と第４画像データＤ４に対する実処理を終了する。
【００１３】
従って、メモリには、未処理の第３及び第４画像データＤ３，Ｄ４を蓄積する必要があるため、メモリの消費量が増大してしまう。また、容量の小さなメモリでは、パイプライン処理を一時的に停止しなければならなくなる場合がある。これらのように、パイプライン処理が実行できないことを、パイプラインが破綻しているという。
【００１４】
そこで、従来、画像データの処理時間が長い処理部は、メモリに読み出し又は書き込みする優先順位を高くし、アクセス時間を短くすることにより画像データに対する実処理時間を短くする方法がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００３−６１３９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかし、上記のように、メモリに読み出し又は書き込みする優先順位を高くすることによって、画像データに対する実処理時間が長い処理部のアクセス時間を短くする場合、そのデータ転送にかかる時間が短くなった分、その他の処理部のアクセス時間が長くなってしまう。すなわち、メモリに読み出し又は書き込みする優先順位を高くすることによって、画像データに対する実処理時間が長い処理部の画像データに対する処理時間が短くなった分、その他の処理部の画像データに対する実処理時間が、パイプライン処理における設定時間よりも長くなってしまう場合がある。
【００１７】
従って、各処理部に対するメモリに読み出し又は書き込みする優先順位を変更しても、各処理部の画像データに対する処理時間の長短が改善されない。この結果、図１１に示すように、各処理部による画像データの処理時間を等しくすることができない。
【課題を解決するための手段】
【００１８】
本発明の一観点によれば、画像データ処理装置は、画像データをフレーム毎に処理する複数の画像処理部を有し、前記複数の画像処理部のそれぞれは、メモリへのアクセスタイミングを制御する処理制御部を有し、前記処理制御部は、対応する前記画像処理部の目標処理時間を格納するレジスタと、対応する前記画像処理部の処理時間をカウントするカウンタとを有し、対応する前記画像処理部の前記メモリに対するアクセスタイミングを前記目標処理時間と前記カウンタの出力とに基づいて制御し、前記処理時間を目標処理時間に近づけるように制御する。
【発明の効果】
【００１９】
本発明の一観点によれば、パイプライン処理を安定させることができる。
【図面の簡単な説明】
【００２０】
【図１】撮像装置を示すブロック図である。
【図２】（ａ）〜（ｃ）は、目標処理時間の設定方法の説明図である。
【図３】（ａ）〜（ｃ）は、目標処理時間の設定方法の説明図である。
【図４】パイプライン処理の説明図である。
【図５】処理部のブロック図である。
【図６】処理制御部のブロック図である。
【図７】処理制御部の説明図である。
【図８】処理制御部の説明図である。
【図９】別例の処理部のブロック図である。
【図１０】別例の処理制御部のブロック図である。
【図１１】理想的なパイプライン処理の説明図である。
【図１２】従来のパイプライン処理の説明図である。
【発明を実施するための形態】
【００２１】
以下、実施形態を図１〜図８に従って説明する。
図１に示すように、デジタルスチルカメラ１０は、撮像部１１、画像処理装置１２、メモリ１３、記録メディア１５、表示部１６を有する。
【００２２】
撮像部１１は、撮像素子１１ａ、Ａ／Ｄ変換回路１１ｂ、タイミングジェネレータ１１ｃを含む。
撮像素子１１ａは、ＣＣＤイメージセンサやＣＭＯＳ（Complementary MOS）イメージセンサ等であって、色フィルタ成分｛赤（Ｒ）、緑（Ｇ）、青（Ｂ）｝がベイヤ配列されたカラーフィルタを介して入射光が入射され、その入射光を撮像信号に変換する。撮像素子１１ａは、タイミングジェネレータ１１ｃから第１クロック信号ＣＬＫ１が入力され、その第１クロック信号ＣＬＫ１に同期して撮像信号を出力する。Ａ／Ｄ変換回路１１ｂは、撮像素子１１ａから撮像信号が入力され、タイミングジェネレータ１１ｃから第１クロック信号ＣＬＫ１が入力される。Ａ／Ｄ変換回路１１ｂは、第１クロック信号ＣＬＫ１に同期して動作し、ＲＧＢ形式の撮像信号を画像データに変換して画像処理装置１２に出力する。
【００２３】
画像処理装置１２は、撮像部１１から入力される画像データに対して各種画像処理を施す。このとき、画像処理装置１２は、所定の処理段階での画像データをメモリ１３に一時的に格納する。すなわち、メモリ１３は作業メモリとして機能する。このメモリ１３は、例えばＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）などの書き替え可能なメモリである。また、画像処理装置１２は、メモリ１３に格納した各種画像処理後の画像データを記録メディア１５に格納したり、表示部１６に出力したりする。なお、記録メディア１５は、例えばコンパクトフラッシュ（登録商標）やＳＤメモリカード（登録商標）などの携帯型メモリカードである。表示部１６としては、液晶ディスプレイ（ＬＣＤ）や有機ＥＬ（Electronic  Luminescence）などが用いられる。
【００２４】
次に、画像処理装置１２の内部構成について説明する。
画像処理装置１２は、画像処理部２０、中央処理装置（ＣＰＵ）３１、調停回路３２、メディア用インターフェース回路３３、表示用インターフェース回路３４を有している。画像処理部２０は、プリプロセス処理部２１、画素補間処理部２２、コーデック処理部２３、解像度変換処理部２４、色調変換処理部２５、エッジ強調処理部２６、ノイズ補正処理部２７を備えている。これら画像処理部２０内の各処理部２１〜２７、ＣＰＵ３１、調停回路３２、メディア用インターフェース回路３３、表示用インターフェース回路３４は、共有バス３５によって互いに接続されている。この共有バス３５は、アドレスバス、コントロールバス及びデータバスから構成されている。
【００２５】
ＣＰＵ３１は、各回路を統括制御するもので、データや画像の解析、解析結果に基づく必要な情報の各回路への設定及びデータの書き込み／読み出し制御等を行う。
各処理部２１〜２７は、メモリ１３にデータを書き込む又は読み出すために共有バス３５の使用権を要求するための要求信号Ｓｒを、共有バス３５を介して調停回路３２に出力する。調停回路３２は、各処理部２１〜２７からの要求信号Ｓｒがそれぞれ入力される。調停回路３２は、要求信号Ｓｒに応じて、各処理部２１〜２７に対して共有バス３５の使用権を設定する。
【００２６】
各処理部２１〜２７のうち複数の処理部から同時に要求信号Ｓｒを入力する場合、調停回路３２は、その要求信号Ｓｒを調停し、調停結果に基づいて処理部に対する共有バス３５の使用権を設定する。調停回路３２は、共有バス３５の使用権を設定した処理部に応答信号Ａｃｋを、共有バス３５を介して出力する。
【００２７】
メディア用インターフェース回路３３は、記録メディア１５に対するデータ入出力を実行する。表示用インターフェース回路３４は、メモリ１３から転送された画像データを、表示部１６が対応し得る形式のデータに変換して該表示部１６に出力する。
【００２８】
画像処理部２０内の各処理部２１〜２７は、デジタルスチルカメラ１０の撮影モードに応じて、各処理部２１〜２７の画像データに対する演算又は変換などの処理や、画像データに対して処理を行う処理部を変更する。例えば、各処理部２１〜２７が画像データに対してパイプライン処理を行う場合について以下に説明する。
【００２９】
画像処理部２０内のプリプロセス処理部２１は、上記撮像部１１から入力される１フレームの画像データに対し、例えばホワイトバランス調整やゲイン調整、欠陥信号の補正などの前処理を施す処理部である。そして、プリプロセス処理部２１は、処理後の画像データをメモリ１３の所定の領域に格納する。
【００３０】
画素補間処理部２２は、メモリ１３からプリプロセス処理部２１により前処理された１フレームの画像データを読み出し、その画像データにデモザイク（画素補間）処理と、ＹＣｂＣｒ形式への変換処理を実行し、実行後の画像データをメモリ１３の所定の領域に格納する。
【００３１】
コーデック処理部２３は、メモリ１３から画素補間処理部２２によりＹＣｂＣｒ形式に変換された１フレームの画像データを読み出し、その画像データを所定の方式（ここでは、ＪＰＥＧ方式）により符号化し、符号化後の画像データをメモリ１３の所定の領域に格納する処理部である。
【００３２】
解像度変換処理部２４は、メモリ１３からコーデック処理部２３によりＪＰＥＧ方式に符号化された１フレームの画像データを読み出し、その画像データの画像サイズ（解像度）を拡大又は縮小する解像度変換処理を実行し、実行後の画像データをメモリ１３の所定の領域に格納する処理部である。
【００３３】
色調変換処理部２５は、メモリ１３から解像度変換処理部２４により解像度変換処理された１フレームの画像データを読み出し、その画像データの色調をセピアやモノクロ等に変換する色調変換処理を実行し、実行後の画像データをメモリ１３の所定の領域に格納する処理部である。
【００３４】
エッジ強調処理部２６は、メモリ１３から色調変換処理部２５により色調変換処理された１フレームの画像データを読み出し、その画像データに対して画像の輪郭（エッジ）を強調するエッジ強調処理を実行し、実行後の画像データをメモリ１３の所定の領域に格納する処理部である。
【００３５】
ノイズ補正処理部２７は、メモリ１３からエッジ強調処理部２６によりエッジ強調処理された１フレームの画像データを読み出し、その画像データに含まれるノイズを除去するノイズ補正処理を実行し、実行後の画像データをメモリ１３の所定の領域に格納する処理部である。
【００３６】
各処理部２２〜２７は、入出力する画像データのデータサイズや、画像データに対する処理が異なるため、１フレームの画像データに対する実処理時間が異なる。実処理時間は、各処理部２２〜２７が、その時の画像データに対する処理が可能になってから、その画像データをメモリ１３に格納するまでに要する時間であり、メモリ１３に対する読み出し及び書き込みに要するアクセス時間と、各処理部がデータに対して演算や変換等の各処理部に応じた処理を行うデータ処理時間を含む。メモリ１３に対する読み出し及び書き込みに要するアクセス時間とは、処理部がメモリ１３に対してアクセス要求をしてからそのアクセス要求に対応する読み出し又は書き込みを終了するまでの時間である。
【００３７】
本実施形態では、１フレームの画像データに対して実処理を行う目標処理時間を各処理部２２〜２７に設定し、各処理部２２〜２７が１フレームの画像データに対して実処理を行う時間を目標処理時間にそれぞれ近づけるように制御している。
【００３８】
この目標処理時間の設定方法について図２及び図３に従って説明する。本実施形態では、画像処理部２０は各処理部２２〜２７を有しているが、説明の便宜上、画素補間処理部２２、コーデック処理部２３、解像度変換処理部２４を用いて、目標処理時間の設定方法について説明する。
【００３９】
図２（ａ）の領域Ｒ１ａにおいて、Ｘ方向の長さは画素補間処理部２２がメモリ１３から読み出す１回分の画像データに対する実処理時間を表し、Ｙ方向の長さは画素補間処理部２２がメモリ１３から１フレームの画像データを何回で読み出すかを表している。従って、領域Ｒ１ａの面積は、画素補間処理部２２の１フレームの画像データに対する実処理時間を表している。
【００４０】
また、図２（ｂ）の領域Ｒ２において、Ｘ方向の長さはコーデック処理部２３がメモリ１３から読み出す１回分の画像データに対する実処理時間を表し、Ｙ方向の長さはコーデック処理部２３がメモリ１３から１フレームの画像データを何回で読み出すかを表している。従って、領域Ｒ２の面積は、コーデック処理部２３の１フレームの画像データに対する実処理時間を表している。
【００４１】
さらに、図２（ｃ）の領域Ｒ３ａにおいて、Ｘ方向の長さは解像度変換処理部２４がメモリ１３から読み出す１回分の画像データに対する実処理時間を表し、Ｙ方向の長さは解像度変換処理部２４がメモリ１３から１フレームの画像データを何回で読み出すかを表している。従って、領域Ｒ３ａの面積は、解像度変換処理部２４の１フレームの画像データに対する実処理時間を表している。
【００４２】
図２（ａ），（ｂ），（ｃ）から明らかなように、各処理部２２〜２４がメモリ１３から読み出す１回分の画像データに対して実処理を行う時間は、解像度変換処理部２４、画素補間処理部２２、コーデック処理部２３の順で長くなっている。また、各処理部２２〜２４は、１フレームの画像データをメモリ１３から同一回数で読み出している。なお、上記の各処理部２２〜２４の実処理時間、及び、各処理部２２〜２４による１フレームの画像データをメモリ１３から読み出す回数は、適宜変更してもよい。
【００４３】
本実施形態では、各処理部２２〜２４が１フレームの画像データに対して実処理を行う時間のうち最も長い実処理時間、即ちコーデック処理部２３が１フレームの画像データに対して実処理を行う時間に応じた時間を目標処理時間として設定している。
【００４４】
このため、画素補間処理部２２及び解像度変換処理部２４が１フレームの画像データに対して実処理を行う時間を、コーデック処理部２３が１フレームの画像データに対して実処理を行う時間に揃える。つまり、領域Ｒ１ａ及び領域Ｒ３ａの面積を領域Ｒ２の面積に揃える。
【００４５】
図２（ａ），（ｂ），（ｃ）に示す領域Ｒ１ａ，Ｒ２，Ｒ３ａの場合、Ｙ方向の長さ、即ち各処理部２２〜２４が１フレームの画像データを同一回数で読み出すため、Ｘ方向の長さ、即ち各処理部２２〜２４がメモリ１３から読み出す１回分の画像データに対して実処理を行う時間を揃えることになる。
【００４６】
そこで、図３（ａ），（ｃ）に示すように、領域Ｒ１ｂ及びＲ３ｂは、そのＸ方向の長さを図３（ｂ）に示す領域Ｒ２と等しくなるまで伸ばし、即ち画素補間処理部２２及び解像度変換処理部２４がメモリ１３から読み出す１回分の画像データに対して実処理を行う時間を長くする。
【００４７】
これにより、領域Ｒ１ｂ及びＲ３ｂの面積と領域Ｒ２の面積が等しくなる、即ち各処理部２２〜２４が１フレームの画像データに対して実処理を行う時間が等しくなる。
ところで、一般に、各処理部２２〜２４のメモリ１３に対する読み出し又は書き込み要求が競合する場合、メモリに対する読み出し及び書き込みに要するアクセス時間が長くなる。これに伴い、各処理部２２〜２４の１フレームの画像データに対する実処理時間が長くなってしまう。
【００４８】
そこで、画素補間処理部２２が画像データに対する実処理を待機する間に、コーデック処理部２３及び解像度変換処理部２４のいずれか１つがメモリ１３に画像データの書き込み又は読み出しする。また、解像度変換処理部２４が画像データに対する実処理を待機する間に、画素補間処理部２２及びコーデック処理部２３のいずれか１つがメモリ１３に画像データの書き込み又は読み出しする。これにより、各処理部２２〜２４のメモリ１３に対する読み出し又は書き込み要求が競合しにくくなるため、各処理部２２〜２４のメモリ１３に対する読み出し及び書き込みに要するアクセス時間が短くすることができる。
【００４９】
しかし、各処理部２２〜２４のメモリ１３に対する読み出し又は書き込み要求が競合してしまう場合があるため、コーデック処理部２３の１フレームの画像データに対する実処理を、コーデック処理部２３単体の１フレームの画像データに対する実処理時間内に終了できないときがある。
【００５０】
このため、コーデック処理部２３単体の１フレームの画像データに対する実処理時間に、各処理部２２〜２４のメモリ１３に対する読み出し又は書き込み要求の競合等により延びてしまう予め設定された時間を付加した時間を目標処理時間として設定している。これにより、各処理部２２〜２４の実処理時間のうち最も長いコーデック処理部２３の１フレームの画像データに対する実処理を、コーデック処理部２３単体の１フレームの画像データに対する実処理時間に応じた時間（目標処理時間）内に終了することができる。
【００５１】
従って、各処理部２２〜２４の実処理時間のうち最も長いコーデック処理部２３の実処理時間が、コーデック処理部２３単体での実処理時間に応じた時間より延びないため、各処理部２２〜２４は、最適な目標処理時間を設定することができる。
【００５２】
すなわち、目標処理時間を、コーデック処理部２３単体の１フレームの画像データに対する実処理時間に応じた時間より長くすると、その長くした時間分、コーデック処理部２３の１フレームの画像データに対する実処理時間が長くなってしまう。
【００５３】
反対に、目標処理時間を、コーデック処理部２３単体の１フレームの画像データに対する実処理時間より短くすると、コーデック処理部２３は目標処理時間内に１フレームの画像データに対して実処理を行うことができない。このため、コーデック処理部２３が１フレームの画像データに対して実処理を行う時間は、その短くした分、長くなって結局目標処理時間になってしまう。
【００５４】
このように設定された目標処理時間により、撮像部１１から第１〜第５画像データＤ１〜Ｄ５が入力される場合、各処理部２２〜２７は、第１〜第５画像データＤ１〜Ｄ５に対して目標処理時間内にそれぞれ実処理を終了する。
【００５５】
なお、各処理部２２〜２７は、１フレームの画像データに対する実処理時間を目標処理時間に制御するが、プリプロセス処理部２１は、１フレームの画像データに対する実処理時間を目標処理時間に制御しない。
【００５６】
詳述すると、プリプロセス処理部２１は、撮像部１１中のタイミングジェネレータ１１ｃが生成する第１クロック信号ＣＬＫ１に基づいて、撮像部１１から画像データが順次入力される。プリプロセス処理部２１は、撮像部１１から次に新たな１フレームの画像データを入力するまでに処理中の先の１フレームの画像データを処理しないと、その画像データがメモリ１３に格納されずに消失してしまう。このため、プリプロセス処理部２１は、１フレームの画像データに対する実処理時間を目標処理時間に制御しない。
【００５７】
次に、プリプロセス処理部２１、画素補間処理部２２、コーデック処理部２３、解像度変換処理部２４の第１〜第５フレームの画像データに対するパイプライン処理を図４に従って説明する。なお、各フレームに係る画像データを、共通してＤ１〜Ｄ５として説明する。つまり、処理部において、１つのフレーム、例えば第１フレームを処理するために入力データと出力データに同じ符号を用いることとする。
【００５８】
上記のように、プリプロセス処理部２１は、１フレームの各画像データＤ１〜Ｄ５に対する実処理時間を変更しない。画素補間処理部２２、コーデック処理部２３、解像度変換処理部２４は、１フレームの各画像データＤ１〜Ｄ５をそれぞれ目標処理時間内に実処理を行い、各画像データＤ１〜Ｄ５に対する実処理を開始・終了する時間が等しくなっている。
【００５９】
従って、各処理部２２〜２４は、待機することなく各画像データＤ１〜Ｄ５を読み出すことができる。また、各処理部２２〜２４が各画像データＤ１〜Ｄ５に対して実処理を開始する間隔と順番が等しくなり、従来に比べてパイプライン制御を簡略化することができる。
【００６０】
プリプロセス処理部２１を除く各処理部２２〜２７は、１フレームの画像データに対する実処理時間を目標処理時間に近づけるように制御するための処理制御部３７を有している。処理制御部３７は、自身の処理部がメモリ１３に画像データの書き込み又は読み出しを要求してから実際にメモリ１３に画像データを書き込み又は読み出しするまでの待機時間を制御することにより、１フレームの画像データに対する実処理時間を制御している。
【００６１】
具体的には、図５に示すように、画素補間処理部２２の処理制御部３７は、画素補間処理部２２内の画像データを処理する処理回路３８から入力される内部要求信号ＩＳｒを遅延制御する。なお、各処理部２３〜２７の処理制御部３７は、画素補間処理部２２の処理制御部３７と同じ構成のため、説明の便宜上、その説明を省略する。
【００６２】
処理制御部３７は、その内部要求信号ＩＳｒと同じレベルの要求信号Ｓｒを調停回路３２に出力することにより、１フレームの画像データに対する実処理時間を制御している。
内部要求信号ＩＳｒは、画素補間処理部２２の処理回路３８が調停回路３２に対して共有バス３５の使用権を要求するための信号である。画素補間処理部２２は、メモリ１３にデータを書き込み又は読み出すために共有バス３５の使用権を要求する場合、例えば値「１」、Ｈレベルの内部要求信号ＩＳｒを生成して出力する。
【００６３】
従って、処理制御部３７は、メモリ１３にデータを書き込み又は読み出すために共有バス３５の使用権を要求する場合、Ｈレベルの要求信号Ｓｒを調停回路３２に出力する。
処理制御部３７の内部構成について図６に従って説明する。
【００６４】
図６に示すように、処理制御部３７は、検出部３７ａ、処理時間制御部３７ｂを有している。検出部３７ａは、第１レジスタＲｅ１、処理時間計測カウンタＣ１、デコーダ４０を含む。
【００６５】
第１レジスタＲｅ１は、上記のように設定された目標処理時間のデータ（単に目標処理時間という）Ｄｔが格納されている。
処理時間計測カウンタＣ１は、ＣＰＵ３１から共有バス３５を介して開始信号Ｓｓが入力されるとともに、画素補間処理部２２の処理回路３８から終了割り込み信号Ｓｅが入力される。終了割り込み信号Ｓｅは、自身の処理回路３８による１フレームの画像データに対する実処理が終了する毎に、その終了したことをＣＰＵ３１にそれぞれ知らせるための信号である。また、処理時間計測カウンタＣ１は、第２クロック信号ＣＬＫ２が入力される。
【００６６】
処理時間計測カウンタＣ１は、開始信号Ｓｓを入力すると、第２クロック信号ＣＬＫ２のパルスをカウントし、自身の処理回路３８が出力する終了割り込み信号Ｓｅ（例えば値「１」、Ｈレベル）を入力すると、その第２クロック信号ＣＬＫ２のパルスのカウントを終了する。
【００６７】
従って、処理時間計測カウンタＣ１は、画素補間処理部２２の処理回路３８が１フレームの画像データに対して実処理を行っている間、第２クロック信号ＣＬＫ２のパルスをカウントする。この結果、処理時間計測カウンタＣ１のカウント値（第１カウント値Ｄｃ１）は、処理部が１フレームの画像データに対して実処理を行う時間を示す値になる。
【００６８】
デコーダ４０は、第１レジスタＲｅ１から目標処理時間Ｄｔが入力され、処理時間計測カウンタＣ１から第１カウント値Ｄｃ１が入力される。
デコーダ４０は、その目標処理時間Ｄｔと第１カウント値Ｄｃ１を比較し、その比較結果に応じた制御信号Ｓｃを第２レジスタＲｅ２に出力する。
【００６９】
デコーダ４０は、第１カウント値Ｄｃ１が目標処理時間Ｄｔより大きいとき、例えばＬレベルの制御信号Ｓｃを第２レジスタＲｅ２に出力する。また、デコーダ４０は、第１カウント値Ｄｃ１が目標処理時間Ｄｔ以下のとき、例えばＨレベルの制御信号Ｓｃを第２レジスタＲｅ２に出力する。言い換えると、デコーダ４０は、自身の処理回路３８が１フレームの画像データに対して実処理を行う時間が目標処理時間Ｄｔより長くなると、Ｌレベルの制御信号Ｓｃを出力する。反対に、デコーダ４０は、画素補間処理部２２の処理回路３８が１フレームの画像データに対して実処理を行う時間が目標処理時間Ｄｔ以下のとき、Ｈレベルの制御信号Ｓｃを出力する。
【００７０】
処理時間制御部３７ｂは、第２レジスタＲｅ２、マスク期間制御カウンタＣ２、転送要求回路４１を含む。
第２レジスタＲｅ２は、画素補間処理部２２の処理回路３８から出力される内部要求信号ＩＳｒをマスクする期間のデータ（マスク期間）Ｄｍが格納されている。また、第２レジスタＲｅ２は、画素補間処理部２２の処理回路３８から終了割り込み信号Ｓｅが入力され、デコーダ４０から制御信号Ｓｃが入力される。
【００７１】
そして、第２レジスタＲｅ２は、終了割り込み信号Ｓｅ（例えば値「１」、Ｈレベル）を入力すると、制御信号Ｓｃに応じて、マスク期間Ｄｍに「１」を加算（インクリメント）又は「１」を減算（デクリメント）する。
【００７２】
具体的には、上記のように、終了割り込み信号Ｓｅを入力するとき、処理時間計測カウンタＣ１は、画素補間処理部２２の処理回路３８による１フレームの画像データに対する実処理時間が終了するため、第２クロック信号ＣＬＫ２のパルスのカウントを終了して第１カウント値Ｄｃ１を確定する。第２レジスタＲｅ２は、終了割り込み信号Ｓｅを入力するとき、即ち処理時間計測カウンタＣ１が第２クロック信号ＣＬＫ２のパルスのカウントを終了して第１カウント値Ｄｃ１を確定したとき、Ｈレベルの制御信号Ｓｃを入力すると、マスク期間Ｄｍに「１」を加算する。反対に、第２レジスタＲｅ２は、終了割り込み信号Ｓｅを入力するとき、Ｌレベルの制御信号Ｓｃを入力すると、マスク期間Ｄｍから「１」を減算する。第２レジスタＲｅ２は、その加減算値をマスク期間制御カウンタＣ２に出力する。
【００７３】
すなわち、第２レジスタＲｅ２は、画素補間処理部２２の処理回路３８が１フレームの画像データに対して実処理を行う時間が目標処理時間Ｄｔ以下のとき、マスク期間Ｄｍに「１」を加算する。反対に、第２レジスタＲｅ２は、画素補間処理部２２の処理回路３８が１フレームの画像データに対して実処理を行う時間が目標処理時間Ｄｔより長いと、マスク期間Ｄｍから「１」を減算する。
【００７４】
これにより、第２レジスタＲｅ２は、終了割り込み信号Ｓｅを入力する度に、マスク期間Ｄｍに「１」を加算又は「１」を減算してマスク期間Ｄｍを更新していく。
マスク期間制御カウンタＣ２は、第２レジスタＲｅ２からマスク期間（加減算値）Ｄｍが入力されるとともに、調停回路３２から共有バス３５を介して応答信号Ａｃｋが入力される。また、マスク期間制御カウンタＣ２は、第２クロック信号ＣＬＫ２が入力される。マスク期間制御カウンタＣ２は、自身の処理部から調停回路３２へ出力した要求信号Ｓｒに対する応答信号Ａｃｋ（例えば値「１」、Ｈレベル）を入力すると、第２クロック信号ＣＬＫ２のパルスのカウントを開始するとともに、例えばＨレベルのマスク信号Ｓｍを転送要求回路４１に出力する。
【００７５】
そして、そのカウント値（第２カウント値）がマスク期間（加減算値）Ｄｍに達すると、マスク期間制御カウンタＣ２は、例えばＬレベルのマスク信号Ｓｍを転送要求回路４１に出力する。そして、再度、Ｈレベルの応答信号Ａｃｋを入力すると、マスク期間制御カウンタＣ２は、第２カウント値をリセットして第２クロック信号ＣＬＫ２のパルスのカウントを開始するとともに、Ｈレベルのマスク信号Ｓｍを転送要求回路４１に出力する。
【００７６】
従って、マスク期間制御カウンタＣ２は、Ｈレベルの応答信号Ａｃｋを入力してからマスク期間Ｄｍに基づいた時間の間に、Ｈレベルのマスク信号Ｓｍを転送要求回路４１に出力する。
【００７７】
転送要求回路４１は、マスク期間制御カウンタＣ２からマスク信号Ｓｍが入力されるとともに、自身の処理回路３８から内部要求信号ＩＳｒが入力される。転送要求回路４１は、Ｌレベルのマスク信号Ｓｍを入力すると、内部要求信号ＩＳｒと同じレベルの要求信号Ｓｒを出力する。転送要求回路４１は、Ｈレベルのマスク信号Ｓｍを入力すると、内部要求信号ＩＳｒをマスクする、即ち内部要求信号ＩＳｒのレベルに関係なくＬレベルの要求信号Ｓｒを出力する。
【００７８】
次に、調停回路３２に要求信号Ｓｒを出力するときの処理制御部３７の動作について図７に従って説明する。なお、構成部材については、図１、図５及び図６を参照されたい。
まず、時刻ｔ１において、転送要求回路４１は、自身の処理回路３８からＨレベルの内部要求信号ＩＳｒを入力すると、マスク期間制御カウンタＣ２からのマスク信号ＳｍがＬレベルのため、内部要求信号ＩＳｒをマスクせずにＨレベルの要求信号Ｓｒを出力する。
【００７９】
時刻ｔ２において、マスク期間制御カウンタＣ２は、調停回路３２から共有バス３５を介してＨレベルの応答信号Ａｃｋを入力すると、第２クロック信号ＣＬＫ２のパルスのカウントを開始するとともに、Ｈレベルのマスク信号Ｓｍを出力する。また、Ｈレベルの応答信号Ａｃｋを入力すると、自身の処理回路３８は、共有バス３５の使用権を取得したとして、Ｌレベルの内部要求信号ＩＳｒを転送要求回路４１に出力する。
【００８０】
時刻ｔ３において、転送要求回路４１は、自身の処理回路３８からＨレベルの内部要求信号ＩＳｒを入力すると、マスク信号ＳｍがＨレベルのため、内部要求信号ＩＳｒをマスクする、即ち強制的にＬレベルの要求信号Ｓｒを出力する。
【００８１】
時刻ｔ４において、第２カウント値がマスク期間Ｄｍと等しくなり、転送要求回路４１は、マスク期間制御カウンタＣ２からＬレベルのマスク信号Ｓｍを入力すると、内部要求信号ＩＳｒがＨレベルのため、内部要求信号ＩＳｒをマスクせずにＨレベルの要求信号Ｓｒを出力する。
【００８２】
時刻ｔ５において、マスク期間制御カウンタＣ２は、調停回路３２から共有バス３５を介してＨレベルの応答信号Ａｃｋを入力すると、第２カウント値をリセットして第２クロック信号ＣＬＫ２のパルスのカウントを開始するとともに、Ｈレベルのマスク信号Ｓｍを出力する。
【００８３】
このように処理制御部３７は、調停回路３２から共有バス３５を介してＨレベルの応答信号Ａｃｋを入力してからマスク期間Ｄｍに応じた時間経過するまで内部要求信号ＩＳｒをマスクし、その後、内部要求信号ＩＳｒと同じレベルの要求信号Ｓｒを出力する。この結果、処理制御部３７は、制御信号Ｓｃに応じて、各処理部２２〜２７のメモリ１３に対する読み出し及び書き込みに要するアクセス時間を制御することができる。
【００８４】
言い換えると、処理制御部３７は、制御信号Ｓｃに応じて、自身の処理部がメモリ１３に画像データを書き込みするための内部要求信号ＩＳｒを出力してからメモリ１３から画像データを読み出すための要求信号Ｓｒを出力するまでの時間を制御している。
【００８５】
また、各処理部２２〜２７が１フレームの画像データに対して実処理を行う際、各処理部２２〜２７は、Ｈレベルの応答信号Ａｃｋを入力する毎にマスク期間Ｄｍに応じた時間だけ内部要求信号ＩＳｒをマスクする。これにより、各処理部２２〜２７は、１フレームの画像データに対する実処理において、散発的に実処理を待機することになり、その実処理を待機する間に他の処理部がメモリ１３に画像データを読み出し又は書き込みすることができる。
【００８６】
例えば、画素補間処理部２２が第３フレームに対して実処理し、コーデック処理部２３が第２フレームに対して実処理し、解像度変換処理部２４が第１フレームに対して実処理する場合について図８に従って説明する。ここで、図８において、破線４５で区切られた区間が目標処理時間Ｄｔを示している。また、「Ｄ３」〜「Ｄ１」は、各処理部２２〜２４の第３〜第１フレームに対する実処理時間をそれぞれ示している。また、「Ｓｔ１」〜「Ｓｔ３」は各処理部２２〜２４が実処理を待機する時間をそれぞれ示している。
【００８７】
図８から明らかなように、画素補間処理部２２が実処理を待機する時間Ｓｔ１に、コーデック処理部２３がメモリ１３に対して読み出し又は書き込みすることができる。また、解像度変換処理部２４が実処理を待機する時間Ｓｔ３に、画素補間処理部２２又はコーデック処理部２３がメモリ１３に対して読み出し又は書き込みすることができる。
【００８８】
従って、各処理部２２〜２７のメモリ１３に対する読み出し又は書き込み要求を競合しにくくすることができる。
以上記述したように、本実施の形態によれば、以下の効果を奏する。
【００８９】
（１）各処理部２２〜２７の処理制御部３７は、１フレームの画像データに対する目標処理時間Ｄｔと、実際に１フレームの画像データに対する実処理時間とを比較し、その比較結果に応じて、１フレームの画像データに対する実処理時間を目標処理時間Ｄｔに近づけるように制御した。
【００９０】
従って、各処理部２２〜２７の１フレームの画像データに対する実処理時間が目標処理時間Ｄｔに揃う。この結果、各処理部２２〜２７に対して処理開始を指示するタイミングを変更する必要がないため、従来と比較してパイプライン制御を簡略化することができる。
【００９１】
また、従来のように、処理部の１フレーム分の画像データに対する実処理中に、他の処理部において１フレーム分の画像データに対する実処理がほぼ同時に終了する。このため、余分な画像データをメモリ１３に蓄積する必要がなくなり、メモリ１３の消費量の増大を抑制することができる。従って、容量の大きなメモリ１３を使用する必要がなく、チップコストの増大を抑制することができる。また、各処理部２２〜２７は、メモリ１３が小さな容量の場合でも、画像データに対するパイプライン処理を破綻させずに安定させることができる。
【００９２】
（２）処理制御部３７は、制御信号Ｓｃに応じて、要求信号Ｓｒを出力する間隔を制御するようにした。これにより、各処理部２２〜２７から出力されるアクセス要求が、パイプライン処理の１つの処理区間（ステージ）において散発的になる、つまり、アクセス要求の粗密を解消することができる。この結果、優先度の低い処理部のアクセス要求が、優先度の高い処理部のアクセス要求と競合する機会が少なくなる、つまり、アクセス要求が競合しにくくなるため、パイプライン処理を効率良く実施することができる。
【００９３】
また、処理制御部３７は、メモリ１３にデータを書き込み及び読み出すために共有バス３５の使用権を要求する度に自身の処理回路３８の実処理を待機させる。この待機時間は、各処理部２２〜２７の処理回路３８がアクセス要求して、調停回路３２によってバス使用権が与えられるまでの時間に対応する。従って、処理回路３８の構成を変更することなく、各処理部２２〜２７の実処理時間を容易に制御することができる。
【００９４】
（３）各処理部２２〜２７単体が１フレームの画像データを処理するのに要する実処理時間のうちの最も長い実処理時間に応じた時間を目標処理時間Ｄｔとした。各処理部２２〜２７の処理制御部３７は、それぞれの処理部２２〜２７の実処理時間を、目標処理時間Ｄｔに近づけるように、処理部２２〜２７の動作を制御する。１フレームの画像データに対して単体での実処理時間が最も長い処理部は、他の処理部の影響によって、計測した実処理時間が目標処理時間Ｄｔよりも長くなる場合があるが、その処理部の処理制御部３７は、計測した実処理時間を目標処理時間Ｄｔに近づけるように、処理部の動作を制御する。従って、各処理部２２〜２７を同時に動作させたとき、即ちパイプライン処理において、各処理部２２〜２７を最短の時間で動作させることができ、効率良く画像データに対するパイプライン処理を行うことができる。
【００９５】
（４）処理制御部３７は、応答信号Ａｃｋを入力してからマスク期間Ｄｍに基づいた時間経過するまで、内部要求信号ＩＳｒの出力をマスクするようにした。従って、各処理部２２〜２７は、簡単な構成で、メモリ１３へ要求信号Ｓｒを出力する間隔を制御することができる。
【００９６】
尚、上記実施の形態は、以下の態様で実施してもよい。
・本実施形態では、処理部が１フレームの画像データに対して実処理を行う時間の目標処理時間Ｄｔを設定していた。これに限らず、目標処理時間Ｄｔ内にて実処理を行う画像データのデータサイズは特に制限されない。例えば、１フレームの画像データを複数に分割したブロックのうちの１つのブロックの画像データに対して実処理を行う時間、又は１ラインの画像データに対して実処理を行う時間に応じて目標処理時間Ｄｔを設定してもよい。
【００９７】
処理制御部３７の処理時間計測カウンタＣ１は、自身の処理部が１フレームの画像データに対して実処理を行っている間に、第２クロック信号ＣＬＫ２のパルスをカウントしていた。この変更に伴い、処理時間計測カウンタＣ１は、設定されたデータサイズの画像データに対して実処理を行う間に、第２クロック信号ＣＬＫ２のパルスをカウントすることになる。
【００９８】
これにより、各処理部２２〜２７は、目標処理時間Ｄｔ内に実処理を行う画像データのデータサイズが小さくなるほど、実処理時間の計測とそれに対するマスク期間Ｄｍの設定を行う間隔が短くなるため、１つのフレームの画像データを処理している間でも目標処理時間Ｄｔに近づけるように制御することができる。従って、各処理部２２〜２７は、上記の実施形態より早く、画像データに対する実処理時間を目標処理時間Ｄｔに近づけるように制御することができる。
【００９９】
この場合、処理時間計測カウンタＣ１の計測開始、終了を示す信号である開始信号Ｓｓ、終了割り込み信号Ｓｅには、目標処理時間Ｄｔを設定する期間の開始と終了を示す適切な信号を用いる必要がある。
【０１００】
なお、各処理部２２〜２７が実処理を行う画像データの単位は、各処理部２２〜２７に応じて異なる場合がある。例えば、処理に必要な画像データが、１又は複数のラインである処理部と、１又は複数のマクロブロックである処理部とが含まれている。従って、各処理部の処理単位に応じて目標処理時間Ｄｔが設定されればよい。
【０１０１】
・各処理部２２〜２７に対して、異なるデータサイズの画像データに対して実処理を行う目標処理時間Ｄｔをそれぞれ設定してもよい。例えば、画素補間処理部２２に１フレームの画像データに対する目標処理時間Ｄｔ、コーデック処理部２３に１ブロックの画像データに対する目標処理時間Ｄｔ、解像度変換処理部２４に１ラインの画像データに対する目標処理時間Ｄｔを設定してもよい。
【０１０２】
これにより、目標処理時間Ｄｔ内に実処理を行う画像データのデータサイズが１フレームの画像データより小さい処理部では、上記の実施形態より早く、１フレームの画像データに対する実処理時間を目標処理時間Ｄｔに近づけるように制御することができる。
【０１０３】
・上記実施形態において、目標処理時間Ｄｔに応じたカウント値を格納する第１レジスタＲｅ１や、マスク期間Ｄｍを格納する第２レジスタＲｅ２を不揮発性メモリにしてもよい。これにより、処理制御部３７は、デジタルスチルカメラ１０の電源が遮断されても、第２レジスタＲｅ２に格納されているマスク期間Ｄｍを保持することができる。
【０１０４】
従って、処理制御部３７は、電源投入時に、前回の処理において画像データに対する実処理時間を目標処理時間Ｄｔに近づけるように制御されたマスク期間Ｄｍが設定されている。この結果、各処理部２２〜２７は、上記の実施形態より早く、画像データに対する実処理時間を目標処理時間Ｄｔに近づけるように制御することができる。
【０１０５】
・上記実施形態において、マスク期間Ｄｍを格納する第２レジスタＲｅ２は、ＣＰＵ３１を介して自由に読み書きできることが好ましい。こうする事によって、何らかの初期値から開始して、全ての処理が目標処理時間Ｄｔに最も近づいたと考えられる状態における各処理部２２〜２７それぞれの第２レジスタＲｅ２が保持する値を読み出して保存しておく。そして、次に処理を開始するに先立って前記保存した値を第２レジスタＲｅ２に書き込んで初期値とすることにより、各処理部２２〜２７は、上記の実施形態より早く、画像データに対する実処理時間を目標処理時間Ｄｔに近づけるように制御することができる。
【０１０６】
・デジタルスチルカメラ１０の撮影モードに応じて、第１レジスタＲｅ１に格納する目標処理時間Ｄｔを変更するようにしてもよい。撮影モードにより、動作させる処理部が異なる、又は処理部において画像データを処理するために用いるデータ（例えばフィルタデータ）が異なる場合がある。この場合、撮影モードにより、効率的なパイプライン処理の処理時間が変化する。従って、撮影モードに応じて目標処理時間Ｄｔを変更することにより、効率的にパイプライン処理を安定して実行させることができる。
【０１０７】
・本実施形態では、処理時間制御部３７ｂが制御信号Ｓｃに応じて内部要求信号ＩＳｒをマスクする時間を制御することにより、自身の処理部の画像データに対する実処理時間を制御していた。これに限らず、実処理時間を制御するようにしてもよい。
【０１０８】
第１の例は、図９に示すように、処理制御部５０は、クロック生成部５１から入力される動作クロック信号ＣＬＫ３の周波数を変更した動作クロック信号ＣＬＫ３ａを処理回路３８に供給するものである。
【０１０９】
すなわち、本実施形態では、処理制御部３７は、自身の処理部がメモリ１３に対して書き込むための要求信号Ｓｒを出力してからメモリ１３に対して読み出すための要求信号Ｓｒを出力するまでの時間を制御していた。処理制御部５０は、自身の処理部がメモリ１３に対して読み出すための要求信号Ｓｒを出力してからメモリ１３に対して書き込むための要求信号Ｓｒを出力するまでの時間を制御する。
【０１１０】
具体的には、図１０に示すように、処理制御部５０は、検出部３７ａ及び処理時間制御部５０ａを有している。なお、上述した検出部３７ａについて、説明の便宜上、その説明を省略する。処理時間制御部５０ａは、検出部３７ａのデコーダ４０からＨレベルの制御信号Ｓｃを入力すると、クロック生成部５１からの動作クロック信号ＣＬＫ３の周波数を低くした動作クロック信号ＣＬＫ３ａを自身の処理回路３８に供給する。これにより、処理時間制御部３７ｂは、自身の処理回路３８の１フレームの画像データに対する実処理時間を長くすることができる。さらに、処理時間制御部５０ａは、自身の処理部の消費電流を低減することができる。
【０１１１】
反対に、処理時間制御部５０ａは、検出部３７ａのデコーダ４０からＬレベルの制御信号Ｓｃを入力すると、クロック生成部５１からの動作クロック信号ＣＬＫ３の周波数を高くした動作クロック信号ＣＬＫ３ａを自身の処理回路３８に供給する。これにより、処理時間制御部５０ａは、自身の処理回路３８の１フレームの画像データに対する実処理時間を短くすることができる。
【０１１２】
例えば、処理時間制御部５０ａは、ＰＬＬ（Phase Locked Loop）、ＶＣＯ（voltage controlled oscillator）、又は、分周器のいずれか１つを有し、これらＰＬＬ、ＶＣＯ、分周器にて動作クロック信号ＣＬＫ３の周波数を変更する。処理時間制御部５０ａが分周器を有する場合、ＰＬＬやＶＣＯより実処理時間を制御する単位が大きい。このため、目標処理時間Ｄｔと実処理時間の差が大きいとき、処理時間制御部５０ａ（分周器）が動作クロック信号ＣＬＫ３の周波数を制御することで実処理時間を制御する。目標処理時間Ｄｔと実処理時間の差が小さいとき、処理時間制御部３７ｂが内部要求信号ＩＳｒをマスクする期間を制御することで実処理時間を制御するようにしてもよい。
【０１１３】
・なお、上記の動作クロック信号ＣＬＫ３の周波数を変更する構成は、処理時間制御部５０ａが、制御信号Ｓｃに応じて、動作クロック信号ＣＬＫ３の周波数の変更信号をクロック生成部５１に出力する。そして、クロック生成部５１が、処理時間制御部５０ａからの変更信号に応じて、動作クロック信号ＣＬＫ３の周波数を変更してもよい。
【０１１４】
・第２の例は、調停回路３２は、制御信号Ｓｃに応じて、各処理部２２〜２７に対する優先順位を変更し、各処理部２２〜２７の画像データに対する実処理時間を制御するものである。
【０１１５】
具体的には、調停回路３２は、処理部からＨレベルの制御信号Ｓｃを入力すると、その処理部に対する優先順位を低くする。これにより、メモリ１３に対する読み出し又は書き込み要求が競合した場合、優先順位を低く設定された処理部は、優先順位が高い処理部の後に、メモリ１３に対して画像データを読み出し又は書き込みする。その分、優先順位を低く設定された処理部は、画像データに対する実処理時間において待機時間が長くなる。従って、調停回路３２は、優先順位を低く設定した処理部による１フレームの画像データに対する実処理時間を長くすることができる。
【０１１６】
反対に、調停回路３２は、処理部からＬレベルの制御信号Ｓｃを入力すると、その処理部に対する優先順位を高くする。これにより、メモリ１３への読み出し及び書き込み要求が競合した場合、優先順位を低く設定された処理部は、優先順位が低い処理部よりも先にメモリ１３に対して画像データを読み出し又は書き込みする。その分、優先順位を低く設定された処理部は、画像データに対する実処理時間において待機時間が短くなる。従って、調停回路３２は、優先順位を高く設定した処理部による１フレームの画像データに対する実処理時間を短くすることができる。
【０１１７】
・本実施形態では、デコーダ４０は、その目標処理時間Ｄｔと第１カウント値Ｄｃ１を比較し、その比較結果に応じた制御信号Ｓｃを出力していた。これに限らず、デコーダ４０は、演算器であって、その比較結果に応じて第２レジスタＲｅ２のマスク期間Ｄｍを減算又は加算する数を算出し、その算出結果のデータを出力するようにしてもよい。これに伴い、第２レジスタＲｅ２は、デコーダ４０から上記の算出結果のデータが入力される。第２レジスタＲｅ２は、その算出結果に応じてマスク期間Ｄｍを減算又は加算する。
【０１１８】
また、デコーダ４０は、上記の比較結果に対してマスク期間Ｄｍを減算又は加算する数が割り当てられた参照テーブル（ＬＵＴ Look up table）を有し、比較結果に基づいて参照テーブルからマスク期間Ｄｍを減算又は加算する数を求め、その求めた数のデータを出力するようにしてもよい。これに伴い、第２レジスタＲｅ２は、その参照テーブルから求めた数のデータがデコーダ４０から入力される。第２レジスタＲｅ２は、その数に応じてマスク期間Ｄｍを減算又は加算する。
【０１１９】
従って、処理制御部３７は、第２レジスタＲｅ２に格納するマスク期間Ｄｍの変化量を制御する。例えば、目標処理時間Ｄｔと実処理時間との差が大きいときには一度に「２」以上の値をマスク期間Ｄｍに加算又は減算し、差が小さな時には「１」をマスク期間Ｄｍに加算又は減算する。このように制御することで、マスク期間Ｄｍを自身の処理部に応じた値に早く収束させることができ、短時間で各処理部２２〜２７の実処理時間を目標処理時間Ｄｔに揃えることができる。なお、目標処理時間Ｄｔと実処理時間との差が所定範囲内の場合には、「０」をマスク期間Ｄｍに加算又は減算する、つまり、マスク期間Ｄｍの変更をキャンセルするようにしてもよい。
【０１２０】
上記各実施形態に関し、以下の付記を開示する。
（付記１）
データに対してパイプライン処理を行うための複数の処理部を有し、
前記各処理部は、
前記データを処理する処理回路と、
前記処理回路の前記データに対する処理時間を計測し、前記処理時間を目標処理時間に近づけるように前記処理回路を制御する制御回路と、
を有することを特徴とするデータ処理装置。
（付記２）
付記１に記載のデータ処理装置において、
前記各処理部から入力されるメモリへアクセスするための要求信号を調停する調停回路を有し、
前記制御回路は、
前記要求信号を前記調停回路に出力するタイミングを制御することを特徴とするデータ処理装置。
（付記３）
付記２に記載のデータ処理装置において、
前記制御回路は、
前記データを前記メモリに書き込むための前記要求信号を出力してから、前記データを前記メモリから読み出すための前記要求信号を出力するまでの第１の間隔を制御することを特徴とするデータ処理装置。
（付記４）
付記２又は３に記載のデータ処理装置において、
前記制御回路は、
前記データを前記メモリから読み出すための前記要求信号を出力してから、前記データを前記メモリに書き込むための前記要求信号を出力するまでの第２の間隔を制御することを特徴とするデータ処理装置。
（付記５）
付記３に記載のデータ処理装置において、
前記制御回路は、
前記要求信号の出力をマスクして第１の間隔を制御することを特徴とするデータ処理装置。
（付記６）
付記３〜５のいずれか１項に記載のデータ処理装置において、
前記制御回路は、
前記処理回路に供給される動作クロック信号の周波数を制御して第２の間隔を制御することを特徴とするデータ処理装置。
（付記７）
付記１〜６のいずれか１項に記載のデータ処理装置において、
前記制御回路は、
前記処理回路の前記データに対する処理時間を計測し、該処理時間と目標処理時間の比較結果に応じた比較信号を生成する検出部と、
前記比較信号に基づいて、前記処理時間を前記目標処理時間に近づけるように前記処理回路を制御する制御部と、
を有することを特徴とするデータ処理装置。
（付記８）
付記７に記載のデータ処理装置において、
前記調停回路は、
前記各処理部から入力される前記メモリへのアクセス要求を優先順位に応じて調停し、前記比較信号に基づいて、前記優先順位を変更することを特徴とするデータ処理装置。
（付記９）
付記７又は８に記載のデータ処理装置において、
前記制御部は、
電源遮断時にその時算出されている前記要求信号を出力する間隔を示す要求間隔値を不揮発性メモリに格納し、
電源投入時に前記不揮発性メモリから前記要求間隔値を読み出し、該要求間隔値に応じて前記要求信号を出力する間隔を制御することを特徴とするデータ処理装置。
（付記１０）
付記１〜９のいずれか１項に記載のデータ処理装置において、
前記目標処理時間は、
前記各処理部単体での前記データに対する処理時間に応じて設定されることを特徴とするデータ処理装置。
（付記１１）
付記１〜１０のいずれか１項に記載のデータ処理装置において、
前記各処理部は、
画像データに対してパイプライン処理を行い、
１フレームの前記画像データを分割した１つの画像データに応じて目標処理時間を設定されることを特徴とするデータ処理装置。
（付記１２）
付記１〜１１のいずれか１項に記載のデータ処理装置において、
前記各処理部よりも優先して処理を行う優先処理部を有し、
前記各処理部は、
前記優先処理部が処理した前記データに対してパイプライン処理を行うことを特徴とするデータ処理装置。
（付記１３）
データに対してパイプライン処理を行うための処理回路と、
前記処理回路の前記データに対する処理時間を計測し、該処理時間が目標処理時間に近づくように前記処理回路を制御する制御回路と、
を有することを特徴とする処理部。
（付記１４）
データに対してパイプライン処理を行うための処理部の処理時間を計測し、該処理時間が目標処理時間に近づくように前記処理部の処理を制御することを特徴とする制御回路。
（付記１５）
データに対してパイプライン処理を行う複数の処理部を有し、
前記各処理部は、
前記データに対する処理時間を計測し、該処理時間と目標処理時間との比較結果に応じて前記処理時間を前記目標処理時間に近づけるように各自の処理を制御することを特徴とするデータ処理方法。
【符号の説明】
【０１２１】
１２  データ処理装置（画像処理装置）
１３  メモリ
２１〜２７  処理部
３２  調停回路
３７  制御回路（処理制御部）
３７ａ  検出部
３７ｂ，５０ａ  処理時間制御部
Ｄｔ  目標処理時間
Ｓｒ  要求信号
【図１】
0005392060.tif 000002
【図２】
0005392060.tif 000003
【図３】
0005392060.tif 000004
【図４】
0005392060.tif 000005
【図５】
0005392060.tif 000006
【図６】
0005392060.tif 000007
【図７】
0005392060.tif 000008
【図８】
0005392060.tif 000009
【図９】
0005392060.tif 000010
【図１０】
0005392060.tif 000011
【図１１】
0005392060.tif 000012
【図１２】
0005392060.tif 000013