本発明は、画像データを圧縮して蓄積する機能を持つ画像処理装置に係り、特に、2以上の異なるデータ形式の画像データを処理する画像処理装置に関する。
画像データには様々なデータ形式のものがあるが、スキャナ等から入力されるビットマップ形式の画像データ(以下、スキャンデータとも記す)と、ページ記述言語(PDL)形式の画像データ(以下、PDLデータとも記す)が代表的である。PDLデータとしては、Adobe社が提唱し広く使用されているPDFやPS等のフォーマットが代表的であるが、画像機器メーカ独自のフォーマットのものも多い。
スキャンデータは、JPEGに代表されるような、ラスタースキャン(ページの左上から順々に処理される)に向いている圧縮フォーマットで蓄積されるのが一般的である。しかし、JPEG等の圧縮方式は、自然画などに良好な性能をもたらすものの、文字等の高周波成分を多く含む画像を高画質に圧縮しようとすると圧縮率が低くなりファイルサイズが大きくなる、ファイルサイズを小さく(圧縮率を高く)すると画質が落ちて文字の判読性が落ちるなど、オフィス等にて使用頻度の高い文字やCG画像等を含む文書画像に対して必ずしも最適な圧縮方式とはいえない。
スキャンデータの圧縮に関する公知文献としては例えば特許文献2がある。この特許文献2に記載されている画像圧縮装置においては、原稿画像に含まれる文字領域の位置を特定し、文字領域内を所定の色で埋めることで下地画像を生成し、文字領域内の色のパレットを生成し、当該パレットに基づいて文字領域内の画像に基づいた減色画像を生成し、減色画像と下地画像に対し異なる圧縮を行う。
PDLデータの圧縮に関する公知文献としては例えば特許文献3がある。この特許文献3に記載の画像処理システムにおいては、フロントエンドプロセッサ側で、PDLデータから1ページ内の文字・図形の要素のみを展開したビットマップ形式の画像データ(文字・図形プレーン)とイメージ要素のみを展開したビットマップ形式の画像データ(イメージプレーン)とを生成し、文字・図形プレーンをLZW等の可逆圧縮方式で圧縮し、イメージプレーンをJPEG等の非可逆圧縮方式で圧縮する。バックエンドプロセッサ側では、フロントエンドプロセッサより渡された各プレーンの圧縮符号を伸長した後に合成処理を行い、合成されたビットマップ形式の画像データをプリントエンジンに出力する。
スキャンデータ及びPDLデータの圧縮に関する公知文献として例えば特許文献1がある。この特許文献1に記載の画像処理装置においては、スキャナから入力されたスキャンデータに対しては、画素毎の像域分離により像域毎の属性を表すフラグデータを生成する。このフラグデータは、例えば、文字属性の画素が1、他の属性の画素が0の2値画像データ、グラフィック領域の画素が1、それ以外の画素が0の2値画像データ、網点領域の画素が1、それ以外の画素が0の2値画像データである。このような属性対応のフラグデータと、入力スキャンデータに像域の属性に応じた画像処理を施した画像データとを、それぞれ異なる圧縮方式で圧縮して記憶装置に記憶する。また、通信回線から入力されたPDLデータに対しては、ビットマップ形式の画像データに展開すると同時にフラグデータを生成し、それぞれを異なる圧縮方式で圧縮して記憶装置に記憶する。記憶装置に記憶された圧縮データの出力時には、フラグデータと画像データを伸長した後、伸長した画像データに対しフラグデータに基づいて像域の属性に応じた画像処理を施してからプリンタに送り出力させる。
画像データの圧縮機能が必須の画像処理装置として複写機がある。近年の複写機は、複写機能、プリンタ機能、スキャナ機能等を集約したMPF(Multi Function Printer)と呼ばれる複合機の形態をとる割合が高くなっている。また、ハードディスク装置(以下HDD)等の大容量の記憶装置を備え、この記憶装置に読み込んだ画像を圧縮して記憶(蓄積)しておくことにより、複数部数の原稿を1度だけ読み込みページ順に複数部数の出力を行う”電子ソート”と呼ばれる機能や、用紙ミスフィード(紙づまり)等のエラー時に複数のプリントがエラーした場合に(高速の複写機等では複数の用紙が同時に機械内部に存在するため)原稿を再読み込みしなくとも再プリントが自動的に行われるような機能を備えている。また、圧縮してHDD内に蓄積した文書画像データを必要に応じて外部装置にネットワークを経由して転送するような文書配信機能などを備えている。また、近年、スキャナで読み込んだ画像データに加え、外部装置により入力されるPDLデータのプリント等も可能なMFPが増加している。
特開2001-211329号公報
特開2002-77631号公報
特開2000-198241号公報
スキャンデータに加えPDLデータも処理するMFPのように、2以上の異なったデータ形式の画像データを処理する画像処理装置においては、入力画像データの形式が異なっても、その圧縮データのフォーマットを共通化もしくは実質的に共通化することが望ましい。ここで、フォーマットの実質的な共通化とは、フォーマットの相違が、圧縮データに対する処理系の共通化を妨げないようなものであることを意味する。
スキャンデータとPDLデータとで圧縮データのフォーマットが異なると、圧縮データの管理やデータフロー等の面でシステムが複雑化し、コストアップの原因となったり装置の機能や性能面で制約が生じやすくなる。例えば、異種データをマージ(スキャンデータとPDLデータを1ページ内に集約)して出力するためには、圧縮データのフォーマットを統一する必要が生じるため、スキャンデータ又はPDLデータをそのまま出力する場合のデータフローと、スキャンデータとPDLデータをマージして出力する場合のデータフローが異なったものになる。このようなデータフローの多系統化は、システムの処理系の複雑化、コストアップ、処理速度の低下等の原因となる。また、マージのためのフォーマット変換を行った場合とフォーマット変換を行わない場合とで処理後段の画像処理の内容が異なるときには、フォーマット変換を行わずに出力した画像とフォーマット変換を行って出力した画像とで画質に違いが生じるといった不都合もある。さらに、スキャンデータの圧縮データとPDLデータの圧縮データにフォーマットの共通性がないと、保存した圧縮データを圧縮率などを調整するフォーマット変換を行って外部装置へ配信する場合などに、それぞれのデータ毎にフォーマット変換処理の内容が異なったものとなり、この点でもシステムの複雑化、処理効率の低下を招くことになる。
前記特許文献1に記載の方式によれば、スキャンデータとして入力された画像データもPDLデータとして入力された画像データも圧縮データのフォーマットは同一となるので、圧縮データのフォーマットの共通化という課題は達成される。しかし、この方式では、ビットマップ形式に展開された多値データを圧縮するため、圧縮率を上げると文字の判読性が低下するという問題がある。オフィス等で使用頻度の高い文書の大半は文字を含むため、文字の判読性の低下は極めて好ましくない。また、イメージやグラフィックス等の下地画像と文字画像を含み、それらが一部重なるようなPDLデータの場合、例えば文字画像が下地画像に隠れた状態にビットマップ展開して圧縮し蓄積してしまうと、下地画像に隠れた文字画像の情報は失われてしまう。この場合、蓄積データに対し文字画像と下地画像の上限関係を変更し、文字画像全てを表示させるような編集を行うことは不可能になってしまい、蓄積データの再利用に制約が生じる。
よって、本発明の目的は、スキャンデータやPDLデータのような2以上のデータ形式の画像データが入力されるMFP等の画像処理装置において、異なったデータ形式の画像データについて圧縮データのフォーマットの共通化もしくは実質的な共通化を図ると同時に、高圧縮率の場合の文字の判読性を向上させること、PDLデータとして入力された画像データの圧縮データの再利用性を向上させること、さらには高画質の画像再現を可能にすることである。
請求項1の発明は、
ビットマップ形式の画像データを入力する第1の画像入力手段と、
前記第1の画像入力手段による入力画像データを複数の要素データからなる構造化画像データに変換し、変換した構造化画像データを、少なくともその一部の要素データに関し要素データ別に圧縮符号化してから出力する第1のエンコード処理手段と、
ページ記述言語形式の画像データを入力する第2の画像入力手段と、
前記第2の画像入力手段による入力画像データを複数の要素データからなる構造化画像データに変換し、変換した構造化画像データを、少なくともその一部の要素データに関し要素データ別に圧縮符号化してから出力する第2のエンコード処理手段と、
前記第1のエンコード処理手段及び前記第2のエンコード処理手段より出力された構造化画像データを記憶する記憶手段とを有し、
前記第1のエンコード処理手段は、
構造化画像データの要素データとして、
入力画像データの文字画像を再現するための2値の文字画像データを生成する手段と、
該入力画像データの文字画像の色を再現するための多値の文字色データを生成する手段と、
該入力画像データの文字画像が除かれた下地画像を再現するための多値の下地画像データを生成する手段と、
該文字画像データ、該文字色データ及び該下地画像データから多値の再現画像データを合成し、該再現画像データと該入力画像データとの差分成分を表す変換データを生成する手段と、
を含む第1の構造化手段と、
該第1の構造化手段により生成された少なくとも一部の要素データに対し要素データ別に圧縮符号化処理を行う第1の圧縮符号化処理手段と、
からなり、
前記第2のエンコード処理手段は、
構造化画像データの要素データとして、入力画像データの文字画像を再現するための2値の文字画像データと、該入力画像データの文字画像の色を再現するための多値の文字色データと、該入力画像データの文字画像が除かれた下地画像を再現するための多値の下地画像データとを生成する第2の構造化手段と、
該第2の構造化手段により生成された少なくとも一部の要素データに対し要素データ別に圧縮符号化処理を行う第2の圧縮符号化処理手段とからなる、
ことを特徴とする画像処理装置である。
請求項2の発明は、
ビットマップ形式の画像データを入力する第1の画像入力手段と、
前記第1の画像入力手段による入力画像データを複数の要素データからなる構造化画像データに変換し、変換した構造化画像データを、少なくともその一部の要素データに関し要素データ別に圧縮符号化してから出力する第1のエンコード処理手段と、
ページ記述言語形式の画像データを入力する第2の画像入力手段と、
前記第2の画像入力手段による入力画像データを複数の要素データからなる構造化画像データに変換し、変換した構造化画像データを、少なくともその一部の要素データに関し要素データ別に圧縮符号化してから出力する第2のエンコード処理手段と、
前記第1のエンコード処理手段及び前記第2のエンコード処理手段より出力された構造化画像データを記憶する記憶手段とを有し、
前記第1のエンコード処理手段は、
構造化画像データの要素データとして、
入力画像データの文字領域の位置及び範囲を示す文字領域データを生成する手段と、
該文字領域データにより示される文字領域の文字画像を再現するための2値の文字画像データを生成する手段と、
該文字領域データにより示される文字領域の文字画像の色を再現するための多値の文字色データを生成する手段と、
該入力画像データの文字画像が除かれた下地画像を再現するための多値の下地画像データを生成する手段と、
該文字領域データ、該文字画像データ、該文字色データ及び該下地画像データから多値の再現画像データを生成し、該再現画像データと該入力画像データとの差分成分を表す変換データを生成する手段と、
を含む第1の構造化手段と、
該第1の構造化手段により生成された少なくとも一部の要素データに対し要素データ別に圧縮符号化処理を行う第2の圧縮符号化処理手段と、
からなり、
前記第2のエンコード処理手段は、
構造化画像データの要素データとして、入力画像データの文字領域の位置及び範囲を示す文字領域データと、該文字領域データにより示される文字領域の文字画像を再現するための2値の文字画像データと、該文字領域データにより示される文字領域の文字画像の色を再現するための多値の文字色データと、該入力画像データの文字画像が除かれた下地画像を再現するための多値の下地画像データとを生成する第2の構造化手段と、
該第2の構造化手段により生成された少なくとも一部の要素データに対し要素データ別に圧縮符号化処理を行う第2の圧縮符号化処理手段とからなる、
ことを特徴とする画像処理装置である。
請求項3の発明の特徴は、請求項2の発明による画像処理装置において、前記第2のエンコード処理手段の第2の構造化手段が、構造化画像データの要素データとして生成した文字画像データと下地画像データの合成時の上下関係を示すデータを該構造化画像データの要素データとしてさらに生成することである。
請求項4の発明の特徴は、請求項2の発明による画像処理装置において、前記第2のエンコード処理手段の第2の構造化手段が、構造化画像データの要素データとして生成した文字画像データと下地画像データの合成時の透明化処理のための不透明度又は透明度を指定するデータを該構造化画像データの要素データとしてさらに生成することである。
請求項5の発明の特徴は、請求項2の発明による画像処理装置において、前記第2のエンコード処理手段の第2の構造化手段が、構造化画像データの要素データとして生成した文字領域データ、文字画像データ、文字色データ及び下地画像データから合成される多値の再現画像データと入力画像データとの差分成分を表す変換データを該構造化画像データの要素データとしてさらに生成することである。
請求項6の発明は、
ビットマップ形式の画像データを入力する第1の画像入力工程と、
前記第1の画像入力工程による入力画像データを複数の要素データからなる構造化画像データに変換し、変換した構造化画像データを、少なくともその一部の要素データに関し要素データ別に圧縮符号化してから出力する第1のエンコード処理工程と、
ページ記述言語形式の画像データを入力する第2の画像入力工程と、
前記第2の画像入力工程による入力画像データを複数の要素データからなる構造化画像データに変換し、変換した構造化画像データを、少なくともその一部の要素データに関し要素データ別に圧縮符号化してから出力する第2のエンコード処理工程と、
前記第1のエンコード処理工程及び前記第2のエンコード処理工程より出力された構造化画像データを記憶手段に記憶する工程とを有し、
前記第1のエンコード処理工程は、
構造化画像データの要素データとして、
入力画像データの文字画像を再現するための2値の文字画像データを生成する工程と、
該入力画像データの文字画像の色を再現するための多値の文字色データを生成する工程と、
該入力画像データの文字画像が除かれた下地画像を再現するための多値の下地画像データを生成する工程と、
該文字画像データ、該文字色データ及び該下地画像データから多値の再現画像データを合成し、該再現画像データと該入力画像データとの差分成分を表す変換データを生成する工程と、
を含む第1の構造化工程と、
該第1の構造化工程により生成された少なくとも一部の要素データに対し要素データ別に圧縮符号化処理を行う第1の圧縮符号化処理工程と、
からなり、
前記第2のエンコード処理工程は、
構造化画像データの要素データとして、入力画像データの文字画像を再現するための2値の文字画像データと、該入力画像データの文字画像の色を再現するための多値の文字色データと、該入力画像データの文字画像が除かれた下地画像を再現するための多値の下地画像データとを生成する第2の構造化工程と、
該第2の構造化工程により生成された少なくとも一部の要素データに対し要素データ別に圧縮符号化処理を行う第2の圧縮符号化処理工程とからなる、
ことを特徴とする画像処理方法である。
請求項7の発明は、
ビットマップ形式の画像データを入力する第1の画像入力工程と、
前記第1の画像入力工程による入力画像データを複数の要素データからなる構造化画像データに変換し、変換した構造化画像データを、少なくともその一部の要素データに関し要素データ別に圧縮符号化してから出力する第1のエンコード処理工程と、
ページ記述言語形式の画像データを入力する第2の画像入力工程と、
前記第2の画像入力工程による入力画像データを複数の要素データからなる構造化画像データに変換し、変換した構造化画像データを、少なくともその一部の要素データに関し要素データ別に圧縮符号化してから出力する第2のエンコード処理工程と、
前記第1のエンコード処理工程及び前記第2のエンコード処理工程より出力された構造化画像データを記憶手段に記憶する工程とを有し、
前記第1のエンコード処理工程は、
構造化画像データの要素データとして、
入力画像データの文字領域の位置及び範囲を示す文字領域データを生成する工程と、
該文字領域データにより示される文字領域の文字画像を再現するための2値の文字画像データを生成する工程と、
該文字領域データにより示される文字領域の文字画像の色を再現するための多値の文字色データを生成する工程と、
該入力画像データの文字画像が除かれた下地画像を再現するための多値の下地画像データを生成する工程と、
該文字領域データ、該文字画像データ、該文字色データ及び該下地画像データから多値の再現画像データを生成し、該再現画像データと該入力画像データとの差分成分を表す変換データを生成する工程と、
を含む第1の構造化工程と、
該第1の構造化工程により生成された少なくとも一部の要素データに対し要素データ別に圧縮符号化処理を行う第2の圧縮符号化処理工程と、
からなり、
前記第2のエンコード処理工程は、
構造化画像データの要素データとして、入力画像データの文字領域の位置及び範囲を示す文字領域データと、該文字領域データにより示される文字領域の文字画像を再現するための2値の文字画像データと、該文字領域データにより示される文字領域の文字画像の色を再現するための多値の文字色データと、該入力画像データの文字画像が除かれた下地画像を再現するための多値の下地画像データとを生成する第2の構造化工程と、
該第2の構造化工程により生成された少なくとも一部の要素データに対し要素データ別に圧縮符号化処理を行う第2の圧縮符号化処理工程とからなる、
ことを特徴とする画像処理方法である。
請求項8の発明の特徴は、請求項7の発明による画像処理方法において、前記第2のエンコード処理工程の第2の構造化工程は、構造化画像データの要素データとして生成した文字画像データと下地画像データの合成時の上下関係を示すデータを該構造化画像データの要素データとしてさらに生成することである。
請求項9の発明の特徴は、請求項7の発明による画像処理方法において、前記第2のエンコード処理工程の第2の構造化工程が、構造化画像データの要素データとして生成した文字画像データと下地画像データの合成時の透明化処理のための不透明度又は透明度を指定するデータを該構造化画像データの要素データとしてさらに生成することである。
請求項10の発明の特徴は、請求項7の発明による画像処理方法において、前記第2のエンコード処理工程の第2の構造化工程が、構造化画像データの要素データとして生成した文字領域データ、文字画像データ、文字色データ及び下地画像データから合成される多値の再現画像データと入力画像データとの差分成分を表す変換データを該構造化画像データの要素データとしてさらに生成することである。
請求項11の発明は、請求項1乃至5のいずれか1項の発明による画像処理装置の各手段としてコンピュータを機能させるプログラムである。
請求項12の発明は、請求項1乃至5のいずれか1項の発明による画像処理装置の各手段としてコンピュータを機能させるプログラムが記録された、コンピュータが読み取り可能な情報記録媒体である。
請求項1〜10の発明によれば、ビットマップ形式とページ記述言語形式という異なったデータ形式の画像データを、フォーマットが共通化された圧縮データとして蓄積することができるため、蓄積した圧縮データに対するデコード処理等の処理の内容、データフロー、処理系の構成などの共通化を図ることができ、異なったデータ形式の画像データの圧縮データを一元的に管理することが可能となる。よって、システムの複雑化やコストアップを抑え、かつ処理の効率化を図ることができる。また、構造化画像データの要素データとして2値の文字画像データを含み、これは他の要素データとは別に圧縮符号化されるため、全体の圧縮率が高い場合でも良好な文字判読性を維持でき、さらに、構造化画像データの要素データとして変換データを含むことにより、高品質の文字画像再現が可能であるとともに文字画像の画質のスケーラビリティを持たせることができる。また、構造化画像データの圧縮符号化を要素データ別に行うため、個々の要素データの特性に適した符号化方式を利用することができ、ページ記述言語形式の画像データなども効率的な圧縮が可能である。さらに、請求項3,4,8,9の発明によれば、ページ記述言語形式の画像データの構造化画像データの要素データとして、文字画像データと下地画像データの上下関係や透明化処理のための不透明度もしくは透明度など、両データの合成を制御するためのデータが含まれるため、例えば下地に隠れる文字画像の情報などを圧縮データに保存することができるため、圧縮データに対し下地に隠れた文字画像を下地の上に表すような編集等が可能となり、圧縮データの再利用性を向上させることができる。さらに、請求項2,7の発明によれば、構造化画像データの要素データとして文字領域の位置及び範囲を示す文字領域データが含まれるため、文字領域単位の文字画像データ及び文字色データを生成可能であり、それらのデータ量を削減できる。請求項11,12の発明によれば、コンピュータを利用して請求項1〜5の発明を容易に実施することが可能になる等々の効果を得られる。
以下に説明する実施の形態において多値の画像データの圧縮符号化方式としてJPEG2000の基本方式(IS
15444-1)が利用されるため、ここでJPEG2000の概要を説明する。
図35は、JPEG2000の圧縮符号化処理のアルゴリズムを説明するためのブロック図である。ここでは、入力画像データとしてカラーのRED,GREEN,BLUE(RGB)の画像データを例にして説明する。
入力されたRGBの画像データは、タイリング処理部301でタイルと呼ばれる矩形のブロックに分割され、タイル単位で入力される。ラスタ形式の画像データが入力された場合は、タイリング処理部301でラスタ/ブロック変換が行われる。JPEG2000では、タイル単位で独立して符号化、復号化が可能である。このことは、ハードウェアにより符号化、復号化を行う場合のハード量の削減を可能にし、また、必要なタイルのみ復号し表示することも可能にするなど、JPEG2000の多機能化の一翼を担っている。なお、JPEG2000ではタイリングはオプションであり、タイリングを行わないことも可能である。
次に、画像データは色変換処理部302にて、輝度/色差系の信号に変換される。JPEG2000では離散ウェーブレット変換(以下DWT)に使用するフィルタの種類(5×3と9×7の2通り)によって2通りの色変換が定められており、例えば可逆変換可能な5×3フィルタを使用する場合は、次式によって可逆の色変換を行う。
Y=|_(R+2G+B)/4_|
U=R−G
V=B−G ・・・・式1
但し、|_X_| は、Xを超えない最大の整数を表す。
なお、上記の色変換に先立ち、RGB各信号毎にDCレベルシフトが行われる。DCレベルシフトは、例えばRGB信号が8bitの場合は次式により表される。
R'=R−128 ・・・・式2
色変換後の信号は、DWT処理部303において各々のコンポーネント毎にDWTが行われ、ウェーブレット係数が出力される。DWTは2次元にて行われるが、通常は、リフティング演算と呼ばれる演算方法により1次元フィルタ演算のコンボリューションにて実施される。1次元の変換式を式3に示す。
L(k)=X(2k)+(H(k)+H(k+1))/4
H(k)=X(2k-1)−(X(2k)+X(2k-2))/2 ・・・・式3
但し、L(k)は低周波成分、H(k)は高周波成分、X(k)は画素値、kは座標を表す。
DWTはダウンサンプリングを伴うため、上記L(K)、H(K)は入力画像と比較して1/2の解像度となる。
図36は、オクターブ分割されたウェーブレット係数を表す図である。DWTは、1デコンポジション(分解)レベル毎にLL,HL,LH,HHの4つのサブバンドと呼ばれる方向成分が出力され、LLに対してDWTを再帰的に繰り返し、より低解像度へとデコンポジションレベルをあげていく。解像度の最も高いデコンポジションレベル1の係数を1HL,1LH,1HHと表し、以下2HL,2LH・・・NHHと表す。なお、図36は、3デコンポジションレベルのサブバンド分割を示している。
各デコンポジションレベルにおけるサブバンドをプレシンクトと呼ばれる領域に分割して符号の集合を形成する事が可能である。また、プレシンクトはコードブロックと呼ばれる所定の矩形ブロックに分割され、符号化はコードブロック単位で行われる。
DWT処理部303から出力されたウェーブレット係数に対し量子化部304でスカラー量子化が行われるが、可逆のDWTが実施される場合にはスカラー量子化は行われないか、量子化ステップ数を1とした量子化が行われる。また、後段のポスト量子化部306におけるポスト量子化によっても、スカラー量子化とほぼ同様な効果が得られる。スカラー量子化のパラメータはタイル単位で変更可能である。
量子化処理部304から出力された量子化後のウェーブレット係数に対し、エントロピー符号化部305にてエントロピー符号化が行われる。JPEG2000におけるエントロピー符号化方式は、サブバンド内をコードブロックに分割し(但し、サブバンドのサイズがコードブロックサイズ以下の場合は分割しない)、コードブロック単位に符号化される。
この符号化において、図37に模式的に示すように、コードブロック内のウェーブレット係数はビットプレーンに分解され、各ビットプレーンは変換係数の画質への影響度を表す状態に従って3つの符号化パス(SIGNIFICANCE PROPAGATIONパス,MAGNITUDE REFINEMENTパス,CLEAN UPパス)と呼ばれるサブビットプレーンに分割されてMQコーダと呼ばれる算術符号化方式により符号化される。ビットプレーンはMSB側ほど、符号化パスはSIGNIFICANCE
PROPAGATION、MAGNITUDE REFINEMENT、CLEAN UPの順に、重要度(画質への寄与度)が高い。また、各パスの終端は、切り捨て点(トランケーションポイント)とも呼ばれ、後段のポスト量子化での符号の切り捨て可能な単位となっている。
エントロピー符号化により生成された符号データに対し、ポスト量子化部306にて必要に応じて符号の切り捨て(トランケーション)が行われる。ただし、可逆の符号を出力する必要がある場合にはポスト量子化は実行されない。このような符号化後の符号の切り捨てにより符号量を制御することができ、符号量の制御にフィードバックを必要としない構成(1パスの符号化)となっており、これもJPEG2000の特徴の1つである
符号ストリーム生成処理部307において、ポスト量子化後の符号データに対し、所定のプログレッシブ順序(符号データの復号順序)に従って符号の並べ替えとヘッダの付加を行うことにより、当該タイル分の符号ストリームが生成される。
以下、本発明の実施の形態について、いくつかの実施例に関し説明する。各実施例に係る画像処理装置はMFPであるが、これは本発明の好ましい実施の形態の一例にすぎない。本発明は、MFPに限らず、画像データを処理する各種の画像処理装置、ファイルサーバ等のネットワーク機器に適用し得るものである。また、以下の説明で多くの図面を参照するが、説明の重複を減らすため、複数の図面において同一部分又は対応部分に同一の参照番号が付されている。
図1は、本実施例及び後記各実施例に係るMFPの全体構成を示すブロック図である。このMFPは、原稿を読取るスキャナ部101、スキャナ部101から入力された画像データに対し公知のγ補正処理や空間フィルタ処理等の画像処理を行うスキャナ画像処理部102、ビットマップ形式の画像データを構造化した後に圧縮符号化して符号データを出力するエンコーダS103、ページ記述言語(PDL)形式の画像データを構造化した後に圧縮符号化して符号データを出力するエンコーダP104、装置全体の動作制御命令や外部装置との通信、バス111上のデータの流れなどの制御を司るCPU105、画像データや圧縮符号化された符号データを一時的に記憶するためのワーク領域として使用される揮発性のメモリ106、符号データ等を保存、蓄積するためのハードディスク装置(以下HDD)107、操作者とのインターフェースであり、スタートボタンや動作モードの設定ボタンなどを備える操作部108、外部装置に対して構造化及び符号化された画像データを転送する際に画像データのフォーマット変換を行うフォーマット変換処理部109、外部転送路を介してパーソナルコンピュータ(以下PC)等の外部装置から制御コマンドやページ記述言語形式を含む画像データを送受信する外部インターフェース110、各構成要素間で双方向にデータを転送可能なバス111、構造化・符号化処理された符号データを復号処理して画像データを出力するデコーダ112、デコーダ112より出力される画像データに対し公知の色補正処理、γ変換処理、擬似階調処理等を行うプリンタ画像処理部113、プリンタ画像処理部113より出力される画像データを記録紙等の記録媒体へ記録するプリンタ部114から構成されている。
ここで、スキャナ部101及びスキャナ画像処理部102は、ビットマップ形式の画像データの入力手段に相当する。また、外部インターフェース110はページ記述言語形式の画像データの入力手段に相当する。また、エンコーダS103はビットマップ形式の画像データに対するエンコード処理手段に相当し、エンコーダP104はページ記述言語形式の画像データに対するエンコード処理手段に相当する。これらエンコーダは、後述のように、入力画像データを複数の要素データからなる構造化画像データに変換する構造化手段と、構造化画像データの少なくとも一部の要素データに対し要素データ別に圧縮符号化処理を行う圧縮符号化処理手段とから構成される。
<基本的動作>
まず、MFPの基本的な動作である原稿読み取り動作および複写動作について説明する。ユーザにより操作部108上のスタートボタン(不図示)が押下されると、操作部108よりバス111を介して信号を受信したCPU105は、複写動作に先立ち必要なパラメータの設定等を行った後、所定の複写動作のための制御を行う。
スキャナ部101は、原稿をスキャンして図示しないCCDによって光電変換を行い、得られたアナログ信号をデジタル信号であるRGBの3コンポーネントからなるカラー画像データへと変換して出力する。スキャナ部101から出力された画像データは、スキャナ画像処理部102で公知の画像処理を施される。スキャナ画像処理部102における画像処理は、本発明において特に限定されるものではないが、その例を挙げれば、スキャナ部101から読込まれた反射率属性の信号を濃度属性に変換するγ変換やLOG変換、スキャナ光学系のMTFの劣化の補正やモアレ抑制を目的とした空間フィルタ処理、原稿地肌を除去する地肌除去処理、色空間を例えばSRGBなどの標準色空間へと変換する色変換処理等が考えられる。スキャナ画像処理部102から出力された画像データは、バス111を介して一時的にメモリ106に記憶される。
メモリ106に記憶された画像データは、エンコーダS103に入力され、後述するエンコード処理(構造化・圧縮符号化処理)が行われる。エンコーダS103の詳細は後述する。エンコーダS103からバス111に出力された圧縮データは、一旦メモリ106に記憶された後、メモリ106から読み出されてHDD107に保存され、同時にデコーダ112に入力されて復号処理が行われる。
このようなバス111上のデータ転送の制御はCPU105によって行われる。通常、このようにバスに接続されたメモリへのデータの書き込みアクセスは、バスに接続された各処理部がDMA(DIRECT MEMORY ACCESS)方式で数十バイトから数キロバイトの一定の単位で行われるため、バスの接続部はバッファとDMAコントローラで構成されるが、説明の簡略化のためDMAコントローラは図中省略されている。メモリからデータを読み出す場合にも同様にDMA方式によってアクセスされるため入力バッファメモリが必要となるが、これも省略されている。
なお、HDDは、ディスクの中心に近い側と遠い側とでは読み出し/書き込み速度が変化し、また、読み出し/書き込みエラー等を生じる可能性があり、半導体メモリと比較すると同期信号の読み出し/書き込みには向かないデバイスであるため、同期信号であるエンコーダS103の出力データをHDD107に直接書き込むと書き込み動作が安定しない。そこで、エンコーダS103の出力データのHDD107への書き込みの際にメモリ106を介在させている。HDD107の読み出し時も同様である。なお、1ページ単位でみればHDD107も同期して動作する。
一方、デコーダ112は、メモリ106から符号データが入力されると所定のデコード処理(復号処理及び合成処理)を行い、画像データをプリンタ画像処理部113へ出力する。プリンタ画像処理部113における画像処理は、本発明において特に限定されるものではないが、例を上げれば、RGB信号をプリンタの色材信号、例えばCYAN(C),MAGENTA(M),YELLOW(Y),BLACK(K)へ変換しカラーマッチングを行う色補正処理、墨生成処理、画像データのγをプリンタ部114のγに合わせるγ補正処理、ディザや誤差拡散といったハーフトーンへの変換を行う擬似階調処理等が考えられる。プリンタ画像処理部113で以上のような画像処理を行われた後の画像データは、プリンタ部114により記録紙などにプリントされ、複写動作が完了する。
以上の複写動作の完了後には、HDD107内にエンコード処理された画像の圧縮データが保存されている。HDD107に保存された圧縮データは、複写動作時に紙詰まり等が発生した場合のバックアップ、多ページの原稿を多部数ページ順に出力する電子ソート機能、過去に保存したデータを原稿無しで再度プリントする再プリント複写動作、PCなどの外部機器へのデータ配信などの目的に利用される。なお、原稿をHDD107に電子データとして保存するだけでよい場合には、上に述べたデコーダ112以降の処理は行われない。
<ビットマップ形式画像データのエンコード処理>
エンコーダS103の構成と、ビットマップ形式の画像データのエンコード処理(構造化及び圧縮符号化処理)について説明する。
図2は、本実施例に係るエンコーダS103のブロック図である。このエンコーダS103は、ビットマップ形式の入力画像データの2値化を行い2値画像を生成する2値画像生成処理部1、2値画像生成処理部1から出力された2値画像データを一時的に記憶するメモリ2、その2値画像データから文字領域を検出する文字領域検出処理部3、2値の文字画像データ、多値の文字色データ及びそれに付随するデータを生成する文字画像生成処理部4、入力画像データから文字画像を除去した下地画像データを生成する下地画像生成処理部5、文字画像領域に対して入力画像データを再現するための変換データを生成する変換データ生成処理部6、2値の文字画像データを可逆圧縮処理するMMR圧縮処理部7、下地画像データをJPEG2000方式で圧縮処理するJPEG2000圧縮処理部8、変換データ中の+差分データをJPEG2000圧縮処理するJPEG2000圧縮処理部9、変換データ中の−差分データをJPEG2000圧縮処理するJPEG2000圧縮処理部10、文字色データをJPEG2000圧縮処理するJPEG2000圧縮処理部11からなる。
このようなエンコーダS103において、各圧縮符号化処理部7〜11が構造化画像データを、少なくとも一部の要素データに関し要素データ別に圧縮符号化する圧縮符号化処理手段を構成し、それ以外の部分がビットマップ形式の入力画像データを複数の要素データからなる構造化画像データに変換する(換言すれば構造化画像データの要素データを生成する)構造化手段を構成している。また、本実施例においては、構造化画像データの要素データとして、2値の文字画像データ、多値の文字色データ、多値の下地画像データ、多値の変換データ(+差分データ及び−差分データ)が生成される。
図3は、エンコーダS103におけるエンコード処理の概略を示すフローチャートである。図中のstep1〜step3は、ビットマップ形式の画像データに対する構造化工程に相当し、step4は構造化工程により生成された構造化画像データを要素データ別に圧縮符号化する工程に相当する。以下、本実施例に係るエンコーダS103の詳細な構成及び動作について、処理の流れに沿って説明する。なお、本実施例における入力画像データは、一般的な多値のRGBカラー画像データとする。
エンコード処理の最初の処理ステップstep1において、メモリ106よりビットマップ形式の入力画像データが所定のブロック単位で読み出され、2値画像生成処理部1へ入力され2値化処理が行われ、生成された2値画像データがメモリ2に記憶される。なお、メモリ106の読み出し及び書き込みはCPU105により制御される。
2値画像生成処理部1は、図4に示すように、Y信号変換処理部23、閾値決定処理部21及び2値化処理部22からなる構成である。2値画像生成処理部1においては、所定のブロック単位に入力されたRGB信号を、Y信号変換処理部23でY(輝度)信号に変換し1チャンネルの信号とする。RGB信号からY信号への変換の方法は特に限定されないが、例えば、JPEG2000に採用されている変換式
Y=(R+2×G+B+2)/4
を用いることができる。
変換されたY信号に基づいて、閾値決定処理部21でブロック単位に2値化用閾値が決定される。この閾値の決定方法は特に限定されないが、例えば、特許文献2にも記載されているように、Y信号のヒストグラムをとり、その平均、分散等の統計的性質を利用して閾値を決定する方法を用いることができる。あるいは、より簡易に、ブロック内全画素の輝度値の平均値、又は、平均値に所定の重み演算を行った値を閾値とする方法を用いることもできる。
2値化処理部22は、閾値決定処理部21により決定された閾値を用いてY信号を2値化した2値画像データを出力する。例えば、図8(a)に示すような入力画像データ(原稿)に対し、(b)に示すような2値画像データが生成される。
なお、Y信号変換処理は必ずしも必要ではなく、入力画像データのRGB各信号に対し2値化用の閾値を決定し、それを用いてRGB各信号の2値化処理を行ってもよい。ただし、RGB3チャネルの2値化信号をそのまま出力した場合、色毎に2値化の結果が異なると再現画像上で文字エッジに色がつく等の不具合が生じ、また、その記憶に必要なメモリ量の増加や処理時間の増加などを招きやすい。したがって、2値画像生成処理部1の最終段で、RGB3チャンネルの2値化信号のOR処理などを行って1チャンネルの2値化信号にするのが好ましい。なお、Y信号に対して2値化を行うと黄色の文字などが検出されにくい可能性もある。これを避けるためには、Y信号の生成式を変更するか、あるいは、Y信号と黄色の補色であるB信号の2チャンネルで2値化を行い、その結果をORするなどにより1チャンネルの信号に変換する方法が有効である。
エンコード処理の次の処理ステップstep2は、文字領域検出処理部3による文字領域検出処理である。2値画像生成処理部1で「所定単位」分の2値化が行われ、その2値画像データがメモリ2に記憶されると、文字領域検出処理部3で文字領域を検出する処理が行われる。ここで、「所定単位」はシステム構成に応じて定めればよい。1ページ全体を2値化処理した後で文字領域検出を行ってもよいが、複写動作全体の処理速度を速めるためには、文字領域検出に必要な所定ライン数分の2値画像生成処理が終了後直ちに文字領域検出処理を実行するのが好ましい。この場合、メモリ2はFIFO(FIRST-IN FIRST-OUT)の動作をすることになる。
ここでの文字領域検出の方法は特に限定されるものではなく、従来技術を使用してよい。このような2値画像からの文字領域検出は、OCR処理などで広く行われる技術であり、種々の方法が提案されている。例えば、特許文献2にも記載されているが、2値画像データの黒画素の輪郭線追跡を行い、全てをラベリングし、縦、横の幅がある閾値以下の黒画素の集まりを文字とすることにより文字領域を検出する方法を使用し得る。なお、このようなOCR処理をベースにした文字領域検出方法によると、表の罫線等の線画は文字として認識されにくい。これは、OCR処理が線画データを必要としないためである。本発明のように再現画像上での文字の判読性向上を目的とする場合には、線画も文字と同様に扱う方が文書画像全体の判読性が向上する。そのため、文字領域の検出と並行して線画領域を検出するように構成してもよい。文字領域は、ある程度の水平方向の長さと高さを有するブロックとして認識されるが、線画はそのどちらかが0に近い値を持つという性質を有している。このような性質を利用すれば、同様の方法で線画も認識可能となる。
図8(c)に文字領域検出結果の例を示す。黒い部分が文字領域である。
エンコード処理の次の処理ステップstep3で、文字画像データ生成処理、下地画像データ生成処理及び変換データ生成処理が行われる。これらの処理は文字領域検出処理と並行して行われる。
メモリ106から入力画像データが、メモリ2から2値画像データが、それぞれ画像の先頭より予め定められたブロック単位で読み出され、文字画像生成処理部4、下地画像生成処理部5及び変換データ生成処理部6にそれぞれ入力される。
まず、文字画像生成処理部4の構成と動作について説明する。文字画像生成処理部4は、図5に示すように、文字画像抽出処理部31、文字色算出処理部32及び下地色算出処理部33からなる構成である。
文字画像抽出処理部31は、文字領域データと2値画像データが入力し、文字領域(図8(c)の黒部分)内の2値画像データがオンの画素(図8(b)の黒画素の部分)のみオン(黒)の文字画像データを出力する。この文字画像データは2値のビットマップ形式のデータである。図8の(d)に文字画像データの例を示す。
このような文字画像抽出処理と並行して、文字色算出処理部32において文字色が算出される。文字色算出処理部32は、所定ブロック単位で入力画像データと文字画像データが入力し、文字画像データがオンの画素位置を参照画素位置とし、入力画像データの参照画素の値に基づいて文字色を算出する。この文字色の算出方法は、例えば特許文献2に記載されているように、入力画像データの参照画素値のRGBの3次元ヒストグラムを求め、その最大値を文字色とする方法を用いることができる。より簡易な方法として、入力画像データの参照画素値の平均値を文字色として用いる方法でもよい。この平均値を用いる方法では、文字エッジ部を参照画素に含めると、下地の色との混色等が発生し本来の文字色とは異なる文字色を算出するおそれがある。これを避けるには、図9に模式的に示すように、文字の芯部のみ文字色算出時の参照画素とするとよい。ここで、例えば、エッジから所定画素数だけ内部の画素を文字の芯部として扱えばよい。細線文字等では文字画素が1ドット又は2ドットしかない場合も存在するが、このような場合にはエッジの中心を芯部として扱えばよい。このように文字画像の芯部のみのデータから文字色を算出することによって、下地色の影響を受けずに正確な文字色の算出が可能となる。
また、下地色算出処理部33は、入力画像データと文字画像データが所定のブロック単位で入力し、文字画像データのオフの画素位置を参照画素位置として、入力画像データの参照画素の値に基づいて下地色を算出する。この下地色の算出方法は、参照画素の平均値を下地色とする方法を用いることができる。但し、文字色算出と同様に、文字エッジ部を参照画素に含めると文字エッジ部の色の影響を受けて本来の下地色が算出できないおそれがあるので、文字エッジから所定画素数の範囲は参照画素としない方が好ましい。
以上の処理により、所定のブロック単位で、文字画像データ、文字色データ及び下地色データが得られる。
文字色および下地色の算出処理について、図10によりさらに詳細に説明する。図10(a)は、図8(a)に示す入力画像データにおける“カラー複写機”の文字領域を拡大した図である。ここでは、文字領域中の“カラー”を赤色文字、“複写機”を黒文字と仮定している。そして、図10(a)に示す細線の四角形が前述のブロックであり、このような小さなブロック単位で文字色及び下地色の算出が行われる。
図10(b)は、文字色算出の結果を模式的に示している。図中の斜線が施されたブロックは算出された文字色が”赤”の領域であり、黒く塗りつぶされたブロックは算出された文字色が”黒”の領域である。白抜きのブロックは、文字画像データのオンの画素が含まれないブロックである。
文字色算出処理部32は、1ブロックにつき1つの文字色を出力する。つまり、文字色データは、各ブロック内が同じ文字色で塗りつぶされた多値の画像データとなる。
一方、下地色算出処理部33は、文字画像データがオンの画素位置では算出した下地色を下地色データとして出力するが、文字画像データがオフの画素位置では入力画像データそのものを下地色データとして出力する。文字色データの場合と同様なブロック単位に一色の下地色データとすることも可能である。しかし、上に述べたような下地色データとすることにより、”文字領域内の下地色と文字領域の周囲の下地色とが異なる不具合”を抑制することができる。なお、文字周囲数ドットについては、入力画像データではなく、算出した下地色を出力するようにするのが好ましい。このようにすると、文字エッジ部の色の影響を受けにくくなる。
なお、文字色データは、圧縮符号化処理に先だって間引き処理を行いデータ量を削減してもよい。また、文字が存在しないブロックについては、ダミーデータ又は白色データなどを文字色データとして出力してもよいが、その周囲のブロックと同じ文字色データを出力するのが、文字色データの圧縮率が向上し好ましい。また、文字色データは、1ブロックにつき1データとして保持するようにし、その圧縮を行わない構成としてもよい。
次に、下地画像生成処理部5の構成と動作について説明する。下地画像生成処理部5は、図6に示すようなセレクタ41のみからなる単純な構成である。セレクタ41は、下地色データと入力画像データがデータとして入力され、制御信号である文字領域データに従ってデータを選択する。すなわち、セレクタ41は、文字領域データがオンの領域(文字領域)では下地色算出処理部33で算出された下地色データを選択して出力し、文字領域データがオフの領域(非文字領域)で入力画像データを選択して出力する。図8(a)に示す入力画像データを処理した場合、図8(e)に模式的に示す様な下地画像データがセレクタ41より出力される。この例に見られるように、下地画像データにおいては文字画像が除去されている(文字領域の下地色情報は含まれる)。
次に、変換データ生成処理部6の構成及び動作について説明する。変換データ生成処理部6は、図7に示すように、2値の文字画像データ、多値の文字色データ及び多値の下地画像データの合成処理を行う合成処理部61、合成処理部61から出力される合成画像データ(文字画像データ、文字色データ及び下地画像データから合成される再現画像データ)と入力画像データとの差分を演算する差分演算処理部62、差分演算処理部62から出力される差分データの正負を判定する正負判定処理部63、差分データの絶対値を演算する絶対値化処理部64、差分データとダミーデータを差分データの正負によって選択するセレクタ65,66、文字領域データによって差分データとダミーデータを選択するセレクタ67,68から構成される。
変換データ生成処理は以下のように行われる。文字画像データ、文字色データ及び下地画像データが合成処理部61に入力し、合成処理部61は、文字画像データがオンの画素位置で文字色データを出力し、文字画像データがオフの画素位置で下地画像データを出力する。したがって、合成処理部61より出力される合成画像データは、下地画像データに文字色データで示された文字色の文字画像が上書きされたものである。
次に、差分演算処理部62において、合成処理部61より出力された合成画像データと入力画像データの差分が演算され、
差分データ=入力画像データ−合成画像データ
で表される差分データが出力される。
この差分データは、正、負両方の値をとり得る。差分データの正負は正負判定処理部63により判定される。本実施例では、正の差分成分を+差分データ、負の差分成分を−差分データとして取り扱う。差分データは、絶対値化処理部64により絶対値化されてセレクタ65,66に入力される。セレクタ65は、正負判定処理部63で差分データが正と判定されたときに、その差分データを出力し、差分データが負と判定されたときにはダミーデータを出力する。セレクタ66は、差分データが正と判定されたときにダミーデータを出力し、負と判定されたときには絶対値化処理部64により絶対値化された差分データを出力する。
セレクタ67,68は、文字領域データがオンの画素位置つまり文字領域ではセレクタ65,66の出力データをそれぞれ選択して出力し、非文字領域ではダミーデータを出力する。このようにして、セレクタ67の出力である+差分データと、セレクタ68の出力である−差分データとからなる変換データが生成される。
エンコード処理の最後の処理ステップstep4において、構造化画像データの要素データである文字画像データ、文字色データ、下地画像データ、+差分データ、−差分データの圧縮符号化処理が行われる。すなわち、文字画像生成処理部4より出力された2値の文字画像データは、MMR圧縮処理部7によりMMR圧縮処理された後、メモリ106に格納される。なお、文字画像データの圧縮方式は、MMR方式に限定されるものではなく、例えば、JBIG方式やJBIG2方式等の2値画像を対象とした圧縮方式を用いてもよい。
文字画像生成処理4より出力された多値の文字色データ、下地画像生成処理部5から出力された多値の下地画像データ、変換データ生成処理部6より出力された多値の+差分データ、−差分データは、対応したJPEG2000圧縮処理部8〜11によってJPEG2000方式によりそれぞれ圧縮処理された後、メモリ106に格納される。これらのデータの圧縮処理は必須ではないが、その記憶のためのメモリ量の削減や転送速度向上等のために圧縮処理を行うのが一般に好ましい。本実施例では4つのJPEG2000圧縮処理部8〜11を備えるが、JPEG2000圧縮処理部の数を減らし、1つのJPEG2000圧縮処理部で時分割処理により複数のデータの圧縮を行うように構成してもよい。
なお、文字画像データや変換データ(+差分データ、−差分データ)は、その有効な領域である文字領域についてのみメモリ106に記憶するような構成としてもよく、それらのデータ量をさらに削減できる可能性がある。但し、そのようにした場合には、ページ内における文字領域の位置及び範囲を示す文字領域データを、構造化画像データの要素データとしてメモリ106に記憶させる必要がある。
また、本実施例では、多値圧縮方式としてJPEG2000を用いているが、JPEGなどの他の多値圧縮方式を利用することも可能である。ただし、下地画像データ及び変換データの圧縮にJPEG2000を用いると、JPEG2000の可逆/非可逆統一符号化、階層符号化といった特徴を利用でき、MFPの機能向上に有利である。例えば、保存した文字画像データ、下地画像データ、変換データ(符号データ)をMFPに外部転送路を介して接続されたクライアント側へ転送し、クライアント側で画像を閲覧したりプリンタ等で記録する場合に、MFP側で、クライアント側からの画質要求に応じて、転送するデータの圧縮率を容易に変更することができる。また、データを分割し、一部を送信した後にクライアント側からの要求に応じて残りのデータを追加送信するなどの処理も容易に行うことができる。
以上、スキャンデータのエンコード処理について説明した。図11(a)に示すような入力画像データ中の「鮮」の文字画像に関して生成される文字画像データ、+差分データ、−差分データの例を図11の(b),(c),(d)にそれぞれ示す。
図12は差分データの説明のための模式図である。図12において、(a)は入力画像データ、(b)は2値の文字画像データ、(c)は+差分データ、(d)は絶対値化された−差分データをそれぞれ示している。+差分データは、主に文字の中心部の”2値化と文字色設定によってデータが低くなってしまった部分”と”2値化によって文字エッジ部が白データとなってしまった部分”に発生する。−差分データは、”文字のエッジ部で2値化によってデータが増加した部分”に発生する。図12の(e)は全てのデータを合成した状態を示しており、入力画像データが過不足なく再現されていることが分かる。
このようにスキャンデータのようなビットマップ形式の入力画像データを構造化した場合においても、入力画像データを過不足無く再現可能となる。なお、±差分データは、2値化処理の手法や閾値の決定方法によって、その出力形態が変わると考えられる。
図8において、(a)に示す入力画像データを処理した場合の+差分データ、−差分データを(f)、(g)にそれぞれ模式的に示す。
<差分データの変形例>
以上の説明においては、+差分データと−差分データをそれぞれ多値画像データとして別々に圧縮して保存した。しかし、同一画素で+差分データと−差分データの両方が値を持つことはないので、+差分データと−差分データを統合して1つの差分データとして扱うようにしてもよい。具体的に、例えば次の2つの方法を採り得る。
(a)差分の正負符号を2値のデータとして可逆圧縮し、また、+差分データと−差分データの絶対値を1つの差分データに結合し、それを多値圧縮処理する方法である。
(b)+差分データと−差分データを正負符号付きで結合し、その差分データをシフト及び正規化して多値画像圧縮する方法である。例えば、結合後の差分データは−255〜+255の範囲の値をとるが、この差分データに255を加算し、1ビットシフト(2で除算)した後に多値画像圧縮する。圧縮処理側で正負の値や8bit以上の値に対応するようにしてもよく、この場合はシフトや正規化は必要ない。
ただし、上記いずれの方法の場合も、デコーダ112における合成処理時に上記変換に対応する必要がある。なお、(b)の方法の場合には、圧縮処理によって差分データの正負符号が反転する可能性がある。具体的には、文字の色味が補色方向へ変化することになり、これは画質劣化を招く恐れがあるため、差分データをどのように扱うかは注意が必要である。
<プリンタ動作>
本実施例に係るMFPは、外部転送路を介して接続されたパーソナルコンピュータなどの外部機器からプリンタとして機能させることができる。これを図13を参照し説明する。図13において、201は本実施例に係るMFPであり、203は外部転送路202を介してMFP201と接続されたパーソナルコンピュータ(PC)でありモニタ204を有する。外部転送路202は、例えばLAN(Local Area Network)の回線である。
MFP201においては、PC203からプリント命令等のコマンド及びページ記述言語(PDL)形式の画像データを外部インターフェース110を通じて受信し、それをメモリ106に一時的に記憶した後、エンコーダP104で、その画像データに対するエンコード処理(構造化及び圧縮符号化処理)を行う。エンコード処理された符号データを、複写動作時と同様にメモリ106を経由してHDD107に保存し、同時に、デコーダ112により所定の伸長及び合成処理を行い、さらにプリンタ画像処理部113で所定の画像処理を行ってからプリンタ部114へ送り、不図示の記録紙などに印字出力させる。
以上がプリンタ動作の概略である。以下、エンコーダP104などについて詳細に説明する。
<ページ記述言語形式画像データに対するエンコード処理>
次に、エンコーダP104の構成と、エンコーダP104におけるページ記述言語形式の画像データ(PDLデータ)に対するエンコード処理について説明する。
図14は、本実施例に係るエンコーダP104のブロック図である。図示のように、エンコーダP104は、入力したPDLデータを解釈するインタプリタ51、その解釈結果に基づいて画像属性に応じた展開処理を行う描画処理部52、描画処理部52により展開された画像データ(構造化画像データの要素データ)を一時的に記憶するメモリ53、メモリ53上の文字画像データのMMR圧縮処理のためのMMR圧縮処理部54、メモリ53上の文字色データのJPEG2000圧縮処理のためのJPEG2000圧縮処理部55、及び、メモリ53上の下地画像データのJPEG2000圧縮処理のためのJPEG2000圧縮処理部56から構成される。
このようなエンコーダP104の動作は次の通りである。メモリ106より入力されたPDLデータは、インタプリタ51で解釈され、描画処理部52により画像属性に応じた描画処理が行われる。ここで、入力されるPDLデータは、文字コード、グラフィックスを描画するための描画コード、ビットマップ形式のイメージデータの3種類が代表的なものである。
文字コードが入力された場合、描画処理部52は指定された文字色と文字領域とから、文字領域を文字色で塗りつぶした多値の文字色データを展開し、それをメモリ53の文字色データ記憶領域に描画するとともに、文字の形状を2値のビットマップに展開した文字画像データをメモリ53の文字画像データ領域に描画する。グラフィックスコードが入力された場合、描画処理部52は所定解像度でグラフィックスデータを展開し、それをメモリ53の下地画像データ領域に上書きにて描画する。ビットマップ形式のイメージデータが入力された場合、描画処理部52は、そのイメージデータを所定解像度に変換した後、メモリ53の下地画像データ領域に上書き描画する。
1ページ分または所定単位分の描画が終了した時点で、文字画像データはMMR圧縮処理部54により、文字色データはJPEG2000圧縮処理部55により、下地画像データはJPEG2000圧縮処理部56によりそれぞれ圧縮符号化されてメモリ106に記憶される。
以上のように、本実施例に係るエンコーダP104において、インタプリタ51及び描画処理部52は、ページ記述言語形式の画像データを、2値の文字画像データ、多値の文字色データ及び多値の下地画像データを要素データとする構造化画像データに変換する(換言すれば、そのような要素データを生成する)構造化手段を構成しており、各圧縮処理部54〜56は構造化画像データを要素データ別に圧縮符号化処理する圧縮符号化手段を構成している。
図15において、(a)はページ記述言語形式で入力された画像データを示す。この入力画像データは、(b)に示すようなフォーマットで、文字は文字コードにより、“複写機の画像”はビットマップ形式のイメージデータにより、背景はグラフィックスコードにより記述されているものとする。(b)に示すヘッダーには、画像サイズや出力画像解像度、色補正パラメータ等の、画像出力に必要なパラメータが記述されている。ヘッダーに記述された情報はCPU105により認識され、必要なパラメータがCPU105よりエンコーダP104にセットされる。ヘッダーそのものはエンコーダP104には入力されない。グラフィックスコードは、描画するグラフィックスのページ内座標、形状、塗りつぶしの色や模様等のデータが所定のコマンド形式により記述されたものである。イメージデータは、ページ内座標とビットマップ形式の1画素毎の画像データが記述されたものである。文字コードは、ページ内座標、フォント名、文字のポイント数(大きさ)、文字色を記述するものである。描画処理部52による描画はページ記述言語に記述された順番に行われ、後から描画するものは先に描画された画像に上書き処理される。
次に、図15の例について描画処理を具体的に説明する。まず、グラフィックスコードの解釈によって、入力画像データの背景部分が描画処理部52によりメモリ53の下地画像データ記憶領域上に展開される。かくして、メモリ53の下地画像データ記憶領域には図15(c)に示すような画像が記憶された状態となる。次に、入力画像データの右下の複写機画像のイメージデータが同様に下地画像データ記憶領域に描画される。かくして、下地画像データ記憶領域に図15(d)に示すような下地画像データが生成される。
ここで、下地画像データの解像度はプリンタ114の出力解像度に設定してもよいが、ページ記述言語形式にて入力されるイメージデータの解像度はプリンタ114の出力解像度よりも低い解像度である場合が一般的であるため、プリンタ114の出力解像度よりも低い解像度にて下地画像データを描画しても画質的には問題はないので、予め定められた解像度で描画してよい。しかし、入力されたイメージデータの解像度を極端に低下させると画質劣化が生じる。概ね300〜1500dpi程度あれば、人間の目には、周波数特性的にさほど劣化を知覚できないレベルの画質とすることができる。また、入力されたイメージデータの解像度から下地画像データの解像度を決定するように構成してもよい。ただし、この例ではイメージデータは一つしかないが、複数のイメージデータがあり、それぞれが異なる解像度を有する場合には、最も高い解像度を選択するなどの工夫が必要となる。また、グラフィックスコードから生成されたグラフィックスデータも同一の解像度とする必要がある。上に述べたように下地画像データの解像度を低くすることにより、メモ量の低減やデータ転送速度の向上などの効果を得られる。
次に文字コードが入力されると、描画処理部52は指定された文字色で文字領域を塗りつぶした多値の文字色データをメモリ53の文字色データ記憶領域に描画するとともに、文字の形状を2値のビットマップに展開したデータをメモリ53の文字画像データ領域に描画する。かくして、文字画像データ記憶領域及び文字色データ記憶領域はそれぞれ図15の(e)及び(f)に示すような内容となる。
以上がPDLデータを入力しプリント動作を行う時のエンコード処理である。複写動作時のスキャンデータ入力時と同様に、PDLデータを展開しエンコード処理(構造化・圧縮処理)を行ったデータ(以下プリンタデータ)は、HDD107に保存されるとともに、デコード処理以降の処理が行われてプリンタ114でプリントされる。
<デコード処理>
次に、デコーダ112の構成及びデコード処理について説明する。
図16は、本実施例に係るデコーダ112のブロック図である。図示のように、本実施例に係るデコーダ112は、MMR圧縮処理された文字画像データを伸長するMMR伸長処理部71、JPEG2000圧縮処理された文字色データ、下地画像データ、+差分データ、−差分データをそれぞれ伸長するJPEG2000伸長処理部72,73,74,75、2値の文字画像データ、多値の文字色データ及び下地画像データの合成処理を行う合成処理部76、合成処理部76から出力された多値の合成画像データと、+差分データ及び−差分データとの合成処理を行う合成処理部77、CPU105により予め設定されたモード信号に従って+差分データ及び−差分データと0データの選択処理を行うセレクタ78,79から構成される。
以下、デコーダ112の動作を説明する。デコード処理に先立ち、CPU105はデコーダ112にモード信号を設定する。モード信号は、デコーダ112へ入力されるデータが、ビットマップ形式で入力された画像データ(スキャンデータ)の圧縮データであるか、外部からページ記述言語形式で入力された画像データ(プリンタデータ)の圧縮データであるかを識別するための信号である。
次に、入力された文字画像データをMMR伸長処理部71により伸長処理して、2値のビットマップデータとする。これと並行して、文字色データ、下地画像データをJPEG2000伸張処理部72,73により伸長処理する。合成処理部76は、2値の文字画像データがオンの画素位置では文字色データを出力し、オフの画素位置では下地画像データを出力する。したがって、下地画像データに文字色データで示される色の多値文字画像が上書きされた形の合成画像データが生成されることになる。
また、デコード処理されるデータがスキャンデータの圧縮データである場合は、上記の動作と並行して、JPEG2000圧縮処理がなされた+差分データ及び−差分データ(以下総称して差分データ)が入力され、JPEG2000伸張処理部74,75により伸長処理される。伸長された差分データはセレクタ78,79にそれぞれ入力され、モード信号に応じて選択された差分データ又は0(ゼロ)データがセレクタ78,79から出力される。モード信号は、デコーダ112へ入力されたデータがスキャンデータの圧縮データである場合にはセレクタ78,79が差分データを選択するように設定され、プリンタデータの圧縮データである場合にはセレクタ78,79が0データを選択するように設定される。なお、プリンタデータの圧縮データを処理する場合には、差分データは存在せずデコーダ112に入力されない。
合成処理部77では、合成処理部78より入力する文字画像データと下地画像データの合成画像データ(合成データ1とする)と、セレクタ78,79より入力する差分データ(プリントデータの場合は0データ)から、
出力画像データ=合成データ1+“+差分データ”−“−差分データ”
の演算により出力画像データを生成する。これがデコーダ112の出力画像データである。以上が本実施例におけるデコード処理の動作である。
以上に説明したエンコード方法及びデコード方法によれば、多値画像データ(文字色データ、下地画像データ、差分データ)の圧縮を可逆圧縮とすれば、プリンタデータの場合はもちろんスキャンデータの場合も、画像を文字画像と下地画像に分離した構造化された画像データを圧縮符号化処理した画像データに対しても、可逆の変換を行うことが可能となる。
<画像配信処理>
次に、図13に示すように接続された本実施例に係るMFP201をサーバとして、クライアントであるPC203へ画像を配信する処理について説明する。MFP201は、PC203からのコマンドを受信し、PC203から要求された画像の圧縮データを送信する。PC203は、受信した圧縮データのデコード処理を行いながらモニタ204に表示し、あるいは図示しない記憶媒体に保存する等の処理を行う。
このような画像配信時のMFP201の動作を図1を参照して説明する。MFP201においては、PC203から画像データの送信要求及び画質(又は圧縮率やファイル容量)のパラメータを外部転送路202を介し受信すると、CPU105が必要なパラメータをセットした後、HDD107より、要求された画像の圧縮データの要素データである文字画像データ、文字色データ、下地画像データ、(スキャンデータの場合は、さらに+差分データ、−差分データ)のうち、今回の転送に必要とする要素データを読み出し、バス111を介してメモリ106へ記憶する。
メモリ106に記憶された要素データは、メモリ106からフォーマット変換処理部109へ転送され、PC203へ転送するためのフォーマットに変換される。フォーマット変換後の符号データはメモリ106へ一旦記憶された後、外部インターフェース110より外部転送路202を介しPC203へ転送される。なお、PC203より受信した画質パラメータに基づきCPU105で+差分データ、−差分データの一方又は両方を転送不要と判断した場合には、必要のない一方又は両方の差分データの転送は行われない。
図17は、本実施例に係るフォーマット変換処理部109のブロック図である。図示のように、フォーマット変換処理部109は、CPU105から指定されるパラメータに従って、JPEG2000圧縮処理された文字色データ、下地画像データ、+差分データ、−差分データの符号の切り捨て(トランケーション)を行って圧縮率を制御するトランケーション処理部80,81,82,83、これらトランケーション処理部の出力データと、MMR圧縮処理された文字画像データ及びCPU105から転送されるヘッダデータを一時的に保持するとともに、それらデータの結合処理を行って画像ファイルを生成する結合処理部84から構成される。
このフォーマット変換処理部109によるフォーマット変換処理に関する動作は次の通りである。処理に先立ち、CPU105からヘッダデータがフォーマット変換処理部109へ転送され、結合処理部84に記憶される。
次に、下地画像データがメモリ106から転送され、トランケーション処理部81で下地画像データは予め定められたパラメータに従ったトランケーションにより圧縮率を変更されて結合処理部84に記憶される。次に、文字色データがメモリ106から転送され、トランケーション処理部80で文字色データは予め定められたパラメータに従ったトランケーションにより圧縮率を変更されて結合処理部84に記憶される。次に、文字画像データがメモリ106から転送され結合処理部84に記憶される。次に、+差分データが入力され、トランケーション処理部82でトランケーションにより圧縮率が変更されて結合処理部84に記憶される。最後に、−差分データが入力され、トランケーション部83でトランケーションにより圧縮率が変更されて結合処理部84に記憶される。そして、結合処理部84において、それら記憶したデータの結合処理が行われて所要のフォーマットの画像ファイルが生成される。
なお、プリンタデータを配信する場合には、差分データは存在しないためフォーマット変換処理部109には入力されず、差分データに対するトランケーション処理も行われない。スキャンデータを配信する場合であっても、画質パラメータによってはCPU105で+差分データ又は−差分データ、あるいはその両方のデータが必要でないと判断され、その場合には必要のない差分データはフォーマット変換処理部109へ入力されず、当然その差分データに対するトランケーション処理も行われない。
次に、トランケーション処理部80〜83におけるトランケーションによる符号コードの圧縮率の変更について簡単に説明する。図18は、JPEG2000の符号ストリームの構造説明図である。符号ストリームは、図中の1段目に示すように、メインヘッダの後に各タイルに対応した符号(タイル符号)を続けた構造である。個々のタイルの符号は、2段目に示すように、タイルヘッダとタイル内符号をレイヤとよばれる符号単位に区切った複数のレイヤ符号により構成されており、レイヤ符号はレイヤ0、レイヤ1・・・というように画質に対して重要度の高いレイヤのものから順番に並んでいる。個々のレイヤ符号は、3段目に示すように、レイヤ用のタイルヘッダと複数のパケットから構成されている。各パケットは、最下段に示すように、パケットヘッダと符号データから構成されている。レイヤは画質を制御する単位であるので、レイヤ単位で符号の切り捨て(トランケーション)を行うことによって容易に圧縮率を変更することができる。
図19は、フォーマット変換処理部109の結合処理部84で生成される画像ファイル、すなわちクライアント側へ転送される画像ファイルのフォーマットの説明図である。図示のように、画像ファイルは、最初にヘッダデータが格納され、それに続いて下地画像データ、文字色データ、文字画像データ、+差分データ、−差分データが順番に格納されるフォーマットである。
なお、このフィルフォーマットは一例であり、これのみに限定されない。例えば、文字色データ、下地画像データ、+差分データ、−差分データについてタイリングを伴ったJPEG2000圧縮を行い、同一アドレスのタイルの下地画像データ、+差分データ及び−差分データ(いずれも符号データ)を連続して配置する構成としてもよい。なお、差分データが存在しないプリンタデータの場合や、スキャンデータの場合であっても+差分データ又は−差分データあるいはその両方が必要のない画質パラメータのときには、必要のない差分データは画像ファイルに格納されないことは当然である。
本実施例に係るMFPによるスキャンデータの画像配信においては、例えばPC203からの要求が高圧縮率(低画質)である場合、+差分データ及び−差分データを全く結合させない画像ファイルを転送することが可能である。この場合、配信画像の画質は、特許文献2に記載の構造化圧縮方式とほぼ同様なものとなる。
本実施例に係るMFPでは、このような画像ファイルに差分データを結合することによって、文字画像の表現を2値の状態から多値の状態へと変化させ、文字画像のノッチやジャギーを抑制して滑らかなエッジを再現させることが可能である。この画質向上の効果は、結合させる差分データの圧縮率により変化する。差分データは多値圧縮処理されるので、高圧縮率時にはエッジのなまりが大きいが、圧縮率を低くしていくに従ってエッジ部が鮮鋭化され、差分データの結合による画質向上効果が高くなる。すなわち、高圧縮率で差分データを圧縮した場合には2値文字の判読性は良いが低画質の画像となり、差分データの圧縮率を下げた場合には、文字の判読性が良好でかつ高画質の画像となる。このように、画像ファイルに差分データを結合した場合、差分データの圧縮率の調整により画質プログレッシブな画像の配信が可能になる。この圧縮率の調整は実質的に無段階に行うことができる。
このような差分データの圧縮率の違いによる再現文字画像の画質の変化を図20に示す。図20において、(a)は差分データが結合されない場合の再現文字画像すなわち2値の文字画像を示し、低画質であるが文字の判読性は良好である。(b)は高圧縮率の差分データが結合された場合の再現文字画像を示し、判読性は良いが画質は低い。(c)は中圧縮率の差分データが結合された場合の中程度の画質の再現文字画像を示し、(d)は低圧縮率の差分データが結合された場合の高画質の再現文字画像を示す。(e)は原文字画像(可逆圧縮時の再現文字画像と等価)をそれぞれ示す。この例から、差分データの圧縮率を下げるに従い、再現文字画像の画質が原文字画像に近づくことが分かる。また、圧縮率にかかわらず文字判読性が良好であることも明らかである。
また、スキャンデータを文字画像と下地画像に分離する場合に、多少の誤分離は避けられないものである。例えば、図8(a)に示した入力画像データにおいて、図21に円で囲んで示す部分で誤分離が生じたとする。文字部が非文字部に誤分離された部分(”写機”の部分)では文字のボケが生じたり、非文字部が文字部に誤分離された部分(複写機の絵のトレイの部分)では絵柄が劣化し違和感を生じさせてしまう。特許文献2に記載の従来方式では、圧縮率を低くすることにより画質が改善されるのは非文字部に誤分離された文字部のみであり(下地の再現性の向上によって文字画質が改善するため)、誤分離された非文字部は圧縮率を下げても画質は改善されない。
これに対し、本実施例によれば、圧縮率を下げるに従い、非文字部に誤分離された文字部のみならず、文字部に誤分離された非文字部でも、その再現画質が入力画像データの画質に近づいていく。すなわち、本実施例によれば、従来方式では低圧縮率としても避けられなかったような画質劣化を減らし、かつ、高圧縮率時での文字判読性を向上させた、圧縮率と画質のスケーラビリティを持つ画像圧縮が可能となる。したがって、クライアント側(ユーザ)の画質や圧縮率の要求に対して柔軟かつ詳細に対応可能であり、この点でユーザビリティが向上する。
なお、プリンタデータの画像配信の場合には、上に述べたような誤分離の問題は生じないことは明らかである。
以上に説明したように、本実施例によれば、ビットマップ形式の画像データと、ページ記述言語形式の画像データが、略共通したフォーマットの圧縮データとして蓄積されるため、圧縮データに対するデコード処理、フォーマット変換処理、配信処理等のための処理内容、処理系の構成並びにデータフローの共通化を図ることができ、システムの複雑化やコストアップを抑え、かつ処理の効率化を図ることができる。本実施例では、ビットマップ形式の画像データの圧縮データのみ変換データ(+差分データ,−差分データ)を要素データとして持つため、例えば図16に示したデコーダ112又は図17に示したフォーマット変換処理部109の処理内容及び構成は変換データに関して相違する部分があるが、全体的な処理内容及び構成は共通したものとなる。
なお、ビットマップ形式の画像データの圧縮データから変換データを除くように構造化方法を変更するか、あるいは、ページ記述言語形式の画像データの圧縮データに変換データを含めるように構造化方法を変更するならば(後記実施例5参照)、いずれのデータ形式についてもデコーダ112及びフォーマット変換処理部109の処理内容及び構成を完全に共通にすることができ、また、圧縮データの管理の完全な一元化を達成できる。
また、いずれのデータ形式の画像データの圧縮データについても、要素データとして文字画像データを含むため、全体の圧縮率に関わらず文字の判読性を良好に維持することができる。ビットマップ形式の画像データの圧縮データについては、変換データを要素データとして含むため、図20に関連したように圧縮率により文字画像の再現画質を高画質から低画質まで制御することができる。また、構造化画像データの圧縮を、要素データ別に適切な圧縮符号化方式及び圧縮率で行うことができる。
本実施例に係るMFPは、請求項1の発明に係る画像処理装置に対応した構成であることは明らかである。
なお、本実施例(及び後記各実施例)においては、文字画像データを2値のデータとしているが、3値又は4値以上のデータとすることも可能である。この場合、エンコーダS102やデコーダ112などの構成を一部変更することになるが、かかる構成の変更は以上の説明(及び後記各実施例についての説明)から容易であるので、その具体例についての説明は省略する。このように文字画像データを3値又は4値以上のデータとした、本実施例(及び後記各実施例)と同様な画像処理装置も本発明に包含される。
前記実施例1は、入力画像データを、2値の文字画像データ、多値の文字色データ、多値の下地画像データという、それぞれが1ページ分のサイズを有する複数の要素データからなる構造化画像データに変換する形態であった。
本実施例は、文字領域に関する構造化の形態(文字の再現方法)が前記実施例1と相違する。本実施例においては、2値の文字画像データと、文字領域内の文字色(文字画像データがオンの画素の画素値)を表す文字色データの生成を、1ページ全体ではなく、個々の文字領域のサイズに区切って行い、これら文字画像データ及び文字色データと各文字領域の位置と範囲を示す文字領域データとによって文字画像を再現する方法をとる。また、文字色データとして色パレットが用いられる。また、文字領域データと、各文字領域に関する文字色データ及び文字画像データの組が文字コードとしてメモリ106に記憶される。下地画像データと差分データについては前記実施例1の場合と同様である。
本実施例に係るMFPは、前記実施例1と同様な図1に示すような全体的構成であるので、その説明は割愛する。また、エンコーダS103、エンコーダP104及びデコーダ112の構成及び動作は前記実施例1の場合と一部相違するが、それ以外の部分の構成及び動作は前記実施例1の場合と同様である。また、本実施例に係るMFPとPCなどの外部機器との接続形態は実施例1の場合と同様である。
図22は、本実施例に係るエンコーダS103のブロック図である。前記実施例1に係る図2と図22を対比すれば明らかなように、本実施例に係るエンコーダS103は、構造化に関わる部分の文字再現用データの生成に関連した構成が前記実施例1と相違するが、下地画像データ及び変換データ(+差分データ、−差分データ)の生成に関連した構成は前記実施例1と同様である。以下、相違点を中心に説明する。
本実施例に係るエンコーダS103においては、文字領域検出処理部3より出力される文字領域データが要素データの1つとして、また、”文字コード”を構成するデータの1つとして非圧縮でメモリ106に記憶される。メモリ106に記憶された文字領域データは、文字画像データ、下地画像データ、変換データの生成時にメモリ106から読み出されて文字画像生成処理部4、下地画像生成処理部5及び変換データ生成処理部6にそれぞれ入力される。
文字領域データは、文字領域内がオン、文字領域外がオフの2値画像データ(ビットマップ)の形式でもよいし、各文字領域(矩形領域)の座標データに変換された形式でもよい。文字領域データをビットマップ形式とすると、その保存のためのメモリ量は大きくなるが、任意の形の文字領域に対応でき、また、文字領域データを文字画像データ、下地画像データ及び変換データの生成処理において利用しやすい利点がある。文字領域データを座標形式のデータとすると、その保存のためのメモリ量を減らすことができるが、矩形以外の文字領域に対応しにくく、斜めに配置された文字の領域では4点の座標指定が必要となるが、その際に文字領域の判別がしにくい等の弱点がある。なお、入力画像データの処理中は文字領域データをビットマップ形式で保存しておき、処理終了後に文字領域データを座標データに変換してメモリ106を書き換える方法をとることも可能である。文字領域データを最終的にビットマップ形式で保存する場合、文字画像データと同様に文字領域データの2値の可逆圧縮を行うことにより保存のためのメモリ量を削減するようにしてもよい。
文字コード生成処理部12は、構造化に関わる新たな要素であり、図23に示すように、メモリ35、パレット生成処理部36、セレクタ37及びMMR圧縮処理部7からなる。この文字コード生成処理部12には、文字画像生成処理部4から出力される2値の文字画像データ及び多値の文字色データが入力され、また、メモリ106より文字領域データが読み出されて入力される。
文字コード生成処理部12において、2値の文字画像データはバッファ用のメモリ35に一旦記憶される。メモリ35へのデータの書き込みは、文字領域データにより示される文字領域の内部でのみ行われる。例えば、文字領域データがビットマップ形式である場合、文字領域データがオンの部分でのみメモリ35への文字画像データの書き込みが行われる。
文字画像データのメモリ35への書き込みと並行して、パレット生成処理部36において文字色データに基づき色パレットが生成される。パレット生成処理部36は、文字領域データにより示される文字領域の内部でのみ動作する。
文字色データは、図10(b)に示したようなブロック毎の文字色を示す多値データであるため、生成される色パレットは、ブロック位置と文字色の対応付けを行ったものとなる。色パレットは種々の形態をとり得るが、以下にその一例を示す。
図24(a)は、図8(a)に示した入力画像データ中の“カラー複写機“の文字領域の画像とブロック分割の様子を表している。図10に関連した説明の場合と同様、”カラー“の文字色は赤色、”複写機”の文字色は黒色とする。図24(a)中の細線で区切った小領域がブロックであり、それに付された番号は、文字領域のスキャン順序に従って付与した便宜上のブロック番号である。
パレット生成処理部36は、このような文字領域の文字色データをブロック単位でブロック番号順にスキャンし、現れた色順に色番号を付していく。図24(b)は、色番号とRGB値を対応付けたもので、いわゆる色パレットである。図24(b)中の色番号0は、文字画像の存在しないブロック用に便宜設定したものである。図24(c)は、ブロック番号と色番号の対応を表している。
1つの文字領域に対する色パレットの生成が終了すると、この文字領域の文字画像データがメモリ35から読み出されてセレクタ37へ入力される。パレット生成処理部36は、色番号1の文字色を処理すべく、メモリ35からの文字画像データの出力と同期して、色番号1の文字色のブロックでは文字画像データを選択させ、それ以外の文字色のブロックでは0データを選択させるための選択信号をセレクタ37へ出力する。したがって、当該文字領域に関し、セレクタ37より、色番号1(赤色)の文字色のブロックでは文字画像データが出力され、それ以外のブロックでは0データが出力される。この時に、パレット生成処理部36より、色番号1のRGB値(パレット)が文字色データとして出力される。セレクタ37の出力データはMMR圧縮処理部7にて圧縮処理され、文字画像データとして、パレット生成処理部36から出力された文字色データ及び当該文字領域の文字領域データと対応付けられてメモリ106へ記憶される。
色番号1の処理が終了すると、次の色番号2について同様に処理が行われ、色番号2の文字色のブロックのみ文字画像データが、それ以外のブロックでは0データが、セレクタ37より出力されて圧縮処理され、文字画像データとしてメモリ106に記憶され、また、色番号1のRGB値(パレット)がパレット生成処理部36より出力され、これは文字色データとして文字画像データ及び文字領域データと対応付けられてメモリ106に記憶される。ここに示す文字領域の例では色番号2が最終の色番号であるので、1つの文字領域に対する文字コード生成処理は修了する。なお、このような文字色データは元々データ量が小さいため、非圧縮でメモリ106に記憶される。
以上の処理により、図24(a)の文字領域に関して、図24(d)に示すような色番号1(赤色)に対応したMMR圧縮処理された文字画像データと色番号1の文字色データ(RGB値)、図24(e)に示すような色番号2(黒色)に対応したMMR圧縮処理された文字画像データと色番号2の文字色データ、及び、対応した文字領域データからなる1つの文字コードがメモリ106上に生成される。
なお、以上に説明した文字コード生成処理においては、図24の例に見られるように、2以上の文字色を含む文字領域では、文字画像データ及び文字色データの組が2以上存在し、各文字色の文字画像データにおいて当該文字色以外の文字色のブロックは0データとされている。このままでもデータ量の増加は問題となるほどではないが、さらにデータ量を削減するため、例えばセレクタ37の後段で、各文字色の文字画像データから0データを削除する処理を行ってもよい。このような処理を行った場合の色番号1の文字画像データを図24(f)に、色番号2の文字画像データを図24(g)に模式的に示す。かかる態様も本実施例に包含される。
また、ページ内で同一文字色と認識された複数の文字領域を結合して比較的大きなサイズの文字領域を構築し、その文字領域に対し1つの文字コードを生成するようにしてもよい。例えば、図8(a)の入力画像データにおいて、“カラー”以外の文字が全て黒色である場合に、複数の黒色文字領域を囲む矩形領域を1つの文字領域とし、文字画像データ及び文字色データの生成を行うことができる。かかる態様も本実施例に包含される。
次に、本実施例に係るエンコーダP104の構成及びそのエンコード処理について説明する。図25は、本実施例に係るエンコーダP104のブロック図である。前記実施例に係る図14と対比すれば明らかなように、本実施例の場合は文字色データのためのJPEG2000圧縮処理部は省かれている。これは、文字色データのデータ量が元々極めて小さく圧縮の必要性が乏しいためである。
本実施例に係るエンコーダP104の基本的な動作は前記実施例1の場合と同様であり、文字画像データと文字色データに関する処理のみ異なる。すなわち、一般的なPDLデータによる文字画像データは、少なくとも文字の座標、キャラクタコード、文字色の情報を持っており、行等のある程度の単位でコード化されている。描画処理部52は、それらの情報を解釈して、メモリ53に”行などの特定の文字領域”における、同一文字色の文字画像データとその文字色データ及び文字領域データをメモリ53上に展開する。したがって、エンコーダS103における場合と同様、文字画像データは”文字領域”対応に生成され、また、文字画像データに対し1つのRGB値を示す文字色データが生成される。そして、MMR圧縮処理部54によりMMR圧縮処理された文字画像データ、非圧縮の文字色データ及び文字領域データは対応つけられ文字コードとしてメモリ106に記憶される。
なお、PDLデータの文字画像データは、それが色毎に分かれていなければ図24の(d),(e)のようなデータになり、色毎に分かれているならば図24の(f),(g)のようなデータになる。
このように、本実施例においては、エンコーダP104においても、エンコーダS103の場合と同様に、文字領域毎に、文字画像再現のための文字画像データ、文字色データ及び文字領域データからなる文字コードが生成される。
以上のように、本実施例においては、要素データとして文字領域データを含めるため、1ページを文字領域毎に区切って文字画像データ及び文字色データを生成することができるため、それらのデータをページ単位で生成する場合にくらべ、それらのデータ量を削減可能である。
次に、本実施例におけるデコーダ112の構成及びそのデコード処理について説明する。図26は、本実施例に係るデコーダ112のブロック図である。前記実施例1に係る図16と比較すると明らかなように、文字コードのデコード処理に関わる構成が異なる。すなわち、MMR伸長処理71により伸長処理された文字画像データ、非圧縮の文字色データ及び文字領域データから、多値の文字画像をメモリ92上に展開する描画処理部91を備える。メモリ92は、多値の文字画像の所定ライン数(以下バンド)の倍のメモリ容量を持っている。なお、このように1ページ分のメモリを持つ代わりにバンドの倍の容量のメモリを使用して処理を行う手法は、プリンタ等で一般的に使用される手法であり、メモリ容量の削減、印字開始までの時間の短縮などの効果がある。下地画像データ及び差分データに関する構成は前記実施例1の場合と同様である。
以下、本実施例に係るデコーダ112の動作を、前記実施例1と異なる部分を中心に説明する。文字コード中の2値の文字画像データは、MMR伸長処理部71にて伸長処理されてから描画処理部91に入力される。文字コード中の文字色データと、文字領域の座標を表す文字領域データはそのまま描画処理部91に入力する。描画処理部91は、メモリ92上に、文字画像データがオンの画素は文字色データを用い、オフの画素はダミーデータを用いて多値の文字画像データを展開する。この展開処理は、”現在処理されているバンドに(一部でも)含まれる文字領域”を有する文字コードの全ての処理が終了するまで繰り返される。なお、文字コードが処理中のバンドに含まれるか否かの判断は、CPU106によってなされる。
1つのバンド分の描画が終了すると、描画処理部91は次のバンドの処理を開始する。これと並行して、下地画像データがデコーダ112に入力される。この下地画像データはJPEG2000伸長処理部73で伸長処理されて合成処理部76へ入力され、これと同期してメモリ92より直前に処理されたバンドの文字画像データが読み出されて合成処理部76へ入力され、合成処理が行われる。この合成処理は、下地画像データに文字画像データを上書き処理することによって行われる。なお、文字画像データ中のダミーデータの画素は透過して下地画像データが再現される。この合成処理データと差分データとの合成処理は実施例1の場合と同様である。
文字画像データ中のダミーデータは、合成処理部76において合成データとして文字画像データと下地画像データのどちらを出力すべきかの判定に用いられる。ダミーデータの値は特に規定しないが、一般的に使用頻度が極めて低い値、例えば、R:G:B=255:254:255(RGBをそれぞれ8bitとする)又はR:G:B=0:0:1などの値とすることができる。
なお、R:G:B=255:255:255の白データは、白抜き文字によって使用される頻度が高いのでダミーデータとして使用することは避けた方がよい。仮に、文字色データがダミーデータと同一の値をとる場合には、描画処理部91において多値の文字画像データ値を問題の生じないような値に変更すればよい。例えば、ダミーデータと文字色データが0:0:1で同一であった場合に、文字画像データ値を0:0:0などに変更するわけである。デコーダ112の出力データは最終的にプリンタ114により記録紙上に印刷されるため、この程度のデータ値の変更は格別問題とならない。もし、デコード処理の後の処理で文字画像データに対して可逆性(データの完全な再現)を要する場合には、2値の文字画像データもメモリ92上に展開し、この2値の文字画像データを合成処理部76で上記判定のための信号として使用する構成にすればよく、かかる態様も本実施例に含まれる。
以上に説明したように、本実施例においても、ビットマップ形式の画像データとページ記述言語形式の画像データの圧縮データのフォーマットは変換データを除いて共通になるため、圧縮データのデコード処理などの内容や処理系の共通化を図ることができる。また、圧縮率にかかわらず文字の判読性の良好な画像圧縮が可能であり、低圧縮率とすることにより高画質の画像再現が可能である。
なお、本実施例に係るMFPは請求項2の発明に係る画像処理装置に対応した構成であることは明らかである。なお、上で言及したように変換データを省くことも可能であり、かかる態様も本発明に包含される。なお、文字画像データを3値又は4値以上のデータとする態様も本発明に包含されることは前記実施例1に関連して述べた通りである。
イメージやグラフィックス等の下地と文字が重なる場合において、図27(a)に示すように文字が上になるときには前記実施例1,2の構成で格別の問題は生じない。しかし、ページ記述言語形式の画像データの場合、図27(a)に示すような文字画像データが図27(b)に示すように下地の背面に隠れた画像として再現することがある。このような場合、前記実施例1,2に係るエンコーダP104において、描画処理部52でメモリ53上に画像を展開する際に、下地に隠れる部分(図27(c)の黒く塗りつぶした部分)の文字画像データを削除することにより、プリンタ動作は問題なく行うことができる。しかし、下地に隠れた文字画像の情報が失われてしまうため、その後のデータの再利用に制約が生じる。例えば、HDDに蓄積された圧縮データを編集して、文字の位置や下地との上下関係等を変更し、隠れた文字を表示させるようなことは不可能である。
本実施例においては、ページ記述言語形式の画像データについて、圧縮データの再利用性を考慮した構造化を行う。本実施例に係るMFPは、エンコーダP104及びデコーダ112の構成及び動作が前記実施例2と一部異なるが、その他の部分及び装置全体の構成及び動作は前記実施例2と同様である。よって、ここでは本実施例に係るエンコーダP104及びデコーダ112に限って説明する。
図28は、本実施例に係るエンコーダP104のブロック図である。このエンコーダP104においては、描画処理部52による描画処理(構造化処理)の際に、新しい要素データとして、下地によって隠される文字をマスクするための文字マスクデータを作成する点が前記実施例2と異なる。すなわち、描画処理部52は、文字領域上に下地データが上書きされるか否かを判断して文字マスクデータをメモリ53上に描画処理する。例えば、図27(b)に示す画像データが入力された場合に作成される文字マスクデータは、図27(c)に示すような形状で、黒で塗りつぶした部分がオン(1)の値の画像データとなる。また、描画処理部52は、下地に隠れる文字画像、文字画像に隠れる下地画像も含めた文字画像データ及び下地画像データを描画する。このような文字画像データ及び下地画像データを描画できるのは、要素データとして文字マスクデータを追加したためである。
メモリ53に記憶された文字マスクデータは、文字領域毎にMMR圧縮処理部57でMMR圧縮処理された後、文字コードの一部としてメモリ106に記憶される。すなわち、本実施例における文字コードは、文字画像データ、文字色データ、文字領域データ及び文字マスクデータから構成される。なお、MMR圧縮処理部54,57を別々に設けているが、その一方を省略し、1つのMMR圧縮処理部を文字画像データと文字マスクデータのMMR圧縮処理に用いてもよい。
図29は、本実施例に係るデコーダ112のブロック図である。このデコーダ112は、文字コード中の文字マスクデータのMMR伸長処理部93とセレクタ94が描画処理部91の前段に追加された点が前記実施例2との構成上の違いである。
セレクタ94は、モード信号に従って、”PDLデータから構造化圧縮符号化された”画像データが入力された場合にはMMR伸長処理部93により伸長された文字マスクデータを選択して描画処理部91に入力し、スキャン画像データが入力された場合には常に0データを選択して描画処理部91に入力する。
描画処理部91では、文字マスクデータが入力された場合には、文字マスクデータがオン(1)の画素に対応する文字画像データの画素値をダミーデータに変更する処理を行う。よって、描画処理部91での特定の文字領域内の処理においては、文字画像データの描画終了後に文字マスクデータの処理が行われることになる。これ以降の処理は前記実施例2の場合と同様であり、合成処理部76で下地画像データに文字画像データが上書きによって合成されることにより、図27(b)に示すような出力画像を得ることできる。このように、文字マスクデータは、下地画像データと文字画像データの合成時の上下関係を指定するデータであり、より広義には、下地画像データと文字画像データの合成を制御するデータである(この合成を制御するデータの別の例が、後記実施例4における不透明度もしくは透明度を指定するαデータである)。
以上説明したように、本実施例によれば、エンコーダP104によりエンコード処理の際に、入力されたPDLデータにおいて文字画像が下地に隠れるような場合であっても、下地に隠れる文字画像の情報も文字に隠れる下地画像の情報も圧縮データに保存されているため、その後に蓄積データに対し、下地に隠れた文字を上に表示させ、あるいは、文字に隠れた下地を表示させるような編集、再利用を支障無く行うことが可能となり、蓄積データの編集性、再利用性が向上する。
なお、前記実施例1におけるようなページ単位で文字画像を再現する構造化手法においても同様の文字のマスク処理が可能である。この場合、描画処理部91でマスク処理を行う代わりに、合成処理部76で文字マスクデータがオンの画素位置で下地画像データを出力するように構成すればよく、かかる態様も本発明に包含される。付言すれば、スキャン画像については、その入力時に文字と写真等のイメージがビットマップとなっているため、上記のような考慮は必要ない。
本実施例においては、ビットマップ形式とページ記述言語形式とで、変換データ及び文字マスクデータに関し圧縮データのフォーマットの違いがあるが、基本的なフォーマットは共通しているため、デコード処理などの処理内容と処理系の構成をほぼ共通化することができる。
本実施例に係るMFPは請求項3の発明に係る画像処理装置に対応した構成であることは明らかである。なお、上で言及したように変換データを省くことも可能であり、かかる態様も本発明に包含される。また、文字画像データ3値又は4値以上のデータとする態様も本発明に包含されることは、前記実施例1に関連して述べた通りである。
ページ記述言語形式の画像データにおける文字やイメージ等のオブジェクトの重ね合わせには、”透明化処理”と言われる特殊な処理が存在する。透明化処理とは、2つ以上のオブジェクトの重ね合わせ時に、前面のオブジェクト画像から背面のオブジェクト画像が透けて見えるように合成処理を行う手法である。一般的に、不透明度(または透明度)は、下地の画像との混合比率で表される。例えば、背面になっている画像の画素値をA、前面になっている画像の画素値をB、0〜1の値をとり得る不透明度をαとすると、透明化処理されて合成された画素値Cは、
C = A×(1−α)+B×α
となる。
透明化されるのは前面にくるオブジェクトであるから、具体的には、文字画像が透明化される場合と下地画像が透明化される場合とがある。例えば、図27(a)の画像が入力され、その文字画像が透明化されたときには図27(d)に示すような画像になり、白地と重なった部分の文字色(画素値)とグラフィックスデータと重なった部分の文字色とは異なった色になる。また、図27図(b)の画像が入力され、グラフィックスの画像が透明化されたときには図27図(e)に示すような画像になり、グラフィックスと重なった文字のみ文字色が変化し、また、グラフィック全体の色も変化する。
なお、不透明度100%では背面の画像に上側の画像を上書きすることになり、不透明度0%では重なった部分の上側の画像を消去することになる。また、透明化処理では、オブジェクト単位で不透明度が設定されるのが一般的であるので、以下に説明する本実施例においてもそのように扱うが、画素単位で不透明度が設定されてもよい。
さて、前記実施例2においても、透明化処理後の文字色を文字色データとして扱うことによってPDL画像に対する透明化処理にある程度は対応可能である。しかし、自然画のようなイメージデータとの透明化処理を行った場合などは、文字色が複雑に変化することになるため、”文字コードに対する圧縮率の低下”という問題が生じる。また、透明化処理された文字画像データは、画像の性質上、さほどの鮮鋭性を必要としないため、下地画像データとして処理してしまう方法もあるが、前記実施例で述べたような蓄積データの編集性、再利用性の問題があり、また、下地画像の圧縮率を高くしたときに文字判読性が低下するなどの問題も生じる。
本実施例においては、そのような透明化処理に関わる問題点、特に蓄積データの編集性、再利用性を考慮してページ記述言語形式の画像データの構造化を行う。本実施例に係るMFPは、エンコーダP104及びデコーダ112の構造及び動作が前記実施例2と異なるが、それ以外の部分及び装置全体の構成及び動作は前記実施例2と同様である。よって、エンコーダP104及びデコーダ112に限って説明する。
図30は、本実施例に係るエンコーダP104のブロック図である。本実施例に係るエンコーダP104と前記実施例2のものとの相違点は、透明化処理対象のデータが入力された場合に、インタプリタ51によるPDLデータの解釈結果に応じて、描画処理部52で文字画像に対する不透明度である”αデータ”をメモリ53上に描画処理することと、αデータのためのJEG2000圧縮処理部58を有し、メモリ53に記憶されたαデータは1ページ分がJPEG2000圧縮処理部58でJPEG2000圧縮処理されてからメモリ106に記憶されることである。文字画像データ及び下地画像データは、それらの重なる部分の情報も含めるように描画される。このような描画が可能となるのは、αデータを要素データに加えたためである。
前記実施例3のように文字マスク情報等のオブジェクトの前後情報を保存し、前面にくるオブジェクトに対する不透明度をαデータとすることも可能であるが、本実施例においては、αデータに文字マスクの機能を重複して持たせるため、αデータは文字画像データに対する不透明度とする。具体的には、文字画像データに対して透明化処理を行う場合(例えば図27(d)の画像が入力された場合)にはαデータはPDLデータにて指定される不透明度となる。下地画像データに対して透明化処理を行う場合(例えば図27(e)の画像が入力された場合)にはαデータは”1−PDLデータにて指定された不透明度”となる。
αデータの形状であるが、図27(d)に示す画像データが入力された場合はαデータは文字画像データと同一形状となり、その全ての画素位置で同一のデータ値をとる。図27(e)に示す画像データが入力された場合は、αデータは四角で示されるグラフィックスデータと同一形状となり、その全ての画素位置で同一のデータ値をとる。また、透明化処理が行われない部分のαデータ値は、文字画像データがオンの画素に対しては文字画像の不透明度100%に対応した1となり、それ以外の画素に対しては不当明度0%に対応した0となる。
なお、イメージデータの上に、ある不透明度を有するグラフィックスデータを描画する場合のように、下地画像データに含まれるオブジェクト同士での透明化処理を描画処理部52にて行うこともできる。
図31は、本実施例に係るデコーダ112のブロック図である。本実施例に係るデコーダ112と前記実施例2のものとの相違は、αデータのためのJEG2000伸長処理部95が追加され、入力されたαデータはJPEG2000伸長処理部95にて伸長処理された後、多値の文字画像データ及び下地画像データと同期して合成処理部76に入力されること、モード信号も合成処理部76へ入力されること、合成処理部76が図32に示す構成とされることである。
図32に示すように、本実施例に係る合成処理部76は、モード信号及びメモリ92からの文字画像データを入力としてセレクタ126への選択信号を生成する選択信号生成処理部121、JPEG2000伸長処理部95により伸長されたαデータから下地画像データの不透明度(1−α)を計算する演算処理部122、メモリ92から入力する文字画像データと不透明度αの乗算を行う乗算処理部123、JPEG2000伸長処理部73により伸長された下地画像データとその不透明度(1−α)の乗算を行う乗算処理部124、乗算処理部123,24の出力データの加算処理を行う加算処理部125、選択信号生成処理部121から出力される選択信号に従って文字画像データ、加算処理部125の出力データ及び下地画像データのいずれかを選択して出力するセレクタ126からなり、その動作は以下の通りである。
入力された文字画像データとαデータの乗算処理が乗算処理部123で行われる。この乗算処理においては、文字画像データのRGB各値がαデータと乗算され、したがって乗算処理部123の出力データはRGBデータである。下地画像データについても、その不透明度(1−α)との同様の乗算処理が乗算処理部124で行われ、その結果はRGBデータである。
乗算処理部123,124の出力データが加算処理部125によって加算処理される。この加算処理もRGB各値について行われる。この加算処理部125の出力データが透明化処理データであり、
透明化処理データ=下地画像データ×(1−α)+文字画像データ×α
で表される。
なお、文字画像データの存在しない部分では、α=0としているので、加算処理部125から下地画像データそのものが出力される。透明化処理が行われない文字画像データの部分では、α=1としているので、加算処理部125から文字画像データそのものが出力されることになる。
加算処理部125の出力データ(透明化処理データ)と、透明化処理が行われない文字画像データ及び下地画像データがセレクタ126に入力され、選択信号生成処理部121からの選択信号に従って、いずれかのデータが選択されて合成データとしてセレクタ126より出力される。
選択信号生成処理部121では、モード信号が、PDLデータから構造化圧縮符号化された画像データ(以下プリンタデータ)が入力されたことを示す場合には、加算処理部125の出力データをセレクタ126に選択させる選択信号を出力する。モード信号が、スキャンデータが入力されたことを示す場合には、選択信号生成処理部121は、文字画像データの値を判定し、ダミーデータの画素では下地画像データをセレクタ126に選択させる選択信号を、ダミーデータでない画素では文字画像データをセレクタ126に選択させる選択信号を出力する。つまり、プリンタデータが入力された場合は、透明化処理データを出力させ、スキャンデータが入力された場合は透明化処理をしない前記実施例2と同様の合成データを出力させる。
以上の説明から明らかなように、本実施例によれば、エンコード処理の際に、入力されたPDLデータにおいて透明化処理を行うデータであっても文字画像及び下地画像の情報が圧縮データに保存されるため、その後の編集性、再利用性が良い。また、αデータ及び変換データに関してデータ形式により圧縮データのフォーマットに違いがあるが、その基本的なフォーマットは共通であるため、圧縮データのデコード処理などの内容及び処理系の構成をほとんど共通化することができる。
本実施例に係るMFPは請求項4の発明に係る画像処理装置に対応した構成であることは明らかである。なお、上で言及したように変換データを省くことも可能であり、かかる態様も本発明に包含される。また、構造化の要素データとして、不透明度に代えて透明度を指定するデータを生成することも可能であることは明らかであり、かかる態様も本発明に包含される。なお、文字画像データを3値又は4値以上のデータとすることも可能であることは、前記実施例1に関連して述べた通りである。
本実施例においては、PDLデータについても、スキャンデータと同様に、構造化の際に要素データとして差分データ(変換データ)を生成する。本実施例に係るMFPは、エンコーダP104及びデコーダ112以外の部分の構成及び装置全体の構成は前記実施例2の場合と同様であるので、エンコーダP104及びデコーダ112の構成及び動作のみ以下に説明する。
図33は、本実施例に係るエンコーダP104のブロック図である。同図中、59はエンコーダS103内の変換データ生成処理部6(図22)と同様の機能を有する変換データ生成処理部である。151及び152はそれぞれ変換データとしての+差分データ及び−差分データをJPEG2000圧縮処理するJPEG2000圧縮処理部である。
本実施例に係るエンコーダP104において、描画処理部52は、前記実施例2の場合と同様に、文字データ、文字色データ、文字領域データ、下地画像データをメモリ53上に描画すると同時に、入力されたPDLデータ全てのコードにより再現されるビットマップ形式の画像データである“全画像再現データ”を描画する。この全画像再現データは、透過処理等も含んだ形となり、デコーダ112の出力画像と同じものとなる。また、描画処理部52は、透明化処理等を含まない、文字コードのみから再現されるビットマップ形式の画像データである“文字画像再現データ”を描画する。この文字画像再現データは、前記実施例2のデコーダ112(図26)においてメモリ92から出力される文字画像データと同じものとなる。つまり、文字コードのみによって再現される多値の文字画像データと等価である。なお、全画像再現データ及び文字画像再現データは構造化のために一時的に生成されるものであって、構造化画像データの要素データではない。
バンド等の所定範囲の全画像再現データ、文字画像再現データ、下地画像データの描画が完了すると、これらのデータは同期して変換データ生成処理部59へ入力され、スキャンデータの場合と同様に、+差分データと−差分データが算出される。差分データの算出は、スキャンデータの入力画像データの変わりに全画像再現データを使用し、文字画像再現データと下地画像データの合成データの差分を演算することによって行われ、次式
差分データ=
全画像再現データ−(文字画像再現データと下地画像データの合成データ)
で表される。このような変換データ生成処理部59の内部構成は、図7と大きな差がないため図示しない。
変換データ生成処理部59より出力される+差分データ及び−差分データはJPEG2000圧縮処理部151,152により圧縮処理されてメモリ106に記憶される。
このような構成によって、例えば、透明化処理によって画像が変化する場合や、文字がグラフィックスの後ろに隠れるような特殊な場合でも、下地画像の前に文字画像が存在する通常の合成処理の状態からの変化分を差分データに保持させることが可能となるので、PDLデータの機能を損なうことなく構造化が可能である。
図34は、本実施例に係るデコーダ112のブロック図である。本実施例においては、圧縮データのフォーマットはスキャンデータとプリンタデータとで全く違いがない。したがって、本実施例に係るデコーダ112においては、モード信号は存在せず、図26中のセレクタ78,79に相当するものは省かれ、JPEG2000伸長処理部73,74により伸長された差分データはそのまま合成処理部77に入力される。すなわち、プリンタデータもスキャンデータと同様の処理が行われ、その処理系の構成も完全に共通化される。
以上説明したように、本実施例によれば、ビットマップ形式で入力されるスキャンデータとPDLデータの形式で入力されるプリンタデータの両方について、画質やPDLデータにおける透明化処理等の付加的な機能を落とすことなく、圧縮データのフォーマットを完全に共通化することができる。また、文字画像や下地画像の情報は消去することなく保存できるので、圧縮データの再利用性も確保できる。なお、圧縮データの編集等で画像を透明化処理する場合には、差分データを変化させればよい。
本実施例に係るMFPは請求項5の発明に係る画像処理装置に対応した構成であることは明らかである。なお、文字画像データを3値又は4値以上のデータとすることも可能であることは、前記実施例1に関連して述べた通りである。
以上説明した本発明に係る画像処理装置の各手段としてコンピュータを機能させるプログラムを用いることにより、本発明に係る画像処理装置をコンピュータ上で実現することも可能であることは明らかである。また、そのようなプログラム、及び、同プログラムが記録された磁気ディスク、光ディスク、光磁気ディスク、半導体記憶素子などのコンピュータが読み取り可能な各種情報記録(記憶)媒体も本発明に含まれる。
また、前記各実施例に係るMFPにおける画像入力、入力画像データに対する構造化と圧縮符号化(エンコード処理)の手順は、本発明に係る画像処理方法の手順でもあることは明らかであるので、画像処理方法についての説明は繰り返さない。このような画像処理方法の各工程をコンピュータを利用して実行することも当然に可能である。そのためのプログラム、及び、同プログラムが記録された各種情報記録(記憶)媒体も本発明に含まれる。
各実施例に係るMFPの全体構成を示すブロック図である。
実施例1に係るエンコーダS102のブロック図である。
実施例1に係るエンコーダS102のフローチャートである。
実施例1に係るエンコーダS102内の2値画像生成処理部1のブロック図である。
実施例1に係るエンコーダS102内の文字画像生成処理部4のブロック図である。
実施例1に係るエンコーダS102内の下地画像生成処理部5のブロック図である。
実施例1に係るエンコーダS102内の変換データ生成処理部6のブロック図である。
実施例1に係るエンコーダS102におけるデコード処理を説明するための模式図である。
文字の芯部の説明図である。
文字領域における文字色算出処理の説明のための模式図である。
1値の文字画像データと差分データを説明するための模式図である。
差分データの説明図である。
MFPをプリンタとして使用する場合のMFPと外部装置との接続環境の説明図である。
実施例1に係るエンコーダP104のブロック図である。
実施例1に係るエンコーダP104におけるエンコード処理を説明するための模式図である。
実施例1に係るデコーダ112のブロック図である。
実施例1に係るフォーマット変換処理部109のブロック図である。
JPEG2000の符号ストリームの説明図である。
実施例1に係るフォーマット変換処理部109により生成される画像ファイルのフォーマットの説明図である。
差分データの圧縮率の違いと再現文字画像の画質の関係を説明するための模式図である。
文字画像と下地画像の誤分離とその影響を説明するための模式図である。
実施例2に係るエンコーダS103のブロック図である。
実施例2に係るエンコーダS103内の文字コード生成処理部12のブロック図である。
実施例2に係るエンコーダS103内の文字コード生成処理部12による文字画像データ及び文字色データの生成を説明するための模式図である。
実施例2に係るエンコーダP104のブロック図である。
実施例2に係るデコーダ112のブロック図である。
下地画像と重なる文字画像のマスク処理及び透明化処理を説明するための模式図である。
実施例3に係るエンコーダP104のブロック図である。
実施例3に係るデコーダ112のブロック図である。
実施例4に係るエンコーダP104のブロック図である。
実施例4に係るデコーダ112のブロック図である。
実施例4に係るデコーダ112内の合成処理部76のブロック図である。
実施例5に係るエンコーダP104のブロック図である。
実施例5に係るデコーダ112のブロック図である。
JPEG2000の圧縮符号化処理を説明するためのブロック図である。
2次元離散ウェーブレット変換によるサブバンド分割例を示す図である。
JPEG2000のビットプレーン分解及びサブビットプレーン分解の説明図である。
符号の説明
101 スキャナ部
103 エンコーダS
104 エンコーダP
105 CPU
106 メモリ
107 ハードディスク装置(HDD)
109 フォーマット変換処理部
110 外部インターフェース
112 デコーダ
114 プリンタ
1 2値画像生成処理部
3 文字領域検出処理部
4 文字画像生成処理部
5 下地画像生成処理部
6 変換データ生成処理部
12 文字コード生成処理部
51 インタプリタ
52 描画処理部
59 変換データ生成処理部