(57)【特許請求の範囲】
【請求項１】
画像をウェーブレット変換して変換係数を得、当該変換係数において前記画像の指定領域に相当する変換係数のビットをシフトアップし、当該シフトアップされたビットとそれ以外の領域に相当する変換係数のビットとをエントロピー符号化して得られたデータストリームを含む圧縮データを入力する入力手段と、
前記入力手段により入力した前記圧縮データを伸長し第１のビットマップデータを生成する生成手段と、
前記圧縮データを解析し前記第１のビットマップデータにおける前記指定領域とそれ以外の領域とを判別する解析手段と、
前記解析手段による判別結果に基づいて、前記第１のビットマップデータにおける前記指定領域とそれ以外の領域とをそれぞれ互いに異なるパラメータを用いて画像処理して第２のビットマップデータに変換する変換手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記圧縮データには前記画像の指定領域とそれ以外の領域とを区別するためのマスク情報が含まれ、前記解析手段は前記マスク情報に基づいて各領域を判別することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記変換手段は、前記指定領域を文字領域として画像処理し、それ以外の領域を非文字領域として画像処理することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記変換手段による変換は、色変換であることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記変換手段による変換は、ハーフトーン処理であることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項６】
画像をウェーブレット変換して変換係数を得、当該変換係数において前記画像の指定領域に相当する変換係数のビットをシフトアップし、当該シフトアップされたビットとそれ以外の領域に相当する変換係数のビットとをエントロピー符号化して得られたデータストリームを含む圧縮データを入力する入力工程と、
前記入力工程で入力された前記圧縮データを伸長して第１のビットマップデータを生成する生成工程と、
前記入力工程で入力された前記圧縮データを解析して前記第１のビットマップデータにおける前記指定領域とそれ以外の領域とを判別する解析工程と、
前記解析工程での判別結果に基づいて、前記第１のビットマップデータにおける前記指定領域とそれ以外の領域とをそれぞれ互いに異なるパラメータを用いて画像処理して第２のビットマップデータに変換する変換工程と、
を有することを特徴とする画像処理方法。
【請求項７】
前記圧縮データには前記画像の指定領域とそれ以外の領域とを区別するためのマスク情報が含まれ、前記解析工程では前記マスク情報に基づいて各領域を判別することを特徴とする請求項６に記載の画像処理方法。
【請求項８】
前記変換工程では、前記指定領域を文字領域として画像処理し、それ以外の領域を非文字領域として画像処理することを特徴とする請求項６又は７に記載の画像処理方法。
【請求項９】
前記変換工程における変換は色変換であることを特徴とする請求項６乃至８のいずれか１項に記載の画像処理方法。
【請求項１０】
前記変換工程における変換はハーフトーン処理であることを特徴とする請求項６乃至８のいずれか１項に記載の画像処理方法。
【請求項１１】
画像処理を実行するプログラムを記憶する、コンピュータにより読取可能な記憶媒体であって、
前記プログラムは、
画像をウェーブレット変換して変換係数を得、当該変換係数において前記画像の指定領域に相当する変換係数のビットをシフトアップし、当該シフトアップされたビットとそれ以外の領域に相当する変換係数のビットとをエントロピー符号化して得られたデータストリームを含む圧縮データを入力する入力工程モジュールと、
前記入力工程モジュールにより入力された前記圧縮データを伸長して第１のビットマップデータを生成する生成工程モジュールと、
前記入力工程モジュールにより入力された前記圧縮データを解析して前記第１のビットマップデータにおける前記指定領域とそれ以外の領域とを判別する解析工程モジュールと、
前記解析工程モジュールによる判別結果に基づいて、前記第１のビットマップデータにおける前記指定領域とそれ以外の領域とをそれぞれ互いに異なるパラメータを用いて画像処理して第２のビットマップデータに変換する変換工程モジュールと、
を有することを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、圧縮されたデータを入力し、それを伸長し、更にそこで得られたビットマップデータを画像処理することにより別のビットマップデータに変換する画像処理装置及びその方法に関するものである。
【０００２】
【従来の技術】
ホストコンピュータ等から入力した描画コマンドを基にビットマップに展開し、その入力した描画コマンドと、その描画コマンドの属性情報とを用いて、そのビットマップの各ピクセルに対応する属性情報を決定して描画する装置が知られている。
【０００３】
【発明が解決しようとする課題】
このような従来の装置では、圧縮データに対して単一の属性情報しか生成していないため、伸長後の画像データの各ピクセルに対して属性を指定することができなかった。
【０００４】
本発明は上記従来例に鑑みてなされたもので、圧縮データから指定領域とそれ以外の領域とを判別し、この圧縮データを第１のビットマップデータに伸長し、更に、上記判別結果に基づいて第１のビットマップデータを効率良く画像処理することにより第２のビットマップデータに変換する画像処理装置及びその方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成するために本発明の画像処理装置は以下のような構成を備える。即ち、
画像をウェーブレット変換して変換係数を得、当該変換係数において前記画像の指定領域に相当する変換係数のビットをシフトアップし、当該シフトアップされたビットとそれ以外の領域に相当する変換係数のビットとをエントロピー符号化して得られたデータストリームを含む圧縮データを入力する入力手段と、前記入力手段により入力した前記圧縮データを伸長し第１のビットマップデータを生成する生成手段と、前記圧縮データを解析し前記第１のビットマップデータにおける前記指定領域とそれ以外の領域とを判別する解析手段と、前記解析手段による判別結果に基づいて、前記第１のビットマップデータにおける前記指定領域とそれ以外の領域とをそれぞれ互いに異なるパラメータを用いて画像処理して第２のビットマップデータに変換する変換手段とを有することを特徴とする。
【０００６】
上記目的を達成するために本発明の画像処理方法は以下のような工程を備える。即ち、
画像をウェーブレット変換して変換係数を得、当該変換係数において前記画像の指定領域に相当する変換係数のビットをシフトアップし、当該シフトアップされたビットとそれ以外の領域に相当する変換係数のビットとをエントロピー符号化して得られたデータストリームを含む圧縮データを入力する入力工程と、前記入力工程で入力された前記圧縮データを伸長して第１のビットマップデータを生成する生成工程と、前記入力工程で入力された前記圧縮データを解析して前記第１のビットマップデータにおける前記指定領域とそれ以外の領域とを判別する解析工程と、前記解析工程での判別結果に基づいて、前記第１のビットマップデータにおける前記指定領域とそれ以外の領域とをそれぞれ互いに異なるパラメータを用いて画像処理して第２のビットマップデータに変換する変換工程とを有することを特徴とする。
【０００７】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【０００８】
［実施の形態１］
図１は、本発明の実施の形態に係る印刷装置の構成を説明するブロック図である。なお、ここでは印刷装置の一例として、カラーレーザビームプリンタ１０００の場合で説明するが、本発明はこれに限定されるものでないことはもちろんである。
【０００９】
図１において、１００は、このカラープリンタ１０００の外部機器として、このカラープリンタ１０００に印刷データを送信するホストコンピュータで、破線で示されたカラープリンタ１０００の制御ユニット１０１とコネクタ及びネットワーク等を介して接続されている。制御ユニット１０１は、ホストコンピュータ１００から描画コマンド、設定命令データ等の印刷データを受け取り、それをビットマップイメージに展開してプリンタエンジン１２０で印刷するように構成されている。
【００１０】
１０２はＣＰＵで、制御ユニット１０１全体の動作を制御するとともに、各種演算等を実行し、カラープリンタ１０００を統括制御している。１０３は送受信バッファで、ホストコンピュータ１００と送受信する送／受信データを一時的に蓄える。１０４はプログラムＲＯＭで、一連のプリンタ制御を実現するために、ＣＰＵ１０２が実行するプログラム等が格納されている。１０５は画像出力部で、プリンタエンジン１２０に対して、ビットマップ２(BM2)格納部１１８に格納されている画像データを出力する。１０６はフォントＲＯＭで、文字フォントデータを格納している。１０７はＲＡＭで、ＣＰＵ１０２が各プログラムを実行する際のワークエリアや各種データ格納部として機能する。更に、制御ユニット１０１には不図示の電源装置が接続されている。
【００１１】
プログラムＲＯＭ１０４には、プログラムとして、送／受信バッファ１０３に格納された描画コマンドを、ビットマップ１を作成するための中間データに変換して中間データ格納部１１５に格納する変換部１０８と、送／受信バッファ１０３に格納された描画コマンドをビットマップ２を作成するための属性情報データに変換し、中間データ格納部１１５に格納する属性判定部１１４と、送／受信バッファ１０３に格納された描画コマンドを伸長する伸長部１１１と、中間データ格納部１１５に格納された中間データからビットマップ１に描画し、ビットマップ１(BM1)格納部１１６に格納する描画部１０９と、中間データ格納部１１５に格納された中間データの属性情報データからビットマップ２を作成し、ビットマップ２(BM2)格納部１１８に格納する描画部１１０と、ビットマップ１格納部１１６のデータをビットマップ２格納部１１７の属性情報を参照し、属性情報に則してビットマップ２に変換し、ビットマップ２格納部１１８に格納する変換部１１３と、変換部１１３による変換の際、属性情報格納部１１７の属性情報によって変換処理を切り替える変換切り替え部１１２とが格納されている。
【００１２】
またＲＡＭ１０７には、変換部１０８により変換された中間データを格納する中間データ格納部１１５と、描画部１０９により描画されたビットマップ１を格納するビットマップ１格納部１１６と、描画部１１０により描画された属性ビットマップを格納する属性情報格納部１１７と、変換部１１３により変換されたビットマップ２を格納するビットマップ２格納部１１８とを備えている。
【００１３】
なお、本実施の形態では、印刷装置の一例としてカラープリンタ１０００で説明しているが、複数色で印刷可能なレーザビームプリンタ（カラーレーザプリンタ）、デジタル複写機であっても良いし、さらには、カラーインクジェットプリンタ、カラー熱転写プリンタ等のカラープリンタであっても良い。更には、カラー印刷装置ではなく白黒印刷装置であっても良い。
【００１４】
以下、図２のフローチャートを参照して、本実施の形態に係る印刷装置の動作の一例について説明する。
【００１５】
図２は、本実施の形態に係る印刷装置におけるデータ処理手順の一例を説明するフローチャートであり、図１に示した制御ユニット１０１による制御処理手順に対応する。
【００１６】
まずステップＳ１で、制御ユニット１０１がホストコンピュータ１００より印刷データを受信する。この受信した印刷データは一旦、送／受信バッファ１０３に格納される。こうして送受信バッファ１０３に印刷データが記憶されると、その印刷データを入力コマンド単位で読み取る。そしてステップＳ２で、ＣＰＵ１０２は、入力コマンド単位で読み取った印刷データを解析し、その入力コマンドが排紙命令データかどうかを判断する。排紙命令データであると判断した場合はステップＳ７に進み、そうでない場合はステップＳ３に進む。
【００１７】
ステップＳ３では、入力コマンドが圧縮されたデータか否かを判断し、後述の方法で圧縮されたデータであればステップＳ４に進んで、その圧縮されたデータを伸長部１１１にて伸長する。また、上記方法で圧縮された圧縮データでなければステップＳ５に進む。尚、本実施の形態では、後述する方法とは異なる方法で圧縮されたものが入力された場合にも同様に伸長処理を行うが、本発明には密接に関係しないので説明を省略する。
【００１８】
ステップＳ５では、図１に示した変換部１０８により、描画コマンドを中間データに変換して中間データ格納部１１５に格納する。そしてステップＳ６に進み、属性判定部１１４により、入力データのコマンド種別、或は、入力データのパラメータ、或は、圧縮されたデータの内容を解析し、各描画オブジェクト毎に属性情報（例えば文字、図形、イメージ等の種別情報）を少なくとも１種類生成し、中間データ格納部１１５に格納する。そしてステップＳ１に戻る。
【００１９】
一方、ステップＳ２で排紙命令のときはステップＳ７に進み、描画部１０９により、中間データ格納部１１５に格納された中間データを描画オブジェクト単位で読み出し、ＲＧＢ２４（ビット／ピクセル）のビットマップとして描画し、ビットマップ１格納部１１６に格納する。更に、描画部１１０により、中間データ格納部１１５に格納された中間データを描画オブジェクト単位で読み出し、その中間データに含まれる属性を用いて２（ビット／ピクセル）の属性ビットマップとして描画し、属性情報格納部１１７に格納する。こうして中間データ格納部１１５に格納された１ページ分の中間データを全て描画終了後、ステップＳ８に進む。
【００２０】
ステップＳ８では、変換切り替え部１１４により、ビットマップ１格納部１１６に格納されている１ページ分の描画結果と、属性情報格納部１１７に格納されている１ページ分の属性情報を、ある単位毎に取得し、各属性情報の内容からその単位の属性を判定し、その判定結果に応じてステップＳ９で用いる変換処理用パラメータを最適なものに切り替えてステップＳ９に進む。尚、ここでの単位の大きさは、属性が複雑に分裂しない程度の小領域とするのが好ましい。但し、単位内に複数の属性が存在してしまった場合には、各属性の占有比率により多数決的に１つの属性を割当てる。ステップＳ９では、変換部１１３によりビットマップ１をＹＭＣＫ３２（ビット／ピクセル）のビットマップ２に変換してビットマップ格納部１１８に記憶する。次にステップＳ１０に進み、ビットマップ１格納部１１６内の処理単位を全て変換終了したかどうかを判定し、もし全処理ブロックを変換していなければステップＳ８に戻し、もし全処理ブロックを変換していればステップＳ１１に進む。
【００２１】
このステップＳ１１に進む際に、ビットマップ１格納部１１６内の圧縮ビットマップと、属性情報格納部１１７の属性ビットマップは削除しても良い。
【００２２】
こうしてステップＳ１１に進み、画像出力部１０５により、プリンタエンジン１２０に対して、ビットマップ２格納部１１８に格納されている画像データを出力する。
【００２３】
なお、本実施の形態におけるビットマップ１及びビットマップ２の色空間、ビット深さは、上述の実施の形態に限定されるものでなく、任意で良い。
【００２４】
なお、本実施の形態では、ステップＳ９において、ビットマップ１からビットマップ２への変換処理を色変換としたが、ハーフトーン処理でも良い。例えば、ＲＧＢ２４ビット／ピクセルのビットマップをＹＭＣＫ４ビット／ピクセル（各色１ビット／ピクセル）などに変換しても良い。またこれと同時に圧縮を行っても良い。この場合、ステップＳ１１で出力の際は、ビットマップ２を伸長した後、出力することになる。
【００２５】
以下に、ステップＳ６の属性判定部１１４による、一般的な属性判定方法について説明する。
【００２６】
図３（ａ）〜（ｄ）は、本実施の形態に係る印刷データとその印刷結果と、その属性データの一例を示す図である。具体的には、図３（ａ）は、所望の印刷結果を示す図、図３（ｂ）は、図３（ａ）の描画データの中間データの一例を示す図、図３（ｃ）はビットマップ１の描画結果を示す図、図３（ｄ）はビットマップ２の描画結果を示す図である。
【００２７】
まず、受信した印刷データに含まれるコマンドが文字コマンドか、図形コマンドか、イメージコマンドかを判定し、中間データ格納部１１５に格納する中間データにそれぞれのフラグを備える（図３（ｂ））。
【００２８】
具体的には、「Object１」として、文字列３００の属性：文字、印刷位置（Ｘ，Ｙ）、フォント、サイズ、文字コード、色が規定され、「Object２」として、図形３０１の属性：図形、印刷位置（Ｘ，Ｙ）、形状（円）、半径、色が規定されている。更に「Object３」として、イメージ３０２の属性：イメージ、印刷位置（Ｘ，Ｙ）、イメージの幅、高さ、イメージの実体へのポインタ等が規定されている。
【００２９】
この中間データは、それぞれの描画オブジェクトの形、色、印刷位置の情報を含んでいる。中間データを描画部１０９により描画すると、望まれる印刷結果と同等の結果が得られる（図３（ｃ））。中間データを描画部１１０により描画すると、印刷結果の各ピクセルに対応した属性を備える属性情報（属性情報格納部１１７）が得られる（図３（ｄ））。
【００３０】
この属性情報は、文字領域は０ｘ１、図形領域は０ｘ２、イメージ領域は０ｘ３、その他の領域は０ｘ０の各ピクセル２ビットの情報で表現される。ここで、判定処理は、入力コマンドに付随するパラメータ（文字、図形、イメージ）によって判別しても良い。
【００３１】
次に、ホストコンピュータ１００の不図示の圧縮部（エンコーダ）と、伸長部（デコーダ）１１１について説明する。
【００３２】
［エンコーダ］
図４は、ホストコンピュータ１００における画像圧縮装置の構成を説明する概略ブロック図である。
【００３３】
図４において、１は画像入力部、２は離散ウェーブレット変換部、３は量子化部、４はエントロピ符号化部、５は符号出力部、１１は領域指定部である。
【００３４】
まず、画像入力部１から、符号化対象となる画像を構成する画像データがラスタースキャン順に出力されて離散ウェーブレット変換部２に入力される。これ以降の説明では、画像データはモノクロの多値画像を表現しているが、カラー画像等、複数の色成分を符号化する場合は、ＲＧＢの各色成分、或いは輝度、色度成分を、上記単色成分として圧縮すればよい。
【００３５】
離散ウェーブレット変換部２は、入力した画像データに対して２次元の離散ウェーブレット変換処理を行い、その変換係数を計算して出力する。
【００３６】
図５（ａ）は、この離散ウェーブレット変換部２の基本構成を示すブロック図であり、入力された画像データはメモリ２０１に記憶され、処理部２０２により順次読み出されて変換処理が行われ、再びメモリ２０１に書きこまれている。
【００３７】
本実施の形態においては、処理部２０２における処理の構成は図５（ｂ）に示すものとする。同図において、入力された画像データは遅延素子およびダウンサンプラの組み合わせにより、偶数アドレスおよび奇数アドレスの信号に分離され、２つのフィルタｐ及びｕによりフィルタ処理が施される。同図のｓおよびｄは、各々１次元の画像データに対して１レベルの分解を行った際のローパス係数、及びハイパス係数を表しており、次式により計算されるものとする。
【００３８】
d(n)=x(2n+1)-floor[{x(2n)+x(2n+2)}/2]        （式１）
s(n)=x(2n)+floor[{d(n-1)+d(n)}/4]            （式２）
ただし、ｘ(n)は変換対象となる画像データである。
【００３９】
以上の処理により、画像データに対する１次元の離散ウェーブレット変換処理が行われる。尚、２次元の離散ウェーブレット変換は、１次元の変換を画像の水平・垂直方向に対して順次行うものであり、その詳細は公知であるのでここでは説明を省略する。
【００４０】
図５（ｃ）は、この２次元の変換処理により得られる２レベルの変換係数群の構成例を示す図であり、画像データは異なる周波数帯域の係数列ＨＨ１，ＨＬ，ＬＨ１，…，ＬＬに分解される。なお、以降の説明ではこれらの係数列をサブバンドと呼ぶ。こうして得られた各サブバンドの係数は、後続の量子化部３に出力されて量子化される。
【００４１】
領域指定部１１は、符号化対象となる画像内で、周囲部分と比較して高画質で復号化されるべき領域（ＲＯＩ：Region Of Interesting）を決定し、対象画像を離散ウェーブレット変換した際に、どの係数が指定領域に属しているかを示すマスク情報を生成する。尚、本実施の形態では、上記ＲＯＩの指定はイメージや図形の部分よりも、高画質処理が要求される文字領域に指定されることが好ましいものとする。
【００４２】
図６（ａ）は、マスク情報を生成する際の一例を示したものである。同図左側に示す様に所定の指示入力により画像内に星型の領域が指定された場合に、領域指定部１１は、この指定領域を含む画像を離散ウェーブレット変換した際、この指定領域が各サブバンドに占める部分を計算する。またマスク情報の示す領域は、指定領域境界上の画像データを復元する際に必要な、周囲の変換係数を合む範囲となっている。
【００４３】
このように計算されたマスク情報の例を図６（ａ）の右側に示す。この例においては、同図左側の画像に対し２レベルの離散ウェーブレット変換を施した際のマスク情報が図のように計算される。図において、星型の部分が指定領域であり、この領域内のマスク情報のビットは“１”、それ以外のマスク情報のビットは“０”となっている。これらマスク情報全体は２次元離散ウェーブレット変換による変換係数の構成と同じであるため、マスク情報内のビットを検査することで対応する位置の係数が指定領域内に属しているかどうかを識別することができる。このように生成されたマスク情報は量子化部３に出力される。
【００４４】
更に領域指定部１１は、指定領域に対する画質を指定するパラメータを不図示の入力系から入力する。このパラメータは、その指定領域に割り当てる圧縮率を表現する数値、或は画質を表す数値でもよい。領域指定部１１はこのパラメータから、指定領域における、係数に対するビットシフト量Ｂを計算し、マスクと共に量子化部３に出力する。
【００４５】
量子化部３は、これら入力した係数を所定の量子化ステップΔにより量子化し、その量子化値に対するインデックスを出力する。ここで、量子化は次式により行われる。
【００４６】
q=sign(c)floor{abs(c)/Δ}            （式３）
sign(c)=1    ;c＞=0                    （式４）
sign(c)=-1   ;c＜0                     （式５）
ここで、abs(c)はｃの絶対値を示し、floor{X}は、Xを超えない最大の整数値を表す。またｃは量子化対象となる係数である。また、本実施の形態においては量子化ステップΔの値として“１”を含むものとする。この場合は、量子化は行われない。
【００４７】
次に量子化部３は、領域指定部１１から入力したマスクおよびシフト量Ｂに基づき、次式により量子化インデックスを変更する。
【００４８】
q'=q×2^B;  m=1                        （式６）
q'=q     ;  m=0                        （式７）
ここで、「2^B」は２のＢ乗を示し、ｍは当該量子化インデックスの位置におけるマスクの値である。以上の処理により、領域指定部１１において指定された空間領域に属する量子化インデックスのみがＢビットだけ上方にシフトアップされる。
【００４９】
図６（ｂ）及び（ｃ）は、このシフトアップによる量子化インデックスの変化を示したものである。図６（ｂ）において、３つのサブバンドに各々３個の量子化インデックスが存在しており、網がけされた量子化インデックスにおけるマスクの値が“１”で、シフト数Ｂが“２”の場合、シフト後の量子化インデックスは（ｃ）のようになる。このようにして変更された量子化インデックスは、後続のエントロピ符号化部４に出力される。
【００５０】
エントロピ符号化部４は、その入力した量子化インデックスをビットプレーンに分解し、各ビットプレーン単位に２値算術符号化を行ってコードストリームを出力する。
【００５１】
図７は、このエントロピ符号化部４の動作を説明する図であり、この例においては４×４の大きさを持つサブバンド内の領域において非０の量子化インデックスが３個存在しており、それぞれ＋１３，−６，＋３の値を持っている。エントロピ符号化部４は、この領域を走査して最大値Ｍを求め、次式により最大の量子化インデックスを表現するために必要なビット数Ｓを計算する。
【００５２】
S=ceil[log2{abs(M)}]                  （式８）
ここでｃｅｉｌ(x)はｘ以上の整数の中で最も小さい整数値を表す。図７においては、最大の係数値は“１３”であるので、ビット数Ｓは“４”であり、シーケンス中の１６個の量子化インデックスは同図の右側に示すように、４つのビットプレーンを単位として処理が行われる。
【００５３】
最初にエントロピ符号化部４は、最上位ビットプレーン（ＭＳＢで表す）の各ビットを２値算術符号化し、ビットストリームとして出力する。次にビットプレーンを１レベル下げ、以下同様に対象ビットプレーンが最下位ビットプレーン（ＬＳＢで表す）に至るまで、ビットプレーン内の各ビットを符号化して符号出力部５に出力する。この時、各量子化インデックスの符号は、ビットプレーン走査において、最初の非０ビットが検出されるとその直ぐ後に当該量子化インデックスの符号がエントロピ符号化される。
【００５４】
図８は、このようにして生成され出力される符号列の構成を表した概略図である。
【００５５】
同図（ａ）は符号列の全体の構成を示したものであり、ＭＨはメインヘッダ、ＴＨiはタイルヘッダ、ＢＳiはビットストリームである。メインヘッダＭＨは、同図（ｂ）に示すように、符号化対象となる画像のサイズ（水平及び垂直方向の画素数）、画像を複数の矩形領域であるタイルに分割した際のタイルサイズ、各色成分数を表すコンポーネント数、各成分の大きさ、ビット精度を表すコンポーネント情報から構成されている。なお、本実施の形態では、画像はタイルに分割されていないので、タイルサイズと画像サイズは同じ値を取り、対象画像がモノクロの多値画像の場合は、コンポーネント数は“１”である。
【００５６】
次にタイルヘッダＴＨiの構成を図８（ｃ）に示す。
【００５７】
このタイルヘッダＴＨiには、当該タイルのビットストリーム長とヘッダ長を含めたタイル長および当該タイルに対する符号化パラメータ、および指定領域を示すマスク情報と、当該領域に属する係数に対するビットシフト数から構成される。符号化パラメータには、離散ウェーブレット変換のレベル、フィルタの種別等が含まれている。
【００５８】
本実施の形態におけるビットストリームの構成を同図（ｄ）に示す。
【００５９】
同図において、ビットストリームは各サブバンド毎にまとめられ、解像度の小さいサブバンドを先頭として順次解像度が高くなる順番に配置されている。さらに、各サブバンド内は上位ビットプレーンから下位ビットプレーンに向かい、ビットプレーンを単位として符号が配列されている。
【００６０】
このような符号配列とすることにより、後述する図１４の様な階層的復号化を行うことが可能となる。
【００６１】
図９は、このようにして生成され出力される符号列の構成を表した概略図である。
【００６２】
同図（ａ）は符号列の全体の構成を示したものであり、ＭＨはメインヘッダ、ＴＨはタイルヘッダ、ＢＳはビットストリームである。メインヘッダＭＨは、同図（ｂ）に示すように、符号化対象となる画像のサイズ（水平および垂直方向の画素数）、画像を複数の矩形領域であるタイルに分割した際のタイルサイズ、各色成分数を表すコンポーネント数、各成分の大きさ、ビット精度を表すコンポーネント情報から構成されている。なお本実施の形態では、画像はタイルに分割されていないので、タイルサイズと画像サイズは同じ値を取り、対象画像がモノクロの多値画像の場合コンポーネント数は“１”である。
【００６３】
次にタイルヘッダＴＨの構成を図９（ｃ）に示す。
【００６４】
タイルヘッダＴＨには、当該タイルのビットストリーム長とヘッダ長を含めたタイル長、及び当該タイルに対する符号化パラメータ、および指定領域を示すマスク情報と、当該領域に属する係数に対するビットシフト数から構成される。符号化パラメータには離散ウェーブレット変換のレベル、フィルタの種別等が含まれている。
【００６５】
本実施の形態におけるビットストリームの構成を同図（ｄ）に示す。
【００６６】
同図において、ビットストリームはビットプレーンを単位としてまとめられ、上位ビットプレーンから下位ビットプレーンに向かう形で配置されている。各ビットプレーンには、各サブバンドにおける量子化インデックスの当該ビットプレーンを符号化した結果が順次サブバンド単位で配置されている。図においてＳは最大の量子化インデックスを表現するために必要なビット数である。このようにして生成された符号列は、符号出力部５に出力される。
【００６７】
このような符号配列とすることにより、後述する図１６の様な階層的復号化を行うことが可能となる。
【００６８】
上述した実施の形態において、符号化対象となる画像全体の圧縮率は量子化ステップΔを変更することにより制御することが可能である。
【００６９】
また別の方法として本実施の形態では、エントロピ符号化部４において符号化するビットプレーンの下位ビットを必要な圧縮率に応じて制限（廃棄）することも可能である。この場合には、全てのビットプレーンは符号化されず上位ビットプレーンから所望の圧縮率に応じた数のビットプレーンまでが符号化され、最終的な符号列に含まれる。
【００７０】
このような下位ビットプレーンを制限する機能を利用すると、図６に示した指定領域に相当するビットのみが多く符号列に含まれることになる、即ち、上記指定領域のみ低圧縮率で高画質な画像として符号化することが可能となる。
【００７１】
［デコーダ］
次に以上述べた画像符号化装置により符号化されたビットストリームを復号化する方法について説明する。
【００７２】
図１０は本実施の形態に係る画像復号装置の構成を表すブロック図であり、６は符号入力部、７はエントロピ復号化部、８は逆量子化部、９は逆離散ウェーブレット変換部、１０は画像出力部である。
【００７３】
符号入力部６は、前述の符号化装置により符号化された符号列を入力し、それに含まれるヘッダを解析して後続の処理に必要なパラメータを抽出し、必要な場合は処理の流れを制御し、あるいは後続の処理ユニットに対して該当するパラメータを送出するものである。また、符号列に含まれるビットストリームはエントロピ復号化部７に出力される。
【００７４】
エントロピ復号化部７は、ビットストリームをビットプレーン単位で復号して出力する。この時の復号化手順を図１１に示す。
【００７５】
図１１の左側は、復号対象となるサブバンドの一領域をビットプレーン単位で順次復号化し、最終的に量子化インデックスを復元する流れを図示したものであり、同図の矢印の順にビットプレーンが復号化される。復元された量子化インデックスは逆量子化部８に出力される。
【００７６】
逆量子化部８は、エントロピー復号化部７から入力した量子化インデックスから、次式に基づいて離散ウェーブレット変換係数を復元する。
【００７７】
c'=Δ×q/2^U  ;q≠0                      （式１１）
c'=0          ;q=0                       （式１２）
U=B;  m=1                                （式１３）
U=0;  m=0                                （式１４）
ここで、ｑは量子化インデックス、Δは量子化ステップであり、Δは符号化時に用いられたものと同じ値である。また、「2^U」は２のＵ乗を示し、Ｂはタイルヘッダから読み出されたビットシフト数、ｍは当該量子化インデックスの位置におけるマスクの値である。ｃ’は復元された変換係数であり、符号化時ではｓまたはｄで表される係数の復元したものである。変換係数ｃ’は後続の逆離散ウェーブレット変換部９に出力される。
【００７８】
図１２は、逆離散ウェーブレット変換部９の構成および処理のブロック図を示したものである。
【００７９】
同図（ａ）において、入力された変換係数はメモリ９０１に記憶される。処理部９０２は１次元の逆離散ウェーブレット変換を行い、メモリ９０１から順次変換係数を読み出して処理を行うことで、２次元の逆離散ウェーブレット変換を実行する。２次元の逆離散ウェーブレット変換は、順変換と逆の手順により実行されるが、詳細は公知であるので説明を省略する。また同図（ｂ）は、処理部９０２の処理ブロックを示したものであり、入力された変換係数はｕおよびｐの２つのフィルタ処理を施され、アップサンプリングされた後に重ね合わされて画像信号ｘ’が出力される。これらの処理は次式により行われる。
【００８０】
x'(2n)=s'(n)-floor[{d'(n-1)+d'(n)}/4]           （式１５）
x'(2n+1)=d'(n)+floor[{x'(2n)+x(2n+2)}/2]        （式１６）
ここで、（式１）、（式２）、および（式１５）、（式１６）による順方向および逆方向の離散ウェーブレット変換は完全再構成条件を満たしているため、本実施の形態において量子化ステップΔが“１”であり、ビットプレーン復号化において全てのビットプレーンが復号されていれば、復元された画像信号ｘ’は原画像の信号ｘと一致する。
【００８１】
以上の処理により、画像が復元されて画像出力部１０に出力される。この画像出力部１０はモニタ等の画像表示装置であってもよいし、或は磁気ディスク等の記憶装置であってもよい。
【００８２】
以上述べた手順により画像を復元表示した際の、画像の表示形態について図１３を用いて説明する。
【００８３】
同図（ａ）は、符号列の例を示したものであり、基本的な構成は図８に基づいているが、画像全体をタイルと設定されており、従って符号列中には唯１つのタイルヘッダおよびビットストリームが含まれている。ビットストリームＢＳ０には、図に示すように、最も低い解像度に対応するサブバンドであるＬＬから順次解像度が高くなる順に符号が配置されており、さらに各サブバンド内は上位ビットプレーンから下位ビットプレーンに向かって、符号が配置されている。
【００８４】
復号化装置は、このビットストリームを順次読み込み、各ビットプレーンに対応する符号を復号した時点で画像を表示する。同図（ｂ）は各サブバンドと表示される画像の大きさの対応と、サブバンド内の符号列を復号するのに伴う画像の変化を示したものである。同図において、ＬＬに相当する符号列が順次読み出され、各ビットプレーンの復号処理が進むに従って画質が徐々に改善されている。この時、符号化時に指定領域となった星型の部分はその他の部分よりも、より高画質に復元される。
【００８５】
これは、符号化時に量子化部において、指定領域に属する量子化インデックスをシフトアップしており、そのためビットプレーン復号化の際に当該量子化インデックスがその他の部分に対し、より早い時点で復号化されるためである。このように指定領域部分が高画質に復号化されるのは、その他の解像度についても同様である。
【００８６】
さらに、全てのビットプレーンを復号化した時点では指定領域とその他の部分は画質的に同一であるが、途中段階で復号化を打ち切った場合は指定領域部分がその他の領域よりも高画質に復元された画像が得られる。
【００８７】
以上述べた手順により画像を復元表示した際の、画像の表示形態について図１４を用いて説明する。
【００８８】
図１４（ａ）は、符号列の例を示したものであり、基本的な構成は図９に基づいているが、画像全体を１つのタイルと設定されており、従って符号列中には唯１つのタイルヘッダおよびビットストリームが含まれている。ビットストリームＢＳ０には図に示すように、最も上位のビットプレーンから、下位のビットプレーンに向かって符号が配置されている。
【００８９】
復号化装置は、このビットストリームを順次読み込み、各ビットプレーンの符号を復号した時点で画像を表示する。同図において各ビットプレーンの復号処理が進むに従って画質が徐々に改善されているが、符号化時に指定領域となった星型の部分はその他の部分よりもより高画質に復元される。
【００９０】
これは、符号化時に量子化部３において、指定領域に属する量子化インデックスをシフトアップしており、そのためビットプレーン復号化の際に当該量子化インデックスがその他の部分に対し、より早い時点で復号されるためである。
【００９１】
さらに、全てのビットプレーンを復号した時点では、指定領域とその他の部分は画質的に同一であるが、途中段階で復号化を打ち切った場合は、指定領域部分がその他の領域よりも高画質に復元された画像が得られる。
【００９２】
上述した実施の形態において、エントロピ復号化部７において復号する下位ビットプレーンを制限（無視）することにより、受信或いは処理する符号化データ量を減少させ、結果的に圧縮率を制御することが可能である。
【００９３】
この様にすることにより、必要なデータ量の符号化データのみから所望の画質の復号画像を得ることが可能となる。また、符号化時の量子化ステップΔが“１”であり、復号時に全てのビットプレーンが復号された場合は、復元された画像が原画像と一致する可逆符号化・復号化を実現することもできる。
【００９４】
また上記下位ビットプレーンを制限する機能を利用すると、復号対象となる符号列には、図６に示した指定領域に相当するビットのみが他領域より多く含まれていることから、結果的に上記指定領域のみ低圧縮率かつ高画質な画像として符号化されたデータを復号したのと同様の効果を奏する。
【００９５】
本実施の形態では、以上のデコーダを有する伸長部１１１と、属性判定部１１４において、ホストコンピュータ１００で圧縮された画像データを伸長するとともに、これに付随する情報によって表されるＲＯＩ領域を文字領域とみなし、又それ以外の圧縮画像データが示す領域はそれ以外（例えばイメージ）とみなし、それらの情報を中間データとして格納する。
【００９６】
従って、上記圧縮された画像データはＲＯＩに応じて２つの領域に分割され、各々に属性情報が割当てられる。例えば、図１５（ａ）に示すように、右下の矩形が上記方式で圧縮され、「ＡＢＣＤＥＦＧ」を示す文字領域（ＲＯＩ）が存在する場合には、図１５（ｂ）に示すように属性が割当てられる。
【００９７】
なお、ステップＳ６の属性判定において、オブジェクトの種類ではなく、高品位オブジェクトか品位が落ちても良いオブジェクトか、といったオブジェクトの品位処理の種類を判定しても良い。また或は、高解像度オブジェクトか、高階調オブジェクトといった求められる画像処理の種類を判定しても良い。
【００９８】
更には、ステップＳ６で、伸長部１１１において、ステップＳ４の伸長の際に用いたＲＯＩ領域を属性領域とし、更に、その領域に対する画質指定パラメータから属性の種類を決定しても良い。
【００９９】
またステップＳ６の属性判定では、伸長部１１１で、ステップＳ４の伸長の際に用いたＲＯＩ領域を属性領域とし、さらに、領域に対する画質指定パラメータから属性の種類を決定しても良い。その際、高圧縮率が指定されていたピクセルを文字領域、低圧縮率が指定されていたピクセルをそれ以外の領域としても良い。
【０１００】
またステップＳ６の属性判定において、伸長部１１１で伸長の際に用いたＲＯＩ領域を属性領域とし、更に、その領域に対する画質指定パラメータから属性の種類を決定しても良い。その際、高圧縮率が指定されていたピクセルを高品位領域、低圧縮率が指定されていたピクセルを品位が落ちても良い領域としても良い。
【０１０１】
また更に、ステップＳ６の属性判定において、伸長部１１１で伸長の際に用いたＲＯＩ領域を属性領域とし、更に、その領域に対する画質指定パラメータから属性の種類を決定しても良い。その際、高圧縮率が指定されていたピクセルを解像度優先領域、低圧縮率が指定されていたピクセルを階調優先領域としても良い。
【０１０２】
なお本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１０３】
また本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１０４】
更に記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１０５】
【発明の効果】
以上説明したように本発明によれば、圧縮データから指定領域とそれ以外の領域とを判別し、この圧縮データを第１のビットマップデータに伸長し、更に、上記判別結果に基づいて第１のビットマップデータを画像処理することにより第２のビットマップデータに変換ことができる。
【図面の簡単な説明】
【図１】本実施の形態に係る印刷装置の制御構成を説明する概略ブロック図である。
【図２】本実施の形態に係る印刷装置における第１のデータ処理手順の一例を説明するフローチャートである。
【図３】印刷画像とその中間データ、ビットマップ１の描画結果、ビットマップ２の描画結果を示す図である。
【図４】ホストコンピュータにおける符号化装置の構成を説明する概略のブロック図である。
【図５】本実施の形態に係る離散ウェーブレット変換部を説明する図である。
【図６】マスク情報の生成を説明する図である。
【図７】本実施の形態に係るエントロピ符号化部の動作を説明する図である。
【図８】本実施の形態において、生成され出力される符号列の構成を表した概略図である。
【図９】本実施の形態において、生成され出力される符号列の構成を表した概略図である。
【図１０】本実施の形態における画像復号装置の構成を表すブロック図である。
【図１１】本実施の形態に係る復号化手順を説明する図である。
【図１２】本実施の形態に係る逆離散ウェーブレット変換部の構成および処理のブロック図を示したものである。
【図１３】本実施の形態において、画像を復元表示した際の画像の表示形態について説明した図である。
【図１４】本実施の形態において、画像を復元表示した際の画像の表示形態について説明した図である。
【図１５】印刷画像とその中間データ、ビットマップ１の描画結果、ビットマップ２の描画結果の他の例を示す図である。
【図１】
0003814456.tif 000002
【図２】
0003814456.tif 000003
【図３】
0003814456.tif 000004
【図４】
0003814456.tif 000005
【図５】
0003814456.tif 000006
【図６】
0003814456.tif 000007
【図７】
0003814456.tif 000008
【図８】
0003814456.tif 000009
【図９】
0003814456.tif 000010
【図１０】
0003814456.tif 000011
【図１１】
0003814456.tif 000012
【図１２】
0003814456.tif 000013
【図１３】
0003814456.tif 000014
【図１４】
0003814456.tif 000015
【図１５】
0003814456.tif 000016