(57)【要約】【課題】  画像処理効率を高めつつ、同じ画像データから同じ描画結果が得られる画像処理方法を提供する。【解決手段】  ページ記述言語により記述された入力データを変換して画像出力装置に画像データとして出力するための画像変換処理を行う画像処理方法において、入力データを前記画像出力装置に画像データとして出力する際に、画像データの回転処理が必要な場合は、画像データの回転方向を考慮して、実数座標で指定される入力データを整数座標の画像データに変換する変換処理を行うようにした。【選択図】  図１
2005341418.tif 000002
【特許請求の範囲】
【請求項１】
所定のページ記述言語により記述された入力データを変換して画像出力装置に画像データとして出力するための画像変換処理を行う画像処理方法において、
前記入力データを前記画像出力装置に画像データとして出力する際に、前記画像データの回転処理が必要な場合は、前記画像データの回転方向を考慮して、実数座標で指定される前記入力データを整数座標の画像データに変換する変換処理を行うことを特徴とする画像処理方法。
【請求項２】
請求項１に記載の画像処理方法において、前記画像データの回転方向を考慮して前記入力データを前記画像データに変換する変換処理を行うに際し、前記画像データの縦方向の実数座標位置と横方向の実数座標位置で異なる変換処理を行うことを特徴とする画像処理方法。
【請求項３】
請求項１に記載の画像処理方法において、前記画像データの回転方向が右９０度である場合には、前記画像データにおける横方向の実数座標位置の整数変換処理として、前記画像データを回転しない場合の整数変換と異なる処理を行うことを特徴とする画像処理方法。
【請求項４】
請求項１に記載の画像処理方法において、前記画像データの回転方向が左９０度である場合には、前記画像データにおける縦方向の実数座標位置の整数変換処理として、前記画像データを回転しない場合の整数変換と異なる処理を行うことを特徴とする画像処理方法。
【請求項５】
請求項１に記載の画像処理方法において、前記画像データを１８０度回転する場合には、前記画像データにおける縦方向と横方向の実数座標位置の整数変換処理として、前記画像データを回転しない場合の整数変換と異なる処理を行うことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像出力制御装置から転送される入力データによって画像出力装置で記録媒体に画像を描画して出力する画像処理システムの画像処理方法に関する。
【背景技術】
【０００２】
図３は、ページ記述言語により入力された実数座標系の矩形データをプリンタ等の画像出力装置のフレームメモリに描画する場合に、実数座標系から整数座標系に変換した場合の領域の変化を示したものである。
図３（ａ）は回転をしない場合の矩形データの領域である。実数座標系で入力される矩形データの領域指定が横５．５×縦３．５であった場合には、小数点以下の値を、切り上げるか、切り下げるか、もしくは四捨五入するなどにより、まず整数座標の値に変換する必要がある。通常では、画像データの回転や座標位置の縦横の方向に関わらず常に同じ変換方法である。図３は、小数点以下の値は全て切り捨ての変換方法である。このように、常に同じ変換方法にしたときには、画像データが回転した場合に問題が発生する。
例えば、小数点以下の値を全て切り捨てる変換方法である図３の場合、（ａ）のような、横５．５×縦３．５の実数座標で指定される矩形データの領域は、整数座標に変換する場合に小数点以下の値は全て切り捨てとなり、変換後の矩形データの領域は横５×縦３となる。この場合、画像データが回転した場合でも、矩形データの領域は５×３もしくは３×５にならなければならないが、実際には期待通りの結果にはならない。
図３（ｂ）は、同図（ａ）で指定された実数座標系の矩形データを右９０度回転し、その後に整数座標への変換を行った場合の矩形データの領域である。回転前には右下の位置に小数点以下の座標領域があったが、回転により小数点以下の座標領域は左下の位置に移動している。この位置の移動により左側に移動した小数点領域は、小数点以下の切り捨ての変換方法により領域が拡大することになる。結果的に、右９０度回転後の矩形データは横４×縦５となる。
本来ならば、回転しない場合における整数座標変換後の矩形データの領域は横５×縦３なので、右９０度回転した場合には横３×縦５にならなければならない。しかし、実際には横４×縦５となるので、回転しない場合と右９０度回転した場合で同じ矩形データの描画が異なることになる。
【０００３】
図３（ｃ）は、同図（ａ）で指定された実数座標系の矩形データを左９０度回転し、その後に整数座標への変換を行った場合の矩形データの領域である。回転前には右下の位置に小数点以下の座標領域があったが、回転により小数点以下の座標領域は右上の位置に移動している。この位置の移動により上側に移動した小数点領域は、小数点以下の切り捨ての変換方法により領域が拡大することになる。結果的に、左９０度回転後の矩形データは横３×縦６となる。
本来ならば、回転しない場合における整数座標変換後の矩形データの領域は横５×縦３なので、左９０度回転した場合には横３×縦５にならなければならない。しかし、実際には横３×縦６となるので、回転しない場合と左９０度回転した場合で同じ矩形データの描画が異なることになる。
図３（ｄ）は、同図（ａ）で指定された実数座標系の矩形データを１８０度回転し、その後に整数座標への変換を行った場合の矩形データの領域である。回転前には右下の位置に小数点以下の座標領域があったが、回転により小数点以下の座標領域は左上の位置に移動している。この位置の移動により左上側に移動した小数点領域は、小数点以下の切り捨ての変換方法により領域が拡大することになる。結果的に、１８０度回転後の矩形データは横６×縦４となる。
本来ならば、回転しない場合の整数座標変換後の矩形データの領域は横５×縦３なので、１８０度回転した場合には横３×縦５にならなければならない。しかし、実際には横６×縦４となるので、回転しない場合と１８０度回転した場合で同じ矩形データの描画が異なることになる。
例えば、特許文献１では、画像を９０°または９０°のＫ倍迅速に回転させる方法及び装置が提供されている。
【特許文献１】特開平０６−２３１２３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述したように、同じ画像データにも関わらず、回転した場合と回転しない場合で描画結果が異なる問題が発生することになる。この問題を解決する方法として、整数変換後に回転処理を行うという方法が挙げられるが、整数変換されラスターデータ化されたデータは、実数座標のベクターデータと比較して、データ量が膨大となるので、その後に続く回転処理の時間が多くなり性能が劣化するという問題が発生する。
本発明は、画像処理効率を高めつつ、同じ画像データから同じ描画結果が得られる画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、請求項１記載の発明は、ページ記述言語により記述された入力データを変換して画像出力装置に画像データとして出力するための画像変換処理を行う画像処理方法において、前記入力データを前記画像出力装置に画像データとして出力する際に、前記画像データの回転処理が必要な場合は、前記画像データの回転方向を考慮して、実数座標で指定される前記入力データを整数座標の画像データに変換する変換処理を行うことを特徴とする。
請求項２記載の発明は、請求項１に記載の画像処理方法において、前記画像データの回転方向を考慮して前記入力データを前記画像データに変換する変換処理を行うに際し、前記画像データの縦方向の実数座標位置と横方向の実数座標位置で異なる変換処理を行うことを特徴とする。
請求項３記載の発明は、請求項１に記載の画像処理方法において、前記画像データの回転方向が右９０度である場合には、前記画像データにおける横方向の実数座標位置の整数変換処理として、前記画像データを回転しない場合の整数変換と異なる処理を行うことを特徴とする。
請求項４記載の発明は、請求項１に記載の画像処理方法において、前記画像データの回転方向が左９０度である場合には、前記画像データにおける縦方向の実数座標位置の整数変換処理として、前記画像データを回転しない場合の整数変換と異なる処理を行うことを特徴とする。
請求項５記載の発明は、請求項１に記載の画像処理方法において、前記画像データを１８０度回転する場合には、前記画像データにおける縦方向と横方向の実数座標位置の整数変換処理として、前記画像データを回転しない場合の整数変換と異なる処理を行うことを特徴とする。
【発明の効果】
【０００６】
本発明によれば、入力データを画像出力装置に画像データとして出力する際に、画像データの回転処理が必要な場合は、画像データの回転方向を考慮して、実数座標で指定される前記入力データを整数座標の画像データに変換する変換処理を行うことで、画像データを回転する場合でも、画像データを回転しない場合と同じ出力結果を得ることができる。
また、本発明によれば、ラスターデータに対して回転処理を行う場合と比較した場合でも、処理を高速で行うことができる。
【発明を実施するための最良の形態】
【０００７】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
なお、入力データは、文字、グラフィック、イメージを含む基本図形描画命令で構成されるページ記述言語とする。
図１は本発明の画像処理方法を示すフローチャートである。具体的にはページ記述言語により、入力された実数座標系の画像データの回転及び整数座標への変換を行う処理の流れを示したフローチャートである。本実施の形態に係るフローチャートでは、一例として、整数座標へ変換する際、実数座標の小数点以下の値は切り捨てとしている。
まず、画像データが入力された場合、画像データの回転が必要かどうか判定する（Ｓ１）。画像データの回転が必要かどうかは、ページ記述言語で指定されるページの用紙サイズや長手方向の情報や、データを出力するプリンタ等の用紙トレイの情報等を使用して決定される。
判定により回転が必要でない場合は、次に指定された画像データの座標に小数点以下の値が在るかどうかを判定する（Ｓ２）。小数点以下の値がない場合の整数座標への変換は『整数座標＝実数座標』となる（Ｓ３）。小数点以下の値がある場合の整数座標への変換は『整数座標＝小数点以下の値が切り捨てられた実数座標』となる（Ｓ４、Ｓ５）。
【０００８】
次に画像データが回転した場合の処理である。回転処理が必要な場合は、まず指定された実数座標を回転方向に応じて変換する。次に小数点以下の値があるかを判定し（Ｓ７）、小数点以下の値がなければ、整数座標への変換は『整数座標＝実数座標』となる（Ｓ８）。小数点以下の値の指定がある場合には、回転方向に従って次のように整数変換への処理方法を変更する。
回転方向が右９０度であった場合には（Ｓ９で「Ｙ」）、画像データにおける横方向の座標の整数変換は『整数座標＝小数点以下の値が切り上げられた実数座標』になり（Ｓ１０）、画像データにおける縦方向の座標の整数変換は『整数座標＝小数点以下の値が切り捨てられた実数座標』になる（Ｓ１１）。このように、整数座標への変換の際には、画像データの縦方向の座標と横方向の座標で別々の処理を行うことになる。
回転方向が左９０度であった場合（Ｓ９で「Ｎ」、Ｓ１２で「Ｙ」）、画像データにおける横方向の座標の整数変換は『整数座標＝小数点以下の値が切り捨てられた実数座標』になり（Ｓ１３）、画像データにおける縦方向の座標の整数変換は『整数座標＝小数点以下の値が切り上げられた実数座標』になる（Ｓ１４）。
回転方向が１８０度であった場合には（Ｓ１２で「Ｎ」）、画像データにおける横方向の座標の整数変換は『整数座標＝小数点以下の値が切り上げられた実数座標』になり（Ｓ１５）、画像データにおける縦方向の座標の整数変換は『整数座標＝小数点以下の値が切り上げられた実数座標』になる（Ｓ１６）。
実数座標系から整数座標系への変換の際に行われるスキャンライン変換（ベクター座標で指定されたデータを、ラスター座標へ変換する処理）の際のスキャンラインルールがＷｉｎｄｏｗｓ（登録商標）ルール（指定された画像データの右下の座標を含まない）であった場合も、ＰＳルール（指定された画像データの右下の座標を含む）であった場合も、本実施の形態に係る処理を変更する必要はない。
また、スキャンライン変換する前に回転処理を行っているので、スキャンライン変換され膨大になったラスターデータに対し回転処理を行う必要がなくなり、整数座標への変換を行ってから回転処理を行う処理構成と比較して、処理を高速に行うことができる。
また、本処理はハードウェアに依存しない構成なので、本処理の全てをパーソナルコンピュータ等の画像出力制御装置で行うことが可能であり、また、本処理の全てをプリンタ等の画像出力装置で行うことも可能である。更に、本処理の全てを両方に持ち、画像出力制御装置と画像出力装置の性能や状態に応じて処理を配分することも可能である。
【０００９】
本発明の作用効果を図２に基づいて説明する。図２は上記図１で述べた処理方法を使用して、実数座標系の画像データから整数座標系への変換処理を行った場合の領域を示している。
図２（ｂ）に示すように、回転方向が右９０度の場合は、画像データにおける横方向の座標の整数変換は『整数座標＝小数点以下の値が切り上げられた実数座標』、画像データにおける縦方向の座標の整数変換は『整数座標＝小数点以下の値が切り捨てられた実数座標』なので、回転後の矩形データは横３×縦５となる。図２（ａ）に示す回転しない場合の矩形データは横５×縦３なので、回転しない場合と右９０度回転した場合で矩形データの領域は一致することになり、同じ出力結果を得ることができる。
図２（ｃ）に示すように、回転方向が左９０度の場合は、画像データにおける横方向の座標の整数変換は『整数座標＝小数点以下の値が切り捨てられた実数座標』、画像データにおける縦方向の座標の整数変換は『整数座標＝小数点以下の値が切り上げられた実数座標』なので、回転後の矩形データは横３×縦５となる。図２（ａ）に示す回転しない場合の矩形データは横５×縦３なので、回転しない場合と左９０度回転した場合で矩形データの領域は一致することになり、同じ出力結果を得ることができる。
図２（ｄ）に示すように、回転方向が１８０度の場合は、画像データにおける横方向の座標の整数変換は『整数座標＝小数点以下の値が切り上げられた実数座標』、画像データにおける縦方向の座標の整数変換は『整数座標＝小数点以下の値が切り上げられた実数座標』なので、回転後の矩形データは横５×縦３となる。図２（ａ）に示す回転しない場合の矩形データは横５×縦３なので、回転しない場合と１８０度回転した場合で矩形データの領域は一致することになり、同じ出力結果を得ることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態に係る画像処理方法を示すフローチャートである。
【図２】本発明の実施の形態に係る実数座標系の画像データから整数座標系への変換処理を行った場合の領域を示す図である。
【図３】従来の実数座標系の画像データから整数座標系への変換処理を行った場合の領域を示す図である。
【図１】
2005341418.tif 000003
【図２】
2005341418.tif 000004
【図３】
2005341418.tif 000005