特許第6614857号(P6614857)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許6614857画像処理装置、画像処理方法及びプログラム
<>
  • 特許6614857-画像処理装置、画像処理方法及びプログラム 図000002
  • 特許6614857-画像処理装置、画像処理方法及びプログラム 図000003
  • 特許6614857-画像処理装置、画像処理方法及びプログラム 図000004
  • 特許6614857-画像処理装置、画像処理方法及びプログラム 図000005
  • 特許6614857-画像処理装置、画像処理方法及びプログラム 図000006
  • 特許6614857-画像処理装置、画像処理方法及びプログラム 図000007
  • 特許6614857-画像処理装置、画像処理方法及びプログラム 図000008
  • 特許6614857-画像処理装置、画像処理方法及びプログラム 図000009
  • 特許6614857-画像処理装置、画像処理方法及びプログラム 図000010
  • 特許6614857-画像処理装置、画像処理方法及びプログラム 図000011
  • 特許6614857-画像処理装置、画像処理方法及びプログラム 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6614857
(24)【登録日】2019年11月15日
(45)【発行日】2019年12月4日
(54)【発明の名称】画像処理装置、画像処理方法及びプログラム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20191125BHJP
   H04N 1/405 20060101ALI20191125BHJP
【FI】
   G06F3/12 344
   G06F3/12 308
   H04N1/405 510Z
【請求項の数】13
【全頁数】15
(21)【出願番号】特願2015-163846(P2015-163846)
(22)【出願日】2015年8月21日
(65)【公開番号】特開2017-41186(P2017-41186A)
(43)【公開日】2017年2月23日
【審査請求日】2018年8月17日
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】桜井 正勝
【審査官】 白石 圭吾
(56)【参考文献】
【文献】 特開2001−038970(JP,A)
【文献】 特開2007−152580(JP,A)
【文献】 特開2005−038084(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/12
H04N 1/00
H04N 1/40−1/409
B41J 5/00−5/52;21/00−21/18
B41J 29/00−29/70
(57)【特許請求の範囲】
【請求項1】
アプリケーションで生成された描画データを印刷装置で出力可能な形式の印刷データに変換する画像処理装置であって、
前記描画データに含まれる描画要素の中から、図形属性の描画要素であって、文字に対応する描画要素を決定する決定手段と、
前記描画データに含まれる描画要素に対して所定の画像処理を行なって前記印刷データを生成する画像処理手段であって、前記決定手段にて前記文字に対応する描画要素であると決定された図形属性の描画要素に対し、文字属性の描画要素に適した画像処理を行なう、画像処理手段と
を備えたことを特徴とする画像処理装置。
【請求項2】
前記図形属性の描画要素は、パス座標で描画が指定された描画要素であることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記決定手段は、前記パス座標で特定される図形の外接矩形を導出し、導出された外接矩形の情報を用いて前記文字に対応する描画要素を決定することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記決定手段は、導出された前記外接矩形の所定の一辺が、前記文字属性の描画要素に含まれるフォント情報から得られるベースラインから所定の距離内にある場合に、図形属性の描画要素が前記文字に対応する描画要素であると決定することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記決定手段は、導出された前記外接矩形の高さに相当する辺が、前記文字属性の描画要素に含まれるフォント情報から得られるセルの高さの範囲内である場合に、図形属性の描画要素が前記文字に対応する描画要素であると決定することを特徴とする請求項3に記載の画像処理装置。
【請求項6】
前記決定手段は、導出された前記外接矩形が、前記文字属性の描画要素に係る文字の間にある場合に、図形属性の描画要素が前記文字に対応する描画要素であると決定することを特徴とする請求項3に記載の画像処理装置。
【請求項7】
前記決定手段は、図形属性の描画要素の前後にある描画要素が文字属性の描画要素である場合に、前記決定を行なうことを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
前記決定手段は、隣接する図形属性の描画要素に係る図形の色と文字属性の描画要素に係る文字の色とが同じである場合に、前記決定を行うことを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
【請求項9】
前記描画データに含まれる複数の描画要素の属性がすべて図形属性である場合に、当該複数の描画要素において前記パス座標で特定されるそれぞれの図形について外接矩形を導出する手段をさらに備え、
前記決定手段は、前記それぞれの図形について導出された外接矩形同士が隣り合わせに並んでいる場合に、前記複数の描画要素を前記文字に対応する描画要素であると決定することを特徴とする請求項2に記載の画像処理装置。
【請求項10】
前記それぞれの図形について導出された外接矩形のうち近接する外接矩形の基準となる位置同士の間隔を求め、求めた間隔を一辺の長さとした仮想セルサイズを導出する手段をさらに備え、
前記決定手段は、前記それぞれの図形について導出された外接矩形のサイズが前記仮想セルサイズより小さい場合に、前記複数の描画要素を前記文字に対応する描画要素であると決定する
ことを特徴とする請求項9に記載の画像処理装置。
【請求項11】
前記所定の画像処理は、ディザ処理及びカラーマッチング処理であり、
前記文字属性の描画要素に適した画像処理は、前記ディザ処理におけるディザ種に解像度優先、前記カラーマッチング処理におけるレンダリングインテントに彩度優先を適用した画像処理である
ことを特徴とする請求項1乃至10のいずれか1項に記載の画像処理装置。
【請求項12】
アプリケーションで生成された描画データを印刷装置で出力可能な形式の印刷データに変換する画像処理方法であって、
前記描画データに含まれる描画要素の中から、図形属性の描画要素であって、文字に対応する描画要素を決定するステップと、
前記描画データに含まれる描画要素に対して所定の画像処理を行なって前記印刷データを生成するステップであって、前記決定するステップにて前記文字に対応する描画要素であると決定された図形属性の描画要素に対し、文字属性の描画要素に適した画像処理を行なう、ステップと
を含むことを特徴とする画像処理方法。
【請求項13】
コンピュータを、請求項1乃至11のいずれか1項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力描画データをプリンタで出力可能な形式の印刷データに変換する画像処理技術に関する。
【背景技術】
【0002】
ウインドウズ(登録商標)などのOSにおいてアプリケーションから印刷を行う場合、プリンタドライバから印刷データがプリンタに送られて印刷が実行される。この際、プリンタドライバでは、アプリケーションから描画データ(例えばXPSやGDI形式)を受け取って、それをプリンタで処理可能な形式の印刷データ(例えばPDL言語で記述されたデータ)に変換している。より高品位な印刷を行うために、プリンタドライバは、アプリケーションからの描画データに含まれるオブジェクトを文字や図形やイメージといった属性毎に分類し、各属性に応じた最適な画像処理を用いて変換処理を行っている。
【0003】
図1は、オブジェクトの属性に応じた画像処理を指定する表の一例であり、二値化に使用するディザの種類、及びカラーマッチングに使用するレンダリングインテントが、属性毎に最適なものが対応付けられている。図1の例では、文字属性に対しては、ディザ種に解像度優先、レンダリングインテントに彩度優先が指定され、図形属性並びにその他の属性(イメージなど)に対しては、ディザ種に階調優先、レンダリングインテントに全体圧縮が指定されている。これにより、文字はよりくっきりと、図形やイメージはより滑らかに印刷することができる。
【0004】
また、一般的なアプリケーションからの描画データは、文字であればフォント情報と文字コード、図形であればその形状を表すパス座標値と描画方法、イメージであればサイズと各画素の色情報で記述されている。そのため、記述形式に基づいて容易に属性を判別することが可能である。しかし、アプリケーションによっては、1バイトの文字は文字属性の描画データで記述される一方で、2バイトの文字はパス形式の座標値と塗りつぶし指示(フィル)とからなる図形属性の描画データで記述されるということがあり得る。このような、文字を文字属性と図形属性の両方で記述するような描画データに対して、上述したような記述形式に基づく属性判別を行うと、パス形式で記述された文字は、文字ではなく図形として認識されてしまうことになる。
【0005】
図2は、アプリケーションからプリンタドライバに入力された描画データの一例であり、XPS形式で記述されている。なお、描画データの形式としてXPS形式は一例であって、GDI形式等、他の形式でもよい。図2に示す1ページ分の描画データ200のうち、枠202は、1バイト文字のアルファベット“gh”を、指定されたフォントデータを用いて“赤”色で描画するように記述された文字属性のデータを示している。枠202は、2バイト文字のアルファベット“i”を、パス座標値で表現し、そのパスで示される部分を“赤”色で塗りつぶし図形として描画するように記述されたパス形式(図形属性)のデータを示している。同様に、枠203も2バイト文字のアルファベット“j”を“赤”色で塗りつぶし図形として描画するパス形式のデータである。枠204は、枠201と同様、1バイト文字のアルファベット“kl”を、指定されたフォントデータを用いて“赤”色で描画するように記述された文字属性のデータを示している。枠205は、黒色の三角形を“赤”色で描画するパス形式のデータを示している。図3は、1バイト文字と2バイト文字が混在した図2で示す描画データに対して、上述の記述形式に基づく属性判定を行って、判定結果の各属性に応じた画像処理を行って印刷を実行した結果を示している。枠301と枠303内の1バイト文字は文字として画像処理し、枠302内の2バイト文字は図形として画像処理した後に印刷処理を行っている。同じ色指定にも関わらず異なる画像処理が行われていることから、文字の濃さが違って見えている。このように、属性が異なると、たとえ同じ色指定であっても描画結果の色味が異なることがある。この点、例えば特許文献1では、同じ色が指定された領域内のベクトルデータについては、当該領域内で色味を同じにするため、属性が異なっている場合は一方の属性を変更して同じ属性にする技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2009−272889号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記特許文献1の技術は、ベクトルデータで記述されたイラスト領域の部分と、当該イラスト領域の周囲の色との色味を合わせることを主な目的としている。したがって、文字が異なる種類の属性で記述されることによって生じる色味の違いについては対応することができない。
【課題を解決するための手段】
【0008】
本発明に係る画像処理装置は、アプリケーションで生成された描画データを印刷装置で出力可能な形式の印刷データに変換する画像処理装置であって、前記描画データに含まれる描画要素の中から、図形属性の描画要素であって、文字に対応する描画要素を決定する決定手段と、前記描画データに含まれる描画要素に対して所定の画像処理を行なって前記印刷データを生成する画像処理手段であって、前記決定手段にて前記文字に対応する描画要素であると決定された図形属性の描画要素に対し、文字属性の描画要素に適した画像処理を行なう、画像処理手段とを備えたことを特徴とする。
【発明の効果】
【0009】
本発明によれば、パス形式(図形属性)で描画される文字についても文字出力に最適な画像処理を施すことができる。これによって、より高品質な印刷を実現出来る。また、文字について異なる属性(描画形式)が混在していても、文字として同じ画像処理を施すことができるので、色味や濃度などが異なって見えてしまうという不具合を防止することが可能となる。
【図面の簡単な説明】
【0010】
図1】オブジェクトの属性に応じた画像処理を指定する表の一例を示す図である。
図2】アプリケーションからプリンタドライバに入力された描画データの一例を示す図である。
図3】各属性に応じた画像処理を行って印刷を実行した結果を示す図である。
図4】印刷システムの構成例を示す図である。
図5】アプリケーションで生成された描画データをプリンタ用の印刷データに変換する処理の流れを示すフローチャートである。
図6】ベースライン位置情報によって特定されたベースラインと、セルサイズ情報によって特定されたセルの一例を示す図である。
図7】描画要素が図形属性の場合の、パス座標値で指定される各位置を示した図である。
図8】第1の文字相当判定処理の流れを示すフローチャートである。
図9】文字描画のベースラインとセル及びパス描画の外接矩形についての、相互位置関係を示す図である。
図10】2バイト文字で表される漢字3文字に対応する3つのパス描画の外接矩形を示す図である。
図11】漢字3文字のパス描画を指定するXPS形式の描画データの一例を示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明の実施の形態を詳しく説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【実施例1】
【0012】
図4は、本実例に係る、アプリケーションで生成された描画データをプリンタで出力可能な形式の印刷データに変換して印刷する印刷システムの構成例を示す図である。図4に示す印刷システム400は、クライアントPC410とプリンタ420とを含み、両者がネットワーク430で接続された構成となっている。ネットワーク430は、例えば、LANやWAN等である。
【0013】
クライアントPC410は、CPU411、メモリユニット412、大容量記憶部413、入力デバイス414、ディスプレイ415及びネットワークインタフェース416を備える。CPU411は、クライアントPC410全体の制御を司る演算装置である。ネットワークインタフェース416は、クライアントPC410を、ネットワーク430を介してプリンタ420や他の装置(不図示)に繋げ、それらと各種データをやり取りするためのインタフェースである。メモリユニット412は、CPU411のワークエリアとしてのRAMや各種プログラムを格納するためのROMで構成される。大容量記憶部413は、例えばハードディスクドライブやフラッシュメモリで構成され、OSやプログラム或いはアプリケーションで処理された各種データ等の格納に使用する。入力デバイス414はユーザが各種操作指示を行うためのキーボードやマウス等であり、ディスプレイ415は各種表示を行うための例えば液晶モニタ等である。そして、上記各部は、バス417を介して相互に接続されている。
【0014】
クライアントPC410では、いわゆるプリンタドライバが、ユーザから印刷指示を受けた描画データをプリンタ420に合わせた印刷データ(例えばPDLデータ)に変換する処理を行なう。すなわち、プリンタドライバは、データ変換手段として機能する。プリンタドライバで描画データから変換された印刷データはプリンタ420に送られ印刷出力される。そして、このような変換処理を実現するソフトウェア(本実施例ではプリンタドライバ)は、例えば上述の大容量記憶部413を含むコンピュータ可読媒体に格納されており、これがRAMにロードされ、CPU411が実行することで実現される。
【0015】
プリンタ420は、CPU421、メモリユニット422、大容量記憶部423、入力部424、エンジンユニット425及びネットワークインタフェース426を備える。CPU421は、プリンタ420全体の制御を司る演算装置である。ネットワークインタフェース426は、プリンタ420を、ネットワーク430を介してクライアントPC410や他の装置(不図示)に繋げ、それらと各種データをやり取りするためのインタフェースである。メモリユニット422は、CPU421のワークエリアとしてのRAMや各種プログラムを格納するためのROMで構成される。大容量記憶部423は、例えばハードディスクドライブやフラッシュメモリで構成され、OSやプログラム或いはクライアントPC410から受け取った印刷データ等の格納に使用する。入力部424は、各種表示を行うためのディスプレイを兼ねたタッチパネルやボタンで構成される。エンジンユニット425は、紙等の記録媒体に印刷出力を行う。そして、上記各部は、バス427を介して相互に接続されている。
【0016】
プリンタ420において各種の動作・処理を実現するソフトウェアは、例えば上述の大容量記憶部423を含むコンピュータ可読媒体に格納される。ソフトウェアは、コンピュータ可読媒体からRAMにロードされ、CPU421がこれを実行することで実現される。
【0017】
図5は、アプリケーションで生成された描画データをプリンタ420用の印刷データに変換する処理の流れを示すフローチャートである。この変換処理は、クライアントPC410にインストールされたソフトウェア(典型的にはプリンタドライバ)によって実現される。
【0018】
ステップ501では、以降の各ステップの処理で用いる変数等の初期化がなされる。
【0019】
ステップ502では、大容量記憶部413に保存された描画データが取得される。この描画データは、Word等のアプリケーション上でユーザが印刷の実行を指示したタイミングでOSによって生成され、大容量記憶部413に保存されたものである。本実施例では、XPS形式の描画データが取得された場合を例に以降の説明を行なうものとする。
【0020】
ステップ503では、取得した描画データに含まれる描画要素において、文字属性(テキスト属性)と図形属性(グラフィック属性)とが混在しているかどうかが判定される。図2に示す描画データ200において、枠201〜205のそれぞれが1つの描画要素である。文字属性の場合、その描画要素には文字コードやグリフデータが含まれる。図2で示すXPS形式の描画データにおいては、枠201或いは枠204のように、タグ“<”の直後に続くコマンドが“Glyphs Fill”であれば、文字属性の描画要素であると判断される。一方、図形属性の場合、その描画要素にはパス座標値が含まれ、当該パス座標値によって指定される閉領域を塗りつぶす描画(パス描画)となる。図2で示すXPS形式の描画データにおいては、枠202、203及び205のように、タグ“<”の直後に続くコマンドが“Path Data”であれば、パス描画であると判断される。このような情報を基に、描画データ内に文字属性と図形属性の両方が存在するかどうかを判定し、両方の属性が混在していればステップ504に進む。一方、文字属性と図形属性が混在していなければステップ518に進む。
【0021】
ステップ504では、描画データ内の任意の描画要素を注目描画要素に決定した上で、当該注目描画要素が文字属性か否かが判定される。判定の結果、文字属性である場合は、ステップ505に進む。一方、文字属性ではない場合は、ステップ508に進む。
【0022】
ステップ505では、文字属性の注目描画要素から文字のフォント情報が取得される。ここで、フォント情報には、フォントの書体(明朝やゴシック等)や文字サイズ(10ポイント等)を示す情報の他、ベースライン位置情報とセルサイズ情報が含まれる。セルサイズ情報は現在の文字サイズから算出したフォントとしてのセルサイズを特定する情報であって、セル幅とセル高さに相当するピクセル数で表わされる。ベースライン位置情報は、ベースラインの位置を特定する情報であって、セルの上端からベースラインまでの距離に相当するピクセル数で表される。図6は、ベースライン位置情報によって特定されたベースラインと、セルサイズ情報によって特定されたセルの一例を示す図である。図6において、破線の矩形601がセルを示しており、矢印602がセル幅、矢印603がセル高を示している。また、図6において、直線605がベースラインを示し、矢印604はセル601の上端からベースラインまでの距離を示している。取得されたフォント情報はRAM等に保存される。
【0023】
ステップ506では、文字属性の注目描画要素から文字位置情報が取得される。ここで、文字位置情報は、文字を用紙上のどの位置に形成するのかをX座標とY座標で表す情報である。前述の図6において、○印606が文字列“gh”の文字位置を表しており、図2の枠201における「OriginX=“113.6”」及び「OriginY=“185.6”」が、この場合の文字位置情報となる。取得された文字位置情報はRAM等に保存される。
【0024】
ステップ507では、文字属性の注目描画要素について文字用の印刷データ生成処理が実行される。文字用印刷データ生成処理は、前述の図1の表に従って、ディザ処理におけるディザ種を「解像度優先」、カラーマッチング処理におけるレンダリングインテントを「彩度優先」を適用した処理となる。生成された文字描画の印刷データはRAM等に保存される。
【0025】
ステップ504の属性判定で文字属性でないと判定されると、ステップ508で、注目描画要素が図形属性か否かが判定される。判定の結果、図形属性である場合は、ステップ510に進む。一方、イメージ属性など図形以外の属性である場合はステップ509に進み、注目描画要素についてその他属性用の印刷データ生成処理が実行される。その他属性用印刷データ生成処理は、前述の図1の表に従って、ディザ種を「階調優先」、レンダリングインテントを「全体圧縮」を適用した処理となる。生成されたイメージ描画等の印刷データはRAM等に保存される。
【0026】
ステップ510では、図形属性の注目描画要素からパス座標値が抽出される。図2の枠202や203で示す描画要素が注目描画要素であった場合、“Path Data”の記述部分から取り出した情報を、“RenderTransform”記述部分から取り出した情報を用いて座標変換することによりパス座標値が抽出される。図7は、描画要素が図形属性の場合の、パス座標値で指定される各位置を示した図である。パス座標値はx座標値とy座標値で表され、本ステップではこのような各×印に対応するパス座標値が抽出されることになる。図7において、2バイト文字“i”のパス座標値で指定される各位置が×印701〜708で示され、2バイト文字“j”のパス座標値で指定される各位置が×印711〜728で示されている。例えば、×印705に対応するパス座標値は、(0,26.08)+(188.8,158.88)=(188.8,184.96)である。
【0027】
ステップ511では、ステップ510で抽出したパス座標値に基づいて外接矩形が導出される。図7において、枠730が2バイト文字“i”について導出された外接矩形を示し、枠740が2バイト文字“j”について導出された外接矩形を示している。導出された外接矩形の情報(例えば、外接矩形の四隅を特定するx座標とy座標からなる座標情報)はRAM等に保存される。
【0028】
ステップ512では、当該図形属性の注目描画要素の前後にある描画要素が文字属性であるかどうか(パス描画と文字描画とが隣り合っているかどうか)が判定される。具体的には、例えば注目描画要素が枠202の図形属性であって、その前後にある描画要素201及び203のいずれかが文字属性の描画要素である場合、パス描画と文字描画とが隣り合っていると判定されることになる。判定の結果、パス描画と文字描画とが隣り合っている場合は、ステップ513に進む。一方、パス描画と文字描画の描画順とが隣り合っていない場合は、ステップ517に進む。
【0029】
ステップ513では、注目描画要素であるパス描画に係る図形の色と、当該パス描画と描画順が隣り合うと判定された文字描画に係る文字の色とが同じであるかどうかが判定される。図2で示すXPS形式の描画データの場合、文字描画の“Glyphs Fill”で指定される色と、パス描画の“Fill”で指定される色とが同じであれば、両者は同じ色であると判定される。判定の結果、パス描画に係る図形の色とその隣接する文字描画に係る文字の色とが同じである場合は、ステップ514に進む。一方、パス描画に係る図形の色とその隣接する文字描画に係る文字の色とが同じでない場合は、ステップ517に進む。
【0030】
ステップ514では、当該パス描画に係る図形が文字に相当する図形かどうかを決定する処理(以下、第1の文字相当図形決定処理)がなされる。図8は、第1の文字相当図形決定処理の流れを示すフローチャートである。以下、詳しく説明する。
【0031】
ステップ801では、文字描画のフォント情報が取得されRAM等に保存されているか否かが判定される。フォント情報が保存されていれば、ステップ802に進む。フォント情報が未取得で保存されていない場合は、ステップ809に進む。
【0032】
ステップ802では、保存されているフォント情報からベースライン位置情報とセルサイズ情報が抽出される。
【0033】
ステップ803では、抽出されたベースライン位置情報とセルサイズ情報に基づいて、印刷座標系におけるベースラインの座標位置、及びセルの上端/下端の座標位置が導出される。ベースライン座標位置は、文字描画のフォント情報に含まれる文字位置情報(OriginX,OriginY)のうちのOriginYがこれに該当する。また、セルの上端/下端の座標位置は、セルサイズ情報から印刷座標系における文字サイズに対応したセルサイズを算出し、算出したセルサイズと上記文字位置との関係から当該セルの上端と下端の位置をそれぞれ決定すればよい。
【0034】
ステップ804では、前述のステップ511で導出・保存されているパス描画の外接矩形情報が取得される。
【0035】
ステップ805では、ステップ803で導出されたベースライン座標位置(ここではOriginY)で特定されるベースラインと、ステップ804で取得した外接矩形情報で特定される外接矩形の所定の一辺(ここでは下端)とが互いに近接しているかどうかが判定される。近接しているかどうかは、両者の距離が所定の閾値内(例えば文字描画のセル高の1/10の距離内)かどうかによって判定すればよい。図9は、図2に示す描画データにおける、文字描画のベースラインとセル及びパス描画の外接矩形についての、相互位置関係を示す図である。図9において、枠901は2バイト文字のアルファベット“i”の外接矩形、枠902は同じく2バイト文字のアルファベット“j”の外接矩形、枠903は図形である黒色の三角形の外征矩形を示している。この場合において、例えば外接矩形901の下端位置はベースラインと接しているので、近接していると判定されることになる。他方、外接矩形903の下端位置はベースラインから遠く離れているので、近接していないと判定されることになる。このようにして、パス描画の外接矩形の下端位置とベースラインとが近接していると判定された場合は、ステップ807に進む。一方、パス描画の外接矩形の下端位置とベースラインとが近接していないと判定された場合は、ステップ806に進む。なお、縦書きの場合は、なる上記ベースラインに相当する描画時の基準ラインと、外接矩形における対応するラインと、が互いに近接しているかどうかで判定するようにすればよい。
【0036】
ステップ806では、外接矩形の高さに相当する辺がセル高の範囲内か否かが判定される。具体的には、パス描画の外接矩形の高さを特定するY座標値が、文字描画のセル高を特定するY座標値の中に包含されるか否かが判定される。判定の結果、外接矩形の高さに相当する辺がセル高の範囲内と判定されればステップ807に進み、外接矩形の高さに相当する辺がセル高の範囲外と判定されればステップ809に進む。例えば、図9に示す外接矩形902の下端位置とベースラインとの距離が閾値を超えており近接していないと判定(S805でNo)されていたと仮定する。図9から明らかなように、枠902の外接矩形の高さに相当する辺は、セル601のセル高の中に収まっているので、この場合はステップ807に進むことになる。
【0037】
ステップ807では、文字描画に係る文字の間にパス描画の外接矩形があるか否かが判定される。例えば文字の並びが左から右の場合であって、パス描画が文字描画の直後にくる場合には、パス描画の外接矩形のX座標が文字描画位置のX座標より大きいか否かをチェックし、パス描画の外接矩形のX座標の方が大きければ文字の間にあると判定する。また、パス描画の直後に文字描画がくる場合には、パス描画の外接矩形のX座標が文字描画位置のX座標より小さいか否かをチェックし、パス描画の外接矩形のX座標の方が小さければ文字の間にあると判定する。また、横書きでなく縦書きの文字においては、X座標の大小比較でなくY座標の大小比較を行えばよい。このような判定の結果、パス描画の外接矩形の位置が文字描画に係る文字の間にある場合は、ステップ808に進む。一方、パス描画の外接矩形の位置が文字描画に係る文字の間にない場合は、ステップ809に進む。
【0038】
ステップ808では、注目描画要素であるパス描画に係る図形が、文字相当の図形であると決定される。
【0039】
ステップ809では、注目描画要素であるパス描画に係る図形が、文字相当の図形ではない(通常の図形)と決定される。
【0040】
以上が、第1の文字相当判定処理の内容である。なお、本実施例では、ベースラインからの距離に基づく判定(S805)で近接していないと判定された場合に、外接矩形の高さに相当する辺がセル高の範囲内か否かを判定(S806)している。これによって文字相当の図形か否かの判断をより高精度に行なうことが可能になるが、いずれか一方のみでも構わない。例えば、ベースラインからの距離に基づく判定における閾値により余裕を持たせるなどして、ステップ806の判定処理をなくしてもよい。或いは、ベースラインからの距離に基づくステップ805の判定を省略してもよい。図5のフローチャートの説明に戻る。
【0041】
ステップ515では、上述した第1の文字相当判定処理の結果に従って、当該パス描画に対する印刷データ生成処理の切り分けがなされる。第1の文字相当判定処理において、パス描画に係る図形が文字相当の図形であると決定され場合は、ステップ516に進む。一方、パス描画に係る図形は文字相当の図形ではない(通常の図形である)と決定された場合は、ステップ517に進む。
【0042】
ステップ516では、図形属性の注目描画要素について、文字相当図形用の図形印刷データ生成処理が実行される。この文字相当図形用印刷データ生成処理は、次のステップ517で行なう通常図形用の印刷データ生成処理とは異なり、文字の描画に最適な印刷データ生成処理となる。すなわち、上述のステップ507と同様、ディザ種を「解像度優先」、レンダリングインテントを「彩度優先」を適用した文字描画に適した処理となる。生成された文字相当のパス描画の印刷データはRAM等に保存される。
【0043】
ステップ517では、図形属性の注目描画要素について、通常図形用の印刷データ生成処理が実行される。通常図形用印刷データ生成処理は、前述の図1の表に従って、ディザ種を「階調優先」、レンダリングインテントを「全体圧縮」を適用した処理となる。生成された通常図形のパス描画の印刷データはRAM等に保存される。
【0044】
ここまでが、文字属性と図形属性とが1ページ分の描画データ内に混在する場合の処理である。次に、文字属性と図形属性とが混在しない場合(ステップ503でNo)の処理について説明する。
【0045】
まず、ステップ518において、取得した描画データに含まれる描画要素が図形属性の描画要素のみで構成されているかどうかが判定される。図形属性の描画要素のみで構成される場合は、以降のステップ519〜ステップ524において、当該図形属性のパス描画に係る一連の図形についての文字相当判定処理(第2の文字相当判定処理)が実行される。一方、図形属性以外の描画要素も含まれている場合は、ステップ504に進んで、各描画要素の属性に従って上述の処理が実行される。以下、第2の文字相当判定処理について説明する。
【0046】
ステップ519では、描画データ内から任意の図形属性の描画要素を注目描画要素に決定した上で、当該注目描画要素からパス座標値が抽出される。その内容は上述のステップ510と同じである。
【0047】
ステップ520では、ステップ519で抽出したパス座標値に基づいて外接矩形が導出される。その内容は上述のステップ511と同じである。
【0048】
ステップ521では、描画データ内に未処理の描画要素があるか否かが判定される。未処理の描画要素があればステップ519に戻り、次の描画要素を注目描画要素に決定して処理が続行される。一方、描画データ内のすべての描画要素について処理が完了していれば、ステップ522へ進む。
【0049】
ステップ522では、各パス描画における文字のセルサイズに相当する長さ(以下、仮想セルサイズ)が導出される。具体的には、ステップ520で抽出・保存されている各パス描画についての外接矩形情報を取得し、近接する外接矩形における基準となる位置同士の間隔を求め、求めた間隔を仮想セルサイズの一辺の長さとする。この場合の基準となる位置は、例えば、左右の端や中心である。図10は、それぞれが2バイト文字で表される「亜細亜」の漢字3文字に対応する3つのパス描画の外接矩形を示す図であり、各文字に外接矩形1001〜1003が付されている。図11は、図10に示す漢字3文字のパス描画を指定するXPS形式の描画データである。図11に示す1ページ分の描画データ1100のうち、枠1101は、2バイト文字の漢字“亜”をパス座標値で表現し、そのパスで示される部分を“赤”色で塗りつぶし図形として描画するように記述されたパス形式のデータを示している。同様に、枠1102及び1103も、それぞれ2バイト文字の漢字“細”及び“亜”を“赤”色で塗りつぶし図形として描画するパス形式のデータである。そして、図11においては、外接矩形1001の左端と外接矩形1002の左端の間隔が矢印1004で示されている。このような近接する外接矩形同士における基準位置(図11の例では左端)の間隔を文字のセルの一辺(矢印1004の長さをセル幅、それと同じ長さの矢印1005をセル高)と見做して、仮想セルサイズが導出されることになる。
【0050】
ステップ523では、近接する外接矩形同士が隣り合わせに並んでいるかどうかが判定される。具体的には、文字の並びが左から右の場合、近接する外接矩形における上記基準位置(ここでは左端)のX座標が昇順に並んでいれば、隣り合わせに並んでいると判定されることになる。前述の図10において、×印1006は外接矩形1001の左端X座標、×印1007は外接矩形1002の左端X座標、×印1008は外接矩形1003の左端X座標を示し、1001の左端X座標を先頭に昇順に並んでいることが分かる。もし文字の並びが右から左の場合においては(本実施例では左右のどちらからでも同じであるが)、降順か否かで判別すればよい。また、横書きではなく縦書きの文字においては、X座標に代えて上端や下端のY座標で比較を行えばよい。近接する外接矩形同士が隣り合わせに並んでいると判定された場合は、ステップ524に進む。一方、近接する外接矩形同士が隣り合わせに並んでいないと判定された場合は前述のステップ517に進み、通常図形用の印刷データ生成処理が実行される。
【0051】
ステップ524では、パス描画の各外接矩形のサイズが、ステップ522で導出された仮想セルサイズよりも小さいかどうかが判定される。具体的には、例えば、外接矩形の上端のY座標及び下端のY座標が共に仮想セルサイズの範囲内であれば、外接矩形のサイズが仮想セルサイズよりも小さいと判定される。前述の図10において、矢印1005は仮想セルサイズにおけるセル高を示しており、3つの外接矩形1001〜1003の全てにおいてその上端と下端のY座標がセル矢印1005内に収まっている。したがってこの場合は、外接矩形のサイズは仮想セルサイズよりも小さいと判定されることになる。なお、この判定の際には、導出された仮想セルサイズよりも一回り大きなサイズを基準として判定するようにしてもよい。こうして外接矩形のサイズが仮想セルサイズよりも小さいと判定された場合はステップ516に進み、文字相当図形用の印刷データ生成処理が実行される。一方、外接矩形のサイズが仮想セルサイズと同等以上と判定された場合はステップ517に進み、通常図形用の印刷データ生成処理が実行される。
【0052】
ステップ525では、描画データ内に未処理の描画要素があるか否かが判定される。未処理の描画要素があればステップ504に戻り、次の描画要素が注目描画要素に決定されて処理が続行される。一方、描画データ内のすべての描画要素について処理が完了していれば、ステップ526へ進む。なお、描画データが図形属性の描画要素のみで構成される場合は、この段階で未処理の描画要素はないはずなので、必ずステップ526に進むことになる。
【0053】
ステップ526では、生成された印刷データ(例えばPDLデータ)がプリンタ420に送られる。描画データが複数ページで構成される場合は、同様の処理がページ数分繰り返されることになる。
【0054】
以上が、アプリケーションで生成された描画データをプリンタ420用の印刷データに変換する処理の内容である。
【0055】
本実施例によれば、図形属性の描画要素で特定されるパス描画による文字を適切に文字として検出することが可能となる。これにより、パス描画によるい文字についても文字出力に最適な画像処理を施すことが可能となり、より高品質な印刷を行うことができる。また、文字について文字属性と図形属性とが混在した描画データであっても、文字についてはその属性に関わらず同じ内容の画像処理を施すことが可能となるので、色味や濃度などが文字によって異なって見えてしまうという不具合を防止することができる。
【0056】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11