(57)【要約】【課題】データを配列した配列データを構成する各データをメモリに順次に書き込む処理と、指定された複数個のデータをメモリから並列に読み出す処理とを効率良く実行する。【解決手段】  画像上の任意の位置の周辺領域はＮ個（Ｎは２以上の整数）の画素から成る。周辺領域内の各画素に互いに異なる分類が付与されるように、画像上の各画素を画像上の位置に応じてＮ種類に分類する。画像上の各画素をＭ個単位（Ｍは２以上Ｎ以下の整数）に分割した区画毎にアドレスを与える。データ書込／読出装置（１）は、Ｎ種類の分類の全てと対応し、かつ、各々が対応する分類が異なる、Ｍ個のバンクメモリ（Ｂ１〜Ｍ）を備え、各画素について、画素の分類に対応するバンクメモリの、画素が属する区画に与えたアドレスに画素値を書き込み、周辺領域内の各画素について、画素の分類に対応するバンクメモリの、画素が属する区画に与えたアドレスから画素値を並列に読み出す。【選択図】図１
2015232860.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータを配列した配列データを記憶部に書き込み、Ｎ個（Ｎは２以上の整数）のデータを上記記憶部から読み出すデータ書込／読出装置であって、
上記配列データ上の任意の位置の処理対象領域はＮ個のデータから成り、
任意の位置の上記処理対象領域に含まれるＮ個のデータの各々に互いに異なる分類が付与されるように、上記配列データ上の各データが上記配列データ上の位置に応じて予めＮ種類に分類されており、
上記配列データ上の各データをＭ個（Ｍは２以上Ｎ以下の整数）単位に分割した部分毎にアドレスが付与されており、
Ｎ種類の分類の全てと対応し、かつ、各々が対応する分類が異なる、Ｍ個の上記記憶部と、
上記複数のデータの各々について、上記データの分類に対応する上記記憶部の、上記データが属する上記部分に付与したアドレスに順次に書き込む処理を実行する書込手段と、
上記処理対象領域に含まれるＮ個の各データについて、上記データの分類に応じて上記記憶部を特定するとともに、上記データが属する上記部分に付与したアドレスを特定し、当該記憶部の当該アドレスから上記データを並列に読み出す処理を、上記処理対象領域が指定される毎に実行する読出手段とを備えることを特徴とするデータ書込／読出装置。
【請求項２】
Ｍ＝Ｎである場合、
Ｎ種類の分類とＮ個の記憶部とが１対１に対応することを特徴とする請求項１に記載のデータ書込／読出装置。
【請求項３】
上記配列データは、複数の上記データを２次元に配列したものであり、
上記処理対象領域は、４個の上記データを含む２行２列から成る領域であり、
上記データは、偶数行かつ偶数列に配列したもの、偶数行かつ奇数列に配列したもの、奇数行かつ偶数列に配列したもの、および、奇数行かつ奇数列に配列したものの４種類に分類されることを特徴とする請求項１または２に記載のデータ書込／読出装置。
【請求項４】
上記配列データは、映像を構成するフレームであり、
上記データは、上記フレームを構成する画素の画素値であり、
上記映像に対して画素の補間を施す画像処理装置であって、
請求項１から３のいずれか１項に記載のデータ書込／読出装置が読み出した画素値を入力して、補間する画素の画素値を算出することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリへの書き込みと、メモリからの読み出しとを効率良く実行するデータ書込／読出装置等に関する。
【背景技術】
【０００２】
画像データの拡大、縮小、変形などの画像処理を行う場合、通常、画素の補間演算が必要となる。この補間演算の典型例は、近接する複数の画素（以下では「周辺画素」と表記する）の画素値を入力として１個の画素の画素値を補間するフィルタ演算であり、２次元線形補間フィルタ演算などが広く知られている。なお、画像データの拡大／縮小処理に関する従来技術として、ビデオメモリからライン単位に読み出した画素値に対してフィルタ演算を施す画像処理装置が、特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２９９１９１号公報（２００７年１１月１５日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
入力される映像データに対して上述した画像処理をリアルタイムに施し、画像処理後の映像データを表示装置などへ出力する場合、映像データのビデオメモリへの書き込み（キャプチャ）と比べて、ビデオメモリからの読み出しを高速に実行する必要がある。なぜならば、上述したフィルタ演算に用いる周辺画素の個数分の画素値を読み出すためである。例えば１回のフィルタ演算を行うにあたり４個の周辺画素を用いる場合、書き込み速度の４倍の読み出し速度が必要となる。
【０００５】
一方、ビデオメモリは、通常、ＲＡＭ（Random Access Memory）などで構成されており、その動作速度には上限がある。よって、読み出し速度を速めるにしても、その上限までしか速めることができない。それゆえ、書き込みに対して読み出しを高速に実行するために、画像処理全体のクロック速度を下げざるを得ない場合があった。
【０００６】
なお、特許文献１に開示された技術では、ライン単位かつライン順の読み出しに限られており、指定された任意の周辺画素を高速に読み出すことについては考慮されていない。
【０００７】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、複数個のデータをメモリから読み出す処理を、読み出しを並列化することにより効率良く行い、これにより、データを配列した配列データを構成する各データを複数のメモリに１つずつ書き込む処理と、上記読み出す処理とを、効率良く実行し、処理全体の高速化および効率化を図るデータ書込／読出装置等を提供することにある。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明の一態様に係るデータ書込／読出装置は、複数のデータを配列した配列データを記憶部に書き込み、Ｎ個（Ｎは２以上の整数）のデータを上記記憶部から読み出すデータ書込／読出装置であって、上記配列データ上の任意の位置の処理対象領域はＮ個のデータから成り、任意の位置の上記処理対象領域に含まれるＮ個のデータの各々に互いに異なる分類が付与されるように、上記配列データ上の各データが上記配列データ上の位置に応じて予めＮ種類に分類されており、上記配列データ上の各データをＭ個（Ｍは２以上Ｎ以下の整数）単位に分割した部分毎にアドレスが付与されており、Ｎ種類の分類の全てと対応し、かつ、各々が対応する分類が異なる、Ｍ個の上記記憶部と、上記複数のデータの各々について、上記データの分類に対応する上記記憶部の、上記データが属する上記部分に付与したアドレスに順次に書き込む処理を実行する書込手段と、上記処理対象領域に含まれるＮ個の各データについて、上記データの分類に応じて上記記憶部を特定するとともに、上記データが属する上記部分に付与したアドレスを特定し、当該記憶部の当該アドレスから上記データを並列に読み出す処理を、上記処理対象領域が指定される毎に実行する読出手段とを備えている。
【０００９】
上記の構成によれば、データは上述のとおりＮ種類に分類され、Ｍ個の記憶部は上述のとおりＮ種類の分類と対応している。その上で、（１）書き込み処理として、複数のデータの各々について、データの分類に対応する記憶部の、データが属する部分に付与したアドレスに順次に書き込み、（２）読み出し処理として、処理対象領域に含まれるＮ個の各データについて、上記データの分類に応じて上記記憶部を特定するとともに、上記データが属する部分に付与したアドレスを特定し、当該記憶部の当該アドレスからデータを並列に読み出す。
【００１０】
よって、書き込み処理では各データを順次に記憶部に書き込むのに対して、読み出し処理では記憶部から最大でＭ個のデータを並列に読み出す。したがって、従来であれば、Ｎ個のデータを読み出すにあたり、読み出し用クロックは、書き込み用クロックのＮ倍の速さが必要であったところ、本発明によれば最大Ｍ個のデータを並列に読み出すため、読み出し用クロックは、書き込み用クロックのＮ倍未満の速さで足りる。特に、Ｎ＝Ｍの場合、読み出し処理ではＮ個のデータを並列に読み出すことができるため、読み出し用クロックと書き込み用クロックとを同じ速度にすることができる。
【００１１】
それゆえ、従来は、背景技術の欄に記載したとおり処理全体のクロック速度を下げざるを得ない場合があったところ、本発明によれば、読み出し用クロックの速度が従来より低速で足りることから、その結果として、処理全体のクロック速度を下げざるを得ない状況は減少する。特に、Ｎ＝Ｍの場合、読み出し用クロックと書き込み用クロックとを同じ速度にすることができるため、処理全体のクロック速度を下げる必要が無くなる。
【００１２】
したがって、配列データを構成する各データをメモリに順次に書き込む処理と、指定された複数個のデータを当該メモリから並列に読み出す処理とを、処理全体のクロック速度を従来ほど下げることなく、効率良く実行することができる。これにより、読み出されたデータを処理対象とする後続工程の高速化および効率化を図ることができる。
【００１３】
なお、本発明の各態様に係るデータ書込／読出装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記データ書込／読出装置が備える各手段として動作させることにより上記データ書込／読出装置をコンピュータにて実現させるデータ書込／読出装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。さらに、本発明の各態様に係るデータ書込／読出装置は集積回路として実現してもよく、この場合には、上記集積回路を備えるチップなども本発明の範疇に入る。
【発明の効果】
【００１４】
本発明によれば、指定された複数個のデータを複数のメモリから並列に読み出すことにより読み出し処理を効率良く実行することができる。よって、データを配列した配列データを構成する各データを複数のメモリに１つずつ書き込む処理と、上記読み出し処理とを、効率良く実行することができる。したがって、処理全体のクロック速度を従来ほど下げることなく、処理全体の高速化および効率化を図ることができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態に係るデータ書込／読出装置を含む画像処理装置の構成例を示すブロック図である。
【図２】上記画像処理装置に含まれる補間処理部で用いる補間フィルタを説明する模式図である。
【図３】上記データ書込／読出装置が実行する書き込み処理に必要となる分類および区画の一例を示す模式図である。
【図４】（ａ）〜（ｄ）は、上記データ書込／読出装置が実行する書き込み処理後の各バンクメモリの格納例を示す模式図である。
【図５】（ａ）〜（ｄ）は、上記データ書込／読出装置が実行する読み出し処理におけるアドレスの特定パターンの一例を示す模式図である。
【図６】上記データ書込／読出装置が実行する書き込み処理に必要となる分類および区画の他の一例を示す模式図である。
【図７】上記データ書込／読出装置が実行する書き込み処理に必要となる分類および区画の他の一例を示す模式図である。
【図８】（ａ）〜（ｂ）は、上記データ書込／読出装置が実行する書き込み処理後の各バンクメモリの格納例を示す模式図である。
【図９】（ａ）〜（ｄ）は、上記データ書込／読出装置が実行する読み出し処理におけるアドレスの特定パターンの他の一例を示す模式図である。
【発明を実施するための形態】
【００１６】
本発明の一実施形態について、図１〜図９に基づいて説明すると以下のとおりである。
【００１７】
〔画像処理装置１０の構成例〕
図１を参照しながら、本実施形態に係るデータ書込／読出装置１を含む画像処理装置１０の構成例について説明する。図１は、画像処理装置１０の構成例を示すブロック図である。画像処理装置１０は、入力された映像に対して、拡大、縮小、変形などの画像処理をリアルタイムに施し、画像処理後の映像を表示装置（図示省略）などに出力する装置である。画像処理装置１０は、図１に示すとおり、座標データメモリ３０、データ書込／読出装置１、および、補間処理部４０を含んでいる。
【００１８】
座標データメモリ３０は、画素の座標変換に関するデータを記憶するＲＡＭ（Random Access Memory）などの記憶部である。具体的には、座標データメモリ３０は、各画素について、変換前（画像処理前）の座標と、変換後（画像処理後）の座標とを対応付けて記憶する。
【００１９】
次に、データ書込／読出装置１は、ＲＡＭなどの記憶部であるフレームメモリ２を備えており、さらに、フレームメモリ２への書き込み処理を実行する書き込み部３（書込手段）と、フレームメモリ２からの読み出し処理を実行する読み出し部５（読出手段）とを備えている。
【００２０】
書き込み処理を実行する書き込み部３は、入力された映像をフレーム単位にフレームメモリ２に書き込む。より具体的には、入力された映像を構成する各画素の画素値を、書き込み用クロック（図示省略）に従って動作する画素カウンタ４が示す順に（典型的には、画素の走査順に）、フレームメモリ２内に設けられた複数のバンクメモリに振り分けて書き込む。書き込み処理の詳細については後述する。なお、バンクメモリへ画素値を書き込むとき、および、バンクメモリから画素値を読み出すときは、バンクメモリの格納位置を示すアドレス（番地）を指定する。
【００２１】
読み出し処理を実行する読み出し部５は、座標データメモリ３０を参照して読み出し対象となる画素を特定するとともに、画素の補間処理に用いるＮ個（Ｎは２以上の整数）の画素（以下では「周辺画素」と称する）の画素値を各バンクメモリから読み出す。より具体的には、読み出し用クロック（図示省略）に従って座標データメモリ３０に格納されているデータを順次に参照して特定される周辺画素の画素値が書き込まれたバンクメモリおよびバンクメモリ内アドレスを特定し、該特定したバンクメモリの該特定したアドレスから画素値を並列に読み出す処理を、座標データメモリ３０を参照することによって読み出し対象となる画素が指定される毎に実行する。読み出し処理の詳細については後述する。
【００２２】
ここで、Ｎ個の周辺画素の並列読み出しを実現するためには、少なくとも２個のバンクメモリを設ける必要がある。そして、読み出しの並列度を最も高めるためには、周辺画素と同数個のバンクメモリを設ければよい。以下では、バンクメモリの個数をＭ個と表記し（Ｍは２以上かつＮ以下の整数）、Ｍ個のバンクメモリをＢ１、Ｂ２、・・・、ＢＭと表記する。バンクメモリの個数がＮ個の場合、読み出し部５は、読み出し用クロック単位に、Ｎ個の周辺画素の画素値の全てを、Ｎ個のバンクメモリから同時に並列に読み出す。
【００２３】
次に、補間処理部４０は、データ書込／読出装置１が読み出した周辺画素の画素値を入力として、画素値の補間処理を行う。この補間処理では周知の補間フィルタを用いる。周辺画素の個数が４個である場合、典型的には、下記式で表される２次元線形補間フィルタを用いる。下記式は、図２に示した４個の画素の画素値ｓ１、ｓ２、ｓ３、およびｓ４から、補間画素の画素値（ｆｉｌ＿ｘ）を求める式である。なお、ｐおよびｑは、補間画素の相対位置を示す０以上１未満のフィルタ係数である。
ｆｉｌ＿ｘ ＝（１−ｐ）＊（１−ｑ）＊ｓ１＋ｐ＊（１−ｑ）＊ｓ２
＋ｑ＊（１−ｐ）＊ｓ３＋ｐ＊ｑ＊ｓ４
【００２４】
以上で述べた構成により、画像処理装置１０は、入力された映像の各フレームを構成する画素の画素値をフレームメモリ内の複数のバンクメモリに振り分けて書き込むとともに、座標データメモリ３０を参照することによって特定される周辺画素の画素値を各バンクメモリから並列に読み出し、読み出した画素値を用いて補間処理を施した映像を出力する。
【００２５】
このとき、書き込み処理では、書き込み用クロック単位に、画素値を１個ずつバンクメモリに書き込む。一方、読み出し処理では、読み出し用クロック単位に、Ｍ個のバンクメモリから画素値を最大Ｍ個ずつ並列に読み出す。特に、Ｎ＝Ｍの場合、読み出し用クロック単位に、Ｎ個の周辺画素の画素値の全てをＮ個のバンクメモリから並列に読み出す。
【００２６】
なお、入力された映像に対してリアルタイムに画像処理を施すために、データ書込／読出装置１は、書き込み処理と読み出し処理とを、同期して並列に実行する。そのため、書き込み処理用の垂直同期信号と、読み出し処理用の垂直同期信号とは、周波数が同一である。なお、書き込み処理用の垂直同期信号と、読み出し処理用の垂直同期信号とを共用してもよい。
【００２７】
また、書き込み処理と読み出し処理とを同期できない場合、または、同期できるとしても処理速度が低速になる場合は、フレームメモリ２を２個設け、いわゆるダブルバッファを構成することが好ましい（図１では、２ａおよび２ｂと付した）。この場合、フレーム単位に、２個のうちの一方を書き込み部３による書き込み専用として用い、他方を読み出し部５による読み出し専用として用いる。そして、フレーム単位に、書き込み専用と読み出し専用とを交互に切り替える。これにより、書き込み処理と読み出し処理との競合を回避する。
【００２８】
〔書き込み処理〕
次に、書き込み処理について詳細に説明する。上述したとおり、読み出し処理では、読み出し用クロック単位に、周辺画素の画素値を各バンクメモリから並列に読み出す。特に、バンクメモリの個数がＮ個の場合、周辺画素の画素値の全てをＮ個のバンクメモリから同時に並列に読み出す。この読み出し処理を実現するために、書き込み処理の段階で、各画素の画素値を、適切なバンクメモリの、適切なアドレスに書き込む。そこで、各画素について、画素とバンクメモリとを予め適切に対応付け、さらに、画素とバンクメモリ内アドレスとを予め適切に対応付ける。
【００２９】
（画素とバンクメモリとの対応付け）
まず、画素とバンクメモリとの対応付けについて説明する。読み出し処理を考慮すると、画素の位置に基づいて、当該画素の画素値が書き込まれたバンクメモリを特定できる必要がある。また、読み出し速度を速めるためには、読み出すタイミングが同じである周辺画素の画素値を、可能な限り異なるバンクメモリに振り分けて書き込むことが好ましい。特に、Ｍ＝Ｎの場合、周辺画素の画素値の全てを、異なるバンクメモリに振り分けて書き込むことが好ましい。
【００３０】
そこで、各画素の位置に基づいて、画素とバンクメモリとの対応付けを行う。具体的には、各画素を、フレーム上の位置に応じて、周辺画素の個数と同数であるＮ種類に分類した上で、Ｎ種類の分類とＭ個のバンクメモリとを対応付ける。つまり、画素の分類によって、当該画素の画素値を書き込むバンクメモリを決める。ただし、下記の条件を満たすようにする。なお、以下では、１回の補間処理に用いるＮ個の周辺画素で構成されるフレーム上の領域を「周辺領域Ｒ」（特許請求の範囲の「処理対象領域」に対応）と表記する。周辺画素が２ピクセル×２ピクセルの４画素である場合、周辺領域Ｒは、この２ピクセル×２ピクセルの領域である。
【００３１】
（条件１）フレーム上の任意の位置の周辺領域Ｒが常にＮ種類の画素を含むように、各画素を分類する。言い換えれば、フレーム上の任意の位置の周辺領域Ｒに含まれるＮ個の画素の各々に互いに異なる分類が付与されるように、フレーム上の各画素をフレーム上の位置に応じて予めＮ種類に分類する。
【００３２】
（条件２）分類の各々は、いずれか１個のバンクメモリのみと対応付け、かつ、バンクメモリの各々は、少なくとも１種類の分類と重複なく対応付ける。言い換えれば、Ｍ個のバンクメモリは、Ｎ種類の分類の全てと対応し、かつ、各バンクメモリが対応する分類は互いに異なるようにする。なお、この条件下において、Ｍ＝Ｎのときは、分類とバンクメモリとは１対１に対応することに留意されたい。
【００３３】
上記２つの条件下において、Ｎ＝４の場合（つまり４種類に分類する場合）、典型的には、次に示すＣ１〜Ｃ４に分類する。（Ｃ１）偶数ラインかつ偶数ピクセルの画素、（Ｃ２）偶数ラインかつ奇数ピクセルの画素、（Ｃ３）奇数ラインかつ偶数ピクセルの画素、（Ｃ４）奇数ラインかつ奇数ピクセルの画素。そして、Ｍ＝４の場合（つまりバンクメモリが４個の場合）、分類Ｃ１〜Ｃ４と、バンクメモリＢ１〜Ｂ４とを、１対１に対応付ける。
【００３４】
（画素とアドレスとの対応付け）
次に、画素とアドレスとの対応付けについて説明する。読み出し時のアドレス計算の効率化を考慮し、読み出すタイミングが同じであり、かつ、異なるバンクメモリと対応づけられた画素には、可能な限り同じアドレスを対応付ける。
【００３５】
Ｍ＝Ｎの場合の対応付けについて説明する。まず、フレーム上の各画素を、Ｍ個単位に分割する。本実施形態では、このように分割した各々を「区画」（特許請求の範囲の「部分」に対応）と称することとする。この場合、１つの区画に含まれる画素の総数とバンクメモリの個数とは同じである。また、各区画は、周辺領域Ｒと同じ形状である。そして、各区画に、フレーム上の区画の位置に応じて定めたアドレスを付与する。そして、区画に含まれるＭ個の各画素に、当該区画に付与したアドレスを対応付ける。このように、区画によって、画素の画素値を書き込むアドレスを決める。なお、この対応付けによって、読み出し時のアドレス計算が効率化されることについては後述する。
【００３６】
Ｍ＜Ｎの場合についても同様に、読み出すタイミングが同じであり、かつ、異なるバンクメモリと対応付けられた画素に、可能な限り同じアドレスを対応付ける。Ｍ＜Ｎの場合の対応付けの一例については後述する。
【００３７】
なお、フレーム上の各画素をＭ個単位に分割した各々は２次元領域であるため、本実施形態ではこれらを「区画」と称することとしたが、後述するように、データ書込／読出装置１が、複数のデータを配列した配列データを処理対象とする場合、当該配列データ上の各データをＭ個単位に分割した各々は２次元領域とは限らないため、これらについては「区画」に代えて「部分」と称する。
【００３８】
（対応付けの具体例）
次に、図３を参照しながら、上述した対応付けの具体例について説明する。図３は、分類および区画の一例を示す模式図である。ここでは、Ｎ＝Ｍ＝４であり、周辺画素は２ピクセル×２ピクセル（２行×２列）の４画素であるものとして説明する。
【００３９】
同図に示す例では、各画素を、Ｐｊｋと表記した（ｊは画素の垂直方向（縦方向）の位置を示す０以上ｖ未満の整数、ｖは垂直方向の総ライン数、ｋは画素の水平方向（横方向）の位置を示す０以上ｈ未満の整数、ｈは水平方向の総ピクセル数）。そして、各画素Ｐｊｋを、上述したＣ１〜Ｃ４の４種類に分類する。そして、分類Ｃ１〜Ｃ４を、それぞれ、バンクメモリＢ１〜Ｂ４と１対１に対応付ける。
【００４０】
次に、各画素Ｐｊｋを２ピクセル×２ピクセルの４個単位に分割する区画Ｓｒ／ｔを設ける（ｒは区画の垂直方向の位置を示す０以上０．５ｖ未満の整数の２進数表記、ｔは区画の水平方向の位置を示す０以上０．５ｈ未満の整数の２進数表記）。そして、各区画Ｓｒ／ｔに、ｒおよびｔから一意に定まるアドレスを付与する。つまり、区画の垂直方向および水平方向の位置に応じて一意に定まるアドレスを付与する。当該アドレスを、説明の便宜上、「ｒ／ｔ」と表記する。例えば、区画Ｓ００／００にアドレス「００／００」を付与し、区画Ｓ００／０１にアドレス「００／０１」を付与し、区画Ｓ０１／００にアドレス「０１／００」を付与し、区画Ｓ０１／０１にアドレス「０１／０１」を付与する。
【００４１】
なお、各区画Ｓｒ／ｔに、区画の位置に応じて一意に定まるアドレスを付与することにより、読み出し時のアドレス計算の効率化が可能となる。この詳細については後述する。
【００４２】
以上で述べたとおりに、分類とバンクメモリとを対応付け、かつ、区画にアドレスを付与することにより、各画素Ｐｊｋについて、対応するバンクメモリおよびアドレスが一意に定まる。
【００４３】
（書き込みの具体例）
以上で述べた対応付けに従って書き込み処理を行うことにより、図４に示すとおりに、各画素Ｐｊｋの画素値が各バンクメモリに書き込まれる。図４の（ａ）〜（ｄ）は、書き込み処理後の各バンクメモリにおける格納例を示す模式図である。図４の（ａ）はバンクメモリＢ１における格納例を示しており、画素Ｐ００の画素値が、バンクメモリＢ１のアドレス「００／００」に書き込まれたことを示している。画素Ｐ００は、分類がＣ１であり区画Ｓ００／００に含まれるからである。同様に、画素Ｐ０２の画素値は、バンクメモリＢ１のアドレス「００／０１」に書き込まれる。画素Ｐ０２は分類がＣ１であり区画Ｓ００／０１に含まれるからである。同様に、画素Ｐ０４の画素値は、バンクメモリＢ１のアドレス「００／１０」に書き込まれる。画素Ｐ０４は分類がＣ１であり区画Ｓ００／１０に含まれるからである。その他の画素Ｐｊｋについても、分類および区画に従って、対応するバンクメモリの、対応するアドレスに画素値が書き込まれる。
【００４４】
同様に、図４の（ｂ）はバンクメモリＢ２における格納例を示しており、図４の（ｃ）はバンクメモリＢ３における格納例を示しており、図４の（ｄ）はバンクメモリＢ４における格納例を示している。
【００４５】
〔読み出し処理〕
次に、読み出し処理について詳細に説明する。読み出しを行うためには、読み出し対象となる周辺画素の画素値が書き込まれたバンクメモリおよびアドレスを特定する必要がある。なお、周辺画素は、座標データメモリ３０を参照することによって特定されることから、フレーム上の任意の位置の周辺画素が読み出し対象となることに留意されたい。
【００４６】
（バンクメモリの特定）
まず、バンクメモリの特定方法について説明する。各画素は、上述したとおりに、その位置に応じて分類されており、各分類はバンクメモリと対応付けられている。よって、周辺画素の各々について、画素の位置に応じた分類に対応するバンクメモリを、画素値を読み出すバンクメモリとして特定する。
【００４７】
（アドレスの特定）
次に、アドレスの特定方法について説明する。ここでは、Ｎ＝Ｍ＝４であり、周辺画素は２ピクセル×２ピクセルの４画素であるものとして説明する。なお、２ピクセル×２ピクセルの周辺画素のうちの左上の画素を、以下では「基準画素」と表記する。
【００４８】
周辺領域Ｒは、フレーム上の任意の位置の２ピクセル×２ピクセルの領域であり、一方、各区画は、フレーム上の各画素を２ピクセル×２ピクセルの４個単位に分割した領域である。よって、周辺領域Ｒと区画との位置関係には４通りのパターンがあり、各パターンに応じて周辺画素のアドレスが一意に定まる。図５を参照しながら周辺画素のアドレスの特定パターンについて説明する。図５の（ａ）〜（ｄ）は、読み出し処理における周辺画素のアドレスの特定パターンを示す模式図である。
【００４９】
＜パターン１＞周辺領域Ｒが１つの区画と重なる場合
図５の（ａ）を参照しながらパターン１について説明する。Ｐ００、Ｐ０１、Ｐ１０、Ｐ１１が周辺画素である。Ｐ００が基準画素であり、その分類がＣ１である。この場合、同図に示すとおり、周辺領域Ｒは１つの区画と完全に重なっており、周辺領域Ｒに含まれる周辺画素は全て当該区画に含まれる。したがって、パターン１の場合、周辺画素のアドレスは全て同じであり、そのアドレスは、周辺領域Ｒと重なる区画に付与したアドレスである。同図に示す例では、画素Ｐ００、Ｐ０１、Ｐ１０、Ｐ１１のアドレスは、全て、区画Ｓ００／００に付与した「００／００」である。このように、パターン１では、周辺画素のアドレスの特定が１回で済むため、アドレス計算の効率化が図られる。
【００５０】
＜パターン２＞周辺領域Ｒが水平方向に隣接する２つの区画にまたがる場合
図５の（ｂ）を参照しながらパターン２について説明する。Ｐ０１、Ｐ０２、Ｐ１１、Ｐ１２が周辺画素である。Ｐ０１が基準画素であり、その分類がＣ２である。この場合、同図に示すとおり、周辺領域Ｒは、水平方向に隣接する２つの区画にまたがっており、周辺領域Ｒは当該２つの区画を含んでいる。したがって、パターン２の場合、周辺画素のアドレスは２つである。周辺領域Ｒの左半分に含まれる周辺画素のアドレスは、周辺領域Ｒの左半分と重なる区画に付与したアドレスであり、また、周辺領域Ｒの右半分に含まれる周辺画素のアドレスは、周辺領域Ｒの右半分と重なる区画に付与したアドレスである。同図に示す例では、画素Ｐ０１およびＰ１１のアドレスは、区画Ｓ００／００に付与したアドレス「００／００」であり、画素Ｐ０２およびＰ１２のアドレスは、区画Ｓ００／０１に付与したアドレス「００／０１」である。このように、パターン２では、周辺画素のアドレスの特定が２回で済むため、アドレス計算の効率化が図られる。
【００５１】
なお、上述したとおり、区画に付与したアドレスは、区画の垂直方向および水平方向の位置に応じて一意に定めた。したがって、パターン２にて特定すべき２つのアドレスのうち一方のアドレスが特定されれば、当該特定されたアドレスから、水平方向の位置を１つずらしたアドレスを、もう一方のアドレスとして算出してもよい。
【００５２】
＜パターン３＞周辺領域Ｒが垂直方向に隣接する２つの区画にまたがる場合
図５の（ｃ）を参照しながらパターン３について説明する。Ｐ１０、Ｐ１１、Ｐ２０、Ｐ２１が周辺画素である。Ｐ１０が基準画素であり、その分類がＣ３である。この場合、同図に示すとおり、周辺領域Ｒは、垂直方向に隣接する２つの区画にまたがっており、周辺領域Ｒは当該２つの区画を含んでいる。したがって、パターン３の場合、周辺画素のアドレスは２つである。周辺領域Ｒの上半分に含まれる周辺画素のアドレスは、周辺領域Ｒの上半分と重なる区画に付与したアドレスであり、また、周辺領域Ｒの下半分に含まれる周辺画素のアドレスは、周辺領域Ｒの下半分と重なる区画に付与したアドレスである。同図に示す例では、画素Ｐ１０およびＰ１１のアドレスは、区画Ｓ００／００に付与したアドレス「００／００」であり、画素Ｐ２０およびＰ２１のアドレスは、区画Ｓ０１／００に付与したアドレス「０１／００」である。このように、パターン３では、周辺画素のアドレスの特定が２回で済むため、アドレス計算の効率化が図られる。
【００５３】
なお、パターン２と同様に、パターン３にて特定すべき２つのアドレスのうち一方のアドレスが特定されれば、当該特定されたアドレスから、垂直方向の位置を１つずらしたアドレスを、もう一方のアドレスとして算出してもよい。
【００５４】
＜パターン４＞周辺領域Ｒが隣接する４つの区画にまたがる場合
図５の（ｄ）を参照しながらパターン４について説明する。Ｐ１１、Ｐ１２、Ｐ２１、Ｐ２２が周辺画素である。Ｐ１１が基準画素であり、その分類がＣ４である。この場合、同図に示すとおり、周辺領域Ｒは、隣接する４つの区画にまたがっており、周辺領域Ｒは当該４つの区画を含んでいる。したがって、パターン４の場合、周辺画素のアドレスは４つである。周辺領域Ｒの左上に含まれる周辺画素のアドレスは、周辺領域Ｒの左上と重なる区画に付与したアドレスである。また、周辺領域Ｒの右上に含まれる周辺画素のアドレスは、周辺領域Ｒの右上と重なる区画に付与したアドレスである。また、周辺領域Ｒの左下に含まれる周辺画素のアドレスは、周辺領域Ｒの左下と重なる区画に付与したアドレスである。また、周辺領域Ｒの右下に含まれる周辺画素のアドレスは、周辺領域Ｒの右下と重なる区画に付与したアドレスである。同図に示す例では、画素Ｐ１１のアドレスは、区画Ｓ００／００に付与したアドレス「００／００」であり、画素Ｐ１２のアドレスは、区画Ｓ００／０１に付与したアドレス「００／０１」であり、画素Ｐ２１のアドレスは、区画Ｓ０１／００に付与したアドレス「０１／００」であり、画素Ｐ２２のアドレスは、区画Ｓ０１／０１に付与したアドレス「０１／０１」である。このように、パターン４に限り、４回のアドレス特定が必要となる。
【００５５】
なお、パターン４にて特定すべき４つのアドレスのうち１つのアドレスが特定されれば、当該特定されたアドレスから、垂直方向の位置を１つずらしたアドレスと、水平方向の位置を１つずらしたアドレスと、垂直方向および水平方向の位置を１つずらしたアドレスとを、残り３つのアドレスとして算出してもよい。
【００５６】
（読み出しの具体例）
以上のとおりに、周辺画素の画素値が書き込まれたバンクメモリおよびアドレスを特定すれば、次に、該特定したバンクメモリにおける該特定したアドレスから、画素値を並列に読み出す処理を、読み出し用クロック単位に実行する。読み出しの具体例について図５の（ａ）〜（ｄ）に示した例を用いて説明する。
【００５７】
図５の（ａ）に示した例の場合、次に示す（１）〜（４）を並列に実行する。（１）画素Ｐ００の画素値を、画素Ｐ００の分類Ｃ１に対応するバンクメモリＢ１の、アドレス「００／００」から読み出す。（２）画素Ｐ０１の画素値を、画素Ｐ０１の分類Ｃ２に対応するバンクメモリＢ２の、アドレス「００／００」から読み出す。（３）画素Ｐ１０の画素値を、画素Ｐ１０の分類Ｃ３に対応するバンクメモリＢ３の、アドレス「００／００」から読み出す。（４）画素Ｐ１１の画素値を、画素Ｐ１１の分類Ｃ４に対応するバンクメモリＢ４の、アドレス「００／００」から読み出す。
【００５８】
図５の（ｂ）に示した例の場合、次に示す（５）〜（８）を並列に実行する。（５）画素Ｐ０１の画素値を、画素Ｐ０１の分類Ｃ２に対応するバンクメモリＢ２の、アドレス「００／００」から読み出す。（６）画素Ｐ０２の画素値を、画素Ｐ０２の分類Ｃ１に対応するバンクメモリＢ１の、アドレス「００／０１」から読み出す。（７）画素Ｐ１１の画素値を、画素Ｐ１１の分類Ｃ４に対応するバンクメモリＢ４の、アドレス「００／００」から読み出す。（８）画素Ｐ１２の画素値を、画素Ｐ１２の分類Ｃ３に対応するバンクメモリＢ３の、アドレス「００／０１」から読み出す。
【００５９】
図５の（ｃ）に示した例の場合、次に示す（９）〜（１２）を並列に実行する。（９）画素Ｐ１０の画素値を、画素Ｐ１０の分類Ｃ３に対応するバンクメモリＢ３の、アドレス「００／００」から読み出す。（１０）画素Ｐ１１の画素値を、画素Ｐ１１の分類Ｃ４に対応するバンクメモリＢ４の、アドレス「００／００」から読み出す。（１１）画素Ｐ２０の画素値を、画素Ｐ２０の分類Ｃ１に対応するバンクメモリＢ１の、アドレス「０１／００」から読み出す。（１２）画素Ｐ２１の画素値を、画素Ｐ２１の分類Ｃ２に対応するバンクメモリＢ２の、アドレス「０１／００」から読み出す。
【００６０】
図５の（ｄ）に示した例の場合、次に示す（１３）〜（１６）を並列に実行する。（１３）画素Ｐ１１の画素値を、画素Ｐ１１の分類Ｃ４に対応するバンクメモリＢ４の、アドレス「００／００」から読み出す。（１４）画素Ｐ１２の画素値を、画素Ｐ１２の分類Ｃ３に対応するバンクメモリＢ３の、アドレス「００／０１」から読み出す。（１５）画素Ｐ２１の画素値を、画素Ｐ２１の分類Ｃ２に対応するバンクメモリＢ２の、アドレス「０１／００」から読み出す。（１６）画素Ｐ２２の画素値を、画素Ｐ２２の分類Ｃ１に対応するバンクメモリＢ１の、アドレス「０１／０１」から読み出す。
【００６１】
〔Ｎ＝Ｍ＝１６の場合〕
上述した実施形態では、説明の簡便化のために、主に、Ｎ＝Ｍ＝４である場合を例に挙げて説明したが、他の例として、Ｎ＝Ｍ＝１６であり、周辺画素が４ピクセル×４ピクセルから成る１６画素である場合について説明する。
【００６２】
この場合、書き込み処理では、各画素を、１６個のバンクメモリ（Ｂ１〜Ｂ１６）に振り分けて書き込む。このとき、画素の分類としては、例えば図６に示すように、４ピクセル×４ピクセルを１つの領域として、各領域内を１６種類に分類する（Ｃ１〜Ｃ１６）。そして、分類Ｃ１〜Ｃ１６と、バンクメモリＢ１〜Ｂ１６とを、１対１に対応付ける。画素とアドレスとの対応付けに際しては、Ｎ＝Ｍ＝４の場合と同様に、４ピクセル×４ピクセルの各区画に付与したアドレスを、区画内の画素に対応付ける。
【００６３】
次に、読み出し処理では、まず、周辺画素の分類に対応するバンクメモリを、画素値を読み出すバンクメモリとして特定する。そして、アドレスの特定方法は、基準画素の分類がＣ１〜Ｃ１６のいずれであるかに応じて１６通りのパターンがある。各パターンにおいて、Ｎ＝Ｍ＝４の場合と同様に、周辺領域Ｒと区画との重なり具合に応じて画素のアドレスを特定する。
【００６４】
〔Ｍ＜Ｎの場合〕
次に、Ｍ＜Ｎの一例について、図７を参照しながら説明する。ここでは、周辺画素は２ピクセル×２ピクセルから成る４画素（つまり、Ｎ＝４）であり、バンクメモリの個数は２個（つまり、Ｍ＝２）である場合について説明する。
【００６５】
（書き込み処理）
まず、画素とバンクメモリとの対応付けについて説明する。画素の分類としては、図３を用いて説明したとおり、典型的には４種類に分類する（Ｃ１〜Ｃ４）。そして、分類Ｃ１〜Ｃ４と、２個のバンクメモリＢ１およびＢ２とを対応付ける。例えば、分類Ｃ１およびＣ２と、バンクメモリＢ１とを対応付ける。また、分類Ｃ３およびＣ４と、バンクメモリＢ２とを対応付ける。
【００６６】
次に、画素とアドレスとの対応付けについて説明する。区画として、例えば図７に示すとおり、各画素Ｐｊｋを縦長の２ピクセル×１ピクセルの２個単位に分割する区画Ｓｕ／ｗを設ける（ｕは区画の垂直方向の位置を示す０以上０．５ｖ未満の整数の２進数表記、ｗは区画の水平方向の位置を示す０以上ｈ未満の整数の２進数表記）。そして、各区画Ｓｕ／ｗに、ｕおよびｗから一意に定まるアドレスを付与する。
【００６７】
以上で述べた対応付けに従って書き込み処理を行うことにより、図８に示すとおりに、各画素Ｐｊｋの画素値が各バンクメモリに書き込まれることとなる。図８の（ａ）はバンクメモリＢ１における格納例を示しており、図８の（ｂ）はバンクメモリＢ２における格納例を示している。まず、画素Ｐ００の画素値は、バンクメモリＢ１のアドレス「００／００」に書き込まれることを示している。画素Ｐ００は、分類がＣ１であり区画Ｓ００／００に含まれるからである。同様に、画素Ｐ０１の画素値は、バンクメモリＢ１のアドレス「００／０１」に書き込まれる。画素Ｐ０１は分類がＣ２であり区画Ｓ００／０１に含まれるからである。また、画素Ｐ１０の画素値は、バンクメモリＢ２のアドレス「００／００」に書き込まれる。画素Ｐ１０は分類がＣ３であり区画Ｓ００／００に含まれるからである。同様に、画素Ｐ１１の画素値は、バンクメモリＢ２のアドレス「００／０１」に書き込まれる。画素Ｐ１１は分類がＣ４であり区画Ｓ００／０１に含まれるからである。その他の画素Ｐｊｋについても、分類および区画に従って、対応するバンクメモリの、対応するアドレスに画素値が書き込まれる。
【００６８】
（読み出し処理）
次に、読み出し処理では、まず、読み出し対象となる周辺画素の各々について、画素の分類に対応するバンクメモリを、画素値を読み出すバンクメモリとして特定する。次に、周辺領域Ｒは、フレーム上の任意の位置の２ピクセル×２ピクセルの領域であり、一方、各区画は、フレーム上の各画素を縦長の２ピクセル×１ピクセルの２個単位に分割した領域であることから、周辺領域Ｒと区画との位置関係には２通りのパターンがあり、各パターンに応じて周辺画素のアドレスが一意に定まる。図９を参照しながら周辺画素のアドレスの特定パターンについて説明する。図９の（ａ）〜（ｄ）は、上述した２通りのパターンを示す模式図である。
【００６９】
＜パターン１＞周辺領域Ｒが水平方向に隣接する２つの区画にまたがる場合
図９の（ａ）および（ｂ）を参照しながら、パターン１について説明する。この場合、同図に示すとおり、周辺領域Ｒは、水平方向に隣接する２つの区画にまたがっており、周辺領域Ｒは当該２つの区画を含んでいる。したがって、パターン１の場合、周辺画素のアドレスは２つである。周辺領域Ｒの左半分に含まれる周辺画素のアドレスは、周辺領域Ｒの左半分と重なる区画に付与したアドレスであり、また、周辺領域Ｒの右半分に含まれる周辺画素のアドレスは、周辺領域Ｒの右半分と重なる区画に付与したアドレスである。
【００７０】
＜パターン２＞周辺領域Ｒが隣接する４つの区画にまたがる場合
図９の（ｃ）および（ｄ）を参照しながら、パターン２について説明する。この場合、同図に示すとおり、周辺領域Ｒは、隣接する４つの区画にまたがっており、周辺領域Ｒは当該４つの区画を含んでいる。したがって、パターン２の場合、周辺画素のアドレスは４つである。周辺領域Ｒの左上に含まれる周辺画素のアドレスは、周辺領域Ｒの左上と重なる区画に付与したアドレスである。また、周辺領域Ｒの右上に含まれる周辺画素のアドレスは、周辺領域Ｒの右上と重なる区画に付与したアドレスである。また、周辺領域Ｒの左下に含まれる周辺画素のアドレスは、周辺領域Ｒの左下と重なる区画に付与したアドレスである。また、周辺領域Ｒの右下に含まれる周辺画素のアドレスは、周辺領域Ｒの右下と重なる区画に付与したアドレスである。
【００７１】
以上のとおりに、周辺画素の画素値が書き込まれているバンクメモリおよびアドレスを特定すれば、次に、該特定したバンクメモリにおける該特定したアドレスから、画素値を並列に読み出す処理を、読み出し用クロック単位に実行する。図９の（ａ）に示した例の場合、次に示す（２１）〜（２２）を並列に実行し、かつ、次に示す（２３）〜（２４）を並列に実行する。この場合、２回の並列読み出しによって、周辺画素の画素値を読み出すこととなる。（２１）画素Ｐ００の画素値を、画素Ｐ００の分類Ｃ１に対応するバンクメモリＢ１の、アドレス「００／００」から読み出す。（２２）画素Ｐ１０の画素値を、画素Ｐ１０の分類Ｃ３に対応するバンクメモリＢ２の、アドレス「００／００」から読み出す。（２３）画素Ｐ０１の画素値を、画素Ｐ０１の分類Ｃ２に対応するバンクメモリＢ１の、アドレス「００／０１」から読み出す。（２４）画素Ｐ１１の画素値を、画素Ｐ１１の分類Ｃ４に対応するバンクメモリＢ２の、アドレス「００／０１」から読み出す。
【００７２】
図９の（ｂ）に示した例の場合、次に示す（２５）〜（２６）を並列に実行し、かつ、次に示す（２７）〜（２８）を並列に実行する。この場合も、２回の並列読み出しによって、周辺画素の画素値を読み出すこととなる。（２５）画素Ｐ０１の画素値を、画素Ｐ０１の分類Ｃ２に対応するバンクメモリＢ１の、アドレス「００／０１」から読み出す。（２６）画素Ｐ１１の画素値を、画素Ｐ１１の分類Ｃ４に対応するバンクメモリＢ２の、アドレス「００／０１」から読み出す。（２７）画素Ｐ０２の画素値を、画素Ｐ０２の分類Ｃ１に対応するバンクメモリＢ１の、アドレス「００／１０」から読み出す。（２８）画素Ｐ１２の画素値を、画素Ｐ１２の分類Ｃ３に対応するバンクメモリＢ２の、アドレス「００／１０」から読み出す。
【００７３】
図９の（ｃ）に示した例の場合、次に示す（２９）〜（３０）を並列に実行し、かつ、次に示す（３１）〜（３２）を並列に実行する。この場合も、２回の並列読み出しによって、周辺画素の画素値を読み出すこととなる。（２９）画素Ｐ１０の画素値を、画素Ｐ１０の分類Ｃ３に対応するバンクメモリＢ２の、アドレス「００／００」から読み出す。（３０）画素Ｐ２０の画素値を、画素Ｐ２０の分類Ｃ１に対応するバンクメモリＢ１の、アドレス「０１／００」から読み出す。（３１）画素Ｐ１１の画素値を、画素Ｐ１１の分類Ｃ４に対応するバンクメモリＢ２の、アドレス「００／０１」から読み出す。（３２）画素Ｐ２１の画素値を、画素Ｐ２１の分類Ｃ２に対応するバンクメモリＢ１の、アドレス「０１／０１」から読み出す。
【００７４】
図９の（ｄ）に示した例の場合、次に示す（３３）〜（３４）を並列に実行し、かつ、次に示す（３５）〜（３６）を並列に実行する。この場合も、２回の並列読み出しによって、周辺画素の画素値を読み出すこととなる。（３３）画素Ｐ１１の画素値を、画素Ｐ１１の分類Ｃ４に対応するバンクメモリＢ２の、アドレス「００／０１」から読み出す。（３４）画素Ｐ２１の画素値を、画素Ｐ２１の分類Ｃ２に対応するバンクメモリＢ１の、アドレス「０１／０１」から読み出す。（３５）画素Ｐ１２の画素値を、画素Ｐ１２の分類Ｃ３に対応するバンクメモリＢ２の、アドレス「００／１０」から読み出す。（３６）画素Ｐ２２の画素値を、画素Ｐ２２の分類Ｃ１に対応するバンクメモリＢ１の、アドレス「０１／１０」から読み出す。
【００７５】
〔効果〕
本発明によれば、書き込み処理にて、書き込み用クロック単位に、画素値を１個ずつバンクメモリに書き込む。一方、読み出し処理にて、読み出し用クロック単位に、Ｍ個のバンクメモリから最大Ｍ個の画素値を並列に読み出す。特に、Ｎ＝Ｍの場合、読み出し用クロック単位に、Ｎ個の周辺画素の画素値の全てをＮ個のバンクメモリから並列に読み出す。
【００７６】
したがって、書き込み処理と読み出し処理とを同期させる場合において、従来であれば、Ｎ個の周辺画素の画素値を読み出すにあたり、読み出し用クロックは、書き込み用クロックのＮ倍の速さが必要であったところ、本発明によれば最大Ｍ個の画素値を並列に読み出すため、読み出し用クロックは、書き込み用クロックのＮ倍未満の速さで足りる。特に、Ｎ＝Ｍの場合、読み出し用クロックと書き込み用クロックとを同じ速度にすることができる。
【００７７】
それゆえ、従来は、背景技術の欄に記載したとおり処理全体のクロック速度を下げなければならない場合があったところ、本発明によれば、読み出し用クロックの速度が従来より低速で足りることから、その結果として、画像処理装置１０全体のクロック速度を下げざるを得ない状況は減少する。特に、Ｎ＝Ｍの場合、読み出し用クロックと書き込み用クロックとを同じ速度にすることができるため、画像処理装置１０全体のクロック速度を下げる必要が無くなる。また、Ｎ個の周辺画素の画素値が、従来より高速かつ効率的に読み出されるため、書き込み処理と読み出し処理とを効率良く実行することができる。したがって、画像処理全体の高速化および効率化を図ることができる。
【００７８】
また、Ｎ＝Ｍの場合、読み出し用クロックと書き込み用クロックとを共用できるので、データ書込／読出装置１の回路設計および回路構築の容易化を実現することができる。
【００７９】
〔処理対象データ〕
上述した実施形態では、データ書込／読出装置１の処理対象データとして、画素を２次元行列に配列した２次元映像を例に挙げて説明したが、本発明はこれに限定されるものではなく、画素が３次元に配列した３Ｄグラフィックス映像に対しても本発明は適用可能である。
【００８０】
さらに、データ書込／読出装置１が処理対象とするデータは、複数のデータを配列した配列データであればよく、画像データに限定されるものではない。この配列データを処理対象とした場合の書き込み処理および読み出し処理について説明すると次のとおりである。なお、上述したとおり、配列データ上の各データをＭ個単位に分割した各々を、「部分」と称する。
【００８１】
まず、配列データ上の任意の位置の周辺領域Ｒに含まれるＮ個のデータの各々に互いに異なる分類が付与されるように、配列データ上の各データを配列データ上の位置に応じて予めＮ種類に分類する。そして、配列データ上の各データをＭ個単位に分割した部分毎にアドレスを付与する。そして、データ書込／読出装置１は、Ｎ種類の分類の全てと対応し、かつ、各々が対応する分類が異なるＭ個のバンクメモリＢ１〜Ｍと、書き込み部３と、読み出し部５とを備えている。書き込み部３は、複数のデータの各々について、データの分類に対応するバンクメモリの、当該データが属する上記部分に付与したアドレスに順次に書き込む処理を実行する。読み出し部５は、配列データ上の指定された位置の周辺領域Ｒに含まれるＮ個の各データについて、データの分類に応じてバンクメモリを特定するとともに、当該データが属する上記部分に付与したアドレスを特定し、当該バンクメモリの当該アドレスからデータを並列に読み出す処理を、周辺領域Ｒが指定される毎に実行する。
【００８２】
〔付記事項〕
データ書込／読出装置１（特に、書き込み部３および読み出し部５）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。ＣＰＵを用いて実現する場合、データ書込／読出装置１は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭなどを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００８３】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【００８４】
本発明は、データを配列した配列データをメモリへ書き込むとともに、指定された複数個のデータをメモリから読み取る情報処理装置に適用できる。特に、入力映像の拡大、縮小、変形などの画像処理をリアルタイムに施す画像処理装置に好適に適用できる。
【符号の説明】
【００８５】
１  データ書込／読出装置、２  フレームメモリ、３  書き込み部（書込手段）、５  読み出し部（読出手段）、１０  画像処理装置、３０  座標データメモリ、４０  補間処理部、Ｂ１〜ＢＭ  バンクメモリ（記憶部）、Ｐｊｋ  画素、Ｒ  周辺領域（処理対象領域）、Ｓｒ／ｔ  区画（部分）、Ｓｕ／ｗ  区画（部分）
【図１】
2015232860.tif 000003
【図２】
2015232860.tif 000004
【図３】
2015232860.tif 000005
【図４】
2015232860.tif 000006
【図５】
2015232860.tif 000007
【図６】
2015232860.tif 000008
【図７】
2015232860.tif 000009
【図８】
2015232860.tif 000010
【図９】
2015232860.tif 000011