JP2018147259A - 情報処理装置、プログラム、記憶媒体、情報処理方法 - Google Patents

情報処理装置、プログラム、記憶媒体、情報処理方法 Download PDF

Info

Publication number
JP2018147259A
JP2018147259A JP2017042044A JP2017042044A JP2018147259A JP 2018147259 A JP2018147259 A JP 2018147259A JP 2017042044 A JP2017042044 A JP 2017042044A JP 2017042044 A JP2017042044 A JP 2017042044A JP 2018147259 A JP2018147259 A JP 2018147259A
Authority
JP
Japan
Prior art keywords
attribute
bitmap
drawing command
command
partial
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.)
Pending
Application number
JP2017042044A
Other languages
English (en)
Inventor
仁 長坂
Hitoshi Nagasaka
仁 長坂
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2017042044A priority Critical patent/JP2018147259A/ja
Priority to US15/905,564 priority patent/US20180253889A1/en
Publication of JP2018147259A publication Critical patent/JP2018147259A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Image Processing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】 くり抜き描画にかかる処理時間を短縮することを目的とする。【解決手段】 本発明によれば、描画ビットマップと属性毎のマスクビットマップとを用いたくり抜き描画命令に対して、各属性の外接矩形領域を特定し、前記描画ビットマップと前記属性毎のマスクビットマップとから、前記各属性の外接矩形領域に対応する属性毎の部分描画ビットマップと属性毎の部分マスクビットマップとを切り出し、前記くり抜き描画命令で用いられる描画ビットマップと属性毎のマスクビットマップを、当該切り出した属性毎の部分描画ビットマップと属性毎の部分マスクビットマップとを用いて置換する。【選択図】 図7

Description

本発明は、くり抜き描画命令の処理に関するものである。
ページ記述言語として、現在、数多くのPDL(Page Description Language)が存在するが、どのPDLでも一般に使われる描画として「くり抜き描画」がある。この「くり抜き描画」は、複雑な色の図形や文字などを描画する際などに用いられることが多い。例えば、複雑な色で構成されるグラデーション画像を、図形や文字の形でくり抜いて描画する際に用いられる。
また、くり抜き描画は様々な描画命令で実現できる。例えば、高級言語であるMask描画命令を用いて実現する方法や、また、低級言語の論理演算描画命令を組み合わせて実現する方法などがある。低級言語の論理演算描画命令を組み合わせて実現する方法としては、XOR描画命令とAND描画命令とXOR描画命令とを順に適用して実現する方法(以下、XAX法と呼ぶ)などがある。Mask描画命令をサポートしていない装置でも処理できるように、上述したような低級言語である論理演算描画命令を組み合わせてくり抜き描画を実現する方法もよく使用される。具体例を図1に示す。
図1(A)は、Mask描画命令を用いて実現する場合の例であり、くり抜き対象画像(例えばグラデーション画像)を画像描画命令で描画し、更に、くり抜きたい画素の位置を示すマスクビットマップ画像を用いてMask描画命令を実行することで、くり抜き描画結果が得られる。
図1(B)は、XAX法で実現している例であり、描画結果は図1(A)と同等になる。XAX法では、描画が行われるメモリ領域に対して、くり抜き対象画像(例えばグラデーション画像)を用いてXOR描画命令を実行し、次に、くり抜きたい画素の位置を示すマスクビットマップ画像を用いてAND描画命令を実行し、更に、くり抜き対象画像(例えばグラデーション画像)を用いてXOR描画命令を実行することで、くり抜き描画が得られる。なお、XOR描画命令及びAND描画命令は、それまでに描画済みの描画に対して行われる演算処理である。結果的に、図1(B)のマスクビットマップの1の部分(図では黒の部分)は、くり抜き対象画像(例えばグラデーション画像)の中のくり抜きたい画素を示し、0の部分(図では白の部分)はこのくり抜き描画を行うまでに描画済みの画素値が維持される画素を示している。
また、デジタル複写機やプリンタ等の画像形成装置では、印刷出力を行う際に、入力情報内のイメージ部分やグラフィック部分などに対して、イメージ・テキスト・グラフィックなどの属性毎に適した画像処理を行うことにより、印刷画質の向上を行っている。例えば、属性毎の画像処理は、以下のような手順で行われる。まず、プリンタドライバは、アプリケーションから入力された描画命令の種類に基づき、各描画命令の「描画属性」情報を判別する。具体的には、描画命令が画像描画であればイメージ属性、描画命令が文字描画であればテキスト属性、描画命令が単色のグラフィック描画であればグラフィック属性、描画命令が線描画であればライン属性、として判別する。そして、該プリンタドライバは、描画命令をPDL描画コマンドに変換し、当該描画コマンドに当該判別された描画属性の情報を付与して画像形成装置に送信して印刷を実行させる。なお、1つの描画コマンドに対して付与できる描画属性の情報は1つである。また、画像形成装置で処理できない描画コマンドなどに関しては、プリンタドライバでその描画コマンドを含む矩形領域の描画を行ってビットマップを生成(部分イメージ化)してから画像形成装置に送信する。このとき、相異なる描画属性を持つ複数の描画命令の描画を行って1つのビットマップを生成し、当該ビットマップを1つの描画コマンドとして送信するように構成すると、当該ビットマップ内において、本来は相異なる描画属性を持つ複数の描画が含まれることになり、それぞれに適した画像処理を行うことができない。その場合には、描画内容を表す描画ビットマップ(合成して生成されたビットマップ)と、当該描画ビットマップの各画素における属性を表す属性ビットマップとを生成する。そして、それらをPDL描画コマンドに変換して画像形成装置に出力して印刷を実行することで、複数の属性が存在する描画ビットマップに対しても、画素単位で描画属性毎に適した画像処理を切り替えて実行可能である。特許文献1では、複数の描画属性が存在する描画ビットマップに対して描画属性毎に適した画像処理を施すために、前述したくり抜き描画を応用した技術を開示している。この方法を用いれば、部分イメージ化(プリンタドライバで描画コマンドの一部が描画ビットマップ化)されたとしても、元の属性に適した画像処理(色処理)をかけることができる。特許文献1で開示されている技術の具体例を図2と図3を用いて説明する。図2は、文書201内に、グラフィック描画202、テキスト描画203、イメージ描画204などが含まれている。この文書201のうち、グラフィック描画202が画像形成装置で処理できないグラデーション描画命令であったとすると、そのグラフィック描画を囲む矩形領域が部分イメージ化対象(ビットマップ化対象)となる。図2の205は、ビットマップ化対象の矩形領域の拡大図であり、この部分に含まれる描画命令に基づいて描画ビットマップ(描画Bitmap)が生成される。またこのとき、描画ビットマップ205に対応する各画素の属性を表す属性ビットマップ(属性Bitmap)も生成される。図3は、XAX法を用いて、図2の描画ビットマップ205を属性毎にくり抜く際の処理の概要を示す。まず、属性ビットマップに基づいて、属性毎のマスクビットマップ(グラフィックのマスクビットマップ302、イメージのマスクビットマップ312、テキストのマスクビットマップ322)を作成する。また、描画ビットマップ205は、図3の301、303、311、313、321、323として使用される。すなわち、図3の(G)は、描画ビットマップからグラフィック属性の描画結果304をくり抜く処理であり、(I)はイメージ属性の描画結果314をくり抜く処理であり、(T)はテキスト属性の描画結果324をくり抜く処理を示している。例えば、グラフィック属性の描画結果304をくり抜く場合、描画が行われるメモリ領域に対して、描画ビットマップ301を用いてXOR描画命令を実行し、次に、グラフィックのマスクビットマップ302を用いてAND描画命令を実行し、描画ビットマップ303を用いてXOR描画命令を実行することで、304のようにグラフィック部分をくり抜くことができる。そして、図3の(G)のくり抜き描画命令で構成される描画コマンドの描画属性をグラフィック属性、図3の(I)に対応する描画コマンドの描画属性をイメージ属性、図3の(T)に対応する描画コマンドの描画属性をテキスト属性とすることで、各属性に適した画像処理を行えるようになる。
特開2015−005204号公報
XAX法のように低級言語の論理演算描画命令でくり抜き処理を行う場合、低級言語のみをサポートしているデバイスでもくり抜き処理を行えるという利点がある一方、出力PDLサイズが大きくなりやすく、また、くり抜き描画処理にかかる時間も増大しやすい。例えば、図3では、描画ビットマップ205を用いたXOR描画命令が合計6回、マスクビットマップ302,312,322を用いたAND描画命令が合計3回発行されている。PDLサイズが大きくなると、特にクラウドプリントなどのインターネットを利用した印刷システムにおいて、通信時間に対する影響が大きくなる。すなわち、PDLサイズが大きければ大きいほど、通信時間が多くかかり、結果として、印刷にかかる時間も増大する。
特に、XAX法のように複数のビットマップが合成される処理(XORやANDなどのComposite処理)では、そのビットマップ領域(すなわち、部分イメージ化対象の領域)が広ければ広いほど、処理時間が多くかかってしまう。
上記課題を解決するために、本発明の情報処理装置は、描画ビットマップと属性毎のマスクビットマップとを用いたくり抜き描画命令に対して、各属性の外接矩形領域を特定する特定手段と、前記描画ビットマップと前記属性毎のマスクビットマップとから、前記各属性の外接矩形領域に対応する属性毎の部分描画ビットマップと属性毎の部分マスクビットマップとを切り出し、前記くり抜き描画命令で用いられる前記描画ビットマップと前記属性毎のマスクビットマップを、当該切り出した属性毎の部分描画ビットマップと属性毎の部分マスクビットマップとを用いて置換する切り出し手段と、を有することを特徴とする。
本発明によれば、くり抜き描画を最適化することにより、処理時間を短縮することができる。
マスク描画命令によるくり抜き描画の例と、XAX法によるくり抜き描画の例 部分イメージ化される文書の例 描画ビットマップ205に対して、XAX法によるくり抜き描画を適用した例 印刷システムの構成例 情報処理装置のソフトウェア構成例 プリンタドライバを用いて実現される処理内容を示すフローチャート くり抜き描画最適化処理の詳細を示すフローチャート 外接矩形抽出処理の詳細を示すフローチャート マスクビットマップから部分マスクビットマップを切り出す例 図3の例に対して、図8の外接矩形抽出処理を適用した結果の例 イメージ描画命令変換処理の詳細を示すフローチャート 単一属性のくり抜き描画命令を、画像描画命令に置換する例 図10の例に対して、図11のイメージ描画命令変換処理を適用した結果の例 実施例2のイメージ描画命令変換処理の詳細を示すフローチャート 図13の例に対して、更にS1405の処理を適用した結果の例
(実施例1)
本実施例では、図3で説明したようなXAX法によって描画属性毎のくり抜き描画を行う処理を用いて説明する。特に、プリンタドライバにおいて、くり抜き描画の描画命令に変換する際に、描画命令のサイズが小さくなるように、最適化処理を実行する場合について説明する。なお、以下の説明において、単に「属性」と記述した場合には「描画属性」と同義であるとする。
図4は、本実施例の印刷システムの構成例を示すものであり、印刷装置6とプリントサーバ7と情報処理装置(クライアントコンピュータ)8はネットワークを介して接続されているものとする。情報処理装置8は、中央処理装置(CPU)1と、主記憶装置(RAM)2と、補助記憶装置3と、入力装置4と、表示装置5で構成される。中央処理装置(CPU)1は、コンピュータ読み取り可能な記憶媒体(CD−ROM、DVD−ROM、メモリカード等)やネットワーク等を介して、プログラムおよび関連データを読み込んで、補助記憶装置3にインストールする。中央処理装置(CPU)1は、該プログラムを実行する際は、補助記憶装置3から主記憶装置(RAM)2に該プログラムをロードして実行することにより、後述するフローチャートで説明する各処理手段として機能する。入力装置4はキーボード、ポインティングデバイス等で構成されているものとする。また、補助記憶装置3は、ハードディスク(HDD)やソリッドステートドライブ(SSD)等で構成される。また、情報処理装置8から送信される印刷コマンドは、プリントサーバ7を介して印刷装置6に送信されるように構成してもよいし、また、印刷装置6に直接送信されるように構成しても構わない。以下の説明では、プリントサーバを介して印刷コマンドを送信する場合の説明は割愛するが、そのような構成を排除するものではない。
図5は、情報処理装置8のOSにおいて、印刷装置を制御するためのプリンタドライバ11のプログラムを実行した場合に、中央処理装置1を後述する各処理部として機能させるためのソフトウェア構成を示す概念図である。
ユーザインタフェース部12は、印刷に用いる各種印刷設定の入力や印刷開始指示の入力をユーザーから受け付けるためのユーザインタフェースを提供する。
レイアウト処理部13は、文書作成アプリケーション等から指定される印刷の描画命令を受け、N−up(Nin1ともいう)などのレイアウトに関する指定がされていれば、そのレイアウトに応じた変換を行う。
印刷データ制御部14は、レイアウト処理部13で変換された描画命令を受けとり、印刷装置において処理できるデータを作成する。この印刷データ制御部14は、くり抜き描画最適化処理部21および印刷データ生成部15を含み、本発明におけるホスト装置側の重要な処理を実現する。くり抜き描画最適化処理部21は、くり抜き描画を検知し最適な描画命令に変換する処理を行う。印刷データ生成部15は、くり抜き描画最適化処理部21から送られてくる描画命令に基づき、印刷装置で処理可能な描画コマンドを生成する。
印刷コマンド制御部16は、印刷データ生成部15により生成された描画コマンドに対し、印刷装置で使用する補助的な情報(印刷ジョブの名称、片面/両面印刷、メディアサイズなどの情報)を付加することにより、印刷コマンドを生成する。データ送受信部17は、OSの機能であり、印刷装置6に印刷コマンドを送信したり、印刷装置から各種データを送信したりする。
図6は、情報処理装置8がプリンタドライバ11のプログラムを実行することにより、情報処理装置が行う処理を示すフローチャートである。ユーザーが文書作成アプリケーション等において印刷を指示すると、該アプリケーションから出力される描画命令が、プリンタドライバ11へ渡ってくる。そこでこのフローチャートがスタートする。
ステップS601において、レイアウト処理部13は、アプリケーションから入力された描画命令を解析し、必要に応じてレイアウト変換を行った後、印刷データ制御部14に描画命令を渡す。
ステップS602において、印刷データ制御部14のくり抜き描画最適化処理部21は、図7を用いて後述するくり抜き描画最適化処理を行う。
ステップS603において、印刷データ制御部14の印刷データ生成部15は、くり抜き描画最適化処理部21で最適化処理を行った後の描画命令に基づいて、印刷装置が受け取ることができる描画コマンドに変換する。描画コマンドとは具体的にはPS(Adobe社製)やPCL(HP社製)などのPDL描画コマンドを指す。
ステップS604において、印刷コマンド制御部16は、印刷データ生成部15により生成された描画コマンドに対し、印刷装置で使用する補助的な情報(印刷ジョブの名称、片面/両面印刷、メディアサイズなどの情報)を付加して、印刷コマンドを生成する。
ステップS605において、印刷コマンド制御部16は、データ送受信部17を介して、印刷装置6へ印刷コマンドを送信する。その後、印刷装置6では、受け取った印刷コマンドに基づいて、レンダリング処理やハーフトーン化処理を行った後、紙に印字して印刷処理が完了する。
図7は、ステップS602において、くり抜き描画最適化処理部21により実行されるくり抜き描画最適化処理の詳細を示すフローチャートである。
S700において、くり抜き描画最適化処理部21は、レイアウト処理部から受け取った描画命令の中に画像形成装置で処理できない描画命令(例えばグラデーション描画命令)があった場合、ビットマップ化対象とする。そして、図2および図3を用いて上述したような技術(特許文献1参照)を用いて、くり抜き描画命令に変換するくり抜き描画命令変換処理を実行する。すなわち、図3のように、ビットマップ化対象領域の描画ビットマップ205(301,303,311,313,321,323)と、その領域内に含まれる各画素の属性に基づいて作成される属性毎のマスクビットマップ(302,312,322)とを用いて、XAX法により記述されたくり抜き描画命令に変換される。
なお、以下の説明では、図3で示したようなXAX法で記述されたくり抜き描画命令に変換された場合を例にして説明するが、くり抜き描画命令の記述法はXAX法に限るものではない。例えば、後述するステップS702およびS703の処理は、図1(A)のような、描画ビットマップを描画する画像描画命令と属性毎のマスクビットマップを用いたMask描画命令とを組み合わせたくり抜き描画に対しても適用可能である。また、本実施例では、S700でくり抜き描画命令に変換する例について示すが、これに限るものではない。例えば、文書作成アプリケーションから出力される描画命令が、既にくり抜き描画命令として記述されている場合もありうる。また、文書作成アプリケーションから出力される描画命令が、OSの変換モジュールにより所定のフォーマットに変換され、当該変換後の描画命令がプリンタドライバに入力される構成の場合、該変換モジュールによって既にくり抜き描画命令に変換されている場合もありうる。例えば、OSの変換モジュールとしては、MXDC(Microsoft XPS Document Converter)などがあり、このような変換モジュールが文書作成アプリケーションから出力される描画命令をくり抜き描画命令に既に変換している場合もありうる。したがって、レイアウト処理部から受け取った描画命令が、既にくり抜き描画命令で記述されているような場合は、S700の処理はスキップしても構わない。
S701において、くり抜き描画最適化処理部21は、くり抜き描画に関する描画命令を検知し、そのくり抜き描画に関する描画命令を検知するたびに、以下のS702およびS703の処理を行う。すなわち、くり抜き描画に関する描画命令として、図3で示したようなXAX法などで記述されたものがあれば、そのくり抜き描画に関して、以下のS702〜S703の処理を行うことになる。ここでは、くり抜き描画に関する描画命令に、図3で説明したような描画ビットマップ(301,303,311,313,321,323)と、属性ビットマップに基づき生成された属性毎のマスクビットマップ(302,312,322)とが含まれている。
ステップS702において、くり抜き描画最適化処理部21は、図8を用いて後述するように、当該くり抜き描画から、属性ごとの外接矩形の抽出処理を行う。
ステップS703において、くり抜き描画最適化処理部21は、図11を用いて後述するように、S702で抽出された属性ごとの外接矩形に基づいて、イメージ描画命令変換処理を行う。
図8は、S702においてくり抜き描画最適化処理部21により実行される外接矩形抽出処理の詳細を示すフローチャートである。
ステップS801において、くり抜き描画最適化処理部21は、属性ごとのマスクビットマップ(または属性ビットマップ)に基づいて、当該くり抜き描画に含まれる属性を判定し、属性ごとに処理対象として、以下のS802とS803の処理を繰り返し実行する。
ステップS802において、くり抜き描画最適化処理部21は、現在処理対象としている属性のマスクビットマップに基づいて、その属性の外接矩形領域を特定する。例えば、図9の901は、ある属性のマスクビットマップを表している。図9のマスクビットマップ901は、図3の302、312、322などで示したように、マスクビットマップの1の部分(図9では黒の部分)が、くり抜き対象画像中のくり抜きたい画素を示している。マスクビットマップ901において、くり抜きたい画素の部分を囲む最小の外接矩形を求める。図9のマスクビットマップ901では、マスクビットマップの1の部分を囲む外接矩形902が、S802において求める領域となる。なお、本実施例では、処理対象の属性のマスクビットマップに基づいて外接矩形を求めるようにしているが、これに限るものではなく、当該描画ビットマップの各画素の属性を示す属性ビットマップがあれば、これに基づいて判定するようにしてもよい。
ステップS803において、くり抜き描画最適化処理部21は、描画ビットマップと当該処理対象の属性のマスクビットマップのそれぞれから、S802で求めた外接矩形領域に対応する部分(部分描画ビットマップと部分マスクビットマップ)を切り出す。例えば、図9のマスクビットマップ901から外接矩形902に対応する部分を切り出すと、部分マスクビットマップ911が得られる。その後、当該処理対象の属性に関するくり抜き描画命令における描画ビットマップとマスクビットマップを、当該切り出した部分描画ビットマップと部分マスクビットマップで置換する。
図10は、図3で示したくり抜き描画の例に対して、図8の外接矩形抽出処理を適用した後のくり抜き描画を示す。図3の301〜324は、それぞれ図10の1001〜1024に対応している。図3の例において、グラフィック属性については、S802で求められる外接矩形が処理対象のマスクビットマップのサイズと同じなので、図10のグラフィック属性のくり抜き描画1001〜1003は、図3のくり抜き描画301〜303と同じである。一方、図3の例において、イメージ属性およびテキスト属性については、S802で求められるそれぞれの外接矩形は処理対象のマスクビットマップのサイズより小さい。したがって、外接矩形抽出処理を適用した後のイメージ属性のくり抜き描画で用いられる部分描画ビットマップ1011,1013および部分マスクビットマップ1012は、外接矩形抽出処理適用前の描画ビットマップ311,313およびマスクビットマップ312より、サイズが小さくなっている。また、外接矩形抽出処理適用後のテキスト属性のくり抜き描画で用いられる部分描画ビットマップ1021,1023および部分マスクビットマップ1022も、外接矩形抽出処理適用前の描画ビットマップ321,323およびマスクビットマップ322より、サイズが小さくなっている。なお、外接矩形領域のサイズがマスクビットマップ(もしくは描画ビットマップ)のサイズと一致する属性(図10ではグラフィック属性)については、ステップS803の処理をスキップするように構成しても構わない。
以上述べたように、図8の外接矩形抽出処理により、図3のような、くり抜き描画で用いられる描画ビットマップおよび属性毎のマスクビットマップを、図10のような部分描画ビットマップおよび部分マスクビットマップに置換するので、データサイズを小さくすることができる。
図11は、S703においてくり抜き描画最適化処理部21により実行されるイメージ描画命令変換処理の詳細を示すフローチャートである。図11で処理対象となる描画命令は、S702で外接矩形抽出処理が行われ、図10のようなくり抜き描画に置換された描画命令である。
ステップS1101において、くり抜き描画最適化処理部21は、属性ごとのマスクビットマップ(または属性ビットマップ)に基づいて、当該くり抜き描画に含まれる属性を判定し、属性ごとに処理対象として、以下のS1102〜S1103の処理を繰り返し実行する。
ステップS1102において、くり抜き描画最適化処理部21は、当該処理対象の属性のくり抜き描画で用いられる部分描画ビットマップが、単一属性のみで構成されているか判定する。単一属性のみで構成される場合は、ステップS1103に進み、複数の属性が含まれていると判断した場合はステップS1103の処理をスキップする。
単一属性かどうかの判定手法としては、以下の手法が考えられる。例えば、図10の部分マスクビットマップを参照し、当該処理対象の属性の部分マスクビットマップの全ての値が1(図では黒)である場合に、当該処理対象の属性のくり抜き描画の部分描画ビットマップは、単一の属性のみで構成されると判定できる。また、別の手法として、当該処理対象の属性の部分マスクビットマップの領域座標に基づいて、属性ビットマップにおける対応する位置の領域を特定し、当該特定した属性ビットマップ内の領域に含まれる属性の数をカウントし、単一の属性のみで構成されるか否かを判定するようにしてもよい。
ステップS1103において、くり抜き描画最適化処理部21は、その属性のくり抜き描画について、XAX法のくり抜き描画命令を、その属性の部分描画ビットマップを描画する1つの画像描画命令に変換する。さらに、当該変換後の画像描画命令が、他の属性のくり抜き描画よりも前に実行されるように描画命令の順序を変更する。例えば、図10の例では、単一の属性で構成される部分マスクビットマップは、イメージ属性のマスクビットマップ1012のみであるので、イメージ属性のくり抜き描画(図10の(I))に対して、ステップS1103の処理が行われる。図12の(1)で示される1211〜1214は、図10の(I)の1011〜1014を改めて示したものである。図12(1)のくり抜き描画1211〜1213に対して、ステップS1103の処理を実行すると、図12の(2)のように、部分描画ビットマップ1221を描画する画像描画命令に変換される。なお、図12の(1)と(2)を比較すれば分かるように、部分描画ビットマップ1221を描画した結果1224と、くり抜き描画1211〜1213で描画した結果1214は同等となっている。そして、さらにこの画像描画命令を他のくり抜き描画よりも前に実行されるように順序を変更すると、図10のくり抜き描画命令群は、イメージ属性の画像描画命令が先頭となり、図13のようになる。図13では、イメージ属性の画像描画命令1311が最初に実行され、その後、ステップS1103の処理が行われなかったグラフィック属性のくり抜き描画1301〜1303、テキスト属性のくり抜き描画1321〜1323が実行されるように順序変更される。
図11のイメージ描画命令変換処理により、図10のようなくり抜き描画で用いられる部分描画ビットマップおよび部分マスクビットマップのうち、部分描画ビットマップが単一属性で構成されるくり抜き描画命令については、図13のように部分描画ビットマップを描画する画像描画命令に置換されるので、更に、データサイズを削減でき、且つ、描画命令の数も減らすことができる。
以上述べたように、プリンタドライバのくり抜き描画最適化処理部21が、くり抜き描画に対して図8の外接矩形抽出処理を行うことで、処理に時間のかかるくり抜き描画領域を小さくし、さらに、図11のイメージ描画命令変換処理により、くり抜き描画の代わりに比較的処理に時間のかからない画像描画命令に置き換えるので、処理時間を短縮することができる。
(実施例2)
図11のくり抜き描画最適化処理部21により実行されるイメージ描画命令変換処理の別実施例を、図14のフローチャートを用いて説明する。それ以外の処理については、実施例1と同様である。
図14のステップS1101〜S1103の処理は、図11のステップS1101〜S1103の処理と同様である。したがって、S1103の処理が終わった時点では、前述したように、図10のくり抜き描画のうち、単一属性で構成されるくり抜き描画命令が画像描画命令に変換され、図13のような描画命令群となっている。
ステップS1404において、くり抜き描画最適化処理部21は、S1101〜S1103の処理後に残っているくり抜き描画命令で用いられる部分描画ビットマップについて、S1103で画像描画命令に変換された属性の描画を含まないものがあるか判定する。含まないものがあると判定した場合はステップS1405に進み、残っている全てのくり抜き描画命令が、S1103で画像描画命令に変換された属性の描画の少なくとも一部を含むと判定した場合は、そのまま処理を終了する。
すなわち、図13の例では、ステップS1404において、グラフィック属性のくり抜き描画命令と、テキスト属性のくり抜き描画命令とを判定対象とする。グラフィック属性のくり抜き描画命令で用いられる部分描画ビットマップ1301については、その左下の部分にS1103で画像描画命令に変換されたイメージ属性の描画を含んでいる。一方、テキスト属性のくり抜き描画命令で用いられる部分描画ビットマップ1321については、その右下の部分にグラフィック属性の描画の一部を含んでいるが、S1103で画像描画命令に変換されたイメージ属性の描画は全く含んでいない。したがって、テキスト属性のくり抜き描画命令が、S1103で画像描画命令に変換されたイメージ属性の描画は含んでいないので、ステップS1405に進む。
ステップS1405において、くり抜き描画最適化処理部21は、画像描画命令に変換済みの属性の描画を含まないくり抜き描画命令について、部分描画ビットマップを描画する画像描画命令に変換し、他のくり抜き描画命令よりも前に処理されるように順序変更する。図13の例では、テキスト属性のくり抜き描画命令について、部分描画ビットマップを描画する画像描画命令に変換する。そして、当該変換されたテキスト属性の画像描画命令が、グラフィック属性のくり抜き描画よりも前に処理されるように順序変更する。その結果、図13の描画命令群は、図15のような描画命令群になる。
図15では、まず最初にイメージ属性の部分描画ビットマップ1511が画像描画命令により描画され、次に、テキスト属性の部分描画ビットマップ1521が画像描画命令により描画されるように変換されている。その後、グラフィック属性のくり抜き描画がXAX法で実行されるようになっている。テキスト属性の部分描画ビットマップ1521の右下の部分にはグラフィック属性の描画の一部が含まれているので、その描画結果1524の右下の部分にもグラフィック属性の描画が含まれている。しかしながら、その後に実行されるグラフィック属性のくり抜き描画により、その部分は上書きされるので、結果的に、グラフィック属性として画像処理が行われることになる。
図14のイメージ描画命令変換処理によれば、画像描画命令に置換されるくり抜き描画命令が増えるので、更に、データサイズを削減でき、且つ、描画命令の数も減らすことができる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。その処理は、上述した実施例の機能を実現させるソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (13)

  1. 描画ビットマップと属性毎のマスクビットマップとを用いたくり抜き描画命令に対して、各属性の外接矩形領域を特定する特定手段と、
    前記描画ビットマップと前記属性毎のマスクビットマップとから、前記各属性の外接矩形領域に対応する属性毎の部分描画ビットマップと属性毎の部分マスクビットマップとを切り出し、前記くり抜き描画命令で用いられる前記描画ビットマップと前記属性毎のマスクビットマップを、当該切り出した属性毎の部分描画ビットマップと属性毎の部分マスクビットマップとを用いて置換する切り出し手段と、
    を有することを特徴とする情報処理装置。
  2. 単一属性で構成される部分描画ビットマップを用いるくり抜き描画命令について、当該単一属性で構成される部分描画ビットマップを描画する画像描画命令に変換する第1変換手段、
    を更に有することを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1変換手段は、さらに、当該変換した画像描画命令が、その他のくり抜き描画命令よりも前に処理されるように順序変更することを特徴とする請求項2に記載の情報処理装置。
  4. 前記第1変換手段で画像描画命令に変換されなかった属性のくり抜き描画命令について、そのくり抜き描画命令で用いられる部分描画ビットマップが前記第1変換手段で画像描画命令に変換された属性を含まなければ、当該部分描画ビットマップを描画する画像描画命令に変換して、その他のくり抜き描画命令よりも前に処理されるように順序変更する第2変換手段、を更に有することを特徴とする請求項3に記載の情報処理装置。
  5. 複数の描画命令の中からビットマップ化対象と判断された描画命令を含むビットマップ化対象の矩形領域に基づいて、当該ビットマップ化対象の矩形領域に含まれる描画命令に基づいて、前記描画ビットマップと前記属性毎のマスクビットマップとを用いた前記くり抜き描画命令に変換するくり抜き描画命令変換手段、を更に有し、
    前記特定手段は、前記くり抜き描画命令変換手段で変換されたくり抜き描画命令に対して、各属性の外接矩形領域を特定することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記くり抜き描画命令は、XOR描画命令とAND描画命令とXOR描画命令とを組み合わせた描画命令であることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記くり抜き描画命令は、画像描画命令とMask描画命令とを組み合わせた描画命令であることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  8. コンピュータを、請求項1乃至7のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
  9. コンピュータを、請求項1乃至7のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラムを記憶した、コンピュータ読み取り可能な記憶媒体。
  10. 情報処理装置の特定手段が、描画ビットマップと属性毎のマスクビットマップとを用いたくり抜き描画命令に対して、各属性の外接矩形領域を特定する特定ステップと、
    前記情報処理装置の切り出し手段が、前記描画ビットマップと前記属性毎のマスクビットマップとから、前記各属性の外接矩形領域に対応する属性毎の部分描画ビットマップと属性毎の部分マスクビットマップとを切り出し、前記くり抜き描画命令で用いられる前記描画ビットマップと前記属性毎のマスクビットマップを、当該切り出した属性毎の部分描画ビットマップと属性毎の部分マスクビットマップとを用いて置換する切り出しステップと、
    を含むことを特徴とする情報処理方法。
  11. 前記情報処理装置の第1変換手段が、単一属性で構成される部分描画ビットマップを用いるくり抜き描画命令について、当該単一属性で構成される部分描画ビットマップを描画する画像描画命令に変換する第1変換ステップ、
    を更に含むことを特徴とする請求項10に記載の情報処理方法。
  12. 前記第1変換ステップでは、さらに、当該変換した画像描画命令が、その他のくり抜き描画命令よりも前に処理されるように順序変更することを特徴とする請求項11に記載の情報処理方法。
  13. 前記情報処理装置の第2変換手段が、前記第1変換ステップで画像描画命令に変換されなかった属性のくり抜き描画命令について、そのくり抜き描画命令で用いられる部分描画ビットマップが前記第1変換ステップで画像描画命令に変換された属性を含まなければ、当該部分描画ビットマップを描画する画像描画命令に変換して、その他のくり抜き描画命令よりも前に処理されるように順序変更する第2変換ステップ、
    を更に有することを特徴とする請求項12に記載の情報処理方法。
JP2017042044A 2017-03-06 2017-03-06 情報処理装置、プログラム、記憶媒体、情報処理方法 Pending JP2018147259A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017042044A JP2018147259A (ja) 2017-03-06 2017-03-06 情報処理装置、プログラム、記憶媒体、情報処理方法
US15/905,564 US20180253889A1 (en) 2017-03-06 2018-02-26 Information processing apparatus, storage medium, and information processing method for processing clipping rendering instruction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017042044A JP2018147259A (ja) 2017-03-06 2017-03-06 情報処理装置、プログラム、記憶媒体、情報処理方法

Publications (1)

Publication Number Publication Date
JP2018147259A true JP2018147259A (ja) 2018-09-20

Family

ID=63355672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017042044A Pending JP2018147259A (ja) 2017-03-06 2017-03-06 情報処理装置、プログラム、記憶媒体、情報処理方法

Country Status (2)

Country Link
US (1) US20180253889A1 (ja)
JP (1) JP2018147259A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020195331A1 (ja) * 2019-03-28 2020-10-01 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019012952A (ja) * 2017-06-30 2019-01-24 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
CN113781571A (zh) * 2021-02-09 2021-12-10 北京沃东天骏信息技术有限公司 图像处理方法和装置
US11954770B2 (en) 2021-11-12 2024-04-09 Rockwell Collins, Inc. System and method for recreating graphical image using character recognition to reduce storage space
US12002369B2 (en) 2021-11-12 2024-06-04 Rockwell Collins, Inc. Graphical user interface (GUI) for selection and display of enroute charts in an avionics chart display system
US11854110B2 (en) 2021-11-12 2023-12-26 Rockwell Collins, Inc. System and method for determining geographic information of airport terminal chart and converting graphical image file to hardware directives for display unit
US11748923B2 (en) 2021-11-12 2023-09-05 Rockwell Collins, Inc. System and method for providing more readable font characters in size adjusting avionics charts
US11842429B2 (en) 2021-11-12 2023-12-12 Rockwell Collins, Inc. System and method for machine code subroutine creation and execution with indeterminate addresses
US11887222B2 (en) * 2021-11-12 2024-01-30 Rockwell Collins, Inc. Conversion of filled areas to run length encoded vectors
US11915389B2 (en) 2021-11-12 2024-02-27 Rockwell Collins, Inc. System and method for recreating image with repeating patterns of graphical image file to reduce storage space

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020195331A1 (ja) * 2019-03-28 2020-10-01 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法
JP2020166363A (ja) * 2019-03-28 2020-10-08 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法
US11630616B2 (en) 2019-03-28 2023-04-18 Brother Kogyo Kabushiki Kaisha Information processing apparatus, printing method, and non-transitory computer-readable medium storing support program therefor for controlling a printer for printing a barcode image
JP7298241B2 (ja) 2019-03-28 2023-06-27 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法

Also Published As

Publication number Publication date
US20180253889A1 (en) 2018-09-06

Similar Documents

Publication Publication Date Title
JP2018147259A (ja) 情報処理装置、プログラム、記憶媒体、情報処理方法
US9361056B2 (en) Information processing apparatus and method for generating a conflict confirmation print job
JP2011070337A (ja) 画像処理システム及び画像処理プログラム
JP2009230413A (ja) 情報処理装置、情報処理方法及び印刷システム
US10303409B2 (en) Information processing apparatus, information processing method, and storage medium
US9507544B2 (en) Information processing apparatus, recording medium, and control method to process print data using filters
JP2009188816A (ja) プリンタドライバおよび画像形成装置
JP2010165261A (ja) 印刷制御装置とその制御方法
US7961341B2 (en) Print system, print data supplying device, and method for supplying print data to printer
JP2005301987A (ja) プリンタドライバ、印刷制御装置、印刷システムおよび印刷制御方法
JP2009053789A (ja) 情報処理装置とプログラムとコンピュータ読み取り可能な記録媒体
US10310788B2 (en) Control method for generating data used for printing and information processing apparatus
US20150077771A1 (en) Image processing apparatus, image processing method, and recording medium
US9253343B2 (en) Information processing apparatus, control method, and storage medium for providing a preview and/or display of a main display document generated from all parts of a print document
JP2019098580A (ja) 画像形成装置
US20190311234A1 (en) Information processing apparatus, method, and storage medium
JP2020144807A (ja) 情報処理装置とその制御方法、及びプログラム
US8908227B2 (en) Image forming apparatus, image forming system, image data processing method, program, and storage medium
US20150262043A1 (en) Information processing apparatus, information processing method, and information processing system
US9978005B2 (en) Printer for drawing bold character, method for controlling the same, and storage medium
JP5171973B2 (ja) 情報処理装置及びその制御方法
JP2017097463A (ja) 印刷制御システム、印刷制御装置およびプログラム
JP7316829B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP5526863B2 (ja) プリンタドライバ、及び印刷制御装置
US10445030B2 (en) Information processing apparatus configured to execute drawing process, and non-transitory computer-readable medium storing instruction therefor