JP2002079712A - 印刷装置、印刷装置の制御方法、印刷制御装置、および印刷制御装置の制御方法 - Google Patents

印刷装置、印刷装置の制御方法、印刷制御装置、および印刷制御装置の制御方法

Info

Publication number
JP2002079712A
JP2002079712A JP2001156270A JP2001156270A JP2002079712A JP 2002079712 A JP2002079712 A JP 2002079712A JP 2001156270 A JP2001156270 A JP 2001156270A JP 2001156270 A JP2001156270 A JP 2001156270A JP 2002079712 A JP2002079712 A JP 2002079712A
Authority
JP
Japan
Prior art keywords
data
memory
pdl
bus
address
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
JP2001156270A
Other languages
English (en)
Inventor
Yoshiaki Hirano
義昭 平野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2001156270A priority Critical patent/JP2002079712A/ja
Priority to US09/884,065 priority patent/US20020018238A1/en
Publication of JP2002079712A publication Critical patent/JP2002079712A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3877Image rotation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0077Raster outputting to the print element(s)

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Record Information Processing For Printing (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 印刷装置のスループットを低下させることな
く画像の回転を行ない、高速な印刷を行なえるようにす
る。 【解決手段】 PDLコントローラ部1と所定の記録方
式により構成されたプリンタエンジン部2をPCIバス
3により接続し、印刷すべき画像データをDMA転送す
る構成において、PDLコントローラ部1内のRAM1
06で展開した描画データを、一旦PCII/F109
のM×Nビットのバッファメモリ(FIFO)に書き込
み、該バッファメモリから読み出したデータをプリンタ
エンジン部2のRAM204に書き込む際に90度回転
したデータをバッファメモリから読み出し、エンジン本
体のメモリへDMA転送する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、印刷データから印
刷機構で印刷させる描画データを生成する印刷装置、印
刷装置の制御方法、印刷制御装置、および印刷制御装置
の制御方法に関するものである。
【0002】
【従来の技術】従来、レーザビームプリンタで代表され
る電子写真方式のプリンタにおいては、ホストコンピュ
ータ等の外部装置からPDL(ページ記述言語)などの
形式で表現された印刷データ(コードデータやイメージ
データ等)を受信し、PDLからビットマップデータへ
の展開を行なうPDLボード(印刷制御装置)により受
信データに基づきビットマップデータを展開し、展開さ
れたビットマップデータをビデオデータとしてプリンタ
エンジンに出力している。
【0003】印刷制御装置としてのPDLボードは、プ
リンタに最初から組み込まれるものと、アダプタカード
などの形式でプリンタに後付けされるものがある。
【0004】図14、図15は従来のPDLボードとプ
リンタエンジンの間のデータ転送の様子を示している。
PDLボード内のメモリに展開した描画データを、バン
ド毎にエンジン本体のメモリへ転送するが、その際、バ
ンド(1、2…N)と呼ばれる所定のデータ単位ごとに
展開および転送が行なわれる。ここでは、PDLボード
とプリンタエンジンの間で、回転などの処理を行なうこ
となく同一のデータがそのまま転送されている。
【0005】最近では、この種の装置における解像度は
非常に高くなってきており、それにつれて転送するビッ
トマップデータも膨大な量になりつつある。
【0006】従来ではPDLボードと、プリンタエンジ
ンとの間で、シリアルインターフェースによりシリアル
データとしてビットマップデータを転送する構成もあっ
たが、最近では、上記のような転送量の増大に鑑みビッ
トマップデータをパラレルデータとして転送するように
なってきた。
【0007】すなわち、PDLボードとプリンタエンジ
ンとの間を標準的なパラレルなインターフェース(以
降、I/Fと表記する)、たとえばVLバス、PCIバ
ス、IDEバスなどのI/Fを介して接続し、データ転
送を行なう構成が知られており、これらのI/Fを用い
て、PDL内で展開したビットマップデータを一度エン
ジン本体のRAMに格納してから印刷したり、同じバス
を用いて、コマンド/ステータスデータの入出力も行な
うようになりつつある。
【0008】
【発明が解決しようとする課題】さらに、最近では、印
刷処理のスループットを上げるために、所定サイズの用
紙、たとえば、A4用紙に印刷する場合、エンジンでA
4横用紙を用いる、つまり長手方向に主走査ラインが沿
うような方向で用紙を搬送して印刷する手法が用いられ
ている。この場合は、縦方向の処理を前提としてホスト
から送信され、また展開されたビットマップデータをい
ずれかの処理段階で90度回転する必要がある。
【0009】ところが、従来では、このような画像の回
転を行なう場合は、PDLボードが展開時に回転したビ
ットマップデータをPDLボード内のメモリに描画する
方法が用いられていたが、このように展開時に描画デー
タを回転すると、PDLボードの展開能力を充分発揮で
きないという問題があった。
【0010】また、上記のような画像データの90°の
回転は時に必要でなくなる場合がある。たとえば、A4
横用紙に印刷する場合、90°回転した画像データを用
いなければならないが、A4横用紙がカセット内に無く
なってしまった場合はエンジン側で緊急避難的にA4縦
用紙を用いて印刷しなければならないケースが生じる。
この場合には、A4縦用紙に合わせて、エンジン本体内
でさらに90°の回転を行なわなければならず、処理の
無駄が大きい。
【0011】また、PDLボード内のメモリに展開され
たビットマップデータを、エンジン本体のメモリに転送
する場合、コマンドやステータスデータと共通のバスを
使用すると、ビットマップデータの転送中は他のデバイ
スがバスを獲得できず、他のデバイスが動作できなくな
るという問題点がある。この問題は、特にスループット
の大きい高速機で、顕著に現れる。
【0012】本発明の課題は、上記の問題を解決し、印
刷装置のスループットを低下させることなく画像の回転
を行なうとともに、印刷処理状況に拘らず無駄な処理を
行なうことなく高速な印刷を行なえる印刷装置、印刷装
置の制御方法、印刷制御装置、および印刷制御装置の制
御方法を提供することにある。
【0013】
【課題を解決するための手段】本発明は上記従来の欠点
を除去するために成されたものであり、印刷データから
印刷機構で印刷させる描画データを生成する印刷装置、
印刷装置の制御方法、印刷制御装置、および印刷制御装
置の制御方法において、印刷データを展開して得た描画
データを印刷機構側に転送する転送過程を利用して画像
データの回転処理を行なう構成を採用した。
【0014】
【発明の実施の形態】本発明は印刷装置(プリンタ)、
印刷制御装置(PDLコントローラ)の構成およびこれ
ら装置の制御方法に関するもので、スループットを向上
させるためにホストから受信したA4画像データをA4
横用紙に印刷する場合、従来のようにPDLコントロー
ラ側で回転したビットマップデータとして展開し、各バ
ンド毎に描画しA4横用紙サイズの描画データを生成す
るのではなく、PDLコントローラ側では回転処理を行
なうことなくメモリ内に縦用紙サイズの描画データを生
成し、PDLボード内のメモリから本体のメモリへPC
Iコントローラを経由して描画データをDMA転送する
過程で、PCIコントローラ内に設けたバッファメモリ
を利用して描画データを回転させる(第1実施形態〜第
5実施形態の基本構成)。
【0015】また、本発明では、PCIコントローラ内
に設けたバッファメモリ(FIFO)の構成(第2実施
形態)や、転送方法(第3実施形態)を工夫することに
よって、より効率のよい画像データ転送を行なう。
【0016】さらに、本発明では、エンジン側の用紙の
有無に応じてPDLコントローラからプリンタエンジン
へのデータ転送時に、展開データを回転するかしないか
を制御する(第4実施形態)。
【0017】また、本発明では、外部機器から入力され
た印刷データのうち、コマンド/ステータスデータや文
字コードによる印字データは共通バスを用いてPDLコ
ントローラ内のメモリからPCIコントローラ経由でプ
リンタエンジンのメモリヘ転送するが、画像データ、す
なわちPDLコントローラで展開したビットマップデー
タは共通バスを用いるのではなく、専用のバスを用いて
転送する(第5実施形態)。
【0018】以下、添付図面を参照して、本発明の実施
形態(第1〜第5実施形態)を順次詳細に説明する。各
実施形態において、同一または類似の部材には同一の参
照符号を用い、その詳細な説明は省略するものとする。
【0019】[第1実施形態]図1は本発明を採用した
印刷システムの構成を示す。図1の装置は、PCIバス
3を利用してPDLコントローラ部1とプリンタエンジ
ン部2を接続する構成を有する。PDLコントローラ部
1は装置のPCIバス3に最初から組み付けておくか、
あるいはPCIカードスロットに後付けされる。周知の
ように、PCIバスはパラレルデータ転送を行なうパラ
レルインターフェースの1種であるが、本実施形態のP
CIバスはあくまでも一例に過ぎず、PDLコントロー
ラ部1とプリンタエンジン部2を接続するには他の適当
な(パラレル)バスインターフェース方式を用いること
ができる。
【0020】PDLコントローラ部1において、符号1
01はユーザーインターフェースのための表示パネルで
あり、パネルI/F102を介してPDL内のバス11
0に接続されている。
【0021】符号103はホストI/Fであり、パーソ
ナルコンピュータなどの外部機器104と接続するため
のものであり、IEEE1284などのインターフェー
スにより構成される。
【0022】符号105は画像データを発生する画像デ
ータ発生部であり、RAM106内にホストI/F10
3から受信したPDL形式などによる印刷データから展
開したビットマップデータ(画像データ)を書き込む。
【0023】PDLコントローラ部1のROM107に
はPDLコントローラ部1の動作を制御するCPU10
8のプログラム及び、フォントデータが書き込まれてい
る。
【0024】符号109はRAM106内に書き込まれ
た画像データ及び、コマンド/ステータスデータをプリ
ンタエンジン2へ転送するPCIコントローラであり、
PCIバス3に接続されている。
【0025】符号331はCPU108からPCIコン
トローラ109へ出力されるCPU制御信号であり、3
32はPCIコントローラ109からCPU108へ出
力されるバス制御信号である。
【0026】符号4はPCIバス3に接続されたネット
ワーク送受信部であり、ネットワーク(イーサネット
(登録商標)など)を経由して外部機器5に接続され、
PDLコントローラ部1は、前述の外部機器104だけ
ではなく、外部機器5〜ネットワーク送受信部4〜PC
Iバス3〜PCIコントローラ109経由でもPDLコ
ードを受信することができる。
【0027】一方、プリンタエンジン部2において、P
CI I/F201はプリンタエンジン内のPCIコン
トローラであり、PDLコントローラ部1のRAM10
6、PCIコントローラ109を介して送られてくるビ
ットマップデータ及び、コマンド/ステータスデータを
プリンタエンジン内のRAM204へ転送する。また、
プリンタエンジン2からのコマンド/ステータスデータ
もRAM204からRAM106へ、PCIコントロー
ラ201及び、109を経由してDMA転送される。
【0028】符号202、203はプリンタエンジンの
動作を制御するCPU及びROMであり、符号205は
RAM204内に格納された画像データをプリンタ20
6へ転送するプリンタI/F部である。プリンタ206
は、レーザビーム方式などの記録方式により構成された
記録機構である。
【0029】図2は、上記のPCIコントローラ109
の内部構造を詳細に示している。図2において、符号3
03はPDLボード内のデータバスで、340はPDL
内のアドレスバスである。
【0030】符号372、373、374はPCIバス
3側の信号であり、それぞれ、AD(アドレスデータ)
信号、コントロール信号、コマンド/バイトイネーブル
信号に相当する。
【0031】PDLコントローラ部1内のRAM106
(図1)からエンジン本体内のRAM204(図1)へ
ステータスデータを転送する場合は、PDLデータバス
303から双方向バッファ305及び、データの並びが
そのまま(31:0)のデータバス307を介して、一
旦バッファメモリ用のFIFO308に格納された後、
データバス312、選択信号328によりA入力を選択
したセレクタ313、データバス317、マスタコント
ローラ314を経由してPCIバス372に出力され、
PCIコントローラ201を経由して、RAM204へ
の書き込みが行なわれる。
【0032】なお、図中の信号線に付した(31:0)
のような表記は、その信号線が転送するビット数、ある
いは位置を示している。たとえば、(31:0)は32
ビットの信号(線)であり、「:」の左側がMSB側
を、右側がLSB側を示すものとする。
【0033】転送先アドレス及び、転送元アドレスはエ
ンジンCPU202及び、PDL内のCPU108によ
り設定できるが、まずエンジンCPU202より設定す
る手法を以下に述べる。
【0034】PDLRAM106からエンジン本体内R
AM204へのデータ転送、及びエンジン本体内RAM
204からPDLRAM106へのデータ転送はDMA
コントローラ322によりDMA転送により制御される
ものであり、DMAコントローラ322内には2チャン
ネル分のDMAコントローラが存在する。
【0035】RAM204への転送先アドレスは、エン
ジンCPU202によりPCIアドレスバス372、タ
ーゲットコントローラ371、データバス365、AN
D回路337、OR回路338、データバス339を介
してDMAコントローラ322内のアドレスカウンタ3
23に設定され、更にアドレスバス330を介してマス
タコントローラ314に入力され、PCIアドレスバス
372から出力される。ここで、アドレスカウンタ32
3内には2チャンネル分のアドレスカウンタがあり、こ
こではチャンネル1用のアドレスカウンタに転送先アド
レスを設定している。
【0036】また、転送元アドレスを設定する場合、エ
ンジンCPU202はPCIアドレスデータバス37
2、ターゲットコントローラ371、データバス36
5、AND回路351、OR回路352、データバス3
53を介してアドレスカウンタ348に転送元アドレス
が設定され、双方向バッファ341を介してアドレスバ
ス340へ出力される。なお、アドレスカウンタ348
内にも2チャンネル分のアドレスカウンタがあり、ここ
ではチャンネル1用のアドレスカウンタに転送元アドレ
スを設定している。ここで、FIFO308を介してD
MA転送する場合はアドレスカウンタ323、348の
チャンネル1を使用するが、FIFO315を介してD
MA転送する場合はアドレスカウンタ323、348の
チャンネル2を使用する。
【0037】ここで、コマンド/バイトイネーブル信号
374、デコーダ369を介してライト信号370が生
成され、アドレスカウンタ323及び348へ入力され
る。また、PCIアドレスバス372、ターゲットコン
トローラ371、アドレスバス366、アドレスデコー
ダ360により、レジスタ選択信号361(PCS
(2:1))、363(PCS(25:21))、36
2(PCS(15:11))が生成されるが、選択信号
359(PCS2)、363(PCS(25:21))
がHighのときは、AND回路337、OR回路33
8、データバス339を介して、データバス365が選
択され、アドレスカウンタ323に入力され、転送先ア
ドレスが設定される。
【0038】さらに、選択信号358(PCS1)、3
62(PCS(15:11))がHighのときはAN
D回路351、OR回路352、データバス353を介
して、データバス365が選択され、アドレスカウンタ
348に入力され、転送元アドレスが設定される。
【0039】同様にして、PDLコントローラ部1内の
CPU108により転送先アドレス及び、転送元アドレ
スを設定する場合は、CPU108からライト信号34
9がアドレスカウンタ323及び348へ入力される。
また、アドレスバス340、双方向バッファ341、ア
ドレスデコーダ344により、レジスタ選択信号345
(LCS(2:1))、346(LCS(25:2
1))、347(LCS(15:11))が生成される
が、選択信号357(LCS2)、346(LCS(2
5:21))がHighのときはAND回路336、O
R回路338、データバス339を介して、PDL内の
データバス307が選択され、アドレスカウンタ323
に入力され、転送先アドレスが設定される。
【0040】さらに、選択信号356(LCS1)、3
47(LCS(15:11))がHighのときはAN
D回路350、OR回路352、データバス353を介
して、PDL内のデータバス307が選択され、アドレ
スカウンタ348に入力され、転送元アドレスが設定さ
れる。
【0041】プリンタエンジン部2からのコマンドデー
タはRAM204からPCIアドレスバス372、マス
タコントローラ314、データバス311、バッファ用
FIFO308、データバス306、双方向バッファ3
05を介してPDLデータバス303へ出力され、RA
M106に格納される。その際、転送先アドレス及び、
転送元アドレスはエンジンCPU202及び、PDL内
のCPU108により設定できるが、エンジンCPU2
02より設定する場合は以下の通りである。
【0042】RAM204からの転送元アドレスは、エ
ンジンCPU202によりPCIアドレスデータバス3
72、ターゲットコントローラ371、データバス36
5、AND回路337、OR回路338、データバス3
39を介してDMAコントローラ内のアドレスカウンタ
323に設定され、更にアドレスバス330を介してマ
スタコントローラ314に入力され、PCIアドレスバ
ス372から出力される。
【0043】また、転送先アドレスは、エンジンCPU
202により、PCIアドレスバス372、ターゲット
コントローラ371、データバス365、AND回路3
51、OR回路352、データバス353を介してアド
レスカウンタ348に設定され、データバス365、双
方向バッファ341を介してアドレスバス340へ出力
される。
【0044】ここで、コマンド/バイトイネーブル信号
374、デコーダ369を介してPCIライト信号37
0が生成され、アドレスカウンタ323及び348へ入
力される。また、PCIアドレスバス372、ターゲッ
トコントローラ371、アドレスバス366、アドレス
デコーダ360により、レジスタ選択信号361(PC
S(2:1))、363(PCS(25:21))、3
62(PCS(15:11))が生成されるが、選択信
号359(PCS2)、363(PCS(25:2
1))がHighのときはAND回路337、OR回路
338、データバス339を介して、データバス365
が選択され、アドレスカウンタ323に入力され、転送
元アドレスが設定される。
【0045】さらに、選択信号358(PCS1)、3
62(PCS(15:11))がHighのときはAN
D回路351、OR回路352、データバス353を介
して、データバス365が選択され、アドレスカウンタ
348に入力され、転送先アドレスが設定される。
【0046】同様にして、PDLコントローラ部1内の
CPU108により転送先アドレス及び、転送元アドレ
スを設定する場合は、CPU108からライト信号34
9がアドレスカウンタ323及び348へ入力される。
また、アドレスバス340、双方向バッファ341、ア
ドレスデコーダ344により、レジスタ選択信号345
(LCS(2:1))、346(LCS(25:2
1))、347(LCS(15:11))が生成される
が、選択信号357(LCS2)、346(LCS(2
5:21))がHighのときはAND回路336、O
R回路338、データバス339を介して、PDL内の
データバス307が選択され、アドレスカウンタ323
に入力され、転送元アドレスが設定される。さらに、選
択信号356(LCS1)、347(LCS(15:1
1))がTrueのときはAND回路350、OR回路
352、データバス353を介して、PDL内のデータ
バス307が選択され、アドレスカウンタ348に入力
され、転送先アドレスが設定される。
【0047】ここで、DMAコントローラ322は、エ
ンジンCPU202またはPDLコントローラ部1のC
PU108により、それぞれ、データバス365、30
7を介して、308、315のうち、どちらのFIFO
を使用してDMA転送が起動し、A、B入力のうちどち
らの信号を選択するかを選択信号328により設定する
と同時に、FIFO308または315から入力される
R・WREQ1信号(310)またはR・WREQ2信
号(326)がTrueになると、DMA REQ信号
334をTrueにして出力する。
【0048】PDLバスアービタ回路333は、DMA
REQ信号334がTrueになるとCPU108か
ら入力されるコントロール信号331の状態により、バ
スマスタになることをコントロール信号332を介して
CPU108へ通知し、DOC信号301、ADROC
信号343をTrueにして、双方向バッファ305、
341を制御すると同時に、ワード単位でデータを転送
するたびにDMA ACK信号335をTrueにし
て、DMAコントローラ322へ出力する。
【0049】DMAコントローラ322は、Trueに
なったDMA ACK信号335を受け取ると、R・W
ACK1信号(309)またはR・WACK2信号(3
25)をHighにしてFIFO308または315へ
出力すると同時に、アドレスカウンタ323、348へ
も出力して、アドレスカウンタ323、及び348をカ
ウントアップさせる。
【0050】図2において、R・WREQ1信号31
0、R・WREQ2信号326、R・WACK1信号3
09、R・WACK2信号325は、それぞれリード、
及びライトの2本の信号であり、エンジン本体内のRA
M204からPDL内RAM106へ転送する場合は各
リード信号がTrueになり、PDL内RAM106か
らエンジン本体内のRAM204へ転送する場合は各ラ
イト信号がTrueになる。
【0051】ここで、エンジンCPU202はADバス
(アドレスバス)372、ターゲットコントローラ37
1、アドレスバス366を介して、コンフィグレーショ
ンレジスタ364の値をデータバス368、ターゲット
コントローラ371、ADバス372を介して読み出
し、どのPDLボードが接続されているかを判断するこ
とができる。
【0052】PDL内のRAM106からエンジン本体
内のRAM204へビットマップデータを転送する場合
も、ステータスデータ同様、PDLデータバス303、
双方向バッファ305、データバス307、FIFO3
15、データバス316、選択信号328によりB入力
が選択されたセレクタ313、データバス317、マス
ターコントローラ314を経由してPCIアドレスデー
タバス372に出力され、RAM204に転送される。
【0053】ここで、ビットマップデータを転送する場
合は図3、図4に示す通り、描画データのある矩形領域
の転送元先頭アドレス(SA1)、転送元矩形領域の幅
(W)、転送元矩形領域のライン数(L)、転送元有効
印刷幅(YW1)、並びに転送先先頭アドレス(SA
2)、転送先矩形領域の幅(W)、転送先矩形領域のラ
イン数(L)、転送先有効印刷幅(YW2)を設定す
る。これらの値はアドレスカウンタ323、348に設
定されるが、以下その詳細な設定方法につき、図5およ
び図6を用いて説明する。
【0054】なお、ここで、バッファメモリであるFI
FO315のサイズは、上記矩形領域のサイズである幅
W(ワード)、及びライン数L(ライン)と同じもので
ある。
【0055】図5、図6はそれぞれ、アドレスカウンタ
348、323の状態遷移を示した図であり、不図示の
クロック信号に同期したアドレスカウンタ348、32
3の動作を規定したステートマシンである。アドレスカ
ウンタ348は、図5に示すように初期状態はINIT
のステートにいるが、条件1が成立すると、そのとき入
力されるデータバス353の値DTを転送元バンド先頭
アドレスレジスタ(以下、SA1)に設定し、SETの
ステートへ移る。SETのステートに移ると、条件2が
成立するとデータバス353の値DTを転送元有効印刷
幅レジスタ(以下、YW1)に設定し、SETのステー
トへ戻る。同様にして、条件3が成立するとデータバス
353の値DTを転送元矩形領域の幅レジスタ(以下、
W)に設定し、条件4が成立するとデータバス353の
値DTを転送元矩形領域のライン数レジスタ(以下、
L)に設定し、条件5が成立するとデータバス353の
値DTを‘1’にして、スタートレジスタ(以下、S
T)に‘1’を設定し、SETのステートへ戻る。ST
=‘1’になると、カウンタA(アドレス出力)、カウ
ンタSL(ライン先頭アドレス)、カウンタSA(矩形
領域先頭アドレス)にSA1(バンド先頭アドレス)の
値を設定し、LOADステートに進む。
【0056】DMAコントローラ322より出力される
R・WACK2信号325が‘1’になるとOR回路3
55を介して入力されるR・WACK信号354が
‘1’となり、カウンタAはプラス1され、COUNT
UPステートに移る。同様にして、R・WACK=
‘1’が成立するとカウンタAは1ずつカウントアップ
し、COUNT UPステートに戻る。このとき、カウ
ンタAの値はアドレスカウンタ348のアドレス信号3
65として、出力される。
【0057】上記の動作は、図7においては、PDLメ
モリ内におけるバンド1の中において、文字‘A’が書
かれた矩形領域の1番上の行11〜14のアドレスを、
カウンタAがカウントアップしてPDLメモリ内のデー
タを読み出し、読み出したデータをFIFO315の1
番目の行11〜14に書き込む動作に相当する。ここ
で、FIFO315のアドレスは、DMAコントローラ
322から出力されるWEN324がTrueのとき
に、ライトアドレスカウンタ318よりアドレス信号3
19として出力され、FIFO315へ入力される。
【0058】図5において、カウンタAの値が(SL+
W)と等しくなりA=SL+Wが成立すると、カウンタ
SL(ライン先頭アドレス)、およびカウンタA(アド
レス出力)にYW1をプラスしてCOUNT UPステ
ートに戻り、引き続き、カウンタAをカウントアップさ
せる。これにより、図7における矩形領域の2行目に移
り、PDL内のメモリ21〜24のデータをFIFO3
15の21〜24のアドレスに書き込む。
【0059】FIFO315のアドレスはWEN324
がTrueのときに、ライトアドレスカウンタ318よ
りアドレス信号319として出力される。同様にして、
これを図7における矩形領域のN行目まで繰り返し、P
DL内のメモリN1〜N4のデータをFIFO315の
N1〜N4のアドレスに書き込む。FIFO315のア
ドレスはWEN324がTrueのときに、ライトアド
レスカウンタ318よりアドレス信号319として出力
される。
【0060】図5のCOUNT UPステートにおい
て、カウンタAの値が(SA+(L−1)*YW1+
W)と等しくなり、A=SA+(L−1)*YW1+W
が成立すると、カウンタA(アドレス出力)、カウンタ
SL(ライン先頭アドレス)、カウンタSA(矩形領域
先頭アドレス)に、それ以前の(SA+W)を設定し、
COUNT UPステートに戻る。これにより図7に示
すように、PDL内のメモリにおける‘B’と書かれた
矩形領域に移り、上記と同様の動作が繰り返される。
【0061】さらに、図5において、カウンタAの値が
(SA1+L*YW1)と等しくなり、A=SA1+L
*YW1が成立すると、INITのステートに戻り、再
度、SA1、YW1、W、L、ST等が設定され、上記
と同様の動作が繰り返される。このタイミングは図7に
おいては、PDLメモリ内のバンド1のデータをすべて
読み出し終わり、バンド2の設定に移るタイミングに相
当する。
【0062】なお、図5のCOUNT UPステートに
おいて、複数の条件が同時に成立した場合は、丸数字
(1)〜(4)で示す優先順位に従い、優先順位の高い
状態へ遷移する。丸数字(1)は一番優先順位が高く、
(4)へ向かうほど優先順位が低くなる。
【0063】一方、アドレスカウンタ323の初期状態
は図6に示すようにINITのステートであるが、条件
1が成立すると、そのとき入力されるデータバス339
の値DTを転送先バンド先頭アドレスレジスタ(以下、
SA2)に設定し、SETのステートへ移る。SETの
ステートに移り、条件2が成立するとデータバス339
の値DTを転送先有効印刷幅レジスタ(以下、YW2)
に設定し、SETのステートへ戻る。
【0064】前述と同様に、条件3が成立するとデータ
バス339の値DTを転送先矩形領域の幅レジスタ(以
下、W)に設定し、条件4が成立するとデータバス33
9の値DTを転送先矩形領域のライン数レジスタ(以
下、L)に設定し、条件5が成立するとデータバス33
9の値DTを転送先全副走査ライン数レジスタ(以下、
TL)に設定し、かつ、スタートレジスタ(以下、S
T)に‘1’を設定し、SETのステートへ戻る。
【0065】そして、ST=‘1’になると、カウンタ
A(アドレス出力)、カウンタSL(ライン先頭アドレ
ス)、カウンタSA(矩形領域先頭アドレス)にSA2
(バンド先頭アドレス)の値を設定し、LOADステー
トに進む。
【0066】DMAコントローラ322より出力される
R・WACK信号が‘1’になると、カウンタAはプラ
ス1され、COUNT UPステートに移る。引き続
き、R・WACK=‘1’が成立するとカウンタAは1
ずつカウントアップしながら、COUNT UPステー
トに戻る。このとき、カウンタAの値はアドレスカウン
タ323のアドレス信号330として、出力される。こ
のタイミングは図8においては、FIFO315に記憶
された11〜14のデータを読み出しながら、エンジン
本体メモリ内のバンド1において、文字‘A’と書かれ
た矩形領域の1番上の行11〜14のアドレスに、カウ
ンタAがカウントアップして書き込むタイミングに相当
する。ここで、FIFO315のアドレスは、DMAコ
ントローラ322から出力されるREN327がTru
eのときに、リードアドレスカウンタ320よりアドレ
ス信号321として出力され、FIFO315へ入力さ
れる。
【0067】図6において、カウンタAの値が(SL+
W)と等しくなりA=SL+Wが成立すると、カウンタ
SL(ライン先頭アドレス)、及びカウンタA(アドレ
ス出力)にYW2をプラスしてCOUNT UPステー
トに戻り、引き続き、カウンタAをカウントアップさせ
る。これにより、図8における矩形領域の2行目に移
り、FIFO315の21〜24のデータをプリンタエ
ンジン部2のRAM204内の21〜24のアドレスに
書き込む。
【0068】FIFO315のアドレスはREN327
がTrueのときに、リードアドレスカウンタ320よ
りアドレス信号321として出力される。同様にして、
これを図8における矩形領域のN行目まで繰り返し、F
IFO315N1〜N4のデータをエンジン本体メモリ
内のN1〜N4のアドレスに書き込む。FIFO315
のアドレスはREN327がTrueのときに、リード
アドレスカウンタ320よりアドレス信号321として
出力される。
【0069】図6のCOUNT UPステートにおい
て、カウンタAの値が(SA+(L−1)*YW2+
W)と等しくなり、A=SA+(L−1)*YW2+W
が成立すると、カウンタA(アドレス出力)、カウンタ
SL(ライン先頭アドレス)、カウンタSA(矩形領域
先頭アドレス)に、それ以前の(SA+L*YW2)を
設定し、COUNT UPステートに戻る。これによ
り、図8に示すように、エンジン本体メモリにおける
‘B’と書かれた矩形領域に移って、同様の動作を繰り
返し、FIFO315内のデータを書き込む。
【0070】さらに、図6において、カウンタAの値が
(SA2+(TL−1)*YW2+W)と等しくなり、
A=SA2+(TL−1)*YW2+Wが成立すると、
INITのステートに戻り、再度、SA2、YW2、
W、TL、L、ST等が設定され、同様の動作が繰り返
される。これを図8で示すと、FIFO315内のデー
タをエンジン本体メモリ内のバンド1へ、すべて書き込
み終わり、バンド2の設定に移るところである。
【0071】なお、図6のCOUNT UPステートに
おいて、複数の条件が同時に成立した場合は、丸数字
(1)〜(4)で示す優先順位に従い、優先順位の高い
状態へ遷移する。丸数字(1)は一番優先順位が高く、
(4)へ向かうほど優先順位が低くなる。
【0072】そして、図8に示すように、プリンタエン
ジン部2のRAM204におけるアドレスの振り方は、
PDLメモリ内のそれを90度回転したものであり、F
IFO315から読み出す場合のアドレスの振り方も、
FIFO315に書き込む際のアドレスの振り方を90
度回転したものとなる。
【0073】したがって、プリンタエンジン部2側で
は、それ以上の回転処理を行なうことなく、RAM20
4から単にデータを読み出し、プリンタI/F205を
介してプリンタ206に入力するだけでA4用紙のイメ
ージをA4横用紙に出力することができる。もちろん、
PDLコントローラ部1側の画像データ発生部105
も、処理コストの大きい画像展開時のイメージ回転処理
を行なう必要がない。
【0074】以上説明したように、本実施形態によれ
ば、描画データのある矩形領域の転送元先頭アドレス
(SA1)、転送元矩形領域の幅(W)、転送元矩形領
域のライン数(L)、転送元有効印刷幅(YW1)、並
びに転送先先頭アドレス(SA2)、転送先矩形領域の
幅(W)、転送先矩形領域のライン数(L)、転送先全
副走査ライン数(TL)、転送先有効印刷幅(YW2)
等は、エンジン本体側から、及びPDL内から設定する
ことが可能であり、それぞれPCS(15:11)36
2、PCS(25:21)363、及び、LCS(1
5:11)347、LCS(25:21)346により
選択される。
【0075】すなわち、PDLメモリRAM106内に
ある描画データを、エンジン本体内のメモリRAM20
4へデータ転送する場合、矩形のバッファメモリである
FIFO315を経由し、FIFOへの書き込み、読み
出し方向を90度回転させ、エンジン本体メモリへも9
0度回転させて書き込むことにより、DMA転送中に紙
面データの回転を行なうようにしているので、PDLコ
ントローラ部1の画像データ発生部105がRAM10
6にビットマップデータを展開する際にイメージの回転
を伴なう展開処理を行なう必要がないため、回転機能に
よる展開能力の低下を防止することができ、スループッ
トを低下させることなく、高速な印刷を行なえる。
【0076】[第2実施形態]図9に本発明の第2の実
施形態を示す。図9の構成は、矩形領域のバッファメモ
リを2個設け、図2のFIFO315の2個分を1個の
FIFO501(FIFO501−1、FIFO501
−2)にまとめたものである。図9では図2と同一ない
し相当するブロックには、同一符号を付し、その詳細な
説明は省略するものとする。
【0077】図2の場合、FIFO315への書き込み
が終了するまで、FIFO315内のデータをプリンタ
エンジン部2のRAM204へ転送することができない
が、図9の構成はFIFO501からエンジン本体メモ
リ内へデータを転送しながら、PDLメモリ内のデータ
をFIFO501へ書き込めるようにしたものである。
【0078】図9において、PDLコントローラ部1の
RAM106からエンジン内のRAM204へ描画デー
タを転送する場合、アドレスカウンタ348、323へ
の設定方法は同じであるが、PDLメモリ内のデータは
まず、FIFO501内の1つ目のFIFO501−1
に図2と同様の方法で書き込まれる。次いで、FIFO
501−1のデータをエンジン本体メモリ内に書き込む
際に、PDLメモリ内のデータをFIFO501内の2
つ目のFIFO501−2に書き込む。さらに、FIF
O502−2のデータをエンジン本体メモリ内に書き込
みながら、PDLメモリ内のデータをFIFO501−
1へ書き込むようにしたものである。
【0079】図9の構成における動作を図10、図11
に示す。すなわち、図10におけるPDLメモリ内矩形
領域‘A’の文字をFIFO501−1に書き込み、矩
形領域‘B’の文字をFIFO501−2に書き込んで
いる時に、図11に示すようにFIFO501−1内の
データをエンジン本体メモリ内‘A’と書かれた矩形領
域へ、書き込む。同様に、PDLメモリ内の次の矩形領
域のデータをFIFO501−1に書き込んでいる時
に、図11に示すようにFIFO501−2内のデータ
をエンジン本体メモリ内‘B’と書かれた矩形領域へ書
き込み、この動作を繰り返す。
【0080】図9におけるFIFO501−1、FIF
O501−2のライトアドレスは、ライトアドレスカウ
ンタ502から出力されるアドレス信号319、503
として入力される。ライトアドレス信号319は、DM
Aコントローラ322から出力されるWEN2がTru
eのときにカウントアップし、ライトアドレス信号50
3は、DMAコントローラ322から出力されるWEN
3がTrueのときにカウントアップする。
【0081】FIFO501−1、FIFO501−2
のリードアドレスは、リードアドレスカウンタ504か
ら出力されるアドレス信号321、505として入力さ
れるが、リードアドレス信号321は、DMAコントロ
ーラ322から出力されるREN2がTrueのときに
カウントアップし、リードアドレス信号505は、DM
Aコントローラ322から出力されるREN3がTru
eのときにカウントアップする。
【0082】なお、図12、図13に示すようにPDL
内のビットマップデータとエンジン内のデータの並びが
逆の場合は、図2、図9に示したのと同様にFIFO3
15、FIFO501に入力するデータバス307LD
(31:0)とFIFOから出力されるデータバス31
6LD(0:31)との並びを逆にして接続すればよ
い。
【0083】当然のことながら、PDL内のビットマッ
プデータとエンジン内のデータとの並びが同一である場
合は、FIFO315、501に入力するデータバス
と、FIFOから出力されるデータバスとの並びを同じ
に接続すればよく、上記実施形態と同様の効果を奏す
る。
【0084】以上のように、FIFO501を複数のバ
ッファメモリとして構成することにより、FIFO50
1からプリンタエンジン部2のRAM204エンジン本
体メモリ内へデータを転送しながら、PDLメモリ内の
データをFIFO501へ書き込むことができ、さらに
画像データの転送効率を向上させ、より高速な印刷を行
なうことができる。
【0085】[第3実施形態]第2実施形態では、FI
FOを2個設け書き込みと読み出しを同時に行なう構成
を示したが、FIFOのアクセスを工夫することによっ
てもほぼ同様の効果を得ることができる。
【0086】ここでは、第1実施形態の図1〜図8の構
成に基づき説明する。図16は、本実施形態におけるF
IFO315へのライト・リードアクセスを行なう方法
を示している。
【0087】本実施形態では、図16(1)に示すよう
にFIFO315の1行目からN行目までデータを書き
込んだ後、図16(2)に示すように、FIFO315
の90度回転した方向から1行読み出した後、2行目を
リードしながら1行目に次のデータを書き込む。以下、
同様に、L行目を読み出しながら(L−1)行目に次の
データを書き込み、N行目まで同様の動作を繰り返す。
【0088】さらに、図16(3)に示すようにFIF
O315のさらに90度回転した方向から先行して1行
読み出した後、1行先を読み出しながら次のデータを前
の行に書き込み、N行目まで同様の動作を繰り返し、図
16(4)、(5)へと進む。
【0089】以上のように、読み出しを終った領域に対
して書き込みを行なうことにより、FIFO315に対
する書き込みと読み出しを多重化することができる。
【0090】以下では、上記のような転送方式により画
像データがどのように転送されるかをより具体的に示
す。
【0091】図17は、PDLコントローラ内のRAM
106から読み出したデータをFIFO315に書き込
む方法、並びにFIFO315から読み出した画像デー
タをプリンタエンジン内のRAM204へ格納する方法
を示している。図17(1)においてPDLコントロー
ラ内のRAM106のデータをFIFO315へ、1行
目からN行目の順番で書き込むと、PDLコントローラ
内のRAM106に展開された『A』の文字がFIFO
315に書き込まれる。
【0092】次に、図17(2)でFIFO315の9
0度回転した方向から1行読み出しプリンタエンジン内
のRAM204へ1行書き込んだ後、FIFO315か
ら2行目を読み出しプリンタエンジン内のRAM204
へ格納しながら、PDLコントローラ内のRAM106
から次のデータをFIFO315の1行目に書き込む。
【0093】以下、同様に次の行をFIFO315から
プリンタエンジンのRAM204へ読み出しながら、F
IFO315の前の行にPDLコントローラ内のRAM
106のデータを書き込む。これらを繰り返すことによ
り、FIFO315内のデータ『A』をプリンタエンジ
ン内のRAM204へ書き込みながら、PDLコントロ
ーラ内のRAM106のデータ『B』をFIFO315
へ書き込む。
【0094】次に図17(3)では、FIFO315の
さらに90度回転した方向からプリンタエンジン内のR
AM204へデータ『B』を読み出しながら、PDLコ
ントローラ内のRAM106からFIFO315へデー
タ『C』を書き込む。以下同様に、図17(4)では、
FIFO315のさらに90度回転した方向からプリン
タエンジン内のRAM204へデータ『C』を読み出し
ながら、PDLコントローラ内のRAM106からFI
FO315へデータ『D』を書き込む。
【0095】以上のようにして、FIFO315が1つ
のバッファメモリであっても、FIFO315に対する
書き込みと読み出しを多重化することにより、画像デー
タ転送および画像データ回転を効率よく実施することが
でき、かつ複数のバッファメモリを使用した構成と同等
の転送速度まで向上させることができ、省メモリ化、コ
ストダウン化を図ることができる。
【0096】[第4実施形態]前述のように、画像デー
タの90°の回転は時に必要でなくなる場合がある。た
とえば、A4横用紙に印刷する場合、90°回転した画
像データを用いなければならないが、A4横用紙がカセ
ット内に無くなってしまい、緊急避難的にA4縦用紙を
用いて印刷するような場合である。
【0097】本実施形態では、用紙カセットのA4横用
紙および、A4用紙の有無に応じて画像データの90°
の回転を伴なうデータ転送および画像データの90°の
回転を伴なわないデータ転送を切り換える。本実施形態
においても、ハードウェア構成は第1実施形態の図1〜
図8の構成と同様であるものとする。また、用紙カセッ
トの用紙の有無は公知の光学センサなどにより検出すれ
ばよいので、ここでは詳細な説明は省略するものとす
る。
【0098】本実施形態では、用紙カセットにA4横用
紙が有り、A4用紙に印字する場合は、前述したように
画像データの90°の回転を伴なうデータ転送(図3、
図4)を行なうが、用紙カセットにA4横用紙が無く、
A4縦用紙がある場合は図18、図19に示すように画
像データの90°の回転を伴なわないデータ転送を行な
う。
【0099】このとき、プリンタエンジン部のCPU2
02は、PCIアドレスデータバス372、ターゲット
コントローラ371、データバス365、AND回路3
37、OR回路338、データバス339を介して、D
MAコントローラ322へデータ転送時に回転しないこ
とを通知し、これによりFIFO315への書き込みと
読み出しの方法を同一になるよう制御する。
【0100】すなわち、PDLコントローラ内のメモリ
106からFIFO315への書き込みは、図18に示
すように行ない、FIFO315からプリンタエンジン
内のメモリ204への書き込みは、図19に示すように
行なう。
【0101】この場合、転送先先頭アドレス(SA
2)、転送先矩形領域の幅(W)、転送先矩形領域のラ
イン数(L)、転送先有効印刷幅(YW2)等は、描画
データのある矩形領域の転送元先頭アドレス(SA
1)、転送元矩形領域の幅(W)、転送元矩形領域のラ
イン数(L)、転送元有効印刷幅(YW1)、と同じよ
うに設定され、アドレスカウンタ323はアドレスカウ
ンタ348と同じようにカウントアップされる。
【0102】また、プリンタエンジン部のA4用紙の有
無に関する情報はPDLコントローラ1へ通知する構成
も可能である。この場合は、PDLコントローラのCP
U108からDMAコントローラ322をデータ転送時
に回転しないよう設定することが可能であるため、同様
に、無駄な回転処理を省くことができる。
【0103】また、以上では矩形領域ごとに転送を制御
したが、必ずしもこのような転送を行なう必要はない。
【0104】たとえば、図20、図21に示すように、
A4横用紙がなくデータ転送時に回転が不要な場合は、
矩形領域ごとにFIFO315に書き込むのではなく、
PDLコントローラ内のメモリ106からFIFO31
5へ主走査方向のライン毎に書き込み、FIFO315
からプリンタエンジン内のメモリ204へも主走査方向
のライン毎に書き込むようにしてもよい。
【0105】この場合、プリンタエンジン部のCPU2
02は、アドレスカウンタ323及び348にバンド毎
に、先頭アドレスのみ設定し、両アドレスカウンタはリ
ニアにカウントアップすればよい。もちろん、この構成
においても、プリンタエンジン部のA4用紙の有無に関
する情報をPDLコントローラ1へ通知すれば、PDL
コントローラのCPU108は、アドレスカウンタ32
3及び348にバンド毎に、先頭アドレスを設定するこ
とは可能であるため、無駄な回転処理を省くことができ
る。
【0106】なお、前述実施形態と同様、図12、図1
3に示すようにPDL内のビットマップデータとエンジ
ン内のデータの並びが逆の場合は、FIFO315に入
力するデータバス307LD(31:0)とFIFOか
ら出力されるデータバス316LD(0:31)との並
びを逆にして接続すればよい。
【0107】また、当然のことながら、PDL内のビッ
トマップデータとエンジン内のデータとの並びが同一で
ある場合は、FIFO315に入力するデータバスと、
FIFOから出力されるデータバスとの並びを同じに接
続すればよく、上記実施形態と同様の効果を期待でき
る。
【0108】また、上記実施形態では、PDLコントロ
ーラ内のRAMからプリンタエンジン本体内のRAMへ
データ転送時に回転が不要な場合も、N×M bitの
FIFO315を使用したが、回転しない場合は、N×
2 bit程度の小さなメモリでもよく、上記実施形態
と同様の効果を期待できる。
【0109】以上のように、FIFO315が1つのバ
ッファメモリであっても、FIFO315からの読み出
しを先行させ、かつ、FIFO315からプリンタエン
ジン部2のRAM204へデータを読み出しながら、P
DLコントローラ内RAM106のデータをFIFO3
15へ書き込むことにより、PDLコントローラからプ
リンタエンジンへのデータ転送時に展開データを回転す
ることができるため、展開時の回転によるパフォーマン
スの低下を防ぐことができる。また、エンジン本体の用
紙の有無に関する情報により、PDLコントローラから
プリンタエンジンへのデータ転送時に、展開データを回
転するかしないかを制御できるため、たとえば横用紙が
なくなった場合などにおいてエンジン本体内における無
駄な回転を削除することができる。
【0110】すなわち、本実施形態によれば、印刷装置
のスループットを低下させることなく画像の回転を行な
い、高速な印刷を行なえるようにするとともに、エンジ
ン本体の紙有り無し情報を入手して、無駄な回転を行な
わないように制御することにより、複数のバッファメモ
リを使用した構成(たとえば第2実施形態)と同等の転
送効率まで向上させることができ、省メモリ化、コスト
ダウンを図ることができる。
【0111】また、通常は、画像データ発生部104に
印刷する用紙の形態であるA4横の形態でビットマップ
データを発生させ、PCI I/F109で回転するこ
となく、プリントエンジン2に出力し、A4横の用紙が
なくなり、A4縦で印刷する場合、画像データ発生部1
04に印刷する用紙の形態であるA4横の形態でビット
マップデータを発生させ、PCI I/F109で回転
して、プリントエンジン2に出力することもできる。
【0112】[第5実施形態]本実施形態では、外部機
器から入力された印刷データのうち、コマンド/ステー
タスデータや文字コードによる印字データは共通バスを
用いてPDLコントローラ内のメモリからPCIコント
ローラ経由でプリンタエンジンのメモリヘ転送するが、
画像データ、すなわちPDLコントローラで展開したビ
ットマップデータは共通バスを用いるのではなく、専用
のバスを用いて転送する。
【0113】図22は本実施形態の印刷システムの構成
を示している。図22は、第1実施形態の図1と同様の
形態の図で、PCIバス3を利用してPDLコントロー
ラ部1とプリンタエンジン部2を接続する構成を示して
いる。図22において、図1と共通の部分には同一符号
を付し、その詳細な説明は省略するものとする。
【0114】図22において、図1と異なっているの
は、画像データ発生部105、RAM106、PCI
I/F109廻りの構造である。
【0115】すなわち、図22において、画像データ発
生部105は、前述の第1実施形態同様に、ホストI/
F103から受信したPDL形式などの印刷データを展
開し、RAM106内にビットマップデータを書き込
む。画像データ発生部105は画像データ発生手段以外
に、RAMコントローラも含んでおり、プリンタエンジ
ン部2のRAM204のコマンド/ステータスデータも
RAM106に蓄えることができる。
【0116】本実施形態では、プリンタエンジン2から
のコマンド/ステータスデータは、図1と同様、RAM
204からRAM106へ、PCIコントローラ20
1、109、画像データ発生部105を経由して転送さ
れる。
【0117】また、本実施形態では、PDLコントロー
ラ部1で展開されたビットマップデータは、RAM10
6から画像データ発生部105、専用バス1501、P
CIコントローラ109、201を介して、プリンタエ
ンジン内のRAM204へ転送される。
【0118】図23は第1実施形態の図2に相当するも
のであり、図22のPCIコントローラ109の内部構
造を詳細に示している。図23において、図2と共通の
部分には同一符号を付し、その詳細な説明は省略するも
のとする。
【0119】図23において図2と異なるのは、専用バ
ス1501を介して、PDLコントローラ部1で展開さ
れたビットマップデータを転送するようになっている点
である。
【0120】すなわち、図23において、PDLコント
ローラ2のRAM106からエンジン本体内のRAM2
04ヘビットマップデータを転送する場合は、専用バス
1501(VD(3:0))、シリアル・パラレル変換
回路1502を介して32ビットのデータに変換し、デ
ータバス1503経由でFIFO315に入力する。F
IFO315の後の経路は図1と同様であり、データバ
ス316、選択信号328によりB入力が選択されたセ
レクタ313、データバス317、マスターコントロー
ラ314を経由してPCIアドレスデータバス372に
出力され、RAM204に転送される。
【0121】本実施形態では、PDLコントローラ2の
RAM106からFIFO315へ専用バス1501を
用いてビットマップデータを転送する点が第1〜第4実
施形態と異なるだけで、第1〜第3実施形態のようなビ
ットマップデータの90°回転を伴なう転送、あるいは
第4実施形態のように90°回転を伴なわない転送は、
前述同様に図3〜図8、(あるいは図16および図1
7、あるいは図18〜図21)のようにして実現でき
る。
【0122】そして、本実施形態によれば、PDLコン
トローラ1では、外部機器からの印字データ、及びプリ
ンタエンジン部2とのコマンド/ステータスデータの入
出力は、RAM106、バス110、PCIコントロー
ラ109を介してデータ転送するが、展開されたビット
マップデータはRAM106から画像データ発生部10
5、専用バス1501、PCIコントローラ109を介
してデータ転送するようにしているため、たとえビット
マップデータが大量であってもビットマップデータの転
送時にバス110が占有されることがなく、他のデバイ
スが動作でき、また、コマンド/ステータスデータの入
出力に悪影響を与えることがなく、印刷処理のパフォー
マンスの劣化を抑えることができる。特に本実施形態の
構成によれば、ビットマップデータ転送中であっても、
CPU108がROM107やRAM106にアクセス
することが可能となるため、パフォーマンスのボトルネ
ックになっている部分を回避でき、高速な印刷処理を行
なうことができる。
【0123】なお、図23では、FIFO315は画像
データを専用バス1501のみを介して入力する構成を
示したが、図24に示すように双方向バッファ305側
から入力されるデータも入力できるようにした構成も考
えられる。
【0124】すなわち、図24において、ビットマップ
データの入力経路は、専用バス1501〜32ビットデ
ータへの変換を行なうシリアルパラレル変換回路150
2〜データバス1503の経路、または、第1実施形態
同様にデータバス303〜双方向バッファ305〜デー
タバス307の経路のいずれかを選択できるようになっ
ている。上記いずれかの経路(データバス1503また
はデータバス307)は、FIFO315の直前でセレ
クタ1504により選択する。
【0125】セレクタ1504を制御する選択信号15
06はCPU202(あるいはPDLコントローラ側の
CPU108でもよい)により設定されるが、その際、
まずADバス(アドレスバス)372、ターゲットコン
トローラ371、アドレスバス366、アドレスデコー
ダ360よりPCIデータ選択信号1508が作成さ
れ、レジスタ1507に入力される。また、ADバス3
72、ターゲットコントローラ371、データバス36
5の一部のデータ1509(PCI側データ)、及びコ
マンド/バイトイネーブル信号374、およびデコーダ
369を介して生成されたPCIライト信号370がレ
ジスタ1507に入力され、選択信号1506が作成さ
れ、データバス1503または307のどちらかを選択
する。
【0126】また、図22ではRAM106に画像デー
タが格納されるものとしたが、図25に示すように専用
の描画メモリ1510を設ける構成も考えられる。
【0127】図25では、描画用の専用メモリ1510
を画像データ発生部105に接続しており、画像データ
発生部105により生成された展開データは描画メモリ
1510に格納される。このビットマップデータをプリ
ンタエンジンのRAM204へ転送する場合は、描画メ
モリ1510、画像データ発生部105、バス501、
PCIコントローラ109、201を介してRAM20
4へ転送する。また、RAM106には、外部機器10
4から転送される印字データなどを格納し、プログラム
を動作させるワーク領域などとして使用する。
【0128】このように、描画メモリ1510を独立さ
せることによって、画像データとそれ以外のコマンド/
ステータスデータなどとのバスの分離が促進され、より
大きいスループットの向上効果を期待することができ
る。
【0129】なお、本実施形態においても、PDL内の
ビットマップデータとエンジン内のデータの並びが逆の
場合は、図12および図13で示したのと同様にFIF
O315に入力するデータバス505のLD(31:
0)とFIFOから出力されるデータバス316のLD
(0:31)との並びを逆にして接続すればよい。
【0130】また、本実施形態では、専用バス1501
は4ビット幅のデータバスであるが、1,2,8,1
6,32ビットなど他のビット幅でもよく、上記実施形
態と同様の効果を奏する。なお、専用バス1501が3
2ビット幅の場合は、シリアル・パラレル変換回路15
02が不要であることは、言うまでもない。
【0131】
【発明の効果】以上説明したように本発明によれば、印
刷データから印刷機構で印刷させる描画データを生成す
る印刷装置、印刷装置の制御方法、印刷制御装置、およ
び印刷制御装置の制御方法において、印刷データを展開
して得た描画データを印刷機構側に転送する転送過程を
利用して画像データの回転処理を行なう構成を採用して
いるので、印刷制御装置(PDLコントローラ)の画像
展開時の回転による展開能力の低下を防止し、印刷装置
のスループットを低下させることなく画像の回転を行な
い、高速な印刷を行なえる、という優れた効果がある。
【図面の簡単な説明】
【図1】本発明を採用したプリンタの制御系の構成を示
したブロック図である。
【図2】図1のPCIコントローラの構成を詳細に示し
たブロック図である。
【図3】PDLコントローラ部のRAM内の印刷データ
を示した説明図である。
【図4】プリンタエンジン部のRAM内の印刷データを
示した説明図である。
【図5】図2のアドレスカウンタ(348)内の動作を
示した状態遷移図である。
【図6】アドレスカウンタ(323)の動作を示した状
態遷移図である。
【図7】PDLコントローラ部のRAM内の印刷データ
を示した説明図である。
【図8】プリンタエンジン部のRAM内の印刷データを
示した説明図である。
【図9】本発明によるPCIコントローラの第2の実施
形態を示したブロック図である。
【図10】第2実施形態におけるPDLコントローラ部
のRAM内の印刷データを示した説明図である。
【図11】第2実施形態におけるプリンタエンジン部の
RAM内の印刷データを示した説明図である。
【図12】第2実施形態におけるPDLコントローラ部
のRAM内の印刷データを示した説明図である。
【図13】第2実施形態におけるプリンタエンジン部の
RAM内の印刷データを示した説明図である。
【図14】従来のPDLメモリの印刷データを示す説明
図である。
【図15】従来のエンジン本体メモリ内の印刷データを
示す説明図である。
【図16】本発明の第3実施形態における印刷データ転
送方法を示す説明図である。
【図17】本発明の第3実施形態における印刷データ転
送方法を示す説明図である。
【図18】本発明の第3実施形態における印刷データ転
送方法を示す説明図である。
【図19】本発明の第3実施形態における印刷データ転
送方法を示す説明図である。
【図20】本発明の第3実施形態における印刷データ転
送方法を示す説明図である。
【図21】本発明の第3実施形態における印刷データ転
送方法を示す説明図である。
【図22】本発明の第4実施形態のプリンタの制御系の
構成を示すブロック図である。
【図23】図22のPCIコントローラの構成を詳細に
示すブロック図である。
【図24】図23の構成を一部変形した構成を示すブロ
ック図である。
【図25】図22の構成を一部変形した構成を示すブロ
ック図である。
【符号の説明】
1 PDLコントローラ部 2 プリンタエンジン部 3 PCIバス 4 ネットワーク送受信部 5 外部機器 101 表示パネル 102 パネルI/F 103 ホストI/F 104 外部機器 105 画像データ発生部 106 RAM 107 ROM 108 CPU 109 PCI I/F 110 バス 201 PCI I/F 202 CPU 203 ROM 204 RAM 205 プリンタI/F 206 プリンタ 301 データ出力コントロール信号 302 リード信号 303 データバス 304 NOR回路 305 双方向バッファ 306 データバス 307 データバス 308 FIFO(チャンネル1) 309 R・WACK1信号 310 R・WREQ1信号 311 データバス 312 データバス 313 セレクタ 314 マスターコントローラ 315 FIFO(チャンネル2) 316 データバス 317 データバス 318 ライトアドレスカウンタ 319 ライトアドレス 320 リードアドレスカウンタ 321 リードアドレス 322 DMAコントローラ(2チャンネル分) 323 PCI側アドレスカウンタ(2チャンネル分) 324 ライトイネーブル信号 325 R・WACK2信号 326 R・WREQ2信号 327 リードイネーブル信号 328 選択信号 330 PCI側アドレスバス 331 CPU制御信号 332 バスコントロール信号 333 PDL側バスアービター回路 334 DMA REQ信号 335 DMA ACK信号 336 AND回路 337 AND回路 338 OR回路 339 データバス 340 PDL内アドレスバス 341 双方向バッファ 342 PDL内リード信号 343 PDLアドレス出力コントロール信号 344 PDL側アドレスデコーダ 345 PDLデータ選択信号 346 PDLデータ選択信号 347 PDLデータ選択信号 348 PDL側アドレスカウンタ 349 PDLライト信号 350 AND回路 351 AND回路 352 OR回路 353 データバス 354 R・WACK信号 355 OR回路 356 PDLデータ選択信号 357 PDLデータ選択信号 358 PCIデータ選択信号 359 PCIデータ選択信号 360 PCI側アドレスデコーダ 361 PCIデータ選択信号 362 PCIデータ選択信号 363 PCIデータ選択信号 364 コンフィギュレーションレジスタ 365 PCI側データバス 366 PCI側アドレスバス 367 コンフィギュレーションレジスタ選択信号 368 コンフィギュレーションレジスタ出力信号 369 PCI側デコーダ 370 PCIライト信号 371 ターゲットコントローラ 372 PCI側ADバス 373 PCI側制御信号 374 PCI側コマンド/バイトイネーブル信号 501 ダブルバッファ化したFIFO(チャンネル
2) 502 ダブルバッファに対応したライトアドレスカウ
ンタ 503 ライトアドレス出力信号 504 ダブルバッファに対応したリードアドレスカウ
ンタ 505 リードアドレス出力信号 506 ライトイネーブル信号 507 リードイネーブル信号 508 R・WACK2、3信号 509 R・WREQ2、3信号 1501 専用バス 1502 シリアル・パラレル変換回路 1503 データバス 1504 セレクタ 1506 選択信号 1507 レジスタ 1508 PCIデータ選択信号 1509 PCI側データ

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 PDLコントローラと所定の記録方式に
    より構成されたプリンタエンジンとがパラレルインター
    フェースにより接続され、該インターフェースを介して
    印刷すべき画像データをDMA転送する印刷装置におい
    て、 前記PDLコントローラ内で展開した描画データを、一
    旦バッファメモリに書き込み、90度回転したデータを
    前記バッファメモリから読み出し、前記プリンタエンジ
    ンのメモリにDMA転送する制御手段を有することを特
    徴とする印刷装置。
  2. 【請求項2】 描画データを上記バッファメモリサイズ
    の所定の矩形領域に区分し、前記矩形領域ごとにPDL
    コントローラ内のメモリの前記矩形領域の先頭アドレ
    ス、有効印字領域幅、前記矩形領域の幅、前記矩形領域
    のライン数あるいは転送サイズ、および、プリンタエン
    ジンのメモリの前記矩形領域の先頭アドレス、有効印字
    領域幅、前記矩形領域の幅、前記矩形領域のライン数あ
    るいは転送サイズを設定してDMA転送することを特徴
    とする請求項1に記載の印刷装置。
  3. 【請求項3】 前記バッファメモリがN×Mbitのサ
    イズを有し、NがPDLコントローラ側データバスサイ
    ズの正の整数倍、及びMがプリンタエンジン側データバ
    スサイズの正の整数倍に相当することを特徴とする請求
    項1に記載の印刷装置。
  4. 【請求項4】 前記N×Mbitのバッファメモリが複
    数個設けられ、PDLコントローラ内のメモリから一方
    のバッファメモリに描画データを書き込むと同時に、他
    方のバッファメモリからプリンタエンジンのメモリへデ
    ータを読み出して書き込むことを特徴とする請求項3に
    記載の印刷装置。
  5. 【請求項5】 前記PDLコントローラ内で展開した描
    画データを、一旦N×Mbitでかつ単一のバッファメ
    モリに書き込み、90度回転したデータを前記バッファ
    メモリから読み出し、前記プリンタエンジンのメモリに
    DMA転送する際、前記バッファメモリから前記プリン
    タエンジンのメモリへ転送するデータを読み出しながら
    次の描画データを前記バッファメモリに書き込むことを
    特徴とする請求項1に記載の印刷装置。
  6. 【請求項6】 所定処理条件に応じて、前記PDLコン
    トローラ内で展開した描画データを、一旦バッファメモ
    リに書き込み、前記バッファメモリから読み出し、前記
    プリンタエンジンのメモリにDMA転送する際の前記デ
    ータの90度回転を実行するか否かを制御することを特
    徴とする請求項1に記載の印刷装置。
  7. 【請求項7】 前記の所定処理条件がそれぞれ異なる印
    刷方向を有する同一サイズの用紙の有無であり、該所定
    処理条件に応じて前記データの90度回転を実行するか
    否かを制御することを特徴とする請求項6に記載の印刷
    装置。
  8. 【請求項8】 前記PDLコントローラ内で展開した描
    画データを、前記PDLコントローラおよびプリンタエ
    ンジン間で描画データ以外のデータを転送する共通バス
    とは異なる専用バスを介して前記バッファメモリに転送
    することを特徴とする請求項1に記載の印刷装置。
  9. 【請求項9】 PDLコントローラと所定の記録方式に
    より構成されたプリンタエンジンとがパラレルインター
    フェースにより接続され、該インターフェースを介して
    印刷すべき画像データをDMA転送するプリンタ装置の
    制御方法において、 前記PDLコントローラ内で展開した描画データを、一
    旦バッファメモリに書き込み、90度回転したデータを
    前記バッファメモリから読み出し、前記プリンタエンジ
    ンのメモリにDMA転送する工程を有することを特徴と
    する印刷装置の制御方法。
  10. 【請求項10】 印刷データに基づきビットマップデー
    タを発生する発生手段と、 前記発生手段により発生されたビットマップデータを記
    憶する記憶手段と、 前記記憶手段に記憶されたビットマップデータを印刷機
    構に転送する際に、前記ビットマップデータを回転する
    回転手段とを有することを特徴とする印刷制御装置。
  11. 【請求項11】 前記回転手段は、前記発生手段により
    ビットマップデータを発生した際の紙の向きと実際に印
    刷する紙の向きとが異なる場合に回転することを特徴と
    する請求項10記載の印刷制御装置。
  12. 【請求項12】 印刷データに基づきビットマップデー
    タを発生する発生手段と、前記発生手段により発生され
    たビットマップデータを記憶する記憶手段とを利用する
    印刷制御装置の制御方法であって、 前記記憶手段に記憶されたビットマップデータを印刷機
    構に転送する際に、前記ビットマップデータを回転する
    ことを特徴とする印刷制御装置の制御方法。
  13. 【請求項13】 前記回転は、前記発生手段によりビッ
    トマップデータを発生した際の紙の向きと実際に印刷す
    る紙の向きとが異なる場合に回転することを特徴とする
    請求項12記載の印刷制御装置の制御方法。
  14. 【請求項14】 印刷データに基づきビットマップデー
    タを発生する発生手段と、 前記発生手段により発生されたビットマップデータを記
    憶する記憶手段と、 前記ビットマップデータに基づき印刷を行なうプリンタ
    エンジンと、 前記記憶手段に記憶されたビットマップデータを前記プ
    リンタエンジンに転送する際に、前記ビットマップデー
    タを回転する回転手段とを有することを特徴とする印刷
    装置。
  15. 【請求項15】 前記回転手段は、前記発生手段により
    ビットマップデータを発生した際の紙の向きと実際に印
    刷する紙の向きとが異なる場合に回転することを特徴と
    する請求項14記載の印刷装置。
JP2001156270A 2000-06-21 2001-05-25 印刷装置、印刷装置の制御方法、印刷制御装置、および印刷制御装置の制御方法 Pending JP2002079712A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001156270A JP2002079712A (ja) 2000-06-21 2001-05-25 印刷装置、印刷装置の制御方法、印刷制御装置、および印刷制御装置の制御方法
US09/884,065 US20020018238A1 (en) 2000-06-21 2001-06-20 Printer, print control apparatus and method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000185803 2000-06-21
JP2000-185803 2000-06-21
JP2001156270A JP2002079712A (ja) 2000-06-21 2001-05-25 印刷装置、印刷装置の制御方法、印刷制御装置、および印刷制御装置の制御方法

Publications (1)

Publication Number Publication Date
JP2002079712A true JP2002079712A (ja) 2002-03-19

Family

ID=26594337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001156270A Pending JP2002079712A (ja) 2000-06-21 2001-05-25 印刷装置、印刷装置の制御方法、印刷制御装置、および印刷制御装置の制御方法

Country Status (2)

Country Link
US (1) US20020018238A1 (ja)
JP (1) JP2002079712A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004179692A (ja) * 2002-11-22 2004-06-24 Ricoh Co Ltd 画像処理装置、画像処理方法およびこの方法をコンピュータに実行させるプログラム
JP2009006507A (ja) * 2007-06-26 2009-01-15 Canon Inc 画像形成装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003330879A (ja) * 2002-05-15 2003-11-21 Mitsubishi Electric Corp Dma回路
DE10230679A1 (de) * 2002-07-04 2004-01-22 Francotyp-Postalia Ag & Co. Kg Verfahren zum Steuern des Druckens in einem Postbearbeitungsgerät
US7643694B2 (en) * 2004-12-31 2010-01-05 Zoran Corporation Method and apparatus for processing a compressed image in an order other than the order in which it was compressed
JP4574457B2 (ja) * 2005-06-08 2010-11-04 キヤノン株式会社 画像処理装置およびその方法
US8922803B2 (en) 2013-02-27 2014-12-30 Ricoh Company, Ltd. Bitmap rotation mechanism
JP5692438B1 (ja) * 2014-03-20 2015-04-01 富士ゼロックス株式会社 画像処理装置およびプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63307587A (ja) * 1987-06-09 1988-12-15 Fuji Photo Film Co Ltd 画像デ−タ変換装置
JP2973784B2 (ja) * 1993-07-19 1999-11-08 松下電器産業株式会社 多値画像90度回転方法及び装置
JPH0795335A (ja) * 1993-09-24 1995-04-07 Toshiba Corp 画像形成記憶装置
JP3166447B2 (ja) * 1993-10-26 2001-05-14 富士ゼロックス株式会社 画像処理装置及び画像処理方法
US5625466A (en) * 1994-03-04 1997-04-29 Minolta Co., Ltd. Image forming apparatus providing landscape or portrait image format based on detected size of original
JPH096323A (ja) * 1995-06-16 1997-01-10 Fuji Xerox Co Ltd 画像データ記憶方法および画像データ回転処理装置
US5634088A (en) * 1995-11-01 1997-05-27 Xerox Corporation Method and apparatus for rotation of high addressability bitmap images
US6473123B1 (en) * 1997-08-21 2002-10-29 Flash Point Technology, Inc. Method and system for organizing DMA transfers to support image rotation
JP3376878B2 (ja) * 1997-09-19 2003-02-10 ミノルタ株式会社 デジタル複写機
JPH11348358A (ja) * 1998-06-09 1999-12-21 Ricoh Co Ltd 画像形成装置
US6330374B1 (en) * 1998-11-13 2001-12-11 Ricoh Company, Ltd. Image manipulation for a digital copier which operates on a block basis

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004179692A (ja) * 2002-11-22 2004-06-24 Ricoh Co Ltd 画像処理装置、画像処理方法およびこの方法をコンピュータに実行させるプログラム
JP2009006507A (ja) * 2007-06-26 2009-01-15 Canon Inc 画像形成装置

Also Published As

Publication number Publication date
US20020018238A1 (en) 2002-02-14

Similar Documents

Publication Publication Date Title
JP2000158724A (ja) 画像処理装置、画像処理方法および記録媒体
US5299310A (en) Flexible frame buffer for raster output devices
JP2002079712A (ja) 印刷装置、印刷装置の制御方法、印刷制御装置、および印刷制御装置の制御方法
JP2000335022A (ja) プリンタ制御装置
JP3656370B2 (ja) 画像処理装置、情報処理装置およびプリンタ
JP3042757B2 (ja) データ処理装置およびこれを用いたプリンタ制御装置
US6980701B1 (en) Image processing method and apparatus capable of rotating and reversing an input image
JP2002215562A (ja) Dma制御装置及び方法
JP3193551B2 (ja) 印刷装置
JP3006956B2 (ja) 印刷装置
JP2000293678A (ja) 画像処理装置
JP3304769B2 (ja) アドレス変換装置
JP2650416B2 (ja) ラスタスキャン方式の両面印刷装置
JPH10333853A (ja) ページプリンタの画像データ出力回路
KR19980024529A (ko) 기록 장치
JP2001239707A (ja) プリンタ制御装置及びそのデータ転送方法
JPH07195760A (ja) プリンタ制御装置
JPH0592620A (ja) データ縮小出力方式
JP2001047677A (ja) プリンタ制御装置
JP3304907B2 (ja) ページレイアウト回路
JP3210598B2 (ja) 印刷制御装置および印刷制御方法
JPH05212915A (ja) ページ・プリンタのコントローラ
JP2000280528A (ja) 画像処理方法及び装置
JPH11184748A (ja) 情報処理装置およびその制御方法
JPH02226195A (ja) 文字発生方式

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080722