JP2014174689A - Data processing device and data processing method - Google Patents

Data processing device and data processing method Download PDF

Info

Publication number
JP2014174689A
JP2014174689A JP2013045827A JP2013045827A JP2014174689A JP 2014174689 A JP2014174689 A JP 2014174689A JP 2013045827 A JP2013045827 A JP 2013045827A JP 2013045827 A JP2013045827 A JP 2013045827A JP 2014174689 A JP2014174689 A JP 2014174689A
Authority
JP
Japan
Prior art keywords
data
processing
writing
storage area
control unit
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.)
Pending
Application number
JP2013045827A
Other languages
Japanese (ja)
Inventor
Hironari Ehata
裕也 江幡
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2013045827A priority Critical patent/JP2014174689A/en
Publication of JP2014174689A publication Critical patent/JP2014174689A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a data processing device configured to improve performance by reducing a bus band and improving access efficiency.SOLUTION: A data processing device performs reading data from a memory 113 having a plurality of storage areas, and writing processed data on the storage areas. A first image processing unit 104 causes a data transfer control unit 106 to process the data read from the memory 113, and outputs the processed data to the data transfer control unit 106. A second image processing unit 105 causes the data transfer control unit 106 to acquire the processed data written on the storage areas, for filter processing. The memory 113 stores overlap data necessary for the filter processing and non-overlap data other than the overlap data in different storage areas. The data transfer control unit 106 causes an address control unit 109 to control access by switching the storage area for the overlap data and the storage area for the non-overlap data.

Description

本発明は、所定の単位でデータを読み込んでフィルタ処理等を施して出力するデータ転送制御技術に関するものである。   The present invention relates to a data transfer control technique for reading data in a predetermined unit, performing filter processing, and outputting the data.

撮像装置(デジタルカメラ等)では、処理される画像データを記憶するために、大容量かつ低コストのDynamic Random Access Memory(DRAM)が用いられる。DRAMでは、同一バンクの異なるロウアドレス(異なるページ)へアクセスする場合、プリチャージコマンド(ページクローズ)、及びアクティブコマンド(ページオープン)を発行する必要がある。該コマンドの実行中には、同一バンクへのアクセスを行えない。このため、同一バンクの異なるページに対してのアクセスが多くなると、プリチャージコマンドやアクティブコマンドも多く発行する必要があり、DRAMへのデータ転送が完了するまでの時間が長くなる。そこで、DRAMのアクセス制御としてバンクインタリーブ制御が行われる。バンクインタリーブ制御によれば、一つのバンクに対してアクティブコマンドを発行後、データ転送が完了するまでの間に、他のバンクに対してアクティブコマンドを発行することで、DRAMへのデータ転送に要する時間を短縮可能となる。   In an imaging apparatus (digital camera or the like), a large capacity and low cost Dynamic Random Access Memory (DRAM) is used to store processed image data. In a DRAM, when accessing different row addresses (different pages) in the same bank, it is necessary to issue a precharge command (page close) and an active command (page open). During execution of this command, access to the same bank cannot be performed. For this reason, if the number of accesses to different pages in the same bank increases, it is necessary to issue many precharge commands and active commands, and the time until data transfer to the DRAM is completed becomes longer. Therefore, bank interleave control is performed as DRAM access control. According to the bank interleaving control, an active command is issued to another bank after an active command is issued to one bank until data transfer is completed, thereby requiring data transfer to the DRAM. Time can be shortened.

また、撮像装置では、画素補間、ホワイトバランス、シャープネス、ノイズ低減、縮小/拡大等の処理が行われる。例えば、ノイズ低減処理の場合、画像データを複数の周波数帯域に分割して生成した複数種類の画像データがDRAMへ格納される(第1の画像処理)。その後、各画像データに適切なフィルタ処理を施し、周波数帯域毎に処理された画像データを再び周波数合成(第2の画像処理)する技術が知られている。フィルタ処理では、例えばn×n画素からなるウィンドウの中心に位置する画素に対して、周辺位置での(n×n)−1個の画素値を用いて処理する。画像処理にてラインメモリ(SRAM等)を用いる場合、多画素化が進むと回路規模が増大する。そこで、画像データを分割して処理する方法が特許文献1ないし3に提案されている。   In the imaging apparatus, processing such as pixel interpolation, white balance, sharpness, noise reduction, reduction / enlargement, and the like is performed. For example, in the case of noise reduction processing, a plurality of types of image data generated by dividing image data into a plurality of frequency bands are stored in the DRAM (first image processing). Thereafter, a technique is known in which each image data is subjected to appropriate filter processing, and the image data processed for each frequency band is frequency-synthesized again (second image processing). In the filter processing, for example, a pixel located at the center of a window composed of n × n pixels is processed using (n × n) −1 pixel values at peripheral positions. When a line memory (SRAM or the like) is used for image processing, the circuit scale increases as the number of pixels increases. In view of this, Patent Documents 1 to 3 propose methods for dividing and processing image data.

特許文献1には、回路規模を増大させることなく画像処理の高機能化を実現する技術が開示されている。具体的には、入力画像の水平方向画素数幅がラインバッファより大きい場合には、入力画像を垂直に等分割し、分割領域のサイズがラインバッファの水平方向画素数幅より小さくなるようにする。そして、入力データ転送手段を制御し、等分割した分割領域ごとに入力画像の画素データをラインバッファへ順次データを転送する。画素処理手段は、ラインバッファに一時記憶された入力画像の画素データを順次画素処理し、出力画素データを出力する。さらに、画像結合手段は出力データ転送手段を制御し、分割領域ごとに順次出力される出力画素データを結合して出力画像を生成する。   Patent Document 1 discloses a technique for realizing high-performance image processing without increasing the circuit scale. Specifically, when the horizontal pixel width of the input image is larger than the line buffer, the input image is equally divided vertically so that the size of the divided area is smaller than the horizontal pixel width of the line buffer. . Then, the input data transfer means is controlled to sequentially transfer the pixel data of the input image to the line buffer for each equally divided area. The pixel processing means sequentially processes pixel data of the input image temporarily stored in the line buffer and outputs output pixel data. Further, the image combining unit controls the output data transfer unit, and generates output images by combining the output pixel data sequentially output for each divided region.

また、分割処理でのフィルタ処理にて、分割画像の上下左右端の画素に対してフィルタ処理に必要な画素(以下、オーバーラップ画素という)を余分に付加して処理が行われる。特許文献2には、少ない容量のバンドバッファを用いてフィルタ処理を行う際に必要なオーバーラップ画素データを読み出し、かつパイプライン処理を乱すことなく画像処理する技術が開示されている。具体的には、バンドバッファは第1ないし第3バンドを有する。パイプライン処理では第1バンドに入力画像データを書き込むとともに、残りの第2バンド及び第3バンドから格納済み画像データを読み出して画像処理部に供給する。画像処理部は、第3バンドに格納されている分割画像データと第2バンドに格納されているオーバーラップ画素データを、書き込みに影響されずに読み出すことができる。
特許文献3には分割処理時のメモリ容量を低減し、遅延時間を短くする技術が開示されている。一定データ量の書き込みの完了と、一定データ量の読み出しの完了とを書き込み側と読み出し側とで通知し合ってハンドシェイクを行い、読み出しが書き込みを、または書き込みが読み出しを追い越さないように制御が行われる。
Further, in the filtering process in the dividing process, processing is performed by adding extra pixels (hereinafter referred to as overlap pixels) necessary for the filtering process to the pixels at the upper, lower, left, and right ends of the divided image. Japanese Patent Application Laid-Open No. 2004-228561 discloses a technique for reading overlapping pixel data necessary for performing filter processing using a band buffer having a small capacity and performing image processing without disturbing pipeline processing. Specifically, the band buffer has first to third bands. In the pipeline processing, input image data is written to the first band, and stored image data is read from the remaining second and third bands and supplied to the image processing unit. The image processing unit can read the divided image data stored in the third band and the overlap pixel data stored in the second band without being affected by writing.
Patent Document 3 discloses a technique for reducing the memory capacity at the time of division processing and shortening the delay time. The writing side and the reading side notify each other of the completion of writing of a certain amount of data and the completion of reading of a certain amount of data, and a handshake is performed to control that reading does not write or writing does not overtake reading. Done.

特開2006−186917号公報JP 2006-186717 A 特開2005−250534号公報JP-A-2005-250534 特開2008−172410号公報JP 2008-172410 A

しかしながら、特許文献1に開示の技術では、フィルタ処理が必要なパイプライン制御を行う場合、それぞれのバッファに第2の画像処理で必要なオーバーラップ画素データを含めて書き込む必要がある。つまり、第1の画像処理では、第2の画像処理で必要なオーバーラップ画素データをそれぞれのバッファに書き込んで2重に処理する可能性がある。
また、特許文献2に開示の技術では、3つのバンドバッファ(記憶領域)構成であるため、分割画像に対して、分割画像の上端と下端(または左端と右端)に対するオーバーラップ画素が必要な場合に正しくフィルタ処理ができない可能性がある。さらに、オーバーラップ画素以外の画素のデータをバンドバッファに保持していることから、使用しない画像データを保持する期間が発生し、バンドバッファを有効に活用できない可能性がある。
However, in the technique disclosed in Patent Document 1, when pipeline control requiring filter processing is performed, it is necessary to write the overlap pixel data necessary for the second image processing in each buffer. That is, in the first image processing, there is a possibility that the overlap pixel data necessary for the second image processing is written in the respective buffers and processed twice.
In addition, since the technique disclosed in Patent Document 2 has a configuration of three band buffers (storage areas), overlapping pixels for the upper end and the lower end (or the left end and the right end) of the divided image are necessary for the divided image. May not be filtered correctly. Furthermore, since the data of pixels other than the overlapping pixels are held in the band buffer, there is a possibility that a period for holding unused image data occurs, and the band buffer cannot be used effectively.

また、特許文献3に開示の技術では、読み出しが書き込みを、または書き込みが読み出しを追い越さないように制御するだけでは、オーバーラップ画素データがDRAM上の書き込み側、あるいは読み出し側のバンクに含まれて配置されることになる。このような手法では、バンクインタリーブ制御によるメモリアクセス効率の向上を見込めない可能性がある。
従って、いずれの技術についても、種々の対策が望まれていた。
Further, in the technique disclosed in Patent Document 3, overlap pixel data is included in a write side or a read side bank on a DRAM only by controlling so that reading does not write or writing does not overtake reading. Will be placed. With such a method, there is a possibility that improvement in memory access efficiency by bank interleave control cannot be expected.
Therefore, various measures have been desired for any of the techniques.

本発明はデータ処理装置において、バス帯域の削減とアクセス効率化により、パフォーマンスを向上させることを目的とする。   An object of the present invention is to improve performance in a data processing apparatus by reducing bus bandwidth and increasing access efficiency.

上記課題を解決するために、本発明に係る装置は、データを格納する記憶装置と、前記記憶装置の記憶領域のアクセス先を切り替えるアドレス制御手段を有し、前記記憶装置に対してデータの読み出しおよび書き込みを制御するデータ転送制御手段と、前記記憶装置のデータを一括または分割して処理する第1の処理手段と、前記第1の処理手段の処理結果である第1処理済みデータを処理する第2の処理手段を備える。前記記憶装置は、前記第1の処理手段に入力するデータを格納する第1の記憶領域と、前記第2の処理手段が前記第1処理済みデータを少なくとも2回参照するオーバーラップ領域、および前記第2の処理手段が前記第1処理済みデータを1度のみ参照する非オーバーラップ領域を含む第2の記憶領域を有しており、前記データ転送制御手段は、前記アドレス制御手段により前記第1の記憶領域または前記第2の記憶領域へアクセスし、特定のアドレスに到達した場合にアドレスをジャンプさせて前記記憶領域のアクセス先を切り替えることにより、前記第1処理済みデータを分割して前記オーバーラップ領域および前記非オーバーラップ領域に書き込む処理を制御する。   In order to solve the above-described problems, an apparatus according to the present invention includes a storage device that stores data and an address control unit that switches an access destination of a storage area of the storage device, and reads data from the storage device. And a data transfer control means for controlling writing, a first processing means for processing the data in the storage device in a batch or divided, and a first processed data as a processing result of the first processing means. Second processing means is provided. The storage device includes a first storage area for storing data to be input to the first processing means, an overlap area in which the second processing means refers to the first processed data at least twice, and The second processing means has a second storage area including a non-overlapping area that refers to the first processed data only once, and the data transfer control means uses the address control means to When the storage area or the second storage area is accessed and a specific address is reached, the address is jumped to switch the access destination of the storage area, thereby dividing the first processed data and A process of writing in the wrap area and the non-overlap area is controlled.

本発明によれば、バス帯域の削減とアクセス効率化により、パフォーマンスを向上させることができる。   According to the present invention, the performance can be improved by reducing the bus bandwidth and improving the access efficiency.

図2ないし図6と併せて本発明の第1実施形態を説明するために、撮像装置の要部の構成例を示すブロック図である。FIG. 7 is a block diagram illustrating a configuration example of a main part of the imaging apparatus in order to explain the first embodiment of the present invention in conjunction with FIGS. 2 to 6. アドレス制御部の構成例を示すブロック図である。It is a block diagram which shows the structural example of an address control part. 分割画像データの構成例を説明する図である。It is a figure explaining the structural example of division | segmentation image data. 分割画像データのパイプライン処理を説明する図である。It is a figure explaining the pipeline process of division | segmentation image data. WRDMACのアドレス制御例を説明するフローチャートである。It is a flowchart explaining the example of address control of WRDMAC. RDDMACのアドレス制御例を説明するフローチャートである。It is a flowchart explaining the example of address control of RDDMAC. 本発明の第1実施形態の変形例における、分割画像データのパイプライン処理を説明する図である。It is a figure explaining the pipeline process of the division | segmentation image data in the modification of 1st Embodiment of this invention. 図9および図10とともに本発明の第2実施形態を説明するために、撮像装置の要部の構成例を示すブロック図である。FIG. 11 is a block diagram illustrating a configuration example of a main part of an imaging device in order to describe a second embodiment of the present invention together with FIGS. 9 and 10. DMACの追いつき監視部の構成例を示すブロック図である。It is a block diagram which shows the structural example of the catch-up monitoring part of DMAC. 分割画像データのパイプライン処理を説明する図である。It is a figure explaining the pipeline process of division | segmentation image data. 本発明の第2実施形態の変形例における、分割画像データのパイプライン処理を説明する図である。It is a figure explaining the pipeline process of the division | segmentation image data in the modification of 2nd Embodiment of this invention. 本発明の第3実施形態における、分割画像データの処理例を説明する図である。It is a figure explaining the example of a process of the divided image data in 3rd Embodiment of this invention.

以下、添付図面を参照して本発明の各実施形態を説明する。なお、データ処理装置を撮像装置に適用した例として、デジタルカメラを説明するが、本発明はデジタルビデオカメラ、カメラ付き携帯電話、車載カメラ等の撮像装置や各種画像処理装置に適用可能である。   Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. Note that a digital camera will be described as an example in which the data processing apparatus is applied to an imaging apparatus. However, the present invention can be applied to an imaging apparatus such as a digital video camera, a mobile phone with a camera, and an in-vehicle camera, and various image processing apparatuses.

[第1実施形態]
図1は第1実施形態に係るデジタルカメラの構成例を示すブロック図である。
撮像素子100は、撮像光学系を介して受光した被写体像を光電変換して撮像信号を出力するCCDセンサやCMOSセンサ等である。A/D変換器101は、撮像素子100のアナログ出力信号をデジタル信号に変換する。
画像処理部102は、撮像処理部103、第1の画像処理部104、第2の画像処理部105で構成される。画像処理部102は、不図示の画像バッファメモリを有しており、第1および第2の画像処理部が行う処理以外の画像処理も行う。例えば、画像データの圧縮処理や伸長処理を行う圧縮伸長部、モニタ等の表示制御を行う表示制御部、記録媒体にデータを記録する記録処理部等が設けられている。撮像処理部103は、A/D変換器101が変換した画像データを取得して画素補正、黒レベル補正、シェーディング補正等を行う。
[First Embodiment]
FIG. 1 is a block diagram illustrating a configuration example of a digital camera according to the first embodiment.
The imaging element 100 is a CCD sensor, a CMOS sensor, or the like that photoelectrically converts a subject image received through an imaging optical system and outputs an imaging signal. The A / D converter 101 converts the analog output signal of the image sensor 100 into a digital signal.
The image processing unit 102 includes an imaging processing unit 103, a first image processing unit 104, and a second image processing unit 105. The image processing unit 102 has an image buffer memory (not shown), and performs image processing other than the processing performed by the first and second image processing units. For example, a compression / expansion unit that performs compression processing and decompression processing of image data, a display control unit that performs display control such as a monitor, and a recording processing unit that records data on a recording medium are provided. The imaging processing unit 103 acquires the image data converted by the A / D converter 101 and performs pixel correction, black level correction, shading correction, and the like.

第1の画像処理部104は、撮像処理部103が処理した画像データ、或いは不図示の画像バッファメモリやメモリ113に格納された画像データに対して所定の画像処理(第1の処理)を行う。具体的には、傷補正や倍率色収差補正、画像データのフォーマット変換処理や、ノイズ低減処理の前処理として画像データを複数の周波数帯域にて分割して生成する処理等がある。ノイズ低減処理の前処理では、複数の周波数帯域に分割しないで単一の周波数の画像データを生成すること(リサイズ処理)も可能である。第1の画像処理部104は処理結果を、メモリ113や第2の画像処理部105、または不図示の画像データ処理部に対して出力する。   The first image processing unit 104 performs predetermined image processing (first processing) on the image data processed by the imaging processing unit 103 or image data stored in an image buffer memory (not shown) or the memory 113. . Specifically, there are processing for generating image data by dividing it into a plurality of frequency bands as preprocessing for flaw correction, magnification chromatic aberration correction, image data format conversion processing, and noise reduction processing. In the preprocessing of the noise reduction process, it is possible to generate image data of a single frequency without being divided into a plurality of frequency bands (resizing process). The first image processing unit 104 outputs the processing result to the memory 113, the second image processing unit 105, or an image data processing unit (not shown).

第2の画像処理部105は、第1の画像処理部104が処理した画像データ、または不図示の画像バッファメモリやメモリ113に格納された画像データに対して所定の画像処理(第2の処理)を行う。具体的には、画像データのフォーマット変換処理や、ノイズ低減処理の後処理として複数の周波数帯域にて分割した画像データに対して適切なフィルタ処理を施した後で周波数帯域毎に処理された画像データを再び合成する処理がある。この他、現像処理や歪み補正等の処理が挙げられる。ノイズ低減処理の後処理では、複数の周波数帯域にて分割した画像データ以外の画像データに対しても、適切なフィルタ処理を施してノイズ低減処理を行うことが可能である。第2の画像処理部105は処理結果を、メモリ113または不図示の画像データ処理部に対して出力する。   The second image processing unit 105 performs predetermined image processing (second processing) on the image data processed by the first image processing unit 104 or image data stored in an image buffer memory (not shown) or the memory 113. )I do. Specifically, an image processed for each frequency band after appropriate filter processing is performed on image data divided in a plurality of frequency bands as post-processing of image data format conversion processing or noise reduction processing There is a process to synthesize the data again. In addition, processing such as development processing and distortion correction can be cited. In post-processing of noise reduction processing, it is possible to perform noise reduction processing by performing appropriate filter processing on image data other than image data divided in a plurality of frequency bands. The second image processing unit 105 outputs the processing result to the memory 113 or an image data processing unit (not shown).

データ転送制御部106は、データ転送を行う複数のDirect Memory AccessコントローラであるWRDMAC107とRDDMAC108を備える。「WR」は書き込み処理を示し、「RD」は読み出し処理を示す。図1では、撮像処理部103の出力するデータに対してWRDMAC(1)を示す。第1の画像処理部104に対してWRDMAC(2)およびRDDMAC(2)が設けられ、第2の画像処理部105に対してWRDMAC(3)およびRDDMAC(3)が設けられている。画像データは、各WRDMAC107によってバス111に出力され、メモリ制御部112を介してメモリ113に一時記憶される。メモリ113に一時記憶された画像データは、各RDDMAC108によって読み出される。その際、画像データはメモリ制御部112を介してメモリ113からバス111に出力される。
バス110はシステムバスであり、バス111は画像データバスである。
The data transfer control unit 106 includes a WRDMAC 107 and an RDDMAC 108 which are a plurality of Direct Memory Access controllers that perform data transfer. “WR” indicates a writing process, and “RD” indicates a reading process. In FIG. 1, WRDMAC (1) is shown for data output from the imaging processing unit 103. WRDMAC (2) and RDDMAC (2) are provided for the first image processing unit 104, and WRDMAC (3) and RDDMAC (3) are provided for the second image processing unit 105. The image data is output to the bus 111 by each WRDMAC 107 and temporarily stored in the memory 113 via the memory control unit 112. The image data temporarily stored in the memory 113 is read out by each RDDMAC 108. At that time, the image data is output from the memory 113 to the bus 111 via the memory control unit 112.
A bus 110 is a system bus, and a bus 111 is an image data bus.

メモリ制御部112は、CPU(中央演算処理装置)を有するシステム制御部116またはデータ転送制御部106の指示に従って、メモリ113にデータを書き込む処理や、メモリ113からデータを読み出す処理を制御する。なお、A/D変換器101からの出力データがメモリ113に直接書き込まれる場合もある。メモリ113は、所定枚数の静止画像や所定時間に亘る動画像、音声等の各データを記憶し、またシステム制御部116の動作用の定数、プログラム等を格納する記憶装置である。不揮発性メモリ制御部114は、システム制御部116からの指示に従って不揮発性メモリ115にデータを書き込む処理や、不揮発性メモリ115からデータを読み出す処理を制御する。不揮発性メモリ115は電気的に消去および記録が可能なメモリであり、例えばEEPROM(Electrically Erasable Programmable Read-Only Memory)等が用いられる。不揮発性メモリ115は、システム制御部116の動作用の定数、プログラム等を記憶する。   The memory control unit 112 controls processing for writing data into the memory 113 and processing for reading data from the memory 113 in accordance with instructions from the system control unit 116 or the data transfer control unit 106 having a CPU (central processing unit). Note that output data from the A / D converter 101 may be directly written into the memory 113. The memory 113 is a storage device that stores a predetermined number of still images, data such as moving images and sound over a predetermined time, and stores constants and programs for operating the system control unit 116. The nonvolatile memory control unit 114 controls processing for writing data to the nonvolatile memory 115 and processing for reading data from the nonvolatile memory 115 in accordance with instructions from the system control unit 116. The nonvolatile memory 115 is an electrically erasable and recordable memory. For example, an EEPROM (Electrically Erasable Programmable Read-Only Memory) is used. The nonvolatile memory 115 stores constants, programs, and the like for the operation of the system control unit 116.

デジタルカメラの動作制御を司るシステム制御部116は、各機能ブロックに対して様々な指示を行って各種の制御処理を実行する。システム制御部116は、バス110を介して接続された画像処理部102、データ転送制御部106、メモリ制御部112、不揮発性メモリ制御部114を制御する。システム制御部116は操作部117による操作指示に従って撮像素子100等を制御する。システム制御部116のCPUは不揮発性メモリ115に記録されたプログラムを実行することで、本実施形態の各処理を実現する。操作部117は、ユーザが操作するスイッチやボタン等を含み、電源のON/OFF操作、シャッタのON/OFF操作等に使用する。   A system control unit 116 that controls the operation of the digital camera performs various control processes by giving various instructions to each functional block. The system control unit 116 controls the image processing unit 102, the data transfer control unit 106, the memory control unit 112, and the nonvolatile memory control unit 114 connected via the bus 110. The system control unit 116 controls the image sensor 100 and the like according to an operation instruction from the operation unit 117. The CPU of the system control unit 116 implements each process of the present embodiment by executing a program recorded in the nonvolatile memory 115. The operation unit 117 includes switches and buttons operated by the user, and is used for power ON / OFF operation, shutter ON / OFF operation, and the like.

図2は、WRDMAC107、RDDMAC108に設けたアドレス制御部109の構成例を示すブロック図である。WRDMAC107、RDDMAC108は、一定量のデータを転送した後、データ格納アドレス値を特定のアドレスにジャンプさせるオフセット機能を有している。これは、いわゆるアドレスジャンプ機能であり、この機能を使用することで複数の記憶領域へのアクセスを行える。システム制御部116は、WRDMAC107、RDDMAC108に対して、スタートアドレス、オフセットデータ転送長、アドレスオフセット値、バースト長を設定する。これにより、メモリ内の記憶領域の先頭アドレスと記憶領域サイズが指定される。この時、アクセス対象とする記憶領域が複数、例えば3つの領域の場合、オフセットデータ転送長、アドレスオフセット値については3セット分が設定される。つまり、アクセス対象とする記憶領域数分のセット値が用意されて設定処理が行われることで、複数の記憶領域へのアクセスが可能となる。   FIG. 2 is a block diagram illustrating a configuration example of the address control unit 109 provided in the WRDMAC 107 and the RDDMAC 108. The WRDMAC 107 and RDDMAC 108 have an offset function that jumps the data storage address value to a specific address after transferring a certain amount of data. This is a so-called address jump function, and a plurality of storage areas can be accessed by using this function. The system control unit 116 sets a start address, an offset data transfer length, an address offset value, and a burst length for the WRDMAC 107 and the RDDMAC 108. Thereby, the start address of the storage area in the memory and the storage area size are designated. At this time, when there are a plurality of storage areas to be accessed, for example, three areas, three sets of offset data transfer length and address offset value are set. That is, set values corresponding to the number of storage areas to be accessed are prepared and the setting process is performed, thereby enabling access to a plurality of storage areas.

アドレスセレクタ200は、データアクセスの開始時において、システム制御部116により設定されたスタートアドレスをアドレス値として選択する。アドレスセレクタ200は、データが転送される毎に、アドレスカウンタ203が出力する値を現在のアドレス値として選択して出力する。転送長カウンタ201は、転送データ長をカウントし、システム制御部116に設定されたオフセットデータ転送長のデータが転送される毎に、オフセット値算出器202へオフセットタイミング信号を出力する。オフセット値算出器202は、転送長カウンタ201からオフセットタイミング信号を受信すると、システム制御部116によって設定されたアドレスオフセット値を出力し、それ以外のタイミングではシステム制御部116によって設定されたバースト長を出力する。アドレスカウンタ203は、オフセット値算出器202から出力された値を現在のアドレス値に加算することにより、次のデータを格納するアドレス値を生成して出力する。   The address selector 200 selects the start address set by the system control unit 116 as an address value at the start of data access. Each time data is transferred, the address selector 200 selects and outputs the value output from the address counter 203 as the current address value. The transfer length counter 201 counts the transfer data length and outputs an offset timing signal to the offset value calculator 202 every time data of the offset data transfer length set in the system control unit 116 is transferred. When the offset value calculator 202 receives the offset timing signal from the transfer length counter 201, the offset value calculator 202 outputs the address offset value set by the system control unit 116, and the burst length set by the system control unit 116 at other timings. Output. The address counter 203 adds the value output from the offset value calculator 202 to the current address value, thereby generating and outputting an address value for storing the next data.

図3は、画像処理部102にて1画面の画像データ300を分割して処理する場合の説明図であり、メモリ113内の複数の記憶領域に保持する分割画像データ例を示す。画像データ301〜305は、画像データ300を短冊状に分割した分割画像データであり、第2の画像処理部105が分割処理する際のデータの各範囲を示す。また、画像データ300を短冊状に分割した分割画像データ306〜314は、第1の画像処理部104がデータを取得して処理した結果(以下、第1処理済みデータという)を示しており、メモリ113内の複数の記憶領域に格納される。なお、メモリ113は、第1の画像処理部104に入力するデータを格納する第1の記憶領域と、第1処理済みデータを格納する第2の記憶領域を有する。
分割画像データ306、307は、分割画像データ301を第2の画像処理部105が処理する際の画像データ(処理対象データ)である。分割画像データ307は、分割画像データ301の右端で第2の画像処理部105がフィルタ処理を行う時に必要な画像データであって、かつ分割画像データ302の左端で第2の画像処理部105がフィルタ処理を行う時に必要な画像データである。つまり、分割画像データ307は、分割画像データ301、302について第2の画像処理部105がフィルタ処理を行う時に使用するオーバーラップ画素のデータ(オーバーラップデータ)を含んでいる。
FIG. 3 is an explanatory diagram when the image processing unit 102 divides and processes one screen of image data 300, and shows an example of divided image data held in a plurality of storage areas in the memory 113. Image data 301 to 305 are divided image data obtained by dividing the image data 300 into strips, and indicate respective ranges of data when the second image processing unit 105 performs division processing. The divided image data 306 to 314 obtained by dividing the image data 300 into strips indicate the results obtained by the first image processing unit 104 to acquire and process the data (hereinafter referred to as first processed data). It is stored in a plurality of storage areas in the memory 113. Note that the memory 113 has a first storage area for storing data input to the first image processing unit 104 and a second storage area for storing first processed data.
The divided image data 306 and 307 are image data (processing target data) when the second image processing unit 105 processes the divided image data 301. The divided image data 307 is image data necessary when the second image processing unit 105 performs the filtering process at the right end of the divided image data 301, and the second image processing unit 105 at the left end of the divided image data 302. This is image data necessary for performing the filtering process. That is, the divided image data 307 includes overlap pixel data (overlap data) used when the second image processing unit 105 performs the filtering process on the divided image data 301 and 302.

分割画像データ308ないし314についても上記と同様であり、各画像データの関係を下表1に示す。

Figure 2014174689
The divided image data 308 to 314 are the same as described above, and the relationship between the image data is shown in Table 1 below.
Figure 2014174689

第1処理済みデータ306〜314のうち、偶数の符号で示すデータ(非オーバーラップデータ)は第1データ群を構成し、メモリ113内の記憶領域(以下、非オーバーラップ領域という)に記憶される。非オーバーラップ領域は、第2の画像処理部105が第1処理済みデータを1度のみ参照する領域である。また奇数の符号で示すオーバーラップデータは第2データ群を構成し、メモリ113内の記憶領域(以下、オーバーラップ領域という)に記憶される。オーバーラップ領域は、第2の画像処理部105が第1処理済みデータを少なくとも2回参照する領域である。なお、メモリ113内での非オーバーラップ領域およびオーバーラップ領域は固定された領域ではなく動的に変更される。
図3では、画像データ300を第1の画像処理部104が分割処理する例を示しているが、分割せずに一括処理し、あるいは第2の画像処理部105の分割処理数よりも分割数を減らして処理した上でメモリ113に格納してもよい。さらに、図3に示すように画像データ300を縦長に分割する方法に限らず、横長に分割する方法やブロック分割を行う方法を採用してもよい。横長の分割時には分割画像の上端と下端での画像データがオーバーラップデータとなる。また、ブロック分割の場合、各ブロック画像の上下左右端での画像データがオーバーラップデータとなる。横長の分割やブロック分割等を行う場合、例えばオーバーラップデータと、非オーバーラップデータをそれぞれ別の記憶領域に保存することが可能である。
Of the first processed data 306 to 314, data indicated by an even code (non-overlapping data) constitutes a first data group and is stored in a storage area in the memory 113 (hereinafter referred to as a non-overlapping area). The The non-overlap area is an area in which the second image processing unit 105 refers to the first processed data only once. In addition, the overlap data indicated by the odd symbols constitutes a second data group and is stored in a storage area in the memory 113 (hereinafter referred to as an overlap area). The overlap region is a region where the second image processing unit 105 refers to the first processed data at least twice. Note that the non-overlap area and the overlap area in the memory 113 are not fixed areas but dynamically changed.
FIG. 3 shows an example in which the first image processing unit 104 divides the image data 300. However, the image data 300 is batch-processed without being divided, or the number of divisions is larger than the number of division processes of the second image processing unit 105. May be stored in the memory 113 after processing. Furthermore, as shown in FIG. 3, the image data 300 is not limited to a method of dividing the image data 300 in a vertically long manner, and a method of dividing the image data 300 in a horizontally long manner or a method of performing block division may be adopted. At the time of horizontal division, the image data at the upper end and the lower end of the divided image becomes overlap data. In the case of block division, the image data at the top, bottom, left and right ends of each block image is overlap data. When performing horizontal division, block division, or the like, for example, overlap data and non-overlap data can be stored in separate storage areas.

図4は、第1の画像処理部104と第2の画像処理部105が画像データ300を分割してパイプライン処理する際のデータ配置と、期間405〜410を例示する。記憶領域400〜404は、分割画像データ306〜314をメモリ113にそれぞれ保存する領域を示している。分割画像データ306〜314については各記憶領域内での配置を表す。さらに、画像データ306〜314をメモリ113にそれぞれ保持する期間(保持期間)を示す。
期間405では、第1処理済みデータ306をWRDMAC107によりメモリ113の記憶領域401に書き込む処理と、第1処理済みデータ307をWRDMAC107によりメモリ113の記憶領域402に書き込む処理が実行される。次に、期間406では、第1処理済みデータ308を、WRDMAC107によりメモリ113の記憶領域403に書き込む処理と、第1処理済みデータ309をWRDMAC107によりメモリ113の記憶領域404に書き込む処理が実行される。期間406では、第2の画像処理部105がRDDMAC108によりメモリ113の記憶領域401と402から分割画像データ306と307をそれぞれ読み出して処理を行う。
FIG. 4 illustrates the data arrangement and the periods 405 to 410 when the first image processing unit 104 and the second image processing unit 105 divide the image data 300 and perform pipeline processing. Storage areas 400 to 404 indicate areas in which the divided image data 306 to 314 are stored in the memory 113, respectively. The divided image data 306 to 314 represent the arrangement in each storage area. Furthermore, the period (holding period) for holding the image data 306 to 314 in the memory 113 is shown.
In the period 405, processing for writing the first processed data 306 to the storage area 401 of the memory 113 by the WRDMAC 107 and processing for writing the first processed data 307 to the storage area 402 of the memory 113 by the WRDMAC 107 are executed. Next, in a period 406, processing for writing the first processed data 308 to the storage area 403 of the memory 113 by the WRDMAC 107 and processing for writing the first processed data 309 to the storage area 404 of the memory 113 by the WRDMAC 107 are executed. . In the period 406, the second image processing unit 105 reads out the divided image data 306 and 307 from the storage areas 401 and 402 of the memory 113 by the RDDMAC 108 and performs processing.

各期間において複数の記憶領域に対するデータの書き込み状況と読み出し状況をまとめると、表2の通りである。「W」は書き込み処理を表し、「R」は読み出し処理を表し、括弧内には、処理対象となる分割画像データに付した符号を示す。

Figure 2014174689
Table 2 summarizes the data writing status and the data reading status for each of the storage areas in each period. “W” represents a writing process, “R” represents a reading process, and the reference numerals attached to the divided image data to be processed are shown in parentheses.
Figure 2014174689

なお、記憶領域400〜404は、メモリ113における互いに異なるバンクに割り当てられる。アドレス制御部109のアドレスジャンプ機能を用いて第1の画像処理部104と第2の画像処理部105によるパイプライン処理中にバンクインタリーブ制御が可能である。これより、メモリ113へのアクセスを効率良く行える。
次に図5のフローチャートを参照して、図4の期間405におけるデータ書き込み処理について説明する。第1の画像処理部104が期間405で処理した分割画像データ306、307は、WRDMAC107(図1:WRDMAC(2)参照)によりメモリ113の記憶領域401、402にそれぞれ書き込まれる。
Note that the storage areas 400 to 404 are assigned to different banks in the memory 113. Bank interleave control can be performed during pipeline processing by the first image processing unit 104 and the second image processing unit 105 using the address jump function of the address control unit 109. Thus, access to the memory 113 can be performed efficiently.
Next, the data write process in the period 405 in FIG. 4 will be described with reference to the flowchart in FIG. The divided image data 306 and 307 processed by the first image processing unit 104 in the period 405 are written in the storage areas 401 and 402 of the memory 113 by the WRDMAC 107 (see FIG. 1: WRDMAC (2)), respectively.

S500でシステム制御部116は、WRDMAC107に対してスタートアドレス、オフセットデータ転送長(2セット)、アドレスオフセット値(2セット)、バースト長を設定し、データ転送を開始させる。S501でデータ転送制御部106は、分割画像データ306(第1処理済みデータ)を、バースト長毎にメモリ113の記憶領域401に書き込む指示をメモリ制御部112に送る。これによりメモリ113に分割画像データ306を書き込む処理が実行される。   In S500, the system control unit 116 sets a start address, an offset data transfer length (2 sets), an address offset value (2 sets), and a burst length for the WRDMAC 107, and starts data transfer. In step S <b> 501, the data transfer control unit 106 sends an instruction to write the divided image data 306 (first processed data) to the storage area 401 of the memory 113 for each burst length to the memory control unit 112. Thereby, the process of writing the divided image data 306 in the memory 113 is executed.

S502は、オフセットデータ転送長に基づいて分割画像データ306の1ライン分の書き込みが終了したか否かについての判定処理である。本実施形態では、1ライン分の画像データの転送後に書き込みが終了した時点で、開始アドレス値にデータ転送量を加算した値に相当する特定のアドレスに到達したことが判定される。この判定の結果、1ライン分のデータの書き込みが終了していない場合、S501に戻って書き込み処理を続行する。また、1ライン分のデータの書き込みが終了した判定された場合、S503に処理を進める。S503では、アドレス制御部109のアドレスジャンプ機能を使用して、メモリ113へのアクセス先を記憶領域402に変更する処理が行われる。次のS504でデータ転送制御部106は、分割画像データ307(第1処理済みデータ)を、バースト長毎にメモリ113の記憶領域402に書き込む指示をメモリ制御部112に送る。これによりメモリ113に分割画像データ307を書き込む処理が実行される。S505は、オフセットデータ転送長に基づいて分割画像データ307の1ライン分の書き込みが終了したか否かについての判定処理である。判定の結果、1ライン分のデータ書き込みが終了していないと判定された場合、S504に戻る。また、1ライン分のデータ書き込みが終了して特定のアドレスに到達したと判定された場合、S506に処理を進める。   S502 is a determination process as to whether or not the writing of one line of the divided image data 306 has been completed based on the offset data transfer length. In this embodiment, when writing is completed after image data for one line is transferred, it is determined that a specific address corresponding to a value obtained by adding the data transfer amount to the start address value has been reached. If the result of this determination is that writing of data for one line has not been completed, processing returns to S501 and the writing process is continued. If it is determined that the writing of data for one line has been completed, the process proceeds to S503. In step S <b> 503, processing for changing the access destination to the memory 113 to the storage area 402 is performed using the address jump function of the address control unit 109. In next step S504, the data transfer control unit 106 sends an instruction to write the divided image data 307 (first processed data) to the storage area 402 of the memory 113 for each burst length to the memory control unit 112. Thereby, the process of writing the divided image data 307 in the memory 113 is executed. S505 is a determination process as to whether or not the writing of one line of the divided image data 307 has been completed based on the offset data transfer length. As a result of the determination, when it is determined that the data writing for one line is not completed, the process returns to S504. If it is determined that data writing for one line has been completed and a specific address has been reached, the process proceeds to S506.

S506では、全ラインのデータ転送が終了したか否かについて判定される。判定の結果、全ラインのデータ転送が未終了であると判定された場合、S507に処理を進める。また、全ラインのデータ転送が終了したと判定された場合、処理を終了する。その結果、分割画像データ306と307がメモリ113の記憶領域401と402にそれぞれ書き込まれた状態となる(図4参照)。
S507では、アドレス制御部109のアドレスジャンプ機能を使用して、メモリ113へのアクセス先を記憶領域401に変更する処理が行われ、再びS501に戻って処理を続行する。なお、説明は省略するが、期間406〜408においても図5のフローチャートと同様に各データの書き込み処理が行われる。期間409では、オフセットデータ転送長、アドレスオフセット値が1セット分設定されて、通常のWRDMAC転送により分割画像データ314が記憶領域401に書き込まれる。
In S506, it is determined whether or not the data transfer of all lines has been completed. As a result of the determination, if it is determined that the data transfer of all lines has not been completed, the process proceeds to S507. If it is determined that the data transfer for all lines has been completed, the process is terminated. As a result, the divided image data 306 and 307 are written in the storage areas 401 and 402 of the memory 113, respectively (see FIG. 4).
In S507, the address jump function of the address control unit 109 is used to change the access destination to the memory 113 to the storage area 401, and the process returns to S501 and continues. Although not described, each data writing process is performed in the periods 406 to 408 as in the flowchart of FIG. In the period 409, one set of offset data transfer length and address offset value is set, and the divided image data 314 is written in the storage area 401 by normal WRDMAC transfer.

次に、図6のフローチャートを参照して、図4の期間407におけるデータの読み出し処理について説明する。第2の画像処理部105は、期間407にてRDDMAC108(図1のRDDMAC(3)参照)により、メモリ113の記憶領域402、403、404から分割画像データ307、308、309をそれぞれ読み出す処理を実行する。
S600でシステム制御部116は、RDDMAC108に対してスタートアドレス、オフセットデータ転送長(3セット)、アドレスオフセット値(3セット)、バースト長を設定し、データ転送を開始させる。S601では、第2の画像処理部105が分割画像データ307を処理するために、データ転送制御部106はバースト長毎にメモリ113の記憶領域402からデータを読み出す指示を、メモリ制御部112に送る。これにより、分割画像データ307の読み出し処理が実行される。S602は、オフセットデータ転送長に基づき、分割画像データ307の1ライン分の読み出しが終了したか否かについての判定処理である。判定の結果、1ライン分のデータの読み出しが終了していない場合、S601に戻って処理を続行する。また、1ライン分のデータの読み出しが終了したと判定された場合、S603に処理を進める。
Next, data read processing in the period 407 in FIG. 4 will be described with reference to the flowchart in FIG. In the period 407, the second image processing unit 105 reads out the divided image data 307, 308, and 309 from the storage areas 402, 403, and 404 of the memory 113 by the RDDMAC 108 (see RDDMAC (3) in FIG. 1). Run.
In S600, the system control unit 116 sets a start address, an offset data transfer length (3 sets), an address offset value (3 sets), and a burst length for the RDDMAC 108, and starts data transfer. In step S <b> 601, the data transfer control unit 106 sends an instruction to read data from the storage area 402 of the memory 113 to the memory control unit 112 for each burst length so that the second image processing unit 105 processes the divided image data 307. . Thereby, the read processing of the divided image data 307 is executed. S602 is a determination process as to whether or not reading of one line of the divided image data 307 has been completed based on the offset data transfer length. If the result of determination is that reading of data for one line has not been completed, processing returns to S601 and processing continues. If it is determined that the reading of data for one line has been completed, the process proceeds to S603.

S603でデータ転送制御部106は、アドレス制御部109のアドレスジャンプ機能を使用して、メモリ113へのアクセス先を記憶領域403に変更する処理を実行する。次のS604では、第2の画像処理部105が分割画像データ308を処理するために、データ転送制御部106はバースト長毎にメモリ113の記憶領域403からデータを読み出す指示をメモリ制御部112に送る。これにより、分割画像データ308の読み出し処理が実行される。
S605は、オフセットデータ転送長に基づき、分割画像データ308の1ライン分の読み出しが終了したか否かについての判定処理である。判定の結果、1ライン分のデータの読み出しが未終了である場合、S604に戻って処理を続行する。また、1ライン分のデータの読み出しが終了したと判定された場合、S606に処理を進める。S606では、アドレス制御部109のアドレスジャンプ機能を使用して、メモリ113へのアクセス先を記憶領域404に変更する処理が実行される。S607では、第2の画像処理部105が分割画像データ309を処理するために、データ転送制御部106はバースト長毎にメモリ113の記憶領域404からデータを読み出す指示をメモリ制御部112に送る。これにより、分割画像データ309を読み出す処理が実行される。
In step S <b> 603, the data transfer control unit 106 uses the address jump function of the address control unit 109 to execute processing for changing the access destination to the memory 113 to the storage area 403. In next step S604, in order for the second image processing unit 105 to process the divided image data 308, the data transfer control unit 106 instructs the memory control unit 112 to read data from the storage area 403 of the memory 113 for each burst length. send. Thereby, the read processing of the divided image data 308 is executed.
S605 is a determination process as to whether or not reading of one line of the divided image data 308 has been completed based on the offset data transfer length. If the result of determination is that reading of data for one line has not been completed, processing returns to S604 and processing continues. If it is determined that the reading of data for one line has been completed, the process proceeds to S606. In S606, the address jump function of the address control unit 109 is used to change the access destination to the memory 113 to the storage area 404. In step S <b> 607, the data transfer control unit 106 sends an instruction to read data from the storage area 404 of the memory 113 to the memory control unit 112 for each burst length so that the second image processing unit 105 processes the divided image data 309. Thereby, the process which reads the division | segmentation image data 309 is performed.

S608は、オフセットデータ転送長に基づき、分割画像データ309の1ライン分の読み出しが終了したか否かについての判定処理である。判定の結果、1ライン分のデータの読み出しが未終了である場合、S607に戻って処理を続行する。また、1ライン分のデータの読み出しが終了した判定された場合、S609に処理へ進める。S609では、全ラインに対する読み出し処理が終了したか否かが判定され、未終了と判定された場合、S610に進む。S610では、アドレス制御部109のアドレスジャンプ機能を使用して、メモリ113へのアクセス先を記憶領域402に変更する処理が行われ、再びS601に戻って処理を続ける。
S609にて、全ラインの処理が終了したと判定されると、一連の処理を終了する。こうして、分割画像データ307、308、309がメモリ113の記憶領域402、403、404からそれぞれ読み出される。なお、説明は省略するが、期間408、409においても図6のフローチャートと同様に各データの読み出し処理が実行される。ただし、期間406、410に関しては、オフセットデータ転送長、オフセット値が2セット設定され、図6のフローチャートにてS606からS608のステップは不要となる。
S608 is a determination process as to whether or not reading of one line of the divided image data 309 has been completed based on the offset data transfer length. If the result of determination is that reading of data for one line has not been completed, processing returns to S607 and processing is continued. If it is determined that the reading of data for one line has been completed, the process proceeds to S609. In S609, it is determined whether the reading process for all lines has been completed. If it is determined that the reading process has not been completed, the process proceeds to S610. In S610, the address jump function of the address control unit 109 is used to change the access destination to the memory 113 to the storage area 402, and the process returns to S601 and continues.
If it is determined in step S609 that all the lines have been processed, the series of processes ends. In this way, the divided image data 307, 308, and 309 are read from the storage areas 402, 403, and 404 of the memory 113, respectively. Although not described, each data read process is executed in the periods 408 and 409 as in the flowchart of FIG. However, for the periods 406 and 410, two sets of offset data transfer length and offset value are set, and steps S606 to S608 are not necessary in the flowchart of FIG.

以上説明したように、第1実施形態では、第2の画像処理部105が分割処理する画像データをベースにして、フィルタ処理に必要となるオーバーラップデータの記憶領域(オーバーラップ領域)と、非オーバーラップ領域が使用される。アドレス制御部109のアドレスジャンプ機能を使用することで、第1の画像処理部104は、第2の画像処理部105に必要なオーバーラップデータを2重に処理する必要がなくなる。第1の画像処理部104がオーバーラップデータを2重に読み書きする必要がなくなるため、バス帯域の低減とパフォーマンスの向上を実現できる。さらに、各分割画像データを異なるバンクの記憶領域に配置することで、バンクインタリーブ(メモリインタリーブ)制御によってメモリアクセス効率を高めることができる。
図4に示す例では、メモリ113の記憶領域400〜404がそれぞれ異なるバンクメモリであるとして説明したが、分割画像データを別々に保持するには、5バンクが必要となる。そこで、バンク数を低減するための変形例を以下に説明する。
As described above, in the first embodiment, the overlap data storage area (overlap area) required for the filtering process is based on the image data divided by the second image processing unit 105, and the non- Overlapping areas are used. By using the address jump function of the address control unit 109, the first image processing unit 104 does not need to process the overlap data necessary for the second image processing unit 105 twice. Since the first image processing unit 104 does not need to read / write the overlap data twice, it is possible to reduce the bus bandwidth and improve the performance. Furthermore, by arranging each divided image data in a storage area of a different bank, the memory access efficiency can be increased by bank interleaving (memory interleaving) control.
In the example illustrated in FIG. 4, the storage areas 400 to 404 of the memory 113 are described as being different bank memories, but five banks are required to hold the divided image data separately. Therefore, a modification for reducing the number of banks will be described below.

[第1実施形態の変形例]
図7は、第1の画像処理部104が処理する期間をベースにして、バンクを切り替えて使用するデータ配置例を示す。各期間での分割画像データの配置については、図4の場合と同様であるため、以下では相違点を説明する。
図7に示す期間405では、記憶領域401と402がバンク0に配置される。期間406では、記憶領域401と402がバンク0に配置され、記憶領域403と404がバンク1に配置される。期間407では、記憶領域400、401、402がバンク0に配置され、記憶領域403と404がバンク1に配置される。期間408では、記憶領域400と401がバンク0に配置され、記憶領域402、403、404がバンク1に配置される。期間409では、記憶領域400と401がバンク0に配置され、記憶領域402と403がバンク1に配置される。期間410では、記憶領域401がバンク0に配置され、記憶領域402がバンク1に配置される。各記憶領域の配置については、WRDMAC107の設定、及びアドレス制御部109のアドレスジャンプ機能を用いて行われる。
[Modification of First Embodiment]
FIG. 7 shows an example of data arrangement that is used by switching banks based on the period processed by the first image processing unit 104. Since the arrangement of the divided image data in each period is the same as that in the case of FIG. 4, the difference will be described below.
In the period 405 illustrated in FIG. 7, the storage areas 401 and 402 are arranged in the bank 0. In the period 406, the storage areas 401 and 402 are arranged in the bank 0, and the storage areas 403 and 404 are arranged in the bank 1. In the period 407, the storage areas 400, 401, and 402 are arranged in the bank 0, and the storage areas 403 and 404 are arranged in the bank 1. In the period 408, the storage areas 400 and 401 are arranged in the bank 0, and the storage areas 402, 403, and 404 are arranged in the bank 1. In the period 409, the storage areas 400 and 401 are arranged in the bank 0, and the storage areas 402 and 403 are arranged in the bank 1. In the period 410, the storage area 401 is arranged in the bank 0 and the storage area 402 is arranged in the bank 1. The arrangement of each storage area is performed using the setting of the WRDMAC 107 and the address jump function of the address control unit 109.

このような配置にすると、第1の画像処理部104の処理結果の書き込み処理と、第2の画像処理部105による読み出し処理とで、複数のオーバーラップデータが同一バンクに配置されてしまう。しかし、オーバーラップデータに係る画素数が非オーバーラップに係る画素数に比べて十分に少ない場合には、バンクインタリーブ制御による効果が得られる。よって、バンク数を節約しつつ、メモリアクセス効率を高めることができる。   With such an arrangement, a plurality of overlap data are arranged in the same bank by the writing process of the processing result of the first image processing unit 104 and the reading process of the second image processing unit 105. However, when the number of pixels related to overlap data is sufficiently smaller than the number of pixels related to non-overlap, the effect of bank interleave control can be obtained. Therefore, the memory access efficiency can be improved while saving the number of banks.

[第2実施形態]
次に、本発明の第2実施形態について説明する。なお、前述した第1実施形態と異なる部分を主に説明し、第1実施形態の場合と同様の構成部については、既に使用した符号を用いることにより、それらの詳細な説明を省略する。このような説明の省略の仕方は、後述する他の実施形態でも同様である。
[Second Embodiment]
Next, a second embodiment of the present invention will be described. Note that the differences from the first embodiment described above will be mainly described, and the same components as those in the first embodiment will be omitted by using the same reference numerals already used. The way of omitting such description is the same in other embodiments described later.

図8は第2実施形態に係るデジタルカメラの構成例を示すブロック図である。第1実施形態に係る構成との相違点は、データ転送制御部106のWRDMAC800とRDDMAC801である。WRDMAC800は、WRDMAC107に追いつき監視部802を付加した構成を有し、RDDMAC801との信号線を介して、データ転送量またはライン数の情報を互いに送受し合う。また、RDDMAC801は、RDDMAC108に追いつき監視部802を付加した構成を有し、WRDMAC800との信号線を介してデータ転送量またはライン数の情報を互いに送受し合う。   FIG. 8 is a block diagram illustrating a configuration example of a digital camera according to the second embodiment. The difference from the configuration according to the first embodiment is the WRDMAC 800 and the RDDMAC 801 of the data transfer control unit 106. The WRDMAC 800 has a configuration in which a catch-up monitoring unit 802 is added to the WRDMAC 107, and exchanges information on the amount of data transfer or the number of lines with each other via a signal line with the RDDMAC 801. The RDDMAC 801 has a configuration in which a catch-up monitoring unit 802 is added to the RDDMAC 108, and exchanges information on the amount of data transfer or the number of lines with each other via a signal line with the WRDMAC 800.

第2実施形態では、書き込み処理が読み出し処理に追いつかないように制御することで、第2の画像処理部105に必要なオーバーラップ領域の分割画像データを、パイプライン処理によって上書きされずに制御できる。なお、本実施形態では、データ転送制御部106がWRDMAC800とRDDMAC801をそれぞれ1つ実装している例を説明する。その他のDMACに関しても、WRDMAC800とRDDMAC801を実装してもよい。この場合、アドレスまたはライン数の情報を送受し合うために信号線でWRDMAC800とRDDMAC801とを直接に接続するのではなく、中継器を設けて複数のWRDMAC800とRDDMAC801の接続先を自由に選べるように構成してもよい。   In the second embodiment, by controlling the writing process so as not to catch up with the reading process, it is possible to control the divided image data in the overlap area necessary for the second image processing unit 105 without being overwritten by the pipeline process. . In the present embodiment, an example in which the data transfer control unit 106 has one WRDMAC 800 and one RDDMAC 801 will be described. For other DMACs, WRDMAC 800 and RDDMAC 801 may be implemented. In this case, WRDMAC 800 and RDDMAC 801 are not directly connected to each other by signal lines in order to transmit and receive address or line number information, but a relay is provided so that a plurality of WRDMAC 800 and RDDMAC 801 connection destinations can be freely selected. It may be configured.

図9は、追いつき監視部802の構成を説明するブロック図である。追いつき監視部802は、入力信号として自DMAC(追いつき監視部802を有するDMAC)のデータ転送量またはライン番号と、別のDMACのデータ転送量またはライン番号を受信する。それらの入力信号を比較部900が比較し、自DMACの制御を一時停止する信号を出力する。具体的には、比較部900は、入力された別のDMACのデータ転送量またはライン番号から自DMACのデータ転送量またはライン番号を減算し、減算結果を閾値と比較する。比較結果に従って自DMACの処理を一時停止するための制御信号が出力される。閾値や該閾値に基づく判定条件についてはシステム制御部116で設定してもよいし、DMAC自身が保持してもよい。なお、本例では比較部900が減算結果と閾値との大小関係を判定して、一時停止制御信号を出力するが、これに限らず、別の手段を用いて一時停止条件を判断してもよい。
図10は、第1の画像処理部104と第2の画像処理部105が画像データ300を分割してパイプライン処理する際のデータ配置と、期間1004〜1009を例示する。記憶領域1000〜1003は、分割画像データ306〜314をメモリ113にそれぞれ保存する領域を示している。さらには、画像データ306〜314をメモリ113上にそれぞれ保持する保持期間を示す。
FIG. 9 is a block diagram illustrating the configuration of the catch-up monitoring unit 802. The catch-up monitoring unit 802 receives the data transfer amount or line number of its own DMAC (DMAC having the catch-up monitoring unit 802) and the data transfer amount or line number of another DMAC as input signals. The comparison unit 900 compares these input signals and outputs a signal for temporarily stopping the control of the own DMAC. Specifically, the comparison unit 900 subtracts the data transfer amount or line number of the own DMAC from the input data transfer amount or line number of another DMAC, and compares the subtraction result with a threshold value. A control signal for temporarily stopping the processing of the own DMAC is output according to the comparison result. The threshold and the determination condition based on the threshold may be set by the system control unit 116 or may be held by the DMAC itself. In this example, the comparison unit 900 determines the magnitude relationship between the subtraction result and the threshold value and outputs a pause control signal. However, the present invention is not limited to this, and the pause condition may be determined using another means. Good.
FIG. 10 exemplifies data arrangement and periods 1004 to 1009 when the first image processing unit 104 and the second image processing unit 105 divide the image data 300 and perform pipeline processing. Storage areas 1000 to 1003 indicate areas in which the divided image data 306 to 314 are stored in the memory 113, respectively. Further, a holding period for holding the image data 306 to 314 on the memory 113 is shown.

期間1004では、第1処理済みデータ306をWRDMAC800により記憶領域1000に書き込む処理と、第1処理済みデータ307をWRDMAC800により記憶領域1001に書き込む処理が実行される。
次の期間1005では、第1処理済みデータ308をWRDMAC800により記憶領域1002に書き込む処理と、第1処理済みデータ309をWRDMAC107により記憶領域1003に書き込む処理が実行される。さらに、第2の画像処理部105がRDDMAC801により記憶領域1000と1001から分割画像データ306と307をそれぞれ読み出して処理を行う。
In the period 1004, processing for writing the first processed data 306 to the storage area 1000 by the WRDMAC 800 and processing for writing the first processed data 307 to the storage area 1001 by the WRDMAC 800 are executed.
In the next period 1005, processing for writing the first processed data 308 to the storage area 1002 by the WRDMAC 800 and processing for writing the first processed data 309 to the storage area 1003 by the WRDMAC 107 are executed. Further, the second image processing unit 105 reads out the divided image data 306 and 307 from the storage areas 1000 and 1001 by the RDDMAC 801 and performs processing.

次の期間1006では、第1処理済みデータ310をWRDMAC800により記憶領域1000に書き込む処理と、第1処理済みデータ311をWRDMAC800により記憶領域1001に書き込む処理が実行される。この時、記憶領域1001へのデータの書き込み状況については、追いつき監視部802によって監視される。つまり、第2の画像処理部105が記憶領域1001の分割画像データ307を読み込む状況を監視して、書き込みが読み出しに追いつかないように、一定のデータ転送量あるいはライン毎に書き込み制御が行われる。この場合、追いつき監視部802の比較部900は、第2の画像処理部105内のRDDMAC801の転送量またはライン番号から自DMACの転送量またはライン番号を減算し、減算結果が閾値未満の場合に、書き込みを一時停止するための制御信号を出力する。さらに第2の画像処理部105はRDDMAC801により記憶領域1002と1003から分割画像データ308と309をそれぞれ読み出して処理を行う。   In the next period 1006, processing for writing the first processed data 310 to the storage area 1000 by the WRDMAC 800 and processing for writing the first processed data 311 to the storage area 1001 by the WRDMAC 800 are executed. At this time, the status of data writing to the storage area 1001 is monitored by the catch-up monitoring unit 802. That is, the second image processing unit 105 monitors the situation where the divided image data 307 in the storage area 1001 is read, and writing control is performed for each fixed data transfer amount or line so that writing cannot catch up with reading. In this case, the comparison unit 900 of the catch-up monitoring unit 802 subtracts the transfer amount or line number of the own DMAC from the transfer amount or line number of the RDDMAC 801 in the second image processing unit 105, and the subtraction result is less than the threshold value. The control signal for temporarily stopping the writing is output. Further, the second image processing unit 105 reads out the divided image data 308 and 309 from the storage areas 1002 and 1003 by the RDDMAC 801 and performs processing.

次の期間1007では、第1処理済みデータ312をWRDMAC800により記憶領域1002に書き込む処理と、第1処理済みデータ313をWRDMAC800により記憶領域1003に書き込む処理が実行される。この時、記憶領域1003へのデータの書き込み状況については、追いつき監視部802によって監視される。第2の画像処理部105が記憶領域1003から分割画像データ309を読み込む状況が監視され、書き込みが読み出しに追いつかないように一定のデータ転送量あるいはライン毎に書き込み制御が行われる。さらに、第2の画像処理部105はRDDMAC801により記憶領域1000と1001から分割画像データ310と311をそれぞれ読み出して処理を行う。
次の期間1008では、第1処理済みデータ314をWRDMAC800により記憶領域1000に書き込む処理が実行される。さらに、第2の画像処理部105はRDDMAC801により記憶領域1001、1002、1003から分割画像データ311、312、313をそれぞれ読み出して処理を行う。期間1009では、第2の画像処理部105がメモリ113の記憶領域1003と1000から分割画像データ313と314をそれぞれ読み出して処理を行う。
In the next period 1007, processing for writing the first processed data 312 to the storage area 1002 by the WRDMAC 800 and processing for writing the first processed data 313 to the storage area 1003 by the WRDMAC 800 are executed. At this time, the status of data writing to the storage area 1003 is monitored by the catch-up monitoring unit 802. The situation in which the second image processing unit 105 reads the divided image data 309 from the storage area 1003 is monitored, and writing control is performed for each fixed data transfer amount or line so that writing cannot catch up with reading. Further, the second image processing unit 105 reads out the divided image data 310 and 311 from the storage areas 1000 and 1001 by the RDDMAC 801 and performs processing.
In the next period 1008, a process of writing the first processed data 314 to the storage area 1000 by the WRDMAC 800 is executed. Further, the second image processing unit 105 reads out the divided image data 311, 312, and 313 from the storage areas 1001, 1002, and 1003 by the RDDMAC 801 and performs processing. In the period 1009, the second image processing unit 105 reads the divided image data 313 and 314 from the storage areas 1003 and 1000 of the memory 113 and performs processing.

記憶領域1000〜1003は、アドレス制御部109のアドレスジャンプ機能を用いて全て異なるバンクに配置される。よって、第1の画像処理部104と第2の画像処理部105のパイプライン処理中での、メモリ113へのアクセスに対してバンクインタリーブ制御が可能となる。また、オーバーラップデータの一部、具体的には、期間1006での分割画像データ311と307及び期間1007での分割画像データ313と309については同一バンクに保存される。そこで、読み出しと書き込みの各アドレスがほぼ同じロウアドレスとなるように、RDDMAC801の追いつき監視部802を用いてアクセス制御することでプリチャージコマンドおよびアクティブコマンドを減らしてアクセス効率を高めることができる。   The storage areas 1000 to 1003 are all arranged in different banks using the address jump function of the address control unit 109. Therefore, bank interleave control can be performed for access to the memory 113 during the pipeline processing of the first image processing unit 104 and the second image processing unit 105. A part of the overlap data, specifically, the divided image data 311 and 307 in the period 1006 and the divided image data 313 and 309 in the period 1007 are stored in the same bank. Thus, by performing access control using the catch-up monitoring unit 802 of the RDDMAC 801 so that the read and write addresses are substantially the same, the access efficiency can be increased by reducing the precharge command and the active command.

以上説明したように、第2実施形態によれば、アドレス制御部109のアドレスジャンプ機能および追いつき監視部802を使用する。また、同時期にメモリ113にデータを保存する記憶領域数を低減できる(図10の例では4つ)。第1の画像処理部104が2重にオーバーラップデータを読み書きする必要がなくなるため、バス帯域および記憶領域の使用量を削減し、パフォーマンスを向上させることができる。さらには、各分割画像データを異なるバンクに配置することで、バンクインタリーブ制御によって、メモリへのアクセス効率を高めることができる。   As described above, according to the second embodiment, the address jump function and the catch-up monitoring unit 802 of the address control unit 109 are used. Further, the number of storage areas for storing data in the memory 113 at the same time can be reduced (four in the example of FIG. 10). Since the first image processing unit 104 does not need to read / write the overlap data twice, it is possible to reduce the bus bandwidth and the use amount of the storage area and improve the performance. Furthermore, by arranging the divided image data in different banks, the access efficiency to the memory can be improved by the bank interleave control.

[第2実施形態の変形例]
次に、第2実施形態の変形例を説明する。前記の例では分割画像データの記憶領域をそれぞれ異なるバンクに配置したため、4バンクが使用される。以下では、バンク数を低減するために、図11のように複数の記憶領域毎にバンクを切り替えて配置する例を説明する。
図11に示す記憶領域1000と1001はバンク0に配置され、記憶領域1002と1003はバンク1に配置される。各記憶領域の配置については、WRDMAC107、800の設定及びアドレス制御部109のアドレスジャンプ機能を用いて行うものとする。
このような配置とすると、第1の画像処理部104による書き込み処理と、第2の画像処理部105による読み出し処理との間で、分割画像データのうちのオーバーラップデータが同一バンクに配置されることになる。しかし、オーバーラップデータに係る画素数が非オーバーラップデータに係る画素数に比べて十分に少ない場合には、バンクインタリーブ制御による効果が得られる。よって、バンク数を節約しつつ、メモリアクセス効率を高めることができる。
[Modification of Second Embodiment]
Next, a modification of the second embodiment will be described. In the above example, the divided image data storage areas are arranged in different banks, so that four banks are used. Hereinafter, in order to reduce the number of banks, an example will be described in which banks are switched and arranged for each of a plurality of storage areas as shown in FIG.
Storage areas 1000 and 1001 shown in FIG. 11 are arranged in bank 0, and storage areas 1002 and 1003 are arranged in bank 1. The arrangement of each storage area is performed using the setting of the WRDMACs 107 and 800 and the address jump function of the address control unit 109.
With such an arrangement, overlap data of the divided image data is arranged in the same bank between the writing process by the first image processing unit 104 and the reading process by the second image processing unit 105. It will be. However, when the number of pixels related to the overlap data is sufficiently smaller than the number of pixels related to the non-overlap data, the effect of the bank interleave control can be obtained. Therefore, the memory access efficiency can be improved while saving the number of banks.

[第3実施形態]
次に、本発明の第3実施形態について説明する。第2実施形態との相違点は、メモリ113における分割画像データの配置の仕方及びWRDMAC800とRDDMAC801の制御方法である。以下では相違点を中心に説明する。
図12は、第1の画像処理部104と第2の画像処理部105が画像データ300を分割して処理する際のデータ配置と、期間1202〜1206を示す。記憶領域1200、1201は分割画像データ306〜314をメモリ113にそれぞれ保存する領域を示す。さらに、画像データ306〜314をメモリ113上にそれぞれ保持する保持期間を示す。ここでは、非オーバーラップデータを記憶領域1200に保持し、オーバーラップデータを記憶領域1201に保持するものとする。
[Third Embodiment]
Next, a third embodiment of the present invention will be described. The difference from the second embodiment is the arrangement method of the divided image data in the memory 113 and the control method of the WRDMAC 800 and the RDDMAC 801. Below, it demonstrates centering around difference.
FIG. 12 shows data arrangement and periods 1202 to 1206 when the first image processing unit 104 and the second image processing unit 105 divide and process the image data 300. Storage areas 1200 and 1201 indicate areas in which the divided image data 306 to 314 are stored in the memory 113, respectively. Further, a holding period for holding the image data 306 to 314 on the memory 113 is shown. Here, it is assumed that non-overlap data is held in the storage area 1200 and overlap data is held in the storage area 1201.

期間1202では、第1処理済みデータ306をWRDMAC800により記憶領域1200に書き込む処理と、第1処理済みデータ307をWRDMAC800により記憶領域1201に書き込む処理が実行される。第2の画像処理部105はメモリ113の記憶領域1200と1201から分割画像データ306と307をそれぞれ読み出して処理を行う。この時、RDDMAC801は、追いつき監視部802によってデータの書き込み状況を監視する。第1の画像処理部104が記憶領域にデータを書き込む際の転送量またはライン番号と、第2の画像処理部105がデータの読み出す際の転送量またはライン番号が比較部900によって比較される。例えば、比較部900は、第1の画像処理部104内のWRDMAC800の転送量またはライン番号から、第2の画像処理部105内のRDDMAC801の転送量またはライン番号を減算する。追いつき監視部802は、減算結果が閾値以上となる転送量またはライン数分のデータを第1の画像処理部104が書き込んでいることを監視し、第2の画像処理部105は分割画像データ306と307をそれぞれ読み出す。減算結果が閾値未満の場合には、読み出しが書き込みに追いつかないように読み出し処理が一時停止される。   In the period 1202, processing for writing the first processed data 306 to the storage area 1200 by the WRDMAC 800 and processing for writing the first processed data 307 to the storage area 1201 by the WRDMAC 800 are executed. The second image processing unit 105 reads the divided image data 306 and 307 from the storage areas 1200 and 1201 of the memory 113 and performs processing. At this time, the RDDMAC 801 monitors the data write status by the catch-up monitoring unit 802. The comparison unit 900 compares the transfer amount or line number when the first image processing unit 104 writes data into the storage area and the transfer amount or line number when the second image processing unit 105 reads data. For example, the comparison unit 900 subtracts the transfer amount or line number of the RDDMAC 801 in the second image processing unit 105 from the transfer amount or line number of the WRDMAC 800 in the first image processing unit 104. The catch-up monitoring unit 802 monitors that the first image processing unit 104 has written the data for the transfer amount or the number of lines for which the subtraction result is equal to or greater than the threshold, and the second image processing unit 105 performs the divided image data 306. And 307 are read out respectively. When the subtraction result is less than the threshold value, the reading process is temporarily stopped so that the reading cannot catch up with the writing.

次の期間1203では、第1処理済みデータ308をWRDMAC800により記憶領域1200に書き込む処理が実行される。この時、記憶領域1200の書き込み開始タイミングについては、RDDMAC801からのライン数に基づいて、分割画像データ307のライン単位での処理終了を判断して決定される。次に、第1処理済みデータ309をWRDMAC800により記憶領域1201に書き込む処理が実行される。分割画像データ309と307は同じ記憶領域1201に保持されるが、分割画像データ308を書き込むときに、分割画像データ307がライン単位で読み出し終わっていることを前提としている。このため、分割画像データ309はそのまま書き込み処理が行われる。第2の画像処理部105は記憶領域1200と1201から分割画像データ307、308、309をそれぞれ読み出して処理を行う。この時、RDDMAC801は、追いつき監視部802によってデータの書き込み状況を監視する。第1の画像処理部104が記憶領域1200、1201に対して、比較部900での減算結果が閾値以上となる転送量あるいはライン数分のデータを書き込んでいることを監視しつつ、分割画像データ308と309を読み出す処理が行われる。   In the next period 1203, processing for writing the first processed data 308 to the storage area 1200 by the WRDMAC 800 is executed. At this time, the write start timing of the storage area 1200 is determined based on the number of lines from the RDDMAC 801 by determining the end of processing of the divided image data 307 in units of lines. Next, a process of writing the first processed data 309 into the storage area 1201 by the WRDMAC 800 is executed. The divided image data 309 and 307 are held in the same storage area 1201. However, when the divided image data 308 is written, it is assumed that the divided image data 307 has been read in units of lines. For this reason, the divided image data 309 is directly written. The second image processing unit 105 reads out the divided image data 307, 308, and 309 from the storage areas 1200 and 1201, respectively, and performs processing. At this time, the RDDMAC 801 monitors the data write status by the catch-up monitoring unit 802. While monitoring that the first image processing unit 104 is writing data corresponding to the transfer amount or the number of lines in which the subtraction result in the comparison unit 900 is equal to or greater than the threshold value to the storage areas 1200 and 1201, the divided image data Processing to read out 308 and 309 is performed.

期間1204、1205では、期間1203の場合と同様の処理が実行されるので、詳細な説明を省略し、相違点だけを簡単に説明する。期間1204では、第1処理済みデータ310が記憶領域1200に保存され、第1処理済みデータ311が記憶領域1201に保存される。第2の画像処理部105は記憶領域1200と1201から分割画像データ309、310、311をそれぞれ読み出して処理を行う。次の期間1205では、第1処理済みデータ312が記憶領域1200に保存され、第1処理済みデータ313が記憶領域1201に保存される。第2の画像処理部105は記憶領域1200と1201から分割画像データ311、312、313をそれぞれ読み出して処理を行う。   In the periods 1204 and 1205, the same processing as that in the period 1203 is executed. Therefore, detailed description is omitted, and only differences are briefly described. In the period 1204, the first processed data 310 is stored in the storage area 1200, and the first processed data 311 is stored in the storage area 1201. The second image processing unit 105 reads out the divided image data 309, 310, and 311 from the storage areas 1200 and 1201, respectively, and performs processing. In the next period 1205, the first processed data 312 is stored in the storage area 1200, and the first processed data 313 is stored in the storage area 1201. The second image processing unit 105 reads the divided image data 311, 312, and 313 from the storage areas 1200 and 1201 and performs processing.

期間1206では、第1処理済みデータ314がWRDMAC800により記憶領域1200に保存される。この時、記憶領域1200の書き込み開始タイミングは、RDDMAC801からのライン数に基づいて、分割画像データ313のライン単位での処理終了を判断して決定される。さらに、第2の画像処理部105が記憶領域1201と1200から分割画像データ313と314をそれぞれ読み出して処理を行う。この時、前記と同様に読み出しが書き込みに追いつかないように制御が行われる。
なお、記憶領域1200および1201については、アドレス制御部109のアドレスジャンプ機能を用いて同一バンクに配置される。読み出しと書き込みがほぼ同じロウアドレスとなるようにRDDMAC801の追いつき監視部802を用いて制御することで、プリチャージおよびアクティブコマンドを減らしてアクセス効率を高めることができる。
In the period 1206, the first processed data 314 is stored in the storage area 1200 by the WRDMAC 800. At this time, the write start timing of the storage area 1200 is determined based on the number of lines from the RDDMAC 801 by determining the end of processing of the divided image data 313 in units of lines. Further, the second image processing unit 105 reads the divided image data 313 and 314 from the storage areas 1201 and 1200 and performs processing. At this time, similarly to the above, control is performed so that reading cannot catch up with writing.
Note that the storage areas 1200 and 1201 are arranged in the same bank using the address jump function of the address control unit 109. By controlling using the catch-up monitoring unit 802 of the RDDMAC 801 so that reading and writing have substantially the same row address, it is possible to reduce precharge and active commands and increase access efficiency.

以上説明したように、第3実施形態によれば、第2実施形態の効果に加えて、同時期にメモリ113上でデータを保持する記憶領域数を第2実施形態の場合よりも減らすことができる。さらには、第1および第2実施形態に比べて、第1の画像処理の開始時点から第2の画像処理の終了時点までの期間を短くすることができる。よって、処理した画像データをモニタ等の画面上に表示する際(ライブビュー表示等)、表示遅延時間を短縮できる。
以上、本発明を各実施形態に基づいて説明したが、本発明は前記実施形態に限定される訳ではなく、その要旨を逸脱しない範囲において種々の変更や変形が可能である。
As described above, according to the third embodiment, in addition to the effects of the second embodiment, the number of storage areas that hold data on the memory 113 at the same time can be reduced as compared with the case of the second embodiment. it can. Furthermore, as compared with the first and second embodiments, the period from the start time of the first image processing to the end time of the second image processing can be shortened. Therefore, when the processed image data is displayed on a screen such as a monitor (live view display or the like), the display delay time can be shortened.
As mentioned above, although this invention was demonstrated based on each embodiment, this invention is not necessarily limited to the said embodiment, A various change and deformation | transformation are possible in the range which does not deviate from the summary.

104 第1の画像処理部
105 第2の画像処理部
106 データ転送制御部
109 アドレス制御部
113 メモリ
116 システム制御部
802 追いつき監視部
104 First image processing unit 105 Second image processing unit 106 Data transfer control unit 109 Address control unit 113 Memory 116 System control unit 802 Catch-up monitoring unit

Claims (8)

データを格納する記憶装置と、
前記記憶装置の記憶領域のアクセス先を切り替えるアドレス制御手段を有し、前記記憶装置に対してデータの読み出しおよび書き込みを制御するデータ転送制御手段と、
前記記憶装置のデータを一括または分割して処理する第1の処理手段と、
前記第1の処理手段の処理結果である第1処理済みデータを処理する第2の処理手段を備え、
前記記憶装置は、
前記第1の処理手段に入力するデータを格納する第1の記憶領域と、
前記第2の処理手段が前記第1処理済みデータを少なくとも2回参照するオーバーラップ領域、および前記第2の処理手段が前記第1処理済みデータを1度のみ参照する非オーバーラップ領域を含む第2の記憶領域を有しており、
前記データ転送制御手段は、前記アドレス制御手段により前記第1の記憶領域または前記第2の記憶領域へアクセスし、特定のアドレスに到達した場合にアドレスをジャンプさせて前記記憶領域のアクセス先を切り替えることにより、前記第1処理済みデータを分割して前記オーバーラップ領域および前記非オーバーラップ領域に書き込む処理を制御することを特徴とするデータ処理装置。
A storage device for storing data;
An address control unit that switches an access destination of a storage area of the storage device, and a data transfer control unit that controls reading and writing of data with respect to the storage device;
First processing means for processing the data in the storage device in a batch or divided;
A second processing means for processing first processed data that is a processing result of the first processing means;
The storage device
A first storage area for storing data to be input to the first processing means;
The second processing means includes an overlap area in which the first processed data is referred to at least twice, and the second processing means includes a non-overlap area in which the first processed data is referred to only once. 2 storage areas,
The data transfer control means accesses the first storage area or the second storage area by the address control means, and jumps to an address to switch the access destination of the storage area when a specific address is reached. Thus, the data processing apparatus is characterized in that the processing of dividing the first processed data and writing to the overlap area and the non-overlap area is controlled.
前記第2の処理手段は、前記データ転送制御手段により前記オーバーラップ領域および前記非オーバーラップ領域から読み出した前記第1処理済みデータを処理することを特徴とする請求項1に記載のデータ処理装置。   2. The data processing apparatus according to claim 1, wherein the second processing unit processes the first processed data read from the overlap region and the non-overlap region by the data transfer control unit. . 前記データ転送制御手段は、前記第1処理済みデータの書き込みおよび読み出しが、前記第2の記憶領域の中で同一の記憶領域で行われる場合、書き込みと読み出しの転送量を比較することによりデータを監視し、書き込みが読み出しに追いつかず、または読み出しが書き込みに追いつかない制御を行うことを特徴とする請求項1または2に記載のデータ処理装置。   When the writing and reading of the first processed data are performed in the same storage area in the second storage area, the data transfer control means compares the transfer amount of writing and reading to store the data. 3. The data processing apparatus according to claim 1, wherein monitoring is performed and control is performed such that writing does not catch up with reading or reading does not catch up with writing. 前記データ転送制御手段は、前記第1処理済みデータの書き込みおよび読み出しが、前記第2の記憶領域の中で同一の記憶領域で行われる場合、書き込みと読み出しをライン単位で監視し、書き込みが読み出しに追いつかず、または読み出しが書き込みに追いつかない制御を行うことを特徴とする請求項1または2に記載のデータ処理装置。   The data transfer control unit monitors writing and reading in line units when writing and reading of the first processed data is performed in the same storage area in the second storage area, and writing is read. 3. The data processing apparatus according to claim 1, wherein control is performed such that reading does not catch up or reading does not catch up with writing. 前記データ転送制御手段は、前記アドレス制御手段により、前記第2の記憶領域の先頭アドレスおよび記憶領域サイズを変更することを特徴とする請求項1から4のいずれか1項に記載のデータ処理装置。   5. The data processing device according to claim 1, wherein the data transfer control unit changes a start address and a storage area size of the second storage area by the address control unit. 6. . 前記データ転送制御手段は、前記アドレス制御手段により、前記オーバーラップ領域と前記非オーバーラップ領域を異なるバンクに配置することを特徴とする請求項1から5のいずれか1項に記載のデータ処理装置。   6. The data processing apparatus according to claim 1, wherein the data transfer control means arranges the overlap area and the non-overlap area in different banks by the address control means. . 前記データ転送制御手段は、前記第1処理済みデータの書き込みおよび読み出しを制御する場合、前記アドレス制御手段により、前記第1処理済みデータの書き込みを行う前記オーバーラップ領域と前記非オーバーラップ領域を同じバンクに配置し、前記第1処理済みデータの読み出しを行う前記オーバーラップ領域と前記非オーバーラップ領域を同じバンクに配置し、前記第1処理済みデータを書き込む記憶領域と読み出す記憶領域に対しては異なるバンクに配置することを特徴とする請求項1から5のいずれか1項に記載のデータ処理装置。   When the data transfer control unit controls writing and reading of the first processed data, the address control unit uses the same overlap region and non-overlap region for writing the first processed data. Arrange the overlapping area and the non-overlapping area, which are arranged in a bank and read the first processed data, in the same bank, and the storage area for reading and writing the first processed data The data processing apparatus according to claim 1, wherein the data processing apparatus is arranged in a different bank. データを格納する記憶装置の記憶領域のアクセス先を切り替えるアドレス制御により、前記記憶装置に対してデータの読み出しおよび書き込みを制御するデータ転送制御ステップと、
前記記憶装置のデータを一括または分割して処理する第1の処理ステップと、
前記第1の処理ステップの処理結果である第1処理済みデータを処理する第2の処理ステップを備え、
前記データ転送制御ステップは、
前記第1の処理ステップにて入力するデータを格納する前記記憶装置の第1の記憶領域と、前記第2の処理ステップにて前記第1処理済みデータを少なくとも2回参照するオーバーラップ領域、および前記第2の処理ステップにて前記第1処理済みデータを1度のみ参照する非オーバーラップ領域を含む第2の記憶領域へアクセスするステップと、特定のアドレスに到達した場合にアドレスをジャンプさせて前記記憶領域のアクセス先を切り替えることにより、前記第1処理済みデータを分割して前記オーバーラップ領域および前記非オーバーラップ領域に書き込む処理を制御するステップを有することを特徴とするデータ処理方法。
A data transfer control step for controlling reading and writing of data with respect to the storage device by address control for switching an access destination of a storage area of the storage device for storing data;
A first processing step for processing the data in the storage device in a batch or divided;
A second processing step of processing first processed data that is a processing result of the first processing step;
The data transfer control step includes:
A first storage area of the storage device that stores data input in the first processing step; an overlap area that references the first processed data at least twice in the second processing step; and A step of accessing a second storage area including a non-overlapping area that refers to the first processed data only once in the second processing step; and jumping an address when a specific address is reached A data processing method comprising a step of controlling a process of dividing the first processed data and writing to the overlap area and the non-overlap area by switching an access destination of the storage area.
JP2013045827A 2013-03-07 2013-03-07 Data processing device and data processing method Pending JP2014174689A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013045827A JP2014174689A (en) 2013-03-07 2013-03-07 Data processing device and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013045827A JP2014174689A (en) 2013-03-07 2013-03-07 Data processing device and data processing method

Publications (1)

Publication Number Publication Date
JP2014174689A true JP2014174689A (en) 2014-09-22

Family

ID=51695872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013045827A Pending JP2014174689A (en) 2013-03-07 2013-03-07 Data processing device and data processing method

Country Status (1)

Country Link
JP (1) JP2014174689A (en)

Similar Documents

Publication Publication Date Title
US8904069B2 (en) Data processing apparatus and image processing apparatus
US10803589B2 (en) Image processing device
JP2015053644A (en) Imaging device
JP2012033007A (en) Image processing device and image processing method
US20160127598A1 (en) Image processing apparatus, and control method and program of image processing apparatus
JP4998312B2 (en) Image processing apparatus, imaging apparatus, and image processing method
JP2015109037A (en) Image processor
US20120203942A1 (en) Data processing apparatus
JP2015219592A (en) Image processor, imaging device, and image processing method
US10453166B2 (en) Image processing device and image processing method
JP5676233B2 (en) Image processing apparatus, image processing method, and imaging apparatus
JP2008172410A (en) Imaging apparatus, image processing apparatus, image processing method, program for image processing method, and recording medium recorded with program for image processing method
JP2014174689A (en) Data processing device and data processing method
JP2010028758A (en) Image processing apparatus and method, program, and imaging apparatus
US20120144150A1 (en) Data processing apparatus
JP2004266768A (en) Image processing system and digital camera
JP2004312072A (en) Image processing device, camera, and image processing method
US10250829B2 (en) Image processing apparatus that uses plurality of image processing circuits
JP2016100717A (en) Image forming apparatus, image processing method, and program
JP2017204170A (en) Image processing device and image processing method
JP2017163295A (en) Imaging apparatus
JP2019022032A (en) Image processing apparatus and image processing method
JP2022144340A (en) Image processing apparatus, image processing method, and image processing program
JP2013187630A (en) Picture processing device and method, and imaging device
JP2006054576A (en) Apparatus and method of processing image, program and storage medium