(57)【要約】【課題】      一般的な文書データによってグラデーション領域と細線とを判別する。【解決手段】  画像処理装置１０は、制御部１において記憶部２に記憶された各種プログラムを実行する。制御プログラムＰＲＧ１が実行されることにより、画像処理装置１０はグラフィクスオブジェクトの描画命令を「グラデーション領域」と「細線」と「その他グラフィクス」のいずれかであると判定する。【選択図】    図１
2006053786.tif 000002
【特許請求の範囲】
【請求項１】
文書を表す文書データ、または該文書データによって表される文書を記録材に出力するための出力データを解析して該文書の内容を複数種類のオブジェクトに分類し、分類した複数種類のオブジェクトをそれぞれ描画するための複数の描画命令を含む画像情報を生成する解析処理部と、
前記画像情報に含まれる複数の描画命令を複数のレイヤのいずれかに割り当てることによって、レイヤ別の画像を表すレイヤ別画像データを生成するレイヤ画像処理部と
を備え、
前記解析処理部は、前記複数の描画命令の中から、細線を描画するための細線描画命令とグラデーション領域を描画するためのグラデーション描画命令とを判定する判定手段を備え、
前記レイヤ別画像処理部は、前記判定手段によって判定された前記細線描画命令と前記グラデーション描画命令とをそれぞれ異なるレイヤに割り当てることによって、前記レイヤ別画像データを生成する画像処理装置。
【請求項２】
前記判定手段は、
まず第１に、前記複数の描画命令のうちある描画命令が前記グラデーション描画命令であるか否かを判定し、第２に、該判定によって前記グラデーション描画命令ではないと判定された描画命令に対して、前記細線描画命令であるか否かを判定する
請求項１記載の画像処理装置。
【請求項３】
前記判定手段は、
連続する複数の描画命令によって、それぞれ異なる色値のグラフィクスオブジェクトが記録材上の隣接する位置に連続して描画され、かつ、互いに隣接するグラフィクスオブジェクトの色値の差が閾値を超えない場合には、前記連続する複数の描画命令をグラデーション描画命令であると判定する
請求項１または２記載の画像処理装置。
【請求項４】
前記判定手段は、
複数の描画命令によって、同一の色値でかつ決められた個数以下の複数のグラフィクスオブジェクトによって構成される複数の図形領域が記録材上の隣接する位置に連続して描画され、さらに、互いに隣接する前記図形領域の色値の差が決められた色値以下の場合には、前記複数の描画命令をグラデーション描画命令と判定する
請求項１または２記載の画像処理装置。
【請求項５】
前記決められた個数または前記決められた色値をユーザが指定するための指定手段を備える
請求項４記載の画像処理装置。
【請求項６】
前記判定手段は、幅または高さが決められた値以下の矩形のグラフィクスオブジェクトを描画するための描画命令を前記細線描画命令と判定する
請求項１または２記載の画像処理装置。
【請求項７】
前記決められた値をユーザが指定するための指定手段を備える
請求項６記載の画像処理装置。
【請求項８】
前記判定手段は、決められたストローク幅以下のグラフィクスオブジェクトを描画するための描画命令を前記細線描画命令と判定する
請求項１または２記載の画像処理装置。
【請求項９】
前記決められたストローク幅をユーザが指定するための指定手段を備える
請求項８記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書を構成する文字、図形および画像等の描画オブジェクトのそれぞれに対して、適切な画像処理を施すための技術に関する。
【背景技術】
【０００２】
インターネットやＬＡＮ（Local Area Network）等のコンピュータネットワークが急速に普及しつつある。ユーザはコンピュータを用いて作成した文書データを電子メールに添付し、これをネットワーク経由で他のコンピュータに送信させる、といった利用の仕方が可能である。また、ユーザは文書データをネットワークに接続されたサーバコンピュータに保存させておき、このサーバコンピュータから必要に応じて他のコンピュータに文書データを送信させる、といったことも容易に実現することができる。
【０００３】
この種の文書データは、送信元のコンピュータにインストールされた文書作成ソフトウェア固有のコードによって表現されている。したがって、送信先のコンピュータは、その文書作成ソフトウェアと同一種類のソフトウェアを用意しておかないと、受け取った文書を表示したり編集したりすることができない。また、文書作成ソフトウェアの種類だけではなく、コンピュータのオペレーティングシステム（ＯＳ）の種類やバージョンなども統一しておかないと、作成者の意図した通りに文書が表示されない等の不具合が生じるおそれもある。よって、文書作成ソフトウェアだけではなく、その他のコンピュータ環境も全て統一して揃えておくことが望ましい。さらに、近年では、ＰＤＡ（Personal Digital Assistants）や携帯電話機等の携帯型情報端末が普及し、これらの端末でも文書を表示することができるように求められている。このようにソフトウェアやハードウェアが多種多様化している状況に鑑みると、あらゆるコンピュータや携帯型情報端末が、受け取った文書を表示・編集できるようなコンピュータ環境を常に装備しているとは限らないと考えられる。
【０００４】
このような問題に対しては、作成された文書データを一般的に利用されている汎用の画像データ（例えばビットマップ形式）に変換してから他のコンピュータに送信する、という対策が考えられる。汎用の画像データによって文書が画像として表現されていれば、送信先のコンピュータが製品出荷時点で実装している一般的な画像処理ソフトウェアなどによって表示・編集することが可能だからである。ただし、ビットマップ形式等の画像データはそのデータサイズが非常に大きいのが普通であるから、例えばＪＰＥＧ（Joint Photographic Experts Group）等の標準的な圧縮方式で圧縮しておかないと、コンピュータ間で送受信するには不便である。例えばＪＰＥＧ方式で画像データを圧縮した場合、その画像データの高周波成分を切り捨てるので、写真などの自然画像に対しては圧縮率や画質の点で良い結果が得られる。ただし、文書を構成する要素（オブジェクト）は自然画像ばかりではなく、文字（テキスト）やグラフィクスのようなものもある。これらのオブジェクトを一律にＪＰＥＧ方式などの非可逆圧縮方式で圧縮すると、例えば文字領域の境界（エッジ部分）にモスキートノイズと呼ばれる画質劣化が発生し、文字が判読しづらくなる、といった問題が生じる。
【０００５】
そこで、特許文献１では、文書中の文字領域とそれ以外の領域を分離し、これらの領域をそれぞれ異なる方式で圧縮するという技術（以下、「従来技術」という）が提案されている。従来技術においては、まず、多値画像で表された文書から二値画像を生成し、二値画像を用いて文字領域を抽出する。そして、多値画像の文字領域をその文字周辺色で塗りつぶし、下地領域を表す下地多値画像を得る。このように多値画像から文字領域と下地領域とを分離し、文字領域はＭＭＲ（Modified Modified Read）方式等の可逆圧縮方式で圧縮し、下地領域はＪＰＥＧ方式で圧縮することにより、文字領域をＪＰＥＧ方式で圧縮することにより発生するモスキートノイズを抑え、高画質かつ高圧縮率の画像データを得ている。
【０００６】
しかし、この従来技術にはいくつかの問題点が見出される。
第一に、従来技術においては、上述したように二値画像に基づいて文字領域を特定している。そのため、下地多値画像を求めるためには、文字領域を示す二値画像と文字周辺色を示す多値画像の両方を参照する必要があり、その処理に時間を要するという問題がある。
第二に、従来技術はスキャナ等により読み取られた画像データを多層化して圧縮するのには適した技術であるものの、コンピュータの文書作成ソフトウェアにより作成された文書データや、この文書をページ記述言語等により記述した出力データ（ここでは、文書データと出力データを総称して「文書データ」という）を多層化するには不適である。なぜなら、従来技術においては、文書データを多層化するためには、これらをいったん展開してラスタ化された多値画像と二値画像を生成しなければならず、処理に無駄が多いからである。また、ラスタ化された画像データは文書データよりもはるかにデータ容量が大きいため、メモリ等の物理リソースを多く必要とするという問題もある。
【０００７】
そこで、上述の従来技術とは異なるアプローチとして、文書データからオブジェクトに関する情報を抽出し、多層化（レイヤ化）した画像データの各レイヤにオブジェクトを割り当てていく技術がある。例えば、文書データ上に文字等の「テキスト」、自然画像の「イメージ」、図形や線画等の「グラフィクス」の３種類のオブジェクトがあり、画像データが背景となるＢＧ（Background）レイヤとＢＧレイヤよりも前面に描画されるＦＧ（Foreground）レイヤとにより構成される場合に、「テキスト」オブジェクトと「グラフィクス」オブジェクトをＦＧレイヤに割り当て、「イメージ」オブジェクトをＢＧレイヤに割り当てる、という処理を行う。そして、この画像データに対して、例えばＦＧレイヤはＭＭＲ方式で圧縮し、ＢＧレイヤはＪＰＥＧ方式で圧縮することにより、高画質かつ高圧縮率の画像データを得ることができる。このような技術を用いた例としては、例えばＩＴＵ（International Telecommunication Union）により標準化がなされているＭＲＣ（Mixed Raster Content）等がある。
【０００８】
ところで、一般に「グラフィクス」に分類されるオブジェクトには、一定の色値の細い線で描画された「細線」や、一定の色値で塗りつぶされた「ベタ領域」や、色値が連続的に変化していく「グラデーション領域」等の異なる描画属性が含まれている。上述の例では、「グラフィクス」オブジェクトをＦＧレイヤに割り当ててＭＭＲ方式で圧縮するとした。これは、ＭＭＲ方式等の可逆圧縮方式で「細線」や「ベタ領域」に対して圧縮を行うと、ノイズが少なく圧縮率の高い画像データが得られるからである。しかし、「グラデーション領域」は色数が多く色変化も段階的であるため、このような領域にはむしろＪＰＥＧ方式等の非可逆圧縮方式のほうが有効となる。しかも「グラデーション領域」に可逆圧縮方式の圧縮を行うと、用いる方式によっては色数が制限されたり、圧縮率が低下したりするおそれもある。
【０００９】
文書作成ソフトウェアやページ記述言語においては、グラデーション専用の描画命令が存在しないのが一般的であり、グラデーション領域は、ある一定の図形を連続的に描画し、それぞれの図形の色値を段階的に変化させることで擬似的に表現されている。
図１３は、このように描画されたグラデーション領域を例示した図である。同図において、グラデーション領域Ａは複数の矩形領域ａ１，ａ２，ａ３，…，ａ１０の集合として表されている。なお、それぞれの矩形領域には、ＲＧＢ色空間により示される色値がＲ，Ｇ，Ｂ各色８ビットの値により定められており、例えば（０，０，０）で黒、（２５５，２５５，２５５）で白を表すものである。
また、図１４は、細線で描画された表を例示した図である。同図に示されているように、細線もまた、微視的に見ると複数の矩形領域ｂ１，ｂ２，ｂ３，…，ｂ？の集合として表されている。つまり、一般的な文書データを用いた場合には、単一の描画命令を参照しただけでは、その描画属性が細線とグラデーション領域のいずれであるのかを判別することができず、それぞれに対して適切な圧縮処理を施すことが困難となっていた。
【００１０】
【特許文献１】特開２００３−２４４４４７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は上述の問題に鑑みてなされたものであり、その目的は、一般的な文書データによってグラデーション領域と細線とを判別することを可能にする技術を提供することにある。
【課題を解決するための手段】
【００１２】
上述の目的を達成するために、本発明は、文書を表す文書データ、または該文書データによって表される文書を記録材に出力するための出力データを解析して該文書の内容を複数種類のオブジェクトに分類し、分類した複数種類のオブジェクトをそれぞれ描画するための複数の描画命令を含む画像情報を生成する解析処理部と、前記画像情報に含まれる複数の描画命令を複数のレイヤのいずれかに割り当てることによって、レイヤ別の画像を表すレイヤ別画像データを生成するレイヤ画像処理部とを備え、前記解析処理部は、前記複数の描画命令の中から、細線を描画するための細線描画命令とグラデーション領域を描画するためのグラデーション描画命令とを判定する判定手段を備え、前記レイヤ別画像処理部は、前記判定手段によって判定された前記細線描画命令と前記グラデーション描画命令とをそれぞれ異なるレイヤに割り当てることによって、前記レイヤ別画像データを生成する画像処理装置を提供する。
このような画像処理装置によれば、細線を描画するための細線描画命令とグラデーション領域を描画するためのグラデーション描画命令とを判別し、それぞれ異なるレイヤに割り当てることができる。
【００１３】
また、本発明の画像処理装置は、より好適な態様として、前記判定手段は、まず第１に、前記複数の描画命令のうちある描画命令が前記グラデーション描画命令であるか否かを判定し、第２に、該判定によって前記グラデーション描画命令ではないと判定された描画命令に対して、前記細線描画命令であるか否かを判定する。
これにより、グラデーション描画命令をより確実に判定することが可能となる。
【００１４】
また、本発明の画像処理装置は、より好適な態様として、前記判定手段は、連続する複数の描画命令によって、それぞれ異なる色値のグラフィクスオブジェクトが記録材上の隣接する位置に連続して描画され、かつ、互いに隣接するグラフィクスオブジェクトの色値の差が閾値を超えない場合には、前記連続する複数の描画命令をグラデーション描画命令であると判定する。
あるいは、前記判定手段は、複数の描画命令によって、同一の色値でかつ決められた個数以下の複数のグラフィクスオブジェクトによって構成される複数の図形領域が記録材上の隣接する位置に連続して描画され、さらに、互いに隣接する前記図形領域の色値の差が決められた色値以下の場合には、前記複数の描画命令をグラデーション描画命令と判定する。
さらに、画像処理装置は、前記決められた個数または前記決められた色値をユーザが指定するための指定手段を備えることも可能である。
【００１５】
また、本発明の画像処理装置は、より好適な態様として、前記判定手段は、幅または高さが決められた値以下の矩形のグラフィクスオブジェクトを描画するための描画命令を前記細線描画命令と判定する。
このとき、画像処理装置は、前記決められた値をユーザが指定するための指定手段を備えてもよい。
【００１６】
あるいは、前記判定手段は、決められたストローク幅以下のグラフィクスオブジェクトを描画するための描画命令を前記細線描画命令と判定してもよい。
このとき、画像処理装置は、前記決められたストローク幅をユーザが指定するための指定手段を備えてもよい。
【発明を実施するための最良の形態】
【００１７】
（１）第１実施形態
図１は、本実施形態に係る画像処理装置１０のハードウェア構成を示したブロック図である。画像処理装置１０は、例えばパーソナルコンピュータであり、制御部１と、記憶部２と、入出力Ｉ／Ｆ３と、表示部４と、操作部５とを備えている。制御部１は、ＣＰＵ（Central Processing Unit）等の演算装置と、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）等の各種メモリとを備えている。記憶部２は、例えばハードディスク等の大容量の不揮発性記憶装置であり、制御部１が後述する機能を実現するための手順が記述された制御プログラムＰＲＧ１を記憶している。また、記憶部２には、文書作成プログラムＰＲＧ２や、プリンタドライバＰＲＧ３が記憶されている。文書作成プログラムＰＲＧ２には、操作者による操作内容に従って文書データを作成する手順が記述されている。プリンタドライバＰＲＧ３には、プリンタ等の画像形成装置が上記文書データによって表される文書を用紙等の記録材に印刷（出力）するための出力データを生成する手順が記述されている。入出力Ｉ／Ｆ３は、コンピュータやプリンタ等の外部機器と接続されており、外部機器とデータの授受を行う。表示部４は、例えば液晶ディスプレイであり、制御部１によって供給されるデータに基づいて画像を表示する。操作部５は、例えばキーボードやマウス等であり、操作者の操作内容に応じた信号を制御部１に供給する。
【００１８】
この画像処理装置１０の機能構成を示すと、図２のブロック図のようになる。制御部１は、制御プログラムＰＲＧ１を実行することにより、解析処理部１３と、レイヤ画像処理部１５という機能を実現する。なお、図２中の矢印は、画像処理装置１０が実行する処理によって発生するデータや各種の制御情報の流れを表している。図２に示すように、解析処理部１３には、文書データ１１または出力データ１２が入力される。文書データ１１は、制御部１が前述した文書作成ソフトウェアＰＲＧ２にしたがって作成したデータである。出力データ１２は、制御部１が前述したプリンタドライバＰＲＧ３にしたがって作成したデータであり、例えばＰＤＬ（ページ記述言語）で記述されたデータである。なお、以下においては、文書データ１１と出力データ１２を総称して「入力データ」という。
【００１９】
解析処理部１３は、より詳細には図３で表される。解析処理部１３において、入力データ解析部１３０は、入力データを解析してこれを「テキスト」、「グラフィクス」または「イメージ」の３種類のオブジェクトに分類し、それぞれのオブジェクトに分類された描画命令をテキスト処理部１３１，グラデーション検出部１３２またはイメージ処理部１３５に供給する。テキスト処理部１３１およびイメージ処理部１３５においては、「テキスト」または「イメージ」オブジェクトに対してそれぞれ「テキスト」および「イメージ」を示すタグ情報を付与する。グラデーション検出部１３２は、細線検出部１３３と共に「グラフィクス」オブジェクトに対して後述するグラデーション／細線検出処理を行い、その結果得られるデータをグラフィクス処理部１３４に供給する。グラフィクス処理部１３４はグラデーション／細線検出処理における処理結果に応じて、「グラフィクス」オブジェクトに対してタグ情報を付与する。
【００２０】
ここで、本実施形態における「グラフィクス」オブジェクトの描画属性について定義する。本実施形態においては、「グラフィクス」オブジェクトに属する描画属性として「グラデーション領域」、「細線」および「その他グラフィクス」の３種類を定義する。そして、グラフィクス処理部１３４は、これらの３種類の描画属性を有する「グラフィクス」オブジェクトに対してそれぞれ「グラデーション領域」、「細線」および「その他グラフィクス」を示すタグ情報を付与する。
【００２１】
中間コード生成部１３６は、テキスト処理部１３１，グラフィクス処理部１３４またはイメージ処理部１３５から供給される各オブジェクトに属するデータから、ラスタ展開等に適した中間コードをページ単位で生成する。ここで中間コードとは、プリンタドライバ１３内部において入力データを処理するためのデータの表現形式である。外接矩形生成部１３７は、中間コードから外接矩形情報を生成する。ここで外接矩形情報とは、中間コード中のタグ情報の種別毎に生成されるデータであり、タグ情報で示される描画オブジェクトが存在する領域の外接矩形を示す。例えば、文書データ上に図４に示されるようなテキストオブジェクトが存在する場合であれば、このオブジェクトを取り囲む点線の領域Ｒｅｃｔが外接矩形となる。すなわち、同一オブジェクトは同じ外接矩形内に存在する。レンダリング処理部１３８は、入力データに含まれるページ終了命令を参照し、中間コードから画像情報１４を生成する。画像情報１４は、エッジ情報、タグ情報、外接矩形情報を含んでいる。エッジ情報は、ラスタ画像を表現するものである。タグ情報は、「テキスト」、「イメージ」などの描画オブジェクトの種類を示すものである。
【００２２】
解析処理部１３が画像情報１４を生成したら、続いてレイヤ画像処理部１５が画像情報１４に基づいてレイヤ別画像データ１６を生成する。具体的には、レイヤ画像処理部１５は画像情報１４のタグ情報を参照し、画像情報１４を描画オブジェクトに基づいた複数のレイヤ画像に分離し、これを統合することでレイヤ別画像データ１６を生成する。本実施形態においては、レイヤ画像処理部１５は画像情報１４をＦＧレイヤとＢＧレイヤに分離し、例えばある描画オブジェクトはＦＧレイヤ、またある描画オブジェクトはＢＧレイヤ、というように、それぞれの描画オブジェクトをＦＧレイヤとＢＧレイヤのいずれかに割り当てる。そしてレイヤ画像処理部１５は、このようにレイヤ別に分離されたレイヤ画像が単一の画像データ、すなわちレイヤ別画像データ１６となるように統合する。
【００２３】
以上の構成により、画像処理装置１０は入力データからレイヤ別画像データ１６を生成する。本実施形態の画像処理装置１０は、グラフィクスオブジェクトに対してグラデーション／細線検出処理を行うことに特徴を有している。そこで以下では、このグラデーション／細線検出処理について説明する。
なお、このグラデーション／細線検出処理は、制御部１が制御プログラムＰＲＧ１を実行することによって実現されるものである。ゆえに、本来グラデーション／細線検出処理の動作の主体は制御部１であるが、ここでは説明の便宜上、例えば「グラデーション検出部１３２は、…を判断する」といったように、グラデーション検出部１３２または細線検出部１３３を動作の主体として説明を行う。
【００２４】
図５は、本実施形態におけるグラデーション／細線検出処理を示したフローチャートである。同図の流れに沿って説明すると、まず、グラデーション検出部１３２は、入力データ解析部１３０から入力された描画命令を参照し、これが矩形を描画させる矩形描画命令であるか否かを判断する（ステップＳ１０１）。この判断が否定的であれば、グラデーション検出部１３２はこの描画命令が「その他グラフィクス」の描画属性を有すると判定し（ステップＳ１０９）、本処理を終了させる。
一方、ステップＳ１０１の判断が肯定的であれば、グラデーション検出部１３２は処理対象である描画命令の直前の描画命令が矩形描画命令であったか否かを判断する（ステップＳ１０２）。この判断が否定的であれば、グラデーション検出部１３２はこの描画命令が「その他グラフィクス」の描画属性を有すると判定し（ステップＳ１０９）、本処理を終了させる。
一方、ステップＳ１０２の判断が肯定的であれば、グラデーション検出部１３２は処理対象である描画命令とその直前の描画命令とが示す色値を比較し、これらの色値が異なるか否かを判断する（ステップＳ１０３）。この判断が否定的であれば、グラデーション検出部１３２はこの描画命令が「その他グラフィクス」の描画属性を有すると判定し（ステップＳ１０９）、本処理を終了させる。
【００２５】
一方、ステップＳ１０２の判断が肯定的であれば、続いてグラデーション検出部１３２は、処理対象である描画命令とその直前の描画命令とが示す色値の色差ΔＥを算出し、この色差ΔＥが閾値ＴｈE以内であるか否かを判断する（ステップＳ１０４）。
ここで、色差ΔＥの算出方法について説明する。本実施形態においては、色値（Ｒ1，Ｇ1，Ｂ1）を有するオブジェクトと色値（Ｒ2，Ｇ2，Ｂ2）を有するオブジェクトの色差ΔＥを以下の数１のように定義する。つまり、色差ΔＥはＲＧＢ色空間における２点（Ｒ1，Ｇ1，Ｂ1）、（Ｒ2，Ｇ2，Ｂ2）の間の距離である。
【数１】
2006053786.tif 000003
なお、色差ΔＥの算出においては、上述の数１に限定されるものではなく、例えば色値をＬａｂ色空間等の均等色空間における色値に変換し、この色空間における色差式を用いて算出してもよい。
また、閾値ＴｈEについては任意であり、実験的ないしは経験的に求めればよい。
【００２６】
ステップＳ１０４の判断が否定的であれば、グラデーション検出部１３２はこの描画命令が「その他グラフィクス」の描画属性を有すると判定し（ステップＳ１０９）、本処理を終了させる。一方、ステップＳ１０４の判断が肯定的であれば、グラデーション検出部１３２は処理対象である描画命令により表されるオブジェクトとその直前の描画命令により表されるオブジェクトとが隣接しているか否かを判断する（ステップＳ１０５）。なお、本実施形態においては、処理対象である矩形描画命令により表されるオブジェクトの１辺の長さと比較対象である矩形描画命令により表されるオブジェクトの１辺の長さが一致する状態のことを「隣接」した状態と定義する。
ステップＳ１０５の判断が肯定的であれば、グラデーション検出部１３２はこの描画命令が「グラデーション領域」の描画属性を有すると判定し（ステップＳ１０６）、本処理を終了させる。また、この判断が否定的であれば、グラデーション検出部１３２はこの描画命令のデータを細線検出部１３３へと渡す。
【００２７】
ここで、細線検出部１３３は、この描画命令により表されるオブジェクトの高さが所定の閾値ＴｈH以下であるか否かを判断し、続いてこの描画命令により表されるオブジェクトの幅が所定の閾値ＴｈW以下であるか否かを判断する（ステップＳ１０７）。この判断がいずれも否定的であれば、細線検出部１３３はこの描画命令が「その他グラフィクス」の描画属性を有すると判定し（ステップＳ１０９）、本処理を終了させる。一方、ステップＳ１０７の判断の少なくとも一方が肯定的であれば、細線検出部１３３はこの描画命令が「細線」の描画属性を有すると判定し（ステップＳ１０８）、本処理を終了させる。
【００２８】
すなわち、この細線検出処理においては、処理対象の描画命令により表されるオブジェクトの幅ないし高さが所定の閾値よりも小さく、つまり細ければ、この描画命令により表されるオブジェクトが細線のオブジェクトであると判定している。
なお、本処理における閾値ＴｈHおよび閾値ＴｈWの値についても、実験的ないしは経験的に求めればよい。例えば、閾値ＴｈHおよび閾値ＴｈWの値は、複数の太さ（幅ないし高さ）の線画に対してそれぞれＪＰＥＧ圧縮を施し、モスキートノイズが目立つようになる太さの近傍の値に設定すればよい。閾値ＴｈHおよび閾値ＴｈWの値は、これらが大きいほど細線に分類される矩形描画命令が増加し、逆にこれらの値が小さいほど細線に分類される矩形描画命令が減少する。
【００２９】
上述のように描画命令の描画属性の判定を終了させると、グラデーション検出部１３２および細線検出部１３３は、上述の判定を行った描画命令をその描画属性と共にグラフィクス処理部１３４に供給する。グラフィクス処理部１３４は、供給された描画命令とその描画属性を参照し、描画属性に応じたタグ情報をそれぞれの描画命令に対して付与する。そして、テキスト処理部１３１，グラフィクス処理部１３４およびイメージ処理部１３５からの出力結果に基づき、中間コード生成部１３６は中間コードを生成する。レンダリング処理部１３８はこの中間コードから画像情報１４を生成する。
【００３０】
このように生成された画像情報１４は、タグ情報を参照することにより描画オブジェクトの描画属性がわかるようになっている。ゆえに、このタグ情報を参照することで同じ「グラフィクス」オブジェクトに属する「グラデーション領域」と「細線」のオブジェクトを区別することができ、レイヤ画像処理部１５においてそれぞれに適切なレイヤを割り当てることが可能となる。
【００３１】
なお、上述のグラデーション／細線検出処理においては、処理対象の描画命令に先立って処理が行われた描画命令が存在することを前提に説明が行われている。そこで、先立って処理が行われた描画命令が存在しない描画命令に対して描画属性を判定する場合には、その直後に処理が行われた描画命令と同一の描画属性であると判定するなどすればよい。
【００３２】
続いて、この処理の具体的な例として、図１３を用いて上述のグラデーション／細線検出処理を行った場合について説明する。ここでは、グラデーション領域Ａ１の矩形領域ａ４を処理対象として説明する。なお、ここにおいて、ステップＳ１０４の閾値ＴｈEは「３０」であるとする。
まず、矩形領域ａ４は矩形描画命令により表されるオブジェクトであるから、ステップＳ１０１の判断は肯定的となる。続いて、直前の矩形領域を参照すると、矩形領域ａ３は矩形描画命令により表されるオブジェクトであるから、ステップＳ１０２の判断も肯定的となる。さらに、矩形領域ａ３の色値（４０，４０，４０）と矩形領域ａ４の色値（５６，５６，５６）は同一でないから、ステップＳ１０３の判断も肯定的となる。次に、この２つの色値から色差ΔＥを求めると、この値は約「２７」であり、閾値ＴｈEの「３０」を下回るから、ステップＳ１０４の判断も肯定的となる。また、最後のステップＳ１０５の判断についても、矩形領域ａ３とａ４とは互いに隣接していることから、この判断も肯定的となる。ゆえに、矩形領域ａ４はグラデーション領域であると判定されることがわかる。
【００３３】
なお、図１３のその他の矩形領域についても、上述の矩形領域ａ４と同様の要領でグラデーション領域であると判定されるので、グラデーション領域Ａ１全体が適切に判定されることがわかる。
このように、本実施形態においては、処理対象の描画命令だけでなく、処理対象の描画命令の直前に処理された描画命令を参照することによってグラデーション領域と細線とを判別することが可能となった。
【００３４】
（２）第２実施形態
上述の第１実施形態の画像処理装置により、連続した矩形描画命令によって表されるグラデーション領域を細線と区別することが可能となった。しかし、グラデーション領域とは図１３のようなものに限定されず、例えば図６のように、領域のある１点から放射状に色値が変化していくようなものもある。図６のグラデーション領域Ｂは、領域の４辺に色値（８，８，８）の４つの矩形領域ｂ１，ｂ２，ｂ３，ｂ４があり、その内側に接するように色値（２４，２４，２４）の４つの矩形領域ｃ１，ｃ２，ｃ３，ｃ４があり、以後同様の要領で４つの同色の矩形領域が描画されているものである。このグラデーション領域Ｂは、ｂ１，ｂ２，ｂ３，ｂ４，ｃ１，ｃ２，ｃ３，…というような順、すなわち領域の最外周の矩形領域から中心の矩形領域へと順に描画されていく。
【００３５】
このようなグラデーション領域は、第１実施形態の画像処理装置によって判定することができなかった。例えば領域ｂ２は、直前に描画される領域ｂ１と同じ色値であるから、図５のステップＳ１０３の判断が否定的となり、グラデーション検出部１３２はこの描画命令が「その他グラフィクス」の描画属性を有すると判定してしまう。また、仮にこのステップＳ１０３を省略するとしても、領域ｂ２は、直前に描画される領域ｂ１と隣接していないことから、その後のステップＳ１０５の判断が否定的となり、結局「その他グラフィクス」の描画属性を有すると判定されてしまう。
そこで、本実施形態においては、このようなグラデーション領域も判定可能とする画像処理装置について説明する。
【００３６】
本実施形態に係る画像処理装置が上述の第１実施形態に係る画像処理装置１０と異なるのは、解析処理部の構成とグラデーション／細線検出処理の手順のみである。よって、以下ではこの相違点を中心に説明を行う。なお、本実施形態の画像処理装置において、第１実施形態の画像処理装置１０と同様の構成要素については同様の符号を付し、その説明については適宜省略する。
【００３７】
図７は、本実施形態に係る画像処理装置２０の解析処理部２３を示したブロック図である。この解析処理部２３は、入力データ解析部１３０とグラデーション検出部１３２に代えて入力データ解析部２３０とグラデーション検出部２３２を備えている点と、命令蓄積部２３９を備えている点とが第１実施形態と異なる。入力データ解析部２３０は、入力データ解析部１３０の機能に加え、グラデーション検出部２３２に対して情報を通知する機能を有する。この情報とは、処理対象の描画命令の種類が「テキスト」または「イメージ」オブジェクトであった場合に生成され、処理対象の描画命令が「グラフィクス」オブジェクト以外であることを通知する。命令蓄積部１３９は矩形描画命令を一時的に記憶する。グラデーション検出部２３２においては、グラデーション領域を検出する手順、すなわちグラデーション／細線検出処理が第１実施形態と異なる。
【００３８】
また、グラデーション検出部２３２は、グラデーション判定フラグＦｌｇと色値カウンタＣｎｔと色値カウンタの閾値ＴｈCの３つの値を記憶している。グラデーション判定フラグＦｌｇとは、命令蓄積部２３９に蓄積された矩形描画命令群（複数の矩形描画命令の集合）がグラデーション領域の一部であると判定されているか否かを示すフラグであり、例えば「０」なら「未判定」、「１」なら「判定済」を表す。色値カウンタＣｎｔとは、命令蓄積部２３９に蓄積された矩形描画命令群において、同一の色値を有する矩形描画命令を１つのグループ（以下、「矩形グループ」という）とみなした場合の、矩形グループの数を示す変数である。例えば、命令蓄積部２３９に図６の矩形領域ｂ３とｂ４が蓄積されていれば、これらの色値は同じ（８，８，８）であるから矩形グループの数は１つ、すなわち色値カウンタＣｎｔは「１」となる。一方、命令蓄積部２３９に図６の矩形領域ｂ４とｃ１が蓄積されていれば、これらの色値は互いに異なり、ゆえに矩形グループの数は２つであるから、色値カウンタＣｎｔは「２」となる。色値カウンタの閾値ＴｈCは、後述するグラデーション／細線検出処理において用いられる閾値である。閾値ＴｈCの値は任意であり、実験的ないし経験的に求めればよい。
なお、グラデーション判定フラグＦｌｇと色値カウンタＣｎｔは、画像処理装置２０の電源が投入されたときに初期化が行われる。具体的には、グラデーション判定フラグＦｌｇと色値カウンタＣｎｔの値として、共に「０」が書き込まれる。
【００３９】
図８は、本実施形態におけるグラデーション／細線検出処理を示したフローチャートである。この処理は、入力データ解析部２３０からグラデーション検出部２３２に描画命令が入力される度に実行される。
同図に沿って説明すると、まず、グラデーション検出部２３２は、入力データ解析部２３０から入力された描画命令を参照し、これが矩形を描画させる矩形描画命令であるか否かを判断する（ステップＳ２０１）。この判断が肯定的であれば、続いてグラデーション検出部２３２はこの矩形描画命令を命令蓄積部２３９に一時的に蓄積する（ステップＳ２０２）。なお、ステップＳ２０１の判断が否定的であった場合の処理については後述する。
【００４０】
次に、グラデーション検出部２３２は、ステップＳ２０２において命令蓄積部２３９に蓄積された描画命令と、この描画命令の直前に命令蓄積部２３９に蓄積された描画命令とが示す色値を比較し、これらが異なるか否かを判断する（ステップＳ２０３）。図６のグラデーション領域Ｂを例として用いれば、処理対象が矩形領域ｂ４であれば、この矩形領域の直前に蓄積されているのは矩形領域ｂ３であり、これらの色値は等しいから、ステップＳ２０３の判断は否定的である。一方、処理対象が矩形領域ｃ１であれば、この矩形領域の直前に蓄積されているのは矩形領域ｂ４であり、これらの色値は異なるから、ステップＳ２０３の判断は肯定的である。
ステップＳ２０３の判断が否定的であれば、グラデーション検出部２３２は本処理を終了させ、次の描画命令の入力を待つ。一方、この判断が肯定的であれば、グラデーション検出部２３２は色値カウンタＣｎｔをインクリメントし、記憶されている値から「１」だけ増加させる（ステップＳ２０４）。なお、比較対象となる描画命令が存在しない場合にも、グラデーション検出部２３２は本処理を終了させる。
【００４１】
色値カウンタＣｎｔをインクリメントしたら、グラデーション検出部２３２はこの色値カウンタＣｎｔが閾値ＴｈC以上であるか否かを判断する（ステップＳ２０５）。すなわちここでは、「色値の異なる領域が決められた数以上あるか否か」という判断を行っている。
この判断が否定的であれば、グラデーション検出部２３２は本処理を終了させ、次の描画命令の入力を待つ。一方、この判断が肯定的であれば、続いてグラデーション検出部２３２は、グラデーション判定フラグＦｌｇを参照することによって、命令蓄積部２３９に蓄積された矩形描画命令群がグラデーション領域の一部であると既に判定されているか否かを判断する（ステップＳ２０６）。そして、グラデーション検出部２３２は、この判断結果に応じて異なる方法でグラデーション領域の判定を行う。
【００４２】
まず、ステップＳ２０６の判断が肯定的、すなわちグラデーション判定フラグＦｌｇが「未判定」であれば、このとき命令蓄積部２３９に蓄積されている矩形描画命令群に対しては、グラデーション領域であるか否かの判定がまだ行われていないことを意味する。そこで、グラデーション検出部２３２は、この矩形描画命令群のすべてに対してグラデーション領域であるか否かの判定を行う（ステップＳ２０７）。具体的には、（１）この矩形描画命令群により表されるオブジェクトのそれぞれが少なくとも１つの矩形描画命令により表されるオブジェクトと隣接しているか否か（２）隣接するオブジェクトとの色値の差が所定の閾値（例えば第１実施形態の閾値ＴｈE）以内かを判断し、これらが共に肯定的であれば、グラデーション検出部２３２はこの矩形描画命令群を「グラデーション領域」の描画属性を有すると判定し（ステップＳ２０８；ＹＥＳ）、グラデーション判定フラグＦｌｇを「判定済」に書き換える（ステップＳ２０９）。
【００４３】
続いて、グラデーション検出部２３２は、この矩形描画命令群の中から最初に蓄積された矩形グループを、その描画属性（「グラデーション領域」である）と共にグラフィクス処理部１３４に供給する（ステップＳ２１０）。このとき同時に、グラデーション検出部２３２はグラフィクス処理部１３４に供給した矩形グループのデータを命令蓄積部２３９から削除する。ここで「矩形グループ」とは、矩形描画命令群により表されるオブジェクトの中で同一の色値を有するオブジェクトの集合であり、例えば図６であれば矩形領域ｂ１〜ｂ４や矩形領域ｃ１〜ｃ４に相当する。
そして最後に、グラデーション検出部２３２は色値カウンタＣｎｔをデクリメントし、その値を「１」だけ減少させる（ステップＳ２１１）。この処理は、ステップＳ２１０において矩形グループのデータが命令蓄積部２３９から削除されたこととの整合性を取るためである。
【００４４】
また、上述のステップＳ２０７の判定を行い、この判定結果が否定的であった場合には、（ステップＳ２０８；ＮＯ）、グラデーション検出部２３２はこの矩形描画命令群を細線検出部１３３に供給する（ステップＳ２１６）。つまり、この時点ではこの矩形描画命令群の描画属性は判定されず、細線検出部１３３において「細線」または「その他グラフィクス」のいずれかに判定される。この処理は上述の第１実施形態と同様であるから、説明を省略する。
また、このとき同時に、グラデーション検出部２３２は細線検出部１３３に供給した矩形描画命令群のデータを命令蓄積部２３９から削除し、これに伴い色値カウンタＣｎｔの値を「０」に書き換える（ステップＳ２１７）。
【００４５】
また、上述のステップＳ２０６の判断が否定的、すなわちグラデーション判定フラグＦｌｇが「判定済」であれば、このとき命令蓄積部２３９に蓄積されている矩形描画命令群に対しては、グラデーション領域であるか否かの判定が既に行われていることを意味する（ステップＳ２０２において蓄積された矩形描画命令を除く）。そこで、グラデーション検出部２３２は、ここではグラデーション領域であるか否かの判定が行われていない矩形描画命令、すなわちステップＳ２０２において蓄積された矩形描画命令に対してグラデーション領域であるか否かの判定を行う（ステップＳ２１２）。具体的には、（１）この矩形描画命令により表されるオブジェクトが少なくとも１つのオブジェクトと隣接しているか否か（２）隣接するオブジェクトとの色値の差が所定の閾値（例えば第１実施形態の閾値ＴｈE）以内かを判断し、これらが共に肯定的であれば、グラデーション検出部２３２はこの矩形描画命令が「グラデーション領域」の描画属性を有すると判定し（ステップＳ２１２；ＹＥＳ）、ステップＳ２１０の処理へと進む。ステップＳ２１０以降の処理については、既に説明したので省略する。
【００４６】
一方、ステップＳ２１２の判定において「グラデーション領域」の描画属性を有すると判定されなかった場合には（ステップＳ２１３；ＮＯ）、グラデーション検出部２３２はグラデーション判定フラグＦｌｇを「未判定」と書き換え（ステップＳ２１４）、既にグラデーション領域であると判定されている矩形描画命令群を、その描画属性と共にグラフィクス処理部１３４に供給する（ステップＳ２１５）。このとき同時に、グラデーション検出部２３２はグラフィクス処理部１３４に供給した矩形描画命令群のデータを命令蓄積部２３９から削除する。つまり、このとき命令蓄積部２３９にはステップＳ２０２において蓄積された矩形描画命令のみが記憶されたままとなっているが、これは、この矩形描画命令がこの処理以降に入力される矩形描画命令と共にグラデーション領域を形成する可能性が残っているためである。
【００４７】
以上により、入力された描画命令が矩形描画命令であった場合、すなわちステップＳ２０１の判断結果が肯定的であった場合の処理はすべて説明された。ここからは、入力された描画命令が矩形描画命令ではなかった場合、すなわちステップＳ２０１の判断結果が否定的であった場合の処理について説明する。なお、ここからの処理については、図９に示されたフローチャートによって説明する。
【００４８】
入力された描画命令が矩形描画命令ではなかった場合、はじめにグラデーション検出部２３２は、グラデーション判定フラグＦｌｇを参照することによって、命令蓄積部２３９に蓄積された矩形描画命令群がグラデーション領域の一部であると既に判定されているか否かを判断する（ステップＳ２２１）。
この判断が肯定的、すなわちグラデーション判定フラグＦｌｇが「未判定」であれば、このとき命令蓄積部２３９に蓄積されている矩形描画命令群に対しては、グラデーション領域であるか否かの判定がまだ行われていないことを意味する。この場合、グラデーション検出部２３２は命令蓄積部２３９に蓄積されている矩形描画命令群の描画属性は判定されず、細線検出部１３３に供給されて「細線」または「その他グラフィクス」のいずれかに判定されることとなる。そしてグラデーション検出部２３２は、入力された描画命令、すなわちステップＳ２０１において矩形描画命令でないと判断された描画命令が「その他グラフィクス」の描画属性を有すると判定し（ステップＳ２２４）、この描画命令をグラフィクス処理部１３４に供給する。これに伴い、グラデーション検出部２３２は命令蓄積部２３９に蓄積されている矩形描画命令群を削除し、色値カウンタＣｎｔの値を「０」に書き換える（ステップＳ２２５）。
【００４９】
また、ステップＳ２２１の判断が否定的、すなわちグラデーション判定フラグＦｌｇが「判定済」であれば、このとき命令蓄積部２３９に蓄積されている矩形描画命令群に対しては、グラデーション領域であるか否かの判定が既に行われていることを意味する。よって、グラデーション検出部２３２はグラデーション判定フラグＦｌｇを「未判定」と書き換え（ステップＳ２２２）、既にグラデーション領域であると判定されている矩形描画命令群を、その描画属性と共にグラフィクス処理部１３４に供給する（ステップＳ２２３）。このとき同時に、グラデーション検出部２３２はグラフィクス処理部１３４に供給した矩形描画命令群のデータを命令蓄積部２３９から削除する。この後、ステップＳ２２１の判断が肯定的であった場合と同様にして、グラデーション検出部２３２はステップＳ２２４，Ｓ２２５の処理を行う。
【００５０】
以上において、本実施形態のグラデーション検出部２３２が実行するグラデーション／細線検出処理を説明したが、本実施形態においては、グラデーション検出部２３２は入力データが「グラフィクス」オブジェクト以外の場合にも処理を行っている。この処理は、命令蓄積部２３９に記憶されている矩形描画命令群を削除することが目的である。本実施形態においては、命令蓄積部２３９に矩形描画命令を複数記憶しているが、この複数の矩形描画命令は、連続する矩形描画命令がひとつのグラデーション領域であるか否かを判定されるために記憶されているものだから、「グラフィクス」以外のオブジェクトが入力されてきた場合にはその時点で命令蓄積部２３９から削除される必要がある。そこで、本実施形態においては、入力データ解析部２３０に入力された入力データのオブジェクトが「テキスト」あるいは「イメージ」であった場合に、入力データ解析部２３０がグラデーション検出部２３２にこの旨を通知する。グラデーション検出部２３２はこの通知を受信すると、以下に示される描画命令削除処理を実行する。
【００５１】
図１０は、本実施形態における描画命令削除処理を示したフローチャートである。同図に沿って説明すると、はじめにグラデーション検出部２３２は、グラデーション判定フラグＦｌｇを参照することによって、命令蓄積部２３９に蓄積された矩形描画命令群がグラデーション領域の一部であると既に判定されているか否かを判断する（ステップＳ３０１）。
この判断が肯定的、すなわちグラデーション判定フラグＦｌｇが「未判定」であれば、グラデーション検出部２３２はこの矩形描画命令群を「グラデーション領域」とは判定せずに、この矩形描画命令群を命令蓄積部２３９から削除する（ステップＳ３０２）。また、この判断が否定的、すなわちグラデーション判定フラグＦｌｇが「判定済」であれば、グラデーション検出部２３２はグラデーション判定フラグＦｌｇを「未判定」に書き換える（ステップＳ３０３）。そして、グラデーション検出部２３２はこの矩形描画命令群を「グラデーション領域」と判定し、この矩形描画命令群を命令蓄積部２３９から削除する（ステップＳ３０４）。
【００５２】
以上のような処理を行うことによって、本実施形態においては図１３のようなグラデーション領域に加え、図６のようなグラデーション領域の判定も行うことが可能となった。
【００５３】
（３）変形例
なお、本発明の適用は上述の実施形態に限定されず、種々の変形が可能である。以下にその例を示す。
上述の実施形態においては、グラデーション領域は複数の矩形領域の集合として表されていた。しかし、本発明はこのような態様に限定されず、例えば図１１に示されるような複数の台形領域の集合として表すことも可能である。この場合においても、矩形描画命令が台形描画命令に変化するだけであるので、グラデーション／細線検出処理等の動作は上述の実施形態と同様となる。また、図１１からも明らかなように、このような場合には斜め方向のグラデーションも判定可能である。
【００５４】
また、上述の実施形態においては、細線は幅または高さの微小な矩形描画命令に限定されていた。しかし、本発明はこのような態様に限定されず、例えば曲線のオブジェクトを示す描画命令であってもよい。このような場合には、グラデーション／細線検出処理等の動作は上述の実施形態と多少異なる。例えば、上述の第２実施形態のステップＳ２２４においては、ステップＳ２０１において矩形描画命令でないと判断された描画命令が「その他グラフィクス」の描画属性を有すると判定されていたが、この判定は細線が矩形描画命令であることを前提としている。細線が矩形描画命令に限定されないのであれば、この場合の描画属性は「細線」または「その他グラフィクス」となるから、最終的には細線検出部１３３において判定されることとなる。
【００５５】
また、細線の描画方法には、ストローク描画という方法もある。ストローク描画とは、例えば図１２に示されているように、細線の始点座標および終点座標と、太さを表すストローク幅を指定して描画する方法をいう。文書データがこのような描画命令を含む場合には、ストローク幅が閾値以下であれば細線と判定すればよい。
【００５６】
また、上述の実施形態においては、色差の閾値ＴｈEや色値カウンタの閾値ＴｈC，細線の幅を規定する閾値等の値は予め与えられており、任意であるとしたが、画像処理装置にこれらの閾値を入力する入力手段を設け、ユーザが閾値を入力できるようにすることも可能である。
【図面の簡単な説明】
【００５７】
【図１】本発明の第１の実施形態に係る画像処理装置のハードウェア構成を示すブロック図である。
【図２】同画像処理装置の機能構成を示したブロック図である。
【図３】同画像処理装置の解析処理部を示したブロック図である。
【図４】テキストオブジェクトの一例を示した図である。
【図５】同実施形態におけるグラデーション／細線検出処理を示したフローチャートである。
【図６】グラデーション領域の一例を示した図である。
【図７】本発明の第２の実施形態に係る画像処理装置の解析処理部を示したブロック図である。
【図８】同実施形態におけるグラデーション／細線検出処理を示したフローチャートである。
【図９】同実施形態におけるグラデーション／細線検出処理を示したフローチャートである。
【図１０】同実施形態における描画命令削除処理を示したフローチャートである。
【図１１】グラデーション領域の一例を示した図である。
【図１２】ストローク描画の一例を示した図である。
【図１３】グラデーション領域の一例を示した図である。
【図１４】細線で描画された表を例示した図である。
【符号の説明】
【００５８】
１０…画像処理装置、１…制御部、２…記憶部、３…入出力Ｉ／Ｆ、４…表示部、５…操作部、１３…解析処理部、１５…レイヤ画像処理部。
【図１】
2006053786.tif 000004
【図２】
2006053786.tif 000005
【図３】
2006053786.tif 000006
【図４】
2006053786.tif 000007
【図５】
2006053786.tif 000008
【図６】
2006053786.tif 000009
【図７】
2006053786.tif 000010
【図８】
2006053786.tif 000011
【図９】
2006053786.tif 000012
【図１０】
2006053786.tif 000013
【図１１】
2006053786.tif 000014
【図１２】
2006053786.tif 000015
【図１３】
2006053786.tif 000016
【図１４】
2006053786.tif 000017