(57)【要約】【課題】文字が多層に配置されている文書データにおいて、ＪＰＥＧ圧縮時に文字の周辺に発生するモスキートノイズを軽減することができる画像処理装置および画像処理装置の制御方法を提供することを目的とするものである。【解決手段】文書データ内の各オブジェクトを、イメージ画像に変換し、この変換したイメージ画像を圧縮して圧縮画像を生成し、文字オブジェクトのみを、イメージ画像に変換し、この変換したイメージ画像を変倍する。この変倍した画像から、アウトライン画像を抽出し、この抽出されたアウトライン画像に基づいて、マスク画像を生成し、上記圧縮画像を伸長し、この伸長された画像と上記マスク画像とに基づいて、文字の塗りつぶし色と文字の周辺色とを決定する。そして、上記伸長された画像と、上記マスク画像と、上記塗りつぶし色と、上記周辺色とに基づいて、画像を生成する。【選択図】図８
2008165538.tif 000002
【特許請求の範囲】
【請求項１】
文書データ内の各オブジェクトを、イメージ画像に変換する第１の変換手段と；
上記第１の変換手段が変換したイメージ画像を圧縮して圧縮画像を生成する圧縮画像生成手段と；
文字オブジェクトのみを、イメージ画像に変換する第２の変換手段と；
上記第２の変換手段が変換したイメージ画像を変倍する画像変倍手段と；
上記画像変倍手段が変倍した画像から、アウトライン画像を抽出するアウトライン画像抽出手段と；
上記抽出されたアウトライン画像に基づいて、マスク画像を生成するマスク画像生成手段と；
上記圧縮画像を伸長する画像伸長手段と；
上記伸長された画像と上記マスク画像とに基づいて、文字の塗りつぶし色と文字の周辺色とを決定する色決定手段と；
上記伸長された画像と、上記マスク画像と、上記塗りつぶし色と、上記周辺色とに基づいて、画像を生成する画像生成手段と；
を有することを特徴とする画像処理装置。
【請求項２】
文書データ内の各オブジェクトを、イメージ画像に変換する第１の変換手段と、上記第１の変換手段が変換したイメージ画像を圧縮して圧縮画像を生成する圧縮画像生成手段と、文字オブジェクトのみを、イメージ画像に変換する第２の変換手段と、上記第２の変換手段が変換したイメージ画像を変倍する画像変倍手段と、上記画像変倍手段が変倍した画像から、アウトライン画像を抽出するアウトライン画像抽出手段と、上記抽出されたアウトライン画像に基づいて、マスク画像を生成するマスク画像生成手段と、上記圧縮画像を伸長する画像伸長手段と、上記伸長された画像と上記マスク画像とに基づいて、文字の塗りつぶし色と文字の周辺色とを決定する色決定手段と、上記伸長された画像と、上記マスク画像と、上記塗りつぶし色と、上記周辺色とに基づいて、画像を生成する画像生成手段とを具備する画像処理装置と；
上記画像処理装置に画像を入力する入力装置と；
上記画像処理装置が生成した画像を表示する表示装置と；
を有することを特徴とするプリンタシステム。
【請求項３】
文書データ内の各オブジェクトを、イメージ画像に変換する第１の変換工程と；
上記第１の変換工程で変換したイメージ画像を圧縮して圧縮画像を生成する圧縮画像生成工程と；
文字オブジェクトのみを、イメージ画像に変換する第２の変換工程と；
上記第２の変換工程で変換したイメージ画像を変倍する画像変倍工程と；
上記画像変倍工程で変倍した画像から、アウトライン画像を抽出するアウトライン画像抽出工程と；
上記抽出されたアウトライン画像に基づいて、マスク画像を生成するマスク画像生成工程と；
上記圧縮画像を伸長する画像伸長工程と；
上記伸長された画像と上記マスク画像とに基づいて、文字の塗りつぶし色と文字の周辺色とを決定する色決定工程と；
上記伸長された画像と、上記マスク画像と、上記塗りつぶし色と、上記周辺色とに基づいて、画像を生成する画像生成工程と；
を有することを特徴とする画像処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像を圧縮する画像圧縮装置、その画像を伸長する画像伸長装置、及びそれらを用いたプリンタシステムに関する。
【背景技術】
【０００２】
近年、プリンタの高解像度化や多色化に伴い、ホストコンピュータからプリンタに送信するデータ量が増加している。特に、インクジェットプリンタ等のラスタプリンタにおいて、全データをラスタデータとして送信するので、データ量の増加が大きく、印字速度を低下させることも稀ではない。
【０００３】
転送速度を向上させるために、ホストコンピュータとプリンタとを接続する高速インタフェースが採用されているが、低速なインタフェースや無線接続等を考慮した場合、印字速度の低下が懸念されている。
【０００４】
この懸念を解決するために、ラスタデータをプリンタに送信するのではなく、ＪＰＥＧ方式による圧縮画像を、ホストコンピュータで生成し、プリンタ側で伸長処理し、印刷する技術が知られている。この技術によれば、圧縮によってデータ量を削減するので、転送に要する時間が削減される。
【０００５】
しかし、ＪＰＥＧ方式を用いることによって、データを圧縮できる一方で、文字領域の境界部分にモスキートノイズが発生するという問題があり、また文字色が鈍るという問題がある。なお、上記「文字色の鈍り」は、文字のエッジ部、特に文字領域内で発生する画像劣化である。
【０００６】
そこで、プリンタドライバが、文書データから、文字領域の始点、終点、色情報を含むエッジ情報を生成し、文字以外の領域の色と同じ色で、文字領域を塗り潰した画像を生成し、ＪＰＥＧ圧縮する方法が知られている（たとえば、特許文献１参照）。そして、データ再現時には、伸長したデータ上に、エッジ情報から文字データ部を生成する。
【０００７】
ＪＰＥＧ化された画像には、同一色しか存在しないので、モスキートノイズが文字の周辺に発生しない。また、エッジ情報に含まれている色情報によって、文字領域全てを同一色で塗りつぶすことができるので、文字部分を含めて、ＪＰＥＧ圧縮した場合に発生する境界付近の色の鈍りが発生しないという利点もある。
【特許文献１】特開２００６−５４７１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、上記従来例では、文字が一層で配置されている場合、モスキートノイズや色の鈍りを抑えることができるものの、異なった色の文字と文字とが、多層化して配置されている場合には、モスキートノイズや色の鈍りを抑えることができないという問題がある。
【０００９】
つまり、上記従来例では、文字部分にあたるバックグラウンドに、採用する色を決定できないので、モスキートノイズの発生を抑えることが不十分であり、これによって、文書データの復元時に良好な結果を得ることができないという問題がある。
【００１０】
本発明は、文字が多層に配置されている文書データにおいて、ＪＰＥＧ圧縮時に文字の周辺に発生するモスキートノイズを軽減することができる画像処理装置及び画像処理装置の制御方法を提供することを目的とするものである。
【００１１】
また、本発明は、境界部分に発生する文字色の鈍りを抑えることができ、良好な復元画像を生成することができる画像処理装置及び画像処理装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、文書データ内の各オブジェクトを、イメージ画像に変換する第１の変換手段と、上記第１の変換手段が変換したイメージ画像を圧縮して圧縮画像を生成する圧縮画像生成手段とを有する。本発明は、文字オブジェクトのみを、イメージ画像に変換する第２の変換手段と、第２の変換手段が変換したイメージ画像を変倍する画像変倍手段と、上記画像変倍手段が変倍した画像から、アウトライン画像を抽出するアウトライン画像抽出手段とを有する。また、本発明は、上記抽出されたアウトライン画像に基づいて、マスク画像を生成するマスク画像生成手段と、上記圧縮画像を伸長する画像伸長手段とを有する。本発明は、上記伸長された画像と上記マスク画像とに基づいて、文字の塗りつぶし色と文字の周辺色とを決定する色決定手段と、上記伸長された画像と、上記マスク画像と、上記塗りつぶし色と、上記周辺色とに基づいて、画像を生成する画像生成手段とを有する。
【発明の効果】
【００１３】
本発明によれば、文字が多層に配置されている文書データにおいて、ＪＰＥＧ圧縮時に文字の周辺に発生するモスキートノイズを軽減することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１４】
発明を実施するための最良の形態は、次の実施例である。
【実施例１】
【００１５】
図１は、本発明の実施例１であるプリンタ装置１００の概観斜視図である。
【００１６】
プリンタ装置１００は、画像処理装置の例であり、ホストコンピュータ（ＰＣ）からデータを受信して印刷する通常のＰＣプリンタとしての機能を有する。
【００１７】
また、プリンタ装置１００は、メモリカード等の記憶媒体に記憶されている画像データを直接読み取って印刷する機能、又はデジタルカメラやＰＤＡ等からの画像データを受信して印刷する機能を備えている。なお、プリンタ装置１００は、読取部を使用して、スキャナとしての機能を発揮し、また、コピー機としての機能を発揮する装置であってもよい。
【００１８】
プリンタ装置１００は、表示部１と、操作部２と、カードインタフェース３と、読取部４と、記録部５とを有する。
【００１９】
図２は、プリンタ装置１００の構成を示す図である。
【００２０】
プリンタ装置１００は、図１に示す部材以外に、ＣＰＵ２０と、ＲＯＭ２１と、ＲＡＭ２２と、不揮発性ＲＡＭ２３と、画像処理部２４と、駆動部２５と、センサ部２６とを有する。
【００２１】
ＣＰＵ２０は、ＲＯＭ２１からプログラムコードをＲＡＭ２２にロードして動作する。また、動作時には、不揮発性ＲＡＭ２３からも、以前に保存された設定情報に基づいて動作することもある。
【００２２】
プリンタ装置１００は、操作部２からユーザの入力を受け、たとえばカードインタフェース３から画像データの供給を受け、画像処理部２４が画像処理を施した後に、記録部５が印字する。
【００２３】
また、読取部４が画像をスキャンし、画像処理部２４が画像処理を施した後に、記録部５が印字することによって、コピー機能を実現する。駆動部２５は、本体を駆動し、また、表示部１は、ユーザインタフェースの表示に使用される。
【００２４】
次に、プリンタシステムＰＳ１の構成について説明する。
【００２５】
図３は、プリンタ装置１００を含むプリンタシステムＰＳ１を示すブロック図である。
【００２６】
プリンタシステムＰＳ１は、プリンタ装置１００と、プリンタ制御装置４０と、表示装置３１と、入力装置３２とを有する。
【００２７】
表示装置３１は、プリンタ制御装置４０が生成した画像を表示する装置である。入力装置３２は、プリンタ制御装置４０に画像を入力する装置である。
【００２８】
プリンタ制御装置４０は、その内部に保存領域４３が設けられ、表示装置３１と入力装置３２とに接続されている。また、プリンタ制御装置４０は、双方向インタフェースによって、プリンタ装置１００と接続されている。プリンタシステムＰＳ１において、プリンタ制御装置４０内では、印刷用データが生成され、プリンタ装置１００が印字する。以上が、プリンタシステムＰＳ１の概要である。
【００２９】
次に、プリンタシステムＰＳ１の主要な処理について説明する。
【００３０】
図４は、プリンタシステムＰＳ１で印刷するデータの例を示す図である。
【００３１】
このデータには、画像、文字、グラフィックスのデータが含まれている。
【００３２】
次に、プリンタシステムＰＳ１の構成について説明する。
【００３３】
図５は、プリンタシステムＰＳ１の構成を示す図である。
【００３４】
プリンタシステムＰＳ１は、プリンタ制御装置４０とプリンタ装置１００とを有する。プリンタ制御装置４０内には、プリンタドライバ４１が配置されている。プリンタドライバ４１は、印刷データ入手部４１１と、全画像データ生成部４１２と、文字画像データ生成部４１３と、圧縮データ生成部４１４と、マスクデータ生成部４１５と、データ出力部４１６とを有する。また、プリンタ制御装置４０は、データ送信部４２と保存領域４３とを有する。
【００３５】
プリンタ装置１００は、データ受信部５１と、圧縮データデコード部５２と、マスクデータ解析部５３と、塗り潰し色／周辺色決定部５４と、印字データ生成部５５と、データ印字部５６とを有する。
【００３６】
プリンタ装置１００とプリンタ制御装置４０とは、双方向インタフェースで接続されている。プリンタ制御装置４０内のプリンタドライバ４１が、図４に示すデータを、プリンタに送信するデータに変換する。
【００３７】
プリンタドライバ４１では、まず、印刷データ入手部４１１が、印刷データを入手する。この入手されたデータを、全画像データ生成部４１２が、多値のＲＧＢデータとして、メモリ上にレンダリングする。また、印刷データのうちで、文字データについては、文字画像データ生成部４１３が、文字のみのＲＧＢデータとして、別メモリ上にレンダリングする。
【００３８】
図６は、入力印刷データと、２つのメモリ上のレンダリング結果とを示す図である。
【００３９】
図６（Ａ）は、任意の入力画像を示す図であり、図６（Ｂ）は、入力画像をメモリ上にデジタルデータとしてレンダリングした全画像レンダリング結果を示す図であり、図６（Ｃ）は、文字部のみのレンダリング結果を示す図である。
【００４０】
印刷データ上には、文字、画像、グラフィックス等のオブジェクトが存在し、それぞれに対して重なりが存在する。このために、図６（Ｃ）に示すように、文字部分のレンダリング結果は、上から見える文字のみであるとする。図６（Ｃ）において、画像によって文字列の一部が切れたような結果になっている。
【００４１】
次に、全画像データ生成部４１２がレンダリングした全画像を、圧縮データ生成部４１４が、圧縮処理し、この圧縮データは、保存領域４３に保存される。圧縮する場合、ＪＰＥＧ等の非可逆の圧縮方法を利用する。これによって、転送するデータ量を削減する。一方、文字画像データ生成部４１３で生成された文字部画像（Ｃ）は、マスクデータ生成部４１５に渡され、後述する動作によって、マスクデータが生成され、同じく保存領域４３に保存される。
【００４２】
さらに、生成された圧縮データとマスクデータとは、保存領域４３から読み出され、データ出力部４１６が、データ送信部４２を介して、プリンタ装置１００に送信する。以上が、プリンタ制御装置４０における処理である。
【００４３】
次に、プリンタ装置１００の処理について説明する。
【００４４】
プリンタ制御装置４０から送信されたデータは、データ受信部５１が受信する。受信したデータのうちで、圧縮データを、圧縮データデコード部５２がデコード処理する。
【００４５】
図７は、デコードされた結果を示す図である。
【００４６】
図７（Ａ）の結果は、非可逆に圧縮されたデータを伸長したものであるので、文字周りには、ＪＰＥＧ圧縮におけるモスキートノイズや文字内部に色の鈍りが発生している。なお、図７（Ａ）に示す文字周りのモスキートノイズや文字内部の色の鈍りを、図２２に示してある。
【００４７】
次に、マスクデータ解析部５３が、受信したマスクデータを解析処理する。上記「マスクデータ」は、図７（Ｂ）に示すように、文字部分のみのデータである。
【００４８】
次に、圧縮データデコード部５２が伸長したデータと、マスクデータ解析部５３による解析結果とに基づいて、塗り潰し色／周辺色決定部５４が、伸長されたデータの文字部分と周辺とに適用する色を決定する。本処理の詳細は後述する。
【００４９】
決定された塗り潰し色と、周辺色とによって、印字データ生成部５５がデコードしたデータに対して、上書き処理を施し、データ印字部５６が印字する。図７（Ｃ）は、印刷結果を示す図である。以上が、プリンタ装置１００の処理である。
【００５０】
次に、プリンタ装置１００の処理動作について説明する。
【００５１】
図８は、プリンタ装置１００の処理動作を示すフローチャートである。
【００５２】
Ｓ０で、プリンタ制御装置４０内の処理が開始され、Ｓ１で、全圧縮データが生成され、Ｓ２で、マスクデータが生成され、Ｓ３で、両データがプリンタ装置に送信される。Ｓ４で、プリンタ装置が圧縮データとマスクデータとを受信し、Ｓ５で、圧縮データをデコードする。Ｓ６で、マスクデータを解析し、Ｓ７で、文字内と文字周りとについて、塗り潰し色と周辺色とを決定する。最後に、Ｓ８で、印刷処理を行い、Ｓ９で、終了する。以上が、本システムの概略動作である。
【００５３】
次に、図５に示す全画像データ生成部４１２〜マスクデータ生成部４１５の処理動作について、詳細に説明する。
【００５４】
図９は、全画像データ生成部４１２〜マスクデータ生成部４１５の処理動作を示すフローチャートである。
【００５５】
Ｓ１０で、プリンタドライバの処理が開始され、Ｓ１１で、全てのオブジェクトの描画が終了したかどうかを判断する。上記「オブジェクト」は、文字、画像、グラフィックス等である。全オブジェクトの描画が終了していなければ、Ｓ１２で、対象オブジェクトを入手する。Ｓ１３で、対象オブジェクトを、全画像用メモリにレンダリングする。この処理によって、印刷対象の全てのデータが、全画像用メモリにレンダリングされる。
【００５６】
Ｓ１４で、対象オブジェクトが文字であるかどうかを判断する。対象オブジェクトが文字であれば、Ｓ１５で、全画像用メモリと同様に、文字を文字画像用メモリにレンダリングする。この処理によって、文字画像用メモリ上に、文字データがレンダリングされる。
【００５７】
一方、対象オブジェクトが文字でなければ、Ｓ１６で、対象オブジェクトを文字画像用メモリ上に、白領域としてレンダリングする。以上の処理によって、文字画像用メモリ上には、文字データのみがレンダリングされる。また、他のオブジェクトが描画順に従って文字部を上書きすれば、文字の一部が削られる可能性もある。
【００５８】
上記処理を施し、Ｓ１１に戻る。Ｓ１１で、全てのオブジェクトの生成が終了したと判断されると、Ｓ１７で、全画像用メモリの内容をＪＰＥＧデータに変換する。次に、Ｓ１８で、後述するマスクデータ処理によって、マスクデータを生成する。以上の処理を施し、圧縮された印刷画像データとマスクデータとが作成され、処理を終了する。
【００５９】
次に、Ｓ１８におけるマスクデータ作成について説明する。
【００６０】
図１０は、Ｓ１８におけるマスクデータ作成の動作を示すフローチャートである。
【００６１】
Ｓ２０で、処理が開始され、Ｓ２１で、文字画像用メモリとは異なる文字画像用バッファ２に、縦横２倍に拡大したデータを生成する。拡大する場合、公知の単純拡大技術を利用し、縦横に画素をコピーする。
【００６２】
図１１は、単純拡大の処理を示す図である。
【００６３】
任意の入力画像（Ａ）の注目画素Ｘを、縦横に２倍に拡大した結果が、図１１（Ｂ）に示す左上部分である。
【００６４】
図１２は、文字部の元画像と、これを２倍に拡大した結果と、この結果からアウトラインを抽出した結果と、これを２値化した結果とを示す図である。
【００６５】
図１２（Ａ）が、文字部の元画像であり、図１２（Ｂ）が、２倍に拡大した結果である。
【００６６】
次に、Ｓ２２以下の処理において、文字画像のアウトラインデータを抽出する。まず、Ｓ２２で、文字画像用バッファ２の全ラスタの処理が終了しているかどうかを判断する。処理が終了していなければ、Ｓ２３で、参照画素を対象ラスタの左端にセットする。
【００６７】
Ｓ２４で、対象ラスタの全画素の処理が終了したかどうかを判断する。終了していなければ、Ｓ２５で、参照画素が白データであるかどうかを判断する。白画素でなければ、Ｓ２６で、内部のフラグがＯＮかどうかを判断し、フラグがＯＮであれば、Ｓ２７で、参照画素が右端の画素であるかどうかを判断する。右端画素でなければ、Ｓ２８で、対象画素の次の画素が白画素であるかどうかを判断し、白画素でなければ、Ｓ２９で、対象画素を白画素で上書きし、Ｓ２４に戻る。以上の処理で、１ラスタにおける文字領域内部の画素が白画素に変更される。
【００６８】
一方、Ｓ２７で、右端の画素であると判断されると、又は、Ｓ２８で、次の画素が白画素であるとして判断されると、Ｓ３０で、内部フラグをＯＦＦに変更する。この場合、画素の上書きを行わない。以上の処理を施して、Ｓ２４に戻るが、本処理は、１ラスタ上の文字以外の部分、又は右端画素での処理である。
【００６９】
また、Ｓ２６で、フラグがＯＦＦであれば、Ｓ３１で、フラグをＯＮにする。この処理は、１ラスタ上の文字の開始点を認識した場合であり、文字の開始点画素に上書きをしない。以上の処理で、１ラスタ上の文字部分について、左右端の画素のみを残し、内部画素を白で上書きし、アウトライン部分のみのデータを抽出したことになる。
【００７０】
また、Ｓ２５で、参照画素が白画素であれば、文字領域の外であるので、処理を行わずに、Ｓ２４に戻る。以上の処理を、全ラスタに対して繰り返す。
【００７１】
図１２（Ｂ）に示すアウトラインを抽出した結果が、図１２（Ｃ）に示す図である。
【００７２】
次に、Ｓ３２で、文字画像用バッファ２の内容を２値化する。本処理には、公知の２値化技術を用いるが、対象画素が白であるかどうかによって、各ビットを０又は１にセットする。
【００７３】
図１３は、２値化処理を示す図である。
【００７４】
図１３において、各画素のＲＧＢ値が白であるかどうかによって、対応するビットを１又は０に指定する。図１３では、２画素分のデータを例としてあげているが、図１３に示す画素１が「１」であり、図１３に示す画素２が「０」である。従来は、１画素を、２４ビットのＲＧＢデータで表現しているが、本２値化処理では、１画素を、１ビットで表現することができる。図１２（Ｄ）は、以上の処理を施した結果を示す図である。
【００７５】
次に、アウトライン部の抽出結果について説明する。
【００７６】
図１４は、アウトラインを抽出した文字画像と、矢印部分を拡大した図である。
【００７７】
図１４（Ａ）は、アウトラインを抽出した文字画像を示す図であり、図１４（Ｂ）は、矢印部分の拡大図である。
【００７８】
図１４（Ｂ）において、黒画素は、文字領域の左右端の画素であり、グレーの画素は、上記処理によって、白画素に置き換えられた画素である。また、白画素は、文字領域外の画素である。
【００７９】
上記処理によって、多値の文字データから、２値のアウトラインデータを抽出する処理が終了し、この処理が終了したデータが、「マスクデータ」である。つまり、「マスクデータ」は、多値の文字データから、２値で示すアウトラインデータを抽出したデータである。
【００８０】
次に、圧縮データコード部５２〜印字データ生成部５５の処理動作について説明する。
【００８１】
図１５は、圧縮データコード部５２〜印字データ生成部５５の処理動作を示すフローチャートである。
【００８２】
Ｓ４０で、プリンタ内の処理が開始される。Ｓ４１で、受信したＪＰＥＧ画像データをメモリ上に伸長する。伸長されたデータは、上記のように、文字部分の境界付近でモスキートノイズや色の鈍りが発生している可能性がある。
【００８３】
Ｓ４２で、受信したマスクデータをメモリ上にレンダリングする。Ｓ４３で、まず、マスクデータの全ラスタの処理が終了したかどうかを判断し、終了していなければ、Ｓ４４で、マスクデータの対象画素が文字の一部（文字画像内）であるかどうかを判断する。文字の一部であれば、Ｓ４５で、後述する手段によって、塗り潰し色を取得する。
【００８４】
Ｓ４６で、参照しているマスクデータ画素に相対するＪＰＥＧ画像の対象画素を塗り潰し色として、バッファ２に出力し、Ｓ４３に戻る。Ｓ４４で、文字画像の外であると判断されれば、Ｓ４７で、対象画素が文字の周辺画素であるかどうかを判断する。本判断処理についても後に詳述する。
【００８５】
Ｓ４７で、周辺画素であると判断されると、Ｓ４８で、後述する手段で周辺色を取得する。Ｓ４９で、参照しているマスクデータ画素に相対するＪＰＥＧ画像の対象画素を周辺色とし、バッファ２に出力し、Ｓ４３に戻る。
【００８６】
また、Ｓ４７で、文字の周辺画素ではないと判断されると、Ｓ５０で、マスクデータ画素に相対するＪＰＥＧ画像の対象画素を、バッファ２にコピーし、Ｓ４３に戻り、全ラスタの処理が終了するまで、Ｓ４３〜Ｓ５０の処理を繰り返す。全ラスタの処理が終了した場合、Ｓ５１で、バッファ２の内容を印字し、処理を終了する。以上が、プリンタ内における主な動作である。
【００８７】
次に、塗り潰し色の決定方法について説明する。
【００８８】
図１６は、文字Ａの上位部分のアウトラインマスクデータであり、１マスは、対応するＪＰＥＧ画像の１ＭＣＵを示す図である。
【００８９】
上記「１ＭＣＵ」は、たとえば、８ｘ８画素で構成されている。マスクデータは、上記のように、オリジナルサイズに対して、２倍（１画素を４画素）に拡大されているが、オリジナルＪＰＥＧ画像との対比を明確にするために、図１６では、４画素を１画素として表現している。また、図１６に示す（１）と（２）とは、ともに文字領域内に位置するＭＣＵを表しているが、注目画素が、このＭＣＵ内の任意の１画素である意味としても使用する。
【００９０】
図１７は、実施例１において塗り潰し色を決定する処理を示すフローチャートである。
【００９１】
まず、図１７において、Ｓ６１で、注目画素が入っているＭＣＵ（以後、「対象ＭＣＵ」という）を決定する。図１６に示す（１）と（２）とが、注目画素の入っているＭＣＵであるが、ＭＣＵの決定は、注目画素に対応するＪＰＥＧ画像上の画素を見つけ出すことであり、容易に決定することができる。
【００９２】
次に、Ｓ６２で、対象ＭＣＵが接する周囲のＭＣＵ（以後、「周囲ＭＣＵ」という）を決定する。図１６に示す（１）、（２）のそれぞれに隣接する黒又はグレーのＭＣＵが対象ＭＣＵである。
【００９３】
次に、Ｓ６３で、対象ＭＣＵと周囲ＭＣＵとに含まれている全ての画素が、文字領域内に存在するかどうかを判断する。全てが存在する場合（図１６に示す（１）の場合）は、Ｓ６４で、注目画素に、塗り潰し色を付与するように決定する。また、Ｓ６３で、一部のＭＣＵが、文字領域外にある画素を含んでいると判断されると（図１６に示す（２）の場合）、Ｓ６５で、文字領域外の画素を含んだＭＣＵ（図１６では、グレーのＭＣＵ）を除いた周囲ＭＣＵ内の全画素の平均値を求める。
【００９４】
Ｓ６６で、その平均値を塗り潰し色として決定する。図１６に示す（２）の周囲の黒いＭＣＵに、図１６に示す（２）そのものを加えたものである。以上が、塗り潰し色の決定方法であるが、上記処理によって、色の鈍りがＭＣＵ内に閉じられるというＭＣＵの特性を利用し、塗り潰し色決定の精度が向上される。ＪＰＥＧの圧縮方式では、ＭＣＵブロックごとに符号化を行うので、符号化時に他のＭＣＵに含まれる画素の影響が及ばない。
【００９５】
次に、実施例１において、周辺色を決定する方法について説明する。
【００９６】
図１８は、文字Ａの上位部分のアウトラインマスクデータを示す図である。
【００９７】
図１８において、１マスは、対応するＪＰＥＧ画像の１ＭＣＵであり、１ＭＣＵは、たとえば、８ｘ８画素で構成されている。マスクデータは、上記のように、オリジナルサイズに対して、２倍（１画素を４画素）に拡大されているが、オリジナルＪＰＥＧ画像との対比を明確にするために、図１８では、４画素を１画素として表現している。
【００９８】
また、図１８に示す（１）と（２）とは、ともに、文字領域内に位置するＭＣＵを表しているが、注目画素が、このＭＣＵ内の任意の１画素である意味としても使用する。
【００９９】
図１９は、実施例１において、周辺色を決定する処理を示すフローチャートである。
【０１００】
まず、Ｓ７１で、注目画素が入っているＭＣＵ（以後、「対象ＭＣＵ」という）を決定する。図１８における（１）と（２）とが、注目画素の入っているＭＣＵであるが、ＭＣＵを決定する場合、注目画素に対応するＪＰＥＧ画像上の画素を見つけ出すことによって、ＭＣＵを容易に決定することができる。
【０１０１】
次に、Ｓ７２で、対象ＭＣＵが接する周囲のＭＣＵ（以後、「周囲ＭＣＵ」という）を決定する。図１８における（１）と（２）とに隣接する黒又はグレーのＭＣＵが、周囲ＭＣＵである。
【０１０２】
次に、Ｓ７３で、周囲ＭＣＵの中で、ＭＣＵに含まれている全ての画素が、文字領域外に存在するＭＣＵであるかどうかを判断する。図１８では、黒いＭＣＵがその対象である。対象となる周囲ＭＣＵ（黒いＭＣＵ）が存在すれば、Ｓ７４で、それらの周囲ＭＣＵ（黒いＭＣＵ）内に存在する文字領域外の画素の平均値を求める（全ての黒いＭＣＵの全画素の平均値を求める）。上記「画素の平均値」は、各画素のＹＣｂＣｒ値の平均を求めた値であり、Ｙ＝（Ｙ１＋Ｙ２＋・・・・＋Ｙｎ）／ｎによって求めることができる。またＣｂ、Ｃｒ値についても同様である。
【０１０３】
Ｓ７５で、ＭＣＵ（１）又はＭＣＵ（２）の各画素と平均値との差を求める。Ｓ７６で、上記差が予め定めた閾値を超える画素が、１画素でも存在するどうかを判断し、存在すれば、Ｓ７７で、注目画素の色をその画素に対する周辺色とする。つまり、注目画素を周辺色に置き換えたとしても同じ色に置き換えられるようにする。言い換えれば、注目画素の色が変わらないようにする。
【０１０４】
一方、全ての画素の差が、閾値以内であれば、Ｓ７８で、文字領域を含まない周囲ＭＣＵの全画素について、同じ色であるかどうか（各画素の色の違いが所定範囲内であるかどうか）を判断する。同じ色であれば、Ｓ７９で、対象色（黒いＭＣＵの全画素の平均値の色）を周辺色として決定する。これは、文字領域を含まない周囲ＭＣＵ内では色の変化が平坦であるため、ＭＣＵ（１）又はＭＣＵ（２）の全画素を前述の平均値の色に置き換えることにより、文字周辺の色の鈍りを消すためである。また、同じ色でなければ、Ｓ８０で、対象画素を周辺色とする。これは周囲ＭＣＵ内に極端に色が異なる部分があれば、周囲ＭＣＵ（黒いＭＣＵ）内にある画素の色の平均値は、周囲ＭＣＵの色とは異なるものになるため、注目画素がその異なる色に置き換えられることを防止するためである。また、Ｓ７３で、周囲ＭＣＵの中で、ＭＣＵに含まれている全ての画素が、文字領域外に存在するＭＣＵではないと判断されれば、上記と同様に、Ｓ８０に進み処理を終了する。
【０１０５】
以上が、周辺色の決定方法であるが、本フローチャートは、モスキートノイズがＭＣＵ内に閉じられるというＭＣＵの特性を利用するものであり、周辺色決定の精度を向上させることができる。
【０１０６】
次に、図１５に示すＳ４７でマスクデータ上の対象画素が文字の周辺かどうかを判断する手段について説明する。
【０１０７】
図２０は、ＪＰＥＧを伸長した画像と、マスクデータと、それぞれのデータの１ラスタデータとを示す図である。
【０１０８】
図２０の（Ａ）は、ＪＰＥＧを伸長した画像であり、図２０の（Ｂ）は、マスクデータである。図２０の（Ｃ）、（Ｄ）は、各データの１ラスタデータを示す図である。
【０１０９】
モスキートノイズは、文字の境界の外側に発生する可能性がある。図２０の（Ｂ）に示すＸとＹとは、文字の境界の外側の画素であるが、同一ＭＣＵ内であれば、さらに外側の画素（グレー画素の部分）に発生する可能性もある。このために、この判断手段は、対象画素が、同一ＭＣＵ内に文字の境界画素が存在するかどうかを判断することによって、実現可能である。
【０１１０】
以上が、実施例１の詳細な説明である。
【０１１１】
実施例１によれば、プリンタに送信するデータが、圧縮画像と２値のマスクデータとであるので、ラスタデータと比較すると、送信データ量を削減することができ、印刷速度を向上させることができる。
【０１１２】
また、実施例１によれば、マスクデータを利用して文字の周辺を、周辺色で塗りつぶすことができるので、圧縮画像内の文字の周辺に発生しているモスキートノイズを低減することができ、良好な印刷結果を得ることができる。
【０１１３】
さらに、上記実施例によれば、マスクデータを利用して、文字領域に、塗りつぶし色で塗りつぶすことができるので、文字部の境界に発生している文字色の鈍りを低減することができ、良好な印刷結果を得ることができる。
【実施例２】
【０１１４】
本発明の実施例２は、プリンタに搭載しているカード入力機器から、文書画像を入力する場合の実施例である。
【０１１５】
実施例２に係るプリンタハードウェア構成は、上記実施例１と同様であるので、その説明を省略する。また、実施例２に係るプリンタ内の構成についても、上記実施例１と同様であるので、図２及び図４を引用し、その説明を省略する。
【０１１６】
実施例２であるプリンタシステムＰＳ２で印刷するデータの例は、図４に示すデータの例と同じである。本データには、画像、文字、グラフィックスのデータが含まれている。
【０１１７】
次に、プリンタシステムＰＳ２の構成について、説明する。
【０１１８】
図２１は、本発明の実施例２であるプリンタシステムＰＳ２を示すブロック図である。
【０１１９】
プリンタシステムＰＳ２は、プリンタ制御装置６０と、プリンタ装置２００と、保存領域８０とを有する。
【０１２０】
プリンタ制御装置６０は、プリンタドライバ６１と、データ送信部６２とを有する。
【０１２１】
プリンタドライバ６１は、印刷データ入手部６１１と、全画像データ生成部６１２と、文字画像データ生成部６１３と、圧縮データ生成部６１４と、マスクデータ生成部６１５と、データ出力部６１６とを有する。
【０１２２】
次に、プリンタ装置２００について説明する。
【０１２３】
プリンタ装置２００は、データ受信部７１と、圧縮データデコード部７２と、マスクデータ解析部７３と、塗り潰し色／周辺色決定部７４と、印字データ生成部７５と、データ印字部７６とを有する。
【０１２４】
プリンタ装置２００とプリンタ制御装置６０とは、双方向インタフェースで接続されている。また、メモリカード等の外部保存領域８０が設けられている。
【０１２５】
図４に示すデータは、プリンタ制御装置６０内のプリンタドライバ６１が、プリンタに送信するデータに変換される。プリンタドライバ６１では、まず、印刷データ入手部６１１が印刷データを入手する。この入手されたデータを、全画像データ生成部６１２が、多値のＲＧＢデータとしてメモリ上にレンダリングする。
【０１２６】
また、印刷データのうちで文字データについて、文字画像データ生成部６１３が、文字のみのＲＧＢデータとして、別メモリ上にレンダリングする。この状態の入力印刷データと、上記２つのメモリ上のレンダリング結果とを示す図が、図６である。図６の（Ａ）は、任意の入力画像であり、図６の（Ｂ）が、全画像レンダリング結果であり、図６の（Ｃ）が、文字部のみのレンダリング結果である。印刷データ上には、文字、画像、グラフィックス等のオブジェクトが存在するが、それぞれに対して重なりが存在する。
【０１２７】
このために、図６の（Ｃ）に示すように、文字部分のレンダリング結果は、最上位レイアに存在する文字のみとする。図６（Ｃ）において、画像によって文字列の一部が切れた結果となっている。
【０１２８】
次に、全画像データ生成部６１２がレンダリングした全画像を、圧縮データ生成部６１４が圧縮処理し、この圧縮データは、外部保存領域８０に保存される。圧縮する場合、ＪＰＥＧ等の非可逆の圧縮方法を利用する。
【０１２９】
これによって、転送するデータ量を削減することができる。一方、文字画像データ生成部６１３が生成した文字部画像（Ｃ）は、マスクデータ生成部６１５に渡され、後述する処理によって、マスクデータを生成し、同じく外部保存領域８０に保存される。以上が、プリンタ制御装置６０における処理である。
【０１３０】
次に、プリンタ装置２００の処理について説明する。
【０１３１】
プリンタ制御装置６０において、外部保存領域８０は、プリンタ内のカードスロットに装着される。プリンタ装置２００のユーザインタフェースからの指令によって、外部保存領域８０から、圧縮データとマスクデータとが読み出される。読み出されたデータは、データ受信部７１が受信する。
【０１３２】
受信したデータのうちで、圧縮データは、圧縮データデコード部７２がデコード処理する。デコードされた結果が、図７の（Ａ）である。図７の（Ａ）の結果は、非可逆に圧縮されたデータを解凍したものであるので、文字周りには、ＪＰＥＧ圧縮におけるモスキートノイズや文字内部に色の鈍りが発生している。
【０１３３】
次に、マスクデータ解析部７３が、受信したマスクデータを解析処理する。マスクデータは、図７の（Ｂ）における文字部分のみのデータである。次に、塗り潰し色／周辺色決定部７４が、圧縮データデコード部７２がデコードしたデータと、マスクデータ解析部７３が行った解析結果をデコードしたデータとの文字部分と周辺とに適用する色を決定する。本処理の詳細は、後述する。
【０１３４】
決定された塗り潰し色と周辺色とによって、印字データ生成部７５が、デコードされたデータに上書き処理し、データ印字部７６が印字する。図７の（Ｃ）が、印刷結果である。以上が、プリンタ装置２００の処理である。
【０１３５】
以上が、実施例２におけるプリンタシステムＰＳ２の動作である。
【０１３６】
また、実施例２に関わる他の処理は、実施例１における処理と同様であるので、その説明を省略する。
【０１３７】
実施例２によれば、外部保存領域８０に保存するデータが、圧縮画像と２値のマスクデータとであるので、ラスタデータと比較して、送信データ量を削減することができ、印刷速度を向上させることができる。
【０１３８】
また、実施例２によれば、マスクデータを利用して文字の周辺を、周辺色で塗りつぶすことができるので、圧縮画像内の文字の周辺に発生しているモスキートノイズを低減することができ、良好な印刷結果を得ることができる。
【０１３９】
さらに、実施例２によれば、マスクデータを利用して文字領域に、塗りつぶし色で塗りつぶすことができるので、文字部の境界に発生している文字色の鈍りを低減することができ、良好な印刷結果を得ることができる。
【実施例３】
【０１４０】
本発明の実施例３は、実施例１の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体である。
【０１４１】
プリンタ装置１００のコンピュータ（又はＣＰＵやＭＰＵ）が、記憶媒体に格納されているプログラムコードを読み出し実行する実施例である。
【０１４２】
この場合、記憶媒体から読み出されたプログラムコード自体が、実施例１の機能を実現し、このプログラムコードを記憶した記憶媒体は、本発明を構成する。
【０１４３】
このようなプログラムコードを供給するための記憶媒体は、たとえば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭである。
【０１４４】
また、コンピュータが読み出したプログラムコードを実行することによって、上記実施例の機能が実現される。加えて、そのプログラムコードの指示に基づいて、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が、実際の処理の一部又は全部を実行し、この処理によって、上記実施例の機能が実現される場合も含まれる。
【０１４５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続されている機能拡張ユニットに設けられているメモリに書き込まれた場合においても、実現される。そのプログラムコードの指示に基づいて、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が、実際の処理の一部又は全部を実行し、その処理によって、上記実施例の機能が実現される場合も含む。
【０１４６】
すなわち、読取部４は、文書データ内の各オブジェクトを、イメージ画像に変換する第１の変換手段の例であり、文字オブジェクトのみを、イメージ画像に変換する第２の変換手段の例である。
【０１４７】
画像処理部２４は、上記第１の変換手段が変換したイメージ画像を圧縮して圧縮画像を生成する圧縮画像生成手段の例であり、上記第２の変換手段が変換したイメージ画像を変倍する画像変倍手段の例である。また、画像処理部２４は、上記画像変倍手段が変倍した画像から、アウトライン画像を抽出するアウトライン画像抽出手段の例であり、上記抽出されたアウトライン画像に基づいて、マスク画像を生成するマスク画像生成手段の例である。さらに、画像処理部２４は、上記圧縮画像を伸長する画像伸長手段の例であり、上記伸長された画像と上記マスク画像とに基づいて、文字の塗りつぶし色と文字の周辺色とを決定する色決定手段の例である。そして、画像処理部２４は、上記伸長された画像と、上記マスク画像と、上記塗りつぶし色と、上記周辺色とに基づいて、画像を生成する画像生成手段の例である。
【０１４８】
また、入力装置３２は、上記画像処理装置に画像を入力する入力装置の例である。表示装置３１は、上記画像処理装置が生成した画像を表示する表示装置の例である。
【０１４９】
なお、上記実施例を方法の発明として把握することができる。つまり、上記実施例は、文書データ内の各オブジェクトを、イメージ画像に変換する第１の変換工程と、上記第１の変換工程で変換したイメージ画像を圧縮して圧縮画像を生成する圧縮画像生成工程とを実現する例である。また、上記実施例は、文字オブジェクトのみを、イメージ画像に変換する第２の変換工程と、上記第２の変換工程で変換したイメージ画像を変倍する画像変倍工程とを実現する例である。さらに、上記実施例は、上記画像変倍工程で変倍した画像から、アウトライン画像を抽出するアウトライン画像抽出工程と、上記抽出されたアウトライン画像に基づいて、マスク画像を生成するマスク画像生成工程とを実現する例である。そして、上記実施例は、上記圧縮画像を伸長する画像伸長工程と、上記伸長された画像と上記マスク画像とに基づいて、文字の塗りつぶし色と文字の周辺色とを決定する色決定工程とを実現する例である。また、上記実施例は、上記伸長された画像と、上記マスク画像と、上記塗りつぶし色と、上記周辺色とに基づいて、画像を生成する画像生成工程を実現する例である。
【図面の簡単な説明】
【０１５０】
【図１】本発明の実施例１であるプリンタ装置１００の概観斜視図である。
【図２】プリンタ装置１００の構成を示す図である。
【図３】プリンタ装置１００を含むプリンタシステムＰＳ１を示すブロック図である。
【図４】プリンタシステムＰＳ１で印刷するデータの例を示す図である。
【図５】プリンタシステムＰＳ１の構成を示す図である。
【図６】入力印刷データと２つのメモリ上のレンダリング結果とを示す図である。
【図７】デコードされた結果を示す図である。
【図８】プリンタ装置１００の処理動作を示すフローチャートである。
【図９】全画像データ生成部４１２〜マスクデータ生成部４１５の処理動作を示すフローチャートである。
【図１０】Ｓ１８におけるマスクデータ作成の動作を示すフローチャートである。
【図１１】単純拡大の処理を示す図である。
【図１２】文字部の元画像と、これを２倍に拡大した結果と、この結果からアウトラインを抽出した結果と、これを２値化した結果とを示す図である。
【図１３】２値化処理を示す図である。
【図１４】アウトラインを抽出した文字画像と、矢印部分を拡大した図である。
【図１５】圧縮データコード部５２〜印字データ生成部５５の処理動作を示すフローチャートである。
【図１６】文字Ａの上位部分のアウトラインマスクデータであり、１マスは、対応するＪＰＥＧ画像の１ＭＣＵを示す図である。
【図１７】実施例１において塗り潰し色を決定する処理を示すフローチャートである。
【図１８】文字Ａの上位部分のアウトラインマスクデータを示す図である。
【図１９】実施例１において周辺色を決定する処理を示すフローチャートである。
【図２０】ＪＰＥＧを伸長した画像と、マスクデータと、それぞれのデータの１ラスタデータを示す図である。
【図２１】本発明の実施例２であるプリンタシステムＰＳ２を示すブロック図である。
【図２２】本発明の実施例２において、デコードデータ上のモスキートノイズと色の鈍りを示す図である。
【符号の説明】
【０１５１】
１００…プリンタ装置、
１…表示部、
２…操作部、
４…読取部、
５…記録部、
２０…ＣＰＵ、
３１…表示装置、
３２…入力装置、
ＰＳ１…プリンタシステム、
４０…プリンタ制御装置、
４１…プリンタドライバ、
４１１…印刷データ入手部、
４１２…全画像データ生成部、
４１３…文字画像データ生成部、
４１４…圧縮データ生成部、
４１５…マスクデータ生成部、
４１６…データ出力部、
４２…データ送信部、
５１…データ受信部、
５２…圧縮データデコード部、
５３…マスクデータ解析部、
５４…塗りつぶし色／周辺色決定部、
５５…印字データ生成部、
５６…データ印字部、
ＰＳ２…プリンタシステム、
６０…プリンタ制御装置、
６１…プリンタドライバ、
２００…プリンタ装置。
【図１】
2008165538.tif 000003
【図２】
2008165538.tif 000004
【図３】
2008165538.tif 000005
【図４】
2008165538.tif 000006
【図５】
2008165538.tif 000007
【図６】
2008165538.tif 000008
【図７】
2008165538.tif 000009
【図８】
2008165538.tif 000010
【図９】
2008165538.tif 000011
【図１０】
2008165538.tif 000012
【図１１】
2008165538.tif 000013
【図１２】
2008165538.tif 000014
【図１３】
2008165538.tif 000015
【図１４】
2008165538.tif 000016
【図１５】
2008165538.tif 000017
【図１６】
2008165538.tif 000018
【図１７】
2008165538.tif 000019
【図１８】
2008165538.tif 000020
【図１９】
2008165538.tif 000021
【図２０】
2008165538.tif 000022
【図２１】
2008165538.tif 000023
【図２２】
2008165538.tif 000024