JP4823860B2 - 画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム - Google Patents

画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム Download PDF

Info

Publication number
JP4823860B2
JP4823860B2 JP2006299474A JP2006299474A JP4823860B2 JP 4823860 B2 JP4823860 B2 JP 4823860B2 JP 2006299474 A JP2006299474 A JP 2006299474A JP 2006299474 A JP2006299474 A JP 2006299474A JP 4823860 B2 JP4823860 B2 JP 4823860B2
Authority
JP
Japan
Prior art keywords
data
rectangle
rectangular
represented
coordinate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006299474A
Other languages
English (en)
Other versions
JP2008117149A (ja
Inventor
知明 岡村
泰司 柳田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2006299474A priority Critical patent/JP4823860B2/ja
Publication of JP2008117149A publication Critical patent/JP2008117149A/ja
Application granted granted Critical
Publication of JP4823860B2 publication Critical patent/JP4823860B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)
  • Image Analysis (AREA)

Description

本発明は、画像処理装置、画像形成装置、画像処理方法及び画像処理プログラムに関する。
従来、レーザプリンタやインクジェットプリンタ等のページプリンタでは、ページ記述言語(PDL:Page Description Language)を利用して、印刷する画像データを表すことが行われている。このようなページプリンタでは、PDLを用いて表された画像データを構成する図形描画命令(以下、描画コマンドという)を解析し、この解析により認識された図形により構成される印刷描画イメージを生成し、ページメモリに格納した後、プリンタエンジンに転送することで画像データの印刷が行われている。
上記したPDLでは、文字、イメージ、グラフィックス等を描画コマンドにより表現することが可能となっている。例えば、グラフィックスでは矩形図形の描画を対角点の指定により直接指示する「矩形データ」や、指定した座標位置の結線により図形を表す「ポリゴンデータ」、曲線を表す「ベジェデータ」等の描画コマンドにより、夫々対応する図形が表される。
ポリゴンデータ、ベジェデータ等の描画コマンドにより表された図形は、印刷描画イメージの生成時において、主走査方向(スキャンライン)毎に分割されたラスタ画像により表されるスキャンラインデータへと変換(スキャンライン変換)される。以下、スキャンライン毎に変換された各ラスタ画像をランレングスデータという。各ランレングスデータは、ディザリング等のハーフトーン処理により2値化された後、印刷描画イメージとしてページメモリに格納される。従来、描画コマンドに基づいて生成した中間コードを評価し、この評価結果に適した一の描画処理手段を複数の描画処理手段から選択して描画処理を行わせることで、描画処理の高速化を図った技術が提案されている(例えば、特許文献1参照)。
上述したように矩形データでは、描画対称となる矩形図形の開始座標となる左上座標と、終了座標となる右下座標とからなる対角点を指示することで、その矩形領域を一意に指示することが可能となっている。この矩形データの場合、座標(x、y)の各成分を夫々4バイトで表すと、2つの座標分である16バイトで矩形図形を表現することができる。一方、スキャンライン変換されたスキャンラインデータでは、スキャンライン毎に対応するY座標と、ランレングスデータの始点X座標、終点X座標を指示する必要がある。そのため、矩形図形をスキャンラインデータで表した場合、上記同様座標(x、y)の各成分を夫々4バイトで表すと、12バイト×矩形領域の高さ(総スキャンライン)分のデータサイズとなるため、矩形データと比較しデータ容量は増大することになる。
また処理速度に関しても、矩形データとして処理する場合には、全てのY座標に対して、その図形の幅方向を示すX座標の開始・終了位置は常に同じ値となるため、スキャンライン毎の計算が不要なのに対し、スキャンラインデータとして処理する場合には、スキャンライン毎(Y座標毎)に、その図形の幅方向を示すX座標の開始・終了位置を計算する必要があるため、矩形データの場合と比較し処理速度は低下することになる。
そのため、印刷描画イメージの生成時においては、描画コマンドが矩形データである場合、この描画コマンドにより表される図形を矩形データのまま取り扱うことで、描画にかかる処理速度や処理負荷の効率化が図られている。
特開2002−036637号公報
しかしながら、矩形図形の描画を指示したにもかかわらず、描画コマンドにより表された際に、矩形データではなくポリゴンデータ等の他の描画コマンドとして表現されてしまうことがある。この場合、描画コマンドは矩形データとして取り扱われないため、上述したスキャンライン変換が行われてしまい、描画にかかる処理速度や処理負荷が増加するという問題がある。また、スキャンライン変換を行った後でしか矩形と認識できないような図形や、図形の一部が矩形である場合には、上記同様矩形データとして処理されないため、処理速度や処理負荷が増加してしまうという問題がある。なお、特許文献1に記載の技術では、描画ラン(ランレングスデータの長さ)が基準値より大きいか否かで描画処理手段を選択しているのみであるため、上記の課題を解決することはできない。
本発明は、上記に鑑みてなされたものであって、ページ記述言語で表現された画像データに含まれる矩形図形を、矩形データとして取り扱うことが可能な画像処理装置、画像形成装置、画像処理方法及び画像処理プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、請求項1にかかる発明は、ページ記述言語で表現された画像データを解析し、描画コマンドを抽出するコマンド解析手段と、前記描画コマンドが矩形図形の描画を対角点により一意に指示する矩形データか否かを判定するコマンド判定手段と、前記コマンド判定手段により矩形データ以外と判定された描画コマンドに対し、当該描画コマンドに含まれた座標点により表される図形が矩形か否かを判定する矩形判定手段と、前記矩形判定手段により矩形と判定された前記描画コマンドの座標点から、当該矩形の対角点に対応する座標点を特定する対角点特定手段と、前記特定された座標点に基づいて前記描画コマンドを、前記矩形データに変換するデータ形式変換手段と、を備えたことを特徴としている。
また、請求項2にかかる発明は、請求項1にかかる発明において、前記矩形判定手段は、前記描画コマンドに含まれた座標点間を結ぶ線分方向に基づいて当該線分方向が変化する座標点を抽出し、この抽出された座標点により表される図形が矩形か否かを判定することを特徴としている。
また、請求項3にかかる発明は、請求項1又は2にかかる発明において、前記矩形判定手段は、前記描画コマンドに含まれた座標点の個数が所定の範囲内に含まれるか否かを判定し、この所定の範囲に含まれると判定した場合、前記描画コマンドにより表される図形が矩形か否かを判定することを特徴としている。
また、請求項4にかかる発明は、請求項1〜3の何れか一項にかかる発明において、前記矩形判定部は、前記描画コマンドにより表される図形の線分の傾きが所定の誤差範囲内に含まれるか否かを判定し、この誤差範囲内に含まれると判定した場合、前記描画コマンドにより表される図形が矩形か否かを判定することを特徴としている。
また、請求項5にかかる発明は、請求項1〜4の何れか一項にかかる発明において、前記矩形判定手段は、前記描画コマンドの属性情報に応じて、当該描画コマンドが表す図形が矩形か否かを判定することを特徴としている。
また、請求項6にかかる発明は、ページ記述言語で表現された画像データを解析し、描画コマンドを抽出するコマンド解析手段と、前記描画コマンドが矩形図形の描画を対角点により一意に指示する矩形データか否かを判定するコマンド判定手段と、前記コマンド判定手段により矩形データ以外と判定された描画コマンドが表す図形を、主走査方向毎のランレングスデータの始点座標及び終点座標で表したスキャンラインデータに変換するスキャンライン変換手段と、前記スキャンラインデータが表す図形と、前記描画コマンドが表す図形の外接矩形とを比較し、両形状が一致した場合に前記スキャンラインデータが表す図形を矩形と判定する矩形判定手段と、前記矩形判定手段により矩形と判定されたスキャンラインデータに含まれる前記始点座標及び終点座標から、当該矩形の対角点に対応する座標点を特定する対角点特定手段と、前記特定された座標点に基づいて、前記スキャンラインデータを前記矩形データに変換するデータ形式変換手段と、を備えたことを特徴としている。
また、請求項7にかかる発明は、請求項6にかかる発明において、前記矩形判定手段は、前記ランレングスデータ毎の始点座標及び終点座標と、前記外接矩形の主走査方向の端点座標とを比較することを特徴としている。
また、請求項8にかかる発明は、ページ記述言語で表現された画像データを解析し、描画コマンドを抽出するコマンド解析手段と、前記描画コマンドが矩形図形の描画を対角点により一意に指示する矩形データか否かを判定するコマンド判定手段と、前記コマンド判定手段により矩形データ以外と判定された描画コマンドが表す図形を、主走査方向毎のランレングスデータの始点座標及び終点座標で表したスキャンラインデータに変換するスキャンライン変換手段と、連続する前記ランレングスデータ間の始点座標及び終点座標を比較し、両座標が一致する一連のランレングスデータにより表される図形を矩形と判定する矩形判定手段と、前記矩形判定手段により矩形と判定された一連のランレングスデータ毎に、当該一連のランレングスデータにかかる前記始点座標及び終点座標から、前記矩形の対角点に対応する座標点を特定する対角点特定手段と、前記特定された座標点に基づいて、前記一連のランレングスデータに対応する前記スキャンラインデータの座標範囲を前記矩形データに変換するデータ形式変換手段と、を備えたことを特徴としている。
また、請求項9にかかる発明は、請求項8にかかる発明において、前記矩形判定手段は、前記始点座標及び終点座標が一致するランレングスデータの個数が所定数以上か否かを判定し、当該所定数以上と判定した場合、前記一連のランレングスデータにより表される図形を矩形と判定することを特徴としている。
また、請求項10にかかる発明は、ページ記述言語で表現された画像データを解析し、描画コマンドを抽出するコマンド解析手段と、前記描画コマンドが矩形図形の描画を対角点により一意に指示する矩形データか否かを判定するコマンド判定手段と、前記コマンド判定手段により矩形データ以外と判定された描画コマンドに対し、当該描画コマンドに含まれた座標点により表される図形が矩形か否かを判定する矩形判定手段と、前記矩形判定手段により矩形と判定された前記描画コマンドの座標点から、当該矩形の対角点に対応する座標点を特定する対角点特定手段と、前記特定された座標点に基づいて前記描画コマンドを、前記矩形データに変換するデータ形式変換手段と、前記コマンド判定手段により矩形データ以外と判定された描画コマンドが表す図形を、主走査方向毎のランレングスデータの始点座標及び終点座標で表したスキャンラインデータに変換するスキャンライン変換手段と、前記矩形データが表す矩形図形又は前記スキャンラインデータが表す図形を二値化するハーフトーン処理手段と、前記二値化された図形を記録媒体に印刷する画像形成エンジンと、を備えたことを特徴としている。
また、請求項11にかかる発明は、ページ記述言語で表現された画像データを解析し、描画コマンドを抽出するコマンド解析手段と、前記描画コマンドが矩形図形の描画を対角点により一意に指示する矩形データか否かを判定するコマンド判定手段と、前記コマンド判定手段により矩形データ以外と判定された描画コマンドが表す図形を、主走査方向毎のランレングスデータの始点座標及び終点座標で表したスキャンラインデータに変換するスキャンライン変換手段と、前記スキャンラインデータが表す図形と、前記描画コマンドが表す図形の外接矩形とを比較し、両形状が一致した場合に前記スキャンラインデータが表す図形を矩形と判定する矩形判定手段と、前記矩形判定手段により矩形と判定されたスキャンラインデータに含まれる前記始点座標及び終点座標から、当該矩形の対角点に対応する座標点を特定する対角点特定手段と、前記特定された座標点に基づいて、前記スキャンラインデータを前記矩形データに変換するデータ形式変換手段と、前記矩形データが表す矩形図形又は前記スキャンラインデータが表す図形を二値化するハーフトーン処理手段と、前記二値化された図形を記録媒体に印刷する画像形成エンジンと、を備えたことを特徴としている。
また、請求項12にかかる発明は、ページ記述言語で表現された画像データを解析し、描画コマンドを抽出するコマンド解析手段と、前記描画コマンドが矩形図形の描画を対角点により一意に指示する矩形データか否かを判定するコマンド判定手段と、前記コマンド判定手段により矩形データ以外と判定された描画コマンドが表す図形を、主走査方向毎のランレングスデータの始点座標及び終点座標で表したスキャンラインデータに変換するスキャンライン変換手段と、連続する前記ランレングスデータ間の始点座標及び終点座標を比較し、両座標が一致する一連のランレングスデータにより表される図形を矩形と判定する矩形判定手段と、前記矩形判定手段により矩形と判定された一連のランレングスデータ毎に、当該一連のランレングスデータにかかる前記始点座標及び終点座標から、前記矩形の対角点に対応する座標点を特定する対角点特定手段と、前記特定された座標点に基づいて、前記一連のランレングスデータに対応する前記スキャンラインデータの座標範囲を前記矩形データに変換するデータ形式変換手段と、前記矩形データが表す矩形図形又は前記スキャンラインデータが表す図形を二値化するハーフトーン処理手段と、前記二値化された図形を記録媒体に印刷する画像形成エンジンと、を備えたことを特徴としている。
また、請求項13にかかる発明は、ページ記述言語で表現された画像データを解析し、描画コマンドを抽出するコマンド解析工程と、前記描画コマンドが矩形図形の描画を対角点により一意に指示する矩形データか否かを判定するコマンド判定工程と、前記コマンド判定工程により矩形データ以外と判定された描画コマンドに対し、当該描画コマンドに含まれた座標点により表される図形が矩形か否かを判定する矩形判定工程と、前記矩形判定工程により矩形と判定された前記描画コマンドの座標点から、当該矩形の対角点に対応する座標点を特定する対角点特定工程と、前記特定された座標点に基づいて前記描画コマンドを、前記矩形データに変換するデータ形式変換工程と、を含むことを特徴としている。
また、請求項14にかかる発明は、ページ記述言語で表現された画像データを解析し、描画コマンドを抽出するコマンド解析工程と、前記描画コマンドが矩形図形の描画を対角点により一意に指示する矩形データか否かを判定するコマンド判定工程と、前記コマンド判定工程により矩形データ以外と判定された描画コマンドが表す図形を、主走査方向毎のランレングスデータの始点座標及び終点座標で表したスキャンラインデータに変換するスキャンライン変換工程と、前記スキャンラインデータが表す図形と、前記描画コマンドが表す図形の外接矩形とを比較し、両形状が一致した場合に前記スキャンラインデータが表す図形を矩形と判定する矩形判定工程と、前記矩形判定工程により矩形と判定されたスキャンラインデータに含まれる前記始点座標及び終点座標から、当該矩形の対角点に対応する座標点を特定する対角点特定工程と、前記特定された座標点に基づいて、前記スキャンラインデータを前記矩形データに変換するデータ形式変換工程と、を含むことを特徴としている。
また、請求項15にかかる発明は、ページ記述言語で表現された画像データを解析し、描画コマンドを抽出するコマンド解析工程と、前記描画コマンドが矩形図形の描画を対角点により一意に指示する矩形データか否かを判定するコマンド判定工程と、前記コマンド判定工程により矩形データ以外と判定された描画コマンドが表す図形を、主走査方向毎のランレングスデータの始点座標及び終点座標で表したスキャンラインデータに変換するスキャンライン変換工程と、連続する前記ランレングスデータ間の始点座標及び終点座標を比較し、両座標が一致する一連のランレングスデータにより表される図形を矩形と判定する矩形判定工程と、前記矩形判定工程により矩形と判定された一連のランレングスデータ毎に、当該一連のランレングスデータにかかる前記始点座標及び終点座標から、前記矩形の対角点に対応する座標点を特定する対角点特定工程と、前記特定された座標点に基づいて前記一連のランレングスデータに対応する前記スキャンラインデータの座標範囲を、前記矩形データに変換するデータ形式変換工程と、を含むことを特徴としている。
また、請求項16にかかる発明は、請求項13〜15の何れか一項に記載の画像処理方法をコンピュータに実行させることを特徴としている。
請求項1にかかる発明によれば、ページ記述言語で表現された画像データのうち、描画コマンドが矩形データ以外と判定された描画コマンドの表す図形が矩形か否かを判定し、この図形を矩形と判定した場合に、当該描画コマンドの描画コマンドを矩形データに変換する。これにより、矩形データ以外と判定された描画コマンドにより表される図形が矩形である場合、この描画コマンドを矩形データとして取り扱うことができるため、描画にかかる処理を効率的に行うことができる。
また、請求項2にかかる発明によれば、描画コマンドに含まれた座標点間の線分方向に基づいて、当該線分方向が変化する座標点を抽出し、この抽出された座標点により表される図形が矩形か否かを判定する。これにより、図形形成の要となる座標点を特定することができるため、描画コマンドにより表される図形が矩形か否かをより確実に判定することができる。
また、請求項3にかかる発明によれば、描画コマンドに含まれた座標点の個数が所定の範囲内に含まれる場合にのみ、描画コマンドにより表される図形が矩形か否かを判定することで、不用意に矩形判定が行われてしまうことを防ぐことができる。
また、請求項4にかかる発明によれば、描画コマンドにより表される図形の線分の傾きが所定の誤差範囲内である場合に、この図形が矩形か否かを判定することで、外見上矩形であるが厳密には矩形とならない図形を矩形として処理することができるため、描画にかかる処理を効率的に行うことができる。
また、請求項5にかかる発明によれば、描画コマンドの属性情報に応じて、当該描画コマンドが表す図形が矩形か否かを判定することで描画コマンドの属性に応じて矩形か否かを判定することができる。
また、請求項6にかかる発明によれば、スキャンラインデータに変換された描画コマンドが表す図形と、描画コマンド自体が表す図形の外接矩形とを比較し、両形状が一致した場合にスキャンラインデータが表す図形を矩形と判定し、このスキャンラインデータを矩形データの描画コマンドに変換する。これにより、スキャンライン変換を行った後でしか矩形と判定できないような図形であっても、この図形を矩形データの描画コマンドとして取り扱うことができるため、描画にかかる処理を効率的に行うことができる。
また、請求項7にかかる発明によれば、ランレングスデータ毎の始点座標及び終点座標と、外接矩形の主走査方向の端点座標とを比較することで、両形状が一致するか否かを確実に判定することができる。
また、請求項8にかかる発明によれば、連続するランレングスデータ間の始点座標及び終点座標を比較し、両座標が一致する一連のランレングスデータにより表される図形を矩形と判定し、矩形と判定した一連のランレングスデータ毎に、当一連のランレングスデータに対応するスキャンラインデータの座標範囲を、矩形データの描画コマンドに変換する。これにより、描画コマンドにより表される図形の一部が矩形であっても、この矩形毎に矩形データの描画コマンドとして取り扱うことができるため、描画にかかる処理を効率的に行うことができる。
また、請求項9にかかる発明によれば、始点座標及び終点座標が一致するランレングスデータの個数が所定数以上か否かを判定し、当該所定数以上と判定した場合、ランレングスデータ群により表される図形を矩形と判定することで、不用意に矩形判定が行われてしまうことを防ぐことができる。
また、請求項10にかかる発明によれば、ページ記述言語で表現された画像データのうち、描画コマンドが矩形データ以外と判定された描画コマンドの表す図形が矩形か否かを判定し、この図形を矩形と判定した場合に、当該描画コマンドの描画コマンドを矩形データに変換する。これにより、矩形データ以外と判定された描画コマンドにより表される図形が矩形である場合、この描画コマンドを矩形データとして取り扱うことができるため、描画にかかる処理を効率的に行うことができ、画像データを効率的に印刷することができる。
また、請求項11にかかる発明によれば、スキャンラインデータに変換された描画コマンドが表す図形と、描画コマンド自体が表す図形の外接矩形とを比較し、両形状が一致した場合にスキャンラインデータが表す図形を矩形と判定し、このスキャンラインデータを矩形データの描画コマンドに変換する。これにより、スキャンライン変換を行った後でしか矩形と判定できないような図形であっても、この図形を矩形データの描画コマンドとして取り扱うことができるため、描画にかかる処理を効率的に行うことができ、画像データを効率的に印刷することができる。
また、請求項12にかかる発明によれば、連続するランレングスデータ間の始点座標及び終点座標を比較し、両座標が一致する一連のランレングスデータにより表される図形を矩形と判定し、矩形と判定した一連のランレングスデータ毎に、当一連のランレングスデータに対応するスキャンラインデータの座標範囲を、矩形データの描画コマンドに変換する。これにより、描画コマンドにより表される図形の一部が矩形であっても、この矩形毎に矩形データの描画コマンドとして取り扱うことができるため、描画にかかる処理を効率的に行うことが、画像データを効率的に印刷することができる。
また、請求項13にかかる発明によれば、ページ記述言語で表現された画像データのうち、描画コマンドが矩形データ以外と判定された描画コマンドの表す図形が矩形か否かを判定し、この図形を矩形と判定した場合に、当該描画コマンドの描画コマンドを矩形データに変換する。これにより、矩形データ以外と判定された描画コマンドにより表される図形が矩形である場合、この描画コマンドを矩形データとして取り扱うことができるため、描画にかかる処理を効率的に行うことができる。
また、請求項14にかかる発明によれば、スキャンラインデータに変換された描画コマンドが表す図形と、描画コマンド自体が表す図形の外接矩形とを比較し、両形状が一致した場合にスキャンラインデータが表す図形を矩形と判定し、このスキャンラインデータを矩形データの描画コマンドに変換する。これにより、スキャンライン変換を行った後でしか矩形と判定できないような図形であっても、この図形を矩形データの描画コマンドとして取り扱うことができるため、描画にかかる処理を効率的に行うことができる。
また、請求項15にかかる発明によれば、連続するランレングスデータ間の始点座標及び終点座標を比較し、両座標が一致する一連のランレングスデータにより表される図形を矩形と判定し、矩形と判定した一連のランレングスデータ毎に、当一連のランレングスデータに対応するスキャンラインデータの座標範囲を、矩形データの描画コマンドに変換する。これにより、描画コマンドにより表される図形の一部が矩形であっても、この矩形毎に矩形データの描画コマンドとして取り扱うことができるため、描画にかかる処理を効率的に行うことができる。
また、請求項16にかかる発明によれば、コンピュータに読み取らせて実行することによって、請求項13〜15の何れか一項に記載の画像処理方法をコンピュータの利用で実現することができ、請求項13〜15の何れか一項に記載の画像処理方法と同様の効果を奏する。
以下に添付図面を参照して、本発明の最良な実施の形態を詳細に説明する。
[第1の実施の形態]
図1は、本実施形態の画像処理装置のハードウェア構成を示したブロック図である。図1に示すように、画像形成装置100は、CPU1、ROM2、RAM3、通信I/F4、エンジンI/F5、画像形成エンジン6等を備え、各部はバス7を介して相互に通信可能に接続されている。
CPU1は、RAM3の所定領域を作業領域として、ROM2に予め記憶された各種制御プログラムとの協働により、当該ROM2に予め記憶された各種設定情報に基づいて各種処理を実行し、画像形成装置100を構成する各部の動作を統括的に制御する。
ROM2は、画像形成装置100の制御にかかるプログラムや各種設定情報等を書き換え不可能に記憶する。
RAM3は、SDRAM(Synchronous DRAM)等の記憶装置であって、各種データを書き換え可能に記憶する性質を有していることから、CPU1の作業エリアとして機能し、ワークメモリとしての役割を果たす。また、RAM3は、通信I/F4を介して入力された画像データを記憶するフレームメモリとしての役割を果たす。
通信I/F4は、PC(Personal Computer)等の外部機器との間で通信を行うインターフェースであって、外部機器から入力された画像データをCPU1に出力する。なお、入力される画像データは、外部機器においてPDLを用いて記述されているものとする。
エンジンI/F5は、画像データの印刷を行う画像形成エンジン6との間で通信を行うインターフェースであって、CPU1から出力される画像形成エンジン6を制御するための信号を当該画像形成エンジン6に出力するとともに、画像形成エンジン6から出力される各種信号をCPU1に出力する。
画像形成エンジン6は、印刷対象となった画像データ(描画コマンド)により表される画像を電子写真プロセス等により記録媒体上に形成(印刷)するものである。
図2は、画像形成装置100の機能構成を示すブロック図である。図2に示すように、CPU1がROM2に予め記憶された所定のプログラムに従って各部を制御することにより、PDLパーサ処理部11、矩形判定部12、スキャンライン変換部13、ハーフトーン処理部14が、画像処理装置10としてRAM3に生成されるようになっている。
PDLパーサ処理部11は、画像データを構成するPDLを解析し、描画コマンド単位で抽出する。ここで、描画コマンドには、イメージ、テキスト、グラフィックス(図形)等の形状を表すコマンドや色調等の属性情報を表すコマンドが含まれているものとする。
矩形判定部12は、PDLパーサ処理部11により抽出された描画コマンドが、矩形図形の描画を対角点の指定により一意に指示する矩形データであるか否かを判定する。ここで、矩形判定部12は、描画コマンドを矩形データと判定した場合、この矩形データをハーフトーン処理部14へと出力する。また、矩形判定部12は、描画コマンドを矩形データ以外のポリゴンデータと判定した場合、当該ポリゴンデータに含まれた座標位置の結線により表される図形が、矩形か否かを判定する。
具体的に、矩形判定部12は、各描画コマンドに特有のデータ形式に基づいて各描画コマンドの種別を判定する。図3は、描画コマンドのデータ形式を模式的に示した図である。ここで、図3−1は、ポリゴンデータのデータ形式を示しており、図3−2は、矩形データのデータ形式を示している。
図3−1及び図3−2において、先頭の4バイト分のデータD1、D3に格納されるデータは、描画コマンドの種別を識別するための識別情報であり、ポリゴンデータでは「Polygon ID」が、矩形データでは「Rectangle ID」が夫々付与されるようになっている。矩形判定部12は、上述した描画コマンドの識別子に基づいて、各描画コマンドの種別がポリゴンデータであるか否かを判定する。なお、図3では描画コマンドのうち、ポリゴン及び矩形にかかるデータ構造を列挙したが、他の描画コマンドにおいても、その種別毎に固有の識別情報が付与されているものとする。
また、図3−1において、D2で示した領域には、このポリゴンデータが表す図形の、骨子となる座標が4バイト単位で格納されている。ここで、始点X1座標、始点Y1座標は、描画の際の開始点となる座標点P(1)の座標を意味しており、続くX2、Y2、X3、Y3、X4、Y4・・・Xn、Ynの座標は、開始点から順次直線により接続される座標点P(2)〜P(n)のX座標とY座標を示している。つまり、このポリゴンデータが描画される際には、P(1)からP(2)に、P(2)からP(3)へと順次線分が描画される。なお、ポリゴンデータに含まれた最後の座標点P(n)からの線分は、最初の座標点P(1)へと描画されるようになっている。
例えば、図4−1に示した座標点P(1)〜P(4)で構成されるポリゴンデータの各座標位置が、図4−2のように表される場合、座標点P(1)〜P(4)を結ぶ線分は矩形を表すことになる。矩形判定部12は、後述する矩形判定処理において、ポリゴンデータに含まれた各座標点間の描画順序に応じた線分方向(ベクトル)に基づき、ポリゴンデータが表す図形の角にあたる座標点を抽出する。そして、矩形判定部12は、抽出した座標点により表される図形が矩形であるか否かを判定する。
一方、矩形データには、図3−2に示すように、データD4に矩形図形の対角点となる左上座標(左上X座標、左上Y座標)と右下座標(右下X座標、右下Y座標)との2点が指示されており、この2点間を対角線とする大きさの矩形領域が一意に指定されるようになっている。
矩形判定部12は、ポリゴンデータに矩形図形が含まれると判定した場合、このポリゴンデータのデータ形式を図3−2で示した矩形データのデータ形式に変換し、矩形データとしてハーフトーン処理部14に出力する。
図2に戻り、スキャンライン変換部13は、矩形判定部12で矩形データと判定された描画コマンド又は矩形データに変換された描画コマンド以外のポリゴンデータ、ベジェデータ等の描画コマンドに基づいて、当該描画コマンドで表される図形を後述するスキャンラインデータ(ランレングスデータ)に変換する。
ハーフトーン処理部14は、矩形データ又はスキャンライン変換部13により変換されたスキャンラインデータを2値化するハーフトーン処理を施す。
次に、図5を参照して、本実施形態の画像形成装置100で実行される画像処理方法について説明する。図5は、描画コマンドの矩形判定にかかる画像処理の流れを示したフローチャートである。
まず、画像形成装置100にPDLを用いて記述された画像データが通信I/F4を介して入力されると、PDLパーサ処理部11は、この画像データを構成するPDLを解析し、描画コマンド単位に抽出する(ステップS11)。
次いで、矩形判定部12は、抽出された描画コマンド毎に、当該描画コマンドが矩形データか否かを判定する(ステップS12)。ここで、矩形データと判定した場合(ステップS12;Yes)、矩形判定部12は、この矩形データをハーフトーン処理部14に出力することで、ハーフトーン処理部14によりハーフトーン処理を施させ(ステップS23)、本処理を終了する。
一方、ステップS12において、描画コマンドが矩形データでないと判定した場合(ステップS12;No)、矩形判定部12は、さらに描画コマンドがポリゴンデータか否かを判定する(ステップS13)。ここで、ポリゴンデータでないと判定した場合(ステップS13;No)、矩形判定部12は、描画コマンドをスキャンライン変換部13に出力することで、スキャンライン変換部13によりスキャンライン変換処理を施させる(ステップS21)。
また、ステップS13において、描画コマンドがポリゴンデータと判定した場合(ステップS13;Yes)、矩形判定部12は、このポリゴンデータに含まれた座標点の総数nが4以上か否かを判定する(ステップS14)。ここで、座標点の総数nが4未満と判定した場合には(ステップS14;No)、ステップS21へと直ちに移行する。
一方、ステップS14において、座標点の総数nが4以上と判定した場合(ステップS14;Yes)、矩形判定部12は、ポリゴンデータから座標点P(n)とP(1)に対応する座標を取得した後(ステップS15)、ステップS16の線分方向判定処理へと移行する。以下、図6を参照して、ステップS16の線分方向判定処理を説明する。
まず、矩形判定部12は、取得した二つの座標点のうち、線分の描画元となる座標点のy座標(Ay)が、線分の描画先となる座標点のy座標(By)と等しいか否かを判定する(ステップS161)。ここで、AyとByとが等しいと判定した場合(ステップS161;Yes)、矩形判定部12は、さらに線分の描画元となる座標点のx座標(Ax)が、線分の描画先となる座標点のx座標(Bx)より小さいか否かを判定する(ステップS162)。
ステップS162において、AxがBxより小さいと判定した場合(ステップS162;Yes)、矩形判定部12は、この二つの座標点を結ぶ線分のベクトルを「X_AXIS_FOR_POSITIVE」と判定し(ステップS163)、図5のステップS17へと移行する。
また、ステップS162において、AxがBx以上と判定した場合(ステップS162;No)、矩形判定部12は、AxがBxより大きいか否かを判定する(ステップS164)。ここで、AxがBxより大きいと判定した場合には(ステップS164;Yes)、矩形判定部12は、この二つの座標点を結ぶ線分のベクトルを「X_AXIS_FOR_NEGATIVE」と判定し(ステップS165)、図5のステップS17へと移行する。
なお、ステップS164において、AxとBxとが等しいと判定した場合には(ステップS164;No)、二つの座標点は同位置に存在するものと判断し、図5のステップS21へと移行する。
一方、ステップS161において、AyとByとが等しくないと判定した場合(ステップS161;No)、矩形判定部12は、AxとBxとが等しいか否かを判定する(ステップS166)。ここで、AxとBxとが等しくないと判定した場合(ステップS166;No)、二つの座標点を結ぶ線分はX軸又はY軸に対して平行でないと判断し、図5のステップS17へと移行する。
ステップS166において、AxとBxとが等しいと判定した場合(ステップS166;Yes)、矩形判定部12は、AyがByより小さいか否かを判定する(ステップS167)。ここで、AyがByより小さいと判定した場合(ステップS167;Yes)、矩形判定部12は、この二つの座標点を結ぶ線分のベクトルを「Y_AXIS_FOR_POSITIVE」と判定し(ステップS168)、図5のステップS17へと移行する。
また、ステップS167において、AyがBy以上と判定した場合(ステップS167;No)、矩形判定部12は、この二つの座標点を結ぶ線分のベクトルを「Y_AXIS_FOR_NEGATIVE」と判定し(ステップS169)、図5のステップS17へと移行する。
図7は、線分方向判定処理での動作を説明するための図である。なお、図中右方向をX軸の正方向、図中下方向をY軸の正方向としている。図7−1に示すように、座標点P(1)からP(2)に向かう線分のベクトル、及び、座標点P(2)からP(3)に向かう線分のベクトルはX軸の正方向となる。そのため、線分方向判定処理では、このP(1)−P(2)間、P(2)−P(3)間のベクトルをX軸の正方向を意味する「X_AXIS_FOR_POSITIVE」と判定する。
また、図7−2に示すように、座標点P(1)から座標点P(2)に向かう線分のベクトルはX軸の正方向となるため、座標点P(1)−P(2)間のベクトルを「X_AXIS_FOR_POSITIVE」と設定するが、座標点P(2)からP(3)に、座標点P(3)からP(1)に向かう線分のベクトルはX軸の負方向となる。そのため、線分方向判定処理では、座標点P(2)−P(3)間、座標点P(3)−P(1)間のベクトルをX軸の負方向を意味する「X_AXIS_FOR_NEGATIVE」と判定する。
Y軸に関してもX軸と同様に二つの座標点間を結ぶ線分のベクトルが判定される。図7−3に示すように、座標点P(1)から座標点P(2)に向かう線分のベクトルはY軸の正方向となるため、座標点P(1)−P(2)間のベクトルを「Y_AXIS_FOR_POSITIVE」と判定する。また、座標点P(2)からP(3)に、座標点P(3)からP(1)に向かう線分のベクトルは共にY軸の負方向となる。そのため、線分方向判定処理では、座標点P(2)−P(3)間、座標点P(3)−P(1)間のベクトルをY軸の負方向を意味する「Y_AXIS_FOR_NEGATIVE」と判定する。
図5に戻り、ステップS17では、矩形判定部12がステップS16の線分方向判定処理で判定された二つの座標点間を結ぶ線分のベクトルをpVectorに設定した後(ステップS17)、ステップS18の変化点抽出処理へと移行する。以下、図8を参照して、ステップS18の変化点抽出処理について説明する。
まず、矩形判定部12は、本変化点抽出処理の初期値として座標点の番数を指示するパラメータaの値を1に設定する(ステップS1801)。そして、矩形判定部12は、ベクトルデータから座標点P(a)及びP(a+1)に対応する座標を夫々取得する(ステップS1802)。
次いで、矩形判定部12は、ステップS1802で取得した二つの座標点の座標に基づいて、線分方向判定処理を実行することにより、この二つの座標点間のベクトルを判定する(ステップS1803)。なお、ステップS1803の線分方向判定処理は、上述したステップS16の線分方向判定処理と同様であるため、その説明は省略する。
続いて、矩形判定部12は、ステップS1803で判定した二つの座標間のベクトルを、変数cVectorに設定した後(ステップS1804)、このcVectorと先に設定したpVectorとが一致するか否かを判定する(ステップS1805)。
ステップS1805において、pVectorとcVectorとが一致しないと判定した場合には(ステップS1805;Yes)、矩形判定部12は、座標点P(a)に対応する座標をRAM3の所定領域に格納し(ステップS1806)、cVectorに設定された値をpVectorとして設定し直した後(ステップS1807)、ステップS1808の処理へと移行する。
一方、ステップS1805において、pVectorとcVectorとが一致すると判定した場合には(ステップS1805;No)、ステップS1808の処理へと直ちに移行する。
ステップS1808において、矩形判定部12は、現在のaの値が、ポリゴンデータに含まれた座標点Pの総数nから1減算した値、即ちn−1に達したか否かを判定し、達していないと判定した場合(ステップS1808;No)、aを1インクリメントした後(ステップS1809)、ステップS1802の処理へと再び戻る。
また、ステップS1808において、現在のaの値が、n−1に達したと判定した場合には(ステップS1808;Yes)、座標点P(n)と座標点P(1)に対応する座標をポリゴンデータから取得する(ステップS1810)。
次いで、矩形判定部12は、ステップS1810で取得した二つの座標点(P(n)とP(1))の座標に基づいて、線分方向判定処理を実行することにより、この二つの座標点間のベクトルを判定する(ステップS1811)。なお、ステップS1811の線分方向判定処理は、上述したステップS16の線分方向判定処理と同様であるため、その説明は省略する。
続いて、矩形判定部12は、ステップS1811で判定した二つの座標間のベクトルを、変数cVectorに設定した後(ステップS1812)、このcVectorと先に設定したpVectorとが一致するか否かを判定する(ステップS1813)。
ステップS1813において、pVectorとcVectorとが一致しないと判定した場合には(ステップS1813;Yes)、矩形判定部12は、座標点P(n)に対応する座標をRAM3の所定領域に格納し(ステップS1814)、図5のステップS19へと移行する。
一方、ステップS1813において、pVectorとcVectorとが一致すると判定した場合には(ステップS1813;No)、図5のステップS19へと直ちに移行する。
図9は、変化点抽出処理での動作を説明するための図である。ここで、ポリゴンデータに含まれる座標点P(1)〜P(8)が図9−1に示す位置に存在し、上述した線分方向判定処理により各座標点間のベクトルが図9−1に示したように判定されたとする。上述した変化点抽出処理では、ポリゴンデータに含まれた各座標点に対し、一の座標点とこの座標点の前後に位置する他の座標点とのベクトルを比較することで、ベクトルが変化する座標点を判定し、この変化する座標点の座標をRAM3に格納することで抽出を行う。
例えば、図9−1において、座標点P(2)、P(3)にかかるベクトルは、前後に位置する座標点との関係から、共にX_AXIS_FOR_POSITIVEとなるため、座標点P(2)、P(3)は図8のステップS1805〜S1808で抽出されない。また、同様に座標点P(5)、P(6)にかかるベクトルは、前後に位置する座標点との関係から、共にY_AXIS_FOR_POSITIVEとなるため、座標点P(5)、P(6)は図8のステップS1805〜S1808で抽出されない。
一方、図9−1において、座標点(4)にかかるベクトルは、前後に位置する座標点(P(3)、P(5))との関係から、X_AXIS_FOR_POSITIVE→Y_AXIS_FOR_POSITIVEとなるため、図8のステップS1805〜S1808で抽出されることになる。また、座標点P(7)、P(8)、P(1)についても同様、これらの座標点を境にベクトルが異なることになるため、図8のステップS1805〜S1808で抽出されることになる。そのため、図9−1で示した各座標点は、変化点抽出処理を経ることで、図9−2に示すようにベクトルの変化にかかる座標点のみが抽出されることになる。
図5に戻り、ステップS19では、矩形判定部12が矩形判定処理を実行する。以下、図10を参照して、ステップS19の矩形判定処理について説明する。
まず、矩形判定部12は、RAM3に格納された各座標(座標点)を参照し(ステップS1901)、x、yの値が最小となる座標点Pminの座標(Xmin、Ymin)を特定する(ステップS1902)。なお、本実施形態においてPminの特定は、x座標、y座標の夫々を二乗し、これら値の和が最小となる座標点をPminとする。
次いで、矩形判定部12は、特定したPminは唯一か否かを判定する(ステップS1903)。ここで、Pminが二つ以上特定できた場合(ステップS1903;No)、矩形判定部12は、RAM3に格納された座標(座標点)、即ちポリゴンデータを非矩形と判定した後(ステップS1904)、図5のステップS20へと移行する。
一方、ステップS1903において、一のPminが特定できた場合には(ステップS1903;Yes)、続いてRAM3からx、yの値が最大となる座標点Pmaxの座標(Xmax、Ymax)を特定する(ステップS1905)。なお、本実施形態においてPmaxの特定は、x座標、y座標の夫々を二乗し、これら値の和が最大となる座標点をPmaxとする。
そして、矩形判定部12は、特定したPmaxは唯一か否かを判定する(ステップS1906)。ここで、Pmaxが二つ以上特定できた場合(ステップS1906;No)、矩形判定部12は、RAM3に格納された座標(座標点)、即ちポリゴンデータを非矩形と判定した後(ステップS1904)、図5のステップS20へと移行する。
また、ステップS1906において、一のPmaxが特定できた場合には(ステップS1906;Yes)、(Xmin、Ymax)に対応する座標点がRAM3に格納されているか否かを判定する(ステップS1907)。ここで、(Xmin、Ymax)に対応する座標点がRAM3に格納されていないと判定した場合(ステップS1907;No)、矩形判定部12は、RAM3に格納された座標(座標点)、即ちポリゴンデータを非矩形と判定した後(ステップS1904)、図5のステップS20へと移行する。
一方、ステップS1907において、(Xmin、Ymax)に対応する座標点が格納されていると判定した場合(ステップS1907;Yes)、矩形判定部12は、続いて(Xmax、Ymin)に対応する座標点がRAM3に格納されているか否かを判定する(ステップS1908)。
ステップS1908において、(Xmax、Ymin)に対応する座標点がRAM3に格納されていないと判定した場合(ステップS1908;No)、矩形判定部12は、RAM3に格納された座標(座標点)、即ちポリゴンデータを非矩形と判定した後(ステップS1904)、図5のステップS20へと移行する。
また、(Xmax、Ymin)に対応する座標点がRAM3に格納されていると判定した場合(ステップS1908;Yes)、矩形判定部12は、RAM3に上記した(Xmin、Ymin)、(Xmax、Ymax)、(Xmin、Ymax)、(Xmax、Ymin)以外の他の座標点に対応する座標が格納されているか否かを判定する(ステップS1909)。
ステップS1909において、RAM3に他の座標点が格納されていると判定した場合(ステップS1909;Yes)、矩形判定部12は、RAM3に格納された座標(座標点)、即ちポリゴンデータを非矩形と判定した後(ステップS1904)、図5のステップS20へと移行する。
一方、ステップS1909において、RAM3に他の座標点が格納されていないと判定した場合(ステップS1909;No)、矩形判定部12は、RAM3に格納された座標(座標点)、即ちポリゴンデータを矩形と判定し(ステップS1910)、図5のステップS20へと移行する。
図5に戻り、ステップS20では、矩形判定部12がステップS19の矩形判定処理での判定結果に基づいて、処理対象となったポリゴンデータに矩形図形が含まれているか否かを判定する(ステップS20)。ここで、非矩形と判定されたポリゴンデータは(ステップS20;No)、ステップS21において、スキャンライン変換部13によりスキャンライン処理が施された後(ステップS21)、ハーフトーン処理部14に出力されステップS23へと移行する。
一方、ステップS20において、矩形と判定した場合(ステップS20;Yes)、矩形判定部12は、RAM3に格納された各座標(座標点)から、この矩形領域の対角点に対応する座標を特定し、この特定した二つの座標に基づいて、処理対象となったポリゴンデータのデータ形式を、図3−2に示した矩形データのデータ形式に変換し、矩形データとしてハーフトーン処理部14に出力する(ステップS22)。
続くステップS23では、ハーフトーン処理部14が、入力された矩形データ又はスキャンライン処理されたデータを二値化するスキャンライン処理を施し(ステップS23)、本処理を終了する。
以上のように、本実施形態によれば、ページ記述言語で表現された画像データのうち、描画コマンドが矩形データ以外と判定された描画コマンドの表す図形が矩形か否かを判定し、この図形を矩形と判定した場合に、当該描画コマンドの描画コマンドを矩形データに変換する。これにより、矩形データ以外と判定された描画コマンドにより表される図形が矩形である場合、この描画コマンドを矩形データとして取り扱うことができるため、描画にかかる処理を効率的に行うことができ、画像データを効率的に印刷することができる。
なお、本実施形態では、ポリゴンデータに含まれた座標点の個数nが4個以上の時、当該ポリゴンデータにより表される図形の矩形判定を行う態様としたが(図5、ステップS14参照)、これに限らず、例えば、ポリゴンデータに含まれた座標点の個数nが所定の範囲内(4≦n≦8等)に含まれる場合にのみ、当該ポリゴンデータにより表される図形が矩形か否かを判定する態様としてもよい。なお、所定の範囲を指示する情報は、設定情報としてROM2に予め記憶されているものとする。
また、本実施形態では、ポリゴンデータにより表される図形の線分が、X軸又はY軸に平行な図形についてのみ、当該図形の矩形判定を行う態様としたが、これに限らず、例えば、画像データにより表される図形の線分の傾きが所定の誤差範囲内に収まる場合、当該図形の矩形判定を行う態様としてもよい。この場合、図6に示したフローチャートのステップS161の判定条件を|Ay−By|<valと置き換え、また、ステップS166の判定条件を|Ax−Bx|<valと置き換えることで対応することができる。ここで、valは許容誤差の値を示すパラメータであり、設定情報としてROM2に予め記憶されているものとする。
このように、描画コマンドにより表される図形の線分の傾きが所定の誤差範囲内である場合、当該描画コマンドにより表される図形が矩形か否かを判定することで、外見上矩形であるが厳密には矩形とならない図形を矩形として処理することができるため、描画にかかる処理を効率的に行うことができる。
[第2の実施形態]
次に、画像処理装置の第2の実施形態について説明する。なお、上述した第1の実施形態と同様の要素については、同一の符号を用いて示し、その説明は適宜省略する。
上述した第1の実施形態では、スキャンライン変換前のポリゴンデータに基づいて、当該ポリゴンデータが表す図形が矩形か否かを判定したが、本実施形態では、スキャンライン変換後のポリゴンデータが表す図形に基づいて矩形か否かの判定を行う。
図11は、本実施形態の画像形成装置100の機能構成を示すブロック図である。図11に示すように、CPU1がROM2に予め記憶された所定のプログラムに従って各部を制御することにより、PDLパーサ処理部11、スキャンライン変換部13、矩形判定部15、ハーフトーン処理部14が、画像処理装置20としてRAM3に生成されるようになっている。
ここで、矩形判定部15は、スキャンライン変換部13によりスキャンライン変換されたランレングスデータに基づいて、当該ランレングスデータが表す図形が矩形か否かを判定する。以下、矩形判定部15の動作について説明する。
まず、図12を参照してスキャンライン変換されたランレングスデータの状態について説明する。ここで、ポリゴンデータに含まれた座標点P(1)〜P(5)により表される図形が、図12の左図に示したものであるとすると、スキャンライン毎に変換された後の状態は、図12の右図のように表される。
図12の右図において、SX及びEXは、各スキャンラインにおいて始点となるX座標(以下、始点X座標という)と、終点となるX座標(以下、終点X座標という)を夫々表しており、スキャンラインの高さを成分表すY座標毎(Y=a〜Y=a+n;aは任意の整数、nはY座標の総数)に設定されるようになっている。ここで、SXからEXまでの範囲は、ポリゴンデータが表す図形の各Y座標位置における幅方向の大きさを表し、この範囲を表すデータが上述したランレングスデータに対応している。このランレングスデータをY=aからY=a+nまで蓄積することで、図12の右図に示したように、ポリゴンデータに対応する図形を表すようになっている。以下、複数のランレングスデータからなるデータ群をスキャンラインデータという。
スキャンライン変換部13により生成されたスキャンラインデータのデータ形式は、図13のように表される。図13において、先頭の4バイト分のデータD5はスキャンラインデータであることを識別させるためのデータ領域であり、続くデータD6にはランレングスデータにかかるデータが4バイト単位で格納されるようになっている。
D6のデータ領域において、D61にはランレングスデータにより表された図形に外接する矩形の左上座標(外接左上X座標、外接左上Y座標)が格納されており、またD62にはランレングスデータにより表された図形に外接する矩形の右下座標(外接右下X座標、外接右下Y座標)が格納される。続く、D63・・・D6nには、各ランレングスデータに対応するY座標(例えば、Y(a)座標)、始点となるX座標(例えば、SX(a))、終点となるX座標(例えば、EX(a))が夫々格納される。
矩形判定部15は、上述したスキャンラインデータに含まれる外接左上X座標と各ランレングスデータにかかる始点X座標とを比較し、また、外接右下X座標と各ランレングスデータにかかる終点X座標とを比較することで、当該スキャンラインデータが表す図形が矩形図形か否かを判定する。
次に、図14を参照して、本実施形態の画像形成装置100で実行される画像処理方法について説明する。図14は、本実施形態の描画コマンドの矩形判定にかかる画像処理の流れを示したフローチャートである。
まず、画像形成装置100にPDLを用いて記述された画像データが入力されると、PDLパーサ処理部11は、この画像データを構成するPDLを解析し、描画コマンド単位に抽出する(ステップS31)。
次いで、スキャンライン変換部13は、抽出された描画コマンド毎に、当該描画コマンドが矩形データか否かを判定する(ステップS32)。ここで、スキャンライン変換部13は、上述した第1の実施形態の矩形判定部12と同様、各描画コマンドの識別情報に基づいて矩形データの判定を行うものとする。なお、本実施形態では、スキャンライン変換部13が矩形データか否かの判定を行う態様としたが、これに限らず、矩形判定部15が行う態様としてもよい。
ステップS32において、描画コマンドを矩形データと判定した場合(ステップS32;Yes)、スキャンライン変換部13は、この矩形データをハーフトーン処理部14に出力することで、ハーフトーン処理部14によりハーフトーン処理を施させ(ステップS37)、本処理を終了する。
一方、ステップS32において、描画コマンドが矩形データでないと判定した場合(ステップS32;No)、スキャンライン変換部13は、描画コマンドにより表される図形をスキャンラインデータに変換する(ステップS33)。
続いて、矩形判定部15は、スキャンライン変換部13により変換されたスキャンラインデータに基づいて、矩形判定処理を実行する(ステップS34)。以下、図15を参照して、ステップS34の矩形判定処理について説明する。
まず、矩形判定部15は、スキャンライン毎のY座標を表わすパラメータiを、初期値であるa(aは任意の整数)に設定する(ステップS341)。続いて矩形判定部15は、このiに対応する始点X座標SX(i)が外接左上X座標に一致し、且つ、終点X座標EX(i)が外接右下X座標に一致するか否かを判定する(ステップS342)。
ステップS342において、始点X座標SX(i)が外接左上X座標に一致しない、及び/又は、終点X座標EX(i)が外接右下X座標に一致しないと判定した場合には(ステップS342;No)、矩形判定部15は、スキャンラインデータを非矩形と判定した後(ステップS343)、図14のステップS35へと移行する。
一方、ステップS343において、始点X座標SX(i)が外接左上X座標に一致し、且つ、終点X座標EX(i)が外接右下X座標に一致すると判定した場合には(ステップS342;Yes)、矩形判定部15は、現在のiの値がスキャンラインデータの最後のY座標(a+n)と一致するか否かを判定する(ステップS344)。ここで、iの値がa+nを下回ると判定した場合には(ステップS344;No)、矩形判定部15は、iの値を1インクリメントした後(ステップS345)、ステップS342の処理へと再び戻る。
また、ステップS344において、iの値がa+nと一致すると判定した場合(ステップS344;Yes)、矩形判定部15は、スキャンラインデータに矩形図形が含まれると判定した後(ステップS343)、図14のステップS35へと移行する。
図14に戻り、ステップS35では、矩形判定部15が、ステップS344の判定結果に基づいて、処理対象となったスキャンラインデータに矩形図形が含まれているか否かを判定する(ステップS35)。ここで、非矩形と判定されたスキャンラインデータは(ステップS35;No)、ハーフトーン処理部14に出力され後述するステップS37の処理へと移行する。
一方、ステップS35において、矩形図形が含まれていると判定した場合(ステップS35;Yes)、矩形判定部15は、処理対象となったスキャンラインデータに含まれる外接矩形の対角点、即ち左上座標(外接左上X座標、外接左上Y座標)と外接矩形の右下座標(外接右下X座標、外接右下Y座標)を特定し、この対角点に基づいて処理対象となったスキャンラインデータを、図3−2に示した矩形データのデータ形式に変換し、矩形データとしてハーフトーン処理部14に出力する(ステップS36)。
続くステップS37では、ハーフトーン処理部14が、入力された矩形データ又はスキャンライン処理されたデータを二値化するスキャンライン処理を施し(ステップS37)、本処理を終了する。
以上のように、本実施形態によれば、スキャンラインデータに変換された描画コマンドが表す図形と、描画コマンド自体が表す図形の外接矩形とを比較し、両形状が一致した場合にスキャンラインデータが表す図形を矩形と判定し、このスキャンラインデータを矩形データの描画コマンドに変換する。これにより、スキャンライン変換を行った後でしか矩形と判定できないような図形であっても、この図形を矩形データの描画コマンドとして取り扱うことができるため、描画にかかる処理を効率的に行うことができ、画像データを効率的に印刷することができる。
[第3の実施形態]
次に、画像処理装置の第3の実施形態について説明する。なお、上述した第1、2の実施形態と同様の要素については、同一の符号を用いて示し、その説明は適宜省略する。
上述した第2の実施形態では、スキャンラインデータにより表される図形が、矩形である場合を判定することとしたが、図形の一部分が矩形であるような場合には、この矩形部分を判定することができない。例えば、ポリゴンデータに含まれた各座標点の位置が図16−1で表される場合、当該ポリゴンデータに基づいて生成されたスキャンラインデータは図16−2のようになる。
この場合、スキャンラインデータが表す形状は矩形ではないため、当該形状が部分的に矩形で表せるような場合であっても非矩形と判定されることになる。そのため本実施形態では、スキャンラインデータに含まれたランレングスデータ間の関係に基づいて、ポリゴン図形の一部分が矩形であるような場合でも、該当する部分を矩形として判定することが可能な態様について説明する。
まず、図11を参照して本実施形態の矩形判定部15について説明する。本実施形態の矩形判定部15は、スキャンラインデータに含まれた連続するランレングスデータ間の始点X座標SXと終点X座標EXとを比較し、両値が一致した場合に、当該ランレングスデータにより表される図形を矩形と判定する。
また、本実施形態の矩形判定部15は、矩形と判定した一連するランレングスデータ単位で矩形データのデータ形式に変換し、矩形データとしてハーフトーン処理部14に出力する。
以下、図17を参照して、本実施形態の矩形判定処理について説明する。なお、本処理は図14で示した画像処理の矩形判定処理(ステップS34)に対応するものである。
まず、矩形判定部15は、スキャンライン毎のY座標を表わすパラメータiを、初期値であるa(aは任意の整数)に設定する(ステップS41)。続いて矩形判定部15は、このiに対応するY座標Y(i)を、Ysと設定した後(ステップS42)、iを1インクリメントすることで、比較対象を次のY座標へと移行させる(ステップS43)。
次いで、矩形判定部15は、一つ前のY(i−1)における始点X座標SX(i−1)と、現在のY(i)における始点X座標SX(i)とが一致し、且つ、一つ前のY(i−1)における終点X座標EX(i−1)と、現在のY(i)における終点X座標EX(i)とが一致するか否かを判定する(ステップS44)。
ステップS44において、始点X座標SX(i−1)が始点X座標SX(i)に一致し、且つ、終点X座標EX(i−1)が終点X座標EX(i)に一致すると判定した場合には(ステップS44;Yes)、ステップS43に戻り、比較対象を次のY座標へと移行させる。
一方、ステップS44において、始点X座標SX(i−1)が始点X座標SX(i)に一致しない、及び/又は、終点X座標EX(i−1)が終点X座標EX(i)に一致しないと判定した場合(ステップS44;No)、矩形判定部15は、YsからY(i−1)のランレングスデータにより表される図形を矩形と判定する(ステップS45)。
続いて、矩形判定部15は、現在のiの値がスキャンラインデータの最後のY座標(a+n)と一致するか否かを判定する(ステップS46)。ここで、iの値がa+nを下回ると判定した場合には(ステップS46;No)、ステップS42へと再び戻り、現在のiにかかるY(i)をYsと設定した後、ステップS43〜S45を再び実行する。
また、ステップS45において、iの値がa+nと一致すると判定した場合には(ステップS46;Yes)、図14のステップS35へと移行し、本矩形判定処理を終了する。
上述した矩形判定処理において、矩形と判定された一連のランレングスデータは、図14のステップS35、S36において、一連するランレングスデータ毎に矩形データのデータ形式へと変換され、続くハーフトーン処理部14へと出力されることになる。具体的には、矩形と判定された一連のランレングスデータの始点X座標と終点X座標に基づいて、矩形領域の対角点に対応する座標点を特定し、この対角点に基づいて一連のランレングスデータに対応するスキャンラインデータの座標範囲を、図3−2に示した矩形データのデータ形式に変換し、矩形データとしてハーフトーン処理部14に出力する。
このように、スキャンラインデータに含まれた連続するランレングスデータ間の開始・終了座標に基づいて、矩形図形の判定を行うことにより、例えば、複数の矩形図形で表される図16−2のようなスキャンラインデータであっても、図16−3に示すように、三つの矩形図形として判定することができる。
以上のように、本実施形態によれば、連続するランレングスデータ間の始点座標及び終点座標を比較し、両座標が一致する一連のランレングスデータにより表される図形を矩形と判定し、矩形と判定した一連のランレングスデータ毎に、当一連のランレングスデータに対応するスキャンラインデータの座標範囲を、矩形データの描画コマンドに変換する。これにより、描画コマンドにより表される図形の一部が矩形であっても、この矩形毎に矩形データの描画コマンドとして取り扱うことができるため、描画にかかる処理を効率的に行うことができ、画像データを効率的に印刷することができる。
[第4の実施形態]
次に、画像処理装置の第4の実施形態について説明する。なお、上述した第1〜3の実施形態と同様の要素については、同一の符号を用いて示し、その説明は適宜省略する。
上述した第3の実施形態では、スキャンラインデータにより表される図形がX軸又はY軸に対して傾斜した線分を有する場合、その傾斜部分を構成するランレングスデータを夫々矩形図形として処理することになる。例えば、図18で示したスキャンラインデータを処理対象とする場合、傾斜部分を構成するランレングスデータ夫々を矩形データに変換することになるため、効率的な処理の妨げとなる場合がある。
そのため本実施形態では、スキャンラインデータに含まれたランレングスデータの開始X座標と終点X座標とが一致した状態で所定数連続した場合に、一連するランレングスデータを矩形図形として判定する態様を説明する。
まず、図11を参照して本実施形態の矩形判定部15について説明する。本実施形態の矩形判定部15は、スキャンラインデータに含まれた連続するランレングスデータ間の始点X座標SXと終点X座標EXとを比較し、両値が一致した状態で所定のランレングスデータ数(Y座標数)連続した場合に、当該ランレングスデータ群により表される図形を矩形と判定する。
また、本実施形態の矩形判定部15は、矩形と判定した一連するランレングスデータ単位で矩形データに変換し、矩形データとしてハーフトーン処理部14に出力する。
以下、図19を参照して、本実施形態の矩形判定処理について説明する。なお、本処理は図14で示した画像処理の矩形判定処理(ステップS34)に対応するものである。
まず、矩形判定部15は、スキャンライン毎のY座標を表わすパラメータiを、初期値であるa(aは任意の整数)に設定する(ステップS51)。続いて矩形判定部15は、このiに対応するY座標Y(i)を、Ysと設定した後(ステップS52)、iを1インクリメントすることで、比較対象を次のY座標へと移行させる(ステップS53)。
次いで、矩形判定部15は、一つ前のY(i−1)における始点X座標SX(i−1)と、現在のY(i)における始点X座標SX(i)とが一致し、且つ、一つ前のY(i−1)における終点X座標EX(i−1)と、現在のY(i)における終点X座標EX(i)とが一致するか否かを判定する(ステップS54)。
ステップS44において、始点X座標SX(i−1)が始点X座標SX(i)に一致し、且つ、終点X座標EX(i−1)が終点X座標EX(i)に一致すると判定した場合には(ステップS54;Yes)、ステップS53に戻り、比較対象を次のY座標へと移行させる。
一方、ステップS54において、始点X座標SX(i−1)が始点X座標SX(i)に一致しない、及び/又は、終点X座標EX(i−1)が終点X座標EX(i)に一致しないと判定した場合(ステップS54;No)、矩形判定部15は、Y(i−1)からYsを減算した値が所定値MIN_Y(例えば、2等)より大きいか否かを判定する(ステップS55)。ここで、所定値MIN_Yは任意の値を設定できるものとする。
ステップS55において、Y(i−1)からYsを減算した値が所定値MIN_Y(例えば、2等)より大きいと判定した場合(ステップS55;Yes)、矩形判定部15は、YsからY(i−1)のランレングスデータにより表される図形を矩形と判定し(ステップS56)、ステップS57の処理へと移行する。
一方、ステップS55において、Y(i−1)からYsを減算した値が所定値MIN_Y(例えば、2等)以下と判定した場合には(ステップS55;No)、ステップS57の処理へと直ちに移行する。
ステップS57では、矩形判定部15が、現在のiの値がスキャンラインデータの最後のY座標(a+n)と一致するか否かを判定する(ステップS57)。ここで、iの値がa+nを下回ると判定した場合には(ステップS57;No)、ステップS52へと再び戻り、現在のiにかかるY(i)をYsと設定した後、ステップS53〜S57を再び実行する。
また、ステップS45において、iの値がa+nと一致すると判定した場合には(ステップS46;Yes)、図14のステップS35へと移行し、本矩形判定処理を終了する。
上述した矩形判定処理において、矩形と判定された一連のランレングスデータは、図14のステップS35、S36において、一連するランレングスデータ毎に矩形データへと変換され、続くハーフトーン処理部14へと出力されることになる。具体的には、矩形と判定された一連のランレングスデータの始点X座標と終点X座標に基づいて、矩形領域の対角点に対応する座標点を特定し、この対角点に基づいて一連のランレングスデータに対応するスキャンラインデータの座標範囲を、図3−2に示した矩形データのデータ形式に変換し、矩形データとしてハーフトーン処理部14に出力する。
以上のように、本実施形態によれば、始点座標及び終点座標が一致するランレングスデータの個数が所定数以上か否かを判定し、当該所定数以上と判定した場合、ランレングスデータ群により表される図形を矩形と判定することで、不用意に矩形判定が行われてしまうことを防ぐことができる。
以上、本発明を第1〜第4の実施形態を用いて説明してきたが、上述した実施形態に多様な変更または改良を加えることができる。また、上述した第1〜第4の実施形態において説明した構成や機能は、自由に組み合わせることができる。
例えば、上記実施形態の画像形成装置(画像処理装置)で実行される画像処理にかかるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
また、上記実施形態の画像形成装置(画像処理装置)で実行される画像処理にかかるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上記実施形態の画像形成装置(画像処理装置)で実行される画像処理にかかるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
以上のように、本発明にかかる画像処理装置、画像形成装置、画像処理方法及び画像処理プログラムは、ページ記述言語を用いて表現された画像データの描画を行う場合に有効であり、特に、矩形図形が含まれる画像データを描画する場合に適している。
画像処理装置のハードウェア構成を示したブロック図である。 第1の実施形態における画像処理装置の機構構成を示したブロック図である。 ポリゴンデータのデータ構造の一例を示した図である。 矩形データのデータ構造の一例を示した図である。 ポリゴンデータのデータ構造の一例を示した図である。 ポリゴンデータにより表される図形の一例を示した図である。 第1の実施形態における画像処理の手順を示したフローチャートである。 線分方向判定処理の手順を示したフローチャートである。 線分方向判定処理の動作を説明するための図である。 線分方向判定処理の動作を説明するための図である。 線分方向判定処理の動作を説明するための図である。 変化点抽出処理の手順を示したフローチャートである。 変化点抽出処理の動作を説明するための図である。 変換点抽出処理の動作を説明するための図である。 第1の実施形態における矩形判定処理の手順を示したフローチャートである。 第2の実施形態における画像処理装置の機能構成を示したブロック図である。 スキャンライン変換を説明するための図である。 スキャンラインデータのデータ構造の一例を示した図である。 第2の実施形態における画像処理の手順を示したフローチャートである。 第2の実施形態における矩形判定処理の手順を示したフローチャートである。 ポリゴンデータにより表される図形の一例を示した図である。 図16−1で示した図形をスキャンラインデータで表した図である。 図16−2で示した図形の矩形判定処理後の状態を示した図である。 第3の実施形態における矩形判定処理の手順を示したフローチャートである。 スキャンラインデータにより表される図形の一例を示した図である。 第4の実施形態における矩形判定処理の手順を示したフローチャートである。
符号の説明
100 画像形成装置
1 CPU
2 ROM
3 RAM
4 通信I/F
5 エンジンI/F
6 画像形成エンジン
7 バス
10 画像処理装置
11 PDLパーサ処理部
12 矩形判定部
13 スキャンライン変換部
14 ハーフトーン処理部
15 矩形判定部
20 画像処理装置

Claims (16)

  1. ページ記述言語で表現された画像データを解析し、描画コマンドを抽出するコマンド解析手段と、
    前記描画コマンドが矩形図形の描画を対角点により一意に指示する矩形データか否かを判定するコマンド判定手段と、
    前記コマンド判定手段により矩形データ以外と判定された描画コマンドに対し、当該描画コマンドに含まれた座標点により表される図形が矩形か否かを判定する矩形判定手段と、
    前記矩形判定手段により矩形と判定された前記描画コマンドの座標点から、当該矩形の対角点に対応する座標点を特定する対角点特定手段と、
    前記特定された座標点に基づいて前記描画コマンドを、前記矩形データに変換するデータ形式変換手段と、
    を備えたことを特徴とする画像処理装置。
  2. 前記矩形判定手段は、前記描画コマンドに含まれた座標点間を結ぶ線分方向に基づいて当該線分方向が変化する座標点を抽出し、この抽出された座標点により表される図形が矩形か否かを判定することを特徴とする請求項1に記載の画像処理装置。
  3. 前記矩形判定手段は、前記描画コマンドに含まれた座標点の個数が所定の範囲内に含まれるか否かを判定し、この所定の範囲に含まれると判定した場合、前記描画コマンドにより表される図形が矩形か否かを判定することを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記矩形判定部は、前記描画コマンドにより表される図形の線分の傾きが所定の誤差範囲内に含まれるか否かを判定し、この誤差範囲内に含まれると判定した場合、前記描画コマンドにより表される図形が矩形か否かを判定することを特徴とする請求項1〜3の何れか一項に記載の画像処理装置。
  5. 前記矩形判定手段は、前記描画コマンドの属性情報に応じて、当該描画コマンドが表す図形が矩形か否かを判定することを特徴とする請求項1〜4の何れか一項に記載の画像処理装置。
  6. ページ記述言語で表現された画像データを解析し、描画コマンドを抽出するコマンド解析手段と、
    前記描画コマンドが矩形図形の描画を対角点により一意に指示する矩形データか否かを判定するコマンド判定手段と、
    前記コマンド判定手段により矩形データ以外と判定された描画コマンドが表す図形を、主走査方向毎のランレングスデータの始点座標及び終点座標で表したスキャンラインデータに変換するスキャンライン変換手段と、
    前記スキャンラインデータが表す図形と、前記描画コマンドが表す図形の外接矩形とを比較し、両形状が一致した場合に前記スキャンラインデータが表す図形を矩形と判定する矩形判定手段と、
    前記矩形判定手段により矩形と判定されたスキャンラインデータに含まれる前記始点座標及び終点座標から、当該矩形の対角点に対応する座標点を特定する対角点特定手段と、
    前記特定された座標点に基づいて、前記スキャンラインデータを前記矩形データに変換するデータ形式変換手段と、
    を備えたことを特徴とする画像処理装置。
  7. 前記矩形判定手段は、前記ランレングスデータ毎の始点座標及び終点座標と、前記外接矩形の主走査方向の端点座標とを比較することを特徴とする請求項6に記載の画像処理装置。
  8. ページ記述言語で表現された画像データを解析し、描画コマンドを抽出するコマンド解析手段と、
    前記描画コマンドが矩形図形の描画を対角点により一意に指示する矩形データか否かを判定するコマンド判定手段と、
    前記コマンド判定手段により矩形データ以外と判定された描画コマンドが表す図形を、主走査方向毎のランレングスデータの始点座標及び終点座標で表したスキャンラインデータに変換するスキャンライン変換手段と、
    連続する前記ランレングスデータ間の始点座標及び終点座標を比較し、両座標が一致する一連のランレングスデータにより表される図形を矩形と判定する矩形判定手段と、
    前記矩形判定手段により矩形と判定された一連のランレングスデータ毎に、当該一連のランレングスデータにかかる前記始点座標及び終点座標から、前記矩形の対角点に対応する座標点を特定する対角点特定手段と、
    前記特定された座標点に基づいて、前記一連のランレングスデータに対応する前記スキャンラインデータの座標範囲を前記矩形データに変換するデータ形式変換手段と、
    を備えたことを特徴とする画像処理装置。
  9. 前記矩形判定手段は、前記始点座標及び終点座標が一致するランレングスデータの個数が所定数以上か否かを判定し、当該所定数以上と判定した場合、前記一連のランレングスデータにより表される図形を矩形と判定することを特徴とする請求項8に記載の画像処理装置。
  10. ページ記述言語で表現された画像データを解析し、描画コマンドを抽出するコマンド解析手段と、
    前記描画コマンドが矩形図形の描画を対角点により一意に指示する矩形データか否かを判定するコマンド判定手段と、
    前記コマンド判定手段により矩形データ以外と判定された描画コマンドに対し、当該描画コマンドに含まれた座標点により表される図形が矩形か否かを判定する矩形判定手段と、
    前記矩形判定手段により矩形と判定された前記描画コマンドの座標点から、当該矩形の対角点に対応する座標点を特定する対角点特定手段と、
    前記特定された座標点に基づいて前記描画コマンドを、前記矩形データに変換するデータ形式変換手段と、
    前記コマンド判定手段により矩形データ以外と判定された描画コマンドが表す図形を、主走査方向毎のランレングスデータの始点座標及び終点座標で表したスキャンラインデータに変換するスキャンライン変換手段と、
    前記矩形データが表す矩形図形又は前記スキャンラインデータが表す図形を二値化するハーフトーン処理手段と、
    前記二値化された図形を記録媒体に印刷する画像形成エンジンと、
    を備えたことを特徴とする画像形成装置。
  11. ページ記述言語で表現された画像データを解析し、描画コマンドを抽出するコマンド解析手段と、
    前記描画コマンドが矩形図形の描画を対角点により一意に指示する矩形データか否かを判定するコマンド判定手段と、
    前記コマンド判定手段により矩形データ以外と判定された描画コマンドが表す図形を、主走査方向毎のランレングスデータの始点座標及び終点座標で表したスキャンラインデータに変換するスキャンライン変換手段と、
    前記スキャンラインデータが表す図形と、前記描画コマンドが表す図形の外接矩形とを比較し、両形状が一致した場合に前記スキャンラインデータが表す図形を矩形と判定する矩形判定手段と、
    前記矩形判定手段により矩形と判定されたスキャンラインデータに含まれる前記始点座標及び終点座標から、当該矩形の対角点に対応する座標点を特定する対角点特定手段と、
    前記特定された座標点に基づいて、前記スキャンラインデータを前記矩形データに変換するデータ形式変換手段と、
    前記矩形データが表す矩形図形又は前記スキャンラインデータが表す図形を二値化するハーフトーン処理手段と、
    前記二値化された図形を記録媒体に印刷する画像形成エンジンと、
    を備えたことを特徴とする画像形成装置。
  12. ページ記述言語で表現された画像データを解析し、描画コマンドを抽出するコマンド解析手段と、
    前記描画コマンドが矩形図形の描画を対角点により一意に指示する矩形データか否かを判定するコマンド判定手段と、
    前記コマンド判定手段により矩形データ以外と判定された描画コマンドが表す図形を、主走査方向毎のランレングスデータの始点座標及び終点座標で表したスキャンラインデータに変換するスキャンライン変換手段と、
    連続する前記ランレングスデータ間の始点座標及び終点座標を比較し、両座標が一致する一連のランレングスデータにより表される図形を矩形と判定する矩形判定手段と、
    前記矩形判定手段により矩形と判定された一連のランレングスデータ毎に、当該一連のランレングスデータにかかる前記始点座標及び終点座標から、前記矩形の対角点に対応する座標点を特定する対角点特定手段と、
    前記特定された座標点に基づいて、前記一連のランレングスデータに対応する前記スキャンラインデータの座標範囲を前記矩形データに変換するデータ形式変換手段と、
    前記矩形データが表す矩形図形又は前記スキャンラインデータが表す図形を二値化するハーフトーン処理手段と、
    前記二値化された図形を記録媒体に印刷する画像形成エンジンと、
    を備えたことを特徴とする画像形成装置。
  13. ページ記述言語で表現された画像データを解析し、描画コマンドを抽出するコマンド解析工程と、
    前記描画コマンドが矩形図形の描画を対角点により一意に指示する矩形データか否かを判定するコマンド判定工程と、
    前記コマンド判定工程により矩形データ以外と判定された描画コマンドに対し、当該描画コマンドに含まれた座標点により表される図形が矩形か否かを判定する矩形判定工程と、
    前記矩形判定工程により矩形と判定された前記描画コマンドの座標点から、当該矩形の対角点に対応する座標点を特定する対角点特定工程と、
    前記特定された座標点に基づいて前記描画コマンドを、前記矩形データに変換するデータ形式変換工程と、
    を含むことを特徴とする画像処理方法。
  14. ページ記述言語で表現された画像データを解析し、描画コマンドを抽出するコマンド解析工程と、
    前記描画コマンドが矩形図形の描画を対角点により一意に指示する矩形データか否かを判定するコマンド判定工程と、
    前記コマンド判定工程により矩形データ以外と判定された描画コマンドが表す図形を、主走査方向毎のランレングスデータの始点座標及び終点座標で表したスキャンラインデータに変換するスキャンライン変換工程と、
    前記スキャンラインデータが表す図形と、前記描画コマンドが表す図形の外接矩形とを比較し、両形状が一致した場合に前記スキャンラインデータが表す図形を矩形と判定する矩形判定工程と、
    前記矩形判定工程により矩形と判定されたスキャンラインデータに含まれる前記始点座標及び終点座標から、当該矩形の対角点に対応する座標点を特定する対角点特定工程と、
    前記特定された座標点に基づいて、前記スキャンラインデータを前記矩形データに変換するデータ形式変換工程と、
    を含むことを特徴とする画像処理方法。
  15. ページ記述言語で表現された画像データを解析し、描画コマンドを抽出するコマンド解析工程と、
    前記描画コマンドが矩形図形の描画を対角点により一意に指示する矩形データか否かを判定するコマンド判定工程と、
    前記コマンド判定工程により矩形データ以外と判定された描画コマンドが表す図形を、主走査方向毎のランレングスデータの始点座標及び終点座標で表したスキャンラインデータに変換するスキャンライン変換工程と、
    連続する前記ランレングスデータ間の始点座標及び終点座標を比較し、両座標が一致する一連のランレングスデータにより表される図形を矩形と判定する矩形判定工程と、
    前記矩形判定工程により矩形と判定された一連のランレングスデータ毎に、当該一連のランレングスデータにかかる前記始点座標及び終点座標から、前記矩形の対角点に対応する座標点を特定する対角点特定工程と、
    前記特定された座標点に基づいて前記一連のランレングスデータに対応する前記スキャンラインデータの座標範囲を、前記矩形データに変換するデータ形式変換工程と、
    を含むことを特徴とする画像処理方法。
  16. 請求項13〜15の何れか一項に記載の画像処理方法をコンピュータに実行させることを特徴とする画像処理プログラム。
JP2006299474A 2006-11-02 2006-11-02 画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム Expired - Fee Related JP4823860B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006299474A JP4823860B2 (ja) 2006-11-02 2006-11-02 画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006299474A JP4823860B2 (ja) 2006-11-02 2006-11-02 画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2008117149A JP2008117149A (ja) 2008-05-22
JP4823860B2 true JP4823860B2 (ja) 2011-11-24

Family

ID=39503015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006299474A Expired - Fee Related JP4823860B2 (ja) 2006-11-02 2006-11-02 画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム

Country Status (1)

Country Link
JP (1) JP4823860B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6926394B2 (ja) * 2016-03-23 2021-08-25 富士フイルムビジネスイノベーション株式会社 印刷装置及びプログラム
CN111667545B (zh) * 2020-05-07 2024-02-27 东软睿驰汽车技术(沈阳)有限公司 高精度地图生成方法、装置、电子设备及存储介质
CN112884864A (zh) * 2021-01-21 2021-06-01 广州朗国电子科技有限公司 基于电子白板自动矫正矩形的绘图方法及其应用

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002036637A (ja) * 2000-07-19 2002-02-06 Ricoh Co Ltd 画像処理装置

Also Published As

Publication number Publication date
JP2008117149A (ja) 2008-05-22

Similar Documents

Publication Publication Date Title
JP5132438B2 (ja) 画像処理装置および画像処理方法
JP4582204B2 (ja) 画像処理装置、画像変換方法、およびコンピュータプログラム
US8339664B2 (en) Image processing method, image processing apparatus, and control method thereof
JP4823860B2 (ja) 画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム
JP4969515B2 (ja) 画像形成装置、グラデーション図形画像描画方法、グラデーション図形画像描画プログラム、及び記録媒体
JP5863001B2 (ja) 画像処理装置、画像形成装置およびプログラム
JP4582200B2 (ja) 画像処理装置、画像変換方法、およびコンピュータプログラム
US8274515B2 (en) Vector image generation method, image processing apparatus, and computer-readable storage medium for computer program
JP5067882B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP3617230B2 (ja) 文書処理装置
JP5867790B2 (ja) 画像処理装置
US7508987B2 (en) Method, apparatus, system, and program for image processing capable of recognizing, reproducing, and enhancing an image, and a medium storing the program
JP3858559B2 (ja) 画像処理装置、画像処理方法及び記録媒体
JP4600648B2 (ja) 描画命令処理装置及び描画命令処理方法、画像描画装置及び画像描画方法、描画命令生成装置及び描画命令生成方法
JP6107270B2 (ja) 画像処理装置およびコンピュータプログラム
JP4702234B2 (ja) 画像処理装置、画像出力装置、画像処理方法、画像処理プログラム、およびそのプログラムを記録した記録媒体
JP2016066222A (ja) 画像処理装置、画像処理方法、コンピュータプログラム
JP2009073083A (ja) 画像形成装置、画像形成方法、および画像形成プログラム
JP2010103862A (ja) 文書処理装置および文書処理方法
JP6111796B2 (ja) 画像処理装置およびコンピュータプログラム
JP2021158441A (ja) 画像処理装置、画像処理方法及びプログラム
JP3628536B2 (ja) 二値画像変換装置
JP4826915B2 (ja) 画像処理装置、画像形成装置、及びプログラム
JP2009141525A (ja) 画像処理装置及び画像処理方法
JP2008301284A (ja) 画像処理装置およびその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090710

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110906

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110907

R150 Certificate of patent or registration of utility model

Ref document number: 4823860

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140916

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees