(57)【要約】【課題】求められる仕様における描画速度に応じて、最適な描画手段を選択して画像を処理する。【解決手段】第１の集積回路に設けられ、所定の画像データを描画する第１の描画手段と、第１の集積回路を制御する第２の集積回路に設けられ、所定の画像データを描画する第２の描画手段と、を備える画像処理装置であって、第２の描画手段は、当該画像処理装置に要求される描画速度に応じて、第１の描画手段又は当該第２の描画手段のうち、何れか一方を選択する。【選択図】図１
2015035201.tif 000002
【特許請求の範囲】
【請求項１】
第１の集積回路に設けられ、所定の画像データを描画する第１の描画手段と、
前記第１の集積回路を制御する第２の集積回路に設けられ、前記所定の画像データを描画する第２の描画手段と、
を備える画像処理装置であって、
前記第２の描画手段は、当該画像処理装置に要求される描画速度に応じて、前記第１の描画手段又は当該第２の描画手段のうち、何れか一方を選択することを特徴とする画像処理装置。
【請求項２】
前記第２の集積回路に設けられ、前記所定の画像データを描画する第３の描画手段をさらに備え、前記第２の描画手段は、当該画像処理装置に要求される描画速度に応じて、前記第１の描画手段と、当該第２の描画手段又は前記第３の描画手段とのうち、何れか一つを選択することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記要求される描画速度が所定の速度と比較して低いとき、前記第２の描画手段又は前記第３の描画手段を選択し、前記要求される描画速度が前記所定の速度と比較して高いとき、前記第１の描画手段を選択することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
描画コマンドが前記第１の描画手段で対応できるコマンドであり、描画サイズが前記第１の描画手段で対応しているサイズであるとき前記第１の描画手段を選択し、前記描画コマンドが前記第１の描画手段で対応できないコマンドであるとき、又は前記描画サイズが前記第１の描画手段で対応していないサイズであるとき前記第２の描画手段又は前記第３の描画手段を選択することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記第１の描画手段、前記第２の描画手段、又は前記第３の描画手段のうち何れか一つを選択する選択手段をさらに含むことを特徴とする請求項１から４の何れか１項に記載の画像処理装置。
【請求項６】
前記第１の描画手段が選択されると、前記第１の集積回路に、前記所定の画像データの描画情報を格納する第１の記憶手段が接続されることを特徴とする請求項１から５の何れか１項に記載の画像処理装置。
【請求項７】
前記第２の描画手段又は前記第３の描画手段が選択されると、前記所定の画像データの描画情報は、前記第２の描画手段に接続される第２の記憶手段に格納されることを特徴とする請求項１から５の何れか１項に記載の画像処理装置。
【請求項８】
前記第１の描画手段又は前記第２の描画手段をそれぞれ動作させるプログラム、若しくは、前記第１の描画手段、前記第２の描画手段又は第３の描画手段をそれぞれ動作させるプログラムを格納する第３の記憶手段をさらに含むことを特徴とする請求項１から５の何れか１項に画像処理装置。
【請求項９】
画像処理装置に要求される描画速度に応じて、第１の集積回路に設けられた第１の描画手段を用いて所定の画像データを描画する工程と、前記第１の集積回路を制御する第２の集積回路に設けられた第２の描画手段を用いて前記所定の画像データを描画する工程と、のうち何れか一方を選択することを特徴とする画像処理方法。
【請求項１０】
コンピュータに、画像処理装置に要求される描画速度に応じて、第１の集積回路に設けられた第１の描画手段を用いて所定の画像データを描画する処理と、前記第１の集積回路を制御する第２の集積回路に設けられた第２の描画手段を用いて前記所定の画像データを描画する処理と、のうち何れか一方を選択する処理を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
画像処理装置を用いてプリントデータを描画する方法として、ＣＰＵ（Central Processing Unit）を用いて描画する方法と、特定用途向け集積回路（ＡＳＩＣ：Application Specific Integrated Circuit）を用いて描画する方法は一般的に知られている。
【０００３】
ＣＰＵを用いて描画する場合、より高性能なＣＰＵを搭載することで高い生産性（描画速度）を実現する方法が一般的である。また、ＡＳＩＣを用いて描画する方法では、画像処理用のメモリをＡＳＩＣに接続することで、高速に処理を実施する方法も一般的である。
【０００４】
また、一般的に、高価格帯のモデルは高い生産性が必要とされ、その生産性を満足する中でコストを下げる工夫がされている。一方、低価格帯のモデルでは生産性よりも低コストであることが重視されることが多い。
【０００５】
ここで、特許文献１には、ＣＰＵとハードウェアの描画装置を効率的に使用し、画像処理の生産性を向上させることを目的として、ＣＰＵとＡＳＩＣとの処理を並列化する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来、ＣＰＵを用いて描画を行う方法において画像処理の生産性を向上させるため、具体的には、描画速度を向上させるためには高性能化されたＣＰＵを搭載する必要があり、特に、高価格帯のモデルの性能を確保するためには、コストの高いＣＰＵを採用しなければならないという問題があった。
【０００７】
また、ＡＳＩＣを用いて描画する方法においては、ＡＳＩＣに描画用のメモリを接続する必要があり、余計なコストがかかってしまうという問題もあった。さらに、高価格帯のモデルでは、画像処理の生産性を重視する一方、低価格帯のモデルではコストを重視するため、高価格帯のモデルと低価格帯のモデルとにおいて異なるＡＳＩＣを搭載している。そのため、両者のＡＳＩＣの開発、及び両者に対応するデバイスドライバの開発を必要とし、開発費が余計にかかってしまうという問題もあった。
【０００８】
さらに、特許文献１には、ＣＰＵを用いた描画手段と、ハードウェアを用いた描画手段とを用い、ハードウェアを有効に活用することにより画像処理の生産性を向上させている。しかしながら、低価格帯のモデルにおいても、ハードウェアを用いて描画を行うためのメモリを必要とし、コストが余計にかかってしまうという問題は依然として解消されていない。
【０００９】
そこで、本発明は、上記従来技術の問題点に鑑みてなされたものであって、求められる仕様における描画速度に応じて、最適な描画手段を選択して画像を処理することが可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、請求項１に記載の本発明における画像処理装置は、第１の集積回路に設けられ、所定の画像データを描画する第１の描画手段と、前記第１の集積回路を制御する第２の集積回路に設けられ、前記所定の画像データを描画する第２の描画手段と、を備える画像処理装置であって、前記第２の描画手段は、当該画像処理装置に要求される描画速度に応じて、前記第１の描画手段又は当該第２の描画手段のうち、何れか一方を選択することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、求められる仕様における描画速度に応じて、最適な描画手段を選択して画像を処理することが可能な画像処理装置を得ることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第１の集積回路の描画装置を用いた描画と、第２の集積回路のＣＰＵを用いた描画の構成について説明するブロック図である。
【図２】本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路のＣＰＵを用いて描画するときの構成について説明するブロック図である。
【図３】本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路に描画装置を設け、第１の集積回路に描画用メモリを設けたときの構成について説明するブロック図である。
【図４】本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路に描画用メモリを設け、第１の集積回路に描画用メモリを設けないときの構成について説明するブロック図である。
【図５】本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第１の集積回路の描画装置を用いて描画するときのデータの流れについて説明する図である。
【図６】本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第１の集積回路の描画装置を用いて描画する場合と第２の集積回路のＣＰＵを用いて描画する場合の動作について説明するフローチャートである。
【図７】本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路に描画装置を設け、第１の集積回路の描画装置を用いて描画するときのデータの流れについて説明する図である。
【図８】本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路のＣＰＵを用いて描画するときのデータの流れについて説明する図である。
【図９】本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路のＣＰＵを用いて描画する場合の動作について説明するフローチャートである。
【図１０】本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路の描画装置を用いて描画するときのデータの流れについて説明する図である。
【図１１】本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第１の集積回路の描画装置を用いて描画する場合と第２の集積回路の描画装置を用いて描画する場合の動作について説明するフローチャートである。
【図１２】本実施形態に係る画像処理装置の全体構成について説明する図である。
【図１３】本実施形態に係る画像処理装置の、プリンタエンジンについて説明する図である。
【発明を実施するための形態】
【００１３】
次に、本発明を実施するための形態について図面を参照して詳細に説明する。なお、各図中、同一又は相当する部分には同一の符号を付しており、その重複説明は適宜に簡略化乃至省略する。
【００１４】
本実施形態について説明する前提として、画像処理装置の一例であるプリンタ制御装置において、第１の集積回路の描画装置を用いた描画と、第２の集積回路のＣＰＵを用いた描画の構成について説明する。図１は、本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第１の集積回路の描画装置を用いた描画と、第２の集積回路のＣＰＵを用いた描画の構成について説明するブロック図である。
【００１５】
一般的に、ＣＰＵのみを使って描画処理を行う構成によって画像処理の生産性を向上させるためには、高性能化されたＣＰＵを搭載する必要があり、コストが大幅に上昇してしまう。そこで、図１に示すように、プリンタ制御装置１００のＡＳＩＣ２００に、所定の画像データを描画する第１の描画手段たる描画装置２０２を搭載することは一般的に知られている。ＡＳＩＣ２００に設けられた描画装置２０２が、第２の描画手段としての機能を有するＣＰＵ３０３と同一チップ上に構成されると、外部バスを介さずにデータのやり取りができるので性能の面では有利である。しかしながら、開発コストの観点から、ＣＰＵ３０３は、汎用品（市販品）のＳｏＣ（System on a Chip）３００に実装されることが多くなっている。このＳｏＣ３００は、第１の集積回路であるＡＳＩＣ２００を制御する第２の制御回路である。
【００１６】
その場合、汎用品のＳｏＣとは別に自社で開発するＡＳＩＣ２００を搭載し、その中に描画装置２０２を備えることになる。そうすると、汎用品のＳｏＣ３００とＡＳＩＣ２００との間は外部バスを用いて接続することになる。図１では、そのバスの一例としてＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）（ＰＣＩｅ）２０５、３０５を採用した構成を記載している。
【００１７】
このような外部バス経由でプリンタ制御装置１００を接続する場合、そこにおける転送帯域は、内部バスと比較して小さくなるので、図１の描画装置２０２は、第２の記憶手段たるメインメモリ５００にアクセスすると処理速度が遅くなってしまう。そこで、ＡＳＩＣ２００側にもメモリを接続することが知られている。その一例として、図１は、ＡＳＩＣ２００にＤＤＲ  Ｉ／Ｆ２０３を設け、描画情報を格納する第１の記憶手段たる描画用メモリ４００を接続する構成としている。
【００１８】
また、ＣＰＵ３０３を動作させるためのプログラムは、例えばＳｏＣ３００に接続される第３の記憶手段たるＲＯＭ（Read Only Memory）６００に格納され、ＣＰＵ３０３が動作するためのワーク領域は図１中のメインメモリ５００に設けられる。また、図１は、描画手段として、ＣＰＵ３０３と描画装置２０２とを設ける構成としているが、描画性能（描画速度）を向上させるため、より多くの描画装置を搭載するようにしても良い。
【００１９】
また、通常、ＡＳＩＣ２００は、描画装置としての機能以外の画像処理装置として必要な機能を搭載することが多い。図１は、描画装置２０２としての機能以外に描画された画像データを圧縮する圧縮手段たる圧縮装置２０１が設ける構成としているが、それ以外にもＡＳＩＣ２００は、画像の回転や合成を行う機能を搭載しても良い。
【００２０】
次に、本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路のＣＰＵを用いて描画するときの構成について説明する。図２は、本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路のＣＰＵを用いて描画するときの構成について説明するブロック図である。
【００２１】
画像処理の生産性を向上させるため、図１に示したＣＰＵ３０３だけではなく、ＡＳＩＣ２００に設けられた描画装置２０２も使うことが知られている。しかし、画像処理の生産性よりもコストを重視する低価格帯のモデルは、ＡＳＩＣ２００の描画装置２０２を使用する必要性がない場合がある。ただ、この場合でも、ＡＳＩＣ２００に搭載される描画装置２０２としての機能以外の機能は必要とされるが、描画装置２０２としての機能を搭載しないＡＳＩＣ２００を新たに開発するとなると別途開発費が必要となる。
【００２２】
そこで、ＡＳＩＣ２００は、図１で示したＡＳＩＣ２００と同一のものを使用し、ＡＳＩＣ２００の描画装置２０２を使用しないでコストを抑える方法が望ましい。すなわち、図１に示すＡＳＩＣ２００を使用しつつ、ＤＤＲ  Ｉ／Ｆ２０３に描画用メモリ４００を搭載しない図２のような構成を採用する。その場合、描画装置２０２を用いて描画することはできないが、ＣＰＵ３０３を用いて描画処理を実現させることができる。
【００２３】
また、描画用メモリ４００は、コネクタ接続で着脱可能な構成としておき取り外しても良いし、ＡＳＩＣ２００と同一基板にメモリを実装できるようにしておいて実装しないようにしても良い。若しくは、画像処理の生産性よりもコストを重視する低価格帯のモデル専用の基板とし、描画用メモリ４００を実装できないようにしても良い。
【００２４】
図１と図２とは、ＡＳＩＣ２００の描画装置としての機能を用いるか否かが異なるが、この切り替えは、例えばＲＯＭ６００に格納されるプログラムを変更することにより実現することができる。図１に示すように、ＡＳＩＣ２００の描画装置２０２を用いる場合は、ＣＰＵ３０３で動作するプログラムにおいて、ＰＤＬ（Page Description Language：ページ記述言語）を解析する。その後、ＣＰＵ３０３で動作するプログラムにおいて、ＡＳＩＣ２００の描画装置２０２を用いて描画可能であると判断されれば、描画装置２０２用の中間コマンドを生成し、描画を行う。
【００２５】
このとき、描画装置２０２を用いて描画可能であると判断できるのは、描画コマンドが描画装置２０２で対応できるコマンドであり、かつ描画サイズが描画装置２０２で対応しているサイズであると判断された場合である。このような描画コマンドやサイズはＰＤＬの解析の中で判明するので、ＣＰＵ３０３は、描画装置２０２で描画可能か否か判断することができる。
【００２６】
一方、図２に示すように、ＡＳＩＣ２００の描画装置２０２を用いない場合は、ＣＰＵ３０３で動作するプログラムにおいて、ＰＤＬを解析した後、必ずＣＰＵ３０３を用いて描画処理を実行するようにする。このように、何れか一方の描画手段を選択することによって、ＡＳＩＣ２００側に描画用メモリ４００を搭載することなく画像処理を実現することができる。
【００２７】
そして、そのプログラムとして、例えば、コストよりも画像処理の生産性を重視する高価格帯のモデル（速度要求が高い機種）では、ＡＳＩＣ２００の描画装置２０２を用いるプログラムをＲＯＭ６００に格納する。また、画像処理の生産性よりもコストを重視する低価格帯のモデル（速度要求が低い機種）では、ＡＳＩＣ２００の描画装置２０２を用いずに、ＣＰＵ３０３を用いるプログラムをＲＯＭ６００に格納する。要するに、画像処理装置に要求される描画速度に応じて、描画装置２０２と、ＣＰＵ３０３との何れか一方を選択する選択手段を、ＲＯＭ６００に格納するのである。そして、ＲＯＭ６００に格納されているプログラムに応じて、ＣＰＵ３０３は、どの描画装置を選択するかという切り替えを行う。なお、画像処理装置に要求される描画速度に応じて、どの描画装置を選択するかという機能は、ＣＰＵ３０３に設けても良いし、ＣＰＵ３０３とは異なる別の選択手段を設けるようにしても良い。この点は、以後説明する全ての実施形態において共通する。
【００２８】
また、ＡＳＩＣ２００の描画装置２０２を用いない図２の構成において、ＡＳＩＣ２００に搭載されている描画された画像データを圧縮する圧縮装置２０１は用いることとしても良い。そのため、圧縮装置２０１は、ＣＰＵ３０３が描画したデータを格納しているメインメモリ５００から、外部バスであるＰＣＩｅ３０５、２０５経由で画像データを読み取る。そして圧縮処理を施した後、圧縮装置２０１は、再度ＰＣＩｅ２０５、３０５経由でメインメモリ５００に書き戻すことができるようにする。
【００２９】
これを実現するための方法として、圧縮装置２０１のＤＭＡ（Direct Memory Access：ダイレクトメモリアクセス）は、描画用メモリ４００とメインメモリ５００との両方をアクセス可能としておく。そして、レジスタ、又はディスクリプタを用いて、何れのメモリにアクセスするかをプログラムにより選択可能にすること等が考えられる。
【００３０】
なお、図１と図２の構成において、ＳｏＣ３００は異なるものを採用しても良い。通常、画像処理の生産性よりコストを重視する低価格帯のモデル（速度要求が低い機種）では、ＣＰＵ３０３の性能を高くする必要がないので、安価なＳｏＣ３００を採用することが多い。
【００３１】
次に、本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路に描画装置を設け、第１の集積回路に描画用メモリを設けたときの構成について説明する。図３は、本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路に描画装置を設け、第１の集積回路に描画用メモリを設けたときの構成について説明するブロック図である。
【００３２】
図３は、ＳｏＣ３００側にも描画装置３０６を設け、描画性能（描画速度）が要求される場合、ＡＳＩＣ２００内に設けられた描画装置２０２を使用する構成、すなわち、ＡＳＩＣ２００に接続された描画用メモリ４００を使用する構成である。
【００３３】
図２で説明した構成では、ＳｏＣ３００内のＣＰＵ３０３が描画手段となっていたが、ＳｏＣ３００内に第３の描画手段たる描画装置３０６を設けることにより、描画装置３０６を用いた描画を行う構成も考えられる。つまり、ＡＳＩＣ２００に描画用メモリ４００を接続し、ＡＳＩＣ２００内の描画装置２０２を使用するという高い生産性が求められるモデルの場合である。すなわち、ＰＤＬを解析した結果、ＡＳＩＣ２００内の描画装置２０２で対応できない描画コマンドであると判断された場合である。あるいは、ＰＤＬを解析した結果、ＡＳＩＣ２００内の描画装置２０２で対応していない描画サイズあると判断された場合である。
【００３４】
この場合は、ＳｏＣ３０３内の描画装置３０６を使用して描画を行う。さらに、ＳｏＣ３００の描画装置３０６で対応できない描画コマンドであると判断された場合、又はＳｏＣ３００の描画装置３０６で対応していない描画サイズあると判断された場合は、ＣＰＵ３０３で描画することとしても良い。
【００３５】
次に、本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路に描画用メモリを設け、第１の集積回路に描画用メモリを設けないときの構成について説明する。図４は、本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路に描画用メモリを設け、第１の集積回路に描画用メモリを設けないときの構成について説明するブロック図である。
【００３６】
図３で説明した構成では、ＡＳＩＣ２００に描画用メモリ４００が接続されていたが、図４で説明する構成は、ＳｏＣ３００側にも描画装置３０６を備えることにより、それほど高い描画性能（描画速度）が要求されない場合である。すなわち、ＡＳＩＣ２００内の描画装置２０２を使用しないので、描画用メモリ４００も使用しないという構成である。
【００３７】
例えば、ＡＳＩＣ２００に描画用メモリ４００を接続せずＡＳＩＣ２００内の描画装置２０２を使わない、コスト重視のモデルにおいては、ＳｏＣ３００の描画装置３０６を使用して描画を行う。また、ＳｏＣ３００の描画装置３０６で対応できない描画コマンドであると判断された場合、又はＳｏＣ３００の描画装置３０６で対応していない描画サイズあると判断された場合は、ＣＰＵ３０３で描画することとしても良い。一方、ＡＳＩＣ２００の描画装置２０２を使用するか否かは、ＲＯＭ６００に格納されるプログラムを入れ替えることによって切り替える。
【００３８】
次に、第１の集積回路の描画装置を使用する場合と第２の集積回路のＣＰＵを使用する場合のデータの流れについて説明する。図５は、本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第１の集積回路の描画装置を用いて描画するときのデータの流れについて説明する図である。また、図６は、本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第１の集積回路の描画装置を用いて描画する場合と第２の集積回路のＣＰＵを用いて描画する場合の動作について説明するフローチャートである。
【００３９】
図６に示す第１の集積回路の描画装置を使用する場合と第２の集積回路のＣＰＵを使用する場合の動作処理では、ＣＰＵ３０３で動作するプログラムは、外部のホストＰＣからＰＤＬを受け取る（図６のステップ（以下、Ｓという。）６０１）。外部のホストＰＣとは、図示しない通信部を介して接続される。一例として、ネットワークやＵＳＢ（Universal Serial Bus）等の通信部を介して接続される外部のホストＰＣからＰＤＬが送られ、メインメモリ５００に展開されるというフローが考えられる。
【００４０】
さて、そのＰＤＬを受け取った後のフローであるが、まず、ＣＰＵ３０３で動作するプログラムはＰＤＬを解析する。そして、描画コマンドが描画装置２０２で対応できるコマンドであり、かつ描画サイズが描画装置２０２で対応しているサイズであるか否かを判断する（Ｓ６０２）。ＣＰＵ３０３で動作するプログラムは、描画コマンドが描画装置２０２で対応できるコマンドであり、かつ描画サイズが描画装置２０２で対応しているサイズであると判断すると（Ｓ６０２：Ｙ）、メインメモリ５００上で描画コマンドを生成する（図５の（１）、図６のＳ６０３）。その後、ＣＰＵ３０３で動作するプログラムは、描画情報のうち、描画コマンドをＡＳＩＣ２００に接続された描画用メモリ４００に転送する（図５の（２）、図６のＳ６０４）。この転送方法は様々であるが、例えば、ＡＳＩＣ２００に、メインメモリ５００から描画用メモリ４００にコピー可能なＤＭＡを備え、それを使用しても良い。
【００４１】
次に、ＡＳＩＣ２００の描画装置２０２は、描画用メモリ４００に格納されている描画情報のうち、描画コマンド４０３を読み込み、そのコマンドに応じて描画を行う（図５の（３）、図６のＳ６０５）。描画後のデータは、アクセスの速度を考えると描画用メモリ４００に置いておくことが望ましいが、特に限定する必要はない。そして最後に、必要に応じてＡＳＩＣ２００の圧縮装置２０１は圧縮を行う（図５の（４）、図６のＳ６０６）。
【００４２】
以上が、ＡＳＩＣ２００の描画装置２０２を使用した場合のフローである。一方、ＣＰＵ３０３で動作するプログラムが、ＰＤＬ解析後、描画コマンドが描画装置２０２で対応できるコマンドでない、又は描画サイズが描画装置２０２で対応しているサイズでないと判断した場合（図６のＳ６０２：Ｎ）、ＣＰＵ３０３を用いて描画する（図６のＳ６０７）。よって、メインメモリ５００にも描画データ領域を設けておいても良い。
【００４３】
次に、本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路に描画装置を設け、第１の集積回路の描画装置を用いて描画するときのデータの流れについて説明する。図７は、本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路に描画装置を設け、第１の集積回路の描画装置を用いて描画するときのデータの流れについて説明する図である。
【００４４】
すなわち、ＳｏＣ３００側にも描画装置３０６を備えているが、高い描画性能（描画速度）が要求されるため、ＡＳＩＣ２００内の描画装置２０２を使用し、描画用メモリ４００を使用するという画像処理フローである。この画像処理フローは、ＳｏＣ３００側に描画装置３０６を備えない場合と全く同じ処理フローになる。すなわち、ＳｏＣ３００に描画装置３０６を備えていても、ＡＳＩＣ２００の描画装置２０２で描画するフローは、ＳｏＣ３００に描画装置３０６を備えない図５の場合と全く同じになる。また、フローチャートも図６の場合と同一である。
【００４５】
次に、本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路のＣＰＵを用いて描画するときのデータの流れについて説明する。図８は、本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路のＣＰＵを用いて描画するときのデータの流れについて説明する図である。また、図９は、本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路のＣＰＵを用いて描画する場合の動作について説明するフローチャートである。
【００４６】
図９に示す第２の集積回路のＣＰＵを使用する場合の動作処理では、ＣＰＵ３０３で動作するプログラムは、メインメモリ５００上でＰＤＬを解析する（図８の（１）、図９のＳ９０１）。その後、ＣＰＵ３０３で動作するプログラムは描画を行い、描画後の描画データ５０１をメインメモリ５００上に置く（図８の（２）、図９のＳ９０２）。そして、必要に応じてＡＳＩＣ２００の圧縮装置２０１は圧縮を行う（図８の（３）、図９のＳ９０３）。
【００４７】
このとき、描画データ５０１は、ＳｏＣ３００とＡＳＩＣ２００との間の外部Ｉ／Ｆを通ることになる。そして、外部Ｉ／Ｆは帯域が小さいため、描画データ５０１を通すと画像処理の生産性が悪化するが、図８に示す構成は、生産性よりもコストを重視する低価格帯のモデルで採用することとしているので問題にはなり難い。一方、ＳｏＣ３００側に圧縮装置２０１を設けておけば、このような画像処理の生産性の悪化の問題は生じない。しかし、ＳｏＣ３００は汎用品（市販品）を採用することを考えると、圧縮装置２０１は搭載されていないことが想定されるので、ＡＳＩＣ２００の圧縮装置２０１を使用することが望ましい。
【００４８】
次に、本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路の描画装置を用いて描画するときのデータの流れについて説明する。図１０は、本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第２の集積回路の描画装置を用いて描画するときのデータの流れについて説明する図である。図１１は、本実施形態に係る画像処理装置の一例であるプリンタ制御装置において、第１の集積回路の描画装置を用いて描画する場合と第２の集積回路の描画装置を用いて描画する場合の動作について説明するフローチャートである。
【００４９】
すなわち、ＳｏＣ３００側にも描画装置３０６を備え、高い描画性能（描画速度）が要求されないため、ＡＳＩＣ２００内の描画装置２０２を使用せず、描画用メモリ４００を使用しないという画像処理フローである。この画像処理フローは、ＳｏＣ３００側に描画装置３０６を備えない場合と異なる処理フローになる。すなわち、図４に示す構成における描画を、ＣＰＵ３０３ではなく描画装置３０６を使用して行う。
【００５０】
ＳｏＣ３００に描画装置３０６を備えていると、要求される描画速度が低く、ＡＳＩＣ２００の描画装置２０２を使用しないモデルで描画する場合に対応できる。又は、要求される描画速度が速く、本来ＡＳＩＣの描画装置２０２を使用するモデルであるが、ＡＳＩＣ２００の描画装置２０２では描画不可能な場合に対応できる。ＡＳＩＣ２００の描画装置２０２では描画不可能な場合とは、描画コマンドがＡＳＩＣ２００の描画装置２０２で対応できないコマンドであるとき、又は描画サイズがＡＳＩＣ２００の描画装置２０２で対応していないサイズであるときである。この場合、ＳｏＣ３００の描画装置３０６を使用して描画することになる。そして、図８に示す構成との相違点は、図１０（２）の描画を、ＣＰＵ３０３ではなく、ＳｏＣ３００内の描画装置３０６で描画する点である。
【００５１】
図１１に示す第１の集積回路の描画装置を使用する場合と第２の集積回路の描画装置を使用する場合の動作処理では、ＣＰＵ３０３で動作するプログラムは、外部のホストＰＣからＰＤＬを受け取る（図１１のＳ１１１）。外部のホストＰＣとは、図示しない通信部を介して接続される。一例として、ネットワークやＵＳＢ等の通信部を介して接続される外部のホストＰＣからＰＤＬが送られ、メインメモリ５００に展開されるというフローが考えられる。
【００５２】
さて、そのＰＤＬを受け取った後のフローであるが、まず、ＣＰＵ３０３で動作するプログラムはＰＤＬを解析する。そして、描画コマンドが描画装置２０２で対応できるコマンドであり、かつ描画サイズが描画装置２０２で対応しているサイズであるか否かを判断する（Ｓ１１２）。ＣＰＵ３０３で動作するプログラムは、描画コマンドが描画装置２０２で対応できるコマンドでない、又は描画サイズが描画装置２０２で対応しているサイズでないと判断すると（Ｓ１１２：Ｎ）、メインメモリ５００上で描画コマンドを生成する（図１０の（１）、図１１のＳ１１３）。その後、ＣＰＵ３０３で動作するプログラムは、描画情報のうち、描画コマンドをＳｏＣ３００に接続されたメインメモリ５００に転送する（図１０の（１）、図１１のＳ１１４）。
【００５３】
次に、ＳｏＣ３００の描画装置３０６は、メインメモリ５００に格納されている描画情報を読み込み、そのコマンドに応じて描画を行う（図１０の（２）、図１１のＳ１１５）。そして最後に、必要に応じてＡＳＩＣ２００の圧縮装置２０１は圧縮を行う（図１０の（３）、図１１のＳ１１６）。
【００５４】
以上が、ＳｏＣ３００の描画装置３０６を使用した場合のフローである。一方、ＣＰＵ３０３で動作するプログラムが、ＰＤＬ解析後、描画コマンドが描画装置２０２で対応できるコマンドであり、かつ描画サイズが描画装置２０２で対応しているサイズであると判断した場合（図１１のＳ１１２：Ｙ）、描画装置２０２を用いて描画する（図１１のＳ１１７）。
【００５５】
次に、本実施形態に係る画像処理装置の全体構成について説明する。図１２は、本実施形態に係る画像処理装置の全体構成について説明する図である。
【００５６】
画像処理装置７００のコントローラ７０３は、ＣＰＵ３０３を含むＳｏＣ３００と、ＣＰＵ３０３で動作するプログラム上の記憶領域であるメインメモリ５００とを備える。また、コントローラ７０３は、ホストＰＣ８０１、８０２、８０３、・・・と接続するためのネットワークコントローラ７０４を備える。さらに、コントローラ７０３は、ホストＰＣ８０１、８０２、８０３、・・・からプリンタデータを受け取ることができる。
【００５７】
そして、コントローラ７０３は、出力する画像に対して必要な画像処理を施し、エンジン制御基板７０１と通信するためのＡＳＩＣ２００を備える。また、ホストＰＣ８０１、８０２、８０３、・・・側ではプリンタドライバが動作しており、例えば、ホストＰＣ８０１、８０２、８０３、・・・は、ＰＤＬという形で画像処理装置７００に送信することができる。
【００５８】
画像処理装置７００は、コントローラ７０３のネットワークコントローラ７０４を介してＰＤＬを受信し、コントローラ７０３に搭載されるＡＳＩＣ２００においてプリントデータに必要な画像処理を施す。その後、処理された画像は、エンジン制御基板７０１を介しプリンタエンジン７０２において用紙に出力される。
【００５９】
ここで、プリンタエンジンについて説明する。図１３は、本実施形態に係る画像処理装置の、プリンタエンジンについて説明する図である。画像処理装置７００は、４色（Ｙ、Ｍ、Ｃ、Ｋ）の画像をそれぞれ独立の作像系５１Ｙ、５１Ｍ、５１Ｃ、５１Ｋで形成し、この４色の画像を合成する４ドラムタンデムエンジンタイプの画像形成装置である。
【００６０】
各作像系５１Ｙ、５１Ｍ、５１Ｃ、５１Ｋは、像担持体としての感光体、例えば小径のＯＰＣ（Organic Photoconductor：有機感光体）ドラム５２Ｙ、５２Ｍ、５２Ｃ、５２Ｋを有している。そして、このＯＰＣドラム５２Ｙ、５２Ｍ、５２Ｃ、５２Ｋを取り囲むように作像の上流側から帯電ローラ５３Ｙ、５３Ｍ、５３Ｃ、５３Ｋが配置されている。また、ＯＰＣドラム５２Ｙ、５２Ｍ、５２Ｃ、５２Ｋ上の静電潜像をそれぞれ現像剤で現像してＹ、Ｍ、Ｃ、Ｋ各色のトナー像とする現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋが配置されている。さらに、クリーニング装置５Ｙ、５Ｍ、５Ｃ、５Ｋと、除電装置６Ｙ、６Ｍ、６Ｃ、６Ｋ等が配置されている。
【００６１】
各現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋの脇には、Ｙトナー、Ｍトナー、Ｃトナー、Ｋトナーをそれぞれ現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋへ補給するトナーボトルユニット７Ｙ、７Ｍ、７Ｃ、７Ｋが配置されている。また、各作像系５１Ｙ、５１Ｍ、５１Ｃ、５１Ｋには、各々独立な光書き込み装置８Ｙ、８Ｍ、８Ｃ、８Ｋが配置されている。
【００６２】
そして、この光書き込み装置８Ｙ、８Ｍ、８Ｃ、８Ｋは、レーザ光源としてのレーザダイオード（ＬＤ）光源９Ｙ、９Ｍ、９Ｃ、９Ｋを有している。また、光書き込み装置８Ｙ、８Ｍ、８Ｃ、８Ｋは、コリメートレンズ５４Ｙ、５４Ｍ、５４Ｃ、５４Ｋ、ｆθレンズ１１Ｙ、１１Ｍ、１１Ｃ、１１Ｋ、といった光学部品を有している。さらに、光書き込み装置８Ｙ、８Ｍ、８Ｃ、８Ｋは、偏向走査手段としてのポリゴンミラー１２Ｙ、１２Ｍ、１２Ｃ、１２Ｋ、折り返しミラー１３Ｙ、１３Ｍ、１３Ｃ、１３Ｋ、１４Ｙ、１４Ｍ、１４Ｃ、１４Ｋ等を有している。
【００６３】
各作像系５１Ｙ、５１Ｍ、５１Ｃ、５１Ｋは垂直に配列され、その右側には転写ベルトユニット１５がＯＰＣドラム５２Ｙ、５２Ｍ、５２Ｃ、５２Ｋに接する形で配置される。転写ベルトユニット１５は、転写ベルト１６がローラ１７、１８、１９、５５に張架され、図示しない駆動源により回転駆動される。画像処理装置７００下側には、転写材としての転写紙が収納された給紙トレイ２１が配置され、画像処理装置７００上部に定着装置２２、排紙ローラ２３、及び排紙トレイ２４が配設される。
【００６４】
作像時には、各作像系５１Ｙ、５１Ｍ、５１Ｃ、５１Ｋにおいて、それぞれ、ＯＰＣドラム５２Ｙ、５２Ｍ、５２Ｃ、５２Ｋが図示しない駆動源により回転駆動される。そして、帯電ローラ５３Ｙ、５３Ｍ、５３Ｃ、５３ＫによりＯＰＣドラム５２Ｙ、５２Ｍ、５２Ｃ、５２Ｋが一様に帯電される。さらに、光書き込み装置８Ｙ、８Ｍ、８Ｃ、８Ｋが、各色の画像データに基づいてＯＰＣドラム５２Ｙ、５２Ｍ、５２Ｃ、５２Ｋに光書込みを行う。これにより、ＯＰＣドラム５２Ｙ、５２Ｍ、５２Ｃ、５２Ｋ上に静電潜像が形成される。
【００６５】
このＯＰＣドラム５２Ｙ、５２Ｍ、５２Ｃ、５２Ｋ上の静電潜像は、それぞれ現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋにより現像されてＹ、Ｍ、Ｃ、Ｋ各色のトナー像となる。一方、給紙トレイ２１から給紙ローラ２５によって転写紙が水平方向に給紙され、搬送系により各作像系５１Ｙ、５１Ｍ、５１Ｃ、５１Ｋ方向へ垂直に搬送される。
【００６６】
この転写紙は、転写ベルト１６に静電的に吸着保持されて転写ベルト１６によって搬送され、図示しない転写バイアス印加手段により転写バイアスが印加される。そして、ＯＰＣドラム５２Ｙ、５２Ｍ、５２Ｃ、５２Ｋ上のＹ、Ｍ、Ｃ、Ｋ各色のトナー像が順次に重ねて転写されることでフルカラー画像が形成される。このフルカラー画像が形成された転写紙は、定着装置２２によってフルカラー画像が定着され、排紙ローラ２３により排紙トレイ２４へ排出される。
【００６７】
なお、図６、図９、及び図１１に示した本発明の実施形態における画像処理装置の各動作は、コンピュータ上のプログラムに実現させることもできる。ＳｏＣ３０１のＣＰＵ３０３が、ＲＯＭ６００に格納されたコンピュータにより読み取り可能なプログラムをロードする。そして、プログラムの各処理ステップが順次実行されることによって行われる。
【００６８】
以上述べたように、従来、例えば、低価格帯のモデルと高価格帯のモデルとでは、異なるＡＳＩＣを実装していた。そうすると、ＡＳＩＣやデバイスドライバの開発費用が莫大になるという問題があった。本実施形態によれば、低価格帯のモデルでは、描画用メモリを実装せずに動作させることにより、コスト低減が可能となる。また、ＡＳＩＣの描画機能を使用するか否かを選択できるので、価格帯のモデル毎に大きくシステム構成を変える必要がなく、開発工数を抑えることができる。
【００６９】
また、従来、ＣＰＵとプログラムとを用いて画像処理の生産性を向上させようとすると、高性能なＣＰＵが必要となり莫大なコストがかかっていた。これに対してＡＳＩＣを用いた描画装置は、一般的にＣＰＵのコストと比較して上昇率が小さいので、安価に画像処理の生産性を向上させることができる。さらに、画像処理装置にはＣＰＵ及びプログラムが搭載されているので、これを描画機能として用いることにより、低価格帯のモデルと高価格帯のモデルとにおいてハードウェア資源を共通化しコスト削減を図ることができる。
【００７０】
そして、ＣＰＵとＡＳＩＣといった複数の描画装置が設けられていても、圧縮装置の数を減らすことができるので、コスト的に優位である。また、描画用メモリを搭載しているか否かによって異なるプログラムを用意しておく必要がなく、共通のプログラムとすることが可能となる。
【００７１】
本発明によれば、求められる仕様における描画速度に応じて、最適な描画手段を選択して画像を処理することが可能な画像処理成装置、画像処理方法、及びプログラムが得られる。
【００７２】
以上、本発明の好適な実施形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範囲な趣旨及び範囲から逸脱することなく、これら具体例に様々な修正及び変更が可能である。
【符号の説明】
【００７３】
４Ｙ、４Ｍ、４Ｃ、４Ｋ    現像装置
５Ｙ、５Ｍ、５Ｃ、５Ｋ    クリーニング装置
６Ｙ、６Ｍ、６Ｃ、６Ｋ    除電装置
７Ｙ、７Ｍ、７Ｃ、７Ｋ    トナーボトルユニット
８Ｙ、８Ｍ、８Ｃ、８Ｋ    光書き込み装置
９Ｙ、９Ｍ、９Ｃ、９Ｋ    レーザダイオード（ＬＤ）光源
１１Ｙ、１１Ｍ、１１Ｃ、１１Ｋ    ｆθレンズ
１２Ｙ、１２Ｍ、１２Ｃ、１２Ｋ    ポリゴンミラー
１３Ｙ、１３Ｍ、１３Ｃ、１３Ｋ、１４Ｙ、１４Ｍ、１４Ｃ、１４Ｋ    折り返しミラー
１５    転写ベルトユニット
１６    転写ベルトローラ
５１Ｙ、５１Ｍ、５１Ｃ、５１Ｋ    作像系
５２Ｙ、５２Ｍ、５２Ｃ、５２Ｋ    ＯＰＣドラム
１００    プリンタ制御装置
２００    ＡＳＩＣ
２０１    圧縮装置
２０２、３０６    描画装置
２０３、３０１    ＤＤＲ  Ｉ／Ｆ
２０４、３０４    Ａｒｂｉｔｅｒ
２０５、３０５    ＰＣＩｅ（ＰＣＩ  Ｅｘｐｒｅｓｓ）
３００    ＳｏＣ
３０２    ＳＰＩ  Ｉ／Ｆ
３０３    ＣＰＵ
４００    描画用メモリ
４０１、５０３    圧縮データ（符号）
４０２、５０１    描画データ
４０３    描画コマンド
５００    メインメモリ
５０２    プリンタワーク
６００    ＲＯＭ（プログラム）
７００    画像処理装置
７０１    エンジン制御基板
７０２    プリンタエンジン
７０３    コントローラ
７０４    ネットワークコントローラ
８０１、８０２、８０３    ホストＰＣ
【先行技術文献】
【特許文献】
【００７４】
【特許文献１】特開２０１２−０６０４０１号公報
【図１】
2015035201.tif 000003
【図２】
2015035201.tif 000004
【図３】
2015035201.tif 000005
【図４】
2015035201.tif 000006
【図５】
2015035201.tif 000007
【図６】
2015035201.tif 000008
【図７】
2015035201.tif 000009
【図８】
2015035201.tif 000010
【図９】
2015035201.tif 000011
【図１０】
2015035201.tif 000012
【図１１】
2015035201.tif 000013
【図１２】
2015035201.tif 000014
【図１３】
2015035201.tif 000015