JP6373904B2 - Data transfer apparatus and data transfer method - Google Patents

Data transfer apparatus and data transfer method Download PDF

Info

Publication number
JP6373904B2
JP6373904B2 JP2016135015A JP2016135015A JP6373904B2 JP 6373904 B2 JP6373904 B2 JP 6373904B2 JP 2016135015 A JP2016135015 A JP 2016135015A JP 2016135015 A JP2016135015 A JP 2016135015A JP 6373904 B2 JP6373904 B2 JP 6373904B2
Authority
JP
Japan
Prior art keywords
image data
data
storage
storage unit
read
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.)
Active
Application number
JP2016135015A
Other languages
Japanese (ja)
Other versions
JP2016181294A (en
Inventor
一真 高橋
一真 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to JP2016135015A priority Critical patent/JP6373904B2/en
Publication of JP2016181294A publication Critical patent/JP2016181294A/en
Application granted granted Critical
Publication of JP6373904B2 publication Critical patent/JP6373904B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Input (AREA)
  • Studio Devices (AREA)

Description

本発明は、データの転送技術に関する。   The present invention relates to a data transfer technique.

一般的に、撮像装置等の画像処理装置では、CCD等の撮像素子で取得された画像データは、撮像装置内部の記憶部(例えばDRAM等)に一旦記憶される。そして、当該記憶部から画像データを読み出して種々の画像処理が施される。   In general, in an image processing apparatus such as an imaging apparatus, image data acquired by an imaging element such as a CCD is temporarily stored in a storage unit (for example, a DRAM or the like) inside the imaging apparatus. Then, the image data is read from the storage unit and various image processes are performed.

例えば、特許文献1には、画像データを記憶した画像データ記憶部から画像データを読み出して、歪み補正部において、画像の歪みを補正する画像処理装置が記載されている。   For example, Patent Document 1 describes an image processing apparatus that reads image data from an image data storage unit that stores image data, and corrects image distortion in the distortion correction unit.

特開2011−113234号公報JP 2011-113234 A

特許文献1の画像処理装置では、歪み補正部からの画像データの転送要求に応じて、DMAC(Direct Memory Access Controller)を用いた画像データの読み出しが行われていたが、この場合、歪み補正の処理速度は、画像データ記憶部の読み出し速度の影響を受けていた。すなわち、画像データ記憶部から歪み補正部への画像データの転送速度が遅いため、歪み補正の処理速度が低下していた。   In the image processing apparatus of Patent Literature 1, image data is read using a direct memory access controller (DMAC) in response to a transfer request for image data from a distortion correction unit. In this case, distortion correction is performed. The processing speed is affected by the reading speed of the image data storage unit. That is, since the transfer rate of the image data from the image data storage unit to the distortion correction unit is slow, the processing speed of the distortion correction is reduced.

このような処理速度の低下は、他の画像処理を行う処理部からの転送要求に応じて、画像データを転送する際にも発生しうる。   Such a decrease in processing speed can also occur when image data is transferred in response to a transfer request from a processing unit that performs other image processing.

そこで、本発明は、画像データの転送要求に応じた画像データの転送速度を早めることが可能な技術を提供することを目的とする。   SUMMARY An advantage of some aspects of the invention is that it provides a technique capable of increasing the transfer speed of image data in response to a transfer request for image data.

本発明に係るデータ転送装置の第1の態様は、所定画像の画像データを記憶した記憶手段よりも、データの書き込みおよび読み出しを高速に行う記憶部を有したキャッシュメモリと、前記所定画像内の或る領域の画像データの転送要求を、前記キャッシュメモリに対して出力する転送要求手段とを備え、前記キャッシュメモリは、前記転送要求に対応した前記或る領域に含まれる画素行の画像データが、前記キャッシュメモリ内の前記記憶部に記憶されているか否かを前記画素行ごとに判断し、前記記憶部に記憶されていない未記憶の画像データを画素行ごとに当該或る領域を超えて前記記憶手段から選択的に読み出させる読出制御手段と、前記読出制御手段によって読み出された前記画素行ごとの未記憶の画像データを、前記画素行ごとに格納先を替えて前記記憶部に記憶させる記憶制御手段と、前記転送要求に対応した或る領域の画像データを前記記憶部から読み出して、前記転送要求手段に出力する出力制御手段とを有し、前記読出制御手段は、前記或る領域を行方向に超えて前記所定画像の前記未記憶の画像データを前記記憶手段から読み出させ、前記所定画像の前記未記憶の画像データのデータ量は、前記或る領域の行方向の最大幅よりも前記行方向に長い領域から得られるデータ量であって、前記転送要求手段は、前記所定画像の水平方向に並んだ複数の前記或る領域それぞれの画像データの転送要求を、前記水平方向の並び順に順次に行う。 According to a first aspect of the data transfer apparatus of the present invention, there is provided a cache memory having a storage unit that writes and reads data at a higher speed than a storage unit that stores image data of a predetermined image; Transfer request means for outputting a transfer request for image data of a certain area to the cache memory, wherein the cache memory stores image data of a pixel row included in the certain area corresponding to the transfer request. And determining whether or not the data is stored in the storage unit in the cache memory for each pixel row, and unstored image data not stored in the storage unit exceeds the certain area for each pixel row. Read control means for selectively reading from the storage means, and unstored image data for each pixel row read by the read control means for each pixel row Storage control means for changing the storage location and storing it in the storage section; and output control means for reading out image data of a certain area corresponding to the transfer request from the storage section and outputting the image data to the transfer request means. The read control unit reads the unstored image data of the predetermined image from the storage unit across the certain area in the row direction, and the data amount of the unstored image data of the predetermined image is The amount of data obtained from an area longer in the row direction than the maximum width in the row direction of the certain area, wherein the transfer request means includes each of the plurality of the certain areas arranged in the horizontal direction of the predetermined image. The image data transfer requests are sequentially made in the order of arrangement in the horizontal direction.

また、本発明に係るデータ転送装置の第2の態様は、上記第1の態様であって、前記記憶部は、前記画素行ごとの画像データを、当該画素行ごとに分けて記憶するための複数の区分記憶領域を有し、当該複数の区分記憶領域は、ゼロから順にそれぞれ番号付けされ、前記記憶制御手段は、前記読出制御手段によって読み出された前記画素行ごとの未記憶の画像データを、前記所定画像における当該画素行の行番号を前記区分記憶領域の総数で割った余りによって示される区分記憶領域に記憶させる。   Moreover, the 2nd aspect of the data transfer apparatus which concerns on this invention is the said 1st aspect, Comprising: The said memory | storage part is divided and memorize | stored the image data for every said pixel row for every said pixel row The plurality of partitioned storage areas are numbered in order from zero, and the storage control means stores unstored image data for each pixel row read by the readout control means Are stored in the partitioned storage area indicated by the remainder obtained by dividing the row number of the pixel row in the predetermined image by the total number of the partitioned storage areas.

また、本発明に係るデータ転送装置の第3の態様は、上記第1の態様または上記第2の態様であって、前記読出制御手段は、前記未記憶の画像データを画素行ごとに一定の行方向に沿って前記或る領域を超えた位置まで順次に読み出させる。   A third aspect of the data transfer device according to the present invention is the first aspect or the second aspect, wherein the read control means sets the unstored image data for each pixel row. Reading is sequentially performed up to a position beyond the certain area along the row direction.

また、本発明に係るデータ転送装置の第4の態様は、上記第2の態様または上記第3の態様であって、前記記憶部は、2のべき乗個の区分記憶領域を有している。   A fourth aspect of the data transfer apparatus according to the present invention is the second aspect or the third aspect, wherein the storage unit has power-of-two partitioned storage areas.

また、本発明に係るデータ転送装置の第5の態様は、上記第1の態様から上記第4態様のいずれかであって、前記転送要求手段は、前記所定画像の歪みを補正する歪み補正処理を施す歪み補正機能を有し、前記転送要求手段は、前記所定画像の水平方向に並んだ複数の前記或る領域を、前記所定画像の歪みに応じて前記水平方向と垂直な方向に徐々にずらして設定することで、階段状の読出領域とする。   A fifth aspect of the data transfer apparatus according to the present invention is any one of the first aspect to the fourth aspect, wherein the transfer request means corrects distortion of the predetermined image. The transfer requesting unit gradually applies a plurality of the certain regions arranged in the horizontal direction of the predetermined image in a direction perpendicular to the horizontal direction according to the distortion of the predetermined image. By staggering the setting, a staircase reading area is obtained.

また、本発明に係るデータ転送装置の第6の態様は、上記第1の態様であって、前記読出制御手段は、前記或る領域を行方向に超えて前記所定画像の前記未記憶の画像データを前記記憶手段から読み出させ、前記所定画像の前記未記憶の画像データのデータ量は、前記或る領域の行方向の最大幅よりも前記行方向に長い領域から得られるデータ量である。   Further, a sixth aspect of the data transfer device according to the present invention is the first aspect, wherein the read control means passes the certain area in the row direction and stores the unstored image of the predetermined image. Data is read from the storage means, and the data amount of the unstored image data of the predetermined image is a data amount obtained from a region longer in the row direction than the maximum width of the certain region in the row direction. .

また、本発明に係るデータ転送方法は、所定画像の画像データを記憶した記憶手段よりも、データの書き込みおよび読み出しを高速に行う記憶部を有したキャッシュメモリを用いたデータ転送方法であって、a)前記所定画像の水平方向に並んだ複数の或る領域それぞれの画像データの転送要求を、前記水平方向の並び順に順次に取得する工程と、b)前記転送要求に対応した前記或る領域に含まれる画素行の画像データが、前記キャッシュメモリ内の前記記憶部に記憶されているか否かを前記画素行ごとに判断し、前記記憶部に記憶されていない未記憶の画像データを画素行ごとに当該或る領域を超えて前記記憶手段から選択的に読み出させる工程と、c)前記工程b)によって読み出された前記画素行ごとの未記憶の画像データを、前記画素行ごとに格納先を替えて前記記憶部に記憶させる工程と、d)前記転送要求に対応した或る領域の画像データを前記記憶部から読み出して出力する工程とを備え、前記工程b)は、前記或る領域を行方向に超えて前記所定画像の前記未記憶の画像データを前記記憶手段から読み出させる工程を含み、前記所定画像の前記未記憶の画像データのデータ量は、前記或る領域の行方向の最大幅よりも前記行方向に長い領域から得られるデータ量である。
The data transfer method according to the present invention is a data transfer method using a cache memory having a storage unit that writes and reads data at a higher speed than storage means that stores image data of a predetermined image. a) a step of sequentially obtaining a transfer request for image data of each of a plurality of areas arranged in the horizontal direction of the predetermined image in the order of arrangement in the horizontal direction; and b) the certain area corresponding to the transfer request. It is determined for each pixel row whether the image data of the pixel row included in the cache memory is stored in the storage unit, and unstored image data not stored in the storage unit is stored in the pixel row. A step of selectively reading from the storage means beyond the certain area every time, and c) unstored image data for each of the pixel rows read by the step b), A step of changing the storage destination for each behavior is stored in the storage unit, d) a step of outputting the image data for a region corresponding to the transfer request is read from the storage unit, wherein step b) And a step of reading out the unstored image data of the predetermined image from the storage means across the certain area in the row direction, and the data amount of the unstored image data of the predetermined image is the or than the maximum width of the row direction of that region Ru data amount der obtained from a long region in the row direction.

本発明によれば、画像データの転送要求に応じた画像データの転送速度を早めることが可能になる。   According to the present invention, it is possible to increase the transfer speed of image data in response to a transfer request for image data.

本発明の実施形態に係る画像処理装置の構成を示す概略図である。1 is a schematic diagram illustrating a configuration of an image processing apparatus according to an embodiment of the present invention. 歪み補正処理の様子を示す図である。It is a figure which shows the mode of a distortion correction process. 歪み補正処理の他の様子を示す図である。It is a figure which shows the other aspect of a distortion correction process. 画像処理装置におけるキャッシュメモリの詳細構成を示す図である。It is a figure which shows the detailed structure of the cache memory in an image processing apparatus. 記憶部における、画像データの記憶態様を示す図である。It is a figure which shows the memory | storage aspect of the image data in a memory | storage part. 管理用メモリにおける、記憶内容の管理態様を示す図である。It is a figure which shows the management aspect of the memory content in the management memory. キャッシュメモリの動作を示すフローチャートである。It is a flowchart which shows operation | movement of a cache memory. 歪み補正部からの転送要求に応じて、入力画像における読出領域から画像データを読み出す様子を示す図である。It is a figure which shows a mode that image data is read from the read-out area | region in an input image according to the transfer request | requirement from a distortion correction part. 歪み補正部からの転送要求に応じて、入力画像における読出領域から画像データを読み出す様子を示す図である。It is a figure which shows a mode that image data is read from the read-out area | region in an input image according to the transfer request | requirement from a distortion correction part. 歪み補正部からの転送要求に応じて、入力画像における読出領域から画像データを読み出す様子を示す図である。It is a figure which shows a mode that image data is read from the read-out area | region in an input image according to the transfer request | requirement from a distortion correction part. 歪み補正部からの転送要求に応じて、入力画像における読出領域から画像データを読み出す様子を示す図である。It is a figure which shows a mode that image data is read from the read-out area | region in an input image according to the transfer request | requirement from a distortion correction part. 記憶部内の画像データの記憶態様を示す図である。It is a figure which shows the memory | storage aspect of the image data in a memory | storage part. 記憶部内の画像データの記憶態様を示す図である。It is a figure which shows the memory | storage aspect of the image data in a memory | storage part. 読出処理で読み出される読出範囲の他の態様を示す図である。It is a figure which shows the other aspect of the read-out range read by read-out processing. 記憶部を2つのSRAMを用いて構成した場合の画像データの記憶態様を示す図である。It is a figure which shows the memory | storage aspect of the image data at the time of comprising a memory | storage part using two SRAM. 記憶部を2つのSRAMを用いて構成した場合の画像データの他の記憶態様を示す図である。It is a figure which shows the other memory | storage aspect of the image data at the time of comprising a memory | storage part using two SRAM.

以下、実施形態について図面を参照して説明する。   Hereinafter, embodiments will be described with reference to the drawings.

<1.実施形態>
[1−1.構成概要]
図1は、本発明の実施形態に係る画像処理装置1の構成を示す概略図である。当該画像処理装置1には、例えば、撮像素子を有した撮像装置および携帯電話、並びにパーソナルコンピュータ(PC)および携帯情報端末機等が含まれる。
<1. Embodiment>
[1-1. Configuration Overview]
FIG. 1 is a schematic diagram showing a configuration of an image processing apparatus 1 according to an embodiment of the present invention. The image processing apparatus 1 includes, for example, an imaging apparatus having an imaging element, a mobile phone, a personal computer (PC), a portable information terminal, and the like.

図1に示されるように、画像処理装置1は、いずれも基板上に集積回路として構成された、第1処理回路2および第2処理回路3を備えている。   As shown in FIG. 1, the image processing apparatus 1 includes a first processing circuit 2 and a second processing circuit 3, both of which are configured as integrated circuits on a substrate.

第1処理回路2は、レンズデータ記憶部21と画像データ記憶部22とを有している。画像データ記憶部22は、複数の画像データを記憶可能な容量を有するDRAM等の記憶手段であり、画像処理装置1に入力された或いは画像処理装置1内の撮像素子で撮像された画像(入力画像)の画像データGDを記憶する。レンズデータ記憶部21には、入力された画像データGDを撮像した撮像装置のレンズに関するレンズデータが記憶されている。レンズデータとしては、例えば、レンズの収差に起因した画像の歪みに関する情報(「歪み情報」とも称する)が記憶されている。   The first processing circuit 2 includes a lens data storage unit 21 and an image data storage unit 22. The image data storage unit 22 is a storage unit such as a DRAM having a capacity capable of storing a plurality of image data. The image data storage unit 22 is an image (input) input to the image processing apparatus 1 or captured by an image sensor in the image processing apparatus 1. Image) image data GD is stored. The lens data storage unit 21 stores lens data related to the lens of the imaging apparatus that captured the input image data GD. As the lens data, for example, information on image distortion caused by lens aberration (also referred to as “distortion information”) is stored.

第2処理回路3は、画像処理回路として構成され、画像データ記憶部22に保存された画像データGDに対して、各種の画像処理を施す。特に、本実施形態の第2処理回路3は、入力された画像データGDに対して、画像の歪みを補正する処理(「歪み補正処理」とも称する)を施す歪み補正部30を有している。   The second processing circuit 3 is configured as an image processing circuit, and performs various types of image processing on the image data GD stored in the image data storage unit 22. In particular, the second processing circuit 3 of the present embodiment includes a distortion correction unit 30 that performs processing for correcting image distortion (also referred to as “distortion correction processing”) on the input image data GD. .

ここで、歪み補正処理の概略について説明する。図2および図3は、歪み補正処理の様子を示す図であり、図2には、樽型の歪曲収差を有する入力画像IGと、歪み補正処理後の出力画像UGとが示されている。なお、入力画像IGには、歪曲収差による被写体の歪みが破線によって示されている。   Here, an outline of the distortion correction processing will be described. FIGS. 2 and 3 are diagrams showing the state of the distortion correction process. FIG. 2 shows an input image IG having barrel distortion and an output image UG after the distortion correction process. In the input image IG, the distortion of the subject due to distortion is indicated by a broken line.

図2に示されるように、画像処理装置1で実行される歪み補正処理は、出力画像UGを複数の領域に分割して得られる矩形領域(「画素ブロック」または単に「ブロック」とも称する)BKごとに行われる。例えば、ブロックBK1が歪み補正処理の実行対象のブロック(「実行対象ブロック」とも称する)BR(図2中のハッチング領域)であるときは、入力画像IGにおいて当該ブロックBK1に対応する対応ブロックTB1付近の画素の画素値(「画素データ」とも称する)を用いて、ブロックBK1の各画素の画素値が算出される。   As shown in FIG. 2, the distortion correction processing executed in the image processing apparatus 1 is a rectangular area (also referred to as “pixel block” or simply “block”) BK obtained by dividing the output image UG into a plurality of areas. Done every time. For example, when the block BK1 is a block to be subjected to distortion correction processing (also referred to as “execution target block”) BR (a hatched area in FIG. 2), in the vicinity of the corresponding block TB1 corresponding to the block BK1 in the input image IG The pixel value of each pixel in the block BK1 is calculated using the pixel value (also referred to as “pixel data”).

より詳細には、ブロックBK1に歪み補正処理を施す場合、歪み補正部30は、対応ブロックTB1を囲む領域(読出領域)RN1に含まれる各画素の画素値を取得するための転送要求を出力する。そして、歪み補正部30は、当該転送要求に応じて取得された領域RN1内の各画素の画素値を用いた補間演算を行うことによって、ブロックBK1(実行対象ブロックBR)の各画素の画素値を算出する。このようにして算出されたブロックBK1の各画素の画素値は、歪み補正後の各画素の画素値となる。   More specifically, when the distortion correction process is performed on the block BK1, the distortion correction unit 30 outputs a transfer request for acquiring the pixel value of each pixel included in the area (reading area) RN1 surrounding the corresponding block TB1. . Then, the distortion correction unit 30 performs an interpolation operation using the pixel values of the respective pixels in the region RN1 acquired in response to the transfer request, and thereby the pixel values of the respective pixels of the block BK1 (execution target block BR). Is calculated. The pixel value of each pixel of the block BK1 calculated in this way becomes the pixel value of each pixel after distortion correction.

歪み補正処理では、このようなブロックBK単位の歪み補正が、出力画像UGを構成する各ブロックBKについて、左上のブロックを開始ブロックとして水平方向に順次に実行される。すなわち、歪み補正部30は、歪み補正処理の実行に応じて、各ブロックBKの各対応ブロックをそれぞれ囲む各読出領域を水平方向に順次に設定し、水平方向に並んで設定された読出領域それぞれに含まれる画像データの転送要求を水平方向の並び順に順次に出力する。そして、歪み補正部30は、転送要求に応じて取得された読出領域内の画像データを用いて、ブロックBKごとにブロック内の各画素の画素値を算出し、最終的に被写体の歪みを補正した出力画像UGを生成する。   In the distortion correction process, such distortion correction for each block BK is sequentially executed in the horizontal direction for each block BK constituting the output image UG, with the upper left block as a start block. That is, the distortion correction unit 30 sequentially sets each reading area surrounding each corresponding block of each block BK in the horizontal direction according to execution of the distortion correction processing, and sets each reading area set side by side in the horizontal direction. The image data transfer requests included in the are sequentially output in the horizontal order. Then, the distortion correction unit 30 calculates the pixel value of each pixel in the block for each block BK using the image data in the readout area acquired in response to the transfer request, and finally corrects the distortion of the subject. The generated output image UG is generated.

また、歪み補正部30は、歪み補正の実行にあたり、連続して並ぶ複数のブロックを囲む領域(読出領域)RN10に含まれる各画素の画素値を一度に取得してもよい。例えば、図3に示されるように、歪み補正部30は、連続して並ぶ2つのブロックBK1,BK2それぞれに対応する対応ブロックTB1,TB2を内包する領域RN10に含まれる各画素の画素値を一度に取得し、ブロックBK1,BK2(実行対象ブロックBR1,BR2)の各画素の画素値を算出してもよい。この場合、歪み補正部30からは、領域RN10に含まれる各画素の画素値を取得するための転送要求が出力されることになる。   In addition, when the distortion correction is performed, the distortion correction unit 30 may acquire the pixel values of the respective pixels included in the area (reading area) RN10 surrounding a plurality of continuously arranged blocks. For example, as illustrated in FIG. 3, the distortion correction unit 30 once calculates the pixel value of each pixel included in the region RN10 including the corresponding blocks TB1 and TB2 corresponding to the two blocks BK1 and BK2 arranged in succession. And the pixel value of each pixel of the blocks BK1 and BK2 (execution target blocks BR1 and BR2) may be calculated. In this case, the distortion correction unit 30 outputs a transfer request for acquiring the pixel value of each pixel included in the region RN10.

そして、歪み補正部30は、読出領域ごとに読出領域内の各画素の画素値を順次に取得しつつ、実行対象ブロックごとに歪み補正処理を実行する。   Then, the distortion correction unit 30 executes the distortion correction process for each execution target block while sequentially obtaining the pixel values of the pixels in the reading area for each reading area.

このように、歪み補正部30は、画像処理としての歪み補正処理を実行するために、入力画像IGの所定領域に含まれる画像データを読み出すための転送要求を出力するデータ転送要求手段として機能する。   As described above, the distortion correction unit 30 functions as a data transfer request unit that outputs a transfer request for reading out image data included in a predetermined area of the input image IG in order to execute distortion correction processing as image processing. .

なお、ブロックBKの大きさは、画像処理装置1によって自動で設定される態様としてもよく、ユーザによって指定可能な態様としてもよい。本実施形態では、ブロックBKが縦8画素、横8画素のブロック、すなわち8×8の画素を有するブロックである場合を例にして説明する。   The size of the block BK may be automatically set by the image processing apparatus 1 or may be specified by the user. In the present embodiment, an example will be described in which the block BK is a block having 8 vertical pixels and 8 horizontal pixels, that is, a block having 8 × 8 pixels.

図1の説明に戻って、第2処理回路3は、第1処理回路2と第2処理回路3との間のデータ転送を制御するDMAC(ダイレクトメモリアクセスコントローラ)35,36と、キャッシュメモリ37とをさらに有している。画像処理装置1では、第1処理回路2と第2処理回路3との間のバスを介したデータ転送は、CPUの代わりに当該DMAC35,36からの制御信号に基づいて行われる。   Returning to the description of FIG. 1, the second processing circuit 3 includes DMACs (direct memory access controllers) 35 and 36 that control data transfer between the first processing circuit 2 and the second processing circuit 3, and a cache memory 37. And further. In the image processing apparatus 1, data transfer between the first processing circuit 2 and the second processing circuit 3 via the bus is performed based on control signals from the DMACs 35 and 36 instead of the CPU.

具体的には、歪み補正部30から出力されたレンズデータの読出要求は、DMAC35に入力される。DMAC35は、当該読出要求に応じて、バスを介してレンズデータ記憶部21からレンズデータを読み出す。読み出されたレンズデータは、歪み補正部30において歪み補正処理に利用される。   Specifically, the lens data read request output from the distortion correction unit 30 is input to the DMAC 35. The DMAC 35 reads lens data from the lens data storage unit 21 via the bus in response to the read request. The read lens data is used for distortion correction processing in the distortion correction unit 30.

また、歪み補正部30から出力された画像データの転送要求は、キャッシュメモリ37に入力される。キャッシュメモリ37は、当該転送要求に応じた画像データがキャッシュメモリ37内の記憶部に記憶されている場合は、当該記憶部に記憶されているデータを歪み補正部30に対して出力する。   Further, the transfer request for the image data output from the distortion correction unit 30 is input to the cache memory 37. When image data corresponding to the transfer request is stored in the storage unit in the cache memory 37, the cache memory 37 outputs the data stored in the storage unit to the distortion correction unit 30.

一方、キャッシュメモリ37は、当該転送要求に応じた画像データがキャッシュメモリ37内の記憶部に記憶されていない場合は、記憶部に記憶されていない未記憶データを読み出すための読出要求をDMAC36に対して出力する。DMAC36は、当該読出要求に応じて、バスを介して画像データ記憶部22から画像データを読み出す。画像データ記憶部22から読み出された画像データは、キャッシュメモリ37に入力され、キャッシュメモリ37内の記憶部に記憶される。そして、キャッシュメモリ37は、歪み補正部30からの転送要求に応じた画像データを、歪み補正部30に対して出力する。   On the other hand, when the image data corresponding to the transfer request is not stored in the storage unit in the cache memory 37, the cache memory 37 issues a read request for reading unstored data not stored in the storage unit to the DMAC 36. Output. The DMAC 36 reads the image data from the image data storage unit 22 via the bus in response to the read request. The image data read from the image data storage unit 22 is input to the cache memory 37 and stored in the storage unit in the cache memory 37. Then, the cache memory 37 outputs image data corresponding to the transfer request from the distortion correction unit 30 to the distortion correction unit 30.

上記のように、キャッシュメモリ37は、データ転送要求手段としての歪み補正部30から出力された画像データの転送要求に応じて、画像データ記憶部22から不足分の画像データを読み出し、転送要求の対象となっている画像データを歪み補正部30に転送する。このようなキャッシュメモリ37を有する画像処理装置1は、「データ転送装置」とも称される。   As described above, the cache memory 37 reads the shortage of image data from the image data storage unit 22 in response to the transfer request of the image data output from the distortion correction unit 30 serving as the data transfer request unit, and transmits the transfer request. The target image data is transferred to the distortion correction unit 30. The image processing apparatus 1 having such a cache memory 37 is also referred to as a “data transfer apparatus”.

[1−2.キャッシュメモリの詳細構成]
次に、キャッシュメモリ37の詳細構成について説明する。図4は、画像処理装置1におけるキャッシュメモリ37の詳細構成を示す図である。図5は、記憶部370における、画像データの記憶態様を示す図である。図6は、管理用メモリにおける、記憶内容の管理態様を示す図である。
[1-2. Detailed configuration of cache memory]
Next, a detailed configuration of the cache memory 37 will be described. FIG. 4 is a diagram showing a detailed configuration of the cache memory 37 in the image processing apparatus 1. FIG. 5 is a diagram illustrating a storage mode of image data in the storage unit 370. FIG. 6 is a diagram illustrating a management mode of stored contents in the management memory.

図4に示されるように、キャッシュメモリ37は、記憶部370と、記憶内容管理部371と、データ取得制御部(読出制御手段)372と、記憶制御部373と、出力制御部374とを有している。   As shown in FIG. 4, the cache memory 37 includes a storage unit 370, a storage content management unit 371, a data acquisition control unit (reading control unit) 372, a storage control unit 373, and an output control unit 374. doing.

記憶部370は、画像データ記憶部22よりもデータの書き込みおよび読み出しを高速に行うことが可能な記憶部である。このような記憶部370としては、例えば、SRAM等が採用され、記憶部370には、画像データ記憶部22から読み出された画像データが記憶される。   The storage unit 370 is a storage unit that can write and read data at a higher speed than the image data storage unit 22. As such a storage unit 370, for example, an SRAM or the like is adopted, and the storage unit 370 stores image data read from the image data storage unit 22.

ここで、記憶部370における画像データの記憶態様について説明する。   Here, a storage mode of image data in the storage unit 370 will be described.

記憶部370では、入力画像IGにおける水平方向の画素の行(「画素行」とも称する)の画像データが、画素行ごとに異なる記憶領域に区分して記憶される。画素行ごとに区分された記憶領域は、「区分記憶領域」とも称され、ゼロから順次にそれぞれ番号付けされている。これら各区分記憶領域には、所定の規則に従って行番号(ライン番号)に基づいて決定される特定の画素行の画像データが記憶されることになる。   In the storage unit 370, image data of a horizontal pixel row (also referred to as a “pixel row”) in the input image IG is stored in different storage areas for each pixel row. The storage areas partitioned for each pixel row are also called “partitioned storage areas”, and are numbered sequentially from zero. Each of these segment storage areas stores image data of a specific pixel row determined based on a row number (line number) according to a predetermined rule.

例えば、図5に示されるように、記憶部370が、「0」〜「15」までの16個の区分記憶領域を有している場合を想定する。そして、入力画像IG中の各画素行において、最上部の行を行番号「0」とし、当該最上部の行から下に行くに従って1ずつ行番号を増やす手法で各画素行が番号付けされるものとする。この場合、記憶部370では、或る画素行の画像データは、当該画素行の行番号を、区分記憶領域の数「16」で割ったときの余りによって示される区分記憶領域に記憶される。   For example, as illustrated in FIG. 5, it is assumed that the storage unit 370 has 16 partitioned storage areas from “0” to “15”. Then, in each pixel row in the input image IG, the top row is assigned the row number “0”, and each pixel row is numbered by a method in which the row number is incremented by 1 from the top row to the bottom. Shall. In this case, in the storage unit 370, the image data of a certain pixel row is stored in the partitioned storage area indicated by the remainder when the row number of the pixel row is divided by the number of partitioned storage areas “16”.

より詳細には、「0」の区分記憶領域には、行番号を区分記憶領域の数「16」で割ったときの余りが「0」になる行番号を有する画素行の画像データ(例えば、0行目の画像データ、16行目の画像データ等)が記憶されることになる。また、「1」の区分記憶領域には、行番号を区分記憶領域の数「16」で割ったときの余りが「1」になる行番号を有する画素行の画像データ(例えば、1行目の画像データ、17行目の画像データ等)が記憶されることになる。また、「15」の区分記憶領域には、行番号を区分記憶領域の数「16」で割ったときの余りが「15」になる行番号を有する画素行の画像データ(例えば、15行目の画像データ、31行目の画像データ等)が記憶されることになる。   More specifically, in the partitioned storage area of “0”, image data (for example, pixel rows having a row number whose remainder is “0” when the row number is divided by the number of partitioned storage areas “16” (for example, 0th row image data, 16th row image data, etc.) are stored. Further, in the partitioned storage area of “1”, image data (for example, the first row) of the pixel row having a row number whose remainder is “1” when the row number is divided by the number of partitioned storage areas “16”. , Image data of the 17th row, etc.) are stored. In addition, in the partitioned storage area of “15”, image data (for example, the 15th line) of the pixel row having a row number when the row number is divided by the number of partitioned storage areas “16” is “15”. , Image data of the 31st row, etc.) are stored.

このように、記憶部370では、入力画像IGに含まれる各画素行の画像データの保存先が、画素行に基づいて決定される。   As described above, in the storage unit 370, the storage destination of the image data of each pixel row included in the input image IG is determined based on the pixel row.

キャッシュメモリ37の構成説明(図4参照)に戻って、記憶内容管理部371は、記憶部370に記憶されている画像データの記憶内容を管理する機能を有している。具体的には、記憶内容管理部371は、SRAM等の管理用メモリを有している。当該管理用メモリは、記憶部370の各区分記憶領域に現在記憶されている画像データそれぞれが、入力画像IG中のどの位置の画像データであるかを示す情報(「記憶内容情報」または単に「記憶内容」とも称する)を保持している。   Returning to the description of the configuration of the cache memory 37 (see FIG. 4), the storage content management unit 371 has a function of managing the storage content of the image data stored in the storage unit 370. Specifically, the storage content management unit 371 has a management memory such as an SRAM. The management memory is information ("stored content information" or simply "" indicating which position in the input image IG each piece of image data currently stored in each section storage area of the storage unit 370 is. Stored contents ”).

管理用メモリにおける、記憶内容の管理態様としては、例えば、図6に示される態様を例示することができる。   As a management mode of stored contents in the management memory, for example, the mode shown in FIG. 6 can be exemplified.

具体的には、図6に示される管理用メモリでは、アドレス「0」〜「15」までの記憶領域が確保される。そして、アドレス「0」〜「15」までの各記憶領域には、記憶部370の「0」〜「15」までの各区分記憶領域に記憶されている画像データのライン番号、先頭アドレス、およびバースト長(詳細には、連続して転送したビット長所定量のデータを先頭アドレスから連続して転送する回数)が、記憶内容としてそれぞれ記憶されている。   Specifically, in the management memory shown in FIG. 6, storage areas from addresses “0” to “15” are secured. In each storage area from addresses “0” to “15”, line numbers, head addresses of image data stored in the respective division storage areas from “0” to “15” of the storage unit 370, and The burst length (specifically, the number of times of continuous transfer of a predetermined amount of continuously transferred data from the head address) is stored as stored contents.

例えば、管理用メモリにおけるアドレス「0」の記憶領域には、記憶部370の「0」の区分記憶領域の記憶内容が記憶されている。また、管理用メモリにおけるアドレス「1」の記憶領域には、記憶部370の「1」の区分記憶領域の記憶内容が記憶されている。また、管理用メモリにおけるアドレス「15」の記憶領域には、記憶部370の「15」の区分記憶領域の記憶内容が記憶されている。   For example, the storage contents of the partitioned storage area “0” of the storage unit 370 are stored in the storage area of the management memory at the address “0”. In addition, the storage contents of the section storage area “1” of the storage unit 370 are stored in the storage area of the address “1” in the management memory. Further, the storage contents of the section storage area “15” of the storage unit 370 are stored in the storage area of the address “15” in the management memory.

このように、記憶内容管理部371の管理用メモリでは、記憶部370の各区分記憶領域の記憶内容が、区分記憶領域ごとに分けて管理されることになる。   Thus, in the management memory of the storage content management unit 371, the storage content of each partitioned storage area of the storage unit 370 is managed separately for each partitioned storage area.

キャッシュメモリ37の構成説明(図4参照)に戻って、データ取得制御部372は、歪み補正部30から画像データの転送要求が入力されると、記憶内容管理部371内のSRAMに保持されている記憶情報を参照して、当該転送要求に対応した画像データが記憶部370に記憶されているか否かを判定する。このように、データ取得制御部372は、転送要求に対応した画像データが記憶部370に記憶されているか否かを判定する判定手段として機能する。   Returning to the description of the configuration of the cache memory 37 (see FIG. 4), when the image data transfer request is input from the distortion correction unit 30, the data acquisition control unit 372 is held in the SRAM in the storage content management unit 371. With reference to the stored information, it is determined whether or not the image data corresponding to the transfer request is stored in the storage unit 370. As described above, the data acquisition control unit 372 functions as a determination unit that determines whether image data corresponding to the transfer request is stored in the storage unit 370.

そして、歪み補正部30からの転送要求に対応した画像データが記憶部370に記憶されていない場合、データ取得制御部372は、未記憶データを読み出すための読出要求をDMAC36に対して出力する。このように、データ取得制御部372は、未記憶データの読み出しを制御する読出制御手段としても機能する。   When the image data corresponding to the transfer request from the distortion correction unit 30 is not stored in the storage unit 370, the data acquisition control unit 372 outputs a read request for reading unstored data to the DMAC 36. In this manner, the data acquisition control unit 372 also functions as a read control unit that controls reading of unstored data.

なお、当該読出要求は、読出領域に含まれる画像データを読み出すための転送要求を拡張したものであり、当該読出要求によれば、読出領域を超えて画像データが読み出されることになる。詳細は、後述する。   The read request is an extension of the transfer request for reading the image data included in the read area. According to the read request, the image data is read beyond the read area. Details will be described later.

一方、歪み補正部30からの転送要求に対応した画像データが記憶部370に記憶されている場合は、データ取得制御部372は、読出要求をDMAC36に対して出力しない。   On the other hand, when image data corresponding to the transfer request from the distortion correction unit 30 is stored in the storage unit 370, the data acquisition control unit 372 does not output a read request to the DMAC 36.

記憶制御部373は、画像データ記憶部22から読み出された画像データを記憶部370に記憶する際の格納先のアドレス(「キャッシュアドレス」とも称する)を画素行ごとに決定して、当該キャッシュアドレスを記憶部370に出力する。記憶部370は、画像データ記憶部22から読み出された画像データを、キャッシュアドレスで特定される記憶部370内の各区分記憶領域に画素行ごとに格納する。   The storage control unit 373 determines an address (also referred to as a “cache address”) for storing the image data read from the image data storage unit 22 in the storage unit 370 for each pixel row, and the cache The address is output to the storage unit 370. The storage unit 370 stores the image data read from the image data storage unit 22 for each pixel row in each partitioned storage area in the storage unit 370 specified by the cache address.

出力制御部374は、画像データの転送要求に応じた画像データを、記憶部370から出力する出力制御を行う。   The output control unit 374 performs output control for outputting the image data corresponding to the image data transfer request from the storage unit 370.

[1−3.キャッシュメモリの動作]
次に、キャッシュメモリ37の動作について詳述する。図7は、キャッシュメモリ37の動作を示すフローチャートである。図8は、歪み補正部からの転送要求に応じて、入力画像における読出領域から画像データを読み出す様子を示す図である。
[1-3. Cache memory operation]
Next, the operation of the cache memory 37 will be described in detail. FIG. 7 is a flowchart showing the operation of the cache memory 37. FIG. 8 is a diagram illustrating a state in which image data is read from the reading area in the input image in response to a transfer request from the distortion correction unit.

図7に示されるように、ステップSP1では、キャッシュメモリ37は、歪み補正部30から読出領域に含まれる画像データを読み出すための転送要求を歪み補正部30から取得する。当該転送要求は、読出領域に含まれる画素の行ごとに読出開始位置の情報と読出終了位置の情報とを含んでいる。   As shown in FIG. 7, in step SP <b> 1, the cache memory 37 acquires a transfer request for reading image data included in the reading area from the distortion correction unit 30 from the distortion correction unit 30. The transfer request includes information on the read start position and information on the read end position for each row of pixels included in the read area.

ここで、図8に示されるような、入力画像IGにおいて、連続して並ぶ4つの対応ブロックTB11〜TB14を囲む領域RNを読出領域とした転送要求が、歪み補正部30からキャッシュメモリ37に順次に入力される場合を想定する。すなわち、最初の転送要求では、破線HL1に囲まれた読出領域RN11に関する転送要求がキャッシュメモリ37に入力され、次の転送要求では、破線HL2に囲まれた読出領域RN12に関する転送要求がキャッシュメモリ37に入力されるものとする。   Here, as shown in FIG. 8, in the input image IG, transfer requests using the region RN surrounding the four corresponding blocks TB11 to TB14 arranged in succession as read regions are sequentially sent from the distortion correction unit 30 to the cache memory 37. Suppose that it is input to. That is, in the first transfer request, a transfer request related to the read area RN11 surrounded by the broken line HL1 is input to the cache memory 37, and in the next transfer request, a transfer request related to the read area RN12 surrounded by the broken line HL2 is input to the cache memory 37. Shall be entered.

この場合、各転送要求には、各読出領域RNにおける各画素行の情報と、画素行ごとの読出開始位置の情報および読出終了位置の情報とが含まれている。ここでいう、画素行の情報は、画素行の行番号であり、読出開始位置の情報および読出終了位置の情報はそれぞれ、読出開始アドレスおよび読出終了アドレスである。   In this case, each transfer request includes information on each pixel row in each readout region RN, information on the readout start position and information on the readout end position for each pixel row. The pixel row information here is the row number of the pixel row, and the read start position information and the read end position information are a read start address and a read end address, respectively.

ステップSP2では、データ取得制御部372によって、転送要求に対応する画像データがキャッシュメモリ37内の記憶部370に存在するか否かが、転送要求に含まれる画素行ごとに判定される。当該判定は、転送要求に含まれる画素行の行番号、画素行ごとの読出開始アドレス、および画素行ごとの読出終了アドレスと、管理用メモリに記憶されている各区分記憶領域の記憶内容とを比較することによって行われる。   In step SP2, the data acquisition control unit 372 determines for each pixel row included in the transfer request whether the image data corresponding to the transfer request exists in the storage unit 370 in the cache memory 37. The determination includes the row number of the pixel row included in the transfer request, the read start address for each pixel row, the read end address for each pixel row, and the storage contents of each partitioned storage area stored in the management memory. This is done by comparing.

当該判定により、転送要求の対象となっている画素行の画像データがキャッシュメモリ37内の記憶部370に存在すると判定された場合、動作工程は、ステップSP3を飛ばしてステップSP4に移行される。   If it is determined that the image data of the pixel row that is the target of the transfer request exists in the storage unit 370 in the cache memory 37, the operation process skips step SP3 and proceeds to step SP4.

一方、上記判定により、転送要求の対象となっている画素行の画像データがキャッシュメモリ37内の記憶部370に存在しないと判定された場合、動作工程は、ステップSP3に移行される。   On the other hand, if it is determined by the above determination that the image data of the pixel row subject to the transfer request does not exist in the storage unit 370 in the cache memory 37, the operation process moves to step SP3.

ステップSP3では、データ取得制御部372の制御に基づいて、転送要求の対象となっている画素行における未記憶データを、画像データ記憶部22から取得するための読出処理が実行される。   In step SP3, based on the control of the data acquisition control unit 372, read processing for acquiring unstored data in the pixel row that is the target of the transfer request from the image data storage unit 22 is executed.

当該読出処理では、未記憶データを構成する各画素の画素データのうち、左端の画素の画素データから、一定の行方向(ここでは右方向)に沿って、各画素の画素データが順次に読み出される。   In the readout process, pixel data of each pixel is sequentially read from the pixel data of the leftmost pixel among the pixel data of each pixel constituting unstored data along a certain row direction (here, the right direction). It is.

また、一度の読出処理で読み出される画像データのデータ量(読出データ量)は、読出領域の行方向の最大幅よりも長い画素行の画像データを読み出すことが可能なように設定される。読出データ量は、所定量のデータを連続して転送する回数(バースト長)に依存し、具体的な読出データ量としては、例えば、128ビット×16バースト長を採用することができる。   Further, the data amount (read data amount) of image data read by one read process is set so that image data of a pixel row longer than the maximum width in the row direction of the read region can be read. The read data amount depends on the number of times of continuous transfer of a predetermined amount of data (burst length). As a specific read data amount, for example, 128 bits × 16 burst lengths can be adopted.

このように、一度の読出処理で読み出される画像データの読出データ量を、読出領域の行方向の最大幅よりも長い画素行の画像データを読み出すことが可能な量とすれば、一度の読出処理で、読出領域の行方向の最大幅を超えて、画像データを読み出すことになる。   As described above, if the amount of image data read in one reading process is set to an amount capable of reading image data of a pixel row longer than the maximum width in the row direction of the reading region, the reading process is performed once. Thus, the image data is read out beyond the maximum width in the row direction of the reading area.

上記のような読出処理によって読み出された画像データは、キャッシュメモリ37内の記憶部370に格納される。   The image data read by the reading process as described above is stored in the storage unit 370 in the cache memory 37.

そして、次のステップSP4では、出力制御部374によって転送要求に対応する画像データがキャッシュメモリ37内の記憶部370から読み出されて、歪み補正部30に転送される。   In the next step SP4, the image data corresponding to the transfer request is read from the storage unit 370 in the cache memory 37 by the output control unit 374 and transferred to the distortion correction unit 30.

ステップSP5では、転送要求の対象となっている全ての画素行の画像データの転送が完了したか否かが判定される。   In step SP5, it is determined whether or not the transfer of the image data of all the pixel rows subject to the transfer request has been completed.

ステップSP5において、転送対象の全ての画素行の画像データの転送が完了したと判定された場合、転送要求に応じたキャッシュメモリ37の動作は終了される。一方、転送対象の全ての画素行の画像データの転送が完了していないと判定された場合、動作工程は、ステップSP2に移行される。そして、転送対象の全ての画素行について画像データの転送が完了するまで、ステップSP2〜ステップSP5の各工程が繰り返し実行される。   If it is determined in step SP5 that the transfer of the image data of all the pixel rows to be transferred has been completed, the operation of the cache memory 37 in response to the transfer request is terminated. On the other hand, when it is determined that the transfer of the image data of all the pixel rows to be transferred has not been completed, the operation process moves to step SP2. Then, steps SP2 to SP5 are repeatedly executed until the transfer of the image data is completed for all the pixel rows to be transferred.

このように、キャッシュメモリ37では、ステップSP1〜ステップSP5の各工程が実行され、歪み補正部30へのデータ転送が行われる。   As described above, in the cache memory 37, the steps SP1 to SP5 are executed, and data transfer to the distortion correction unit 30 is performed.

ここで、ステップSP3の読出処理で読み出される読出範囲について詳述する。図9は、歪み補正部30からの転送要求に応じて、入力画像IGにおける読出領域RN11から画像データを読み出す様子を示す図である。図10は、歪み補正部30からの転送要求に応じて、入力画像IGにおける読出領域RN12から画像データを読み出す様子を示す図である。図11は、歪み補正部30からの転送要求に応じて、入力画像IGにおける読出領域RN11,RN12から画像データを読み出す様子を示す図である。図12および図13は、記憶部370内の画像データの記憶態様を示す図である。   Here, the reading range read by the reading process in step SP3 will be described in detail. FIG. 9 is a diagram illustrating a state in which image data is read from the reading region RN11 in the input image IG in response to a transfer request from the distortion correction unit 30. FIG. 10 is a diagram illustrating a state in which image data is read from the reading region RN12 in the input image IG in response to a transfer request from the distortion correction unit 30. FIG. 11 is a diagram illustrating a state in which image data is read from the read areas RN11 and RN12 in the input image IG in response to a transfer request from the distortion correction unit 30. 12 and 13 are diagrams showing a storage mode of image data in the storage unit 370. FIG.

例えば、キャッシュメモリ37の動作開始後、最初の転送要求として、図9に示されるような読出領域RN11に関する転送要求が入力された場合、記憶部370には、画像データが存在しないため、読出領域RN11に含まれる全ての画素行についてステップSP3の読出処理が実行されることになる。そして、この読出処理では、読出領域RN11を拡張した領域RL11(砂地ハッチングで示される領域)に含まれる各画素の画素データが読み出される。   For example, when a transfer request related to the read area RN11 as shown in FIG. 9 is input as the first transfer request after the operation of the cache memory 37 is started, there is no image data in the storage unit 370. The reading process of step SP3 is executed for all the pixel rows included in RN11. In this reading process, pixel data of each pixel included in a region RL11 (region indicated by sandy hatching) obtained by expanding the reading region RN11 is read out.

さらに、次の転送要求として、図10に示されるような読出領域RN12に関する転送要求が入力された場合、ステップSP3の読出処理では、読出領域RN12に含まれる画素行のうち、記憶部370に記憶されていない画素行の画像データが読み出されることになる。すなわち、この読出処理では、領域RL12に含まれる各画素の画素データが読み出される。   Furthermore, when a transfer request related to the readout region RN12 as shown in FIG. 10 is input as the next transfer request, in the readout process in step SP3, the pixel row included in the readout region RN12 is stored in the storage unit 370. The image data of the pixel row that has not been read is read out. That is, in this reading process, pixel data of each pixel included in the region RL12 is read.

このように、読出処理では、読出領域に含まれる各画素行の画像データが、画素行ごとに一定の行方向に沿って、読出領域を超えた位置まで順次に読み出される。   As described above, in the readout process, the image data of each pixel row included in the readout region is sequentially read out to the position beyond the readout region along a certain row direction for each pixel row.

そして、当該読出処理によって読み出された画像データは、画素行ごとに記憶部370内の異なる区分記憶領域に格納されることになるが、記憶部370での画像データの格納先は、記憶制御部373によって各画素行の行番号に基づいて決定される。   The image data read out by the reading process is stored in different partitioned storage areas in the storage unit 370 for each pixel row. The storage destination of the image data in the storage unit 370 is storage control. This is determined by the unit 373 based on the row number of each pixel row.

具体的には、図5に示されるように、記憶部370が、「0」〜「15」までの16個の区分記憶領域を有している場合、記憶制御部373は、読出処理によって読み出された或る画素行の画像データの格納先を、区分記憶領域の数「16」で当該画素行の行番号を割ったときの余りによって表される区分記憶領域に決定する。   Specifically, as shown in FIG. 5, when the storage unit 370 has 16 partitioned storage areas from “0” to “15”, the storage control unit 373 reads by reading processing. The storage location of the image data of a given pixel row is determined to be a partitioned storage area represented by the remainder when the row number of the pixel row is divided by the number of partitioned storage areas “16”.

例えば、読出領域RN11に含まれる各画素行の行番号が、図11に示されるような行番号であった場合、読出領域RN11に関する最初の転送要求に応じた読出処理で取得された画像データは、図12に示されるような態様で、記憶部370内の各区分記憶領域に記憶されることになる。詳細には、読出領域RN11に含まれる各画素行の行番号は、「10」〜「21」であることから、行番号「10」〜「21」までの各画素行の画像データはそれぞれ、記憶部370内の「10」〜「15」、「0」〜「5」の各区分記憶領域に記憶されることになる(図12参照)。   For example, when the row number of each pixel row included in the readout region RN11 is a row number as shown in FIG. 11, the image data acquired by the readout process corresponding to the first transfer request regarding the readout region RN11 is 12 is stored in each partitioned storage area in the storage unit 370 in a manner as shown in FIG. Specifically, since the row numbers of the pixel rows included in the readout region RN11 are “10” to “21”, the image data of the pixel rows from the row numbers “10” to “21” are respectively It is stored in each of the storage areas “10” to “15” and “0” to “5” in the storage unit 370 (see FIG. 12).

そして、読出領域RN12に関する次の転送要求に応じた読出処理では、領域RL12に含まれる行番号「4」〜「9」の各画素行の画像データが読み出されて、当該各画素行の画像データはそれぞれ、記憶部370内の「4」〜「9」の各区分記憶領域に記憶されることになる(図13参照)。このとき、「4」の区分記憶領域には、最初の転送要求に応じた読出処理で読み出された行番号「20」の画像データが記憶されているが、当該画像データは消去され、行番号「4」の画像データが上書きして記憶される。同様に「5」の区分記憶領域には、最初の転送要求に応じた読出処理で読み出された行番号「21」の画像データが記憶されているが、当該画像データは消去され、行番号「5」の画像データが上書きして記憶される。   Then, in the read process according to the next transfer request regarding the read region RN12, the image data of each pixel row of the row numbers “4” to “9” included in the region RL12 is read and the image of each pixel row is read. The data is stored in the respective divided storage areas “4” to “9” in the storage unit 370 (see FIG. 13). At this time, the image data of the line number “20” read by the reading process corresponding to the first transfer request is stored in the section storage area “4”, but the image data is erased and the line data is deleted. The image data with the number “4” is overwritten and stored. Similarly, the image data of the line number “21” read by the read process corresponding to the first transfer request is stored in the section storage area “5”, but the image data is erased and the line number is deleted. The image data “5” is overwritten and stored.

図11に示されるように、2回目の転送要求後に実行される歪み補正処理では、読出領域RN12に含まれる画像データを用いて歪み補正処理が実行されるため、消去された行番号「20」、「21」の画像データは、歪み補正処理に利用されない不要なデータとなっている。このため、行番号「20」、「21」の画像データを記憶している区分記憶領域に、行番号「4」、「5」の新しい画像データを上書きして記憶することができる。   As shown in FIG. 11, in the distortion correction process executed after the second transfer request, the distortion correction process is executed using the image data included in the read area RN12. , “21” image data is unnecessary data that is not used in the distortion correction processing. For this reason, the new image data of the line numbers “4” and “5” can be overwritten and stored in the partitioned storage area storing the image data of the line numbers “20” and “21”.

歪み補正処理では、各読出領域が、入力画像IGの歪みに応じて行方向に垂直な方向(画像の上方向或いは下方向)に徐々にずらして設定されるため、歪み補正処理が進展すると、記憶部370内には不要な画像データを記憶する区分記憶領域が生まれることになる。したがって、行番号に基づいて各画素行の画像データの格納先を決定することによれば、不要な画像データを記憶する区分記憶領域に、新たな画素行の画像データを上書きして記憶していくことが可能になり、歪み補正処理に必要な画像データを消去してしまう可能性を低減することができる。   In the distortion correction process, each readout area is set to be gradually shifted in the direction perpendicular to the row direction (upward or downward direction of the image) according to the distortion of the input image IG. In the storage unit 370, a partitioned storage area for storing unnecessary image data is created. Therefore, by determining the storage location of the image data of each pixel row based on the row number, the image data of the new pixel row is overwritten and stored in the partitioned storage area for storing unnecessary image data. Therefore, the possibility of erasing image data necessary for the distortion correction process can be reduced.

これに対して、メモリアドレスから一意にキャッシュアドレスを決定するダイレクトマップ方式でキャッシュアドレスを決定して、読出領域に含まれる各画素行の画像データを記憶部370に記憶した場合、同一の読出領域に含まれる画像データ同士で、格納先が重なる可能性がある。格納先が重なると、同一の読出領域に含まれる必要な画像データが消去されることになり、再度、消去された当該必要な画像データを読み出すことになる。   On the other hand, when the cache address is determined by the direct map method that uniquely determines the cache address from the memory address and the image data of each pixel row included in the read area is stored in the storage unit 370, the same read area There is a possibility that the storage destinations overlap in the image data included in. When the storage destinations overlap, necessary image data included in the same read area is erased, and the erased necessary image data is read again.

なお、或る画素行における画像データの格納先を、区分記憶領域の数「16」で当該画素行の行番号を割ったときの余りによって表される区分記憶領域とする上記決定手法は、或る画素行の行番号を2進数で表現した値の下位4ビットで表される区分記憶領域を当該画素行の格納先とする決定手法とも表現することができる。   Note that the above-described determination method is described in which the storage location of image data in a certain pixel row is a segmented storage area represented by the remainder when the row number of the pixel row is divided by the number of segmented storage areas “16”. It can also be expressed as a determination method in which the partitioned storage area represented by the lower 4 bits of the value representing the row number of the pixel row in binary is used as the storage destination of the pixel row.

また、記憶部370内に設けられる区分記憶領域の数は、読出領域の垂直方向の幅、すなわち読出領域に含まれる画素行の数に応じて自由に変更可能であるが、画像データの格納先を決定する際の演算を容易にするには、区分記憶領域の数を2のべき乗個にすることが好ましい。   Further, the number of partitioned storage areas provided in the storage unit 370 can be freely changed according to the vertical width of the readout area, that is, the number of pixel rows included in the readout area. In order to facilitate the calculation when determining the number of segmented storage areas, it is preferable to set the number of the partitioned storage areas to a power of two.

ここでさらに、ステップSP3の読出処理で読み出される読出範囲の他の態様について詳述する。図14は、読出処理で読み出される読出範囲の他の態様を示す図である。   Here, another aspect of the reading range read by the reading process of step SP3 will be described in detail. FIG. 14 is a diagram showing another aspect of the reading range read by the reading process.

具体的には、図14に示されるように、キャッシュメモリ37の動作開始後、読出領域RN11に関する最初の転送要求に応じた読出処理によって、領域RL21に含まれる各画素行の画像データが読み出された場合を想定する。   Specifically, as shown in FIG. 14, after the operation of the cache memory 37 is started, the image data of each pixel row included in the region RL21 is read out by the read process according to the first transfer request regarding the read region RN11. Assuming that

この場合、読出領域RN12に関する次の転送要求に応じた読出処理では、領域RL22に含まれる各画素行の画像データに加えて、領域RL23に含まれる各画素行の画像データが読み出されることになる。   In this case, in the read process in response to the next transfer request regarding the read region RN12, in addition to the image data of each pixel row included in the region RL22, the image data of each pixel row included in the region RL23 is read. .

このとき、領域RL23の画像データは、最初の転送要求に応じた読出処理の際に読み出された、破線HL3で囲まれる画像データを記憶する各区分記憶領域に記憶されることになるが、当該各区分記憶領域は、破線HL3の画像データをも保持しつつ、領域RL23の画像データをさらに記憶することになる。読出領域RN12の画像データを歪み補正部30に転送するためには、破線HL3の画像データが必要となるからである。   At this time, the image data in the region RL23 is stored in each of the divided storage regions that store the image data surrounded by the broken line HL3, which is read out in the reading process according to the first transfer request. Each segment storage area further stores the image data of the area RL23 while holding the image data of the broken line HL3. This is because the image data of the broken line HL3 is required to transfer the image data of the read area RN12 to the distortion correction unit 30.

このように、読出処理によって同一画素行の画像データが読み出された場合、記憶制御部373は、既に記憶されている画像データを消去しないように、新たに読み出された画像データの格納先を決定する。   As described above, when the image data of the same pixel row is read by the reading process, the storage control unit 373 stores the newly read image data so as not to erase the already stored image data. To decide.

なお、新たに読み出された画像データを記憶する際には、歪み補正部30からの転送要求に応じた画像データを歪み補正部30に転送可能な範囲で、既に記憶されている画像データの一部を消去するようにしてもよい。   Note that when newly read image data is stored, image data that has already been stored within a range in which image data corresponding to a transfer request from the distortion correction unit 30 can be transferred to the distortion correction unit 30 is stored. You may make it erase a part.

以上のように、データ転送装置(画像処理装置1)は、入力画像IGの画像データを記憶した画像データ記憶部22(記憶手段)よりも、データの書き込みおよび読み出しを高速に行うキャッシュメモリ37と、入力画像IG内の或る領域の画像データの転送要求を、キャッシュメモリ37に対して出力するデータ転送要求手段30とを備えている。そして、キャッシュメモリ37は、転送要求に対応した読出領域に含まれる画素行の画像データが、キャッシュメモリ37内の記憶部に記憶されているか否かを画素行ごとに判断し、記憶部に記憶されていない未記憶の画像データを画素行ごとに当該読出領域を超えて画像データ記憶部22から読み出させるデータ取得制御部372と、データ取得制御部372によって読み出された画素行ごとの未記憶の画像データを、画素行ごとに格納先を替えてキャッシュメモリ37内の記憶部に記憶させる記憶制御部373と、転送要求に対応した読出領域の画像データをキャッシュメモリ37内の記憶部から読み出して、データ転送要求手段30に出力する出力制御部374とを有している。また、データ転送要求手段30は、入力画像IGの水平方向に並んだ複数の読出領域それぞれの画像データの転送要求を、水平方向の並び順に順次に行う。   As described above, the data transfer apparatus (image processing apparatus 1) includes the cache memory 37 that writes and reads data at a higher speed than the image data storage unit 22 (storage means) that stores the image data of the input image IG. A data transfer requesting means 30 for outputting a transfer request for image data of a certain area in the input image IG to the cache memory 37 is provided. Then, the cache memory 37 determines for each pixel row whether or not the image data of the pixel row included in the readout area corresponding to the transfer request is stored in the storage unit in the cache memory 37, and stores it in the storage unit. The data acquisition control unit 372 for reading unstored image data for each pixel row beyond the read area from the image data storage unit 22 and the pixel acquisition unit for each pixel row read by the data acquisition control unit 372 The storage control unit 373 stores the stored image data in the storage unit in the cache memory 37 by changing the storage destination for each pixel row, and the image data in the read area corresponding to the transfer request from the storage unit in the cache memory 37. And an output control unit 374 that reads and outputs the data to the data transfer request unit 30. The data transfer request unit 30 sequentially issues the image data transfer request for each of the plurality of read areas arranged in the horizontal direction of the input image IG in the order of arrangement in the horizontal direction.

このように、データ転送装置では、転送要求に対応した読出領域に含まれる画素行の画像データが、キャッシュメモリ37内の記憶部に記憶されていない場合、未記憶の画像データが画素行ごとに当該読出領域を超えて画像データ記憶部22から読み出される。そして、画像データの転送要求は、入力画像IGの水平方向に並んだ複数の読出領域それぞれについて、水平方向の並び順に順次に行われる。したがって、データ転送装置は、転送要求に対応した画像データを先に読み出して、データの書き込みおよび読み出しを高速に行うキャッシュメモリ37内の記憶部に格納しておくことになるので、転送要求に応じた画像データの転送速度を早めることが可能になり、ひいては、画像データの取得に要する時間を短縮することができる。   As described above, in the data transfer device, when the image data of the pixel row included in the read area corresponding to the transfer request is not stored in the storage unit in the cache memory 37, the unstored image data is stored for each pixel row. The image data is read from the image data storage unit 22 beyond the read area. The image data transfer request is sequentially made in the order of arrangement in the horizontal direction for each of the plurality of readout areas arranged in the horizontal direction of the input image IG. Therefore, the data transfer device reads the image data corresponding to the transfer request first and stores it in the storage unit in the cache memory 37 that writes and reads the data at high speed. Therefore, the transfer speed of the image data can be increased, and the time required for acquiring the image data can be shortened.

また、データ転送装置のデータ取得制御部372は、画像データ記憶部22から未記憶の画像データを読み出す場合、画素行ごとに一定の行方向に沿って読出領域を超えた位置まで順次に読み出させる。これによれば、画像データ記憶部22からのデータ読み出しに際して、行方向に長くアクセスすることが可能になり、メモリの転送効率を高めることができる。   Further, when reading out unstored image data from the image data storage unit 22, the data acquisition control unit 372 of the data transfer device sequentially reads out each pixel row to a position beyond the reading region along a certain row direction. Let According to this, when data is read from the image data storage unit 22, it is possible to access in the row direction for a long time, and the transfer efficiency of the memory can be increased.

<2.変形例>
以上、実施の形態について説明したが、この発明は、上記に説明した内容に限定されるものではない。
<2. Modification>
Although the embodiments have been described above, the present invention is not limited to the contents described above.

例えば、キャッシュメモリ37内の記憶部370は、1つのSRAMを用いて構成してもよく、2つのSRAMを用いて構成してもよい。図15および図16は、記憶部370を2つのSRAM101,102を用いて構成した場合の画像データの記憶態様を示す図である。   For example, the storage unit 370 in the cache memory 37 may be configured using one SRAM or may be configured using two SRAMs. FIG. 15 and FIG. 16 are diagrams illustrating a storage mode of image data when the storage unit 370 is configured using two SRAMs 101 and 102.

図15に示されるように、記憶部370を2つのSRAM101,102を用いてダブルバッファ構成とした場合、2つのSRAM101,102のうちの一方のSRAMには画像データの書き込みを行いつつ、他方のSRAMからは画像データの読み出しを行うことができる。   As shown in FIG. 15, when the storage unit 370 has a double buffer configuration using two SRAMs 101 and 102, image data is written in one of the two SRAMs 101 and 102 while the other Image data can be read from the SRAM.

例えば、図15に示されるように、画像データ記憶部22から読み出した画像データを、画素行ごとに交互に2つのSRAM101,102に記憶するようにすれば、一方のSRAMに画像データの書き込みを行っている間に、他方のSRAMから画像データの読み出しを行うことが可能になる。   For example, as shown in FIG. 15, if the image data read from the image data storage unit 22 is stored alternately in the two SRAMs 101 and 102 for each pixel row, the image data is written to one SRAM. During the process, the image data can be read from the other SRAM.

このような画素行ごとの交互記憶は、読み出された画像データの記憶部370における格納先のキャッシュアドレスを決定する記憶制御部373によって実現される。   Such alternate storage for each pixel row is realized by the storage control unit 373 that determines the cache address of the storage destination in the storage unit 370 of the read image data.

具体的には、図15において、画像幅2000バイトの画像データから8行分の画像データを画素行ごとに256バイトずつ読み出す場合を想定する。また、図15の画像データを記憶する画像データ記憶部22は、1メモリアドレスあたり1バイトの画像データを記憶し、SRAMのエントリENは、1つにつき16バイトのデータを記憶可能であるとする。このとき、記憶制御部373は、読み出された画素行の行番号を2進数で表現した値の下位4ビットを、キャッシュアドレスの上位4ビットとし、メモリアドレスの下位4ビットを削って得られる値の下位5ビットを、キャッシュアドレスの下位5ビットとして用いて、当該画素行の画像データを格納するキャッシュアドレスを決定する。   Specifically, in FIG. 15, a case is assumed where image data for 8 rows is read out from image data having an image width of 2000 bytes for each pixel row. Further, the image data storage unit 22 for storing the image data of FIG. 15 stores 1 byte of image data per memory address, and the SRAM entry EN can store 16 bytes of data per one. . At this time, the storage control unit 373 obtains the lower 4 bits of the value representing the row number of the read pixel row in binary number as the upper 4 bits of the cache address, and deletes the lower 4 bits of the memory address. Using the lower 5 bits of the value as the lower 5 bits of the cache address, the cache address for storing the image data of the pixel row is determined.

このように、記憶部370を物理的に異なる2つのSRAM101,102を用いて構成した場合、記憶制御部373は、データ取得制御部372によって読み出された画素行ごとの未記憶の画像データを、2つのSRAM101,102のいずれか一方に画素行ごとに交互に記憶させる。これによれば、一方のSRAMに画像データの書き込みを行っている間に、他方のSRAMから画像データの読み出しを行うことが可能になるので、画像データの転送速度が速くなる。   Thus, when the storage unit 370 is configured using two physically different SRAMs 101 and 102, the storage control unit 373 stores unstored image data for each pixel row read by the data acquisition control unit 372. One of the two SRAMs 101 and 102 is alternately stored for each pixel row. According to this, since it becomes possible to read image data from the other SRAM while writing image data to one SRAM, the transfer speed of the image data is increased.

また、図16に示されるように、画像データ記憶部22から読み出した画像データを、2つのSRAM101,102のいずれか一方に所定のデータ量ずつ交互に記憶させるようにしてもよい。図16では、1つのエントリENずつ、すなわち16バイトずつ交互に記憶させる態様が例示されている。   Also, as shown in FIG. 16, the image data read from the image data storage unit 22 may be alternately stored in either one of the two SRAMs 101 and 102 by a predetermined amount of data. FIG. 16 illustrates a mode in which one entry EN, that is, 16 bytes is alternately stored.

これによれば、所定のデータ量単位で、画像データの書き込みと読み出しとを並行して行うことが可能になるので、画像データの転送速度がさらに速くなる。   According to this, writing and reading of image data can be performed in parallel in a predetermined data amount unit, so that the transfer speed of image data is further increased.

なお、図16の態様で2つのSRAM101,102に画像データの記憶を行う場合、キャッシュアドレスの決定手法としては、上記図15の態様と同様の手法を採用することができる。2つのSRAM101,102のうち、どちらのSRAMに記憶するかについては、決定されたキャッシュアドレスの下位1ビットを用いて判断すればよい。例えば、下位1ビットが「0」の場合は、SRAM101に記憶し、下位1ビットが「1」の場合は、SRAM102に記憶する。   When image data is stored in the two SRAMs 101 and 102 in the mode of FIG. 16, a method similar to the mode of FIG. 15 can be adopted as a cache address determination method. Which of the two SRAMs 101 and 102 is stored may be determined using the lower 1 bit of the determined cache address. For example, when the lower 1 bit is “0”, it is stored in the SRAM 101, and when the lower 1 bit is “1”, it is stored in the SRAM 102.

また、図15の態様では、複数の区分記憶領域は、2つのSRAM101,102のいずれか一方において、区分記憶領域の番号ごとに交互に設定されることになる。一方、図16の態様では、各区分記憶領域は、2つのSRAM101,102にまたがって設定されることになる。   In the embodiment of FIG. 15, a plurality of partitioned storage areas are alternately set for each number of partitioned storage areas in either one of the two SRAMs 101 and 102. On the other hand, in the embodiment of FIG. 16, each partitioned storage area is set across the two SRAMs 101 and 102.

また、上記実施形態では、データ転送装置としての画像処理装置1に、画像データ記憶部22が含まれる態様を例示していたが、これに限定されない。すなわち、画像データ記憶部22が、画像処理装置1の外部に設けられ、画像処理装置1は、外部の画像データ記憶部22から画像データを取得する態様であってもよい。   In the above-described embodiment, the image processing apparatus 1 as the data transfer apparatus is illustrated as including the image data storage unit 22, but is not limited thereto. That is, the image data storage unit 22 may be provided outside the image processing apparatus 1, and the image processing apparatus 1 may acquire image data from the external image data storage unit 22.

1 画像処理装置(データ転送装置)
2 第1処理回路
3 第2処理回路
22 画像データ記憶部
30 歪み補正部(データ転送要求手段)
37 キャッシュメモリ
370 記憶部
371 記憶内容管理部
372 データ取得制御部(読出制御手段)
373 記憶制御部
374 出力制御部
BK ブロック、矩形領域
BR,BR1,BR2 実行対象ブロック
IG 入力画像
UG 出力画像
RN,RN1,RN10,RN11,RN12 読出領域
1 Image processing device (data transfer device)
2 First Processing Circuit 3 Second Processing Circuit 22 Image Data Storage Unit 30 Distortion Correction Unit (Data Transfer Requesting Unit)
37 cache memory 370 storage unit 371 storage content management unit 372 data acquisition control unit (reading control means)
373 Storage control unit 374 Output control unit BK block, rectangular area BR, BR1, BR2 Execution target block IG input image UG output image RN, RN1, RN10, RN11, RN12 Reading area

Claims (6)

所定画像の画像データを記憶した記憶手段よりも、データの書き込みおよび読み出しを高速に行う記憶部を有したキャッシュメモリと、
前記所定画像内の或る領域の画像データの転送要求を、前記キャッシュメモリに対して出力する転送要求手段と、
を備え、
前記キャッシュメモリは、
前記転送要求に対応した前記或る領域に含まれる画素行の画像データが、前記キャッシュメモリ内の前記記憶部に記憶されているか否かを前記画素行ごとに判断し、前記記憶部に記憶されていない未記憶の画像データを画素行ごとに当該或る領域を超えて前記記憶手段から選択的に読み出させる読出制御手段と、
前記読出制御手段によって読み出された前記画素行ごとの未記憶の画像データを、前記画素行ごとに格納先を替えて前記記憶部に記憶させる記憶制御手段と、
前記転送要求に対応した或る領域の画像データを前記記憶部から読み出して、前記転送要求手段に出力する出力制御手段と、を有し、
前記読出制御手段は、
前記或る領域を行方向に超えて前記所定画像の前記未記憶の画像データを前記記憶手段から読み出させ、
前記所定画像の前記未記憶の画像データのデータ量は、
前記或る領域の行方向の最大幅よりも前記行方向に長い領域から得られるデータ量であって、
前記転送要求手段は、前記所定画像の水平方向に並んだ複数の前記或る領域それぞれの画像データの転送要求を、前記水平方向の並び順に順次に行うデータ転送装置。
A cache memory having a storage unit for writing and reading data at a higher speed than storage means storing image data of a predetermined image;
Transfer request means for outputting a transfer request for image data of a certain area in the predetermined image to the cache memory;
With
The cache memory is
It is determined for each pixel row whether the image data of the pixel row included in the certain area corresponding to the transfer request is stored in the storage unit in the cache memory, and is stored in the storage unit. Read control means for selectively reading unstored image data from the storage means beyond the certain area for each pixel row;
Storage control means for storing unstored image data for each pixel row read by the readout control means in the storage unit by changing the storage destination for each pixel row;
Output control means for reading out image data of a certain area corresponding to the transfer request from the storage unit and outputting it to the transfer request means;
The read control means includes
The unstored image data of the predetermined image is read from the storage means across the certain area in the row direction,
The data amount of the unstored image data of the predetermined image is
The amount of data obtained from an area longer in the row direction than the maximum width in the row direction of the certain area,
The data transfer device, wherein the transfer request unit sequentially issues a transfer request for image data of each of the plurality of certain areas arranged in the horizontal direction of the predetermined image in the horizontal order.
前記記憶部は、前記画素行ごとの画像データを、当該画素行ごとに分けて記憶するための複数の区分記憶領域を有し、
当該複数の区分記憶領域は、ゼロから順にそれぞれ番号付けされ、
前記記憶制御手段は、前記読出制御手段によって読み出された前記画素行ごとの未記憶の画像データを、前記所定画像における当該画素行の行番号を前記区分記憶領域の総数で割った余りによって示される区分記憶領域に記憶させる請求項1に記載のデータ転送装置。
The storage unit has a plurality of partitioned storage areas for storing the image data for each pixel row separately for each pixel row,
The plurality of partitioned storage areas are numbered sequentially from zero,
The storage control means indicates unstored image data for each pixel row read by the readout control means by a remainder obtained by dividing the row number of the pixel row in the predetermined image by the total number of the partitioned storage areas. The data transfer device according to claim 1, wherein the data transfer device is stored in a separate storage area.
前記読出制御手段は、前記未記憶の画像データを画素行ごとに一定の行方向に沿って前記或る領域を超えた位置まで順次に読み出させる請求項1または請求項2に記載のデータ転送装置。   3. The data transfer according to claim 1, wherein the read control unit sequentially reads the unstored image data for each pixel row to a position beyond the certain area along a certain row direction. apparatus. 前記記憶部は、2のべき乗個の区分記憶領域を有している請求項2または請求項3に記載のデータ転送装置。   The data transfer apparatus according to claim 2 or 3, wherein the storage unit has a power-of-two divided storage area. 前記転送要求手段は、前記所定画像の歪みを補正する歪み補正処理を施す歪み補正機能を有し、
前記転送要求手段は、前記所定画像の水平方向に並んだ複数の前記或る領域を、前記所定画像の歪みに応じて前記水平方向と垂直な方向に徐々にずらして設定することで、階段状の読出領域とする、請求項1から請求項4のいずれかに記載のデータ転送装置。
The transfer request unit has a distortion correction function for performing distortion correction processing for correcting distortion of the predetermined image,
The transfer request means sets a plurality of the certain regions arranged in the horizontal direction of the predetermined image by gradually shifting in a direction perpendicular to the horizontal direction according to the distortion of the predetermined image. The data transfer device according to claim 1, wherein the data transfer device is a read area.
所定画像の画像データを記憶した記憶手段よりも、データの書き込みおよび読み出しを高速に行う記憶部を有したキャッシュメモリを用いたデータ転送方法であって、
a)前記所定画像の水平方向に並んだ複数の或る領域それぞれの画像データの転送要求を、前記水平方向の並び順に順次に取得する工程と、
b)前記転送要求に対応した前記或る領域に含まれる画素行の画像データが、前記キャッシュメモリ内の前記記憶部に記憶されているか否かを前記画素行ごとに判断し、前記記憶部に記憶されていない未記憶の画像データを画素行ごとに当該或る領域を超えて前記記憶手段から選択的に読み出させる工程と、
c)前記工程b)によって読み出された前記画素行ごとの未記憶の画像データを、前記画素行ごとに格納先を替えて前記記憶部に記憶させる工程と、
d)前記転送要求に対応した或る領域の画像データを前記記憶部から読み出して出力する工程と、を備え
前記工程b)は、
前記或る領域を行方向に超えて前記所定画像の前記未記憶の画像データを前記記憶手段から読み出させる工程を含み、前記所定画像の前記未記憶の画像データのデータ量は、前記或る領域の行方向の最大幅よりも前記行方向に長い領域から得られるデータ量であるデータ転送方法。
A data transfer method using a cache memory having a storage unit for writing and reading data at a higher speed than storage means storing image data of a predetermined image,
a) sequentially obtaining a transfer request for image data of each of a plurality of regions arranged in a horizontal direction of the predetermined image in the horizontal arrangement order;
b) It is determined for each pixel row whether or not image data of a pixel row included in the certain area corresponding to the transfer request is stored in the storage unit in the cache memory, and the storage unit stores Selectively reading unstored unstored image data from the storage means beyond the certain area for each pixel row;
c) storing unstored image data for each pixel row read out in step b) in the storage unit by changing a storage destination for each pixel row;
d) reading out the image data of a certain area corresponding to the transfer request from the storage unit and outputting it ,
Said step b)
A step of reading out the unstored image data of the predetermined image from the storage unit across the certain area in the row direction, and the data amount of the unstored image data of the predetermined image is the certain amount data amount der Ru data transfer method derived from long regions in the row direction than the maximum width of the row direction of the area.
JP2016135015A 2016-07-07 2016-07-07 Data transfer apparatus and data transfer method Active JP6373904B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016135015A JP6373904B2 (en) 2016-07-07 2016-07-07 Data transfer apparatus and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016135015A JP6373904B2 (en) 2016-07-07 2016-07-07 Data transfer apparatus and data transfer method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012051425A Division JP6012207B2 (en) 2012-03-08 2012-03-08 Data transfer device

Publications (2)

Publication Number Publication Date
JP2016181294A JP2016181294A (en) 2016-10-13
JP6373904B2 true JP6373904B2 (en) 2018-08-15

Family

ID=57131068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016135015A Active JP6373904B2 (en) 2016-07-07 2016-07-07 Data transfer apparatus and data transfer method

Country Status (1)

Country Link
JP (1) JP6373904B2 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101396A (en) * 1999-09-30 2001-04-13 Toshiba Corp Processor and method for correcting image distortion and medium with program performing image distortion correction processing stored therein
JP4706458B2 (en) * 2005-11-25 2011-06-22 セイコーエプソン株式会社 Image processing apparatus and image processing method
JP4919836B2 (en) * 2006-03-01 2012-04-18 パナソニック株式会社 Image processing apparatus, image pickup apparatus, and image distortion correction method for correcting image distortion
JP2009164674A (en) * 2007-12-28 2009-07-23 Akuseru:Kk Distortion correction device
JP5443844B2 (en) * 2009-06-17 2014-03-19 オリンパス株式会社 Image processing apparatus and imaging apparatus
JP5593060B2 (en) * 2009-11-26 2014-09-17 株式会社メガチップス Image processing apparatus and method of operating image processing apparatus

Also Published As

Publication number Publication date
JP2016181294A (en) 2016-10-13

Similar Documents

Publication Publication Date Title
US8356134B2 (en) Memory device with non-volatile memory buffer
JP5593060B2 (en) Image processing apparatus and method of operating image processing apparatus
JP3825465B2 (en) Memory card and memory card system
JP5708216B2 (en) Flash memory device, memory control device, memory control method, and storage system
JP2007156633A (en) Memory device and memory control method
JP2012044530A (en) Device and method for correcting image
US10726522B2 (en) Method and system for correcting a distorted input image
US8953904B2 (en) Image processing apparatus and method of operating image processing apparatus
JP5349804B2 (en) Mobile robot system and control method thereof
JP2019160063A (en) Image processing device and image processing method
JP6012207B2 (en) Data transfer device
JP2009282923A (en) Semiconductor storage device and nonvolatile memory
US7933465B2 (en) Processing data supply method and image processing apparatus
JP6373904B2 (en) Data transfer apparatus and data transfer method
JP4235646B2 (en) Memory controller and flash memory system
JP2017027507A (en) Method and device for transcribing binary image on memory device
JP4970378B2 (en) Memory controller and image processing apparatus
JP2016134005A (en) Image processor
JP4865021B2 (en) Image processing apparatus and image processing method
US10866907B2 (en) Eviction prioritization for image processing
JP2005311745A (en) Image processor
JP2016103169A (en) Image processing apparatus, image processing method, and electronic apparatus
JP6241670B2 (en) Image processing device
US20120288205A1 (en) Image processing apparatus, image processing system, and method for having computer process image
JP2014123328A (en) Semiconductor memory device and computer system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160707

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170516

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170928

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20171006

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20171020

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180718

R150 Certificate of patent or registration of utility model

Ref document number: 6373904

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250