JP2007279902A - Memory control method, memory control device, image processor and program - Google Patents

Memory control method, memory control device, image processor and program Download PDF

Info

Publication number
JP2007279902A
JP2007279902A JP2006103345A JP2006103345A JP2007279902A JP 2007279902 A JP2007279902 A JP 2007279902A JP 2006103345 A JP2006103345 A JP 2006103345A JP 2006103345 A JP2006103345 A JP 2006103345A JP 2007279902 A JP2007279902 A JP 2007279902A
Authority
JP
Japan
Prior art keywords
image data
memory
image processing
stored
row
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.)
Granted
Application number
JP2006103345A
Other languages
Japanese (ja)
Other versions
JP4821410B2 (en
Inventor
Junichi Okuyama
潤一 奥山
Mitsuyuki Tamaya
光之 玉谷
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2006103345A priority Critical patent/JP4821410B2/en
Publication of JP2007279902A publication Critical patent/JP2007279902A/en
Application granted granted Critical
Publication of JP4821410B2 publication Critical patent/JP4821410B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To perform high-speed processing with a minimized memory capacity in various image processors using a line memory. <P>SOLUTION: The image processor 100 supplies image data stored in a memory such as DRAM 10 or SRAM 20 to an image processing part 30 to perform predetermined image processing. The DRAM 10 is composed of a plurality of memory banks, a memory control part 50 controls reading and writing of image data to each memory. When input image data is written to the DRAM 10, the memory control part 60 writes division image data obtained by dividing the image data in predetermined units to the DRAM 10 so that each of the division image data continued in the line direction or row direction is not stored in the same memory bank. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、小容量のメモリで高速に画像処理を行うための技術に関する。   The present invention relates to a technique for performing image processing at high speed with a small-capacity memory.

画像処理には、例えばフィルタ処理やブロック処理のように、複数行複数列の画素からなるブロックに対して処理を行うものがある。このような画像処理を行う画像処理装置は、画像データを行(ライン)方向について記憶するラインメモリを備える構成が一般的である。例えば、5×5画素のブロック単位で画像処理を行う画像処理装置であれば、4個のラインメモリで画像データの4ライン分のデータを保持すれば十分である。このような画像処理装置に画像データを転送する際には、DRAM(Dynamic Random Access Memory)がよく用いられる。これは、DRAMはアドレスが連続するデータを高速に転送することができるため、ラインメモリへのデータ転送に適しているからである。しかも、DRAMはSRAM(Static Random Access Memory)等よりも安価で構造も比較的簡素であるため、回路規模やコストという観点からも有利であると言える。
特開平10−162131号公報
In the image processing, for example, processing such as filter processing or block processing is performed on a block composed of pixels of a plurality of rows and a plurality of columns. An image processing apparatus that performs such image processing generally includes a line memory that stores image data in the row direction. For example, in the case of an image processing apparatus that performs image processing in units of 5 × 5 pixel blocks, it is sufficient to hold four lines of image data with four line memories. A DRAM (Dynamic Random Access Memory) is often used when transferring image data to such an image processing apparatus. This is because DRAM is suitable for data transfer to a line memory because it can transfer data with consecutive addresses at high speed. In addition, since DRAM is cheaper than SRAM (Static Random Access Memory) and the like and has a relatively simple structure, it can be said that it is advantageous from the viewpoint of circuit scale and cost.
JP-A-10-162131

ところで、上述の画像処理装置においては、各ラインメモリは必ずしも画像データのライン全体を保持する必要はない。例えば、上述した例であれば、各ラインメモリは5画素分のデータを保持できれば十分である。しかしながら、DRAMは複数ラインに渡る小容量のデータの読み出しには適していないため、従来は処理対象のブロック以外の画像データについてもまとめて読み出し、これをラインメモリに保持させる構成が一般的であった。そのため、ラインメモリのメモリ容量を大きくせざるを得ず、画像処理装置が複雑かつ高価になってしまうという不都合があった。かといって、単にラインメモリを削減し、DRAMからは必要な画像データのみを読み出したのでは、読み出し動作がボトルネックとなって処理速度が低下してしまうという不都合があった。   By the way, in the image processing apparatus described above, each line memory does not necessarily have to hold the entire line of image data. For example, in the example described above, it is sufficient that each line memory can hold data for five pixels. However, since a DRAM is not suitable for reading a small amount of data over a plurality of lines, conventionally, it has been a general configuration that image data other than a block to be processed is also read together and stored in a line memory. It was. For this reason, the memory capacity of the line memory has to be increased, and the image processing apparatus becomes complicated and expensive. However, if the line memory is simply reduced and only the necessary image data is read from the DRAM, the read operation becomes a bottleneck and the processing speed is reduced.

このような不都合を解消するためには、特許文献1に記載の技術を適用することもある程度は有効である。しかし、特許文献1に記載の技術は水平方向(行方向)の連続アクセスと特定の矩形領域の連続アクセスを高速に行うことのみが可能であるために汎用性が低く、種々多様な画像処理に適用することは困難である。   In order to eliminate such inconvenience, it is also effective to some extent to apply the technique described in Patent Document 1. However, since the technique described in Patent Document 1 can only perform continuous access in the horizontal direction (row direction) and continuous access in a specific rectangular area at high speed, the technique is low in versatility and can be used for various image processing. It is difficult to apply.

本発明はかかる事情に鑑みてなされたものであり、その目的は、ラインメモリを用いる種々の画像処理装置において、少ないメモリ容量で高速な処理を可能にするための技術を提供することにある。   The present invention has been made in view of such circumstances, and an object thereof is to provide a technique for enabling high-speed processing with a small memory capacity in various image processing apparatuses using a line memory.

上述の目的を達成するために、本発明は、複数行複数列の画素の配列を表す画像データを記憶可能な複数のメモリバンクを有するメモリを介して、当該画像データを所定の画像処理を実行する画像処理装置に供給するためのメモリ制御装置であって、前記メモリに前記画像データを書き込む書込手段と、前記書込手段により前記メモリに書き込まれた画像データを読み出す読出手段と、前記読出手段により前記メモリから読み出された画像データを前記画像処理装置が実行する画像処理に応じた順序で供給する供給手段とを備え、前記書込手段は、入力された前記画像データの第1の行を決められた分割単位で分割してなる複数列の分割画像データの各々を、連続する分割画像データが前記メモリの互いに異なるメモリバンクにそれぞれ記憶されるように書き込むとともに、当該画像データの前記第1の行と隣り合う第2の行を前記分割単位で分割してなる複数列の分割画像データの各々を、前記第1の行において同列に相当する分割画像データが記憶されたメモリバンクと異なるメモリバンクに記憶され、かつ、連続する分割画像データが互いに異なるメモリバンクにそれぞれ記憶されるように書き込み、前記読出手段は、前記画像データにおいて行方向または列方向に連続する前記分割画像データを連続的に読み出すメモリ制御装置を提供する。   In order to achieve the above-described object, the present invention executes predetermined image processing on image data via a memory having a plurality of memory banks capable of storing image data representing an array of pixels in a plurality of rows and a plurality of columns. A memory control device for supplying to the image processing apparatus, a writing means for writing the image data in the memory, a reading means for reading the image data written in the memory by the writing means, and the reading Supply means for supplying the image data read from the memory by the means in an order according to the image processing executed by the image processing apparatus, and the writing means includes a first of the input image data. Each of the divided image data of a plurality of columns obtained by dividing the row by a predetermined division unit is stored in different memory banks in which the continuous divided image data is different from each other in the memory. Each of the divided image data in a plurality of columns obtained by dividing the second row adjacent to the first row of the image data in the division unit is equivalent to the same column in the first row. The divided image data is stored in a memory bank different from the memory bank in which the divided image data is stored, and the continuous divided image data is written so as to be stored in different memory banks. Alternatively, a memory control device that continuously reads the divided image data continuous in the column direction is provided.

また、本発明は、複数行複数列の画素の配列を表す画像データを記憶可能な複数のメモリバンクを有する第1のメモリと、前記第1のメモリに記憶された画像データを記憶可能な第2のメモリと、前記第2のメモリに記憶された画像データに所定の画像処理を行う画像処理手段と、前記第1のメモリに画像データを書き込む第1の書込手段と、前記第1の書込手段により前記第1のメモリに書き込まれた画像データを読み出す第1の読出手段と、前記第1の読出手段により前記第1のメモリから読み出された画像データを前記第2のメモリに書き込む第2の書込手段と、前記第2の書込手段により前記第2のメモリに書き込まれた画像データを前記画像処理手段が実行する画像処理に応じた順序で読み出して当該画像処理手段に供給する第2の読出手段とを備え、前記第1の書込手段は、入力された前記画像データの第1の行を決められた分割単位で分割してなる複数列の分割画像データの各々を、連続する分割画像データが前記第1のメモリの互いに異なるメモリバンクにそれぞれ記憶されるように書き込むとともに、当該画像データの前記第1の行と隣り合う第2の行を前記分割単位で分割してなる複数列の分割画像データの各々を、前記第1の行において同列に相当する分割画像データが記憶されたメモリバンクと異なるメモリバンクに記憶され、かつ、連続する分割画像データが前記第1のメモリの互いに異なるメモリバンクにそれぞれ記憶されるように書き込み、前記第1の読出手段は、前記画像データにおいて行方向または列方向に連続する前記分割画像データを連続的に読み出す画像処理装置を提供する。
なお、この画像処理装置において、前記第1のメモリは前記第2のメモリよりも多くのデータを記憶可能であり、前記第2のメモリは前記第1のメモリよりも高速にデータの書き込みおよび読み出しが可能である構成であることが望ましい。さらに、前記第1のメモリがDRAMであり、前記第2のメモリがSRAMであることが望ましい。
The present invention also provides a first memory having a plurality of memory banks capable of storing image data representing an array of pixels in a plurality of rows and a plurality of columns, and a first memory capable of storing the image data stored in the first memory. 2 memory, image processing means for performing predetermined image processing on image data stored in the second memory, first writing means for writing image data in the first memory, and the first memory First reading means for reading image data written to the first memory by writing means, and image data read from the first memory by the first reading means to the second memory A second writing means for writing, and the image data written in the second memory by the second writing means in the order according to the image processing executed by the image processing means, Second to supply Reading means, wherein the first writing means continuously divides each of the divided image data of a plurality of columns obtained by dividing the first row of the input image data by a predetermined division unit. A plurality of columns in which image data is written so as to be stored in different memory banks of the first memory, and a second row adjacent to the first row of the image data is divided by the division unit. Each of the divided image data is stored in a memory bank different from the memory bank in which the divided image data corresponding to the same column in the first row is stored, and continuous divided image data is stored in each other in the first memory. The first reading means writes the divided image data continuous in the row direction or the column direction in the image data continuously so as to be stored in different memory banks. To provide an image processing apparatus for reading the.
In this image processing apparatus, the first memory can store more data than the second memory, and the second memory can write and read data at a higher speed than the first memory. It is desirable that the configuration be capable of. Further, it is desirable that the first memory is a DRAM and the second memory is an SRAM.

このようなメモリ制御装置や画像処理装置によれば、行方向および列方向に連続的に読み出される分割画像データが、互いに異なるメモリバンクに記憶される。そのため、行方向および列方向のいずれについても効率的に画像データの読み出しが可能となり、いわゆる「横読み(行方向の連続読み出し)」と「縦読み(列方向の連続読み出し)」の双方を高速に行うことができる。また、このメモリ制御装置や画像処理装置は、画像処理を実行するブロックの単位が特に限定されないので、実行する画像処理が異なるさまざまな画像処理装置に対して適用可能である。
なお、上述のメモリ制御装置および画像処理装置においては、前記画像データにおいて行方向または列方向に連続する前記分割画像データを連続的に読み出す、とあるが、行方向または列方向に連続する分割画像データの全てを1回で読み出すとは限らず、例えば、第1の行の行方向に連続する2つの分割画像データを連続的に読み出し、その後、第2の行の行方向に連続する2つの分割画像データを連続的に読み出す、といった動作であってもよい。
According to such a memory control device and image processing device, the divided image data that are continuously read in the row direction and the column direction are stored in different memory banks. Therefore, it is possible to efficiently read image data in both the row direction and the column direction, and so-called “horizontal reading (continuous reading in the row direction)” and “vertical reading (continuous reading in the column direction)” are performed at high speed. Can be done. Further, the memory control device and the image processing device are not particularly limited in units of blocks for executing image processing, and therefore can be applied to various image processing devices having different image processing to be executed.
In the memory control device and the image processing device described above, the divided image data continuous in the row direction or the column direction is continuously read out from the image data. However, the divided image continuous in the row direction or the column direction is used. It is not always possible to read out all of the data at once. For example, two pieces of divided image data continuous in the row direction of the first row are read out continuously, and then two pieces of continuous data in the row direction of the second row are read. An operation of continuously reading the divided image data may be performed.

さらに、本発明は、メモリ制御装置が画像処理装置に画像データを供給するためのメモリ制御方法や、この方法を実現するためのプログラムとしても提供され得るものである。すなわち、本発明は、メモリ制御装置が、複数行複数列の画素の配列を表す画像データを記憶可能な複数のメモリバンクを有するメモリを用いて、当該画像データを所定の画像処理を実行する画像処理装置に供給するために行うメモリ制御方法であって、入力された前記画像データの第1の行を決められた分割単位で分割してなる複数列の分割画像データの各々を、連続する分割画像データが前記メモリの互いに異なるメモリバンクにそれぞれ記憶されるように書き込む第1のステップと、前記入力された画像データの前記第1の行と隣り合う第2の行を前記分割単位で分割してなる複数列の分割画像データの各々を、前記第1の行において同列に相当する分割画像データが記憶されたメモリバンクと異なるメモリバンクに記憶され、かつ、連続する分割画像データが互いに異なるメモリバンクにそれぞれ記憶されるように書き込む第2のステップと、前記第1および第2のステップにおいて前記メモリに書き込まれた分割画像データを読み出して、前記画像処理装置が実行する画像処理に応じた順序で供給するステップであって、前記画像データにおいて行方向または列方向に連続する前記分割画像データを連続的に読み出す第3のステップとを有するメモリ制御方法や、この方法を実現するためのプログラムとしても特定され得るものである。   Furthermore, the present invention can be provided as a memory control method for the memory control device to supply image data to the image processing device, and a program for realizing the method. That is, according to the present invention, an image in which a memory control device performs predetermined image processing on the image data using a memory having a plurality of memory banks capable of storing image data representing an array of pixels of a plurality of rows and a plurality of columns. A memory control method for supplying to a processing device, wherein each of divided image data of a plurality of columns obtained by dividing a first row of input image data by a predetermined division unit is divided continuously A first step of writing the image data so as to be stored in different memory banks of the memory, and a second row adjacent to the first row of the input image data are divided in the division unit. Each of the plurality of columns of divided image data is stored in a memory bank different from the memory bank in which the divided image data corresponding to the same column in the first row is stored, and A second step of writing so that subsequent divided image data is stored in different memory banks, and reading out the divided image data written in the memory in the first and second steps; And a third step of continuously reading out the divided image data that is continuous in a row direction or a column direction in the image data. It can also be specified as a program for realizing this method.

以下、本発明の実施の形態について図面を参照しながら説明する。なお、以下に示す実施形態においては、「画像データ」は点順次形式で入力される1画素当たり32ビットのデータであるとする。この画像データは、上位8ビットは画像処理装置が行う画像処理とは無関係なダミーデータ等のデータ(以下「0データ」という。)であり、残りの24ビットは、R(レッド)、G(グリーン)およびB(ブルー)の各色についての8ビットの色成分(以下、それぞれ「Rデータ」、「Gデータ」および「Bデータ」という。)であるとする。また、以下に示す実施形態においては、1ワードは16ビットであるとする。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the embodiment described below, it is assumed that “image data” is 32-bit data per pixel input in a dot sequential format. In the image data, the upper 8 bits are data such as dummy data (hereinafter referred to as “0 data”) irrelevant to the image processing performed by the image processing apparatus, and the remaining 24 bits are R (red), G ( It is assumed that they are 8-bit color components (hereinafter referred to as “R data”, “G data”, and “B data”, respectively) for each color of green and B (blue). In the embodiment described below, it is assumed that one word is 16 bits.

[構成]
図1は、本発明の一実施形態である画像処理装置100の構成を概略的に示したブロック図である。同図に示すように、画像処理装置100は、DRAM10と、SRAM20と、画像処理部30と、SRAM40と、DRAM50と、メモリ制御部60とを備える。なお、同図において、破線で示した矢印は画像データの転送経路を示している。画像データは、図示せぬ上位装置から図示せぬ入出力インターフェースを介して入力される。
[Constitution]
FIG. 1 is a block diagram schematically showing the configuration of an image processing apparatus 100 according to an embodiment of the present invention. As shown in the figure, the image processing apparatus 100 includes a DRAM 10, an SRAM 20, an image processing unit 30, an SRAM 40, a DRAM 50, and a memory control unit 60. In the figure, the arrow indicated by a broken line indicates the transfer path of the image data. Image data is input from a host device (not shown) via an input / output interface (not shown).

DRAM10および50は、それぞれ、物理的あるいは論理的に4個に区分されるメモリセルアレイを有するいわゆる4バンク構成のメモリである。DRAM10および50のそれぞれのメモリセルは、キャパシタに蓄積された電荷により2値情報を保持する。DRAM10および50はその位置が異なるのみであって、具体的な構成に差異はない。なお、本実施形態においては、説明の便宜上、DRAM10および50はクロック信号に同期して動作するSDRAM(Synchronous DRAM)であり、そのバースト長は「8(ワード)」であるとする。また、以下においては、物理的あるいは論理的に区分されるメモリセルアレイのそれぞれを「(メモリ)バンク」といい、「バンク0」、「バンク1」、「バンク2」、「バンク3」と記載して各メモリバンクを区別する。   The DRAMs 10 and 50 are so-called four-bank memories each having a memory cell array physically or logically divided into four. Each of the memory cells of the DRAMs 10 and 50 holds binary information by the electric charge accumulated in the capacitor. The DRAMs 10 and 50 differ only in their positions, and there is no difference in specific configuration. In the present embodiment, for convenience of explanation, it is assumed that the DRAMs 10 and 50 are SDRAMs (Synchronous DRAMs) that operate in synchronization with a clock signal, and the burst length thereof is “8 (words)”. In the following, each of the memory cell arrays physically or logically divided is referred to as “(memory) bank”, and is described as “bank 0”, “bank 1”, “bank 2”, and “bank 3”. Thus, each memory bank is distinguished.

SRAM20および40は、それぞれフリップフロップにより2値情報を保持するメモリである。SRAM20および40は上述のDRAM10および50よりも高速にデータを読み出し、あるいは書き込むことが可能であるが、その容量はDRAM10および50よりも小さく構成されている。なお、SRAM20および40はその位置が異なるのみであって、具体的な構成に差異はない。   The SRAMs 20 and 40 are memories that hold binary information by flip-flops. The SRAMs 20 and 40 can read or write data at a higher speed than the DRAMs 10 and 50 described above, but have a smaller capacity than the DRAMs 10 and 50. Note that the SRAMs 20 and 40 differ only in their positions, and there is no difference in the specific configuration.

画像処理部30は、複数のラインメモリと、フィルタ処理やブロック処理等の所定の画像処理を実行するためのASIC(Application Specific Integrated Circuit)とを備える。画像処理部30が行う画像処理は任意であり、ラインメモリの数は画像処理部30が行う画像処理の態様に応じて異なるが、本実施形態においては、画像処理部30は5×5画素の画像データを用いたフィルタ処理を行うものとし、4ライン分のラインメモリを有するとする。   The image processing unit 30 includes a plurality of line memories and an ASIC (Application Specific Integrated Circuit) for executing predetermined image processing such as filter processing and block processing. The image processing performed by the image processing unit 30 is arbitrary, and the number of line memories varies depending on the mode of image processing performed by the image processing unit 30, but in the present embodiment, the image processing unit 30 has 5 × 5 pixels. It is assumed that filter processing using image data is performed and a line memory for four lines is provided.

メモリ制御部60は、上述のDRAM10、50およびSRAM20、40の読み出しと書き込みに関する動作を制御するLSI(Large Scale Integration)等を備える。メモリ制御部60は読み出しあるいは書き込みを行うデータのアドレスを所定の演算により発生させ、各メモリ間のデータ転送を制御する。   The memory control unit 60 includes an LSI (Large Scale Integration) that controls operations related to reading and writing of the DRAMs 10 and 50 and the SRAMs 20 and 40 described above. The memory control unit 60 generates an address of data to be read or written by a predetermined calculation, and controls data transfer between the memories.

[動作]
以上の構成のもと、画像処理装置100は図示せぬ外部装置から入力された画像データにフィルタ処理を行い、処理後の画像データを出力する。画像データは図1において破線で示した矢印に沿って転送されるので、DRAM10およびSRAM20には処理前の画像データが記憶され、SRAM40およびDRAM50には処理後の画像データが記憶されることになる。以下では、画像処理装置100が実行する各種動作について具体的に説明する。
[Operation]
With the above configuration, the image processing apparatus 100 performs a filtering process on image data input from an external apparatus (not shown), and outputs the processed image data. Since the image data is transferred along the arrow indicated by the broken line in FIG. 1, the image data before processing is stored in the DRAM 10 and the SRAM 20, and the image data after processing is stored in the SRAM 40 and the DRAM 50. . Hereinafter, various operations executed by the image processing apparatus 100 will be specifically described.

なお、本実施形態の画像処理装置100は、いわゆるバンディングにより画像処理を行う。ここでバンディングとは、画像データを所定の矩形領域(バンド)で分割し、分割した領域毎に画像処理を実行する方式のことである。ここでは、バンドの行方向のサイズ(以下「バンド長さ」という。)は画像データの行方向のサイズに一致するものとし、バンドの列方向のサイズ(以下「バンド高さ」という。)は「5(画素)」であるとする。   Note that the image processing apparatus 100 according to the present embodiment performs image processing by so-called banding. Here, banding is a method of dividing image data into predetermined rectangular areas (bands) and executing image processing for each divided area. Here, the size of the band in the row direction (hereinafter referred to as “band length”) is the same as the size of the image data in the row direction, and the size of the band in the column direction (hereinafter referred to as “band height”). It is assumed that “5 (pixel)”.

(1)DRAM10への書き込み動作
はじめに、画像処理装置100のメモリ制御部60がDRAM10に画像データを書き込むときの動作を説明する。図2は、メモリ制御部60が画像データをDRAM10に書き込むために生成するアドレスを説明するために示した画像データの模式図である。同図に示すように、メモリ制御部60は、画像データの奇数行目のデータについてはバンク0とバンク1を指定するアドレスを交互に生成し、偶数行目のデータについてはバンク2とバンク3を指定するアドレスを交互に生成する。本実施形態においてはバースト長が「8」であるから、1回の書き込み動作で8ワード分の画像データが書き込まれる。画像データは各画素が32ビット、すなわち2ワード分に相当するので、バンク0には1回のバースト転送で4画素分の画像データが順次記憶され、バンク1にはバンク0に直前に書き込まれた画像データに連続する4画素分の画像データが順次記憶される。また、同様の要領で、バンク2およびバンク3にも4画素分の画像データが順次記憶される。なお、画像データが各メモリバンクに記憶されるときの具体的なアドレスは特に限定されないが、順次記憶される画像データがメモリバンク内において互いに連続するように記憶されるのが望ましい。
(1) Write Operation to DRAM 10 First, an operation when the memory control unit 60 of the image processing apparatus 100 writes image data to the DRAM 10 will be described. FIG. 2 is a schematic diagram of the image data shown to explain the address generated for the memory control unit 60 to write the image data to the DRAM 10. As shown in the figure, the memory control unit 60 alternately generates addresses specifying bank 0 and bank 1 for the odd-numbered data of the image data, and bank 2 and bank 3 for the even-numbered data. Addresses that specify are generated alternately. In this embodiment, since the burst length is “8”, image data for 8 words is written in one writing operation. Since the image data corresponds to 32 bits for each pixel, that is, 2 words, image data for 4 pixels is sequentially stored in bank 0 by one burst transfer, and bank 1 is immediately written in bank 0. The image data for four pixels continuous to the image data is sequentially stored. In the same manner, the image data for four pixels are sequentially stored in the bank 2 and the bank 3 as well. The specific address when the image data is stored in each memory bank is not particularly limited, but it is desirable that the sequentially stored image data be stored so as to be continuous with each other in the memory bank.

このようにしてメモリ制御部60は画像データの1行目から順次アドレスを生成し、このアドレスにより特定される記憶領域に画像データを記憶させる。その結果、画像データは4画素(すなわち8ワード)毎に分割されてDRAM10のメモリバンクに記憶される。このバースト長に相当する単位で構成された画像データのことを、以下では「分割画像データ」という。図2に示されているように、隣り合う分割画像データは、いずれも、行方向と列方向のいずれについても同一のメモリバンクに記憶されないようになっている。このように分割画像データを記憶するのは、後述する読み出し動作を高速に行うことを可能にするためである。   In this way, the memory control unit 60 sequentially generates addresses from the first line of the image data, and stores the image data in the storage area specified by this address. As a result, the image data is divided every 4 pixels (that is, 8 words) and stored in the memory bank of the DRAM 10. Hereinafter, the image data configured in units corresponding to the burst length is referred to as “divided image data”. As shown in FIG. 2, the adjacent divided image data are not stored in the same memory bank in either the row direction or the column direction. The reason why the divided image data is stored in this way is to enable a read operation described later to be performed at high speed.

(2)DRAM10からの読み出し動作
続いて、画像処理装置100のメモリ制御部60がDRAM10に記憶された画像データを読み出すときの動作を説明する。メモリ制御部60は、各メモリバンクに記憶された分割画像データの連続する8ワード分(すなわち4画素分)を1回のバースト転送で読み出し、この動作をもとの画像データの5行分について行う、という処理を1サイクルとし、このサイクルを繰り返すことにより画像データ全体を読み出す。
(2) Reading Operation from DRAM 10 Next, an operation when the memory control unit 60 of the image processing apparatus 100 reads image data stored in the DRAM 10 will be described. The memory control unit 60 reads the continuous 8 words (that is, 4 pixels) of the divided image data stored in each memory bank by one burst transfer, and this operation is performed for 5 lines of the original image data. The process of performing is one cycle, and the entire image data is read by repeating this cycle.

図3は、このときメモリ制御部60が行う読み出し動作と従来の読み出し動作とを示したタイミングチャートである。また、図4は、図3(a)に示したタイミングチャートに従って読み出される分割画像データのもとの画像データにおける位置を示した図である。なお、この読み出し動作において、CASレイテンシは「2.5」であるとする。また、図3において、「CLK」はクロック信号、「Command」は入力されるコマンド、「Address」は選択されたアドレス、「Data」は読み出されるデータをそれぞれ示している。そして、図3(a)に示した矢印はメモリバンクの切り替えタイミングを表している。例えば、図3(a)の6クロック目に示した矢印は、選択するメモリバンクをバンク0からバンク1に切り替えていることを表している。つまり、この切り替えの前後では、バンク0に対するリード・コマンド(read)の入力後に選択するメモリバンクをバンク1に切り替え、バンク1に対するアクティブ・コマンド(ACT)を入力する、という動作が行われる。   FIG. 3 is a timing chart showing a read operation performed by the memory control unit 60 at this time and a conventional read operation. FIG. 4 is a diagram showing the position in the original image data of the divided image data read according to the timing chart shown in FIG. In this read operation, the CAS latency is assumed to be “2.5”. In FIG. 3, “CLK” indicates a clock signal, “Command” indicates an input command, “Address” indicates a selected address, and “Data” indicates data to be read. The arrow shown in FIG. 3A represents the memory bank switching timing. For example, the arrow shown at the sixth clock in FIG. 3A indicates that the memory bank to be selected is switched from bank 0 to bank 1. That is, before and after this switching, an operation is performed in which the memory bank selected after inputting the read command (read) for bank 0 is switched to bank 1 and the active command (ACT) for bank 1 is input.

図3(a)に示すように、バンク0の行アドレス(ROW0)と列アドレス(COL0)とを選択してバンク0の分割画像データを読み出す旨のコマンド(read)を入力し、その直後に、メモリバンクを切り替えてバンク1に対して同様の動作を行うと、バンク0に記憶されたデータ(00〜07)を読み出した直後にバンク1に記憶されたデータ(10〜17)を読み出すことができる。また、同様の要領で、バンク1に記憶されたデータ(10〜17)を読み出した直後にバンク2に記憶されたデータ(20〜27)を読み出し、バンク2に記憶されたデータ(20〜27)を読み出した直後にバンク3に記憶されたデータ(30〜37)を読み出すことができる。これにより、図4に示すように、もとの画像データの2行分に相当する分割画像データが連続的に読み出されることとなる。   As shown in FIG. 3A, a command (read) for selecting the row address (ROW0) and column address (COL0) of bank 0 and reading the divided image data of bank 0 is input, and immediately thereafter. When the same operation is performed on the bank 1 after switching the memory bank, the data (10-17) stored in the bank 1 is read immediately after the data (00-07) stored in the bank 0 is read out. Can do. In the same manner, the data (20 to 27) stored in the bank 2 is read immediately after the data (10 to 17) stored in the bank 1 is read, and the data (20 to 27) stored in the bank 2 is read out. ), The data (30 to 37) stored in the bank 3 can be read out immediately after reading out. As a result, as shown in FIG. 4, the divided image data corresponding to two lines of the original image data is continuously read out.

そして、図5において矢印で示すように、この動作を1行目のバンク0→1行目のバンク1→2行目のバンク2→2行目のバンク3→3行目のバンク0→…→5行目のバンク1、といった具合にバンド高さに相当するだけ繰り返すと、フィルタ処理に必要な画素を含む分割画像データを全て読み出すことができる。図5から明らかなように、分割画像データの読み出しに際しては、同一のメモリバンクの分割画像データを繰り返し読み出すことなく、読み出すメモリバンクを順次切り替えることが可能となっている。そのため、データの読み出しが行われない時間を生じさせることなく、必要なデータを効率的に読み出すことが可能となっている。これに対して、図3(b)に示すようにメモリバンクを切り替えずに他の行のデータを読み出そうとすると、データの読み出しが連続的にならず、遅延が生じる。これは、同一のメモリバンク内で異なる行のメモリセルにアクセスしようとした場合には、プリチャージ・コマンド(図示しない)を入力するまでは新たなアクティブ・コマンドを入力することができないからである。   Then, as shown by an arrow in FIG. 5, this operation is performed by bank 0 in the first row → bank 1 in the first row → bank 2 in the second row → bank 3 in the second row → bank 0 in the third row →. → By repeating the process corresponding to the band height, such as bank 1 in the fifth row, all of the divided image data including the pixels necessary for the filter processing can be read out. As can be seen from FIG. 5, when reading the divided image data, it is possible to sequentially switch the memory banks to be read without repeatedly reading the divided image data of the same memory bank. Therefore, it is possible to efficiently read out necessary data without causing a time during which no data is read. On the other hand, as shown in FIG. 3B, when data in another row is read without switching the memory bank, the data reading is not continuous and a delay occurs. This is because when a memory cell in a different row is accessed in the same memory bank, a new active command cannot be input until a precharge command (not shown) is input. .

(3)SRAM20への書き込み・読み出し動作
続いて、画像処理装置100のメモリ制御部60がDRAM10から読み出された画像データをSRAM20に書き込み、これを読み出すときの動作を説明する。まず、メモリ制御部60は、画像データをDRAM10から読み出した順に逐次SRAM20に記憶させる。すなわち、メモリ制御部60は、読み出された画像データが順次SRAM20に記憶されるようなアドレスを演算により発生させる。
(3) Writing / Reading Operation to / from SRAM 20 Next, the operation when the memory control unit 60 of the image processing apparatus 100 writes the image data read from the DRAM 10 to the SRAM 20 and reads the image data will be described. First, the memory control unit 60 sequentially stores the image data in the SRAM 20 in the order read from the DRAM 10. That is, the memory control unit 60 generates an address by which the read image data is sequentially stored in the SRAM 20 by calculation.

図6は、このときSRAM20に記憶されるデータを示した模式図である。なお、同図において、各データに付された「00」、「01」、「02」等の番号は図3(a)や図4に示したデータとの対応を示すものであり、各データはそれぞれ1ワード分のデータ容量を有している。画像データが点順次形式で入力される32ビットのデータであることから、各データは「0データとRデータ」あるいは「GデータとBデータ」の1つのまとまりを構成している。つまり、データ「00」と「01」で1つの画素を構成し、以下同様に、連続する2ワード分のデータが1つの画素を構成している。   FIG. 6 is a schematic diagram showing data stored in the SRAM 20 at this time. In the figure, the numbers such as “00”, “01”, “02” attached to each data indicate the correspondence with the data shown in FIG. Each has a data capacity of one word. Since the image data is 32-bit data input in a dot sequential format, each data constitutes one set of “0 data and R data” or “G data and B data”. That is, data “00” and “01” constitute one pixel, and similarly, data of two consecutive words constitute one pixel.

また、画像処理部30は、各色の色成分毎に画像処理を行う。すなわち、Rデータ、GデータおよびBデータのそれぞれを5×5画素分用いて3回のフィルタ処理を行うことで、このブロックに対する処理を行う。そのため、メモリ制御部60は、各色の色成分毎に5×5画素分のデータを順次画像処理部30に供給するべくSRAM20からデータを読み出す。   The image processing unit 30 performs image processing for each color component of each color. That is, the processing for this block is performed by performing filtering processing three times using 5 × 5 pixels for each of R data, G data, and B data. Therefore, the memory control unit 60 reads data from the SRAM 20 to sequentially supply data for 5 × 5 pixels to the image processing unit 30 for each color component of each color.

図7は、メモリ制御部60がSRAM20からデータを読み出す手順を説明するための図である。同図において、図7(a)、(b)および(c)は、それぞれ、Rデータ、GデータおよびBデータを読み出す手順を示している。図7(a)に示すように、Rデータを読み出す場合には、メモリ制御部60はデータ「00」のうちのRデータに相当するデータを読み出す。すなわち、このときメモリ制御部60はデータ「00」の下位8ビットを読み出すべくアドレスを発生させる。そして、メモリ制御部60は、直前に読み出すために指定したアドレスに24ビット分を加算したアドレスを指定することにより、隣接する次の画素に相当するRデータ、すなわちデータ「02」の下位8ビットを読み出す。メモリ制御部60は同様の動作を第1行に相当する5画素分のRデータについて行い、5画素分のRデータを読み出す。その後、メモリ制御部60は第2行〜第5行のRデータを同様の要領で読み出し、最終的に5×5画素分のRデータを画像処理部30に供給する。そして、画像処理部30はこのRデータをラインメモリに格納するなどし、フィルタ処理を実行する。   FIG. 7 is a diagram for explaining a procedure by which the memory control unit 60 reads data from the SRAM 20. 7A, 7B, and 7C show procedures for reading R data, G data, and B data, respectively. As illustrated in FIG. 7A, when reading R data, the memory control unit 60 reads data corresponding to the R data of the data “00”. That is, at this time, the memory control unit 60 generates an address to read out the lower 8 bits of the data “00”. Then, the memory control unit 60 designates an address obtained by adding 24 bits to the address designated for reading immediately before, so that the R data corresponding to the next adjacent pixel, that is, the lower 8 bits of the data “02” Is read. The memory control unit 60 performs the same operation on the R data for five pixels corresponding to the first row, and reads the R data for five pixels. Thereafter, the memory control unit 60 reads the R data in the second to fifth rows in the same manner, and finally supplies the R data for 5 × 5 pixels to the image processing unit 30. Then, the image processing unit 30 executes the filtering process by storing the R data in the line memory.

続いて、メモリ制御部60はGデータおよびBデータをSRAM20から読み出す動作を実行する。これらの動作も、上述したRデータの読み出し動作とほぼ同様の手順にて行われる。しかしながら、図7(b)および(c)に示すように、データの読み出しに際して指定するアドレスは当然異なる。メモリ制御部60は、Gデータを読み出すときには、データ「01」、「03」、「05」等の上位8ビットを読み出すためのアドレスを指定し、Bデータを読み出すときには、データ「01」、「03」、「05」等の下位8ビットを読み出すためのアドレスを指定する。そして、このようにして読み出された5×5画素分のGデータとBデータとを、それぞれ画像処理部30に供給する。   Subsequently, the memory control unit 60 executes an operation of reading G data and B data from the SRAM 20. These operations are also performed in substantially the same procedure as the R data reading operation described above. However, as shown in FIGS. 7 (b) and 7 (c), the addresses designated for data reading are naturally different. When reading the G data, the memory control unit 60 designates an address for reading the upper 8 bits of data “01”, “03”, “05”, etc., and when reading the B data, the data “01”, “ Designates an address for reading out the lower 8 bits such as “03” and “05”. Then, the G data and B data for 5 × 5 pixels read out in this way are supplied to the image processing unit 30.

(4)画像処理の実行後の動作
続いて、画像処理部30がフィルタ処理を行った後の画像データの取り扱いを説明する。画像処理部30が出力したデータは、SRAM40に書き込まれ、その後、DRAM50に書き込まれる。このときメモリ制御部60が行う読み出し・書き込み動作については、画像データが画像処理装置100から出力された後に行われる後段の処理に応じて決定すればよい。例えば、画像データを画像処理装置100に入力されたときと同じ形式で出力するのであれば、DRAM10およびSRAM20において行った動作を逆の手順で行うことによって、フィルタ処理後の画像データをDRAM10に記憶された形式と同一の形式でDRAM50に記憶させることが可能である。もっとも、メモリ制御部60の読み出し・書き込み動作は特に上述の例に限定されるものではなく、画像処理装置100からの出力の態様に適合するようなものであればよい。
(4) Operation after Execution of Image Processing Next, the handling of image data after the image processing unit 30 performs the filter processing will be described. Data output from the image processing unit 30 is written into the SRAM 40 and then written into the DRAM 50. At this time, the read / write operation performed by the memory control unit 60 may be determined according to the subsequent processing performed after the image data is output from the image processing apparatus 100. For example, if the image data is output in the same format as when it is input to the image processing apparatus 100, the image data after filtering is stored in the DRAM 10 by performing the operations performed in the DRAM 10 and the SRAM 20 in the reverse procedure. It is possible to store the same in the DRAM 50 in the same format. However, the read / write operation of the memory control unit 60 is not particularly limited to the above-described example, and may be any as long as it matches the output mode from the image processing apparatus 100.

[効果]
以上に説明したように、本実施形態の画像処理装置100によれば、隣り合う分割画像データのそれぞれがいずれも同一のメモリバンクに記憶されないように分割画像データを書き込むことにより、分割画像データを連続的に読み出すことを可能としている。これにより、画像処理装置100は、画像処理部30に効率的にデータを供給することが可能となる。また、この画像処理装置100によれば、ある行の画像データ全体を読み出すときであっても、2つメモリバンクを切り替えながら順次読み出すことができるので、いわゆる横読みを高速に行うことが可能である。さらに、この画像処理装置100によれば、画像データの複数行の読み出しをそれらの行全体を読み出すことなく、かつ高速に行うことができる。そのため、この画像処理装置100によれば、主としてDRAMを用いた比較的安価な構成であっても、いわゆる縦読みを高速に行うことが可能である。
[effect]
As described above, according to the image processing apparatus 100 of the present embodiment, the divided image data is written by writing the divided image data so that none of the adjacent divided image data is stored in the same memory bank. It is possible to read continuously. As a result, the image processing apparatus 100 can efficiently supply data to the image processing unit 30. Further, according to the image processing apparatus 100, even when reading out the entire image data of a certain row, it is possible to read out sequentially while switching the two memory banks, so that so-called horizontal reading can be performed at high speed. is there. Furthermore, according to this image processing apparatus 100, it is possible to read out a plurality of lines of image data at high speed without reading out the entire lines. Therefore, according to this image processing apparatus 100, so-called vertical reading can be performed at high speed even with a relatively inexpensive configuration mainly using a DRAM.

また、本実施形態の画像処理装置100は、DRAM10からの読み出し動作を変更することにより、種々の画像処理に適用することが可能である。例えば、画像処理部30が行う処理が3×3画素の画像データを用いたフィルタ処理であるとすれば、図8に矢印で示すように3行分の分割画像データを列方向に連続的に読み出せばよい。また、例えば、画像処理部30が行う処理が8×8画素の画像データを用いたブロック処理であるとすれば、図9に矢印で示すように、もとの画像データにおいて行方向に連続する2つの分割画像データを連続的に読み出す動作を8行分行えばよい。   Further, the image processing apparatus 100 according to the present embodiment can be applied to various image processing by changing the reading operation from the DRAM 10. For example, if the process performed by the image processing unit 30 is a filter process using image data of 3 × 3 pixels, the divided image data for three rows are continuously displayed in the column direction as indicated by arrows in FIG. Read it out. For example, if the processing performed by the image processing unit 30 is block processing using 8 × 8 pixel image data, the original image data continues in the row direction as indicated by arrows in FIG. 9. The operation of continuously reading the two divided image data may be performed for eight rows.

[変形例]
以上の説明においては、本発明の一の好適な実施形態を例示したが、本発明は上述の実施形態に限定されるものではなく、その他の種々の態様にて実施することが可能である。本発明においては、例えば、上述した実施形態に対して以下のような変形を適用することができる。なお、これらの変形は、各々を適宜に組み合わせることも可能である。
[Modification]
In the above description, one preferred embodiment of the present invention has been illustrated, but the present invention is not limited to the above-described embodiment, and can be implemented in various other modes. In the present invention, for example, the following modifications can be applied to the above-described embodiment. These modifications can be combined as appropriate.

上述の実施形態においては、説明の便宜上、ワード長やバースト長等を限定したが、本発明は上述した例に限らず、画像処理装置やこれを搭載するコンピュータの仕様に応じた種々の値を用いることが可能である。また、画像データも32ビットのいわゆるRGBデータに限らず、上述の0データを含まない24ビットのRGBデータであってもよいし、輝度成分(Y)のみからなる画像データや、輝度成分と色差成分(Cb、Cr)からなる画像データであってもよい。また、画像データは点順次形式に限らず、面順次形式であってもよい。   In the above-described embodiment, the word length, burst length, and the like are limited for the sake of convenience of explanation. It is possible to use. Also, the image data is not limited to so-called RGB data of 32 bits, and may be 24-bit RGB data not including the above-described 0 data, or image data consisting of only the luminance component (Y), or luminance component and color difference. It may be image data composed of components (Cb, Cr). Further, the image data is not limited to the dot sequential format but may be a frame sequential format.

また、上述の実施形態においては、DRAM10および50をシンクロナスDRAM(SDRAM)であるとしたが、非同期のDRAMを用いることも可能である。非同期のDRAMを用いる場合、制御信号の論理レベルの組み合わせにより上述のコマンドに相当する機能を実現することができる。   In the above-described embodiment, the DRAMs 10 and 50 are synchronous DRAMs (SDRAMs), but asynchronous DRAMs can also be used. When an asynchronous DRAM is used, a function corresponding to the above-described command can be realized by a combination of logic levels of control signals.

また、上述の実施形態においては、DRAM10と画像処理部30の間にSRAM20を設けたが、本発明はこのSRAM20を設けない構成においても適用できる場合がある。つまり、画像データの形式や画像処理装置100各部の仕様次第では、DRAM10から読み出された画像データをその読み出された順序で画像処理部30に供給することも可能である。例えば、画像処理部が供給された画像データを展開して必要なデータを選択可能な構成であれば、SRAM20に相当するメモリは不要となる。   In the above-described embodiment, the SRAM 20 is provided between the DRAM 10 and the image processing unit 30, but the present invention may be applied to a configuration in which the SRAM 20 is not provided. That is, depending on the format of the image data and the specifications of each part of the image processing apparatus 100, the image data read from the DRAM 10 can be supplied to the image processing unit 30 in the read order. For example, if the image processing unit is configured to be able to expand the supplied image data and select necessary data, a memory corresponding to the SRAM 20 is not necessary.

また、上述の実施形態においては、DRAM10を4バンク構成としたが、メモリバンクの数は2以上であればいくつであってもよい。例えば、DRAMがバンク0とバンク1の2バンク構成であるとすれば、図10に示すように、連続する分割画像データが互いに異なるメモリバンクに記憶され、かつ、もとの画像データにおいて、隣り合う行において同列に相当する分割画像データが互いに異なるメモリバンクに記憶されるように画像データを書き込むことにより、もとの画像データの行方向と列方向のいずれについても連続的に読み出すことができ、複数行に渡る分割画像データの集合を高速に読み出すことが可能となる。   In the above-described embodiment, the DRAM 10 has a four-bank configuration. However, the number of memory banks may be any number as long as it is two or more. For example, if the DRAM has a two-bank configuration of bank 0 and bank 1, as shown in FIG. 10, continuous divided image data is stored in different memory banks, and adjacent to the original image data. By writing the image data so that the divided image data corresponding to the same column in different rows is stored in different memory banks, the original image data can be continuously read out in both the row direction and the column direction. Thus, a set of divided image data over a plurality of lines can be read at high speed.

また、上述の実施形態においては、メモリ制御部60はLSI等により構成されると説明したが、メモリ制御部60に相当する機能を実現するプログラムによってこのメモリ制御部を構成することも可能である。すなわち、本発明は、上述の画像処理装置やメモリ制御部(メモリ制御装置)としてのみならず、メモリ制御部の機能を実現するプログラムとしても特定され得るものである。また、同様に、本発明はメモリ制御部が行うメモリの制御方法としても特定され得るものである。   In the above-described embodiment, it has been described that the memory control unit 60 is configured by an LSI or the like. However, the memory control unit can be configured by a program that realizes a function corresponding to the memory control unit 60. . That is, the present invention can be specified not only as the above-described image processing device and memory control unit (memory control device) but also as a program that realizes the function of the memory control unit. Similarly, the present invention can also be specified as a memory control method performed by the memory control unit.

本発明の一実施形態である画像処理装置の構成を示したブロック図である。1 is a block diagram illustrating a configuration of an image processing apparatus according to an embodiment of the present invention. 画像処理装置のメモリ制御部が画像データをDRAMに書き込むために生成するアドレスを説明するための図である。It is a figure for demonstrating the address produced | generated in order that the memory control part of an image processing apparatus may write image data in DRAM. 画像処理装置のメモリ制御部が行う読み出し動作と従来の読み出し動作とを示したタイミングチャートである。5 is a timing chart showing a read operation performed by a memory control unit of the image processing apparatus and a conventional read operation. 図3(a)に示したタイミングチャートに従って読み出される分割画像データのもとの画像データにおける位置を示した図である。It is the figure which showed the position in the original image data of the divided image data read according to the timing chart shown to Fig.3 (a). 画像処理装置が分割画像データを読み出す順序を説明するための図である。It is a figure for demonstrating the order in which an image processing apparatus reads division image data. 画像処理装置のSRAMに記憶されるデータを示した模式図である。It is the schematic diagram which showed the data memorize | stored in SRAM of an image processing apparatus. 画像処理装置のメモリ制御部がSRAMからデータを読み出す手順を説明するための図である。It is a figure for demonstrating the procedure in which the memory control part of an image processing apparatus reads data from SRAM. 画像処理装置が行う読み出し動作の変形例を示した図である。It is the figure which showed the modification of the read-out operation | movement which an image processing apparatus performs. 画像処理装置が行う読み出し動作の変形例を示した図である。It is the figure which showed the modification of the read-out operation | movement which an image processing apparatus performs. 画像処理装置が行う書き込み動作の変形例を示した図である。It is the figure which showed the modification of the write-in operation which an image processing apparatus performs.

符号の説明Explanation of symbols

100…画像処理装置、10、50…DRAM、20、40…SRAM、30…画像処理部、60…メモリ制御部 DESCRIPTION OF SYMBOLS 100 ... Image processing apparatus 10, 50 ... DRAM, 20, 40 ... SRAM, 30 ... Image processing part, 60 ... Memory control part

Claims (9)

複数行複数列の画素の配列を表す画像データを記憶可能な複数のメモリバンクを有するメモリを用いて、当該画像データを所定の画像処理を実行する画像処理装置に供給するために行うメモリ制御方法であって、
入力された前記画像データの第1の行を決められた分割単位で分割してなる複数列の分割画像データの各々を、連続する分割画像データが前記メモリの互いに異なるメモリバンクにそれぞれ記憶されるように書き込む第1のステップと、
前記入力された画像データの前記第1の行と隣り合う第2の行を前記分割単位で分割してなる複数列の分割画像データの各々を、前記第1の行において同列に相当する分割画像データが記憶されたメモリバンクと異なるメモリバンクに記憶され、かつ、連続する分割画像データが互いに異なるメモリバンクにそれぞれ記憶されるように書き込む第2のステップと、
前記第1および第2のステップにおいて前記メモリに書き込まれた分割画像データを読み出して、前記画像処理装置が実行する画像処理に応じた順序で供給するステップであって、前記画像データにおいて行方向または列方向に連続する前記分割画像データを連続的に読み出す第3のステップと
を有することを特徴とするメモリ制御方法。
A memory control method for using a memory having a plurality of memory banks capable of storing image data representing an array of pixels in a plurality of rows and a plurality of columns and supplying the image data to an image processing apparatus that performs predetermined image processing Because
Each of a plurality of columns of divided image data obtained by dividing the first row of the input image data by a predetermined division unit is stored in different memory banks of the memory. A first step of writing,
Each of divided image data of a plurality of columns obtained by dividing a second row adjacent to the first row of the input image data in the division unit is a divided image corresponding to the same column in the first row. A second step of writing such that the data is stored in a memory bank different from the memory bank in which the data is stored, and the successive divided image data are stored in different memory banks, respectively;
Reading out the divided image data written in the memory in the first and second steps and supplying the divided image data in an order according to the image processing executed by the image processing apparatus, wherein And a third step of continuously reading out the divided image data continuous in the column direction.
複数行複数列の画素の配列を表す画像データを記憶可能な複数のメモリバンクを有するメモリを介して、当該画像データを所定の画像処理を実行する画像処理装置に供給するためのメモリ制御装置であって、
前記メモリに前記画像データを書き込む書込手段と、
前記書込手段により前記メモリに書き込まれた画像データを読み出す読出手段と、
前記読出手段により前記メモリから読み出された画像データを前記画像処理装置が実行する画像処理に応じた順序で供給する供給手段とを備え、
前記書込手段は、
入力された前記画像データの第1の行を決められた分割単位で分割してなる複数列の分割画像データの各々を、連続する分割画像データが前記メモリの互いに異なるメモリバンクにそれぞれ記憶されるように書き込むとともに、当該画像データの前記第1の行と隣り合う第2の行を前記分割単位で分割してなる複数列の分割画像データの各々を、前記第1の行において同列に相当する分割画像データが記憶されたメモリバンクと異なるメモリバンクに記憶され、かつ、連続する分割画像データが互いに異なるメモリバンクにそれぞれ記憶されるように書き込み、
前記読出手段は、
前記画像データにおいて行方向または列方向に連続する前記分割画像データを連続的に読み出す
ことを特徴とするメモリ制御装置。
A memory control device for supplying image data to an image processing device that executes predetermined image processing via a memory having a plurality of memory banks capable of storing image data representing an array of pixels in a plurality of rows and columns. There,
Writing means for writing the image data into the memory;
Reading means for reading image data written in the memory by the writing means;
Supply means for supplying image data read from the memory by the reading means in an order according to image processing executed by the image processing apparatus;
The writing means includes
Each of a plurality of columns of divided image data obtained by dividing the first row of the input image data by a predetermined division unit is stored in different memory banks of the memory. Each of the plurality of columns of divided image data obtained by dividing the second row adjacent to the first row of the image data in the division unit corresponds to the same column in the first row. Write so that the divided image data is stored in a different memory bank from the memory bank in which the divided image data is stored, and the continuous divided image data is stored in different memory banks.
The reading means includes
The memory control device, wherein the divided image data continuous in the row direction or the column direction in the image data is continuously read out.
複数行複数列の画素の配列を表す画像データを記憶可能な複数のメモリバンクを有する第1のメモリと、
前記第1のメモリに記憶された画像データを記憶可能な第2のメモリと、
前記第2のメモリに記憶された画像データに所定の画像処理を行う画像処理手段と、
前記第1のメモリに画像データを書き込む第1の書込手段と、
前記第1の書込手段により前記第1のメモリに書き込まれた画像データを読み出す第1の読出手段と、
前記第1の読出手段により前記第1のメモリから読み出された画像データを前記第2のメモリに書き込む第2の書込手段と、
前記第2の書込手段により前記第2のメモリに書き込まれた画像データを前記画像処理手段が実行する画像処理に応じた順序で読み出して当該画像処理手段に供給する第2の読出手段とを備え、
前記第1の書込手段は、
入力された前記画像データの第1の行を決められた分割単位で分割してなる複数列の分割画像データの各々を、連続する分割画像データが前記第1のメモリの互いに異なるメモリバンクにそれぞれ記憶されるように書き込むとともに、当該画像データの前記第1の行と隣り合う第2の行を前記分割単位で分割してなる複数列の分割画像データの各々を、前記第1の行において同列に相当する分割画像データが記憶されたメモリバンクと異なるメモリバンクに記憶され、かつ、連続する分割画像データが前記第1のメモリの互いに異なるメモリバンクにそれぞれ記憶されるように書き込み、
前記第1の読出手段は、
前記画像データにおいて行方向または列方向に連続する前記分割画像データを連続的に読み出す
ことを特徴とする画像処理装置。
A first memory having a plurality of memory banks capable of storing image data representing an array of pixels in a plurality of rows and columns;
A second memory capable of storing image data stored in the first memory;
Image processing means for performing predetermined image processing on the image data stored in the second memory;
First writing means for writing image data into the first memory;
First reading means for reading image data written in the first memory by the first writing means;
Second writing means for writing image data read from the first memory by the first reading means to the second memory;
Second reading means for reading the image data written in the second memory by the second writing means in an order according to the image processing executed by the image processing means and supplying the image processing means to the image processing means; Prepared,
The first writing means includes:
Each of the divided image data of a plurality of columns obtained by dividing the first row of the input image data by a predetermined division unit is divided into different memory banks in which the continuous divided image data is different from each other in the first memory. Each of the plurality of columns of divided image data obtained by dividing the second row adjacent to the first row of the image data in the division unit is written in the same row in the first row. Is stored in a memory bank different from the memory bank in which the divided image data is stored, and continuous divided image data is written to be stored in different memory banks of the first memory,
The first reading means includes:
An image processing apparatus, wherein the divided image data continuous in a row direction or a column direction in the image data is continuously read out.
前記第1のメモリは4以上のメモリバンクを有するメモリであって、
前記第1の書込手段は、前記第1の行の分割画像データを書き込むメモリバンクと前記第2の行の分割画像データを書き込むメモリバンクとを互いに異ならせる
ことを特徴とする請求項3に記載の画像処理装置。
The first memory is a memory having four or more memory banks,
The said 1st writing means makes the memory bank which writes the division | segmentation image data of the said 1st line different from the memory bank which writes the division | segmentation image data of the said 2nd line mutually. The image processing apparatus described.
前記第1のメモリは前記第2のメモリよりも多くのデータを記憶可能であり、
前記第2のメモリは前記第1のメモリよりも高速にデータの書き込みおよび読み出しが可能である
ことを特徴とする請求項3に記載の画像処理装置。
The first memory can store more data than the second memory;
The image processing apparatus according to claim 3, wherein the second memory is capable of writing and reading data at a higher speed than the first memory.
前記第1のメモリがDRAMであることを特徴とする請求項3に記載の画像処理装置。   The image processing apparatus according to claim 3, wherein the first memory is a DRAM. 前記分割単位が前記第1のメモリのバースト長に相当することを特徴とする請求項6に記載の画像処理装置。   The image processing apparatus according to claim 6, wherein the division unit corresponds to a burst length of the first memory. 前記第2のメモリがSRAMであることを特徴とする請求項3に記載の画像処理装置。   The image processing apparatus according to claim 3, wherein the second memory is an SRAM. コンピュータが、複数行複数列の画素の配列を表す画像データを記憶可能な複数のメモリバンクを有するメモリを用いて、当該画像データを所定の画像処理を実行する画像処理装置に供給するためのプログラムであって、
前記コンピュータに、
入力された前記画像データの第1の行を決められた分割単位で分割してなる複数列の分割画像データの各々を、連続する分割画像データが前記メモリの互いに異なるメモリバンクにそれぞれ記憶されるように書き込む第1の機能と、
前記入力された画像データの前記第1の行と隣り合う第2の行を前記分割単位で分割してなる複数列の分割画像データの各々を、前記第1の行において同列に相当する分割画像データが記憶されたメモリバンクと異なるメモリバンクに記憶され、かつ、連続する分割画像データが互いに異なるメモリバンクにそれぞれ記憶されるように書き込む第2の機能と、
前記第1および第2の機能により前記メモリに書き込まれた分割画像データを読み出して、前記画像処理装置が実行する画像処理に応じた順序で供給する機能であって、前記画像データにおいて行方向または列方向に連続する前記分割画像データを連続的に読み出す第3の機能と
を実現させるためのプログラム。
A program for a computer to supply image data to an image processing apparatus that executes predetermined image processing using a memory having a plurality of memory banks capable of storing image data representing an array of pixels in a plurality of rows and columns. Because
In the computer,
Each of a plurality of columns of divided image data obtained by dividing the first row of the input image data by a predetermined division unit is stored in different memory banks of the memory. A first function to write,
Each of divided image data of a plurality of columns obtained by dividing a second row adjacent to the first row of the input image data in the division unit is a divided image corresponding to the same column in the first row. A second function for writing data such that data is stored in a memory bank different from the memory bank in which the data is stored, and continuous divided image data is stored in different memory banks,
A function of reading the divided image data written in the memory by the first and second functions and supplying the divided image data in an order corresponding to the image processing executed by the image processing device, wherein the image data includes a row direction or A program for realizing the third function of continuously reading the divided image data continuous in the column direction.
JP2006103345A 2006-04-04 2006-04-04 MEMORY CONTROL METHOD, MEMORY CONTROL DEVICE, IMAGE PROCESSING DEVICE, AND PROGRAM Expired - Fee Related JP4821410B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006103345A JP4821410B2 (en) 2006-04-04 2006-04-04 MEMORY CONTROL METHOD, MEMORY CONTROL DEVICE, IMAGE PROCESSING DEVICE, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006103345A JP4821410B2 (en) 2006-04-04 2006-04-04 MEMORY CONTROL METHOD, MEMORY CONTROL DEVICE, IMAGE PROCESSING DEVICE, AND PROGRAM

Publications (2)

Publication Number Publication Date
JP2007279902A true JP2007279902A (en) 2007-10-25
JP4821410B2 JP4821410B2 (en) 2011-11-24

Family

ID=38681305

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006103345A Expired - Fee Related JP4821410B2 (en) 2006-04-04 2006-04-04 MEMORY CONTROL METHOD, MEMORY CONTROL DEVICE, IMAGE PROCESSING DEVICE, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP4821410B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63118886A (en) * 1986-11-06 1988-05-23 Sumitomo Electric Ind Ltd Converter for digital image
JP2001117555A (en) * 1999-08-05 2001-04-27 Matsushita Electric Ind Co Ltd Modular structure for image inverted memory using synchronous dram
JP2002300597A (en) * 2001-03-29 2002-10-11 Toshiba Corp Digital filtering device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63118886A (en) * 1986-11-06 1988-05-23 Sumitomo Electric Ind Ltd Converter for digital image
JP2001117555A (en) * 1999-08-05 2001-04-27 Matsushita Electric Ind Co Ltd Modular structure for image inverted memory using synchronous dram
JP2002300597A (en) * 2001-03-29 2002-10-11 Toshiba Corp Digital filtering device

Also Published As

Publication number Publication date
JP4821410B2 (en) 2011-11-24

Similar Documents

Publication Publication Date Title
EP0398510B1 (en) Video random access memory
JP2002108268A5 (en)
JPH0141994B2 (en)
JP4964091B2 (en) MEMORY ACCESS METHOD AND MEMORY CONTROL DEVICE
US6560686B1 (en) Memory device with variable bank partition architecture
US20180173456A1 (en) Multiport memory architecture
JP4378015B2 (en) Memory chip
US20070030535A1 (en) Data scan system and data scan method using ddr
JP5001638B2 (en) Exposure data creation device
JP4821410B2 (en) MEMORY CONTROL METHOD, MEMORY CONTROL DEVICE, IMAGE PROCESSING DEVICE, AND PROGRAM
JPH11339005A (en) Image processor and special effect device and image processing method
JP3288327B2 (en) Video memory circuit
JPH1078770A (en) Display control device
US6680736B1 (en) Graphic display systems having paired memory arrays therein that can be row accessed with 2(2n) degrees of freedom
JP2008136125A (en) Image processing apparatus
JP4807910B2 (en) On-screen display device
JPH09106374A (en) Image memory device
JPH09180433A (en) First-in/first-out memory device
JP2008146235A (en) Image processor
JP2633251B2 (en) Image memory device
US20180090110A1 (en) Apparatus and method for video frame rotation
JPH10162131A (en) Image processor
JPH04274082A (en) Semiconductor memory device
JPH0369090A (en) Dual port ram for picture
JP2007323260A (en) Image memory system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110418

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110809

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110822

R150 Certificate of patent or registration of utility model

Ref document number: 4821410

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140916

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees