(57)【要約】【課題】  元の画像データの配列と異なるよう画像データが配列された場合においても、画像データのアクセス先を効率よく算出する。【解決手段】  プロセッサエレメント１は、そのＭＢ参照エリアＭＥに格納される画像部分について、フレームメモリ３に格納されている画像上での画素の位置を示す座標データを座標管理エリアＰＥに書き込むとともに、ＭＢ参照エリアＭＥに保持されている画像データへのアクセス先を、座標管理エリアＰＥに保持されている座標データに対応してマクロブロック単位で参照テーブルＴに書き込み、データエレメント８は、読み出し対象となる画素の座標が座標参照エリアＤＥ上で指定されると、読み出し対象となる画素の座標データをメモリコントローラ４に送り、アドレス変換部７は、参照テーブルＴを参照することにより、読み出し対象となる画素の座標データをＭＢ参照エリアＭＥに保持されている画像データへのアクセス先に変換する。【選択図】      図１
2006268249.tif 000002
【特許請求の範囲】
【請求項１】
画像上での画素の位置を示す座標データを保持する座標データ保持手段と、
前記画像を構成する画像データを保持する画像データ保持手段と、
前記画像データ保持手段に保持されている画像データへのアクセス先を前記座標データに対応して保持する参照テーブルと、
前記参照テーブルの参照結果に基づいて、前記画素の位置を示す座標データを前記画像データ保持手段に保持されている画像データへのアクセス先に変換するアドレス変換手段とを備えることを特徴とする画像処理装置。
【請求項２】
画像上での画素の位置を示す座標データをマクロブロック単位で保持する座標データ保持手段と、
前記画像を構成する画像データを前記マクロブロック単位で保持する画像データ保持手段と、
前記画像データ保持手段に保持されている画像データへのアクセス先を前記座標データに対応して前記マクロブロック単位で保持する参照テーブルと、
前記参照テーブルの参照結果に基づいて、前記画素の位置を示す座標データを前記画像データ保持手段に保持されている画像データへのアクセス先に変換するアドレス変換手段とを備えることを特徴とする画像処理装置。
【請求項３】
画像上でのマクロブロック番号および前記マクロブロック内での画素の位置を示す座標データを前記マクロブロック単位で保持する座標データ保持手段と、
前記画像を構成する画像データを前記マクロブロック単位で保持する画像データ保持手段と、
前記画像データ保持手段に保持されているマクロブロックへのアクセス先を、前記マクロブロック番号を示す座標データに対応して前記マクロブロック単位で保持する参照テーブルと、
前記参照テーブルを参照することで得られたマクロブロックへのアクセス先および前記マクロブロック内での画素の位置を示す座標データに基づいて、前記画像データ保持手段に保持されている画像データへのアクセス先を算出するアドレス変換手段とを備えることを特徴とする画像処理装置。
【請求項４】
画像上でのマクロブロック番号および前記マクロブロック内での画素の位置を示す座標データを前記マクロブロック単位で保持する座標データ保持手段と、
前記画像を構成する画像データを前記マクロブロック単位で保持する画像データ保持手段と、
前記画像データ保持手段に保持されているマクロブロックの先頭画素のアドレスの上位ビットを、前記マクロブロック番号を示す座標データに対応して前記マクロブロック単位で保持する参照テーブルと、
前記マクロブロック内での画素の位置を示す座標データを下位ビットとして、前記マクロブロックの先頭画素のアドレスの上位ビットと組み合わせることにより、前記画像データ保持手段に保持されている画像データへのアクセス先を算出するアドレス変換手段とを備えることを特徴とする画像処理装置。
【請求項５】
前記参照テーブルは、前記マクロブロック内を補填するパターンを指定する補填パターン指定領域をさらに備えることを特徴とする請求項２から４のいずれか１項記載の画像処理装置。
【請求項６】
前記画像データ保持手段に保持されている画像データへのアクセス先を前記座標データに対応して書き換えるプロセッサエレメントをさらに備えることを特徴とする請求項１から５のいずれか１項記載の画像処理装置。
【請求項７】
画像を構成する画像データを保持するステップと、
前記画像上での画素の位置を示す座標データを取得するステップと、
前記座標データに対応して保持されている前記画像データへのアクセス先を取得するステップと、
前記取得したアクセス先に従って前記画像データにアクセスするステップとを備えることを特徴とする画像処理方法。
【請求項８】
画像を構成する画像データをマクロブロック単位で保持するステップと、
前記画像上での前記マクロブロック番号および前記マクロブロック内での画素の位置を示す座標データを取得するステップと、
前記マクロブロック番号を示す座標データに対応して保持されているマクロブロックの先頭画素のアドレスの上位ビットを取得するステップと、
前記マクロブロック内での画素の位置を示す座標データを下位ビットとして、前記マクロブロックの先頭画素のアドレスの上位ビットと組み合わせることにより、前記画像データへのアクセス先を算出するステップと、
前記算出したアクセス先に従って前記画像データにアクセスするステップとを備えることを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および画像処理方法に関し、特に、メモリに記憶された画像データの参照方法に適用して好適なものである。
【背景技術】
【０００２】
従来の画像処理装置では、画フレーム上で動きベクトルを検出し、フレーム上で動いている部分のみを符号化することにより、画像の圧縮率を向上させることが行われている。また、例えば、特許文献１には、水平（ＮＸ−ＭＸ＋１）×垂直（ＮＹ−ＭＹ＋１）画素の動きベクトル探索範囲に内接する水平ＫＸ×垂直ＫＹ画素の部分探索範囲の集合であって、動きベクトル探索範囲の四隅を含まない各部分探索範囲の集合の探索に必要な参照領域内の画素から各部分探索範囲を構成することにより、動きベクトルの探索に要する時間を短縮する方法が開示されている。
【０００３】
ここで、動きベクトルを探索するためには、現在の画像と過去の画像とをマクロブロック単位で比較する必要があるため、フレームメモリに格納された画像データをアクセス速度の速いローカルメモリに移すことにより、処理時間を短縮することが行われている。
【特許文献１】特開平１０−７５４５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、フレームメモリに格納された画像データをローカルメモリに移すと、マクロブロックの配列が元の画像データの配列と異なるようになるため、ローカルメモリ上でのアドレス計算が複雑化し、アドレス計算に時間がかかるという問題があった。
そこで、本発明の目的は、元の画像データの配列と異なるよう画像データが配列された場合においても、画像データのアクセス先を効率よく算出することが可能な画像処理装置および画像処理方法を提供することである。
【課題を解決するための手段】
【０００５】
上述した課題を解決するために、本発明の一態様に係る画像処理装置によれば、画像上での画素の位置を示す座標データを保持する座標データ保持手段と、前記画像を構成する画像データを保持する画像データ保持手段と、前記画像データ保持手段に保持されている画像データへのアクセス先を前記座標データに対応して保持する参照テーブルと、前記参照テーブルの参照結果に基づいて、前記画素の位置を示す座標データを前記画像データ保持手段に保持されている画像データへのアクセス先に変換するアドレス変換手段とを備えることを特徴とする。
【０００６】
これにより、参照テーブルを参照することで画像データへのアクセス先を取得することが可能となるとともに、画像上での画素の座標を特定することで、参照テーブルを検索することが可能となる。このため、元の画像データの配列と異なるように画像データ保持手段に画像データが保持された場合においても、元の画像データの画素の探索範囲に応じて画像データ保持手段上で画像データにアクセスすることが可能となり、画像圧縮処理にかかる時間を短縮することができる。
【０００７】
また、本発明の一態様に係る画像処理装置によれば、画像上での画素の位置を示す座標データをマクロブロック単位で保持する座標データ保持手段と、前記画像を構成する画像データを前記マクロブロック単位で保持する画像データ保持手段と、前記画像データ保持手段に保持されている画像データへのアクセス先を前記座標データに対応して前記マクロブロック単位で保持する参照テーブルと、前記参照テーブルの参照結果に基づいて、前記画素の位置を示す座標データを前記画像データ保持手段に保持されている画像データへのアクセス先に変換するアドレス変換手段とを備えることを特徴とする。
【０００８】
これにより、マクロブロック単位で参照テーブルを用意することが可能となり、画像を構成する画素ごとに参照テーブルを用意する必要がなくなるとともに、画像データへのアクセス先をマクロブロック単位で効率よく取得することが可能となる。このため、参照テーブルの構築にかかる負担を軽減することが可能となるとともに、ＭＰＥＧなどの既存の規格に準拠しつつ、現在の画像と過去の画像とをマクロブロック単位で比較することが可能となり、画像圧縮処理にかかる時間を短縮することができる。
参照テーブルを参照することで画像データへのアクセス先を取得することが可能となると  また、本発明の一態様に係る画像処理装置によれば、画像上でのマクロブロック番号および前記マクロブロック内での画素の位置を示す座標データを前記マクロブロック単位で保持する座標データ保持手段と、前記画像を構成する画像データを前記マクロブロック単位で保持する画像データ保持手段と、前記画像データ保持手段に保持されているマクロブロックへのアクセス先を、前記マクロブロック番号を示す座標データに対応して前記マクロブロック単位で保持する参照テーブルと、前記参照テーブルを参照することで得られたマクロブロックへのアクセス先および前記マクロブロック内での画素の位置を示す座標データに基づいて、前記画像データ保持手段に保持されている画像データへのアクセス先を算出するアドレス変換手段とを備えることを特徴とする。
【０００９】
これにより、マクロブロック内での画素の位置を示す座標データをそのまま用いることで、画像データ保持手段に保持されている画像データへのアクセス先をマクロブロック単位で算出することが可能となる。このため、マクロブロック番号に対応した画像データ保持手段上でのマクロブロックへのアクセス先を算出することで、参照テーブルを構築することが可能となり、参照テーブルの構築にかかる負荷を軽減しつつ、画像データ保持手段に保持されている画像データへのアクセス先を座標データに対応して保持することができる。
【００１０】
また、本発明の一態様に係る画像処理装置によれば、画像上でのマクロブロック番号および前記マクロブロック内での画素の位置を示す座標データを前記マクロブロック単位で保持する座標データ保持手段と、前記画像を構成する画像データを前記マクロブロック単位で保持する画像データ保持手段と、前記画像データ保持手段に保持されているマクロブロックの先頭画素のアドレスの上位ビットを、前記マクロブロック番号を示す座標データに対応して前記マクロブロック単位で保持する参照テーブルと、前記マクロブロック内での画素の位置を示す座標データを下位ビットとして、前記マクロブロックの先頭画素のアドレスの上位ビットと組み合わせることにより、前記画像データ保持手段に保持されている画像データへのアクセス先を算出するアドレス変換手段とを備えることを特徴とする。
【００１１】
これにより、マクロブロック内での画素の位置を示す座標データをそのまま用いることで、画像データ保持手段に保持されている画像データへのアクセス先のアドレスの下位ビットを算出することが可能となる。このため、マクロブロック番号に対応したマクロブロックの先頭画素のアドレスの上位ビットのみを算出することで、参照テーブルを構築することが可能となり、参照テーブルの構築にかかる負荷を軽減しつつ、画像データ保持手段に保持されている画像データへのアクセス先を座標データに対応して保持することができる。
【００１２】
また、本発明の一態様に係る画像処理装置によれば、前記参照テーブルは、前記マクロブロック内を補填するパターンを指定する補填パターン指定領域をさらに備えることを特徴とする。
これにより、参照テーブルを参照することでマクロブロックのパディング処理を実行することが可能となり、エリア外のマクロブロックが指定された場合においても、マクロブロックを補填することができる。
【００１３】
また、本発明の一態様に係る画像処理装置によれば、前記画像データ保持手段に保持されている画像データへのアクセス先を前記座標データに対応して書き換えるプロセッサエレメントをさらに備えることを特徴とする。
これにより、画像データ保持手段に保持されている画像データが更新された場合においても、画像データ保持手段に保持されている画像データへのアクセス先をソフトウェアにて書き換えることができる。このため、現在の画像と過去の画像とを比較する時の画像参照エリアなどの変更に柔軟に対応しつつ、画像データ保持手段に保持されている画像データへのアクセス先を座標データに対応して保持することができ、ハードウェアの規模の増大を抑制しつつ、画像圧縮処理にかかる時間を短縮することができる。
【００１４】
また、本発明の一態様に係る画像処理方法によれば、画像を構成する画像データを保持するステップと、前記画像上での画素の位置を示す座標データを取得するステップと、前記座標データに対応して保持されている前記画像データへのアクセス先を取得するステップと、前記取得したアクセス先に従って前記画像データにアクセスするステップとを備えることを特徴とする。
【００１５】
これにより、画像上での画素の座標を特定することで、画像データへのアクセス先を取得することが可能となる。このため、元の画像データの配列と異なるよう画像データが配列された場合においても、画像データのアクセス先を効率よく算出することが可能となる。
また、本発明の一態様に係る画像処理方法によれば、画像を構成する画像データをマクロブロック単位で保持するステップと、前記画像上での前記マクロブロック番号および前記マクロブロック内での画素の位置を示す座標データを取得するステップと、前記マクロブロック番号を示す座標データに対応して保持されているマクロブロック先頭画素のアドレスの上位ビットを取得するステップと、前記マクロブロック内での画素の位置を示す座標データを下位ビットとして、前記マクロブロックの先頭画素のアドレスの上位ビットと組み合わせることにより、前記画像データへのアクセス先を算出するステップと、前記算出したアクセス先に従って前記画像データにアクセスするステップとを備えることを特徴とする。
【００１６】
これにより、マクロブロック番号に対応したマクロブロック先頭画素のアドレスの上位ビットのみを算出することで、参照テーブルを構築することが可能となり、参照テーブルの構築にかかる負荷を軽減しつつ、画像データ保持手段に保持されている画像データへのアクセス先を座標データに対応して保持することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施形態に係る画像処理装置について図面を参照しながら説明する。
図１は、本発明の一実施形態に係る画像処理装置の概略構成を示すブロック図である。
図１において、プロセッサエレメント１、トランスファーエレメント２およびメモリコントローラ４はバス６を介して接続され、トランスファーエレメント２はフレームメモリ３に接続され、メモリコントローラ４はローカルメモリ５に接続されている。なお、プロセッサエレメント１としては、例えば、プログラム上に記述された命令を実行するＣＰＵを用いることができる。また、ローカルメモリ５としてはフレームメモリ３よりもアクセス速度の速いメモリを用いることができ、例えば、フレームメモリ３としてＤＲＡＭ、ローカルメモリ５としてＳＲＡＭを用いることができる。またデータエレメント部８は動きベクトル検出するためのモジュールである。
【００１８】
ここで、プロセッサエレメント１には座標管理エリアＰＥが設けられている。そして、座標管理エリアＰＥは、フレームメモリ３に格納される画像上での画素の位置を示す座標データをマクロブロック単位で保持することができる。ローカルメモリ５にはＭＢ参照エリアＭＥが設けられている。そして、ＭＢ参照エリアＭＥは、画像を構成する画像データをマクロブロック単位で保持することができる。メモリコントローラ４には参照テーブルＴおよびアドレス算出部７が設けられている。そして、参照テーブルＴは、ＭＢ参照エリアＭＥに保持されている画像データへのアクセス先を、座標管理エリアＰＥに保持されている座標データに対応してマクロブロック単位で保持することができる。アドレス変換部７は、参照テーブルＴの参照結果に基づいて、座標管理エリアＰＥに保持されている座標データをＭＢ参照エリアＭＥに保持されている画像データへのアクセス先に変換することができる。
【００１９】
そして、フレームメモリ３に格納されている画像の処理を行う場合、フレームメモリ３に格納されている画像データの一部をマクロブロック単位でローカルメモリ５のＭＢ参照エリアＭＥに格納する。
ここで、フレームメモリ３に格納されている画像データがＭＢ参照エリアＭＥに格納される場合、プロセッサエレメント１は、そのＭＢ参照エリアＭＥに格納される画像部分について、フレームメモリ３に格納されている画像上での画素の位置を示す座標データを座標管理エリアＰＥに書き込む。また、プロセッサエレメント１は、ＭＢ参照エリアＭＥに保持されている画像データへのアクセス先を、座標管理エリアＰＥに保持されている座標データに対応してマクロブロック単位で参照テーブルＴに書き込む。
【００２０】
そして、ＭＢ参照エリアＭＥから画像データを読み出す場合、プロセッサエレメント１は、読み出し対象となる画素の座標を座標参照エリアＤＥ上で指定する。そして、読み出し対象となる画素の座標が座標参照エリアＤＥ上で指定されると、データエレメント８は、読み出し対象となる画素の座標データをメモリコントローラ４に送る。そして、読み出し対象となる画素の座標データがメモリコントローラ４に送られると、アドレス変換部７は、参照テーブルＴを参照することにより、読み出し対象となる画素の座標データをＭＢ参照エリアＭＥに保持されている画像データへのアクセス先に変換する。
【００２１】
そして、メモリコントローラ４は、ＭＢ参照エリアＭＥ上での画像データへのアクセス先がアドレス変換部７にて得られると、そのアクセス先に従ってＭＢ参照エリアＭＥにアクセスすることにより、座標参照エリアＤＥに保持されている座標データで特定される画像データを読み出す。
これにより、参照テーブルＴを参照することでＭＢ参照エリアＭＥ上での画像データへのアクセス先を取得することが可能となるとともに、座標参照エリアＤＥに保持されている座標データを指定することで、参照テーブルＴを検索することが可能となる。このため、フレームメモリ３に格納されている画像データの配列と異なるようにＭＢ参照エリアＭＥに画像データが保持された場合においても、フレームメモリ３に格納されている画像データの画素の探索範囲に応じてＭＢ参照エリアＭＥ上で画像データにアクセスすることが可能となり、画像圧縮処理にかかる時間を短縮することができる。
【００２２】
また、参照テーブルＴの内容をプロセッサエレメント１にて書き換えることにより、ＭＢ参照エリアＭＥに保持されている画像データが更新された場合においても、ＭＢ参照エリアＭＥに保持されている画像データへのアクセス先をソフトウェアにて書き換えることができる。このため、現在の画像と過去の画像とを比較する時の画像参照エリアなどの変更に柔軟に対応しつつ、ＭＢ参照エリアＭＥに保持されている画像データへのアクセス先を座標データに対応して保持することができ、ハードウェアの規模の増大を抑制しつつ、画像圧縮処理にかかる時間を短縮することができる。
【００２３】
図２は、本発明の一実施形態に係るマクロブロックへのアクセス方法の一例を示す図である。
図２において、ＭＢ参照エリアＭＥには、１６個分のマクロブロックＭＢ０〜ＭＢ１５の画像データがマクロブロック単位で格納されるものとする。ここで、マクロブロックＭＢ０〜ＭＢ１５は１６×１６画素でそれぞれ構成されるものとし、１画素分の画像データに１バイト分だけ割り当てられているものとすると、各マクロブロックＭＢ０〜ＭＢ１５の画像データは２５６バイトとなる。
【００２４】
また、４×４のマクロブロックの画素位置をｘｙ座標上で特定できるようにするため、座標参照エリアＺＥには、（０，０）から（６３，６３）までの座標を特定するための領域が用意されているものとする。
この場合、４×４マクロブロックの画素のｘｙ座標をそれぞれ特定するには、ｘ座標を特定するためのｘポインタとして６ビット、ｙ座標を特定するためのｙポインタとして６ビットあればよい。このため、ｘポインタを（Ｘ５、Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）、ｙポインタを（Ｙ５、Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０）とすると、（Ｘ５、Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）および（Ｙ５、Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０）の値を指定することにより、４×４マクロブロックの画素のｘｙ座標をそれぞれ特定することができる。
【００２５】
そして、座標参照エリアＺＥ上で１６個分のマクロブロックの座標が特定されるものとすると、座標参照エリアＺＥ上で特定される１６個分のマクロブロックのマクロブロック番号に対応して１６個分の参照テーブルＴ０〜Ｔ１５が用意される。
そして、参照テーブルＴ０〜Ｔ１５には、ＭＢ参照エリアＭＥ上での各マクロブロックＭＢ０〜ＭＢ１５へのアクセス先が書き込まれる。ここで、ＭＢ参照エリアＭＥ上での各マクロブロックＭＢ０〜ＭＢ１５へのアクセス先は、例えば、ＭＢ参照エリアＭＥに格納されている各マクロブロックＭＢ０〜ＭＢ１５の先頭画素アドレスの上位ビットをそれぞれ用いることができる。
【００２６】
そして、読み出し対象となる画素のｘｙ座標を示すｘｙポインタが指定されると、図１のアドレス変換部７は、そのｘｙポインタに基づいてマクロブロック番号を算出する。そして、マクロブロック番号が算出されると、アドレス変換部７は、そのマクロブロック番号に対応した参照テーブルＴ０〜Ｔ１５にアクセスし、その参照テーブルＴ０〜Ｔ１５に書き込まれているＭＢ参照エリアＭＥ上での各マクロブロックＭＢ０〜ＭＢ１５へのアクセス先を取得する。そして、メモリコントローラ４は、ＭＢ参照エリアＭＥ上での各マクロブロックＭＢ０〜ＭＢ１５へのアクセス先がアドレス変換部７にて得られると、そのアクセス先に従ってＭＢ参照エリアＭＥにアクセスすることにより、マクロブロックＭＢ０〜ＭＢ１５の画像データを読み出すことができる。
【００２７】
これにより、マクロブロック単位で参照テーブルＴ０〜Ｔ１５を用意することが可能となり、画像を構成する画素ごとに参照テーブルＴ０〜Ｔ１５を用意する必要がなくなるとともに、画像データへのアクセス先をマクロブロック単位で効率よく取得することが可能となる。このため、参照テーブルＴ０〜Ｔ１５の構築にかかる負担を軽減することが可能となるとともに、ＭＰＥＧなどの既存の規格に準拠しつつ、現在の画像と過去の画像とをマクロブロック単位で比較することが可能となり、画像圧縮処理にかかる時間を短縮することができる。
【００２８】
図３は、図１のＭＢ参照エリアＭＥにおけるアドレス変換方法の一例を示す図である。
図３において、ｘ座標を特定するためのｘポインタとして（Ｘ５、Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）、ｙ座標を特定するためのｙポインタとして（Ｙ５、Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０）が図２の座標参照エリアＺＥで指定されたものとする。そして、座標参照エリアＺＥにおいてｘｙ座標を特定するためのｘｙポインタが指定されると、データエレメント８は、これらのｘｙポインタの値（Ｙ５、Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０、Ｘ５、Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）をメモリコントローラ４に送る。
【００２９】
そして、メモリコントローラ４は、ｘｙポインタの値（Ｙ５、Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０、Ｘ５、Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）をトランスファーエレメント２から受け取ると、ローカルメモリ５における画像データへのアクセス先を算出する。ここで、ローカルメモリ５にアクセスするためのアドレスが１６ビットであるとすると、ローカルメモリ５のアドレスは（Ａ１５、Ａ１４、Ａ１３、Ａ１２、Ａ１１、Ａ１０、Ａ９、Ａ８、Ａ７、Ａ６、Ａ５、Ａ４、Ａ３、Ａ２、Ａ１、Ａ０）と表すことができる。そして、メモリコントローラ４は、座標参照エリアＺＥにおけるｘｙポインタの値（Ｙ５、Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０、Ｘ５、Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）を、ローカルメモリ５のアドレス（Ａ１５、Ａ１４、Ａ１３、Ａ１２、Ａ１１、Ａ１０、Ａ９、Ａ８、Ａ７、Ａ６、Ａ５、Ａ４、Ａ３、Ａ２、Ａ１、Ａ０）に変換することにより、ローカルメモリ５における画像データへのアクセス先を算出することができる。
【００３０】
ここで、各マクロブロックＭＢ０〜ＭＢ１５は１６×１６画素でそれぞれ構成されるので、各マクロブロックＭＢ０〜ＭＢ１５内における画素へのアクセス先を特定するには、各マクロブロックＭＢ０〜ＭＢ１５におけるｘ軸上の４ビット、ｙ軸上の４ビットの合計８ビット分あれば足りる。また、座標参照エリアＤＥで指定されるマクロブロックＭＢ０〜ＭＢ１５の個数は１６個なので、ローカルメモリ５に格納されるマクロブロックＭＢ０〜ＭＢ１５を特定するには、４ビット分あれば足りる。このため、座標参照エリアＤＥにおけるｘｙポインタの値（Ｙ５、Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０、Ｘ５、Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）のうち、ｙポインタの上位２ビット（Ｙ５、Ｙ４）およびｘポインタの上位２ビット（Ｘ５、Ｘ４）の合計４ビット分を用いることにより、各マクロブロックＭＢ０〜ＭＢ１５のマクロブロック番号を特定することができる。そして、各マクロブロックＭＢ０〜ＭＢ１５がローカルメモリ５に格納された時に、マクロブロックＭＢ０〜ＭＢ１５の先頭画素のアドレスの上位８ビットが（Ｂ７、Ｂ６、Ｂ５、Ｂ４、Ｂ３、Ｂ２、Ｂ１、Ｂ０）であった場合、プロセッサエレメント１は、各マクロブロックＭＢ０〜ＭＢ１５のマクロブロック番号に対応させて、そのマクロブロックＭＢ０〜ＭＢ１５の先頭画素のアドレスの上位８ビット（Ｂ７、Ｂ６、Ｂ５、Ｂ４、Ｂ３、Ｂ２、Ｂ１、Ｂ０）を参照テーブルＴ０〜Ｔ１５に予め格納することができる。
【００３１】
そして、メモリコントローラ４は、ｙポインタの上位２ビット（Ｙ５、Ｙ４）およびｘポインタの上位２ビット（Ｘ５、Ｘ４）を用いることにより、各マクロブロックＭＢ０〜ＭＢ１５のマクロブロック番号を特定すると、そのマクロブロック番号に対応した参照テーブルＴ０〜Ｔ１５を参照する。そして、メモリコントローラ４は、そのマクロブロック番号に対応したマクロブロックＭＢ０〜ＭＢ１５の先頭画素のアドレスの上位８ビット（Ｂ７、Ｂ６、Ｂ５、Ｂ４、Ｂ３、Ｂ２、Ｂ１、Ｂ０）を参照テーブルＴ０〜Ｔ１５から取り出すことで、座標参照エリアＤＥにおけるｘｙポインタの値（Ｙ５、Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０、Ｘ５、Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）で特定される画素について、ローカルメモリ５上でのアドレスの上位８ビット（Ａ１５、Ａ１４、Ａ１３、Ａ１２、Ａ１１、Ａ１０、Ａ９、Ａ８）を得ることができる。
【００３２】
さらに、フレームメモリ３に格納されている画像データがマクロブロック単位でローカルメモリ５に移された場合には、各マクロブロックＭＢ０〜ＭＢ１５内における１６×１６画素分のｘｙ座標の位置関係はそのまま保存される。このため、座標参照エリアＤＥにおけるｘｙポインタの値（Ｙ５、Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０、Ｘ５、Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）のうち、ｙポインタの下位４ビット（Ｙ３、Ｙ２、Ｙ１、Ｙ０）およびｘポインタの下位４ビット（Ｘ３、Ｘ２、Ｘ１、Ｘ０）を組み合わせ、ローカルメモリ５上でのアドレスの下位８ビット（Ａ７、Ａ６、Ａ５、Ａ４、Ａ３、Ａ２、Ａ１、Ａ０）としてそのまま用いることにより、各マクロブロックＭＢ０〜ＭＢ１５内におけるローカルメモリ５上で画素のアクセス先を特定することができる。
【００３３】
この結果、座標参照エリアＤＥにおけるｘｙポインタの値（Ｙ５、Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０、Ｘ５、Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）が与えられると、ローカルメモリ５のアドレス（Ａ１５、Ａ１４、Ａ１３、Ａ１２、Ａ１１、Ａ１０、Ａ９、Ａ８、Ａ７、Ａ６、Ａ５、Ａ４、Ａ３、Ａ２、Ａ１、Ａ０）として、（Ｂ７、Ｂ６、Ｂ５、Ｂ４、Ｂ３、Ｂ２、Ｂ１、Ｂ０、Ｙ３、Ｙ２、Ｙ１、Ｙ０、Ｘ３、Ｘ２、Ｘ１、Ｘ０）という値を得ることができる。
【００３４】
これにより、各マクロブロックＭＢ０〜ＭＢ１５内における画素の位置を示す座標データ（Ｙ３、Ｙ２、Ｙ１、Ｙ０、Ｘ３、Ｘ２、Ｘ１、Ｘ０）をそのまま用いることで、ローカルメモリ５に保持されている画像データへのアクセス先のアドレスの下位ビット（Ａ７、Ａ６、Ａ５、Ａ４、Ａ３、Ａ２、Ａ１、Ａ０）を算出することが可能となる。このため、プロセッサエレメント１は、マクロブロック番号に対応した各マクロブロックＭＢ０〜ＭＢ１５の先頭画素のアドレスの上位ビット（Ｂ７、Ｂ６、Ｂ５、Ｂ４、Ｂ３、Ｂ２、Ｂ１、Ｂ０）のみを算出することで、参照テーブルＴ０〜Ｔ１５を構築することが可能となり、参照テーブルＴ０〜Ｔ１５の構築にかかる負荷を軽減しつつ、ローカルメモリ５に保持されている画像データにアクセスするためのアドレス（Ａ１５、Ａ１４、Ａ１３、Ａ１２、Ａ１１、Ａ１０、Ａ９、Ａ８、Ａ７、Ａ６、Ａ５、Ａ４、Ａ３、Ａ２、Ａ１、Ａ０）を座標データ（Ｙ５、Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０、Ｘ５、Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）に対応して算出することができる。
【００３５】
図４は、図２の参照テーブルＴ０〜Ｔ１５の構成例を示す図である。
図４において、参照テーブルＴ０〜Ｔ１５の設定はレジスタを通して行うことができる。そして、各参照テーブルＴ０〜Ｔ１５には、マクロブロックＭＢ０〜ＭＢ１５のマクロブロック番号をそれぞれ記述する領域が設けられている。また、各参照テーブルＴ０〜Ｔ１５には、“Ｆｉｌｌ  Ｅｎａｂｌｅ”を有効にするための領域（１ビット分）が設けられている。また、“Ｆｉｌｌ  Ｅｎａｂｌｅ”が有効な場合、マクロブロックＭＢ０〜ＭＢ１５を補填するためのフィルパターンを指定する領域（３ビット分）が設けられている。ここで、フィルパターンとしては、以下の画素のパターンを用いることができる。
【００３６】
“０００”：マクロブロックの左上隅の画素
“００１”：マクロブロックの右上隅の画素
“０１０”：マクロブロックの左下隅の画素
“０１１”：マクロブロックの右下隅の画素
“１００”：マクロブロックの上辺の画素
“１０１”：マクロブロックの左辺の画素
“１１０”：マクロブロックの右辺の画素
“１１１”：マクロブロックの下辺の画素
そして、参照テーブルＴ０〜Ｔ１５の“Ｆｉｌｌ  Ｅｎａｂｌｅ”が有効となっている場合、その参照テーブルＴ０〜Ｔ１５に対応したマクロブロックＭＢ０〜ＭＢ１５を、指定されたフィルパターンで補填することができる。
【００３７】
図５は、本発明の一実施形態に係るマクロブロックの補填方法を示す図である。
図５（ａ）において、図４の参照テーブルＴ０〜Ｔ１５の３ビット目が“１”、２−０ビット目が“０００”の場合、その参照テーブルＴ０〜Ｔ１５で指定されるマクロブロックＭＢ０〜ＭＢ１５を左上隅の画素で補填することができる。
また、図５（ｂ）において、図４の参照テーブルＴ０〜Ｔ１５の３ビット目が“１”、２−０ビット目が“１００”の場合、その参照テーブルＴ０〜Ｔ１５で指定されるマクロブロックＭＢ０〜ＭＢ１５を上辺の画素で補填することができる。
【００３８】
これにより、参照テーブルＴ０〜Ｔ１５を参照することでマクロブロックＭＢ０〜ＭＢ１５のパディング処理を実行することが可能となり、エリア外のマクロブロックが指定された場合においても、マクロブロックを補填することができる。
図６は、本発明の一実施形態に係るマクロブロックへのアクセス方法のその他の例を示す図である。
【００３９】
図６において、ＭＢ参照エリアＭＥには、１６個分のマクロブロックＭＢ０〜ＭＢ１５の画像データがマクロブロック単位で格納されるものとする。ここで、マクロブロックＭＢ０〜ＭＢ１５は１６×１６画素でそれぞれ構成されるものとし、１画素分の画像データに１バイト分だけ割り当てられているものとすると、各マクロブロックＭＢ０〜ＭＢ１５の画像データは２５６バイトとなる。
【００４０】
また、２×２のマクロブロックの画素の位置をｘｙ座標上で特定できるようにするため、座標参照エリアＤＥには、（０，０）から（３１，３１）までの座標を特定するための領域が用意されているものとする。
この場合、２×２のマクロブロックの画素のｘｙ座標をそれぞれ特定するには、ｘ座標を特定するためのｘポインタとして５ビット、ｙ座標を特定するためのｙポインタとして５ビットあればよい。このため、ｘポインタを（Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）、ｙポインタを（Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０）とすると、（Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）および（Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０）の値を指定することにより、２×２のマクロブロックの画素のｘｙ座標をそれぞれ特定することができる。
【００４１】
そして、座標参照エリアＤＥ上で４個分のマクロブロックの座標が特定されるものとすると、座標参照エリアＤＥ上で特定される４個分のマクロブロックのマクロブロック番号に対応して４個分の参照テーブルＴ０〜Ｔ３が用意される。そして、参照テーブルＴ０〜Ｔ３には、１６個のマクロブロックＭＢ０〜ＭＢ１５のうちの４個分の各マクロブロックＭＢ０〜ＭＢ１５についての参照エリアＭＥ上でのアクセス先が書き込まれる。ここで、ＭＢ参照エリアＭＥ上での各マクロブロックＭＢ０〜ＭＢ１５へのアクセス先は、例えば、ＭＢ参照エリアＭＥに格納されている各マクロブロックＭＢ０〜ＭＢ１５の先頭画素のアドレスの上位ビットをそれぞれ用いることができる。
【００４２】
そして、読み出し対象となる画素のｘｙ座標を示すｘｙポインタが指定されると、図１のアドレス変換部７は、そのｘｙポインタに基づいてマクロブロック番号を算出する。そして、マクロブロック番号が算出されると、アドレス変換部７は、そのマクロブロック番号に対応した参照テーブルＴ０〜Ｔ３にアクセスし、その参照テーブルＴ０〜Ｔ３に書き込まれているＭＢ参照エリアＭＥ上での各マクロブロックＭＢ０〜ＭＢ１５へのアクセス先を取得する。そして、メモリコントローラ４は、ＭＢ参照エリアＭＥ上での各マクロブロックＭＢ０〜ＭＢ１５へのアクセス先がアドレス変換部７にて得られると、そのアクセス先に従ってＭＢ参照エリアＭＥにアクセスすることにより、マクロブロックＭＢ０〜ＭＢ１５の画像データを読み出すことができる。
【００４３】
図７は、図１のＭＢ参照エリアＭＥにおけるアドレス変換方法のその他の例を示す図である。
図７において、ｘ座標を特定するためのｘポインタとして（Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）、ｙ座標を特定するためのｙポインタとして（Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０）が図２の座標参照エリアＤＥで指定されたものとする。そして、座標参照エリアＤＥにおいてｘｙ座標を特定するためのｘｙポインタが指定されると、トランスファーエレメント２は、これらのｘｙポインタの値（Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０、Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）をメモリコントローラ４に送る。
【００４４】
そして、メモリコントローラ４は、ｘｙポインタの値（Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０、Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）をトランスファーエレメント２から受け取ると、ローカルメモリ５における画像データへのアクセス先を算出する。ここで、ローカルメモリ５にアクセスするためのアドレスが１６ビットであるとすると、ローカルメモリ５のアドレスは（Ａ１５、Ａ１４、Ａ１３、Ａ１２、Ａ１１、Ａ１０、Ａ９、Ａ８、Ａ７、Ａ６、Ａ５、Ａ４、Ａ３、Ａ２、Ａ１、Ａ０）と表すことができる。そして、メモリコントローラ４は、座標参照エリアＤＥにおけるｘｙポインタの値（Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０、Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）を、ローカルメモリ５のアドレス（Ａ１５、Ａ１４、Ａ１３、Ａ１２、Ａ１１、Ａ１０、Ａ９、Ａ８、Ａ７、Ａ６、Ａ５、Ａ４、Ａ３、Ａ２、Ａ１、Ａ０）に変換することにより、ローカルメモリ５における画像データへのアクセス先を算出することができる。
【００４５】
ここで、各マクロブロックＭＢ０〜ＭＢ１５は１６×１６画素でそれぞれ構成されるので、各マクロブロックＭＢ０〜ＭＢ１５内における画素へのアクセス先を特定するには、各マクロブロックＭＢ０〜ＭＢ１５におけるｘ軸上の４ビット、ｙ軸上の４ビットの合計８ビット分あれば足りる。また、座標参照エリアＤＥで指定されるマクロブロックＭＢ０〜ＭＢ１５の個数は４個なので、ローカルメモリ５に格納されるマクロブロックＭＢ０〜ＭＢ１５を特定するには、２ビット分あれば足りる。このため、座標参照エリアＺＥにおけるｘｙポインタの値（Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０、Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）のうち、ｙポインタの上位１ビット（Ｙ４）およびｘポインタの上位１ビット（Ｘ４）の合計２ビット分を用いることにより、各マクロブロックＭＢ０〜ＭＢ１５のマクロブロック番号を特定することができる。そして、１６個のマクロブロックＭＢ０〜ＭＢ１５のうち４個分のマクロブロックＭＢ０〜ＭＢ１５がローカルメモリ５に格納された時に、そのマクロブロックＭＢ０〜ＭＢ１５の先頭画素のアドレスの上位８ビットが（Ｂ７、Ｂ６、Ｂ５、Ｂ４、Ｂ３、Ｂ２、Ｂ１、Ｂ０）であった場合、プロセッサエレメント１は、そのマクロブロックＭＢ０〜ＭＢ１５のマクロブロック番号に対応させて、そのマクロブロックＭＢ０〜ＭＢ１５の先頭画素のアドレスの上位８ビット（Ｂ７、Ｂ６、Ｂ５、Ｂ４、Ｂ３、Ｂ２、Ｂ１、Ｂ０）を参照テーブルＴ０〜Ｔ３に予め格納することができる。
【００４６】
そして、メモリコントローラ４は、ｙポインタの上位１ビット（Ｙ４）およびｘポインタの上位１ビット（Ｘ４）を用いることにより、各マクロブロックＭＢ０〜ＭＢ１５のマクロブロック番号を特定すると、そのマクロブロック番号に対応した参照テーブルＴ０〜Ｔ４を参照する。そして、メモリコントローラ４は、そのマクロブロック番号に対応したマクロブロックＭＢ０〜ＭＢ１５の先頭画素のアドレスの上位８ビット（Ｂ７、Ｂ６、Ｂ５、Ｂ４、Ｂ３、Ｂ２、Ｂ１、Ｂ０）を参照テーブルＴ０〜Ｔ３から取り出すことで、座標参照エリアＺＥにおけるｘｙポインタの値（Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０、Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）で特定される画素について、ローカルメモリ５上でのアドレスの上位８ビット（Ａ１５、Ａ１４、Ａ１３、Ａ１２、Ａ１１、Ａ１０、Ａ９、Ａ８）を得ることができる。
【００４７】
さらに、フレームメモリ３に格納されている画像データがマクロブロック単位でローカルメモリ５に移された場合には、各マクロブロックＭＢ０〜ＭＢ１５内における１６×１６画素分のｘｙ座標の位置関係はそのまま保存される。このため、座標参照エリアＺＥにおけるｘｙポインタの値（Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０、Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）のうち、ｙポインタの下位４ビット（Ｙ３、Ｙ２、Ｙ１、Ｙ０）およびｘポインタの下位４ビット（Ｘ３、Ｘ２、Ｘ１、Ｘ０）を組み合わせ、ローカルメモリ５上でのアドレスの下位８ビット（Ａ７、Ａ６、Ａ５、Ａ４、Ａ３、Ａ２、Ａ１、Ａ０）としてそのまま用いることにより、各マクロブロックＭＢ０〜ＭＢ１５内におけるローカルメモリ５上で画素のアクセス先を特定することができる。
【００４８】
この結果、座標参照エリアＤＥにおけるｘｙポインタの値（Ｙ４、Ｙ３、Ｙ２、Ｙ１、Ｙ０、Ｘ４、Ｘ３、Ｘ２、Ｘ１、Ｘ０）が与えられると、ローカルメモリ５のアドレス（Ａ１５、Ａ１４、Ａ１３、Ａ１２、Ａ１１、Ａ１０、Ａ９、Ａ８、Ａ７、Ａ６、Ａ５、Ａ４、Ａ３、Ａ２、Ａ１、Ａ０）として、（Ｂ７、Ｂ６、Ｂ５、Ｂ４、Ｂ３、Ｂ２、Ｂ１、Ｂ０、Ｙ３、Ｙ２、Ｙ１、Ｙ０、Ｘ３、Ｘ２、Ｘ１、Ｘ０）という値を得ることができる。
【図面の簡単な説明】
【００４９】
【図１】本発明の一実施形態に係る画像処理装置の概略構成を示すブロック図。
【図２】本発明の一実施形態に係るマクロブロックへのアクセス方法の一例を示す図。
【図３】本発明の一実施形態に係るアドレス変換方法の一例を示す図。
【図４】図２の参照テーブルＴ０〜Ｔ１５の構成例を示す図。
【図５】本発明の一実施形態に係るマクロブロックの補填方法を示す図。
【図６】本発明の一実施形態に係るマクロブロックへのアクセス方法のその他の例を示す図。
【図７】本発明の一実施形態に係るアドレス変換方法のその他の例を示す図。
【符号の説明】
【００５０】
１  プロセッサエレメント、２  トランスファーエレメント、３  フレームメモリ、４  メモリコントローラ、５  ローカルメモリ、６  バス、７  アドレス変換部、８  データエレメント、ＰＥ  座標管理エリア、ＤＥ  座標参照エリア、Ｔ  参照テーブル、ＭＥ  ＭＢ参照エリア
【図１】
2006268249.tif 000003
【図２】
2006268249.tif 000004
【図３】
2006268249.tif 000005
【図４】
2006268249.tif 000006
【図５】
2006268249.tif 000007
【図６】
2006268249.tif 000008
【図７】
2006268249.tif 000009