JP2019185446A - Image processing device and image processing method - Google Patents

Image processing device and image processing method Download PDF

Info

Publication number
JP2019185446A
JP2019185446A JP2018076407A JP2018076407A JP2019185446A JP 2019185446 A JP2019185446 A JP 2019185446A JP 2018076407 A JP2018076407 A JP 2018076407A JP 2018076407 A JP2018076407 A JP 2018076407A JP 2019185446 A JP2019185446 A JP 2019185446A
Authority
JP
Japan
Prior art keywords
data
sram
fraction
address
written
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018076407A
Other languages
Japanese (ja)
Inventor
谷口 浩之
Hiroyuki Taniguchi
浩之 谷口
稔 坂井田
Minoru Sakaida
稔 坂井田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2018076407A priority Critical patent/JP2019185446A/en
Publication of JP2019185446A publication Critical patent/JP2019185446A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)

Abstract

To provide an image processing device and an image processing method capable of improving the transmission efficiency of image data.SOLUTION: The image processing device includes: processing means for sequentially outputting each of a plurality of blocks constituting an image; a memory capable of being accessed in a predetermined access unit; and first writing means for writing, to the memory, combined data obtained by combining first data corresponding to a part of a first block of a plurality of blocks with second data not corresponding to the first block and aligned to the access unit.SELECTED DRAWING: Figure 5

Description

本発明は、画像処理装置及び画像処理方法に関する。   The present invention relates to an image processing apparatus and an image processing method.

デジタルカメラ等の画像処理装置においては、画素補間、ホワイトバランス、シャープネス、ノイズ低減、縮小/拡大等の各種画像処理が行われる。これらの画像処理においては、ワークエリアとして機能し得るDRAM(Dynamic Random Access Memory)等のメモリに画像データが一時的に格納される。   In an image processing apparatus such as a digital camera, various types of image processing such as pixel interpolation, white balance, sharpness, noise reduction, and reduction / enlargement are performed. In these image processes, image data is temporarily stored in a memory such as a DRAM (Dynamic Random Access Memory) that can function as a work area.

特許文献1には、DRAMの複数のページの境界を横断するアクセスが発生しても、ページミスによるアクセスのオーバーヘッドの増大を軽減し得る画像処理装置が開示されている。   Patent Document 1 discloses an image processing apparatus capable of reducing an increase in access overhead due to a page miss even when an access crossing a boundary between a plurality of pages of a DRAM occurs.

特開2012−43191号公報JP 2012-43191 A

しかしながら、メモリのアクセス単位にアラインしないサイズの画像データをメモリに書き込む際に、書き込み速度の低下が生じる場合がある。   However, when image data having a size that is not aligned with the memory access unit is written to the memory, the writing speed may decrease.

本発明の目的は、メモリの書き込み速度の低下を抑制し得る画像処理装置及び画像処理方法を提供することにある。   An object of the present invention is to provide an image processing apparatus and an image processing method capable of suppressing a decrease in writing speed of a memory.

実施形態の一観点によれば、画像を構成する複数のブロックの各々を順次出力する処理手段と、所定のアクセス単位でアクセスされるメモリと、前記複数のブロックのうちの第1のブロックの一部に対応する第1のデータに、前記第1のブロックに対応しない第2のデータを結合することにより得られるとともに、前記アクセス単位にアラインする結合データを、前記メモリに書き込む第1の書き込み手段とを有することを特徴とする画像処理装置が提供される。   According to one aspect of the embodiment, a processing unit that sequentially outputs each of a plurality of blocks constituting an image, a memory accessed in a predetermined access unit, and a first block of the plurality of blocks First writing means for writing, into the memory, combined data obtained by combining the second data not corresponding to the first block with the first data corresponding to the first block, and aligned to the access unit An image processing apparatus is provided.

本発明によれば、メモリの書き込み速度の低下を抑制し得る画像処理装置及び画像処理方法を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the image processing apparatus and image processing method which can suppress the fall of the writing speed of memory can be provided.

第1実施形態による画像処理装置を示すブロック図である。1 is a block diagram illustrating an image processing apparatus according to a first embodiment. 第1実施形態による画像処理装置のデータ転送部に備えられたWRDMACを示すブロック図である。It is a block diagram which shows WRDMAC with which the data transfer part of the image processing apparatus by 1st Embodiment was equipped. 第1実施形態による画像処理装置のWRDMACに備えられたSRAMのデータ格納領域の構成の例を示す図である。It is a figure which shows the example of a structure of the data storage area of SRAM with which WRDMAC of the image processing apparatus by 1st Embodiment was equipped. 第1実施形態による画像処理装置の動作を示すタイミングチャートである。3 is a timing chart illustrating an operation of the image processing apparatus according to the first embodiment. 第1実施形態による画像処理装置の動作を示すタイミングチャートである。3 is a timing chart illustrating an operation of the image processing apparatus according to the first embodiment. 1フレームの画像に対応する仮想的なアドレス空間を示す図である。It is a figure which shows the virtual address space corresponding to the image of 1 frame. 第2実施形態による画像処理装置のデータ転送部に備えられたWRDMACを示すブロック図である。It is a block diagram which shows WRDMAC with which the data transfer part of the image processing apparatus by 2nd Embodiment was equipped. 第2実施形態による画像処理装置のWRDMACにそれぞれ備えられたSRAMのデータ格納領域の構成の例を示す図である。It is a figure which shows the example of a structure of the data storage area | region of SRAM each provided in WRDMAC of the image processing apparatus by 2nd Embodiment. 第3実施形態による画像処理装置の動作の例を示すフローチャートである。12 is a flowchart illustrating an example of an operation of the image processing apparatus according to the third embodiment. 第4実施形態による画像処理装置のWRDMACに備えられたSRAMのデータ格納領域の構成の例を示す図である。It is a figure which shows the example of a structure of the data storage area of SRAM with which WRDMAC of the image processing apparatus by 4th Embodiment was equipped. 第4実施形態による画像処理装置の動作を示すタイミングチャートである。It is a timing chart which shows operation of an image processing device by a 4th embodiment. 第4実施形態による画像処理装置の動作を示すタイミングチャートである。It is a timing chart which shows operation of an image processing device by a 4th embodiment. 1フレームの画像に対応する仮想的なアドレス空間を示す図である。It is a figure which shows the virtual address space corresponding to the image of 1 frame. 第5実施形態による画像処理装置のデータ転送部に備えられたRDDMACを示すブロック図である。It is a block diagram which shows RDDMAC with which the data transfer part of the image processing apparatus by 5th Embodiment was equipped. データをDRAMに書き込む際のブロック分割と、DRAMに書き込まれたデータを読み出す際のブロック分割とを概念的に示す図である。It is a figure which shows notionally the block division at the time of writing data in DRAM, and the block division at the time of reading the data written in DRAM. 第5実施形態による画像処理装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the image processing apparatus by 5th Embodiment. 第6実施形態による画像処理装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the image processing apparatus by 6th Embodiment.

以下、図面を参照して本発明の実施形態を説明する。ただし、本発明は以下の実施形態に限定されるものではない。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention is not limited to the following embodiments.

[第1実施形態]
第1実施形態による画像処理装置及び画像処理方法について図1乃至図5を用いて説明する。
[First Embodiment]
The image processing apparatus and the image processing method according to the first embodiment will be described with reference to FIGS.

図1は、本実施形態による画像処理装置を示すブロック図である。本実施形態では、画像処理装置100がデジタルカメラである場合を例として説明するが、これに限定されるものではない。   FIG. 1 is a block diagram illustrating the image processing apparatus according to the present embodiment. In the present embodiment, a case where the image processing apparatus 100 is a digital camera will be described as an example, but the present invention is not limited to this.

画像処理装置100は、撮像素子102と、A/D変換部103と、画像処理部104と、データ転送部105と、メモリ制御部106と、DRAM107とを有する。画像処理装置100は、不揮発性メモリ制御部108と、ROM(Read Only Memory)109と、表示制御部110と、表示部111とを更に有する。画像処理装置100は、CPU(Central Processing Unit)112と、操作部113と、システムバス(バスライン)114と、メモリバス(バスライン)115とを更に有する。画像処理装置100には、撮像光学系101が備えられる。撮像光学系は、画像処理装置100のボディから着脱可能であってもよいし着脱不能であってもよい。   The image processing apparatus 100 includes an image sensor 102, an A / D conversion unit 103, an image processing unit 104, a data transfer unit 105, a memory control unit 106, and a DRAM 107. The image processing apparatus 100 further includes a nonvolatile memory control unit 108, a ROM (Read Only Memory) 109, a display control unit 110, and a display unit 111. The image processing apparatus 100 further includes a CPU (Central Processing Unit) 112, an operation unit 113, a system bus (bus line) 114, and a memory bus (bus line) 115. The image processing apparatus 100 includes an imaging optical system 101. The imaging optical system may be removable from the body of the image processing apparatus 100 or may not be removable.

撮像光学系(結像光学部)101は、レンズ、絞り等を備える。撮像光学系101は、撮影の際に、フォーカス調節、露出調節等を行う。撮像光学系101は、撮像素子102の撮像面に被写体の光学像を結像する。   The imaging optical system (imaging optical unit) 101 includes a lens, a diaphragm, and the like. The imaging optical system 101 performs focus adjustment, exposure adjustment, and the like during shooting. The imaging optical system 101 forms an optical image of a subject on the imaging surface of the image sensor 102.

撮像素子(固体撮像素子)102は、光学像を電気信号(アナログの画像信号)に変換する光電変換機能を有する。撮像素子102は、例えばCCDイメージセンサ、CMOSセンサ等によって構成される。   The image sensor (solid-state image sensor) 102 has a photoelectric conversion function for converting an optical image into an electrical signal (analog image signal). The image sensor 102 is configured by, for example, a CCD image sensor, a CMOS sensor, or the like.

A/D変換部103は、撮像素子102から出力されるアナログの画像信号をデジタルの画像信号に変換する。なお、ここでは、A/D変換部103が撮像素子102と別個に設けられている場合を例に説明するが、これに限定されるものではない。A/D変換部103が撮像素子102に備えられていてもよい。例えば、A/D変換部103は、4K解像度の画像を示すデジタル画像信号を出力するものとする。   The A / D conversion unit 103 converts an analog image signal output from the image sensor 102 into a digital image signal. Here, a case where the A / D conversion unit 103 is provided separately from the image sensor 102 will be described as an example, but the present invention is not limited to this. An A / D conversion unit 103 may be provided in the image sensor 102. For example, the A / D conversion unit 103 outputs a digital image signal indicating a 4K resolution image.

CPU112は、画像処理装置100の全体の制御を司る。CPU112は、マイクロコンピュータ等を備える。CPU112は、画像処理装置100に備えられた各機能ブロックを制御する。CPU112は、システムバス114を介して各機能ブロックを制御する。システムバス114と別個に設けられたメモリバス115を介して、画像データの転送等が行われる。   The CPU 112 governs overall control of the image processing apparatus 100. The CPU 112 includes a microcomputer and the like. The CPU 112 controls each functional block provided in the image processing apparatus 100. The CPU 112 controls each functional block via the system bus 114. Image data is transferred through a memory bus 115 provided separately from the system bus 114.

DRAM(揮発性メモリ)107は、データ等が一時的に格納される記憶媒体(メモリ)である。例えば、静止画像、動画像、音声データ、CPU112を動作させるための定数、CPU112を動作させるためのプログラム等がDRAM107に格納される。DRAM107は、これらを格納するのに十分な記憶容量を備える。DRAM107は、所定のアクセス単位でアクセスされる。DRAM107におけるバーストアクセス単位(アクセス単位、メモリアクセス単位)は、例えば32バイトである。DRAM107は、例えば、LPDDR4(Low Power Double−Data−Rate4)規格に準拠したDRAMであるものとする。バーストアクセス単位にアラインしないサイズのデータをLPDDR4規格のDRAMに書き込む際には、Masked Writeコマンドを発行することを要する。Masked Writeコマンドが発行された場合には、Read Modify Writeの動作が行われる。Read Modify Writeの動作が実行されている間は、他のコマンドを処理することができない。したがって、バーストアクセス単位にアラインしないサイズのデータを含むデータをDRAM107に書き込むためには、長時間を要する。メモリ制御部106は、CPU112又はデータ転送部105からの指示に基づいて、DRAM107に対するデータの書き込み及び読み出しを行う。メモリ制御部106は、DRAM107に対して、データの書き込み及び読み出しのためのコマンドを発行する。なお、本実施形態では、LPDDR4規格のDRAM107を用いる場合を例に説明するが、これに限定されるものではない。高速で書き込みや読み出しを行い得るメモリを適宜用い得る。   A DRAM (volatile memory) 107 is a storage medium (memory) in which data and the like are temporarily stored. For example, still images, moving images, audio data, constants for operating the CPU 112, programs for operating the CPU 112, and the like are stored in the DRAM 107. The DRAM 107 has a storage capacity sufficient to store these. The DRAM 107 is accessed in a predetermined access unit. The burst access unit (access unit, memory access unit) in the DRAM 107 is, for example, 32 bytes. The DRAM 107 is, for example, a DRAM that conforms to the LPDDR4 (Low Power Double-Data-Rate 4) standard. When writing data of a size that is not aligned in burst access units to a DRAM of the LPDDR4 standard, it is necessary to issue a Masked Write command. When the Masked Write command is issued, the Read Modify Write operation is performed. While the Read Modify Write operation is being executed, other commands cannot be processed. Therefore, it takes a long time to write data including data of a size not aligned in burst access units to the DRAM 107. The memory control unit 106 writes and reads data to and from the DRAM 107 based on instructions from the CPU 112 or the data transfer unit 105. The memory control unit 106 issues commands for writing and reading data to the DRAM 107. In the present embodiment, the case where the DRAM 107 of the LPDDR4 standard is used is described as an example, but the present invention is not limited to this. A memory capable of writing and reading at high speed can be used as appropriate.

不揮発性メモリ制御部108は、CPU112からの指示に基づいて、ROM(不揮発性メモリ)109に対してデータの読み出しを行う。ROM109としては、例えばEEPROM(Electrically Erasable Programmable Read−Only Memory)等が用いられる。ROM109には、CPU112を動作させるための定数、CPU112を動作させるためのプログラム等が記憶される。   The nonvolatile memory control unit 108 reads data from a ROM (nonvolatile memory) 109 based on an instruction from the CPU 112. As the ROM 109, for example, an EEPROM (Electrically Erasable Programmable Read-Only Memory) or the like is used. The ROM 109 stores constants for operating the CPU 112, programs for operating the CPU 112, and the like.

CPU112は、システムバス114を介して、画像処理部104、データ転送部105、メモリ制御部106、不揮発性メモリ制御部108、表示制御部110、操作部113、撮像素子102等を制御する。ROM109に記録されたプログラムがCPU112によって実行されることにより、本実施形態による画像処理装置100によって様々な処理が行われる。   The CPU 112 controls the image processing unit 104, the data transfer unit 105, the memory control unit 106, the nonvolatile memory control unit 108, the display control unit 110, the operation unit 113, the image sensor 102, and the like via the system bus 114. When the program recorded in the ROM 109 is executed by the CPU 112, various processes are performed by the image processing apparatus 100 according to the present embodiment.

表示部111は、例えば液晶表示装置(液晶モニタ)等を備える。表示部111は、表示制御部110により制御される。各種の画像データ等が表示部111に表示される。操作部113は、ユーザによって操作されるスイッチ、ボタン等を含む。電源のON/OFF、シャッタのON/OFF等が、操作部113が操作されることによって行われる。   The display unit 111 includes, for example, a liquid crystal display device (liquid crystal monitor). The display unit 111 is controlled by the display control unit 110. Various image data and the like are displayed on the display unit 111. The operation unit 113 includes switches, buttons, and the like operated by the user. Power ON / OFF, shutter ON / OFF, and the like are performed by operating the operation unit 113.

画像処理部104は、各種画像処理を行うモジュール(画像処理モジュール)と、バッファメモリとを備える。データ転送部105は、データ転送を行う複数のDMAC(Direct Memory Access Controller)を備えている。   The image processing unit 104 includes a module (image processing module) that performs various types of image processing, and a buffer memory. The data transfer unit 105 includes a plurality of DMACs (Direct Memory Access Controllers) that perform data transfer.

図2は、本実施形態による画像処理装置100のデータ転送部105に備えられたWRDMAC202を示すブロック図である。図2には、画像処理部104に備えられたモジュール201と、データ転送部105に備えられたWRDMAC202と、メモリバス115とが示されている。図3は、本実施形態による画像処理装置100のWRDMAC202に備えられたSRAM207のデータ格納領域の構成の例を示す図である。   FIG. 2 is a block diagram showing the WRDMAC 202 provided in the data transfer unit 105 of the image processing apparatus 100 according to the present embodiment. 2 shows a module 201 provided in the image processing unit 104, a WRDMAC 202 provided in the data transfer unit 105, and a memory bus 115. FIG. 3 is a diagram showing an example of the configuration of the data storage area of the SRAM 207 provided in the WRDMAC 202 of the image processing apparatus 100 according to the present embodiment.

モジュールA(MODULE A)、即ち、モジュール201は、所定の画像処理を行う。モジュール201とWRDMAC202とは、信号線DATA_A、VALID_A、STOP_Aによって接続されている。モジュール201によって所定の処理が施されたデータは、信号線DATA_Aを介してWRDMAC202に伝送される。有効データ出力期間である場合にのみ、モジュール201からWRDMAC202に供給される信号VALID_AがHighレベルとなる。WRDMAC202が何らかの要因によってBUSY状態となり、WRDMAC202がデータを受け付け得ない状態である場合には、WRDMAC202からモジュール201に供給されるSTOP_A信号がHighレベルとなる。STOP_A信号がHighレベルになると、モジュール201からWRDMAC202へのデータの伝送が停止される。モジュール201は、画像を構成する複数のブロックの各々を順次出力する処理手段として機能し得る。   Module A (MODULE A), that is, module 201 performs predetermined image processing. The module 201 and the WRDMAC 202 are connected by signal lines DATA_A, VALID_A, and STOP_A. Data that has undergone predetermined processing by the module 201 is transmitted to the WRDMAC 202 via the signal line DATA_A. Only in the valid data output period, the signal VALID_A supplied from the module 201 to the WRDMAC 202 is at a high level. When the WRDMAC 202 is in a BUSY state due to some cause and the WRDMAC 202 cannot accept data, the STOP_A signal supplied from the WRDMAC 202 to the module 201 becomes a high level. When the STOP_A signal becomes high level, data transmission from the module 201 to the WRDMAC 202 is stopped. The module 201 can function as a processing unit that sequentially outputs each of a plurality of blocks constituting an image.

WRDMAC(WRDMAC_0)202には、アドレス演算部203、書き込み制御部204、SRAM207、読み出し制御部208、バスI/F部209が備えられている。   The WRDMAC (WRDMAC — 0) 202 includes an address calculation unit 203, a write control unit 204, an SRAM 207, a read control unit 208, and a bus I / F unit 209.

アドレス演算部203は、DRAM107に対するデータの書き込み等を行う際のアドレス値を演算する。また、アドレス演算部203は、DRAM107に画像データを書き込む際の先頭アドレス、即ち、スタートアドレスを管理・制御する。アドレス演算部203は、アドレスのインクリメントを行い得る。アドレス演算部203は、データ転送長等の管理・制御を行う。データ転送長の制御においては、1回のアドレス指定によって連続してアクセス可能なワード数に対応するように転送バースト長が設定される。なお、ここでは、1ワードが32バイト、即ち、256ビット(bit)である場合を例に説明するが、これに限定されるものではない。また、ここでは、転送バースト長は、例えば32、64又は128に設定し得る。なお、転送バースト長はこれらに限定されるものではない。また、アドレス演算部203は、オフセット値を加算することによってアドレス値を更新することもできる。   The address calculation unit 203 calculates an address value when writing data to the DRAM 107 or the like. The address calculation unit 203 manages and controls the start address when image data is written in the DRAM 107, that is, the start address. The address calculation unit 203 can increment the address. The address calculation unit 203 manages and controls the data transfer length and the like. In the control of the data transfer length, the transfer burst length is set so as to correspond to the number of words that can be continuously accessed by one addressing. Here, a case where one word is 32 bytes, that is, 256 bits (bits) will be described as an example, but the present invention is not limited to this. Here, the transfer burst length can be set to 32, 64, or 128, for example. Note that the transfer burst length is not limited to these. The address calculation unit 203 can also update the address value by adding the offset value.

書き込み制御部204は、モジュール(MODULE A)201から受信したデータをSRAM207に書き込むための制御を行う。SRAM207は、メモリバンク207aと、メモリバンク207bと、端数データ格納用領域207c(図3参照)とを備えている。例えば、例えば、メモリバンク207a、即ち、BANK0へのデータの書き込みが行われている際、メモリバンク207b、即ち、BANK1からデータの読み出しを行うことが可能である。メモリバンク207a、即ち、BANK0からデータの読み出しが行われている際、メモリバンク207b、即ち、BANK1へのデータの書き込みを行うことが可能である。   The write control unit 204 performs control for writing the data received from the module (MODULE A) 201 to the SRAM 207. The SRAM 207 includes a memory bank 207a, a memory bank 207b, and a fractional data storage area 207c (see FIG. 3). For example, when data is being written to the memory bank 207a, that is, BANK0, it is possible to read data from the memory bank 207b, that is, BANK1. When data is being read from the memory bank 207a, that is, BANK0, data can be written to the memory bank 207b, that is, BANK1.

書き込み制御部204とSRAM207とは、信号線WR_ADDR_0、WEN_0、DIN_0によって接続されている。書き込み制御部204は、信号線WR_ADDR_0を介して書き込みアドレスをSRAM207に供給する。書き込み制御部204は、信号線DIN_0を介してデータをSRAM207に供給する。書き込み制御部204は、信号線WEN_0を介して書き込みイネーブル信号をSRAM207に供給する。書き込みイネーブル信号WEN_0がHighレベルの際、書き込み制御部204から供給されるデータがSRAM207に書き込まれる。   The write controller 204 and the SRAM 207 are connected by signal lines WR_ADDR_0, WEN_0, and DIN_0. The write control unit 204 supplies a write address to the SRAM 207 via the signal line WR_ADDR_0. The write control unit 204 supplies data to the SRAM 207 via the signal line DIN_0. The write control unit 204 supplies a write enable signal to the SRAM 207 via the signal line WEN_0. When the write enable signal WEN_0 is at a high level, data supplied from the write control unit 204 is written into the SRAM 207.

読み出し制御部208は、SRAM207からデータを読み出し、読み出したデータをバスI/F部209に供給する。読み出し制御部208とSRAM207とは、信号線RD_ADDR_0、REN_0、DOUT_0によって接続されている。読み出し制御部208は、信号線RD_ADDR_0を介して読み出しアドレスをSRAM207に供給する。読み出し制御部208は、信号線DOUT_0を介してデータをSRAM207から読み出す。信号REN_0がHighレベルの際、SRAM207から出力されるデータが読み出し制御部208によって読み出される。   The read control unit 208 reads data from the SRAM 207 and supplies the read data to the bus I / F unit 209. The read control unit 208 and the SRAM 207 are connected by signal lines RD_ADDR_0, REN_0, and DOUT_0. The read control unit 208 supplies a read address to the SRAM 207 via the signal line RD_ADDR_0. The read control unit 208 reads data from the SRAM 207 via the signal line DOUT_0. When the signal REN_0 is at a high level, the data output from the SRAM 207 is read by the read control unit 208.

バスI/F部209は、メモリバス115を介して各機能ブロックとの間で信号の授受を行うためのインターフェースである。バスI/F部209とアドレス演算部203とは、信号線MEM_ADDR_0を介して接続されている。DRAM107に対して書き込みを開始する際のアドレスである書き込み開始アドレスが、アドレス演算部203からバスI/F部209に信号線MEM_ADDR_0を介して供給される。また、転送バースト長を示す情報が、アドレス演算部203からバスI/F部209に信号線MEM_ADDR_0を介して供給される。   The bus I / F unit 209 is an interface for exchanging signals with each functional block via the memory bus 115. The bus I / F unit 209 and the address calculation unit 203 are connected via a signal line MEM_ADDR_0. A write start address, which is an address when writing to the DRAM 107 is started, is supplied from the address arithmetic unit 203 to the bus I / F unit 209 via the signal line MEM_ADDR_0. Also, information indicating the transfer burst length is supplied from the address calculation unit 203 to the bus I / F unit 209 via the signal line MEM_ADDR_0.

DRAM107に対するデータの書き込みは以下のようにして行われる。即ち、モジュール(MODULE A)201からWRDMAC(WRDMAC_0)202に対してデータが供給される。アドレス演算部203は、DRAM107に対して書き込みを開始する際のアドレスである書き込み開始アドレスと、転送バースト長を示す情報とを、信号線MEM_ADDR_0を介してバスI/F部209に供給する。書き込み制御部204は、モジュール201から供給されたデータをSRAM207に書き込む。SRAM207のメモリバンク207a、即ち、BANK0に対する書き込みが完了すると、バスI/F部209は、データの転送の許可を要求するための信号であるリクエスト信号REQ_0を、メモリバス115を介して伝送する。また、バスI/F部209は、書き込み開始アドレスと、転送バースト長を示す情報とを、メモリバス115を介して伝送する。DRAM107が書き込み可能な状態になると、書き込みを許可することを示すHighレベルの許可信号ACK_0がメモリバス115を介してバスI/F部209に供給される。読み出し制御部208は、SRAM207のメモリバンク207a、即ち、BANK0から信号線DOUT_0を介してデータを読み出し、読み出したデータを信号線WDATA_0及びメモリバス115を介して伝送する。SRAM207のメモリバンク207aからのデータの読み出しと並行して、SRAM207のメモリバンク207bへのデータの書き込みが行われる。メモリバンク207aとメモリバンク207bとに対する書き込み及び読み出しが交互に継続的に行われることによって、モジュール201から供給されるデータ(画像データ)がメモリバス115を介してDRAM107に書き込まれる。   Data writing to the DRAM 107 is performed as follows. That is, data is supplied from the module (MODULE A) 201 to the WRDMAC (WRDMAC — 0) 202. The address calculation unit 203 supplies a write start address, which is an address when starting writing to the DRAM 107, and information indicating the transfer burst length to the bus I / F unit 209 via the signal line MEM_ADDR_0. The write control unit 204 writes the data supplied from the module 201 to the SRAM 207. When writing to the memory bank 207a of the SRAM 207, that is, BANK0, is completed, the bus I / F unit 209 transmits a request signal REQ_0, which is a signal for requesting permission to transfer data, via the memory bus 115. The bus I / F unit 209 transmits the write start address and information indicating the transfer burst length via the memory bus 115. When the DRAM 107 is in a writable state, a high-level permission signal ACK_ 0 indicating that writing is permitted is supplied to the bus I / F unit 209 via the memory bus 115. The read control unit 208 reads data from the memory bank 207 a of the SRAM 207, that is, BANK 0 through the signal line DOUT_ 0, and transmits the read data through the signal line WDATA_ 0 and the memory bus 115. In parallel with the reading of data from the memory bank 207a of the SRAM 207, data is written to the memory bank 207b of the SRAM 207. Data (image data) supplied from the module 201 is written to the DRAM 107 via the memory bus 115 by alternately and continuously writing to and reading from the memory bank 207a and the memory bank 207b.

WRDMAC202は、DRAM107のアクセス単位にアラインする結合データをメモリに書き込む書き込み手段として機能し得る。結合データは、例えば、複数のブロックのうちの第1のブロックの一部に対応する第1のデータに、第1のブロックに対応しない第2のデータを結合することにより得られる。   The WRDMAC 202 can function as a writing unit that writes the combined data aligned with the access unit of the DRAM 107 to the memory. The combined data is obtained, for example, by combining the second data that does not correspond to the first block with the first data that corresponds to a part of the first block among the plurality of blocks.

図5は、1フレームの画像に対応する仮想的なアドレス空間を示す図である。図5に示すように、1フレームの画像データを水平方向に4分割するとともに垂直方向に3分割することによって矩形の分割ブロック(分割領域)501a〜501lが画定されている。モジュール201からWRDMAC202へは、分割ブロック501a〜501lを単位とするデータの伝送が実行される。また、WRDMAC202からDRAM107へも、分割ブロック501a〜501lを単位とするデータの伝送が実行される。なお、本明細書においては、個々の分割ブロックについて説明する際には、符号501a〜501lを用い、分割ブロック一般について説明する際には、符号501を用いることとする。各々の分割ブロック501は、複数のライン(ブロック)503が含まれている。図5における矢印は、アクセスの順序を概念的に示している。なお、1フレームの画像の左上端の画素のデータが書き込まれるアドレスが、当該画像データが書き込まれるアドレス領域の先頭のアドレスとなる。当該画像データの先頭が書き込まれるアドレスは、例えばDRAM107の0x1000番地とする。当該画像の第1番目のラインから最終のラインまでが連続したアドレスに順次書き込まれる。当該画像の第n番目のラインの最後尾に位置する画素のデータが書き込まれるアドレスの次のアドレスには、当該画像の第n+1番目のラインの先頭に位置する画素のデータが書き込まれる。当該画像の右下端に位置する画素のデータが書き込まれるアドレスが、当該画像データが書き込まれるアドレス領域の最後尾のアドレスとなる。   FIG. 5 is a diagram illustrating a virtual address space corresponding to an image of one frame. As shown in FIG. 5, rectangular divided blocks (divided areas) 501a to 501l are defined by dividing one frame of image data into four in the horizontal direction and three in the vertical direction. From the module 201 to the WRDMAC 202, data transmission is executed in units of divided blocks 501a to 501l. Also, data transmission is performed from WRDMAC 202 to DRAM 107 in units of divided blocks 501a to 501l. In this specification, reference numerals 501a to 501l are used when describing individual divided blocks, and reference numerals 501 are used when general divided blocks are described. Each divided block 501 includes a plurality of lines (blocks) 503. The arrows in FIG. 5 conceptually indicate the access order. Note that the address at which the pixel data at the upper left corner of the image of one frame is written becomes the head address of the address area in which the image data is written. The address at which the head of the image data is written is, for example, address 0x1000 of the DRAM 107. The first line to the last line of the image are sequentially written at consecutive addresses. The data of the pixel located at the head of the (n + 1) th line of the image is written at the address next to the address where the data of the pixel located at the tail of the nth line of the image is written. The address to which the data of the pixel located at the lower right corner of the image is written is the last address in the address area to which the image data is written.

まず、図5の左上に位置する分割ブロック501aの画像データが伝送される。分割ブロック501aの画像データの伝送が完了した後には、分割ブロック501aの右側に位置する分割ブロック501bの画像データの伝送が行われる。分割ブロック501bの画像データの伝送が完了した後には、分割ブロック501bの右側に位置する分割ブロック501cの画像データの伝送が行われる。分割ブロック501cの画像データの伝送が完了した後には、分割ブロック501cの右側に位置する分割ブロック501dの画像データの伝送が行われる。このように、第1番目のブロックライン502aに位置する分割ブロック501a〜501dの画像データの伝送が順次行われる。第1番目のブロックライン502aに位置する分割ブロック501a〜501dの画像データの伝送が完了した後には、第2番目のブロックライン502bに位置する分割ブロック501e〜501hの画像データの伝送が順次行われる。第2番目のブロックライン502bに位置する分割ブロック501e〜501hの画像データの伝送が完了した後には、第3番目のブロックライン502cに位置する分割ブロック501i〜501lの画像データの伝送が順次行われる。このように、画像データの伝送は分割ブロック501を単位として行われる。一方、上述したように、DRAM107においては、画像の第1番目のラインから最終のラインまでが連続したアドレスに書き込まれることを要する。分割ブロック501の水平方向におけるデータサイズは例えば502バイトである。分割ブロック501の垂直方向におけるラインの数は例えば64である。   First, the image data of the divided block 501a located at the upper left of FIG. 5 is transmitted. After the transmission of the image data of the divided block 501a is completed, the image data of the divided block 501b located on the right side of the divided block 501a is transmitted. After the transmission of the image data of the divided block 501b is completed, the image data of the divided block 501c located on the right side of the divided block 501b is transmitted. After the transmission of the image data of the divided block 501c is completed, the transmission of the image data of the divided block 501d located on the right side of the divided block 501c is performed. As described above, the image data of the divided blocks 501a to 501d positioned on the first block line 502a is sequentially transmitted. After the transmission of the image data of the divided blocks 501a to 501d positioned on the first block line 502a is completed, the transmission of the image data of the divided blocks 501e to 501h positioned on the second block line 502b is sequentially performed. . After the transmission of the image data of the divided blocks 501e to 501h positioned on the second block line 502b is completed, the transmission of the image data of the divided blocks 501i to 501l positioned on the third block line 502c is sequentially performed. . As described above, transmission of image data is performed in units of divided blocks 501. On the other hand, as described above, in the DRAM 107, it is necessary that the first line to the last line of the image are written in continuous addresses. The data size in the horizontal direction of the divided block 501 is, for example, 502 bytes. The number of lines in the vertical direction of the divided block 501 is 64, for example.

分割ブロック501に含まれるラインのサイズに対応する転送バースト長で伝送が行われるため、後述するような処理が行われない場合には、以下のような事象が生じ得る。即ち、上述したように分割ブロック501の水平方向におけるデータサイズは例えば502バイトである。一方、DRAM107におけるバーストアクセス単位は、例えば32バイトである。このため、例えば、分割ブロック501aの第1番目のラインの右端において、22バイトの端数データの書き込みアクセスが生じる。このような端数データは、DRAM107におけるバーストアクセス単位にアラインしない。DRAM107におけるバーストアクセス単位にアラインしないこのような端数データが生じた場合には、DRAM107におけるバーストアクセス単位にデータがアラインする場合と比較して、コマンドオーバーヘッドが大きくなってしまう。   Since transmission is performed with a transfer burst length corresponding to the size of a line included in the divided block 501, the following event may occur when processing described later is not performed. That is, as described above, the data size in the horizontal direction of the divided block 501 is, for example, 502 bytes. On the other hand, the burst access unit in the DRAM 107 is, for example, 32 bytes. For this reason, for example, 22 bytes of fractional data write access occurs at the right end of the first line of the divided block 501a. Such fraction data is not aligned with the burst access unit in the DRAM 107. When such fraction data that does not align with the burst access unit in the DRAM 107 is generated, the command overhead becomes larger than when data is aligned with the burst access unit in the DRAM 107.

SRAM207は、例えば、512ワード、即ち、16384バイトの容量を有している。SRAM207の0x000番地〜0x07F番地までのアドレスは、BANK0、即ち、メモリバンク207aに割り当てられている。SRAM207の0x080番地〜0x0FF番地までのアドレスは、BANK1、即ち、メモリバンク207bに割り当てられている。SRAM207の0x100番地〜0x1FF番地までのアドレスは、後述する端数データ504LRを格納するための領域、即ち、端数データ格納用領域207cに割り当てられている。   The SRAM 207 has a capacity of, for example, 512 words, that is, 16384 bytes. The addresses from the address 0x000 to the address 0x07F in the SRAM 207 are assigned to BANK0, that is, the memory bank 207a. The addresses from the address 0x080 to the address 0x0FF of the SRAM 207 are assigned to BANK1, that is, the memory bank 207b. The addresses from the address 0x100 to the address 0x1FF of the SRAM 207 are assigned to an area for storing fraction data 504LR, which will be described later, that is, a fraction data storage area 207c.

図4A及び図4Bは、本実施形態による画像処理装置100の動作を示すタイミングチャートである。図4A及び図4Bには、DRAM107にデータを書き込む際におけるSRAM207の動作が示されている。図4A及び図4Bには、信号WR_ADDR_0、WEN_0、DIN_0、RD_ADDR_0、REN_0、DOUT_0が示されている。図4Aには、タイミングt401からタイミングt406までの動作が示されており、図4Bには、タイミングt405からタイミングt410までの動作が示されている。   4A and 4B are timing charts showing the operation of the image processing apparatus 100 according to the present embodiment. 4A and 4B show the operation of the SRAM 207 when data is written to the DRAM 107. FIG. 4A and 4B show signals WR_ADDR_0, WEN_0, DIN_0, RD_ADDR_0, REN_0, and DOUT_0. FIG. 4A shows the operation from timing t401 to timing t406, and FIG. 4B shows the operation from timing t405 to timing t410.

タイミングt401からタイミングt403までの期間411は、モジュール201から出力される分割ブロック501aの画像データがSRAM207に書き込まれる期間である。期間411においては、以下のような処理が行われる。   A period 411 from timing t 401 to timing t 403 is a period in which the image data of the divided block 501 a output from the module 201 is written in the SRAM 207. In the period 411, the following processing is performed.

まず、分割ブロック501aの第1番目のラインのデータのうちの右端に位置する端数データ504a1R(図5参照)以外のデータ504a1C(図5参照)が、SRAM207に書き込まれる。データ504a1Cのサイズは、例えば480バイトである。データ504a1Cは、SRAM207の例えばメモリバンク207a、即ち、BANK0に書き込まれる。データ504a1CをSRAM207に書き込む際の先頭アドレスは、例えば0x000番地である。なお、ライン503に含まれるデータのうちの端数データを除くデータ一般について説明する際には、符号504Cを用いることとする。また、ライン503の右端に位置する端数データ一般について説明する際には、符号504Rを用いることとする。   First, data 504a1C (see FIG. 5) other than the fraction data 504a1R (see FIG. 5) located at the right end of the data of the first line of the divided block 501a is written into the SRAM 207. The size of the data 504a1C is, for example, 480 bytes. The data 504a1C is written into, for example, the memory bank 207a of the SRAM 207, that is, BANK0. The leading address when the data 504a1C is written to the SRAM 207 is, for example, 0x000. Note that reference numeral 504C is used when general data excluding fractional data included in the line 503 is described. Further, when the general fraction data located at the right end of the line 503 is described, reference numeral 504R is used.

次に、分割ブロック501aの第1番目のラインのデータのうちの右端に位置する端数データ504a1Rが、SRAM207に書き込まれる。データ504a1Rのサイズは、例えば22バイトである。データ504a1Rは、SRAM207の端数データ格納用領域207cに書き込まれる。データ504a1RをSRAM207に書き込む際のアドレスは、例えば0x100番地である。   Next, fraction data 504a1R located at the right end of the data of the first line of the divided block 501a is written into the SRAM 207. The size of the data 504a1R is, for example, 22 bytes. The data 504a1R is written into the fraction data storage area 207c of the SRAM 207. The address when writing the data 504a1R to the SRAM 207 is, for example, 0x100.

次に、分割ブロック501aの第2番目のラインのデータのうちの右端に位置する端数データ504a2R以外のデータ504a2Cが、SRAM207に書き込まれる。データ504a2Cのサイズは、例えば480バイトである。データ504a2Cは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。データ504a2CをSRAM207に書き込む際の先頭アドレスは、例えば0x080番地である。   Next, data 504a2C other than the fraction data 504a2R located at the right end of the data of the second line of the divided block 501a is written into the SRAM 207. The size of the data 504a2C is, for example, 480 bytes. The data 504a2C is written into, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when the data 504a2C is written to the SRAM 207 is, for example, 0x080.

次に、分割ブロック501aの第2番目のラインのデータのうちの右端に位置する端数データ504a2Rが、SRAM207に書き込まれる。データ504a2Rのサイズは、例えば22バイトである。データ504a2Rは、SRAM207の端数データ格納用領域207cに書き込まれる。データ504a2RをSRAM207に書き込む際のアドレスは、例えば0x101番地である。   Next, fraction data 504a2R located at the right end of the data of the second line of the divided block 501a is written into the SRAM 207. The size of the data 504a2R is, for example, 22 bytes. The data 504a2R is written to the fraction data storage area 207c of the SRAM 207. An address when the data 504a2R is written to the SRAM 207 is, for example, 0x101.

この後も、上記と同様の処理が、分割ブロック501aの第3番目以降のラインについて順次行われる。分割ブロック501aに含まれているラインは、上述したように例えば64である。分割ブロック501aの第64番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック501aの第64番目のラインのデータのうちの右端に位置する端数データ504a64R以外のデータ504a64Cが、SRAM207に書き込まれる。データ504a64Cのサイズは、例えば480バイトである。データ504a64Cは、SRAM207のメモリバンク207b、即ち、BANK1に書き込まれる。データ504a64CをSRAM207に書き込む際の先頭アドレスは、例えば0x080番地である。この後、分割ブロック501aの第64番目のラインのデータのうちの右端に位置する端数データ504a64Rが、SRAM207に書き込まれる。データ504a64Rのサイズは、例えば22バイトである。データ504a64Rは、SRAM207の端数データ格納用領域207cに書き込まれる。データ504a64RをSRAM207に書き込む際のアドレスは、例えば0x13F番地である。   Thereafter, the same processing as described above is sequentially performed on the third and subsequent lines of the divided block 501a. As described above, the number of lines included in the divided block 501a is 64, for example. The data of the 64th line of the divided block 501a is processed as follows. That is, data 504a64C other than the fraction data 504a64R located at the right end of the data of the 64th line of the divided block 501a is written into the SRAM 207. The size of the data 504a64C is, for example, 480 bytes. The data 504a64C is written into the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when the data 504a64C is written to the SRAM 207 is, for example, 0x080. Thereafter, fraction data 504a64R located at the right end of the data of the 64th line of the divided block 501a is written into the SRAM 207. The size of the data 504a64R is, for example, 22 bytes. The data 504a64R is written into the fraction data storage area 207c of the SRAM 207. The address when writing the data 504a64R to the SRAM 207 is, for example, address 0x13F.

タイミングt402からタイミングt404までの期間412は、分割ブロック501aの画像データがSRAM207から読み出される期間である。期間412の一部は、上述した期間411の一部と重複している。期間412においては、以下のような処理が行われる。   A period 412 from timing t402 to timing t404 is a period in which the image data of the divided block 501a is read from the SRAM 207. A part of the period 412 overlaps with a part of the period 411 described above. In the period 412, the following processing is performed.

まず、分割ブロック501aの第1番目のラインのデータのうちの右端に位置する端数データ504a1R以外のデータ504a1Cが、SRAM207から読み出される。データ504a1Cのサイズは、上述したように例えば480バイトである。データ504a1Cは、SRAM207のメモリバンク207a、即ち、BANK0から読み出される。データ504a1CをSRAM207から読み出す際の先頭アドレスは、例えば0x000番地である。SRAM207から読み出されたデータ504a1Cは、メモリバス151を介して伝送される。DRAM107に画像データを書き込む際の先頭アドレス、即ち、DRAM107のスタートアドレスは、上述したように、例えば0x1000番地である。従って、アドレス演算部203は、データ504a1CをDRAM107に書き込む際の書き込み開始アドレスを0x1000番地と設定する。こうして得られた書き込み開始アドレスは、信号線REQ_0を介して伝送される。こうして、分割ブロック501aの第1番目のラインのデータのうちの右端に位置する端数データ504a1R以外のデータ504a1CがDRAM107に書き込まれる。480バイト分のデータ504a1Cは、DRAM107におけるバーストアクセス単位にアラインする。なお、DRAM107におけるバーストアクセス単位は、上述したように例えば32バイトである。   First, data 504a1C other than the fraction data 504a1R located at the right end of the data of the first line of the divided block 501a is read from the SRAM 207. The size of the data 504a1C is, for example, 480 bytes as described above. The data 504a1C is read from the memory bank 207a of the SRAM 207, that is, BANK0. The head address when reading the data 504a1C from the SRAM 207 is, for example, 0x000. Data 504a1C read from the SRAM 207 is transmitted via the memory bus 151. As described above, the start address for writing image data to the DRAM 107, that is, the start address of the DRAM 107 is, for example, 0x1000. Therefore, the address calculation unit 203 sets the write start address when writing the data 504a1C to the DRAM 107 as the address 0x1000. The write start address thus obtained is transmitted through the signal line REQ_0. Thus, data 504a1C other than the fraction data 504a1R located at the right end of the data of the first line of the divided block 501a is written to the DRAM 107. The data 504a1C for 480 bytes is aligned in units of burst access in the DRAM 107. Note that the burst access unit in the DRAM 107 is, for example, 32 bytes as described above.

次に、分割ブロック501aの第2番目のラインのデータのうちの右端に位置する端数データ504a2R以外のデータ504a2Cが、SRAM207から読み出される。データ504a2Cのサイズは、上述したように例えば480バイトである。データ504a2Cは、SRAM207のメモリバンク207b、即ち、BANK1から読み出される。データ504a2CをSRAM207から読み出す際の先頭アドレスは、例えば0x080番地である。SRAM207から読み出されたデータ504a2Cは、メモリバス151を介して伝送される。アドレス演算部203は、データ504a1Cの書き込み開始アドレスである0x1000番地に、オフセット値を加算することによって、データ504a2Cの書き込み開始アドレスを生成する。オフセット値は、以下のようにして決定される。上述したように、分割ブロック501の水平方向におけるデータサイズは例えば502バイトである。水平方向における分割ブロック501の数は4である。アラインを調整するための後述するダミーデータのサイズは、8バイトである。従って、オフセット値は、502×4+8=2016バイトとされる。こうして得られる書き込み開始アドレスは、例えば0x17E0番地である。こうして、分割ブロック501aの第2番目のラインのデータのうちの右端に位置する端数データ504a2R以外のデータ504a2CがDRAM107に書き込まれる。480バイト分のデータ504a2Cは、DRAM107におけるバーストアクセス単位にアラインする。   Next, data 504a2C other than the fraction data 504a2R located at the right end of the data of the second line of the divided block 501a is read from the SRAM 207. The size of the data 504a2C is, for example, 480 bytes as described above. The data 504a2C is read from the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when reading the data 504a2C from the SRAM 207 is, for example, address 0x080. Data 504a2C read from the SRAM 207 is transmitted via the memory bus 151. The address calculation unit 203 generates the write start address of the data 504a2C by adding the offset value to the address 0x1000 that is the write start address of the data 504a1C. The offset value is determined as follows. As described above, the data size in the horizontal direction of the divided block 501 is, for example, 502 bytes. The number of divided blocks 501 in the horizontal direction is four. The size of dummy data to be described later for adjusting the alignment is 8 bytes. Therefore, the offset value is 502 × 4 + 8 = 2016 bytes. The write start address thus obtained is, for example, address 0x17E0. Thus, data 504a2C other than the fraction data 504a2R located at the right end of the data of the second line of the divided block 501a is written to the DRAM 107. The data 504a2C for 480 bytes is aligned in units of burst access in the DRAM 107.

この後も、上記と同様の処理が、分割ブロック501aの第3番目以降のラインについて順次行われる。分割ブロック501aに含まれているラインは、上述したように例えば64である。分割ブロック501aの第64番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック501aの第64番目のラインのデータのうちの右端に位置する端数データ504a64R以外のデータ504a64Cが、SRAM207から読み出される。データ504a64Cのサイズは、例えば480バイトである。データ504a64Cは、SRAM207のメモリバンク207b、即ち、BANK1から読み出される。データ504a64CをSRAM207から読み出す際の先頭アドレスは、例えば0x080番地である。SRAM207から読み出されたデータ504a64Cは、メモリバス151を介して伝送される。アドレス演算部203は、分割ブロック501aの第63番目のラインの右端に位置する端数データ504R以外のデータ504Cの書き込み開始アドレスにオフセット値を加算することによって、データ504a64Cの書き込み開始アドレスを生成する。こうして、分割ブロック501aの第64番目のラインのデータのうちの右端に位置する端数データ504a64R以外のデータ504a64CがDRAM107に書き込まれる。480バイト分のデータ504a64Cは、DRAM107におけるバーストアクセス単位にアラインする。   Thereafter, the same processing as described above is sequentially performed on the third and subsequent lines of the divided block 501a. As described above, the number of lines included in the divided block 501a is 64, for example. The data of the 64th line of the divided block 501a is processed as follows. That is, data 504a64C other than the fraction data 504a64R located at the right end of the data of the 64th line of the divided block 501a is read from the SRAM 207. The size of the data 504a64C is, for example, 480 bytes. The data 504a64C is read from the memory bank 207b of the SRAM 207, that is, BANK1. The head address when reading the data 504a64C from the SRAM 207 is, for example, address 0x080. Data 504a64C read from the SRAM 207 is transmitted via the memory bus 151. The address calculation unit 203 generates the write start address of the data 504a64C by adding the offset value to the write start address of the data 504C other than the fraction data 504R located at the right end of the 63rd line of the divided block 501a. Thus, data 504a64C other than the fraction data 504a64R located at the right end of the data of the 64th line of the divided block 501a is written to the DRAM 107. The data 504a64C for 480 bytes is aligned in units of burst access in the DRAM 107.

タイミングt403からタイミングt405までの期間413は、モジュール201から出力される分割ブロック501bの画像データがSRAM207に書き込まれる期間である。期間413の一部は、上述した期間412の一部と重複している。期間413においては、以下のような処理が行われる。   A period 413 from timing t403 to timing t405 is a period in which the image data of the divided block 501b output from the module 201 is written in the SRAM 207. A part of the period 413 overlaps with a part of the period 412 described above. In the period 413, the following processing is performed.

まず、分割ブロック501bの第1番目のラインのデータのうちの左端に位置する端数データ504b1Lが、SRAM207に書き込まれる。データ504b1Lのサイズは、例えば10バイトである。データ504b1Lは、SRAM207の端数データ格納用領域207cに書き込まれる。データ504b1LをSRAM207に書き込む際のアドレスは、例えば0x100番地である。0x100番地には、分割ブロック501aの第1番目のラインの右端に位置する端数データ504a1Rが既に書き込まれている。端数データ504b1Lは、端数データ504a1Rに続くように書き込まれる。端数データ504a1Rのサイズは、22バイトである。端数データ504b1Lのサイズは、10バイトである。従って、SRAM207の0x100番地には、合計で32バイト分のデータが書き込まれる。32バイト分のデータは、DRAM107におけるバーストアクセス単位にアラインする。なお、ライン503の左端に位置する端数データ一般を説明する際には、符号504Lを用いることとする。また、ライン503に含まれる端数データ一般について説明する際には、符号504LRを用いることとする。   First, fraction data 504b1L located at the left end of the data of the first line of the divided block 501b is written into the SRAM 207. The size of the data 504b1L is, for example, 10 bytes. The data 504b1L is written to the fraction data storage area 207c of the SRAM 207. The address when writing the data 504b1L to the SRAM 207 is, for example, 0x100. The fraction data 504a1R located at the right end of the first line of the divided block 501a has already been written at address 0x100. The fraction data 504b1L is written so as to follow the fraction data 504a1R. The size of the fraction data 504a1R is 22 bytes. The size of the fraction data 504b1L is 10 bytes. Accordingly, a total of 32 bytes of data are written at address 0x100 in the SRAM 207. The 32-byte data is aligned in burst access units in the DRAM 107. It should be noted that reference numeral 504L is used when general fraction data located at the left end of the line 503 is described. In addition, when the general fraction data included in the line 503 is described, reference numeral 504LR is used.

次に、分割ブロック501bの第1番目のラインのデータのうちのデータ504b1Cが、SRAM207に書き込まれる。データ504b1Cは、分割ブロック501bの第1番目のラインのデータのうちから、当該ラインの左端に位置する端数データ504b1Lと当該ラインの右端に位置する端数データ504b1Rとを除いたデータである。データ504b1Cのサイズは、例えば480バイトである。データ504b1Cは、SRAM207の例えばメモリバンク207a、即ち、BANK0に書き込まれる。データ504b1CをSRAM207に書き込む際の先頭アドレスは、例えば0x000番地である。   Next, data 504b1C among the data of the first line of the divided block 501b is written into the SRAM 207. Data 504b1C is data obtained by removing the fraction data 504b1L located at the left end of the line and the fraction data 504b1R located at the right end of the line from the data of the first line of the divided block 501b. The size of the data 504b1C is, for example, 480 bytes. The data 504b1C is written into, for example, the memory bank 207a of the SRAM 207, that is, BANK0. The leading address when the data 504b1C is written to the SRAM 207 is, for example, 0x000.

次に、分割ブロック501bの第1番目のラインのデータのうちの右端に位置する端数データ504b1Rが、SRAM207に書き込まれる。データ504b1Rのサイズは、例えば12バイトである。データ504b1Rは、SRAM207の端数データ格納用領域207cに書き込まれる。データ504b1RをSRAM207に書き込む際のアドレスは、例えば0x180番地である。   Next, fraction data 504b1R located at the right end of the data of the first line of the divided block 501b is written into the SRAM 207. The size of the data 504b1R is, for example, 12 bytes. The data 504b1R is written to the fraction data storage area 207c of the SRAM 207. The address when the data 504b1R is written to the SRAM 207 is, for example, 0x180.

次に、分割ブロック501bの第2番目のラインのデータのうちの左端に位置する端数データ504b2Lが、SRAM207に書き込まれる。データ504b2Lのサイズは、例えば10バイトである。データ504b2Lは、SRAM207の端数データ格納用領域207cに書き込まれる。データ504b2LをSRAM207に書き込む際のアドレスは、例えば0x101番地である。0x101番地には、分割ブロック501aの第2番目のラインの右端に位置する端数データ504a2Rが既に書き込まれている。端数データ504b2Lは、端数データ504a2Rに続くように書き込まれる。端数データ504a2Rのサイズは、22バイトである。端数データ504b2Lのサイズは、10バイトである。従って、SRAM207の0x101番地には、合計で32バイト分のデータが書き込まれる。32バイト分のデータは、DRAM107におけるバーストアクセス単位にアラインする。   Next, fraction data 504b2L located at the left end of the data of the second line of the divided block 501b is written into the SRAM 207. The size of the data 504b2L is, for example, 10 bytes. The data 504b2L is written to the fraction data storage area 207c of the SRAM 207. An address when the data 504b2L is written to the SRAM 207 is, for example, 0x101. The fraction data 504a2R located at the right end of the second line of the divided block 501a has already been written at address 0x101. The fraction data 504b2L is written so as to follow the fraction data 504a2R. The size of the fraction data 504a2R is 22 bytes. The size of the fraction data 504b2L is 10 bytes. Accordingly, a total of 32 bytes of data are written in the address 0x101 of the SRAM 207. The 32-byte data is aligned in burst access units in the DRAM 107.

次に、分割ブロック501bの第2番目のラインのデータのうちのデータ504b2Cが、SRAM207に書き込まれる。データ504b2Cは、分割ブロック501bの第2番目のラインのデータのうちから、当該ラインの左端に位置する端数データ504b2Lと当該ラインの右端に位置する端数データ504b2Rとを除いたデータである。データ504b2Cのサイズは、例えば480バイトである。データ504b2Cは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。データ504b2CをSRAM207に書き込む際の先頭アドレスは、例えば0x080番地である。   Next, data 504b2C among the data of the second line of the divided block 501b is written into the SRAM 207. Data 504b2C is data obtained by removing the fraction data 504b2L located at the left end of the line and the fraction data 504b2R located at the right end of the line from the data of the second line of the divided block 501b. The size of the data 504b2C is, for example, 480 bytes. The data 504b2C is written to, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The start address when writing the data 504b2C to the SRAM 207 is, for example, address 0x080.

次に、分割ブロック501bの第2番目のラインのデータのうちの右端に位置する端数データ504b2Rが、SRAM207に書き込まれる。504b2Rのサイズは、例えば12バイトである。504b2Rは、SRAM207の端数データ格納用領域207cに書き込まれる。504b2RをSRAM207に書き込む際のアドレスは、例えば0x181番地である。   Next, fraction data 504b2R located at the right end of the data of the second line of the divided block 501b is written into the SRAM 207. The size of 504b2R is, for example, 12 bytes. 504b2R is written in the fraction data storage area 207c of the SRAM 207. The address when writing 504b2R to the SRAM 207 is, for example, address 0x181.

この後も、上記と同様の処理が、分割ブロック501bの第3番目以降のラインについて順次行われる。例えば、分割ブロック501bの第3番目のラインのデータのうちの左端に位置する例えば10バイトの端数データ504b3Lは、SRAM207の端数データ格納用領域207cの例えば0x102番地に書き込まれる。分割ブロック501bに含まれているラインは、上述したように例えば64である。分割ブロック501bの第64番目のラインのデータのうちの左端に位置する端数データ504b64L(図5参照)が、SRAM207に書き込まれる。データ504b64Lのサイズは、例えば10バイトである。データ504b64Lは、SRAM207の端数データ格納用領域207cに書き込まれる。データ504b64LをSRAM207に書き込む際のアドレスは、例えば0x13F番地である。0x13F番地には、分割ブロック501bの第64番目のラインの右端に位置する端数データ504a64Rが既に書き込まれている。端数データ504b64Lは、端数データ504a64Rに続くように書き込まれる。端数データ504a64Rのサイズは、22バイトである。端数データ504b64Lのサイズは、10バイトである。従って、SRAM207の0x13F番地には、合計で32バイト分のデータが書き込まれる。32バイト分のデータは、DRAM107におけるバーストアクセス単位にアラインする。この後、分割ブロック501bの第64番目のラインのデータのうちのデータ504b64Cが、SRAM207に書き込まれる。データ504b64Cは、分割ブロック501bの第64番目のラインのデータのうちから、当該ラインの左端に位置する端数データ504b64Lと当該ラインの右端に位置する端数データ504b64Rとを除いたデータである。データ504b64Cのサイズは、例えば480バイトである。データ504b64Cは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。データ504b64CをSRAM207に書き込む際の先頭アドレスは、例えば0x080番地である。この後、分割ブロック501bの第64番目のラインのデータのうちの右端に位置する端数データ504b64Rが、SRAM207に書き込まれる。データ504b64Rのサイズは、例えば12バイトである。データ504b64Rは、SRAM207の端数データ格納用領域207cに書き込まれる。データ504b64RをSRAM207に書き込む際のアドレスは、例えば0x1BF番地である。   Thereafter, the same processing as described above is sequentially performed on the third and subsequent lines of the divided block 501b. For example, the 10-byte fraction data 504b3L located at the left end of the third line data of the divided block 501b is written to, for example, 0x102 in the fraction data storage area 207c of the SRAM 207. As described above, the number of lines included in the divided block 501b is 64, for example. The fraction data 504b64L (see FIG. 5) located at the left end of the data of the 64th line of the divided block 501b is written to the SRAM 207. The size of the data 504b64L is, for example, 10 bytes. The data 504b64L is written to the fraction data storage area 207c of the SRAM 207. The address when writing the data 504b64L to the SRAM 207 is, for example, address 0x13F. The fraction data 504a64R located at the right end of the 64th line of the divided block 501b has already been written at address 0x13F. The fraction data 504b64L is written so as to follow the fraction data 504a64R. The size of the fraction data 504a64R is 22 bytes. The size of the fraction data 504b64L is 10 bytes. Accordingly, a total of 32 bytes of data are written in the address 0x13F of the SRAM 207. The 32-byte data is aligned in burst access units in the DRAM 107. Thereafter, data 504b64C among the data of the 64th line of the divided block 501b is written into the SRAM 207. Data 504b64C is data obtained by removing the fraction data 504b64L located at the left end of the line and the fraction data 504b64R located at the right end of the line from the data of the 64th line of the divided block 501b. The size of the data 504b64C is, for example, 480 bytes. The data 504b64C is written to, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when writing the data 504b64C to the SRAM 207 is, for example, address 0x080. Thereafter, the fraction data 504b64R located at the right end of the data of the 64th line of the divided block 501b is written into the SRAM 207. The size of the data 504b64R is, for example, 12 bytes. The data 504b64R is written into the fraction data storage area 207c of the SRAM 207. The address when writing the data 504b64R to the SRAM 207 is, for example, address 0x1BF.

タイミングt404からタイミングt406までの期間414は、分割ブロック501bの画像データがSRAM207から読み出される期間である。期間414の一部は、上述した期間413の一部と重複している。期間414においては、以下のような処理が行われる。   A period 414 from timing t404 to timing t406 is a period in which the image data of the divided block 501b is read from the SRAM 207. A part of the period 414 overlaps with a part of the period 413 described above. In the period 414, the following processing is performed.

まず、SRAM207の端数データ格納用領域207cのうちの0x100番地に格納されている端数データ504a1R、504b1Lが読み出される。上述したように、端数データ504a1Rは、分割ブロック501aの第1番目のラインの右端に位置するものである。上述したように、端数データ504b1Lは、分割ブロック501bの第1番目のラインの左端に位置するものである。   First, the fraction data 504a1R and 504b1L stored at address 0x100 in the fraction data storage area 207c of the SRAM 207 are read. As described above, the fraction data 504a1R is located at the right end of the first line of the divided block 501a. As described above, the fraction data 504b1L is located at the left end of the first line of the divided block 501b.

次に、分割ブロック501bの第1番目のラインのデータのうちのデータ504b1Cが、SRAM207から読み出される。データ504b1Cは、上述したように、分割ブロック501bの第1番目のラインのデータのうちから、当該ラインの左端に位置する端数データ504b1Lと当該ラインの右端に位置する端数データ504b1Rとを除いたデータである。データ504b1Cのサイズは、上述したように例えば480バイトである。データ504b1Cは、SRAM207のメモリバンク207a、即ち、BANK0から読み出される。データ504b1CをSRAM207から読み出す際の先頭アドレスは、例えば0x000番地である。   Next, data 504b1C among the data of the first line of the divided block 501b is read from the SRAM 207. As described above, the data 504b1C is data obtained by removing the fraction data 504b1L located at the left end of the line and the fraction data 504b1R located at the right end of the line from the data of the first line of the divided block 501b. It is. The size of the data 504b1C is, for example, 480 bytes as described above. The data 504b1C is read from the memory bank 207a of the SRAM 207, that is, BANK0. The head address when reading the data 504b1C from the SRAM 207 is, for example, 0x000.

SRAM207から読み出されたこれらのデータ、即ち、端数データ504a1R、504b1L及びデータ504b1Cは、メモリバス151を介して伝送される。端数データ504a1R、504b1Lの書き込み開始アドレスは、例えば0x11E0番地である。データ504b1Cの書き込みアドレスは、例えば0x1200番地である。上述したように、端数データ504a1Rのサイズは22バイトである。また、上述したように、端数データ504b1Lのサイズは、10バイトである。また、上述したように、データ504b1Cのサイズは、480バイトである。従って、SRAM207から読み出されるこれらのデータ504a1R、504b1L、504b1Cの合計のサイズは、512バイトである。合計のサイズが512バイトであるこれらのデータ504a1R、504b1L、504b1Cは、DRAM107におけるバーストアクセス単位にアラインする。こうして、DRAM107のうちのデータ504a1Cが書き込まれたアドレスの直後のアドレスに、端数データ504a1R、504b1L及びデータ504b1Cが書き込まれる。換言すれば、DRAM107のうちのデータ504a1Cが書き込まれたアドレスの直後のアドレスに、端数データ504a1Rに端数データ504b1Lを結合することにより得られる結合データと、データ504b1Cとが順次書き込まれる。   These data read from the SRAM 207, that is, the fraction data 504a1R, 504b1L and the data 504b1C are transmitted via the memory bus 151. The write start address of the fraction data 504a1R and 504b1L is, for example, address 0x11E0. The write address of the data 504b1C is, for example, 0x1200 address. As described above, the size of the fraction data 504a1R is 22 bytes. Further, as described above, the size of the fraction data 504b1L is 10 bytes. As described above, the size of the data 504b1C is 480 bytes. Therefore, the total size of these data 504a1R, 504b1L, and 504b1C read from the SRAM 207 is 512 bytes. These data 504a1R, 504b1L, and 504b1C whose total size is 512 bytes are aligned in burst access units in the DRAM 107. Thus, the fraction data 504a1R, 504b1L and the data 504b1C are written to the address immediately after the address in the DRAM 107 where the data 504a1C is written. In other words, the combined data obtained by combining the fraction data 504b1L and the fraction data 504b1L and the data 504b1C are sequentially written to the address immediately after the address where the data 504a1C is written in the DRAM 107.

次に、SRAM207の端数データ格納用領域207cのうちの0x101番地に格納されている端数データ504a2R、504b2Lが読み出される。上述したように、端数データ504a2Rは、分割ブロック501aの第2番目のラインの右端に位置するものである。上述したように、端数データ504b2Lは、分割ブロック501bの第2番目のラインの左端に位置するものである。   Next, the fraction data 504a2R and 504b2L stored at address 0x101 in the fraction data storage area 207c of the SRAM 207 are read. As described above, the fraction data 504a2R is located at the right end of the second line of the divided block 501a. As described above, the fraction data 504b2L is located at the left end of the second line of the divided block 501b.

次に、分割ブロック501bの第2番目のラインのデータのうちのデータ504b2Cが、SRAM207から読み出される。データ504b2Cは、上述したように、分割ブロック501bの第2番目のラインのデータのうちから、当該ラインの左端に位置する端数データ504b2Lと当該ラインの右端に位置する端数データ504b2Rとを除いたデータである。データ504b2Cのサイズは、上述したように例えば480バイトである。データ504b2Cは、SRAM207のメモリバンク207b、即ち、BANK1から読み出される。データ504b2CをSRAM207から読み出す際の先頭アドレスは、例えば0x080番地である。   Next, data 504b2C among the data of the second line of the divided block 501b is read from the SRAM 207. As described above, the data 504b2C is data obtained by removing the fraction data 504b2L located at the left end of the line and the fraction data 504b2R located at the right end of the line from the data of the second line of the divided block 501b. It is. The size of the data 504b2C is, for example, 480 bytes as described above. The data 504b2C is read from the memory bank 207b of the SRAM 207, that is, BANK1. The head address when reading the data 504b2C from the SRAM 207 is, for example, 0x080.

SRAM207から読み出されたこれらのデータ、即ち、端数データ504a2R、504b2L及びデータ504b2Cは、メモリバス151を介して伝送される。アドレス演算部203は、オフセット値を加算することによって、これらのデータ504a2R、504b2L、504b2Cの書き込み開始アドレスを生成する。オフセット値は、上述したように、例えば2016バイトである。こうして、DRAM107のうちのデータ504a2Cが書き込まれたアドレスの直後のアドレスに、端数データ504a2R、504b2L及びデータ504b2Cが書き込まれる。換言すれば、DRAM107のうちのデータ504a2Cが書き込まれたアドレスの直後のアドレスに、端数データ504a2Rに端数データ504b2Lを結合することにより得られる結合データと、データ504b2Cとが順次書き込まれる。512バイト分のこれらのデータ504a2R、504b2L、504b2Cは、DRAM107におけるバーストアクセス単位にアラインする。   These data read from the SRAM 207, that is, the fraction data 504a2R, 504b2L and the data 504b2C are transmitted via the memory bus 151. The address calculation unit 203 adds the offset values to generate write start addresses for these data 504a2R, 504b2L, and 504b2C. As described above, the offset value is, for example, 2016 bytes. Thus, the fraction data 504a2R, 504b2L and the data 504b2C are written to the address immediately after the address where the data 504a2C is written in the DRAM 107. In other words, the combined data obtained by combining the fraction data 504b2L and the fraction data 504b2L and the data 504b2C are sequentially written to the address immediately after the address where the data 504a2C is written in the DRAM 107. These 512-byte data 504a2R, 504b2L, and 504b2C are aligned in burst access units in the DRAM 107.

この後も、上記と同様の処理が、分割ブロック501bの第3番目以降のラインについて順次行われる。分割ブロック501bに含まれているラインは、上述したように例えば64である。従って、上記と同様の処理が、分割ブロック501bの第64番目のラインまで繰り返し行われる。   Thereafter, the same processing as described above is sequentially performed on the third and subsequent lines of the divided block 501b. As described above, the number of lines included in the divided block 501b is 64, for example. Accordingly, the same processing as described above is repeatedly performed up to the 64th line of the divided block 501b.

タイミングt405からタイミングt407までの期間415は、モジュール201から出力される分割ブロック501cの画像データがSRAM207に書き込まれる期間である。期間415の一部は、上述した期間414の一部と重複している。期間415においては、以下のような処理が行われる。   A period 415 from timing t405 to timing t407 is a period in which the image data of the divided block 501c output from the module 201 is written in the SRAM 207. A part of the period 415 overlaps with a part of the period 414 described above. In the period 415, the following processing is performed.

まず、分割ブロック501cの第1番目のラインのデータのうちの左端に位置する端数データ504c1Lが、SRAM207に書き込まれる。データ504c1Lのサイズは、例えば20バイトである。データ504c1Lは、SRAM207の端数データ格納用領域207cに書き込まれる。データ504c1LをSRAM207に書き込む際のアドレスは、例えば0x180番地である。0x180番地には、分割ブロック501bの第1番目のラインの右端に位置する端数データ504b1Rが既に書き込まれている。端数データ504c1Lは、端数データ504b1Rに続くように書き込まれる。端数データ504b1Rのサイズは、12バイトである。端数データ504c1Lのサイズは、20バイトである。従って、SRAM207の0x180番地には、合計で32バイト分のデータが書き込まれる。32バイト分のデータは、DRAM107におけるバーストアクセス単位にアラインする。   First, fraction data 504c1L located at the left end of the data of the first line of the divided block 501c is written into the SRAM 207. The size of the data 504c1L is, for example, 20 bytes. The data 504c1L is written to the fraction data storage area 207c of the SRAM 207. The address when writing the data 504c1L to the SRAM 207 is, for example, address 0x180. The fraction data 504b1R located at the right end of the first line of the divided block 501b has already been written at address 0x180. The fraction data 504c1L is written so as to follow the fraction data 504b1R. The size of the fraction data 504b1R is 12 bytes. The size of the fraction data 504c1L is 20 bytes. Accordingly, a total of 32 bytes of data is written at address 0x180 of the SRAM 207. The 32-byte data is aligned in burst access units in the DRAM 107.

次に、分割ブロック501cの第1番目のラインのデータのうちのデータ504c1Cが、SRAM207に書き込まれる。データ504c1Cは、分割ブロック501cの第1番目のラインのデータのうちから、当該ラインの左端に位置する端数データ504c1Lと当該ラインの右端に位置する端数データ504c1Rとを除いたデータである。データ504c1Cのサイズは、例えば480バイトである。データ504c1Cは、SRAM207の例えばメモリバンク207a、即ち、BANK0に書き込まれる。データ504c1CをSRAM207に書き込む際の先頭アドレスは、例えば0x000番地である。   Next, data 504c1C of the data of the first line of the divided block 501c is written into the SRAM 207. Data 504c1C is data obtained by removing the fraction data 504c1L located at the left end of the line and the fraction data 504c1R located at the right end of the line from the data of the first line of the divided block 501c. The size of the data 504c1C is, for example, 480 bytes. The data 504c1C is written to, for example, the memory bank 207a of the SRAM 207, that is, BANK0. The leading address when the data 504c1C is written to the SRAM 207 is, for example, 0x000.

次に、分割ブロック501cの第1番目のラインのデータのうちの右端に位置する端数データ504c1Rが、SRAM207に書き込まれる。データ504c1Rのサイズは、例えば2バイトである。データ504c1Rは、SRAM207の端数データ格納用領域207cに書き込まれる。データ504c1RをSRAM207に書き込む際のアドレスは、例えば0x100番地である。   Next, fraction data 504c1R located at the right end of the data of the first line of the divided block 501c is written into the SRAM 207. The size of the data 504c1R is, for example, 2 bytes. The data 504c1R is written into the fraction data storage area 207c of the SRAM 207. An address when the data 504c1R is written to the SRAM 207 is, for example, 0x100.

次に、分割ブロック501cの第2番目のラインのデータのうちの左端に位置する端数データ504c2Lが、SRAM207に書き込まれる。データ504c2Lのサイズは、例えば20バイトである。データ504c2Lは、SRAM207の端数データ格納用領域207cに書き込まれる。データ504c2LをSRAM207に書き込む際のアドレスは、例えば0x181番地である。0x181番地には、分割ブロック501bの第2番目のラインの右端に位置する端数データ504b2Rが既に書き込まれている。端数データ504c2Lは、端数データ504b2Rに続くように書き込まれる。端数データ504b2Rのサイズは、12バイトである。端数データ504c2Lのサイズは、20バイトである。従って、SRAM207の0x181番地には、合計で32バイト分のデータが書き込まれる。32バイト分のデータは、DRAM107におけるバーストアクセス単位にアラインする。   Next, fraction data 504c2L located at the left end of the data of the second line of the divided block 501c is written into the SRAM 207. The size of the data 504c2L is, for example, 20 bytes. The data 504c2L is written to the fraction data storage area 207c of the SRAM 207. The address when writing the data 504c2L to the SRAM 207 is, for example, 0x181. The fraction data 504b2R located at the right end of the second line of the divided block 501b has already been written at address 0x181. The fraction data 504c2L is written to follow the fraction data 504b2R. The size of the fraction data 504b2R is 12 bytes. The size of the fraction data 504c2L is 20 bytes. Accordingly, a total of 32 bytes of data are written to address 0x181 of SRAM 207. The 32-byte data is aligned in burst access units in the DRAM 107.

次に、分割ブロック501cの第2番目のラインのデータのうちのデータ504c2Cが、SRAM207に書き込まれる。データ504c2Cは、分割ブロック501cの第2番目のラインのデータのうちから、当該ラインの左端に位置する端数データ504c2Lと当該ラインの右端に位置する端数データ504c2Rとを除いたデータである。データ504c2Cのサイズは、例えば480バイトである。データ504c2Cは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。データ504c2CをSRAM207に書き込む際の先頭アドレスは、例えば0x080番地である。   Next, data 504c2C of the data of the second line of the divided block 501c is written into the SRAM 207. Data 504c2C is data obtained by removing the fraction data 504c2L located at the left end of the line and the fraction data 504c2R located at the right end of the line from the data of the second line of the divided block 501c. The size of the data 504c2C is, for example, 480 bytes. The data 504c2C is written to, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when the data 504c2C is written to the SRAM 207 is, for example, 0x080.

次に、分割ブロック501cの第2番目のラインのデータのうちの右端に位置する端数データ504c2Rが、SRAM207に書き込まれる。端数データ504c2Rのサイズは、例えば2バイトである。データ504c2Rは、SRAM207の端数データ格納用領域207cに書き込まれる。データ504c2RをSRAM207に書き込む際のアドレスは、例えば0x101番地である。   Next, fraction data 504c2R located at the right end of the data of the second line of the divided block 501c is written into the SRAM 207. The size of the fraction data 504c2R is, for example, 2 bytes. The data 504c2R is written to the fraction data storage area 207c of the SRAM 207. The address when writing the data 504c2R to the SRAM 207 is, for example, 0x101.

この後も、上記と同様の処理が、分割ブロック501cの第3番目以降のラインについて順次行われる。例えば、分割ブロック501cの第3番目のラインのデータのうちの左端に位置する例えば20バイトの端数データ504c3Lは、SRAM207の端数データ格納用領域207cの例えば0x182番地に書き込まれる。分割ブロック501cの第64番目のラインのデータのうちの左端に位置する端数データ504c64L(図5参照)が、SRAM207に書き込まれる。データ504c64Lのサイズは、例えば20バイトである。データ504c64Lは、SRAM207の端数データ格納用領域207cに書き込まれる。データ504c64LをSRAM207に書き込む際のアドレスは、例えば0x1BF番地である。0x1BF番地には、分割ブロック501bの第64番目のラインの右端に位置する端数データ504b64Rが既に書き込まれている。端数データ504c64Lは、端数データ504b64Rに続くように書き込まれる。端数データ504b64Rのサイズは、12バイトである。端数データ504c64Lのサイズは、20バイトである。従って、SRAM207の0x1BF番地には、合計で32バイト分のデータが書き込まれる。32バイト分のデータは、DRAM107におけるバーストアクセス単位にアラインする。この後、分割ブロック501cの第64番目のラインのデータのうちのデータ504c64Cが、SRAM207に書き込まれる。データ504c64Cは、分割ブロック501cの第64番目のラインのデータのうちから、当該ラインの左端に位置する端数データ504c64Lと当該ラインの右端に位置する端数データ504c64Rとを除いたデータである。データ504c64Cのサイズは、例えば480バイトである。データ504c64Cは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。データ504c64CをSRAM207に書き込む際の先頭アドレスは、例えば0x080番地である。この後、分割ブロック501cの第64番目のラインのデータのうちの右端に位置する端数データ504c64Rが、SRAM207に書き込まれる。データ504c64Rのサイズは、例えば2バイトである。データ504c64Rは、SRAM207の端数データ格納用領域207cに書き込まれる。データ504c64RをSRAM207に書き込む際のアドレスは、例えば0x13F番地である。   Thereafter, the same processing as described above is sequentially performed on the third and subsequent lines of the divided block 501c. For example, for example, 20-byte fraction data 504c3L located at the left end of the data of the third line of the divided block 501c is written to, for example, address 0x182 in the fraction data storage area 207c of the SRAM 207. The fraction data 504c64L (see FIG. 5) located at the left end of the data of the 64th line of the divided block 501c is written into the SRAM 207. The size of the data 504c64L is, for example, 20 bytes. The data 504c64L is written to the fraction data storage area 207c of the SRAM 207. The address when writing the data 504c64L to the SRAM 207 is, for example, address 0x1BF. The fraction data 504b64R located at the right end of the 64th line of the divided block 501b has already been written in the address 0x1BF. The fraction data 504c64L is written so as to follow the fraction data 504b64R. The size of the fraction data 504b64R is 12 bytes. The size of the fraction data 504c64L is 20 bytes. Accordingly, a total of 32 bytes of data are written in the address 0x1BF of the SRAM 207. The 32-byte data is aligned in burst access units in the DRAM 107. Thereafter, data 504c64C among the data of the 64th line of the divided block 501c is written into the SRAM 207. The data 504c64C is data obtained by removing the fraction data 504c64L located at the left end of the line and the fraction data 504c64R located at the right end of the line from the data of the 64th line of the divided block 501c. The size of the data 504c64C is, for example, 480 bytes. The data 504c64C is written to, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when the data 504c64C is written to the SRAM 207 is, for example, 0x080. Thereafter, fraction data 504c64R located at the right end of the data of the 64th line of the divided block 501c is written into the SRAM 207. The size of the data 504c64R is, for example, 2 bytes. The data 504c64R is written to the fraction data storage area 207c of the SRAM 207. The address when writing the data 504c64R to the SRAM 207 is, for example, address 0x13F.

タイミングt406からタイミングt408までの期間416は、分割ブロック501cの画像データがSRAM207から読み出される期間である。期間416の一部は、上述した期間415の一部と重複している。期間416においては、以下のような処理が行われる。   A period 416 from timing t406 to timing t408 is a period in which the image data of the divided block 501c is read from the SRAM 207. A part of the period 416 overlaps with a part of the period 415 described above. In the period 416, the following processing is performed.

まず、SRAM207の端数データ格納用領域207cのうちの0x180番地に格納されている端数データ504b1R、504c1Lが読み出される。上述したように、端数データ504b1Rは、分割ブロック501bの第1番目のラインの右端に位置するものである。上述したように、端数データ504c1Lは、分割ブロック501cの第1番目のラインの左端に位置するものである。   First, the fraction data 504b1R and 504c1L stored at address 0x180 in the fraction data storage area 207c of the SRAM 207 are read. As described above, the fraction data 504b1R is located at the right end of the first line of the divided block 501b. As described above, the fraction data 504c1L is located at the left end of the first line of the divided block 501c.

次に、分割ブロック501cの第1番目のラインのデータのうちのデータ504c1Cが、SRAM207から読み出される。データ504c1Cは、上述したように、分割ブロック501cの第1番目のラインのデータのうちから、当該ラインの左端に位置する端数データ504c1Lと当該ラインの右端に位置する端数データ504c1Rとを除いたデータである。データ504c1Cのサイズは、上述したように例えば480バイトである。データ504c1Cは、SRAM207のメモリバンク207a、即ち、BANK0から読み出される。データ504c1CをSRAM207から読み出す際の先頭アドレスは、例えば0x000番地である。   Next, data 504c1C of the data of the first line of the divided block 501c is read from the SRAM 207. As described above, the data 504c1C is data obtained by removing the fraction data 504c1L located at the left end of the line and the fraction data 504c1R located at the right end of the line from the data of the first line of the divided block 501c. It is. The size of the data 504c1C is, for example, 480 bytes as described above. The data 504c1C is read from the memory bank 207a of the SRAM 207, that is, BANK0. The head address when reading the data 504c1C from the SRAM 207 is, for example, 0x000.

SRAM207から読み出されたこれらのデータ、即ち、端数データ504b1R、504c1L及びデータ504c1Cは、メモリバス151を介して伝送される。端数データ504b1R、504c1Lの書き込み開始アドレスは、例えば0x13E0番地である。データ504c1Cの書き込みアドレスは、例えば0x1400番地である。上述したように、端数データ504b1Rのサイズは12バイトである。また、上述したように、端数データ504c1Lのサイズは、20バイトである。また、上述したように、データ504c1Cのサイズは、480バイトである。従って、SRAM207から読み出されるこれらのデータ504b1R、504c1L、504c1Cの合計のサイズは、512バイトである。合計のサイズが512バイトであるこれらのデータ504b1R、504c1L、504c1Cは、DRAM107におけるバーストアクセス単位にアラインする。こうして、DRAM107のうちのデータ504b1Cが書き込まれたアドレスの直後のアドレスに、端数データ504b1R、504c1L及びデータ504c1Cが書き込まれる。換言すれば、DRAM107のうちのデータ504b1Cが書き込まれたアドレスの直後のアドレスに、端数データ504b1Rに端数データ504c1Lを結合することにより得られる結合データと、データ504c1Cとが順次書き込まれる。   These data read from the SRAM 207, that is, the fraction data 504b1R, 504c1L and the data 504c1C are transmitted via the memory bus 151. The write start address of the fraction data 504b1R and 504c1L is, for example, address 0x13E0. The write address of the data 504c1C is, for example, address 0x1400. As described above, the size of the fraction data 504b1R is 12 bytes. Further, as described above, the size of the fraction data 504c1L is 20 bytes. As described above, the size of the data 504c1C is 480 bytes. Therefore, the total size of these data 504b1R, 504c1L, and 504c1C read from the SRAM 207 is 512 bytes. These data 504b1R, 504c1L, and 504c1C having a total size of 512 bytes are aligned in burst access units in the DRAM 107. In this way, the fraction data 504b1R, 504c1L and the data 504c1C are written to the address immediately after the address where the data 504b1C is written in the DRAM 107. In other words, the combined data obtained by combining the fraction data 504c1L and the fraction data 504c1L and the data 504c1C are sequentially written to the address immediately after the address where the data 504b1C is written in the DRAM 107.

次に、SRAM207の端数データ格納用領域207cのうちの0x181番地に格納されている端数データ504b2R、504c2Lが読み出される。上述したように、端数データ504b2Rは、分割ブロック501bの第2番目のラインの右端に位置するものである。上述したように、端数データ504c2Lは、分割ブロック501cの第2番目のラインの左端に位置するものである。   Next, the fraction data 504b2R and 504c2L stored at address 0x181 in the fraction data storage area 207c of the SRAM 207 are read. As described above, the fraction data 504b2R is located at the right end of the second line of the divided block 501b. As described above, the fraction data 504c2L is located at the left end of the second line of the divided block 501c.

次に、分割ブロック501cの第2番目のラインのデータのうちのデータ504c2Cが、SRAM207から読み出される。データ504c2Cは、上述したように、分割ブロック501cの第2番目のラインのデータのうちから、当該ラインの左端に位置する端数データ504c2Lと当該ラインの右端に位置する端数データ504c2Rとを除いたデータである。データ504c2Cのサイズは、上述したように例えば480バイトである。データ504c2Cは、SRAM207のメモリバンク207b、即ち、BANK1から読み出される。データ504c2CをSRAM207から読み出す際の先頭アドレスは、例えば0x080番地である。   Next, data 504c2C among the data of the second line of the divided block 501c is read from the SRAM 207. As described above, the data 504c2C is data obtained by removing the fraction data 504c2L located at the left end of the line and the fraction data 504c2R located at the right end of the line from the data of the second line of the divided block 501c. It is. The size of the data 504c2C is, for example, 480 bytes as described above. The data 504c2C is read from the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when reading the data 504c2C from the SRAM 207 is, for example, 0x080.

SRAM207から読み出されたこれらのデータ、即ち、端数データ504b2R、504c2L及びデータ504c2Cは、メモリバス151を介して伝送される。アドレス演算部203は、オフセット値を加算することによって、これらのデータ504b2R、504c2L、504c2Cの書き込み開始アドレスを生成する。オフセット値は、上述したように、例えば2016バイトである。こうして、DRAM107のうちのデータ504b2Cが書き込まれたアドレスの直後のアドレスに、端数データ504b2R、504c2L及びデータ504c2Cが書き込まれる。換言すれば、DRAM107のうちのデータ504b2Cが書き込まれたアドレスの直後のアドレスに、端数データ504b2Rに端数データ504c2Lを結合することにより得られる結合データと、データ504c2Cとが順次書き込まれる。512バイト分のこれらのデータ504b2R、504c2L、504c2Cは、DRAM107におけるバーストアクセス単位にアラインする。   These data read from the SRAM 207, that is, the fraction data 504b2R, 504c2L and the data 504c2C are transmitted via the memory bus 151. The address calculation unit 203 adds the offset values to generate write start addresses for these data 504b2R, 504c2L, and 504c2C. As described above, the offset value is, for example, 2016 bytes. Thus, the fraction data 504b2R, 504c2L and the data 504c2C are written to the address immediately after the address in the DRAM 107 where the data 504b2C is written. In other words, the combined data obtained by combining the fraction data 504c2L and the fraction data 504c2L and the data 504c2C are sequentially written to the address immediately after the address where the data 504b2C is written in the DRAM 107. These 512 bytes of data 504b2R, 504c2L, and 504c2C are aligned in burst access units in the DRAM 107.

この後も、上記と同様の処理が、分割ブロック501cの第3番目以降のラインについて順次行われる。分割ブロック501cに含まれているラインは、上述したように例えば64である。従って、上記と同様の処理が、分割ブロック501cの第64番目のラインまで繰り返し行われる。   Thereafter, the same processing as described above is sequentially performed on the third and subsequent lines of the divided block 501c. As described above, the number of lines included in the divided block 501c is 64, for example. Accordingly, the same processing as described above is repeatedly performed up to the 64th line of the divided block 501c.

タイミングt407からタイミングt409までの期間417は、モジュール201から出力される分割ブロック501bの画像データがSRAM207に書き込まれる期間である。期間417の一部は、上述した期間416の一部と重複している。期間417においては、以下のような処理が行われる。   A period 417 from timing t407 to timing t409 is a period in which the image data of the divided block 501b output from the module 201 is written in the SRAM 207. A part of the period 417 overlaps with a part of the period 416 described above. In the period 417, the following processing is performed.

まず、分割ブロック501dの第1番目のラインのデータのうちの左端に位置する端数データ504d1Lが、SRAM207に書き込まれる。データ504d1Lのサイズは、例えば30バイトである。データ504d1Lは、SRAM207の端数データ格納用領域207cに書き込まれる。データ504d1LをSRAM207に書き込む際のアドレスは、例えば0x100番地である。0x100番地には、分割ブロック501cの第1番目のラインの右端に位置する端数データ504c1Rが既に書き込まれている。端数データ504d1Lは、端数データ504c1Rに続くように書き込まれる。端数データ504c1Rのサイズは、2バイトである。端数データ504d1Lのサイズは、30バイトである。従って、SRAM207の0x100番地には、合計で32バイト分のデータが書き込まれる。32バイト分のデータは、DRAM107におけるバーストアクセス単位にアラインする。   First, fraction data 504d1L located at the left end of the data of the first line of the divided block 501d is written to the SRAM 207. The size of the data 504d1L is, for example, 30 bytes. The data 504d1L is written to the fraction data storage area 207c of the SRAM 207. The address when writing the data 504d1L to the SRAM 207 is, for example, 0x100. The fraction data 504c1R located at the right end of the first line of the divided block 501c is already written at address 0x100. The fraction data 504d1L is written to follow the fraction data 504c1R. The size of the fraction data 504c1R is 2 bytes. The size of the fraction data 504d1L is 30 bytes. Accordingly, a total of 32 bytes of data are written at address 0x100 in the SRAM 207. The 32-byte data is aligned in burst access units in the DRAM 107.

次に、分割ブロック501dの第1番目のラインのデータのうちのデータ504d1Cが、SRAM207に書き込まれる。データ504d1Cは、分割ブロック501dの第1番目のラインのデータのうちから、当該ラインの左端に位置する端数データ504d1Lと当該ラインの右端に位置する端数データ504d1Rとを除いたデータである。データ504d1Cのサイズは、例えば448バイトである。データ504d1Cは、SRAM207の例えばメモリバンク207a、即ち、BANK0に書き込まれる。データ504d1CをSRAM207に書き込む際の先頭アドレスは、例えば0x000番地である。   Next, data 504d1C of the data of the first line of the divided block 501d is written into the SRAM 207. Data 504d1C is data obtained by removing the fraction data 504d1L located at the left end of the line and the fraction data 504d1R located at the right end of the line from the data of the first line of the divided block 501d. The size of the data 504d1C is, for example, 448 bytes. The data 504d1C is written to, for example, the memory bank 207a of the SRAM 207, that is, BANK0. The start address when writing the data 504d1C to the SRAM 207 is, for example, 0x000.

次に、分割ブロック501dの第1番目のラインのデータのうちの右端に位置する端数データ504d1Rと、ダミーデータ504d1Dとが、SRAM207に書き込まれる。データ504d1Rのサイズは、例えば24バイトである。ダミーデータ504d1Dのサイズは、例えば8バイトである。端数データ504d1R及びダミーデータ504d1Dは、SRAM207の端数データ格納用領域207cに書き込まれる。端数データ504d1R及びダミーデータ504d1DをSRAM207に書き込む際のアドレスは、例えば0x180番地である。端数データ504d1Rのサイズは、上述したように24バイトである。ダミーデータ504d1Dのサイズは、8バイトである。従って、SRAM207の0x180番地には、合計で32バイト分のデータが書き込まれる。32バイト分のデータは、DRAM107におけるバーストアクセス単位にアラインする。なお、ダミーデータ一般について説明する際には、符号504Dを用いることとする。ダミーデータ504Dとしては、通常のデータと区別可能なデータが用いられる。例えば、値が0のデータ等が、ダミーデータ504Dとして用いられ得る。   Next, the fraction data 504d1R located at the right end of the data of the first line of the divided block 501d and the dummy data 504d1D are written into the SRAM 207. The size of the data 504d1R is, for example, 24 bytes. The size of the dummy data 504d1D is, for example, 8 bytes. The fraction data 504d1R and the dummy data 504d1D are written in the fraction data storage area 207c of the SRAM 207. The address when the fraction data 504d1R and the dummy data 504d1D are written to the SRAM 207 is, for example, 0x180. The size of the fraction data 504d1R is 24 bytes as described above. The size of the dummy data 504d1D is 8 bytes. Accordingly, a total of 32 bytes of data is written at address 0x180 of the SRAM 207. The 32-byte data is aligned in burst access units in the DRAM 107. Note that reference numeral 504D is used when general dummy data is described. As the dummy data 504D, data that can be distinguished from normal data is used. For example, data having a value of 0 can be used as the dummy data 504D.

次に、分割ブロック501cの第2番目のラインのデータのうちの左端に位置する端数データ504d2Lが、SRAM207に書き込まれる。データ504d2Lのサイズは、例えば30バイトである。データ504d2Lは、SRAM207の端数データ格納用領域207cに書き込まれる。データ504d2LをSRAM207に書き込む際のアドレスは、例えば0x101番地である。0x101番地には、分割ブロック501cの第2番目のラインの右端に位置する端数データ504c2Rが既に書き込まれている。端数データ504d2Lは、端数データ504c2Rに続くように書き込まれる。端数データ504c2Rのサイズは、2バイトである。端数データ504d2Lのサイズは、30バイトである。従って、SRAM207の0x101番地には、合計で32バイト分のデータが書き込まれる。32バイト分のデータは、DRAM107におけるバーストアクセス単位にアラインする。   Next, fraction data 504d2L located at the left end of the data of the second line of the divided block 501c is written into the SRAM 207. The size of the data 504d2L is, for example, 30 bytes. The data 504d2L is written to the fraction data storage area 207c of the SRAM 207. The address when writing the data 504d2L to the SRAM 207 is, for example, 0x101. The fraction data 504c2R located at the right end of the second line of the divided block 501c has already been written at address 0x101. The fraction data 504d2L is written to follow the fraction data 504c2R. The size of the fraction data 504c2R is 2 bytes. The size of the fraction data 504d2L is 30 bytes. Accordingly, a total of 32 bytes of data are written in the address 0x101 of the SRAM 207. The 32-byte data is aligned in burst access units in the DRAM 107.

次に、分割ブロック501dの第2番目のラインのデータのうちのデータ504d2Cが、SRAM207に書き込まれる。データ504d2Cは、分割ブロック501dの第2番目のラインのデータのうちから、当該ラインの左端に位置する端数データ504d2Lと当該ラインの右端に位置する端数データ504d2Rとを除いたデータである。データ504d2Cのサイズは、例えば448バイトである。データ504d2Cは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。データ504d2CをSRAM207に書き込む際の先頭アドレスは、例えば0x080番地である。   Next, data 504d2C of the data on the second line of the divided block 501d is written into the SRAM 207. Data 504d2C is data obtained by removing the fraction data 504d2L located at the left end of the line and the fraction data 504d2R located at the right end of the line from the data of the second line of the divided block 501d. The size of the data 504d2C is, for example, 448 bytes. The data 504d2C is written to, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when the data 504d2C is written to the SRAM 207 is, for example, 0x080.

次に、分割ブロック501dの第2番目のラインのデータのうちの右端に位置する端数データ504d2Rと、ダミーデータ504d2Dとが、SRAM207に書き込まれる。データ504d2Rのサイズは、例えば24バイトである。ダミーデータ504d2Dのサイズは、例えば8バイトである。端数データ504d2R及びダミーデータ504d2Dは、SRAM207の端数データ格納用領域207cに書き込まれる。端数データ504d2R及びダミーデータ504d2DをSRAM207に書き込む際のアドレスは、例えば0x181番地である。端数データ504d2Rのサイズは、上述したように24バイトである。ダミーデータ504d2Dのサイズは、8バイトである。従って、SRAM207の0x181番地には、合計で32バイト分のデータが書き込まれる。32バイト分のデータは、DRAM107におけるバーストアクセス単位にアラインする。   Next, the fraction data 504d2R located at the right end of the data of the second line of the divided block 501d and the dummy data 504d2D are written into the SRAM 207. The size of the data 504d2R is, for example, 24 bytes. The size of the dummy data 504d2D is, for example, 8 bytes. The fraction data 504d2R and the dummy data 504d2D are written in the fraction data storage area 207c of the SRAM 207. The address when the fraction data 504d2R and the dummy data 504d2D are written to the SRAM 207 is, for example, address 0x181. The size of the fraction data 504d2R is 24 bytes as described above. The size of the dummy data 504d2D is 8 bytes. Accordingly, a total of 32 bytes of data are written to address 0x181 of SRAM 207. The 32-byte data is aligned in burst access units in the DRAM 107.

この後も、上記と同様の処理が、分割ブロック501dの第3番目以降のラインについて順次行われる。例えば、分割ブロック501bの第3番目のラインのデータのうちの左端に位置する例えば30バイトの端数データ504d3Lは、SRAM207の端数データ格納用領域207cの例えば0x102番地に書き込まれる。分割ブロック501dに含まれているラインは、上述したように例えば64である。分割ブロック501dの第64番目のラインのデータのうちの左端に位置する端数データ504d64L(図5参照)が、SRAM207に書き込まれる。データ504d64Lのサイズは、例えば30バイトである。データ504d64Lは、SRAM207の端数データ格納用領域207cに書き込まれる。データ504d64LをSRAM207に書き込む際のアドレスは、例えば0x13F番地である。0x13F番地には、分割ブロック501cの第64番目のラインの右端に位置する端数データ504c64Rが既に書き込まれている。端数データ504d64Lは、端数データ504c64Rに続くように書き込まれる。端数データ504c64Rのサイズは、2バイトである。端数データ504d64Lのサイズは、30バイトである。従って、SRAM207の0x13F番地には、合計で32バイト分のデータが書き込まれる。32バイト分のデータは、DRAM107におけるバーストアクセス単位にアラインする。この後、分割ブロック501dの第64番目のラインのデータのうちのデータ504d64Cが、SRAM207に書き込まれる。データ504d64Cは、分割ブロック501dの第64番目のラインのデータのうちから、当該ラインの左端に位置する端数データ504d64Lと当該ラインの右端に位置する端数データ504d64Rとを除いたデータである。データ504d64Cのサイズは、例えば448バイトである。データ504d64Cは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。データ504d64CをSRAM207に書き込む際の先頭アドレスは、例えば0x080番地である。この後、分割ブロック501dの第64番目のラインのデータのうちの右端に位置する端数データ504d64Rと、ダミーデータ504d64Dとが、SRAM207に書き込まれる。データ504d64Rのサイズは、例えば24バイトである。ダミーデータ504d64Dのサイズは、例えば8バイトである。端数データ504d64R及びダミーデータ504d64Dは、SRAM207の端数データ格納用領域207cに書き込まれる。端数データ504d64R及びダミーデータ504d64DをSRAM207に書き込む際のアドレスは、例えば0x1BF番地である。端数データ504d64Rのサイズは、上述したように24バイトである。ダミーデータ504d64Dのサイズは、8バイトである。従って、SRAM207の0x1BF番地には、合計で32バイト分のデータが書き込まれる。32バイト分のデータは、DRAM107におけるバーストアクセス単位にアラインする。   Thereafter, the same processing as described above is sequentially performed on the third and subsequent lines of the divided block 501d. For example, for example, 30-byte fraction data 504d3L located at the left end of the data of the third line of the divided block 501b is written to, for example, 0x102 in the fraction data storage area 207c of the SRAM 207. As described above, the number of lines included in the divided block 501d is 64, for example. The fraction data 504d64L (see FIG. 5) located at the left end of the data of the 64th line of the divided block 501d is written to the SRAM 207. The size of the data 504d64L is, for example, 30 bytes. The data 504d64L is written in the fraction data storage area 207c of the SRAM 207. The address when writing the data 504d64L to the SRAM 207 is, for example, address 0x13F. The fraction data 504c64R located at the right end of the 64th line of the divided block 501c is already written at the address 0x13F. The fraction data 504d64L is written so as to follow the fraction data 504c64R. The size of the fraction data 504c64R is 2 bytes. The size of the fraction data 504d64L is 30 bytes. Accordingly, a total of 32 bytes of data are written in the address 0x13F of the SRAM 207. The 32-byte data is aligned in burst access units in the DRAM 107. Thereafter, data 504d64C among the data of the 64th line of the divided block 501d is written into the SRAM 207. Data 504d64C is data obtained by removing the fraction data 504d64L located at the left end of the line and the fraction data 504d64R located at the right end of the line from the data of the 64th line of the divided block 501d. The size of the data 504d64C is, for example, 448 bytes. The data 504d64C is written in, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when the data 504d64C is written to the SRAM 207 is, for example, 0x080. Thereafter, the fraction data 504d64R located at the right end of the data of the 64th line of the divided block 501d and the dummy data 504d64D are written into the SRAM 207. The size of the data 504d64R is, for example, 24 bytes. The size of the dummy data 504d64D is, for example, 8 bytes. The fraction data 504d64R and the dummy data 504d64D are written in the fraction data storage area 207c of the SRAM 207. The address when writing the fraction data 504d64R and the dummy data 504d64D into the SRAM 207 is, for example, address 0x1BF. The size of the fraction data 504d64R is 24 bytes as described above. The size of the dummy data 504d64D is 8 bytes. Accordingly, a total of 32 bytes of data are written in the address 0x1BF of the SRAM 207. The 32-byte data is aligned in burst access units in the DRAM 107.

タイミングt408からタイミングt410までの期間418は、分割ブロック501dの画像データがSRAM207から読み出される期間である。期間418の一部は、上述した期間417の一部と重複している。期間418においては、以下のような処理が行われる。   A period 418 from timing t408 to timing t410 is a period in which the image data of the divided block 501d is read from the SRAM 207. Part of the period 418 overlaps with part of the period 417 described above. In the period 418, the following processing is performed.

まず、SRAM207の端数データ格納用領域207cのうちの0x100番地に格納されている端数データ504c1R、データ504d1Lが読み出される。上述したように、端数データ504c1Rは、分割ブロック501cの第1番目のラインの右端に位置するものである。上述したように、端数データ504d1Lは、分割ブロック501dの第1番目のラインの左端に位置するものである。   First, fraction data 504c1R and data 504d1L stored at address 0x100 in the fraction data storage area 207c of the SRAM 207 are read. As described above, the fraction data 504c1R is located at the right end of the first line of the divided block 501c. As described above, the fraction data 504d1L is located at the left end of the first line of the divided block 501d.

次に、分割ブロック501dの第1番目のラインのデータのうちのデータ504d1Cが、SRAM207から読み出される。データ504d1Cは、上述したように、分割ブロック501dの第1番目のラインのデータのうちから、当該ラインの左端に位置する端数データ504d1Lと当該ラインの右端に位置する端数データ504d1Rとを除いたデータである。データ504d1Cのサイズは、上述したように例えば448バイトである。データ504d1Cは、SRAM207のメモリバンク207a、即ち、BANK0から読み出される。データ504d1CをSRAM207から読み出す際の先頭アドレスは、例えば0x000番地である。   Next, data 504d1C of the data of the first line of the divided block 501d is read from the SRAM 207. As described above, the data 504d1C is data obtained by removing the fraction data 504d1L located at the left end of the line and the fraction data 504d1R located at the right end of the line from the data of the first line of the divided block 501d. It is. As described above, the size of the data 504d1C is, for example, 448 bytes. The data 504d1C is read from the memory bank 207a of the SRAM 207, that is, BANK0. The head address when reading the data 504d1C from the SRAM 207 is, for example, 0x000.

次に、SRAM207の端数データ格納用領域207cのうちの0x180番地に格納されている端数データ504d1R及びダミーデータ504d1Dが読み出される。上述したように、端数データ504d1Rは、分割ブロック501dの第1番目のラインの右端に位置するものである。   Next, the fraction data 504d1R and the dummy data 504d1D stored at address 0x180 in the fraction data storage area 207c of the SRAM 207 are read. As described above, the fraction data 504d1R is located at the right end of the first line of the divided block 501d.

SRAM207から読み出されたこれらのデータ、即ち、端数データ504c1R、データ504d1L、データ504d1C、端数データ504d1R、及び、ダミーデータ504d1Dは、メモリバス151を介して伝送される。端数データ504c1R、データ504d1Lの書き込み開始アドレスは、例えば0x15E0番地である。データ504d1Cの書き込みアドレスは、例えば0x1600番地である。端数データ504d1R及びダミーデータ504d1Dの書き込みアドレスは、例えば0x17C0番地である。上述したように、端数データ504c1Rのサイズは2バイトである。また、上述したように、端数データ504d1Lのサイズは、30バイトである。また、上述したように、データ504d1Cのサイズは、448バイトである。また、上述したように、端数データ504d1Rのサイズは24バイトである。また、上述したように、ダミーデータ504d1Dのサイズは8バイトである。従って、SRAM207から読み出されるこれらのデータ504c1R、504d1L、504d1C、504d1R、504d1Dの合計のサイズは、512バイトである。合計のサイズが512バイトであるこれらのデータ504c1R、504d1L、504d1C、504d1R、504d1Dは、DRAM107におけるバーストアクセス単位にアラインする。こうして、DRAM107のうちのデータ504c1Cが書き込まれたアドレスの直後のアドレスに、端数データ504c1R、データ504d1L、データ504d1C、端数データ504d1R、及び、ダミーデータ504d1Dが書き込まれる。換言すれば、DRAM107のうちのデータ504c1Cが書き込まれたアドレスの直後のアドレスに、以下のようなデータが順次書き込まれる。即ち、端数データ504c1Rに端数データ504d1Lを結合することにより得られる結合データと、データ504d1Cと、端数データ504d1Rにダミーデータ504d1Dを結合することにより得られる結合データとが順次書き込まれる。   These data read from the SRAM 207, that is, the fraction data 504c1R, the data 504d1L, the data 504d1C, the fraction data 504d1R, and the dummy data 504d1D are transmitted via the memory bus 151. The write start address of the fraction data 504c1R and data 504d1L is, for example, 0x15E0. The write address of the data 504d1C is, for example, address 0x1600. Write addresses of the fraction data 504d1R and the dummy data 504d1D are, for example, address 0x17C0. As described above, the size of the fraction data 504c1R is 2 bytes. Further, as described above, the size of the fraction data 504d1L is 30 bytes. As described above, the size of the data 504d1C is 448 bytes. Further, as described above, the size of the fraction data 504d1R is 24 bytes. Further, as described above, the size of the dummy data 504d1D is 8 bytes. Therefore, the total size of these data 504c1R, 504d1L, 504d1C, 504d1R, and 504d1D read from the SRAM 207 is 512 bytes. These data 504 c 1 R, 504 d 1 L, 504 d 1 C, 504 d 1 R, and 504 d 1 D having a total size of 512 bytes are aligned in burst access units in the DRAM 107. Thus, the fraction data 504c1R, the data 504d1L, the data 504d1C, the fraction data 504d1R, and the dummy data 504d1D are written to the address immediately after the address where the data 504c1C is written in the DRAM 107. In other words, the following data is sequentially written in the address immediately after the address where the data 504c1C is written in the DRAM 107. That is, the combined data obtained by combining the fraction data 504c1R with the fraction data 504d1L, the data 504d1C, and the combined data obtained by combining the dummy data 504d1D with the fraction data 504d1R are sequentially written.

次に、SRAM207の端数データ格納用領域207cのうちの0x101番地に格納されている端数データ504c2R、504d2Lが読み出される。上述したように、端数データ504c2Rは、分割ブロック501cの第2番目のラインの右端に位置するものである。上述したように、端数データ504d2Lは、分割ブロック501dの第2番目のラインの左端に位置するものである。   Next, the fraction data 504c2R and 504d2L stored at address 0x101 in the fraction data storage area 207c of the SRAM 207 are read. As described above, the fraction data 504c2R is located at the right end of the second line of the divided block 501c. As described above, the fraction data 504d2L is located at the left end of the second line of the divided block 501d.

次に、分割ブロック501cの第2番目のラインのデータのうちのデータ504d2Cが、SRAM207から読み出される。データ504d2Cは、上述したように、分割ブロック501cの第2番目のラインのデータのうちから、当該ラインの左端に位置する端数データ504d2Lと当該ラインの右端に位置する端数データ504d2Rとを除いたデータである。データ504d2Cのサイズは、上述したように例えば448バイトである。データ504d2Cは、SRAM207のメモリバンク207b、即ち、BANK1から読み出される。データ504d2CをSRAM207から読み出す際の先頭アドレスは、例えば0x080番地である。   Next, data 504d2C of the data of the second line of the divided block 501c is read from the SRAM 207. As described above, the data 504d2C is data obtained by removing the fraction data 504d2L located at the left end of the line and the fraction data 504d2R located at the right end of the line from the data of the second line of the divided block 501c. It is. As described above, the size of the data 504d2C is, for example, 448 bytes. The data 504d2C is read from the memory bank 207b of the SRAM 207, that is, BANK1. The head address when reading the data 504d2C from the SRAM 207 is, for example, address 0x080.

次に、SRAM207の端数データ格納用領域207cのうちの0x181番地に格納されている端数データ504d2R及びダミーデータ504d2Dが読み出される。上述したように、端数データ504d2Rは、分割ブロック501dの第2番目のラインの右端に位置するものである。   Next, the fraction data 504d2R and the dummy data 504d2D stored at address 0x181 in the fraction data storage area 207c of the SRAM 207 are read. As described above, the fraction data 504d2R is located at the right end of the second line of the divided block 501d.

SRAM207から読み出されたこれらのデータ、即ち、端数データ504c2R、504d2L、データ504d2C、端数データ504d2R、及び、ダミーデータ504d2Dは、メモリバス151を介して伝送される。アドレス演算部203は、オフセット値を加算することによって、これらのデータ504c2R、504d2L、504d2C、504d2R、504d2Dの書き込み開始アドレスを生成する。オフセット値は、上述したように、例えば2016バイトである。上述したように、端数データ504c2Rのサイズは2バイトである。また、上述したように、端数データ504d2Lのサイズは、30バイトである。また、上述したように、データ504d2Cのサイズは、448バイトである。また、上述したように、端数データ504d2Rのサイズは24バイトである。また、上述したように、ダミーデータ504d2Dのサイズは8バイトである。従って、SRAM207から読み出されるこれらのデータ504c2R、504d2L、504d2C、504d2R、504d2Dの合計のサイズは、512バイトである。合計のサイズが512バイトであるこれらのデータ504c2R、504d2L、504d2C、504d2R、504d2Dは、DRAM107におけるバーストアクセス単位にアラインする。こうして、DRAM107のうちのデータ504c2Cが書き込まれたアドレスの直後のアドレスに、端数データ504c2R、504d2L、データ504d2C、端数データ504d2R、及び、ダミーデータ504d2Dが書き込まれる。換言すれば、DRAM107のうちのデータ504c2Cが書き込まれたアドレスの直後のアドレスに、以下のようなデータが順次書き込まれる。即ち、端数データ504c2Rに端数データ504d2Lを結合することにより得られる結合データと、データ504d2Cと、端数データ504d2Rにダミーデータ504d2Dを結合することにより得られる結合データとが順次書き込まれる。   These data read from the SRAM 207, that is, fraction data 504c2R, 504d2L, data 504d2C, fraction data 504d2R, and dummy data 504d2D are transmitted via the memory bus 151. The address calculation unit 203 adds the offset values to generate write start addresses for these data 504c2R, 504d2L, 504d2C, 504d2R, and 504d2D. As described above, the offset value is, for example, 2016 bytes. As described above, the size of the fraction data 504c2R is 2 bytes. Further, as described above, the size of the fraction data 504d2L is 30 bytes. As described above, the size of the data 504d2C is 448 bytes. Further, as described above, the size of the fraction data 504d2R is 24 bytes. Further, as described above, the size of the dummy data 504d2D is 8 bytes. Therefore, the total size of these data 504c2R, 504d2L, 504d2C, 504d2R, and 504d2D read from the SRAM 207 is 512 bytes. These data 504c2R, 504d2L, 504d2C, 504d2R, and 504d2D having a total size of 512 bytes are aligned in burst access units in the DRAM 107. Thus, the fractional data 504c2R, 504d2L, the data 504d2C, the fractional data 504d2R, and the dummy data 504d2D are written to the address immediately after the address where the data 504c2C is written in the DRAM 107. In other words, the following data is sequentially written in the address immediately after the address where the data 504c2C is written in the DRAM 107. That is, the combined data obtained by combining the fraction data 504d2L with the fraction data 504c2R, the data 504d2C, and the combined data obtained by combining the dummy data 504d2D with the fraction data 504d2R are sequentially written.

この後も、上記と同様の処理が、分割ブロック501dの第3番目以降のラインについて順次行われる。分割ブロック501dに含まれているラインは、上述したように例えば64である。従って、上記と同様の処理が、分割ブロック501cの第64番目のラインまで繰り返し行われる。
この後、上記と同様にして、分割ブロック501e〜501lに対する処理が行われる。
Thereafter, the same processing as described above is sequentially performed on the third and subsequent lines of the divided block 501d. As described above, the number of lines included in the divided block 501d is 64, for example. Accordingly, the same processing as described above is repeatedly performed up to the 64th line of the divided block 501c.
Thereafter, the processing for the divided blocks 501e to 501l is performed in the same manner as described above.

なお、分割ブロック501dの各ラインの右端に位置する端数データと、分割ブロック501aの各ラインの左端に位置する端数データとを結合させて、SRAM207の端数データ格納用領域207cに書き込むようにしてもよい。この場合、分割ブロック501dの各ラインの最後にこのようなデータが書き込まれる。分割ブロック501dの各ラインの右端に位置する端数データと、分割ブロック501aの各ラインの左端に位置する端数データとを組み合わせることにより得られるデータも、DRAM107のバーストアクセス単位にアラインし得る。   It should be noted that the fraction data located at the right end of each line of the divided block 501d and the fraction data located at the left end of each line of the divided block 501a are combined and written into the fraction data storage area 207c of the SRAM 207. Good. In this case, such data is written at the end of each line of the divided block 501d. Data obtained by combining the fraction data located at the right end of each line of the divided block 501d and the fraction data located at the left end of each line of the divided block 501a can also be aligned in the burst access unit of the DRAM 107.

このように、本実施形態によれば、DRAM107におけるバーストアクセス単位にアラインするように、端数データのサイズの調整が行われる。このため、本実施形態によれば、コマンドオーバーヘッドを低減することができ、書き込み速度の低下を抑制し得る。   As described above, according to the present embodiment, the size of the fraction data is adjusted so as to align with the burst access unit in the DRAM 107. For this reason, according to this embodiment, command overhead can be reduced and a decrease in writing speed can be suppressed.

[第2実施形態]
第2実施形態による画像処理装置及び画像処理方法について図6及び図7を用いて説明する。第1実施形態による画像処理装置等と同一の構成要素には、同一の符号を付して説明を省略又は簡潔にする。
[Second Embodiment]
An image processing apparatus and an image processing method according to the second embodiment will be described with reference to FIGS. The same components as those of the image processing apparatus according to the first embodiment are denoted by the same reference numerals, and description thereof is omitted or simplified.

本実施形態による画像処理装置100は、WRDMAC202とは異なるWRDMAC232に備えられたSRAM237に端数データ504LRやダミーデータ504Dを一時的に格納するものである。   The image processing apparatus 100 according to the present embodiment temporarily stores fraction data 504LR and dummy data 504D in an SRAM 237 provided in a WRDMAC 232 different from the WRDMAC 202.

図6は、本実施形態による画像処理装置100のデータ転送部105に備えられたWRDMAC202,212,222,232を示すブロック図である。図6には、モジュール201,211,221と、セレクタ251と、WRDMAC202,212,222,232と、メモリバス115とが示されている。モジュール201、即ち、モジュールA(MODULE A)は、第1実施形態において上述したように、画像処理部104に備えられている。モジュールB(MODULE B)、即ち、モジュール211も、画像処理部104に備えられている。モジュールC(MODULE C)、即ち、モジュール221も、画像処理部104に備えられている。図7は、本実施形態による画像処理装置100のWRDMAC202、232にそれぞれ備えられたSRAM207、237のデータ格納領域の構成の例を示す図である。   FIG. 6 is a block diagram showing the WRDMACs 202, 212, 222, and 232 provided in the data transfer unit 105 of the image processing apparatus 100 according to the present embodiment. FIG. 6 shows modules 201, 211, 221, a selector 251, WRDMACs 202, 212, 222, 232, and a memory bus 115. The module 201, that is, the module A (MODULE A) is provided in the image processing unit 104 as described above in the first embodiment. The module B (MODULE B), that is, the module 211 is also provided in the image processing unit 104. The module C (MODULE C), that is, the module 221 is also provided in the image processing unit 104. FIG. 7 is a diagram illustrating an example of the configuration of the data storage areas of the SRAMs 207 and 237 provided in the WRDMACs 202 and 232 of the image processing apparatus 100 according to the present embodiment, respectively.

モジュール201,211,221は、所定の画像処理をそれぞれ行う。モジュール201,211,221とWRDMAC202,212,222,232とは、セレクタ251を介して接続され得る。モジュール201,211,221から出力されるデータは、信号線DATA_A,DATA_B,DATA_Cをそれぞれ介して伝送される。WRDMAC202,212,222,232には、信号線DATA_0,DATA_1,DATA_2,DATA_3をそれぞれ介してデータが供給される。有効データ出力期間であることを示す信号が、信号線VALID_A,VALID_B,VALID_Cをそれぞれ介して、モジュール201,211,221からそれぞれ出力される。有効データ出力期間であることを示す信号が、信号線VALID_0,VALID_1,VALID_2,VALID_3をそれぞれ介して、WRDMAC202,212,222,232にそれぞれ供給される。WRDMAC202,212,222,232がデータを受け付け得ない状態であることを示す信号が、信号線STOP_0,STOP_1,STOP_2,STOP_3をそれぞれ介して、WRDMAC202,212,222,232からそれぞれ出力される。WRDMAC202,212,222,232がデータを受け付け得ない状態であることを示す信号が、信号線STOP_A,STOP_B,STOP_Cをそれぞれ介して、モジュール201,211,221に供給される。セレクタ251は、これらの信号の供給先を適宜選択する。   Modules 201, 211, and 221 perform predetermined image processing, respectively. Modules 201, 211, 221 and WRDMAC 202, 212, 222, 232 can be connected via a selector 251. Data output from the modules 201, 211, and 221 is transmitted through signal lines DATA_A, DATA_B, and DATA_C, respectively. Data is supplied to WRDMACs 202, 212, 222, and 232 through signal lines DATA_0, DATA_1, DATA_2, and DATA_3, respectively. Signals indicating the valid data output period are output from the modules 201, 211, and 221 via the signal lines VALID_A, VALID_B, and VALID_C, respectively. A signal indicating that it is a valid data output period is supplied to WRDMACs 202, 212, 222, and 232 through signal lines VALID_0, VALID_1, VALID_2, and VALID_3, respectively. Signals indicating that the WRDMACs 202, 212, 222, and 232 cannot accept data are output from the WRDMACs 202, 212, 222, and 232 through the signal lines STOP_0, STOP_1, STOP_2, and STOP_3, respectively. A signal indicating that the WRDMAC 202, 212, 222, 232 cannot accept data is supplied to the modules 201, 211, 221 via the signal lines STOP_A, STOP_B, STOP_C, respectively. The selector 251 appropriately selects the supply destination of these signals.

WRDMAC(WRDMAC_0)202には、第1実施形態において上述したように、アドレス演算部203、書き込み制御部204、SRAM207、読み出し制御部208、バスI/F部209が備えられている。WRDMAC(WRDMAC_1)212には、アドレス演算部213、書き込み制御部214、SRAM217、読み出し制御部218、バスI/F部219が備えられている。WRDMAC(WRDMAC_2)222には、アドレス演算部223、書き込み制御部224、SRAM227、読み出し制御部228、バスI/F部229が備えられている。WRDMAC(WRDMAC_3)232には、アドレス演算部233、書き込み制御部234、SRAM237、読み出し制御部238、バスI/F部239が備えられている。SRAM207は、第1実施形態において上述したように、2つのメモリバンク207a、207bを備えている。SRAM217は、2つのメモリバンク217a、217bを備えている。SRAM227は、2つのメモリバンク227a、227bを備えている。SRAM237は、2つのメモリバンク237a、237bを備えている。   As described above in the first embodiment, the WRDMAC (WRDMAC — 0) 202 includes the address calculation unit 203, the write control unit 204, the SRAM 207, the read control unit 208, and the bus I / F unit 209. The WRDMAC (WRDMAC_1) 212 includes an address calculation unit 213, a write control unit 214, an SRAM 217, a read control unit 218, and a bus I / F unit 219. The WRDMAC (WRDMAC_2) 222 includes an address calculation unit 223, a write control unit 224, an SRAM 227, a read control unit 228, and a bus I / F unit 229. The WRDMAC (WRDMAC — 3) 232 includes an address calculation unit 233, a write control unit 234, an SRAM 237, a read control unit 238, and a bus I / F unit 239. The SRAM 207 includes two memory banks 207a and 207b as described above in the first embodiment. The SRAM 217 includes two memory banks 217a and 217b. The SRAM 227 includes two memory banks 227a and 227b. The SRAM 237 includes two memory banks 237a and 237b.

アドレス演算部213,223,233は、アドレス演算部203と同様の機能を有する。書き込み制御部214,224,234は、書き込み制御部204と同様の機能を有する。SRAM217,227,237は、SRAM207と同様の機能を有する。読み出し制御部218,228,238は、読み出し制御部208と同様の機能を有する。バスI/F部219,229,239は、バスI/F部209と同様の機能を有する。   The address calculation units 213, 223, and 233 have the same functions as the address calculation unit 203. The write control units 214, 224, and 234 have the same functions as the write control unit 204. The SRAMs 217, 227, and 237 have the same functions as the SRAM 207. The read control units 218, 228, and 238 have the same functions as the read control unit 208. The bus I / F units 219, 229, and 239 have the same functions as the bus I / F unit 209.

書き込み制御部204,214,224,234とSRAM207,217,227,237との間には、書き込み用のメモリバス260が備えられている。SRAM207,217,227,237と読み出し制御部208,218,228,238との間には、読み出し用のメモリバス261が備えられている。書き込み制御部204,214,224,234は、当該書き込み制御部が備えられたWRDMAC202,212,222,232とは異なるWRDMACに備えられたSRAM207,217,227,237に、メモリバス260介してアクセスし得る。例えば、WRDMAC202に備えられたSRAM書き込み制御部204は、WRDMAC232に備えられたSRAM237に対して、メモリバス260を介して書き込み処理を行い得る。   A write memory bus 260 is provided between the write controllers 204, 214, 224, and 234 and the SRAMs 207, 217, 227, and 237. A memory bus 261 for reading is provided between the SRAMs 207, 217, 227, and 237 and the reading control units 208, 218, 228, and 238. The write controllers 204, 214, 224, and 234 access the SRAMs 207, 217, 227, and 237 provided in the WRDMAC different from the WRDMACs 202, 212, 222, and 232 provided with the write controller via the memory bus 260. Can do. For example, the SRAM write control unit 204 provided in the WRDMAC 202 can perform a write process on the SRAM 237 provided in the WRDMAC 232 via the memory bus 260.

ここでは、モジュール201,211,221とWRDMAC202,212,222,232とが以下のように接続されている場合を例に説明する。即ち、モジュール201は、セレクタ251を介してWRDMAC202に接続されている。また、モジュール211は、セレクタ251を介してWRDMAC212に接続されている。また、モジュール221は、セレクタ251を介してWRDMAC222に接続されている。WRDMAC232は、モジュール201,211,221のいずれも接続されておらず、未使用状態である。ここでは、WRDMAC202に備えられたSRAM207が、端数データ504LRとダミーデータ504Dのいずれでもないデータ504Cを格納するために用いられる場合を例に説明する。また、ここでは、未使用状態のWRDMACであるWRDMAC232に備えられたSRAM237が、端数データ504LR及びダミーデータ504Dを格納するために用いられる場合を例に説明する。   Here, a case where the modules 201, 211, 221 and the WRDMAC 202, 212, 222, 232 are connected as described below will be described as an example. That is, the module 201 is connected to the WRDMAC 202 via the selector 251. The module 211 is connected to the WRDMAC 212 via the selector 251. The module 221 is connected to the WRDMAC 222 via the selector 251. The WRDMAC 232 is not connected to any of the modules 201, 211, and 221 and is in an unused state. Here, a case where the SRAM 207 provided in the WRDMAC 202 is used to store data 504C that is neither the fraction data 504LR nor the dummy data 504D will be described as an example. Here, a case where the SRAM 237 provided in the WRDMAC 232 which is an unused WRDMAC is used to store the fraction data 504LR and the dummy data 504D will be described as an example.

書き込み制御部204,214,224,234からそれぞれ出力される書き込みアドレスは、信号線WR_ADDR_0_IBUS,WR_ADDR_1_IBUS,WR_ADDR_2_IBUS,WR_ADDR_3_IBUSを介して供給される。信号線WR_ADDR_0_OBUS,WR_ADDR_1_OBUS,WR_ADDR_2_OBUS,WR_ADDR_3_OBUSをそれぞれ介して、SRAM207,217,227,237に書き込みアドレスがそれぞれ供給される。   Write addresses output from the write controllers 204, 214, 224, and 234 are supplied via signal lines WR_ADDR_0_IBUS, WR_ADDR_1_IBUS, WR_ADDR_2_IBUS, and WR_ADDR_3_IBUS. Write addresses are supplied to the SRAMs 207, 217, 227, and 237 through signal lines WR_ADDR_0_OBUS, WR_ADDR_1_OBUS, WR_ADDR_2_OBUS, and WR_ADDR_3_OBUS, respectively.

書き込み制御部204,214,224,234からそれぞれ出力される書き込みイネーブル信号は、信号線WEN_0_IBUS,WEN_1_IBUS,WEN_2_IBUS,WEN_3_IBUSを介してそれぞれ供給される。信号線WEN_0_OBUS,WEN_1_OBUS,WEN_2_OBUS,WEN_3_OBUSをそれぞれ介して、SRAM207,217,227,237に書き込みイネーブル信号がそれぞれ供給される。   Write enable signals output from the write controllers 204, 214, 224, and 234 are supplied via signal lines WEN_0_IBUS, WEN_1_IBUS, WEN_2_IBUS, and WEN_3_IBUS, respectively. Write enable signals are supplied to the SRAMs 207, 217, 227, and 237 through signal lines WEN_0_OBUS, WEN_1_OBUS, WEN_2_OBUS, and WEN_3_OBUS, respectively.

書き込み制御部204,214,224,234からそれぞれ出力されるデータは、信号線DIN_0_IBUS,DIN_1_IBUS,DIN_2_IBUS,DIN_3_IBUSを介してそれぞれ供給される。信号線DIN_0_OBUS,DIN_1_OBUS,DIN_2_OBUS,DIN_3_OBUSを介して、SRAM207,217,227,237にデータがそれぞれ供給される。   Data output from the write control units 204, 214, 224, and 234 is supplied via signal lines DIN_0_IBUS, DIN_1_IBUS, DIN_2_IBUS, and DIN_3_IBUS, respectively. Data is supplied to the SRAMs 207, 217, 227, and 237 through the signal lines DIN_0_OBUS, DIN_1_OBUS, DIN_2_OBUS, and DIN_3_OBUS, respectively.

読み出し制御部208,218,228,238は、信号線RD_ADDR_0_IBUS,RD_ADDR_1_IBUS,RD_ADDR_2_IBUS,RD_ADDR_3_IBUSを介して読み出しアドレスを供給する。信号線RD_ADDR_0_OBUS,RD_ADDR_1_OBUS,RD_ADDR_2_OBUS,RD_ADDR_3_OBUSを介して、読み出しアドレスがSRAM207,217,227,237にそれぞれ供給される。   The read control units 208, 218, 228, and 238 supply read addresses via signal lines RD_ADDR_0_IBUS, RD_ADDR_1_IBUS, RD_ADDR_2_IBUS, and RD_ADDR_3_IBUS. Read addresses are supplied to the SRAMs 207, 217, 227, and 237 through the signal lines RD_ADDR_0_OBUS, RD_ADDR_1_OBUS, RD_ADDR_2_OBUS, and RD_ADDR_3_OBUS, respectively.

読み出し制御部208,218,228,238は、信号線REN_0_IBUS,REN_1_IBUS,REN_2_IBUS,REN_3_IBUSを介して読み出しイネーブル信号を供給する。信号線REN_0_OBUS,REN_1_OBUS,REN_2_OBUS,REN_3_OBUSを介して、読み出しイネーブル信号がSRAM207,217,227,237にそれぞれ供給される。   The read control units 208, 218, 228, and 238 supply read enable signals via the signal lines REN_0_IBUS, REN_1_IBUS, REN_2_IBUS, and REN_3_IBUS. Read enable signals are supplied to the SRAMs 207, 217, 227, and 237 through the signal lines REN_0_OBUS, REN_1_OBUS, REN_2_OBUS, and REN_3_OBUS, respectively.

SRAM207,217,227,237は、信号線DOUT_0_OBUS,DOUT_1_OBUS,DOUT_2_OBUS,DOUT_3_OBUSを介してデータを供給する。信号線DOUT_0_IBUS,DOUT_1_IBUS,DOUT_2_IBUS,DOUT_3_IBUSを介して、読み出し制御部208,218,228,238にデータが供給される。   The SRAMs 207, 217, 227, and 237 supply data via signal lines DOUT_0_OBUS, DOUT_1_OBUS, DOUT_2_OBUS, and DOUT_3_OBUS. Data is supplied to the read controllers 208, 218, 228, and 238 through the signal lines DOUT_0_IBUS, DOUT_1_IBUS, DOUT_2_IBUS, and DOUT_3_IBUS.

アドレス演算部203,213,223,233は、信号線MEM_ADDR_0,MEM_ADDR_1,MEM_ADDR_2,MEM_ADDR_3をそれぞれ介して、以下のような信号をバスI/F部209,219,229,239に供給する。アドレス演算部203,213,223,233は、DRAM107に対して書き込みを行う際の書き込み開始アドレスを、信号線MEM_ADDR_0,MEM_ADDR_1,MEM_ADDR_2,MEM_ADDR_3をそれぞれ介して供給する。また、アドレス演算部203,213,223,233は、転送バースト長を示す情報を、信号線MEM_ADDR_0,MEM_ADDR_1,MEM_ADDR_2,MEM_ADDR_3をそれぞれ介して供給する。   The address calculation units 203, 213, 223, and 233 supply the following signals to the bus I / F units 209, 219, 229, and 239 through the signal lines MEM_ADDR_0, MEM_ADDR_1, MEM_ADDR_2, and MEM_ADDR_3, respectively. The address calculation units 203, 213, 223, and 233 supply the write start address when writing to the DRAM 107 via the signal lines MEM_ADDR_0, MEM_ADDR_1, MEM_ADDR_2, and MEM_ADDR_3, respectively. Further, the address arithmetic units 203, 213, 223, and 233 supply information indicating the transfer burst length via the signal lines MEM_ADDR_0, MEM_ADDR_1, MEM_ADDR_2, and MEM_ADDR_3, respectively.

バスI/F部209,219,229,239は、リクエスト信号REQ_0,REQ_1,REQ_2,REQ_3を、メモリバス115を介してそれぞれ伝送する。書き込みを許可することを示す許可信号ACK_0,ACK_1,ACK_2,ACK_3が、メモリバス115を介してバスI/F部209,219,229,239にそれぞれ供給される。SRAM207,217,227,237からそれぞれ読み出されるデータは、信号線WDATA_0,WDATA_1,WDATA_2,WDATA_3をそれぞれ介し、更にメモリバス115を介して伝送される。   The bus I / F units 209, 219, 229, and 239 transmit request signals REQ_0, REQ_1, REQ_2, and REQ_3 via the memory bus 115, respectively. Permission signals ACK_0, ACK_1, ACK_2, and ACK_3 indicating that writing is permitted are supplied to the bus I / F units 209, 219, 229, and 239 via the memory bus 115, respectively. Data read from each of the SRAMs 207, 217, 227, and 237 is transmitted via the signal lines WDATA_0, WDATA_1, WDATA_2, and WDATA_3, respectively, and further via the memory bus 115.

端数データ504LRとダミーデータ504Dのいずれでもないデータ504Cは、第1実施形態と同様に、WRDMAC202に備えられたSRAM207に一時的に格納される。一方、端数データ504LR及びダミーデータ504Dは、WRDMAC202とは異なるWRDMACである例えばWRDMAC232に備えられたSRAM237に一時的に格納される。   The data 504C that is neither the fraction data 504LR nor the dummy data 504D is temporarily stored in the SRAM 207 provided in the WRDMAC 202, as in the first embodiment. On the other hand, the fraction data 504LR and the dummy data 504D are temporarily stored in, for example, an SRAM 237 provided in the WRDMAC 232, which is a WRDMAC different from the WRDMAC 202.

具体的には、端数データ504LRとダミーデータ504Dのいずれでもないデータ504Cは、以下のようにしてSRAM207に書き込まれる。書き込み制御部204は、信号線WR_ADDR_0_IBUS、メモリバス260、及び、信号線WR_ADDR_0_OBUSを介して、書き込みアドレスをSRAM207に供給する。また、書き込み制御部204は、信号線WEN_0_IBUS、メモリバス260、及び、信号線WEN_0_OBUSを介して、書き込みイネーブル信号をSRAM207に供給する。また、書き込み制御部204は、信号線DIN_0_IBUS、メモリバス260、及び、信号線DIN_0_OBUSを介して、データをSRAM207に供給する。こうして、端数データ504LRとダミーデータ504Dのいずれでもないデータ504CがSRAM207に書き込まれる。   Specifically, the data 504C that is neither the fraction data 504LR nor the dummy data 504D is written into the SRAM 207 as follows. The write control unit 204 supplies a write address to the SRAM 207 via the signal line WR_ADDR_0_IBUS, the memory bus 260, and the signal line WR_ADDR_0_OBUS. Further, the write control unit 204 supplies a write enable signal to the SRAM 207 via the signal line WEN_0_IBUS, the memory bus 260, and the signal line WEN_0_OBUS. Further, the write control unit 204 supplies data to the SRAM 207 via the signal line DIN_0_IBUS, the memory bus 260, and the signal line DIN_0_OBUS. In this way, data 504C that is neither the fraction data 504LR nor the dummy data 504D is written to the SRAM 207.

端数データ504LRとダミーデータ504Dのいずれでもないデータ504Cは、以下のようにしてSRAM207から読み出される。読み出し制御部208は、信号線RD_ADDR_0_IBUS、メモリバス261、及び、信号線RD_ADDR_0_OBUSを介して、読み出しアドレスをSRAM207に供給する。また、読み出し制御部208は、信号線REN_0_IBUS、メモリバス261、及び、信号線REN_0_OBUSを介して、読み出しイネーブル信号をSRAM207に供給する。SRAM207は、信号線DOUT_0_OBUS、メモリバス261、及び、信号線DOUT_0_IBUSを介して、データを読み出し制御部208に供給する。こうして、端数データ504LRとダミーデータ504Dのいずれでもないデータ504CがSRAM207から読み出される。SRAM207から読み出されたデータ504Cは、メモリバス115を介して伝送される。   Data 504C that is neither the fraction data 504LR nor the dummy data 504D is read from the SRAM 207 as follows. The read control unit 208 supplies a read address to the SRAM 207 via the signal line RD_ADDR_0_IBUS, the memory bus 261, and the signal line RD_ADDR_0_OBUS. Further, the read control unit 208 supplies a read enable signal to the SRAM 207 via the signal line REN_0_IBUS, the memory bus 261, and the signal line REN_0_OBUS. The SRAM 207 supplies data to the read control unit 208 via the signal line DOUT_0_OBUS, the memory bus 261, and the signal line DOUT_0_IBUS. In this way, data 504C that is neither the fraction data 504LR nor the dummy data 504D is read from the SRAM 207. Data 504C read from the SRAM 207 is transmitted via the memory bus 115.

端数データ504LRは、以下のようにしてSRAM237に書き込まれる。ダミーデータ504Dも、端数データ504LRの場合と同様に、以下のようにしてSRAM237に書き込まれる。書き込み制御部204は、信号線WR_ADDR_0_IBUS、メモリバス260、及び、信号線WR_ADDR_3_OBUSを介して、書き込みアドレスをSRAM237に供給する。また、書き込み制御部204は、信号線WEN_0_IBUS、メモリバス260、及び、信号線WEN_3_OBUSを介して、書き込みイネーブル信号をSRAM237に供給する。また、書き込み制御部204は、信号線DIN_0_IBUS、メモリバス260、及び、信号線DIN_3_OBUSを介して、データをSRAM237に供給する。こうして、端数データ504LRやダミーデータ504DがSRAM237に書き込まれる。   The fraction data 504LR is written in the SRAM 237 as follows. The dummy data 504D is also written in the SRAM 237 as follows, as in the case of the fraction data 504LR. The write control unit 204 supplies a write address to the SRAM 237 via the signal line WR_ADDR_0_IBUS, the memory bus 260, and the signal line WR_ADDR_3_OBUS. Further, the write control unit 204 supplies a write enable signal to the SRAM 237 via the signal line WEN_0_IBUS, the memory bus 260, and the signal line WEN_3_OBUS. Further, the write control unit 204 supplies data to the SRAM 237 via the signal line DIN_0_IBUS, the memory bus 260, and the signal line DIN_3_OBUS. Thus, the fraction data 504LR and the dummy data 504D are written into the SRAM 237.

端数データ504LRは、以下のようにしてSRAM237から読み出される。ダミーデータ504Dも、端数データ504LRと同様に、以下のようにしてSRAM237から読み出される。読み出し制御部208は、信号線RD_ADDR_0_IBUS、メモリバス261、及び、信号線RD_ADDR_3_OBUSを介して、読み出しアドレスをSRAM237に供給する。また、読み出し制御部208は、信号線REN_0_IBUS、メモリバス261、及び、信号線REN_3_OBUSを介して、読み出しイネーブル信号をSRAM237に供給する。SRAM237は、信号線DOUT_3_OBUS、メモリバス261、及び、信号線DOUT_0_IBUSを介して、データを読み出し制御部208に供給する。こうして、端数データ504LRやダミーデータ504DがSRAM237から読み出される。SRAM237から読み出された端数データ504LRやダミーデータ504Dは、メモリバス115を介して伝送される。   The fraction data 504LR is read from the SRAM 237 as follows. The dummy data 504D is also read from the SRAM 237 as follows, like the fraction data 504LR. The read control unit 208 supplies a read address to the SRAM 237 via the signal line RD_ADDR_0_IBUS, the memory bus 261, and the signal line RD_ADDR_3_OBUS. Further, the read control unit 208 supplies a read enable signal to the SRAM 237 via the signal line REN_0_IBUS, the memory bus 261, and the signal line REN_3_OBUS. The SRAM 237 supplies data to the read control unit 208 via the signal line DOUT_3_OBUS, the memory bus 261, and the signal line DOUT_0_IBUS. Thus, the fraction data 504LR and the dummy data 504D are read from the SRAM 237. The fraction data 504LR and the dummy data 504D read from the SRAM 237 are transmitted via the memory bus 115.

なお、動作のタイミングについては、図4A及び図4Bを用いて上述した第1実施形態の場合と同様であるため説明を省略する。   The operation timing is the same as that in the first embodiment described above with reference to FIGS.

このように、WRDMAC202とは異なるWRDMAC232に備えられたSRAM237に端数データ504LRやダミーデータ504Dを一時的に格納するようにしてよい。   As described above, the fraction data 504LR and the dummy data 504D may be temporarily stored in the SRAM 237 provided in the WRDMAC 232 different from the WRDMAC 202.

[第3実施形態]
第3実施形態による画像処理装置及び画像処理方法について図8を用いて説明する。第1又は第2実施形態による画像処理装置等と同一の構成要素には、同一の符号を付して説明を省略又は簡潔にする。
[Third Embodiment]
An image processing apparatus and an image processing method according to the third embodiment will be described with reference to FIG. The same components as those in the image processing apparatus according to the first or second embodiment are denoted by the same reference numerals, and description thereof is omitted or simplified.

図8は、本実施形態による画像処理装置100の動作の例を示すフローチャートである。本実施形態による画像処理装置100は、例えば、図2に示すようなWRDMAC202を有している。   FIG. 8 is a flowchart illustrating an example of the operation of the image processing apparatus 100 according to the present embodiment. The image processing apparatus 100 according to the present embodiment includes, for example, a WRDMAC 202 as shown in FIG.

ステップS801においては、転送パラメータの設定がWRDMAC202において行われる。転送パラメータとしては、分割ブロック501の水平方向におけるデータサイズ、分割数等が挙げられる。この後、ステップS802に遷移する。   In step S801, transfer parameters are set in the WRDMAC 202. Examples of the transfer parameter include the data size in the horizontal direction of the divided block 501 and the number of divisions. Thereafter, the process proceeds to step S802.

ステップS802においては、分割ブロック501の水平方向におけるデータサイズが所定サイズ未満であるか否かが判定される。所定サイズは、例えば512バイトとされるが、これに限定されるものではない。分割ブロック501の水平方向におけるデータサイズが所定サイズ未満である場合には(ステップS802においてYES)、ステップS804に遷移する。分割ブロック501の水平方向におけるデータサイズが所定サイズ以上である場合には(ステップS802においてNO)、ステップS803に遷移する。   In step S802, it is determined whether the data size in the horizontal direction of the divided block 501 is less than a predetermined size. The predetermined size is, for example, 512 bytes, but is not limited thereto. If the data size in the horizontal direction of the divided block 501 is less than the predetermined size (YES in step S802), the process proceeds to step S804. If the data size in the horizontal direction of the divided block 501 is equal to or larger than the predetermined size (NO in step S802), the process proceeds to step S803.

ステップS803においては、分割ブロック501の水平方向における分割数が所定数以上であるか否かを判定する。換言すれば、分割ブロック501のサイズが所定値未満であるか否かが判定される。所定数は、例えば16とされるが、これに限定されるものではない。分割ブロック501の水平方向における分割数が所定数以上である場合には(ステップS803においてYES)、ステップS804に遷移する。分割ブロック501の水平方向における分割数が所定数である場合には(ステップS803においてNO)、ステップS805に遷移する。   In step S803, it is determined whether or not the number of divisions in the horizontal direction of the divided block 501 is greater than or equal to a predetermined number. In other words, it is determined whether or not the size of the divided block 501 is less than a predetermined value. The predetermined number is, for example, 16, but is not limited thereto. If the number of divisions of the divided block 501 in the horizontal direction is equal to or greater than the predetermined number (YES in step S803), the process proceeds to step S804. If the number of divisions in the horizontal direction of the divided block 501 is a predetermined number (NO in step S803), the process proceeds to step S805.

ステップS804においては、DRAM107におけるバーストアクセス単位にデータサイズをアラインさせる処理を行いつつ、データをDRAM107に書き込む。具体的には、互いに隣接する分割ブロック501の各々のライン503の端数データ504LRが互いに結合される。第1及び第2実施形態において上述したように、端数データ504LRは、DRAM107におけるバーストアクセス単位にアラインするように互いに結合される。結合された端数データ504LRは、SRAM207の端数データ格納用領域207cに書き込まれる。SRAM207の端数データ格納用領域207cに書き込まれた端数データ504LRは、SRAM207から読み出さる。SRAM207から読み出された端数データ504LRは、DRAM107に書き込まれる。
ステップS805においては、DRAM107におけるバーストアクセス単位にデータサイズをアラインさせる処理を行うことなく、データをDRAM107に書き込む。
こうして、図8に示す処理が完了する。
In step S804, the data is written to the DRAM 107 while the data size is aligned in units of burst access in the DRAM 107. Specifically, the fraction data 504LR of each line 503 of the divided blocks 501 adjacent to each other are combined with each other. As described above in the first and second embodiments, the fraction data 504LR is coupled to each other so as to align with the burst access unit in the DRAM 107. The combined fraction data 504LR is written into the fraction data storage area 207c of the SRAM 207. The fraction data 504LR written in the fraction data storage area 207c of the SRAM 207 is read from the SRAM 207. The fraction data 504LR read from the SRAM 207 is written to the DRAM 107.
In step S805, data is written to the DRAM 107 without performing processing for aligning the data size in units of burst access in the DRAM 107.
Thus, the process shown in FIG. 8 is completed.

このように、分割ブロック501の水平方向のデータサイズが所定サイズ未満である場合や分割ブロック501の水平方向の分割数が所定数より大きい場合に、DRAM107のバーストアクセス単位にデータサイズをアラインさせるようにしてもよい。これらの場合以外の場合には、DRAM107のバーストアクセス単位にデータサイズをアラインさせる処理を行わないようにしてもよい。これらの場合には、DRAM107におけるバーストアクセス単位にデータサイズがアラインしない頻度が低く、著しいコマンドオーバーヘッドが生じないためである。   As described above, when the horizontal data size of the divided block 501 is less than the predetermined size or when the horizontal division number of the divided block 501 is larger than the predetermined number, the data size is aligned with the burst access unit of the DRAM 107. It may be. In cases other than these cases, the process of aligning the data size in the burst access unit of the DRAM 107 may not be performed. In these cases, it is because the frequency that the data size is not aligned with the burst access unit in the DRAM 107 is low, and no significant command overhead occurs.

[第4実施形態]
第4実施形態による画像処理装置及び画像処理方法について図9乃至図11を用いて説明する。第1乃至第3実施形態による画像処理装置等と同一の構成要素には、同一の符号を付して説明を省略又は簡潔にする。
[Fourth Embodiment]
An image processing apparatus and an image processing method according to the fourth embodiment will be described with reference to FIGS. The same components as those of the image processing apparatus according to the first to third embodiments are denoted by the same reference numerals, and description thereof is omitted or simplified.

本実施形態による画像処理装置100は、各々の端数データ504Rに対してダミーデータ504Dを付すものである。   The image processing apparatus 100 according to the present embodiment attaches dummy data 504D to each fraction data 504R.

本実施形態による画像処理装置100の基本的な構成は、図1を用いて上述した第1実施形態における画像処理装置100の基本的な構成と同様である。   The basic configuration of the image processing apparatus 100 according to the present embodiment is the same as the basic configuration of the image processing apparatus 100 according to the first embodiment described above with reference to FIG.

図9は、本実施形態による画像処理装置100のWRDMAC202に備えられたSRAM207のデータ格納領域の構成の例を示す図である。
図9に示すように、本実施形態による画像処理装置100のWRDMAC202に備えられたSRAM207は、メモリバンク207aと、メモリバンク207bとを備えている。
FIG. 9 is a diagram showing an example of the configuration of the data storage area of the SRAM 207 provided in the WRDMAC 202 of the image processing apparatus 100 according to the present embodiment.
As shown in FIG. 9, the SRAM 207 provided in the WRDMAC 202 of the image processing apparatus 100 according to the present embodiment includes a memory bank 207a and a memory bank 207b.

図11は、1フレームの画像に対応する仮想的なアドレス空間を示す図である。第1実施形態と同様に、1フレームの画像データを水平方向に4分割するとともに垂直方向に3分割することによって矩形の分割ブロック501a〜501lが画定されている。第1実施形態と同様に、モジュール201からWRDMAC202へは、分割ブロック501a〜501lを単位とするデータの伝送が実行される。また、第1実施形態と同様に、WRDMAC202からDRAM107へも、分割ブロック501a〜501lを単位とするデータの伝送が実行される。第1実施形態と同様に、1フレームの画像の左上端の画素のデータが書き込まれるアドレスが、当該画像データが書き込まれるアドレス領域の先頭のアドレスとなる。第1実施形態と同様に、当該画像データの先頭が書き込まれるアドレスは、例えばDRAM107の0x1000番地とする。第1実施形態と同様に、当該画像の第1番目のラインから最終のラインまでが連続したアドレスに順次書き込まれる。第1実施形態と同様に、当該画像の第n番目のラインの最後尾に位置する画素のデータが書き込まれるアドレスの次のアドレスには、当該画像の第n+1番目のラインの先頭に位置する画素のデータが書き込まれる。第1実施形態と同様に、当該画像の右下端に位置する画素のデータが書き込まれるアドレスが、当該画像データが書き込まれるアドレス領域の最後尾のアドレスとなる。   FIG. 11 is a diagram illustrating a virtual address space corresponding to an image of one frame. As in the first embodiment, rectangular divided blocks 501a to 501l are defined by dividing one frame of image data into four parts in the horizontal direction and three parts in the vertical direction. Similar to the first embodiment, data transmission in units of divided blocks 501a to 501l is executed from the module 201 to the WRDMAC 202. Similarly to the first embodiment, data is transmitted from the WRDMAC 202 to the DRAM 107 in units of the divided blocks 501a to 501l. As in the first embodiment, the address at which the data of the upper left pixel of the image of one frame is written becomes the head address of the address area where the image data is written. As in the first embodiment, the address at which the head of the image data is written is, for example, address 0x1000 of the DRAM 107. Similar to the first embodiment, the first line to the last line of the image are sequentially written to consecutive addresses. As in the first embodiment, the pixel located at the head of the (n + 1) th line of the image has an address next to the address where the data of the pixel located at the tail of the nth line of the image is written. Data is written. As in the first embodiment, the address to which the data of the pixel located at the lower right corner of the image is written is the last address in the address area to which the image data is written.

第1実施形態と同様に、第1番目のブロックライン502aに位置する分割ブロック501a〜501dの画像データの伝送が順次行われる。第1実施形態と同様に、第1番目のブロックライン502aに位置する分割ブロック501a〜501dの画像データの伝送が完了した後には、第2番目のブロックライン502bに位置する分割ブロック501e〜501hの画像データの伝送が順次行われる。第1実施形態と同様に、第2番目のブロックライン502bに位置する分割ブロック501e〜501hの画像データの伝送が完了した後には、第3番目のブロックライン502cに位置する分割ブロック501i〜501lの画像データの伝送が順次行われる。第1実施形態と同様に、DRAM107においては、画像の第1番目のラインから最終のラインまでが連続したアドレスに書き込まれることを要する。   Similar to the first embodiment, the image data of the divided blocks 501a to 501d located on the first block line 502a is sequentially transmitted. Similarly to the first embodiment, after the transmission of the image data of the divided blocks 501a to 501d located in the first block line 502a is completed, the divided blocks 501e to 501h located in the second block line 502b are completed. Transmission of image data is performed sequentially. Similar to the first embodiment, after the transmission of the image data of the divided blocks 501e to 501h located in the second block line 502b is completed, the divided blocks 501i to 501l located in the third block line 502c are completed. Transmission of image data is performed sequentially. Similar to the first embodiment, in the DRAM 107, it is necessary that the first line to the last line of the image are written in continuous addresses.

分割ブロック501a、501e、501iの水平方向におけるデータサイズは例えば502バイトである。分割ブロック501b、501f、501jの水平方向におけるデータサイズは例えば490バイトである。分割ブロック501c、501g、501kの水平方向におけるデータサイズは例えば510バイトである。分割ブロック501d、501h、501lの水平方向におけるデータサイズは例えば500バイトである。分割ブロック501の垂直方向におけるラインの数は例えば64である。   The data size in the horizontal direction of the divided blocks 501a, 501e, and 501i is, for example, 502 bytes. The data size in the horizontal direction of the divided blocks 501b, 501f, and 501j is, for example, 490 bytes. The data size in the horizontal direction of the divided blocks 501c, 501g, and 501k is, for example, 510 bytes. The data size in the horizontal direction of the divided blocks 501d, 501h, and 501l is, for example, 500 bytes. The number of lines in the vertical direction of the divided block 501 is 64, for example.

分割ブロック501に含まれるラインのサイズに対応する転送バースト長で伝送が行われるため、後述するような処理が行われない場合には、以下のような事象が生じ得る。即ち、上述したように分割ブロック501a、501e、501iの水平方向におけるデータサイズは例えば502バイトである。一方、DRAM107におけるバーストアクセス単位は、例えば32バイトである。このため、例えば、分割ブロック501a、501e、501iのラインの右端において、22バイトの端数データの書き込みアクセスが生じる。また、上述したように分割ブロック501b、501f、501jの水平方向におけるデータサイズは例えば490バイトである。一方、DRAM107におけるバーストアクセス単位は、例えば32バイトである。このため、例えば、分割ブロック501b、501f、501jのラインの右端において、10バイトの端数データの書き込みアクセスが生じる。また、上述したように分割ブロック501c、501g、501kの水平方向におけるデータサイズは例えば510バイトである。一方、DRAM107におけるバーストアクセス単位は、例えば32バイトである。このため、例えば、分割ブロック501c、501g、501kのラインの右端において、30バイトの端数データの書き込みアクセスが生じる。また、上述したように分割ブロック501d、501h、501lの水平方向におけるデータサイズは例えば500バイトである。一方、DRAM107におけるバーストアクセス単位は、例えば32バイトである。このため、例えば、分割ブロック501d、501h、501lのラインの右端において、20バイトの端数データの書き込みアクセスが生じる。上述したように、このような端数データは、DRAM107におけるバーストアクセス単位にアラインしない。上述したように、DRAM107におけるバーストアクセス単位にアラインしないこのような端数データが生じた場合には、DRAM107におけるバーストアクセス単位にデータがアラインする場合と比較して、コマンドオーバーヘッドが大きくなってしまう。   Since transmission is performed with a transfer burst length corresponding to the size of a line included in the divided block 501, the following event may occur when processing described later is not performed. That is, as described above, the data size in the horizontal direction of the divided blocks 501a, 501e, and 501i is, for example, 502 bytes. On the other hand, the burst access unit in the DRAM 107 is, for example, 32 bytes. Therefore, for example, 22 bytes of fractional data write access occurs at the right end of the lines of the divided blocks 501a, 501e, and 501i. As described above, the data size in the horizontal direction of the divided blocks 501b, 501f, and 501j is, for example, 490 bytes. On the other hand, the burst access unit in the DRAM 107 is, for example, 32 bytes. For this reason, for example, a write access of 10-byte fraction data occurs at the right end of the lines of the divided blocks 501b, 501f, and 501j. Further, as described above, the data size in the horizontal direction of the divided blocks 501c, 501g, and 501k is, for example, 510 bytes. On the other hand, the burst access unit in the DRAM 107 is, for example, 32 bytes. For this reason, for example, 30 bytes of fractional data write access occurs at the right end of the lines of the divided blocks 501c, 501g, and 501k. Further, as described above, the data size in the horizontal direction of the divided blocks 501d, 501h, and 501l is, for example, 500 bytes. On the other hand, the burst access unit in the DRAM 107 is, for example, 32 bytes. For this reason, for example, 20 bytes of fractional data write access occurs at the right end of the lines of the divided blocks 501d, 501h, and 501l. As described above, such fraction data is not aligned with the burst access unit in the DRAM 107. As described above, when such fractional data that does not align with the burst access unit in the DRAM 107 occurs, the command overhead becomes larger than when data aligns with the burst access unit in the DRAM 107.

SRAM207は、例えば、512ワード、即ち、16384バイトの容量を有している。SRAM207の0x000番地〜0x07F番地までのアドレスは、BANK0、即ち、メモリバンク207aに割り当てられている。SRAM207の0x080番地〜0x0FF番地までのアドレスは、BANK1、即ち、メモリバンク207bに割り当てられている。   The SRAM 207 has a capacity of, for example, 512 words, that is, 16384 bytes. The addresses from the address 0x000 to the address 0x07F in the SRAM 207 are assigned to BANK0, that is, the memory bank 207a. The addresses from the address 0x080 to the address 0x0FF of the SRAM 207 are assigned to BANK1, that is, the memory bank 207b.

図10A及び図10Bは、本実施形態による画像処理装置100の動作を示すタイミングチャートである。図10A及び図10Bには、DRAM107にデータを書き込む際におけるSRAM207の動作が示されている。図10A及び図10Bには、信号WR_ADDR_0、WEN_0、DIN_0、RD_ADDR_0、REN_0、DOUT_0が示されている。図10Aには、タイミングt1001からタイミングt1006までの動作が示されており、図10Bには、タイミングt1005からタイミングt1010までの動作が示されている。   10A and 10B are timing charts showing the operation of the image processing apparatus 100 according to the present embodiment. 10A and 10B show the operation of the SRAM 207 when data is written to the DRAM 107. 10A and 10B show signals WR_ADDR_0, WEN_0, DIN_0, RD_ADDR_0, REN_0, and DOUT_0. FIG. 10A shows an operation from timing t1001 to timing t1006, and FIG. 10B shows an operation from timing t1005 to timing t1010.

タイミングt1001からタイミングt1003までの期間1011は、モジュール201から出力される分割ブロック501aの画像データがSRAM207に書き込まれる期間である。期間1011においては、以下のような処理が行われる。   A period 1011 from timing t1001 to timing t1003 is a period in which the image data of the divided block 501a output from the module 201 is written in the SRAM 207. In the period 1011, the following processing is performed.

まず、分割ブロック501aの第1番目のラインのうちの右端に位置する端数データ504a1R以外のデータ504a1Cが、SRAM207に書き込まれる。データ504a1Cは、SRAM207の例えばメモリバンク207a、即ち、BANK0に書き込まれる。データ504a1CをSRAM207に書き込む際の先頭アドレスは、例えば0x000番地である。データ504a1Cのサイズは、例えば480バイトである。このため、データ504a1Cは、DRAM107におけるバーストアクセス単位にアラインする。   First, data 504a1C other than the fraction data 504a1R located at the right end of the first line of the divided block 501a is written into the SRAM 207. The data 504a1C is written into, for example, the memory bank 207a of the SRAM 207, that is, BANK0. The leading address when the data 504a1C is written to the SRAM 207 is, for example, 0x000. The size of the data 504a1C is, for example, 480 bytes. Therefore, the data 504a1C is aligned in units of burst access in the DRAM 107.

次に、分割ブロック501aの第1番目のラインのうちの右端に位置する端数データ504a1Rと、ダミーデータ504a1Dとが、SRAM207に書き込まれる。端数データ504a1R及びダミーデータ504a1Dは、SRAM207の例えばメモリバンク207a、即ち、BANK0に書き込まれる。端数データ504a1R及びダミーデータ504a1DをSRAM207に書き込む際の先頭アドレスは、例えば0x00F番地である。データ504a1Rのサイズは、例えば22バイトである。ダミーデータ504a1Dのサイズは、例えば10バイトである。合計のサイズが32バイトであるこれらのデータ504a1R、504a1Dは、DRAM107におけるバーストアクセス単位にアラインする。   Next, fraction data 504a1R located at the right end of the first line of the divided block 501a and dummy data 504a1D are written into the SRAM 207. The fraction data 504a1R and the dummy data 504a1D are written to, for example, the memory bank 207a of the SRAM 207, that is, BANK0. The leading address when the fraction data 504a1R and the dummy data 504a1D are written to the SRAM 207 is, for example, address 0x00F. The size of the data 504a1R is, for example, 22 bytes. The size of the dummy data 504a1D is, for example, 10 bytes. These data 504a1R and 504a1D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.

次に、分割ブロック501aの第2番目のラインのうちの右端に位置する端数データ504a2R以外のデータ504a2Cが、SRAM207に書き込まれる。データ504a2Cは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。データ504a2CをSRAM207に書き込む際の先頭アドレスは、例えば0x080番地である。データ504a2Cのサイズは、例えば480バイトである。このため、データ504a2Cは、DRAM107におけるバーストアクセス単位にアラインする。   Next, data 504a2C other than the fraction data 504a2R located at the right end of the second line of the divided block 501a is written into the SRAM 207. The data 504a2C is written into, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when the data 504a2C is written to the SRAM 207 is, for example, 0x080. The size of the data 504a2C is, for example, 480 bytes. Therefore, the data 504a2C is aligned in units of burst access in the DRAM 107.

次に、分割ブロック501aの第2番目のラインのうちの右端に位置する端数データ504a2Rと、ダミーデータ504a2Dとが、SRAM207に書き込まれる。端数データ504a2R及びダミーデータ504a2Dは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。端数データ504a2R及びダミーデータ504a2DをSRAM207に書き込む際の先頭アドレスは、例えば0x08F番地である。データ504a2Rのサイズは、例えば22バイトである。ダミーデータ504a2Dのサイズは、例えば10バイトである。合計のサイズが32バイトであるこれらのデータ504a2R、504a2Dは、DRAM107におけるバーストアクセス単位にアラインする。   Next, the fraction data 504a2R located at the right end of the second line of the divided block 501a and the dummy data 504a2D are written into the SRAM 207. The fraction data 504a2R and the dummy data 504a2D are written into, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when writing the fraction data 504a2R and the dummy data 504a2D into the SRAM 207 is, for example, address 0x08F. The size of the data 504a2R is, for example, 22 bytes. The size of the dummy data 504a2D is, for example, 10 bytes. These data 504a2R and 504a2D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.

この後も、上記と同様の処理が、分割ブロック501aの第3番目以降のラインについて順次行われる。分割ブロック501aに含まれているラインは、上述したように例えば64である。分割ブロック501aの第64番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック501aの第64番目のラインのデータのうちの右端に位置する端数データ504a64R以外のデータ504a64Cが、SRAM207に書き込まれる。データ504a64Cは、SRAM207のメモリバンク207b、即ち、BANK1に書き込まれる。データ504a64CをSRAM207に書き込む際の先頭アドレスは、例えば0x080番地である。データ504a64Cのサイズは、例えば480バイトである。このため、データ504a64Cは、DRAM107におけるバーストアクセス単位にアラインする。この後、分割ブロック501aの第64番目のラインのデータのうちの右端に位置する端数データ504a64Rと、ダミーデータ504a64Dとが、SRAM207に書き込まれる。端数データ504a64R及びダミーデータ504a64Dは、SRAM207のメモリバンク207b、即ち、BANK1に書き込まれる。端数データ504a64R及びダミーデータ504a64DをSRAM207に書き込む際の先頭アドレスは、例えば0x08F番地である。データ504a64Rのサイズは、例えば22バイトである。ダミーデータ504a64Dのサイズは、例えば10バイトである。合計のサイズが32バイトであるこれらのデータ504a64R、504a64Dは、DRAM107におけるバーストアクセス単位にアラインする。   Thereafter, the same processing as described above is sequentially performed on the third and subsequent lines of the divided block 501a. As described above, the number of lines included in the divided block 501a is 64, for example. The data of the 64th line of the divided block 501a is processed as follows. That is, data 504a64C other than the fraction data 504a64R located at the right end of the data of the 64th line of the divided block 501a is written into the SRAM 207. The data 504a64C is written into the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when the data 504a64C is written to the SRAM 207 is, for example, 0x080. The size of the data 504a64C is, for example, 480 bytes. Therefore, the data 504a64C is aligned in burst access units in the DRAM 107. Thereafter, the fraction data 504a64R located at the right end of the data of the 64th line of the divided block 501a and the dummy data 504a64D are written into the SRAM 207. The fraction data 504a64R and the dummy data 504a64D are written into the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when writing the fraction data 504a64R and the dummy data 504a64D into the SRAM 207 is, for example, address 0x08F. The size of the data 504a64R is, for example, 22 bytes. The size of the dummy data 504a64D is, for example, 10 bytes. These data 504a64R and 504a64D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.

タイミングt1002からタイミングt1004までの期間1012は、分割ブロック501aの画像データがSRAM207から読み出される期間である。期間1012の一部は、上述した期間1011の一部と重複している。期間1012においては、以下のような処理が行われる。   A period 1012 from timing t1002 to timing t1004 is a period in which the image data of the divided block 501a is read from the SRAM 207. A part of the period 1012 overlaps with a part of the period 1011 described above. In the period 1012, the following processing is performed.

まず、分割ブロック501aの第1番目のラインのデータのうちの右端に位置する端数データ504a1R以外のデータ504a1Cが、SRAM207から読み出される。データ504a1Cのサイズは、上述したように例えば480バイトである。データ504a1Cは、SRAM207のメモリバンク207a、即ち、BANK0から読み出される。データ504a1CをSRAM207から読み出す際の先頭アドレスは、例えば0x000番地である。SRAM207から読み出されたデータ504a1Cは、メモリバス151を介して伝送される。DRAM107に画像データを書き込む際の先頭アドレス、即ち、DRAM107のスタートアドレスは、上述したように、例えば0x1000番地である。従って、アドレス演算部203は、データ504a1CをDRAM107に書き込む際の書き込み開始アドレスを0x1000番地と設定する。こうして得られた書き込み開始アドレスは、信号線REQ_0を介して伝送される。こうして、分割ブロック501aの第1番目のラインのデータのうちの右端に位置する端数データ504a1R以外のデータ504a1CがDRAM107に書き込まれる。480バイト分のデータ504a1Cは、DRAM107におけるバーストアクセス単位にアラインする。   First, data 504a1C other than the fraction data 504a1R located at the right end of the data of the first line of the divided block 501a is read from the SRAM 207. The size of the data 504a1C is, for example, 480 bytes as described above. The data 504a1C is read from the memory bank 207a of the SRAM 207, that is, BANK0. The head address when reading the data 504a1C from the SRAM 207 is, for example, 0x000. Data 504a1C read from the SRAM 207 is transmitted via the memory bus 151. As described above, the start address for writing image data to the DRAM 107, that is, the start address of the DRAM 107 is, for example, 0x1000. Therefore, the address calculation unit 203 sets the write start address when writing the data 504a1C to the DRAM 107 as the address 0x1000. The write start address thus obtained is transmitted through the signal line REQ_0. Thus, data 504a1C other than the fraction data 504a1R located at the right end of the data of the first line of the divided block 501a is written to the DRAM 107. The data 504a1C for 480 bytes is aligned in units of burst access in the DRAM 107.

次に、分割ブロック501aの第1番目のラインのデータのうちの右端に位置する端数データ504a1Rと、ダミーデータ504a1Dとが、SRAM207から読み出される。端数データ504a1R及びダミーデータ504a1DをSRAM207から読み出す際の先頭アドレスは、例えば0x00F番地である。SRAM207から読み出された端数データ504a1Rと、ダミーデータ504a1Dとは、メモリバス151を介して伝送される。データ504a1Rのサイズは、上述したように、例えば22バイトである。ダミーデータ504a1Dのサイズは、上述したように、例えば10バイトである。合計のサイズが32バイトであるこれらのデータ504a1R、504a1Dは、DRAM107におけるバーストアクセス単位にアラインする。   Next, the fraction data 504a1R located at the right end of the data of the first line of the divided block 501a and the dummy data 504a1D are read from the SRAM 207. The leading address when reading the fraction data 504a1R and the dummy data 504a1D from the SRAM 207 is, for example, address 0x00F. The fraction data 504a1R and the dummy data 504a1D read from the SRAM 207 are transmitted via the memory bus 151. As described above, the size of the data 504a1R is, for example, 22 bytes. The size of the dummy data 504a1D is, for example, 10 bytes as described above. These data 504a1R and 504a1D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.

次に、分割ブロック501aの第2番目のラインのデータのうちの右端に位置する端数データ504a2R以外のデータ504a2Cが、SRAM207から読み出される。データ504a2Cのサイズは、上述したように例えば480バイトである。データ504a2Cは、SRAM207のメモリバンク207b、即ち、BANK1から読み出される。データ504a2CをSRAM207から読み出す際の先頭アドレスは、例えば0x080番地である。SRAM207から読み出されたデータ504a2Cは、メモリバス151を介して伝送される。アドレス演算部203は、データ504a1Cの書き込み開始アドレスである0x1000番地に、オフセット値を加算することによって、データ504a2Cの書き込み開始アドレスを生成する。オフセット値は、例えば2048バイトとされる。こうして得られる書き込み開始アドレスは、例えば0x1800番地である。こうして得られる書き込み開始アドレスは、信号線REQ_0を介して伝送される。こうして、分割ブロック501aの第2番目のラインのデータのうちの右端に位置する端数データ504a2R以外のデータ504a2CがDRAM107に書き込まれる。480バイト分のデータ504a2Cは、DRAM107におけるバーストアクセス単位にアラインする。   Next, data 504a2C other than the fraction data 504a2R located at the right end of the data of the second line of the divided block 501a is read from the SRAM 207. The size of the data 504a2C is, for example, 480 bytes as described above. The data 504a2C is read from the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when reading the data 504a2C from the SRAM 207 is, for example, address 0x080. Data 504a2C read from the SRAM 207 is transmitted via the memory bus 151. The address calculation unit 203 generates the write start address of the data 504a2C by adding the offset value to the address 0x1000 that is the write start address of the data 504a1C. The offset value is, for example, 2048 bytes. The write start address thus obtained is, for example, address 0x1800. The write start address thus obtained is transmitted through the signal line REQ_0. Thus, data 504a2C other than the fraction data 504a2R located at the right end of the data of the second line of the divided block 501a is written to the DRAM 107. The data 504a2C for 480 bytes is aligned in units of burst access in the DRAM 107.

次に、分割ブロック501aの第2番目のラインのデータのうちの右端に位置する端数データ504a2Rと、ダミーデータ504a2Dとが、SRAM207から読み出される。端数データ504a2R及びダミーデータ504a2DをSRAM207から読み出す際の先頭アドレスは、例えば0x08F番地である。SRAM207から読み出された端数データ504a2Rと、ダミーデータ504a2Dとは、メモリバス151を介して伝送される。データ504a2Rのサイズは、上述したように、例えば22バイトである。ダミーデータ504a2Dのサイズは、上述したように、例えば10バイトである。合計のサイズが32バイトであるこれらのデータ504a2R、504a2Dは、DRAM107におけるバーストアクセス単位にアラインする。   Next, the fraction data 504a2R located at the right end of the data of the second line of the divided block 501a and the dummy data 504a2D are read from the SRAM 207. The leading address when reading the fraction data 504a2R and the dummy data 504a2D from the SRAM 207 is, for example, address 0x08F. The fraction data 504a2R and the dummy data 504a2D read from the SRAM 207 are transmitted via the memory bus 151. As described above, the size of the data 504a2R is, for example, 22 bytes. The size of the dummy data 504a2D is, for example, 10 bytes as described above. These data 504a2R and 504a2D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.

この後も、上記と同様の処理が、分割ブロック501aの第3番目以降のラインについて順次行われる。分割ブロック501aに含まれているラインは、上述したように例えば64である。分割ブロック501aの第64番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック501aの第64番目のラインのデータのうちの右端に位置する端数データ504a64R以外のデータ504a64Cが、SRAM207から読み出される。SRAM207から読み出されたデータ504a64Cは、メモリバス151を介して伝送される。こうして、分割ブロック501aの第64番目のラインのデータのうちの右端に位置する端数データ504a64R以外のデータ504a64CがDRAM107に書き込まれる。データ504a64Cのサイズは、上述したように例えば480バイトである。480バイト分のデータ504a64Cは、DRAM107におけるバーストアクセス単位にアラインする。分割ブロック501aの第64番目のラインのデータのうちの右端に位置する端数データ504a64Rと、ダミーデータ504a64Dとが、SRAM207から読み出される。SRAM207から読み出された端数データ504a64Rと、ダミーデータ504a64Dとは、メモリバス151を介して伝送される。データ504a64Rのサイズは、上述したように、例えば22バイトである。ダミーデータ504a64Dのサイズは、上述したように、例えば10バイトである。合計のサイズが32バイトであるこれらのデータ504a64R、504a64Dは、DRAM107におけるバーストアクセス単位にアラインする。   Thereafter, the same processing as described above is sequentially performed on the third and subsequent lines of the divided block 501a. As described above, the number of lines included in the divided block 501a is 64, for example. The data of the 64th line of the divided block 501a is processed as follows. That is, data 504a64C other than the fraction data 504a64R located at the right end of the data of the 64th line of the divided block 501a is read from the SRAM 207. Data 504a64C read from the SRAM 207 is transmitted via the memory bus 151. Thus, data 504a64C other than the fraction data 504a64R located at the right end of the data of the 64th line of the divided block 501a is written to the DRAM 107. The size of the data 504a64C is, for example, 480 bytes as described above. The data 504a64C for 480 bytes is aligned in units of burst access in the DRAM 107. The fraction data 504a64R located at the right end of the data of the 64th line of the divided block 501a and the dummy data 504a64D are read from the SRAM 207. The fraction data 504a64R and the dummy data 504a64D read from the SRAM 207 are transmitted via the memory bus 151. As described above, the size of the data 504a64R is, for example, 22 bytes. The size of the dummy data 504a64D is, for example, 10 bytes as described above. These data 504a64R and 504a64D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.

タイミングt1003からタイミングt1005までの期間1013は、モジュール201から出力される分割ブロック501bの画像データがSRAM207に書き込まれる期間である。期間1013においては、以下のような処理が行われる。   A period 1013 from timing t1003 to timing t1005 is a period in which the image data of the divided block 501b output from the module 201 is written in the SRAM 207. In the period 1013, the following processing is performed.

まず、分割ブロック501bの第1番目のラインのうちの右端に位置する端数データ504b1R以外のデータ504b1Cが、SRAM207に書き込まれる。データ504b1Cは、SRAM207の例えばメモリバンク207a、即ち、BANK0に書き込まれる。データ504b1CをSRAM207に書き込む際の先頭アドレスは、例えば0x000番地である。データ504b1Cのサイズは、例えば480バイトである。このため、データ504b1Cは、DRAM107におけるバーストアクセス単位にアラインする。   First, data 504b1C other than the fraction data 504b1R located at the right end of the first line of the divided block 501b is written into the SRAM 207. The data 504b1C is written into, for example, the memory bank 207a of the SRAM 207, that is, BANK0. The leading address when the data 504b1C is written to the SRAM 207 is, for example, 0x000. The size of the data 504b1C is, for example, 480 bytes. Therefore, the data 504b1C is aligned in units of burst access in the DRAM 107.

次に、分割ブロック501bの第1番目のラインのうちの右端に位置する端数データ504b1Rと、ダミーデータ504b1Dとが、SRAM207に書き込まれる。端数データ504b1R及びダミーデータ504b1Dは、SRAM207の例えばメモリバンク207a、即ち、BANK0に書き込まれる。端数データ504b1R及びダミーデータ504b1DをSRAM207に書き込む際の先頭アドレスは、例えば0x00F番地である。データ504b1Rのサイズは、例えば10バイトである。ダミーデータ504b1Dのサイズは、例えば22バイトである。合計のサイズが32バイトであるこれらのデータ504b1R、504b1Dは、DRAM107におけるバーストアクセス単位にアラインする。   Next, the fraction data 504b1R located at the right end of the first line of the divided block 501b and the dummy data 504b1D are written into the SRAM 207. The fraction data 504b1R and the dummy data 504b1D are written into, for example, the memory bank 207a of the SRAM 207, that is, BANK0. The leading address when writing the fraction data 504b1R and the dummy data 504b1D to the SRAM 207 is, for example, address 0x00F. The size of the data 504b1R is, for example, 10 bytes. The size of the dummy data 504b1D is, for example, 22 bytes. These data 504b1R and 504b1D whose total size is 32 bytes are aligned in burst access units in the DRAM 107.

次に、分割ブロック501bの第2番目のラインのうちの右端に位置する端数データ504b2R以外のデータ504b2Cが、SRAM207に書き込まれる。データ504b2Cは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。データ504b2CをSRAM207に書き込む際の先頭アドレスは、例えば0x080番地である。データ504b2Cのサイズは、例えば480バイトである。このため、データ504b2Cは、DRAM107におけるバーストアクセス単位にアラインする。   Next, data 504b2C other than the fraction data 504b2R located at the right end of the second line of the divided block 501b is written into the SRAM 207. The data 504b2C is written to, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The start address when writing the data 504b2C to the SRAM 207 is, for example, address 0x080. The size of the data 504b2C is, for example, 480 bytes. Therefore, the data 504b2C is aligned in burst access units in the DRAM 107.

次に、分割ブロック501bの第2番目のラインのうちの右端に位置する端数データ504b2Rと、ダミーデータ504b2Dとが、SRAM207に書き込まれる。端数データ504b2R及びダミーデータ504b2Dは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。端数データ504b2R及びダミーデータ504b2DをSRAM207に書き込む際の先頭アドレスは、例えば0x08F番地である。データ504b2Rのサイズは、例えば10バイトである。ダミーデータ504b2Dのサイズは、例えば22バイトである。合計のサイズが32バイトであるこれらのデータ504b2R、504b2Dは、DRAM107におけるバーストアクセス単位にアラインする。   Next, the fraction data 504b2R located at the right end of the second line of the divided block 501b and the dummy data 504b2D are written into the SRAM 207. The fraction data 504b2R and the dummy data 504b2D are written to, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when the fraction data 504b2R and the dummy data 504b2D are written to the SRAM 207 is, for example, address 0x08F. The size of the data 504b2R is, for example, 10 bytes. The size of the dummy data 504b2D is, for example, 22 bytes. These data 504b2R and 504b2D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.

この後も、上記と同様の処理が、分割ブロック501bの第3番目以降のラインについて順次行われる。分割ブロック501bに含まれているラインは、上述したように例えば64である。分割ブロック501bの第64番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック501bの第64番目のラインのうちの右端に位置する端数データ504b64R以外のデータ504b64Cが、SRAM207に書き込まれる。データ504b64Cは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。データ504b64CをSRAM207に書き込む際の先頭アドレスは、例えば0x080番地である。データ504b64Cのサイズは、例えば480バイトである。このため、データ504b64Cは、DRAM107におけるバーストアクセス単位にアラインする。この後、分割ブロック501bの第64番目のラインのうちの右端に位置する端数データ504b64Rと、ダミーデータ504b64Dとが、SRAM207に書き込まれる。端数データ504b64R及びダミーデータ504b64Dは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。端数データ504b64R及びダミーデータ504b64DをSRAM207に書き込む際の先頭アドレスは、例えば0x08F番地である。データ504b64Rのサイズは、例えば10バイトである。ダミーデータ504b64Dのサイズは、例えば22バイトである。合計のサイズが32バイトであるこれらのデータ504b64R、504b64Dは、DRAM107におけるバーストアクセス単位にアラインする。   Thereafter, the same processing as described above is sequentially performed on the third and subsequent lines of the divided block 501b. As described above, the number of lines included in the divided block 501b is 64, for example. The data of the 64th line of the divided block 501b is processed as follows. That is, data 504b64C other than the fraction data 504b64R located at the right end of the 64th line of the divided block 501b is written into the SRAM 207. The data 504b64C is written to, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when writing the data 504b64C to the SRAM 207 is, for example, address 0x080. The size of the data 504b64C is, for example, 480 bytes. Therefore, the data 504b64C is aligned in burst access units in the DRAM 107. Thereafter, the fraction data 504b64R located at the right end of the 64th line of the divided block 501b and the dummy data 504b64D are written into the SRAM 207. The fraction data 504b64R and the dummy data 504b64D are written in, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when the fraction data 504b64R and the dummy data 504b64D are written to the SRAM 207 is, for example, address 0x08F. The size of the data 504b64R is, for example, 10 bytes. The size of the dummy data 504b64D is, for example, 22 bytes. These data 504b64R and 504b64D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.

タイミングt1004からタイミングt1006までの期間1014は、分割ブロック501bの画像データがSRAM207から読み出される期間である。期間1014の一部は、上述した期間1013の一部と重複している。期間1014においては、以下のような処理が行われる。   A period 1014 from timing t1004 to timing t1006 is a period in which the image data of the divided block 501b is read from the SRAM 207. A part of the period 1014 overlaps with a part of the period 1013 described above. In the period 1014, the following processing is performed.

まず、分割ブロック501bの第1番目のラインのデータのうちの右端に位置する端数データ504b1R以外のデータ504b1Cが、SRAM207から読み出される。データ504b1Cのサイズは、上述したように例えば480バイトである。データ504b1Cは、SRAM207のメモリバンク207a、即ち、BANK0から読み出される。データ504b1CをSRAM207から読み出す際の先頭アドレスは、例えば0x000番地である。SRAM207から読み出されたデータ504b1Cは、メモリバス151を介して伝送される。アドレス演算部203は、データ504a1Cの書き込み開始アドレスである0x1000番地に、オフセット値を加算することによって、データ504b1Cの書き込み開始アドレスを生成する。分割ブロック501aの第1番目のラインのデータの直後に分割ブロック501bの第1番目のラインのデータが位置するように、オフセット値が設定される。こうして得られる書き込み開始アドレスは、例えば0x1200番地である。こうして得られる書き込み開始アドレスは、信号線REQ_0を介して伝送される。こうして、分割ブロック501bの第1番目のラインのデータのうちの右端に位置する端数データ504b1R以外のデータ504b1CがDRAM107に書き込まれる。480バイト分のデータ504b1Cは、DRAM107におけるバーストアクセス単位にアラインする。   First, data 504b1C other than the fraction data 504b1R located at the right end of the data of the first line of the divided block 501b is read from the SRAM 207. The size of the data 504b1C is, for example, 480 bytes as described above. The data 504b1C is read from the memory bank 207a of the SRAM 207, that is, BANK0. The head address when reading the data 504b1C from the SRAM 207 is, for example, 0x000. Data 504b1C read from the SRAM 207 is transmitted via the memory bus 151. The address calculation unit 203 generates the write start address of the data 504b1C by adding the offset value to the address 0x1000 that is the write start address of the data 504a1C. The offset value is set so that the data of the first line of the divided block 501b is located immediately after the data of the first line of the divided block 501a. The write start address thus obtained is, for example, 0x1200. The write start address thus obtained is transmitted through the signal line REQ_0. Thus, data 504b1C other than the fraction data 504b1R located at the right end of the data of the first line of the divided block 501b is written into the DRAM 107. The data 504b1C for 480 bytes is aligned in units of burst access in the DRAM 107.

次に、分割ブロック501bの第1番目のラインのデータのうちの右端に位置する端数データ504b1Rと、ダミーデータ504b1Dとが、SRAM207から読み出される。SRAM207から読み出された端数データ504b1Rと、ダミーデータ504b1Dとは、メモリバス151を介して伝送される。データ504b1Rのサイズは、上述したように、例えば10バイトである。ダミーデータ504b1Dのサイズは、上述したように、例えば22バイトである。合計のサイズが32バイトであるこれらのデータ504b1R、504b1Dは、DRAM107におけるバーストアクセス単位にアラインする。   Next, the fraction data 504b1R located at the right end of the data of the first line of the divided block 501b and the dummy data 504b1D are read from the SRAM 207. The fraction data 504b1R and the dummy data 504b1D read from the SRAM 207 are transmitted via the memory bus 151. As described above, the size of the data 504b1R is, for example, 10 bytes. The size of the dummy data 504b1D is, for example, 22 bytes as described above. These data 504b1R and 504b1D whose total size is 32 bytes are aligned in burst access units in the DRAM 107.

次に、分割ブロック501bの第2番目のラインのデータのうちの右端に位置する端数データ504b2R以外のデータ504b2Cが、SRAM207から読み出される。データ504b2Cのサイズは、上述したように例えば480バイトである。データ504b2Cは、SRAM207のメモリバンク207b、即ち、BANK1から読み出される。データ504b2CをSRAM207から読み出す際の先頭アドレスは、例えば0x080番地である。SRAM207から読み出されたデータ504b2Cは、メモリバス151を介して伝送される。アドレス演算部203は、データ504b1Cの書き込み開始アドレスである0x1200番地に、オフセット値を加算することによって、データ504b2Cの書き込み開始アドレスを生成する。オフセット値は、例えば2048バイトとされる。こうして得られる書き込み開始アドレスは、例えば0x1A00番地である。こうして得られる書き込み開始アドレスは、信号線REQ_0を介して伝送される。こうして、分割ブロック501bの第2番目のラインのデータのうちの右端に位置する端数データ504b2R以外のデータ504b2CがDRAM107に書き込まれる。480バイト分のデータ504b2Cは、DRAM107におけるバーストアクセス単位にアラインする。   Next, data 504b2C other than the fraction data 504b2R located at the right end of the data of the second line of the divided block 501b is read from the SRAM 207. The size of the data 504b2C is, for example, 480 bytes as described above. The data 504b2C is read from the memory bank 207b of the SRAM 207, that is, BANK1. The head address when reading the data 504b2C from the SRAM 207 is, for example, 0x080. Data 504b2C read from the SRAM 207 is transmitted via the memory bus 151. The address calculation unit 203 generates the write start address of the data 504b2C by adding the offset value to the address 0x1200 that is the write start address of the data 504b1C. The offset value is, for example, 2048 bytes. The write start address thus obtained is, for example, address 0x1A00. The write start address thus obtained is transmitted through the signal line REQ_0. Thus, data 504b2C other than the fraction data 504b2R located at the right end of the data of the second line of the divided block 501b is written to the DRAM 107. The data 504b2C for 480 bytes is aligned in units of burst access in the DRAM 107.

次に、分割ブロック501bの第2番目のラインのデータのうちの右端に位置する端数データ504b2Rと、ダミーデータ504b2Dとが、SRAM207から読み出される。SRAM207から読み出された端数データ504b2Rと、ダミーデータ504b2Dとは、メモリバス151を介して伝送される。データ504b2Rのサイズは、上述したように、例えば10バイトである。ダミーデータ504b2Dのサイズは、上述したように、例えば22バイトである。合計のサイズが32バイトであるこれらのデータ504b2R、504b2Dは、DRAM107におけるバーストアクセス単位にアラインする。   Next, the fraction data 504b2R located at the right end of the data of the second line of the divided block 501b and the dummy data 504b2D are read from the SRAM 207. The fraction data 504b2R and the dummy data 504b2D read from the SRAM 207 are transmitted via the memory bus 151. As described above, the size of the data 504b2R is, for example, 10 bytes. The size of the dummy data 504b2D is, for example, 22 bytes as described above. These data 504b2R and 504b2D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.

この後も、上記と同様の処理が、分割ブロック501bの第3番目以降のラインについて順次行われる。分割ブロック501bに含まれているラインは、上述したように例えば64である。分割ブロック501bの第64番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック501bの第64番目のラインのデータのうちの右端に位置する端数データ504b64R以外のデータ504b64Cが、SRAM207から読み出される。SRAM207から読み出されたデータ504b64Cは、メモリバス151を介して伝送される。こうして、分割ブロック501bの第64番目のラインのデータのうちの右端に位置する端数データ504b64R以外のデータ504b64CがDRAM107に書き込まれる。データ504b64Cのサイズは、上述したように例えば480バイトである。480バイト分のデータ504b64Cは、DRAM107におけるバーストアクセス単位にアラインする。分割ブロック501bの第64番目のラインのデータのうちの右端に位置する端数データ504b64Rと、ダミーデータ504b64Dとが、SRAM207から読み出される。SRAM207から読み出された端数データ504b64Rと、ダミーデータ504b64Dとは、メモリバス151を介して伝送される。データ504b64Rのサイズは、上述したように、例えば10バイトである。ダミーデータ504b64Dのサイズは、上述したように、例えば22バイトである。合計のサイズが32バイトであるこれらのデータ504b64R、504b64Dは、DRAM107におけるバーストアクセス単位にアラインする。   Thereafter, the same processing as described above is sequentially performed on the third and subsequent lines of the divided block 501b. As described above, the number of lines included in the divided block 501b is 64, for example. The data of the 64th line of the divided block 501b is processed as follows. That is, data 504b64C other than the fraction data 504b64R located at the right end of the data of the 64th line of the divided block 501b is read from the SRAM 207. Data 504b64C read from the SRAM 207 is transmitted via the memory bus 151. Thus, data 504b64C other than the fraction data 504b64R located at the right end of the data of the 64th line of the divided block 501b is written to the DRAM 107. The size of the data 504b64C is, for example, 480 bytes as described above. The data 504b64C for 480 bytes is aligned in units of burst access in the DRAM 107. The fraction data 504b64R located at the right end of the data of the 64th line of the divided block 501b and the dummy data 504b64D are read from the SRAM 207. The fraction data 504b64R and the dummy data 504b64D read from the SRAM 207 are transmitted via the memory bus 151. As described above, the size of the data 504b64R is, for example, 10 bytes. As described above, the size of the dummy data 504b64D is, for example, 22 bytes. These data 504b64R and 504b64D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.

タイミングt1005からタイミングt1007までの期間1015は、モジュール201から出力される分割ブロック501cの画像データがSRAM207に書き込まれる期間である。期間1015においては、以下のような処理が行われる。   A period 1015 from timing t1005 to timing t1007 is a period in which the image data of the divided block 501c output from the module 201 is written in the SRAM 207. In the period 1015, the following processing is performed.

まず、分割ブロック501cの第1番目のラインのうちの右端に位置する端数データ504c1R以外のデータ504c1Cが、SRAM207に書き込まれる。データ504c1Cは、SRAM207の例えばメモリバンク207a、即ち、BANK0に書き込まれる。データ504c1CをSRAM207に書き込む際の先頭アドレスは、例えば0x000番地である。データ504c1Cのサイズは、例えば480バイトである。このため、データ504c1Cは、DRAM107におけるバーストアクセス単位にアラインする。   First, data 504c1C other than the fraction data 504c1R located at the right end of the first line of the divided block 501c is written into the SRAM 207. The data 504c1C is written to, for example, the memory bank 207a of the SRAM 207, that is, BANK0. The leading address when the data 504c1C is written to the SRAM 207 is, for example, 0x000. The size of the data 504c1C is, for example, 480 bytes. Therefore, the data 504c1C is aligned in units of burst access in the DRAM 107.

次に、分割ブロック501cの第1番目のラインのうちの右端に位置する端数データ504c1Rと、ダミーデータ504c1Dとが、SRAM207に書き込まれる。端数データ504c1R及びダミーデータ504c1Dは、SRAM207の例えばメモリバンク207a、即ち、BANK0に書き込まれる。端数データ504c1R及びダミーデータ504c1DをSRAM207に書き込む際の先頭アドレスは、例えば0x00F番地である。データ504c1Rのサイズは、例えば30バイトである。ダミーデータ504c1Dのサイズは、例えば2バイトである。合計のサイズが32バイトであるこれらのデータ504c1R、504c1Dは、DRAM107におけるバーストアクセス単位にアラインする。   Next, the fraction data 504c1R located at the right end of the first line of the divided block 501c and the dummy data 504c1D are written into the SRAM 207. The fraction data 504c1R and the dummy data 504c1D are written to, for example, the memory bank 207a of the SRAM 207, that is, BANK0. The leading address when writing the fraction data 504c1R and the dummy data 504c1D to the SRAM 207 is, for example, address 0x00F. The size of the data 504c1R is, for example, 30 bytes. The size of the dummy data 504c1D is, for example, 2 bytes. These data 504c1R and 504c1D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.

次に、分割ブロック501cの第2番目のラインのうちの右端に位置する端数データ504c2R以外のデータ504c2Cが、SRAM207に書き込まれる。データ504c2Cは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。データ504c2CをSRAM207に書き込む際の先頭アドレスは、例えば0x080番地である。データ504c2Cのサイズは、例えば480バイトである。このため、データ504c2Cは、DRAM107におけるバーストアクセス単位にアラインする。   Next, data 504c2C other than the fraction data 504c2R located at the right end of the second line of the divided block 501c is written into the SRAM 207. The data 504c2C is written to, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when the data 504c2C is written to the SRAM 207 is, for example, 0x080. The size of the data 504c2C is, for example, 480 bytes. Therefore, the data 504c2C is aligned in units of burst access in the DRAM 107.

次に、分割ブロック501cの第2番目のラインのうちの右端に位置する端数データ504c2Rと、ダミーデータ504c2Dとが、SRAM207に書き込まれる。端数データ504c2R及びダミーデータ504c2Dは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。端数データ504c2R及びダミーデータ504c2DをSRAM207に書き込む際の先頭アドレスは、例えば0x08F番地である。データ504c2Rのサイズは、例えば30バイトである。ダミーデータ504c2Dのサイズは、例えば2バイトである。合計のサイズが32バイトであるこれらのデータ504c2R、504c2Dは、DRAM107におけるバーストアクセス単位にアラインする。   Next, fraction data 504c2R located at the right end of the second line of the divided block 501c and dummy data 504c2D are written into the SRAM 207. The fraction data 504c2R and the dummy data 504c2D are written in, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when the fraction data 504c2R and the dummy data 504c2D are written to the SRAM 207 is, for example, address 0x08F. The size of the data 504c2R is, for example, 30 bytes. The size of the dummy data 504c2D is, for example, 2 bytes. These data 504c2R and 504c2D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.

この後も、上記と同様の処理が、分割ブロック501cの第3番目以降のラインについて順次行われる。分割ブロック501cに含まれているラインは、上述したように例えば64である。分割ブロック501cの第64番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック501cの第64番目のラインのうちの右端に位置する端数データ504c64R以外のデータ504c64Cが、SRAM207に書き込まれる。データ504c64Cは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。データ504c64CをSRAM207に書き込む際の先頭アドレスは、例えば0x080番地である。データ504c64Cのサイズは、例えば480バイトである。このため、データ504c64Cは、DRAM107におけるバーストアクセス単位にアラインする。この後、分割ブロック501cの第64番目のラインのうちの右端に位置する端数データ504c64Rと、ダミーデータ504c64Dとが、SRAM207に書き込まれる。端数データ504c64R及びダミーデータ504c64Dは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。端数データ504c64R及びダミーデータ504c64DをSRAM207に書き込む際の先頭アドレスは、例えば0x08F番地である。データ504c64Rのサイズは、例えば30バイトである。ダミーデータ504c64Dのサイズは、例えば2バイトである。合計のサイズが32バイトであるこれらのデータ504c64R、504c64Dは、DRAM107におけるバーストアクセス単位にアラインする。   Thereafter, the same processing as described above is sequentially performed on the third and subsequent lines of the divided block 501c. As described above, the number of lines included in the divided block 501c is 64, for example. The data of the 64th line of the divided block 501c is processed as follows. That is, data 504c64C other than the fraction data 504c64R located at the right end of the 64th line of the divided block 501c is written into the SRAM 207. The data 504c64C is written to, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when the data 504c64C is written to the SRAM 207 is, for example, 0x080. The size of the data 504c64C is, for example, 480 bytes. Therefore, the data 504c64C is aligned in units of burst access in the DRAM 107. Thereafter, the fraction data 504c64R located at the right end of the 64th line of the divided block 501c and the dummy data 504c64D are written into the SRAM 207. The fraction data 504c64R and the dummy data 504c64D are written to, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when writing the fraction data 504c64R and the dummy data 504c64D into the SRAM 207 is, for example, address 0x08F. The size of the data 504c64R is, for example, 30 bytes. The size of the dummy data 504c64D is, for example, 2 bytes. These data 504c64R and 504c64D having a total size of 32 bytes are aligned in a burst access unit in the DRAM 107.

タイミングt1006からタイミングt1008までの期間1016は、分割ブロック501cの画像データがSRAM207から読み出される期間である。期間1016の一部は、上述した期間1015の一部と重複している。期間1016においては、以下のような処理が行われる。   A period 1016 from timing t1006 to timing t1008 is a period in which the image data of the divided block 501c is read from the SRAM 207. A part of the period 1016 overlaps with a part of the period 1015 described above. In the period 1016, the following processing is performed.

まず、分割ブロック501cの第1番目のラインのデータのうちの右端に位置する端数データ504c1R以外のデータ504c1Cが、SRAM207から読み出される。データ504c1Cのサイズは、上述したように例えば480バイトである。データ504c1Cは、SRAM207のメモリバンク207a、即ち、BANK0から読み出される。データ504c1CをSRAM207から読み出す際の先頭アドレスは、例えば0x000番地である。SRAM207から読み出されたデータ504c1Cは、メモリバス151を介して伝送される。アドレス演算部203は、データ504b1Cの書き込み開始アドレスである0x1200番地に、オフセット値を加算することによって、データ504c1Cの書き込み開始アドレスを生成する。分割ブロック501bの第1番目のラインのデータの直後に分割ブロック501cの第1番目のラインのデータが位置するように、オフセット値が設定される。こうして得られる書き込み開始アドレスは、例えば0x1400番地である。こうして得られる書き込み開始アドレスは、信号線REQ_0を介して伝送される。こうして、分割ブロック501cの第1番目のラインのデータのうちの右端に位置する端数データ504c1R以外のデータ504c1CがDRAM107に書き込まれる。480バイト分のデータ504c1Cは、DRAM107におけるバーストアクセス単位にアラインする。   First, data 504c1C other than the fraction data 504c1R located at the right end of the data of the first line of the divided block 501c is read from the SRAM 207. The size of the data 504c1C is, for example, 480 bytes as described above. The data 504c1C is read from the memory bank 207a of the SRAM 207, that is, BANK0. The head address when reading the data 504c1C from the SRAM 207 is, for example, 0x000. Data 504c1C read from the SRAM 207 is transmitted via the memory bus 151. The address calculation unit 203 generates the write start address of the data 504c1C by adding the offset value to the address 0x1200 which is the write start address of the data 504b1C. The offset value is set so that the data of the first line of the divided block 501c is located immediately after the data of the first line of the divided block 501b. The write start address thus obtained is, for example, address 0x1400. The write start address thus obtained is transmitted through the signal line REQ_0. Thus, data 504c1C other than the fraction data 504c1R located at the right end of the data of the first line of the divided block 501c is written into the DRAM 107. The data 504c1C for 480 bytes is aligned in units of burst access in the DRAM 107.

次に、分割ブロック501cの第1番目のラインのデータのうちの右端に位置する端数データ504c1Rと、ダミーデータ504c1Dとが、SRAM207から読み出される。SRAM207から読み出された端数データ504c1Rと、ダミーデータ504c1Dとは、メモリバス151を介して伝送される。データ504c1Rのサイズは、上述したように、例えば30バイトである。ダミーデータ504c1Dのサイズは、上述したように、例えば2バイトである。合計のサイズが32バイトであるこれらのデータ504c1R、504c1Dは、DRAM107におけるバーストアクセス単位にアラインする。   Next, the fraction data 504c1R located at the right end of the data of the first line of the divided block 501c and the dummy data 504c1D are read from the SRAM 207. The fraction data 504c1R and the dummy data 504c1D read from the SRAM 207 are transmitted via the memory bus 151. As described above, the size of the data 504c1R is, for example, 30 bytes. The size of the dummy data 504c1D is, for example, 2 bytes as described above. These data 504c1R and 504c1D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.

次に、分割ブロック501cの第2番目のラインのデータのうちの右端に位置する端数データ504c2R以外のデータ504c2Cが、SRAM207から読み出される。データ504c2Cのサイズは、上述したように例えば480バイトである。データ504c2Cは、SRAM207のメモリバンク207b、即ち、BANK1から読み出される。データ504c2CをSRAM207から読み出す際の先頭アドレスは、例えば0x080番地である。SRAM207から読み出されたデータ504c2Cは、メモリバス151を介して伝送される。アドレス演算部203は、データ504c1Cの書き込み開始アドレスである0x1400番地に、オフセット値を加算することによって、データ504c2Cの書き込み開始アドレスを生成する。オフセット値は、例えば2048バイトとされる。こうして得られる書き込み開始アドレスは、例えば0x1C00番地である。こうして得られる書き込み開始アドレスは、信号線REQ_0を介して伝送される。こうして、分割ブロック501cの第2番目のラインのデータのうちの右端に位置する端数データ504c2R以外のデータ504c2CがDRAM107に書き込まれる。480バイト分のデータ504c2Cは、DRAM107におけるバーストアクセス単位にアラインする。   Next, data 504c2C other than the fraction data 504c2R located at the right end of the data of the second line of the divided block 501c is read from the SRAM 207. The size of the data 504c2C is, for example, 480 bytes as described above. The data 504c2C is read from the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when reading the data 504c2C from the SRAM 207 is, for example, 0x080. Data 504c2C read from the SRAM 207 is transmitted via the memory bus 151. The address calculation unit 203 generates a write start address for the data 504c2C by adding an offset value to the address 0x1400 that is the write start address for the data 504c1C. The offset value is, for example, 2048 bytes. The write start address thus obtained is, for example, address 0x1C00. The write start address thus obtained is transmitted through the signal line REQ_0. In this way, data 504c2C other than the fraction data 504c2R located at the right end of the data of the second line of the divided block 501c is written into the DRAM 107. The data 504c2C for 480 bytes is aligned in units of burst access in the DRAM 107.

次に、分割ブロック501cの第2番目のラインのデータのうちの右端に位置する端数データ504c2Rと、ダミーデータ504c2Dとが、SRAM207から読み出される。SRAM207から読み出された端数データ504c2Rと、ダミーデータ504c2Dとは、メモリバス151を介して伝送される。データ504c2Rのサイズは、上述したように、例えば30バイトである。ダミーデータ504c2Dのサイズは、上述したように、例えば2バイトである。合計のサイズが32バイトであるこれらのデータ504c2R、504c2Dは、DRAM107におけるバーストアクセス単位にアラインする。   Next, the fraction data 504c2R located at the right end of the data of the second line of the divided block 501c and the dummy data 504c2D are read from the SRAM 207. The fraction data 504c2R and the dummy data 504c2D read from the SRAM 207 are transmitted via the memory bus 151. As described above, the size of the data 504c2R is, for example, 30 bytes. The size of the dummy data 504c2D is, for example, 2 bytes as described above. These data 504c2R and 504c2D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.

この後も、上記と同様の処理が、分割ブロック501cの第3番目以降のラインについて順次行われる。分割ブロック501cに含まれているラインは、上述したように例えば64である。分割ブロック501cの第64番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック501cの第64番目のラインのデータのうちの右端に位置する端数データ504c64R以外のデータ504c64Cが、SRAM207から読み出される。SRAM207から読み出されたデータ504c64Cは、メモリバス151を介して伝送される。こうして、分割ブロック501cの第64番目のラインのデータのうちの右端に位置する端数データ504c64R以外のデータ504c64CがDRAM107に書き込まれる。データ504c64Cのサイズは、上述したように例えば480バイトである。480バイト分のデータ504c64Cは、DRAM107におけるバーストアクセス単位にアラインする。分割ブロック501cの第64番目のラインのデータのうちの右端に位置する端数データ504c64Rと、ダミーデータ504c64Dとが、SRAM207から読み出される。SRAM207から読み出された端数データ504c64Rと、ダミーデータ504c64Dとは、メモリバス151を介して伝送される。データ504c64Rのサイズは、上述したように、例えば30バイトである。ダミーデータ504c64Dのサイズは、上述したように、例えば2バイトである。合計のサイズが32バイトであるこれらのデータ504c64R、504c64Dは、DRAM107におけるバーストアクセス単位にアラインする。   Thereafter, the same processing as described above is sequentially performed on the third and subsequent lines of the divided block 501c. As described above, the number of lines included in the divided block 501c is 64, for example. The data of the 64th line of the divided block 501c is processed as follows. That is, data 504c64C other than the fraction data 504c64R located at the right end of the data of the 64th line of the divided block 501c is read from the SRAM 207. Data 504c64C read from the SRAM 207 is transmitted via the memory bus 151. Thus, data 504c64C other than the fraction data 504c64R located at the right end of the data of the 64th line of the divided block 501c is written into the DRAM 107. The size of the data 504c64C is, for example, 480 bytes as described above. The data 504c64C for 480 bytes is aligned in a burst access unit in the DRAM 107. The fraction data 504c64R located at the right end of the data of the 64th line in the divided block 501c and the dummy data 504c64D are read from the SRAM 207. The fraction data 504c64R and the dummy data 504c64D read from the SRAM 207 are transmitted via the memory bus 151. As described above, the size of the data 504c64R is, for example, 30 bytes. As described above, the size of the dummy data 504c64D is, for example, 2 bytes. These data 504c64R and 504c64D having a total size of 32 bytes are aligned in a burst access unit in the DRAM 107.

タイミングt1007からタイミングt1009までの期間1017は、モジュール201から出力される分割ブロック501dの画像データがSRAM207に書き込まれる期間である。期間1017においては、以下のような処理が行われる。   A period 1017 from timing t1007 to timing t1009 is a period in which the image data of the divided block 501d output from the module 201 is written in the SRAM 207. In the period 1017, the following processing is performed.

まず、分割ブロック501dの第1番目のラインのうちの右端に位置する端数データ504d1R以外のデータ504d1Cが、SRAM207に書き込まれる。データ504d1Cは、SRAM207の例えばメモリバンク207a、即ち、BANK0に書き込まれる。データ504d1CをSRAM207に書き込む際の先頭アドレスは、例えば0x000番地である。データ504d1Cのサイズは、例えば480バイトである。このため、データ504d1Cは、DRAM107におけるバーストアクセス単位にアラインする。   First, data 504d1C other than the fraction data 504d1R located at the right end of the first line of the divided block 501d is written into the SRAM 207. The data 504d1C is written to, for example, the memory bank 207a of the SRAM 207, that is, BANK0. The start address when writing the data 504d1C to the SRAM 207 is, for example, 0x000. The size of the data 504d1C is, for example, 480 bytes. Therefore, the data 504d1C is aligned in burst access units in the DRAM 107.

次に、分割ブロック501cの第1番目のラインのうちの右端に位置する端数データ504d1Rと、ダミーデータ504d1Dとが、SRAM207に書き込まれる。端数データ504d1R及びダミーデータ504d1Dは、SRAM207の例えばメモリバンク207a、即ち、BANK0に書き込まれる。端数データ504d1R及びダミーデータ504d1DをSRAM207に書き込む際の先頭アドレスは、例えば0x00F番地である。データ504d1Rのサイズは、例えば20バイトである。ダミーデータ504d1Dのサイズは、例えば12バイトである。合計のサイズが32バイトであるこれらのデータ504d1R、504d1Dは、DRAM107におけるバーストアクセス単位にアラインする。   Next, the fraction data 504d1R located at the right end of the first line of the divided block 501c and the dummy data 504d1D are written into the SRAM 207. The fraction data 504d1R and the dummy data 504d1D are written in, for example, the memory bank 207a of the SRAM 207, that is, BANK0. The leading address when the fraction data 504d1R and the dummy data 504d1D are written to the SRAM 207 is, for example, address 0x00F. The size of the data 504d1R is, for example, 20 bytes. The size of the dummy data 504d1D is, for example, 12 bytes. These data 504d1R and 504d1D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.

次に、分割ブロック501dの第2番目のラインのうちの右端に位置する端数データ504d2R以外のデータ504d2Cが、SRAM207に書き込まれる。データ504d2Cは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。データ504d2CをSRAM207に書き込む際の先頭アドレスは、例えば0x080番地である。データ504d2Cのサイズは、例えば480バイトである。このため、データ504d2Cは、DRAM107におけるバーストアクセス単位にアラインする。   Next, data 504d2C other than the fraction data 504d2R located at the right end of the second line of the divided block 501d is written into the SRAM 207. The data 504d2C is written to, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when the data 504d2C is written to the SRAM 207 is, for example, 0x080. The size of the data 504d2C is, for example, 480 bytes. Therefore, the data 504d2C is aligned with the burst access unit in the DRAM 107.

次に、分割ブロック501dの第2番目のラインのうちの右端に位置する端数データ504d2Rと、ダミーデータ504d2Dとが、SRAM207に書き込まれる。端数データ504d2R及びダミーデータ504d2Dは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。端数データ504c2R及びダミーデータ504d2DをSRAM207に書き込む際の先頭アドレスは、例えば0x08F番地である。データ504d2Rのサイズは、例えば20バイトである。ダミーデータ504d2Dのサイズは、例えば12バイトである。合計のサイズが32バイトであるこれらのデータ504d2R、504d2Dは、DRAM107におけるバーストアクセス単位にアラインする。   Next, fraction data 504d2R located at the right end of the second line of the divided block 501d and dummy data 504d2D are written into the SRAM 207. The fraction data 504d2R and the dummy data 504d2D are written in, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when writing the fraction data 504c2R and the dummy data 504d2D into the SRAM 207 is, for example, address 0x08F. The size of the data 504d2R is, for example, 20 bytes. The size of the dummy data 504d2D is, for example, 12 bytes. These data 504d2R and 504d2D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.

この後も、上記と同様の処理が、分割ブロック501dの第3番目以降のラインについて順次行われる。分割ブロック501dに含まれているラインは、上述したように例えば64である。分割ブロック501dの第64番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック501dの第64番目のラインのうちの右端に位置する端数データ504d64R以外のデータ504d64Cが、SRAM207に書き込まれる。データ504d64Cは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。データ504d64CをSRAM207に書き込む際の先頭アドレスは、例えば0x080番地である。データ504d64Cのサイズは、例えば480バイトである。このため、データ504d64Cは、DRAM107におけるバーストアクセス単位にアラインする。この後、分割ブロック501dの第64番目のラインのうちの右端に位置する端数データ504d64Rと、ダミーデータ504d64Dとが、SRAM207に書き込まれる。端数データ504d64R及びダミーデータ504d64Dは、SRAM207の例えばメモリバンク207b、即ち、BANK1に書き込まれる。端数データ504d64R及びダミーデータ504d64DをSRAM207に書き込む際の先頭アドレスは、例えば0x08F番地である。データ504d64Rのサイズは、例えば20バイトである。ダミーデータ504d64Dのサイズは、例えば12バイトである。合計のサイズが32バイトであるこれらのデータ504d64R、504d64Dは、DRAM107におけるバーストアクセス単位にアラインする。   Thereafter, the same processing as described above is sequentially performed on the third and subsequent lines of the divided block 501d. As described above, the number of lines included in the divided block 501d is 64, for example. The data of the 64th line of the divided block 501d is processed as follows. That is, data 504d64C other than the fraction data 504d64R located at the right end of the 64th line of the divided block 501d is written into the SRAM 207. The data 504d64C is written in, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when the data 504d64C is written to the SRAM 207 is, for example, 0x080. The size of the data 504d64C is, for example, 480 bytes. Therefore, the data 504d64C is aligned in burst access units in the DRAM 107. Thereafter, the fraction data 504d64R located at the right end of the 64th line of the divided block 501d and the dummy data 504d64D are written into the SRAM 207. The fraction data 504d64R and the dummy data 504d64D are written to, for example, the memory bank 207b of the SRAM 207, that is, BANK1. The leading address when the fraction data 504d64R and the dummy data 504d64D are written to the SRAM 207 is, for example, address 0x08F. The size of the data 504d64R is, for example, 20 bytes. The size of the dummy data 504d64D is, for example, 12 bytes. These data 504d64R and 504d64D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.

タイミングt1008からタイミングt1010までの期間1018は、分割ブロック501dの画像データがSRAM207から読み出される期間である。期間1018の一部は、上述した期間1017の一部と重複している。期間1018においては、以下のような処理が行われる。   A period 1018 from timing t1008 to timing t1010 is a period in which the image data of the divided block 501d is read from the SRAM 207. A part of the period 1018 overlaps with a part of the period 1017 described above. In the period 1018, the following processing is performed.

まず、分割ブロック501dの第1番目のラインのデータのうちの右端に位置する端数データ504d1R以外のデータ504d1Cが、SRAM207から読み出される。データ504d1Cのサイズは、上述したように例えば480バイトである。データ504d1Cは、SRAM207のメモリバンク207a、即ち、BANK0から読み出される。データ504d1CをSRAM207から読み出す際の先頭アドレスは、例えば0x000番地である。SRAM207から読み出されたデータ504d1Cは、メモリバス151を介して伝送される。アドレス演算部203は、データ504c1Cの書き込み開始アドレスである0x1400番地に、オフセット値を加算することによって、データ504d1Cの書き込み開始アドレスを生成する。分割ブロック501cの第1番目のラインのデータの直後に分割ブロック501dの第1番目のラインのデータが位置するように、オフセット値が設定される。こうして得られる書き込み開始アドレスは、例えば0x1600番地である。こうして得られる書き込み開始アドレスは、信号線REQ_0を介して伝送される。こうして、分割ブロック501dの第1番目のラインのデータのうちの右端に位置する端数データ504d1R以外のデータ504d1CがDRAM107に書き込まれる。480バイト分のデータ504d1Cは、DRAM107におけるバーストアクセス単位にアラインする。   First, data 504d1C other than the fraction data 504d1R located at the right end of the data of the first line of the divided block 501d is read from the SRAM 207. The size of the data 504d1C is, for example, 480 bytes as described above. The data 504d1C is read from the memory bank 207a of the SRAM 207, that is, BANK0. The head address when reading the data 504d1C from the SRAM 207 is, for example, 0x000. Data 504 d 1 C read from the SRAM 207 is transmitted via the memory bus 151. The address calculation unit 203 generates the write start address of the data 504d1C by adding the offset value to the address 0x1400 that is the write start address of the data 504c1C. The offset value is set so that the data of the first line of the divided block 501d is located immediately after the data of the first line of the divided block 501c. The write start address thus obtained is, for example, address 0x1600. The write start address thus obtained is transmitted through the signal line REQ_0. Thus, data 504d1C other than the fraction data 504d1R located at the right end of the data of the first line of the divided block 501d is written to the DRAM 107. The data 504d1C for 480 bytes is aligned in burst access units in the DRAM 107.

次に、分割ブロック501dの第1番目のラインのデータのうちの右端に位置する端数データ504d1Rと、ダミーデータ504d1Dとが、SRAM207から読み出される。SRAM207から読み出された端数データ504d1Rと、ダミーデータ504d1Dとは、メモリバス151を介して伝送される。データ504d1Rのサイズは、上述したように、例えば20バイトである。ダミーデータ504d1Dのサイズは、上述したように、例えば12バイトである。合計のサイズが32バイトであるこれらのデータ504d1R、504d1Dは、DRAM107におけるバーストアクセス単位にアラインする。   Next, fraction data 504d1R and dummy data 504d1D located at the right end of the data of the first line of the divided block 501d and the dummy data 504d1D are read from the SRAM 207. The fraction data 504d1R and the dummy data 504d1D read from the SRAM 207 are transmitted via the memory bus 151. The size of the data 504d1R is, for example, 20 bytes as described above. The size of the dummy data 504d1D is, for example, 12 bytes as described above. These data 504d1R and 504d1D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.

次に、分割ブロック501dの第2番目のラインのデータのうちの右端に位置する端数データ504d2R以外のデータ504d2Cが、SRAM207から読み出される。データ504d2Cのサイズは、上述したように例えば480バイトである。データ504d2Cは、SRAM207のメモリバンク207b、即ち、BANK1から読み出される。データ504d2CをSRAM207から読み出す際の先頭アドレスは、例えば0x080番地である。SRAM207から読み出されたデータ504d2Cは、メモリバス151を介して伝送される。アドレス演算部203は、データ504d1Cの書き込み開始アドレスである0x1600番地に、オフセット値を加算することによって、データ504d2Cの書き込み開始アドレスを生成する。オフセット値は、例えば2048バイトとされる。こうして得られる書き込み開始アドレスは、例えば0x1E00番地である。こうして得られる書き込み開始アドレスは、信号線REQ_0を介して伝送される。こうして、分割ブロック501dの第2番目のラインのデータのうちの右端に位置する端数データ504d2R以外のデータ504d2CがDRAM107に書き込まれる。480バイト分のデータ504d2Cは、DRAM107におけるバーストアクセス単位にアラインする。   Next, data 504d2C other than the fraction data 504d2R located at the right end of the data of the second line of the divided block 501d is read from the SRAM 207. The size of the data 504d2C is, for example, 480 bytes as described above. The data 504d2C is read from the memory bank 207b of the SRAM 207, that is, BANK1. The head address when reading the data 504d2C from the SRAM 207 is, for example, address 0x080. Data 504d2C read from the SRAM 207 is transmitted via the memory bus 151. The address calculation unit 203 generates a write start address for the data 504d2C by adding an offset value to the address 0x1600, which is the write start address for the data 504d1C. The offset value is, for example, 2048 bytes. The write start address thus obtained is, for example, address 0x1E00. The write start address thus obtained is transmitted through the signal line REQ_0. Thus, data 504d2C other than the fraction data 504d2R located at the right end of the data of the second line of the divided block 501d is written to the DRAM 107. The data 504d2C for 480 bytes is aligned in burst access units in the DRAM 107.

次に、分割ブロック501dの第2番目のラインのデータのうちの右端に位置する端数データ504d2Rと、ダミーデータ504d2Dとが、SRAM207から読み出される。SRAM207から読み出された端数データ504d2Rと、ダミーデータ504d2Dとは、メモリバス151を介して伝送される。データ504d2Rのサイズは、上述したように、例えば30バイトである。ダミーデータ504d2Dのサイズは、上述したように、例えば2バイトである。合計のサイズが32バイトであるこれらのデータ504d2R、504d2Dは、DRAM107におけるバーストアクセス単位にアラインする。   Next, the fraction data 504d2R located at the right end of the data of the second line of the divided block 501d and the dummy data 504d2D are read from the SRAM 207. The fraction data 504d2R and the dummy data 504d2D read from the SRAM 207 are transmitted via the memory bus 151. As described above, the size of the data 504d2R is, for example, 30 bytes. The size of the dummy data 504d2D is, for example, 2 bytes as described above. These data 504d2R and 504d2D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.

この後も、上記と同様の処理が、分割ブロック501dの第3番目以降のラインについて順次行われる。分割ブロック501dに含まれているラインは、上述したように例えば64である。分割ブロック501dの第64番目のラインのデータは、以下のようにして処理される。即ち、分割ブロック501dの第64番目のラインのデータのうちの右端に位置する端数データ504d64R以外のデータ504d64Cが、SRAM207から読み出される。SRAM207から読み出されたデータ504d64Cは、メモリバス151を介して伝送される。こうして、分割ブロック501dの第64番目のラインのデータのうちの右端に位置する端数データ504d64R以外のデータ504d64CがDRAM107に書き込まれる。データ504d64Cのサイズは、上述したように例えば480バイトである。480バイト分のデータ504d64Cは、DRAM107におけるバーストアクセス単位にアラインする。分割ブロック501dの第64番目のラインのデータのうちの右端に位置する端数データ504d64Rと、ダミーデータ504d64Dとが、SRAM207から読み出される。SRAM207から読み出された端数データ504d64Rと、ダミーデータ504d64Dとは、メモリバス151を介して伝送される。データ504d64Rのサイズは、上述したように、例えば20バイトである。ダミーデータ504d64Dのサイズは、上述したように、例えば12バイトである。合計のサイズが32バイトであるこれらのデータ504d64R、504d64Dは、DRAM107におけるバーストアクセス単位にアラインする。
この後、上記と同様にして、分割ブロック501e〜501lに対する処理が行われる。
Thereafter, the same processing as described above is sequentially performed on the third and subsequent lines of the divided block 501d. As described above, the number of lines included in the divided block 501d is 64, for example. The data of the 64th line of the divided block 501d is processed as follows. That is, data 504d64C other than the fraction data 504d64R located at the right end of the data of the 64th line of the divided block 501d is read from the SRAM 207. Data 504d64C read from the SRAM 207 is transmitted via the memory bus 151. Thus, data 504d64C other than the fraction data 504d64R located at the right end of the data of the 64th line of the divided block 501d is written to the DRAM 107. The size of the data 504d64C is, for example, 480 bytes as described above. The data 504d64C for 480 bytes is aligned in units of burst access in the DRAM 107. The fraction data 504d64R located at the right end of the data of the 64th line of the divided block 501d and the dummy data 504d64D are read from the SRAM 207. The fraction data 504d64R and the dummy data 504d64D read from the SRAM 207 are transmitted via the memory bus 151. As described above, the size of the data 504d64R is, for example, 20 bytes. As described above, the size of the dummy data 504d64D is, for example, 12 bytes. These data 504d64R and 504d64D having a total size of 32 bytes are aligned in burst access units in the DRAM 107.
Thereafter, the processing for the divided blocks 501e to 501l is performed in the same manner as described above.

このように、本実施形態によれば、DRAM107におけるバーストアクセス単位にアラインするように、各々のライン503のデータに端数データ504LRが付される。このため、本実施形態においても、コマンドオーバーヘッドを低減することができ、書き込み速度の低下を抑制し得る。   As described above, according to the present embodiment, the fraction data 504LR is added to the data of each line 503 so as to align with the burst access unit in the DRAM 107. For this reason, also in this embodiment, command overhead can be reduced and a decrease in writing speed can be suppressed.

[第5実施形態]
第5実施形態による画像処理装置及び画像処理方法について図12乃至図14を用いて説明する。第1乃至第4実施形態による画像処理装置等と同一の構成要素には、同一の符号を付して説明を省略又は簡潔にする。
[Fifth Embodiment]
An image processing apparatus and an image processing method according to the fifth embodiment will be described with reference to FIGS. The same components as those of the image processing apparatus according to the first to fourth embodiments are denoted by the same reference numerals, and description thereof is omitted or simplified.

本実施形態による画像処理装置100の基本的な構成は、図1を用いて上述した第1実施形態における画像処理装置100の基本的な構成と同様である。   The basic configuration of the image processing apparatus 100 according to the present embodiment is the same as the basic configuration of the image processing apparatus 100 according to the first embodiment described above with reference to FIG.

図12は、本実施形態による画像処理装置100のデータ転送部105に備えられたRDDMACを示すブロック図である。図12には、画像処理部104に備えられたモジュール1201と、データ転送部105に備えられたRDDMAC1202と、メモリバス115とが示されている。   FIG. 12 is a block diagram showing the RDDMAC provided in the data transfer unit 105 of the image processing apparatus 100 according to the present embodiment. FIG. 12 shows a module 1201 provided in the image processing unit 104, an RDDMAC 1202 provided in the data transfer unit 105, and a memory bus 115.

モジュールD(MODULE D)、即ち、モジュール1201は、所定の画像処理を行う。モジュール1201とRDDMAC1202とは、信号線DATA_A、VALID_A、STOP_Aによって接続されている。RDDMAC1202によってDRAM107から読み出されたデータは、信号線DATA_Aを介してモジュール1201に供給される。有効データ出力期間である場合にのみ、RDDMAC1202からモジュール1201に供給される信号VALID_AがHighレベルとなる。モジュール1201が何らかの要因によってBUSY状態となり、モジュール1201がデータを受け付け得ない状態である場合には、モジュール1201からRDDMAC1202に供給されるSTOP_A信号がHighレベルとなる。STOP_A信号がHighレベルになると、RDDMAC1202からモジュール1201へのデータの伝送が停止される。   The module D (MODULE D), that is, the module 1201 performs predetermined image processing. The module 1201 and the RDDMAC 1202 are connected by signal lines DATA_A, VALID_A, and STOP_A. Data read from the DRAM 107 by the RDDMAC 1202 is supplied to the module 1201 through the signal line DATA_A. Only in the valid data output period, the signal VALID_A supplied from the RDDMAC 1202 to the module 1201 becomes High level. When the module 1201 enters the BUSY state due to some cause and the module 1201 cannot accept data, the STOP_A signal supplied from the module 1201 to the RDDMAC 1202 becomes High level. When the STOP_A signal becomes high level, data transmission from the RDDMAC 1202 to the module 1201 is stopped.

RDDMAC(RDDMAC_0)1202には、アドレス演算部1203、読み出し制御部1204、SRAM1207、書き込み制御部1208、バスI/F部1209が備えられている。   The RDDMAC (RDDMAC_0) 1202 includes an address calculation unit 1203, a read control unit 1204, an SRAM 1207, a write control unit 1208, and a bus I / F unit 1209.

アドレス演算部1203は、DRAM107に対するデータの読み出し等を行う際のアドレス値を演算する。また、アドレス演算部1203は、DRAM107から画像データを読み出す際の先頭アドレス、即ち、スタートアドレスを管理・制御する。アドレス演算部1203は、アドレスのインクリメントを行い得る。アドレス演算部1203は、データ転送長等の管理・制御を行う。データ転送長の制御においては、1回のアドレス指定によって連続してアクセス可能なワード数に対応するように転送バースト長が設定される。なお、ここでは、1ワードが32バイト、即ち、256ビット(bit)である場合を例に説明するが、これに限定されるものではない。また、ここでは、転送バースト長は、例えば32、64又は128に設定し得る。なお、転送バースト長はこれらに限定されるものではない。また、アドレス演算部203は、オフセット値を加算することによってアドレス値を更新することもできる。   The address calculation unit 1203 calculates an address value when data is read from the DRAM 107. The address calculation unit 1203 manages and controls the start address when reading image data from the DRAM 107, that is, the start address. The address calculation unit 1203 can increment the address. The address calculation unit 1203 manages and controls the data transfer length and the like. In the control of the data transfer length, the transfer burst length is set so as to correspond to the number of words that can be continuously accessed by one addressing. Here, a case where one word is 32 bytes, that is, 256 bits (bits) will be described as an example, but the present invention is not limited to this. Here, the transfer burst length can be set to 32, 64, or 128, for example. Note that the transfer burst length is not limited to these. The address calculation unit 203 can also update the address value by adding the offset value.

バスI/F部1209は、メモリバス115を介して各機能ブロックとの間で信号の授受を行うためのインターフェースである。バスI/F部1209とアドレス演算部1203とは、信号線MEM_ADDR_0を介して接続されている。DRAM107に対して読み出しを開始する際のアドレスである読み出し開始アドレスが、アドレス演算部1203からバスI/F部1209に信号線MEM_ADDR_0を介して供給される。また、転送バースト長を示す情報が、アドレス演算部1203からバスI/F部1209に信号線MEM_ADDR_0を介して供給される。   The bus I / F unit 1209 is an interface for exchanging signals with each functional block via the memory bus 115. The bus I / F unit 1209 and the address calculation unit 1203 are connected via a signal line MEM_ADDR_0. A read start address, which is an address for starting reading from the DRAM 107, is supplied from the address calculation unit 1203 to the bus I / F unit 1209 via the signal line MEM_ADDR_0. Also, information indicating the transfer burst length is supplied from the address calculation unit 1203 to the bus I / F unit 1209 via the signal line MEM_ADDR_0.

書き込み制御部1208は、DRAM107から受信したデータをSRAM1207に書き込むための制御を行う。SRAM1207は、メモリバンク1207aと、メモリバンク1207bとを備えている。例えば、例えば、メモリバンク1207a、即ち、BANK0へのデータの書き込みが行われている際、メモリバンク1207b、即ち、BANK1からデータの読み出しを行うことが可能である。メモリバンク1207a、即ち、BANK0からデータの読み出しが行われている際、メモリバンク1207b、即ち、BANK1へのデータの書き込みを行うことが可能である。   The write control unit 1208 performs control for writing data received from the DRAM 107 to the SRAM 1207. The SRAM 1207 includes a memory bank 1207a and a memory bank 1207b. For example, when data is being written to the memory bank 1207a, ie, BANK0, it is possible to read data from the memory bank 1207b, ie, BANK1. When data is being read from the memory bank 1207a, that is, BANK0, data can be written to the memory bank 1207b, that is, BANK1.

書き込み制御部1208とSRAM1207とは、信号線WR_ADDR_0、WEN_0、DIN_0によって接続されている。書き込み制御部1208は、信号線WR_ADDR_0を介して書き込みアドレスをSRAM1207に供給する。書き込み制御部1208は、信号線DIN_0を介してデータをSRAM1207に供給する。書き込み制御部1208は、信号線WEN_0を介して書き込みイネーブル信号をSRAM1207に供給する。書き込みイネーブル信号WEN_0がHighレベルの際、書き込み制御部1208から供給されるデータがSRAM1207に書き込まれる。   The write controller 1208 and the SRAM 1207 are connected by signal lines WR_ADDR_0, WEN_0, and DIN_0. The write control unit 1208 supplies a write address to the SRAM 1207 via the signal line WR_ADDR_0. The write control unit 1208 supplies data to the SRAM 1207 via the signal line DIN_0. The write control unit 1208 supplies a write enable signal to the SRAM 1207 via the signal line WEN_0. When the write enable signal WEN_0 is at a high level, data supplied from the write control unit 1208 is written into the SRAM 1207.

読み出し制御部1204は、SRAM1207からデータを読み出し、読み出したデータをモジュール1201に供給する。読み出し制御部1204とSRAM1207とは、信号線RD_ADDR_0、REN_0、DOUT_0によって接続されている。読み出し制御部1204は、信号線RD_ADDR_0を介して読み出しアドレスをSRAM1207に供給する。読み出し制御部1204は、信号線DOUT_0を介してデータをSRAM1207から読み出す。読み出し制御部1204は、信号線REN_0を介して読み出しイネーブル信号をSRAM1207に供給する。読み出しイネーブル信号REN_0がHighレベルの際、SRAM1207から出力されるデータが読み出し制御部1204によって読み出される。   The read control unit 1204 reads data from the SRAM 1207 and supplies the read data to the module 1201. The read control unit 1204 and the SRAM 1207 are connected by signal lines RD_ADDR_0, REN_0, and DOUT_0. The read control unit 1204 supplies a read address to the SRAM 1207 via the signal line RD_ADDR_0. The read control unit 1204 reads data from the SRAM 1207 via the signal line DOUT_0. The read control unit 1204 supplies a read enable signal to the SRAM 1207 via the signal line REN_0. When the read enable signal REN_0 is at a high level, the data output from the SRAM 1207 is read by the read control unit 1204.

DRAM107に対するデータの読み出しは以下のようにして行われる。即ち、アドレス演算部1203は、DRAM107に対して読み出しを開始する際のアドレスである読み出し開始アドレスと、転送バースト長を示す情報とを、信号線MEM_ADDR_0を介してバスI/F部1209に供給する。バスI/F部1209は、データの転送を要求するための信号であるリクエスト信号REQ_0を、メモリバス115を介して伝送する。また、バスI/F部1209は、読み出し開始アドレスと、転送バースト長を示す情報とを、メモリバス115を介して伝送する。DRAM107が読み出し可能な状態になると、読み出しを許可することを示すHighレベルの許可信号ACK_0がメモリバス115を介してバスI/F部1209に供給される。メモリバス115及び信号線RDATA0を介して、DRAM107からバスI/F部1209にデータが伝送される。書き込み制御部1208は、DRAM107から供給されたデータをSRAM1207に書き込む。読み出し制御部1204は、SRAM1207からデータを読み出す。読み出し制御部1204は、SRAM1207から読み出したデータを、信号線DATA_Aを介してモジュール1201に供給する。読み出し制御部1204がSRAM1207から読み出すデータには、ダミーデータ504Dが付されている。読み出し制御部1204は、SRAM1207から読み出したデータに付されているダミーデータ504Dを削除する。読み出し制御部1204は、SRAM1207から読み出したデータからダミーデータ504Dを除去することによって得られるデータを、モジュール1201に供給する。SRAM1207のメモリバンク1207aからのデータの読み出しと並行して、SRAM1207のメモリバンク1207bへのデータの書き込みが行われる。メモリバンク1207aとメモリバンク1207bとに対する書き込み及び読み出しが交互に継続的に行われることによって、DRAM107から読み出されるデータ(画像データ)がモジュール1201に供給される。   Data is read from the DRAM 107 as follows. That is, the address calculation unit 1203 supplies a read start address, which is an address when starting reading to the DRAM 107, and information indicating the transfer burst length to the bus I / F unit 1209 via the signal line MEM_ADDR_0. . The bus I / F unit 1209 transmits a request signal REQ_0, which is a signal for requesting data transfer, via the memory bus 115. The bus I / F unit 1209 transmits the read start address and information indicating the transfer burst length via the memory bus 115. When the DRAM 107 is ready to be read, a high-level permission signal ACK_0 indicating that reading is permitted is supplied to the bus I / F unit 1209 via the memory bus 115. Data is transmitted from the DRAM 107 to the bus I / F unit 1209 via the memory bus 115 and the signal line RDATA0. The write control unit 1208 writes the data supplied from the DRAM 107 to the SRAM 1207. The read control unit 1204 reads data from the SRAM 1207. The read control unit 1204 supplies the data read from the SRAM 1207 to the module 1201 via the signal line DATA_A. Data read from the SRAM 1207 by the read control unit 1204 is appended with dummy data 504D. The read control unit 1204 deletes the dummy data 504D attached to the data read from the SRAM 1207. The read control unit 1204 supplies data obtained by removing the dummy data 504D from the data read from the SRAM 1207 to the module 1201. In parallel with the reading of data from the memory bank 1207a of the SRAM 1207, data is written to the memory bank 1207b of the SRAM 1207. Data (image data) read from the DRAM 107 is supplied to the module 1201 by alternately and continuously writing to and reading from the memory bank 1207a and the memory bank 1207b.

図13は、データをDRAM107に書き込む際のブロック分割と、DRAM107に書き込まれたデータを読み出す際のブロック分割とを概念的に示す図である。図13は、1フレームの画像に対応する仮想的なアドレス空間を示している。図11を用いて上述した第4実施形態の場合と同様に、1フレームの画像データを水平方向に4分割するとともに垂直方向に3分割することによって矩形の分割ブロック501a〜501lが画定されている。また、1フレームの画像データの一部を水平方向に5分割するとともに垂直方向に3分割することによって矩形の分割ブロック1301a〜1301oが確定されている。分割ブロック1301a〜1301oは、太い実線を用いて示されている。なお、本明細書においては、個々の分割ブロックについて説明する際には、符号1301a〜1301oを用い、分割ブロック一般について説明する際には、符号1301を用いることとする。データをDRAM107に書き込む際には、分割ブロック501a〜501lを単位とするデータの伝送が実行される。データをDRAM107から読み出す際には、例えば分割ブロック1301a〜1301oを単位とするデータの伝送が実行される。なお、各々の分割ブロック501の右側には、DRAM107におけるバーストアクセス単位にアラインするように付加されたダミーデータ504Dが存在している。   FIG. 13 is a diagram conceptually showing block division when data is written to the DRAM 107 and block division when data written to the DRAM 107 is read. FIG. 13 shows a virtual address space corresponding to an image of one frame. As in the case of the fourth embodiment described above with reference to FIG. 11, rectangular divided blocks 501a to 501l are defined by dividing image data of one frame into four in the horizontal direction and three in the vertical direction. . Also, rectangular divided blocks 1301a to 1301o are determined by dividing a part of one frame of image data into 5 parts in the horizontal direction and 3 parts in the vertical direction. The divided blocks 1301a to 1301o are shown using thick solid lines. In this specification, reference numerals 1301a to 1301o are used when describing individual divided blocks, and reference numeral 1301 is used when general divided blocks are described. When data is written to the DRAM 107, data transmission is performed in units of divided blocks 501a to 501l. When data is read from the DRAM 107, for example, data transmission is executed in units of divided blocks 1301a to 1301o. On the right side of each divided block 501, there is dummy data 504 D added so as to align with the burst access unit in the DRAM 107.

図14は、本実施形態による画像処理装置100の動作を示すフローチャートである。
ステップS1401においては、転送パラメータの設定がRDDMAC1202において行われる。転送パラメータとしては、分割ブロック1301の水平方向におけるデータサイズ、分割数等が挙げられる。この後、ステップS1402に遷移する。
FIG. 14 is a flowchart showing the operation of the image processing apparatus 100 according to the present embodiment.
In step S1401, transfer parameters are set in the RDDMAC 1202. The transfer parameters include the data size in the horizontal direction of the divided block 1301, the number of divisions, and the like. Then, the process proceeds to step S1402.

ステップS1402においては、分割ブロック1301の第1番目のラインのデータが読み出される。分割ブロック1301の第1番目のラインのデータを読み出す際におけるデータサイズは、最大バースト長とする。分割ブロック1301の第1番目のラインに対する読み出しを行う際においては、当該分割ブロック1301の各々のラインに含まれるダミーデータのサイズは不明である。このため、分割ブロック1301の第1番目のラインに対する読み出しを行う際には、最大バースト長での読み出しが行われる。最大バースト長で読み出しが行われるため、余分なデータも読み出され得る。この後、ステップS1403に遷移する。   In step S1402, the data of the first line of the divided block 1301 is read. The data size when reading the data of the first line of the divided block 1301 is the maximum burst length. When reading the first line of the divided block 1301, the size of the dummy data included in each line of the divided block 1301 is unknown. For this reason, when reading is performed on the first line of the divided block 1301, reading with the maximum burst length is performed. Since reading is performed with the maximum burst length, extra data can also be read. Then, the process proceeds to step S1403.

ステップS1403においては、読み出されたデータのうちのダミーデータを除く部分のデータのサイズが、分割ブロック1301の水平方向におけるサイズに達したか否かが判定される。読み出されたデータのうちのダミーデータを除く部分のデータのサイズが分割ブロック1301の水平方向におけるサイズに達した場合には(ステップS1403においてYES)、ステップS1404に遷移する。読み出されたデータのうちのダミーデータを除く部分のデータのサイズが分割ブロック1301の水平方向におけるサイズに達していない場合には(ステップS1403においてNO)、ステップS1402が繰り返される。   In step S1403, it is determined whether or not the size of the data of the read data excluding the dummy data has reached the size of the divided block 1301 in the horizontal direction. If the size of the data other than the dummy data in the read data has reached the horizontal size of the divided block 1301 (YES in step S1403), the process proceeds to step S1404. When the data size of the read data excluding the dummy data does not reach the horizontal size of the divided block 1301 (NO in step S1403), step S1402 is repeated.

ステップS1404においては、読み出されたデータに含まれるダミーデータのサイズが判定される。分割ブロック1301の第1番目のラインの水平方向におけるサイズと、当該ラインに付されたダミーデータのサイズとの合計が、当該分割ブロック1301の第2番目以降のラインに対する読み出しを行う際の読み出しサイズとして設定される。これにより、第2番目以降のラインに対する読み出しを行う際には、余分なデータの読み出しがなくなり、効率的な読み出しを行うことが可能となる。この後、ステップS1405に遷移する。   In step S1404, the size of the dummy data included in the read data is determined. The total size of the first line of the divided block 1301 in the horizontal direction and the size of the dummy data attached to the line is the read size when the second and subsequent lines of the divided block 1301 are read. Set as As a result, when reading is performed on the second and subsequent lines, unnecessary data is not read, and efficient reading can be performed. Then, the process proceeds to step S1405.

ステップS1405においては、分割ブロック1301の第2番目以降のラインのデータの読み出しが行われる。分割ブロック1301の第2番目以降のラインのデータを読み出す際におけるデータサイズは、最大バースト長とする。この後、ステップS1406に遷移する。   In step S1405, data of the second and subsequent lines of the divided block 1301 is read. The data size when reading the data of the second and subsequent lines of the divided block 1301 is the maximum burst length. Then, the process proceeds to step S1406.

ステップS1406においては、データの読み出しをもう一度だけ行うことによって、読み出したデータのサイズの合計が、ステップS1404において設定された読み出しサイズに達するか否かが判定される。データの読み出しをもう一度行うだけでは、読み出したデータのサイズの合計が、ステップS1404において設定された読み出しサイズに達しない場合には(ステップS1406においてNO)、ステップS1405に戻る。データの読み出しをもう一度だけ行うことによって、読み出したデータのサイズの合計が、ステップS1404において設定された読み出しサイズに達する場合には(ステップS1406においてYES)、ステップS1407に遷移する。   In step S1406, it is determined whether or not the total size of the read data reaches the read size set in step S1404 by reading the data only once again. If the total size of the read data does not reach the read size set in step S1404 (NO in step S1406) simply by reading data once again, the process returns to step S1405. If the total size of the read data reaches the read size set in step S1404 (YES in step S1406) by performing the data read only once again, the process proceeds to step S1407.

ステップS1407においては、データの読み出しが行われる。この際、端数データの読み出しも行われ得る。この後、ステップS1408に遷移する。   In step S1407, data is read. At this time, fraction data can also be read. Then, the process proceeds to step S1408.

ステップS1408においては、分割ブロック1301に含まれる全てのラインの読み出しが完了したか否かが判定される。分割ブロック1301に含まれる全てのラインの読み出しが完了していない場合には(ステップS1408においてNO)、ステップS1410に遷移する。
ステップS1410においては、読み出し対象となるラインが次のラインに変更される。この後、ステップS1405に戻る。
In step S1408, it is determined whether reading of all lines included in the divided block 1301 has been completed. If reading of all the lines included in the divided block 1301 has not been completed (NO in step S1408), the process proceeds to step S1410.
In step S1410, the line to be read is changed to the next line. Thereafter, the process returns to step S1405.

分割ブロック1301に含まれる全てのラインの読み出しが完了した場合には(ステップS1408においてYES)、ステップS1409に遷移する。   If reading of all the lines included in divided block 1301 has been completed (YES in step S1408), the process proceeds to step S1409.

ステップS1409においては、全ての分割ブロック1301からの読み出しが完了したか否かが判定される。全ての分割ブロック1301からの読み出しが完了していない場合には(ステップS1409においてNO)、ステップS1411に遷移する。
ステップS1411においては、読み出し対象となる分割ブロック1301が次の分割ブロック1301に変更される。この後、ステップS1402に戻る。
In step S1409, it is determined whether reading from all the divided blocks 1301 has been completed. If reading from all the divided blocks 1301 has not been completed (NO in step S1409), the process proceeds to step S1411.
In step S1411, the divided block 1301 to be read is changed to the next divided block 1301. Thereafter, the process returns to step S1402.

全ての分割ブロック1301からの読み出しが完了した場合には(ステップS1409においてYES)、図14に示す読み出し処理が完了する。   When reading from all the divided blocks 1301 is completed (YES in step S1409), the reading process shown in FIG. 14 is completed.

このように、本実施形態によれば、分割ブロック1301の第1番目のラインから読み出されたデータに基づいて、読み出しサイズを設定する。このため、分割ブロック1302の第2番目以降のラインからデータを読み出す際には、余分な読み出しが行われない。このため、本実施形態によれば、効率的にデータの読み出しを行うことができる。   Thus, according to the present embodiment, the read size is set based on the data read from the first line of the divided block 1301. For this reason, when data is read from the second and subsequent lines of the divided block 1302, extra reading is not performed. For this reason, according to the present embodiment, data can be read efficiently.

[第6実施形態]
第6実施形態による画像処理装置及び画像処理方法について図15を用いて説明する。第1乃至第5実施形態による画像処理装置等と同一の構成要素には、同一の符号を付して説明を省略又は簡潔にする。
[Sixth Embodiment]
An image processing apparatus and an image processing method according to the sixth embodiment will be described with reference to FIG. The same components as those of the image processing apparatus according to the first to fifth embodiments are denoted by the same reference numerals, and description thereof is omitted or simplified.

本実施形態による画像処理装置100の基本的な構成は、図1を用いて上述した第1実施形態における画像処理装置100の基本的な構成と同様である。   The basic configuration of the image processing apparatus 100 according to the present embodiment is the same as the basic configuration of the image processing apparatus 100 according to the first embodiment described above with reference to FIG.

本実施形態による画像処理装置100に備えられたデータ転送部105には、図2を用いて上述したWRDMAC202が備えられている。   The data transfer unit 105 provided in the image processing apparatus 100 according to the present embodiment includes the WRDMAC 202 described above with reference to FIG.

また、本実施形態による画像処理装置100に備えられたメモリ制御部106は、メモリバス115の帯域(帯域使用率)を測定し得る帯域検出機能を有している。メモリ制御部106は、データ転送部105から発せられるデータ転送要求の数であるデータ転送要求数と、データ転送部105が要求するデータ転送長である要求データ転送長とに基づいて、メモリバス115の帯域を測定する。メモリ制御部106は、メモリバス115の帯域の測定結果をCPU112に通知する。   In addition, the memory control unit 106 provided in the image processing apparatus 100 according to the present embodiment has a band detection function capable of measuring the band (bandwidth usage rate) of the memory bus 115. Based on the number of data transfer requests, which is the number of data transfer requests issued from the data transfer unit 105, and the requested data transfer length, which is the data transfer length requested by the data transfer unit 105, the memory control unit 106 Measure the bandwidth. The memory control unit 106 notifies the CPU 112 of the measurement result of the bandwidth of the memory bus 115.

図15は、本実施形態による画像処理装置の動作を示すフローチャートである。
ステップS1501においては、転送パラメータの設定がWRDMAC202において行われる。転送パラメータとしては、分割ブロック501の水平方向におけるデータサイズ、分割ブロック501の垂直方向におけるデータサイズ、分割数等が挙げられる。この後、ステップS1502に遷移する。
FIG. 15 is a flowchart showing the operation of the image processing apparatus according to the present embodiment.
In step S1501, transfer parameters are set in the WRDMAC 202. The transfer parameters include the data size in the horizontal direction of the divided block 501, the data size in the vertical direction of the divided block 501, the number of divisions, and the like. Then, the process proceeds to step S1502.

ステップS1502においては、DRAM107の容量に余裕があるか否かが判定される。具体的には、ステップS1501において設定された転送パラメータに基づいて、ダミーデータを付加した場合に必要なワーク領域が算出される。そして、ダミーデータを付加した場合に必要となる領域がDRAM107内に存在しているか否かが判定される。DRAM107の容量に所定値以上の余裕があると判定された場合には(ステップS1502においてYES)、ステップS1503に遷移する。一方、DRAM107の容量に所定値以上の余裕がないと判定された場合には(ステップS1502においてNO)、ステップS1505に遷移する。   In step S1502, it is determined whether the capacity of the DRAM 107 has a margin. Specifically, the work area required when dummy data is added is calculated based on the transfer parameter set in step S1501. Then, it is determined whether or not an area required when dummy data is added exists in the DRAM 107. If it is determined that the capacity of DRAM 107 has a margin equal to or greater than the predetermined value (YES in step S1502), the process proceeds to step S1503. On the other hand, if it is determined that the capacity of DRAM 107 does not have a margin greater than the predetermined value (NO in step S1502), the process proceeds to step S1505.

ステップS1503においては、メモリバス115の帯域に余裕があるか否かが判定される。メモリバス115の帯域に余裕があるか否かは、メモリ制御部106に備えられた帯域検出機能を用いて判定され得る。メモリ制御部106は、帯域使用率を測定する。帯域使用率が所定値以上である場合には、メモリバス115の帯域に余裕がないと判定される。メモリバス115の帯域に余裕がない場合には(ステップS1503においてNO)、ステップS1504に遷移する。所定値は、例えば60%とし得るが、これに限定されるものではない。帯域使用率が所定値未満である場合には、メモリバス115の帯域に余裕があると判定される。メモリバス115の帯域に余裕がある場合には(ステップS1503においてYES)、ステップS1505に遷移する。   In step S1503, it is determined whether there is a margin in the bandwidth of the memory bus 115. Whether or not there is a margin in the bandwidth of the memory bus 115 can be determined using a bandwidth detection function provided in the memory control unit 106. The memory control unit 106 measures the bandwidth usage rate. If the bandwidth usage rate is greater than or equal to a predetermined value, it is determined that there is no room in the bandwidth of the memory bus 115. If there is no room in the bandwidth of memory bus 115 (NO in step S1503), the process proceeds to step S1504. The predetermined value may be 60%, for example, but is not limited thereto. If the bandwidth usage rate is less than the predetermined value, it is determined that there is a margin in the bandwidth of the memory bus 115. If there is a margin in the bandwidth of memory bus 115 (YES in step S1503), the process proceeds to step S1505.

ステップS1504においては、図11を用いて上述したように、ダミーデータ504Dが付加されたデータがDRAM107に書き込まれる。この場合、DRAM107の容量には余裕が必要であるが、コマンドオーバーヘッドを低減し得る。   In step S1504, as described above with reference to FIG. 11, the data to which the dummy data 504D is added is written into the DRAM 107. In this case, the capacity of the DRAM 107 needs a margin, but the command overhead can be reduced.

ステップS1505においては、ダミーデータ504Dを付加することなくデータがDRAM107に書き込まれる。この場合、コマンドオーバーヘッドの増加を招くが、DRAM107の容量には大きな余裕は必要ない。   In step S1505, data is written to the DRAM 107 without adding dummy data 504D. In this case, the command overhead is increased, but the capacity of the DRAM 107 does not require a large margin.

このように、DRAM107における容量の余裕の有無や、メモリバス115における帯域の余裕の有無に応じて、ダミーデータを付加するか否かを切り替えるようにしてもよい。   As described above, whether to add dummy data may be switched depending on whether or not there is a capacity margin in the DRAM 107 and whether or not there is a band margin in the memory bus 115.

[変形実施形態]
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記録媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
[Modified Embodiment]
As mentioned above, although preferable embodiment of this invention was described, this invention is not limited to these embodiment, A various deformation | transformation and change are possible within the range of the summary.
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a recording medium, and one or more processors in the computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

115…メモリバス
201…モジュール
202…WRDMAC
115 ... Memory bus 201 ... Module 202 ... WRDMAC

Claims (15)

画像を構成する複数のブロックの各々を順次出力する処理手段と、
所定のアクセス単位でアクセスされるメモリと、
前記複数のブロックのうちの第1のブロックの一部に対応する第1のデータに、前記第1のブロックに対応しない第2のデータを結合することにより得られるとともに、前記アクセス単位にアラインする結合データを、前記メモリに書き込む第1の書き込み手段と
を有することを特徴とする画像処理装置。
Processing means for sequentially outputting each of a plurality of blocks constituting the image;
A memory accessed in a predetermined access unit;
Obtained by combining the second data not corresponding to the first block with the first data corresponding to a part of the first block of the plurality of blocks, and aligning to the access unit An image processing apparatus comprising: first writing means for writing combined data into the memory.
前記第1のデータのサイズと前記第2のデータのサイズのいずれもが前記アクセス単位のサイズより小さく、
前記結合データのサイズは、前記アクセス単位のサイズであることを特徴とする請求項1に記載の画像処理装置。
Both the size of the first data and the size of the second data are smaller than the size of the access unit,
The image processing apparatus according to claim 1, wherein the size of the combined data is a size of the access unit.
前記第2のデータは、前記第1のブロックに隣接する第2のブロックに含まれることを特徴とする請求項1又は2に記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the second data is included in a second block adjacent to the first block. 前記第1のブロックは、前記画像を複数の領域に分割することにより画定される複数の分割領域のうちの第1の分割領域に含まれている第1のラインであり、
前記第2のブロックは、前記第1の分割領域に隣接する第2の分割領域に含まれている第2のラインであることを特徴とする請求項3に記載の画像処理装置。
The first block is a first line included in a first divided region among a plurality of divided regions defined by dividing the image into a plurality of regions;
The image processing apparatus according to claim 3, wherein the second block is a second line included in a second divided region adjacent to the first divided region.
前記第2のデータは、ダミーデータであることを特徴とする請求項1又は2に記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the second data is dummy data. 前記ダミーデータは、他のデータと区別が可能なデータであることを特徴とする請求項5に記載の画像処理装置。   The image processing apparatus according to claim 5, wherein the dummy data is data that can be distinguished from other data. 前記メモリに書き込まれた前記画像を読み出す読み出し手段を更に有し、
前記読み出し手段は、前記メモリから読み出された前記結合データから前記ダミーデータを除去することを特徴とする請求項5又は6に記載の画像処理装置。
It further has a reading means for reading the image written in the memory,
The image processing apparatus according to claim 5, wherein the reading unit removes the dummy data from the combined data read from the memory.
前記メモリの容量に所定値以上の余裕がある場合に、前記第1のデータに前記第2のデータを結合することを特徴とする請求項5から7のいずれか1項に記載の画像処理装置。   8. The image processing apparatus according to claim 5, wherein the second data is combined with the first data when the capacity of the memory has a margin equal to or greater than a predetermined value. 9. . 前記メモリに前記画像を書き込む際に用いられるバスラインの帯域使用率が所定値以上である場合に、前記第1のデータに前記第2のデータを結合することを特徴とする請求項5から8のいずれか1項に記載の画像処理装置。   9. The second data is combined with the first data when a bandwidth usage rate of a bus line used when writing the image to the memory is a predetermined value or more. The image processing apparatus according to any one of the above. 前記第1の書き込み手段と異なる第2の書き込み手段を更に有し、
前記第2の書き込み手段によって前記第1のデータに前記第2のデータが結合されることを特徴とする請求項1から9のいずれか1項に記載の画像処理装置。
A second writing means different from the first writing means;
The image processing apparatus according to claim 1, wherein the second data is combined with the first data by the second writing unit.
前記第1のブロックのサイズが所定値未満である場合に、前記第1のデータに前記第2のデータが結合されることを特徴とする請求項1から10のいずれか1項に記載の画像処理装置。   The image according to any one of claims 1 to 10, wherein when the size of the first block is less than a predetermined value, the second data is combined with the first data. Processing equipment. 前記画像の分割数が所定値以上である場合に、前記第1のデータに前記第2のデータが結合されることを特徴とする請求項1から11のいずれか1項に記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the second data is combined with the first data when the number of divisions of the image is equal to or greater than a predetermined value. . 前記メモリは、LPDDR4規格に準拠していることを特徴とする請求項1乃至12のいずれか1項に記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the memory conforms to the LPDDR4 standard. 画像を構成する複数のブロックの各々を順次出力するステップと、
前記複数のブロックのうちの第1のブロックの一部に対応する第1のデータに、前記第1のブロックに対応しない第2のデータを結合することにより得られるとともに、メモリのアクセス単位にアラインする結合データを生成するステップと、
前記メモリに前記結合データを書き込むステップと
を有することを特徴とする画像処理方法。
Sequentially outputting each of a plurality of blocks constituting the image;
Obtained by combining the second data not corresponding to the first block with the first data corresponding to a part of the first block of the plurality of blocks, and aligned to the memory access unit Generating combined data to be
Writing the combined data into the memory.
コンピュータに、
画像を構成する複数のブロックの各々を順次出力するステップと、
前記複数のブロックのうちの第1のブロックの一部に対応する第1のデータに、前記第1のブロックに対応しない第2のデータを結合することにより得られるとともに、メモリのアクセス単位にアラインする結合データを生成するステップと、
前記メモリに前記結合データを書き込むステップとを実行させるためのプログラム。
On the computer,
Sequentially outputting each of a plurality of blocks constituting the image;
Obtained by combining the second data not corresponding to the first block with the first data corresponding to a part of the first block of the plurality of blocks, and aligned to the memory access unit Generating combined data to be
A program for executing the step of writing the combined data in the memory.
JP2018076407A 2018-04-11 2018-04-11 Image processing device and image processing method Pending JP2019185446A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018076407A JP2019185446A (en) 2018-04-11 2018-04-11 Image processing device and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018076407A JP2019185446A (en) 2018-04-11 2018-04-11 Image processing device and image processing method

Publications (1)

Publication Number Publication Date
JP2019185446A true JP2019185446A (en) 2019-10-24

Family

ID=68341372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018076407A Pending JP2019185446A (en) 2018-04-11 2018-04-11 Image processing device and image processing method

Country Status (1)

Country Link
JP (1) JP2019185446A (en)

Similar Documents

Publication Publication Date Title
US20180074752A1 (en) Image processing device and image processing method
US6340973B1 (en) Memory control unit and memory control method and medium containing program for realizing the same
US7554874B2 (en) Method and apparatus for mapping memory
US10803589B2 (en) Image processing device
JP6058963B2 (en) All-around camera
JP6210743B2 (en) Data processing device and data transfer control device
US9591170B2 (en) Image processing apparatus, and control method and program of image processing apparatus
JP2020166346A (en) Semiconductor memory device
JP2007257774A (en) Memory controller
US20110087821A1 (en) Apparatus to access multi-bank memory
JP2019185446A (en) Image processing device and image processing method
US11409655B2 (en) Interface apparatus, data processing apparatus, cache control method, and medium
US8368708B2 (en) Image processing apparatus, image processing method, and storage medium storing control program therefor
JP6012207B2 (en) Data transfer device
JP4234829B2 (en) Memory control device
US9947075B2 (en) Image processing apparatus
US20100030978A1 (en) Memory controller, memory control method, and image processing device
JP6210742B2 (en) Data processing device and data transfer control device
JP5583563B2 (en) Data processing device
JP2021158490A (en) Imaging apparatus and control method
JP2021157295A (en) Memory control device
JP2017204170A (en) Image processing device and image processing method
JP7474061B2 (en) Interface device, data processing device, cache control method, and program
JP4821720B2 (en) MEMORY ACCESS CONTROL DEVICE, MEMORY ACCESS CONTROL METHOD, IMAGE READING DEVICE, IMAGE READING DEVICE CONTROL METHOD, AND CONTROL PROGRAM
JP2016103169A (en) Image processing apparatus, image processing method, and electronic apparatus