JP2007008078A - プリンタシステム - Google Patents

プリンタシステム Download PDF

Info

Publication number
JP2007008078A
JP2007008078A JP2005193577A JP2005193577A JP2007008078A JP 2007008078 A JP2007008078 A JP 2007008078A JP 2005193577 A JP2005193577 A JP 2005193577A JP 2005193577 A JP2005193577 A JP 2005193577A JP 2007008078 A JP2007008078 A JP 2007008078A
Authority
JP
Japan
Prior art keywords
packet
data
size
divided
compressed
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
JP2005193577A
Other languages
English (en)
Inventor
Takashi Fujiwara
隆史 藤原
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 JP2005193577A priority Critical patent/JP2007008078A/ja
Publication of JP2007008078A publication Critical patent/JP2007008078A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Record Information Processing For Printing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

【課題】 スプールしたプリントデータを、回転しながらオーバーランを発生させずにプリントすることを、システムコストを上げず、手順も増やさず実現でき、また、ハードウェア資源を無駄にせず、システムの持っている性能を十分に利用することのできるプリンタシステムの提供。
【解決手段】 1ページの画像を複数に分割して圧縮する手段と、分割して圧縮された画像をメモリに格納する手段と、前記分割して圧縮された画像のデータサイズをあらかじめ設定されたサイズと比較する手段と、比較した結果、設定されたサイズよりも大きい前記分割して圧縮された画像の数をカウントする手段と、カウントされた数とあらかじめ設定された数とを比較する手段と、を備えたことを特徴とするプリンタシステム。
【選択図】 図1

Description

本発明は、プリンタシステムに関するものであり、特にオーバーラン防止機能を持ったプリンタシステムに関する。
一般的なページプリンタでは、1ページのプリントが始まると、途中で停止することができないため、プリンタエンジンのプリント速度に遅れないようにメモリからプリントデータを転送する必要がある。通常、プリントデータは、プリンタエンジンに送られる前に一旦メモリに格納される(スプール)。プリントデータは、メモリ容量の削減のために、スプールされる際には圧縮されるのが一般的である。しかし、画像によって圧縮率は一定ではなく、1ページ内でも、圧縮率のよいデータと悪いデータが混在することになる。
圧縮率が悪いデータは圧縮率の良いデータと比べて、単位画素数のデータ量が多くなるため、メモリからデータ転送を行う際にも多くの時間を要する。
メモリからのデータ転送速度が、プリンタエンジンのプリント速度よりも遅くなってしまうと、データ転送が間に合わなくなる、プリントオーバーランという現象が発生する。
通常、メモリとプリントエンジンとの間には、緩衝バッファが設けられており、ある程度のデータ転送の遅延は緩衝できるようになっている。しかしながら、オーバーランが発生しないことを保証しようとすると、膨大な容量の緩衝バッファが必要になってしまう。
例えば、下記特許文献1では、1ページを複数のバンドに分割し、メモリへの格納時に、バンド毎のデータサイズをカウントして、あるバンドのデータサイズが規定よりも大きい場合、そのバンドでオーバーランが発生する可能性があるので、ページ全体を圧縮率を上げて再圧縮して、各バンドのデータサイズを小さくする、という方法をとっている。
特開平10−133831号公報
メモリに格納したデータをそのままプリントエンジンに転送してプリントする場合は従来の技術で問題がなかった。しかしながら、メモリに格納したデータを回転させながらプリントエンジンに転送してプリントする場合、格納時のバンドとプリント時のバンドが異なってしまうため、従来の技術が利用できない。
図2に、メモリに1ページの画像データが複数のバンドに分割されて格納されているようすを模式的に表した。201から204は分割されたバンドである。今、圧縮率の悪いデータが図のように複数のバンドにまたがるように存在しているとする。この場合、このままのバンド構成でプリントする場合は、圧縮率の悪いデータは分散され、オーバーランは発生しない。しかし、図3に示すように、ページを回転しながらプリントする場合、ページは図に示すようなバンド1〜4(301〜304)に分割される。
この場合、圧縮率の悪いデータはバンド3(303)に集中してしまい、プリント時にオーバーランが発生してしまう可能性があるといった問題があった。
これを避けるためには、メモリに格納したページを、一旦読み出して、回転処理を行ってから、再びメモリに格納するといった処理を行わなければならず、プリントの際の手順がひとつ増えてしまうといった問題もある。
さらに、別の方法としては、従来バンド毎にデータサイズをカウントしていたものを、ページ全体でカウントするようにして、ページ全体を、より高圧縮に制御する方法もある。しかし、この方法では、圧縮率を上げるため、画質が低下するという問題がある。
画質を低下させないためには、緩衝バッファの容量を増やして、圧縮率の悪いデータが集中してもオーバーランが発生しないようにするしかないが、システムのコストが上がってしまうという問題がある。
緩衝バッファを増やさず、最悪の場合でもオーバーランが発生しないようにするには、プリント速度を遅くしてやる必要がある。しかし、これは、実際にシステムの持っている性能を十分に利用できず、多くのハードウェア資源を無駄にしていることになってしまう。
本発明では上述の問題点に鑑み、スプールしたプリントデータを、回転しながらオーバーランを発生させずにプリントすることを、システムコストを上げず、手順も増やさず実現でき、また、ハードウェア資源を無駄にせず、システムの持っている性能を十分に利用することのできるプリンタシステムを得ることを目的とする。
上記目的を達成するために、本発明のプリンタシステムは、つぎの(1)〜(3)に示すとおりの構成を備える。
(1)1ページの画像を複数に分割して圧縮する手段と、
分割して圧縮された画像をメモリに格納する手段と、
前記分割して圧縮された画像のデータサイズをあらかじめ設定されたサイズと比較する手段と、
比較した結果、設定されたサイズよりも大きい前記分割して圧縮された画像の数をカウントする手段と、
カウントされた数とあらかじめ設定された数とを比較する手段と、
を備えたことを特徴とするプリンタシステム。
(2)比較の結果圧縮されていない前記分割して圧縮された画像の数があらかじめ設定された数よりも多ければ、圧縮をやり直すことを特徴とする前記(1)に記載のプリンタシステム。
(3)前記分割して圧縮された画像が、非圧縮の元のデータのサイズを超えた場合、圧縮データではなく非圧縮の元データを使用することを特徴とする前記(1)に記載のプリンタシステム。
本発明によれば、オーバーランが発生しないことを保証するため、バンド内のパケットすべてがパケットの最大サイズとなる最悪のデータサイズを想定する必要がなくなり、また、手順を増やさずに回転プリントにも対応できる、という効果を奏する。
これにより、必要以上にプリント速度を落とす必要や、圧縮率を上げてバッファの容量を削減するために画質を落とす必要がなくなり、同じハードでも、より速い速度で高画質のプリントを実現できる。
以下、図面を参照して本発明の実施の形態を、実施例に基づいて説明する。
図1は、本発明の実施例のプリントシステムのブロック図を示す。
1001はシステムを制御するCPU、1002は画像データや、ソフトウェア、レンダリングのためのディスプレイリストなどを格納するメモリである。メモリ1002に格納されたソフトウェアはCPU1001で実行される。
1014はネットワークインターフェースで、ネットワークからディスプレイリストを受信し、メモリ1002に格納する。
1004はレンダリング装置で、メモリ1002に格納されているディスプレイリストをレンダリングし、イメージデータを出力する。
1005はラスタ/パケット変換装置で、レンダリング装置1004から出力されたラスタフォーマットのイメージデータを、32ピクセル×32ピクセルの矩形ブロックに分割し、パケットフォーマットに変換する。
1006はパケット圧縮装置で、ラスタ/パケット変換装置1005から受け取ったパケットデータを圧縮する。ここで、圧縮を行った結果、圧縮率が悪く、元の生データ以上のコード量になった場合は、非圧縮の生データを出力する。
1007はパケットライトDMACで、パケット圧縮装置1006から受け取った圧縮パケットをメモリ1002に格納する。パケットライトDMAC1007は割り込みを発生することができる。
1013は割り込みコントローラで、パケットライトDMAC1007や、その他の割り込みを制御し、CPU1001に通知する。
1008はパケットリードDMACで、メモリ1002に格納されたパケットデータをリードし、プリントパスに転送する。
1009はパケット伸張装置で、パケットリードDMAC1008から受け取った圧縮パケットを伸張する。
1010はパケット/ラスタ変換装置であり、パケット伸張装置1009から受け取ったパケットを、ラスタフォーマットに変換する。ここには、ある程度の緩衝バッファが含まれている。
1011は画像処理装置であり、パケット/ラスタ変換装置1010から受け取った画像データに対して、プリントに必要な画像処理を施す。
1012は印刷装置であり、画像処理装置1011から受け取った画像データをプリントする。
CPU1001とメモリ1002、パケットライトDMAC1007、パケットリードDMAC1008、ネットワークインターフェース1014、レンダリング装置1004はバスブリッジ1003で接続されている。
図4にはパケットライトDMAC1007の内部を詳細に示したブロック図である。
1101はパケット受信手段で、パケット圧縮装置1006からの圧縮パケットを受信する。
1103はサイズ設定レジスタで、受信したパケットのサイズ比較を行う際の閾値を設定しておくためのレジスタである。
1102はパケットサイズ比較手段で、あらかじめサイズ設定レジスタ1103に設定されたパケットサイズの閾値と、受信したパケットのサイズの比較を行う。受信したパケットのサイズは、パケット受信手段1101から通知される。受信したパケットのサイズが、サイズ設定レジスタ1103に設定されたパケットサイズの閾値よりも大きい場合、カウンタ1104に通知する。
1104はカウンタであり、あらかじめ設定された閾値よりも受信したパケットが大きければ、パケットサイズ比較手段1102から通知がきて、カウンタをインクリメントする。
1105はカウント設定レジスタであり、あらかじめ設定されたパケットサイズの閾値よりも大きいサイズのパケットの数が、各バンド内にいくつ以上存在するとオーバーランを発生する可能性がでてくるかを設定する。
カウンタ1104は、あらかじめ設定されたパケットサイズの閾値よりも大きいサイズのパケットの数のカウント数が、カウント設定レジスタ1105に設定されたカウント値を超えた場合、1106の割り込み発生装置に通知する。1106は割り込み発生装置で、カウンタから通知を受けると、割り込みを発生させる。
図5には本発明の動作フローを説明したフローチャートを示す。
プリントイメージのページスプールフローが開始される(S10)。
まず、各モジュールの初期化と、プリントデータがスプールされる部分のメモリの初期化を行い、レンダリングをスタートさせる(S11)。
また、ラスタ/パケット変換装置1005、パケット圧縮装置1006、パケットライトDMAC1007に起動をかけて、ラスタ/パケット変換、パケット圧縮、DMAを開始する(S12)。
受信したパケットのサイズとあらかじめ設定したパケットサイズの閾値を比較する(S13)。設定値より大きい場合、パケットカウントを加算する(S14)。
次に、パケットカウントを、あらかじめ設定した値と比較する(S15)。設定値よりも多ければ、割り込みを発生する(S18)。この場合、1ページのデータをさらに高圧縮になるように設定を変更して、再度スプールし直すことになる。このため、レンダリングからやり直しになるため、S11へ戻る。
パケットカウントが設定値よりも少なければ、ページの終了かどうかを判断する(S16)。ページの終了でなければ、S13からパケットサイズの比較を繰り返す。ページの終了であれば、ページスプールは終了し(S17)、プリント動作へ移行する。
図6にはパケットデータの圧縮に関して模式的に表した図である。
401は1パケットの最大のサイズを示しており、本発明では、非圧縮の生データのサイズであり、ここでは、Y(byte)としている。
402は、サイズ設定レジスタ1103に設定された閾値のサイズを示しており、ここでは、X(byte)としている。
図7には、従来の発明において、1バンドに最悪の圧縮率のデータが集中した場合の最悪の想定をした時のバンドの模式図を示す。
501は1つのバンドを示している。従来の発明においては、このバンドに含まれる、すべてのパケットが最悪の圧縮率のパケットだとする。1バンドのパケット数をM個とすると、この最悪の想定の場合の1バンドのデータサイズは、
Y(byte)×M個
となる。
図8は、本発明で最悪を想定した時のバンドの模式図を示す。
601は1つのバンドを示している。1バンドのパケット数をM個、サイズ設定レジスタ1103に設定する閾値のサイズをX(byte)、カウント設定レジスタ1105に設定する、閾値を超えたパケットの個数をN個だとする。ここで、1ページ内で閾値を超えたパケットの個数がN個だった場合、それが1バンドに集中した場合、バンド内の閾値を超えたパケットの個数もN個となる。
本発明では、閾値を超えたパケットの個数は、1バンドに含まれるパケットの個数以内に抑える必要がある。このような考え方に基づけば、回転してプリントする場合でも同様に、1バンドに含まれる閾値を超えたパケットの個数はN個とすることができる。
閾値を超えたパケットの最悪のサイズは、非圧縮であるY(byte)、閾値を超えないパケットの最悪サイズは、閾値に設定したサイズであるX(byte)である。結果、本発明での最悪の1バンドのデータサイズは、
X(byte)×(M個−N個)+Y(byte)×M個
となる。
よって、最悪を想定した場合の1バンドのデータサイズが従来よりも小さく見積もることが可能になる。
以上本発明について、レンダリング画像を例にとって説明してきたが、本発明の適用範囲は、レンダリング画像に留まらず、スキャナ画像や、それ以外にネットワークや、リムーバブルメディアから入力された画像をプリントする際にも適用が可能である。
本発明の実施例のプリントシステムのブロック図 メモリ上の画像データが複数のバンドに分割されて格納されているようすを模式的に表した図 ページを回転しながらプリントする場合に、メモリ上の画像データが複数のバンドに分割されて格納されているようすを模式的に表した図 パケットライトDMAC1007の内部を詳細に示したブロック図 本発明の動作フローを説明したフローチャート パケットデータの圧縮に関して模式的に表した図 従来の発明で最悪を想定した時のバンドの模式図 本発明で最悪を想定した時のバンドの模式図
符号の説明
1001 CPU
1002 メモリ
1003 バスブリッジ
1004 レンダリング装置
1005 ラスタ/パケット変換装置
1006 パケット圧縮装置
1007 パケットライトDMAC
1008 パケットリードDMAC
1009 パケット伸張装置
1010 パケット/ラスタ変換装置
1011 画像処理装置
1012 印刷装置
1013 割り込みコントローラ
1014 ネットワークインターフェース

Claims (3)

  1. 1ページの画像を複数に分割して圧縮する手段と、
    分割して圧縮された画像をメモリに格納する手段と、
    前記分割して圧縮された画像のデータサイズをあらかじめ設定されたサイズと比較する手段と、
    比較した結果、設定されたサイズよりも大きい前記分割して圧縮された画像の数をカウントする手段と、
    カウントされた数とあらかじめ設定された数とを比較する手段と、
    を備えたことを特徴とするプリンタシステム。
  2. 比較の結果圧縮されていない前記分割して圧縮された画像の数があらかじめ設定された数よりも多ければ、圧縮をやり直すことを特徴とする請求項1に記載のプリンタシステム。
  3. 前記分割して圧縮された画像が、非圧縮の元のデータのサイズを超えた場合、圧縮データではなく非圧縮の元データを使用することを特徴とする請求項1に記載のプリンタシステム。
JP2005193577A 2005-07-01 2005-07-01 プリンタシステム Withdrawn JP2007008078A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005193577A JP2007008078A (ja) 2005-07-01 2005-07-01 プリンタシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005193577A JP2007008078A (ja) 2005-07-01 2005-07-01 プリンタシステム

Publications (1)

Publication Number Publication Date
JP2007008078A true JP2007008078A (ja) 2007-01-18

Family

ID=37747159

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005193577A Withdrawn JP2007008078A (ja) 2005-07-01 2005-07-01 プリンタシステム

Country Status (1)

Country Link
JP (1) JP2007008078A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009273025A (ja) * 2008-05-09 2009-11-19 Canon Inc 画像処理装置、画像処理方法並びに画像処理プログラム及びそれを記録する記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009273025A (ja) * 2008-05-09 2009-11-19 Canon Inc 画像処理装置、画像処理方法並びに画像処理プログラム及びそれを記録する記録媒体
US8237967B2 (en) 2008-05-09 2012-08-07 Canon Kabushiki Kaisha Image processing apparatus, image processing method and computer readable medium

Similar Documents

Publication Publication Date Title
JP2005346698A (ja) 画像情報制御装置、画像情報制御システム、プリンタドライバ、画像情報制御方法、その方法をコンピュータで実行するプログラム、および記録媒体
JP3861964B2 (ja) プリンタ及び該プリンタにおける画像データの処理方法
US20090237735A1 (en) Image processing apparatus and image processing method
JP2008092550A (ja) 画像形成装置および入出力制御方法
JP2007008078A (ja) プリンタシステム
US6992788B2 (en) Image processing apparatus and method, and storage medium
JP2006304243A (ja) 画像処理装置、印刷装置、および、画像処理方法
JP2004221998A (ja) 画像処理装置
JP2001146046A (ja) 印刷システム
KR102230913B1 (ko) 정보 처리 장치 및 반도체 집적 회로
JP2004287654A (ja) Dma転送装置
JP5272977B2 (ja) 制御装置、画像読取装置、画像形成装置、及び、画像読取装置の制御方法
JP5222803B2 (ja) 画像処理装置
JP5097788B2 (ja) データ処理装置およびデータ処理プログラム
JP5004322B2 (ja) データ転送制御方法,装置および画像形成装置
JP4845826B2 (ja) 画像処理装置及び画像処理方法
JP2008302661A (ja) 印刷制御装置
JP2002314763A (ja) カラー複写機制御装置
JP2005159705A (ja) 画像形成システム
JP2011139165A (ja) 画像処理装置及びその処理方法
JP2004357154A (ja) データ処理装置
JP4561230B2 (ja) データ転送制御装置及びデータ転送方法
JP2005333676A (ja) 画像データ処理方法と画像データ処理装置及び画像形成装置
JP2003198815A (ja) 画像処理装置
JPH07195757A (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: 20080902