Warning: copy(.htaccess): failed to open stream: Permission denied in /home/jp321/public_html/header.php on line 8
プリンタシステム - キヤノン株式会社
米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 繊維;紙;印刷 -> キヤノン株式会社

発明の名称 プリンタシステム
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−8078(P2007−8078A)
公開日 平成19年1月18日(2007.1.18)
出願番号 特願2005−193577(P2005−193577)
出願日 平成17年7月1日(2005.7.1)
代理人 【識別番号】100066061
【弁理士】
【氏名又は名称】丹羽 宏之
発明者 藤原 隆史
要約 課題
スプールしたプリントデータを、回転しながらオーバーランを発生させずにプリントすることを、システムコストを上げず、手順も増やさず実現でき、また、ハードウェア資源を無駄にせず、システムの持っている性能を十分に利用することのできるプリンタシステムの提供。

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




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013