JP2004072600A - Image rotation system and image rotation method - Google Patents

Image rotation system and image rotation method Download PDF

Info

Publication number
JP2004072600A
JP2004072600A JP2002231576A JP2002231576A JP2004072600A JP 2004072600 A JP2004072600 A JP 2004072600A JP 2002231576 A JP2002231576 A JP 2002231576A JP 2002231576 A JP2002231576 A JP 2002231576A JP 2004072600 A JP2004072600 A JP 2004072600A
Authority
JP
Japan
Prior art keywords
data
memory
writing
image rotation
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002231576A
Other languages
Japanese (ja)
Inventor
Michitaka Fukuda
福田 道隆
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002231576A priority Critical patent/JP2004072600A/en
Publication of JP2004072600A publication Critical patent/JP2004072600A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To improve memory access efficiency by burst access without causing a bank conflict and to secure real-time performance during serial scanning. <P>SOLUTION: The image rotation system, which has a receive memory receiving and storing data to be entered and a data buffer temporarily accumulating the data, has means for writing the data in the receive memory, means for reading out the data from the receive memory and writing the data in the data buffer, means for slicing the data from the data buffer and performing image rotation, and means for writing a result after the image rotation into a memory. The system has means for performing burst write access with continuous addresses and switching banks for each line when storing the data in the receive memory, and has means for performing data allocation by performing burst read access switching banks for each line when reading out the data from the receive memory and writing it in the data buffer. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、レーザプリンタ、インクジェットプリンタ、複合機を含む画像形成装置の画像データの画像回転システム及び画像回転方法に関する。
【0002】
【従来の技術】
従来、プリンタなどの画像形成装置において、画像データを編集する処理が必要となっており、例えば画像データを回転させる機能も求められている。画像データを用紙の向きに合わせるためや、縦方向のインク吐出孔を配置してシリアルスキャンを行うインクジェットプリンタなどで、特に重要視されている。
【0003】
画像データの回転、特にラスターカラム変換を行う画像形成装置は、何らかの手法で描画されたラスターデータをカラムごとに切出す際に、まず、ラスターデータをある程度のバンド分だけ溜め、CPUに割り込みを出して通知し、CPUはラスターカラム変換を行う諸設定を行い、変換回路を起動する。その後、横hドット、縦vドット分のバッファにラスターバンドデータの一部をあて、データを縦方向に切出して、メモリに格納することを繰り返し、すべてのラスターバンドデータ分を処理するとCPUに割り込みを出して通知する順番で処理を行っている。
【0004】
【発明が解決しようとする課題】
しかし、このラスターカラム変換を高速に処理するにあたって、以下の問題が発生する。図9は、従来のラスター順次に連続アドレスでメモリに格納した場合の用紙とアドレスとの関係とバッファ格納図を示す図である。受信データのフォーマットとしては、主にラスター順次である場合が多く、図9のようなイメージで入力される。この場合、入力されるラスターデータは連続してくるため、順に連続アドレスにライトすると、不連続なアドレスからデータをリードし、バッファにライトしなければならない。これは、バンク構成をもつメモリを使用した場合、シングルアクセスとなり、メモリアクセス効率が非常に悪くなる。
【0005】
それでは、バッファにリードする際に連続アドレスとなるようにする。図10は、従来のラスター順次に不連続アドレスでメモリに格納した場合の用紙とアドレスの関係とバッファ格納図を示す図である。この場合、バッファに詰める段階で連続したアドレス順になる。これはバーストアクセスをした場合、メモリのレイテンシの分だけアクセスが遅くなる、すなわちリードが遅くなるという点から、リードだけはなんとかバーストアクセスをして、少しでもアクセス効率を上げようという意図で行うものも知られている。しかしながら、始めの入力が不連続アドレス、すなわちシングルアクセスとなるので、どうしてもアクセス効率は悪くなってしまう。しかし、不連続アドレスのメモリアクセスでは、ライトの方が若干早いために(レイテンシの分)この方法を採用するケースがある。
【0006】
また、バッファから縦方向に切出してメモリに順に格納する場合、シリアルスキャンなどを行う記録装置の性質上、不連続アドレスでライトしなければならない。図11は、従来のバッファ切出し後のアドレスイメージを示す図である。図11のように縦方向の連続性を意識せず順番にライトすると、いざインクジェットプリンタのヘッドが動作してデータをリードするときに不連続アドレスでリードしなければならず、リアルタイム性を確保する上で問題となる。シリアルスキャンなどを行う記録装置は、縦方向に吐出孔が年々増えており、とてもバッファの縦vドット分に収まりきれなくなったからである。
【0007】
さらに、記録装置がシリアルスキャンを行い、カラム生成されたデータを順にリードする際は、要求されるリード時間が限られるため連続アドレスでリードしなければならない。わざわざ不連続アドレスでライトする工夫によるものであるが、連続アドレスであるがゆえにバンクコンフリクトが発生し、メモリアクセス効率が悪くなる。
【0008】
本発明は、上記事情に鑑みてなされたものであり、バンクコンフリクトせずに、バーストアクセスでメモリアクセス効率を向上させ、シリアルスキャン時のリアルタイム性を確保することを目的とする。
【0009】
【課題を解決するための手段】
かかる目的を達成するために、請求項1記載の発明は、入力されるデータを受信し、格納する受信メモリと、該データを一時的に蓄積するデータバッファとを有し、前記受信メモリに該データを書込む手段と、前記受信メモリから該データを読出して前記データバッファに書込む手段と、前記データバッファから該データを切出して画像回転を行う手段と、画像回転後の結果をメモリに書込む手段とを有する画像回転システムにおいて、前記受信メモリにデータを格納する際は、連続するアドレスでバーストライトアクセスし、ラインごとにバンクを切替える手段を有し、前記受信メモリから読出し、前記データバッファに書込みを行う際は、ラインごとにバンクを切替えてバーストリードアクセスし、データ配置を行う手段を有することを特徴としている。
【0010】
請求項2記載の発明は、入力されるデータを受信し、格納する受信メモリと、該データを一時的に蓄積するデータバッファとを有し、前記受信メモリに該データを書込む手段と、前記受信メモリから該データを読出して前記データバッファに書込む手段と、前記データバッファから該データを切出して画像回転を行う手段と、画像回転後の結果をメモリに書込む手段とを有する画像回転システムにおいて、前記データバッファに格納したデータを読み出す手段を有し、画像回転後の結果を書込む際は、バンドごとにバンクを切替えてメモリにライトアクセスし、データ配置を行う手段を有することを特徴としている。
【0011】
請求項3記載の発明は、入力されるデータを受信し、格納する受信メモリと、該データを一時的に蓄積するデータバッファとを有し、前記受信メモリに該データを書込む手段と、前記受信メモリから該データを読出して前記データバッファに書込む手段と、前記データバッファから該データを切出して画像回転を行う手段と、画像回転後の結果をメモリに書込む手段とを有する画像回転システムにおいて、前記データバッファに格納したデータを読出して画像回転後の結果を書込む際は、バンドごとにバンクを切替えて複数のアドレス先へ分割してライトアクセスし、データ配置を行う手段を有することを特徴としている。
【0012】
請求項4記載の発明は、入力されるデータを受信し、格納する受信メモリと、該データを一時的に蓄積するデータバッファとを有し、前記受信メモリに該データを書込む手段と、前記受信メモリから該データを読出して前記データバッファに書込む手段と、前記データバッファから該データを切出して画像回転を行う手段と、画像回転後の結果をメモリに書込む手段とを有する画像回転システムにおいて、前記受信メモリにデータを格納する際は、連続するアドレスでバーストライトアクセスし、ラインごとにバンクを切替える手段を有し、前記受信メモリから読出し、前記データバッファに書込みを行う際は、ラインごとにバンクを切替えてバーストリードアクセスし、データ配置を行う手段と、画像回転後の結果を書込む際は、バンドごとにバンクを切替えてメモリにライトアクセスし、データ配置を行う手段を有することを特徴としている。
【0013】
請求項5記載の発明は、入力されるデータを受信し、格納する受信メモリと、該データを一時的に蓄積するデータバッファとを有し、前記受信メモリに該データを書込む手段と、前記受信メモリから該データを読出して前記データバッファに書込む手段と、前記データバッファから該データを切出して画像回転を行う手段と、画像回転後の結果をメモリに書込む手段とを有する画像回転システムにおいて、前記受信メモリにデータを格納する際は、連続するアドレスでバーストライトアクセスし、ラインごとにバンクを切替える手段を有し、前記受信メモリから読出し、前記データバッファに書込みを行う際は、ラインごとにバンクを切替えてバーストリードアクセスし、データ配置を行う手段と、前記データバッファに格納されたデータを読出して画像回転後の結果を書込む際は、バンドごとにバンクを切替えて複数のアドレス先へ分割してライトアクセスし、データ配置を行う手段を有することを特徴としている。
【0014】
請求項6記載の発明は、入力されるデータを受信し、格納する受信メモリと、該データを一時的に蓄積するデータバッファとを有し、前記受信メモリに該データを書込む工程と、前記受信メモリから該データを読出して前記データバッファに書込む工程と、前記データバッファから該データを切出して画像回転を行う工程と、画像回転後の結果をメモリに書込む工程とを有する画像回転方法において、前記受信メモリにデータを格納する際は、連続するアドレスでバーストライトアクセスし、ラインごとにバンクを切替える工程を有し、前記受信メモリから読出し、該データバッファに書込みを行う際は、ラインごとにバンクを切替えてバーストリードアクセスし、データ配置を行う工程を有することを特徴としている。
【0015】
請求項7記載の発明は、入力されるデータを受信し、格納する受信メモリと、該データを一時的に蓄積するデータバッファとを有し、前記受信メモリに該データを書込む工程と、前記受信メモリから該データを読出して前記データバッファに書込む工程と、前記データバッファから該データを切出して画像回転を行う工程と、画像回転後の結果をメモリに書込む工程とを有する画像回転方法において、前記データバッファに格納されたデータを読み出す工程を有し、画像回転後の結果を書込む際は、バンドごとにバンクを切替えてメモリにライトアクセスし、データ配置を行う工程を有することを特徴としている。
【0016】
請求項8記載の発明は、入力されるデータを受信し、格納する受信メモリと、該データを一時的に蓄積するデータバッファとを有し、前記受信メモリに該データを書込む工程と、前記受信メモリから該データを読出して前記データバッファに書込む工程と、前記データバッファから該データを切出して画像回転を行う工程と、画像回転後の結果をメモリに書込む工程とを有する画像回転方法において、前記データバッファに格納したデータを読出して画像回転後の結果を書込む際は、バンドごとにバンクを切替えて複数のアドレス先へ分割してライトアクセスし、データ配置を行う工程を有することを特徴としている。
【0017】
請求項9記載の発明は、入力されるデータを受信し、格納する受信メモリと、該データを一時的に蓄積するデータバッファとを有し、前記受信メモリに該データを書込む工程と、前記受信メモリから該データを読出して前記データバッファに書込む工程と、前記データバッファから該データを切出して画像回転を行う工程と、画像回転後の結果をメモリに書込む工程とを有する画像回転方法において、前記データバッファに格納されたデータを読み出す工程を有し、前記受信メモリにデータを格納する際は、連続するアドレスでバーストライトアクセスし、ラインごとにバンクを切替える工程を有し、前記受信メモリから読出し、該データバッファに書込みを行う際は、ラインごとにバンクを切替えてバーストリードアクセスし、データ配置を行う工程を有し、画像回転後の結果を書込む際は、バンドごとにバンクを切替えてメモリにライトアクセスし、データ配置を行う工程を有することを特徴としている。
【0018】
請求項10記載の発明は、入力されるデータを受信し、格納する受信メモリと、該データを一時的に蓄積するデータバッファとを有し、前記受信メモリに該データを書込む工程と、前記受信メモリから該データを読出して前記データバッファに書込む工程と、前記データバッファから該データを切出して画像回転を行う工程と、画像回転後の結果をメモリに書込む工程とを有する画像回転方法において、前記受信メモリにデータを格納する際は、連続するアドレスでバーストライトアクセスし、ラインごとにバンクを切替える工程を有し、前記受信メモリから読出し、該データバッファに書込みを行う際は、ラインごとにバンクを切替えてバーストリードアクセスし、データ配置を行う工程と、前記データバッファに格納したデータを読出して画像回転後の結果を書込む際は、バンドごとにバンクを切替えて複数のアドレス先へ分割してライトアクセスし、データ配置を行う工程を有することを特徴としている。
【0019】
【発明の実施の形態】
以下、本発明の実施の形態を添付図面を参照しながら詳細に説明する。
【0020】
[実施例1]
図1は、本発明の画像回転システムの一実施例を示すブロック図である。本発明のシステムは、メモリアービターA1と、メモリコントローラA2と、外部メモリA3と、DMAブロックA4と、データ受信部A5と、データソース部A6と、データ変換器A7と、データ出力ブロックA8と、データディスティネーション部A9と、CPUA10と、ROMA11とを有し構成されている。
【0021】
メモリアービターA1は、各機能ブロックとのメモリアクセス要求に対する処理を行う。メモリコントローラA2は、外部メモリA3とのインターフェースを司る。DMAブロックA4は、各機能ブロックとメモリアービターA1とのインターフェースを司る。データ受信部A5は、データソース部A6から何かしらの入力を受けて、転送先の外部メモリA3に対してのアドレスを適切に切替えて、DMAブロックA4に渡す。データ変換器A7は、外部メモリA3に格納されたデータを、DMAブロックA4を介して、回転処理を行い、転送先の外部メモリA3に対してのアドレスを適切に切替えて、DMAブロックA4に渡す。データ出力ブロックA8は、転送元の外部メモリA3に対してのアドレスを適切に切替えて、DMAブロックA4を介してリードし、何かしらのデータディスティネーション部A9に出力する。CPUA10は、本システムを制御するCPUである。ROMA11は、プログラムなどが格納されるROMである。
【0022】
図1のブロック図は、入力された画像データを回転し、出力するという簡単な構成の一例を挙げている。まず、データソース部A6で入力されたデータをデータ受信部A5が受信し、DMAブロックA4、メモリアービタA1、メモリコントローラA2を介しメモリA3にデータを書込む。
【0023】
次に、メモリA3からメモリコントローラA2、メモリアービタA1、DMAブロックを介し、データ変換器A7にデータが入力され、回転処理が行われる(バッファライト)。データ変換器A7(バッファリード)からDMAブロックA4、メモリアービタA1、メモリコントローラA2を介し、メモリA3に回転処理後のデータを書込む。回転対象のエリアを横にずらし、データ変換器A7へのデータ送信、メモリA3への書込みを繰返し、回転対象の全エリアを行う。
【0024】
回転対象の全エリア終了後、回転されたデータを、メモリA3からリードし、メモリコントローラA2、メモリアービタA1、DMAブロックA4を介し、データディスティネーション部A9へ書込むみ、回転処理後のデータを本処理外へ渡す。
【0025】
図2は、ラスター順次に連続アドレスでラスタごとにバンクを切替えてメモリに格納した場合の用紙とアドレスの関係とバッファ格納図を示す図である。図2は、ラスター順次にデータ受信部A5に入力されるデータをメモリA3にどう配置したかを表している。メモリA3に対しては連続アドレスでかつ、単位を従来よりも増やした(図2では32bit→128bit)ので、バースト単位で格納する。ラスターごとにバンクを切替えてデータ受信部A5に入力されるデータをメモリA3にライトする。
【0026】
図3は、受信メモリへのバーストライトを示す図である。バッファに詰めるときは、不連続アドレス順に、バンク0のアドレス0からバーストリード、バンク1のアドレス0からバーストリード、バンク2のアドレス0からバーストリードという感じでアクセスし、図2のように詰めていく。従ってバンクコンフリクトなくバーストリードできる。図4は、バッファ格納時のバーストリードを示す図である。従って、本実施例によって、データ受信でメモリにライトするシングルアクセスと、バッファ内へ書込むためのリードでバンクコンフリクトを回避することができ、飛躍的にアクセス効率が向上できる。
【0027】
データ受信部A5からメモリA3にデータをライトする動作のフローチャートを図5に示す。まず、引数の初期化を行い(ステップS501)、受信ラスター長Hと、格納先頭アドレスKAを設定する(ステップS502)。受信ラスター長Hは、128bit単位を一つとしたユニットが横に何個入力されるかという意味を持つ。格納先頭アドレスKAは、32ラスターデータの先頭データをどこのアドレスに入れるかという意味を持つ。この2つが予め分かっていれば、ハードウエアは、次々入力されるデータに対し、アドレス先を計算して格納することが可能となる。
【0028】
128bitのデータが溜まったら(ステップS503でYes)、メモリに格納し(ステップS504)、16バイト先(16*RHT)にアドレスを足す(ステップS507)。これを受信ラスター長H=RHT、すなわち1ラスターの入力が終了するまで(ステップS505でYes)繰り返していく。(PHTは、受信128bit単位の個数)次のバンクに切替えて同様に繰り返す。仮に4バンク構成のメモリを使用した場合、4ラスターごとにバンクが繰り返される。4ラスターごとに(ステップS508でYes)、アドレスオフセット分の計算をし(ステップS509)、これを足しこむ(ステップS510)。このようにして32ラスター分の受信を行っている。
【0029】
また、メモリA3からデータをリードして、データ変換器A7内バッファに格納する動作のフローチャートを図6に示す。まず、128bitの4ラスタ単位にアドレスが増分するOFFSET、128bitの32ラスタ単位にアドレスが増分するOFFSET2、128bit*32ラスタ分のリード及びバッファライト及びカラム方向の切出しの一通り処理が終わると増分するHV、128bitリード後にバッファへライトするアドレスBFAを初期化する(ステップS601)。次に、読出し先頭アドレスRAを設定し、読出しラスタ長RHを参照する(ステップS602)。現在読出ししているアドレスを計算し(ステップS603)128bit単位でリードし、BFAアドレスにライトし(ステップS610)、BFA、Rを1増加する(ステップS611、S612)。これは、バンクが変わるだけのアクセスとなる。
【0030】
Rが4の倍数、つまり128bit*4ラスタ単位のリードが終了したら(ステップS608でYes)、16*(RH+1)*(R/4)をOFFSETとして足しこみ(ステップS609)、BFAアドレスにライトする処理を行う(ステップS610)。次の128bit単位の4ラスタリードでは、OFFSET分のアドレスが足しこまれて、バンクが切替わる。
【0031】
R=32つまり128bit*32ラスタ単位のリードが終了したら(ステップS604でYes)、R、OFFSET、BFAを初期化し(ステップS605)、データをカラム方向から順に切出し(ステップS606)、HVを1増加する(ステップS613)。ポイントは、あくまでバッファに書込むまでのシステムであるから、これについては特定した方法まで言及しない。そして、16*HVをOFFSET2としてリードアドレスのオフセット分として足しこむ(ステップS614)。RH=HVとなれば(ステップS607でYes)、対象領域が終了したことになるので、処理を終了する。
【0032】
[実施例2]
本実施例も図1から図6の構成を用いる。ここまではバッファに格納されたデータをカラム方向に切出してメモリに戻す以外の内容であり、実施例1の通りであるので説明を省略する。ところで本実施例でのポイントは、あくまでバッファからメモリにライトするシステムについてであるから、バッファに書込むまでのシステムを指定した実施例1は一つの例であり、特に特定しなくとも良い。
【0033】
実施例2では、このバッファに格納されたデータをカラム方向に切出してメモリに戻す方法について記述する。実施例1と分けて記述した理由は、実施例1と実施例2は独立として使用しても良いし、併せて使用しても良いからである。
【0034】
図7は、実施例1のシステムで格納されたバッファ内のデータの様子と、縦に切出した順を示した切出しイメージと切出し後のアドレスイメージを示す図である。F0、F1、F2・・・F127の順に切出すことができる。縦方向のバッファのビット幅は、実施例1では32bitで記述したが、本実施例ではより高速性を高めるため、バーストアクセスを考慮して、例えば128bitとする。まずこの構成に替えることで縦に切出したデータを格納するときのスループットを上げる。
【0035】
ところでこの縦に切出したF0、F1、F2、・・・F127の順のデータをどのようなアドレス順でメモリA3にライトするかが問題である。例えば縦方向のインク吐出孔を配置してシリアルスキャンを行うインクジェットプリンタなどの場合、たいていは問題が生じる。縦方向のノズル列を増やし、高速に動作させるため、縦方向に連続アドレスかつバンクコンフリクトないようにするためにF0、F1、F2、・・・F127のアドレスはこれを考慮して不連続なアドレスかつバーストアクセスで格納しなければならない。このようにすれば高速にシリアルスキャンして縦の画像データを連続アドレスかつバンクコンフリクトなくリードすることで、高速化を図りリアルタイム性を確保することができるからである。
【0036】
図7の下図は縦に切出したデータをどのようなアドレスに配置したかという図である。F0からF1のアドレスオフセット分は縦方向分にいくつ必要かで変わってくるが、図7では32のオフセットで不連続順にバーストライトしている。このようにおくことで、例えばインクジェットプリンタのヘッドが動いて、ある縦方向のデータを連続かつバンクコンフリクトなし(例では、バンク0のアドレス0番地から128bit、バンク1のアドレス0番地から128bit、バンク2のアドレス0番地から128bit、バンク3のアドレス0番地から128bit、バンク0のアドレス16番地から128bit、・・・。バンク3のアドレス16番地から128bit)に順にリードさせることができる。
【0037】
[実施例3]
本実施例も図1から図6の構成を用いる。ここまではバッファに格納されたデータをカラム方向に切出してメモリに戻す以外の内容であり、実施例1の通りであるので説明を省略する。ところで本実施例でのポイントは、あくまでバッファからメモリにライトするシステムについてであるから、バッファに書込むまでのシステムを指定した実施例1は一つの例であり、特に特定しなくとも良い。
【0038】
実施例3では、このバッファに格納されたデータをカラム方向に切出してメモリに戻す方法について記述する。実施例1と分けて記述した理由は、実施例1と実施例3は独立として使用しても良いし、併せて使用しても良いからである。これらを鑑み、本実施例では、以下のように行う。ポイントは、データ変換器A7バッファに格納されたデータを偶数孔と奇数孔に分けて縦に切出して、あとは実施例2と同じような概念でメモリライトする。なお、実施例3のみ行ってもアクセス効率の向上は見込める。また、実施例1と組み合わせても良い。
【0039】
図8は、実施例1のシステムで格納されたバッファ内のデータの様子と、縦に切出した順を示したバッファ切出しイメージ図とバッファ切出し後のEVEN側アドレスイメージを示す図である。E0、E1、E2・・・E127、O0、O1、O2・・・O127の順に切出す。縦方向のバッファのビット幅は、実施例1では32bitで記述したが、本実施例ではより高速性を高めるため、バーストアクセスを考慮して、例えば256bitとする。まずこの構成に替えることで縦に切出したデータを格納するときのスループットを上げる。
【0040】
ところでこの縦に切出したE0、E1、E2・・・E127、O0、O1、O2・・・O127の順のデータをどのようなアドレス順でメモリA3にライトするかが問題である。例えば縦方向のインク吐出孔を配置してシリアルスキャンを行うインクジェットプリンタなどの場合、たいていは問題が生じる。縦方向のノズル列を増やし、高速に動作させるため、縦方向に連続アドレスかつバンクコンフリクトないようにするためにE0、E1、E2・・・E127、O0、O1、O2・・・O127のアドレスはこれを考慮して不連続なアドレスで格納しなければならない。
【0041】
図8の下図は縦に切出したデータをどのようなアドレスに配置したかという図である。E0からE1やO0からO1のアドレスオフセット分は縦方向分にいくつ必要かで変わってくるが、図では32のオフセットで不連続順にバーストライトしている。ODD側の図は省略したが、EVEN側と同じように配置すれば良い。ただし、全く同じのところに置くともちろん初めに書かれたデータは消えてしまうので、異なるスタートアドレスにしておく。
【0042】
このようにおくことで、例えばインクジェットプリンタのヘッドが動きながら、ある縦方向のデータを連続かつバンクコンフリクトなし(例では、バンク0のアドレス0番地から128bit、バンク1のアドレス0番地から128bit、バンク2のアドレス0番地から128bit、バンク3のアドレス0番地から128bit、バンク0のアドレス16番地から128bit、・・・、バンク3のアドレス16番地から128bit)に順にEVEN側データをリードし、次に例えばバンク0のアドレスn番地から128bit、バンク1のアドレスn番地から128bit、バンク2のアドレスn番地から128bit、バンク3のアドレスn番地から128bit、バンク0のアドレスn+16番地から128bit、・・・、バンク3のアドレスn+16番地から128bitの順にODD側をリードすることができる。
【0043】
【発明の効果】
以上の説明から明らかなように、本発明によれば、入力されたラスタデータをメモリに格納するためのライトは、バーストライトで格納し、バッファに格納するためのリードは、バンクコンフクトなくバーストリードでバッファに格納できるため、高速にメモリアクセスを行うことができる。
【0044】
また、本発明によれば、バッファから縦のデータに切出してメモリに格納する際は、縦方向のバッファを増やしてバーストライトし、バンドごとにバンクを切替えるため、例えばインクジェットのヘッドデータの読出しなどリアルタイム性が要求されるケースでバーストリードかつバンクコンフリクトなしにアクセスできるため、高速にメモリアクセスを行うことができる。
【図面の簡単な説明】
【図1】本発明の画像回転システムの一実施例を示すブロック図である。
【図2】ラスター順次に連続アドレスでラスタごとにバンクを切替えてメモリに格納した場合の用紙とアドレスの関係とバッファ格納図を示す図である。
【図3】受信メモリへのバーストライトを示す図である。
【図4】バッファ格納時のバーストリードを示す図である。
【図5】データ受信部A5からメモリA3にデータをライトする動作のフローチャートである。
【図6】メモリA3からデータをリードして、データ変換器A7内バッファに格納する動作のフローチャートである。
【図7】実施例1のシステムで格納されたバッファ内のデータの様子と、縦に切出した順を示した切出しイメージと切出し後のアドレスイメージを示す図である。
【図8】実施例1のシステムで格納されたバッファ内のデータの様子と、縦に切出した順を示したバッファ切出しイメージ図とバッファ切出し後のEVEN側アドレスイメージを示す図である。
【図9】従来のラスター順次に連続アドレスでメモリに格納した場合の用紙とアドレスとの関係とバッファ格納図を示す図である。
【図10】従来のラスター順次に不連続アドレスでメモリに格納した場合の用紙とアドレスの関係とバッファ格納図を示す図である。
【図11】従来のバッファ切出し後のアドレスイメージを示す図である。
【符号の説明】
A1 メモリアービタ
A2 メモリコントローラ
A3 外部メモリ
A4 DMAブロック
A5 データ受信部
A6 データソース部
A7 データ変換器
A8 データ出力ブロック
A9 データディスティネーション部
A10 CPU
A11 ROM
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image data rotation system and an image rotation method for an image forming apparatus including a laser printer, an inkjet printer, and a multifunction peripheral.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, in an image forming apparatus such as a printer, a process of editing image data is required, and for example, a function of rotating image data is also required. It is particularly regarded as important for adjusting the image data to the direction of the paper, and for an ink jet printer that performs serial scanning by arranging ink ejection holes in the vertical direction.
[0003]
An image forming apparatus that performs rotation of image data, particularly raster column conversion, first collects raster data for a certain band and issues an interrupt to the CPU when extracting raster data drawn by some method for each column. The CPU makes various settings for performing raster column conversion and activates the conversion circuit. Thereafter, a part of the raster band data is allocated to a buffer for horizontal h dots and vertical v dots, the data is cut out in the vertical direction and stored in the memory repeatedly. When all the raster band data is processed, the CPU is interrupted. In the order of notification.
[0004]
[Problems to be solved by the invention]
However, the following problems occur when processing this raster column conversion at high speed. FIG. 9 is a diagram showing a relationship between a sheet and an address and a buffer storage diagram when conventional raster sequential addresses are stored in a memory at continuous addresses. In many cases, the format of received data is mainly raster sequential, and is input as an image as shown in FIG. In this case, since the input raster data is continuous, if the data is sequentially written to a continuous address, the data must be read from a discontinuous address and written to a buffer. This is because, when a memory having a bank configuration is used, single access is performed, and the memory access efficiency is extremely deteriorated.
[0005]
Then, when reading into the buffer, a continuous address is set. FIG. 10 is a diagram showing a relationship between a sheet and an address and a buffer storage diagram in the case where conventional raster sequential storage in a memory at discontinuous addresses is performed. In this case, the addresses are arranged in a continuous address order at the stage of packing into the buffer. This means that in the case of burst access, the access is slowed down by the latency of the memory, that is, the read is slowed, so with the intention that the read only manages the burst access and raises the access efficiency even a little. Is also known. However, since the first input is a discontinuous address, that is, a single access, the access efficiency is inevitably deteriorated. However, in a memory access at a discontinuous address, this method may be employed because writing is slightly faster (for latency).
[0006]
Further, when the data is cut out from the buffer in the vertical direction and is sequentially stored in the memory, it is necessary to write the data at a discontinuous address due to the nature of the recording apparatus that performs a serial scan or the like. FIG. 11 is a diagram showing an address image after a conventional buffer is cut out. If writing is performed sequentially without considering the continuity in the vertical direction as shown in FIG. 11, when the head of the ink jet printer operates to read data, the data must be read at a discontinuous address, and real-time performance is ensured. The above is a problem. This is because, in a printing apparatus that performs serial scanning or the like, the number of ejection holes in the vertical direction has been increasing year by year, and it has become impossible to completely fit in the vertical dots of the buffer.
[0007]
Further, when the printing apparatus performs serial scan and sequentially reads the data generated by the column, the required read time is limited, and therefore the data must be read at a continuous address. Although it is devised to write at a discontinuous address, a bank conflict occurs due to the continuous address, and the memory access efficiency deteriorates.
[0008]
The present invention has been made in view of the above circumstances, and has as its object to improve memory access efficiency by burst access without bank conflict, and to ensure real-time performance during serial scan.
[0009]
[Means for Solving the Problems]
In order to achieve this object, the invention according to claim 1 has a reception memory for receiving and storing input data, and a data buffer for temporarily storing the data, and the reception memory has Means for writing data, means for reading the data from the reception memory and writing the data in the data buffer, means for cutting out the data from the data buffer and rotating the image, and writing the result after the image rotation to the memory Means for storing data in the reception memory, performing burst write access at a continuous address and switching a bank for each line, reading data from the reception memory, and storing the data in the data buffer. When writing data to a device, it is necessary to have means for switching the bank for each line, performing burst read access, and arranging data. It is a symptom.
[0010]
The invention according to claim 2 has a receiving memory for receiving and storing input data, a data buffer for temporarily storing the data, means for writing the data in the receiving memory, An image rotation system comprising: means for reading the data from a receiving memory and writing the data in the data buffer; means for cutting out the data from the data buffer to rotate the image; and means for writing the result after the image rotation to the memory. A means for reading the data stored in the data buffer, and a means for switching the bank for each band to write access to the memory and arranging the data when writing the result after image rotation. And
[0011]
The invention according to claim 3 has a receiving memory for receiving and storing input data, a data buffer for temporarily storing the data, a unit for writing the data to the receiving memory, An image rotation system comprising: means for reading the data from a receiving memory and writing the data in the data buffer; means for cutting out the data from the data buffer to rotate the image; and means for writing the result after the image rotation to the memory. Means for reading data stored in the data buffer and writing a result after image rotation, switching a bank for each band, dividing the data into a plurality of address destinations, performing write access, and arranging data. It is characterized by.
[0012]
The invention according to claim 4 has a receiving memory for receiving and storing input data, a data buffer for temporarily storing the data, a means for writing the data to the receiving memory, An image rotation system comprising: means for reading the data from a receiving memory and writing the data in the data buffer; means for cutting out the data from the data buffer to rotate the image; and means for writing the result after the image rotation to the memory. In storing data in the reception memory, there is provided a means for performing burst write access at a continuous address and switching a bank for each line, and when reading from the reception memory and writing to the data buffer, Means to switch the bank for each burst read access and data arrangement, and to write the result after image rotation, And write access to the memory by switching banks, is characterized in that it has means for performing data placement.
[0013]
The invention according to claim 5 has a receiving memory for receiving and storing input data, a data buffer for temporarily storing the data, a unit for writing the data to the receiving memory, An image rotation system comprising: means for reading the data from a receiving memory and writing the data in the data buffer; means for cutting out the data from the data buffer to rotate the image; and means for writing the result after the image rotation to the memory. In storing data in the reception memory, there is provided a means for performing burst write access at a continuous address and switching a bank for each line, and when reading from the reception memory and writing to the data buffer, Means for switching between banks for burst read access and data arrangement, and for storing data stored in the data buffer. When writing the results after image rotation out switches the bank in each band and write access by dividing into a plurality of addressee, is characterized by having a means for performing data placement.
[0014]
The invention according to claim 6 has a receiving memory for receiving and storing input data, a data buffer for temporarily storing the data, and a step of writing the data to the receiving memory; An image rotation method comprising: reading the data from a reception memory and writing the data into the data buffer; cutting out the data from the data buffer to rotate the image; and writing the result after the image rotation to the memory. In storing data in the reception memory, the method includes a step of performing burst write access at a continuous address and switching a bank for each line, and when reading from the reception memory and writing to the data buffer, The method is characterized in that the method includes a step of performing burst read access by switching the bank every time and performing data arrangement.
[0015]
The invention according to claim 7, comprising a receiving memory for receiving and storing input data, and a data buffer for temporarily storing the data, a step of writing the data to the receiving memory, An image rotation method comprising: reading the data from a reception memory and writing the data into the data buffer; cutting out the data from the data buffer to rotate the image; and writing the result after the image rotation to the memory. A step of reading data stored in the data buffer, and a step of writing a result after image rotation, switching a bank for each band, performing a write access to a memory, and performing a data arrangement. Features.
[0016]
The invention according to claim 8 has a receiving memory for receiving and storing input data, a data buffer for temporarily storing the data, and a step of writing the data to the receiving memory; An image rotation method comprising: reading the data from a reception memory and writing the data into the data buffer; cutting out the data from the data buffer to rotate the image; and writing the result after the image rotation to the memory. A step of, when reading data stored in the data buffer and writing a result after image rotation, switching a bank for each band, dividing the data into a plurality of address destinations, performing write access, and performing data arrangement. It is characterized by.
[0017]
The invention according to claim 9 has a receiving memory for receiving and storing input data, a data buffer for temporarily storing the data, and a step of writing the data to the receiving memory; An image rotation method comprising: reading the data from a reception memory and writing the data into the data buffer; cutting out the data from the data buffer to rotate the image; and writing the result after the image rotation to the memory. The step of reading data stored in the data buffer, and the step of storing data in the reception memory by performing a burst write access at a continuous address and switching a bank for each line, When reading from the memory and writing to the data buffer, burst read access is performed by switching banks for each line, and data arrangement is performed. And a step of performing, when writing the results after image rotation, and write access to the memory by switching the bank for each band is characterized by having a step of performing data placement.
[0018]
The invention according to claim 10 has a receiving memory for receiving and storing input data, a data buffer for temporarily storing the data, and a step of writing the data to the receiving memory; An image rotation method comprising: reading the data from a reception memory and writing the data into the data buffer; cutting out the data from the data buffer to rotate the image; and writing the result after the image rotation to the memory. In storing data in the reception memory, the method includes a step of performing burst write access at a continuous address and switching a bank for each line, and when reading from the reception memory and writing to the data buffer, Performing a burst read access by switching banks every time and arranging data; and reading data stored in the data buffer. When writing the results after image rotation switches the bank in each band and write access by dividing into a plurality of addressee, it is characterized by having a step of performing data placement.
[0019]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0020]
[Example 1]
FIG. 1 is a block diagram showing one embodiment of the image rotation system of the present invention. The system of the present invention comprises a memory arbiter A1, a memory controller A2, an external memory A3, a DMA block A4, a data receiving section A5, a data source section A6, a data converter A7, a data output block A8, It has a data destination section A9, a CPU A10, and a ROMA11.
[0021]
The memory arbiter A1 performs a process for a memory access request with each functional block. The memory controller A2 manages an interface with the external memory A3. The DMA block A4 manages an interface between each functional block and the memory arbiter A1. The data receiving unit A5 receives some input from the data source unit A6, appropriately switches the address to the transfer destination external memory A3, and transfers the address to the DMA block A4. The data converter A7 performs a rotation process on the data stored in the external memory A3 via the DMA block A4, appropriately switches the address for the transfer destination external memory A3, and transfers the data to the DMA block A4. . The data output block A8 switches the address of the transfer source external memory A3 appropriately, reads the data via the DMA block A4, and outputs the data to some data destination unit A9. The CPU A10 is a CPU that controls the present system. The ROM A11 is a ROM that stores programs and the like.
[0022]
The block diagram in FIG. 1 shows an example of a simple configuration in which input image data is rotated and output. First, the data receiving unit A5 receives the data input by the data source unit A6, and writes the data to the memory A3 via the DMA block A4, the memory arbiter A1, and the memory controller A2.
[0023]
Next, data is input from the memory A3 to the data converter A7 via the memory controller A2, the memory arbiter A1, and the DMA block, and a rotation process is performed (buffer write). The data after the rotation processing is written from the data converter A7 (buffer read) to the memory A3 via the DMA block A4, the memory arbiter A1, and the memory controller A2. The area to be rotated is shifted laterally, and data transmission to the data converter A7 and writing to the memory A3 are repeated, so that the entire area to be rotated is performed.
[0024]
After completion of all the areas to be rotated, the rotated data is read from the memory A3, written to the data destination unit A9 via the memory controller A2, the memory arbiter A1, and the DMA block A4, and the data after the rotation processing is written. Pass out of this process.
[0025]
FIG. 2 is a diagram showing a relationship between paper and addresses and a buffer storage diagram in a case where banks are switched for each raster at consecutive addresses in raster order and stored in a memory. FIG. 2 shows how data input to the data receiving unit A5 in raster order is arranged in the memory A3. Since the memory A3 is a continuous address and the unit is increased from the conventional one (32 bit → 128 bit in FIG. 2), the data is stored in burst units. The bank is switched for each raster, and the data input to the data receiving unit A5 is written to the memory A3.
[0026]
FIG. 3 is a diagram showing a burst write to the reception memory. When filling in the buffer, access is performed in the order of non-consecutive addresses in the order of burst read from address 0 of bank 0, burst read from address 0 of bank 1, burst read from address 0 of bank 2, and stuffing as shown in FIG. Go. Therefore, burst read can be performed without bank conflict. FIG. 4 is a diagram showing burst read at the time of buffer storage. Therefore, according to the present embodiment, bank conflict can be avoided by single access for writing to the memory upon data reception and read for writing into the buffer, and access efficiency can be dramatically improved.
[0027]
FIG. 5 shows a flowchart of the operation of writing data from the data receiving unit A5 to the memory A3. First, the arguments are initialized (step S501), and the receiving raster length H and the storage start address KA are set (step S502). The reception raster length H means how many horizontal units are input with one 128-bit unit. The storage start address KA has a meaning as to which address the start data of the 32 raster data is put. If these two are known in advance, the hardware can calculate and store the address destination for the data input one after another.
[0028]
When 128 bits of data are accumulated (Yes in step S503), the data is stored in the memory (step S504), and the address is added to the destination of 16 bytes (16 * RHT) (step S507). This is repeated until the reception raster length H = RHT, that is, the input of one raster is completed (Yes in step S505). (PHT is the number of received data in units of 128 bits) Switching to the next bank is repeated in the same manner. If a four-bank memory is used, the banks are repeated every four rasters. For every four rasters (Yes in step S508), the address offset is calculated (step S509), and added (step S510). Thus, reception for 32 rasters is performed.
[0029]
FIG. 6 shows a flowchart of an operation of reading data from the memory A3 and storing the data in the buffer in the data converter A7. First, OFFSET in which the address is incremented in units of 128 rasters of 4 rasters, OFFSET2 in which the address is incremented in units of 32 rasters of 128 bits, read and buffer write for 128 * 32 rasters, and incrementing are performed after all processing in the column direction is completed. HV, the address BFA to be written to the buffer after 128-bit read is initialized (step S601). Next, the read start address RA is set, and the read raster length RH is referred to (step S602). The address currently being read is calculated (step S603), read in units of 128 bits, written to the BFA address (step S610), and BFA, R are incremented by 1 (steps S611, S612). This is an access that only changes the bank.
[0030]
When R is a multiple of 4, that is, when reading in 128-bit * 4 raster units is completed (Yes in step S608), 16 * (RH + 1) * (R / 4) is added as OFFSET (step S609), and the BFA address is written. The processing is performed (step S610). In the next 4-raster read in units of 128 bits, addresses for OFFSET are added, and banks are switched.
[0031]
When reading of R = 32, that is, 128-bit * 32 raster units is completed (Yes in step S604), R, OFFSET, and BFA are initialized (step S605), data is sequentially cut out from the column direction (step S606), and HV is increased by one. (Step S613). The point is that the system only writes to the buffer, so we will not mention the specific method. Then, 16 * HV is set as OFFSET2 and added as an offset of the read address (step S614). If RH = HV (Yes in step S607), it means that the target area has been completed, and the process ends.
[0032]
[Example 2]
This embodiment also uses the configurations shown in FIGS. The contents up to this point are other than extracting the data stored in the buffer in the column direction and returning the data to the memory. By the way, the point of the present embodiment is only about the system for writing data from the buffer to the memory. Therefore, the first embodiment in which the system until writing to the buffer is specified is one example, and it is not necessary to particularly specify the system.
[0033]
In a second embodiment, a method of extracting data stored in the buffer in the column direction and returning the data to the memory will be described. The reason why it is described separately from the first embodiment is that the first embodiment and the second embodiment may be used independently or may be used together.
[0034]
FIG. 7 is a diagram illustrating a state of data in a buffer stored in the system according to the first embodiment, a cutout image indicating a vertical cutout order, and an address image after cutout. F127 can be cut out in the order of F0, F1, F2,. In the first embodiment, the bit width of the buffer in the vertical direction is described as 32 bits. However, in this embodiment, the bit width is set to, for example, 128 bits in consideration of burst access in order to further increase the speed. First, by changing to this configuration, the throughput when storing vertically cut data is increased.
[0035]
By the way, the problem is how to write the vertically cut data in the order of F0, F1, F2,..., F127 to the memory A3 in what address order. For example, in the case of an ink jet printer or the like that performs serial scanning by arranging ink ejection holes in the vertical direction, a problem usually occurs. In order to increase the number of nozzle rows in the vertical direction and to operate at high speed, continuous addresses in the vertical direction and to avoid bank conflicts, addresses F0, F1, F2,... And it must be stored by burst access. This is because, by doing so, high-speed serial scanning can be performed, and vertical image data can be read at a continuous address and without bank conflict.
[0036]
The lower part of FIG. 7 is a diagram showing the addresses at which the vertically cut data is arranged. The address offset from F0 to F1 depends on how many addresses are needed in the vertical direction, but in FIG. 7, burst write is performed in a discontinuous order at an offset of 32. By doing so, for example, the head of the ink-jet printer is moved, and certain vertical data is continuously and without bank conflict (in the example, 128 bits from address 0 of bank 0, 128 bits from address 0 of bank 1, 128 bits from bank 0). 2, 128 bits from the address 0 of the bank 2, 128 bits from the address 0 of the bank 3, 128 bits from the address 16 of the bank 3,... (128 bits from the address 16 of the bank 3).
[0037]
[Example 3]
This embodiment also uses the configurations shown in FIGS. The contents up to this point are other than extracting the data stored in the buffer in the column direction and returning the data to the memory. By the way, the point of the present embodiment is only about the system for writing data from the buffer to the memory. Therefore, the first embodiment in which the system until writing to the buffer is specified is one example, and it is not necessary to particularly specify the system.
[0038]
In a third embodiment, a method of extracting data stored in the buffer in the column direction and returning the data to the memory will be described. The reason why the description is made separately from the first embodiment is that the first embodiment and the third embodiment may be used independently or may be used together. In view of these, in this embodiment, the following is performed. The point is that the data stored in the data converter A7 buffer is divided vertically into even holes and odd holes, and then the memory write is performed using the same concept as in the second embodiment. It should be noted that an improvement in access efficiency can be expected by performing only the third embodiment. Further, it may be combined with the first embodiment.
[0039]
FIG. 8 is a diagram illustrating a state of data in a buffer stored in the system according to the first embodiment, a buffer cutout image diagram showing a vertical cutout order, and an EVEN-side address image after the buffer cutout. E127 are extracted in the order of E0, E1, E2... E127, O0, O1, O2. In the first embodiment, the bit width of the buffer in the vertical direction is described as 32 bits. However, in the present embodiment, in order to further increase the speed, it is set to, for example, 256 bits in consideration of burst access. First, by changing to this configuration, the throughput when storing vertically cut data is increased.
[0040]
By the way, the problem is how to write the vertically cut data in the order of E0, E1, E2... E127, O0, O1, O2. For example, in the case of an ink jet printer or the like that performs serial scanning by arranging ink ejection holes in the vertical direction, a problem usually occurs. In order to increase the number of nozzle rows in the vertical direction and to operate at high speed, the addresses of E0, E1, E2... E127, O0, O1, O2. In consideration of this, the data must be stored at discontinuous addresses.
[0041]
The lower part of FIG. 8 is a diagram showing what addresses the vertically cut data is arranged. The number of address offsets from E0 to E1 and from O0 to O1 varies depending on the number required in the vertical direction, but in the figure, burst write is performed in a discontinuous order at an offset of 32. Although the illustration on the ODD side is omitted, it may be arranged in the same manner as on the EVEN side. However, if you put them in exactly the same place, the data written first will of course be lost, so use a different start address.
[0042]
By doing so, for example, while the head of the ink jet printer moves, certain data in the vertical direction is continuous and has no bank conflict (in the example, 128 bits from address 0 of bank 0, 128 bits from address 0 of bank 1 and 128 bits from bank 0). EVEN side data is sequentially read from address 0 of address 2 to 128 bits, address 3 of bank 3 from address 0 to 128 bits, address of bank 0 from address 16 to 128 bits,... For example, 128 bits from address n of bank 0, 128 bits from address n of bank 1, 128 bits from address n of bank 2, 128 bits from address n of bank 3, 128 bits from address n + 16 of bank 0,. Ba It is possible to read the ODD side in the order of 128bit from the address n + address 16 of the click 3.
[0043]
【The invention's effect】
As is apparent from the above description, according to the present invention, the write for storing the input raster data in the memory is stored by burst write, and the read for storing in the buffer is performed in burst without bank conflict. Since data can be stored in the buffer by reading, memory access can be performed at high speed.
[0044]
Further, according to the present invention, when the vertical data is cut out from the buffer and stored in the memory, the vertical buffer is increased and the burst write is performed, and the bank is switched for each band. In the case where real-time performance is required, since the access can be performed without burst read and without bank conflict, memory access can be performed at high speed.
[Brief description of the drawings]
FIG. 1 is a block diagram showing one embodiment of an image rotation system of the present invention.
FIG. 2 is a diagram showing a relationship between a sheet and an address and a buffer storage diagram when a bank is switched for each raster with a continuous address in a raster order and stored in a memory.
FIG. 3 is a diagram showing a burst write to a reception memory.
FIG. 4 is a diagram showing a burst read at the time of buffer storage.
FIG. 5 is a flowchart of an operation of writing data from a data receiving unit A5 to a memory A3.
FIG. 6 is a flowchart of an operation of reading data from a memory A3 and storing the data in a buffer in a data converter A7.
FIG. 7 is a diagram illustrating a state of data in a buffer stored in the system according to the first embodiment, a cutout image indicating an order of vertical cutout, and an address image after cutout.
FIG. 8 is a diagram showing a buffer extraction image diagram showing the state of data in a buffer stored in the system of the first embodiment, the order of vertical extraction, and an EVEN-side address image after the buffer extraction.
FIG. 9 is a diagram illustrating a relationship between a sheet and an address and a buffer storage diagram in the case where conventional raster sequential storage in a memory is performed with continuous addresses.
FIG. 10 is a diagram showing a relationship between a sheet and an address and a buffer storage diagram in the case where conventional raster sequential storage in a memory is performed at discontinuous addresses.
FIG. 11 is a diagram showing a conventional address image after buffer extraction.
[Explanation of symbols]
A1 memory arbiter
A2 Memory controller
A3 external memory
A4 DMA block
A5 Data receiving unit
A6 Data source section
A7 data converter
A8 Data output block
A9 Data destination section
A10 CPU
A11 ROM

Claims (10)

入力されるデータを受信し、格納する受信メモリと、
該データを一時的に蓄積するデータバッファとを有し、
前記受信メモリに該データを書込む手段と、
前記受信メモリから該データを読出して前記データバッファに書込む手段と、
前記データバッファから該データを切出して画像回転を行う手段と、
画像回転後の結果をメモリに書込む手段とを有する画像回転システムにおいて、
前記受信メモリにデータを格納する際は、連続するアドレスでバーストライトアクセスし、ラインごとにバンクを切替える手段を有し、
前記受信メモリから読出し、前記データバッファに書込みを行う際は、ラインごとにバンクを切替えてバーストリードアクセスし、データ配置を行う手段を有することを特徴とする画像回転システム。
A receiving memory for receiving and storing input data;
A data buffer for temporarily storing the data,
Means for writing the data to the receiving memory;
Means for reading the data from the reception memory and writing the data in the data buffer;
Means for cutting out the data from the data buffer and performing image rotation;
Means for writing the result after image rotation to a memory,
When storing data in the reception memory, a burst write access is performed at consecutive addresses, and a unit for switching a bank for each line is provided.
An image rotation system comprising means for performing a burst read access by switching banks for each line and arranging data when reading from the reception memory and writing to the data buffer.
入力されるデータを受信し、格納する受信メモリと、
該データを一時的に蓄積するデータバッファとを有し、
前記受信メモリに該データを書込む手段と、
前記受信メモリから該データを読出して前記データバッファに書込む手段と、
前記データバッファから該データを切出して画像回転を行う手段と、
画像回転後の結果をメモリに書込む手段とを有する画像回転システムにおいて、
前記データバッファに格納したデータを読み出す手段を有し、
画像回転後の結果を書込む際は、バンドごとにバンクを切替えてメモリにライトアクセスし、データ配置を行う手段を有することを特徴とする画像回転システム。
A receiving memory for receiving and storing input data;
A data buffer for temporarily storing the data,
Means for writing the data to the receiving memory;
Means for reading the data from the reception memory and writing the data in the data buffer;
Means for cutting out the data from the data buffer and performing image rotation;
Means for writing the result after image rotation to a memory,
Means for reading data stored in the data buffer,
An image rotation system comprising means for writing data to a memory by switching a bank for each band when writing a result after image rotation, and arranging data.
入力されるデータを受信し、格納する受信メモリと、
該データを一時的に蓄積するデータバッファとを有し、
前記受信メモリに該データを書込む手段と、
前記受信メモリから該データを読出して前記データバッファに書込む手段と、
前記データバッファから該データを切出して画像回転を行う手段と、
画像回転後の結果をメモリに書込む手段とを有する画像回転システムにおいて、
前記データバッファに格納したデータを読出して画像回転後の結果を書込む際は、バンドごとにバンクを切替えて複数のアドレス先へ分割してライトアクセスし、データ配置を行う手段を有することを特徴とする画像回転システム。
A receiving memory for receiving and storing input data;
A data buffer for temporarily storing the data,
Means for writing the data to the receiving memory;
Means for reading the data from the reception memory and writing the data in the data buffer;
Means for cutting out the data from the data buffer and performing image rotation;
Means for writing the result after image rotation to a memory,
When reading the data stored in the data buffer and writing the result after rotating the image, a means for switching the bank for each band, dividing the data into a plurality of address destinations, performing write access, and arranging the data is provided. Image rotation system.
入力されるデータを受信し、格納する受信メモリと、
該データを一時的に蓄積するデータバッファとを有し、
前記受信メモリに該データを書込む手段と、
前記受信メモリから該データを読出して前記データバッファに書込む手段と、
前記データバッファから該データを切出して画像回転を行う手段と、
画像回転後の結果をメモリに書込む手段とを有する画像回転システムにおいて、
前記受信メモリにデータを格納する際は、連続するアドレスでバーストライトアクセスし、ラインごとにバンクを切替える手段を有し、
前記受信メモリから読出し、前記データバッファに書込みを行う際は、ラインごとにバンクを切替えてバーストリードアクセスし、データ配置を行う手段と、画像回転後の結果を書込む際は、バンドごとにバンクを切替えてメモリにライトアクセスし、データ配置を行う手段を有することを特徴とする画像回転システム。
A receiving memory for receiving and storing input data;
A data buffer for temporarily storing the data,
Means for writing the data to the receiving memory;
Means for reading the data from the reception memory and writing the data in the data buffer;
Means for cutting out the data from the data buffer and performing image rotation;
Means for writing the result after image rotation to a memory,
When storing data in the reception memory, a burst write access is performed at consecutive addresses, and a unit for switching a bank for each line is provided.
When reading from the receiving memory and writing to the data buffer, means for switching the bank for each line to perform burst read access and arranging data, and for writing the result after image rotation, An image rotation system comprising means for performing write access to a memory by switching between the two and performing data arrangement.
入力されるデータを受信し、格納する受信メモリと、
該データを一時的に蓄積するデータバッファとを有し、
前記受信メモリに該データを書込む手段と、
前記受信メモリから該データを読出して前記データバッファに書込む手段と、
前記データバッファから該データを切出して画像回転を行う手段と、
画像回転後の結果をメモリに書込む手段とを有する画像回転システムにおいて、
前記受信メモリにデータを格納する際は、連続するアドレスでバーストライトアクセスし、ラインごとにバンクを切替える手段を有し、
前記受信メモリから読出し、前記データバッファに書込みを行う際は、ラインごとにバンクを切替えてバーストリードアクセスし、データ配置を行う手段と、前記データバッファに格納されたデータを読出して画像回転後の結果を書込む際は、バンドごとにバンクを切替えて複数のアドレス先へ分割してライトアクセスし、データ配置を行う手段を有することを特徴とする画像回転システム。
A receiving memory for receiving and storing input data;
A data buffer for temporarily storing the data,
Means for writing the data to the receiving memory;
Means for reading the data from the reception memory and writing the data in the data buffer;
Means for cutting out the data from the data buffer and performing image rotation;
Means for writing the result after image rotation to a memory,
When storing data in the reception memory, a burst write access is performed at consecutive addresses, and a unit for switching a bank for each line is provided.
When reading from the receiving memory and writing to the data buffer, means for performing burst read access by switching banks for each line and performing data arrangement, and reading data stored in the data buffer and performing image read after image rotation An image rotation system comprising means for writing a result, switching a bank for each band, dividing the address into a plurality of addresses, performing write access, and arranging data.
入力されるデータを受信し、格納する受信メモリと、
該データを一時的に蓄積するデータバッファとを有し、
前記受信メモリに該データを書込む工程と、
前記受信メモリから該データを読出して前記データバッファに書込む工程と、
前記データバッファから該データを切出して画像回転を行う工程と、
画像回転後の結果をメモリに書込む工程とを有する画像回転方法において、
前記受信メモリにデータを格納する際は、連続するアドレスでバーストライトアクセスし、ラインごとにバンクを切替える工程を有し、
前記受信メモリから読出し、該データバッファに書込みを行う際は、ラインごとにバンクを切替えてバーストリードアクセスし、データ配置を行う工程を有することを特徴とする画像回転方法。
A receiving memory for receiving and storing input data;
A data buffer for temporarily storing the data,
Writing the data in the receiving memory;
Reading the data from the receiving memory and writing the data to the data buffer;
Cutting out the data from the data buffer and performing image rotation;
Writing the result after image rotation to a memory.
When storing data in the receiving memory, the method includes a step of performing burst write access with a continuous address and switching a bank for each line,
An image rotation method for reading data from the reception memory and writing data in the data buffer, the method comprising a step of performing burst read access by switching banks for each line and performing data arrangement.
入力されるデータを受信し、格納する受信メモリと、
該データを一時的に蓄積するデータバッファとを有し、
前記受信メモリに該データを書込む工程と、
前記受信メモリから該データを読出して前記データバッファに書込む工程と、
前記データバッファから該データを切出して画像回転を行う工程と、
画像回転後の結果をメモリに書込む工程とを有する画像回転方法において、
前記データバッファに格納されたデータを読み出す工程を有し、
画像回転後の結果を書込む際は、バンドごとにバンクを切替えてメモリにライトアクセスし、データ配置を行う工程を有することを特徴とする画像回転方法。
A receiving memory for receiving and storing input data;
A data buffer for temporarily storing the data,
Writing the data in the receiving memory;
Reading the data from the receiving memory and writing the data to the data buffer;
Cutting out the data from the data buffer and performing image rotation;
Writing the result after image rotation to a memory.
Reading a data stored in the data buffer,
An image rotation method comprising the steps of: writing a result after image rotation, switching a bank for each band, performing write access to a memory, and arranging data.
入力されるデータを受信し、格納する受信メモリと、
該データを一時的に蓄積するデータバッファとを有し、
前記受信メモリに該データを書込む工程と、
前記受信メモリから該データを読出して前記データバッファに書込む工程と、
前記データバッファから該データを切出して画像回転を行う工程と、
画像回転後の結果をメモリに書込む工程とを有する画像回転方法において、
前記データバッファに格納したデータを読出して画像回転後の結果を書込む際は、バンドごとにバンクを切替えて複数のアドレス先へ分割してライトアクセスし、データ配置を行う工程を有することを特徴とする画像回転方法。
A receiving memory for receiving and storing input data;
A data buffer for temporarily storing the data,
Writing the data in the receiving memory;
Reading the data from the receiving memory and writing the data to the data buffer;
Cutting out the data from the data buffer and performing image rotation;
Writing the result after image rotation to a memory.
When reading the data stored in the data buffer and writing the result after image rotation, the method includes a step of switching banks for each band, dividing the data into a plurality of address destinations, performing write access, and arranging data. Image rotation method.
入力されるデータを受信し、格納する受信メモリと、
該データを一時的に蓄積するデータバッファとを有し、
前記受信メモリに該データを書込む工程と、
前記受信メモリから該データを読出して前記データバッファに書込む工程と、
前記データバッファから該データを切出して画像回転を行う工程と、
画像回転後の結果をメモリに書込む工程とを有する画像回転方法において、
前記データバッファに格納されたデータを読み出す工程を有し、
前記受信メモリにデータを格納する際は、連続するアドレスでバーストライトアクセスし、ラインごとにバンクを切替える工程を有し、
前記受信メモリから読出し、該データバッファに書込みを行う際は、ラインごとにバンクを切替えてバーストリードアクセスし、データ配置を行う工程を有し、
画像回転後の結果を書込む際は、バンドごとにバンクを切替えてメモリにライトアクセスし、データ配置を行う工程を有することを特徴とする画像回転方法。
A receiving memory for receiving and storing input data;
A data buffer for temporarily storing the data,
Writing the data in the receiving memory;
Reading the data from the receiving memory and writing the data to the data buffer;
Cutting out the data from the data buffer and performing image rotation;
Writing the result after image rotation to a memory.
Reading a data stored in the data buffer,
When storing data in the receiving memory, the method includes a step of performing burst write access with a continuous address and switching a bank for each line,
When reading from the reception memory and writing to the data buffer, the method includes a step of switching the bank for each line, performing burst read access, and arranging data.
An image rotation method comprising the steps of: writing a result after image rotation, switching a bank for each band, performing write access to a memory, and arranging data.
入力されるデータを受信し、格納する受信メモリと、
該データを一時的に蓄積するデータバッファとを有し、
前記受信メモリに該データを書込む工程と、
前記受信メモリから該データを読出して前記データバッファに書込む工程と、
前記データバッファから該データを切出して画像回転を行う工程と、
画像回転後の結果をメモリに書込む工程とを有する画像回転方法において、
前記受信メモリにデータを格納する際は、連続するアドレスでバーストライトアクセスし、ラインごとにバンクを切替える工程を有し、
前記受信メモリから読出し、該データバッファに書込みを行う際は、ラインごとにバンクを切替えてバーストリードアクセスし、データ配置を行う工程と、
前記データバッファに格納したデータを読出して画像回転後の結果を書込む際は、バンドごとにバンクを切替えて複数のアドレス先へ分割してライトアクセスし、データ配置を行う工程を有することを特徴とする画像回転方法。
A receiving memory for receiving and storing input data;
A data buffer for temporarily storing the data,
Writing the data in the receiving memory;
Reading the data from the receiving memory and writing the data to the data buffer;
Cutting out the data from the data buffer and performing image rotation;
Writing the result after image rotation to a memory.
When storing data in the receiving memory, the method includes a step of performing burst write access with a continuous address and switching a bank for each line,
When reading from the receiving memory and writing to the data buffer, performing a burst read access by switching banks for each line and arranging data;
When reading the data stored in the data buffer and writing the result after image rotation, the method includes a step of switching banks for each band, dividing the data into a plurality of address destinations, performing write access, and arranging data. Image rotation method.
JP2002231576A 2002-08-08 2002-08-08 Image rotation system and image rotation method Pending JP2004072600A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002231576A JP2004072600A (en) 2002-08-08 2002-08-08 Image rotation system and image rotation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002231576A JP2004072600A (en) 2002-08-08 2002-08-08 Image rotation system and image rotation method

Publications (1)

Publication Number Publication Date
JP2004072600A true JP2004072600A (en) 2004-03-04

Family

ID=32017302

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002231576A Pending JP2004072600A (en) 2002-08-08 2002-08-08 Image rotation system and image rotation method

Country Status (1)

Country Link
JP (1) JP2004072600A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009015619A (en) * 2007-07-05 2009-01-22 Seiko Epson Corp Memory access control device and method, image reader, and method and program for controlling image reader
US9471961B2 (en) 2013-02-28 2016-10-18 Samsung Electronics Co., Ltd. Method for rotating an original image using self-learning and apparatuses performing the method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009015619A (en) * 2007-07-05 2009-01-22 Seiko Epson Corp Memory access control device and method, image reader, and method and program for controlling image reader
US9471961B2 (en) 2013-02-28 2016-10-18 Samsung Electronics Co., Ltd. Method for rotating an original image using self-learning and apparatuses performing the method

Similar Documents

Publication Publication Date Title
JP3884498B2 (en) Printer and method for printing raster images
JP5754273B2 (en) MEMORY CONTROL DEVICE, INFORMATION PROCESSING DEVICE, AND MEMORY CONTROL METHOD
JP5245221B2 (en) Droplet discharge device
US20080150988A1 (en) Image forming apparatus and control method thereof
JP2004072600A (en) Image rotation system and image rotation method
JP2017071065A (en) Inkjet recording device and recording method
JP5975894B2 (en) Image forming apparatus
JP2001328256A (en) Ink jet printer and its recording method
US9789718B2 (en) Printing apparatus and control method of the same
JP2002219830A (en) Multifunction printer and its controlling method
JP4595578B2 (en) Printing apparatus and printing method
JP2014140992A (en) Printing data storage method and transfer method
JP4631509B2 (en) Liquid ejector
JP2004145857A (en) Data transfer device for liquid injection data, and liquid injection device
JP2005169711A (en) Serial recording apparatus
JP2004142416A (en) Transfer unit of liquid ejection data, and liquid ejector
KR19980024529A (en) Recording device
JP4336952B2 (en) Data transfer device for liquid ejection data, liquid ejection device
JP2006076058A (en) Recorder
KR100571775B1 (en) Network Printer capable of improving transmission speed of printing data and a method thereof
JP2014019046A (en) Image forming device
JP2006334884A (en) Printing device
JPS61106262A (en) Printer
JP2005132073A (en) Printing device and method for transferring printing data to printing device
JPH05212913A (en) Image forming device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050125

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060815

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061212