JP6221637B2 - 画像処理装置および画像処理方法、ならびに、画像形成装置 - Google Patents

画像処理装置および画像処理方法、ならびに、画像形成装置 Download PDF

Info

Publication number
JP6221637B2
JP6221637B2 JP2013226048A JP2013226048A JP6221637B2 JP 6221637 B2 JP6221637 B2 JP 6221637B2 JP 2013226048 A JP2013226048 A JP 2013226048A JP 2013226048 A JP2013226048 A JP 2013226048A JP 6221637 B2 JP6221637 B2 JP 6221637B2
Authority
JP
Japan
Prior art keywords
area
band
command
image data
unit
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.)
Expired - Fee Related
Application number
JP2013226048A
Other languages
English (en)
Other versions
JP2014184712A (ja
Inventor
白石 尚人
尚人 白石
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2013226048A priority Critical patent/JP6221637B2/ja
Priority to US14/173,852 priority patent/US8982405B2/en
Publication of JP2014184712A publication Critical patent/JP2014184712A/ja
Application granted granted Critical
Publication of JP6221637B2 publication Critical patent/JP6221637B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1861Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
    • G06K15/1863Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time by rasterizing in sub-page segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1849Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives
    • G06K15/1851Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives parted in a plurality of segments per page

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Storing Facsimile Image Data (AREA)

Description

本発明は、より大きなサイズの画像データの処理に用いて好適な画像処理装置および画像処理方法、ならびに、画像形成装置に関する。
従来、ページ単位で印刷を行うプリンタ装置(ページプリンタ)が知られている。また、従来、例えばC(Cyan)、M(Magenta)、Y(Yellow)およびK(Black)の各色を用いてカラー印刷を行うカラープリンタも知られている。
従来技術によるプリンタにおける処理の流れについて、概略的に説明する。パーソナルコンピュータなどで作成された例えばPDL(Page Description Language)データが、ネットワークやケーブルなど所定のインターフェイスを介してプリンタに転送される。プリンタ装置において、プリンタコントローラは、転送されたPDLデータを解析して、描画部が実行可能な中間言語を作成する。描画部は、作成された中間言語を解析して画像データを生成し、生成した画像データに対して階調処理を施して2値化画像データを得る。この2値化画像データは、1ページの画像データが副走査方向に分割されたバンド画像データとしてメモリに書き込まれる。
なお、バンド画像データを書き込むためのメモリをバンドメモリと呼ぶ。また、生成した画像データをメモリに書き込む動作を描画と呼ぶ。画像の描画は、C、M、Y、Kの各色毎に行われる。
プリンタコントローラは、バンドメモリに描画された各色の画像データを、JBIG(Joint Bi-level Image Expert Group)などの2値画像の圧縮アルゴリズムにより符号化し、生成された符号をそれぞれメインメモリに書き込む。プリンタは、印字時に、C、M、Y、K各版毎に遅延させてメインメモリから符号を読み出してそれぞれ復号し、復号したデータをC、M、Y、K各版に対応するプリンタエンジンに転送して印字を行う。
このような、ページプリンタなどのプリンタ装置において、印刷解像度の高解像度化や、印刷速度の高速化が要求されている一方で、プリンタの動作を制御するCPU(Central Processing Unit)の処理能力のみでは、これらの要求を満たすことが困難となってきている。
例えば、60PPM(Page Per Minute)といった高速な印刷速度を提供する高速機においては、600dpi(dot per inch)あるいは1200dpiといった解像度で、A4サイズ(≒8.27インチ×11.69インチ)のR(Red)、G(Green)およびB(Blue)各色による1ページ分のカラー画像を1秒以下で描画する必要がある。そのため、高速機では、画像処理に際してより高速なメモリアクセスが要求される。
一方、上述した描画部を含む画像処理部と、バンドメモリに描画された画像データを圧縮符号化する符号化部と、メインメモリから読み出された符号を復号して画像データを復元する復号部と、プリンタエンジンを制御するためのエンジンコントローラとを1のASIC(Application Specific Integrated Circuit)内に構成する技術が知られている。画像処理部、符号化部、復号部およびエンジンコントローラを1のASIC内に構成することで、製造コストの削減や、プリンタ装置の小型化などが可能となる。
このASIC内に、バンドメモリを構成するメインメモリを内蔵させることで、画像処理部は、バスを介さずにメインメモリにアクセスでき、より高速な画像処理が可能となる。ここで、例えば解像度が600dpiのA4サイズであれば、総画素数は6800画素×4720画素となり、1画素が32ビットのデータサイズを有する場合、約128MBのメモリ容量を必要とする。このような大容量のメモリをASICに内蔵させることは、一般的に困難である。そのため、画像処理部は、ASICからバスを介してメインメモリにアクセスして画像処理を行うことになり、処理速度の低下を招いていた。
ところで、近年の半導体プロセスの発達により、メインメモリに用いられるDRAM(Dynamic Random Access Memory)の動作速度が高速化され、それに伴い、メインメモリに対するアクセスを制御するメモリコントローラとCPU(Central Processing Unit)との間の転送レートも高速化されている。また、メモリコントローラを内蔵した汎用CPUも出現している。
このメモリコントローラを内蔵した汎用CPUをプリンタコントローラのCPUとして用いる場合、汎用CPUの標準バスに画像処理部を含むASICを接続することが考えられる。すなわち、標準バスにメインメモリとして用いるDRAMを接続し、画像処理部は、汎用CPUに内蔵のメモリコントローラの制御に従い標準バスを介してDRAMにアクセスする。
特許文献1には、プリンタの多値RGB情報をCPU上のソフトウェア動作によってバンドメモリに描画し、画像処理をハードウェアで実行することで、比較的低速なCPUを用いて印字速度を向上可能とした技術が開示されている。特許文献2には、メインメモリの他にローカルメモリを有して、ハードウェアにより描画処理を行い、描画データを符号化してバスを介して転送する技術が開示されている。また、特許文献3には、描画処理部において、描画に係る各処理を並列化して並列性の大きなパイプライン処理を実現して描画性能を高めて、比較的低速なCPUを用いて印字速度を向上可能とした技術が開示されている。
メモリコントローラを内蔵した汎用CPUをプリンタコントローラのCPUとして用い、標準バスを介してメインメモリをアクセスする方法は、データをシリアルに転送する場合には、効率が良い。
一方、描画処理においては、描画処理に含まれる様々な処理においてランダムなアクセスが多発する可能性がある。この場合、メモリアクセスが効率良く行われずに、メモリアクセスに多くの時間が費やされてバスの転送レートが低下し、他のハードウェアによるメインメモリに対するアクセスが阻害されるおそれがある。特に、描画処理をCPU上のソフトウェア処理のみで実行する場合、多くのメモリアクセスが行われるので、高速なCPUを使用する必要があり、装置のコストが嵩んでしまうという問題点があった。
また、ASICに対して描画用のメモリを専用に設ける方法も考えられる。しかしながら、この場合、専用のメモリをメインメモリとは別途に設けるため、装置のコストが嵩んでしまうという問題点があった。
本発明は、上記に鑑みてなされたものであって、より低コストの構成で大きなサイズの画像データをより高速に生成可能とすることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、第1の領域および第2の領域を含む第1の記憶部と、少なくとも1ページ分の画像データを生成するための描画コマンドを記憶する第3の領域と、ページ単位で画像データを格納可能な第4の領域とを含む第2の記憶部と、第3の領域に記憶された描画コマンドを第1の領域に転送して記憶させる描画コマンド転送部と、第1の領域に記憶された描画コマンドに従い、高さが1ページの高さよりも低く、幅が予め決められたバンドを単位とするバンド画像データを生成する描画部と、描画部で生成された1バンド分のバンド画像データを第2の領域に転送して記憶させるバンド画像データ転送部と、第2の領域に記憶されたバンド画像データを第4の領域に転送して記憶させる画像転送部とを有し、描画部は、第3の領域に記憶される描画コマンドのサイズに応じて第1の領域を決定し、第1の記憶部の領域から第1の領域を差し引いた領域を第2の領域に決定することを特徴とする。
本発明によれば、より低コストの構成で大きなサイズの画像データがより高速に生成可能となるという効果を奏する。
図1は、第1の実施形態に係る画像形成装置の一例の構成を示すブロック図である。 図2は、第1の実施形態に係る画像形成装置の動作の例について説明するための図である。 図3は、第1の実施形態に係る大容量内蔵メモリの一例の構成を示す図である。 図4は、第1の実施形態に係る描画処理部におけるバンド描画処理について説明するための図である。 図5は、第1の実施形態に係る描画部の一例の構成を示すブロック図である。 図6は、第1の実施形態に係る描画コマンドの例を示す図である。 図7は、第1の実施形態に係る描画部における一例の処理のフローチャートである。 図8は、第1の実施形態による構成と、従来技術による構成とを比較するための図である。 図9は、第1の実施形態による構成と、従来技術による構成とを比較するための図である。 図10は、第1の実施形態による構成と、従来技術による構成とを比較するための図である。 図11は、第2の実施形態に係る画像形成装置の一例の構成を示すブロック図である。 図12は、第2の実施形態に係る画像処理の概要を説明するための図である。 図13は、第2の実施形態に係る小バンド画像メモリの一例の構成を示す図である。 図14は、第2の実施形態に係る、ページ、バンドコマンド領域および小バンド画像データの一例の関係を示す図である。
以下に添付図面を参照して、画像処理装置および画像処理方法、ならびに、画像形成装置の実施形態を詳細に説明する。
(第1の実施形態)
図1は、第1の実施形態に係る画像形成装置の一例の構成を示すブロック図である。図1において、画像形成装置1は、画像形成制御部10と、プリンタエンジン11とを含む。画像形成制御部10は、メモリコントローラ113を内蔵したCPU(Central Processing Unit)部100と、プリンタエンジン11を制御するエンジンコントローラ214を内蔵する描画制御部200とを有する。画像形成制御部10は、例えば1の基板上に形成されるコントローラボードであり、描画制御部200は、1のASIC(Application Specific Integrated Circuit)内に形成される。CPU部100と描画制御部200は、バス103を介して接続される。
CPU部100は、CPU110と、CPUインターフェイス(I/F)111と、メモリアービタ112と、メモリコントローラ113と、DMAC(Direct Memory Access Controller)114と、バスコントローラ115と、通信コントローラ116とを有する。CPU部100に含まれる各部は、例えば1の集積回路内に一体的に構成される。また、CPU部100には、ROM(Read Only Memory)101と、メインメモリ102とが接続される。ROM101は、この画像形成装置1を制御するための各種プログラムが予め格納される。CPU110は、ROM101に格納されるプログラムに従い、この画像形成装置1全体の動作を制御する。
CPU部100において、CPU110がCPU I/F111を介してメモリアービタ112と接続される。メインメモリ102がメモリコントローラ113を介してメモリアービタ112と接続される。また、ROM101、DMAC114および通信コントローラ116がそれぞれメモリアービタ112と接続される。メモリアービタ112は、さらに、バスコントローラ115を介してバス103に接続される。メモリアービタ112は、メインメモリ102と、メモリアービタ112と接続される各部との間の通信を調停する。
CPU I/F111は、CPU110とメモリアービタ112との間のインターフェイスである。CPU110は、このCPU I/F111およびメモリアービタ112を介して、この画像形成装置1の各部を制御する。メモリコントローラ113は、CPU110からの命令に従い、メインメモリ102に対するアクセスを制御する。バスコントローラ115は、バス103に対するアクセスを制御する。DMAC114は、CPU110の命令に従い、メモリコントローラ113を介したメインメモリ102に対するダイレクトアクセスや、バス103を介した描画制御部200に対するダイレクトアクセスを制御する。
メインメモリ102は、第2の記憶部であって、予め定められた複数の領域を含む。図1の例では、メインメモリ102は、PDLデータ領域102aと、第3の領域としてのコマンド領域102bと、データメモリ領域102cと、第4の領域としてのCMYKページメモリ領域102dとを含んでいる。
通信コントローラ116は、外部の機器との通信を制御する。この例では、通信コントローラ116は、例えばパーソナルコンピュータ(PC)2といった外部の情報処理装置との間の通信を制御する。PC2は、例えばユーザによる印字操作に応じてページ記述言語(PDL:Page Description Language)によるデータを生成する。生成されたPDLデータは、PC2から通信コントローラ116に対して送信され、メモリアービタ112を介してメインメモリ102のPDLデータ領域102aに格納される。
描画制御部200は、バスI/F210と、描画部211と、大容量内蔵メモリ212と、画像読み込み部213と、エンジンコントローラ214と、画像処理部215とを有する。大容量内蔵メモリ212は、第1の領域であるCMYKバンドメモリ領域212aと、第2の領域であるコマンド領域212bを含む。
バスI/F210は、バス103に対するインターフェイスである。描画部211は、PDLデータに基づきCPU110により生成された描画コマンドをバス103を介して読み込んで、大容量内蔵メモリ212のコマンド領域212bに格納する。描画部211は、読み込んだ描画コマンドに従い画像データを生成して大容量内蔵メモリ212のCMYKバンドメモリ領域212aに書き込むことで、描画処理を行う。
描画部211は、CMYKバンドメモリ領域212aに所定量の画像データが書き込まれると、CMYKバンドメモリ領域212aから当該所定量の画像データを読み出して、バス103を介してCPU部100に転送する。CPU部100に転送された当該所定量の画像データは、メインメモリ102のCMYKページメモリ領域102dに格納される。
画像処理部215は、メインメモリ102のCMYKページメモリ領域に格納された画像データを読み込んで画像処理を行い、画像処理後の画像データをメインメモリ102に転送する。
画像読み込み部213は、メインメモリ102のCMYKページメモリ領域102dから、画像データを例えばページ単位で読み込み、エンジンコントローラ214に転送する。エンジンコントローラ214は、転送された画像データをプリンタエンジン11に供給すると共に、この画像データ基づきプリンタエンジン11を制御する。プリンタエンジン11は、エンジンコントローラ214の制御に応じて、画像データに従った画像を印刷用紙などの記録媒体上に形成し、印刷を行う。
なお、実施形態に係る画像形成装置1は、C(シアン)、M(マゼンタ)、Y(イエロー)およびK(ブラック)各色によるカラー画像による画像を形成することができる。すなわち、PC2で生成されるPDLデータは、CMYK各色を用いたフルカラーの情報を含むことができる。CPU110は、このPDLデータに基づき、ページ毎にCMYK各色による画像データを生成するための描画コマンドを生成し、メインメモリ102のコマンド領域102bに格納する。
なお、1ページの画像を構成するCMYK各色の描画領域(画像データの生成領域)を、プレーンと呼ぶ。プレーンは、具体的には、メインメモリ102のCMYKページメモリ領域102dにおけるCMYK各色の領域である。また、描画部211は、描画コマンドに従い、1ページの画像データを、高さ(ライン数)が1ページの高さより低い複数の画像データに分割して生成する。この高さが1ページの高さより低い画像データを、バンド画像データと呼ぶ。すなわち、描画部211は、このバンド画像データを単位として画像データを生成する。
以下、特に記載のない限り、描画コマンドに従い画像データを生成する動作を、「描画」として、また、バンド画像データの生成を、バンド描画、または、バンド画像の描画などとしてそれぞれ記述する。
描画部211は、メインメモリ102のコマンド領域102bに格納された描画コマンドのうち、1ページ分の描画を行う描画コマンドを読み込む。そして、描画部211は、読み込んだ描画コマンドに従い、CMYK各色の画像データを1プレーンずつ描画し、大容量内蔵メモリ212のCMYKバンドメモリ領域212aに書き込む。
すなわち、描画部211は、描画コマンドに従い例えばC色のプレーンのバンド描画を行いCMYKバンドメモリ領域212aに書き込む。CMYKバンドメモリ領域212aにC色のプレーンのバンド画像データが書き込まれたら、CMYKバンドメモリ領域212aから当該バンド画像データを読み出して、メインメモリ102のCMYKページメモリ領域102dに転送する。そして、描画部211は、1ページ分のC色のプレーンの描画が行われたら、次のプレーン、例えばM色のプレーンの描画を同様にして実行する。
このように、大容量内蔵メモリ212のCMYKバンドメモリ領域212aに、バンド画像データを1プレーン分のみ格納することで、大容量内蔵メモリ212の容量を削減することができ、描画制御部200が構成されるASICのコストを低減することができる。
また、詳細は後述するが、大容量内蔵メモリ212において、CMYKバンドメモリ領域212aおよびコマンド領域212bは、コマンド領域212bに格納される描画コマンドのデータサイズに応じて決定される。このとき、描画コマンドのデータサイズが比較的大きく、それに伴いCMYKバンドメモリ領域212aのサイズが小さくされると、描画部211がコマンド領域212bから描画コマンドを読み出す回数が多くなり、処理速度が低下するおそれがある。CMYKバンドメモリ領域212aに1のプレーンの画像データのみを格納することで、この処理速度の低下を抑制することが可能である。
さらに、描画部211は、詳細は後述するが、バンド描画を行う毎に、大容量内蔵メモリ212のコマンド領域212bから描画コマンドを読み込む。そのため、コマンド領域212bに1ページ分の描画コマンドを格納することで、メインメモリ102のコマンド領域102bに対するアクセスを減らすことができ、より高速な描画が可能となる。
図2を用いて、第1の実施形態に係る画像形成装置1の動作の例について説明する。なお、図2において、上述の図1と共通する部分については同一の符号を付して、詳細な説明を省略する。
例えばPC2において、画像形成を行うためのPDLデータが生成され、画像形成装置1に対して送信される。このPDLデータは、画像形成装置1において通信コントローラ116により受信され、メインメモリ102のPDLデータ領域102aに格納される。
CPU110は、PDLデータ領域102aに格納されるPDLデータに基づき、画像形成のための描画を行うための描画コマンドと、描画に用いる描画データである写真画像データとをページ単位で生成する。CPU110は、生成した例えば1ページ分の描画コマンドを、メインメモリ102のコマンド領域102bに記憶する。また、CPU110は、生成した例えば1ページ分の写真画像データを、メインメモリ102のデータメモリ領域102cに記憶する。
描画部211は、コマンドDMA部2110と、描画ページコマンドメモリ領域2111と、描画処理部2112と、CMYKバンドメモリ領域2113と、バンドDMA部2114とを含む。これらのうち、描画ページコマンドメモリ領域2111およびCMYKバンドメモリ領域2113は、それぞれ大容量内蔵メモリ212内のコマンド領域212bおよびCMYKバンドメモリ領域212aとに対応する。
コマンドDMA(Direct Memory Access)部2110は、1ページ分の描画処理を開始する際に、メインメモリ102のコマンド領域102bから、1ページ分の描画コマンドを読み出し、描画ページコマンドメモリ領域2111に転送し記憶させる。この、コマンドDMA部2110による、コマンド領域102bからの描画コマンドの読み込み処理は、1ページ分の描画コマンドに対して1度のみ、実行される。
描画処理部2112は、描画コマンドメモリ領域2111に記憶された1ページ分の描画コマンドのデータサイズを調べる。そして、描画処理部2112は、大容量内蔵メモリ212のサイズから、調べた描画コマンドのデータサイズを差し引いて得られた大容量内蔵メモリ212内の領域を、バンド画像データを書き込むためのCMYKバンドメモリ領域2113に決定する。
図3は、第1の実施形態に係る大容量内蔵メモリ212の一例の構成を示す。大容量内蔵メモリ212は、1ラインに対応する所定のバンド幅を単位として、高さ方向にデータを格納するようになっている。大容量内蔵メモリ212は、記憶領域が、所定のバンド幅に対する大容量内蔵メモリ212全体の記憶容量に応じた全高を有する。
描画処理部2112は、コマンド領域212bの高さを、1ページ分の描画コマンドのデータサイズに対応する高さに決定する。さらに、描画処理部2112は、CMYKバンドメモリ領域212aの高さを、大容量内蔵メモリ212の全高からコマンド領域212bの高さを差し引いた高さに決定する。このCMYKバンドメモリ領域212aの高さが、バンド画像データの高さとなる。
描画処理部2112は、描画ページコマンドメモリ領域2111から読み込んだ描画コマンドを解析する。描画処理部2112は、読み込んだ描画コマンドを解析して得たコマンドが描画を指示する描画コマンドである場合、当該描画コマンドに従い生成したバンド画像データをCMYKバンドメモリ領域2113に転送し記憶させて、バンド描画を行う。また、描画処理部2112は、CMYK各色のプレーンのうち1のプレーンについてバンド描画を行い、CMYKバンドメモリ領域2113に記憶させる。
ここで、図4を用いて、第1の実施形態に係る描画処理部2112におけるバンド描画処理について説明する。図4は、メインメモリ102のCMYKページメモリ領域102dの一例の構成を示す。CMYKページメモリ領域102dは、所定のバンド幅を有し、CMYK各色のプレーン(図4においては「版」と記述)がそれぞれ1ページ分格納される、C版ページ領域、Y版ページ領域、M版ページ領域およびK版ページ領域が設けられる。
CMYKページメモリ領域102dは、さらに、これらCMYK各色版のページ領域に対し、それぞれ大容量内蔵メモリ212においてCMYKバンドメモリ領域212aに対して決定されたバンド高さと等しいバンド高さを有するバンド領域が設けられる。C版ページ領域を例に取ると、それぞれバンド高さを有するC版バンド#0領域、#1領域、…、#N領域が、全体の高さが1ページの高さになるように設けられる。
描画処理部2112は、バンド画像データを格納するバンド領域を、図4に例えばC版バンド#0領域、#1領域、…、#N領域として示される、CMYKページメモリ領域102dの各バンド領域に対応して、バンド描画毎に順次生成する。そして、描画処理部2112は、描画を行ったバンド領域に対してクリッピング処理を行いながら、1のプレーンについてバンド描画を行い、CMYKバンドメモリ領域2113に書き込む。
バンドDMA部2114は、CMYKバンドメモリ領域2113に対する1バンド領域分のバンド画像データの書き込みが完了すると、CMYKバンドメモリ領域2113に書き込まれたバンド画像データをメインメモリ102のCMYKページメモリ領域102dに転送する。そして、バンドDMA部2114は、転送したバンド画像データを、図4に示したように、当該バンド画像データに対応するバンド領域に記憶させる。
バンドDMA部2114は、CMYKバンドメモリ領域2113に対するバンド画像データの書き込みが完了する毎に、CMYKバンドメモリ領域2113に書き込まれたバンド画像データを、メインメモリ102のCMYKページメモリ領域102dに転送し、対応するバンド領域に記憶させる。バンドDMA部2114は、描画処理部2112による、1のプレーンにおける各バンド描画が終了するまで、CMYKバンドメモリ領域2113からCMYKページメモリ領域102dへのバンド画像データの転送を繰り返し、さらに、描画処理部2112による全プレーンのバンド描画が終了するまでこの転送処理を繰り返す。
描画処理部2112は、1ページのCMYK各色全てのプレーンについてのバンド描画が完了した場合、その旨をCPU110に通知する。
例えばCPU110は、1ページのCMYK各色全てのプレーンについてのバンド描画が完了した旨の通知を受け取ると、画像読み込み部213に対して、CMYKページメモリ領域102dに記憶される、1ページのCMYK各色のプレーンによる画像データの読み込みを指示する。
画像読み込み部213は、この指示に応じて、CMYKページメモリ領域102dから1ページのCMYK各色のプレーンによる画像データを読み込んでエンジンコントローラ214に転送する。エンジンコントローラ214は、転送された1ページのCMYK各色のプレーンによる画像データを、プリンタエンジン11に出力する。プリンタエンジン11は、エンジンコントローラ214から出力された1ページのCMYK各色のプレーンに従い、印刷用紙などの記録媒体に対して画像を形成する。
図5は、第1の実施形態に係る描画部211の一例の構成を示す。なお、図5において、上述した図1および図2と共通する部分には同一の符号を付して、詳細な説明を省略する。なお、図5では、大容量内蔵メモリ212が描画部211に内蔵されているように記載されており、大容量内蔵メモリ212が描画部211に接続される構成に限らず、描画部211に内蔵される構成でもよいことが示されている。
図5において、描画部211は、描画処理部2112と、バスアービタI/F2115と、コマンド&バンドDMA2116と、コマンド解析部2117と、大容量内蔵メモリ制御部2118と、大容量内蔵メモリ212とを有する。
バスアービタI/F2115は、図1のバスI/F210とのインターフェイスである。描画部211は、このバスアービタI/F2115をインターフェイスとして、バスI/F210、バス103およびバスコントローラ115を介して、メモリアービタ112に対して、例えばデータ読み出しを要求するためのメモリリクエストおよびメモリアドレスを送信する。これにより、描画部211は、メインメモリ102にアクセスし、描画コマンドや各種データをメインメモリ102から読み出すことができる。メモリアックは、メモリリクエストに対するメモリアービタ112からの応答である。
また、バスアービタI/F2115は、メモリアービタ112に対して、データ書き込みを要求するためのメモリリクエストおよびメモリアドレスを送信する。これにより、描画部211は、メインメモリ102に対してバンド画像データなど各種データを書き込むことができる。
大容量内蔵メモリ制御部2118は、コマンド&バンドDMA2116、コマンド解析部2117および描画処理部2112からの要求に従い、大容量内蔵メモリ212に対するアクセス制御を行う。コマンド&バンドDMA2116は、図2のコマンドDMA部2110およびバンドDMA部2114に対応し、大容量内蔵メモリ212のコマンド領域212bに対する描画コマンドの転送や、CMYKバンドメモリ領域212aからのバンド画像データの転送を制御する。
コマンド解析部2117は、大容量内蔵メモリ制御部2118を介して大容量内蔵メモリ212のコマンド領域212bから1の描画コマンドを読み込んで解析し、描画に必要な描画用パラメータを取得する。コマンド解析部2117は、取得した描画用パラメータを描画処理部2112に渡し、描画用起動信号を描画処理部2112に対して出力して、描画処理部2112を起動させる。
また、コマンド解析部2117は、描画処理部2112から描画終了信号を受信すると、次の1の描画コマンドをコマンド領域212bから読み込んで解析し、描画用パラメータと描画用起動信号を描画処理部2112に供給する。
描画処理部2112は、コマンド解析部2117から出力された描画用起動信号により起動され、コマンド解析部2117から渡された描画用パラメータに従い、CMYK各色のプレーンのうち1のプレーンの、ページ内の所定バンド領域のバンド描画を行う。描画処理部2112は、描画したバンド画像データを、大容量内蔵メモリ制御部2118を介して大容量内蔵メモリ212のCMYKバンドメモリ領域212aに書き込む。描画処理部2112は、1のバンド画像データの書き込みが終了すると、描画終了信号をコマンド解析部2117に対して出力する。
図6は、第1の実施形態に係る描画コマンドの例を示す。この例では、描画コマンドは、描画ハードパラメータ設定コマンドと、グラフィクス描画コマンドと、写真画像描画コマンドとを含む。
図6(a)および図6(b)は、描画ハードパラメータ設定コマンドの一例を示す。描画ハードパラメータ設定コマンドは、描画処理のパラメータを設定するためのコマンドである。図6(a)は、描画ハードパラメータ設定コマンドのうち、バンド初期化コマンドの例を示す。バンド初期化コマンドは、バンドを例えば「白」に初期化するコマンドであって、バンド情報設定コマンドヘッダに続くデータにより、メインメモリ102におけるCMYK各色の版(プレーン)のページ領域(図4参照)の先頭アドレスと、バンド幅と、バンド高さと、ページ高さと、大容量内蔵メモリ212におけるCMYKバンドメモリ領域212aの先頭アドレス(図3参照)とを定義するパラメータを含む。
なお、上述したように、大容量内蔵メモリ212において、CMYKバンドメモリ領域212aは、1ページの描画コマンドのサイズに基づき決定される。したがって、バンド高さは、可変の値となる。また、CMYKバンドメモリ領域212aの先頭アドレスは、例えば、大容量内蔵メモリ212におけるCMYKバンドメモリ領域212aとコマンド領域212bとの境界位置を示すアドレスを用いることができる。
図6(b)は、描画ハードパラメータ設定コマンドのうち、バンド終了コマンドの例を示す。バンド終了コマンドは、定義したバンドの描画の終了を示す。コマンド解析部2117は、このバンド終了コマンドを受け取ると、そのバンドに対する描画処理を終了する。
図6(c)は、第1の実施形態に係る、グラフィクスの描画を行うためのグラフィクス描画コマンドの例を示す。ここでは、四角形(矩形)を描画するグラフィクス描画コマンドについて説明する。グラフィクス描画コマンドは、グラフィクス描画用四角形描画コマンドヘッダに続く各パラメータにより、描画を行う四角形のカラー値と、四角形の左上のX,Y座標と、右下のX,Y座標とを指示する。
図6(d)は、第1の実施形態に係る、写真画像の描画を行うための写真画像描画コマンドの例を示す。写真画像描画コマンドは、写真画像描画コマンドヘッダに続く各パラメータにより、描画を行う写真画像のソースアドレスすなわちメインメモリ102のデータメモリ領域102cのアドレスと、写真画像の描画を開始する左上X座標および左上Y座標、ならびに、写真画像の幅および高さとをを指示する。
図7は、第1の実施形態に係る描画部211における一例の処理のフローチャートを示す。描画部211は、ステップS100で、例えばCPU110から1ページの描画開始を指示されると、メインメモリ102のコマンド領域102bに格納される、描画を指示された1ページ分の描画コマンドのデータサイズを取得する。そして、描画部211は、取得した1ページ分の描画コマンドのデータサイズが大容量内蔵メモリ212の容量よりも大きいか否かを判定する。
なお、ここでは、描画部211は、大容量内蔵メモリ212において、CMYKバンドメモリ領域212aに対してバンド画像データを格納するための最小限の容量を予め確保する。描画部211は、その上で、取得した1ページ分の描画コマンドのデータサイズとコマンド領域212bの容量とを比較して、大容量内蔵メモリ212に対する容量の判定結果とするものとする。
描画部211は、ステップS100で、1ページ分の描画コマンドのデータサイズが大容量内蔵メモリ212の容量を超えると判定した場合、処理をステップS101に移行させ、ソフトウェアにより当該1ページの描画を実行する。
例えば、描画部211は、ステップS101で、CPU110に対して1ページ分の描画コマンドのデータサイズが大容量内蔵メモリ212の容量を超える旨を通知する。CPU110は、この通知に応じて、メインメモリ102のコマンド領域102bから描画コマンドを読み込んで描画を行い、生成した画像データをメインメモリ102のCMYKページメモリ領域102dに書き込む。そして、図7のフローチャートによる一連の処理が終了される。
描画部211は、ステップS100で、1ページ分の描画コマンドのデータサイズが大容量内蔵メモリ212の容量以下であると判定した場合、処理をステップS102に移行させる。
描画部211は、ステップS102で、大容量内蔵メモリ212の全容量のうち、ステップS100で取得した描画コマンドのデータサイズ分の容量に対応する領域を除いた領域をCMYKバンドメモリ領域212aに決定する。そして、描画部211は、このCMYKバンドメモリ領域212aの容量をバンド幅で除して、バンド高さを求める。そして、描画部211は、次のステップS103で、描画を行うバンドの先頭および終点のY座標をそれぞれ0に初期化する。
次のステップS104で、描画部211は、コマンドDMA部2110により、メインメモリ102のコマンド領域102bから、描画が指示された1ページ分の描画コマンドを読み込んで大容量内蔵メモリ212に転送し、CMYKバンドメモリ領域212aに書き込む。次のステップS105で、描画部211は、バンド終点のY座標を新たなバンド先頭のY座標とし、さらに、バンド終点のY座標にバンド高さを加算した値を新たなバンド終点のY座標とする。
次のステップS106で、描画部211は、CMYK各色のプレーンを示す版番号を0に初期化する。ここで、例えば版番号0、1、2および3は、それぞれC、M、Y、K各色のプレーンに対応するものとする。
次のステップS107で、描画部211は、描画コマンドをコマンド領域212bから読み込む際のコマンドアドレスを初期化し、0とする。そして、次のステップS108で、描画部211においてコマンド解析部2117は、コマンドアドレスに従いコマンド領域212bから描画コマンドを1つ読み込む。
次のステップS109で、描画部211においてコマンド解析部2117は、読み込んだ描画コマンドを解析して、当該描画コマンドが描画を行うコマンドか否かを判定する。若し、読み込んだ描画コマンドが図6(c)および図6(d)に示されるグラフィクス描画コマンドおよび写真画像描画コマンドのうち何れかであれば、コマンド解析部2117は、当該描画コマンドが描画を行うコマンドであると判定して、処理をステップS110に移行させる。
ステップS110で、コマンド解析部2117は、ステップS108で読み込んだ描画コマンドによる描画が、ステップS105で設定されたバンド先頭および終点のY座標の範囲内で実行できるか否かを判定する。すなわち、コマンド解析部2117は、当該描画コマンドにより描画される範囲の一部または全部が、ステップS105で設定されたバンド先頭および終点のY座標の範囲内に含まれるか否かを判定する。コマンド解析部2117は、当該範囲内で実行できないと判定した場合、処理をステップS108に戻し、コマンド領域212bから次の描画コマンドを読み込む。
コマンド解析部2117は、ステップS110で、描画コマンドによる描画がステップS105で設定されたバンド先頭および終点のY座標の範囲内で実行できると判定した場合、処理をステップS111に移行させる。そして、コマンド解析部2117は、描画コマンドの、ステップS105で設定されたバンド先頭および終点のY座標の範囲でのクリッピング処理を行う。例えば、コマンド解析部2117は、描画コマンドにおいて、当該バンド先頭および終点のY座標の範囲内の描画に係る部分を切り出す。コマンド解析部2117は、クリッピング処理を施した描画コマンドを、描画処理部2112に渡す。
次のステップS112で、描画処理部2112は、コマンド解析部2117から渡された描画コマンドに指定される描画が四角形の描画を行うものか否かを判定する。描画処理部2112は、例えば、当該描画コマンドがグラフィクス描画コマンドである場合に、当該描画コマンドが四角形の描画を行うものであると判定する。
描画処理部2112は、ステップS112で、コマンド解析部2117から渡された描画コマンドが四角形の描画を行う描画コマンドであると判定した場合、処理をステップS113に移行させる。そして、描画処理部2112は、描画コマンドに従い、現在指定されている版(プレーン)に対して四角形の描画を行い、生成されたバンド画像データをCMYKバンドメモリ領域212aに書き込む。そして、処理がステップS108に戻される。
描画処理部2112は、ステップS112で、コマンド解析部2117から渡された描画コマンドが四角形の描画を行う描画コマンドではないと判定した場合、処理をステップS114に移行させる。この場合、描画コマンドは、写真画像の描画を行うための写真画像描画コマンドである。描画処理部2112は、ステップS114で、メインメモリ102のデータメモリ領域102cから、描画コマンドに指定されるソースアドレスに従い写真画像データを読み込む。そして、描画処理部2112は、読み込んだ写真画像データに基づき、現在指定されている版に対して当該写真画像データによる描画を行い、生成されたバンド画像データをCMYKバンドメモリ領域212aに書き込む。そして、処理がステップS108に戻される。
上述のステップS109で、コマンド解析部2117は、ステップS108で読み込んだ描画コマンドが描画を行うコマンドではないと判定した場合、処理をステップS115に移行させる。この場合、読み込んだ描画コマンドは、図6(a)のバンド情報設定コマンドおよび図6(b)の終了コマンドのうち何れかである。ステップS115で、コマンド解析部2117は、読み込んだ描画コマンドが終了コマンドであるか否かを判定する。
コマンド解析部2117は、ステップS115で、読み込んだ描画コマンドが終了コマンドではないと判定した場合、すなわち、当該描画コマンドがバンド情報設定コマンドであると判定した場合、処理をステップS116に移行させる。ステップS116で、コマンド解析部2117は、当該バンド情報設定コマンドにより各バンド情報を設定し、設定した各バンド情報に従い次のステップS117でCMYKバンドメモリ領域212aを初期化して、処理をステップS108に戻す。
コマンド解析部2117は、ステップS115で、読み込んだ描画コマンドが終了コマンドであると判定した場合、処理をステップS118に移行させる。ステップS118で、描画部211は、バンドDMA部2114により、CMYKバンドメモリ領域212aに書き込まれたバンド画像データを、メインメモリ102のCMYKページメモリ領域102dに転送し、記憶させる。
処理は次のステップS119に移行され、描画部211は、現在の版番号が3であるか否かを判定する。これは、すなわち、上述のステップS118でCMYKバンドメモリ領域212aからCMYKページメモリ領域102dに転送されたバンド画像データが、CMYK各色のプレーンのうち最後に転送されるK色のプレーンであるか否かを判定することを意味する。
描画部211は、ステップS119で、版番号が3ではないと判定した場合、処理をステップS120に移行させ、版番号に1を加算して新たな版番号として処理をステップS107に戻す。そして、新たな版番号について、ステップS107からの処理を実行する。
描画部211は、ステップS119で、版番号が3であると判定した場合、処理をステップS121に移行させる。この場合、あるバンドについて、CMYK各色のプレーンの描画が終了したことを意味する。描画部211は、ステップS121で、ページの高さまで描画を行ったか否かを判定する。描画部211は、ページの高さまで描画が終了していないと判定した場合、処理をステップS105に戻し、次のバンドについて、ステップS105からの処理を実行する。
また、描画部211は、ステップS121でページ高さまで描画を行ったと判定した場合、1ページ分の描画が完了したとして、図7のフローチャートによる一連の処理を終了させる。
(従来技術との比較)
図8〜図10を用いて、第1の実施形態による構成と、従来技術による構成とを比較する。図8〜図10は、それぞれ、従来技術による画像形成装置1000a、1000bおよび1000cの一例の構成を示す。なお、図8〜図10において、上述した図1と共通する部分には同一の符号を付して、詳細な説明を省略する。
図8は、従来技術による画像形成装置の第1の例を示す。図8は、図1のメインメモリ102に対応するメインメモリ1020は、描画コマンドを格納するコマンド領域1020aと、バンド画像データが格納されるバンドメモリ領域1020bとを含む例である。すなわち、図8の例では、図1において大容量内蔵メモリ212に含まれて描画制御部200に内蔵されるコマンド領域212bおよびCMYKバンドメモリ領域212aが、コマンド領域1020aおよびバンドメモリ領域1020bとしてメインメモリ1020に設けられる。
この図8の構成によれば、描画部211は、描画を行う際に、描画コマンドを、図中に経路Aで示されるように、バス103を介してメインメモリ1020のコマンド領域1020aから読み込む。また、描画部211は、描画により生成したバンド画像データを、図中に経路Bで示されるように、バス103を介してメインメモリ1020のバンドメモリ領域1020bに書き込む。
より具体的には、描画制御部200aにおいて、描画部211が描画したバンド画像データは、符号化部2212で符号化されてデータ容量を圧縮されて、バス103を介してメインメモリ1020に転送され、圧縮されたまま、バンドメモリ領域1020bに書き込まれる。また、バンドメモリ領域1020bから読み出された、圧縮符号化されたバンド画像データは、バス103を介して描画制御部200aに供給され、復号部2213で復号され、画像処理部215で画像処理されてエンジンコントローラ214に供給される。
このように、図8の例では、バスを介した描画コマンドおよびバンド画像データの転送が、バンドの描画毎にバス103を介して行われることになり、バス103の転送レートの低下を招くおそれがある。また、このバス103の転送レートの低下を抑制するために、描画制御部200aに対して符号化部2212および復号部2213を設ける必要があり、コストが嵩んでしまう。
図9は、従来技術による画像形成装置の第2の例を示す。図9は、図1の大容量内蔵メモリ212に対応するローカルメモリ2120を、描画制御部200bの外部に接続した例である。すなわち、ローカルメモリ2120は、描画制御部200bが構成されるASICの外部に、所定の配線を介して接続される。
図9の例の場合、描画部211の動作は、描画コマンドの読み出しとバンド画像データの書き込みを、ASICによる描画制御部200b外部のローカルメモリ2120に対して行う点以外は、図1を用いて説明した第1の実施形態による動作と同様である。
すなわち、図9において、描画部211は、描画を行う際に、1ページ分の描画コマンドを、バス103を介してメインメモリ1021のコマンド領域1021aから読み込み(図中の経路C)、ローカルメモリ2120のコマンド領域2120aに書き込む。描画部211は、コマンド領域2120aから描画コマンドを読み込み(図中の経路D)、バンド画像の描画を行う。描画されたバンド画像データは、ローカルメモリ2120のバンドメモリ領域2120bに書き込まれる(図中の経路E)。
この図9の例の場合、描画部211は、描画の際に、1ページ分の描画コマンドを、バス103を介してメインメモリ1021から読み込んでローカルメモリ2120のコマンド領域2120aに書き込む。そして、描画部211は、バンド描画を、ローカルメモリ2120からの描画コマンドを読み込み、描画されたバンド画像データをローカルメモリ2120に書き込む。そのため、バス103を介したアクセスが図8の例に比べて抑制される。
一方、図9の構成では、ローカルメモリ2120が描画制御部200bすなわちASICの外部に設けられているため、描画制御部200bからコマンド領域2120aおよびバンドメモリ領域2120bに対するアクセスを、ASIC外部の所定の配線を介して行う必要がある。ASIC外部の配線は、レイアウトなどの都合により制限が多く、ローカルメモリ2120と描画制御部200bとの間のデータ転送などにおいて十分な転送レートを得られない場合がある。この場合、バンド画像データの転送レートの上限が、ローカルメモリ2120と描画制御部200bとを接続する配線の転送レートにより決まってしまい、バンド画像データの転送レートの低下を招くおそれがある。
また、そのため、描画部211で描画したバンド画像データは、一旦圧縮符号化して転送レートを上げた後にローカルメモリ2120に転送することになる。この場合、ローカルメモリ2120と描画制御部200bとの間の転送レートを抑制するために、描画制御部200bに対して符号化部2212および復号部2213を設ける必要があり、コストが嵩んでしまう。
図10は、従来技術による画像形成装置の第3の例を示す。図10は、図1の大容量内蔵メモリ212内のCMYKバンドメモリ領域212aを、描画制御部200cの内部に、バンドメモリ2130として設けた例である。この構成によれば、描画部211とバンドメモリ2130とがASIC内部で直接的に接続されるため、描画部211とバンドメモリ2130とを接続する配線の自由度が高く、十分な転送レートを実現可能である。
この図10の例の場合、描画部211は、描画を行う際に、描画コマンドを、メインメモリ1022内のコマンド領域1022aからバス103を介して読み込み(図中の経路F)、バンド画像の描画を行う。そして、描画部211は、描画により生成したバンド画像データを、ASIC内部の配線を介してバンドメモリ2130に書き込む(図中の経路G)。そして、描画部211は、バンドメモリ2130に書き込まれたバンド画像データを、バス103を介してメインメモリ1022のページメモリ領域1022bに転送する(図中の経路H)。
すなわち、図10の例では、描画部211は、描画コマンドを、バンド画像の描画毎にバス103を介して読み込むことになる。また、バンドメモリ2130に書き込まれたバンド画像データは、バス103を介してメインメモリ1022に転送される。このとき、バンド画像データは、符号化部2212で符号化されてデータ容量を圧縮されて、バス103を介してメインメモリ1022に転送される。また、メインメモリ1022から読み出された、圧縮符号化されたバンド画像データは、バス103を介して描画制御部200cに供給され、復号部2213で復号され、画像処理部215で画像処理されてエンジンコントローラ214に供給される。
このように、図10の例では、描画コマンドおよびバンド画像データの転送が、バンドの描画毎にバス103を介してなされることになり、バス103の転送レートの低下を招くおそれがある。また、このバス103の転送レートの低下を抑制するために、描画制御部200cに対して符号化部2212および復号部2213を設ける必要があり、コストが嵩んでしまう。
このように、上述した図8〜図10の構成では、1ページの画像データの描画に際に、バス103における転送レートがボトルネックになり描画速度の高速化が困難になるおそれがある。また、それと共に、図8〜図10の構成では、描画処理部において符号化部2212および復号部2213を設ける必要があり、コストが嵩んでしまう。
これに対して、図1に示した第1の実施形態に係る画像形成装置1では、1ページ分の描画コマンドと、描画したバンド画像データとを格納する大容量内蔵メモリ212を、描画制御部200すなわちASIC内部に設けている。そのため、1ページの描画において行われる、バス103を介したメインメモリ102に対するアクセスを抑制できる。そのため、バス103の転送レートが描画速度のボトルネックとなる事態が抑制される。それと共に、図1の構成によれば、符号化部および復号部も不要となり、コスト的にも有利である。
(第2の実施形態)
次に、第2の実施形態について説明する。図11は、第2の実施形態に係る画像形成装置1’の一例の構成を示すブロック図である。なお、図11において、図1と共通する部分には同一の符号を付して、詳細な説明を省略する。
図11において、画像形成装置1’は、画像形成制御部10’と、プリンタエンジン11とを含む。画像形成制御部10’は、メモリコントローラ113を内蔵したCPU部100と、エンジンコントローラ313および描画・画像処理部312を備える描画制御部300とを有し、CPU部100と描画制御部300は、バス103を介して接続されている。また、CPU部100には、ROM101と、メインメモリ102’とが接続される。ROM101は、この画像形成装置1’を制御するための各種プログラムが予め格納される。
CPU部100は、図1のCPU部100と同様の構成を有し、CPU110と、CPU I/F111と、メモリアービタ112と、メモリコントローラ113と、DMAC114と、バスコントローラ115と、通信コントローラ116とを有する。CPU部100に含まれる各部は、例えば1の集積回路内に一体的に構成される。CPU110は、ROM101に格納されるプログラムに従い、この画像形成装置1’の全体の動作を制御する。
図11において、DMAC114は、CPU110の命令に従い、メモリコントローラ113を介したメインメモリ102’に対するダイレクトアクセスや、バス103を介した描画制御部300に対するダイレクトアクセスを制御する。図11におけるCPU部100のDMAC114以外の構成は、上述の図1の構成と同様であるので、ここでの説明を省略する。
描画制御部300は、バスI/F310と、画像読込部311と、描画・画像処理部312と、エンジンコントローラ313とを有し、1のASIC内に一体的に構成される。バスI/F310は、バス103に対するインターフェイスである。描画・画像処理部312は、PDLデータに基づきCPU110により生成された描画コマンドや画像処理パラメータを、バス103を介して読み込む。描画・画像処理部312は、読み込んだ描画コマンドや画像処理パラメータに従い、描画処理や、描画処理により生成された画像データに対する画像処理を行う。描画され画像処理された画像データは、バス103を介してメインメモリ102’に供給され、メインメモリ102’の指定された位置に書き込まれる。
画像読込部311は、メインメモリ102’から、画像処理された画像データを例えばページ単位で読み込み、エンジンコントローラ313に転送する。エンジンコントローラ313は、転送された画像データをプリンタエンジン11に供給すると共に、この画像データ基づきプリンタエンジン11を制御する。プリンタエンジン11は、エンジンコントローラ313の制御に応じて、画像データに従った画像を、印刷用紙などの記録媒体上に形成する。
図12を用いて、第2の実施形態に係る画像処理の概要を説明する。図12は、画像形成装置1’の、実施形態による画像処理における機能を説明するための機能ブロック図である。
図12において、メインメモリ102’は、PDLメモリ領域102’aと、描画コマンドメモリ領域102’bと、描画データメモリ領域102’cと、画像処理パラメータメモリ領域102’dと、階調処理後ページ画像メモリ領域102’eとを含む。PDLメモリ領域102’aは、PC2で作成され、通信コントローラ116により受信されたPDLデータが格納される。描画コマンドメモリ領域102’bは、ページ単位、例えば1ページ分の描画コマンドが格納される。描画データメモリ領域102’cは、描画に用いられる描画データ、例えばビットマップデータによる写真画像データが格納される。階調処理後ページ画像メモリ領域102’eは、階調処理まで終了した画像データが、ページ単位で書き込まれる。
以下、図12を参照しながら説明を行う。例えばPC2において、画像形成を行うためのPDLデータが生成され、画像形成装置1’に対して送信される。このPDLデータは、画像形成装置1’において、通信コントローラ116により受信され、メインメモリ102’のPDLメモリ領域102’aに格納される。
描画コマンド生成部320は、PDLメモリ領域102’aに格納されるPDLデータに基づき、画像形成のための画像データを描画(生成)するための描画コマンドと、描画に用いる描画データである写真画像データとをページ単位で生成する。描画コマンド生成部320は、生成した例えば1ページ分の描画コマンドを、メインメモリ102’の描画コマンドメモリ領域102’bに記憶する。また、描画コマンド生成部320は、生成した例えば1ページ分の描画データを、メインメモリ102’の描画データメモリ領域102’cに記憶する。さらに、描画コマンド生成部320は、PDLデータに基づき後述する画像処理部3124で用いる画像処理パラメータを生成し、メインメモリ102’の画像処理パラメータメモリ領域102’dに記憶する。
なお、描画コマンド生成部320は、例えばCPU110上で動作するプログラムにより構成される。
描画・画像処理部312は、バンドコマンド選別部3120と、バンドコマンドメモリ3121と、描画処理部3122と、小バンド画像メモリ3123と、画像処理部3124とを有する。バンドコマンド選別部3120は、描画コマンドメモリ領域102’bに格納される1ページ分の描画コマンドから、所定の高さ(ライン数)のバンドコマンド領域に対するバンド画像の描画を指示するバンドコマンドを選別する。選別されたバンドコマンドは、バンドコマンドメモリ3121に記憶される。
描画処理部3122は、バンドコマンドメモリ3121に記憶されるバンドコマンドと、描画データメモリ領域102’Cに格納される描画データに従い、バンド画像を描画する。このとき、描画処理部3122は、バンドコマンド領域よりも高さの低いバンド画像データである小バンド画像データを生成する。描画処理部3122は、生成した小バンド画像データを、小バンド画像メモリ3123に記憶する。
画像処理部3124は、画像処理パラメータメモリ領域102’dに記憶される画像処理パラメータに従い、小バンド画像メモリ3123に記憶された小バンド画像データに対して階調処理などの所定の画像処理を施す。画像処理部3124は、画像処理を施した小バンド画像データを、メインメモリ102’の階調処理後ページ画像メモリ領域102’eに記憶する。
上述のバンドコマンド選別部3120〜画像処理部3124による処理は、バンドコマンドメモリ3121に記憶されたバンドコマンドによる描画高さの描画が終了するまで繰り返される。
例えばCPU110は、1ページ分の描画処理が終了したか否かを判定し、終了していないと判定した場合、バンドコマンド選別部3120によるバンドコマンドの選別処理を行う。また、CPU110は、1ページ分の描画処理が終了したと判定した場合、画像読み込み部311に対して、階調処理後ページ画像メモリ領域102’eに記憶される1ページのページ画像データの読み込みを指示する。
画像読込部311は、この指示に応じて、階調処理後ページ画像メモリ領域102’eからページ画像データを読み込んでエンジンコントローラ313に転送する。エンジンコントローラ313は、転送されたページ画像データをプリンタエンジン11に出力する。プリンタエンジン11は、エンジンコントローラ313から出力されたページ画像データに従い印刷用紙などの記録媒体に対して画像を形成する。
図13および図14を用いて、第2の実施形態に係る小バンド画像メモリ3123について説明する。図13は、第2の実施形態に係る小バンド画像メモリ3123の一例の構成を示す。ここで、バンドコマンドにより高さ(ライン数)Hの領域を対象に描画が行われるものとする。この、バンドコマンドにより描画が行われる領域を、バンドコマンド領域と呼ぶことにする。小バンド画像メモリ3123は、この高さHのバンドコマンド領域よりもライン数が少ない、高さhの小バンド画像データを格納するメモリである。
ここで、高さH=高さh×m(mは2以上の整数)とすると、1のバンドコマンドにより描画されるバンド画像データは、m回に分けて小バンド画像メモリ3123に書き込まれることになる。一例として、バンドコマンドにより描画されるバンド画像データの高さが512ライン、小バンド画像データの高さhを64ラインとした場合について考える。この場合、小バンド画像メモリ3123は、64ライン分の画像データを格納可能な容量を有し、バンド画像データは、8回に分けて、それぞれ高さhの小バンド画像データとして小バンド画像メモリ3123に書き込まる。
解像度が600dpiでA4サイズの画像データによる画像形成を行う場合、1ラインに含まれる画素数が例えば6760画素となる。各画素がRGB各色の値と、画素の属性情報Aとを有するRGBAデータからなり、各値が8ビットのビット深度を持つ場合、各画素のビット数が32ビットとなる。この場合、1ラインのデータ量が略27kB(キロバイト)となり、512ライン分のバンド画像データを格納するためには、略13.8MB(メガバイト)の容量が必要となり、描画制御部300が構成されるASICに内蔵させることが困難である。これに対して、小バンド画像メモリ3123は、64ライン分の略1.7MBの容量で足り、当該ASICに容易に内蔵可能である。
図14は、第2の実施形態に係る、ページ、バンドコマンド領域および小バンド画像データの一例の関係を示す。図14の例では、水平および垂直方向(すなわちページ幅およびページ高さ方向)の解像度を、それぞれ600dpiおよび400dpiとし、ページ高さLを4740ライン、ページ幅Wを6760画素としている。バンドコマンド領域の高さHを512ラインとした場合、1ページは、9のバンドコマンド領域と、132ラインのみが含まれるバンドコマンド領域からなる。1ページの描画は、バンドコマンドによるn回の描画により、バンドコマンド領域#1、#2、…、#nのn個のバンドコマンド領域に分割して行われる。
なお、以下では、1ページ内のライン位置をY座標とし、Y座標の原点をページの先頭(図14におけるページの上端)のラインとする。Y座標の値は、ページの下方向に向けてライン毎に増加していくものとする。各バンドコマンド領域#1〜#nの範囲、ならびに、小バンド画像メモリ3123に書き込まれる画像データの範囲は、1ページ内のY座標により表現される。また、各ラインにおいて、画素の位置をX座標とし、X座標の原点をページの左端とする。X座標の値は、ラインの右方向に向けて画素毎に増加していくものとする。
第2の実施形態では、1のバンドコマンドにより、小バンド画像メモリ3123を単位として描画が行われる。小バンド画像メモリ3123に描画される小バンド画像データの高さh=64ライン、バンドコマンド領域の高さH=512ラインの場合、1のバンドコマンドによる描画は、8の小バンド画像データ#1〜#8に分割されて行われる。
各小バンド画像データ#1〜#8は、順次、小バンド画像メモリ3123に書き込まれ、読み出される。例えば、バンドコマンド領域#1に対応するバンドコマンド(バンドコマンド#1とする)によりライン毎に描画が行われ、例えば小バンド画像データ#1の各ラインが小バンド画像メモリ3123に書き込まれる。1ライン目〜64ライン目までの書き込みが終了すると、書き込まれた小バンド画像データ#1が小バンド画像メモリ3123から読み出される。続けて、バンドコマンド#1により65ライン目〜128ライン目の描画が行われ、小バンド画像メモリ3123に65ライン目からの小バンド画像データが順次書き込まれる。この処理が、バンドコマンド#1による全ラインの描画が終了するまで繰り返される。上述の処理が、各バンドコマンド#2〜#nについて順次繰り返される。
以上説明したように、第2の実施形態によれば、ページの描画を行う描画コマンドを、メインメモリ102’から、描画制御部300に含まれるバンドコマンドメモリ3121に転送し、この描画コマンドに従い描画制御部300内でバンド画像の描画を行う。このとき、例えば64ライン分の小バンド画像データを格納する小バンド画像メモリ3123に、複数回に分けてバンド画像の描画を行なう。これにより、バンド画像の描画を行うバンドメモリの容量を小さくすることができ、バンドメモリを描画制御部300内に設けることが可能となる。そのため、バンド画像の描画をバス103を介さずに描画制御部300内で実行することが可能となり、描画処理をより高速に実行できる。
また、第2の実施形態によれば、小バンド画像を描画する描画コマンドをバンドコマンドメモリ3121に格納している。そのため、メインメモリ102’からの描画コマンドの読み込みを、バス103を介して何度も行う必要が無く、アイドル時間を抑制でき、バス103の転送レートが低下する事態を回避することが可能である。
さらに、第2の実施形態によれば、描画制御部300内に設けられるバンドコマンドメモリ3121に描画コマンドのみを格納し、描画データ(写真画像のソース画像データなど)とは別にしている。そのため、バンドコマンドメモリ3121は、小さい容量のメモリで構成できる。
さらにまた、第2の実施形態によれば、小バンド画像メモリ3123に対する描画が終了後、描画され小バンド画像メモリ3123に格納される小バンド画像データに対して直接的に画像処理を行うようにしている。そのため、描画された小バンド画像データをバス103を介してメインメモリ102’に転送する必要が無く、バンド画像の転送に伴うバス103の転送レートの低下が回避できる。
また、メインメモリ102’にバンド画像データを格納する必要が無いので、メインメモリの容量を削減することが可能である。
1,1’,1000a,1000b,1000c 画像形成装置
10 画像形成制御部
11 プリンタエンジン
100 CPU部
101 ROM
102,102’,1020,1021,1022 メインメモリ
103 バス
110 CPU
112 メモリアービタ
200,200a,200b,200c,300 描画制御部
211 描画部
212 大容量内蔵メモリ
212a CMYKバンドメモリ領域
212b コマンド領域
312 描画・画像処理部
320 描画コマンド生成部
2110 コマンドDMA部
2111 描画ページコマンドメモリ領域
2112,3122 描画処理部
2113 CMYKバンドメモリ領域
2114 バンドDMA部
2117 コマンド解析部
3120 バンドコマンド選別部
3121 バンドコマンドメモリ
3123 小バンド画像メモリ
特開2008−023959号公報 特許第4833770号公報 特開2005−309865号公報

Claims (10)

  1. 第1の領域および第2の領域を含む第1の記憶部と、
    少なくとも1ページ分の画像データを生成するための描画コマンドを記憶する第3の領域と、ページ単位で画像データを格納可能な第4の領域とを含む第2の記憶部と、
    前記第3の領域に記憶された前記描画コマンドを前記第1の領域に転送して記憶させる描画コマンド転送部と、
    前記第1の領域に記憶された前記描画コマンドに従い、高さが1ページの高さよりも低く、幅が予め決められたバンドを単位とするバンド画像データを生成する描画部と、
    前記描画部で生成された1バンド分の前記バンド画像データを前記第2の領域に転送して記憶させるバンド画像データ転送部と、
    前記第2の領域に記憶された前記バンド画像データを前記第4の領域に転送して記憶させる画像転送部と
    を有し、
    前記描画部は、
    前記第3の領域に記憶される前記描画コマンドのサイズに応じて前記第1の領域を決定し、前記第1の記憶部の領域から該第1の領域を差し引いた領域を前記第2の領域に決定する
    ことを特徴とする画像処理装置。
  2. 前記描画部は、
    前記第2の領域のサイズと前記バンドの幅とに従い前記バンドの高さを決定する
    ことを特徴とする請求項1に記載の画像処理装置。
  3. 前記描画コマンド転送部は、
    前記第1の領域に、1ページ分の画像を描画するための前記描画コマンドを転送し記憶させる
    ことを特徴とする請求項1または請求項2に記載の画像処理装置。
  4. 前記描画部は、
    前記第3の領域に記憶される前記描画コマンドのサイズが、前記第1の記憶部に格納可能なデータサイズを超える場合に、該描画コマンドによる画像データを生成しない
    ことを特徴とする請求項3に記載の画像処理装置。
  5. 前記描画部は、
    前記描画コマンドが初期化コマンドである場合に、前記第2の領域を初期化し、
    前記描画コマンドがバンド画像データを生成するコマンドである場合に、該コマンドにより生成するバンド画像データの1ページ内での高さ範囲を求め、該コマンドにより生成されるバンド画像データが該高さ範囲に含まれるか否かを判定し、含まれない場合には該コマンドをスキップし、含まれる場合には該コマンドを該高さ範囲でクリッピングする
    ことを特徴とする請求項1乃至請求項4の何れか1項に記載の画像処理装置。
  6. 前記描画コマンドは、1ページに対して複数プレーンの画像データを生成するための描画コマンドであって、
    前記描画部は、
    前記複数プレーンにおける1のプレーンずつ画像データを生成し、
    前記第2の領域は、
    前記1のプレーンの画像データを格納する
    ことを特徴とする請求項1乃至請求項5の何れか1項に記載の画像処理装置。
  7. 前記第2の記憶部は、
    写真画像データを格納可能な第5の領域をさらに含む
    ことを特徴とする請求項1乃至請求項6の何れか1項に記載の画像処理装置。
  8. 前記第2の記憶部が接続される第1の集積回路と、
    前記第1の集積回路とバスを介して接続される第2の集積回路と
    を備え、
    前記第1の集積回路は、
    ページ記述言語を解析して前記描画コマンドを生成する描画コマンド生成部と、
    前記第2の記憶部に対するアクセスを制御するメモリコントローラとを含み、
    前記第2の集積回路は、
    前記第1の記憶部と、前記描画コマンド転送部と、前記描画部と、前記バンド画像データ転送部と、前記画像転送部とを含む
    ことを特徴とする請求項1乃至請求項7の何れか1項に記載の画像処理装置。
  9. 第1の記憶部に含まれる第1の領域に、第2の記憶部に含まれる、第3の領域に記憶された少なくとも1ページ分の画像データを生成するための描画コマンドを転送して記憶させる描画コマンド転送ステップと、
    前記第1の領域に記憶された前記描画コマンドを解析して該描画コマンドに含まれるコマンドを取得し、前記第3の領域に記憶される前記描画コマンドのサイズに応じて前記第1の領域を決定し、前記第1の記憶部の領域から該第1の領域を差し引いた領域を第2の領域に決定する解析ステップと、
    前記第1の領域に記憶される前記描画コマンドに従い、高さが1ページの高さよりも低く、幅が予め決められたバンドを単位とするバンド画像データを生成する描画ステップと、
    前記描画ステップにより生成された1バンド分の前記バンド画像データを、前記第2の領域に転送して記憶させるバンド画像データ転送ステップと、
    前記第2の領域に記憶された前記バンド画像データを、前記第2の記憶部に含まれる、ページ単位で画像データを格納可能な第4の領域に転送して記憶させる画像転送ステップと
    を有する
    ことを特徴とする画像処理方法。
  10. 請求項1乃至請求項8の何れか1項に記載の画像処理装置と、
    前記第4の領域に記憶された画像データに従い記録媒体に画像を形成する画像形成部と
    を有する
    ことを特徴とする画像形成装置。
JP2013226048A 2013-02-19 2013-10-30 画像処理装置および画像処理方法、ならびに、画像形成装置 Expired - Fee Related JP6221637B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013226048A JP6221637B2 (ja) 2013-02-19 2013-10-30 画像処理装置および画像処理方法、ならびに、画像形成装置
US14/173,852 US8982405B2 (en) 2013-02-19 2014-02-06 Image processing device, image processing method, and image forming apparatus for processing image data having a larger size

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013030439 2013-02-19
JP2013030439 2013-02-19
JP2013226048A JP6221637B2 (ja) 2013-02-19 2013-10-30 画像処理装置および画像処理方法、ならびに、画像形成装置

Publications (2)

Publication Number Publication Date
JP2014184712A JP2014184712A (ja) 2014-10-02
JP6221637B2 true JP6221637B2 (ja) 2017-11-01

Family

ID=51350960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013226048A Expired - Fee Related JP6221637B2 (ja) 2013-02-19 2013-10-30 画像処理装置および画像処理方法、ならびに、画像形成装置

Country Status (2)

Country Link
US (1) US8982405B2 (ja)
JP (1) JP6221637B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6252225B2 (ja) 2014-02-17 2017-12-27 株式会社リコー 画像処理装置、画像処理方法及び画像形成装置
JP2017054470A (ja) 2015-09-11 2017-03-16 株式会社リコー 画像処理装置および画像処理方法
JP6821924B2 (ja) 2016-03-02 2021-01-27 株式会社リコー 画像処理装置、画像処理方法
JP7040058B2 (ja) 2018-01-31 2022-03-23 株式会社リコー 符号化装置
JP2021175049A (ja) 2020-04-22 2021-11-01 株式会社リコー 情報処理装置、情報処理方法、及びプログラム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3332165B2 (ja) 1992-08-08 2002-10-07 株式会社リコー 画像処理装置
JP3240447B2 (ja) 1993-02-19 2001-12-17 株式会社リコー 画像処理装置
JP3422453B2 (ja) 1996-02-19 2003-06-30 株式会社リコー 画像表示処理装置
JP3387750B2 (ja) 1996-09-02 2003-03-17 株式会社リコー シェーディング処理装置
JP3334661B2 (ja) * 1999-02-24 2002-10-15 日本電気株式会社 画像形成装置及び方法
JP4235347B2 (ja) * 1999-06-29 2009-03-11 キヤノン株式会社 情報処理装置、情報処理方法、および記憶媒体
FR2801396B1 (fr) * 1999-11-22 2002-11-08 Canon Kk Convertion en mode point de donnees numeriques
JP3865203B2 (ja) 2001-04-24 2007-01-10 株式会社リコー 画像圧縮装置、画像形成装置、画像圧縮方法及び記録媒体
JP4133369B2 (ja) 2003-01-27 2008-08-13 株式会社リコー 画像処理装置、方法及びプログラム
JP4313130B2 (ja) 2003-09-18 2009-08-12 株式会社リコー 画像形成装置、画像形成方法、およびその方法をコンピュータで実行するプログラム
JP2005309865A (ja) 2004-04-22 2005-11-04 Ricoh Co Ltd 画像処理装置および画像処理方法、並びに画像処理方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2008023959A (ja) 2006-07-25 2008-02-07 Ricoh Co Ltd 画像処理装置、画像処理方法、およびプログラム
JP4833770B2 (ja) * 2006-08-24 2011-12-07 株式会社リコー 画像処理システムおよび画像処理方法
JP4950007B2 (ja) 2007-11-17 2012-06-13 株式会社リコー 画像処理装置及びこれを備えた画像形成装置、並びに、画像処理方法
JP2009169584A (ja) * 2008-01-15 2009-07-30 Ricoh Co Ltd 画像処理装置、画像処理方法、プログラム
JP2009269341A (ja) 2008-05-09 2009-11-19 Ricoh Co Ltd 画像処理装置および画像処理方法
JP2009278416A (ja) * 2008-05-15 2009-11-26 Seiko Epson Corp 画像処理装置、画像処理方法およびコンピュータプログラム
US8373708B2 (en) * 2008-07-30 2013-02-12 Nvidia Corporation Video processing system, method, and computer program product for encrypting communications between a plurality of graphics processors
JP5267255B2 (ja) 2009-03-18 2013-08-21 株式会社リコー 画像処理装置、画像処理方法及びプログラム
JP5369982B2 (ja) 2009-08-06 2013-12-18 株式会社リコー 画像処理装置および画像処理方法
JP5251799B2 (ja) 2009-09-15 2013-07-31 株式会社リコー データ処理装置およびデータ処理方法
JP5691448B2 (ja) * 2010-11-30 2015-04-01 富士ゼロックス株式会社 印刷文書処理システム、キャッシュ装置、データ処理装置及びプログラム
JP5768524B2 (ja) * 2011-06-20 2015-08-26 株式会社リコー 画像処理装置、画像処理方法およびプログラム
JP2013084224A (ja) 2011-10-12 2013-05-09 Ricoh Co Ltd 画像処理装置
JP5862267B2 (ja) 2011-12-14 2016-02-16 株式会社リコー 画像処理装置および画像処理方法、ならびに、画像形成装置

Also Published As

Publication number Publication date
US20140233067A1 (en) 2014-08-21
JP2014184712A (ja) 2014-10-02
US8982405B2 (en) 2015-03-17

Similar Documents

Publication Publication Date Title
JP6221637B2 (ja) 画像処理装置および画像処理方法、ならびに、画像形成装置
US7680358B2 (en) Image processing apparatus and control method thereof, and program
JP5017031B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム、並びに、記憶媒体
US8780127B2 (en) Image forming apparatus, method for controlling same, and storage medium
JP6171591B2 (ja) 画像処理装置及び画像処理方法
US7724391B2 (en) Image processing apparatus, image processing method and program
JP6202908B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP6506577B2 (ja) 画像処理装置及び方法及び画像記録装置
JP2011095807A (ja) 画像処理装置および画像処理方法
US8860971B2 (en) Printing device and printing method of printing device
JPH0918732A (ja) 情報処理装置及びその方法
US9594535B2 (en) Image processing apparatus for printing object of original image within printable area on print medium, and non-transitory computer-readable medium
JP6283980B2 (ja) 画像処理装置及び画像処理方法
JP4496937B2 (ja) ドライバプログラム及び画像形成装置
US10192282B2 (en) Information processing device, image processing apparatus, and information processing method for high-speed translucency calculation
US10152657B2 (en) Image processing apparatus and image processing method of color image
JP2011197956A (ja) プリンタ制御装置、プリンタ装置およびその制御方法
JP2011139165A (ja) 画像処理装置及びその処理方法
JP2006054712A (ja) 画像処理装置
JP6155604B2 (ja) 画像処理装置および画像処理方法
JP6896413B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP6394247B2 (ja) 画像処理装置、および、コンピュータプログラム
JP5826147B2 (ja) 画像形成装置
US20100165385A1 (en) Image processing apparatus and control method therefor
JP3968989B2 (ja) 画像処理装置、画像処理方法および画像処理プログラムを記録した記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161013

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170824

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170918

R151 Written notification of patent or utility model registration

Ref document number: 6221637

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees