(57)【要約】【課題】画像メモリに対してシステムバスを介して、画像処理部が接続されて、動き検出を行う場合に、適切なメモリアクセスが行えるようにする。【解決手段】ターゲットフレームの画像データと参照フレームの画像データとの間で、動きベクトルをブロック単位で算出する画像処理部１６を備える。その画像処理部１６での処理のために、過去のフレームの画像データを、参照フレームの画像データとして保持する参照フレーム用画像メモリ４０を備える。また、画像処理部１６での算出を行う際に、参照フレームのマッチング処理範囲を保持する１次メモリ１６ａを備える。さらに、参照フレーム用画像メモリ４０に記憶された参照フレームの画像データから、必要な範囲の画像データを読み出して保持し、保持された画像データから、マッチング処理範囲のデータを読み出して、１次メモリ１６ａに供給する２次メモリ６０を備える。【選択図】図１
2012142865.tif 000002
【特許請求の範囲】
【請求項１】
ターゲットフレームの画像データと参照フレームの画像データとの間で、動きベクトルをブロック単位で算出する画像処理部と、
過去のフレームの画像データを、参照フレームの画像データとして保持する参照フレーム用画像メモリと、
前記画像処理部での算出を行う際に、参照フレームのマッチング処理範囲を保持する１次メモリと、
前記参照フレーム用画像メモリに記憶された参照フレームの画像データから、必要な範囲の画像データを読み出して保持し、保持された画像データから、前記マッチング処理範囲のデータを読み出して、前記１次メモリに供給する２次メモリとを備えた
画像処理装置。
【請求項２】
前記参照フレーム用画像メモリは、所定のフォーマットに変換された画像データを保持するメモリであり、
前記参照フレーム用画像メモリに保持された画像データを前記２次メモリに供給する際に、前記所定のフォーマットからのフォーマット変換を行う
請求項１記載の画像処理装置。
【請求項３】
前記参照フレーム用画像メモリは、所定のフォーマットで圧縮処理された画像データを保持するメモリであり、
前記参照フレーム用画像メモリに保持された画像データを前記２次メモリに供給する際に、前記圧縮処理された画像データを伸張処理してから供給する
請求項１記載の画像処理装置。
【請求項４】
前記画像処理部は、動きベクトルの検出に基づいて、ターゲットフレームの画像データに参照フレームの画像データを加算する位置を設定し、その設定された位置で複数フレームの画像の加算処理を行う
請求項１記載の画像処理装置。
【請求項５】
前記画像処理部での複数フレームの画像の加算処理で、画像のノイズ除去又はノイズ低減を行う
請求項４記載の画像処理装置。
【請求項６】
ターゲットフレームの画像データと参照フレームの画像データとの間で、動きベクトルをブロック単位で算出する画像処理と、
過去のフレームの画像データを、参照フレームの画像データとして保持する参照フレーム保持処理と、
前記画像処理での動きベクトルの算出を行う際に、参照フレームのマッチング処理範囲を、前記画像処理で参照できる状態で保持するマッチング処理範囲保持処理と、
前記参照フレーム保持処理で保持された参照フレームの画像データから、必要な範囲の画像データを読み出して保持し、その保持した画像データの一部を読み出して前記マッチング処理範囲保持処理に送る中間保持処理とを行う
画像処理方法。
【請求項７】
前記参照フレーム保持処理は、所定のフォーマットに変換された画像データを保持する処理であり、
前記参照フレーム保持処理で保持された画像データを読み出して前記中間保持処理を行う際に、前記所定のフォーマットからのフォーマット変換を行う
請求項６記載の画像処理方法。
【請求項８】
前記参照フレーム保持処理は、所定のフォーマットで圧縮処理された画像データを保持するメモリであり、
前記参照フレーム保持処理で保持された画像データを読み出して前記中間保持処理を行う際に、前記圧縮処理された画像データを伸張処理してから供給する
請求項６記載の画像処理方法。
【請求項９】
前記画像処理は、動きベクトルの検出に基づいて、ターゲットフレームの画像データに参照フレームの画像データを加算する位置を設定し、その設定された位置で複数フレームの画像を加算する処理である
請求項６記載の画像処理方法。
【請求項１０】
前記画像処理での複数フレームの画像の加算処理で、画像のノイズ除去又はノイズ低減を行う
請求項９記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、システムバスを介して画像メモリ部と、種々の画像処理部とが接続され、画像メモリをアクセスしながら、種々の画像処理部がそれぞれの画像データ処理を実行する画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
２つの画面間の動きベクトルを、画像情報自身から求めるブロックマッチング手法は、歴史の古い技術である。テレビジョンカメラのパン・チルト検出や被写体追尾、ＭＰＥＧ（Ｍｏｖｉｎｇ Ｐｉｃｔｕｒｅ Ｅｘｐｅｒｔｓ Ｇｒｏｕｐ）方式の動画符号化などを中心に開発が進んだ。また、９０年代に入ってからは、画像の重ね合わせによる、センサレス手ブレ補正や低照度撮影時のノイズ除去（Ｎｏｉｓｅ Ｒｅｄｕｃｔｉｏｎ：以降、ＮＲと表記する）など多岐に渡って応用が進められている。
【０００３】
ブロックマッチングは、注目画面である参照画面と、当該参照画面の動きの元となる元画面（ターゲット画面と称する）との間の２画面間の動きベクトルを算出する方法である。この２画面間の動きベクトルの算出時に、所定の大きさの矩形領域のブロックについて、参照画面と元画面との間での相関を算出することにより算出する。元画面が時間的に参照画面よりも前の画面とされる場合（例えば、ＭＰＥＧにおける動き検出の場合）と、参照画面が時間的に元画面よりも前の画面とされる場合（例えば、後述する画像フレームの重ね合わせによるノイズ低減の場合）の両方がある。
【０００４】
なお、この明細書で、画面とは、１フレームまたは１フィールドの画像データからなり、１枚分としてディスプレイに表示される画像を意味しているものとしている。但し、この明細書における以下の説明の便宜上、画面は１フレームからなるものとして、画面をフレームと称する場合もある。例えば、参照画面は参照フレーム、元画面は元フレームと称する場合もある。
【０００５】
ブロックマッチング手法は、ターゲットフレームを、複数個のターゲットブロックに分割し、各ターゲットブロックに対して、参照フレームに検索範囲を設定する。そして、画像メモリから、ターゲットフレームのターゲットブロックと参照フレームの検索範囲内の参照ブロックを読み出し、各画素の差分値絶対和を計算する。以下の説明では、差分値絶対和をＳＡＤ値と称する。ＳＡＤ値を計算すると、検索範囲の広さ分のＳＡＤ値テーブルを形成する。そして、そのＳＡＤ値テーブル内のＳＡＤ値の最小値の座標値をターゲットブロックについての動きベクトルとしている。
【０００６】
ブロックマッチングを行う際に画像データを記憶する画像メモリと、動きベクトル検出部などとは、システムバスを通じて接続され、メモリコントローラにより、画像メモリに対する書き込みおよび読み出しが制御される。
【０００７】
ブロックマッチング手法では、画像メモリからの画素単位のデータについてのＳＡＤ値を計算するようにするので、画像自体の画素数や、検索範囲の広さに比例して、画像メモリへのアクセスが多くなり、バス帯域を大きくする必要がある。ここで、バス帯域とは、データを転送するバス上で、輻輳を回避してデータ転送することができるデータレートおよびバス幅（ビット数）などからなる量である。バス帯域が大きくなると、システムの規模が大きくなると共に、コストが増大するという問題がある。
【０００８】
この問題に対して、従来、画像に動きが無い静止状態であれば、マッチング処理をしない手法や、参照フレームの画像を間引いて情報量を落とす手法などが提案されている。
また、ブロックマッチング精度を落とさずに、バス帯域を削減する方法としては、参照フレームの参照ブロックの共有部分を保持しておき、追加部分のみを更新する手法が有効である。
【０００９】
しかしながら、これらの手法は、ブロックマッチングの精度を落とすものであって、高い精度が求められないような、ある限定されたアプリケーションにしか適用できないという問題がある。
ここで、参照フレームの参照ブロックの共有部分を保持しておき、追加部分のみを更新する手法を適用すれば、ブロックマッチング精度を落とさずにバス帯域を削減することができる。しかしながら、マッチング処理を行うブロックの順番が重要になり、隣り合うブロックを続けてマッチング処理しない場合、マッチング処理の順番が特定できない場合などについてはバス帯域削減を図れないという問題がある。
【００１０】
また、画像メモリに対してシステムバスを介して、ブロックマッチング処理部以外の複数個の画像データ処理部が接続されている場合を想定したとする。このとき、画像メモリに対する画像データのメモリアクセスの仕方を、ブロックマッチング処理のためには効率が良い方式を採用したとしても、他の画像データ処理部については、その画像メモリに対する画像データのメモリアクセス手法が適さなくなってしまう。他の画像データ処理部については、かえってバス帯域を増大する方向になってしまう場合があるという問題がある。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００９−１１６７６３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
特許文献１では、出力画像データが、画像の垂直方向のライン数と水平方向の画素数の組み合わせが異なる２種類のブロック単位で、２つのメモリ領域に書き込まれる手法が提案されている。この手法では、後段回路へのデータ受け渡しに適したフォーマットと、ブロックマッチングに適したデータフォーマットの両方を用意することによって、両方の要求を満たしているものの、ＤＲＡＭ上のメモリ容量は２倍になっている。従って、バス帯域削減という問題は解決しているものの、新たにメモリ容量や消費電力という問題を生んでいた。
【００１３】
バス帯域とメモリ容量は密接な関係にあり、どちらかだけを削減しても、システムコスト削減にはつながらず、両方とも削減してはじめて価値がある。
【００１４】
この発明は、以上の点にかんがみ、画像メモリに対してシステムバスを介して、複数個の画像データ処理部が接続されている場合において、上述の問題点を回避しながら、バス帯域の削減とメモリ容量の削減を図ることを目的とする。
【課題を解決するための手段】
【００１５】
本発明は、ターゲットフレームの画像データと参照フレームの画像データとの間で、動きベクトルをブロック単位で算出する画像処理部を備えた画像処理装置に適用される。
その画像処理部での処理のために、過去のフレームの画像データを、参照フレームの画像データとして保持する参照フレーム用画像メモリを備える。また、画像処理部での算出を行う際に、参照フレームのマッチング処理範囲を保持する１次メモリを備える。さらに、参照フレーム用画像メモリに記憶された参照フレームの画像データから、必要な範囲の画像データを読み出して保持し、保持された画像データから、マッチング処理範囲のデータを読み出して、１次メモリに供給する２次メモリとを備える。さらに、データ圧縮器と伸長器を備える。
【００１６】
本発明によると、ＤＲＡＭなどの大容量メモリで構成される参照フレーム用画像メモリは、記憶された画像データを後段の回路で使用する際に都合のよいフォーマットなどで記録させる構成とするとすることができる。一方、１次メモリについては、２次メモリを介してマッチング処理範囲の画像データが供給されるので、２次メモリ側で変換することで、ブロックマッチングに適したフォーマットの画像データとして保持させることが容易にできる。また、大容量メモリの画像データを圧縮して効率よく記録することも可能になる。
【発明の効果】
【００１７】
本発明によると、大容量メモリで構成される参照フレーム用画像メモリは、記憶された画像データを後段の回路で使用する際に都合のよいフォーマットなどで記録させることができ、例えば圧縮して効率よく記録することが可能になる。また、１次メモリについては、２次メモリで事前にブロックマッチングに適したフォーマットに変換されたデータの供給を受けることで、ブロックマッチング処理を、効率よく行うことができるようになる。従って、２次メモリを設けたことで、大容量メモリで構成される参照フレーム用画像メモリの記録効率向上と、１次メモリでのブロックマッチング処理用のデータの取得処理効率向上とを両立させて、適切なメモリアクセスが行える効果を有する。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施の形態による画像処理装置としての撮像装置の構成例を示すブロック図である。
【図２】本発明の一実施の形態による自動メモリコピー部の構成例を示すブロック図である。
【図３】本発明の一実施の形態の撮像装置における撮像画像のノイズ低減処理例を示す説明図である。
【図４】本発明の一実施の形態の撮像装置における撮像画像のノイズ低減処理例を示す説明図である。
【図５】基底面と縮小面の例を示す説明図である。
【図６】基底面と縮小面の例を示す説明図である。
【図７】基底面と縮小面での処理例を示す説明図である。
【図８】本発明の一実施の形態の撮像装置における動き検出・動き補償部における動作例を示す説明図である。
【図９】本発明の一実施の形態の撮像装置における動き検出・動き補償部の構成例を示すブロック図である。
【図１０】本発明の一実施の形態の動き検出・動き補償部の一部の詳細構成例のブロック図である。
【図１１】本発明の一実施の形態の動き検出・動き補償部の一部の詳細構成例のブロック図である。
【図１２】本発明の一実施の形態の撮像装置における画像重ね合わせ部の構成例を示すブロック図である。
【図１３】本発明の一実施の形態の撮像装置における画像処理例を説明するためのフローチャートである。
【図１４】本発明の一実施の形態の撮像装置における画像処理例を説明するためのフローチャートである。
【図１５】本発明の一実施の形態の撮像装置における画像処理例を説明するためのフローチャートである。
【図１６】本発明の一実施の形態の動きベクトル算出部の処理動作例を説明するためのフローチャートである。
【図１７】本発明の一実施の形態の動きベクトル算出部の処理動作例を説明するためのフローチャートである。
【図１８】短冊アクセス形式を示す説明図である。
【図１９】画像データのメモリアクセス方式を示す説明図である。
【図２０】画像の処理単位の例を示す説明図である。
【図２１】画像データのメモリアクセス動作を示す説明図である。
【図２２】画像データのメモリアクセス動作を示す説明図である。
【図２３】画像データのメモリアクセス動作を示す説明図である。
【図２４】画像データのメモリアクセス動作を示す説明図である。
【図２５】画像データのメモリアクセス動作を示す説明図である。
【図２６】画像データのメモリアクセス動作を示す説明図である。
【図２７】画像データのメモリアクセス動作を示す説明図である。
【図２８】画像データのメモリアクセス動作を示す説明図である。
【図２９】画像データのメモリアクセス動作を示す説明図である。
【図３０】画像データのメモリアクセス動作を示す説明図である。
【図３１】本発明の一実施の形態による画像処理例を説明するためのフローチャートである。
【図３２】本発明の一実施の形態による画像処理例を説明するためのフローチャートである。
【図３３】本発明の一実施の形態による画像処理例を説明するためのフローチャートである。
【図３４】本発明の一実施の形態によるメモリ上のフォーマット例を示す説明図である。
【図３５】本発明の一実施の形態によるメモリ上のフォーマット例を示す説明図である。
【図３６】本発明の一実施の形態によるメモリにコピーする領域の変化例を示す説明図である。
【図３７】本発明の一実施の形態によるメモリにコピーする領域の変化例を示す説明図である。
【図３８】本発明の一実施の形態の例の処理を他の例と比較した説明図である。
【発明を実施するための形態】
【００１９】
以下、本発明の一実施の形態の例を、以下の順序で説明する。
１．撮像装置の構成（図１，図３，図４）
２．メモリコピー部の構成（図２）
３．動き検出・動き補償部の説明（図５〜図１２）
４．撮像画像のノイズ低減処理の流れ（図１３〜図１５）
５．階層化ブロックマッチング処理の流れの例（図１６〜図１７）
６．メモリ上のフォーマットの説明（図１８〜図３０）
７．２次メモリを使用した処理の説明（図３１〜図３８）
【００２０】
［１．撮像装置の構成］
この発明による画像処理装置の実施の形態として、撮像装置の場合を例にとって、図を参照しながら説明する。
ここでの撮像装置は、ブロックマッチングにより２画面間の動きベクトルを検出し、検出した動きベクトルを用いて動き補償画像を生成し、生成した動き補償画像とノイズ低減対象の画像を重ね合わせてノイズ低減を行う画像処理を行う画像処理部を備える。まず、この画像処理の概要について説明する。
【００２１】
ここでは、連続して撮影された複数枚の画像を、動き検出および動き補償を用いて位置合わせをした後、重ね合わせ（加算）することで、ノイズが低減された画像を得ることができるようにしている。すなわち、複数枚の画像のそれぞれにおけるノイズはランダムなものであるので、同一内容の画像を重ね合わせることで、画像に対してノイズが低減されるものである。
【００２２】
以下の説明において、動き検出および動き補償を用いて複数枚の画像を重ね合わせて、ノイズを低減することをＮＲ（Ｎｏｉｓｅ Ｒｅｄｕｃｔｉｏｎ）と呼び、ＮＲによりノイズ低減された画像をＮＲ画像と称することとする。
【００２３】
また、この明細書では、ノイズ低減を施したい画面（画像）をターゲット画面（ターゲットフレーム）、重ね合わせたい画面を参照画面（参照フレーム）と定義する。連続して撮影された画像は、撮影者の手ブレなどにより、画像の位置がずれており、両画像の重ね合わせを行うには、位置合わせが重要となる。ここで、考慮しなければならないのは、手ブレのような画面全体のブレと共に、画面内における被写体の動きも存在することである。
【００２４】
この例の撮像装置において、静止画撮影時は、図３に示すように、高速で複数枚の画像の撮影を行い、１枚目の撮影画像をターゲットフレーム１００とする。そして、２枚目以降、所定枚数の撮影画像を参照フレーム１０１とし、ターゲットフレーム１００と参照フレーム１０１との重ね合わせを行い、その重ね合わせたものを静止画撮影画像として記録するようにする。すなわち、撮影者が撮像装置のシャッターボタンを押下操作すると、高速で前記所定枚数の画像が撮影され、その１枚目に撮影した画像（フレーム）に対して、時間的に後で撮影された複数枚の画像（フレーム）が、重ね合わされることになる。
【００２５】
また、動画撮影時は、図４のように、撮像素子から出力されている現フレームの画像をターゲットフレーム１００の画像とし、その前フレームの過去の画像を参照フレーム１０１の画像とする。したがって、現フレームの画像のノイズ低減を行うために、現フレームの前フレームの画像を現フレームに重ね合わせるということになる。
【００２６】
このような動き検出及び動き補償を行う撮像装置の構成について、図１を参照して説明する。
図１に示す撮像装置は、システムバス２にＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）１が接続されると共に、システムバス２に、撮像信号処理系や、ユーザ操作入力部３、大容量メモリ４０、記録再生装置部５などが接続されて構成されている。なお、ＣＰＵ１は、図示は省略するが、種々のソフトウエア処理を行なうプログラムを記憶するＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）やワークエリア用ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）などを含むものとしている。本明細書で説明するＣＰＵ１以外のＣＰＵについても同様である。
大容量メモリ４０は、ＤＲＡＭなどの比較的大容量のメモリとそのコントローラとで構成され、１フレーム又は複数フレームの画像データを記憶する容量の画像メモリである。メモリのコントローラは、メモリ４０の外部に設けて、システムバス２などを介して書き込み及び読み出しが制御される構成でもよい。なお、以下の説明では、大容量メモリ４０は画像メモリ４０と称する。
【００２７】
ユーザ操作入力部３を通じた撮像記録開始操作を受けて、図１の撮像装置の撮像信号処理系は、後述するような撮像画像データの記録処理を行なう。また、ユーザ操作入力部３を通じた撮像記録画像の再生開始操作を受けて、図１の撮像装置の撮像信号処理系は、記録再生装置部５の記録媒体に記録された撮像画像データの再生処理を行なう。
【００２８】
図１に示すように、撮像信号処理系として、撮像レンズ１０Ｌを備えるカメラ光学系（図示は省略）を通じた被写体からの入射光は、撮像素子１１に照射されて撮像される。この例では、撮像素子１１は、ＣＣＤ（Ｃｈａｒｇｅ Ｃｏｕｐｌｅｄ Ｄｅｖｉｃｅ）イメージャで構成されている。なお、撮像素子１１は、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ Ｍｅｔａｌ Ｏｘｉｄｅ Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）イメージャなどの他のイメージャで構成してもよい。
【００２９】
この例の撮像装置においては、撮像記録開始操作がなされると、レンズ１０Ｌを通じて入力された映像が、撮像素子１１により撮像画像信号に変換される。この撮像画像信号は、タイミング信号発生部１２からのタイミング信号に同期した信号として、赤（Ｒ）、緑（Ｇ）、青（Ｂ）の３原色から構成されるベイヤー配列のＲＡＷ信号（生の信号）であるアナログ撮像信号として出力される。出力されたアナログ撮像信号は、前処理部１３に供給され、欠陥補正やγ補正等の前処理が施され、データ変換部１４に供給される。
【００３０】
データ変換部１４は、これに入力されたＲＡＷ信号であるアナログ撮像信号を、輝度信号成分Ｙと、色差信号成分Ｃｂ／Ｃｒとにより構成されるデジタル画像データ（ＹＣデータ）に変換し、そのデジタル画像データを、ターゲット画像として、動き検出・動き補償部１６に供給する。動き検出・動き補償部１６内では、バッファメモリ１６ａのターゲット画像用の領域に記憶させる。
【００３１】
また、動き検出・動き補償部１６では、既に画像メモリ４０に書き込まれた以前のフレームの画像信号を、参照画像として、自動メモリコピー部５０及び２次メモリ６０を介して取得する。その習得した参照画像の画像データは、動き検出・動き補償部１６のバッファメモリ１６ａの参照画像用の領域に記憶させる。バッファメモリ１６ａの具体的な構成例については後述する。このバッファメモリ１６ａが、後述する内部１次メモリとして使用される。以下の説明では、バッファメモリ１６ａを１次メモリ又は内部１次メモリと称する。
【００３２】
動き検出・動き補償部１６では、ターゲットフレームの画像データと参照フレームの画像データを使用して、後述するブロックマッチング処理がなされて、ターゲットブロック単位での動きベクトルが検出される。動きベクトルを検出する際には、縮小面のサーチと、基底面のサーチとが行われる。動きベクトルを検出する際には、その動きベクトルの検出精度を示すヒット率βが算出されて出力される。
【００３３】
そして、動き検出・動き補償部１６内で、検出された動きベクトルに基づいて、ブロック単位で動き補償が行われた動き補償画像が生成される。生成された動き補償画像と、元のターゲット画像のデータは、画像重ね合わせ部１７を構成する加算率計算部１７１及び加算部１７２に供給する。
加算率計算部１７１では、ヒット率βに基づいて、ターゲット画像と動き補償画像との加算率αが算出され、算出された加算率αを加算部１７２に供給する。
【００３４】
加算部１７２では、加算率αで、ターゲット画像のデータと、動き補償画像のデータとの加算処理を行って、画像重ね合わせ処理を行い、ノイズ低減された加算画像を得る。なお、以下の説明では、ノイズ低減された加算画像をＮＲ画像と称する。
加算部１７２が出力する重ね合わせ結果としての、ノイズ低減された加算画像の画像データは、データ圧縮部３５でデータ圧縮された後、画像メモリ４０に記憶させる。
【００３５】
データ圧縮部３５では、画像メモリ４０にデータを効率よく記憶させるための圧縮処理が行われる。ここでは、１フレームの画像データを、動き検出・動き補償部１６でのブロックマッチング処理を行う上でのターゲットブロック単位の画像データに分割して、そのターゲットブロック単位の画像データを圧縮処理する。この圧縮処理時には、１ターゲットブロック単位のデータを、さらに１ラインごとに分割して、その１ラインごとのデータを圧縮処理してある。圧縮処理する分割例については後述する（図３４など）。
【００３６】
画像メモリ４０は、圧縮処理されたＮＲ画像のデータを、１フレーム分、画像メモリ４０内の１Ｖ前フレーム記憶部４１に記憶させ保持させる。画像メモリ４０は、１Ｖ前フレーム記憶部４１の他に、２Ｖ前フレーム記憶部４２を備え、１フレーム周期ごとに、１Ｖ前フレーム記憶部４１から２Ｖ前フレーム記憶部４２に記憶データが移される。この１Ｖ前フレーム記憶部４１から２Ｖ前フレーム記憶部４２への記憶データの移動に連動して、２Ｖ前フレーム記憶部４２に記憶されていたデータは、データ伸張部３６に読み出される。
なお、図１の構成では２フレームの画像データを記憶させる構成としたが、動き検出・補償部１６などでより多くの過去の画像データが必要な場合には、より多くのフレーム数の過去の画像データを記憶させて、参照フレームとして使用する構成としても良い。
【００３７】
データ伸張部３６では、画像メモリ４０に記憶させる際に、データ圧縮部３５で圧縮した画像データを元に伸張させる処理が行われる。即ち、データ圧縮部３５で、ターゲットブロック単位で圧縮された画像データの伸張処理が行われる。データ伸張部３６で伸張された映像データは、解像度変換部３７に供給する。解像度変換部３７では、表示用や出力用の解像度の画像データに変換され、変換された画像データを記録再生装置部５で記録する場合には、動画コーデック部１９で変換される。動画コーデック部１９で変換された画像データは、記録再生装置部５で記録媒体に記録され、必要な際に記録再生装置部５で記録媒体から読み出される。
【００３８】
そして、解像度変換部３７が出力する画像データ、または記録再生装置部５で再生された画像データは、ＮＴＳＣ（Ｎａｔｉｏｎａｌ Ｔｅｌｅｖｉｓｉｏｎ Ｓｙｓｔｅｍ Ｃｏｍｍｉｔｔｅｅ）エンコーダ２０に供給される。このＮＴＳＣエンコーダ２０でＮＴＳＣ方式の標準カラー映像信号に変換され、例えば液晶表示パネルからなるモニターディスプレイ６に供給される。このようにモニターディスプレイ６に供給されることで、モニター画像がモニターディスプレイ６の表示画面に表示される。なお、図１では、図示を省略したが、ＮＴＳＣエンコーダ２０からの出力映像信号は、映像出力端子を通じて外部に導出することが可能とされている。
【００３９】
画像メモリ４０に記憶された画像データは、自動メモリコピー部５０の制御で、一部の画像データが読み出されて、２次メモリ６０に供給されて記憶される。自動メモリコピー部５０の構成については後述するが、画像データのフォーマット変換部５６を有する。
【００４０】
２次メモリ６０は、１Ｖ前フレームの一部記憶部６１と、２Ｖ前フレームの一部記憶部６２とを備える。それぞれの記憶部６１，６２の記憶データは、動き検出・動き補償部１６に供給し、参照フレームのサーチ範囲のデータとされる。１次メモリ１６ａや２次メモリ６０は、例えば、動き検出・動き補償部１６を構成する画像処理部に内蔵（又は接続）されたメモリであり、例えばＳＲＡＭから構成される。
【００４１】
［２．メモリコピー部の構成］
図２は、本実施の形態の例の自動メモリコピー部５０の構成を示した図である。
自動メモリコピー部５０は、動き検出・動き補償部３１から、キャッシュローテーションコントロール部５１に、サーチ範囲の座標情報が供給される。そのサーチ範囲の座標情報に基づいて、画像メモリ４０からの読み出しアドレスと、２次メモリ６０への書き込みアドレスが生成される。生成された読み出しアドレスは、読み出しコントロール部５２から画像メモリ４０に供給されて、読み出される。生成された書き込みアドレスは、書き込みコントロール部５３から、２次メモリ６０に供給されて、書き込まれる。
【００４２】
画像メモリ４０から読み出された画像データそのものは、データコントロール部５４による制御で転送される。すなわち、画像メモリ４０から読み出された画像データは、データ伸張部５５に供給され、画像メモリ４０への書き込み時に圧縮された画像データが、伸張処理される。このデータ伸張部５５での伸張処理は、圧縮時の単位と同じデータ単位で行われる。伸張処理された画像データは、フォーマット変換部５６で、動き検出・動き補償部３１で処理するための、データ配列（画素配列）の画像データとする、フォーマット変換が行われる。フォーマット変換された画像データが、バッファメモリ５７に一旦蓄積された後、書き込みコントロール部５３での指示に同期して、２次メモリ６０に書き込まれる。
【００４３】
［３．動き検出・動き補償部の説明］
動き検出・動き補償部１６では、絶対値差分和であるＳＡＤ値を用いてブロックマッチング処理を行うことで、動きベクトル検出を行う。
【００４４】
＜階層化ブロックマッチング処理の概要＞
一般的な従来のブロックマッチングにおける動きベクトル検出処理は、ピクセル（画素）単位（１ピクセル単位または複数ピクセル単位）で参照ブロックを移動させて、各移動位置における参照ブロックについてのＳＡＤ値を算出する。そして、その算出したＳＡＤ値の中から最小値を示すＳＡＤ値を検出し、当該最小ＳＡＤ値を呈する参照ブロック位置に基づいて動きベクトルを検出するようにする。
【００４５】
しかし、このような従来の動きベクトル検出処理では、サーチ範囲内をピクセル単位で参照ブロックを移動させるようにするので、検索するサーチ範囲に比例して、ＳＡＤ値を算出するマッチング処理回数が多くなって、マッチング処理時間が大きくなると共に、ＳＡＤテーブルの容量も大きくなるという問題があった。
【００４６】
そこで、ここでは、ターゲット画像（ターゲットフレーム）および参照画像（参照フレーム）に対して縮小画像を作成し、作成した縮小画像でブロックマッチングを行い、縮小画像での動き検出結果を基に、もとのターゲット画像でのブロックマッチングを行う。ここで、縮小画像のことを縮小面、縮小化をしていない元の画像のことを基底面と呼ぶことにする。したがって、この例では、縮小面でのブロックマッチングを行ったあと、そのマッチング結果を用いて基底面でのブロックマッチングを行う。
【００４７】
図５および図６に、ターゲットフレーム（画像）および参照フレーム（画像）の画像縮小化のイメージを示す。すなわち、この例においては、例えば図５に示すように、基底面ターゲットフレーム１３０は、水平方向および垂直方向のそれぞれを、１／ｎ（ｎは正の数）に縮小して、縮小面ターゲットフレーム１３２とする。したがって、基底面ターゲットフレーム１３０を複数個に分割して生成した基底面ターゲットブロック１３１は、縮小面ターゲットフレームでは、水平方向および垂直方向のそれぞれが１／ｎ×１／ｎに縮小された縮小面ターゲットブロック１３３となる。
【００４８】
そして、ターゲットフレームの画像縮小倍率１／ｎに合わせて、参照フレームを縮小する。すなわち、図６に示すように、基底面参照フレーム１３４は、水平方向および垂直方向のそれぞれを、１／ｎに縮小して、縮小面参照フレーム１３５とする。そして、基底面参照フレーム１３４上で検出された動き補償ブロック１０３についての動きベクトル１０４は、縮小面参照フレーム１３５では、１／ｎ×１／ｎに縮小された縮小面動きベクトル１３６として検出される。
【００４９】
なお、上記の例では、ターゲットフレームと参照フレームとの画像縮小倍率は同じとした。これに対して演算量削減のため、ターゲットフレーム（画像）と参照フレーム（画像）とで異なる画像縮小倍率を用い、画素補間等の処理で、両フレームの画素数を合わせて、マッチングを行うようにしてもよい。
【００５０】
また、水平方向および垂直方向のそれぞれの縮小倍率を同一としたが、水平方向と垂直方向とで、縮小倍率を異ならせるようにしても良い。例えば水平方向は１／ｎに縮小し、垂直方向は、１／ｍ（ｍは正の数で、ｎ≠ｍ）に縮小する場合には、縮小画面は、元の画面の１／ｎ×１／ｍの大きさになる。
【００５１】
図７に、縮小面参照ベクトルと基底面参照ベクトルの関係を示す。基底面参照フレーム１３４において、動き検出原点１０５と、サーチ範囲１０６が、図７（Ａ）に示すように決定されたとする。このとき、１／ｎ×１／ｎに画像縮小された縮小面参照フレーム１３５上では、図７（Ｂ）に示すように、サーチ範囲は、１／ｎ×１／ｎに縮小された縮小面サーチ範囲１３７とされる。
【００５２】
そして、この例では、縮小面サーチ範囲１３７内において、縮小面参照フレーム１３５での動き検出原点１０５からの位置ズレ量を表す縮小面参照ベクトル１３８を設定する。そして、それぞれの縮小面参照ベクトル１３８が指し示す位置にある縮小面参照ブロック１３９と、縮小面ターゲットブロック１３１（図７では図示は省略）との相関性を評価する。
【００５３】
この場合、縮小画像において、ブロックマッチングを行うので、縮小面参照フレーム１３５においてＳＡＤ値を算出すべき縮小面参照ブロック位置（縮小面参照ベクトル）の数を少なくすることができる。このようにＳＡＤ値の算出回数（マッチング処理回数）が少なくなる分だけ、処理を高速化することができると共に、ＳＡＤテーブルを小規模とすることができる。
【００５４】
図８に示すように、縮小面サーチ範囲１３７に応じて定まる縮小面マッチング処理範囲１４３内に設定される複数個の縮小面参照ブロック１３９と縮小面ターゲットブロック１３１とのブロックマッチングによる相関性評価が得られる。その相関性評価により、縮小面参照フレーム１３５における縮小面動きベクトル１３６が算出される。この縮小面動きベクトル１３６の精度は、画像が１／ｎ×１／ｎに縮小されているので、１ピクセルのｎ倍の低精度となっている。そこで、この算出された縮小面動きベクトル１３６をｎ倍しても、基底面参照フレーム１３４において、１ピクセル精度の動きベクトル１０４は得られない。
【００５５】
しかし、基底面参照フレーム１３４においては、縮小面動きベクトル１３６をｎ倍した動きベクトルの近傍に、１ピクセル精度の基底面動きベクトル１０４が存在することは明らかである。
【００５６】
そこで、この例では、図７（Ｃ）および図８に示すように、基底面参照フレーム１３４において、縮小面動きベクトル１３６をｎ倍した動きベクトル（基底面参照ベクトル１４１）が指し示す位置を中心として考える。この位置を中心として、基底面動きベクトル１０４が存在するであろうと考えられる狭い範囲に、基底面サーチ範囲１４０を設定し、設定された基底面サーチ範囲１４０に応じて基底面マッチング処理範囲１４４を設定する。
【００５７】
そして、図７（Ｃ）に示すように、この基底面サーチ範囲１４０内の位置を示すものとして、基底面参照フレーム１３４における基底面参照ベクトル１４１を設定し、各基底面参照ベクトル１４１が指し示す位置に基底面参照ブロック１４２を設定する。これらの設定で、基底面参照フレーム１３４におけるブロックマッチングを行うようにする。
【００５８】
ここで設定された基底面サーチ範囲１４０および基底面マッチング処理範囲１４４は、非常に狭い範囲でよい。すなわち、図８に示すように、縮小面サーチ範囲１３７および縮小面マッチング処理範囲１４３を縮小率の逆数倍であるｎ倍したサーチ範囲１３７´およびマッチング処理範囲１４３´に比較して非常に狭い範囲でよい。
【００５９】
したがって、階層化マッチングを行わずに、基底面においてのみブロックマッチング処理をした場合には、基底面においては、サーチ範囲１３７´およびマッチング処理範囲１４３´において、複数個の参照ブロックを設定して、ターゲットブロックとの相関値を求める演算をする必要がある。これに対して、階層化マッチング処理においては、図８のように、非常に狭い範囲においてのみマッチング処理を行えばよい。
【００６０】
このため、当該狭い範囲である、基底面サーチ範囲１４０および基底面マッチング処理範囲１４４に設定される基底面参照ブロックの数は非常に少なくなり、マッチング処理回数（相関値演算回数）および保持するＳＡＤ値を非常に小さくすることができる。このため、処理を高速化することができると共に、ＳＡＤテーブルを小規模化することができるという効果を得ることができる。
【００６１】
＜動き検出・動き補償部の構成例＞
図９に、動き検出・動き補償部１６の構成例のブロック図を示す。この例では、動き検出・動き補償部１６は、ターゲットブロック１０２の画素データを保持するターゲットブロックバッファ部１６１と、参照ブロック１０８の画素データを保持する参照ブロックバッファ部１６２を備える。これらのバッファ部１６１，１６２が、図１に示したバッファ（１次メモリ）１６ａに相当する。
【００６２】
さらに、動き検出・動き補償部１６は、ターゲットブロック１０２と参照ブロック１０８とで対応する画素についてのＳＡＤ値を計算するマッチング処理部１６３を備える。さらにまた、マッチング処理部１６３から出力されるＳＡＤ値情報から動きベクトルを算出する動きベクトル算出部１６４と、それぞれのブロックを制御するコントロール部１６５とを備える。
【００６３】
そして、画像メモリ４０に記憶された画像データは、自動メモリコピー部５０及び２次メモリ６０を介して、動き検出・動き補償部１６内のターゲットブロックバッファ部１６１及び参照ブロックバッファ部１６２に供給される。
【００６４】
静止画撮像時においては、ターゲットブロックバッファ部１６１には、メモリコントローラ８による読み出し制御にしたがって、以下の画像が画像メモリ４０から読み出されて、書き込まれる。すなわち、画像メモリ４０に記憶されている縮小面ターゲット画像Ｐrtまたは基底面ターゲット画像Ｐbtの画像フレームからの縮小面ターゲットブロックまたは基底面ターゲットブロックが、画像メモリ４０から読み出されて、書き込まれる。
【００６５】
縮小面ターゲット画像Ｐrtまたは基底面ターゲット画像Ｐbtは、１枚目は、シャッターボタン押下後の最初の撮像フレームの画像が画像メモリ４０から読み出されて、ターゲットフレーム１０２として、ターゲットブロックバッファ部１６１に書き込まれる。参照画像とのブロックマッチングに基づき画像の重ね合わせがなされると、画像メモリ４０に当該画像の重ね合わせ後のＮＲ画像が書き込まれ、ターゲットブロックバッファ部１６１のターゲットフレーム１０２が、当該ＮＲ画像に書き換えられてゆく。
【００６６】
参照ブロックバッファ部１６２には、画像メモリ４０に記憶されている縮小面参照画像Ｐrrまたは基底面参照画像Ｐbrの画像フレームからの縮小面マッチング処理範囲または基底面マッチング処理範囲の画像データが、書き込まれる。縮小面参照画像Ｐrrまたは基底面参照画像Ｐbrは、最初の撮像フレームの後の撮像フレームが、参照フレーム１０８として画像メモリ４０に書き込まれる。
【００６７】
この場合、連続して撮影された複数枚の撮像画像を取り込みながら画像の重ね合わせ処理を行う場合には、基底面参照画像および縮小面参照画像としては、最初の撮像フレームの後の撮像フレームが、１枚ずつ順次に画像メモリ４０に取り込まれる。
【００６８】
連続して撮影された複数枚の撮像画像を画像メモリ４０に取り込んだ後、動き検出・動き補償部１６および画像重ね合わせ部１７で、動きベクトル検出を行い、画像の重ね合わせを実行するようにする場合には、複数枚の撮像フレームを保持する必要がある。この連続して撮影された複数枚の撮像画像を画像メモリ４０に取り込んだ後の処理を、撮影後加算と呼ぶ。すなわち、この撮影後加算時には、基底面参照画像および縮小面参照画像としては、最初の撮像フレームの後の複数枚の撮像フレームの全てを画像メモリ４０に格納保持しておく必要がある。
【００６９】
撮像装置としては、撮影中加算および撮影後加算のいずれも用いることができるが、この実施形態では、静止画ＮＲ処理は、多少処理時間がかかっても、ノイズが低減された綺麗な画像が要求されることを考慮して、撮影後加算の処理を採用している。
【００７０】
一方、動画撮影時においては、動き検出・動き補償部１６には、画像補正・解像度変換部１５からの撮像フレームがターゲットフレーム１０２として入力される。ターゲットブロックバッファ部１６１には、この画像補正・解像度変換部１５からの、ターゲットフレームから抽出されたターゲットブロックが書き込まれる。また、ターゲットフレームよりも１枚前の、画像メモリ部４に記憶されている撮像フレームが、参照フレーム１０８とされる。参照ブロックバッファ部１６２には、この参照フレーム（基底面参照画像Ｐbrまたは縮小面参照画像Ｐrr）からの基底面マッチング処理範囲または縮小面マッチング処理範囲が書き込まれる。
【００７１】
この動画撮影時には、画像メモリ４０には、画像補正・解像度変換部１５からのターゲットフレームとの間でブロックマッチングをすべき、少なくとも１枚前の撮像画像フレームを基底面参照画像Ｐbrおよび縮小面参照画像Ｐrrとして保持する。
【００７２】
マッチング処理部１６３では、縮小面でのマッチング処理および基底面でのマッチング処理を、ターゲットブロックバッファ部１６１に記憶されたターゲットブロックと、参照ブロックバッファ部１６２に記憶された参照ブロックとについて行う。
【００７３】
ここで、ターゲットブロックバッファ部１６１に記憶されたものが縮小面ターゲットブロックの画像データであり、参照ブロックバッファ１６２に記憶されたものが縮小面参照画面から抽出された縮小面マッチング処理範囲の画像データである場合を考える。この場合には、マッチング処理部１６３では、縮小面マッチング処理が実行される。また、ターゲットブロックバッファ部１６１に記憶されたものが基底面ターゲットブロックの画像データとなる。参照ブロックバッファ１６２に記憶されたものが基底面参照画面から抽出された基底面マッチング処理範囲の画像データである場合には、マッチング処理部１６３では、基底面マッチング処理が実行されることになる。
【００７４】
マッチング処理部１６３で、ブロックマッチングにおけるターゲットブロックと、参照ブロックとの相関の強さを検出するためには、画像データの輝度情報を用いてＳＡＤ値算出を行う。そして、その最小ＳＡＤ値を検出して、当該最小ＳＡＤ値を呈する参照ブロックを最強相関参照ブロックとして検出するようにする。
【００７５】
なお、ＳＡＤ値の算出は、輝度情報ではなく、色差信号や、３原色信号Ｒ，Ｇ，Ｂの情報を使用しても良いことは言うまでもない。また、ＳＡＤ値の算出に当たっては、通常は、ブロック内の全画素を用いるようにするが、演算量削減のため、間引き等により、飛び飛びの位置の限られた画素の画素値のみを使用するようにしてもよい。
【００７６】
動きベクトル算出部１６４は、マッチング処理部１６３のマッチング処理結果からターゲットブロックに対する参照ブロックの動きベクトルを検出する。この例では、動きベクトル算出部１６４は、ＳＡＤ値の最小値を検出保持する。
【００７７】
コントロール部１６５は、ＣＰＵ１による制御を受けながら、この動き検出・動き補償部１６における階層化ブロックマッチング処理の処理動作を制御するようにする。
【００７８】
＜ターゲットブロックバッファの構成例＞
ターゲットブロックバッファの構成例のブロック図を、図１０に示す。この図１０に示すように、ターゲットブロックバッファ１６１は、基底面バッファ部１６１１と、縮小面バッファ部１６１２と、縮小化処理部１６１３と、セレクタ１６１４，１６１５および１６１６とを備えている。セレクタ１６１４，１６１５および１６１６は、図１０では、図示は省略したが、コントロール部１６５からの選択制御信号によりそれぞれ選択制御される。
【００７９】
基底面バッファ部１６１１は、基底面ターゲットブロックを一時格納するためのものである。この基底面バッファ部１６１１は、基底面ターゲットブロックを、画像重ね合わせ部１７に送ると共に、セレクタ１６１６に供給する。
【００８０】
縮小面バッファ部１６１２は、縮小面ターゲットブロックを一時格納するためのものである。縮小面バッファ部１６１２は、縮小面ターゲットブロックを、セレクタ１６１６に供給する。
【００８１】
縮小化処理部１６１３は、動画撮影時には上述したように、ターゲットブロックは、画像補正・解像度変換部１５から送られてくるので、この縮小化処理部１６１３で縮小面ターゲットブロックを生成するために設けられている。縮小化処理部１６１３からの縮小面ターゲットブロックは、セレクタ１６１５に供給される。
【００８２】
セレクタ１６１４は、動画撮影時にはデータ変換部１４からのターゲットブロック（基底面ターゲットブロック）を出力する。静止画撮影時には画像メモリ４０から読み出された基底面ターゲットブロックまたは縮小面ターゲットブロックを出力する。これらの出力は、コントロール部１６５からの選択制御信号により選択されて出力され、その出力を基底面バッファ部１６１１と、縮小化処理部１６１３と、セレクタ１６１５とに供給する。
【００８３】
セレクタ１６１５は、動画撮影時には縮小化処理部１５からの縮小面ターゲットブロックを、静止画撮影時には画像メモリ４０からの縮小面ターゲットブロックを、コントロール部１６５からの選択制御信号により選択して出力する。その出力を縮小面バッファ部１６１２に供給する。
【００８４】
セレクタ１６１６は、コントロール部１６１５からの選択制御信号に応じて、縮小面でのブロックマッチング時には、縮小面バッファ部１６１２からの縮小面ターゲットブロックを出力する。基底面でのブロックマッチング時には、基底面バッファ部１６１１からの基底面ターゲットブロックを出力する。出力した縮小面ターゲットブロックまたは基底面ターゲットブロックをマッチング処理部１６３に送る。
【００８５】
＜参照ブロックバッファの構成例＞
参照ブロックバッファ部１６２の構成例のブロック図を、図１１に示す。この図１１に示すように、参照ブロックバッファ部１６２は、基底面バッファ部１６２１と、縮小面バッファ部１６２２と、セレクタ１６２３とを備えている。セレクタ１６２３は、図１１では、図示は省略したが、コントロール部１６５からの選択制御信号により選択制御される。
【００８６】
基底面バッファ部１６２１は、画像メモリ４０からの基底面参照ブロックを一時格納し、その基底面参照ブロックを、セレクタ１６２３に供給すると共に、画像重ね合わせ部１７に、動き補償ブロックとして送る。
【００８７】
縮小面バッファ部１６２２は、画像メモリ４０からの縮小面参照ブロックを一時格納するためのものである。縮小面バッファ部１６２２は、縮小面参照ブロックを、セレクタ１６２３に供給する。
【００８８】
セレクタ１６２３は、コントロール部１６１５からの選択制御信号に応じて、縮小面でのブロックマッチング時には、縮小面バッファ部１６１２からの縮小面参照ブロックを出力する。基底面でのブロックマッチング時には、基底面バッファ部１６１１からの基底面参照ブロックを出力する。出力した縮小面参照ブロックまたは基底面参照ブロックを、マッチング処理部１６３に送る。
【００８９】
＜画像重ね合わせ部の構成例＞
画像重ね合わせ部１７の構成例のブロック図を、図１２に示す。この図１２に示すように、画像重ね合わせ部１７は、加算率計算部１７１と、加算部１７２と、基底面出力バッファ部１７３と、縮小面生成部１７４と、縮小面出力バッファ部１７５とを備えて構成されている。
【００９０】
そして、画像重ね合わせ部１７の出力画像データが、データ圧縮部３５で圧縮された後、画像メモリ４０に記憶される。
【００９１】
加算率計算部１７１は、動き検出・動き補償部１６からのターゲットブロックおよび動き補償ブロックを受けて、両者の加算率を、採用する加算方式が単純加算方式であるか、または平均加算方式であるかに応じて定める。定めた加算率を、ターゲットブロックおよび動き補償ブロックと共に加算部１７２に供給する。
【００９２】
加算部１７２での加算結果の基底面ＮＲ画像は、圧縮された後、画像メモリ４０に書き込まれる。また、加算部１７２での加算結果の基底面ＮＲ画像は、縮小面生成部１７４にて縮小面ＮＲ画像に変換され、縮小面生成部１７４からの縮小面ＮＲ画像が、画像メモリ４０に書き込まれる。
【００９３】
［４．撮像画像のノイズ低減処理の流れ］
＜静止画撮影時＞
上述の構成の実施の形態の撮像装置において、静止画撮影時における画像の重ね合わせによるノイズ低減処理のフローチャートを、図１３および図１４に示す。この図１３および図１４のフローチャートの各ステップは、ＣＰＵ１およびこのＣＰＵ１により制御される動き検出・動き補償部１６のコントロール部１６５の制御の下に実行されると共に、画像重ね合わせ部１７により実行されるものである。
【００９４】
まず、シャッターボタンが押下されると、この例の撮像装置においては、ＣＰＵ１による制御によって、高速で複数枚の画像の高速撮影が行われる。この例では、静止画撮影時に重ね合わすべきＭ枚（Ｍフレーム；Ｍは２以上の整数）の撮像画像データを高速で取り込み、画像メモリ４０に貼っておく（ステップＳ１）。
【００９５】
次に、参照フレームは、画像メモリ４０に蓄積されているＭ枚の画像フレームのうちの時間的にＮ番目（Ｎは２以上の整数で、最大値はＭ）とするのであるが、コントロール部１６５は、その何番目とする値Ｎの初期値を、Ｎ＝２とする（ステップＳ２）。そして、次に、コントロール部１６５は、１枚目の画像フレームをターゲット画像（ターゲットフレーム）に設定し、Ｎ＝２枚目の画像を参照画像(参照フレーム)に設定する（ステップＳ３）。
【００９６】
次に、コントロール部１６５は、ターゲットフレームにターゲットブロックを設定し（ステップＳ４）、動き検出・動き補償部１６において、画像メモリ部４から、ターゲットブロックバッファ部１６１へターゲットブロックを読み込み（ステップＳ５）、また、画像メモリ部４から、参照ブロックバッファ部１６２へマッチング処理範囲の画素データを読み込む（ステップＳ６）。
【００９７】
次に、コントロール部１６５は、参照ブロックバッファ部１６２から、サーチ範囲内において参照ブロックを読み出し、マッチング処理部１６３で、階層化マッチング処理を行う。以上の処理をサーチ範囲内のすべての参照ベクトルで繰り返した後、高精度の基底面動きベクトルを出力する（ステップＳ７）。
【００９８】
次に、コントロール部１６５は、以上のようにして検出された高精度の基底面動きベクトルにしたがって、参照ブロックバッファ部１６２から、検出した動きベクトル分の動きを補償した動き補償ブロックを読み出す（ステップＳ８）。そして、ターゲットブロックと同期して、後段の画像重ね合わせ部１７へ送る（ステップＳ９）。
【００９９】
次に、ＣＰＵ１の制御に従って、画像重ね合わせ部１７は、ターゲットブロックと動き補償ブロックの重ね合わせを行い、重ね合わせたブロックのＮＲ画像データを画像メモリ部４に貼る。すなわち、画像重ね合わせ部１７は、重ね合わせたブロックのＮＲ画像データを画像メモリ４０側に出力させて書き込ませる（ステップＳ１０）。
【０１００】
次に、コントロール部１６５は、ターゲットフレーム内のすべてのターゲットブロックについてのブロックマッチングを終了したか否か判別する（ステップＳ１１）。この判別で、すべてのターゲットブロックについてブロックマッチングの処理が終了していないと判別したときには、ステップＳ４に戻って、ターゲットフレーム内の次のターゲットブロックを設定して、ステップＳ４〜ステップＳ１１までの処理を繰り返す。
【０１０１】
また、コントロール部１６５は、ステップＳ１１で、ターゲットフレーム内のすべてのターゲットブロックについてのブロックマッチングを終了したと判別したときには、ステップＳ１２に移る。ステップＳ１２では、重ね合わすべきすべての参照フレームについての処理が終了したか否か、つまり、Ｍ＝Ｎであるか否か判別する。
【０１０２】
ステップＳ１２で、Ｍ＝Ｎではないと判別したときには、Ｎ＝Ｎ＋１とする（ステップＳ１３）。次に、ステップＳ１０での重ね合わせにより生成されたＮＲ画像をターゲット画像（ターゲットフレーム）とし、また、Ｎ＝Ｎ＋１枚目の画像を参照画像（参照フレーム）とする（ステップＳ１４）。その後、ステップＳ４に戻って、このステップＳ４以降の処理を繰り返す。つまり、Ｍが３以上の場合は、全てのターゲットブロックにおいて重ね合わせを行った画像を次のターゲット画像とし、３枚目以降の画像を参照フレームとして、上記の処理を繰り返して行く。これをＭ枚目の重ね合わせが終わるまで繰り返す。そして、ステップＳ１２で、Ｍ＝Ｎであると判別したときには、この処理ルーチンを終了する。
【０１０３】
＜動画撮影時＞
次に、この実施の形態の撮像装置において、動画撮影時における画像の重ね合わせによるノイズ低減処理のフローチャートを、図１５に示す。この図１５のフローチャートの各ステップも、ＣＰＵ１およびこのＣＰＵ１により制御される動き検出・動き補償部１６のコントロール部１６５の制御の下に実行されるものである。動画記録ボタンがユーザにより操作されると、ＣＰＵ１は、図１５の処理をスタートから開始するように指示する。
【０１０４】
この例では、動き検出・動き補償部１６は、ターゲットブロック単位でマッチング処理をするのに適した構成とされている。そこで、画像補正・解像度変換部１６は、ＣＰＵ１の制御に従って、フレーム画像を保持し、ターゲットブロック単位で、動き検出・動き補償部１６へ画像データを送る（ステップＳ２１）。
【０１０５】
動き検出・動き補償部１６に送られたターゲットブロックの画像データは、ターゲットブロックバッファ部１６１に格納される。次に、コントロール部１６５は、ターゲットブロックの座標をもとに、画像メモリ４０から参照ブロックとしてコピーする座標を計算し、その計算した座標のデータを、画像メモリ４０から自動メモリコピー部５０に読み出す（ステップＳ２２）。読み出したデータは、２次メモリ６０に書き込まれた後、必要な領域のデータが１次メモリである、参照ブロックバッファ部１６２に供給される（ステップＳ２３）。
【０１０６】
次に、マッチング処理部１６３および動きベクトル算出部１６４は、この例における階層化ブロックマッチングによる動き検出処理を行う（ステップＳ２４）。すなわち、マッチング処理部１６３は、先ず、縮小面において、縮小面ターゲットブロックの画素値と縮小面参照ブロックの画素値との間のＳＡＤ値を算出し、算出したＳＡＤ値を動きベクトル算出部１６４へ送る。マッチング処理部１６３は、この処理をサーチ範囲内のすべての縮小面参照ブロックで繰り返す。サーチ範囲内のすべての縮小面参照ブロックについてのＳＡＤ値の算出が終了した後、動きベクトル算出部１６４は、最小のＳＡＤ値を特定して、縮小面動きベクトルを検出する。
【０１０７】
コントロール部１６５は、動きベクトル算出部１６４で検出された縮小面動きベクトルを縮小率の逆数倍して、基底面上における動きベクトルに変換する。そして、その変換したベクトルが、基底面において指し示す位置を中心した領域を、基底面におけるサーチ範囲とする。そして、コントロール部１６５は、マッチング処理部１６３に、当該サーチ範囲において、基底面におけるブロックマッチング処理を行わせるように制御する。マッチング処理部１６３は、基底面ターゲットブロックの画素値と基底面参照ブロックの画素値との間のＳＡＤ値を算出し、算出したＳＡＤ値を動きベクトル算出部１６４へ送る。
【０１０８】
サーチ範囲内のすべての縮小面参照ブロックについてのＳＡＤ値の算出が終了した後、動きベクトル算出部１６４は、最小のＳＡＤ値を特定して、縮小面動きベクトルを検出すると共に、その近傍のＳＡＤ値を特定する。そして、それらのＳＡＤ値を用いて、前述した２次曲線近似補間処理を行い、サブピクセル精度の高精度の動きベクトルを出力する。
【０１０９】
次に、コントロール部１６５は、ステップＳ２４で算出された高精度の動きベクトルにしたがって、参照ブロックバッファ部１６２から動き補償ブロックの画像データを読み出す（ステップＳ２５）。そして、ターゲットブロックと同期して、後段の画像重ね合わせ部１７へ送る（ステップＳ２６）。
【０１１０】
画像重ね合わせ部１７においては、ターゲットブロックと動き補償ブロックの重ね合わせを行い、その重ね合わせた結果のＮＲ画像の画像データを、画像メモリ４０側に出力させて書き込ませる（ステップＳ２７）。そして、ＮＲ画像の画像データを、次のターゲットフレームに対する参照フレームとして、画像メモリ４０に格納させる（ステップＳ２８）。
【０１１１】
そして、ＣＰＵ１は、動画記録停止操作がユーザによりなされたか否か判別し（ステップＳ２９）、当該動画記録停止操作がユーザによりなされていないと判別したときには、ステップＳ２１に戻って、このステップＳ２１以降の処理を繰り返すように指示する。また、ステップＳ２９で、動画記録停止操作がユーザによりなされたと判別したときには、ＣＰＵ１は、この処理ルーチンを終了するようにする。
【０１１２】
以上の動画のノイズ低減処理の処理ルーチンにおいては、１フレーム前の画像フレームを参照フレームとするようにしたが、１フレームよりもさらに過去のフレームの画像を参照フレームとして用いるようにしても良い。また、１フレーム前と２フレーム前の画像を、画像メモリ４０に格納しておき、それらの２枚の画像情報の内容から、どちらの画像フレームを参照フレームにするかを選択しても良い。
【０１１３】
上記のような手段、手順、システム構成を用いることで、一つの共通したブロックマッチング処理のハードウエアで、静止画ノイズ低減処理および動画ノイズ低減処理を行うことが可能になる。
【０１１４】
［５．階層化ブロックマッチング処理の流れの例］
次に、図１６および図１７に、動き検出・動き補償部１６での階層化ブロックマッチング処理の動作例のフローチャートを示す。
【０１１５】
なお、この図１６および図１７に示す処理の流れは、前述したマッチング処理部１６３、動き算出部１６４の処理例の流れとしての説明と、一部重複するものとなるが、この例の動作を、より理解し易くするために、説明するものである。
【０１１６】
はじめに、動き検出・動き補償部１６において、ターゲットブロックバッファ部１６１から、ターゲットブロックの縮小画、つまり、縮小面ターゲットブロックを読み込む（図１６のステップＳ７１）。次に、動きベクトル算出部１６４内で保持する、最小ＳＡＤ値Ｓminの初期値として、縮小面最小ＳＡＤ値の初期値を設定する（ステップＳ７２）。この縮小面最小ＳＡＤ値Ｓminの初期値としては、例えば、画素の差分の最大値が設定される。
【０１１７】
次に、マッチング処理部１６３では、縮小面サーチ範囲を設定する。設定した縮小サーチ範囲において、縮小面参照ベクトル（Ｖｘ／ｎ，Ｖｙ／ｎ：１／ｎは縮小倍率）を設定して、ＳＡＤ値を計算する縮小面参照ブロック位置を設定する（ステップＳ７３）。そして、設定した縮小面参照ブロックの画素データを、参照ブロックバッファ部１６２から読み込み（ステップＳ７４）、縮小面ターゲットブロックおよび縮小面参照ブロックの各画素データの差分の絶対値の総和、つまり、縮小面ＳＡＤ値を求める。求めた縮小面ＳＡＤ値を動きベクトル算出部１６４に送出する（ステップＳ７５）。
【０１１８】
動きベクトル算出部１６４では、マッチング処理部１６３で算出された縮小面ＳＡＤ値Ｓinと、保持されている縮小面最小ＳＡＤ値Ｓminとを比較する。そして、算出された縮小面ＳＡＤ値Ｓinが、それまで保持されている縮小面最小ＳＡＤ値Ｓminよりも小さいか否か判別する（ステップＳ７６）。
【０１１９】
このステップＳ７６で、算出された縮小面ＳＡＤ値Ｓinが縮小面最小ＳＡＤ値Ｓminより小さいと判別したときには、ステップＳ７７に進み、に保持される縮小面最小ＳＡＤ値Ｓminおよびその位置情報の更新がなされる。
【０１２０】
すなわち、ＳＡＤ値比較処理では、算出された縮小面ＳＡＤ値Ｓinが縮小面最小ＳＡＤ値Ｓminより小さい旨の比較結果の情報を出力する。すると、当該算出された縮小面ＳＡＤ値Ｓinおよびその位置情報（縮小面参照ベクトル）を、新たな縮小面最小ＳＡＤ値Ｓminの情報として、更新させる。
【０１２１】
ステップＳ７７の後には、ステップＳ７８に進む。また、ステップＳ７６で、算出された縮小面ＳＡＤ値Ｓinが縮小面最小ＳＡＤ値Ｓminより大きいと判別したときには、ステップＳ７７の保持情報の更新処理は行わずにステップＳ７８に進む。
【０１２２】
ステップＳ７８では、マッチング処理部１６３は、縮小面サーチ範囲の全ての縮小面参照ブロックの位置（縮小面参照ベクトル）でマッチング処理を終了したか否か判別する。その判別で、未だ、縮小面サーチ範囲においては、未処理の縮小面参照ブロックがあると判別したときには、ステップＳ７３に戻り、前述したステップＳ７３以降の処理を繰り返す。
【０１２３】
また、マッチング処理部１６３は、ステップＳ７８で、縮小面サーチ範囲の全ての縮小面参照ブロックの位置（縮小面参照ベクトル）でマッチング処理を終了したと判別したときには、次の処理が行われる。すなわち、縮小面最小ＳＡＤ値Ｓminの位置情報（縮小面動きベクトル）を受け取る。そして、受け取った縮小面動きベクトルを、縮小倍率の逆数倍、すなわち、ｎ倍したベクトルが、基底面ターゲットフレームにおいて指し示す位置座標を中心とした位置に基底面ターゲットブロックを設定する。さらに、ｎ倍したベクトルが指し示す位置座標を中心とした比較的狭い範囲として、基底面サーチ範囲を、基底面ターゲットフレームに設定する（ステップＳ７９）。そして、ターゲットブロックバッファ部１６１から、基底面ターゲットブロックの画素データを読み込む（ステップＳ８０）。
【０１２４】
そして、次に、動きベクトル算出部１６４に保持された最小ＳＡＤ値Ｓminの初期値として、基底面最小ＳＡＤ値の初期値を設定する（図１７のステップＳ８１）。この基底面最小ＳＡＤ値Ｓminの初期値としては、例えば、画素の差分の最大値が設定される。
【０１２５】
次に、マッチング処理部１６３では、ステップＳ７９で設定した基底面縮小サーチ範囲において、基底面参照ベクトル（Ｖｘ，Ｖｙ）を設定して、ＳＡＤ値を計算する基底面参照ブロック位置を設定する（ステップＳ８２）。そして、設定した基底面参照ブロックの画素データを、参照ブロックバッファ部１６２から読み込む（ステップＳ８３）。そして、基底面ターゲットブロックおよび基底面参照ブロックの各画素データの差分の絶対値の総和、つまり、基底面ＳＡＤ値を求め、求めた基底面ＳＡＤ値を動きベクトル算出部１６４に送出する（ステップＳ８４）。
【０１２６】
動きベクトル算出部１６４では、マッチング処理部１６３で算出された基底面ＳＡＤ値Ｓinと、保持されている基底面最小ＳＡＤ値Ｓminとを比較する。その比較で、算出された基底面ＳＡＤ値Ｓinが、それまで保持されている基底面最小ＳＡＤ値Ｓminよりも小さいか否か判別する（ステップＳ８５）。
【０１２７】
このステップＳ８５で、算出された基底面ＳＡＤ値Ｓinが基底面最小ＳＡＤ値Ｓminより小さいと判別したときには、ステップＳ８６に進み、保持される基底面最小ＳＡＤ値Ｓminおよびその位置情報の更新がなされる。
【０１２８】
すなわち、算出された基底面ＳＡＤ値Ｓinが基底面最小ＳＡＤ値Ｓminより小さい旨の比較結果の情報を出力する。すると、当該算出された基底面ＳＡＤ値Ｓinおよびその位置情報（参照ベクトル）を、新たな基底面最小ＳＡＤ値Ｓminの情報とし、新たな基底面ＳＡＤ値Ｓinおよびその位置情報に更新する。
【０１２９】
ステップＳ８６の後には、ステップＳ８７に進む。また、ステップＳ８５で、算出された基底面ＳＡＤ値Ｓinが基底面最小ＳＡＤ値Ｓminより大きいと判別したときには、ステップＳ８６の保持情報の更新処理は行わずにステップＳ８７に進む。
【０１３０】
ステップＳ８７では、マッチング処理部１６３は、基底面サーチ範囲の全ての基底面参照ブロックの位置（基底面参照ベクトル）でマッチング処理を終了したか否か判別する。その判別で、未だ、基底面サーチ範囲においては、未処理の基底面参照ブロックがあると判別したときには、ステップＳ８２に戻り、前述したステップＳ８２以降の処理を繰り返す。
【０１３１】
また、マッチング処理部１６３は、ステップＳ８７で、基底面サーチ範囲の全ての基底面参照ブロックの位置（基底面参照ベクトル）でマッチング処理を終了したと判別したときには、次の処理が行われる。すなわち、基底面最小ＳＡＤ値Ｓminの位置情報（基底面動きベクトル）を受け取り、基底面ＳＡＤ値を保持させるようにする（ステップＳ８８）。
以上で、１枚の参照フレームについてのこの例のブロックマッチング処理を終了する。
【０１３２】
［６．メモリ上のフォーマットの説明］
本実施の形態の例においては、１フレームの画像データを、図１８（Ａ）に示すように、分割する。即ち、１画面分の画像の水平方向を、１バースト転送（６４画素）単位で分割し、１画面分の画像を、縦長の分割ブロックの画像単位（以下、短冊と称する）の複数個のデータとする。そして、画像データを、この短冊単位で、画像メモリ部４０に書き込み、画像メモリ４０から読み出しするメモリアクセス方式（以下、短冊アクセス形式と称する）を採用する。静止画ＮＲ処理時には、基本的に、この短冊アクセス形式により画像メモリ４０に対する画像データのメモリアクセスを行う。
【０１３３】
ここで、水平方向の６４画素を１６バーストでバスアクセスするフォーマットを、６４×１フォーマットと称することとする。この６４×１フォーマットは、図１８（Ｂ）に示すように、４画素毎のバースト転送を、最大連続バースト回数である１６回、連続して繰り返すメモリアクセス方式である。図１８（Ｂ）に示すように、４画素毎のバースト転送の先頭のアドレスＡ１，Ａ２，Ａ３・・・Ａ１６が定まると、自動的に、６４×１フォーマットのバスアクセスができる。
【０１３４】
そして、短冊アクセス形式は、６４×１フォーマットを、画面の垂直方向に連続して行う方式ということになる。６４×１フォーマットを、水平方向に繰り返し、１ライン分の全てのアクセスを終了したら、次のラインについて同様のアクセスをすることで、ラスタースキャン形式の画像データのアクセスができる。
【０１３５】
なお、水平方向の画像データが６４画素で割り切れない場合は、図１８で、影線を付して示すように、水平方向の右端にダミー領域１５１を設けて、このダミー領域１５１に、例えば黒や白の画素データをダミーデータとして付加する。このようにして、水平方向の画素数が、６４の倍数になるようにしている。
【０１３６】
従来のラスタースキャン方式は、画像メモリへのアクセスに対して、水平方向にアドレスが連続しているため、１ラインずつデータを読むのに適している。これに対して、短冊アクセス形式は、１バースト転送（６４画素）単位で垂直方向にアドレスがインクリメントするため、水平方向が６４画素以内であるブロック状のデータを読むのに適している。
【０１３７】
例えば、６４画素×６４ラインの短冊形式のブロックを読み込む際には、画像メモリ部４に対して、メモリコントローラ８は、ＹＣ画素データの４画素分のデータ（６４ビット）を１６バーストでバスアクセスするとする。このとき、当該１６バーストで、４×１６＝６４画素分のデータになり、水平方向の６４画素からなる１ライン目のアドレスの設定以降は、垂直方向にアドレスでインクリメントで、残り６３ライン分の画素データのアドレス設定をすることが可能である。
【０１３８】
図１９（Ａ）は、１画面分の画像が、横×縦＝６４０×４８０画素からなる例における短冊単位の分割例である。この例においては、１画面分の画像が、水平方向の６４画素単位で分割される結果、１０個の短冊Ｔ０〜Ｔ９に分けられている。
【０１３９】
静止画ＮＲ処理時において、画像メモリ４０から基底面ターゲットブロックを読み込むときは、短冊アクセス形式の利点を活かすために、この例では、６４画素×１ラインずつアクセスし、バス効率を上げるようにしている。
【０１４０】
例えば、図２０に示すように、基底面に対する縮小面の縮小倍率が１／２のときは、この実施形態では、基底面ターゲットブロックの大きさは、横×縦＝１６画素×１６ラインとされる。したがって、この基底面ターゲットブロックを４個、水平方向に並べると、水平方向の画素数が６４画素となる。そこで、ここでは、縮小倍率１／２のときは、図２０の右側に示すように、画像メモリ４０に対するアクセス単位を、当該ターゲットブロックの４個とし、上述した６４×１フォーマットの短冊アクセス形式でアクセスする。つまり、４個のターゲットブロックは、水平方向の６４画素単位のアクセス（４画素×１６バースト）を、アドレスを垂直方向に変更しながら、１６回繰り返すことで転送することができる。
【０１４１】
同様にして、図２０に示すように、基底面に対する縮小面の縮小倍率が１／４のときは、この例では、基底面ターゲットブロックの大きさは、横×縦＝３２画素×３２ラインとされるので、基底面ターゲットブロックは２個ずつ、画像メモリに対してアクセスする。このようにすることで、上述した６４×１フォーマットの短冊アクセス形式でアクセスすることができる。また、基底面に対する縮小面の縮小倍率が１／８のときは、この例では、基底面ターゲットブロックの大きさは、横×縦＝６４画素×６４ラインとされるので、基底面ターゲットブロックは１個ずつ、画像メモリに対してアクセスする。このようにすることで、上述した６４×１フォーマットの短冊アクセス形式でアクセスすることができる。
【０１４２】
次に、動画ＮＲ処理時の、メモリアクセス時のデータフォーマットの例について、図２１〜図３０を参照して説明する。
ここでは、動画ＮＲ処理時の参照用画像データのメモリに対する参照画像アクセス用のために、複数ライン×複数画素からなる矩形領域のブロック単位の画素データのメモリアクセス方式（ブロックアクセス形式）を用意している。
すなわち、動画ＮＲ処理時の参照画像アクセス用の１つとして、上述したバースト転送可能な画素数である６４画素を考慮して、図２１（Ａ）に示すようにする。すなわち、画像（画面）を最大バースト転送（６４画素）単位である、横×縦＝８画素×８ラインのブロックに分割して、画像メモリ部４に書き込み／読み出しするブロックアクセス形式を用いるようにしている。この８ライン×８画素からなるブロック単位のブロックアクセス形式を、以下、８×８フォーマットと称することとする。
【０１４３】
この８×８フォーマットは、図２１（Ｂ）に示すように、水平方向の４画素を１バースト転送の単位とし、水平方向の８画素を２回のバースト転送（２バースト）で転送し、当該水平方向の８画素のバースト転送が終了すると、次のラインの８画素を、同様にして、２バーストで、転送する。そして、最大バースト長である１６バーストで、６４画素が１回で転送される。
【０１４４】
この８×８フォーマットのブロックアクセス形式の先頭アドレスをＡＤ１を初期アドレスとすると、図２１（Ｂ）に示すように、４画素単位のアドレスＡＤ２〜ＡＤ１６が自動的に定まり、連続した１６バーストで、８×８フォーマットのメモリアクセスができる。
【０１４５】
画像メモリ４０上で、８×８フォーマットの先頭アドレスＡＤ１が指定されると、メモリコントローラは、８×８フォーマットのメモリアクセスのためのアドレスＡＤ１〜ＡＤ１６を計算し、８×８フォーマットのメモリアクセスを実行する。
【０１４６】
８×８フォーマットは、図２１（Ｂ）に示すように、基本的には、６４画素（１６バースト）単位でのアクセスとなり、最も効率がよい。しかし、後述するように、１６バーストは、最長バースト長であり、それよりも少ないバースト長とすることもできる。その場合には、実質的には、８×８フォーマットとはならないが、例えば、８画素×４ラインの場合には、半分の８バーストで画像データの転送ができる。
【０１４７】
なお、水平方向および垂直方向の画像データが８画素で割り切れない場合は、図２１で、影線を付して示すように、水平方向の右端と垂直方向の下端に、ダミー領域１５２を設けて、このダミー領域１５２に、例えば黒や白の画素データをダミーデータとして付加し、水平方向および垂直方向の画サイズが、８の倍数になるようにしている。
【０１４８】
８×８フォーマットのメモリアクセスにより、メモリアクセスが８×８画素でアクセスできるということは、縮小面マッチング処理範囲および基底面マッチング処理範囲は、画像メモリ部４から、すべて、８×８の画素ブロック単位で読み込むことができる。したがって、この実施形態の撮像装置で、最も効率の良いデータ転送（１６バースト）のみでバスアクセスすることが可能になり、バス効率は最大になる。
【０１４９】
なお、この８×８フォーマットは、１６×１６画素、１６×８画素、など、８×８画素の倍数にすれば、それらの複数画素単位でのアクセスにも適用できる。
【０１５０】
また、バスの最も効率の良いデータ転送単位（最大バースト長の単位）は、上述の例では６４画素であるが、最も効率の良いデータ転送単位は、１バーストで転送可能な画素数ｐと、最大バースト長（最大連続バースト回数）ｑとにより決まるｐ×ｑ画素となる。そして、その画素数（ｐ×ｑ）により、画像メモリ４０に書き込むブロックアクセス形式のフォーマットを決定すればよい。そして、縮小面マッチング処理範囲、基底面マッチング処理範囲が、そのブロックフォーマットの水平方向および垂直方向の倍数に近いサイズになる場合が、最もバス転送効率が良い。
【０１５１】
縮小面マッチング処理範囲１４３は、図２２に示すように、この例では、４４画素×２４ラインとされる。この縮小面マッチング処理範囲１４３を、６４×１フォーマットでアクセスした場合、図２２の上側に示すように、４画素×１１バーストを、垂直方向に２４回繰り返す転送のアクセスが必要になる。
【０１５２】
これに対して、同じ縮小面マッチング処理範囲１４３を、８×８フォーマットでアクセスする場合は、図２３に示すように、縮小面参照ベクトル（０，０）の縮小面参照ブロックを中心に、４４画素×２４ラインの縮小面マッチング処理範囲１４３が決定される。縮小面参照ベクトル（０，０）の縮小面参照ブロックとは、縮小面ターゲットブロックと同じ座標の縮小面参照ブロックということである。この場合、縮小面ターゲットブロックは、必ず、８画素単位、８ライン単位ずつしか設定されない。
【０１５３】
縮小面マッチング処理範囲１４３の垂直方向は、２４ラインであるので、図２３に示すように、垂直方向のサーチ範囲を、８×８のブロックサイズの倍数にすれば、垂直方向は８×８フォーマットで無駄なくアクセスすることができる。一方、縮小面マッチング処理範囲１４３の水平方向は４４画素であるので、８の倍数とはならず、このため、図２３に示した例では、水平方向を５６画素として、８×８フォーマットでは、水平方向の両側に６画素ずつ、黒または白などからなるダミーの画像データ１５３を挿入するようにする。
【０１５４】
この図５０から、ダミーの画像データ１５３が左右６画素分あるものの、６４×１フォーマットでは２４回転送が必要であるのに対して、８×８フォーマットであれば、２１回の転送で読み込むことができることが分かる。さらに、８×８フォーマットであれば、すべての転送が、この実施形態の撮像装置で最も効率の良いデータ転送（１６バースト）になっており、バス効率も向上している。
【０１５５】
また、縮小倍率が１／２の場合の基底面マッチング処理範囲１４４は２０画素×２０ラインとなる。この基底面マッチング処理範囲１４４をアクセスする場合には、図２２の下側に示すように、６４×１フォーマットの場合、４画素×５バーストを、垂直方向に２０回繰り返す転送のアクセスが必要になる。
【０１５６】
これに対して、図２４に示すように、８×８フォーマットの場合は、基底面マッチング処理範囲１４４としては、基底面参照ベクトル（０，０）の基底面参照ブロック１４２を中心に、２０画素×２０ラインのマッチング処理範囲が決定される。基底面マッチング処理範囲１４４は、縮小面マッチングで算出された縮小面動きベクトルによって決まるため、１画素単位でいろいろな組み合わせが考えられる。
【０１５７】
例えば、最も効率の良いのは、２０画素×２０ラインの基底面マッチング処理範囲１４４が、８×８のブロックに対して、図２４に示すように９ブロック分に割り当てられる場合である。この場合、図２４に示すように、２０画素×２０ラインの基底面マッチング処理範囲１４４には、水平方向の端部および垂直方向の端部に８画素および８ラインに満たない領域が存在するので、そこにダミー画素データ１５３を挿入し、８×８フォーマットの４画素×１６バーストを、９回繰り返す転送のアクセスをすることで、当該２０画素×２０ラインの基底面マッチング処理範囲１４４の画像データのアクセスができる。
【０１５８】
しかし、図２５に示すように、２０画素×２０ラインの基底面マッチング処理範囲１４４の垂直方向の端部にはダミー画像データ１５３を挿入せずに、当該垂直方向の端部においては、バースト回数を転送すべきデータ（４ライン分）に合わせたものとして、４画素×８バーストを、３繰り返す転送のアクセスとすることもできる。この場合には、図２５に示す例においては、８×８フォーマットの４画素×１６バーストを６回繰り返す転送と、４画素×８バーストを３回繰り返す転送との、合計９回の転送で、２０画素×２０ラインの基底面マッチング処理範囲１４４の画像データのアクセスができる。
【０１５９】
逆に、最も効率の悪い例は、２０画素×２０ラインの基底面マッチング処理範囲１４４が、図２６に示すように、８×８のブロックの１６ブロック分に亘る場合である。この場合、図５３に示すように、２０画素×２０ラインの基底面マッチング処理範囲１４４には、水平方向の端部および垂直方向の端部に８画素および８ラインに満たない領域が存在する。そこにダミー画素データ１５３を挿入し、８×８フォーマットの４画素×１６バーストを、１６回繰り返す転送のアクセスをすることで、当該２０画素×２０ラインの基底面マッチング処理範囲１４４の画像データのアクセスができる。
【０１６０】
しかし、図２７に示すように、２０画素×２０ラインの基底面マッチング処理範囲１４４の垂直方向の端部にはダミー画像データ１５３を挿入せずに、当該垂直方向の上下端部に、バースト回数を転送すべきデータ（それぞれ２ライン分）に合わせたものとする。つまり、４画素×４バーストを、合計８繰り返す転送のアクセスとすることもできる。この場合には、図２７に示す例においては、８×８フォーマットの４画素×１６バーストを８回繰り返す転送と、４画素×４バーストを８回繰り返す転送との、合計１６回の転送で、基底面マッチング処理範囲１４４の画像データのアクセスができる。
【０１６１】
したがって、２０画素×２０ラインの基底面マッチング処理範囲１４４の画像データの画像メモリ４０に対するアクセスは、６４×１フォーマットでは２０回転送が必要であるのに対して、８×８フォーマットであれば、最短で９転送、最長で１６転送で良い。さらに、８×８フォーマットであれば、転送の半分以上が、この例の撮像装置システムで最も効率の良いデータ転送（１６バースト）になっている。
【０１６２】
また、この実施形態では、動画ＮＲ処理時の参照画像アクセス用の他の１つとして、図２８（Ａ）に示すように、画像（画面）を最大バースト転送（６４画素）の１／４単位である４画素×４ラインのブロックに分割して、画像メモリ部に書き込み／読み出しするブロックアクセス形式を選択することもできるように構成されている。この４ライン×４画素からなるブロック単位のブロックアクセス形式を、以下、４×４フォーマットと称することとする。
【０１６３】
この４×４フォーマットは、図２８（Ｂ）に示すように、水平方向の４画素を１バースト転送の単位とし、水平方向の４画素を１回のバースト転送（１バースト）で転送し、当該水平方向の４画素のバースト転送が終了すると、次のラインの４画素を転送する。即ち、次のラインの４画素を、同様にして、１バーストで転送し、４バーストで４×４フォーマットの画像データが転送できる。そして、４×４フォーマットの場合、図２８（Ｂ）に示すように、４画素×４ライン＝１６画素分からなるブロックを水平方向に４回（４ブロック分）連続でアクセスすることで、６４画素が１回で転送される。
【０１６４】
つまり、４×４フォーマットの画像データは、４バーストで転送可能である。最大バースト長である１６バーストで、４画素×４ラインのブロックの水平方向の４個を連続してアクセスすることができ、この４個の４画素×４ラインのブロック分の６４画素が１回で転送される。
【０１６５】
この４×４フォーマットによって６４画素（最大バースト長である１６バースト）を１回で転送する場合、図２８（Ｂ）に示すように、４画素×４ラインのブロックの先頭アドレスをＡＤ１を初期アドレスとする。このとき、４画素単位のアドレスＡＤ２〜ＡＤ１６が、図示のように定まり、連続した１６バーストで、４×４フォーマットによる６４画素単位のメモリアクセスができる。
【０１６６】
４×４フォーマットは、図２８（Ｂ）に示すように、６４画素（１６バースト）単位でアクセスするときが、最も効率がよい。しかし、水平方向の４ブロック以下の単位でアクセスする必要がある場合もある。例えば水平方向の２ブロック（３２画素）単位でのアクセスでは、図２８（Ｂ）において、４画素単位のアドレスＡＤ１〜ＡＤ８が定められて、連続した８バーストで３２画素単位のアクセスができる。４画素×４ラインのブロックの１ブロック（１６画素）単位、３ブロック（２４画素）単位なども同様にしてアクセスができる。
【０１６７】
画像メモリ４０のフレームメモリ上で、４×４フォーマットの先頭アドレスＡＤ１と、水平方向の４画素×４ラインのブロック数が指定されると、メモリコントローラは、４×４フォーマットのメモリアクセスのためのアドレスＡＤ２以降を計算してアクセスする。
【０１６８】
なお、前述の８×８フォーマットの場合と同様に、画像データが４画素で割り切れない場合は、図２８（Ａ）に示すように、水平方向の右端および垂直方向の下端にダミー領域１５４を設けて、水平方向および垂直方向のサイズが、４の倍数になるようにしている。
【０１６９】
この４×４フォーマットであれば、前述した、基底面マッチング処理範囲（２０画素×２０ライン）１４４のバスアクセスは、８×８フォーマットよりもさらに改善する。
【０１７０】
４画素×４ラインのブロック単位に対して、最も効率の良いのは、２０画素×２０ラインの基底面マッチング処理範囲１４４が、図５２９に示すように、丁度、水平方向の５ブロック×垂直方向の５ブロック＝２５ブロック分に割り当てられる場合である。
【０１７１】
この２５ブロックをアクセスするには、水平方向の４ブロックの５ライン分と、水平方向の１ブロックの５ライン分とに分けることができる。図２９（Ｂ）の最大バースト長による４ブロック単位の４画素×１６バーストが５転送、１ブロック単位の４画素×４バーストが５転送、の合計１０転送でよい。
【０１７２】
逆に、最も効率の悪い例は、２０画素×２０ラインの基底面マッチング処理範囲１４４が、図３０に示すように、４画素×４ラインのブロックの水平方向の６ブロック×垂直方向の６ブロック＝３６ブロック分に亘る場合である。この場合、図３０に示すように、２０画素×２０ラインの基底面マッチング処理範囲１４４には、水平方向の左右端部および垂直方向の上下端部に４画素および４ラインに満たない領域が存在するので、そこにダミー画素データ１５４を挿入している。
【０１７３】
この３６ブロックを４×４フォーマットでアクセスするには、水平方向の４ブロックの６ライン分と、水平方向の２ブロックの６ライン分とに分けることができる。図２８（Ｂ）の最大バースト長による４ブロック単位の４画素×１６バーストが６転送、２ブロック単位の４画素×８バーストが６転送、の合計１２転送でよい。
【０１７４】
したがって、図２７に示した８×８フォーマットの場合の１６転送よりも、更に転送アクセス数が少なく、また、この実施形態の撮像装置で最も効率の良いデータ転送である１６バーストを使用する割合が増え、バス効率はさらに向上している。
【０１７５】
［７．２次メモリを使用した処理の説明］
本実施の形態の例においては、図１及び図２に示したように、画像メモリ４０の記憶データを、自動メモリコピー部５０でフォーマット変換後のデータを２次メモリ６０に読み出すようにしてある。そして、その２次メモリ６０から１次メモリ３２に書き込ませる構成としてある。
【０１７６】
本実施の形態においては、基底面参照バッファ（内部１次メモリ）の外に、図２に示したように、縦方向にローテーションするバッファ（２次メモリ６０）を用意する。近年、システムＬＳＩの内蔵ＳＲＡＭの開発が進んでおり、外部の画像メモリに置くと帯域負荷が大きいデータを、内蔵ＳＲＡＭとして構成されたメモリで管理することが可能である。本実施の形態の内蔵バッファとしての２次メモリ６０は、例えば動き検出・動き補償部１６に内蔵された、このようなＳＲＡＭで構成させる。
【０１７７】
一般的に、ＤＲＡＭのような画像メモリには、コントローラのバンク管理とリフレッシュ動作によってデータ効率が悪化するため、参照ブロックのようなランダムアクセスは、より大きなバス帯域を消費する傾向にある。一方、内蔵ＳＲＡＭにはバンク管理やリフレッシュといったデータ効率が悪化する要因がないため、ランダムアクセスを苦としない利点がある。
【０１７８】
後述するデータ書き込み処理で説明するように、ＤＲＡＭで構成される画像メモリ４０から内部２次メモリ６０へのデータのコピーは、ランダムアクセスが発生しないように連続したデータをバースト転送でコピーしていくものとする。したがって、画像メモリ４０上のデータアクセスで、効率劣化は小さいものになる。一方、画像処理部である動き検出・動き補償部３１は、内部２次メモリ６０に対してランダムアクセスを行うが、ここは内蔵ＳＲＡＭであるので、ＤＲＡＭにアクセスするような効率悪化はない。
【０１７９】
次に、図６０及び図６１のフローチャートを参照して、自動メモリコピー部５０の制御で実行される、１フレーム目のデータ読み出し・書き込み処理（図３１）と、２フレーム目以降のデータ読み出し・書き込み処理（図３２）について説明する。
図３１の１フレーム目の処理としては、本線処理の終了を待ち（ステップＳ１０１）、次のフレームの先頭ブロックの動き検出に必要な領域を、画像メモリ４０から読み出し、２次メモリ６０に書き込ませるコピー処理を行う（ステップＳ１０２）。
【０１８０】
図３２の２フレーム目以降の処理としては、本線処理の終了を待ち（ステップＳ１１１）、次のフレームの先頭ブロックの動き検出に必要な領域を、画像メモリ４０から読み出し、２次メモリ６０に書き込ませるコピー処理を行う（ステップＳ１１２）。
そして、１フレーム分のコピー処理が終了したか否か判断し（ステップＳ１１３）、コピーが終了していない場合には、ステップＳ１１１に戻ってコピー処理を継続させる。ステップＳ１１３で１フレーム分のコピー処理が終了したと判断した場合には、このフレームのコピー処理を終了する。
このようにして、１フレームの参照フレームのデータごとに内部２次メモリ６０にデータが転送され、その内部２次メモリ６０から、参照フレームのマッチング処理範囲のデータが、内部１次メモリであるバッファ１６ａに転送されて保持される。内部１次メモリであるバッファ１６ａは、図９に示した参照ブロックバッファ部１６２に相当する。
【０１８１】
図３３は、図２に示した自動メモリコピー部５０で実行される、図３１及び図３２のコピー処理をより詳細に示した図である。
まず、１フレーム目なら面外ステートとし、２フレーム目なら面内ステートとして開始させる（ステップＳ１２１）。
そして、ステートを確認し（ステップＳ１２２）、面内ステートである場合には、動き検出結果からの情報を待ち、ターゲットブロックの座標を読み込む（ステップＳ１２３）。そのターゲットブロックの座標から、次のループのステートを計算する（ステップＳ１２４）。そして、転送先アドレスを計算する（ステップＳ１２５）。ここでは、アドレス＝先頭アドレスの画像メモリ４０の座標とする。また、転送元アドレスを計算する（ステップＳ１２６）。ここでは、アドレス＝先頭アドレスの２次メモリ６０の座標とする。
【０１８２】
計算されたそれぞれのアドレスを各メモリに対して発行し（ステップＳ１２７）、それぞれのデータの読み出し、書き込みを実行させて、先頭アドレスをインクリメントさせ（ステップＳ１２８）、ステップＳ１２２の処理に戻る。
【０１８３】
また、ステップＳ１２２で確認したステートが、面外ステートである場合には、移転先アドレスを計算する（ステップＳ１２９）。ここでは、アドレス＝先頭アドレスの画像メモリ４０の座標とする。また、転送元アドレスを計算する（ステップＳ１３０）。ここでは、アドレス＝先頭アドレスの２次メモリ６０の座標とする。
【０１８４】
計算されたそれぞれのアドレスを各メモリに対して発行し（ステップＳ１３１）、それぞれのデータの読み出し、書き込みを実行させて、先頭アドレスをインクリメントさせる（ステップＳ１３２）。その後、１フレーム分のコピーが終了したか否か判断し（ステップＳ１３３）、終了していない場合には、ステップＳ１２２の処理に戻る。１フレーム分のコピーが終了した場合には、ここでの処理を終了する。
【０１８５】
次に、画像メモリ４０にデータが記憶される状態と、画像メモリ４０から読み出される状態を、図３４及び図３５を参照して説明する。
フレームＮＲを行うためには、１画面分のデータを大容量メモリ上に書かなくてはいけない。この１画面分のデータを削減するには、何らかの形でデータを圧縮することになる。ここで、ＪＰＥＧ方式などに代表されるようなＤＣＴ変換を用いた圧縮をする場合、圧縮対象となるデータは８画素×８画素などの２のべき乗のブロックになる。また、このような圧縮技術は画像１枚分全体を圧縮してしまうため、あとから必要な箇所だけを伸長するようなことはできない。
ここで本実施の形態の撮像装置では、大容量メモリ４０の後段の回路は、動画コーデック部１９やＮＴＳＣエンコーダ２０などのライン単位の処理を行う回路がほとんどであり、大容量メモリに対しても、ライン単位で少しずつ伸長処理を行った方が都合が良い。
そのため、データ圧縮部３５では、ターゲットブロック単位（６４画素×６４画素）を１ライン単位でさらに分割した、６４画素×１画素（１ライン）で圧縮する。この圧縮処理としては、例えば６４画素×１ラインの画像データを、折れ線近似とデータ並び替えによって１／２のデータ量に圧縮する。このような圧縮であれば、フレームＮＲ後にメモリ４０に書き込んだ後、読み出した信号を、後段の処理でＮＴＳＣ信号としての出力処理やコーデック処理などを行う場合にも、データアクセスや伸長が容易である。
従って、本実施の形態では、図３４に示したように、水平６４画素がフレームＮＲの縦方向処理（短冊処理）の入力幅であるため、１ラインの６４画素単位で圧縮を行えばよい。この１ライン６４画素の信号は、例えば輝度信号８ビット、色差信号８ビットとすると、（８＋８）×６４＝１０２４ビットのデータとなり、そのデータを圧縮することになる。
画像メモリ４０にこのようにして１フレーム分書き込まれたデータは、データ伸張部３６で１水平ラインごとのデータとして読み出され、解像度変換部３７に供給されて、後段の画像データ処理系で扱える画像データとされる。
【０１８６】
ここで、図３５に示すように、画像メモリ４０に記憶されたデータを、自動メモリコピー部５０でコピーする際には、ターゲットブロックの座標に基づいて、必要な領域の画像データが伸張及びフォーマット変換されて、２次メモリ６０に読み出される。この際には、画像メモリ４０に書き込まれた６４画素×１ラインの単位の画像データを、６４ライン分読み出すことで、ターゲットブロック単位のデータが読み出される。そして、その２次メモリ６０から、必要な参照ブロックの画像データが、参照ブロックバッファ部１６２に供給されて、ターゲットブロックとのＳＡＤ値の計算処理が行われる。
【０１８７】
図３６は、画像メモリ４０から２次メモリ６０に転送される範囲と、さらにその２次メモリ６０から参照ブロックバッファ部１６２に送られる可能性がある範囲の例を示したものである。つまり、全部は必要でないが、縮小面の動きベクトル検出の結果によってアクセスが発生しうる範囲を保持しておかなくてはいけない。
この例では、ターゲットブロックの座標位置を参照画像に投影したものが、中央ブロック２１１であり、前記サーチ範囲はこのブロックを中心に上下左右にサーチ範囲を確保したものになり、図３６（Ａ）はある時点での処理状態を示し、図３６（Ｂ）は、それからターゲットブロックの位置が１ブロック進んだ状態である。
【０１８８】
このとき、その中央ブロック２１１を中心にしたサーチ範囲２１０内のデータを、参照ブロックバッファ部１６２に読み出す可能性があり、そのサーチ範囲２１０を含むデータを２次メモリ６０に記憶させる必要がある。ここで、画像メモリ４０には、既に説明したように短冊形式でブロック化されたデータが記憶させてあり、図３６（Ａ）の例では、短冊状の垂直のブロックラインＶ１，Ｖ２，Ｖ３，Ｖ４，Ｖ５の各ブロックのデータが２次メモリ６０にコピーさせる。但し、最も進んだラインであるブロックラインＶ５については、次の処理段階で必要になるブロック２１２まで、２次メモリ６０に読み出した状態である。また、一番後のラインであるブロックラインＶ１については、次の処理で必要なくなるブロック２１３よりも後は、既に２次メモリ６０から消去されている。
この状態で、中央ブロック２１１を中心にしたサーチ範囲２１０内のデータを、１次メモリとしての参照ブロックバッファ部１６２に転送させて、サーチを実行させる。
【０１８９】
そして、図３６（Ｂ）に示すように、動き検出・補償部１６で処理されるターゲットブロックの座標位置が、中央ブロック２１１から１つ下のブロック２１１′に移動したとする。このとき、サーチ範囲２１０についても、１ブロックずつ下に移動したサーチ範囲２１０′となり、２次メモリ６０から参照ブロックバッファ部１６２に該当するデータが転送される。このサーチ範囲２１０′は、ブロック２１２を含んだものとなり、ブロック２１３は既に不要なブロックとなっている。このため、この図３６（Ｂ）の状態では、さらに、ブロック２１２の下のブロックを２次メモリ６０に読み出し、既にサーチ範囲２１０′から外れたブロック２１３のデータを２次メモリ６０から消去させる。
【０１９０】
このようにして、１フレーム内で２次メモリ６０に読み出される範囲が進行して行くが、１フレームの最後のブロックまで進行したときには、次のフレームの先頭部分のデータを先行して２次メモリ６０に読み出す処理が行われる。
即ち、図３７（Ａ）に示すように、中央ブロック２１１″が１フレームの右下寄りになり、サーチ範囲２１０″が１フレームの右下端まで移動したとする。このときには、短冊状の垂直のブロックラインＶ１１，Ｖ１２，Ｖ１３，Ｖ１４，Ｖ１５が、参照ブロックバッファ部１６２に転送されているとすると、そのままでは、次に読み出すブロックが、１フレームの画面の外のラインＶ１６になってしまう。ここで、本例においては、このような状況になると、図３７（Ｂ）に示すように、次のフレームの左端のブロックラインＶ１７，Ｖ１８，Ｖ１９のブロックの読み出しを開始し、２次メモリ６０に転送させる。
【０１９１】
従って、図３７（Ｂ）に示すように、次のフレームのサーチが開始された時点で、２次メモリ６０には、ターゲットブロックである中央ブロック２２１の周囲のサーチ範囲２２０のデータが２次メモリ６０に読み出されている。そのため、そのサーチ範囲２２０のデータを、直ちに２次メモリ６０から１次メモリである参照ブロックバッファ部１６２に転送させて、サーチを実行させることができる。
【０１９２】
図３８は、本実施の形態の処理を、従来から提案されている他の処理と比較したものである。図３８中の動作モードでの、下段の［ラスタースキャン＋内部２次メモリ］が、本実施の形態の処理に相当する。上段の［ラスタースキャンモード］は、２次メモリを設けない構成とし、さらに、画像メモリ４０にラスタースキャンモードで記憶させた場合である。中段の［ラスタースキャンモード＋ブロックフォーマット］は、画像メモリ４０にラスタースキャンモードで記憶させると共に、ブロックフォーマットでも記憶させる例である。
【０１９３】
図３８に示す［ラスタースキャンモード］の場合には、大容量メモリである画像メモリ４０から、参照ブロックバッファ部１６２へのデータの転送が頻繁に発生し、画像メモリのデータ帯域の使用効率が悪く、メモリ効率が悪い。また、メモリに記憶されるデータの圧縮が不可能である。
［ラスタースキャンモード＋ブロックフォーマット］の場合には、ブロックフォーマットのデータを読み出せばよいので、メモリ効率の負荷を小さくすることができる。しかしながら、１フレームのデータを記憶する大容量メモリとして、２面の容量を必要とし、１面分余計な書き込みが必要になる。
これに対して、本実施の形態の例の［ラスタースキャン＋内部２次メモリ］の場合には、大容量メモリである画像メモリ４０として１面分の記憶容量でよいと共に、読み出し及び書き込みの効率もよい効果を有する。
【０１９４】
このように本実施の形態の例によると、ＤＲＡＭなどで構成される画像メモリ４０には、比較的データ量の多い画像データを圧縮させたフォーマットで効率良く記憶させるようにした。その上で、動き検出・動き補償部３１内の１次メモリには、２次メモリ６０を介して、その画像メモリ４０に記憶されたデータを書き込ませるようにしたので、１次メモリには効率良くデータが書き込まれる。すなわち、フレームをスキャンしていく都合上重複して読み出す可能性のある領域を、２次メモリに残したままで、１次メモリではサーチを行う領域のデータだけを書き込ませるようにしたので、画像メモリ４０のアクセスは最低限でよくなる。また、２次メモリに書き込ませる際には、図２に示した自動メモリコピー部５０内での処理で、既にブロックマッチングに適したフォーマットの画像データとなっている状態で行うようにした。このため、２次メモリから１次メモリへは、必要な領域のデータを単純にコピーするだけでよく、少ない処理負担で実行可能である。
【０１９５】
なお、図３６や図３７に示したコピーブロックの移動は、１つの例であり、その他の処理構成としてもよい。１ブロックを構成する画素数についても一例であり、その他の構成でもよい。ブロック単位ではなく、１ライン単位や１画素単位でコピーを行うようにしてもよい。
【０１９６】
また、上述の実施の形態は、この発明による画像処理装置を撮像装置に適用した場合であるが、この発明は、撮像装置に限られるわけではなく、種々の画像処理装置に適用可能である。
【０１９７】
また、上述の実施の形態は、ブロックマッチング手法を用いて、画像の重ね合わせによるノイズ低減処理をする場合に、この発明を適用した場合であるが、これに限られるものではなく、画像メモリ部に書き込まれた画像データを、複数の処理部がアクセスするような画像処理装置の全てに適用可能である。
【符号の説明】
【０１９８】
４…画像メモリ部、８…メモリコントローラ、１６…動き検出・動き補償部、１６ａ…１次メモリ（バッファ）、１７…画像重ね合わせ部、３５…データ圧縮部、３６…データ伸張部、３７…解像度変換部、４０…画像メモリ（大容量メモリ）、４１…１Ｖ前フレーム記憶部、４２…２Ｖ前フレーム記憶部、５０…自動メモリコピー部、５１…キャッシュローテーションコントロール部、５２…読み出しコントロール部、５３…書き込みコントロール部、５４…データコントロール部、５５…データ伸張部、５６…フォーマット変換部、５７…バッファ、６０…２次メモリ、６１…１Ｖ前フレームの一部記憶部、６２…２Ｖ前フレームの一部記憶部、１００…ターゲット画像（ターゲットフレーム）、１０１…参照画像（参照フレーム）、１０２…ターゲットブロック、１０４…動きベクトル１０６…サーチ範囲、１０７…参照ベクトル、１０８…参照ブロック、１６１…ターゲットブロックバッファ部、１６２…参照ブロックバッファ部、１６３…マッチング処理部、１６４…動きベクトル算出部、１７１…加算率計算部、１７２…加算部
【図１】
2012142865.tif 000003
【図２】
2012142865.tif 000004
【図３】
2012142865.tif 000005
【図４】
2012142865.tif 000006
【図５】
2012142865.tif 000007
【図６】
2012142865.tif 000008
【図７】
2012142865.tif 000009
【図８】
2012142865.tif 000010
【図９】
2012142865.tif 000011
【図１０】
2012142865.tif 000012
【図１１】
2012142865.tif 000013
【図１２】
2012142865.tif 000014
【図１３】
2012142865.tif 000015
【図１４】
2012142865.tif 000016
【図１５】
2012142865.tif 000017
【図１６】
2012142865.tif 000018
【図１７】
2012142865.tif 000019
【図１８】
2012142865.tif 000020
【図１９】
2012142865.tif 000021
【図３１】
2012142865.tif 000022
【図３２】
2012142865.tif 000023
【図３３】
2012142865.tif 000024
【図３４】
2012142865.tif 000025
【図３５】
2012142865.tif 000026
【図３６】
2012142865.tif 000027
【図３８】
2012142865.tif 000028
【図２０】
2012142865.tif 000029
【図２１】
2012142865.tif 000030
【図２２】
2012142865.tif 000031
【図２３】
2012142865.tif 000032
【図２４】
2012142865.tif 000033
【図２５】
2012142865.tif 000034
【図２６】
2012142865.tif 000035
【図２７】
2012142865.tif 000036
【図２８】
2012142865.tif 000037
【図２９】
2012142865.tif 000038
【図３０】
2012142865.tif 000039
【図３７】
2012142865.tif 000040