JP2004072683A - Image processing apparatus, print system, and control program - Google Patents

Image processing apparatus, print system, and control program Download PDF

Info

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
Application number
JP2002233120A
Other languages
Japanese (ja)
Inventor
Tetsuya Onishi
大西 哲也
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 JP2002233120A priority Critical patent/JP2004072683A/en
Publication of JP2004072683A publication Critical patent/JP2004072683A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storing Facsimile Image Data (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processing apparatus or the like in which performance is improved by simultaneously developing, compressing and transferring images. <P>SOLUTION: The image processing apparatus is provided with an image developing means for dividing an image into a plurality of areas and developing the image for each divided area, an image transfer means for transferring the developed image for each area for each area, an image compressing means for compressing image data transferred by the image transfer means, and an external transfer means for transferring the image data compressed by the image compressing means to the outside. While the image is developed for each area by the image developing means, the developed image is successively transferred to the image compressing means by the image transfer means, and the image compressing means compresses the successively transferred images while coupling a series of a plurality of divided areas. <P>COPYRIGHT: (C)2004,JPO

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, reference numeral 101 denotes a PDL unit that develops a raster image in an image memory based on a file described in a page description language.
[0017]
The PDL unit 101 functions as an image processing unit, and is configured to download a control program in a page description language. By downloading a control program of a desired page description language to the PDL unit 101, a plurality of page description languages can be handled.
[0018]
These control programs are stored in the hard disk unit 103 connected to the system bus 105, are appropriately selected by the CPU 115 in the master control block 106, and are transferred to the PDL unit 101 by the DMA controller in the PDL unit 101. .
[0019]
A network I / F 102 transmits and receives various commands and a page description language file to be printed to and from a host computer (not shown) via a network 107. A FAX unit 104 transmits and receives image data to and from another facsimile or the like connected to the public line 109 via a TEL cable 108. A master control block 106 connects and controls each of the units 101 to 104 with the scanner unit 110 and the printer unit 111.
[0020]
Each of the units 101 to 104 is connected by a system bus 105. Various units other than the above-described units can be connected to the system bus 105, and a multifunction peripheral having various functions can be configured according to user needs.
[0021]
Although shown separately in the figure, together with the system bus 105, CLK112, REQ-P, GNT-P, REQ-N, GNT-N, REQ-HD, GNT-HD, REQ-F, GNT-F is connected to the corresponding unit.
[0022]
The CLK 112 is generated by the clock generator 117 in the master control block 106, and is supplied to the PDL unit 101, the network I / F 102, the bus arbiter 113, the hard disk unit 103, the FAX unit 104, and the scanner / printer I / F 118.
[0023]
REQ-P, REQ-N, REQ-HD, and REQ-F are bus exclusive request signals output from the PDL unit 101, the network I / F 102, the hard disk unit 103, and the FAX unit 104, respectively. Is input to the bus arbiter 113 in the terminal.
[0024]
In the bus arbiter 113 to which the bus exclusive request signal is input, the bus exclusive permission signals GNT-P, GNT-N and GNT- are sequentially and efficiently stored so that the units 101 to 104 do not monopolize the system bus 105 for a predetermined period or more. By transmitting the HD and the GNT-F to the PDL unit 101, the network I / F 102, the hard disk unit 103, and the FAX unit 104, use of the system bus 105 is permitted. Generation of these bus occupation permission signals GNT-P, GNT-N, GNT-HD, and GNT-F will be described later.
[0025]
Reference numerals 110 and 111 denote a scanner unit and a printer unit, respectively, which are connected to a scanner / printer I / F 118 in the master control block 106 via a video I / F 119. Further, the scanner / printer I / F 118 and the system bus 105 are connected to the PDL unit 101, the network I / F 102, the hard disk unit 103, and the facsimile unit 104, and scan images read by the scanner unit 110 and record by the printer unit 111. A print image to be transmitted is transmitted and received.
[0026]
In the video I / F 119, in addition to a signal for transferring a read image or an image to be printed, a SLEEP signal 124 to be described later, and a command (not shown) for transmitting / receiving a command to / from a scanner / printer I / F 118 are transmitted and received. Command communication signal for performing the command.
[0027]
In the master control block 106, a local bus 114 connects the CPU 115 with the bus arbiter 113, the scanner / printer I / F 118, and the operation unit 120. The CPU 115 controls each unit in the master control block 106 based on a control program stored in the ROM / RAM 121.
[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 network 107, the network I / F 102 receives the command and issues a bus occupation request REQ-N to the bus arbiter 113 to request bus occupation. As described above, the bus arbiter 113 efficiently and sequentially issues the bus occupation permission signals GNT-N so as not to monopolize the bus.
[0029]
The network I / F 102 secures the bus by receiving the bus occupation permission signal GNT-N, and transfers the command received from the host computer to the scanner / printer I / F 118.
[0030]
When receiving a notification from the scanner / printer I / F 118 by, for example, an interrupt signal (not shown) in the local bus 114, the CPU 115 interprets the received command via the local bus 114, and further interprets the received command. The CPU 115 issues a command to the scanner unit 110 via a command communication signal in the video I / F 119 to activate the scanner. At the same time, it activates the DMA control circuit 122 in the scanner / printer I / F 118 to transfer the scanned image.
[0031]
The scanner unit 110 transfers the scanned image to the scanner / printer I / F 118 via the video I / F 119 according to the received command. The DMA control circuit 122 in the scanner / printer I / F 118 that has received the scanned image outputs the bus exclusive request REQ-M to the bus arbiter 113. The bus arbiter 113 does not monopolize the bus as described above. The scanner image is DMA-transferred to the network I / F 102 by efficiently and sequentially issuing the bus occupation permission signal GNT-M to open the bus between the scanner / printer I / F 118 and the network I / F 102, Further, the scanned image can be transferred to the host computer via the network 107.
[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 system bus 105. The DMA control circuit 122 outputs REQ-M at the timing of (1) when the DMA is activated and the image data is transferred from the scanner unit 110. After arbitrating the bus occupation request from each unit, the bus arbiter 113 that has received the REQ-M issues a bus occupation permission signal GNT-M at the timing of (2). The timing from (1) to (2) may fluctuate depending on the arbitration of bus occupation with other units.
[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 / F 118 to the network I / F unit 102, a write mode is notified.
[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 / F unit 102 detects that the transfer to itself starts from the address output at the timing of (3), and outputs the detection signal DEVSELX. At the same time, it issues a TRDYX signal notifying that preparation for receiving data is completed.
[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 scanner unit 110, the bus exclusive request REQ-M (timing {circle around (7)}) is output to the bus arbiter 113 again, and the DMA transfer is performed by repeating these.
[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 CPU 115, notifies the end of the transfer, and terminates the DMA itself.
[0039]
The DMA transfer procedure described above applies to all units.
[0040]
In the above description, means for transferring an image scanned by the scanner unit 110 to the network I / F 102 without performing compression processing has been described. However, in response to a command from the host computer, the scan image is compressed by the compression / expansion circuit 123. The DMA transfer can be performed after the compressed data is secured in the RAM area 121 secured as a buffer in advance.
[0041]
As described above, the DMA control circuit 122 is provided in the scanner / printer I / F 118, and the CPU 115 can control the start and stop of the local bus 114 via the local bus 114. Upon activation of the DMA control circuit 122, the control program stored in the hard disk unit 103, the communication data temporarily stored in the ROM / RAM 121, various parameters, or the compressed image data are transferred to each unit connected to the system bus 105. High-speed transmission, and high-speed reception of communication data and various parameters from each unit. Of course, the CPU 110 can directly access each unit without using the DMA control circuit 122.
[0042]
In the present embodiment, since the bus arbiter 113 and the scanner / printer I / F 118 are in the same block, the bus exclusive request signal REQ-M and the bus exclusive permission signal GNT-M are separate from the system bus 105. However, they may be connected together with the system bus 105 according to the configuration.
[0043]
The scanner / printer units 110 and 111 can independently operate as a copying machine by using a copy button of the operation unit 120.
[0044]
[Configuration of Bus Arbiter 113]
FIG. 3 is an internal block diagram showing the configuration of the bus arbiter 113.
[0045]
Reference numeral 301 denotes a bus monitoring circuit that monitors the usage status of the system bus 105. For example, when detecting that a certain device uses the system bus 105 (referred to as a bus busy), the timer reset signal 305 is enabled and the timer 303 is reset.
[0046]
When it is detected that no device uses the system bus 105 (referred to as a bus idle), the timer reset signal 305 is disabled, and the timer 303 starts operating.
[0047]
After that, when a certain time elapses, that is, when no device uses the system bus 105, that is, when the bus idle elapses to some extent, a Hit signal 307 notifies the SLEEP circuit 304 of the CLK disable, and furthermore, If a certain amount of bus idle has elapsed while the device is not using the system bus 105, the SLEEP circuit 304 is notified of the SLEEP by the Hit signal 307.
[0048]
Although not shown, the timer is connected to the local bus 114, and the timing of disabling CLK and the timing of SLEEP can be set by the CPU 115 in a programmable manner.
[0049]
When receiving the CLK disable notification by the Hit signal 307, the SLEEP circuit 304 disables the signal CLKEN116 and notifies the clock generator 117. When the signal CLKEN116 is disabled, the clock generator 117 stops supplying the clock signal CLK112 and keeps the logic level at High. This state is called a standby state. Each unit is notified that the master control block 106 is in the standby state by the logic level High of CLK112.
[0050]
In this manner, when the bus idle of the system bus 105 continues, the clock is stopped in a high state to be in a standby state, thereby suppressing power consumption. Further, when time elapses in the state of the bus idle of the system bus 105 and the SLEEP notification is received by the Hit signal 307, the signal SLEEP 124 is enabled, and the CPU 115, the scanner unit 110, and the printer unit 111 are notified of the SLEEP.
[0051]
The CPU 110 notified of the SLEEP causes all the blocks except the bus arbiter 113 in the master control block 106 to execute a procedure for turning off the power (referred to as a shutdown process). For the clock generator 117, the logic level of the CLK 112 is set to Low. Similarly, the scanner unit 110 and the printer unit 111 also execute a shutdown process via the video I / F, and the power of all the blocks except the bus arbiter 113 and the CPU 115 in the master control block 106 is turned off. . Thereafter, the CPU 115 also shifts to the low power consumption mode. This state is called a sleep state. The logic level Low of CLK 112 notifies each unit that the master control block 106 is in the sleep state.
[0052]
In this way, when the bus idle of the system bus 114 continues further, the clock is stopped in a low state, and a sleep state is set, so that power consumption is suppressed.
[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 system bus 105 is issued to the arbitration circuit 302. Done by
[0054]
In this case, the release signal 306 is sent to the SLEEP circuit 304. In the SLEEP circuit 304, in the standby state, the CLKEN 116 is enabled so that the clock can be supplied immediately from the clock generator 117. In the sleep state, CLKEN 116 is enabled and SLEEP 124 is disabled.
[0055]
When notified that the SLEEP 124 is disabled, the CPU 115 returns from the sleep mode to the normal mode, starts supplying power to each block, and performs an initialization operation. Similarly, the scanner unit 110 and the printer unit 111 are supplied with power from the notification of disabling the SLEEP 124 and are initialized.
[0056]
When detecting that all the initializations have been completed, the CPU 110 performs a program to supply a clock to the clock generator 117 (hereinafter referred to as a startup program).
[0057]
[Configuration of PDL unit 101]
FIG. 4 is a schematic block diagram showing the configuration of the PDL unit 101.
[0058]
The PDL unit 101 has a function of receiving a page description language and developing an image based on the page description language.
[0059]
The CPU 601 controls the entire PDL unit 101 via the local bus 602, and the RAM 603 stores a control program executed by the CPU 601. The control program stored here can support various page description languages. For example, if a PS control program is stored, the PDL unit 101 is used for the PS. If a LIPS control program is stored, the PDL unit 101 is used for the LIPS.
[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 PDL unit 101, for example, the performance of a mounted CPU, the capacity of the memory 603, and the like are obtained from configuration information and the like, and a control program to be downloaded is selected based on the information. Is also good.
[0062]
For example, in the PDL unit 101, when the performance of the CPU 601 causes the PS to have a higher ability to develop images than the LIPS, or when a file transmitted from a user connected to the network 107 uses the PS as a page description language. In the case where there is a large number of programs, the control program of the PS having the higher ability is downloaded to the PDL unit 101, so that the user who uses the PS more frequently can be made more convenient.
[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 PDL unit 101 receives a command from the user who wants to print the document. , A necessary control program can be downloaded.
[0064]
These program codes are stored in the hard disk unit 103 in advance, and start the DMA of the hard disk unit 103 based on the control of the CPU 115 in the master control block 106, and output a REQ-HD, receive a GNT-HD, etc. The bus is acquired from the above operation, and is transferred to the RAM 603 via the bus I / F 607 and the local bus 602 via the system bus 105.
[0065]
The work RAM 605 stores various types of parameter information and also functions as a work area for the CPU 601. The ASIC 604 has a function of expanding a raster image on the image memory 606 based on a file described in a page description language, and a function of transferring the expanded image to the image compression circuit 612 by DMA via the local bus 602. ing.
[0066]
Reference numeral 607 denotes a bus I / F, which interfaces the system bus 105 and the local bus 602, and includes a DMA control circuit 609 therein, which directly includes a memory work RAM 605, an image memory 606, or a hard disk unit without passing through the CPU 601. Data can be transmitted and received from the system 103 via the system bus 105. Further, an image compression circuit 612 for transferring the developed image while compressing it is built in, and the compressed image can be transferred to the scanner / printer I / F 118 by the DMA control circuit 609.
[0067]
The control signal RES 611 is output from the bus I / F 607 in response to a command from the CPU 115 in the master control block 106. When the reset control signal RES611 is input to the reset terminal of the CPU 601, the CPU 601 is reset. While the reset control signal RES511 is in the enable state, the CPU 601 is in the hold state, and the signal connected to the local bus 602 is in the high impedance state. It becomes.
[0068]
When downloading the control program, the CPU 115 enables the reset control signal RES 611 by a command, activates the DMA of the hard disk unit 103, and downloads the necessary control program to the RAM 603 via the system bus 105 and the local bus 602. Then, after the download, the reset control signal RES611 is disabled from enabled by a command, the reset of the CPU 601 is released, and the CPU 601 is started.
[0069]
Reference numeral 608 denotes a CLK detection circuit which can detect whether the CLK 112 is supplied and whether the logic level is High or Low.
[0070]
Next, the operation of the PDL unit 101 will be described.
[0071]
The document file described in the page description language received by the network I / F 102 is transferred via the system bus 105 and the bus I / F 607 and temporarily stored in the work RAM 605 as described above.
[0072]
The CPU 601 refers to the page description language data temporarily stored in the work RAM 605, converts the data into an intermediate language that can be used by the ASIC 604, and sequentially stores the intermediate language in the work RAM 605 again.
[0073]
When the conversion processing into the intermediate language for one page is completed, the CPU 601 sends an image development start command to the ASIC 604, and the ASIC 604 refers to the intermediate language stored in the work RAM 605 to the image memory 606 at a high speed. Develop image images.
[0074]
In the present embodiment, the rasterization image development processing (rendering processing) and transfer processing by the ASIC 604 are performed in units of bands to perform high-speed rendering processing in a small image memory and to transfer images while compressing. That makes it possible.
[0075]
Further, by compressing the image data, the bus occupancy of the system bus 105 during data transfer from the PDL unit 101 is reduced, thereby improving the performance of the entire system.
[0076]
[Operations Characterizing the Present Embodiment]
FIG. 5 is a timing processing diagram illustrating rendering, transfer, and compression processing in the PDL unit 101, which is a feature of the present embodiment. The following control method can be realized by storing a program for performing the operation according to the timing processing diagram of FIG. 5 in the RAM 603 in the PDL unit 101 and operating the program.
[0077]
As shown in the drawing, the PDL unit 101 divides one page of image data into five regions, and performs rendering processing while alternately using the divided regions α and β of the image memory 606. The image data is transferred to the image compression circuit 612 at the same time. Hereinafter, a specific description will be given.
[0078]
Upon receiving the image development start command from the CPU 601, the ASIC 604 responds to the command by referring to the intermediate language data stored in the work RAM 605 and processing the raster image image to the α-side area of the image memory 606 at high speed. (Rendering process).
[0079]
Further, the CPU 601 simultaneously performs a conversion process to the next page of intermediate language data, and sequentially stores the converted data in the work RAM 605. At this time, although not shown, an arbitration circuit (arbitration circuit) for acquiring the local bus 602 built in the ASIC 604 so that the CPU 601 and the ASIC 604 do not simultaneously access the work RAM 605 via the local bus 602. Circuit).
[0080]
When the rendering of the band 1 in the α area of the image memory 606 ends, the ASIC 604 generates an interrupt signal (INT) 610 to the CPU 601 to notify the occurrence of the event. When detecting the interruption, the CPU 601 accesses an event register (not shown) in the ASIC 604 and detects the contents of the event. In the present embodiment, the types of events of the interrupt signal (INT) 610 from the ASIC 604 include the end of rendering and the end of DMA which is performing image transfer to the image compression circuit 612.
[0081]
When the CPU 601 detects the end of the rendering of the band 1, the CPU 601 activates the DMA control circuit 613 in the ASIC 604 and instructs the band 1, that is, the transfer of the rendering image expanded in the α area of the image memory 606 to the image compression circuit 612. I do. At the same time, the image compression circuit 612 clears the parameters for compression and the learning memory for compression, and activates the compression circuit 612.
[0082]
Further, the CPU 601 causes the bus I / F 607 to issue the exclusive request signal REQ-P for the system bus 105. At the same time, the state of CLK112 is detected by the CLK detection circuit 608. At this time, for example, when it is detected that the logic level of the CLK 112 is High, it is determined that the master control block 106, the scanner unit 110, and the printer unit 111 are in a standby state. In this case, the CPU 601 sets a transfer command, a transfer destination address, and a transfer byte number to the DMA control circuit 609 in the bus I / F 607, and transfers the compressed image to the scanner / printer I / F 118 via the system bus 105. Prepare to transfer to.
[0083]
At this time, since the exclusive request signal REQ-P has already been issued, the supply of CLK112 from the bus arbiter 113 and the supply of CLK112 from the clock generator 117 are started immediately. When the DMA control circuit 609 receives the bus occupation permission signal GNT-P from the bus arbiter 113, it starts transferring the compressed data to the scanner / printer I / F 118.
[0084]
Next, the CPU 601 instructs the ASIC 604 to render the band 2 on the β area of the image memory 606, and waits for an event by an interrupt signal. For example, the rendering end event to the β area corresponding to band 2 is detected first, and if the transfer end event of band 1 is not detected yet, the α area of the image memory 606 is still being transferred. Wait for the transfer end event to occur. When the transfer end event of the α area of the band 1 occurs, the CPU 601 instructs the ASIC 604 to render the band 3 in the α area of the image memory 606, and simultaneously activates the DMA control circuit 613 to activate the β area corresponding to the band 2. Is transferred to the image compression circuit 612. Again, it waits for an event by the interrupt signal.
[0085]
The process proceeds, for example, first, the DMA transfer end event of the rendering image of the β area corresponding to band 2 is detected, and if the rendering end event of the α area corresponding to band 3 is not detected, α in the image memory 606 is detected. Since the region is still being rendered, wait for the band 3 rendering end event. When the rendering end event of the α region corresponding to band 3 occurs, the CPU 601 activates the DMA control circuit 613 in the ASIC 604 to transfer the rendered image of the α region corresponding to band 3 to the image compression circuit 612. And at the same time, rendering to the β region corresponding to band 4.
[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 band 5, rendering for one page is performed. The transfer of the image to the compression circuit 612 is completed. As will be described later, the end of compression of one page is detected by an event interrupt (INT) 614.
[0087]
In this way, the compressed data is transferred to the scanner / printer I / F 118 while rendering and compression are performed simultaneously, and temporarily stored in the memory 121 of the master control block 106.
[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 memory 121 of the master control block 106 is unknown because it varies depending on the image data. However, it is necessary to reserve a buffer area in the memory 121, and the CPU 115 in the master control block 106 reserves an area of a predetermined value, for example, 256 Kbytes. That is, the transfer amount of the compressed data by the DMA is set to 256 Kbytes, and the DMA is stopped after the transfer of the 256 Kbytes. When the DMA stops, an event interrupt (INT) 614 notifies the CPU 601 by an interrupt.
[0090]
When receiving the event interrupt (INT) 614, the CPU 601 detects an event by referring to an event register in the bus I / F 607 (not shown). As described above, the types of events include the stop of DMA, the end of image data compression, and the interrupt event for communication with the CPU 115 in the master control block 106.
[0091]
For example, after referring to the event, if the DMA is stopped, the CPU 601 instructs the CPU 115 in the master control block 106 to secure 256 Kbytes again, sets the transfer byte number 256 Kbytes to the DMA control circuit 609, and starts up. multiply. Since the compression operation has not been completed, the transfer of the compressed data is resumed by DMA activation.
[0092]
When receiving the interrupt of the event interrupt (INT) 614 again, the CPU 601 detects an event by referring to an event register in the bus I / F 607 (not shown). For example, when the event is the end of the image data compression, the DMA control circuit 609 is stopped, and the communication with the CPU 115 in the master control block 106 notifies the end of the image data compression.
[0093]
As described with reference to FIG. 2A, the transfer unit of the DMA occupying the system bus 105 is a unit of 8 words (32 bytes), and the transfer is performed most efficiently by repeating this unit. However, since the amount of compressed data varies depending on the image, the transfer cannot always be completed in units of 8 words (32 bytes). When the last transfer unit is less than eight words, the DMA control circuit 609 creates data in units of eight words by repeating the end code of the compressed data, for example, and contrives to efficiently transfer data to the end. ing. FIG. 2B shows this state. Since the data below the end code is ignored as the compressed data, the data need not always be the end code.
[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 memory 121 of the master control block 106 is expanded to the original image by the compression / expansion circuit 123 when printing, and the image is obtained by the printer unit 111. Also, for example, when temporarily stored in the hard disk unit 103, it is transferred and stored as it is.
[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 hard disk unit 103 or the like. Here, it is assumed that the initial setting is such that the LIPS control program is loaded into the PDL unit 101. These can be appropriately changed by the user.
[0099]
In step S802, the RES 611 in the PDL unit 101 is enabled, and the CPU 601 is set in a hold state. In step S803, the DMA control circuit 609 is activated to start downloading a control program necessary for the PDL unit 101 stored in the hard disk unit 103. Here, the LIPS control program is downloaded to the PDL unit 101, for example.
[0100]
If the end of the download is detected in step S804, the RES 611 in the PDL unit 101 is disabled in step S805. As a result, the hold state of the CPU 601 of the PDL unit 101 is released, and the CPU 601 is activated according to the program.
[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 PDL unit 101 by communication performed first after activation.
[0102]
In step S807, the information about the acquired performance of the PDL unit 101 is notified to the network I / F. The network I / F 102 notifies this information to a host computer (not shown) connected to the network 107. The host computer can efficiently print by selecting a system connected to the network 107 based on the information. Commands are issued as needed.
[0103]
In step S808, the CPU 115 in the master control block 106 waits for a command from the network I / F 102, and in step S809, performs processing on the received command, for example, processing such as downloading a new control program.
[0104]
[Configuration of FAX Unit 104]
FIG. 7 is a schematic block diagram illustrating the configuration of the FAX unit 104.
[0105]
A CPU 404 controls the entire FAX unit 104 via a local bus 402. The FAX circuit 403 controls transmission and reception via the public line 109 and the TEL cable 108, performs direct drawing on the memory 405 from the received data by the memory control bus 410, or sends the data to the memory 405 and stores the data. This is a circuit for compressing a scanned image and transmitting the compressed image to the public line 109.
[0106]
The scan image stored in the memory 405 is transmitted from the scanner unit 110 to the memory 405 via the scanner / printer I / F 118 and the system bus 105, and is transmitted to and stored in the memory 405 via the bus I / F 408 and the local bus 402. You. Reference numeral 401 denotes a hard disk, which is used to temporarily store an image developed and drawn in the memory 405.
[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 operation unit 120 connected to the master control block 106. The data is interpreted by the CPU 115 via the local bus 114, and is transferred to the FAX unit 104 via the scanner / printer I / F 118 and the system bus 105 by the DMA control circuit 122 or the CPU 115.
[0108]
A bus I / F 408 interfaces the system bus 105 and the local bus 402. A DMA control circuit 407 is provided inside the bus I / F, and transfers data from the memory 405 to the system bus 105 directly without using the CPU 404. Or receive.
[0109]
Reference numeral 406 denotes a CLK detection circuit, which can detect whether or not the CLK 112 is supplied and can detect whether the logic level is High or Low. That is, the master control block 106 can detect whether it is in the sleep state or the standby state from the state of the CLK 112.
[0110]
Next, the operation of the facsimile unit 104 will be described below, taking as an example a case where a facsimile document is received and a print output is obtained by the scanner / printer unit 113.
[0111]
The FAX circuit 403 receives data via the public line 109 and the TEL cable 108. In many cases, the data is compressed data. Therefore, the received data is directly expanded from the memory control bus 410 to the memory 405 while being expanded. Is drawn. At the same time, the CPU 404 detects the reception by the interrupt signal from the FAX circuit 403 in the local bus 402, issues the exclusive request signal REQ-F of the system bus 105 to the bus I / F 408, Is detected.
[0112]
For example, when it is detected that the logic level of the CLK 112 is Low, it is known that the master control block 106, the scanner unit 110, and the printer unit 111 are in the SLEEP state. At this time, since the exclusive request signal REQ-F has already been issued, the above-described startup program is operating in the master control block 106, the scanner unit 110, and the printer unit 111.
[0113]
Since the start-up program initializes each block, it takes time until the start-up program ends, and the image developed in the memory 405 is in a transfer waiting state until the CLK 112 is supplied. Will cause reception failure. To prevent this, when the CLK detection circuit 406 detects that the logic level of CLK 112 is Low, the CPU 404 saves the received and expanded image data stored in the memory 405 to the temporary hard disk 401 and temporarily saves the next image. To prevent the reception of the message.
[0114]
When the CLK detection circuit 406 detects that the CLK 112 is being supplied, the CPU 404 sends a transfer command to the DMA control circuit 407 in the bus I / F 408, and transmits the bus exclusive use permission signal GNT-F from the bus arbiter 113. Wait for issuance.
[0115]
Upon receiving the bus exclusive use permission signal GNT-F, the DMA control circuit 407 transfers the received image temporarily stored in the hard disk 401 to the scanner / printer I / F 118 via the local bus 402 and the system bus 105. . Thus, an image is obtained from the printer unit 111.
[0116]
As described above, the SLEEP state of the master control block 106, the scanner unit 110, and the printer unit 111 is detected from the state of the CLK 112, and if the state is the SLEEP state, the received image is saved by the internal processing of the FAX unit 104. In order to improve the efficiency of the processing, it is possible to receive the image.
[0117]
[Configuration of Network I / F 102]
FIG. 8 is a schematic block diagram illustrating the configuration of the network I / F 102.
[0118]
A CPU 501 controls the entire network I / F 102 via a local bus 507. A network circuit 502 automatically controls a protocol of the network 107. A memory 503 temporarily stores a PDL file and image data transferred from a host computer (not shown) connected to the network 107 via the network circuit 502.
[0119]
A bus I / F 504 interfaces the system bus 105 and the local bus 507. A DMA control circuit 505 is provided inside the bus I / F, and data is directly transmitted from the memory 503 to the system bus 105 without passing through the CPU 501. Can send and receive. Reference numeral 506 denotes a CLK detection circuit, which can detect whether the CLK 112 is supplied and can detect whether the logic level is High or Low.
[0120]
Next, the operation of the network I / F 102 will be described by taking as an example a case where a print output is obtained in accordance with data transmitted from an external host computer connected to the network 107.
[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 / F 102 via the network 107. The transmitted image file described in the page description language is received by the network circuit 502, and is temporarily stored in the memory 503 via the CPU 501.
[0122]
Upon receiving the file, the CPU 501 causes the bus I / F 504 to issue an exclusive request signal REQ-N for the system bus 105. At the same time, CLK 112 is detected by the CLK detection circuit 506.
[0123]
For example, when it is detected that the logic level of the CLK 112 is High, it is determined that the master control block 106, the scanner unit 110, the printer unit 111, and the standby state are set.
[0124]
The CPU 501 sends a transfer command to the DMA control circuit 505 in the bus I / F 504, and transfers the image file described in the page description language temporarily stored in the memory 503 to, for example, a PDL via the system bus 105. Prepare to transfer to unit 101. At this time, since the exclusive request signal REQ-F has already been issued, the clock generator 117 starts supplying the CLK 112 immediately after receiving the CLKEN 116 from the bus arbiter 113. When receiving the bus occupation permission signal GNT-N from the bus arbiter 113, the DMA control circuit 505 starts the transfer. The image developed by the PDL unit 101 is transferred to the printer unit 111 via the scanner / printer I / F 118 and recorded.
[0125]
As described above, the states of the master control block 106, the scanner unit 110, and the printer unit 111 are detected from the state of the CLK 112, and if the state is the standby state, the file transfer using the system bus 105 is sequentially advanced. We are trying to improve efficiency.
[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 bus arbiter 113.
FIG. 4 is a schematic block diagram illustrating a configuration of a PDL unit 101.
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 FAX unit 104.
FIG. 8 is a schematic block diagram illustrating a configuration of a network I / F 102.
[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.
前記外部転送手段は、予め設定された所定のデータ量による複数回の転送を行うことを特徴とする請求項1記載の画像処理装置。2. The image processing apparatus according to claim 1, wherein the external transfer unit performs a plurality of transfers with a predetermined data amount set in advance. 圧縮画像データを生成して転送する画像処理装置と、前記画像処理装置から転送された圧縮画像データに基づいてプリント出力処理を行うプリント出力処理装置とを備えたプリントシステムにおいて、
前記画像処理装置は、
画像を複数の領域に分割し、その分割された領域毎に画像を展開する画像展開手段と、
前記各領域毎の展開画像を領域毎に転送する画像転送手段と、
前記画像転送手段によって転送された画像データの圧縮を行う画像圧縮手段と、
前記画像圧縮手段で圧縮された圧縮画像データを前記プリント出力処理装置へ転送するプリント転送手段とを備え、
前記画像展開手段で画像を領域毎に展開しながら、その展開画像を順次前記画像転送手段で前記画像圧縮手段へ転送し、前記画像圧縮手段は、順次転送される分割された一連の複数領域の画像を、結合しながら圧縮することを特徴とするプリントシステム。
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.
前記プリント転送手段は、予め設定された所定のデータ量による複数回の転送を行うことを特徴とする請求項3記載のプリントシステム。4. The print system according to claim 3, wherein the print transfer unit performs the transfer a plurality of times with a predetermined data amount set in advance. 画像を複数の領域に分割し、その分割された領域毎に画像を展開しながら、その展開画像を順次転送する画像転送行程と、
前記画像転送行程で順次転送される分割された一連の複数領域の画像を、結合しながら圧縮する画像圧縮行程と、
前記画像圧縮行程で圧縮された画像データを外部へ転送する外部転送行程とを有することを特徴とする画像処理装置の制御方法。
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.
前記外部転送行程は、予め設定された所定のデータ量による複数回の転送を行うことを特徴とする請求項5記載の画像処理装置の制御方法。6. The method according to claim 5, wherein in the external transfer step, the transfer is performed a plurality of times with a predetermined data amount set in advance. 圧縮画像データを生成して転送する画像処理装置の制御方法を実行するための、コンピュータで読み取り可能な制御プログラムであって、
画像を複数の領域に分割し、その分割された領域毎に画像を展開しながら、その展開画像を順次転送する画像転送ステップと、
前記画像転送ステップで順次転送される分割された一連の複数領域の画像を、結合しながら圧縮する画像圧縮ステップと、
前記画像圧縮ステップで圧縮された画像データを外部へ転送する外部転送ステップとを有することを特徴とする制御プログラム。
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.
前記外部転送ステップは、予め設定された所定のデータ量による複数回の転送を行うことを特徴とする請求項7記載の制御プログラム。8. The control program according to claim 7, wherein in the external transfer step, the transfer is performed a plurality of times with a predetermined data amount set in advance.
JP2002233120A 2002-08-09 2002-08-09 Image processing apparatus, print system, and control program Pending JP2004072683A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (7)

* Cited by examiner, † Cited by third party
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