JP2014116765A - Image reading device - Google Patents
Image reading device Download PDFInfo
- Publication number
- JP2014116765A JP2014116765A JP2012268949A JP2012268949A JP2014116765A JP 2014116765 A JP2014116765 A JP 2014116765A JP 2012268949 A JP2012268949 A JP 2012268949A JP 2012268949 A JP2012268949 A JP 2012268949A JP 2014116765 A JP2014116765 A JP 2014116765A
- Authority
- JP
- Japan
- Prior art keywords
- sdram
- sram
- data
- color
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Facsimile Scanning Arrangements (AREA)
- Storing Facsimile Image Data (AREA)
Abstract
Description
本発明は、画像読取装置に関し、より詳細には、複数色のCCD(Charge Coupled Device)ラインセンサを用いてラインギャップをもたせた状態で原稿読み取りを行い、遅延のためのメモリを用いてそのラインギャップを補正して出力する画像読取装置に関する。 The present invention relates to an image reading apparatus, and more specifically, reads a document using a multi-color CCD (Charge Coupled Device) line sensor with a line gap, and uses a delay memory to read the line. The present invention relates to an image reading apparatus that corrects and outputs a gap.
従来から、画像読取装置にはCCDラインセンサを用いて原稿の読み取り(スキャン)を行う装置がある。例えば、特許文献1には、ラインギャップ補正機能を有し、ラインギャップ補正に使用するメモリの容量を増大させないために、スキャン速度が低速の時には読み取ったデータを間引くようにした画像読取装置が開示されている。
2. Description of the Related Art Conventionally, image reading apparatuses include an apparatus that reads (scans) a document using a CCD line sensor. For example,
その他、特許文献2には、CCDラインセンサを複数並べて、そのラインギャップに合わせたスキャン速度でスキャンするようにした画像読取装置が開示されている。また、特許文献3には、1ライン以内の色ズレを補正する技術が開示されている。
In addition,
さらに、特許文献4には、メモリを用いた遅延によりラインギャップを補正すると共に、基準白板を読み取って得たシェーディング補正用データに基づき、原稿を読み取った画像データに対してシェーディング補正を行うことが可能な画像読取装置が開示されている。この画像読取装置では、原稿台に載置された原稿を読み取る場合と原稿自動送り装置で送られる原稿を読み取る場合とで画像のパスを入れ替えることで、画像データとシェーディング補正用データとを正確に対応付けている。
Further, in
ところで、ラインギャップ補正に使用するメモリとしては、SRAM(Static Random Access Memory)等より低速であるものの価格が安いこともあり、一般的にSDRAM(Synchronous Dynamic Random Access Memory)が採用されている。そして、画像読取装置の制御部の1チップ化に伴うメモリの統一化に伴って、このSDRAMはラインギャップ補正以外の処理にも利用されることが多くなってきている。ここで、スキャン処理は、一般的に他の処理よりも優先させて実行されるようになっており、メモリの使用状況によってはスキャン処理の開始により他の処理を中断することになる。 By the way, as a memory used for line gap correction, although it is slower than an SRAM (Static Random Access Memory) or the like, the price is cheap, and an SDRAM (Synchronous Dynamic Random Access Memory) is generally adopted. With the unification of memories accompanying the integration of the control unit of the image reading apparatus into one chip, this SDRAM is increasingly used for processes other than line gap correction. Here, the scan process is generally executed with priority over other processes, and the other processes are interrupted at the start of the scan process depending on the memory usage.
そして、近年、スキャンの高速化、高解像度化、高機能化に伴い、ラインギャップ補正に使用するメモリのメモリ帯域が混雑する傾向にあるため、スキャン処理時における他の処理のパフォーマンスが益々遅くなってしまう。よって、ラインギャップ補正に使用するSDRAMのメモリ帯域の混雑を上手く緩和する手段が望まれている。 In recent years, with the increase in scanning speed, resolution, and functionality, the memory bandwidth of the memory used for line gap correction tends to become congested, and the performance of other processing during scanning processing becomes increasingly slower. End up. Therefore, a means for reducing the congestion of the memory bandwidth of the SDRAM used for line gap correction is desired.
しかしながら、特許文献1に記載の画像読取装置では、データの間引きによりメモリの使用容量を節約しているだけで、高解像度化に対応できるものではない上に、データを減らすことなくメモリ帯域の混雑を緩和するものではない。なお、特許文献2〜4には、メモリ帯域の混雑を緩和する手法について記載されていない。
However, the image reading apparatus described in
本発明は、上述のような実状に鑑みてなされたものであり、その目的は、CCDラインセンサを有する画像読取装置において、ラインギャップ補正に使用するSDRAMのメモリ帯域が混雑している場合に、ラインギャップ補正以外の処理のパフォーマンスの低下を最小限に抑えることにある。 The present invention has been made in view of the above-described actual situation, and the object of the present invention is when the memory bandwidth of the SDRAM used for line gap correction is congested in an image reading apparatus having a CCD line sensor. The purpose is to minimize the decrease in performance of processing other than line gap correction.
上記の課題を解決するために、本発明の第1の技術手段は、複数色のCCD(Charge Coupled Device)ラインセンサを用い、各色の読み取りラインにラインギャップをもたせた状態で原稿の読み取りを行う原稿読取部と、SDRAM(Synchronous Dynamic Random Access Memory)と、前記原稿読取部での読み取りにより得た各色のデータを該SDRAMに一時的に格納させ、格納された各色のデータに対してラインギャップ補正を行った状態で出力するラインギャップ補正部と、を備えた画像読取装置であって、前記SDRAMのメモリ帯域が混雑しているか否かを判定する判定部と、SRAM(Static Random Access Memory)と、をさらに備え、前記ラインギャップ補正部は、前記判定部で混雑していると判定されている場合に、前記原稿読取部での読み取りにより得た各色のデータの一部又は全部を、前記SDRAMの代わりに前記SRAMに一時的に格納させ、前記SDRAM又は前記SRAMに格納された各色のデータに対してラインギャップ補正を行った状態で出力することを特徴としたものである。 In order to solve the above-described problem, the first technical means of the present invention uses a plurality of color CCD (Charge Coupled Device) line sensors to read a document in a state where a line gap is provided for each color reading line. A document reading unit, SDRAM (Synchronous Dynamic Random Access Memory), and data of each color obtained by reading by the document reading unit are temporarily stored in the SDRAM, and line gap correction is performed on the stored data of each color A line gap correction unit that outputs in a state of performing a determination, a determination unit that determines whether the memory bandwidth of the SDRAM is congested, an SRAM (Static Random Access Memory), The line gap correction unit is obtained by reading with the document reading unit when it is determined that the determination unit is congested. Further, a part or all of the data of each color is temporarily stored in the SRAM instead of the SDRAM, and the data of each color stored in the SDRAM or the SRAM is output with the line gap corrected. It is characterized by that.
本発明の第2の技術手段は、第1の技術手段において、前記判定部は、前記SDRAMのメモリ帯域が混雑している度合いを判定し、前記ラインギャップ補正部は、前記判定部で判定された混雑している度合いに基づき、混雑している程、前記SRAMに一時的に格納するデータの割合を増やすことを特徴としたものである。 According to a second technical means of the present invention, in the first technical means, the determination unit determines a degree of congestion of the memory bandwidth of the SDRAM, and the line gap correction unit is determined by the determination unit. Based on the degree of congestion, the proportion of data temporarily stored in the SRAM increases as the congestion is increased.
本発明の第3の技術手段は、第1又は2の技術手段において、前記ラインギャップ補正部は、前記SRAMに対し、前記SDRAMへのアクセス単位でアクセスすることを特徴としたものである。 According to a third technical means of the present invention, in the first or second technical means, the line gap correction unit accesses the SRAM in an access unit to the SDRAM.
本発明の第4の技術手段は、第1〜3のいずれか1の技術手段において、前記ラインギャップ補正部は、前記原稿読取部での読み取りにより得た各色のデータの内、前記SDRAMへの書き込みから読み出しまでに要する時間が最も短い色のデータを優先して、前記SRAMに一時的に格納することを特徴としたものである。 According to a fourth technical means of the present invention, in any one of the first to third technical means, the line gap correction unit applies the data to each SDRAM among the data of each color obtained by reading by the original reading unit. The color data having the shortest time required from writing to reading is preferentially stored in the SRAM with priority.
本発明によれば、CCDラインセンサを有する画像読取装置において、ラインギャップ補正に使用するSDRAMのメモリ帯域が混雑している場合に、ラインギャップ補正以外の処理のパフォーマンスの低下を最小限に抑えることができる。 According to the present invention, in an image reading apparatus having a CCD line sensor, when the memory bandwidth of the SDRAM used for line gap correction is congested, the performance degradation of processes other than line gap correction is minimized. Can do.
図1は、本発明に係る画像読取装置の一構成例を示すブロック図である。また、図2は、CCDラインセンサで原稿読み取りを行う原稿読取機構の一例を示す模式図で、CCDラインセンサを備えた画像読取装置においてラインギャップが生じる原理を説明するための図である。 FIG. 1 is a block diagram illustrating a configuration example of an image reading apparatus according to the present invention. FIG. 2 is a schematic diagram showing an example of a document reading mechanism that reads a document with a CCD line sensor, and is a diagram for explaining the principle that a line gap occurs in an image reading apparatus equipped with a CCD line sensor.
図1で例示するように、本発明に係る画像読取装置1は、CCDラインセンサ部11を有する原稿読取部、ラインギャップ補正部14、及びSDRAM18を備える。CCDラインセンサ部11は、複数の異なる色についての原稿読み取りが可能なように複数色のCCDラインセンサを有する。各色用のCCDラインセンサはいずれも、対応するカラーフィルタが取り付けられた複数の受光素子(撮像素子)が主走査方向に並べられてなり、これらの複数の受光素子により1ライン分のデータ(対応する色の画像データ)を取得する。
As illustrated in FIG. 1, the
上記複数色としては、一般的にR,G,Bの3色が採用され、以下でもそのような例を挙げるが、他の組み合わせの複数色を採用してもよい。図2に例示するCCDラインセンサ部11は、R,G,Bの3色それぞれのCCDラインセンサ11r,11g,11bが長手方向(主走査方向)に垂直な方向(副走査方向)に間隔をあけて配列してなる。
As the plurality of colors, three colors of R, G, and B are generally adopted, and such examples are given below, but other combinations of colors may be adopted. In the CCD
原稿読取部は、図2で例示したように、CCDラインセンサ11r,11g,11bの他、光源32及びミラー33を搭載したキャリッジ31、レンズ34、及び原稿Pを載置する原稿台や自動原稿送り装置(図示せず)などで構成されている。
As illustrated in FIG. 2, the document reading unit includes the
このような構成により原稿読取部では、光源32から原稿Pに照射された光が原稿Pの下面における点35r,35g,35bを含む読み取りラインLr,Lg,Lbで反射し、各ラインでの反射光がそれぞれ、ミラー33及びレンズ34を介してCCDラインセンサ11r,11g,11bに入射する。これにより、CCDラインセンサ11r,11g,11bは、それぞれ対応する色について1ライン分の画像データを取得する。
With such a configuration, in the document reading unit, the light irradiated to the document P from the
ここで、RGB用のCCDラインセンサ11r,11g,11bにおいて同時に原稿読み取りを行う原稿P上の位置は、点35r,35g,35bで比べても分かるように同じ位置ではなく副走査方向にずれている。つまり、CCDラインセンサ11r,11g,11bで同時に受光した像は、ラインギャップ分(この例ではラインLrとラインLgとについてラインギャップ数36a、ラインLgとラインLbとについてラインギャップ数36b)だけ副走査方向にずれている。よって、CCDラインセンサ11r,11g,11bでは、このようにラインギャップ分ずれた画像データを読み込んでいることになる。
Here, the positions on the original P where the originals are simultaneously read by the RGB
また、原稿読取部は、図1で例示したようにA/D変換部12を備える。CCDラインセンサ11r,11g,11bは、画像データとしてのそれぞれの受光信号をA/D変換部12に転送する。A/D変換部12は、それをA/D変換して後段に渡す。
The document reading unit includes an A /
また、原稿読取部は、CCDラインセンサ11r,11g,11bから画像データが転送された際、キャリッジ31を図2中の矢視の方向、つまり副走査方向に移動させる。このような転送と副走査方向へのキャリッジ31の移動を繰り返すことで、原稿読取部は原稿Pの全領域についての画像データを得ることができる。以上のように、原稿読取部は、CCDラインセンサ11r,11g,11bを用い、各色の読み取りラインにラインギャップをもたせた状態で原稿Pの読み取りを行う。ここで例示しているように複数色がRGBの3色の場合、CCDラインセンサ部11は3ライン方式のカラーラインセンサに該当する。
Further, when the image data is transferred from the
また、ラインギャップ補正部14は、原稿読取部での読み取りにより得た各色のデータ(画像データ)をSDRAM18に一時的に格納させ、格納された各色のデータに対してラインギャップ補正を行った状態で出力する。SDRAM18としては、DDR(Double-Data-Rate) SDRAM、DDR2 SDRAM、DDR3 SDRAM、その後継などが挙げられる。画像読取装置1は、SDRAM18への読み書きの制御のためにSDRAM制御部17を備え、ラインギャップ補正部14はSDRAM制御部17を介してSDRAM18への読み書きを行う。
In addition, the line
ここで、原稿読取部での読み取りにより得た各色のデータ(画像データ)は、この例ではA/D変換後の各色1ライン分の画像データを指し、まず画像処理部13に出力され、画像処理部13からSDRAM18に格納される。但し、後述するように、本発明ではSDRAM18の代わりにSRAM19に画像データが格納されることもある。
Here, the data (image data) of each color obtained by reading by the document reading unit indicates image data for one line of each color after A / D conversion in this example, and is first output to the
また、ラインギャップ補正を行った状態とは、同じ読み取り位置(例えば点35r)についてのRGBの画像データを同時に読み出す状態を指す。つまり、ラインギャップ補正部14は、ラインギャップを無くすように各色のデータを出力する。なお、本発明は、後述する説明から明らかなように、基本的にCCDラインセンサ部11におけるラインギャップ数に応じて適用させることができる。
The state in which the line gap correction is performed refers to a state in which RGB image data for the same reading position (for example,
また、図1で例示する画像読取装置1は、CPU(Central Processing Unit)15、画像処理部13、HDD(Hard disk drive)20、回転部21、JPEG(Joint Photographic Experts Group)圧縮部22、及びネットワークI/F23を備え、これらがラインギャップ補正部14及びSDRAM制御部17と共にバス接続されている。CPU15は、特に詳述しないが、原稿読取部での原稿読み取り制御も含め、画像読取装置1の全体を制御する。
1 includes a CPU (Central Processing Unit) 15, an
画像処理部13は、例えばシェーディング補正部13a、入力γ補正部13b、領域分離・フィルタ部13c、ズーム処理部13dなどを有し、各種画像処理を施す。シェーディング補正部13aは、白紙原稿を読み取ったときに読み取りライン上で画像データの画素値が一定値となるように、A/D変換部12から出力された画像データの画素毎に補正係数で補正する。入力γ補正部13bは、内部に設けられたSRAM等のメモリ(又は後述のSRAM19)を用い、シェーディング補正部13aから出力された画像データに対して濃度補正を行い、ラインギャップ補正部14に渡す。
The
領域分離・フィルタ部13cは、ラインギャップ補正部14でラインギャップ補正が施された画像データの濃度の分布から、1画素毎に写真・文字・網点などの種類を判定して、種類毎に異なるフィルタリングを行う。ズーム処理部13dは、領域分離・フィルタ部13cから出力された画像データに対して1次線形補間法などによりズーム処理を施す。
The region separation /
なお、画像処理部13における各部では、必要に応じて各部の内部メモリ(或いは後述のSRAM19など)を用いればよく、また各部での処理としては既存の技術を用いればよく、またその処理の順序もここで例示したものに限ったものではない。また、どの段階でラインギャップ補正部14に渡してラインギャップ補正を行うかも任意であるが、領域分離・フィルタ部13c及びズーム処理部13dでの処理はラインギャップ補正後の画像データを用いることが好ましい。
It should be noted that each unit in the
回転部21は、原稿読み取り画像に対して複数ページ集約する際や縦横回転処理を行う際、さらには画像読取装置1に接続された図示しない印刷部などから原稿の集約印刷の指示などを受け付けた場合などに、画像データを回転して縦横を変更する。JPEG圧縮部22は、原稿読み取りがなされた画像データに対してJPEG方式で圧縮を行う。ネットワークI/F23は、接続端子やLAN(Local Area Network)などを経由して外部に原稿読み取り画像のデータを送信したり、外部から画像データを受け取ることもできる。
The rotating
回転部21、JPEG圧縮部22、及びネットワークI/F23では、作業メモリとしてSDRAM18を用いる。つまり、SDRAM18は、ラインギャップ補正以外に各部21〜23での処理にも用いられる。但し、原稿読み取りを行っている場合にはリアルタイムでの処理が必要であるため、ラインギャップ補正に対して優先的に使用される。なお、回転部21、JPEG圧縮部22、及びネットワークI/F23は、SDRAM18を用いて処理を行う、ラインギャップ補正部14以外の処理部の一例であり、本発明に係る画像処理装置はこのような構成に限ったものではない。
In the
そして、本発明に係る画像読取装置1は、その主たる特徴としてSDRAMメモリ帯域判定部16及びSRAM19を備える。SRAM19はCPU15などと共にバス接続されてなるが、画像読取装置1における各部の接続形態は問わない。SDRAMメモリ帯域判定部16は、SDRAM18の帯域が混雑している判定を行う判定部であり、例えばSDRAM制御部17へのアクセス要求数をみて、そのアクセス要求数が一定数以上の場合に、混雑していると判定する。
The
ラインギャップ補正部14は、SDRAMメモリ帯域判定部16で混雑していると判定されている場合に、原稿読取部での読み取りにより得た各色のデータの一部又は全部を、SDRAM18の代わりにSRAM19に一時的に格納させ、SDRAM18又はSRAM19に格納された各色のデータに対してラインギャップ補正を行った状態で出力する。このように、画像読取装置1は、ラインギャップ補正部14でのラインギャップ補正のために、CCDラインセンサ11r,11g,11bからの画像データを蓄えるSDRAM18及びSRAM19を備える。
When it is determined that the SDRAM memory
より具体的には、ラインギャップ補正部14は、画像処理部13からラインギャップを持った3色の画像データを受信し、それらの画像データに対してアドレス生成部14aでアドレスを生成し、生成したアドレスでSDRAM18若しくはSRAM19へ格納する(書き込む)。書き込みは、例えばラインギャップ補正部14又はCPU15又は画像処理部13のいずれかがバスマスタとなって上記生成したアドレスに従って実行すればよいが、以下では基本的にラインギャップ補正部14が書き込みを行うものとして説明する。
More specifically, the line
ここで、ラインギャップ補正部14は、SRAM用履歴メモリ14bを有し、SRAM19への格納を実行した場合には、SRAM用履歴メモリ14bへSDRAM18の先頭アドレスや格納先であるSRAM19の先頭アドレス等を記憶する。これにより、ラインギャップ補正部14はSDRAM18からの画像データの読み出し時において、SDRAM18の代わりの格納先となっているSRAM19内の画像データの読み出しも可能となる。SDRAM18へのデータの読み書きについてはラインギャップ補正部14からの指示に従い、SDRAM制御部17が実行することになる。なお、この例では、SDRAM18がラインギャップ補正部14等を具備するチップに外付けされることを前提としているため、そのチップ内にSDRAM制御部17を設けているが、SDRAM制御部17を別途設けなくても直接ラインギャップ補正部14がSDRAM18へのデータの読み書きを行ってもよい。
Here, the line
そして、ラインギャップ補正部14は、書き込みによりライン単位で画像データが3色分準備できた段階で、3色分の画像データを読み出し、画像処理部13へ送信する。画像処理部13は、その画像データを受信して、ラインギャップ補正後の各処理を実行することになる。なお、最後に受信する色の画像データはSDRAM18やSRAM19への格納を行わずにそのまま画像処理部13に返す(若しくはラインギャップ補正部14への画像処理部13からの送信すら行わない)こともできるが、各色のデータについて読み出しのタイミングを合わせ易くするためには、ここで例示するように全色について一旦データを書き込むことが好ましい。
The line
上述したように原稿読み取りを行っている場合にはリアルタイムでの処理が必要であるため、従来の構成では、SDRAM18を使用する回転部21等での他の処理については、SDRAM18をラインギャップ補正に対して優先的に使用するために後回しにすることしかできなかった。これに対し、本発明では、ラインギャップ補正に使用するSDRAM18のメモリ帯域が混雑していることを検知して、SRAM19を用いてSDRAM18のメモリ帯域を緩和することで、上記他の処理(ラインギャップ補正以外の処理であってそのSDRAM18を使用する処理)について、パフォーマンスの低下を最小限に抑えること(緩和すること)ができる。無論、上記メモリ帯域が混雑していない場合は、ラインギャップ補正にSDRAM18だけを用いるため、SRAM19を他の処理へ割り当てることもできる。
As described above, real-time processing is required when reading a document. Therefore, in the conventional configuration, the
なお、SDRAM18とは別のSDRAMを追加で接続するような構成でもSDRAM18での混雑は避けられる。しかしながら、SDRAMはSRAMに比べて低速である上に、別のSDRAMを追加しても上記チップとの接続口を新たに設けないと速度が向上しないため、結局のところ上記チップの接続口を別途増やすためのコストが増してしまう。また、SRAM19であればSDRAMと異なり、チップ内に元々設けてあることが多く、設けてない場合でもチップ内に設けるような設計は容易にできる。
Even in a configuration in which an SDRAM other than the
次に、図3〜図6を参照しながら、ラインギャップ補正処理における書き込み処理の一例について説明する。図3は、図1の画像読取装置で実行されるラインギャップ補正処理のうちの書き込み処理の一例を説明するためのフロー図で、図4〜図6は、CCDラインセンサがRとGの間、GとBの間で2ラインのラインギャップを有する場合における、図3の書き込み処理の具体例を示す図である。ここで、図4は、SDRAMのメモリマップの一例を示す図、図5は、履歴データが書き込まれるSRAM用履歴メモリの一例を説明するための図、図6は、SRAMのメモリマップの一例を示す図である。 Next, an example of a writing process in the line gap correction process will be described with reference to FIGS. FIG. 3 is a flowchart for explaining an example of the writing process among the line gap correction processes executed by the image reading apparatus of FIG. 1. FIGS. FIG. 4 is a diagram illustrating a specific example of the writing process of FIG. 3 when there is a line gap of two lines between G and B. Here, FIG. 4 is a diagram showing an example of an SDRAM memory map, FIG. 5 is a diagram for explaining an example of an SRAM history memory in which history data is written, and FIG. 6 is an example of an SRAM memory map. FIG.
まず、CCDラインセンサ部11からRGBそれぞれの色の画像データ(以下、単にRGBデータと言う)を取り込む(ステップS1)。このRGBデータは上述したように各色についてラインギャップをもっている。 First, RGB image data (hereinafter simply referred to as RGB data) is captured from the CCD line sensor unit 11 (step S1). As described above, the RGB data has a line gap for each color.
ラインギャップの存在により不要なデータが存在するため、取り込んだRGBデータは全て使用する訳ではない。そのため、ステップS1の処理後、各色の画像データが有効範囲内の色のデータであるか否かを判定する(ステップS2)。有効範囲外の色のデータ(つまり無効範囲の色のデータ)である場合(ステップS2でNOの場合)には、SDRAM18やSRAM19への書き込まず、そのまま破棄して、その読み取りラインのその色の現アクセス単位についての処理を終了する。
Since unnecessary data exists due to the presence of the line gap, not all of the captured RGB data is used. Therefore, after the process of step S1, it is determined whether the image data of each color is data of a color within the valid range (step S2). If the color data is outside the valid range (that is, the color data in the invalid range) (NO in step S2), the data is not written to the
なお、図3では、主走査方向での一度の原稿読み取りの処理のうち1アクセス単位について、つまりRGBデータを1アクセス単位得るために実行される処理について説明している。よって、実際には、図3の処理を1ライン分繰り返し、その後に副走査方向にキャリッジ31を移動させ、再度、図3の処理を1ライン分繰り返す、といった処理を繰り返し、最終的に1枚の原稿についての画像データがラインギャップ補正されて格納されることになる。
Note that FIG. 3 illustrates a process executed for obtaining one access unit in one document reading process in the main scanning direction, that is, for obtaining one access unit of RGB data. Therefore, in practice, the process of FIG. 3 is repeated for one line, then the
有効範囲内の色のデータである場合(ステップS2でYESの場合)には、アドレス生成部14aが対応するSDRAM18のアドレスを生成する(ステップS3)。ステップS3におけるアドレスの生成例は、図4に示しているように、まずSDRAM18上にR,G,B別にメモリ領域41r,41g,41bを確保しておき、SDRAM18のアクセス単位でアドレスを発行する。そして、有効範囲内であった場合のアドレスの発行は色別に行う。つまり、ステップS3では、有効範囲内のデータについては、対応するSDRAM18のアドレスを各色別に生成する。
If the color data is within the valid range (YES in step S2), the
ここで、SDRAM18のアクセス単位は、バスの帯域などに基づき予め決めておけばよく、例えば「SDRAM18のbit幅」×「SDRAM18の最大又は十分大きいバースト数のByte数」で決めることができる。バースト数が長いほどSDRAM18へ発行するコマンドサイクルが小さくて済むが、データをWrite/Readするバッファーが大きくなるため、効率的なアクセス単位はシステム設計によって異なる。
Here, the access unit of the
図4では、このアクセス単位を32Byteとし、またR−G―Bラインギャップ数をいずれも2ラインとした例を挙げている。また、上述したように実際には原稿1枚を読み取るまで処理がなされるが、図4では説明の簡素化のため、各色について有効範囲内のデータを3ライン分取得した場合の例を挙げている。また、図4において、符号43は入力されたデータが何ライン目であるか、つまり例えばRについてはCCDラインセンサ11rからの入力順序を示しており、Wは上記のアクセス単位(ここでは32byte)を示している。
FIG. 4 shows an example in which the access unit is 32 bytes and the number of RGB lines gaps is 2 lines. In addition, as described above, processing is actually performed until one original is read. However, in order to simplify the description, FIG. 4 shows an example in which three lines of data within the valid range for each color are acquired. Yes. Further, in FIG. 4,
Rについて説明すると、メモリ領域41rに示すように、Rのデータのうち入力1ライン目から4ライン目までは画像の無効範囲42rとなって破棄され、5ライン目から7ライン目までは画像の有効範囲となってSDRAM18のアドレス(先頭アドレス)rad11〜rad34が順次発行される。例えば、Rの5ライン目の先頭データに対しては、ステップS3によりrad11としてSDRAM18のアドレスが生成される。図3の例では1ライン毎の処理を説明しており、アドレスは1ライン毎に発行されることになる。例えば、5ライン目のRのデータについてアドレスrad11〜rad14が発行され、副走査方向へのキャリッジ31の移動により、6ライン目のRのデータについてアドレスrad21〜rad24が発行される。
Describing R, as shown in the
G,Bについても同様である。メモリ領域41gに示すように、Gのデータのうち入力1ライン目から2ライン目までと入力6ライン目から7ライン目までは画像の無効範囲42gとなって破棄され、3ライン目から5ライン目までは画像の有効範囲となってアドレスgad11〜gad34が発行される。また、メモリ領域41bに示すように、Bのデータのうち入力1ライン目から3ライン目までは画像の有効範囲となってアドレスbad11〜bad34が発行され、入力4ライン目から7ライン目までは画像の無効範囲42bとなって破棄される。
The same applies to G and B. As shown in the
このようにして、SDRAM18のアドレスが生成された後、SDRAMメモリ帯域判定部16が、SDRAM18のメモリ帯域が混雑しているかを確認して判定する(ステップS4)。なお、ステップS4の判定例については図8等を参照しながら後述する。混雑している場合(ステップS4でYESの場合)には、SDRAMメモリ判定部16がSRAM19の空きがあるか否かを判定する(ステップS5)。ステップS5では、SRAM19の空きサイズが少なくともSRAM19の1アクセス単位分だけ存在するか否かにより、判定を行う。よって、空きサイズが1アクセス単位より小さい場合にはステップS5でNOとなる。なお、ステップS4とステップS5の順序は問わない。
After the address of the
ステップS4でNOの場合とステップS5でNOの場合、つまり混雑していないかSRAM19の空きが無い場合には、ラインギャップ補正部14が、ステップS3で生成したアドレスに基づき各色のデータをSDRAM18へ書き込み(ステップS10)、その読み取りラインの現アクセス単位についての処理を終了する。
In the case of NO in step S4 and NO in step S5, that is, when there is no congestion or there is no space in the
一方、ステップS4,S5でYESとなった場合、つまりメモリ帯域が混雑していた場合には、アドレス生成部14aが、図12等を参照しながら後述する書き込み色決定処理例などを実行して、SRAM19へ書き込む色を決定する(ステップS6)。
On the other hand, if YES is obtained in steps S4 and S5, that is, if the memory band is congested, the
次いで、アドレス生成部14aは、現在処理しようとしているデータが、その決定に基づきSRAM19へ書き込む色のデータであるか否かを判定する(ステップS7)。SRAM19へ書き込む色のデータでない場合(ステップS7でNOの場合)には、ラインギャップ補正部14が、ステップS3で生成したアドレスに基づき、その色のデータをSDRAM18へ書き込み(ステップS10)、その読み取りラインのその色の現アクセス単位についての処理を終了する。
Next, the
一方で、SRAM19へ書き込む色のデータである場合(ステップS7でYESの場合)には、アドレス生成部14aがSRAM用履歴メモリ14bに、有効bit、SDRAM18の先頭アドレス、及びSRAMの先頭アドレスを記録し(ステップS8)、ラインギャップ補正部14がここで指定されたSRAM19の先頭アドレスからその色のデータを書き込む(ステップS9)。ステップS9の処理により、その読み取りラインのその色の現アクセス単位についての処理を終了する。
On the other hand, if the color data is to be written to the SRAM 19 (YES in step S7), the
ステップS8,S9の具体例について、図5及び図6を参照しながら説明する。ここで、図5で示す各色のメモリ領域46r,46g,46bはそれぞれ図4のメモリ領域41r,41g,41bと同じであり、図5の符号43も図4の符号41と同じく入力順序を示している。図5及び図6では、メモリ領域46r,46g,46bのうちアドレスrad12,gad33,bad34へ書き込みを行う際にSDRAM18のメモリ帯域の混雑判定があった場合の例を挙げている。
Specific examples of steps S8 and S9 will be described with reference to FIGS. Here, the
RについてのSDRAM18のアドレスである先頭アドレスrad12の書き込み時に混雑していると判定されて、対応するデータをSRAM19へ書き込む場合の例を説明する。この場合、アドレス生成部14aが、SRAM用履歴メモリ14bに図5のSRAM用履歴メモリ47で例示するように、SDRAM18の先頭アドレスを記録し(ステップS8)、ラインギャップ補正部14が対象となるデータをSRAM19に格納する(ステップS9)。なお、ステップS7でNOの場合で説明したように、同じRのデータであっても混在していない場合には、つまりSRAM19へ書き込む色以外の色のデータについては、SDRAM18へ書き込む。
An example will be described in which it is determined that the start address rad12 which is the address of the
SRAM用履歴メモリ47に記録するSDRAM18の先頭アドレスは、アドレスrad12への書き込みを行う際に混雑していると判定された場合には「rad12」となる。ステップS8では、SRAM19へ書き込む色のデータについて、SDRAM18の先頭アドレスのほかに、SRAM用履歴メモリ47に有効bit=1及び書き込み先のSRAM19の先頭アドレスを記録する。例えばSRAM19のメモリ領域が全て空いている場合には、ステップS9において図6のメモリマップ48で示すようにステップS9で先頭アドレス「0」からrad12のデータがSRAM19へ格納されることになるが、その場合、ステップS8ではSRAM用履歴メモリ47には書き込み先のSRAM19の先頭アドレスとして「0」がアドレスrad12と対応付けて記録する。
The start address of the
また、この例では、SRAM19への書き込み時にSDRAM18のアクセス単位と同じアクセス単位を用いることを前提としている。このように、ラインギャップ補正部14は、SRAM19に対してSDRAM18へのアクセス単位でアクセスすること、換言すればSDRAM18とSRAM19とでデータ格納先を切り替えるデータ単位をSDRAM18のアクセス単位に合わせることで、SDRAM18のメモリ帯域の軽減を効率的に行うことができる。無論、SDRAM18のアクセス単位以外のアクセス単位でSRAM19にアクセスするような構成を採用することもできる。そのような構成では、そのアクセス単位を示すアクセスサイズをSRAM用履歴メモリ47に追加しておけばよい。
In this example, it is assumed that the same access unit as the access unit of the
G,Bについても同様にして、アドレスgad33,bad34へ書き込みを行う際にSDRAM18のメモリ帯域が混雑していると判定された場合には、ステップS8においてSRAM用履歴メモリ47に、SDRAM18の先頭アドレスとしてそれぞれgad33,bad34が記録され、書き込み先のSRAM19の先頭アドレスとしてそれぞれ「32」,「64」が記録される。そして、ステップS9では、メモリマップ48に示すようにSRAM19に対し、先頭アドレス32,64からそれぞれアドレスgad33,bad34に対応するデータが格納される。なお、SRAM19への書き込み時の先頭アドレスが32Byte毎になっているのは、上述したようにSRAM19へのアクセス単位がSDRAM18のアクセス単位と同様に32Byteに固定されている例を挙げているためである。
Similarly, for G and B, when it is determined that the memory band of the
次に、図7を併せて参照しながら、このようにしてSDRAM18又はSRAM19にデータを書き込んだ後に実行される、ラインギャップ補正処理における読み出し処理の一例について説明する。図7は、図1の画像読取装置で実行されるラインギャップ補正処理のうち読み出し処理の一例を説明するためのフロー図である。
Next, an example of a reading process in the line gap correction process executed after data is written in the
まず、ラインギャップ補正部14が、図5で説明したようなSDRAM18のメモリマップを参照して、読み出したいラインのRGBデータが全色書き込まれているか否かを判定し(ステップS21)、全色揃うまで(YESとなるまで)待つ。次に、アドレス生成部14aが、読み出し側の対応するSDRAM18の先頭アドレスを色別に生成する(ステップS22)。次に、ラインギャップ補正部14は、その読み出し時の先頭アドレスがSRAM用履歴メモリ47におけるSDRAM18の先頭アドレスと一致しており且つ対応する有効bitが1であるか否かを判定する(ステップS23)。
First, the line
そのような履歴がある場合(ステップS23でYESの場合)には、ラインギャップ補正部14が、メモリマップ48を参照して対応するSRAM19の先頭アドレスからデータを読み出す(ステップS24)。そして、SRAM19から読み出した後、アドレス生成部14aが、SRAM用履歴メモリ47におけるその有効bitを0にしてSRAM19のそのメモリ領域を解放し(ステップS25)、読み出したいラインについての処理を終了する。
If there is such a history (YES in step S23), the line
一方、ステップS23でNOの場合、つまり読み出し時のSDRAM18の先頭アドレスが、SRAM用履歴メモリ47において有効bit=1で且つSDRAM18の先頭アドレスに一致するものがない場合には、ラインギャップ補正部14がそのままSDRAM18からデータを読み出し(ステップS26)、読み出したいラインについての処理を終了する。
On the other hand, if NO in step S23, that is, if the start address of the
このような読み出し処理により、図4の例で出力ライン毎のアドレス44を示すように、まず第1の出力ラインについて、アドレスrad1n,gad1n,bad1nの(n=1〜4)のデータが同時に出力される。ここで符号45はラインギャップ補正後の出力順序(出力ラインの順序)を示している。
By such a reading process, as shown in the
より具体的に説明すると、まずアドレスrad11,gad11,bad11のデータ(n=1のデータ)が同時に出力され、続いて、アドレスrad12,gad12,bad12のデータが同時に出力され、続いてアドレスrad13,gad13,bad13のデータが同時に出力され、最後にアドレスrad14,gad14,bad14のデータが同時に出力される。このようにして、Rについての入力5ライン目データと、Gについての入力3ライン目データと、Bについての入力1ライン目データとが、ラインギャップ補正後の出力1ライン目のデータとして同時に出力され、有効範囲内のデータのうち各色の1ライン目の読み出しが終了する。 More specifically, first, data of addresses rad11, gad11, and bad11 (data of n = 1) are output simultaneously, then data of addresses rad12, gad12, and bad12 are output simultaneously, followed by addresses rad13 and gad13. , Bad13 data is output simultaneously, and finally, data of addresses rad14, gad14, bad14 are output simultaneously. In this way, the fifth input line data for R, the third input line data for G, and the first input line data for B are simultaneously output as the output first line data after line gap correction. Then, the reading of the first line of each color in the data within the effective range is completed.
その後、次の出力ラインについてアドレスrad2n,gad2n,bad2n(n=1〜4)が同時に出力され、さらに次のラインについてアドレスrad3n,gad3n,bad3n(n=1〜4)が出力される。なお、ステップS25に関し、図5のSRAM用履歴メモリ47が読み出し処理後にどのように書き換わるかについては、図13の説明として簡単に後述する。
Thereafter, addresses rad2n, gad2n, bad2n (n = 1 to 4) are simultaneously output for the next output line, and addresses rad3n, gad3n, bad3n (n = 1 to 4) are output for the next line. Regarding the step S25, how the
このようにして、本発明では、ラインギャップ補正に使用するSDRAM18のメモリ帯域が混雑している場合にSRAM19を用いてSDRAM18のメモリ帯域を緩和している。これにより、本発明では、回転部21等における上記他の処理でもSDRAM18を使用できる可能性を向上させ、上記他の処理のパフォーマンスの低下を最小限に抑えている。
Thus, in the present invention, when the memory band of the
次に、図3のステップS4におけるメモリ帯域の混雑判定処理の一例について、図8〜図11を併せて参照しながら説明する。図8は、図3の書き込み処理におけるメモリ帯域の混雑判定処理の一例を説明するためのフロー図である。また、図9は、図1の画像処理装置におけるSDRAMの実装例を示す図、図10は、図9のSDRAMのWrite/Readサイクル数を説明するためのタイミング図、図11は、図9のSDRAMのアクセス要求表の一例を示す図である。なお、混雑判定処理はここで説明する例に限ったものではなく、混雑度合を判定できるものであればよい。 Next, an example of the memory band congestion determination process in step S4 of FIG. 3 will be described with reference to FIGS. FIG. 8 is a flowchart for explaining an example of memory bandwidth congestion determination processing in the writing processing of FIG. 9 is a diagram showing an example of mounting the SDRAM in the image processing apparatus of FIG. 1, FIG. 10 is a timing diagram for explaining the number of write / read cycles of the SDRAM of FIG. 9, and FIG. 11 is a diagram of FIG. It is a figure which shows an example of the access request table | surface of SDRAM. The congestion determination process is not limited to the example described here, and any process that can determine the degree of congestion can be used.
まず、SDRAMメモリ帯域判定部16は、SDRAM18へのアクセス要求毎に、SDRAM18のRead/Writeアクセス要求のアクセスサイズ(アクセスByte数)から、SDRAM18で必要なサイクル数を算出する(ステップS31)。
First, the SDRAM memory
図9〜図11を参照して、ステップS31の処理例を挙げる。図9のように、図1のSDRAM制御部17に相当する制御用IC(Integrated Circuit)10がSDRAM18での読み書きを制御している場合で例示する。なお、制御用IC10としては、SDRAM制御部17を含んでいればよく、例えばチップでの構成について上述したように、画像処理部13、ラインギャップ補正部14、CPU15、SDRAMメモリ帯域判定部16、SDRAM制御部17、SRAM19、回転部21、JPEG圧縮部22、及びネットワークI/F23を含むように構成することもできる。
A processing example of step S31 will be described with reference to FIGS. As illustrated in FIG. 9, the control IC (Integrated Circuit) 10 corresponding to the
制御用IC10におけるSDRAM18への制御は、図10で例示するようなコマンド信号52やクロック51により実行される。無論、SDRAM18のインターフェースとしては、このようなコマンド信号やクロックを送るライン以外にデータラインを有する。この例では、制御用IC10とSDRAM18とのデータ幅は64bitであるものとして説明する。
Control to the
コマンド信号52で例示するように、Write用のコマンド信号としては、ACT(アクティブコマンド)、WRIT(Writeコマンド)、PRE(プリチャージコマンド)が含まれる。制御用IC10は、クロック51に基づきWriteコマンド発行時にデータラインから対象となるデータをアクセス単位(64bit幅)でバースト転送する。図10の例で対象となるデータとは、データ群53のうちのWRITの下に図示したD1,D2,D3,D4を指し、それぞれが1回のバースト転送で転送される。
As exemplified by the
よって、この例では、1回のWriteアクセスにつき、4バースト分の合計32Byte(64bit×4)のデータがSDRAM18に転送されて書き込まれることになる。そして、この例では、この4回のバースト転送分とACTやPREの発行とを合わせて、合計8サイクル(8クロック)必要となる。そして、書き込みのデータ量がこの2倍の64Byteである場合には、2倍の16サイクルが必要となることになる。同様に、Read用のコマンド信号としては、ACT、READ(Readコマンド)、PREが含まれ、1回のReadアクセスにつき8サイクル必要となる。
Therefore, in this example, a total of 32 bytes (64 bits × 4) of data for 4 bursts are transferred to the
このようにSDRAM18のWriteやRead用コマンドサイクルはデータ量によって予め決まっている。よって、例えば図11のSDRAMアクセス要求表55で例示するように、要求毎にアクセスByte数(又はそれに必要なサイクル数)を制御用IC10内に記憶させておき、要求があった場合、このSDRAMアクセス要求表55を参照して、その要求に応じて必要なアクセスByte数から必要なサイクル数に変換する(又はその要求に必要なサイクル数を読み出す)。例えば、要求1の場合、そのアクセスByte数(アクセスサイズ)が32Byteであり、それに必要なサイクル数は図10で例示したものと同じで8サイクルとなる。要求3の場合、そのアクセスサイズ(アクセスByte数)が64Byteであり、それに必要なサイクル数は図10で例示したものの2倍で16サイクルとなる。
As described above, the write and read command cycles of the
次にSDRAMメモリ帯域判定部16は、全てのアクセス要求について換算して得たサイクル数を合計して(ステップS32)、別途設定した所定の混雑判定サイクル数と比較して大きいか否かを判定する(ステップS33)。SDRAMメモリ帯域判定部16は、その所定の混雑判定サイクル数より大きかった場合(ステップS33でYESの場合)には混雑していると判定し(ステップS34)、ステップS33でNOの場合には混雑していないと判定する(ステップS35)。
Next, the SDRAM memory
例えば、SDRAM18へのアクセス要求が、SDRAMアクセス要求表55の要求1と要求2と要求3とである場合、ステップS32ではそれらに必要なサイクル数を合計して32サイクルと算出できる。合計する要求には、ラインギャップ補正以外の処理におけるSDRAM18へのアクセス要求も含めておくことが好ましい。そして、上記所定の混雑判定サイクル数(閾値)が50サイクルであった場合には、ステップS33でNOとなり、ステップS35のように混雑していないと判定される。アクセスSDRAMメモリ帯域判定部16は、判定の結果をラインギャップ補正部14に渡し、処理を終了する。
For example, if the access request to the
次に、図3のステップS6における書き込み色の決定処理の一例について、図12及び図13を併せて参照しながら説明する。図12は、図3の書き込み処理における書き込み色決定処理の一例を説明するためのフロー図で、図13は、図4の具体例におけるSRAM用履歴メモリの他の例を説明するための図である。 Next, an example of the writing color determination process in step S6 of FIG. 3 will be described with reference to FIGS. 12 is a flowchart for explaining an example of the writing color determination process in the writing process of FIG. 3, and FIG. 13 is a diagram for explaining another example of the SRAM history memory in the specific example of FIG. is there.
まず、次のように言葉を定義する。「(書き込み時間)−(読み出し時間)」が最短の色を「最短格納色」とする。ここで、「(書き込み時間)−(読み出し時間)」とは、書き込み開始から読み出し終了(又は読み出し開始)までに要する時間を指す。また、「(書き込み時間)−(読み出し時間)」が2番目に短い色を「中間格納色」、最も長い色を「最大格納色」とする。また、最短格納色の最大使用メモリサイズを「最短色Size_all」、最短格納色が現在SRAM19に使っているメモリサイズを「最短色Size_used」とする。同様に、中間格納色の最大使用メモリサイズを「中間色Size_all」、中間格納色が現在SRAM19に使っているメモリサイズを「中間色Size_used」とする。
First, define the words as follows: The color having the shortest “(writing time) − (reading time)” is defined as “the shortest storage color”. Here, “(write time) − (read time)” refers to the time required from the start of writing to the end of reading (or the start of reading). In addition, the second shortest color “(writing time) − (reading time)” is “intermediate storage color”, and the longest color is “maximum storage color”. Further, the maximum used memory size of the shortest stored color is “shortest color Size_all”, and the memory size currently used by the shortest stored color in the
図12に沿って図3のステップS6の処理について説明する。まず、アドレス生成部14aは、SRAM19の空きサイズが「最短色Size_all−最短色Size_used」以下であるか否かを判定する(ステップS41)。ステップS41でYESの場合、最短格納色の1色を選び(ステップS44)、処理を終了する。なお、ステップS6は、ステップS5でYESとなった場合に実行されるため、ステップS41の処理時には、SRAM19の空きサイズが少なくともSRAM19の1アクセス単位分だけ存在することになり、空きサイズが1アクセス単位より小さい場合は存在しない。
The process of step S6 of FIG. 3 will be described along FIG. First, the
図13を参照して、最短格納色に決定される場合の使用メモリサイズについて説明する。図13の例では、出力ラインについて書き込み後、直ぐに読み出されるのはRのデータであるため、Rが最短格納色となる。なお、図13の例では、書き込みから読み出しまでに要する時間が短い色を優先してSRAM19に書き込んだ場合について示しており、また、入力ラインの書き込みに要する時間とラインギャップ補正後の出力ラインの読み出しに要する時間とが等しいものとして説明している。また、Bのデータについては書き込み後、Rのデータが揃って出力できるようになるまでに2ライン分保持しておく必要があり、Gのデータについては書き込み後、Rのデータが揃って出力できるようになるまでに1ライン分保持しておく必要がある。よって、Bが最大格納色、Gが中間格納色となる。
With reference to FIG. 13, the memory size used when the shortest storage color is determined will be described. In the example of FIG. 13, since the R data is read immediately after writing the output line, R is the shortest storage color. Note that the example of FIG. 13 shows a case where priority is given to a color that takes a short time from writing to reading in the
なお、図13で示す各色のメモリ領域61r,61g,61bは、それぞれ図4のメモリ領域41r,41g,41bや図5のメモリ領域46r,46g,46bと基本的に同じで、ライン数が3から7に増えただけである。また、図13の符号63も図4や図5の符号43と同じく入力順序を示している。また、符号64も図4の出力ライン毎のアドレス44と同様であり、符号65も図4の符号45と同様である。
13 are basically the same as the
まず、1ラインのデータサイズについて説明する。メモリ領域61rにおける有効範囲内の第1ラインのデータサイズで説明すると、先頭アドレスrad11〜rad14の4つのデータが1ラインに相当するため、1ラインのデータサイズはアクセス単位の4倍の128Byteとなる。なお、当然、G,Bについても1ラインのデータサイズは、アクセス単位を32Byteとするためその4倍の128Byteとなる。
First, the data size of one line will be described. In the case of the data size of the first line within the effective range in the
SRAM19への書き込み色が最短格納色Rに決定された場合、先頭アドレスrad11に対応するデータがSRAM19へ書き込まれることになり、それにより、図5のSRAM用履歴メモリ47に対応するSRAM用履歴メモリ67にはSDRAM先頭アドレスとしてrad11が書き込まれ、有効bit=1が書き込まれる。
When the write color to the
図13のメモリ領域61rにおいては、Rのデータのうち入力順序63が7番目のデータの書き込み時に、先頭アドレスrad31〜rad34の書き込み先としてSRAM19の別のメモリ領域を割り当てるように図示している。
In the
しかし、入力順序63が6番目のデータの書き込み時には既にrad11〜rad14のデータが読み出されている。この読み出しにより、SRAM用履歴メモリ67の有効bitがSRAM用履歴メモリ68で示すように「0」に書き換えられて(図7のステップS25に対応)、SRAM19及びSDRAM18の対応するメモリ領域が解放されることになる。よって、先頭アドレスrad31〜rad34のデータを先頭アドレスrad11〜rad14のデータに上書きすることができる。この上書き時には、SRAM用履歴メモリ69で示すように、SRAM用履歴メモリ68の有効bitが「1」に書き換えられ、SDRAM先頭アドレスがrad31に書き換えられることになる。
However, when writing the sixth data in the
このように、図13の例においてRのデータは格納サイクルが2ライン毎となる。よって、この例でRのデータに対して必要な使用メモリサイズは、最小で128Byte×2ライン=256Byteと算出できる。 Thus, in the example of FIG. 13, the data of R has a storage cycle every two lines. Therefore, the required memory size required for the R data in this example can be calculated as 128 bytes × 2 lines = 256 bytes at the minimum.
一方で、ステップS41でNOの場合、つまり、SRAM19の空きサイズが「最短色Size_all−最短色Size_used」より大きい場合には、アドレス生成部14aは「(最短色Size_all−最短色Size_used)+(中間色Size_all−中間色Size_used)」以下であるか否かを判定する(ステップS42)。ステップS42でNOの場合、つまりSRAM19の空きサイズが「最短色Size_all−最短色Size_used」より大きく且つ「(最短色Size_all−最短色Size_used)+(中間色Size_all−中間色Size_used)」より大きい場合には、全3色を選び(ステップS43)、処理を終了する。ステップS42でYESの場合には、最短格納色と中間色の2色を選び(ステップS45)、処理を終了する。
On the other hand, if NO in step S41, that is, if the vacant size of the
ここでは、書き込みから読み出しまでに要する時間が短い色を優先してSRAM19へ書き込む例を挙げているが、以下、そのような優先処理を採用する利点について、SRAM19の使用頻度の観点から説明する。ここでも、図13を参照しながら最短格納色がRである場合(つまり、任意の出力ラインで比べたとき、CCDラインセンサ11r,11g,11bのうち最後にデータを読み込む色がRである場合)を例に挙げて説明する。なお、上述したように図13の例では、書き込みから読み出しまでに要する時間が短い色を優先してSRAM19に書き込んだ場合について示しており、また、入力ラインの書き込みに要する時間とラインギャップ補正後の出力ラインの読み出しに要する時間とが等しく、SRAM19へのアクセス単位(格納単位)をSDRAM18のアクセス単位と同じとして説明する。
Here, an example is given in which a color that takes a short time from writing to reading is preferentially written to the
図13のメモリ領域61rに示すようにRのデータのうち入力順序63が5番目のデータ(SDRAM18の先頭アドレスrad11に対応して書き込まれるデータ)をSRAM19へ書き込んでおくと、入力順序63が6番目のデータの書き込み完了までには既に、出力ライン毎のアドレス64において1ライン目の出力として示すように、ラインギャップ補正した1ライン目のデータの出力が完了する。これにより、入力順序63が6番目のデータのSDRAM18への書き込み中に、先頭アドレスrad11に対応してSRAM19に書き込まれたデータが読み出されて、SRAM19におけるそのメモリ領域が解放できる。そのため、この例では、2ライン単位でSRAM19へのRead/Writeが可能になる。
As shown in the
一方で、書き込みから読み出しまでに要する時間が最も長いBのデータをSRAM19に格納した場合については、SRAM19のメモリ領域の開放までにより時間を要する。この点について、具体的に説明する。
On the other hand, when B data having the longest time from writing to reading is stored in the
BのデータをSRAM19に格納した場合、そのデータを書き込んでから読み出すまでの時間が、ラインギャップ数分のラインの書き込みに要する時間(4ライン分)と最初のラインの読み出しに要する時間(1ライン分)と最初に読み出したラインを開放するのに要する時間(1ライン分)とで、合計6ライン分となる。つまり、この場合、6ライン単位でSRAM19へのRead/Writeができることとなり、RのデータをSRAM19に格納した場合に比べて、SRAM19の使用頻度が低くなって、結果としてSDRAM18のメモリ帯域を緩和できるようなSRAM19へのアクセスが少なくなってしまう。
When the B data is stored in the
よって、書き込みから読み出しまでに要する時間が短い色を優先してSRAM19へ書き込むことで、他の色をSRAM19に書き込む場合に比べて、SRAM19のメモリ解放時間が早くなり、結果としてSDRAM18のメモリ帯域を効率よく緩和できる。この効果は、代用できるSRAM19のメモリ領域が少ない場合に特に顕著となる。
Therefore, writing to the
このように、ラインギャップ補正部14は、原稿読取部での読み取りにより得た各色のデータの内、SDRAM18への書き込みから読み出しまでに要する時間が最も短い色のデータを優先して、SRAM19に一時的に格納する(SRAM19に割り当てる)ことが好ましい。これにより、より多くのデータをSRAM19に割り当てることができ、SDRAMのメモリ帯域の軽減に貢献(寄与)できる。
As described above, the line
なお、ここでは全てのデータを一旦、SDRAM18又はSRAM19のいずれかに書き込むことを前提としているが、この例において「書き込みから読み出しまでに要する時間が最も短い色」に相当するRについては、書き込みすら行わずにそのまま画像処理部13に返す(若しくはラインギャップ補正部14への画像処理部13からの送信すら行わない)ような構成も可能である。その場合、中間格納色であるGのデータを優先してSRAM19に割り当てるとよい。
In this example, it is assumed that all data is once written in either the
次に、図12の書き込み色決定処理における具体例について、図14〜図17を併せて参照しながら説明する。また、図14は、図12の書き込み色決定処理に用いるSDRAMのメモリマップ(SRAMへの書き込みを行う前のSDRAMのメモリマップ)の一例を示す図である。また、図15〜図17は、それぞれ、図12の書き込み色決定処理に用いるSRAMのメモリマップの例を示す図である。なお、書き込み色決定処理はここで説明する例に限ったものではなく、例えば予め決められた色を書き込むように定めておくなど、他の決定方法に基づくものであってもよい。また、図15〜図17において、Wはアクセス単位を指す。 Next, a specific example in the writing color determination process of FIG. 12 will be described with reference to FIGS. FIG. 14 is a diagram showing an example of an SDRAM memory map (SDRAM memory map before writing to the SRAM) used in the writing color determination process of FIG. FIGS. 15 to 17 are diagrams showing examples of SRAM memory maps used for the writing color determination process of FIG. Note that the write color determination process is not limited to the example described here, and may be based on another determination method, for example, a predetermined color is determined to be written. 15 to 17, W represents an access unit.
図13等で例示したようにラインギャップがRとGで2ライン、GとBで2ラインある場合について説明する。図14のメモリマップ70で例示するように、SRAM19に格納先を置き換える前のSDRAM18のメモリマップでは、最初のラインのラインギャップ補正後の読み出しが可能となるまで、最短格納色についての格納領域71rとして、1ライン目の128Byte(32Byte×4)と2ライン目の128Byteとで合計256Byte必要となる。同様に、中間格納色についての格納領域71gについては、1〜4ライン目のそれぞれについて128Byte必要となり、合計512Byte必要となる。同様に、最大格納色についての格納領域71bについては、1〜6ライン目のそれぞれについて128Byte必要となり、合計768Byte必要となる。
A case where the line gap has two lines of R and G and two lines of G and B as illustrated in FIG. As illustrated in the
このようなSDRAM18のメモリマップ70をベースとして、SRAM19の空のサイズと使用済サイズとによる数値例を説明する。
A numerical example based on the empty size and the used size of the
(1)SRAM19のメモリサイズが最短色Size_all以下の場合
この例として、SRAM19のメモリサイズが128Byte(32Byte×4)である場合について説明する。
(1) When the Memory Size of the
(1)−1:未格納時
未格納時には、SRAM19の空きサイズも128Byteとなる。また、最短色Size_allは上述したように256Byteである。この場合、最短色Size_usedが0Byte(32Byte×0)であれば、図12のステップS41の式は、左辺が128Byte、右辺が256Byte−0Byte=256Byteとなり、YESとなる。よって、この場合、最短格納色の1色がSRAM19への書き込み色として決定される。
(1) -1: When not stored When not stored, the free space of the
(1)−2:格納時(判定が1色となる場合)
図15で例示するように、SRAM19のメモリマップ81が最短格納色について3アクセス単位分、使用されていた場合には、SRAM19の空きサイズは32Byte×1=32Byteとなり、最短色Size_usedが32×3=96Byteとなる。また、最短色Size_allは上述したように256Byteである。よって、この場合のステップS41の式は、左辺が32Byte、右辺が256Byte−96Byte=160Byteとなり、YESとなる。よって、この場合、最短格納色の1色がSRAM19への書き込み色として決定される。
(1) -2: When stored (when determination is one color)
As illustrated in FIG. 15, when the
(2)SRAM19のメモリサイズが、最短色Size_allより大きく最短色Size_all+中間色Size_all以下の場合
この例として、SRAM19のメモリサイズが384Byte(32Byte×12)である場合について説明する。
(2) Case where Memory Size of
(2)−1:未格納時
未格納時には、SRAM19の空きサイズも384Byteとなる。この場合、最短色Size_usedが0Byte(32Byte×0)であれば、ステップS41の式は、左辺が384Byte、右辺が256Byte−0Byte=256Byteとなり、NOとなる。未格納であるため、中間色Size_usedも0Byte(32Byte×0)になる。よって、ステップS42の式は、左辺が384Byte、右辺が(256Byte−0Byte)+(512Byte−0Byte)=768Byteとなり、YESとなる。よって、この場合、最短格納色と中間格納色の2色がSRAM19への書き込み色として決定される。
(2) -1: When not stored When not stored, the empty size of the
(2)−2:格納時1(判定が2色となる場合)
図16(A)で例示するように、SRAM19のメモリマップ82が最短格納色について3アクセス単位分、中間格納色について3アクセス単位分、使用されていた場合には、SRAM19の空きサイズは32Byte×6=192Byteとなり、最短色Size_used及び中間色Size_usedがいずれも32×3=96Byteとなる。また、最短色Size_all、中間色Size_allは上述したようにそれぞれ256Byte、512Byteである。よって、この場合のステップS41の式は、左辺が192Byte、右辺が256Byte−96Byte=160Byteとなり、NOとなる。次にステップS42の式は、左辺が192Byte、右辺が(256Byte−96Byte)+(512Byte−96Byte)=576Byteとなり、YESとなる。よって、この場合、最短格納色と中間格納色の2色がSRAM19への書き込み色として決定される。
(2) -2: When stored 1 (when determination is two colors)
As illustrated in FIG. 16A, when the
(2)−3:格納時2(判定が1色となる場合)
図16(B)で例示するように、SRAM19のメモリマップ83が最短格納色について5アクセス単位分、中間格納色について4アクセス単位分、使用されていた場合には、SRAM19の空きサイズは32Byte×3=96Byteとなり、最短色Size_used、中間色Size_usedがそれぞれ32×5=160Byte、32×4=128Byteとなる。また、最短色Size_all、中間色Size_allは上述したようにそれぞれ256Byte、512Byteである。よって、この場合のステップS41の式は、左辺が96Byte、右辺が256Byte−160Byte=160Byteとなり、YESとなる。よって、この場合、最短格納色の1色がSRAM19への書き込み色として決定される。
(2) -3: 2 during storage (when determination is one color)
As illustrated in FIG. 16B, when the
(3)SRAM19のサイズが、最短色Size_all+中間色Size_allより大きい場合
この例として、SRAM19のメモリサイズが1024Byte(32Byte×32)である場合について説明する。
(3) When the size of the
(3)−1:未格納時
未格納時には、SRAM19の空きサイズも1024Byteとなる。この場合、最短色Size_usedが0Byte(32Byte×0)であれば、ステップS41の式は、左辺が1024Byte、右辺が256Byte−0Byte=256Byteとなり、NOとなる。未格納であるため、中間色Size_usedも0Byte(32Byte×0)になる。よって、ステップS42の式は、左辺が1024Byte、右辺が(256Byte−0Byte)+(512Byte−0Byte)=768Byteとなり、NOとなる。よって、この場合、全3色がSRAM19への書き込み色として決定される。
(3) -1: When not stored When not stored, the free space of the
(3)−2:格納時1(判定が3色となる場合)
図17で例示するように、SRAM19のメモリマップ84が3色全てについて3アクセス単位分、使用されていた場合には、SRAM19の空きサイズは32Byte×19=608Byteとなり、最短色Size_used及び中間色Size_usedがいずれも32×3=96Byteとなる。また、最短色Size_all、中間色Size_allは上述したようにそれぞれ256Byte、512Byteである。よって、この場合のステップS41の式は、左辺が608Byte、右辺が256Byte−96Byte=160Byteとなり、NOとなる。次にステップS42の式は、左辺が608Byte、右辺が(256Byte−96Byte)+(512Byte−96Byte)=576Byteとなり、NOとなる。よって、この場合、全3色がSRAM19への書き込み色として決定される。
(3) -2: 1 when stored (when judgment is 3 colors)
As illustrated in FIG. 17, when the
(3)−2:格納時2(判定が2色となる場合)
上記(2)−2と同様に説明ができるため、省略する。
(3)−3:格納時3(判定が1色の場合)
上記(2)−3と同様に説明ができるため、省略する。
(3) -2: 2 at the time of storage (when the judgment is two colors)
Since it can be described in the same manner as (2) -2 above, it will be omitted.
(3) -3: When stored 3 (when determination is one color)
Since it can be described in the same manner as (2) -3 above, it will be omitted.
また、上述した様々な形態において、SDRAMメモリ帯域判定部16は、SDRAM18のメモリ帯域が混雑している度合いを判定するように構成してもよい。その場合、ラインギャップ補正部14は、SDRAMメモリ帯域判定部16で判定された混雑している度合いに基づき、混雑している程、ラインギャップ補正のためにSRAM19に一時的に格納するデータの割合を増やす。このように、SDRAM18のメモリ帯域の混雑度合いに応じて、ラインギャップ補正にSRAM19を活用する割合を高めることで、SDRAMのメモリ帯域の混雑に応じて、ラインギャップ補正以外の処理のパフォーマンスの低下を最小限に抑えることができる。
Further, in the various forms described above, the SDRAM memory
以上のように、本発明に係る画像読取装置は、複数色のCCD(Charge Coupled Device)ラインセンサを用い、各色の読み取りラインにラインギャップをもたせた状態で原稿の読み取りを行う原稿読取部と、SDRAM(Synchronous Dynamic Random Access Memory)と、前記原稿読取部での読み取りにより得た各色のデータを該SDRAMに一時的に格納させ、格納された各色のデータに対してラインギャップ補正を行った状態で出力するラインギャップ補正部と、を備えた画像読取装置であって、前記SDRAMのメモリ帯域が混雑しているか否かを判定する判定部と、SRAM(Static Random Access Memory)と、をさらに備え、前記ラインギャップ補正部は、前記判定部で混雑していると判定されている場合に、前記原稿読取部での読み取りにより得た各色のデータの一部又は全部を、前記SDRAMの代わりに前記SRAMに一時的に格納させ、前記SDRAM又は前記SRAMに格納された各色のデータに対してラインギャップ補正を行った状態で出力することを特徴としたものである。これにより、ラインギャップ補正に使用するSDRAMのメモリ帯域が混雑している場合に、ラインギャップ補正以外の処理のパフォーマンスの低下を最小限に抑えることができる。 As described above, the image reading apparatus according to the present invention uses a multi-color CCD (Charge Coupled Device) line sensor, and a document reading unit that reads a document in a state where a line gap is provided in each color reading line; In a state where data of each color obtained by SDRAM (Synchronous Dynamic Random Access Memory) and reading by the original reading unit is temporarily stored in the SDRAM and line gap correction is performed on the stored data of each color. An output line gap correction unit, and further comprising: a determination unit that determines whether or not the memory bandwidth of the SDRAM is congested; and an SRAM (Static Random Access Memory); The line gap correction unit, when it is determined that the determination unit is congested, the data of each color obtained by reading by the document reading unit. A part or all of the data is temporarily stored in the SRAM instead of the SDRAM, and output in a state in which line gap correction is performed on the data of each color stored in the SDRAM or the SRAM. It is what. As a result, when the memory bandwidth of the SDRAM used for line gap correction is congested, it is possible to minimize a decrease in performance of processes other than line gap correction.
また、前記判定部は、前記SDRAMのメモリ帯域が混雑している度合いを判定し、前記ラインギャップ補正部は、前記判定部で判定された混雑している度合いに基づき、混雑している程、前記SRAMに一時的に格納するデータの割合を増やすことが好ましい。これにより、SDRAMのメモリ帯域の混雑に応じて、ラインギャップ補正以外の処理のパフォーマンスの低下を最小限に抑えることができる。 Further, the determination unit determines the degree of congestion of the SDRAM memory bandwidth, and the line gap correction unit is congested based on the degree of congestion determined by the determination unit. It is preferable to increase the ratio of data temporarily stored in the SRAM. As a result, it is possible to minimize a decrease in processing performance other than the line gap correction in accordance with the congestion of the SDRAM memory bandwidth.
また、前記ラインギャップ補正部は、前記SRAMに対し、前記SDRAMへのアクセス単位でアクセスすることが好ましい。これにより、SDRAMのメモリ帯域の軽減を効率的に行うことができる。 The line gap correction unit may access the SRAM in units of access to the SDRAM. Thereby, the memory bandwidth of the SDRAM can be efficiently reduced.
また、前記ラインギャップ補正部は、前記原稿読取部での読み取りにより得た各色のデータの内、前記SDRAMへの書き込みから読み出しまでに要する時間が最も短い色のデータを優先して、前記SRAMに一時的に格納することが好ましい。これにより、より多くのデータをSRAMに割り当てることができ、SDRAMのメモリ帯域の軽減に貢献(寄与)できる。 In addition, the line gap correction unit gives priority to the color data having the shortest time from writing to reading to the SDRAM among the data of each color obtained by reading by the document reading unit. It is preferable to store temporarily. As a result, more data can be allocated to the SRAM, which can contribute to (reduce) the memory bandwidth of the SDRAM.
1…画像読取装置、11…CCDラインセンサ部、11r,11g,11b…CCDラインセンサ、12…A/D変換部、13…画像処理部、13a…シェーディング補正部、13b…入力γ補正部、13c…領域分離・フィルタ部、13d…ズーム処理部、14…ラインギャップ補正部、14a…アドレス生成部、14b…SRAM用履歴メモリ、15…CPU、16…アクセスSDRAMメモリ帯域判定部、17…SDRAM制御部、18…SDRAM、19…SRAM、21…回転部、22…JPEG圧縮部、23…ネットワークI/F。
DESCRIPTION OF
Claims (4)
前記SDRAMのメモリ帯域が混雑しているか否かを判定する判定部と、SRAM(Static Random Access Memory)と、をさらに備え、
前記ラインギャップ補正部は、前記判定部で混雑していると判定されている場合に、前記原稿読取部での読み取りにより得た各色のデータの一部又は全部を、前記SDRAMの代わりに前記SRAMに一時的に格納させ、前記SDRAM又は前記SRAMに格納された各色のデータに対してラインギャップ補正を行った状態で出力することを特徴とする画像読取装置。 A document reading unit that reads a document in a state where each color reading line has a line gap using a multi-color CCD (Charge Coupled Device) line sensor, an SDRAM (Synchronous Dynamic Random Access Memory), and the document reading unit And a line gap correction unit that temporarily stores the data of each color obtained by reading in the SDRAM and outputs the stored data of each color in a state in which the line gap correction is performed. Because
A determination unit for determining whether or not the memory bandwidth of the SDRAM is congested; and an SRAM (Static Random Access Memory);
When the determination unit determines that the line gap correction unit is congested, a part or all of the data of each color obtained by reading by the document reading unit is replaced with the SRAM instead of the SDRAM. An image reading apparatus that outputs data in a state where line gap correction is performed on the data of each color stored in the SDRAM or the SRAM.
前記ラインギャップ補正部は、前記判定部で判定された混雑している度合いに基づき、混雑している程、前記SRAMに一時的に格納するデータの割合を増やすことを特徴とする請求項1に記載の画像読取装置。 The determination unit determines the degree of congestion of the memory bandwidth of the SDRAM,
2. The line gap correction unit according to claim 1, wherein the line gap correction unit increases a ratio of data temporarily stored in the SRAM as it is congested based on the degree of congestion determined by the determination unit. The image reading apparatus described.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012268949A JP2014116765A (en) | 2012-12-10 | 2012-12-10 | Image reading device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012268949A JP2014116765A (en) | 2012-12-10 | 2012-12-10 | Image reading device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014116765A true JP2014116765A (en) | 2014-06-26 |
Family
ID=51172356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012268949A Pending JP2014116765A (en) | 2012-12-10 | 2012-12-10 | Image reading device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014116765A (en) |
-
2012
- 2012-12-10 JP JP2012268949A patent/JP2014116765A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9166933B2 (en) | Memory control apparatus, information processing apparatus, and memory control method | |
US5850487A (en) | Digital image processing apparatus | |
US9569703B2 (en) | Data transfer apparatus and method thereof | |
JP2009055189A (en) | Multifunction system and multifunction device | |
JP2007199815A (en) | Memory control device and memory control method | |
JP2002259208A (en) | Device and method for controlling memory | |
US5349449A (en) | Image data processing circuit and method of accessing storing means for the processing circuit | |
US9672874B2 (en) | Buffer, method for controlling buffer, synchronization control device, synchronization control method, image processing apparatus, and image processing method | |
JP2014116765A (en) | Image reading device | |
JP6357804B2 (en) | Image processing apparatus, integrated circuit, and image forming apparatus | |
US20100067042A1 (en) | Image forming apparatus and data transferring method | |
JP6463437B2 (en) | Image processing apparatus, control method therefor, and program | |
JP4143246B2 (en) | Image forming system | |
JP6808712B2 (en) | Image processing device, its control method, and program | |
JP5245803B2 (en) | Image processing apparatus and image processing module | |
JPH11168610A (en) | Image processor | |
JP2952270B2 (en) | Image conversion device | |
JP2009193337A (en) | Page memory controller | |
JP4848188B2 (en) | Unit having memory device having a plurality of memory areas and memory control system | |
JP4725799B2 (en) | Image forming apparatus | |
JP4896051B2 (en) | Image forming apparatus, image forming method, and program | |
JP5885780B2 (en) | Image processing apparatus, control method therefor, and program | |
JP2013103372A (en) | Image forming apparatus | |
JP2009193338A (en) | Memory controller | |
JP3522047B2 (en) | DMA controller |