JP6210742B2 - Data processing device and data transfer control device - Google Patents

Data processing device and data transfer control device Download PDF

Info

Publication number
JP6210742B2
JP6210742B2 JP2013121934A JP2013121934A JP6210742B2 JP 6210742 B2 JP6210742 B2 JP 6210742B2 JP 2013121934 A JP2013121934 A JP 2013121934A JP 2013121934 A JP2013121934 A JP 2013121934A JP 6210742 B2 JP6210742 B2 JP 6210742B2
Authority
JP
Japan
Prior art keywords
data
dram
bank
order
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013121934A
Other languages
Japanese (ja)
Other versions
JP2014238768A (en
Inventor
田中 義信
義信 田中
裕信 冨田
裕信 冨田
上野 晃
晃 上野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olympus Corp
Original Assignee
Olympus Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Olympus Corp filed Critical Olympus Corp
Priority to JP2013121934A priority Critical patent/JP6210742B2/en
Priority to US14/289,706 priority patent/US9672174B2/en
Publication of JP2014238768A publication Critical patent/JP2014238768A/en
Application granted granted Critical
Publication of JP6210742B2 publication Critical patent/JP6210742B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)

Description

本発明は、データ処理装置およびデータ転送制御装置に関する。   The present invention relates to a data processing device and a data transfer control device.

静止画用カメラ、動画用カメラ、医療用内視鏡カメラ、または産業用内視鏡カメラなどの画像処理装置に搭載されるシステムLSIなど、多くのシステムLSIでは、接続された1つのDRAM(Dynamic Random Access Memory)を、内蔵する複数の処理ブロックが共有している。このようなシステムLSIにおいては、内蔵している複数の処理ブロックが、システムLSI内部のデータバスに接続され、各処理ブロックは、DMA(Direct Memory Access)によってDRAMへのアクセスを行う。このとき、バスアービタは、それぞれの処理ブロックから発せられるDRAMへのアクセス要求(DMA要求)を適切に調停しながら、DRAMへのアクセスを制御している。   In many system LSIs such as a system LSI mounted on an image processing apparatus such as a still image camera, a moving image camera, a medical endoscope camera, or an industrial endoscope camera, a single connected DRAM (Dynamic) Random Access Memory) is shared by a plurality of built-in processing blocks. In such a system LSI, a plurality of built-in processing blocks are connected to a data bus inside the system LSI, and each processing block accesses the DRAM by DMA (Direct Memory Access). At this time, the bus arbiter controls access to the DRAM while appropriately arbitrating an access request (DMA request) to the DRAM issued from each processing block.

一般的なDRAMのアクセスでは、データバス全体のバス帯域を確保するため、バンクインターリーブという方法が用いられている。ここで、バス帯域は、各処理ブロックがDRAMにアクセスした際の、データバス上のデータ量を表している。バンクインターリーブでは、DRAMのそれぞれのバンク毎にデータ転送を制御する。バンクインターリーブによってDRAMの異なるバンクに順次アクセスする場合には、先にアクセスしたバンクからのデータ転送の処理中に、次にアクセスするバンクに対するアドレス設定の処理を並行して行うことができるため、DRAMのデータアクセスの効率を向上させることができる。   In general DRAM access, a method called bank interleaving is used to secure the bus bandwidth of the entire data bus. Here, the bus bandwidth represents the amount of data on the data bus when each processing block accesses the DRAM. In bank interleaving, data transfer is controlled for each bank of the DRAM. When sequentially accessing different banks of the DRAM by bank interleaving, the address setting processing for the next bank to be accessed can be performed in parallel during the data transfer processing from the previously accessed bank. The efficiency of data access can be improved.

しかしながら、DRAMには、同一のバンクを連続してアクセスする場合に、アクセスを受け付けられない期間が存在する。このため、バンクインターリーブによってDRAMの同一のバンクに連続アクセスしてしまうと、DRAMがアクセスを受け付けられない期間によるロス時間が発生し、DRAMのデータアクセスの効率が低下してしまう。このため、データ転送処理とアドレス設定処理とを並行して行うことによって高いデータアクセス効率を確保するためには、バンクインターリーブによって、異なるバンクに順次アクセスする必要がある。   However, the DRAM has a period during which access cannot be accepted when the same bank is continuously accessed. For this reason, if the same bank of the DRAM is continuously accessed by bank interleaving, a loss time due to a period in which the DRAM cannot accept access occurs, and the data access efficiency of the DRAM decreases. Therefore, in order to ensure high data access efficiency by performing the data transfer process and the address setting process in parallel, it is necessary to sequentially access different banks by bank interleaving.

また、一般的なバスアービタにおけるDRAMへのアクセス要求の調停では、各処理ブロックの優先度に基づいて、例えば、DRAMへのアクセスが一定期間阻害されると処理が破綻してしまうような処理ブロックなど、優先度の高い処理ブロックからのアクセス要求を優先的に受け付ける方法が知られている。また、アクセスするバンクの情報に基づいて、例えば、同一のバンクに対する連続したアクセスの優先度を下げるなどの対応を行って、アクセス要求を受け付ける処理ブロックを選択することにより、データバス全体のバス帯域を確保する方法も知られている。   In arbitration of DRAM access requests in a general bus arbiter, for example, a processing block in which processing fails if access to the DRAM is inhibited for a certain period based on the priority of each processing block. A method of preferentially receiving an access request from a processing block with a high priority is known. Also, based on the information of the bank to be accessed, for example, by reducing the priority of continuous access to the same bank, and selecting the processing block that accepts the access request, the bus bandwidth of the entire data bus There are also known methods for securing the above.

しかし、システムが複雑化してくると、システムLSIに内蔵する処理ブロックの数が増加する。これにより、それぞれの処理ブロックに対する優先度の設定が複雑になり、バスアービタのみで各処理ブロックからのDRAMへのアクセス要求を適切に調停することが困難になってくる。   However, as the system becomes more complex, the number of processing blocks built into the system LSI increases. This complicates the setting of the priority for each processing block, and it becomes difficult to appropriately arbitrate access requests to the DRAM from each processing block using only the bus arbiter.

このような問題を解決するため、従来から、各処理ブロックが必要とするバス帯域を確保しつつ、バンクインターリーブによってデータバス全体のバス帯域を向上、すなわち、DRAMのデータアクセスの効率を向上させて、システムとしての性能(パフォーマンス)を確保するための技術が開示されている。   In order to solve such problems, conventionally, while securing the bus bandwidth required by each processing block, the bus bandwidth of the entire data bus is improved by bank interleaving, that is, the DRAM data access efficiency is improved. A technique for ensuring performance as a system is disclosed.

特許文献1に開示された技術は、それぞれの処理ブロックがDRAMへのアクセス要求を発する際のタイミング(要求発生タイミング)や、それぞれの処理ブロックがアクセスするDRAMのアドレスの発生方法を制御することによって、優先度が高い処理ブロックが、DRAMの異なるバンクに連続してアクセスするように制御する技術である。この特許文献1に開示された技術によって、それぞれの処理ブロックの優先度を確保しつつ、データバス全体のバス帯域を確保する、つまり、データ転送を効率良く行うことができる。   The technology disclosed in Patent Document 1 controls the timing when each processing block issues an access request to the DRAM (request generation timing) and the method of generating the address of the DRAM accessed by each processing block. This is a technique for controlling a processing block having a high priority so as to continuously access different banks of the DRAM. With the technique disclosed in Patent Document 1, it is possible to secure the bus bandwidth of the entire data bus, that is, to efficiently perform data transfer, while securing the priority of each processing block.

また、特許文献2や特許文献3に開示された技術は、DRAMのそれぞれのバンクにアクセスする際の順番をバスアービタ内で入れ替えることによって、DRAMの同一のバンクに対する連続したアクセスを回避する技術である。この特許文献2や特許文献3に開示された技術によって、DRAMがアクセスを受け付けられないロス時間の発生を最小限に抑えることができる。   In addition, the techniques disclosed in Patent Document 2 and Patent Document 3 are techniques for avoiding continuous access to the same bank of DRAM by changing the order of accessing each bank of the DRAM in the bus arbiter. . With the techniques disclosed in Patent Document 2 and Patent Document 3, it is possible to minimize the occurrence of loss time during which the DRAM cannot accept access.

特開2011−3160号公報JP 2011-3160 特開2006−260472号公報JP 2006-260472 A 特開2010−27006号公報JP 2010-27006 A

しかしながら、特許文献1に開示された技術を採用し、優先度が高い処理ブロックがDRAMの異なるバンクに対して連続してアクセスするように制御した場合でも、優先度が高い処理ブロックが複数あり、かつ、DRAMのバンクにアクセスする順番が優先度の高い処理ブロック毎に異なっている場合には、DRAMの同一のバンクに対する連続したアクセスが発生してしまうことがある。   However, even when the technology disclosed in Patent Document 1 is adopted and processing blocks with high priority are controlled so as to continuously access different banks of DRAM, there are a plurality of processing blocks with high priority, In addition, if the order of accessing the DRAM banks is different for each processing block with a high priority, continuous access to the same bank of the DRAM may occur.

例えば、優先度が高い処理ブロックが2つある場合において、一方の処理ブロックがバンクA→バンクB→バンクC→バンクDの順番でアクセスし、他方の処理ブロックがバンクD→バンクC→バンクB→バンクAの順番でアクセスする場合には、DRAMにアクセスする処理ブロックが切り替わるタイミングで、同一のバンクに対する連続したアクセスが発生してしまう。   For example, if there are two processing blocks with high priority, one processing block accesses in the order of bank A → bank B → bank C → bank D, and the other processing block accesses bank D → bank C → bank B. When accessing in the order of bank A, successive accesses to the same bank occur at the timing when the processing block accessing the DRAM is switched.

また、特許文献2や特許文献3に開示された技術を採用し、バスアービタ内でDRAMのバンクにアクセスする順番を入れ替えるためには、入れ替えられた順番で転送されてくるデータを元の順番に戻してDRAMへのアクセスを要求した処理ブロック(要求元の処理ブロック)に出力するためのバッファを、バスアービタ内に搭載する必要がある。このため、バスアービタの回路規模が増大してしまうという問題がある。特に、バスアービタ内に、それぞれの処理ブロックに対応したバッファを複数備える場合には、回路規模がより増大してしまう。   In order to change the order of accessing the DRAM banks in the bus arbiter using the techniques disclosed in Patent Document 2 and Patent Document 3, the data transferred in the replaced order is returned to the original order. Therefore, a buffer for outputting to the processing block that requested access to the DRAM (requesting processing block) must be mounted in the bus arbiter. For this reason, there is a problem that the circuit scale of the bus arbiter increases. In particular, when a plurality of buffers corresponding to each processing block are provided in the bus arbiter, the circuit scale is further increased.

このバスアービタの回路規模が増大してしまうという問題への対応として、バスアービタ内に備えているバッファを複数の処理ブロックで共有する構成が考えられるが、この場合には、処理ブロック毎の優先度を細かく管理することが困難になるなど、DRAMのバンクに対するアクセスの順番をバスアービタ内で入れ替えることによる効果を十分に得られなくなってしまうという新たな問題が発生してしまう。   As a countermeasure to the problem that the circuit scale of the bus arbiter increases, a configuration in which a buffer provided in the bus arbiter is shared by a plurality of processing blocks can be considered. In this case, the priority for each processing block is set. There arises a new problem that the effect of changing the access order to the DRAM bank within the bus arbiter cannot be obtained sufficiently, such as difficulty in finely managing.

そして、DRAMのバンクに対するアクセスの順番を入れ替えることによる効果を十分に得るために、さらに別の様々な機能をバスアービタで実現しようとすると、処理ブロックとバスアービタとの間のやり取り(インタフェース)が複雑になってしまう。さらに、それぞれの処理ブロックでは、バスアービタで実現された別の様々な機能に対応するための構成も必要となり、それぞれの処理ブロックの構成の複雑化によって、システム全体のコスト増を招くことになる。   In order to sufficiently obtain the effect of changing the order of access to the DRAM bank, when various other functions are realized by the bus arbiter, the exchange (interface) between the processing block and the bus arbiter is complicated. turn into. Furthermore, each processing block requires a configuration for supporting various other functions implemented by the bus arbiter, and the complexity of the configuration of each processing block increases the cost of the entire system.

本発明は、上記の課題認識に基づいてなされたものであり、それぞれの処理ブロックがアクセスするバンクの順番が異なっている場合でも、データアクセスの効率を高めることができるデータ処理装置およびデータ転送制御装置を提供することを目的としている。   The present invention has been made based on the above problem recognition, and a data processing apparatus and data transfer control capable of improving the efficiency of data access even when the order of banks accessed by each processing block is different The object is to provide a device.

上記の課題を解決するため、本発明のデータ処理装置は、共通バスに接続された複数の処理ブロックと、複数のバンクを有するアドレス空間からなるメモリと、複数の前記処理ブロックから出力される前記メモリへのアクセス要求を調停し、前記アクセス要求を受け付けた前記処理ブロックと前記メモリとの間での前記共通バスを介したデータの受け渡しを制御する共通バス調停部と、を具備し、複数の前記処理ブロックの内、少なくとも1つの処理ブロックは、前記共通バスを介して前記メモリとの間で前記データの受け渡しを行う際に、前記メモリ内の前記バンクにアクセスする順番の入れ替えを行い、前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う前記処理ブロックは、予め定めた前記データの順番に基づいて前記メモリとの間で受け渡しを行う前記データの順番を制御することによって、前記バンクにアクセスする順番の入れ替えを行うデータ転送制御装置、を備える、ことを特徴とする。 In order to solve the above problems, a data processing device according to the present invention includes a plurality of processing blocks connected to a common bus, a memory including an address space having a plurality of banks, and the plurality of processing blocks output from the processing block. A common bus arbitration unit that arbitrates an access request to a memory and controls data transfer through the common bus between the processing block that has received the access request and the memory, and a plurality of Among the processing blocks, at least one processing block exchanges the order of accessing the banks in the memory when transferring the data to and from the memory via the common bus, and the processing block for performing interchanging the order of accessing the bank in the memory, on the basis of the order of the data a predetermined menu By controlling the order of the data to be passed to and from the re comprises data transfer control device that performs switching of order of accessing the bank, characterized in that.

また、本発明の前記データ転送制御装置は、前記メモリとの間で受け渡しを行う前記データを保存するバッファ部と、前記バッファ部に前記データを保存するバッファライト制御部と、前記バッファ部に保存された前記データを読み出すバッファリード制御部と、を備える、ことを特徴とする。   The data transfer control device according to the present invention includes a buffer unit that stores the data that is transferred to and from the memory, a buffer write control unit that stores the data in the buffer unit, and a buffer unit that stores the data. And a buffer read control unit for reading out the read data.

また、本発明の前記データ転送制御装置は、前記メモリとの間で受け渡しを行う前記データの順番を設定する動作モードレジスタ、を備え、前記バッファライト制御部は、前記動作モードレジスタに設定された前記データの順番に基づいて、前記バッファ部内の前記バンクに対応する記憶領域に、前記データを保存する、ことを特徴とする。   In addition, the data transfer control device of the present invention includes an operation mode register that sets the order of the data that is transferred to and from the memory, and the buffer write control unit is set in the operation mode register The data is stored in a storage area corresponding to the bank in the buffer unit based on the order of the data.

また、本発明の前記データ転送制御装置は、前記メモリとの間で受け渡しを行う前記データの順番を設定する動作モードレジスタ、を備え、前記バッファリード制御部は、前記動作モードレジスタに設定された前記データの順番に基づいて、前記バッファ部内の前記バンクに対応する記憶領域から、前記データを読み出す、ことを特徴とする。   Further, the data transfer control device of the present invention comprises an operation mode register for setting the order of the data to be transferred to and from the memory, and the buffer read control unit is set in the operation mode register The data is read from a storage area corresponding to the bank in the buffer unit based on the order of the data.

また、本発明の前記データ転送制御装置は、前記バンクにアクセスする順番を、前記メモリ内の該バンクの順番と逆の順番にする、ことを特徴とする。   The data transfer control device according to the present invention is characterized in that the order of accessing the banks is reversed from the order of the banks in the memory.

また、本発明のデータ処理装置における前記データは、第1の方向および第2の方向の領域からなるデータであり、当該データ処理装置は、前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う前記処理ブロックを複数備え、前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う複数の前記処理ブロックの内、少なくとも1つの処理ブロックは、前記データの第1の方向に前記メモリ内の前記バンクにアクセスし、前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う複数の前記処理ブロックの内、少なくとも1つの他の処理ブロックは、前記データの第2の方向に前記メモリ内の前記バンクにアクセスする、ことを特徴とする。   Further, the data in the data processing apparatus of the present invention is data composed of areas in the first direction and the second direction, and the data processing apparatus changes the order of accessing the banks in the memory. A plurality of the processing blocks are provided, and at least one processing block among the plurality of the processing blocks that perform switching of the order of accessing the banks in the memory is the bank in the memory in the first direction of the data. And at least one other processing block is transferred to the bank in the memory in the second direction of the data. It is characterized by access.

また、本発明のデータ処理装置における前記データは、画像データであり、前記第1の方向は、前記画像データの水平方向であり、前記第2の方向は、前記画像データの垂直方向である、ことを特徴とする。   The data in the data processing apparatus of the present invention is image data, the first direction is a horizontal direction of the image data, and the second direction is a vertical direction of the image data. It is characterized by that.

また、本発明のデータ転送制御装置は、共通バスに接続された複数の処理ブロックと、複数のバンクを有するアドレス空間からなるメモリと、複数の前記処理ブロックから出力される前記メモリへのアクセス要求を調停し、前記アクセス要求を受け付けた前記処理ブロックと前記メモリとの間での前記共通バスを介したデータの受け渡しを制御する共通バス調停部と、を具備したデータ処理装置において、複数の前記処理ブロックの内、少なくとも1つの処理ブロックに備えられ、予め定めた前記データの順番に基づいて前記メモリとの間で受け渡しを行う前記データの順番を制御することによって、該処理ブロックが前記共通バスを介して前記メモリとの間で前記データの受け渡しを行う際に、前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う、ことを特徴とする。 The data transfer control device according to the present invention includes a plurality of processing blocks connected to a common bus, a memory composed of an address space having a plurality of banks, and an access request to the memory output from the plurality of processing blocks. And a common bus arbitration unit that controls data transfer via the common bus between the processing block that has received the access request and the memory. Among the processing blocks, the processing block is provided in at least one processing block, and the processing block controls the order of the data to be transferred to and from the memory based on the predetermined order of the data. When transferring the data to and from the memory via the memory, the order of accessing the banks in the memory Performing replacement of, characterized in that.

本発明によれば、それぞれの処理ブロックがアクセスするバンクの順番が異なっている場合でも、データアクセスの効率を高めることができるという効果が得られる。   According to the present invention, it is possible to increase the efficiency of data access even when the order of banks accessed by the respective processing blocks is different.

本発明の実施形態におけるデータ転送制御装置を適用した画像処理装置の概略構成を示したブロック図である。1 is a block diagram illustrating a schematic configuration of an image processing apparatus to which a data transfer control device according to an embodiment of the present invention is applied. 本実施形態の画像処理装置における画像の反転処理の一例を示した図である。It is the figure which showed an example of the inversion process of the image in the image processing apparatus of this embodiment. 本実施形態の画像処理装置における画像の反転処理でのDRAMへのアクセス方法の一例を模式的に示した図である。It is the figure which showed typically an example of the access method to DRAM in the inversion process of the image in the image processing apparatus of this embodiment. 本実施形態の画像処理装置に備えた処理ブロックにおけるDRAMのバンクアクセスに起因するロス時間の一例を模式的に示した図である。It is the figure which showed typically an example of the loss time resulting from the bank access of DRAM in the processing block with which the image processing apparatus of this embodiment was equipped. 本実施形態の画像処理装置に備えた処理ブロックによる第1の入れ替え処理によってDRAMのバンクアクセスに起因するロス時間を回避する一例を模式的に示した図である。It is the figure which showed typically an example which avoids the loss time resulting from the bank access of DRAM by the 1st replacement process by the processing block with which the image processing apparatus of this embodiment was equipped. 本実施形態の画像処理装置に備えたデータ転送制御装置の概略構成を示したブロック図である。It is a block diagram showing a schematic configuration of a data transfer control device provided in the image processing apparatus of the present embodiment. 本実施形態の画像処理装置に備えたデータ転送制御装置の第1の入れ替え処理におけるDMA動作の一例を説明する図である。It is a figure explaining an example of the DMA operation | movement in the 1st replacement process of the data transfer control apparatus with which the image processing apparatus of this embodiment was equipped. 本実施形態の画像処理装置に備えたデータ転送制御装置による第1の入れ替え処理のDMA動作における画像データの転送タイミングの一例を模式的に示した図である。It is the figure which showed typically an example of the transfer timing of the image data in DMA operation | movement of the 1st replacement process by the data transfer control apparatus with which the image processing apparatus of this embodiment was equipped. 本実施形態の画像処理装置に備えたデータ転送制御装置の第1の入れ替え処理におけるDMA動作の別の一例を説明する図である。It is a figure explaining another example of the DMA operation | movement in the 1st replacement process of the data transfer control apparatus with which the image processing apparatus of this embodiment was equipped. 本実施形態の画像処理装置に備えたデータ転送制御装置による第1の入れ替え処理のDMA動作の別の一例における画像データの転送タイミングの一例を模式的に示した図である。It is the figure which showed typically an example of the transfer timing of the image data in another example of DMA operation | movement of the 1st replacement process by the data transfer control apparatus with which the image processing apparatus of this embodiment was equipped. 本実施形態の画像処理装置に備えたデータ転送制御装置におけるDMA動作を説明する図である。It is a figure explaining DMA operation | movement in the data transfer control apparatus with which the image processing apparatus of this embodiment was equipped. 本実施形態の画像処理装置における画像データの転送方向とDRAMのアクセスとの一例を模式的に示した図である。It is the figure which showed typically an example of the transfer direction of image data and DRAM access in the image processing apparatus of this embodiment. 本実施形態の画像処理装置において画像データの転送方向が異なる場合に対応したDRAMのアクセスの一例を模式的に示した図である。FIG. 3 is a diagram schematically illustrating an example of DRAM access corresponding to a case where the transfer direction of image data is different in the image processing apparatus of the present embodiment. 本実施形態の画像処理装置に備えた処理ブロックにおけるDRAMのバンクアクセスに起因するロス時間の一例を模式的に示した図である。It is the figure which showed typically an example of the loss time resulting from the bank access of DRAM in the processing block with which the image processing apparatus of this embodiment was equipped. 本実施形態の画像処理装置に備えた処理ブロックによる第2の入れ替え処理によってDRAMのバンクアクセスに起因するロス時間を回避する一例を模式的に示した図である。It is the figure which showed typically an example which avoids the loss time resulting from the bank access of DRAM by the 2nd replacement process by the processing block with which the image processing apparatus of this embodiment was equipped.

以下、本発明の実施形態について、図面を参照して説明する。本実施形態においては、例えば、静止画用カメラなどの画像処理装置を本発明のデータ処理装置とし、このデータ処理装置に本発明のデータ転送制御装置を適用した場合の一例について説明する。図1は、本実施形態におけるデータ転送制御装置を適用した画像処理装置の概略構成を示したブロック図である。図1において、画像処理装置1は、イメージセンサ10と、画像転送部21および評価値生成部22を備えた前処理部20と、画像処理部30と、表示処理部40と、表示デバイス41と、カードインタフェース部50と、記録媒体51と、CPU60と、バスアービタ70と、DRAMインタフェース部71と、DRAM72とを備えている。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In this embodiment, for example, an example in which an image processing apparatus such as a still image camera is used as the data processing apparatus of the present invention, and the data transfer control apparatus of the present invention is applied to the data processing apparatus will be described. FIG. 1 is a block diagram illustrating a schematic configuration of an image processing apparatus to which the data transfer control apparatus according to the present embodiment is applied. In FIG. 1, the image processing apparatus 1 includes an image sensor 10, a preprocessing unit 20 including an image transfer unit 21 and an evaluation value generation unit 22, an image processing unit 30, a display processing unit 40, and a display device 41. A card interface unit 50, a recording medium 51, a CPU 60, a bus arbiter 70, a DRAM interface unit 71, and a DRAM 72.

図1に示したように、画像処理装置1内の画像転送部21、評価値生成部22、画像処理部30、表示処理部40、カードインタフェース部50、およびCPU60のそれぞれは、本実施形態のデータ転送制御装置100、データ転送制御装置200、またはデータ転送制御装置300によって共通バスであるデータバス80に接続されている。そして、データバス80に接続されたそれぞれの処理ブロックは、DMA要求などのDRAMへのアクセス要求を、データバス80を介してバスアービタ70に出力し、バスアービタ70に接続されたDRAMインタフェース部71によって制御されるDRAM72からのデータの読み出し、およびDRAM72へのデータの書き込みを行う。なお、データバス80には、各処理ブロックがDRAM72との間でDMAを行うための、DMA要求信号、DMA受け付け信号、読み出し/書き込み制御信号(RW制御信号)、アドレス、およびデータなどの信号が含まれている。   As shown in FIG. 1, the image transfer unit 21, the evaluation value generation unit 22, the image processing unit 30, the display processing unit 40, the card interface unit 50, and the CPU 60 in the image processing apparatus 1 are each of the present embodiment. The data transfer control device 100, the data transfer control device 200, or the data transfer control device 300 is connected to a data bus 80 that is a common bus. Each processing block connected to the data bus 80 outputs a DRAM access request such as a DMA request to the bus arbiter 70 via the data bus 80, and is controlled by the DRAM interface unit 71 connected to the bus arbiter 70. The data is read from the DRAM 72 and the data is written to the DRAM 72. The data bus 80 receives signals such as a DMA request signal, a DMA acceptance signal, a read / write control signal (RW control signal), an address, and data for each processing block to perform DMA with the DRAM 72. include.

イメージセンサ10は、図示しないレンズによって結像された被写体の光学像を光電変換するCCD(Charge Copled Device:電荷結合素子)イメージセンサや、CMOS(Complementary Metal−Oxide Semiconductor:相補型金属酸化膜半導体)イメージセンサに代表されるイメージセンサである。イメージセンサ10は、被写体光に応じた画像信号(以下、「入力画像データ」という)を前処理部20に出力する。   The image sensor 10 is a CCD (Charge Coupled Device) image sensor that photoelectrically converts an optical image of a subject formed by a lens (not shown), or a CMOS (Complementary Metal-Oxide Semiconductor: complementary metal oxide semiconductor). An image sensor represented by an image sensor. The image sensor 10 outputs an image signal corresponding to subject light (hereinafter referred to as “input image data”) to the preprocessing unit 20.

前処理部20は、イメージセンサ10から入力された入力画像データに、キズ補正やシェーディング補正などの前処理を施す処理ブロックである。前処理部20に備えた画像転送部21は、前処理した結果の画像データ(以下、「前処理画像データ」という)を、DRAM72に転送する(書き込む)。また、前処理部20に備えた評価値生成部22は、前処理した前処理画像データに基づいて、自動露出(Auto Exposure:AE)、自動焦点(Auto Focus:AF)、オートホワイトバランス(Auto White Balance:AWB)などの制御を行うための評価値を生成し、生成した評価値をDRAM72に転送する(書き込む)。   The preprocessing unit 20 is a processing block that performs preprocessing such as flaw correction and shading correction on the input image data input from the image sensor 10. The image transfer unit 21 included in the preprocessing unit 20 transfers (writes) image data (hereinafter referred to as “preprocessed image data”) as a result of the preprocessing to the DRAM 72. Further, the evaluation value generation unit 22 included in the preprocessing unit 20 is based on the preprocessed preprocessed image data, and includes automatic exposure (Auto Exposure: AE), automatic focus (Auto Focus: AF), and auto white balance (Auto). An evaluation value for performing control such as White Balance (AWB) is generated, and the generated evaluation value is transferred (written) to the DRAM 72.

画像転送部21および評価値生成部22は、前処理画像データまたは評価値をDRAM72に転送する際に、DRAM72へのDMA要求信号をバスアービタ70に出力する。そして、画像転送部21および評価値生成部22は、DMA要求がバスアービタ70に受け付けられ、DMA受け付け信号が入力された後に、前処理画像データまたは評価値を、バスアービタ70およびDRAMインタフェース部71を介してDRAM72に出力する。   The image transfer unit 21 and the evaluation value generation unit 22 output a DMA request signal to the DRAM 72 to the bus arbiter 70 when transferring the preprocessed image data or the evaluation value to the DRAM 72. Then, after the DMA request is received by the bus arbiter 70 and the DMA acceptance signal is input, the image transfer unit 21 and the evaluation value generation unit 22 send the preprocessed image data or the evaluation value via the bus arbiter 70 and the DRAM interface unit 71. Output to the DRAM 72.

画像処理部30は、DRAM72に記憶している前処理画像データを取得し(読み出し)、ノイズ除去、YC変換処理、リサイズ処理、JPEG圧縮処理などの各種の画像処理を施して、表示用の画像データや記録用の画像データを生成する処理ブロックである。また、画像処理部30は、生成した表示用の画像データおよび記録用の画像データを、再びDRAM72に転送する(書き込む)処理ブロックでもある。   The image processing unit 30 acquires (reads out) preprocessed image data stored in the DRAM 72, performs various image processing such as noise removal, YC conversion processing, resizing processing, and JPEG compression processing to display an image for display. It is a processing block for generating data and image data for recording. The image processing unit 30 is also a processing block that transfers (writes) the generated display image data and recording image data to the DRAM 72 again.

画像処理部30は、前処理画像データをDRAM72から取得する際に、DRAM72へのDMA要求信号をバスアービタ70に出力する。そして、画像処理部30は、DMA要求がバスアービタ70に受け付けられ、DMA受け付け信号が入力された後に、DRAMインタフェース部71およびバスアービタ70を介してDRAM72から前処理画像データを読み出す。   The image processing unit 30 outputs a DMA request signal for the DRAM 72 to the bus arbiter 70 when acquiring preprocessed image data from the DRAM 72. Then, after the DMA request is accepted by the bus arbiter 70 and the DMA acceptance signal is input, the image processing unit 30 reads the preprocessed image data from the DRAM 72 via the DRAM interface unit 71 and the bus arbiter 70.

また、画像処理部30は、表示用の画像データおよび記録用の画像データを、DRAM72に転送する際に、DRAM72へのDMA要求信号をバスアービタ70に出力する。そして、画像処理部30は、DMA要求がバスアービタ70に受け付けられ、DMA受け付け信号が入力された後に、生成した表示用の画像データおよび記録用の画像データを、バスアービタ70およびDRAMインタフェース部71を介してDRAM72に出力する。   Further, the image processing unit 30 outputs a DMA request signal to the DRAM 72 to the bus arbiter 70 when transferring the display image data and the recording image data to the DRAM 72. Then, after the DMA request is received by the bus arbiter 70 and the DMA acceptance signal is input, the image processing unit 30 transmits the generated display image data and recording image data via the bus arbiter 70 and the DRAM interface unit 71. Output to the DRAM 72.

表示処理部40は、DRAM72に記憶している表示用の画像データを取得し(読み出し)、取得した表示用の画像データにOSD(On−Screen Display)表示用のデータを重畳する処理などの表示処理を施して表示デバイス41に出力する処理ブロックである。   The display processing unit 40 acquires (reads) display image data stored in the DRAM 72, and displays such as processing for superimposing OSD (On-Screen Display) display data on the acquired display image data. It is a processing block that performs processing and outputs it to the display device 41.

表示処理部40は、表示用の画像データをDRAM72から取得する際に、DRAM72へのDMA要求信号をバスアービタ70に出力する。そして、表示処理部40は、DMA要求がバスアービタ70に受け付けられ、DMA受け付け信号が入力された後に、DRAMインタフェース部71およびバスアービタ70を介してDRAM72から表示用の画像データを読み出す。そして、読み出した表示用の画像データに表示処理を施した後、表示処理後の画像データを、表示デバイス41に出力する。   When the display processing unit 40 acquires display image data from the DRAM 72, the display processing unit 40 outputs a DMA request signal to the DRAM 72 to the bus arbiter 70. Then, after the DMA request is received by the bus arbiter 70 and the DMA acceptance signal is input, the display processing unit 40 reads display image data from the DRAM 72 via the DRAM interface unit 71 and the bus arbiter 70. Then, after the display process is performed on the read display image data, the image data after the display process is output to the display device 41.

表示デバイス41は、TFT(薄膜トランジスター:Thin Film Transistor)液晶ディスプレイ(LCD:Liquid Crystal Display)や、有機EL(Electro Luminescence)ディスプレイなどの表示デバイスであり、表示処理部40から出力された表示処理後の画像データに応じた画像を表示する。   The display device 41 is a display device such as a TFT (Thin Film Transistor) liquid crystal display (LCD) or an organic EL (Electro Luminescence) display, and after display processing output from the display processing unit 40. An image corresponding to the image data is displayed.

カードインタフェース部50は、DRAM72に記憶している記録用の画像データを取得し(読み出し)、記録媒体51に記録させる処理ブロックである。また、カードインタフェース部50は、記録媒体51に記録している画像データを読み出し、読み出した画像データを、DRAM72に転送する(書き込む)処理ブロックでもある。   The card interface unit 50 is a processing block that acquires (reads out) image data for recording stored in the DRAM 72 and records it on the recording medium 51. The card interface unit 50 is also a processing block that reads image data recorded on the recording medium 51 and transfers (writes) the read image data to the DRAM 72.

カードインタフェース部50は、記録用の画像データをDRAM72から取得する際に、DRAM72へのDMA要求信号をバスアービタ70に出力する。そして、カードインタフェース部50は、DMA要求がバスアービタ70に受け付けられ、DMA受け付け信号が入力された後に、DRAMインタフェース部71およびバスアービタ70を介してDRAM72から記録用の画像データを読み出す。そして、読み出した記録用の画像データを記録媒体51に出力し、記録させる。   The card interface unit 50 outputs a DMA request signal to the DRAM 72 to the bus arbiter 70 when acquiring image data for recording from the DRAM 72. Then, after the DMA request is accepted by the bus arbiter 70 and the DMA acceptance signal is input, the card interface unit 50 reads the image data for recording from the DRAM 72 via the DRAM interface unit 71 and the bus arbiter 70. Then, the read image data for recording is output to the recording medium 51 and recorded.

また、カードインタフェース部50は、記録媒体51から読み出した画像データを、DRAM72に転送する際に、DRAM72へのDMA要求信号を、バスアービタ70に出力する。そして、カードインタフェース部50は、DMA要求がバスアービタ70に受け付けられ、DMA受け付け信号が入力された後に、記録媒体51から読み出した画像データを、バスアービタ70およびDRAMインタフェース部71を介してDRAM72に出力する。   The card interface unit 50 outputs a DMA request signal to the DRAM 72 to the bus arbiter 70 when transferring the image data read from the recording medium 51 to the DRAM 72. Then, after the DMA request is received by the bus arbiter 70 and the DMA acceptance signal is input, the card interface unit 50 outputs the image data read from the recording medium 51 to the DRAM 72 via the bus arbiter 70 and the DRAM interface unit 71. .

記録媒体51は、メモリカードなどの記録媒体であり、カードインタフェース部50から出力された記録用の画像データを記録する。また、カードインタフェース部50によって記録している画像データが読み出される。なお、図1においては、記録媒体51も画像処理装置1の構成要素としているが、記録媒体51は、画像処理装置1に着脱可能な構成である。   The recording medium 51 is a recording medium such as a memory card, and records the recording image data output from the card interface unit 50. The image data recorded by the card interface unit 50 is read out. In FIG. 1, the recording medium 51 is also a component of the image processing apparatus 1, but the recording medium 51 is detachable from the image processing apparatus 1.

CPU60は、画像処理装置1の構成要素、すなわち、画像処理装置1全体を制御する処理ブロックである。CPU60が画像処理装置1のそれぞれの構成要素を制御する際にもDRAM72へのアクセスが行われる。ただし、CPU60がDRAM72から取得する(読み出す)データや、DRAM72に転送する(書き込む)データは、上述した処理ブロックにおける画像データのみではなく、画像処理装置1のそれぞれの構成要素の動作を設定するためのパラメータのデータも含まれる。   The CPU 60 is a processing block that controls the components of the image processing apparatus 1, that is, the entire image processing apparatus 1. The DRAM 72 is also accessed when the CPU 60 controls each component of the image processing apparatus 1. However, the data that the CPU 60 acquires (reads) from the DRAM 72 and the data that is transferred (written) to the DRAM 72 set not only the image data in the processing block described above but also the operation of each component of the image processing apparatus 1. The parameter data is also included.

CPU60がDMAによってDRAM72からデータを取得する際には、DRAM72へのDMA要求信号をバスアービタ70に出力する。そして、CPU60は、DMA要求がバスアービタ70に受け付けられ、DMA受け付け信号が入力された後に、取得するデータをDRAMインタフェース部71およびバスアービタ70を介してDRAM72から読み出す。   When the CPU 60 acquires data from the DRAM 72 by DMA, it outputs a DMA request signal to the DRAM 72 to the bus arbiter 70. Then, after the DMA request is accepted by the bus arbiter 70 and the DMA acceptance signal is input, the CPU 60 reads the acquired data from the DRAM 72 via the DRAM interface unit 71 and the bus arbiter 70.

また、CPU60がDMAによってDRAM72にデータを転送する際には、DRAM72へのDMA要求信号をバスアービタ70に出力する。そして、CPU60は、DMA要求がバスアービタ70に受け付けられ、DMA受け付け信号が入力された後に、転送するデータを、バスアービタ70およびDRAMインタフェース部71を介してDRAM72に出力する。   Further, when the CPU 60 transfers data to the DRAM 72 by DMA, it outputs a DMA request signal to the DRAM 72 to the bus arbiter 70. Then, after the DMA request is accepted by the bus arbiter 70 and the DMA acceptance signal is input, the CPU 60 outputs the data to be transferred to the DRAM 72 via the bus arbiter 70 and the DRAM interface unit 71.

バスアービタ(共通バス調停部)70は、データバス80に接続されている画像処理装置1内の複数の処理ブロックからのDMA要求に応じて、DRAM72へのデータの転送(書き込み)、およびDRAM72からのデータの取得(読み出し)の調停を行う。   The bus arbiter (common bus arbitration unit) 70 transfers (writes) data to the DRAM 72 and receives data from the DRAM 72 in response to DMA requests from a plurality of processing blocks in the image processing apparatus 1 connected to the data bus 80. Arbitrates data acquisition (reading).

より具体的には、バスアービタ70は、それぞれの処理ブロックから入力されたDMA要求信号に応じて、バンクインターリーブや各処理ブロックの優先度に基づいて、各処理ブロックによるDRAM72へのアクセスの調停を行い、DMA要求を受け付ける処理ブロックを決定する。そして、決定した処理ブロックに、DMA受け付け信号を出力する。   More specifically, the bus arbiter 70 arbitrates access to the DRAM 72 by each processing block based on bank interleaving and the priority of each processing block in accordance with the DMA request signal input from each processing block. The processing block that accepts the DMA request is determined. Then, a DMA acceptance signal is output to the determined processing block.

その後、バスアービタ70は、決定した処理ブロックがDRAM72にデータを転送する際には、DRAM72にデータを書き込むことを表すRW制御信号、処理ブロックから入力されたDRAM72のアドレス、および転送するデータを、DRAMインタフェース部71に出力する。また、バスアービタ70は、決定した処理ブロックがDRAM72からデータを取得する際には、DRAM72からデータを読み出すことを表すRW制御信号、および処理ブロックから入力されたDRAM72のアドレスをDRAMインタフェース部71に出力する。その後、DRAMインタフェース部71から入力されたデータ、すなわち、DRAM72から取得したデータを、決定した処理ブロックに出力する。   Thereafter, when the determined processing block transfers data to the DRAM 72, the bus arbiter 70 receives the RW control signal indicating that data is written to the DRAM 72, the address of the DRAM 72 input from the processing block, and the data to be transferred to the DRAM 72. The data is output to the interface unit 71. Further, when the determined processing block acquires data from the DRAM 72, the bus arbiter 70 outputs to the DRAM interface unit 71 an RW control signal indicating that data is read from the DRAM 72 and the address of the DRAM 72 input from the processing block. To do. Thereafter, the data input from the DRAM interface unit 71, that is, the data acquired from the DRAM 72 is output to the determined processing block.

DRAMインタフェース部71は、バスアービタ70から入力されたDRAM72の書き込みまたは読み出しを表すRW制御信号と、DRAM72のアドレスとに基づいて、DRAM72へのデータの書き込みまたはデータの読み出しの制御を行う。すなわち、バスアービタ70によって決定された処理ブロックからのDRAMアクセスに応じた、DRAM72へのデータの書き込みまたはDRAM72からのデータの読み出しを実行する。   The DRAM interface unit 71 controls writing of data to or reading of data from the DRAM 72 based on an RW control signal representing writing or reading of the DRAM 72 input from the bus arbiter 70 and an address of the DRAM 72. That is, data writing to the DRAM 72 or data reading from the DRAM 72 is executed in accordance with the DRAM access from the processing block determined by the bus arbiter 70.

より具体的には、DRAMインタフェース部71は、バスアービタ70から入力されたRW制御信号が、DRAM72への書き込みを表しているときには、バスアービタ70から入力されたデータを、DRAM72に出力する。また、バスアービタ70から入力されたRW制御信号が、DRAM72の読み出しを表しているときには、DRAM72から出力されたデータを、バスアービタ70に出力する。   More specifically, the DRAM interface unit 71 outputs the data input from the bus arbiter 70 to the DRAM 72 when the RW control signal input from the bus arbiter 70 represents writing to the DRAM 72. When the RW control signal input from the bus arbiter 70 indicates reading of the DRAM 72, the data output from the DRAM 72 is output to the bus arbiter 70.

DRAM72は、DRAMインタフェース部71によってアクセス制御され、画像処理装置1内のそれぞれの処理ブロックの処理過程における様々なデータを記憶するメモリである。   The DRAM 72 is a memory that is access-controlled by the DRAM interface unit 71 and stores various data in the process of each processing block in the image processing apparatus 1.

このように、画像処理装置1内の各処理ブロックは、それぞれの処理ブロックがDRAM72にアクセスする際に、バスアービタ70にDMA要求を出す。そして、バスアービタ70にDMA要求が受け付けられた後に、データバス80、バスアービタ70、およびDRAMインタフェース部71を介して、DRAM72へのデータ書き込み、またはDRAM72からのデータ読み出しを行う。   As described above, each processing block in the image processing apparatus 1 issues a DMA request to the bus arbiter 70 when each processing block accesses the DRAM 72. Then, after the DMA request is received by the bus arbiter 70, data is written to the DRAM 72 or data is read from the DRAM 72 via the data bus 80, the bus arbiter 70, and the DRAM interface unit 71.

<第1の入れ替え処理>
ここで、画像処理装置1内の各処理ブロックにおけるDRAM72へのアクセス方法について説明するため、図2および図3を参照して画像処理装置1の動作の一例について説明する。画像処理装置1では、画像処理装置1の機能や画像処理装置1を設計、製造する際の制約などによって、現在の画像を反転する処理(以下、「反転処理」という)を行う場合がある。図2は、本実施形態の画像処理装置1における画像の反転処理の一例を示した図である。また、図3は、本実施形態の画像処理装置1における画像の反転処理でのDRAM72へのアクセス方法の一例を模式的に示した図である。
<First replacement process>
Here, in order to describe a method of accessing the DRAM 72 in each processing block in the image processing apparatus 1, an example of the operation of the image processing apparatus 1 will be described with reference to FIGS. The image processing apparatus 1 may perform a process of inverting the current image (hereinafter referred to as “inversion process”) depending on functions of the image processing apparatus 1 and restrictions on designing and manufacturing the image processing apparatus 1. FIG. 2 is a diagram illustrating an example of an image inversion process in the image processing apparatus 1 of the present embodiment. FIG. 3 is a diagram schematically showing an example of an access method to the DRAM 72 in the image inversion processing in the image processing apparatus 1 of the present embodiment.

例えば、画像処理装置1においてイメージセンサ10を配置する基板のレイアウトの制約によって、イメージセンサ10を180°回転した状態で配置しなければならない場合がある。この場合には、画像が上下左右反転した状態でイメージセンサ10に結像されるため、前処理部20がイメージセンサ10から入力された入力画像データを前処理してDRAM72に転送する際には、前処理画像データを上下左右方向に反転処理して出力することになる(図2(d)参照)。また、例えば、画像処理装置1においてレンズなどの光学系に屈折光学系などを用いる場合には、反射ミラーの配置によって、イメージセンサ10に結像される被写体の光学像の方向が、左右反転した状態、上下反転した状態、または上下左右反転した状態など、様々な方向になる場合がある。この場合にも、前処理部20がイメージセンサ10から入力された入力画像データを前処理してDRAM72に転送する際に、前処理画像データを左右方向、上下方向、または上下左右方向に反転処理して出力することになる(図2(b)〜(d)参照)。   For example, in some cases, the image sensor 10 may need to be disposed in a state where the image sensor 10 is rotated by 180 ° due to restrictions on the layout of the substrate on which the image sensor 10 is disposed. In this case, since the image is formed on the image sensor 10 in a state where the image is inverted vertically and horizontally, when the preprocessing unit 20 preprocesses the input image data input from the image sensor 10 and transfers it to the DRAM 72. The preprocessed image data is inverted and output in the vertical and horizontal directions (see FIG. 2D). For example, when a refractive optical system is used as an optical system such as a lens in the image processing apparatus 1, the direction of the optical image of the subject imaged on the image sensor 10 is reversed left and right by the arrangement of the reflection mirror. There may be various directions such as a state, a vertically inverted state, or a vertically and horizontally inverted state. Also in this case, when the preprocessing unit 20 preprocesses the input image data input from the image sensor 10 and transfers the input image data to the DRAM 72, the preprocessing image data is inverted in the horizontal direction, the vertical direction, or the vertical and horizontal directions. (See FIGS. 2B to 2D).

例えば、画像処理装置1において表示デバイス41を配置する基板のレイアウトの制約によって、表示デバイス41を180°回転した状態で配置しなければならない場合がある。この場合には、画像が上下左右反転した状態で表示デバイス41に表示されるため、表示処理部40が表示用の画像データをDRAM72から取得する(読み出す)際に、表示用の画像データを上下左右方向に反転処理し、反転処理した表示用の画像データを表示デバイス41に出力することになる(図2(d)参照)。また、例えば、画像処理装置1における機能として、可動式の表示デバイス41を搭載している場合には、可動部の状況に応じて、表示デバイス41に表示される画像が左右反転した状態、上下反転した状態、または上下左右反転した状態など、様々な方向になる場合がある。この場合にも、表示処理部40が表示用の画像データをDRAM72から取得する(読み出す)際に、可動部の状況に応じて、表示用の画像データを左右方向、上下方向、または上下左右方向に反転処理し、反転処理した表示用の画像データを表示デバイス41に出力することになる(図2(b)〜(d)参照)。   For example, in some cases, the display device 41 may need to be disposed in a state rotated by 180 ° due to restrictions on the layout of the substrate on which the display device 41 is disposed in the image processing apparatus 1. In this case, since the image is displayed on the display device 41 in a state where the image is vertically and horizontally reversed, when the display processing unit 40 acquires (reads out) the display image data from the DRAM 72, the display image data is displayed vertically. Inversion processing is performed in the horizontal direction, and the image data for display subjected to the inversion processing is output to the display device 41 (see FIG. 2D). In addition, for example, when the movable display device 41 is mounted as a function in the image processing apparatus 1, the image displayed on the display device 41 is horizontally reversed depending on the state of the movable unit. There may be various directions such as an inverted state or an up / down / left / right inverted state. Also in this case, when the display processing unit 40 acquires (reads out) display image data from the DRAM 72, the display image data is displayed in the left-right direction, the up-down direction, or the up-down, left-right direction depending on the state of the movable unit. The display image data subjected to the inversion processing is output to the display device 41 (see FIGS. 2B to 2D).

このように、画像処理装置1では、イメージセンサ10の取り付け方向の制約、レンズなどの光学系によって結像される被写体の光学像の方向の制約、表示デバイス41の取り付け方向の制約、および可動式の表示デバイス41において画像を正しく表示させる機能に応じて、画像に対して反転処理を行う必要が出てくる。このため、画像処理装置1に備えたそれぞれの処理ブロックでは、DRAM72にアクセスする際のアドレスを制御することによって、画像データの反転処理を行う。   As described above, in the image processing apparatus 1, restrictions on the mounting direction of the image sensor 10, restrictions on the direction of the optical image of the subject imaged by an optical system such as a lens, restrictions on the mounting direction of the display device 41, and movable type The display device 41 needs to perform an inversion process on the image in accordance with the function of correctly displaying the image. For this reason, each processing block provided in the image processing apparatus 1 performs the inversion processing of the image data by controlling the address when accessing the DRAM 72.

例えば、図3に示したように現在の画像を左右方向に反転処理して表示デバイス41に表示させる場合を考える。入力画像データが、図3(a)に示したような方向でイメージセンサ10から入力された場合、前処理部20および画像処理部30のそれぞれは、画像の左側から右側に向かって順番にDRAM72のアドレスを割り当てて、処理した前処理画像データおよび表示用の画像データをDRAM72に転送する(書き込む)。図3(a)には、画像の左側から順番に、例えば、0,1,2,3,・・・,99という昇順のアドレスを割り当てて、DRAM72に表示用の画像データを転送した状態を示している。その後、表示処理部40は、図3(b)に示したように、左右方向に反転処理した画像を表示デバイス41に表示させるため、画像の右側から左側に向かって順番に、DRAM72に記憶されている表示用の画像データを取得する(読み出す)。つまり、図3(b)に示したように、画像の右側から順番に、例えば、99,98,97,96,・・・,0という降順のアドレスで、記憶されている表示用の画像データを読み出す。このように、DRAM72に記憶されている表示用の画像データをアドレスの順番を逆にして読み出すことによって、画像を左右方向に反転処理することができる。   For example, consider the case where the current image is displayed in the display device 41 after being reversed in the left-right direction as shown in FIG. When the input image data is input from the image sensor 10 in the direction as shown in FIG. 3A, each of the preprocessing unit 20 and the image processing unit 30 is in order from the left side to the right side of the image. And the processed preprocessed image data and display image data are transferred (written) to the DRAM 72. FIG. 3A shows a state in which ascending addresses such as 0, 1, 2, 3,..., 99 are assigned in order from the left side of the image, and display image data is transferred to the DRAM 72. Show. After that, as shown in FIG. 3B, the display processing unit 40 displays the image reversed in the left-right direction on the display device 41, so that the image is stored in the DRAM 72 sequentially from the right side to the left side of the image. The display image data being displayed is acquired (read out). That is, as shown in FIG. 3B, the display image data stored in the descending order of 99, 98, 97, 96,..., For example, in order from the right side of the image. Is read. As described above, the display image data stored in the DRAM 72 is read out in the reverse order of the addresses, whereby the image can be reversed in the horizontal direction.

このとき、上述した例における0〜99のアドレスが、DRAM72の同じバンクに対するアドレスではなく、DRAM72の異なるバンクに対するアドレスである場合には、バンクインターリーブによるDRAM72の同一のバンクに対する連続したアクセスが発生し、DRAM72へのアクセス効率が低下してしまうことがある。図4は、本実施形態の画像処理装置1に備えた処理ブロックにおけるDRAM72のバンクアクセスに起因するロス時間の一例を模式的に示した図である。図4には、反転処理を行わない画像処理部30がDRAM72のアドレスを昇順に指定して表示用の画像データをDRAM72に転送し、反転処理を行う表示処理部40がDRAM72のアドレスを降順に指定して表示用の画像データを取得するDRAM72へのアクセスにおいて、それぞれのアドレスが異なるバンクを指定するアドレスである場合のタイミングを示している。   At this time, if the addresses 0 to 99 in the above example are not addresses for the same bank of the DRAM 72 but addresses for different banks of the DRAM 72, successive accesses to the same bank of the DRAM 72 by bank interleaving occur. The access efficiency to the DRAM 72 may be reduced. FIG. 4 is a diagram schematically illustrating an example of loss time caused by bank access of the DRAM 72 in the processing block provided in the image processing apparatus 1 of the present embodiment. In FIG. 4, the image processing unit 30 that does not perform inversion processing designates the addresses of the DRAM 72 in ascending order and transfers display image data to the DRAM 72, and the display processing unit 40 that performs inversion processing sets the addresses of the DRAM 72 in descending order. In the access to the DRAM 72 that designates and obtains image data for display, the timing when each address is an address that designates a different bank is shown.

図4に示したように、画像処理部30と表示処理部40とが交互にDRAM72へのアクセスを行うと、DRAM72にアクセスする処理ブロックが切り替わるときに、DRAM72の同一のバンクに対する連続したアクセスが発生してしまう。より具体的には、反転処理を行わない画像処理部30がDRAM72のアドレスを昇順に指定することによって、バンクA、バンクB、バンクC、バンクDの順番でDRAM72のそれぞれのバンクにアクセスした後、反転処理を行う表示処理部40がDRAM72のアドレスを降順に指定することによって、バンクD、バンクC、バンクB、バンクAの順番でDRAM72のそれぞれのバンクにアクセスする。これにより、画像処理部30によるバンクDへのアクセスと、表示処理部40によるバンクDへのアクセスとが連続してしまう。このとき、DRAM72は、バンクDへの連続したアクセスを受け付けることができないため、この期間がロス時間となり、DRAM72へのアクセス効率が低下してしまう。   As shown in FIG. 4, when the image processing unit 30 and the display processing unit 40 alternately access the DRAM 72, when the processing block accessing the DRAM 72 is switched, continuous access to the same bank of the DRAM 72 is performed. Will occur. More specifically, after the image processing unit 30 that does not perform inversion processing designates the addresses of the DRAM 72 in ascending order, and accesses the respective banks of the DRAM 72 in the order of bank A, bank B, bank C, and bank D. The display processing unit 40 that performs inversion processing designates the addresses of the DRAM 72 in descending order, thereby accessing the banks of the DRAM 72 in the order of the bank D, the bank C, the bank B, and the bank A. Thereby, the access to the bank D by the image processing unit 30 and the access to the bank D by the display processing unit 40 are continued. At this time, since the DRAM 72 cannot accept continuous access to the bank D, this period becomes a loss time, and the access efficiency to the DRAM 72 decreases.

そこで、各処理ブロックに備えたデータ転送制御装置は、対応する処理ブロックがDRAM72にアクセスする際のバンクの順番を入れ替えることによって、DRAM72の同一のバンクに対する連続したアクセスを回避する。図5は、本実施形態の画像処理装置1に備えた処理ブロックによる第1の入れ替え処理によってDRAM72のバンクアクセスに起因するロス時間を回避する一例を模式的に示した図である。図5には、図4に示したDRAM72のバンクアクセスと同様に、反転処理を行わない画像処理部30がDRAM72のアドレスを昇順に指定して表示用の画像データをDRAM72に転送し、反転処理を行う表示処理部40がDRAM72のアドレスを降順に指定して表示用の画像データを取得するDRAM72へのアクセスにおいて、それぞれのアドレスが異なるバンクを指定するアドレスである場合のタイミングを示している。   Therefore, the data transfer control device provided in each processing block avoids continuous access to the same bank of the DRAM 72 by changing the order of the banks when the corresponding processing block accesses the DRAM 72. FIG. 5 is a diagram schematically illustrating an example of avoiding the loss time due to the bank access of the DRAM 72 by the first replacement process by the processing block provided in the image processing apparatus 1 of the present embodiment. 5, similar to the bank access of the DRAM 72 shown in FIG. 4, the image processing unit 30 that does not perform the inversion process designates the addresses of the DRAM 72 in ascending order and transfers the image data for display to the DRAM 72. In the access to the DRAM 72 in which the display processing unit 40 that performs the above operation specifies the addresses of the DRAM 72 in descending order and acquires display image data, the timing when each address is an address that designates a different bank is shown.

図5に示したように、画像処理部30と表示処理部40とが交互にDRAM72へのアクセスを行うと、図4に示したDRAM72のバンクアクセスと同様に、DRAM72にアクセスする処理ブロックが切り替わるときに、DRAM72の同一のバンクに対する連続したアクセスが発生してしまう。しかし、図5に示したDRAM72のバンクアクセスでは、表示処理部40に備えたデータ転送制御装置200が、DRAM72のそれぞれのバンクに対するアクセスの順番を入れ替える。これにより、表示処理部40は、バンクインターリーブによるDRAM72の同一のバンクに対する連続したアクセスを回避することができる。   As shown in FIG. 5, when the image processing unit 30 and the display processing unit 40 alternately access the DRAM 72, the processing block for accessing the DRAM 72 is switched, similar to the bank access of the DRAM 72 shown in FIG. Sometimes, continuous access to the same bank of the DRAM 72 occurs. However, in the bank access of the DRAM 72 shown in FIG. 5, the data transfer control device 200 provided in the display processing unit 40 changes the order of access to each bank of the DRAM 72. Thereby, the display processing unit 40 can avoid continuous access to the same bank of the DRAM 72 by bank interleaving.

より具体的には、図4に示したDRAM72のバンクアクセスと同様に、反転処理を行わない画像処理部30がDRAM72のアドレスを昇順に指定することによって、バンクA、バンクB、バンクC、バンクDの順番でDRAM72のそれぞれのバンクにアクセスした後、反転処理を行わない表示処理部40がDRAM72のアドレスを降順に指定することによって、バンクD、バンクC、バンクB、バンクAの順番でDRAM72のそれぞれのバンクにアクセスする。これにより、図4に示したDRAM72のバンクアクセスと同様に、画像処理部30によるバンクDへのアクセスと、表示処理部40によるバンクDへのアクセスとが連続してしまう。このとき、表示処理部40に備えたデータ転送制御装置200は、DRAM72のそれぞれのバンクにアクセスする順番を、画像処理部30と同様のバンクA、バンクB、バンクC、バンクDの順番に入れ替える。これにより、反転処理を行わない画像処理部30と反転処理を行う表示処理部40とが交互にDRAM72へのアクセスを行う場合でも、DRAM72の同一のバンクに対する連続したアクセスを回避することができる。   More specifically, as in the bank access of the DRAM 72 shown in FIG. 4, the image processing unit 30 that does not perform the inversion process designates the addresses of the DRAM 72 in ascending order, so that the bank A, bank B, bank C, bank After accessing each bank of the DRAM 72 in the order of D, the display processing unit 40 that does not perform the inversion processing designates the addresses of the DRAM 72 in descending order, so that the DRAM 72 in the order of the bank D, bank C, bank B, and bank A. Access each bank. Accordingly, similarly to the bank access of the DRAM 72 shown in FIG. 4, the access to the bank D by the image processing unit 30 and the access to the bank D by the display processing unit 40 are continued. At this time, the data transfer control device 200 provided in the display processing unit 40 changes the order of accessing each bank of the DRAM 72 to the order of the bank A, the bank B, the bank C, and the bank D similar to the image processing unit 30. . Thereby, even when the image processing unit 30 that does not perform the inversion process and the display processing unit 40 that performs the inversion process alternately access the DRAM 72, it is possible to avoid continuous access to the same bank of the DRAM 72.

このように、画像処理装置1内の各処理ブロックに備えたデータ転送制御装置は、対応する処理ブロックがDRAM72にアクセスする際のバンクの順番を、他の処理ブロックがDRAM72にアクセスする際のバンクの順番と同じ順番になるように入れ替える。これにより、それぞれの処理ブロックがDRAM72にアクセスする際のバンクの順番が、画像処理装置1内の全ての処理ブロックで同じになる。これにより、画像処理装置1内に反転処理を行わない処理ブロックと反転処理を行う処理ブロックとが混在し、DRAM72に対して複数の処理ブロックがアクセスした場合でも、バンクインターリーブによるDRAM72の同一のバンクに対する連続したアクセスが発生しなくなり、ロス時間によるDRAM72へのアクセス効率の低下を抑えることができる。   As described above, the data transfer control device provided in each processing block in the image processing apparatus 1 determines the bank order when the corresponding processing block accesses the DRAM 72, and the bank when the other processing block accesses the DRAM 72. Swap so that they are in the same order as As a result, the bank order when each processing block accesses the DRAM 72 is the same for all processing blocks in the image processing apparatus 1. As a result, processing blocks that do not perform inversion processing and processing blocks that perform inversion processing coexist in the image processing apparatus 1, and even when a plurality of processing blocks access the DRAM 72, the same bank of the DRAM 72 by bank interleaving is used. Therefore, it is possible to suppress a decrease in access efficiency to the DRAM 72 due to a loss time.

次に、画像処理装置1内の各処理ブロックに備えたデータ転送制御装置について説明する。なお、データ転送制御装置100、データ転送制御装置200、およびデータ転送制御装置300は、データを入出力する方向が異なるが、データを入出力する際の考え方は同様である。従って、以下の説明においては、代表して画像処理装置1内の画像転送部21、評価値生成部22、および画像処理部30に備えたデータ転送制御装置100について説明する。なお、以下の説明においては、画像転送部21が出力する前処理画像データ、評価値生成部22が出力する評価値、画像処理部30が出力する表示用の画像データおよび記録用の画像データをまとめて、「画像データ」という。   Next, a data transfer control device provided for each processing block in the image processing apparatus 1 will be described. The data transfer control device 100, the data transfer control device 200, and the data transfer control device 300 have different directions for inputting / outputting data, but the concept for inputting / outputting data is the same. Therefore, in the following description, the data transfer control device 100 provided in the image transfer unit 21, the evaluation value generation unit 22, and the image processing unit 30 in the image processing apparatus 1 will be described as a representative. In the following description, the preprocessed image data output from the image transfer unit 21, the evaluation value output from the evaluation value generation unit 22, the display image data and the recording image data output from the image processing unit 30 are described. Collectively, it is called “image data”.

図6は、本実施形態の画像処理装置1に備えたデータ転送制御装置100の概略構成を示したブロック図である。図6に示したように、データ転送制御装置100は、動作モードレジスタ101と、パッキング部110と、バッファライト制御部120と、データバッファ130と、アドレスバッファ140と、バッファリード制御部150と、バスインタフェース部160と、を備えている。   FIG. 6 is a block diagram showing a schematic configuration of the data transfer control device 100 provided in the image processing apparatus 1 of the present embodiment. As shown in FIG. 6, the data transfer control device 100 includes an operation mode register 101, a packing unit 110, a buffer write control unit 120, a data buffer 130, an address buffer 140, a buffer read control unit 150, A bus interface unit 160.

データ転送制御装置100は、データバス80を介してDRAM72に画像データを転送する(書き込む)ためのDMA要求信号を、データバス80を介してバスアービタ70に出力する。このとき、データ転送制御装置100は、DRAM72にアクセスするバンクの順番が、予め定めた順番で連続するように、DRAM72に転送する複数の画像データをまとめてから、DMA要求信号をバスアービタ70に出力する。そして、データ転送制御装置100は、DMA要求がバスアービタ70に受け付けられ、DMA受け付け信号が入力された後に、まとめた画像データを、予め定めたバンクの順番で連続するように、データバス80を介してバスアービタ70に出力する。これにより、データ転送制御装置100からのDMAに応じて、バスアービタ70およびDRAMインタフェース部71が動作し、データ転送制御装置100に指定されたDRAM72のアドレスに対応する記憶領域に、データ転送制御装置100から出力された画像データが書き込まれる。   The data transfer control device 100 outputs a DMA request signal for transferring (writing) image data to the DRAM 72 via the data bus 80 to the bus arbiter 70 via the data bus 80. At this time, the data transfer control device 100 outputs a DMA request signal to the bus arbiter 70 after collecting a plurality of image data to be transferred to the DRAM 72 so that the order of banks accessing the DRAM 72 is continuous in a predetermined order. To do. Then, after the DMA request is accepted by the bus arbiter 70 and the DMA acceptance signal is input, the data transfer control device 100 receives the collected image data via the data bus 80 so as to be continuous in a predetermined bank order. To the bus arbiter 70. As a result, the bus arbiter 70 and the DRAM interface unit 71 operate in accordance with the DMA from the data transfer control device 100, and the data transfer control device 100 is stored in the storage area corresponding to the address of the DRAM 72 designated by the data transfer control device 100. The image data output from is written.

以下の説明においては、データ転送制御装置100が画像データを転送する先のDRAM72のアドレス空間が、4つのバンク(バンクA、バンクB、バンクC、およびバンクD)で構成されている場合について説明する。また、以下の説明においては、データ転送制御装置100による1回のDMAで、DRAM72の4つのバンクにそれぞれ1回ずつ連続してアクセスするバンクインターリーブでのアクセスを行う、つまり、DRAM72の4つのバンクに対する連続したアクセスを、DMAの1回の転送単位とする場合について説明する。   In the following description, the case where the address space of the DRAM 72 to which the data transfer control device 100 transfers image data is composed of four banks (bank A, bank B, bank C, and bank D) will be described. To do. In the following description, one DMA by the data transfer control device 100 performs access by bank interleaving for successively accessing each of the four banks of the DRAM 72, that is, four banks of the DRAM 72. A case will be described in which consecutive accesses to are used as one DMA transfer unit.

動作モードレジスタ101は、データ転送制御装置100がDMAによってDRAM72にアクセスする際の動作に関する情報、つまり、動作モードの情報が設定される。この動作モードの情報には、例えば、DRAM72のそれぞれのバンクにアクセスする順番を入れ替えるための情報、入力された画像データを予め定めた単位にまとめる(パッキングする)ときの画像データの順番を入れ替えるための情報、DRAM72の水平方向と垂直方向のアドレス発生順番を入れ替えるための情報などが含まれている。そして、動作モードレジスタ101は、設定された動作モードの情報を、パッキング部110に出力する。例えば、反転なし、左右反転、上下反転、上下左右反転などの反転処理における動作モードの情報を、パッキング部110に出力する。   In the operation mode register 101, information related to the operation when the data transfer control device 100 accesses the DRAM 72 by DMA, that is, information on the operation mode is set. The information on the operation mode includes, for example, information for changing the order of accessing the banks of the DRAM 72 and the order of the image data when the input image data is collected (packed) into a predetermined unit. And information for switching the address generation order of the DRAM 72 in the horizontal direction and the vertical direction. Then, the operation mode register 101 outputs information on the set operation mode to the packing unit 110. For example, information on operation modes in inversion processing such as no inversion, left-right inversion, up-down inversion, up-down, left-right inversion, and the like is output to the packing unit 110.

動作モードレジスタ101への動作モードの情報の設定は、例えば、CPU60が、データ転送制御装置100がDMAによる画像データの転送を開始する前に、事前に設定しておく。例えば、動作モードとして「反転なし」の反転処理を設定する場合には、画像データをパッキングする順番を昇順に、DRAM72のアドレス発生順番を水平方向に昇順に垂直方向に昇順に設定する。この動作モードでは、バンクにアクセスする順番は昇順となる。また、例えば、動作モードとして「左右反転」の反転処理を設定する場合には、画像データをパッキングする順番を降順に、DRAM72のアドレス発生順番を水平方向に降順に垂直方向に昇順に設定する。この動作モードでは、バンクにアクセスする順番は降順となる。また、例えば、動作モードとして「上下反転」の反転処理を設定する場合には、画像データをパッキングする順番を昇順に、DRAM72のアドレス発生順番を水平方向に昇順に垂直方向に降順に設定する。この動作モードでは、バンクにアクセスする順番は昇順となる。また、例えば、動作モードとして「上下左右反転」の反転処理を設定する場合には、画像データをパッキングする順番を降順に、DRAM72のアドレス発生順番を水平方向に降順に垂直方向に降順に設定する。この動作モードでは、バンクにアクセスする順番は降順となる。   For example, the CPU 60 sets the operation mode information in the operation mode register 101 in advance before the data transfer control device 100 starts the transfer of image data by DMA. For example, when the inversion process of “no inversion” is set as the operation mode, the order of packing the image data is set in ascending order, and the address generation order of the DRAM 72 is set in the ascending order in the horizontal direction and the ascending order in the vertical direction. In this operation mode, the order of accessing the banks is ascending. Further, for example, when “reversal of left and right” is set as the operation mode, the order of packing the image data is set in descending order, and the address generation order of the DRAM 72 is set in the horizontal direction in descending order and in the ascending order in the vertical direction. In this operation mode, the bank access order is descending. For example, when “inverted up / down” is set as the operation mode, the packing order of the image data is set in ascending order, and the address generation order of the DRAM 72 is set in the ascending order in the horizontal direction and the descending order in the vertical direction. In this operation mode, the order of accessing the banks is ascending. Further, for example, when the inversion processing of “up / down / left / right inversion” is set as the operation mode, the packing order of the image data is set in descending order, and the address generation order of the DRAM 72 is set in the descending order in the horizontal direction and the descending order in the vertical direction. . In this operation mode, the bank access order is descending.

パッキング部110は、動作モードレジスタ101から入力された動作モードの情報に基づいて、順次入力された画像データをデータバス80のバス幅に併せた単位にまとめて(パッキングして)、バッファライト制御部120に出力する。例えば、画像データが8ビットでデータバス80のバス幅が32ビットである場合には、順次入力された4つの画像データをパッキングして32ビットの画像データにし、パッキングした32ビットの画像データをバッファライト制御部120に出力する。このとき、動作モードレジスタ101から入力された動作モードの情報が「反転なし」である場合には、画像データをパッキングする順番が昇順であるため、順次入力された4つの画像データを、例えば、下位側のビットから詰めて32ビットの画像データにする。また、動作モードレジスタ101から入力された動作モードの情報が「左右反転」である場合には、画像データをパッキングする順番が降順であるため、順次入力された4つの画像データを、例えば、上位側のビットから詰めて32ビットの画像データにする。   Based on the operation mode information input from the operation mode register 101, the packing unit 110 collects (packages) sequentially input image data into units that match the bus width of the data bus 80, and performs buffer write control. To the unit 120. For example, when the image data is 8 bits and the bus width of the data bus 80 is 32 bits, the sequentially input four image data are packed into 32-bit image data, and the packed 32-bit image data is The data is output to the buffer write control unit 120. At this time, when the information of the operation mode input from the operation mode register 101 is “no inversion”, the order of packing the image data is ascending order. The lower bits are packed into 32-bit image data. When the operation mode information input from the operation mode register 101 is “inverted horizontally”, the order of packing the image data is in descending order. From the bits on the side, it is converted into 32-bit image data.

また、パッキング部110は、動作モードレジスタ101から入力された動作モードの情報に基づいて、パッキングした画像データを転送するDRAM72のアドレスを生成し、生成したアドレスをバッファライト制御部120に出力する。例えば、動作モードレジスタ101から入力された動作モードの情報が「反転なし」である場合には、バンクにアクセスする順番が昇順であり、DRAM72のアドレス発生順番が水平方向に昇順で垂直方向に昇順であるため、パッキングした32ビットの画像データを転送するバンクを昇順に指定し、DRAM72の記憶領域を水平方向に昇順に垂直方向に昇順に指定するアドレスを生成する。また、例えば、動作モードレジスタ101から入力された動作モードの情報が「左右反転」である場合には、バンクにアクセスする順番が降順であり、DRAM72のアドレス発生順番が水平方向に降順で垂直方向に昇順であるため、パッキングした32ビットの画像データを転送するバンクを降順に指定し、DRAM72の記憶領域を水平方向に降順に垂直方向に昇順に指定するアドレスを生成する。   The packing unit 110 generates an address of the DRAM 72 to which the packed image data is transferred based on the operation mode information input from the operation mode register 101, and outputs the generated address to the buffer write control unit 120. For example, when the operation mode information input from the operation mode register 101 is “no inversion”, the bank access order is ascending order, and the address generation order of the DRAM 72 is ascending order in the horizontal direction and ascending order in the vertical direction. Therefore, the bank for transferring the packed 32-bit image data is designated in ascending order, and an address for designating the storage area of the DRAM 72 in the ascending order in the horizontal direction and the ascending order in the vertical direction is generated. Further, for example, when the information of the operation mode input from the operation mode register 101 is “left-right inversion”, the order of accessing the bank is descending order, and the address generation order of the DRAM 72 is the descending order in the horizontal direction and the vertical direction. Therefore, the bank for transferring the packed 32-bit image data is designated in descending order, and an address for designating the storage area of the DRAM 72 in the descending order in the horizontal direction and the ascending order in the vertical direction is generated.

バッファライト制御部120は、パッキング部110から入力されたパッキングした画像データを順次データバッファ130に、パッキング部110から入力されたアドレスを順次アドレスバッファ140に、それぞれ保存させる。そして、バッファライト制御部120は、1回のDMAによってDRAM72に転送する量の画像データおよびアドレスの、データバッファ130およびアドレスバッファ140のそれぞれへの保存が完了すると、データバッファ130およびアドレスバッファ140への画像データおよびアドレスの保存が完了したことを表す、すなわち、1回分のDMAの準備が整ったことを表すライト完了通知を、バッファリード制御部150に出力する。以下の説明においては、1回のDMAで転送する画像データおよびアドレスをまとめて、「1転送単位のデータ」という。   The buffer write control unit 120 sequentially stores the packed image data input from the packing unit 110 in the data buffer 130 and the address input from the packing unit 110 in the address buffer 140 sequentially. When the buffer write control unit 120 completes storing the image data and the address to be transferred to the DRAM 72 by one DMA in the data buffer 130 and the address buffer 140, the buffer write control unit 120 transfers the data to the data buffer 130 and the address buffer 140. A write completion notification indicating that the storage of the image data and address is completed, that is, that one DMA is ready is output to the buffer read control unit 150. In the following description, image data and addresses transferred by one DMA are collectively referred to as “one transfer unit data”.

また、バッファライト制御部120は、バッファリード制御部150からデータバッファ130およびアドレスバッファ140のそれぞれに保存した1転送単位のデータの読み出しが完了したことを表すリード完了通知が入力されると、データバッファ130およびアドレスバッファ140の記憶領域に空きができたと判断し、次の1転送単位のデータの保存を開始する。   When the buffer write control unit 120 receives from the buffer read control unit 150 a read completion notification indicating that reading of one transfer unit of data stored in each of the data buffer 130 and the address buffer 140 has been completed, It is determined that the storage areas of the buffer 130 and the address buffer 140 are empty, and the storage of data for the next one transfer unit is started.

データバッファ(バッファ部)130は、バッファライト制御部120からの制御に応じて、バッファライト制御部120から順次入力された複数のパッキングした画像データを一時記憶(保存)する、例えば、SRAM(Static Random Access Memory)などで構成された記憶部である。データバッファ130は、DRAM72の対応するバンクに転送する複数の画像データを保存する記憶領域1301を、DRAM72が持つバンクの数分備えている。例えば、バッファライト制御部120から入力されたパッキングした32ビットの画像データを16個保存する記憶容量の記憶領域1301、すなわち、64バイトの記憶領域1301を、DRAM72が持つ4つのバンク分備えている。そして、データバッファ130は、バッファリード制御部150からの制御に応じて、それぞれの記憶領域1301に保存している画像データを、バッファリード制御部150に順次出力する。   The data buffer (buffer unit) 130 temporarily stores (saves) a plurality of packed image data sequentially input from the buffer write control unit 120 in accordance with control from the buffer write control unit 120, for example, SRAM (Static). Random Access Memory). The data buffer 130 has storage areas 1301 for storing a plurality of image data to be transferred to the corresponding banks of the DRAM 72, as many as the number of banks of the DRAM 72. For example, a storage area 1301 having a storage capacity for storing 16 packed 32-bit image data input from the buffer write control unit 120, that is, a 64-byte storage area 1301, is provided for the four banks of the DRAM 72. . The data buffer 130 sequentially outputs the image data stored in each storage area 1301 to the buffer read control unit 150 in accordance with the control from the buffer read control unit 150.

図6に示したデータ転送制御装置100の構成では、4つの記憶領域1301を1組とした記憶領域群1304を、4つ備えた構成を示している。そして、データ転送制御装置100では、記憶領域群1304に記憶された全ての画像データの転送を、DMAの1回の転送単位とする。この構成によってデータ転送制御装置100は、DRAM72のそれぞれのバンクに16個の32ビットの画像データを連続して転送するバースト転送を、4つのバンクに対して連続して行うDMAを、4回行うことができる。ここで、それぞれの記憶領域1301内に記載した符号は、それぞれの記憶領域1301が対応するDRAM72のバンクを表している。   The configuration of the data transfer control device 100 shown in FIG. 6 shows a configuration including four storage area groups 1304 each including four storage areas 1301. In the data transfer control device 100, transfer of all the image data stored in the storage area group 1304 is set as one transfer unit of DMA. With this configuration, the data transfer control device 100 performs DMA four times for performing burst transfer for continuously transferring 16 32-bit image data to each bank of the DRAM 72 for four banks. be able to. Here, the reference numerals written in the respective storage areas 1301 represent the banks of the DRAM 72 to which the respective storage areas 1301 correspond.

なお、本実施形態では、データバッファ130に画像データを書き込むタイミングと、データバッファ130から画像データを読み出すタイミングとに関しては、何ら限定しない。従って、データバッファ130は、データの書き込みタイミングとデータの読み出しタイミングとを異なるタイミングで制御することができるSRAMであってもよい。つまり、バッファライト制御部120の動作クロックとバッファリード制御部150の動作クロックとが異なることにより、データバッファ130に画像データを書き込むタイミングであるライトクロックと、データバッファ130からの画像データを読み出すタイミングであるリードクロックとが異なるクロックであってもよい。   In the present embodiment, the timing for writing image data to the data buffer 130 and the timing for reading image data from the data buffer 130 are not limited at all. Therefore, the data buffer 130 may be an SRAM that can control the data write timing and the data read timing at different timings. That is, when the operation clock of the buffer write control unit 120 and the operation clock of the buffer read control unit 150 are different, the write clock that is the timing to write image data to the data buffer 130 and the timing to read the image data from the data buffer 130 The read clock may be a different clock.

アドレスバッファ(バッファ部)140は、バッファライト制御部120からの制御に応じて、バッファライト制御部120から入力されたDRAM72のアドレスを一時記憶(保存)する、データバッファ130と同様の構成の記憶部である。すなわち、アドレスバッファ140は、データバッファ130に保存している画像データを転送する(書き込む)先のDRAM72のバンクを指定するためのアドレスを保存する記憶部である。アドレスバッファ140は、データバッファ130における記憶領域1301のそれぞれに対応する記憶領域1401を、データバッファ130と同様の数だけ備えている。ただし、記憶領域1401の記憶容量は、データバッファ130における記憶領域1301と同じ記憶容量とは限らず、記憶領域1301に保存した画像データをDRAM72に転送する際に指定するアドレスを保存するのに必要な記憶容量である。そして、アドレスバッファ140は、バッファリード制御部150からの制御に応じて、それぞれの記憶領域1401に保存しているアドレスを、バッファリード制御部150に出力する。   The address buffer (buffer unit) 140 is a memory having the same configuration as the data buffer 130 for temporarily storing (saving) the address of the DRAM 72 input from the buffer write control unit 120 in accordance with the control from the buffer write control unit 120. Part. That is, the address buffer 140 is a storage unit that stores an address for designating a bank of the DRAM 72 to which image data stored in the data buffer 130 is transferred (written). The address buffer 140 has the same number of storage areas 1401 as the data buffer 130 corresponding to each of the storage areas 1301 in the data buffer 130. However, the storage capacity of the storage area 1401 is not necessarily the same as the storage capacity of the storage area 1301 in the data buffer 130, and is necessary for storing the address specified when transferring the image data stored in the storage area 1301 to the DRAM 72. Storage capacity. The address buffer 140 outputs the address stored in each storage area 1401 to the buffer read control unit 150 in accordance with the control from the buffer read control unit 150.

図6に示したデータ転送制御装置100の構成では、データバッファ130と同様に、4つの記憶領域1401を1組とした記憶領域群1404を、4つ備えた構成を示している。ここでも、それぞれの記憶領域1401内に記載した符号は、それぞれの記憶領域1401が対応するDRAM72のバンクを表している。   In the configuration of the data transfer control device 100 illustrated in FIG. 6, similarly to the data buffer 130, a configuration in which four storage area groups 1404 each including four storage areas 1401 is provided is illustrated. Here again, the reference numerals written in the respective storage areas 1401 represent the banks of the DRAM 72 to which the respective storage areas 1401 correspond.

なお、本実施形態では、アドレスバッファ140に画像データを書き込むタイミングと、アドレスバッファ140から画像データを読み出すタイミングとに関しても、何ら限定しない。また、データバッファ130とアドレスバッファ140とは、必ずしも個々のバッファで構成するものでなくても良く、同一のSRAM上の異なる記憶領域に、データバッファ領域と、アドレスバッファ領域を設ける構成であってもよい。   In the present embodiment, the timing for writing image data to the address buffer 140 and the timing for reading image data from the address buffer 140 are not limited at all. Further, the data buffer 130 and the address buffer 140 do not necessarily have to be configured by individual buffers, and are configured to provide a data buffer area and an address buffer area in different storage areas on the same SRAM. Also good.

バッファリード制御部150は、バッファライト制御部120からライト完了通知が入力されると、データバッファ130およびアドレスバッファ140の記憶領域に1転送単位のデータの保存が完了したと判断し、データバッファ130に保存されているパッキングした画像データと、アドレスバッファ140に保存されているアドレスとを順次読み出す。そして、バッファリード制御部150は、読み出した画像データとアドレスとをバスインタフェース部160に出力する。   When a write completion notification is input from the buffer write control unit 120, the buffer read control unit 150 determines that the storage of one transfer unit of data has been completed in the storage areas of the data buffer 130 and the address buffer 140, and the data buffer 130 Sequentially read the packed image data stored in the address and the address stored in the address buffer 140. Then, the buffer read control unit 150 outputs the read image data and address to the bus interface unit 160.

また、バッファリード制御部150は、1回のDMAによってDRAM72に転送する量の画像データおよびアドレスを、データバッファ130およびアドレスバッファ140のそれぞれからの読み出しが完了すると、データバッファ130およびアドレスバッファ140からの画像データおよびアドレスの読み出し、すなわち、1転送単位のデータの読み出しが完了したことを表すリード完了通知を、バッファライト制御部120に出力する。これにより、バッファリード制御部150は、データバッファ130およびアドレスバッファ140の記憶領域に空きができたことを、バッファライト制御部120に通知する。   Further, when the reading of the image data and the address to be transferred to the DRAM 72 by one DMA from the data buffer 130 and the address buffer 140 is completed, the buffer read control unit 150 receives the data from the data buffer 130 and the address buffer 140. A read completion notification indicating that the reading of the image data and address, that is, reading of one transfer unit of data has been completed, is output to the buffer write control unit 120. As a result, the buffer read control unit 150 notifies the buffer write control unit 120 that the storage areas of the data buffer 130 and the address buffer 140 are free.

バスインタフェース部160は、画像処理装置1におけるDMAのプロトコルに基づいて、バッファリード制御部150から入力された画像データとアドレスとを、バスアービタ70との間でのやり取り(インタフェース)する。より具体的には、バスインタフェース部160は、DRAM72にアクセスするためのDMA要求信号を、データバス80を介してバスアービタ70に出力する。そして、バスインタフェース部160は、DMA要求がバスアービタ70に受け付けられ、データバス80を介してDMA受け付け信号が入力された後に、バッファリード制御部150から入力された画像データとアドレスとを、データバス80を介してバスアービタ70に出力する。   The bus interface unit 160 exchanges (interfaces) the image data and the address input from the buffer read control unit 150 with the bus arbiter 70 based on the DMA protocol in the image processing apparatus 1. More specifically, the bus interface unit 160 outputs a DMA request signal for accessing the DRAM 72 to the bus arbiter 70 via the data bus 80. Then, after the DMA request is received by the bus arbiter 70 and the DMA reception signal is input via the data bus 80, the bus interface unit 160 receives the image data and the address input from the buffer read control unit 150 as the data bus. The data is output to the bus arbiter 70 via 80.

なお、図6に示したデータ転送制御装置100の構成では、データバッファ130とアドレスバッファ140とが、4回分のDMAを行うことができる記憶領域を備えているため、4回連続でバスアービタ70との間でDMAを行うことができる。   In the configuration of the data transfer control device 100 shown in FIG. 6, the data buffer 130 and the address buffer 140 have a storage area capable of performing DMA four times, so that the bus arbiter 70 DMA can be performed in between.

次に、データ転送制御装置100がバスアービタ70との間で行うDMA動作について説明する。図7は、本実施形態の画像処理装置1に備えたデータ転送制御装置100の第1の入れ替え処理におけるDMA動作の一例を説明する図である。図7には、画像データを出力する際の動作モードとして「反転なし」の反転処理が設定される場合において、データ転送制御装置100がDMAによって画像データを出力する動作を順に示し、併せて、それぞれの動作におけるデータの経路を示している。なお、図7には、説明を容易にするため、データ転送制御装置100の構成要素の内、画像データの出力に関係する構成要素のみを示している。以下の説明においては、画像処理装置1内の画像転送部21に備えたデータ転送制御装置100について説明する。従って、以下の説明における「画像データ」は、画像転送部21が出力する前処理画像データである。   Next, a DMA operation performed between the data transfer control device 100 and the bus arbiter 70 will be described. FIG. 7 is a diagram illustrating an example of a DMA operation in the first replacement process of the data transfer control device 100 provided in the image processing apparatus 1 of the present embodiment. FIG. 7 sequentially shows the operation in which the data transfer control device 100 outputs image data by DMA when the inversion processing of “no inversion” is set as the operation mode when outputting image data. Data paths in each operation are shown. In FIG. 7, only the components related to the output of the image data among the components of the data transfer control device 100 are shown for ease of explanation. In the following description, the data transfer control device 100 provided in the image transfer unit 21 in the image processing apparatus 1 will be described. Therefore, “image data” in the following description is preprocessed image data output by the image transfer unit 21.

まず、図7(a)に示した経路C11の経路で、CPU60が、「反転なし」の反転処理を動作モードとして動作モードレジスタ101に設定する。続いて、画像転送部21がDRAM72のそれぞれのバンクに転送する画像データ(前処理画像データ)が入力されると、図7(a)に示した経路C12の経路で、パッキング部110によってパッキングされた後の画像データが、データバッファ130の対応する記憶領域1301に保存される。図7(a)では、アドレス=0が割り当てられたバンクAの画像データが、データバッファ130の対応する記憶領域1301に保存された状態を示している。なお、このときパッキング部110が生成したアドレスは、アドレスバッファ140の対応する記憶領域1401に保存される。   First, in the path C11 shown in FIG. 7A, the CPU 60 sets the inversion process of “no inversion” in the operation mode register 101 as an operation mode. Subsequently, when image data (preprocessed image data) to be transferred by the image transfer unit 21 to each bank of the DRAM 72 is input, the image data is packed by the packing unit 110 along the path C12 illustrated in FIG. Thereafter, the image data is stored in the corresponding storage area 1301 of the data buffer 130. FIG. 7A shows a state where the image data of bank A to which address = 0 is assigned is stored in the corresponding storage area 1301 of the data buffer 130. Note that the address generated by the packing unit 110 at this time is stored in the corresponding storage area 1401 of the address buffer 140.

同様に、画像転送部21がDRAM72のそれぞれのバンクに転送する画像データ(前処理画像データ)が入力されると、図7(b)に示した経路C13の経路で、パッキング部110によってパッキングされた後のそれぞれの画像データが、データバッファ130の対応する記憶領域1301に保存される。図7(b)では、アドレス=1〜アドレス=3が割り当てられたバンクB〜バンクDの画像データが、データバッファ130の対応する記憶領域1301に保存された状態を示している。なお、このときパッキング部110が生成したそれぞれのアドレスは、アドレスバッファ140の対応するそれぞれの記憶領域1401に保存される。   Similarly, when image data (preprocessed image data) to be transferred by the image transfer unit 21 to each bank of the DRAM 72 is input, the image data is packed by the packing unit 110 along a path C13 illustrated in FIG. Each of the image data after that is stored in the corresponding storage area 1301 of the data buffer 130. FIG. 7B shows a state in which the image data of bank B to bank D to which address = 1 to address = 3 is assigned is stored in the corresponding storage area 1301 of the data buffer 130. At this time, the respective addresses generated by the packing unit 110 are stored in the corresponding storage areas 1401 of the address buffer 140.

続いて、DRAM72のそれぞれのバンクに転送する画像データ(前処理画像データ)がデータバッファ130内の対応する4つの記憶領域1301、すなわち、1転送単位のデータがデータバッファ130内の対応する記憶領域群1304に保存されると、バッファライト制御部120は、図7(b)に示した経路C14の経路で、1回分のDMAの準備が整ったことを表すライト完了通知を、バッファリード制御部150に出力する。   Subsequently, the image data (preprocessed image data) to be transferred to each bank of the DRAM 72 corresponds to four corresponding storage areas 1301 in the data buffer 130, that is, one transfer unit of data corresponds to the corresponding storage area in the data buffer 130. When stored in the group 1304, the buffer write control unit 120 sends a write completion notification indicating that one DMA is ready on the route C14 shown in FIG. 7B to the buffer read control unit. 150.

続いて、バッファリード制御部150は、バッファライト制御部120からライト完了通知が入力されると、バスインタフェース部160と連携して、図7(c)に示した経路C15の経路で、データバッファ130およびアドレスバッファ140に保存された1転送単位のデータを、データバス80を介してバスアービタ70に出力する。   Subsequently, when a write completion notification is input from the buffer write control unit 120, the buffer read control unit 150 cooperates with the bus interface unit 160 in the path C 15 shown in FIG. The data of one transfer unit stored in 130 and the address buffer 140 is output to the bus arbiter 70 via the data bus 80.

より具体的には、まず、バッファリード制御部150が、バッファライト制御部120から入力されたライト完了通知に応じて、バスインタフェース部160にDMA要求信号の出力を依頼する。これにより、バスインタフェース部160は、DRAM72にアクセスするためのDMA要求信号を、データバス80を介してバスアービタ70に出力する。その後、バスアービタ70によってDMA要求が受け付けられ、データバス80を介してDMA受け付け信号がバスインタフェース部160に入力されると、バスインタフェース部160は、データバッファ130およびアドレスバッファ140のそれぞれの読み出しの開始を表す信号を、バッファリード制御部150に出力する。これにより、バッファリード制御部150は、データバッファ130およびアドレスバッファ140に保存された1転送単位のデータを順次読み出して、バスインタフェース部160に出力する。そして、バスインタフェース部160は、バッファリード制御部150から順次入力された1転送単位のデータを、データバス80を介してバスアービタ70に順次出力する。これにより、DRAM72の指定されたアドレスに対応する記憶領域に、1転送単位のデータが書き込まれる。図7(c)では、アドレス=0〜アドレス=3が割り当てられたバンクA〜バンクDの画像データが、データバス80に順次出力される状態を示している。   More specifically, first, the buffer read control unit 150 requests the bus interface unit 160 to output a DMA request signal in response to a write completion notification input from the buffer write control unit 120. As a result, the bus interface unit 160 outputs a DMA request signal for accessing the DRAM 72 to the bus arbiter 70 via the data bus 80. Thereafter, when the DMA request is received by the bus arbiter 70 and a DMA acceptance signal is input to the bus interface unit 160 via the data bus 80, the bus interface unit 160 starts reading each of the data buffer 130 and the address buffer 140. Is output to the buffer read control unit 150. As a result, the buffer read control unit 150 sequentially reads the data of one transfer unit stored in the data buffer 130 and the address buffer 140 and outputs the data to the bus interface unit 160. Then, the bus interface unit 160 sequentially outputs the data for one transfer unit sequentially input from the buffer read control unit 150 to the bus arbiter 70 via the data bus 80. As a result, data for one transfer unit is written in the storage area corresponding to the designated address of the DRAM 72. FIG. 7C shows a state in which the image data of bank A to bank D to which address = 0 to address = 3 are assigned is sequentially output to the data bus 80.

その後、バッファリード制御部150は、データバッファ130およびアドレスバッファ140に保存された1転送単位のデータの読み出しが完了すると、図7(c)に示した経路C16の経路で、1転送単位のデータの読み出しが完了したことを表すリード完了通知を、バッファライト制御部120に出力する。   After that, when the reading of the data for one transfer unit stored in the data buffer 130 and the address buffer 140 is completed, the buffer read control unit 150 performs the data for one transfer unit through the path C16 shown in FIG. A read completion notification indicating that the reading is completed is output to the buffer write control unit 120.

なお、データ転送制御装置100では、上述したように、データバッファ130およびアドレスバッファ140のそれぞれが、4回分のDMAを行うことができる構成である。このため、データ転送制御装置100では、バッファリード制御部150とバスインタフェース部160とが連携してアドレス=0〜アドレス=3が割り当てられたバンクA〜バンクDの画像データをDMAで転送している最中でも、次のDMAで転送する1転送単位のデータを、データバッファ130およびアドレスバッファ140のそれぞれに保存することができる。   In the data transfer control device 100, as described above, each of the data buffer 130 and the address buffer 140 is configured to perform four DMAs. Therefore, in the data transfer control device 100, the buffer read control unit 150 and the bus interface unit 160 cooperate to transfer the image data of the banks A to D to which the address = 0 to the address = 3 are allocated by DMA. In the meantime, data of one transfer unit transferred by the next DMA can be stored in each of the data buffer 130 and the address buffer 140.

より具体的には、DMAで転送している最中に、図7(d)に示した経路C17の経路で、画像転送部21がDRAM72のそれぞれのバンクに転送する次の画像データ(前処理画像データ)が入力された場合でも、パッキング部110によってパッキングされた後のそれぞれの画像データを、データバッファ130の対応する記憶領域1301に保存することができる。図7(d)では、アドレス=4〜アドレス=7が割り当てられたバンクA〜バンクDの画像データ(2回目のDMAで転送される画像データ)と、アドレス=8〜アドレス=11が割り当てられたバンクA〜バンクDの画像データ(3回目のDMAで転送される画像データ)とが、データバッファ130の対応する記憶領域1301に保存された状態を示している。なお、このときパッキング部110が生成したそれぞれのアドレスは、アドレスバッファ140の対応するそれぞれの記憶領域1401に保存される。   More specifically, during the transfer by DMA, the next image data (pre-processing) that the image transfer unit 21 transfers to each bank of the DRAM 72 through the path C17 shown in FIG. Even when (image data) is input, each image data after being packed by the packing unit 110 can be stored in the corresponding storage area 1301 of the data buffer 130. In FIG. 7D, image data of bank A to bank D (image data transferred by the second DMA) to which address = 4 to address = 7 is assigned, and address = 8 to address = 11 are assigned. The image data of bank A to bank D (image data transferred by the third DMA) is stored in the corresponding storage area 1301 of the data buffer 130. At this time, the respective addresses generated by the packing unit 110 are stored in the corresponding storage areas 1401 of the address buffer 140.

そして、バッファライト制御部120は、DRAM72のそれぞれのバンクに転送する1転送単位のデータがデータバッファ130内の対応する記憶領域群1304に保存される毎に、図7(d)に示した経路C18の経路でライト完了通知をバッファリード制御部150に出力する。これにより、データ転送制御装置100は、アドレス=0〜アドレス=3が割り当てられたバンクA〜バンクDの画像データのDMAによる転送が完了した後、引き続き、バッファリード制御部150とバスインタフェース部160とが連携して、2回目のDMAの転送および3回目のDMAの転送を、順次行うことができる。   The buffer write control unit 120 stores the path shown in FIG. 7D every time one transfer unit of data to be transferred to each bank of the DRAM 72 is stored in the corresponding storage area group 1304 in the data buffer 130. A write completion notification is output to the buffer read control unit 150 via the path C18. Thereby, the data transfer control device 100 continues the buffer read control unit 150 and the bus interface unit 160 after the transfer of the image data of the banks A to D to which the address = 0 to the address = 3 is assigned by the DMA. And the second DMA transfer and the third DMA transfer can be sequentially performed.

図8は、本実施形態の画像処理装置1に備えたデータ転送制御装置100による第1の入れ替え処理のDMA動作における画像データの転送タイミングの一例を模式的に示した図である。図8には、図7に示したDMA動作においてデータバッファ130に保存される画像データと、データバス80に出力される画像データとのタイミングを示している。   FIG. 8 is a diagram schematically showing an example of image data transfer timing in the DMA operation of the first replacement processing by the data transfer control device 100 provided in the image processing apparatus 1 of the present embodiment. FIG. 8 shows the timing of the image data stored in the data buffer 130 and the image data output to the data bus 80 in the DMA operation shown in FIG.

上述したように、データ転送制御装置100は、1回のDMAの転送において、DRAM72の4つのバンクにそれぞれ1回ずつ連続してアクセスするバンクインターリーブのアクセスを行う。そして、図7に示したDMA動作では、反転処理を行わない。このため、データ転送制御装置100のデータバッファ130には、DRAM72のアドレスを昇順に割り当てたそれぞれのバンクの画像データが、反転処理を行わずに保存される。そして、データ転送制御装置100のバッファリード制御部150およびバスインタフェース部160は、DRAM72のバンクA〜バンクDに転送する画像データが揃う毎に、DRAM72のアドレスを昇順に割り当てたバンクA、バンクB、バンクC、バンクDの順番で、データバッファ130に保存された画像データをデータバス80に出力する。   As described above, the data transfer control device 100 performs bank interleaved access for successively accessing each of the four banks of the DRAM 72 once in each DMA transfer. In the DMA operation shown in FIG. 7, the inversion process is not performed. Therefore, the image data of each bank to which the addresses of the DRAM 72 are assigned in ascending order is stored in the data buffer 130 of the data transfer control device 100 without performing inversion processing. Then, the buffer read control unit 150 and the bus interface unit 160 of the data transfer control device 100, each time the image data to be transferred to the bank A to the bank D of the DRAM 72 is prepared, the bank A and bank B to which the addresses of the DRAM 72 are assigned in ascending order. The image data stored in the data buffer 130 is output to the data bus 80 in the order of bank C and bank D.

より具体的には、図8に示したように、データ転送制御装置100は、昇順にアドレス=0〜アドレス=3を割り当てたバンクA〜バンクDの画像データをデータバッファ130に保存した後、このアドレス=0〜アドレス=3を割り当てたバンクA〜バンクDの画像データを、データバス80に順次出力する。その後、図8に示したように、データ転送制御装置100は、昇順にアドレス=4〜アドレス=7を割り当てたバンクA〜バンクDの画像データをデータバッファ130に保存した後、このアドレス=4〜アドレス=7を割り当てたバンクA〜バンクDの画像データを、データバス80に順次出力する。また、その後、図8に示したように、データ転送制御装置100は、昇順にアドレス=8〜アドレス=11を割り当てたバンクA〜バンクDの画像データをデータバッファ130に保存した後、このアドレス=8〜アドレス=11を割り当てたバンクA〜バンクDの画像データを、データバス80に順次出力する。   More specifically, as illustrated in FIG. 8, the data transfer control device 100 stores the image data of the banks A to D to which the addresses = 0 to 0 = 3 are assigned in ascending order in the data buffer 130, The image data of bank A to bank D to which this address = 0 to address = 3 is assigned is sequentially output to the data bus 80. Thereafter, as shown in FIG. 8, the data transfer control device 100 stores the image data of the banks A to D to which the addresses = 4 to addresses = 7 are assigned in ascending order in the data buffer 130, and then the address = 4 The image data of bank A to bank D to which address = 7 is assigned are sequentially output to the data bus 80. Thereafter, as shown in FIG. 8, the data transfer control device 100 stores the image data of the banks A to D to which the addresses = 8 to addresses = 11 are assigned in ascending order in the data buffer 130, and then stores the addresses. The image data of bank A to bank D to which = 8 to address = 11 are assigned is sequentially output to the data bus 80.

次に、データ転送制御装置100がバスアービタ70との間で行うDMAの別の動作について説明する。図9は、本実施形態の画像処理装置1に備えたデータ転送制御装置100の第1の入れ替え処理におけるDMA動作の別の一例を説明する図である。図9には、画像データを出力する際の動作モードとして「左右反転」の反転処理が設定される場合において、データ転送制御装置100がDMAによって画像データを出力する動作を順に示し、併せて、それぞれの動作におけるデータの経路を示している。なお、図9には、図7に示したDMA動作と同様に、説明を容易にするため、データ転送制御装置100の構成要素の内、画像データの出力に関係する構成要素のみを示している。以下の説明においては、図7に示したDMA動作と同様に、画像処理装置1内の画像転送部21に備えたデータ転送制御装置100について説明する。   Next, another DMA operation performed by the data transfer control device 100 with the bus arbiter 70 will be described. FIG. 9 is a diagram illustrating another example of the DMA operation in the first replacement process of the data transfer control device 100 provided in the image processing apparatus 1 of the present embodiment. FIG. 9 shows in sequence the operation in which the data transfer control device 100 outputs image data by DMA when the inversion processing of “horizontal inversion” is set as the operation mode when outputting image data. Data paths in each operation are shown. 9 shows only the components related to the output of the image data among the components of the data transfer control device 100 for ease of explanation, as in the DMA operation shown in FIG. . In the following description, the data transfer control device 100 provided in the image transfer unit 21 in the image processing apparatus 1 will be described in the same manner as the DMA operation shown in FIG.

まず、図9(a)に示した経路C21の経路で、CPU60が、「左右反転」の反転処理を動作モードとして動作モードレジスタ101に設定する。続いて、画像転送部21がDRAM72のそれぞれのバンクに転送する画像データ(前処理画像データ)が入力されると、図9(a)に示した経路C22の経路で、パッキング部110によってパッキングされた後の画像データが、データバッファ130の対応する記憶領域1301に保存される。図9(a)では、アドレス=11が割り当てられたバンクDの画像データが、データバッファ130の対応する記憶領域1301に保存された状態を示している。なお、このときパッキング部110が生成したアドレスは、アドレスバッファ140の対応する記憶領域1401に保存される。   First, in the path C21 shown in FIG. 9A, the CPU 60 sets the inversion process of “horizontal inversion” in the operation mode register 101 as an operation mode. Subsequently, when image data (preprocessed image data) to be transferred by the image transfer unit 21 to each bank of the DRAM 72 is input, the image data is packed by the packing unit 110 along a path C22 illustrated in FIG. Thereafter, the image data is stored in the corresponding storage area 1301 of the data buffer 130. FIG. 9A shows a state in which the image data of the bank D to which the address = 11 is assigned is stored in the corresponding storage area 1301 of the data buffer 130. Note that the address generated by the packing unit 110 at this time is stored in the corresponding storage area 1401 of the address buffer 140.

同様に、画像転送部21がDRAM72のそれぞれのバンクに転送する画像データ(前処理画像データ)が入力されると、図9(b)に示した経路C23の経路で、パッキング部110によってパッキングされた後のそれぞれの画像データが、データバッファ130の対応する記憶領域1301に保存される。図9(b)では、アドレス=10〜アドレス=8が割り当てられたバンクC〜バンクAの画像データが、データバッファ130の対応する記憶領域1301に保存された状態を示している。なお、このときパッキング部110が生成したそれぞれのアドレスは、アドレスバッファ140の対応するそれぞれの記憶領域1401に保存される。   Similarly, when image data (preprocessed image data) transferred by the image transfer unit 21 to each bank of the DRAM 72 is input, the image data is packed by the packing unit 110 along the path C23 shown in FIG. 9B. Each of the image data after that is stored in the corresponding storage area 1301 of the data buffer 130. FIG. 9B shows a state where the image data of bank C to bank A to which address = 10 to address = 8 is assigned is stored in the corresponding storage area 1301 of the data buffer 130. At this time, the respective addresses generated by the packing unit 110 are stored in the corresponding storage areas 1401 of the address buffer 140.

続いて、DRAM72のそれぞれのバンクに転送する画像データ(前処理画像データ)がデータバッファ130内の対応する4つの記憶領域1301、すなわち、1転送単位のデータがデータバッファ130内の対応する記憶領域群1304に保存されると、バッファライト制御部120は、図7に示したDMA動作と同様に、図9(b)に示した経路C24の経路で、ライト完了通知をバッファリード制御部150に出力する。   Subsequently, the image data (preprocessed image data) to be transferred to each bank of the DRAM 72 corresponds to four corresponding storage areas 1301 in the data buffer 130, that is, one transfer unit of data corresponds to the corresponding storage area in the data buffer 130. When stored in the group 1304, the buffer write control unit 120 sends a write completion notification to the buffer read control unit 150 through the path C24 illustrated in FIG. 9B, similarly to the DMA operation illustrated in FIG. Output.

続いて、バッファリード制御部150は、バッファライト制御部120からライト完了通知が入力されると、図7に示したDMA動作と同様に、バスインタフェース部160と連携して、図9(c)に示した経路C25の経路で、データバッファ130およびアドレスバッファ140に保存された1転送単位のデータを、データバス80を介してバスアービタ70に出力する。   Subsequently, when a write completion notification is input from the buffer write control unit 120, the buffer read control unit 150 cooperates with the bus interface unit 160 in a manner similar to the DMA operation illustrated in FIG. The data of one transfer unit stored in the data buffer 130 and the address buffer 140 is output to the bus arbiter 70 via the data bus 80 through the path C25 shown in FIG.

より具体的には、まず、バッファリード制御部150が、バッファライト制御部120から入力されたライト完了通知に応じて、バスインタフェース部160にDMA要求信号の出力を依頼し、バスインタフェース部160は、DRAM72にアクセスするためのDMA要求信号を、データバス80を介してバスアービタ70に出力する。その後、バスアービタ70によってDMA要求が受け付けられ、DMA受け付け信号が入力されると、バスインタフェース部160は、1転送単位のデータの読み出しの開始を表す信号をバッファリード制御部150に出力し、バッファリード制御部150が、データバッファ130およびアドレスバッファ140に保存された1転送単位のデータを順次読み出して、バスインタフェース部160に出力する。そして、バスインタフェース部160は、バッファリード制御部150から順次入力された1転送単位のデータを、データバス80を介してバスアービタ70に順次出力する。これにより、DRAM72の指定されたアドレスに対応する記憶領域に、1転送単位のデータが書き込まれる。図9(c)では、アドレス=8〜アドレス=11が割り当てられたバンクA〜バンクDの画像データが、データバス80に順次出力される状態を示している。   More specifically, first, the buffer read control unit 150 requests the bus interface unit 160 to output a DMA request signal in response to the write completion notification input from the buffer write control unit 120, and the bus interface unit 160 A DMA request signal for accessing the DRAM 72 is output to the bus arbiter 70 via the data bus 80. Thereafter, when the DMA request is received by the bus arbiter 70 and a DMA acceptance signal is input, the bus interface unit 160 outputs a signal indicating the start of reading of data for one transfer unit to the buffer read control unit 150, and buffer read The control unit 150 sequentially reads data for one transfer unit stored in the data buffer 130 and the address buffer 140 and outputs the data to the bus interface unit 160. Then, the bus interface unit 160 sequentially outputs the data for one transfer unit sequentially input from the buffer read control unit 150 to the bus arbiter 70 via the data bus 80. As a result, data for one transfer unit is written in the storage area corresponding to the designated address of the DRAM 72. FIG. 9C shows a state in which the image data of bank A to bank D to which address = 8 to address = 11 are assigned is sequentially output to the data bus 80.

ここで、図9を見てわかるように、図9(a)に示した経路C22および図9(b)に示した経路C23の経路でデータバッファ130に保存される画像データは、DRAM72のアドレスが降順に割り当てられた、すなわち、アドレス=11、アドレス=10、アドレス=9、アドレス=8の順番で割り当てられたバンクD〜バンクAの画像データである。そして、バッファリード制御部150は、図9(c)に示した経路C25の経路で、データバッファ130に保存される画像データを昇順に、すなわち、アドレス=8、アドレス=9、アドレス=10、アドレス=11の順番で順次読み出して、バスインタフェース部160に出力している。このように、データ転送制御装置100では、データバッファ130に画像データを保存する順番と、データバッファ130から画像データを読み出す順番とを逆にすることによって、画像データの反転処理を行っている。   Here, as can be seen from FIG. 9, the image data stored in the data buffer 130 along the path C22 shown in FIG. 9A and the path C23 shown in FIG. Are assigned in descending order, that is, image data of bank D to bank A assigned in the order of address = 11, address = 10, address = 9, address = 8. Then, the buffer read control unit 150 processes the image data stored in the data buffer 130 in ascending order, that is, address = 8, address = 9, address = 10, in the path C25 illustrated in FIG. The data are sequentially read in the order of address = 11 and output to the bus interface unit 160. As described above, the data transfer control device 100 performs the inversion processing of the image data by reversing the order of storing the image data in the data buffer 130 and the order of reading the image data from the data buffer 130.

その後、バッファリード制御部150は、データバッファ130およびアドレスバッファ140に保存された1転送単位のデータの読み出しが完了すると、図7に示したDMA動作と同様に、図9(c)に示した経路C26の経路で、リード完了通知をバッファライト制御部120に出力する。   Thereafter, when the reading of data for one transfer unit stored in the data buffer 130 and the address buffer 140 is completed, the buffer read control unit 150, as shown in FIG. 9C, is similar to the DMA operation shown in FIG. A read completion notification is output to the buffer write control unit 120 through the path C26.

なお、データ転送制御装置100では、図7に示したDMA動作と同様に、バッファリード制御部150とバスインタフェース部160とが連携してアドレス=8〜アドレス=11が割り当てられたバンクA〜バンクDの画像データをDMAで転送している最中でも、次のDMAで転送する1転送単位のデータを、データバッファ130およびアドレスバッファ140のそれぞれに保存することができる。   In the data transfer control device 100, similarly to the DMA operation shown in FIG. 7, the buffer read control unit 150 and the bus interface unit 160 cooperate with each other in the banks A to B to which addresses = 8 to address = 11 are assigned. Even while the D image data is being transferred by DMA, the data for one transfer unit transferred by the next DMA can be stored in each of the data buffer 130 and the address buffer 140.

より具体的には、DMAで転送している最中に、図9(d)に示した経路C27の経路で、画像転送部21がDRAM72のそれぞれのバンクに転送する次の画像データ(前処理画像データ)が入力された場合でも、パッキング部110によってパッキングされた後のそれぞれの画像データを、データバッファ130の対応する記憶領域1301に保存することができる。図9(d)では、アドレス=7〜アドレス=4が割り当てられたバンクD〜バンクAの画像データ(2回目のDMAで転送される画像データ)と、アドレス=3〜アドレス=0が割り当てられたバンクD〜バンクAの画像データ(3回目のDMAで転送される画像データ)とが、データバッファ130の対応する記憶領域1301に保存された状態を示している。なお、このときパッキング部110が生成したそれぞれのアドレスは、アドレスバッファ140の対応するそれぞれの記憶領域1401に保存される。   More specifically, the next image data (pre-processing) that the image transfer unit 21 transfers to each bank of the DRAM 72 through the path C27 shown in FIG. Even when (image data) is input, each image data after being packed by the packing unit 110 can be stored in the corresponding storage area 1301 of the data buffer 130. In FIG. 9D, the image data of bank D to bank A (image data transferred by the second DMA) to which address = 7 to address = 4 is assigned, and address = 3 to address = 0 are assigned. The image data of the banks D to A (image data transferred by the third DMA) is stored in the corresponding storage area 1301 of the data buffer 130. At this time, the respective addresses generated by the packing unit 110 are stored in the corresponding storage areas 1401 of the address buffer 140.

そして、バッファライト制御部120は、図7に示したDMA動作と同様に、DRAM72のそれぞれのバンクに転送する1転送単位のデータがデータバッファ130内の対応する記憶領域群1304に保存される毎に、図9(d)に示した経路C28の経路でライト完了通知をバッファリード制御部150に出力する。これにより、データ転送制御装置100は、アドレス=8〜アドレス=11が割り当てられたバンクA〜バンクDの画像データのDMAによる転送が完了した後、引き続き、バッファリード制御部150とバスインタフェース部160とが連携して、2回目のDMAの転送および3回目のDMAの転送を、順次行うことができる。   Similarly to the DMA operation shown in FIG. 7, the buffer write control unit 120 stores the data of one transfer unit to be transferred to each bank of the DRAM 72 in the corresponding storage area group 1304 in the data buffer 130. In addition, a write completion notification is output to the buffer read control unit 150 via the route C28 shown in FIG. Thereby, the data transfer control device 100 continues the buffer read control unit 150 and the bus interface unit 160 after the transfer of the image data of the banks A to D to which the address = 8 to the address = 11 is assigned by the DMA. And the second DMA transfer and the third DMA transfer can be sequentially performed.

図10は、本実施形態の画像処理装置1に備えたデータ転送制御装置100による第1の入れ替え処理のDMA動作の別の一例における画像データの転送タイミングの一例を模式的に示した図である。図10には、図9に示したDMAの別の動作においてデータバッファ130に保存される画像データと、データバス80に出力される画像データとのタイミングを示している。   FIG. 10 is a diagram schematically illustrating an example of image data transfer timing in another example of the DMA operation of the first replacement processing by the data transfer control device 100 included in the image processing apparatus 1 of the present embodiment. . FIG. 10 shows the timing of the image data stored in the data buffer 130 and the image data output to the data bus 80 in another operation of the DMA shown in FIG.

図7に示したDMA動作と同様に、データ転送制御装置100は、1回のDMAの転送において、DRAM72の4つのバンクにそれぞれ1回ずつ連続してアクセスするバンクインターリーブのアクセスを行う。そして、図9に示したDMAの別の動作では、左右反転の反転処理を行う。このため、データ転送制御装置100のデータバッファ130には、DRAM72のアドレスを降順に割り当てたそれぞれのバンクの画像データが、図7に示したDMA動作と逆の順番で保存される。そして、データ転送制御装置100のバッファリード制御部150およびバスインタフェース部160は、DRAM72のバンクA〜バンクDに転送する画像データが揃う毎に、図7に示したDMA動作と同様に、DRAM72のアドレスを昇順に割り当てたバンクA、バンクB、バンクC、バンクDの順番で、データバッファ130に保存された画像データをデータバス80に出力する。   Similar to the DMA operation shown in FIG. 7, the data transfer control device 100 performs bank interleaved access for successively accessing each of the four banks of the DRAM 72 in one DMA transfer. In another operation of the DMA shown in FIG. 9, the left / right inversion processing is performed. Therefore, the image data of each bank to which the addresses of the DRAM 72 are assigned in descending order is stored in the data buffer 130 of the data transfer control device 100 in the reverse order of the DMA operation shown in FIG. Then, the buffer read control unit 150 and the bus interface unit 160 of the data transfer control device 100 each time the image data to be transferred to the banks A to D of the DRAM 72 is prepared, as in the DMA operation shown in FIG. The image data stored in the data buffer 130 is output to the data bus 80 in the order of bank A, bank B, bank C, and bank D assigned addresses in ascending order.

より具体的には、図10に示したように、データ転送制御装置100は、降順にアドレス=11〜アドレス=8を割り当てたバンクD〜バンクAの画像データをデータバッファ130に保存した後、このアドレス=8〜アドレス=11を割り当てたバンクA〜バンクDの画像データを降順に読み出して、データバス80に順次出力する。その後、図10に示したように、データ転送制御装置100は、降順にアドレス=7〜アドレス=4を割り当てたバンクD〜バンクAの画像データをデータバッファ130に保存した後、このアドレス=4〜アドレス=7を割り当てたバンクA〜バンクDの画像データを降順に読み出して、データバス80に順次出力する。また、その後、図10に示したように、データ転送制御装置100は、降順にアドレス=4〜アドレス=0を割り当てたバンクD〜バンクAの画像データをデータバッファ130に保存した後、このアドレス=0〜アドレス=3を割り当てたバンクA〜バンクDの画像データを降順に読み出して、データバス80に順次出力する。   More specifically, as illustrated in FIG. 10, the data transfer control device 100 stores the image data of the banks D to A, to which the addresses = 11 to addresses = 8 are assigned in descending order, in the data buffer 130. The image data of the banks A to D to which the address = 8 to address = 11 are assigned are read out in descending order and sequentially output to the data bus 80. Thereafter, as shown in FIG. 10, the data transfer control device 100 stores the image data of the banks D to A, to which addresses = 7 to addresses = 4 are assigned in descending order, in the data buffer 130, and then this address = 4. The image data of bank A to bank D to which address = 7 is assigned are read in descending order and sequentially output to the data bus 80. After that, as shown in FIG. 10, the data transfer control device 100 stores the image data of the banks D to A to which the addresses = 4 to 0 are assigned in descending order in the data buffer 130, and then stores the addresses. The image data of bank A to bank D assigned with = 0 to address = 3 are read in descending order and sequentially output to the data bus 80.

このように、データ転送制御装置100では、画像データをデータバッファ130に保存する際に逆の順番で保存し、反転処理を行うか否かによらず同じ順番でデータバッファ130から画像データを読み出すことによって、画像データの反転処理を行っている。   As described above, in the data transfer control device 100, when the image data is stored in the data buffer 130, the image data is stored in the reverse order, and the image data is read from the data buffer 130 in the same order regardless of whether the inversion process is performed. Thus, the inversion processing of the image data is performed.

上記に述べたように、データ転送制御装置100は、データバッファ130に画像データを保存する際の順番を、動作モードレジスタ101に設定された動作モードの情報に応じて変更することによって、DMAによる転送でデータバス80を介してバスアービタ70に出力する画像データの順番を入れ替え、画像に対する反転処理を行う。これにより、画像処理装置1に備えたそれぞれの処理ブロックがDRAM72にアクセスする際のバンクの順番を、画像処理装置1内の全ての処理ブロックで同じにすることができる。このことにより、画像処理装置1内に反転処理を行わない処理ブロックと反転処理を行う処理ブロックとが混在し、DRAM72に対して複数の処理ブロックがアクセスした場合でも、バンクインターリーブによるDRAM72の同一のバンクに対する連続したアクセスを回避し、ロス時間によるDRAM72へのアクセス効率の低下を抑えることができる。   As described above, the data transfer control device 100 changes the order in which the image data is stored in the data buffer 130 according to the operation mode information set in the operation mode register 101, so that the DMA The order of image data to be output to the bus arbiter 70 via the data bus 80 is changed in the transfer, and an inversion process is performed on the image. Thereby, the order of the banks when the respective processing blocks provided in the image processing apparatus 1 access the DRAM 72 can be made the same in all the processing blocks in the image processing apparatus 1. As a result, processing blocks that do not perform inversion processing and processing blocks that perform inversion processing coexist in the image processing apparatus 1, and even when a plurality of processing blocks access the DRAM 72, the same in the DRAM 72 by bank interleaving. A continuous access to the bank can be avoided, and a decrease in access efficiency to the DRAM 72 due to a loss time can be suppressed.

なお、図7〜図10に示したデータ転送制御装置100におけるDMA動作の一例では、図11(a)に示したように、データバッファ130内のそれぞれの記憶領域1301およびアドレスバッファ140内のそれぞれの記憶領域1401が対応するDRAM72のバンクを予め定めておき、つまり、対応するバンクを固定しておき、それぞれのバンクの画像データおよびアドレスを、対応する記憶領域1301および記憶領域1401に保存する場合について説明した。このように、データバッファ130内のそれぞれの記憶領域1301およびアドレスバッファ140内のそれぞれの記憶領域1401が対応するDRAM72のバンクを予め定めておくことによって、それぞれのバンクの画像データがどのような順番でデータ転送制御装置100に入力された場合でも、保存した画像データを同じバンクの順番でDRAM72に出力することができる。   In the example of the DMA operation in the data transfer control device 100 shown in FIGS. 7 to 10, as shown in FIG. 11A, each storage area 1301 in the data buffer 130 and each address in the address buffer 140. When the bank of the DRAM 72 corresponding to the storage area 1401 is determined in advance, that is, the corresponding bank is fixed, and the image data and address of each bank are stored in the corresponding storage area 1301 and storage area 1401 Explained. As described above, by determining in advance the banks of the DRAM 72 to which the respective storage areas 1301 in the data buffer 130 and the respective storage areas 1401 in the address buffer 140 correspond, the order in which the image data of the respective banks is arranged. In this case, the stored image data can be output to the DRAM 72 in the same bank order.

より具体的には、図7および図8に示したデータ転送制御装置100におけるDMA動作の一例では、例えば、図11(b)に示したように、バンクA、バンクB、バンクC、バンクDの順番で入力された画像データを、順番を入れ替えずに、バンクA、バンクB、バンクC、バンクDの順番でDRAM72に出力する場合について説明した。また、図9および図10に示したデータ転送制御装置100におけるDMA動作の一例では、例えば、図11(c)に示したように、バンクD、バンクC、バンクB、バンクAの順番で入力された画像データを、順番が逆になるように入れ替えて、バンクA、バンクB、バンクC、バンクDの順番でDRAM72に出力する場合について説明した。しかし、データバッファ130内のそれぞれの記憶領域1301およびアドレスバッファ140内のそれぞれの記憶領域1401が対応するDRAM72のバンクを予め定めておくことによって、逆の順番以外で画像データが入力された場合でも、同じ順番でDRAM72に出力することができる。例えば、図11(d)に示したように、バンクD、バンクB、バンクC、バンクAの順番で画像データがデータ転送制御装置100に入力された場合でも、それぞれの画像データを対応する記憶領域1301にそれぞれ保存し、保存した画像データを順番が同じになるように読み出すことによって、バンクA、バンクB、バンクC、バンクDの順番でDRAM72に出力することができる。   More specifically, in the example of the DMA operation in the data transfer control device 100 shown in FIGS. 7 and 8, for example, as shown in FIG. 11B, bank A, bank B, bank C, bank D In the above description, the image data input in this order is output to the DRAM 72 in the order of bank A, bank B, bank C, and bank D without changing the order. Further, in the example of the DMA operation in the data transfer control device 100 shown in FIGS. 9 and 10, for example, as shown in FIG. 11C, input is performed in the order of bank D, bank C, bank B, and bank A. The case has been described in which the image data is exchanged so that the order is reversed and output to the DRAM 72 in the order of bank A, bank B, bank C, and bank D. However, even if image data is input in an order other than the reverse order by predetermining the banks of the DRAM 72 to which the respective storage areas 1301 in the data buffer 130 and the respective storage areas 1401 in the address buffer 140 correspond. Can be output to the DRAM 72 in the same order. For example, as shown in FIG. 11D, even when image data is input to the data transfer control device 100 in the order of bank D, bank B, bank C, and bank A, each image data is stored in the corresponding memory. By saving the image data in the areas 1301 and reading the saved image data so that the order is the same, the data can be output to the DRAM 72 in the order of bank A, bank B, bank C, and bank D.

また、図7〜図10に示したデータ転送制御装置100におけるDMA動作の一例では、1転送単位のデータに、バンクA、バンクB、バンクC、およびバンクDのそれぞれに対応する画像データが必ず1つ含まれている場合について説明した。しかし、データ転送制御装置100に入力される画像データは、必ずしも、バンクA、バンクB、バンクC、およびバンクDのそれぞれに対応する画像データが1つ含まれているとは限らない。この場合には、データバッファ130内の記憶領域1301およびアドレスバッファ140内の記憶領域1401に、異なるバンクに対応する画像データを保存するなど、記憶領域1301および記憶領域1401が対応するバンクを適宜変更することもできる。例えば、バンクA、バンクB、バンクA、バンクBの順番で入力された画像データを、データバッファ130内の同じ記憶領域群1304に保存する場合を考える。この場合には、1つ目のバンクAの画像データをバンクAに対応する記憶領域1301に、1つ目のバンクBの画像データをバンクBに対応する記憶領域1301に、2つ目のバンクAの画像データをバンクCに対応する記憶領域1301に、2つ目のバンクBの画像データをバンクDに対応する記憶領域1301に、それぞれ保存するように変更することができる。   In the example of the DMA operation in the data transfer control device 100 shown in FIGS. 7 to 10, the image data corresponding to each of the bank A, bank B, bank C, and bank D is always included in the data of one transfer unit. The case where one is included has been described. However, the image data input to the data transfer control device 100 does not necessarily include one image data corresponding to each of bank A, bank B, bank C, and bank D. In this case, the storage area 1301 in the data buffer 130 and the storage area 1401 in the address buffer 140 change the banks corresponding to the storage area 1301 and the storage area 1401 as appropriate, such as storing image data corresponding to different banks. You can also For example, consider a case where image data input in the order of bank A, bank B, bank A, and bank B is stored in the same storage area group 1304 in the data buffer 130. In this case, the image data of the first bank A is stored in the storage area 1301 corresponding to the bank A, and the image data of the first bank B is stored in the storage area 1301 corresponding to the bank B. The image data of A can be changed to be stored in the storage area 1301 corresponding to the bank C, and the image data of the second bank B can be stored in the storage area 1301 corresponding to the bank D.

<第2の入れ替え処理>
次に、画像処理装置1内の各処理ブロックにおけるDRAM72への別のアクセス方法について説明するため、図12および図13を参照して画像処理装置1の別の動作の一例について説明する。図12は、本実施形態の画像処理装置1における画像データの転送方向とDRAM72のアクセスとの一例を模式的に示した図である。また、図13は、本実施形態の画像処理装置1において画像データの転送方向が異なる場合に対応したDRAM72のアクセスの一例を模式的に示した図である。
<Second replacement process>
Next, in order to describe another method of accessing the DRAM 72 in each processing block in the image processing apparatus 1, an example of another operation of the image processing apparatus 1 will be described with reference to FIGS. FIG. 12 is a diagram schematically showing an example of image data transfer direction and DRAM 72 access in the image processing apparatus 1 of the present embodiment. FIG. 13 is a diagram schematically showing an example of access to the DRAM 72 corresponding to a case where the image data transfer direction is different in the image processing apparatus 1 of the present embodiment.

画像処理装置1では、イメージセンサ10が画像を取り込む方向と、画像処理部30が画像処理を行う方向とが異なる場合がある。例えば、図12(a)に示したように、イメージセンサ10が画素をラスタスキャンして画像に対して水平方向(横方向)の入力画像データを順次出力することに応じて、前処理部20が画像に対して水平方向(横方向)に前処理画像データをDRAM72に転送する(書き込む)。そして、画像処理部30は、画像を予め定めた大きさのブロックに分割し、それぞれのブロックにおいて、垂直方向(縦方向)に前処理画像データをDRAM72から取得する(読み出す)場合がある。   In the image processing apparatus 1, the direction in which the image sensor 10 captures an image may be different from the direction in which the image processing unit 30 performs image processing. For example, as shown in FIG. 12A, the pre-processing unit 20 corresponds to the image sensor 10 raster-scanning pixels and sequentially outputting input image data in the horizontal direction (lateral direction) with respect to the image. The preprocessed image data is transferred (written) to the DRAM 72 in the horizontal direction (lateral direction) with respect to the image. Then, the image processing unit 30 may divide the image into blocks of a predetermined size, and acquire (read) preprocessed image data from the DRAM 72 in the vertical direction (vertical direction) in each block.

このとき、DRAM72には、例えば、図12(b)に示したように、それぞれの前処理画像データが記憶されることが考えられる。図12(b)には、画像のそれぞれのラインにおいて左側から順番に昇順のアドレスが割り当てられ、画像の上側から順番に昇順のアドレスが割り当てられた前処理画像データが、DRAM72の対応するそれぞれのバンクの記憶領域に記憶されている状態を示している。   At this time, it is conceivable that each preprocessed image data is stored in the DRAM 72, for example, as shown in FIG. In FIG. 12B, pre-processed image data in which ascending addresses are assigned in order from the left side in each line of the image, and ascending addresses are assigned in order from the upper side of the image, respectively. The state stored in the storage area of the bank is shown.

この場合、図12(c)に示したように、画像処理装置1内の画像転送部21に備えたデータ転送制御装置100は、DRAM72の異なるバンクに対して連続してアクセスして、前処理画像データをDRAM72に転送するが、画像処理部30に備えたデータ転送制御装置200は、DRAM72の同一のバンクに対して連続してアクセスして、前処理画像データをDRAM72から取得することが必要になる。このため、上述したような理由によって、データ転送制御装置200によるDRAM72の同一のバンクに対する連続したアクセスに、多くのロス時間が発生してしまうことになる(図12(c)参照)。   In this case, as shown in FIG. 12C, the data transfer control device 100 provided in the image transfer unit 21 in the image processing device 1 continuously accesses different banks of the DRAM 72 to perform preprocessing. Although the image data is transferred to the DRAM 72, the data transfer control device 200 provided in the image processing unit 30 needs to continuously access the same bank of the DRAM 72 and acquire the preprocessed image data from the DRAM 72. become. For this reason, a lot of loss time occurs in successive accesses to the same bank of the DRAM 72 by the data transfer control device 200 for the reasons described above (see FIG. 12C).

そこで、図13(a)に示したように、有効な画像データ(有効画像)の領域の右側に無効な画像データの領域(無効領域)を追加して考え、画像の水平方向(横方向)の幅を、有効画像における水平方向(横方向)の画像幅よりも大きくしたものとして制御する方法が考えられる。この方法によって、画像のそれぞれのラインにおいて割り当てられるアドレスの幅、すなわち、各ラインにおける最初のアドレスと最後のアドレスとの差を、有効画像のそれぞれのラインにおいて割り当てられるアドレスの幅よりも大きくして考えることができる。   Therefore, as shown in FIG. 13A, an invalid image data area (invalid area) is added to the right side of the valid image data (effective image) area, and the horizontal direction (lateral direction) of the image is considered. A method is conceivable in which the width is controlled to be larger than the horizontal (lateral) image width of the effective image. With this method, the width of the address assigned in each line of the image, i.e., the difference between the first address and the last address in each line is made larger than the width of the address assigned in each line of the effective image. Can think.

そして、この無効領域の大きさ、すなわち、無効領域のアドレスの幅の設定を調節することによって、画像処理部30に備えたデータ転送制御装置200が垂直方向(縦方向)に前処理画像データを取得する際に連続してアクセスするDRAM72のバンクを、異なるバンクにすることができる。図13(b)には、無効領域の水平方向(横方向)の大きさをDRAM72のバンクと同じ大きさに設定した場合に、有効画像において垂直方向(縦方向)に同じ位置の前処理画像データが、DRAM72の異なるバンクに記憶されている状態を示している。   Then, by adjusting the setting of the size of the invalid area, that is, the address width of the invalid area, the data transfer control device 200 provided in the image processing unit 30 converts the preprocessed image data in the vertical direction (vertical direction). The banks of the DRAM 72 that are continuously accessed for acquisition can be different banks. FIG. 13B shows a preprocessed image at the same position in the vertical direction (vertical direction) in the effective image when the horizontal size (horizontal direction) of the invalid area is set to the same size as the bank of the DRAM 72. A state in which data is stored in different banks of the DRAM 72 is shown.

この場合、図13(c)に示したように、画像処理装置1内の画像転送部21に備えたデータ転送制御装置100は、DRAM72の異なるバンクに対して連続してアクセスして、前処理画像データをDRAM72に転送し、画像処理部30に備えたデータ転送制御装置200も、DRAM72の異なるバンクに対して連続してアクセスして、前処理画像データをDRAM72から取得することができる。このように、有効画像の領域の右側に無効領域を追加して考えることによって、DRAM72の同一のバンクに対する連続したアクセスを回避することができる(図13(c)参照)。   In this case, as shown in FIG. 13C, the data transfer control device 100 provided in the image transfer unit 21 in the image processing device 1 continuously accesses different banks of the DRAM 72 to perform preprocessing. The image data is transferred to the DRAM 72 and the data transfer control device 200 provided in the image processing unit 30 can also continuously access different banks of the DRAM 72 and acquire the preprocessed image data from the DRAM 72. In this way, by adding the invalid area to the right side of the valid image area, continuous access to the same bank of the DRAM 72 can be avoided (see FIG. 13C).

しかし、有効画像の領域の右側に無効領域を追加して考える方法によっても、DRAM72の同一のバンクに対する連続したアクセスを全て回避することができるとは限らない。例えば、画像処理装置1では、上述した、画像処理装置1内の画像転送部21に備えたデータ転送制御装置100による前処理画像データの転送(書き込み)、および画像処理部30に備えたデータ転送制御装置200による前処理画像データの取得(読み出し)と並行して、表示処理部40に備えたデータ転送制御装置200による表示用の画像データの取得(読み出し)も行う場合がある。   However, even by adding an invalid area to the right side of the valid image area, it is not always possible to avoid all consecutive accesses to the same bank of the DRAM 72. For example, in the image processing apparatus 1, transfer (writing) of preprocessed image data by the data transfer control device 100 provided in the image transfer unit 21 in the image processing apparatus 1 and data transfer provided in the image processing unit 30 are described above. In parallel with the acquisition (reading) of the preprocessed image data by the control device 200, the image transfer control device 200 provided in the display processing unit 40 may also acquire (read) the display image data.

図14は、本実施形態の画像処理装置1に備えた処理ブロックにおけるDRAMのバンクアクセスに起因するロス時間の一例を模式的に示した図である。図14には、表示処理部40に備えたデータ転送制御装置200がDRAM72から表示用の画像データを取得しているときに、画像転送部21に備えたデータ転送制御装置100が前処理画像データをDRAM72に転送する場合のタイミングを示している。   FIG. 14 is a diagram schematically illustrating an example of loss time due to DRAM bank access in the processing block provided in the image processing apparatus 1 of the present embodiment. In FIG. 14, when the data transfer control device 200 provided in the display processing unit 40 acquires display image data from the DRAM 72, the data transfer control device 100 provided in the image transfer unit 21 performs pre-processing image data. The timing in the case of transferring to the DRAM 72 is shown.

図14に示したように、画像転送部21と表示処理部40とが交互にDRAM72へのアクセスを行うと、DRAM72にアクセスする処理ブロックが切り替わるときに、DRAM72の同一のバンクに対する連続したアクセスが発生してしまう。より具体的には、表示処理部40に備えたデータ転送制御装置200が、バンクA、バンクB、バンクC、バンクDの順番でDRAM72のそれぞれのバンクにアクセスして表示用の画像データを取得した後、画像転送部21に備えたデータ転送制御装置100が、バンクD、バンクA、バンクB、バンクCの順番でDRAM72のそれぞれのバンクにアクセスして4ライン目の前処理画像データを転送する。これにより、表示処理部40に備えたデータ転送制御装置200によるバンクDへのアクセスと、画像転送部21に備えたデータ転送制御装置100によるバンクDへのアクセスとが連続してしまう。このとき、DRAM72は、バンクDへの連続したアクセスを受け付けることができないため、この期間がロス時間となり、DRAM72へのアクセス効率が低下してしまう。   As shown in FIG. 14, when the image transfer unit 21 and the display processing unit 40 alternately access the DRAM 72, when the processing block for accessing the DRAM 72 is switched, continuous access to the same bank of the DRAM 72 is performed. Will occur. More specifically, the data transfer control device 200 provided in the display processing unit 40 accesses the respective banks of the DRAM 72 in the order of bank A, bank B, bank C, and bank D to acquire image data for display. After that, the data transfer control device 100 provided in the image transfer unit 21 accesses the respective banks of the DRAM 72 in the order of bank D, bank A, bank B, and bank C and transfers the preprocessed image data on the fourth line. To do. Accordingly, the access to the bank D by the data transfer control device 200 provided in the display processing unit 40 and the access to the bank D by the data transfer control device 100 provided in the image transfer unit 21 are continued. At this time, since the DRAM 72 cannot accept continuous access to the bank D, this period becomes a loss time, and the access efficiency to the DRAM 72 decreases.

そこで、各処理ブロックに備えたデータ転送制御装置は、対応する処理ブロックがDRAM72にアクセスする際のバンクの順番を入れ替えることによって、DRAM72の同一のバンクに対する連続したアクセスを回避する。図15は、本実施形態の画像処理装置1に備えた処理ブロックによる第2の入れ替え処理によってDRAM72のバンクアクセスに起因するロス時間を回避する一例を模式的に示した図である。図15には、図14に示したDRAM72のバンクアクセスと同様に、表示処理部40に備えたデータ転送制御装置200がDRAM72から表示用の画像データを取得しているときに、画像転送部21に備えたデータ転送制御装置100が前処理画像データをDRAM72に転送する場合のタイミングを示している。   Therefore, the data transfer control device provided in each processing block avoids continuous access to the same bank of the DRAM 72 by changing the order of the banks when the corresponding processing block accesses the DRAM 72. FIG. 15 is a diagram schematically illustrating an example of avoiding the loss time due to the bank access of the DRAM 72 by the second replacement process by the processing block provided in the image processing apparatus 1 of the present embodiment. FIG. 15 shows the image transfer unit 21 when the data transfer control device 200 provided in the display processing unit 40 acquires image data for display from the DRAM 72 as in the bank access of the DRAM 72 shown in FIG. 4 shows the timing when the data transfer control device 100 provided in FIG. 1 transfers the preprocessed image data to the DRAM 72.

図15に示したように、画像転送部21と表示処理部40とが交互にDRAM72へのアクセスを行うと、図14に示したDRAM72のバンクアクセスと同様に、DRAM72にアクセスする処理ブロックが切り替わるときに、DRAM72の同一のバンクに対する連続したアクセスが発生してしまう。しかし、図15に示したDRAM72のバンクアクセスでは、画像転送部21に備えたデータ転送制御装置100が、DRAM72のそれぞれのバンクに対するアクセスの順番を入れ替える。これにより、画像転送部21は、バンクインターリーブによるDRAM72の同一のバンクに対する連続したアクセスを回避することができる。   As shown in FIG. 15, when the image transfer unit 21 and the display processing unit 40 alternately access the DRAM 72, the processing block for accessing the DRAM 72 is switched, similar to the bank access of the DRAM 72 shown in FIG. Sometimes, continuous access to the same bank of the DRAM 72 occurs. However, in the bank access of the DRAM 72 shown in FIG. 15, the data transfer control device 100 provided in the image transfer unit 21 changes the order of access to each bank of the DRAM 72. As a result, the image transfer unit 21 can avoid continuous access to the same bank of the DRAM 72 by bank interleaving.

より具体的には、図14に示したDRAM72のバンクアクセスと同様に、表示処理部40に備えたデータ転送制御装置200が、バンクA、バンクB、バンクC、バンクDの順番でDRAM72のそれぞれのバンクにアクセスして表示用の画像データを取得した後、画像転送部21に備えたデータ転送制御装置100が、バンクD、バンクA、バンクB、バンクCの順番でDRAM72のそれぞれのバンクにアクセスして4ライン目の前処理画像データを転送する。これにより、図14に示したDRAM72のバンクアクセスと同様に、表示処理部40に備えたデータ転送制御装置200によるバンクDへのアクセスと、画像転送部21に備えたデータ転送制御装置100によるバンクDへのアクセスとが連続してしまう。このとき、画像転送部21に備えたデータ転送制御装置100は、DRAM72のそれぞれのバンクにアクセスする順番を、表示処理部40に備えたデータ転送制御装置200と同様のバンクA、バンクB、バンクC、バンクDの順番に入れ替える。これにより、画像転送部21と表示処理部40とが交互にDRAM72へのアクセスを行う場合でも、DRAM72の同一のバンクに対する連続したアクセスを回避することができる。   More specifically, similar to the bank access of the DRAM 72 shown in FIG. 14, the data transfer control device 200 provided in the display processing unit 40 operates in the order of the bank A, the bank B, the bank C, and the bank D. After the image data for display is obtained by accessing the banks, the data transfer control device 100 provided in the image transfer unit 21 stores the data in the DRAM 72 in the order of bank D, bank A, bank B, and bank C. Access and transfer the preprocessed image data of the fourth line. As a result, similarly to the bank access of the DRAM 72 shown in FIG. 14, the access to the bank D by the data transfer control device 200 provided in the display processing unit 40 and the bank by the data transfer control device 100 provided in the image transfer unit 21 are performed. Access to D continues. At this time, the data transfer control device 100 provided in the image transfer unit 21 determines the order of accessing each bank of the DRAM 72 in the same bank A, bank B, and bank as the data transfer control device 200 provided in the display processing unit 40. The order is changed in the order of C and bank D. Thereby, even when the image transfer unit 21 and the display processing unit 40 alternately access the DRAM 72, continuous access to the same bank of the DRAM 72 can be avoided.

なお、このときに画像転送部21に備えたデータ転送制御装置100の動作モードレジスタ101に設定する動作モードの情報は、第1の入れ替え処理において説明した、反転処理の設定とは異なる情報である。より具体的には、第1の入れ替え処理では、バンクにアクセスする順番、画像データをパッキングする順番、およびDRAM72の水平方向と垂直方向のアドレス発生順番のそれぞれを、昇順または降順に設定していたが、第2の入れ替え処理では、バンクにアクセスする順番を、バンクD、バンクA、バンクB、バンクCの順番から、バンクA、バンクB、バンクC、バンクDの順番に入れ替えるための設定を行う。   Note that the operation mode information set in the operation mode register 101 of the data transfer control device 100 provided in the image transfer unit 21 at this time is information different from the inversion processing setting described in the first replacement processing. . More specifically, in the first replacement process, the bank access order, the image data packing order, and the horizontal and vertical address generation order of the DRAM 72 are set in ascending or descending order. However, in the second replacement process, the setting for switching the bank access order from the order of bank D, bank A, bank B, and bank C to the order of bank A, bank B, bank C, and bank D is performed. Do.

上記に述べたように、画像処理装置1内の各処理ブロックに備えたデータ転送制御装置は、対応する処理ブロックがDRAM72にアクセスする際のバンクの順番を、他の処理ブロックがDRAM72にアクセスする際のバンクの順番と同じ順番になるように入れ替える。これにより、それぞれの処理ブロックがDRAM72にアクセスする際のバンクの順番が、画像処理装置1内の全ての処理ブロックで同じになる。これにより、異なる順番でDRAM72のバンクにアクセスする処理ブロックが画像処理装置1内に複数混在し、それぞれの処理ブロックが並行してDRAM72に対してアクセスした場合でも、バンクインターリーブによるDRAM72の同一のバンクに対する連続したアクセスが発生しなくなり、ロス時間によるDRAM72へのアクセス効率の低下を抑えることができる。   As described above, the data transfer control device provided in each processing block in the image processing apparatus 1 determines the bank order when the corresponding processing block accesses the DRAM 72, and the other processing block accesses the DRAM 72. Swap them so that they are in the same order as the banks. As a result, the bank order when each processing block accesses the DRAM 72 is the same for all processing blocks in the image processing apparatus 1. Thereby, even when a plurality of processing blocks accessing the bank of the DRAM 72 in a different order are mixed in the image processing apparatus 1 and each processing block accesses the DRAM 72 in parallel, the same bank of the DRAM 72 by bank interleaving is used. Therefore, it is possible to suppress a decrease in access efficiency to the DRAM 72 due to a loss time.

なお、DRAM72にアクセスする際のバンクの順番の入れ替えは、上述したように、データバッファ130内のそれぞれの記憶領域1301およびアドレスバッファ140内のそれぞれの記憶領域1401が対応するDRAM72のバンクを予め定めておく(固定しておく)ことによって、それぞれのバンクの画像データがどのような順番でデータ転送制御装置に入力された場合でも、容易にバンクの順番を入れ替えることができる。しかし、データバッファ130内のそれぞれの記憶領域1301およびアドレスバッファ140内のそれぞれの記憶領域1401が対応するDRAM72のバンクを予め定めておかない(固定しておかない)場合でも、例えば、バッファライト制御部120とバッファリード制御部150とが連携することによって、バンクの順番の入れ替えを行うことができると考えられる。   Note that the order of the banks when accessing the DRAM 72 is changed, as described above, by previously determining the banks of the DRAM 72 to which the respective storage areas 1301 in the data buffer 130 and the respective storage areas 1401 in the address buffer 140 correspond. By keeping (fixing), the order of the banks can be easily changed regardless of the order in which the image data of each bank is input to the data transfer control device. However, even when each storage area 1301 in the data buffer 130 and each storage area 1401 in the address buffer 140 correspond to a bank of the DRAM 72 that is not predetermined (not fixed), for example, buffer write control It is considered that the bank order can be changed by the cooperation of the unit 120 and the buffer read control unit 150.

上記に述べたとおり、本発明を実施するための形態によれば、データ転送制御装置を、画像処理装置1内のそれぞれの処理ブロックに備える。そして、データ転送制御装置は、データ転送制御装置自体に備えたデータバッファおよびアドレスバッファのそれぞれに保存するデータの順番を、動作モードレジスタに設定された動作モードの情報に応じて変更することによって、1回分のDMAの転送でアクセスするDRAMのバンクの順番を、他の処理ブロックがDMAの転送でアクセスするDRAMのバンクの順番と同じ順番にする。これにより、本発明を実施するための形態の画像処理装置において、本実施形態のデータ転送制御装置を適用したそれぞれの処理ブロックがDRAMにアクセスする際のバンクの順番を、画像処理装置内の全ての処理ブロックで同じにすることができる。このことにより、本発明を実施するための形態の画像処理装置内に異なる順番でDRAMのバンクにアクセスする本実施形態のデータ転送制御装置を適用した処理ブロックが複数混在し、それぞれの処理ブロックが並行してDRAMに対してアクセスした場合でも、バンクインターリーブによるDRAMへのアクセスにおいて同一のバンクに対する連続したアクセスが発生しなくなる。これにより、DRAMの同一のバンクに対する連続したアクセスに起因するロス時間によるDRAMへのアクセス効率の低下を抑えることができる。   As described above, according to the mode for carrying out the present invention, the data transfer control device is provided in each processing block in the image processing device 1. The data transfer control device changes the order of data stored in each of the data buffer and the address buffer provided in the data transfer control device itself according to the operation mode information set in the operation mode register, The order of the DRAM banks accessed by one DMA transfer is made the same as the order of the DRAM banks accessed by other processing blocks by DMA transfer. As a result, in the image processing apparatus according to the embodiment for carrying out the present invention, the bank order when each processing block to which the data transfer control apparatus of the present embodiment is applied accesses the DRAM is all set in the image processing apparatus. The same processing block can be used. As a result, a plurality of processing blocks to which the data transfer control device of this embodiment for accessing the bank of DRAMs is accessed in a different order are mixed in the image processing device of the embodiment for carrying out the present invention. Even when the DRAM is accessed in parallel, continuous access to the same bank does not occur in accessing the DRAM by bank interleaving. As a result, it is possible to suppress a decrease in access efficiency to the DRAM due to a loss time caused by successive accesses to the same bank of the DRAM.

なお、本実施形態においては、画像処理装置1内の全ての処理ブロックにデータ転送制御装置を備えた構成について説明したが、データ転送制御装置を備える処理ブロックは、本実施形態に示した構成に限定されるものではなく、例えば、画像処理装置1の一部の処理ブロックのみにデータ転送制御装置を備える構成であってもよい。例えば、DMAの転送でアクセスするDRAMのバンクの順番の入れ替えを行う画像転送部21や表示処理部40のみにデータ転送制御装置を備える構成であってもよい。このように、画像処理装置1の一部の処理ブロックのみにデータ転送制御装置を備える構成であっても、処理ブロックとバスアービタとの間のやり取り(インタフェース)を変更する必要はない。これは、バスアービタ内でDRAMのバンクにアクセスする順番を入れ替えることによって処理ブロックとバスアービタとの間のインタフェースが複雑化し、DRAMのバンクにアクセスする順番の入れ替えを行わない処理ブロックも含めた全ての処理ブロックで複雑なインタフェースに対応することが必要である従来の構成に対して、有利であると考えられる。   In the present embodiment, the configuration in which all the processing blocks in the image processing apparatus 1 are provided with the data transfer control device has been described. However, the processing block having the data transfer control device has the configuration shown in the present embodiment. For example, the data transfer control device may be provided only in some processing blocks of the image processing device 1. For example, the data transfer control device may be provided only in the image transfer unit 21 and the display processing unit 40 which change the order of the DRAM banks accessed by DMA transfer. As described above, even if the data transfer control device is provided only in a part of the processing blocks of the image processing device 1, it is not necessary to change the exchange (interface) between the processing block and the bus arbiter. This is because the interface between the processing block and the bus arbiter is complicated by changing the order of accessing the DRAM bank in the bus arbiter, and all processing including the processing block that does not change the order of accessing the DRAM bank is performed. It may be advantageous over conventional configurations that require a block to accommodate complex interfaces.

また、本実施形態においては、データバッファ130およびアドレスバッファ140が、データ転送制御装置100に備えた、DRAM72にアクセスするバンクの順番を入れ替える専用のバッファである構成について説明した。しかし、データバッファ130およびアドレスバッファ140の構成は、本実施形態に示した構成に限定されるものではない。例えば、DMAの転送によってデータの出力を行う一般的な処理ブロックには、データバスの混雑によってデータの転送が待たされたときでも、データバスが空いたときに確実にデータを転送するための構成として、データを一時記憶(保存)するバッファを備えていると考えられる。また、例えば、DMAの転送によってデータの出力を行う一般的な処理ブロックには、データを処理する内部のクロックとデータバスにおけるクロックとが異なる場合に、これらのクロックの乗り換えを行うための構成として、データを一時記憶(保存)するバッファを備えていると考えられる。従って、すでに本実施形態のデータ転送制御装置100におけるデータバッファ130およびアドレスバッファ140と同様の構成を備えている処理ブロックに、本発明の考え方を適用する場合には、すでに備えているバッファを、本実施形態のデータ転送制御装置100におけるデータバッファ130およびアドレスバッファ140として利用することもできる。この場合には、処理ブロックの回路規模を増大させることなく、DRAMへのアクセス効率を向上させることができる。これは、バスアービタ内でDRAMのバンクにアクセスする順番を入れ替えるためのバッファをバスアービタ内に搭載する従来の構成よりも有利であると考えられる。   In the present embodiment, the configuration in which the data buffer 130 and the address buffer 140 are dedicated buffers provided in the data transfer control device 100 for changing the order of banks accessing the DRAM 72 has been described. However, the configuration of the data buffer 130 and the address buffer 140 is not limited to the configuration shown in the present embodiment. For example, in a general processing block that outputs data by DMA transfer, a configuration for reliably transferring data when the data bus is free even when data transfer is awaited due to data bus congestion It is considered that a buffer for temporarily storing (saving) data is provided. In addition, for example, in a general processing block that outputs data by DMA transfer, when the internal clock for processing data is different from the clock in the data bus, a configuration for transferring these clocks is used. It is considered that a buffer for temporarily storing (saving) data is provided. Therefore, when the concept of the present invention is applied to a processing block having the same configuration as the data buffer 130 and the address buffer 140 in the data transfer control device 100 of the present embodiment, the buffer already provided is It can also be used as the data buffer 130 and the address buffer 140 in the data transfer control device 100 of this embodiment. In this case, the access efficiency to the DRAM can be improved without increasing the circuit scale of the processing block. This is considered to be more advantageous than the conventional configuration in which a buffer for changing the order of accessing DRAM banks in the bus arbiter is installed in the bus arbiter.

なお、本実施形態においては、動作モードレジスタ101に設定された動作モードの情報に応じて、DMAの転送で出力するデータおよびアドレスを保存するデータバッファ130の記憶領域1301およびアドレスバッファ140の記憶領域1401を変更する構成について説明した。つまり、データ転送制御装置100に備えたデータバッファ130およびアドレスバッファ140にデータおよびアドレスを保存するときに、DRAM72にアクセスするバンクの順番を入れ替える構成について説明した。しかし、DRAM72にアクセスするバンクの順番を入れ替える構成は、本実施形態に示した構成に限定されるものではない。例えば、動作モードレジスタ101に設定された動作モードの情報に応じて、DMAの転送で出力するデータおよびアドレスを読み出すデータバッファ130の記憶領域1301およびアドレスバッファ140の記憶領域1401を変更する構成にすることもできる。つまり、データ転送制御装置100では、データバッファ130およびアドレスバッファ140に保存されたデータおよびアドレスを読み出してDMAによって出力する際に、DRAM72にアクセスするバンクの順番を入れ替える構成にすることもできる。この場合、動作モードレジスタ101が出力する動作モードの情報は、例えば、バッファリード制御部150に入力され、バッファリード制御部150が、入力された動作モードの情報に応じて、データバッファ130に保存されたデータとアドレスバッファ140に保存されたアドレスとの読み出しを制御する構成が考えられる。   In the present embodiment, the storage area 1301 of the data buffer 130 and the storage area of the address buffer 140 that store data and addresses output by DMA transfer according to the operation mode information set in the operation mode register 101. The configuration for changing 1401 has been described. That is, the configuration in which the order of the banks accessing the DRAM 72 is switched when data and addresses are stored in the data buffer 130 and the address buffer 140 provided in the data transfer control device 100 has been described. However, the configuration for changing the order of banks accessing the DRAM 72 is not limited to the configuration shown in the present embodiment. For example, in accordance with the operation mode information set in the operation mode register 101, the storage area 1301 of the data buffer 130 and the storage area 1401 of the address buffer 140 for reading data and addresses output by DMA transfer are changed. You can also That is, in the data transfer control device 100, when the data and addresses stored in the data buffer 130 and the address buffer 140 are read and output by the DMA, the order of banks accessing the DRAM 72 can be changed. In this case, the operation mode information output from the operation mode register 101 is input to the buffer read control unit 150, for example, and the buffer read control unit 150 stores the information in the data buffer 130 according to the input operation mode information. A configuration in which reading of the read data and the address stored in the address buffer 140 is controlled is conceivable.

また、本実施形態においては、データ転送制御装置100に備えたパッキング部110が、入力された画像データをパッキングすると共に、パッキングした画像データを転送するDRAM72のアドレスを生成する構成について説明した。しかし、DRAM72のアドレスを生成する構成は、本実施形態に示した構成に限定されるものではない。例えば、バッファリード制御部150またはバスインタフェース部160が、動作モードレジスタ101に設定された動作モードの情報に応じて、DRAM72のアドレスを生成する構成にすることもできる。この場合、データ転送制御装置100内にアドレスバッファ140を備えない構成にすることもできる。   In the present embodiment, the configuration in which the packing unit 110 included in the data transfer control device 100 packs input image data and generates the address of the DRAM 72 that transfers the packed image data has been described. However, the configuration for generating the address of the DRAM 72 is not limited to the configuration shown in the present embodiment. For example, the buffer read control unit 150 or the bus interface unit 160 may be configured to generate the address of the DRAM 72 in accordance with the operation mode information set in the operation mode register 101. In this case, the data transfer control device 100 may be configured not to include the address buffer 140.

また、本実施形態においては、データ転送制御装置100が画像データを転送する先のDRAM72が、4つのバンク(バンクA、バンクB、バンクC、およびバンクD)で構成されている場合について説明したが、DRAMにおけるバンクの構成は、本実施形態に示した構成に限定されるものではない。例えば、8つのバンクで構成されるDRAMであっても、同様に考えることができる。   Further, in the present embodiment, the case where the DRAM 72 to which the data transfer control device 100 transfers image data is configured with four banks (bank A, bank B, bank C, and bank D) has been described. However, the configuration of the bank in the DRAM is not limited to the configuration shown in the present embodiment. For example, even a DRAM composed of eight banks can be considered similarly.

また、本実施形態においては、データ転送制御装置100による1回のDMAで、DRAM72の4つのバンクにそれぞれ1回ずつ連続してアクセスするバンクインターリーブでのアクセスを行う、つまり、DRAM72の4つのバンクに対する連続したアクセスを、DMAの1回の転送単位とする場合について説明したが、1回のDMAでアクセスするバンクの数は、本実施形態に示した構成に限定されるものではない。例えば、1回のDMAで1つのバンクへのアクセスを、DMAの1回の転送単位とすることもできる。   In the present embodiment, one DMA by the data transfer control device 100 performs access by bank interleaving for sequentially accessing each of the four banks of the DRAM 72, that is, four banks of the DRAM 72. In the above description, the continuous access to the data is defined as one DMA transfer unit. However, the number of banks accessed by one DMA is not limited to the configuration shown in the present embodiment. For example, an access to one bank in one DMA can be used as a transfer unit for one DMA.

なお、本実施形態においては、静止画用カメラなどの画像処理装置を本発明のデータ処理装置とし、この画像処理装置に本発明のデータ転送制御装置を適用した場合について説明した。しかし、本実施形態のデータ転送制御装置を適用することができるデータ処理装置のシステムは、本発明を実施するための形態に限定されるものではなく、データバスに接続された複数の処理ブロックが、バンクインターリーブによって共有する1つのDRAMの異なるバンクに順次アクセスするデータ処理装置のシステムであれば、どのようなシステムにも同様にデータ転送制御装置を適用することができる。   In the present embodiment, the case has been described in which an image processing apparatus such as a still image camera is used as the data processing apparatus of the present invention, and the data transfer control apparatus of the present invention is applied to this image processing apparatus. However, the system of the data processing apparatus to which the data transfer control apparatus of this embodiment can be applied is not limited to the form for carrying out the present invention, and a plurality of processing blocks connected to the data bus are included. The data transfer control device can be similarly applied to any system as long as it is a data processing device system that sequentially accesses different banks of one DRAM shared by bank interleaving.

以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。   The embodiment of the present invention has been described above with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes various modifications within the scope of the present invention. It is.

1・・・画像処理装置(データ処理装置)
10・・・イメージセンサ
20・・・前処理部(処理ブロック)
21・・・画像転送部(処理ブロック)
22・・・評価値生成部(処理ブロック)
30・・・画像処理部(処理ブロック)
40・・・表示処理部(処理ブロック)
41・・・表示デバイス
50・・・カードインタフェース部(処理ブロック)
51・・・記録媒体
60・・・CPU(処理ブロック)
70・・・バスアービタ(共通バス調停部)
71・・・DRAMインタフェース部(共通バス調停部)
72・・・DRAM(メモリ)
80・・・データバス(共通バス)
100,200,300・・・データ転送制御装置
101・・・動作モードレジスタ(データ転送制御装置,動作モードレジスタ)
110・・・パッキング部(データ転送制御装置,バッファライト制御部)
120・・・バッファライト制御部(データ転送制御装置,バッファライト制御部)
130・・・データバッファ(データ転送制御装置,バッファ部)
140・・・アドレスバッファ(データ転送制御装置,バッファ部)
150・・・バッファリード制御部(データ転送制御装置,バッファリード制御部)
160・・・バスインタフェース部(データ転送制御装置,バッファリード制御部)
1. Image processing device (data processing device)
10: Image sensor 20: Pre-processing unit (processing block)
21... Image transfer unit (processing block)
22... Evaluation value generator (processing block)
30 ... Image processing unit (processing block)
40: Display processing unit (processing block)
41: Display device 50: Card interface unit (processing block)
51... Recording medium 60... CPU (processing block)
70 ... Bus Arbiter (Common Bus Arbitration Department)
71 ... DRAM interface part (common bus arbitration part)
72 ... DRAM (memory)
80: Data bus (common bus)
100, 200, 300 ... data transfer control device 101 ... operation mode register (data transfer control device, operation mode register)
110... Packing unit (data transfer control device, buffer write control unit)
120: Buffer write control unit (data transfer control device, buffer write control unit)
130... Data buffer (data transfer control device, buffer unit)
140: Address buffer (data transfer control device, buffer unit)
150: Buffer read control unit (data transfer control device, buffer read control unit)
160: Bus interface unit (data transfer control device, buffer read control unit)

Claims (8)

共通バスに接続された複数の処理ブロックと、
複数のバンクを有するアドレス空間からなるメモリと、
複数の前記処理ブロックから出力される前記メモリへのアクセス要求を調停し、前記アクセス要求を受け付けた前記処理ブロックと前記メモリとの間での前記共通バスを介したデータの受け渡しを制御する共通バス調停部と、
を具備し、
複数の前記処理ブロックの内、少なくとも1つの処理ブロックは、前記共通バスを介して前記メモリとの間で前記データの受け渡しを行う際に、前記メモリ内の前記バンクにアクセスする順番の入れ替えを行い、
前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う前記処理ブロックは、
予め定めた前記データの順番に基づいて前記メモリとの間で受け渡しを行う前記データの順番を制御することによって、前記バンクにアクセスする順番の入れ替えを行うデータ転送制御装置、
を備える、
ことを特徴とするデータ処理装置。
A plurality of processing blocks connected to a common bus;
A memory composed of an address space having a plurality of banks;
A common bus that arbitrates access requests to the memory output from the plurality of processing blocks, and controls data transfer through the common bus between the processing blocks that have received the access requests and the memory The mediation department;
Comprising
Among the plurality of processing blocks, at least one processing block exchanges the order of accessing the banks in the memory when transferring the data to and from the memory via the common bus. ,
The processing block for changing the order of accessing the banks in the memory is:
A data transfer control device for switching the order of accessing the banks by controlling the order of the data to be transferred to and from the memory based on a predetermined order of the data;
Comprising
A data processing apparatus.
前記データ転送制御装置は、
前記メモリとの間で受け渡しを行う前記データを保存するバッファ部と、
前記バッファ部に前記データを保存するバッファライト制御部と、
前記バッファ部に保存された前記データを読み出すバッファリード制御部と、
を備える、
ことを特徴とする請求項1に記載のデータ処理装置。
The data transfer control device includes:
A buffer unit for storing the data to be transferred to and from the memory;
A buffer write control unit for storing the data in the buffer unit;
A buffer read control unit for reading out the data stored in the buffer unit;
Comprising
The data processing apparatus according to claim 1.
前記データ転送制御装置は、
前記メモリとの間で受け渡しを行う前記データの順番を設定する動作モードレジスタ、
を備え、
前記バッファライト制御部は、
前記動作モードレジスタに設定された前記データの順番に基づいて、前記バッファ部内の前記バンクに対応する記憶領域に、前記データを保存する、
ことを特徴とする請求項2に記載のデータ処理装置。
The data transfer control device includes:
An operation mode register for setting the order of the data to be transferred to and from the memory;
With
The buffer write control unit
Based on the order of the data set in the operation mode register, the data is stored in a storage area corresponding to the bank in the buffer unit,
The data processing apparatus according to claim 2.
前記データ転送制御装置は、
前記メモリとの間で受け渡しを行う前記データの順番を設定する動作モードレジスタ、
を備え、
前記バッファリード制御部は、
前記動作モードレジスタに設定された前記データの順番に基づいて、前記バッファ部内の前記バンクに対応する記憶領域から、前記データを読み出す、
ことを特徴とする請求項2に記載のデータ処理装置。
The data transfer control device includes:
An operation mode register for setting the order of the data to be transferred to and from the memory;
With
The buffer read controller
Based on the order of the data set in the operation mode register, the data is read from the storage area corresponding to the bank in the buffer unit.
The data processing apparatus according to claim 2.
前記データ転送制御装置は、
前記バンクにアクセスする順番を、前記メモリ内の該バンクの順番と逆の順番にする、
ことを特徴とする請求項1から請求項4のいずれか1の項に記載のデータ処理装置。
The data transfer control device includes:
The order of accessing the banks is reversed to the order of the banks in the memory.
The data processing apparatus according to any one of claims 1 to 4, wherein the data processing apparatus is configured as described above.
前記データは、
第1の方向および第2の方向の領域からなるデータであり、
当該データ処理装置は、
前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う前記処理ブロックを複数備え、
前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う複数の前記処理ブロックの内、少なくとも1つの処理ブロックは、前記データの第1の方向に前記メモリ内の前記バンクにアクセスし、
前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う複数の前記処理ブロックの内、少なくとも1つの他の処理ブロックは、前記データの第2の方向に前記メモリ内の前記バンクにアクセスする、
ことを特徴とする請求項1から請求項5のいずれか1の項に記載のデータ処理装置。
The data is
Data consisting of areas in a first direction and a second direction;
The data processing device
Comprising a plurality of the processing blocks for changing the order of accessing the banks in the memory;
At least one processing block of the plurality of processing blocks that perform a change in order of accessing the banks in the memory accesses the bank in the memory in the first direction of the data,
At least one other processing block out of the plurality of processing blocks performing a change of the order of accessing the banks in the memory accesses the banks in the memory in the second direction of the data.
The data processing apparatus according to claim 1, wherein the data processing apparatus is a data processing apparatus.
前記データは、
画像データであり、
前記第1の方向は、
前記画像データの水平方向であり、
前記第2の方向は、
前記画像データの垂直方向である、
ことを特徴とする請求項6に記載のデータ処理装置。
The data is
Image data,
The first direction is:
The horizontal direction of the image data,
The second direction is
A vertical direction of the image data;
The data processing apparatus according to claim 6.
共通バスに接続された複数の処理ブロックと、複数のバンクを有するアドレス空間からなるメモリと、複数の前記処理ブロックから出力される前記メモリへのアクセス要求を調停し、前記アクセス要求を受け付けた前記処理ブロックと前記メモリとの間での前記共通バスを介したデータの受け渡しを制御する共通バス調停部と、を具備したデータ処理装置において、
複数の前記処理ブロックの内、少なくとも1つの処理ブロックに備えられ、予め定めた前記データの順番に基づいて前記メモリとの間で受け渡しを行う前記データの順番を制御することによって、該処理ブロックが前記共通バスを介して前記メモリとの間で前記データの受け渡しを行う際に、前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う、
ことを特徴とするデータ転送制御装置。
A plurality of processing blocks connected to a common bus, a memory composed of an address space having a plurality of banks, and arbitrating access requests to the memory output from the plurality of processing blocks, and accepting the access request In a data processing apparatus comprising: a common bus arbitration unit that controls data transfer between the processing block and the memory via the common bus;
The processing block is provided in at least one processing block among the plurality of processing blocks, and controls the order of the data to be transferred to and from the memory based on the predetermined order of the data. When transferring the data to and from the memory via the common bus, the order of accessing the banks in the memory is changed.
A data transfer control device.
JP2013121934A 2013-06-10 2013-06-10 Data processing device and data transfer control device Active JP6210742B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013121934A JP6210742B2 (en) 2013-06-10 2013-06-10 Data processing device and data transfer control device
US14/289,706 US9672174B2 (en) 2013-06-10 2014-05-29 Data-processing apparatus and data transfer control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013121934A JP6210742B2 (en) 2013-06-10 2013-06-10 Data processing device and data transfer control device

Publications (2)

Publication Number Publication Date
JP2014238768A JP2014238768A (en) 2014-12-18
JP6210742B2 true JP6210742B2 (en) 2017-10-11

Family

ID=52006480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013121934A Active JP6210742B2 (en) 2013-06-10 2013-06-10 Data processing device and data transfer control device

Country Status (2)

Country Link
US (1) US9672174B2 (en)
JP (1) JP6210742B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11243804B2 (en) * 2019-11-19 2022-02-08 Micron Technology, Inc. Time to live for memory access by processors
US11199995B2 (en) 2019-11-19 2021-12-14 Micron Technology, Inc. Time to live for load commands

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11143770A (en) * 1997-11-10 1999-05-28 Nec Corp Multi-bank dram controller
JP2002049581A (en) * 2000-08-04 2002-02-15 Nec Corp Bus arbitration method and bus controller
CN100580640C (en) * 2003-01-27 2010-01-13 松下电器产业株式会社 Memory controller
JP2005011029A (en) * 2003-06-18 2005-01-13 Matsushita Electric Ind Co Ltd Memory access control device
JP4786209B2 (en) * 2005-03-18 2011-10-05 パナソニック株式会社 Memory access device
JP2008276638A (en) * 2007-05-02 2008-11-13 Elpida Memory Inc Semiconductor storage device, memory access control system and method for reading data
JP4710875B2 (en) * 2007-06-18 2011-06-29 セイコーエプソン株式会社 Display controller, electronic device, and image data supply method
JP5340658B2 (en) * 2007-07-10 2013-11-13 インターナショナル・ビジネス・マシーンズ・コーポレーション Command-optimized memory controller read queue dynamic optimization
JP4752882B2 (en) 2008-07-24 2011-08-17 ソニー株式会社 MEMORY ACCESS SYSTEM, MEMORY CONTROL DEVICE, MEMORY CONTROL METHOD, AND PROGRAM
JP2010282405A (en) * 2009-06-04 2010-12-16 Renesas Electronics Corp Data processing system
JP5396169B2 (en) 2009-06-22 2014-01-22 オリンパス株式会社 Data access control device
TW201239632A (en) * 2011-03-16 2012-10-01 Sunplus Technology Co Ltd Memory access system and method for optimizing SDRAM bandwidth
KR20130065957A (en) * 2011-12-12 2013-06-20 숭실대학교산학협력단 Control apparatus of memory and control method thereof, and recording medium storing program for executing method of the same in computer
KR101292309B1 (en) * 2011-12-27 2013-07-31 숭실대학교산학협력단 Semiconductor chip and control method of memory, and recording medium storing program for executing method of the same in computer
JP2013167797A (en) * 2012-02-16 2013-08-29 Canon Inc Image forming device and control method thereof

Also Published As

Publication number Publication date
JP2014238768A (en) 2014-12-18
US20140365706A1 (en) 2014-12-11
US9672174B2 (en) 2017-06-06

Similar Documents

Publication Publication Date Title
JP6210743B2 (en) Data processing device and data transfer control device
JP5593060B2 (en) Image processing apparatus and method of operating image processing apparatus
JP3781634B2 (en) Image processing apparatus, image processing method, and portable video device
US20190079881A1 (en) Memory access control device, image processing device, and imaging device
US10803589B2 (en) Image processing device
JP5591022B2 (en) Bus bandwidth monitoring device and bus bandwidth monitoring method
JP4895355B2 (en) Memory control device
US9026697B2 (en) Data processing apparatus
US20190057053A1 (en) Data transfer device, image processing device, and imaging device
JP6210742B2 (en) Data processing device and data transfer control device
JP2015219592A (en) Image processor, imaging device, and image processing method
JP6539509B2 (en) Data transfer apparatus and data transfer method
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
US20180068413A1 (en) Image processing device and image processing method
JP5583563B2 (en) Data processing device
US20100030978A1 (en) Memory controller, memory control method, and image processing device
JPWO2018134882A1 (en) Memory access device, image processing device, and imaging device
US20140009478A1 (en) Image processing apparatus and control method
JP6564625B2 (en) Data transfer apparatus and data transfer method
JP4640434B2 (en) Digital camera
WO2019043823A1 (en) Memory access device, image processing device and imaging device
JP2005311745A (en) Image processor
JP2005227479A (en) Image processor, image processing method, and program having image processing method executed by computer
JP2016103169A (en) Image processing apparatus, image processing method, and electronic apparatus
WO2020008522A1 (en) Bus arbitration device, bus arbitration system, and imaging device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170426

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170829

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170912

R151 Written notification of patent or utility model registration

Ref document number: 6210742

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250