(57)【要約】【課題】複数のフレームの画像データを連続的に画像処理する場合において、その処理時間を短縮し、且つ、記憶手段の使用効率を向上することができる画像処理装置及び画像処理方法を提供する。【解決手段】フレームの画像データを画像処理する各種機能マクロのうち、画像データに対して先行する一の画像処理を行う第１機能マクロ２３は、その画像処理後の画像データをＳＤＲＡＭの所定領域に暫定的に格納するとともに、第１機能マクロ２３に続いて次の画像処理を行う第２機能マクロ２４は、ＳＤＲＡＭの所定領域に暫定的に格納された画像処理後の画像データを読み込んで画像処理を行う。第１及び第２機能マクロ２３，２４は、それぞれが処理するフレーム及び該フレームの画像データの処理中のデータライン数を相互に監視する他機能マクロ処理状態監視回路３１，３６を備える。【選択図】図２
2008047038.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素からなるフレームの画像データを画像処理する各種機能マクロを備え、該各種機能マクロのうち、前記画像データに対して先行する一の画像処理を行う第１機能マクロは、その画像処理後の画像データを記憶手段の所定領域に暫定的に格納するとともに、前記第１機能マクロに続いて次の画像処理を行う第２機能マクロは、前記記憶手段の前記所定領域に暫定的に格納された前記画像処理後の画像データを読み込んで、該画像データの画像処理を行う画像処理装置において、
前記第１及び第２機能マクロのいずれか一方及び他方は、該第１及び第２機能マクロのいずれか他方及び一方がそれぞれ処理するフレーム及び該フレームの画像データの処理中のデータライン数を監視する監視手段を備えたことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記第１及び第２機能マクロに対し、連続的に処理するフレームの数をそれぞれ設定する設定手段を備えたことを特徴とする画像処理装置。
【請求項３】
請求項１又は２に記載の画像処理装置において、
前記第１及び第２機能マクロは、ＤＭＡ（Direct Memory Access）方式で前記記憶手段との間で前記画像データをやりとりするＤＭＡコントローラをそれぞれ備えたことを特徴とする画像処理装置。
【請求項４】
複数の画素からなるフレームの画像データを画像処理する各種機能マクロを備え、該各種機能マクロのうち、前記画像データに対して先行する一の画像処理を行う第１機能マクロは、その画像処理後の画像データを記憶手段の所定領域に暫定的に格納するとともに、前記第１機能マクロに続いて次の画像処理を行う第２機能マクロは、前記記憶手段の前記所定領域に暫定的に格納された前記画像処理後の画像データを読み込んで、該画像データの画像処理を行う画像処理方法において、
前記第１及び第２機能マクロのいずれか一方及び他方は、該第１及び第２機能マクロのいずれか他方及び一方がそれぞれ処理するフレーム及び該フレームの画像データの処理中のデータライン数を監視することを特徴とする画像処理方法。
【請求項５】
請求項４に記載の画像処理方法において、
前記第１及び第２機能マクロに対し、連続的に処理するフレームの数をそれぞれ設定することを特徴とする画像処理方法。
【請求項６】
請求項４又は５に記載の画像処理方法において、
前記第１及び第２機能マクロは、ＤＭＡ方式で前記記憶手段との間で前記画像データをやりとりすることを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フレームの画像データを画像処理する各種機能マクロを備えた画像処理装置及び画像処理方法に関するものである。
【背景技術】
【０００２】
例えばデジタルカメラでは、その撮像センサ（ＣＣＤイメージセンサなど）において電気信号として検出された光が、Ａ／Ｄ（アナログ／デジタル）変換部でデジタル信号に変換されて、複数の画素にて１つの画面を構成するフレームの画像データが画素ごとに取得される。そして、この画像データは、ＬＳＩからなる画像処理プロセッサ内のプリプロセス部において所定の態様で前処理され、その後、ＲＧＢ形式である該画像データ（ベイヤデータ）は、色空間変換部においてＹＣｂＣｒ形式の画像データに変換される。
【０００３】
このように処理されたフレームの画像データは画像処理プロセッサ内の各種機能マクロにおいて、解像度変換やＪＰＥＧ（Joint Photographic Experts Group）処理といった画像処理が順次実行される。このとき、各機能マクロから出力されるその画像処理後の画像データは、例えばＳＤＲＡＭ（Synchronous DRAM）からなる記憶手段に暫定的に格納される。
【０００４】
なお、各機能マクロは、１つのフレームを構成する複数のデータラインが所定の態様で複数にグループ分けされてなるブロックごとにその画像データを画像処理する。すなわち、各機能マクロは、その画像処理の対象となる元のフレームの画像データをブロックごとに記憶手段から読み込むとともに、その画像処理後の当該ブロックの画像データを記憶手段に書き戻す。そして、画像データに対して先行する一の画像処理を実行する機能マクロにより画像処理後の画像データが記憶手段に書き戻されると、該機能マクロに続いて次の画像処理を実行する他の機能マクロは、先行する機能マクロが処理するデータライン数を監視することで、当該機能マクロによるフレームの全ての処理の終了を待つことなく、その処理を開始する。このように、画像処理に関し順序づけられた機能マクロ間であっても、これらの処理時間を一部重複させることで、全体の処理時間の短縮が図られている。
【０００５】
図５は、画像データに対して先行する一の画像処理を実行する機能マクロ０の出力及び機能マクロ０から出力された画像データに対して次の画像処理を実行する他の機能マクロ１の出力をそれぞれ示すタイムチャートである。同図に示すように、各フレーム「０」，「１」は、複数（４つ）のブロックに分割されている。機能マクロ０は、画像処理後の各ブロックの画像データを記憶手段に書き戻すべくこれを出力する。そして、機能マクロ０が処理するデータライン数を監視する機能マクロ１は、該機能マクロ０により記憶手段に書き戻された画像データをブロックごとに読み込んで画像処理した後、記憶手段に書き戻すべくこれを出力する。記憶手段に書き戻されたフレームの画像データは、最終的に画像処理プロセッサ内のインターフェース回路を通じて、例えばＣＦ（コンパクトフラッシュ：登録商標）やＳＤメモリカード（登録商標）などの携帯型メモリカードに格納される。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、図５に示したように、デジタルカメラの連写時など、連続的に複数のフレームを処理する場合、機能マクロ０は、機能マクロ１による先行するフレーム「０」の全ての処理の終了を待って、次のフレーム「１」の処理を開始する必要がある。これは、機能マクロ０が次のフレーム「１」の処理を開始することで、機能マクロ０により記憶手段に暫定的に格納されたフレーム「０」の画像データであり、かつ、機能マクロ１が未だ処理を完了していない画像データが上書きされるおそれがあるためである。
【０００７】
また、各機能マクロ０，１は、先行するフレーム「０」の全ての処理の終了時に、次のフレーム「１」の処理が開始可能かを確認するための割り込み処理を行う必要があり、その処理分だけオーバーヘッド（負荷）が増大する。
【０００８】
なお、機能マクロ０は、フレーム「０」の終了時の割り込み処理後（図５における時刻ｔ１１）、機能マクロ１によるフレーム「０」の全ての処理の終了を待つことなく、次のフレーム「１」の処理を開始することも可能であるが、この場合には、当該処理が終了されるまでの間、記憶手段の別領域に画像処理後の画像データを格納する必要があり、記憶手段の使用効率が低減されてしまう。
【０００９】
本発明の目的は、複数のフレームの画像データを連続的に画像処理する場合において、その処理時間を短縮し、且つ、記憶手段の使用効率を向上することができる画像処理装置及び画像処理方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記問題点を解決するために、請求項１に記載の発明は、複数の画素からなるフレームの画像データを画像処理する各種機能マクロを備え、該各種機能マクロのうち、前記画像データに対して先行する一の画像処理を行う第１機能マクロは、その画像処理後の画像データを記憶手段の所定領域に暫定的に格納するとともに、前記第１機能マクロに続いて次の画像処理を行う第２機能マクロは、前記記憶手段の前記所定領域に暫定的に格納された前記画像処理後の画像データを読み込んで、該画像データの画像処理を行う画像処理装置において、前記第１及び第２機能マクロのいずれか一方及び他方は、該第１及び第２機能マクロのいずれか他方及び一方がそれぞれ処理するフレーム及び該フレームの画像データの処理中のデータライン数を監視する監視手段を備えたことを要旨とする。
【００１１】
同構成によれば、前記監視手段により、前記第１及び第２機能マクロ間でそれぞれの処理するフレーム及び該フレームの画像データの処理中のデータライン数が、相互に監視される。従って、例えば第１機能マクロは、先行するフレームの全ての処理を終了して次のフレームの処理を開始する際、第２機能マクロが処理する該先行するフレームの画像データの処理中のデータライン数を確認することで、該第２機能マクロの処理済みの画像データを認識するとともに、該画像データの元となる画像データが暫定的に格納される前記記憶手段の領域を空き領域として認識することができる。そして、第１機能マクロは、この認識された記憶手段の空き領域を利用して、次のフレームの画像処理後の画像データを上書きすることができるため、該記憶手段の使用効率を向上することができる。また、第１機能マクロは、第２機能マクロによる先行するフレームの全ての処理の終了を待つことなく、次のフレームの処理をより早期に開始することができる。
【００１２】
請求項２に記載の発明は、請求項１に記載の画像処理装置において、前記第１及び第２機能マクロに対し、連続的に処理するフレームの数をそれぞれ設定する設定手段を備えたことを要旨とする。
【００１３】
同構成によれば、前記設定手段により、前記第１及び第２機能マクロに対し、連続的に処理するフレームの数が設定されることで、各機能マクロは、先行するフレームの全ての処理の終了時に自動的に次のフレームの処理を開始する動作を、前記設定されたフレームの数に基づく回数分だけ繰り返せばよい。従って、前記第１及び第２機能マクロは、先行するフレームの全ての処理の終了時に、次のフレームの処理が開始可能かを確認するための割り込み処理を行う必要がないため、当該処理分のオーバーヘッド（負荷）を削減することができる。
【００１４】
請求項３に記載の発明は、請求項１又は２に記載の画像処理装置において、前記第１及び第２機能マクロは、ＤＭＡ方式で前記記憶手段との間で前記画像データをやりとりするＤＭＡコントローラをそれぞれ備えたことを要旨とする。
【００１５】
同構成によれば、前記第１及び第２機能マクロは、ＤＭＡコントローラにより、前記記憶手段との間で前記画像データを直にやりとりすることができる。
請求項４に記載の発明は、複数の画素からなるフレームの画像データを画像処理する各種機能マクロを備え、該各種機能マクロのうち、前記画像データに対して先行する一の画像処理を行う第１機能マクロは、その画像処理後の画像データを記憶手段の所定領域に暫定的に格納するとともに、前記第１機能マクロに続いて次の画像処理を行う第２機能マクロは、前記記憶手段の前記所定領域に暫定的に格納された前記画像処理後の画像データを読み込んで、該画像データの画像処理を行う画像処理方法において、前記第１及び第２機能マクロのいずれか一方及び他方は、該第１及び第２機能マクロのいずれか他方及び一方がそれぞれ処理するフレーム及び該フレームの画像データの処理中のデータライン数を監視することを要旨とする。
【００１６】
同構成によれば、前記第１及び第２機能マクロ間でそれぞれの処理するフレーム及び該フレームの画像データの処理中のデータライン数が、相互に監視される。従って、例えば第１機能マクロは、先行するフレームの全ての処理を終了して次のフレームの処理を開始する際、第２機能マクロが処理する該先行するフレームの画像データの処理中のデータライン数を確認することで、該第２機能マクロの処理済みの画像データを認識するとともに、該画像データの元となる画像データが暫定的に格納される前記記憶手段の領域を空き領域として認識することができる。そして、第１機能マクロは、この認識された記憶手段の空き領域を利用して、次のフレームの画像処理後の画像データを上書きすることができるため、該記憶手段の使用効率を向上することができる。また、第１機能マクロは、第２機能マクロによる先行するフレームの全ての処理の終了を待つことなく、次のフレームの処理をより早期に開始することができる。
【００１７】
請求項５に記載の発明は、請求項４に記載の画像処理方法において、前記第１及び第２機能マクロに対し、連続的に処理するフレームの数をそれぞれ設定することを要旨とする。
【００１８】
同構成によれば、前記第１及び第２機能マクロに対し、連続的に処理するフレームの数が設定されることで、各機能マクロは、先行するフレームの全ての処理の終了時に自動的に次のフレームの処理を開始する動作を、前記設定されたフレームの数に基づく回数分だけ繰り返せばよい。従って、前記第１及び第２機能マクロは、先行するフレームの全ての処理の終了時に、次のフレームの処理が開始可能かを確認するための割り込み処理を行う必要がないため、当該処理分のオーバーヘッド（負荷）を削減することができる。
【００１９】
請求項６に記載の発明は、請求項４又は５に記載の画像処理方法において、前記第１及び第２機能マクロは、ＤＭＡ方式で前記記憶手段との間で前記画像データをやりとりすることを要旨とする。
【００２０】
同構成によれば、前記第１及び第２機能マクロは、ＤＭＡ方式で前記記憶手段との間で前記画像データを直にやりとりすることができる。
【発明の効果】
【００２１】
本発明では、複数のフレームの画像データを連続的に画像処理する場合において、その処理時間を短縮し、且つ、記憶手段の使用効率を向上することができる画像処理装置及び画像処理方法を提供することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明をデジタルカメラに適用した一実施形態を図面に従って説明する。
図１（ａ）は、デジタルカメラ１０の電気的構成を概略的に示すブロック図である。同図に示すように、デジタルカメラ１０は、ＣＣＤイメージセンサ１１と、ＬＳＩからなる画像処理プロセッサ１２と、記憶手段としてのＳＤＲＡＭ１３と、ＣＦやＳＤなどの携帯型メモリカード１４とを備えて構成される。
【００２３】
ＣＣＤイメージセンサ１１は、光学レンズ等を通じて被写体から入射した光を電気信号に変換するとともに、該電気信号は、Ａ／Ｄ変換部（図示略）でデジタル信号に変換されて、複数の画素からなるフレームの画像データが画素ごとに取得される。なお、ＣＣＤイメージセンサ１１は、ＲＧＢのフィルタを介した光を電気信号に変換しており、従って、各画素ごとの画像データはＲＧＢ形式の画像データ（いわゆるベイヤデータ）として取得される。
【００２４】
画像処理プロセッサ１２は、取得されたフレームの画像データを入力するとともに、該画像データに対して各種画像処理を実行する。このとき、画像処理プロセッサ１２は、各処理段階での画像データをＳＤＲＡＭ１３に暫定的に格納する。そして、画像処理プロセッサ１２は、ＳＤＲＡＭ１３に格納した画像処理後の最終的なフレームの画像データを携帯型メモリカード１４に格納する。
【００２５】
図１（ｂ）は、画像処理プロセッサ１２の内部構成を概略的に示すブロック図である。同図に示すように、画像処理プロセッサ１２は、プリプロセス部２１、色空間変換部２２、第１機能マクロ２３及び第２機能マクロ２４等を有する画像処理部２０と、ＣＰＵ２５と、ＳＤＲＡＭコントローラ２６と、インターフェース回路２７とを備え、これらの間はバス２８にて電気的に接続されている。このバス２８は、アドレス信号伝達用のアドレスバス、データ信号伝達用のデータバス及び制御信号伝達用の制御バスを有する。なお、ＣＰＵ２５は、そのＲＯＭ領域に格納されたプログラム（ファームウェア）を実行することで、画像処理部２０等を制御する。
【００２６】
プリプロセス部２１は、前記取得されたフレームの画像データに対し、例えばホワイトバランス調整やゲイン調整、欠陥信号の補正などの前処理を実行する。そして、色空間変換部２２は、プリプロセス部２１により前処理されたＲＧＢ形式の画像データ（ベイヤデータ）をＹＣｂＣｒ形式の画像データに変換する。なお、これらプリプロセス部２１、色空間変換部２２により処理等されたフレームの画像データは、例えばＣＰＵ２５によるＳＤＲＡＭコントローラ２６及びバス２８の制御によって、ＳＤＲＡＭ１３に暫定的に格納される。このとき、ＹＣｂＣｒ形式に変換された各画素の画像データは、輝度Ｙ、色差Ｃｂ及び色差ＣｒのデータごとにＳＤＲＡＭ１３に格納される。
【００２７】
第１機能マクロ２３は、このように処理されたフレームの画像データをＳＤＲＡＭ１３から読み込んで、該画像データに対して先行する一の画像処理、例えば該画像データの画像サイズ（解像度）を縮小又は拡大する解像度変換処理を実行する。この第１機能マクロ２３による画像処理後の画像データは、輝度Ｙ、色差Ｃｂ及び色差ＣｒのデータごとにＳＤＲＡＭ１３に暫定的に格納される。
【００２８】
第２機能マクロ２４は、第１機能マクロ２３による画像処理後の画像データをＳＤＲＡＭ１３から読み込んで、該画像データに対して次の画像処理、例えば画像データをＪＰＥＧ方式で圧縮するＪＰＥＧ処理を実行する。この第２機能マクロ２４による画像処理後の画像データは、ＳＤＲＡＭ１３に暫定的に格納される。
【００２９】
そして、全ての画像処理を経て第２機能マクロ２４により最終的にＳＤＲＡＭ１３に格納されたフレームの画像データは、例えばＣＰＵ２５によるＳＤＲＡＭコントローラ２６及びバス２８等の制御によって、前記インターフェース回路２７を通じて携帯型メモリカード１４に格納される。なお、この最終的にＳＤＲＡＭ１３に格納されたフレームの画像データを、表示用のインターフェース回路（図示略）を通じて液晶ディスプレイ（LCD:liquid crystal display）などの表示装置に出力してもよい。
【００３０】
次に、第１及び第２機能マクロ２３，２４について更に説明する。
図２は、第１及び第２機能マクロ２３，２４の電気的構成を示すブロック図である。同図に示すように、第１機能マクロ２３は、第２機能マクロ２４の処理状態を監視するための監視手段としての他機能マクロ処理状態監視回路３１と、ＤＭＡコントローラ３２と、画像データに対して先行する一の画像処理、即ち解像度変換処理を行う機能マクロ演算コア３３とを備えて構成される。また、第２機能マクロ２４は、第１機能マクロ２３の処理状態を監視するための監視手段としての他機能マクロ処理状態監視回路３６と、ＤＭＡコントローラ３７と、画像データに対して次の画像処理、即ちＪＰＥＧ処理を行う機能マクロ演算コア３８とを備えて構成される。そして、これら第１及び第２機能マクロ２３，２４は、他機能マクロ処理状態監視回路３１，３６において電気的に接続されている。
【００３１】
これら第１及び第２機能マクロ２３，２４は、他機能マクロ処理状態監視回路３１，３６間で、それぞれの処理するフレームを表す処理フレーム番号、当該フレームの処理中のデータライン数を表す処理データライン数及び当該フレーム全ての処理の終了を表すフレーム終了フラグの各信号をやりとりする。つまり、これら第１及び第２機能マクロ２３，２４のいずれか一方及び他方は、それぞれが備える他機能マクロ処理状態監視回路３１，３６により、該第１及び第２機能マクロ２３，２４のいずれか他方及び一方が処理するフレーム、当該フレームの処理中のデータライン数及び当該フレームの処理の終了を監視する。なお、各他機能マクロ処理状態監視回路３１，３６は、ＣＰＵ２５によりその動作が制御される。
【００３２】
第１機能マクロ２３の他機能マクロ処理状態監視回路３１は、ＤＭＡコントローラ３２に電気的に接続されており、ＤＭＡコントローラ３２に起動信号（処理開始命令信号）を出力することでこれを起動するとともに、該ＤＭＡコントローラ３２に転送イネーブル信号を出力することでこれによる画像データのＤＭＡ転送を許容する。また、他機能マクロ処理状態監視回路３１は、ＤＭＡコントローラ３２から出力された、第１機能マクロ２３（機能マクロ演算コア３３）の処理するフレームを表す処理フレーム番号及び当該フレーム全ての処理の終了を表すフレーム終了フラグの各信号を入力する。他機能マクロ処理状態監視回路３１は、ＤＭＡコントローラ３２から入力したこれらの信号に基づいて、前述した処理フレーム番号及びフレーム終了フラグの各信号を第２機能マクロ２４の他機能マクロ処理状態監視回路３６に出力する。
【００３３】
ＤＭＡコントローラ３２は、他機能マクロ処理状態監視回路３１からの起動信号により起動されると、他機能マクロ処理状態監視回路３１からの転送イネーブル信号を受けて、ＳＤＲＡＭ１３と機能マクロ演算コア３３との間でフレームの画像データを直にやりとりする。すなわち、ＤＭＡコントローラ３２は、ＳＤＲＡＭコントローラ２６及びバス２８の制御により、その画像処理の対象となる元のフレームの画像データをＳＤＲＡＭ１３から読み込んで、機能マクロ演算コア３３に出力する。また、ＤＭＡコントローラ３２は、ＳＤＲＡＭコントローラ２６及びバス２８の制御により、機能マクロ演算コア３３から入力したその画像処理後の画像データをＳＤＲＡＭ１３に書き戻す。このとき、ＤＭＡコントローラ３２は、ＳＤＲＡＭ１３に書き戻した機能マクロ演算コア３３による画像処理後の画像データを監視するとともに、その監視結果に応じて、前述した処理フレーム番号及びフレーム終了フラグの各信号を他機能マクロ処理状態監視回路３１に出力する。
【００３４】
なお、第１機能マクロ２３は、１つのフレームを構成する複数のデータラインが所定の態様で複数にグループ分けされてなるブロックごとにその画像データを画像処理する。そして、ＤＭＡコントローラ３２は、その画像処理の対象となる元のフレームの画像データをブロックごとにＳＤＲＡＭ１３から読み込んで機能マクロ演算コア３３に出力するとともに、機能マクロ演算コア３３から入力したその画像処理後の当該ブロックの画像データをＳＤＲＡＭ１３に書き戻す。従って、他機能マクロ処理状態監視回路３１は、ＤＭＡコントローラ３２が出力するデータライン数を確認することで、第１機能マクロ２３（機能マクロ演算コア３３）の処理中のブロックデータライン数を確認する。そして、他機能マクロ処理状態監視回路３１は、処理データライン数の信号を第２機能マクロ２４の他機能マクロ処理状態監視回路３６に出力する。
【００３５】
一方、第２機能マクロ２４の他機能マクロ処理状態監視回路３６は、ＤＭＡコントローラ３７に電気的に接続されており、ＤＭＡコントローラ３７に起動信号（処理開始命令信号）を出力することでこれを起動するとともに、該ＤＭＡコントローラ３７に転送イネーブル信号を出力することでこれによる画像データのＤＭＡ転送を許容する。なお、第１機能マクロ２３が処理するデータライン数を監視する他機能マクロ処理状態監視回路３６は、該第１機能マクロ２３と重複して処理し得る処理時間に合わせてＤＭＡコントローラ３７の起動タイミングを図る。また、他機能マクロ処理状態監視回路３６は、ＤＭＡコントローラ３７から出力された、第２機能マクロ２４（機能マクロ演算コア３８）の処理するフレームを表す処理フレーム番号及び当該フレーム全ての処理の終了を表すフレーム終了フラグ及び第２機能マクロ２４が処理したライン数の各信号を入力する。他機能マクロ処理状態監視回路３６は、ＤＭＡコントローラ３７から入力したこれらの信号に基づいて、前述した処理フレーム番号及びフレーム終了フラグ及び処理ライン数の各信号を第１機能マクロ２３の他機能マクロ処理状態監視回路３１に出力する。
【００３６】
ＤＭＡコントローラ３７は、他機能マクロ処理状態監視回路３６からの起動信号により起動されると、他機能マクロ処理状態監視回路３６からの転送イネーブル信号を受けて、ＳＤＲＡＭ１３と機能マクロ演算コア３８との間でフレームの画像データを直にやりとりする。すなわち、ＤＭＡコントローラ３７は、ＳＤＲＡＭコントローラ２６及びバス２８の制御により、その画像処理の対象となる元のフレームの画像データ即ち第１機能マクロ２３による画像処理後の画像データをＳＤＲＡＭ１３から読み込んで、機能マクロ演算コア３８に出力する。また、ＤＭＡコントローラ３７は、ＳＤＲＡＭコントローラ２６及びバス２８の制御により、機能マクロ演算コア３８から入力したその画像処理後の画像データをＳＤＲＡＭ１３に書き戻す。このとき、ＤＭＡコントローラ３７は、ＳＤＲＡＭ１３に書き戻した機能マクロ演算コア３８による画像処理後の画像データを監視するとともに、その監視結果に応じて、前述した処理フレーム番号及びフレーム終了フラグの各信号を他機能マクロ処理状態監視回路３６に出力する。
【００３７】
なお、第２機能マクロ２４は、１つのフレームを構成する複数のデータラインが所定の態様で複数にグループ分けされてなるブロックごとにその画像データを画像処理する。そして、ＤＭＡコントローラ３７は、その画像処理の対象となる元のフレームの画像データをブロックごとにＳＤＲＡＭ１３から読み込んで機能マクロ演算コア３８に出力するとともに、機能マクロ演算コア３８から入力したその画像処理後の当該ブロックの画像データをＳＤＲＡＭ１３に書き戻す。従って、他機能マクロ処理状態監視回路３６は、ＤＭＡコントローラ３７が出力するデータライン数を確認することで、第２機能マクロ２４（機能マクロ演算コア３８）の処理中のブロック、即ちデータライン数を確認する。他機能マクロ処理状態監視回路３６は、処理データライン数の信号を第１機能マクロ２３の他機能マクロ処理状態監視回路３１に出力する。
【００３８】
なお、ＣＰＵ２５は、デジタルカメラ１０の連写時において連続的に処理するフレームの数を表す連続起動フレーム数信号を各他機能マクロ処理状態監視回路３１，３６に出力する（設定手段）。従って、各他機能マクロ処理状態監視回路３１，３６は、ＤＭＡコントローラ３２，３７からの前述した処理フレーム番号及びフレーム終了フラグの各信号に基づいて、連続的に処理するフレームの全ての終了を確認する。
【００３９】
ここで、各他機能マクロ処理状態監視回路３１，３６の動作について総括的に説明する。各他機能マクロ処理状態監視回路３１，３６は、ＣＰＵ２５から連続起動フレーム数信号が入力され起動されると、対応するＤＭＡコントローラ３２，３７に起動信号を出力してこれを起動するとともに、当該ＤＭＡコントローラ３２，３７に転送イネーブル信号を出力してこれらによる画像データのＤＭＡ転送を許容する。
【００４０】
また、他機能マクロ処理状態監視回路３１，３６は、対応するＤＭＡコントローラ３２，３７から出力された処理ライン数および処理フレーム番号及びフレーム終了フラグの各信号を入力するとともに、相手側となる他機能マクロ処理状態監視回路３６，３１に処理フレーム番号、処理データライン数及びフレーム終了フラグの各信号を出力する。併せて、他機能マクロ処理状態監視回路３１，３６は、相手側となる他機能マクロ処理状態監視回路３６，３１から出力されたこれらの信号を入力することで相手側となる他機能マクロ処理状態監視回路３６，３１が属する機能マクロ２４，２３の処理状態、即ちどのフレームのどこのデータライン数を処理中か、あるいは当該フレームを終了したかなどを監視する。以上により、他機能マクロ処理状態監視回路３１，３６は、相手側となる他機能マクロ処理状態監視回路３６，３１との間でハードウェア的に相互に監視しつつ、ＤＭＡコントローラ３２，３７を介して対応する機能マクロ演算コア３３，３８による画像処理前後の画像データをＳＤＲＡＭ１３との間でやりとりする。なお、他機能マクロ処理状態監視回路３１，３６間の相互監視は、ＤＭＡコントローラ３２，３７を介した画像データのやりとりなどのタイミングに合わせて行っても良いし、このタイミングに関係なく随時行っても良い。そして、他機能マクロ処理状態監視回路３１，３６は、連続的に処理するフレームの全ての終了が確認されると、その処理を終了する。
【００４１】
次に、本実施形態の動作について説明する。
図３は、デジタルカメラ１０の連写時において複数（ここでは２つのフレーム「０」，「１」を代表して図示）のフレームを連続的に処理する場合の第１及び第２機能マクロ２３，２４の各出力を示すタイムチャートである。同図に示すように、各フレームは、複数（４つ）のブロックに分割されている。そして、第１機能マクロ２３は、画像処理後の各ブロックの画像データをＳＤＲＡＭ１３に書き戻すべくこれを出力する。そして、第１機能マクロ２３の処理データライン数等を監視する第２機能マクロ２４は、該第１機能マクロ２３によりＳＤＲＡＭ１３に書き戻された画像データをブロックごとに読み込んで画像処理した後、ＳＤＲＡＭ１３に書き戻すべくこれを出力する。
【００４２】
ここで、第２機能マクロ２４の処理データライン数等を監視する第１機能マクロ２３は、先行するフレーム「０」の全ての処理を終了して次のフレーム「１」の処理を開始する際、第２機能マクロ２４が処理する該先行するフレーム「０」の画像データの処理データライン数を確認することで、該第２機能マクロ２４の処理済みの画像データを認識するとともに、該画像データの元となる画像データが暫定的に格納されるＳＤＲＡＭ１３の領域を空き領域として認識することができる。これにより、第１機能マクロ２３は、この認識されたＳＤＲＡＭ１３の空き領域を利用して、次のフレーム「１」の画像処理後の画像データを上書きする。
【００４３】
図４は、第１機能マクロ２３によるフレーム「０」の画像処理後の画像データが書き込まれたＳＤＲＡＭ１３の記憶領域Ｄを模式的に示す説明図である。同図に示すように、この画像データは、輝度Ｙ、色差Ｃｂ及び色差Ｃｒの各データに分けて、ＳＤＲＡＭ１３の３つの領域Ｄ１，Ｄ２，Ｄ３に格納される。なお、図４において、第２機能マクロ２４による処理が終了したフレーム「０」の画像データの領域Ｄ１ａ，Ｄ２ａ，Ｄ３ａには、点線のパターンを付して明示している。同図から明らかなように、第１機能マクロ２３は、第２機能マクロ２４の処理済みの画像データを認識し当該画像データが暫定的に格納されたＳＤＲＡＭ１３の領域Ｄ１ａ，Ｄ２ａ，Ｄ３ａを空き領域として認識することで、当該領域Ｄ１ａ，Ｄ２ａ，Ｄ３ａを次のフレーム「１」の画像処理後の画像データの書き込み領域として利用する。
【００４４】
なお、第１及び第２機能マクロ２３，２４は、ＣＰＵ２５からの連続起動フレーム数信号により、連続的に処理するフレームの数が設定されることで、図３に示すように、先行するフレーム「０」の全ての処理の終了時（時刻ｔ１，ｔ２）に自動的に次のフレーム「１」の処理を開始する。つまり、第１及び第２機能マクロ２３，２４は、従来形態のように先行するフレーム「０」の全ての処理の終了時に、次のフレーム「１」の処理が開始可能かを確認するための割り込み処理を行うことなく当該フレーム「１」の処理を開始する。そして、第１及び第２機能マクロ２３，２４は、先行するフレームの全ての処理の終了時に自動的に次のフレームの処理を開始する動作を、前記設定されたフレームの数に基づく回数分だけ繰り返すことで、連続的に入力される全てのフレームを処理する。
【００４５】
以上詳述したように、本実施形態によれば、以下に示す効果が得られるようになる。
（１）本実施形態では、他機能マクロ処理状態監視回路３１，３６により、前記第１及び第２機能マクロ２３，２４間でそれぞれの処理するフレーム及び該フレームの画像データの処理中のデータライン数が、相互に監視される。従って、例えば第１機能マクロ２３は、先行するフレームの全ての処理を終了して次のフレームの処理を開始する際、第２機能マクロ２４が処理する該先行するフレームの画像データの処理中のデータライン数を確認することで、該第２機能マクロ２４の処理済みの画像データを認識するとともに、該画像データの元となる画像データが暫定的に格納されるＳＤＲＡＭ１３の領域を空き領域として認識することができる。そして、第１機能マクロ２３は、この認識されたＳＤＲＡＭ１３の空き領域を利用して、次のフレームの画像処理後の画像データを上書きすることができるため、ＳＤＲＡＭ１３の使用効率を向上することができる。また、第１機能マクロ２３は、第２機能マクロ２４による先行するフレームの全ての処理の終了を待つことなく、次のフレームの処理をより早期に開始することができる。
【００４６】
（２）本実施形態では、ＣＰＵ２５からの連続起動フレーム数信号の入力により、前記第１及び第２機能マクロ２３，２４に対し、連続的に処理するフレームの数が設定されることで、各機能マクロ２３，２４は、先行するフレームの全ての処理の終了時に自動的に次のフレームの処理を開始する動作を、前記設定されたフレームの数に基づく回数分だけ繰り返せばよい。従って、前記第１及び第２機能マクロ２３，２４は、先行するフレームの全ての処理の終了時に、次のフレームの処理が開始可能かを確認するための割り込み処理を行う必要がないため、当該処理分のオーバーヘッド（負荷）を削減することができる。
【００４７】
（３）本実施形態では、第１及び第２機能マクロ２３，２４は、ＤＭＡコントローラ３２，３７により、ＳＤＲＡＭ１３との間で画像データを直にやりとりすることができる。このため、ＣＰＵ２５の負荷を軽減することができる。
【００４８】
（４）本実施形態では、第２機能マクロ２４は、先行する第１機能マクロ２３が処理するデータライン数を監視することで、当該第１機能マクロ２３によるフレームの全ての処理の終了を待つことなくその処理を開始することができ、全体の処理時間の短縮を図ることができる。
【００４９】
なお、上記実施形態は以下のように変更してもよい。
・ＣＣＤイメージセンサ１１に代えて、ＣＭＯＳイメージセンサを採用してもよい。
・ＳＤＲＡＭ１３に代えて、適宜のＲＡＭを採用してもよい。
【００５０】
・色空間変換部２２は、ＲＧＢ形式である画像データ（ベイヤデータ）をＹＵＶ形式の画像データに変換してもよい。
・前記実施形態において、第１、第２機能マクロ２３，２４は、ノイズや、エッジ強調などの画像処理を行う機能マクロであってもよい。
【００５１】
・前記実施形態においては、画像処理プロセッサ１２を１つのＬＳＩとしたが、該画像処理プロセッサ１２の各構成部材（第１、第２機能マクロ２３，２４等）又はこれらの２つ以上を任意に組み合わせたものとしてもよい。
【００５２】
・前記実施形態において、他機能マクロ処理状態監視回路３１，３６は、対応するＤＭＡコントローラ３２，３７によるＳＤＲＡＭ１３への書き込み回数（又はＳＤＲＡＭ１３からの読み込み回数）を監視して、機能マクロ２３，２４の処理中のデータライン数を確認してもよい。
【００５３】
・前記実施形態において、１つのフレームを複数のブロックに分割する際の各ブロックのデータラインの個数は、例えばＪＰＥＧ処理において８ラインとするなど画像処理に係る機能マクロの処理単位に応じて適宜設定すればよい。
【００５４】
・前記実施形態において、デジタルカメラ１０の単写時であっても、比較的短時間に撮影が繰り返されるなど、複数のフレームを連続的に処理する必要がある場合に本発明を適用してもよい。
【００５５】
・前記実施形態において、イメージスキャナで写真や印刷物を連続的に取り込むなど、複数のフレームの画像データを画像処理する場合に本発明を適用してもよい。
・前記実施形態において、画像処理に関して順序づけられる機能マクロの個数は３つ以上であってもよい。この場合、画像処理に関して隣り合う順序の任意の２つの機能マクロ間でそれぞれの処理するフレーム及び該フレームの画像データの処理中のデータライン数を相互に監視させればよい。
【図面の簡単な説明】
【００５６】
【図１】（ａ）（ｂ）は、本発明に係るデジタルカメラの構成を示すブロック図。
【図２】本実施形態の各機能マクロの構成を示すブロック図。
【図３】本実施形態の第１及び第２機能マクロの出力を示すタイムチャート。
【図４】第１機能マクロによるフレームの記憶領域を示す説明図。
【図５】従来形態の第１及び第２機能マクロの出力を示すタイムチャート。
【符号の説明】
【００５７】
１２  画像処理プロセッサ
２３  第１機能マクロ（機能マクロ）
２４  第２機能マクロ（機能マクロ）
２５  ＣＰＵ（設定手段）
３１，３６  他機能マクロ処理状態監視回路（監視手段）
３２，３７  ＤＭＡコントローラ
３３，３８  機能マクロ演算コア
【図１】
2008047038.tif 000003
【図２】
2008047038.tif 000004
【図３】
2008047038.tif 000005
【図４】
2008047038.tif 000006
【図５】
2008047038.tif 000007