画像処理装置及びその処理方法
【課題】 解像度変換符号化時に、後段の画像処理で行われる画素補間により低解像度となるか否かを判定することで、圧縮効率を高める。
【解決手段】 画像処理装置が、入力画像の画素データを解像度変換符号化して記憶手段に格納し、当該記憶手段に格納された画素データを読み出して解像度変換復号化した後に画素補間処理を行う。解像度変換符号化に際し、画素データの属性を示す属性情報に基づいて画素補間処理により画素データの解像度が低下するか否かを判定し、低下すると判定した場合、解像度変換符号化にてその画素データの解像度を低下させるように処理する。
【解決手段】 画像処理装置が、入力画像の画素データを解像度変換符号化して記憶手段に格納し、当該記憶手段に格納された画素データを読み出して解像度変換復号化した後に画素補間処理を行う。解像度変換符号化に際し、画素データの属性を示す属性情報に基づいて画素補間処理により画素データの解像度が低下するか否かを判定し、低下すると判定した場合、解像度変換符号化にてその画素データの解像度を低下させるように処理する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及びその処理方法に関する。
【背景技術】
【0002】
近年、高解像度のカラー画像への需要は高く、それらの高画質化への要望へ応えるべくデジタル複合機では1200dpi(dots per inch)や、それを超える解像度の画像を扱うようになってきた。デジタル複合機などの画像処理装置では、装置が扱う画像データを内部的にスプールする際に、符号化圧縮を行うことで、メモリやハードディスク容量の節約やそれらに対する書き込み時間を短縮し、低コスト化や高速化を実現している。
【0003】
ここで、画像処理装置が扱う静止画像データの圧縮方式には、離散コサイン変換を利用したJPEG方式やウェーブレット変換を利用した方式が多く使用されている。これらの符号化方式は、画像を所定のブロック単位(例えば、8×8や16×16画素)に符号化し、離散コサイン変換、量子化、及びエントロピー符号化を行うことで、高い圧縮効率を得てきた。
【0004】
また、特許文献1には、画像をより小さいブロック単位領域(例えば、2×2画素)に分割し、ブロックを構成する画素の代表色と補間代表色を決定し、解像度を変換して圧縮率固定の符号化を行う画像符号化装置が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−104621号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、解像度変換した符号化圧縮データを復号化後に画像処理を行う画像処理装置では、以下に示す圧縮効率が低下するという問題がある。
【0007】
画像処理装置では、プリント処理時に、符号化圧縮してスプールした画像データを復号化した後、色変換、フィルタ処理、ディザリングなどの擬似階調処理、及びスムージング処理を施し、画像形成を行っている。例えば、スムージング処理では、テキストやラインのエッジ端部に対して画素補間処理により輪郭強調を行うが、この画素補間処理により、符号化圧縮を行うブロック単位領域内の画素が太ることで解像度が低下する場合がある。即ち、解像度変換符号化時には高解像度と判定し、低い圧縮率としたブロックを構成する画素が、スムージング処理により太って低解像度となる結果、解像度変換符号化時の高解像度判定が無駄となる場合がある。
【0008】
本発明は、解像度変換符号化時に、後段の画像処理で行われる画素補間により低解像度となるか否かを判定することで、圧縮効率を高めることが可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明は、入力画像の画素データを解像度変換符号化して記憶手段に格納し、当該記憶手段に格納された画素データを読み出して解像度変換復号化した後に画素補間処理を行う画像処理装置であって、
前記入力画像の画素データを解像度変換符号化する際に、当該画素データの属性を示す属性情報に基づいて前記画素補間処理により当該画素データの解像度が低下するか否かを判定する判定手段と、
前記判定手段によって前記画素データの解像度が低下すると判定された場合、前記解像度変換符号化にて当該画素データの解像度を低下させるように処理する処理手段と、
を有することを特徴とする。
【発明の効果】
【0010】
本発明によれば、解像度変換を用いた符号化圧縮処理時に、所定のブロック単位領域が後段の画像処理で画素補間されるか否かを判定することが可能となる。符号化圧縮処理時には高解像度だが、符号化処理の後段の画素補間処理により低解像度となるブロック単位領域に対して高解像度判定を回避し、低解像度判定とすることが可能となる。この結果、符号化圧縮効率を高めることが可能となる。
【図面の簡単な説明】
【0011】
【図1】本実施形態による画像処理システムの全体構成を示すブロック図。
【図2】画像データを符号化する処理を示すフローチャート。
【図3】画像データをプリント出力する処理を示すフローチャート。
【図4】中間画像データを構成する画素のデータ形式を模式的に示す図。
【図5】画像処理部118の詳細な構成を示すブロック図。
【図6】各画像処理ブロックの内部構成を示す図。
【図7】画像処理ブロック506における画像処理実行部603の構成を示す図。
【図8】画素補間判定処理を示すフローチャート。
【図9】解像度変換符号化処理を説明するための図。
【図10】解像度変換符号化部119の構成を示すブロック図。
【図11】画素補間判定部1003の構成を示すブロック図。
【図12】解像度変換符号化処理を示すフローチャート。
【図13】解像度変換復号化処理を示すフローチャート。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。
【0013】
図1は、本実施形態による画像処理システムの全体構成を示すブロック図である。図1に示すように、画像処理システムは、ホストコンピュータ101と、画像処理装置102とから構成される。
【0014】
ホストコンピュータ101は、パーソナルコンピュータ(PC)やワークステーション(WS)などのコンピュータであり、これらのコンピュータ上で作成された画像や文書はPDLデータとして画像処理装置102に入力される。
【0015】
画像処理装置102は、ホストコンピュータ101から出力されたデータを受信する。即ち、画像処理装置102とホストコンピュータ101との間でデータ通信可能なネットワークが形成されていることを意味するが、このネットワークの構成については特に限定するものではない。
【0016】
画像処理装置102は、ホストコンピュータ101から受信したデータに基づいて各種の画像処理を施し、画像処理済みのデータをプリントエンジン部122へ出力する。尚、画像処理装置102が行う処理の詳細については後述する。
【0017】
一方、プリントエンジン部122は、画像処理装置102から出力された画像処理済みのデータに基づいて、紙などの記憶媒体上に印刷処理を行う。尚、本実施形態では、画像処理装置102に対してデータを出力するのはホストコンピュータ101として説明するが、これ以外の装置でも良い。例えば、スキャナ入力部(不図示)から出力されたデータを画像処理装置102に入力するようにしても良い。
【0018】
次に、画像処理装置102の詳細な構成について説明する。この画像処理装置102には、ホストI/F部111、PDL処理部112、CPU113、RAM114、ROM115、記憶装置制御部116が含まれる。更に、画像処理装置102にはエンジンI/F部117、画像処理部118、解像度変換符号化部119、解像度変換復号化部120、記憶装置121、プリントエンジン部122が含まれる。
【0019】
ホストI/F部111は、ホストコンピュータ101から出力されたPDLデータを受信するためのインタフェースとして機能する。尚、ホストI/F部111は画像処理装置102とホストコンピュータ101とを繋ぐネットワークに応じて異なり、例えばイーサネット(登録商標)やシリアルインターフェースなどで構成される。
【0020】
PDL処理部112は、ホストI/F部111が受信したPDLデータを展開する処理を行う。CPU113は、RAM114やROM115に格納されているプログラムやデータを用いて画像処理装置102全体の制御を行うと共に、後述する画像処理装置102が行う各処理を実行する。
【0021】
RAM114は、ホストI/F部111を介してホストコンピュータ101から受信したデータを一時的に記憶するためのエリアを備える。また、RAM114はCPU113が各種処理を実行する際に用いるワークエリアを備える。
【0022】
ROM115は、CPU113が画像処理装置102全体を制御する際に実行するプログラムやデータや画像処理装置102の設定データなどが格納されている。記憶装置制御部116は、画像処理装置102が扱う画像データを記憶装置121に記録する際の制御を行う。エンジンI/F部117は、画像処理装置102による画像処理済みのデータをプリントエンジン部122に出力するための一連の処理を行う。
【0023】
画像処理部118は、ホストコンピュータ101から出力されたデータからなる画像に対する画像処理を行い、特に本発明に係るスムージングなどの画素補間処理の画像処理部を含む。尚、この画像処理部118の詳細については後述する。
【0024】
解像度変換符号化部119は、PDL処理部112において展開された画像に対して、所定のブロック単位領域毎に解像度変換処理を行い、入力画像よりも低い解像度画像と、解像度変換情報を符号化した補間データとを生成する。
【0025】
解像度変換復号化部120は、解像度変換符号化部119で生成された低解像度画像と補間データとを復号化し、符号化前の画像を生成する。尚、解像度変換符号化部119、及び解像度変換復号化部120の処理詳細については後述する。
【0026】
記憶装置121は、ハードディスクなどの大容量記憶媒体であり、画像処理装置102がホストコンピュータ101から受信した画像データや処理時に生成する中間画像データを記憶する。
【0027】
上述の各部は、画像処理装置102の内部バス131によって互いに接続される。各部間のデータ転送は、各部と内部バス131との間に設けられたDMAC(Direct Memorry Access Controller)からなる不図示のデータ転送部を用いて行う。
【0028】
次に、ホストコンピュータ101から画像処理装置102にデータを出力した場合に、画像処理装置102が行う処理を、図2のフローチャートを用いて説明する。この処理は、ホストI/F部111を介してホストコンピュータ101から出力されたPDLデータの受信をCPU113が検知することで開始される。
【0029】
S201において、CPU113は、受信したPDLデータを一時的にRAM114に格納する。次に、S202において、CPU113は、格納したPDLデータをディスプレイリスト(DL)に展開した後、S203において一時的にRAM114に格納する。尚、S202では、PDLデータが有する画像情報とそれに対応する属性情報を生成し、DLに格納する。ここで、生成する属性情報としては、PDL入力の文字、PDL入力のライン、及びPDL入力の写真などを示す情報である。
【0030】
次に、S204において、PDL処理部112が、格納されたDLに基づいて画像展開処理を行い、中間画像データを生成する。中間画像データには、DLが有する画像情報とそれに対応する属性情報とが、画素単位で対応付けされた状態で格納される。そして、S205において、この中間画像データは、解像度変換符号化部119において、低解像度画像データと補間データとに変換される。これら低解像度画像データと補間データとは、S206において、記憶装置制御部116を介して記憶装置121へ出力される。ここで、低解像度画像データと補間データとの出力は、記憶装置制御部116が有する不図示のデータ転送部が行うものとする。そして、ホストコンピュータ101から送信された画像データに応じて1ページ以上の低解像度画像データと補間データとして、記憶装置121に保存される。
【0031】
次に、記憶装置121に保存された低解像度画像データと補間データとを読み出し、プリントエンジン部122に出力してプリントを行う処理を、図3のフローチャートを用いて説明する。この処理は、CPU113が記憶装置制御部116への低解像度画像データと補間データとのスプール処理に係る終了通知を受信後に、プリント開始命令を解像度変換復号化部120に指示することで、開始される。
【0032】
S301において、CPU113は、画像処理部118に対して設定を行う。具体的には、画像処理部118が有する不図示の画像処理モジュールの各レジスタに対して必要なパラメータを書き込む。
【0033】
次に、S302において、CPU113は、記憶装置121に保存されている低解像度画像データと補間データとをRAM114から解像度変換復号化部120へ読み出すよう指示する。解像度変換復号化部120では、内部に有する不図示のデータ転送部が復号化された中間画像データをRAM114へ出力する。そして、S303において、画像処理部118は、内部に有する不図示のデータ転送部がRAM114から読み出した中間画像データに対してプリント出力用の画像処理を行い、プリントデータに変換する。
【0034】
次に、S304において、変換されたプリントデータを、内部に有する不図示のデータ転送部がRAM114に出力した後、エンジンI/F部117を介してプリントエンジン部122へ出力する。
【0035】
以上の処理により、ホストコンピュータ101から受信したデータを解像度変換符号化し、低解像度画像データ、及び補間データからなるスプールデータとして保持することができる。
【0036】
更に、スプールデータに基づいて印刷を行う場合には、スプールデータに対して解像度変換復号化を行い、中間画像データを生成し、画像処理を行った結果をプリントエンジン部122に出力することができる。
【0037】
尚、スプールデータを記憶装置121に保持するとしたが、これとは別にRAM114にのみ保持し、解像度変換復号化、及び画像処理を実行し、その結果をプリントエンジン部122に出力するようにしても良い。
【0038】
図4は、中間画像データを構成する画素のデータ形式を模式的に示す図である。ここで、中間画像データを構成する各画素のデータは、色コンポーネント毎のビット深度を示す画像情報と、画像データ中で該画素の属する領域やオブジェクト情報を示すメタデータである像域情報とから構成される。具体的には、属性情報のデータ長が8ビット、色コンポーネントとしてR、G、Bそれぞれのデータ長が8ビットである。尚、属性情報のデータ長、画像情報のデータ長、及び色空間情報はこれに限定されるものでは無く、他のデータ長であっても良く、また他の色空間であっても良い。
【0039】
次に、画像処理部118の詳細な構成を、図5のブロック図を用いて説明する。図5に示すように、画像処理部118は、データ転送を行うブロックと画像処理を行うブロックとから構成される。図5の例では、入力データ転送部501、出力データ転送部502、画像処理ブロック503〜506で構成されるものとする。ここで、画像処理部118を構成する画像処理ブロックは、スムージング等の画素補間処理を行うブロックを少なくとも一つ含むものとし、画像処理ブロック506がこれに該当するものとする。
【0040】
また、その他の画像処理ブロック503〜505は、画像処理ブロック503が色変換処理、画像処理ブロック504が下地処理、画像処理ブロック505が中間調処理とする。尚、画像処理ブロックの処理内容、及び段数は一例であり、実現する画像処理に応じて増減しても良い。
【0041】
入力データ転送部501は、内部バス131に接続され、同じく内部バス131に接続されるRAM114に予め保持された処理対応データを画像処理部118内部へ読み込む。ここで、処理対応データは、解像度変換符号化部119で生成される中間画像データである。
【0042】
入力データ転送部501の動作に要する設定としては、RAM114上に存在する中間画像データを構成する画像情報及び像域情報の開始アドレス番地とデータ長とを画像処理部118の有する不図示のレジスタに設定する。レジスタの設定は、CPU113が行うものとする。
【0043】
出力データ転送部502は、内部バス131に接続され、画像処理部118で処理された画像データを内部バス131に接続されるRAM114へ転送する。出力データ転送部502の動作に要する設定としては、RAM114上に画像データを書き出すために要するページ先頭画素の画像情報及び像域情報のアドレス番地と出力データ長とを画像処理部118の有する他の不図示のレジスタに設定する。各レジスタの設定は、CPU113が行うものとする。
【0044】
画像処理ブロック503〜506は、入力データ転送部501から出力される画素データに対して各画像処理ブロック固有の画像処理をパイプライン的に行い、処理結果を出力データ転送部502へと出力する。
【0045】
図6は、各画像処理ブロックの内部構成を示す図である。データ分離部601は、入力される画素データを解析し、画素データが画素データを画像情報と像域情報とに分離後、画像情報は画像処理実行部603に出力し、像域情報は属性判定部602に出力する。
【0046】
属性判定部602は、画素データの属性を判定し、判定結果を画像処理実行部603へ出力すると共に、入力された像域情報をデータ結合部604へ出力する。画像処理実行部603は、判定結果に応じて、予め設定された不図示の画像処理実行に係る設定値を選択し、該当する画像情報に対して所定の画像処理を実行した後、処理結果となる画像情報をデータ結合部604へ出力する。
【0047】
データ結合部604は、属性判定部602から入力された像域情報と画像処理実行部603から入力された処理結果である画像情報とを結合し、後段の画像処理ブロックへ出力する。尚、各画像処理ブロックの処理に応じて、画像処理実行部603の実装がそれぞれ異なるが、その他の構成は同様である。
【0048】
図7は、画像処理ブロック506における画像処理実行部603の構成を示す図である。この画像処理ブロック506では、画像処理実行部603が画素補間処理を実行する。フィルタ部701は、画像処理ブロック506のデータ分離部601から入力される画像情報に対して平滑化フィルタ処理を行う。具体的には、画像処理ブロック506が備える不図示のラインバッファに貯めた画素と入力画素とを用いて処理対象注目画素の周辺画素を参照したフィルタ演算処理を行う。ラインバッファのサイズは、主走査方向の最大画素数が保持できるサイズ長であり、ライン数は周辺画素参照領域の副走査方向ライン数より1小さい値である。この例では、周辺画素参照領域を3×3画素とし、ラインバッファは2ライン分となる。また、フィルタ演算に係る各フィルタ係数は画像処理ブロック506が備える不図示のレジスタに予め設定される値である。
【0049】
パターンマッチング部702は、フィルタ部701から出力され、主走査画素サイズで2ライン分となる不図示の第二の内部バッファに貯めた画素と次ラインの画素とを用いて形成した3×3画素領域に対してパターンマッチング処理を行う。マッチした場合は一致パターンフラグを真として、画素データと合わせて画素補間部703へ出力する。
【0050】
一方、マッチしない場合は一致パターン情報を偽として、画素補間部703へ出力する。ここで、マッチングするパターンデータは、画像処理ブロック506が備える不図示のルックアップテーブル(LUT)に予め設定したパターンを使用するものとする。
【0051】
画素補間部703では、パターンマッチング部702から出力される一致パターン情報と属性判定部602から出力される属性情報とに応じて、画素補間を行うか否かを判定し、画素補間を行う。
【0052】
図8は、画素補間を行うか否かの判定処理を示すフローチャートである。この処理は、データ分離部601からの画像情報と、それに対応するパターンマッチング部702から出力される一致パターン情報と、像域判定情報と、が画素補間部703に入力された時に実行される。
【0053】
S801、S802、及びS803において、像域判定情報の判定を行う。像域判定情報がラインと判定された場合はS806へ遷移し、画素補間実行に係る判定フラグに真をセットし、画素補間判定処理を終了する。一方、像域判定情報が文字と判定された場合はS804へ遷移する。S804及びS805では、画像情報が白画素か否かを判定する。白画素と判定された場合はS807へ遷移し、判定フラグに偽をセットし、画素補間判定処理を終了する。また、白画素でないと判定された場合はS806へ遷移し、判定フラグに真をセットし、画素補間判定処理を終了する。
【0054】
また、上述のS802及びS803において、像域判定情報がライン又は文字の何れとも一致しない場合はS807へ遷移し、判定フラグに偽をセットし、画素補間判定処理を終了する。
【0055】
画素補間部703は、判定フラグ及び一致パターン情報が、共に真であれば、画素補間処理結果としてパターンマッチング部702から受信した画素データを出力する。しかし、判定フラグ又は一致パターン情報の何れか一方が偽であれば、画素補間処理は行わずにデータ分離部601から入力される画像情報を出力する。
【0056】
以上説明した処理により、画像処理ブロック506の画像処理実行部603において、ラインか白画素でない文字で、かつ所定のパターンと一致する場合にのみ、画素補間処理が行われ、それ以外の場合には、画素補間処理が行われない。
【0057】
次に、解像度変換符号化部119で行う符号化処理について、図9乃至図12を用いて説明する。図9に示すように、入力画像901から2×2画素のブロック902を抽出し、ブロック単位で符号化圧縮して低解像度データと補間データとを出力する。
【0058】
図9に示す903は、ブロック単位領域(パターン情報)904、ブロックを構成する色数(組み合わせ)905、対応する低解像度データ906、及び補間データ907、の関係を示す表である。
【0059】
まず、ブロック単位領域904とブロックを構成する色数905との関係を説明する。ブロック色数905が1色で全画素が同色である場合の組み合わせは1通りである。これに対応するパターン情報を、16進数形式で0x0とする。
【0060】
次に、ブロック色数905が2色である場合の組み合わせは、左上の画素を第1色とし、他方を第2色として考えると、左上以外残りの3画素へ第1色もしくは第2色が入るので、4画素同色の場合を除くと、全部で7通りである。これに対応するパターン情報を、16進数形式で0x1〜0x7とする。
【0061】
また、ブロック色数905が3色である場合の組み合わせは、3色のうち1色だけ2度使われる場合の数と言い換える事が可能で、4画素の座標のうち、2画素が同じ色になる場合の数を求めれば良い。つまり、3色の場合の数は、4つの座標から2つの座標を取る組み合わせとなり、全部で6通りとなる。これに対応するパターン情報を、16進数形式で0x8〜0xDとする。
【0062】
更に、ブロック色数905が4色である場合の組み合わせは、1色の場合と同様に1通りとなる。これに対応するパターン情報を、16進数形式で0xEとする。
【0063】
このように、2×2画素のブロック902の場合、ブロック色数905が1〜4色全ての場合の数は、全部で15通りである。
【0064】
次に、ブロック色数905に対応する低解像度データ906と、補間データ907との構成を説明する。低解像度データ906は、2×2画素からなるブロック902の左上の画素の色情報とし、例えば色空間がRGBで、各色コンポーネントのデータ長が8ビットの画素の場合、各色情報のビット長は24ビットで表現可能である。また、この左上画素の色情報を第1色とし、以下、右上画素を第2色、右下画素を第3色、左下画素を第4色とする。
【0065】
補間データ907は、ブロック902に応じた、パターン情報と色情報とから構成される。例えば、ブロック色数905が1色の場合は、パターン情報として0x0と、1色を表現する色情報とから構成される。ここで、パターン情報のビット長は4ビットであり、ブロック色数905の全組み合わせ(15通り)を表現する最小のビット長である。
【0066】
色情報は、ブロック902を構成する画素で、2×2画素の左上以外の残り3つ(第2〜4)の画素の色情報であり、例えば色空間がRGBで、各色コンポーネントのデータ長が8ビットの画素の場合、各色情報のビット長は24ビットである。
【0067】
以上説明した、低解像度データ906と補間データ907を用いることで、2×2画素からなるブロック902を圧縮符号化することが可能となる。例えば、ブロック902が全画素同色である場合、圧縮符号化前のデータ量はRGB8ビット4画素分の96ビットである。この全画素同色のブロックを圧縮符号化した場合、色情報を示す低解像度データが24ビットに、全色同色画素であることを示すパターン情報が4ビットになり、全体で28ビットになる。また、圧縮符号化データは、補間データ(パターン情報及び色情報)907からブロック単位領域904に示す元データである2×2画素のブロック902に復号化できる。
【0068】
次に、解像度変換符号化部119の構成及び動作を、図10のブロック図を用いて説明する。入力データ転送部1001は、内部バス131に接続され、RAM114に予め保持された処理対応データを画像処理部118の内部へ転送し、データを所定の画素領域で切り出し画素補間判定部1003へ出力する。ここで、処理対応データは、PDL処理部112で生成される中間画像データである。
【0069】
入力データ転送部1001の動作のために、RAM114上に存在する中間画像データを構成する画像情報と像域情報との開始アドレス番地、データ長、画素切り出しサイズ、を解像度変換符号化部119の有する不図示のレジスタに設定する。尚、レジスタの設定は、CPU113が行うものとする。
【0070】
出力データ転送部1002は、内部バス131に接続され、解像度変換符号化部119で生成される符号化データを内部バス131に接続されるRAM114へ転送する。出力データ転送部1002の動作に要する設定としては、RAM114上に画像データを書き出すために要する、ページ先頭画素の画像情報及び像域情報のアドレス番地と出力データ長とを画像処理部118の有する他の不図示のレジスタに設定する。尚、各レジスタの設定は、CPU113が行うものとする。
【0071】
画素補間判定部1003は、入力データ転送部1001からの中間画像データに対して上述した画像処理実行部603と同様な構成で画素補間判定処理を行い、判定結果を生成する。
【0072】
図11は、画素補間判定部1003の構成を示すブロック図である。画素補間判定部1003はフィルタ部1011、パターンマッチング部1012、属性判定部1013、画素補間判定部1014で構成される。フィルタ部1011と、パターンマッチング部1012と、属性判定部1013とが、それぞれ行う処理は、上述した画像処理実行部603の各処理と同じである。また、周辺画素参照領域も、それぞれ3×3画素で同じサイズである。よって、画素補間判定部1003で得られる判定結果は、処理後段に位置する画像処理ブロック506で該当画素が補間処理されるか否かを示すものとなる。
【0073】
図10に戻り、符号化部1004は、画素補間判定部1003での画素補間処理に係る判定結果に応じて、解像度変換符号化処理を行う。
【0074】
次に、解像度変換符号化部119が行う符号化処理を、図12のフローチャートを用いて説明する。この処理は、CPU113がPDL処理部112により生成された中間画像データの受信を、解像度変換符号化部119に指示することで、処理が開始される。
【0075】
S1201において、解像度変換符号化処理を行うための画像データを取得する。具体的には、入力データ転送部1001を用いて、ホストコンピュータ101から入力され、PDL処理部112で変換された後に記憶装置121に格納された中間画像データを取得する。取得した画像データは、解像度変換符号化部119が有する不図示の内部バッファに格納する。
【0076】
次に、S1202において、入力データ転送部1001が、取得した中間画像データについて、第1のブロック単位領域で切り出しを行う。第1のブロック単位領域とは、画素補間判定部1003が備える各周辺画素参照処理の画素参照領域サイズで最大のサイズとし、この例では3×3画素(=9画素)の領域サイズである。
【0077】
以下、S1203〜S1205における処理は、画素補間判定部1003で行うものとする。まず、S1203では、切り出された第1のブロック単位領域について、画素補間判定処理を行う。この画素補間判定処理は、上述した画像処理ブロック506で行われる画素補間処理における画素補間判定処理(S801〜S807)と同様であり、判定結果として画素補間に係る判定フラグを生成する。
【0078】
次に、S1204及びS1205では、S1203で生成された判定フラグに応じて、画素補間するか否か、解像度が低下するか否かを判定する。まず、S1204では、判定フラグが偽の場合はS1208へ遷移する。一方、判定フラグが真の場合はS1205へ遷移し、第1のブロック単位領域の解像度が低下するか否かを判定する。具体的には、第1のブロック単位領域を構成する3×3画素の各画像情報を互いに比較し、全ての画像情報が同色であれば解像度が低下する低解像度画素領域と判定し、S1206へ遷移する。一方、同色でなければ解像度が低下しない高解像度画素領域と判定し、S1208へ遷移する。
【0079】
以下、S1206〜S1208における処理は、符号化部1004が行うものとする。まず、S1206では、解像度変換符号化の処理単位となる第2のブロック単位領域を構成する各画素の色情報を参照し、同色画素で構成されているか否かを判定する。第2のブロック単位領域とは、解像度変換符号化処理を行う画素単位領域であり、ここでは2×2画素である。これは、入力データ転送部1001で切り出される3×3画素の第1のブロック単位領域とは異なる小さいサイズである。そのため、符号化部1004は3×3画素分のデータを保持可能な不図示の内部バッファを備え、入力画像データを保持しながら符号化処理を行う。尚、内部バッファのサイズは一例であり、例えば3×3画素分のデータを保持可能なバッファを2重に持ち、ダブルバッファリング処理することで、処理効率化を行っても良い。
【0080】
この処理では、第2のブロック単位領域を構成する2×2画素(=4画素)それぞれの画像情報をコンポーネント毎に比較し、全てが一致するか否かの判定を行う。判定結果が真の場合はS1207へ遷移し、判定結果が偽の場合はS1208へ遷移する。
【0081】
このS1207では、第2のブロック単位領域を構成する画素が全て同色であるとし、これに対応する低解像度画像データ906と補間データ907とを生成する(解像度を低下させ、データ量を削減し符号化圧縮効率が高まる)。具体的には、低解像度データとして、第2のブロック単位領域を構成する2×2画素の色情報を生成する。また、補間データとして、第2のブロック単位領域が全画素同色であることを示すパターン情報の値として0x0を生成する。低解像度データと補間データとを生成後、S1209へ遷移する。
【0082】
一方、S1208では、第2のブロック単位領域を構成する画素が全て同色でないとし、これに対応する低解像度画像データと補間データとを生成する。低解像度データとして、第2のブロック単位領域を構成する2×2画素の左上画素の色情報を生成する。また、補間データとして、ブロック単位領域を構成する色数に応じたパターン情報と第2色〜第4色の色情報とを生成する。
【0083】
具体的には、第2のブロック単位領域が2色であれば、パターン情報の値として0x1〜0x7の何れかと、第2色の色情報として2×2画素の左上以外の色情報を生成する。また、第2のブロック単位領域が3色であれば、パターン情報の値として0x8〜0xDの何れかと、第2色の色情報として2×2画素の左上画素以外の色情報と、第3色の色情報として左上画素でも第2色でもない残りの色情報とを生成する。また、第2のブロック単位領域が4色であれば、パターン情報の値として0xEを生成する。そして、第2色の色情報として2×2画素の左上画素以外の色情報と、第3色の色情報として左上画素でも第2色でもない残りの色情報と、第4色の色情報として左上画素でも第2色でも第3色でもない残りの色情報とを生成する。
【0084】
低解像度データと補間データとを生成後、S1209へ遷移する。このS1209では、S1201で取得した全画像に対して、符号化したか否かを判定する。判定結果が偽の場合はS1202へ遷移し、残りの第2のブロック単位領域に対して符号化処理を行う。一方、判定結果が真の場合は、解像度変換符号化処理を終了する。
【0085】
次に、解像度変換複号化部120が行う復号化処理を、図13に示すフローチャートを用いて説明する。この復号化処理は、記憶装置制御部116による低解像度画像データと補間データとからなる符号化データスプール処理終了後に、CPU113がプリント開始命令を解像度変換符号化部119に指示することで開始される。
【0086】
S1301において、解像度変換符号化データを取得する。具体的には、解像度変換復号化部120が備える不図示のデータ転送部を用いて解像度変換符号化部119において符号化処理し、記憶装置121へと格納された低解像度画像データと補間データとを取得し、S1302へ遷移する。このS1302では、取得した補間データを第2のブロック単位領域毎で復号化し、パターン情報を生成する。
【0087】
次に、S1303において、S1302で復号化したパターン情報に対応する低解像度画像データを第2のブロック単位領域毎に復号化し、元データである中間画像データを生成する。次に、S1304において、S1301で取得した全画像に対して、符号化したか否かを判定する。判定結果が偽の場合はS1302へ遷移し、残りの取得した符号化データに対して復号化処理を行う。一方、判定結果が真の場合は、解像度変換復号化処理を終了する。
【0088】
本実施形態によれば、解像度変換を用いた符号化圧縮処理時に、所定のブロック単位領域が後段の画像処理で画素補間されるか否かを判定することが可能となる。そして、符号化圧縮処理時には高解像度だが、符号化処理後に低解像度となるブロック単位領域を判定し、低解像度判定とすることが可能となり、符号化圧縮効率を高めることが可能となる。これにより、符号化圧縮したデータを正しく復号化することが可能となる。
【0089】
[本実施形態の変形例]
次に、本実施形態における解像度変換符号化部119の画素補間判定部1003で行う周辺画素参照処理の参照領域を、より小さくした変形例を説明する。具体的には、解像度変換符号化処理で予め定められたブロック単位領域と同じ2×2画素サイズとする。これにより画素補間判定部1003の実装容易化が可能となる。
【0090】
本実施形態の変形例では、フィルタ部1011、及びパターンマッチング部1012の周辺画素参照領域がそれぞれ2×2画素であり、各処理の実装の容易性が高まり、かつ、回路規模等の実装コストを削減可能となる。具体的には、各処理において周辺画素を保持するための不図示の内部バッファサイズが、対3×3画素比の半分以下に削減される。
【0091】
また、パターンマッチング部1012でのパターンサイズが縮小するためパターン保持に係るLUTサイズが、対3×3画素比の半分以下に削減される。更には、符号化部1004において、入力画像データを保持する不図示の内部バッファ量も削減される。そして、各処理に係る精度は周辺画素参照領域に応じた分だけ低下するが、解像度変換符号化処理時に画素補間判定を行うことが可能となる。
【0092】
本実施形態の変形例によれば、解像度変換符号化部119の画素補間判定部1003が行う周辺画素参照処理の参照領域サイズを解像度変換符号化処理のブロック単位領域まで小さくして実装を容易化し、後段の画像処理での画素補間に係る判定が可能となる。そして、符号化圧縮処理時には高解像度だが、符号化処理の後段画像処理により低解像度となるブロック単位領域を判定し、低解像度判定とすることが可能となり、符号化圧縮効率を高めることが可能となる。
【0093】
[他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、画像処理装置及びその処理方法に関する。
【背景技術】
【0002】
近年、高解像度のカラー画像への需要は高く、それらの高画質化への要望へ応えるべくデジタル複合機では1200dpi(dots per inch)や、それを超える解像度の画像を扱うようになってきた。デジタル複合機などの画像処理装置では、装置が扱う画像データを内部的にスプールする際に、符号化圧縮を行うことで、メモリやハードディスク容量の節約やそれらに対する書き込み時間を短縮し、低コスト化や高速化を実現している。
【0003】
ここで、画像処理装置が扱う静止画像データの圧縮方式には、離散コサイン変換を利用したJPEG方式やウェーブレット変換を利用した方式が多く使用されている。これらの符号化方式は、画像を所定のブロック単位(例えば、8×8や16×16画素)に符号化し、離散コサイン変換、量子化、及びエントロピー符号化を行うことで、高い圧縮効率を得てきた。
【0004】
また、特許文献1には、画像をより小さいブロック単位領域(例えば、2×2画素)に分割し、ブロックを構成する画素の代表色と補間代表色を決定し、解像度を変換して圧縮率固定の符号化を行う画像符号化装置が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−104621号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、解像度変換した符号化圧縮データを復号化後に画像処理を行う画像処理装置では、以下に示す圧縮効率が低下するという問題がある。
【0007】
画像処理装置では、プリント処理時に、符号化圧縮してスプールした画像データを復号化した後、色変換、フィルタ処理、ディザリングなどの擬似階調処理、及びスムージング処理を施し、画像形成を行っている。例えば、スムージング処理では、テキストやラインのエッジ端部に対して画素補間処理により輪郭強調を行うが、この画素補間処理により、符号化圧縮を行うブロック単位領域内の画素が太ることで解像度が低下する場合がある。即ち、解像度変換符号化時には高解像度と判定し、低い圧縮率としたブロックを構成する画素が、スムージング処理により太って低解像度となる結果、解像度変換符号化時の高解像度判定が無駄となる場合がある。
【0008】
本発明は、解像度変換符号化時に、後段の画像処理で行われる画素補間により低解像度となるか否かを判定することで、圧縮効率を高めることが可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明は、入力画像の画素データを解像度変換符号化して記憶手段に格納し、当該記憶手段に格納された画素データを読み出して解像度変換復号化した後に画素補間処理を行う画像処理装置であって、
前記入力画像の画素データを解像度変換符号化する際に、当該画素データの属性を示す属性情報に基づいて前記画素補間処理により当該画素データの解像度が低下するか否かを判定する判定手段と、
前記判定手段によって前記画素データの解像度が低下すると判定された場合、前記解像度変換符号化にて当該画素データの解像度を低下させるように処理する処理手段と、
を有することを特徴とする。
【発明の効果】
【0010】
本発明によれば、解像度変換を用いた符号化圧縮処理時に、所定のブロック単位領域が後段の画像処理で画素補間されるか否かを判定することが可能となる。符号化圧縮処理時には高解像度だが、符号化処理の後段の画素補間処理により低解像度となるブロック単位領域に対して高解像度判定を回避し、低解像度判定とすることが可能となる。この結果、符号化圧縮効率を高めることが可能となる。
【図面の簡単な説明】
【0011】
【図1】本実施形態による画像処理システムの全体構成を示すブロック図。
【図2】画像データを符号化する処理を示すフローチャート。
【図3】画像データをプリント出力する処理を示すフローチャート。
【図4】中間画像データを構成する画素のデータ形式を模式的に示す図。
【図5】画像処理部118の詳細な構成を示すブロック図。
【図6】各画像処理ブロックの内部構成を示す図。
【図7】画像処理ブロック506における画像処理実行部603の構成を示す図。
【図8】画素補間判定処理を示すフローチャート。
【図9】解像度変換符号化処理を説明するための図。
【図10】解像度変換符号化部119の構成を示すブロック図。
【図11】画素補間判定部1003の構成を示すブロック図。
【図12】解像度変換符号化処理を示すフローチャート。
【図13】解像度変換復号化処理を示すフローチャート。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。
【0013】
図1は、本実施形態による画像処理システムの全体構成を示すブロック図である。図1に示すように、画像処理システムは、ホストコンピュータ101と、画像処理装置102とから構成される。
【0014】
ホストコンピュータ101は、パーソナルコンピュータ(PC)やワークステーション(WS)などのコンピュータであり、これらのコンピュータ上で作成された画像や文書はPDLデータとして画像処理装置102に入力される。
【0015】
画像処理装置102は、ホストコンピュータ101から出力されたデータを受信する。即ち、画像処理装置102とホストコンピュータ101との間でデータ通信可能なネットワークが形成されていることを意味するが、このネットワークの構成については特に限定するものではない。
【0016】
画像処理装置102は、ホストコンピュータ101から受信したデータに基づいて各種の画像処理を施し、画像処理済みのデータをプリントエンジン部122へ出力する。尚、画像処理装置102が行う処理の詳細については後述する。
【0017】
一方、プリントエンジン部122は、画像処理装置102から出力された画像処理済みのデータに基づいて、紙などの記憶媒体上に印刷処理を行う。尚、本実施形態では、画像処理装置102に対してデータを出力するのはホストコンピュータ101として説明するが、これ以外の装置でも良い。例えば、スキャナ入力部(不図示)から出力されたデータを画像処理装置102に入力するようにしても良い。
【0018】
次に、画像処理装置102の詳細な構成について説明する。この画像処理装置102には、ホストI/F部111、PDL処理部112、CPU113、RAM114、ROM115、記憶装置制御部116が含まれる。更に、画像処理装置102にはエンジンI/F部117、画像処理部118、解像度変換符号化部119、解像度変換復号化部120、記憶装置121、プリントエンジン部122が含まれる。
【0019】
ホストI/F部111は、ホストコンピュータ101から出力されたPDLデータを受信するためのインタフェースとして機能する。尚、ホストI/F部111は画像処理装置102とホストコンピュータ101とを繋ぐネットワークに応じて異なり、例えばイーサネット(登録商標)やシリアルインターフェースなどで構成される。
【0020】
PDL処理部112は、ホストI/F部111が受信したPDLデータを展開する処理を行う。CPU113は、RAM114やROM115に格納されているプログラムやデータを用いて画像処理装置102全体の制御を行うと共に、後述する画像処理装置102が行う各処理を実行する。
【0021】
RAM114は、ホストI/F部111を介してホストコンピュータ101から受信したデータを一時的に記憶するためのエリアを備える。また、RAM114はCPU113が各種処理を実行する際に用いるワークエリアを備える。
【0022】
ROM115は、CPU113が画像処理装置102全体を制御する際に実行するプログラムやデータや画像処理装置102の設定データなどが格納されている。記憶装置制御部116は、画像処理装置102が扱う画像データを記憶装置121に記録する際の制御を行う。エンジンI/F部117は、画像処理装置102による画像処理済みのデータをプリントエンジン部122に出力するための一連の処理を行う。
【0023】
画像処理部118は、ホストコンピュータ101から出力されたデータからなる画像に対する画像処理を行い、特に本発明に係るスムージングなどの画素補間処理の画像処理部を含む。尚、この画像処理部118の詳細については後述する。
【0024】
解像度変換符号化部119は、PDL処理部112において展開された画像に対して、所定のブロック単位領域毎に解像度変換処理を行い、入力画像よりも低い解像度画像と、解像度変換情報を符号化した補間データとを生成する。
【0025】
解像度変換復号化部120は、解像度変換符号化部119で生成された低解像度画像と補間データとを復号化し、符号化前の画像を生成する。尚、解像度変換符号化部119、及び解像度変換復号化部120の処理詳細については後述する。
【0026】
記憶装置121は、ハードディスクなどの大容量記憶媒体であり、画像処理装置102がホストコンピュータ101から受信した画像データや処理時に生成する中間画像データを記憶する。
【0027】
上述の各部は、画像処理装置102の内部バス131によって互いに接続される。各部間のデータ転送は、各部と内部バス131との間に設けられたDMAC(Direct Memorry Access Controller)からなる不図示のデータ転送部を用いて行う。
【0028】
次に、ホストコンピュータ101から画像処理装置102にデータを出力した場合に、画像処理装置102が行う処理を、図2のフローチャートを用いて説明する。この処理は、ホストI/F部111を介してホストコンピュータ101から出力されたPDLデータの受信をCPU113が検知することで開始される。
【0029】
S201において、CPU113は、受信したPDLデータを一時的にRAM114に格納する。次に、S202において、CPU113は、格納したPDLデータをディスプレイリスト(DL)に展開した後、S203において一時的にRAM114に格納する。尚、S202では、PDLデータが有する画像情報とそれに対応する属性情報を生成し、DLに格納する。ここで、生成する属性情報としては、PDL入力の文字、PDL入力のライン、及びPDL入力の写真などを示す情報である。
【0030】
次に、S204において、PDL処理部112が、格納されたDLに基づいて画像展開処理を行い、中間画像データを生成する。中間画像データには、DLが有する画像情報とそれに対応する属性情報とが、画素単位で対応付けされた状態で格納される。そして、S205において、この中間画像データは、解像度変換符号化部119において、低解像度画像データと補間データとに変換される。これら低解像度画像データと補間データとは、S206において、記憶装置制御部116を介して記憶装置121へ出力される。ここで、低解像度画像データと補間データとの出力は、記憶装置制御部116が有する不図示のデータ転送部が行うものとする。そして、ホストコンピュータ101から送信された画像データに応じて1ページ以上の低解像度画像データと補間データとして、記憶装置121に保存される。
【0031】
次に、記憶装置121に保存された低解像度画像データと補間データとを読み出し、プリントエンジン部122に出力してプリントを行う処理を、図3のフローチャートを用いて説明する。この処理は、CPU113が記憶装置制御部116への低解像度画像データと補間データとのスプール処理に係る終了通知を受信後に、プリント開始命令を解像度変換復号化部120に指示することで、開始される。
【0032】
S301において、CPU113は、画像処理部118に対して設定を行う。具体的には、画像処理部118が有する不図示の画像処理モジュールの各レジスタに対して必要なパラメータを書き込む。
【0033】
次に、S302において、CPU113は、記憶装置121に保存されている低解像度画像データと補間データとをRAM114から解像度変換復号化部120へ読み出すよう指示する。解像度変換復号化部120では、内部に有する不図示のデータ転送部が復号化された中間画像データをRAM114へ出力する。そして、S303において、画像処理部118は、内部に有する不図示のデータ転送部がRAM114から読み出した中間画像データに対してプリント出力用の画像処理を行い、プリントデータに変換する。
【0034】
次に、S304において、変換されたプリントデータを、内部に有する不図示のデータ転送部がRAM114に出力した後、エンジンI/F部117を介してプリントエンジン部122へ出力する。
【0035】
以上の処理により、ホストコンピュータ101から受信したデータを解像度変換符号化し、低解像度画像データ、及び補間データからなるスプールデータとして保持することができる。
【0036】
更に、スプールデータに基づいて印刷を行う場合には、スプールデータに対して解像度変換復号化を行い、中間画像データを生成し、画像処理を行った結果をプリントエンジン部122に出力することができる。
【0037】
尚、スプールデータを記憶装置121に保持するとしたが、これとは別にRAM114にのみ保持し、解像度変換復号化、及び画像処理を実行し、その結果をプリントエンジン部122に出力するようにしても良い。
【0038】
図4は、中間画像データを構成する画素のデータ形式を模式的に示す図である。ここで、中間画像データを構成する各画素のデータは、色コンポーネント毎のビット深度を示す画像情報と、画像データ中で該画素の属する領域やオブジェクト情報を示すメタデータである像域情報とから構成される。具体的には、属性情報のデータ長が8ビット、色コンポーネントとしてR、G、Bそれぞれのデータ長が8ビットである。尚、属性情報のデータ長、画像情報のデータ長、及び色空間情報はこれに限定されるものでは無く、他のデータ長であっても良く、また他の色空間であっても良い。
【0039】
次に、画像処理部118の詳細な構成を、図5のブロック図を用いて説明する。図5に示すように、画像処理部118は、データ転送を行うブロックと画像処理を行うブロックとから構成される。図5の例では、入力データ転送部501、出力データ転送部502、画像処理ブロック503〜506で構成されるものとする。ここで、画像処理部118を構成する画像処理ブロックは、スムージング等の画素補間処理を行うブロックを少なくとも一つ含むものとし、画像処理ブロック506がこれに該当するものとする。
【0040】
また、その他の画像処理ブロック503〜505は、画像処理ブロック503が色変換処理、画像処理ブロック504が下地処理、画像処理ブロック505が中間調処理とする。尚、画像処理ブロックの処理内容、及び段数は一例であり、実現する画像処理に応じて増減しても良い。
【0041】
入力データ転送部501は、内部バス131に接続され、同じく内部バス131に接続されるRAM114に予め保持された処理対応データを画像処理部118内部へ読み込む。ここで、処理対応データは、解像度変換符号化部119で生成される中間画像データである。
【0042】
入力データ転送部501の動作に要する設定としては、RAM114上に存在する中間画像データを構成する画像情報及び像域情報の開始アドレス番地とデータ長とを画像処理部118の有する不図示のレジスタに設定する。レジスタの設定は、CPU113が行うものとする。
【0043】
出力データ転送部502は、内部バス131に接続され、画像処理部118で処理された画像データを内部バス131に接続されるRAM114へ転送する。出力データ転送部502の動作に要する設定としては、RAM114上に画像データを書き出すために要するページ先頭画素の画像情報及び像域情報のアドレス番地と出力データ長とを画像処理部118の有する他の不図示のレジスタに設定する。各レジスタの設定は、CPU113が行うものとする。
【0044】
画像処理ブロック503〜506は、入力データ転送部501から出力される画素データに対して各画像処理ブロック固有の画像処理をパイプライン的に行い、処理結果を出力データ転送部502へと出力する。
【0045】
図6は、各画像処理ブロックの内部構成を示す図である。データ分離部601は、入力される画素データを解析し、画素データが画素データを画像情報と像域情報とに分離後、画像情報は画像処理実行部603に出力し、像域情報は属性判定部602に出力する。
【0046】
属性判定部602は、画素データの属性を判定し、判定結果を画像処理実行部603へ出力すると共に、入力された像域情報をデータ結合部604へ出力する。画像処理実行部603は、判定結果に応じて、予め設定された不図示の画像処理実行に係る設定値を選択し、該当する画像情報に対して所定の画像処理を実行した後、処理結果となる画像情報をデータ結合部604へ出力する。
【0047】
データ結合部604は、属性判定部602から入力された像域情報と画像処理実行部603から入力された処理結果である画像情報とを結合し、後段の画像処理ブロックへ出力する。尚、各画像処理ブロックの処理に応じて、画像処理実行部603の実装がそれぞれ異なるが、その他の構成は同様である。
【0048】
図7は、画像処理ブロック506における画像処理実行部603の構成を示す図である。この画像処理ブロック506では、画像処理実行部603が画素補間処理を実行する。フィルタ部701は、画像処理ブロック506のデータ分離部601から入力される画像情報に対して平滑化フィルタ処理を行う。具体的には、画像処理ブロック506が備える不図示のラインバッファに貯めた画素と入力画素とを用いて処理対象注目画素の周辺画素を参照したフィルタ演算処理を行う。ラインバッファのサイズは、主走査方向の最大画素数が保持できるサイズ長であり、ライン数は周辺画素参照領域の副走査方向ライン数より1小さい値である。この例では、周辺画素参照領域を3×3画素とし、ラインバッファは2ライン分となる。また、フィルタ演算に係る各フィルタ係数は画像処理ブロック506が備える不図示のレジスタに予め設定される値である。
【0049】
パターンマッチング部702は、フィルタ部701から出力され、主走査画素サイズで2ライン分となる不図示の第二の内部バッファに貯めた画素と次ラインの画素とを用いて形成した3×3画素領域に対してパターンマッチング処理を行う。マッチした場合は一致パターンフラグを真として、画素データと合わせて画素補間部703へ出力する。
【0050】
一方、マッチしない場合は一致パターン情報を偽として、画素補間部703へ出力する。ここで、マッチングするパターンデータは、画像処理ブロック506が備える不図示のルックアップテーブル(LUT)に予め設定したパターンを使用するものとする。
【0051】
画素補間部703では、パターンマッチング部702から出力される一致パターン情報と属性判定部602から出力される属性情報とに応じて、画素補間を行うか否かを判定し、画素補間を行う。
【0052】
図8は、画素補間を行うか否かの判定処理を示すフローチャートである。この処理は、データ分離部601からの画像情報と、それに対応するパターンマッチング部702から出力される一致パターン情報と、像域判定情報と、が画素補間部703に入力された時に実行される。
【0053】
S801、S802、及びS803において、像域判定情報の判定を行う。像域判定情報がラインと判定された場合はS806へ遷移し、画素補間実行に係る判定フラグに真をセットし、画素補間判定処理を終了する。一方、像域判定情報が文字と判定された場合はS804へ遷移する。S804及びS805では、画像情報が白画素か否かを判定する。白画素と判定された場合はS807へ遷移し、判定フラグに偽をセットし、画素補間判定処理を終了する。また、白画素でないと判定された場合はS806へ遷移し、判定フラグに真をセットし、画素補間判定処理を終了する。
【0054】
また、上述のS802及びS803において、像域判定情報がライン又は文字の何れとも一致しない場合はS807へ遷移し、判定フラグに偽をセットし、画素補間判定処理を終了する。
【0055】
画素補間部703は、判定フラグ及び一致パターン情報が、共に真であれば、画素補間処理結果としてパターンマッチング部702から受信した画素データを出力する。しかし、判定フラグ又は一致パターン情報の何れか一方が偽であれば、画素補間処理は行わずにデータ分離部601から入力される画像情報を出力する。
【0056】
以上説明した処理により、画像処理ブロック506の画像処理実行部603において、ラインか白画素でない文字で、かつ所定のパターンと一致する場合にのみ、画素補間処理が行われ、それ以外の場合には、画素補間処理が行われない。
【0057】
次に、解像度変換符号化部119で行う符号化処理について、図9乃至図12を用いて説明する。図9に示すように、入力画像901から2×2画素のブロック902を抽出し、ブロック単位で符号化圧縮して低解像度データと補間データとを出力する。
【0058】
図9に示す903は、ブロック単位領域(パターン情報)904、ブロックを構成する色数(組み合わせ)905、対応する低解像度データ906、及び補間データ907、の関係を示す表である。
【0059】
まず、ブロック単位領域904とブロックを構成する色数905との関係を説明する。ブロック色数905が1色で全画素が同色である場合の組み合わせは1通りである。これに対応するパターン情報を、16進数形式で0x0とする。
【0060】
次に、ブロック色数905が2色である場合の組み合わせは、左上の画素を第1色とし、他方を第2色として考えると、左上以外残りの3画素へ第1色もしくは第2色が入るので、4画素同色の場合を除くと、全部で7通りである。これに対応するパターン情報を、16進数形式で0x1〜0x7とする。
【0061】
また、ブロック色数905が3色である場合の組み合わせは、3色のうち1色だけ2度使われる場合の数と言い換える事が可能で、4画素の座標のうち、2画素が同じ色になる場合の数を求めれば良い。つまり、3色の場合の数は、4つの座標から2つの座標を取る組み合わせとなり、全部で6通りとなる。これに対応するパターン情報を、16進数形式で0x8〜0xDとする。
【0062】
更に、ブロック色数905が4色である場合の組み合わせは、1色の場合と同様に1通りとなる。これに対応するパターン情報を、16進数形式で0xEとする。
【0063】
このように、2×2画素のブロック902の場合、ブロック色数905が1〜4色全ての場合の数は、全部で15通りである。
【0064】
次に、ブロック色数905に対応する低解像度データ906と、補間データ907との構成を説明する。低解像度データ906は、2×2画素からなるブロック902の左上の画素の色情報とし、例えば色空間がRGBで、各色コンポーネントのデータ長が8ビットの画素の場合、各色情報のビット長は24ビットで表現可能である。また、この左上画素の色情報を第1色とし、以下、右上画素を第2色、右下画素を第3色、左下画素を第4色とする。
【0065】
補間データ907は、ブロック902に応じた、パターン情報と色情報とから構成される。例えば、ブロック色数905が1色の場合は、パターン情報として0x0と、1色を表現する色情報とから構成される。ここで、パターン情報のビット長は4ビットであり、ブロック色数905の全組み合わせ(15通り)を表現する最小のビット長である。
【0066】
色情報は、ブロック902を構成する画素で、2×2画素の左上以外の残り3つ(第2〜4)の画素の色情報であり、例えば色空間がRGBで、各色コンポーネントのデータ長が8ビットの画素の場合、各色情報のビット長は24ビットである。
【0067】
以上説明した、低解像度データ906と補間データ907を用いることで、2×2画素からなるブロック902を圧縮符号化することが可能となる。例えば、ブロック902が全画素同色である場合、圧縮符号化前のデータ量はRGB8ビット4画素分の96ビットである。この全画素同色のブロックを圧縮符号化した場合、色情報を示す低解像度データが24ビットに、全色同色画素であることを示すパターン情報が4ビットになり、全体で28ビットになる。また、圧縮符号化データは、補間データ(パターン情報及び色情報)907からブロック単位領域904に示す元データである2×2画素のブロック902に復号化できる。
【0068】
次に、解像度変換符号化部119の構成及び動作を、図10のブロック図を用いて説明する。入力データ転送部1001は、内部バス131に接続され、RAM114に予め保持された処理対応データを画像処理部118の内部へ転送し、データを所定の画素領域で切り出し画素補間判定部1003へ出力する。ここで、処理対応データは、PDL処理部112で生成される中間画像データである。
【0069】
入力データ転送部1001の動作のために、RAM114上に存在する中間画像データを構成する画像情報と像域情報との開始アドレス番地、データ長、画素切り出しサイズ、を解像度変換符号化部119の有する不図示のレジスタに設定する。尚、レジスタの設定は、CPU113が行うものとする。
【0070】
出力データ転送部1002は、内部バス131に接続され、解像度変換符号化部119で生成される符号化データを内部バス131に接続されるRAM114へ転送する。出力データ転送部1002の動作に要する設定としては、RAM114上に画像データを書き出すために要する、ページ先頭画素の画像情報及び像域情報のアドレス番地と出力データ長とを画像処理部118の有する他の不図示のレジスタに設定する。尚、各レジスタの設定は、CPU113が行うものとする。
【0071】
画素補間判定部1003は、入力データ転送部1001からの中間画像データに対して上述した画像処理実行部603と同様な構成で画素補間判定処理を行い、判定結果を生成する。
【0072】
図11は、画素補間判定部1003の構成を示すブロック図である。画素補間判定部1003はフィルタ部1011、パターンマッチング部1012、属性判定部1013、画素補間判定部1014で構成される。フィルタ部1011と、パターンマッチング部1012と、属性判定部1013とが、それぞれ行う処理は、上述した画像処理実行部603の各処理と同じである。また、周辺画素参照領域も、それぞれ3×3画素で同じサイズである。よって、画素補間判定部1003で得られる判定結果は、処理後段に位置する画像処理ブロック506で該当画素が補間処理されるか否かを示すものとなる。
【0073】
図10に戻り、符号化部1004は、画素補間判定部1003での画素補間処理に係る判定結果に応じて、解像度変換符号化処理を行う。
【0074】
次に、解像度変換符号化部119が行う符号化処理を、図12のフローチャートを用いて説明する。この処理は、CPU113がPDL処理部112により生成された中間画像データの受信を、解像度変換符号化部119に指示することで、処理が開始される。
【0075】
S1201において、解像度変換符号化処理を行うための画像データを取得する。具体的には、入力データ転送部1001を用いて、ホストコンピュータ101から入力され、PDL処理部112で変換された後に記憶装置121に格納された中間画像データを取得する。取得した画像データは、解像度変換符号化部119が有する不図示の内部バッファに格納する。
【0076】
次に、S1202において、入力データ転送部1001が、取得した中間画像データについて、第1のブロック単位領域で切り出しを行う。第1のブロック単位領域とは、画素補間判定部1003が備える各周辺画素参照処理の画素参照領域サイズで最大のサイズとし、この例では3×3画素(=9画素)の領域サイズである。
【0077】
以下、S1203〜S1205における処理は、画素補間判定部1003で行うものとする。まず、S1203では、切り出された第1のブロック単位領域について、画素補間判定処理を行う。この画素補間判定処理は、上述した画像処理ブロック506で行われる画素補間処理における画素補間判定処理(S801〜S807)と同様であり、判定結果として画素補間に係る判定フラグを生成する。
【0078】
次に、S1204及びS1205では、S1203で生成された判定フラグに応じて、画素補間するか否か、解像度が低下するか否かを判定する。まず、S1204では、判定フラグが偽の場合はS1208へ遷移する。一方、判定フラグが真の場合はS1205へ遷移し、第1のブロック単位領域の解像度が低下するか否かを判定する。具体的には、第1のブロック単位領域を構成する3×3画素の各画像情報を互いに比較し、全ての画像情報が同色であれば解像度が低下する低解像度画素領域と判定し、S1206へ遷移する。一方、同色でなければ解像度が低下しない高解像度画素領域と判定し、S1208へ遷移する。
【0079】
以下、S1206〜S1208における処理は、符号化部1004が行うものとする。まず、S1206では、解像度変換符号化の処理単位となる第2のブロック単位領域を構成する各画素の色情報を参照し、同色画素で構成されているか否かを判定する。第2のブロック単位領域とは、解像度変換符号化処理を行う画素単位領域であり、ここでは2×2画素である。これは、入力データ転送部1001で切り出される3×3画素の第1のブロック単位領域とは異なる小さいサイズである。そのため、符号化部1004は3×3画素分のデータを保持可能な不図示の内部バッファを備え、入力画像データを保持しながら符号化処理を行う。尚、内部バッファのサイズは一例であり、例えば3×3画素分のデータを保持可能なバッファを2重に持ち、ダブルバッファリング処理することで、処理効率化を行っても良い。
【0080】
この処理では、第2のブロック単位領域を構成する2×2画素(=4画素)それぞれの画像情報をコンポーネント毎に比較し、全てが一致するか否かの判定を行う。判定結果が真の場合はS1207へ遷移し、判定結果が偽の場合はS1208へ遷移する。
【0081】
このS1207では、第2のブロック単位領域を構成する画素が全て同色であるとし、これに対応する低解像度画像データ906と補間データ907とを生成する(解像度を低下させ、データ量を削減し符号化圧縮効率が高まる)。具体的には、低解像度データとして、第2のブロック単位領域を構成する2×2画素の色情報を生成する。また、補間データとして、第2のブロック単位領域が全画素同色であることを示すパターン情報の値として0x0を生成する。低解像度データと補間データとを生成後、S1209へ遷移する。
【0082】
一方、S1208では、第2のブロック単位領域を構成する画素が全て同色でないとし、これに対応する低解像度画像データと補間データとを生成する。低解像度データとして、第2のブロック単位領域を構成する2×2画素の左上画素の色情報を生成する。また、補間データとして、ブロック単位領域を構成する色数に応じたパターン情報と第2色〜第4色の色情報とを生成する。
【0083】
具体的には、第2のブロック単位領域が2色であれば、パターン情報の値として0x1〜0x7の何れかと、第2色の色情報として2×2画素の左上以外の色情報を生成する。また、第2のブロック単位領域が3色であれば、パターン情報の値として0x8〜0xDの何れかと、第2色の色情報として2×2画素の左上画素以外の色情報と、第3色の色情報として左上画素でも第2色でもない残りの色情報とを生成する。また、第2のブロック単位領域が4色であれば、パターン情報の値として0xEを生成する。そして、第2色の色情報として2×2画素の左上画素以外の色情報と、第3色の色情報として左上画素でも第2色でもない残りの色情報と、第4色の色情報として左上画素でも第2色でも第3色でもない残りの色情報とを生成する。
【0084】
低解像度データと補間データとを生成後、S1209へ遷移する。このS1209では、S1201で取得した全画像に対して、符号化したか否かを判定する。判定結果が偽の場合はS1202へ遷移し、残りの第2のブロック単位領域に対して符号化処理を行う。一方、判定結果が真の場合は、解像度変換符号化処理を終了する。
【0085】
次に、解像度変換複号化部120が行う復号化処理を、図13に示すフローチャートを用いて説明する。この復号化処理は、記憶装置制御部116による低解像度画像データと補間データとからなる符号化データスプール処理終了後に、CPU113がプリント開始命令を解像度変換符号化部119に指示することで開始される。
【0086】
S1301において、解像度変換符号化データを取得する。具体的には、解像度変換復号化部120が備える不図示のデータ転送部を用いて解像度変換符号化部119において符号化処理し、記憶装置121へと格納された低解像度画像データと補間データとを取得し、S1302へ遷移する。このS1302では、取得した補間データを第2のブロック単位領域毎で復号化し、パターン情報を生成する。
【0087】
次に、S1303において、S1302で復号化したパターン情報に対応する低解像度画像データを第2のブロック単位領域毎に復号化し、元データである中間画像データを生成する。次に、S1304において、S1301で取得した全画像に対して、符号化したか否かを判定する。判定結果が偽の場合はS1302へ遷移し、残りの取得した符号化データに対して復号化処理を行う。一方、判定結果が真の場合は、解像度変換復号化処理を終了する。
【0088】
本実施形態によれば、解像度変換を用いた符号化圧縮処理時に、所定のブロック単位領域が後段の画像処理で画素補間されるか否かを判定することが可能となる。そして、符号化圧縮処理時には高解像度だが、符号化処理後に低解像度となるブロック単位領域を判定し、低解像度判定とすることが可能となり、符号化圧縮効率を高めることが可能となる。これにより、符号化圧縮したデータを正しく復号化することが可能となる。
【0089】
[本実施形態の変形例]
次に、本実施形態における解像度変換符号化部119の画素補間判定部1003で行う周辺画素参照処理の参照領域を、より小さくした変形例を説明する。具体的には、解像度変換符号化処理で予め定められたブロック単位領域と同じ2×2画素サイズとする。これにより画素補間判定部1003の実装容易化が可能となる。
【0090】
本実施形態の変形例では、フィルタ部1011、及びパターンマッチング部1012の周辺画素参照領域がそれぞれ2×2画素であり、各処理の実装の容易性が高まり、かつ、回路規模等の実装コストを削減可能となる。具体的には、各処理において周辺画素を保持するための不図示の内部バッファサイズが、対3×3画素比の半分以下に削減される。
【0091】
また、パターンマッチング部1012でのパターンサイズが縮小するためパターン保持に係るLUTサイズが、対3×3画素比の半分以下に削減される。更には、符号化部1004において、入力画像データを保持する不図示の内部バッファ量も削減される。そして、各処理に係る精度は周辺画素参照領域に応じた分だけ低下するが、解像度変換符号化処理時に画素補間判定を行うことが可能となる。
【0092】
本実施形態の変形例によれば、解像度変換符号化部119の画素補間判定部1003が行う周辺画素参照処理の参照領域サイズを解像度変換符号化処理のブロック単位領域まで小さくして実装を容易化し、後段の画像処理での画素補間に係る判定が可能となる。そして、符号化圧縮処理時には高解像度だが、符号化処理の後段画像処理により低解像度となるブロック単位領域を判定し、低解像度判定とすることが可能となり、符号化圧縮効率を高めることが可能となる。
【0093】
[他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
入力画像の画素データを解像度変換符号化して記憶手段に格納し、当該記憶手段に格納された画素データを読み出して解像度変換復号化した後に画素補間処理を行う画像処理装置であって、
前記入力画像の画素データを解像度変換符号化する際に、当該画素データの属性を示す属性情報に基づいて前記画素補間処理により当該画素データの解像度が低下するか否かを判定する判定手段と、
前記判定手段によって前記画素データの解像度が低下すると判定された場合、前記解像度変換符号化にて当該画素データの解像度を低下させるように処理する処理手段と、
を有することを特徴とする画像処理装置。
【請求項2】
前記判定手段は前記属性情報がラインの属性と白画素でない文字の属性とを示す場合に前記画素補間処理により前記画素データの解像度が低下すると判定することを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記画素データは、2×2画素サイズのブロックを単位とすることを特徴とする請求項1又は2記載の画像処理装置。
【請求項4】
入力画像の画素データを解像度変換符号化して記憶手段に格納し、当該記憶手段に格納された画素データを読み出して解像度変換復号化した後に画素補間処理を行う画像処理装置の処理方法であって、
判定手段が、前記入力画像の画素データを解像度変換符号化する際に、当該画素データの属性を示す属性情報に基づいて前記画素補間処理により当該画素データの解像度が低下するか否かを判定する判定工程と、
処理手段が、前記判定工程において前記画素データの解像度が低下すると判定された場合、前記解像度変換符号化にて当該画素データの解像度を低下させるように処理する処理工程と、
を有することを特徴とする画像処理装置の処理方法。
【請求項5】
コンピュータを請求項1乃至3の何れか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項1】
入力画像の画素データを解像度変換符号化して記憶手段に格納し、当該記憶手段に格納された画素データを読み出して解像度変換復号化した後に画素補間処理を行う画像処理装置であって、
前記入力画像の画素データを解像度変換符号化する際に、当該画素データの属性を示す属性情報に基づいて前記画素補間処理により当該画素データの解像度が低下するか否かを判定する判定手段と、
前記判定手段によって前記画素データの解像度が低下すると判定された場合、前記解像度変換符号化にて当該画素データの解像度を低下させるように処理する処理手段と、
を有することを特徴とする画像処理装置。
【請求項2】
前記判定手段は前記属性情報がラインの属性と白画素でない文字の属性とを示す場合に前記画素補間処理により前記画素データの解像度が低下すると判定することを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記画素データは、2×2画素サイズのブロックを単位とすることを特徴とする請求項1又は2記載の画像処理装置。
【請求項4】
入力画像の画素データを解像度変換符号化して記憶手段に格納し、当該記憶手段に格納された画素データを読み出して解像度変換復号化した後に画素補間処理を行う画像処理装置の処理方法であって、
判定手段が、前記入力画像の画素データを解像度変換符号化する際に、当該画素データの属性を示す属性情報に基づいて前記画素補間処理により当該画素データの解像度が低下するか否かを判定する判定工程と、
処理手段が、前記判定工程において前記画素データの解像度が低下すると判定された場合、前記解像度変換符号化にて当該画素データの解像度を低下させるように処理する処理工程と、
を有することを特徴とする画像処理装置の処理方法。
【請求項5】
コンピュータを請求項1乃至3の何れか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図12】
【図13】
【図9】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図12】
【図13】
【図9】
【公開番号】特開2011−139165(P2011−139165A)
【公開日】平成23年7月14日(2011.7.14)
【国際特許分類】
【出願番号】特願2009−296380(P2009−296380)
【出願日】平成21年12月25日(2009.12.25)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成23年7月14日(2011.7.14)
【国際特許分類】
【出願日】平成21年12月25日(2009.12.25)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]