(57)【要約】【課題】  画像解析処理のレイテンシに対応する画像データの遅延に必要なメモリ量の増加を抑制する。【解決手段】  処理経路102は、情報量が増加する変換処理を入力画像に施す画像変換部105、および、変換処理された画像を解析処理して入力画像の補正情報を生成する画像解析部111を有する。処理経路103は、画像解析部111におけるレイテンシに基づき入力画像を遅延する遅延制御部104、および、情報量が増加する変換処理を遅延された画像に施す画像変換部106を有する。画像補正部112は、処理経路102から入力される補正情報に基づき、処理経路103から入力される画像に補正処理を施す。【選択図】  図1
2017138805.tif 000002
【特許請求の範囲】
【請求項１】
情報量が増加する変換処理を入力画像に施す第一の変換手段、および、前記変換処理された画像を解析処理して前記入力画像の補正情報を生成する解析手段を有する第一の処理経路と、
前記解析手段におけるレイテンシに基づき前記入力画像を遅延する遅延手段、および、前記情報量が増加する変換処理を前記遅延された画像に施す第二の変換手段を有する第二の処理経路と、
前記第一の処理経路から入力される補正情報に基づき、前記第二の処理経路から入力される画像に補正処理を施す補正手段とを有する画像処理装置。
【請求項２】
前記第一および第二の変換手段は同一の変換処理を行う請求項1に記載された画像処理装置。
【請求項３】
前記変換処理は、画像フォーマットの変換処理および色変換処理の少なくとも一つである請求項1または請求項2に記載された画像処理装置。
【請求項４】
前記解析手段は、フィルタ処理手段を有する請求項1から請求項3の何れか一項に記載された画像処理装置。
【請求項５】
前記フィルタ処理手段のフィルタサイズの変更が可能であり、前記フィルタサイズによって前記レイテンシが変化する請求項4に記載された画像処理装置。
【請求項６】
前記解析手段は、複数のフィルタ処理手段を選択可能に有し、選択されたフィルタ処理手段によって前記レイテンシが変化する請求項1から請求項3の何れか一項に記載された画像処理装置。
【請求項７】
前記入力画像の遅延量を算出する算出手段を有し、
前記遅延手段は、前記算出された遅延量に基づき前記入力画像を遅延する請求項1から請求項6の何れか一項に記載された画像処理装置。
【請求項８】
前記遅延手段の回路規模は、前記第二の変換手段の回路規模より大きい請求項1から請求項7の何れか一項に記載された画像処理装置。
【請求項９】
前記第二の変換手段と前記補正手段の間に画像処理手段を有する請求項1から請求項8の何れか一項に記載された画像処理装置。
【請求項１０】
前記遅延手段は、前記入力画像の奇数ラインかつ奇数番目の画素のデータを格納する第一のメモリ、前記奇数ラインかつ偶数番目の画素のデータを格納する第二のメモリ、前記入力画像の偶数ラインかつ奇数番目の画素のデータを格納する第三のメモリ、および、前記偶数ラインかつ偶数番目の画素のデータを格納する第四のメモリを有す請求項1から請求項9の何れか一項に記載された画像処理装置。
【請求項１１】
前記第二のメモリに前記奇数ラインの最終画素のデータが書き込まれるタイミングにおいて、前記第三および第四のメモリのデータの読み出し、並びに、前記第三および第四のメモリへの次の前記偶数ラインの画素のデータの書き込みが開始され、
前記第四のメモリに前記偶数ラインの最終画素のデータが書き込まれるタイミングにおいて、前記第一および第二のメモリのデータの読み出し、並びに、前記第一および第二のメモリへの次の前記奇数ラインの画素のデータの書き込みが開始される請求項10に記載された画像処理装置。
【請求項１２】
情報量が増加する変換処理を入力画像に施す第一の変換手段、および、前記変換処理された画像を解析処理して前記入力画像の補正情報を生成する解析手段を有する第一の処理経路と、
前記解析手段におけるレイテンシに基づき前記入力画像を遅延する遅延手段、および、前記情報量が増加する変換処理を前記遅延された画像に施す第二の変換手段を有する第二の処理経路と、
前記第一の処理経路から入力される補正情報に基づき、前記第二の処理経路から入力される画像に補正処理を施す補正手段とを有する画像処理装置の制御方法であって、
前記入力画像の遅延量を算出し、
前記遅延手段が、前記算出された遅延量に基づき前記入力画像を遅延する制御方法。
【請求項１３】
情報量が増加する変換処理を入力画像に施す第一の変換手段、および、前記変換処理された画像を解析処理して前記入力画像の補正情報を生成する解析手段を有する第一の処理経路と、
前記解析手段におけるレイテンシに基づき前記入力画像を遅延する遅延手段、および、前記情報量が増加する変換処理を前記遅延された画像に施す第二の変換手段を有する第二の処理経路と、
前記第一の処理経路から入力される補正情報に基づき、前記第二の処理経路から入力される画像に補正処理を施す補正手段とを有する画像処理装置の制御方法であって、
前記遅延手段は、前記入力画像の奇数ラインかつ奇数番目の画素のデータを格納する第一のメモリ、前記奇数ラインかつ偶数番目の画素のデータを格納する第二のメモリ、前記入力画像の偶数ラインかつ奇数番目の画素のデータを格納する第三のメモリ、および、前記偶数ラインかつ偶数番目の画素のデータを格納する第四のメモリを有し、
前記第二のメモリに前記奇数ラインの最終画素のデータが書き込まれるタイミングにおいて、前記第三および第四のメモリのデータの読み出し、並びに、前記第三および第四のメモリへの次の前記偶数ラインの画素のデータの書き込を開始し、
前記第四のメモリに前記偶数ラインの最終画素のデータが書き込まれるタイミングにおいて、前記第一および第二のメモリのデータの読み出し、並びに、前記第一および第二のメモリへの次の前記奇数ラインの画素のデータの書き込みを開始する制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の解析結果に基づき、画像を補正する画像処理に関する。
【背景技術】
【０００２】
画像処理装置において高速なパイプライン処理を実現するため、パイプライン処理する一連のデータ処理を分割して複数のモジュールに割り当て、それらモジュールを処理の流れの順にバス接続する方法がある（特許文献1）。また、画像解析処理により入力画像を解析し、解析結果を用いて入力画像に画像補正処理を施す場合がある。例えば、入力画像から局所領域ごとの特徴点を抽出し、画像解析処理により各画素の補正情報（透過率）を算出し、当該補正情報を用いて入力画像から霧や霞を除去する画像補正処理（霧霞除去部）を行い、画像の視認性を向上させる（特許文献2）。
【０００３】
上記パイプライン処理を用いて特許文献2の画像処理を実現する場合、透過率の算出処理を複数のモジュールに割り当ててパイプラインを構成し、パイプライン処理によって得られる補正情報と入力画像を、画素ごとに同期させて、霧霞除去部に入力する。霧霞除去部に割り当てたモジュール群が構成するパイプラインに、二つの画像を画素ごとに同期させて入力する方法として、入力画像を一時保持しながら中継する遅延制御部を用いる方法がある。遅延制御部として、一般に、ファーストインファーストアウト(FIFO)型のバッファメモリが用いられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第5538798号公報
【特許文献２】特開2012-221237号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献1のようなパイプラインを構成する場合、パイプラインにデータが入力されて処理結果が出力されるまでのパイプラインのレイテンシ分の時間が存在し、レイテンシは処理内容や各モジュールの実装方法などによって決まる。透過率の算出処理などの画像解析処理は、注目画素に対して、入力画像の垂直方向の領域を含む周辺領域の画素値を参照して、注目画素の画素値を算出するフィルタ処理を含む。画像解析処理に入力画像を水平方向に順に入力する場合、当該画像解析処理のパイプラインのレイテンシは、ライン単位の大きなレイテンシになる。
【０００６】
遅延制御部のメモリ量は、当該画像解析処理のパイプラインのレイテンシ、画像サイズ、画像の色数および画素のビット数に依存する。例えば、入力画像が、4K2K画像（横4096画素×高さ2160画素）、RGB各色16ビット、画像解析処理のパイプラインのレイテンシをNラインとすると、遅延制御部のメモリ量として約24×Nキロバイトが必要になる。今後、8K4K画像のように高解像度化や多階調化が進むことが想定され、画像解析処理のレイテンシに対応する画像データの遅延に必要なメモリ量が増加する。
【０００７】
また、高解像度化や多階調化に対応するため、画像解析処理や画像補正処理の前に、入力画像に対して画像サイズ、色数、画素のビット数を増加させる画像変換処理を用いる場合がある。この場合も、画像解析処理のレイテンシに対応する画像データの遅延に必要なメモリ量を増加させる要因となる。
【０００８】
本発明は、画像解析処理のレイテンシに対応する画像データの遅延に必要なメモリ量の増加を抑制することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１０】
本発明にかかる画像処理装置は、情報量が増加する変換処理を入力画像に施す第一の変換手段、および、前記変換処理された画像を解析処理して前記入力画像の補正情報を生成する解析手段を有する第一の処理経路と、前記解析手段におけるレイテンシに基づき前記入力画像を遅延する遅延手段、および、前記情報量が増加する変換処理を前記遅延された画像に施す第二の変換手段を有する第二の処理経路と、前記第一の処理経路から入力される補正情報に基づき、前記第二の処理経路から入力される画像に補正処理を施す補正手段とを有する。
【発明の効果】
【００１１】
本発明によれば、画像解析処理のレイテンシに対応する画像データの遅延に必要なメモリ量の増加を抑制することができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態の画像処理装置の構成例を示すブロック図。
【図２】画像変換部による一画素当りのデータ量の変化を説明する図。
【図３】フィルタ処理部の入出力を説明する図。
【図４】画像処理部における画像変換部を共通化した構成例を示すブロック図。
【図５】実施形態2の画像処理部の構成例を説明するブロック図。
【図６】四つのSPSRAMに対する書込タイミングと読出タイミングを説明する図。
【図７】画像解析部における遅延が変化する場合の画像処理部の構成例を示すブロック図。
【図８】画素データの出力タイミングを説明する図。
【発明を実施するための形態】
【００１３】
以下、本発明にかかる実施形態の画像処理装置および制御方法を図面を参照して詳細に説明する。なお、実施形態は特許請求の範囲にかかる本発明を限定するものではなく、また、実施形態において説明する構成の組み合わせのすべてが本発明の解決手段に必須とは限らない。
【００１４】
［実施形態1］
［画像処理装置］
図1のブロック図により実施形態の画像処理装置の構成例を示す。画像処理装置は、マイクロプロセッサ(CPU)120、ダイナミックランダムアクセスメモリ(DRAM)121、DRAMコントローラ122、システムバス123を備える。画像処理装置は、さらに、DRAM121のデータの読み書きのためにダイレクトメモリアクセス制御部(DMAC)として、データ読出用のRDMAC124とデータ書込用のWDMAC125、画像処理を行う画像処理部114を備える。詳細は後述するが、画像処理部114には、一連の画像処理を分割した複数の画像処理が処理順に接続されている。
【００１５】
画像処理装置の全体のシーケンス例を説明する。CPU120は、RDMAC124、WDMAC125、画像処理部114を起動する。DRAM121に予め格納された画像（入力画像）は、RDMAC124を経由して、画像処理部114へラスタ順に画素単位に転送され、画像処理部114によって画像処理される。画像処理部114によって画像処理された画素は、WDMAC125を経由して、DRAM121に格納される。入力画像のすべての画素に対する画像処理が終了すると、CPU120は、処理の終了を通知する情報（例えば、図示しないWDMAC125のステータスレジスタ）を検知し、すべての処理を終了する。
【００１６】
［画像処理部］
DRAM121に予め格納された入力画像は、RDMAC124を経由して、画像処理部114へラスタ順に画素単位の画素データとして転送される。以後、説明を容易にするために、入力画像が4K2K（4096×2160画素）画像、画素データがYCbCr422フォーマットかつ各色10ビットとして説明する。また、画像処理部114が霧霞除去処理を行うとして説明を行う。
【００１７】
画像処理部114に入力された画素データは、画像処理が異なる処理経路である処理経路102および処理経路103に送られる。画像補正部112は、処理経路102で生成された補正情報（例えば透過率）と、処理経路103で変換された画素データを画素単位に同期して入力し、例えば透過率に基づき画素データに補正処理を施すことで、例えば霧霞除去処理を行う。
【００１８】
●処理経路102
処理経路102は、画素データをパイプライン処理で伝搬する画像変換部105および画像解析部111の順に構成される。パイプライン処理は、一般にスループットを向上させるために用いられる。例えば、画像変換部105、画像解析部111をそれぞれ複数段からなる処理ステージであるパイプラインステージに分割し、パイプラインステージごとの処理を並列に実行して、次々に結果を得ることでスループットの向上を図る。実施形態の画像変換部105、106、画像解析部111はパイプライン処理を行うが、パイプライン処理の詳細説明は割愛する。
【００１９】
画像変換部105は、フォーマット変換部107および色変換部108を備え、入力される画素データを画像解析部111が解析可能な画素データに変換する。画像解析部111は、解析処理部116およびフィルタ処理部115を備え、画像変換部105から出力される画素データに基づき画像解析処理を行う。
【００２０】
図2により画像変換部105による一画素当りのデータ量の変化を説明する。フォーマット変換部107は、入力された画素データの画像フォーマットを変換（アップサンプリング）して、画素データ量を増加させる。例えば、YCbCr422フォーマットの画素データを、YCbCr444フォーマットの画素データに変換（アップサンプリング）する。
【００２１】
図2(a)は、アップサンプリングによる一画素のデータ量の変化を示す。図2(a)に示すように、アップサンプリングにより、m番目の画素の色差データCb0、Cr0が、m+1番目の画素の色差データCb1、Cr1として追加される。そのため、m+1番目の画素データはY10ビットからYCbCr30ビットに増加し、入力画像全体では一画素当りのデータ量が10ビット増加することになる。
【００２２】
色変換部108は、ルックアップテーブル(LUT)や、式(1)（ITU-R BT.601/ITU-R BT.709）に代表される変換式を用いて、色変換およびYCbCr444の画素データをRGBの画素データに変換する色変換処理を行う。
┌ ┐ ┌               ┐┌  ┐
│R│ │1  0      1.574││Y │
│G│=│1 -0.344 -0.468││Cb│      …(1)
│B│ │1  1.772  0    ││Cr│
└ ┘ └               ┘└  ┘
【００２３】
上記の色変換処理において、画像解析部111の解析に充分な情報量を確保するため、ビット拡張が行われ、画素データ量が増加される。図2(b)は、色変換部108のビット拡張による一画素当りデータ量の変化を示す。図2(b)に示すように、例えば、各色10ビットのデータを各色14ビットのデータにビット拡張することで、一画素当りのデータ量が4×3=12ビット増加する。
【００２４】
フィルタ処理部115は、画像変換部105が生成したRGB画素データを入力し、フィルタ処理を用いて、例えば霧霞除去処理の場合はダークチャネルと呼ばれる局所領域におけるRGBの最小値を求める。フィルタ処理を行うため、画素データの入力と、それに対応するダークチャネルの出力に遅延（レイテンシ）が生じる。
【００２５】
図3によりフィルタ処理部115の入出力を説明する。なお、説明を容易にするために、フィルタ処理部115は、5×5のフィルタサイズによるフィルタ処理を行うものとする。図3に示す注目画素に対応するダークチャネルの出力には、5×5のフィルタサイズに対応する画素データの入力が必要になる。そのため、注目画素の画素データの入力から、注目画素に対応するダークチャネルの出力まで、2ライン分の遅延が生じる。4K画像の場合、4096×2=8192画素の遅延が生じる。なお、実際には二画素分の遅延も生じるが、2ライン分の遅延に比べると小さいため省略する。
【００２６】
解析処理部116は、フィルタ処理部115が出力する画素データを解析し、その解析結果を補正情報として出力する。例えば、フィルタ処理部115が生成したダークチャネルを入力し、ダークチャネルに重み付けを行うことで各画素データの補正情報（透過率）を算出する。
【００２７】
●処理経路103
処理経路103は、遅延制御部104、画素データをパイプライン処理で伝搬する画像変換部106の順に構成される。画像変換部106は、処理経路102の画像変換部105と同じ構成を有し、画像変換部105と同じ画素データの入出力が行われる。つまり、画像変換部106のフォーマット変換部109と色変換部110の構成は、画像変換部105のフォーマット変換部107と色変換部108と同じである。
【００２８】
遅延制御部104は、FIFOなどの遅延制御部を用いて、入力された画素データを、画像解析部111におけるフィルタ処理部115で生じた遅延と同じ時間遅延して出力する。処理経路102における遅延が図3に示すように遅延が2ライン分の場合、遅延制御部104は、入力された画素データを2ライン分遅延して出力する。これにより、処理経路102の遅延と処理経路103の遅延の間の差（以下、遅延差）が解消され、処理経路102出力と処理経路103の出力が画素単位に同期する。
【００２９】
［遅延制御部］
実施形態の画像処理装置においては、画像変換部105と同じ構成の画像変換部106を異なる処理経路に有し、かつ、遅延制御部104の後段に画像変換部106が配置される。これにより、遅延制御部104のメモリ量を削減することができる。以下、遅延制御部104のメモリ量について説明する。
【００３０】
説明を容易にするため、画像変換部105がYCbCr422フォーマットかつ各色10ビットの画素データを入力し、RGB各色14ビットの画素データを出力するものとする。また、画像解析部111に伴う処理経路102と処理経路103の遅延差が2ライン分であるとする。また、画像処理部114に入力される画像の幅が4K（4096画素）とする。この条件における遅延制御部104のメモリ量（遅延用のメモリ量）は、YCbCr422かつ各色10ビットの画素データ（平均20ビット/画素）を格納するため、4096×2ライン×20ビット=163,840ビット=20,480バイトである。
【００３１】
ただし、一般には、共通化可能な処理を一つにまとめることで回路規模の削減を図る場合が多い。図4のブロック図により画像処理部114における画像変換部を共通化した構成例を示す。図4に示す例の場合、画像変換部105の後段に遅延制御部404が配置され、上述の条件における遅延用のメモリ量は4096×2ライン×14ビット×3=344,064ビット=43,008バイトである。つまり、遅延制御部104の後段に画像変換部106を配置する、図1に示す画像処理部114の構成の方が、図4に示す構成よりも、遅延用のメモリ量を少なくすることができる。
【００３２】
図4に示す構成に比べて、図1に示す構成は画像変換部106分の回路規模が増加する。しかし、高解像画像などの画像解析処理における遅延は、ライン単位の大きな遅延になるため、画像変換部106の回路規模よりも遅延制御部104の回路規模が大きくなる可能性が高い。その場合、遅延制御部104のメモリ量の削減による回路規模の削減効果の方が大きい。上記では、4K幅の入力画像を例に説明したが、今後、8K幅（8192画素）や16K幅の入力画像も想定され、それら画像の場合、実施形態によるメモリ量の削減効果がより大きくなる。
【００３３】
［変形例］
上記では、フォーマット変換部107として、YCbCr422の画素データをYCbCr444の画素データに変換するアップサンプリング例を説明した。しかし、YCbCr411フォーマットの入力画像も想定され、フォーマット変換部107がYCbCrの411の画素データをYCbCr444の画素データに変換するアップサンプリングを行ってもよく、情報量が増大する変換であればよい。
【００３４】
上記では、式(1)の変換式を用いる色変換部108を説明したが、色変換処理にLUTなどを用いてもよい。また、画像変換部105として、フォーマット変換部109と色変換部110を備える例を説明したが、画像変換部105は、例えば、画像解像度を600画素/インチ(ppi)から1200ppiに変換する高解像度変換処理部でもよい。画像変換部105の処理は、情報量が増大する処理であればよい。
【００３５】
上記では、フィルタ処理部115が5×5のフィルタサイズによるフィルタ処理を行う例を説明したが、フィルタサイズは任意である。画像解析部111がフィルタ処理部115を一つ備える例を説明したが、画像解析部111が複数のフィルタ処理部を備えてもよい。また、例えば画像解析部111における後処理として、バイラテラルフィルタや平均値フィルタなどのフィルタ処理を行ってもよい。複数のフィルタ処理部から選択されたフィルタ処理部によって、また、後処理によって画像解析部111の遅延が変化することは言うまでもない。さらに、図1の処理経路103には、画像変換部106の後段に処理を設けない例を示したが、画像変換部106の後段に、例えば色補正などの処理部を設けてもよい。
【００３６】
このように、画像解析処理を行う第一の処理経路と異なる第二の処理経路に、第一の処理経路の第一の画像変換部と同様の構成の第二の画像変換部を配置する。そして、画像解析処理において発生する遅延に対処するための遅延制御部を第二の画像変換部の前段に配置する。これにより、遅延制御部のメモリ量（遅延用のメモリ量）を削減することができる。
【００３７】
[実施形態2]
以下、本発明にかかる実施形態2の画像処理装置および制御方法を説明する。なお、実施形態2において、実施形態1と略同様の構成については、同一の符号を付して、その詳細な説明を省略する場合がある。実施形態1においては、霧霞除去処理を例に画像処理部114の説明を行ったが、画像変換部と同じ構成の画像変換部を異なる処理経路に備え、かつ、画像変換部の前段に遅延制御部を備えれば本発明を適用することができる。以下、実施形態1と異なる構成の画像処理部114を説明する。
【００３８】
図5のブロック図により実施形態2の画像処理部114の構成例を説明する。図5(a)に示す画像処理部114は、画像解析部111に縮小変倍部133、拡大変倍部134を加え、処理経路103に前処理部135を加えた構成を有する。また、図5(a)に示す画像変換部131、132は、入力画像のデータ量を増大させる、例えば、600ppiから1200ppiへの高解像度変換処理を行う。なお、遅延制御部104、フィルタ処理部115、解析処理部116、画像補正部112は実施形態1と同様であり、それらの詳細説明を割愛する。
【００３９】
縮小変倍部133は、画像変換部131から出力される画像を、例えばバイリニア法、バイキュービック法、画素間引きなどの方法を用いて縮小する。拡大変倍部134は、縮小変倍部133による縮小前の画像サイズに戻すため、画像解析部111が生成した補正情報を例えばバイリニア法、バイキュービック法、画素補間などの方法を用いて拡大する。
【００４０】
画像解析処理の前に画像を縮小する理由は、後段の画像解析部111におけるフィルタの参照範囲を疑似的に広げるためである。図5(b)に示すように、1/4（縦1/2×横1/2）に縮小された画像を、例えば5×5フィルタで処理すると、疑似的に10×10画素（図5(b)に示す等倍時の画素参照範囲）を参照することができる。
【００４１】
前処理部135は、画像補正部112の前処理として任意の画像処理を行う。例えば、プリント用の画像データに画像補正を施すために、前処理部135が、RGB画素データをCMYK画素データに変換する、三次元LUTを用いる色分解処理を前処理として行ってもよい。また、画像変換部131、132が高解像度変換処理を行う例を説明したが、画素データ量が増大すれば、高解像度変換処理に限定されない。例えば、画像変換部131、132として、RGB画素データをCMYK画素データに変換する色分解処理を行ってもよい。
【００４２】
このように、実施形態1と同様に、画像解析処理において発生する遅延に対処するための遅延制御部を第二の画像変換部の前段に配置すれば、第一および第二の画像変換部の処理に依存せず、遅延用のメモリ量を削減することができる。
【００４３】
[実施形態3]
以下、本発明にかかる実施形態3の画像処理装置および制御方法を説明する。なお、実施形態3において、実施形態1、2と略同様の構成については、同一の符号を付して、その詳細な説明を省略する場合がある。
【００４４】
実施形態1、2の遅延制御部104は、処理経路102のパイプラインの遅延（レイテンシ）と処理経路103のパイプラインの遅延を同じにするために、処理経路103の遅延量を制御する。それによって、画像補正部112に入力される二つの画素データを同期させることができる。勿論、処理経路102と処理経路103の遅延差が大きい場合、遅延制御部104は大きなメモリ量を必要とする。
【００４５】
遅延制御部104として、FIFO方式の記憶装置がよく用いられる。FIFO内で用いられる記憶装置としては、フリップフロップ・ラッチ・スタティックランダムアクセスメモリ(SRAM)などがある。一般に、メモリ量が大きいFIFOにはSRAMが用いられる。SRAMを用いたFIFO方式の記憶装置は、スループットが1の高い処理性能を実現するために、連続書込・連続読出が可能なデュアルポートSRAM（以下、DPSRM）を用いて構成されることがよくある。
【００４６】
DPSRAMは、書込用ポートと読出用ポートを別々にもつため、ライトアクセスとリードアクセスを同時に実行することができ、特別な制御なく連続書込・連続読出を実現することができる。しかし、DPSRAMは、シングルポートSRAM（以下、SPSRAM）より回路規模が大きい。勿論、SPSRAMでFIFO方式の記憶装置を構成することもできるが、ライトアクセスとリードアクセスを同時に実行できないため、ライトアクセスとリードアクセスが同時に発生しないように協調制御が必要になる。
【００４７】
実施形態3においては、遅延制御部104のメモリとして、ライン単位、かつ、各ラインの偶数画素用と奇数画素用に分離したSPSRAMを用意し、全SPSRAMの合計メモリ量が最大遅延量に相当する構成にする。例えば、遅延が2ライン分の場合は四つのSPSRAMによって遅延制御部104を構成する。
【００４８】
図6により四つのSPSRAMに対する書込タイミングと読出タイミングを説明する。図6に示すSRAM00-SRAM11はそれぞれSPSRAMであり、RDMAC124から処理経路103へ入力された、次の画素データを格納する。なお、以下ではx番目のラインを「ラインx」、y番目（左上からの絶対値）の画素を「画素y」、ラインxのy'番目（左端からの相対値）の画素を「画素x_y'」と表記する。
SRAM00：奇数ラインの奇数番目の画素データ、
SRAM01：奇数ラインの偶数番目の画素データ、
SRAM10：偶数ラインの奇数番目の画素データ、
SRAM11：偶数ラインの偶数番目の画素データ。
【００４９】
図6に示すように、ライン1において、画素1のデータがSRAM00に、画素2のデータがSRAM01に、画素3のデータがSRAM00に、…、画素4096のデータがSRAM01にそれぞれ書き込まれる。また、ライン2において、画素2_1（画素4097）のデータがSRAM10に、画素2_2のデータがSRAM11に、画素2_3のデータがSRAM10に、…、画素2_4096（画素8192）のデータがSRAM11にそれぞれ書き込まれる。ライン2の最終画素（画素8192）のデータをSRAM11に書き込むタイミングにおいて、SRAM00に格納された画素1_1のデータが読み出される。続いて、ライン3の画素8193のデータをSRAM00に書き込むタイミングにおいて、画素1_2のデータがSRAM01から読み出される。以後、上記の書き込みと読み出しが繰り返される。
【００５０】
言い替えれば、SRAM01に奇数ラインの最終画素のデータが書き込まれるタイミングにおいて、SRAM10とSRAM11のデータの読み出し、並びに、SRAM10とSRAM11への次の偶数ラインの画素のデータの書き込みが開始される。同様に、SRAM11に偶数ラインの最終画素のデータが書き込まれるタイミングにおいて、SRAM00とSRAM01のデータの読み出し、並びに、SRAM00とSRAM01への次の奇数ラインの画素のデータの書き込みが開始される。
【００５１】
このように、偶数番目の画素データと奇数番目の画素データを異なるSPSRAMに格納し、格納したデータの読出タイミングをずらす。それによって、偶数番目の画素データのライトアクセスに対して奇数番目の画素データのリードアクセスを行い、奇数番目の画素データをライトアクセスに対して偶数番目の画素データのライトアクセスを行う制御が実現される。従って、SPSRAMによって遅延制御部104を構成する場合も、入力される画素データを遅延させつつ、遅延制御部104の連続的な動作が可能になる。
【００５２】
上述したように、遅延制御部104による遅延量は、処理経路102のパイプラインと処理経路103のパイプラインの間の遅延差である。遅延差が一定の場合は遅延制御部104における遅延量を固定することができる。しかし、画像補正部112における補正量を制御する目的で、画像解析部111におけるフィルタサイズを切り替える機能が備わる場合がある。その場合、複数のフィルタサイズから選択されるフィルタサイズによって画像解析部111における遅延が変化する。勿論、画像解析部111が複数のフィルタ処理部を選択可能に備える場合、選択されたフィルタ処理部によって遅延が変化する。
【００５３】
図7のブロック図により画像解析部111における遅延が変化する場合の画像処理部114の構成例を示す。図7に示す構成は、図5に示す実施形態2の画像処理部114に遅延量算出部141を加えたものである。遅延量算出部141は、遅延制御部104による遅延量を算出し、算出した遅延量を遅延制御部104に通知する。例えば、縮小変倍部133により画像を1/4に縮小し、拡大変倍部134により画像を四倍に拡大する場合の遅延量Dの算出式は以下のようになる。
D = D' - L4 = (L1 + 2×L2 + L3) - L4      …(2)
ここで、L1は縮小変倍部133の遅延、
L2は画像解析部111の遅延、
L3は拡大変倍部134の遅延、
L4は前処理部135の遅延。
【００５４】
図8により画素データの出力タイミングを説明する。図8はL1=1ライン、L2=2ライン（フィルタサイズ5×5）、L3=1ラインの場合を示している。図8において、ライン1'はライン1とライン2から縮小されたライン、ライン2'はライン3とライン4から縮小されたライン、ライン3'はライン5とライン6から縮小されたライン、…である。
【００５５】
この例の場合、画像解析部111の遅延量L2は2ラインであるが、前段の縮小変倍部133の処理内容に依存して画像解析部111への画素データの入力が遅れ、後段の拡大処理部134の処理内容に依存して画像補正部112への画素データの出力が遅れる。それら遅れを考慮して遅延量Dを算出する必要がある。遅延量Dを通知された遅延制御部104は、遅延量D分遅延した画素データを出力する。なお、遅延量Dの算出は遅延量算出部141に限らず、CPU120において遅延量Dを算出し、CPU120から遅延制御部104へ遅延量Dを通知する構成でもよい。
【００５６】
このように、画像解析処理において発生する遅延を解消するための遅延制御部を、DPSRAMに比べて回路規模が小さいSPSRAMを用いて構成することができる。また、画像解析処理において発生する遅延量を算出して遅延制御部における遅延を制御することで、画像解析処理におけるフィルタサイズの変更に起因する遅延の変化に対応することができる。
【００５７】
［その他の実施例］
本発明は、上述の実施形態の一以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、一以上の機能を実現する回路（例えば、ASIC）によっても実現可能である。
【符号の説明】
【００５８】
102 … 処理経路、103 … 処理経路、104 … 遅延制御部、105 … 画像変換部、106 … 画像変換部、111 … 画像解析部、112 … 画像補正部
【図１】
2017138805.tif 000003
【図２】
2017138805.tif 000004
【図３】
2017138805.tif 000005
【図４】
2017138805.tif 000006
【図５】
2017138805.tif 000007
【図６】
2017138805.tif 000008
【図７】
2017138805.tif 000009
【図８】
2017138805.tif 000010