JP6786415B2 - Information processing equipment, information processing methods, programs, and image forming equipment - Google Patents

Information processing equipment, information processing methods, programs, and image forming equipment Download PDF

Info

Publication number
JP6786415B2
JP6786415B2 JP2017023210A JP2017023210A JP6786415B2 JP 6786415 B2 JP6786415 B2 JP 6786415B2 JP 2017023210 A JP2017023210 A JP 2017023210A JP 2017023210 A JP2017023210 A JP 2017023210A JP 6786415 B2 JP6786415 B2 JP 6786415B2
Authority
JP
Japan
Prior art keywords
transparent
information processing
data
processing apparatus
image
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.)
Active
Application number
JP2017023210A
Other languages
Japanese (ja)
Other versions
JP2018026093A (en
JP2018026093A5 (en
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.)
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 US15/647,556 priority Critical patent/US10235612B2/en
Priority to CN201710628837.4A priority patent/CN107665101B/en
Publication of JP2018026093A publication Critical patent/JP2018026093A/en
Publication of JP2018026093A5 publication Critical patent/JP2018026093A5/ja
Application granted granted Critical
Publication of JP6786415B2 publication Critical patent/JP6786415B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本発明は、透過オブジェクトをレンダリングし印刷するための技術に関する。 The present invention relates to techniques for rendering and printing transparent objects.

Microsoft社のWindowsオペレーティングシステムにおいて動作するアプリケーションからプリンタードライバーを介して文書をプリンターにて印刷するための処理フローとして、次の2つが存在する。すなわち、GDI(Graphics Device Interface)プリントパス、および、XPS(XML Paper Specification)プリントパスである。また、Windowsオペレーティングシステムにおいて動作するアプリケーションには、文書の印刷指示が為された場合に、印刷対象文書の描画命令として、GDI形式の描画データを出力するものと、XPS形式の描画データを出力するものがある。本明細書では、文書の印刷指示が為された場合に、GDI形式の描画データを出力するアプリケーションをGDIアプリケーションと呼び、XPS形式の描画データを出力するアプリケーションをXPSアプリケーションと呼ぶこととする。 There are the following two processing flows for printing a document on a printer from an application running on Microsoft's Windows operating system via a printer driver. That is, a GDI (Graphics Device Interface) print path and an XPS (XML Paper Specification) print path. In addition, to the application running on the Windows operating system, when a document print instruction is given, GDI format drawing data is output and XPS format drawing data is output as a drawing command of the document to be printed. There is something. In the present specification, an application that outputs GDI format drawing data when a document printing instruction is given is referred to as a GDI application, and an application that outputs XPS format drawing data is referred to as an XPS application.

GDIプリントパスでは、GDIプリンタードライバー(V3プリンタードライバーとも呼ばれる)によって、GDI形式の描画データから、プリンターで処理可能なPDLデータ(印刷ジョブ)が作成される。一方、XPSプリントパスでは、Windows8でサポートされるようになったVersion4プリンタードライバー(以下、「V4プリンタードライバー」と呼ぶ。)によって、XPS形式の描画データからプリンター用のPDLデータ(印刷ジョブ)が作成される。このV4プリンタードライバーを用いて、GDIアプリケーションで作成した文書の印刷ジョブを作成する場合、GDI形式の描画データをMXDCによりXPS形式の描画データに変換する必要が生じる。MXDCは、Microsoft XPS Document Converterの略である。 In the GDI print path, the GDI printer driver (also called the V3 printer driver) creates PDL data (print job) that can be processed by the printer from the drawing data in the GDI format. On the other hand, in the XPS print path, PDL data (print job) for the printer is created from the drawing data in XPS format by the Version 4 printer driver (hereinafter referred to as "V4 printer driver") that is now supported by Windows 8. Will be done. When a print job of a document created by a GDI application is created by using this V4 printer driver, it is necessary to convert the drawing data in GDI format into drawing data in XPS format by MXDC. MXDC is an abbreviation for Microsoft XPS Document Converter.

印刷対象文書に透過率を色情報として持つ透過オブジェクトがある場合、MXDCは、3チャンネルのRGB画像とマスク画像とを合成して描画するROP描画命令を、アルファチャンネルを色情報として持つ4チャンネルのRGBA画像の描画命令に変換する。そして、V4プリンタードライバーは、アルファチャンネルを色情報として持つ4チャンネルのRGBA画像のレンダリング処理を行って、印刷ジョブを作成する。 When the print target document has a transparent object that has transmittance as color information, MXDC issues a RAP drawing command that synthesizes and draws a 3-channel RGB image and a mask image, and has a 4-channel alpha channel as color information. Converts to a drawing command for an RGBA image. Then, the V4 printer driver creates a print job by performing a rendering process of a 4-channel RGBA image having an alpha channel as color information.

ところで、透過オブジェクトを含む印刷ジョブをプリンターで印刷する際には、透過オブジェクトの背景にある他のオブジェクトの色を考慮した合成(アルファブレンディング)がプリンターで行われる。このアルファブレンディングには、メモリを多く使用し、処理に時間がかかってしまうという問題があった。この問題を解決するための技術として、特許文献1は、アルファチャンネルを記述したテーブルを用いて効率良くアルファブレンディング処理を実行する技術を開示する。 By the way, when a print job including a transparent object is printed by a printer, composition (alpha blending) in consideration of the colors of other objects in the background of the transparent object is performed by the printer. This alpha blending has a problem that it uses a lot of memory and takes a long time to process. As a technique for solving this problem, Patent Document 1 discloses a technique for efficiently executing an alpha blending process using a table in which an alpha channel is described.

特開2006−244248号公報JP-A-2006-244248

しかしながら、印刷ジョブに含まれる透過オブジェクトの数が多い場合などには、特許文献1の方法でもやはり処理に時間がかかってしまうという課題があった。そこで本発明は、プリンターでのアルファブレンディング処理に要するメモリ使用量を削減し、高速な印刷処理を可能にする情報処理装置を提供することを目的とする。 However, when the number of transparent objects included in the print job is large, there is a problem that the method of Patent Document 1 also takes a long time to process. Therefore, an object of the present invention is to provide an information processing apparatus that reduces the amount of memory used for alpha blending processing in a printer and enables high-speed printing processing.

本発明は、ページデータを構成する描画オブジェクトが、色情報としてアルファチャンネルを持つ透過オブジェクトである場合に、前記透過オブジェクトが他の描画オブジェクトと重なるかを判定する重なり判定手段と、前記透過オブジェクトが前記他の描画オブジェクトと重ならないと前記重なり判定手段により判定された場合、前記透過オブジェクトの描画データを、色情報としてアルファチャンネルを持たない描画オブジェクトの描画データに変換する変換手段と、を有することを特徴とする情報処理装置である。 The present invention comprises an overlap determining means for determining whether the transparent object overlaps with another drawing object when the drawing object constituting the page data is a transparent object having an alpha channel as color information, and the transparent object. When it is determined by the overlap determination means that it does not overlap with the other drawing object, it has a conversion means for converting the drawing data of the transparent object into drawing data of a drawing object having no alpha channel as color information. It is an information processing device characterized by.

本発明により、プリンターでのアルファブレンディング処理に要するメモリ使用量を削減し、高速な印刷処理が可能となる。 INDUSTRIAL APPLICABILITY According to the present invention, the amount of memory used for alpha blending processing in a printer can be reduced, and high-speed printing processing becomes possible.

実施例1における印刷システムの構成を示す図The figure which shows the structure of the printing system in Example 1. 実施例1におけるPCのハードウェア構成を示すブロック図Block diagram showing the hardware configuration of the PC in the first embodiment 実施例1におけるPCのソフトウェア構成を示すブロック図Block diagram showing the software configuration of the PC in the first embodiment 実施例1におけるレンダリングフィルターの構成を示すブロック図A block diagram showing a configuration of a rendering filter according to the first embodiment. 実施例1における透過イメージオブジェクトを示す図The figure which shows the transparent image object in Example 1. (a)実施例1を適用するページデータ(b)ページデータを描画オブジェクトごとに分解した模式図(A) Page data to which Example 1 is applied (b) Schematic diagram of page data decomposed for each drawing object 実施例1における処理の流れを示すフローチャートFlow chart showing the flow of processing in the first embodiment 実施例2を適用するページデータPage data to which Example 2 is applied ブロック化されたページデータの模式図Schematic diagram of blocked page data 実施例2における処理の流れを示すフローチャートFlow chart showing the flow of processing in the second embodiment 実施例2におけるアルファトリミング処理、ブロックブレンディング処理、ブロックROP化処理を説明する模式図Schematic diagram illustrating the alpha trimming process, the block blending process, and the block RAP processing in the second embodiment. (a)実施例3を適用するページデータ(b)ブロック化されたページデータの模式図(A) Page data to which Example 3 is applied (b) Schematic diagram of blocked page data 実施例3における処理の流れを示すフローチャートFlowchart showing the flow of processing in Example 3 実施例4における処理の流れを示すフローチャートFlowchart showing the flow of processing in Example 4 実施例4における描画オブジェクト数Oと印刷時間tとの間の関係を示すグラフA graph showing the relationship between the number of drawing objects O and the printing time t in the fourth embodiment. 実施例4による効果を説明する図The figure explaining the effect by Example 4.

以下、図面を参照して、本発明の好適な実施形態を例示的に説明する。但し、以下に記載されている構成要素の相対配置、装置形状等は、あくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。その趣旨を逸脱しない範囲で、当業者の通常の知識に基づいて、以下に記載する実施形態に対して適宜変更、改良が加えられたものについても本発明の範囲に入ることが理解されるべきである。 Hereinafter, preferred embodiments of the present invention will be exemplified with reference to the drawings. However, the relative arrangement of the components, the shape of the device, and the like described below are merely examples, and the scope of the present invention is not limited to them. It should be understood that, as long as it does not deviate from the purpose, those which have been appropriately modified or improved with respect to the embodiments described below based on the ordinary knowledge of those skilled in the art are also within the scope of the present invention. Is.

[実施例1]
<印刷システムの構成について>
図1は、本実施例における印刷システムの構成例を示す図である。図示するように、印刷システムは、情報処理装置(以下「PC」とする。)10と、画像形成装置(以下、「プリンター」とする。)20とから構成される。PC10とプリンター20とはLAN1を介して接続されており、PC10とプリンター20との間でデータの送受信が可能である。LAN1はイーサーネットの通信方式に対応する有線LANや無線LANを用いて良い。ただし、PC10とプリンター20とを接続する形態はLANに限定されず、Bluetooth(登録商標)やUSBなどその他の接続形態を用いても良い。
[Example 1]
<About the configuration of the printing system>
FIG. 1 is a diagram showing a configuration example of a printing system in this embodiment. As shown in the figure, the printing system is composed of an information processing device (hereinafter referred to as “PC”) 10 and an image forming device (hereinafter referred to as “printer”) 20. The PC 10 and the printer 20 are connected to each other via LAN 1, and data can be transmitted and received between the PC 10 and the printer 20. As LAN1, a wired LAN or a wireless LAN corresponding to the Ethernet communication method may be used. However, the form of connecting the PC 10 and the printer 20 is not limited to LAN, and other connection forms such as Bluetooth (registered trademark) and USB may be used.

<PCのハードウェア構成について>
図2は、本実施例におけるPC10のハードウェア構成例を示すブロック図である。CPU101は、RAM102に記憶されているプログラムに従って、システムバス104に接続される各デバイスを総括的に制御する。RAM102は、データを一時的に記憶する記憶媒体であり、CPU101のメインメモリ、ワークエリア等として機能する。ROM103は、各種プログラム及びデータを格納しており、各種フォントを記憶するフォントROM103aと、ブートプログラムやBIOS等を記憶するプログラムROM103bと、各種データを記憶するデータROM103cとに区分けして構成される。なお本実施例では、ROM103の領域を内部で区分けして用いるが、フォントROM103a、プログラムROM103b、及びデータROM103cを物理的に別個の記憶手段として構成しても良い。ネットワークインターフェース(以下、「インターフェース」を「I/F」と略記する。)105は、LAN1に接続され、PC10と外部装置との間におけるデータ通信を制御する。入力I/F106は、キーボード109や不図示のポインティングデバイス(例えばマウス)等を介するユーザーによる入力を制御する。出力I/F107は、ディスプレイ110への表示などの出力を制御する。外部メモリI/F108は、例えばハードディスク等の外部メモリ111とのアクセスを制御する。外部メモリ111は、オペレーティングシステム(以下、「OS」と略記する。)112、本実施例の印刷システムを担う各種ソフトウェア113、及び、ユーザファイルや編集ファイル等の各種データ114を記憶する記憶媒体である。なお本実施例では、OS112としてMicrosoft Windows(商標)10を用いるが、用いるOSはこれに限定されるものではない。
<About the hardware configuration of the PC>
FIG. 2 is a block diagram showing a hardware configuration example of the PC 10 in this embodiment. The CPU 101 comprehensively controls each device connected to the system bus 104 according to the program stored in the RAM 102. The RAM 102 is a storage medium for temporarily storing data, and functions as a main memory, a work area, or the like of the CPU 101. The ROM 103 stores various programs and data, and is divided into a font ROM 103a for storing various fonts, a program ROM 103b for storing a boot program, a BIOS, and the like, and a data ROM 103c for storing various data. In this embodiment, the area of the ROM 103 is divided internally and used, but the font ROM 103a, the program ROM 103b, and the data ROM 103c may be configured as physically separate storage means. The network interface (hereinafter, “interface” is abbreviated as “I / F”) 105 is connected to LAN1 and controls data communication between the PC 10 and an external device. The input I / F 106 controls input by the user via a keyboard 109, a pointing device (for example, a mouse) (not shown), or the like. The output I / F 107 controls an output such as a display on the display 110. The external memory I / F 108 controls access to an external memory 111 such as a hard disk. The external memory 111 is a storage medium that stores an operating system (hereinafter abbreviated as “OS”) 112, various software 113 that bears the printing system of this embodiment, and various data 114 such as user files and edit files. is there. In this embodiment, Microsoft Windows (trademark) 10 is used as the OS 112, but the OS used is not limited to this.

<PCのソフトウェア構成について>
図3は、本実施例におけるPC10のソフトウェア構成例を示すブロック図であり、PC10が有するソフトウェアモジュールのうちV4プリンタードライバーにおけるレンダリング処理に関わるソフトウェアモジュールを示す図である。
<About PC software configuration>
FIG. 3 is a block diagram showing a software configuration example of the PC 10 in this embodiment, and is a diagram showing a software module related to the rendering process in the V4 printer driver among the software modules of the PC 10.

GDIアプリケーション11は、ユーザーが文書を作成し、印刷指示を与えるためのソフトウェアである。印刷指示がユーザーによって与えられると、GDIアプリケーション11はGDIのAPIを用いて、印刷対象文書の描画命令としてGDI形式の描画データを、MXDC12に出力する。MXDC12はGDIアプリケーション11から受信したGDI形式の描画データをXPS形式の描画データに変換する。そして、変換したXPS形式の描画データを、V4プリンタードライバー13に出力する。 The GDI application 11 is software for a user to create a document and give a print instruction. When a print instruction is given by the user, the GDI application 11 uses the GDI API to output drawing data in GDI format to the MXDC 12 as a drawing command of the document to be printed. The MXDC 12 converts the GDI format drawing data received from the GDI application 11 into XPS format drawing data. Then, the converted XPS format drawing data is output to the V4 printer driver 13.

V4プリンタードライバーは、XPSプリントフィルターパイプラインサービスと呼ばれるプログラミングモデルに従って、印刷ジョブを作成する一連の処理を実行する。具体的には、V4プリンタードライバー13は、複数の連結されたフィルターから成るフィルターパイプライン14を有し、連結された各フィルターによる処理が順に実行される。すなわち、あるフィルターの出力がその次に連結されたフィルターの入力となり、各フィルターが順次処理を実行することで、プリンター20に出力する印刷ジョブ(PDLデータ)を作成する仕組みになっている。 The V4 printer driver executes a series of processes for creating a print job according to a programming model called XPS print filter pipeline service. Specifically, the V4 printer driver 13 has a filter pipeline 14 composed of a plurality of connected filters, and processing by each of the connected filters is executed in order. That is, the output of a certain filter becomes the input of the next connected filter, and each filter sequentially executes processing to create a print job (PDL data) to be output to the printer 20.

本実施例では、フィルターパイプライン14は、レイアウト処理を行うレイアウトフィルター15と、レンダリング処理を行うレンダリングフィルター16との2つのフィルターから構成される。レイアウトフィルター15は、入力されたXPS形式の描画データに対して複数ページを1枚にまとめるNupなどのレイアウト処理を実行し、該実行により得られるレイアウト済みXPS形式の描画データを、レンダリングフィルター16に出力する。レンダリングフィルター16は入力されたレイアウト済みXPS形式の描画データをPDLデータに変換し、該PDLデータをポートモニター17に出力する。後述する本実施例における透過オブジェクトの処理は、レンダリングフィルター16で実行される。 In this embodiment, the filter pipeline 14 is composed of two filters, a layout filter 15 that performs layout processing and a rendering filter 16 that performs rendering processing. The layout filter 15 executes layout processing such as Nup that combines a plurality of pages into one sheet for the input XPS format drawing data, and the layoutd XPS format drawing data obtained by the execution is used in the rendering filter 16. Output. The rendering filter 16 converts the input layoutd XPS format drawing data into PDL data, and outputs the PDL data to the port monitor 17. The processing of the transparent object in this embodiment, which will be described later, is executed by the rendering filter 16.

なお、図3は、GDIアプリケーションから印刷を行う場合のデータの流れを示したものであるが、図7を用いて後述する本発明の処理は、GDIアプリケーションからの印刷に限るものではなく、XPSアプリケーションからの印刷にも適用可能である。ただし、XPSアプリケーションの場合は、印刷指示がユーザーによって与えられると、XPSアプリケーションは、印刷対象文書の描画命令としてXPS形式の描画データを、V4プリンタードライバー13に出力する。その後のV4プリンタードライバー13における処理は、GDIアプリケーションからの印刷処理と同様である。 Note that FIG. 3 shows the flow of data when printing from the GDI application, but the process of the present invention described later with reference to FIG. 7 is not limited to printing from the GDI application, and XPS. It can also be applied to printing from applications. However, in the case of the XPS application, when a print instruction is given by the user, the XPS application outputs XPS format drawing data to the V4 printer driver 13 as a drawing command of the document to be printed. The subsequent processing in the V4 printer driver 13 is the same as the printing processing from the GDI application.

<レンダリングフィルターの構成について>
図4は、レンダリングフィルター16の構成を示すブロック図である。図示するように、レンダリングフィルター16は、XPSデータ解析部161と、画像処理部162と、PDLデータ作成部163との3つのコンポーネントから構成される。
<Rendering filter configuration>
FIG. 4 is a block diagram showing the configuration of the rendering filter 16. As shown in the figure, the rendering filter 16 is composed of three components, an XPS data analysis unit 161, an image processing unit 162, and a PDL data creation unit 163.

XPSデータ解析部161は、レイアウトフィルター15から入力されたレイアウト済みXPS形式の描画データを解析して1又は複数の描画オブジェクトを描画するための描画データを順次出力する。ここで描画オブジェクトとは、描画対象をレンダリングするために用いられる内部的にひと固まりのデータである。本実施例における描画対象には、イメージ(写真など)、図形、および文字が含まれる。また、描画オブジェクトは、アルファチャンネルを色情報として持つ透過オブジェクトであっても良い。以下、イメージを描画するための描画オブジェクトを「イメージオブジェクト」と呼び、図形を描画するための描画オブジェクトを「図形オブジェクト」と呼ぶ。 The XPS data analysis unit 161 analyzes the layoutd XPS format drawing data input from the layout filter 15 and sequentially outputs drawing data for drawing one or a plurality of drawing objects. Here, the drawing object is an internally set of data used for rendering the drawing target. Drawing targets in this embodiment include images (photographs, etc.), figures, and characters. Further, the drawing object may be a transparent object having an alpha channel as color information. Hereinafter, a drawing object for drawing an image is referred to as an "image object", and a drawing object for drawing a figure is referred to as a "figure object".

画像処理部162は、XPSデータ解析部161から入力された描画オブジェクトの描画データに対して、拡大、縮小、回転などの画像処理を実行し、該画像処理が実行された描画データを出力する。後述する本実施例における透過オブジェクトの処理は、画像処理部162によって実行される。 The image processing unit 162 executes image processing such as enlargement, reduction, and rotation on the drawing data of the drawing object input from the XPS data analysis unit 161 and outputs the drawing data in which the image processing is executed. The processing of the transparent object in this embodiment, which will be described later, is executed by the image processing unit 162.

PDLデータ作成部163は、画像処理部162から入力される1又は複数の描画オブジェクトの描画データに基づきPDLデータを作成する。レンダリングフィルター16を構成するこれらのコンポーネントが扱うレイアウト済みXPS形式の描画データ、1又は複数の描画オブジェクトの描画データ、及びPDLデータに関して、これらは全て描画対象の情報の集合であり、描画対象を出力する順序を示す。例えば、出力する順序が異なる2つの描画対象があり、且つ、これらの描画対象が同じ位置に配置される場合、順序が小さい(先に出力される)描画対象の上に、順序が大きい(後に出力される)描画対象が配置されてレンダリングされる。この場合、描画対象同士が重なり合い、先に出力される描画対象の一部または全部が後に出力される描画対象によって覆われる。 The PDL data creation unit 163 creates PDL data based on the drawing data of one or a plurality of drawing objects input from the image processing unit 162. Regarding the layoutd XPS format drawing data handled by these components constituting the rendering filter 16, the drawing data of one or more drawing objects, and the PDL data, these are all a set of information to be drawn, and the drawing target is output. Indicates the order of For example, when there are two drawing targets having different output orders and these drawing targets are arranged at the same position, the drawing target having a smaller order (output first) has a larger order (later). The drawing target (output) is placed and rendered. In this case, the drawing targets overlap each other, and a part or all of the drawing targets output first is covered by the drawing targets output later.

<透過オブジェクトについて>
図5に、本実施例における透過オブジェクトの一例として、透過イメージオブジェクト(イメージオブジェクトのうち特にアルファチャンネルを色情報として持つもの)を示す。図5に示す透過イメージオブジェクトは、アルファベットの「o」という文字を表すビットマップ形式の画像である。この画像は、黒く塗られた画素(黒画素)と何も塗られていない画素(白画素)とから構成され、4チャンネルの色情報を画素毎に持つ。ここで4チャンネルの色情報とは、黒や白などの色を表現するためのRGB3チャンネルの色情報に、透過率を指定するためのアルファチャンネル(A)の色情報を加えたものである。アルファチャンネルの画素値(以下、透過率)について、例えば図中の黒画素51における透過率は0(%)であり、白画素52における透過率は100(%)である。なお透過率について、0(%)は完全不透過を、100(%)は完全透過を示す。このような透過率は通常、2つの描画オブジェクトが重なって配置されてレンダリングされる場合に、前景となる画像の透過率が高い領域において後景となる画像を見えるようにするために指定される。或いは、前景となる画像の透過率が低い領域において後景となる画像を見えなくするために指定されることもある。
<About transparent objects>
FIG. 5 shows a transparent image object (an image object having an alpha channel as color information) as an example of the transparent object in this embodiment. The transparent image object shown in FIG. 5 is a bitmap format image representing the letter "o" in the alphabet. This image is composed of black-painted pixels (black pixels) and unpainted pixels (white pixels), and has four channels of color information for each pixel. Here, the 4-channel color information is obtained by adding the color information of the alpha channel (A) for designating the transmittance to the color information of the RGB3 channel for expressing colors such as black and white. Regarding the pixel value of the alpha channel (hereinafter, transmittance), for example, the transmittance of the black pixel 51 in the figure is 0 (%), and the transmittance of the white pixel 52 is 100 (%). Regarding the transmittance, 0 (%) indicates complete opacity and 100 (%) indicates complete transmission. Such transparency is usually specified to make the background image visible in areas of high transparency of the foreground image when two drawing objects are placed and rendered overlapping. .. Alternatively, it may be specified to make the background image invisible in a region where the transmittance of the background image is low.

<印刷ページのページデータについて>
図6(a)は、本実施例を適用する印刷ジョブを構成する印刷ページのページデータ60を模式的に示す図である。また、図6(b)は、ページデータ60を構成する描画オブジェクトを説明する図であり、ページデータ60を画像処理部162に順次入力される描画データに対応する描画オブジェクトごとに分解して示している。
<About the page data of the print page>
FIG. 6A is a diagram schematically showing page data 60 of print pages constituting a print job to which this embodiment is applied. Further, FIG. 6B is a diagram for explaining the drawing objects constituting the page data 60, and the page data 60 is decomposed and shown for each drawing object corresponding to the drawing data sequentially input to the image processing unit 162. ing.

図6(b)中の符号601、603、604、605、606、608はそれぞれ透過イメージオブジェクトを示す。透過イメージオブジェクトは、上述したように4チャンネルの色情報を有する。ここで透過イメージオブジェクト601、603、604、605、606、608においては、図5に示す透過イメージオブジェクトと同様、文字や塗りつぶしの部分は完全不透過な黒画素で構成され、それ以外の部分は完全透過な白画素で構成されるものとする。 Reference numerals 601 and 603, 604, 605, 606, and 608 in FIG. 6B indicate transparent image objects, respectively. The transparent image object has four channels of color information as described above. Here, in the transparent image objects 601, 603, 604, 605, 606, and 608, as in the transparent image object shown in FIG. 5, the characters and the filled parts are composed of completely opaque black pixels, and the other parts are composed of completely opaque black pixels. It shall be composed of completely transparent white pixels.

図6(b)中の符号602、607はそれぞれ図形オブジェクトを示す。図示するように、グラフを描画する図形オブジェクト602はどの描画オブジェクトとも重ならない一方で、色付き図形を描画する図形オブジェクト607は透過イメージオブジェクト608と重なっている。ここで、図形オブジェクト607の描画データが透過イメージオブジェクト608の描画データより先に画像処理部162に入力されて処理される場合を検討する。この場合、図形オブジェクト607に基づく色付き図形が背景、透過イメージオブジェクト608に基づく透過画像が前景となるように、図形オブジェクトと透過イメージオブジェクトとを合成する処理が必要となる。かかる合成処理は、透過イメージオブジェクトの画素値である透過率(アルファ値)に基づいて、透過イメージオブジェクトを、他の描画オブジェクトや背景と合成する処理の一形態である。このような合成処理は「アルファブレンディング処理」と呼ばれる。 Reference numerals 602 and 607 in FIG. 6B indicate graphic objects, respectively. As shown, the graphic object 602 that draws the graph does not overlap any drawing object, while the graphic object 607 that draws the colored figure overlaps the transparent image object 608. Here, a case where the drawing data of the graphic object 607 is input to the image processing unit 162 and processed before the drawing data of the transparent image object 608 will be examined. In this case, it is necessary to combine the graphic object and the transparent image object so that the colored graphic based on the graphic object 607 is the background and the transparent image based on the transparent image object 608 is the foreground. Such a composition process is a form of a process of synthesizing a transparent image object with another drawing object or a background based on the transmittance (alpha value) which is a pixel value of the transparent image object. Such a synthesis process is called an "alpha blending process".

一方、透過イメージオブジェクト601、603、604、605、606について、これらは他の描画オブジェクトと重なっていないが、それぞれがアルファチャンネルを有している。仮にこれらの透過イメージオブジェクトがアルファチャンネルを有したまま、描画データがPDLデータに変換されプリンター20に送信された場合、プリンター20は多数の透過イメージオブジェクトに対するアルファブレンディング処理を実行せねばならない。従って、印刷に時間がかかることとなる。そこで本実施例では、以下で説明するホワイトブレンディング処理(図7参照)をPC10の画像処理部162で実行することによって、重なりのない透過オブジェクトの色情報からアルファチャンネルを除去する。これにより、プリンター20がアルファブレンディング処理を実行する透過オブジェクトの総数が減少するので、プリンター20の処理負荷を軽減し、高速な印刷処理を実現することが可能となる。 On the other hand, for the transparent image objects 601, 603, 604, 605, and 606, they do not overlap with the other drawing objects, but each has an alpha channel. If the drawing data is converted into PDL data and transmitted to the printer 20 while these transparent image objects have an alpha channel, the printer 20 must perform an alpha blending process on a large number of transparent image objects. Therefore, it takes time to print. Therefore, in this embodiment, the alpha channel is removed from the color information of the non-overlapping transparent objects by executing the white blending process (see FIG. 7) described below in the image processing unit 162 of the PC 10. As a result, the total number of transparent objects that the printer 20 executes the alpha blending process is reduced, so that the processing load of the printer 20 can be reduced and high-speed printing can be realized.

<ホワイトブレンディング処理について>
図7は、本実施例における処理の流れを示すフローチャートである。
<About white blending processing>
FIG. 7 is a flowchart showing the flow of processing in this embodiment.

はじめに、ステップS701において、画像処理部162は、XPSデータ解析部151から入力された描画データに対応する描画オブジェクトのうちに、未処理の描画オブジェクトがあるかを判定する。ステップS701の判定の結果が真の場合、ステップS702に進む一方、該判定の結果が偽の場合、一連の処理は終了する。 First, in step S701, the image processing unit 162 determines whether or not there is an unprocessed drawing object among the drawing objects corresponding to the drawing data input from the XPS data analysis unit 151. If the result of the determination in step S701 is true, the process proceeds to step S702, while if the result of the determination is false, the series of processes ends.

ステップS702において、画像処理部162は、未処理の描画オブジェクトの中から1つの描画オブジェクトに注目し、該注目した描画オブジェクトの情報(色情報のチャンネル数や外接矩形座標など)を取得する。以下、注目する描画オブジェクトを「注目描画オブジェクト」と呼ぶ。 In step S702, the image processing unit 162 pays attention to one drawing object from the unprocessed drawing objects, and acquires the information (number of channels of color information, circumscribing rectangular coordinates, etc.) of the focused drawing object. Hereinafter, the drawing object of interest is referred to as a "drawing object of interest".

ステップS703において、画像処理部162は、注目描画オブジェクトが透過オブジェクトであるかを判定する。ステップS703の判定の結果が真の場合、ステップS704に進む一方、該判定の結果が偽の場合、ステップS706に進む。注目描画オブジェクトが透過オブジェクトであるかの判定は、注目描画オブジェクトの属性として入力される色情報のチャンネル数に基づいて行う。すなわち、注目描画オブジェクトの色情報のチャンネル数が4である場合、注目描画オブジェクトはRGBAの色情報を持つことになるので、注目描画オブジェクトが透過オブジェクトであると判定される。一方、注目描画オブジェクトの色情報のチャンネル数が3である場合、注目描画オブジェクトはRGBの色情報を持つことになるので、注目描画オブジェクトが透過オブジェクトではないと判定される。 In step S703, the image processing unit 162 determines whether the drawing object of interest is a transparent object. If the result of the determination in step S703 is true, the process proceeds to step S704, while if the result of the determination is false, the process proceeds to step S706. Whether or not the drawing object of interest is a transparent object is determined based on the number of channels of color information input as an attribute of the drawing object of interest. That is, when the number of channels of the color information of the attention drawing object is 4, the attention drawing object has RGBA color information, so that it is determined that the attention drawing object is a transparent object. On the other hand, when the number of channels of the color information of the attention drawing object is 3, the attention drawing object has RGB color information, so that it is determined that the attention drawing object is not a transparent object.

ステップS704において、画像処理部162は、描画オブジェクト管理リストを検索し、描画オブジェクト管理リスト内に注目描画オブジェクトと重なる描画オブジェクトがあるかを判定する。ここで描画オブジェクト管理リストとは、印刷ページのページデータを構成する描画オブジェクトを管理するためにページ毎に作成され、RAM102に一時的に記憶され、破棄されるリストである。描画オブジェクト管理リストには、描画オブジェクトの識別子や外接矩形座標等の情報が保持される。以下、描画オブジェクト管理リストを「管理リスト」と略記する。注目描画オブジェクトと重なる描画オブジェクトがあるかの判定は、注目描画オブジェクトの外接矩形座標と、管理リストに登録されている描画オブジェクトの外接矩形座標と、に基づいて行う。つまり、注目描画オブジェクトの外接矩形と、管理リストに登録されている描画オブジェクトの外接矩形とが重なっている場合、注目描画オブジェクトと、当該登録されている描画オブジェクトとも重なっていると判定される。なお、描画オブジェクトの形状によっては描画オブジェクトの外接矩形同士が重なっている場合であっても、描画オブジェクト同士が重なっているとは必ずしもいえないが、計算コストを考慮すると重なり判定に外接矩形座標を利用することは理にかなっている。ステップS704の判定の結果が真の場合、ステップS706に進む一方、該判定の結果が偽の場合、ステップS705に進む。 In step S704, the image processing unit 162 searches the drawing object management list and determines whether or not there is a drawing object in the drawing object management list that overlaps with the drawing object of interest. Here, the drawing object management list is a list created for each page to manage the drawing objects constituting the page data of the print page, temporarily stored in the RAM 102, and discarded. Information such as the identifier of the drawing object and the coordinates of the circumscribing rectangle is held in the drawing object management list. Hereinafter, the drawing object management list is abbreviated as "management list". Whether or not there is a drawing object that overlaps with the drawing object of interest is determined based on the circumscribing rectangular coordinates of the drawing object of interest and the circumscribing rectangular coordinates of the drawing object registered in the management list. That is, when the circumscribed rectangle of the attention drawing object and the circumscribed rectangle of the drawing object registered in the management list overlap, it is determined that the attention drawing object and the registered drawing object also overlap. Depending on the shape of the drawing object, even if the extrinsic rectangles of the drawing objects overlap, it cannot be said that the drawing objects overlap each other, but considering the calculation cost, the extrinsic rectangle coordinates are used for the overlap determination. It makes sense to use it. If the result of the determination in step S704 is true, the process proceeds to step S706, while if the result of the determination is false, the process proceeds to step S705.

管理リスト内に注目描画オブジェクトと重なる描画オブジェクトが無いと判定された場合(ステップ704でNOの場合)、透過オブジェクトである注目描画オブジェクトの背景側に他の描画オブジェクトは存在しない。この場合、ステップS705において、画像処理部162は、注目描画オブジェクトと白色背景とのアルファブレンディング処理、つまり、注目描画オブジェクトの各画素と背景の白画素とを合成する処理を実行する。以下、透過オブジェクトと白色背景とのアルファブレンディング処理を「ホワイトブレンディング処理」と呼ぶ。本ステップにおけるホワイトブレンディング処理により、注目描画オブジェクトは、アルファチャンネルを色情報として持たない描画オブジェクトに変換されるため、描画オブジェクトが持つ色情報のチャンネル数は4から3に減る。ここで、アルファブレンディング処理によって得られる3チャンネルの色情報を持つ合成画像におけるRGBの画素値は、次の式(1)により表現される。
合成画像の画素値(R,G,B)=前景画像の画素値(R,G,B)×(100[%]−前景画像の透過率[%])+背景の画素値(R,G,B)×前景画像の透過率[%]・・・式(1)
例として、本実施例における透過イメージオブジェクト601に対してホワイトブレンディング処理を実行する場合を検討する。前景となる透過イメージオブジェクト601は、上述したように、完全不透過(透過率0%)の黒画素と、完全透過(透過率100%)の白画素とのみから構成される。ここで透過イメージオブジェクト601の黒画素の画素値(R,G,B,A)を(0,0,0,0)と、白画素の画素値(R,G,B,A)を(255,255,255,100)と表し、背景の画素値(R,G,B)を(255,255,255)と表す。この場合、式(1)により、合成画像の黒画素の画素値(R,G,B)は、(0,0,0)となり、合成画像の白画素の画素値(R,G,B)は、(255,255,255)となる。このように、透過イメージオブジェクトにおける透過率0%の黒画素の画素値(4チャンネル)、および、透過率100%の白画素の画素値(4チャンネル)は夫々、3チャンネルの画素値に変換される。
When it is determined that there is no drawing object overlapping the attention drawing object in the management list (NO in step 704), there is no other drawing object on the background side of the attention drawing object which is a transparent object. In this case, in step S705, the image processing unit 162 executes an alpha blending process of the attention drawing object and the white background, that is, a process of synthesizing each pixel of the attention drawing object and the white pixel of the background. Hereinafter, the alpha blending process of the transparent object and the white background is referred to as "white blending process". By the white blending process in this step, the drawing object of interest is converted into a drawing object that does not have an alpha channel as color information, so that the number of color information channels of the drawing object is reduced from 4 to 3. Here, the RGB pixel values in the composite image having the color information of 3 channels obtained by the alpha blending process are expressed by the following equation (1).
Pixel value of composite image (R, G, B) = Pixel value of foreground image (R, G, B) x (100 [%] -Transmittance of foreground image [%]) + Pixel value of background (R, G) , B) × Transmittance of foreground image [%] ・ ・ ・ Equation (1)
As an example, consider the case where the white blending process is executed on the transparent image object 601 in this embodiment. As described above, the transparent image object 601 as the foreground is composed only of black pixels that are completely opaque (transmittance 0%) and white pixels that are completely transparent (transmittance 100%). Here, the pixel value (R, G, B, A) of the black pixel of the transparent image object 601 is set to (0,0,0,0), and the pixel value (R, G, B, A) of the white pixel is set to (255). , 255,255,100), and the background pixel values (R, G, B) are expressed as (255,255,255). In this case, according to the equation (1), the pixel value (R, G, B) of the black pixel of the composite image becomes (0,0,0), and the pixel value (R, G, B) of the white pixel of the composite image. Is (255,255,255). In this way, the pixel value of the black pixel with 0% transmittance (4 channels) and the pixel value of the white pixel with 100% transmittance (4 channels) in the transparent image object are converted into the pixel values of 3 channels, respectively. To.

一方、管理リスト内に注目描画オブジェクトと重なる描画オブジェクトがあると判定された場合(ステップ704でYESの場合)、透過オブジェクトである注目描画オブジェクトの背景側に、別の描画オブジェクトが存在している。この場合、ホワイトブレンディング処理は実行されない。例えば、注目描画オブジェクトが透過イメージオブジェクト608の場合は、透過イメージオブジェクト608の背景側に図形オブジェクト607が存在するため、このケースに該当する。 On the other hand, when it is determined that there is a drawing object that overlaps with the attention drawing object in the management list (YES in step 704), another drawing object exists on the background side of the attention drawing object which is a transparent object. .. In this case, the white blending process is not executed. For example, when the drawing object of interest is the transparent image object 608, this case is applicable because the graphic object 607 exists on the background side of the transparent image object 608.

ステップS706において、画像処理部162は、注目描画オブジェクトを管理リストに追加する。具体的には、注目描画オブジェクトの識別子および外接矩形座標が管理リストに新たに記述される。これにより、注目描画オブジェクトは管理されるようになる。 In step S706, the image processing unit 162 adds the drawing object of interest to the management list. Specifically, the identifier of the drawing object of interest and the circumscribing rectangular coordinates are newly described in the management list. As a result, the drawing object of interest is managed.

ステップS707において、画像処理部162は、注目描画オブジェクトの描画データをPDLデータ作成部163に出力する。次いで、ステップS701に戻る。 In step S707, the image processing unit 162 outputs the drawing data of the drawing object of interest to the PDL data creating unit 163. Then, the process returns to step S701.

以上が、本実施例におけるホワイトブレンディング処理を伴う画像処理である。なお、図7の処理は、印刷ページごとに実行される。PDLデータ作成部163は、画像処理部162から順次出力されてくる各描画オブジェクトに対応する描画データに基づきPDLデータを作成する。 The above is the image processing accompanied by the white blending process in this embodiment. The process of FIG. 7 is executed for each print page. The PDL data creation unit 163 creates PDL data based on the drawing data corresponding to each drawing object sequentially output from the image processing unit 162.

本実施例における画像処理部162の処理により、他の描画オブジェクトと重ならない透過オブジェクトは、アルファチャンネル無しの描画オブジェクトに変換されるので、PDLデータ作成部163に渡る透過オブジェクトの総数は減ることとなる。したがって、PDLデータ作成部163で作成されるPDLデータにおいても透過オブジェクトの総数は減るので、該PDLデータをプリンター20で処理する際のプリンター20の処理負荷やメモリ使用量を減らすことができる。 By the processing of the image processing unit 162 in this embodiment, the transparent objects that do not overlap with other drawing objects are converted into drawing objects without an alpha channel, so that the total number of transparent objects in the PDL data creation unit 163 is reduced. Become. Therefore, since the total number of transparent objects is also reduced in the PDL data created by the PDL data creation unit 163, the processing load and memory usage of the printer 20 when the PDL data is processed by the printer 20 can be reduced.

以上、透過オブジェクトの背景側(後ろ)に他の描画オブジェクトがない場合に、該透過オブジェクトの描画データを、アルファチャンネルなしの描画オブジェクトの描画データに変換する処理について説明した。 The process of converting the drawing data of the transparent object into the drawing data of the drawing object without the alpha channel has been described above when there is no other drawing object on the background side (behind) of the transparent object.

なお、上述の説明では、前景となる透過オブジェクトは透過画像を描画する透過イメージオブジェクトとしている。しかし本実施例はアルファチャンネルを色情報として持つ他の透過オブジェクトに対しても適用可能であり、例えばベクターデータで形状が記述された図形や文字の透過オブジェクトに対しても適用可能である。 In the above description, the transparent object that is the foreground is a transparent image object that draws a transparent image. However, this embodiment is also applicable to other transparent objects having an alpha channel as color information, and is also applicable to, for example, transparent objects of figures and characters whose shapes are described by vector data.

また、上述の説明では、V4プリンタードライバーを用いてXPS形式の描画データに基づきPDLデータを作成する場合について説明しているが、本実施例は、V4プリンタードライバー以外にV3プリンタードライバーにも適用可能である。具体的には、GDIアプリケーションがV3プリンタードライバーに4チャンネル(RGBA)のオブジェクトの描画命令を出力する場合も考えられ、このような場合に本実施例を適用可能である。 Further, in the above description, a case where PDL data is created based on XPS format drawing data using a V4 printer driver is described, but this embodiment can be applied to a V3 printer driver in addition to the V4 printer driver. Is. Specifically, it is conceivable that the GDI application outputs a drawing command for a 4-channel (RGBA) object to the V3 printer driver, and this embodiment can be applied in such a case.

[実施例2]
実施例1では、図6(b)に示したように、前景となる各透過オブジェクトの領域は印刷ページの一部分のみを占め、印刷ページに比べて各透過オブジェクトの面積が小さい。しかし、前景となる透過オブジェクトの領域が印刷ページの大部分を占める(透過オブジェクトの面積が大きい)ケースも想定される。図8は、このようなケースの一例を示す図である。
[Example 2]
In the first embodiment, as shown in FIG. 6B, the area of each transparent object as the foreground occupies only a part of the print page, and the area of each transparent object is smaller than that of the print page. However, there may be cases where the transparent object area in the foreground occupies most of the printed page (the area of the transparent object is large). FIG. 8 is a diagram showing an example of such a case.

図中の符号801、802はそれぞれ図形オブジェクトを示し、符号803は透過イメージオブジェクトを示す。つまりページデータ80は、グラフを描画する図形オブジェクト801と、色付き図形を描画する図形オブジェクト802と、透過イメージオブジェクト803とから構成されている。図示するように、背景に図形オブジェクト801および図形オブジェクト802が配置され、その上に覆いかぶさるようにページ全面とほぼ同じ面積の透過イメージオブジェクト803が配置される。図8に示すページデータに実施例1を適用した場合、透過イメージオブジェクト803の背景側に他の描画オブジェクトが存在するため、透過イメージオブジェクト803に対するホワイトブレンディングを適用できない。そこで本実施例では、透過イメージオブジェクトを微細領域に分割し、該分割した微細領域ごとにホワイトブレンディング処理の実行の可否を判定し、実行可能と判定された微細領域においてはホワイトブレンディング処理を実行する。なお、以下の説明では、実施例1と同一の内容については、説明を省略する。 Reference numerals 801 and 802 in the drawing indicate graphic objects, and reference numeral 803 indicates a transparent image object. That is, the page data 80 is composed of a graphic object 801 for drawing a graph, a graphic object 802 for drawing a colored figure, and a transparent image object 803. As shown in the figure, the graphic object 801 and the graphic object 802 are arranged in the background, and the transparent image object 803 having an area substantially the same as the entire page is arranged so as to cover the graphic object 801 and the graphic object 802. When Example 1 is applied to the page data shown in FIG. 8, white blending cannot be applied to the transparent image object 803 because another drawing object exists on the background side of the transparent image object 803. Therefore, in this embodiment, the transparent image object is divided into fine regions, it is determined whether or not the white blending process can be executed for each of the divided fine regions, and the white blending process is executed in the fine regions determined to be feasible. .. In the following description, the same contents as in the first embodiment will be omitted.

図9は、ブロック化されたページデータの模式図である。本実施例におけるブロック化処理とは、例えば透過イメージオブジェクトを256×256ピクセル等の微細領域(ブロック)に分割する処理のことをいう。このように本実施例は、ブロック化処理を実行する点で実施例1と相違する。 FIG. 9 is a schematic diagram of blocked page data. The blocking process in this embodiment refers to a process of dividing a transparent image object into fine regions (blocks) such as 256 × 256 pixels. As described above, this embodiment is different from the first embodiment in that the blocking process is executed.

<ブロックブレンディング処理、ブロックROP化処理について>
図10は、本実施例における処理の流れを示すフローチャートである。
<About block blending processing and block RAP processing>
FIG. 10 is a flowchart showing the flow of processing in this embodiment.

ステップS1001において、画像処理部162は、XPSデータ解析部151から入力された描画データに対応する描画オブジェクトのうちに、未処理の描画オブジェクトがあるかを判定する。ステップS1001の判定の結果が真の場合、ステップS1002に進む一方、該判定の結果が偽の場合、一連の処理は終了する。 In step S1001, the image processing unit 162 determines whether or not there is an unprocessed drawing object among the drawing objects corresponding to the drawing data input from the XPS data analysis unit 151. If the result of the determination in step S1001 is true, the process proceeds to step S1002, while if the result of the determination is false, the series of processes ends.

ステップS1002において、画像処理部162は、注目描画オブジェクトの情報を取得する。 In step S1002, the image processing unit 162 acquires the information of the drawing object of interest.

ステップS1003において、画像処理部162は、注目描画オブジェクトが透過オブジェクトであるかを判定する。ステップS1003の判定の結果が真の場合、ステップS1004に進む一方、該判定の結果が偽の場合、ステップS1016に進む。 In step S1003, the image processing unit 162 determines whether the drawing object of interest is a transparent object. If the result of the determination in step S1003 is true, the process proceeds to step S1004, while if the result of the determination is false, the process proceeds to step S1016.

ステップS1004において、画像処理部162は、管理リストを検索し、管理リスト内に注目描画オブジェクトと重なる描画オブジェクトがあるかを判定する。ステップS1004の判定の結果が真の場合、ステップS1006に進む一方、該判定の結果が偽の場合、ステップS1005に進む。 In step S1004, the image processing unit 162 searches the management list and determines whether or not there is a drawing object in the management list that overlaps with the drawing object of interest. If the result of the determination in step S1004 is true, the process proceeds to step S1006, while if the result of the determination is false, the process proceeds to step S1005.

ステップS1005において、画像処理部162は、注目描画オブジェクトと白色背景との合成処理(ホワイトブレンディング処理)を実行する。このようにステップS1001〜S1005の処理は、図7に示したステップS701〜ステップ705の処理と同様である。 In step S1005, the image processing unit 162 executes a compositing process (white blending process) of the drawing object of interest and the white background. As described above, the processing of steps S1001 to S1005 is the same as the processing of steps S701 to 705 shown in FIG.

ステップS1006において、画像処理部162は、注目描画オブジェクトを微細領域に分割するブロック化処理を実行する。ブロック化処理の例は、図9に示した通りである。 In step S1006, the image processing unit 162 executes a blocking process for dividing the drawing object of interest into fine regions. An example of the blocking process is as shown in FIG.

ステップS1007において、画像処理部162は、未処理のブロックがあるかを判定する。ステップS1007の判定の結果が真の場合、ステップS1008に進む一方、該判定の結果が偽の場合、ステップS1001に戻る。 In step S1007, the image processing unit 162 determines whether or not there is an unprocessed block. If the result of the determination in step S1007 is true, the process proceeds to step S1008, while if the result of the determination is false, the process returns to step S1001.

ステップS1008において、画像処理部162は、未処理のブロックの1つを取得し(以下、「注目ブロック」と呼ぶ。)、注目ブロックに対するアルファトリミング処理を実行する。アルファトリミング処理とは、透過率が100%の画素だけで構成される領域を注目ブロックから切り取って、透過率が100%ではない画素を含む矩形領域を切り抜く処理である。図11に、アルファトリミング処理の例としてブロック1110に対するアルファトリミング処理を示す。図示するように、ブロック1110では文字の画像が右上に配置されており、文字の画像が配置されていない左側と下側の領域1111は透過率100%の白画素のみで構成されている。アルファトリミング処理では、ブロック1110の上下左右の各辺から1ラインずつ走査することで、透過率が100%ではない画素を含む矩形領域1112を特定し切り抜く。この矩形領域は、面積が最小となるように特定される。以下、注目ブロックから切り抜かれた矩形領域の画像を、「トリムドブロック」と呼ぶ。トリムドブロックは透過オブジェクトの一部である。なお、本ステップによりトリムドブロックの情報(各点の座標、大きさなど)も取得される。 In step S1008, the image processing unit 162 acquires one of the unprocessed blocks (hereinafter, referred to as “attention block”), and executes alpha trimming processing on the attention block. The alpha trimming process is a process of cutting out a region composed of only pixels having a transmittance of 100% from a block of interest and cutting out a rectangular region including pixels having a transmittance of not 100%. FIG. 11 shows an alpha trimming process for the block 1110 as an example of the alpha trimming process. As shown in the figure, in the block 1110, the character image is arranged in the upper right, and the left and lower regions 1111 in which the character image is not arranged are composed of only white pixels having a transmittance of 100%. In the alpha trimming process, a rectangular region 1112 including pixels whose transmittance is not 100% is specified and cut out by scanning one line from each of the top, bottom, left, and right sides of the block 1110. This rectangular area is specified to have the smallest area. Hereinafter, the image of the rectangular area cut out from the block of interest is referred to as a "trimmed block". Trimmed blocks are part of transparent objects. In addition, the trimmed block information (coordinates, size, etc. of each point) is also acquired by this step.

ステップS1009において、画像処理部162は、トリムドブロックの面積がゼロより大きいかを判定する。ステップS1009の判定の結果が真の場合、ステップS1010に進む一方、該判定の結果が偽の場合、次のブロックを処理するためにステップS1007に戻る。 In step S1009, the image processing unit 162 determines whether the area of the trimmed block is larger than zero. If the result of the determination in step S1009 is true, the process proceeds to step S1010, while if the result of the determination is false, the process returns to step S1007 to process the next block.

ステップS1010において、画像処理部162は、管理リストを検索し、管理リスト内にトリムドブロックと重なる描画オブジェクトがあるかを判定する。ステップS1010の判定の結果が偽の場合、ステップS1011に進む一方、該判定の結果が真の場合、ステップS1012に進む。 In step S1010, the image processing unit 162 searches the management list and determines whether there is a drawing object overlapping the trimmed block in the management list. If the result of the determination in step S1010 is false, the process proceeds to step S1011. If the result of the determination is true, the process proceeds to step S1012.

ステップS1011において、画像処理部162は、トリムドブロックに対するホワイトブレンディング処理を実行する。以下、トリムドブロックに対するホワイトブレンディング処理を、「ブロックブレンディング処理」と呼ぶ。 In step S1011, the image processing unit 162 executes a white blending process on the trimmed block. Hereinafter, the white blending process for the trimmed block is referred to as "block blending process".

ステップS1012において、画像処理部162は、トリムドブロックを構成する画素について、完全透過な(透過率100%)画素と完全不透過な(透過率0%)画素とを除く画素を含んでいないかを判定する。ステップS1012の判定の結果が真の場合、ステップS1013に進む一方、該判定の結果が偽の場合、ステップS1014に進む。 In step S1012, does the image processing unit 162 include pixels other than completely transparent (transmittance 100%) pixels and completely opaque (transmittance 0%) pixels in the pixels constituting the trimmed block? To judge. If the result of the determination in step S1012 is true, the process proceeds to step S1013, while if the result of the determination is false, the process proceeds to step S1014.

ステップS1013において、画像処理部162は、トリムドブロックに対するブロックROP(ラスタオペレーション)化処理を実行する。ここで、ブロックROP化処理について図11を用いて説明する。図11に、ブロックROP化処理の例としてブロック1120に対するブロックROP化処理を示す。ブロック1120にアルファトリミング処理を施したトリムドブロック1121は、背景側に色付き図形を描画する図形オブジェクトが存在するためブロックブレンディングを適用できない。ただし、トリムドブロック1121を構成する画素のアルファチャンネルの値は全て、これまで見てきた例と同様に完全透過を示す値(透過率100%)と、完全不透過を示す値(透過率0%)と、の何れかである。このようなトリムドブロック(4チャンネルの透過イメージオブジェクトの一部)の描画命令は、アルファチャンネルを含まない3チャンネルのRGB画像1122と、補助データとなるマスク画像1123とを合成して描画するROP描画命令に置換可能である。すなわち、透過率100%の画素の位置に背景を使用するマスク値0、透過率0%の位置に前景を使用するマスク値1を指定したマスク画像を作成することによって、元の透過イメージオブジェクトに基づく印刷結果と同じ印刷結果を得ることができるようになる。ブロックROP化処理によって作成される3チャンネルのRGB画像は、4チャンネルのRGBA画像よりも圧縮効率が良いため、プリンター20におけるメモリ使用量を削減できる。また、ROP描画命令は、4チャンネルのトリムドブロックの描画命令よりも高速に処理できるため、高速な印刷処理を実現できる。 In step S1013, the image processing unit 162 executes the block ROP (raster operation) processing on the trimmed block. Here, the block ROP processing will be described with reference to FIG. FIG. 11 shows a block ROP conversion process for the block 1120 as an example of the block ROP conversion process. Block blending cannot be applied to the trimmed block 1121 in which the block 1120 is subjected to the alpha trimming process because there is a graphic object that draws a colored graphic on the background side. However, all the alpha channel values of the pixels constituting the trimmed block 1121 are a value indicating complete transparency (transmittance 100%) and a value indicating complete opacity (transmittance 0) as in the examples seen so far. %) And either. Such a trimmed block (a part of a 4-channel transparent image object) drawing command is a ROP that combines and draws a 3-channel RGB image 1122 that does not include an alpha channel and a mask image 1123 that serves as auxiliary data. It can be replaced with a drawing command. That is, by creating a mask image in which the mask value 0 that uses the background is specified at the position of the pixel having the transmittance of 100% and the mask value 1 that uses the foreground is specified at the position of the transmittance of 0%, the original transparent image object is created. It becomes possible to obtain the same print result as the print result based on. Since the 3-channel RGB image created by the block ROP processing has better compression efficiency than the 4-channel RGBA image, the memory usage in the printer 20 can be reduced. Further, since the ROP drawing command can be processed at a higher speed than the drawing command of the trimmed block of 4 channels, high-speed printing processing can be realized.

ステップS1014において、画像処理部162は、トリムドブロックを管理リストに追加(トリムドブロックの識別子と外接矩形座標とを管理リストに記載)する。 In step S1014, the image processing unit 162 adds the trimmed block to the management list (the identifier of the trimmed block and the circumscribing rectangular coordinates are described in the management list).

ステップS1015において、画像処理部162は、トリムドブロックの描画データをPDLデータ作成部163に出力する。次いで、ステップS1007に戻り、未処理のブロックがなくなるまで、ステップS1007〜ステップS1015の処理を繰り返す。 In step S1015, the image processing unit 162 outputs the drawing data of the trimmed block to the PDL data creation unit 163. Then, the process returns to step S1007, and the processes of steps S1007 to S1015 are repeated until there are no unprocessed blocks.

ステップS1016において、画像処理部162は、注目描画オブジェクトを管理リストに追加する。ステップS1017において、画像処理部162は、注目描画オブジェクトの描画データをPDLデータ作成部163に出力する。次いで、ステップS1001に戻る。ステップS1016〜S1017の処理は、図7に示したステップS706〜ステップ707の処理と同様である。 In step S1016, the image processing unit 162 adds the drawing object of interest to the management list. In step S1017, the image processing unit 162 outputs the drawing data of the drawing object of interest to the PDL data creating unit 163. Then, the process returns to step S1001. The processing of steps S1016 to S1017 is the same as the processing of steps S706 to 707 shown in FIG.

以上が、本実施例におけるブロックブレンディング処理、ブロックROP化処理を伴う画像処理である。本実施例により、面積が大きく他の描画オブジェクトと重なる透過オブジェクトを有するページデータに対するレンダリング処理を実行する場合に、アルファブレンディング処理で使用するメモリ使用量を削減し、高速な印刷処理を実現することが可能となる。 The above is the image processing accompanied by the block blending process and the block ROP process in this embodiment. According to this embodiment, when the rendering process for page data having a transparent object having a large area and overlapping with other drawing objects is executed, the memory usage used in the alpha blending process is reduced and high-speed printing process is realized. Is possible.

[実施例3]
実施例2では、トリムドブロックが完全不透過な黒画素のみで構成される場合、トリムドブロックに対するブロックROP化処理が実行される(ステップS1012でYES→ステップS1013)。このブロックROP化処理により、RGBA4チャンネルのトリムドブロックの描画命令は、3チャンネルのRGB画像とマスク画像とを合成して描画するROP描画命令に変換される。しかし、このような完全不透過な黒画素のみで構成されるトリムドブロックの描画命令については、ROP描画命令に変換するよりも3チャンネルのRGB画像の描画命令に変換した方が、プリンター20でRIP処理する際の効率が良い。
[Example 3]
In the second embodiment, when the trimmed block is composed of only completely opaque black pixels, the block RAP processing for the trimmed block is executed (YES in step S1012 → step S1013). By this block ROP processing, the drawing command of the trimmed block of the RGBA 4 channel is converted into the ROP drawing command of combining the RGB image of the 3 channels and the mask image and drawing. However, regarding the drawing command of the trimmed block composed of only completely opaque black pixels, it is better to convert it into a drawing command of a 3-channel RGB image than to convert it into a ROP drawing command in the printer 20. Efficient in RIP processing.

図12(a)は本実施例を適用する印刷ページのページデータを示す図であり、ページデータ1200は、図形オブジェクト1201と、この上に配置される透過イメージオブジェクト1202と、から構成される。図示するように、透過イメージオブジェクト1202は、不透明から徐々に透明になるグラデーション画像である。グラデーション画像では、各画素のアルファチャンネルの値は徐々に変化する。 FIG. 12A is a diagram showing page data of a print page to which this embodiment is applied, and the page data 1200 is composed of a graphic object 1201 and a transparent image object 1202 arranged on the graphic object 1201. As shown, the transparent image object 1202 is a gradation image that gradually becomes transparent from opaque. In the gradation image, the value of the alpha channel of each pixel changes gradually.

図12(a)に示すページデータに実施例2を適用すると、透過イメージオブジェクト1202の背景側(後ろ)に図形オブジェクト1201がある為、透過イメージオブジェクト1202に対してホワイトブレンディング処理ではなくブロック化処理が実行される。図12(b)はブロック化されたページデータの模式図である。ブロック化処理後、図形オブジェクト1201と重ならない領域にあるブロックに対して、ブロックブレンディング処理が実行される。一方、図形オブジェクト1201と重なる領域1203にあるブロックに対しては、ブロックブレンディング処理は実行されない。ここで、領域1203について、この領域では透明度の階調変化が見られず、この領域にある全てのブロックは、完全不透過(透過率0%)な画素のみで構成されるものとする。この場合、実施例2では、領域1203にあるブロックに対して、ブロックブレンディング処理ではなくブロックROP化処理を実行した。本実施例では、このような完全不透過な画素のみで構成されるブロックの描画命令は、ROP描画命令ではなく、より高速な処理が可能な3チャンネルのRGB画像の描画命令に変換する。この変換は、4チャンネルのRGBAブロックから3チャンネルのRGBブロックへの変換と同義であり、この処理を「ブロックRGB化処理」と呼ぶ。 When Example 2 is applied to the page data shown in FIG. 12A, since the graphic object 1201 is on the background side (behind) of the transparent image object 1202, the transparent image object 1202 is blocked instead of white blending. Is executed. FIG. 12B is a schematic diagram of blocked page data. After the blocking process, the block blending process is executed for the blocks in the area that does not overlap with the graphic object 1201. On the other hand, the block blending process is not executed for the block in the area 1203 that overlaps with the graphic object 1201. Here, with respect to the region 1203, no gradation change in transparency is observed in this region, and it is assumed that all the blocks in this region are composed of only pixels that are completely opaque (transmittance 0%). In this case, in the second embodiment, the block ROP processing was executed instead of the block blending processing on the block in the area 1203. In this embodiment, the drawing command of the block composed of only completely opaque pixels is converted into a drawing command of a 3-channel RGB image capable of higher-speed processing instead of a ROP drawing command. This conversion is synonymous with the conversion from a 4-channel RGBA block to a 3-channel RGB block, and this process is called a "block RGB conversion process".

<ブロックRGB化処理について>
図13は、本実施例における処理の流れを示すフローチャートである。ただし、図13では、実施例2のフローに追加された処理を抜粋して示している。
<About block RGB processing>
FIG. 13 is a flowchart showing the flow of processing in this embodiment. However, FIG. 13 shows an excerpt of the process added to the flow of the second embodiment.

図示するように本実施例では、ステップS1010でYESと判定されると、ステップS1301に進む。ステップS1301において、画像処理部162は、トリムドブロックが完全不透過(透過率0%)な画素のみで構成されているかを判定する。本ステップでは、4チャンネルの透過イメージオブジェクトの一部であるトリムドブロックの描画命令を、ROP描画命令ではなく3チャンネルのRGB画像の描画命令に変換可能かを判定している。ステップS1301の判定の結果が真の場合、ステップS1302に進む一方、該判定の結果が偽の場合、ステップS1012に進む。 As shown in the figure, in this embodiment, if YES is determined in step S1010, the process proceeds to step S1301. In step S1301, the image processing unit 162 determines whether the trimmed block is composed of only pixels that are completely opaque (transmittance 0%). In this step, it is determined whether the drawing command of the trimmed block, which is a part of the transparent image object of 4 channels, can be converted into the drawing command of the RGB image of 3 channels instead of the ROP drawing command. If the result of the determination in step S1301 is true, the process proceeds to step S1302, while if the result of the determination is false, the process proceeds to step S1012.

ステップS1302において、画像処理部162は、トリムドブロックの色情報からアルファチャンネルを削除することで、4チャンネルの透過イメージオブジェクトの一部であるトリムドブロックを、3チャンネルのイメージオブジェクトに変換する。この変換処理は、上述のブロックRGB化処理である。次いで、ステップS1014に進む。 In step S1302, the image processing unit 162 converts the trimmed block, which is a part of the 4-channel transparent image object, into the 3-channel image object by deleting the alpha channel from the color information of the trimmed block. This conversion process is the block RGB conversion process described above. Then, the process proceeds to step S1014.

以上が、本実施例におけるブロックRGB化処理を伴う画像処理である。 The above is the image processing accompanied by the block RGB conversion processing in this embodiment.

[実施例4]
実施例1では、印刷ページのページデータ内に存在する全ての描画オブジェクトに対し、ホワイトブレンディング処理を実行するか否かを判定し、該判定の結果に応じてホワイトブレンディング処理を実行する場合について説明した。上述の通り、ある注目描画オブジェクトに対してホワイトブレンディング処理を実行するにあたって、管理リストに登録されている全ての描画オブジェクトとの重なり判定処理が実行される(ステップS704)。よって、ページデータ内に多数の描画オブジェクトが存在する場合、管理リストに登録される描画オブジェクト数が多くなるため、重なり判定処理に多大な時間がかかってしまう虞がある。本実施例では、オブジェクト数に応じて(具体的には管理リストに登録されたオブジェクト数が所定の閾値以上の場合)、ホワイトブレンディング処理を実行しないように制御する。
[Example 4]
In the first embodiment, a case where it is determined whether or not to execute the white blending process for all the drawing objects existing in the page data of the print page and the white blending process is executed according to the result of the determination will be described. did. As described above, when the white blending process is executed for a certain drawing object of interest, the overlap determination process with all the drawing objects registered in the management list is executed (step S704). Therefore, when a large number of drawing objects exist in the page data, the number of drawing objects registered in the management list increases, so that the overlap determination process may take a long time. In this embodiment, the white blending process is controlled so as not to be executed according to the number of objects (specifically, when the number of objects registered in the management list is equal to or greater than a predetermined threshold value).

図15は、ページデータ内に存在する描画オブジェクト数Oの変化に伴い印刷時間tがどう推移するかを示すグラフである。ここで、印刷時間tとは、V4プリンタードライバー13における処理時間とプリンター20における処理時間とを合わせた時間とする。図中の符号1501は、ホワイトブレンディング処理を全く行わずに印刷処理を行った場合の、ページデータ内の描画オブジェクト数と印刷時間との関係を示す。また、符号1502は、全ての描画オブジェクトに対してホワイトブレンディング処理を行った場合の、ページデータ内の描画オブジェクト数と印刷時間との関係を示す。図15に示す例では、描画オブジェクト数Oが閾値o_thより小さい場合、印刷時間は、ホワイトブレンディング処理を行わないより行った方が短くなる。また、描画オブジェクト数Oが閾値o_thより大きい場合、印刷時間は、ホワイトブレンディング処理を行うより行わない方が短くなる。 FIG. 15 is a graph showing how the print time t changes as the number of drawing objects O existing in the page data changes. Here, the printing time t is the total time of the processing time of the V4 printer driver 13 and the processing time of the printer 20. Reference numeral 1501 in the figure indicates the relationship between the number of drawing objects in the page data and the printing time when the printing process is performed without performing the white blending process at all. Further, reference numeral 1502 indicates the relationship between the number of drawing objects in the page data and the printing time when the white blending process is performed on all the drawing objects. In the example shown in FIG. 15, when the number of drawing objects O is smaller than the threshold value o_th, the printing time is shorter when the white blending process is performed than when the white blending process is not performed. Further, when the number of drawing objects O is larger than the threshold value o_th, the printing time is shorter when the white blending process is not performed than when the white blending process is performed.

さらに、図16(a)にO=o1の場合の、図16(b)にO=o2の場合の、V4プリンタードライバー13とプリンター20とによる印刷時間の内訳イメージグラフを示す。 Further, FIG. 16A shows a breakdown image graph of the printing time by the V4 printer driver 13 and the printer 20 when O = o1 and FIG. 16B shows O = o2.

まずO=o1の場合(図16(a))について検討する。この場合、ホワイトブレンディング処理を実行した場合の印刷時間(V4プリンタードライバーの処理時間とプリンターの処理時間との合計)は、ホワイトブレンディング処理を実行しない場合の印刷時間(プリンターのみの処理時間)より短い。よって、O=o1の場合は、ホワイトブレンディング処理を実行しないよりも該処理を実行した方が、印刷時間は短くてすむ。 First, the case of O = o1 (FIG. 16A) will be examined. In this case, the printing time when the white blending process is executed (the total of the processing time of the V4 printer driver and the processing time of the printer) is shorter than the printing time when the white blending process is not executed (the processing time of the printer only). .. Therefore, in the case of O = o1, the printing time can be shorter when the white blending process is executed than when the white blending process is not executed.

次に、O=o2の場合(図16(b))について検討する。この場合、ホワイトブレンディング処理を実行した場合の印刷時間(V4プリンタードライバーの処理時間とプリンターの処理時間との合計)は、ホワイトブレンディング処理を実行しない場合の印刷時間(プリンターのみの処理時間)より長くなってしまう。これは、重なり判定処理に多大な時間がかかってしまうためである。よって、O=o2の場合は、ホワイトブレンディング処理を実行するよりも該処理を実行しない方が、印刷時間は短くてすむ。 Next, the case of O = o2 (FIG. 16 (b)) will be examined. In this case, the printing time when the white blending process is executed (the total of the processing time of the V4 printer driver and the processing time of the printer) is longer than the printing time when the white blending process is not executed (the processing time of the printer only). turn into. This is because the overlap determination process takes a lot of time. Therefore, in the case of O = o2, the printing time can be shorter when the white blending process is not executed than when the process is executed.

このように、重なり判定を行う描画オブジェクトの数によって、ホワイトブレンディング処理を実行するよりも実行しない方が、V4プリンタードライバーの処理時間とプリンターの処理時間との合計である印刷時間が短くなる場合がある。 In this way, depending on the number of drawing objects for which overlap judgment is performed, the printing time, which is the total of the processing time of the V4 printer driver and the processing time of the printer, may be shorter if the white blending process is not executed than if it is executed. is there.

以下、本実施例における、管理リストに登録された描画オブジェクトの数に応じてホワイトブレンディング処理を実行するか否かを判定する処理を含む一連の処理について、図14を用いて説明する。尚、図14は実施例1のフローチャート(図7)をベースに作成していることから、実施例1と同様の内容に関しては説明を適宜省略する。 Hereinafter, a series of processes including a process of determining whether or not to execute the white blending process according to the number of drawing objects registered in the management list in this embodiment will be described with reference to FIG. Since FIG. 14 is created based on the flowchart of the first embodiment (FIG. 7), description of the same contents as that of the first embodiment will be omitted as appropriate.

本実施例では、ステップS701において、未処理の描画オブジェクトがあると判定された場合(ステップS701でYESの場合)、ステップS1401に進む。 In this embodiment, if it is determined in step S701 that there is an unprocessed drawing object (YES in step S701), the process proceeds to step S1401.

ステップS1401において、画像処理部162は描画オブジェクト数判定手段として機能し、描画オブジェクト管理リスト長、つまり、既に管理リストに登録されている描画オブジェクトの数が、閾値未満かを判定する。ステップS1401の判定の結果が真の場合、実施例1と同様にステップS702に進み、以降ステップS702からS707まで実施例1と同様の処理を実行する。一方、ステップS1401の判定の結果が偽の場合、これ以上重なり判定を行う方が印刷時間を長引かせてしまうと判断し、ステップS1402に進む。そして、ステップS1402において、画像処理部162は、注目描画オブジェクトの描画データをそのままPDLデータ作成部163に送信する。また、注目描画オブジェクトを除く未処理の描画オブジェクトについても同様に、該描画オブジェクトの描画データをそのままPDLデータ作成部163に送信する。 In step S1401, the image processing unit 162 functions as a drawing object number determination means, and determines whether the drawing object management list length, that is, the number of drawing objects already registered in the management list is less than the threshold value. If the result of the determination in step S1401 is true, the process proceeds to step S702 in the same manner as in the first embodiment, and thereafter, the same processing as in the first embodiment is executed from steps S702 to S707. On the other hand, if the result of the determination in step S1401 is false, it is determined that further overlap determination will prolong the printing time, and the process proceeds to step S1402. Then, in step S1402, the image processing unit 162 transmits the drawing data of the drawing object of interest to the PDL data creation unit 163 as it is. Similarly, for the unprocessed drawing objects other than the drawing object of interest, the drawing data of the drawing object is transmitted to the PDL data creation unit 163 as it is.

このように、ページデータ内のオブジェクト数に応じて、重なり判定をやめることによって、印刷時間を短くすることができる。 In this way, the printing time can be shortened by stopping the overlap determination according to the number of objects in the page data.

なお、ステップS1401で用いる閾値として、上述した閾値o_thのようなホワイトブレンディング処理を実行する場合の印刷時間とホワイトブレンディング処理を実行しない場合の印刷時間との大小関係が逆転する描画オブジェクト数を導出する必要がある。かかる閾値の導出では、使用するプリンターやPC等のスペックと描画オブジェクト数との関係に基づき最適な値を算出すれば良い。また、ここでは、実施例1に適用する場合について説明したが、本実施例は実施例2および実施例3にも適用可能である。 As the threshold value used in step S1401, the number of drawing objects in which the magnitude relationship between the print time when the white blending process such as the threshold value o_th described above is executed and the print time when the white blending process is not executed is reversed is derived. There is a need. In deriving such a threshold value, an optimum value may be calculated based on the relationship between the specifications of the printer or PC to be used and the number of drawing objects. Further, although the case of applying to the first embodiment has been described here, the present embodiment can also be applied to the second and third embodiments.

[その他の実施例]
実施例1〜4では、PC10において、透過オブジェクトの一部の描画データを、アルファチャンネルのない描画オブジェクトの描画データに変換することにより、プリンター20における処理負荷を減らすように構成した。ただし、この透過オブジェクトの一部の描画データをアルファチャンネルのない描画オブジェクトの描画データに変換する処理を、PC10でなく、プリンター20でRIP処理を実行する前の前処理として実行するよう構成しても良い。このように構成することで、プリンター20におけるRIP処理時の負荷を減らすことができる。本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
[Other Examples]
In Examples 1 to 4, the PC 10 is configured to reduce the processing load on the printer 20 by converting a part of the drawing data of the transparent object into the drawing data of the drawing object having no alpha channel. However, the process of converting a part of the drawing data of the transparent object into the drawing data of the drawing object having no alpha channel is configured to be executed as a preprocessing before executing the RIP process on the printer 20 instead of the PC 10. Is also good. With this configuration, the load during RIP processing in the printer 20 can be reduced. The present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by the processing to be performed. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

10・・・PC
162・・・画像処理部
10 ... PC
162 ... Image processing unit

Claims (15)

ページデータを構成する描画オブジェクトが、色情報としてアルファチャンネルを持つ透過オブジェクトである場合に、前記透過オブジェクトが他の描画オブジェクトと重なるかを判定する重なり判定手段と、
前記透過オブジェクトが前記他の描画オブジェクトと重ならないと前記重なり判定手段により判定された場合、前記透過オブジェクトの描画データを、色情報としてアルファチャンネルを持たない描画オブジェクトの描画データに変換する変換手段と、
を有することを特徴とする情報処理装置。
When the drawing object constituting the page data is a transparent object having an alpha channel as color information, an overlap determination means for determining whether the transparent object overlaps with another drawing object, and
When it is determined by the overlap determination means that the transparent object does not overlap with the other drawing object, the conversion means for converting the drawing data of the transparent object into the drawing data of the drawing object having no alpha channel as color information. ,
An information processing device characterized by having.
前記変換手段で変換された前記透過オブジェクトの描画データと、前記変換手段で変換されなかった描画オブジェクトの描画データとに基づいて、画像形成装置に出力するためのPDLデータを生成する生成手段をさらに有することを特徴とする請求項1に記載の情報処理装置。 Further, a generation means for generating PDL data to be output to the image forming apparatus based on the drawing data of the transparent object converted by the conversion means and the drawing data of the drawing object not converted by the conversion means. The information processing apparatus according to claim 1, wherein the information processing apparatus has. 前記描画オブジェクトが、前記透過オブジェクトであるかを判定する判定手段をさらに有することを特徴とする請求項1又は2に記載の情報処理装置。 The information processing apparatus according to claim 1 or 2, further comprising a determination means for determining whether the drawing object is the transparent object. 前記変換手段は、前記透過オブジェクトと白色背景とのアルファブレンディング処理を実行することで、前記透過オブジェクトの描画データを、色情報としてアルファチャンネルを持たない描画オブジェクトの描画データに変換することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。 The conversion means is characterized in that by executing an alpha blending process between the transparent object and the white background, the drawing data of the transparent object is converted into drawing data of a drawing object having no alpha channel as color information. The information processing apparatus according to any one of claims 1 to 3. 前記ページデータを構成する描画オブジェクトの情報を保持するリストを記憶する記憶手段をさらに有し、
前記重なり判定手段は、前記リストを用いて、前記透過オブジェクトが前記他の描画オブジェクトと重なるかを判定することを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
Further having a storage means for storing a list holding information of drawing objects constituting the page data.
The information processing apparatus according to any one of claims 1 to 4, wherein the overlap determining means determines whether or not the transparent object overlaps with the other drawing object by using the list.
前記リストに保持される描画オブジェクトの情報は、前記ページデータを構成する描画オブジェクトの外接矩形座標の情報であり、
前記重なり判定手段は、前記透過オブジェクトの外接矩形座標と、前記リストに保持されている描画オブジェクトの外接矩形座標とに基づき、前記透過オブジェクトが前記他の描画オブジェクトと重なるかを判定することを特徴とする請求項5に記載の情報処理装置。
The information of the drawing object held in the list is the information of the circumscribing rectangular coordinates of the drawing object constituting the page data.
The overlap determining means is characterized in that it determines whether the transparent object overlaps with the other drawing object based on the circumscribing rectangular coordinates of the transparent object and the circumscribing rectangular coordinates of the drawing object held in the list. The information processing apparatus according to claim 5.
前記重なり判定手段が、前記透過オブジェクトは前記他の描画オブジェクトと重なると判定した場合、当該透過オブジェクトを複数のブロックに分割する手段と、
前記分割した複数のブロックのそれぞれについて、完全透過な画素のみで構成された領域を切り取ることで、完全透過ではない画素を含む最小の矩形領域であるトリムドブロックを切り抜く手段と、
前記トリムドブロックと白色背景とのアルファブレンディング処理であるブロックブレンディング処理を実行する手段と、
を有することを特徴とする請求項1乃至6の何れか1項に記載の情報処理装置。
When the overlap determination means determines that the transparent object overlaps with the other drawing object, the means for dividing the transparent object into a plurality of blocks and
A means for cutting out a trimmed block, which is the smallest rectangular area including pixels that are not completely transparent, by cutting out a region composed of only completely transparent pixels for each of the plurality of divided blocks.
A means for executing the block blending process, which is an alpha blending process between the trimmed block and the white background,
The information processing apparatus according to any one of claims 1 to 6, wherein the information processing apparatus has.
前記トリムドブロックが、完全透過な画素と完全不透過な画素とを除く画素を含まない場合、当該トリムドブロックの描画命令を、色情報としてアルファチャンネルを持たない画像とマスク画像とを合成して描画するROP描画命令に変換する手段をさらに有することを特徴とする請求項7に記載の情報処理装置。 When the trimmed block does not include pixels other than completely transparent pixels and completely opaque pixels, the drawing command of the trimmed block is used to combine an image having no alpha channel and a mask image as color information. The information processing apparatus according to claim 7, further comprising means for converting into a RAP drawing command for drawing. 前記マスク画像において、前記トリムドブロックの完全透過な画素に対応する位置のマスク値は、背景を使用することを示す値であり、前記トリムドブロックの完全不透過な画素に対応する位置のマスク値は、前景を使用することを示す値であることを特徴とする請求項8に記載の情報処理装置。 In the mask image, the mask value at the position corresponding to the completely transparent pixel of the trimmed block is a value indicating that the background is used, and the mask at the position corresponding to the completely opaque pixel of the trimmed block. The information processing apparatus according to claim 8, wherein the value is a value indicating that the foreground is used. 前記トリムドブロックが完全不透過な画素のみで構成される場合、当該トリムドブロックの色情報からアルファチャンネルを除去する手段をさらに有することを特徴とする請求項7乃至9の何れか1項に記載の情報処理装置。 The method according to any one of claims 7 to 9, wherein when the trimmed block is composed of only completely opaque pixels, the trimmed block further has a means for removing an alpha channel from the color information of the trimmed block. The information processing device described. 前記ページデータを構成する描画オブジェクトの数が閾値未満であるかを判定する描画オブジェクト数判定手段をさらに有し、
前記描画オブジェクト数判定手段で前記ページデータを構成する描画オブジェクトの数は前記閾値未満ではないと判定した場合、前記重なり判定手段による重なり判定処理、および、前記変換手段による変換処理は、実行されないことを特徴とする請求項1に記載の情報処理装置。
Further, it has a drawing object number determination means for determining whether the number of drawing objects constituting the page data is less than the threshold value.
When the number of drawing objects determining means determines that the number of drawing objects constituting the page data is not less than the threshold value, the overlap determination process by the overlap determination means and the conversion process by the conversion means are not executed. The information processing apparatus according to claim 1.
前記閾値は、前記情報処理装置のスペックと画像形成装置のスペックとに基づき導出されることを特徴とする請求項11に記載の情報処理装置。 The information processing apparatus according to claim 11, wherein the threshold value is derived based on the specifications of the information processing apparatus and the specifications of the image forming apparatus. ページデータを構成する描画オブジェクトが、色情報としてアルファチャンネルを持つ透過オブジェクトである場合に、前記透過オブジェクトが他の描画オブジェクトと重なるかを判定する重なり判定ステップと、
前記重なり判定ステップにおいて、前記透過オブジェクトが前記他の描画オブジェクトと重ならないと判定された場合、前記透過オブジェクトの描画データを、色情報としてアルファチャンネルを持たない描画オブジェクトの描画データに変換する変換ステップと、
を有することを特徴とする情報処理方法。
When the drawing object constituting the page data is a transparent object having an alpha channel as color information, an overlap determination step for determining whether the transparent object overlaps with another drawing object, and
When it is determined in the overlap determination step that the transparent object does not overlap with the other drawing object, the conversion step of converting the drawing data of the transparent object into the drawing data of the drawing object having no alpha channel as color information. When,
An information processing method characterized by having.
コンピュータを、請求項1乃至12の何れか1項に記載の情報処理装置の各手段として機能させるためのプログラム。 A program for causing a computer to function as each means of the information processing apparatus according to any one of claims 1 to 12. 請求項2に記載の情報処理装置の前記生成手段により生成されたPDLデータに基づいて画像を形成する画像形成装置。 An image forming apparatus that forms an image based on PDL data generated by the generation means of the information processing apparatus according to claim 2.
JP2017023210A 2016-07-29 2017-02-10 Information processing equipment, information processing methods, programs, and image forming equipment Active JP6786415B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/647,556 US10235612B2 (en) 2016-07-29 2017-07-12 Information processing apparatus, information processing method, storage medium, and image forming apparatus for converting drawing data of a transparent object that does not overlap another drawing object into drawing data of a drawing object that does not have an alpha channel as color information
CN201710628837.4A CN107665101B (en) 2016-07-29 2017-07-28 Information processing apparatus, information processing method, storage medium, and image forming apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016149593 2016-07-29
JP2016149593 2016-07-29

Publications (3)

Publication Number Publication Date
JP2018026093A JP2018026093A (en) 2018-02-15
JP2018026093A5 JP2018026093A5 (en) 2020-03-26
JP6786415B2 true JP6786415B2 (en) 2020-11-18

Family

ID=61193955

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017023210A Active JP6786415B2 (en) 2016-07-29 2017-02-10 Information processing equipment, information processing methods, programs, and image forming equipment

Country Status (1)

Country Link
JP (1) JP6786415B2 (en)

Also Published As

Publication number Publication date
JP2018026093A (en) 2018-02-15

Similar Documents

Publication Publication Date Title
CN107665101B (en) Information processing apparatus, information processing method, storage medium, and image forming apparatus
US10303409B2 (en) Information processing apparatus, information processing method, and storage medium
JP6938204B2 (en) Information processing equipment, programs
JP6385406B2 (en) Image processing apparatus, image processing method, and program
US9025189B2 (en) Memory management for print data objects
JP5370044B2 (en) Image processing apparatus, image forming apparatus, and program
JP5732935B2 (en) Information processing apparatus, print control program, and computer-readable recording medium
US9390689B2 (en) Need-below processing across z-band boundaries
JP6786415B2 (en) Information processing equipment, information processing methods, programs, and image forming equipment
US10593030B2 (en) Image forming apparatus capable of changing thickness of character, control method therefor, and storage medium storing control program therefor
JP2011175629A (en) System and method for rendering of printable data
JP2006244248A (en) Image processing device, image processing method, and program for executing image processing method
JP2016115963A (en) Image processing apparatus, image processing method and program
JP6218643B2 (en) Image processing apparatus, image processing method, and program
JP2019012952A (en) Information processing apparatus, information processing method, and program
JP5936363B2 (en) Image processing apparatus and image processing method
CN109218556B (en) Image processing apparatus, rendering processing method, and storage medium for performing rendering processing
US20190311234A1 (en) Information processing apparatus, method, and storage medium
JP2010220158A (en) Image processing apparatus and image processing program
JP6512763B2 (en) INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM
JP2009075805A (en) Image forming apparatus
JP3750363B2 (en) Drawing information processing apparatus and drawing information processing method
JP5840174B2 (en) Information processing apparatus, control method for the apparatus, and program
JP2022030549A (en) Information processing apparatus, information processing method, image forming apparatus, and program
JP2013030199A (en) Information processor and information processing method, and program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200206

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200206

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: 20200929

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200930

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201028

R151 Written notification of patent or utility model registration

Ref document number: 6786415

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151