(57)【要約】【課題】複数の描画処理部において効率的な並列描画処理ができる画像処理装置を提供する。【解決手段】それぞれローカルメモリ２１Ａ〜２４Ａを有する複数の描画命令処理部２１〜２４と、印刷データから生成された同一の描画命令に基づく描画領域を分割した各分割描画領域を、描画処理を行う領域として、各描画命令処理部２１〜２４に割り当てる描画処理制御部１３と、を有する。ここで、各前記描画命令処理部２１〜２４は、前記描画領域のうち描画処理制御部１３により割り当てられた前記分割描画領域以外の描画領域を、描画対象から除外して描画処理を行う。【選択図】図３
2010009603.tif 000002
【特許請求の範囲】
【請求項１】
それぞれローカルメモリを有する複数の描画命令処理部と、
印刷データから生成された同一の描画命令に基づく描画領域を分割した各分割描画領域を、描画処理を行う領域として、各前記描画命令処理部に割り当てる描画処理制御部と、
を有する画像処理装置。
【請求項２】
各前記描画命令処理部は、前記描画領域のうち前記描画処理制御部により割り当てられた前記分割描画領域以外の描画領域を、描画処理の対象から除外する請求項１に記載の画像処理装置。
【請求項３】
各前記描画命令処理部は、前記描画命令において前記分割描画領域を最初に描画処理する際に、前記複数の分割描画領域の中に描画処理の対象となるオブジェクト画像を含まない前記分割描画領域が含まれているか否か検出し、
前記描画処理制御部は、前記検出の結果に基づき、前記オブジェクト画像のある各前記分割描画領域を各前記描画処理部に割り当てる請求項１又は２に記載の画像処理装置。
【請求項４】
前記描画命令に基づく描画領域の中に描画処理の対象となるオブジェクト画像を含まない前記分割描画領域が含まれるか否かを判別する判別部を有し、
前記描画処理制御部は、前記判別部による判別結果に基づき、前記オブジェクト画像のある前記分割描画領域を、各前記描画処理部に割り当てる請求項１又は２に記載の画像処理装置。
【請求項５】
それぞれローカルメモリを有する複数の描画命令処理部と、
前記複数の描画命令処理部を制御する制御部と、を有し、
前記制御部は、印刷データを複数のバンド単位に分割した各描画命令を各前記描画命令処理部に振り分け、各前記描画命令処理部は、振り分けられた前記描画命令に基づく描画領域を分割した複数の分割描画領域の中に描画処理の対象となるオブジェクト画像を含まない前記分割描画領域が含まれているか否かを検出し、
前記制御部は、前記検出結果に基づき、同一の前記描画命令の中に含まれる複数の前記分割描画領域のうち前記オブジェクト画像を含む各前記分割描画領域を、描画処理を行う領域として、各前記描画命令処理部に割り当てる画像処理装置。
【請求項６】
それぞれローカルメモリを有する複数の描画命令処理部を用いて画像処理を行う画像処理方法であって、
印刷データから生成された同一の描画命令に基づく描画領域を複数の分割描画領域に分割し、
各分割描画領域を、描画処理を行う領域として、各前記描画命令処理部に割り当てる画像処理方法。
【請求項７】
前記描画命令において前記分割描画領域を最初に描画処理する際に、前記複数の分割描画領域の中に描画処理の対象となるオブジェクト画像を含まない前記分割描画領域が含まれているか否か検出し、
前記割り当ての際に、前記検出の結果に基づき、前記オブジェクト画像のある各前記分割描画領域を各前記描画命令処理部に割り当てる請求項６に記載の画像処理方法。
【請求項８】
前記描画命令に基づく描画領域の中に描画処理の対象となるオブジェクト画像を含まない前記分割描画領域が含まれるか否かを判別し、
前記割り当ての際に、前記判別結果に基づき、前記オブジェクト画像のある前記分割描画領域を、各前記描画命令処理部に割り当てる請求項６に記載の画像処理方法。
【請求項９】
それぞれローカルメモリを有する複数の描画命令処理部を用いて画像処理を行う画像処理方法であって、
前記印刷データを複数のバンド単位に分割した各描画命令を各前記描画命令処理部に振り分け、
前記振り分けられた前記描画命令に基づく描画領域を複数の分割描画領域に分割し、
前記複数の分割描画領域の中に描画処理の対象となるオブジェクト画像を含まない前記分割描画領域が含まれているか否かを検出し、
前記検出結果に基づき、同一の前記描画命令の中に含まれる複数の前記分割描画領域のうち前記オブジェクト画像を含む各前記分割描画領域を、描画処理を行う領域として、各前記描画命令処理部に割り当てる画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ローカルメモリを有する画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
ディスプレイリストはページ単位で構成しており、ある特定の単位（ライン、バンドなど）で独立している。このため、互いに依存関係のない部分を、並列処理することにより描画処理を高速化することができる。
【０００３】
特許文献１は、複数の描画命令処理部を用いて描画命令を並列処理する際の、描画命令の転送処理を効率化し並列処理の性能を十分に活用できる描画処理装置及び方法を開示する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、並列処理に用いられるＣｅｌｌなどのマルチコアプロセッサが有するメモリは、内部に高速にアクセスできるという利点がある一方で、メモリ容量が少ないという欠点がある。そのため、描画命令の描画領域が数ライン分必要になる場合、高解像度画像を処理する場合に、描画命令を展開して生成されるビットマップ画像を保持するだけのメモリ容量を確保できず、ビットマップ領域単位（依存領域）に効率よく並列処理を行うことが困難である。
【０００５】
そこで、本発明は、複数の描画処理部を用いて効率的に並列描画処理ができる画像処理装置を提案する。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明は、一つの観点として、「それぞれローカルメモリを有する複数の描画命令処理部と、印刷データから生成された同一の描画命令に基づく描画領域を分割した各分割描画領域を、描画処理を行う領域として、各前記描画命令処理部に割り当てる描画処理制御部と、を有する画像処理装置」である。
【０００７】
本発明は、別の観点として、「それぞれローカルメモリを有する複数の描画命令処理部と、前記複数の描画命令処理部を制御する制御部と、を有し、前記制御部は、印刷データを複数のバンド単位に分割した各描画命令を各前記描画命令処理部に振り分け、各前記描画命令処理部は、振り分けられた前記描画命令に基づく描画領域を分割した複数の分割描画領域の中に描画処理の対象となるオブジェクト画像を含まない前記分割描画領域が含まれているか否かを検出し、前記制御部は、前記検出結果に基づき、同一の前記描画命令の中に含まれる複数の前記分割描画領域のうち前記オブジェクト画像を含む各前記分割描画領域を、描画処理を行う領域として、各前記描画命令処理部に割り当てる描画処理装置」である。
【０００８】
本発明は、一つの観点として、「それぞれローカルメモリを有する複数の描画命令処理部を用いて画像処理を行う画像処理方法であって、印刷データから生成された同一の描画命令に基づく描画領域を複数の分割描画領域に分割し、各分割描画領域を、描画処理を行う領域として、各前記描画命令処理部に割り当てる画像処理方法」である。
【０００９】
本発明は、別の観点として、「それぞれローカルメモリを有する複数の描画命令処理部を用いて画像処理を行う画像処理方法であって、前記印刷データを複数のバンド単位に分割した各描画命令を各前記描画命令処理部に振り分け、前記振り分けられた前記描画命令に基づく描画領域を複数の分割描画領域に分割し、前記複数の分割描画領域の中に描画処理の対象となるオブジェクト画像を含まない前記分割描画領域が含まれているか否かを検出し、前記検出結果に基づき、同一の前記描画命令の中に含まれる複数の前記分割描画領域のうち前記オブジェクト画像を含む各前記分割描画領域を、描画処理を行う領域として、各前記描画命令処理部に割り当てる画像処理方法」である。
【発明の効果】
【００１０】
本発明によれば、効率的な並列描画処理を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】ＭＦＰのブロック図である。
【図２】ＲＩＰ処理の手順を示したフローチャートである。
【図３】実施例１の画像処理装置のブロック図である。
【図４】実施例１の描画処理を模式的に示した模式図である。
【図５】実施例１の描画処理の処理手順を示したフローチャートである。
【図６】実施例２の画像処理装置のブロック図である。
【図７Ａ】実施例２の描画処理を模式的に示した模式図である（前段）。
【図７Ｂ】実施例２の描画処理を模式的に示した模式図である（後段）。
【図８】描画処理に先立って行われる空白検知の処理手順を示したフローチャートである。
【図９】空白検知が行われた後に行われる描画処理の処理手順を示したフローチャートである。
【図１０】実施例３の空白検知の方法を模式的に示した模式図である。
【図１１】実施例３の空白検知及び描画処理の手順を示したタイミングチャートである。
【図１２】実施例４の空白検知及び描画処理の手順を示したタイミングチャートである。
【発明を実施するための形態】
【００１２】
図１は本発明の実施の形態による画像処理装置を搭載したＭＦＰのブロック図である。図１を参照して、システム制御部１は、システム全体の制御を行う。スキャナユニット２は、画像入力部及び画像処理部を含む。画像入力部は、原稿を光源により照射しながら走査して、原稿からの反射光をカラーＣＣＤセンサで受光して、画像を読み取る。画像処理部は、画像読み取り部γ補正、色変換、主走査変倍、画像分離、加工、エリア処理、階調補正処理などの処理を行う。
【００１３】
プリンタユニット４は、画像データに応じてＬＤ（レーザーダイオード）の駆動を変調して画像を印字出力する。操作部５は、使用者がＭＦＰに動作設定の指示や設定内容や状態表示を行うことにより対話的な操作が行えるよう、タッチパネルセンサを踏査したグラフィカルディスプレイおよび数値やスタート、キャンセルなど頻繁に利用する専用ボタン、状態表示ＬＥＤなどを含む。デジタル複合機はイーサーネットやＵＳＢ、ＩＥＥＥ１２８４、ＩＥＥＥ１３９４などのホストコンピュータＩ/Ｆ１０３０により機器外部のホストコンピュータ６と通信することができる。また、ＦＡＸユニット１０１０により公衆回線７を利用したＦＡＸ通信を行うことができる。
【００１４】
システム制御部１の機能について説明する。システム制御部１は、スキャナユニット２及びプリンタユニット４に接続している。システム制御部１は、スキャナユニット２の動作を制御することによって、カラーもしくは白黒の画像データを読み込む。システム制御部１は、プリンタユニット４の動作を制御することによって、カラーもしくは白黒の画像データの印字出力を行う。
【００１５】
スキャナユニット２において読み取った画像データは、画像メモリ１１０１に一旦格納することで１回の読み取りで必要な枚数の画像を繰り返し出力し、複数ページの画像を１枚の用紙上に縮小して配置するＮｉｎ１、９０度単位に任意の丁合が可能となる画像回転、読み取り画像に帳票枠等を構成するフォーム合成、日付やロゴ、ウォーターマーク等の合成等が可能である。
【００１６】
スキャナユニット２において読み取った画像データは、必要に応じて画像メモリ制御部１１００において符号化処理によりデータ圧縮が行われ、データ量を削減した後にＨＤＤ１０２１に画像を蓄積することが可能である。これにより、一旦蓄積した画像を任意の順序で任意の枚数画像を出力する電子ソートを行うことができる。
【００１７】
また、システム制御部１は、ホストコンピュータI/F１０３０を有し、ＩＥＥＥ１２８４やＵＳＢ、ＩＥＥＥ１３９４等のローカル接続Ｉ／Ｆ、ＬＡＮＩ／ＦによるＬＡＮ接続、モデムによるＷＡＮや電話網に接続している。これにより、システム制御部１は、接続された機器から印刷命令を受けて画像を生成し印字出力するカラープリンタとして機能したり、読み取った画像を接続された機器に転送するカラースキャナとして機能したり、ＦＡＸの送受信、画像を電子メールとして送受信することも可能となる。
【００１８】
また、複数の印刷ジョブやスキャナより読み込んだ画像をＨＤＤ１０２１上に一旦蓄積する等により、複数の文書を１つの文書として再構成し、印字出力することも可能である。
【００１９】
システム制御部１の構成について詳細に説明する。ＣＰＵ１００１は、システム全体を制御するコントローラであり、アプリケーション処理、ＵＩ（ユーザーインタフェース）処理、通信制御、データ処理を行う。アプリケーション処理は、複写機能、プリンタ機能、スキャナ機能、ＦＡＸ機能、Ｅ−ｍａｉｌ機能に関するソフトウェアを実行することを含む。通信制御は、ローカル、ネットワークに接続された機器との通信を制御することを含む。データ処理は、画像データを入出力するための画像データフォーマット変換、符号化等のデータ処理を行うことである。
【００２０】
ＣＰＵローカルバス１００５は、ＲＡＭ１０００２、ＲＯＭ１００３、プリンタ画像メモリ１００８、プリンタ画像圧縮回路１００９をＣＰＵ１００１に接続する。ＲＡＭ１００２は、ＣＰＵ１００１が処理を実行するためのプログラムメモリ、データ格納領域として使用する。ＲＯＭ１００３は、システム起動に必要なブートプログラム、ＣＰＵ１００１が各種機能を実現するためのプログラム、固定的なデータの記憶領域として使用する。ＲＯＭ１００３内に格納されたプログラムやデータは、ＲＯＭ１００３内に圧縮データとして記憶することもでき、ＲＡＭ１００２内で展開して実行することもできる。
【００２１】
ＦＡＸユニット１０１０は、ＰＳＴＮやＩＳＤＮなどの公衆回線１０１１に接続するための変・復調装置であり、ＦＡＸの送受信や電話回線によるリモート接続、ＩＳＰ接続によりインターネット接続が可能となる。
【００２２】
ＣＰＵ１００１のホストバスは、ＰＣＩバスブリッジ１００４を介してＰＣＩバス１００６に接続している。これにより、ＣＰＵ１００１及びＣＰＵローカルバス１００５上のデバイスと、ＰＣＩバス１００６上のデバイスとのデータ転送が可能となる。ＰＣＩバス１００６を採用することにより、ＣＰＵの種別によらずに高速のデータ転送を実現し、ＰＣＩバス規格に準拠した既存のデバイスを利用することができる。
【００２３】
画像メモリ制御部１１００は、スキャナユニット２から出力された画像データを画像メモリ１１０１に記憶し、画像メモリ１１０１から読み出した画像データをプリンタユニット４に出力する。画像メモリ１１０１は、非圧縮の画像データのみならず、圧縮された画像の符合データを記憶することもできる。
【００２４】
ヘッダ付加回路１１０２は、画像メモリ制御部１１００に接続している。ヘッダ付加回路１１０２は、コピーやプリント等の様々なフォーマットの画像データを画像メモリ１１０１に展開する際に、画像を単位矩形にブロック化した画像データに対して画像の属性を示すヘッダ情報を付加し、さらにヘッダを含むブロック画像データを固定サイズのデータとして画像メモリ１１０１に展開することで２次元的なページレイアウトを保った状態でブロック単位の割付や９０度単位の回転処理を容易に実現することができる。
【００２５】
ページ編集の終了後、ヘッダ解析回路４１０は、画像メモリ１１０１から順次読み出されたブロック画像について、解析を行い、種別を特定する。プリンタ画像処理回路４００は、ヘッダ解析回路４１０の解析結果に基づき、圧縮画像の伸長処理、画像処理を行い、プリンタユニット４に必要な共通の画像形式に変換し、プリンタビデオＩ／Ｆ４２０を介してプリンタユニット４へ出力する。
【００２６】
また、ＣＰＵ１００１は、ＰＣＩバス１００６を介して画像メモリ制御部１１００の制御および画像メモリ１１０１にアクセスすることができる。同様に他のＰＣＩバス１００６上のデバイスも画像メモリ１１０１にアクセスすることができ、ＨＤＤや外部入出力Ｉ／Ｆとの間で高速なデータ転送が可能である。
【００２７】
画像圧縮・伸張部１０８０は、ＰＣＩバス１００６に接続している。画像圧縮・伸張部１０８０は、画像メモリ１１０１、ＲＡＭ１００２に格納された画像データを符号化して圧縮したり、符号データを復号化したりして伸長処理を行う。符号化方式としては、標準方式であるＪＰＥＧ、ＭＨ／ＭＲ／ＭＭＲ、ＪＢＩＧ、ＪＢＩＧ２等を用いることができる。
【００２８】
画像圧縮・伸張部１０８０は、符号化・復号化機能に加え、二値画像と多値画像との変換、モノクロとカラーの変換、解像度変換、色空間変換機能を備えており、様々な画像フォーマットを相互に変換することができる。
【００２９】
スキャナ画像処理回路２１０は、スキャナユニット２から出力された画像データを例えば拡大、縮小する。スキャナ画像処理回路２１０は、ビデオＩ／Ｆ２３０を介して、処理した画像データをスキャナ画像圧縮回路２００に送信する。スキャナ画像圧縮回路２００は、スキャナ画像処理回路２１０から送信された画像データのデータサイズを削減した後、画像メモリ制御部１１００に送信する。画像の圧縮処理が不要の場合には、スキャナ画像圧縮回路２００は、何も処理を行わずに、スキャナ画像処理回路２１０から送信された画像データをそのまま画像メモリ制御部１１００に送信する。
【００３０】
スキャナ／プリンタ通信Ｉ／Ｆ１０７０は、スキャナユニット２及びプリンタユニット４のそれぞれに対しコマンドやステータスの制御情報をシリアル通信１０７１、１０７２を介して取得する。これにより装置の起動や状態、読み取った原稿サイズや種別の取得、用紙サイズの指定や用紙や消耗品の残量等を取得することができる。
【００３１】
ＨＤＤＩ／Ｆ１０２０は、ＩＤＥやシリアルＡＴＡをＩ／Ｆに持つＨＤＤ１０２１を制御し、ＰＣＩバス１００６を経由して、ＣＰＵローカルバス上のＲＡＭ１００２やＰＣＩバス１００６上の画像メモリ１１０１とのデータ転送を高速に行う。
【００３２】
ホストコンピュータI/F１０３０は、ＰＣ（パーソナルコンピュータ）等をＵＳＢやＩＥＥＥ１２８４、ＩＥＥＥ１３９４等のローカル接続Ｉ／Ｆ、イーサーネット等のネットワークI/Fにより接続する。
【００３３】
アクセラレータ１０９０は、ＰＣＩバス１００６に接続され、スキャン、コピー、プリントなどで行われる画像処理に利用される。アクセラレータ１０９０を適用することにより、ＣＰＵ１００１で行う画像処理をアクセラレータで行うことができ、処理の高速化やＣＰＵ１００１の処理負荷軽減に効果がある。
【００３４】
ホストコンピュータＩ／Ｆ１０３０にイーサーネットなどのＬＡＮ（ローカルエリアネットワーク）を用いることにより、複数台のＭＦＰやサーバーＰＣ、クライアントＰＣ等をより柔軟に接続しそれぞれの機能を連携させたより高機能なシステムを構築することができる。例えば、ＭＦＰで読み取った画像データをＬＡＮに接続したサーバーＰＣに転送し、サーバーＰＣは送られた画像をＯＣＲ（文字認識）し、画像データと統合してサーバーＰＣ内のストレージにファイリングすることができる。
【００３５】
また、ＭＦＰで読み取った画像をＭＦＰ内のＨＤＤ１０２１に蓄積し、ＭＦＰ自体がファイルサーバーやＷＥＢサーバーとして機能することにより、ＬＡＮに接続されたクライアントＰＣから直接ＭＦＰ本体内の情報にアクセスし、蓄積画像の検索や検索した画像をクライアントＰＣへダウンロードすることが可能となる。
【００３６】
操作部Ｉ／Ｆ１００７は、操作部５を、ＰＣＩバス１００６を経由してＣＰＵ１００１より制御可能とするものである。操作部５は、タッチパネルセンサを搭載したグラフィカルディスプレイおよび数値やスタート、キャンセルなど頻繁に利用する専用ボタン、状態表示ＬＥＤを含む。この操作部５を介して、使用者は、ＭＦＰに対して動作設定の指示を行うことができる。また、状態表示ＬＥＤに設定内容、状態を表示することにより対話的な操作を行うことができる。
【００３７】
操作部５のグラフィカルディスプレイは読み取った画像データを即時に表示することができ、読み取った画像が希望する領域やサイズ、画質で読み取られているかを逐次確認しながら確実に画像の読み取り作業を行うことも可能である。
【００３８】
また、グラフィカルディスプレイは蓄積されている画像データを選択する際にも利用することができ、縮小率の高い荒い画像で選択することや、詳細表示により画像内容を確認することも可能である。
【００３９】
（実施例１）
本発明の実施例１である画像処理装置について説明する。図３は、画像処理装置のブロック図である。画像処理装置１１は、描画命令処理装置１２、描画処理制御部１３及び印刷データ解析部１４を含む。画像処理装置１１は図１のＣＰＵ１００１に対応しており、画像記憶部１５は図１のＲＡＭ１００２に対応している。ただし、画像記憶部１５として図１の画像メモリ１１０１を用いることもできる。
【００４０】
画像処理装置１１は、プリンタドライバから出力されたＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）と呼ばれる印刷データをビットマップに展開するＲＩＰ処理を行う。ＲＩＰ処理は、図２に図示するように、言語解析と、描画処理とに大別できる。言語解析は、印刷データ解析部１４が行う。言語解析とは、クライアントＰＣのドライバから転送される印刷データの構文を解析し、後段の描画処理において解析できる描画命令を生成することである。描画処理は、描画命令処理装置１２が行う。描画処理とは、描画命令を解析して、ビットマップ画像に展開することである。
【００４１】
印刷データ解析部１４は、クライアントＰＣのプリンタドライバから転送された印刷データを解釈して描画命令を生成するが、このとき描画命令を副走査方向に分割して生成する。分割する単位は１ライン〜複数ラインである。この分割した単位を１つの処理単位として、描画命令処理装置１２は描画処理を行う。なお、この処理単位に分割された描画命令が、特許請求の範囲に記載の「描画命令」に相当する。
【００４２】
描画命令処理装置１２は、第１の描画命令処理部２１、第２の描画命令処理部２２、第３の描画命令処理部２３及び第４の描画命令処理部２４を含む。第１〜第４の描画命令処理部２１〜２４はそれぞれ、第１〜第４のローカルメモリ２１Ａ〜２４Ａを有する。各第１〜第４の描画命令処理部２１〜２４は各第１〜第４のローカルメモリ２１Ａ〜２４Ａにおいて、転送された描画命令を解析して、ビットマップ（描画結果）を生成する。
【００４３】
描画処理制御部１３は、これらの第１〜第４の描画命令処理部２１〜２４に対して、各第１〜第４の描画命令処理部２１〜２４の処理タイミングの管理、描画命令の転送、描画領域の割り当てなどの制御を行う。画像記憶部１５は、第１〜第４の描画命令処理部２１〜２４が出力した描画結果を結合して、イメージを生成する。
【００４４】
上述の構成において、各描画命令処理部２１〜２４が有する各第１〜第４のローカルメモリ２１Ａ〜２４Ａは、記憶容量が小さい。そのため、各描画命令処理部２１〜２４に送信された描画命令が大きい場合には、描画命令処理部２１〜２４において迅速な描画処理を行うことができない。
【００４５】
そこで、本実施例では、複数の描画命令処理部に同一の描画命令を送信するとともに、この描画命令に対応した描画領域を複数に分割した各分割描画領域を、描画処理すべき領域として各描画命令処理部に割り当てることにより、迅速な描画処理を可能としている。なお、本明細書では、各描画命令処理部に割り当てられる描画領域を分割描画領域と定義する。
【００４６】
分割描画領域の割り当て方法について詳細に説明する。第１の描画命令処理部２１の第１のローカルメモリ２１Ａにおいて、描画命令を展開することにより生成されるビットマップの格納に使用できるメモリ領域をＫ［Ｂｙｔｅ］、第１の描画命令処理部２１で処理するビットマップ画像の副走査方向のライン数をＮ（１〜数ラインで固定）、主走査方向のライン数をＭ、色数をＣとしたときに、描画処理制御部１３は、下記（１）式を満足するように分割描画領域の割り当てを行う。
Ｋ＞ＮｘＭｘＣ・・・・・・・・・・・・（１）
第２〜第４の描画命令処理部２２〜２４においても、第１の描画命令処理部２１と同様の方法で分割描画領域の割り当てを行う。
【００４７】
各描画命令処理部２１〜２４では、描画処理制御部１３により割り当てられた分割描画領域のみ描画処理を行い、割り当てられた領域以外の領域に関しては描画処理を行わず、描画命令を読み飛ばす処理を行う。
【００４８】
図４は、第１〜第３の描画命令処理部２１〜２３が行う描画処理を模式的に示した模式図である。なお、図４の模式図では、第１〜第３の描画命令処理部２１〜２３のみを使用し、第４の描画命令処理部２４については使用しないものとする。図４を参照して、印刷データ解析部１４から描画処理制御部１３に通知される描画命令は、オブジェクト画像として「黒色の台形」、「黒色の楕円」、「黒色のＴｈｉｓ  ｉｓ」、「下端部が欠けた黒色の星形」を含む描画領域に対応している。
【００４９】
描画処理制御部１３は、前記描画領域のうち、「黒色の台形」を含む左端の分割描画領域を第１の描画命令処理部２１に割り当て、「黒色の楕円」、「黒色のＴｈｉｓ」を含む中央の分割描画領域を第２の描画命令処理部２２に割り当て、「黒色のｉｓ」「下端部が欠けた黒色の星形」を含む右端の分割描画領域を第３の描画命令処理部２３に割り当てる。
【００５０】
第１の描画命令処理部２１は、割り当てられた左端の分割描画領域のみ描画処理を行い、残りのハッチングで示す領域については、描画処理を行わない。第２の描画命令処理部２２は、割り当てられた中央の分割描画領域のみ描画処理を行い、残りのハッチングで示す領域については、描画処理を行わない。第３の描画命令処理部２３は、割り当てられた右端の分割描画領域のみ描画処理を行い、残りのハッチングで示す領域については、描画処理を行わない。
【００５１】
このように、本実施例の構成によれば、同一の描画領域を分割した各分割描画領域を第１〜第３の描画命令処理部２１〜２３に割り当てて描画処理を行うことにより、描画処理を迅速化することができる。
【００５２】
図５は、本実施例におけるＲＩＰ処理の手順を示したフローチャートである。Ａｃｔ２０１において、印刷データ解析部１４は、プリントドライバから転送されたＰＤＬを解釈し、１ページ分の描画命令を生成する。Ａｃｔ２０２において、印刷データ解析部１４は、１ページ分の描画命令を１ライン〜数ラインの特定の単位（バンド）に分割し、この分割した描画命令を順次、画像記憶部１５に送信する。画像記憶部１５は、これらの描画命令を記憶する。
【００５３】
Ａｃｔ２０３において、描画処理制御部１３は、画像記憶部１５に通信して、描画命令に対応した描画領域のうち、各描画命令処理部２１〜２４に割り当てる分割描画領域を計算する。ここで、描画処理制御部１３は、各描画命令処理部２１〜２４において展開された各ビットマップが各ローカルメモリ２１Ａ〜２４Ａの記憶容量を超えないように割り当てる分割描画領域を計算する。
【００５４】
Ａｃｔ２０４において、描画処理制御部１３は、Ａｃｔ２０２で分割した同一の描画命令と、Ａｃｔ２０３で計算した割り当て領域に関する情報とを各描画命令処理部２１〜２４に送信するように画像記憶部１５に指示する。Ａｃｔ２０５において、全ての描画命令処理部２１〜２４が同一の描画命令及び割り当てに関する情報を受信する。受信した描画命令及び割り当てに関する情報は、各描画命令処理部２１〜２４の各ローカルメモリ２１Ａ〜２４Ａに格納する。
【００５５】
Ａｃｔ２０６において、各描画命令処理部２１〜２４は、各ローカルメモリ２１Ａ〜２４Ａに格納された描画命令を、分割描画領域の割り当てに関する情報に基づき同時に処理を開始する。具体的には、各描画命令処理部２１〜２４は、描画処理制御部１３により割り当てられた分割描画領域のみ描画処理を行い、それ以外の領域は描画処理をせずに読み飛ばす。
【００５６】
Ａｃｔ２０７において、各描画命令処理部２１〜２４は、描画処理を終了すると、各ローカルメモリ２１Ａ〜２４Ａに格納されている描画結果を画像記憶部１５に転送する。Ａｃｔ２０８において、各描画命令処理部２１〜２４は、描画処理が完了したことを描画処理制御部１３に通知する。
【００５７】
Ａｃｔ２０９において、描画処理制御部１３は、１ページ分の描画処理が完了したか否かを判断する。１ページ分の描画処理が完了していない場合には、Ａｃｔ２１０において次の描画命令に移行し、Ａｃｔ２０３から処理を開始する。
【００５８】
（実施例２）
図６は、実施例２の画像処理装置のブロック図である。画像処理装置３１は、描画命令処理装置３２、描画処理制御部３３、印刷データ解析部３４、画像記憶部３５及び描画情報記憶部３６を含む。描画命令処理装置３２、描画処理制御部３３、印刷データ解析部３４、画像記憶部３５の主たる機能は、実施例１の描画命令処理装置１２、描画処理制御部１３、印刷データ解析部１４及び画像記憶部１５と同様であるため詳細な説明を省略し、実施例１と異なる部分を中心に説明する。
【００５９】
実施例１では、一つの描画領域を複数に分割した分割描画領域を複数の描画命令処理部で処理する構成としたが、本実施例は、分割数が増大した場合においても、描画処理を高速に行うことができる方法を提案する。出力するイメージデータが高解像度である場合、ローカルメモリ４１Ａ〜４４Ａのメモリ容量が非常に小さい場合には、前記分割数が描画命令処理部４１〜４４の個数を上回る場合もある。そこで、本実施例では、下記の方法で描画処理を行うことにしている。
【００６０】
本実施例では、初回の描画処理に注目する。実施例１と同様に、各描画命令処理部４１〜４４は、描画処理制御部３３により割り当てられた分割描画領域の描画処理を行い、その他の領域については読み飛ばす処理を行う。このとき、描画命令に基づき展開される全ての描画領域に対して描画命令の解析処理を行っている。このため、描画処理の対象となるオブジェクト画像を含まない分割描画領域（以下、空白領域という）の情報についても得ることができる。
【００６１】
第１〜第４の描画命令処理部４１〜４４は、初回の描画処理時において次の処理時に割り当てられる予定の分割描画領域が空白領域であると判断した場合には、描画処理制御部１３に対して空白領域であることを示す情報を通知する。描画処理制御部１３は、空白領域であることを示す情報を受信すると、２回目以降の分割描画領域の割り当て時に、この空白領域の割り当てを行わないように制御する。
【００６２】
これにより、オブジェクト画像を含む分割描画領域のみを、描画処理を行う領域として各描画命令処理部４１〜４４に割り当てることができる。その結果、空白領域が描画対象から除外されるため、全体の処理量が削減され、描画処理を高速化することができる。
【００６３】
図７Ａ及び図７Ｂは、第１〜第３の描画命令処理部４１〜４３による描画処理を模式的に示した模式図である。なお、図７Ａ及び図７Ｂの模式図では、第１〜第３の描画命令処理部４１〜４３のみ使用し、第４の描画命令処理部４４については使用しないものとする。図７Ａを参照して、印刷データ解析部３４から描画処理制御部３３に通知される描画命令は、オブジェクト画像として「黒色の台形」、「下端部が欠損した黒色の楕円」、「黒色のＡ」、「黒色の星印」、「互いに重畳した黒色の二つの四角形」を含む描画領域に対応している。
【００６４】
１回目の割り当てでは、「黒色の台形」を三つの領域に分割した各分割描画領域を第１〜第３の描画命令処理部４１〜４３に振り分ける。各第１〜第３の描画命令処理部４１〜４３はそれぞれ、振り分けられた分割描画領域について描画処理を行う。このとき、次の処理時に割り当てられる予定の分割描画領域が空白領域であるか否かのチェックを同時に行う。図示例では、第１の描画命令処理部４１が４回目に描画処理する予定の分割描画領域、第２の描画命令処理部４２が３回目に描画処理する予定の分割描画領域、第３の描画命令処理部４３が２回目に描画処理する予定の分割描画領域が空白領域であった。
【００６５】
各第１〜第３の描画命令処理部４１〜４３は、この空白領域に関する情報を描画処理制御部３３に送信する。描画処理制御部３３は、この空白領域に関する情報を描画情報記憶部３６に格納し、２回目以降の描画処理において、空白領域を割り当てないように第１〜第３の描画命令処理部４１〜４３に対する割り当てを行う（図７Ｂ参照）。
【００６６】
図８及び図９は、本実施例におけるＲＩＰ処理の手順を示したフローチャートである。図８は１回目の分割描画領域の割り当て手順を示したフローチャートである。図９は２回目以降の分割描画領域の割り当て手順を示したフローチャートである。
【００６７】
図８を参照して、Ａｃｔ３０１において、描画処理制御部３３は、各描画命令処理部４１〜４４に割り当てる分割描画領域を計算する。Ａｃｔ３０２において、Ａｃｔ３０１において計算された分割描画領域の通知を行う。分割描画領域の割り当ては前述したように、展開されたビットマップ画像が各描画命令処理部４１〜４４のローカルメモリ４１Ａ〜４４Ａのメモリ容量を超えないように行う。
【００６８】
Ａｃｔ３０３において、第１〜第４の描画命令処理部４１〜４４は、同一の描画命令を受信する。Ａｃｔ３０４において、描画処理を開始する。このとき、第１〜第４の描画命令処理部４１〜４４は同一の描画命令を同時に処理する。Ａｃｔ３０５において、各描画命令処理部４１〜４４は、描画処理制御部３３により割り当てられた分割描画領域のみ描画処理を行うとともに、後段において割り当てられる予定の分割描画領域に対して、空白領域がないかチェックを行う。
【００６９】
Ａｃｔ３０６において、各第１〜第４の描画命令処理部４１〜４４は描画処理を終了すると、各第１〜第４のローカルメモリ４１Ａ〜４４Ａに格納されている描画結果を画像記憶部３５に転送する。Ａｃｔ３０７において、空白領域が検出された場合には、描画情報記憶部３６に対して空白領域の通知を行う。
【００７０】
Ａｃｔ３０８では、第１〜第４の描画命令処理部４１〜４４が、描画処理制御部３３に対して、描画処理が完了したことを通知する。
【００７１】
次に、図９を参照して、２回目以降の割り当て処理について説明する。Ａｃｔ４０１において、描画処理制御部３３は、各描画命令処理部４１〜４４に割り当てる分割描画領域を計算する。Ａｃｔ４０２において、Ａｃｔ４０１で割り当てられた分割描画領域が空白領域であるか否かを判別する。Ａｃｔ４０２において分割描画領域が空白領域である場合には、Ａｃｔ４０３において、空白領域以外の分割描画領域を割り当てる。具体的には、分割描画領域が空白領域である場合には、次の割り当ての分割描画領域をチェックし、最終的には空白領域として通知を受けていない領域の割り当てを行う。それ以降の描画処理は、実施例１と同様であるため、詳細な説明を省略する。
【００７２】
このように、描画命令処理装置３２において１回目の描画処理を行う際に、後段の空白領域のチェックを行い、このチェック結果を描画処理制御部３３に通知することにより、それ以降の描画処理において、空白領域を描画命令処理部４１〜４４に割り当てる必要がなくなる。これにより、描画処理を、オブジェクト画像が存在する領域のみに制限することができる。その結果、全体の処理量が削減され、描画処理の高速化が可能となる。
【００７３】
（実施例３）
実施例２では、第１〜第４の描画命令処理部４１〜４４は、空白領域の検知を行いながら、描画処理を行っている。これに対して、本実施例では、描画処理に先立って空白領域の検知を行う。本実施例の画像処理装置のブロック構成は、実施例２と同様である。
【００７４】
図１０は、本実施例の空白領域を検知する検知方法を模式的に示したバンド構成図である。本実施例では、１頁ごとに空白領域の検知を描画処理に先立って行う。図１０を参照して、１頁は６つのバンドで構成しており、それぞれのバンドを６つの分割描画領域に分割している。各描画命令処理部４１〜４４はそれぞれ異なるバンドについて空白領域の検知を行う。
【００７５】
空白領域の検知結果は、描画情報記憶部３６に格納した描画テーブルに記憶する。描画テーブルとは、描画処理を行う領域を示したものであり、本例では、「１」を描画処理する領域、「０」を描画処理しない領域として表記している。図１０では、描画処理しない領域をハッチングで示している。
【００７６】
描画テーブルの作成が終了すると、描画情報記憶部３６に格納されている描画テーブルの値を参照して、描画処理制御部３３が、各描画命令処理部４１〜４４に対して分割描画領域の割り当てを行う。各描画命令処理部４１〜４４は、割り当てられた分割描画領域に対して描画処理を施す。
【００７７】
図１１は、第１〜第３の描画処理部４１〜４３を用いて空白検知及び描画処理を行う例を示したタイミングチャートである。図１１を参照して、描画処理制御部３３は、描画命令処理部４１にバンド１を転送し、描画命令処理部４２にバンド２を転送し、描画命令処理部４３にバンド３を転送する。各描画命令処理部４１〜４３はそれぞれバンド１〜３について空白領域の検知を行う。検知した空白領域に関する情報は、上述したように、描画情報記憶部３６に格納した描画テーブルに記憶する。
【００７８】
次に、描画処理制御部３３は、描画命令処理部４１にバンド４を転送し、描画命令処理部４２にバンド５を転送し、描画命令処理部４３にバンド６を転送する。各描画命令処理部４１〜４３はそれぞれ、バンド４〜６について空白領域の検知を行う。検知した空白領域に関する情報は、上述したように、描画情報記憶部３６に格納した描画テーブルに記憶する。これにより、１頁分全ての空白領域の検知が完了する。描画処理制御部３３は、描画情報記憶部３６に格納した描画テーブルに基づき、各描画命令処理部４１〜４３が処理する分割描画領域の割り当てを行う。各描画命令処理部４１〜４３は、割り当てられた分割描画領域に基づき、描画処理を行う。
【００７９】
このように描画処理に先立って空白領域を検知することにより、実施例２と同様の効果を得ることができる。
【００８０】
（実施例４）
本実施例では、複数の描画命令処理部を、空白領域を検知する描画命令処理部と、描画処理を行う描画命令処理部とに分割する。本実施例の画像処理装置は、図６の画像処理装置に第５の描画命令処理部４５を付加した構成である。
【００８１】
図１２は、図１０の画像について、第１〜第５の描画処理部４１〜４５を用いて空白検知及び描画処理を行う例を示したタイミングチャートである。第１の描画命令処理部４１は図１０の画像全体に対して空白領域の検知を行う。第２〜第５の描画命令処理部４２〜４５は描画処理を行う。なお、本実施例の第１の描画命令処理部４１は、請求項４に記載の「判別部」に相当する。
【００８２】
第１の描画命令処理部４１はバンド１〜６について順次空白検知を行う。バンド１〜５はそれぞれ４つの描画処理すべき分割描画領域を含む。描画処理制御部３３は、バンド１に含まれる４つの分割描画領域をそれぞれ第２〜第５の描画命令処理部４２〜４５に振り分ける。第２〜第５の描画命令処理部４２〜４５は、振り分けられた各分割描画領域を描画処理する。描画処理制御部３３は、バンド１に対する描画処理と、バンド２の空白検知とが同時に行われるように、第１〜第５の描画命令処理部４１〜４５の処理タイミングを制御する。
【００８３】
描画処理制御部３３は、バンド２に含まれる４つの分割描画領域をそれぞれ第２〜第５の描画命令処理部４２〜４５に振り分ける。第２〜第５の描画命令処理部４２〜４５は振り分けられた分割描画領域を描画処理する。描画処理制御部３３は、バンド２の描画処理と、バンド３の空白検知とが同時に行われるように、第１〜第５の描画命令処理部４１〜４５の処理タイミングを制御する。
【００８４】
描画処理制御部３３は、バンド３に含まれる４つの分割描画領域をそれぞれ第２〜第５の描画命令処理部４２〜４５に振り分ける。第２〜第５の描画命令処理部４２〜４５は振り分けられた各分割描画領域を描画処理する。描画処理制御部３３は、バンド３の描画処理と、バンド４の空白検知とが同時に行われるように、第１〜第５の描画命令処理部４１〜４５の処理タイミングを制御する。
【００８５】
描画処理制御部３３は、バンド４に含まれる４つの分割描画領域をそれぞれ第２〜第５の描画命令処理部４２〜４５に振り分ける。第２〜第５の描画命令処理部４２〜４５は振り分けられた各分割描画領域を描画処理する。描画処理制御部３３は、バンド４に対する描画処理と、バンド５の空白検知とが同時に行われるように、第１〜第５の描画命令処理部４１〜４５の処理タイミングを制御する。
【００８６】
描画処理制御部３３は、バンド５に含まれる４つの分割描画領域をそれぞれ第２〜第５の描画命令処理部４２〜４５に振り分ける。第２〜第５の描画命令処理部４２〜４５は振り分けられた分割描画領域を描画処理する。
【００８７】
このように、描画処理と空白検知とを同時に行うことにより、効率よく高速に描画処理を行うことができる。
【００８８】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、なんら拘束されない。さらに、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、すべて本発明の範囲内のものである。
【符号の説明】
【００８９】
１１  ３１  画像処理装置  １２  ３２描画命令処理装置
１３  ３３  描画処理制御部  １４  ３４印刷データ解析部
１５  ３５  画像記憶部
２１〜２４  ４１〜４４  第１〜第４の描画命令処理部
２１Ａ〜２４Ａ  ４１Ａ〜４４Ａ  第１〜第４のローカルメモリ
【先行技術文献】
【特許文献】
【００９０】
【特許文献１】特開平９−１６７２４２号公報
【図１】
2010009603.tif 000003
【図２】
2010009603.tif 000004
【図３】
2010009603.tif 000005
【図４】
2010009603.tif 000006
【図５】
2010009603.tif 000007
【図６】
2010009603.tif 000008
【図７Ａ】
2010009603.tif 000009
【図７Ｂ】
2010009603.tif 000010
【図８】
2010009603.tif 000011
【図９】
2010009603.tif 000012
【図１０】
2010009603.tif 000013
【図１１】
2010009603.tif 000014
【図１２】
2010009603.tif 000015