(57)【要約】【課題】  部分画像を保持できる程度の少ないメモリを用いて、画像全体の文字領域の属性を判定すること。また判定された文字領域を用いて、高画質で圧縮効率のよい圧縮データを生成すること。【解決手段】  部分画像を順次取得することにより、互いに隣接する複数の部分画像を保持する画像保持手段と、前記画像保持手段に保持されている複数の部分画像から選択可能な文字領域を選択する選択手段と、前記選択された文字領域の属性を判定する属性判定手段とを有する。  また、画像保持手段に保持された画像の解像度を落とすとともに、文字領域に相当する画素群の色を塗りつぶすことによって下地画像を生成する下地画像生成手段と、文字領域を圧縮する文字領域圧縮手段と、下地画像を圧縮する下地画像圧縮手段とを更に有する。【選択図】  図７
2007174522.tif 000002
【特許請求の範囲】
【請求項１】
部分画像を順次取得することにより、互いに隣接する複数の部分画像を保持する画像保持手段と、
前記画像保持手段に保持されている複数の部分画像から選択可能な文字領域を選択する選択手段と、
前記選択された文字領域の属性を判定する属性判定手段とを有することを特徴とする画像処理装置。
【請求項２】
画像中の文字領域を示す情報を保持する領域情報保持手段と、
前記画像の部分画像を順次取得することにより、互いに隣接する複数の部分画像を保持する画像保持手段と、
前記文字領域を示す情報に基づいて、前記保持手段に保持されている複数の部分画像から選択可能な文字領域を選択する選択手段と、
前記選択された文字領域の属性を判定する属性判定手段とを有することを特徴とする画像処理装置。
【請求項３】
前記選択手段は、選択可能な文字領域として、文字の集合である文字ブロック内の文字の構成要素を囲む矩形を選択することを特徴とする前記請求項１または２に記載の画像処理装置。
【請求項４】
前記属性判定手段は、前記文字ブロック内の文字の構成要素を囲む矩形毎の平均色と色分散から、該矩形が文字か非文字かの属性を判定することを特徴とする前記請求項３に記載の画像処理装置。
【請求項５】
前記画像処理装置は、前記判定された属性に基づいて、文字ブロックが文字ブロックか非文字ブロックかの属性を判定することを特徴とする前記請求項４に記載の画像処理装置。
【請求項６】
前記選択手段は、選択可能な文字領域として、文字の集合である文字ブロックを選択することを特徴とする前記請求項１または２に記載の画像処理装置。
【請求項７】
前記文字領域を示す情報は、前記画像を二値化した二値画像情報、または前記二値画像に基づいて検出された文字ブロック情報、または前記文字ブロック内の文字の構成要素を囲む矩形を表す矩形情報の少なくとも一つであることを特徴とする前記請求項２に記載の画像処理装置。
【請求項８】
前記文字領域を示す情報は、
前記画像から二値画像を生成する二値画像生成手段と、
前記二値画像から文字ブロック情報を抽出する抽出手段と、
前記文字ブロック内の文字の構成要素を囲む矩形を認識する認識手段と、
を用いて生成されることを特徴とする前記請求項２に記載の画像処理装置。
【請求項９】
前記画像保持手段は、画像をｎ（ｎ＞１）分割した画像領域の内ｍ（ｎ≧ｍ＞０）番目の部分画像とｍ＋１番目の部分画像を保持することを特徴とする前記請求項１または２に記載の画像処理装置。
【請求項１０】
前記画像保持手段は、２つ以上のバッファにより構成されることを特徴とする前記請求項１または２に記載の画像処理装置。
【請求項１１】
前記画像保持手段は、２ｋ（ｋは０以上の整数）番目の部分画像を保持する第１の画像保持手段と、
２ｋ＋１番目の部分画像を保持する第２の画像保持手段とを有することを特徴とする前記請求項１または２に記載の画像処理装置。
【請求項１２】
前記画像処理装置は更に、
圧縮された画像データを伸張する伸張手段を有し、前記伸張手段は、ｎ分割された画像領域を順次伸張して前記画像保持手段に保持させることを特徴とする前記請求項１または２に記載の画像処理装置。
【請求項１３】
前記画像処理装置は更に、
入力された画像データを圧縮する圧縮手段を有することを特徴とする前記請求項１２に記載の画像処理装置。
【請求項１４】
前記圧縮手段はＪＰＥＧ圧縮に準拠した圧縮を行なうことを特徴とする前記請求項１３に記載の画像処理装置。
【請求項１５】
前記選択手段は、前記画像保持手段に保持されている部分画像内に包含されている文字領域を判別することを特徴とする前記請求項３または６に記載の画像処理装置。
【請求項１６】
前記画像処理装置は、画像保持手段に保持された画像の解像度を落とすとともに、文字領域に相当する画素群の色を塗りつぶすことによって下地画像を生成する下地画像生成手段と、
文字領域を圧縮する文字領域圧縮手段と、
下地画像を圧縮する下地画像圧縮手段と
を更に有することを特徴とする前記請求項１乃至１５に記載の画像処理装置。
【請求項１７】
部分画像を順次取得することにより、互いに隣接する複数の部分画像を保持手段に保持する画像保持工程と、
前記保持手段に保持されている複数の部分画像から選択可能な文字領域を選択する選択工程と、
前記選択された文字領域の属性を判定する属性判定工程とを有することを特徴とする画像処理方法。
【請求項１８】
前記画像処理方法は、画像保持手段に保持された画像の解像度を落とすとともに、文字領域部の画素を塗りつぶすことによって下地画像を生成する下地画像生成工程と、
文字領域を圧縮する文字領域圧縮工程と、
下地画像を圧縮する下地画像圧縮工程と
を更に有することを特徴とする前記請求項１７に記載の画像処理方法。
【請求項１９】
請求項１７または１８のいずれか１項に記載の画像処理方法を実行するプログラムコード。
【請求項２０】
請求項１９に記載のプログラムコードを格納し、コンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字領域を含む画像を圧縮する技術に関するものである。
【背景技術】
【０００２】
画像の圧縮方法としてＪＰＥＧが知られている。文字領域を含むカラー画像を効率良く圧縮する方法としては例えば下記の件が知られている。
【０００３】
下記文献には、文字領域とそれ以外との画像を分離し、それぞれ別途圧縮することにより、効率の良い圧縮を実現することが開示されている。
【０００４】
ところで、カラー画像全体を展開するには大きなメモリ必要とする。一般的に画像に対する処理を省メモリで動作させるためには、カラー文書画像をラスターデータに変換し、そのラスターデータを帯状のバンドに分割して順次処理を行なうことが知られている。（バンド処理）
【特許文献１】特開２００２−７７６３３号公報
【特許文献２】特開２００３−０１８４１３号公報
【特許文献３】特開２００３−００８９０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来、既に圧縮された画像から更に高圧縮率で圧縮された画像データに符号変換する場合において、圧縮された画像の文字領域の属性を判定するには、画像全体を一旦展開する為のメモリ等が必要であった。また圧縮データを伸張することで得られる画像データに関わらず、画像全体を表す画像データを保持するメモリが必要であった。
【０００６】
本発明はかかる事情に鑑みてなされたものであって、部分画像を保持できる程度の少ないメモリを用いて、画像全体の文字領域の属性を判定することを主な目的とする。また判定された文字領域を用いて、高画質で圧縮効率のよい圧縮データを生成することを主な目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の画像処理装置は、部分画像を順次取得することにより、互いに隣接する複数の部分画像を保持する画像保持手段と、前記画像保持手段に保持されている複数の部分画像から選択可能な文字領域を選択する選択手段と、前記選択された文字領域の属性を判定する属性判定手段とを有することを特徴とする。
【０００８】
また本発明の画像処理装置は、画像保持手段に保持された画像の解像度を落とすとともに、文字領域に相当する画素群の色を塗りつぶすことによって下地画像を生成する下地画像生成手段と、文字領域を圧縮する文字領域圧縮手段と、下地画像を圧縮する下地画像圧縮手段とを更に有することを特徴とする。
【発明の効果】
【０００９】
部分画像を保持できる程度の少ないメモリを用いて、画像全体の文字領域の属性を判定することができる。また判定された文字領域を用いて、高画質で圧縮効率のよい圧縮データを生成することができる。
【発明を実施するための最良の形態】
【００１０】
＜実施形態１＞
図１は本実施形態におけるハードウェア構成を示す図である。
【００１１】
１０１は装置の制御をおこなうＣＰＵである。１０２はＣＰＵ１０１のプログラムやデータを保持するＲＡＭである。１０３はプログラムデータやデータを記憶するハードディスク装置である。
【００１２】
１０４はエンコード・デコードや特殊な画像処理をソフトウェアよりも高速に実行する画像処理ハードウェアである。１０５は装置とオペレータ間で情報を入出力する、ディスプレイ・キーボードなどのＵＩ装置である。１０６は紙原稿の内容を電気信号に変換するスキャナである。
【００１３】
１０７は外部機器と接続するネットワークインタフェースであり、それらはバス１０８により相互に接続されている。
【００１４】
図２に本実施形態の画像処理装置の動作要素を示す。本図の各要素を用いることにより、スキャン画像から圧縮データを生成する。
【００１５】
２０１はスキャナ等により生成された画像データを入力する画像入力部である。２０２は画像データをＪＰＥＧ圧縮するＪＰＥＧエンコーダ部である。２０３はＪＰＥＧ圧縮データである画像データを保存するカラー画像記憶部である。２０４はＪＰＥＧ圧縮データをラスターデータに展開（伸長）するＪＰＥＧデコーダ部である。
【００１６】
２０５は画像データの輝度ヒストグラムを格納するヒストグラムバッファ部である。２０６は画像データを二値化した二値画像データを格納する二値画像バッファ部である。２０７は画像データから部分画像データを抽出することにより得られたテキストブロック情報を格納するブロック情報バッファ部である。２０８はテキストブロック内を、行および文字単位に分割して得られる情報を格納するセグメント矩形情報バッファ部である。
【００１７】
２０９はＪＰＥＧ圧縮データを展開（伸長）して得られた画像データを一時保存するカラー画像展開バッファ部Ｂ０である。２１０もＪＰＥＧ圧縮データを展開（伸長）して得られた画像データを一時保存するカラー画像展開バッファ部Ｂ１である。２１１は下地となる縮小カラー画像を保存する下地画像バッファ部である。２１２は文字領域部を圧縮するＭＭＲエンコーダ部である。２１３は下地画像と二値画像の圧縮データを合成するデータ合成部である。２１４は合成された圧縮データを出力するデータ出力部である。
【００１８】
図３は、本実施形態における画像処理装置が、スキャン画像から圧縮データを生成する処理を示すフローチャートである。
【００１９】
ステップＳ３０１にて、紙原稿の１ページをスキャナなど読み取ることにより電子データに変換する。ここでは、光電変換によりＲ，Ｇ，Ｂの３原色各８ビット、計２４ビットのカラー画像データが得られる。この画像データは処理ラインごとに、ＹＣｂＣｒに色空間変換された後、ＪＰＥＧ圧縮されて記憶装置に保存される。このＪＰＥＧ圧縮データとなっている画像データをＷとする。
【００２０】
ステップＳ３０２にて、画像データＷが表す全画像（１ページ分の画像）の輝度ヒストグラムを作成する。具体的には、輝度（Ｙ）、色差青（Ｃｂ）、色差緑（Ｃｒ）の３要素のＪＰＥＧ圧縮データのうち、輝度成分（Ｙ）のみを展開（ＪＰＥＧ伸長）してヒストグラムを作成する。なお、輝度成分を展開して輝度ヒストグラムを作成するのは、ＪＰＥＧ圧縮データの最小処理ユニットの１つずつについて作成すれば良いので、そこでの展開に使用するメモリ容量は８×８画素分で十分である。
【００２１】
なお、すべての画素を展開する必要はない。例えば、ＪＰＥＧ圧縮データの最小処理ユニット（８×８画素）の直流成分（ＤＣ成分）として抽出した各ユニットの平均の輝度値のヒストグラムを作成すれば、高速に上記ヒストグラムの作成と類似の結果を得ることもできる。
【００２２】
ステップＳ３０３ではＪＰＥＧ圧縮データＷの輝度成分を再度展開（伸長）しながら、各画素をある閾値を用いて二値化し、ここで得られた二値データを二値画像バッファ部２０６に保存する。ここで得られた１ページ分の二値画像をＺとする。なお、このとき用いる閾値は先に作成した１ページ分のヒストグラムに基づいて決定するので、処置対象となるページの画像データに適切な二値画像を得ることができる。
【００２３】
ステップＳ３０４では二値画像Ｚから部分領域を抽出し、テキストブロックの集合を得る。
【００２４】
この部分領域を抽出する方法は、画像データの内容を分析し、文字や図、写真、表など、異なる性質の画像を認識し、それぞれの性質のまとまった画像を部分領域として抽出するものである。この結果に基づいて上記テキストブロックが抽出される。このテキストブロックとは、文字で構成される行を複数含む集合である。そして１つのテキストブロック内の各行は近接しているものとする。よって、まとまった意味を持つ文章を構成する可能性が高い。また、テキストブロック内の文字は一般的に大きさ、色などの性質が似ているものが得られる。
【００２５】
なお、具体的な部分領域の抽出方法は公知であるので詳細な説明は省略する。たとえば、画像中の黒画素の塊、白画素の塊の集合を検出し、その形状、大きさ、集合状態等の特徴量に基づいて、文字、絵や図、表、枠、線といった性質の部分領域を抽出することができる。
【００２６】
ステップＳ３０５にて、上記テキストブロックから文字の各要素に相当するセグメント矩形を抽出する。セグメント矩形の抽出方法は、まずテキストブロック内を二値化して得られた二値画像データに対し、縦方向及び横方向の２方向の射影を行い、山谷があるほうを行方向の射影であると認識する。そしてその射影の谷の位置で画像を短冊状に分割したものを行とする。さらにその行毎に、行方向に垂直な射影を行い、射影の切れ目で短冊を分割することによりセグメント矩形が得られる。即ち、セグメント矩形とは、１文字を構成する要素のひとまとまりを囲む矩形である。
【００２７】
ステップＳ３０６では、画像データの画素値を参照して、セグメント矩形毎に文字領域部分の画素の平均色と色分散を求める。ここで画像データの画素値を参照する方法は後述する。
【００２８】
ステップＳ３０７にて、分散の大きいセグメント矩形を非文字属性セグメントと判断し、二値画像上で矩形内にあたる画素値を０にする。さらに、この非文字属性セグメントの割合が一定より大きいブロックは非テキストブロックであると判定結果を修正する。
【００２９】
なお、前記Ｓ３０６において、セグメント矩形毎ではなく、テキストブロック自体の平均色と色分散を求めてもよい。そしてこの結果により、Ｓ３０７において、テキストブロックが、テキストブロックか非テキストブロックかを判定する。これにより、例えば、少数の文字で構成されるテキストブロックなどの判定処理を軽減できる。また、少数の文字で構成されるテキストブロックの属性の判定には、テキストブロック自体の平均色と色分散から属性を求め、多数の文字で構成されるテキストブロックの属性の判定にはセグメント矩形毎の平均色と色分散からテキストブロックの属性の判定を行なうようにしてもよい。これにより、テキストブロックのサイズに応じた処理を行なうことでテキストブロックの属性の判定処理を効率化できる。
【００３０】
以上の処理により、グラデーションを有する文字や、色彩に富んだ非文字が存在する場合に、その部分が文字領域部分として処理されないようになる。また、部分領域を抽出する処理自体の誤判定により、ブロック自体が非テキストとなっている状態が修正される。
【００３１】
ステップＳ３０８にて、セグメント矩形毎に求められた色をテキストブロック内でグループ化し、各グループの代表色を求める。グループ数が多くなる場合は、テキストとして処理するにはふさわしくないとして、このブロックの判定結果を非テキストブロックであると修正する。
【００３２】
ステップＳ３０９では、各セグメント矩形の色として、セグメント矩形に代表色のいずれかを割り当てる。
【００３３】
ステップＳ３１０にて、画像データＷを半分の解像度にした画像データＸをテキストブロック内の文字領域部分にあたる画素、すなわち二値画像で１に相当する画素を背景色で塗りつぶすことにより、下地部分を作成する。下地部分の色は、テキストブロック内の二値画像で０に相当する画素を半分の解像度の画像データから抽出し、該画素の色成分の平均色を用いる。さらにこの下地部分はＪＰＥＧ等で圧縮する。
【００３４】
ステップＳ３１１にて、各テキストブロックのセグメント矩形領域内の二値画像をその領域の文字領域部分としてＭＭＲ等で圧縮する。ここで、２グループ以上の代表色の割り当てられたブロックでは、各色毎、その色に割り当てられたセグメント矩形内の二値画像の画素のみを有効にして色数分の圧縮画像データを作成する。あるいは２〜４ビット程度を用いてパレット付きの多ビット画像で表現し、ＺＩＰやＬＺＷなどの形式で圧縮してもよい。
【００３５】
ステップＳ３１２にて、各領域の文字領域部分およびその位置、下地部分を合わせたものをページの圧縮画像データとして出力する。
【００３６】
以上が画素処理装置が圧縮データを生成する手順である。
【００３７】
次に、上記のステップＳ３０６〜ステップＳ３０９に相当する部分について、図４のフローチャートを用いて、より詳細に説明する。
【００３８】
なお、図４の処理に際し、ステップＳ３０４により得られたテキストブロック集合｛Ｔｘ｝＝Ｔ１，Ｔ２，．．．Ｔｋは、各々ステップＳ３０５の処理により得られたセグメント矩形集合を保持している。
【００３９】
ステップＳ４０１にて、ＪＰＥＧデコーダ部２０４は、画像データの上端からｎライン（ｎ＝６４）分の画像データを画像バッファ部Ｂ０（２０９）へと展開（伸長）する。
【００４０】
図６に例を示すならば、元画像の６０１の部分、Ｙ［０］〜Ｙ［ｎ−１］の範囲の画像データが画像バッファＢ０［０］〜Ｂ０［ｎ−１］へと展開（伸長）される。
【００４１】
ステップＳ４０２にて、ＪＰＥＧデコーダは、画像データを新たにｎライン分、バッファに復号画像を展開（伸長）する。ここでＪＰＥＧデコーダは２つの画像バッファ部Ｂ０（２０９）またはＢ１（２１０）を交互に用いる様にして、直前に展開されたバッファとは異なるバッファへと復号画像を展開する。
【００４２】
図６の例では、ステップＳ４０１の直後は６０２の部分、Ｙ［ｎ］〜Ｙ［２ｎ−１］の範囲の画像データが画像バッファＢ１［０］〜Ｂ１［ｎ−１］へ展開される。以降、ｋ番目のステップＳ４０２処理（ｋ＝１，２，．．．ｔ）において、Ｙ［ｋｎ］〜Ｙ［ｋｎ＋ｎ−１］の範囲のデータは、ｋが偶数のときはＢ０［０］〜Ｂ０［ｎ−１］、ｋが奇数のときはＢ１［０］〜Ｂ１［ｎ−１］へと展開されることになる。
【００４３】
なお、本実施形態では、画像バッファはＢ０、Ｂ１の２つを用いているが、これに限ったことではなく、３つ以上のバッファを用いて同様の処理を行っても良い。また複数範囲の画像データを持つことができる１つのバッファを用いてもよい。
【００４４】
ステップＳ４０３では、現在、画像バッファ２０９，２１０に展開されている画像範囲に、セグメント矩形集合の矩形領域が重なるテキストブロックを、テキストブロック集合｛Ｔｘ｝から選出する。そして選出されたテキストブロックを、色抽出を処理する対象であるテキストブロック集合｛Ｔｅ｝に移動する。
【００４５】
図７に例を示すと、７０１の範囲、７０２の範囲の復号画像がそれぞれ画像バッファＢ０（２０９），Ｂ１（２１０）に展開されている場合、テキストブロック７０３，７０４，７０５のうち、７０３と７０５がテキストブロック集合｛Ｔｅ｝に移動する。
【００４６】
ステップＳ４０４では、テキストブロック集合｛Ｔｅ｝に属する各テキストブロックに対して色抽出処理を開始する。
【００４７】
なお本処理は、処理を行なっているブロック内のセグメント矩形について、その時点で画像バッファ２０９、２１０に展開されている範囲から、情報取得が可能なセグメント矩形について順次色情報を抽出していく。そしてブロック内すべてのセグメント矩形の情報が得られた時点で判定をおこない、処理を行なっているブロックをテキストブロック集合｛Ｔｄ｝に移すか、非テキストブロックとしてテキストブロック集合｛Ｎｔ｝に移すかを決定する。
【００４８】
さらに、まだ画像バッファＢ０（２０９），Ｂ１（２１０）に展開されていない下方の画像を展開しないと情報が取得できないセグメント矩形が残る場合は、処理ブロックを｛Ｔｅ｝に残したままで次のブロックに対する処理をおこなう。なお、ステップＳ４０４でおこなわれる処理の詳細は後述する。
【００４９】
ステップＳ４０５にて、ステップＳ４０２での展開先が画像バッファ部Ｂ１（２１０）の場合は画像バッファ部Ｂ０（２０９）の画像を、１／２したものを下地画像バッファ部２１１にｎ／２ライン分追加する形で書き出す。バッファＢ０の場合はバッファＢ１の画像を１／２したものを下地画像バッファにｎ／２ライン分追加する形で書き出す。
【００５０】
ステップＳ４０６にて、展開していないＪＰＥＧ圧縮画像データがまだ存在する場合は、ステップＳ４０２に戻って同様の処理を繰り返す。ＪＰＥＧ圧縮画像データが存在しない場合は、ステップＳ４０７へ進む。
【００５１】
ステップＳ４０７にて、最後の展開先が画像バッファＢ０なら画像バッファ部Ｂ０の画像データを、１／２に縮小して下地画像バッファ部２１１に書き出して終了する。最後の展開先が画像バッファＢ１なら画像バッファ部Ｂ１の画像を１／２に縮小して下地画像バッファ部２１１に書き出して終了する。
【００５２】
ステップＳ４０１〜ステップＳ４０７の処理が終了すると、下地画像バッファ部２１１には、画像データＷに対し半分の解像度の画像データが展開されている。また部分領域を抽出する処理によって得られたテキストブロックから非文字部分を除いた情報（文字領域情報）が得られている。これらを用いてＳ３１０以降の処理をおこなうことで、出力となる圧縮画像データが得られることになる。
【００５３】
以下、図５のフローチャートを用いて、ステップＳ４０４でおこなわれる処理の詳細なステップを説明する。
【００５４】
ステップＳ４０４では、テキストブロック集合｛Ｔｅ｝の要素Ｔｍに対する色抽出処理をおこなうものである。このときの画像バッファにはＹ［ｐ］〜Ｙ［ｐ＋２ｎ−１］の範囲のラスターデータが展開されている。Ｙ［］へのアクセスに際しては、画像バッファＢ０が先に展開されている状態では
Ｙ［ｐ］〜Ｙ［ｐ＋２ｎ−１］  →  Ｂ０［０］〜Ｂ０［ｎ−１］，Ｂ１［０］〜Ｂ１［ｎ−１］
画像バッファＢ１が先に展開されている状態では
Ｙ［ｐ］〜Ｙ［ｐ＋２ｎ−１］  →  Ｂ１［０］〜Ｂ１［ｎ−１］，Ｂ０［０］〜Ｂ０［ｎ−１］
の変換がおこなわれるものとする。
【００５５】
ステップＳ５０１にて、テキストブロックＴｍが持つセグメント矩形集合｛Ｕ｝に対し、属性未判定のセグメント矩形を集めて集合｛Ｕｑ｝＝Ｕｑ１，Ｕｑ２，．．．，Ｕｑｊを作成する。ここで本処理がＴｍに対する初回の色抽出処理の場合は｛Ｕｑ｝＝｛Ｕ｝となる。２回目以降の処理の場合は、前回処理で未判定のままのセグメント矩形からなる｛Ｕｑ｝が引き続き使われるものとする。
【００５６】
ステップＳ５０２にて、未処理であるセグメント矩形のカウンタをｉ＝１とする。
【００５７】
ステップＳ５０３にて、ｉ番目のセグメント矩形Ｕｑｉの外接座標が（ｘ０，ｙ０）−（ｘ１，ｙ１）のとき、その下端ｙ１が、ラスタ展開されている画像範囲ｐ＋２ｎ−１を超える場合はステップＳ５０４に進む。それ以外はステップＳ５０５に進む。
【００５８】
ステップＳ５０４では、セグメント矩形Ｕｑｉの上端ｙ０がｐ＋ｎ−１を超える場合はＵｑｉを｛Ｕｑ｝に残したままステップＳ５１０に進む。それ以外はステップＳ５０５に進む。それ以外はステップＳ５０７に進む。
【００５９】
ステップＳ５０５にて、まず、セグメント矩形Ｕｑｉの内部の文字領域画素、すなわちｘ０≦ｘ≦ｘ１，ｙ０≦ｙ≦ｙ１の範囲でかつ二値画像の画素Ｉ（ｘ，ｙ）＝１となる座標集合をＣとする。そして画素値の集合Ｐ（ｘ，ｙ），（ｘ，ｙ）∈Ｃの平均値Ｐａｖおよび分散Ｐｄを算出する。
【００６０】
ステップＳ５０６にて、分散Ｐｄを閾値Ｔｄと比較し、Ｐｄ＞Ｔｄの場合はステップＳ５０７に進み、Ｐｄ≦Ｔｄの場合ステップＳ５０９に進む。なお、閾値Ｔｄは、事前に設定しておくことが好ましい。
【００６１】
ステップＳ５０７にて、セグメント矩形Ｕｑｉを非文字属性セグメントと判定して｛Ｕｑ｝から除去する。
【００６２】
続いてステップＳ５０８にて、二値画像Ｉ上で矩形内（ｘ０≦ｘ≦ｘ１，ｙ０≦ｙ≦ｙ１の範囲）の画素を０にする。
【００６３】
一方ステップＳ５０９では、セグメント矩形Ｕｑｉを文字属性セグメントと判定して｛Ｕｑ｝から｛Ｕｔ｝へ移動する。
【００６４】
ステップＳ５１０にて、ｉ＜＝ｊならステップＳ５１１に進み、ｉ＋＋してステップＳ５０３に戻る。ｉ＞ｊならステップＳ５１２に進む。
【００６５】
ステップＳ５１２にて、｛Ｕｑ｝に残っているセグメント矩形、すなわち展開された画像範囲の下端ｐ＋２ｎ−１よりも下にはみ出しているセグメント矩形の数をカウントする。カウント数が０ならばこのブロックに対する色抽出処理を確定するためにステップＳ５１３に進む。０より大ならば、このテキストブロックＴｍに対する色抽出処理は未完了とし、Ｔｍは｛Ｔｅ｝に残したまま終了する。
【００６６】
ステップＳ５１３にて、Ｔｍ中のセグメント矩形集合｛Ｕ｝の総数Ｎａに対し、その中で非文字属性セグメントと判定された矩形数Ｎｐの割合を閾値Ｔｎと比較する。なおＮｐはＮａ−文字属性セグメント矩形集合｛Ｕｔ｝の数に等しい。割合がＴｎ以下の場合はステップＳ５１４に進む。割合がＴｎより大な場合はステップＳ５１８に進む。
【００６７】
ステップＳ５１４にて、文字属性セグメント矩形集合｛Ｕｔ｝の矩形夫々が保持している平均色をグループ化する。具体的にはＲＧＢ空間やＹＣｂＣｒ空間に各矩形に色をプロットし、距離の近接するものをグループ化する。
【００６８】
ステップＳ５１５にて、ステップＳ５１４で求められたグループ数に閾値Ｃを設定し、そのグループ数が閾値Ｃ超えていないならばステップＳ５１６に進む。超えている場合はステップＳ５１８に進む。この判定は、色再現性を確保するために、色数の多すぎるブロックをテキストとして扱わないようにする処理である。具体的な閾値は、グループ数は原稿種、テキスト内容によって各々異なるが、５〜８色程度とすることが好ましい。なお、グループ数だけではなく、グループ作成時に分散を求めてその大きさで判定してもよい。
【００６９】
ステップＳ５１６にて、テキストブロックＴｍをテキストブロックと確定し、｛Ｔｅ｝から取り除いて、確定済みテキストブロック集合｛Ｔｄ｝に加える。
【００７０】
ステップＳ５１７にて、テキストブロックＴｍ中の文字属性セグメント矩形｛Ｕｔ｝の要素をステップＳ５１４のグループに分配する。さらに各グループの要素でセグメント矩形色を平均化して代表色を求め、グループ内のセグメント矩形色を代表色に置きかえる。
【００７１】
ステップＳ５１８にて、ブロックＴｍはテキストブロックとみなさないのが適当と判断し、色抽出処理の対象であるテキストブロック集合｛Ｔｅ｝から取り除いて、非テキストブロック集合｛Ｎｔ｝に加える。
【００７２】
以上、ステップＳ５０１〜ステップＳ５１８により、処理対象のブロックＴｍは確定済みのテキストブロック集合｛Ｔｄ｝と非テキストブロック集合｛Ｎｔ｝のどちらかに加えられる。あるいは、属性の確定しないセグメント矩形が残るため未判定のまま｛Ｔｅ｝に残る。
【００７３】
図８に例を示すと、テキストブロック８０５は、最初８０１と８０２がバッファＢ０およびＢ１に展開された状態で｛Ｔｅ｝にエントリーされる。色抽出処理によってテキストブロック８０５内のセグメント矩形のうち８０６と８０７の属性が確定するが、８０８の属性は確定しないため｛Ｔｅ｝に残る。次に８０２と８０３がバッファに展開された状態での色抽出処理でセグメント矩形８０８の属性が確定するので、テキスト／非テキストが判定され、｛Ｔｄ｝または｛Ｎｔ｝に移動する。
【００７４】
以上、本実施形態の画像処理装置は、ＪＰＥＧ圧縮画像データを、限定された２つのバッファへ交互にデコードしながら各テキストブロック内部のセグメント矩形の色情報を取得し、バッファの画像データは縮小し下地部分として活用する。
【００７５】
本実施の形態によれば、部分画像を保持できる程度の少ないメモリを用いて、画像全体の文字領域の属性を判定することができる。また判定された文字領域を用いて、高画質で圧縮効率のよい圧縮データを生成することができる。
【００７６】
＜実施形態２＞
本実施形態では、スキャナから読み込まれた画像に対して、図３のステップＳ３０１からステップＳ３０５までの処理と、ブロック単位で展開（伸張）する処理（Ｓ４０１、Ｓ４０２）を外部装置で行なう。外部装置と符号化装置の処理能力に応じて処理を分散させることで処理効率がよくなる。
【００７７】
図９に本実施形態における装置構成のブロック図を示す。
【００７８】
９０１は符号化装置、９０２は外部装置である。９０１ａ、９０２ａは装置の制御をおこなうＣＰＵである。９０１ｄはＣＰＵ９０１ａのプログラムやデータを保持するＲＡＭであり、９０２ｄはＣＰＵ９０２ａのプログラムやデータを保持するＲＡＭである。９０２ｆはブロック単位で取り出されたＪＰＥＧ圧縮データを展開（伸張）するデコーダである。９０２ｇは装置とオペレータ間で情報を入出力するディスプレイ・キーボードなどのＵＩ装置である。
【００７９】
９０２ｉはプログラムデータやデータを記憶するハードディスク装置である。９０２ｈは紙原稿の内容を電気信号（画像データ）に変換するスキャナ装置である。９０１ｂ、９０２ｂは外部機器と接続するネットワークインタフェースである。９０１ｅ、９０２ｅはそれぞれの装置を接続するバスであり、９０３は符号化装置９０１と外部装置９０２を繋ぐ通信線である。なお、スキャナ装置９０２ｈは、外部装置９０２の外部にあってもよい。
【００８０】
次に本実施形態の符号化装置並びに外部装置において、上記スキャンされた画像の圧縮データを生成する処理を図３を用いて説明する。
【００８１】
ステップＳ３０１にて、外部装置９０２は紙原稿をスキャナで電子化し、ＪＰＥＧ圧縮された画像データＷをハードディスク装置９０２ｉに保存する。
【００８２】
ステップＳ３０２、Ｓ３０３にて、外部装置９０２は画像データＷから画像一面範囲の輝度ヒストグラムを作成する。そして外部装置９０２は作成した輝度ヒストグラムから二値画像Ｚを作成する。
【００８３】
ステップＳ３０４、Ｓ３０５にて、外部装置９０２は二値画像Ｚに領域分割を施し、テキストブロックの集合を得る。そして各テキストブロックからセグメント矩形を抽出する。
【００８４】
そして外部装置９０２は、二値画像Ｚと、テキストブロックの集合を表す情報と、セグメント矩形を表す情報を、符号化装置９０１内のＲＡＭ９０１ｄに送信する。また、外部装置９０２内のデコーダ９０２ｆは、カラー画像の上端からｎライン（ｎ＝６４）分の画像データを、符号化装置９０１内のＲＡＭ９０１ｄに送信する。以後、ｎライン分の画像データを、全体の処理が終わるまでＲＡＭ９０１ｄに送信する。
【００８５】
符号化装置９０１は、外部装置９０２から送信されたｎライン分の画像データを入力し、ステップＳ３０６からステップＳ３１２までの処理を行なう。処理方法は実施形態１と同様であるので省略する。
【００８６】
以上が符号化装置と外部装置において圧縮データを生成する処理手順である。
【００８７】
本実施形態では、スキャナ等で得られた画像データに対して、図３のステップＳ３０１からステップＳ３０５までの処理と、ブロック単位で展開（伸張）する処理（Ｓ４０１、Ｓ４０２）を外部装置で行なったが、本発明はこれに限らない。例えば、ブロック単位で展開（伸張）する処理のみを外部装置が行なってもよい。
【００８８】
なお、本発明は、２つ以上の複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用してもよい。
【００８９】
＜他の実施形態＞
本発明は上記実施形態を実現する為の装置及び方法のみに限定されるものではない。上記システム又は装置内のコンピュータ（ＣＰＵあるいはＭＰＵ）に、上記実施形態を実現する為のソフトウェアのプログラムコードを供給し、このプログラムコードに従って上記システムあるいは装置のコンピュータが上記各種デバイスを動作させる。これにより上記実施形態を実現する場合も本発明の範疇に含まれる。
【００９０】
またこの場合、ソフトウェアのプログラムコード自体が上記実施形態の機能を実現することになる。つまり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給する為の手段、具体的には上記プログラムコードを格納した記憶媒体は本発明の範疇に含まれる。
【００９１】
この様なプログラムコードを格納する記憶媒体としては、例えばフロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００９２】
また、上記コンピュータが、供給されたプログラムコードのみに従って各種デバイスを制御することにより、上記実施形態の機能が実現される。またこの場合だけではなく、上記プログラムコードがコンピュータ上で稼働しているＯＳ（オペレーティングシステム）、あるいは他のアプリケーションソフト等と共同して上記実施形態が実現される場合にもかかるプログラムコードは本発明の範疇に含まれる。
【００９３】
更に、この供給されたプログラムコードの指示に基づいてコンピュータの機能拡張ボードやコンピュータに接続された機能格納ユニットに備わるＣＰＵ等が処理の一部又は全部を行い、その処理によって上記実施形態が実現される場合も本発明の範疇に含まれる。
【図面の簡単な説明】
【００９４】
【図１】実施形態１における画像処理装置の基本構成を示す図である。
【図２】実施形態１における画像処理装置の動作要素のブロック図である。
【図３】実施形態１におけるスキャン画像より圧縮データを生成する処理のフローチャートである。
【図４】図３のステップＳ３０６〜Ｓ３０９の詳細を示したフローチャートである。
【図５】図４のステップＳ４０４の詳細を示したフローチャートである。
【図６】ラスタ画像バッファＢ０、Ｂ１である。
【図７】ラスタ画像バッファＢ０、Ｂ１がカラー画像に展開していることを示す図である。
【図８】ラスタ画像バッファＢ０、Ｂ１がカラー画像に展開していることを示す図である。
【図９】実施形態２における画像処理装置の動作要素のブロック図である。
【符号の説明】
【００９５】
２０１  画像入力部
２０２  ＪＰＥＧエンコーダ部
２０３  カラー画像記憶部
２０４  ＪＰＥＧデコーダ部
２０５  ヒストグラムバッファ部
２０６  二値画像バッファ部
２０７  ブロック情報バッファ部
２０８  セグメント矩形情報バッファ部
２０９  カラー画像展開バッファ部Ｂ０
２１０  カラー画像展開バッファ部Ｂ１
２１１  下地画像バッファ部
２１２  ＭＭＲエンコーダ部
２１３  データ合成部
２１４  データ出力
【図１】
2007174522.tif 000003
【図２】
2007174522.tif 000004
【図３】
2007174522.tif 000005
【図４】
2007174522.tif 000006
【図５】
2007174522.tif 000007
【図６】
2007174522.tif 000008
【図７】
2007174522.tif 000009
【図８】
2007174522.tif 000010
【図９】
2007174522.tif 000011