JP2020090075A - 画像形成装置および、画像形成方法 - Google Patents
画像形成装置および、画像形成方法 Download PDFInfo
- Publication number
- JP2020090075A JP2020090075A JP2018230317A JP2018230317A JP2020090075A JP 2020090075 A JP2020090075 A JP 2020090075A JP 2018230317 A JP2018230317 A JP 2018230317A JP 2018230317 A JP2018230317 A JP 2018230317A JP 2020090075 A JP2020090075 A JP 2020090075A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing unit
- image
- decoding
- processing
- 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.)
- Pending
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Storing Facsimile Image Data (AREA)
Abstract
【課題】 本発明は、ページ記述言語から生成した中間データをもとに、ラスタ画像を生成する画像形成装置において、回路規模を増大させることなく、デコードデータ処理の負荷を軽減させることを目的とする。【解決手段】 本発明は、画素単位に展開されたデータをメモリに格納する第1の処理部と、連続する同一画素値から構成されるリージョン単位のデータを、画素単位のデータに展開して前記メモリに格納する第2の処理部と、前記中間データに含まれるイメージデータをデコードして得られるデコードデータを、第1の処理部もしくは第2の処理部に転送するデコード処理部と、を有し、前記デコード処理部は、前記中間データに含まれるデータ形式に応じて、前記デコードデータを、前記第1の処理部と前記第2の処理部とのいずれに転送するかを選択することを特徴とする。【選択図】 図2
Description
本発明は、ページ記述言語で記述されたデータを変換した中間データから、ラスタ画像を生成する画像形成装置に関する。
PDL(ページ記述言語)では画像を描画オブジェクトの集合として表現しており、描画オブジェクトは輪郭を成す境界と色によって表現される。PDLを印刷装置によって印刷するために、PDLを中間データに変換した後に、中間データをラスタ画像に変換する技術が普及している。中間データは、ある領域の色を示すグラフィックデータや圧縮・非圧縮のイメージデータなどの描画オブジェクトと、イメージデータのデコード命令や、オブジェクトの座標や重なり、透過率を考慮してラスタ画像を生成するための合成命令などの描画命令とを含む。デコード命令に従ってデコード処理したイメージデータと、グラフィックデータの色データとを、合成命令に従って合成処理することでラスタ画像が生成される。この中間データからラスタ画像を生成するレンダリング処理を高速に行うためには、デコード処理と合成処理を並列に処理するアーキテクチャが用いられる。例えば、ラスタ画像上の複数ラインをまとめたバンド単位に合成処理をする画像形成装置において、当該バンドに含まれるイメージデータを先行的にデコード処理して、デコードデータを中間バッファに格納する。また、中間バッファに格納されたデコードデータを用いて当該バンドの合成処理を行うのと並列に、次のバンドに含まれるイメージデータをデコード処理して、デコードデータをもう一つの中間バッファに格納する。そうすることで、次のバンドの合成処理はデコード処理を待たずに開始でき、デコード処理時間が隠ぺいされるため、高速に動作することができる。
近年、プリンタの高速化、低コスト(省メモリ)化はますます進んでおり、そのためには並列処理以外にもさまざまな手法が用いられている。例えば、重ねあわせるグラフィックデータやイメージデータ、およびその合成命令が同一である画素ライン上の連続領域(リージョン)に対しては、それらを一括で合成することで処理量を削減でき、合成処理の高速化が実現される。グラフィックデータはある境界内の色を示しているため、その境界内に含まれる連続画素をひとつのリージョンとして扱うことができる。また、中間バッファに格納されたイメージのデコードデータは、中間データの描画命令に含まれるアフィン変換パラメータをもとに回転や拡大処理をして読み出される。この拡大処理がニアレストネイバー方式で行われる場合、拡大率によって同一の色データが複数画素続くため、この連続画素もひとつのリージョンとして扱うことができる。これらリージョン単位に一括で合成処理を行い、合成結果を画素単位のデータに展開することで、ラスタ画像を効率よく生成することができる。
また、PDLが複雑な形状の描画オブジェクトや、非常に多くの描画オブジェクトを含む場合、中間データも多数の境界データやイメージデータを含み、データ量やデコードに必要になる中間バッファのメモリ量が増大する。そこで、描画オブジェクトの一部または全てをソフト処理によりラスタ画像に変換した中間データを生成して、データ量やデコードに必要な中間バッファのメモリ量を削減することがある。
そこで、ページ全面がイメージ化されたデータを、出力経路を切り替えて高速転送する提案がなされている。特許文献1では、圧縮データと非圧縮のデータが混在している場合に、当該イメージの圧縮/非圧縮の情報により、伸長処理をしてから出力メモリに書き出す経路と、直接出力メモリに書き出す経路を切り替えている。
しかしながら、特許文献1によれば、非圧縮データを直接出力バッファに出力することで冗長な処理を省いて高速化を図っているが、イメージデータを非圧縮化することは必要なメモリ量が増加し、コスト増加を招いてしまうため好ましくない。また、ページ全面がラスタ画像化されたデータは、出力解像度のイメージデータであるため処理するデータ量が多く、デコード処理の負荷増加によりレンダリングシステム全体の性能劣化を招くという問題がある。
本発明は上記課題を鑑み、ページ記述言語から生成した中間データをもとに、ラスタ画像を生成する画像形成装置において、回路規模を増大させることなく、デコードデータ処理の負荷を軽減させることを目的とする。
本発明は、ページ記述言語から生成した中間データをもとに、ラスタ画像を生成する画像形成装置であって、画素単位に展開されたデータをメモリに格納する第1の処理部と、連続する同一画素値から構成されるリージョン単位のデータを、画素単位のデータに展開して前記メモリに格納する第2の処理部と、前記中間データに含まれるイメージデータをデコードして得られるデコードデータを、第1の処理部もしくは第2の処理部に転送するデコード処理部と、前記デコードデータと、前記中間データに含まれるグラフィックデータとを、前記中間データに含まれる描画命令に従って前記リージョン単位に合成処理をして得られる合成結果を第2の処理部に転送する合成処理部と、を有し、前記デコード処理部は、前記中間データに含まれるデータ形式に応じて、前記デコードデータを、前記第1の処理部と前記第2の処理部とのいずれに転送するかを選択することを特徴とする。
本発明によれば、ページ記述言語から生成した中間データをもとに、ラスタ画像を生成する画像形成装置において、回路規模を増大させることなく、デコードデータ処理の負荷を軽減させることが出来る。
(第1実施形態)
図1は、本発明における画像形成装置のシステム構成図である。画像形成装置100は、CPU101、DRAM102、画像入力部103、画像形成部104、画像処理部105、印字処理部106が、バス107を介して接続されている。CPU101は不図示のROMに格納された制御プログラムを読み出し実行することにより、演算処理や画像形成装置100各部の動作を統括的に制御する。DRAM102は、読み出し及び書き込み可能なメモリであり、画像データなどの各種データを一時的に格納するための記憶媒体である。画像入力部103は、不図示のホストPCやサーバーから転送されるPDL(ページ記述言語)やPDLを解釈して描画オブジェクトや描画命令の集合に変換した中間データを受信し、DRAM102に格納する。画像入力部103がPDLを受信した場合は、CPU101あるいは不図示のハードウェアによって中間データに変換し、DRAM102に格納する。画像形成部104は、DRAM102から中間データの描画オブジェクトや描画命令を読み出し、その命令に従ってラスタ画像を生成する。画像処理部105は、画像形成部104が生成したラスタ画像に対して所定の画像処理を施し、印字データを生成する。印字処理部106は、インクジェットやレーザービーム方式のプリンタエンジンであり、画像処理部105が生成した印字データに従って、印字処理を実行する。
図1は、本発明における画像形成装置のシステム構成図である。画像形成装置100は、CPU101、DRAM102、画像入力部103、画像形成部104、画像処理部105、印字処理部106が、バス107を介して接続されている。CPU101は不図示のROMに格納された制御プログラムを読み出し実行することにより、演算処理や画像形成装置100各部の動作を統括的に制御する。DRAM102は、読み出し及び書き込み可能なメモリであり、画像データなどの各種データを一時的に格納するための記憶媒体である。画像入力部103は、不図示のホストPCやサーバーから転送されるPDL(ページ記述言語)やPDLを解釈して描画オブジェクトや描画命令の集合に変換した中間データを受信し、DRAM102に格納する。画像入力部103がPDLを受信した場合は、CPU101あるいは不図示のハードウェアによって中間データに変換し、DRAM102に格納する。画像形成部104は、DRAM102から中間データの描画オブジェクトや描画命令を読み出し、その命令に従ってラスタ画像を生成する。画像処理部105は、画像形成部104が生成したラスタ画像に対して所定の画像処理を施し、印字データを生成する。印字処理部106は、インクジェットやレーザービーム方式のプリンタエンジンであり、画像処理部105が生成した印字データに従って、印字処理を実行する。
図2は、本実施形態における画像形成部104の構成を示すブロック図である。画像形成部104は、動作制御部200、合成処理部201、デコード処理部202、リージョン展開処理部203、データ送受信部204およびDMAC205から成る。以下、それぞれの処理の基本的な動作を説明する。
データ送受信部204は、キャッシュ209を持ち、バースト転送によりバス107を介したDRAM102へのデータの読み出し/書き込みを行う。DRAM102への書き込みは、画素単位(ワード単位)に入力されたデータをもとに行う。
DMAC205は、書き込み先のアドレス情報と転送量情報を含む不図示のディスクリプタに従って、入力されたデータをバースト転送によりバス107を介したDRAM102へ書き込む。
動作制御部200は、中間データに含まれる制御情報を読み出し、該制御情報に従って合成処理部201とデコード処理部202の動作を制御する。制御情報は、合成処理部201とデコード処理部202を効率よく並列動作するための情報を含む。例えば、動作の連携単位をバンドとすると、効率よく並列動作するためには、バンドの合成処理に必要なイメージデータを先行的にデコード処理して、デコードデータを中間バッファに用意しておく必要がある。そのため動作制御部200は、制御情報に従って、処理バンドの合成処理に必要なイメージデータのデコード処理を開始するようデコード処理部202に通知する。デコード処理部202は、通知を受けたのちデコード処理を開始し、処理完了後、動作制御部200に完了通知をする。動作制御部200は、デコード処理部202のデコード完了通知を受けて、処理バンドの合成処理を開始するように合成処理部201に通知する。それと同時に、次の処理バンドの合成処理に必要なイメージデータのデコード処理を開始するようデコード処理部202に通知する。そうすることで、合成処理部201とデコード処理部202の並列動作を効率的に制御することができる。ただし、動作制御部200の代わりに、合成処理部201とデコード処理部202の少なくともどちらか一方が、中間データの制御情報をもとに連携する仕組みによっても実現できる。
デコード処理部202は、デコード手段206と出力経路切替手段207、リージョン生成手段208を有する。中間データに含まれるイメージデータおよびデコード命令を読み出し、デコード手段206によりデコード処理したデコードデータをDRAM102の中間バッファに書き出す。デコード前の圧縮データは、例えば64×64画素のタイル領域に対して、特定の圧縮形式で圧縮されたデータを扱うものとする。その場合、動作の連携単位であるバンドは、連続する複数タイルで構成されている。もちろん、圧縮データは64×64画素のタイル単位に限られるものではない。中間データに含まれるデータ形式に応じて出力先を切り替える出力経路切替手段207と、デコードデータを同一画素値が連続するリージョン単位にまとめたリージョンデータを生成するリージョン生成手段208については、後述する。デコードするイメージデータの数や、圧縮データとデコードデータのデータ量などはページに含まれる描画オブジェクトによって異なるため、DRAM102へのランダムアクセスが発生する。そのため、キャッシュ機構などを有したデータ送受信部204経由でデータの読み書きを行うことが効率的である。
合成処理部201は、中間データのグラフィックデータや描画命令、中間バッファのデコードデータを読み出し、描画命令に含まれる座標や重なり、透過率に応じた合成処理を同一の描画オブジェクトおよび描画命令から成る連続画素領域のリージョン単位に行う。
リージョン展開処理部203は、リージョン単位に合成処理された合成結果を画素単位のデータに展開する。すなわち、リージョン展開処理部203とDMAC205は、連続する同一画素値をまとめたリージョン単位のデータを受け取り、画素単位のデータに展開してからDRAM102へ格納する。
本実施形態においては、動作制御部200、合成処理部201はデータ送受信部204を経由してDRAM102にアクセスする構成としているが、それぞれが直接、DRAM102にアクセスする構成でもよい。また、ラスタ画像専用のDMAC205と、ランダムアクセスが可能なデータ送受信部204とを用意することで、効率的なデータ転送が可能になる。また、本実施形態の好適な構成として、デコード処理部202をソフトウェア処理するものとして説明するが、画像形成部104におけるそれぞれの処理はハードウェアとソフトウェアのどちらで構成されてもよい。デコード処理部202をソフトウェア処理にすることで、様々な圧縮方式のデコードに対応できる。また、将来的な圧縮方式の拡張に対しても回路を追加することなく対応できる。
一方、このような画像形成装置においては、描画オブジェクトの一部またはすべてを予めソフト処理によりラスタ画像に変換した中間データを生成することがある。ソフト処理は、CPU101や不図示のホストPCによって行われる。ソフト処理によって予めラスタ画像を含む中間データにする目的は、使用するメモリ量の削減やハードウェアの回路削減がある。例えば、PDLが複雑な形状の描画オブジェクトや、非常に多くの描画オブジェクトを含む場合、中間データも多数の境界データやイメージデータを含み、データ量やデコードに必要になる中間バッファのバッファ量が増大する。そのため、予めラスタ画像に変換して圧縮することで、中間データのデータ量やデコードに必要になる中間バッファのバッファ量などを抑制できる。あるいは、PDLに含まれる描画命令の種類は多数に及ぶため、それらのレンダリング処理の全てをハードウェアで対応すると、回路規模が増大してしまう。そのため、例えば出現頻度の低い描画命令をハードウェアがサポートせずに、ソフト処理によりラスタ画像化することで、回路を削減しつつ、あらゆるPDLの描画を保証することができる。中でも、処理の連携単位であるバンドや、ページ単位に全面ラスタ画像化することを、フルフラットニングと呼ぶことにする。以下、ページ単位の中間データにフルフラットニングされたバンドを含む場合における、画像形成部104を構成するそれぞれの処理を説明する。
データ送受信部204およびDMAC205は、入力されたデータに対して行う処理が前述した基本的な動作と変わらないため、説明は省略する。
動作制御部200は、中間データに含まれる制御情報を読み出し、該制御情報に従ってデコード処理部202のみを動作させる。あるいは、中間データに含まれる、処理バンドがフルフラットニングされているか否かの情報を読み出し、それに応じて処理を切り替えてもよい。フルフラットニングされている場合は、既にオブジェクトの回転や拡大を含む合成処理を終えているため、合成処理部201の処理を省略でき、デコード処理部202のデコード結果を直接出力バッファに書き出すことで処理の短縮を図ることができる。すなわち、合成処理部201は処理を行わず、リージョン展開処理部203およびDMAC205に対するデータ入力も行わない。このような特徴を鑑み、デコード処理部202は図3のようなフローで、処理および出力経路を切り替える。
まず、ページレンダリング開始後、動作制御部200からのデコード処理開始の通知を受信する(STEP300)。さらに、動作制御部200から当該バンドのデータ形式が、フルフラットニングされたデータであるか否かの情報を受信する(STEP301)。STEP300とSTEP301は、動作制御部200から通知および情報を受信してもよいし、デコード処理部202が中間データの制御情報を読み込んで、自らを制御してもよい。続いて、受信した情報からフルフラットニングされたデータではないと判断された場合、STEP309へ進み(STEP302)、処理タイルのデコード命令を受信する(STEP309)。処理タイルのデコード命令は、少なくとも当該タイルの圧縮方式や、中間バッファへの書き込みアドレスか、それがわかるタイル位置情報などを含む。続いて、圧縮データを受信して、前記デコード命令に従い、受信した圧縮データをデコード処理する(STEP310)。そして、デコードした結果を画素単位(ワード単位)にデータ送受信部204へコマンド転送する(STEP311)。コマンドは、書き込みアドレスか、それがわかるタイル位置情報と、画素値のデータとを含む。STEP309〜311までをタイルの圧縮データすべてに対して行った後(STEP312)、バンド内に未処理のタイルがないかを判定し(STEP313)、バンド内のすべてのタイルのデコード処理が完了した場合は、STEP314へ進む。一方、STEP302において、フルフラットニングされたデータであると判断された場合、STEP303へ進み、デコード命令を受信する(STEP303)。このとき、デコード命令は、少なくとも当該タイルの圧縮方式を含む。中間データ内の圧縮データの順番が、DMAC205の転送順と予め整合がとられていれば、出力バッファへの書き込みアドレスか、それがわかるタイル位置情報などは省くことができる。続いて、圧縮データを受信して、前記デコード命令に従い、受信した圧縮データをデコード処理する(STEP304)。デコード処理後、あるいはデコード処理の途中で、出力の画素値が同一である画素ライン上の連続領域を判定し、当該領域をひとつのリージョンとして、リージョン単位のデータを生成する(STEP305)。生成したリージョンデータを、リージョン展開処理部203へコマンド転送する(STEP306)。コマンドは、リージョンの開始画素位置と終了画素位置を示す情報と、そのリージョン内の画素値のデータを含む。STEP303〜306までをタイルの圧縮データすべてに対して行った後(STEP307)、バンド内に未処理のタイルがないかを判定し(STEP308)、バンド内のすべてのタイルのデコード処理が完了した場合は、STEP314へ進む。STEP314では、バンドのデコード処理完了を動作制御部200へ通知し(STEP314)、ページ内の全バンドの処理が完了したかどうかを判定する(STEP315)。ページ内の全バンドの処理が完了していない場合は、STEP300に戻り次のバンドの処理に移り、ページ内の全バンドの処理が完了した場合は、ページレンダリング完了として処理を終える。デコード処理部202の出力経路切替手段207は、STEP302の判定によって、STEP306でリージョン展開処理部203へ転送するか、STEP311でデータ送受信部204へ転送するかを切り替える。リージョン生成手段208は、STEP305の処理を示す。また、本フローチャートでは、バンド単位に処理を切り替えるフローを説明したが、もちろんページ単位に処理を切り替えてもよい。
図4は、デコード処理部202がデータ送受信部204に対して生成するコマンドの例である。コマンドは、2ビットのidと30ビットのaddress、各8ビットのcolor0〜3のフィールドで構成される。idは、例えばデータ送受信部204が書き込みリクエストなのか読み出しリクエストなのかを識別する情報であり、addressはデータ送受信部204がDRAM102に書き込む中間バッファの書き込みアドレスを示す。color0〜3のそれぞれは、RGBやCMYK、属性データなど、1画素分の画素データを示している。もちろん、コマンドを構成するフィールドの要素数やビット幅はこれに限られるものではない。
図5は、デコード処理部202がリージョン展開処理部203に対して生成するコマンドの例である。コマンドは、4ビットのidと各6ビットのstartX、endX、Y、各8ビットのcolor0〜3のフィールドで構成される。idは、例えば当該コマンドの種類を示す情報である。startX、endXは、それぞれ64×64画素で構成されるタイル内の水平方向の画素位置で、リージョンの開始位置と終了位置を示す。リージョン開始位置と終了位置で挟まれる領域は、当該コマンドのcolor0〜3が示す画素データから成ることを示す。なお、本実施形態においては、リージョンを「ライン上の連続領域」と定義しており、同一画素値の画素がタイルラインを跨った場合は別リージョンとして扱うが、同一画素値の画素がタイルラインを跨った場合でも一つのリージョンとして扱う仕様も考えられる。その場合は、図5で示されるreserved領域にタイル内の垂直方向のリージョン終了位置を示すフィールド(Y)を設けてもよい。Yで示す垂直方向の画素位置と、endXが示す水平方向の画素位置を用いて、同一画素値の画素がタイルラインを跨った場合でも一つのリージョンとして扱うことができる。
続いて、本実施形態における、圧縮データの圧縮方式に応じたリージョンデータの生成方法について、詳細に説明する。デコードデータのリージョンデータ生成方法は、圧縮データをデコードする際に得られる中間コードなどを踏まえて生成することで、処理の効率化が実現できる。例えば、グラフィックなどのように、色数が少なかったり、コントラストの大きい画像には、エッジと呼ばれる色の変化を表す境界の位置座標と、そのエッジ間の色情報とを結びつて圧縮する可逆圧縮方式などが用いられる。このようなエッジ情報を圧縮した圧縮方式の場合は、デコード途中の中間コードとして色の開始位置と終了位置から成るリージョンデータが得られる。そのため、中間コードから、画素単位のデータに展開することなく、リージョン単位のコマンドを生成することができ、デコード処理の短縮もできる。一方、自然画などのように、色数の多い画像に対して行うJPEGなどの非可逆圧縮方式の場合は、デコードした結果をタイル単位のラスタ順に並べて、画素値が一致する場合はそれを連続領域としてカウントする。異なる画素値であった場合は、これまでカウントした数値をもとに図5に示すリージョン単位のコマンド生成し、リージョン展開処理部203へ転送する。これをタイルの最終画素まで行い、最終画素ではカウントした値をもとにリージョン単位のコマンドを生成し、リージョン展開処理部203へ転送する。
フルフラットニングしたデータは、境界内の色を示すグラフィックデータや、拡大処理後のイメージデータを含む。そのため、フルフラットニングした中間データに含まれるイメージデータは、拡大前かつ自然画に近い画像が多く含まれるフルフラットニングしていない中間データのイメージデータに比べて、同一画素値が並ぶリージョンが多く含まれる。そこで、上述のようにデコード処理部202がリージョンデータを生成することで、デコード処理部202がデコード結果を転送するために発行するコマンド数を大幅に削減し、デコード処理の高速化を実現できる。前述したとおり、フルフラットニングした中間データのレンダリング処理は、デコード処理部202のデコード結果を出力バッファに書き出すことで完了する。そのため、デコード処理部202の処理速度が、レンダリングシステムの処理速度に大きく影響しており、デコード処理の高速化はレンダリングシステムの高速化に繋がる。
以上説明したように、本実施形態によれば、フルフラットニングした中間データか否かによって、デコード処理部202の処理及び出力経路を切り替えることで、フルフラットニング時におけるレンダリングシステムの高速化を実現できる。
(第2実施形態)
以下、本発明に係る第2実施形態について説明する。上述した第1実施形態では、フルフラットニングされているか否かを判定し、それによってデコード処理部202の処理および出力経路を切り替える例を説明した。しかしながら、処理タイルにおいて、同一の画素値が連続する領域が非常に少ない場合は、リージョンデータを生成する負荷が増える一方、発行するコマンド数の削減が効かず、処理速度の低下を招いてしまう可能性がある。このような問題に対して、フルフラットニングされた中間データをレンダリング処理するにあたって、中間データに含まれるイメージデータのデータ形式に応じてデコード処理部202の処理および出力経路を切り替える構成でもよい。中間データに含まれるイメージデータのデータ形式とは、例えば可逆圧縮方式や非可逆圧縮方式といった圧縮方式を示す。以下、本実施形態における処理の流れを説明する。
以下、本発明に係る第2実施形態について説明する。上述した第1実施形態では、フルフラットニングされているか否かを判定し、それによってデコード処理部202の処理および出力経路を切り替える例を説明した。しかしながら、処理タイルにおいて、同一の画素値が連続する領域が非常に少ない場合は、リージョンデータを生成する負荷が増える一方、発行するコマンド数の削減が効かず、処理速度の低下を招いてしまう可能性がある。このような問題に対して、フルフラットニングされた中間データをレンダリング処理するにあたって、中間データに含まれるイメージデータのデータ形式に応じてデコード処理部202の処理および出力経路を切り替える構成でもよい。中間データに含まれるイメージデータのデータ形式とは、例えば可逆圧縮方式や非可逆圧縮方式といった圧縮方式を示す。以下、本実施形態における処理の流れを説明する。
図6は、本実施形態におけるデコード処理部202の処理の流れを示すフローチャートである。画像形成部104におけるデコード処理部202以外の処理に関しては、第1実施形態で説明した処理と同様であるため、説明を省略する。
まず、ページレンダリング開始後、動作制御部200からのデコード処理開始の通知と、当該バンドのデータ形式の情報を受信し、フルフラットニングされたデータであるか否かの判定を行う。STEP600〜STEP602の処理は、STEP300〜STEP302の処理と同様である。続いて、受信した情報がフルフラットニングデータでなかった場合、STEP608へ進み、処理タイルのデコード命令を受信して、画素単位(ワード単位)のコマンド転送を行うデコード処理を実施する。このSTEP608〜STEP610の処理も、STEP309〜STEP313の処理と同様である。一方、STEP602において、フルフラットニングデータであった場合、STEP603へ進み、デコード命令を受信する(STEP603)。このとき、処理タイルのデコード命令は、少なくとも当該タイルのデータ形式である圧縮方式や、出力バッファへの書き込みアドレスか、それがわかるタイル位置情報などを含む。さらに、その圧縮データが可逆圧縮データであるか、あるいは非可逆圧縮データであるかの判定を行う(STEP604)。可逆圧縮データではなかった場合、STEP605へ進み、画素単位(ワード単位)のコマンド転送を行うデコード処理を実施する(STEP605)。STEP605の処理は、説明の都合上、図7(a)に示しているが、図7(a)のSTEP700〜STEP702の処理は、図3におけるSTEP310〜STEP313の処理と同様である。一方、可逆圧縮データであった場合、STEP606へ進み、リージョン単位のコマンド転送を行うデコード処理を実施する(STEP606)。STEP606の処理も、同様に図7(b)に示しているが、図7(b)のSTEP703〜STEP706の処理は、図3におけるSTEP304〜STEP307の処理と同様である。なお、DMAC205は、第1実施形態と同様に不図示のディスクリプタに従って動作してもよいし、コマンドに含まれる書き込みアドレスの情報を受け取って、動作してもよい。タイルのデコード処理が完了すると、バンドのデコード処理が完了したかどうかを判定し、完了していない場合はSTEP603に戻って次のタイルの圧縮形式に従ってデコード処理を行う(STEP607)。バンドのデコード処理が完了した場合は、動作制御部へバンドのデコード処理完了を通知し、ページ内の全バンドの処理が完了したかどうかを判定する(STEP612)。ページ内の全バンドの処理が完了していない場合は、STEP600に戻り次のバンドの処理に移り、ページ内の全バンドの処理が完了した場合は、ページレンダリング完了として処理を終える。
フラットニングされたデータの中でも、グラフィックデータなどのようにリージョンが大きいデータは可逆圧縮方式が選択されやすい。また、自然画のように、同一画素値が連続しにくく、リージョンが小さいデータは非可逆圧縮方式が選択されやすい。そのため、リージョンが大きい可逆圧縮方式の場合はリージョンデータを生成して高速化を図り、リージョンが小さい非可逆圧縮方式の場合はリージョンデータを生成せずに画素毎にコマンド転送する。そうすることで、データに応じた最適な処理および出力経路を選択でき、デコード処理の高速化が実現できる。
以上説明したように、本実施形態によれば、処理タイルのイメージデータが可逆圧縮か非可逆圧縮かによって、デコード処理部202の処理及び出力経路を切り替えることで、レンダリングシステムの高速化を実現できる。
(第3実施形態)
以下、本発明に係る第3実施形態について説明する。上述した第2実施形態では、処理タイルのイメージデータが可逆圧縮か非可逆圧縮かによって、デコード処理部202の処理および出力経路を切り替える例を説明した。以下では、可逆圧縮領域と非可逆圧縮領域が混載するハイブリッド圧縮のデータ形式を含む中間データをレンダリング処理する場合における、デコード処理部202の処理の流れを説明する。
以下、本発明に係る第3実施形態について説明する。上述した第2実施形態では、処理タイルのイメージデータが可逆圧縮か非可逆圧縮かによって、デコード処理部202の処理および出力経路を切り替える例を説明した。以下では、可逆圧縮領域と非可逆圧縮領域が混載するハイブリッド圧縮のデータ形式を含む中間データをレンダリング処理する場合における、デコード処理部202の処理の流れを説明する。
図8は、タイルのハイブリッド圧縮方式における、可逆圧縮画素と非可逆圧縮画素が占める領域を模した図である。図の簡略化のため、16×16画素の小さなタイルを示している。ハッチがかかった正方形は非可逆圧縮方式で圧縮される領域で、ハッチのない正方形が可逆圧縮方式で圧縮される領域である。ハイブリッド圧縮方式のイメージデータは、それぞれ別々にデコードされたのち、領域がどちらの圧縮方式で圧縮されているかの情報をもとに、デコードデータを選択して出力される。
本実施形態においては、この可逆圧縮領域が占める割合によってデコード処理部202の処理および出力経路を切り替える。図9は、本実施形態におけるデコード処理部202の処理の流れを示すフローチャートである。画像形成部104におけるデコード処理部202以外の処理に関しては、第1実施形態で説明した処理と同様であるため、説明を省略する。
また、デコード処理部202に関しても、バンド単位のデータ形式がフルフラットニングされたデータではなかった場合は、第2実施形態で示すフローと同様である。同様に、フルフラットニングされたデータであった場合においても、処理タイルが可逆圧縮データあるいは非可逆圧縮データであった場合は、第2実施形態で示すフローと同様である。一方、STEP903で受信したデコード命令から、処理タイルのイメージデータのデータ形式がハイブリッド圧縮方式であると判定された場合は、STEP908に進む。STEP908では、可逆圧縮領域と非可逆圧縮領域がそれぞれ占める画素領域を比較する。可逆圧縮領域が非可逆圧縮領域よりも大きい場合は、リージョン単位のコマンド転送を行うデコード処理を実施する(STEP909)。逆に、非可逆圧縮領域が可逆圧縮領域よりも大きい場合は、画素単位(ワード単位)のコマンド転送を行うデコード処理を実施する(STEP910)。ハイブリッド圧縮方式において、可逆圧縮領域が非可逆圧縮領域よりも多いかどうかの判定は、ハイブリッドで圧縮するときに判定され、中間データに処理を切り替える情報として格納されていることが望ましい。
こうすることで、ハイブリット圧縮方式であっても、可逆圧縮領域が多くを占める場合はリージョン生成処理を行って高速化を図り、非可逆圧縮領域が多くを占める場合はリージョンを生成するための処理を省き、高速化することができる。しかしながら、ハイブリッド圧縮領域は必ず画素単位(ワード単位)のコマンド転送を行うデコード処理を実施してもよいし、リージョン単位のコマンド転送を行うデコード処理を行ってもよい。また、予め閾値を設けて、タイル内に含まれる可逆圧縮領域が該閾値を超えるか否かでデコード処理部202の処理および出力経路を切り替えてもよい。こうすることで、中間データに含まれるデータ形式に合わせた最適な処理を選択することができる。
また、本実施形態においては、タイル単位にデコード処理部202の処理および出力経路を切り替える例を説明したが、ハイブリッド圧縮データのタイルライン単位に、デコード処理部202の処理および出力経路を切り替えてもよい。図10は、ハイブリッド圧縮データのタイルに対して、処理1か、処理2か、をライン単位に示した図である。ここで、処理1は、各ラインの非可逆圧縮画素の占める画素数によって、画素単位(ワード単位)のコマンド転送を行うデコード処理である。また、処理2は、リージョン単位のコマンド転送を行うデコード処理である。このように、予め閾値を設けて、タイルラインに含まれる可逆圧縮の画素数が該閾値を超えるか否かでデコード処理部202の処理および出力経路を切り替えてもよい。
以上説明したように、本実施形態によれば、処理タイルのイメージデータがハイブリッド圧縮方式であっても、デコード処理部202の処理及び出力経路を最適に切り替えて、レンダリングシステムの高速化を実現できる。
(第4実施形態)
以下、本発明に係る第4実施形態について説明する。上述した第1実施形態では、フルフラットニングされているか否かを判定し、それによってデコード処理部202の処理および出力経路を切り替える例を説明した。当該フルフラットニングにより、ページ単位に全面ラスタ画像化された画素データは、モノクロ画像であれば1画素8ビット、RGB画像であれば1画素24ビット、CMYK画像であれば1画素32ビットで構成される。
以下、本発明に係る第4実施形態について説明する。上述した第1実施形態では、フルフラットニングされているか否かを判定し、それによってデコード処理部202の処理および出力経路を切り替える例を説明した。当該フルフラットニングにより、ページ単位に全面ラスタ画像化された画素データは、モノクロ画像であれば1画素8ビット、RGB画像であれば1画素24ビット、CMYK画像であれば1画素32ビットで構成される。
さて、一般的な画像形成装置において、画像処理部105は、画像形成部104が生成したラスタ画像に対して所定の画像処理を施す際に、各画素の属性データを参照し、該属性に適した画像処理を行う事で、印字データの高画質化を実現している。図11は、各画素に付与される属性データを示しており、本実施形態においては、背景、イメージ、グラフィック、テキストの4種類で、即ち1画素2ビットで構成される。
フルフラットニングにより、ページ単位に全面ラスタ画像化された画素データが、画像データと属性データを持つ場合、画像データと属性データは別プレーンとなり、1画素あたりのビット深度が異なる2ページのデータとして、DRAM102に展開される。図12は、フルフラットニングデータが、画像データと属性データを持つ場合に、それぞれ別プレーンとしてDRAMに展開されている状態を示す概念図である。画像データがRGB画像であれば、1コンポーネントあたり8ビットで、1画素24ビットで構成される。一方、属性データは、図11で示した通り、1画素2ビットで構成される。
図13は、属性データが1画素2ビットの場合に、デコード処理部202がデータ送受信部204に対して生成するコマンドの例である。コマンドは、2ビットのidと30ビットのaddress、各2ビットのattribute(図中ではattrに短縮表記)0〜15のフィールドで構成される。idは、例えばデータ送受信部204が書き込みリクエストなのか読み出しリクエストなのかを識別する情報であり、addressはデータ送受信部204がDRAM102に書き込む中間バッファの書き込みアドレスを示す。attribute0〜15のそれぞれは、各画素の属性データを示しており、即ち当該1コマンドで、16画素分の属性データを送信することができる。もちろん、コマンドを構成するフィールドの要素数やビット幅はこれに限られるものではない。
図14は、デコード処理部202がリージョン展開処理部203に対して生成するコマンドの例である。コマンドは、4ビットのidと各6ビットのstartX、endX、Y、2ビットのattribute(図中ではattrに短縮表記)のフィールドで構成される。idは、例えば当該コマンドの種類を示す情報である。startX、endXは、それぞれ64×64画素で構成されるタイル内の水平方向の画素位置で、リージョンの開始位置と終了位置を示す。リージョン開始位置と終了位置で挟まれる領域は、当該コマンドのattributeが示す属性データから成ることを示す。なお、本実施形態においては、リージョンを「ライン上の連続領域」と定義しており、同一画素値の画素がタイルラインを跨った場合は別リージョンとして扱うが、同一画素値の画素がタイルラインを跨った場合でも一つのリージョンとして扱う仕様も考えられる。その場合は、図14で示されるreserved領域にタイル内の垂直方向のリージョン終了位置を示すフィールド(Y)を設けてもよい。Yで示す垂直方向の画素位置と、endXが示す水平方向の画素位置を用いて、同一画素値の画素がタイルラインを跨った場合でも一つのリージョンとして扱うことができる。
上記の通り、画像データと比較して、属性データのデータサイズは著しく小さいため、画素単位のコマンド転送でも、1コマンドで16画素を送信する事ができ、十分に高速と言える。これに対し、リージョン単位のコマンド転送では、16画素以上のリージョンでない限り、コマンド数の削減にはならず、リージョンデータを生成する負荷も増え、処理速度の低下を招いてしまう可能性がある。このような問題に対して、フルフラットニングされた中間データをレンダリング処理するにあたって、画像データであるか属性データであるかに応じて、デコード処理部202の処理および出力経路を切り替える構成でもよい。以下、本実施形態における処理の流れを説明する。
図15は、本実施形態におけるデコード処理部202の処理の流れを示すフローチャートである。画像形成部104におけるデコード処理部202以外の処理に関しては、第1実施形態で説明した処理と同様であるため、説明を省略する。
まず、ページレンダリング開始後、動作制御部200からのデコード処理開始の通知と、当該バンドのデータ形式の情報を受信し、フルフラットニングされたデータであるか否かの判定を行う。STEP1500〜STEP1502の処理は、STEP300〜STEP302の処理と同様である。続いて、受信した情報がフルフラットニングデータでなかった場合、STEP1510へ進み、処理タイルのデコード命令を受信して、画素単位のコマンド転送を行うデコード処理を実施する。このSTEP1510〜STEP1512の処理も、STEP309〜STEP313の処理と同様である。一方、STEP1502において、フルフラットニングデータであった場合、STEP1503に進み、処理しようとしている全面ラスタ画像のデータ種別が、画像データプレーンであるか属性データプレーンであるか、判定を行う。
この判定に特別な情報は不要であり、例えば属性付きのフルフラットニングデータを処理する場合は、1ページ目が画像データで、2ページ目が属性データといったように、仕様を定義しておけばよい。あるいは、奇数バンド目が画像データで、偶数バンド目が属性データとする事も考えられる。
画像データである場合は、STEP1504へ進み、デコード命令を受信し(STEP1504)、リージョン単位のコマンド転送を行うデコード処理を実施する(STEP1505)。タイルのデコード処理が完了すると、バンドのデコード処理が完了したかどうかを判定し(STEP1506)、完了していない場合はSTEP1504に戻って次のタイルのデコード処理を行う。一方、属性データである場合は、STEP1507へ進み、デコード命令を受信し(STEP1507)、画素単位のコマンド転送を行うデコード処理を実施する(STEP1508)。タイルのデコード処理が完了すると、バンドのデコード処理が完了したかどうかを判定し(STEP1509)、完了していない場合はSTEP1507に戻って次のタイルのデコード処理を行う。バンドのデコード処理が完了した場合は、画像データでも属性データでも同様に、動作制御部へバンドのデコード処理完了を通知し(STEP1513)、ページ内の全バンドの処理が完了したかどうかを判定する(STEP1514)。ページ内の全バンドの処理が完了していない場合は、STEP1500に戻り次のバンドの処理に移り、ページ内の全バンドの処理が完了した場合は、ページレンダリング完了として処理を終える。なお、DMAC205は、第1実施形態と同様に不図示のディスクリプタに従って動作してもよいし、コマンドに含まれる書き込みアドレス情報を受け取って、動作してもよい。
フラットニングされたデータの中でも、データサイズが大きい画像データでは、リージョン圧縮による高速化を大抵は見込める。一方で、データサイズが小さい属性データでは、リージョン圧縮による高速化を見込めないばかりか、逆に処理速度の低下を招く場合がある。そのため、データサイズが大きい画像データはリージョンデータを生成して高速化を図り、データサイズが小さい属性データはリージョンデータを生成せずに画素毎にコマンド転送する。そうすることで、データに応じた最適な処理および出力経路を選択でき、デコード処理の高速化が実現できる。
以上説明したように、本実施形態によれば、フルフラットニングされた中間データにおいて、画像データであるか属性データであるかに応じて、デコード処理部の処理及び出力経路を切り替えることで、レンダリングシステムの高速化を実現できる。
(第5実施形態)
以下、本発明に係る第5実施形態について説明する。上述した第4実施形態では、フルフラットニングされた中間データにおいて、画像データであるか属性データであるかに応じて、デコード処理部202の処理および出力経路を切り替える例を説明した。その際に、データサイズが小さい属性データでは、リージョン圧縮による高速化が見込めないため、リージョンデータを生成せずに画素毎にコマンド転送している。しかしながら、例えば自然画像が印字領域の全面に配置される全面イメージなど、同一の属性値(全面イメージであればイメージ属性)が連続するケースでは、属性データであってもリージョン圧縮による高速化を見込める。このような問題に対して、フルフラットニングされた中間データをレンダリング処理するにあたって、属性データである場合に、処理されるタイルの属性パターンに応じて、デコード処理部202の処理および出力経路を切り替える構成でもよい。以下、本実施形態における処理の流れを説明する。
以下、本発明に係る第5実施形態について説明する。上述した第4実施形態では、フルフラットニングされた中間データにおいて、画像データであるか属性データであるかに応じて、デコード処理部202の処理および出力経路を切り替える例を説明した。その際に、データサイズが小さい属性データでは、リージョン圧縮による高速化が見込めないため、リージョンデータを生成せずに画素毎にコマンド転送している。しかしながら、例えば自然画像が印字領域の全面に配置される全面イメージなど、同一の属性値(全面イメージであればイメージ属性)が連続するケースでは、属性データであってもリージョン圧縮による高速化を見込める。このような問題に対して、フルフラットニングされた中間データをレンダリング処理するにあたって、属性データである場合に、処理されるタイルの属性パターンに応じて、デコード処理部202の処理および出力経路を切り替える構成でもよい。以下、本実施形態における処理の流れを説明する。
図16は、本実施形態におけるデコード処理部202の処理の流れを示すフローチャートである。画像形成部104におけるデコード処理部202以外の処理に関しては、第1実施形態で説明した処理と同様であるため、説明を省略する。また、デコード処理部202の処理についても、STEP1603で属性データと判定された場合(STEP1607〜STEP1611)以外は、第4実施形態で説明した処理と同様であるため、説明を省略する。
STEP1603において、処理しようとしている全面ラスタ画像のデータ種別が、画像データプレーンであるか属性データプレーンであるか、判定を行う。属性データである場合は、STEP1607へ進み、デコード命令を受信し(STEP1607)、処理タイル内にテキスト属性が含まれるか判定する(STEP1608)。処理タイル内にテキスト属性が含まれる場合は、画素単位のコマンド転送を行うデコード処理を実施し(STEP1609)、テキスト属性が含まれない場合は、リージョン単位のコマンド転送を行うデコード処理を実施する(STEP1610)。タイルのデコード処理が完了すると、バンドのデコード処理が完了したかどうかを判定し(STEP1611)、完了していない場合はSTEP1607に戻って次のタイルのデコード処理を行う。
STEP1608での判定方法は、1タイル分のバッファメモリ(64×64画素×2ビット)を保持し、1タイルのデコード結果の中にテキスト属性が含まれるかどうか、デコード処理しながら確認していく方法が考えられる。あるいは、圧縮時に判定され、中間データに処理を切り替える情報として格納されているものを参照してもよい。図17は、テキスト属性を含むタイルを示す概念図である。属性情報は画素単位で付与され、ちょうど図17の漢字部分における画素の属性がテキストあり、該文字の画素を含むタイルがテキスト属性を含むタイルと判定される。
フラットニングされた属性データの中でも、図11における背景属性、イメージ属性、グラフィック属性は、一定の大きさをもつ領域に付与され、リージョンが大きくなる傾向が強い。例えば、自然画のように、同一画素が連続しにくい領域であっても、属性としてはイメージ属性で連続する事になる。その一方で、テキスト属性は、テキストが描画された部分のみに付与されるため、一定の大きさをもつ領域というよりは、離散的に配置される傾向が強く、その結果として、テキスト属性を含むタイルは、リージョンが小さいデータになりやすい。そのため、テキスト属性を含むタイルの場合は、リージョンデータを生成せずに画素毎にコマンド転送し、テキスト属性を含まない(背景属性、イメージ属性、グラフィック属性を含む)タイルは、リージョンデータを生成して高速化を図る。そうすることで、データに応じた最適な処理および出力経路を選択でき、デコード処理の高速化が実現できる。
また、本実施形態においては、タイル単位にデコード処理部202の処理および出力経路を切り替える例を説明したが、64画素のタイルライン単位に、デコード処理部202の処理および出力経路を切り替えてもよい。図18は、64×64画素のタイルに対して、各ラインにおえけるテキスト属性の有無に応じて、画素単位のコマンド転送を行うデコード処理(処理1)か、リージョン単位のコマンド転送を行うデコード処理(処理2)か、をライン単位に示した図である。説明の都合上、最も細かい描画単位は4×4画素とし、解像度を落としているが、図18における、1ライン〜4ラインにはテキスト属性が含まれず、処理2が選択される。引き続きそれ以降、5ライン〜56ラインにはテキスト属性が含まれ、処理1が選択され、57〜64ラインにはテキスト属性が含まれず、処理2が選択される。
以上説明したように、本実施形態によれば、フルフラットニングした中間データにおいて、属性データであった場合に、処理タイルないし処理ラインにテキスト属性を含むか否かに応じて、デコード処理部202の処理及び出力経路を切り替える。こうする事により、レンダリングシステムの高速化を実現できる。
(第6実施形態)
以下、本発明に係る第6実施形態について説明する。上述した第5実施形態では、フルフラットニングされた中間データにおいて、属性データであった場合に、処理タイルないし処理ラインにテキスト属性を含むか否かに応じて、デコード処理部202の処理及び出力経路を切り替える例を説明した。その際に、テキスト属性を含む場合はリージョンが小さくなりやすいため、リージョンデータを生成せずに画素毎にコマンド転送し、テキスト属性を含まない場合はリージョンが大きくなりやすいため、リージョン圧縮による高速化を図っている。即ち、テキスト属性の有無からリージョンの大きさを推測しているわけだが、直接的にリージョンの大きさを参照し、デコード処理部202の処理及び出力経路を切り替える構成でもよい。以下、本実施形態における処理の流れを説明する。
以下、本発明に係る第6実施形態について説明する。上述した第5実施形態では、フルフラットニングされた中間データにおいて、属性データであった場合に、処理タイルないし処理ラインにテキスト属性を含むか否かに応じて、デコード処理部202の処理及び出力経路を切り替える例を説明した。その際に、テキスト属性を含む場合はリージョンが小さくなりやすいため、リージョンデータを生成せずに画素毎にコマンド転送し、テキスト属性を含まない場合はリージョンが大きくなりやすいため、リージョン圧縮による高速化を図っている。即ち、テキスト属性の有無からリージョンの大きさを推測しているわけだが、直接的にリージョンの大きさを参照し、デコード処理部202の処理及び出力経路を切り替える構成でもよい。以下、本実施形態における処理の流れを説明する。
図19は、本実施形態におけるデコード処理部202の処理の流れを示すフローチャートである。画像形成部104におけるデコード処理部202以外の処理に関しては、第1実施形態で説明した処理と同様であるため、説明を省略する。また、デコード処理部202の処理についても、STEP1903で属性データと判定された場合(STEP1907〜STEP1911)以外は、第4実施形態で説明した処理と同様であるため、説明を省略する。STEP1903において、処理しようとしている全面ラスタ画像のデータ種別が、画像データプレーンであるか属性データプレーンであるか、判定を行う。属性データである場合は、STEP1907へ進み、デコード命令を受信し(STEP1907)、処理タイル内のリージョン数が予め設けた閾値以上であるか否かを判定する(STEP1908)。処理タイル内のリージョン数が該閾値以上である場合は、画素単位のコマンド転送を行うデコード処理を実施し(STEP1909)、該閾値未満である場合は、リージョン単位のコマンド転送を行うデコード処理を実施する(STEP1910)。タイルのデコード処理が完了すると、バンドのデコード処理が完了したかどうかを判定し(STEP1911)、完了していない場合はSTEP1907に戻って次のタイルのデコード処理を行う。
STEP1908での判定方法は、1タイル分のバッファメモリ(64×64画素×2ビット)を保持し、デコード処理しながらリージョン数をカウントしていき、閾値との大小比較を行う方法が考えられる。あるいは、圧縮時にカウントされ、処理を切り替える情報として中間データに格納されているリージョン数を参照し、閾値との大小比較を行ってもよい。なお、当該閾値は静的に定められていてもよいし、あるいは例えばCPU101から、画像形成部104が保持する不図示の設定レジスタを経由して、デコード処理部202の外部端子に入力されても構わない。具体的な閾値の値としては、例えば以下の算出方法が考えられる。図13で示した通り、属性データの場合は画素単位のコマンド転送でも、1コマンドで16画素を送信することができ、1タイルに含まれる4096(=64×64)画素を全て画素単位にコマンド転送しても、256(=4096÷16)回のコマンド転送となる。従って、処理タイル内のリージョン数が、256以上である場合は、リージョン単位でコマンド転送してもコマンド数の削減にはならず、リージョンデータを生成する負荷も増え、処理速度の低下を招いてしまう可能性がある。従って、閾値としては256を設定してもよいし、リージョンデータを生成する負荷を鑑みて、マージンを含めた256より小さな値を設定することも考えられる。以上より、リージョン数が閾値以上の場合は、リージョンデータを生成せずに画素毎にコマンド転送し、リージョン数が閾値未満である場合は、リージョンデータを生成して高速化を図る。そうすることで、データに応じた最適な処理および出力経路を選択でき、デコード処理の高速化が実現できる。
また、本実施形態においては、タイル単位にデコード処理部202の処理および出力経路を切り替える例を説明したが、64画素のタイルライン単位に、デコード処理部202の処理および出力経路を切り替えてもよい。図20は、64×64画素のタイルに対して、各ラインのリージョン数が閾値以上であるか否かに応じて、画素単位のコマンド転送を行うデコード処理(処理1)か、リージョン単位のコマンド転送を行うデコード処理(処理2)か、をライン単位に示した図である。閾値の値は、例えば以下のように算出すればよい。図13で示した通り、属性データの場合は画素単位のコマンド転送でも、1コマンドで16画素を送信することができ、1ラインに含まれる64画素を全て画素単位にコマンド転送しても、4(=64÷16)回のコマンド転送となる。従って、処理ライン内のリージョン数が、4以上である場合は、リージョン単位でコマンド転送してもコマンド数の削減にはならず、リージョンデータを生成する負荷も増え、処理速度の低下を招いてしまう可能性がある。以上より、閾値としては4を設定している。説明の都合上、最も細かい描画単位は4×4画素とし、解像度を落としているが、図20における、1ライン〜8ラインはリージョン数が4未満であり、処理2が選択される。引き続きそれ以降、9ライン〜52ラインはリージョン数が4以上であり、処理1が選択され、53ライン〜64ラインはリージョン数が4未満であり、処理2が選択される。以上説明したように、本実施形態によれば、処理タイルないし処理ラインのリージョン数が予め設けた閾値以上であるか否かに応じて、デコード処理部202の処理及び出力経路を切り替える。こうする事により、レンダリングシステムの高速化を実現できる。
100 画像形成装置
101 CPU
102 DRAM
103 画像入力部
104 画像形成部
105 画像処理部
106 印字処理部
107 バス
200 動作制御部
201 合成処理部
202 デコード処理部
203 リージョン展開処理部
204 データ送受信部
205 DMAC
206 デコード手段
207 出力経路切替手段
208 リージョン生成手段
209 キャッシュ
101 CPU
102 DRAM
103 画像入力部
104 画像形成部
105 画像処理部
106 印字処理部
107 バス
200 動作制御部
201 合成処理部
202 デコード処理部
203 リージョン展開処理部
204 データ送受信部
205 DMAC
206 デコード手段
207 出力経路切替手段
208 リージョン生成手段
209 キャッシュ
Claims (15)
- ページ記述言語から生成した中間データをもとに、ラスタ画像を生成する画像形成装置であって、
画素単位に展開されたデータをメモリに格納する第1の処理部と、
連続する同一画素値から構成されるリージョン単位のデータを、画素単位のデータに展開して前記メモリに格納する第2の処理部と、
前記中間データに含まれるイメージデータをデコードして得られるデコードデータを、第1の処理部もしくは第2の処理部に転送するデコード処理部と、
前記デコードデータと、前記中間データに含まれるグラフィックデータとを、前記中間データに含まれる描画命令に従って前記リージョン単位に合成処理をして得られる合成結果を第2の処理部に転送する合成処理部と、を有し、
前記デコード処理部は、前記中間データに含まれるデータ形式に応じて、前記デコードデータを、前記第1の処理部と前記第2の処理部とのいずれに転送するかを選択することを特徴とする画像形成装置。 - 前記デコード処理部は、前記中間データに含まれるデータ形式が、全面ラスタ画像化されたデータではない場合は画素単位に展開して第1の処理部に転送し、全面ラスタ画像化されたデータである場合はリージョン単位に第2の処理部に転送することを特徴とする請求項1に記載の画像形成装置。
- 前記デコード処理部は、前記中間データに含まれるイメージデータのデータ形式が、属性データの場合は画素単位に展開して第1の処理部に転送し、画像データである場合はリージョン単位に第2の処理部へ転送することを特徴とする請求項1に記載の画像形成装置。
- 前記中間データに含まれるデータ形式が、ページごとに決められるものである、ことを特徴とする請求項1乃至請求項3のいずれか1項に記載の画像形成装置。
- 前記中間データに含まれるデータ形式は、バンドごとに決められていることを特徴とする請求項1乃至3のいずれか1項に記載の画像形成装置。
- 前記デコード処理部は、前記中間データに含まれるイメージデータのデータ形式が、非可逆圧縮の方式である場合は画素単位に展開して第1の処理部に転送し、可逆圧縮の方式である場合はリージョン単位に第2の処理部に転送することを特徴とする請求項1に記載の画像形成装置。
- 前記デコード処理部は、タイルごとに、画素単位に展開して第1の処理部に転送するか、リージョン単位に第2の処理部に転送するかを切り替えることを特徴とする請求項6に記載の画像形成装置。
- 前記デコード処理部は、前記中間データに含まれるイメージデータのデータ形式が、非可逆圧縮の領域と可逆圧縮の領域が混載するハイブリッド圧縮方式である場合、前記イメージデータに含まれる非可逆圧縮の領域が可逆圧縮の領域よりも多い場合は画素単位に展開して第1の処理部に転送し、前記イメージデータに含まれる非可逆圧縮の領域が可逆圧縮の領域よりも少ない場合はリージョン単位に第2の処理部に転送することを特徴とする請求項6または請求項7に記載の画像形成装置。
- 前記デコード処理部は、前記中間データに含まれるイメージデータのデータ形式が、非可逆圧縮の領域と可逆圧縮の領域が混載するハイブリッド圧縮方式である場合、前記イメージデータに含まれる非可逆圧縮の領域が予め定められた閾値よりも多い場合は画素単位に展開して第1の処理部に転送し、前記イメージデータに含まれる非可逆圧縮の領域が予め定められた閾値よりも少ない場合はリージョン単位に第2の処理部に転送することを特徴とする請求項6または請求項7に記載の画像形成装置。
- 前記デコード処理部は、ハイブリッド圧縮方式のイメージデータを処理する場合に、ライン単位に、画素単位に展開して第1の処理部に転送するか、リージョン単位に第2の処理部に転送するかを切り替える、ことを特徴とする請求項8または請求項9に記載の画像形成装置。
- 前記デコード処理部は、前記中間データに含まれるイメージデータのデータ種別が、属性データである場合、前記イメージデータにテキスト属性が含まれる場合は画素単位に展開して第1の処理部に転送し、前記イメージデータにテキスト属性が含まれない場合はリージョン単位に第2の処理部に転送することを特徴とする請求項1に記載の画像形成装置。
- 前記デコード処理部は、前記中間データに含まれるイメージデータのデータ種別が、属性データである場合、前記イメージデータに含まれるリージョン数が予め定められた閾値よりも多い場合は画素単位に展開して第1の処理部に転送し、前記イメージデータに含まれるリージョン数が予め定められた閾値よりも少ない場合はリージョン単位に第2の処理部に転送することを特徴とする請求項1に記載の画像形成装置。
- 前記デコード処理部は、データ種別が属性データであるイメージデータを処理する場合に、タイル単位に、画素単位に展開して第1の処理部に転送するか、リージョン単位に第2の処理部に転送するかを切り替えることを特徴とする請求項11または請求項12に記載の画像形成装置。
- 前記デコード処理部は、データ種別が属性データであるイメージデータを処理する場合に、ラインごとに、画素単位に展開して第1の処理部に転送するか、リージョン単位に第2の処理部に転送するかを切り替えることを特徴とする請求項11または請求項12に記載の画像形成装置。
- ページ記述言語から生成した中間データをもとに、ラスタ画像を生成する画像形成方法であって、
第1の処理部が、画素単位に展開されたデータをメモリに格納する第1の処理工程と、
第2の処理部が、連続する同一画素値から構成されるリージョン単位のデータを、画素単位のデータに展開して前記メモリに格納する第2の処理工程と、
デコード処理部が、前記中間データに含まれるイメージデータをデコードして得られるデコードデータを、第1の処理部もしくは第2の処理部に転送するデコード工程と、
合成処理部が、前記デコードデータと、前記中間データに含まれるグラフィックデータとを、前記中間データに含まれる描画命令に従って前記リージョン単位に合成処理をして得られる合成結果を第2の処理部に転送する合成処理工程と、を有し、
前記デコード処理工程では、前記中間データに含まれるデータ形式に応じて、前記デコードデータを、前記第1の処理部と前記第2の処理部とのいずれに転送するかを選択することを特徴とする画像形成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018230317A JP2020090075A (ja) | 2018-12-07 | 2018-12-07 | 画像形成装置および、画像形成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018230317A JP2020090075A (ja) | 2018-12-07 | 2018-12-07 | 画像形成装置および、画像形成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020090075A true JP2020090075A (ja) | 2020-06-11 |
Family
ID=71012170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018230317A Pending JP2020090075A (ja) | 2018-12-07 | 2018-12-07 | 画像形成装置および、画像形成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020090075A (ja) |
-
2018
- 2018-12-07 JP JP2018230317A patent/JP2020090075A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007184978A (ja) | グラフィック画像の圧縮システムおよび方法 | |
JP2830690B2 (ja) | 画像処理装置 | |
JP2018058295A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP6544905B2 (ja) | 画像処理装置、画像処理方法、プログラム | |
JP2020090075A (ja) | 画像形成装置および、画像形成方法 | |
JP3685234B2 (ja) | 画像処理装置 | |
JP4385628B2 (ja) | イメージデータ処理装置および画像形成装置 | |
JP5441676B2 (ja) | 画像処理装置及びその処理方法 | |
JP4424313B2 (ja) | 画像処理装置および画像形成装置 | |
JP3203660B2 (ja) | 画像記録装置 | |
JP4400709B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2000335021A (ja) | 画像処理装置及び画像処理方法 | |
JPH10207645A (ja) | 出力制御方法とその装置と該装置を備えた画像形成装置及び前記方法を実施するプログラムを記憶した記憶媒体 | |
JP2001169120A (ja) | 画像処理装置及びその方法、及び画像処理システム | |
JPH06113145A (ja) | 画像処理装置 | |
JP2006264257A (ja) | バンド単位で画像処理を行う画像処理装置 | |
JP4423812B2 (ja) | 描画処理装置および描画処理方法 | |
JP3214617B2 (ja) | 多値画像プリンタ | |
JP2004254187A (ja) | 情報処理装置 | |
JP4711008B2 (ja) | イメージデータ処理装置および画像形成装置 | |
JP2008097142A (ja) | プリンタおよびプリンタシステム | |
JP2011120115A (ja) | 画像処理装置及びその制御方法 | |
JP2006159458A (ja) | 画像出力装置 | |
JPH05205015A (ja) | 画像処理装置 | |
JP2011172152A (ja) | 画像処理装置及び方法、並びにプログラム |