以下、添付図面を参照しながら、本発明に係る画像形成装置、画像形成方法およびプログラムの一実施形態を詳細に説明する。なお、以下の実施形態により本発明が限定されるものではない。また、各実施形態は、内容を矛盾させない範囲で、適宜組み合わせることができる。また、以下では、本発明に係る画像形成装置の一実施形態を、複合機(MFP:Multifunction Peripheral)に適用した場合を例に挙げて説明するが、これに限定されるものではない。なお、複合機とは、印刷機能(プリンタ機能)、複写機能(コピー機能)、スキャナ機能、及びファクシミリ機能のうち少なくとも2つの機能を有する装置である。また、機画像形成装置は、MFPに限ることはなく、プリンタ、LP(Laser Printer)、インクジェットプリンタ、FAX装置、デジタル複写機、スキャナ装置、プロジェクタなどでもよい。
最初に、図1を用いて、画像形成装置1の内部構成例について説明する。図1は、本実施形態に係る画像形成装置の画像形成部の概要構成の一例を示す図である。図1に示すように、画像形成装置1は、タンデム方式の画像形成部10を備えている。画像形成部10には、C(シアン)、M(マゼンタ)、Y(イエロー)、K(ブラック)の4色のトナー13C〜13Kに対応して4本の感光体ドラム11C〜11Kが並設されている。各感光体ドラム11C〜11Kの回りには、レーザ12C〜12K、帯電器、現像器、転写器、クリーナ、及び除電器を含む作像要素が配置されている。
また、転写器と感光体ドラム11C〜11Kとの間には両者のニップに挟持された状態で駆動ローラと従動ローラとの間に張架された中間転写ベルト14が配置されている。
このように構成されたタンデム方式の画像形成装置1は、C,M,Y,Kの色毎に各色に対応する感光体ドラム11C〜11Kを帯電させ、レーザ12C〜12Kを照射して光書き込み(露光)を行い、現像器で各色のトナー13C〜13Kごとに現像し、中間転写ベルト14上に例えばC,M,Y,Kの順に1次転写を行う。
そして、画像形成装置1は、1次転写により4色重畳されたフルカラーの画像を記録紙16に2次転写した後、定着ローラ15で定着して排紙することによりフルカラーの画像を記録紙16上に形成する。
また、図1に示すように、感光体ドラム11C〜11Kは、色ごとにドラム間ピッチと呼ばれる距離分離れて設置される。ドラム間ピッチとは感光体ドラム11C〜11Kの間隔を示すドラム間距離である。従って、印刷イメージの色位置を合わせるために、CMYKの版(色成分の画像)ごとにレーザ12C〜12Kで露光するタイミングは、感光体ドラム11C〜11Kのドラム間ピッチ分ずらして行われる。図1の例では、C版からK版に向かって順に露光が行われることになる。以下では、色成分ごとの版(画像)を、C版(シアン画像)、M版(マゼンタ画像)、Y版(イエロー画像)、K版(ブラック画像)とも表記する。本実施形態において、CMYKの4版の構成の一例について説明するが、これに限ることはなく、版数が5版以上でも、版ごとに構成要素を増やすことで対応することができる。
次に、ドラム間ピッチによって生じる色位置のずれ量を示すラインずれ量について説明する。図2は、ドラム間ピッチによって生じる各版のラインずれとデータ出力について説明する図である。図2に示すように、各版(CMYKの画像)のデータ出力(転送)はドラム間ピッチによって生じるラインずれ(Dライン)分だけずれてデータ出力(転送)が行われる。図2において、縦軸は上からC版データ、M版データ、Y版データ、K版データの出力(転送)状態を示し、横軸は時間軸を示している。図2の例では、C版データのN−1ページ目を出力した後、ラインずれ量分ずらしてM版データのN−1ページ目を出力し、ラインずれ量分ずらしてY版データのN−1ページ目を出力し、ラインずれ量分ずらしてK版データのN−1ページ目を出力する。
ドラム間ピッチよって生じる各版のラインずれ量は、ドラム間ピッチ(mm)と、印刷解像度(dot/inch)によって決まるので、下記式(1)により算出することができる。
ラインずれ量=印刷解像度(dot/inch)×(ドラム間ピッチ(mm)/25.4(mm/inch)) ・・・(1)
また、図2の例は、ロール紙印刷の場合のデータ出力を示している。通常のカット紙では、ページ間(N−1ページ目とNページ目の間)に紙間と呼ばれる期間が存在するが、ロール紙ではページ間にギャップが存在しない。つまり、紙と紙の間に紙間と呼ばれる期間が存在しないので、N−1ページ目〜N+1ページ目のデータを連続して出力する必要がある。従って、図2に示すように、C版データ〜K版データは、N−1ページを出力すると、続けてNページ数を出力し、続けてN+1ページ数を出力する。
また、毎ページ同じデータを印刷するリピート印刷の場合は、最初にメモリ上に1ページ分のデータを書き込んでおけば、以降は同じデータを連続して読み出し続ければよいが、毎ページごとに異なるデータを印刷するバリアブル印刷の場合は、ページごとにデータを切り替える必要がある。
次に、バリアブル印刷時におけるデータの取り扱いについて説明する。図3は、メモリ領域が2ページ分ある場合のバリアブル印刷時におけるデータの取り扱いについて説明する図である。図3に示すように、2ページ分のメモリ(一時記憶手段)の一方をA面、他方をB面とする。最初に、A面では、N−1ページ目のC版データ〜K版データを展開し、その後C版データのN−1ページ目を出力した後、ラインずれ量分ずらしてM版データのN−1ページ目を出力し、ラインずれ量分ずらしてY版データのN−1ページ目を出力し、ラインずれ量分ずらしてK版データのN−1ページ目を出力する。この間に、B面では、次ページのNページ目のデータを展開する準備(データ準備)をしておく。
A面において、N−1ページ目のC版データ〜K版データを出力した後、続けてB面ではNページ目のデータを展開し、その後C版データのNページ目を出力した後、ラインずれ量分ずらしてM版データのNページ目を出力し、ラインずれ量分ずらしてY版データのNページ目を出力し、ラインずれ量分ずらしてK版データのNページ目を出力する。この間に、A面では、次ページのN+1ページ目のデータを展開する準備(データ準備)をしておく。
B面において、Nページ目のC版データ〜K版データを出力した後、続けてA面ではN+1ページ目のデータを展開し、その後C版データのN+1ページ目を出力した後、ラインずれ量分ずらしてM版データのN+1ページ目を出力し、ラインずれ量分ずらしてY版データのN+1ページ目を出力し、ラインずれ量分ずらしてK版データのN+1ページ目を出力する。この間に、B面では、次ページのN+2ページ目のデータを展開する準備(データ準備)をしておく。
以上のように、メモリ領域が2ページ分ある場合は、A面のN−1ページ目のデータを出力中に次ページ(Nページ目)のデータをB面に準備し、N−1ページ目のデータ出力完了後は、B面のNページ目のデータを出力する。このようにバリアブル印刷時には、2ページ分のメモリの一方でデータ出力、他方で次ページのデータ準備を並行して行うことで、ページ間ギャップ無しでページごとに異なるデータを連続して出力することができる。
図4は、メモリ領域が1ページ分だけの場合のバリアブル印刷時におけるデータの取り扱いについて説明する図である。例えば、ロール紙に印刷するような産業用の印刷機では、印刷原稿が大きなサイズまで対応する必要がある。また図4の例では、CMYKの4版データのみだが、それ以外にも白、透明、金、銀等の特殊な色のトナーを用いる場合には、版数が5以上になる場合がある。そのため、印刷する画像データが非常に大容量になってしまい2ページ分のメモリ領域を確保できない場合がある。
図4に示すように、1ページ分のメモリ領域でバリアブル印刷を行う場合、まずN−1ページ目のC版データ〜K版データを展開し、その後C版データのN−1ページ目を出力した後、ラインずれ量分ずらしてM版データのN−1目ページを出力し、ラインずれ量分ずらしてY版データのN−1ページ目を出力し、ラインずれ量分ずらしてK版データのN−1ページ目を出力する。各版データのN−1ページ目を出力中に、出力済みのN−1ページ目のメモリ領域に次ページのNページ目のデータを展開する準備(データ準備)をしておく。N−1ページ目のC版データ〜K版データを全て出力した後、続けてNページ目のデータを展開し、その後C版データのNページ目を出力した後、ラインずれ量分ずらしてM版データのNページ目を出力し、ラインずれ量分ずらしてY版データのNページ目を出力し、ラインずれ量分ずらしてK版データのNページ目を出力する。各版データのNページ目を出力中に、出力済みのNページ目のメモリ領域に次ページのN+1ページ目のデータを展開する準備(データ準備)をしておく。この際に、未出力のN−1ページ目のデータをNページ目のデータで上書きしてしまうと、異常画像になってしまうので、メモリ領域に書き込んだラインデータの書き込みライン数と、メモリ領域から読み出したラインデータの読み出しライン数とを比較して、書き込みライン数が読み出しライン数を超えないように、メモリ領域への書き込みを一時停止する制御を行う。
以上のように、メモリ領域が1ページ分だけの場合は、N−1ページ目を出力中に、出力済みのN−1ページ目のメモリ領域にNページ目のデータ準備を行うことで、バリアブル印刷時には、1ページ分のメモリ領域でページ間ギャップ無しでページごとに異なるデータを連続して出力することができる。本実施形態では、特にメモリ領域が1ページ分だけの場合を一例として説明を行う。
次に、本実施形態に係る画像形成装置1の主要なモジュール構成について説明する。図5は、画像形成装置のモジュール構成の一例を示す図である。図5に示すように、画像形成装置1は、SoC(System on Chip)101と、DDR(Double Data Rate)メモリ102と、ASIC(Application Specific Integrated Circuit)103と、ASIC(Application Specific Integrated Circuit)104と、HDD(Hard Disk Drive)105とを備えている。
SoC101は、ASIC103の制御を行うCPU、及び外部I/F(Gigabit Ethernet(登録商標)、USB、SDカード等のI/F)を備えている。また画像データを処理するためのDDRメモリ102が接続される。SoC101は、PCIe(PCI Express)等のシリアルI/F131でASIC103と接続される。
DDRメモリ102は、SoC101に接続されるメモリである。DDRメモリ102は、画像データを処理する際のワークメモリとして使用される。またDDRメモリ102は、SoC101内のCPUのワークメモリとして使用される。
ASIC103は、SATA(Serial Advanced Technology Attachment) I/F111と、ビデオ出力部121C〜121Kと、シリアルI/F131と、シリアルI/F132と、バスアービタ133と、レジスタバス134と、図示しないメモリとを備える。上記各部の詳細な説明は後述する。ASIC103は、画像データのハンドリングを行い、HDD105に蓄積された画像データをビデオ出力部121C〜121K、及びシリアルI/F132を経由してASIC104へ出力する。なお、ASIC103は請求項の「線順次画像変換手段」、「面順次画像変換手段」の一態様である。
ASIC104は、ASIC103から入力された画像データに対して、印刷するために必要な画像処理を行う。なお、ASIC104は請求項の「画像処理手段」の一態様である。
HDD105は、画像データの蓄積を行う。なお、HDD105は請求項の「記憶手段」の一態様である。
SATA I/F111は、WDMAC(Write Direct Memory Access Controller)112と、RDMAC(Read Direct Memory Access Controller)113とを備える。SATA I/F111は、SATA規格に準拠して、HDD105へのデータの書き込み、及びHDD105からデータの読み出しを行う。WDMAC112は、HDD105から読み出した、読み出しデータを図示しないメモリ(一時記憶手段)に対して書き込みを行う。RDMAC113は、HDD105へ書き込むためのデータを図示しないメモリから読み出しを行う。WDMAC112及びRDMAC113は、内部に備えるレジスタに基づいて動作する。WDMAC112及びRDMAC113内部のレジスタは、図示しない設定用レジスタと動作用レジスタの2段構成となっている。設定用レジスタに設定された内容が、印刷するページの先頭で動作用レジスタに取得設定(反映)され、WDMAC112及びRDMAC113の動作は動作用レジスタに従って行われる。すなわち、設定用レジスタ(設定用保持手段の一態様)は、各手段(WDMAC112及びRDMAC113)の動作を制御する設定内容を保持する。また動作用レジスタ(動作用保持手段の一態様)は、ページの先頭の画像データを示すページ先頭通知を受け付けて設定用保持手段が保持する設定内容を取得して保持する。各手段(WDMAC112及びRDMAC113)は、それぞれが備える動作用保持手段が保持する設定内容に従って動作する。これによりWDMAC112及びRDMAC113の動作中に次の起動に対する設定を設定用レジスタに行うことができ、紙間の無いロール紙に印刷するシステムにおいて、ソフトウェアの設定タイミングについての制約を緩和することができる。
なお、WDMAC112は請求項の「線順次画像書き込み手段」、「面順次画像書き込み手段」の一態様である。RDMAC113は請求項の「線順次画像読み出し手段」の一態様である。メモリは請求項の「一時記憶手段」の一態様である。
ビデオ出力部121C〜121Kは、それぞれ1対1に対応するRDMAC122C〜122Kを備える。ビデオ出力部121C〜121Kは、CMYKの版ごとの印刷対象データをメモリからRDMAC113で読み出し、ビデオ出力部121C〜121K内の図示しないFIFO(First-In First-Out)に蓄積する。なお、FIFOサイズは1ラインデータ程度の容量である。FIFOに蓄積されたデータはシリアルI/F132経由でASIC104からのリード要求に応じて、ASIC104へ出力される。
各RDMAC122C〜122Kからは処理済みライン数を示すラインカウンタ情報、及びRDMAC122C〜122K出力(転送)データのページの先頭を示すページ先頭通知をSATA I/F111部のWDMAC112へ通知する。
ビデオ出力部121C〜121KのRDMAC122C〜122Kは、動作モードとして通常の出力モード、及び連続出力モードを有している。通常出力モードは、1回の起動で1ページ分の画像データを出力して終了する。連続出力モードは、予め設定された設定ページ分だけ、同じメモリ領域からのデータをリピートして出力する。すなわち、色成分ごとにRDMAC122C〜122K(面順次画像読み出し手段の一態様)で読み出した画像データを、印刷するための画像処理を行うASIC104(画像処理手段の一態様)へ出力する、該色成分に1対1に対応するビデオ出力部121C〜121K(複数の出力手段の一態様)を備え、ビデオ出力部121C〜121K(複数の出力手段の一態様)から連続出力させる画像データのページ数を設定するレジスタ(連続出力設定手段の一態様)の設定に応じたページ数の画像データを出力する。
また、ビデオ出力部121C〜121Kは、ページ到達割り込みの機能を持ち、連続出力モード時に割り込み発生ページ数まで出力ページが到達した場合、割り込みを発生させる。すなわち、ビデオ出力部121C〜121Kは、出力手段から画像データを出力させる出力設定を変更するための割り込みを発生させる割り込み手段を備え、割り込み手段は、出力手段から出力された画像データのページが、割り込みを発生させるページを設定するページ設定手段(レジスタ)で設定されたページに到達した場合に、割り込みを発生させる。
RDMAC122C〜122Kは、内部に備えるレジスタに基づいて動作する。RDMAC122C〜122K内部のレジスタは、図示しない設定用レジスタと動作用レジスタの2段構成となっている。すなわち、設定用レジスタ(設定用保持手段の一態様)は、各手段(RDMAC122C〜122K)の動作を制御する設定内容を保持する。また動作用レジスタ(動作用保持手段の一態様)は、ページの先頭の画像データを示すページ先頭通知を受け付けて設定用保持手段が保持する設定内容を取得して保持する。各手段(RDMAC122C〜122K)は、それぞれが備える動作用保持手段が保持する設定内容に従って動作する。
なお、ビデオ出力部121C〜121Kは請求項の「出力手段」、「制御手段」、「割り込み手段」の一態様である。RDMAC122C〜122Kは請求項の「面順次画像読み出し手段」の一態様である。レジスタは請求項の「ページ設定手段」、「設定用保持手段」、「動作用保持手段」、「連続出力設定手段」の一態様である。
シリアルI/F131は、ASIC103とSoC101の間のI/Fである。シリアルI/F131は、例えばPCIe等の高速シリアルI/Fである。シリアルI/F131では、画像データの転送、及びレジスタアクセスが行われる。
シリアルI/F132は、ASIC103とASIC104の間のI/Fである。シリアルI/F132は、例えばPCIe等の高速シリアルI/Fである。シリアルI/F132では、画像データの転送が行われる。
バスアービタ133は、バスアービタ133に接続されている各マスタ(DMAC)からのアクセス要求を調停し、スレイブ側であるシリアルI/F131部に対してアクセス要求を行う。各マスタ/スレイブのI/Fは汎用規格であるAXI(Advanced eXtensible Interface)/OCP(Open Core Protocol)等が用いられる。
レジスタバス134は、シリアルI/F131経由で設定されるASIC103のレジスタにアクセスするためのバスである。レジスタバス134は、APB(Advanced Peripheral Bus)/AHB(Advanced High-performance Bus)/OCP(Open Core Protocol)等が用いられる。
次に、HDD105に蓄積する画像データのフォーマットについて説明する。一般にHDD105は、記録領域をセクタと呼ばれる単位(512Byte又は4KByte)で管理されている。LBA(Logical Block Addressing)方式では、セクタは一元的な通し番号によって管理されている。セクタ番号に対して連続してアクセスするシーケンシャルアクセスの場合には、HDD105のヘッドを読みだし位置まで移動させる距離が短くなるので読み出し効率がよい。一方、不連続なセクタ番号に連続してアクセスする場合には、ヘッドを読みだし位置まで移動させる距離が長くなるので読み出し効率は悪化してしまう。
図6は、HDDから読み出したデータをメモリ領域に展開するイメージの概念図である。図6において、上からC版データ、M版データ、Y版データ、K版データの展開(書き込み)状態を示し、横軸は時間軸を示している。図6の例では、C版データのNページ目を展開した後、ラインずれ量分ずらしてM版データのNページ目を展開し、ラインずれ量分ずらしてY版データのNページ目を展開し、ラインずれ量分ずらしてK版データのNページ目を展開する。図6に示すようなタイミングでデータをHDD105からメモリ領域に展開する場合、図6の期間(1)の領域では、C版データのみラインずれ量分、例えばDライン分のデータをメモリ上に展開するため、Dライン分のデータについてはHDD105にシーケンシャルアクセスができる。しかし期間(4)の領域では、CMYKの各版のデータを同時にメモリ上に展開することになる。
図7は、HDDに蓄積する画像データの面順次フォーマットについて説明する図である。図7に示すように、CMYKの各版のデータ(色成分それぞれの画像)は出力する順番で配列した面順次方式(面順次フォーマット)で蓄積(書き込み)される。各版(各色成分)のデータは、主走査方向のラインデータを副走査方向に複数配列して形成される画像(データ)で構成されている。つまり、1つの版(画像)は主走査方向のラインデータを副走査方向に複数配列した画像(データ)となっている。すなわち、面順次方式の画像データは、複数の色と1対1に対応し、かつ、それぞれが複数のラインデータで構成される複数の色画像を、出力順に配列した画像データである。なお、ラインデータとは、用紙を搬送する副走査方向に直交する主走査方向の一行を構成する複数の画素の各々の濃度値で表現される画像のことを示し、一行の画像ともいう。図7の例ではC版〜K版の画像(データ)で構成される1ページ分の画像データを示している。また出力順としてC版、M版、Y版、K版の順番で出力されることを示している。
C版の画像(データ)は1ライン目〜Nライン目まであり、ラインデータの副走査方向のライン数はNである。同様に、M版、Y版、K版の画像(データ)も1ライン目〜Nライン目まであり、ラインデータの副走査方向のライン数はNである。
各版のデータを、図7に示す面順次フォーマットでHDD105に蓄積した場合で、図6に示すようなタイミングでデータをHDD105からメモリ領域に展開する場合について説明する。前提として、ラインずれ量分に相当するラインデータのライン数を2ラインとする。例えば図6に示す期間(4)の領域では、HDD105からC版データの7ライン目、M版データの5ライン目、Y版データの3ライン目、K版データの1ライン目を、それぞれ読み出してメモリ領域に展開することになる。この場合、図7に示す面順次フォーマットでHDD105に蓄積した場合、HDD105から読み出す各版のラインデータは、ラインごとにセクタ番号が不連続になってしまうので、HDD105へのアクセス効率が悪化してしまうことになる。
図8は、HDDに蓄積する画像データの線順次フォーマットについて説明する図である。図8に示すように、CMYKの各版のデータ(色成分それぞれの画像)は、ラインずれ量に相当するラインデータの数を示すライン数と、出力する各版(色成分)の出力順とに基づいて、異なる各版(色成分)のラインデータを混在させて配列した線順次方式(線順次フォーマット)で蓄積(書き込み)される。すなわち、画像データに基づく画像を記録媒体に形成する画像形成に用いられ、かつ、複数の色と1対1に対応する複数の感光体ドラム11C〜11Kの間隔を示すドラム間距離(ドラム間ピッチ)から予め求められるラインずれ量に相当するラインデータの数を示すライン数と、出力するCMYK版(色成分の画像)の出力順番とに基づいて、図6に示すようなタイミングでデータをHDD105からメモリ領域に展開する場合にHDD105に対してシーケンシャルアクセスができる順番で各版(色成分)のそれぞれのラインデータを混在させて配列する線順次フォーマットでHDD105に蓄積(書き込み)する。
図6及び図8を用いて、線順次フォーマットについて具体的に説明する。図6に示した期間(1)〜(7)は、図8に示した期間(1)〜(7)に対応している。前提として、ラインずれ量分に相当するラインデータのライン数をDラインとする。また出力順としてC版、M版、Y版、K版の順番で出力される。
期間(1)では、C版データをDライン分(ラインずれ量分)配列する。期間(2)では、M版データ、C版データを交互に各Dライン分配列する。期間(3)では、Y版データ、M版データ、C版データを交互に各Dライン分配列する。期間(4)では、K版データ、Y版データ、M版データ、C版データを交互に各(副走査方向ライン数−3×D)ライン分配列する。期間(5)では、K版データ、Y版データ、M版データを交互に各Dライン分配列する。期間(6)では、K版データ、Y版データを交互に各Dライン分配列する。期間(7)では、K版データをDライン分配列する。このように、ラインずれ量分に相当するラインデータのライン数と、出力する各版(色成分)の出力順番とに基づいて、各版のラインデータを混在させて1ページ分配列した線順次方式(線順次フォーマット)でHDD105に蓄積することで、1ページ分の画像データに対してシーケンシャルにアクセスすることが可能となる。
具体的に、ラインずれ量を3ライン、副走査方向のライン数を36本と仮定する。
期間(1)では、C版データを3ライン分配列する。つまり、C、C、Cである。
期間(2)では、M版データ、C版データを交互に各3ライン分配列する。つまり、MC、MC、MCである。
期間(3)では、Y版データ、M版データ、C版データを交互に各3ライン分配列する。つまり、YMC、YMC,YMCである。
期間(4)では、K版データ、Y版データ、M版データ、C版データを交互に各27ライン(36−3×3=27ライン)配列する。つまり、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMC、KYMCである。
期間(5)では、K版データ、Y版データ、M版データを交互に各3ライン分配列する。つまり、KYM、KYM、KYMである。
期間(6)では、K版データ、Y版データを交互に各3ライン分配列する。つまり、KY、KY、KYである。
期間(7)では、K版データを3ライン分配列する。つまり、K、K、Kである。
以上のように、CMYK版(色成分の画像)のラインデータを混在させて配列した線順次方式(線順次フォーマット)の1ページ分の画像データをHDD105に蓄積することで、読み出す順番で各色成分のラインデータを混在させて1ページ分並べることができる。
図9は、線順次フォーマットで画像データをHDDに蓄積する処理動作の一例を示す概念図である。図9において、r_sa_cは、C版データ(シアン画像)のメモリ上のスタートアドレスを示し、r_sa_mは、M版データ(マゼンタ画像)のメモリ上のスタートアドレスを示し、r_sa_yは、Y版データ(イエロー画像)のメモリ上のスタートアドレスを示し、r_sa_kは、K版データ(ブラック画像)のメモリ上のスタートアドレスを示している。
画像形成装置1には、SoC101のUSBやGigabit Ethernet(登録商標)、SDカード等の外部I/Fを介して画像データが入力され、DDRメモリ102用に展開される。画像形成装置1の外部で面順次フォーマットでデータを扱う場合、一旦、図7に示したような面順次フォーマットでメモリ上にデータが展開される。その後SATA I/F111のRDMAC113でメモリから面順次フォーマットのデータを読み出して、図8に示したような線順次フォーマットのデータに変換し、HDD105に変換した線順次フォーマットのデータを蓄積(書き込み)する。すなわち、SATA I/F111のRDMAC113は、図9に示したCMYKの各版(色成分の画像)の読み出し開始アドレス(r_sa_*:*=c/m/y/k)からライン単位でデータ(ラインデータ)の読み出しを行う。そして、上述したラインずれ量、副走査方向ライン数(副走査サイズ)、色成分の処理順(出力順)に基づいて、面順次フォーマットの画像データから図8に示すライン順次フォーマットの画像データへ変換し、HDD105に変換した線順次フォーマットの画像データを蓄積(書き込み)する。
次に、ビデオ出力部121C〜121Kの処理動作について説明する。図10は、ビデオ出力部の処理動作の一例を示す概念図である。ASIC103のビデオ出力部121C〜121KのRDMAC122C〜122Kが起動すると、図10の一番上1行目に示す、RDMAC122C〜122K動作イネーブルがアサートし、RDMAC122C〜122Kがメモリから画像データをリードし、FIFOへのデータ充填を開始する。1ライン分のFIFOのデータ充填が完了すると、ASIC104からのデータリード準備OKとなり、FIFO充填完了割り込み要因が発生する(図10の上から2行目)。その後、ASIC104からのリード要求が発生し(図10の上から3行目)、ビデオ出力部121C〜121Kからデータ出力が開始される(図10の上から4行目)。これ以降、FIFOは、ASIC104からの読み出しとRDMAC122C〜122Kからの書き込みが同時並行して行われる。図10の例では、ビデオ出力部121C〜121KのRDMAC122C〜122Kは連続出力モードで動作しており、設定ページ数=Mページに設定されている。この場合、RDMAC122C〜122Kは設定された1度の起動でMページ分のデータを出力する。
また図10の例では、ページ到達割り込みの発生ページ=2と設定しており、2ページ目のページ先頭と処理完了(ページ完了)後に割り込み要因を発生させることができる(図10の上から5行目と6行目)。この割り込み要因の発生を基準にソフトウェアはレジスタ設定の変更等の制御を行うことができる。また、RDMAC122C〜122K設定用レジスタにページの転送開始前にレジスタ設定を行い(図10の下から2行目)、ページ転送開始時に設定用レジスタの内容が動作用レジスタへ取得設定(反映)され(図10の一番下1行目)、動作用レジスタの設定に従ってRDMAC122C〜122Kは動作する。図10の例では、1、2ページ目は同じ設定で動作し、3ページ目以降は異なる設定に変更した一例を示している(図10の下から1〜2行目)。
次に、WDMAC112とRDMAC122C〜122Kの連動処理動作について説明する。図11は、メモリ領域からのデータの読み出しと、メモリ領域へのデータの書き込みの連動処理動作について説明する図である。図11において、r_line_cは、C版データ(シアン画像)のRDMAC122Cでの読み出し済みラインデータのライン数を示し、r_line_mは、M版データ(マゼンタ画像)のRDMAC122Mでの読み出し済みラインデータのライン数を示し、r_line_yは、Y版データ(イエロー画像)のRDMAC122Yでの読み出し済みラインデータのライン数を示し、r_line_kは、K版データ(ブラック画像)のRDMAC122Kでの読み出し済みラインデータのライン数を示している。またw_line_cは、C版データ(シアン画像)のWDMAC112での書き込み済みラインデータのライン数を示し、w_line_mは、M版データ(マゼンタ画像)のWDMAC112での書き込み済みラインデータのライン数を示し、w_line_yは、Y版データ(イエロー画像)のWDMAC112での書き込み済みラインデータのライン数を示し、wr_line_kは、K版データ(ブラック画像)のWDMAC112での書き込み済みラインデータのライン数を示している。またw_sa_cは、C版データ(シアン画像)のメモリ上のスタートアドレスを示し、w_sa_mは、M版データ(マゼンタ画像)のメモリ上のスタートアドレスを示し、w_sa_yは、Y版データ(イエロー画像)のメモリ上のスタートアドレスを示し、w_sa_kは、K版データ(ブラック画像)のメモリ上のスタートアドレスを示している。
CMYK版(色成分の画像)それぞれに1対1に対応するビデオ出力部121C〜121KのRDMAC122C〜122Kは、メモリ上に面順次方式で展開されたCMYK版それぞれのデータの読み出しを行う。その際に、各RDMAC122C〜122Kの読み出し済みのラインデータのライン数をr_line_*(*=C/M/Y/K)、WDMAC112の版(色成分)ごとの書き込み済みラインデータのライン数をw_line_*(*=C/M/Y/K)、追い越し防止用のマージンライン数をm_lineとすると、SATA I/F111のWDMAC112は、r_line_*>w_line_*+m_lineとなるように書き込みの制御を行う。SATA I/F111のWDMAC112はHDD105から読みだしたデータがどの版(色成分)のデータなのかを判断して、版(色成分の画像)ごとのデータの書き込み先のメモリアドレス(開始アドレス:w_sa_*)にDMA動作(直接データ転送)を行う。なお、WDMAC112は請求項の「判定手段」の一態様である。
次に、SATA I/F111部のWDMAC112のモジュール内部構成について説明する。図12は、WDMACのモジュール内部構成の一例を示す図である。WDMAC112は、メイン制御部201と、セレクタ202と、セレクタ203と、ウェイト制御部204と、バスアービタI/F部205と、レジスタ部206と、WDMACラインカウンタC211と、WDMACラインカウンタM212と、WDMACラインカウンタY213と、WDMACラインカウンタK214とを備える。
メイン制御部201は、レジスタ情報に基づきSATA I/F111からデータを取得して、バスアービタI/F部205に対してデータの転送要求を行う。またメイン制御部201は、CMYK版(色成分の画像)の出力順序、ラインずれ量、副走査方向ライン数(副走査サイズ)に基づいて処理ラインデータの管理を行い、現在処理中のラインデータがどの版(色成分の画像)のデータなのかの判定を行う。そしてメイン制御部201は、版判定及び処理ライン数に応じてバスアービタI/F部205に対してライン開始アドレスを通知する。
またメイン制御部201は、バスアービタI/F部205からのラインデータ転送完了通知と処理ラインデータ管理に基づいて、WDMACラインカウンタC211〜WDMACラインカウンタK214のカウント制御を行う。
またメイン制御部201は、WDMAC112とRDMAC122C〜122Kとを連動処理させる時はWDMAC112起動後のRDMAC122C〜122Kのページ先頭通知信号をアサート後に、WDMAC112の処理動作を開始することで、1つ前のページの処理中にWDMAC112の起動を行い、実際の起動開始はRDMAC122C〜122Kの処理動作に合わせて行うことができる。これにより、1つの書き込み用WDMAC112と複数の読み出し用RDMAC122C〜122Kとを連動動作させることができる。
またメイン制御部201は、SATA I/F111及びバスアービタI/F部205との間はデータvalid、データready、データのハンドシェイクのI/F(データvalid、データreadyが共にアサートした状態でデータ転送成立)でデータのやり取りを行ない、データ上流、下流双方からウェイトを掛けられる。
なお、WDMAC112のメイン制御部201は請求項の「判定手段」、「割り込み手段」、「ページ設定手段」の一態様である。
セレクタ202は、各ビデオ出力部121C〜121KのRDMAC122C〜122Kからのラインカウンタ情報を動作版情報(動作版判定)に基づいて選択するセレクタである。すなわち、セレクタ202は、データ転送を行っているCMYK版(色成分の画像)の情報に基づいてRDMAC122C〜122Kからのラインカウンタ情報を切り換える。セレクタ202は、動作版情報が、例えばC版(シアン画像)の場合、それに対応したC版(シアン画像)のRDMACラインカウンタ122Cが選択される。
セレクタ203は、WDMAC112のラインカウンタ情報を動作版情報(動作版判定)に基づいて選択するセレクタである。すなわち、セレクタ203は、データ転送を行っているCMYK版(色成分の画像)の情報に基づいてWDMAC112のラインカウンタ情報を切り換える。セレクタ202と同様で動作版情報が、例えばC版(シアン画像)の場合、それに対応したC版(シアン画像)のWDMACラインカウンタC211が選択される。
ウェイト制御部204は、セレクタ202、203で選択されたラインカウンタの値とマージンライン数から、WDMAC112ウェイト制御信号を生成する。ウェイト制御部204は、RDMACラインカウンタ数>(WDMACラインカウンタ数+マージンライン数)になるようにWDMAC112に対してウェイト制御を行う。すなわち、ウェイト制御部204は、メモリ(一時記憶手段)の所定領域に書き込んだラインデータの書き込みライン数と、WDMAC112(面順次画像読み出し手段)が、メモリ(一時記憶手段)の所定領域から読み出したラインデータの読み出しライン数とを比較して、書き込みライン数が読み出しライン数を超えないように、WDMAC112(面順次画像書き込み手段)の書き込みを一時停止する制御を行う。なお、WDMAC112のウェイト制御部204は請求項の「制御手段」の一態様である。
バスアービタI/F部205は、バスアービタ133のI/F仕様に基づいて、バスアービタ133に対して画像データのライト要求を行う。バスアービタI/F部205は、メイン制御部201から通知されるライン開始アドレスに対して、1ライン分のデータ転送を行う。バスアービタI/F部205は、1ライン分のデータ転送完了後、ライン転送完了通知をメイン制御部201に対して行い、ライン転送完了通知を受けてメイン制御部201は、次ラインのライン開始アドレスをバスアービタI/F部205に通知する。またバスアービタI/F部205は、WDMACウェイト制御信号がアサート中は画像データのライト要求は行わない。
レジスタ部206は、WDMAC112の設定を行うためのレジスタである。レジスタとしては、各版(色成分の画像)のスタートアドレス(w_sa_*)、主走査データサイズ(x_size)、副走査データサイズ(y_size)、ドラム間ピッチに伴うラインずれ量(d_line)、版(色成分の画像)の出力順序(p_order)、連動動作モード(sync_mode:0連動無し、1連動有り)、起動レジスタ(exec)、追い越し防止のマージンライン数(m_line)等がある。またレジスタ部206は、メイン制御部201からの割り込み要因に基づいて割り込み要求を通知(発生)させる。なお、WDMAC112のレジスタ部206は請求項の「割り込み手段」、「設定用保持手段」、「動作用保持手段」の一態様である。
WDMACラインカウンタC211〜WDMACラインカウンタK214は、WDMAC112のメモリ書き込み済みライン数を示すラインカウンタである。WDMACラインカウンタC211〜WDMACラインカウンタK214は、CMYK版(色成分の画像)ごとにラインカウンタを持ち、メイン制御部201からのカウント制御C〜Kによってカウントアップされる。
次に、SATA I/F111部のRDMAC113のモジュール内部構成について説明する。図13は、RDMACのモジュール内部構成の一例を示す図である。RDMAC113は、メイン制御部301と、バスアービタI/F部302と、レジスタ部303と、RDMACラインカウンタC311と、RDMACラインカウンタM312と、RDMACラインカウンタY313と、RDMACラインカウンタK314とを備える。
メイン制御部301は、レジスタ情報に基づきSATA I/F111からデータを取得して、バスアービタI/F部302に対してデータの転送要求を行う。またメイン制御部301は、CMYK版(色成分の画像)の出力順序、ラインずれ量、副走査方向ライン数(副走査サイズ)に基づいて処理ラインデータの管理を行い、バスアービタI/F部302に対してライン開始アドレスを通知する。メイン制御部301は、バスアービタI/F部302からのライン転送完了通知と処理ラインデータ管理に基づいて、RDMACラインカウンタC311〜RDMACラインカウンタK314のカウント制御を行う。またメイン制御部301は、SATA I/F111及びバスアービタI/F部302との間はデータvalid、データready、データのハンドシェイクのI/Fでデータのやり取りを行ない、データ上流、下流双方からウェイトを掛けられる。なお、RDMAC113のメイン制御部301は請求項の「割り込み手段」、「ページ設定手段」の一態様である。
バスアービタI/F部302は、バスアービタのI/F仕様に基づいてバスアービタ133に対して画像データのリード要求を行う。バスアービタI/F部302は、メイン制御部301から通知されるライン開始アドレスに対して、1ライン分のデータ転送を行う。バスアービタI/F部302は、1ライン分のデータ転送完了後、ライン転送完了通知をメイン制御部301に対して行い、ライン転送完了通知を受けてメイン制御部301は、次ラインのライン開始アドレスをバスアービタI/F部302に通知する。
レジスタ部303は、RDMAC113の設定を行うためのレジスタである。レジスタとしては、各版(色成分の画像)のスタートアドレス(r_sa_*)、主走査データサイズ(x_size)、副走査データサイズ(y_size)、ドラム間ピッチに伴うラインずれ量(d_line)、版(色成分の画像)の出力順序(p_order)等がある。またレジスタ部303は、メイン制御部301からの割り込み要因に基づいて割り込み要求を通知(発生)させる。なお、RDMAC113のレジスタ部303は請求項の「割り込み手段」、「設定用保持手段」、「動作用保持手段」の一態様である。
RDMACラインカウンタC311〜RDMACラインカウンタK314は、RDMAC113のメモリ読み出しライン数を示すラインカウンタである。RDMACラインカウンタC311〜RDMACラインカウンタK314は、CMYK版(色成分の画像)ごとにラインカウンタを持ち、メイン制御部301からのカウント制御C〜Kによってカウントアップされる。
次に、画像形成装置1の処理動作について説明する。図14は、画像形成装置が異なるデータを連続して印刷する処理動作の一例を示すフローチャートである。画像形成装置1のSoC101は、外部I/F(USB、Gigabit Ethernet(登録商標)、SDカード等)から面順次フォーマットの1ページ分のデータを入力する(ステップS1)。次にSoC101の制御の下でASIC103は、入力した1ページ分のデータをメモリ上に展開する(ステップS2)。すなわち、主走査方向のラインデータを副走査方向に複数配列して形成される色成分ごとの画像を、出力順に配列した面順次方式の画像データを一時記憶手段に記憶させる。つまり、複数の色と1対1に対応し、かつ、それぞれが複数のラインデータで構成される複数の色画像を、出力順に配列した面順次方式の画像データを一時記憶手段に記憶させる。
次にASIC103は、SATA I/F111のRDMAC113で、メモリ上に展開された面順次フォーマットのデータを読み出して、ラインずれ量に相当するラインデータの数を示すライン数と、出力するCMYK版(色成分の画像)の出力順とに基づいて、面順次フォーマットのデータを線順次フォーマットに変換し、SATA I/F111のWDMAC112で、変換した線順次フォーマットのデータをHDD105に蓄積する(ステップS3)。すなわち、一時記憶手段に記憶された面順次方式の画像データを読み出して、線順次画像変換手段で、画像データに基づく画像を記録媒体に形成する画像形成に用いられ、かつ、複数の色と1対1に対応する複数の感光体ドラムの間隔を示すドラム間距離から求められるラインずれ量に相当するラインデータの数を示すライン数と、出力する色成分の出力順とに基づいて、面順次方式の画像データを、異なる色成分のラインデータを混在させて配列した線順次方式の1ページ分の画像データに変換し、線順次画像書き込み手段で、変換した線順次方式の画像データを読み出す順番に基づいて記憶手段の所定領域に書き込む。
次にASIC103は、印刷対象の全データをHDD105に蓄積したか否かを判断する(ステップS4)。全データを蓄積していない場合(ステップS4:No)、ステップS1に戻り処理を継続する。全データを蓄積した場合(ステップS4:Yes)、ASIC103は、SATA I/F111のRDMAC113で、1ページ目のデータをHDD105から読み出して、面順次フォーマットのデータに変換して、SATA I/F111のWDMAC112で、データをメモリ上に展開する(ステップS5)。すなわち、線順次画像読み出し手段で、記憶手段の所定領域に書き込まれた線順次方式の画像データを読み出して、面順次画像変換手段で、読み出した線順次方式の画像データを、面順次方式の画像データに変換して、面順次画像書き込み手段で、変換した面順次方式の画像データを、色成分ごとに1ラインデータずつ一時記憶手段の所定領域に書き込む。
次にASIC103は、ビデオ出力部121C〜121Kから印刷対象の全ページを出力(印刷)したか否かを判断する(ステップS6)。全ページを出力した場合(ステップS6:Yes)、処理を終了する。
全ページを出力していない場合(ステップS6:No)、ASIC103は、ビデオ出力部121C〜121KのRDMAC122C〜122Kで、メモリ上に展開した現ページのデータを読み出してビデオ出力部121C〜121Kから出力する(ステップS7)。すなわち、色成分に1対1に対応する複数の面順次画像読み出し手段で、一時記憶手段の所定領域に書き込まれた面順次方式の画像データを色成分ごとに1ラインデータずつ読み出して、印刷するための画像処理を行う画像処理手段(ASIC104)へ出力する。ステップS7の処理と連動動作させてASIC103は、現在出力しているデータが、同一原稿の最終ページであるか否かを判断する(ステップS8)。例えば、1ページ目A原稿、2ページ目B原稿、3ページ目C原稿を連続して出力する場合では、現在1ページ目A原稿のデータを出力していれば、次ページ目はB原稿であるので、同一原稿の最終ページと判断する(ステップS8:Yes)。また例えば、1ページ目A原稿、2ページ目A原稿、3ページ目B原稿を連続して出力する場合では、現在1ページ目A原稿のデータを出力していれば、次ページ目もA原稿であるので、同一原稿の最終ページではないと判断する(ステップS8:No)。この場合では、現在2ページ目A原稿のデータを出力していれば、3ページ目はB原稿であるので、同一原稿の最終ページと判断する(ステップS8:Yes)。なお、ステップS8の判断処理は、同一原稿の最終ページであれば、次ページの原稿準備を現ページのデータ出力と同時に実施する必要があるためである。
ステップS8で最終ページでない場合(ステップS8:No)、ASIC103は、ステップS6に戻り処理を継続する。最終ページである場合(ステップS8:Yes)、ASIC103は、SATA I/F111のRDMAC113で、次ページのデータをHDD105から読み出して、面順次フォーマットのデータに変換して、SATA I/F111のWDMAC112で、データをメモリ上に展開し(ステップS9)、ステップS6に戻り処理を継続する。ここで判定手段(メイン制御部201)は、面順次画像書き込み手段(WDMAC112)が、一時記憶手段(メモリ)の所定領域に書き込み中の画像データの色成分を判定し、制御手段(ウェイト制御部204)が、判定された色成分について、面順次画像書き込み手段(WDMAC112)が、一時記憶手段(メモリ)の所定領域に書き込んだラインデータの書き込みライン数と、面順次画像読み出し手段(RDMAC122C〜122K)が、一時記憶手段(メモリ)の所定領域から読み出したラインデータの読み出しライン数とを比較して、書き込みライン数が読み出しライン数を超えないように、面順次画像書き込み手段(WDMAC112)の書き込みを一時停止する制御を行う。
以上の処理を実行させることで、本実施形態の画像形成装置1は、1ページ分のデータを記憶させるメモリ領域だけで異なるデータを連続して印刷することができる、という有利な効果を達成できる。
以上、説明したように、本実施形態の画像形成装置1によれば、外部から入力された面順次フォーマットの画像データをメモリ領域に記憶し、面順次フォーマットの画像データを読み出して、ラインずれ量に相当するラインデータの数を示すライン数と、出力するCMYK版(色成分の画像)の出力順とに基づいて、面順次フォーマットの画像データを線順次フォーマットに変換し、変換した線順次フォーマットの画像データをHDD105に蓄積する。ドラム間ピッチによるラインずれ量と出力するCMYK版(色成分の画像)の出力順とを考慮した線順次フォーマットの画像データをHDD105に書き込むことで、連続したセクタ番号順に、読み出すラインデータを配列させることができる。そのため、1ページ分の画像データをHDD105から読み出す際にHDD105に対してシーケンシャルにヘッドがアクセスできるので、効率よくHDD105にアクセスすることが可能となる。
また、本実施形態の画像形成装置1によれば、1つの書き込み用WDMAC112と複数の読み出し用RDMAC122C〜122Kとを連動動作させるように制御するので、1ページ分のデータを記憶させるメモリ領域だけで異なるデータを連続して印刷することができる。
さらに、本実施形態の画像形成装置1によれば、1つの書き込み用WDMAC112と複数の読み出し用RDMAC122C〜122Kとを連動動作させ、HDD105へのアクセス用のDMACを印刷する版ごとに備える必要がないので回路規模が増大してしまう、という問題を解決できる。
以上、説明したように、本実施形態の画像形成装置1によれば、1ページ分のデータを記憶させるメモリ領域だけで、効率よくHDD105にアクセスして異なるデータを連続して印刷するバリアブル印刷を実現できる、という有利な効果を達成できる。
以上、本発明に係る実施形態について説明したが、本発明は、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
また、上述した各実施形態の画像形成装置1で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでフロッピー(登録商標)ディスク、CD(Compact Disk)、CD−R(Compact Disk−Recordable)、CD−ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disk)、SDメモリカード(SD memory card)、USBメモリ(Universal Serial Bus memory)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ROM等に予め組み込んで提供するように構成してもよい。