JP2008093942A - 印刷装置 - Google Patents

印刷装置 Download PDF

Info

Publication number
JP2008093942A
JP2008093942A JP2006277778A JP2006277778A JP2008093942A JP 2008093942 A JP2008093942 A JP 2008093942A JP 2006277778 A JP2006277778 A JP 2006277778A JP 2006277778 A JP2006277778 A JP 2006277778A JP 2008093942 A JP2008093942 A JP 2008093942A
Authority
JP
Japan
Prior art keywords
packet
print image
image data
header
data
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.)
Withdrawn
Application number
JP2006277778A
Other languages
English (en)
Inventor
Kazuhiro Oyoshi
和博 大吉
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 JP2006277778A priority Critical patent/JP2008093942A/ja
Publication of JP2008093942A publication Critical patent/JP2008093942A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

【課題】 回路規模やメモリサイズを増大することなく、データ転送効率を向上させる。
【解決手段】 連続して印刷イメージデータPacketを転送する際、先頭のPacketで連続して転送する複数のPacketの種類と、サイズを示すことで、転送のオーバーヘッドとなっていたPacketのヘッダー解析処理の回数を大幅に削減する。
【選択図】 図6

Description

本発明は、ホストコンピュータで印刷イメージを作成し、プリンタへPacket形態でデータを転送し、プリントを行う印刷装置、及びその印刷制御方法に関するものである。
従来、ホストベースプリンタにおいて、Packet形態で印刷イメージデータ、及びコマンドを転送することで印刷を実施する形態がある。
受信したPacketをPacket毎にその都度、印刷装置のCPUがコマンド、もしくは印刷イメージデータであるかを判別し、コマンドであれば、その内容に従った処理を行い、印刷イメージデータであれば実際に印刷を行うプリンタエンジン部に転送していた。
図1から図5を用い、具体的に説明する。
図1は概略のシステム構成図であり、図中11はホストコンピュータ、12は印刷を行うプリンタ、13はホストベースプリンタに内蔵され画像処理を行うプリンタコントローラ、14もホストベースプリンタに内蔵され実際の印刷を行うプリンタエンジンである。
ホストベースプリンタ12での印刷処理の大まかな印刷イメージデータの処理は、まずホストコンピュータ11内で印刷ビットマップがアプリ(ワード、エクセル等)からの情報を元に生成され、転送効率を上げるため所定の方式により圧縮処理を施され、高圧縮ビットマップとして印刷イメージデータが生成される。圧縮されたデータが完成すると、そのデータはホストコンピュータ11からプリンタコントローラ12に転送される。プリンタコントローラ内で受信されたデータは、伸張され元のビットマップ画像に戻される。復元された画像はプリンタエンジン14に送られ、印刷が行われるという処理フローになる。
次に、ホストベースプリンタに内蔵されたプリンタコントローラでのデータ処理の様子を図2、及び図3を用いて説明する。また、転送されるPacketに関して、図4、及び図5を用いて説明する。
図2において、図中13はプリンタコントローラ、202はプリンタコントローラ13のCPU、203はCPU202のCPUバス、204はホストコンピュータとのIFとなるUSB I/F、205はUSB I/F204で受信したデータを溜め込むHost I/F FIFO、206はDRAMのDirect Memory Accessを実現するDMA Controller、207はコントローラの主メモリとなるSDRAM、208はホストコンピュータで圧縮された画像を伸張する画像Decoder、209はプリンタエンジンに印刷イメージデータを転送するVideo Shipper、210はUSB I/F204を介してホストコンピュータと、プリンタコントローラとがデータ転送行う際、転送をコントロールするUSB I/F Controllerである。
図3において、301はUSB I/Fに接続されたデータバス、302はデータの方向を示すDIR(ディレクション)信号、303はUSB I/F204からUSB I/F Controller210へのnDREQ(DMAリクエスト)信号、304はUSB I/F Controller210からUSB I/F204へのnDACK(DMAアクノリッジ)信号、305はUSB I/F Controller210から出力されるnSTB(ストローブ)信号、306はDMAデータ転送中を示すCountend(カウントエンド)信号、307はUSB I/F204からHost I/F FIFO 205がコマンドを受信したことを示すCMD_FLAG信号である。
Packetは図4のような構造となっておりHeader部とData部とから構成されている。また、Command Packetと印刷イメージデータPacketの基本構造は同じであり、大きな違いはData部のサイズである(Command Packetでは小さく、印刷イメージデータPacketでは大きい)。Header部は、Packetの種類を示すコマンド2Byteと、Packetのサイズを示すデータレングス2Byteとからなり、この情報により受信側はそのPacketが印刷イメージデータPacketかどうか、また、何のコマンドPacketであるか、Packetのサイズはどのくらいのデータレングスか、を判断する事ができる。PacketTypeの一例を図5に示す。
次に、印刷イメージデータ転送時のデータ処理の流れを説明する。
まず、ホストコンピュータで生成された高圧縮印刷イメージデータをUSB I/F204で受信する。その際、データはPacket単位で転送され、先頭から2Byteずつ順次転送される。先頭の2ByteをHost I/F FIFO205が受信した時点でCMD_FLAG信号が"High"になる。このフラグをCPU202がPolling動作によって監視しており、このフラグが"High"になったら、CPU202が先頭の2Byteを順次RDする。この動作により、次のnSTB信号が出力され、Host I/F FIFO205が次の2Byteを受信する。CPU202は、先頭から4Byteのヘッダーを解析し、Packetがコマンドであるか、印刷イメージデータであるか、Packetのサイズはどのくらいかを判断する。
例えば、コマンドPacketとしては用紙サイズ指定等であり、コマンドPacketの場合、CPU202が2ByteずつPacketの最後までRD(RDすることでnSTB信号が出力され、次の2Byteが受信される)し、その内容に応じた処理を行う。
一方、印刷イメージデータは通常数10KB等ある程度大きなサイズとなっている。受信されたPacketが、印刷イメージデータPacketの場合、CPU202はDMAC206にDatacountとしてPacketサイズの値をセットする。これによりDMAC206が起動し、Host I/F FIFO205からDMAによってデータがSDRAM207に転送される。
これらの処理をPacket毎に繰り返し行うことでCPU202、及びSDRAM207にデータ転送を順次行う。
SDRAM207に蓄積された印刷イメージデータは画像Decoder208が受信可能な場合、画像Decoder208自身がDMAC206を起動し、SDRAM207から画像転送を行い、画像Decoder208回路で伸張されビットマップデータに戻される。最後にビットマップデータをVideoShipper209からプリンタエンジンに転送され印刷されるという処理シーケンスとなる。
従来例としては、例えば特許文献1をあげることが出来る。
特開2004-98313号公報
しかしながら、従来の方法だとCPUでPacketがコマンドであるか印刷イメージデータであるかをPacket毎にその都度判断していたので、CPUの処理時間がオーバーヘッドになっており、CPUの性能にもよるが、数十mS程度の処理時間を要していた。ここの時間がシステムとしての処理時間として表面に現れないようにするためには、一回のPacketで送るデータ量を増やすことで、オーバーヘッドとなるPacket判断回数を減らす方法も考えられる。しかしながら、本特許の前提として印刷装置としては低コスト化のため大きなFIFOを持たない事を前提にしており、大きなPacketを受信する事はできない。つまり、FIFO容量としては例えば1ページの数十分の一程度のメモリしか持たないような印刷機を対象としているためデータPacket数もそれなりの数になり、Packet処理のオーバーヘッドが問題となる。そのため、一回のPacketに含まれるデータ量を増やす事は出来ず。別の手段で高速化を実現する必要があった。
上記課題を解決するため、本発明を実施した印刷装置においては、
ホストコンピュータで印刷イメージを作成し、プリンタへPacket形態でデータを転送し、プリントを行うホストベースプリンタにおいて、Packetの先頭部分にPacketの種類と、サイズを示すヘッダーを含み、ヘッダーを解析する手段と、Packetの種類が印刷イメージデータと判別した場合、DMACを起動し次段の回路(例えばRAM)へ高速データ転送を行う手段と、を備え、
印刷イメージデータPacketを連続して転送する際は、先頭のPacketのヘッダーにおいて、連続して転送するPacketの個数の情報を付加しておき、先頭のPacketはヘッダーを解析し、それに応じてDMACを起動し、高速データ転送を行い、2番目以降のPacketはヘッダーを解析せずにDMACを起動し、高速データ転送を行うことを特徴とする。
以上説明したように、本発明によれば、連続して印刷イメージデータPacketを転送する際、先頭のPacketで連続して転送する複数のPacketの種類と、サイズを示すことで、転送のオーバーヘッドとなっていたPacketのヘッダー解析処理の回数を大幅に削減することが可能となる。その結果、回路規模や、メモリサイズを増大することなくデータ転送効率が大幅に向上する。
(第1の実施形態)
本実施形態は、USBをホストコンピュータとのI/Fとしているホストベースプリンタに応用した例を用いて説明する。
図6は、本発明を実施し、印刷イメージデータ転送〔連続〕に対応するように従来のPacketTypeを拡張した一例である。
この例では、印刷イメージデータ転送〔連続〕をコマンド0xXXE0で表し、XXの部分において、以後いくつのPacketを連続して転送するかを示すようにしている。
図7は、本実施例の印刷イメージデータPacketの構成図である。
連続して印刷イメージデータPacketを送る場合の先頭は、一つだけ印刷イメージデータPacketを送る場合や、Command Packetと同じような構造となっておりHeader部と、Data部とから構成されている。また、連続して印刷イメージデータPacketを送る場合、二つ目以降の印刷イメージデータPacket は、Headerの無いData部のみの構造となる。
Command Packetと印刷イメージデータPacketの大きな違いはData部のサイズであり、Command Packetでは小さく、印刷イメージデータPacketでは大きい。本実施形態では、Header部は、Packetの種類を示すコマンド2Byteと、Packetのサイズを示すデータレングス2Byteとからなり、Data部のサイズは、0Byte〜(64K-4)Byteまでの可変とし、連続して転送可能な印刷イメージデータPacketの個数は255個までとしている。
これらのHeaderの情報により受信側はそのPacketが印刷イメージデータPacketかどうか、また、何のコマンドPacketであるか、Packetのサイズはどのくらいのデータレングスか、またさらに連続して同サイズの印刷イメージPacketの転送が続くかを判断する事ができる。
次に、印刷イメージデータ転送時のデータ処理の流れを説明する。
まず、ホストコンピュータで生成された高圧縮印刷イメージデータをUSB I/F204で受信する。その際、データはPacket単位で転送され、先頭から2Byteずつ順次転送される。先頭の2ByteをHost I/F FIFO205が受信した時点でCMD_FLAG信号が"High"になる。このフラグをCPU202がPolling動作によって監視しており、このフラグが"High"になったら、CPU202が先頭の2Byteを順次RDする。この動作により、次のnSTB信号が出力され、Host I/F FIFO205が次の2Byteを受信する。CPU202は、先頭から4Byteのヘッダーを解析し、Packetが何のコマンドであるか、印刷イメージデータであるか、Packetのサイズはどのくらいのデータレングスか、またさらに連続して同サイズの印刷イメージPacketの転送が続くかを判断する。
例えば、コマンドPacketとしては用紙サイズ指定等であり、コマンドPacketの場合、CPU202が2ByteずつPacketの最後までRD(RDすることでnSTB信号が出力され、次の2Byteが受信される)し、その内容に応じた処理を行う。
一方、印刷イメージデータは通常数10KB等ある程度大きなサイズとなっている。受信されたPacketが、印刷イメージデータPacketの場合、CPU202はDMAC206にDatacountとしてPacketサイズの値をセットする。これによりDMAC206が起動し、Host I/F FIFO205からDMAによってデータがSDRAM207に転送される。
また、例えば、コマンドが0x04E0で同サイズの印刷イメージデータPacketが4回連続すると判断した場合、まずCPU202はDMAC206にDatacountとしてPacketサイズの値をセットする。これにより一度目のDMAC206が起動し、Host I/F FIFO205からDMAによってデータがSDRAM207に転送される。次にCPU202はCountend(カウントエンド)信号306をPolling動作によって監視することで、DMA転送の終了を知ることができる。CPU202はDMA転送が終了する度に、DMAC206にDatacountとして同様のPacketサイズの値をセットし、自身で一時的に記憶している繰り返し回数のカウント値をデクリメントする。このような処理を繰り返し行うことで、連続して同サイズの印刷イメージデータPacketを転送する際、転送のオーバーヘッドであったHeaderの解析処理が一つ目の印刷イメージデータPacketだけで行えばよく、Headerの解析処理の回数が削減され、転送効率が向上する。従来と、本実施例の印刷イメージデータPacketの転送タイミングを比較した模式的なタイムチャートを図8に示す。
これらの処理をPacket毎に繰り返し行うことでCPU202、及びSDRAM207にデータ転送を順次行う。
SDRAM207に蓄積された印刷イメージデータは画像Decoder208が受信可能な場合、画像Decoder208自身がDMAC206を起動し、SDRAM207から画像転送を行い、画像Decoder208回路で伸張されビットマップデータに戻される。最後にビットマップデータをVideoShipper209からプリンタエンジンに転送され印刷されるという処理シーケンスとなる。
(第2の実施形態)
第1の実施形態では、連続して印刷イメージデータPacketを送る場合の、二つ目以降の印刷イメージデータPacket は、Headerの無いData部のみの構造とする例で説明したが、連続して印刷イメージデータPacketを送る場合の、二つ目以降の印刷イメージデータPacketも Command Packet や、先頭の印刷イメージデータPacket と同様にHeader部と、Data部とから構成されていても、DMAC206により二つ目以降の印刷イメージデータPacketのHeaderを読み飛ばすように構成すれば、第1の実施形態と同様に、連続して同サイズの印刷イメージデータPacketを転送する際、転送のオーバーヘッドであったHeaderの解析処理が一つ目の印刷イメージデータPacketだけで行えばよく、Headerの解析処理の回数を削減し、転送効率を向上させることが可能である。
本実施例の概略のシステム構成図。 本実施例のホストベースプリンタのプリンタコントローラ構成図。 本実施例のプリンタコントローラ内のデータ転送時に使用する主な信号線。 従来のホストベースプリンタのPacket構成図。 従来Packetの種類の一例。 本実施例のPacketの種類の一例。 本実施例のホストベースプリンタの印刷イメージデータPacket構成図。 従来と、本実施例の印刷イメージデータPacketの転送タイミングを比較した模式的なタイムチャート。
符号の説明
11 ホストコンピュータ
12 プリンタ
13 プリンタコントローラ
14 プリンタエンジン
202 CPU
203 CPUバス
204 USB I/F
205 Host I/F FIFO
206 DMA Controller
207 SDRAM
208 画像Decoder
209 Video Shipper
210 USB I/F Controller
301 データバス
302 DIR信号
303 nDREQ信号
304 nDACK信号
305 nSTB信号
306 Countend信号
307 CMD_FLAG信号

Claims (2)

  1. ホストコンピュータで印刷イメージを作成し、プリンタへPacket形態でデータを転送し、プリントを行う印刷装置において、
    Packetの先頭部分にPacketの種類と、サイズを示すヘッダーを含み、
    前記ヘッダーを解析する手段と、
    Packetの種類が印刷イメージデータと判別した場合、DMACを起動し次段の回路へ高速データ転送を行う手段と、
    を備え、
    印刷イメージデータPacketを連続して転送する際は、
    先頭のPacketのヘッダーにおいて、連続して転送するPacketの個数の情報を付加しておき、
    先頭のPacketは前記ヘッダーを解析し、それに応じてDMACを起動し、高速データ転送を行い、
    2番目以降のPacketは前記ヘッダーを解析せずにDMACを起動し、高速データ転送を行うことを特徴とする印刷装置。
  2. ホストコンピュータで印刷イメージを作成し、プリンタへPacket形態でデータを転送し、プリントを行う印刷装置において、
    連続して転送される印刷イメージデータPacketのうち先頭の印刷イメージデータPacket及び、種々のコマンドを示すコマンドPacketの先頭部分にPacketの種類と、サイズを示すヘッダーを含み、
    前記ヘッダーを解析する手段と、
    Packetの種類が印刷イメージデータと判別した場合、DMACを起動し次段の回路へ高速データ転送を行う手段と、
    を備え、
    印刷イメージデータPacketを連続して転送する際は、
    先頭のPacketのヘッダーにおいて、連続して転送するPacketの個数の情報を付加しておき、
    先頭のPacketは前記ヘッダーを解析し、それに応じてDMACを起動し、高速データ転送を行い、
    2番目以降のPacketは前記ヘッダーを解析せずにDMACを起動し、高速データ転送を行うことを特徴とする印刷装置。
JP2006277778A 2006-10-11 2006-10-11 印刷装置 Withdrawn JP2008093942A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006277778A JP2008093942A (ja) 2006-10-11 2006-10-11 印刷装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006277778A JP2008093942A (ja) 2006-10-11 2006-10-11 印刷装置

Publications (1)

Publication Number Publication Date
JP2008093942A true JP2008093942A (ja) 2008-04-24

Family

ID=39377317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006277778A Withdrawn JP2008093942A (ja) 2006-10-11 2006-10-11 印刷装置

Country Status (1)

Country Link
JP (1) JP2008093942A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014157419A (ja) * 2013-02-14 2014-08-28 Silex Technology Inc デバイスサーバシステム、デバイスサーバおよびプログラム
JP2015066737A (ja) * 2013-09-27 2015-04-13 京セラドキュメントソリューションズ株式会社 画像形成装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014157419A (ja) * 2013-02-14 2014-08-28 Silex Technology Inc デバイスサーバシステム、デバイスサーバおよびプログラム
JP2015066737A (ja) * 2013-09-27 2015-04-13 京セラドキュメントソリューションズ株式会社 画像形成装置

Similar Documents

Publication Publication Date Title
US7675643B2 (en) Print controller, control method therefor and program
US6809832B2 (en) Print control apparatus with decompression, and method and storage medium
JP2008093942A (ja) 印刷装置
JPH11316661A (ja) 印刷制御方法及びシステム、記録媒体
JP5091914B2 (ja) 画像形成装置
JPH0673972B2 (ja) レ−ザプリンタ制御装置
JP2999662B2 (ja) 印刷制御装置および印刷制御方法
JPH11179975A (ja) カラープリンタ制御装置
US7380069B2 (en) Method and apparatus for DMA-generated memory write-back
JPH11291563A (ja) 印刷画像データ制御方式
JP4812662B2 (ja) 画像形成装置
JPH11249829A (ja) ビットイメージデータ圧縮方法
JPS617771A (ja) イメ−ジデ−タ受信伸張制御方式
JP2003341155A (ja) 印刷装置及び印刷方法
JP2004054505A (ja) 印字制御装置
JP2003285476A (ja) 印刷システム
JP2009098799A (ja) 電子機器及び電子機器の制御方法
JP2007185911A (ja) プリンタコントローラ、およびプリンタ
JPH11320985A (ja) 出力方法及び装置並びに記憶媒体
JP2001239707A (ja) プリンタ制御装置及びそのデータ転送方法
JP2006040120A (ja) 画像処理機能メモリ
JPH06999A (ja) 印字装置の画像縮小処理方式
JP2005275563A (ja) 印刷処理装置、印刷指示装置、プリンタドライバ、印刷処理システム、および印刷処理装置の並列処理方法
JP2006130776A (ja) 画像処理装置および方法
JPH11157142A (ja) 半導体装置、画像処理装置およびプリンタ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100105