(57)【要約】【課題】転送サイクルの短縮を図る。【解決手段】外部メモリに対して画像データのアクセスを行う画像データアクセス装置において、画像データの所定の画素ブロック域内の互いに隣接し、並列する複数の画素データが、それぞれ別個に、対応する記憶素子に保存されるようにアドレスが割り当てられた複数の外部メモリと、ラスタスキャンにより取得された並列する複数の画素データの少なくとも一つの座標位置から、それぞれの画素データに対応する外部メモリへのアクセス経路を選択するメモリ選択信号を出力する判断回路２０と、メモリ選択信号が入力された後に、複数の外部メモリへのアクセス経路を選択し、選択した後に並列する複数の画素データのアクセスを同一サイクルで行うメモリ選択部３０と、を有する画像データアクセス装置が提供される。このような装置により、画素データの外部メモリへの転送サイクルが短縮する。【選択図】図１
2008052522.tif 000002
【特許請求の範囲】
【請求項１】
外部メモリに対して画像データのアクセスを行う画像データアクセス装置において、
前記画像データの所定のブロック単位内における所定の画素ブロック域内の互いに隣接し、並列する複数の画素データが、それぞれ別個に、対応する記憶素子に保存されるようにアドレスが割り当てられた複数の外部メモリと、
ラスタスキャンにより取得された前記並列する複数の画素データの少なくとも一つの座標位置から、それぞれの前記画素データに対応する前記外部メモリへのアクセス経路を選択するメモリ選択信号を出力する判断回路と、
前記メモリ選択信号が入力された後に、前記複数の外部メモリへの前記アクセス経路を選択し、選択した後に前記並列する複数の画素データのアクセスを同一サイクルで行うメモリ選択部と、
を有することを特徴とする画像データアクセス装置。
【請求項２】
前記メモリ選択部は、前記並列する複数の画素データの中、少なくとも一つの画素データの水平座標及び垂直座標の下位１ビットのパリティにより、前記画素データに対応する前記外部メモリへの前記アクセス経路を選択することを特徴とする請求項１記載の画像データアクセス装置。
【請求項３】
前記パリティを、前記下位１ビットの排他的論理和により、決定することを特徴とする請求項２記載の画像データアクセス装置。
【請求項４】
前記アドレスの割り当てをする際に、前記所定のブロック単位を市松模様状に２分割し、分割された一方の画素データを第１の外部メモリに割り当て、分割された他方の画素データを第２の外部メモリに割り当てることを特徴とする請求項１記載の画像データアクセス装置。
【請求項５】
前記判断回路が排他的論理和回路を具備していることを特徴とする請求項１記載の画像データアクセス装置。
【請求項６】
外部メモリに対して画像データのアクセスを行う画像データアクセス方法において、
前記画像データの所定のブロック単位内における所定の画素ブロック域内の互いに隣接し、並列する複数の画素データを、それぞれ別個に、対応する複数の外部メモリの所定のアドレスに格納するステップと、
格納された前記並列する複数の画素データのアクセスを行う前に、前記並列する複数の画素データの座標位置をラスタスキャンにより取得するステップと、
取得した前記並列する複数の画素データの少なくとも一つの座標位置から、それぞれの前記画素データに対応する前記外部メモリへのアクセス経路を選択するステップと、
前記アクセス経路を選択した後に、前記複数の外部メモリに対して同一サイクルで、前記並列する複数の画素データのアクセスをするステップと、
を有することを特徴とする画像データアクセス方法。
【請求項７】
前記所定の画素ブロックが矩形状であることを特徴とする請求項６記載の画像データアクセス方法。
【請求項８】
前記アクセス経路を選択する際には、前記並列する複数の画素データの中、少なくとも一つの画素データの水平座標及び垂直座標の下位１ビットのパリティにより、前記画素データに対応する前記外部メモリへの前記アクセス経路が選択されることを特徴とする請求項６記載の画像データアクセス方法。
【請求項９】
前記パリティを、前記下位１ビットの排他的論理和により、決定することを特徴とする請求項８記載の画像データアクセス方法。
【請求項１０】
前記複数の外部メモリの前記所定のアドレスに格納する際に、前記所定のブロック単位を市松模様状に２分割し、分割された一方の画素データを第１の外部メモリに割り当て、分割された他方の画素データを第２の外部メモリに割り当てることを特徴とする請求項６記載の画像データアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像データアクセス装置及び画像データアクセス方法に関し、特に複数の外部メモリへのアクセス制御技術を利用した画像データアクセス装置及び画像データアクセス方法に関する。
【背景技術】
【０００２】
ＭＰＥＧ（Moving Picture Experts Group）などの動き予測を行う動画圧縮方式では、デコード処理時に、過去にデコードされた画像を参照画像として引用し、動き補償処理を行う。参照画像は、動き補償処理の精度を向上させるために、１枚に限らず、複数枚必要になる場合がある。このため、デコーダ装置には大容量の画像データを蓄積する外部メモリが搭載されている（例えば、特許文献１、２参照）。
【０００３】
また、動き補償処理をする際には、動き補償処理の精度を向上させるために、画像単位として、マクロブロック単位またはサブマクロブロック単位でフィルタリング処理を行う。特に、Ｈ．２６４規格では、動き補償処理をする際の参照画像に対し６−ｔａｐフィルタが必要になり、ブロック分割数が多くなる。
【０００４】
例えば、マクロブロック単位として８×８ブロックを選択した場合、ブロック分割数は、１マクロブロック単位で輝度・色差データを含め、６４ブロックに及ぶ。また、分割したブロック内からフィルタリング処理に必要な矩形状の画素ブロック（以下、単に矩形データと記す。）が外部メモリから逐次読み出される。
【０００５】
図７は８×８行列のブロック単位内の矩形データを示す図である。多様なサイズの矩形データの例として、図７には、サイズ（５×３）のブロックＡ域、サイズ（１×４)のブロックＢ域、サイズ（４×１）のブロックＣ域の３つの例を示している。ここで、図７中のｓ（Ｘ，Ｙ）（Ｘ：０〜７，Ｙ：０〜７）は、８×８行列のブロック域内の座標位置（Ｘ，Ｙ）に対応する画素データである。
【０００６】
このように動き補償処理をする際には、多様なサイズの矩形データを外部メモリから逐次読み出しフィルタリング処理を行っている。さらに、矩形データは大容量のデータであるため、高速にフィルタリング処理を行うには、外部メモリに対してブロック域内の画素データのアクセスを行う際に、矩形データ内の複数の画素データを組にして並列にアクセスしている。
【０００７】
ここで、外部メモリに対して、並列する複数の画素データのアクセスを行う原理について説明する。図８は外部メモリへの画素データの割り当てを示す図である。上述したように、並列する複数の画素データのアクセスを行うため、図８に示すように、外部メモリの１つのアドレスに隣接する２つの画素データを並列に割り当てている。こうすることにより、例えば、外部メモリのアドレス０には、ｓ（０，０）及びｓ（１，０）の画素データが格納され、これらの２つの画素データのアクセスが並列に行われ、アクセス時間、即ち転送サイクルの高速化を図ることができる。
【特許文献１】特開平１０−３０４３５４号公報
【特許文献２】特開２００４−２１５０４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、図７に示す矩形データの水平方向のサイズが奇数の場合、即ち、組にした並列の画素データ内部に矩形データ領域の境界がある場合、外部メモリとの間に不必要な画素データの転送サイクルが発生する。その理由を以下に説明する。
【０００９】
図９は矩形データの外部メモリとの転送サイクルを示す図である。この中で、図９（Ａ）はブロックＡ域の画素データの外部メモリとの転送サイクルを示す図である。外部メモリに対して、図７に示すブロックＡ域の全ての画素データのアクセスを行うには、並列する２つの画素データが同一の外部メモリの同アドレスに割り当てられているため、図９（Ａ）に示すように、９回の転送サイクルで、ブロックＡ域の矩形データのアクセスを行う必要がある。しかし、図９（Ａ）に示すｓ（０，１）、ｓ（０，２）、ｓ（０，３）は、ブロックＡ域外の画素データであり、これらの画素データが転送サイクルに含まれていることが分かる。
【００１０】
また、図９（Ｂ）はブロックＢ域内の画素データの外部メモリとの転送サイクルを示す図である。図７に示すブロックＢ域の全ての画素データのアクセスを行うには、並列する２つの画素データが同一の外部メモリの同アドレスに割り当てられているため、図９（Ｂ）に示すように、４回の転送サイクルで、ブロックＢ域の矩形データのアクセスを行う必要がある。しかし、図９（Ｂ）に示すｓ（７，４）、ｓ（７，５）、ｓ（７，６）、ｓ（７，７）は、ブロックＢ域外の画素データであり、これらの画素データが転送サイクルに含まれていることが分かる。
【００１１】
さらに、図９（Ｃ）はブロックＣ域内の画素データの外部メモリとの転送サイクルを示す図である。図７に示すブロックＣ域の全ての画素データのアクセスを行うには、並列する２つの画素データを同一の外部メモリの同アドレスに割り当てられているため、図９（Ｃ）に示すように、３回の転送サイクルで、ブロックＣ域の矩形データのアクセスを行う必要がある。しかし、図９（Ｃ）に示すｓ（０，６）、ｓ（５，６）は、ブロックＣ域外の画素データであり、これらの画素データが転送サイクルに含まれていることが分かる。
【００１２】
このように、隣り合うデータを同一の外部メモリの同アドレスに割り当てると、矩形データの水平方向のサイズが奇数の場合、外部メモリに対して不必要な画素データのアクセスが行われ、余分な画素データの転送サイクルが生じる。その結果、画素データの外部メモリとの転送速度の向上が図れないという問題が生じている。
【００１３】
本発明はこのような点に鑑みてなされたものであり、外部メモリに対して画素データのアクセスする際の転送サイクルを短縮させる画像データアクセス装置及び画像データアクセス方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明では上記課題を解決するために、外部メモリに対して画像データのアクセスを行う画像データアクセス装置において、前記画像データの所定のブロック単位内における所定の画素ブロック域内の互いに隣接し、並列する複数の画素データが、それぞれ別個に、対応する記憶素子に保存されるようにアドレスが割り当てられた複数の外部メモリと、ラスタスキャンにより取得された前記並列する複数の画素データの少なくとも一つの座標位置から、それぞれの前記画素データに対応する前記外部メモリへのアクセス経路を選択するメモリ選択信号を出力する判断回路と、前記メモリ選択信号が入力された後に、前記複数の外部メモリへの前記アクセス経路を選択し、選択した後に前記並列する複数の画素データのアクセスを同一サイクルで行うメモリ選択部と、を有することを特徴とする画像データアクセス装置が提供される。
【００１５】
このような画像データアクセス装置によれば、外部メモリに対して画像データのアクセスを行う画像データアクセス装置において、画像データの所定のブロック単位内における所定の画素ブロック域内の互いに隣接し、並列する複数の画素データが、それぞれ別個に、対応する記憶素子に保存されるように複数の外部メモリにアドレスが割り当てられ、ラスタスキャンにより取得された並列する複数の画素データの少なくとも一つの座標位置から、それぞれの画素データに対応する外部メモリへのアクセス経路を選択するメモリ選択信号が出力され、メモリ選択信号が入力された後に、複数の外部メモリへのアクセス経路が選択され、並列する複数の画素データのアクセスが同一サイクルで行われるようになる。
【００１６】
また、本発明では上記課題を解決するために、外部メモリに対して画像データのアクセスを行う画像データアクセス方法において、前記画像データの所定のブロック単位内における所定の画素ブロック域内の互いに隣接し、並列する複数の画素データを、それぞれ別個に、対応する複数の外部メモリの所定のアドレスに格納するステップと、格納された前記並列する複数の画素データのアクセスを行う前に、前記並列する複数の画素データの座標位置をラスタスキャンにより取得するステップと、取得した前記並列する複数の画素データの少なくとも一つの座標位置から、それぞれの前記画素データに対応する前記外部メモリへのアクセス経路を選択するステップと、前記アクセス経路を選択した後に、前記複数の外部メモリに対して同一サイクルで、前記並列する複数の画素データのアクセスをするステップと、を有することを特徴とする画像データアクセス方法が提供される。
【００１７】
このような画像データアクセス方法によれば、外部メモリに対して画像データのアクセスを行う画像データアクセス方法において、画像データの所定のブロック単位内における所定の画素ブロック域内の互いに隣接し、並列する複数の画素データが、それぞれ別個に、対応する複数の外部メモリの所定のアドレスに格納され、並列する複数の画素データのアクセスを行う前に、並列する複数の画素データの座標位置がラスタスキャンにより取得され、並列する複数の画素データの少なくとも一つの座標位置から、それぞれの画素データに対応する外部メモリへのアクセス経路が選択され、複数の外部メモリに対して同一サイクルで、並列する複数の画素データのアクセスが行われるようになる。
【発明の効果】
【００１８】
本発明では、外部メモリに対して画像データのアクセスを行う画像データアクセスにおいて、画像データの所定のブロック単位内における所定の画素ブロック域内の互いに隣接し、並列する複数の画素データを、それぞれ別個に、対応する複数の外部メモリの所定のアドレスに格納し、並列する複数の画素データのアクセスを行う前に、並列する複数の画素データの座標位置をラスタスキャンにより取得し、並列する複数の画素データの少なくとも一つの座標位置から、それぞれの画素データに対応する外部メモリへのアクセス経路を選択し、複数の外部メモリに対して同一サイクルで、並列する複数の画素データのアクセスを行うようにした。
【００１９】
これにより、外部メモリに対して画素データのアクセスする際の転送サイクルを短縮することができる画像データアクセスが実現可能になる。
【発明を実施するための最良の形態】
【００２０】
以下、本実施形態の詳細を、図面を参照しながら説明する。
最初に、画像データアクセスの概要について説明する。
図１は画像データアクセスの原理図を示すブロック図である。このブロック図は、外部メモリに対して隣接し、並列する複数の画素データのアクセスを同一サイクルで行う装置の原理図を表したものである。図１に示すように画像データアクセス装置は、複数の外部メモリ、判断回路、メモリ選択部を有している。また、多様なサイズの矩形データの例として、サイズ（５×３）のブロックＡ域、サイズ（１×４）のブロックＢ域、サイズ（４×１）のブロックＣ域の３つの例を示している。
【００２１】
複数の外部メモリは、例えばＳＲＡＭ（Static Random Access Memory）＃Ａ１０、ＳＲＡＭ＃Ｂ１１である。
ＳＲＡＭ＃Ａ１０、ＳＲＡＭ＃Ｂ１１には、画像データの所定のブロック単位内における所定の画素ブロック域の互いに隣接し、並列する複数の画素データが、それぞれ別個に、対応するＳＲＡＭ＃Ａ１０、ＳＲＡＭ＃Ｂ１１に保存されている。また、矩形データ内の画素データを所定のアドレスに書き込む機能を備えている。
【００２２】
このＳＲＡＭ＃Ａ１０、ＳＲＡＭ＃Ｂ１１にメモリ選択部３０からアクセスの要求が行われると、隣接し、並列する複数の画素データのアクセスが同一サイクルでメモリ選択部３０との間で行われる。
【００２３】
判断回路２０は、ブロックＡ域、ブロックＢ域、ブロックＣ域内の画素データの座標位置がラスタスキャンにより取得されると、並列する複数の画素データの少なくとも一つの座標位置から、それぞれの画素データに対応する外部メモリへのアクセス経路を選択する信号（以下、単にメモリ選択信号と記す。）をメモリ選択部３０に出力する。
【００２４】
例えば、それぞれの矩形データ内の画素データの座標位置Ｘ、Ｙがラスタスキャンにより取得されると、並列する複数の画素データの少なくとも一つの座標位置の下位１ビットの情報（Ｘ［０］，Ｙ［０］）が判断回路２０に入力され、それぞれの画素データに対応するメモリ選択信号をメモリ選択部３０へ出力する。
【００２５】
メモリ選択部３０は、判断回路２０からメモリ選択信号が入力された後に、複数の外部メモリへのアクセス経路を選択し、選択した後に並列する複数の画素データのアクセスを同一サイクルで行う。そして、読み出された画素データを基に、画像データの動画補償処理が行われる。
【００２６】
このような画像データアクセスによれば、複数の外部メモリに対して同一サイクルで、不必要な画素データのアクセスが行われることなく並列する複数の画素データへのアクセスを行うことができ、その結果、複数の外部メモリに対して画素データのアクセスする際の転送サイクルを短縮し、転送速度の向上を図ることができる。
【００２７】
次に、図１に示す画像データアクセスの原理について、その画像データアクセスを行う装置の具体的構成について説明する。
図２は画像データアクセス装置の要部構成を示すブロック図である。画像データアクセス装置は、ＳＲＡＭ＃Ａ１０、ＳＲＡＭ＃Ｂ１１と、判断回路２０と、メモリ選択部３０を有している。
【００２８】
ＳＲＡＭ＃Ａ１０、ＳＲＡＭ＃Ｂ１１には、画像データの所定のブロック単位内における所定の画素ブロック域の互いに隣接し、並列する複数の画素データが、それぞれ別個に、対応するＳＲＡＭ＃Ａ１０、ＳＲＡＭ＃Ｂ１１に保存されている。また、矩形データ内の画素データを所定のアドレスに書き込む機能を備えている。
【００２９】
このＳＲＡＭ＃Ａ１０、ＳＲＡＭ＃Ｂ１１にメモリ選択部３０から、アドレスを指定するための信号（ＡＤＲ＃Ａ，ＡＤＲ＃Ｂ）、制御信号（ＣＳ＃Ａ，ＣＳ＃Ｂ）が入力されると、隣接し、並列する複数の画素データのアクセスが同一サイクルでメモリ選択部３０との間で行われ、並列する複数の画素データ（ＲＤＴ＃Ａ，ＲＤＴ＃Ｂ）がメモリ選択部３０に出力される。ここで、制御信号（ＣＳ＃Ａ，ＣＳ＃Ｂ）は、対応するメモリへのアクセスが有効であることを示す信号である。
【００３０】
ここで、矩形データ内の画素データがＳＲＡＭ＃Ａ１０、ＳＲＡＭ＃Ｂ１１に保存される際のアドレスの割り当てについて説明する。
図３は８×８行列のブロック単位内の矩形データを示す図である。また、図４はＳＲＡＭ＃Ａ及びＳＲＡＭ＃Ｂに対する画素データのアドレス割り当てを示す図である。
【００３１】
画素データのＳＲＡＭ＃Ａ１０及びＳＲＡＭ＃Ｂ１１に対するアドレスの割り当ては、図３、図４に示すようにブロック単位内で市松模様状に２分割し、上下左右に隣り合う画素データがそれぞれ別々にＳＲＡＭ＃Ａ１０、ＳＲＡＭ＃Ｂ１１に割り当てるようにしている。即ち、図３中のハッチで示した画素データは、ＳＲＡＭ＃Ａ１０の所定のアドレスに割り当て、それ以外の画素データは、ＳＲＡＭ＃Ｂ１１の所定のアドレスに割り当てている。
【００３２】
このようなアドレスの割り当てをすることにより、複数の外部メモリに対して同一サイクルで、隣接し、並列する複数の画素データのアクセスが行われる（後述）。
次に、図２に示す判断回路２０は、矩形データ内の画素データの座標位置Ｘ、Ｙの下位１ビットの情報（Ｘ［０］，Ｙ［０］）が入力されると、メモリ選択信号をメモリ選択部３０に出力する。ここでの判断回路２０は、例えばＥＯＲゲート回路であり、座標位置Ｘ、Ｙの下位１ビットの排他的論理和を演算し、排他的論理和の結果によってＳＲＡＭ＃Ａ１０、ＳＲＡＭ＃Ｂ１１のアクセス経路を選択するメモリ選択信号をメモリ選択部３０へ出力する。
【００３３】
そして、メモリ選択部３０は、矩形データ内の画素データの座標位置Ｘ、Ｙ、制御信号（ＣＳ＃Ａ，ＣＳ＃Ｂ）、判断回路２０からのメモリ選択信号を受けた後、ＳＲＡＭ＃Ａ１０及びＳＲＡＭ＃Ｂ１１のアドレスを指定するための信号（ＡＤＲ＃Ａ，ＡＤＲ＃Ｂ）、制御信号（ＣＳ＃Ａ，ＣＳ＃Ｂ）をＳＲＡＭ＃Ａ１０及びＳＲＡＭ＃Ｂ１１へ出力し、画素データ（ＲＤＴ＃Ａ，ＲＤＴ＃Ｂ）をＳＲＡＭ＃Ａ１０及びＳＲＡＭ＃Ｂ１１から読み出し、画素データ（ＲＤＴ＃Ａ，ＲＤＴ＃Ｂ）をメモリ選択部３０に出力する。
【００３４】
このように、メモリ選択部３０は、判断回路２０から出力される選択信号によって、図３に示す所定の矩形データ内の画素データに対応する外部メモリを選択し、アドレスを指定することができる。そして、読み出された画素データを基に、画像データの動画補償処理が具体的に行われる。
【００３５】
次に、画像データアクセスを行う手順について説明する。
図５は画像データアクセス方法のフローチャートを示した図である。ここでは一例として、２つの外部メモリを用い、２つの並列する画素データを用いた場合の画像データアクセス方法について説明する。
【００３６】
先ず、動き補償処理をするために必要な画像データの所定のブロック内から所定のサイズの矩形状の画素ブロック（矩形データ）がマクロブロック単位から選択される（ステップＳ０）。次に、選択された矩形データ内の画素データについて、座標位置を走査するために、矩形データ内でラスタスキャン走査が行われる（ステップＳ１）。ラスタスキャン走査により矩形データ内の隣接する並列の第１の画素データ及び第２の画素データを１組とし、それぞれの座標位置（水平座標位置（Ｘ），垂直座標位置（Ｙ））が取得される（ステップＳ２）。そして、座標位置Ｘ、Ｙが判断回路２０、メモリ選択部３０に入力された後、並列の画素データの中、例えば、第１の画素データの水平座標位置（Ｘ）及び垂直座標位置（Ｙ）を共に２進数に換算し、それぞれの下位１ビットの値の排他的論理和が判断回路２０で演算される（ステップＳ３）。
【００３７】
次に、排他的論理和の演算結果に基づき、第１の画素データの水平座標及び垂直座標の下位１ビットのパリティが同一である場合と異なる場合で、複数の外部メモリのいずれかのアクセス経路がメモリ選択部３０で選択される。
【００３８】
例えば、排他的論理和が‘０’ならば第１の画素データは第１の外部メモリのアクセス経路が選択され（ステップＳ４Ａ）、排他的論理和が‘１’ならば第１の画素データは第２の外部メモリのアクセス経路が選択される（ステップＳ４Ｂ）。
【００３９】
そして、第２の画素データについては、第１の画素データとは別の外部メモリのアクセス経路が選択される。例えば、第１の画素データが第１の外部メモリのアクセス経路が選択された場合は、第２の画素データは第２の外部メモリのアクセス経路が選択され（ステップＳ５Ａ）、第１の画素データが第２の外部メモリのアクセス経路が選択された場合は、第２の画素データは第１の外部メモリのアクセス経路が選択される（ステップＳ５Ｂ）。
【００４０】
次いで、第１及び第２の外部メモリに対して、同一サイクルで第１及び第２の画素データのアクセスが行われる。即ち、第１の外部メモリとしてのＳＲＡＭ＃Ａ１０、第２の外部メモリとしてのＳＲＡＭ＃Ｂ１１に対して同一サイクルで第１及び第２の画素データのアクセスが行われる（ステップＳ６）。そして、読み出された画素データを基に、画像データの動画補償処理が具体的に行われる。
【００４１】
上記のようなフローチャートによれば、ブロック内の隣接する並列の画素データがそれぞれ別々の外部メモリの指定されたアドレスに同一サイクルでアクセスされる。これにより、複数の外部メモリに対して同一サイクルで、不必要な画素データのアクセスが行われることなく並列する複数の画素データへのアクセスを行うことができ、その結果、複数の外部メモリに対して画素データのアクセスする際の転送サイクルを短縮し、転送速度の向上を図ることができる。
【００４２】
次に、画像データアクセスを行う具体的な手順について、図５に示すフローチャートと共に説明する。ここでは一例として、２つのＳＲＡＭに対する２つの並列する画素データのアクセスの手順について説明する。
【００４３】
先ず、動き補償処理をするために必要な画像データの所定のブロック内から所定のサイズをした矩形状の画素ブロック（矩形データ）が選択される（ステップＳ０）。ここでは、図３に示す８×８行列のブロック内から、サイズ（５×３）のブロックＡ域、サイズ（１×４）のブロックＢ域、サイズ（４×１）のブロックＣ域が選択される。ここで、各ブロック内の記号ｓ（Ｘ，Ｙ）（Ｘ：０〜７，Ｙ：０〜７）は、８×８行列のブロック内の座標位置（Ｘ，Ｙ）に対応する画素データである。尚、各座標位置の画素データについては、ＳＲＡＭ＃Ａ１０またはＳＲＡＭ＃Ｂ１１のいずれかのアドレスに予め格納されている。
【００４４】
最初に、外部メモリに対するブロックＡ域の画素データのアクセス制御の手順を説明する。
ブロックＡ域内の画素データの座標位置を走査するために、ｓ（１，１）を開始位置とし、ブロックＡ域内のラスタスキャン走査が行われる（ステップＳ１）。
【００４５】
そして、座標位置は隣接する並列の画素データ、例えば第１の画素データとしてのｓ（１，１）と、これに隣接する第２の画素データとしてのｓ（２，１）を１組とし、ｓ（１，１）及びｓ（２，１）に対応したそれぞれの水平方向及び垂直方向の座標位置（Ｘ，Ｙ）がメモリ選択部３０に入力される。
【００４６】
続いて、ｓ（１，１）の水平座標位置及び垂直座標位置（２進数）の下位１ビットの情報（Ｘ［０］，Ｙ［０］）が判断回路２０に入力され、排他的論理和の結果がメモリ選択部３０へ入力される（ステップＳ３）。
【００４７】
即ち、画素データｓ（１，１）は、水平座標位置が‘１’で、垂直座標位置が‘１’なので、排他的論理和は‘０’になる。排他的論理和が‘０’の場合は、画素データｓ（１，１）については、第１の外部メモリとしてのＳＲＡＭ＃Ａ１０へのアクセス経路が選択される（ステップＳ４Ａ）。
【００４８】
ｓ（２，１）については、水平方向及び垂直方向の座標位置（Ｘ，Ｙ）の情報から、メモリ選択部３０において、ｓ（１，１）に隣接する画素データだと判断されると、ｓ（２，１）は、ｓ（１，１）と異なる外部メモリ、即ち第２の外部メモリとしてのＳＲＡＭ＃Ｂ１１のアクセス経路が選択される（ステップＳ５Ａ）。
【００４９】
そして、２つの画素データの選択経路が決定された後、ＳＲＡＭ＃Ａ１０に対するｓ（１，１）のアクセスと、ＳＲＡＭ＃Ｂ１１に対するｓ（２，１）のアクセスが同一サイクル行われる。
【００５０】
ブロックＡ域内のｓ（１，１）及びｓ（２，１）以外の画素データについても、隣接する２つの画素データを組にして、上記の手順でアクセスが行われる。
ブロックＢ域内の画素データについても、上記の手順で隣接する画素データのアクセスが同一サイクル行われる。その詳細についての説明は省略する。
【００５１】
次に、選択された矩形データがブロックＣ域の場合、外部メモリに対する画素データのアクセス制御の手順について説明する。
ブロックＣ域内の画素データの座標位置を走査するために、ｓ（１，６）を開始位置とし、ブロックＣ域内のラスタスキャン走査が行われる（ステップＳ１）。
【００５２】
そして、座標位置は隣接する並列の画素データ、例えばｓ（１，６）と、これに隣接するｓ（２，６）を１組とし、ｓ（１，６）及びｓ（２，６）に対応したそれぞれの水平方向及び垂直方向の座標位置（Ｘ，Ｙ）がメモリ選択部３０に入力される。
【００５３】
続いて、ｓ（１，６）の水平座標位置及び垂直座標位置（２進数）の下位１ビットの情報（Ｘ［０］，Ｙ［０］）が判断回路２０に入力され、排他的論理和の結果がメモリ選択部３０へ入力される（ステップＳ３）。
【００５４】
即ち、画素データｓ（１，６）の場合は、水平座標位置が‘１’で、垂直座標位置が‘１１０’なので、排他的論理和は‘１’になる。排他的論理和が‘１’の場合は、画素データｓ（１，６）については、ＳＲＡＭ＃Ｂ１１へのアクセス経路が選択される（ステップＳ４Ｂ）。
【００５５】
ｓ（２，６）については、水平方向及び垂直方向の座標位置（Ｘ，Ｙ）の情報からｓ（１，６）に隣接する画素データだと判断されると、ｓ（２，６）は、ｓ（１，６）と異なる外部メモリ、即ちＳＲＡＭ＃Ａ１０のアクセス経路が選択される（ステップＳ５Ｂ）。
【００５６】
そして、ＳＲＡＭ＃Ａ１０に対するｓ（２，６）のアクセスと、ＳＲＡＭ＃Ｂ１１に対するｓ（１，６）のアクセスが同一サイクル行われる。ブロックＣ域内のｓ（１，６）及びｓ（２，６）以外の画素データについても、隣接する２つの画素データを組にして、上記の手順でアクセスが行われる。
【００５７】
このように、矩形データ内の隣接し、並列する２つの画素データについて、それぞれのアドレスが割り当てられた外部メモリに対し、２つの画素データのアクセスが同一サイクルで行われる。
【００５８】
次に、画素データの外部メモリとのアクセス時間を短縮させる効果について、矩形データを外部メモリに転送する際の転送サイクルの比較例を用いて説明する。
図６は矩形データの外部メモリとの転送サイクルを示す図である。この中で、図６（Ａ）はブロックＡ域の矩形データの転送サイクルを示す図である。ＳＲＡＭ＃Ａ１０またはＳＲＡＭ＃Ｂ１１に対し、ブロックＡ域の全て画素データのアクセスを並列に行うためには、図６（Ａ）に示すように８回の転送サイクルで足りる。図９（Ａ）では、外部メモリに対し、ブロックＡ域内に含まれていない画素データｓ（０，１）、ｓ（０，２）、ｓ（０，３）のアクセスが行われたが、図６（Ａ）の転送サイクルでは、それらの画素データのアクセスがないことが分かる。また、図６（Ａ）の転送サイクル数は、図９（Ａ）の転送サイクル数に比べ、１回分減少している。
【００５９】
同様に、図６（Ｂ）はブロックＢ域の矩形データの転送サイクルを示す図である。
外部メモリに対し、ブロックＢ域の全ての画素データのアクセスを並列に行うためには、図６（Ｂ）に示すように、２回の転送サイクルで足りる。図９（Ｂ）では、外部メモリに対し、ブロックＢ域内に含まれていない画素データｓ（７，４）、ｓ（７，５）、ｓ（７，６）、ｓ（７，７）のアクセスが行われたが、図６（Ｂ）の転送サイクルでは、それらの画素データのアクセスがされていないことが分かる。また、図６（Ｂ）の転送サイクル数は、図９（Ｂ）の転送サイクル数に比べ、２回分減少している。
【００６０】
さらに、図６（Ｃ）はブロックＣ域の矩形データの転送サイクルを示す図である。外部メモリに対し、ブロックＣ域の全ての画素データのアクセスを並列に行うためには、図６（Ｃ）に示すように、２回の転送サイクルで足りる。図９（Ｃ）では、外部メモリに対し、ブロックＣ域内に含まれていない画素データｓ（０，６）、ｓ（５，６）のアクセスが行われたが、図６（Ｃ）に示す転送サイクルでは、それらの画素データのアクセスがされていないことが分かる。また、図６（Ｃ）の転送サイクル数は、図９（Ｃ）の転送サイクル数に比べ、１回分減少している。
【００６１】
即ち、本発明によれば、外部メモリに対し、多様な矩形データのアクセスする際、従来のアクセス方式に比べ、転送サイクルが減少することが分かる。
このような転送サイクルの減少効果は、次に示す式で一般的に表すことができる。即ち、本発明によれば、図９に示す従来の画素データの転送サイクルより、((POSX + SIZEX + 1)>>1 - POSX>>1)*SIZEY - (SIZEX * SIZEY + 1) >>1分の転送サイクルを削減することができる。ここで、‘>>’は右シフト演算子、‘-’は減算、‘+’は加算、‘*’は乗算を表している。また、‘POSX’は矩形データの水平方向の座標位置、SIZEXは矩形データの水平方向のサイズ、SIZEYは矩形データの垂直方向サイズである。
【００６２】
例えば、図３に示すブロックＡ域の例では、画素データの読み込み開始位置をｓ（１，１）とすると、POSX=1、SIZEX=101（２進数）、SIZEY=11（２進数）なので、((POSX + SIZEX + 1)>>1 - POSX>>1)*SIZEY - (SIZEX * SIZEY + 1) >>1の結果は、‘１’になり、１サイクル分が図９（Ａ）に示す転送サイクル（９回）に比べて減少することがこの式から分かる。
【００６３】
さらに、この式に従えば、例えばＨ．２６４で８×８のマクロブロック分割で１３×１３のサイズの輝度成分の参照画像にフィルタリングを行う場合、１ブロック辺り最大１３サイクルの処理サイクルの削減が実現される。
【００６４】
８×８のマクロブロック単位で最大１３サイクルの処理サイクルの削減が図れると、例えば１９２０×１０８８の１ピクチャサイズでは、前後の参照画像をフィルタリングした双方向予測で、８４８６４０サイクルの削減効果がある。
【００６５】
このように、本実施形態によれば、外部メモリに対する矩形データのアクセスが頻繁に行われる場合、外部メモリに対するアクセスに必要なトラフィックが軽減され処理速度の向上が図ることができる。
【００６６】
尚、上記の説明では、予めＳＲＡＭ＃Ａ１０、ＳＲＡＭ＃Ｂ１１に格納された画素データのアクセス方法について説明したが、外部からの画像データのＳＲＡＭ＃Ａ１０、ＳＲＡＭ＃Ｂ１１への書き込みについても、画像データの所定のブロック域内の画素データを、市松模様状に２分割し、上下左右に隣り合う画素データを別々の外部メモリに書き込むことができる。
【００６７】
即ち、外部からの画像データがメモリ選択部３０に入力されると、画像データの所定のブロック単位内における所定の画素ブロック域内の互いに隣接する並列の画素データの座標位置がメモリ選択部３０、判断回路２０に入力される。
【００６８】
そして、判断回路２０により、並列する画素データに対応する外部メモリが選択され、書き込み可能信号（ＷＥＮ＃Ａ，ＷＥＮ＃Ｂ）がＳＲＡＭ＃Ａ１０、ＳＲＡＭ＃Ｂ１１に入力され、並列する画素データ（ＷＤＴ＃Ａ，ＷＤＴ＃Ｂ）が対応するＳＲＡＭ＃Ａ１０のアドレス、ＳＲＡＭ＃Ｂ１１のアドレスに書き込まれる。
【００６９】
また、上記の説明では複数の外部メモリとして２つのＳＲＡＭ、また隣接する画素データとして、並列する２つの画素データを用いて説明したが、特にこの数に限らない。即ち、外部メモリは２以上でもよく、またＳＲＡＭ以外のメモリを用いてもよい。さらに、隣接する並列の画素データの画素数については、特に２つに限らない。互いに隣接する２つ以上の並列するデータを組にして、その数に対応する判断回路及び外部メモリを設けることで、より転送サイクルの短縮を図ることができる。
【図面の簡単な説明】
【００７０】
【図１】画像データアクセスの原理図を示すブロック図である。
【図２】画像データアクセス装置の要部構成を示すブロック図である。
【図３】８×８行列のブロック単位内の矩形データを示す図である（その１）。
【図４】ＳＲＡＭ＃Ａ及びＳＲＡＭ＃Ｂに対する画素データのアドレス割り当てを示す図である。
【図５】画像データアクセス方法のフローチャートを示した図である。
【図６】矩形データの外部メモリとの転送サイクルを示す図である（その１）。
【図７】８×８行列のブロック単位内の矩形データを示す図である（その２）。
【図８】外部メモリへの画素データの割り当てを示す図である。
【図９】矩形データの外部メモリとの転送サイクルを示す図である（その２）。
【符号の説明】
【００７１】
１０  ＳＲＡＭ＃Ａ
１１  ＳＲＡＭ＃Ｂ
２０  判断回路
３０  メモリ選択部
【図１】
2008052522.tif 000003
【図２】
2008052522.tif 000004
【図３】
2008052522.tif 000005
【図４】
2008052522.tif 000006
【図５】
2008052522.tif 000007
【図６】
2008052522.tif 000008
【図７】
2008052522.tif 000009
【図８】
2008052522.tif 000010
【図９】
2008052522.tif 000011