JP4078747B2 - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP4078747B2 JP4078747B2 JP06272399A JP6272399A JP4078747B2 JP 4078747 B2 JP4078747 B2 JP 4078747B2 JP 06272399 A JP06272399 A JP 06272399A JP 6272399 A JP6272399 A JP 6272399A JP 4078747 B2 JP4078747 B2 JP 4078747B2
- Authority
- JP
- Japan
- Prior art keywords
- compressed image
- buffer
- image data
- marker code
- compressed
- 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
Links
Images
Landscapes
- Storing Facsimile Image Data (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【発明の属する技術分野】
本発明は、文字、図形、画像に対する所定の描画命令で記述されているデータをビットマップに展開して出力する画像処理装置に関する。
【0002】
【従来の技術】
ワードプロセッサや図形エディタなどで処理された文書は、プリンタやディスプレイ装置に出力するために、ページ記述言語(以下、単に「PDL」と言う。)などに変換される。PDLにおいて、画像はビット列を与えるコマンドによって表現され、文字、図形はベクターデータを作成するコマンドによって表現されている。したがって、プリンタなどの出力装置では、PDLを受け取りそれぞれのコマンドを解釈し、出力装置の解像度と色値とに対応したビットマップデータを作成する手段が必要となる。
【0003】
こうした処理において、近年のカラープリンタは高速化および高解像度化が進んできている。そのため、メモリ量削減のための圧縮技術、それに付随した高速化のハードウェアが重要になってきている。これに関する技術として、出力装置の解像度相当のページメモリではなく、ページをスキャンラインによって数十から数百の短冊状に分割したバンドと呼ばれる単位のメモリ(バンドバッファ)を数個持ち、中間的に図形、文字、画像に対する圧縮データを1ページ分作成して、中間データからバンドバッファに繰り返しビットマップデータを生成して、1ページ分の画像を出力することが行われてきている。
【0004】
これは、バンディングと呼ばれる技術であるが、中間データの展開処理(ビットマップ化)には高速化が要求されるため、ハードウェアで構成することが多い。
【0005】
中間データの圧縮形式としては、文字、図形、画像のページ上の位置を示すためのデータとして、各描画要素の描画領域を各スキャンラインの始点と長さで表したデータ(MH(Modified Huffman)、MR(Modified READ )に行われているランレングス)を使用し、さらに画像に関しては、実際に描画するデータをJPEG(Joint Photographic Experts Group)などの画像圧縮技術を使った圧縮画像データを使用して表現することが多い。
【0006】
また、中間データは、本来メモリ削減のための技術であるため、ランレングスデータバッファ、画像圧縮バッファは有限の容量で制限され、それを越えてしまう場合には、フォールバック処理と呼ばれる処理を行い、制限されたバッファの容量に収まるようにしている。
【0007】
従来、特にメモリ使用量と処理時間とが大きいために問題となっている画像データの画像圧縮バッファに対するフォールバック処理に関して、特開平5−64001号公報などでは、画像圧縮バッファがあふれた場合は、直ちにより圧縮率の高いパラメータによって画像圧縮バッファに収まるまで、再圧縮を繰り返すことが行われている。
【0008】
また、画像の一部分を圧縮し得られたデータ量から画像の全体の圧縮データ量を予測して、画像圧縮バッファに収まるようなパラメータを設定して圧縮することも行われている。
【0009】
【発明が解決しようとする課題】
上記従来技術の課題として、PDLになった画像は、各アプリケーションやオペレーティングシステムの制限によって一つの画像をいくつもの部分画像に分解して表現していることが多い。そのために、1ページに数千、数万単位で画像データが埋め込まれていることがある。また、処理の高速化が要求されるために、現実的にハードウェアを使って圧縮伸長を行っているが、効率的なハードウェアの使用のために、各圧縮画像データの先頭と終わりに、圧縮画像データの区切りを示すマーカーコードが必要で、挿入されている。
【0010】
図13は、圧縮画像バッファの使用状態を示す模式図である。この図で斜線で示す部分がマーカーコード+バディングで、白部分(空き領域以外)が圧縮画像データ本体である。従来では、これらの考慮がなされていないために、圧縮バッファ内の圧縮画像データのうち、実際の画像に対するデータの占める割合に比べてマーカーコードの占める割合が大きくなってしまっている。
【0011】
また、このためにより高い圧縮率で再圧縮しても、実質的なデータの削減の効果が少なくなり、フォールバック処理が頻繁に発生して、画質低下や処理時間の増大を招いている。
【0012】
【課題を解決するための手段】
本発明は、このような課題を解決するために成された画像処理装置である。すなわち、本発明の画像処理装置は、入力画像データを圧縮し、マーカーコードが付加された圧縮画像データを出力する画像圧縮手段と、画像圧縮手段から出力された圧縮画像データを格納する圧縮画像バッファと、圧縮画像バッファの空き領域に関する情報を管理するバッファレジスタテーブルと、バッファレジスタテーブルで管理される情報を参照し、圧縮画像バッファの空き領域の容量が新たな圧縮画像データを格納するのに足りず、圧縮画像バッファに格納されている圧縮画像データの容量が所定の閾値より少ないと判断した場合、圧縮画像バッファに格納されている圧縮画像データからマーカーコードを削除して、圧縮画像バッファに格納し直すマーカーコード削除手段と、バッファレジスタテーブルで管理される情報を参照し、圧縮画像バッファの空き領域の容量が新たな圧縮画像データを格納するのに足りず、圧縮画像バッファに格納されている圧縮画像データの容量が所定の閾値以上であると判断した場合、圧縮画像バッファに格納されている圧縮画像データを伸長して、より圧縮レベルの高い再圧縮を行い、圧縮画像バッファに格納する再圧縮手段と、マーカーコード削除手段によってマーカーコードが削除された圧縮画像データの格納場所とサイズとマーカーコードが削除されたことを管理する画像管理テーブルとを備えている。
【0013】
このような本発明では、画像圧縮手段から出力される圧縮画像データを圧縮画像バッファに格納し、バッファ管理手段においてその圧縮画像バッファの空き領域に関する情報を管理している。そして、バッファ管理手段により、圧縮画像バッファの空き領域を増やしたほうが良いと判断した場合、マーカーコード削除手段が圧縮画像バッファに記憶されている圧縮画像データからマーカーコードを削除して、圧縮画像バッファに格納し直している。これにより、削除したマーカーコードの領域だけ圧縮画像バッファの空き領域が増えることになる。
【0014】
また、本発明は、上記構成に加え、バッファレジスタテーブルで管理される情報を参照し、圧縮画像バッファの空き領域の容量が新たな圧縮画像データを格納するのに足りず、圧縮画像バッファに格納されている圧縮画像データの容量が前記所定の閾値より大きいと判断した場合、圧縮画像バッファに格納されている圧縮画像データを伸長して、より圧縮レベルの高い再圧縮を行う再圧縮手段を備える画像処理装置である。
【0015】
このような本発明では、バッファ管理手段により、圧縮画像バッファの空き領域を増やしたほうが良いと判断した場合、圧縮画像管理手段によって、マーカーコードを削除するか、再圧縮を行うかの判断を行っており、マーカーコードを削除すると判断した場合には、マーカーコード削除手段で圧縮画像データのマーカーコードを削除して圧縮画像バッファに格納し直し、再圧縮すると判断した場合には、再圧縮手段で圧縮画像データを伸長し再圧縮を行っている。これにより、マーカーコードを削除した分、または再圧縮前と後との差分だけ圧縮画像バッファの空き領域を増やすことができるようになる。
【0016】
また、本発明は、再圧縮手段によって前記圧縮画像バッファに格納されている圧縮画像データの再圧縮を行った場合、画像圧縮手段が新たな圧縮画像データを再圧縮と同じ圧縮レベルで圧縮して出力する画像処理装置であったり、バッファレジスタテーブルが、再圧縮手段によって圧縮画像バッファに格納されている圧縮画像データを再圧縮したことを示すフラッグを管理しており、画像圧縮手段が、バッファレジスタテーブルのフラッグによって再圧縮があったことを判断した場合、新たな圧縮画像データを再圧縮と同じ圧縮レベルで圧縮して出力する画像処理装置である。
【0017】
また、本発明は、圧縮画像バッファから圧縮画像データを読み出して伸長する画像伸長手段を備えており、画像伸長手段が、圧縮画像データの伸長を行うにあたり画像管理テーブルを参照し、マーカーコードが削除されていると判断した場合には、画像管理テーブルを参照して伸長の対象となる圧縮画像データの格納場所とサイズとによって当該圧縮画像データを読み出し、新たにマーカーコードを付加した状態で伸長を行う画像処理装置である。
【0018】
【発明の実施の形態】
以下、本発明の画像処理装置における実施の形態を図に基づいて説明する。図1は、本実施形態の画像処理装置を説明するブロック図である。すなわち、この画像処理装置は、主としてPDL解釈部1、ベクター処理部2、画像処理部3、中間データ生成部4、画像圧縮部5、中間データ展開部6および出力装置部7を備えた構成となっている。
【0019】
このうち、中間データ生成部4は、エッジデータ生成部41、エッジデータバッファ部42を備え、画像圧縮部5は、圧縮制御部51、画像バッファ52、圧縮伸長H/W(ハードウェア)部53、マーカーコード制御部54および圧縮画像バッファ55を備えている。また、中間データ展開部6は、描画処理部61、出力データバッファ62を備えている。
【0020】
ここで、本実施形態の画像処理装置におけるデータの流れを説明する。PDLは基本的に図形描画、文字描画、画像描画のコマンドで構成される。PDL解釈部1では、入力されたPDLから各種描画コマンドおよびそれに付加されているパラメータを順番に解釈する。そして、それぞれに必要なパラメータを整理して、内部コマンドを作成し、ベクター処理部2および画像処理部3へ内部コマンドを送る。
【0021】
ベクター処理部2では、受け取った内部コマンドから、それぞれの描画要素のページ上での外縁を表すベクターデータを生成し、このベクターデータを、与えられた内部コマンドのパラメータに含まれる色情報とともに中間データ生成部4へ送る。
【0022】
画像処理部3では、内部コマンドのパラメータとして付加された画像データと画像処理パラメータとを使って画像処理を行い、ページ上に置かれるべき画像データ(画像処理済みデータ)を生成する。
【0023】
中間データ生成部4では、エッジデータ生成部41が、受け取ったデータから、図2に示すようなスキャンライン毎に始点と長さとで領域を表すエッジデータを生成し、エッジデータバッファ42に蓄える。例えば、図2に示す図形で、6番目のスキャンラインのエッジとしては、エッジ(1)…始点1、長さ4、エッジ(2)…始点7、長さ1の2個が生成される。この処理は、各描画コマンド(要素)毎に行われ、通常1ページ分、ページに描画されるべき描画要素が全てエッジデータバッファ42に蓄えられるまで繰り返し行われる。エッジの集合には、属性として色情報(色値または画像ID)が付加される。
【0024】
画像圧縮部5では、圧縮制御部51の制御のもとに、画像処理部3で処理された画像データを一旦画像バッファ52に格納し、圧縮伸長H/W部53を使って圧縮画像データを生成して圧縮画像バッファ53に格納する。この時の圧縮画像データは、図3に示すように、圧縮伸長H/W部53で圧縮画像データをハンドリングするために必要なマーカーコード(SOD、EOD)が実際の圧縮画像データの前後に挿入されている。
【0025】
このような圧縮処理は、通常1ページ分、ページに描画されるべき圧縮画像データが全て圧縮画像バッファ55にに蓄えられるまで繰り返し行われ、順番に圧縮画像バッファ55の空き領域に格納されていく。ただし、途中で圧縮画像バッファ55の空き領域がなくなってしまった時などは、圧縮画像バッファ55に空き領域を作る処理を行う。
【0026】
この処理を圧縮画像バッファ55に対するフォールバック処理と呼ぶが、圧縮制御部51によって、マーカーコード制御部54で圧縮画像バッファ55に蓄えられた圧縮画像データのマーカーコード部分を取り除いて、再び圧縮画像バッファ55に書き戻す処理、または圧縮画像バッファ55に蓄えられた圧縮画像データを一旦伸長し、より高い圧縮率のパラメータで再圧縮する処理のいずれかが選択される。
【0027】
さらに、画像圧縮部5では、中間データ展開部6の描画処理部61が実際の出力データバッファ62に画像を書き込む際、必要となる圧縮画像データを伸長する処理も行う。中間データ展開部6では、1ページ分のエッジデータと圧縮画像データとがそれぞれ圧縮画像バッファ55に蓄えられてから処理が開始される。ここで、出力データバッファ62は、ページをスキャンラインと平行にいくつかの領域に分割したバンドという単位のバッファである。これは、ページをN分割した場合には、1/Nの容量で済むことになる。
【0028】
描画処理部61では、エッジデータバッファ部42からエッジデータを読み出して、現在の出力データバッファ62に描画すべきエッジのみを選択し、選択されたエッジから出力データバッファ62に書き込むためのアドレス計算を行い、そのエッジに対応した色もしくは画像データで、対応する出力データバッファ62のアドレスに書き込む。これをエッジデータバッファ部42に蓄えられた全てのエッジに対して行う。
【0029】
その後、出力データバッファ62のデータは、出力装置部7へ送られる。これを1ページ分必要なバンド数分繰り返し、1ページ分の描画データが全て出力装置部7へ送られることによって、出力装置部7から描画されたページが出力されることになる。
【0030】
次に、本実施形態の画像処理装置における主要部である画像圧縮部6について詳細に説明する。すなわち、画像処理部3では、実際に出力装置部7に出力するための解像度、向きなどに変換した画像データを作成し、画像圧縮部5へ渡している。
【0031】
この画像圧縮部5へ渡すデータには2種類あり、一つは実際の画像データで画像バッファ52に蓄えられる。もう一つは、画像データに対する属性であり、圧縮制御部51へ送られる。画像データは、予め画像バッファ52の最大サイズを越えないように、PDL作成時(プリンタドライバで画像処理装置のリソースを管理して実現)または画像処理部3で分割され、画像バッファ52に入力される。ここでは、PDL作成時に制御されているものとする。
【0032】
また、出力装置部7がカラーである場合には、C(シアン)、M(マゼンタ)、Y(黄)、K(黒)の各々に対して一つずつ計4面分入力され、モノクロの場合には1面分入力される。なお、本実施形態では、1面分を前提にして説明するものとする。
【0033】
画像データに対する属性とは、図4に示すように、画像の幅W、高さH、画像のページ上の位置(左上の座標:OX,OY)、画像を識別するためのID(IID)といった情報である。
【0034】
ここで、画像圧縮部5の圧縮制御部51について説明する。図5は圧縮制御部の構成を説明するブロック図である。圧縮制御部51は、画像管理テーブル511、バッファレジスタテーブル512、フォールバック閾値レジスタテーブル513および動作シーケンス制御部514から構成される。
【0035】
画像管理テーブル511は、画像圧縮部5(図1参照)に入力された画像毎に、先ほど説明した属性と画像圧縮を行った時のパラメータID、圧縮された後の圧縮画像データの実際の画像データに対する容量およびSOD、EOD、パディング(図3参照)まで含めたデータ容量をテーブルとして記憶している。初期状態ではテーブルが空の状態であり、画像が追加されるたびに新しいデータが順番に登録されていく。
【0036】
バッファレジスタテーブル512は、圧縮画像バッファ55(図1参照)おび図7に示すマーカーコード制御部54のテンポラリバッファ542に関する情報を記憶するレジスタ群であり、圧縮画像バッファ55の先頭アドレス、圧縮画像バッファ55の容量、使用量、空き容量、フォールバック処理が行われたかどうかの情報と、テンポラリバッファ542のサイズが記憶されている。圧縮画像バッファ55の使用量、空き容量、フォールバック処理が行われたかどうかの情報のレジスタは、圧縮画像バッファ55に圧縮画像データが書き込まれるたびに更新されていく。
【0037】
フォールバック閾値レジスタテーブル513は、圧縮画像バッファ55のフォールバック処理の内容を決定するために使用される各種閾値が記憶されたレジスタ群である。圧縮画像バッファ55のフォールバック処理とは、圧縮画像データの容量が、圧縮画像バッファ55の容量を越えるまたは越えそうだと判断される時に、圧縮画像バッファ55の空き領域を拡げるための処理である。この処理には、高い圧縮率で再圧縮を行う場合と、マーカーコードを削除する場合とがあり、選択できるようになっている。このフォールバック閾値レジスタテーブル513には、フォールバック処理を開始する圧縮画像バッファの空き容量値と圧縮画像データ量に応じて異なったフォールバック処理を行うための閾値とが記憶されている。
【0038】
動作シーケンス制御部514は、画像圧縮部5全体の動作を制御する。ここでは、図1に示す画像処理部3、圧縮伸長H/W部53、マーカーコード制御部54などから画像データ、圧縮画像データに関する情報が入力され、それらの値を画像管理テーブル511、バッファレジスタテーブル512、フォールバック閾値レジスタテーブル513などに書き込む処理と、逆にそれらの値から処理の内容を決定して、圧縮伸長H/W部53やマーカーコード制御部54を動作させるパラメータを生成して、命令を出す役割を持っている。
【0039】
次に、図1に示す圧縮伸長H/W部53の説明を行う。圧縮伸長H/W部53は、画像圧縮および画像伸長を行うハードウェアである。圧縮時には、入力画像データのバッファの先頭アドレスと入力画像データのサイズ、入力画像データの幅と高さ、圧縮率を制御する圧縮パラメータ、圧縮画像データを出力するバッファの先頭アドレスと、圧縮画像データを出力するバッファの残り容量を受け取る。
【0040】
データ転送はDMA転送で行われ、圧縮伸長H/W部53で決められたアライメント単位にデータ転送が行われることから、入力されるアドレスや各種サイズはすべてこのアライメントの倍数になっている必要がある。本実施形態では、アライメントを64バイトとして説明する。したがって、入力画像データの各種サイズが64バイトの倍数でない場合には、画像処理部3の処理の中でパディングを行っている。図6はパディングを説明する図で、画像データが64バイトの倍数に満たない部分にパディングデータ部(図中斜線部参照)を付加している。
【0041】
圧縮伸長H/W部53は、画像データを与えられた入力バッファから64バイト単位で読み出し、画像の高さ、幅などの情報を使って圧縮処理を行う。また、圧縮画像データの出力も64バイト単位で行われるが、図3に示すように、圧縮画像データの最初にはSOD(24バイト)、終わりにはEOD(24バイト)を付加する。これは、画像によらず同じ値のもので、伸長時の制御を単純にしてハードウェアを高速に動作させるためのものである。また、SOD+圧縮画像データ+EODの合計が64バイトの倍数にならないときは、EODの後にパディングデータを付加して出力を行う。
【0042】
そして、圧縮結果の情報として、圧縮画像データの実際の画像データに対する容量およびSOD、EOD、パディングまで含めたデータ容量を動作シーケンス制御部514(図5参照)へ返す。この時、与えられた圧縮画像バッファ55の残り容量を越えてしまった場合には、ただちに圧縮処理を中断して、動作シーケンス制御部514へは圧縮画像バッファ55(図1参照)の残り容量+1の容量を返す。
【0043】
伸長時には、動作シーケンス制御部514から圧縮画像データの先頭アドレス、伸長した画像データを書き出す出力バッファのアドレスが入力されて伸長が行われる。伸長時もこれらの値は64バイトの倍数である必要がある。この時、圧縮伸長H/W部53は、SODを受け取ることによって、自動的に初期化を行い、引き続く圧縮画像データを伸長し、EODを受け取ることによって、伸長処理を自動的に打ち切り、伸長処理を完了する。
【0044】
次に、マーカーコード制御部の説明を行う。図7はマーカーコード制御部の構成を説明するブロック図である。すなわち、マーカーコード制御部54は、読み出し書き込み制御部541とテンポラリバッファ542とから構成される。
【0045】
読み出し書き込み制御部541の動作には、マーカーコード削除読み込みモード、マーカーコード付加読み込みモード、書き込みモードの3つの動作モードを持っている。このうち、マーカーコード削除読み込みモードでは、動作シーケンス制御部514(図5参照)から同モード指定と圧縮画像データをどこから読み出すかのアドレスを受け取る。そして、読み出し始めのSOD(24バイト)部分を読み飛ばし、その次に続くデータからEODを認識する前のデータまで、順番に読み込んだデータをテンポラリバッファ542へ順次書き込む。そして、EODを認識して処理を終了する。これにより、テンポラリバッファ542には、マーカーコードが削除された圧縮画像データが格納されることになる。なお、この時、読み込んだサイズを動作シーケンス制御部514へ戻しておく。
【0046】
マーカーコード付加読み込みモードの場合は、動作シーケンス制御部514から、同モード指定と圧縮画像データをどこから読み出すかのアドレスと、読み込むサイズとを受け取る。そして、先ず、テンポラリバッファ542へSODを書き込んで、その後読み出しサイズ分の圧縮画像データを読み出して、順次テンポラリバッファ542へ書き込みを行う。そして、引き続きEODをテンポラリバッファ542へ書き込む。この際、SODのサイズ+与えられた圧縮画像データのサイズ+EODのサイズが64バイトの倍数になるようにパディングデータもテンポラリバッファ542へ書き込む。その後、トータルの書き込みバイト数を動作シーケンス制御部514へ返す。
【0047】
また、書き込みモードの場合には、動作シーケンス制御部514から、同モード指定と書き込み先の先頭アドレスと書き込みサイズとを受け取り、単純にテンポラリバッファ542の内容を書き込み先の先頭アドレスからコピーするだけである。
【0048】
次に、フォールバック処理の説明を行う。図8は、圧縮制御部のレジスタの初期設定内容を示す図である。ここで、図8(a)に示す画像管理テーブルは何も画像が登録されていないので、空の状態を示している。また、図8(b)に示すバッファレジスタテーブルは、圧縮画像バッファの容量が1MBであり、使用されたサイズは0バイト、空きサイズが1MB、フォールバックは起きていないことを示している。さらに、図8(c)に示すフォールバック閾値レジスタテーブルは、圧縮画像バッファの空き容量サイズが0バイト未満(あふれた場合に相当)になったらフォールバック処理を行うことを示し、また圧縮画像データのサイズが1024バイト未満の場合に、マーカーコードを取り除くフォールバック処理を行うことを示している。
【0049】
これらの閾値は常に一定の値でも、入力画像データや圧縮画像データの状況に応じて途中で変更される変数であってもよい。
【0050】
次に、このような状態からスタートして、非常に大きな2つの画像(IID:1、IID:2)を処理したときの圧縮制御部のレジスタの内容を図9に示す。また、この時の圧縮画像バッファの状態を図10に示す。そして、この画像IID:1とIID:2とが圧縮画像バッファに格納された状態で、大きな画像(IID:3)が入力された場合の処理を説明する。
【0051】
先ず、画像バッファ52(図1参照)へ蓄えられた画像に対する圧縮指示を動作シーケンス制御部514(図5参照)が圧縮伸長H/W部53へ伝える。圧縮伸長H/W部53では、画像バッファ52から画像データを読み出して、画像圧縮処理を行い圧縮画像バッファ55への書き込みを行う。ところが、書き込みの途中で圧縮データ量が圧縮画像バッファ55の残り容量を越えてしまったため、途中で圧縮処理を中断して、動作シーケンス制御部514へ、圧縮画像バッファ5の残り容量+1(131073)を返す。
【0052】
動作シーケンス制御部514では、圧縮制御部51内のバッファレジスタテーブル512の残り容量から、受け取ったサイズを引いて、その値(−1)とフォールバック閾値レジスタテーブル513の開始バッファ空きサイズ(0)とを比較して、小さいのでフォールバック処理を開始する。
【0053】
このとき、動作シーケンス制御部514は、画像管理テーブル511のIID:1の画像の圧縮データサイズ(524288)とフォールバック閾値レジスタテーブル513のMCコード削除データサイズ(1024)とを比較して、圧縮データサイズのほうが大きいので、フォールバック処理として再圧縮処理を選択する。
【0054】
再圧縮処理が選択された場合、圧縮伸長H/W部53は、圧縮画像バッファ内のIID:1に対して、出力先として画像バッファ52を示した伸長処理を行う。伸長が終了した後は、画像管理テーブル511のIID:1に対応する圧縮ID(1)を見て、それよりも高いレベルの圧縮パラメータにより圧縮伸長H/W部53で再圧縮処理を行い、圧縮画像バッファ55へ再圧縮後の圧縮画像データを上書きする。この再圧縮処理では、圧縮前よりも小さいデータサイズになるため、上書きによる画像IID:2のデータへの影響はない。
【0055】
次に、画像IID:2に対応する圧縮画像データについても同様にフォールバック処理を行う。画像IID:2についても、圧縮画像データのサイズ(393216)のほうがMCコード削除データサイズ(1024)よりも大きいので、先と同様に再圧縮処理を選択する。
【0056】
フォールバック処理後の各テーブルの状態を図11に、圧縮画像バッファの状態を図12に示す。そして、動作シーケンス制御部514は、画像処理部53に対して再度画像IID:3の画像入力を要求する。この状態以降の画像入力処理は、動作シーケンス制御部514が、バッファレジスタテーブル512のFB FLAGを参照し、ONになっていることを認識して、最初からフォールバックされた圧縮画像データと同じ圧縮レベルで圧縮するよう指示を与える。なお、デフォルトの圧縮レベルから圧縮を開始してもよい。
【0057】
このようなフォールバック処理により、圧縮画像バッファの空き領域を増やして圧縮画像データを効率良く格納できるようになる。
【0058】
次に、図13に示すように、圧縮画像バッファに非常に細かな圧縮画像データが多数収められている時のフォールバック処理について説明する。なお、これらの圧縮画像データは、フォールバック閾値レジスタテーブル513のMCコード削除データサイズ(1024)小さいものとする。
【0059】
この状態で、先と同じような条件でフォールバック処理が開始されると、動作シーケンス制御部514は、画像管理テーブル511の画像の圧縮データサイズとフォールバック閾値レジスタテーブル513のMCコード削除データサイズ(1024)とを比較するが、この場合、MCコード削除データサイズ(1024)より画像の圧縮データサイズのほうが小さいので、動作シーケンス制御部514からマーカーコード制御部54へ圧縮画像バッファ55の対応するデータに対してマーカーコード削除読み込みが指示され、その後、圧縮画像バッファ55への書き込みが指示される。
【0060】
これを順番に処理することによって、圧縮画像バッファ55は図14に示すような状態となる。動作シーケンス制御部514は、画像処理部53に再度フォールバックを起こした画像の入力を要求するが、この状態以降の画像入力処理は、動作シーケンス制御部514がバッファレジスタテーブル512のFB FLAGを参照し、ONになっていることを認識して、最初からマーカーコードを削除するようにもできるし、デフォルトのままでもよい。
【0061】
このようなフォールバック処理により、圧縮画像バッファの大部分を占めていたマーカーコードを削除して、圧縮画像バッファの空き領域を増やし、圧縮画像データを効率良く格納できるようになる。
【0062】
なお、上記説明したフォールバック処理では、各画像単位でサイズと閾値とを比較したが、動作シーケンス制御部514がフォールバックを起こすときに、画像管理テーブル511を予め全て操作してからフォールバック処理の選択を総合的に判断するようにしてもよい。
【0063】
また、伸長時の処理において、動作シーケンス制御部514が画像管理テーブル511の圧縮IDを参照してマーカーコードが削除された画像について、マーカーコード付加読み込みをモードを実施する場合、圧縮伸長H/W部53に対してマーカーコード制御部54のテンポラリバッファ542から圧縮画像データを入力するように指示することによって、マーカーコードを削除された画像についても問題なく伸長処理を行うことができる。
【0064】
さらに、フォールバック閾値レジスタテーブルに、入力画像データのサイズによって、▲1▼圧縮しない、▲2▼圧縮する、▲3▼圧縮を行いさらにマーカーコードも削除する、といった処理が区別できるような閾値を設けておき、最初の圧縮時からマーカーコードを削除するようにしてもよい。また、マーカーコードを削除するか否かは、入力画像データのサイズのほか、フォールバック時と同じように圧縮画像データのサイズで判断するようにしてもよい。
【0065】
【発明の効果】
以上説明したように、本発明の画像処理装置によれば次のような効果がある。すなわち、圧縮画像バッファのフォールバック処理で、マーカーコードを削除して圧縮画像バッファの空き領域を増やすようにしているため、特に小さなサイズの圧縮画像データを多数格納する場合など、効果的なフォールバック処理を行うことができ、フォールバックの回数を削減できるようになる。これにより、処理時間の短縮、画質の向上を図ることが可能となる。さらに、最初の圧縮時からマーカーコードを削除することで、高速な処理および圧縮画像バッファの使用容量の削減を実現できるようになる。
【図面の簡単な説明】
【図1】 本実施形態の画像処理装置を説明するブロック図である。
【図2】 エッジデータを説明する模式図である。
【図3】 圧縮画像データを説明する模式図である。
【図4】 画像データに与えられる属性を説明する図である。
【図5】 圧縮制御部の構成を説明するブロック図である。
【図6】 パディングを説明する図である。
【図7】 マーカーコード制御部の構成を説明するブロック図である。
【図8】 圧縮制御部のレジスタの初期設定内容を示す図である。
【図9】 圧縮制御部のレジスタの内容を示す図である。
【図10】 圧縮画像バッファの状態を示す模式図である。
【図11】 フォールバック処理後の各テーブルの状態を示す図である。
【図12】 フォールバック処理後の圧縮画像バッファの状態を示す模式図である。
【図13】 細かな圧縮画像データが収められている場合の圧縮画像バッファの状態を示す模式図である。
【図14】 フォールバック処理後の圧縮画像バッファの状態を示す模式図である。
【符号の説明】
1…PDL解釈部、2…ベクター処理部、3…画像処理部、4…中間データ生成部、5…画像圧縮部、6…中間データ展開部、7…出力装置部、51…圧縮制御部、53…圧縮伸長H/W部、54…マーカーコード制御部、55…圧縮画像バッファ
Claims (6)
- 入力画像データを圧縮し、マーカーコードが付加された圧縮画像データを出力する画像圧縮手段と、
前記画像圧縮手段から出力された圧縮画像データを格納する圧縮画像バッファと、
前記圧縮画像バッファの空き領域に関する情報を管理するバッファレジスタテーブルと、
前記バッファレジスタテーブルで管理される情報を参照し、前記圧縮画像バッファの空き領域の容量が新たな圧縮画像データを格納するのに足りず、前記圧縮画像バッファに格納されている圧縮画像データの容量が所定の閾値より少ないと判断した場合、前記圧縮画像バッファに格納されている圧縮画像データから前記マーカーコードを削除して、前記圧縮画像バッファに格納し直すマーカーコード削除手段と、
前記バッファレジスタテーブルで管理される情報を参照し、前記圧縮画像バッファの空き領域の容量が新たな圧縮画像データを格納するのに足りず、前記圧縮画像バッファに格納されている圧縮画像データの容量が前記所定の閾値以上であると判断した場合、前記圧縮画像バッファに格納されている圧縮画像データを伸長して、より圧縮レベルの高い再圧縮を行い、前記圧縮画像バッファに格納する再圧縮手段と、
前記マーカーコード削除手段によって前記マーカーコードが削除された圧縮画像データの格納場所とサイズと前記マーカーコードが削除されたことを管理する画像管理テーブルと
を備えていることを特徴とする画像処理装置。 - 前記再圧縮手段によって前記圧縮画像バッファに格納されている圧縮画像データの再圧縮を行った場合、前記画像圧縮手段は前記新たな圧縮画像データを前記再圧縮と同じ圧縮レベルで圧縮して出力する
ことを特徴とする請求項1記載の画像処理装置。 - 前記バッファレジスタテーブルは、前記再圧縮手段によって前記圧縮画像バッファに格納されている圧縮画像データを再圧縮したことを示すフラッグを管理しており、
前記画像圧縮手段は、前記バッファレジスタテーブルのフラッグによって再圧縮があったことを判断した場合、前記新たな圧縮画像データを前記再圧縮と同じ圧縮レベルで圧縮して出力する
ことを特徴とする請求項1記載の画像処理装置。 - 前記圧縮画像バッファから圧縮画像データを読み出して伸長する画像伸長手段を備えており、
前記画像伸長手段は、前記圧縮画像データの伸長を行うにあたり前記画像管理テーブルを参照し、前記マーカーコードが削除されていると判断した場合には、前記画像管理テーブルを参照して伸長の対象となる圧縮画像データの格納場所とサイズとによって当該圧縮画像データを読み出して前後に新たなマーカーコードを付加し、このマーカーコードが付加された圧縮画像データを伸長する
ことを特徴とする請求項1記載の画像処理装置。 - 前記所定の閾値は、定数もしくは変数から成る
ことを特徴とする請求項1記載の画像処理装置。 - 前記画像管理テーブルを参照して、前記圧縮画像バッファに格納された圧縮画像データのマーカーコードが削除されていると判断した場合、前記圧縮画像データに新たなマーカーコードを付加するマーカーコード付加手段と、
前記マーカーコード付加手段によりマーカーコードが付加された圧縮画像データを入力して画像データを生成する画像伸長手段と
を備えることを特徴とする請求項1記載の画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06272399A JP4078747B2 (ja) | 1999-03-10 | 1999-03-10 | 画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06272399A JP4078747B2 (ja) | 1999-03-10 | 1999-03-10 | 画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000261632A JP2000261632A (ja) | 2000-09-22 |
JP4078747B2 true JP4078747B2 (ja) | 2008-04-23 |
Family
ID=13208579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP06272399A Expired - Fee Related JP4078747B2 (ja) | 1999-03-10 | 1999-03-10 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4078747B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4916430B2 (ja) * | 2004-03-01 | 2012-04-11 | ブコデ ピーティーワイ リミテッド | 文字データのエンコード及びデコード |
-
1999
- 1999-03-10 JP JP06272399A patent/JP4078747B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000261632A (ja) | 2000-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4053115B2 (ja) | 文書画像データの記憶制御方式 | |
US5544290A (en) | Method and apparatus for processing data for a visual-output device with reduced buffer memory requirements | |
EP0469851B1 (en) | Image processing apparatus | |
JP3872558B2 (ja) | メモリ削減技法を使用したページ生成のためのフォールバック処理 | |
US6583887B1 (en) | Method and apparatus for data compression | |
US6348969B1 (en) | Printing with designation of processing | |
JPH02288984A (ja) | ビットマップ変更方法 | |
JPH10243210A (ja) | 画像処理装置及びその方法 | |
JPH11177788A (ja) | 印刷制御方法および印刷装置 | |
JP4222401B2 (ja) | ラスタライズ装置とプログラムと方法 | |
JP3869992B2 (ja) | 情報処理装置、画像処理装置およびそれらの方法 | |
JP4078747B2 (ja) | 画像処理装置 | |
US6310693B1 (en) | Printing control apparatus and method, and printing system for reducing processing overhead | |
JP2003084933A (ja) | 画像処理装置およびプログラム | |
JPH0581395A (ja) | 複数のサイズを有する文書用の交換可能なイメージ・オブジエクトを扱うためのデータ処理システムおよび方法 | |
JP2004258865A (ja) | 情報処理方法 | |
JP2000232587A (ja) | 画像処理装置および画像処理方法 | |
JP2002103697A (ja) | 画像処理装置 | |
JP2007026340A (ja) | 画像プロセッサ、画像処理システムおよびデータ転送方法 | |
KR102568052B1 (ko) | 화상 신장장치, 그 제어방법 및 컴퓨터 프로그램 | |
JP3117987B2 (ja) | 画像処理装置 | |
JPH11188936A (ja) | 画像データ管理装置 | |
JP3119387B2 (ja) | 画像処理装置 | |
US20060139693A1 (en) | Printing system, computer readable medium recording a driver program, and printing device | |
JP2000227844A (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070327 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070525 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071030 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071217 |
|
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: 20080115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080128 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110215 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120215 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130215 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130215 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140215 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |