(57)【特許請求の範囲】
【請求項１】
画像データに対して異なる処理を行う複数の画像処理手段を備える画像処理装置であって、
ブロック単位の画像データを圧縮する圧縮手段と、
前記圧縮されたブロック単位の画像データに、当該ブロック単位の画像データに対して前記複数の画像処理手段により行われるべき処理の手順を示す情報を付加する付加手段と、
前記圧縮されたブロック単位の画像データに付加された前記情報を参照し、当該情報が示す処理の手順に従って、前記圧縮されたブロック単位の画像データの複数の伸長方法の中から１つの伸長方法を決定する決定手段と、
前記決定された伸長方法に、前記圧縮されたブロック単位の画像データを伸長する伸長手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記圧縮手段は、前記ブロック単位の画像データから、当該ブロック単位の画像データの解像度よりもより低い解像度を有する低解像度データと当該低解像度データを元の画像データへ復元するために必要な補間データとを生成することにより、前記ブロック単位の画像データを圧縮し、
前記付加手段は、前記情報を前記低解像度データと前記補間データに付加することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記情報には、前記複数の画像処理手段に対して割り当てられたユニットＩＤコード及び前記複数の画像処理手段における処理モードを示すモードコードからなる組を複数作成し、各組が処理されるべき順番に格納されていることを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記各組におけるモードコードは、モードコードが必要でない旨を示す値であることを特徴とする請求項３記載の画像処理装置。
【請求項５】
ジョブを管理するために割り当てられたジョブＩＤコードと、前記ブロック単位の画像データが対応するページに割り当てられたページＩＤコードとが前記圧縮されたブロック単位の画像データのヘッダとして付加されることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記ブロック単位の画像データのページデータ上の座標を示すパケットＩＤコードが前記圧縮されたブロック単位の画像データのヘッダとして付加されることを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記圧縮手段は、複数の段階に前記ブロック単位の画像データを圧縮し、
前記決定手段は、前記情報の示す処理毎に当該処理を実行するのに必要となる段階へ伸長するための伸長方法を判断し、前記情報の示す全ての処理を実行することが可能な段階へ伸長する伸長方法を決定することを特徴とする請求項２乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記補間データは、前記ブロック単位の画像データにおける所定の１画素の色を当該画像データを代表する色情報としたときの残りの画素から得られる複数の色情報により構成されることを特徴とする請求項２に記載の画像処理装置。
【請求項９】
前記複数の画像処理手段により実行される処理には、前記画像データの色変換、解像度変倍、回転、トリミング、マスキング、２値変換、多値変換、または白紙判定が含まれることを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
画像データに対して異なる処理を行う複数の画像処理手段を備える画像処理装置の画像処理方法であって、
ブロック単位の画像データを圧縮する圧縮工程と、
前記圧縮されたブロック単位の画像データに、当該ブロック単位の画像データに対して前記複数の画像処理手段により行われるべき処理の手順を示す情報を付加する付加工程と、
前記圧縮されたブロック単位の画像データに付加された前記情報を参照し、当該情報が示す処理の手順に従って、前記圧縮されたブロック単位の画像データの複数の伸長方法の中から１つの伸長方法を決定する決定工程と、
前記決定された伸長方法に、前記圧縮されたブロック単位の画像データを伸長する伸長工程とを備えることを特徴とする画像処理方法。
【請求項１１】
請求項１０記載の画像処理方法を画像処理装置に実行させるためのコンピュータで読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像処理の実行が可能な画像処理装置及び方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来の符号化方法において、並列処理の容易化を目的として、画像データを複数のブロック単位で処理する技術が提案されている（例えば、特許文献１参照）。また、特許文献１では、処理の簡略化、高速化、画質向上という点で、ブロック単位で符号化処理をしたまま画像データをハンドリングする技術も提案されている。さらに、特許文献１では、Ｎ×Ｎのブロック単位で符号化したデータを画像データのライン単位に先頭アドレスを算出して記録することで、回転処理において先頭アドレスを参照しながら読出すことにより、回転処理の実行が可能となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２―２７１７９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１のように、ブロック単位で符号化されたフォーマットで複数の画像処理を行う場合、次のような課題がある。例えば、画像データを回転処理するだけの場合、上記特許文献１の技術を用いて、符号化されたままの画像データを回転処理するが、回転処理に加えて解像度変倍処理を行う場合には、画像データを一度デコードする必要がある。そのため、回転処理だけを行うジョブの画素ブロック群と、回転処理に加えて解像度変倍処理を行うジョブの画素ブロック群を同時に処理する場合には、各処理に合わせた最適なフォーマットが得られるように、符号化器の伸長の設定を変更する必要がある。
【０００５】
本発明は、上記問題に鑑みて成されたものであり、画像データを複数の処理に合わせた適切な方法で伸長することができると共に、処理の簡略化及び高速化を可能にする画像処理装置及び方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の画像処理装置は、画像データに対して異なる処理を行う複数の画像処理手段を備える画像処理装置であって、ブロック単位の画像データを圧縮する圧縮手段と、前記圧縮されたブロック単位の画像データに、当該ブロック単位の画像データに対して前記複数の画像処理手段により行われるべき処理の手順を示す情報を付加する付加手段と、前記圧縮されたブロック単位の画像データに付加された前記情報を参照し、当該情報が示す処理の手順に従って、前記圧縮されたブロック単位の画像データの複数の伸長方法の中から１つの伸長方法を決定する決定手段と、前記決定された伸長方法に、前記圧縮されたブロック単位の画像データを伸長する伸長手段とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、画像データを複数の処理に合わせた適切な方法で伸長することができると共に、処理の簡略化及び高速化を可能にする。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１の実施形態に係る画像処理装置の全体構成を示すブロック図である。
【図２】図１のＣＰＵ１０５上で動作するソフトウェアモジュールのブロック図である。
【図３】（ａ）は、図１の画像処理装置１００で扱うパケットデータの構成例を示す図、（ｂ）はパケットデータ内のプロセスインストラクションの詳細な構成例を示す図である。
【図４】（ａ）は画像圧縮部１０３の内部構成を示すブロック図、（ｂ）は画像圧縮部１０３を構成する第１解像度圧縮部の内部構成を示すブロック図である。
【図５】２×２の配置コードパターンの一例を示す図である。
【図６】（ａ）はデータパケット内の全ての画素が２×２のブロックデータとして読み出されてコード化された後のデータパケットの構成例を示す図、（ｂ）は第１解像度圧縮部５０２と第２解像度圧縮部５０３により３００ｄｐｉまで低解像度化されたデータパケットの構成例を示す図である。
【図７】（ａ）は画像伸長部１２１の内部構成を示すブロック図、（ｂ）は画像伸長部１２１を構成する第１解像度伸長部の内部構成を示すブロック図である。
【図８】画像伸長部１２１による解像度伸長処理を示すフローチャートである。
【図９】伸長化制御部６０１で設定されている伸長レベルと処理可能モジュール・モードとの関係を示す伸長レベル決定テーブルの一例を示す図である。
【図１０】画像編集用画像処理部１２０の内部構成を示すブロック図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【００１０】
［第１の実施形態］
図１は、本発明の第１の実施形態に係る画像処理装置の全体構成を示すブロック図である。
【００１１】
図１において、画像処理装置１００は、画像入力デバイスである１０１と、画像出力デバイスであるプリンタエンジン１０２に接続し、これらに対して画像読み取りやプリント出力のための制御を行う。また、画像処理装置１００は、ＬＡＮ１０や公衆回線１０４と接続し、これらを介して画像情報やデバイス情報を入出力するための制御を行う。また、画像処理装置１００は、画像データ等を表示可能な表示画面を有する操作部１１０と接続する。本実施形態では、画像処理装置１００、スキャナ１０１、プリンタエンジン１０２、及び操作部１１０により画像形成装置を構成する。
【００１２】
画像処理装置１００において、ＣＰＵ１０５は、画像処理装置１００を含む画像形成装置全体を制御するための中央処理装置である。ＲＡＭ１０６は、ＣＰＵ１０５が動作するためのワークメモリであり、入力された画像データを一時記憶するための画像メモリでもある。ＲＯＭ１０７は、ブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ１０８は、ハードディスクドライブであり、各種処理のためのシステムソフトウェア及び入力された画像データ等を格納する。
【００１３】
操作部Ｉ／Ｆ１０９は、操作部１１０に接続されたインタフェース部であり、操作部１１０に対して操作画面を表示するためのデータ等を出力する。また、操作部Ｉ／Ｆ１０９は、操作部１１０から操作者が入力した情報をＣＰＵ１０５に伝える役割をする。
【００１４】
ネットワークＩ／Ｆ１１１は、ＬＡＮ１０等のネットワークに接続された通信インタフェース部であり、例えばＬＡＮカード等で構成される。また、ネットワークＩ／Ｆ１１１は、ＬＡＮ１０上のパーソナルコンピュータ（ＰＣ）や他の画像形成装置、画像処理装置等の外部装置との間で情報の入出力を行う。モデム１１２は、公衆回線１０４に接続し、外部装置との間で情報の入出力を行う。
【００１５】
ＣＰＵ１０５、ＲＡＭ１０６、ＲＯＭ１０７、ＨＤＤ１０８、操作部Ｉ／Ｆ１０９、ネットワークＩ／Ｆ１１１、モデム１１２、及びイメージバスＩ／Ｆ１１４は、システムバス１１３上に配置されている。
【００１６】
イメージバスＩ／Ｆ１１４は、システムバス１１３と画像データを高速で転送する画像バス１１５とを接続するためのインタフェースであり、データ構造を変換するバスブリッジである。画像バス１１５には、ラスタイメージプロセッサ（ＲＩＰ）部１１６、デバイスＩ／Ｆ１１７、スキャナ画像処理部１１８、画像編集用画像処理部１２０、画像圧縮部１０３、画像伸長部１２１、及びカラーマネージメントモジュール（ＣＭＭ）１３０が接続される。
【００１７】
ラスタイメージプロセッサ（ＲＩＰ）部１１６は、ページ記述言語（ＰＤＬ）コードをイメージデータに展開し、それをページ順に並んでいるページデータとしてＲＩＰ用パケット生成部１３１に出力する。ＲＩＰ用パケット生成部１３１は、ＲＩＰ部１１６から入力されたページデータを内部のバッファ（不図示）で逐次格納する。バッファに格納されたページデータを任意の画素ブロック単位の矩形データ（画素データ）に分割して読出し、分割された各画素データに後述する情報をヘッダデータとして付加する。そして、各画素データの属性を示す属性データを各画素データに付加して、データパケットを生成する。
【００１８】
デバイスＩ／Ｆ１１７は、スキャン用パケット生成部１３２やプリンタ画像処理部１１９を介して、スキャナ１０１やプリンタエンジン１０２に接続し、画像データの同期系／非同期系の変換を行う。スキャン用パケット生成部１３２は、スキャナ１０１より入力された、スキャンの走査順に並んでいるページデータを内部のバッファ（不図示）で逐次格納する。バッファに格納されたページデータを任意の画素ブロック単位の矩形データ（画素データ）に分割して読出し、分割された各画素データに後述する情報をヘッダデータとして付加する。そして、各画素データの属性を示す属性データを各画素データに付加して、データパケットを生成する。
【００１９】
スキャナ画像処理部１１８は、スキャナ１０１からスキャン用パケット生成部１３２を介して入力された画像データに対して、補正、加工、編集等の各種処理を行う。画像編集用画像処理部１２０は、画像データの回転や解像度変倍、色処理、トリミング、マスキング、２値変換、多値変換、白紙判定等の各種画像処理を行う。画像圧縮部１０３は、ＲＩＰ部１１６やスキャナ画像処理部１１８、画像編集用画像処理部１２０で処理された画像データを所定の圧縮方式で符号化する。圧縮された画像データは、ＨＤＤ１０８で一度格納される。
【００２０】
画像伸長部１２１は、ＨＤＤ１０８に格納されている圧縮された画像データを必要に応じて復号化して伸長する。伸長された画像データは、画像編集用画像処理部１２０で処理されたり、プリンタ画像処理部１１９で画像処理されたり、プリンタエンジン１０２に出力される。
【００２１】
プリンタ画像処理部１１９は、プリント出力する画像データに対して、プリンタエンジンに応じた画像処理補正等の処理を行う。ＣＭＭ１３０は、画像データに対して、プロファイルやキャリブレーションデータに基づいた色変換処理（色空間変換処理ともいう）を施す専用ハードウェアモジュールである。プロファイルとは、機器に依存した色空間で表現したカラー画像データを機器に依存しない色空間（例えばＬａｂなど）に変換するための関数のような情報である。キャリブレーションデータは、スキャナ１０１やプリンタエンジン１０２の色再現特性を修正するためのデータである。
【００２２】
図２は、図１のＣＰＵ１０５上で動作するソフトウェアモジュールのブロック図である。
【００２３】
ジョブコントロール処理モジュール２０１は、ＣＰＵ１０５上で動作する図示（及び不図示）の各ソフトウェアモジュールを統括・制御することで、コピー、プリント、スキャン、ＦＡＸ送受信などの画像形成装置内で処理されるあらゆるジョブの制御を行う。ネットワーク処理モジュール２０２は、主にネットワークＩ／Ｆ１１１を介して行われる外部装置との通信を制御するモジュールであり、ＬＡＮ１０上の各機器との通信制御を行う。例えば、ネットワーク処理モジュール２０２は、ＬＡＮ１０上の機器からの制御コマンドやデータを受信すると、その内容をジョブコントロール処理モジュール２０１へ通知する。また、ジョブコントロール処理モジュール２０１からの指示に基づき、ＬＡＮ１０上の所定の機器へ制御コマンドやデータの送信を行う。
【００２４】
ＵＩ処理モジュール２０３は、主に操作部１１０、操作部Ｉ／Ｆ１０９に係る制御を行う。ＵＩ処理モジュール２０３は、操作者が操作部１１０を操作した内容をジョブコントロール処理モジュール２０１へ通知すると共に、ジョブコントロール処理モジュール２０１からの指示に基づいて、操作部１１０上の表示画面の表示内容を制御する。
【００２５】
ＦＡＸ処理モジュール２０４は、ＦＡＸ機能の制御を行う。例えば、ＦＡＸ処理モジュール２０４は、モデム１１２を介してＦＡＸ受信を行い、受信したＦＡＸ画像に画像処理を施した後、画像処理後の画像データをジョブコントロール処理モジュール２０１へ通知する。また、ジョブコントロール処理モジュール２０１により指定された画像を指定通知先へＦＡＸ送信を行う。
【００２６】
プリント処理モジュール２０７は、ジョブコントロール処理モジュール２０１からの指示に基づいて、画像編集用画像処理部１２０、プリンタ画像処理部１１９、及びプリンタエンジン１０２を制御し、指定された画像データの印刷処理を行う。例えば、プリント処理モジュール２０７は、ジョブコントロール処理モジュール２０１から、画像データ、画像情報（画像データのサイズ、カラーモード、解像度など）、レイアウト情報（オフセット、拡大縮小、面つけなど）を受け付ける。さらに、出力用紙情報（サイズ、印字方向など）等を受け付ける。そして、画像圧縮部１０３、画像伸長部１２１、画像編集用画像処理部１２０、及びプリンタ画像処理部１１９を制御して、画像データに対して適切な画像処理を施し、プリンタエンジン１０２を制御して指定用紙への印刷を行わせる。
【００２７】
スキャン処理モジュール２１０は、ジョブコントロール処理モジュール２０１からの指示に基づいて、スキャナ１０１、スキャン用パケット生成部１３２、及びスキャナ画像処理部１１８を制御する。そして、スキャナ１０１の原稿台にある原稿のスキャンを実行し、画像データの入力を行う。例えば、スキャン処理モジュール２１０は、ジョブコントロール処理モジュール２０１からの指示に含まれるカラーモードに応じて処理を行う。すなわち、カラーモードがカラーであれば、原稿をカラー画像データとして入力し、カラーモードがモノクロであれば、原稿をモノクロ画像データとして入力する。また、カラーモードがＡｕｔｏである場合には、プレスキャンなどにより原稿画像のカラー／モノクロ判定を行い、その判定結果に基づいて再度原稿をスキャンしてカラー画像データ又はモノクロ画像データを入力する。入力された画像データのカラー情報は、ジョブコントロール処理モジュール２０１へ通知される。
【００２８】
また、スキャン処理モジュール２１０は、入力された画像データに対して、スキャナ画像処理部１１８を制御して画像の圧縮等の画像処理を施した後、ジョブコントロール処理モジュール２０１へ画像処理済みの画像データを通知する。
【００２９】
色変換処理モジュール２０９は、ジョブコントロール処理モジュール２０１からの指示に基づいて、画像データに対して色変換処理を行い、色変換処理後の画像データをジョブコントロール処理モジュール２０１へ通知する。ジョブコントロール処理モジュール２０１は、色変換処理モジュール２０９に対して、入力色空間情報、出力色空間情報、及び色変換を適用する画像データを通知する。色変換処理モジュール２０９に通知された出力色空間が、入力機器に依存しない色空間（例えばＬａｂ空間）である場合には、入力機器に依存する入力色空間（例えば、ＲＧＢ）からＬａｂに変換するための情報である入力プロファイル情報が併せて通知される。この場合、色変換処理モジュール２０９は、入力プロファイルにより、入力色空間からＬａｂ空間へマッピングするルックアップテーブル（ＬＵＴ）を作成し、このＬＵＴを利用して入力画像の色変換を行う。
【００３０】
また、色変換処理モジュール２０９に通知された入力色空間が、Ｌａｂ空間である場合には、Ｌａｂ空間から出力機器に依存する出力色空間に変換するための出力プロファイル情報が併せて通知される。この場合、色変換処理モジュール２０９は、出力プロファイルにより、Ｌａｂ色空間から出力色空間へマッピングするＬＵＴを作成し、このＬＵＴを利用して入力画像の色変換を行う。
【００３１】
また、色変換処理モジュール２０９に通知された入力色空間、出力色空間の双方が、デバイスに依存する色空間である場合には、入力プロファイルと出力プロファイルの双方が通知される。この場合、色変換処理モジュール２０９は、入力プロファイル及び出力プロファイルにより、入力色空間から出力色空間へダイレクトにマッピングするＬＵＴを作成し、このＬＵＴを利用して入力画像の色変換を行う。色変換処理モジュール２０９では、ＣＭＭ１３０が装置内にあれば、ＣＭＭ１３０へ生成したＬＵＴを設定することより、ＣＭＭ１３０を利用して色変換を行う。一方、ＣＭＭ１３０がない場合にはＣＰＵ１０５がソフト的に色変換処理を行う。
【００３２】
ＲＩＰ処理モジュール２１１は、ジョブコントロール処理モジュール２０１からの指示に基づいて、ＰＤＬ（ページ記述言語）コードの解釈（インタプリット）を行い、ＲＩＰ部１１６を制御してレンダリングすることで、ビットマップイメージへの展開を行う。さらにＲＩＰ用パケット生成部１３１にてパケットデータ生成のための設定・制御を行う。
【００３３】
図３（ａ）は、図１の画像処理装置１００で扱うデータパケットの構成例を示す図であり、図３（ｂ）は、図３（ａ）に示すデータパケット内のプロセスインストラクションの詳細な構成例を示す図である。本実施の形態で扱うデータパケットのサイズは３２×３２の画素ブロックを１単位としているが、これに限定されるものではない。
【００３４】
図３（ａ）に示すデータパケットは、スキャン用パケット生成部１３２またはＲＩＰ用パケット生成部１３１で生成されるデータパケット（Data Packet）である。また、データパケットは、所定サイズのイメージデータ（Image Data）３０２にヘッダ（Header）３０１と属性データ（Z Data）３０３とを付加したものである。属性データ（Z Data）３０３は、イメージデータ３０２の属性を示す属性データである。
【００３５】
まず、ヘッダ（Header）３０１の情報の詳細について説明する。
【００３６】
イメージタイプ（Image Type）３０４は、データパケット内のイメージデータ（Image Data）３０２のデータフォーマットや解像度を示すものである。イメージタイプ３０４には、例えば、ＲＧＢ、ＣＭＹＫ、ＹＵＶや３００ｄｐｉ、６００ｄｐｉ、１２００ｄｐｉなどを識別するための情報が含まれる。ページＩＤ（Page ID）３０５には、イメージデータ３０２が対応するページに割り当てられたページＩＤコードが格納される。ジョブＩＤ（Job ID）３０６には、ジョブコントロール処理モジュール２０１などでジョブを管理するためにジョブごとに割り当てられたジョブＩＤコードが格納される。
【００３７】
パケットＩＤ（Ｙ方向）（Packet ID Y-coordinate）３０７とパケットＩＤ（Ｘ方向）（Packet ID X-coordinate）３０８は、ページデータ上の座標を示すパケットＩＤコードが格納される。プロセスインストラクション（Process Instruction）３０９は、データパケットに対して実行するように設定された処理内容を示すものである。複数の処理が設定される場合には複数の処理のそれぞれを識別する処理情報が左詰めで順にプロセスインストラクション３０９に設定される。図１０に示す画像編集用画像処理部１２０内の各処理ユニットは、それぞれがプロセスインストラクション３０９で示された処理を実行した後に、プロセスインストラクション３０９内の処理情報の格納位置を図示の左側に６ビットシフトする（図３（ｂ）参照）。
【００３８】
プロセスインストラクション３０９には、イメージデータ３０２を処理すべき処理ユニットに対して個別に割り当てられたユニットＩＤコードと該当する処理ユニットにおける処理モードを示すモードコードを１組として、８組の処理情報が格納されている。ここでいう処理ユニットは、図１０に示す色処理部４０２、回転処理部４０３、トリミング・マスキング処理部４０４、解像度変倍処理部４０５、２値多値変換部４０６、及び白紙判定部４０７を含む複数の画像処理手段を意味する。プロセスインストラクション３０９内の処理情報は、ジョブコントロール処理モジュール２０１からの指示に基づき、各ジョブ、ページ情報に応じてプリント処理モジュール２０７により設定される。
【００３９】
図３（ｂ）に示すユニットＩＤ（Unit ID）コード１〜８（３１７，３１９，３２１，３２３，３２５，３２７，３２９，３３１）は、４ビットのコード長を持ち、処理ユニットを指定するための情報である。モード（Mode）コード１〜８（３１８，３２０，３２２，３２４，３２６，３２８，３３０，３３２）は、２ビットのコード長をもち、処理ユニットでの処理モードを指定するための情報である。実行すべき処理がユニットＩＤコードのみで特定可能である場合には、モードコードは特に必要なく、その旨を示す値（例えば、“００”）がモードコードとして設定される。本実施形態では、プロセスインストラクション３０９内のユニットＩＤに“１１１１”を格納することで全ての処理が終了したことを識別することが可能となっている。そのため、１つのデータパケットに対して、最大で７つの処理ユニットによる処理を実行するように設定することができる。
【００４０】
図３（ａ）において、パケット長（Packet Byte Length）３１０は、データパケットのトータルのバイト数を示す。画像データオフセット（Image Data Offset）３１１及び属性データオフセット（Z Data Offset）３１２は、それぞれデータパケットの先頭アドレスからのデータのバイト単位のオフセット量を示す。画像データ長（Image Data Byte Length）３１３は画像データのバイト数を表し、属性データ長（Z Data Byte Length）３１４は属性データのバイト数を表す。
【００４１】
圧縮フラグ（Compress Flag）３１５は、データパケット内のイメージデータの圧縮状態を示すフラグである。サムネイルデータ（Thumbnail Data）３１６は、データパケットを簡易的にサムネイル表示するためのサンプリングデータが格納されている部分である。
【００４２】
次に、画像処理装置１００がＬＡＮ１０を介して外部装置から印刷ジョブを受信して、プリンタエンジン１０２にて印刷ジョブに基づく印刷を行う動作処理について説明する。
【００４３】
画像処理装置１００は、ＬＡＮ１０を介して外部装置から送信されてきたＰＤＬ（ページ記述言語）コードをネットワークＩ／Ｆ１１１にて受信する。受信したＰＤＬコードは、システムバス１１３、イメージパスＩ／Ｆ１１４、及び画像バス１１５を介してＲＩＰ部１１６へ入力される。
【００４４】
ＲＩＰ部１１６は、入力されたＰＤＬコードに対してＰＤＬ解釈（インタプリット）を行い、ＰＤＬコードを当該ＲＩＰ部１１６にて処理できるコードデータへ変換し、それに基づいてレンダリングを実行する。ＲＩＰ部１１６でレンダリングされたページデータは、ＲＩＰ用パケット生成部１３１内のバッファ（不図示）に逐次格納される。そして、ＲＩＰ用パケット生成部１３１は、バッファに格納されたページデータを任意の画素ブロック単位（例えば３２×３２）の矩形データに分割して読出し、各矩形データに図３（ｂ）に示すプロセスインストラクションを含むヘッダ３０１を付加する。この矩形データはイメージデータ３０２に相当する。さらに、ＲＩＰ用パケット生成部１３１は、ＲＩＰ部１１６から矩形データと併せて出力された属性データ３０３を各矩形データに付加して、図３（ａ）に示すデータパケットを生成する。生成されたデータパケットは、ＨＤＤ１０８に一時的に格納されるべく、画像圧縮部１０３にて圧縮される。
【００４５】
ここで、本実施の形態で実行される圧縮の圧縮方式と、その圧縮方式に基づいて圧縮を行う画像圧縮部１０３の構成について説明する。
【００４６】
図４（ａ）は、画像圧縮部１０３の内部構成を示すブロック図であり、図４（ｂ）は、画像圧縮部１０３を構成する第１解像度圧縮部の内部構成を示すブロック図である。
【００４７】
図４（ａ）において、画像圧縮部１０３は、符号化制御部５０１と、第１解像度圧縮部５０２と、第２解像度圧縮部５０３と、データ符号化部５０４とを備える。
【００４８】
データパケットが画像バス１１５を介して画像圧縮部１０３に入力されると、まず、符号化制御部５０１は上述したデータパケット内のヘッダ３０１を解読する。符号化制御部５０１は、ヘッダ３０１内の圧縮フラグ３１５を参照して、当該データパケット内のイメージデータが圧縮されていないＲＡＷデータであることを確認し、圧縮動作の実行を決定して、当該データパケットを第１解像度圧縮部５０２に出力する。そして、第１解像度圧縮部５０２は、データパケットに対して、低解像度データへの圧縮を施す。
【００４９】
図４（ｂ）において、第１解像度圧縮部５０２は、ＲＡＷデータ書き込み制御部７０１と、ＲＡＷデータ書き込みバッファ７０２と、コード生成部７０３と、処理データバッファ７０４と、圧縮データ読出し制御部７０５とを備える。
【００５０】
ＲＡＭデータ書き込み制御部７０１は、第１解像度圧縮部５０２に入力されたデータパケットを、順次ＲＡＷデータ書き込みバッファ７０２へ書き込んでいく。コード生成部７０３は、ＲＡＷデータ書き込みバッファ７０２に書き込まれたデータパケットのイメージデータ３０２の部分をさらに２×２のブロックデータに分割して順次読み出す。次に、コード生成部７０３は、読み出した２×２のブロックデータの画素データの配置を解析する。そして、コード生成部７０３は、２×２のブロックデータから、後述する配置パターンのコードデータ（４ｂｉｔ）と低解像度代表データ（１画素：８ｂｉｔ）を取り出す。併せて、低解像度データから元の解像度データへ復元する際に必要な補間データ（８〜２４ｂｉｔ）を生成する。ここで、コード生成部７０３が行う低解像度データへの圧縮について図５を参照して説明する。
【００５１】
まず図５に示す１５種類の２×２の配置コードパターン（４ｂｉｔ）を利用し、２×２のブロックデータのそれぞれに対して、配置コード“００００”〜“１１１０”が割り当てられる（コード化）。例えば、２×２のブロックデータの全ての画素データが同じ場合には“００００”のコードが割り当てられ、左上の画素データのみ異なる場合には“０００１”のコードが割り当てられ、全ての画素データが異なる場合には“１１１０”のコードが割り当てられる。また、低解像度代表データが２×２のブロックデータよりサンプリングされ（本実施の形態では右下の１画素）、右下の１画素の色情報が１ｓｔＣｏｌｏｒ（第１色情報）として割り当てられる。
【００５２】
図５に示す１５種類の２×２の配置コードパターンのうち、２段目の配置コードパターン群（“０００１”、“００１０”、“００１１”、“０１００”、“０１０１”、“０１１０”、“０１１１”）は２色の画素で構成されるブロックである。２×２のブロックデータの右下に配置された画素以外の１画素の色情報は、図示のように、補間データの２ｎｄＣｏｌｏｒ（第２色情報）として割り当てられる。次に、３段目の配置コードパターン群（“１０００”、“１００１”、“１０１０”、“１０１１”、“１１００”、“１１０１”）は３色の画素で構成されるブロックである。上記と同様に、右下に配置された画素以外の２画素の色情報はそれぞれ、２ｎｄＣｏｌｏｒ、３ｒｄＣｏｌｏｒ（第３色情報）として割り当てられる。最後に、図示の４段目の配置コードパターン（“１１１０”）は、ブロック内の全ての画素データが異なる場合であり、右上の画素以外の３画素の色情報はそれぞれ２ｎｄＣｏｌｏｒ、３ｒｄＣｏｌｏｒ、４ｔｈＣｏｌｏｒ（第４色情報）として割り当てられる。
【００５３】
このようにして、２×２のブロックデータから割り当てられた配置コードパターン、低解像度代表データ、補間データはそれぞれ、処理データバッファ７０４内の所定の領域に書き込まれていく。
【００５４】
また、データパケットの属性データ３０３も同様の圧縮方式を用いて圧縮され、同じく処理データバッファ７０４へ書き込まれる。さらに、コード生成部７０３はＲＡＭデータ書き込みバッファからヘッダ３０１を読み出し、それを処理データバッファ７０４に書き込み。このとき、データパケットに付加されているヘッダ３０１では、ヘッダ内の圧縮フラグ３１５が、低解像度の圧縮状態を示すフラグへ変更される。さらに、データパケットのバイト長やオフセット量を表す各情報（パケット長３１０、画像データオフセット３１１、属性データオフセット３１２、画像データ長３１３、属性データ長３１４）も低解像度に圧縮されたデータ量に基づいて書き換える。
【００５５】
上記のように、データパケット（３２×３２）内の全ての画素が２×２のブロックデータとして読み出されてコード化された後のデータパケットの構成例を図６（ａ）に示す。図示例は、１２００ｄｐｉのイメージデータを６００ｄｐｉのイメージデータへ低解像度化したものである。
【００５６】
処理データバッファ７０４に格納されたデータパケットでは、図６（ａ）のように、ヘッダ（Header）３０１以外のイメージデータ（Image Data）３０２内が、次の３つに分割されている。すなわち、コード１＿１００１と、６００ｄｐｉのイメージデータ（600dpi Image Data）１００２と、１２００ｄｐｉ−６００ｄｐｉの補間データ１００３である。
【００５７】
さらに、属性データ（Z Data）３０３が６００ｄｐｉの属性データ（600dpi Z Data）１００４、１２００ｄｐｉ−６００ｄｐｉの属性データの補間データ（1200dpi-600dpi Z補間データ）１００５の２つに分割されている。
【００５８】
処理データバッファ７０４へ格納されたデータパケットは、図４（ｂ）に示す圧縮データ読出し制御部７０５により順次読み出され、図４（ａ）に示す第２解像度圧縮部へ出力される。なお、本実施の形態では、第１解像度圧縮部５０２から出力されたデータパケットは、第２解像度圧縮部５０３へ入力され、再度低解像度の圧縮を行う構成とした。この場合、第１解像度圧縮部５０２にて１２００ｄｐｉデータから６００ｄｐｉデータへ低解像度化された後、さらに６００ｄｐｉデータから３００ｄｐｉデータへ圧縮を行うものとするが、これに限定されるものではない。
【００５９】
図４（ａ）に示す第１解像度圧縮部５０２と第２解像度圧縮部５０３により３００ｄｐｉまで低解像度化されたデータパケットの構成例を図６（ｂ）に示す。図示例は、６００ｄｐｉのイメージデータ１００２と６００ｄｐｉの属性データ１００４をそれぞれ第２解像度圧縮部５０３にて、第１解像度圧縮部５０２で行われたものと同様の圧縮方式にて３００ｄｐｉのデータにしたものである。
【００６０】
６００ｄｐｉから３００ｄｐｉに変換された際に、イメージデータ３０２が、図６（ｂ）に示すように、次の５つに分割される。すなわち、コード１＿１００１と、コード２＿１００６と、３００ｄｐｉのイメージデータ（300dpi Image Data）１００７と、１２００ｄｐｉ−６００ｄｐｉの補間データ１００３と、６００ｄｐｉ−３００ｄｐｉの補間データ１００８である。一方、属性データ３０３が、図６（ｂ）に示すように、次の３つに分割される。３００ｄｐｉの属性データ（300dpi Z Data）１００９、１２００ｄｐｉ−６００ｄｐｉの属性データの補間データ（1200dpi-600dpi Z補間データ）１００５である。さらに、６００ｄｐｉ−３００ｄｐｉの属性データの補間データ（600dpi-300dpi Z補間データ）１０１０である。
【００６１】
このようにして、１２００ｄｐｉから３００ｄｐｉまで低解像度化されたイメージデータは、図４（ａ）の第２解像度圧縮部５０３の次段に設けられているデータ符号化部５０４へ入力される。そして、３００ｄｐｉのイメージデータ１００７がＪＰＥＧ方式（Joint Photographic Experts Group）で符号化圧縮され、画像圧縮部１０３から圧縮データパケットとして出力される。画像圧縮部１０３から出力された圧縮データパケットは、画像バス１１５、イメージバスＩ／Ｆ１１４を介してＲＡＭ１０６へ送られ、さらにＲＡＭ１０６からＨＤＤ１０８へ順次格納される。
【００６２】
次に、本実施の形態における圧縮データパケットの伸長処理と、その伸長処理を行う画像伸長部１２１の構成について詳細に説明する。
【００６３】
図７（ａ）は、画像伸長部１２１の内部構成を示すブロック図、図７（ｂ）は、画像伸長部１２１を構成する第１解像度伸長部の内部構成を示すブロック図である。
【００６４】
図７（ａ）において、画像伸長部１２１は、伸長化制御部６０１と、データ伸長部６０２と、第１解像度伸長部６０３と、第２解像度伸長部６０４とを備える。図７（ｂ）において、第１解像度伸長部６０３は、符号化データ書き込み制御部８０１と、符号化データ書き込みバッファ８０２と、コードデータ読み取り部８０３と、データ結合部８０４と、伸長データバッファ８０５と、伸長データ読出し制御部８０６とを備える。
【００６５】
図７（ａ）及び図７（ｂ）の各部の説明は、図８のフローチャートの説明を含めて行う。
【００６６】
ジョブコントロール処理モジュール２０１からのプリント指示に基づいて、プリント処理モジュール２０７はＨＤＤ１０８に格納された圧縮データパケットをＲＡＭ１０６に順次読み出す。その後に、圧縮データパケットをイメージバスＩ／Ｆ１１４、画像バス１１５を介して画像伸長部１２１へ入力する。そして、画像伸長部１２１にて圧縮データパケットの伸長が行われる。
【００６７】
次に、本実施の形態の画像伸長部１２１による圧縮データパケットの伸長処理について図８及び図９を参照して説明する。
【００６８】
図８は、画像伸長部１２１の解像度伸長処理を示すフローチャートである。図９は、伸長レベルとユニットＩＤコード・モードコードとの関係を示す伸長レベル決定テーブルの一例を示す図である。
【００６９】
図８において、伸長化制御部６０１は、圧縮データパケットが入力されると、圧縮データパケットに付加されているヘッダ３０１内のプロセスインストラクション３０９のＮ番目のユニットＩＤコードとモードコードを読み込んで解析する（ステップＳ２００１）。Ｎは変数であり、初期値は１とする。すなわち、Ｎ＝１の場合には、ユニットＩＤコードとモードコードは、ユニットＩＤ１＿３１７とモード１＿３１８となる。
【００７０】
次に、伸長化制御部６０１は、プロセスインストラクション３０９のＮ番目のユニットＩＤコードが処理終了を示すコード“１１１１”であるか否かを判断する（ステップＳ２００２）。その結果、コード“１１１１”であると判断した場合は、ステップＳ２００８へ進む。一方、コード“１１１１”でないと判断した場合、ステップＳ２００３へ進み、伸長化制御部６０１は、図９に示す伸長レベル決定テーブルを参照して伸長レベルを決定する。
【００７１】
図９において、伸長レベルが解像度毎に３段階（１：３００ｄｐｉ、２：６００ｄｐｉ、３：１２００ｄｐｉ）に分けられており、各伸長レベルでユニットＩＤコード及びモードコードが対応づけられている。例えば、伸長レベル１（解像度３００ｄｐｉ）では、色処理、回転処理、白紙判定に対応するユニットＩＤコードが対応付けられている。色処理は色処理部４０２で、回転処理は回転処理部４０３で、白紙判定は白紙判定部４０７でそれぞれ実行させる。また、単純間引き及び変倍は解像度変倍処理部４０５で、マスキング及びトリミングはトリミング・マスキング処理部４０４で、２値処理及び多値処理は２値多値変換部４０６でそれぞれ実行される。
【００７２】
図８のステップＳ２００３において、例えば、Ｎ番目のユニットＩＤコードが“０００１”であった場合、伸長化制御部６０１は“回転処理”を行うと判断し、図９の伸長レベル決定テーブルを参照して伸長レベルを“１”を決定する。そして、不図示の内部のレジスタに格納されているカレントレベル値Ｌｃに決定した伸長レベルを代入する（例ではＬｃ＝１）（ステップＳ２００４）。
【００７３】
次に、伸長化制御部６０１は、カレントレベル値Ｌｃと最終レベル値Ｌｆとを比較する（ステップＳ２００５）。最終レベル値Ｌｆの初期値は０である。カレントレベル値Ｌｃが最終レベル値Ｌｆより大きい場合、最終レベル値Ｌｆを更新（Ｌｆ＝Ｌｃ）する（ステップＳ２００６）。１組目の“回転処理”の伸長レベルは“伸長レベル１”であったので、最終レベル値Ｌｆ＝１が代入される。
【００７４】
このようにして、プロセスインストラクション３０９に設定された複数のユニットＩＤコードとモードコードのうち先頭から順に１組目のユニットＩＤコードとモードコードを読み込んで、伸長レベルの判断を行う。
【００７５】
次に、伸長化制御部６０１は、プロセスインストラクション３０９に設定されたユニットＩＤコードとモードコードの次の２組目の伸長レベルを判断するために、変数Ｎを１だけインクリメントする（Ｎ＝Ｎ＋１）（ステップＳ２００７）。つづいて、ステップＳ２００１に戻り、伸長化制御部６０１は、Ｎ（次はＮ＝２）組目のユニットＩＤコードとモードコードを読み込んで解析する。
【００７６】
ステップＳ２００１での解析の結果、例えば、Ｎ＝２番目のユニットＩＤコードが“００１１”、モードコードが“０１”であった場合、ステップＳ２００２からステップＳ２００３へ進む。ステップＳ２００３では、Ｎ＝２番目のユニットＩＤコードが“００１１”であることから、伸長化制御部６０１は“単純間引き”を行うと判断し、図９の伸長レベル決定テーブルを参照して伸長レベルを“２”と決定する。そして、内部レジスタのカレントレベル値Ｌｃに決定した伸長レベルを代入する（例ではＬｃ＝２）（ステップＳ２００４）。
【００７７】
次に、伸長化制御部６０１は、カレントレベル値Ｌｃと最終レベル値Ｌｆとを比較し（ステップＳ２００５）、カレントレベル値Ｌｃが最終レベル値Ｌｆより大きい場合、最終レベル値Ｌｆを更新する（ステップＳ２００６）。２組目の“単純間引き”の伸長レベルは“伸長レベル２”であったので、最終レベル値Ｌｆ＝２が代入される。
【００７８】
このようにして、ステップＳ２００２において、プロセスインストラクション３０９から処理終了を示すコード“１１１１”が検知されるまで伸長レベルの決定、最終レベル値の更新を繰り返す。ステップＳ２００２にて終了コードが“１１１１”が検知された場合、伸長化制御部６０１は、最終レベル値Ｌｆを最終的な伸長レベルと決定し、さらに最終的な伸長レベルが伸長レベル１〜３のいずれであるかを判断する（ステップＳ２００８）。
【００７９】
最終的な伸長レベルを決定すると、伸長化制御部６０１は、第１解像度伸長部６０３と第２解像度伸長部６０４へ伸長実行の可否を決めるためのＥＸＥ１、ＥＸＥ２の各信号を出力する。伸長化制御部６０１で最終的な伸長レベルが決定された後、データ伸長部６０２は、ＪＰＥＧ等の圧縮技術で符号化された３００ｄｐｉのイメージデータ１００７の伸長を行う。伸長化された３００ｄｐｉのデータパケットは、次段の第１解像度伸長部６０３、第２解像度伸長部６０４で元の解像度へ復元することが可能であるが、先ほどのＥＸＥ１、ＥＸＥ２信号により解像度伸長の実行の可否が決定される。
【００８０】
データ伸長部６０２より第１解像度伸長部６０３に入力された３００ｄｐｉのデータパケットは、符号化データ書き込み制御部８０１により符号化データ書き込みバッファ８０２へ書き込まれる。コードデータ読み取り部８０３は、符号化データ書き込みバッファ８０２から、２×２のブロック単位でコード化されていた、図６（ｂ）に示すコード２＿１００６を順次読出してデータ結合部８０４に渡す。
【００８１】
さらに、コードデータ読み取り部８０３は３００ｄｐｉのイメージデータ１００７、３００ｄｐｉの属性データ１００９を読み出してデータ結合部８０４に渡す。それと共に、コードデータ読み取り部８０３は、必要に応じて６００ｄｐｉの高解像度へ復元するための６００ｄｐｉ−３００ｄｐｉの補間データ１００８や６００ｄｐｉ−３００ｄｐｉのＺ補間データ１０１０を読み出す命令をデータ結合部８０４へ伝える。
【００８２】
データ結合部８０４は、ＥＸＥ１信号の有無を確認し、ＥＸＥ１信号を受信した場合には、これらの情報を元に２×２のブロック単位で３００ｄｐｉのデータを６００ｄｐｉのデータに順次復元し、伸長データバッファ８０５へ順次書き込んでいく。また、データ結合部はヘッダ３０１を符号化データ書き込みバッファ８０２から読み出し、それを伸長データバッファ８０５に書き込む。このとき、ヘッダ３０１内の圧縮フラグ３１５を、６００ｄｐｉの解像度であることを示すフラグに変更する。さらに、パケットのバイト長やオフセット量を表す各情報（パケット長３１０、画像データオフセット３１１、属性データオフセット３１２、画像データ長３１３、属性データ長３１４）も高解像度に伸長されたデータ量に基づいて書き換える。
【００８３】
一方、ＥＸＥ１信号を受信していない場合には、データ結合部８０４は、データの復元を行わず、符号化データ書き込みバッファ８０２に書き込まれたままのデータパケットを伸長データバッファ８０５へそのまま書き込む。この場合、ヘッダ３０１内の圧縮フラグ及び各パケット長も変更しない。
【００８４】
伸長データバッファ８０５に６００ｄｐｉに復元されたデータパケット（そのままの場合は３００ｄｐｉのデータパケット）が書き込まれた後、伸長データ読出し制御部８０６が、該データパケットを読出して出力することで高解像度への伸長動作を行う。なお、第２解像度伸長部６０４も第１解像度伸長部６０３と同様の構成である。
【００８５】
図８のステップＳ２００８において最終的な伸長レベルが伸長レベル１であると判断された場合、伸長化制御部６０１は、ＥＸＥ１、ＥＸＥ２の各信号を出力しない。この場合は、第１解像度伸長部６０３、第２解像度伸長部６０４において、ともに伸長動作が実行されず、データパケットはそのままスルーされる。一方、最終的な伸長レベルが伸長レベル２であると判断された場合は、伸長化制御部６０１がＥＸＥ１信号のみを出力し、第１解像度伸長部６０３が３００ｄｐｉから６００ｄｐｉに解像度を伸長する（ステップＳ２００９）。
【００８６】
そして、第１解像度伸長部６０３は、ステップＳ２０１０の伸長動作に基づいて、ヘッダ３０１内の圧縮フラグ３１５を書き換え、パケットのバイト長やオフセット量を表す各情報も高解像度に伸長されたデータ量に基づいて書き換える（ステップＳ２０１２）。各情報には、パケット長３１０、画像データオフセット３１１、属性データオフセット３１２、画像データ長３１３、属性データ長３１４が含まれる。なお、ステップＳ２０１２の後は、ＥＸＥ２信号は出力されていないので、第２解像度伸長部６０４は伸長動作を行わない。
【００８７】
ステップＳ２００８において最終的な伸長レベルが伸長レベル３であると判断された場合、伸長化制御部６０１がＥＸＥ１、ＥＸＥ２信号をともに出力し、第１解像度伸長部６０３が３００ｄｐｉから６００ｄｐｉに解像度を伸長する（ステップＳ２００９）。続いて、第１解像度伸長部６０３がヘッダ３０１の圧縮フラグ３１５を書き換え、高解像度に伸長されたデータ量に基づいてパケットのバイト長やオフセット量などを書き換える（ステップＳ２０１１）。
【００８８】
次に、第２解像度伸長部６０４が６００ｄｐｉから１２００ｄｐｉに解像度を伸長し（ステップＳ２０１３）、同様にヘッダ３０１内の書き換えも行う（ステップＳ２０１４）。
【００８９】
このように、プロセスインストラクション３０９に基づいて決定された伸長レベルに応じて、所定の解像度伸長処理が実行される。
【００９０】
画像伸長部１２１で伸長されたデータパケットは、画像編集用画像処理部１２０へ入力され、ヘッダ３０１内のプロセスインストラクション３０９に基づいて所定の処理ユニットにより処理される。
【００９１】
図１０は、画像編集用画像処理部１２０の内部構成を示すブロック図である。
【００９２】
画像編集用画像処理部１２０は、バススイッチ４０１と、色処理部４０２と、回転処理部４０３と、トリミング・マスキング処理部４０４と、解像度変倍処理部４０５と、２値多値変換部４０６と、白紙判定部４０７とを備える。画像バス１１５に接続されたバススイッチ４０１には、色処理部４０２、回転処理部４０３、トリミング・マスキング処理部４０４、解像度変倍処理部４０５、２値多値変換部４０６、及び白紙判定部４０７が接続されている。
【００９３】
バススイッチ４０１は、画像編集用画像処理部１２０に入力されたデータパケットのヘッダ３０１内のプロセスインストラクション３０９の先頭を確認する。そして、バススイッチ４０１は、プロセスインストラクション３０９内の先頭に格納されているユニットＩＤとモードに応じてバスを切り替え（スイッチし）て、該当する処理ユニットへデータパケットを入力する。例えば、１組目のユニットＩＤ１に色処理を示すコード“００００”が格納され、２組目のユニットＩＤ２に変倍処理を示すコード“００１１”が格納されている場合、まずは、データパケットを色処理部４０２へ入力するようにバス経路を切り替える。
【００９４】
色処理部４０２は、色処理を終了した後、プロセスインストラクション３０９を６ｂｉｔ分、左側にシフトする。色処理部４０２で処理されたデータパケットは、再度バススイッチ４０１へ入力され、バススイッチ４０１は再度、データパケットのプロセスインストラクション３０９を確認する。既に色処理部４０２でプロセスインストラクション３０９がシフトされ、１組目のユニットＩＤが変倍処理を示すコード“００１１”に変更されているため、バススイッチ４０１はデータパケットを解像度変倍処理部４０５へ入力するようにバス経路を切り替える。
【００９５】
解像度変倍処理部４０５は、変倍処理を処理した後、色処理部４０２と同様にプロセスインストラクション３０９を６ｂｉｔ分左へシフトする。解像度変倍処理部４０５で処理されたデータパケットは、再度バススイッチ４０１へ入力され、バススイッチ４０１は再度、データパケットのプロセスインストラクション３０９を確認する。回転処理部４０３、トリミング・マスキング処理部４０４、２値多値変換部４０６、及び白紙判定部４０７についても、プロセスインストラクション３０９の内容に応じて、上記と略同様の処理が実行される。
【００９６】
プロセスインストラクション３０９に応じた全ての処理を終了させる場合、プロセスインストラクション３０９に処理の終了を意味するコード“１１１１”を格納しておく。バススイッチ４０１は、コード“１１１１”を認識すると、データパケットを画像バス１１５へ戻すようにバス経路を切り替える。画像編集用画像処理部１２０における全ての処理が施された処理後のデータパケットが、バススイッチ４０１から画像バス１１５に出力される。
【００９７】
なお、画像編集用画像処理部１２０は、データパケットの単位であれば、ヘッダ３０１に含まれるプロセスインストラクション３０９内のユニットＩＤコードとモードコードの情報により、自動的にパス経路の切り替えと処理モードの変更ができる。そのため、画像編集用画像処理部１２０は、ジョブやページが異なるデータパケット、すなわちヘッダ３０１内のジョブＩＤ３０６やページＩＤ３０５が異なるデータパケットも同時に入力することが可能である。そして、各処理モジュールを並列に動作させ、画像処理装置全体のスループット効率を高めることが可能な構成となっている。
【００９８】
本実施の形態のように、伸長レベルの判断において、データパケットのプロセスインストラクション３０９を参照して、データパケットの伸長方法を適切に選択することで各処理モジュールの高速動作可能となる。例えば、色処理のみを実行するデータパケットに対して伸長レベル１（解像度３００ｄｐｉ）で色処理が行われる場合には、以下の処理を行えばよい。すなわち、３００ｄｐｉのイメージデータ１００７、１２００−６００ｄｐｉの補間データ１００３、６００−３００ｄｐｉの補間データ１００８の色情報に関わる部分のみの色処理を行えばよく、低解像度化されたまま処理が可能であり、処理の高速化が図れる。
【００９９】
画像編集用画像処理部１２０で所定の処理が行われたデータパケットは、画像バス１１５、デバイスＩ／Ｆ１１７を介してプリンタ画像処理部１１９に入力される。プリンタ画像処理部１１９は、入力されたデータパケットに基づいて画像処理を実行し、記録媒体に所定の印字を行うようにプリンタエンジン１０２を駆動制御する。
【０１００】
以上説明したように、データパケットに付加されたヘッダ３０１内のプロセスインストラクション３０９を参照し、圧縮されたデータパケットの伸長方法を適切に切り替える。これにより、圧縮されたデータパケットに対して適切な処理フローが実行される。また、各ジョブや各ページのデータパケットが混在する処理においても、プロセスインストラクションを参照することにより画像伸長部で適切な伸長方法を決定することが可能となり、ＣＰＵに負荷をかけずに処理を実行することができる。
【０１０１】
上記実施形態によれば、各ジョブが必要とする画像処理の処理手順を示す処理手順コード（ユニットＩＤコードとモードコードの組み合わせ）が各データパケット内のヘッダに順番に格納される。そして、画像処理が行われる際にデータパケット内のヘッダに付加された処理手順コードが参照され、当該処理手順に応じて、圧縮されたデータパケットが伸長されることにより、処理の簡略化、高速化が行え、逐次デコードモードを切り替えることができる。
【０１０２】
上記実施形態では、画像処理装置１００がＬＡＮ１０を介して外部装置から印刷ジョブを受信してプリント動作を行わせる場合について説明したが、印刷ジョブの入力方法はこれに限定されるものではない。例えば、スキャナ１０１で原稿から画像データを読み取ってプリント動作を行う場合についても同様である。この場合、スキャン用パケット生成部１３２がＲＩＰ用パケット生成部１３１の代わりに動作し、スキャナ画像処理部１１８がＲＩＰ部１１６の代わりに動作する。
【０１０３】
画像編集用画像処理部１２０内の色処理部４０２等により処理されるべき処理手順を示すユニットＩＤコードとモードコードがプロセスインストラクション３０９に複数組含まれている場合は、上記処理により伸長レベルが決定される。
【０１０４】
画像伸長部１２１で伸長されたデータパケットは、上記第１の実施形態と同様に、画像編集用画像処理部１２０へ入力され、ヘッダ３０１内のプロセスインストラクション３０９の情報に基づいてデータパケット毎に処理が行われる。
【０１０５】
本実施の形態では、例えば、回転処理と単純間引き処理を実行する場合、データパケットが伸長レベル２（解像度６００ｄｐｉ）となる。その結果、伸長レベル２のデータパケットのまま回転処理部４０３にて回転処理を行った後、解像度変倍処理部４０５にて単純間引き処理が行われる。この場合、図６（ａ）に示す伸長レベル２（解像度６００ｄｐｉ）のデータパケットから、イメージデータ１００２と、６００ｄｐｉの属性データ１００４、ヘッダ３０１の部分以外を削除することにより６００ｄｐｉの単純間引き処理を実行することが可能である。その結果、処理の高速化を図ることができる。
【０１０６】
画像編集用画像処理部１２０で所定の処理が行われたデータパケットは、画像バス１１５、デバイスＩ／Ｆ１１７を介してプリンタ画像処理部１１９に入力される。プリンタ画像処理部１１９は、入力されたデータパケットに基づいて画像処理を実行し、記録媒体に所定の印字を行うようにプリンタエンジン１０２を駆動制御する。
【０１０７】
以上説明したように、データパケットの画像処理において、複数の処理が要求されている場合、プロセスインストラクションを参照し、複数の処理の内容を読み込み、要求されている全ての画像処理で処理できる伸長レベルを判断して伸長する。これにより、各データパケットに対して適切な処理フローを実行することができる。また、各ジョブや各ページのデータパケットが混在する処理においても、プロセスインストラクションを参照することにより画像伸長部が適切な伸長方法を決定することが可能となり、ＣＰＵに負荷をかけずに処理を実行することができる。
【０１０８】
上記実施形態では、図１に示すように、画像処理装置１００と、スキャナ１０１と、プリンタエンジン１０２と、操作部１１０とが別体で構成されているが、一体で構成されていてもよい。
【０１０９】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１１０】
１００  画像処理装置
１０３  画像圧縮部
１１６  ＲＩＰ部
１２０  画像編集用画像処理部
１３１  ＲＩＰ用パケット生成部
２０１  ジョブコントロール処理モジュール
６０１  伸長化制御部
６０２  データ伸長部
６０３  第１解像度伸長部
６０４  第２解像度伸長部
【図１】
0005599033.tif 000002
【図２】
0005599033.tif 000003
【図３】
0005599033.tif 000004
【図４】
0005599033.tif 000005
【図５】
0005599033.tif 000006
【図６】
0005599033.tif 000007
【図７】
0005599033.tif 000008
【図８】
0005599033.tif 000009
【図９】
0005599033.tif 000010
【図１０】
0005599033.tif 000011