(57)【特許請求の範囲】
【請求項１】
入力端子から入力されたデータを第１のクロック信号に応じたタイミングで取り込み、取り込んだデータを保持する第１のデータ保持手段と、上記第１のデータ保持手段によって保持されたデータを第２のクロック信号に応じたタイミングで取り込んで保持し、保持されたデータを出力端子に出力する第２のデータ保持手段と、上記第１のデータ保持手段によって保持されたデータを、データ線を介して外部に出力するデータ出力手段とをそれぞれが含む複数のデータ記憶セルを有し、当該複数のデータ記憶セルが、一のデータ記憶セルの上記出力端子を他のデータ記憶セルの上記入力端子に接続することにより直列接続して構成されるデータ記憶部と、
上記直列接続される上記複数のデータ記憶セルにおいて、周期が等しく位相が異なる上記第１のクロック信号と前記第２のクロック信号を上記第１および第２のデータ保持手段に与え、上記データ出力手段を制御することによって複数の上記第１のデータ保持手段に保持中の複数のデータを対応する複数の上記データ線に同時に出力させる制御手段と、
上記データ記憶部にある複数の上記データ記憶セルから上記制御手段の制御によって出力されたデータに応じて所定のデータ処理を行うデータ処理部と
を有するデータ処理装置。
【請求項２】
上記第１のデータ保持手段は、
上記入力端子と第１の記憶ノードとの間に設けられ、上記第１のクロック信号に応じて導通または遮断し、導通時に上記入力端子から入力されたデータを上記第１の記憶ノードに入力する第１の転送ゲートと、
上記第１の記憶ノードに接続され、上記第１の転送ゲートを介して入力されたデータを保持する第１のキャパシタと、
入力端子が上記第１の記憶ノードに接続されている第１のインバータと
を有する請求項１記載のデータ処理装置。
【請求項３】
上記第２のデータ保持手段は、
上記第１のインバータの出力端子と第２の記憶ノードとの間に設けられ、上記第２のクロック信号に応じて導通または遮断し、導通時に上記第１のインバータの出力端子から出力されたデータを上記第２の記憶ノードに入力する第２の転送ゲートと、
上記第２の記憶ノードに接続され、上記第２の転送ゲートを介して入力されたデータを保持する第２のキャパシタと
を有する請求項２記載のデータ処理装置。
【請求項４】
上記第２のデータ保持手段は、
上記第１のインバータの出力端子と第２の記憶ノードとの間に設けられ、上記第２のクロック信号に応じて導通または遮断し、導通時に上記第１のインバータの出力端子から出力されたデータを上記第２の記憶ノードに入力する第２の転送ゲートと、
入力端子が上記第２の記憶ノードに接続されている第２のインバータと
を有する請求項２記載のデータ処理装置。
【請求項５】
上記第２のデータ保持手段は、
上記第１のインバータの出力端子と第２の記憶ノードとの間に設けられ、上記第２のクロック信号に応じて導通または遮断し、導通時に上記第１のインバータの出力端子から出力されたデータを上記第２の記憶ノードに入力する第２の転送ゲートと、
上記第２の記憶ノードに接続され、上記第２の転送ゲートを介して入力されたデータを保持する第２のキャパシタと、入力端子が上記第２の記憶ノードに接続されている第２のインバータと
を有する請求項２記載のデータ処理装置。
【請求項６】
上記データ出力手段は、上記第１のインバータの出力端子とデータ線との間に設けられ、データ読み出し信号に応じて導通または遮断し、導通時に上記第１のインバータの出力端子からの出力データを上記データ線に出力するデータ出力ゲートを有する
請求項２記載のデータ処理装置。
【請求項７】
上記データ線と上記第２の記憶ノードとの間に設けられ、データ書き込み信号に応じて導通または遮断し、導通時に上記データ線のデータを上記第２の記憶ノードに入力するデータ入力ゲートをさらに有する
請求項６記載のデータ処理装置。
【請求項８】
上記制御手段は、上記データ入力ゲートが上記データ線から上記第２の記憶ノードにデータを入力するとき、上記第２の転送ゲートを遮断状態に保持させる
請求項７記載のデータ処理装置。
【請求項９】
上記データ記憶部には、連続して入力される少なくとも第１と第２の２つのフレームの画像信号が記憶され、上記データ処理部は、上記データ記憶部に記憶されている上記２つのフレームの画像信号のうち、上記第２のフレームの所定の位置にある注目ブロックと上記第１のフレームにある所定の探索領域において、ブロックマッチング処理によって上記探索領域における上記注目ブロックに画素成分がもっとも近い領域を探索し、当該探索結果に応じて、上記注目ブロックの動きベクトルを求める
請求項１記載のデータ処理装置。
【請求項１０】
上記データ処理部は、
上記第２のフレームにおける注目ブロックに対応する各画素のデータを記憶するデータ記憶セルからの読み出しデータを保持する注目ブロックレジスタと、
上記第１のフレームにおける探索領域に対応する各画素のデータを記憶するデータ記憶セルからの読み出しデータを上記注目ブロックと同じ大きさのブロック単位に分割して保持する複数の探索領域レジスタと、
上記注目ブロックレジスタの各画素データと上記各探索領域レジスタの各画素データとに基づき、各画素毎に画素データの差の絶対値の和を求める演算手段と、
上記探索領域における各探索位置毎に算出された上記注目ブロックレジスタと上記探索領域レジスタの全画素データの差の絶対値の和がもっとも小さい探索位置の座標に基づき、上記注目ブロックの動きベクトルを算出する手段と
を有する請求項１記載のデータ処理装置。
【請求項１１】
上記データ処理部は、上記データ記憶部において新しい画素データが入力される度に上記ブロックブロックマッチング処理を行い、上記注目ブロックの動きベクトルを求める
請求項９記載のデータ処理装置。
【請求項１２】
上記データ記憶部には、
連続して入力される少なくとも第１、第２と第３の３つのフレームの画像信号が記憶され、上記データ処理部は、上記データ記憶部に記憶されている３つのフレームの画像データに基づき、画像の所定の特性を抽出する第１の演算手段と、
上記第１の演算手段によって抽出された上記画像の特性に基づいて設定された最適なフィルタ係数を用いて、上記画像データに対して所定のフィルタ処理を行う第２の演算手段と
を有する請求項１記載のデータ処理装置。
【請求項１３】
上記第１の演算手段は、上記画像データに基づき、クラス分類処理を行う
請求項１２記載のデータ処理装置。
【請求項１４】
上記データ記憶部には、
連続して入力される少なくとも第１と第２の２つのフレームの画像信号が記憶され、上記データ処理部には、上記データ記憶部に記憶されている上記画像信号に応じて、上記画像の特徴量を抽出する特徴量抽出手段と、上記特徴量抽出手段によって抽出した上記特徴量に応じて、上記特徴量に対応する適応アドレスを生成する適応アドレス生成手段と、
上記適応アドレス生成手段によって生成された上記適応アドレスに応じて、上記データ記憶部から所定の画素データを読み出し、当該読み出したデータに応じて、上記画像信号を処理する処理手段と
を有する請求項１記載のデータ処理装置。
【請求項１５】
上記特徴量抽出手段によって抽出した上記特徴量に応じて、上記データ記憶部から読み出した画素データから所定の画素データを選択する選択手段を有する
請求項１４記載のデータ処理装置。
【請求項１６】
上記処理手段は、上記特徴量抽出手段によって抽出した特徴量及び上記適応アドレスに応じて、第１と第２のフレームから読み出した所定の画素データに応じて、上記画像信号の動きベクトルを求める
請求項１４記載のデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理装置、例えば、画像データをフレーム単位で蓄積し、蓄積した画像データを用いて所定の処理を行う画像処理装置などのデータ処理装置に関するものである。
【０００２】
【従来の技術】
従来のディジタル画像信号処理において、画像蓄積用外部メモリを使用する場合、汎用のＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static Random Access Memory ）、あるいはＦＩＦＯ（First in First out）、ＶＲＡＭ（Video RAM 、またはビデオＲＡＭ）と呼ばれるシリアルアクセスに特化したメモリを使用していた。また、画像処理ＬＳＩ（Large Scale Integrated Circuit）の内部にメモリを組み込んで設計する場合においても、設計用のライブラリ（マクロ）として用意されている汎用のＤＲＡＭなどと同様な構造のメモリを使用していた。
【０００３】
【発明が解決しようとする課題】
ところで、上述した従来のメモリでは、データの入出力を行う入出力ポート（Ｉ／Ｏポート）は通常１つしかなく、デュアルポートのメモリでも入出力ポートが２つある程度であり、同時に複数のデータをアクセスするには限界があった。
【０００４】
こうした従来のメモリを使用して複数のデータを扱うには、必要なデータが格納されているアドレスを順次指定してデータ数に応じた回数だけアクセスする必要があった。これは、リアルタイムの画像処理のように限られた時間で処理を行う場合には非常に不利である。
【０００５】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、複数のデータ記憶セルを直列接続し、同時に複数のデータ記憶セルから保持データを読み出して所定の処理を行うことで、複数のデータを同時に利用して高速な信号処理を実現でき、さらにデータの入力タイミングで順次記憶データをスキャンしつつ所定の処理を実行可能なデータ処理装置を提供することにある。
【０００６】
【課題を解決するための手段】
上記目的を達成するため、本発明のデータ処理装置は、入力端子から入力されたデータを第１のクロック信号に応じたタイミングで取り込み、取り込んだデータを保持する第１のデータ保持手段と、上記第１のデータ保持手段によって保持されたデータを第２のクロック信号に応じたタイミングで取り込んで保持し、保持されたデータを出力端子に出力する第２のデータ保持手段と、上記第１のデータ保持手段によって保持されたデータを、データ線を介して外部に出力するデータ出力手段とをそれぞれが含む複数のデータ記憶セルを有し、当該複数のデータ記憶セルが、一のデータ記憶セルの上記出力端子を他のデータ記憶セルの上記入力端子に接続することにより直列接続して構成されるデータ記憶部と、上記直列接続される上記複数のデータ記憶セルにおいて、周期が等しく位相が異なる上記第１のクロック信号と前記第２のクロック信号を上記第１および第２のデータ保持手段に与え、上記データ出力手段を制御することによって複数の上記第１のデータ保持手段に保持中の複数のデータを対応する複数の上記データ線に同時に出力させることが可能な制御手段と、上記データ記憶部にある複数の上記データ記憶セルから上記制御手段の制御によって出力されたデータに応じて所定のデータ処理を行うデータ処理部とを有する。
【０００７】
また、本発明では、好適には、上記第１のデータ保持手段は、上記入力端子と第１の記憶ノードとの間に設けられ、上記第１のクロック信号に応じて導通または遮断し、導通時に上記入力端子から入力されたデータを上記第１の記憶ノードに入力する第１の転送ゲートと、上記第１の記憶ノードに接続され、上記第１の転送ゲートを介して入力されたデータを保持する第１のキャパシタと、入力端子が上記第１の記憶ノードに接続されている第１のインバータとを有する。
【０００８】
また、本発明では、好適には、上記第２のデータ保持手段は、上記第１のインバータの出力端子と第２の記憶ノードとの間に設けられ、上記第２のクロック信号に応じて導通または遮断し、導通時に上記第１のインバータの出力端子から出力されたデータを上記第２の記憶ノードに入力する第２の転送ゲートと、上記第２の記憶ノードに接続され、上記第２の転送ゲートを介して入力されたデータを保持する第２のキャパシタとを有する。また、上記第２のデータ保持手段において、入力端子が上記第２の記憶ノードに接続されている第２のインバータをさらに有する。
【０００９】
また、本発明では、好適には、上記データ出力手段は、上記第１のインバータの出力端子とデータ線との間に設けられ、データ読み出し信号に応じて導通または遮断し、導通時に上記第１のインバータの出力端子からの出力データを上記データ線に出力するデータ出力ゲートを有する。
【００１０】
また、本発明では、好適には、上記データ線と上記第２の記憶ノードとの間に設けられ、データ書き込み信号に応じて導通または遮断し、導通時に上記データ線のデータを上記第２の記憶ノードに入力するデータ入力ゲートをさらに有し、好ましくは、上記制御手段は、上記データ入力ゲートが上記データ線から上記第２の記憶ノードにデータを入力するとき、上記第２の転送ゲートを遮断状態に保持させる。
【００１１】
また、本発明では、好適には、上記データ記憶部には、連続して入力される少なくとも第１と第２の２つのフレームの画像信号が記憶され、上記データ処理部は、上記データ記憶部に記憶されている上記２つのフレームの画像信号のうち、上記第２のフレームの所定の位置にある注目ブロックと上記第１のフレームにある所定の探索領域において、ブロックマッチング処理によって上記探索領域における上記注目ブロックに画素成分がもっとも近い領域を探索し、当該探索結果に応じて、上記注目ブロックの動きベクトルを求める。
【００１２】
また、本発明では、好適には、上記データ処理部は、上記第２のフレームにおける注目ブロックに対応する各画素のデータを記憶するデータ記憶セルからの読み出しデータを保持する注目ブロックレジスタと、上記第１のフレームにおける探索領域に対応する各画素のデータを記憶するデータ記憶セルからの読み出しデータを上記注目ブロックと同じ大きさのブロック単位に分割して保持する複数の探索領域レジスタと、上記注目ブロックレジスタの各画素データと上記各探索領域レジスタの各画素のデータとに基づき、各画素毎に画素データの差の絶対値の和を求める演算手段と、上記探索領域における各探索位置毎に算出された上記注目ブロックレジスタと上記探索領域レジスタの全画素データの差の絶対値の和がもっとも小さい探索位置の座標に基づき、上記注目ブロックの動きベクトルを算出する手段とを有する。
【００１３】
また、本発明では、好適には、上記データ処理部は、上記データ記憶部において新しい画素データが入力される度に上記ブロックブロックマッチング処理を行い、上記注目ブロックの動きベクトルを求める。
【００１４】
また、本発明では、好適には、上記データ記憶部には、連続して入力される少なくとも第１、第２と第３の３つのフレームの画像信号が記憶され、上記データ処理部は、上記データ記憶部に記憶されている３つのフレームの画像データに基づき、画像の所定の特性を抽出する第１の演算手段と、上記第１の演算手段によって抽出された上記画像の特性に基づいて設定された最適なフィルタ係数を用いて、上記画像データに対して所定のフィルタ処理を行う第２の演算手段とを有する。好ましくは、上記第１の演算手段は、上記画像データに基づき、クラス分類処理を行う。
【００１５】
また、本発明では、好適には、上記データ記憶部には、連続して入力される少なくとも第１と第２の２つのフレームの画像信号が記憶され、上記データ処理部には、上記データ記憶部に記憶されている上記画像信号に応じて、上記画像の特徴量を抽出する特徴量抽出手段と、上記特徴量抽出手段によって抽出した上記特徴量に応じて、上記特徴量に対応する適応アドレスを生成する適応アドレス生成手段と、上記適応アドレス生成手段によって生成された上記適応アドレスに応じて、上記データ記憶部から所定の画素データを読み出し、当該読み出したデータに応じて、上記画像信号を処理する処理手段とを有する。
【００１６】
また、本発明では、好適には、上記特徴量抽出手段によって抽出した上記特徴量に応じて、上記データ記憶部から読み出した画素データから所定の画素データを選択する選択手段を有する。
【００１７】
さらに、本発明では、好適には、上記処理手段は、上記特徴量抽出手段によって抽出した特徴量及び上記適応アドレスに応じて、第１と第２のフレームから読み出した所定の画素データに応じて、上記画像信号の動きベクトルを求める。
【００１８】
本発明によれば、第１のデータ保持手段と第２のデータ保持手段からなる複数のデータ記憶セルが直列接続されてなるデータ記憶部を用いて、入力端子から順次入力されたデータを各データ記憶セルを介して転送しながら保持し、複数のデータ記憶セルに保持されているデータをデータ線を介して同時に外部に出力し、データ処理部において、データ記憶部から同時に読み出した複数のデータに応じて、所定の信号処理が行われる。
【００１９】
また、データ記憶部に、例えば、連続した２つの画像フレームにおいて、各画素毎に入力された画像データを保持しながら順次シフトすることで、データ記憶部の所定の位置にあるデータ記憶セルからの読み出しデータに基づき所定の探索処理を行うことによって、画素データの入力に伴って探索領域を順次ずらしながら探索処理を行うことができ、大量の画像データを高速に扱うことができ、画像処理の効率化が実現可能になる。
【００２０】
【発明の実施の形態】
第１実施形態
図１は本発明に係るデータ処理装置の第１の実施形態を示す構成図である。
本実施形態のデータ処理装置は、例えば、画像データを処理する画像データ処理装置である。図１に示すように、本実施形態のデータ処理装置は、データ記憶部１００と、データ処理部１２０とによって構成されている。
【００２１】
データ記憶部１００は、外部から入力された各画素の画像データを記憶する複数のデータ記憶セルによって構成されている。各データ記憶セルは、入力された画像データを保持し、保持した画像データをデータ処理部１２０に出力する。
【００２２】
データ処理部１２０は、データ記憶部１００から入力された画像データに応じて所定の信号処理を行う。例えば、データ記憶部１００には、連続する２フレームの画像データを記憶されている場合、データ処理部１２０は、前フレームの画像データにおける所定の探索範囲と現フレームにおける所定の注目ブロックの画像データとを比較することによって、２つのフレーム間における画像の動き推定を行う。
【００２３】
次に、本実施形態のデータ記憶部１００を構成するデータ記憶セル１０の構成について説明する。
図２は、データ記憶セルの一構成例を示している。図２（ａ）は、データ記憶セル１０の回路図であり、図２（ｂ）は、データ記憶セル１０の構成を簡略化して表示した模式図である。
【００２４】
図２（ａ）に示すように、データ記憶セル１０は、トランスファゲートＴＧ１，ＴＧ２、キャパシタＣ１，Ｃ２、インバータＩＮＶ１，ＩＮＶ２及びワードゲートＷＧによって構成されている。トランスファゲートＴＧ１とＴＧ２は、例えば、ｎＭＯＳトランジスタによって構成され、トランスファゲートＴＧ１のゲートにクロック信号ＣＫ１が印加され、トランスファゲートＴＧ２のゲートにクロック信号ＣＫ２が印加される。このため、クロック信号ＣＫ１がハイレベルのとき、トランスファゲートＴＧ１が導通し、それ以外のとき遮断する。同様に、クロック信号ＣＫ２がハイレベルのとき、トランスファゲートＴＧ２が導通し、それ以外のとき遮断する。
【００２５】
インバータＩＮＶ１とＩＮＶ２は、それぞれゲート同士が共通に接続され、電源電圧ＶCCと共通電位ＶSS間に直列接続されているｐＭＯＳトランジスタとｎＭＯＳトランジスタによって構成されている。ワードゲートＷＧは、ｎＭＯＳトランジスタによって構成されている。図示のように、ワードゲートＷＧのゲートがワード線ＷＬに接続されている。このため、ワード線ＷＬがハイレベルに保持されているとき、ワードゲートＷＧが導通し、第１の記憶ノードＮＤ１の保持データの論理反転データがビット線ＢＬに出力される。
【００２６】
図２（ｂ）に示す模式図に示すように、トランスファゲートＴＧ１は、入力端子１１と第１の記憶ノードＮＤ１との間に設けられ、キャパシタＣ１は記憶ノードＮＤ１と基準電位間に接続され、インバータＩＮＶ１の入力端子が第１の記憶ノードＮＤ１に接続され、その出力端子とビット線との間にワードゲートＷＧが設けられている。
トランスファゲートＴＧ２はインバータＩＮＶ１の出力端子と第２の記憶ノードＮＤ２との間に設けられている。キャパシタＣ２は、第２の記憶ノードＮＤ２と基準電位との間に接続され、インバータＩＮＶ２の入力端子は第２の記憶ノードＮＤ２に接続され、出力端子はデータ記憶セルの出力端子１２に接続されている。
【００２７】
上述したように、本実施形態のデータ記憶セルは、直列に配置されている２つの記憶段を有する、いわゆるマスタ−スレーブ構成を有する。各記憶段にキャパシタによって記憶ノードのデータが保持されるダイナミック記憶方式を取っている。このため、各記憶ノードのデータ保持時間に限界がある。各記憶ノードの最大保持時間は、主としてトランスファゲートのジャンクションリークとキャパシタ容量で決まる時定数、及び記憶ノードに接続されているインバータのしきい値などによって決定される。設計上、各記憶ノードに必要なデータ保持時間、動作電源電圧ＶCC、及び他のパラメータに基づき、キャパシタＣ１及びＣ２の容量が決定される。
【００２８】
また、データ記憶セルの読み出しは、第１の記憶ノードに接続されているインバータＩＮＶ１の出力側より、ワードゲートＷＧを介して行われるので、読み出しによって第１の記憶ノードの記憶データの破壊を生じることがない。このため、ＤＲＡＭで必要なリフレッシュ動作が不要であり、その伴う制御回路も省略でき、回路構成の簡略化ができる。
【００２９】
本実施形態のデータ記憶部１００は、図２に示すデータ記憶セルを複数直列接続して構成されている。
図３は、データ記憶部１００の一部分を示す回路図である。図３において、前後に接続されている２つのデータ記憶セル１０−１と１０−２からなる部分回路を示している。
【００３０】
図３に示すように、データ記憶部１００において、前段のデータ記憶セル１０−１の出力端子が後段のデータ記憶セル１０−２の入力端子に接続されている。なお、図３には示していないが、後段のデータ記憶セル１０−２の出力端子がさらに次のデータ記憶セルの入力端子に接続されている。また、データ記憶セル１０−１が一段目にある場合、その入力端子がインバータＩＮＶ０の出力端子に接続されている。なお、インバータＩＮＶ０の入力端子に、例えば、画像データが入力される。
なお、図３に示すデータ記憶部１００において、初段のデータ記憶セルの入力側に接続されているインバータＩＮＶ０が省略できる。この場合、各データ記憶セルの出力データが入力データに対して論理が反転になる。
【００３１】
また、各段データ記憶セルにおいて、トランスファゲートＴＧ１とＴＧ１’のゲートにクロック信号ＣＫ１が供給され、トランスファゲートＴＧ２とＴＧ２’のゲートにクロック信号ＣＫ２が供給される。
さらに、前段のデータ記憶セル１０−１のワードゲートがビット線ＢＬ１に接続され、後段のデータ記憶セル１０−２のワードゲートがビット線ＢＬ２に接続されている。
【００３２】
図４は、図３に示すデータ記憶部１００の動作を示すタイミングチャートである。以下、図３及び図４を参照しつつ、本実施形態のデータ記憶部１００の動作について説明する。
【００３３】
図４（ａ）と（ｂ）は、それぞれクロック信号ＣＫ１とＣＫ２のタイミングを示している。図示のように、クロック信号ＣＫ１とＣＫ２は周期的に入力される狭いパルス幅を持つパルス信号である。クロック信号ＣＫ１とＣＫ２の周期が等しく、位相が異なる。クロック信号ＣＫ２のパルスに続いてクロック信号ＣＫ１のパルスが入力される。
【００３４】
図４（ｃ）はデータ記憶部１００の入力データを示している。また、図４（ｄ）、（ｅ）、（ｆ）及び（ｇ）は、それぞれデータ記憶セル１０−１のキャパシタＣ１，Ｃ２及びＣ１’，Ｃ２’の保持データを示している。
図４（ｃ）に示すように、データ記憶部１００に、クロック信号ＣＫ１またはＣＫ２に同期して、データａ，ｂ，ｃ，ｄ，ｅが順次入力される。
【００３５】
ここで、初期状態としてデータ記憶部１００にデータａが入力され、これに応じてインバータＩＮＶ１によって反転された入力データ／ａ（ここで、“／”はデータの論理反転を意味する）がデータ記憶セル１０−１に入力され、キャパシタＣ１によって保持される。また、データ記憶セル１０−１のキャパシタＣ２によって、データｚが保持され、これに応じてデータ記憶セル１０−２のキャパシタＣ１’によって、データ／ｚが保持される。また、キャパシタＣ２’によって、データｙが保持されている。
【００３６】
まず、クロック信号ＣＫ２の立ち上がりエッジにおいて、データ記憶セル１０−１と１０−２のトランスファゲートＴＧ２とＴＧ２’が導通する。
このため、データ記憶セル１０−１において、キャパシタＣ１の保持データ／ａがインバータＩＮＶ１によって反転され、キャパシタＣ２に入力される。
また、データ記憶セル１０−２において、キャパシタＣ１’の保持データ／ｚがインバータＩＮＶ１によって反転され、キャパシタＣ２’に入力される。
【００３７】
次に、クロック信号ＣＫ２のパルスが終了したのち、クロック信号ＣＫ１が立ち上がる。その立ち上がりエッジにおいて、データ記憶セル１０−１と１０−２のトランスファゲートＴＧ１とＴＧ１’が導通する。
このため、データ記憶セル１０−１において、インバータＩＮＶ０の出力端子のデータ／ｂがキャパシタＣ１に入力され、キャパシタＣ１によって保持される。
また、データ記憶セル１０−２において、データ記憶セル１０−１のキャパシタＣ２の保持データａがインバータＩＮＶ２によって反転され、キャパシタＣ１’に入力される。即ち、キャパシタＣ１’によってデータ／ａが保持される。
【００３８】
上述したように、クロック信号ＣＫ２とＣＫ１のパルスが交互に入力されることによって、データ記憶部１００に入力されるデータａ，ｂ，ｃ，ｄ及びｅが順次にデータ記憶セル１０−１に取り込まれ、次段のデータ記憶セル１０−２に転送される。
【００３９】
図４（ｈ）と（ｉ）は、それぞれデータ記憶セル１０−１と１０−２からビット線ＢＬ１とＢＬ２に出力されるデータを示し、図４（ｊ）は、ワード線ＷＬに印加される読み出し信号の波形を示している。
【００４０】
ワード線ＷＬに印加される読み出し信号ＳR がハイレベルのとき、データ記憶セル１０−１と１０−２のワードゲートＷＧが導通するので、データ記憶セル１０−１において、キャパシタＣ１の保持データがインバータＩＮＶ１によって反転され、ビット線ＢＬに出力される。また、データ記憶セル１０−２において、キャパシタＣ１’の保持データがインバータＩＮＶ１’によって反転され、ビット線ＢＬ２に出力される。
【００４１】
ワード線ＷＬに印加される読み出し信号ＳR がクロック信号ＣＫ１とＣＫ２に同期するので、図４（ｈ）と（ｉ）に示すように、ワード線ＷＬに印加される読み出し信号ＳR の立ち上がりエッジにおいて、データ記憶セル１０−１のキャパシタＣ１に保持されているデータの論理反転データｂ，ｃ，ｄ，ｅが順次ビット線ＢＬ１に出力され、一方、ビット線ＢＬ１の出力データよりクロック信号１周期分遅れて、データ記憶セル１０−２のキャパシタＣ１’に保持されているデータの論理反転データａ，ｂ，ｃ，ｄが順次ビット線ＢＬ２に出力される。
【００４２】
以上説明したように、本実施形態のデータ記憶部１００において、クロック信号に同期して入力されるデータが直列接続されているデータ記憶セルによって順次出力側にシフトされ、そして、所定のタイミングでワード線ＷＬにハイレベルの読み出し信号ＳR を印加することによって、当該読み出し信号ＳR の入力タイミングに応じてワードゲートが開き、それぞれのデータ記憶セルのキャパシタによって保持されたデータの論理反転データがワードゲートを介してビット線に出力される。
これによって、データ記憶部１００に保持されているデータのうち、複数のデータを同時に外部に出力される、いわゆるマルチアクセスを実現できる。また、図３に示すように、本実施形態のデータ記憶部１００において、マルチアクセスを実現するために回路構成を大幅に増加させることなく、簡素な回路で大量の入力データを保持し、さらに保持したデータを順次シフトしながら、複数のデータに対して同時に読み出すことが可能となる。
【００４３】
次に、本実施形態のデータ処理装置を画像信号処理に適用した応用例について説明する。
この応用例は、隣接する２フレームの画像信号において、動き推定を行うための探索処理を行う。即ち、前フレームの画像信号に設けられた探索範囲において、現フレームの所定の画像ブロックが探索範囲内どの位置にあるかを調べて、それに応じて動きベクトルを求める処理である。なお、この動き推定は、高効率化画像圧縮処理、例えば、動画像圧縮処理の規格であるＭＰＥＧ（Moving Picture Experts Group）２，ＭＰＥＧ４で定められた動きベクトル推定などには必要不可欠な処理である。
【００４４】
図５は、前フレームにおける探索範囲ＳＡと現フレームにおける注目ブロックＢＫ０との位置関係を示している。図示のように、現フレームにある注目ブロックＢＫ０に対して、前フレームに当該注目ブロックＢＫ０に対応する探索範囲ＳＡが設けられる。本実施形態のデータ処理装置は、当該探索範囲ＳＡにおいて、現フレームの注目ブロックＢＫ０にもっとも近いブロックを探索し、当該探索の結果に応じて注目ブロックＢＫ０の動きベクトルを求める。なお、図５に示すように、注目ブロックＢＫ０と探索範囲ＳＡとの相対的な時空間の位置関係が一定に保たれる。即ち、注目ブロックＢＫ０が移動しても、それに対して探索範囲ＳＡの相対的な位置関係は変化しない。一例として、現フレームにおける注目ブロックＢＫ０の位置が前フレームにおける探索範囲ＳＡの中心に位置するように、探索範囲ＳＡが決められる。
【００４５】
ここで、入力される画像信号は、所定の画素数を持つ一フレームの画像信号をライン毎に走査し、走査点に対応する画素の画像データを順番に出力することによって得られたストリームの画像信号である。このストリームの画像信号が順次データ記憶部１００に入力される。データ記憶部１００において、入力された画像データが直列接続されているデータ記憶セルによって次々と転送される。そして、所定のデータ記憶セルから保持されているデータを読み出すことによって、１フレームの画像上所定の位置にある画素データが外部に読み出される。
上述したように、本実施形態のデータ処理装置において、複数のデータ記憶セルから同時に保持データを読み出すことができるため、ブロック単位でのデータ処理を効率的に実行できる。
【００４６】
以下、本実施形態のデータ処理装置における動きベクトルの探索処理について説明する。
図６は、フレーム単位で入力される画像データ及び画像データがデータ記憶部１００に格納されているときの様子を示している。ここで、連続する２つのフレームの画像がデータ記憶部１００によって格納されていると仮定する。この場合、データ記憶部１００は、少なくとも２フレーム分の画像データを記憶できるように、データ記憶セルの数が設定される。
【００４７】
図６に示すように、１フレーム画像において、ライン毎に走査される各画素のデータが順次データ記憶部１００に格納される。即ち、各フレームの画像信号が、いわゆるラスタースキャン処理によってストリームの画像データに変換され、空間的な位置関係が時間軸上に置き換えられる。
なお、本実施形態のデータ処理装置は、ラスタースキャン方式のみならず、他のスキャン方式、例えば、インタレーススキャンで得られた画像データをも処理できる。ただし、インタレーススキャン方式の場合、一フレームの画像データが奇数フィールドと偶数フィールドに分けて順次入力されるので、一フレーム上の所定の領域の画像データがライン毎に２つのフィールドに分割されて、データ記憶部１００に格納される。
【００４８】
図６において、スキャンされた各画素のデータがデータ記憶部１００に順次入力され、そこで各データ記憶セルによって保持され、転送される。
ここで、一例として現フレームの注目ブロックＢＫ０は、水平方向に３画素、垂直方向３画素、合計９画素分に対応する。これらの９画素分のデータが、３つのラインにわたってデータ記憶部１００に保持される。
また、前フレームの探索範囲ＳＡは、例えば、水平方向に９画素、垂直方向に９画素、合計８１画素分に対応する。これらの８１画素分のデータが、９つのラインにわたってデータ記憶分１００に保持される。
【００４９】
図７は、注目ブロックＢＫ０の画素及びこれらの画素のデータがデータ記憶部１００に記憶された位置を示している。
図７（ａ）は、３×３の画素を含む注目ブロックＢＫ０の各画素の配置を示し、図７（ｂ）は、これらの画素に対応するデータ記憶部１００のデータ格納位置を示している。
【００５０】
図７（ａ）に示すように、注目ブロックＢＫ０は、９つの画素ｐ１〜ｐ９によって構成されている。ラスタースキャンによってこれらの画素が３ライン分に渡ってデータ記憶部１００に格納される。
図７（ｂ）に示すように、注目ブロックＢＫ０の１行目の画素ｐ１，ｐ２とｐ３は、データ記憶部１００の所定の位置に保持され、画素ｐ１から１ライン離れた位置に、２行目の画素ｐ４，ｐ５とｐ６が順次格納されている。さらに、画素ｐ４から１ライン離れた位置に、３行目の画素ｐ７，ｐ８とｐ９が順次格納されている。
【００５１】
各画素に対応する画素データは、画像信号のフォーマットに応じて複数ビットを有するので、データ記憶部１００は、各画素データのビット数に応じてデータ記憶セルの列を複数並列に設ければよい。
例えば、画像信号がＲ，Ｇ，Ｂの３色で表示され、且つ各色に８ビットずつ割り当てられた場合、１つの画素に２４ビットのデータが割り当てられる。この場合、データ記憶部１００は、直列接続されたデータ記憶セルの列を少なくとも２４本並列に用いなければならない。
また、画像信号が輝度信号Ｙと色信号Ｃによって表示され、輝度信号Ｙと色信号Ｃにそれぞれ８ビットずつ割り当てられた場合、１つの画素に１６ビットのデータが割り当てられる。この場合、データ記憶部１００は、直列接続されたデータ記憶セルの列を少なくとも１６本並列に用いればよい。
【００５２】
次に、注目ブロックＢＫ０を用いて、前フレームの指定された探索範囲ＳＡにおける探索処理及び当該探索処理によって求められる動きベクトルの一例を、図８及び図９を参照しつつ説明する。
図８は、注目ブロックＢＫ０及び探索範囲ＳＡを示し、図９は、動き検出処理によって求められる動きベクトルを示している。
【００５３】
図８に示すように、注目ブロックＢＫ０は９つの画素ｐ１，ｐ２，…，ｐ９で構成されている。探索範囲ＳＡは、垂直、水平方向にそれぞれ注目ブロックＢＫ０の３倍の幅を持つ画像領域、即ち、９×９の画素からなり、これらの画素は、９つのブロックＢＫ１，ＢＫ２，…，ＢＫ９に分けられる。
動き検出は、ブロックマッチング処理によって行われる。即ち、注目ブロックＢＫ０を用いて、探索範囲ＳＡの中水平と垂直方向に１画素ずつずらしながら、全画素データの差分値の絶対値の和（以下、便宜上差分値の和と簡略して表記する）を求め、当該差分値の和がもっとも小さい位置を探す。こうして求められた差分値の和がもっとも小さい位置に応じて動きベクトルが計算される。
【００５４】
図９は、動きベクトルＭＶを例示している。図示のように、ここで、探索範囲ＳＡの中心を座標原点として、横軸ｕ、縦軸ｖからなる座標系が形成される。このｕ−ｖ座標系において動きベクトルが表示される。なお、図９において、横軸ｕは通常の座標系と逆に、左方向が正の値、右方向に負の値を示す。
【００５５】
動き検出処理において、探索位置を探索範囲ＳＡにおいて左上から右下に１画素ずつずらしながら、各探索位置において注目ブロックＢＫ０と探索範囲ＳＡにある同じ大きさの領域内の全画素の画素データの差分値の和が求められ、差分値の和がもっとも小さい位置に対応するベクトルが動きベクトルＭＶとして出力される。このため、動き検出処理において、各探索位置における全画素データの差分値の和及びそれに対応するベクトルが記憶され、探索範囲ＳＡのすべての探索位置に対して差分値の和の演算処理を行ったあと、各探索位置における全画素の差分値の和がもっとも小さい値が検出され、この値に対応する位置座標によって動きベクトルＭＶが検出される。
【００５６】
ここで、例えば１番左上の探索位置の座標が（３，３）で表記され、それより右へ１画素分ずらした位置の座標が（２，３）で表記される。同じラインにおいてもっとも右側の探索位置の座標が（−３，３）で表記される。そして、垂直方向に１画素分ずらした探索位置のｖ座標値が上記より１つ下がって２となるので、この行の探索位置の座標値は、（３，２），（２，２），…，（−３，２）によって表示される。同様に各探索位置の座標値が決まり、探索範囲ＳＡの中一番右下の探索位置の座標値が（−３，−３）によって表記される。
【００５７】
探索処理において、上述した各探索位置で計算した差分値の和及びその探索位置を示す座標値が関連づけて記憶されるので、探索範囲ＳＡのすべての探索位置に対して差分値の和の計算が終了したとき、各探索位置における全画素の差分値の和の最小値が求められ、それに対応した座標位置が動きベクトルＭＶとして出力される。
図９に示すように、探索対象となるベクトルは、（ｕ，ｖ）座標系において全部で７×７、即ち４９通りがある。
【００５８】
探索処理によって求められた動きベクトルＭＶの値に応じて、注目ブロックＢＫ０が前フレームと現フレームの間の移動方向、移動距離が分かる。例えば、動きベクトルＭＶ＝（０，０）のとき、注目ブロックＢＫ０は前フレームと現フレームにおいて同じ位置にあり、即ち注目ブロックＢＫ０が動いていない。また、動きベクトルＭＶ＝（３，１）のとき、前フレームと現フレームの間、注目ブロックＢＫ０が水平方向に３画素分、垂直方向に１画素分移動したことが分かる。
【００５９】
次に、本実施形態のデータ処理装置における動きベクトル推定処理の動作について説明する。
図１０は、本実施形態のデータ処理装置の動きベクトル推定処理を示すフローチャートである。さらに、図１１〜図１９は、本実施形態のデータ処理装置における動きベクトル推定処理の各ステップの動作を示す図である。なお、本実施形態の動きベクトル推定処理は、例えば、図１に示すデータ処理部１２０によって実施される。
以下、これらの図面を参照しつつ、動きベクトル推定処理の各ステップについて順次説明する。
【００６０】
図１０に示すように、本実施形態のデータ処理装置において、探索範囲ＳＡに対して１ライン毎に１画素ずつ探索開始位置をずらしながら、ブロックマッチング処理が行われる。なお、ブロックマッチング処理は、現フレームの注目ブロックＢＫ０と探索範囲ＳＡにおける探索開始位置を基準点とする同じ大きさのブロックとの画素毎の比較が行われ、比較対象ブロックのすべての画素データの差分値の和が算出される。
【００６１】
上述したブロックマッチング処理は、画素データの入力に伴って探索範囲ＳＡにおけるすべての探索位置に対して順次行われる。即ち、画素入力に伴って、探索位置が１画素分ずつ移動するので、同じ探索位置に対してブロックマッチング処理を行った結果、探索範囲ＳＡにおいて１画素ずつ移動しながらブロックマッチングが実施される。
次に、図１１〜図１９を参照しつつ、動きベクトル推定処理の各ステップについて説明する。
【００６２】
まず、図１１を参照しつつ、探索範囲ＳＡの１ライン目における１画素目からのブロックマッチング処理について説明する。
図１１に示すように、現フレームに注目ブロックＢＫ０に対応して、前フレームに９×９画素の探索範囲ＳＡが指定されたとする。探索範囲ＳＡにおいて、９×９画素は、注目ブロックＢＫ０と同じ大きさを持つ９つのブロックに分割されている。図１１において、これらの分割されたブロックは、番号１〜９によって表記されている。
【００６３】
図示のように、前フレームにおいて、データ記憶部１００の所定の位置に探索範囲ＳＡのブロック１の１行目の各画素のデータが順次格納されている。それに続いてブロック２の１行目及びブロック３の１行目の各画素のデータが順次格納されている。
そして、ブロック１の最初の画素の記憶場所から１ライン離れた場所に、ブロック１の２行目の各画素のデータが順次格納され、それに続いて、ブロック２の２行目の各画素、ブロック３の２行目の各画素のデータが順次格納されている。このように、データ記憶部１００における前フレームの画像データの記憶領域において、９ライン分にわたって探索範囲ＳＡのすべての画素のデータが記憶されている。
【００６４】
図１１に示すように、探索範囲ＳＡの各画像データを記憶するデータ記憶セルにビット線がそれぞれ接続されている。各データ記憶セルの記憶データがワードゲートを介してビット線に読み出すことができる。
図示のように、データ記憶部１００の所定の位置から、ブロック１の１行目の各画素のデータが読み出され、また、１行目から画素データの読み出し位置から、１ライン離れたデータ記憶セルから、ブロック１の２行目の各画素のデータが読み出される。そして、さらに１ライン離れたデータ記憶セルから、ブロック１の３行目の各画素のデータが読み出される。
【００６５】
このように、探索範囲ＳＡのブロック１の各画素のデータが読み出される。また、同様に、ブロック２〜ブロック９のそれぞれの画素のデータが読み出される。即ち、データ記憶部１００のそれぞれのデータ記憶セルに、ワードゲートを介して接続されているビット線がタップとして機能する。これらのタップによって所望のデータ記憶セルからそれに格納されている画素データを外部に読み出すことが可能である。
【００６６】
上述したように、探索範囲ＳＡの各ブロックが画素データがデータ記憶部１００から外部に読み出すことができる。読み出した各画素のデータがブロックマッチング処理のためにそれぞれ所定のメモリまたはレジスタに格納される。なお、各ブロックの画素データを格納するメモリまたはレジスタのデータ長は、１画素のビット長×９である。ここで、１画素のビット長は、前述したように画像信号のフォーマットによって異なる。図１１において番号Ｒ１〜Ｒ９で示されているブロックは、ブロック１〜９の画素を格納するレジスタを示している。
【００６７】
次に、現フレームにおける注目ブロックＢＫ０の画素データの読み出しについて説明する。図１１に示すように、現フレームの画素データを格納するデータ記憶部１００の所定の位置にあるデータ記憶セルに、注目ブロックＢＫ０の１行目の３画素分のデータが格納されている。この位置から１ライン離れた場所に、注目ブロックＢＫ０の２行目の３画素分のデータが格納されている。さらに、１ライン離れた場所に、注目ブロックＢＫ０の３行目の３画素分のデータが格納されている。
【００６８】
図１１に示すように、これらのデータ記憶セルに接続されているビット線を介して注目ブロックＢＫ０の各画素のデータが読み出される。なお、注目ブロックＢＫ０の各画素のデータが次の探索処理にも利用されるので、データ処理部１２０に設けられたメモリまたはレジスタに記憶される。図１１において、番号Ｒ０で示されているブロックは、例えば、注目ブロックＢＫ０の各画素のデータを格納するレジスタを示している。
【００６９】
次に、ステップＳ１の処理について説明する。ステップＳ１では、探索範囲ＳＡにおける１行目の１画素目からのブロックマッチング処理が行われる。
このとき、レジスタＲ１の格納データは、動きベクトル（ｕ，ｖ）＝（３，３）に対応するブロックマッチング用データ、レジスタＲ２の格納データは、動きベクトル（０，３）に対応するブロックマッチング用データ、レジスタＲ３の格納データは、動きベクトル（０，−３）に対応するブロックマッチング用データ、以下同様、最後にレジスタＲ９の格納データは、動きベクトル（−３，−３）に対応するブロックマッチング用データである。
【００７０】
この状態で、レジスタＲ０の格納データとレジスタＲ１〜Ｒ９それぞれの格納データとの差分値の絶対値が計算され、９画素分の差分値の絶対値の和が計算され、計算結果において最小となる差分値の和とそれに対応するベクトルがデータ処理部１２０によって記録される。
【００７１】
次に、図１２を参照しつつ、ステップＳ２の処理について説明する。
図１２に示すように、データ記憶部１００に、新しく１画素分のデータが入力されると、データ記憶部１００において、各データ記憶セルのデータが１画素分だけ右にシフトする。
【００７２】
この状態において、ステップＳ１と同様に探索範囲ＳＡの各ブロックに対応するレジスタＲ１〜Ｒ９にそれぞれ画素データが取り込まれる。一方、注目ブロックＢＫ０に対応するレジスタＲ０のデータは更新せず、前回のデータがそのまま用いられる。
こうしてレジスタＲ１〜Ｒ９に取り込まれたデータは、ステップＳ１に比べて１画素分ずれたことになる。図１２に、１画素シフトしたとき画像上の探索範囲ＳＡの位置関係を示している。図示のように、探索範囲ＳＡは、１画素分左側にずれた。
【００７３】
このとき、レジスタＲ１の格納データは、動きベクトルの（２，３）に対応するブロックマッチング用データ、レジスタＲ２の格納データは、動きベクトルの（−１，３）に対応するブロックマッチング用データ、レジスタＲ４の格納データは、動きベクトルの（２，０）に対応するブロックマッチング用データ、レジスタＲ５の格納データは、動きベクトルの（−１，０）に対応するブロックマッチング用データである。同様に、レジスタＲ７の格納データは、動きベクトルの（２，−３）に対応するブロックマッチング用データ、レジスタＲ８の格納データは、動きベクトルの（−１，−３）に対応するブロックマッチング用データである。
【００７４】
また、このとき、レジスタＲ３，Ｒ６とＲ９の格納データは、それぞれ動きベクトルの（−４，３），（−４，０）及び（−４，−３）に対応するブロックマッチング用データである。しかし、本実施形態のデータ処理装置は、−３から３までの範囲で動きベクトルを計算するので、レジスタＲ３，Ｒ６とＲ９によって算出される動きベクトルは、この範囲から外れたため、ステップＳ２では、レジスタＲ３，Ｒ６とＲ９について動きベクトルの計算を行わない。
【００７５】
即ち、ステップＳ２において、本実施形態のデータ処理装置は、レジスタＲ３，Ｒ６とＲ９を除く他の６つのレジスタについてそれぞれレジスタＲ０に格納されている注目ブロックＢＫ０の全画素データとの差分値の和が計算され、この差分値の和がステップＳ１で計算された値より小さければ、この値とそれに対応するベクトルによって、ステップＳ１の記録が更新される。逆に、ステップＳ２で算出された差分値の和の最小値がステップＳ１のの記録値よりも大きい場合、記録値の更新はしない。
【００７６】
次に、図１３を参照しつつ、ステップＳ３の処理について説明する。
ステップＳ３では、さらに１画素のデータが入力され、データ記憶部１００において各データ記憶セルのデータが１画素分だけ右にシフトする。そして、図１３に示すように、レジスタＲ１〜Ｒ９に格納されているデータは、ステップＳ１の状態に比べて２画素分ずれたことになる。
【００７７】
このとき、レジスタＲ１の格納データは、動きベクトルの（１，３）に対応するブロックマッチング用データ、レジスタＲ２の格納データは、動きベクトルの（−２，３）に対応するブロックマッチング用データ、レジスタＲ４の格納データは、動きベクトルの（１，０）に対応するブロックマッチング用データ、レジスタＲ５の格納データは、動きベクトルの（−２，０）に対応するブロックマッチング用データである。同様に、レジスタＲ７の格納データは、動きベクトルの（１，−３）に対応するブロックマッチング用データ、レジスタＲ８の格納データは、動きベクトルの（−２，−３）に対応するブロックマッチング用データである。
【００７８】
また、このとき、レジスタＲ３，Ｒ６とＲ９の格納データに対応するベクトルは計算の範囲を外れたため、ここで、レジスタＲ３，Ｒ６とＲ９を除く他の６つのレジスタについてそれぞれレジスタＲ０に格納されている注目ブロックＢＫ０の全画素データとの差分値の和が計算され、この差分値の和がステップＳ２で計算された値より小さければ、この値とそれに対応するベクトルによって、ステップＳ２の計算結果が更新される。逆に、ステップＳ３で算出された差分値の和の最小値がステップＳ２の記録値よりも大きい場合、計算結果の更新はしない。
【００７９】
上述したステップＳ１，Ｓ２及びＳ３の処理によって、１つの注目ブロックＢＫ０に対して４９通りのベクトルのうち、２１通りのベクトルについて評価が行われた。次に、残りのベクトルの評価について説明する。
【００８０】
図１４、１５と１６は、ステップＳ４〜Ｓ６の処理、即ち、探索範囲ＳＡにおける２ライン目の各画素より行われるベクトル評価の処理を示している。
まず、図１４を参照しつつステップＳ４の処理について説明する。
なお、図１４に示す処理は、上記図１１に示すステップＳ１の処理より、さらに１ライン分の画素データが入力された時点で行われる。
【００８１】
図１４に示すように、このとき、注目ブロックＢＫ０のデータが現フレームのデータを格納するデータ記憶部１００において、最初のステップＳ１のときより、１ライン分シフトした位置に格納されている。このため、注目ブロックＢＫ０の画素データを格納するレジスタＲ０には、１ライン分ずらしたタップから読み出された画素データが格納される。即ち、注目ブロックＢＫ０のデータの移動に追いかけてデータの取り込みが行われる。なお、このとき、レジスタＲ０に取り込まれたデータが事実上変更されないので、上記ステップＳ１〜Ｓ３で使用されていたレジスタＲ０の格納データをそのまま使用することも可能である。
【００８２】
一方、レジスタＲ１〜Ｒ９に、上述したステップＳ１〜Ｓ３の処理と同じタップを用いて画素データの取り込みが行われる。その結果、図１４に示すように、レジスタＲ１〜Ｒ９に取り込まれた画素データは、本来の探索範囲ＳＡから垂直方向に１ライン分下にずれている。
【００８３】
従って、この状況において、レジスタＲ１の格納データは、動きベクトルの（３，２）に対応するブロックマッチング用データ、レジスタＲ２の格納データは、動きベクトルの（０，２）に対応するブロックマッチング用データ、レジスタＲ３の格納データは、動きベクトルの（−３，２）に対応するブロックマッチング用データである。また、レジスタＲ４の格納データは、動きベクトルの（３，−１）に対応するブロックマッチング用データ、レジスタＲ５の格納データは、動きベクトルの（０，−１）に対応するブロックマッチング用データ、レジスタＲ６の格納データは、動きベクトルの（−３，−１）に対応するブロックマッチング用データである。
【００８４】
一方、このとき、レジスタＲ７，Ｒ８とＲ９の格納データがそれぞれ動きベクトルの（３，−４），（０，−４）及び（−３，−４）に対応し、動きベクトルの探索範囲ＳＡから外れたので、ステップＳ４において、これらのレジスタの格納データについて動きベクトルの評価を行わない。
【００８５】
このように、ステップＳ４においてレジスタＲ１〜Ｒ６の６つのレジスタの格納データについて、それぞれレジスタＲ０に格納されている注目ブロックＢＫ０の全画素データとの差分値の和が計算され、この差分値の和がこれまでに計算された最小値よりさらに小さければ、この値とそれに対応するベクトルによって、動きベクトルの推定結果の記録が更新される。
【００８６】
次に、図１５を参照しつつ、ステップＳ５の処理について説明する。
ステップＳ５では、ステップＳ４に比べて、さらに１画素分のデータが入力され、データ記憶部１００において各データ記憶セルのデータが１画素分だけ右にシフトする。
【００８７】
このとき、前フレームの画素データが前の各ステップのときと同じように、決められたタップから読み出され、それぞれレジスタＲ１〜Ｒ９に格納される。このため、このときレジスタＲ１〜Ｒ９の格納された画素データがステップＳ４のときに比べて、１画素分右にシフトした。
なお、このとき、レジスタＲ０に格納された画素データが更新せず、そのまま使用される。
【００８８】
この状態において、レジスタＲ１の格納データは、動きベクトルの（２，２）に対応するブロックマッチング用データ、レジスタＲ２の格納データは、動きベクトルの（−１，２）に対応するブロックマッチング用データであり、同様に、レジスタＲ３の格納データは、動きベクトルの（２，−１）に対応するブロックマッチング用データ、レジスタＲ４の格納データは、動きベクトルの（−１，−１）に対応するブロックマッチング用データである。それ以外のレジスタの格納データに対応するベクトルがすべて評価の範囲から外れた。
【００８９】
このため、ステップＳ５では、レジスタＲ１，Ｒ２，Ｒ４とＲ５の格納データについてのみ、レジスタＲ０に格納された注目ブロックＢＫ０の画素データとのブロックマッチング処理によって、ベクトルの評価を行う。当該評価の結果に応じて、動きベクトルの推定結果の記録が更新される。
【００９０】
次に、図１６を参照しつつ、ステップＳ６の処理について説明する。
ステップＳ６では、ステップＳ５に比べて、さらに１画素分のデータが入力され、データ記憶部１００において各データ記憶セルのデータが１画素分だけ右にシフトする。
【００９１】
このとき、前回と同じように、決められたタップから読み出された各ブロックの画素データがレジスタＲ１〜Ｒ９に格納される。このため、Ｒ１〜Ｒ９の格納された画素データがステップＳ５のときに比べて、さらに１画素分右にシフトした。
なお、このとき、レジスタＲ０に格納された画素データが更新せず、そのまま使用される。
【００９２】
この状態において、レジスタＲ１の格納データは、動きベクトルの（１，２）に対応するブロックマッチング用データ、レジスタＲ２の格納データは、動きベクトルの（−２，２）に対応するブロックマッチング用データであり、同様に、レジスタＲ３の格納データは、動きベクトルの（１，−１）に対応するブロックマッチング用データ、レジスタＲ４の格納データは、動きベクトルの（−２，−１）に対応するブロックマッチング用データである。それ以外のレジスタの格納データに対応するベクトルがすべて評価の範囲から外れた。
【００９３】
このため、ステップＳ６では、レジスタＲ１，Ｒ２，Ｒ４とＲ５の格納データについてのみ、レジスタＲ０に格納された注目ブロックＢＫ０の画素データとのブロックマッチング処理によって、ベクトルの評価を行う。当該評価の結果に応じて、動きベクトルの推定結果の記録が更新される。
【００９４】
上述したステップＳ４〜Ｓ６の処理によって、１４通りのベクトルの評価が行われる。ステップＳ３までの処理に合わせて、３５通りのベクトルの評価が終了した。次に、残り１４のベクトルの評価について説明する。
【００９５】
図１７〜図１９は、ステップＳ７〜Ｓ９の処理を示している。即ち、動きベクトルを探索するための評価対象となる４９通りのベクトルのうち、残り１４通りのベクトルの評価を示している。
【００９６】
まず、図１７を参照しつつステップＳ７の処理について説明する。
なお、図１７に示す処理は、上記図１４に示すステップＳ４の処理より、さらに１ライン分の画素データが入力された時点で行われる。即ち、図１１に示すステップＳ１の処理より、２ライン分の画素データが入力された時点から実施される。
【００９７】
このとき、注目ブロックＢＫ０のデータが現フレームのデータを格納するデータ記憶部１００において、最初のステップＳ１のときより、２ライン分シフトした位置に格納されている。このため、注目ブロックＢＫ０の画素データを格納するレジスタＲ０には、２ライン分ずらしたタップから読み出された画素データが格納される。即ち、注目ブロックＢＫ０のデータの移動に追いかけてデータの取り込みが行われる。なお、このとき、レジスタＲ０に取り込まれたデータが事実上変更しないので、上記ステップＳ１〜Ｓ３及びステップＳ４〜Ｓ６で使用されていたレジスタＲ０の格納データをそのまま使用することも可能である。
【００９８】
一方、レジスタＲ１〜Ｒ９に、上述したステップＳ１〜Ｓ３及びステップＳ４〜Ｓ６の処理と同じタップを用いて画素データの取り込みが行われる。その結果、図１７に示すように、レジスタＲ１〜Ｒ９に取り込まれた画素データは、本来の探索範囲ＳＡから垂直方向に２ライン分下にずれている。
【００９９】
従って、この状況において、レジスタＲ１の格納データは、動きベクトルの（３，１）に対応するブロックマッチング用データ、レジスタＲ２の格納データは、動きベクトルの（０，１）に対応するブロックマッチング用データ、レジスタＲ３の格納データは、動きベクトルの（−３，１）に対応するブロックマッチング用データである。また、レジスタＲ４の格納データは、動きベクトルの（３，−２）に対応するブロックマッチング用データ、レジスタＲ５の格納データは、動きベクトルの（０，−２）に対応するブロックマッチング用データ、レジスタＲ６の格納データは、動きベクトルの（−３，−２）に対応するブロックマッチング用データである。
【０１００】
一方、このとき、レジスタＲ７，Ｒ８とＲ９の格納データがそれぞれ動きベクトルの（３，−５），（０，−５）及び（−３，−５）に対応し、動きベクトルの評価範囲から外れたので、ステップＳ７において、これらのレジスタの格納データについてベクトルの評価を行わない。
【０１０１】
このように、ステップＳ７においてレジスタＲ１〜Ｒ６の６つのレジスタの格納データについて、それぞれレジスタＲ０に格納されている注目ブロックＢＫ０の全画素データとの差分値の和が計算され、この差分値の和がこれまでに計算された最小値よりもさらに小さければ、この値とそれに対応するベクトルによって、動きベクトルの推定結果の記録が更新される。
【０１０２】
次に、図１８を参照しつつ、ステップＳ８の処理について説明する。
ステップＳ８では、ステップＳ７に比べて、さらに１画素分のデータが入力され、データ記憶部１００において各データ記憶セルのデータが１画素分だけ右にシフトする。
【０１０３】
このとき、前フレームの画素データが前の各ステップのときと同じように、決められたタップから読み出され、それぞれレジスタＲ１〜Ｒ９に格納される。このため、このときレジスタＲ１〜Ｒ９の格納された画素データがステップＳ４のときに比べて、１画素分右にシフトした。
なお、このとき、レジスタＲ０に格納された画素データが更新せず、そのまま使用される。
【０１０４】
この状態において、レジスタＲ１の格納データは、動きベクトルの（２，１）に対応するブロックマッチング用データ、レジスタＲ２の格納データは、動きベクトルの（−１，１）に対応するブロックマッチング用データであり、同様に、レジスタＲ３の格納データは、動きベクトルの（２，−２）に対応するブロックマッチング用データ、レジスタＲ４の格納データは、動きベクトルの（−１，−２）に対応するブロックマッチング用データである。それ以外のレジスタの格納データに対応するベクトルがすべて評価の範囲から外れた。
【０１０５】
このため、ステップＳ８では、レジスタＲ１，Ｒ２，Ｒ４とＲ５の格納データについてのみ、レジスタＲ０に格納された注目ブロックＢＫ０の画素データとのブロックマッチング処理によって、ベクトルの評価を行う。当該評価の結果に応じて、動きベクトルの推定結果の記録が更新される。
【０１０６】
次に、図１９を参照しつつ、ステップＳ９の処理について説明する。
ステップＳ９では、ステップＳ８に比べて、さらに１画素分のデータが入力され、データ記憶部１００において各データ記憶セルのデータが１画素分だけ右にシフトする。
【０１０７】
このとき、前回と同じように、決められたタップから読み出された各ブロックの画素データがレジスタＲ１〜Ｒ９に格納される。このため、Ｒ１〜Ｒ９の格納された画素データがステップＳ８のときに比べて、さらに１画素分右にシフトした。
なお、このとき、レジスタＲ０に格納された画素データが更新せず、そのまま使用される。
【０１０８】
この状態において、レジスタＲ１の格納データは、動きベクトルの（１，１）に対応するブロックマッチング用データ、レジスタＲ２の格納データは、動きベクトルの（−２，１）に対応するブロックマッチング用データであり、同様に、レジスタＲ３の格納データは、動きベクトルの（１，−２）に対応するブロックマッチング用データ、レジスタＲ４の格納データは、動きベクトルの（−２，−２）に対応するブロックマッチング用データである。それ以外のレジスタの格納データに対応するベクトルがすべて評価の範囲から外れた。
【０１０９】
このため、ステップＳ９では、レジスタＲ１，Ｒ２，Ｒ４とＲ５の格納データについてのみ、レジスタＲ０に格納された注目ブロックＢＫ０の画素データとのブロックマッチング処理によってベクトルの評価を行う。当該評価の結果に応じて、動きベクトルの推定結果の記録が更新される。
【０１１０】
上述したステップＳ７〜Ｓ９の処理によって、さらに１４通りのベクトルの評価が行われる。ステップＳ６までの処理に合わせて、４９通りのベクトルの評価がすべて行われた。
【０１１１】
以上説明したように、ステップＳ１〜Ｓ９の処理によって、評価対象となる４９通りのベクトルがすべて評価される。そして、最後に残された動きベクトルの記録は、探索範囲ＳＡにおいて、注目ブロックＢＫ０の各画素に対して差分値のの和がもっとも小さいベクトル、即ち、動きベクトルの推定結果である。推定された動きベクトルに応じて、注目ブロックＢＫ０が探索範囲ＳＡにおける移動方向と移動距離を知ることができる。
こうして検出された動きベクトルは、例えば、動画信号の圧縮処理に適用されることによって、高圧縮率で動画信号の圧縮を実現できる。
【０１１２】
本発明のデータ処理装置は、上述した動きベクトル推定処理に適用する他の応用例もある。その一例として、一般の画像信号処理において、多数のタップを使用するフィルタ処理が考えられる。また、上述した動きベクトルの推定において、データ記憶部１００において、合計２フレーム分程度の画素データを格納する記憶容量があれば十分であるが、データ記憶部１００の記憶容量が設計上許される限り大きく取ることができる。この場合、一度に２フレーム以上の画像データを用いて画像信号処理を実施することができる。
【０１１３】
次に、本発明に係るデータ処理装置の第２の実施形態について説明する。
図２０は、本発明のデータ処理装置の第２の実施形態の一構成例を示すブロック図である。図示のように、本実施形態のデータ処理装置は、データ記憶部１００と、データ処理部１２０とによって構成されている。さらに、データ処理部１２０は、第１段演算器１２０−１と、第２段演算器１２０−２とによって構成されている。
【０１１４】
図２０に示すように、本実施形態のデータ処理装置において、データ記憶部１００には、現フレームの画像信号と、その前後のフレームの画像信号が格納されている。即ち、本実施形態の画像信号処理において、現フレーム及び現フレームの前後１フレームずつ、合計３フレーム分の画像信号が利用される。
また、データ処理部１２０は、第１段演算器１２０−１と第２段演算器１２０−２から構成されている。
【０１１５】
以下、図２０を参照しつつ、本実施形態のデータ処理装置の動作について説明する。本実施形態において、３フレーム分の画像データを用いて画像信号処理を行う。そして、第１段演算器１２０−１と第２段演算器１２０−２によって、それぞれクラス分類処理と、クラス分類の結果に応じた適応型フィルタ処理が施される。
【０１１６】
図示のように、この処理において少なくとも３フレーム分の画像データがデータ記憶部１００に格納されている。データ記憶部１００に、１画素ずつ画素データが入力される。新しい画素データが入力するたびに、データ記憶部１００において、各データ記憶セルのデータが後段のデータ記憶セルに転送される。これによって、合計３フレーム分の画像データがデータ記憶部１００に格納される。
【０１１７】
データ処理部１２０において、例えば、現フレームの画素データとそれに続いて入力される後フレームの画素データに基づいて、第１段演算器１２０−１によって、前フレーム、現フレーム及び後フレームの画像データに基づき、クラス分類処理が行われる。クラス分類処理の結果が第２段演算器１２０−２に出力される。
第２段演算器１２０−２においては、第１段演算器１２０−１によって得られた分類結果に従って最適なフィルタ係数が選択または計算され、分類処理後の画像データに対して、求められた最適なフィルタ係数を用いてフィルタ処理が行われる。
【０１１８】
本実施形態によれば、データ記憶部１００において、本発明のデータ記憶セルを用いて、入力される画素データを保持しながら順次転送する。さらに、データ記憶セルの保持データを出力するためのワードゲート及びワードゲートに接続されているビット線（タップ線）が設けられているため、複数のデータ記憶セルから同時にデータを読み出すことができる。このため、本実施形態のデータ処理装置において、少なくとも２つのフレームにわたって複数の画素データを同時に読み出して、クラス分類処理が行われ、その分類の結果に従って求められた最適なフィルタ係数に基づいてフィルタ処理が行われるので、同時に大量の画素データを用いて高速な画像信号処理を実現できる。
【０１１９】
第３実施形態
図２１は本発明に係るデータ処理装置の第３の実施形態を示す構成図である。図示のように、本例のデータ処理装置は、データ記憶部１００とデータ処理部１２０によって構成されている。データ処理部１２０は、セレクタ１２１，１２２、遅延回路１２３，１２４、特徴量抽出回路１２５、適応アドレス生成回路１２６、遅延回路１２７、及び評価値キャッシュ１２９によって構成されている。本実施形態のデータ処理装置は、例えば、データ記憶部１００に保持されている画像データに基づき、その動きベクトルを推定する。
【０１２０】
以下、本実施形態のデータ処理装置の各部分の構成について説明する。
図２１に示すように、データ記憶部１００は、少なくとも２フレーム分の画像データを記憶する複数のタップ付きシフトレジスタによって構成されている。データ記憶部１００に画素データが順次入力され、保持される。保持されている画素データが出力側に順次シフトし、出力される。
【０１２１】
データ記憶部１００において、記憶されている画素データの特徴量を抽出するための特徴量抽出タップ、動き推定演算用（ＭＥ演算用）タップ及び外部出力用タップがそれぞれ設けられている。特徴量抽出タップから読み出されるデータは、特徴量抽出回路１２５に出力され、ＭＥ演算用タップから読み出されるデータは、それぞれセレクタを１２１、１２２を介してＭＥ評価演算回路に出力される。また、外部出力用タップから読み出されるデータは外部に出力され、例えば、他の画像信号処理装置に供給される。
なお、これらのデータ読み出し用タップが、各画像フレーム毎に設けられている。
【０１２２】
データ処理部１２０は、前フレームの画像データと現フレームの画像データに基づき、画像信号の特徴量を抽出し、そして、抽出した特徴量に基づき、画像データに対して所定の処理、例えば、動き推定処理を行い、フレーム間の画像信号の動きベクトルを求める。
【０１２３】
以下、データ処理部１２０の各構成部分について説明する。
特徴量抽出回路１２５は、特注量抽出タップから取得した前フレームの画素データと現フレームの画像データとに基づき、１フレームの画像信号において、所定の領域の画像の特徴を抽出する。抽出された特徴量は、適応アドレス生成回路１２６に出力されるとともに、遅延回路１２７を介してＭＥ評価演算回路１２８にも出力される。
【０１２４】
適応アドレス生成回路１２６は、特徴量抽出回路１２５によって抽出した特徴量に応じて、動き推定を行うための読み出しアドレスを生成し、遅延回路１２３を介してセレクタ１２１に供給するとともに、遅延回路１２４を介してセレクタ１２２にも供給する。
【０１２５】
セレクタ１２１は、ＭＥ演算用タップから読み出した現フレームにある複数の画素データのうち、適応アドレス生成回路１２６によって生成されたアドレスで指定された複数の画素データを選択し、ＭＥ評価演算回路１２８に出力する。
同様に、セレクタ１２２は、ＭＥ演算用タップから読み出した前フレームにある複数の画素データのうち、適応アドレス生成回路１２６によって生成されたアドレスで指定された複数の画素データを選択し、ＭＥ評価演算回路１２８に出力する。
【０１２６】
ＭＥ評価演算回路１２８は、特徴量抽出回路１２５によって抽出した画像の特徴量及びセレクタ１２１と１２２によって選択された画素データに応じて、１フレームの画像における所定の画像の動き推定を行う。画像の動き推定は、例えば、１フレームにある所定の探索領域において、ブロックマッチングを行い、前フレームの中にある所定の注目画像ブロックに対して、現フレームの探索領域の中にこの注目画像ブロックにもっとも近いブロックの位置を求めて、それに応じて注目画像ブロックの動きベクトルを推定する。
【０１２７】
評価値キャッシュ１２９は、ＭＥ評価演算回路１２８によって算出された所定の探索領域のブロックマッチングの推定値を保持し、その中から最小値をを求めて当該最小値が得られたブロックの位置から動きベクトルを求める。
【０１２８】
なお、遅延回路１２３、１２４及び１２７の遅延量は、特徴量抽出タップとＭＥ演算用タップの間に画素データがシフトするための時間に対応して設定される。これによって、特徴量抽出タップから読み出した画素データがＭＥ演算用タップにシフトしたときその値が読み出され、セレクタ１２１及び１２２によって選択されてＭＥ評価演算回路１２８に出力される。
【０１２９】
次に、データ処理部１２０の動作について説明する。
上述した構成を持つデータ処理部１２０において、データ記憶部１００の特徴量抽出タップから読み出した前フレーム及び現フレームの所定の領域の画素データに応じて、特徴量抽出回路１２５によって画像信号の特徴量が抽出される。そして、ＭＥ評価演算回路１２８において、抽出した特徴量に応じて、画像信号の動き評価が行われる。
【０１３０】
なお、特徴量抽出回路１２５によって抽出した特徴量は、例えば、画像信号の特定の領域における輝度レベルの勾配、色分布特性などが含まれる。注出した特徴量に基づき、画像の上記特定領域の動き推定がより効率的に行うことが可能となる。例えば、ブロックマッチング処理によって上記特定の領域における所定のブロックの動きを推定するとき、上記特徴量に合わせてもっとも抽出した特徴量を表せる画素データをセレクタ１２１及び１２２を用いて選択して、ＭＥ評価演算に用いることで、ＭＥ評価の精度を改善しながら、演算の処理量を低減できる。
【０１３１】
以上説明したように、本実施形態のデータ処理装置において、画像信号の特徴量を推定し、推定した特徴量に応じて、例えば、ブロックマッチング処理によって動き評価演算を行うことにより、画像信号の動き推定を高精度に行うことができる。さらに、特徴量を用いることにより、動き推定の効率化を実現できる。
【０１３２】
第４実施形態
図２２〜２５は本発明に係るデータ処理装置の第４の実施形態を示す回路図であり、データ処理装置のデータ記憶部に用いられるデータ記憶セルの他の構成例を示す回路図である。
【０１３３】
図２２は、データ記憶セルの第２の構成例を示している。図示のように、本例のデータ記憶セル１０ａは、図２に示すデータ記憶セル１０とほぼ同じ構成を有するが、本例のデータ記憶セル１０ａでは、第２の記憶ノードＮＤ２に接続されているキャパシタＣ２が省略されている。
【０１３４】
キャパシタＣ２によるデータの保持時間が短い場合、Ｃ２の容量が小さくてもよい。例えば、インバータＩＮＶ２のゲート容量で記憶ノードＮＤ２のデータを必要な時間だけ保持することができる場合、キャパシタＣ２を省略することが可能である。
例えば、図４示すタイミングチャートの例では、キャパシタＣ２のデータ保持時間は、クロック信号ＣＫ２が立ち下がってから、クロック信号ＣＫ１が立ち上がるまでの短い時間である。このため、ノードＮＤ２のわずかの寄生容量で十分データを保持することができ、キャパシタＣ２を省略しても動作には支障を与えることはない。
【０１３５】
この構成例のように、キャパシタＣ２を省略することによって、データ記憶セル１０ａを構成する素子の数を低減でき、セル面積の縮小により高密度化、大容量化に貢献できる。
【０１３６】
図２３は、データ記憶セルの第３の構成例を示している。図示のように、本例のデータ記憶セル１０ｂは、第２の記憶ノードＮＤ２と出力端子１２との間に設けられているインバータＩＮＶ２が省略されている。即ち、ノードＮＤ２が出力端子１２と直結され、キャパシタＣ２の保持データがそのまま出力端子１２に出力される。
【０１３７】
本実施形態において、データ記憶セルを構成するインバータＩＮＶ２は、ｐＭＯＳトランジスタとｎＭＯＳトランジスタからなるＣＭＯＳ型インバータであり、２つのトランジスタからなる。本例のデータ記憶セル１０ｂでは、後段のインバータを省略し、その分キャパシタＣ２の容量を大きくして、次段のデータ記憶セルのキャパシタＣ１の電荷を抜いてゲート電位を反転させ得る容量に設定される。これによって、インバータＩＮＶ２がなくても、各データ記憶セルの間にデータを正しく転送することができる。
【０１３８】
本例のデータ記憶セル１０ｂにおいて、１セル毎にインバータが１つしかないため、データをシフトするとき、１セル毎に格納データの論理が反転するので、読み出しデータに対して、１セル毎に極性を反転して処理を行う必要がある。
なお、本構成例１０ｂのセル面積は、トランジスタ２個分低減されるので、セル面積の縮小により高密度化、大容量化を容易に実現できる。
【０１３９】
図２４は、データ記憶セルの第４の構成例を示している。図示のように、本例のデータ記憶セル１０ｃでは、インバータＩＮＶ１の出力端子に接続されているワードゲートＷＧが省略されている。
【０１４０】
本実施形態のデータ処理装置において、データ記憶部１００を構成する複数のデータ記憶セルの中、記憶データを外部に出力せず単に次段のデータ記憶セルに転送するだけのものがある。このようなデータ記憶セルは、本例のデータ記憶セル１０ｃを用いれば、データ転送だけの機能を実現できる。ワードゲートＷＧを省略することによって、トランジスタ１個分の面積の削減を実現できるほか、ビット線の引回しがなくなり、レイアウトの設計がしやすくなる。
【０１４１】
図２５は、データ記憶セルの第５の構成例を示している。図示のように、本例のデータ記憶セル１０ｄは、ワードゲートＷＧ１の他に、ワードゲートＷＧ２が設けられている。即ち、データ記憶セル毎に２つのワードゲートが設けられている。
【０１４２】
図示のように、データ記憶セル１０ｄにおいて、インバータＩＮＶ１の出力端子とビット線ＢＬとの間にワードゲートＷＧ１が接続され、ノードＮＤ２とビット線ＢＬとの間にワードゲートＷＧ２が接続されている。ワードゲートＷＧ１のゲートにワード線ＷＬ１が接続され、ワードゲートＷＧ２のゲートにワード線ＷＬ２が接続されている。
【０１４３】
ワードゲートＷＧ１は、読み出し用ゲートである。即ち、ワード線ＷＬ１をハイレベルに設定することで、ワードゲートＷＧ１が導通する。このとき、インバータＩＮＶ１をによって反転されたキャパシタＣ１の保持データがワードゲートＷＧ１を介してビット線ＢＬに出力される。
一方、ビット線ＢＬに書き込みデータを設定したあと、ワード線ＷＬ２をハイレベルに設定することで、ワードゲートＷＧ２が導通し、ビット線ＢＬのデータがノードＮＤ２に書き込まれる。
【０１４４】
上述したように、本例のデータ記憶セル１０ｄにおいて、ビット線ＢＬが読み出しと書き込み両方で共用される。読み出しのとき、ノードＮＤ１の保持データの論理反転データがワードゲートＷＧ１を介してビット線ＢＬに読み出され、書き込みのとき、ビット線ＢＬに入力したデータがワードゲートＷＧ２を介してノードＮＤ２に書き込まれる。このように、本例のデータ記憶セル１０ｄを用いてデータ記憶部１００を構成する場合、データ転送の途中で記憶データの書き換えを実現できる。
【０１４５】
【発明の効果】
以上説明したように、本発明のデータ処理装置によれば、入力データを順次転送するデータ記憶セルを用いて、大容量のデータを記憶することによって、画像データのような一定のタイミングで順次送られてくるデータを逐次入力してシフトさせていくことで、データの時間的な前後関係をデータ記憶部における空間的位置関係に置き換えることができる。各データ記憶セルに保持データを外部に出力するビット線（タップ）を設けることで、データ記憶部の任意の位置からデータを取り出すことができ、アドレスなどを考慮せずに画面上一定の位置関係にある複数の画素データを同時に読み出すことができ、画像信号処理の高速化と効率化を実現できる。
通常のメモリ装置において、複数のデータを読み出す際にアドレスを変えながら必要なデータ数だけ読み出し動作を繰り返す必要があり、タイミングの制約によっては読み出せるデータの数が制限されてしまう。これに対して、本発明によれば、多数のデータを同時に読み出せるので、時間的な制約が少なく、タイミング的に余裕が生まれる。この時間的な余裕は、データ読み出し後の処理に割り当てることができ、特に多数のデータを用いて信号処理を行う場合には有利である。
また、本発明のデータ処理装置によれば、画像信号の特徴を抽出し、抽出した特徴に基づいて画像の動き推定を行うことにより、動き推定の演算量を低減でき、動き推定処理の効率化と高速化を実現できる。
また、本発明のデータ処理装置によれば、複数のデータを同時に扱って、例えば動画像の動きベクトル推定やフィルタ処理などを行う処理回路を用いれば、種々の信号処理を簡単に実現できる。
さらに、本発明によれば、データ記憶部を構成するためのデータ記憶セルとして、ダイナミックにデータを保持するセル構造を導入することで、通常のフリップフロップ構造によるデータ記憶装置に比べて、高密度化、大容量化を容易に実現できる利点がある。
【図面の簡単な説明】
【図１】本発明に係るデータ処理装置の第１の実施形態を示すブロック図である。
【図２】データ処理装置におけるデータ記憶部１００を構成するためのデータ記憶セルの一構成例を示す回路図及びその模式図である。
【図３】データ記憶部１００の一構成例を示す回路図である。
【図４】データ記憶部１００の動作を示すタイミングチャートである。
【図５】前フレームにおける探索範囲と現フレームにおける注目ブロックとの位置関係を示す図である。
【図６】フレーム単位で入力される画像データ及び画像データがデータ記憶部１００に格納されているときの様子を示す図である。
【図７】注目ブロックの画素及びこれらの画素のデータがデータ記憶部１００に記憶された位置を示す図である。
【図８】注目ブロックを用いて探索範囲における探索処理を示す概念図である。
【図９】探索処理によって求められた動きベクトルの例を示す図である。
【図１０】動きベクトル推定処理を示すフローチャートである。
【図１１】探索範囲の１ライン目における１画素目からのブロックマッチング処理を示す図である。
【図１２】探索範囲の１ライン目における２画素目からのブロックマッチング処理を示す図である。
【図１３】探索範囲の１ライン目における３画素目からのブロックマッチング処理を示す図である。
【図１４】探索範囲の２ライン目における１画素目からのブロックマッチング処理を示す図である。
【図１５】探索範囲の２ライン目における２画素目からのブロックマッチング処理を示す図である。
【図１６】探索範囲の２ライン目における３画素目からのブロックマッチング処理を示す図である。
【図１７】探索範囲の３ライン目における１画素目からのブロックマッチング処理を示す図である。
【図１８】探索範囲の３ライン目における２画素目からのブロックマッチング処理を示す図である。
【図１９】探索範囲の３ライン目における３画素目からのブロックマッチング処理を示す図である。
【図２０】本発明に係るデータ処理装置の第２の実施形態におけるクラス分類処理を示す図である。
【図２１】本発明に係るデータ処理装置の第３の実施形態を示す構成図である。
【図２２】本発明のデータ処理装置を構成するデータ記憶セルの第２の構成例を示す回路図である。
【図２３】本発明のデータ処理装置を構成するデータ記憶セルの第３の構成例を示す回路図である。
【図２４】本発明のデータ処理装置を構成するデータ記憶セルの第４の構成例を示す回路図である。
【図２５】本発明のデータ処理装置を構成するデータ記憶セルの第５の構成例を示す回路図である。
【符号の説明】
１０，１０ａ，１０ｂ，１０ｃ，１０ｄ…データ記憶セル、
１００…データー記憶部、
１２０…データ処理部。
【図１】
0004240906.tif 000002
【図２】
0004240906.tif 000003
【図３】
0004240906.tif 000004
【図４】
0004240906.tif 000005
【図５】
0004240906.tif 000006
【図６】
0004240906.tif 000007
【図７】
0004240906.tif 000008
【図８】
0004240906.tif 000009
【図９】
0004240906.tif 000010
【図１０】
0004240906.tif 000011
【図１１】
0004240906.tif 000012
【図１２】
0004240906.tif 000013
【図１３】
0004240906.tif 000014
【図１４】
0004240906.tif 000015
【図１５】
0004240906.tif 000016
【図１６】
0004240906.tif 000017
【図１７】
0004240906.tif 000018
【図１８】
0004240906.tif 000019
【図１９】
0004240906.tif 000020
【図２０】
0004240906.tif 000021
【図２１】
0004240906.tif 000022
【図２２】
0004240906.tif 000023
【図２３】
0004240906.tif 000024
【図２４】
0004240906.tif 000025
【図２５】
0004240906.tif 000026