JP6373904B2 - Data transfer apparatus and data transfer method - Google Patents
Data transfer apparatus and data transfer method Download PDFInfo
- 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
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,
特許文献1の画像処理装置では、歪み補正部からの画像データの転送要求に応じて、DMAC(Direct Memory Access Controller)を用いた画像データの読み出しが行われていたが、この場合、歪み補正の処理速度は、画像データ記憶部の読み出し速度の影響を受けていた。すなわち、画像データ記憶部から歪み補正部への画像データの転送速度が遅いため、歪み補正の処理速度が低下していた。
In the image processing apparatus of
このような処理速度の低下は、他の画像処理を行う処理部からの転送要求に応じて、画像データを転送する際にも発生しうる。 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.
以下、実施形態について図面を参照して説明する。 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
図1に示されるように、画像処理装置1は、いずれも基板上に集積回路として構成された、第1処理回路2および第2処理回路3を備えている。
As shown in FIG. 1, the
第1処理回路2は、レンズデータ記憶部21と画像データ記憶部22とを有している。画像データ記憶部22は、複数の画像データを記憶可能な容量を有するDRAM等の記憶手段であり、画像処理装置1に入力された或いは画像処理装置1内の撮像素子で撮像された画像(入力画像)の画像データGDを記憶する。レンズデータ記憶部21には、入力された画像データGDを撮像した撮像装置のレンズに関するレンズデータが記憶されている。レンズデータとしては、例えば、レンズの収差に起因した画像の歪みに関する情報(「歪み情報」とも称する)が記憶されている。
The
第2処理回路3は、画像処理回路として構成され、画像データ記憶部22に保存された画像データGDに対して、各種の画像処理を施す。特に、本実施形態の第2処理回路3は、入力された画像データGDに対して、画像の歪みを補正する処理(「歪み補正処理」とも称する)を施す歪み補正部30を有している。
The
ここで、歪み補正処理の概略について説明する。図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
より詳細には、ブロックBK1に歪み補正処理を施す場合、歪み補正部30は、対応ブロックTB1を囲む領域(読出領域)RN1に含まれる各画素の画素値を取得するための転送要求を出力する。そして、歪み補正部30は、当該転送要求に応じて取得された領域RN1内の各画素の画素値を用いた補間演算を行うことによって、ブロックBK1(実行対象ブロックBR)の各画素の画素値を算出する。このようにして算出されたブロックBK1の各画素の画素値は、歪み補正後の各画素の画素値となる。
More specifically, when the distortion correction process is performed on the block BK1, the
歪み補正処理では、このようなブロック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
また、歪み補正部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
そして、歪み補正部30は、読出領域ごとに読出領域内の各画素の画素値を順次に取得しつつ、実行対象ブロックごとに歪み補正処理を実行する。
Then, the
このように、歪み補正部30は、画像処理としての歪み補正処理を実行するために、入力画像IGの所定領域に含まれる画像データを読み出すための転送要求を出力するデータ転送要求手段として機能する。
As described above, the
なお、ブロックBKの大きさは、画像処理装置1によって自動で設定される態様としてもよく、ユーザによって指定可能な態様としてもよい。本実施形態では、ブロックBKが縦8画素、横8画素のブロック、すなわち8×8の画素を有するブロックである場合を例にして説明する。
The size of the block BK may be automatically set by the
図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
具体的には、歪み補正部30から出力されたレンズデータの読出要求は、DMAC35に入力される。DMAC35は、当該読出要求に応じて、バスを介してレンズデータ記憶部21からレンズデータを読み出す。読み出されたレンズデータは、歪み補正部30において歪み補正処理に利用される。
Specifically, the lens data read request output from the
また、歪み補正部30から出力された画像データの転送要求は、キャッシュメモリ37に入力される。キャッシュメモリ37は、当該転送要求に応じた画像データがキャッシュメモリ37内の記憶部に記憶されている場合は、当該記憶部に記憶されているデータを歪み補正部30に対して出力する。
Further, the transfer request for the image data output from the
一方、キャッシュメモリ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
上記のように、キャッシュメモリ37は、データ転送要求手段としての歪み補正部30から出力された画像データの転送要求に応じて、画像データ記憶部22から不足分の画像データを読み出し、転送要求の対象となっている画像データを歪み補正部30に転送する。このようなキャッシュメモリ37を有する画像処理装置1は、「データ転送装置」とも称される。
As described above, the
[1−2.キャッシュメモリの詳細構成]
次に、キャッシュメモリ37の詳細構成について説明する。図4は、画像処理装置1におけるキャッシュメモリ37の詳細構成を示す図である。図5は、記憶部370における、画像データの記憶態様を示す図である。図6は、管理用メモリにおける、記憶内容の管理態様を示す図である。
[1-2. Detailed configuration of cache memory]
Next, a detailed configuration of the
図4に示されるように、キャッシュメモリ37は、記憶部370と、記憶内容管理部371と、データ取得制御部(読出制御手段)372と、記憶制御部373と、出力制御部374とを有している。
As shown in FIG. 4, the
記憶部370は、画像データ記憶部22よりもデータの書き込みおよび読み出しを高速に行うことが可能な記憶部である。このような記憶部370としては、例えば、SRAM等が採用され、記憶部370には、画像データ記憶部22から読み出された画像データが記憶される。
The
ここで、記憶部370における画像データの記憶態様について説明する。
Here, a storage mode of image data in the
記憶部370では、入力画像IGにおける水平方向の画素の行(「画素行」とも称する)の画像データが、画素行ごとに異なる記憶領域に区分して記憶される。画素行ごとに区分された記憶領域は、「区分記憶領域」とも称され、ゼロから順次にそれぞれ番号付けされている。これら各区分記憶領域には、所定の規則に従って行番号(ライン番号)に基づいて決定される特定の画素行の画像データが記憶されることになる。
In the
例えば、図5に示されるように、記憶部370が、「0」〜「15」までの16個の区分記憶領域を有している場合を想定する。そして、入力画像IG中の各画素行において、最上部の行を行番号「0」とし、当該最上部の行から下に行くに従って1ずつ行番号を増やす手法で各画素行が番号付けされるものとする。この場合、記憶部370では、或る画素行の画像データは、当該画素行の行番号を、区分記憶領域の数「16」で割ったときの余りによって示される区分記憶領域に記憶される。
For example, as illustrated in FIG. 5, it is assumed that the
より詳細には、「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
キャッシュメモリ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
管理用メモリにおける、記憶内容の管理態様としては、例えば、図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
例えば、管理用メモリにおけるアドレス「0」の記憶領域には、記憶部370の「0」の区分記憶領域の記憶内容が記憶されている。また、管理用メモリにおけるアドレス「1」の記憶領域には、記憶部370の「1」の区分記憶領域の記憶内容が記憶されている。また、管理用メモリにおけるアドレス「15」の記憶領域には、記憶部370の「15」の区分記憶領域の記憶内容が記憶されている。
For example, the storage contents of the partitioned storage area “0” of the
このように、記憶内容管理部371の管理用メモリでは、記憶部370の各区分記憶領域の記憶内容が、区分記憶領域ごとに分けて管理されることになる。
Thus, in the management memory of the storage
キャッシュメモリ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
そして、歪み補正部30からの転送要求に対応した画像データが記憶部370に記憶されていない場合、データ取得制御部372は、未記憶データを読み出すための読出要求をDMAC36に対して出力する。このように、データ取得制御部372は、未記憶データの読み出しを制御する読出制御手段としても機能する。
When the image data corresponding to the transfer request from the
なお、当該読出要求は、読出領域に含まれる画像データを読み出すための転送要求を拡張したものであり、当該読出要求によれば、読出領域を超えて画像データが読み出されることになる。詳細は、後述する。 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
記憶制御部373は、画像データ記憶部22から読み出された画像データを記憶部370に記憶する際の格納先のアドレス(「キャッシュアドレス」とも称する)を画素行ごとに決定して、当該キャッシュアドレスを記憶部370に出力する。記憶部370は、画像データ記憶部22から読み出された画像データを、キャッシュアドレスで特定される記憶部370内の各区分記憶領域に画素行ごとに格納する。
The
出力制御部374は、画像データの転送要求に応じた画像データを、記憶部370から出力する出力制御を行う。
The
[1−3.キャッシュメモリの動作]
次に、キャッシュメモリ37の動作について詳述する。図7は、キャッシュメモリ37の動作を示すフローチャートである。図8は、歪み補正部からの転送要求に応じて、入力画像における読出領域から画像データを読み出す様子を示す図である。
[1-3. Cache memory operation]
Next, the operation of the
図7に示されるように、ステップSP1では、キャッシュメモリ37は、歪み補正部30から読出領域に含まれる画像データを読み出すための転送要求を歪み補正部30から取得する。当該転送要求は、読出領域に含まれる画素の行ごとに読出開始位置の情報と読出終了位置の情報とを含んでいる。
As shown in FIG. 7, in step SP <b> 1, the
ここで、図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
この場合、各転送要求には、各読出領域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
当該判定により、転送要求の対象となっている画素行の画像データがキャッシュメモリ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
一方、上記判定により、転送要求の対象となっている画素行の画像データがキャッシュメモリ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
ステップSP3では、データ取得制御部372の制御に基づいて、転送要求の対象となっている画素行における未記憶データを、画像データ記憶部22から取得するための読出処理が実行される。
In step SP3, based on the control of the data
当該読出処理では、未記憶データを構成する各画素の画素データのうち、左端の画素の画素データから、一定の行方向(ここでは右方向)に沿って、各画素の画素データが順次に読み出される。 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
そして、次のステップSP4では、出力制御部374によって転送要求に対応する画像データがキャッシュメモリ37内の記憶部370から読み出されて、歪み補正部30に転送される。
In the next step SP4, the image data corresponding to the transfer request is read from the
ステップ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
このように、キャッシュメモリ37では、ステップSP1〜ステップSP5の各工程が実行され、歪み補正部30へのデータ転送が行われる。
As described above, in the
ここで、ステップ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
例えば、キャッシュメモリ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
さらに、次の転送要求として、図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
このように、読出処理では、読出領域に含まれる各画素行の画像データが、画素行ごとに一定の行方向に沿って、読出領域を超えた位置まで順次に読み出される。 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
具体的には、図5に示されるように、記憶部370が、「0」〜「15」までの16個の区分記憶領域を有している場合、記憶制御部373は、読出処理によって読み出された或る画素行の画像データの格納先を、区分記憶領域の数「16」で当該画素行の行番号を割ったときの余りによって表される区分記憶領域に決定する。
Specifically, as shown in FIG. 5, when the
例えば、読出領域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
そして、読出領域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
これに対して、メモリアドレスから一意にキャッシュアドレスを決定するダイレクトマップ方式でキャッシュアドレスを決定して、読出領域に含まれる各画素行の画像データを記憶部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
なお、或る画素行における画像データの格納先を、区分記憶領域の数「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
ここでさらに、ステップ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
この場合、読出領域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
このように、読出処理によって同一画素行の画像データが読み出された場合、記憶制御部373は、既に記憶されている画像データを消去しないように、新たに読み出された画像データの格納先を決定する。
As described above, when the image data of the same pixel row is read by the reading process, the
なお、新たに読み出された画像データを記憶する際には、歪み補正部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
以上のように、データ転送装置(画像処理装置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
このように、データ転送装置では、転送要求に対応した読出領域に含まれる画素行の画像データが、キャッシュメモリ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
また、データ転送装置のデータ取得制御部372は、画像データ記憶部22から未記憶の画像データを読み出す場合、画素行ごとに一定の行方向に沿って読出領域を超えた位置まで順次に読み出させる。これによれば、画像データ記憶部22からのデータ読み出しに際して、行方向に長くアクセスすることが可能になり、メモリの転送効率を高めることができる。
Further, when reading out unstored image data from the image
<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
図15に示されるように、記憶部370を2つのSRAM101,102を用いてダブルバッファ構成とした場合、2つのSRAM101,102のうちの一方のSRAMには画像データの書き込みを行いつつ、他方のSRAMからは画像データの読み出しを行うことができる。
As shown in FIG. 15, when the
例えば、図15に示されるように、画像データ記憶部22から読み出した画像データを、画素行ごとに交互に2つのSRAM101,102に記憶するようにすれば、一方のSRAMに画像データの書き込みを行っている間に、他方のSRAMから画像データの読み出しを行うことが可能になる。
For example, as shown in FIG. 15, if the image data read from the image
このような画素行ごとの交互記憶は、読み出された画像データの記憶部370における格納先のキャッシュアドレスを決定する記憶制御部373によって実現される。
Such alternate storage for each pixel row is realized by the
具体的には、図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
このように、記憶部370を物理的に異なる2つのSRAM101,102を用いて構成した場合、記憶制御部373は、データ取得制御部372によって読み出された画素行ごとの未記憶の画像データを、2つのSRAM101,102のいずれか一方に画素行ごとに交互に記憶させる。これによれば、一方のSRAMに画像データの書き込みを行っている間に、他方のSRAMから画像データの読み出しを行うことが可能になるので、画像データの転送速度が速くなる。
Thus, when the
また、図16に示されるように、画像データ記憶部22から読み出した画像データを、2つのSRAM101,102のいずれか一方に所定のデータ量ずつ交互に記憶させるようにしてもよい。図16では、1つのエントリENずつ、すなわち16バイトずつ交互に記憶させる態様が例示されている。
Also, as shown in FIG. 16, the image data read from the image
これによれば、所定のデータ量単位で、画像データの書き込みと読み出しとを並行して行うことが可能になるので、画像データの転送速度がさらに速くなる。 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
また、図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
また、上記実施形態では、データ転送装置としての画像処理装置1に、画像データ記憶部22が含まれる態様を例示していたが、これに限定されない。すなわち、画像データ記憶部22が、画像処理装置1の外部に設けられ、画像処理装置1は、外部の画像データ記憶部22から画像データを取得する態様であってもよい。
In the above-described embodiment, the
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
37
373
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から請求項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.
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)
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 |
-
2016
- 2016-07-07 JP JP2016135015A patent/JP6373904B2/en active Active
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 |