JP2019087209A - Image processing apparatus and image processing method - Google Patents
Image processing apparatus and image processing method Download PDFInfo
- Publication number
- JP2019087209A JP2019087209A JP2017217396A JP2017217396A JP2019087209A JP 2019087209 A JP2019087209 A JP 2019087209A JP 2017217396 A JP2017217396 A JP 2017217396A JP 2017217396 A JP2017217396 A JP 2017217396A JP 2019087209 A JP2019087209 A JP 2019087209A
- Authority
- JP
- Japan
- Prior art keywords
- writing
- read
- coordinate
- image data
- coordinates
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Image Input (AREA)
- Memory System (AREA)
Abstract
Description
本発明は、画像処理装置及び画像処理方法に関する。 The present invention relates to an image processing apparatus and an image processing method.
近年、デジタルカメラ等に用いられる撮像素子の画素数は、数千万画素に達している。撮像素子の画素数の増加に伴い、撮像素子によって取得される画像データのメモリへの書き込みや読み出しに要する時間も長くなる。メモリへの書き込みや読み出しに要する時間を短縮させるために、例えば、撮像素子からの画像データをメモリに書き込んだ直後に、その画像データをメモリから読み出して画像処理等を行うことが提案されている。具体的には、読み出しアドレスと書き込み中のアドレスとをメモリ転送制御部において管理し、書き込み処理と読み出し処理とを並行して実行し、画像データの書き込み開始から読み出し完了までの時間を短縮する制御方法が提案されている。このような制御は、追いかけ制御と称される。 In recent years, the number of pixels of an imaging device used for a digital camera or the like has reached tens of millions of pixels. As the number of pixels of the imaging device increases, the time required for writing and reading image data acquired by the imaging device to the memory also increases. In order to reduce the time required for writing to and reading from the memory, for example, it is proposed to read the image data from the memory immediately after writing the image data from the imaging device to the memory to perform image processing or the like. . Specifically, the memory transfer control unit manages the read address and the address being written, and executes the write process and the read process in parallel, thereby reducing the time from the start of the image data write to the completion of the read A method has been proposed. Such control is called chase control.
特許文献1には、読み出し処理が書き込み処理を追い越さないようにメモリアクセスを行う技術が開示されている。特許文献1では、読み出し回数をカウントするリードカウンタと、書き込み回数をカウントするライトカウンタとが用いられる。特許文献1では、読み出し回数と書き込み回数との差分が上限設定値を越えると、書き込み処理を停止する。一方、特許文献1では、読み出し回数と書き込み回数との差分が下限設定未満になると読み出し処理を停止する。
しかしながら、従来の技術においては、書き込み処理を行う際のブロックと読み出し処理を行う際のブロックとの間においてサイズ等が異なる場合には、メモリに対する追いかけ制御が必ずしも適確に行い得るとは限らない。 However, in the prior art, when the size and the like differ between the block when performing the writing process and the block when performing the reading process, the chase control to the memory can not necessarily be performed properly. .
本発明の目的は、メモリに対する追いかけ制御を適確に行い得る画像処理装置及び画像処理方法を提供することにある。 An object of the present invention is to provide an image processing apparatus and an image processing method capable of properly performing chase control on a memory.
実施形態の一態様によれば、第1のブロックを単位として画像データをメモリに書き込む書き込み部と、前記メモリから第2のブロックを単位として画像データを読み出す読み出し部であって、1フレームの前記画像データが前記書き込み部によって前記メモリに書き込まれている間に、前記書き込み部によって前記メモリに書き込み中のフレームの前記画像データの読み出し要求を出力し、前記読み出し要求が許可されたことに応じて前記メモリから前記画像データを読み出す、読み出し部と、前記メモリに書き込み中のフレームの前記画像データに含まれる複数の前記第1のブロックのうちの所定の位置の画素の書き込みが前記書き込み部によって行われたことに応じて、書き込みが完了した前記画素の位置に対応する書き込み座標を取得する書き込み座標取得部と、前記メモリに書き込み中のフレームにおける複数の前記第2のブロックのうちの読み出しの対象となる前記第2のブロックの位置に対応する読み出し座標を取得する読み出し座標取得部であって、読み出しの際のデータ転送長に応じて前記読み出し座標を更新する読み出し座標取得部と、前記書き込み座標取得部によって取得された前記書き込み座標と前記読み出し座標取得部によって取得された前記読み出し座標との位置関係に基づいて、前記読み出し部からの前記読み出し要求を許可するか否かを制御する制御部であって、前記書き込み座標と前記読み出し座標との位置関係が所定の条件を満たさない場合には、前記読み出し部からの前記読み出し要求を許可しないように制御する制御部とを有することを特徴とする画像処理装置が提供される。 According to one aspect of the embodiment, the writing unit writes the image data to the memory in units of the first block, and the reading unit reads the image data from the memory in units of the second block. While the image data is being written to the memory by the writing unit, the writing unit outputs a request to read the image data of the frame being written to the memory, and the read request is permitted. The reading unit reads the image data from the memory, and the writing unit writes a line for writing a pixel at a predetermined position among the plurality of first blocks included in the image data of the frame being written to the memory Corresponding to the position of the pixel where the writing is completed. A read coordinate acquisition unit for acquiring the read coordinates corresponding to the position of the second block to be read out of the plurality of second blocks in the frame being written to the memory; A read coordinate acquisition unit that updates the read coordinates according to a data transfer length at the time of reading, the write coordinates acquired by the write coordinate acquisition unit, and the read coordinates acquired by the read coordinate acquisition unit And a control unit that controls whether or not to permit the read request from the read unit based on the positional relationship with the case where the positional relationship between the writing coordinates and the reading coordinates does not satisfy a predetermined condition. And a control unit that controls not to permit the read request from the read unit. The image processing apparatus is provided to symptoms.
実施形態の他の態様によれば、それぞれが第1のブロックを単位として画像データをメモリに書き込む複数の書き込み部であって、第1の書き込み部と第2の書き込み部とを含む複数の書き込み部と、前記メモリから第2のブロックを単位として画像データを読み出す読み出し部であって、1フレームの前記画像データが前記複数の書き込み部によって前記メモリに書き込まれている間に、前記複数の書き込み部によって前記メモリに書き込み中のフレームの前記画像データの読み出し要求を出力し、前記読み出し要求が許可されたことに応じて前記メモリから画像データを読み出す読み出し部と、前記メモリに書き込み中のフレームの前記画像データに含まれる複数の前記第1のブロックのうちの所定の位置の画素の書き込みが前記第1の書き込み部によって行われたことに応じて、前記第1の書き込み部によって書き込みが完了した前記画素の位置に対応する書き込み座標を取得し、前記メモリに書き込み中のフレームの前記画像データに含まれる前記複数の第1のブロックのうちの所定の位置の画素の書き込みが前記第2の書き込み部によって行われたことに応じて、前記第2の書き込み部によって書き込みが完了した前記画素の位置に対応する書き込み座標を取得する、書き込み座標取得部と、前記メモリに書き込み中のフレームにおける複数の前記第2のブロックのうちの読み出しの対象となる前記第2のブロックの位置に対応する読み出し座標を取得する読み出し座標取得部と、前記書き込み座標取得部によって取得された前記書き込み座標と前記読み出し座標取得部によって取得された前記読み出し座標との位置関係に基づいて、前記読み出し部からの前記読み出し要求を許可するか否かを制御する制御部であって、前記書き込み座標と前記読み出し座標との位置関係が所定の条件を満たさない場合に、前記読み出し部からの前記読み出し要求を許可しないように制御する制御部とを有することを特徴とする画像処理装置が提供される。 According to another aspect of the embodiment, the plurality of writing units each writing the image data into the memory in units of the first block, the plurality of writings including the first writing unit and the second writing unit And a reading unit for reading image data from the memory in units of the second block, the plurality of writing being performed while the one frame of the image data is being written to the memory by the plurality of writing units. A reading unit for outputting a read request for the image data of the frame being written to the memory by the unit, and for reading the image data from the memory in response to the read request being permitted; The writing of the pixel at a predetermined position among the plurality of first blocks included in the image data is performed by the first In response to what has been done by the penetration unit, the first writing unit acquires writing coordinates corresponding to the position of the pixel for which writing has been completed, and is included in the image data of the frame being written to the memory Corresponds to the position of the pixel for which writing has been completed by the second writing unit in response to the writing of the pixel at a predetermined position of the plurality of first blocks being performed by the second writing unit Acquiring a writing coordinate, and acquiring a reading coordinate corresponding to a position of the second block to be read out of the plurality of second blocks in the frame being written to the memory Reading coordinate acquiring unit, the writing coordinates acquired by the writing coordinate acquiring unit, and the reading coordinate acquiring unit Therefore, the control unit controls whether to permit the read request from the read unit based on the positional relationship with the read coordinates acquired, and the positional relationship between the write coordinates and the read coordinates is An image processing apparatus is provided, including: a control unit that controls not to permit the read request from the read unit when a predetermined condition is not satisfied.
本発明によれば、メモリに対する追いかけ制御を適確に行い得る画像処理装置及び画像処理方法を提供することができる。 According to the present invention, it is possible to provide an image processing apparatus and an image processing method capable of appropriately performing chase control on a memory.
以下、添付図面を参照して、本発明を実施するための形態を説明する。なお、本発明は以下の実施形態に限定されるものではなく、その要旨を逸脱しない範囲において適宜変更可能である。また、以下で説明する図面において、同じ機能を有するものは同一の符号を付し、その説明を省略又は簡潔にすることもある。 Hereinafter, with reference to the accompanying drawings, modes for carrying out the present invention will be described. In addition, this invention is not limited to the following embodiment, In the range which does not deviate from the summary, it can change suitably. Further, in the drawings described below, components having the same function are denoted by the same reference numerals, and the description thereof may be omitted or simplified.
[第1実施形態]
第1実施形態の画像処理装置及び画像処理方法について図面を用いて説明する。図1は、本実施形態の画像処理装置100を示すブロック図である。本実施形態では、画像処理装置100が撮像素子を備える撮像装置である場合、より具体的には、画像処理装置100がデジタルカメラである場合を例に説明するが、これに限定されるものではない。
First Embodiment
An image processing apparatus and an image processing method according to the first embodiment will be described with reference to the drawings. FIG. 1 is a block diagram showing an
図1に示すように、画像処理装置100は、撮像素子102と、A/D変換部103と、補正処理部104と、不揮発性メモリ105と、不揮発性メモリ制御部106と、操作部107とを有している。画像処理装置100は、CPU(Central Processing Unit)108と、現像処理部109と、表示制御部110と、表示部111と、メモリ112と、メモリ制御部120とを更に有している。画像処理装置100には、結像光学系101が備えられる。結像光学系101は、画像処理装置100のボディから着脱可能であってもよいし着脱不能であってもよい。
As shown in FIG. 1, the
結像光学系(結像光学部)101は、撮像素子102の前段に配されている。結像光学系101は、レンズや絞り等を備えている。撮影の際、結像光学系101は、フォーカス調節や露出調節等を行い、撮像素子102に光学像を結像する。撮像素子(撮像部、撮像手段)102は、結像光学系101によって結像された光学像を電気信号(アナログ画像信号)に変換する光電変換機能を有している。即ち、撮像素子102の受光面(図示せず)には、光電変換部(光電変換素子)がマトリクス状に配されている。撮像素子102としては、例えば、CCDイメージセンサやCMOSイメージセンサ等が用いられる。撮像素子102は、例えば、1フレームが水平1920画素×垂直1080画素、60フレーム毎秒(fps)の動画データを出力する。A/D変換部103は、撮像素子102からのアナログ画像信号をデジタル画像信号に変換する。
An imaging optical system (imaging optical unit) 101 is disposed in front of the
CPU108は、画像処理装置100全体の制御を司るものであり、各機能ブロック(各処理部)に対しての動作の指示を行い、各種の制御や処理を実行する。メモリ112には、静止画像、動画像、音声等のデータが格納される。また、CPU(制御部、処理部)108を動作させる際に用いられる定数や、画像処理装置100によって実行されるプログラム等をメモリ112に格納することも可能である。メモリ112は、これらを格納するのに十分な記憶容量を備えている。また、メモリ112は、処理中の画像データ等を一時的に記憶する際にも用いられる。メモリ112としては、例えばDRAM(Dynamic Random Access Memory)が用いられる。
The
メモリ制御部120は、CPU108からの指示に応じて、メモリ112に対するデータの書き込みと読み出しを行う。不揮発性メモリ制御部106は、CPU108からの指示に応じて、不揮発性メモリ105に対するデータの書き込みや読み出しを行う。不揮発性メモリ105は、電気的に消去や記録が可能であり、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)等が用いられる。不揮発性メモリ105には、CPU108を動作させる際に用いられる定数や、プログラム等が記憶される。CPU108は、補正処理部104、現像処理部109、メモリ制御部120、不揮発性メモリ制御部106、表示制御部110、操作部107、及び、撮像素子102に対する制御を不図示のバスライン等を介して適宜行う。不揮発性メモリ105等に記録されたプログラムをCPU108が実行することによって、画像処理装置100によって行われる様々な処理が実現される。
The
補正処理部104は、A/D変換部103から出力される画像データに対して、画素補正、黒レベル補正、シェーディング補正、傷補正、倍率色収差補正等を行う。メモリ制御部120は、補正処理部104によって補正処理が施された画像データをメモリ112に書き込む。また、メモリ制御部120は、メモリ112に書き込んだ画像データをメモリ112から読み出し、読み出した画像データを例えば現像処理部109に転送する。現像処理部109は、画像データに対して、拡大縮小等のリサイズ処理、圧縮伸長処理、フォーマット変換処理、現像処理、歪み補正等を行う。メモリ制御部120は、現像処理部109によって処理された画像データをメモリ112に書き込む。また、メモリ112に書き込まれた画像データはメモリ制御部120によって読み出され、各機能ブロックに適宜転送される。
The
補正処理部104や現像処理部109は、上記のような処理を行うため、画像データを記憶するためのメモリ(図示せず)を有している。かかるメモリの容量を小さくするため、補正処理部104や現像処理部109は、1フレームの画像データを水平方向にも垂直方向にも分割することにより設定される分割ブロック300a〜300i(図3参照)を単位として上記のような処理を行う。このため、本実施形態では、分割ブロックを単位としてメモリへの画像データの書き込みや読み出しが行われる。なお、ブロック300a〜300iについては、後に詳述することとする。
The
更に、本実施形態では、処理における遅延を小さくするため、画像データの書き込みが完了したアドレスから画像データを順次読み出していく追いかけ制御を行う。分割ブロックを単位として追いかけ制御を行う場合には、読み出し対象となるブロックの画像データの書き込みが完全に完了しなければ、当該ブロックからの読み出し処理は行えない。そこで、本実施形態では、処理における遅延をより小さくすべく、分割ブロックにそれぞれ複数含まれているより小さい単位であるライン(ブロック)320(図3参照)を単位として追いかけ制御を行う。従って、本実施形態では、ブロックに含まれるラインのうちの書き込み処理が完了したラインから順に画像データが順次読み出される。このような追いかけ制御は、メモリ制御部120等によって実行される。なお、分割ブロックに含まれる各ラインは、分割ブロックの水平方向のサイズと同じサイズに分割されているため、分割ラインと称することもできる。
Furthermore, in the present embodiment, in order to reduce the delay in processing, follow-up control is performed in which the image data is sequentially read from the address at which the writing of the image data is completed. When follow-up control is performed in units of divided blocks, read processing from the block can not be performed unless writing of the image data of the block to be read is completely completed. Therefore, in the present embodiment, in order to further reduce the delay in processing, follow-up control is performed in units of lines (blocks) 320 (see FIG. 3) which are smaller units respectively included in a plurality of divided blocks. Therefore, in the present embodiment, the image data is sequentially read out from the line for which the writing process has been completed among the lines included in the block. Such chase control is executed by the
表示部111は、表示制御部110によって制御され、各種画像データ等を表示する。表示部111としては、例えば液晶モニタ等が用いられる。操作部107は、ユーザによって操作されるスイッチやボタン等を含み、電源のON/OFFの操作や、シャッタのON/OFFの操作等に用いられる。
The
図2は、メモリ制御部120を示すブロック図である。メモリ制御部120は、DMAC(Direct Memory Access Controller)210と、追いかけ制御部200とを有している。DMAC210は、書き込み用のDMACであるWRDMAC(Write DMAC)211を有している。また、DMAC210は、読み出し用のDMACであるRDDMAC(Read DMAC)213を有している。メモリインターフェイス(I/F)205は、WRDMAC211やRDDMAC213からの制御信号に従って、メモリ112を制御する。
FIG. 2 is a block diagram showing the
追いかけ制御部200は、書き込み座標計算部(書き込み座標取得部)201と、読み出し座標計算部(読み出し座標取得部)202と、座標比較部203と、読み出しリクエストマスク部204とを有している。追いかけ制御部200は、WRDMAC211からの書き込みオフセット信号WR_OFFSET1〜WR_OFFSET3に基づいて、後述する書き込み座標(HW1,VW1)〜(HW3,VW3)の計算を行う。また、追いかけ制御部200は、RDDMAC213から供給されるデータ転送長信号RD_TRANS及び読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3に基づいて、読み出し座標(HR,VR)の計算を行う。読み出し座標は、水平方向の座標HRと垂直方向の座標VRとを含む。追いかけ制御部200は、書き込み座標と読み出し座標との比較結果に基づいて、RDDMAC213からの読み出しリクエスト信号RD_REQを適宜マスクする。WRDMAC211によって書き込みが完了したアドレスの画像データをRDDMAC213が順次読み出す追いかけ制御が行われる。このような追いかけ制御が、追いかけ制御部200によって司られる。
The
WRDMAC211は、メモリ112にデータを書き込む際のアドレス(アクセスアドレス)、即ち、書き込みアドレス(書き込みアドレス値)WADRSを生成する書き込みアドレス生成部212を備えている。書き込みアドレス生成部212は、データ転送長等の管理や制御を行い得る。
The WRDMAC 211 includes a write
RDDMAC213は、メモリ112からデータを読み出す際のアドレス、即ち、読み出しアドレス(読み出しアドレス値)RADRSを生成する読み出しアドレス生成部214を備えている。読み出しアドレス生成部214は、データ転送長等の管理や制御を行い得る。
The
WRDMAC211は、書き込みアドレスWADRSをインクリメントする機能を備えている。従って、WRDMAC211は、メモリ112上の所定のアドレス空間(アドレス領域)に画像データを順番に格納していくことが可能である。また、RDDMAC213は、読み出しアドレスRADRSをインクリメントする機能を備えている。従って、RDDMAC213は、メモリ112上の所定のアドレス空間に格納された画像データを順番に読み出していくことが可能である。また、WRDMAC211やRDDMAC213は、アクセスアドレスを適宜ジャンプさせることができ(オフセットジャンプ機能)、分割ブロックの画像データのメモリ112への書き込み処理や読み出し処理を順次行うことができる。
The WRDMAC 211 has a function of incrementing the write address WADRS. Therefore, the WRDMAC 211 can store image data in order in a predetermined address space (address area) on the
このように、WRDMAC211は、画像データをメモリ112に書き込む書き込み手段として機能し得る。また、RDDMAC213は、WRDMAC211によってメモリ112に書き込まれた画像データをメモリ112から読み出す読み出し手段として機能し得る。
Thus, the WRDMAC 211 can function as a writing unit that writes image data to the
図7は、書き込みアドレス生成部212及び読み出しアドレス生成部214の構成を示すブロック図である。書き込みアドレス生成部212の構成と読み出しアドレス生成部214の構成とは同様であるため、ここでは、同一の図面、即ち、図7を用いて書き込みアドレス生成部212と読み出しアドレス生成部214とについて説明することとする。
FIG. 7 is a block diagram showing the configuration of the
WRDMAC211とRDDMAC213は、ある量の画像データが転送される毎にアクセスアドレスをジャンプさせるオフセットジャンプ機能を有している。例えば、1つのライン320(図3参照)の画像データの転送が完了する毎に、アクセスアドレスをジャンプさせる。また、1つの分割ブロック300a〜300i(図3参照)の画像データの転送が完了する毎に、アクセスアドレスをジャンプさせる。また、1つのブロックライン321a〜321c(図3参照)の画像データの転送が完了する毎に、アクセスアドレスをジャンプさせる。このようなオフセットジャンプ機能を実現させるべく、CPU108は、以下のような設定をWRDMAC211やRDDMAC213に対して行う。即ち、CPU108は、WRDMAC211やRDDMAC213に備えられたアドレスカウンタにスタートアドレス値を入力することによって、スタートアドレスを設定する。また、CPU108は、WRDMAC211やRDDMAC213の算出部701に対し、水平方向の画像の分割数と、垂直方向の画像の分割数とを入力する。なお、ここでは、水平、垂直分割数を入力する場合を例に説明したが、入力する情報はこれに限定されるものではない。水平方向の分割の態様と、垂直方向の分割の態様とを示す情報を適宜入力すればよい。これにより、分割が均等に行われていない構成や、各分割ブロックが重複している構成とすることができる。また、CPU108は、算出部701に対し、水平画像サイズ、即ち、水平方向の画像の画素数と、垂直ライン数、即ち、垂直方向の画像の画素数とを入力する。また、CPU108は、算出部701に対して、バースト長、即ち、1回のリクエスト信号におけるアドレス指定によって連続してアクセス可能なデータ長を入力する。また、CPU108は、WRDMAC211やRDDMAC213のアドレス加算値算出部702に対してオフセット値(オフセットジャンプ値)を入力する。オフセット値は、オフセットジャンプの際に適用されるオフセット量を示す。かかるオフセット値は複数種存在しており、オフセットジャンプが行われる箇所に応じて、適切なオフセット値が選択される。かかるオフセット値は、例えばCPU108によって設定される。
The WRDMAC 211 and the
算出部701は、水平画像サイズ、水平、垂直分割数、垂直ライン数、バースト長等に基づいてデータ転送長を算出し、算出したデータ転送長をアドレス加算値算出部702に出力する。データ転送長は、メモリ112に対する1回のアクセスにおいて転送されるデータの長さ(データ量)である。算出部701は、メモリ112に対するアクセスにおいて転送されたデータ量に基づいてオフセット信号を生成し、生成したオフセット信号をアドレス加算値算出部702に出力する。具体的には、ライン320の最後尾(末尾)に位置する画素301〜309に書き込み処理が達した際には、第1の書き込みオフセット信号WR_OFFSET1がそれぞれ生成される。ライン320の最後尾に位置する画素301〜309に読み出し処理が達した際には、第1の読み出しオフセット信号RD_OFFSET1がそれぞれ生成される。分割ブロック300a、300b、300d、300e、300g、300hの最後尾に位置する画素311,312,314,315,317,318に書き込み処理が達した際には、第2の書き込みオフセット信号WR_OFFSET2が生成される。分割ブロック300a、300b、300d、300e、300g、300hの最後尾に位置する画素311,312,314,315,317,318に読み出し処理が達した際には、第2の読み出しオフセット信号RD_OFFSET2が生成される。ブロックライン321a、321bの最後尾に位置する画素313,316に書き込み処理が達した際には、第3の書き込みオフセット信号WR_OFFSET3がそれぞれ生成される。
The
アドレス加算値算出部702は、算出部701から出力されるデータ転送長に基づいてアドレス加算値を算出し、算出したアドレス加算値をアドレス算出部703に出力する。アドレス加算値算出部702は、オフセット信号を算出部701から受信した際には、適切なオフセット値を、算出部701から受信したデータ転送長に加算する。アドレス加算値算出部702は、いずれの分割ブロックに対して書き込み処理や読み出し処理が行われているかをオフセット信号に基づいて把握することができるため、適切なオフセット値を選択することができる。そして、アドレス加算値算出部702は、加算によって得られた値をアドレス加算値としてアドレス算出部703に出力する。
The address addition
アドレス算出部703は、メモリ112へのアクセスを開始する際においては、CPU108によって設定されたスタートアドレスに基づいたアドレス値を出力する。アドレス算出部703は、メモリ112へのアクセスが開始された以降においては、アドレス加算値算出部702から出力されるアドレス加算値を現在のアドレス値に加算し、算出したアドレス値を出力する。オフセット信号が算出部701から発せられた際には、当該オフセット信号に対応するオフセット値の分だけアドレス加算値算出部702から出力されるアドレス加算値がオフセットされる。従って、オフセット信号が算出部701から発せられた際には、当該オフセット信号に対応するオフセット値に応じたアドレスジャンプが行われることとなる。
When the access to the
図3は、書き込みアクセスや読み出しアクセスの順序を概念的に示す図である。図3は、メモリ112における仮想的なアドレス空間を画像に対応するように概念的に示したものである。図3に示すように、1フレームの画像データを水平方向及び垂直方向にそれぞれ3分割することによって矩形の分割ブロック300a〜300iが設定されている。これらの分割ブロック300a〜300iに対して2次元的に連続してアクセスが行われる。なお、以下の説明において、個々の分割ブロックについて説明する際には、符号300a〜300iを用い、分割ブロック一般について説明する際には、符号300を用いる。
FIG. 3 conceptually shows the order of write access and read access. FIG. 3 conceptually shows a virtual address space in the
各分割ブロック300には複数のライン320が含まれている。また、複数の分割ブロック300a〜300cによってブロックライン321aが構成され、複数の分割ブロック300d〜300fによってブロックライン321bが構成される。また、複数の分割ブロック300g〜300iによってブロックライン321cが構成される。ここでは、個々のブロックラインについて説明する際には、符号321a〜321cを用い、ブロックライン一般について説明する際には、符号321を用いる。
Each divided
分割ブロック300a、300d、300gの水平方向の画素数(サイズ)をXA、分割ブロック300b、300e、300hの水平方向の画素数をXB、分割ブロック300c、300f、300iの水平方向の画素数をXCとする。分割ブロック300a〜300cの垂直方向のライン数(画素数)をYA、分割ブロック300d〜300fの垂直方向のライン数をYB、分割ブロック300g〜300iの垂直方向のライン数をYCとする。なお、ここでは、説明を簡略化するため、YA=4、YB=4、YC=6とするが、実際には垂直方向のライン数はこれらの値よりも遙かに大きい。また、1フレームの水平方向の画素数をXH(=XA+XB+XC)とする。画素数XA〜XC、ライン数YA〜YC、オフセット値等は、上述したように、DMAC210の算出部701やアドレス加算値算出部702に対してCPU108から予め入力される。そして、算出部701やアドレス加算値算出部702に備えられているレジスタ(不図示)にこれらの値が予め格納される。図3における矢印は、座標のジャンプ、即ち、アドレスジャンプを概念的に示している。なお、1フレームの画像の左上端の画素のデータが書き込まれるアドレスが、当該フレームの画像データが書き込まれるアドレス領域の先頭のアドレスとなる。
The number of pixels (size) in the horizontal direction of divided
上述したように、本実施形態では、分割ブロック300を単位として書き込み処理や読み出し処理が行われる。例えば、まず、1フレームのうち図3の左上に位置する分割ブロック300aの画像データがメモリ112に書き込まれる。分割ブロック300aの画像データの書き込みが完了した後には、分割ブロック300aの右側の分割ブロック300bの画像データの書き込みが行われる。分割ブロック300bの画像データの書き込みが完了した後には、分割ブロック300bの右側の分割ブロック300cの画像データの書き込みが行われる。このように、第1番目のブロックライン321aに位置する分割ブロック300a〜300cの画像データのメモリ112への書き込みが左側から右側へ順次行われる。第1番目のブロックライン321aの分割ブロック300a〜300cの画像データの書き込みが完了した後には、第2番目のブロックライン321bの分割ブロック300d〜300fの画像データの書き込みが順次行われる。第2番目のブロックライン321bの分割ブロック300d〜300fの画像データの書き込みが完了した後には、第3番目のブロックライン321cの分割ブロック300g〜300iの画像データの書き込みが順次行われる。こうして、全ての分割ブロック300a〜300iの画像データのメモリ112への書き込みが順次行われる。なお、ここでは、書き込み時のアクセスを例として説明するが、読み込み時のアクセスも同様に行われる。
As described above, in the present embodiment, the writing process and the reading process are performed in units of the divided
書き込みアクセスにおける順序をより具体的に以下に説明する。まず、分割ブロック300aの画像データのメモリ112への書き込みが以下のように行われる。即ち、書き込みアドレス生成部212によって発行されるアドレス値に従って、分割ブロック300aの第1番目のライン320の画像データのメモリ112への書き込みが行われる。分割ブロック300aの第1番目のライン320の先頭の座標は(1,1)であり、分割ブロック300aの第1番目のライン320の最後尾の座標は(XA,1)である。なお、1回の書き込みアクセスにおけるデータ転送長が1つのライン320に対応するデータ長と同等である場合には、ライン320の書き込みは1回の書き込みアクセスによって完了する。一方、1回の書き込みアクセスにおけるデータ転送長が1つのライン320に対応するデータ長より短い場合には、ライン320の書き込みは複数回の書き込みアクセスによって完了する。
The order in write access is described more specifically below. First, the image data of the divided
分割ブロック300aの第1番目のライン320の画像データの書き込みが完了した後、分割ブロック300aの第2番目のライン320の画像データの書き込みが行われる。分割ブロック300aの第2番目のライン320の先頭の座標は(1,2)である。座標(1,2)に対応するメモリアドレスは、座標(XA,1)に対応するメモリアドレスの次のメモリアドレスではない。従って、第1番目のライン320の画像データの書き込みから第2番目のライン320の画像データの書き込みに移行する際に、アクセスアドレスのジャンプが行われる。具体的には、分割ブロック300aの第1番目のライン320の最後尾の座標に書き込み処理が達した際に、書き込みアドレス生成部212のアドレス加算値算出部702によってアドレス値にオフセット値が加算される。即ち、データ転送長に応じた値とオフセット値とを現在のアドレス値に加算することによって、アクセスアドレスのジャンプが行われる。ここで加算されるオフセット値は(XH−XA)である。
After the writing of the image data of the
この後、分割ブロック300aの画像データの書き込みが順次行われる。分割ブロック300aの最後のライン320を除く各ライン320の最後尾の座標の画素301に書き込み処理が達する毎に、アドレス値にオフセット値が加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック300aの画像データの書き込みが順次行われる。
Thereafter, writing of the image data of the divided
分割ブロック300aの画像データのメモリ112への書き込みが完了した後、分割ブロック300aの右側の分割ブロック300bの画像データの書き込みが行われる。分割ブロック300aの最後のライン320である第YA番目のライン320の最後尾の画素311の座標、即ち、分割ブロック300aの最後尾の画素311の座標は(XA,YA)である。一方、分割ブロック300bの第1番目のライン320の先頭の座標、即ち、分割ブロック300bの先頭の座標は(XA+1,1)である。座標(XA+1,1)に対応するメモリアドレスは、座標(XA,YA)に対応するメモリアドレスの次のメモリアドレスではない。従って、第1番目の分割ブロック300aの画像データの書き込みから第2番目の分割ブロック300bの画像データの書き込みに移行する際に、アクセスアドレスのジャンプが行われる。具体的には、分割ブロック300aの最後尾の座標に書き込み処理が達した際に、オフセット値がアドレス値に加算される。即ち、データ転送長に応じた値とオフセット値とがアドレス値に加算され、アクセスアドレスのジャンプが行われる。ここで加算されるオフセット値は(−XH×(YA−1))であり、(XA,YA)に対応するメモリアドレスから座標(XA+1,1)に対応するメモリアドレスにジャンプする。オフセット値が負の値であるため、垂直方向の座標はYAから1に対応するメモリアドレスに戻る。こうして、アクセスアドレスがジャンプし、分割ブロック300bの第1番目のライン320の画像データの書き込みが行われる。分割ブロック300bの第1番目のライン320の画像データの書き込みが完了した後、分割ブロック300bの第2番目のライン320の画像データの書き込みが行われる。分割ブロック300bの第1番目のライン320の最後尾の座標は(XA+XB,1)であり、分割ブロック300bの第2番目のライン320の先頭の座標は(XA+1,2)である。従って、第1番目のライン320の画像データの書き込みから第2番目のライン320の画像データの書き込みに移行する際に、アクセスアドレスのジャンプが行われる。即ち、分割ブロック300bの第1番目のライン320の最後尾の座標に書き込み処理が達した際に、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(XH−XB)である。この後、分割ブロック300bの画像データの書き込みが順次行われる。分割ブロック300bの最後のライン320を除く各ライン320の最後尾の座標の画素302に書き込み処理が達する毎に、オフセット値がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック300bの画像データの書き込みが順次行われる。
After the writing of the image data of the divided
分割ブロック300bの画像データのメモリ112への書き込みが完了した後、分割ブロック300bの右側の分割ブロック300cの画像データの書き込みが行われる。分割ブロック300bの最後尾の座標は(XA+XB,YA)である。一方、分割ブロック300cの第1番目のライン320の先頭の座標は(XA+XB+1,1)である。座標(XA+XB+1,1)に対応するメモリアドレスは、座標(XA+XB,YA)に対応するメモリアドレスの次のメモリアドレスではない。従って、分割ブロック300bの画像データの書き込みから分割ブロック300cの画像データの書き込みに移行する際に、アクセスアドレスのジャンプが行われる。具体的には、分割ブロック300bの最後尾の座標に書き込み処理が達した際に、オフセット値がアドレス値に加算される。即ち、データ転送長に応じた値とオフセット値とがアドレス値に加算され、アクセスアドレスのジャンプが行われる。ここで加算されるオフセット値は(−XH×(YA−1))である。座標(XA+XB,YA)に対応するメモリアドレスから座標(XA+XB+1,1)に対応するメモリアドレスにジャンプする。オフセット値が負の値であるため、垂直方向のアドレスがYAから1に戻る。こうして、アクセスアドレスがジャンプし、分割ブロック300cの第1番目のライン320の画像データの書き込みが行われる。
After the writing of the image data of the divided
分割ブロック300cの第1番目のライン320の画像データの書き込みが完了した後、分割ブロック300cの第2番目のライン320の画像データの書き込みが行われる。分割ブロック300cの第1番目のライン320の最後尾の座標は(XA+XB+XC,1)であり、分割ブロック300cの第2番目のライン320の先頭の座標は(XA+XB+1,2)である。従って、第1番目のライン320の画像データの書き込みから第2番目のライン320の画像データの書き込みに移行する際に、アクセスアドレスのジャンプが行われる。即ち、分割ブロック300cの最後尾の座標に書き込み処理が達した際に、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(XH−XC)である。この後、分割ブロック300cの画像データの書き込みが順次行われる。分割ブロック300cの最後のライン320を除く各ライン320の最後尾の画素303に書き込み処理が達する毎に、オフセット値がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック300cの画像データの書き込みが順次行われる。
After the writing of the image data of the
分割ブロック300cの画像データのメモリ112への書き込みが完了した後、分割ブロック300aの下側の分割ブロック300dの画像データの書き込みが行われる。分割ブロック300cの最後尾の座標は(XA+XB+XC,YA)である。一方、分割ブロック300dの第1番目のライン320の先頭の座標は(1,YA+1)である。座標(1,YA+1)に対応するメモリアドレスは、座標(XA+XB+XC,YA)に対応するメモリアドレスの次のメモリアドレスである。従って、分割ブロック300cの画像データの書き込みから分割ブロック300dの画像データの書き込みに移行する際には、オフセット値はアドレス値に加算されない。換言すれば、オフセット値=0が加算される。この後、分割ブロック300dの画像データの書き込みが順次行われる。分割ブロック300dの最後のライン320を除く各ライン320の最後尾の座標の画素304に書き込み処理が達する毎に、オフセット値、即ち、(XH−XA)がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック300dの画像データの書き込みが順次行われる。
After the writing of the image data of the divided
分割ブロック300dの画像データのメモリ112への書き込みが完了した後、分割ブロック300dの右側の分割ブロック300eの画像データの書き込みが行われる。分割ブロック300dの画像データの書き込みから分割ブロック300eの画像データの書き込みに移行する際、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(−XH×(YB−1))である。こうして、分割ブロック300dの画像データの書き込みから分割ブロック300eの画像データの書き込みに移行する。そして、分割ブロック300eの画像データの書き込みが順次行われる。分割ブロック300eの最後のライン320を除く各ライン320の最後尾の座標の画素305に書き込み処理が達する毎に、オフセット値、即ち(XH−XB)がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック300eの画像データの書き込みが順次行われる。
After the writing of the image data of the divided
分割ブロック300eの画像データのメモリ112への書き込みが完了した後、分割ブロック300eの右側の分割ブロック300fの画像データの書き込みが行われる。分割ブロック300eの画像データの書き込みから分割ブロック300fの画像データの書き込みに移行する際、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(−XH×(YB−1))である。こうして、分割ブロック300eの画像データの書き込みから分割ブロック300fの画像データの書き込みに移行する。この後、分割ブロック300fの画像データの書き込みが順次行われる。分割ブロック300fの最後のライン320を除く各ライン320の最後尾の画素306に書き込み処理が達する毎に、オフセット値、即ち(XH−XC)がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック300fの画像データの書き込みが順次行われる。
After the writing of the image data of the divided
分割ブロック300fの画像データのメモリ112への書き込みが完了した後、分割ブロック300dの下側の分割ブロック300gの画像データの書き込みが行われる。分割ブロック300fの画像データの書き込みから分割ブロック300gの画像データの書き込みに移行する際には、オフセット値はアドレス値に加算されない。即ち、データ転送長に応じたアドレス加算値をアドレス値に加算し、分割ブロック300fの画像データの書き込みから分割ブロック300gの画像データの書き込みに移行する。この後、分割ブロック300gの画像データの書き込みが順次行われる。分割ブロック300gの最後のライン320を除く各ライン320の最後尾の画素307に書き込み処理が達する毎に、オフセット値、即ち(XH−XA)がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック300gの画像データの書き込みが順次行われる。
After the writing of the image data of the divided
分割ブロック300gの画像データのメモリ112への書き込みが完了した後、分割ブロック300gの右側の分割ブロック300hの画像データの書き込みが行われる。分割ブロック300gの画像データの書き込みから分割ブロック300hの画像データの書き込みに移行する際には、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(−XH×(YC−1))である。こうして、分割ブロック300gの画像データの書き込みから分割ブロック300hの画像データの書き込みに移行する。この後、分割ブロック300hの画像データの書き込みが順次行われる。分割ブロック300hの最後のライン320を除く各ライン320の最後尾の画素308に書き込み処理が達する毎に、オフセット値、即ち(XH−XB)がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック300hの画像データの書き込みが順次行われる。
After the writing of the image data of the divided
分割ブロック300hの画像データのメモリ112への書き込みが完了した後、分割ブロック300hの右側の分割ブロック300iの画像データの書き込みが行われる。分割ブロック300hの画像データの書き込みから分割ブロック300iの画像データの書き込みに移行する際には、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(−XH×(YC−1))である。こうして、分割ブロック300hの画像データの書き込みから分割ブロック300iの画像データの書き込みに移行する。この後、分割ブロック300iの画像データの書き込みが順次行われる。分割ブロック300iの最後のライン320を除く各ライン320の最後尾の画素309に書き込み処理が達する毎に、オフセット値、即ち(XH−XC)がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック300iの画像データの書き込みが順次行われる。
After the writing of the image data of the divided
上記のような処理によって、9つの分割ブロック300に分割された画像がメモリ112に順次書き込まれる。
The image divided into nine divided
なお、ここでは、書き込み処理を例に説明したが、読み出し処理も同様に行い得る。複数の分割ブロック300の画像データをメモリ112から読み出す際の読み出しアドレス生成部214の動作は、複数の分割ブロック300の画像データをメモリ112に書き込む際の書き込みアドレス生成部212の上述した動作とほぼ同様である。従って、ここでは、読み出し処理についての詳述は省略することとする。
Although the write process has been described as an example here, the read process can be performed similarly. The operation of the read
本実施形態による画像処理装置は、上述したように、分割ブロック300に含まれるブロック(ライン)320を単位として追いかけ制御を行う。従って、あるライン320の画像データの読み出しが可能になった際には、ある書き込み対象の分割ブロック300の全ての画像データの書き込みが完了しない段階であっても、当該ライン320の画像データの読み出しが適宜行われる。WRDMAC211は、1フレームの画像に含まれる複数のライン(ブロック)320を、上記のように所定の順序でメモリ122に書き込む。また、RDDMAC213は、1フレームの画像に含まれる複数のライン(ブロック)320を、上記のように所定の順序でメモリ112から読み出す。
As described above, the image processing apparatus according to the present embodiment performs chase control in units of blocks (lines) 320 included in the divided
次に、DMAC210とメモリI/F205と追いかけ制御部200との間で入出力される信号について説明する。図2に示すように、WRDMAC211からの書き込みリクエスト信号WR_REQがメモリI/F205に入力される。書き込みリクエスト信号WR_REQは、メモリ112への画像データの書き込みをメモリI/F205に対して要求するための信号である。例えば、WRDMAC211が1つのライン320又はその一部の画像データを補正処理部104から受信し、当該1つのライン320又はその一部の画像データをメモリI/F205に送信可能になった際に書き込みリクエスト信号WR_REQが発行される。
Next, signals input and output between the
メモリI/F205からパルス状に出力されるアクノリッジ信号WR_ACKは、WRDMAC211に入力される。例えば、メモリI/F205がWRDMAC211からの書き込みリクエスト信号WR_REQを受信し、書き込みデータWR_DATAをメモリI/F205が受信可能になった際にアクノリッジ信号WR_ACKを出力する。WRDMAC211は、アクノリッジ信号WR_ACKを受信した後、例えば1つのライン320又はその一部の画像データである書き込みデータWR_DATAを、メモリI/F205を介してメモリ112に書き込む。書き込みアドレス生成部212は、アクノリッジ信号WR_ACKを受信した後、次の書き込みに備えて、アドレス値のインクリメントを行い、必要に応じて各種オフセット値をアドレス値に加算する。
An acknowledge signal WR_ACK output in a pulse form from the memory I /
RDDMAC213から出力される読み出しリクエスト信号RD_REQは、読み出し座標計算部202と読み出しリクエストマスク部204とに入力される。読み出しリクエスト信号RD_REQは、メモリ112からの画像データの読み出しをメモリI/F205に要求するための信号である。読み出しリクエスト信号RD_REQは、読み出しリクエストマスク部204を介して、読み出しリクエスト信号RD_REQ_MASK_OUTとしてメモリI/F205に入力される。例えば、RDDMAC213が1つのライン320又はその一部の画像データを受信可能になった際に読み出しリクエスト信号RD_REQが発行される。メモリI/F205からパルス状に出力されるアクノリッジ信号RD_ACKは、RDDMAC213に入力される。例えば、メモリI/F205が読み出しリクエスト信号RD_REQ_MASK_OUTを受信し、読み出しデータRD_DATAをメモリI/F205が送信可能になった際にアクノリッジ信号RD_ACKが出力される。RDDMAC213は、アクノリッジ信号RD_ACKを受信した後、例えば1つのライン320又はその一部の画像データである読み出しデータRD_DATAを、メモリI/F205を介してメモリ112から読み出す。RDDMAC213は、メモリ112から読み出した読み出しデータRD_DATAを、現像処理部109に送信する。読み出しアドレス生成部214は、アクノリッジ信号RD_ACKを受信した後、次の読み出しに備えて、アドレス値のインクリメントを行い、必要に応じて各種オフセット値をアドレス値に加算する。
The read request signal RD_REQ output from the
書き込みアドレス生成部212がオフセット値をアドレス値に加算する際には、書き込みオフセット信号WR_OFFSET1〜WR_OFFSET3がWRDMAC211により発行される。WRDMAC211により発行される書き込みオフセット信号WR_OFFSET1〜WR_OFFSET3は書き込み座標計算部201に入力される。書き込み座標計算部201は、書き込みオフセット信号WR_OFFSET1〜WR_OFFSET3に基づいて、書き込み処理がどこまで到達したかを示す第1〜第3の書き込み座標をそれぞれ算出する。第1の書き込み座標は水平方向の座標Hw1と垂直方向の座標Vw1とを含む。第2の書き込み座標は水平方向の座標Hw2と垂直方向の座標Vw2とを含む。第3の書き込み座標は水平方向の座標Hw3と垂直方向の座標Vw3とを含む。第1の書き込み座標は、分割ブロック300の最後のライン320を除くライン320の最後尾の画素301〜309に書き込み処理が到達した際に更新される。第1の書き込み座標は、書き込み処理が完了したライン320のうちの最後のライン320を除くライン320の最後尾の画素301〜309の座標を示す。第2の書き込み座標は、ブロックライン321の分割ブロック300のうちの最後の分割ブロックを除く分割ブロック300の最後尾の画素311,312,314,315,317,318に書き込み処理が達した際に更新される。第2の書き込み座標は、書き込み処理が完了した分割ブロック300のうちの最後の分割ブロック300の最後尾の画素311,312,314,315,317,318の座標を示す。第3の書き込み座標は、複数のブロックライン321のうちの最後のブロックライン321を除くブロックライン321の最後尾の画素313,316に書き込み処理が達した際に更新される。第3の書き込み座標は、書き込み処理が完了したブロックライン321の最後尾の画素313,316の座標を示す。なお、WRDMAC211から発行される書き込みオフセット信号WR_OFFSET1〜WR_OFFSET3は、書き込みリクエスト信号WR_REQに同期してHighレベルに出力される。
When the write
書き込み座標計算部201は、複数のブロック(ライン)320のうちの書き込みが完了したブロック320の位置を示す書き込み座標を書き込みオフセット信号に基づいて算出する書き込み座標算出手段として機能し得る。書き込み座標計算部201は、1フレームに含まれる複数のブロック320の書き込みが完了する毎に書き込み座標を更新する。読み出し座標計算部202は、読み出しの対象の部分の最後尾を示す読み出し座標を、読み出しオフセット信号及びデータ転送長信号に基づいて算出する読み出し座標算出手段として機能し得る。
The writing coordinate
書き込み座標計算部201は、書き込み対象の分割ブロック300において書き込み済みの最新のライン320の位置に対応した第1の書き込み座標を取得する。また、書き込み座標計算部201は、全ての画素が書き込み済みであるブロック300のうちの最新の分割ブロック300の最後尾の位置に対応した第2の書き込み座標を取得する。また、書き込み座標計算部201は、フレームの右端(端部)の書き込み済みの分割ブロック300のうちの最新の分割ブロック300の最後尾の位置に対応した第3の書き込み座標を取得する。
The writing coordinate
読み出しアドレス生成部214がオフセット値をアドレス値に加算する際には、読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3がRDDMAC213により発行される。RDDMAC213からの読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3は読み出し座標計算部202に入力される。読み出し座標計算部202は、次に読み出しリクエスト信号RD_REQ_MASK_OUTがHighレベルになった際に読み出し処理の対象となる部分の最後尾の画素の座標を示す読み出し座標(HR,VR)を算出する。読み出し座標計算部202は、読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3及びデータ転送長信号RD_TRANSに基づいて、読み出し座標(HR,VR)を算出する。
When the read
読み出し座標計算部202は、データ転送長信号RD_TRANSによって示されるデータ転送長の分だけHRの値を増加させる。分割ブロック300に含まれる最後のライン320を除くライン320の読み出し処理の際に発せられる読み出しオフセット信号RD_OFFSET1を受信した場合には、読み出し座標計算部202は以下のように動作する。即ち、読み出し座標計算部202は、分割ブロック300の水平方向のサイズ(画素数)の分だけHRの値を減少させるとともに、VRの値を1だけ増加させる。また、ブロックライン321の最後の分割ブロック300を除く分割ブロック300の最後尾の画素に読み出し処理が達する毎に発せられる読み出しオフセット信号RD_OFFSET2を受信した場合には、読み出し座標計算部202は以下のように動作する。即ち、読み出し座標計算部202は、分割ブロック300に含まれるライン320の数から1を減算した値の分だけVRの値を減少させる。また、ブロックライン321の最後尾の画素に読み出し処理が達する毎に発せられる読み出しオフセット信号RD_OFFSET3を受信した場合には、読み出し座標計算部202は以下のように動作する。即ち、読み出し座標計算部202は、ブロックライン321の水平方向のサイズ(画素数)の分だけHRの値を減少させるとともに、VRの値を1だけ増加させる。読み出し座標計算部202は、RDDMAC213から読み出しリクエストマスク部204に読み出しリクエスト信号RD_REQが発せられた際に、読み出し座標(HR、VR)を更新する。
Reading coordinate
追いかけ制御部200には座標比較部203が備えられている。書き込み座標計算部201によって算出される第1〜第3の書き込み座標が、座標比較部203に入力される。また、読み出し座標計算部202によって算出される読み出し座標が、座標比較部203に入力される。座標比較部203は、書き込み処理が完了したライン320の位置を把握するための第1〜第3の書き込み座標と、次に読み出し処理の対象となる部分の最後尾の位置を把握するための読み出し座標とを比較する。第1〜第3の書き込み座標と読み出し座標とを比較した結果、以下の条件式(1)〜(3)のいずれかを満たす場合には、読み出し処理が行われることが好ましい。そこで、条件式(1)〜(3)のいずれかを満たす場合、座標比較部203は、読み出しリクエストマスク部204に対して出力するリクエストマスク信号REQ_MASKをLowレベルにする。後述するように、リクエストマスク信号REQ_MASKをLowレベルにした場合には、RDDMAC213からの読み出しリクエスト信号RD_REQが読み出しリクエストマスク部204においてマスクされず、読み出し処理が行われる。一方、条件式(1)〜(3)のいずれをも満たさない場合には、読み出し処理を行わない。
The
そこで、座標比較部203は、以下の条件式(1)〜(3)のいずれをも満たさない場合には、読み出しリクエストマスク部204に出力するリクエストマスク信号REQ_MASKをHighレベルにする。
HW1≧HR かつ VW1≧VR ・・・(1)
HW2≧HR かつ VW2≧VR ・・・(2)
HW3≧HR かつ VW3≧VR ・・・(3)
なお、条件(1)〜(3)のいずれかを満たすか否かの判定は、クロック信号CLKの立ち上がりのタイミングにおいて実施される。こうして、座標比較部203により、リクエストマスク信号REQ_MASKが制御される。
Therefore, when none of the following conditional expressions (1) to (3) is satisfied, the coordinate
H W1 HH R and V W1 VV R (1)
H W2 HH R and V W2 VV R (2)
H W3 HH R and V W3 VV R (3)
The determination as to whether or not any one of the conditions (1) to (3) is satisfied is performed at the rise timing of the clock signal CLK. Thus, the coordinate
座標比較部203は、第1の条件を満たさず、且つ、第2の条件を満たさず、且つ、第3の条件を満たさない場合に、読み出し部かを許可しないように制御する。第1の条件は、Hw1がHR以上、且つ、Vw1がVR以上という条件である。第2の条件は、Hw2がHR以上、且つ、Vw2がVR以上という条件である。第3の条件は、Hw3がHR以上、且つ、Vw3がVR以上という条件である。
When the first condition is not satisfied, the second condition is not satisfied, and the third condition is not satisfied, the coordinate
リクエストマスク信号REQ_MASKがLowレベルである場合、読み出しリクエストマスク部204は、メモリI/F205に対して出力する読み出しリクエスト信号RD_REQ_MASK_OUTをHighレベルとする。一方、リクエストマスク信号REQ_MASKがHighレベルである場合、読み出しリクエストマスク部204は、メモリI/F205に対して出力する読み出しリクエスト信号RD_REQ_MASK_OUTをLowレベルとする。このように、座標比較部203と読み出しリクエストマスク部204とが、RDDMAC213からの読み出し要求を許可するか否かを、書き込み座標と読み出し座標との位置関係に基づいて制御する制御手段として機能し得る。
When the request mask signal REQ_MASK is at the low level, the read
WRDMAC211は、1フレームの画像データの最後尾の画素についての書き込み処理が完了した際に、書き込み完了信号WR_ENDを座標比較部203に出力する。座標比較部203は、書き込み完了信号WR_ENDを受信した際には、読み出しリクエスト信号RD_REQのマスクを解除すべく、リクエストマスク信号REQ_MASKをLowレベルとする。1フレームの画像データの書き込みが完了した後、RDDMAC213から出力される読み出しリクエスト信号RD_REQは、読み出しリクエストマスク部204によってマスクされることはない。かかる読み出しリクエスト信号RD_REQは、読み出しリクエスト信号RD_REQ_MASK_OUT信号としてメモリI/F205に出力される。なお、RDDMAC213から座標比較部203に供給される読み出し開始信号RD_STARTに基づいて、追いかけ制御のマスク制御が開始される。
The WRDMAC 211 outputs a write completion signal WR_END to the coordinate
追いかけ制御部200によって行われる動作の詳細について図4及び図5を用いて説明する。図4は、書き込み処理と読み出し処理とにおけるブロック分割の態様の例を示す図である。図4は、書き込み処理用のブロック分割の態様と読み出し処理用のブロック分割の態様とが異なっている例を示している。より具体的には、書き込み用の分割ブロックWR0_0〜WR2_2のサイズと読み出し用の分割ブロックRD0_0〜RD3_3のサイズとが異なっている。図4は、画像の書き込みを行う処理部におけるブロック分割の態様と、画像の読み出しを行う処理部におけるブロック分割の態様とが異なる場合に相当する。書き込み処理用のブロックは実線で示されており、読み出し処理用のブロックは破線で示されている。書き込み処理用のブロックの分割数は、水平、垂直の何れの方向においても3に設定されている。即ち、9個の書き込み処理用の分割ブロックが設定されている。一方、読み出し処理用のブロックの分割数は、水平、垂直の何れの方向においても4に設定されている。即ち、16個の読み出し用の分割ブロックが設定されている。
The details of the operation performed by the
書き込み用の分割ブロック(書き込み用分割ブロック)WR0_*、WR1_*、WR2_*(*は0〜2の整数)の水平方向の画素数は、それぞれWXA、WXB、WXCとする。また、書き込み用の分割ブロックWR*_0、WR*_1、WR*_2(*は0〜2の整数)のライン数、即ち、垂直方向の画素数は、それぞれWYA=4,WYB=4,WYC=6とする。なお、ここでは、説明を簡略化するため、WYA=4、WYB=4、WYC=6とするが、実際には垂直方向のライン数はこれらの値よりも遙かに大きい。読み出し用の分割ブロック(読み出し分割ブロック)RD0_*、RD1_*、RD2_*、RD3_*(*は0〜3の整数)の水平方向の画素数は、それぞれRXA、RXB、RXC、RXDとする。読み出し用の分割ブロックRD*_0、RD*_1、RD*_2、RD*_3(*は0〜3の整数)のライン数、即ち、垂直方向の画素数は、それぞれRYA=3、RYB=3,RYC=3、RYD=5とする。なお、ここでは、説明を簡略化するため、RYA=3、RYB=3、RYC=3、RYD=5とするが、実際には垂直方向のライン数はこれらの値よりも遙かに大きい。ただし、各ブロックの水平方向における画素数は、以下の条件(4)〜(6)を満たすものとする。
RXA<WXA ・・・(4)
(RXA+RXB)<(WXA+WXB) ・・・(5)
(RXA+RXB+RXC)<(WXA+WXB+WXC) ・・・(6)
The numbers of pixels in the horizontal direction of the write divided blocks (write divided blocks) WR0_ *, WR1_ *, and WR2_ * (* is an integer from 0 to 2) are WXA, WXB, and WXC, respectively. In addition, the number of lines of divided blocks WR * _0, WR * _1, and WR * _2 (* is an integer of 0 to 2) for writing, that is, the number of pixels in the vertical direction are WYA = 4, WYB = 4, WYC, respectively. It is assumed that = 6. Here, in order to simplify the description, WYA = 4, WYB = 4, and WYC = 6, but the number of lines in the vertical direction is actually much larger than these values. The numbers of pixels in the horizontal direction of the divided blocks for reading (read divided blocks) RD0_ *, RD1_ *, RD2_ *, RD3_ * (* is an integer from 0 to 3) are respectively RXA, RXB, RXC, and RXD. The number of lines of the divided blocks RD * _0, RD * _1, RD * _2, RD * _3 (* is an integer from 0 to 3) for reading, that is, the number of pixels in the vertical direction are RYA = 3 and RYB = 3, respectively. , RYC = 3, RYD = 5. Here, in order to simplify the description, RYA = 3, RYB = 3, RYC = 3, and RYD = 5, but the number of lines in the vertical direction is actually much larger than these values. However, the number of pixels in the horizontal direction of each block satisfies the following conditions (4) to (6).
RXA <WXA (4)
(RXA + RXB) <(WXA + WXB) (5)
(RXA + RXB + RXC) <(WXA + WXB + WXC) (6)
図5は、メモリ制御部120の動作を示すタイミングチャートである。図5には、書き込み用の分割ブロックWR0_0〜WR2_0についての書き込み処理が行われる期間(書き込み期間)と、読み出し用の分割ブロックRD0_0〜RD3_0についての読み出し処理が行われる期間(読み出し期間)とが示されている。なお、ここでは、各分割ブロックWR0_0〜WR2_0、RD0_0〜RD3_0の水平方向のサイズが、1回のアクセスで転送可能なデータ長以下である場合を例に説明する。説明を簡略化すべく、ここでは、1回のリクエストで1ライン分のデータが転送される場合を例に説明する。
FIG. 5 is a timing chart showing the operation of the
まず、1フレームの画像についての書き込み処理や読み出し処理を開始する前に、書き込み座標計算部201や読み出し座標計算部202において初期化が行われる。即ち、書き込み座標計算部201において、第1〜第3の書き込み座標が(0,1)に初期化される。また、読み出し座標計算部202において、読み出し座標が(0,1)に初期化される。そして、先頭の書き込み用の分割ブロックWR0_0の書き込みと先頭の読み出し用の分割ブロックRD0_0の読み出しとが開始される。
First, before the writing process and the reading process for an image of one frame are started, initialization is performed in the writing coordinate
まず、初期の段階においては、書き込み用の分割ブロックWR0_0〜WR2_2のいずれのライン320の画像データもメモリ112に書き込まれていない。従って、この段階では、以下に示すように、読み出し用の分割ブロックRD0_0の第1番目のライン320の画像データの読み出しは行われない。即ち、まず、RDDMAC213から出力される読み出しリクエスト信号RD_REQがHighレベルに設定される。また、RDDMAC213から出力される第1の読み出しオフセット信号RD_OFFSET1が、読み出しリクエスト信号RD_REQに同期してHighレベルとなる。読み出しリクエスト信号RD_REQの立ち上がりに同期してパルス状に出力される読み出し座標更新信号の立ち下がりの時刻tr0において、読み出し座標が読み出し座標計算部202によって更新される。読み出し用の分割ブロックRD0_0の第1番目のライン320の最後尾の座標は(RXA,1)であるため、読み出し座標は(RXA,1)に更新される。この段階では、第1〜第3の書き込み座標はいずれも(0,1)である。条件式(1)〜(3)のいずれをも満たさないため、座標比較部203から出力されるリクエストマスク信号REQ_MASKはHighレベルである。リクエストマスク信号REQ_MASKがHighレベルであるため、読み出しリクエストマスク部204からメモリI/F205に出力される読み出しリクエスト信号RD_REQ_MASK_OUTはLowレベルである。従って、書き込み用の分割ブロックWR0_0の第1番目のライン320の画像データのメモリ112からの読み出しは行われない。
First, at an early stage, the image data of any
次に、書き込み用の分割ブロックWR0_0の第1番目のライン320の画像データのメモリ112への書き込みが以下のように行われる。即ち、WRDMAC211からの書き込みリクエスト信号WR_REQがHighレベルに設定される。WRDMAC211からの第1の書き込みオフセット信号WR_OFFSET1が、書き込みリクエスト信号WR_REQに同期してHighレベルとなる。メモリI/F205からWRDMAC211にアクノリッジ信号WR_ACKが返信され、書き込み用の分割ブロックWR0_0の第1番目のライン320の画像データのメモリ112への書き込みが行われる。アクノリッジ信号WR_ACKの立ち下がりに同期して書き込みリクエスト信号WR_REQがLowレベルとなる。また、書き込みリクエスト信号WR_REQの立ち下がりに同期して第1の書き込みオフセット信号WR_OFFSET1がLowレベルとなる。アクノリッジ信号WR_ACKに同期する第1の書き込み座標更新信号の立ち下がりの時刻tw0において、第1の書き込み座標が書き込み座標計算部201によって更新される。書き込み用の分割ブロックWR0_0の第1番目のライン320の最後尾の座標は(WXA,1)であるため、第1の書き込み座標は(WXA,1)に更新される。この段階では、条件式(1)を満たすため、座標比較部203からのリクエストマスク信号REQ_MASKはLowレベルとなる。リクエストマスク信号REQ_MASKがLowレベルとなるため、読み出しリクエストマスク部204からメモリI/F205に出力される読み出しリクエスト信号RD_REQ_MASK_OUTはHighレベルとなる。この後、メモリI/F205からRDDMAC213にアクノリッジ信号RD_ACKがパルス状に返信され、読み出し用の分割ブロックRD0_0の第1番目のライン320の画像データがメモリ112から読み出される。アクノリッジ信号RD_ACKの立ち下がりに同期して、読み出しリクエスト信号RD_REQ、RD_REQ_MASK_OUTがLowレベルとなる。また、読み出しリクエスト信号RD_REQの立ち下がりに同期して第1の読み出しオフセット信号RD_OFFSET1がLowレベルとなる。
Next, the image data of the
次に、読み出しリクエスト信号RD_REQがHighレベルに設定される。読み出しリクエスト信号RD_REQに同期して、第1の読み出しオフセット信号RD_OFFSET1がHighレベルとなる。読み出しリクエスト信号RD_REQの立ち上がりに同期してパルス状に発せられる読み出し座標更新信号の立ち下がりの時刻tr1において、読み出し座標が読み出し座標計算部202によって更新される。読み出し用の分割ブロックRD0_0の第1番目のライン320の画像データのメモリ112からの読み出しは完了しているため、次の読み出し処理において読み出し対象となるのは、読み出し用の分割ブロックRD0_0の第2番目のライン320である。読み出し用の分割ブロックRD0_0の第2番目のライン320の最後尾の座標は(RXA,2)である。このため、読み出し座標は(RXA,2)に更新される。この段階では、第1の書き込み座標は(WXA,1)であり、第2の書き込み座標と第3の書き込み座標はいずれも(0,1)である。条件式(1)〜(3)のいずれをも満たさないため、座標比較部203からのリクエストマスク信号REQ_MASKはHighレベルである。リクエストマスク信号REQ_MASKがHighレベルであるため、読み出しリクエストマスク部204からメモリI/F205に出力される読み出しリクエスト信号RD_REQ_MASK_OUTはLowレベルである。従って、この段階では、書き込み用の分割ブロックWR0_0の第2番目のライン320の画像データはメモリ112から読み出されない。
Next, the read request signal RD_REQ is set to the high level. The first read offset signal RD_OFFSET1 becomes high level in synchronization with the read request signal RD_REQ. The read-out coordinate is updated by the read-out coordinate
次に、書き込み用の分割ブロックWR0_0の第2番目のライン320の画像データのメモリ112への書き込みが以下のように行われる。即ち、書き込みリクエスト信号WR_REQがHighレベルに設定される。書き込みリクエスト信号WR_REQに同期して、第1の書き込みオフセット信号WR_OFFSET1がHighレベルとなる。この後、アクノリッジ信号WR_ACKが返信され、書き込み用の分割ブロックWR0_0の第2番目のライン320の画像データがメモリ112に書き込まれる。アクノリッジ信号WR_ACKの立ち下がりに同期して書き込みリクエスト信号WR_REQがLowレベルとなる。書き込みリクエスト信号WR_REQの立ち下がりに同期して第1の書き込みオフセット信号WR_OFFSET1がLowレベルとなる。アクノリッジ信号WR_ACKに同期する第1の書き込み座標更新信号の立ち下がりの時刻tw1において、第1の書き込み座標が更新される。書き込み用の分割ブロックWR0_0の第2番目のライン320の最後尾の座標は(WXA,2)であるため、第1の書き込み座標は(WXA,2)に更新される。この段階では、条件式(1)を満たすため、座標比較部203からのリクエストマスク信号REQ_MASKがLowレベルとなり、読み出しリクエスト信号RD_REQ_MASK_OUTがHighレベルとなる。この後、アクノリッジ信号RD_ACKがRDDMAC213に返信され、読み出し用の分割ブロックRD0_0の第2番目のライン320の画像データがメモリ112から読み出される。アクノリッジ信号RD_ACKの立ち下がりに同期して、読み出しリクエスト信号RD_REQ、RD_REQ_MASK_OUTがLowレベルとなる。また、読み出しリクエスト信号RD_REQの立ち下がりに同期して第1の読み出しオフセット信号RD_OFFSET1がLowレベルとなる。
Next, the image data of the
次に、読み出しリクエスト信号RD_REQがHighレベルに設定される。読み出しリクエスト信号RD_REQに同期して第2の読み出しオフセット信号RD_OFFSET2がHighレベルとなる。読み出しリクエスト信号RD_REQの立ち上がりに同期してパルス状に発せられる読み出し座標更新信号の立ち下がりの時刻tr2において、読み出し座標が更新される。読み出し用の分割ブロックRD0_0の第2番目のライン320の画像データの読み出しは完了しているため、次の読み出し処理において読み出し対象とされるライン320は、読み出し用の分割ブロックRD0_0の第3番目のライン320である。読み出し用の分割ブロックRD0_0の第3番目のライン320の最後尾の座標は(RXA,3)である。このため、読み出し座標は(RXA,3)に更新される。この段階では、第1の書き込み座標は(WXA,2)であり、第2の書き込み座標と第3の書き込み座標はいずれも(0,1)である。条件式(1)〜(3)のいずれをも満たさないため、リクエストマスク信号REQ_MASKはHighレベルであり、読み出しリクエスト信号RD_REQ_MASK_OUTはLowレベルである。従って、この段階では、書き込み用の分割ブロックWR0_0の第3番目のライン320の画像データはメモリ112から読み出されない。
Next, the read request signal RD_REQ is set to the high level. The second read offset signal RD_OFFSET2 becomes High level in synchronization with the read request signal RD_REQ. The readout coordinates are updated at time tr2 of the fall of the readout coordinate update signal which is emitted in a pulse shape in synchronization with the rise of the readout request signal RD_REQ. Since reading of the image data of the
書き込み用の分割ブロックWR0_0の第3番目のライン320の画像データのメモリ112への書き込みが以下のように行われる。即ち、書き込みリクエスト信号WR_REQがHighレベルに設定される。書き込みリクエスト信号WR_REQに同期して、第1の書き込みオフセット信号WR_OFFSET1がHighレベルとなる。この後、アクノリッジ信号WR_ACKが返信され、分割ブロックWR0_0の第3番目のライン320の画像データがメモリ112に書き込まれる。アクノリッジ信号WR_ACKの立ち下がりに同期して書き込みリクエスト信号WR_REQがLowレベルとなる。書き込みリクエスト信号WR_REQの立ち下がりに同期して第1の書き込みオフセット信号WR_OFFSET1がLowレベルとなる。アクノリッジ信号WR_ACKに同期する第1の書き込み座標更新信号の立ち下がりの時刻tw2において、第1の書き込み座標が更新される。書き込み用の分割ブロックWR0_0の第3番目のライン320の最後尾の座標は(WXA,3)であるため、第1の書き込み座標は(WXA,3)に更新される。この段階では条件式(1)を満たすため、座標比較部203からのリクエストマスク信号REQ_MASKがLowレベルとなり、読み出しリクエスト信号RD_REQ_MASK_OUTがHighレベルとなる。この後、アクノリッジ信号RD_ACKがRDDMAC213に返信され、読み出し用の分割ブロックRD0_0の第3番目のライン320の画像データがメモリ112から読み出される。アクノリッジ信号RD_ACKの立ち下がりに同期して、読み出しリクエスト信号RD_REQ、RD_REQ_MASK_OUTがLowレベルとなる。読み出しリクエスト信号RD_REQの立ち下がりに同期して第2の読み出しオフセット信号RD_OFFSET2がLowレベルとなる。こうして、先頭の読み出し用の分割ブロックRD0_0の全てのライン320の画像データのメモリ112からの読み出しが完了する。
The image data of the
次に、読み出しリクエスト信号RD_REQがHighレベルに設定される。読み出しリクエスト信号RD_REQに同期して、第1の読み出しオフセット信号RD_OFFSET1がHighレベルとなる。読み出しリクエスト信号RD_REQの立ち上がりに同期してパルス状に発せられる読み出し座標更新信号の立ち下がりの時刻tr3において、読み出し座標が更新される。読み出し用の分割ブロックRD0_0の全てのライン320の画像データのメモリ112からの読み出しが完了しているため、次の読み出し処理において読み出し対象となるのは、読み出し用の分割ブロックRD1_0の第1番目のライン320である。読み出し用の分割ブロックRD1_0の第1番目のライン320の最後尾の座標は(RXA+RXB,1)である。このため、読み出し座標は(RXA+RXB,1)に更新される。この段階では、第1の書き込み座標が(WXA,3)であり、第2の書き込み座標が(0,1)であり、第3の書き込み座標が(0,1)である。条件式(1)〜(3)のいずれをも満たさないため、リクエストマスク信号REQ_MASKはHighレベルであり、読み出しリクエスト信号RD_REQ_MASK_OUTはLowレベルである。従って、この段階では、書き込み用の分割ブロックWR1_0の第1番目のライン320の画像データのメモリ112からの読み出しは行われない。
Next, the read request signal RD_REQ is set to the high level. The first read offset signal RD_OFFSET1 becomes high level in synchronization with the read request signal RD_REQ. The readout coordinates are updated at time tr3 of the fall of the readout coordinate update signal which is emitted in a pulse shape in synchronization with the rise of the readout request signal RD_REQ. Since reading of the image data of all the
書き込み用の分割ブロックWR0_0の第4番目のライン320の画像データのメモリ112への書き込みが以下のように行われる。即ち、書き込みリクエスト信号WR_REQがHighレベルに設定される。書き込みリクエスト信号WR_REQに同期して第2の書き込みオフセット信号WR_OFFSET2がHighレベルとなる。メモリI/F205からWRDMAC211にアクノリッジ信号WR_ACKが返信され、書き込み用の分割ブロックWR0_0の第4番目のライン320の画像データがメモリ112に書き込まれる。アクノリッジ信号WR_ACKの立ち下がりに同期して書き込みリクエスト信号WR_REQがLowレベルとなる。書き込みリクエスト信号WR_REQの立ち下がりに同期して第2の書き込みオフセット信号WR_OFFSET2がLowレベルとなる。アクノリッジ信号WR_ACKに同期する第2の書き込み座標更新信号の立ち下がりの時刻tw3において、第2の書き込み座標が更新される。書き込み用の分割ブロックWR0_0の第4番目のライン320の最後尾の座標は(WXA,4)であるため、第2の書き込み座標は(WXA,4)に更新される。この段階では、読み出し座標は(RXA+RXB,1)であり、条件式(1)〜(3)のいずれをも満たさない。このため、座標比較部203からのリクエストマスク信号REQ_MASKはHighレベルであり、読み出しリクエスト信号RD_REQ_MASK_OUTはLowレベルである。従って、この段階では、書き込み用の分割ブロックWR0_0の第4番目のライン320に書き込まれた画像データはメモリ112から読み出されない。
The image data of the
次に、書き込み用の分割ブロックWR1_0の第1番目のライン320の画像データのメモリ112への書き込みが以下のように行われる。即ち、書き込みリクエスト信号WR_REQがHighレベルに設定される。書き込みリクエスト信号WR_REQに同期して第1の書き込みオフセット信号WR_OFFSET1がHighレベルとなる。メモリI/F205からWRDMAC211にアクノリッジ信号WR_ACKが返信され、書き込み用の分割ブロックWR1_0の第1番目のライン320の画像データがメモリ112に書き込まれる。アクノリッジ信号WR_ACKの立ち下がりに同期して書き込みリクエスト信号WR_REQがLowレベルとなる。書き込みリクエスト信号WR_REQの立ち下がりに同期して第1の書き込みオフセット信号WR_OFFSET1がLowレベルとなる。アクノリッジ信号WR_ACKに同期する第1の書き込み座標更新信号の立ち下がりの時刻tw4において、第1の書き込み座標が更新される。書き込み用の分割ブロックWR1_0の第1番目のライン320の最後尾の座標は(WXA+WXB,1)であるため、第1の書き込み座標は(WXA+WXB,1)に更新される。この段階では、読み出し座標は(RXA+RXB,1)であり、条件式(1)を満たす。このため、座標比較部203からのリクエストマスク信号REQ_MASKはLowレベルとなり、読み出しリクエスト信号RD_REQ_MASK_OUTはHighレベルとなる。この後、アクノリッジ信号RD_ACKがRDDMAC213に返信され、読み出し用の分割ブロックRD1_0の第1番目のライン320の画像データがメモリ112から読み出しされる。アクノリッジ信号RD_ACKの立ち下がりに同期して、読み出しリクエスト信号RD_REQ、RD_REQ_MASK_OUTがLowレベルとなる。また、読み出しリクエスト信号RD_REQの立ち下がりに同期して第1の読み出しオフセット信号RD_OFFSET1がLowレベルとなる。
Next, the image data of the
次に、読み出しリクエスト信号RD_REQがHighレベルに設定される。読み出しリクエスト信号RD_REQに同期して第1の読み出しオフセット信号RD_OFFSET1がHighレベルとなる。読み出しリクエスト信号RD_REQの立ち上がりに同期してパルス状に発せられる読み出し座標更新信号の立ち下がりの時刻tr4において、読み出し座標が更新される。読み出し用の分割ブロックRD1_0の第1番目のライン320の画像データの読み出しは完了しているため、次の読み出し処理において読み出し対象とされるライン320は、読み出し用の分割ブロックRD1_0の第2番目のライン320である。読み出し用の分割ブロックRD1_0の第2番目のライン320の最後尾の座標は(RXA+RXB,2)である。このため、読み出し座標は(RXA+RXB,2)に更新される。この段階では、第1の書き込み座標は(WXA+WXB,1)であり、第2の書き込み座標は(WXA,4)であり、第3の書き込み座標は(0,1)である。条件式(1)〜(3)のいずれをも満たさないため、リクエストマスク信号REQ_MASKはHighレベルであり、読み出しリクエスト信号RD_REQ_MASK_OUTはLowレベルである。従って、この段階では、書き込み用の分割ブロックWR1_0の第2番目のライン320の画像データはメモリ112から読み出されない。
Next, the read request signal RD_REQ is set to the high level. The first read offset signal RD_OFFSET1 becomes high level in synchronization with the read request signal RD_REQ. The read coordinates are updated at time tr4 of the falling edge of the read coordinate update signal which is emitted in a pulse shape in synchronization with the rising of the read request signal RD_REQ. Since the reading of the image data of the
次に、書き込み用の分割ブロックWR1_0の第2番目のライン320の画像データのメモリ112への書き込みが以下のように行われる。即ち、書き込みリクエスト信号WR_REQがHighレベルに設定される。書き込みリクエスト信号WR_REQに同期して第1の書き込みオフセット信号WR_OFFSET1がHighレベルとなる。メモリI/F205からWRDMAC211にアクノリッジ信号WR_ACKが返信され、書き込み用の分割ブロックWR1_0の第2番目のライン320の画像データがメモリ112に書き込まれる。アクノリッジ信号WR_ACKの立ち下がりに同期して書き込みリクエスト信号WR_REQがLowレベルとなる。書き込みリクエスト信号WR_REQの立ち下がりに同期して第1の書き込みオフセット信号WR_OFFSET1がLowレベルとなる。アクノリッジ信号WR_ACKに同期する第1の書き込み座標更新信号の立ち下がりの時刻tw5において、第1の書き込み座標が書き込み座標計算部201によって更新される。書き込み用の分割ブロックWR1_0の第2番目のライン320の最後尾の座標は(WXA+WXB,2)であるため、第1の書き込み座標は(WXA+WXB,2)に更新される。この段階では、読み出し座標は(RXA+RXB,2)であり、条件式(1)を満たすため、リクエストマスク信号REQ_MASKはLowレベル、読み出しリクエスト信号RD_REQ_MASK_OUTはHighレベルとなる。この後、メモリI/F205からRDDMAC213にアクノリッジ信号RD_ACKがパルス状に返信され、読み出し用の分割ブロックRD1_0の第2番目のライン320の画像データがメモリ112から読み出される。アクノリッジ信号RD_ACKの立ち下がりに同期して、読み出しリクエスト信号RD_REQ、RD_REQ_MASK_OUTがLowレベルとなる。読み出しリクエスト信号RD_REQの立ち下がりに同期して第1の読み出しオフセット信号RD_OFFSET1がLowレベルとなる。
Next, the image data of the
書き込み用の分割ブロックWR1_0のこの後の書き込み処理は、書き込み用の分割ブロックWR0_0についての上述した書き込み処理と同様であるため、説明を省略する。なお、時刻tw6においては、第1の書き込み座標が(WXA+WXB,3)に更新され、時刻tw7においては第2の書き込み座標が(WXA+WXB,4)に更新される。 The subsequent write processing of the write divided block WR1_0 is the same as the above-described write processing for the write divided block WR0_0, and thus the description thereof is omitted. At time tw6, the first writing coordinate is updated to (WXA + WXB, 3), and at time tw7, the second writing coordinate is updated to (WXA + WXB, 4).
また、読み出し用の分割ブロックRD1_0、RD2_0のこの後の読み出し処理は、読み出し用の分割ブロックRD0_0についての上述した読み出し処理と同様であるため、説明を省略する。なお、時刻tr5、tr6、tr7、tr8においては、読み出し座標が、(RXA+RXB,3)、(RXA+RXB+RXC,1)、(RXA+RXB+RXC,2)、(RXA+RXB+RXC,3)にそれぞれ更新される。 Further, the subsequent read process of the read divided blocks RD1_0 and RD2_0 is the same as the above-described read process for the read divided block RD0_0, and thus the description thereof is omitted. At times tr5, tr6, tr7 and tr8, the read coordinates are updated to (RXA + RXB, 3), (RXA + RXB + RXC, 1), (RXA + RXB + RXC, 2), and (RXA + RXB + RXC, 3).
書き込み用の分割ブロックWR2_0の書き込み処理も、書き込み用の分割ブロックWR0_0についての上述した書き込み処理と同様であるため、説明を省略する。なお、時刻tw8、tw9、tw10においては、第1の書き込み座標が、(WXA+WXB+WXC,1)、(WXA+WXB+WXC,2)、(WXA+WXB+WXC,3)にそれぞれ更新される。書き込み用の分割ブロックWR2_0の第4番目のライン320の画像データをメモリ112に書き込む際には、書き込みリクエスト信号WR_REQに同期して第3の書き込みオフセット信号WR_OFFSET3がHighレベルとなる。また、書き込みリクエスト信号WR_REQの立ち下がりに同期して第3の書き込みオフセット信号WR_OFFSET3がLowレベルとなる。アクノリッジ信号WR_ACKに同期する第3の書き込み座標更新信号の立ち下がりの時刻tw11において、第3の書き込み座標が(WXA+WXB+WXC,4)に更新される。
The writing process of the divided block WR2_0 for writing is also similar to the above-described writing process for the divided block WR0_0 for writing, and thus the description thereof will be omitted. At times tw8, tw9, and tw10, the first writing coordinates are updated to (WXA + WXB + WXC, 1), (WXA + WXB + WXC, 2), and (WXA + WXB + WXC, 3), respectively. When writing the image data of the
読み出し用の分割ブロックRD3_0の読み出し処理においては、時刻tr9において、読み出し座標が(RXA+RXB+RXC+RXD,1)に更新される。第3の書き込み座標は(WXA+WXB+WXC,4)であり、条件式(3)を満たすため、リクエストマスク信号REQ_MASKはLowレベル、読み出しリクエスト信号RD_REQ_MASK_OUTはHighレベルとなる。従って、読み出し用の分割ブロックRD3_0の第1番目のライン320からの画像データの読み出しが行われる。時刻tr10においては、読み出し座標が(RXA+RXB+RXC+RXD,2)に更新される。第3の書き込み座標は(WXA+WXB+WXC,4)であり、条件式(3)を満たすため、リクエストマスク信号REQ_MASKはLowレベル、読み出しリクエスト信号RD_REQ_MASK_OUTはHighレベルとなる。従って、読み出し用の分割ブロックRD3_0の第2番目のライン320からの画像データの読み出しが行われる。時刻tr11においては、読み出し座標が(RXA+RXB+RXC+RXD,3)に更新される。第3の書き込み座標は(WXA+WXB+WXC,4)であり、条件式(3)を満たすため、リクエストマスク信号REQ_MASKはLowレベル、読み出しリクエスト信号RD_REQ_MASK_OUTはHighレベルとなる。従って、読み出し用の分割ブロックRD3_0の第3番目のライン320からの画像データの読み出しが行われる。
In the reading process of the read divided block RD3_0, the read coordinates are updated to (RXA + RXB + RXC + RXD, 1) at time tr9. The third write coordinate is (WXA + WXB + WXC, 4), and since the conditional expression (3) is satisfied, the request mask signal REQ_MASK is Low level, and the read request signal RD_REQ_MASK_OUT is High level. Therefore, the image data is read from the
書き込み用の分割ブロックWR0_1〜WR2_2や読み出し用の分割ブロックRD0_1〜RD3_3についても、上記と同様に書き込み処理や読み出し処理が行われる。 The writing process and the reading process are performed on the divided blocks WR0_1 to WR2_2 for writing and the divided blocks RD0_1 to RD3_3 for reading in the same manner as described above.
なお、図4に付されたドットは、書き込み用の分割ブロックWR1_2の第3番目のライン320まで書き込み処理が完了した状態を示している。この状態においては、第1の書き込み座標は(WXA+WXB、11)であり、第2の書き込み座標は(WXA,14)であり、第3の書き込み座標は(WXA+WXB+WXC,8)である。また、読み出し座標は(RXA+RXB+RXC、8)である。この状態では、読み出し用の分割ブロックRD2_2の第2番目のライン320の画像データのメモリ112からの読み出しは完了している。この後、書き込み処理が進行し、書き込み用の分割ブロックWR2_2の第1番目のライン320の画像データの書き込みが行われると、第1の書き込み座標が(WXA+WXB+WXC、9)となり、条件式(1)を満たす状態となる。そうすると、読み出し用の分割ブロックRD2_2の第3番目のライン320の画像データのメモリ112からの読み出しが行われ、読み出し座標が(RXA+RXB+RXC、9)に更新される。
The dots shown in FIG. 4 indicate the state where the writing process has been completed up to the
WRDMAC211は、書き込み用の分割ブロックWR2_2の書き込み処理が完了した際には、書き込み完了信号WR_ENDをHighレベルとする。座標比較部203は、書き込み完了信号WR_ENDがHighレベルとなった際には、条件式(1)〜(3)に基づく座標の比較を停止して、リクエストマスク信号REQ_MASKをLowレベルとする。これにより、書き込み用の分割ブロックWR2_2の書き込み処理が完了した後においては、RDDMAC213から出力される読み出しリクエスト信号RD_REQが、読み出しリクエストマスク部204によってマスクされなくなる。従って、書き込み用の分割ブロックWR2_2の書き込み処理が完了した後、読み出し用の分割ブロックの画像データがメモリ112から連続的に読み出される。
When the write processing of the write divided block WR2_2 is completed, the WRDMAC 211 sets the write completion signal WR_END to the high level. When the write completion signal WR_END goes to the high level, the coordinate
なお、ここでは、各分割ブロックWR0_0〜WR2_2、RD0_0〜RD3_2の水平方向のサイズが、1回のアクセスで転送可能なデータ長以下である場合を例に説明したが、これに限定されるものではない。例えば、各分割ブロックWR0_0〜WR2_0、RD0_0〜RD3_0の水平方向のサイズが、1回のアクセスで転送可能なデータ長より大きい場合には、以下のような処理が行われる。即ち、1つのライン320に対するデータの書き込みにおいて、書き込みリクエストの発行及びデータの書き込みがそれぞれ複数回行われる。また、1つのライン320からのデータの読み出しにおいて、読み出しリクエストの発行及びデータの読み出しがそれぞれ複数回行われる。
Here, although the case where the size in the horizontal direction of each of the divided blocks WR0_0 to WR2_2 and RD0_0 to RD3_2 is equal to or less than the data length that can be transferred by one access is described as an example, Absent. For example, when the size in the horizontal direction of each of the divided blocks WR0_0 to WR2_0 and RD0_0 to RD3_0 is larger than the data length that can be transferred in one access, the following processing is performed. That is, when data is written to one
ライン320の最後尾の画素のデータを書き込まない場合には、WRDMAC211は、書き込みオフセット信号WR_OFFSET1〜WR_OFFSET3をいずれもLowレベルに維持する。一方、ライン320の最後尾の画素のデータを書き込む場合には、WRDMAC211は、書き込みオフセット信号WR_OFFSET1〜WR_OFFSET3のうちのいずれかをHighレベルにする。そして、ライン320の最後尾の画素のデータが書き込まれた場合にのみ、第1〜第3の書き込み座標が書き込み座標計算部201によって更新される。
When the data of the last pixel of the
また、ライン320の最後尾の画素のデータを読み出さない場合、RDDMAC213は、読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3をいずれもLowレベルに維持する。一方、当該読み出しにおいてライン320の最後尾の画素のデータを読み出す場合には、RDDMAC213は、読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3のうちのいずれかをHighレベルにする。読み出し座標は、ライン320の最後尾の画素のデータを読み出すか否かにかかわらず更新される。読み出し座標計算部202は、ライン320の最後尾の画素のデータが読み出されない場合には、以下のような動作を行う。即ち、読み出し座標計算部202は、RDDMAC213から読み出しリクエスト信号RD_REQが供給される毎に、RDDMAC213のからデータ転送長信号RD_TRANSに基づいて読み出し座標を更新する。一方、読み出し座標計算部202は、ライン320の最後尾の画素のデータが読み出される場合には、以下のような動作を行う。読み出し座標計算部202は、RDDMAC213からの読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3と、RDDMAC213からのデータ転送長信号RD_TRANSとに基づいて、読み出し座標を更新する。
Further, when the data of the last pixel of the
図6は、本実施形態による画像処理装置の動作を示すフローチャートである。図6に示す処理は、主としてCPU108及びメモリ制御部120によって実行される。
FIG. 6 is a flowchart showing the operation of the image processing apparatus according to the present embodiment. The processing illustrated in FIG. 6 is mainly executed by the
まず、CPU108からの指示によって、WRDMAC211とRDDMAC213とに処理を開始させる(ステップS600)。
First, in response to an instruction from the
次に、書き込み座標計算部201において、第1〜第3の書き込み座標を、例えば(0、1)に初期化する。また、読み出し座標計算部202において、読み出し座標を例えば(0、1)に初期化する。これらの座標値の初期化は、CPU108からの指示によって行われる(ステップS601)。
Next, the writing coordinate
ステップS602では、座標比較部203が、条件式(1)〜(3)のいずれかを満たすか否かを判定する。条件式(1)〜(3)のいずれかを満たす場合には(ステップS602においてYES)、ステップS603に遷移する。ステップS603では、RDDMAC213からの読み出しリクエスト信号RD_REQに対するマスク処理が、読み出しリクエストマスク部204において解除される。この後、ステップS605に遷移する。条件式(1)〜(3)のいずれをも満たさない場合(ステップS602においてNO)、ステップS604に遷移する。ステップS604では、読み出しリクエストマスク部204により、RDDMAC213からの読み出しリクエスト信号RD_REQがマスクされる。これにより、RDDMAC213によるメモリ112からの画像データの読み出しは停止される。この後、ステップS605に遷移する。
In step S602, the coordinate
ステップS605では、WRDMAC211からの第1の書き込みオフセット信号WR_OFFSET1がHighレベルであるか否かが判定される。第1の書き込みオフセット信号WR_OFFSET1がHighレベルである場合(ステップS605においてYES)、第1の書き込み座標を、書き込み処理が完了したライン320の最後尾の画素の座標に更新する(ステップS608)。第1の書き込みオフセット信号WR_OFFSET1がHighレベルでない場合(ステップS605においてNO)、ステップS606に遷移する。
In step S605, it is determined whether the first write offset signal WR_OFFSET1 from the WRDMAC 211 is at the high level. If the first writing offset signal WR_OFFSET1 is at the high level (YES in step S605), the first writing coordinates are updated to the coordinates of the last pixel of the
ステップS606では、WRDMAC211から出力される第2の書き込みオフセット信号WR_OFFSET2がHighレベルであるか否かが判定される。第2の書き込みオフセット信号WR_OFFSET2がHighレベルである場合(ステップS606においてYES)、第2の書き込み座標を、書き込み処理が完了したライン320の最後尾の画素の座標に更新する(ステップS609)。第2の書き込みオフセット信号WR_OFFSET2がHighレベルでない場合には、ステップS607に遷移する。
In step S606, it is determined whether the second write offset signal WR_OFFSET2 output from the WRDMAC 211 is at the high level. If the second writing offset signal WR_OFFSET2 is at the high level (YES in step S606), the second writing coordinates are updated to the coordinates of the last pixel of the
ステップS607では、WRDMAC211から出力される第3の書き込みオフセット信号WR_OFFSET3がHighレベルであるか否かが判定される。第3の書き込みオフセット信号WR_OFFSET3がHighレベルである場合、第3の書き込み座標を、書き込み処理が完了したライン320の最後尾の画素の座標に更新する(ステップS610)。第3の書き込みオフセット信号WR_OFFSET3がHighレベルでない場合、ステップS611に遷移する。
In step S607, it is determined whether the third write offset signal WR_OFFSET3 output from the WRDMAC 211 is at the high level. If the third write offset signal WR_OFFSET3 is at the high level, the third write coordinates are updated to the coordinates of the last pixel of the
ステップS611では、RDDMAC213から出力される読み出しリクエスト信号RD_REQがHighレベルであるか否かが判定される。読み出しリクエスト信号RD_REQがHighレベルである場合、ステップS612に遷移する。一方、読み出しリクエスト信号RD_REQがHighレベルでない場合、ステップS615に遷移する。
In step S611, it is determined whether the read request signal RD_REQ output from the
ステップS612では、第1〜第3の読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3のうちのいずれかがHighレベルであるか否かが判定される。第1〜第3の読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3のうちのいずれかがHighレベルである場合(ステップS612においてYES)、ステップS613に遷移する。ステップS613では、水平方向の読み出し座標HRと垂直方向の読み出し座標VRとが更新される。この後、ステップS615に遷移する。第1〜第3の読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3のすべてがHighレベルでない場合(ステップS612においてNO)、ステップS614に遷移する。ステップS614では、水平方向の読み出し座標HRが更新される。この後、ステップS615に遷移する。 In step S612, it is determined whether any one of the first to third read offset signals RD_OFFSET1 to RD_OFFSET3 is at the high level. If one of the first to third read offset signals RD_OFFSET1 to RD_OFFSET3 is at the high level (YES in step S612), the process proceeds to step S613. In step S613, the readout coordinate H R in the horizontal direction and the readout coordinate V R in the vertical direction are updated. Thereafter, the process proceeds to step S615. If all the first to third read offset signals RD_OFFSET1 to RD_OFFSET3 are not at the high level (NO in step S612), the process proceeds to step S614. In step S614, the readout coordinate H R in the horizontal direction is updated. Thereafter, the process proceeds to step S615.
ステップS615では、書き込み処理が完了したか否かが判定される。書き込み処理が完了した場合(ステップS615においてYES)、ステップS616に遷移する。 In step S615, it is determined whether the writing process has been completed. When the writing process is completed (YES in step S615), the process proceeds to step S616.
ステップS616では、読み出しリクエスト信号RD_REQに対するマスクが解除された後、ステップS617に遷移する。一方、書き込み処理が完了していない場合(ステップS615においてNO)、ステップS602に戻り、上記と同様の処理が行われる。 In step S616, after the mask for the read request signal RD_REQ is released, the process proceeds to step S617. On the other hand, when the writing process is not completed (NO in step S615), the process returns to step S602, and the same process as described above is performed.
ステップS617では、読み出しが完了していないライン(ブロック)320の読み出し処理が行われ、読み出し処理が完了したか否かが判定される。読み出し処理が完了していない場合には(ステップS617においてNO)、読み出しが完了していないライン320の読み出し処理が継続して行われる。一方、読み出し処理が完了した場合には(ステップS617においてYES)、追いかけ制御が終了する。
In step S617, the reading process of the line (block) 320 whose reading is not completed is performed, and it is determined whether the reading process is completed. If the reading process is not completed (NO in step S617), the reading process of the
このように、書き込み処理が完了したブロック(ライン)320に応じた書き込み座標と、読み出し処理が行われるブロック320に応じた読み出し座標とが比較される。そして、書き込み座標と読み出し座標との比較の結果に基づいて読み出しが行われる。本実施形態では、座標を比較することによって読み出しの可否を判断するため、書き込み用のブロック320のサイズと読み出し用のブロック320のサイズとが異なる場合であっても、書き込みが完了していないブロック320を読み出してしまうことはない。このため、本実施形態によれば、追いかけ制御を適確に行い得る画像処理装置及び画像処理方法を提供することができる。
As described above, the writing coordinates corresponding to the block (line) 320 for which the writing processing has been completed are compared with the reading coordinates corresponding to the
(変形例(その1))
本実施形態の変形例(その1)による画像処理装置及び画像処理方法について図8を用いて説明する。図8は、本変形例におけるブロック分割の態様を示す図である。図8における太い実線は、書き込み用の分割ブロックを概念的に示しており、図8における太い破線は、読み出し用の分割ブロックを概念的に示している。
(Modification (Part 1))
An image processing apparatus and an image processing method according to a modification (part 1) of the embodiment will be described with reference to FIG. FIG. 8 is a diagram showing an aspect of block division in the present modification. A thick solid line in FIG. 8 conceptually shows a divided block for writing, and a thick broken line in FIG. 8 conceptually shows a divided block for reading.
本変形例は、書き込み処理におけるアクセス開始座標と読み出し処理におけるアクセス開始座標とが異なっている。即ち、本変形例では、先頭の書き込み用の分割ブロックWR0_0の第1番目のライン320の先頭の座標と、先頭の読み出し用の分割ブロックRD0_0の第1番目のライン320の先頭の座標とが異なっている。ここでは、1フレームのうち読み出し処理が行われる領域が、書き込み処理が行われる領域よりも小さい場合を例に説明する。
In this modification, the access start coordinates in the writing process are different from the access start coordinates in the reading process. That is, in this modification, the coordinates of the beginning of the
書き込み処理におけるアクセス開始座標と読み出し処理におけるアクセス開始座標との間の水平方向におけるずれ差異はDIFXである。書き込み処理におけるアクセス開始座標と読み出し処理におけるアクセス開始座標との間の垂直方向における差異はDIFYである。 The difference in the horizontal direction between the access start coordinates in the write process and the access start coordinates in the read process is DIFX. The difference in the vertical direction between the access start coordinates in the write process and the access start coordinates in the read process is DIFY.
このような場合には、例えば、上述した第1〜第3の書き込み座標をアクセス開始座標の差異量DIFX、DIFYの分だけシフトさせればよい。アクセス開始座標の差異量DIFX、DIFYの分だけシフトさせた第1〜第3の書き込み座標(HW1、VW1)′、(HW2、VW2)′、(HW3、VW3)′は、以下の式(7)〜(9)によって表される。なお、読み出し処理におけるアクセス開始座標は(1,1)とする。アクセス開始座標の差異量DIFX、DIFYの分だけシフトさせた書き込み座標(HW1、VW1)′、(HW2、VW2)′、(HW3、VW3)′は、書き込み座標計算部201によって算出される。
(HW1,VW1)′=(HW1−DIFX,VW1−DIFY) ・・・(7)
(HW2,VW2)′=(HW2−DIFX,VW2−DIFY) ・・・(8)
(HW3,VW3)′=(HW3−DIFX,VW3−DIFY) ・・・(9)
In such a case, for example, the first to third writing coordinates described above may be shifted by the difference amounts DIFX and DIFY of the access start coordinates. The first to third writing coordinates (H W1 , V W1 ) ', (H W2 , V W2 )', and (H W3 , V W3 ) 'shifted by the difference amount DIFX of access start coordinates and DIFY are And the following formulas (7) to (9). The access start coordinate in the read process is (1, 1). The write coordinates (H W1 , V W1 ) ′, (H W2 , V W2 ) ′, and (H W3 , V W3 ) ′ shifted by the difference amount DIFX of access start coordinates by DIFY are the write coordinate
(H W1 , V W1 ) ′ = (H W1 −DIFX, V W1 −DIFY) (7)
(H W2 , V W2 ) ′ = (H W2 −DIFX, V W2 −DIFY) (8)
(H W3 , V W3 ) ′ = (H W3 −DIFX, V W3 −DIFY) (9)
なお、ここでは、第1〜第3の書き込み座標をアクセス開始座標の差異量DIFX、DIFYの分だけシフトさせる場合を例に説明したが、これに限定されるものではない。例えば、アクセス開始座標の差異量DIFX、DIFYの分だけ読み出し座標をシフトさせるようにしてもよい。アクセス開始座標の差異量DIFX、DIFYの分だけシフトさせた読み出し座標(HR、VR)′は、書き込み処理におけるアクセス開始座標を(1,1)とする場合、以下の式(10)によって表される。アクセス開始座標の差異量DIFX、DIFYの分だけシフトさせた読み出し座標(HR、VR)′は、読み出し座標計算部202によって算出される。
(HR,VR)′=(HR+DIFX,VR+DIFY) ・・・(10)
このように、書き込み処理におけるアクセス開始座標と読み出し処理におけるアクセス開始座標とが異なっていてもよい。
Although the case where the first to third writing coordinates are shifted by the difference amounts DIFX and DIFY of access start coordinates has been described here as an example, the present invention is not limited to this. For example, the readout coordinates may be shifted by the difference amount DIFX, DIFY of the access start coordinates. The read coordinates (H R , V R ) ′ shifted by the difference amount DIFX of the access start coordinates and DIFY by the following equation (10) when the access start coordinates in the writing process are (1, 1) expressed. The read coordinate (H R , V R ) ′ shifted by the difference amount DIFX of the access start coordinate and DIFY is calculated by the read coordinate
(H R , V R ) ′ = (H R + DIFX, V R + DIFY) (10)
Thus, the access start coordinates in the write process may be different from the access start coordinates in the read process.
(変形例(その2))
本実施形態の変形例(その2)による画像処理装置及び画像処理方法について図9及び図10を用いて説明する。図9は、本変形例におけるブロック分割の態様を示す図である。図9における太い実線は、書き込み用の分割ブロックを概念的に示しており、図9における太い破線は、読み出し用の分割ブロックを概念的に示している。
(Modification (Part 2))
An image processing apparatus and an image processing method according to a modification (part 2) of the present embodiment will be described with reference to FIGS. 9 and 10. FIG. 9 is a diagram showing an aspect of block division in the present modification. A thick solid line in FIG. 9 conceptually shows a divided block for writing, and a thick broken line in FIG. 9 conceptually shows a divided block for reading.
本変形例は、隣接する分割ブロックの一部が重複している場合を示している。なお、ここでは、隣接するブロックが重複している場合であっても、分割ブロックと呼ぶことにする。読み出し用の分割ブロックRD*_*の水平方向における重複量はOLXである。読み出し用の分割ブロックRD*_*の垂直方向における重複量はOLYである。 This modification shows the case where a part of adjacent divided blocks overlap. Here, even when adjacent blocks overlap, they are referred to as divided blocks. The overlap amount in the horizontal direction of the read divided blocks RD * _ * is OLX. The overlapping amount in the vertical direction of the read divided blocks RD * _ * is OLY.
このような場合には、例えば、読み出し対象の分割ブロックRD*_*が切り替わる際に、上述した読み出し座標を重複量OLX,OLYの分だけシフトさせるようにすればよい。重複量OLX,OLYの分だけシフトさせた読み出し座標(HR、VR)′は、以下の式(11)によって表される。重複量OLX,OLYの分だけシフトさせた読み出し座標(HR、VR)′は、読み出し座標計算部202によって算出される。
(HR、VR)′=(HR−OLX、VR−OLY) ・・・(11)
In such a case, for example, when the divided block RD * _ * to be read is switched, the above-mentioned read coordinates may be shifted by the amount of overlap OLX, OLY. The readout coordinates (H R , V R ) ′ shifted by the amount of overlap OLX, OLY are expressed by the following equation (11). The read coordinate (H R , V R ) ′ shifted by the overlap amount OLX, OLY is calculated by the read coordinate
(H R , V R ) ′ = (H R −OLX, V R −OLY) (11)
このように、隣接する分割ブロックが重複していてもよい。なお、ここでは、隣接する読み出し用の分割ブロックRD*_*が重複している場合を例に説明したが、隣接する書き込み用の分割ブロックWR*_*が重複していてもよい。 Thus, adjacent divided blocks may overlap. Here, although the case where adjacent divided blocks for reading RD * _ * overlap is described as an example, adjacent divided blocks for writing WR * _ * may be overlapped.
図10は、分割ブロックの最後尾にアクセスが達した際のアクセス座標のジャンプを概念的に示す図である。図10(a)は、隣接する分割ブロック300a〜300cが水平方向に重複している場合を示している。分割ブロック300a、300bの最後尾の座標(H2、V2)の画素311,312にアクセスが達した際には、図3を用いて上述した第1実施形態による画像処理装置と同様に、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(−XH×(YA−1)−OLX)である。
FIG. 10 conceptually shows a jump of access coordinates when the end of the divided block is reached. FIG. 10A shows a case where adjacent divided
図10(b)は、隣接する分割ブロック300d〜300iが水平方向においても垂直方向においても重複している場合を示している。ブロックライン321bの最後尾の座標(H3、V3)の画素316にアクセスが達した際には、図3を用いて上述した第1実施形態による画像処理装置と同様に、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は、(−XH×OLY)である。
FIG. 10B shows a case where adjacent divided
このように、隣接する分割ブロックの一部が重複していてもよい。本変形例においても、メモリ112に対する追いかけ制御を適確に行い得る画像処理装置を提供することができる。
In this way, parts of adjacent divided blocks may overlap. Also in this modification, it is possible to provide an image processing apparatus capable of appropriately performing chase control on the
[第2実施形態]
第2実施形態による画像処理装置及び画像処理方法を図11乃至図16を用いて説明する。図1乃至図10に示す第1実施形態による画像処理装置及び画像処理方法と同一の構成要素には、同一の符号を付して説明を省略または簡潔にする。
Second Embodiment
An image processing apparatus and an image processing method according to the second embodiment will be described with reference to FIGS. 11 to 16. The same members of the present embodiment as those of the image processing apparatus and the image processing method according to the first embodiment shown in FIGS. 1 to 10 are represented by the same reference numbers not to repeat or to simplify their explanation.
本実施形態による画像処理装置1100は、現像処理部109a、109bが複数備えられており、WRDMAC211a、211bも複数備えられており、書き込み座標計算部201a、201bも複数備えられているものである。
The
図11は、本実施形態による画像処理装置を示すブロック図である。図11に示すように、画像処理装置1100は、撮像素子102と、A/D変換部103と、補正処理部104と、不揮発性メモリ105と、不揮発性メモリ制御部106と、操作部107とを有している。画像処理装置100は、CPU108と、表示制御部110と、表示部111と、メモリ112と、複数の現像処理部109a、109bと、メモリ制御部120aとを更に有している。画像処理装置100には、結像光学系101が備えられる。結像光学系101は、画像処理装置100のボディから着脱可能であってもよいし着脱不能であってもよい。
FIG. 11 is a block diagram showing an image processing apparatus according to the present embodiment. As shown in FIG. 11, the
現像処理部109a、109bは、画像データに対して、拡大縮小等のリサイズ処理、圧縮伸長処理、フォーマット変換処理、現像処理、歪み補正等をそれぞれ行う。現像処理部109aは、画像データのうちの所定の領域に対しての処理を担当する。現像処理部109bは、画像データのうちの現像処理部109aによって担当される領域とは異なる領域に対しての処理を担当する。メモリ制御部120aは、補正処理部104又は現像処理部109a、109bによって処理された画像データをメモリ112に書き込む。また、メモリ制御部120aは、メモリ112に書き込まれた画像データを読み出し、現像処理部1109a、1109b等に伝送する。
The
メモリ制御部120aは、DMAC210aと、追いかけ制御部200aとを有している。DMAC210aは、複数のWRDMAC211a、211bを有している。WRDMAC211a、211bの構成は、図2を用いて上述したWRDMAC211の構成と同様である。また、DMAC210aは、RDDMAC213を有している。メモリI/F205は、WRDMAC211a、211bからの制御信号又はRDDMAC213からの制御信号に従って、メモリ112を制御する。
The
ライン320の最後尾の画素301〜309(図3参照)に書き込み処理が達すると、第1の書き込みオフセット信号WR_OFFSET1_a、WR_OFFSET1_bがWRDMAC211a、211bによってそれぞれ生成される。ライン320の最後尾の画素301〜309に読み出し処理が達すると、第1の読み出しオフセット信号RD_OFFSET1がRDDMAC213によってそれぞれ生成される。分割ブロック300a、300b、300d、300e、300g、300hの最後尾の画素311,312,314,315,317,318に書き込み処理が達すると、以下のような処理が行われる。即ち、第2の書き込みオフセット信号WR_OFFSET2_a、WR_OFFSET2_bがWRDMAC211a、211bによってそれぞれ生成される。分割ブロック300a、300b、300d、300e、300g、300hの最後尾の画素311,312,314,315,317,318に読み出し処理が達すると、第2の読み出しオフセット信号RD_OFFSET2が生成される。ブロックライン321a、321bの最後尾の画素313,316に書き込み処理が達すると、第3の書き込みオフセット信号WR_OFFSET3_a、WR_OFFSET3_bがWRDMAC211a、211bによってそれぞれ生成される。ブロックライン321a、321bの最後尾の画素313,316に読み出し処理が達すると、第3の読み出しオフセット信号RD_OFFSET3がRDDMAC213によってそれぞれ生成される。
When the write processing reaches the
追いかけ制御部200aは、書き込み座標計算部201a、201bと、書き込み座標統合部(書き込み座標特定部)1201と、読み出し座標計算部202と、座標比較部203と、読み出しリクエストマスク部204とを有している。追いかけ制御部200aは、WRDMAC211aからの書き込みオフセット信号WR_OFFSET1_a〜WR_OFFSET3_aに基づいて、後述する書き込み座標(HW1_a,VW1_a)〜(HW3_a,VW3_a)を計算する。また、追いかけ制御部200aは、WRDMAC211bからの書き込みオフセット信号WR_OFFSET1_b〜WR_OFFSET3_bに基づいて、後述する書き込み座標(HW1_b,VW1_b)〜(HW3_b,VW3_b)を計算する。また、追いかけ制御部200aは、RDDMAC213から供給されるデータ転送長信号RD_TRANS及び読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3に基づいて、読み出し座標を計算する。追いかけ制御部200は、書き込み座標と読み出し座標との比較結果に基づいて、RDDMAC213からの読み出しリクエスト信号RD_REQを適宜マスクする。WRDMAC211a、211bによって画像データの書き込みが完了した部分の画像データをRDDMAC213が順次読み出していく追いかけ制御が行われる。このような追いかけ制御が、追いかけ制御部200aによって司られる。
The
WRDMAC211a、211bは、メモリ112にデータを書き込む際のメモリアドレス、即ち、書き込みアドレスWADRS_a、WADRS_bを生成する書き込みアドレス生成部212a、212bをそれぞれ備えている。WRDMAC211a、211bの構成は、図7を用いて上述したWRDMAC211の構成と同様である。書き込みアドレス生成部212a、212bは、データ転送長等の管理や制御を行い得る。WRDMAC211a、211bは、書き込みアドレスWADRSをインクリメントする機能をそれぞれ備えている。従って、WRDMAC211a、211bは、メモリ112上の所定のアドレス空間に画像データを順番に格納していくことが可能である。また、WRDMAC211a、211bは、アクセスアドレスを適宜ジャンプさせることができる。また、WRDMAC211a、211bは、分割ブロック1300a_a〜1300i_a、1300a_b〜1300i_b(図13参照)の画像データのメモリ112への書き込み処理を順次行うことができる。
The
図13は、本実施形態において行われる書き込みアクセス及び読み出しアクセスを概念的に示す図である。図13は、メモリ112における仮想的なアドレス空間を画像に対応するように概念的に示したものである。図13に示すように、1フレームの画像データを水平方向に6分割、垂直方向に3分割することによって、矩形の18個の分割ブロック1300a_a〜1300i_a、1300a_b〜1300i_bが設定されている。
FIG. 13 conceptually shows write access and read access performed in the present embodiment. FIG. 13 conceptually shows a virtual address space in the
分割ブロック1300a_aと、分割ブロック1300a_aの右側の分割ブロック1300a_bとによって、分割ブロック1300aが構成されている。分割ブロック1300a_bの右側の分割ブロック1300b_aと、分割ブロック1300b_aの右側の分割ブロック1300b_bとによって、分割ブロック1300bが構成されている。分割ブロック1300b_bの右側の分割ブロック1300c_aと、分割ブロック1300c_aの右側の分割ブロック1300c_bとによって、分割ブロック1300cが構成されている。分割ブロック1300a_aの下側の分割ブロック1300d_aと、分割ブロック1300d_aの右側の分割ブロック1300d_bとによって、分割ブロック1300dが構成されている。分割ブロック1300d_bの右側の分割ブロック1300e_aと、分割ブロック1300e_aの右側の分割ブロック1300e_bとによって、分割ブロック1300eが構成されている。分割ブロック1300e_bの右側の分割ブロック1300f_aと、分割ブロック1300f_aの右側の分割ブロック1300f_bとによって、分割ブロック1300fが構成されている。分割ブロック1300d_aの下側の分割ブロック1300g_aと、分割ブロック1300g_aの右側の分割ブロック1300g_bとによって、分割ブロック1300gが構成されている。分割ブロック1300g_bの右側の分割ブロック1300h_aと、分割ブロック1300h_aの右側の分割ブロック1300h_bとによって、分割ブロック1300hが構成されている。分割ブロック1300h_bの右側の分割ブロック1300i_aと、分割ブロック1300i_aの右側の分割ブロック1300i_bとによって、分割ブロック1300iが構成されている。
A divided
分割ブロック1300a_a、1300d_a、1300g_aの水平方向の画素数(サイズ)をXAとする。分割ブロック1300a_b、1300d_b、1300g_bの水平方向の画素数をXAとする。分割ブロック1300a、1300d、1300gの水平方向の画素数をXA′とする。分割ブロック1300b_a、1300e_a、1300h_aの水平方向の画素数をXBとする。分割ブロック1300b_b、1300e_b、1300h_bの水平方向の画素数をXBとする。分割ブロック1300b、1300e、1300hの水平方向の画素数をXB′とする。分割ブロック1300c_a、1300f_a、1300i_aの水平方向の画素数をXCとする。分割ブロック1300c_b、1300f_b、1300i_bの水平方向の画素数をXCとする。分割ブロック1300c、1300f、1300iの水平方向の画素数をXC′とする。
The number of pixels (size) in the horizontal direction of the divided blocks 1300a_a, 1300d_a, and 1300g_a is XA. The number of pixels in the horizontal direction of the divided blocks 1300a_b, 1300d_b, and 1300g_b is XA. The number of pixels in the horizontal direction of the divided
分割ブロック1300a〜1300cの垂直方向のライン数(画素数)をYA、分割ブロック1300d〜1300fの垂直方向のライン数をYB、分割ブロック1300g〜1300iの垂直方向のライン数をYCとする。
The number of lines (number of pixels) in the vertical direction of the divided
ここでは、説明を簡略化するため、YA=4、YB=4、YC=6とするが、実際には垂直方向のライン数はこれらの値よりも遙かに大きい。また、1フレームの水平方向の画素数をXH(=XA′+XB′+XC′)とする。画素数XA〜XC、ライン数YA〜YC、オフセット値等は、DMAC210aの算出部701やアドレス加算値算出部702に対してCPU108から予め入力される。そして、算出部701やアドレス加算値算出部702に備えられているレジスタ(不図示)にこれらの値が予め格納される。
Here, YA = 4, YB = 4, and YC = 6 are set in order to simplify the description, but the number of lines in the vertical direction is actually much larger than these values. Further, the number of pixels in the horizontal direction of one frame is assumed to be XH (= XA '+ XB' + XC '). The number of pixels XA to XC, the number of lines YA to YC, the offset value, and the like are input in advance from the
分割ブロック1300a_a、1300b_a、1300c_a、1300d_a、1300e_a、1300f_a、1300g_a、1300h_a、1300i_aの画像データのメモリ112への書き込みは、WRDMAC211aによって行われる。ここでは、これらの分割ブロックの個々について説明する際には、符号1300a_a〜1300i_aを用い、これらの分割ブロック一般について説明する際には、符号1300*_aを用いることとする。分割ブロック1300a_b、1300b_b、1300c_b、1300d_b、1300e_b、1300f_b、1300g_b、1300h_b、1300i_bの画像データのメモリ112への書き込みは、WRDMAC211bによって行われる。ここでは、これらの分割ブロックの個々について説明する際には、符号1300a_b〜1300i_bを用い、これらの分割ブロック一般について説明する際には、符号1300*_bを用いることとする。また、分割ブロック1300a〜1300iの個々について説明する際には、符号1300a〜1300iを用い、これらの分割ブロック一般について説明する際には、符号1300を用いることとする。図13における実線の矢印は、WRDMAC211aによって行われる処理における座標のジャンプ、即ち、アドレスジャンプを概念的に示している。図13における破線の矢印は、WRDMAC211bによって行われる処理における座標のジャンプ、即ち、アドレスジャンプを概念的に示している。オフセット値を適宜設定することにより、複数のWRDMAC211a、211bによって処理を分担することができる。
The image data of the divided blocks 1300a_a, 1300b_a, 1300c_a, 1300d_a, 1300e_a, 1300f_a, 1300g_a, 1300h_a, and 1300i_a are written to the
各々の分割ブロック1300*_a、1300*_bには、複数のライン320がそれぞれ含まれている。また、複数の分割ブロック1300a〜1300cによってブロックライン1321aが構成されており、複数の分割ブロック1300d〜1300fによってブロックライン1321bが構成されている。また、複数の分割ブロック1300g〜1300iによってブロックライン1321cが構成されている。個々のブロックラインについて説明する際には、符号1321a〜1321cを用い、ブロックライン一般について説明する際には、符号1321を用いることとする。
Each divided block 1300 * _a, 1300 * _b includes a plurality of
分割ブロック1300a_aの画像データがWRDMAC211aによってメモリ112に書き込まれる。また、分割ブロック1300a_bの画像データがWRDMAC211bによってメモリ112に書き込まれる。分割ブロック1300a_aの画像データの書き込みが完了した後には、分割ブロック1300b_aの画像データがWRDMAC211aによってメモリ112に書き込まれる。分割ブロック1300a_bの画像データの書き込みが完了した後には、分割ブロック1300b_bの画像データがWRDMAC211bによってメモリ112に書き込まれる。分割ブロック1300b_aの画像データの書き込みが完了した後には、分割ブロック1300c_aの画像データがWRDMAC211aによってメモリ112に書き込まれる。分割ブロック1300b_bの画像データの書き込みが完了した後には、分割ブロック1300c_bの画像データがWRDMAC211bによってメモリ112に書き込まれる。このように、第1番目のブロックライン1321aに位置する分割ブロック1300a_a、1300b_a、1300c_aの画像データのメモリ112への書き込みがWRDMAC211aによって順次行われる。また、第1番目のブロックライン1321aに位置する分割ブロック1300a_b、1300b_b、1300c_bの画像データのメモリ112への書き込みがWRDMAC211bによって順次行われる。
The image data of the divided block 1300a_a is written to the
第1番目のブロックライン1321aの分割ブロック1300a_a、1300b_a、1300c_aの画像データの書き込みが完了した後には、以下のような処理が行われる。即ち、第2番目のブロックライン1321bの分割ブロック1300d_a、1300e_a、1300f_aの画像データの書き込みがWRDMAC211aによって順次行われる。また、第1番目のブロックライン1321aの分割ブロック1300a_b、1300b_b、1300c_bの画像データの書き込みが完了した後には、以下のような処理が行われる。即ち、第2番目のブロックライン1321bの分割ブロック1300d_b、1300e_b、1300f_bの画像データの書き込みがWRDMAC211bによって順次行われる。
After the writing of the image data of the divided blocks 1300a_a, 1300b_a, 1300c_a of the
第2番目のブロックライン1321bの分割ブロック1300d_a、1300e_a、1300f_aの画像データの書き込みが完了した後には、以下のような処理が行われる。即ち、第3番目のブロックライン1321cの分割ブロック1300g_a、1300h_a、1300i_aの画像データの書き込みがWRDMAC211aによって順次行われる。また、第2番目のブロックライン1321bの分割ブロック1300d_b、1300e_b、1300f_bの画像データの書き込みが完了した後には、以下のような処理が行われる。即ち、第3番目のブロックライン1321cの分割ブロック1300g_b、1300h_b、1300i_bの画像データの書き込みがWRDMAC211bによって順次行われる。
After the writing of the image data of the divided blocks 1300 d — a, 1300 e — a, and 1300 f — a of the
こうして、全ての分割ブロック1300a〜1300iの画像データのメモリ112への書き込みが順次行われる。なお、ここでは、書き込みアクセスを例として説明するが、読み込みアクセスも同様にして行われる。
Thus, writing of the image data of all the divided
書き込みアクセスの順序をより具体的に以下に説明する。9つの分割ブロック1300a_a〜1300i_aの画像がWRDMAC211aによって以下のようにメモリ112に順次書き込まれる。まず、分割ブロック1300a_aの画像データのメモリ112への書き込みがWRDMAC211aによって以下のように行われる。即ち、書き込みアドレス生成部212aによって発行されるアドレス値に従って、分割ブロック1300a_aの第1番目のライン320の画像データのメモリ112への書き込みが行われる。なお、1回の書き込みアクセスにおけるデータ転送長が1つのライン320に対応するデータ長と同等である場合には、ライン320への書き込みは1回の書き込みアクセスによって完了する。一方、1回の書き込みアクセスにおけるデータ転送長が1つのライン320に対応するデータ長より短い場合には、ライン320への書き込みは複数回の書き込みアクセスによって完了する。
The order of the write access is more specifically described below. Images of nine divided blocks 1300a_a to 1300i_a are sequentially written to the
分割ブロック1300a_aの第1番目のライン320の画像データの書き込みが完了した後、分割ブロック1300a_aの第2番目のライン320の画像データの書き込みがWRDMAC211aによって行われる。分割ブロック1300a_aの第1番目のライン320の最後尾の座標は(XA,1)であり、分割ブロック1300a_aの第2番目のライン320の先頭の座標は(1,2)である。座標(1,2)に対応するメモリアドレスは、座標(XA,1)に対応するメモリアドレスの次のメモリアドレスではない。従って、第1番目のライン320の画像データの書き込みから第2番目のライン320の画像データの書き込みに移行する際には、アクセスアドレスのジャンプが行われる。具体的には、分割ブロック1300a_aの第1番目のライン320の最後尾の座標(XA,1)に書き込み処理が達すると、アドレス加算値算出部702によってオフセット値がアドレス値に加算される。即ち、データ転送長に応じた値とオフセット値とを現在のアドレス値に加算することによって、アクセスアドレスのジャンプが行われる。ここで加算されるオフセット値は(XH−XA)である。
After the writing of the image data of the
この後、分割ブロック1300a_aの画像データの書き込みがWRDMAC211aによって順次行われる。分割ブロック1300a_aの最後のライン320を除く各ライン320の最後尾の座標の画素に書き込み処理が達する毎に、オフセット値がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック1300a_aの画像データの書き込みが順次行われる。
After this, the writing of the image data of the divided block 1300a_a is sequentially performed by the
分割ブロック1300a_aの画像データのメモリ112への書き込みが完了した後、分割ブロック1300b_aの画像データの書き込みがWRDMAC211aによって行われる。分割ブロック1300a_aの最後のライン320である第YA番目のライン320の最後尾の画素の座標、即ち、分割ブロック1300a_aの最後尾の画素の座標は(XA,YA)である。一方、分割ブロック1300b_aの第1番目のライン320の先頭の座標、即ち、分割ブロック1300b_aの先頭の座標は(XA′+1,1)である。座標(XA′+1,1)に対応するメモリアドレスは、座標(XA,YA)に対応するメモリアドレスの次のメモリアドレスではない。従って、分割ブロック1300a_aの画像データの書き込みから分割ブロック1300b_aの画像データの書き込みに移行する際には、アクセスアドレスのジャンプが行われる。具体的には、分割ブロック1300a_aの最後尾の座標に書き込み処理が達すると、オフセット値がアドレス値に加算される。即ち、データ転送長に応じた値をアドレス値とオフセット値とをアドレス値に加算することによって、アクセスアドレスのジャンプが行われる。ここで加算されるオフセット値は(−XH×(YA−1)+XA)である。座標(XA,YA)に対応するメモリアドレスから座標(XA′+1,1)に対応するメモリアドレスにジャンプする。オフセット値が負の値であるため、垂直方向のアドレスがYAから1に戻る。分割ブロック1300b_aの第1番目のライン320の画像データの書き込みがWRDMAC211aによって行われる。分割ブロック1300b_aの第1番目のライン320の画像データの書き込みが完了した後、分割ブロック1300b_aの第2番目のライン320の画像データの書き込みがWRDMAC211aによって行われる。分割ブロック1300b_aの第1番目のライン320の最後尾の座標は(XA′+XB,1)であり、分割ブロック1300b_aの第2番目のライン320の先頭の座標は(XA′+1,2)である。従って、第1番目のライン320の画像データの書き込みから第2番目のライン320の画像データの書き込みに移行する際には、アクセスアドレスのジャンプが行われる。即ち、分割ブロック1300b_aの第1番目のライン320の最後尾の座標に書き込み処理が達すると、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(XH−XB)である。この後、分割ブロック1300b_aの画像データの書き込みがWRDMAC211aによって順次行われる。分割ブロック1300b_aの最後のライン320を除く各ライン320の最後尾の座標の画素に書き込み処理が達する毎に、オフセット値がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック1300b_aの画像データの書き込みがWRDMAC211aによって順次行われる。
After the writing of the image data of the divided block 1300a_a to the
分割ブロック1300b_aの画像データのメモリ112への書き込みが完了した後、分割ブロック1300c_aの画像データの書き込みがWRDMAC211aによって行われる。分割ブロック1300b_aの最後尾の座標は(XA′+XB,YA)であり、分割ブロック1300c_aの第1番目のライン320の先頭の座標は、(XA′+XB′+1,1)である。座標(XA′+XB′+1,1)に対応するメモリアドレスは、座標(XA′+XB,YA)に対応するメモリアドレスの次のメモリアドレスではない。従って、分割ブロック1300b_aの画像データの書き込みから分割ブロック1300c_aの画像データの書き込みに移行する際には、アクセスアドレスのジャンプが行われる。具体的には、分割ブロック1300b_aの最後尾の座標に書き込み処理が達すると、オフセット値がアドレス値に加算される。即ち、データ転送長に応じた値とオフセット値とをアドレス値に加算することによって、アクセスアドレスのジャンプが行われる。ここで加算されるオフセット値は(−XH×(YA−1)+XB)である。座標(XA′+XB,YA)に対応するメモリアドレスから座標(XA′+XB′+1,1)に対応するメモリアドレスにジャンプする。オフセット値が負の値であるため、垂直方向のアドレスがYAから1に戻る。分割ブロック1300c_aの第1番目のライン320の画像データの書き込みがWRDMAC211aによって行われる。
After the writing of the image data of the divided block 1300b_a to the
分割ブロック1300c_aの第1番目のライン1320の画像データの書き込みが完了した後、分割ブロック1300c_aの第2番目のライン320の画像データの書き込みがWRDMAC211aによって行われる。分割ブロック1300c_aの第1番目のライン320の最後尾の座標は(XA′+XB′+XC,1)であり、分割ブロック1300c_aの第2番目のライン320の先頭の座標は(XA′+XB′+1,2)である。従って、第1番目のライン320の画像データの書き込みから第2番目のライン320の画像データの書き込みに移行する際には、アクセスアドレスのジャンプが行われる。即ち、分割ブロック1300c_aの最後尾の座標に書き込み処理が達すると、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(XH−XC)である。この後、分割ブロック1300c_aの画像データの書き込みがWRDMAC211aによって順次行われる。分割ブロック1300c_aの最後のライン320を除く各ライン320の最後尾の画素に書き込み処理が達する毎に、オフセット値がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック1300c_aの画像データの書き込みがWRDMAC211aによって順次行われる。
After the writing of the image data of the first line 1320 of the divided block 1300c_a is completed, the writing of the image data of the
分割ブロック1300c_aの画像データのメモリ112への書き込みが完了した後、分割ブロック1300d_aの画像データの書き込みがWRDMAC211aによって行われる。分割ブロック1300c_aの最後尾の座標は(XA′+XB′+XC,YA)であり、分割ブロック1300d_aの第1番目のライン320の先頭の座標は(1,YA+1)である。座標(1,YA+1)に対応するメモリアドレスは、座標(XA′+XB′+XC,YA)に対応するメモリアドレスの次のメモリアドレスではない。従って、分割ブロック1300c_aの画像データの書き込みから分割ブロック1300d_aの画像データの書き込みに移行する際には、アクセスアドレスのジャンプが行われる。具体的には、分割ブロック1300c_aの最後尾の座標に書き込み処理が達すると、オフセット値がアドレス値に加算される。即ち、データ転送長に応じた値とオフセット値とをアドレス値に加算することによって、アクセスアドレスのジャンプが行われる。ここで加算されるオフセット値はXCである。この後、分割ブロック1300d_aの画像データの書き込みがWRDMAC211aによって順次行われる。分割ブロック1300d_aの最後のライン320を除く各ライン320の最後尾の座標の画素に書き込み処理が達する毎に、オフセット値、即ち(XH−XA)がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック1300d_aの画像データの書き込みがWRDMAC211aによって順次行われる。
After the writing of the image data of the divided block 1300c_a into the
分割ブロック1300d_aの画像データのメモリ112への書き込みが完了した後、分割ブロック1300e_aの画像データの書き込みがWRDMAC211aによって行われる。分割ブロック1300d_aの画像データの書き込みから分割ブロック1300e_aの画像データの書き込みに移行する際には、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(−XH×(YB−1)+XA)である。こうして、分割ブロック1300d_aの画像データの書き込みから分割ブロック1300e_aの画像データの書き込みに移行する。そして、分割ブロック1300e_aの画像データの書き込みがWRDMAC211aによって順次行われる。分割ブロック1300e_aの最後のライン320を除く各ライン320の最後尾の座標の画素に書き込み処理が達する毎に、オフセット値、即ち(XH−XB)がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック1300e_aの画像データの書き込みがWRDMAC211aによって順次行われる。
After the writing of the image data of the divided block 1300d_a into the
分割ブロック1300e_aの画像データのメモリ112への書き込みが完了した後、分割ブロック1300f_aの画像データの書き込みがWRDMAC211aによって行われる。分割ブロック1300e_aの画像データの書き込みから分割ブロック1300f_aの画像データの書き込みに移行する際には、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(−XH×(YB−1)+XB)である。こうして、分割ブロック1300e_aの画像データの書き込みから分割ブロック1300f_aの画像データの書き込みに移行する。この後、分割ブロック1300f_aの画像データの書き込みがWRDMAC211aによって順次行われる。分割ブロック1300f_aの最後のライン320を除く各ライン320の最後尾の画素に書き込み処理が達する毎に、オフセット値、即ち(XH−XC)がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック1300f_aの画像データの書き込みがWRDMAC211aによって順次行われる。
After the writing of the image data of the divided block 1300e_a to the
分割ブロック1300f_aの画像データのメモリ112への書き込みが完了した後、分割ブロック1300g_aの画像データの書き込みがWRDMAC211aによって行われる。分割ブロック1300f_aの最後尾の座標は(XA′+XB′+XC,YA+YB)であり、分割ブロック1300g_aの第1番目のライン320の先頭の座標は(1,YA+YB+1)である。座標(1,YA+YB+1)に対応するメモリアドレスは、座標(XA′+XB′+XC,YA+YB)に対応するメモリアドレスの次のメモリアドレスではない。従って、分割ブロック1300f_aの画像データの書き込みから分割ブロック1300g_aの画像データの書き込みに移行する際には、アクセスアドレスのジャンプが行われる。具体的には、分割ブロック1300f_aの最後尾の座標に書き込み処理が達すると、オフセット値がアドレス値に加算される。即ち、データ転送長に応じた値とオフセット値とをアドレス値に加算することによって、アクセスアドレスのジャンプが行われる。ここで加算されるオフセット値はXCである。この後、分割ブロック1300g_aの画像データの書き込みがWRDMAC211aによって順次行われる。分割ブロック1300g_aの最後のライン320を除く各ライン320の最後尾の座標の画素に書き込み処理が達する毎に、オフセット値、即ち(XH−XA)がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック1300g_aの画像データの書き込みがWRDMAC211aによって順次行われる。
After the writing of the image data of the divided
分割ブロック1300g_aの画像データのメモリ112への書き込みが完了した後、分割ブロック1300h_aの画像データの書き込みがWRDMAC211aによって行われる。分割ブロック1300g_aの画像データの書き込みから分割ブロック1300h_aの画像データの書き込みに移行する際には、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(−XH×(YC−1)+XA)である。こうして、分割ブロック1300g_aの画像データの書き込みから分割ブロック1300h_aの画像データの書き込みに移行する。この後、分割ブロック1300h_aの画像データの書き込みがWRDMAC211aによって順次行われる。分割ブロック1300h_aの最後のライン320を除く各ライン320の最後尾の画素に書き込み処理が達する毎に、オフセット値、即ち(XH−XB)がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック1300h_aの複数のライン320の画像データの書き込みがWRDMAC211aによって順次行われる。
After the writing of the image data of the divided block 1300g_a to the
分割ブロック1300h_aの画像データのメモリ112への書き込みが完了した後、分割ブロック1300i_aの画像データの書き込みがWRDMAC211aによって行われる。分割ブロック1300h_aの画像データの書き込みから分割ブロック1300i_aの画像データの書き込みに移行する際には、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(−XH×(YC−1)+XB)である。こうして、分割ブロック1300h_aの画像データの書き込みから分割ブロック1300i_aの画像データの書き込みに移行する。この後、分割ブロック1300i_aの画像データの書き込みがWRDMAC211aによって順次行われる。分割ブロック1300i_aの最後のライン320を除く各ライン320の最後尾の画素に書き込み処理が達する毎に、オフセット値、即ち(XH−XC)がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック1300i_aの画像データの書き込みがWRDMAC211aによって順次行われる。
After the writing of the image data of the divided block 1300h_a to the
上記のような処理によって、9つの分割ブロック1300a_a〜1300i_aの画像がWRDMAC211aによってメモリ112に順次書き込まれる。
By the process as described above, images of nine divided
一方、9つの分割ブロック1300a_b〜1300i_bの画像がWRDMAC211bによって以下のようにメモリ112に順次書き込まれる。まず、分割ブロック1300a_bの画像データのメモリ112への書き込みがWRDMAC211bによって以下のように行われる。即ち、書き込みアドレス生成部212bによって発行されるアドレス値に従って、分割ブロック1300a_bの第1番目のライン320の画像データがメモリ112に書き込まれる。分割ブロック1300a_bの第1番目のライン320の先頭の座標は(XA+1,1)であり、分割ブロック1300a_bの第1番目のライン320の最後尾の座標は(XA′,1)である。なお、1回の書き込みアクセスにおけるデータ転送長が1つのライン320に対応するデータ長と同等である場合には、ライン320への書き込みは1回の書き込みアクセスによって完了する。一方、1回の書き込みアクセスにおけるデータ転送長が1つのライン320に対応するデータ長より短い場合には、ライン320への書き込みは複数回の書き込みアクセスによって完了する。
On the other hand, images of nine divided blocks 1300a_b to 1300i_b are sequentially written to the
分割ブロック1300a_bの第1番目のライン320の画像データの書き込みが完了した後、分割ブロック1300a_bの第2番目のライン320の画像データの書き込みがWRDMAC211bによって行われる。分割ブロック1300a_bの第1番目のライン320の最後尾の座標は(XA′,1)であり、分割ブロック1300a_bの第2番目のライン320の先頭の座標は(XA+1,2)である。座標(XA+1,2)に対応するメモリアドレスは、座標(XA′,1)に対応するメモリアドレスの次のメモリアドレスではない。従って、第1番目のライン320の画像データの書き込みから第2番目のライン320の画像データの書き込みに移行する際には、アクセスアドレスのジャンプが行われる。具体的には、分割ブロック1300a_bの第1番目のライン320の最後尾の座標に書き込み処理が達すると、アドレス加算値算出部702によりオフセット値がアドレス値に加算される。即ち、データ転送長に応じた値とオフセット値とを現在のアドレス値に加算することによって、アクセスアドレスのジャンプが行われる。ここで加算されるオフセット値は(XH−XA)である。
After the writing of the image data of the
この後、分割ブロック1300a_bの画像データの書き込みがWRDMAC211bによって順次行われる。分割ブロック1300a_bの最後のライン320を除く各ライン320の最後尾の座標の画素に書き込み処理が達する毎に、オフセット値がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック1300a_bの画像データの書き込みが順次行われる。
After this, the writing of the image data of the divided block 1300a_b is sequentially performed by the
分割ブロック1300a_bの画像データのメモリ112への書き込みが完了した後、分割ブロック1300b_bの画像データの書き込みがWRDMAC211bによって行われる。分割ブロック1300a_bの最後のライン320である第YA番目のライン320の最後尾の画素の座標、即ち、分割ブロック1300a_bの最後尾の画素の座標は(XA′,YA)である。一方、分割ブロック1300b_bの第1番目のライン320の先頭の座標、即ち、分割ブロック1300b_bの先頭の座標は(XA′+XB+1,1)である。座標(XA′+XB+1,1)に対応するメモリアドレスは、座標(XA′,YA)に対応するメモリアドレスの次のメモリアドレスではない。従って、分割ブロック1300a_bの画像データの書き込みから分割ブロック1300b_bの画像データの書き込みに移行する際に、アクセスアドレスのジャンプが行われる。具体的には、分割ブロック1300a_bの最後尾の座標に書き込み処理が達すると、オフセット値がアドレス値に加算される。即ち、データ転送長に応じた値とオフセット値とをアドレス値に加算することによって、アクセスアドレスのジャンプが行われる。ここで加算されるオフセット値は(−XH×(YA−1)+XB)である。座標(XA′,YA)に対応するメモリアドレスから座標(XA′+XB+1,1)に対応するメモリアドレスにジャンプする。オフセット値が負の値であるため、垂直方向のアドレスがYAから1に戻る。こうして、アクセスアドレスがジャンプし、分割ブロック1300b_bの第1番目のライン320の画像データの書き込みがWRDMAC211bによって行われる。分割ブロック1300b_bの第1番目のライン320の画像データの書き込みが完了した後、分割ブロック1300b_bの第2番目のライン320の画像データの書き込みがWRDMAC211bによって行われる。分割ブロック1300b_bの第1番目のライン320の最後尾の座標は(XA′+XB′,1)であり、分割ブロック1300b_bの第2番目のライン320の先頭の座標は(XA′+XB+1,2)である。従って、第1番目のライン320の画像データの書き込みから第2番目のライン320の画像データの書き込みに移行する際に、アクセスアドレスのジャンプが行われる。即ち、分割ブロック1300b_bの第1番目のライン320の最後尾の座標に書き込み処理が達すると、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(XH−XB)である。この後、分割ブロック1300b_bの画像データの書き込みがWRDMAC211bによって順次行われる。分割ブロック1300b_bの最後のライン320を除く各ライン320の最後尾の座標の画素に書き込み処理が達する毎に、オフセット値がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック1300b_bの画像データの書き込みがWRDMAC211bによって順次行われる。
After the writing of the image data of the divided block 1300a_b to the
分割ブロック1300b_bの画像データのメモリ112への書き込みが完了した後、分割ブロック1300c_bの画像データの書き込みがWRDMAC211bによって行われる。分割ブロック1300b_bの最後尾の座標は(XA′+XB′,YA)であり、分割ブロック1300c_bの第1番目のライン320の先頭の座標は(XA′+XB′+XC+1,1)である。座標(XA′+XB′+XC+1,1)に対応するメモリアドレスは、座標(XA′+XB′,YA)に対応するメモリアドレスの次のメモリアドレスではない。従って、分割ブロック1300b_bの画像データの書き込みから分割ブロック1300c_bの画像データの書き込みに移行する際に、アクセスアドレスのジャンプが行われる。具体的には、分割ブロック1300b_bの最後尾の座標に書き込み処理が達した際に、オフセット値がアドレス値に加算される。即ち、データ転送長に応じた値とオフセット値とをアドレス値に加算することによって、座標(XA′+XB′,YA)に対応するメモリアドレスから座標(XA′+XB′+XC+1,1)に対応するメモリアドレスにアクセスアドレスがジャンプする。ここで加算されるオフセット値は(−XH×(YA−1)+XC)である。オフセット値が負の値であるため、垂直方向のアドレスが戻る。こうして、アクセスアドレスがジャンプし、分割ブロック1300c_bの第1番目のライン320の画像データの書き込みがWRDMAC211bによって行われる。
After the writing of the image data of the divided block 1300b_b to the
分割ブロック1300c_bの第1番目のライン320の画像データの書き込みが完了した後、分割ブロック1300c_bの第2番目のライン320の画像データの書き込みがWRDMAC211bによって行われる。分割ブロック1300c_bの第1番目のライン320の最後尾の座標は(XA′+XB′+XC′,1)であり、分割ブロック1300c_bの第2番目のライン320の先頭の座標は(XA′+XB′+XC+1,2)である。従って、第1番目のライン320の画像データの書き込みから第2番目のライン320の画像データの書き込みに移行する際に、アクセスアドレスのジャンプが行われる。即ち、分割ブロック1300c_bの最後尾の座標に書き込み処理が達した際に、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(XH−XC)である。この後、分割ブロック1300c_bの画像データがWRDMAC211bによって順次書き込まれる。分割ブロック1300c_bの最後のライン320を除く各ライン320の最後尾の画素に書き込み処理が達する毎に、オフセット値がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック1300c_bの画像データの書き込みがWRDMAC211bによって順次行われる。
After the writing of the image data of the
分割ブロック1300c_bの画像データのメモリ112への書き込みが完了した後、分割ブロック1300d_bの画像データの書き込みがWRDMAC211bによって行われる。分割ブロック1300c_bの最後尾の座標は、(XA′+XB′+XC′,YA)である。一方、分割ブロック1300d_bの第1番目のライン320の先頭の座標は、(XA+1,YA+1)である。座標(XA+1,YA+1)に対応するメモリアドレスは、座標(XA′+XB′+XC′,YA)に対応するメモリアドレスの次のメモリアドレスではない。従って、分割ブロック1300c_bの画像データの書き込みから分割ブロック1300d_bの画像データの書き込みに移行する際に、アクセスアドレスのジャンプが行われる。具体的には、分割ブロック1300c_bの最後尾の座標に書き込み処理が達した際には、オフセット値がアドレス値に加算される。即ち、データ転送長に応じた値とオフセット値とをアドレス値に加算することによって、アクセスアドレスのジャンプが行われる。ここで加算されるオフセット値は、XAである。この後、分割ブロック1300d_bの画像データの書き込みがWRDMAC211bによって順次行われる。分割ブロック1300d_bの最後のライン320を除く各ライン320の最後尾の座標の画素に書き込み処理が達する毎に、オフセット値、即ち、(XH−XA)がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック1300d_bの画像データの書き込みがWRDMAC211bによって順次行われる。
After the writing of the image data of the divided block 1300c_b into the
分割ブロック1300d_bの画像データのメモリ112への書き込みが完了した後、分割ブロック1300e_bの画像データの書き込みがWRDMAC211bによって行われる。分割ブロック1300d_bの画像データの書き込みから分割ブロック1300e_bの画像データの書き込みに移行する際には、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(−XH×(YB−1)+XB)である。こうして、分割ブロック1300d_bの画像データの書き込みから分割ブロック1300e_bの画像データの書き込みに移行する。そして、分割ブロック1300e_bの画像データの書き込みがWRDMAC211bによって順次行われる。分割ブロック1300e_bの最後のライン320を除く各ライン320の最後尾の座標の画素に書き込み処理が達する毎に、オフセット値、即ち、(XH−XB)がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック1300e_bの画像データの書き込みがWRDMAC211bによって順次行われる。
After the writing of the image data of the divided block 1300d_b into the
分割ブロック1300e_bの画像データのメモリ112への書き込みが完了した後、分割ブロック1300f_bの画像データの書き込みがWRDMAC211bによって行われる。分割ブロック1300e_bの画像データの書き込みから分割ブロック1300f_bの画像データの書き込みに移行する際には、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(−XH×(YB−1)+XC)である。こうして、分割ブロック1300e_bの画像データの書き込みから分割ブロック1300f_bの画像データの書き込みに移行する。この後、分割ブロック1300f_bの画像データの書き込みがWRDMAC211bによって順次行われる。分割ブロック1300f_bの最後のライン320を除く各ライン320の最後尾の画素に書き込み処理が達する毎に、オフセット値、即ち、(XH−XC)がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック1300f_bの画像データの書き込みがWRDMAC211bによって順次行われる。
After the writing of the image data of the divided block 1300e_b into the
分割ブロック1300f_bの画像データのメモリ112への書き込みが完了した後、分割ブロック1300g_bの画像データの書き込みがWRDMAC211bによって行われる。分割ブロック1300f_bの最後尾の座標は(XA′+XB′+XC′,YA+YB)であり、分割ブロック1300g_bの第1番目のライン320の先頭の座標は、(XA+1,YA+YB+1)である。座標(XA+1,YA+YB+1)に対応するメモリアドレスは、座標(XA′+XB′+XC′,YA+YB)に対応するメモリアドレスの次のメモリアドレスではない。従って、分割ブロック1300f_bの画像データの書き込みから分割ブロック1300g_bの画像データの書き込みに移行する際に、アクセスアドレスのジャンプが行われる。具体的には、分割ブロック1300f_bの最後尾の座標に書き込み処理が達した際には、オフセット値がアドレス値に加算される。即ち、データ転送長に応じた値とオフセット値とをアドレス値に加算することによって、アクセスアドレスのジャンプが行われる。ここで加算されるオフセット値はXAである。この後、分割ブロック1300g_bの画像データの書き込みがWRDMAC211bによって順次行われる。分割ブロック1300g_bの最後のライン320を除く各ライン320の最後尾の座標の画素に書き込み処理が達する毎に、オフセット値、即ち、(XH−XA)がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック1300g_bの画像データの書き込みがWRDMAC211bによって順次行われる。
After the writing of the image data of the divided
分割ブロック1300g_bの画像データのメモリ112への書き込みが完了した後、分割ブロック1300h_bの画像データの書き込みがWRDMAC211bによって行われる。分割ブロック1300g_bの画像データの書き込みから分割ブロック1300h_bの画像データの書き込みに移行する際に、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(−XH×(YC−1)+XB)である。こうして、分割ブロック1300g_bの画像データの書き込みから分割ブロック1300h_bの画像データの書き込みに移行する。この後、分割ブロック1300h_bの画像データの書き込みがWRDMAC211bによって順次行われる。分割ブロック1300h_bの最後のライン320を除く各々のライン320の最後尾の画素に書き込み処理が達する毎に、オフセット値、即ち(XH−XB)がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック1300h_bの画像データの書き込みがWRDMAC211bによって順次行われる。
After the writing of the image data of the divided block 1300g_b to the
分割ブロック1300h_bの画像データのメモリ112への書き込みが完了した後、分割ブロック1300i_bの画像データの書き込みがWRDMAC211bによって行われる。分割ブロック1300h_bの画像データの書き込みから分割ブロック1300i_bの画像データの書き込みに移行する際に、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(−XH×(YC−1)+XC)である。こうして、分割ブロック1300h_bの画像データの書き込みから分割ブロック1300i_bの画像データの書き込みに移行する。この後、分割ブロック1300i_bの画像データの書き込みがWRDMAC211bによって順次行われる。分割ブロック1300i_bの最後のライン320を除く各ライン320の最後尾の画素に書き込み処理が達する毎に、オフセット値、即ち、(XH−XC)がアドレス値に加算される。これにより、アクセスアドレスを順次ジャンプさせつつ、分割ブロック1300i_bの画像データの書き込みがWRDMAC211bによって順次行われる。
After the writing of the image data of the divided block 1300h_b into the
上記のような処理によって、9つの分割ブロック1300a_b〜1300i_bの画像がWRDMAC211bによってメモリ112に順次書き込まれる。
By the process as described above, the images of nine divided blocks 1300a_b to 1300i_b are sequentially written to the
なお、本実施形態において行われる読み出し処理は、1つのRDDMAC213によって行われる。本実施形態において行われる読み出し処理は、第1実施形態において上述した読み出し処理と同様であるため、説明を省略する。
Note that the read processing performed in the present embodiment is performed by one
次に、DMAC210aとメモリI/F205と追いかけ制御部200aとの間で入出力される信号について図12を用いて説明する。
Next, signals input / output between the DMAC 210a, the memory I /
図12に示すように、DMAC210aに備えられたWRDMAC211a、211bからそれぞれ出力される書き込みリクエスト信号WR_REQ_a、WR_REQ_bが、メモリI/F205に入力される。書き込みリクエスト信号WR_REQ_a、WR_REQ_bは、メモリ112への画像データの書き込みをメモリI/F205に対して要求するための信号である。書き込みリクエスト信号WR_REQ_a、WR_REQ_bは、例えば、以下のようになった際に発行される。即ち、1つのライン320又はその一部の画像データをWRDMAC211a、211bが補正処理部104から受信し、当該1つのライン320又はその一部の画像データをメモリI/F205に送信可能になった際に発行される。
As shown in FIG. 12, write request signals WR_REQ_a and WR_REQ_b output from the WRDMACs 211 a and 211 b included in the DMAC 210 a are input to the memory I /
メモリI/F205からパルス状に出力されるアクノリッジ信号WR_ACK_a、WR_ACK_bは、WRDMAC211a、211bにそれぞれ入力される。アクノリッジ信号WR_ACK_a、WR_ACK_bは、例えば、以下のようになった際に出力される。即ち、WRDMAC211a、211bからの書き込みリクエスト信号WR_REQ_a、WR_REQ_bをメモリI/F205が受信し、書き込みデータWR_DATA_a、WR_DATA_bをメモリI/F205が受信可能になった際に出力される。WRDMAC211a、211bは、アクノリッジ信号WR_ACK_a、WR_ACK_bをそれぞれ受信した後、以下のような処理を行う。即ち、WRDMAC211a、211bは、例えば1つのライン320又はその一部の画像データである書き込みデータWR_DATA_a、WR_DATA_bを、メモリI/F205を介してメモリ112に書き込む。書き込みアドレス生成部212a、212bは、アクノリッジ信号WR_ACK_a、WR_ACK_bを受信した後、次の書き込みに備えて、アドレス値のインクリメントを行い、必要に応じて各種オフセット値をアドレス値に加算する。
The acknowledge signals WR_ACK_a and WR_ACK_b output in a pulse form from the memory I /
DMAC210aに備えられたRDDMAC213からの読み出しリクエスト信号RD_REQは、追いかけ制御部200aの読み出し座標計算部202と読み出しリクエストマスク部204とに入力される。読み出しリクエスト信号RD_REQは、メモリ112からの画像データの読み出しをメモリI/F205に要求するための信号である。読み出しリクエスト信号RD_REQは、読み出しリクエストマスク部204を介して、読み出しリクエスト信号RD_REQ_MASK_OUTとしてメモリI/F205に入力される。読み出しリクエスト信号RD_REQは、例えば1つのライン320又はその一部の画像データをRDDMAC213が受信可能になった際に発行される。
The read request signal RD_REQ from the
メモリI/F205からパルス状に出力されるアクノリッジ信号RD_ACKは、RDDMAC213に入力される。アクノリッジ信号RD_ACKは、例えば、読み出しリクエスト信号RD_REQ_MASK_OUTをメモリI/F205が受信し、読み出しデータRD_DATAをメモリI/F205が送信可能になった際に出力される。RDDMAC213は、アクノリッジ信号RD_ACKを受信した後、例えば1つのライン320又はその一部の画像データである読み出しデータRD_DATAを、メモリI/F205を介してメモリ112から読み出す。RDDMAC213は、メモリ112から読み出した読み出しデータRD_DATAを、現像処理部109a、109bに送信する。読み出しアドレス生成部214は、アクノリッジ信号RD_ACKを受信した後、次の読み出しに備えて、アドレス値のインクリメントを行い、必要に応じて各種オフセット値をアドレス値に加算する。
The acknowledge signal RD_ACK output in a pulse form from the memory I /
上述したように、書き込みアドレス生成部212a、212bは、アクノリッジ信号WR_ACKを受信した後、次の書き込みに備えて、アドレス値のインクリメントを行い、必要に応じて各種オフセット値をアドレス値に加算する。オフセット値をアドレス値に加算する際には、書き込みオフセット信号WR_OFFSET1_a〜WR_OFFSET3_aがWRDMAC211aにより発行される。また、オフセット値をアドレス値に加算する際には、書き込みオフセット信号WR_OFFSET1_b〜WR_OFFSET3_bがWRDMAC211bにより発行される。
As described above, after receiving the acknowledge signal WR_ACK, the write
WRDMAC211aにより発行される書き込みオフセット信号WR_OFFSET1_a〜WR_OFFSET3_aは、追いかけ制御部200の書き込み座標計算部201a及び書き込み座標統合部1201に入力される。WRDMAC211bにより発行される書き込みオフセット信号WR_OFFSET1_b〜WR_OFFSET3_bは、追いかけ制御部200aの書き込み座標計算部201b及び書き込み座標統合部1201に入力される。
The write offset signals WR_OFFSET1_a to WR_OFFSET3_a issued by the
書き込み座標計算部201aは、書き込みオフセット信号WR_OFFSET1_a〜WR_OFFSET3_aに基づいて、以下の処理を行う。即ち、書き込み座標計算部201aは、書き込み処理がどこまで到達したかを示す第1〜第3の書き込み座標(HW1_a,VW1_a)〜(HW3_a,VW3_a)をそれぞれ算出する。書き込み座標計算部201bは、書き込みオフセット信号WR_OFFSET1_b〜WR_OFFSET3_bに基づいて、以下の処理を行う。即ち、書き込み座標計算部201bは、書き込み処理がどこまで到達したかを示す第1〜第3の書き込み座標(HW1_b,VW1_b)〜(HW3_b,VW3_b)をそれぞれ算出する。第1の書き込み座標(HW1_a,VW1_a)、(HW1_b,VW1_b)は、分割ブロック1300のうちの最後のライン320を除くライン320の最後尾の画素に書き込み処理が到達した際にそれぞれ更新される。第1の書き込み座標(HW1_a,VW1_a)、(HW1_b,VW1_b)は、書き込み処理が完了したライン320のうちの最後のライン320を除くライン320の最後尾の画素の座標を示す。第2の書き込み座標(HW2_a,VW2_a)は、ブロックライン1321の複数の分割ブロック1300*_aのうちの最後を除く分割ブロック1300*_aの最後尾の画素に書き込み処理が達した際に更新される。第2の書き込み座標(HW2_b,VW2_b)は、ブロックライン1321の複数の分割ブロック1300*_bのうちの最後を除く分割ブロック1300*_bの最後尾の画素に書き込み処理が達した際に更新される。第2の書き込み座標(HW2_a,VW2_a)は、書き込み処理が完了した分割ブロック1300*_aのうちの最後の分割ブロックの最後尾の画素の座標を示す。第2の書き込み座標(HW2_b,VW2_b)は、書き込み処理が完了した分割ブロック1300*_bのうちの最後の分割ブロックの最後尾の画素の座標を示す。第3の書き込み座標(HW3_a、VW3_a)、(HW3_b、VW3_b)は、複数のブロックライン1321のうちの最後のブロックライン1321を除くブロックライン1321の最後尾の画素に書き込み処理が達した際に更新される。第3の書き込み座標(HW3_a、VW3_a)、(HW3_b、VW3_b)は、書き込み処理が完了したブロックライン1321の最後尾の画素の座標を示す。なお、WRDMAC211aから発せられる各種の書き込みオフセット信号WR_OFFSET1_a〜WR_OFFSET3_aは、書き込みリクエスト信号WR_REQ_aにそれぞれ同期してHighレベルに出力される。また、WRDMAC211bから発せられる各種の書き込みオフセット信号WR_OFFSET1_b〜WR_OFFSET3_bは、書き込みリクエスト信号WR_REQ_bにそれぞれ同期してHighレベルに出力される。
The writing coordinate calculation unit 201a performs the following processing based on the writing offset signals WR_OFFSET1_a to WR_OFFSET3_a. That is, the write coordinate calculating unit 201a calculates first through third write coordinates (H W1_a, V W1_a) indicating whether it has reached the writing process is far ~ (H W3_a, V W3_a), respectively. The writing coordinate
このように、書き込み座標計算部201a、201bは、画像に含まれる複数のブロック320のうちの書き込みが完了したライン320の位置を示す書き込み座標を書き込みオフセット信号に基づいて算出する書き込み座標算出手段として機能し得る。書き込み座標計算部201a、201bは、1フレームの画像に含まれる複数のブロック320の書き込みが完了する毎に、書き込み座標を更新する。読み出し座標計算部202は、読み出しの対象となる部分の最後尾を示す読み出し座標を、読み出しオフセット信号及びデータ転送長信号に基づいて算出する読み出し座標算出手段として機能し得る。
As described above, the writing coordinate
上述したように、読み出しアドレス生成部214は、アクノリッジ信号RD_ACKを受信した後、次の読み出しに備えて、アドレス値のインクリメントを行い、必要に応じてオフセット値をアドレス値に加算する。オフセット値をアドレス値に加算する際には、読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3がRDDMAC213により発行される。RDDMAC213により発行される読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3は、追いかけ制御部200の読み出し座標計算部202に入力される。読み出し座標計算部202は、次に読み出しリクエスト信号RD_REQ_MASK_OUTがHighレベルになった際に読み出し処理の対象となる部分の最後尾の画素の座標を示す読み出し座標(HR,VR)を算出する。読み出し座標計算部202は、読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3及びデータ転送長信号RD_TRANSに基づいて、読み出し座標を算出する。
As described above, after receiving the acknowledge signal RD_ACK, the read
読み出し座標計算部202は、データ転送長信号RD_TRANSによって示されるデータ転送長の分だけHRの値を増加させる。読み出しオフセット信号RD_OFFSET1を受信した場合には、読み出し座標計算部202は、分割ブロック1300の水平方向のサイズ(画素数)の分だけHRの値を減少させるとともに、VRの値を1だけ増加させる。また、読み出しオフセット信号RD_OFFSET2を受信した場合、読み出し座標計算部202は、当該分割ブロック1300に含まれるライン320の数から1を減算した値の分だけVRの値を減少させる。また、読み出しオフセット信号RD_OFFSET3を受信した場合、読み出し座標計算部202は、ブロックライン1321の水平方向のサイズ(画素数)の分だけHRの値を減少させるとともに、VRの値を1だけ増加させる。読み出し座標計算部202は、RDDMAC213から読み出しリクエストマスク部204に読み出しリクエスト信号RD_REQが発せられた際に、読み出し座標(HR、VR)を更新する。
Reading coordinate
書き込み座標計算部201aによって算出された第1〜第3の書き込み座標(HW1_a,VW1_a)〜(HW3_a,VW3_a)は、書き込み座標統合部1201に入力される。書き込み座標計算部201bによって算出された第1〜第3の書き込み座標(HW1_b,VW1_b)〜(HW3_b,VW3_b)は、書き込み座標統合部1201に入力される。書き込み座標統合部1201は、第1の書き込み座標(HW1_a,VW1_a)と第1の書き込み座標(HW1_b,VW1_b)とに基づいて、画像データの書き込みがどこまで完了しているのかを示す第1の書き込み座標(HW1、VW1)を特定する。書き込み座標統合部1201は、第2の書き込み座標(HW2_a,VW2_a)と第2の書き込み座標(HW2_b,VW2_b)とに基づいて、画像データの書き込みがどこまで完了しているのかを示す第2の書き込み座標(HW2、VW2)を特定する。書き込み座標統合部1201は、第3の書き込み座標(HW3_a,VW3_a)と第3の書き込み座標(HW3_b,VW3_b)とに基づいて、画像データの書き込みがどこまで完了しているのかを示す第3の書き込み座標(HW3、VW3)を特定する。
First to third write coordinates (H W1_a, V W1_a) calculated by writing coordinate calculation unit 201a ~ (H W3_a, V W3_a ) is input to the write coordinate
書き込み座標計算部201aによって算出された書き込み座標(HW2_a、VW2_a)と書き込み座標計算部201bによって算出された書き込み座標(HW2_b、VW2_b)とに基づいて、書き込み座標(HW2、VW2)が決定される。書き込み座標(HW2_a、VW2_a)と書き込み座標(HW2_b、VW2_b)とのうちの垂直方向の座標値が小さい方の書き込み座標が、書き込み座標(HW2、VW2)とされる。ただし、書き込み座標(HW2_a、VW2_a)の垂直方向の座標値と、書き込み座標(HW2_b、VW2_b)の垂直方向の座標値とが等しい場合には、以下のように決定される。即ち、書き込み座標(HW2_a、VW2_a)と書き込み座標(HW2_b、VW2_b)とのうちの水平方向の座標値が大きい方の書き込み座標が、書き込み座標(HW2、VW2)とされる。
Writing coordinate calculation unit writes coordinate calculated by 201a (H W2_a, V W2_a) and Write Write coordinates calculated by the coordinate
書き込み座標計算部201aによって算出された書き込み座標(HW3_a、VW3_a)と書き込み座標計算部201bによって算出された書き込み座標(HW3_b、VW3_b)とに基づいて、書き込み座標(HW3、VW3)が決定される。書き込み座標(HW3_a、VW3_a)と書き込み座標(HW3_b、VW3_b)とのうちの垂直方向の座標値が小さい方の書き込み座標が、書き込み座標(HW3、VW3)とされる。ただし、書き込み座標(HW3_a、VW3_a)の垂直方向の座標値と、書き込み座標(HW3_b、VW3_b)の垂直方向の座標値とが等しい場合には、以下のように決定される。即ち、書き込み座標(HW3_a、VW3_a)と書き込み座標(HW3_b、VW3_b)とのうちの水平方向の座標値が大きい方の書き込み座標が、書き込み座標(HW3、VW3)とされる。
Writing coordinate calculation unit writes coordinate calculated by 201a (H W3_a, V W3_a) and Write Write coordinates calculated by the coordinate
書き込み座標計算部201a、201bによってそれぞれ算出された書き込み座標(HW1_a、VW1_a)、(HW1_b、VW1_b)に基づいて、書き込み座標統合部1201によって書き込み座標(HW1、VW1)が決定される。書き込み座標統合部1201は、WRDMAC211a、211bからそれぞれ出力される書き込みオフセット信号WR_OFFSET2_a、WR_OFFSET2_bをそれぞれカウントする。書き込みオフセット信号WR_OFFSET2_aのカウント値と、書き込みオフセット信号WR_OFFSET2_bのカウント値が等しいことは、以下のようなことを意味する。即ち、WRDMAC211aによって書き込みが行われる分割ブロック1300*_aと、WRDMAC211bによって書き込みが行われる分割ブロック1300*_bとが、同一の分割ブロック1300に含まれていることを意味する。従って、書き込みオフセット信号WR_OFFSET2_aのカウント値と、書き込みオフセット信号WR_OFFSET2_bのカウント値が等しい場合には、書き込み座標(HW1、VW1)を以下のように決定する。書き込み座標(HW1_a、VW1_a)と書き込み座標(HW1_b、VW1_b)とのうちの垂直方向の座標値が小さい方の書き込み座標が、書き込み座標(HW1、VW1)とされる。書き込み座標(HW1_a、VW1_a)の垂直方向の座標値と、書き込み座標(HW1_b、VW1_b)の垂直方向の座標値とが等しい場合には、以下のように決定される。即ち、書き込み座標(HW1_a、VW1_a)と書き込み座標(HW1_b、VW1_b)とのうちの水平方向の座標値が大きい方の書き込み座標が、書き込み座標(HW1、VW1)とされる。書き込みオフセット信号WR_OFFSET2_aのカウント値と、書き込みオフセット信号WR_OFFSET2_bのカウント値とが異なることは、以下のようなことを意味する。即ち、WRDMAC211aによって書き込みが行われる分割ブロック1300*_aと、WRDMAC211bによって書き込みが行われる分割ブロック1300*_bとが、異なる分割ブロック1300にそれぞれ含まれていることを意味する。書き込みオフセット信号WR_OFFSET2_aのカウント値が、書き込みオフセット信号WR_OFFSET2_bのカウント値より小さい場合には、書き込み座標(HW1_a、VW1_a)が書き込み座標(HW1、VW1)とされる。一方、書き込みオフセット信号WR_OFFSET2_bのカウント値が、書き込みオフセット信号WR_OFFSET2_aのカウント値より小さい場合には、書き込み座標(HW1_b、VW1_b)が書き込み座標(HW1、VW1)とされる。
The writing coordinates (H W1 , V W1 ) are determined by the writing coordinates
WRDMAC211aは、1つのフレームに含まれる複数の分割ブロック1300*_aの全ての画像データのメモリ112への書き込みが完了した際には、書き込み完了信号WR_END_aを書き込み座標統合部1201に出力する。WRDMAC211bは、1つのフレームに含まれる複数の分割ブロック1300*_bの全ての画像データのメモリ112への書き込みが完了した際には、書き込み完了信号WR_END_bを書き込み座標統合部1201に出力する。書き込み座標統合部1201は、書き込み完了信号WR_END_aと書き込み完了信号WR_END_bの両方が入力された場合に、1フレーム分の画像の書き込みが完了したことを示す書き込み完了信号WR_ENDを出力する。
The
座標比較部203には、書き込み座標統合部1201によって特定される第1〜第3の書き込み座標(HW1、VW1)〜(HW3、VW3)が入力される。また、座標比較部203には、読み出し座標計算部202によって算出される読み出し座標(HR、VR)が入力される。座標比較部203は、書き込み処理が完了したライン320の位置を把握するための書き込み座標(HW1、VW1)〜(HW3、VW3)と、次に読み出し処理の対象となる部分の最後尾の位置を把握するための読み出し座標(HR、VR)とを比較する。書き込み座標(HW1、VW1)〜(HW3、VW3)と読み出し座標(HR、VR)とを比較した結果、上記の条件式(1)〜(3)のうちのいずれかを満たす場合には、読み出し処理が行われることが好ましい。そこで、条件式(1)〜(3)のいずれかを満たす場合には、座標比較部203は、読み出しリクエストマスク部204に対して出力するリクエストマスク信号REQ_MASKをLowレベルにする。リクエストマスク信号REQ_MASKをLowレベルにした場合には、RDDMAC213から発せられる読み出しリクエスト信号RD_REQが読み出しリクエストマスク部204においてマスクされず、読み出し処理が行われる。一方、条件式(1)〜(3)のいずれをも満たさない場合には、読み出し処理を行わない。そこで、座標比較部203は、条件式(1)〜(3)のいずれをも満たさない場合には、読み出しリクエストマスク部204に対して出力するリクエストマスク信号REQ_MASKをHighレベルにする。
The first to third writing coordinates (H W1 , V W1 ) to (H W3 , V W3 ) specified by the writing coordinate
なお、条件式(1)〜(3)のいずれかを満たすか否かの判定は、クロック信号CLKの立ち上がりのタイミングにおいて実施される。こうして、リクエストマスク信号REQ_MASKの制御が、座標比較部203によって行われる。
The determination as to whether or not any one of the conditional expressions (1) to (3) is satisfied is performed at the rising timing of the clock signal CLK. Thus, control of the request mask signal REQ_MASK is performed by the coordinate
リクエストマスク信号REQ_MASKがLowレベルである場合、読み出しリクエストマスク部204は、メモリI/F205に対して出力する読み出しリクエスト信号RD_REQ_MASK_OUTをHighレベルとする。一方、リクエストマスク信号REQ_MASKがHighレベルである場合、読み出しリクエストマスク部204は、メモリI/F205に対して出力する読み出しリクエスト信号RD_REQ_MASK_OUTをLowレベルとする。
When the request mask signal REQ_MASK is at the low level, the read
1フレーム分の画像データの書き込み処理が完了した際には、書き込み完了信号WR_ENDが書き込み座標統合部1201から座標比較部203に供給される。座標比較部203は、書き込み完了信号WR_ENDを受信した際には、読み出しリクエスト信号RD_REQのマスクを解除すべく、リクエストマスク信号REQ_MASKをLowレベルとする。1フレーム分の画像データの書き込みが完了した後、RDDMAC213から出力される読み出しリクエスト信号RD_REQは、読み出しリクエストマスク部204によってマスクされることはない。かかる読み出しリクエスト信号RD_REQは、読み出しリクエスト信号RD_REQ_MASK_OUT信号としてメモリI/Fに出力される。なお、RDDMAC213から座標比較部203に供給される読み出し開始信号RD_STARTに基づいて、追いかけ制御のマスク制御が開始される。
When the writing process of the image data for one frame is completed, the writing completion signal WR_END is supplied from the writing coordinate
追いかけ制御部200によって行われる動作の詳細について図14及び図15を用いて説明する。図14は、書き込み処理と読み出し処理とにおけるブロック分割の態様の例を示す図である。図14は、書き込み処理用のブロック分割の態様と読み出し処理用のブロック分割の態様とが互いに異なっている例を示している。より具体的には、書き込み用のブロック320のサイズと読み出し用のブロック320のサイズとが互いに異なっている。図14は、画像の書き込みを行う処理部(機能ブロック)におけるブロック分割の態様と、画像の読み出しを行う処理部(機能ブロック)におけるブロック分割の態様とが異なる場合に相当する。書き込み処理用のブロックは実線で示されており、読み出し処理用のブロックは破線で示されている。書き込み処理用のブロックの水平方向の分割数が例えば6に設定され、垂直方向の分割数が例えば3に設定されている。即ち、18個の書き込み処理用の分割ブロックWR0_0_A〜WR2_2_A、WR0_0_B〜WR2_2_Bが設定されている。一方、読み出し処理用のブロックの水平方向の分割数が例えば4、垂直方向の分割数が例えば3に設定されている。即ち、12個の読み出し用の分割ブロックRD0_0〜RD3_2が設定されている。
The details of the operation performed by the
書き込み用の分割ブロックWR0_*_A、WR0_*_B(*は0〜2の整数)の水平方向の画素数は、それぞれWXAとする。書き込み用の分割ブロックWR1_*_A、WR1_*_B(*は0〜2の整数)の水平方向の画素数は、それぞれWXBとする。書き込み用の分割ブロックWR2_*_A、WR2_*_B(*は0〜2の整数)の水平方向の画素数は、それぞれWXCとする。書き込み用の分割ブロックWR0_*_Aの水平方向の画素数WXAと、書き込み用の分割ブロックWR0_*_Bの水平方向の画素数WXAとの和は、WXA′とする。書き込み用の分割ブロックWR1_*_Aの水平方向の画素数WXBと、書き込み用の分割ブロックWR1_*_Bの水平方向の画素数WXBとの和は、WXB′とする。書き込み用の分割ブロックWR2_*_Aの水平方向の画素数WXCと、書き込み用の分割ブロックWR1_*_Bの水平方向の画素数WXCとの和は、WXC′とする。 The number of pixels in the horizontal direction of the write divided blocks WR0 _ * _ A and WR0 _ * _ B (* is an integer of 0 to 2) is WXA. The number of pixels in the horizontal direction of the write divided blocks WR1 _ * _ A and WR1 _ * _ B (* is an integer of 0 to 2) is WXB. The number of pixels in the horizontal direction of the divided blocks WR2 _ * _ A and WR2 _ * _ B (* is an integer of 0 to 2) for writing is WXC. The sum of the number WXA of pixels in the horizontal direction of the divided block WR0 _ * _ A for writing and the number WXA of pixels in the horizontal direction of the divided block WR0 _ * _ B for writing is WXA '. The sum of the number WXB of pixels in the horizontal direction of the divided block WR1 _ * _ A for writing and the number WXB of pixels in the horizontal direction of the divided block WR1 _ * _ B for writing is WXB '. The sum of the number WXC of pixels in the horizontal direction of the divided block WR2 _ * _ A for writing and the number WXC of pixels in the horizontal direction of the divided block WR1 _ * _ B for writing is WXC '.
書き込み用の分割ブロックWR*_0_A、WR*_0_B(*は0〜2の整数)のライン数、即ち、垂直方向の画素数は、それぞれWYA=4とする。書き込み用の分割ブロックWR*_1_A、WR*_1_B(*は0〜2の整数)のライン数は、それぞれWYB=4とする。書き込み用の分割ブロックWR*_2_A、WR*_2_B(*は0〜2の整数)のライン数は、それぞれWYC=6とする。なお、ここでは、説明を簡略化するため、WYA=4、WYB=4、WYC=6とするが、実際には垂直方向のライン数はこれらの値よりも遙かに大きい。 The number of lines of divided blocks WR * _0_A and WR * _0_B (* is an integer of 0 to 2) for writing, that is, the number of pixels in the vertical direction is set to WYA = 4. The number of lines of the write divided blocks WR * _1_A and WR * _1_B (* is an integer from 0 to 2) is WYB = 4. The number of lines of the write divided blocks WR * _2_A and WR * _2_B (* is an integer from 0 to 2) is WYC = 6. Here, in order to simplify the description, WYA = 4, WYB = 4, and WYC = 6, but the number of lines in the vertical direction is actually much larger than these values.
読み出し用の分割ブロックRD0_*、RD1_*、RD2_*、RD3_*(*は0〜3の整数)の水平方向の画素数は、それぞれRXA、RXB、RXC、RXDとする。読み出し用の分割ブロックRD*_0、RD*_1、RD*_2(*は0〜3)のライン数、即ち、垂直方向の画素数は、それぞれRYA=4、RYB=4,RYC=6とする。なお、ここでは、説明を簡略化するため、RYA=4、RYB=4、RYC=6とするが、実際には垂直方向のライン数はこれらの値よりも遙かに大きい。ただし、各分割ブロックの水平方向における画素数は、以下の条件(12)〜(14)を満たすものとする。
RXA<WXA′ ・・・(12)
(RXA+RXB)<(WXA′+WXB′) ・・・(13)
(RXA+RXB+RXC)<(WXA′+WXB′+WXC′) ・・・(14)
The numbers of pixels in the horizontal direction of the divided blocks RD0_ *, RD1_ *, RD2_ *, RD3_ * (* is an integer from 0 to 3) for reading are RXA, RXB, RXC, and RXD, respectively. The number of lines of divided blocks RD * _0, RD * _1, and RD * _2 (* is 0 to 3) for reading, that is, the number of pixels in the vertical direction are RYA = 4, RYB = 4, and RYC = 6, respectively. . Here, in order to simplify the description, RYA = 4, RYB = 4, and RYC = 6, but in actuality, the number of lines in the vertical direction is much larger than these values. However, the number of pixels in the horizontal direction of each divided block is assumed to satisfy the following conditions (12) to (14).
RXA <WXA '(12)
(RXA + RXB) <(WXA '+ WXB') (13)
(RXA + RXB + RXC) <(WXA '+ WXB' + WXC ') (14)
図15は、メモリ制御部120aの動作を示すタイミングチャートである。図15には、書き込み用の分割ブロックWR0_0_A〜WR2_0_A、WR0_0_B〜WR2_0_Bの書き込み処理が行われる期間(書き込み期間)が示されている。また、図15には、読み出し用の分割ブロックRD0_0〜RD3_0の読み出し処理が行われる期間(読み出し期間)が示されている。ここでは、各分割ブロックWR0_0_A〜WR2_0_A、WR0_0_B〜WR2_0_B、RD0_0〜RD3_0の水平方向のサイズが、1回のアクセスで転送可能なデータ長以下である場合を例に説明する。説明を簡略化すべく、1回のリクエストで1ライン分のデータが転送される場合を例に説明する。
FIG. 15 is a timing chart showing the operation of the
まず、1フレームの画像の書き込み処理や読み出し処理を開始する前に、書き込み座標計算部201a、201b及び読み出し座標計算部202において初期化が行われる。即ち、書き込み座標計算部201aにおいて、第1の書き込み座標(HW1_a,VW1_a)、第2の書き込み座標(HW2_a,VW2_a)及び第3の書き込み座標(HW3_a,VW3_a)が(0,1)に初期化される。書き込み座標計算部201bにおいて、第1の書き込み座標(HW1_b,VW1_b)、第2の書き込み座標(HW2_b,VW2_b)及び第3の書き込み座標(HW3_b,VW3_b)が(0,1)に初期化される。読み出し座標計算部202において、読み出し座標(HR、VR)が(0,1)に初期化される。そして、書き込み用の分割ブロックWR0_0_Aの書き込みと、書き込み用の分割ブロックWR0_0_Bの書き込みと、読み出し用の分割ブロックRD0_0の読み出しとが開始される。
First, before the writing process and the reading process of an image of one frame are started, initialization is performed in the writing coordinate
まず、初期の段階においては、書き込み用の分割ブロックWR0_0_A〜WR2_2_A、WR0_0_B〜WR2_2_Bのいずれのライン320の画像データもメモリ112に書き込まれていない。従って、この段階では、以下に示すように、書き込み用の分割ブロックWR0_0の第1番目のライン320の画像データの読み出しは行われない。即ち、まず、RDDMAC213から出力される読み出しリクエスト信号RD_REQがHighレベルに設定される。また、RDDMAC213から出力される第1の読み出しオフセット信号RD_OFFSET1が、読み出しリクエスト信号RD_REQに同期してHighレベルとなる。読み出しリクエスト信号RD_REQの立ち上がりに同期してパルス状に出力される読み出し座標更新信号の立ち下がりの時刻tr0において、読み出し座標(HR,VR)が読み出し座標計算部202によって更新される。読み出し用の分割ブロックRD0_0の第1番目のライン320の最後尾の座標は(RXA,1)であるため、読み出し座標(HR,VR)は(RXA,1)に更新される。この段階では、書き込み座標(HW1,VW1)〜(HW3,VW3)はいずれも(0,1)である。条件式(1)〜(3)のいずれをも満たさないため、座標比較部203から出力されるリクエストマスク信号REQ_MASKはHighレベルである。リクエストマスク信号REQ_MASKがHighレベルであるため、読み出しリクエストマスク部204からメモリI/F205に出力される読み出しリクエスト信号RD_REQ_MASK_OUTはLowレベルである。従って、書き込み用の分割ブロックWR0_0の第1番目のライン320の画像データのメモリ112からの読み出しは行われない。
First, at the initial stage, the image data of any
一方、書き込み用の分割ブロックWR0_0_Aの第1番目のライン320の画像データのメモリ112への書き込みが以下のように行われる。即ち、WRDMAC211aから出力される書き込みリクエスト信号WR_REQ_aがHighレベルに設定される。WRDMAC211aから出力される第1の書き込みオフセット信号WR_OFFSET1_aが、書き込みリクエスト信号WR_REQ_aに同期してHighレベルとなる。メモリI/F205からWRDMAC211aにアクノリッジ信号WR_ACK_aが返信され、書き込み用の分割ブロックWR0_0_Aの第1番目のライン320の画像データのメモリ112への書き込みが行われる。アクノリッジ信号WR_ACK_aの立ち下がりに同期して書き込みリクエスト信号WR_REQ_aがLowレベルとなる。また、書き込みリクエスト信号WR_REQ_aの立ち下がりに同期して第1の書き込みオフセット信号WR_OFFSET1_aがLowレベルとなる。アクノリッジ信号WR_ACK_aに同期する第1の書き込み座標更新信号の立ち下がりの時刻において、第1の書き込み座標(HW1_a,VW1_a)が書き込み座標計算部201aによって更新される。書き込み用の分割ブロックWR0_0_Aの第1番目のライン320の最後尾の座標は(WXA,1)であるため、第1の書き込み座標(HW1_a,VW1_a)は(WXA,1)に更新される。
On the other hand, writing of the image data of the
また、書き込み用の分割ブロックWR0_0_Bの第1番目のライン320の画像データのメモリ112への書き込みが以下のように行われる。即ち、WRDMAC211bから出力される書き込みリクエスト信号WR_REQ_bがHighレベルに設定される。WRDMAC211bから出力される第1の書き込みオフセット信号WR_OFFSET1_bが、書き込みリクエスト信号WR_REQ_bに同期してHighレベルとなる。メモリI/F205からWRDMAC211bにアクノリッジ信号WR_ACK_bが返信され、書き込み用の分割ブロックWR0_0_Bの第1番目のライン320の画像データのメモリ112への書き込みが行われる。アクノリッジ信号WR_ACK_bの立ち下がりに同期して書き込みリクエスト信号WR_REQ_bがLowレベルとなる。また、書き込みリクエスト信号WR_REQ_bの立ち下がりに同期して第1の書き込みオフセット信号WR_OFFSET1_bがLowレベルとなる。アクノリッジ信号WR_ACK_bに同期する第1の書き込み座標更新信号の立ち下がりの時刻tw0において、第1の書き込み座標(HW1_b,VW1_b)が書き込み座標計算部201bによって更新される。書き込み用の分割ブロックWR0_0_Bの第1番目のライン320の最後尾の座標は(WXA′,1)であるため、第1の書き込み座標(HW1_b,VW1_b)は(WXA′,1)に更新される。
Also, the image data of the
書き込み座標計算部201a、201bによって算出された書き込み座標(HW1_a、VW1_a)、(HW1_b、VW1_b)に基づいて、書き込み座標(HW1、VW1)が書き込み座標統合部1201によって決定される。書き込みオフセット信号WR_OFFSET2_aのカウント値は0であり、書き込みオフセット信号WR_OFFSET2_bのカウント値も0であり、これらのカウント値は互いに等しい。また、書き込み座標(HW1_a、VW1_a)の垂直方向の座標値は1であり、書き込み座標(HW1_b、VW1_b)の垂直方向の座標値も1であり、これらの垂直方向の座標値は互いに等しい。従って、書き込み座標統合部1201は、書き込み座標(HW1、VW1)を(WXA′,1)とする。
The writing coordinates (H W1 , V W1 ) are determined by the writing coordinates
この段階では、条件式(1)を満たすため、座標比較部203から発せられるリクエストマスク信号REQ_MASKはLowレベルとなる。リクエストマスク信号REQ_MASKがLowレベルとなるため、読み出しリクエストマスク部204からメモリI/F205に出力される読み出しリクエスト信号RD_REQ_MASK_OUTはHighレベルとなる。この後、メモリI/F205からRDDMAC213にアクノリッジ信号RD_ACKがパルス状に返信され、読み出し用の分割ブロックRD0_0の第1番目のライン320の画像データのメモリ112からの読み出しが行われる。アクノリッジ信号RD_ACKの立ち下がりに同期して、読み出しリクエスト信号RD_REQ、RD_REQ_MASK_OUTがLowレベルとなる。また、読み出しリクエスト信号RD_REQの立ち下がりに同期して第1の読み出しオフセット信号RD_OFFSET1がLowレベルとなる。
At this stage, since the conditional expression (1) is satisfied, the request mask signal REQ_MASK issued from the coordinate
次に、読み出しリクエスト信号RD_REQがHighレベルに設定される。読み出しリクエスト信号RD_REQに同期して、第1の読み出しオフセット信号RD_OFFSET1がHighレベルとなる。読み出しリクエスト信号RD_REQの立ち上がりに同期してパルス状に発せられる読み出し座標更新信号の立ち下がりの時刻tr1において、読み出し座標(HR,VR)が読み出し座標計算部202によって更新される。読み出し用の分割ブロックRD0_0の第1番目のライン320の画像データのメモリ112からの読み出しは完了しているため、次の読み出し処理において読み出し対象となるのは、読み出し用の分割ブロックRD0_0の第2番目のライン320である。読み出し用の分割ブロックRD0_0の第2番目のライン320の最後尾の座標は(RXA,2)である。このため、読み出し座標(HR,VR)は(RXA,2)に更新される。この段階では、第1の書き込み座標(HW1,VW1)は(WXA′,1)であり、第2の書き込み座標(HW2,VW2)と第3の書き込み座標(HW3,VW3)はいずれも(0,1)である。条件式(1)〜(3)のいずれをも満たさないため、座標比較部203から発せられるリクエストマスク信号REQ_MASKはHighレベルである。リクエストマスク信号REQ_MASKがHighレベルであるため、読み出しリクエストマスク部204からメモリI/F205に出力される読み出しリクエスト信号RD_REQ_MASK_OUTはLowレベルである。従って、この段階では、書き込み用の分割ブロックWR0_0の第2番目のライン320の画像データはメモリ112から読み出されない。
Next, the read request signal RD_REQ is set to the high level. The first read offset signal RD_OFFSET1 becomes high level in synchronization with the read request signal RD_REQ. The read coordinate (H R , V R ) is updated by the read coordinate
一方、書き込み用の分割ブロックWR0_0_Aの第2番目のライン320の画像データのメモリ112への書き込みが以下のように行われる。即ち、書き込みリクエスト信号WR_REQ_aがHighレベルに設定される。書き込みリクエスト信号WR_REQ_aに同期して、第1の書き込みオフセット信号WR_OFFSET1_aがHighレベルとなる。この後、アクノリッジ信号WR_ACK_aが返信され、書き込み用の分割ブロックWR0_0_Aの第2番目のライン320の画像データのメモリ112への書き込みが行われる。アクノリッジ信号WR_ACK_aの立ち下がりに同期して書き込みリクエスト信号WR_REQ_aがLowレベルとなる。書き込みリクエスト信号WR_REQ_aの立ち下がりに同期して第1の書き込みオフセット信号WR_OFFSET1_aがLowレベルとなる。アクノリッジ信号WR_ACK_aに同期する第1の書き込み座標更新信号の立ち下がりの時刻において、第1の書き込み座標(HW1_a,VW1_a)が更新される。書き込み用の分割ブロックWR0_0_Aの第2番目のライン320の最後尾の座標は(WXA,2)であるため、第1の書き込み座標(HW1_a,VW1_a)は(WXA,2)に更新される。
On the other hand, the writing of the image data of the
また、書き込み用の分割ブロックWR0_0_Bの第2番目のライン320の画像データのメモリ112への書き込みが以下のように行われる。即ち、書き込みリクエスト信号WR_REQ_bがHighレベルに設定される。書き込みリクエスト信号WR_REQ_bに同期して、第1の書き込みオフセット信号WR_OFFSET1_bがHighレベルとなる。この後、アクノリッジ信号WR_ACK_bが返信され、書き込み用の分割ブロックWR0_0_Bの第2番目のライン320の画像データのメモリ112への書き込みが行われる。アクノリッジ信号WR_ACK_bの立ち下がりに同期して書き込みリクエスト信号WR_REQ_bがLowレベルとなる。書き込みリクエスト信号WR_REQ_bの立ち下がりに同期して第1の書き込みオフセット信号WR_OFFSET1_bがLowレベルとなる。アクノリッジ信号WR_ACK_bに同期する第1の書き込み座標更新信号の立ち下がりの時刻tw1において、第1の書き込み座標(HW1_b,VW1_b)が更新される。書き込み用の分割ブロックWR0_0_Bの第2番目のライン320の最後尾の座標は(WXA′,2)であるため、第1の書き込み座標(HW1_b,VW1_b)は(WXA′,2)に更新される。
The image data of the
書き込み座標計算部201a、201bによって算出された書き込み座標(HW1_a、VW1_a)、(HW1_b、VW1_b)に基づいて、書き込み座標統合部1201によって書き込み座標(HW1、VW1)が決定される。書き込みオフセット信号WR_OFFSET2_aのカウント値は0であり、書き込みオフセット信号WR_OFFSET2_bのカウント値も0であり、これらのカウント値は互いに等しい。また、書き込み座標(HW1_a、VW1_a)の垂直方向の座標値は2であり、書き込み座標(HW1_b、VW1_b)の垂直方向の座標値も2であり、これらの垂直方向の座標値は互いに等しい。従って、書き込み座標統合部1201は、書き込み座標(HW1、VW1)を(WXA′,2)とする。
The writing coordinate
この段階では、条件式(1)を満たすため、座標比較部203から発せられるリクエストマスク信号REQ_MASKがLowレベルとなり、読み出しリクエスト信号RD_REQ_MASK_OUTがHighレベルとなる。この後、アクノリッジ信号RD_ACKがRDDMAC213に返信され、読み出し用の分割ブロックRD0_0の第2番目のライン320の画像データのメモリ112からの読み出しが行われる。アクノリッジ信号RD_ACKの立ち下がりに同期して、読み出しリクエスト信号RD_REQ、RD_REQ_MASK_OUTがLowレベルとなる。また、読み出しリクエスト信号RD_REQの立ち下がりに同期して第1の読み出しオフセット信号RD_OFFSET1がLowレベルとなる。
At this stage, since the conditional expression (1) is satisfied, the request mask signal REQ_MASK issued from the coordinate
次に、読み出しリクエスト信号RD_REQがHighレベルに設定される。読み出しリクエスト信号RD_REQに同期して、第1の読み出しオフセット信号RD_OFFSET1がHighレベルとなる。読み出しリクエスト信号RD_REQの立ち上がりに同期してパルス状に発せられる読み出し座標更新信号の立ち下がりの時刻tr2において、読み出し座標(HR,VR)が読み出し座標計算部202によって更新される。読み出し用の分割ブロックRD0_0の第2番目のライン320の画像データのメモリ112からの読み出しは完了しているため、次の読み出し処理において読み出し対象となるのは、読み出し用の分割ブロックRD0_0の第3番目のライン320である。読み出し用の分割ブロックRD0_0の第3番目のライン320の最後尾の座標は(RXA,3)である。このため、読み出し座標(HR,VR)は(RXA,3)に更新される。この段階では、第1の書き込み座標(HW1,VW1)は(WXA′,2)であり、第2の書き込み座標(HW2,VW2)と第3の書き込み座標(HW3,VW3)はいずれも(0,1)である。条件式(1)〜(3)のいずれをも満たさないため、座標比較部203から発せられるリクエストマスク信号REQ_MASKはHighレベルである。リクエストマスク信号REQ_MASKがHighレベルであるため、読み出しリクエストマスク部204からメモリI/F205に出力される読み出しリクエスト信号RD_REQ_MASK_OUTはLowレベルである。従って、この段階では、書き込み用の分割ブロックWR0_0の第3番目のライン320の画像データはメモリ112から読み出されない。
Next, the read request signal RD_REQ is set to the high level. The first read offset signal RD_OFFSET1 becomes high level in synchronization with the read request signal RD_REQ. The read coordinate (H R , V R ) is updated by the read coordinate
一方、書き込み用の分割ブロックWR0_0_Aの第3番目のライン320の画像データのメモリ112への書き込みが以下のように行われる。即ち、書き込みリクエスト信号WR_REQ_aがHighレベルに設定される。書き込みリクエスト信号WR_REQ_aに同期して、第1の書き込みオフセット信号WR_OFFSET1_aがHighレベルとなる。この後、アクノリッジ信号WR_ACK_aが返信され、書き込み用の分割ブロックWR0_0_Aの第3番目のライン320の画像データのメモリ112への書き込みが行われる。アクノリッジ信号WR_ACK_aの立ち下がりに同期して書き込みリクエスト信号WR_REQ_aがLowレベルとなる。書き込みリクエスト信号WR_REQ_aの立ち下がりに同期して第1の書き込みオフセット信号WR_OFFSET1_aがLowレベルとなる。アクノリッジ信号WR_ACK_aに同期する第1の書き込み座標更新信号の立ち下がりの時刻において、第1の書き込み座標(HW1_a,VW1_a)が更新される。書き込み用の分割ブロックWR0_0_Aの第3番目のライン320の最後尾の座標は(WXA,3)であるため、第1の書き込み座標(HW1_a,VW1_a)は(WXA,3)に更新される。
On the other hand, the image data of the
また、書き込み用の分割ブロックWR0_0_Bの第3番目のライン320の画像データのメモリ112への書き込みが以下のように行われる。即ち、書き込みリクエスト信号WR_REQ_bがHighレベルに設定される。書き込みリクエスト信号WR_REQ_bに同期して、第1の書き込みオフセット信号WR_OFFSET1_bがHighレベルとなる。この後、アクノリッジ信号WR_ACK_bが返信され、書き込み用の分割ブロックWR0_0_Bの第3番目のライン320の画像データのメモリ112への書き込みが行われる。アクノリッジ信号WR_ACK_bの立ち下がりに同期して書き込みリクエスト信号WR_REQ_bがLowレベルとなる。書き込みリクエスト信号WR_REQ_bの立ち下がりに同期して第1の書き込みオフセット信号WR_OFFSET1_bがLowレベルとなる。アクノリッジ信号WR_ACK_bに同期する第1の書き込み座標更新信号の立ち下がりの時刻tw2において、第1の書き込み座標(HW1_b,VW1_b)が更新される。書き込み用の分割ブロックWR0_0_Bの第3番目のライン320の最後尾の座標は(WXA′,3)であるため、第1の書き込み座標(HW1_b,VW1_b)は(WXA′,3)に更新される。
In addition, writing of the image data of the
書き込み座標計算部201a、201bによって算出された書き込み座標(HW1_a、VW1_a)、(HW1_b、VW1_b)とに基づいて、書き込み座標統合部1201によって書き込み座標(HW1、VW1)が決定される。書き込みオフセット信号WR_OFFSET2_aのカウント値は0であり、書き込みオフセット信号WR_OFFSET2_bのカウント値も0であり、これらのカウント値は互いに等しい。また、書き込み座標(HW1_a、VW1_a)の垂直方向の座標値は3であり、書き込み座標(HW1_b、VW1_b)の垂直方向の座標値も3であり、これらの垂直方向の座標値は互いに等しい。従って、書き込み座標統合部1201は、書き込み座標(HW1、VW1)を(WXA′,3)とする。
The writing coordinates (H W1 , V W1 ) are determined by the writing coordinates
この段階では、条件式(1)を満たすため、座標比較部203から発せられるリクエストマスク信号REQ_MASKがLowレベルとなり、読み出しリクエスト信号RD_REQ_MASK_OUTがHighレベルとなる。この後、アクノリッジ信号RD_ACKがRDDMAC213に返信され、読み出し用の分割ブロックRD0_0の第3番目のライン320の画像データのメモリ112からの読み出しが行われる。アクノリッジ信号RD_ACKの立ち下がりに同期して、読み出しリクエスト信号RD_REQ、RD_REQ_MASK_OUTがLowレベルとなる。また、読み出しリクエスト信号RD_REQの立ち下がりに同期して第1の読み出しオフセット信号RD_OFFSET1がLowレベルとなる。
At this stage, since the conditional expression (1) is satisfied, the request mask signal REQ_MASK issued from the coordinate
次に、読み出しリクエスト信号RD_REQがHighレベルに設定される。読み出しリクエスト信号RD_REQに同期して第2の読み出しオフセット信号RD_OFFSET2がHighレベルとなる。読み出しリクエスト信号RD_REQの立ち上がりに同期してパルス状に発せられる読み出し座標更新信号の立ち下がりの時刻tr3において、読み出し座標(HR,VR)が更新される。読み出し用の分割ブロックRD0_0の第3番目のライン320の画像データの読み出しは完了しているため、次の読み出し処理において読み出し対象とされるライン320は、読み出し用の分割ブロックRD0_0の第4番目のライン320である。読み出し用の分割ブロックRD0_0の第4番目のライン320の最後尾の座標は(RXA,4)である。このため、読み出し座標(HR,VR)は(RXA,4)に更新される。この段階では、第1の書き込み座標(HW1,VW1)は(WXA′,3)であり、第2の書き込み座標(HW2,VW2)と第3の書き込み座標(HW3,VW3)はいずれも(0,1)である。上記の条件式(1)〜(3)のいずれをも満たさないため、リクエストマスク信号REQ_MASKはHighレベルであり、読み出しリクエスト信号RD_REQ_MASK_OUTはLowレベルである。従って、この段階では、書き込み用の分割ブロックWR0_0の第4番目のライン320の画像データはメモリ112から読み出されない。
Next, the read request signal RD_REQ is set to the high level. The second read offset signal RD_OFFSET2 becomes High level in synchronization with the read request signal RD_REQ. The read coordinates (H R , V R ) are updated at time tr3 of falling of the read coordinate update signal emitted in a pulse shape in synchronization with the rising of the read request signal RD_REQ. Since reading of the image data of the
一方、書き込み用の分割ブロックWR0_0_Aの第4番目のライン320の画像データのメモリ112への書き込みが以下のように行われる。即ち、書き込みリクエスト信号WR_REQ_aがHighレベルに設定される。書き込みリクエスト信号WR_REQ_aに同期して第2の書き込みオフセット信号WR_OFFSET2_aがHighレベルとなる。メモリI/F205からWRDMAC211aにアクノリッジ信号WR_ACK_aが返信され、書き込み用の分割ブロックWR0_0_Aの第4番目のライン320の画像データのメモリ112への書き込みが行われる。アクノリッジ信号WR_ACK_aの立ち下がりに同期して書き込みリクエスト信号WR_REQ_aがLowレベルとなる。書き込みリクエスト信号WR_REQ_aの立ち下がりに同期して第2の書き込みオフセット信号WR_OFFSET2_aがLowレベルとなる。アクノリッジ信号WR_ACK_aに同期する第2の書き込み座標更新信号の立ち下がりの時刻において、第2の書き込み座標(HW2_a,VW2_a)が更新される。書き込み用の分割ブロックWR0_0_Aの第4番目のライン320の最後尾の座標は(WXA,4)であるため、第2の書き込み座標(HW2_a,VW2_a)は(WXA,4)に更新される。
On the other hand, the image data of the
また、書き込み用の分割ブロックWR0_0_Bの第4番目のライン320の画像データのメモリ112への書き込みが以下のように行われる。即ち、書き込みリクエスト信号WR_REQ_bがHighレベルに設定される。書き込みリクエスト信号WR_REQ_bに同期して、第2の書き込みオフセット信号WR_OFFSET2_bがHighレベルとなる。この後、アクノリッジ信号WR_ACK_bが返信され、書き込み用の分割ブロックWR0_0_Bの第4番目のライン320の画像データのメモリ112への書き込みが行われる。アクノリッジ信号WR_ACK_bの立ち下がりに同期して書き込みリクエスト信号WR_REQ_bがLowレベルとなる。書き込みリクエスト信号WR_REQ_bの立ち下がりに同期して第2の書き込みオフセット信号WR_OFFSET2_bがLowレベルとなる。アクノリッジ信号WR_ACK_bに同期する第2の書き込み座標更新信号の立ち下がりの時刻tw3において、第2の書き込み座標(HW2_b,VW2_b)が更新される。書き込み用の分割ブロックWR0_0_Bの第4番目のライン320の最後尾の座標は(WXA′,4)であるため、第2の書き込み座標(HW2_b,VW2_b)は(WXA′,4)に更新される。
Further, the image data of the
書き込み座標計算部201a、201bによって算出された書き込み座標(HW2_a、VW2_a)、(HW2_b、VW2_b)に基づいて、書き込み座標統合部1201によって書き込み座標(HW2、VW2)が決定される。書き込み座標(HW2_a、VW2_a)の垂直方向の座標値は4であり、書き込み座標(HW2_b、VW2_b)の垂直方向の座標値も4であり、これらの垂直方向の座標値は互いに等しい。従って、書き込み座標統合部1201は、書き込み座標(HW2、VW2)を(WXA′,4)とする。
The writing coordinate
この段階では、条件式(2)を満たすため、座標比較部203からのリクエストマスク信号REQ_MASKがLowレベルとなり、読み出しリクエスト信号RD_REQ_MASK_OUTがHighレベルとなる。この後、アクノリッジ信号RD_ACKがRDDMAC213に返信され、読み出し用の分割ブロックRD0_0の第4番目のライン320の画像データのメモリ112からの読み出しが行われる。アクノリッジ信号RD_ACKの立ち下がりに同期して、読み出しリクエスト信号RD_REQ、RD_REQ_MASK_OUTがLowレベルとなる。また、読み出しリクエスト信号RD_REQの立ち下がりに同期して第2の読み出しオフセット信号RD_OFFSET2がLowレベルとなる。
At this stage, since the conditional expression (2) is satisfied, the request mask signal REQ_MASK from the coordinate
次に、読み出しリクエスト信号RD_REQがHighレベルに設定される。読み出しリクエスト信号RD_REQに同期して、第1の読み出しオフセット信号RD_OFFSET1がHighレベルとなる。読み出しリクエスト信号RD_REQの立ち上がりに同期してパルス状に発せられる読み出し座標更新信号の立ち下がりの時刻tr4において、読み出し座標(HR,VR)が更新される。読み出し用の分割ブロックRD0_0の全てのライン320の画像データのメモリ112からの読み出しが完了しているため、次の読み出し処理において読み出し対象となるのは、読み出し用の分割ブロックRD1_0の第1番目のライン320である。読み出し用の分割ブロックRD1_0の第1番目のライン320の最後尾の座標は(RXA+RXB,1)である。このため、読み出し座標(HR,VR)は(RXA+RXB,1)に更新される。この段階では、第1の書き込み座標(HW1,VW1)が(WXA′,3)であり、(HW2,VW2)が(WXA′,4)であり、(HW3,VW3)が(0,1)である。条件式(1)〜(3)のいずれをも満たさないため、リクエストマスク信号REQ_MASKはHighレベルであり、読み出しリクエスト信号RD_REQ_MASK_OUTはLowレベルである。従って、この段階では、書き込み用の分割ブロックWR1_0の第1番目のライン320の画像データのメモリ112からの読み出しは行われない。
Next, the read request signal RD_REQ is set to the high level. The first read offset signal RD_OFFSET1 becomes high level in synchronization with the read request signal RD_REQ. The read coordinates (H R , V R ) are updated at a falling edge time tr4 of the read coordinate update signal emitted in a pulse shape in synchronization with the rising of the read request signal RD_REQ. Since reading of the image data of all the
一方、書き込み用の分割ブロックWR1_0_Aの第1番目のライン320の画像データのメモリ112への書き込みが以下のように行われる。即ち、書き込みリクエスト信号WR_REQ_aがHighレベルに設定される。書き込みリクエスト信号WR_REQ_aに同期して第1の書き込みオフセット信号WR_OFFSET1_aがHighレベルとなる。メモリI/F205からWRDMAC211aにアクノリッジ信号WR_ACK_aが返信され、書き込み用の分割ブロックWR1_0_Aの第1番目のライン320の画像データのメモリ112への書き込みが行われる。アクノリッジ信号WR_ACK_aの立ち下がりに同期して書き込みリクエスト信号WR_REQ_aがLowレベルとなる。書き込みリクエスト信号WR_REQ_aの立ち下がりに同期して第1の書き込みオフセット信号WR_OFFSET1_aがLowレベルとなる。アクノリッジ信号WR_ACK_aに同期する第1の書き込み座標更新信号の立ち下がりの時刻において、第1の書き込み座標(HW1_a,VW1_a)が更新される。書き込み用の分割ブロックWR1_0_Aの第1番目のライン320の最後尾の座標は(WXA′+WXB,1)であるため、第1の書き込み座標(HW1_a,VW1_a)は(WXA′+WXB,1)に更新される。
On the other hand, the image data of the
また、書き込み用の分割ブロックWR1_0_Bの第1番目のライン320の画像データのメモリ112への書き込みが以下のように行われる。即ち、書き込みリクエスト信号WR_REQ_bがHighレベルに設定される。書き込みリクエスト信号WR_REQ_bに同期して第1の書き込みオフセット信号WR_OFFSET1_bがHighレベルとなる。メモリI/F205からWRDMAC211aにアクノリッジ信号WR_ACK_bが返信され、書き込み用の分割ブロックWR1_0_bの第1番目のライン320の画像データのメモリ112への書き込みが行われる。アクノリッジ信号WR_ACK_bの立ち下がりに同期して書き込みリクエスト信号WR_REQ_bがLowレベルとなる。書き込みリクエスト信号WR_REQ_bの立ち下がりに同期して第1の書き込みオフセット信号WR_OFFSET1_bがLowレベルとなる。アクノリッジ信号WR_ACK_bに同期する第1の書き込み座標更新信号の立ち下がりの時刻tw4において、第1の書き込み座標(HW1_b,VW1_b)が更新される。書き込み用の分割ブロックWR1_0_Bの第1番目のライン320の最後尾の座標は(WXA′+WXB′,1)であるため、第1の書き込み座標(HW1_b,VW1_b)は(WXA′+WXB′,1)に更新される。
Further, the image data of the
書き込み座標計算部201a、201bによって算出された書き込み座標(HW1_a、VW1_a)、(HW1_b、VW1_b)に基づいて、書き込み座標統合部1201によって書き込み座標(HW1、VW1)が決定される。書き込みオフセット信号WR_OFFSET2_aのカウント値は1であり、書き込みオフセット信号WR_OFFSET2_bのカウント値も1であり、これらのカウント値は互いに等しい。また、書き込み座標(HW1_a、VW1_a)の垂直方向の座標値は1であり、書き込み座標(HW1_b、VW1_b)の垂直方向の座標値も1であり、これらの垂直方向の座標値は互いに等しい。従って、書き込み座標統合部1201は、書き込み座標(HW1、VW1)を(WXA′+WXB′,1)とする。
The writing coordinate
この段階では、読み出し座標(HR,VR)は(RXA+RXB,1)であり、上記の条件式(1)を満たす。このため、座標比較部203から発せられるリクエストマスク信号REQ_MASKはLowレベルとなり、読み出しリクエスト信号RD_REQ_MASK_OUTはHighレベルとなる。この後、アクノリッジ信号RD_ACKがRDDMAC213に返信され、読み出し用の分割ブロックRD1_0の第1番目のライン320の画像データのメモリ112からの読み出しが行われる。アクノリッジ信号RD_ACKの立ち下がりに同期して、読み出しリクエスト信号RD_REQ、RD_REQ_MASK_OUTがLowレベルとなる。また、読み出しリクエスト信号RD_REQの立ち下がりに同期して第1の読み出しオフセット信号RD_OFFSET1がLowレベルとなる。
At this stage, the readout coordinates (H R , V R ) are (RXA + RXB, 1), and the above conditional expression (1) is satisfied. Therefore, the request mask signal REQ_MASK issued from the coordinate
次に、読み出しリクエスト信号RD_REQがHighレベルに設定される。読み出しリクエスト信号RD_REQに同期して第1の読み出しオフセット信号RD_OFFSET1がHighレベルとなる。読み出しリクエスト信号RD_REQの立ち上がりに同期してパルス状に発せられる読み出し座標更新信号の立ち下がりの時刻tr5において、読み出し座標(HR,VR)が更新される。読み出し用の分割ブロックRD1_0の第1番目のライン320の画像データの読み出しは完了しているため、次の読み出し処理において読み出し対象とされるライン320は、読み出し用の分割ブロックRD1_0の第2番目のライン320である。読み出し用の分割ブロックRD1_0の第2番目のライン320の最後尾の座標は(RXA+RXB,2)である。このため、読み出し座標(HR,VR)は(RXA+RXB,2)に更新される。この段階では、第1の書き込み座標(HW1,VW1)は(WXA′+WXB′,1)であり、第2の書き込み座標(HW2,VW2)は(WXA,4)であり、第3の書き込み座標(HW3,VW3)は(0,1)である。条件式(1)〜(3)のいずれをも満たさないため、リクエストマスク信号REQ_MASKはHighレベルであり、読み出しリクエスト信号RD_REQ_MASK_OUTはLowレベルである。従って、この段階では、書き込み用の分割ブロックWR1_0の第2番目のライン320の画像データはメモリ112から読み出されない。
Next, the read request signal RD_REQ is set to the high level. The first read offset signal RD_OFFSET1 becomes high level in synchronization with the read request signal RD_REQ. The read coordinates (H R , V R ) are updated at a falling edge time tr5 of the read coordinate update signal emitted in a pulse shape in synchronization with the rising of the read request signal RD_REQ. Since the reading of the image data of the
一方、書き込み用の分割ブロックWR1_0_Aの第2番目のライン320の画像データのメモリ112への書き込みが以下のように行われる。即ち、書き込みリクエスト信号WR_REQ_aがHighレベルに設定される。書き込みリクエスト信号WR_REQ_aに同期して第1の書き込みオフセット信号WR_OFFSET1_aがHighレベルとなる。メモリI/F205からWRDMAC211にアクノリッジ信号WR_ACK_aが返信され、書き込み用の分割ブロックWR1_0_Aの第2番目のライン320の画像データのメモリ112への書き込みが行われる。アクノリッジ信号WR_ACK_aの立ち下がりに同期して書き込みリクエスト信号WR_REQ_aがLowレベルとなる。書き込みリクエスト信号WR_REQ_aの立ち下がりに同期して第1の書き込みオフセット信号WR_OFFSET1_aがLowレベルとなる。アクノリッジ信号WR_ACK_aに同期する第1の書き込み座標更新信号の立ち下がりの時刻tw5において、第1の書き込み座標(HW1_a,VW1_a)が書き込み座標計算部201aによって更新される。書き込み用の分割ブロックWR1_0_Aの第2番目のライン320の最後尾の座標は(WXA′+WXB,2)であるため、第1の書き込み座標(HW1_a,VW1_a)は(WXA′+WXB,2)に更新される。
On the other hand, writing of the image data of the
また、書き込み用の分割ブロックWR1_0_Bの第2番目のライン320の画像データのメモリ112への書き込みが以下のように行われる。即ち、書き込みリクエスト信号WR_REQ_bがHighレベルに設定される。書き込みリクエスト信号WR_REQ_bに同期して第1の書き込みオフセット信号WR_OFFSET1_bがHighレベルとなる。メモリI/F205からWRDMAC211にアクノリッジ信号WR_ACK_bが返信され、書き込み用の分割ブロックWR1_0_Bの第2番目のライン320の画像データのメモリ112への書き込みが行われる。アクノリッジ信号WR_ACK_bの立ち下がりに同期して書き込みリクエスト信号WR_REQ_bがLowレベルとなる。書き込みリクエスト信号WR_REQ_bの立ち下がりに同期して第1の書き込みオフセット信号WR_OFFSET1_bがLowレベルとなる。アクノリッジ信号WR_ACK_bに同期する第1の書き込み座標更新信号の立ち下がりの時刻において、第1の書き込み座標(HW1_b,VW1_b)が書き込み座標計算部201bによって更新される。書き込み用の分割ブロックWR1_0_Bの第2番目のライン320の最後尾の座標は(WXA′+WXB′,2)であるため、第1の書き込み座標(HW1_b,VW1_b)は(WXA′+WXB′,2)に更新される。
Further, the image data of the
書き込み座標計算部201a、201bによって算出された書き込み座標(HW1_a、VW1_a)、(HW1_b、VW1_b)に基づいて、書き込み座標統合部1201によって書き込み座標(HW1、VW1)が決定される。書き込みオフセット信号WR_OFFSET2_aのカウント値は1であり、書き込みオフセット信号WR_OFFSET2_bのカウント値も1であり、これらのカウント値は互いに等しい。また、書き込み座標(HW1_a、VW1_a)の垂直方向の座標値は2であり、書き込み座標(HW1_b、VW1_b)の垂直方向の座標値も2であり、これらの垂直方向の座標値は互いに等しい。従って、書き込み座標統合部1201は、書き込み座標(HW1、VW1)を(WXA′+WXB′,2)とする。
The writing coordinate
書き込み用の分割ブロックWR1_0_A、WR1_0_Bについてのこの後の書き込み処理は、書き込み用の分割ブロックWR0_0_A、WR0_0_Bについての上述した書き込み処理と同様であるため、説明を省略する。なお、時刻tw6においては、第1の書き込み座標(HW1、VW1)が(WXA′+WXB′,3)に更新され、時刻tw7においては第2の書き込み座標(HW2、VW2)が(WXA′+WXB′,4)に更新される。 The subsequent write process for the write divided blocks WR1_0_A and WR1_0_B is the same as the above-described write process for the write divided blocks WR0_0_A and WR0_0_B, and thus the description thereof is omitted. At time tw6, the first writing coordinates (H W1 , V W1 ) are updated to (WXA ′ + WXB ′, 3), and at time tw7, the second writing coordinates (H W2 , V W2 ) are ( It is updated to WXA '+ WXB', 4).
また、読み出し用の分割ブロックRD1_0、RD2_0についてのこの後の読み出し処理は、読み出し用の分割ブロックRD0_0についての上述した読み出し処理と同様であるため、説明を省略する。なお、時刻tr6、tr7、tr8においては、読み出し座標(HR、VR)が、(RXA+RXB,3)、(RXA+RXB,4)、(RXA+RXB+RXC,1)にそれぞれ更新される。時刻tr9、tr10、tr11においては、読み出し座標(HR、VR)が、(RXA+RXB+RXC,2)、(RXA+RXB+RXC,3)、(RXA+RXB+RXC,4)に更新される。 Further, the subsequent read process for the read divided blocks RD1_0 and RD2_0 is the same as the above-described read process for the read divided block RD0_0, and thus the description thereof will be omitted. At times tr6, tr7 and tr8, the read coordinates (H R , V R ) are updated to (RXA + RXB, 3), (RXA + RXB, 4), and (RXA + RXB + RXC, 1), respectively. At time tr9, tr10, tr11, read the coordinates (H R, V R) is updated to (RXA + RXB + RXC, 2 ), (RXA + RXB + RXC, 3), (RXA + RXB + RXC, 4).
書き込み用の分割ブロックWR2_0_A、WR2_0_Bについての書き込み処理も、書き込み用の分割ブロックWR0_0_A、WR0_0_Bについての上述した書き込み処理と同様であるため、説明を省略する。なお、時刻tw8、tw9、tw10においては、第1の書き込み座標(HW1、VW1)が、(WXA′+WXB′+WXC′,1)、(WXA′+WXB′+WXC′,2)、(WXA′+WXB′+WXC′,3)にそれぞれ更新される。また、時刻tw11において、第3の書き込み座標(HW3,VW3)が(WXA′+WXB′+WXC′,4)に更新される。 The write processing for the divided blocks WR2_0_A and WR2_0_B for writing is also similar to the above-described writing processing for the divided blocks WR0_0_A and WR0_0_B for writing, and thus the description thereof will be omitted. At times tw8, tw9 and tw10, the first writing coordinates (H W1 , V W1 ) are (WXA ′ + WXB ′ + WXC ′, 1), (WXA ′ + WXB ′ + WXC ′, 2), (WXA ′) Each is updated to + WXB ′ + WXC ′, 3). Further, at time tw11, the third writing coordinate (H W3 , V W3 ) is updated to (WXA ′ + WXB ′ + WXC ′, 4).
読み出し用の分割ブロックRD3_0についての読み出し処理においては、時刻tr12において、読み出し座標(HR、VR)が(RXA+RXB+RXC+RXD,1)に更新される。第1の書き込み座標(HW1、VW1)は(WXA′+WXB′+WXC′,4)であり、条件式(1)を満たす。また、第3の書き込み座標(HW3、VW3)は(WXA′+WXB′+WXC′,4)であり、条件式(3)を満たす。このため、リクエストマスク信号REQ_MASKはLowレベル、読み出しリクエスト信号RD_REQ_MASK_OUTはHighレベルとなる。従って、読み出し用の分割ブロックRD3_0の第1番目のライン320からの画像データの読み出しが行われる。時刻tr13においては、読み出し座標(HR、VR)が(RXA+RXB+RXC+RXD,2)に更新される。第1の書き込み座標(HW1、VW1)は(WXA′+WXB′+WXC′,4)であり、条件式(1)を満たす。また、第3の書き込み座標(HW3、VW3)は(WXA+WXB+WXC,4)であり、条件式(3)を満たす。このため、リクエストマスク信号REQ_MASKはLowレベル、読み出しリクエスト信号RD_REQ_MASK_OUTはHighレベルとなる。従って、読み出し用の分割ブロックRD3_0の第2番目のライン320からの画像データの読み出しが行われる。時刻tr14においては、読み出し座標(HR、VR)が(RXA+RXB+RXC+RXD,3)に更新される。第1の書き込み座標(HW1、VW1)は(WXA′+WXB′+WXC′,4)であり、上記の条件式(1)を満たす。また、第3の書き込み座標(HW3、VW3)が(WXA+WXB+WXC,4)であり、条件式(3)を満たす。このため、リクエストマスク信号REQ_MASKはLowレベル、読み出しリクエスト信号RD_REQ_MASK_OUTはHighレベルとなる。従って、読み出し用の分割ブロックRD3_0の第3番目のライン320からの画像データの読み出しが行われる。時刻tr15においては、読み出し座標(HR、VR)が(RXA+RXB+RXC+RXD,4)に更新される。第1の書き込み座標(HW1、VW1)は(WXA′+WXB′+WXC′,4)であり、上記の条件式(1)を満たす。また、第3の書き込み座標(HW3、VW3)は(WXA+WXB+WXC,4)であり、条件式(3)を満たす。このため、リクエストマスク信号REQ_MASKはLowレベル、読み出しリクエスト信号RD_REQ_MASK_OUTはHighレベルとなる。従って、読み出し用の分割ブロックRD3_0の第4番目のライン320からの画像データの読み出しが行われる。
In the read process for the read divided block RD3_0, the read coordinates (H R , V R ) are updated to (RXA + RXB + RXC + RXD, 1) at time tr12. The first writing coordinates (H W1 , V W1 ) are (WXA ′ + WXB ′ + WXC ′, 4), which satisfy the conditional expression (1). The third writing coordinates (H W3 , V W3 ) are (WXA ′ + WXB ′ + WXC ′, 4), which satisfy the conditional expression (3). Therefore, the request mask signal REQ_MASK is at the low level, and the read request signal RD_REQ_MASK_OUT is at the high level. Therefore, the image data is read from the
書き込み用の分割ブロックWR0_1〜WR2_2や読み出し用の分割ブロックRD0_1〜RD3_2についても、上記と同様に書き込み処理や読み出し処理が行われる。 The writing process and the reading process are performed on the divided blocks WR0_1 to WR2_2 for writing and the divided blocks RD0_1 to RD3_2 for reading in the same manner as described above.
なお、図14に付されたドットは、分割ブロックWR2_1_Aの第3番目のライン320まで書き込み処理が完了するとともに、分割ブロックWR1_1_Bの第2番目のライン320まで書き込みが完了した状態を示している。この状態においては、第1の書き込み座標(HW1、VW1)は(WXA′+WXB′、6)であり、第2の書き込み座標(HW2、VW2)は(WXA′,8)であり、第3の書き込み座標(HW3、VW3)は(WXA′+WXB′+WXC′,4)である。また、読み出し座標(HR、VR)は(RXA+RXB、6)である。この状態では、読み出し用の分割ブロックRD1_1の第2番目のライン320までの画像データの読み出しを行うことが可能である。
The dots shown in FIG. 14 indicate a state in which the writing process is completed up to the
WRDMAC211a、211bは、書き込み用の分割ブロックWR2_2_A、WR2_2_Bについての書き込み処理がそれぞれ完了した際には、上述したように、書き込み完了信号WR_END_a、WR_END_bをそれぞれHighレベルとする。書き込み座標統合部1201は、書き込み完了信号WR_END_aと書き込み完了信号WR_END_bの両方が入力された場合に、1フレーム分の画像の書き込みが完了したことを示す書き込み完了信号WR_ENDを出力する。座標比較部203は、書き込み完了信号WR_ENDがHighレベルとなった際には、条件式(1)〜(3)に基づく座標の比較を停止して、リクエストマスク信号REQ_MASKをLowレベルとする。これにより、書き込み用の分割ブロックWR2_2についての書き込み処理が完了した後においては、RDDMAC213から出力される読み出しリクエスト信号RD_REQが、読み出しリクエストマスク部204によってマスクされなくなる。従って、書き込み用の分割ブロックWR2_2についての書き込み処理が完了した後においては、読み出し用の分割ブロックの画像データのメモリ112からの読み出しが連続的に行われる。
When the write processing for the write divided blocks WR2_2_A and WR2_2_B is completed, the
なお、ここでは、各分割ブロックWR0_0〜WR2_2、RD0_0〜RD3_2の水平方向のサイズが、1回のアクセスで転送可能なデータ長以下である場合を例に説明したが、これに限定されるものではない。例えば、各分割ブロックWR0_0〜WR2_2、RD0_0〜RD3_2の水平方向のサイズが、1回のアクセスで転送可能なデータ長より大きい場合には、以下のような処理が行われる。即ち、1つのライン320に対するデータの書き込みにおいて、書き込みリクエストの発行及びデータの書き込みがそれぞれ複数回行われる。また、1つのライン320からのデータの読み出しにおいて、読み出しリクエストの発行及びデータの読み出しがそれぞれ複数回行われる。
Here, although the case where the size in the horizontal direction of each of the divided blocks WR0_0 to WR2_2 and RD0_0 to RD3_2 is equal to or less than the data length that can be transferred by one access is described as an example, Absent. For example, when the size in the horizontal direction of each of the divided blocks WR0_0 to WR2_2 and RD0_0 to RD3_2 is larger than the data length that can be transferred by one access, the following processing is performed. That is, when data is written to one
当該書き込みにおいてライン320の最後尾に位置する画素にデータを書き込まない場合、WRDMAC211aは、書き込みオフセット信号WR_OFFSET1_a〜WR_OFFSET3_aをいずれもLowレベルに維持する。当該書き込みにおいてライン320の最後尾に位置する画素にデータを書き込まない場合、WRDMAC211bは、書き込みオフセット信号WR_OFFSET1_b〜WR_OFFSET3_bをいずれもLowレベルに維持する。一方、当該書き込みにおいてライン320の最後尾に位置する画素にデータを書き込む場合、WRDMAC211aは、書き込みオフセット信号WR_OFFSET1_a〜WR_OFFSET3_aのうちのいずれかをHighレベルにする。また、当該書き込みにおいてライン320の最後尾に位置する画素にデータを書き込む場合、WRDMAC211は、書き込みオフセット信号WR_OFFSET1_b〜WR_OFFSET3_bのうちのいずれかをHighレベルにする。そして、当該書き込みにおいてライン320の最後尾に位置する画素にデータが書き込まれた場合にのみ、書き込み座標(HW1_a、VW1_a)〜(HW3_a、VW3_a)が書き込み座標計算部201aによって更新される。また、当該書き込みにおいてライン320の最後尾に位置する画素にデータが書き込まれた場合にのみ、書き込み座標(HW1_b、VW1_b)〜(HW3_b、VW3_b)が書き込み座標計算部201bによって更新される。
When data is not written to the last pixel of the
当該読み出しにおいてライン320の最後尾に位置する画素からデータを読み出さない場合、RDDMAC213は、読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3をいずれもLowレベルに維持する。一方、当該読み出しにおいてライン320の最後尾に位置する画素からデータを読み出す場合、RDDMAC213は、読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3のうちのいずれかをHighレベルにする。読み出し座標(HR、VR)は、当該読み出しにおいてライン320の最後尾に位置する画素からデータが読み出されるか否かにかかわらず更新される。読み出し座標計算部202は、当該読み出しにおいてライン320の最後尾に位置する画素からデータが読み出されない場合には、以下のような動作を行う。即ち、読み出し座標計算部202は、RDDMAC213から読み出しリクエスト信号RD_REQが供給される毎に、RDDMAC213から供給されるデータ転送長信号RD_TRANSに基づいて読み出し座標(HR、VR)を更新する。一方、読み出し座標計算部202は、当該読み出しにおいてライン320の最後尾に位置する画素からデータが読み出される場合には、以下のような動作を行う。即ち、読み出し座標計算部202は、読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3のうちのいずれかと、データ転送長信号RD_TRANSとに基づいて、読み出し座標(HR、VR)を更新する。
When data is not read out from the pixel located at the tail end of the
図16は、本実施形態による画像処理装置の動作を示すフローチャートである。図16に示す処理は、主としてCPU108及びメモリ制御部120aによって実行される。
FIG. 16 is a flowchart showing the operation of the image processing apparatus according to the present embodiment. The processing shown in FIG. 16 is mainly executed by the
まず、CPU108からの指示によって、WRDMAC211a、211bとRDDMAC213とに処理を開始させる(ステップS1600)。
First, in response to an instruction from the
次に、書き込み座標計算部201aにおいて、第1の書き込み座標(HW1_a、VW1_a)、第2の書き込み座標(HW2_a、VW2_a)、及び、第3の書き込み座標(HW3_a、VW3_a)を、例えば(0、1)に初期化する。また、書き込み座標計算部201bにおいて、第1の書き込み座標(HW1_b、VW1_b)、第2の書き込み座標(HW2_b、VW2_b)、及び、第3の書き込み座標(HW3_b、VW3_b)を、例えば(0、1)に初期化する。また、読み出し座標計算部202において、読み出し座標(HR、VR)を例えば(0、1)に初期化する。これらの座標値の初期化は、CPU108からの指示によって行われる(ステップS1601)。
Next, in the writing coordinate calculation unit 201a, the first writing coordinates (H W1 _a , V W1 _a ), the second writing coordinates (H W2 _a , V W2 _a ), and the third writing coordinates (H W3 _a , V W3 _a ) Is initialized to, for example, (0, 1). In the writing coordinate
ステップS1602では、座標比較部203が、条件式(1)〜(3)のいずれかを満たすか否かを判定する。条件式(1)〜(3)のいずれかを満たす場合(ステップS1602においてYES)、ステップS1603に遷移する。ステップS1603では、RDDMAC213からの読み出しリクエスト信号RD_REQに対するマスク処理が、読み出しリクエストマスク部204において解除される。この後、ステップS1605に遷移する。条件式(1)〜(3)のいずれをも満たさない場合(ステップS1602においてNO)、ステップS1604に遷移する。ステップS1604では、RDDMAC213からの読み出しリクエスト信号RD_REQに対するマスク処理が、読み出しリクエストマスク部204において行われる。これにより、RDDMAC213によるメモリ112からの画像データの読み出しは停止される。この後、ステップS1605に遷移する。
In step S1602, the coordinate
ステップS1605では、WRDMAC211a、211bから出力される第1の書き込みオフセット信号WR_OFFSET1_a、WR_OFFSET1_bがHighレベルであるか否かがそれぞれ判定される。第1の書き込みオフセット信号WR_OFFSET1_a、WR_OFFSET1_bがHighレベルである場合(ステップS1605においてYES)、ステップS1608に遷移する。ステップS1608では、第1の書き込み座標(HW1_a、VW1_a)、(HW1_b、VW1_b)が、書き込み処理が完了したライン320の最後尾の画素の座標にそれぞれ更新される。第1の書き込みオフセット信号WR_OFFSET1_a、WR_OFFSET1_bがHighレベルでない場合(ステップS1605においてNO)、ステップS1606に遷移する。
In step S1605, it is determined whether or not the first write offset signals WR_OFFSET1_a and WR_OFFSET1_b output from the
ステップS1606では、WRDMAC211a、211bから出力される第2の書き込みオフセット信号WR_OFFSET2_a、WR_OFFSET2_bがHighレベルであるか否かがそれぞれ判定される。第2の書き込みオフセット信号WR_OFFSET2_a、WR_OFFSET2_bがHighレベルである場合(ステップS1606においてYES)、ステップS1609に遷移する。ステップS1609では、第2の書き込み座標(HW2_a、VW2_a)、(HW2_b、VW2_b)が、書き込み処理が完了したライン320の最後尾の画素の座標にそれぞれ更新される。第2の書き込みオフセット信号WR_OFFSET2_a、WR_OFFSET2_bがHighレベルでない場合には、ステップS1607に遷移する。
In step S1606, it is determined whether or not the second write offset signals WR_OFFSET2_a and WR_OFFSET2_b output from the
ステップS1607では、WRDMAC211a、211bから出力される第3の書き込みオフセット信号WR_OFFSET3_a、WR_OFFSET3_bがHighレベルであるか否かがそれぞれ判定される。第3の書き込みオフセット信号WR_OFFSET3_a、WR_OFFSET3_bがHighレベルである場合(ステップS1607においてYES)、ステップS1610に遷移する。ステップS1610では、第3の書き込み座標(HW3_a、VW3_a)、(HW3_b、VW3_b)が、書き込み処理が完了したライン320の最後尾の画素の座標に更新される。第3の書き込みオフセット信号WR_OFFSET3_a、WR_OFFSET3_bがHighレベルでない場合(ステップS1607においてNO)、ステップS1611に遷移する。
In step S1607, it is determined whether the third write offset signals WR_OFFSET3_a and WR_OFFSET3_b output from the
ステップS1611では、書き込み座標統合部1201が、以下のような処理を行う。即ち、書き込み座標統合部1201は、書き込み座標(HW1_a、VW1_a)と書き込み座標(HW1_b、VW1_b)とに基づいて、書き込み座標(HW1、VW1)を決定する。また、書き込み座標統合部1201は、書き込み座標(HW2_a、VW2_a)と書き込み座標(HW2_b、VW2_b)とに基づいて、書き込み座標(HW2、VW2)を決定する。また、書き込み座標統合部1201は、書き込み座標(HW3_a、VW3_a)と書き込み座標(HW3_b、VW3_b)とに基づいて、書き込み座標(HW3、VW3)を決定する。この後、ステップS1612に移行する。
In step S1611, the writing coordinate
ステップS1612では、RDDMAC213からの読み出しリクエスト信号RD_REQがHighレベルであるか否かが判定される。読み出しリクエスト信号RD_REQがHighレベルである場合、ステップS1613に遷移する。一方、読み出しリクエスト信号RD_REQがHighレベルでない場合、ステップS1616に遷移する。
In step S1612, it is determined whether the read request signal RD_REQ from the
ステップS1613では、第1〜第3の読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3のうちのいずれかがHighレベルであるか否かが判定される。第1〜第3の読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3のうちのいずれかがHighレベルである場合(ステップS1613においてYES)、ステップS1614に遷移する。ステップS1614では、水平方向の読み出し座標HRと垂直方向の読み出し座標VRとが更新される。この後、ステップS1616に遷移する。第1〜第3の読み出しオフセット信号RD_OFFSET1〜RD_OFFSET3のすべてがHighレベルでない場合(ステップS1613においてNO)、ステップS1615に遷移する。ステップS1615では、水平方向の読み出し座標HRが更新される。この後、ステップS1616に遷移する。 In step S1613, it is determined whether any one of the first to third read offset signals RD_OFFSET1 to RD_OFFSET3 is at the high level. If one of the first to third read offset signals RD_OFFSET1 to RD_OFFSET3 is at the high level (YES in step S1613), the process proceeds to step S1614. In step S1614, the horizontal readout coordinate H R and the vertical readout coordinate V R are updated. Thereafter, the process proceeds to step S1616. If all of the first to third read offset signals RD_OFFSET1 to RD_OFFSET3 are not at the high level (NO in step S1613), the process proceeds to step S1615. In step S1615, the readout coordinate H R in the horizontal direction is updated. Thereafter, the process proceeds to step S1616.
ステップS1616では、WRDMAC211a、211bが、書き込み処理が完了したか否かをそれぞれ判定し、判定の結果をCPU108に通知する。書き込み処理が完了した場合(ステップS1616においてYES)、ステップS1617に遷移する。
In step S1616, the
ステップS1617では、読み出しリクエスト信号RD_REQに対するマスクが解除される。この後、ステップS1618に遷移する。一方、書き込み処理が完了していない場合(ステップS1616においてNO)、ステップS1602に戻り、上記と同様の処理が行われる。 In step S1617, the mask for the read request signal RD_REQ is released. Thereafter, the process transitions to step S1618. On the other hand, if the write process has not been completed (NO in step S1616), the process returns to step S1602 and the same process as described above is performed.
ステップS1618では、RDDMAC213が、読み出しが完了していないライン320についての読み出し処理を行い、読み出し処理が完了したか否かを判定する。読み出し処理が完了していない場合(ステップS1618においてNO)、読み出しが完了していないライン320についての読み出し処理が継続して行われる。一方、読み出し処理が完了した場合(ステップS1618においてYES)、追いかけ制御が終了する。
In step S1618, the
このように、本実施形態では、書き込み座標(HW1_a、VW1_a)と書き込み座標(HW1_b、VW1_b)とに基づいて、書き込み座標(HW1、VW1)が判定される。また、書き込み座標(HW2_a、VW2_a)と書き込み座標(HW2_b、VW2_b)とに基づいて、書き込み座標(HW2、VW2)が決定される。書き込み座標(HW3_a、VW3_a)と書き込み座標(HW3_b、VW3_b)とに基づいて、書き込み座標(HW3、VW3)が決定される。そして、書き込み座標(HW1、VW1)、(HW2、VW2)、(HW3、VW3)と、読み出し座標(HR、VR)との比較の結果に基づいて読み出しが行われる。従って、本実施形態によれば、複数のWRDMAC211a、211bを用いる場合であっても追いかけ制御を適確に行い得る画像処理装置及び画像処理方法を提供することができる。
Thus, in the present embodiment, the write coordinate (H W1_a, V W1_a) and write the coordinates (H W1_b, V W1_b) based on the, writing coordinates (H W1, V W1) is determined. The write coordinates (H W2_a, V W2_a) and write the coordinates (H W2_b, V W2_b) based on the, writing coordinates (H W2, V W2) is determined. Write the coordinates (H W3_a, V W3_a) and write the coordinates (H W3_b, V W3_b) based on the, writing coordinates (H W3, V W3) is determined. Then, the reading is performed based on the result of comparison between the writing coordinates (H W1 , V W1 ), (H W2 , V W2 ), (H W3 , V W3 ) and the reading coordinates (H R , V R ) . Therefore, according to the present embodiment, it is possible to provide an image processing apparatus and an image processing method capable of appropriately performing chase control even when using a plurality of
(変形例(その1))
本実施形態の変形例(その1)による画像処理装置及び画像処理方法について図17を用いて説明する。図17は、本変形例におけるブロック分割の態様を示す図である。図17における太い実線は、書き込み用の分割ブロックを概念的に示しており、図17における太い破線は、読み出し用の分割ブロックを概念的に示している。
(Modification (Part 1))
An image processing apparatus and an image processing method according to a modification (part 1) of the embodiment will be described with reference to FIG. FIG. 17 is a diagram showing an aspect of block division in the present modification. A thick solid line in FIG. 17 conceptually shows a divided block for writing, and a thick broken line in FIG. 17 conceptually shows a divided block for reading.
本変形例は、第1実施形態の変形例(その1)と同様に、書き込み処理におけるアクセス開始座標と読み出し処理におけるアクセス開始座標とが異なるものである。 In this modification, as in the modification (part 1) of the first embodiment, the access start coordinates in the writing process are different from the access start coordinates in the reading process.
書き込み処理におけるアクセス開始座標と読み出し処理におけるアクセス開始座標との間の水平方向の差異はDIFXである。書き込み処理におけるアクセス開始座標と読み出し処理におけるアクセス開始座標との間の垂直方向の差異はDIFYである。 The horizontal difference between the access start coordinates in the write process and the access start coordinates in the read process is DIFX. The vertical difference between the access start coordinates in the write process and the access start coordinates in the read process is DIFY.
このような場合、例えば、第1〜第3の書き込み座標(HW1、VW1)、(HW2、VW2)、(HW3、VW3)をアクセス開始座標の差異量DIFX、DIFYの分だけシフトさせるようにすればよい。アクセス開始座標の差異量DIFX、DIFYの分だけシフトさせた第1〜第3の書き込み座標(HW1、VW1)′、(HW2、VW2)′、(HW3、VW3)′は、式(7)〜(9)によって表される。なお、読み出し処理におけるアクセス開始座標は(1,1)とする。アクセス開始座標の差異量DIFX、DIFYの分だけシフトさせた書き込み座標(HW1、VW1)′、(HW2、VW2)′、(HW3、VW3)′は、書き込み座標計算部201によって算出される。
In such a case, for example, the first to third writing coordinates (H W1 , V W1 ), (H W2 , V W2 ), and (H W3 , V W3 ) are the amounts of difference amounts DIFX and DIFY of the access start coordinates. You just have to shift it. The first to third writing coordinates (H W1 , V W1 ) ', (H W2 , V W2 )', and (H W3 , V W3 ) 'shifted by the difference amount DIFX of access start coordinates and DIFY are , Expressions (7) to (9). The access start coordinate in the read process is (1, 1). The write coordinates (H W1 , V W1 ) ′, (H W2 , V W2 ) ′, and (H W3 , V W3 ) ′ shifted by the difference amount DIFX of access start coordinates by DIFY are the write coordinate
なお、ここでは、書き込み座標(HW1、VW1)、(HW2、VW2)、(HW3、VW3)をアクセス開始座標の差異量DIFX、DIFYの分だけシフトさせる場合を例に説明したが、これに限定されるものではない。例えば、アクセス開始座標の差異量DIFX、DIFYの分だけ書き込み座標(HR、VR)をシフトさせるようにしてもよい。アクセス開始座標の差異量DIFX、DIFYの分だけシフトさせた書き込み座標(HR、VR)′は、書き込み処理におけるアクセス開始座標を(1,1)とする場合、上記の式(10)によって表される。アクセス開始座標の差異量DIFX、DIFYの分だけシフトさせた書き込み座標(HR、VR)′は、読み出し座標計算部202によって算出される。
Here, the case where writing coordinates (H W1 , V W1 ), (H W2 , V W2 ), and (H W3 , V W3 ) are shifted by an amount corresponding to the difference amounts DIFX and DIFY of access start coordinates will be described as an example. However, it is not limited to this. For example, the writing coordinates (H R , V R ) may be shifted by the difference amount DIFX of the access start coordinates, and the DIFY. The write coordinates (H R , V R ) ′ shifted by the difference amount DIFX of the access start coordinate, DIFY by the above equation (10) when the access start coordinate in the write process is (1, 1) expressed. The read coordinates (H R , V R ) ′ shifted by the difference amount DIFX of the access start coordinates and DIFY are calculated by the read coordinates
このように、書き込み処理におけるアクセス開始座標と読み出し処理におけるアクセス開始座標とが異なっていてもよい。 Thus, the access start coordinates in the write process may be different from the access start coordinates in the read process.
(変形例(その2))
本実施形態の変形例(その2)による画像処理装置及び画像処理方法について図18を用いて説明する。図18は、本変形例におけるブロック分割の態様を示す図である。図18における太い実線は、書き込み用の分割ブロックを概念的に示しており、図18における太い破線は、読み出し用の分割ブロックを概念的に示している。
(Modification (Part 2))
An image processing apparatus and an image processing method according to a modification (part 2) of the present embodiment will be described with reference to FIG. FIG. 18 is a diagram showing an aspect of block division in the present modification. A thick solid line in FIG. 18 conceptually shows a divided block for writing, and a thick broken line in FIG. 18 conceptually shows a divided block for reading.
本変形例は、隣接する分割ブロックが重複している場合を示している。隣接する読み出し用の分割ブロックRD*_*の水平方向における重複量はOLXである。隣接する読み出し用の分割ブロックRD*_*の垂直方向における重複量はOLYである。 This modification shows the case where adjacent divided blocks overlap. The overlap amount in the horizontal direction of adjacent read divided blocks RD * _ * is OLX. The overlapping amount in the vertical direction of adjacent read divided blocks RD * _ * is OLY.
このような場合には、例えば、読み出し対象の分割ブロックRD*_*が切り替わる際に、読み出し座標(HR、VR)を重複量OLX,OLYの分だけシフトさせればよい。重複量OLX,OLYの分だけシフトさせた読み出し座標(HR、VR)′は、式(11)によって表される。重複量OLX,OLYの分だけシフトさせた読み出し座標(HR、VR)′は、読み出し座標計算部202によって算出される。
In such a case, for example, when the divided block RD * _ * to be read is switched, the read coordinates (H R , V R ) may be shifted by the amount of overlap OLX, OLY. The readout coordinates (H R , V R ) ′ shifted by the amount of overlap OLX, OLY are expressed by equation (11). The read coordinate (H R , V R ) ′ shifted by the overlap amount OLX, OLY is calculated by the read coordinate
このように、隣接する分割ブロックが重複していてもよい。なお、ここでは、隣接する読み出し用の分割ブロックRD*_*が重複している場合を例に説明したが、隣接する書き込み用の分割ブロックWR*_*が重複していてもよい。 Thus, adjacent divided blocks may overlap. Here, although the case where adjacent divided blocks for reading RD * _ * overlap is described as an example, adjacent divided blocks for writing WR * _ * may be overlapped.
分割ブロックの最後尾にアクセスが達した際のアクセス座標のジャンプは、図10(a)を用いて説明した第1実施形態の変形例(その2)と同様である。分割ブロックの最後尾の座標(H2、V2)の画素311,312にアクセスが達した際には、図10を用いて説明した第1実施形態の変形例(その2)と同様に、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(−XH×(YA−1)−OLX)である。
The jump of the access coordinates when the access reaches the end of the divided block is the same as the modification (part 2) of the first embodiment described with reference to FIG. When access reaches the
隣接する分割ブロックが水平方向においても垂直方向においても重複していてもよい。ブロックラインの最後尾の座標(H3、V3)の画素にアクセスが達した際には、図10(b)を用いて説明した第1実施形態の変形例(その2)と同様に、オフセット値がアドレス値に加算される。ここで加算されるオフセット値は(−XH×OLY)である。 Adjacent divided blocks may overlap in both the horizontal and vertical directions. When access reaches the pixel at the coordinate (H 3 , V 3 ) at the tail end of the block line, as in the modification (part 2) of the first embodiment described using FIG. The offset value is added to the address value. The offset value added here is (−XH × OLY).
このように、隣接する分割ブロックが重複していてもよい。本変形例においても、メモリ112に対する追いかけ制御を適確に行い得る画像処理装置を提供することができる。
Thus, adjacent divided blocks may overlap. Also in this modification, it is possible to provide an image processing apparatus capable of appropriately performing chase control on the
[変形実施形態]
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
[Modified embodiment]
As mentioned above, although the preferable embodiment of this invention was described, this invention is not limited to these embodiment, A various deformation | transformation and change are possible within the range of the summary.
例えば、上記実施形態では、条件式(1)〜(3)のいずれかを満たす場合に読み出し処理を行う場合を例に説明したが、用いられる条件式は(1)〜(3)に限定されるものではない。例えば、条件式(1)〜(3)の代わりに、以下のような条件式(15)〜(17)を用いてもよい。この場合には、LGAPの分だけ、読み出し処理が遅れて実行されることとなる。
HW1≧HR かつ VW1>(VR+LGAP) ・・・(15)
HW2≧HR かつ VW2>(VR+LGAP) ・・・(16)
HW3≧HR かつ VW3>(VR+LGAP) ・・・(17)
For example, in the above embodiment, the read processing is performed when any of the conditional expressions (1) to (3) is satisfied, but the conditional expressions used are limited to (1) to (3). It is not a thing. For example, the following conditional expressions (15) to (17) may be used instead of the conditional expressions (1) to (3). In this case, the read process is delayed by the amount of L GAP .
H W1 HH R and V W1 > (V R + L GAP ) (15)
H W2 HH R and V W2 > (V R + L GAP ) (16)
H W3 HH R and V W3 > (V R + L GAP ) (17)
また、第2実施形態では、WRDMACの数が2つである場合を例に説明したが、これに限定されるものではなく、WRDMACの数が3つ以上であってもよい。 Further, in the second embodiment, although the case where the number of WRDMACs is two has been described as an example, the present invention is not limited to this, and the number of WRDMACs may be three or more.
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記録媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。 The present invention supplies a program that implements one or more functions of the above-described embodiments to a system or apparatus via a network or a recording medium, and one or more processors in a computer of the system or apparatus read and execute the program. Can also be realized. It can also be implemented by a circuit (eg, an ASIC) that implements one or more functions.
201、201a、201b…書き込み座標計算部
202…読み出し座標計算部
203…座標比較部
211、211a、211b…WRDMAC
213、213a、213b…RDDMAC
320…ブロック
1201…書き込み座標統合部
201, 201a, 201b ... writing coordinate
213, 213a, 213b ... RD DMAC
320 ... block 1201 ... writing coordinate integration unit
Claims (14)
前記メモリから第2のブロックを単位として画像データを読み出す読み出し部であって、1フレームの前記画像データが前記書き込み部によって前記メモリに書き込まれている間に、前記書き込み部によって前記メモリに書き込み中のフレームの前記画像データの読み出し要求を出力し、前記読み出し要求が許可されたことに応じて前記メモリから前記画像データを読み出す、読み出し部と、
前記メモリに書き込み中のフレームの前記画像データに含まれる複数の前記第1のブロックのうちの所定の位置の画素の書き込みが前記書き込み部によって行われたことに応じて、書き込みが完了した前記画素の位置に対応する書き込み座標を取得する書き込み座標取得部と、
前記メモリに書き込み中のフレームにおける複数の前記第2のブロックのうちの読み出しの対象となる前記第2のブロックの位置に対応する読み出し座標を取得する読み出し座標取得部であって、読み出しの際のデータ転送長に応じて前記読み出し座標を更新する読み出し座標取得部と、
前記書き込み座標取得部によって取得された前記書き込み座標と前記読み出し座標取得部によって取得された前記読み出し座標との位置関係に基づいて、前記読み出し部からの前記読み出し要求を許可するか否かを制御する制御部であって、前記書き込み座標と前記読み出し座標との位置関係が所定の条件を満たさない場合には、前記読み出し部からの前記読み出し要求を許可しないように制御する制御部と
を有することを特徴とする画像処理装置。 A writing unit that writes image data to the memory in units of the first block;
The reading unit reads image data from the memory in units of the second block, and the writing unit is writing to the memory while the image data of one frame is written to the memory by the writing unit. A readout unit for outputting a readout request for the image data of the frame, and reading out the image data from the memory in response to permission of the readout request;
The pixel for which writing has been completed in response to the writing unit having performed writing of a pixel at a predetermined position among the plurality of first blocks included in the image data of the frame being written to the memory A writing coordinate acquisition unit that acquires writing coordinates corresponding to the position of
A read coordinate acquisition unit for acquiring read coordinates corresponding to the position of the second block to be read out of the plurality of second blocks in a frame being written to the memory A reading coordinate acquisition unit that updates the reading coordinates according to a data transfer length;
Controlling whether or not to permit the read request from the reading unit based on a positional relationship between the writing coordinate acquired by the writing coordinate acquiring unit and the read coordinate acquired by the reading coordinate acquiring unit; A control unit having a control unit that controls not to permit the read request from the read unit when the positional relationship between the write coordinates and the read coordinates does not satisfy a predetermined condition; Image processing device characterized by
前記メモリから第2のブロックを単位として画像データを読み出す読み出し部であって、1フレームの前記画像データが前記複数の書き込み部によって前記メモリに書き込まれている間に、前記複数の書き込み部によって前記メモリに書き込み中のフレームの前記画像データの読み出し要求を出力し、前記読み出し要求が許可されたことに応じて前記メモリから画像データを読み出す読み出し部と、
前記メモリに書き込み中のフレームの前記画像データに含まれる複数の前記第1のブロックのうちの所定の位置の画素の書き込みが前記第1の書き込み部によって行われたことに応じて、前記第1の書き込み部によって書き込みが完了した前記画素の位置に対応する書き込み座標を取得し、前記メモリに書き込み中のフレームの前記画像データに含まれる前記複数の第1のブロックのうちの所定の位置の画素の書き込みが前記第2の書き込み部によって行われたことに応じて、前記第2の書き込み部によって書き込みが完了した前記画素の位置に対応する書き込み座標を取得する、書き込み座標取得部と、
前記メモリに書き込み中のフレームにおける複数の前記第2のブロックのうちの読み出しの対象となる前記第2のブロックの位置に対応する読み出し座標を取得する読み出し座標取得部と、
前記書き込み座標取得部によって取得された前記書き込み座標と前記読み出し座標取得部によって取得された前記読み出し座標との位置関係に基づいて、前記読み出し部からの前記読み出し要求を許可するか否かを制御する制御部であって、前記書き込み座標と前記読み出し座標との位置関係が所定の条件を満たさない場合に、前記読み出し部からの前記読み出し要求を許可しないように制御する制御部と
を有することを特徴とする画像処理装置。 A plurality of writing units each writing the image data to the memory in units of the first block, the plurality of writing units including the first writing unit and the second writing unit;
The reading unit reads image data from the memory in units of the second block, and while the image data of one frame is being written to the memory by the plurality of writing units, the plurality of writing units perform the plurality of writing operations. A reading unit that outputs a read request for the image data of the frame being written to the memory, and reads the image data from the memory in response to the read request being permitted;
The first writing unit is responsive to writing of a pixel at a predetermined position of the plurality of first blocks included in the image data of the frame being written to the memory. A writing unit that acquires writing coordinates corresponding to the position of the pixel whose writing has been completed, and a pixel at a predetermined position among the plurality of first blocks included in the image data of the frame being written to the memory A writing coordinate acquisition unit that acquires writing coordinates corresponding to the position of the pixel for which writing has been completed by the second writing unit, in response to writing performed by the second writing unit;
A reading coordinate acquisition unit that acquires reading coordinates corresponding to the position of the second block to be read out of the plurality of second blocks in the frame being written to the memory;
Controlling whether or not to permit the read request from the reading unit based on a positional relationship between the writing coordinate acquired by the writing coordinate acquiring unit and the read coordinate acquired by the reading coordinate acquiring unit; The control unit has a control unit that controls not to permit the read request from the read unit when the positional relationship between the write coordinate and the read coordinate does not satisfy a predetermined condition. Image processing device.
前記制御部は、前記第1の書き込み座標と前記読み出し座標とが第1の条件を満たさず、且つ、前記第2の書き込み座標と前記読み出し座標とが第2の条件を満たさず、且つ、前記第3の書き込み座標と前記読み出し座標とが第3の条件を満たさない場合に、前記読み出し部からの前記読み出し要求を許可しないように制御することを特徴とする請求項1から4のいずれか1項に記載の画像処理装置。 The writing coordinate acquisition unit writes the first writing coordinates corresponding to the position of the latest line written in the first block to be written, and all the pixels included in the first block. A second writing coordinate corresponding to the last position of the latest first block of the first blocks, and the latest first of the first blocks written at the end of the frame Get the 3rd writing coordinate corresponding to the position of the tail end of 1 block,
The control unit is configured such that the first writing coordinates and the reading coordinates do not satisfy a first condition, and the second writing coordinates and the reading coordinates do not satisfy a second condition; The control method according to any one of claims 1 to 4, wherein, when the third writing coordinate and the reading coordinate do not satisfy the third condition, the reading request from the reading unit is not permitted. An image processing apparatus according to claim 1.
前記第1の条件は、Hw1がHR以上、且つ、Vw1がVR以上であり、前記第2の条件は、Hw2がHR以上、且つ、Vw2がVR以上であり、前記第3の条件は、Hw3がHR以上、且つ、Vw3がVR以上であることを特徴とする請求項5に記載の画像処理装置。 The first writing coordinates include horizontal coordinates H w1 and vertical coordinates V w1, and the second writing coordinates include horizontal coordinates H w2 and vertical coordinates V w2 . The third writing coordinate includes a horizontal coordinate H w3 and a vertical coordinate V w3, and the read-out coordinate includes a horizontal coordinate H R and a vertical coordinate V R.
The first condition is that H w1 is H R or more and V w1 is V R or more, and the second condition is that H w2 is H R or more and V w2 is V R or more. The image processing apparatus according to claim 5, wherein the third condition is that H w3 is H R or more and V w3 is V R or more.
前記読み出し座標取得部は、前記読み出し部から出力された前記読み出し要求に基づいて前記読み出し座標を取得することを特徴とする請求項1から6のいずれか1項に記載の画像処理装置。 The writing coordinate acquisition unit acquires the writing coordinates based on the writing request output from the writing unit,
The image processing apparatus according to any one of claims 1 to 6, wherein the read coordinate acquisition unit acquires the read coordinate based on the read request output from the read unit.
前記読み出し部は、前記1フレームの画像データに含まれる複数の前記第2のブロックを前記所定の順序で前記メモリから読み出すことを特徴とする請求項1から7のいずれか1項に記載の画像処理装置。 The writing unit writes the plurality of first blocks included in the image data of the one frame to the memory in a predetermined order;
The image according to any one of claims 1 to 7, wherein the reading unit reads the plurality of second blocks included in the image data of the one frame from the memory in the predetermined order. Processing unit.
前記撮像部により取得された画像データに対して所定の処理を行う第1の処理部と、
前記読み出し部により読み出された画像データに対して所定の処理を行う第2の処理部とを更に有し、
前記書き込み部は、前記第1の処理部から出力された画像データを前記メモリに書き込み、
前記読み出し部は、前記メモリから読み出した画像データを前記第2の処理部に出力することを特徴とする請求項1から11のいずれか1項に記載の画像処理装置。 An imaging unit,
A first processing unit that performs predetermined processing on image data acquired by the imaging unit;
And a second processing unit that performs predetermined processing on the image data read by the reading unit;
The writing unit writes the image data output from the first processing unit to the memory;
The image processing apparatus according to any one of claims 1 to 11, wherein the reading unit outputs the image data read from the memory to the second processing unit.
前記メモリから第2のブロックを単位として画像データを読み出すステップであって、1フレームの前記画像データが前記メモリに書き込まれている間に、前記メモリに書き込み中のフレームの前記画像データの読み出し要求を出力し、前記読み出し要求が許可されたことに応じて前記メモリから前記画像データを読み出すステップと、
前記メモリに書き込み中のフレームの前記画像データに含まれる複数の前記第1のブロックのうちの所定の位置の画素の書き込みが行われたことに応じて、書き込みが完了した前記画素の位置に対応する書き込み座標を取得するステップと、
前記メモリに書き込み中のフレームにおける複数の前記第2のブロックのうちの読み出しの対象となる前記第2のブロックの位置に対応する読み出し座標を取得するステップであって、読み出しの際のデータ転送長に応じて前記読み出し座標を更新するステップと、
前記書き込み座標と前記読み出し座標との位置関係に基づいて、前記読み出し要求を許可するか否かを制御するステップであって、前記書き込み座標と前記読み出し座標との位置関係が所定の条件を満たさない場合には、前記読み出し要求を許可しないように制御するステップと
を有することを特徴とする画像処理方法。 Writing image data to the memory in units of the first block;
A step of reading image data from the memory in units of a second block, wherein the image data read request of the frame being written to the memory while the image data of one frame is being written to the memory Outputting the image data from the memory in response to the read request being permitted;
Corresponds to the position of the pixel for which writing has been completed in response to writing of a pixel at a predetermined position among the plurality of first blocks included in the image data of the frame being written to the memory Obtaining writing coordinates,
Acquiring the read coordinates corresponding to the position of the second block to be read out of the plurality of second blocks in the frame being written to the memory, the data transfer length at the time of the read Updating the readout coordinates according to
It is a step of controlling whether or not to permit the read request based on the positional relationship between the write coordinate and the read coordinate, wherein the positional relationship between the write coordinate and the read coordinate does not satisfy a predetermined condition And controlling the read request not to be permitted.
前記メモリから第2のブロックを単位として画像データを読み出すステップであって、1フレームの前記画像データが前記複数の書き込み部によって前記メモリに書き込まれている間に、前記メモリに書き込み中のフレームの前記画像データの読み出し要求を出力し、前記読み出し要求が許可されたことに応じて前記メモリから画像データを読み出すステップと、
前記書き込み中のフレームの前記画像データに含まれる複数の前記第1のブロックのうちの所定の位置の画素の書き込みが前記第1の書き込み部によって行われたことに応じて、前記第1の書き込み部によって書き込みが完了した前記画素の位置に対応する書き込み座標を取得し、前記メモリに書き込み中のフレームの前記画像データに含まれる前記複数の第1のブロックのうちの所定の位置の画素の書き込みが前記第2の書き込み部によって行われたことに応じて、前記第2の書き込み部によって書き込みが完了した前記画素の位置に対応する書き込み座標を取得するステップと、
前記メモリに書き込み中のフレームにおける複数の前記第2のブロックのうちの読み出しの対象となる前記第2のブロックの位置に対応する読み出し座標を取得するステップと、
前記書き込み座標を取得するステップにおいて取得された前記書き込み座標と前記読み出し座標との位置関係に基づいて、前記読み出し要求を許可するか否かを制御するステップであって、前記書き込み座標と前記読み出し座標との位置関係が所定の条件を満たさない場合に、前記読み出し要求を許可しないように制御するステップと
を有することを特徴とする画像処理方法。 And writing the image data into the memory by a plurality of writing units in units of a first block, wherein the plurality of writing units include a first writing unit and a second writing unit.
Reading the image data from the memory in units of the second block, the frame being written to the memory while the image data of one frame is being written to the memory by the plurality of writing units; Outputting a read request for the image data, and reading the image data from the memory in response to the read request being permitted;
The first writing is performed in response to writing by a first writing unit of a pixel at a predetermined position among the plurality of first blocks included in the image data of the frame being written. A writing coordinate corresponding to the position of the pixel for which writing has been completed by the unit, and writing the pixel at a predetermined position among the plurality of first blocks included in the image data of the frame being written to the memory Obtaining writing coordinates corresponding to the position of the pixel for which writing has been completed by the second writing unit, in response to the second writing unit performing the writing;
Acquiring a read coordinate corresponding to a position of the second block to be read out of the plurality of second blocks in the frame being written to the memory;
It is a step of controlling whether or not to permit the read request based on the positional relationship between the write coordinate and the read coordinate acquired in the step of acquiring the write coordinate, the write coordinate and the read coordinate And controlling the read request not to be permitted if the positional relationship between and does not satisfy a predetermined condition.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017217396A JP7086568B2 (en) | 2017-11-10 | 2017-11-10 | Image processing device and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017217396A JP7086568B2 (en) | 2017-11-10 | 2017-11-10 | Image processing device and image processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019087209A true JP2019087209A (en) | 2019-06-06 |
JP7086568B2 JP7086568B2 (en) | 2022-06-20 |
Family
ID=66763156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017217396A Active JP7086568B2 (en) | 2017-11-10 | 2017-11-10 | Image processing device and image processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7086568B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003143382A (en) * | 2001-11-01 | 2003-05-16 | Fuji Xerox Co Ltd | Memory controller |
JP2017076887A (en) * | 2015-10-15 | 2017-04-20 | キヤノン株式会社 | Image processing device, control method for the same and imaging device |
JP2017194736A (en) * | 2016-04-18 | 2017-10-26 | キヤノン株式会社 | Memory control device and memory control method |
-
2017
- 2017-11-10 JP JP2017217396A patent/JP7086568B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003143382A (en) * | 2001-11-01 | 2003-05-16 | Fuji Xerox Co Ltd | Memory controller |
JP2017076887A (en) * | 2015-10-15 | 2017-04-20 | キヤノン株式会社 | Image processing device, control method for the same and imaging device |
JP2017194736A (en) * | 2016-04-18 | 2017-10-26 | キヤノン株式会社 | Memory control device and memory control method |
Also Published As
Publication number | Publication date |
---|---|
JP7086568B2 (en) | 2022-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4860488B2 (en) | Image display control device | |
JP6079031B2 (en) | Imaging device | |
JP2011002940A (en) | Image processing apparatus and image pickup apparatus | |
JP5735227B2 (en) | Image conversion apparatus and image conversion system | |
JP6263025B2 (en) | Image processing apparatus and control method thereof | |
JP4854620B2 (en) | Electronic zoom device and program | |
JP7086568B2 (en) | Image processing device and image processing method | |
JP6565326B2 (en) | Imaging display device and control method thereof | |
JP2007318644A5 (en) | ||
JP5779512B2 (en) | Image optical distortion correction apparatus, image optical distortion correction method, and image generation apparatus having image optical distortion correction apparatus | |
JP2017204170A (en) | Image processing device and image processing method | |
JP2021034997A (en) | Image processing system | |
JP2018157371A (en) | Imaging apparatus and method of correcting defective pixels | |
JP5959684B2 (en) | Image conversion system | |
JP5423071B2 (en) | Data transfer device and imaging device | |
JP2020184698A (en) | Imaging apparatus and control method of the same | |
JP6659195B2 (en) | Imaging device, control method thereof, and program | |
JP2018182551A (en) | Imaging apparatus | |
JP2019134240A (en) | Image processing device | |
JP6828604B2 (en) | Image processing equipment, image processing methods and programs | |
JP4646787B2 (en) | Image data processing device | |
JP2018005389A (en) | Image deformation circuit, image processing apparatus, and image deformation method | |
JP2017228849A (en) | Image processing apparatus, imaging device, control method and program | |
JP6245389B2 (en) | Imaging apparatus and image processing apparatus | |
JP5622990B2 (en) | Image processing apparatus, image display system, and image processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20171214 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20180126 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201016 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211013 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211102 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211216 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220608 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7086568 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |