JP2005128632A - 画像処理装置及びその方法、プリンタシステム - Google Patents

画像処理装置及びその方法、プリンタシステム Download PDF

Info

Publication number
JP2005128632A
JP2005128632A JP2003360725A JP2003360725A JP2005128632A JP 2005128632 A JP2005128632 A JP 2005128632A JP 2003360725 A JP2003360725 A JP 2003360725A JP 2003360725 A JP2003360725 A JP 2003360725A JP 2005128632 A JP2005128632 A JP 2005128632A
Authority
JP
Japan
Prior art keywords
data
pixel
image
partial
image processing
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.)
Granted
Application number
JP2003360725A
Other languages
English (en)
Other versions
JP4345055B2 (ja
Inventor
Koichi Kurose
光一 黒瀬
Takeshi Ikuma
健 井熊
Takeharu Toguchi
武晴 戸口
Koichi Ishii
功一 石井
Koji Yanagisawa
浩司 柳沢
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003360725A priority Critical patent/JP4345055B2/ja
Priority to US10/953,415 priority patent/US7580151B2/en
Publication of JP2005128632A publication Critical patent/JP2005128632A/ja
Application granted granted Critical
Publication of JP4345055B2 publication Critical patent/JP4345055B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】 画像処理を実行する際のメモリ効率の向上、処理時間の短縮を図る。
【解決手段】 複数のプロセッサを用いて並列に画像処理を行う画像処理装置であって、イメージを構成する少なくとも1つの走査ラインについて、個々の走査ラインを複数の部分領域に分割した場合の、前記部分領域のそれぞれに前記複数のプロセッサのうち少なくとも1つを割り当てて、並列に画像処理を行う制御手段を備える。前記制御手段は、あるプロセッサに対応する部分領域の各画素のビット長がそれぞれL1〜LNである場合に、該プロセッサが前記各画素のデータを並べた(L1+・・・+LN)長のデータ列を少なくとも対象として該部分領域の画像処理を行うように制御することを特徴とする。
【選択図】 図5

Description

本発明は、複数のプロセッサを用いて並列に画像処理を行うための技術に関する。
一般に、レーザプリンタシステムでは、RIP(ラスターイメージプロセッサ)により、PDL(ページ記述言語)で記述された印刷対象を印刷イメージに展開し、順次に走査ライン(ラスター)ごとに印刷エンジンに送り出して、印刷を実行する。
このとき、印刷イメージを1ページ分全部展開して記憶しておこうとすると、大変多くのメモリ領域が必要となってしまう。そのため、1ページを複数の走査ラインから構成されるバンドに分割し、その単位で印刷イメージを展開するのが普通である。
このようなバンド単位の展開処理を高速に行うために、複数のプロセッサそれぞれに各バンドを割り当てて並列に展開処理を行う構成が提案されている(特許文献1)。
特開2003−51019号公報
RIPをホスト装置が備える場合、展開した印刷イメージをプリンタ側に送信する必要がある。この場合、印刷イメージはデータ量が多いことから、ホスト装置において送信する前に圧縮処理を施し、プリンタ側で伸長するという枠組みを取るのが普通である。
ここで、ホスト装置やプリンタが複数のプロセッサを備えている場合、特許文献1のように、複数のプロセッサそれぞれに各バンドを割り当てて並列に圧縮処理や伸長処理を行うという構成が考えられる。
しかし、このようなバンド単位に並列化する手法では、個々の走査ライン(個々のバンド)のデータに対しては並列化がなされていない。そのため、最初の1走査ライン(1バンド)について処理結果が得られるまでに必要な時間が単一のプロセッサで処理を行う場合と変わらないといった問題が残る。別言すれば、複数のプロセッサで並列化しているにもかかわらず、実際に印刷が実行されるまでの立ち上がりについてはアドバンテージが得られていない。
また、バンド単位に並列化する手法の場合、スループットを向上させるためには、各プロセッサが自己に割り当てられたバンドについて並列に処理を実行できるように、プロセッサ数分の処理結果を格納するメモリ領域が必要となる。そのため、プロセッサ数を増やして並列度を上げていくと、それに応じて処理に必要なメモリ領域も増加してしまうという問題が生じる。
本願の発明者らは、上記問題を検討した結果、イメージを構成する少なくとも1つの走査ラインについて、個々の走査ラインを複数の部分領域に分割した場合の、前記部分領域のそれぞれに前記複数のプロセッサのうち少なくとも1つを割り当てて、並列に画像処理を行うことで、上記目的を達成できると考えるに至った。
ここで、単一のプロセッサで画像処理を実行する場合はもちろんこと、上述のように複数のプロセッサにより並列化を図った場合でも、個々のプロセッサの画像処理においては次のような問題が生じうる。
すなわち、従来において画像処理を実行する際、メモリアクセスはバイト単位のアクセスを基本とする場合が多いことから、各画素を1バイト(又はmバイト)で表現し、N画素であればNバイト(又はN×mバイト)のように、バイト単位のデータに対して画像処理を施すように構成するのが一般的であった。
例えば、図15(a)に示すような階調値を持つ18画素のイメージがある場合、従来の構成によれば、図15(b)に示すような18バイトのデータを対象として、画像処理が行われることになる。このような従来構成のもとでは、イメージの各画素が1バイト未満のビット長で表現されている場合でも、これをいったん1バイトに嵩上げしてから画像処理を行うため、イメージ自体の容量よりも多くのメモリ領域が画像処理の実行のために必要となってしまうという問題が生じる。また、嵩上げされた部分(1ビット長の画素であれば、残り7ビット)は本来不要なデータ(未使用ビット)であるにもかかわらず、処理の上では演算対象のデータとして扱われるため、本来不要なデータの演算によって処理時間が増えてしまうという問題も生じる。
そこで、本発明は、上記問題を解消し、画像処理を実行する際のメモリ効率の向上、処理時間の短縮を図ることを目的とする。
本願の発明者らは、上記目的を達成すべく種々の構成を検討した結果、画素ごとの階調データをバイト単位で表現して画像処理を施すのではなく、複数画素の階調データを連続して配置したデータ列(ビット列)を生成し、かかる生成されたデータ列に対してバイト単位に画像処理を施すことで、上記問題を解消できると考えるに至った。
ここで、画像処理として、画像圧縮処理/画像伸長処理を具体的に想定する。この場合、複数画素のデータ列をバイト単位にパックしたものが画像圧縮の対象となり、従って画像伸長結果となるので、最終的に個別の画素データを利用するためには、パックされた状態の画像伸長結果から各画素のデータを個別に取り出す(アンパックする)必要がある。
例えば各画素のビット長が一定値の場合、伸長結果の先頭から順にその一定値のビット長のデータを取り出せば、各画素のデータを取り出すことができる。
一方、各画素が複数種類のビット長のうちいずれかを取るように構成する場合でも、単一のプロセッサにより画像伸長処理を行うのであれば、各画素のビット長の並びを特定するテーブル(以下、「ビット情報テーブル」と呼ぶ)を参照して、伸長結果の先頭から順に該テーブルに記述されたビット長のデータを取り出すことで、各画素のデータを取り出すことができる。
しかし、上述のように部分領域のそれぞれに複数のプロセッサのうち少なくとも1つを割り当てて並列に画像伸長処理を行う場合は、必ずしも各部分領域の開始位置とビット長の並びの周期パターンの開始位置とが整合するとは限らないため、各プロセッサは、自己の部分領域の先頭から順に周期パターンを当てはめる方法では、各画素の正しいビット長を得ることはできない(適切にアンパックできない)という問題が生じる。
そこで、本発明は、部分領域のそれぞれに複数のプロセッサのうち少なくとも1つを割り当てて並列に画像伸長処理を行う場合に、適切にアンパックできるような枠組みを提供することを目的とする。
本発明の画像処理装置は、イメージを構成する少なくとも1つの走査ラインについて、該走査ラインの各画素のビット長がそれぞれL1〜LNである場合に、前記各画素のデータを並べた(L1+・・・+LN)長のデータ列を少なくとも対象として、該走査ラインの画像処理を行うことを特徴とする。
本発明の構成によれば、イメージの各画素の階調データをバイト単位に嵩上げしてから画像処理を行う従来の構成に比べて、画像処理の実行に必要なメモリ領域の容量、演算対象となるデータ量を抑制して、効率よく画像処理を実行することができる。
本発明の画像処理装置は、複数のプロセッサを用いて並列に画像処理を行う画像処理装置であって、イメージを構成する少なくとも1つの走査ラインについて、個々の走査ラインを複数の部分領域に分割した場合の、前記部分領域のそれぞれに前記複数のプロセッサのうち少なくとも1つを割り当てて、並列に画像処理を行う制御手段を備え、前記制御手段は、あるプロセッサに対応する部分領域の各画素のビット長がそれぞれL1〜LNである場合に、該プロセッサが前記各画素のデータを並べた(L1+・・・+LN)長のデータ列を少なくとも対象として該部分領域の画像処理を行うように制御することを特徴とする。
好適には、前記イメージにおいて各画素のビット長の並びが周期パターンを構成しており、前記部分領域の境界が前記周期パターンの境界の少なくとも1つと一致していることを特徴とする。この場合、前記周期パターンを記憶する手段を備え、前記制御手段が、前記(L1+・・・+LN)長のデータ列に対して前記周期パターンを当てはめて各画素のビット長を取得し、画素ごとの情報を抽出する構成としてもよい。
かかる構成によれば、各部分領域の開始位置と周期パターンの開始位置とが常に整合し、前記データ列には先頭から周期パターンに一致したビット長で画素が格納されることになる。そのため、いずれの部分領域についても、前記データ列の先頭から周期パターンの順にビット長のデータを抽出していけば、各画素の階調データを抽出することができる。
好適には、前記各画素のビット長L1〜LNのうち少なくとも1つは、他のビット長と異なっていることを特徴とする。
また好適には、前記画像処理が、画像圧縮処理又は画像伸長処理であることを特徴とする。
本発明のプリンタ制御装置は、複数のプロセッサを用いて並列に画像処理を行う機能を備えるプリンタ制御装置であって、イメージを構成する少なくとも1つの走査ラインについて、個々の走査ラインを複数の部分領域に分割した場合の、前記部分領域のそれぞれに前記複数のプロセッサのうち少なくとも1つを割り当てて並列に画像圧縮処理を行い、各部分領域に対応する圧縮されたデータをプリンタ装置へ送信する制御手段を備え、前記制御手段は、あるプロセッサに対応する部分領域の各画素のビット長がそれぞれL1〜LNである場合に、該プロセッサが前記各画素のデータを並べた(L1+・・・+LN)長のデータ列を少なくとも対象として該部分領域の画像圧縮処理を行うように制御することを特徴とする。
本発明のプリンタ装置は、複数のプロセッサを用いて並列に画像処理を行う機能を備えるプリンタ装置であって、各画素のビット長の並びを特定する周期パターンを記憶する記憶手段と、イメージを構成する少なくとも1つの走査ラインについて、個々の走査ラインを複数の部分領域に分割した場合の、前記部分領域のそれぞれに対応する圧縮部分データをホスト装置から受信し、圧縮部分データに前記複数のプロセッサのうち少なくとも1つを割り当てて並列に画像伸長処理を行う制御手段とを備え、前記制御手段は、あるプロセッサに対応する部分領域の各画素のビット長がそれぞれL1〜LNである場合に、該プロセッサが画像伸長処理の結果として出力した各画素のデータを並べた(L1+・・・+LN)長のデータ列を少なくとも対象として、前記周期パターンを当てはめて各画素のビット長を取得し、画素ごとの情報を抽出することを特徴とする。
本発明のプリンタシステムは、ホスト装置と、該ホスト装置と通信可能に構成されたプリンタ装置とを含んで構成され、ホスト装置及びプリンタ装置のそれぞれが複数のプロセッサを用いて並列に画像処理を行う機能を備えるプリンタシステムであって、ホスト装置は、イメージを構成する少なくとも1つの走査ラインについて、個々の走査ラインを複数の部分領域に分割した場合の、前記部分領域のそれぞれに複数のプロセッサのうち少なくとも1つを割り当てて並列に画像圧縮処理を行い、各部分領域に対応する圧縮されたデータ(以下、「圧縮部分データ」と呼ぶ)をプリンタ装置へ送信する第1制御手段とを備え、 前記第1制御手段は、あるプロセッサに対応する部分領域の各画素のビット長がそれぞれL1〜LNである場合に、該プロセッサが前記各画素のデータを並べた(L1+・・・+LN)長のデータ列を少なくとも対象として該部分領域の画像圧縮処理を行うように制御し、プリンタ装置は、各画素のビット長の並びを特定する周期パターンを記憶する記憶手段と、イメージを構成する少なくとも1つの走査ラインについて、個々の走査ラインを複数の部分領域に分割した場合の、前記部分領域のそれぞれに対応する圧縮部分データをホスト装置から受信し、圧縮部分データに複数のプロセッサのうち少なくとも1つを割り当てて並列に画像伸長処理を行う第2制御手段とを備え、前記第2制御手段は、あるプロセッサに対応する部分領域の各画素のビット長がそれぞれL1〜LNである場合に、該プロセッサが画像伸長処理の結果として出力した各画素のデータを並べた(L1+・・・+LN)長のデータ列を少なくとも対象として、前記周期パターンを当てはめて各画素のビット長を取得し、画素ごとの情報を抽出することを特徴とする。
本発明の画像処理方法は、イメージを構成する少なくとも1つの走査ラインについて、該走査ラインの各画素のビット長がそれぞれL1〜LNである場合に、前記各画素のデータを並べた(L1+・・・+LN)長のデータ列を少なくとも対象として該走査ラインの画像処理を行うことを特徴とする。
本発明の画像処理方法は、コンピュータにより実施することができるが、そのためのコンピュータプログラムは、CD−ROM、磁気ディスク、半導体メモリ及び通信ネットワークなどの各種の媒体を通じてコンピュータにインストールまたはロードすることができる。また、コンピュータプログラムが、プリンタ用カードやプリンタ用オプションボードに記録されて流通する場合も含む。
本発明によれば、画像処理を実行する際のメモリ効率の向上、処理時間の短縮を図ることができる。また、部分領域のそれぞれに複数のプロセッサのうち少なくとも1つを割り当てて並列に画像伸長処理を行う場合に、適切にアンパックできるような枠組みを提供することができる。
(第1の実施形態)
図1は、本発明の実施形態のプリンタシステム1のハードウェア構成を示すブロック図である。図1に示すように、プリンタシステム1は、ホスト装置10と、通信ネットワーク(LAN、インターネット、専用線、パケット通信網、それらの組み合わせ等のいずれであってもよく、有線、無線の両方を含む)を介して該ホスト装置10と通信可能に構成されるプリンタ装置(画像形成装置)20とを含んでいる。
ホスト装置10は、メインCPU、並列処理プロセッサ11〜14を備える並列処理ユニット15、ROM、RAM、ユーザインタフェース、通信インタフェース等のハードウェアを備えている。本実施形態では、並列処理ユニット15が4つのプロセッサ11〜14を備える構成としているが、プロセッサ数は設計に応じて2以上の任意の数(例えば8)とすることができる。
ホスト装置10は、プリンタ装置20に印刷を実行させるため必要な通常の制御機能として、プリンタドライバ手段16を備えている。
プリンタドライバ手段16は、通常のプリンタドライバと同様の機能構成であり、例えば、ホスト装置10上で動作するアプリケーションプログラムからの印刷要求に応じて、ポストスクリプト等の所定のプリンタ制御言語により記述された印刷対象データに基づいてラスタイメージを生成するRIP手段、ラスタイメージに対して所定の画像処理(ハーフトーン処理など)を施して印刷イメージを作成する画像処理手段などを備える。
ただし、本実施形態のプリンタドライバ手段16は、後述するように、印刷イメージを構成する個々の走査ラインに対し、各画素の階調データが連続して配置されるデータ列を生成するパック処理を施し、並列処理ユニット15を用いて、並列に画像圧縮処理を実行する圧縮制御手段17と、並列処理ユニット15による圧縮処理結果をプリンタ装置20へ転送する転送手段18とを備えている点で、従来の構成と異なっている(図2参照)。
なお、これらの各手段は、ホスト装置10内のROMやRAM、外部の記憶媒体等に格納されるプログラムをメインCPUが実行することにより機能的に実現される。
プリンタ装置20は、動力機構部とプリンタコントローラ26を備えている。
動力機構部は、用紙をプリンタ内に供給する給紙機構、印字を行う印刷エンジン、及び用紙をプリンタ機外に排出する排紙機構等により構成される。印刷エンジンは、例えば、インクジェットプリンタや熱転写プリンタのように1文字単位で印刷するシリアルプリンタ、1行単位で印刷するラインプリンタ、ページ単位で印刷するページプリンタ等に対応する各種印刷エンジンを用いることができる。
プリンタコントローラ26は、メインCPU、プロセッサ21〜24を備える並列処理ユニット25、ROM、RAM、ユーザインタフェース、通信インタフェース等を備えている。なお、本実施形態では、並列処理ユニット25が4つのプロセッサ21〜24を備える構成としているが、プロセッサ数は設計に応じて2以上の任意の数(例えば8)とすることができる。また、動力機構部が独立してCPUを備えていてもよく、その場合は、動力機構部のCPUが、所定の通信路を介して情報処理部のメインCPUと通信を行い、印刷エンジンを制御して印刷動作を行わせることになる。
プリンタコントローラ26は、通常のプリンタにおけるプリンタコントローラと同様の機能構成であり、例えば、ホスト装置10からコマンドやデータを受信して受信バッファに格納する受信手段、動力機構部を制御して印刷を実行させるエンジン制御手段などを備える。
ただし、本実施形態のプリンタコントローラ26は、後述するように、ビット情報テーブルを記憶する記憶手段27と、並列処理ユニット25を用いて、個々の走査ラインに対して並列に伸長処理を実行する伸長制御手段28と、伸長されたデータから画素ごとのデータを抽出するアンパック手段29と、伸長処理/アンパック処理の結果として得られた印刷イメージを印刷に用いられる順序で印刷エンジンへ転送する転送手段30とを備えている点で、従来の構成と異なっている(図2参照)。
なお、これらの各手段は、プリンタ装置20内のROMやRAM、外部の記憶媒体等に格納されるプログラムをメインCPUが実行することにより実現される。
以下、図3等に示すフローチャートや説明図を参照して、プリンタシステム1における印刷処理について説明する。なお、各工程(符号が付与されていない部分的な工程を含む)は処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
(ホスト装置10における処理)
プリンタドライバ手段16は、外部又はホスト装置10上で動作しているアプリケーションプログラムから印刷要求を受け付けると、プリンタ装置20(プリンタコントローラ26)に対して印刷指示コマンドを送信するとともに、RIP手段などに対して処理の開始を指示する。
RIP手段は、処理開始の指示を受け付けると、アプリケーションプログラムから受け取った、ポストスクリプト等の所定のプリンタ制御言語により記述された印刷対象データに基づいて、ラスタイメージを生成する。なお、アプリケーションプログラム等からラスタイメージの形式で印刷対象データを受け取ることができる場合は、RIP手段による処理は省略できる。
画像処理手段は、前記生成されたラスタイメージに対して所定の画像処理(ハーフトーン処理など)を施し、印刷イメージを生成して、RAMの所定領域に格納する。
ここで、本実施形態において採用するハーフトーン処理について説明する。
本実施形態では、スクリーンテーブルと、ラスタイメージ上の入力階調値と印刷イメージ上の出力階調値との対応関係を複数格納したテーブル(以下、「階調変換テーブル」と呼ぶ。)を用いてハーフトーン処理を行う。
スクリーンテーブルの例を図3(a)に示す。かかる例では9×9サイズのマトリクス内に1〜9の参照番号(識別子)が割り当てられており、各参照番号は、階調変換テーブルに格納される各対応関係を一意に特定している。なお、設計に応じて参照番号を重複させずに割り当ててもよく、また、他の形状・サイズのスクリーンテーブルを用いてもよい。
階調変換テーブルの例を図4に示す。図に示す例では、出力階調値のビット長(表現ビット数)がそれぞれ3ビット、2ビット、1ビットの3種類の対応関係が存在し、参照番号1〜2により特定される対応関係ではビット長は3ビット、参照番号3〜7では2ビット、参照番号8〜9では1ビットとなっている。
図からわかるように、ビット長は対応関係(参照番号)が決まれば一意に定まり、対応関係(参照番号)はスクリーンテーブル内の要素位置によって一意に定まることから、ビット長はスクリーンテーブル内の要素位置に応じて定まっているとみなすことができる。図3(b)にスクリーンテーブル内の要素位置にビット長を対応づけたテーブルを示す。かかるテーブルが上述のビット情報テーブルに該当する。
本ハーフトーン処理では、ラスタイメージの個々の画素に対してスクリーンテーブルを当てはめることで、ラスタイメージ上の1画素が印刷イメージ上の9×9画素に変換される。このとき、印刷イメージ上の9×9画素のそれぞれの階調値は、前記ラスタイメージ上の1画素の階調値を、スクリーンテーブル内の位置に応じて特定される階調変換テーブルを用いてそれぞれ所定のビット長の階調値に変換することで、決定されることになる。従って、このようにして得られた印刷イメージでは、スクリーンテーブル(すなわちビット情報テーブル)を基本パターンとして、ビット長の並びが周期パターンを構成することになる。
このようにしてハーフトーン処理が行われ、印刷イメージが生成されると、圧縮制御手段17は、以下のように並列圧縮処理を実行する。なお、印刷イメージについて1以上の走査ラインが生成された段階で、逐次的に以下の処理を実行するように構成してもよい。
まず圧縮制御手段17は、前記生成された印刷イメージを構成する主走査方向のライン(以下、単に「走査ライン」と呼ぶ)を副走査方向の順に選択する(図5:ステップS100)。なお、主走査方向、副走査方向は、プリンタ装置20における走査を基準として定めるものとする。
次に、圧縮制御手段17は、前記選択した走査ラインを複数の部分領域に分割する(図5:S101)。このとき、圧縮制御手段17は、前記部分領域の境界がビット情報テーブルにより特定される周期パターンの境界の少なくとも1つと一致するように、必要に応じて印刷イメージに対してダミー画素を付加した上で(すなわちパディングを行った上で)分割する(図6参照)。
具体的なパディングの方法について説明する。例えば、プロセッサ数をP、印刷イメージの1走査ラインの画素数をM、ビット情報テーブルの水平方向サイズをQとすると、以下のようにパディングで付加するダミー画素数Xを決定する。
if{ M mod(P×Q)=0 }
then X=0
else X=P×Q−( M mod(P×Q) )
そして、走査ラインの末尾にX個のダミー画素を付加してから、均等なP個の部分領域に分割する。なお、パディングにより付加する画素(ダミー画素)は、その位置さえ記憶しておけば後で除去できるため任意の位置に付加することが可能であるが、ここでは走査ラインの末尾に1ビットのダミー画素を必要な数だけ付加するものとする。このようにパディングした場合、各部分領域の画素数は必ずビット情報テーブルの水平サイズQの倍数となるため、部分領域の境界は周期パターンの境界の少なくとも1つと一致することになる。
以下では、このようにして分割した部分領域を「チャンネル」と呼び、走査ラインにおける並び順にチャンネル番号を付加して各チャンネルを識別するものとする(図7参照)。
なお、全走査ラインに共通してチャンネルを定めておけば、ステップS101は省略することができる。
次に、圧縮制御手段17は、前記選択した走査ラインの各部分データに対し、該部分データ内の各画素の階調データが連続して配置されるデータ列を生成する(パック処理を施す)(図5:ステップS102)。すなわち、部分データの画素数がNであり、各画素のビット長がそれぞれL1〜LNである場合に、前記各画素のデータを並べた(L1+・・・+LN)長のデータ列(以下、「パック部分データ」と呼ぶ)を少なくとも含むデータ列を生成し、RAMの所定領域に格納する。
例えば図15(a)に示すような階調値を持つ18画素のイメージがあり、各画素のビット長がそれぞれ(L1、・・・、L18)=(1、1、2、2、2、2、2、3、3、1、1、2、2、2、2、2、3、3)である場合、圧縮制御手段17は、図15(c)に示すような、9つの画素の階調データを並べた(1+1+2+2+2+2+2+3+3+1+1+2+2+2+2+2+3+3)=36ビット長のパック部分データを少なくとも含む5バイトのデータ列を生成することになる。このようにして生成されたパック部分データは、最終バイトを除いて、1バイト中に複数画素の階調データが連続して(埋まって)格納されており、従来のように各画素をバイト単位に嵩上げしてデータを扱う場合に生じていた未使用ビットは存在していない。
次に、圧縮制御手段17は、前記複数のチャンネルのそれぞれにプロセッサ11〜14のうち少なくとも1つを割り当てる(図5:ステップS103)。具体的には、チャンネル1にはプロセッサ11、チャンネル2にはプロセッサ12というように、チャンネルとプロセッサの組み合わせを固定して割り当てるものとする。
次に、圧縮制御手段17は、前記割り当てたプロセッサが新たなデータを処理できるかどうかを判断し、処理できる場合には、対応するパック部分データの先頭位置を前記割り当てたプロセッサに渡し、該パック部分データの読み出しを指示する(図5:ステップS104)。
ここで、プロセッサが新たなデータを処理できる場合とは、該プロセッサが次の処理結果を新たに書き込むことができる場合である。判断方法としては、例えばプロセッサ11〜14のそれぞれによって書き込み可能な出力バッファが1つの部分データの処理結果に対応する容量である場合、処理結果を転送したかどうかによって新たに書き込みできるか否かが決まるため、プロセッサごとに処理結果が転送済みであるかどうかを示す転送終了フラグを用意して、該フラグに基づいてプロセッサが新たなデータを処理できるかどうかを判断する構成を考えることができる。
次に、圧縮制御手段17は、前記生成された印刷イメージを構成する走査ラインのうち未選択の走査ラインがある場合は、ステップS100に戻る(図5:ステップS105)。
並列処理ユニット15の各プロセッサ11〜14は、圧縮制御手段17からパック部分データの先頭位置及び読み出し指示を受け付けると(図8:ステップS200:YES)、RAMの所定領域から該先頭位置に基づいてパック部分データを読み出す(図8:ステップS201)。
そして、前記読み出したパック部分データに対して所定の圧縮処理を実行して圧縮部分データを生成し(図8:ステップS202)、該圧縮部分データを自己の出力バッファに書き込む(図8:ステップS203)。なお、所定の圧縮処理としては、設計に応じて従来の種々の圧縮アルゴリズムを採用することができ、例えば印刷イメージが2値データの場合であれば、JBIG(Joint Bi−level Image Experts Group)のアルゴリズムを採用することが考えられる。
転送手段18は、チャンネルの並び順にサイクリックに該チャンネルに対応するプロセッサを選択する(図9:ステップS300)。
次に、転送手段18は、前記選択したプロセッサにおいてパック部分データの圧縮処理が終了し、かつプリンタ装置20(プリンタコントローラ26)が圧縮部分データを受信可能である場合に(図9:ステップS301:YES)、該プロセッサの出力バッファから圧縮部分データをプリンタ装置20(プリンタコントローラ26)に転送する(図9:ステップS302)。このとき、圧縮部分データの境界が検出できるように、圧縮部分データの終端に(又は最初に)所定の境界情報を追加して転送する。
次に、転送手段18は、圧縮部分データの転送が終了した場合、該プロセッサのプロセッサ別転送終了フラグをONとする(図9:ステップS303)。該プロセッサのプロセッサ別転送終了フラグは、圧縮制御手段17が該プロセッサに読み出し指示を与える際にOFFに戻されることになる。
次に、転送手段18は、前記生成された印刷イメージについて、まだ全ての圧縮部分データを転送していない場合は、ステップS300に戻る(図9:ステップS304)。
かかる構成によれば、1つの走査ラインを構成する各チャンネルに対して(すなわち、各部分データに対して)並列に圧縮処理が実行されるため、個々の走査ラインについての圧縮処理時間を短縮することができる。特に、最初の1走査ラインの圧縮処理時間が短縮されることで、印刷イメージの圧縮処理を開始してから最初の走査ラインの圧縮処理が終了し、その処理結果がプリンタ装置20(プリンタコントローラ26)へ転送されるまでの時間を短縮すること可能となり、立ち上がりの早い圧縮処理(ひいては印刷処理)を実現することができる。
また、各部分データに対して、複数画素の階調データが連続して配置されるデータ列を生成してから(すなわち、パックしてから)、該データ列を対象として圧縮処理を行う構成としているため、イメージの各画素の階調データをバイト単位に嵩上げしてから画像処理を行う従来の構成に比べて、画像処理の実行に必要なメモリ領域の容量、演算対象となるデータ量を抑制して、効率よく圧縮処理を実行することができる。
(プリンタ装置20における処理)
プリンタコントローラ26は、受信手段において受信したコマンドが印刷指示コマンドである場合、エンジン制御手段により動力機構部を制御して印刷の準備を整えるとともに、伸長制御手段28等に対して処理の開始を指示する。
伸長制御手段28は、処理開始の指示を受け付けると、データ受信バッファから次に読み出される予定の圧縮部分データ(チャンネル)に対して、プロセッサ21〜24のうち少なくとも1つを割り当てる(図10:S400)。
具体的には、チャンネル1の圧縮部分データにはプロセッサ21、チャンネル2の圧縮部分データにはプロセッサ22というように、チャンネルとプロセッサの組み合わせを固定して割り当てるものとする。
ここで、データ受信バッファは、例えばRAM上にFIFOタイプのバッファとして(又はFIFOタイプメモリにより)構成することが望ましい。この場合、上述したように、ホスト装置10の転送手段18はチャンネルの並び順に圧縮部分データをプリンタ装置20(プリンタコントローラ26)へ転送する構成となっているため、データ受信バッファにおける圧縮部分データの書き込み/読み出しもチャンネルの並び順となる。そのため、伸長制御手段27は、次に読み出される予定の圧縮部分データがどのチャンネルに対応するかについて特定することができ、プロセッサとチャンネルの組み合わせを固定して割り当てることが可能となる。
次に、伸長制御手段28は、前記割り当てたプロセッサが新たなデータを処理できるかどうかを判断し、可能な場合にはデータ受信バッファからの圧縮部分データの読み出しを指示する(図10:ステップS401)。
ここで、例えばプロセッサ21〜24のそれぞれによって書き込み可能な出力バッファが1つの部分データに対応する容量である場合、上記判断は圧縮制御手段17と同様に転送終了フラグに基づいて行うことができる。
次に、伸長制御手段28は、まだ伸長していない圧縮部分データがある場合はステップS400に戻る(図10:ステップS402)。
並列処理ユニット25の各プロセッサ21〜24は、伸長制御手段27から圧縮部分データの読み出し指示を受け付けると(図11:ステップS500:YES)、データ受信バッファの読み出し位置にある圧縮部分データを読み出す(図11:ステップS501)。各プロセッサは、圧縮部分データに対して追加された境界情報を検出することで、圧縮部分データの読み出し開始/終了位置を特定することができる。
次に、各プロセッサ21〜24は、前記読み出した圧縮部分データに対して所定の伸長処理を実行して、対応するパック部分データを生成し(図11:ステップS502)、該パック部分データを自己の出力バッファに格納する(図11:ステップS503)。なお、伸長処理は、ホスト装置10の並列処理ユニット15において採用した圧縮アルゴリズムに対応する伸長処理を採用する必要がある。
アンパック手段29は、印刷に用いられる順序でデータをアンパックすべく、副走査方向の順に走査ラインを選択する(図12:ステップS600)。
次に、アンパック手段29は、前記選択した走査ラインについて、印刷に用いられる順に、すなわち並び順にチャンネルを選択する(図12:ステップS601)。
次に、アンパック手段29は、前記選択したチャンネルに対応するプロセッサの出力バッファにパック部分データが伸長された状態で格納されているかどうかを判断する(図12:ステップS602)。そして、格納されていると判断した場合に、該パック部分データを読み出す(図12:ステップS603)。
ここで、前記読み出したパック部分データにはビット長が異なる画素の階調データが混在してパックされた状態となっているため、このパック部分データから各画素の階調データを抽出するためには、画素ごとの階調データの区切りを知っておく必要がある。本実施形態では、プリンタコントローラ26が、ホスト装置10において実施したハーフトーン処理により特定されるビット情報テーブルを記憶するビット情報テーブル記憶手段27を備えており、該記憶手段27を参照することで画素ごとの階調データの区切りを把握することができるように構成している。
アンパック手段29は、ビット情報テーブル記憶手段27を参照して、前記選択した走査ラインに対応する周期パターン(ビット長の並びパターン)を取得する(図12:ステップS604)。例えば、ビット情報テーブルの垂直方向のサイズをPとすると、第Q走査ラインの周期パターンは、ビット情報テーブルの第(QmodP)ラインのビット長の並びとなる。
そして、前記取得した周期パターンに基づいて、前記パック部分データに含まれる各画素の階調データを抽出する(図12:ステップS605)。ただし、パディングにより追加されたダミー画素については階調データを抽出する必要はない。例えば走査ラインの末尾に1ビットのダミー画素を付加する場合であれば、ホスト装置10からダミー画素数Xの値を受け取り、最終チャンネルのパック部分データについてXビットを残して抽出を終了すればよい。
ここで、上述したように、ホスト装置10において実施される圧縮制御処理では、チャンネルの境界がビット情報テーブルにより特定される周期パターンの境界の少なくとも1つと一致するように分割し、その上で各チャンネルの部分データをパックして、パック部分データを生成している。この場合、各チャンネルの開始位置とビット長の並びの周期パターンの開始位置とが常に整合し、パック部分データには先頭から周期パターンに一致したビット長で画素がパックされることになる。そのため、アンパック手段29は、いずれのチャンネルについても、パック部分データの先頭から、前記選択した走査ラインに対応する周期パターンの順にビット長のデータを抽出していけば、該パック部分データに含まれる各画素の階調データを抽出することができる。
図14は、アンパックする様子を示す図である。例えばパック部分データが図14(a)に示すようなデータ列となっており、周期パターンが図14(b)に示すような値を有する場合、各画素の階調データは、図14(c)に示すように、1ビット、1ビット、2ビット、2ビット、2ビット、2ビット、2ビット、3ビット、3ビット、・・・の順にパック部分データから抽出され、図14(d)に示すような値が得られる。
次に、アンパック手段29は、例えば印刷エンジンが面積階調により印刷可能なタイプであれば、前記パック部分データに含まれる各画素について、該画素の前記抽出した階調データに基づき1ドットあたりの面積比率データ(=該画素の階調値/該画素のビット長の最大階調値)を求め、例えばRAM上に実現されたFIFOタイプの転送用バッファに画素の並び順に格納する(図12:ステップS606)。
次に、アンパック手段29は、前記選択したチャンネルについて全画素の階調データを抽出し終わった後、前記選択したチャンネルに対応するプロセッサの転送終了フラグをONにする(図12:ステップS607)。なお、各プロセッサの転送終了フラグは、伸長制御手段28が該プロセッサに読み出し指示を与える際に、OFFに戻される。
次に、アンパック手段29は、前記選択した走査ラインについて未選択のチャンネルがある場合はS601へ戻り(図12:ステップS608)、そうでない場合であって未選択の走査ラインがある場合は、次の走査ラインを選択すべくS600に戻る(図12:ステップS609)。
転送手段30は、転送用バッファに1走査ライン分のデータが格納されているかどうかを判断し(図13:ステップS700)、格納されていると判断した場合に、その1走査ライン分のデータを読み出して、印刷エンジンへ転送する(図13:ステップS701)。なお、FIFOタイプの転送バッファにはアンパック手段29によって印刷に用いられる順に部分データが格納されているため、転送手段30は、転送バッファから順番に読み出して転送すれば、印刷に用いられる順序で印刷エンジンへ転送することができる。
かかる構成によれば、1つの走査ラインを構成する各チャンネルに対して(すなわち、各圧縮部分データに対して)並列に伸長処理が実行されるため、個々の走査ラインについての伸長処理時間を短縮することができる。
特に、最初の1走査ラインの伸長処理時間が短縮されることで、圧縮された印刷イメージの伸長処理を開始してから最初の走査ラインについて伸長処理が終了し、その処理結果が印刷エンジンへ転送されるまでの時間を短縮すること可能となり、立ち上がりの早い伸長処理(ひいては印刷処理)を実現することができる。
更に、各プロセッサの出力バッファに1走査ライン分の部分データが揃った段階で印刷エンジンへ転送し、転送が終了した段階で次のラインについて伸長処理を行う、すなわち、走査ライン単位で同期して伸長処理及び転送処理を行う構成となっているため、伸長処理結果である部分データを格納するメモリ領域として最低1走査ライン分の容量のメモリ領域が有れば(具体的には、各プロセッサの出力バッファの容量≧1走査ライン分のメモリ容量/プロセッサ数、となっていれば)、並列化によってスループットを向上させることが可能となる。
言い換えれば、従来のように1つの走査ライン(又は1バンド)に1つのプロセッサを割り当てて並列処理した場合には、伸長処理結果を格納するメモリ領域として最低でもプロセッサ数と同数の走査ライン数分(又はバンド数分)のメモリ領域がなければプロセッサ数に応じた並列化による効果が得られないのに対し、本実施形態のように、1つの部分データに1つのプロセッサを割り当てて並列処理した場合には、プロセッサごとに部分データに対応するメモリ領域があれば足り、プロセッサごとに1走査ライン分のメモリ領域を用意する必要はないことから、伸長処理結果を格納するメモリ領域としてプロセッサ数より少ない走査ライン数分のメモリ領域しか利用できない場合でも、プロセッサ数に応じた並列化による効果を得ることができる。
例えば、伸長処理の並列化により、(1走査ラインの伸長処理時間)≒MAX{各プロセッサの圧縮部分データの伸長処理時間}となるため、適切なプロセッサ数を備えることで、(1走査ラインの伸長処理時間)<(印刷エンジンにおける1走査ラインの印刷に要する時間)とすることができ、一定速度でライン単位の印刷データをエンジンに供給し続ける必要があるレーザプリンタ等に対してもリアルタイムに対応することができる。
更に、各プロセッサは、自己の伸長処理結果であるパック部分データがアンパックされ転送用バッファに転送された段階で次の圧縮部分データについて伸長処理を開始することができ、従って、転送用バッファから印刷エンジンへの転送処理と並列に伸長処理を実行することが可能となる。
また、上記構成では、複数画素の階調データが連続して配置されるデータ列(すなわちパック部分データ)が伸長処理の出力対象となることから、イメージの各画素の階調データをバイト単位に嵩上げした状態で伸長結果を出力する従来の構成に比べて、画像処理の実行に必要なメモリ領域の容量、演算対象となるデータ量を抑制して、効率よく伸長処理を実行することができる。
(その他)
本発明は上記実施形態に限定されることなく、種々に変形して適用することが可能である。例えば、本発明は、プリンタシステム以外、圧縮/伸長処理以外に対しても適用することができる。
また例えば、上記実施形態では、イメージを構成する少なくとも1つの走査ラインについて、個々の走査ラインを複数の部分領域に分割した場合の、前記部分領域のそれぞれに前記複数のプロセッサのうち少なくとも1つを割り当てて、並列に画像処理を行う構成について説明したが、本発明はこのような構成に限られず、並列処理を前提とせずに、イメージを構成する少なくとも1つの走査ラインについて、該走査ラインの各画素のビット長がそれぞれL1〜LNである場合に、前記各画素のデータを並べた(L1+・・・+LN)長のデータ列を少なくとも対象として、該走査ラインの画像処理を行う構成とすることもできる。
また例えば、上記実施形態では、プリンタ装置20が並列処理ユニット25、プリンタコントローラ26を備える構成としているが、本発明は必ずしもこのような構成に限られない。例えば並列処理ユニット25やプリンタコントローラ26をプリンタ装置20に接続可能な外部装置として構成することも考えられる。更には、並列処理ユニット25やプリンタコントローラ26を例えばPCIバス等の規格によりホスト装置10に接続可能な装置として構成してもよい。並列処理ユニット25をホスト装置10に接続する構成の場合、ホスト装置10のメインCPU等によってプリンタコントローラ26の各機能を実現する構成としてもよい。
また例えば、上記実施形態では、ラスタイメージ上の1画素を印刷イメージ上の9×9画素に変換するハーフトーン処理について説明したが、例えばラスタイメージ上の1画素を印刷イメージ上の1画素に変換するタイプ等のハーフトーン処理を採用してもよい。
また例えば、上記実施形態では、1走査ラインをプロセッサ数に応じて均等に部分領域に分割する構成について説明したが、例えばプロセッサのスペック等に応じて割り当てる部分領域の大小を変えるなど、必ずしも均等に分割しなくてもよい。また、部分領域の分割数(チャンネル数)は、必ずしもプロセッサ数と等しくなくてもよい。
また例えば、上記実施形態では、チャンネルとプロセッサの組み合わせを固定して割り当てる構成について説明したが、例えば、処理が終了したプロセッサを次のチャンネルに割り当てるように構成してもよい。この場合、走査ラインごとにプロセッサとチャンネルの対応関係が異なる可能性がある。なお、並列処理ユニット15、25のプロセッサのみならず、メインCPUに対してもチャンネルを割り当てて、並列処理を実行する構成としてもよい。
また例えば、上記実施形態では、プロセッサ11〜14がRAMから部分データを読み出す構成について説明としたが、例えばホスト装置10がRAMからプロセッサ11〜14へ部分データを転送する手段(例えば、DMA転送手段)を備える場合は、圧縮制御手段は該手段に対して指示を行えばよい。この場合、プロセッサ11〜14は該手段からの転送を受けて処理を実行することになる。同様に、例えばプリンタ装置20がデータ受信バッファからプロセッサ21〜24へ圧縮部分データを転送する手段(例えば、DMA転送手段)を備える場合は、伸長制御手段は該手段に対して指示を行えばよく、プロセッサ21〜24は該手段からの転送を受けて処理を実行することになる。
また例えば、上記実施形態では、プロセッサ11〜14(プロセッサ21〜24)のそれぞれによって書き込み可能な出力バッファが1つの部分データの処理結果に対応する容量である場合について説明したが、各プロセッサがそれぞれ前記容量以上の出力バッファに書き込み可能となっていてもよい。この場合、各プロセッサは、出力バッファの容量が許す限り次々と圧縮処理(伸長処理)を行うことができる。なお、各プロセッサの出力バッファは、並列処理ユニット内に備える構成のほか、ホスト装置10やプリンタ装置20のRAMの一部を用いて構成してもよい。
また例えば、上記実施形態では、印刷イメージの全走査ラインについて並列処理を行う構成について説明したが、印刷イメージを構成する少なくとも1つの走査ラインについて本発明を適用すれば、該走査ラインについて圧縮処理時間/伸長処理時間の短縮という効果を得ることができる。
また例えば、上記実施形態では、転送手段18が逐次的に圧縮部分データをプリンタ装置20へ転送する構成について説明したが、例えば1走査ライン分が揃うまで待ってバースト的に転送する構成としてもよい。このとき、例えば圧縮部分データをいったんRAMに格納してから転送する構成としてもよい。
また例えば、上記実施形態では、転送手段18がチャンネルの並び順に転送する構成について説明したが、圧縮部分データにチャンネルの識別情報を追加して転送することで、並び順と異なる順序で転送する構成とすることもできる。この場合、伸長制御手段27は、前記識別情報に基づいて割り当てるプロセッサを判断することができる。
また例えば、上記実施形態では、転送手段30が1走査ライン分のデータが揃ったところで印刷エンジンへデータを転送する構成について説明しているが、印刷エンジンのタイプによっては、1走査ライン分のデータが揃うのを待つことなく、又は複数走査ライン分のデータ(例えば1バンド分のデータ)が揃ったところで、印刷エンジンへデータを転送する構成としてもよい。
また例えば、上記実施形態では、走査ラインごとにチャンネル単位で並列に圧縮/伸長処理を行う構成を前提として、主走査方向について境界一致条件(チャンネル境界が周期パターンの境界の少なくとも1つと一致しているという条件)を満たすように分割する構成としているが、本発明は必ずしもこのような構成に限られるものではない。例えば、複数の走査ラインをまとめてバンドを構成し、バンドごとにチャンネル単位で並列に圧縮/伸長処理を行う構成としてもよく、この場合、副走査方向について境界一致条件(バンド境界が周期パターンの境界の少なくとも1つと一致しているという条件)を満たすようにバンド分割を行う構成を考えることができる。
本発明の実施形態におけるプリンタシステムのハードウェア構成を示すブロック図である。 プリンタドライバ手段16、プリンタコントローラ26の機能構成図を示すブロック図である。 スクリーンテーブル、ビット情報テーブルを説明するための図である。 階調変換テーブルを説明するための図である。 圧縮制御手段17の処理内容を示すフローチャートである。 パディングを行って部分領域に分割する様子を説明するための図である。 チャンネルを説明するための図である。 並列処理ユニット15における処理内容を示すフローチャートである。 転送手段18の処理内容を示すフローチャートである。 伸長制御手段28の処理内容を示すフローチャートである。 並列処理ユニット25における処理内容を示すフローチャートである。 アンパック手段29の処理内容を示すフローチャートである。 転送手段30における処理内容を示すフローチャートである。 アンパックする様子を説明するための図である。 従来構成及び本発明における、画素データが格納される様子を説明するための図である。
符号の説明
1 プリンタシステム、10 ホスト装置、 11〜14 並列処理用プロセッサ、 15 並列処理ユニット、 16 プリンタドライバ手段、 17 圧縮制御手段、 18 転送手段、 20 プリンタ装置、 21〜24 並列処理用プロセッサ、 25 並列処理ユニット、 26 プリンタコントローラ、 27 ビット情報テーブル記憶手段、 28 伸長制御手段、 29 アンパック手段、30 転送手段

Claims (11)

  1. イメージを構成する少なくとも1つの走査ラインについて、該走査ラインの各画素のビット長がそれぞれL1〜LNである場合に、前記各画素のデータを並べた(L1+・・・+LN)長のデータ列を少なくとも対象として、該走査ラインの画像処理を行うことを特徴とする画像処理装置。
  2. 複数のプロセッサを用いて並列に画像処理を行う画像処理装置であって、
    イメージを構成する少なくとも1つの走査ラインについて、個々の走査ラインを複数の部分領域に分割した場合の、前記部分領域のそれぞれに前記複数のプロセッサのうち少なくとも1つを割り当てて、並列に画像処理を行う制御手段を備え、
    前記制御手段は、あるプロセッサに対応する部分領域の各画素のビット長がそれぞれL1〜LNである場合に、該プロセッサが前記各画素のデータを並べた(L1+・・・+LN)長のデータ列を少なくとも対象として該部分領域の画像処理を行うように制御することを特徴とする画像処理装置。
  3. 前記イメージにおいて各画素のビット長の並びが周期パターンを構成しており、
    前記部分領域の境界が前記周期パターンの境界の少なくとも1つと一致していることを特徴とする請求項2記載の画像処理装置。
  4. 前記周期パターンを記憶する記憶手段を備え、
    前記制御手段は、前記(L1+・・・+LN)長のデータ列に対して前記周期パターンを当てはめて各画素のビット長を取得し、画素ごとの情報を抽出することを特徴とする請求項3記載の画像処理装置。
  5. 前記各画素のビット長L1〜LNのうち少なくとも1つは、他のビット長と異なっていることを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
  6. 前記画像処理が、画像圧縮処理又は画像伸長処理であることを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
  7. 複数のプロセッサを用いて並列に画像処理を行う機能を備えるプリンタ制御装置であって、
    イメージを構成する少なくとも1つの走査ラインについて、個々の走査ラインを複数の部分領域に分割した場合の、前記部分領域のそれぞれに前記複数のプロセッサのうち少なくとも1つを割り当てて並列に画像圧縮処理を行い、各部分領域に対応する圧縮されたデータをプリンタ装置へ送信する制御手段を備え、
    前記制御手段は、あるプロセッサに対応する部分領域の各画素のビット長がそれぞれL1〜LNである場合に、該プロセッサが前記各画素のデータを並べた(L1+・・・+LN)長のデータ列を少なくとも対象として該部分領域の画像圧縮処理を行うように制御することを特徴とするプリンタ制御装置。
  8. 複数のプロセッサを用いて並列に画像処理を行う機能を備えるプリンタ装置であって、
    各画素のビット長の並びを特定する周期パターンを記憶する記憶手段と、
    イメージを構成する少なくとも1つの走査ラインについて、個々の走査ラインを複数の部分領域に分割した場合の、前記部分領域のそれぞれに対応する圧縮部分データをホスト装置から受信し、圧縮部分データに前記複数のプロセッサのうち少なくとも1つを割り当てて並列に画像伸長処理を行う制御手段とを備え、
    前記制御手段は、あるプロセッサに対応する部分領域の各画素のビット長がそれぞれL1〜LNである場合に、該プロセッサが画像伸長処理の結果として出力した各画素のデータを並べた(L1+・・・+LN)長のデータ列を少なくとも対象として、前記周期パターンを当てはめて各画素のビット長を取得し、画素ごとの情報を抽出することを特徴とするプリンタ装置。
  9. ホスト装置と、該ホスト装置と通信可能に構成されたプリンタ装置とを含んで構成され、ホスト装置及びプリンタ装置のそれぞれが複数のプロセッサを用いて並列に画像処理を行う機能を備えるプリンタシステムであって、
    ホスト装置は、
    イメージを構成する少なくとも1つの走査ラインについて、個々の走査ラインを複数の部分領域に分割した場合の、前記部分領域のそれぞれに複数のプロセッサのうち少なくとも1つを割り当てて並列に画像圧縮処理を行い、各部分領域に対応する圧縮されたデータ(以下、「圧縮部分データ」と呼ぶ)をプリンタ装置へ送信する第1制御手段を備え、
    前記第1制御手段は、あるプロセッサに対応する部分領域の各画素のビット長がそれぞれL1〜LNである場合に、該プロセッサが前記各画素のデータを並べた(L1+・・・+LN)長のデータ列を少なくとも対象として該部分領域の画像圧縮処理を行うように制御し、
    プリンタ装置は、
    各画素のビット長の並びを規定する周期パターンを記憶する記憶手段と、
    イメージを構成する少なくとも1つの走査ラインについて、個々の走査ラインを複数の部分領域に分割した場合の、前記部分領域のそれぞれに対応する圧縮部分データをホスト装置から受信し、圧縮部分データに複数のプロセッサのうち少なくとも1つを割り当てて並列に画像伸長処理を行う第2制御手段とを備え、
    前記第2制御手段は、あるプロセッサに対応する部分領域の各画素のビット長がそれぞれL1〜LNである場合に、該プロセッサが画像伸長処理の結果として出力した各画素のデータを並べた(L1+・・・+LN)長のデータ列を少なくとも対象として、前記周期パターンを当てはめて各画素のビット長を取得し、画素ごとの情報を抽出することを特徴とするプリンタシステム。
  10. イメージを構成する少なくとも1つの走査ラインについて、該走査ラインの各画素のビット長がそれぞれL1〜LNである場合に、前記各画素のデータを並べた(L1+・・・+LN)長のデータ列を少なくとも対象として、該走査ラインの画像処理を行うことを特徴とする画像処理方法。
  11. 請求項10記載の画像処理方法をコンピュータで実行させるためのプログラム。
JP2003360725A 2003-10-01 2003-10-21 画像処理装置及びその方法、プリンタシステム Expired - Fee Related JP4345055B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003360725A JP4345055B2 (ja) 2003-10-21 2003-10-21 画像処理装置及びその方法、プリンタシステム
US10/953,415 US7580151B2 (en) 2003-10-01 2004-09-30 Image processing system and method, printing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003360725A JP4345055B2 (ja) 2003-10-21 2003-10-21 画像処理装置及びその方法、プリンタシステム

Publications (2)

Publication Number Publication Date
JP2005128632A true JP2005128632A (ja) 2005-05-19
JP4345055B2 JP4345055B2 (ja) 2009-10-14

Family

ID=34640954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003360725A Expired - Fee Related JP4345055B2 (ja) 2003-10-01 2003-10-21 画像処理装置及びその方法、プリンタシステム

Country Status (1)

Country Link
JP (1) JP4345055B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010125713A (ja) * 2008-11-27 2010-06-10 Kyocera Mita Corp 画像形成装置
US8004705B2 (en) 2005-06-01 2011-08-23 Canon Kabushiki Kaisha Printing system and printing method using transfer of compressed image data and compression pattern from host to printing apparatus
US8089641B2 (en) 2006-01-30 2012-01-03 Konica Minolta Business Technologies, Inc. Image processing apparatus and image forming apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8004705B2 (en) 2005-06-01 2011-08-23 Canon Kabushiki Kaisha Printing system and printing method using transfer of compressed image data and compression pattern from host to printing apparatus
US8089641B2 (en) 2006-01-30 2012-01-03 Konica Minolta Business Technologies, Inc. Image processing apparatus and image forming apparatus
JP2010125713A (ja) * 2008-11-27 2010-06-10 Kyocera Mita Corp 画像形成装置

Also Published As

Publication number Publication date
JP4345055B2 (ja) 2009-10-14

Similar Documents

Publication Publication Date Title
US20050168770A1 (en) Image processing system and method, printing system
JP2008193529A (ja) 走査変換装置及び走査変換方法
US6860203B2 (en) Method and apparatus for printing computer generated images
JP3660154B2 (ja) 印刷用画像処理装置
JP4345055B2 (ja) 画像処理装置及びその方法、プリンタシステム
JP2001213015A (ja) 画像記録装置
US6995862B1 (en) Image processing apparatus and method and computer program product
JP4389199B2 (ja) プリンタシステム
JP3655457B2 (ja) プリンタ制御装置
JP4200884B2 (ja) 画像伸長装置及びその方法、画像処理システム
JP2018058295A (ja) 画像処理装置、画像処理方法、及びプログラム
JP5093576B2 (ja) 印刷制御装置と画像形成システム
JP4182428B2 (ja) 画像伸長装置及びその方法、画像処理システム
JP3573035B2 (ja) カラー印刷システム及びそれに用いる描画コマンド生成方法
JP2006285792A (ja) 画像処理装置、画像処理方法
JP2001096854A (ja) 印刷処理装置および印刷処理方法
JP2011197956A (ja) プリンタ制御装置、プリンタ装置およびその制御方法
JPH03114856A (ja) プリンタデータ管理方式
JP2006264257A (ja) バンド単位で画像処理を行う画像処理装置
JP2006215918A (ja) 画像処理装置および画像処理方法
JPH11179975A (ja) カラープリンタ制御装置
JP2004254187A (ja) 情報処理装置
JP2020185686A (ja) 画像処理装置。
JP2005244748A (ja) 画像処理方法及び画像処理装置
JP2000047976A (ja) プリンタ制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060929

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090528

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090619

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090702

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120724

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120724

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130724

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees