(57)【要約】【課題】  ビットマップの縮小処理の際に、SmallTextや細線は描画が欠ける場合がある。  単純間引きでは間引かれたラインの情報が欠如することが原因である。【解決手段】  解像度変換の際のビットマップ縮小処理時にオブジェクト毎に最適な間引き処理を行って、ＳｍａｌｌＴｅｘｔ、細線が崩れて出力されるのを防ぐ。ビットマップを縮小する画像データ処理装置であって、縮小するビットマップの属性を判断する手段と、属性毎に縮小処理を行う手段と属性毎に縮小処理を行った結果をマージする手段とからなる。【選択図】  図１
2010124220.tif 000002
【特許請求の範囲】
【請求項１】
ビットマップを縮小する画像処理装置であって、縮小するビットマップの属性を判断する手段と、属性毎に縮小処理を行う手段と、属性毎に縮小処理を行った結果をマージする手段からなる画像処理装置。
【請求項２】
細線、SmallTextを縮小処理する手段は、間引き処理を行い、間引かれる片側にピクセル情報を反映することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
細線、SmallTextを除くGraphics、Textを縮小処理する手段は、間引き処理を行い、間引かれる両側にピクセル情報を反映することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
イメージを縮小処理する手段は、間引き処理を行い、間引かれる両側にピクセル情報を反映しないことを特徴とする請求項１に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法に関しており、特にパーソナルコンピュータなどの情報処理システムにおける画像処理方法に関するものである。
【背景技術】
【０００２】
通常600*600dpi出力のホストベースプリンタには600*600dpiのビットマップを入力するが、近年出力とは異なる解像度のビットマップを入力するプリンタが開発されている。例えば、600*400dpiのビットマップをデバイスにて副走査方向に1.5倍に引き伸ばし 600*600dpi相当の出力をするプリンタがある(図１)。アプリケーション(OS)から600*400dpiでデータを受け取れれば良い。しかし、縦横解像度非対称(600*400dpi)に対応していないアプリケーションも多数存在する。またN-up等のレイアウトモジュールがプリンタドライバに内蔵される場合に、受け取るビットマップと出力するビットマップの解像度が縦横が逆になる等問題も多い(図２)。そのためアプリケーション(OS)からは600*600dpiでデータを受け取り、ドライバのレンダリングモジュールにて600*400dpiに解像度を変換する方式が用いられる(図３)。
【０００３】
解像度を変換する際にビットマップの縮小処理が発生し、単純間引きが行われる。
【０００４】
自然画イメージの場合はプリンタで引き伸ばして出力した結果も違和感がない(図４)。
【特許文献１】特開２０００−６９２８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ビットマップの縮小処理の際に、SmallTextや細線は描画が欠ける場合があるという課題がある(図５)。
【０００６】
図６の様に単純間引きでは間引かれたラインの情報が欠如することが原因である。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明に関わる画像処理装置は、
ビットマップを縮小する画像データ処理装置であって、
縮小するビットマップの属性を判断する手段と、
属性毎に縮小処理を行う手段と
属性毎に縮小処理を行った結果をマージする手段とからなる。
【発明の効果】
【０００８】
以上説明したように、本発明によれば、
解像度変換の際に、SmallText、細線が崩れずに出力することが可能となる。
【０００９】
また、オブジェクト毎に最適な縮小処理が行える。
【００１０】
(出力の劣化が少ない自然画イメージには処理の速い単純間引きを行い、出力が変化するGraphicsやTextには処理が遅いが出力の品位が保たれるHalftone処理を行う。)
という効果がある。
【発明を実施するための最良の形態】
【００１１】
次に、本発明の詳細を実施例の記述に従って説明する。
【実施例１】
【００１２】
以下本発明の実施の形態を図面を参照し説明する。
【００１３】
本実施形態における画像処理システムの全体構成は図８となる。
【００１４】
図９は図８における描画データ処理部の詳細を示したブロック図である。
【００１５】
図９のレンダリング部では縮小前の多値ビットマップとオブジェクト属性を出力する。
【００１６】
オブジェクト毎に色処理を変更する際にも使用されるオブジェクトハンドリング技術である(図７)。
【００１７】
図９のオブジェクト属性判断部では、これから間引きを行う領域がText、Graphics、イメージ、細線、SmallTextのどの属性かを判断する。
【００１８】
図９の間引き縮小部ではオブジェクト属性に適した間引き処理を行う。
【００１９】
図９の印刷データ生成部では間引き処理部で作成したビットマップをマージして全体の出力ビットマップを生成する。
【００２０】
間引き方法には「Contone間引き」と「Halftone間引き」があるが(図10)、今回600*600dpiを600*400dpiにする場合にはHalftone間引きの出力結果が良好であったためHalftone間引きを採用した。
【００２１】
細線やSmallTextは単純間引きでは間引かれたラインの情報が欠如したため、描画が欠ける場合があった。対策として図１１の様に、間引かれるラインの情報を間引かれないラインに反映することで間引かれるラインの情報が残り、描画が欠けることはなくなる。
【００２２】
イメージ(自然画)の場合は図４の様に単純に間引いても縮小結果に問題は出にくい。逆に間引かれるラインの情報を間引かれないラインに反映すると境界線がぼやけた結果となり劣化することが多い。
【００２３】
細線やSmallText以外のText, Graphicsの場合は図１２の様に間引かれるラインの情報を、間引かれない上下のラインに反映した場合に、上下の対象性が保たれて出力結果が良好になる。
【００２４】
細線、SmallTextの場合は元々の描画が細いためText、Graphicsの様に上下のラインに反映すると非常に太ってしまう。そのため細線、SmallTextには図１３のように上下ではなく片方(上)のラインに反映する間引き方法が適している。
【００２５】
以下、印刷処理システムにおいて特にプリンタドライバ内に本発明であるビットマップ縮小処理を適合させた場合の実施例を説明する。しかしこのビットマップ縮小処理は、プリンタドライバではなく、印刷装置内で行っても同様に成立する。またこのビットマップ縮小処理は、ディスプレイ装置やその他ビットマップ処理を行うアプリケーションで行っても同様に成立する。
【００２６】
図１４、図１５、図１６は本発明である画像処理印刷方法が適用される情報処理システムの構成の一例を示すブロック図である。
【００２７】
図１４において、１は中央処理装置で、上記プログラムおよび関連データが記憶されているＦＤ，ＣＤ−ＲＯＭ，ＩＣメモリカード等の記憶媒体をシステムに接続された媒体読取装置６から読み込む。そして補助記憶装置３から主記憶装置２にロードされたシステムプログラム、アプリケーションプログラムによって、入力装置４から入力される情報を処理して、出力装置５やプリンタ７に出力する。なお、本実施例では、出力装置５はディスプレイなどの表示装置とし、本来出力装置に含まれるプリンタ７と区別する。また、入力装置４はキーボード、ポインティングデバイス等で構成されているものとする。さらに補助記憶装置３は、ハードディスク、光磁気ディスクで構成されるものであってもいいし、これらの組み合わせで構成されるものであってもよい。また、それぞれの装置がネットワークを介して接続されていようとも、本発明を制約するものではない。
【００２８】
図１５は媒体読取装置記憶装置に格納されていた画像処理方法制御プログラムと関連するデータが中央処理演算装置に読み込まれ、入力装置から印刷命令が入力されて、プリンタへデータを送り印刷するまでの概念図をあらわす。アプリケーション、ドライバともＯＳの制御下で機能する。
【００２９】
図１６は、本発明の特徴を最もよくあらわす図面である。同図において９は後述する本発明の印刷システムにおけるクライアントコンピュータ本体およびそれを制御しているOSを示し、後述する印刷装置７とはセントロニクスインターフェースにより接続されている。
【００３０】
１１はそのOS上に印刷装置を制御するアプリケーションソフト（プリンタドライバ）である。
【００３１】
１２は本発明におけるユーザが印刷装置に対しての設定など各種印刷設定等を入力したり、印刷開始指示をおこなうためのユーザーインターフェース部である。
【００３２】
１３は印刷データ制御部で、アプリケーションから指定される描画命令を受け、印刷装置において処理できるデータを作成する。この印刷データ制御部は、本発明である印刷システムにおけるホスト装置側の重要な処理部を含む。
【００３３】
１４は、縮小前の多値ビットマップとオブジェクト属性を出力するレンダリング部である。
【００３４】
１５は、これから間引きを行う領域がText、Graphics、イメージ、細線、SmallTextのどの属性かを判断するオブジェクト属性判断部である。
【００３５】
１６は、１５で判断されたオブジェクト属性に適した間引き処理を行う間引き縮小部である。
【００３６】
１７は間引き処理部で作成したビットマップをマージして全体の出力ビットマップを生成する印刷データ生成部である。
【００３７】
１８は印刷コマンド制御部で、印刷データ生成部により作成された印刷データに対し、印刷装置に対応した印刷コマンドに変更するものであり、また、印刷コマンド全体を制御する。
【００３８】
１９はOSの機能であり、セントロニクス接続により印刷装置とのデータ送受信を行うデータ送受信部である。
【００３９】
７は印刷装置であり、接続されたホスト装置からの指示に応じた印刷処理等を行う。
【００４０】
ビットマップ縮小処理は図１７に示されるフローチャートに基づいてプログラム化されたものである。以下、図１７のフローチャートを参照しながら本発明に係るビットマップ縮小処理方法について説明する。
【００４１】
まず、図１４−４の入力装置から印刷を実行するように命令が入力されると、図１４−３の補助記憶装置から図１４−２の主記憶装置上に読み込まれたＯＳ、ドライバやアプリケーション（図１５）のうち、ＯＳがそのメッセージを受け取る。ＯＳは現在アクティブであるアプリケーションに印刷実行メッセージを送る。
【００４２】
アプリケーションは、そのメッセージをＯＳが認識できるコマンドに変換して印刷するデータやコマンドのメッセージを送る。ＯＳはドライバの認識できるコマンドに変換して、メッセージを送る。
【００４３】
ドライバに初期化用のメッセージが送られてきたら、プリンタドライバ(図１５−１１)のユーザインターフェース部(図１６−１２)の設定、あるいはデフォルト値により、解像度ビットマップ縮小処理を決定する。
【００４４】
ドライバは通常解像度(600dpi*600dpi)のContoneビットマップと属性ビットマップを作成する。（１７−１）。全ライン終了するまで以下の処理を繰り返す。（１７−２）
600dpi*600dpiを600dpi*400dpiに変更するため３ラインを２ラインに間引いていく。
【００４５】
３ライン取り出し（１７−３）、取り出した３ラインに含まれる属性分(１７−４)、属性に合わせたHalftone処理を繰り返す(１７−５)。
【００４６】
Text, Graphicsに適した間引かれるラインの情報を間引かれない上下のラインに反映するHalftone間引き方法を図１８に示す。元の3ライン(Src)から出力の2ライン(Dst)を生成する。出力の2ライン両方のディザを間引かれる2番目のラインに両方掛けることを特徴としている。
【００４７】
SmallText、細線に適した間引かれるラインの情報を間引かれない片方(上)のラインに反映するHalftone間引き方法を図１９に示す。出力の片方のみのディザを間引かれる2番目のラインに掛けることを特徴としている。
【００４８】
イメージに適した間引かれるラインの情報を間引かれないラインに反映しない(単純間引き)Halftone間引き方法を図２０に示す。間引かれるラインの情報を出力の2ラインに反映させないことを特徴とする。
【００４９】
またContone間引きの一般的な方法を図２１に示す。計算式Dst1 = (Src1 * 2 + Src2) / 3、Dst2 = (Src2 + Src3 * 2) / 3 に従い3ラインを2ラインに間引く。Contoneデータの時点で間引き処理を行うので自然画イメージ等には適していると思われるが、純白や純黒の色が間引かれる際に上下のラインの影響を受けて純白や純黒となくなるため、文字等には使えない。
【００５０】
Halftone処理したイメージをORをとりひとつのイメージに結合する(１７−６)。
【００５１】
以上で、解像度変換ビットマップ縮小処理が終了する。
【００５２】
（他の実施例）
このビットマップ縮小処理は、プリンタドライバではなく、プリンタ内で行なっても同様に成立する。
【図面の簡単な説明】
【００５３】
【図１】ホストにて作成した600*400dpiデータをデバイスで600*600dpiに引き伸ばすフローを示した図である。
【図２】アプリケーション(OS)が解像度変換縮小処理を行った際のフローとその問題点を示した図である。
【図３】ドライバのレンダリングモジュールで解像度変換縮小処理を行った際のフロー図である。
【図４】自然画を単純間引きして縮小処理した際のデータ遷移図である。
【図５】SmallTextが縮小処理の際に描画が欠ける例である。
【図６】細線やSmallTextが縮小処理の際に描画が欠けることがある原因を示した図である。
【図７】オブジェクトハンドリング処理を示す図である。
【図８】本実施形態における画像処理システムの全体構成を示す図である。
【図９】図８における画像処理部の詳細を示したブロック図である。
【図１０】Contone間引きとHalftone間引きのフローを示した図である。
【図１１】間引かれるラインの情報を間引かれないラインに反映する間引き方法を示した図である。
【図１２】Text, Graphicsに最適な間引き処理方法を示した図である。
【図１３】SmallText, 細線に最適な間引き処理方法を示した図である。
【図１４】本実施例の画像処理印刷方法が適用される情報処理システムの構成の一例を示すブロック図である。
【図１５】画像処理方法制御プログラムと関連するデータが、媒体読取装置記憶装置に格納されていたデータが中央処理演算装置に読み込まれ、入力装置から印刷命令が入力されて、プリンタへデータを送るまでの概念図である。
【図１６】本発明の実施例の印刷システム全体構成を示すブロック図である。
【図１７】本発明に係るビットマップ縮小処理の一実施例をあらわすフローチャートである。
【図１８】Text, Graphicsに適したHalftone間引き方法を示した図である。
【図１９】SmallText、細線に適したHalftone間引き方法を示した図である。
【図２０】イメージに適したHalftone間引き方法を示した図である。
【図２１】Contone間引き方法を示した図である。
【符号の説明】
【００５４】
１  中央処理装置
２  主記憶装置
３  補助記憶装置
４  入力装置
５  出力装置
６  媒体読取装置
７  印刷装置
８  ＲＯＭ
９  ＯＳ
１０  アプリケーション
１１  プリンタドライバ
１２  ユーザーインターフェース部
１３  印刷データ制御部
１４  レンダリング部
１５  オブジェクト属性判断部
１６  間引き縮小部
１７  印刷データ生成部
１８  印刷コマンド制御部
１９  データ送受信部（ホスト装置側）
【図１】
2010124220.tif 000003
【図２】
2010124220.tif 000004
【図３】
2010124220.tif 000005
【図４】
2010124220.tif 000006
【図５】
2010124220.tif 000007
【図６】
2010124220.tif 000008
【図７】
2010124220.tif 000009
【図８】
2010124220.tif 000010
【図９】
2010124220.tif 000011
【図１０】
2010124220.tif 000012
【図１１】
2010124220.tif 000013
【図１２】
2010124220.tif 000014
【図１３】
2010124220.tif 000015
【図１４】
2010124220.tif 000016
【図１５】
2010124220.tif 000017
【図１６】
2010124220.tif 000018
【図１７】
2010124220.tif 000019
【図１８】
2010124220.tif 000020
【図１９】
2010124220.tif 000021
【図２０】
2010124220.tif 000022
【図２１】
2010124220.tif 000023