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