JP2004072683A - Image processing apparatus, print system, and control program - Google Patents
Image processing apparatus, print system, and control program Download PDFInfo
- Publication number
- JP2004072683A JP2004072683A JP2002233120A JP2002233120A JP2004072683A JP 2004072683 A JP2004072683 A JP 2004072683A JP 2002233120 A JP2002233120 A JP 2002233120A JP 2002233120 A JP2002233120 A JP 2002233120A JP 2004072683 A JP2004072683 A JP 2004072683A
- Authority
- JP
- Japan
- Prior art keywords
- image
- transfer
- unit
- bus
- 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.)
- Pending
Links
Images
Landscapes
- Storing Facsimile Image Data (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、圧縮画像データを生成してプリンタ等に転送する画像処理装置等に関する。
【0002】
【従来の技術】
近年、オフィスなどにおいて使用される様々な電子機器の資源を共用すべく、ネットワークによってこれらの機器を接続することが行われている。例えば、従来のプリンタは、1台の機器に接続されたローカルプリンタが一般的であったが、ネットワーク内の各機器で共用されるネットワークプリンタとして使用されるケースが増えている。
【0003】
また、最近は1台の装置に様々な機能を組み込む複合化が進められ、複写機の内部に画像処理機能を有するプリンタコントローラを組み込み、1台で複写機とプリンタとの両方の機能を有する複合機が市場で発売されている。このような複合機には、ファクシミリ機能などが更に追加され多機能化が進んでいる。
【0004】
このような複合機はネットワークに接続されて使用されるのを想定しているため、様々なユーザーからの多様なユーザーニーズに対応できるような構成が求められる。これに応えるため、例えば、内部の各機能ユニット間を共通化されたバスによって接続し、様々なユーザーニーズに対応するため拡張性を持たせた複合機も提案されている。
共通化されたバスを各ユニットが占有することなく効率良くデータをやりとりするため、例えば、データ圧縮等でデータ量を減らす工夫がされている。
【0005】
このようなシステムにおいて、データ、特に画像データ等を転送する際は、CPUが直接関与しないDMAによる転送を行っている。このDMA転送は多くの場合、転送元の転送したいデータ量を検知し、転送先のメモリバッファの確保やDMA終了タイミングの発生等の制御処理を行っている。
【0006】
【発明が解決しようとする課題】
しかしながら、上記従来のシステムにおいて、データ圧縮して転送する場合には、圧縮手法またはデータの構成によって、圧縮率が一定とはならず、圧縮前のデータ量が同じファイルや画像データでも、圧縮後のデータ量が変わってしまう場合がある。例えば、プリンタコントローラユニットにて、ページ単位で作成される画像データなどは、各ページのデータ量が同じであっても、作成される画像によって、圧縮後にはページ毎にデータ量が変化してしまう。
【0007】
このように、圧縮が完了しないと転送データ量が不明なため、DMAによる転送を行う場合は、圧縮完了後にデータ量を検知し、転送先のメモリバッファを確保する等の制御処理を行った後、DMAを起動し転送を行っている。
【0008】
このような複合機内部に装着されるプリンタコントローラにおいて、展開画像を転送する際には、1ページ分の画像を展開後、続けて圧縮を行い、圧縮終了後にデータ量を検知しDMAを起動して1ページ分の圧縮データを転送し、この動作を各ページ毎に行うため、パフォーマンスの悪いシステムとなっていた。
【0009】
本発明は上記従来の問題点に鑑み、画像の展開と圧縮と転送を同時に行うことができ、パフォーマンスを向上させた画像処理装置等を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記目的を達成するために、本発明の画像処理装置では、画像を複数の領域に分割し、その分割された領域毎に画像を展開する画像展開手段と、前記各領域毎の展開画像を領域毎に転送する画像転送手段と、前記画像転送手段によって転送された画像データの圧縮を行う画像圧縮手段と、前記画像圧縮手段で圧縮された画像データを外部へ転送する外部転送手段とを備え、前記画像展開手段で画像を領域毎に展開しながら、その展開画像を順次前記画像転送手段で前記画像圧縮手段へ転送し、前記画像圧縮手段は、順次転送される分割された一連の複数領域の画像を、結合しながら圧縮することを特徴とする。
【0011】
本発明のプリントシステムでは、圧縮画像データを生成して転送する画像処理装置と、前記画像処理装置から転送された圧縮画像データに基づいてプリント出力処理を行うプリント出力処理装置とを備えたプリントシステムにおいて、前記画像処理装置は、画像を複数の領域に分割し、その分割された領域毎に画像を展開する画像展開手段と、前記各領域毎の展開画像を領域毎に転送する画像転送手段と、前記画像転送手段によって転送された画像データの圧縮を行う画像圧縮手段と、前記画像圧縮手段で圧縮された圧縮画像データを前記プリント出力処理装置へ転送するプリント転送手段とを備え、前記画像展開手段で画像を領域毎に展開しながら、その展開画像を順次前記画像転送手段で前記画像圧縮手段へ転送し、前記画像圧縮手段は、順次転送される分割された一連の複数領域の画像を、結合しながら圧縮することを特徴とする。
【0012】
本発明の画像処理装置の制御方法では、画像を複数の領域に分割し、その分割された領域毎に画像を展開しながら、その展開画像を順次転送する画像転送行程と、前記画像転送行程で順次転送される分割された一連の複数領域の画像を、結合しながら圧縮する画像圧縮行程と、前記画像圧縮行程で圧縮された画像データを外部へ転送する外部転送行程とを有することを特徴とする。
【0013】
本発明の制御プログラムでは、圧縮画像データを生成して転送する画像処理装置の制御方法を実行するための、コンピュータで読み取り可能な制御プログラムであって、画像を複数の領域に分割し、その分割された領域毎に画像を展開しながら、その展開画像を順次転送する画像転送ステップと、前記画像転送ステップで順次転送される分割された一連の複数領域の画像を、結合しながら圧縮する画像圧縮ステップと、前記画像圧縮ステップで圧縮された画像データを外部へ転送する外部転送ステップとを有することを特徴とする。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【0015】
[複合機の全体構成]
図1は、本発明の実施形態に係る複合機の全体構成を示す概略ブロック図である。
【0016】
本実施形態の複合機は、スキャナ、プリンタ及びファクシミリの機能を有し、同図において、101はページ記述言語で記述されたファイルに基づいて画像メモリにラスタイメージを展開するPDLユニットである。
【0017】
このPDLユニット101は、画像処理ユニットとして機能するものであり、ページ記述言語の制御プログラムをダウンロードできるように構成されている。所望するページ記述言語の制御プログラムをPDLユニット101にダウンロードすることによって、複数のページ記述言語に対応できる。
【0018】
これらの制御プログラムは、システムバス105に接続されるハードディスクユニット103に格納されており、マスタ制御ブロック106内のCPU115によって適宜選択され、PDLユニット101内のDMAコントローラによって、PDLユニット101に転送される。
【0019】
102はネットワークI/Fであって、ネットワーク107を介して不図示のホストコンピュータと、各種コマンドやプリントすべきページ記述言語ファイルの送受信を行う。104はFAXユニットであって、TELケーブル108を介して公衆回線109に接続された他のファクシミリ等と画像データの送受信を行う。106は各ユニット101〜104とスキャナユニット110、プリンタユニット111とを接続し制御するマスタ制御ブロックである。
【0020】
各ユニット101〜104はシステムバス105によって接続されている。このシステムバス105には、上述したユニット以外でも様々なユニットが接続できるようになっており、ユーザーニースに応じて、様々な機能を有する複合機を構成できる。
【0021】
なお、図中では別に示されているが、システムバス105と共に制御信号として、CLK112、REQ−P、GNT−P、REQ−N、GNT−N、REQ−HD、GNT−HD、REQ−F、GNT−Fが対応するユニットに接続される。
【0022】
CLK112は、マスタ制御ブロック106内のクロックジェネレータ117で発生され、PDLユニット101、ネットワークI/F102、バスアービタ113、ハードディスクユニット103、FAXユニット104、及びスキャナ/プリンタI/F118に供給されている。
【0023】
REQ−P、REQ−N、REQ−HD、REQ−Fは、それぞれPDLユニット101、ネットワークI/F102、ハードディスクユニット103、及びFAXユニット104から出力されるバス専有リクエスト信号であり、マスタ制御ブロック106内のバスアービタ113に入力される。
【0024】
バス専有リクエスト信号が入力されるバスアービタ113では、各ユニット101〜104がシステムバス105を所定期間以上独占することがないように、効率良く順次バス専有許可信号GNT−P、GNT−N、GNT−HD、GNT−Fを、それぞれPDLユニット101、ネットワークI/F102、ハードディスクユニット103、FAXユニット104に送信することによってシステムバス105の使用を許可する。これらバス専有許可信号GNT−P、GNT−N、GNT−HD、GNT−Fの発生については後述する。
【0025】
110、111はそれぞれスキャナユニット、プリンタユニットであり、ビデオI/F119を介して、マスタ制御ブロック106内のスキャナ/プリンタI/F118に接続されている。さらにスキャナ/プリンタI/F118及びシステムバス105は、PDLユニット101、ネットワークI/F102、ハードディスクユニット103、及びFAXユニット104に接続され、スキャナユニット110で読み取ったスキャン画像や、プリンタユニット111で記録すべきプリント画像の送受信を行う。
【0026】
ビデオI/F119内には、読み取った画像、もしくはプリントすべき画像の転送のための信号の他に、後述するSLEEP信号124、また、図示はしないが、スキャナ/プリンタI/F118とコマンドを送受信するためのコマンド通信信号も含まれている。
【0027】
マスタ制御ブロック106において、114はローカルバスであり、CPU115と、バスアービタ113、スキャナ/プリンタI/F118、及び操作部120をそれぞれ接続している。CPU115は、ROM/RAM121に格納される制御プログラムに基づいて、マスタ制御ブロック106内の各部を制御する。
【0028】
例えば、スキャナコマンドが発行された場合の動作の概略を説明する。ネットワーク107に接続された不図示のホストコンピュータよりスキャナコマンドが発行されると、ネットワークI/F102はコマンドを受け取り、バス専有リクエストREQ−Nをバスアービタ113に発行してバス専有を要求する。バスアービタ113は前述したように、バスを独占することがないように、効率良く順次、バス専有許可信号GNT−Nを発行する。
【0029】
ネットワークI/F102は、バス専有許可信号GNT−Nを受け取ることで、バスを確保し、スキャナ/プリンタI/F118にホストコンピュータより受け取ったコマンドを転送する。
【0030】
CPU115は、スキャナ/プリンタI/F118からコマンドを受けた通知を、例えば、図示はしないが、ローカルバス114内の割り込み信号によって受けると、ローカルバス114を介して、受け取ったコマンドを解釈し、さらにCPU115は、ビデオI/F119内のコマンド通信信号を介して、スキャナユニット110にコマンドを発行し、スキャナの起動をかける。また同時に、スキャン画像を転送すべくスキャナ/プリンタI/F118内のDMA制御回路122に起動をかける。
【0031】
スキャナユニット110は受け取ったコマンドにより、スキャンした画像をビデオI/F119を介しスキャナ/プリンタI/F118に転送する。スキャン画像を受け取ったスキャナ/プリンタI/F118内のDMA制御回路122は、バス専有リクエストREQ−Mをバスアービタ113に出力し、バスアービタ113は前述したように、バスを独占することがないように、効率良く順次、バス専有許可信号GNT−Mを発行することで、スキャナ/プリンタI/F118と、ネットワークI/F102間にバスを開放することによって、ネットワークI/F102にスキャナ画像をDMA転送し、さらにネットワーク107を介してホストコンピュータにスキャン画像を転送できる。
【0032】
[DMA転送手順]
図2(a)に、この時のDMAの様子を示したタイミング図を示す。
【0033】
すべての信号はCLK112に同期して動いている。また、システムバス105に含まれている。DMA制御回路122はDMAに起動がかかりスキャナユニット110から画像データが転送されると、▲1▼のタイミングで、REQ−Mを出力する。REQ−Mを受け取ったバスアービタ113は、各ユニットからのバス占有リクエストの調停を行った後、▲2▼のタイミングで、バス占有許可信号をGNT−Mを発行する。▲1▼から▲2▼のタイミングは、他のユニットとのバス占有の調停具合で、変動することもある。
【0034】
バス占有許可信号GNT−Mを受けたDMA制御回路122は、タイミング▲3▼にて、バス占有信号FRAMEXを出力し、他のユニットに自分が占有していることを通知する。同時にコマンド、及びアドレスを出力する。コマンドは、リードモード/ライトモードを転送先ユニットに通知するコマンドである。この場合、スキャナ/プリンタI/F118からネットワークI/Fユニット102への転送であるので、ライトモードを通知する。
【0035】
▲4▼のタイミングで、DMA制御回路122内に転送すべきデータの準備ができたことを通知するIRDYXを発行する。▲5▼のタイミングで、▲3▼のタイミングで出力されたアドレスからネットワークI/Fユニット102は、自分に対する転送が始まることを検知し、検知信号DEVSELXを出力する。同時にデータを受ける準備が完了していることを通知するTRDYX信号を発行する。
【0036】
DEVSELX、TRDYXを受けたDMA制御回路122は、CLK112の同期して、順次転送データを出力する。DMAで転送する際には、単位として、1ワード32bitのデータを8ワード単位で、すなわち32バイト単位で、図2(a)ようにD1からD8を転送単位としてバースト転送を行う。タイミング▲6▼で8ワード転送終了する。
【0037】
次のデータが再びスキャナユニット110から転送されると、再び、バス専有リクエストREQ−M(タイミング▲7▼)をバスアービタ113に出力し、これらを繰り返すことによってDMA転送を行っている。
【0038】
DMAの終了は、予め転送したいデータ量をセットしておき、その値に達した時にDMA制御回路122は、CPU115に対し割り込みをかけ、転送終了を通知し自らもDMAを終了する。
【0039】
以上説明したDMA転送手順は、すべてのユニットに当てはまる。
【0040】
上記の説明では、圧縮処理しないでスキャナユニット110でスキャンした画像をネットワークI/F102に転送する手段を説明したが、ホストコンピュータからのコマンドに応じて、圧縮伸張回路123にてスキャン画像を圧縮し、予めバッファとして確保しておいたRAM領域121に圧縮データとして確保しておいてからDMA転送できるようになっている。
【0041】
以上説明したように、スキャナ/プリンタI/F118内には、DMA制御回路122があり、CPU115によって、ローカルバス114より、その起動、停止等のコントロールができるようになっている。DMA制御回路122の起動により、ハードディスクユニット103に格納される制御プログラムや、ROM/RAM121に一時的に格納される通信データ、各種パラメータ、または圧縮画像データを、システムバス105に接続される各ユニットに高速に送信したり、また各ユニットからの通信データや各種パラメータを高速に受信できるようになっている。もちろん、CPU110は、DMA制御回路122を用いなくとも、各ユニットに直接アクセスすることもできる。
【0042】
本実施形態では、バスアービタ113と、スキャナ/プリンタI/F118は、同一のブロック内にあるため、バス専有リクエスト信号REQ−M及びバス専有許可信号GNT−Mは、システムバス105とは別個となっているが、構成に応じてシステムバス105と共に接続されてもよい。
【0043】
スキャナ/プリンタユニット110,111は、操作部120のコピーボタンにより、単独で複写機としての動作も可能である。
【0044】
[バスアービタ113の構成]
図3は、バスアービタ113の構成を示す内部ブロック図である。
【0045】
301はバス監視回路であり、システムバス105の使用状況を監視している。例えば、あるデバイスが、システムバス105を利用していることを検知した場合(バスbusyと称す)は、タイマリセット信号305がイネーブルとなりタイマ303はリセットされる。
【0046】
また、どのデバイスもシステムバス105を利用していないことを検知した場合(バスidle称す)には、タイマリセット信号305がディセーブルとなり、タイマ303が動作し始める。
【0047】
その後、ある時間が経過、すなわち、どのデバイスもシステムバス105を利用していない時間、すなわちバスidleがある程度経過した場合、Hit信号307により、CLKディセーブルをSLEEP回路304に通知し、さらに、どのデバイスもシステムバス105を利用していない時間、バスidleがある程度経過した場合、Hit信号307により、SLEEP回路304に対し、SLEEPが通知される。
【0048】
タイマは図示はしないが、ローカルバス114に接続されおり、CLKディセーブルのタイミングとSLEEPのタイミングをCPU115よりプログラマブルに設定できる。
【0049】
SLEEP回路304は、Hit信号307によりCLKディセーブル通知を受け取ると、信号CLKEN116をディセーブルにして、クロックジェネレータ117に通知する。クロックジェネレータ117は、信号CLKEN116がディセーブルになると、CLK112の供給を止め、論理レベルをHighに保つようになっている。この状態をスタンバイ状態と称する。CLK112の論理レベルHighによって、各ユニットに対し、マスタ制御ブロック106がスタンバイ状態にあることを通知する。
【0050】
このようにして、システムバス105のバスidleが続いた場合、クロックをHighの状態で止めてスタンバイ状態とし、消費電力を抑えるようにしている。さらにシステムバス105のバスidleの状態で時間が経過し、Hit信号307によりSLEEP通知を受け取ると、信号SLEEP124をイネーブルにして、CPU115、またスキャナユニット110及びプリンタユニット111に対し、SLEEPを通知する。
【0051】
SLEEPを通知されたCPU110は、マスタ制御ブロック106内のバスアービタ113を除くすべてのブロックに対し、電源をOFFにするための手続き(シャットダウンプロセスと称す)を実行させる。クロックジェネレータ117に対しては、CLK112の論理レベルをLowにする。また同様にスキャナユニット110、プリンタユニット111に対しても、ビデオI/Fを介してシャットダウンプロセスを実行させ、マスタ制御ブロック106内のバスアービタ113及びCPU115を除くすべてのブロックの電源がOFFにされる。その後、CPU115も低消費電力モードに移行する。この状態をスリープ状態と称する。CLK112の論理レベルLowによって、各ユニットに対し、マスタ制御ブロック106がスリープ状態にあることを通知する。
【0052】
このようにして、システムバス114のバスidleがさらに続いた場合、クロックをLowの状態で止めて、スリープ状態とし、消費電力を抑えるようにしている。
【0053】
スタンバイ状態及びスリープ状態の解除は、アービトレーション回路302に対して、システムバス105の専有要求信号REQ−P、REQ−N、REQ−HD、REQ−F、及びREQ−Mのいずれかが発行することによって行われる。
【0054】
この場合、解除信号306がSLEEP回路304に送られ、SLEEP回路304では、スタンバイ状態の場合には、CLKEN116をイネーブルにし、クロックジェネレータ117から直ちにクロックを供給できる様にする。また、スリープ状態の時には、CLKEN116をイネーブルにし、かつ、SLEEP124をディセーブルにする。
【0055】
CPU115は、SLEEP124のディセーブルを通知されると、スリープモードから通常モードに戻り、各ブロックに電源の供給を開始し、初期化動作を行う。スキャナユニット110及びプリンタユニット111も同様に、SLEEP124のディセーブルの通知から電源が供給され、初期化が行われる。
【0056】
CPU110はすべての初期化が完了したことを検知すると、クロックジェネレータ117に対して、クロックを供給するようにプログラムを行う(以上スタートアッププログラムと称す)。
【0057】
[PDLユニット101の構成]
図4は、PDLユニット101の構成を示す概略ブロック図である。
【0058】
PDLユニット101は、ページ記述言語を受け取り、それに基づいて画像を展開するという機能を有している。
【0059】
そのCPU601はローカルバス602を介して、PDLユニット101全体の制御を司り、RAM603は、CPU601が実行する制御プログラムを格納している。ここに格納される制御プログラムによって、各種のページ記述言語に対応できる。例えば、PSの制御プログラムが格納されていれば、PS用のPDLユニット101になり、LIPSの制御プログラムが格納されていれば、LIPS用のPDLユニット101になる。
【0060】
これらの制御プログラムは、システム全体の立ち上げ時に、初期の設定が決められており、設定によって決められたプログラムコードがダウンロードされる。もちろん、ユーザーニーズに応じて、PS、LIPSが選択できる。
【0061】
また、PDLユニット101の資源に関する情報、例えば、搭載されているCPUのパフォーマンスや、メモリ603の容量等をコンフィギュレーション情報等から入手し、その情報に基づいてダウンロードする制御プログラムを選択するようにしてもよい。
【0062】
例えば、PDLユニット101において、CPU601の性能によりLIPSよりPSの方が画像を展開する能力が高い場合や、また、ネットワーク107に接続されるユーザーから送信されるファイルが、ページ記述言語としてPSを使用したものが多い場合、能力の高い方のPSの制御プログラムをPDLユニット101にダウンロードすることによって、利用する多い方のユーザーの便宜を図ることができる。
【0063】
さらに、上述したように、PSプログラムコードがダウンロードされている場合でも、例えば、LIPSで記述されたドキュメントファイルを、プリントしたいユーザーがいた場合、ドキュメントをプリントしようするユーザーからのコマンドにより、PDLユニット101に対して、必要な制御プログラムをダウンロードすることができる。
【0064】
これらのプログラムコードは、ハードディスクユニット103に予め格納されており、マスタ制御ブロック106内のCPU115の制御に基づいてハードディスクユニット103のDMAを起動し、REQ−HD出力、GNT−HDを受けるなどの一連の動作から、バスを獲得し、システムバス105を経由して、バスI/F607及びローカルバス602を介して、RAM603に転送される。
【0065】
ワークRAM605は、各種のパラメータ情報を格納すると共に、CPU601のワークエリアとしても機能する。ASIC604は、ページ記述言語で記述されたファイルに基づいて画像メモリ606にラスタイメージ画像を展開する機能、及び展開した画像を画像圧縮回路612へ、ローカルバス602を介してDMA転送する機能を有している。
【0066】
607はバスI/Fであり、システムバス105とローカルバス602のインターフェースを行い、またその内部にはDMA制御回路609があり、CPU601を介さず直接メモリワークRAM605、及び画像メモリ606、もしくはハードディスクユニット103から、システムバス105を介してデータを送受信できる。また、展開画像を圧縮しながら転送するための画像圧縮回路612も内蔵されており、圧縮された画像は、DMA制御回路609によって、スキャナ/プリンタI/F118に転送できる。
【0067】
制御信号RES611は、マスタ制御ブロック106内のCPU115からのコマンドによって、バスI/F607より出力される。リセット制御信号RES611が、CPU601のリセット端子に入力されると、CPU601はリセットされ、リセット制御信号RES511がイネーブル状態の間は、CPU601はホールド状態となり、ローカルバス602に接続される信号がハイインピーダンス状態となる。
【0068】
CPU115は、制御プログラムダウンロード時に、コマンドによってリセット制御信号RES611をイネーブルにして、ハードディスクユニット103のDMAを起動し、RAM603に必要な制御プログラムをシステムバス105及びローカルバス602を介してダウンロードする。そして、ダウンロード後に、コマンドによってリセット制御信号RES611をイネーブルからディセーブルにし、CPU601のリセットを解除してCPU601をスタートさせる。
【0069】
608はCLK検知回路であり、CLK112が供給されているかどうか、及びその論理レベルがHighかLowかを検知できる。
【0070】
次に、PDLユニット101の動作について説明する。
【0071】
ネットワークI/F102によって受け取られたページ記述言語によって記述されたドキュメントファイルは、前述したように、システムバス105及びバスI/F607を経由して転送され、ワークRAM605に一時格納される。
【0072】
CPU601は、ワークRAM605に一時格納されているページ記述言語データを参照し、ASIC604が利用できる中間言語に変換して、再びワークRAM605に順次格納していく。
【0073】
CPU601は、1ページ分の中間言語への変換処理が終了すると、ASIC604に対して画像展開開始コマンドを送り、ASIC604はワークRAM605に格納されている中間言語を参照しながら高速に画像メモリ606へラスタイメージ画像の展開を行う。
【0074】
本実施形態では、ASIC604によるラスタイメージ画像への展開処理(レンダリング処理)、及び転送処理は、バンド単位で処理することによって小さな画像メモリで、高速にレンダリング処理を行い、かつ圧縮しながら画像転送することを可能にしている。
【0075】
また、画像データを圧縮することによって、PDLユニット101からのデータ転送時おいて、システムバス105のバス占有率を小さくすることによって、システム全体のパフォーマンスを上げる工夫をしている。
【0076】
[本実施形態の特徴を成す動作]
図5は、本実施形態の特徴である、PDLユニット101におけるレンダリング、転送、及び圧縮処理を示すタイミング処理図である。なお、この図5のタイミング処理図に従った動作を行うためのプログラムをPDLユニット101内のRAM603に格納し動作することにより、以下の制御方法を実現させることが可能となる。
【0077】
同図に示すように、PDLユニット101では、1ページの画像データを5つの領域に分割し、それぞれの分割領域を画像メモリ606のα、βの領域を交互に使いながら、レンダリング処理を行いながら画像圧縮回路612に転送を同時に行っている。以下、具体的に説明する。
【0078】
CPU601からの画像展開開始コマンドを受けると、これに応答してASIC604は、ワークRAM605に格納されている中間言語データを参照しながら、高速に画像メモリ606のα側領域へラスタイメージ画像の展開処理(レンダリング処理)を行う。
【0079】
また、CPU601は、同時に引き続き次ページの中間言語データへの変換処理を行い、ワークRAM605に順次格納していく。このとき、CPU601とASIC604によって、ローカルバス602を介して同時にワークRAM605へのアクセスが発生しないように、図示はしていないが、ASIC604に内蔵しているローカルバス602獲得のための調停回路(アービトレーション回路)によって調停を行っている。
【0080】
画像メモリ606のα領域へのバンド1のレンダリングが終了すると、ASIC604は、割り込み信号(INT)610をCPU601に対して発生させ、イベントの発生を通知する。CPU601は、割り込みを検知すると、ASIC604内の図示はしないが、イベントレジスタをアクセスし、イベントの内容を検知する。本実施形態では、ASIC604からの割り込み信号(INT)610のイベントの種類として、レンダリング終了や、画像圧縮回路612への画像転送を行っているDMAの終了がある。
【0081】
CPU601は、バンド1のレンダリング終了を検知すると、ASIC604内のDMA制御回路613に起動をかけ、バンド1、すなわち画像メモリ606のα領域に展開されたレンダリング画像の画像圧縮回路612への転送を指示する。また同時に、画像圧縮回路612に圧縮のためのパラメータや、圧縮のための学習メモリのクリア等を行い圧縮回路612に起動をかける。
【0082】
また、CPU601は、バスI/F607に対し、システムバス105の専有要求信号REQ−Pを発行させる。同時にCLK検知回路608によってCLK112の状態を検知する。この時、例えば、CLK112の論理レベルがHighであると検知されると、マスタ制御ブロック106、スキャナユニット110及びプリンタユニット111がスタンバイ状態であることが判る。この場合、CPU601は、バスI/F607内のDMA制御回路609に対して転送コマンドや、転送先アドレス、転送バイト数を設定し、圧縮画像を、システムバス105を介してスキャナ/プリンタI/F118へ転送するように準備をする。
【0083】
この時、すでに専有要求信号REQ−Pを発行しているので、バスアービタ113から送られるCLKEN116、及びクロックジェネレータ117より直ちにCLK112の供給が開始される。また、DMA制御回路609は、バス専有許可信号GNT−Pをバスアービタ113より受け取ると、スキャナ/プリンタI/F118への圧縮データの転送を開始する。
【0084】
CPU601は、続いて画像メモリ606のβ領域へのバンド2のレンダリングをASIC604に指示し、割り込み信号によるイベントを待機する。例えば、先にバンド2に対応するβ領域へのレンダリング終了イベントを検知し、バンド1の転送終了イベントがまだ検知されない場合は、画像メモリ606のα領域がまだ転送中であるため、バンド1の転送終了イベント発生を待つ。バンド1のα領域の転送終了イベントが発生すると、CPU601は、画像メモリ606のα領域にバンド3のレンダリングをASIC604に指示し、同時にDMA制御回路613に起動をかけ、バンド2に対応するβ領域へのレンダリングされた画像の画像圧縮回路612への転送を指示する。再び、割り込み信号によるイベントを待機する。
【0085】
処理が進み、例えば、先にバンド2に対応するβ領域のレンダリング画像のDMA転送終了イベントを検知し、バンド3に対応するα領域のレンダリングが終了イベントが検知されない場合は、画像メモリ606のα領域がまだレンダリング中であるので、バンド3のレンダリング終了イベントを待つ。バンド3に対応するα領域のレンダリング終了イベントが発生すると、CPU601は、ASIC604内のDMA制御回路613に起動をかけバンド3に対応するα領域のレンダリングされた画像の画像圧縮回路612への転送を指示し、同時にバンド4に対応するβ領域へのレンダリングを指示する。
【0086】
以上のように、画像メモリ606のα領域、β領域に対し順次繰り返しレンダリング、DMA転送を行い、バンド5に対応するα領域のレンダリング画像の転送終了イベントを検知することで、1ページ分のレンダリング画像につき圧縮回路612への転送を終了する。また後述するが、イベント割り込み(INT)614により、1ページの圧縮の終了を検知する。
【0087】
このように、レンダリングと圧縮を同時に行いながら、圧縮データをスキャナ/プリンタI/F118に転送し、一時的にマスタ制御ブロック106のメモリ121に格納する。
【0088】
この時の圧縮の単位は、1ページを5分割したバンド毎ではなく、1ページ単位に圧縮が行われる。これは、バンド単位の場合、それぞれのバンド毎にパラメータの設定や、圧縮に用いる学習メモリのクリア等が必要になったり、また、圧縮後、小さい容量の圧縮画像データファイルが多数生成され、管理が複雑になるためである。
【0089】
圧縮データのデータ量、すなわちマスタ制御ブロック106のメモリ121へ転送されるデータ量は、画像データによって変動するため、不明である。しかしながら、メモリ121内においてバッファ領域を確保する必要があり、ある決められた値の領域、例えば、256Kバイトを、マスタ制御ブロック106内のCPU115は確保する。すなわちDMAによる圧縮データの転送量は256Kバイトが設定され、256Kバイト転送されたところで、DMAが停止するようにする。DMAが停止すると、イベント割り込み(INT)614にてCPU601に割り込みで通知される。
【0090】
CPU601は、イベント割り込み(INT)614を受けると、図示はしないがバスI/F607内のイベントレジスタを参照しイベントを検知する。イベントの種類は、前述したようにDMAの停止、画像データ圧縮の終了、及びマスタ制御ブロック106内CPU115との通信のための割り込みイベントがある。
【0091】
例えば、CPU601は、イベントを参照した後、DMA停止の場合にはマスタ制御ブロック106内のCPU115に対し、再び256Kバイトの確保を指示し、DMA制御回路609に転送バイト数256Kバイトを設定し起動をかける。圧縮動作は終了していないので、DMA起動によって圧縮データの転送が引き続き再開される。
【0092】
CPU601は、再びイベント割り込み(INT)614の割り込みを受けると、図示はしないがバスI/F607内のイベントレジスタを参照しイベントを検知する。例えば、イベントが、画像データ圧縮終了の場合は、DMA制御回路609を停止し、マスタ制御ブロック106内のCPU115との通信により、画像データ圧縮終了を通知する。
【0093】
図2(a)にて説明したように、システムバス105を占有するDMAの転送単位は、8ワード(32バイト)単位であり、この単位の繰り返しで最も効率良く転送を行っている。しかしながら、圧縮データ量は、画像により変動するため、必ずしも8ワード(32バイト)単位で転送終了することはできない。DMA制御回路609は、最後の転送単位が、8ワードに満たない場合、例えば、圧縮データの終端コードを繰り返すことによって、8ワード単位のデータを作成し、最後まで効率良くデータ転送する工夫をしている。図2(b)のWにその様子を示す。圧縮データとしては、終端コード以下のデータは無視されるので、必ずしも終端コードでなくてもよい。
【0094】
図5に示すように例えば、2回のDMAの結果、圧縮後のデータ量が、1回目に256Kバイト、2回目に200Kバイトの場合、合計456Kバイトとなり、ページ画像が、600dpiA4版白黒1ページの場合4Mバイトとなるので、圧縮率約11%となる。また、図5において、縦が時間軸とすると、レンダリング、圧縮、転送が、同時に行われているため、パフォーマンスを有利にすることができる。
【0095】
以上のようにレンダリングをバンド単位、圧縮をページ単位に処理することによって効率良く画像圧縮が行える。
【0096】
マスタ制御ブロック106のメモリ121に格納された圧縮データは、プリントする際に、圧縮伸張回路123によって元の画像に伸張され、プリンタユニット111にて画像を得るようになっている。また、例えばハードディスクユニット103に一時格納される場合は、そのまま転送され格納される。
【0097】
[システム立ち上げ時の動作]
以下、図6のフローチャートを参照して、システム立ち上げ時の動作、及びダウンロードされる制御ファイルを選択する場合の動作を説明する。
【0098】
ステップS801において、予め入力されているシステム初期設定をロードする。これらは例えば、ハードディスクユニット103等に格納されている。ここでは、PDLユニット101にLIPSの制御プログラムをロードする初期設定となっているものと想定する。これらは、ユーザーによって適宜変更できる。
【0099】
ステップS802において、PDLユニット101内のRES611をイネーブルにし、CPU601をホールド状態とする。ステップS803においては、DMA制御回路609を起動し、ハードディスクユニット103に格納されているPDLユニット101に必要な制御プログラムのダウンロードを開始する。ここでは、例えばPDLユニット101にLIPS制御プログラムがダウンロードされる。
【0100】
ステップS804において、ダウンロード終了を検知すると、ステップS805において、PDLユニット101内のRES611をディセーブルにする。これにより、PDLユニット101のCPU601のホールド状態が解除され、プログラムに従って起動される。
【0101】
ステップS806において、起動された後に最初に行う通信により、PDLユニット101のパフォーマンスに関する情報として、資源に関する情報、例えば、搭載されているCPUの能力やメモリの容量等を検知する。
【0102】
ステップS807において、ネットワークI/F102へ、取得したPDLユニット101のパフォーマンスに関する情報を通知する。ネットワークI/F102は、この情報をネットワーク107に接続される図示しないホストコンピュータに通知する。ホストコンピュータは、情報に基づいて、ネットワーク107に接続されるシステムを選択することで、効率良くプリントできる。また必要に応じてコマンドを発行する。
【0103】
ステップS808において、マスタ制御ブロック106内のCPU115は、ネットワークI/F102からのコマンドを待ち、ステップS809にて、受信したコマンドに対する処理、例えば、新たな制御プログラムのダウンロード等の処理を行う。
【0104】
[FAXユニット104の構成]
図7は、FAXユニット104の構成を示す概略ブロック図である。
【0105】
404はCPUであり、ローカルバス402を介してFAXユニット104全体の制御を行っている。FAX回路403は、公衆回線109及びTELケーブル108を介した送受信を制御し、受信したデータからメモリ405に対して、メモリ制御バス410によって直接描画を行ったり、メモリ405に送られ格納されているスキャン画像を、圧縮し公衆回線109に送信する回路である。
【0106】
メモリ405に格納されるスキャン画像は、スキャナユニット110からスキャナ/プリンタI/F118、及びシステムバス105を経由して、バスI/F408、及びローカルバス402を介してメモリ405に送られて格納される。401はハードディスクであり、メモリ405に展開、描画された画像を一時格納するために用いる。
【0107】
送信先の電話番号の登録や、スタートボタンにより動作を開始させるなど、外部からの操作は、マスタ制御ブロック106に接続されている操作部120によって行うことができ、入力されたコマンドもしくはデータは、ローカルバス114を介してCPU115によって解釈され、DMA制御回路122もしくはCPU115によって、スキャナ/プリンタI/F118、及びシステムバス105を通じて、FAXユニット104に転送される。
【0108】
408はバスI/Fであり、システムバス105とローカルバス402とのインターフェースを行い、またその内部にはDMA制御回路407があり、CPU404を介さず直接メモリ405からシステムバス105にデータを転送したり、受信したりできる。
【0109】
406はCLK検知回路であり、CLK112が供給されているかどうかを検知すると共に、その論理レベルがHighかLowかを検知できる。すなわち、マスタ制御ブロック106が、スリープ状態なのかスタンバイ状態なのかを、CLK112の状態から検知できる。
【0110】
次に、FAXユニット104の動作について、例えば、FAX文書を受信し、スキャナ/プリンタユニット113にてプリント出力を得る場合を例に挙げて、以下に説明する。
【0111】
FAX回路403は、公衆回線109及びTELケーブル108を介してデータを受信するが、多くの場合は圧縮されたデータであるため、受信したデータを伸長しながらメモリ制御バス410からメモリ405に直接画像を描画していく。同時に、CPU404はローカルバス402内のFAX回路403からの割り込み信号により受信を検知し、バスI/F408に対してシステムバス105の専有要求信号REQ−Fを発行させ、CLK検知回路406にてCLK112の検知を行う。
【0112】
例えば、CLK112の論理レベルがLowであることが検知されると、マスタ制御ブロック106、スキャナユニット110、及びプリンタユニット111がSLEEP状態であることがわかる。この時、すでに専有要求信号REQ−Fを発行しているので、マスタ制御ブロック106、スキャナユニット110、及びプリンタユニット111では前述のスタートアッププログラムが動作中である。
【0113】
スタートアッププログラムは各ブロックの初期化等を行うため、スタートアッププログラムが終了するまでには時間がかかり、CLK112が供給されるまで、メモリ405に展開された画像が転送待ち状態となるため、次の画像の受信障害となってしまう。これを防ぐために、CPU404は、CLK検知回路406にてCLK112の論理レベルがLowであると検知すると、メモリ405に格納されている受信し展開した画像データを、一時ハードディスク401に待避させ、次画像の受信の妨げとなるのを防止する。
【0114】
CLK検知回路406によってCLK112が供給されているのを検知すると、CPU404は、バスI/F408内のDMA制御回路407に対し、転送コマンドを送り、バスアービタ113からのバス専有専有許可信号GNT−Fの発行を待つ。
【0115】
バス専有専有許可信号GNT−Fを受け取ると、DMA制御回路407は、ハードディスク401に一時格納していた受信画像を、ローカルバス402及びシステムバス105を介して、スキャナ/プリンタI/F118に転送する。これにより、プリンタユニット111から画像を得る。
【0116】
このように、CLK112の状態から、マスタ制御ブロック106、スキャナユニット110、及びプリンタユニット111のSLEEPの状態を検知し、SLEEP状態のときは、FAXユニット104の内部処理により受信画像を待避させ、次の画像の受信を行えるようにして、処理の効率化を図っている。
【0117】
[ネットワークI/F102の構成]
図8は、ネットワークI/F102の構成を示す概略ブロック図である。
【0118】
501はCPUであり、ローカルバス507を介してネットワークI/F102全体の制御を司っている。502はネットワーク回路であり、ネットワーク107のプロトコルを自動制御する。503はメモリであり、ネットワーク107に接続される不図示のホストコンピュータより、ネットワーク回路502を介して転送されるPDLファイルや画像データを一時格納するメモリである。
【0119】
504はバスI/Fであり、システムバス105とローカルバス507のインターフェースを行い、またその内部にはDMA制御回路505があり、CPU501を介さずメモリ503から直接、システムバス105に対してデータの送受信ができる。また、506はCLK検知回路であり、CLK112が供給されているかを検知し、また、論理レベルがHighか、Lowかを検知することができる。
【0120】
次に、ネットワークI/F102の動作を、ネットワーク107に接続された外部のホストコンピュータから送信されたデータに従ってプリント出力を得る場合を例に挙げて、説明する。
【0121】
不図示のホストコンピュータは、編集されたドキュメントを、ページ記述言語で記述されたファイルに変換し、ネットワーク107を介して、ネットワークI/F102に転送する。送付されたページ記述言語によって記述された画像ファイルは、ネットワーク回路502により受け取られ、CPU501を介して、メモリ503に一時的に格納される。
【0122】
ファイルを受け取ると、CPU501は、バスI/F504に対し、システムバス105の専有要求信号REQ−Nを発行させる。同時にCLK検知回路506にてCLK112の検知を行う。
【0123】
例えば、CLK112の論理レベルがHighであると検知された場合、マスタ制御ブロック106、スキャナユニット110、プリンタユニット111及びスタンバイ状態であることが判る。
【0124】
CPU501は、バスI/F504内のDMA制御回路505に対し、転送コマンドを送り、メモリ503に一時格納していたページ記述言語によって記述された画像ファイルを、システムバス105を介して、例えば、PDLユニット101へ転送するよう準備する。この時、すでに専有要求信号REQ−Fを発行しているので、バスアービタ113からのCLKEN116を受けてクロックジェネレータ117より直ちにCLK112の供給が開始される。また、バス専有許可信号GNT−Nをバスアービタ113より受け取るとDMA制御回路505は、転送を開始する。そして、PDLユニット101にて展開された画像は、スキャナ/プリンタI/F118を介してプリンタユニット111に転送されて記録が行われる。
【0125】
このようにCLK112の状態から、マスタ制御ブロック106、スキャナユニット110、及びプリンタユニット111の状態が検知され、スタンバイ状態であれば、システムバス105を用いたファイル転送を順次進めるようにして、処理の効率化を図っている。
【0126】
本発明は、上述した実施形態の装置に限定されず、複数の機器から構成されるシステムに適用しても、1つの機器から成る装置に適用してもよい。前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体をシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、完成されることは言うまでもない。
【0127】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMを用いることができる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0128】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、次のプログラムコードの指示に基づき、その拡張機能を拡張ボードや拡張ユニットに備わるCPUなどが処理を行って実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0129】
【発明の効果】
以上詳細に説明したように本発明によれば、画像の展開と圧縮と転送を同時に行うことができ、装置またはシステムのパフォーマンスを向上させることが可能になる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る複合機の全体構成を示す概略ブロック図である。
【図2】DMAの様子を示したタイミング図である。
【図3】バスアービタ113の構成を示す内部ブロック図である。
【図4】PDLユニット101の構成を示す概略ブロック図である。
【図5】実施形態に係るレンダリング、転送、及び圧縮処理を示すタイミング処理図である。
【図6】システム立ち上げ時の動作等を示すフローチャートである。
【図7】FAXユニット104の構成を示す概略ブロック図である。
【図8】ネットワークI/F102の構成を示す概略ブロック図である。
【符号の説明】
101 PDLユニット
103 ハードディスク
105 システムバス
106 マスタ制御ブロック
107 ネットワーク
110 スキャナユニット
111 プリンタユニット
112 CLK
115 CPU
118 スキャナ/プリンタI/F
601 CPU
603 RAM
604 ASIC
605 ワークRAM
606 画像メモリ
608 CLK検知回路
609 DMA制御回路
612 画像圧縮回路[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing apparatus and the like that generates compressed image data and transfers the generated image data to a printer or the like.
[0002]
[Prior art]
In recent years, in order to share the resources of various electronic devices used in offices and the like, these devices have been connected via a network. For example, a conventional printer is generally a local printer connected to one device, but is increasingly used as a network printer shared by devices in a network.
[0003]
In recent years, a multifunction printer that incorporates various functions into one apparatus has been developed, and a printer controller having an image processing function has been incorporated in a copier, and a multifunction printer having both functions of a copier and a printer has been installed. Machine is on the market. Facsimile functions and the like have been further added to such multifunction peripherals, and multifunction has been advanced.
[0004]
Since it is assumed that such a multifunction peripheral is used while being connected to a network, a configuration capable of responding to various user needs from various users is required. In order to respond to this, for example, there has been proposed a multifunction peripheral in which internal functional units are connected by a shared bus, and expandability is provided to meet various user needs.
In order to exchange data efficiently without each unit occupying the shared bus, a device for reducing the amount of data by, for example, data compression or the like has been devised.
[0005]
In such a system, when transferring data, particularly image data, etc., the transfer is performed by DMA without directly involving the CPU. In many cases, the DMA transfer detects the amount of data to be transferred from a transfer source and performs control processing such as securing a memory buffer at a transfer destination and generating a DMA end timing.
[0006]
[Problems to be solved by the invention]
However, in the above-described conventional system, when data is compressed and transferred, the compression ratio is not constant due to the compression method or the data configuration. Data amount may change. For example, in the printer controller unit, even if the data amount of each page is the same, the data amount of each page changes after compression depending on the image to be created even if the data amount of each page is the same. .
[0007]
As described above, since the transfer data amount is unknown unless the compression is completed, when performing the transfer by the DMA, after performing the control processing such as detecting the data amount after the completion of the compression and securing the memory buffer of the transfer destination, , DMA is activated to perform the transfer.
[0008]
In a printer controller mounted inside such a multifunction device, when transferring a developed image, after decompressing one page of image, compression is continuously performed, and after completion of compression, the data amount is detected and DMA is started. Thus, since the compressed data for one page is transferred and this operation is performed for each page, the system has a poor performance.
[0009]
SUMMARY OF THE INVENTION The present invention has been made in consideration of the above-described conventional problems, and has as its object to provide an image processing apparatus and the like that can perform image expansion, compression, and transfer at the same time and have improved performance.
[0010]
[Means for Solving the Problems]
In order to achieve the above object, an image processing apparatus of the present invention divides an image into a plurality of regions, and develops an image for each of the divided regions. Image transfer means for transferring the image data transferred by the image transfer means, and an external transfer means for transferring the image data compressed by the image compression means to the outside, While the image is expanded for each region by the image expanding unit, the expanded image is sequentially transferred to the image compressing unit by the image transfer unit, and the image compressing unit is configured to sequentially transfer a plurality of divided regions into a plurality of regions. The image is compressed while being combined.
[0011]
A print system according to the present invention includes an image processing apparatus that generates and transfers compressed image data, and a print output processing apparatus that performs print output processing based on the compressed image data transferred from the image processing apparatus. In the image processing apparatus, the image processing device divides an image into a plurality of regions, and develops an image for each of the divided regions, and an image transfer unit that transfers a developed image for each of the regions to each region An image compression unit for compressing the image data transferred by the image transfer unit; and a print transfer unit for transferring the compressed image data compressed by the image compression unit to the print output processing device, While the image is expanded for each region by the means, the developed image is sequentially transferred to the image compression means by the image transfer means, and the image compression means An image of the divided series of multiple regions are sequentially transferred, and wherein the compressing while bonding.
[0012]
In the control method of the image processing apparatus of the present invention, an image is divided into a plurality of areas, and while the image is developed for each of the divided areas, an image transfer step of sequentially transferring the developed image is performed. An image compression step of compressing a series of images in a plurality of regions that are sequentially transferred while combining the images, and an external transfer step of transferring the image data compressed in the image compression step to the outside. I do.
[0013]
A control program according to the present invention is a computer-readable control program for executing a control method of an image processing apparatus that generates and transfers compressed image data, and divides an image into a plurality of areas, Image transfer step of sequentially transferring the developed image while expanding the image for each of the divided areas, and image compression for compressing while combining a series of images of a plurality of areas sequentially transferred in the image transfer step. And an external transfer step of transferring the image data compressed in the image compression step to the outside.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0015]
[Overall configuration of MFP]
FIG. 1 is a schematic block diagram illustrating an overall configuration of a multifunction peripheral according to an embodiment of the present invention.
[0016]
The multifunction peripheral of this embodiment has functions of a scanner, a printer, and a facsimile. In FIG. 1,
[0017]
The
[0018]
These control programs are stored in the
[0019]
A network I /
[0020]
Each of the
[0021]
Although shown separately in the figure, together with the
[0022]
The
[0023]
REQ-P, REQ-N, REQ-HD, and REQ-F are bus exclusive request signals output from the
[0024]
In the
[0025]
[0026]
In the video I /
[0027]
In the
[0028]
For example, an outline of the operation when a scanner command is issued will be described. When a scanner command is issued from a host computer (not shown) connected to the
[0029]
The network I /
[0030]
When receiving a notification from the scanner / printer I /
[0031]
The
[0032]
[DMA transfer procedure]
FIG. 2A is a timing chart showing the state of the DMA at this time.
[0033]
All signals are running in synchronization with CLK112. It is also included in the
[0034]
Upon receiving the bus occupation permission signal GNT-M, the DMA control circuit 122 outputs the bus occupation signal FRAMEX at timing {circle around (3)}, and notifies other units that they are occupied. At the same time, a command and an address are output. The command is a command for notifying the transfer destination unit of the read mode / write mode. In this case, since the transfer is from the scanner / printer I /
[0035]
At the timing of {circle around (4)}, IRDYX notifying that the data to be transferred is ready in the DMA control circuit 122 is issued. At the timing of (5), the network I /
[0036]
The DMA control circuit 122 that has received DEVSELX and TRDYX sequentially outputs transfer data in synchronization with CLK112. At the time of DMA transfer, burst transfer is performed in units of 32 words per word in units of 8 words, that is, in units of 32 bytes, using D1 to D8 as transfer units as shown in FIG. At timing (6), the eight-word transfer ends.
[0037]
When the next data is transferred again from the
[0038]
To end the DMA, the amount of data to be transferred is set in advance, and when the amount reaches the value, the DMA control circuit 122 interrupts the
[0039]
The DMA transfer procedure described above applies to all units.
[0040]
In the above description, means for transferring an image scanned by the
[0041]
As described above, the DMA control circuit 122 is provided in the scanner / printer I /
[0042]
In the present embodiment, since the
[0043]
The scanner /
[0044]
[Configuration of Bus Arbiter 113]
FIG. 3 is an internal block diagram showing the configuration of the
[0045]
[0046]
When it is detected that no device uses the system bus 105 (referred to as a bus idle), the
[0047]
After that, when a certain time elapses, that is, when no device uses the
[0048]
Although not shown, the timer is connected to the
[0049]
When receiving the CLK disable notification by the Hit signal 307, the
[0050]
In this manner, when the bus idle of the
[0051]
The
[0052]
In this way, when the bus idle of the
[0053]
The release of the standby state and the sleep state is that any one of the exclusive request signals REQ-P, REQ-N, REQ-HD, REQ-F, and REQ-M of the
[0054]
In this case, the release signal 306 is sent to the
[0055]
When notified that the
[0056]
When detecting that all the initializations have been completed, the
[0057]
[Configuration of PDL unit 101]
FIG. 4 is a schematic block diagram showing the configuration of the
[0058]
The
[0059]
The
[0060]
Initial settings of these control programs are determined when the entire system is started up, and the program codes determined by the settings are downloaded. Of course, PS and LIPS can be selected according to user needs.
[0061]
Further, information on the resources of the
[0062]
For example, in the
[0063]
Further, as described above, even if the PS program code has been downloaded, for example, if there is a user who wants to print a document file described in LIPS, the
[0064]
These program codes are stored in the
[0065]
The
[0066]
[0067]
The
[0068]
When downloading the control program, the
[0069]
[0070]
Next, the operation of the
[0071]
The document file described in the page description language received by the network I /
[0072]
The
[0073]
When the conversion processing into the intermediate language for one page is completed, the
[0074]
In the present embodiment, the rasterization image development processing (rendering processing) and transfer processing by the
[0075]
Further, by compressing the image data, the bus occupancy of the
[0076]
[Operations Characterizing the Present Embodiment]
FIG. 5 is a timing processing diagram illustrating rendering, transfer, and compression processing in the
[0077]
As shown in the drawing, the
[0078]
Upon receiving the image development start command from the
[0079]
Further, the
[0080]
When the rendering of the band 1 in the α area of the image memory 606 ends, the
[0081]
When the
[0082]
Further, the
[0083]
At this time, since the exclusive request signal REQ-P has already been issued, the supply of CLK112 from the
[0084]
Next, the
[0085]
The process proceeds, for example, first, the DMA transfer end event of the rendering image of the β area corresponding to
[0086]
As described above, rendering and DMA transfer are sequentially and repeatedly performed on the α area and the β area of the image memory 606, and by detecting the transfer end event of the rendering image of the α area corresponding to the
[0087]
In this way, the compressed data is transferred to the scanner / printer I /
[0088]
At this time, the compression is performed in units of one page, not in each band obtained by dividing one page into five. This is because, in the case of band units, it is necessary to set parameters for each band, clear the learning memory used for compression, etc., and after compression, a large number of small-sized compressed image data files are generated and managed. Is complicated.
[0089]
The data amount of the compressed data, that is, the data amount transferred to the
[0090]
When receiving the event interrupt (INT) 614, the
[0091]
For example, after referring to the event, if the DMA is stopped, the
[0092]
When receiving the interrupt of the event interrupt (INT) 614 again, the
[0093]
As described with reference to FIG. 2A, the transfer unit of the DMA occupying the
[0094]
As shown in FIG. 5, for example, when the data amount after compression is 256 Kbytes for the first time and 200 Kbytes for the second time as a result of two DMAs, the total amount is 456 Kbytes, and the page image is a monochrome page of 600 dpi A4 size black and white. In this case, the compression rate is about 11% because the size is 4 Mbytes. In FIG. 5, when the vertical axis is the time axis, rendering, compression, and transfer are performed simultaneously, so that the performance can be made advantageous.
[0095]
As described above, image compression can be performed efficiently by processing rendering by band and compressing by page.
[0096]
The compressed data stored in the
[0097]
[Operation at system startup]
Hereinafter, the operation at the time of starting the system and the operation when selecting a control file to be downloaded will be described with reference to the flowchart of FIG.
[0098]
In step S801, a pre-input system initial setting is loaded. These are stored, for example, in the
[0099]
In step S802, the
[0100]
If the end of the download is detected in step S804, the
[0101]
In step S806, information regarding resources, for example, the capacity of a mounted CPU, the capacity of a memory, and the like are detected as information regarding the performance of the
[0102]
In step S807, the information about the acquired performance of the
[0103]
In step S808, the
[0104]
[Configuration of FAX Unit 104]
FIG. 7 is a schematic block diagram illustrating the configuration of the
[0105]
A
[0106]
The scan image stored in the
[0107]
External operations such as registration of a telephone number of a transmission destination and start of operation by a start button can be performed by the
[0108]
A bus I /
[0109]
[0110]
Next, the operation of the
[0111]
The
[0112]
For example, when it is detected that the logic level of the
[0113]
Since the start-up program initializes each block, it takes time until the start-up program ends, and the image developed in the
[0114]
When the
[0115]
Upon receiving the bus exclusive use permission signal GNT-F, the
[0116]
As described above, the SLEEP state of the
[0117]
[Configuration of Network I / F 102]
FIG. 8 is a schematic block diagram illustrating the configuration of the network I /
[0118]
A
[0119]
A bus I /
[0120]
Next, the operation of the network I /
[0121]
The host computer (not shown) converts the edited document into a file described in a page description language, and transfers the file to the network I /
[0122]
Upon receiving the file, the
[0123]
For example, when it is detected that the logic level of the
[0124]
The
[0125]
As described above, the states of the
[0126]
The present invention is not limited to the device of the above-described embodiment, and may be applied to a system including a plurality of devices or an apparatus including one device. A storage medium storing software program codes for realizing the functions of the above-described embodiments is supplied to a system or apparatus, and a computer (or CPU or MPU) of the system or apparatus reads and executes the program code stored in the storage medium. It goes without saying that it will be completed by doing so.
[0127]
In this case, the program code itself read from the storage medium realizes the function of the above-described embodiment, and the storage medium storing the program code constitutes the present invention. As a storage medium for supplying the program code, for example, a floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, magnetic tape, nonvolatile memory card, or ROM is used. Can be. When the computer executes the readout program code, not only the functions of the above-described embodiments are realized, but also an OS or the like running on the computer performs actual processing based on the instruction of the program code. It goes without saying that a case where some or all of the functions are performed and the functions of the above-described embodiments are realized by the processing is also included.
[0128]
Further, after the program code read from the storage medium is written to a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the expansion is performed based on the instruction of the next program code. It goes without saying that a CPU or the like provided in an expansion board or an expansion unit performs processing and performs a part or all of actual processing, and the processing realizes the functions of the above-described embodiments.
[0129]
【The invention's effect】
As described in detail above, according to the present invention, image expansion, compression, and transfer can be performed simultaneously, and the performance of the device or system can be improved.
[Brief description of the drawings]
FIG. 1 is a schematic block diagram illustrating an overall configuration of a multifunction peripheral according to an embodiment of the present invention.
FIG. 2 is a timing chart showing a state of DMA.
FIG. 3 is an internal block diagram showing a configuration of a
FIG. 4 is a schematic block diagram illustrating a configuration of a
FIG. 5 is a timing processing diagram illustrating rendering, transfer, and compression processing according to the embodiment.
FIG. 6 is a flowchart showing an operation at the time of starting the system.
FIG. 7 is a schematic block diagram illustrating a configuration of the
FIG. 8 is a schematic block diagram illustrating a configuration of a network I /
[Explanation of symbols]
101 PDL unit
103 Hard Disk
105 System bus
106 Master control block
107 Network
110 Scanner unit
111 Printer unit
112 CLK
115 CPU
118 Scanner / Printer I / F
601 CPU
603 RAM
604 ASIC
605 Work RAM
606 Image memory
608 CLK detection circuit
609 DMA control circuit
612 Image compression circuit
Claims (8)
前記各領域毎の展開画像を領域毎に転送する画像転送手段と、
前記画像転送手段によって転送された画像データの圧縮を行う画像圧縮手段と、
前記画像圧縮手段で圧縮された画像データを外部へ転送する外部転送手段とを備え、
前記画像展開手段で画像を領域毎に展開しながら、その展開画像を順次前記画像転送手段で前記画像圧縮手段へ転送し、前記画像圧縮手段は、順次転送される分割された一連の複数領域の画像を、結合しながら圧縮することを特徴とする画像処理装置。Image developing means for dividing an image into a plurality of regions and developing an image for each of the divided regions;
Image transfer means for transferring the developed image for each area for each area,
Image compression means for compressing the image data transferred by the image transfer means,
External transfer means for transferring the image data compressed by the image compression means to the outside,
While the image is expanded for each region by the image expanding unit, the expanded image is sequentially transferred to the image compressing unit by the image transfer unit, and the image compressing unit is configured to sequentially transfer a plurality of divided regions into a plurality of regions. An image processing apparatus characterized in that images are compressed while being combined.
前記画像処理装置は、
画像を複数の領域に分割し、その分割された領域毎に画像を展開する画像展開手段と、
前記各領域毎の展開画像を領域毎に転送する画像転送手段と、
前記画像転送手段によって転送された画像データの圧縮を行う画像圧縮手段と、
前記画像圧縮手段で圧縮された圧縮画像データを前記プリント出力処理装置へ転送するプリント転送手段とを備え、
前記画像展開手段で画像を領域毎に展開しながら、その展開画像を順次前記画像転送手段で前記画像圧縮手段へ転送し、前記画像圧縮手段は、順次転送される分割された一連の複数領域の画像を、結合しながら圧縮することを特徴とするプリントシステム。An image processing apparatus that generates and transfers compressed image data, and a print system that includes a print output processing apparatus that performs print output processing based on the compressed image data transferred from the image processing apparatus,
The image processing device includes:
Image developing means for dividing an image into a plurality of regions and developing an image for each of the divided regions;
Image transfer means for transferring the developed image for each area for each area,
Image compression means for compressing the image data transferred by the image transfer means,
Print transfer means for transferring the compressed image data compressed by the image compression means to the print output processing device,
While the image is expanded for each region by the image expanding unit, the expanded image is sequentially transferred to the image compressing unit by the image transfer unit, and the image compressing unit is configured to sequentially transfer a plurality of divided regions into a plurality of regions. A printing system characterized in that images are compressed while being combined.
前記画像転送行程で順次転送される分割された一連の複数領域の画像を、結合しながら圧縮する画像圧縮行程と、
前記画像圧縮行程で圧縮された画像データを外部へ転送する外部転送行程とを有することを特徴とする画像処理装置の制御方法。Dividing the image into a plurality of regions, and developing the image for each of the divided regions, sequentially transferring the developed image;
An image compression step of compressing while combining images of a series of divided areas sequentially transferred in the image transfer step;
An external transfer step of transferring the image data compressed in the image compression step to the outside.
画像を複数の領域に分割し、その分割された領域毎に画像を展開しながら、その展開画像を順次転送する画像転送ステップと、
前記画像転送ステップで順次転送される分割された一連の複数領域の画像を、結合しながら圧縮する画像圧縮ステップと、
前記画像圧縮ステップで圧縮された画像データを外部へ転送する外部転送ステップとを有することを特徴とする制御プログラム。A computer-readable control program for executing a method of controlling an image processing apparatus that generates and transfers compressed image data, comprising:
An image transfer step of dividing the image into a plurality of regions and sequentially transferring the developed image while developing the image for each of the divided regions;
An image compression step of compressing a series of divided images sequentially transferred in the image transfer step while combining the images.
An external transfer step of transferring the image data compressed in the image compression step to the outside.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002233120A JP2004072683A (en) | 2002-08-09 | 2002-08-09 | Image processing apparatus, print system, and control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002233120A JP2004072683A (en) | 2002-08-09 | 2002-08-09 | Image processing apparatus, print system, and control program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004072683A true JP2004072683A (en) | 2004-03-04 |
Family
ID=32018335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002233120A Pending JP2004072683A (en) | 2002-08-09 | 2002-08-09 | Image processing apparatus, print system, and control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004072683A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007201705A (en) * | 2006-01-25 | 2007-08-09 | Ricoh Co Ltd | Image processor, image processing method, program, and computer-readable recording medium |
WO2016051703A1 (en) * | 2014-09-29 | 2016-04-07 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and storage medium |
US10306168B2 (en) | 2015-05-04 | 2019-05-28 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device, imaging system, and electronic device |
-
2002
- 2002-08-09 JP JP2002233120A patent/JP2004072683A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007201705A (en) * | 2006-01-25 | 2007-08-09 | Ricoh Co Ltd | Image processor, image processing method, program, and computer-readable recording medium |
WO2016051703A1 (en) * | 2014-09-29 | 2016-04-07 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and storage medium |
JP2016071545A (en) * | 2014-09-29 | 2016-05-09 | キヤノン株式会社 | Image processing apparatus, image processing method, and program |
CN106716984A (en) * | 2014-09-29 | 2017-05-24 | 佳能株式会社 | Image processing apparatus, image processing method, and storage medium |
US10089561B2 (en) | 2014-09-29 | 2018-10-02 | Canon Kabushiki Kaisha | Generating a raster image region by rendering in parallel plural regions of smaller height and segmenting the generated raster image region into plural regions of smaller width |
CN106716984B (en) * | 2014-09-29 | 2019-10-15 | 佳能株式会社 | Image processing apparatus, image processing method and storage medium |
US10306168B2 (en) | 2015-05-04 | 2019-05-28 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device, imaging system, and electronic device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2381329T3 (en) | Imaging apparatus and corresponding energy saving control method | |
JP3664926B2 (en) | Image processing device | |
US20040073824A1 (en) | Information processing device with sleep mode function | |
JP2004133512A (en) | Network system | |
US6785013B1 (en) | System for capturing images from a peripheral unit and transferring the captured images to an image management server | |
US20160234395A1 (en) | Information processing apparatus and method of controlling launch thereof | |
JP2005094679A (en) | Image processing apparatus equipped with energy saving mode functionality connected to network | |
JP2004126678A (en) | System controller | |
JP2004130526A (en) | Image forming apparatus | |
JP4028811B2 (en) | Image forming apparatus | |
JP2004112718A (en) | Image processor | |
US20120191989A1 (en) | Information processing apparatus with power saving mode, and control method and communication apparatus therefor | |
JP6849484B2 (en) | Information processing device, control method of information processing device, and program | |
JP2004072683A (en) | Image processing apparatus, print system, and control program | |
JP2018078485A (en) | Information processing apparatus and starting method of information processing apparatus | |
JP2004258695A (en) | Data transfer system | |
US20020039197A1 (en) | Image processing apparatus, control method therefor, and image processing system | |
JP3806987B2 (en) | Multifunctional peripheral | |
CN111541825B (en) | Electronic device and control method thereof | |
JP2007026075A (en) | Data processor and method for controlling data processor | |
JP2005161756A (en) | Image processing device and control method for image processing device | |
JP2004074621A (en) | Image formation apparatus | |
US20180213103A1 (en) | Image processing apparatus, method of controlling the same, and storage medium | |
JP2001238019A (en) | Method and controller for data transfer, image processor and image forming device | |
JP2005210582A (en) | Image forming apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050610 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060415 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070423 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070529 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20070626 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070726 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071218 |