(57)【要約】【課題】単純なＴｒａｎｓｆｏｒｍ縮小処理では１ピクセル幅の水平線等は縮小後に線幅が１ピクセル以下となり、量子化の際に描画されないことがある。また水平線要素および垂直線要素に着目して間引く順位付けをする方式では、水平、垂直から僅かに傾いた線や斜体文字等を適切に処理することができない。【解決手段】描画データからオブジェクト毎に輪郭からエッジを取り出し、輪郭の特徴を残すようにエッジを縮小率に従い間引きしてエッジを再構成する。【選択図】  図１１
2011087283.tif 000002
【特許請求の範囲】
【請求項１】
描画データに対し縮小率に応じて縮小処理を行う画像処理装置であって、
前記描画データにおけるオブジェクトの輪郭からエッジを抽出するエッジ抽出手段と、
前記エッジ抽出手段にて抽出したエッジが含まれるラインのうち、当該オブジェクトにおける外形的特徴を有するラインを、間引き処理の対象としないラインである保存ラインとして特定する保存ライン特定手段と、
当該オブジェクトにおける前記保存ライン以外のラインを間引きすることで前記描画データの縮小処理を行う間引き処理手段と、
を有し、
前記保存ライン特定手段は、
当該オブジェクトにおける外形的特徴を前記エッジの特性に応じて判定することで保存ラインを特定する
ことを特徴とする画像処理装置。
【請求項２】
前記エッジ抽出手段は、
前記オブジェクトの輪郭におけるＸ軸方向もしくはＹ軸方向の少なくとも一方において正負が変わる変極点から他の変極点までを一続きとしたベクトルをエッジとして抽出し、
前記保存ライン特定手段は、
前記ラインにおけるエッジの特性として、当該エッジの始点、終点、または交点、もしくは、エッジ間の変極点のうちいずれかを含む場合に、当該ラインが当該オブジェクトの外形的特徴を有するとして、前記保存ラインを特定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記間引き処理手段による当該ラインの間引きにより分割された当該エッジを結合する結合手段をさらに有することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記間引き処理手段は、
処理対象であるオブジェクトを構成するライン数を算出する算出手段と、
前記縮小率により間引くべきライン数を決定する決定手段と、
前記オブジェクトのラインからラインを間引きする間引き手段と、
を有することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記結合手段において、分割された前記エッジを結合する方法は、分割された当該エッジのうち、分割前におけるエッジの始点側のエッジの始点ともう一方の分割されたエッジの終点とを結び、新たにエッジを作成することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記結合手段において、分割された前記エッジを結合する方法は、分割された一方あるいは両方のエッジを互いの位置に近づく方向に移動させて結合することを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記エッジ抽出手段は、複数のオブジェクトを含む描画データに対し、前記オブジェクトそれぞれにエッジ抽出を行い、
前記結合手段は、当該オブジェクトそれぞれにおける前記縮小処理されたエッジをマージすることを特徴とする請求項４乃至６のいずれか一項に記載の画像処理装置。
【請求項８】
Ｘ軸方向もしくはＹ軸方向の少なくとも一方に対して前記縮小処理が可能であることを特徴とする請求項１乃至７のいずれか一項に記載の画像処理装置。
【請求項９】
前記オブジェクトが凸図形であるか凹図形であるかを判定基準として、当該オブジェクトが凸図形の場合に前記間引き処理手段における縮小処理を適用することを特徴とする請求項１乃至８のいずれか一項に記載の画像処理装置。
【請求項１０】
前記間引き手段は、前記決定手段により決定したライン数が、当該オブジェクトにおいて前記保存ライン以外のラインよりも多い場合、差分となる数のラインを前記保存ラインの中から間引くことを特徴とする請求項４乃至９のいずれか一項に記載の画像処理装置。
【請求項１１】
前記間引き手段は、前記決定手段により決定したライン数が、当該オブジェクトにおいて前記保存ライン以外のラインよりも多い場合、当該オブジェクトに含まれるラインにおいて、一定の間隔で間引きすることを特徴とする請求項４乃至９のいずれか一項に記載の画像処理装置。
【請求項１２】
前記間引き手段は、前記決定手段により決定したライン数が、当該オブジェクトにおいて前記保存ライン以外のラインよりも多い場合、当該オブジェクトに含まれるラインにおいて、連続したラインとならない間隔で間引きすることを特徴とする請求項４乃至９のいずれか一項に記載の画像処理装置。
【請求項１３】
前記間引き手段は、前記決定手段により決定したライン数が、当該オブジェクトにおいて前記保存ライン以外のラインよりも多い場合、前記決定手段に決定したライン数に関わらず、当該オブジェクトにおいてラインを間引きしないことを特徴とする請求項４乃至９のいずれか一項に記載の画像処理装置。
【請求項１４】
前記間引き手段は、前記決定手段により決定したライン数が、当該オブジェクトにおいて前記保存ライン以外のラインよりも多い場合、前記決定手段に決定したライン数に関わらず、当該オブジェクトのラインにおいて前記保存ライン以外のラインのみを間引きすることを特徴とする請求項４乃至９のいずれか一項に記載の画像処理装置。
【請求項１５】
描画データに対し縮小率に応じて縮小処理を行う画像処理装置の制御方法であって、
前記画像処理装置のエッジ抽出手段が、前記描画データにおけるオブジェクトの輪郭からエッジを抽出するエッジ抽出工程と、
前記画像処理装置の保存ライン特定手段が、前記エッジ抽出工程にて抽出したエッジが含まれるラインのうち、当該オブジェクトにおける外形的特徴を有するラインについては、間引き処理の対象としないラインである保存ラインとして特定する保存ライン特定工程と、
前記画像処理装置の間引き処理手段が、当該オブジェクトにおける前記保存ライン以外のラインを間引きすることで前記描画データの縮小処理を行う間引き処理工程と
を有し、
前記保存ライン特定工程は、
当該オブジェクトにおける外形的特徴を前記エッジの特性に応じて判定することで保存ラインを特定する
ことを特徴とする制御方法。
【請求項１６】
コンピュータを、
描画データにおけるオブジェクトの輪郭からエッジを抽出するエッジ抽出手段と、
前記エッジ抽出手段にて抽出したエッジが含まれるラインのうち、当該オブジェクトにおける外形的特徴を有するラインについては、間引き処理の対象としないラインである保存ラインとして特定する保存ライン特定手段と、
当該オブジェクトにおける前記保存ライン以外のラインを間引きすることで前記描画データの縮小処理を行う間引き処理手段と
して機能させ、
前記エッジ抽出手段は、
当該オブジェクトの輪郭が有するベクトルを用いて、当該エッジとなる箇所を抽出し、
前記保存ライン特定手段は、
当該オブジェクトにおける外形的特徴を前記エッジの特性に応じて判定することで保存ラインを特定する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、制御方法、及びプログラムに関するものである。特に画像縮小処理に関するものである。
【背景技術】
【０００２】
近年、省資源の観点からＮ−ｕｐ等を利用することで印刷枚数を少なくする取り組み等が行われている。しかし、Ｎ−ｕｐ等、描画データを縮小する際に図１（ａ）の様に、細い水平線が消えてしまう場合がある。縮小のためにビットマップを間引く方式は様々あるが、品位が良くないといった問題を有する（ＢＬＡＣＫＯＮＷＨＩＴＥ（２値用），ＷＨＩＴＥＯＮＢＬＡＣＫ（２値用），ＣＯＬＯＲＯＮＣＯＬＯＲ（多値用），ＨＡＬＦＴＯＮＥ（多値用））。またこれらは２値データを主な対象としていたり、多値データの場合はスムージングと合わせて処理することを前提としていたりと制約が多い。例えば、文字ビットマップは解像度に合わせて作成されているため、縮小されるのを想定しておらず形が崩れる。また間引くラインの両端にＯＲを取り情報を反映させる２値データには有効な手段があるが、多値データでは異なる色のＯＲを取ると、色が滲んでしまうので有効でない。２値もしくは多値データに対して有効な縮小方法としては、描画データのアウトラインのＶｅｃｔｏｒデータを縮小する方法がある。これは、Ｖｅｃｔｏｒデータに変換行列を掛けてＴｒａｎｓｆｏｒｍ処理を行い縮小する方法である。また水平線要素および垂直線要素に着目して間引く順位付けをする方法もある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−９３８９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、単純なＴｒａｎｓｆｏｒｍ処理では１ピクセル幅の水平線等は縮小後に線幅が１ピクセル以下となり、量子化の際に描画されないことがあるといった課題があった（図１（ｂ））。また特許文献１のように水平線要素および垂直線要素に着目して間引く順位付けをする方法では、水平、垂直から僅かに傾いた線や斜体文字等を適切に処理することができない。
【課題を解決するための手段】
【０００５】
描画データに対し縮小率に応じて縮小処理を行う画像処理装置であって、前記描画データにおけるオブジェクトの輪郭からエッジを抽出するエッジ抽出手段と、前記エッジ抽出手段にて抽出したエッジが含まれるラインのうち、当該オブジェクトにおける外形的特徴を有するラインについては、間引き処理の対象としないラインである保存ラインとして特定する保存ライン特定手段と当該オブジェクトにおける前記保存ライン以外のラインを間引きすることで前記描画データの縮小処理を行う間引き処理手段とを有し、前記保存ライン特定手段は、当該オブジェクトにおける外形的特徴を前記エッジの特性に応じて判定することで保存ラインを特定する。
【発明の効果】
【０００６】
本発明によれば、１ピクセル幅の水平線、垂直線や細線等に対して、線の欠けなどの品位劣化を起こさずに描画オブジェクトを縮小することができる。また、処理対象とする線が水平線もしくは垂直線という判断を行わないため、水平、垂直から僅かに傾いた線や斜体文字等に対しても適切に縮小処理を行うことができる。また２値データのみならず多値データに対しても高品位の縮小処理を行うことができる。
【図面の簡単な説明】
【０００７】
【図１】本発明に係る課題を説明するための図。
【図２】本実施形態に係る画像処理システムの構成の一例を示した図。
【図３】本実施形態に係る画像処理システム全体構成を示すブロック図。
【図４】本実施形態に係る画像処理システムのブロック図。
【図５】本実施形態に係るエッジ抽出を示した図。
【図６】本実施形態に係るエッジ抽出の処理を示すフローチャートの図。
【図７】本実施形態に係る「保存ライン」の特定例を示した図。
【図８】本実施形態に係る画像を縮小する例を示した図。
【図９】本実施形態に係る間引き方法を示した図。
【図１０】本実施形態に係る間引き後のエッジの結合方法を示した図。
【図１１】本実施形態に係るオブジェクト毎の縮小処理を示すフローチャートの図。
【図１２】本実施形態に係る水平・垂直から僅かに傾いた線に対する処理を示した図。
【図１３】本実施形態に係る画像のオブジェクト毎に処理する場合を示した図。
【図１４】本実施形態に係る処理の適用例を示す図。
【図１５】本実施形態に係る縮小処理方法を切り分け基準の例を示した図。
【図１６】本実施形態に係るエッジ抽出の例を示す図。
【発明を実施するための形態】
【０００８】
以下、本発明を実施するための最良の形態について図面を用いて説明する。画像処理システムにおいて特にプリンタドライバ内に本発明である描画オブジェクト縮小方法を適合させた場合の実施形態である。しかしこの描画オブジェクト縮小方法は、プリンタドライバではなく、印刷装置内で行っても同様に成立する。またこの描画オブジェクト縮小方法は、ディスプレイ装置やその他画像処理を行うアプリケーションで行っても同様に成立する。
【０００９】
＜第一の実施形態＞
図２（ａ）は本描画オブジェクト縮小方法が適用される画像処理システムの構成の一例を示すブロック図である。図２（ａ）において、中央処理装置１は、プログラムおよび関連データが記憶されているＦＤ、ＣＤ−ＲＯＭ、ＩＣメモリカード等の記憶媒体を本システムに接続された媒体読取装置６から読み込む。その後、補助記憶装置３から主記憶装置２にロードされたシステムプログラム、アプリケーションプログラムによって、入力装置４から入力される情報を処理し、出力装置５や印刷装置７に出力する。なお、本実施形態では、出力装置５はディスプレイなどの表示装置とし、本来、出力装置５に含まれる印刷装置７と区別する。また、入力装置４はキーボード、ポインティングデバイス等で構成されているものとする。さらに補助記憶装置３は、ハードディスク、光磁気ディスクで構成されるものであってもいいし、これらの組み合わせで構成されるものであってもよい。また、それぞれの装置がネットワークを介して接続されていてもよく、本発明を制約するものではない。
【００１０】
図２（ｂ）は、画像処理システムにおいて、記憶装置に格納されていた画像処理方法制御プログラムと関連するデータが中央処理装置１に読み込まれ、入力装置４から印刷命令が入力されて、印刷装置７へデータを送り印刷するまでの概念図をあらわす。アプリケーション１０、ドライバ１１ともＯＳ９の制御下で機能する。
【００１１】
図３は、本発明の構成を示すブロック図である。同図にて示されたＯＳ９は、後述する本発明の画像処理システムにおける情報処理装置（ホスト装置）を制御する。なお、ホスト装置は、後述する印刷装置７とセントロニクスインタフェースにより接続されている。ドライバ１１はＯＳ９上に印刷装置７を制御するプリンタドライバ（アプリケーションソフト）である。ユーザインタフェース部１２は、ユーザが印刷装置７に対しての各種印刷設定等を入力したり、印刷開始指示をしたりするための部位である。印刷データ制御部１３は、アプリケーション１０から指定される描画命令を受け、印刷装置７において処理できるデータを作成する。印刷データ制御部１３は、本発明である画像処理システムにおけるホスト装置側の重要な処理部を含む。
【００１２】
エッジ抽出部１４は、オブジェクトの輪郭からエッジを抽出する。保存ライン特定部１５は、注目ラインが間引いてはいけない箇所か否かを判定し、特定する。なお、ここでは間引いてはいけないラインを、便宜上、“保存ライン”と呼ぶ。間引き処理部１６は、保存ライン特定部１５で特定した保存ライン以外のラインを縮小率にしたがって間引く。エッジ結合部１７は、間引き処理部１６で間引かれ分割されたエッジを結合する。印刷データ生成部１８は、レンダリングを行い、ビットマップデータやＰＤＬデータ等の印刷データを作成する。印刷コマンド制御部１９は、印刷データ生成部１８により作成された印刷データに対し、印刷装置７に対応した印刷コマンドに変換する。また、印刷コマンド全体を制御する。データ送受信部２０はＯＳが提供する機能の一つであり、セントロニクスインタフェースにより印刷装置７とのデータ送受信を行う。印刷装置７は、接続されたホスト装置からの指示に応じた印刷処理等を行う。
【００１３】
図４が本実施形態における画像処理システムの処理に係るブロック図である。エッジ抽出部１４では描画データのオブジェクト毎に輪郭からエッジを抽出する。エッジの抽出方法としては、図５（ａ）のように輪郭の変極点までを一続きとしたベクトル、もしくは、輪郭のＹ軸方向の変極点までを一続きとしたベクトルをエッジとして抽出する。ここではＸ軸方向、もしくはＹ軸方向における正負の符号が変わる点を変極点とする。
【００１４】
［エッジ抽出］
以下、図１６と図６のフローチャートを参照しながら輪郭の変極点までを一続きとしたエッジの抽出方法について説明する。図１６は、六角形のオブジェクトの例である。図６の処理はプリンタドライバのプログラムの処理である。Ｓ５０１にて、縮小するオブジェクトの輪郭における外接ベクトル（以下、ベクトル）を取得する。図１６では、ａ，ｂ，ｃ，ｄ，ｅ，ｆの６つのベクトルが取得される。次にＳ５０２にて、始点が右上（Ｙ座標最大のうちＸ座標も最大）のベクトルを１つ目の注目エッジとする。図１６では、ベクトルａである。続いて、Ｓ５０５からＳ５０８の処理をオブジェクトの全ベクトルに対して繰り返す（Ｓ５０３、Ｓ５０４）。Ｓ５０５において、注目エッジの終点につながる別のベクトルを選択する。図１６では、注目エッジであるベクトルａの終点につながるベクトルｂを選択する。ここで注目エッジと選択されたベクトルとがつながる点を接点とする。図１６では、ベクトルａとベクトルｂとのつながる点が接点である。次にＳ５０６にて、注目エッジの象限とＳ５０５にて選択したベクトルの象限とを比較する。ここでの象限とはＸ軸方向、Ｙ軸方向の正負によって４つに分けられ、Ｘ＞０、かつＹ＞０であれば第一象限、Ｘ＜０、かつＹ＞０であれば第二象限、Ｘ＜０、かつＹ＜０であれば第三象限、Ｘ＞０、かつＹ＜０であれば第四象限となる。いずれのベクトルにおいても上記の４つの象限のいずれかに属することとなる。ただし、水平ベクトル・垂直ベクトルは性質が異なる。＋Ｘ方向向きの水平ベクトルは第一象限と第四象限との両方に属する。同様に−Ｘ方向向きの水平ベクトルは第二象限と第三象限、＋Ｙ方向向きの垂直ベクトルは第一象限と第二象限、−Ｙ方向向きの垂直ベクトルは第三象限と第四象限との両方に属する。
【００１５】
Ｓ５０６において比較した結果、注目エッジと選択したベクトルとの象限が異なれば、注目エッジと選択したベクトルとの接点は変極点となるため、Ｓ５０７にて注目エッジをリストに格納する。そして、Ｓ５０８にて、選択したベクトルを新たな注目エッジとする。図１６ではベクトルａは第四象限に属し、ベクトルｂは第三象限に属するため、変極点となる。よって、ベクトルａは、単独でエッジとしてリストに格納される。その後、ベクトルｂが注目エッジとなる。Ｓ５０６にて、象限が同じであると判定された場合には、Ｓ５０９にて注目エッジと選択したベクトルとを結合する。図１６ではベクトルｂは第三象限、ベクトルｃも第三象限(−Ｘ方向の水平ベクトル)なので、それらのベクトルを結合したものが注目エッジとなる(図１６に示すベクトルｇ)。続いて、注目エッジにつながるベクトルｄを選択するが、ベクトルｄは第二象限に属するため、ベクトルｇとは象限が異なり、ベクトルｄとベクトルｇとの接点が変極点となる。注目エッジであるベクトルｇがエッジとしてリストに格納される。その後、新たにベクトルｄが注目エッジとなる。上記処理が全てのベクトルに対して適用された後、Ｓ５１０にて、最後のベクトルをエッジとしてリストに格納する。なお、リストには取得したベクトルの中から抽出された全エッジが格納されている。結果として、図１６に示す例の場合、ベクトルａ，ｇ，ｄ，ｈがリストに格納された全エッジとなる。なお、輪郭のＹ軸方向の変極点までを一続きとした場合には、Ｓ５０６にて「注目エッジと選択したベクトルとのＹ軸方向の正負が変わるか」によって判定する。図１６に示す例の場合、ベクトルｉ，ｊの２つがリストに格納された全エッジとなる。
【００１６】
［保存ライン特定］
保存ライン特定部１５では、オブジェクトの輪郭の特徴を示す「間引いてはいけないライン」を保存ラインとして特定する。ここでの輪郭の特徴とは、エッジ間での関係性（接続状態）やオブジェクトにおける位置関係などが挙げられる。なお、例えば図５（ｂ）のようにＹ軸方向に縮小する場合は、変極点のあるラインを“保存ライン”とみなす。ここでは、変極点を含むラインをオブジェクトの輪郭の特徴を示していると判定している。図５（ｂ）にて示したオブジェクトにおいては、矢印にて示したライン（Ｙ軸方向の２、５、６、１０ライン）がそれぞれ該当する。なお、これに限定するわけではなく、他にもエッジの始点、終点、交点があるラインを保存ラインとしてもよい。保存ラインの特定において、オブジェクトの外形的特徴に基づいた判断基準の例を図７にて説明する。変極点の有無を判断基準とする例を図７（ａ）に示す。また、始点、終点、交点の有無を判断基準にする例を図７（ｂ）に示す。
【００１７】
図７（ａ）では、ベクトルの向きの象限が変わっている場合は、変極点とする基準を示している。つまり、ベクトル同士の接点＝変極点となる。変極点が含まれる場合、オブジェクトにおける特徴を示す場合が多いため、変極点を含む箇所（ライン）は間引かない箇所として判定することができる。これに対し、ベクトルの向きの象限が変わっていない場合は、変極点としない。つまり、接点≠変極点となる。
【００１８】
また、図７（ｂ）では、エッジの視点、終点、交点により判定する基準を示している。エッジの視点、終点、交点は、オブジェクトにおける特徴を示す場合が多いため、変極点と同様に間引かない箇所として判定することができる。また、エッジが通過しているだけの箇所やエッジを含まない箇所については、間引く候補とすることができる。
【００１９】
以上のように、オブジェクトの輪郭において、外形的な特徴を判定基準とすることで保存ラインとすべき箇所を特定することができる。
【００２０】
［間引き処理／結合処理］
間引き処理部１６では保存ライン特定部１５で特定された保存ライン以外のラインから縮小率に応じてＭライン毎にＮラインを間引く。例えば、オブジェクトを６６％（２／３）に縮小する場合、３ライン毎に１ライン、もしくは６ラインごとに２ライン、９ライン毎に３ラインを間引くといった、３ラインに１ラインの割合で間引くこととなる。エッジ結合部１７では間引き処理部１６でラインが間引かれた結果、分割されたエッジを結合する。
【００２１】
図８にオブジェクトをＹ軸方向に６６％（２／３）縮小する例を示す。ここでは、オブジェクトの高さが９ラインなので、３ラインを間引くこととなる。保存ライン（矢印のライン）以外から３ラインを選択して（グレーで示したライン）を間引く。その後、ラインが間引かれた結果、分割されたエッジを結合する。このようにＹ軸方向に縮小しても、重要な水平な１ｐｉｘｅｌ線が消えない。なお、間引くラインは保存ライン以外のラインのうち、Ｍラインの中から最初のラインでも最後のラインでもランダム選択しても構わない。
【００２２】
ここで、保存ラインが多く、間引けるラインが足りない場合がある。図９を用いて、このような場合の処理方法について述べる。例えば、「一定の間隔で間引く」、「連続して間引かないようにランダムに間引く」、「間引かない（そのオブジェクトだけ元の大きさのまま）」、「間引くラインを減らす」等の処理を行うことで本処理が適用可能となる。「連続して間引かないようにランダムに間引く」方法では輪郭が大きく崩れないように連続してラインは間引かない。「間引かない（そのオブジェクトだけ元の大きさのまま）」方法では上下のオブジェクトと重なる可能性があるが、描画の形は保たれる。複雑で小さな文字等では非常に有効である。例えば９ラインのオブジェクトを６ラインに縮小すべき場合において、９ラインのまま描画する。このとき、文字等の場合は上下のオブジェクトの間隔が３ライン以上あるといった場合が多いためである。「間引くラインを減らす」方法では間引けるラインがあれば間引き、無ければ間引かない。あるいは間引けるラインは無いが、４ライン間引く必要があるので、半分の２ラインのみ間引くといった縮小処理を行う。「間引かない（そのオブジェクトだけ元の大きさのまま）」及び「間引くラインを減らす」をいった方法は、オブジェクトは期待した縮小率ほど小さくならないが、輪郭がある程度保たれる利点がある。なお、ここでは、４つの方法を挙げたが、これに限定されるものではなく、他の方法を用いてもよい。また、縮小処理を行うオブジェクトの特性に応じて、適用する方法を変更してもよい。
【００２３】
続いて、ラインを間引くことにより、エッジが分割された場合に、エッジを結合して再構成する必要がある。このとき、エッジの結合方法は図１０で示すように、例えば「分割されたエッジの始点と終点を結ぶ」、「エッジをスライドさせて結ぶ」等の方法が挙げられる。「分割されたエッジの始点と終点を結ぶ」方法では、分割されたエッジのうち、分割前のエッジにおける始点側のエッジの始点と、もう一方の分割されたエッジの終点とを結んだ新たなエッジを生成する。この方法では、縮小処理を適用する前のエッジにおける始点、終点の位置関係が保たれるという利点がある。また、「エッジをスライドさせて結ぶ」方法では、分割されたエッジのうち、分割前のエッジにおける始点側のエッジともう一方のエッジのいずれか一方もしくは両方を互いに近づく方向にスライドして移動させる。そして、元のエッジにおける始点側のエッジの終点ともう一方のエッジの始点とを結んだエッジを生成する。この方法では、エッジの角度が保たれるという利点がある。なおここでは分割されたエッジに対する２つの結合の方法を挙げたが、これに限定されるものではなく、他の方法を用いてもよい。また、結合処理を行うオブジェクトの特性に応じて、適用する方法を変更してもよい。
【００２４】
［縮小処理フロー］
描画オブジェクトを縮小する本画像処理方法は図１１に示されるフローチャートに基づいてプリンタプログラムでプログラム処理されたものである。以下、図１１のフローチャートを参照しながら本実施形態に係る画像処理方法について説明する。
【００２５】
なお、図２（ａ）において、入力装置４から印刷を実行するように命令が入力されると、補助記憶装置３から主記憶装置２上に読み込まれたＯＳ９がそのメッセージを受け取る。そして、ＯＳ９は現在アクティブであるアプリケーション１０に印刷実行メッセージを送る。アプリケーション１０は、受け取ったメッセージをＯＳ９が認識できるコマンドに変換して、印刷するデータやコマンドのメッセージをＯＳ９に送る。ＯＳ９は受信した情報をドライバ１１が認識できるコマンドに変換して、ドライバ１１にメッセージを送る。ドライバ１１に初期化用のメッセージが送られてきたら、ドライバ１１のユーザインタフェース部１２の設定、あるいはデフォルト値により、各種設定を決定する。
【００２６】
Ｓ１８０１にて、ドライバ１１は描画オブジェクトのエッジ、Ｃｏｌｏｒ、重なり情報などのオブジェクト情報を抽出する。なお、ここで抽出するオブジェクト情報は、ここで挙げたものに限定されず、オブジェクトが有する他の情報を含んでもよい。Ｓ１８０２にて、オブジェクトおける高さ（ライン数）を算出する。Ｓ１８０３にて、指定された縮小率に応じてＭライン毎にＮラインを間引くかを決定する。続いて、Ｓ１８０４にてオブジェクトの高さ（ライン数）の分だけＳ１８０５からＳ１８１１の処理を繰り返す。Ｓ１８０５にて、Ｓ１８０３にて決定した縮小率に応じた、間引くべきライン数（Ｍライン毎にＮライン）に達するか、もしくは処理単位であるＭライン分の処理を適用するまで、Ｓ１８０６からＳ１８０８の処理を繰り返す。Ｓ１８０６では、注目ラインが量子化による画像品質の影響が少ないライン（つまり、保存ライン以外のライン）か否かを判定する。ここでの判定基準は、図７を用いて述べた方法により判定する。Ｓ１８０６にて影響が少ないと判定された場合、Ｓ１８０７にて注目ラインを間引く。そして、Ｓ１８０８にて、間引き処理にて分割されたオブジェクトのエッジを結合し保持する。Ｓ１８０６にて影響が少なくないと判定された場合、注目ラインを次のラインに変更し、処理を繰り返す。なお、Ｓ１８０８の処理に関しては、上記のように注目オブジェクトのラインに対し処理を行うごとに実行してもよいが、全てのラインに対し処理を適用した後に実行してもよい。この場合は、Ｓ１８０９の前に実施することとなる。
【００２７】
続いて、Ｓ１８０９にて、注目オブジェクトに対する間引き処理（Ｓ１８０５からＳ１８０８）において、縮小率に応じた、間引くべきライン数（Ｍライン毎にＮライン）がＳ１８０６の判定により間引けなかったか否かを判定する。つまり、量子化による影響が少ないラインの数（保存ライン以外のライン数）が間引くべきライン数（Ｎ）より少なかったか否かを判定する。縮小率に応じたライン数を間引くことができていれば、Ｓ１８１２へ進む。間引くことができていなければ、Ｓ１８１０にて、すでに間引いたライン数との差分を間引く。なお、ここにおいて追加で間引く方法は、保存ラインのうちから間引くべきラインの数に達するまで必ず間引くようにしてもよいし、図９を用いて述べた各方法を用いて間引いてもよい。また、オブジェクトの特性に応じて変更してもよい。そして、Ｓ１８１１にて、間引かれたエッジを結合し保持する。結合方法については、図１０にて述べた方法を用いて行う。そして、Ｓ１８１２にて、ここまでに生成されたエッジ等の情報及びオブジェクト情報からレンダリングを行う。以上の処理を全てのオブジェクトの高さ（ライン数）の分だけ繰り返して適用することで本フローが終了する。
【００２８】
本発明では、エッジの特徴点（変極点など）に着目した間引きによって縮小処理を行うことにより、図１２に示すような水平、垂直成分に着目するため斜体文字や僅かに水平、垂直から傾いた線を間引いてしまうといったことがない。また閉区間等を判定するといった面倒な処理も必要としない。
【００２９】
以上、１ピクセル幅の水平線、垂直線や細線等に対して、線の欠けなどの品位劣化を起こさずに描画オブジェクトを縮小することができる。また、処理対象とする線が水平線もしくは垂直線という判断を行わないため、水平、垂直から僅かに傾いた線や斜体文字等に対しても適切に縮小処理を行うことができる。また２値データのみならず多値データに対しても高品位の縮小処理を行うことができる。
【００３０】
＜第二の実施形態＞
第一の実施形態においては、複数のオブジェクトが画像データ内において重複していない場合を想定した実施形態について述べた。第一の実施形態でも述べたように、エッジ抽出部１４では描画データのオブジェクト毎に処理している。これは、複数のオブジェクトが含まれるような、複雑な描画データ（オブジェクト）に対しても処理できるようにすることができる。第二の実施形態では、図１３に示すように、オブジェクトが複雑に重なりあっている場合を想定した処理方法について述べる。図１３に示したように複数のオブジェクトが複雑に重なり合っている場合、画像全体ではオブジェクトにおける間引くラインを特定することは困難である。しかし、オブジェクト毎に分けて処理を行えば、間引くラインを抽出することが容易になる。つまり、オブジェクト毎にエッジを縮小し、その後にマージすることとなる。多くが第一の実施形態と同じであるため、差分のみを述べる。
【００３１】
本実施形態において、図６にて示したエッジ抽出処理を実施する前に、描画データにおける複数のオブジェクトを抽出する。そして、図６におけるエッジ抽出を各オブジェクトに適用する。その後、図１１にて述べた縮小処理において、Ｓ１８０１では各オブジェクトの情報を取得する。その後、図１１の処理を全てのオブジェクトに適用する。そして、Ｓ１８１２にて、全てのオブジェクトがレンダリングされることにより、抽出された複数のオブジェクトはマージされ、出力されることとなる。
【００３２】
以上、本実施形態において、第一の実施形態にて述べた効果に加えて、一の描画データに複数のオブジェクトが含まれており、複雑な画像であっても本処理を適用することが可能である。
【００３３】
［適用例］
以下に本発明における適用例を述べる。なお、ここで挙げられる適用例は一例であり、これに限定するものでは無い。図１４（ａ）に示すように、スキャナで読み取ったスキャンビットマップをＮ−ｕｐ等で印刷するためにビットマップのまま縮小すると品位が悪くなってしまう。そこでスキャンビットマップからアウトラインデータを取り出して本手法を適用することで、縮小印刷等でも品位の良い結果が得られる。また、図１４（ｂ）に示すように、ファイルサーバの機能を持った複写機（ストレージシステム）が存在する。内部フォルダに格納された各種データ（ＰＤＦ，ＪＰＥＧ，ＴＩＦＦ，ＸＰＳ等）をプレビューする機能がある。プレビューはパフォーマンスが良く、かつ縮小時でも印刷結果のリファレンスとしての品位が求められる。各種データをベクトルデータに変換して本手法を適用することで、ビットマップを縮小する場合に比べて、パフォーマンスが良くかつ品位の高い縮小処理が実現でき高機能なプレビューに対応できる。
【００３４】
また、最も単純なベクターデータの縮小方法として変換行列でＴｒａｎｓｆｏｒｍ処理する方法がある。凸図形の場合は縮小時に消えやすい箇所が少ないため、エッジに処理が単純な一般的なＴｒａｎｓｆｏｒｍ処理を掛けて縮小してもよい。凸図形でない（凹図形）場合は縮小時に消え易い箇所が多いため、本実施形態に係る縮小方法が効果的である。よって凸図形であるかによって、変換行列でのＴｒａｎｓｆｏｒｍ処理と本手法を切り分けることでより効率的に縮小処理を行うことも可能である。凸図形かどうかは、図１５に示すように隣り合うエッジの外積がすべて同じ符号かどうかで判定できる。なお、凸図形か凹図形かの判定方法は、これに限定されるわけではなく、図形の特徴を判定できればどのような方法を用いてもよい。また、本判定は、図６で示したエッジ抽出部１４の処理の後に判定し、オブジェクトの特性に応じていずれの方法を適用するかを決定すればよい。
【００３５】
また、この縮小処理は、プリンタドライバではなく、プリンタ内で行っても同様に成立する。つまり図３のコントローラ部２２でも同様の処理が可能となる。
【００３６】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011087283.tif 000003
【図２】
2011087283.tif 000004
【図３】
2011087283.tif 000005
【図４】
2011087283.tif 000006
【図５】
2011087283.tif 000007
【図６】
2011087283.tif 000008
【図７】
2011087283.tif 000009
【図８】
2011087283.tif 000010
【図９】
2011087283.tif 000011
【図１０】
2011087283.tif 000012
【図１１】
2011087283.tif 000013
【図１２】
2011087283.tif 000014
【図１３】
2011087283.tif 000015
【図１４】
2011087283.tif 000016
【図１５】
2011087283.tif 000017
【図１６】
2011087283.tif 000018