(57)【要約】【課題】回路規模の増大やシステムの破綻を防止しつつメモリのキャリブレーション処理を実行しうる画像処理装置を提供する。【解決手段】周期的に入力される撮像データから第１の画像データ及び第２の画像データを生成する第１の画像処理部と、第１の画像データを記録する第１のメモリ部と、第２の画像データを記録する第２のメモリ部と、第１のメモリ部及び第２のメモリ部の動作タイミングを調整するキャリブレーション処理を実行するメモリ制御部と、メモリ制御部にキャリブレーション処理を実行するタイミングを指示するタイミング調整部と、を有し、タイミング調整部は、第１のメモリ部のキャリブレーション処理を、一定周期の複数の期間のうちの第１の期間に実行するように指示し、第２のメモリ部のキャリブレーション処理を、複数の期間のうちの第１の期間とは異なる第２の期間に実行するように指示する。【選択図】図１
2019134240.tif 000002
【特許請求の範囲】
【請求項１】
周期的に入力される撮像データから第１の画像データ及び第２の画像データを生成する第１の画像処理部と、
前記第１の画像データを記録する第１のメモリ部と、
前記第２の画像データを記録する第２のメモリ部と、
前記第１のメモリ部及び前記第２のメモリ部の動作タイミングを調整するキャリブレーション処理を実行するメモリ制御部と、
前記メモリ制御部に前記キャリブレーション処理を実行するタイミングを指示するタイミング調整部と、を有し、
前記タイミング調整部は、前記第１のメモリ部の前記キャリブレーション処理を、一定周期の複数の期間のうちの第１の期間に実行するように指示し、前記第２のメモリ部の前記キャリブレーション処理を、前記複数の期間のうちの前記第１の期間とは異なる第２の期間に実行するように指示する
ことを特徴とする画像処理装置。
【請求項２】
第３のメモリ部と、
前記第３のメモリ部に記録された第３の画像データに対して画像処理を行う第２の画像処理部と、を更に有し、
前記メモリ制御部は、前記第３のメモリ部の動作タイミングを調整するキャリブレーション処理を更に実行し、
前記タイミング調整部は、前記第３のメモリ部の前記キャリブレーション処理を、前記複数の期間のうちの前記第１の期間及び前記第２の期間とは異なる第３の期間に実行するように指示する
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記第３のメモリ部は、前記第１のメモリ部に記録された前記第１の画像データに対して第３の画像処理部で画像処理を行うことにより生成された前記第３の画像データを記録する
ことを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記第２の画像処理部は、前記第３の画像データに対して画像処理を行い、表示デバイスに表示するための表示データを生成する
ことを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記第２の画像処理部は、前記第３のメモリ部の前記キャリブレーション処理の期間に前記表示デバイスに送信する前記表示データを蓄積しておくためのバッファを有する
ことを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記第２の画像処理部は、前記第１の画像データに、前記第３の画像データを重畳する重畳処理を実行し、表示デバイスに表示するための表示データを生成する
ことを特徴とする請求項２記載の画像処理装置。
【請求項７】
前記第３の画像データは、ＯＳＤデータである
ことを特徴とする請求項６記載の画像処理装置。
【請求項８】
前記第２の画像処理部は、前記第１のメモリ部又は前記第３のメモリ部の前記キャリブレーション処理の期間に前記表示デバイスに送信する前記表示データを蓄積しておくためのバッファを有する
ことを特徴とする請求項６又は７記載の画像処理装置。
【請求項９】
前記第１の画像処理部は、第１の周期で画像処理を行い、
前記第２の画像処理部は、前記第１の周期とは異なる第２の周期で画像処理を行い、
前記タイミング調整部は、前記第１の周期及び前記第２の周期のうちの長い方の周期を単位として、前記第１のメモリ部、前記第２のメモリ部及び前記第３のメモリ部の前記キャリブレーション処理を実行するタイミングを指示する
ことを特徴とする請求項２乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
同期信号を生成する同期信号生成手段と、
前記同期信号生成手段から出力される同期信号を基に、周期カウントを行う周期カウント手段と、を更に有し、
前記第１の画像処理部は、前記同期信号生成手段から出力される同期信号を基に画像処理を行い、
前記タイミング調整部は、
予め設定した周期カウント値と前記周期カウント手段の値が一致した周期タイミングで前記キャリブレーション処理を実行し、
複数の前記メモリ部に対する前記タイミング調整部の周期カウント値を異なる値に設定することで、
前記第２のメモリ部の前記キャリブレーション処理を、前記複数の期間のうちの前記第１の期間とは異なる前記第２の期間に実行するように指示する
ことを特徴とする請求項１記載の画像処理装置。
【請求項１１】
第１の同期信号を生成する第１の同期信号生成手段と、
第２の同期信号を生成する第２の同期信号生成手段と、
前記第１の同期信号と前記第２の同期信号とを比較し、周期が長い方の同期信号を選択し第３の同期信号として出力する同期信号選択手段と、
前記同期信号生成手段から出力される同期信号を基に、周期カウントを行う周期カウント手段と、を更に有し、
前記タイミング調整部は、
予め設定した周期カウント値と前記周期カウント手段の値が一致した周期タイミングで前記キャリブレーション処理を実行し、
複数の前記メモリ部に対する前記タイミング調整部の周期カウント値を異なる値に設定することで、
前記第２のメモリ部の前記キャリブレーション処理を、前記複数の期間のうちの前記第１の期間とは異なる前記第２の期間に実行するように指示する
ことを特徴とする請求項２乃至８のいずれか１項に記載の画像処理装置。
【請求項１２】
前記第１の画像処理部は、前記第１のメモリ部又は前記第２のメモリ部の前記キャリブレーション処理の期間に前記第１のメモリ部又は前記第２のメモリ部に書き込まれるべきデータを蓄積しておくためのバッファを有する
ことを特徴とする請求項１乃至１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記第１の画像データは、前記撮像データに対して所定の画像処理を施した画像データであり、前記第２の画像データは、前記第１の画像データの生成の際の画像処理に用いられる補助データである
ことを特徴とする請求項１乃至１２のいずれか１項に記載の画像処理装置。
【請求項１４】
周期的に入力される撮像データから第１の画像データ及び第２の画像データを生成する第１の画像処理部と、
前記第１の画像データを記録する第１のメモリ部と、
前記第２の画像データを記録する第２のメモリ部と、
前記第１のメモリ部に記録された前記第１の画像データに対して画像処理を行い、第３の画像データを生成する第２の画像処理部と、
前記第３の画像データを記録する第３のメモリ部と、
前記第３のメモリ部に記録された前記第３の画像データに対して画像処理を行い、表示デバイスに表示するための表示データを生成する第３の画像処理部と、
前記第１のメモリ部、前記第２のメモリ部及び前記第３のメモリ部の動作タイミングを調整するキャリブレーション処理を実行するメモリ制御部と、
前記メモリ制御部に前記キャリブレーション処理を実行するタイミングを指示するタイミング調整部と、を有し、
前記タイミング調整部は、前記第１のメモリ部及び前記第２のメモリ部の前記キャリブレーション処理を、一定周期の複数の期間のうちの一の期間に同じタイミングで実行するように指示し、前記第３のメモリ部の前記キャリブレーション処理を、前記一の期間に、前記第１のメモリ部及び前記第２のメモリ部の前記キャリブレーション処理とは異なるタイミングで実行するように指示する
ことを特徴とする画像処理装置。
【請求項１５】
前記タイミング調整部は、前記第１のメモリ部への前記第１の画像データの書き込み及び前記第２のメモリ部に記憶された前記第２の画像データに基づく補助データの生成処理の完了に応じて、前記メモリ制御部に、前記第１のメモリ部及び前記第２のメモリ部の前記キャリブレーション処理の実行を指示する
ことを特徴とする請求項１４記載の画像処理装置。
【請求項１６】
前記タイミング調整部は、前記表示デバイスにおけるＶブランキング期間に、前記第３のメモリ部の前記キャリブレーション処理の実行を指示する
ことを特徴とする請求項１４又は１５記載の画像処理装置。
【請求項１７】
撮像データから第１の画像データ及び第２の画像データを生成する第１の画像処理部と、
前記第１の画像データに対して画像処理を行い、第３の画像データを生成する第２の画像処理部と、
前記第３の画像データに対して画像処理を行い、表示デバイスに表示するための表示データを生成する第３の画像処理部と、
前記第１の画像データ、前記第２の画像データ及び前記第３の画像データを一時的に記録するメモリ部と、
前記メモリ部の動作タイミングを調整するキャリブレーション処理を実行するメモリ制御部と、
前記メモリ制御部に前記キャリブレーション処理を実行するタイミングを指示するタイミング調整部と、を有し、
前記タイミング調整部は、予め設定されたキャリブレーション禁止期間を除く所定の期間に、前記メモリ部の前記キャリブレーション処理の実行を指示する
ことを特徴とする画像処理装置。
【請求項１８】
前記キャリブレーション禁止期間は、前記メモリ部に前記第１の画像データを書き込む期間及び前記第２の画像データに基づき補助データを生成する期間である
ことを特徴とする請求項１７記載の画像処理装置。
【請求項１９】
前記第３の画像処理部は、前記メモリ部の前記キャリブレーション処理の期間に前記表示デバイスに送信する前記表示データを蓄積しておくためのバッファを有し、
前記キャリブレーション禁止期間は、前記バッファに前記表示データが蓄積されるまでの期間である
ことを特徴とする請求項１７記載の画像処理装置。
【請求項２０】
前記キャリブレーション禁止期間は、前記表示データを前記表示デバイスに転送する期間である
ことを特徴とする請求項１７記載の画像処理装置。
【請求項２１】
前記第１の画像処理部は、前記メモリ部の前記キャリブレーション処理の期間に前記メモリ部に書き込まれるべきデータを蓄積しておくための第１のバッファを有し、
前記第３の画像処理部は、前記メモリ部の前記キャリブレーション処理の期間に前記表示デバイスに送信する前記表示データを蓄積しておくための第２のバッファを有し、
前記キャリブレーション禁止期間は、前記第２の画像データに基づき補助データを生成し前記第１のバッファに蓄積する期間及び前記第２のバッファに前記表示データが蓄積されるまでの期間である
ことを特徴とする請求項１７記載の画像処理装置。
【請求項２２】
前記第３の画像処理部は、前記メモリ部の前記キャリブレーション処理の期間に前記表示デバイスに送信する前記表示データを蓄積しておくためのバッファを有し、
前記キャリブレーション禁止期間は、前記第２の画像データに基づき補助データを生成する期間及び前記バッファに前記表示データが蓄積されるまでの期間である
ことを特徴とする請求項１７記載の画像処理装置。
【請求項２３】
被写体像から撮像データを生成するセンサ部と、
前記センサ部から出力される前記撮像データの画像処理を実行する請求項１乃至２２のいずれか１項に記載の画像処理装置と
を有することを特徴とする撮像装置。
【請求項２４】
周期的に入力される撮像データから第１の画像データ及び第２の画像データを生成する第１の画像処理部と、前記第１の画像データを記録する第１のメモリ部と、前記第２の画像データを記録する第２のメモリ部と、前記第１のメモリ部及び前記第２のメモリ部の動作タイミングを調整するキャリブレーション処理を実行するメモリ制御部と、を有する画像処理装置におけるメモリ部のキャリブレーション方法であって、
前記第１のメモリ部の前記キャリブレーション処理を、一定周期の複数の期間のうちの第１の期間に実行し、
前記第２のメモリ部の前記キャリブレーション処理を、前記複数の期間のうちの前記第１の期間とは異なる第２の期間に実行する
ことを特徴とするキャリブレーション方法。
【請求項２５】
前記画像処理装置は、第３のメモリ部と、前記第３のメモリ部に記録された第３の画像データに対して画像処理を行う第２の画像処理部と、を更に有し、前記メモリ制御部は、前記第３のメモリ部の動作タイミングを調整するキャリブレーション処理を更に実行するように構成されており、
前記第３のメモリ部の前記キャリブレーション処理を、前記複数の期間のうちの前記第１の期間及び前記第２の期間とは異なる第３の期間に実行する
ことを特徴とする請求項２４記載のキャリブレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関する。
【背景技術】
【０００２】
ＣＣＤイメージセンサやＣＭＯＳイメージセンサなどにより取得した画像は、画像処理装置において所定の処理が施された後、ＬＣＤ（Liquid Crystal Display）やＥＶＦ（Electrical View Finder）などの表示デバイスに表示される。その際に画像処理装置が行う処理としては、センサ由来のノイズに対する補正処理、輝度・色生成処理や幾何変形などの画像処理、リサイズ処理やガンマ処理といった表示処理が挙げられる。画像処理装置がこれら処理を行う際には、データを一時的に記録するための記録デバイスとしてＤＲＡＭ（Dynamic Random Access Memory）が用いられている。
【０００３】
近年、デジタルカメラ等の画像処理装置で扱う画像の多画素化に伴い、ＤＲＡＭなどの記録デバイスも大容量化・高速化している。また、モバイル機器向けに高速且つ省電力なＤＲＡＭも登場している。このようなＤＲＡＭとしては、例えば、ＬＰＤＤＲ（Low-Power-Double-Data-Rate）３−ＳＤＲＡＭやＬＰＤＤＲ４−ＳＤＲＡＭなどが挙げられる。これらＤＲＡＭでは、ストローブ信号の立ち上がりや立下りに同期してデータ信号をラッチしデータの送受信を行うが、システム全体の温度変化や電圧変化などに伴い、ストローブ信号とデータ信号との間にタイミングのずれが生じることがある。そこで、書き込みや読み出しなどの通常のメモリアクセス動作を定期的に中断し、ストローブ信号とデータ信号との間のタイミング調整を行うキャリブレーション用のトレーニングが行われている。
【０００４】
しかしながら、キャリブレーション処理を実行している間はＤＲＡＭへのデータの書き込み／読み出しを行うことができないため、キャリブレーション処理がデータの高速入出力の妨げとなってしまう。画像処理装置においては、キャリブレーション処理がデータアクセスの妨げになることによって、動画像の処理時には１フレームの画像が一定時間以内に処理できない可能性や、静止画像に対しては連写枚数に影響を与える可能性がある。
【０００５】
特許文献１には、キャリブレーション処理によってデータアクセスが妨げられるのを防止するための技術が記載されている。特許文献１では、メモリ装置内にメモリセルとは別にレジスタセットを設け、メモリセルへのアクセス不可期間にはレジスタセットにアクセスを行うようにすることで、データアクセスを阻害することなくキャリブレーション処理を可能にしている。
【０００６】
また、画像処理装置の多画素化・データ量の増加に対応すべく記録デバイスを複数のメモリ部で構成した場合には、メモリ部の個数分のキャリブレーション処理が非同期に発生するため、動画像や静止画像への影響がより顕著になる。特許文献２には、複数のメモリ部を実装するシステムにおいて、これら複数のメモリ部のキャリブレーション処理を同時に行う技術が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】国際公開第１０／１００６８５号公報
【特許文献２】特表２０１２−５３０９７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示されている技術では、メモリ装置側にバッファとなるレジスタセットを設けるため、その分メモリ装置の回路規模が増大する。複数のメモリを有するメモリ装置においては、メモリの個数分のレジスタセットが必要となり、回路規模が更に増加することになる。そのため、システムの小型化を妨げる可能性があった。また、メモリのバッファ容量は有限であることに起因して、センサからの撮像データの取りこぼしや表示デバイスでの表示乱れが生じることがあった。
【０００９】
また、特許文献２に開示されている技術では、複数のメモリに対して同時にキャリブレーション処理を実行するため、複数のメモリへのアクセスを同時に実行できない期間が存在することになる。これにより、画像データの生成の遅れや表示データの欠落による表示デバイスでの表示乱れが生じることがあった。
【００１０】
本発明の目的は、メモリを備える画像処理装置において、回路規模の増大やシステムの破綻を防止しつつメモリのキャリブレーション処理を実行しうる画像処理装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の一観点によれば、周期的に入力される撮像データから第１の画像データ及び第２の画像データを生成する第１の画像処理部と、前記第１の画像データを記録する第１のメモリ部と、前記第２の画像データを記録する第２のメモリ部と、前記第１のメモリ部及び前記第２のメモリ部の動作タイミングを調整するキャリブレーション処理を実行するメモリ制御部と、前記メモリ制御部に前記キャリブレーション処理を実行するタイミングを指示するタイミング調整部と、を有し、前記タイミング調整部は、前記第１のメモリ部の前記キャリブレーション処理を、一定周期の複数の期間のうちの第１の期間に実行するように指示し、前記第２のメモリ部の前記キャリブレーション処理を、前記複数の期間のうちの前記第１の期間とは異なる第２の期間に実行するように指示する画像処理装置が提供される。
【００１２】
また、本発明の他の一観点によれば、周期的に入力される撮像データから第１の画像データ及び第２の画像データを生成する第１の画像処理部と、前記第１の画像データを記録する第１のメモリ部と、前記第２の画像データを記録する第２のメモリ部と、前記第１のメモリ部に記録された前記第１の画像データに対して画像処理を行い、第３の画像データを生成する第２の画像処理部と、前記第３の画像データを記録する第３のメモリ部と、前記第３のメモリ部に記録された前記第３の画像データに対して画像処理を行い、表示デバイスに表示するための表示データを生成する第３の画像処理部と、前記第１のメモリ部、前記第２のメモリ部及び前記第３のメモリ部の動作タイミングを調整するキャリブレーション処理を実行するメモリ制御部と、前記メモリ制御部に前記キャリブレーション処理を実行するタイミングを指示するタイミング調整部と、を有し、前記タイミング調整部は、前記第１のメモリ部及び前記第２のメモリ部の前記キャリブレーション処理を、一定周期の複数の期間のうちの一の期間に同じタイミングで実行するように指示し、前記第３のメモリ部の前記キャリブレーション処理を、前記一の期間に、前記第１のメモリ部及び前記第２のメモリ部の前記キャリブレーション処理とは異なるタイミングで実行するように指示する画像処理装置が提供される。
【００１３】
また、本発明の更に他の一観点によれば、撮像データから第１の画像データ及び第２の画像データを生成する第１の画像処理部と、前記第１の画像データに対して画像処理を行い、第３の画像データを生成する第２の画像処理部と、前記第３の画像データに対して画像処理を行い、表示デバイスに表示するための表示データを生成する第３の画像処理部と、前記第１の画像データ、前記第２の画像データ及び前記第３の画像データを一時的に記録するメモリ部と、前記メモリ部の動作タイミングを調整するキャリブレーション処理を実行するメモリ制御部と、前記メモリ制御部に前記キャリブレーション処理を実行するタイミングを指示するタイミング調整部と、を有し、前記タイミング調整部は、予め設定されたキャリブレーション禁止期間を除く所定の期間に、前記メモリ部の前記キャリブレーション処理の実行を指示する画像処理装置が提供される。
【００１４】
また、本発明の更に他の一観点によれば、周期的に入力される撮像データから第１の画像データ及び第２の画像データを生成する第１の画像処理部と、前記第１の画像データを記録する第１のメモリ部と、前記第２の画像データを記録する第２のメモリ部と、前記第１のメモリ部及び前記第２のメモリ部の動作タイミングを調整するキャリブレーション処理を実行するメモリ制御部と、を有する画像処理装置におけるメモリ部のキャリブレーション方法であって、前記第１のメモリ部の前記キャリブレーション処理を、一定周期の複数の期間のうちの第１の期間に実行し、前記第２のメモリ部の前記キャリブレーション処理を、前記複数の期間のうちの前記第１の期間とは異なる第２の期間に実行するキャリブレーション方法が提供される。
【発明の効果】
【００１５】
本発明によれば、メモリを備える画像処理装置において、回路規模の増大やシステムの破綻を防止しつつメモリのキャリブレーション処理を実行することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１実施形態による撮像装置の概略構成を示すブロック図である。
【図２】本発明の第１実施形態による撮像装置における各処理部のメモリ部へのアクセス態様を示す図である。
【図３】本発明の第１実施形態による画像処理装置におけるキャリブレーションタイミング調整処理の処理フローを示す図である。
【図４】本発明の第１実施形態による画像処理装置におけるメモリ部のキャリブレーション処理のタイミングを示す図である。
【図５】本発明の第２実施形態による画像処理装置におけるキャリブレーションタイミング調整処理の処理フローを示す図である。
【図６】本発明の第２実施形態による画像処理装置におけるメモリ部のキャリブレーション処理のタイミングを示す図である。
【図７】本発明の第３実施形態による画像処理装置におけるキャリブレーションタイミング調整処理の処理フローを示す図である。
【図８】本発明の第３実施形態による画像処理装置におけるメモリ部のキャリブレーション処理のタイミングを示す図である。
【図９】本発明の第４実施形態による画像処理装置におけるメモリ部のキャリブレーション処理のタイミングを示す図（その１）である。
【図１０】本発明の第４実施形態による画像処理装置におけるメモリ部のキャリブレーション処理のタイミングを示す図（その２）である。
【図１１】本発明の第４実施形態による画像処理装置におけるメモリ部のキャリブレーション処理のタイミングを示す図（その３）である。
【図１２】本発明の第４実施形態による画像処理装置におけるメモリ部のキャリブレーション処理のタイミングを示す図（その４）である。
【図１３】本発明の第５実施形態による撮像装置の概略構成を示すブロック図である。
【図１４】本発明の第５実施形態による画像処理装置におけるメモリインターフェース部の概略構成を示すブロック図である。
【図１５】本発明の第５実施形態による画像処理装置におけるメモリ部のトレーニングのタイミングを示す図である。
【図１６】本発明の第６実施形態による撮像装置の概略構成を示すブロック図である。
【図１７】本発明の第６実施形態による画像処理装置におけるメモリ部のトレーニングのタイミングを示す図（その１）である。
【図１８】本発明の第６実施形態による画像処理装置におけるメモリ部のトレーニングのタイミングを示す図（その２）である。
【発明を実施するための形態】
【００１７】
［第１実施形態］
本発明の第１実施形態による画像処理装置について、図１乃至図４を用いて説明する。なお、本実施形態では、画像処理装置を、撮像装置の一部の機能ブロックとして用いた場合を例にして説明する。ここでは、撮像装置としてデジタルカメラを例示して説明するが、デジタルビデオカメラ、スマートフォン、カメラ付き携帯電話、車載カメラ等の他の撮像装置に適用することも可能である。
【００１８】
図１は、本実施形態による画像処理装置を備える撮像装置の構成例を示すブロック図である。撮像装置１０００は、図１に示すように、センサ１００と、撮像補正部１０１と、画像処理部１０３と、表示処理部１０４と、表示部１０５と、を備えている。また、撮像装置１０００は、データ転送部１０７と、バス１０８と、メモリ制御部１０９と、メモリ部１１０と、不揮発性メモリ制御部１１１と、不揮発性メモリ１１２と、を備えている。また、撮像装置１０００は、ＣＰＵ１１３と、表示デバイス１１４と、タイミング調整部１１５と、を備えている。図１には示していないが、撮像装置１０００は、センサ１００からのアナログ信号をデジタル信号に変換するＡＤ変換器、画像データを例えばＪＰＥＧ形式やＭＰＥＧ形式などに圧縮し或いは圧縮されたデータを伸張する圧縮伸張部等を更に備えていてもよい。
【００１９】
センサ１００は、受光した被写体像を電気信号に変換して撮像データを生成する撮像素子であり、例えばＣＣＤイメージセンサやＣＭＯＳイメージセンサ等により構成される。センサ１００は、撮像補正部１０１に接続されており、センサ１００が撮影した撮像データは撮像補正部１０１へと出力される。動画撮影の場合には、撮像データが周期的にセンサ１００から撮像補正部１０１へと出力される。また、センサ１００は、タイミング調整部１１５に接続されており、所定のタイミング信号、例えば１フレームの開始のタイミングを示す信号をタイミング調整部１１５に出力する。
【００２０】
撮像補正部１０１は、センサ１００から入力される撮像データに対して、画素補正、黒レベル補正、シェーディング補正、傷補正などの補正処理を行い、補正済みの画像データを出力する機能ブロックである。また、撮像補正部１０１は、画像処理部１０３で画像データを処理する際にホワイトバランスの調整などに使用する補助パラメータの生成のための補助データ（第２の画像データ）の生成を行う。撮像補正部１０１は、データ転送部１０７に接続されており、補正処理を行った画像データ及び補助データを、データ転送部１０７及びメモリ制御部１０９を介してメモリ部１１０に書き出す。
【００２１】
また、撮像補正部１０１は、バッファ１０２を備えている。バッファ１０２は、メモリ部１１０のキャリブレーション処理中であって、メモリ部１１０へのアクセスができない期間にセンサ１００から供給される画像データを溜めておくためのバッファである。バッファ１０２の容量は、キャリブレーション処理に要する時間、キャリブレーション間隔、センサ１００からの画像データの転送速度等を考慮して決定される。例えば、キャリブレーション処理中にセンサ１００から転送されるデータが２ラインであり、キャリブレーション間隔が１フレーム（１６．６ｍｓ）に１回以下であれば、少なくとも２ライン分のデータを保持するに十分なバッファ１０２を用意する。同様に、キャリブレーション間隔が１フレームに２回であれば４ライン分、３回であれば６ライン分のデータを保持するに十分な容量のバッファ１０２を用意する。なお、本実施形態では、キャリブレーション間隔が１フレームに１回以下である場合を例にして説明を行う。
【００２２】
画像処理部１０３は、ホワイトバランス調整、倍率色収差補正、ガンマ補正、輝度・色生成処理、幾何変形、ノイズリダクションなどの複数の処理を実行し、画像データに対して適切な画像処理を施す機能ブロックである。画像処理部１０３は、データ転送部１０７に接続されており、メモリ制御部１０９及びデータ転送部１０７を介してメモリ部１１０から画像データを受信する。そして、画像処理部１０３は、所定の画像処理を施した画像データ（第１の画像データ）を、データ転送部１０７及びメモリ制御部１０９を介してメモリ部１１０に書き出す。
【００２３】
なお、本明細書では、撮像補正部１０１と画像処理部１０３とを総括して画像処理部（第１の画像処理部）と呼ぶことがある。
【００２４】
表示処理部１０４（第３の画像処理部）は、拡縮といったリサイズや表示デバイス１１４に合わせた色域変換など、画像処理部１０３で処理した画像データに対して適切な画像処理を施す機能ブロックである。表示処理部１０４は、データ転送部１０７に接続されており、メモリ制御部１０９及びデータ転送部１０７を介してメモリ部１１０から画像データ（第１の画像データ）を受信する。そして、表示処理部１０４は、所定の画像処理を施した画像データ（第３の画像データ）を、データ転送部１０７及びメモリ制御部１０９を介してメモリ部１１０に書き出す。
【００２５】
表示部１０５（第２の画像処理部）は、画像データ（第３の画像データ）に対して表示デバイス１１４に合わせたフォーマット変換などの処理を施す機能ブロックである。表示部１０５が実行する処理として、表示デバイス１１４の表示サイズに合わせるために表示画像の周辺に固定色（例えば黒塗り）の画素を追加する処理が挙げられる。また、表示部１０５が実行する他の処理として、表示データへの撮影時間などの埋め込み処理、いわゆるＯＳＤ（On-Screen Display）画像を重畳する処理が挙げられる。表示部１０５は、データ転送部１０７に接続されており、メモリ制御部１０９及びデータ転送部１０７を介してメモリ部１１０から画像データを受信する。そして、表示部１０５は、画像データに対して所定の処理を施した表示データを、表示デバイス１１４へと転送する。
【００２６】
また、表示部１０５は、バッファ１０６を備えている。バッファ１０６は、メモリ部１１０のキャリブレーション処理中であって、メモリ部１１０へのアクセスができない期間に表示デバイス１１４に表示データを送信し続けられるように表示データを蓄積しておくためのバッファである。バッファ１０６の容量は、キャリブレーション処理に要する時間、表示デバイス１１４が表示データを表示するのに要する時間等を考慮して適宜決定される。例えば、キャリブレーション時間が、表示デバイス１１４が１ラインの表示データを表示する時間に相当する場合には、少なくとも１ライン分の表示データを保持するに十分な容量のバッファ１０６を用意する。表示部１０５は、タイミング調整部１１５に接続されており、バッファ１０６に表示データが溜まったタイミングを示す信号を、タイミング調整部１１５に供給する。
【００２７】
データ転送部１０７は、データ転送を行う複数のＤＭＡＣ（Direct Memory Access Controller）の不図示のＷＲＤＭＡＣ（Write Direct Memory Access Controller）及びＲＤＤＭＡＣ（Read Direct Memory Access Controller）により構成される。データ転送部１０７に出力された画像データは、ＷＲＤＭＡＣによってバス１０８に出力され、メモリ制御部１０９を介してメモリ部１１０に一時的に記憶される。メモリ部１１０に一時的に記憶された画像データは、メモリ制御部１０９を介してバス１０８に出力され、データ転送部１０７のＲＤＤＭＡＣによって撮像補正部１０１、画像処理部１０３、表示処理部１０４、表示部１０５へと出力される。
【００２８】
バス１０８は、不図示のシステムバスとデータバスとから構成され、各々独立したバス構成となっている。
【００２９】
メモリ制御部１０９は、バス１０８及びメモリ部１１０に接続されており、ＣＰＵ１１３やデータ転送部１０７からの指示に応じてメモリ部１１０へのデータの書き込みやメモリ部１１０からのデータの読み出しを制御する機能ブロックである。また、メモリ制御部１０９は、タイミング調整部１１５に接続されており、タイミング調整部１１５からキャリブレーション処理の開始通知を受信する。メモリ制御部１０９は、メモリ部１１０の動作タイミングを調整するキャリブレーション処理を実行する。具体的には、メモリ制御部１０９は、キャリブレーション処理の開始通知を受信すると、メモリ部１１０への通常のメモリアクセス動作を停止する。そして、メモリ部１１０に対し、ストローブ信号とデータ信号との間のタイミング調整を行うキャリブレーション処理を実行する。キャリブレーション処理は、後述するタイミング調整部１１５やＣＰＵ１１３からの指示に応じて実行する。また、メモリ制御部１０９は、図示しないカウンタを有しており、タイミング調整部１１５やＣＰＵ１１３からの指示を受けてカウントを開始し、所定のカウント値（周期カウント値）に達したときにキャリブレーション処理を実行する機能を備えている。
【００３０】
メモリ部１１０は、所定枚数の静止画像や所定時間の動画像、音声等のデータ、ＣＰＵ１１３の動作用の定数、プログラム等を格納するのに十分な記憶容量を備える記憶装置であり、ＤＲＡＭなどのメモリ素子により構成される。メモリ部１１０は、複数のメモリにより構成することも可能である。本実施形態では、４つのメモリ（メモリＡ、メモリＢ、メモリＣ、メモリＤ）によりメモリ部１１０を構成する場合を例にして説明を行う。
【００３１】
不揮発性メモリ制御部１１１は、バス１０８及び不揮発性メモリ１１２に接続されており、ＣＰＵ１１３からの指示に応じて不揮発性メモリ１１２へのデータの書き込みや不揮発性メモリ１１２からのデータの読み出しを制御する機能ブロックである。不揮発性メモリ１１２は、電気的に消去・記録可能なメモリ素子であり、例えばＥＥＰＲＯＭ等により構成される。不揮発性メモリ１１２には、ＣＰＵ１１３の動作用の定数、プログラム等が記憶される。
【００３２】
ＣＰＵ１１３は、デジタルカメラの全体の動作制御を司るマイクロコンピュータなどで構成され、撮像装置１０００を構成する各機能ブロックに対して様々な指示を行い、各種の制御処理を実行する。具体的には、ＣＰＵ１１３は、バス１０８を介して接続された撮像補正部１０１、画像処理部１０３、表示処理部１０４、表示部１０５、データ転送部１０７、メモリ制御部１０９、不揮発性メモリ制御部１１１を制御する。また、ＣＰＵ１１３は、プログラム上で予め指定されたキャリブレーション処理の開始タイミングや禁止期間、制御の開始や終了のタイミング、不図示の割り込みコントローラからの割り込みタイミング等のタイミング信号を、タイミング調整部１１５に供給する。ＣＰＵ１１３は、不揮発性メモリ１１２に記録されたプログラムを実行することで、本実施形態の各処理を実現する。
【００３３】
表示デバイス１１４は、表示部１０５から供給された表示データを、ＬＣＤやＥＶＦなどに表示する。また、表示デバイス１１４は、タイミング調整部１１５に接続されており、１フレームの開始のタイミングを示す信号を、タイミング調整部１１５に供給する。
【００３４】
タイミング調整部１１５は、センサ１００、表示部１０５、表示デバイス１１４、ＣＰＵ１１３から所定の信号を受信し、メモリ制御部１０９へキャリブレーション処理の開始通知を行う機能ブロックである。センサ１００及び表示デバイス１１４から受信する信号としては、例えば、１フレームの開始のタイミングを示す信号が挙げられる。表示部１０５から受信する信号としては、例えば、バッファ１０６に表示データが溜まったタイミングを示す信号が挙げられる。ＣＰＵ１１３から受信する信号としては、例えば、プログラム上で予め指定されたキャリブレーション処理の開始タイミングや禁止期間、制御の開始や終了のタイミング、不図示の割り込みコントローラからの割り込みタイミング等のタイミング信号が挙げられる。
【００３５】
また、タイミング調整部１１５は、これら信号を受け取ってから所定の時間が経過した後にキャリブレーション処理の開始通知を行うように構成することも可能である。例えば、タイミング調整部１１５に図示しないカウンタを設け、信号を受信したタイミングからカウントを開始し、所定のカウント値（周期カウント値）に達したとき（周期タイミング）にキャリブレーション処理の開始通知するように構成することができる。
【００３６】
図２は、各処理部のメモリ部１１０へのアクセス態様を示す図である。ここでは、メモリ部１１０が、メモリＡ２００、メモリＢ２０１、メモリＣ２０２、メモリＤ２０３の４つのメモリにより構成されている場合を想定する。
【００３７】
センサ１００は、取得した撮像データを撮像補正部１０１に出力する。撮像補正部１０１は、センサ１００から受信した撮像データに対して所定の補正処理を施し、補正済み画像データをメモリＡ２００に書き込む。同時に、撮像補正部１０１は、センサ１００から受信した画像データから補助データ（第２の画像データ）を作成し、作成した補助データをメモリＢ２０１に書き込む。
【００３８】
画像処理部１０３は、メモリＡ２００に格納された補正済み画像データを読み出し、読み出した補正済み画像データに対して所定の画像処理を施し、画像処理済み画像データ（第１の画像データ）をメモリＡ２００に書き込む。
【００３９】
表示処理部１０４（第３の画像処理部）は、メモリＡ２００に格納された画像処理済み画像データを読み出し、読み出した画像処理済み画像データに対して所定の表示処理を施して表示データを生成し、生成した表示データをメモリＣ２０２に書き込む。
【００４０】
表示部１０５（第２の画像処理部）は、メモリＣ２０２に格納された表示データを読み出し、読み出した表示データにＯＳＤ画像を重畳する重畳処理を施し、重畳処理後の表示データを表示デバイス１１４に送信する。
【００４１】
ＣＰＵ１１３は、Ｖブランキング期間に、メモリＢ２０１に格納された補助データを読み出し、補助データから所定の補正パラメータ、例えばホワイトバランス用の補正パラメータを生成し、生成した補正パラメータを画像処理部１０３に設定する。この動作は、１フレーム毎に繰り返し実行する。
【００４２】
また、ＣＰＵ１１３は、不揮発性メモリ１１２に記録されたプログラムを実行する。通常、不揮発性メモリ１１２はメモリ部１１０よりアクセス速度が遅いため、不揮発性メモリ１１２に記録されたプログラムを一旦メモリＢ２０１やメモリＤ２０３に展開し、メモリＢ２０１やメモリＤ２０３にアクセスしてプログラムを実行することが望ましい。
【００４３】
このように、センサ１００から出力される撮像データは、撮像補正部１０１を介してメモリＡ２００及びメモリＢ２０１に書き込まれる。また、表示デバイス１１４に転送される表示データは、メモリＣ２０２から読み出される。
【００４４】
次に、本実施形態による画像処理装置におけるメモリ部１１０のキャリブレーション処理のタイミングについて、図３及び図４を用いて説明する。ここでは、４フレーム（６６．６６ｍｓ＝１６．６６ｍｓ×４）ごとに各メモリのキャリブレーション処理が必要な場合を想定した動作の説明を行う。なお、本実施形態における各メモリのキャリブレーション処理は、少なくともメモリの数に対応するフレーム数毎に行えばよく、５フレーム以上毎に行ってもよい。
【００４５】
図３は、タイミング調整部１１５が実行するキャリブレーションタイミング調整処理の処理フローを示す図である。
【００４６】
タイミング調整部１１５は、キャリブレーションタイミング調整処理が開始すると、まず、メモリＡ２００がキャリブレーション処理の対象であるか否かを判定する（ステップＳ３００）。メモリＡ２００がキャリブレーション処理の対象である場合（ＹＥＳ）にはステップＳ３０１へと移行し、メモリＡ２００がキャリブレーション処理の対象でない場合（ＮＯ）にはステップＳ３０３へと移行する。キャリブレーション処理の対象であるか否かの判定は、過去３フレーム以内にキャリブレーション処理が実施されているかどうかを基準とする。すなわち、過去３フレーム以内にメモリＡ２００に対してキャリブレーション処理が実施されていない場合にはキャリブレーション処理の対象であると判定する。また、過去３フレーム以内にメモリＡ２００に対してキャリブレーション処理が実施されている場合にはキャリブレーション処理の対象ではないと判定する。後述するステップＳ３０３、ステップＳ３０６、ステップＳ３０９における判定も同様に行う。
【００４７】
ステップＳ３０１において、タイミング調整部１１５は、メモリＡ２００のキャリブレーション処理の実行タイミングであるか否かを判定する。キャリブレーション処理の実行タイミングである場合（ＹＥＳ）にはステップＳ３０２へと移行し、キャリブレーション処理の実行タイミングでない場合（ＮＯ）にはステップＳ３０３へと移行する。
【００４８】
キャリブレーション処理の実行タイミングであるか否かの判定は、メモリＡ２００にアクセスする処理部の動作状態に基づいて行われる。例えば、本実施形態の場合、メモリＡ２００には撮像補正部１０１が補正済み画像データを書き込むため、撮像補正部１０１が１フレーム分の補正済み画像データをメモリＡ２００に書き終えたかどうかで判定を行う。すなわち、撮像補正部１０１が１フレーム分の補正済み画像データをメモリＡ２００に書き終えていない場合には、キャリブレーション処理を実行しないと判定する。また、撮像補正部１０１が１フレーム分の補正済み画像データをメモリＡ２００に書き終えている場合には、キャリブレーション処理が実行可能であると判定する。
【００４９】
具体的には、撮像補正部１０１が１フレーム分の補正済み画像データをメモリＡ２００に書き終えたことをデータ転送部１０７が判定し、ＣＰＵ１１３に割り込みを発生させる。ＣＰＵ１１３は、キャリブレーション処理の実行タイミングを示す信号をタイミング調整部１１５に送信する。タイミング調整部１１５は、その信号に基づいてキャリブレーション処理の実行のタイミングであるか否かの判定を行う。ただし、撮像補正部１０１はバッファ１０２を有しているため、高速フレーム動画像の記録時など、ＣＰＵ１１３が１フレーム毎に割り込みを受け取ることが困難な場合には、特にキャリブレーション禁止期間を設けずに、実行判定は総てＯＫとしても構わない。
【００５０】
ステップＳ３０２において、タイミング調整部１１５は、メモリ制御部１０９にメモリＡ２００のキャリブレーション処理の実行タイミングを通知する。通知を受信したメモリ制御部１０９は、メモリＡ２００に対して所定のタイミングでキャリブレーション処理を実行する。キャリブレーション処理の終了後は、ステップＳ３１２へと移行する。
【００５１】
ステップＳ３０３において、タイミング調整部１１５は、メモリＢ２０１がキャリブレーション処理の対象であるか否かを判定する。メモリＢ２０１がキャリブレーション処理の対象である場合（ＹＥＳ）にはステップＳ３０４へと移行し、メモリＢ２０１がキャリブレーション処理の対象でない場合（ＮＯ）にはステップＳ３０６へと移行する。
【００５２】
ステップＳ３０４において、タイミング調整部１１５は、メモリＢ２０１のキャリブレーション処理の実行タイミングであるか否かを判定する。キャリブレーション処理の実行タイミングである場合（ＹＥＳ）にはステップＳ３０５へと移行し、キャリブレーション処理の実行タイミングでない場合（ＮＯ）にはステップＳ３０６へと移行する。
【００５３】
キャリブレーション処理の実行タイミングであるか否かの判定は、メモリＢ２０１にアクセスする処理部の動作状態に基づいて行われる。例えば、本実施形態の場合、ＣＰＵ１１３がメモリＢ２０１から補正データを読み出して補正パラメータを生成するため、この期間に該当する場合にはキャリブレーション処理を実行しないと判定する。ＣＰＵ１１３が補正パラメータを作成している期間は、撮像補正部１０１が１フレーム分の補正済み画像データをメモリＡ２００に書き終えた後のタイミング、いわゆるＶブランキング期間に該当する。ただし、補正パラメータの作成は、殆どの場合、Ｖブランキング期間よりも短い期間の間に終了する。
【００５４】
具体的には、ＣＰＵ１１３が補正データを読み出して補正パラメータを作成している期間に、ＣＰＵ１１３はキャリブレーション処理の禁止を示す信号を送信する。タイミング調整部１１５は、この信号に基づいてキャリブレーション処理の実行の可否の判定を行う。
【００５５】
ステップＳ３０５において、タイミング調整部１１５は、メモリ制御部１０９にメモリＢ２０１のキャリブレーション処理の実行タイミングを通知する。通知を受信したメモリ制御部１０９は、メモリＢ２０１に対して所定のタイミングでキャリブレーション処理を実行する。キャリブレーション処理の終了後は、ステップＳ３１２へと移行する。
【００５６】
ステップＳ３０６において、タイミング調整部１１５は、メモリＣ２０２がキャリブレーション処理の対象であるか否かを判定する。メモリＣ２０２がキャリブレーション処理の対象である場合（ＹＥＳ）にはステップＳ３０７へと移行し、メモリＣ２０２がキャリブレーション処理の対象でない場合（ＮＯ）にはステップＳ３０９へと移行する。
【００５７】
ステップＳ３０７において、タイミング調整部１１５は、メモリＣ２０２のキャリブレーション処理の実行タイミングであるか否かを判定する。キャリブレーション処理の実行タイミングである場合（ＹＥＳ）にはステップＳ３０８へと移行し、キャリブレーション処理の実行タイミングでない場合（ＮＯ）にはステップＳ３０９へと移行する。
【００５８】
キャリブレーション処理の実行タイミングであるか否かの判定は、メモリＣ２０２にアクセスする処理部の動作状態に基づいて行われる。例えば、本実施形態の場合、メモリＣ２０２に対して、表示処理部１０４による表示データの書き込みと、表示部１０５による表示データの読み出しとが行われる。したがって、表示部１０５のバッファ１０６に、キャリブレーション処理の実行中にメモリＣ２０２にアクセスできない期間の表示データが溜まっていれば、キャリブレーション処理を実行すると判定する。
【００５９】
具体的には、バッファ１０６に表示データが溜まっていることを示す信号を表示部１０５がタイミング調整部１１５に送信し、タイミング調整部１１５はこの信号に基づいてキャリブレーション処理を実行すると判定する。或いは、表示デバイス１１４への表示データの送信完了タイミングを示す信号を表示部１０５がタイミング調整部１１５に送信し、タイミング調整部１１５はこの信号に基づいてキャリブレーション処理を実行すると判定する。
【００６０】
ステップＳ３０８において、タイミング調整部１１５は、メモリ制御部１０９にメモリＣ２０２のキャリブレーション処理の実行タイミングを通知する。通知を受信したメモリ制御部１０９は、メモリＣ２０２に対して所定のタイミングでキャリブレーション処理を実行する。キャリブレーション処理の終了後は、ステップＳ３１２へと移行する。
【００６１】
ステップＳ３０９において、タイミング調整部１１５は、メモリＤ２０３がキャリブレーション処理の対象であるか否かを判定する。メモリＤ２０３がキャリブレーション処理の対象である場合（ＹＥＳ）にはステップＳ３１０へと移行し、メモリＤ２０３がキャリブレーション処理の対象でない場合（ＮＯ）にはステップＳ３１２へと移行する。
【００６２】
ステップＳ３１０において、タイミング調整部１１５は、メモリＤ２０３のキャリブレーション処理の実行タイミングであるか否かを判定する。キャリブレーション処理の実行タイミングである場合（ＹＥＳ）にはステップＳ３１１へと移行し、キャリブレーション処理の実行タイミングでない場合（ＮＯ）にはステップＳ３１２へと移行する。
【００６３】
キャリブレーション処理の実行タイミングであるか否かの判定は、メモリＤ２０３にアクセスする処理部の動作状態に基づいて行われる。例えば、本実施形態の場合、メモリＤ２０３に展開したプログラムをＣＰＵ１１３が実行するため、ＣＰＵ１１３からの信号に基づいてキャリブレーション処理の実行の判定を行う。
【００６４】
ステップＳ３１１において、タイミング調整部１１５は、メモリ制御部１０９にメモリＤ２０３のキャリブレーション処理の実行タイミングを通知する。通知を受信したメモリ制御部１０９は、メモリＤ２０３に対して所定のタイミングでキャリブレーション処理を実行する。キャリブレーション処理の終了後は、ステップＳ３１２へと移行する。
【００６５】
ステップＳ３１２において、タイミング調整部１１５は、キャリブレーション処理を終了するか否かの判定を行う。キャリブレーション処理を終了する場合（ＹＥＳ）には一連のキャリブレーションタイミング調整処理を終了し、終了しない場合（ＮＯ）にはステップＳ３００へと戻る。キャリブレーション処理の終了判定が行われる具体例としては、不図示の操作ボタンにより電源がオフにされたときや、表示デバイス１１４への表示を消すなどの省電力モードに移行したときなどが挙げられる。
【００６６】
図４は、メモリ部１１０へのアクセス状況を時間方向（横軸）に示したタイミング図である。図４には、連続する４フレーム分の動作を示しており、矢印はメモリ部１１０のキャリブレーション処理を実行するタイミングを示している。
【００６７】
図４に示す動作例では、図３の処理フローに沿って、１フレーム目にメモリＡ２００、２フレーム目にメモリＢ２０１、３フレーム目にメモリＣ２０２、４フレーム目にメモリＤ２０３のキャリブレーション処理を実行している。図示しない５フレーム目以降は、１フレーム目から４フレーム目までと同様の処理が繰り返し行われる。
【００６８】
特許文献１に開示されている技術では、メモリ装置側にバッファとなるレジスタセットを設けるため、複数のメモリを有する装置においては、メモリの個数分、回路規模が増加することになる。そのため、メモリシステムの小型化を妨げる可能性があった。また、メモリのバッファ容量は有限のため、センサから１フレームの画像転送中に複数のメモリに対してキャリブレーション処理が発生すると、センサからの画像データを取りこぼすことが起こりうる。また、補助データを書き込んでいるメモリは、Ｖブランキング期間に、ＣＰＵが、補助データを読み込み、画像処理へ渡す補正パラメータを作成する。しかし、Ｖブランキング期間にキャリブレーション処理を実施すると、補正パラメータの作成が間に合わない可能性がある。また、表示処理をした表示データの表示装置への送信時には、表示データを絶え間なく表示デバイスへと送信する必要がある。しかしながら、メモリ側のバッファに表示データが蓄積されていない状態でキャリブレーション処理が実行されると、表示デバイスへの表示データを送信できなくなる可能性があり、表示が乱れてシステム破綻する可能性がある。
【００６９】
また、特許文献２に開示されている技術では、複数のメモリに対して同時にキャリブレーション処理を実行するため、複数のメモリへのアクセスを同時に実行できない期間が存在することになる。画像処理装置では、補正パラメータの生成時にアクセスしているメモリへのキャリブレーション処理のタイミングと、表示デバイスが表示するとき、つまり表示データにアクセスしているメモリへのキャリブレーション処理のタイミングとが異なる。同時にキャリブレーション処理を実行すると、どちらかのキャリブレーション禁止期間に重なり、補正パラメータの作成ができず画像データの生成が間に合わないことや、表示データの欠落によって表示デバイスの表示画像に乱れが生じることが起こりうる。
【００７０】
この点、本実施形態による画像処理装置では、撮像補正部１０１がバッファ１０２を備え、表示部１０５がバッファ１０６を備えている。撮像補正部１０１及び表示部１０５がキャリブレーション時間を考慮した最低限の容量のバッファ１０２，１０６を備えることで、各メモリにキャリブレーション処理用のバッファを設ける場合よりも回路規模を削減することが可能となる。メモリを多く搭載する画像処理装置であれば、より回路規模の削減効果が大きくなる。
【００７１】
また、本実施形態では、４つのメモリのそれぞれに対して４フレーム毎に行うキャリブレーション処理を、メモリ毎に異なるフレーム期間（一定周期の複数の期間のうちの異なる期間）に実行するようにしている。すなわち、各フレームに１度のキャリブレーション処理を実行する構成となっている。各メモリのキャリブレーション間隔が５フレーム以上、例えば５フレーム毎や６フレーム毎にキャリブレーション処理を実行するような場合には、キャリブレーション処理を実行しないフレーム期間が発生する。いずれの場合にも、各フレームにおいて行われるキャリブレーション処理の回数は、１回以下である。そして、各メモリのキャリブレーション処理は、各メモリのキャリブレーション禁止期間を外して定められた所定の期間にそれぞれ実行することができる。これにより、センサ１００からの画素データの取りこぼしや表示デバイス１１４の表示の乱れなどのシステム破綻を防止することができる。
【００７２】
なお、本実施形態では、キャリブレーション禁止期間として、ＣＰＵ１１３が補正パラメータを生成している期間、表示部１０５がバッファ１０６に表示データを溜めている期間を例示したが、キャリブレーション禁止期間はこれらに限定されるものではない。キャリブレーション禁止期間は、それぞれのメモリにアクセスする処理部の動作状態に応じて適宜設定することができる。
【００７３】
このように、本実施形態によれば、メモリを備える画像処理装置において、回路規模の増大やシステムの破綻を防止しつつメモリのキャリブレーション処理を実行することができる。
【００７４】
［第２実施形態］
本発明の第２実施形態による画像処理装置について、図５及び図６を用いて説明する。第１実施形態による画像処理装置と同様の構成要素には同一の符号を付し、説明を省略し或いは簡潔にする。
【００７５】
本実施形態では、第１実施形態に示した画像処理装置の他の駆動方法を説明する。本実施形態の駆動方法においては、撮像補正部１０１のバッファ１０２及び表示部１０５のバッファ１０６は、必ずしも有する必要はない。
【００７６】
本実施形態による画像処理装置におけるメモリ部１１０のキャリブレーション処理のタイミングについて、図５及び図６を用いて説明する。ここでは、第１実施形態と同様、４フレーム（６６．６６ｍｓ＝１６．６６ｍｓ×４）ごとに各メモリのキャリブレーション処理が必要な場合を想定した動作の説明を行う。
【００７７】
図５は、タイミング調整部１１５が実行するキャリブレーションタイミング調整処理の処理フローを示す図である。第１実施形態との違いは、撮像補正部１０１がアクセスするメモリＡ２００とメモリＢ２０１とをグループ化していることである。
【００７８】
タイミング調整部１１５は、キャリブレーションタイミング調整処理が開始すると、まず、メモリＡ２００及びメモリＢ２０１がキャリブレーション処理の対象であるか否かを判定する（ステップＳ５００）。メモリＡ２００及びメモリＢ２０１がキャリブレーション処理の対象である場合（ＹＥＳ）にはステップＳ５０１へ移行し、メモリＡ２００及びメモリＢ２０１がキャリブレーション処理の対象でない場合（ＮＯ）にはステップＳ５０３へと移行する。キャリブレーション処理の対象であるか否かの判定は、過去３フレーム以内にキャリブレーション処理が実施されているかどうかを基準とする。すなわち、過去３フレーム以内にメモリＡ２００及びメモリＢ２０１に対してキャリブレーション処理が実施されていない場合にはキャリブレーション処理の対象であると判定する。また、過去３フレーム以内にメモリＡ２００及びメモリＢ２０１に対してキャリブレーション処理が実施されている場合にはキャリブレーション処理の対象ではないと判定する。
【００７９】
ステップＳ５０１において、タイミング調整部１１５は、メモリＡ２００及びメモリＢ２０１のキャリブレーション処理の実行タイミングであるか否かを判定する。キャリブレーション処理の実行タイミングである場合（ＹＥＳ）にはステップＳ５０２へと移行し、キャリブレーション処理の実行タイミングでない場合（ＮＯ）にはステップＳ５０３へと移行する。
【００８０】
キャリブレーション処理の実行タイミングであるか否かの判定は、メモリＡ２００及びメモリＢ２０１にアクセスする処理部の動作状態に基づいて行われる。例えば、撮像補正部１０１が１フレーム分の補正済み画像データをメモリＡ２００に書き終え、且つ、ＣＰＵ１１３がメモリＢ２０１から読み出した補正データに基づいて補正パラメータを作成する期間が終了したときに、キャリブレーション処理を実行する。具体的には、ＣＰＵ１１３は、補正パラメータの作成を終了した後、キャリブレーション処理の開始を知らせる信号をタイミング調整部１１５に送信する。タイミング調整部１１５は、この信号に基づいてキャリブレーション処理を実行すると判定する。
【００８１】
ステップＳ５０２において、タイミング調整部１１５は、メモリ制御部１０９にメモリＡ２００及びメモリＢ２０１のキャリブレーション処理の実行タイミングを通知する。通知を受信したメモリ制御部１０９は、メモリＡ２００及びメモリＢ２０１に対して所定のタイミングでキャリブレーション処理を実行する。キャリブレーション処理の終了後は、ステップＳ５０９へと移行する。
【００８２】
ステップＳ５０３からステップＳ５０９までの処理は、図３を用いて説明した第１実施形態のステップＳ３０６からステップＳ３１２までの処理と同じであるため、ここでの説明は省略する。
【００８３】
図６は、メモリ部１１０へのアクセス状況を時間方向（横軸）に示したタイミング図である。図６には、連続する４フレーム分の動作を示しており、矢印はメモリ部１１０のキャリブレーション処理を実行するタイミングを示している。
【００８４】
図６に示す動作例では、図５の処理フローに沿って、１フレーム目にメモリＡ２００、メモリＢ２０１、メモリＣ２０２及びメモリＤ２０３のキャリブレーション処理を実行している。２フレーム目から４フレーム目には、メモリのキャリブレーション処理を実行していない。図示しない５フレーム目以降は、１フレーム目から４フレーム目までと同様の処理が繰り返し行われる。
【００８５】
メモリＡ２００，Ｂ２０１のキャリブレーション処理は、撮像補正部１０１がメモリＡ２００にアクセスしていない期間（Ｖブランキング期間）、且つ、ＣＰＵ１１３がメモリＢ２０１にアクセスしていない期間（補正パラメータの生成完了後）に実行する。メモリＣ２０２のキャリブレーション処理は、表示部２０５が表示データの送信を完了したタイミング、つまり表示のＶブランキング期間に実行する。メモリＤ２０３のキャリブレーション処理は、ＣＰＵ１１３がアクセスしていないタイミングで実行する。
【００８６】
なお、本実施形態では各メモリのキャリブレーション間隔を４フレームとしたが、図６に示すように、総てのメモリのキャリブレーション処理は１フレーム期間の間に実施することができる。したがって、本実施形態においては、各メモリのキャリブレーション間隔は１フレームに設定することも可能である。
【００８７】
以上説明したように、本実施形態による画像処理装置では、メモリ部１１０へのアクセスを、撮像系のグループと、表示系のグループと、ＣＰＵ系のグループとの３つに分けている。このように構成することで、キャリブレーション処理のタイミングもグループ化することができ、各メモリのキャリブレーション間隔が短い場合にも対応することが可能となる。また、メモリ部１１０にアクセスしていない期間にキャリブレーション処理を行うことで、バッファ１０２及びバッファ１０６の容量を削減し、或いは、バッファ１０２，１０６を除去することが可能となり、回路規模の更なる削減が可能となる。
【００８８】
このように、本実施形態によれば、メモリを備える画像処理装置において、回路規模の増大やシステムの破綻を防止しつつメモリのキャリブレーション処理を実行することができる。
【００８９】
［第３実施形態］
本発明の第３実施形態による画像処理装置について、図７及び図８を用いて説明する。第１及び第２実施形態による画像処理装置と同様の構成要素には同一の符号を付し、説明を省略し或いは簡潔にする。
【００９０】
本実施形態では、第１実施形態に示した画像処理装置の他の駆動方法を説明する。本実施形態の駆動方法においては、メモリ部１１０が１つのメモリで構成されている場合を想定する。
【００９１】
本実施形態による画像処理装置におけるメモリ部１１０のキャリブレーション処理のタイミングについて、図７及び図８を用いて説明する。ここでは、１フレーム（１６．６６ｍｓ）ごとにメモリ部１１０のキャリブレーション処理が必要な場合を想定した動作の説明を行う。
【００９２】
図７は、タイミング調整部１１５が実行するキャリブレーションタイミング調整処理の処理フローを示す図である。
【００９３】
タイミング調整部１１５は、キャリブレーションタイミング調整処理が開始すると、まず、メモリ部１１０がキャリブレーション処理を実行するタイミングであるか否かを判定する（ステップＳ７００）。メモリ部１１０がキャリブレーション処理を実行するタイミングである場合（ＹＥＳ）にはステップＳ７０１へと移行し、メモリ部１１０がキャリブレーション処理を実行するタイミングでない場合（ＮＯ）にはステップＳ７１２へと移行する。
【００９４】
キャリブレーション処理を実行するタイミングであるか否かの判定は、メモリ部１１０にアクセスする処理部の構成や動作状態に基づいて行う。例えば、撮像補正部１０１がバッファ１０２を有する場合は、ＣＰＵ１１３による補助データの読み出しから補正パラメータの作成終了までの期間をキャリブレーション禁止期間とし、禁止期間を知らせる信号をＣＰＵ１１３がタイミング調整部１１５に送信する。タイミング調整部１１５は、ＣＰＵ１１３から受信した信号に基づいてキャリブレーション処理の実行の可否の判定を行う。撮像補正部１０１がバッファ１０２を持たない場合、撮像補正部１０１が１フレーム分の画像データをメモリ部１１０に書き終え、且つ、ＣＰＵ１１３が補正パラメータを作成し終えたタイミングである場合に、キャリブレーション処理を実行すると判定する。具体的には、補正パラメータの作成を終了した後、ＣＰＵ１１３はキャリブレーション処理の開始を知らせる信号をタイミング調整部１１５に送信する。
【００９５】
ステップＳ７０１において、タイミング調整部１１５は、ＣＰＵ１１３から受信した信号に基づいて、メモリ制御部１０９にメモリ部１１０のキャリブレーション処理の実行タイミングを通知する。通知を受信したメモリ制御部１０９は、メモリ部１１０に対して所定のタイミングでキャリブレーション処理を実行する。キャリブレーション処理の終了後は、ステップＳ７１２へと移行する。
【００９６】
ステップＳ７１２の処理は、図３を用いて説明した第１実施形態のステップＳ３１２の処理と同じであるため、ここでの説明は省略する。
【００９７】
図８は、撮像補正部１０１がバッファ１０２を持たない構成において、メモリ部１１０へのアクセス状況を時間方向（横軸）に示したタイミング図である。図８には、連続する２フレーム分の動作を示しており、矢印はメモリ部１１０のキャリブレーション処理を実行するタイミングを示している。図８に付した斜線部は、撮像補正部１０１がバッファ１０２を有するか否かにかかわらず、共通にキャリブレーション処理が禁止される期間を表している。
【００９８】
図８に示す動作例では、図７の処理フローに沿って、各フレームにおいてメモリ部１１０のキャリブレーション処理を実行している。メモリ部１１０のキャリブレーション処理は、撮像補正部１０１がメモリ部１１０にアクセスしていない期間（Ｖブランキング期間）、且つ、ＣＰＵ１１３がメモリ部１１０にアクセスしていない期間（補正パラメータの生成完了後）に実行する。
【００９９】
以上説明したように、本実施形態では、メモリ部１１０のキャリブレーション禁止期間を設けることで、補正パラメータ生成をＶブランキング期間内に終えることが可能となり、システムの破綻を防ぐことが可能となる。また、バッファ１０２を持たない構成を採用することも可能となるため、回路規模の更なる削減が可能となる。
【０１００】
このように、本実施形態によれば、メモリを備える画像処理装置において、回路規模の増大やシステムの破綻を防止しつつメモリのキャリブレーション処理を実行することができる。
【０１０１】
［第４実施形態］
本発明の第４実施形態による画像処理装置について、図９乃至図１２を用いて説明する。第１乃至第３実施形態による画像処理装置と同様の構成要素には同一の符号を付し、説明を省略し或いは簡潔にする。
【０１０２】
本実施形態では、第１実施形態に示した画像処理装置の他の駆動方法を説明する。本実施形態の駆動方法においては、第３実施形態の場合と同様、メモリ部１１０が１つのメモリで構成されている場合を想定する。
【０１０３】
本実施形態による画像処理装置におけるメモリ部１１０のキャリブレーション処理のタイミングは、図７のステップＳ７００における判定基準が異なるほかは、第３実施形態と同様である。ここでは、１フレーム（１６．６６ｍｓ）ごとにメモリ部１１０のキャリブレーション処理が必要な場合を想定した動作の説明を行う。
【０１０４】
タイミング調整部１１５は、キャリブレーションタイミング調整処理が開始すると、まず、メモリ部１１０がキャリブレーション処理を実行するタイミングであるか否かを判定する（ステップＳ７００）。メモリ部１１０がキャリブレーション処理を実行するタイミングである場合（ＹＥＳ）にはステップＳ７０１へと移行し、メモリ部１１０がキャリブレーション処理を実行するタイミングでない場合（ＮＯ）にはステップＳ７１２へと移行する。
【０１０５】
キャリブレーション処理を実行するタイミングであるか否かの判定は、メモリ部１１０にアクセスする処理部の動作状態に基づいて行われる。例えば、メモリ部１１０に対しては、表示処理部１０４による表示データの書き込みと、表示部１０５により表示データの読み出しとが行われる。そこで、本実施形態では、第３実施形態の判定に加え、表示部１０５のバッファ１０６に、キャリブレーション処理の実行中にメモリ部１１０にアクセスできない期間の表示データが蓄積されていれば、キャリブレーション処理を実行すると判定する。
【０１０６】
具体的には、バッファ１０６に表示データが蓄積されていることを示す信号を表示部１０５がタイミング調整部１１５に送信し、タイミング調整部１１５はこの信号に基づいてキャリブレーション処理を実行すると判定する。或いは、表示デバイス１１４への表示データの送信完了タイミングを示す信号を表示部１０５がタイミング調整部１１５に送信し、タイミング調整部１１５はこの信号に基づいてキャリブレーション処理を実行すると判定する。表示部１０５がバッファ１０６を持たない場合は、Ｖブランキング期間の開始のタイミングでキャリブレーション処理を実行すると判定する。具体的には、Ｖブランキング期間の開始のタイミングを示す信号を表示デバイス１１４がタイミング調整部１１５に送信し、タイミング調整部１１５はこの信号に基づいてキャリブレーション処理を実行すると判定する。
【０１０７】
図９乃至図１２は、メモリ部１１０へのアクセス状況を時間方向（横軸）に示したタイミング図である。図９乃至図１２には、連続する２フレーム分の動作を示しており、矢印はメモリ部１１０のキャリブレーション処理を実行するタイミングを示している。図９乃至図１２に付した斜線部は、キャリブレーション処理が禁止されている期間を表している。
【０１０８】
図９は、表示部１０５がバッファ１０６を有する構成の場合における表示データのメモリアクセスのタイミングを示すタイミング図である。図９に示す動作例では、図７の処理フローに沿って、各フレームにおいてメモリ部１１０のキャリブレーション処理を実行する。具体的には、バッファ１０６に表示データが蓄積されるまでの期間をキャリブレーション禁止期間とし、バッファ１０６に表示データが蓄積された後にメモリ部１１０のキャリブレーション処理を実施している。
【０１０９】
図１０は、表示部１０５がバッファ１０６を持たない構成の場合における表示データのメモリアクセスのタイミングを示すタイミング図である。図１０に示す動作例においても、図７の処理フローに沿って、各フレームにおいてメモリ部１１０のキャリブレーション処理を実行する。具体的には、表示データを表示デバイス１１４に転送する期間をキャリブレーション禁止期間とし、表示のＶブランキング期間にメモリ部１１０のキャリブレーション処理を実施している。
【０１１０】
図１１は、撮像補正部１０１がバッファ１０２を有し、表示部１０５がバッファ１０６を有する構成の場合における表示データ及び補正済み画像データのメモリアクセスのタイミングを示すタイミング図である。図１１に示す動作例においても、図７の処理フローに沿って、各フレームにおいてメモリ部１１０のキャリブレーション処理を実行する。具体的には、ＣＰＵ１１３が補正パラメータを生成している期間と、バッファ１０６に表示データが蓄積されるまでの期間との両方を、キャリブレーション禁止期間としている。そして、これらキャリブレーション禁止期間を外して、且つ、撮像の開始と表示の開始を待ってからキャリブレーション処理を実施している。なお、撮影タイミングに応じて、撮像と表示の開始が一意に決まらない静止画像を撮像する画像処理装置は、本構成のようにバッファ１０２，１０６を有する構成が望ましい。
【０１１１】
図１２は、撮像補正部１０１がバッファ１０２を持たず、表示部１０５がバッファ１０６を有する構成の場合における表示データ及び補正済み画像データのメモリアクセスのタイミングを示すタイミング図である。図１２に示す動作例においても、図７の処理フローに沿って、各フレームにおいてメモリ部１１０のキャリブレーションを実行する。具体的には、ＣＰＵ１１３が補正パラメータ生成している期間と、バッファ１０６に表示データが蓄積されるまでの期間との両方をキャリブレーション禁止期間としている。キャリブレーション処理の実行タイミングは、ＣＰＵ１１３が補正パラメータを生成した後となる。本構成では、ＣＰＵ１１３が補正パラメータを生成した後にキャリブレーション処理を実行する期間と、バッファ１０６に表示データが蓄積されるまでの期間とが重ならないように、表示の開始や撮像の開始のタイミングを調整する必要がある。
【０１１２】
以上説明したように、本実施形態では、メモリ部１１０へのキャリブレーション禁止期間を設けることで、表示デバイス１１４の表示の乱れを防止することが可能となり、システムの破綻を防ぐことが可能となる。また、バッファ１０６を持たない構成を採用することも可能となるため、回路規模の更なる削減が可能となる。また、画像データと表示データの格納に同一のメモリを用いたときも、補正パラメータ生成をＶブランキング期間内に終えることができ、また、表示デバイス１１４の表示の乱れを防止することが可能となり、システムの破綻を防ぐことが可能となる。また、バッファ１０２を持たない構成も可能となるため、回路規模の更なる削減が可能となる。
【０１１３】
このように、本実施形態によれば、メモリを備える画像処理装置において、回路規模の増大やシステムの破綻を防止しつつメモリのキャリブレーション処理を実行することができる。
【０１１４】
［第５実施形態］
本発明の第５実施形態による画像処理装置について、図１３乃至図１５を用いて説明する。
【０１１５】
図１３は、本実施形態による画像処理装置の概略構成を示すブロック図である。本実施形態では、画像処理装置を、撮像装置の一部の機能ブロックとして用いた場合を例にして説明する。図１３は、例えばデジタルカメラやデジタルビデオカメラといった撮像装置における画像処理用ＬＳＩ（Large Scale Integrated-circuit）を中心とした画像処理回路の概略を示している。
【０１１６】
本実施形態の画像処理装置を搭載した撮像装置１０００は、撮像センサ部３００と、撮像補正部３０１と、同期信号生成部３０２と、画像処理部３０３，３０４と、メモリインターフェース部３０５，３０６と、メモリ部３０７，３０８と、を備える。各処理ブロックは、不図示のＣＰＵ（Central Processing Unit）によって、パラメータの変更や処理の開始、停止といった動作制御が可能である。ＣＰＵは、更に、不図示のユーザ操作部を介して、ユーザからの指示に基づき各処理ブロックを制御することが可能である。
【０１１７】
撮像センサ部３００は、レンズなどの光学系やＣＣＤイメージセンサ、ＣＭＯＳイメージセンサといった撮像センサで構成されており、不図示のユーザ操作指示部を介したユーザからの指示に従い、受光した被写体像を電気信号に変換して撮像データを生成する。
【０１１８】
撮像補正部３０１は、撮像センサ部３００で生成された撮像データに対して、画素補正、黒レベル補正、シェーディング補正、傷補正などの処理を施してメイン画像データを生成し、後段の画像処理部３０３に出力する。同時に、撮像補正部３０１は、例えば、ホワイトバランスの調整などに使用する補助パラメータ生成のためのサブ画像データを作成し、後段の画像処理部３０４に出力する。
【０１１９】
ここで、撮像補正部３０１は、同期信号生成部３０２から出力される同期信号１を基に補正処理を行う。同期信号１は、例えば撮像センサ部３００が１フレームあたり３３ｍｓｅｃの駆動タイミングで動作する場合、３３ｍｓｅｃの間隔でパルスを発生するデジタル信号である。
【０１２０】
撮像補正部３０１は、内部に不図示のバッファを備えている。このバッファは、後段のメモリ部３０７及びメモリ部３０８がトレーニング中でメモリへのアクセスができない期間に、撮像センサ部３００からの撮像データを溜めておくためのバッファである。ここで、本実施形態のような複数のメモリへ同時にデータを出力する画像処理装置では、トレーニングによるメモリアクセス不可期間のデータ退避用のバッファの容量は、後段のメモリ部３０７とメモリ部３０８の双方のトレーニングが影響する。ただし、本実施形態では、トレーニング実行タイミングの制御により、同期信号１で規定される１フレーム内でメモリに対するトレーニングが１回だけ実行されるように制御するため、バッファはトレーニング１回分相当の退避データの容量を実装していればよい。
【０１２１】
画像処理部３０３は、撮像補正部３０１から出力されるメイン画像データに対し、ホワイトバランス調整、倍率色収差補正、ガンマ補正や輝度・色生成処理、幾何変形、ノイズリダクションなどの複数の処理を実行する。このようにして、画像処理部３０３で生成された記録用画像データ（第１の画像データ）は、メモリインターフェース部３０５を介して、ＤＲＡＭで構成されるメモリ部３０７に記録される。なお、メモリ部３０７は、第１乃至第４実施形態におけるメモリＡ２００に相当する。
【０１２２】
また、画像処理部３０４は、撮像補正部３０１から出力されるサブ画像データに対し、例えばリサイズ処理や簡易的な輝度・色生成処理を行い、ホワイトバランス調整用の補助パラメータを生成するための評価値用画像データ（第２の画像データ）を生成する。画像処理部３０４で生成された評価値用画像データは、メモリインターフェース部３０６を介して、ＤＲＡＭで構成されるメモリ部３０８に記録される。なお、メモリ部３０８は、第１乃至第４実施形態におけるメモリＢ２０１に相当する。撮像補正部３０１は同期信号１に基づき動作するため、画像処理部３０３及び画像処理部３０４から出力される画像データは同期信号１と同じフレームレートでメモリ部３０７及びメモリ部３０８に書き込まれる。
【０１２３】
なお、本明細書では、撮像補正部３０１と画像処理部３０３，３０４とを総括して画像処理部（第１の画像処理部）と呼ぶことがある。
【０１２４】
次に、メモリインターフェース部３０５及びメモリインターフェース部３０６の詳細について、図１４を用いて説明する。なお、図１４にはメモリインターフェース部３０５を例示しているが、メモリインターフェース部３０６も同様の構成を有している。
【０１２５】
メモリインターフェース部３０５は、図１４に示すように、周期カウント部４００と、トレーニング実行指示部４０１と、トレーニング部４０３と、メモリ制御部４０４と、を備えている。メモリインターフェース部３０５は、画像処理部３０３から出力される画像データを、メモリ制御部４０４を介してメモリ部３０７へ記録する。
【０１２６】
ここで、メモリインターフェース部３０５には、画像処理部３０３のほか、不図示のマスターモジュールが繋がっている。これらマスターモジュールとメモリインターフェース部３０５とは、例えばＡＭＢＡ（Advanced Microcontroller Bus Architecture）規格のＡＸＩプロトコルによるメモリバスで繋がっている。
【０１２７】
各マスターモジュールからはライトやリードのコマンドがメモリ制御部４０４に送られ、不図示のコマンド調停回路により、メモリ部３０７へのコマンド発行順を決定する。その後、コマンドはメモリ制御部４０４に内蔵されている不図示のコマンドＦＩＦＯ（First In First Out）に、決定したコマンド発行順でコマンドを貯めていく。コマンドＦＩＦＯから読み出されたコマンドは、例えばＤＦＩ（DDR PHY Interface）規格のコマンドに変換され、メモリ制御部４０４の最もメモリ部３０７側に配置された不図示のインターフェース回路へと転送される。
【０１２８】
ここで、インターフェース回路とは、ＤＲＡＭ−ＰＨＹ（Physical-Layer）であり、メモリ部３０７とメモリアクセスを行うためのデジタル回路及びアナログ回路で構成されている。ＤＲＡＭ−ＰＨＹでは、コマンドＦＩＦＯからのコマンドに基づき、メモリ部３０７へメモリアクセスコマンドを発行する。
【０１２９】
以上により、画像処理部３０３などのマスターモジュールは、メモリインターフェース部３０５を介して、メモリ部３０７へのデータアクセスが可能となる。
【０１３０】
次に、メモリインターフェース部３０５におけるトレーニング制御について説明する。
メモリインターフェース部３０５には、同期信号生成部３０２から、撮像補正部３０１で使用している同期信号１と同じ信号が入力される。同期信号１は、周期カウント部４００に内蔵されている周期カウンタのカウントアップ用のタイミング信号として用いられる。これにより、周期カウント部４００では、撮像補正部３０１以降の画像処理と同期したフレームレートで周期カウントが可能となる。また、周期カウント部４００に内蔵されている周期カウンタは、クリア条件となるカウントクリア値をレジスタとして内蔵しているため、ＣＰＵ４０２からの指示で任意の値に設定することが可能である。
【０１３１】
同期信号１は、前述の通り、撮像センサ部３００の１フレームあたりの駆動タイミングと同じ３３ｍｓｅｃ間隔でパルスを発生する。よって、定期的に実行が必要なトレーニングの実行間隔として規定されているトレーニングインターバルが１００ｍｓｅｃであれば、カウントクリア値を２に設定することで３フレーム分の９９ｍｓｅｃ単位で周期カウントすることが可能となる。
【０１３２】
周期カウント部４００で生成されたカウント値は、後段のトレーニング実行指示部４０１に送られる。トレーニング実行指示部４０１は、周期カウント部４００から供給されたカウント値と、ＣＰＵ４０２により設定されたカウント比較値とを比較し、一致した場合にトレーニング実行指示としてトリガ信号を後段のトレーニング部４０３に出力する。なお、トレーニング実行指示部４０１は、第１乃至第４実施形態におけるタイミング調整部に対応する。
【０１３３】
トレーニング部４０３は、トレーニング実行指示部４０１からのトリガ信号を基にメモリ制御部４０４を介して、メモリ部３０７との間でトレーニングを実行する。このとき、メモリ制御部４０４では、コマンドＦＩＦＯに溜まっている次のアクセスコマンドの発行を中断し、トレーニング部４０３からのトレーニングに関するコマンド発行を優先する。
【０１３４】
次に、トレーニングについて説明する。本発明におけるトレーニングとは、温度変化と電圧変化によって生じるメモリインターフェース部３０５とメモリ部３０７とのタイミングスペックとなるｔＤＱＳ２ＤＱ及びｔＤＱＳＣＫの変動をキャリブレーションすることである。本実施形態及び次の第６実施形態におけるトレーニングは、第１乃至第４実施形態におけるキャリブレーション処理と実質的に同じ処理である。
【０１３５】
まず、ｔＤＱＳ２ＤＱのトレーニングについて説明する。ｔＤＱＳ２ＤＱは、ライト時のＤＱＳとＤＱの遅延時間を表しており、トレーニング時は、例えばＬＰＤＤＲ４ではＤＲＡＭデバイスに内蔵されているＤＱＳのクロックツリー遅延変動量モニタの結果をＭＲ（Mode Register）から読み取る。ＤＲＡＭデバイスのＭＲへのアクセスは、図１４のトレーニング部４０３によりメモリ制御部４０４を介してＭＲアクセス専用のコマンドが発行されることで可能である。ＤＲＡＭデバイスのＤＱＳのクロックツリー遅延変動量モニタの結果より、メモリ制御部４０４内にある不図示の遅延量調整回路で、ライト時に出力するＤＱの遅延量を調整する。これにより、温度変化と電圧変化によって変動するライト時のｔＤＱＳ２ＤＱを補正することが可能となる。
【０１３６】
次に、ｔＤＱＳＣＫのトレーニングについて説明する。ｔＤＱＳＣＫは、リード時にＤＲＡＭデバイスから送られるＤＱＳの取り込みタイミングを規定している値である。例えばＬＰＤＤＲ４ではＤＲＡＭデバイス内の固有値を持つＭＲをリードすることでキャリブレーション処理を行い、メモリインターフェース部３０５内にある不図示の遅延量調整回路で、リード時に入力するＤＱＳのＧａｔｉｎｇタイミングを調整する。これにより、温度変化と電圧変化によって変動するリード時のｔＤＱＳＣＫを補正することが可能となる。
【０１３７】
以上のメモリインターフェース部３０５の構成は、前述したようにメモリインターフェース部３０６の構成と同じである。よって、メモリ部３０８に対するトレーニング実行タイミングは、メモリ部３０７に対するトレーニング実行タイミングと同様に、同期信号１に同期したフレーム単位で任意に設定することが可能である。
【０１３８】
次に、本実施形態よる画像処理装置におけるメモリ部３０７及びメモリ部３０８に対するトレーニング実行タイミングについて、図１５を用いて説明する。図１５は、本実施形態による画像処理装置におけるメモリ部のトレーニングタイミングを示すタイミング図である。
【０１３９】
図１５に示した例では、メモリインターフェース部３０５の周期カウント１及びメモリインターフェース部３０６の周期カウント２は、３フレーム分に設定している。また、メモリインターフェース部３０５は、カウント比較値を０とすることで、周期カウント１が０となるＴ１０，Ｔ１１，Ｔ１２及びＴ１３のタイミングでトレーニングが行われる。また、メモリインターフェース部３０６は、カウント比較値を２とすることで、周期カウント２が２となるＴ２０，Ｔ２１，Ｔ２２及びＴ２３のタイミングでトレーニングが行われる。
【０１４０】
これにより、メモリ部３０７，３０８に対するトレーニングはトレーニングインターバルを遵守した形で、同期信号１における異なるフレームタイミング（一定周期の複数の期間のうちの異なる期間）で、それぞれのトレーニングを実行することが可能となる。
【０１４１】
このように、本実施形態によれば、複数のＤＲＡＭへの同時アクセスが必要な画像処理において、画像処理の同期信号に基づいてＤＲＡＭごとのトレーニング実行タイミングをフレーム単位で制御することが可能となる。これにより、同一フレーム内では１回のトレーニングしか実行しないように制御することができるため、画像処理側のバッファ容量を増大することなく、システム破綻を防止することが可能となる。
【０１４２】
［第６実施形態］
本発明の第６実施形態による画像処理装置について、図１６乃至図１８を用いて説明する。第５実施形態による画像処理装置と同様の構成要素には同一の符号を付し、説明を省略し或いは簡潔にする。
【０１４３】
図１６は、本実施形態による画像処理装置を搭載した撮像装置の概略構成を示すブロック図である。本実施形態の撮像装置１０００は、第５実施形態と同様、撮像センサ部３００と、撮像補正部３０１と、同期信号生成部３０２と、画像処理部３０３，３０４と、メモリインターフェース部３０５，３０６と、メモリ部３０７，３０８と、を備えている。本実施形態の撮像装置１０００は、更に、同期信号生成部５００と、同期信号選択部５０１と、表示制御部５０２と、メモリインターフェース部５０３と、メモリ部５０４と、ディスプレイ部５０５と、を備えている。
【０１４４】
表示制御部５０２（第２の画像処理部）は、メモリ部３０８及びメモリ部５０４から読み出した画像データに対してリサイズ処理、ガンマ処理、色域変換などの複数の処理を実行し、ディスプレイ部５０５に表示する表示データを生成する。なお、表示制御部５０２は、第１乃至第４実施形態の画像処理装置における表示処理部１０４及び表示部１０５に相当する。ディスプレイ部５０５は、ＬＣＤなどの表示デバイスである。メモリインターフェース部５０３は、第５実施形態で説明したメモリインターフェース部３０５と同じ構成である。
【０１４５】
ここで、例えばメモリ部３０８には、撮像データを基に画像処理部３０４によって生成された画像データ（第１の画像データ）が記録されている。また、メモリ部５０４には、ＣＰＵによって生成されたＯＳＤ（On-Screen Display）データ（第３の画像データ）が記録されている。
【０１４６】
表示制御部５０２は、メモリ部３０８の画像データとメモリ部５０４のＯＳＤデータとを、ディスプレイ部５０５の表示レートに合わせて同時に読み出し、これらの画像を重畳してなる表示データをディスプレイ部５０５に転送する。このとき、表示制御部５０２は、表示処理を表示レートに同期させるために、同期信号生成部５００で生成される同期信号２を基準として表示データの読み出しや表示処理を行う。
【０１４７】
また、表示制御部５０２は、複数のメモリからデータを読み出し、一定レートで表示画像をディスプレイ部５０５へ転送する必要があるため、撮像補正部３０１と同様にトレーニングによるメモリアクセス不可期間のデータ退避用のバッファを内蔵している。この表示制御部５０２に内蔵されているバッファも、複数のメモリから同時にデータを読み出すため、メモリ部３０８とメモリ部５０４との双方のトレーニングによるメモリアクセス不可期間が影響する。ただし、本実施形態では、後述するトレーニング実行タイミングの制御により、同期信号２における同一フレーム内にメモリに対するトレーニングが１回だけ実行されるように制御する。そのため、バッファはトレーニング１回分相当の退避データの容量のみ実装していればよい。
【０１４８】
次に、同期信号選択部５０１について説明する。同期信号選択部５０１では、同期信号生成部３０２から供給される同期信号１の周期と、同期信号生成部５００から供給される同期信号２の周期とを比較し、周期が長い方を選択し、後段のメモリインターフェース部に選択した同期信号を送る。
【０１４９】
ここで、同期信号選択部５０１において、同期信号１の周期と同期信号２の周期とを比較し、周期が長い方を選択する理由について、図１７及び図１８を用いて説明する。図１７及び図１８は、本実施形態による画像処理装置におけるメモリ部のトレーニングタイミングを示すタイミング図である。
【０１５０】
本実施形態では、撮像補正部３０１を起点とした画像処理において、メモリ部３０７とメモリ部３０８とが同時に使用される。同様に、表示制御部５０２を起点とした表示処理においては、メモリ部３０８とメモリ部５０４とを同時に使用することになる。ただし、記録用画像の画像処理と表示処理とでは、それぞれの画像処理レートが異なる場合がある。例えば、記録用画像の画像処理を追尾処理やＡＦ（Auto Focus）用にディスプレイ部５０５の表示レートよりも早い処理レートで実行する場合が該当する。
【０１５１】
具体的な例として、図１７に示したように、例えば記録用画像の画像処理のための同期信号１は、ディスプレイ部５０５の表示レートの３３ｍｓｅｃより早い１６ｍｓｅｃの周期で生成される場合がある。
【０１５２】
ここで、図１７に示したＷＲ１０〜ＷＲ１５は、撮像補正部３０１を起点とした画像処理において生成された記録用画像データを、同期信号１のフレーム周期で、メモリ部３０７に書き込んでいるアクセス期間を示している。同様に、図１７に示したＷＲ２０〜ＷＲ２５は、撮像補正部３０１を起点とした画像処理において生成された評価値用画像データを、同期信号１のフレーム周期でメモリ部３０８に書き込んでいるアクセス期間を示している。
【０１５３】
また、図１７に示したＲＤ２０〜ＲＤ２２は、表示制御部５０２を起点とした表示処理において、ディスプレイ部５０５に表示するための自然画像データを、同期信号２のフレーム周期で、メモリ部３０８から読み出しているアクセス期間を示している。同様に、図１７に示したＲＤ３０〜ＲＤ３２は、表示制御部５０２を起点とした表示処理において、ディスプレイ部５０５に表示するためのＯＳＤデータを、同期信号２のフレーム周期で、メモリ部５０４から読み出しているアクセス期間を示している。
【０１５４】
図１７において、Ｔ１０は、メモリ部３０７に対するトレーニングが実行される期間を示している。このとき、記録用画像データの書き込みアクセスＷＲ１０はトレーニング実行期間Ｔ１０によって中断されるため、同時に画像処理を行っているメモリ部３０８への評価値用画像データの書き込みアクセスＷＲ２０も中断される。図１７において、このメモリ部３０７に対するトレーニング実行期間Ｔ１０によって、メモリ部３０８への書き込みアクセスＷＲ２０が中断される期間をＷ１０と表記している。
【０１５５】
同様に、図１７において、Ｔ２０はメモリ部３０８に対するトレーニングが実行される期間を示している。このとき、メモリ部３０８へは評価値用画像データの書き込みアクセスＷＲ２２と、自然画像データの読み出しアクセスＲＤ２１が、トレーニング実行期間Ｔ２０によって中断される。ここで、Ｔ２０はメモリ部３０８に対するトレーニング実行期間Ｔ２０によって、撮像補正部３０１を起点とした画像処理と、表示制御部５０２を起点とした表示処理は同時にメモリアクセスが中断する。よって、メモリ部３０８に対するトレーニング実行期間Ｔ２０と同時刻に、メモリ部３０７への書き込みアクセスＷＲ１２が、図１７に示したＷ２０の期間、メモリアクセスが中断される。同様に、メモリ部３０８に対するトレーニング実行期間Ｔ２０と同時刻に、メモリ部５０４からの読み出しアクセスＲＤ３１がＷ２０の期間、メモリアクセスが中断される。
【０１５６】
同様に、図１７においてＴ３０は、メモリ部５０４に対するトレーニングが実行される期間を示している。このとき、トレーニング実行期間Ｔ３０によって、表示処理における読み出しアクセスＲＤ３２が中断されるため、その影響がメモリ部３０８の読み出しアクセスＲＤ２２に中断期間Ｗ３０として現れる。
【０１５７】
ここで、図１７では、メモリ部３０７、メモリ部３０８、メモリ部５０４は、周期の長い表示処理用の同期信号２を基に周期カウンタをカウントアップし、トレーニング実行タイミングを制御している。これにより、各処理において、１フレーム内には１回分のトレーニングしか実行されないためシステムの破綻が発生しない。
【０１５８】
また、図１７において、同期信号１と同期信号２は分かりやすいように同期している様に示しているが、双方の周期は非同期関係になる場合がある。
【０１５９】
図１８に、同期信号が非同期関係にある場合の各メモリへのアクセスタイミングの一例を示す。図１８では、複数の画像処理の同期信号が非同期関係にある場合に、周期の短い同期信号でトレーニング実行タイミングを制御した際に発生する問題を示している。
【０１６０】
図１８において、メモリ部３０８に対するトレーニング実行期間Ｔ２０が、例えば周期の短い同期信号１でカウントされた周期カウンタが２を示すときに実行したとする。このとき、トレーニング実行期間Ｔ２０によって、メモリ部３０８の読み出しアクセスＲＤ２１が中断されるため、同時に処理しているメモリ部５０４の読み出しアクセスＲＤ３１はＷ２０の期間アクセスが中断される。
【０１６１】
同様に、メモリ部５０４に対するトレーニング実行期間Ｔ３０が、例えば周期の短い同期信号１でカウントされた周期カウンタが４を示すときに実行したとする。このとき、表示処理については１フレームの処理期間中に２回分のトレーニングが発生することになり、前述したバッファの容量が足りなくなりシステム破綻を起す。
【０１６２】
また、図１８において、トレーニング実行タイミングをフレーム単位よりも細かい粒度で位相調整が可能であるとしても、各メモリのアクセス状況を監視しながらトレーニング実行タイミングを制御する必要があるため、制御が複雑になる。
【０１６３】
また、図１７及び図１８には各メモリへのアクセスが分かりやすいように主たるデータアクセスしか示していないが、実際の撮像装置などの画像処理やシステム動作では、様々な複数のメモリアクセスが同時に発生している。そのため、複数のメモリに対するトレーニングを同時刻に実施しようとしても、待ち合わせのための無駄なメモリアクセス中断の期間を要することとなり、効率的なメモリシステムを実現することはできない。
【０１６４】
以上の問題を解決するために、本実施形態で説明したように、同期信号選択部５０１において、同期信号１の周期と同期信号２の周期とを比較し、周期が長い方の同期信号を選択するように構成することが望ましい。そして、選択した同期信号の周期を単位として、メモリ部３０７，３０８，５０４のトレーニングを実行する。
【０１６５】
このように、本実施形態によれば、複数のＤＲＡＭへの非同期なメモリアクセスが発生する画像処理が混在しても、適切な同期信号を選択することでこの同期信号に基づいてＤＲＡＭごとのトレーニング実行タイミングをフレーム単位で制御することが可能となる。
【０１６６】
これにより、非同期に複数の画像処理によるメモリアクセスが発生しても、同一フレーム内では１回のトレーニングしか実行しないように制御することができるため、画像処理側のバッファ容量を増大することなく、システム破綻を防止することが可能となる。
【０１６７】
［変形実施形態］
本発明は、上記実施形態に限らず種々の変形が可能である。
例えば、いずれかの実施形態の一部の構成を他の実施形態に追加した例や、他の実施形態の一部の構成と置換した例も、本発明の実施形態である。
【０１６８】
また、上記第１及び第２実施形態では画像処理装置が４つのメモリＡ２００〜メモリＤ２０３を有する場合を説明した。また、第３及び第４実施形態では画像処理装置が１つのメモリを有する場合を説明した。また、第５及び第６実施形態では画像処理装置が３つのメモリ部３０７，３０８，５０４を有する場合を説明した。しかしながら、画像処理装置が備えるメモリの数は、画像処理装置が搭載されるシステムや画像処理装置が行う処理の数や種類等に応じて適宜変更されうる。
【０１６９】
また、上記各実施形態で説明した各メモリ部のキャリブレーション処理の間隔は一例であって、適宜変更が可能である。
【０１７０】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１７１】
なお、上記実施形態は、いずれも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならない。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１７２】
１００…センサ
１０１，３０１…撮像補正部
１０３，３０３，３０４…画像処理部
１０４…表示処理部
１０５…表示部
１０９，４０４…メモリ制御部
１１０…メモリ部
１１３，４０２…ＣＰＵ
１１４…表示デバイス
１１５…タイミング調整部
４０１…トレーニング実行指示部
５０２…表示制御部
５０５…ディスプレイ部
【図１】
2019134240.tif 000003
【図２】
2019134240.tif 000004
【図３】
2019134240.tif 000005
【図４】
2019134240.tif 000006
【図５】
2019134240.tif 000007
【図６】
2019134240.tif 000008
【図７】
2019134240.tif 000009
【図８】
2019134240.tif 000010
【図９】
2019134240.tif 000011
【図１０】
2019134240.tif 000012
【図１１】
2019134240.tif 000013
【図１２】
2019134240.tif 000014
【図１３】
2019134240.tif 000015
【図１４】
2019134240.tif 000016
【図１５】
2019134240.tif 000017
【図１６】
2019134240.tif 000018
【図１７】
2019134240.tif 000019
【図１８】
2019134240.tif 000020