(57)【要約】【課題】デジタルカメラなど、画像処理を行うシステムでは、画像を一次記憶するための外部記憶装置としてＤＲＡＭが多く用いられている。しかし、ＤＲＡＭは構造上、ＳＲＡＭと比較してアクセス待ち時間が長いため、ＤＲＡＭからのデータ転送にかかる時間が要因となり、画像処理速度が遅くなることが多い。【解決手段】外部記憶装置１３への書き込み、読み出しの制御を行うメモリコントローラ１１０と、外部記憶装置１３に記憶されているデータを用いて処理を行うプロセッサ部１４０と、メモリコントローラ１１０とプロセッサ部１４０との間に配置され、外部記憶装置１３とデータの転送を行う複数のメモリ空間１５１〜１５５と、これらのメモリ空間１５１〜１５５とプロセッサ部１４０との間に配置され、プロセッサ部１４０がアクセスするメモリ空間を切り替えるメモリ空間コントローラ１６０とを備える。【選択図】図１
2009003632.tif 000002
【特許請求の範囲】
【請求項１】
外部記憶装置への書き込み、読み出しの制御を行うメモリコントローラと、
前記外部記憶装置に記憶されているプログラムを実行し、かつ前記外部記憶装置に記憶されているデータを用いて画像処理を行うプロセッサ部と、
前記メモリコントローラと前記プロセッサ部との間に配置され、前記外部記憶装置とデータの転送を行う複数のメモリ空間と、
前記メモリ空間と前記プロセッサ部との間に配置され、識別情報をもとに、前記プロセッサ部がアクセスするメモリ空間を切り替えるメモリ空間コントローラとを備えたことを特徴とする画像処理システム。
【請求項２】
請求項１に記載の画像処理システムにおいて、
前記識別情報は、前記プロセッサ部から前記メモリ空間コントローラに接続されるアドレス情報に付加するメモリ空間特定情報であることを特徴とする画像処理システム。
【請求項３】
請求項１に記載の画像処理システムにおいて、
前記メモリ空間コントローラは、前記メモリ空間がそれぞれアクセスする範囲を指定できる範囲指定レジスタを持ち、前記識別情報は、前記範囲指定レジスタと前記プロセッサ部がアクセスするアドレスとを解析した結果であることを特徴とする画像処理システム。
【請求項４】
請求項２又は３に記載の画像処理システムにおいて、
前記メモリ空間は、前記外部記憶装置への連続アクセス可能なバイト数の単位をページとし、２ページ以上のデータを蓄積できるメモリを備え、前記メモリコントローラは、前記プロセッサ部がアクセスしていないページにデータを先読みする、先読み機能を備えたことを特徴とする画像処理システム。
【請求項５】
請求項４に記載の画像処理システムにおいて、
連続したページの先読みを行う連続先読み機能を備えたことを特徴とする画像処理システム。
【請求項６】
請求項５に記載の画像処理システムにおいて、
前記メモリコントローラは、前記メモリ空間からのアクセスが連続したページであった場合に、前記連続先読み機能を自動的にオンにすることを特徴とする画像処理システム。
【請求項７】
請求項５に記載の画像処理システムにおいて、
前記メモリコントローラは、メモリ空間ごとに前記連続先読み機能のオン／オフを切り替える連続先読み機能制御レジスタを備えたことを特徴とする画像処理システム。
【請求項８】
請求項４に記載の画像処理システムにおいて、
先読みを開始したアドレスにオフセットを加減算したページの先読みを行うオフセット先読み機能を備え、
前記メモリコントローラは、メモリ空間ごとに前記オフセット先読み機能のオン／オフを切り替えるオフセット先読み機能制御レジスタを備えたことを特徴とする画像処理システム。
【請求項９】
請求項８に記載の画像処理システムにおいて、
前記メモリコントローラは、メモリ空間ごとに前記オフセットの量を指定できるレジスタを備えたことを特徴とする画像処理システム。
【請求項１０】
請求項９に記載の画像処理システムにおいて、
前記プロセッサ部は、処理パターンに応じて、前記オフセットの量を切り替えて使用することを特徴とする画像処理システム。
【請求項１１】
請求項４に記載の画像処理システムにおいて、
ラインオフセットで１ラインのページ数を指定し、先読みを開始したアドレスを起点として、前記ラインオフセット分のページの連続先読みが完了したら、そのアドレスに前記ラインオフセットを加算したページデータの先読みを行うラインオフセット先読み機能を備えたことを特徴とする画像処理システム。
【請求項１２】
請求項１１に記載の画像処理システムにおいて、
前記メモリコントローラは、メモリ空間ごとに前記ラインオフセット先読み機能のオン／オフを切り替えるラインオフセット先読み機能制御レジスタを備えたことを特徴とする画像処理システム。
【請求項１３】
請求項１１に記載の画像処理システムにおいて、
前記メモリコントローラは、メモリ空間ごとに前記ラインオフセットの量を指定できるレジスタを備えたことを特徴とする画像処理システム。
【請求項１４】
請求項１３に記載の画像処理システムにおいて、
前記プロセッサ部は、処理パターンに応じて、前記ラインオフセットの量を切り替えて使用することを特徴とする画像処理システム。
【請求項１５】
請求項５〜１４のいずれか１項に記載の画像処理システムにおいて、
前記メモリコントローラは、メモリ空間ごとに先読み機能がオンの場合に、連続先読み機能、オフセット先読み機能、ラインオフセット先読み機能を選択するレジスタを有し、指定された先読みを実施することを特徴とする画像処理システム。
【請求項１６】
請求項１〜１５のいずれか１項に記載の画像処理システムにおいて、
前記プロセッサ部が２以上の画像を利用して処理を行うとき、前記メモリ空間を３つ以上備え、前記メモリ空間のうち少なくとも１つは第１の画像のみに、前記メモリ空間のうち他の少なくとも１つは第２の画像のみにアクセスするよう、前記識別情報を制御することを特徴とする画像処理システム。
【請求項１７】
請求項１６に記載の画像処理システムにおいて、
前記メモリ空間を４つ以上備え、前記メモリ空間のうち少なくとも１つは、書き込み専用のメモリ空間として使用するよう、前記識別情報を制御することを特徴とする画像処理システム。
【請求項１８】
請求項１〜１４のいずれか１項に記載の画像処理システムにおいて、
前記メモリ空間を３つ以上備え、画像データはｍ個（ｍは整数）の成分で構成され、前記プロセッサ部は、前記メモリ空間のうち少なくとも１つは画像の第１の成分に、前記メモリ空間のうち他の少なくとも１つは画像の第２の成分にアクセスするよう、前記識別情報を制御することを特徴とする画像処理システム。
【請求項１９】
請求項１８に記載の画像処理システムにおいて、
前記メモリ空間を４つ以上備え、前記メモリ空間のうち少なくとも１つは、書き込み用のメモリ空間として使用するよう、前記識別情報を制御することを特徴とする画像処理システム。
【請求項２０】
請求項１８に記載の画像処理システムにおいて、
前記メモリ空間を５つ以上備え、前記メモリ空間のうち少なくとも１つは、画像の第１成分の書き込み用のメモリ空間として、前記メモリ空間のうち他の少なくとも１つは、画像の第２成分の書き込み用のメモリ空間として使用するよう、前記識別情報を制御することを特徴とする画像処理システム。
【請求項２１】
請求項１〜２０のいずれか１項に記載の画像処理システムと、
イメージセンサと、
外部記憶装置とを備えた固体撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部記憶装置とデータの転送を行うためのメモリ空間を備える、デジタルカメラなどの画像処理システムに関するものである。
【背景技術】
【０００２】
デジタルカメラなど、画像処理を行うシステムでは、画像を一次記憶するための外部記憶装置としてＤＲＡＭが多く用いられている。しかし、ＤＲＡＭは構造上、ＳＲＡＭと比較してアクセス待ち時間が長いため、ＤＲＡＭからのデータ転送にかかる時間が要因となり、画像処理速度が遅くなることが多い。
【０００３】
この問題を解決するため、外部記憶装置とプロセッサ部との間にメモリ空間を配置し、画像処理速度を高速化する方法が知られている。また、ヒット率を向上させるため、メモリ空間へ次に使用すると推測されるデータを先読みしておく機能も知られている。
【０００４】
ある従来技術によれば、キャッシュメモリへ先読みするデータのアドレスを、画像処理のパターンに応じて演算する。これにより、プロセッサ部にとって有用なデータを先読みできるため、ヒット率の向上が期待できる（特許文献１参照）。
【０００５】
また、外部記憶装置には画像データのみでなく、システムを制御するためのプログラムも配置されることが一般的である。画像処理の一部をプログラムで実装し、プロセッサ部が処理することもある。
【特許文献１】特開２００６−７２８３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
画像とプログラムとが共に外部記憶装置に配置されており、プロセッサ部でプログラムに記述された画像処理を行う場合、プログラムが配置されているアドレス領域へのアクセスと、画像データが配置されているアドレス領域へのアクセスとが発生し、プロセッサ部から外部記憶装置にアクセスするアドレスが規則的に変化しない。そのため、先読みアドレスをパターン化することが困難になり、先読み機能を使用しても、メモリ空間でのヒット率が向上せず、高速化を図ることができない。
【０００７】
本発明は、上記に鑑みてなされた発明であり、画像とプログラムとが共に外部記憶装置に配置されている場合でも、メモリ空間でのヒット率を向上させることを課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の画像処理システムは、外部記憶装置への書き込み、読み出しの制御を行うメモリコントローラと、前記外部記憶装置に記憶されているプログラムを実行し、かつ前記外部記憶装置に記憶されているデータを用いて画像処理を行うプロセッサ部と、前記外部記憶装置に記憶されているデータを用いて処理を行うプロセッサ部と、前記メモリコントローラと前記プロセッサ部との間に配置され、前記外部記憶装置とデータの転送を行う複数のメモリ空間と、前記メモリ空間と前記プロセッサ部との間に配置され、識別情報をもとに、前記プロセッサ部がアクセスするメモリ空間を切り替えるメモリ空間コントローラとを備えたことを特徴とする。
【０００９】
更に、本発明の画像処理システムにおける前記識別情報は、前記プロセッサ部から前記メモリ空間コントローラに接続されるアドレス情報に付加するメモリ空間特定情報であることを特徴とする。
【００１０】
また、本発明の画像処理システムは、前記識別情報を用いて前記メモリ空間への先読み機能を制御することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、プロセッサ部からのアクセスに応じてメモリ空間への先読みを効果的に制御できるため、ヒット率を向上させることが可能である。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して本発明の実施の形態について説明する。なお、以下で説明する実施の形態はあくまで一例であり、様々な改変を行うことが可能である。
【００１３】
《システム構成》
図１は、本発明に係る画像処理システムを備えた固体撮像装置の構成を示す図である。図１の固体撮像装置は、画像処理を行うＤＳＰ１０と、画像取り込みのためのレンズ１１及びイメージセンサ１２と、画像やプログラムを一次記憶する外部記憶装置１３とを備えている。
【００１４】
ＤＳＰ１０は、本発明に必要な構成要素として、外部記憶装置１３へのデータの書き込み及び読み出しを行うメモリコントローラ１１０と、外部記憶装置１３に記憶されるデータを用いて処理を行うプロセッサ部１４０と、プロセッサ部１４０とメモリコントローラ１１０との間に配置されてデータの受け渡しを行う５つのメモリ空間１５１〜１５５（以下、メモリ空間１〜５という。）からなるバッファメモリ１５０と、メモリ空間１〜５とプロセッサ部１４０との間に配置されてプロセッサ部１４０がアクセスするメモリ空間１〜５を切り替えるメモリ空間コントローラ１６０とがある。
【００１５】
そのほかに、図１中のＤＳＰ１０は、イメージセンサ１２からの出力データ等の入力画像を受け取り、所定のフォーマット（ＹＣフォーマット等）へデータの変換処理を行う画像取り込み部１００と、所定のフォーマット（ＪＰＥＧ等）への画像圧縮や、伸張を行う画像圧縮部１２０と、ＬＣＤ又はＴＶモニタに画像を出力するための表示画像出力部１３０とを備えている。
【００１６】
プロセッサ部１４０からメモリ空間コントローラ１６０へは、外部記憶装置１３へアクセスするためのアドレス情報を渡している。本実施の形態では、アドレス情報バスは３２ビットで構成され、外部記憶装置１３のアドレスは２５ビットで表されるものとする。
【００１７】
メモリ空間コントローラ１６０は、プロセッサ部１４０がアクセスするメモリ空間１〜５を切り替える処理を行うが、詳細は後述する。
【００１８】
外部記憶装置１３とＤＳＰ１０との間で、連続アクセス可能なバイト数の単位をページと呼ぶ場合、メモリ空間１〜５は各々２ページのデータが記憶可能なメモリで構成されるものとする。本実施形態の構成では、１ページを１６バイト単位とする。各ページは、下位４ビットが００００であるアドレスからスタートし、同じく下位４ビットが１１１１であるアドレスまでを同一ページと呼ぶ。
【００１９】
メモリコントローラ１１０は各メモリ空間１〜５をリード専用、リード／ライト共用、ライト専用と、用途を指定できるものとする。
【００２０】
プロセッサ部１４０からメモリ空間１〜５へのアクセス時にミスヒットが発生した場合、プロセッサ部１４０からのリクエストがあったアドレスを含むページを該当メモリ空間に転送する。このとき、当該メモリ空間の、更新タイミングが一番古いページにデータを転送する。
【００２１】
また、メモリコントローラ１１０は、メモリ空間１〜５上のプロセッサ部１４０がアクセスしていないページに、データを先読みする機能を備えている。先読み機能のオン／オフは、メモリ空間１〜５ごとにメモリコントローラ１１０に備えるレジスタで切り替えることができる。
【００２２】
また、メモリコントローラ１１０に備えるレジスタで、メモリ空間１〜５ごとに先読みアドレスの生成パターンを切り替えることができる。本実施形態では、先読みするアドレスの生成パターンは、連続アドレス先読み機能、オフセット先読み機能、ラインオフセット先読み機能の３つのパターンを備えている。
【００２３】
連続アドレス先読み機能は、プロセッサ部１４０がアクセスしているメモリ空間に存在する最終アドレス＋１から１ページ分のデータを先読みする。当該メモリ空間でヒットしている間は先読みを続け、ミスヒットした場合は、該当ページのデータを読み出し、その後連続先読みを再開し、機能がオフになるまで先読みを行う。
【００２４】
オフセット先読み機能は、プロセッサ部１４０がアクセスしているメモリ空間に読み出したアドレスにオフセットを加算したページのデータを先読みする。オフセットはページ単位で指定する。当該メモリ空間でヒットしている間は、連続してオフセットを加算したページの先読みを続ける。ミスヒットした場合は、該当ページのデータを読み出し、その後、連続してオフセットを加算したページの先読みを続ける。
【００２５】
ラインオフセット先読み機能は、ラインオフセット先読み機能が選択されてから、最初にプロセッサ部１４０がアクセスしたページから、メモリコントローラ１１０に備えるラインオフセット指定レジスタで指定されるページ数分、連続先読みを行う。その後、連続先読みの最終ページにラインオフセットで指定されるページ数をオフセットとして加算したページの先読みを行い、そこからまたラインオフセットで指定されるページ数だけ連続先読みを行う。該当メモリ空間にヒットしている間はこの処理を繰り返し行う。当該メモリ空間でミスヒットが起こった場合、指定のページを外部記憶装置１３から読み出し、最初の連続先読み処理に戻る。
【００２６】
また、外部記憶装置１３への書き込み方式をメモリ空間１〜５ごとにライトスルー、ライトバックを指定できるものとする。ライトバック方式では、プロセッサ部１４０からライトアクセスがあった場合、該当メモリ空間のページ１にデータを書き込む。同一ページ内のアドレスへのアクセスであれば、ページ１にデータを書き込んでいく。１６バイト全てのデータが更新されたら、ページ１のデータをページ２にコピーし、ページ２から外部記憶装置１３への書き込みを行う。もし、１６バイト全てのデータ更新がされる前に、異なるページへのアクセスが行われた場合も、それまでのページ１のデータをページ２にコピーし、外部記憶装置１３への書き込みを行う。
【００２７】
図２は、本実施形態におけるプロセッサ部１４０からメモリ空間コントローラ１６０へ接続されるアドレスバスのビット割り当てを示す図である。アドレス情報バスの上位ビットを利用し、メモリ空間特定情報を識別情報として割り当てる。プロセッサ部１４０は、この識別情報を用いて、アクセスするメモリ空間を指定する。メモリ空間コントローラ１６０は、プロセッサ部１４０から外部記憶装置１３へのアクセスリクエストがあったら、アドレス情報の解析を行い、識別情報で指定されたメモリ空間に、プロセッサ部１４０がアクセスを行うよう制御する。なお、処理形態に応じてメモリ空間１〜５のうちの所要数が用いられる。
【００２８】
《第１の処理形態》
図３は、第１の処理形態における外部記憶装置１３に配置される画像データ及びプログラムのイメージ図である。外部記憶装置１３上には、画像データ１（ＩＭＧ１）、画像データ２（ＩＭＧ２）、プロセッサ部１４０が行う処理が記述されたプログラムが配置され、プロセッサ部１４０が処理した結果の画像を格納する画像データ３（ＩＭＧ３）の領域が確保されている。
【００２９】
画像のサイズはどちらもｍ画素×ｎラインであるとする。画像データは輝度成分（Ｙ）と色成分（Ｃ）とで構成され、どちらも１ページにｌ画素分のデータを格納し、ｍ画素分、つまり１ラインのＹ、Ｃはそれぞれｋ（＝ｍ／ｌ）ページのデータで構成されるとする。本処理形態では、画像データは１ライン目のＹデータ１〜ｍ、Ｃデータ１〜ｍ、２ライン目のＹ、Ｃ・・・、ｎライン目のＹ、Ｃの順に配置されるものとする。
【００３０】
プログラムには各画素のＩＭＧ１とＩＭＧ２のＹ、Ｃを用いて、所定の割合でデータを合成し、ＩＭＧ３の画素を生成する処理が記述されている。画像の合成は、外部記憶装置１３に配置されているデータ並び順、つまり１ライン目のＹデータ１〜ｍ、Ｃデータ１〜ｍ・・・の順に演算していく。
【００３１】
ここでは４つのメモリ空間１〜４が使用され、合成処理を行うときに、メモリ空間１はＩＭＧ１のリード専用メモリ空間、メモリ空間２はＩＭＧ２のリード専用メモリ空間、メモリ空間３はプログラムのリード／ライトメモリ空間、メモリ空間４はＩＭＧ３のライトメモリ空間として使用するよう、アドレス情報を制御する。
【００３２】
本処理形態ではメモリ空間１〜３は先読みオン、連続先読み機能を利用するものとする。メモリ空間３はライトスルーであり、メモリ空間４はライトバック方式で外部記憶装置１３へデータを書き込む。
【００３３】
ここで、ＩＭＧ１のＹデータのうち、ｙライン目のｘ画素のデータをＩＭＧ１＿Ｙ（ｘ，ｙ）と表すものとすると、プロセッサ部１４０は、ＩＭＧ３＿Ｙ（ｘ，ｙ）を演算するときには、その処理を記述したプログラムをフェッチしながら、ＩＭＧ１＿Ｙ（ｘ，ｙ）、ＩＭＧ２＿Ｙ（ｘ，ｙ）へのアクセスを行う。
【００３４】
１ライン１画素目の演算を開始するとき、メモリ空間１のページ１には、ＩＭＧ１＿Ｙ（１，１）〜ＩＭＧ１＿Ｙ（ｌ，１）のデータが、外部記憶装置１３から読み出される。同様に、メモリ空間２のページ１にはＩＭＧ２＿Ｙ（１，１）〜ＩＭＧ２＿Ｙ（ｌ，１）が、メモリ空間３にはプログラムの１ページがそれぞれ読み出される。
【００３５】
また、連続先読み機能を利用するので、メモリコントローラ１１０は外部記憶装置１３へのアクセスがない期間を利用し、各メモリ空間１、２、３のページ２に、それぞれページ１に格納されているデータの次のページが読み出される。
【００３６】
ＩＭＧ３＿Ｙ（１，１）のデータ生成が完了すると、プロセッサ部１４０は、メモリ空間４を介して、外部記憶装置１３にデータを書き込む処理を行う。メモリ空間４は、ライトバック方式が選択されているので、１ページ分のデータが書き込まれるまで外部記憶装置１３への書き込みを待つ。つまりＩＭＧ３＿Ｙ（１，１）〜ＩＭＧ３＿Ｙ（ｌ，１）のデータ生成が完了した段階で、メモリ空間４から外部記憶装置１３への書き込みが行われる。
【００３７】
ｌ画素分の演算が終了すると、プロセッサ部１４０はＩＭＧ１＿Ｙ（ｌ＋１，１）、ＩＭＧ２＿Ｙ（ｌ＋１，１）のデータが必要になるが、連続先読み機能を利用してメモリ空間１、２のページ２にそれぞれ読み出されているため、プロセッサ部１４０は、メモリ空間１、２へのアクセス時間のみで処理を継続することができる。
【００３８】
また、このタイミングで、メモリ空間１、２のページ１には、それぞれＩＭＧ１＿Ｙ（２ｌ＋１，１）〜ＩＭＧ１＿Ｙ（３ｌ，１）のデータが読み出されており、その後の演算もメモリ空間１、２へのアクセス時間のみで処理を継続することができる。
【００３９】
図４は、プロセッサ部１４０が行う処理の流れとメモリ空間を複数備えている場合と備えていない場合に、プロセッサ部１４０がＩＭＧ１とＩＭＧ２のデータを取得する際のアクセスイメージ図である。外部記憶装置１３からデータを取得するのに必要な時間をｔ１、メモリ空間１、２からデータを取得するのに必要な時間をｔ２とする。メモリ空間を複数備えていない場合は、プロセッサ部１４０が異なるページにアクセスを行うと、再度外部記憶装置１３からデータを取得しなければならない。そのため、ｌ画素の演算を行う際にプロセッサ部１４０がデータを取得するのに要する時間は、（ｔ１−ｔ２）×（ｌ−１）の差が出ることになる。また、図４では画像データのみのデータ取得について記載したが、プログラムのフェッチも考慮すると、更に差が出ることは明らかである。
【００４０】
このように、用途別にメモリ空間１〜４を使い分けることで、連続先読み機能の効果が発揮され、バッファメモリ１５０でのヒット率が向上する。
【００４１】
《第２の処理形態》
図５は、第２の処理形態における外部記憶装置１３に配置される画像データ及びプログラムのイメージ図である。外部記憶装置１３上には、画像データ１（ＩＭＧ１）、プロセッサ部１４０が行う処理が記述されたプログラムが配置され、プロセッサ部１４０が処理した結果の画像を格納する画像データ２（ＩＭＧ２）の領域が確保されている。
【００４２】
画像のサイズはどちらもｍ画素×ｎラインであるとする。画像データは輝度成分（Ｙ）と色成分（Ｃ）で構成され、どちらも１ページにｌ画素分のデータを格納し、ｍ画素分、つまり１ラインのＹ、Ｃはそれぞれｋ（＝ｍ／ｌ）ページのデータで構成されるとする。本処理形態では、画像データは１ライン目のＹデータ１〜ｍ、Ｃデータ１〜ｍ、２ライン目のＹ、Ｃ・・・、ｎライン目のＹ、Ｃの順に配置されるものとする。
【００４３】
プログラムには各画素のＩＭＧ１のＹ、Ｃの成分を１／２にしたＩＭＧ２の画素を生成する処理が記述されている。画像の生成は、１ライン目のＹデータ１、Ｃデータ１、Ｙデータ２、Ｃデータ２・・・の順に演算していく。
【００４４】
ここでは５つのメモリ空間１〜５が使用され、メモリ空間１はＩＭＧ１のＹ成分のリード専用メモリ空間、メモリ空間２はＩＭＧ１のＣ成分のリード専用メモリ空間、メモリ空間３はプログラムのリード／ライトメモリ空間、メモリ空間４はＩＭＧ２のＹ成分のライトメモリ空間、メモリ空間５はＩＭＧ２のＣ成分のライトメモリ空間として使用するよう、アドレス情報を制御する。
【００４５】
本処理形態では、メモリ空間１、２はラインオフセット先読み機能を、メモリ空間３は連続先読み機能を使用するものとする。メモリ空間１、２のラインオフセットにはｋを指定する。メモリ空間３はライトスルー、メモリ空間４、５はライトバックを指定する。
【００４６】
プロセッサ部１４０は、先読み機能をオンにし、１ライン１画素目の演算を開始する。このとき、メモリ空間１のページ１には、ＩＭＧ１＿Ｙ（１，１）〜ＩＭＧ１＿Ｙ（ｌ，１）のデータが、メモリ空間２のページ１には、ＩＭＧ１＿Ｃ（１，１）〜ＩＭＧ１＿Ｃ（ｌ，１）のデータが外部記憶装置１３から読み出される。
【００４７】
メモリ空間１、２はラインオフセット先読み機能を使用するので、ｋページ分つまりＩＭＧ１＿Ｙ（ｍ，１）、ＩＭＧ１＿Ｃ（ｍ，１）まで、両メモリ空間１、２は連続して先読みを行う。その後、ラインオフセットで指定されたページ分オフセットを加算したページ、つまり２ライン目のＹデータ及びＣデータの最初の１ページをそれぞれ先読みする。メモリ空間１はＩＭＧ１＿Ｙ（１，２）〜ＩＭＧ１＿Ｙ（ｌ，２）を、メモリ空間２はＩＭＧ１＿Ｃ（１，２）〜ＩＭＧ１＿Ｃ（ｌ，２）を、それぞれ先読みする。この構成によって、１ライン目最終画素のＣデータの演算が終了し、２ライン目の先頭画素Ｙデータの演算に移る際も、メモリ空間１、２でヒットさせることができる。
【００４８】
プロセッサ部１４０は、メモリ空間４、メモリ空間５を介して、外部記憶装置１３にデータを書き込む処理を行う。メモリ空間４は、ライトバック方式が選択されているので、１ページ分のデータが書き込まれるまで外部記憶装置１３への書き込みを待つ。つまりＩＭＧ２＿Ｙ（１，１）〜ＩＭＧ２＿Ｙ（ｌ，１）のデータ生成が完了した段階で、メモリ空間４から外部記憶装置１３への書き込みが行われる。Ｃデータについても同様に、ｌ画素のデータ生成が完了した段階で、外部記憶装置１３への書き込みが行われる。
【００４９】
１ライン目のＹデータ１、Ｃデータ１、Ｙデータ２、Ｃデータ２・・・、２ライン目のＹデータ１、Ｃデータ１・・・の順に演算していく際に、画像データは常にメモリ空間１、２でヒットするため、プロセッサ部１４０はメモリ空間１、２へのアクセス時間のみで処理を終了することができる。
【００５０】
このように、用途別にメモリ空間１〜５を使い分けることで、先読み機能の効果が発揮され、バッファメモリ１５０でのヒット率が向上する。
【００５１】
《第３の処理形態》
図６は、第３の処理形態における外部記憶装置１３に配置される画像データ及びプログラムのイメージ図である。外部記憶装置１３上には、アドレスＡから画像データ１（ＩＭＧ１）、アドレスＢから画像データ２（ＩＭＧ２）、アドレスＤからプロセッサ部１４０が行う処理が記述されたプログラムが配置され、プロセッサ部１４０が処理した結果の画像を格納するアドレスＣから画像データ３（ＩＭＧ３）の領域が確保されている。
【００５２】
本処理形態の構成では、４つのメモリ空間１〜４を用いるものとする。各メモリ空間１〜４は、メモリコントローラ１１０に備えるレジスタにて、外部記憶装置１３へのアクセス領域が指定されており、メモリ空間１はアドレスＡからアドレスＢ−１、メモリ空間２は、アドレスＢからアドレスＣ−１、メモリ空間３はアドレスＤから最終アドレス、メモリ空間４はアドレスＣからアドレスＤ−１がそれぞれアクセス範囲となっている。
【００５３】
また、メモリ空間１、メモリ空間２はリード専用、メモリ空間４はライト専用、メモリ空間３はリード／ライトメモリ空間として使用するものとする。メモリ空間１〜３は先読みオン、連続先読み機能を利用するものとする。メモリ空間３はライトスルー方式であり、メモリ空間４はライトバック方式で外部記憶装置１３へデータを書き込む。なお、先読みするアドレスがメモリ空間１、２、３の各々のアクセス範囲を超えてしまうときは、先読みを中止するものとする。
【００５４】
プロセッサ部１４０からメモリ空間コントローラ１６０へ渡すアドレス情報は、外部記憶装置１３のアドレスそのものである。メモリ空間コントローラ１６０は、プロセッサ部１４０からアクセスリクエストがあったら、アドレス情報がいずれのメモリ空間のアクセス範囲かを判断し、アクセスするメモリ空間を決定する。
【００５５】
ＩＭＧ１、ＩＭＧ２の画像サイズはどちらもｍ画素×ｎラインであるとする。画像データは輝度成分（Ｙ）と色成分（Ｃ）で構成され、どちらも１ページにｌ画素分のデータを格納し、ｍ画素分、つまり１ラインのＹ、Ｃはそれぞれｋ（＝ｍ／ｌ）ページのデータで構成されるとする。本処理形態では、画像データは１ライン目のＹデータ１〜ｍ、Ｃデータ１〜ｍ、２ライン目のＹ、Ｃ・・・、ｎライン目のＹ、Ｃの順に配置されるものとする。
プログラムには各画素のＩＭＧ１とＩＭＧ２のＹ、Ｃを用いて、所定の割合でデータを合成し、ＩＭＧ３の画素を生成する処理が記述されている。画像の合成は、外部記憶装置１３に配置されているデータ並び順、つまり１ライン目のＹデータ１〜ｍ、Ｃデータ１〜ｍ・・・の順に演算していく。
【００５６】
ここで、ＩＭＧ１のＹデータのうち、ｙライン目のｘ画素のデータをＩＭＧ１＿Ｙ（ｘ，ｙ）と表すものとすると、プロセッサ部１４０は、ＩＭＧ３＿Ｙ（ｘ，ｙ）を演算するときには、その処理を記述したプログラムをフェッチしながら、ＩＭＧ１＿Ｙ（ｘ，ｙ）、ＩＭＧ２＿Ｙ（ｘ，ｙ）へのアクセスを行う。
【００５７】
１ライン１画素目の演算を開始するとき、メモリ空間１のページ１には、ＩＭＧ１＿Ｙ（１，１）〜ＩＭＧ１＿Ｙ（ｌ，１）のデータが、外部記憶装置１３から読み出される。同様に、メモリ空間２のページ１にはＩＭＧ２＿Ｙ（１，１）〜ＩＭＧ２＿Ｙ（ｌ，１）、メモリ空間３にはプログラムの１ページがそれぞれ読み出される。
【００５８】
また、連続先読み機能を利用するので、各メモリ空間１、２、３のページ２には、それぞれページ１に格納されているデータの次のページが読み出される。
【００５９】
ＩＭＧ３＿Ｙ（１，１）のデータ生成が完了すると、プロセッサ部１４０は、メモリ空間４を介して、外部記憶装置１３にデータを書き込む処理を行う。メモリ空間４は、ライトバック方式が選択されているので、１ページ分のデータが書き込まれるまで外部記憶装置１３への書き込みを待つ。つまりＩＭＧ３＿Ｙ（１，１）〜ＩＭＧ３＿Ｙ（ｌ，１）のデータ生成が完了した段階で、メモリ空間４から外部記憶装置１３への書き込みが行われる。
【００６０】
ｌ画素分の演算が終了すると、プロセッサ部１４０はＩＭＧ１＿Ｙ（ｌ＋１，１）、ＩＭＧ２＿Ｙ（ｌ＋１，１）のデータが必要になるが、連続先読み機能を利用してメモリ空間１、２のページ２にそれぞれ読み出されているため、プロセッサ部１４０は、メモリ空間１、２へのアクセス時間のみで処理を継続することができる。
【００６１】
また、このタイミングで、メモリ空間１、２のページ１には、それぞれＩＭＧ１＿Ｙ（２ｌ＋１，１）〜ＩＭＧ１＿Ｙ（３ｌ，１）のデータが読み出されており、その後の演算もメモリ空間１、２へのアクセス時間のみで処理を継続することができる。
【００６２】
このように、用途別にメモリ空間１〜４を使い分けることで、連続先読み機能の効果が発揮され、バッファメモリ１５０でのヒット率が向上する。
【００６３】
《第４の処理形態》
図７は、第４の処理形態でプロセッサ部１４０が実行する画像処理のイメージを示している。ｍ画素×ｎラインで構成されるＩＭＧ１を右に９０°回転させ、ｎ画素×ｍラインで構成されるＩＭＧ２を生成する。
【００６４】
図８は、本処理形態における外部記憶装置１３のイメージ図である。外部記憶装置１３上には、画像データ１（ＩＭＧ１）、プロセッサ部１４０が行う処理が記述されたプログラムが配置され、プロセッサ部１４０が処理した結果の画像を格納する画像データ２（ＩＭＧ２）の領域が確保されている。
【００６５】
どちらの画像も輝度成分（Ｙ）と色成分（Ｃ）で構成され、どちらも１ページにｌ画素分のデータを格納する。ＩＭＧ１では１ラインのＹ、Ｃはそれぞれｋ（＝ｍ／ｌ）ページのデータで構成される。ＩＭＧ２では１ラインのＹ、Ｃはそれぞれｊ（＝ｎ／ｌ）ページのデータで構成される。また図８に示すように、Ｙ、Ｃのデータは１画像分のＹ及びＣデータをそれぞれまとめて、Ｙ１〜Ｙｎ（ＩＭＧ２ではｍライン）ライン、Ｃ１〜Ｃｎ（ＩＭＧ２ではｍライン）の順に配置される。
【００６６】
本処理形態では、５つのメモリ空間１〜５を用い、メモリ空間１はＩＭＧ１のＹ成分のリード専用メモリ空間、メモリ空間２はＩＭＧ１のＣ成分のリード専用メモリ空間、メモリ空間３はプログラムのリード／ライトメモリ空間、メモリ空間４はＩＭＧ２のＹ成分のライトメモリ空間、メモリ空間５はＩＭＧ２のＣ成分のライトメモリ空間として使用するよう、各メモリ空間１〜５のアクセス範囲を指定する。また、メモリ空間１、２、３はオフセット先読み機能を使用するものとし、オフセットには、ｋページを指定する。外部記憶装置１３への書き込み動作は、メモリ空間３はライトスルー、メモリ空間４、５はライトバックを指定する。なお、先読みするアドレスがメモリ空間１、２、３の各々のアクセス範囲を超えてしまうときは、先読みを中止するものとする。
【００６７】
プロセッサ部１４０は、まず、ＩＭＧ１の左上端にあたる画素データを読み出し、この画素データがＩＭＧ２の右上端に位置するよう、外部記憶装置１３に書き込む。このとき、外部記憶装置１３への書き込みの効率が良くなるよう、ページ単位つまりｌ画素単位で書き込むよう処理を行う。したがって、図７に示すように、ｌ画素×ｌラインのブロックごとに、データの並べ替え処理を行い、回転させた結果をｌ画素単位で外部記憶装置１３へ書き込む。また、ＹとＣの並べ替えは同時に行うものとする。プログラム上でｌ画素×ｌラインのブロックデータを格納するメモリを確保し、このメモリには、ＩＭＧ２のデータ順に並べ替えた結果を格納するものとする。
【００６８】
先読み機能をオンにし、プロセッサ部１４０はまず、ＩＭＧ１＿Ｙ（１，１）〜ＩＭＧ１＿Ｙ（ｌ，１）のデータを取得し、データの並べ替えを行い、メモリに格納しておく。このとき、メモリ空間１のページ１にはＩＭＧ１＿Ｙ（１，１）〜ＩＭＧ１＿Ｙ（ｌ，１）が外部記憶装置１３から読み出され、プロセッサ部１４０がデータを取得する。オフセット先読み機能を使用しているので、ページ２には、オフセットｋページを加算したページ、つまりＩＭＧ１＿Ｙ（１，２）〜ＩＭＧ１＿Ｙ（ｌ，２）のデータが読み出されている。プロセッサ部１４０は、ＩＭＧ１の１ライン目１〜ｌ画素のデータを並べ替え終えると、ＩＭＧ１の２ライン目１〜ｌ画素のデータを取得して並べ替える処理を行うが、このときメモリ空間２に既にデータが読み出されているため、メモリ空間２へのアクセス時間のみでデータを取得することができる。このように順次ｌラインのデータを読み出し、並べ替えを行うが、全てメモリ空間１でヒットするため、メモリ空間１へのアクセス時間のみで処理を行うことができる。また、垂直方向へとブロックの走査を進めていくことで、ｎライン分のデータ並べ替えの間は、メモリ空間１でヒットさせることができる。
【００６９】
Ｃデータについても、メモリ空間２を使用して同様の処理を行う。また、ＹデータとＣデータとで別々のメモリ空間１、２を使用しているので、並列に処理を行う場合でも、メモリ空間１、２でのヒット率は向上する。
【産業上の利用可能性】
【００７０】
以上説明してきたとおり、本発明は、デジタルカメラなど、外部記憶装置にプログラム及び画像などのデータを一次記憶する画像処理システムに利用可能性がある。
【図面の簡単な説明】
【００７１】
【図１】本発明に係る画像処理システムを備えた固体撮像装置の構成図である。
【図２】図１中のプロセッサ部とメモリ空間コントローラとの間のアドレス情報バスにおけるビット割り当て図である。
【図３】第１の処理形態における外部記憶装置のイメージ図である。
【図４】第１の処理形態における従来技術との比較図である。
【図５】第２の処理形態における外部記憶装置のイメージ図である。
【図６】第３の処理形態における外部記憶装置のイメージ図である。
【図７】第４の処理形態における画像処理イメージ図である。
【図８】第４の処理形態における外部記憶装置のイメージ図である。
【符号の説明】
【００７２】
１０  ＤＳＰ
１１  レンズ
１２  イメージセンサ
１３  外部記憶装置
１００  画像取り込み部
１１０  メモリコントローラ
１２０  画像圧縮部
１３０  表示画像出力部
１４０  プロセッサ部
１５０  バッファメモリ
１５１  メモリ空間１
１５２  メモリ空間２
１５３  メモリ空間３
１５４  メモリ空間４
１５５  メモリ空間５
１６０  メモリ空間コントローラ
【図１】
2009003632.tif 000003
【図２】
2009003632.tif 000004
【図３】
2009003632.tif 000005
【図４】
2009003632.tif 000006
【図５】
2009003632.tif 000007
【図６】
2009003632.tif 000008
【図７】
2009003632.tif 000009
【図８】
2009003632.tif 000010