(57)【要約】【課題】画像データを圧縮処理するに際して、使用するメモリ容量を削減する。【解決手段】ハーフトーン処理が施された画像データをブロック単位（バンド単位）にして、そのままメモリ１５２に転送するとともに、ハーフトーン処理後の画像データを画像圧縮部７１１にてバンド単位で画像圧縮し、そのバンド単位で圧縮したデータをメモリ１２１へ転送し、バンド単位で圧縮した圧縮率が圧縮率が「１」以上であるものについては、メモリ１５２に格納された非圧縮データをメモリ１２１に転送して圧縮データに上書きする。さらに、メモリ１２１に記憶されたページ（画像のデータ全体）における圧縮率を計算して、ページ圧縮率が「１／４」を超えている場合、間引き処理を施す。【選択図】図７
2007096695.tif 000002
【特許請求の範囲】
【請求項１】
画像のデータをブロック単位にする手段と、
前記ブロック単位のデータを記憶する第１の記憶手段と、
前記ブロック単位のデータを圧縮する圧縮手段と、
前記圧縮手段により圧縮されたブロック単位のデータを記憶する第２の記憶手段と、
前記圧縮手段により圧縮された各ブロック単位のデータの圧縮率が第１の設定値以上であるかどうかを判定する判定手段と、
前記判定手段による判定の結果、圧縮率が第１の設定値以上であるものについては、前記第１の記憶手段に記憶されているブロック単位のデータを前記第２の記憶手段に記憶されている圧縮されたブロック単位のデータに上書きする手段と、
前記第２の記憶手段に記憶された画像のデータ全体の圧縮率を求める演算手段と、
前記演算手段により求められた圧縮率が第２の設定値を超えるかどうかを判定する判定手段と、
前記判定手段による判定の結果、圧縮率が第２の設定値を超えた場合にデータの間引き処理を行う間引き手段とを備えたことを特徴とする画像処理装置。
【請求項２】
前記間引き手段は、前記第２の記憶手段に記憶された画像のデータをいったん伸張して間引き処理を行い、間引き処理後に再び圧縮することを特徴する請求項１に記載の画像処理装置。
【請求項３】
画像のデータをブロック単位にする手順と、
前記ブロック単位のデータを第１の記憶手段に記憶する記憶手順と、
前記ブロック単位のデータを圧縮する圧縮手順と、
前記圧縮手順により圧縮されたブロック単位のデータを第２の記憶手段に記憶する記憶手順と、
前記圧縮手順により圧縮された各ブロック単位のデータの圧縮率が第１の設定値以上であるかどうかを判定する判定手順と、
前記判定手順による判定の結果、圧縮率が第１の設定値以上であるものについては、前記第１の記憶手段に記憶されているブロック単位のデータを前記第２の記憶手段に記憶されている圧縮されたブロック単位のデータに上書きする手順と、
前記第２の記憶手段に記憶された画像のデータ全体の圧縮率を求める演算手順と、
前記演算手順により求められた圧縮率が第２の設定値を超えるかどうかを判定する判定手順と、
前記判定手順による判定の結果、圧縮率が第２の設定値を超えた場合にデータの間引き処理を行う間引き手順とを行うことを特徴とする画像処理方法。
【請求項４】
画像のデータをブロック単位にする処理と、
前記ブロック単位のデータを第１の記憶手段に記憶する記憶処理と、
前記ブロック単位のデータを圧縮する圧縮処理と、
前記圧縮処理により圧縮されたブロック単位のデータを第２の記憶手段に記憶する記憶処理と、
前記圧縮処理により圧縮された各ブロック単位のデータの圧縮率が第１の設定値以上であるかどうかを判定する判定処理と、
前記判定処理による判定の結果、圧縮率が第１の設定値以上であるものについては、前記第１の記憶手段に記憶されているブロック単位のデータを前記第２の記憶手段に記憶されている圧縮されたブロック単位のデータに上書きする処理と、
前記第２の記憶手段に記憶された画像のデータ全体の圧縮率を求める演算処理と、
前記演算処理により求められた圧縮率が第２の設定値を超えるかどうかを判定する判定処理と、
前記判定処理による判定の結果、圧縮率が第２の設定値を超えた場合にデータの間引き処理を行う間引き処理とをコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像データを圧縮処理するのに好適な画像処理装置、方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来から、ハードディスクやメモリのような記憶装置にデータを格納し、これらを必要に応じて読み出して処理することが広く行われている。この場合に、記憶装置により多くのデータを格納するためにデータに圧縮処理を施すことが多い。
【０００３】
圧縮処理の方法に関しては各種提案されているが、全てのデータに対して常に良好な圧縮率を有する方式は未だ開発されていない。データによっては、圧縮後データの方が非圧縮データ（生データ）よりもデータサイズが大きくなる場合もある。この場合、各モジュールが使用するメモリの使用領域を余分に確保する必要があり、それに伴いメモリ容量が大きくなってしまう。
【０００４】
このような問題を解決するために、圧縮データを第１のデータバッファに格納し、非圧縮データを第２のデータバッファに格納して、その後、両データのサイズの比較を行い、サイズの小さい方を採用する構成が提案されている（例えば、特許文献１）。
【０００５】
【特許文献１】特開２００１−３２５０８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、第１、２のデータバッファを使用する場合、２つのデータバッファを用意する必要があるために、比較するデータ単位を小さくしなければ莫大なメモリ容量が必要となり、コストも嵩んでしまう。
【０００７】
さらに、比較するデータ単位を小さくしても、最終的に全データをメモリにスプールする場合は、少なくとも圧縮前のデータサイズ分をメモリに確保しておく必要がある。
【０００８】
本発明は上記の課題を解決するためになされたもので、画像データを圧縮処理するに際して、使用するメモリ容量を削減することを目的とする。
【課題を解決するための手段】
【０００９】
本発明による画像処理装置は、画像のデータをブロック単位にする手段と、前記ブロック単位のデータを記憶する第１の記憶手段と、前記ブロック単位のデータを圧縮する圧縮手段と、前記圧縮手段により圧縮されたブロック単位のデータを記憶する第２の記憶手段と、前記圧縮手段により圧縮された各ブロック単位のデータの圧縮率が第１の設定値以上であるかどうかを判定する判定手段と、前記判定手段による判定の結果、圧縮率が第１の設定値以上であるものについては、前記第１の記憶手段に記憶されているブロック単位のデータを前記第２の記憶手段に記憶されている圧縮されたブロック単位のデータに上書きする手段と、前記第２の記憶手段に記憶された画像のデータ全体の圧縮率を求める演算手段と、前記演算手段により求められた圧縮率が第２の設定値を超えるかどうかを判定する判定手段と、前記判定手段による判定の結果、圧縮率が第２の設定値を超えた場合にデータの間引き処理を行う間引き手段とを備えた点に特徴を有する。
本発明による画像処理方法は、画像のデータをブロック単位にする手順と、前記ブロック単位のデータを第１の記憶手段に記憶する記憶手順と、前記ブロック単位のデータを圧縮する圧縮手順と、前記圧縮手順により圧縮されたブロック単位のデータを第２の記憶手段に記憶する記憶手順と、前記圧縮手順により圧縮された各ブロック単位のデータの圧縮率が第１の設定値以上であるかどうかを判定する判定手順と、前記判定手順による判定の結果、圧縮率が第１の設定値以上であるものについては、前記第１の記憶手段に記憶されているブロック単位のデータを前記第２の記憶手段に記憶されている圧縮されたブロック単位のデータに上書きする手順と、前記第２の記憶手段に記憶された画像のデータ全体の圧縮率を求める演算手順と、前記演算手順により求められた圧縮率が第２の設定値を超えるかどうかを判定する判定手順と、前記判定手順による判定の結果、圧縮率が第２の設定値を超えた場合にデータの間引き処理を行う間引き手順とを行う点に特徴を有する。
本発明によるコンピュータプログラムは、画像のデータをブロック単位にする処理と、前記ブロック単位のデータを第１の記憶手段に記憶する記憶処理と、前記ブロック単位のデータを圧縮する圧縮処理と、前記圧縮処理により圧縮されたブロック単位のデータを第２の記憶手段に記憶する記憶処理と、前記圧縮処理により圧縮された各ブロック単位のデータの圧縮率が第１の設定値以上であるかどうかを判定する判定処理と、前記判定処理による判定の結果、圧縮率が第１の設定値以上であるものについては、前記第１の記憶手段に記憶されているブロック単位のデータを前記第２の記憶手段に記憶されている圧縮されたブロック単位のデータに上書きする処理と、前記第２の記憶手段に記憶された画像のデータ全体の圧縮率を求める演算処理と、前記演算処理により求められた圧縮率が第２の設定値を超えるかどうかを判定する判定処理と、前記判定処理による判定の結果、圧縮率が第２の設定値を超えた場合にデータの間引き処理を行う間引き処理とをコンピュータに実行させる点に特徴を有する。
【発明の効果】
【００１０】
本発明によれば、画像データを圧縮処理するに際して、圧縮されたブロック単位のデータが圧縮されていないブロック単位のデータ量を超えることがないようにし、さらに画像のデータ全体の圧縮率が設定値を超えた場合にはデータの間引き処理を行うようにしたので、使用するメモリ容量を削減することができる。
【発明を実施するための最良の形態】
【００１１】
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
（第１の実施形態）
図１には、本発明を適用した画像入出力システム１００の全体構成を示す。画像入力装置としてのリーダー装置（リーダー部）２００は、原稿画像を光学的に読み取り、画像データに変換する。リーダー部２００は、原稿を読み取るための機能を持つスキャナユニット２１０と、原稿用紙を搬送するための機能を持つ原稿給紙ユニット２５０とにより構成される。
【００１２】
画像出力装置としてのプリンタ装置（プリンタ部）３００は、記録紙を搬送し、その上に画像データを可視画像として印字して装置外に排紙する。プリンタ部３００は、複数種類の記録紙カセットを持つ給紙ユニット３６０と、画像データを記録紙に転写、定着させる機能を持つマーキングユニット３１０と、印字された記録紙をソート、ステイプルして機外へ出力する機能を持つ排紙ユニット３７０とにより構成される。
【００１３】
制御装置（コントローラ部）１１０は、リーダー部２００及びプリンタ部３００に電気的に接続されており、さらにネットワーク４００を介してホストコンピュータ４０１、４０２に接続されている。コントローラ部１１０は、リーダー部２００を制御して、原稿の画像データを読込み、プリンタ部３００を制御して画像データを記録用紙に出力するコピー機能を提供する。また、リーダー部２００から読み取った画像データをコードデータに変換し、ネットワーク４００を介してホストコンピュータ４０１、４０２へ送信するスキャナ機能を提供する。また、ホストコンピュータ４０１、４０２からネットワーク４００を介して受信したコードデータを画像データに変換し、プリンタ部３００に出力するプリンタ機能を提供する。
【００１４】
操作部１８０はコントローラ部１１０に接続されており、例えば液晶タッチパネルで構成され、画像入出力システムを操作するためのユーザインタフェースを提供する。
【００１５】
（リーダー部及びプリンタ部）
図２は、リーダー部２００及びプリンタ部３００の概略構成を示す図である。リーダー部２００の原稿給紙ユニット２５０は原稿を先頭順に１枚ずつプラテンガラス２１１上へ給送し、原稿の読み取り動作終了後、プラテンガラス２１１上の原稿を排出するものである。原稿がプラテンガラス２１１上に搬送されると、ランプ２１２を点灯し、そして光学ユニット２１３の移動を開始させて、原稿を露光走査する。このときの原稿からの反射光は、ミラー２１４、２１５、２１６及びレンズ２１７によってＣＣＤイメージセンサ（以下、ＣＣＤという）２１８へ導かれる。このように、走査された原稿の画像はＣＣＤ２１８によって読み取られる。
【００１６】
２２２はリーダーコントローラ部であり、ＣＣＤ２１８から出力される画像データに所定の処理を施し、スキャナＩ／Ｆ１４０を介してコントローラ部１１０へと出力する。
【００１７】
３５２はプリンタ画像処理回路部であり、プリンタＩ／Ｆ１４５を介してコントローラ部１１０から送られる画像信号をレーザドライバへと出力する。
【００１８】
プリンタ部３００のレーザドライバ３１７はレーザ発光部３１３、３１４、３１５、３１６を駆動するものであり、プリンタ画像処理部３５２から出力された画像データに応じたレーザ光をレーザ発光部３１３、３１４、３１５、３１６で発光させる。このレーザ光はミラー３４０〜３５１によって感光ドラム３２５、３２６、３２７、３２８に照射され、感光ドラム３２５、３２６、３２７、３２８にはレーザ光に応じた潜像が形成される。３２１、３２２、３２３、３２４は、それぞれブラック（Ｂｋ）、イエロー（Ｙ）、シアン（Ｃ）、マゼンダ（Ｍ）のトナーによって潜像を現像するための現像器であり、現像された各色のトナーは、用紙に転写されフルカラーのプリントアウトがなされる。
【００１９】
用紙カセット３６０、３６１及び手差しトレイ３６２のいずれかより、レーザ光の照射開始と同期したタイミングで給紙された用紙は、レジストローラ３３３を経て、転写ベルト３３４上に吸着され、搬送される。そして、感光ドラム３２５、３２６、３２７、３２８に付着された現像剤を記録紙に転写する。現像剤の乗った記録紙は定着部３３５に搬送され、定着部３３５の熱と圧力により現像剤は記像紙に定着される。定着部３３５を通過した記録紙は排出ローラ３３６によって排出され、排紙ユニット３７０は排出された記録紙を束ねて記録紙の仕分けをしたり、仕分けされた記録紙のステイプルを行ったりする。
【００２０】
また、両面記録が設定されている場合は、排出ローラ３３６のところまで記録紙を搬送した後、排出ローラ３３６の回転方向を逆転させ、フラッパ３３７によって再給紙搬送路３３８へ導く。再給紙搬送路３３８へ導かれた記録紙は上述したタイミングで転写ベルト３３４へ給紙される。
【００２１】
（リーダーコントローラ部）
図３は、リーダーコントローラ部２２２の詳細な構成を示すブロック図である。ＣＰＵ４０２はリーダーコントローラ部２２２を制御し、起動プログラムはＲＯＭ４２２に格納され、またメモリ４２１に格納されたプログラムに基づいて動作する。
【００２２】
高速シリアルバス制御部４０３はコントローラ部１１０に接続され、通信コマンドや画像データの転送を行う。高速シリアルバスとしては一般的にはＵＳＢが挙げられる。バスコントローラ部４０４は、汎用外部バス４２３と内部ローカルバス４１２を接続する。
【００２３】
内部ローカルバス４１１、４１２はリーダーコントローラ部２２２の各モジュールとメモリコントローラ部４１０を接続し、データ転送を行う。
【００２４】
リーダーコントローラ部２２２では、プラテンガラス２１１上の原稿はＣＣＤ２１８に読み取られて電気信号に変換される（ＣＣＤ２１８は、カラーセンサの場合、ＲＧＢのカラーフィルタが１ラインＣＣＤ上にＲＧＢ順にインラインに乗ったものでも、３ラインＣＣＤで、それぞれＲフィルタ・Ｇフィルタ・ＢフィルタをそれぞれのＣＣＤごとに並べたものでも構わないし、フィルタがオンチップ化又はフィルタがＣＣＤと別構成になったものでも構わない）。
【００２５】
スキャナＩ／Ｆ部４１６に入力された電気信号（アナログ画像信号）は、Ａ／Ｄ変換されて、例えばＲＧＢ各８ビットのデジタル信号に変換される。ＲＧＢ８ビットのデジタル信号はスキャナＩ／Ｆ部４１６を介してスキャナ画像処理部４１５に入力され、所定の画像処理が施された後にローカルバス４１１、メモリコントローラ部４１０を介してメモリ４２１に蓄積される。スキャナ画像処理部４１５からは画像データと画像データの特徴を示す像域フラグが出力される。像域フラグは、文字／非文字を示すフラグと有彩色／無彩色を示すフラグが挙げられる。
【００２６】
メモリ４２１に蓄積された画像データは、多値画像圧縮・伸張部４１４を用いて圧縮データに変換される。圧縮方式として一般的にはＪＰＥＧ圧縮が挙げられ、コントローラ部１１０へスキャン画像を転送するのに用いられる。
【００２７】
コントローラ部１１０へ２値画像データを転送する際には、２値化部４１７で読み込んだ多値データを２値化し、２値画像圧縮・伸張部４１３で２値画像圧縮を行う。２値画像圧縮方式として一般的にはＪＢＩＧやＭＭＲが挙げられる。
【００２８】
スキャナ画像処理から出力された像域フラグデータは、ＣＰＵ４０２で可逆圧縮が施され、画像データと共にコントローラ部１１０へ転送される。像域フラグの圧縮は、Packbit等を用いる。
【００２９】
（リーダー画像処理部）
図４は、リーダーコントローラ部２２２のスキャナ画像処理部４１５の詳細な構成を示すブロック図である。ライン間補正部６０１は読取速度に応じてライン毎の遅延量を調整し、読取速度によって変化したＲＧＢの位相を補正する。ＣＣＤ２１８が３ラインＣＣＤの場合、ライン間補正は３ラインの読取位置が同じになるように信号タイミングを補正する。
【００３０】
シェーディング部６０２ではシェーディング補正及び黒補正が施される。読取位置タイミングが補正されたデジタル信号はγ変換部６０３でＲＧＢの画像信号に対して各々１次元の非線形変換を行う。
【００３１】
色空間マッチング部６０３では入力されるＲＧＢ信号を３次元ＬＵＴを用いて色補正する。ＭＴＦ補正部６０５では、入力信号ＲＧＢの各色のＭＴＦの違いを各コンポーネントごとに注目データの前後のデータを用いて補正を行う。
【００３２】
空間フィルタ部６０６では入力画像のシャープネスを調整するために行列演算を行う。ＲＧＢ→ＬｃａＣｂの色空間変換を行った後、輝度成分に対して７×７の演算が実行される。線形補間部６０７では５０〜２００％までの変倍を行う。
【００３３】
色空間変換部６０８では動作モードに応じてＲＧＢからＹＵＶへの色空間変換を行う。トリミング部６０９では枠消し処理と、トリミング・マスキング処理を行う。枠消し処理は、原稿枠消し、パンチ穴消し、ブック枠消し等で用いる。
【００３４】
無彩色判定部６１２では入力された画像信号が有彩色を含むかどうかを判定する。黒文字判定部６１１では画像信号のエッジ方向等から入力画像の文字／非文字領域、有彩色／無彩色を各々１画素毎に判断し、判断結果となる像域フラグを作成してメモリ４２１へ転送する。
【００３５】
（制御装置）
図５、６を参照して、コントローラ部１１０の機能について説明する。図６はコントローラ部１１０のメインコントローラ１１１の詳細な構成を示すブロック図である。ＣＰＵ５０１はコントローラ部１１０全体の動作を制御するものであり、ＣＰＵ５０１はメモリ１２１に格納されたプログラムに基づいて動作する。このプログラムには、ホストコンピュータから受信したＰＤＬ（ページ記述言語）コードデータを解釈して中間データを姿勢し、ラスターイメージデータに展開する動作も記述されている。コードデータの解釈と中間データの生成はＣＰＵ５０２で行われ、ラスターイメージデータの展開はレンダリング部５０８行われる。レンダリング部５０８ではＣＰＵ５０２で作成された中間データに基づいてラスターイメージデータを作成し、メモリ１２１に対して作成したラスターデータを、バス制御部５１０を用いて転送する。レンダリング部５０８で作成されるイメージデータの色空間はＲＧＢ、ＣＭＹＫが挙げられる。
【００３６】
高速バス制御部５１１はプリンタ画像処理部１５１から入出力されるデータ転送を制御するものであり、バス競合時の調停やＤＭＡデータ転送の制御を行う。
【００３７】
シリアル通信制御部５０７はプリンタ部３００のＣＰＵとシリアルバスを介して制御コマンドを送受信して通信を行う。
【００３８】
シリアルバス制御部５０６ではホストコンピュータとの通信、各種デバイスとの通信がコネクタ１２２を介して行われる。シリアルバスとしては一般的にＵＳＢが挙げられ、ホストコンピュータからＰＤＬデータを受信するインタフェースとして用いられる。
【００３９】
コネクタ１２３に接続されたシリアルバスはリーダーコントローラ部２２２と接続され、リーダーとの通信や画像データの転送に用いられる。
【００４０】
バス制御部５１０にはカスタムバス１２５を介してＢｏｏｔＲＯＭ１２４とプリンタ画像処理部１５１が接続される。ＢｏｏｔＲＯＭ１２４はＣＰＵ５０１が起動するプログラムが格納されており、また場合によってはＰＤＬ用のフォントデータが格納される。また、メインコントローラ１１１からバス制御部５１０を介してレンダリング部５０８で展開されたラスターイメージデータをプリンタ画像処理部１５１へ転送する。
【００４１】
カスタムバス１２５はＢｏｏｔＲＯＭ１２４をアクセスする時には汎用バスモードで低速に動作し、プリンタ画像処理部１５１へラスターイメージデータを転送する時にはカスタムバスモードで高速に動作する。
【００４２】
汎用高速バス制御部５０９には汎用高速バス１３０が接続され、拡張ボードを接続するための拡張コネクタ１３５とＩ／Ｏ制御部１３６、ＨＤコントローラ１３１が接続される。汎用高速バスとしては一般的にＰＣＩバスが挙げられる。
【００４３】
画像圧縮部５０４、画像伸張部５０５では多値画像の圧縮・伸張を行い、同時に色空間変換を行う機能を有する。画像圧縮・伸張・色空間変換は、リーダー部２００から読み込んだ画像データをＬＡＮ１４７やコネクタ１２２を介してホストコンピュータに転送する際に標準色空間へ色空間変換する等で用いられる。
【００４４】
メモリコントローラ部５０３はメモリ１２１へのアクセスの制御を行う。バスブリッジ５１２は、メインコントローラ１１１内の各モジュール間のバスを接続している。
【００４５】
ＨＤコントローラ１３１は外部記憶装置を接続するためのものである。本実施形態においては、このＩ／Ｆを介してハードディスクドライブ１３２を接続している。ハードディスク１３２はプログラムを格納したり、画像データを記憶したりするのに用いられる。
【００４６】
Ｉ／Ｏ制御コントローラ１３６はデータバス１９１の制御を行い、ポートや割り込みの制御を行う。また、Ｉ／Ｏ制御コントローラ１３６にはＣＰＵ１３７が搭載され、ポート制御部１３８の制御やネットワークコントローラ１４０、操作部１８０との通信、モデム１４６との通信等を制御する。
【００４７】
ネットワークコントローラ１４０は外部ネットワーク１４７と接続される。ネットワークとしては一般的にイーサネット（登録商標）が挙げられ、ホストコンピュータからのＰＤＬデータ受信や、スキャナ画像の送信、リモート管理等に用いられる。
【００４８】
モデム１４６は公衆回線１４９に接続され、ファクシミリの通信を行う。メモリ１３９はＣＰＵ１３７のワーク用メモリ、操作部１８０に表示する画像データのワーク用メモリ等に用いられる。
【００４９】
操作部Ｉ／Ｆ１４５は操作部１８０の液晶画面に表示を行うためのＩ／Ｆと、ハードキーやタッチパネルキーの入力を行うためのキー入力Ｉ／Ｆとにより構成される。
【００５０】
操作部１８０は液晶表示部と液晶表示部上に張り付けられたタッチパネル入力装置と、複数個のハードキーとを有する。タッチパネル又はハードキーにより入力された信号は前述した操作部Ｉ／Ｆ１４５を介してＣＰＵ１３７に伝えられ、液晶表示部は操作部Ｉ／Ｆ１４５から送られてきた画像データを表示するものである。液晶表示部には、本画像形成装置の操作における機能表示や画像データ等を表示する。
【００５１】
ファン１４８はＩ／Ｏ制御コントローラ１３６に接続され、コントローラ部１１０を冷却するのに用いる。
【００５２】
ＳＲＡＭ１４１はバックアック用電池１４４でバックアップされており、ユーザモードや各種設定情報や、ハードディスクドライブ１３２のファイル管理情報等を蓄積している。
【００５３】
リアルタイムクロックモジュール１４３は機器内で管理する日付と時刻を更新／保存するためのもので、バックアップ電池１４４によってバックアップされている。
【００５４】
プリンタ画像処理部１５１、カスタムバス１２５と高速バス１５０でメインコントローラ１１１と接続されている。高速バス１５０は片方向通信でリング状に接続されている。プリンタ画像処理部１５１はコネクタ１８１を介してプリンタ部３００と接続され、メインコントローラ１１１から入力された画像データに所定の画像処理を施して、メインコントローラ１１１もしくはプリンタ部３００へ出力する機能を有する。メモリ１５２はプリンタ画像処理部１５１のワーク領域及び遅延バッファとして使用される。
【００５５】
（プリンタ画像処理部）
図７は、プリンタ画像処理部１５１の詳細な構成を示すブロック図である。メインコントローラ１１１からカスタムバス１２５を介して送られる画像信号は、まずデータ入力部７０１に入力される。データ入力部７０１ではラスターイメージデータ入力とメモリ１５２へのアクセスの切り替えを行い、ラスターイメージデータが入力された場合には色空間圧縮部７０４へ入力されたラスターイメージデータを転送する。
【００５６】
色空間圧縮部７０４では入力されたイメージデータをプリンタ色再現色内圧縮し、彩度調整、色位相調整、下地調整、黒領域調整を行う。また、入力色空間がＹＵＶの場合には色空間圧縮部７０４でＲＧＢ色空間に変換を行う。
【００５７】
下地除去・白黒変換部７０５ではＲＧＢのイメージデータに対して非線形演算を行い画像の下地を除去する機能と、スキャナ画像処理部４１５の無彩色判定部６１２で無彩色と判定された場合にイメージデータをＲＧＢからモノクロームに変換するカラー／白黒変換機能を有する。
【００５８】
ＬＯＧ変換部７０６では１次元のルックアップテーブルを用いて非線形変換を行い、イメージデータをＲＧＢ信号からＣＭＹ信号に変換する。ＣＭＹＫ変換部７０７では３次元のルックアップテーブルを用いてＣＭＹ信号をＣＭＹＫ信号に変換する。尚、メインコントローラ１１１から入力されたイメージデータの色空間がＣＭＹＫの場合には、色空間圧縮部７０４からＣＭＹＫ変換部７０７までは入力されたデータをそのまま出力する。
【００５９】
γ補正部７０８では入力されたＣＭＹＫ信号を各々独立に１次元ルックアップテーブルを用いて濃度調整する。ハーフトーン部７０９では、入力された多値のイメージデータを４／２／１ビット階調にする。
【００６０】
ＳＳＴ部７１０ではイメージデータのエッジ部をパターマッチングで検出して変換を行い、ジャギーを軽減して滑らかにする。ビデオカウント部７１７ではＣＭＹＫ変換部７０７から出力されたＣＭＹＫ信号にγ補正を行い、補正後の信号値を加算する。加算結果はプリンタ部３００でトナー消費量を推測するのに用いられる。
【００６１】
画像圧縮部７１１ではＳＳＴ部７１０から出力された画像データの可逆圧縮を行う。可逆圧縮方式として、一般的にはＪＢＩＧ圧縮が用いられる。画像圧縮部７１１からは圧縮データをバスコントローラ７１２に出力すると同時に、メモリアクセスキュー部７１６、メモリコントローラ部を介してメモリ１５２に非圧縮の画像データを格納する。メモリ１５２に格納される非圧縮の画像データは、画像圧縮部７１１において圧縮率が１を超えた場合に圧縮データを非圧縮データに置き換える際に用いられる。
【００６２】
バスコントローラ７１２は画像圧縮部７１１から入力された圧縮・非圧縮の画像データをメインコントローラに転送を行う。また、メモリ１５２にメインコントローラから入力された画像データの格納、プリンタ画像処理部１５１内の各モジュールのレジスタアクセスを行う役割を果たす。
【００６３】
画像伸張部７１４はメモリ１５２に格納された圧縮データの伸張を行い、再びメモリ１５２に伸張後の画像データを格納する。
【００６４】
プリンタコントローラ部７１５はメモリ１５２に格納された画像データをコネクタ１８１を介してプリンタ部３００に転送する。プリンタコントローラ部７１５では１ライン分の画像データを蓄積するメモリを有しており、反転出力を行う機能を有する。また、枠消しやマスキングの機能を有している。
【００６５】
γ補正部７０８、ハーフトーン部７０９、ＳＳＴ部７１０、ビデオカウント部７１７、画像圧縮部７１１、画像伸張部７１４、プリンタコントローラ部７１５は各々ＣＭＹＫ信号を独立に処理するために４系統の回路を有している。
【００６６】
メモリコントローラ部７１３はメモリ１５２へのアクセスの制御を行い、メモリアクセスキュー部７１６はデータ入力部７０１、画像圧縮部７１１、バスコントローラ部７１２、画像伸張部７１４、プリンタコントローラ部７１５からメモリ１５２へのアクセスの切り替えを行う。
【００６７】
また、図８はプリンタ画像処理部１５１のモジュール構成を示す図である。プリンタ画像処理部１５１は、画像圧縮部８０２、画像伸張部８０３、画像回転部８０４、画像変倍部８０５、色空間変換部８０６、画像二値化部８０８、画像二値多値変換化部８０９、画像合成部８１０の各モジュール部を備え、これら各モジュール部がバスコントローラ８０１を介してつながっている。画像圧縮部８０２は、作成されたラスタ画像データを圧縮符号化するモジュール部であり、画像伸張部８０３は、圧縮符号化されたラスタ画像データを伸張復号化するモジュール部である。また、画像回転部８０４は、ラスタ画像データを読み出し、画像回転するものであり、これにより給紙される用紙向きに応じて適切なラスタ画像データの画像信号を出力することができる。画像変倍部８０５は、拡大／縮小の指定に応じて、ラスタ画像データを拡大／縮小するモジュール部である。色空間変換部は、ＬＵＴ（ルックアップテーブル）８０７を参照して、色空間を変換するモジュールであり、ＲＧＢデータをＹＭＣＫデータへ色空間を変換することができる。画像二値化部８０８は、多値のラスタ画像データを閾値に応じて二値のラスタ画像データへ変換するモジュールである。また、画像二値多値変換化部８０９は、多値のラスタ画像データを、ディザパターンを用いて二値化を行うモジュールである。画像合成部８１０は、ラスタ画像データ同士を合成するためのモジュールである。
【００６８】
メモリ１５２はＤＲＡＭコントローラ８１１を介して各モジュールの一時的なワーク領域として使用される。各モジュールが用いるメモリ１５２のワーク領域が競合しないように、予め各モジュール毎にワーク領域が静的に割り当てられる。
【００６９】
プリンタ画像処理部１５１は、高速バス１５０を介してメインコントローラ１１１と接続される。メモリ１５２との間のデータの転送は、バスコントローラ８０１によって制御され、ＤＭＡ転送される。バスコントローラ８０１は、プリンタ画像処理部１５１の各モジュールにモード等を設定する制御、及び、各モジュールに画像データを転送するためのタイミング制御を行う。
【００７０】
（操作部概要）
図９は、操作部１８０の構成を示す図である。ＬＣＤ表示部３００１はＬＣＤ上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報をコントローラＣＰＵに伝える。スタートキー３００２は原稿画像の読み取り動作を開始するとき等に用いる。スタートキー３００２中央部には緑と赤の２色ＬＥＤがあり、その色によってスタートキーが使える状態にあるかどうかを示す。ストップキー３００３は稼働中の動作を止める働きをする。ＩＤキー３００４は使用者のユーザＩＤを入力するときに用いる。リセットキー３００５は操作部からの設定を初期化するときに用いる。
【００７１】
本発明の装置が提供する機能は、複写（Copy）／転送（Send）／取得印刷（Retrieve）／タスク（Tasks）／管理（Management）／環境設定（Configuration）の６つの大きなカテゴリに分かれており、これらは操作画面３０１０上の上部に表示される６つのメインタブ（COPY／SEND／RETREIVE／TASKS／MGMT／CONFIG）３０１１〜３０１６に対応している。これらのメインタブを押すことにより、各カテゴリの画面への切り替えが行われる。他カテゴリへの切り換えが許可されない場合は、メインタブの表示色が変わり、メインタブを押しても反応しない。
【００７２】
「Copy」は自機が有するスキャナとプリンタを使用して通常のドキュメント複写を行う機能と、自機が有するスキャナとネットワークで接続されたプリンタを使用してドキュメントの複写を行う機能（リモートコピー）を含む。「Send」は自機が有するスキャナに置かれたドキュメントを、電子メール、リモートプリンタ、ファックス、ファイル転送（ＦＴＰ）及びデータベースに転送する機能であり、宛先を複数指定することが可能である。「Retrieve」は外部にあるドキュメントを取得し、自機が有するプリンタで印刷する機能である。ドキュメントの取得手段としてWWW、電子メール、ファイル転送及びファックスの使用が可能である。「Tasks」はファックスやインターネットプリント等の外部から送られるドキュメントを自動処理し、定期的にRetrieveを行うためのタスクの生成、管理を行う。「Management」はジョブ・アドレス帳・ブックマーク・ドキュメント・アカウント情報等の管理を行う。「Configuration」では自機に関しての設定（ネットワーク、時計等）を行う。
【００７３】
（ＰＤＬ画像出力時のシーケンス）
図１０は、本実施形態におけるＰＤＬ画像出力の処理手順を示すフローチャートである。ＰＤＬ画像を出力する場合、ステップＳ５００１では、例えばＰＣ４０１上でユーザが当該ＰＤＬ画像出力ジョブのプリント設定を行う。プリント設定内容は、部数、用紙サイズ、片面／両面、ページ出力順序、ソート出力、ステイプル止めの有無等である。
【００７４】
ステップＳ５００２では、ＰＣ４０１上で印刷指示を与え、それと共にＰＣ４０１上にインストールされているドライバソフトウェアが、印刷対象となるＰＣ４０１上のコードデータをいわゆるＰＤＬデータに変換して、ステップＳ５００１で設定したプリント設定パラメータ情報とともに、画像入出力装置のコントローラ部１１０にネットワーク４００を介してＰＤＬデータを転送する。
【００７５】
以後のステップＳ５００３の処理は、プリンタ装置３００内部で行われる処理である。ステップＳ５００３では、プリンタ装置３００が、ＰＣ４０１から受信したＰＤＬデータをプリント設定パラメータに基づいて、中間データを生成し、この中間データに基づいて画像データに展開（ラスタライズ）する。ステップＳ５００４では、展開されたラスター画像データはプリンタ画像処理部１５１に点順次で入力される。
【００７６】
ステップＳ５００５では、ラスタ画像データをプリンタ画像処理部１５１で画像処理を行われる。例えば、プリンタ画像処理部１５１は、ラスタ画像データに対してハーフトーン処理を施す。
【００７７】
ステップＳ５００６では、ハーフトーン処理後の画像データをブロック単位（バンド単位）で圧縮する。このブロック単位とは、例えば、縦１２画素×横１２画素の１４４画素を単位としてもよいし、また、１ページを短冊状に分割した所定サイズのバンド単位であってもよい。図１１に、ステップＳ５００６の画像圧縮処理を説明するためのフローチャートを示す。ステップＳ５１０１では、ハーフトーン処理が施された画像データをブロック単位（バンド単位）にして、そのままメモリ１５２に転送する。これは、バンド単位において画像データを圧縮したデータサイズと非圧縮データとを比較して非圧縮データのデータサイズが小さいとき、つまり圧縮率が１を超える場合、非圧縮データをメモリに転送することによって省メモリ効果を図ることができる。また、圧縮後の圧縮率（データサイズ）が１を超える場合には、メモリの使用領域を余分に確保する必要があり、メモリの使用効率が低下するという問題を解消することができる。要するに、メモリに確保する領域は非圧縮データサイズ、つまり生画像データサイズ分という固定した領域を確保しておけばよいことになる。
【００７８】
ステップＳ５１０２では、ハーフトーン処理後の画像データを画像圧縮部７１１にてバンド単位で画像圧縮し、ステップＳ５１０３では、そのバンド単位で圧縮したデータをメモリ１２１へ転送する。メモリ１２１に出力する画像データはバスコントローラ７１２でＤＭＡ制御され、ＣＭＹＫ面順時として出力される。
【００７９】
ステップＳ５１０４では、バンド単位で圧縮した圧縮率が第１の設定値「１」以上であるかどうかの判定を行い、圧縮率が「１」以上であるものについては、ステップＳ５１０５で、メモリ１５２に格納された非圧縮データをメモリ１２１に転送して圧縮データに上書きする。
【００８０】
その後、ステップＳ５１０６では、メモリ１２１に記憶されたページ（画像のデータ全体）における圧縮率を計算する。
【００８１】
図１０に説明を戻して、ステップＳ５００７では、ページ圧縮率（データサイズ）が第２の設定値「１／４」以下になっているかどうかを確認し、圧縮率が「１／４」を超えている場合、ステップＳ５００８で間引き処理を施して、再度ステップＳ５００３から画像処理を施す。尚、本実施例では、第２の設定値を「１／４」としたがこれに限るものではなく「１／２」又は「３／４」としてもよい。
【００８２】
ステップＳ５００８の間引き処理の手順は、ブロック単位で圧縮されている圧縮データをいったん伸張し、ハーフトーン処理後の６００ｄｐｉ、４ｂｉｔの画像データを１５０ｄｐｉ、８ｂｉｔに各色成分毎にデータ解像度変換を行いデータの情報量を減少させる。１５０ｄｐｉ、８ｂｉｔの間引きした画像データはプリンタの印字解像度に合わせるためにレンダリング部５０８で再び６００ｄｐｉ、４ｂｉｔに解像度変換し、プリンタ画像処理部１５１に転送される。尚、圧縮されていないブロックは、伸張処理を行わずに間引き処理が行われる。
【００８３】
１ページのレンダリング処理が終了すると、ステップＳ５００９で画像データはメモリ１２１からメモリ１５１へ転送される。データ転送は高速バス制御部５１１でＤＭＡ制御され、各色成分毎にプリンタ画像処理部１５１のリクエスト信号に従って転送される。
【００８４】
ステップＳ５０１０では、メモリ１５１に入力された圧縮画像データを伸張して伸張後の画像データをメモリ１５１に戻す。
【００８５】
ステップＳ５０１１では、メモリ１５１に蓄積された画像データを、プリンタ部３００からの制御信号に同期させてプリンタコントローラ部７１５から画像データをプリント出力する。プリンタ部３００から入力されるＣＭＹＫ各々の制御信号は感光ドラム３２５、３２６、３２７、３２８の位置に合わせてずれて入力され、このドラム間の色成分毎のずれ量をメモリ１２１のデータ出力タイミングで吸収する。
【００８６】
画像データの転送が完了すると、すなわち当該ＰＤＬジョブが終了すると、プリント出力を終了する。
【００８７】
（コピー画像出力時のシーケンス）
図１２は、本実施形態におけるコピー画像出力の処理手順を示すフローチャートである。コピー画像を出力する場合、ステップＳ４００１では、操作部１８０上でユーザが当該コピー画像出力ジョブのコピー設定を行う。コピー設定内容は、部数、用紙サイズ、片面／両面、拡大／縮小率。ソート出力。ステイプル止めの有無等である。
【００８８】
ステップＳ４００２では、操作部１８０上でコピー開始指示を与えると、コントローラ部１１０のメインコントローラ１１１はコネクタ１２２を介してリーダー部２００を制御し、原稿の画像データの読み込み動作を行う。まず、原稿給紙ユニット２５０は、載置された原稿を１枚ずつプラテンガラス２１１上へ給送し、その際同時に原稿のサイズを検知する。検知された原稿のサイズに基づいて原稿を露光走査することにより、画像データを読み取るわけである。変倍処理を行う場合は、等倍（１００%）でＣＣＤから画像データを読み取り、拡大／縮小の設定に応じてスキャナ画像処理部４１５の線形補間部６０７にて変倍処理を行う。読み取られた画像データはいったんリーダー部のメモリ４２１に画像データと像域フラグとして格納し、各々多値画像圧縮伸張部４１４及びＣＰＵ４０２にて圧縮処理を施してメモリ４２１に格納する。
【００８９】
ステップＳ４００３では、メモリ４２１上のデータをコントローラ部１１０のメモリ１２１に転送する。コントローラ部１１０に転送するデータは圧縮画像データと、圧縮像域フラグが挙げられる。
【００９０】
ステップＳ４００４では、メモリ１２１上の圧縮画像データを画像伸張部５０５でラスター画像に伸張し、ＣＰＵ５０１で伸張した像域フラグデータと共にプリンタ画像処理部１５１にバス制御部５１０を介して転送する。
【００９１】
ステップＳ４００５では、プリンタ画像処理部１５１に入力されたラスター画像データを像域フラグデータを参照しながら画像処理を施してハーフトーン画像を作成する。ハーフトーン画像は画像圧縮部７１１を介してメモリ１５２に格納する。このとき、画像圧縮部７１１では画像圧縮は行わない。
【００９２】
ステップＳ４００６では、メモリ１５１に蓄積された画像データを、プリンタ部３００からの制御信号に同期させてプリンタコントローラ部７１５から画像データをプリント出力する。プリンタ部３００から入力されるＣＭＹＫ各々の制御信号は感光ドラム３２５、３２６、３２７、３２８の位置に合わせてずれて入力され、このドラム間の色成分毎のずれ量をメモリ１５２で吸収する。
【００９３】
画像データの転送が完了すると、すなわち当該コピージョブが終了すると、プリント出力を終了する。
【００９４】
尚、本発明の目的は、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【００９５】
この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９６】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００９７】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（基本システム或いはオペレーティングシステム）等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００９９】
【図１】本実施形態の画像入出力システムの全体構成を示す図である。
【図２】リーダー部及びプリンタ部の概略構成を示す図である。
【図３】リーダーコントローラ部の詳細な構成を示すブロック図である。
【図４】リーダーコントローラ部のスキャナ画像処理部の詳細な構成を示すブロック図である。
【図５】コントローラ部の詳細な構成を示すブロック図である。
【図６】コントローラ部のメインコントローラの詳細な構成を示すブロック図である。
【図７】プリンタ画像処理部の詳細な構成を示すブロック図である。
【図８】プリンタ画像処理部の構成を示すブロック図である。
【図９】操作部の概略構成を示す図である。
【図１０】本実施形態におけるＰＤＬ画像出力の処理手順を示すフローチャートである。
【図１１】画像圧縮処理を説明するためのフローチャートである。
【図１２】本実施形態におけるコピー画像出力の処理手順を示すフローチャートである。
【符号の説明】
【０１００】
１００    画像入出力システム
１１０    コントローラ部
１１１    メインコントローラ
１２１    メモリ
１５１    プリンタ画像処理部
７０１    データ入出力部
７０４    色空間圧縮部
７０５    下地除去・白黒変換部
７０６    ＬＯＧ変換部
７０７    ＣＭＹＫ変換部
７０８    γ補正部
７０９    ハーフトーン部
７１０    ＳＳＴ部
７１１    画像圧縮部
７１２    バスコントローラ
７１４    画像伸張部
７１５    プリンタコントローラ部７１５
７１６    メモリアクセスキュー部
７１７    ビデオカウント部
１５２    メモリ
２００    リーダー部
３００    プリンタ部
【図１】
2007096695.tif 000003
【図２】
2007096695.tif 000004
【図３】
2007096695.tif 000005
【図４】
2007096695.tif 000006
【図５】
2007096695.tif 000007
【図６】
2007096695.tif 000008
【図７】
2007096695.tif 000009
【図８】
2007096695.tif 000010
【図９】
2007096695.tif 000011
【図１０】
2007096695.tif 000012
【図１１】
2007096695.tif 000013
【図１２】
2007096695.tif 000014