JP2006264257A - バンド単位で画像処理を行う画像処理装置 - Google Patents
バンド単位で画像処理を行う画像処理装置 Download PDFInfo
- Publication number
- JP2006264257A JP2006264257A JP2005089360A JP2005089360A JP2006264257A JP 2006264257 A JP2006264257 A JP 2006264257A JP 2005089360 A JP2005089360 A JP 2005089360A JP 2005089360 A JP2005089360 A JP 2005089360A JP 2006264257 A JP2006264257 A JP 2006264257A
- Authority
- JP
- Japan
- Prior art keywords
- image data
- bandwidth
- image processing
- raster
- processed
- 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
Abstract
【課題】 ハードウエアユニットが処理可能な最大バンド幅を超える画像データを,画像処理の効率を低下させずに処理可能な画像処理装置を提供する。
【解決手段】 第1のラスタ数をN(=2)等分した第2のラスタ数(h/2)の単位で順次読み出し,当該読み出した画像データを第1のバンド幅をN(=2)等分した第2のバンド幅(Wb/2)であって第1のラスタ数(h)の画像データとして,画像処理ユニットに順次入力して処理させ,画像処理ユニットにより処理された第2のバンド幅(Wb/2)であって第1のラスタ数(h)の処理済み画像データを,内部メモリに第1のバンド幅(Wb)で第1のラスタ数(h)の画像データとして書き込む。最大バンド幅を超えるバンド幅の画像データを,ラスタ方向にN等分して分割し,ラスタ長さをN等分した画像データとして画像処理ユニットに供給する。画像処理済みの画像データは,合成して元のサイズの画像データにする。
【選択図】 図9
【解決手段】 第1のラスタ数をN(=2)等分した第2のラスタ数(h/2)の単位で順次読み出し,当該読み出した画像データを第1のバンド幅をN(=2)等分した第2のバンド幅(Wb/2)であって第1のラスタ数(h)の画像データとして,画像処理ユニットに順次入力して処理させ,画像処理ユニットにより処理された第2のバンド幅(Wb/2)であって第1のラスタ数(h)の処理済み画像データを,内部メモリに第1のバンド幅(Wb)で第1のラスタ数(h)の画像データとして書き込む。最大バンド幅を超えるバンド幅の画像データを,ラスタ方向にN等分して分割し,ラスタ長さをN等分した画像データとして画像処理ユニットに供給する。画像処理済みの画像データは,合成して元のサイズの画像データにする。
【選択図】 図9
Description
本発明は,バンド単位で画像処理を行う画像処理装置に関し,特に,画像処理ユニットの処理可能なバンド幅を超える画像データに対する画像処理を行う画像処理装置に関する。
プリンタなどの画像形成装置は,ホストコンピュータからの印刷データを受信して印刷用の画像再生信号を生成する画像処理装置(所謂コントローラ)と,画像処理装置からの画像再生信号を受信して印刷データに対応する画像を形成する印刷エンジンとを有する。一般的な画像形成装置では,ホストコンピュータからページ記述言語(PDL)で記述された印刷データを受信し,印刷データからビットマップ画像データを展開し,ビットマップ画像データから印刷エンジンの画像形成に直接利用可能な画像再生信号を生成し,印刷エンジンに出力する。通常,1印刷ページ分のビットマップ画像データを内部メモリ内に展開すると,そのデータ量が膨大になり,画像処理装置のコストアップを招く。そこで,1印刷ページを複数のバンド領域に分割し,印刷データからビットマップ画像データの展開に適した中間コードをバンド単位で生成し,その中間コードからビットマップ画像データへの展開処理,印刷エンジンのトナー色への色変換処理,二値化処理などの各種画像処理をバンド単位で行う。バンド単位で画像処理を行うことで,一時的に展開された画像データの容量を小さくすることができ,メモリの大容量化を回避することができる。
このように印刷データから中間コードをバンド単位で生成し,その後,バンド単位で画像処理を行うことは,例えば特許文献1に記載されている。
画像処理装置は,色変換処理などを専門に行うハードウエアユニットと,展開処理や二値化処理などをソフトウエアの実行により行うと共に,ハードウエアユニットの制御を行う中央処理ユニットと,内部メモリとで構成される。そして,色変換処理ユニットなどのハードウエアユニットは,バンド単位で画像処理するよう構成される。
その場合に,近年において問題となっている点は,画像処理装置の低コスト化の要請から,色変換処理ユニットなどのハードウエアユニットの処理単位が,より高度な画像処理の要請と乖離していることにある。低コスト化の要請からハードウエアユニットの1回の処理単位が制限的になるのに対して,より高度な画像処理が要求される画像処理装置において,コストダウンの要請から,上記の処理単位が制限的なハードウエアユニットを使用することが求められている。例えば,600dpiでA4版の印刷データをバンド単位で処理可能なハードウエアユニットを利用して,それより高い解像度(例えば1200dpi)のA4版の印刷データのビットマップ画像データをバンド単位で処理する画像処理装置がある。このような場合,処理対象のビットマップ画像データがハードウエアユニットの処理可能なバンド幅を超えることがある。その場合,一般的な方法として,1バンド単位のビットマップ画像データを,複数のバンド幅に分割してそれぞれ別のバンドの画像データを生成し,その画像データをバンド単位で処理し,生成された画像データを合成して,元のバンド幅のビットマップ画像データにすることが行われる。
図1は,従来におけるバンド単位のビットマップ画像データの処理を示す図である。この例は,バンドバッファB−BUF1内の1バンド分のRGBの画像データBNDaが,ハードウエアユニットで処理可能な最大バンド幅Wbmaxを超えるバンド幅Wbを有している。この画像データBNDaは,バンド幅Wb,ラスタ数hのデータ量を有する。これに対して,色変換を行うハードウエアユニットの処理可能なバンド幅Wbmaxが,処理単位の画像データBNDaのバンド幅Wbより小さい。そのため,画像データBNDaを1回で色変換処理することができない。
そこで,処理可能な最大バンド幅Wbmaxで分割して,バンド幅Wbmaxの画像データBNDa1と,残りの画像データに架空の画像データ(図中破線部)を加えたバンド幅Wbmaxの画像データBNDa2を生成する。そして,それぞれの画像データBNDa1,BNDa2を色変換ユニットで色変換処理を行い,CMYKの画像データBNDb1,BNDb2を生成する。そして,画像データBNDb1と画像データBNDb2の一部とを合成して,CMYKの画像データBNDbを生成する。
特開平10−40031号公報
図1に示した方法では,ハードウエアユニットが処理可能な最大バンド幅を超える画像データの処理を行うために,それを分割した中間的な画像データBNDa1,BNDa2を生成する必要があり,さらに,色変換処理された画像データBNDb1,BNDb2を合成する必要がある。これらの中間的画像データを生成するためには,画像処理内の内蔵メモリに画像データを書き込む必要があると共に,中間的画像データを合成するためには,内蔵メモリから中間的画像データを読み出し,合成した画像データを書き込む必要がある。したがって,中間的画像データの生成と合成のための処理が伴い,そのための画像処理の負担が大きくなる。特に,画像処理ユニット内では,中央処理ユニットがこれらの画像データのリードとライトを制御するので,そのような画像処理は中央処理ユニットの負荷を重くするという課題を有する。
そこで,本発明の目的は,ハードウエアユニットが処理可能な最大バンド幅を超える画像データを,画像処理の効率を低下させずに処理可能な画像処理装置を提供することにある。
上記の目的を達成するために,本発明の第1の側面によれば,
印刷ページを複数のラスタ毎に分割したバンド単位で,画像データに所定の画像処理を行う画像処理装置であって,
前記処理対象のバンド単位の画像データが第1のバンド幅で第1のラスタ数の容量を有し,
処理可能な最大バンド幅を有し前記所定の画像処理を行う画像処理ユニットと,
前記画像データを格納する内蔵メモリと,
前記内蔵メモリに格納された前記処理対象のバンド単位の画像データについて,前記第1のラスタ数をN等分した第2のラスタ数の単位で順次読み出し,当該読み出した画像データを前記第1のバンド幅をN等分した第2のバンド幅であって前記第1のラスタ数の画像データとして,前記画像処理ユニットに順次入力して処理させ,前記画像処理ユニットにより処理された前記第2のバンド幅であって第1のラスタ数の処理済み画像データを,前記内部メモリに前記第1のバンド幅で第1のラスタ数の画像データとして書き込む制御手段とを有する。
印刷ページを複数のラスタ毎に分割したバンド単位で,画像データに所定の画像処理を行う画像処理装置であって,
前記処理対象のバンド単位の画像データが第1のバンド幅で第1のラスタ数の容量を有し,
処理可能な最大バンド幅を有し前記所定の画像処理を行う画像処理ユニットと,
前記画像データを格納する内蔵メモリと,
前記内蔵メモリに格納された前記処理対象のバンド単位の画像データについて,前記第1のラスタ数をN等分した第2のラスタ数の単位で順次読み出し,当該読み出した画像データを前記第1のバンド幅をN等分した第2のバンド幅であって前記第1のラスタ数の画像データとして,前記画像処理ユニットに順次入力して処理させ,前記画像処理ユニットにより処理された前記第2のバンド幅であって第1のラスタ数の処理済み画像データを,前記内部メモリに前記第1のバンド幅で第1のラスタ数の画像データとして書き込む制御手段とを有する。
上記の第1の側面によれば,画像処理ユニットが処理可能な最大バンド幅を超えるバンド幅の画像データに対して,1つのバンドの画像データを,ラスタ数をN等分した画像データの単位で内蔵メモリから読み出し,各ラスタのデータをN等分して最大バンド幅より小さい第2のバンド幅で第1のラスタ数の画像データ単位で画像処理ユニットに供給して画像処理を行わせ,画像処理済みの画像データ単位を元の第1のバンド幅で第1のラスタ数の画像データとして内蔵メモリに書き込む。したがって,画像処理ユニットの処理可能な最大バンド幅を超える画像データに対して,画像処理ユニットに入力可能な画像データの単位を新たに内部メモリ内に生成する必要がなく,画像処理の負担を軽減することができる。
上記の第1の側面において,好ましい態様によれば,前記内蔵メモリ内のアドレスについてのテーブルであって,前記第1のバンド幅であって第1のラスタ数の画像データ単位を,前記第2のバンド幅であって第1のラスタ数の画像データ単位に変換するアドレス群を有する第1のラスタアドレステーブル(RAT2)と,前記第2のバンド幅で第1のラスタ数の処理済み画像データ単位を,前記第1のバンド幅で第1のラスタ数の画像データ単位に変換するアドレス群を有する第2のラスタアドレステーブル(RAT3)とが生成され,前記制御手段は,前記第1のラスタアドレステーブルに基づいて,前記内蔵メモリから前記処理対象の画像データの読み出しを行い,前記第2のラスタアドレステーブル(RAT3)に基づいて,前記処理済みの画像データを前記内蔵メモリに書き込む。
第1及び第2のラスタアドレステーブルを利用することにより,内蔵メモリ内の画像処理対象の画像データの読み出し時に第1のバンド幅の画像データ単位を第2のバンド幅の画像データ単位に変換し,内蔵メモリ内への画像処理済み画像データの書き込み時に第2のバンド幅の画像データ単位を第1のバンド幅の画像データ単位に変換することができ,内蔵メモリへの追加のコピー処理を伴うことなく,画像処理ユニットが処理可能な最大バンド幅を超えるバンド幅の画像データを処理することができる。
さらに,上記の側面において,好ましい態様によれば,前記制御手段は,前記内蔵メモリ内に書き込んだ処理済みの画像データを,前記第1のバンド幅で第1のラスタ数の画像データとして読み出し,画像再生信号として印刷エンジンに出力する。
以下,図面にしたがって本発明の実施の形態について説明する。但し,本発明の技術的範囲はこれらの実施の形態に限定されず,特許請求の範囲に記載された事項とその均等物まで及ぶものである。
[バンド単位での画像データの処理]
図2は,本実施の形態における画像形成装置であるプリンタの概略構成図である。図2(A)では,ホストコンピュータHOSTからページ記述言語で記述された印刷データPDLが,画像形成装置の一例であるプリンタ10のコントローラ12に供給される。コントローラ12は,印刷データPDLを中間コードに変換し,中間コードからビットマップ画像データ(多値の階調データ)をバンドバッファB−BUF内に展開し,展開されたビットマップ画像データについて色変換などの所定の画像処理を行い,それから生成した画像再生信号16を印刷エンジン24に供給する。この場合,コントローラ12が画像処理装置に対応する。
[バンド単位での画像データの処理]
図2は,本実施の形態における画像形成装置であるプリンタの概略構成図である。図2(A)では,ホストコンピュータHOSTからページ記述言語で記述された印刷データPDLが,画像形成装置の一例であるプリンタ10のコントローラ12に供給される。コントローラ12は,印刷データPDLを中間コードに変換し,中間コードからビットマップ画像データ(多値の階調データ)をバンドバッファB−BUF内に展開し,展開されたビットマップ画像データについて色変換などの所定の画像処理を行い,それから生成した画像再生信号16を印刷エンジン24に供給する。この場合,コントローラ12が画像処理装置に対応する。
図2(B)では,ホストコンピュータHOST内のプリンタドライバP−DRが,印刷データPDLからバンド領域毎の中間コードICを生成し,その中間コードICをプリンタ10のコントローラ12に供給する。コントローラ12は,供給された中間コードICに基づいてビットマップ画像データをバンドバッファB−BUFに展開し,展開されたビットマップ画像データについて色変換などの所定の画像処理を行い,それから生成した画像再生信号16を印刷エンジン24に供給する。この場合もコントローラ12が画像処理装置に対応する。
図3は,本実施の形態における画像形成装置であるプリンタの詳細構成図である。プリンタ10は,画像処理装置に対応するコントローラ12と,印刷エンジン24とで構成される。プリンタ10が図2(A)のプリンタ10に対応する場合であれば,コントローラ12は,ホストコンピュータからプリント制御言語の印刷データPDLを受信するインターフェースIFと,印刷データPDLをバンド領域毎の中間コードICに変換するとともに,中間コードに基づいてビットマップ画像データを展開する中央処理ユニットCPUと,ビットマップ画像データをRGBの色空間からからCMYKの色空間に色変換を行う色変換ユニット18と,中央処理ユニットCPUによりビットマップ画像データが二値化されたデータを画像再生信号16であるパルス信号に変換するパルス変調ユニットPWMとを有する。これらは内部バス22により接続される。そして,パルス変調ユニットにより生成される画像再生信号16が印刷エンジン24に供給される。さらに,コントローラ12は,メモリユニット14を有し,メモリユニット14には,中間コードが格納される中間コードバッファIC−BUFと,ビットマップ画像データが格納されるバンドバッファB−BUF1,B−BUF2とが確保される。バンドバッファB−BUF1には中間コードから展開されたRGBのビットマップ画像データが格納され,バンドバッファB−BUF2にはCMYKに色変換されたビットマップ画像データが格納される。
プリンタ10が図2(B)のプリンタ10に対応する場合は,コントローラ12のインターフェースIFがホストコンピュータから中間コードICを受信し,中間コードバッファIC−BUFに格納する。そして,コントローラ12は,中間コードに基づいてバンドバッファB−BUF1内にビットマップ画像データを展開し,色変換した画像データをバンドバッファB−BUF2内に格納する。
図4は,本実施の形態における画像処理のフローチャート図である。図2(A)のプリンタを例にして,画像処理について説明する。まず,ホストコンピュータHOSTが印刷データPDLを生成し,プリンタ10に供給する(S10)。プリンタ10では,中央処理ユニットCPUが印刷データから中間コードをバンド毎に生成し,中間コードバッファIC−BUFに格納する(S12)。
図5は,画像処理におけるバンドと中間コードを示す図である。図5では,印刷ページ1が7つのバンド領域BND1〜BND7に分割されている。各バンドは,複数のラスタ(行)で構成される。図5の例では,印刷ページ1内に,円図形2と矩形図形3とイメージ4とが形成される。印刷データPDLは,円や矩形の図形オブジェクト2,3について,その識別コードと印刷ページ内の位置とサイズ,描画の色などのデータで記述する。また,イメージ4は,その識別コードと印刷ページ内の位置とサイズなどで記述され,さらに,RGBの各プレーンについて多値の階調データからなるビットマップ画像データファイルを有する。
図5には,バンドBND3内の図形オブジェクト2a,3aを展開するための中間コードIcodeの一例が示される。円2aの中間コードは,識別コード「CIR」と,バンドBND3内のオブジェクト2aの左上の座標値「X1,Y1」と,幅及び高さ「W1,H1」とを有する。これに加えて,図示しないが,円2aの色データや模様データも付加される。また,矩形3aの中間コードは,識別コード「REC」と,バンドBND3内のオブジェクト3aの左上の座標値「X2,Y2」と,幅及び高さ「W2,H2」とを有する。さらに,図示しない色データや模様データも付加される。
図6は,コントローラ内のメモリユニットの構成図である。コントローラ12は,メモリユニット14内にバンド領域に対応したポインタ列の領域PLと,中間コードバッファIC−BUFとを確保し,ポインタ列領域PLに初期値としてNULLコードを書き込んでおく。
印刷データは,各印刷ページ内の図形オブジェクトのコードを有し,コントローラ12の中央処理ユニットCPUは,印刷データを解釈し,印刷ページ内のどこの領域にどのような文字,図形,イメージを形成すべきかを検出し,バンド領域毎に印刷すべき文字,図形,イメージに対応する中間コードを生成する(S12)。そして,その中間コードを中間コードバッファIC−BUFに書き込む。その時,図6に示すように,生成された中間コードのバンド領域に対応するポインタ列領域PL内に,中間コードバッファIC−BUF内のアドレスADD2〜ADD6が書き込まれる。
図5,6の例では,印刷ページ1内に形成される図形及びイメージオブジェクト2,3,4は,バンドBND2〜BND6に位置し,バンドBND1,BND7には存在しない。したがって,ポインタ列PLのバンドBND1,BND7は,初期値NULLコードのままであり,それ以外のところにアドレスが書き込まれる。
PDL形式の印刷データは,通常1印刷ページ毎に区切られており,その印刷プレーン内の印刷データを解釈して中間コードに変換することで,1印刷ページ内の図形オブジェクトに対応する中間コードが全て中間コードバッファIC−BUFに格納される。この中間コードは,ビットマップ画像データに比較して容量が小さいので,1ページ分を生成しても中間コードバッファIC−BUFの容量はそれほど大きくない。
次に,コントローラ12は,バンド単位で画像処理を行う。まず,中央処理ユニットCPUがポインタ列PLのアドレスADD2に基づいて,中間コードバッファIC−BUFからバンドBND2の中間コードを読み出し,その中間コードからRGBのビットマップ画像データを生成し,バンドバッファB−BUF1内に書き込む(S14)。これがビットマップ画像データへの展開処理である。
このRGBのビットマップ画像データは,RGBの3つのプレーン別の,画素毎の多値階調データであり,例えば,それぞれ8ビット,256階調のデータである。したがって,解像度と印刷ページの幅に応じて,バンド単位のビットマップ画像データは,そのデータ容量が異なる。したがって,解像度が高くなればなるほど,または印刷ページの幅が大きくなればなるほど,ビットマップ画像データのバンド幅も大きくなる。
ビットマップ画像データは,多値の階調データでありデータ容量が大きくなるが,バンド単位であればそのデータ容量は比較的小さくなる。したがって,以後,バンド単位で画像データについて必要な画像処理を行うことで,メモリユニット14内に大容量のバッファ領域を確保する必要がない。
次に,コントローラ12は,色変換ユニット18によりバンドバッファB−BUF1内のRGBビットマップ画像データを色変換し,CMYKのビットマップ画像データに変換し,バンドバッファB−BUF2内に書き込む(S16)。このCMYKのビットマップ画像データも同様に画素毎の多値階調データであり,CMYKの4つのプレーンについてそれぞれ8ビット,256階調のデータである。
さらに,コントローラ12は,メモリユニット14のバンドバッファB−BUF2内のCMYKビットマップ画像データを読み出し,中央処理ユニットCPUにより二値化して,CMYKの二値化ビットマップ画像データをパルス幅変調器PWMに供給し,パルス幅変調させる(S18)。そして,画像再生信号16が印刷エンジン24に供給される(S20)。上記の二値化処理は,中央処理ユニットに代えて,専用ハードウエアからなる二値化ユニットによって行われても良い。
図7は,本実施の形態における画像処理ユニットの一例である色変換ユニットの構成図である。色変換ユニット18は,専用ハードウエアからなり,バンド単位のRGBビットマップ画像データを入力バッファ26に入力し,色変換モジュール28がCMYKのビットマップ画像データを生成する。メモリユニットのバンドバッファB−BUF1には,バンド単位でRGBの3つのプレーンのビットマップ画像データが格納されている。色変換ユニット18は,それらの画像データを,順次入力バッファ26内の対応する入力バッファR,G,Bに格納すると,各画素のRGB画像データを色変換モジュール28に供給し,CMYKの画像データに変換する。この画像データは,CMYKの4プレーンの多値階調データである。
入力バッファ26は,そのメモリ容量から処理可能な最大バンド幅を有する。つまり,バンド単位の画像データは,その解像度や印刷ページサイズに応じて,異なるバンド幅を有する。そして,色変換ユニット18が1回の処理で処理可能なRGBビットマップ画像データには,所定のバンド幅限界がある。これが色変換モジュール28の処理可能な最大バンド幅に該当する。
図8は,画像処理対象の画像データ単位を示す図である。コントローラ12の中央処理ユニットCPUは,中間コードバッファIC−BUF内の中間コードをバンド単位でビットマップ画像データに展開する(S14)。そして,展開されたRGBのビットマップ画像データは,バンドバッファB−BUF1内に書き込まれる。このRGBのビットマップ画像データは,RGBの3色のプレーンについて,それぞれ画素毎に例えば8ビットの多値階調データであり,あるバンド幅Wbを有し,バンド高さに対応するラスタ数hからなる。したがって,中央処理ユニットCPUは,バンドバッファB−BUF1内のアドレスを有するラスタアドレステーブルRAT1に基づいて,バンドバッファB−BUF1内のアドレスAdd11,Add12〜Add1hに,ラスタ1,2〜hのビットマップ画像データを書き込む。
図8の例では,バンドバッファB−BUF1内に展開された画像データのバンド幅Wbが,色変換ユニット18が1回の色変換処理で処理可能な最大バンド幅を超えていない。したがって,バンドバッファB−BUF1に展開されたRGBの画像データが,そのままの状態(バンド幅)で色変換ユニット18に供給される。具体的には,中央処理ユニットCPUが,バンドバッファB−BUF1内の各ラスタの先頭アドレスAdd11〜Add1hからなるラスタアドレステーブルRAT2に基づいて,バンドバッファB−BUF1から画像データを読み出し,色変換ユニット18に供給する。
さらに,色変換ユニット18で色変換されたCMYKのビットマップ画像データは,ラスタ1〜hからなるバンドの画像データとして,バンドバッファB−BUF2に格納される(S16)。具体的には,中央処理ユニットCPUが,色変換ユニット18が生成したCMYKの画像データを,バンドバッファ内の各ラスタの先頭アドレスAdd21〜Add2hからなるラスタアドレステーブルRAT3に基づいて,バンドバッファB−BUF2に書き込む。色変換ユニット18で生成されるCMYKのビットマップ画像データは,4色のプレーン別の画像データであり,それぞれの画像データは,色変換ユニット18に供給された画像データと同じバンド幅,ラスタ数を有する。
その後,中央処理ユニットCPUは,バンドバッファB−BUF2内のCMYK画像データをラスタアドレステーブルRAT4に基づいて読み出し,二値化処理をし,パルス幅変調ユニットPWMに供給し,印刷エンジン24に出力する(S18,S20)。印刷エンジンに出力する時のラスタアドレステーブルRAT4は,RAT3と同じである。
以上のとおり,バンド単位で画像データが色変換処理や二値化処理などが行われるが,画像データのバンド幅が,色変換ユニット等のハードウエアユニットが処理可能な最大バンド幅を超えていない場合は,バンドバッファB−BUF1に展開された画像データのバス幅やラスタ構成を変えることなく,色変換ユニットに供給し,バンドバッファB−BUF2に格納し,印刷エンジンに出力することができる。したがって,その画像処理に伴うバンドバッファB−BUF1のリードとライト,またはバンドバッファB−BUF2のライトとリードは,ともに同じラスタアドレステーブルRAT1,2とRAT3,4でそれぞれ行うことができる。
図9は,本実施の形態における画像処理対象の画像データ単位を示す図である。この例では,バンド内の画像データのバンド幅Wbが色変換ユニットの処理可能な最大バンド幅を超えている。コントローラ12の中央処理ユニットCPUは,あるバンドの中間コードを展開して,バンド幅Wbでラスタ数hのRGBビットマップ画像データをバンドバッファB−FU1内に書き込む。この書き込みは,各ラスタの先頭アドレスAdd11〜Add1hを有するラスタアドレステーブルRAT1に基づく。このテーブルRAT1は,図8の例と同じである。
このバンドバッファB−BUF1内に展開されたRGB画像データは,ラスタ数hであるが,そのバンド幅Wbは色変換ユニットの最大バンド幅を超えている。そこで,本実施の形態では,RGB画像データをラスタ方向にN等分し,それに対応して各ラスタの幅もN等分し,N等分されたバンド幅Wb/Nでラスタ数hの画像データ単位に分割する。図9には,分割数N=2の場合が示され,ラスタ1〜h/2の画像データと,ラスタ(h/2+1)〜hの画像データとに分割される。そして,この分割されるRGB画像データを,分割態様に応じたラスタのアドレスAdd11,Add11.5〜を有するラスタアドレステーブルRAT2に基づいて,バンドバッファB−BUF1から読み出し,色変換ユニット18に供給する。この分割された画像データのバンド幅Wb/2は,色変換ユニットの最大バンド幅より小さいので,色変換ユニットは1回で色変換処理可能である。
そして,色変換ユニット18により色変換されたCMYK画像データは,分割された画像データと同様にバンド幅Wb/2,ラスタ数hからなる4プレーン分のデータであるが,バンド幅Wb,ラスタ数h/2になるようにバンドバッファB−BUF2に格納される。具体的には,バンドバッファB−BUF2内のラスタ毎のアドレスを有するラスタアドレステーブルRAT3に基づき,色変換済みのCMYK画像データがバンドバッファB−BUF2内に書き込まれる。上記の分割された画像データの処理が繰り返されて,全ての画像データについて色変換処理が完了する。そして,最後に,バンド幅Wb,ラスタ数hの態様で,CMYKの画像データがバンドバッファB−BUF2から読み出され,エンジンへの出力処理S18,S20が行われる。この読み出しは,各ラスタのアドレスAdd21〜Add2hを有するラスタアドレステーブルRAT4に基づいて行われる。
図10,図11は,図9の画像データ単位を詳細に示す図である。図10は,図9における展開済みの画像データを分割して読み出す時の画像データ単位を示し,図11は,図9における色変換済みの画像データを合成して書き込む時の画像データ単位を示す。ここでも,分割数N=2を例にして示している。
図10に示されるように,バンドバッファB−BUF1内に展開されたバンド幅Wb,ラスタ数hの画像データ100は,ラスタ方向に2等分され,太枠の画像データとそれ以外の画像データとに分割される。この分割数Nは,分割バンド幅Wb/Nが色変換ユニットで処理可能な最大バンド幅を超えない範囲で最大の幅になるように設定される。但し,画像データ100の2分割は,バンドバッファB−BUF1からの読み出し時に参照するラスタアドレステーブルRAT2により制御される。つまり,ラスタアドレステーブルRAT2は,バンド幅Wb,ラスタ数hの画像データ100から,バンド幅Wb/2,ラスタ数hの画像データ102への変換を特定するものである。そして,ここでは2分割の例であるので,ラスタアドレステーブルRAT2は,図9に示したとおり,ラスタ1の先頭アドレスAdd11と同ラスタ1の1/2のアドレスAdd11.5と,ラスタ2の先頭アドレスAdd12と同ラスタ1の1/2のアドレスAdd12.5〜ラスタh/2の先頭アドレスAdd1(h/2)と同ラスタの1/2アドレスAdd1(h・2).5を有する。
このテーブルRAT2に基づいてバンドバッファB−BUF1から画像データを読み出すことにより,実質的に分割された画像データ102,104が生成される。すなわち,中央処理ユニットCPUは,バンドバッファB−BUF1のアドレスAdd1からラスタ数h/2までの画像データを点順次で読み出し,テーブルRAT2に対応するデータ構成で色変換処理ユニット18に供給する。その結果,バンド幅Wb/2でラスタ数hの画像データ102が色変換ユニット18に供給される。さらに,中央処理ユニットCPUは,バンドバッファB−BUF1のアドレスAdd(h/2+1)からラスタ数hまでの画像データを点順次で読み出し,テーブルRAT2に対応するデータ構成で色変換処理ユニット18に供給する。その結果,バンド幅Wb/2でラスタ数hの画像データ104が色変換ユニット18に供給される。上記のバンドバッファB−BUF1からの画像データの読み出しは,画像データを展開した時の順番で連続して行われるので,読み出し処理は通常の読み出しと同様に点順次に行われる。
次に,図11に示されるように,色変換ユニットにより色変換されたCMYKの画像データ106,108が,順次,バンドバッファB−BUF2にバンド幅Wb,ラスタ数hの態様で書き込まれる。この場合に参照されるラスタアドレステーブルRAT3は,色変換された画像データ106,108の各ラスタの先頭が格納されるべきバンドバッファB−BUF2内のアドレスAdd21,Add21.5〜Add2h,Add2h.5を有する。このテーブルRAT3を参照して,色変化された画像データ106,108をバンドバッファB−BUF2に順次書き込むことで,2つの画像データ106,108が合体されて,バンド幅Wb,ラスタ数hのCMYK画像データ110が生成される。
以上,2等分する場合で説明したが,3等分またはそれより大きいN等分する場合も同様にリード時のテーブルRAT2とライト時のテーブルRAT3を利用することで,分割と合成をリードと読み出しにより行うことができる。
上記の画像データの分割と合成は,バンド幅Wbが分割数Nで割り切れる時に単純に適用可能である。一方,バンド幅Wbが分割数Nで割り切れない場合は,元のバンド幅Wbに画素数mを追加して,分割数Nの倍数のバンド幅(Wb+m)にしてから,分割することが望ましい。その場合,画像データ100の各ラスタの最後にダミーの画素mのデータが追加される。したがって,N分割された最後の分割画像データにダミー画素mのデータが追加されて,色変化ユニット18に供給される。そして,色変換後の画像データからダミー画素mの色変換されたデータを除いて,バンドバッファB−BUF2に書き込みが行われる。したがって,かかるダミー画素に対する画像データの取り扱いが別途必要になる。
上記の方法によれば,バンドバッファB−BUF1に展開された画像データ100をN等分するので,それに伴ってリードとライト時の参照テーブルRAT2,RAT3の生成を簡単に行うことができる。そして,最大バンド幅を有する色変換ユニットであっても,その最大バンド幅を超えるバンド幅の画像データを複数回に分けて色変換処理することができ,しかも,それに伴う処理は,画像データのリード時とライト時に参照するアドレステーブルRATを変更するのみである。
図12,図13は,本実施の形態における別の画像処理対象の画像データ単位を示す図である。図12は,バンドバッファB−BUF1内に展開済みの画像データを分割して読み出す時の画像データ単位を示し,図13は,色変換済みの画像データを合成してバンドバッファB−BUF2に書き込む時の画像データ単位を示す。
図12,図13は,本実施の形態における別の画像処理対象の画像データ単位を示す図である。図12は,バンドバッファB−BUF1内に展開済みの画像データを分割して読み出す時の画像データ単位を示し,図13は,色変換済みの画像データを合成してバンドバッファB−BUF2に書き込む時の画像データ単位を示す。
この画像処理では,図12に示すとおり,バンドバッファB−BUF1内の画像データ200のラスタ1〜hのデータを,色変換ユニット18の最大バンド幅Wbmaxのラスタからなりラスタ数hの画像データ202として読み出し,さらに残りの画像データについても,バンド幅Wbmaxのラスタからなる画像データ204として読み出し,それぞれ色変換ユニット18に供給する。
それに伴い,リード時のラスタアドレステーブルRAT2は,ラスタ1の先頭アドレスAdd11,ラスタ1のバンド幅Wbmax分の画素の次のアドレスAdd11.2,さらにバンド幅Wbmax分の画素の次のアドレスAdd12.2,乃至,ラスタiのアドレスAdd1i.2からバンド幅Wbmax分の画素だけ手前のアドレスを有する。このテーブルのアドレスは,中央処理ユニットCPUにより,展開済みの画像データのバンド幅Wbと最大バンド幅Wbmaxとから演算により求められる。但し,N等分する場合に比較して,このアドレスを求める演算処理は複雑である。
このようなラスタアドレステーブルRAT2によりバンドバッファB−BUF1から読み出された画像データ202は,バンド幅Wbmax,ラスタ数hの画像データ単位であり,色変換ユニット18により処理可能なバンド幅である。さらに,次に読み出された画像データ204は,バンド幅Wbmax,ラスタ数j(<h)の画像データ単位であり,これも色変換ユニット18により処理可能なバンド幅である。但し,バンド内の総画素数Wb×hが最大バンド幅Wbmaxで割り切れない場合は,ダミーデータ201が2番目の画素データ204に付加される。
さらに,図13に示すとおり,色変化ユニット18により色変換された4プレーン分のCMYKの画像データ206は,色変換前の3プレーン分のRGB画像データ202と同じバンド幅Wbmaxで同じラスタ数hからなる。なお,各プレーンの画像データのバンド幅とラスタ数が同じという意味である。そして,色変換後の画像データ206は,バンドバッファB−BUF2内にバンド幅Wb,ラスタ数hの画像データとして格納するために,ラスタアドレステーブルRAT3に基づいて,バンドバッファB−BUF2に順次書き込まれる。画像データ206の書き込みに参照されるテーブルRAT3は図13に示される通りである。また,次の画像データ208についても,同様にテーブルRAT3に基づき,バンドバッファB−BUF2に書き込まれる。但し,ダミーデータ209は,書き込まれない。この書き込み動作により,2つの画像データ206,208が合成され,バンド幅Wbでラスタ数hのCMYK画像データになる。
この図12,13の変形例においても,ラスタアドレステーブルRAT2,RAT3を生成して,それを参照して画像データの読み出しと書き込みを行うことで,バンド幅Wbが処理可能な最大バンド幅Wbmaxを超えていても,色変換ユニット18により色変換処理を行うことができる。
以上,画像処理装置に対応するコントローラ12内のハードウエアユニットとして色変換ユニット18を例にして説明した。ハードウエアユニットとしては,それ以外に,例えば二値化ユニットや,圧縮ユニットなどの場合も,同様に本実施の形態を適用することができる。さらに,上記の実施の形態では,図2(A)のプリンタのコントローラについて説明した。しかしながら,本実施の形態は,図2(B)のプリンタのコントローラについても同様に適用することができる。
IC−BUF:中間コードバッファ B−BUF1:バンドバッファ
B−BUF2:バンドバッファ RAT1,2,3,4:ラスタアドレステーブル
B−BUF2:バンドバッファ RAT1,2,3,4:ラスタアドレステーブル
Claims (6)
- 印刷ページを複数のラスタ毎に分割したバンド単位で,画像データに所定の画像処理を行う画像処理装置であって,
前記処理対象のバンド単位の画像データが第1のバンド幅で第1のラスタ数の容量を有し,
処理可能な最大バンド幅を有し前記所定の画像処理を行う画像処理ユニットと,
前記画像データを格納する内蔵メモリと,
前記内蔵メモリに格納された前記処理対象のバンド単位の画像データについて,前記第1のラスタ数をN等分した第2のラスタ数の単位で順次読み出し,当該読み出した画像データを前記第1のバンド幅をN等分した第2のバンド幅であって前記第1のラスタ数の画像データとして,前記画像処理ユニットに順次入力して処理させ,前記画像処理ユニットにより処理された前記第2のバンド幅であって第1のラスタ数の処理済み画像データを,前記内部メモリに前記第1のバンド幅で第1のラスタ数の画像データとして書き込む制御手段とを有する画像処理装置。 - 請求項1において,
前記内蔵メモリ内のアドレスについてのテーブルであって,前記第1のバンド幅であって第1のラスタ数の画像データ単位を,前記第2のバンド幅であって第1のラスタ数の画像データ単位に変換するアドレス群を有する第1のラスタアドレステーブル(RAT2)と,前記第2のバンド幅で第1のラスタ数の処理済み画像データ単位を,前記第1のバンド幅で第1のラスタ数の画像データ単位に変換するアドレス群を有する第2のラスタアドレステーブル(RAT3)とが生成され,
前記制御手段は,前記第1のラスタアドレステーブル(RAT2)に基づいて,前記内蔵メモリから前記処理対象の画像データの読み出しを行い,前記第2のラスタアドレステーブル(RAT3)に基づいて,前記処理済みの画像データを前記内蔵メモリに書き込む画像処理装置。 - 請求項1において,
前記制御手段は,前記内蔵メモリ内に書き込んだ処理済みの画像データを,前記第1のバンド幅で第1のラスタ数の画像データとして読み出し,画像再生信号として印刷エンジンに出力する画像処理装置。 - 請求項1において,
前記画像処理ユニットは,第1の色空間から第2の色空間に色変換する処理ユニットであり,
前記処理対象の画像データは,第1の色空間の各色に対応するプレーン毎に前記第1のバンド幅であって第1のラスタ数の画像データを有し,
前記処理済みの画像データは,前記第2の色空間の各色に対応するプレーン毎に前記第2のバンド幅であって第1のラスタ数の画像データを有する画像処理装置。 - 印刷ページを複数のラスタ毎に分割したバンド単位で,画像データに所定の画像処理を行う画像処理装置であって,
前記処理対象のバンド単位の画像データが第1のバンド幅で第1のラスタ数の容量を有し,
処理可能な最大バンド幅を有し前記所定の画像処理を行う画像処理ユニットと,
前記画像データを格納する内蔵メモリと,
前記内蔵メモリに格納された前記処理対象のバンド単位の画像データについて,前記第1のラスタ数をN等分した第2のラスタ数の単位で順次読み出し,当該読み出した画像データを前記第1のバンド幅をN等分した第2のバンド幅の画像データとして,前記画像処理ユニットに順次入力して処理させ,前記画像処理ユニットにより処理された前記第2のバンド幅の処理済み画像データを,前記内部メモリに前記第1のバンド幅で第1のラスタ数の画像データとして書き込む制御手段とを有する画像処理装置。 - 印刷ページを複数のラスタ毎に分割したバンド単位で,画像データに所定の画像処理を行う画像処理装置であって,
前記処理対象のバンド単位の画像データが第1のバンド幅で第1のラスタ数の容量を有し,
処理可能な最大バンド幅を有し前記所定の画像処理を行う画像処理ユニットと,
前記画像データを格納する内蔵メモリと,
前記内蔵メモリに格納された前記処理対象のバンド単位の画像データについて,前記最大バンド幅で前記第1のラスタ数の単位で順次読み出し,当該読み出した画像データを前記最大バンド幅の画像データとして,前記画像処理ユニットに順次入力して処理させ,前記画像処理ユニットにより処理された前記最大バンド幅の処理済み画像データを,前記内部メモリに前記第1のバンド幅で第1のラスタ数の画像データとして書き込む制御手段とを有する画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005089360A JP2006264257A (ja) | 2005-03-25 | 2005-03-25 | バンド単位で画像処理を行う画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005089360A JP2006264257A (ja) | 2005-03-25 | 2005-03-25 | バンド単位で画像処理を行う画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006264257A true JP2006264257A (ja) | 2006-10-05 |
Family
ID=37200706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005089360A Pending JP2006264257A (ja) | 2005-03-25 | 2005-03-25 | バンド単位で画像処理を行う画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006264257A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013109784A (ja) * | 2013-03-11 | 2013-06-06 | Canon Inc | 演算方法、演算装置、画像処理装置およびプログラム |
US8724901B2 (en) | 2009-05-22 | 2014-05-13 | Canon Kabushiki Kaisha | Image processing method, apparatus and program for dividing an image for processing |
-
2005
- 2005-03-25 JP JP2005089360A patent/JP2006264257A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8724901B2 (en) | 2009-05-22 | 2014-05-13 | Canon Kabushiki Kaisha | Image processing method, apparatus and program for dividing an image for processing |
US9055253B2 (en) | 2009-05-22 | 2015-06-09 | Canon Kabushiki Kaisha | Method, apparatus, and medium acquiring band-area height on the basis of transfer amount and transfer unit of partial image data of the band area |
JP2013109784A (ja) * | 2013-03-11 | 2013-06-06 | Canon Inc | 演算方法、演算装置、画像処理装置およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080310758A1 (en) | Image processing method and image processing apparatus | |
US9536183B2 (en) | Image processing device and image processing method | |
JP4682662B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP5684466B2 (ja) | 複数のオブジェクト種別のオブジェクトに対応する、ラスタ画像バッファ中の少なくとも一つの画素を処理するための方法及びコンピュータで読み取り可能な媒体 | |
JP4564986B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP3285930B2 (ja) | 画像処理装置 | |
US8259347B2 (en) | Image processing apparatus and computer readable medium | |
JP2006264257A (ja) | バンド単位で画像処理を行う画像処理装置 | |
JP4385628B2 (ja) | イメージデータ処理装置および画像形成装置 | |
JP4131205B2 (ja) | 画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラム | |
JP2011053263A (ja) | 画像処理装置、画像処理方法、画像出力システム、プログラム及び記録媒体 | |
JP2000013601A (ja) | 印刷情報処理装置、中間データ生成装置および方法 | |
JP4636145B2 (ja) | 画像処理装置及びプログラム | |
JP2001169120A (ja) | 画像処理装置及びその方法、及び画像処理システム | |
JP2006103045A (ja) | 画像形成装置 | |
JP2006272556A (ja) | 画像処理装置及び画像処理プログラム | |
JP2005073025A (ja) | 画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラム | |
JP2004334533A (ja) | 画像処理装置および画像処理方法 | |
JPH04215189A (ja) | 画像記録装置 | |
JP3812211B2 (ja) | 画像処理装置 | |
JP4222303B2 (ja) | 画像形成装置 | |
JP4853654B2 (ja) | 画像処理装置、画像処理システムおよび画像処理プログラム | |
JP2020090075A (ja) | 画像形成装置および、画像形成方法 | |
JP2007021730A (ja) | データ処理装置、データ処理方法、データ処理プログラムおよびそのプログラムを記録した記録媒体 | |
JP2007150722A (ja) | データ平滑化回路 |