(57)【要約】【課題】ベクトル形式の図形データからビットマップ形式の図形データを得るのにあたり、描画図形の回転が必要となる場合であっても、回転させないときと図形の描画位置にずれが生じてしまうことなく、図形間の位置関係を保てるようにする。【解決手段】ベクトル形式の図形データからビットマップ形式の図形データを得る画像処理装置１０を、前記ベクトル形式の図形データに基づいて特定される実数空間上における図形を前記ビットマップ形式の図形データとして表現可能なピクセル空間上における図形に座標変換する座標変換手段２３と、その座標変換にあたって前記ピクセル空間上における図形の回転を伴う場合にその回転角に応じた補正値を前記ピクセル空間上における図形の座標値に加える補正を行う補正手段２３ａとを備えて構成する。【選択図】        図１
2005004318.tif 000002
【特許請求の範囲】
【請求項１】
ベクトル形式の図形データからビットマップ形式の図形データを得るための画像処理装置であって、
前記ベクトル形式の図形データに基づいて特定される実数空間上における図形を、前記ビットマップ形式の図形データとして表現可能なピクセル空間上における図形に座標変換する座標変換手段と、
前記座標変換手段による座標変換にあたって前記ピクセル空間上における図形の回転を伴う場合に、その回転角に応じた補正値を前記ピクセル空間上における図形の座標値に加える補正を行う補正手段と
を備えることを特徴とする画像処理装置。
【請求項２】
ベクトル形式の図形データからビットマップ形式の図形データを得るための画像処理プログラムであって、
コンピュータを、
前記ベクトル形式の図形データに基づいて特定される実数空間上における図形を、前記ビットマップ形式の図形データとして表現可能なピクセル空間上における図形に座標変換する座標変換手段と、
前記座標変換手段による座標変換にあたって前記ピクセル空間上における図形の回転を伴う場合に、その回転角に応じた補正値を前記ピクセル空間上における図形の座標値に加える補正を行う補正手段
として機能させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ベクトル形式の図形データからビットマップ形式の図形データを得るための画像処理装置および画像処理プログラムに関する。
【０００２】
【従来の技術】
近年、パーソナルコンピュータ等の普及に伴い、コンピュータ上で動作する文書作成アプリケーションプログラム（以下「文書作成ＡＰ」という）を用いて、図形（グラフィックス）、文字、自然画（イメージ）等が混在する文書を作成し、これをＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）等の表示装置やプリンタ等の印刷装置で画像出力する、といったことが広く行われている。このようなコンピュータの使用形態を実現する文書作成ＡＰは、自然画についてはラスター形式の図形データで、図形および文字についてはベクトル形式の図形データで、それぞれを表現することが一般的である。したがって、図形または文字について画像出力を行う場合には、ベクトル形式で表現された図形データの描画処理を行うことが必要となる。
【０００３】
ベクトル形式で表現された図形データの描画処理には、例えば、図形の輪郭内をある色で塗り潰す処理と、図形の輪郭線をある幅で描画する処理とがある。ただし、これらの図形は仮想の実数空間における座標軸上に描画されるので、その図形について画像出力するためには、これをビットマップ形式の図形データとして表現可能なピクセル空間上の図形に座標変換しなければならない。このことから、ベクトル形式で表現された図形データの描画処理には、その図形データによって特定される図形を実数空間上に描画した後、その図形をピクセル空間上に座標変換する処理をも含むものとする。
【０００４】
このような図形データの描画処理の手法一つとして、例えばハーフスキャンコンバージョン方式によるものが知られている（例えば、非特許文献１参照）。ここで、ハーフスキャンコンバージョン方式による描画処理について説明する。
【０００５】
図６〜図８は、ハーフスキャンコンバージョン方式により矩形の輪郭内を塗り潰す場合の描画処理の説明図である。図６では、実数空間上に描画された矩形Ａ、矩形Ｂ、矩形Ｃの位置を示している。図中において、矩形Ａの左上座標は（１．０，１．０）、右下座標は（３．０，２．０）、矩形Ｂの左上座標は（３．０，１．０）、右下座標は（５．０，２．０）、矩形Ｃの左上座標は（１．０，２．０）、右下座標は（５．０，４．０）となっている。この実数空間上では、矩形Ａの右辺のＸ座標と矩形Ｂの左辺のＸ座標は一致している。また、矩形Ａと矩形Ｂの下辺のＹ座標と矩形Ｃの上辺のＹ座標は一致している。これに対して、図７は、矩形Ａ、Ｂ、ＣのＸ，Ｙ座標に、それぞれ「０．５」を加えた結果を示している。これにより、例えば矩形Ａの左上座標は（１．０，１．０）から（１．５，１．５）に、右下座標は（３．０，２．０）から（３．５，２．５）に移動する。さらに、図８は、（ｂ）における座標値を基に、矩形Ａ、Ｂ、Ｃをそれぞれピクセル空間上で描画した結果を示している。例えば、矩形Ａに対しては、ピクセル空間における座標軸上の（１，１）と（２，１）の位置にあるピクセルが選択されている。
【０００６】
このような図６に示す矩形から図８に示す矩形への変換処理は、その変換対象となる矩形の左上と右下の座標に対して、以下のような演算処理を行うことで実現される。すなわち、左上座標に対しては、以下の（１）式および（２）式を用いた演算処理を行う。
Ｘｌｕ’＝ｆｌｏｏｒ（Ｘｌｕ＋０．５）・・・（１）
Ｙｌｕ’＝ｆｌｏｏｒ（Ｙｌｕ＋０．５）・・・（２）
また、右下座標に対しては、以下の（３）式および（４）式を用いた演算処理を行う。
ＸｒＢ’＝ｆｌｏｏｒ（ＸｒＢ＋０．５）−１・・・（３）
ＹｒＢ’＝ｆｌｏｏｒ（ＹｒＢ＋０．５）−１・・・（４）
ここで、（Ｘｌｕ，Ｙｌｕ）はハーフスキャンコンバージョンを施す前の矩形の左上座標、（Ｘｌｕ’，Ｙｌｕ’）はその座標値にハーフスキャンコンバージョンを施して得られるピクセル空間上での座標値である。また、（ＸｒＢ，ＹｒＢ）はハーフスキャンコンバージョンを施す前の矩形の右下座標、（ＸｒＢ’，ＹｒＢ’）はその座標値にハーフスキャンコンバージョンを施して得られるピクセル空間上での座標値である。
【０００７】
これら（１）〜（４）式による演算処理は、右上を矩形領域の開始点とし、矩形の左下を矩形領域の終了点とするが、左辺と下辺は領域に含まないことを意味している。このようにすることで、ピクセル空間上では、図８に示すように、矩形Ａと矩形ＢがＸ方向に隣接し、矩形Ａと矩形Ｃおよび矩形Ｂと矩形ＣがＹ方向に隣接して描画され、隣接する矩形間で重なる領域が存在しないようになるのである。
【０００８】
このようなハーフスキャンコンバージョンは、図形の輪郭内を塗り潰す場合のみならず、図形の輪郭線をある幅で描画する場合にも適用される。すなわち、輪郭線を描画する場合であっても、描画すべき線幅が１ピクセル分より大きければ、幅を持つストローク描画として処理されて、その輪郭線が二点間を結ぶ線分を中心線とする矩形として描画されるので、上述した矩形の塗り潰しの場合と同様の描画処理が行われる。ただし、描画すべき線幅、すなわちストロークする幅が１ピクセル分に満たない場合には、その幅の線を描画するか否かはシステム全体の設定状況にもよるが、１ピクセル分の幅で線を描画するのが一般的である。
【０００９】
【非特許文献１】
デビッド・Ｆ・ロジャース（Ｄａｖｉｄ  Ｆ．Ｒｏｇｅｒｓ）著、山口富士夫監修、セイコー電子工業株式会社電子機器事業部訳、「実践コンピュータグラフィックス基礎手続きと応用」、日刊工業新聞社、ｐ．８６−８７
【００１０】
【発明が解決しようとする課題】
ところで、ベクトル形式で表現された図形データについて、その画像出力を行う場合には、その図形データが必ずしも文書作成時における方向で出力されるとは限らない。通常、図形データの画像出力は、文書作成ＡＰによる文書作成時の方向（例えば、縦書きまたは横書き）に依存する。ただし、近年では、パーソナルコンピュータで作成した文書を、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）等の情報携帯端末装置で閲覧するといった利用形態が増えつつある。このような場合に、ＰＤＡでは、表示画面サイズが小さいため、その画面の長辺および短辺と文書（原稿）の長辺および短辺をそれぞれ合わせることで、原稿のページ領域を可能な限り視認し得るように表示することが望ましい。このことから、例えば縦長の表示画面を持つＰＤＡでは、横長の原稿の９０°回転表示、すなわち描画すべき図形をそのままの方向ではなく回転させて画像出力する、といったことが行われる。
【００１１】
しかしながら、上述したハーフスキャンコンバージョン方式による図形描画を行う場合には、描画すべき図形を回転させると、その図形の位置ずれが発生するおそれがある。図９および図１０は、矩形および線の描画処理の説明図である。図９（ａ）では、実数空間上に描画された矩形Ａおよび線１の位置を示している。これら矩形Ａおよび線１に対して、図形の回転を伴うことなくハーフスキャンコンバージョンを施すと、図９（ｂ）に示すようになる。さらに、矩形Ａおよび線１をピクセル空間における座標軸上に移すと、図９（ｃ）に示すようになる。この図９（ｃ）によれば、矩形Ａと線１が隣接して描画されていることがわかる。一方、図９（ａ）における矩形Ａおよび線１に対して、その描画位置を９０°回転させると、その後は図１０（ａ）に示すようになる。そして、その９０°回転後の図形に対してハーフスキャンコンバージョンを施すと図１０（ｂ）に示すようになり、これをピクセル空間における座標軸上に移すと図１０（ｃ）に示すようになる。この図１０（ｃ）によれば、矩形Ａと線１とが最早隣接しておらず、それぞれの間に１ピクセル分の空白ができていることがわかる。
【００１２】
このように、ベクトル形式で表現された図形データについて描画処理を経て画像出力を行う場合に、矩形Ａ等の図形塗り潰し処理と線１等の線描画処理とが混在していると、その過程で描画図形を回転させないときと回転させるときとで、画像出力の結果が異なってしまうことが考えられる。したがって、例えば文字列に取り消し線や下線が付されている文書については、その画像出力における描画図形の回転によって文字と線の位置がずれてしまい、その線が下線なのか取り消し線なのかを判断できなくなる、といったことも起こり得る。
【００１３】
描画図形の回転に伴うその位置ずれは、例えば印刷装置で画像出力する場合であれば大きな問題とはなり難い。印刷装置は、一般に６００〜１２００ＤＰＩ（Ｄｏｔ  Ｐｅｒ  Ｉｎｃｈ）の高解像度で画像出力を行うため、１ピクセル分程度の位置ずれが目立たないからである。ところが、１００ＤＰＩ程度の低い解像度でディスプレイ表示する場合には、１ピクセル分程度の位置ずれであっても非常に目立つものとなり得る。また、ディスプレイ表示する場合であっても、パーソナルコンピュータのＣＲＴを用いて行うのであれば、描画図形の回転が必要となる頻度は低いが、ＰＤＡ等の情報携帯端末装置においては、描画図形の回転が必要となる頻度が高く、図形を回転させた画像出力の結果が回転させない画像出力の結果と一致することの必要性は非常に高い。
【００１４】
そこで、本発明は、ベクトル形式の図形データからビットマップ形式の図形データを得るのにあたり、描画図形の回転が必要となる場合であっても、回転させないときと図形の描画位置にずれが生じてしまうことなく、図形間の位置関係を保つことができ、結果として高品質な画像出力を実現可能にする画像処理装置および画像処理プログラムを提供することを目的とする。
【００１５】
【課題を解決するための手段】
本発明は、上記目的を達成するために案出された画像処理装置である。すなわち、ベクトル形式の図形データからビットマップ形式の図形データを得るための画像処理装置であって、前記ベクトル形式の図形データに基づいて特定される実数空間上における図形を、前記ビットマップ形式の図形データとして表現可能なピクセル空間上における図形に座標変換する座標変換手段と、前記座標変換手段による座標変換にあたって前記ピクセル空間上における図形の回転を伴う場合に、その回転角に応じた補正値を前記ピクセル空間上における図形の座標値に加える補正を行う補正手段とを備えることを特徴とするものである。
【００１６】
また、本発明は、上記目的を達成するために案出された画像処理プログラムである。すなわち、ベクトル形式の図形データからビットマップ形式の図形データを得るための画像処理プログラムであって、コンピュータを、前記ベクトル形式の図形データに基づいて特定される実数空間上における図形を、前記ビットマップ形式の図形データとして表現可能なピクセル空間上における図形に座標変換する座標変換手段と、前記座標変換手段による座標変換にあたって前記ピクセル空間上における図形の回転を伴う場合に、その回転角に応じた補正値を前記ピクセル空間上における図形の座標値に加える補正を行う補正手段として機能させることを特徴とするものである。
【００１７】
上記構成の画像処理装置および画像処理プログラムによれば、座標変換手段が実数空間上における図形をピクセル空間上における図形に座標変換するが、そのときに図形の回転を伴う場合には、補正手段がその回転角に応じた補正値を用いて補正を行う。すなわち、図形が回転される場合には、その回転角に応じて座標変換後の座標値に適切な補正を行い、回転後も回転前と同様の図形間の位置関係を保持するようにする。したがって、その補正後におけるピクセル空間上での座標値をビットマップ形式の図形データとすることで、図形回転の有無に関わらず、同一の描画図形が得られるようになる。
【００１８】
【発明の実施の形態】
以下、図面に基づき本発明に係る画像処理装置および画像処理プログラムについて説明する。ここでは、本発明を情報携帯端末装置に適用した場合を例に挙げて説明する。
【００１９】
図１は、本発明が適用された情報携帯端末装置の概略構成例を示すブロック図である。図例のように、ここで説明する情報携帯端末装置１０は、入力デバイス１１と、ディスプレイ１２と、ディスプレイインターフェイス１３と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１４と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１５と、プログラムＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１６と、これらを互いに接続するシステムバス１７と、を備えて構成されている。
【００２０】
入力デバイス１１は、文書を表示出力するためのデータ（以下「文書データ」という）を入力するためのものである。文書データには、ベクトル形式の図形データが含まれている。このような文書データとしては、例えばＰＤＬ（ページ記述言語）で記述されたデータが挙げられる。なお、文書データに含まれる図形データは、図形の塗り潰し命令、線描画命令、座標変換命令等を持っているものとする。
【００２１】
ディスプレイ１２は、ディスプレイインターフェイス１３を介して受け取ったデータについて、その画像表示を行うものである。ただし、ディスプレイ１２では、ビットマップ形式の画像データを表示出力するようになっている。ここで、画像データとは、文書データをビットマップ状に展開した後のデータをいい、ビットマップ形式の図形データをも含む。
【００２２】
ＣＰＵ１４は、プログラムＲＯＭ１６から後述するオペレーティングシステム（以下「ＯＳ」という）またはアプリケーションプログラム（以下「ＡＰ」という）を読み出して実行することにより、情報携帯端末装置１０全体の動作制御をはじめとした各種制御動作を行うものである。例えば、ＣＰＵ１４は、システムバス１７を介して各部１１〜１３，１５、１６の制御を行うようになっている。
【００２３】
ＲＡＭ１５は、各種データの一時的な記憶保持を行うものである。その記憶保持のために、ＲＡＭ１５では、少なくとも、入力デバイス１１で入力された文書データを記憶する文書データ領域１５ａと、ディスプレイ１２で表示出力すべきビットマップ形式の画像データが書き込まれるページメモリとしてのページ画像記憶部領域１５ｂと、ＣＰＵ１４のワークエリアとして用いられるワーク領域１５ｃとを有している。
【００２４】
プログラムＲＯＭ１６は、ＣＰＵ１４が実行するための各種プログラムを予め格納しているものである。プログラムＲＯＭ１６が格納しているプログラムとしては、ＯＳ２１およびＡＰ２２がある。ＯＳ２１は、ＣＰＵ１４が情報携帯端末装置１０全体の動作制御を行うためのものである。一方、ＡＰ２２は、文書データをディスプレイ１２から表示出力する際に必要となる処理を行うためのものであり、文書データをビットマップ形式の画像データに変換する画像データ変換部２３と、その画像データ変換部の実行によって変換された画像データをディスプレイ１２に表示出力させるウィンドウ制御部２４とからなるものである。
【００２５】
このうち、画像データ変換部２３については、文書データから画像データへの変換に際して、その文書データにおける図形の塗り潰し命令、線描画命令、座標変換命令等を解釈し、これらの命令に従いつつ仮想の実数空間における座標軸上に図形を描画し、さらにその実数空間上の図形をビットマップ形式の図形データとして表現可能なピクセル空間上の図形とすべく座標変換を行う機能を実現する。すなわち、ＡＰ２２の画像データ変換部２３を実行することで、ＣＰＵ１４は、本発明における座標変換手段として機能するようになっている。
【００２６】
また、画像データ変換部２３については、単に座標変換を行う機能を実現するだけではなく、回転補正部２３ａとしての機能、すなわち座標変換にあたってピクセル空間上における図形の回転を伴う場合に、その回転角に応じた補正値をピクセル空間上における図形の座標値に加える補正を行う機能を実現する。すなわち、画像データ変換部２３における回転補正部２３ａを実行することで、ＣＰＵ１４は、本発明における補正手段として機能するようになっている。
【００２７】
なお、ここでは、これら画像データ変換部２３および回転補正部２３ａを含むＡＰ２２が、予めプログラムＲＯＭ１６内に格納されている場合を例に挙げたが、そのＡＰ２２は、コンピュータ読み取り可能な記憶媒体に格納されて提供されるものであっても、または有線若しくは無線による通信手段を介して配信されるものであってもよい。つまり、ここで説明したＣＰＵ１４が実現させる機能は、コンピュータを同様に機能させる画像処理プログラム、すなわち本発明に係る画像処理プログラムによっても実現することが可能である。
【００２８】
次に、以上のように構成された情報携帯端末装置１０において、入力デバイス１１で受け取った文書データをディスプレイ１２から表示出力する場合の処理動作例、特に画像データ変換部２３および回転補正部２３ａにより実現される処理動作を説明する。図２および図３は、本発明が適用された情報携帯端末装置における処理動作例を示すフローチャートである。
【００２９】
図２に示すように、画像データ変換部２３を実行するＣＰＵ１４による処理がスタートすると（ステップ１０１、以下ステップを「Ｓ」と略す）、そのＣＰＵ１４は、ＲＡＭ１５の文書データ領域１５ａから命令を一つ読み込む（Ｓ１０２）。ここで、命令とは、文書データ、さらに詳しくはＰＤＬの一命令に相当する。そして、ＣＰＵ１４は、命令の読み込みが成功したか否かを判定する（Ｓ１０３）。このとき、命令の読み込みが成功しなければ、文書データ領域１５ａ内に命令が存在しないため、ＣＰＵ１４は、画像データ変換部２３による処理を終了し（Ｓ１０４）、ウィンドウ制御部２４による処理へと移行する。すなわち、ウィンドウ制御部２４を実行するＣＰＵ１４により、ＲＡＭ１５のページ画像記憶部領域１５ｂ内に展開されたビットマップ形式の画像データを、ディスプレイ１２で表示出力させるための処理が行われる。
【００３０】
一方、命令の読み込みが成功した場合には、ＣＰＵ１４は、その読み込んだ命令が座標変換命令であるか否かを判定する（Ｓ１０５）。この判定は、読み込んだ命令を解釈することによって行うことができる。座標変換命令とは、ユーザ座標系からデバイス座標への変換行列を指定するための命令である。この座標変換命令によって座標変換行列を指定することにより、画像の拡大、縮小、回転等の設定を他の描画命令の値を変更すること無しに行うことができる。そして、読み込んだ命令が座標変換命令であれば、ＣＰＵ１４は、その座標変換命令をカレント描画属性状態に保存した後に（Ｓ１０６）、次の命令の読み込みを行う（Ｓ１０２）。ここまでは、従来の場合と略同様である。
【００３１】
これに対して、読み込んだ命令が座標変換命令でない場合には、続いて、ＣＰＵ１４は、その読み込んだ命令が図形の塗り潰し命令であるか否かを判定する（Ｓ１０７）。この判定も、読み込んだ命令を解釈することによって行うことができる。
【００３２】
その結果、図形の塗り潰し命令であれば、ＣＰＵ１４は、カレントの座標変換行列でデバイス座標系に変換する（Ｓ１０８）。すなわち、図形の塗り潰し命令に従いつつ、仮想の実数空間における座標軸上での図形位置を認識する。そして、その実数空間上の図形をビットマップ形式の図形データとして表現可能なピクセル空間上の図形とすべく、ハーフスキャンコンバージョンを行ってピクセル空間上での座標値を計算する（Ｓ１０９）。このハーフスキャンコンバージョンによる座標変換は、従来と略同様の手法で行えばよい。
【００３３】
ハーフスキャンコンバージョンによる座標変換を行うと、続いて、ＣＰＵ１４は、ＡＰ２２の画像データ変換部２３のうちの回転補正部２３ａとしての部分を実行することにより、ピクセル空間上での座標値に対し、その回転角度に対応した補正値を決定する（Ｓ１１０）。
【００３４】
ピクセル空間上での図形の回転角度は、予めわかっているディスプレイ１２の表示画面サイズと受け取った命令によって特定される画像データのサイズとの関係を基に認識すればよい。例えば、縦長の表示画面を持つディスプレイ１２にて横長の原稿についての画像データを表示出力する場合であれば、画面の長辺および短辺と原稿の長辺および短辺をそれぞれ合わせるべく、その回転角度を９０°とするといった具合である。また、原稿の回転表示が不要であれば、その回転角度を０°とするといった具合である。すなわち、ここでいう回転角度には０°も含む。なお、図形の回転角度は、画面サイズとデータサイズとの関係ではなく、情報携帯端末装置１０のユーザによる設定事項を基に認識することも考えられる。
【００３５】
また、回転角度に対応する補正値の決定は、予め回転補正部２３ａに登録されているテーブルを参照することで行えばよい。図４は、回転角度に対応する補正値を決定するためのテーブルの一具体例を示す説明図である。図例のテーブルによれば、回転角度が０°（回転なし）の場合はピクセル空間の座標軸上におけるＸ方向の補正値が「０」、同Ｙ方向の補正値が「０」、９０°回転の場合は同Ｘ方向の補正値は「１」、同Ｙ方向の補正値が「０」、１８０°回転の場合は同Ｘ方向および同Ｙ方向の補正値がいずれも「１」、２７０°回転の場合は同Ｘ方向の補正値が「０」、同Ｙ方向の補正値が「１」となっている。なお、このテーブルは、必ずしも回転補正部２３ａに登録されている必要はなく、ＣＰＵ１４がアクセスし得る箇所に予め設定されていればよい。したがって、例えばテーブルをＲＡＭ１５内に格納し、そのテーブルの内容を適宜書き換え可能にする、といったことも考えられる。
【００３６】
そして、図２において、このようなテーブルを参照しながら回転角度に対応した補正値を決定した後は、ＣＰＵ１４は、その決定した補正値を、先の計算で求めたピクセル空間上での座標値に加え（Ｓ１１１）、その補正後のピクセル上の座標値を塗り潰すように、ＲＡＭ１５のページ画像記憶部領域１５ｂへの図形描画を行う（Ｓ１１２）。このようにして、回転補正部２３ａを実行するＣＰＵ１４は、座標変換にあたってピクセル空間上における図形の回転を伴う場合に、その回転角に応じた補正値をピクセル空間上における図形の座標値に加える補正を行うのである。
【００３７】
また、読み込んだ命令が図形の塗り潰し命令であるか否かの判定（Ｓ１０７）の結果、図形の塗り潰し命令でなければ、続いて、ＣＰＵ１４は、図３に示すように、その読み込んだ命令が線描画命令であるか否かを判定する（Ｓ１１３）。この判定も、読み込んだ命令を解釈することによって行うことができる。
【００３８】
その結果、線描画命令であれば、ＣＰＵ１４は、描画すべき線分の始点と終点、および線幅を、カレントの座標変換行列でデバイス座標系に変換する（Ｓ１１４）。すなわち、線描画命令に従いつつ、仮想の実数空間における座標軸上での線描画位置を認識する。次いで、ＣＰＵ１４は、座標変換後の線幅、つまりデバイス座標系での線幅が１ピクセル分より大きいか否かを判定する（Ｓ１１５）。この判定は、一般的な図形処理技術を用いて線幅を認識することで行えばよい。
【００３９】
そして、線幅が１ピクセル分より大きい場合には、ＣＰＵ１４は、その線幅の線分についての線描画命令を、その線分を中心線とし、１ピクセル分より大きい線幅分の幅を持つ矩形の塗り潰し命令に変換し（Ｓ１１６）、それ以降、上述した場合と同様の図形の描画処理を行う（Ｓ１０７〜Ｓ１１２）。
【００４０】
一方、線幅が１ピクセル分以下の場合には、ＣＰＵ１４は、１ピクセル分の幅を持つ線分の描画を行う。ただし、このとき、ＣＰＵ１４は、ピクセル空間上における線分の始点を決定するのにあたり、「０．５」を加えて整数化するといった計算を行う。また、ピクセル空間上における線分の終点を決定するのにあたり、「０．５」を加えて整数化し、さらに「１」を引くといった計算を行う（Ｓ１１７）。そして、その計算後の始点および終点のピクセル上の座標値を１ピクセル分の幅で結ぶように、ＲＡＭ１５のページ画像記憶部領域１５ｂへの線描画を行う。
【００４１】
なお、読み込んだ命令が座標変換命令、図形の塗り潰し命令または線描画命令のいずれでもなければ、ＣＰＵ１４は、その他の処理、すなわち読み込んだ命令によって指示される処理を行う（Ｓ１１８）。
【００４２】
以上のような手順で、ベクトル形式で表現された図形データについて描画処理を経て画像出力を行えば、図形塗り潰し処理と線描画処理とが混在している場合に、その過程で描画図形を回転させても、その図形の描画位置にずれが発生して、描画図形を回転させないときと出力結果が異なってしまうことがない。
【００４３】
図５は、上述した手順を用いて矩形および線の描画処理を行う場合の説明図である。図５（ａ）では、既に説明した図１０（ａ）と同様に、描画位置が９０°回転させた後の実数空間上に描画された矩形Ａおよび線１を示している。これら矩形Ａおよび線１に対してハーフスキャンコンバージョンを施すと、図５（ｂ）に示すようになる。これは、既に説明した図１０（ａ）の場合と同様である。これをピクセル空間における座標軸上に移すと図５（ｃ）に示すようになるが、そのピクセル空間上の矩形Ａに対しては、その回転角度に対応する座標値補正が行われるので、補正後における矩形Ａおよび線１のピクセル空間上での位置は、図５（ｄ）に示すようになる。この図５（ｄ）によれば、図形を９０°回転させた後であっても、矩形Ａと線１とが隣接して描画されていることがわかる。つまり、描画図形を回転させないときと回転させるときとで同一の位置関係が得られ、それぞれの場合で画像出力の結果が異なってしまうことがない。
【００４４】
このように、本実施形態で説明した情報携帯端末装置１０、およびその情報携帯端末装置１０で実行されるプログラムであるＡＰ２２によれば、図形が回転される場合には、その回転角に応じて座標変換後の座標値に適切な補正を行い、回転後も回転前と同様の図形間の位置関係を保持するので、その補正後におけるピクセル空間上での座標値をビットマップ形式の画像データとすることで、図形回転の有無に関わらず、同一の描画図形が得られるようになる。したがって、ディスプレイ１２の表示画面サイズの関係で描画図形の回転が必要となる頻度が高い場合であっても、回転させないときと図形の描画位置にずれが生じてしまうことなく、図形間の位置関係を保つことができ、結果として高品質な画像出力が実現可能となる。
【００４５】
なお、本実施形態では、本発明を情報携帯端末装置１０に適用した場合を例に挙げて説明したが、本発明はこれに限定されるものではなく、ベクトル形式の図形データからビットマップ形式の図形データを得るためのものであれば、例えばパーソナルコンピュータやプリンタ等に搭載されて用いられる画像処理装置または画像処理プログラムであっても、全く同様に適用することが可能である。
【００４６】
また、本実施形態では、本発明に係る画像処理装置および画像処理プログラムについてその好適な具体的を挙げて説明したが、これは本発明の好ましい一態様を示すものに過ぎず、本発明の技術的範囲がその具体例に限定されないことは勿論である。例えば、本実施形態では、図４のテーブルを補正値の具体例として示したが、その補正値はディスプレイ１２の解像度やＣＰＵ１４の能力等を考慮しつつ適宜設定しておけばよい。また、図４に示したテーブルでは、回転角度が０°の場合の補正値が「０」と規定されている例、すなわち「０」という値で補正を行う例を挙げたが、例えば事前に回転有無を判定し、回転無しであれば補正処理を全く行わないようにプログラミングすることも考えられる。
【００４７】
【発明の効果】
以上に説明したように、本発明に係る画像処理装置および画像処理プログラムによれば、ベクトル形式の図形データからビットマップ形式の図形データを得るのにあたり、描画図形の回転が必要となる場合であっても、その回転角に応じて座標変換後の座標値に適切な補正を行い、回転後も回転前と同様の図形間の位置関係を保持するので、回転させないときと図形の描画位置にずれが生じてしまうことがなく、高品質な画像出力を得ることができる。
【図面の簡単な説明】
【図１】本発明が適用された情報携帯端末装置の概略構成例を示すブロック図である。
【図２】本発明が適用された情報携帯端末装置における処理動作例を示すフローチャート（その１）である。
【図３】本発明が適用された情報携帯端末装置における処理動作例を示すフローチャート（その２）である。
【図４】回転角度に対応する補正値を決定するためのテーブルの一具体例を示す説明図である。
【図５】本発明を用いて矩形および線の描画処理を行う場合の説明図であり、（ａ）は実数空間上における描画位置を示す図、（ｂ）はハーフスキャンコンバージョンを施した後の描画位置を示す図、（ｃ）はピクセル空間上における描画位置（ただし補正前）を示す図、（ｄ）はピクセル空間上における描画位置（ただし補正後）を示す図である。
【図６】ハーフスキャンコンバージョン方式により矩形の輪郭内を塗り潰す場合の描画処理の説明図（その１）である。
【図７】ハーフスキャンコンバージョン方式により矩形の輪郭内を塗り潰す場合の描画処理の説明図（その２）である。
【図８】ハーフスキャンコンバージョン方式により矩形の輪郭内を塗り潰す場合の描画処理の説明図（その３）である。
【図９】従来における矩形および線の描画処理の説明図であり、（ａ）は実数空間上における描画位置を示す図、（ｂ）はハーフスキャンコンバージョンを施した後の描画位置を示す図、（ｃ）はピクセル空間上における描画位置を示す図である。
【図１０】従来における図形の回転を伴う矩形および線の描画処理の説明図であり、（ａ）は実数空間上における描画位置を示す図、（ｂ）はハーフスキャンコンバージョンを施した後の描画位置を示す図、（ｃ）はピクセル空間上における描画位置を示す図である。
【符号の説明】
１０…情報携帯端末装置、１１…入力デバイス、１２…ディスプレイ、１３…ディスプレイインターフェイス、１４…ＣＰＵ、１５…ＲＡＭ、１５ａ…文書データ領域、１５ｂ…ページ画像記憶部領域、１５ｃ…ワーク領域、１６…プログラムＲＯＭ、１７…システムバス、２１…ＯＳ、２２…ＡＰ、２３…画像データ変換部、２３ａ…回転補正部、２４…ウィンドウ制御部
【図１】
2005004318.tif 000003
【図２】
2005004318.tif 000004
【図３】
2005004318.tif 000005
【図４】
2005004318.tif 000006
【図５】
2005004318.tif 000007
【図６】
2005004318.tif 000008
【図７】
2005004318.tif 000009
【図８】
2005004318.tif 000010
【図９】
2005004318.tif 000011
【図１０】
2005004318.tif 000012