(57)【要約】【課題】画像処理装置での処理時間を大幅に短縮させること。【解決手段】本発明では、現画像の画像データを格納した第１の内部メモリから複数の現画像のマクロブロックデータを抽出して第２の内部メモリに内部メモリ制御部を用いて順次転送するデータ転送処理と、前記第２の内部メモリに順次転送された現画像のマクロブロックデータとこの第２の内部メモリに格納されている参照画像のマクロブロックデータとの差分データをプロセッサコア部を用いて順次検出する差分データ検出処理とを並行して行えるように構成した。【選択図】      図１
2004356673.tif 000002
【特許請求の範囲】
【請求項１】
現画像のマクロブロックデータと参照画像のマクロブロックデータとの間の動きベクトルを検出する動きベクトル検出方法において、
現画像の画像データを格納した第１の内部メモリから複数の現画像のマクロブロックデータを抽出して第２の内部メモリに内部メモリ制御部を用いて順次転送するデータ転送処理と、前記第２の内部メモリに順次転送された現画像のマクロブロックデータとこの第２の内部メモリに格納されている参照画像のマクロブロックデータとの差分データをプロセッサコア部を用いて順次検出する差分データ検出処理とを並行して行い、その後、プロセッサコア部を用いて差分データが最小となる現画像のマクロブロックデータと参照画像のマクロブロックデータとの間の変位を動きベクトルとして検出することを特徴とする動きベクトル検出方法。
【請求項２】
現画像のマクロブロックデータと参照画像のマクロブロックデータとの間の動きベクトルを検出する画像処理装置において、
プロセッサコア部に内部データバスを介して接続された第１及び第２の内部メモリ間でのデータ転送を制御するための内部メモリ制御部をプロセッサコア部の外部に設け、第１の内部メモリに格納された現画像の画像データから複数の現画像のマクロブロックデータを抽出して第２の内部メモリに順次転送するデータ転送処理を内部メモリ制御部で行う一方、前記第２の内部メモリに順次転送された現画像のマクロブロックデータとこの第２の内部メモリに格納されている参照画像のマクロブロックデータとの差分データを順次検出する差分データ検出処理をプロセッサコア部で行うことによって、内部メモリ制御部でのデータ転送処理とプロセッサコア部での差分データ検出処理とを並行して行い、その後、プロセッサコア部によって差分データが最小となる現画像のマクロブロックデータと参照画像のマクロブロックデータとの間の変位を動きベクトルとして検出することを特徴とする画像処理装置。
【請求項３】
前記内部メモリ制御部は、内部データバスを介してプロセッサコア部に接続したことを特徴とする請求項２に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動きベクトル検出方法及び同方法を用いた動きベクトル検出装置に関するものである。
【０００２】
【従来の技術】
従来より、データ量が多量な動画像データを圧縮して符号化する方法としては、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）から提案されているＨ．２６１規格が広く使用されている。
【０００３】
かかるＨ．２６１規格では、連続する画像データのうちの所定画素数からなるマクロブロックデータごとに符号化を行っており、その際に、直前の画像データを参照画像とするとともに、符号化を行う画像データを現画像として、これらの参照画像のマクロブロックデータと現画像のマクロブロックデータとの間の変位を表す動きベクトルを検出していた（たとえば、特許文献１参照）。
【０００４】
この動きベクトルの検出には、図９に示す画像処理装置１０１を用いていた。すなわち、画像処理装置１０１は、プロセッサ１０２に外部データバス１０３を介して外部メモリ１０４や入出力デバイス１０５を接続するとともに、プロセッサ１０２の内部でプロセッサコア部１０６に内部データバス１０７を介して内部メモリ１０８を接続していた。
【０００５】
そして、画像処理装置１０１は、次のようにして動きベクトルの検出を行っていた。
【０００６】
まず、プロセッサコア部１０６によって外部メモリ１０４から内部メモリ１０８に参照画像のマクロブロックデータを外部データバス１０３を介して転送する。
【０００７】
次に、プロセッサコア部１０６によって外部メモリ１０４から内部メモリ１０８に現画像のマクロブロックデータを外部データバス１０３を介して転送する。
【０００８】
次に、プロセッサコア部１０６によって内部メモリ１０８に格納された現画像のマクロブロックデータと参照画像のマクロブロックデータとの差分データを検出し、その差分データを内部メモリ１０８に格納する。
【０００９】
次に、プロセッサコア部１０６によって外部メモリ１０４から内部メモリ１０８に前回のマクロブロックデータから１画素ライン分ずらした現画像のマクロブロックデータを外部データバス１０３を介して転送する。
【００１０】
次に、プロセッサコア部１０６によって内部メモリ１０８に格納された現画像のマクロブロックデータと参照画像のマクロブロックデータとの差分データを検出し、その差分データを内部メモリ１０８に格納する。
【００１１】
そして、プロセッサコア部１０６は、上記した１画素ライン分ずらした現画像のマクロブロックデータの転送と差分データの検出を全てのマクロブロックデータについて順次繰り返して行い、最後に、差分データが最小となる現画像のマクロブロックデータと参照画像のマクロブロックデータとの変位を動きベクトルとして検出する。
【００１２】
【特許文献１】
特開平１０−４２３００号公報
【００１３】
【発明が解決しようとする課題】
ところが、上記従来の画像処理装置にあっては、プロセッサコア部１０６でマクロブロックデータの転送処理と差分データの検出処理とを順に実行していたために、データ転送処理中に同時に差分データの検出を行うことはできず、動きベクトルの検出に多大な時間を要していた。
【００１４】
このように動きベクトルの検出に長時間を要してしまうと、高画質化に伴って動画像データが大容量となった場合に、画像データの入力と符号化とをリアルタイムで処理することができなくなるおそれがあった。
【００１５】
【課題を解決するための手段】
そこで、請求項１に係る本発明では、現画像のマクロブロックデータと参照画像のマクロブロックデータとの間の動きベクトルを検出する動きベクトル検出方法において、現画像の画像データを格納した第１の内部メモリから複数の現画像のマクロブロックデータを抽出して第２の内部メモリに内部メモリ制御部を用いて順次転送するデータ転送処理と、前記第２の内部メモリに順次転送された現画像のマクロブロックデータとこの第２の内部メモリに格納されている参照画像のマクロブロックデータとの差分データをプロセッサコア部を用いて順次検出する差分データ検出処理とを並行して行い、その後、プロセッサコア部を用いて差分データが最小となる現画像のマクロブロックデータと参照画像のマクロブロックデータとの間の変位を動きベクトルとして検出することにした。
【００１６】
また、請求項２に係る本発明では、現画像のマクロブロックデータと参照画像のマクロブロックデータとの間の動きベクトルを検出する画像処理装置において、プロセッサコア部に内部データバスを介して接続された第１及び第２の内部メモリ間でのデータ転送を制御するための内部メモリ制御部をプロセッサコア部の外部に設け、第１の内部メモリに格納された現画像の画像データから複数の現画像のマクロブロックデータを抽出して第２の内部メモリに順次転送するデータ転送処理を内部メモリ制御部で行う一方、前記第２の内部メモリに順次転送された現画像のマクロブロックデータとこの第２の内部メモリに格納されている参照画像のマクロブロックデータとの差分データを順次検出する差分データ検出処理をプロセッサコア部で行うことによって、内部メモリ制御部でのデータ転送処理とプロセッサコア部での差分データ検出処理とを並行して行い、その後、プロセッサコア部によって差分データが最小となる現画像のマクロブロックデータと参照画像のマクロブロックデータとの間の変位を動きベクトルとして検出することにした。
【００１７】
また、請求項３に係る本発明では、前記請求項２に係る本発明において、前記内部メモリ制御部は、内部データバスを介してプロセッサコア部に接続することにした。
【００１８】
【発明の実施の形態】
本発明に係る画像処理装置は、プロセッサコア部に第１及び第２の内部メモリと内部メモリ制御部とを内部データバスを介して接続しており、第１及び第２の内部メモリは、デュアルポートを有しており、この内部メモリの一方のポートをプロセッサコア部に内部データバスを介して接続するとともに、内部メモリの他方のポートに内部メモリ制御部を接続している。
【００１９】
また、画像処理装置は、プロセッサコア部に複数の外部メモリを外部データバスを介して接続するとともに、プロセッサコア部に複数の入出力デバイスをリクエスト信号線を介して接続し、さらには、これらの外部メモリや入出力デバイスにも内部メモリ制御部を接続している。
【００２０】
そして、本画像処理装置では、プロセッサコア部に内部データバスを介して接続された内部メモリへのデータ転送を制御するための内部メモリ制御部をプロセッサコア部の外部に設けている。
【００２１】
そのため、本画像処理装置では、内部メモリへのデータ転送処理とプロセッサコア部内での処理とを並列して行えるように構成されており、画像処理装置での処理時間を大幅に短縮させることができる。
【００２２】
しかも、内部メモリ制御部をプロセッサコア部の外部に形成しているため、プロセッサコア部の仕様変更が生じても内部メモリ制御部を変更する必要が無くなり、画像処理装置の開発に要する時間を短縮することができる。
【００２３】
また、本画像処理装置では、内部メモリ制御部に内部メモリ、外部メモリ、及び入出力デバイスを接続しているため、内部メモリ同士間、内部メモリと外部メモリとの間、内部メモリと入出力デバイスとの間でプロセッサコア部での処理と並列して相互にデータ転送を行うことができる。
【００２４】
しかも、プロセッサコア部と内部メモリ制御部とを内部データバスを介して接続しているため、プロセッサコア部からの制御信号を内部データバスを用いて迅速に内部メモリ制御部に送信することができ、これによっても、画像処理装置での処理時間を短縮することができる。
【００２５】
さらに、内部メモリ制御部と入出力デバイスとをリクエスト信号線を介して接続しているため、入出力デバイスからのリクエスト信号によって内部メモリ制御部でのデータ転送を開始させることができ、また、内部メモリ制御部でのデータ転送の終了後に入出力デバイスにリクエスト信号を返送することができるので、プロセッサコア部を介さずにデータ転送処理を迅速に開始・終了することができ、プロセッサコア部の負荷を軽減することができる。
【００２６】
そして、本発明では、以下のようにして動きベクトルを検出するようにしている。
【００２７】
まず、外部メモリに格納された現画像の画像データから所定のサーチレンジの画像データを抽出して、その画像データを第１の内部メモリに転送する。
【００２８】
また、外部メモリに格納された参照画像の画像データからマクロブロックデータを抽出して、そのマクロブロックデータを第２の内部メモリに転送する。
【００２９】
次に、第１の内部メモリに格納された現画像の画像データから複数の現画像のマクロブロックデータを抽出して第２の内部メモリに順次転送するデータ転送処理を内部メモリ制御部で行う。
【００３０】
一方、第２の内部メモリに順次転送された現画像のマクロブロックデータとこの第２の内部メモリに格納されている参照画像のマクロブロックデータとの差分データを順次検出する差分データ検出処理をプロセッサコア部で行う。なお、差分データは、第２の内部メモリに格納しておく。
【００３１】
これにより、内部メモリ制御部でのデータ転送処理とプロセッサコア部での差分データ検出処理とを並行して行う。
【００３２】
その後、プロセッサコア部によって差分データが最小となる現画像のマクロブロックデータと参照画像のマクロブロックデータとの間の変位を動きベクトルとして検出する。
【００３３】
このように、上記した動きベクトルの検出に際して、内部メモリ制御部でのデータ転送処理とプロセッサコア部での差分データ検出処理とを並行して行っているため、データ転送処理中に同時に差分データの検出を行うことができ、動きベクトルの検出に要する時間を短縮することができ、高画質化に伴って動画像データが大容量となった場合でも、画像データの入力と符号化とをリアルタイムで処理することができる。
【００３４】
以下に、本発明に係る動きベクトル検出を行う画像処理装置の具体的な実施形態について図面を参照しながら説明する。
【００３５】
本発明に係る画像処理装置１は、図１に示すように、プロセッサ２の内部に各種の演算処理を行うためのプロセッサコア部３を設け、同プロセッサコア部３にデュアルポートの２個の内部メモリ４，５とこの内部メモリ４，５へのデータ転送を制御するための内部メモリ制御部６とを内部データバス７を介して接続するとともに、内部メモリ４，５と内部メモリ制御部６とを接続している。ここで、内部メモリ４，５は、デュアルポートを有しており、一方の入出力ポート８，９を内部データバス７を介してプロセッサコア部３に接続し、他方の入出力ポート１０，１１を内部メモリ制御部６に接続している。
【００３６】
また、画像処理装置１は、プロセッサコア部３に外部メモリ１２，１３や入出力デバイス１４，１５やダイレクトメモリコントローラ１６を外部データバス１７を介して接続している。図中、１８は外部データバス１７の使用要求を調整するためのアービターである。
【００３７】
また、画像処理装置１は、プロセッサコア部３と内部メモリ制御部６とを外部データバス１７を介しても接続しており、この内部メモリ制御部は、プロセッサコア部３に割り込み信号を割り込み信号線１９を介して送信でき、さらに、入出力デバイス１５にリクエスト信号をリクエスト信号線２０，２１を介して送受信できるようになっている。
【００３８】
そして、この画像処理装置１では、プロセッサコア部３の外部に設けた内部メモリ制御部６によって内部メモリ４，５同士間や内部メモリ４，５と外部メモリ１２，１３との間や内部メモリ４，５と入出力デバイス１４，１５との間でプロセッサコア部３での処理と並列して相互にデータ転送を行うようにしている。
【００３９】
かかる内部メモリ制御部６の構成について以下に説明する。
【００４０】
内部メモリ制御部６は、図２に示すように、アドレスデコーダ部２２とデータパス部２３とアドレス生成部２４とから構成している。
【００４１】
そして、内部メモリ制御部６は、プロセッサ２のメモリ空間上にマッピングされている。そのメモリマップを表１に示す。なお、マッピングされた各レジスタはデータパス部２３に設けたレジスタファイル部２５に実装されている。
【００４２】
【表１】
2004356673.tif 000003
【００４３】
アドレスデコーダ部２２では、外部データバス１７のアドレスバス（ｂｕｓ＿ａｄｄｒ）で示されたアドレスを表１のメモリマップに従ってデコードする。
【００４４】
ここで、表１に示した各レジスタの機能について説明する。
【００４５】
レジスタＳＡ  ＤＤＲは、データ転送を行う際の転送元のアドレスを示すレジスタであり、転送元の内部メモリ４，５や外部メモリ１２，１３や入出力デバイス１４，１５のアドレスが格納される。
【００４６】
レジスタＤＡＤＤＲは、データ転送を行う際の転送先のアドレスを示すレジスタであり、転送先の内部メモリ４，５や外部メモリ１２，１３や入出力デバイス１４，１５のアドレスが格納される。
【００４７】
レジスタＢＳＩＺＥ及びレジスタＢＯＦＦＳＥＴは、不連続なデータ転送を行う際に使用するものであり、図３に示すように、レジスタＢＳＩＺＥで示されるバイト数のサイズのブロックデータをレジスタＢＯＦＦＳＥＴで示されるバイト数の間隔を開けて順に転送するときに使用する。
【００４８】
レジスタＣＮＴＲＬは、データ転送時の制御フラグで構成されたレジスタであり、表２に示すフラグで構成されている。
【００４９】
【表２】
2004356673.tif 000004
【００５０】
レジスタＳＴＡＲＴは、データ転送の開始を示すレジスタであり、このレジスタＳＴＡＲＴに任意のデータを書き込むことによってデータ転送が開始される。
【００５１】
レジスタＩＮＴＲＥＱは、データ転送完了後に割り込み信号によって通知するレジスタであり（表３参照）、通常は、データ転送完了後に「１」にセットされ、割り込みルーチン内で「０」にリセットされる。
【００５２】
【表３】
2004356673.tif 000005
【００５３】
そして、アドレスデコーダ部２２で外部データバス１７のアドレスバス（ｂｕｓ＿ａｄｄｒ）で示されたアドレスを表１のメモリマップに従ってデコードし、データパス部２３で該当するレジスタに外部データバス１７のデータバス（ｂｕｓ＿ｄａｔａ＿ｒ）で示されたデータを格納する。
【００５４】
データパス部２３は、図４のブロック図に示した構成となっており、外部データバス１７と内部メモリ４との間の双方向のパスと、外部データバス１７と内部メモリ５との間の双方向のパスと、内部メモリ４から内部メモリ５への片方向のパスと、外部データバス１７とレジスタファイル部２５との間の双方向のパスの合計７通りのパスが形成されている（表４参照）。
【００５５】
【表４】
2004356673.tif 000006
【００５６】
そして、データパス部２３は、レジスタファイル部２５の各レジスタに従ってバッファ２６〜３２やセレクタ３３，３４を制御することによって、７通りのパスから１通りのパスのみを選択的に形成するようにしている。
【００５７】
すなわち、外部データバス１７から内部メモリ４へのパスを形成する際には、外部データバス１７のデータバス（ｂｕｓ＿ｄａｔａ＿ｗ）のデータをバッファ２６とバッファ２７とを介して内部メモリ４の入力ポート（ｗ＿ｄａｔａ＿ｌｍ＿ａ）に出力する。
【００５８】
外部データバス１７から内部メモリ５へのパスを形成する際には、外部データバス１７のデータバス（ｂｕｓ＿ｄａｔａ＿ｗ）のデータをバッファ２６とセレクタ３４とバッファ３１とを介して内部メモリ５の入力ポート（ｗ＿ｄａｔａ＿ｌｍ＿ｂ）に出力する。
【００５９】
外部データバス１７からレジスタファイル部２５へのパスを形成する際には、外部データバス１７のデータバス（ｂｕｓ＿ｄａｔａ＿ｗ）のデータをバッファ２６を介してレジスタファイル部２５に入力する。
【００６０】
内部メモリ４から外部データバス１７へのパスを形成する際には、内部メモリ４の出力ポート（ｒ＿ｄａｔａ＿ｌｍ＿ａ）のデータをバッファ２８とセレクタ３３とバッファ３０を介して外部データバス１７のデータバス（ｂｕｓ＿ｄａｔａ＿ｒ）に出力する。
【００６１】
内部メモリ４から内部メモリ５へのパスを形成する際には、内部メモリ４の出力ポート（ｒ＿ｄａｔａ＿ｌｍ＿ａ）のデータをバッファ２８とバッファ３２とシフタ３６とセレクタ３４とバッファ３１を介して内部メモリ５の入力ポート（ｗ＿ｄａｔａ＿ｌｍ＿ｂ）に出力する。なお、ここでは、バッファ３５やシフタ３６を設けて、内部メモリ４，５同士間でのデータ転送時に必要に応じてシフト演算を行えるようにしている。また、シフト演算に限られず、加算や減算が行えるようにしてもよい。このように、パス中に各種の演算処理部を形成することによって、データ転送時に各種の演算処理も同時に行うことができる。
【００６２】
内部メモリ５から外部データバス１７へのパスを形成する際には、内部メモリ５の出力ポート（ｒ＿ｄａｔａ＿ｌｍ＿ｂ）のデータをバッファ２９とセレクタ３３とバッファ３０を介して外部データバス１７のデータバス（ｂｕｓ＿ｄａｔａ＿ｒ）に出力する。
【００６３】
レジスタファイル部２５から外部データバス１７へのパスを形成する際には、レジスタファイル部２５の出力ポート（ａｈｂ＿ｏ）のデータをセレクタ３３とバッファ３０を介して外部データバス１７のデータバス（ｂｕｓ＿ｄａｔａ＿ｒ）に出力する。
【００６４】
アドレス生成部２４は、図５に示したブロック図のように構成しており、レジスタファイル部２５に格納されている転送元アドレスを示すレジスタＳＡＤＤＲや転送先のアドレスを示すレジスタＤＡＤＤＲや制御レジスタＣＮＴＲＬに基づいて加算器３７，３８やセレクタ３９〜４３やバッファ４４〜４６や関数器４７，４８を制御して転送元又は転送先のアドレスを生成するようにしている。
【００６５】
ここで、関数器４７の真理値表を表５に示す。関数器４７は、制御レジスタＣＮＴＲＬのＳＡＤＤＲ＿ＡＤＤフラグが「０」のときは「４」を出力し、これを加算器３７で加算することによって転送元のアドレスを４バイト進め、一方、制御レジスタＣＮＴＲＬのＳＡＤＤＲ＿ＡＤＤフラグが「１」のときは「０」を出力し、転送元のアドレスの更新を行わないようにしている。
【００６６】
【表５】
2004356673.tif 000007
【００６７】
また、関数器４８の真理値表を表６に示す。関数器４８は、制御レジスタＣＮＴＲＬのＤＡＤＤＲ＿ＡＤＤフラグが「０」のときは「４」を出力し、これを加算器３８で加算することによって転送先のアドレスを４バイト進め、一方、制御レジスタＣＮＴＲＬのＤ  ＡＤＤＲ＿ＡＤＤフラグが「１」のときは「０」を出力し、転送先のアドレスの更新を行わないようにしている。
【００６８】
【表６】
2004356673.tif 000008
【００６９】
また、アドレス生成部２４には、データ転送開始時の転送元のアドレスを格納するレジスタ４９とデータ転送開始時の転送先のアドレスを格納するレジスタ５０とを有しており、データ転送終了後にデータ転送開始時のアドレスをレジスタファイル部２５のレジスタＳＡＤＤＲ、レジスタＤＡＤＤＲに戻せるようになっている。
【００７０】
そして、アドレス生成部２４は、外部データバス１７にデータ転送する場合には、セレクタ４１とバッファ４４を介してアドレスを出力し、内部メモリ４にデータを転送する場合には、セレクタ４２とバッファ４５を介してアドレスを出力し、内部メモリ５にデータを転送する場合には、セレクタ４３とバッファ４６を介してアドレスを出力する。
【００７１】
本画像処理装置１は、以上に説明したように構成しており、以下に説明するようにしてデータ転送を行う。
【００７２】
まず、外部データバス１７からレジスタファイル部２５へのパスを形成しておき、プロセッサコア部３からレジスタファイル部２５の各レジスタに転送元アドレスや転送先アドレスなどをセットする。
【００７３】
次に、プロセッサコア部３からレジスタファイル部２５の転送開始レジスタＳＴＡＲＴに任意のデータを書き込む。
【００７４】
これにより、内部メモリ制御部６は、プロセッサコア部３で行われている処理とは無関係に独立して転送元アドレスのデータを転送先アドレスへデータ転送する。その際に、内部メモリ制御部６は、アドレス生成部２４で転送元及び転送先のアドレスを生成するとともに、データパス部２３で必要なパスを形成する。
【００７５】
そして、データ転送処理が完了した場合には、割り込み信号線１９を介して割り込み信号をプロセッサコア部３に送る。
【００７６】
プロセッサコア部３からレジスタファイル部２５にデータを送信する場合には、上記説明では外部データバス１７を用いた場合について説明したが、プロセッサコア部３と内部メモリ制御部６とを内部データバス７を介して接続しておけば、外部データバス１７に代えて内部データバス７を使用することもできる。
【００７７】
また、データ転送元が入出力デバイス１５の場合には、リクエスト信号線２０を介してレジスタファイル部２５の転送開始レジスタＳＴＡＲＴに直接データを書き込み、これによって、データ転送を開始し、その後、割り込み信号線１９に代えてリクエスト信号線２１にアクノリッジ信号を入出力デバイス１５に送るようにすることもできる。
【００７８】
本実施例に係る画像処理装置１は、以上に説明したように構成されており、以下に説明するようにして動きベクトルを検出する（図６〜図８参照）。
【００７９】
まず、外部メモリ１２に格納された現画像の画像データ５１から所定のサーチレンジ（１６画素Ｘ１６画素）の画像データ５２を抽出して、その画像データ５２を第１の内部メモリ４に転送する（現画像転送処理Ｓ１）。
【００８０】
また、外部メモリ１２に格納された参照画像の画像データ５３から中心座標が前記画像データ５２と同一である所定サイズ（８画素Ｘ８画素）のマクロブロックデータ５４を抽出して、そのマクロブロックデータ５４を第２の内部メモリ５に転送する（参照画像転送処理Ｓ２）。
【００８１】
次に、第１の内部メモリ４に格納された現画像の画像データ５２から縦方向又は横方向に１画素ライン分ずつずらした複数の現画像のマクロブロックデータ５５，５６を抽出して第２の内部メモリ５に順次転送する（データ転送処理Ｓ３）。このデータ転送処理は、内部メモリ制御部６で行う。なお、ここでは、１６画素Ｘ１６画素のサーチレンジから８画素Ｘ８画素のマクロブロックデータ５５，５６を縦横に１画素ライン分ずつずらして抽出するため、合計で６４個のマクロブロックデータ５５，５６が抽出される。
【００８２】
一方、第２の内部メモリ６に順次転送された現画像のマクロブロックデータ５５，５６とこの第２の内部メモリ６に格納されている参照画像のマクロブロックデータ５４との間で、対応する画素のデータの差を合計することによって求めた差分データを順次検出する（差分データ検出処理Ｓ４）。この差分データ検出処理は、プロセッサコア部３で行う。なお、検出された６４個の差分データは、第２の内部メモリ５に格納しておく。
【００８３】
ここで、本画像処理装置１では、プロセッサコア部３での処理と別途独立して内部メモリ制御部６でのデータ転送を行うことができるようになっているため、上記した内部メモリ制御部６でのデータ転送処理とプロセッサコア部３での差分データ検出処理とは並行して行われる。
【００８４】
最後に、プロセッサコア部３によって６４個の差分データのうちで最小の差分データとなる現画像のマクロブロックデータ５５（５６）と参照画像のマクロブロックデータ５４との間の変位（座標の差）を動きベクトルとして検出する（動きベクトル検出処理Ｓ５）。かかる動きベクトルは、動画像をＭＰＥＧのＨ．２６１規格を用いて符号化する際に利用される。
【００８５】
このように、動きベクトルを検出する際に、内部メモリ制御部６でのデータ転送処理とプロセッサコア部３での差分データ検出処理とを並行して行うことによって、データ転送処理中に同時に差分データの検出を行うことができ、動きベクトルの検出に要する時間を短縮することができ、高画質化に伴って動画像データが大容量となった場合でも、画像データの入力と符号化とをリアルタイムで処理することができる。
【００８６】
【発明の効果】
本発明は、以上に説明したような形態で実施され、以下に記載されるような効果を奏する。
【００８７】
すなわち、本発明では、現画像の画像データを格納した第１の内部メモリから複数の現画像のマクロブロックデータを抽出して第２の内部メモリに内部メモリ制御部を用いて順次転送するデータ転送処理と、前記第２の内部メモリに順次転送された現画像のマクロブロックデータとこの第２の内部メモリに格納されている参照画像のマクロブロックデータとの差分データをプロセッサコア部を用いて順次検出する差分データ検出処理とを並行して行っているため、データ転送処理中に同時に差分データの検出を行うことができ、動きベクトルの検出に要する時間を短縮することができ、高画質化に伴って動画像データが大容量となった場合でも、画像データの入力と符号化とをリアルタイムで処理することができる。
【００８８】
特に、プロセッサコア部と内部メモリ制御部とを内部データバスを介して接続した場合には、プロセッサコア部からの制御信号を内部データバスを用いて迅速に内部メモリ制御部に送信することができ、これによって、画像処理装置での処理時間をより一層短縮することができる。
【図面の簡単な説明】
【図１】本発明に係る画像処理装置を示す説明図。
【図２】内部メモリ制御部を示す説明図。
【図３】転送元メモリ空間を示す説明図。
【図４】データパス部を示す説明図。
【図５】アドレス生成部を示す説明図。
【図６】動きベクトルの検出方法を示す説明図。
【図７】現画像を示す説明図。
【図８】参照画像を示す説明図。
【図９】従来の画像処理装置を示す説明図。
【符号の説明】
１  画像処理装置
２  プロセッサ
３  プロセッサコア部
４，５  内部メモリ
６  内部メモリ制御部
７  内部データバス
８，９  入出力ポート
１０，１１  入出力ポート
１２，１３  外部メモリ
１７  外部データバス
２２  アドレスデコーダ部
２３  データパス部
２４  アドレス生成部
２５  レジスタファイル部
５１  現画像の画像データ
５２  現画像のサーチレンジの画像データ
５３  参照画像の画像データ
５４  参照画像のマクロブロック
５５，５６  現画像のマクロブロックデータ
【図１】
2004356673.tif 000009
【図２】
2004356673.tif 000010
【図３】
2004356673.tif 000011
【図４】
2004356673.tif 000012
【図５】
2004356673.tif 000013
【図６】
2004356673.tif 000014
【図７】
2004356673.tif 000015
【図８】
2004356673.tif 000016
【図９】
2004356673.tif 000017