JP2019074916A - Host device, system, method, and program - Google Patents

Host device, system, method, and program Download PDF

Info

Publication number
JP2019074916A
JP2019074916A JP2017200375A JP2017200375A JP2019074916A JP 2019074916 A JP2019074916 A JP 2019074916A JP 2017200375 A JP2017200375 A JP 2017200375A JP 2017200375 A JP2017200375 A JP 2017200375A JP 2019074916 A JP2019074916 A JP 2019074916A
Authority
JP
Japan
Prior art keywords
image
data
host device
rendering
object data
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
JP2017200375A
Other languages
Japanese (ja)
Inventor
浩二 長岡
Koji Nagaoka
浩二 長岡
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 JP2017200375A priority Critical patent/JP2019074916A/en
Publication of JP2019074916A publication Critical patent/JP2019074916A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

To prevent incorrect drawing due to bit precision down in an environment where it is necessary to cut down the bit precision of affine coefficients due to performance limitation on a rendering device.SOLUTION: A host device creates, based on PDL data, intermediate data necessary for creating a raster image with a rendering device. The host device comprises: detection means for detecting whether or not incorrect drawing with image object data occurs based on the image object data included in the PDL data, bit precision that can be processed by the host device, and bit precision that can be processed by the rendering device; conversion means for converting the image object data when the detection means detects the occurrence of the incorrect drawing; and creating means for creating the intermediate data on the basis of the converted image object data.SELECTED DRAWING: Figure 4

Description

本発明は、レンダリング処理の技術に関する。   The present invention relates to the technology of rendering processing.

レンダリング処理では、PDL(PageDescriptionLanguage)で記述された印刷データ(PDLデータとする)に基づき、ビットマップ形式の画像データ(ラスタ画像)が作成される。この際、PDLデータ中にどのような描画オブジェクトが含まれるか等の解析処理が行われ、その解析結果に基づきレンダリング処理の対象となる中間データが作成される。描画オブジェクトには、画像オブジェクト、線オブジェクト、塗りオブジェクト、グラデーションオブジェクト等がある。例えば、描画オブジェクトが画像オブジェクトの場合、中間データには画像オブジェクトの情報として、元画像と、この元画像をどのように拡大ないし縮小(拡縮)、回転、移動するかを決定するためのアフィン行列との組み合わせに基づく内容が記述される。   In the rendering process, bitmapped image data (raster image) is created based on print data (referred to as PDL data) described in PDL (Page Description Language). At this time, analysis processing such as what drawing object is included in the PDL data is performed, and intermediate data to be subjected to rendering processing is created based on the analysis result. The drawing objects include image objects, line objects, fill objects, gradation objects, and the like. For example, if the drawing object is an image object, the intermediate data may be an image object information, an original image, and an affine matrix for determining how to scale, rotate, or move the original image. The content is described based on the combination with

中間データは、ハードウェアレンダラ、ソフトウェアレンダラ等のレンダラに渡される。レンダラは、受けとった中間データに基づきラスタ画像を作成する。この際、画像オブジェクトについては、元画像とアフィン係数との組み合わせに基づくレンダリング処理が実行される。   Intermediate data is passed to a renderer such as a hardware renderer or a software renderer. The renderer creates a raster image based on the received intermediate data. At this time, a rendering process based on a combination of an original image and affine coefficients is performed on an image object.

一般的に、ハードウェアレンダラは、中間データを受け取り、該受け取った中間データに基づきラスタ画像を作成する一連の処理を担う専用のASICであるために、ソフトウェアレンダラよりも高速な処理が可能となっている。プリンタにハードウェアレンダラを搭載することで、ユーザはより高速なプリント体験を享受することを期待できる。しかし、ハードウェアレンダラが処理可能なビット精度、及び、処理可能な描画オブジェクトの属性が多ければ多いほど、演算器の回路規模は増大し、コスト的に不利になる。従って、ハードウェアレンダラの設計者は予め、どの程度のビット精度があればよいかの見積もりを行った上で、ハードウェアレンダラで取り扱うビット精度に制限を持たせたり、また、ハードウェアレンダラで処理可能な描画コマンドに制限を持たせたりする。   In general, a hardware renderer is capable of processing faster than a software renderer because it is a dedicated ASIC that takes a series of processes to receive intermediate data and create a raster image based on the received intermediate data. ing. By installing a hardware renderer on the printer, the user can expect to enjoy a faster printing experience. However, the more the bit precision that can be processed by the hardware renderer and the more the attributes of the drawing object that can be processed, the larger the circuit size of the computing unit becomes, which is disadvantageous in cost. Therefore, the hardware renderer designer estimates in advance how much bit precision should be, and then limits the bit precision handled by the hardware renderer or processes by the hardware renderer Limit the possible drawing commands.

ハードウェアレンダラを用いるレンダリング処理では、ハードウェアレンダラに入力する中間データを、ホスト装置側で予め、ハードウェアレンダラで処理可能な形式で作成する必要がある。例えば、ハードウェアレンダラが処理可能なアフィン係数のビット精度に制限があるのであれば、ホスト装置において、アフィン係数の下位ビットを切り落とす等の調整を行った上で、該調整した内容に基づいて中間データを作成しなければならない。   In rendering processing using a hardware renderer, intermediate data to be input to the hardware renderer needs to be created in advance in a format that can be processed by the hardware renderer on the host device side. For example, if there is a limit to the bit precision of affine coefficients that can be processed by the hardware renderer, the host device performs adjustment such as cutting off the lower bits of the affine coefficients, and then performs intermediate processing based on the adjusted contents. You have to create data.

特許文献1には、描画コマンドに応じて、ハードウェアレンダラとソフトウェアレンダラとを使い分けること、具体的には、地紋パターンを描画する描画コマンドを受け取ったときに、ハードウェアレンダラを用いてレンダリング処理を行うことが開示されている。   Patent Document 1 discloses that a hardware renderer and a software renderer are used properly according to a draw command, and specifically, when a draw command for drawing a tint block pattern is received, a rendering process is performed using the hardware renderer. It is disclosed to do.

特開2012−249171号公報JP, 2012-249171, A

しかしながら、特許文献1には、中間データの作成時に実行される、ハードウェアレンダラ等のレンダリング装置の性能を踏まえてのビット精度切り下げに起因して生じ得る不正描画を防ぐ方法は開示されていない。   However, Patent Document 1 does not disclose a method for preventing improper drawing that may occur due to bit precision reduction based on the performance of a rendering device such as a hardware renderer, which is executed at the time of creation of intermediate data.

そこで本発明は、上記の課題に鑑み、レンダリング装置の性能制限のためにアフィン係数のビット精度を切り下げないといけない環境において、ビット精度切り下げに起因して生じる不正描画を防ぐことを目的とする。   Therefore, in view of the above problems, it is an object of the present invention to prevent improper drawing caused by bit precision reduction in an environment where bit precision of affine coefficients must be cut down due to performance limitation of a rendering apparatus.

本発明は、レンダリング装置でラスタ画像を作成するために必要な中間データを、PDLデータに基づき作成するホスト装置であって、前記PDLデータに含まれる画像オブジェクトデータと、前記ホスト装置において処理可能なビット精度と、前記レンダリング装置において処理可能なビット精度とに基づき、前記画像オブジェクトデータの不正描画が発生するか検知する検知手段と、前記検知手段が、前記不正描画の発生を検知した場合、前記画像オブジェクトデータを変換する変換手段と、前記変換された画像オブジェクトデータに基づき、前記中間データを作成する作成手段とを有することを特徴とするホスト装置である。   The present invention is a host device that creates intermediate data necessary for creating a raster image in a rendering device based on PDL data, and is capable of processing image object data included in the PDL data and the host device A detection unit that detects whether or not the drawing of the image object data occurs based on the bit accuracy and the bit accuracy that can be processed by the rendering device; and the detection unit detects the generation of the drawing that is incorrect The host device is characterized by comprising: conversion means for converting image object data; and creation means for creating the intermediate data based on the converted image object data.

本発明により、レンダリング装置の性能制限のためにアフィン係数のビット精度を切り下げないといけない環境において、ビット精度切り下げに起因して生じる不正描画を防ぐことが可能になる。   According to the present invention, in an environment where it is necessary to cut down on the bit precision of affine coefficients due to the performance limitation of the rendering apparatus, it is possible to prevent incorrect drawing caused by the downscaling of the bit precision.

実施例1におけるレンダリングシステムの構成Configuration of Rendering System in Embodiment 1 実施例1におけるホスト装置のブロック図Block diagram of host device in the first embodiment 実施例1におけるレンダリング装置のブロック図Block diagram of rendering apparatus in embodiment 1 実施例1におけるホスト装置の機能構成を示すブロック図Block diagram showing the functional configuration of the host device in the first embodiment 実施例1におけるレンダリング装置の機能構成を示すブロック図Block diagram showing the functional configuration of the rendering device in the first embodiment アフィン行列の適用による画像縮小の説明図Illustration of image reduction by application of affine matrix アフィン係数のビット精度引き下げの説明図Illustration of bit precision reduction of affine coefficients 異なるビット精度のアフィン係数を用いたプリレンダリング処理の説明図Explanatory drawing of pre-rendering processing using affine coefficients with different bit precision プリレンダリング画像の画素値の比較の説明図Explanatory drawing of comparison of the pixel value of a pre-rendering image 画像オブジェクトデータの変換の説明図Illustration of conversion of image object data 実施例1における中間データ作成処理のフローチャートFlowchart of Intermediate Data Creation Processing in Embodiment 1 実施例1における画素ずれ検知処理のフローチャートFlowchart of Pixel Deviation Detection Process in Embodiment 1 元画像に異なるアフィン行列を適用した場合のプリレンダリング処理の説明図An illustration of pre-rendering processing when different affine matrices are applied to the original image 実施例2における画素ずれ検知処理において、比較対象となる画素の説明図An explanatory view of a pixel to be compared in the pixel shift detection process in the second embodiment 実施例2における画素ずれ検知処理のフローチャートFlowchart of Pixel Deviation Detection Process in Embodiment 2 実施例3におけるホスト装置の機能構成を示すブロック図Block diagram showing the functional configuration of the host device in the third embodiment 実施例3における中間データ作成処理のフローチャートFlowchart of Intermediate Data Creation Process in Embodiment 3 実施例3における元画像判定処理のフローチャートFlowchart of Original Image Determination Process in Embodiment 3

[実施例1]
以下、図面を参照して、本発明の実施形態について説明する。尚、以下の実施形態は、本発明の具体例であるから、技術的に好ましい様々の限定が付けられている。しかし、本発明の思想に沿うものであれば、実施形態は以下の実施形態やその他の具体的方法に限定されるものではない。
Example 1
Hereinafter, embodiments of the present invention will be described with reference to the drawings. The following embodiments are specific examples of the present invention, and therefore, various technically preferable limitations are added. However, the embodiments are not limited to the following embodiments or other specific methods as long as the idea of the present invention is followed.

<システムの構成について>
以下、本実施例におけるレンダリングシステムの構成について、図1を用いて説明する。図示するように、このシステムは、ネットワーク102を介して接続された、ホスト装置101とレンダリング装置103とを有する。ホスト装置101は、PDLデータに基づき中間データを作成し、該作成した中間データをネットワーク102経由で、レンダリング装置103に送信する。ネットワーク102は、中間データを送信可能であれば、その形態は問わない。ネットワーク102として例えば、無線LAN、有線LAN、又はUSBケーブル等を用いることができる。レンダリング装置103は、ネットワーク102経由で送信された中間データに対するレンダリング処理を実行することにより、ラスタ画像を作成する。
<About the system configuration>
Hereinafter, the configuration of the rendering system in the present embodiment will be described using FIG. As shown, this system has a host device 101 and a rendering device 103 connected via a network 102. The host device 101 creates intermediate data based on the PDL data, and transmits the created intermediate data to the rendering device 103 via the network 102. The network 102 may be in any form as long as it can transmit intermediate data. For example, a wireless LAN, a wired LAN, a USB cable, or the like can be used as the network 102. The rendering device 103 creates a raster image by performing a rendering process on intermediate data transmitted via the network 102.

<ホスト装置の構成について>
以下、本実施例におけるホスト装置101の構成について、図2を用いて説明する。ホスト装置101は、入出力(I/O)装置202と、CPU203と、RAM204と、Networkインターフェース(以下、インターフェースをI/Fと略記する)205と、外部記憶装置206とを有する。これらの構成要素は、データ転送バス207によって接続され、互いにデータを送受信することができる。ホスト装置101として、前述の構成要素を有する任意の機器を用いることが可能であり、例えば、PC、サーバ、スマートフォン、タブレット等を用いることが可能である。
<About the configuration of host device>
Hereinafter, the configuration of the host apparatus 101 in the present embodiment will be described with reference to FIG. The host device 101 includes an input / output (I / O) device 202, a CPU 203, a RAM 204, a network interface (hereinafter, the interface is abbreviated as I / F) 205, and an external storage device 206. These components are connected by a data transfer bus 207 and can transmit and receive data to and from each other. As the host device 101, any device having the above-described components can be used. For example, a PC, a server, a smartphone, a tablet, or the like can be used.

入出力(I/O)装置202は、データの入出力処理を実行する。データの入力元としては、CD、DVD、USBメモリ、SDカード等のデータ保存可能な各種メディアが挙げられる。また、データの出力先としては、前述のメディアに加えてプリンタ等が挙げられる。本実施例では、入出力(I/O)装置202は、ホスト装置101へPDLデータを入力する際や、ホスト装置101から中間データを出力する際に使用される。   An input / output (I / O) device 202 performs data input / output processing. Examples of data input sources include various media capable of storing data, such as CDs, DVDs, USB memories, and SD cards. Also, as the data output destination, in addition to the above-mentioned media, a printer or the like can be mentioned. In this embodiment, the input / output (I / O) device 202 is used when inputting PDL data to the host device 101 or when outputting intermediate data from the host device 101.

CPU203は、演算処理を実行する。具体的には、CPU203は、PDLデータの解析処理や中間データの作成処理等の、各種演算処理を実行する。CPU203は、後述するPDLデータ解釈部402、中間データ作成部403、画素ずれ制御部404、比較画像作成部405、画素ずれ検知部406、画像オブジェクトデータ変換部407における処理を担う(図4参照)。   The CPU 203 executes arithmetic processing. Specifically, the CPU 203 executes various arithmetic processing such as analysis processing of PDL data and creation processing of intermediate data. The CPU 203 is responsible for processing in a PDL data interpretation unit 402, an intermediate data generation unit 403, a pixel shift control unit 404, a comparison image generation unit 405, a pixel shift detection unit 406, and an image object data conversion unit 407 described later (see FIG. 4). .

RAM204は、データの一時的な保存に用いられる。本実施例では、RAM204には、PDLデータや一時変数が保存され、また、以下で説明する本実施例における処理を実行するためのプログラムがRAM204にロードされ、CPU203によって実行される。RAM204は、後述の印刷データ格納部401や中間データ格納部409として機能し得る(図4参照)。   The RAM 204 is used for temporary storage of data. In the present embodiment, PDL data and temporary variables are stored in the RAM 204, and a program for executing processing in the present embodiment described below is loaded into the RAM 204 and executed by the CPU 203. The RAM 204 can function as a print data storage unit 401 or an intermediate data storage unit 409 described later (see FIG. 4).

NetworkI/F205は有線LANや無線LAN等のLANに接続されており、外部機器との間におけるデータの送受信に用いられる。例えば、ホスト装置101は、NetworkI/F205を介して、サーバ等の外部機器から送信されたPDLデータを受信する。また、ホスト装置101は、受信したPDLデータを解析することで導出した中間データを、NetworkI/F205を介してレンダリング装置103に送信する。   The Network I / F 205 is connected to a LAN such as a wired LAN or a wireless LAN, and is used to transmit and receive data to and from an external device. For example, the host apparatus 101 receives PDL data transmitted from an external device such as a server via the Network I / F 205. Also, the host device 101 transmits intermediate data derived by analyzing the received PDL data to the rendering device 103 via the Network I / F 205.

外部記憶装置206は、主に永続的なデータの保存に用いられ、以下で説明する本実施例における処理を実行するためのプログラムや中間データの格納先として用いられる。RAM204に格納するには容量が大きすぎるデータが、外部記憶装置206に一時的に退避されることもある。例えば、外部記憶装置206が、後述のプリレンダリング画像格納部408におけるプリレンダリング画像の格納を担っても良い。また、外部記憶装置206は、印刷データ格納部401や中間データ格納部409として機能し得る(図4参照)。   The external storage device 206 is mainly used for persistent data storage, and is used as a storage destination of programs and intermediate data for executing the processing in the present embodiment described below. Data that is too large to be stored in the RAM 204 may be temporarily saved to the external storage device 206. For example, the external storage device 206 may be responsible for storing pre-rendered images in the pre-rendered image storage unit 408 described later. The external storage device 206 can also function as the print data storage unit 401 or the intermediate data storage unit 409 (see FIG. 4).

<レンダリング装置の構成について>
以下、レンダリング装置103の構成について、図3を用いて説明する。レンダリング装置103は、CPU302と、RAM303と、NetworkI/F304と、外部記憶装置305と、ASIC306とを有する。これらの構成要素は、データ転送バス307によって接続され、互いにデータを送受信することができる。レンダリング装置103として、前述の構成要素を有する任意の機器を用いることが可能であり、例えば、PC、サーバ、スマートフォン、タブレット等を用いることが可能である。
<About the configuration of the rendering device>
Hereinafter, the configuration of the rendering device 103 will be described using FIG. The rendering device 103 includes a CPU 302, a RAM 303, a network I / F 304, an external storage device 305, and an ASIC 306. These components are connected by a data transfer bus 307 and can send and receive data to and from each other. As the rendering device 103, any device having the above-described components can be used, and for example, a PC, a server, a smartphone, a tablet, or the like can be used.

CPU302は、演算処理を実行する。具体的には、CPU302は、RAM303にロードされたプログラムを実行することで、レンダリング装置103に入力された中間データに対する、ASIC306におけるレンダリング処理を実行する。   The CPU 302 executes arithmetic processing. Specifically, the CPU 302 executes the program loaded into the RAM 303 to execute the rendering process in the ASIC 306 on the intermediate data input to the rendering device 103.

RAM303は、データの一時的な保存に用いられる。本実施例では、RAM303には、中間データや一時変数が保存され、また、以下で説明する本実施例における処理を実行するためのプログラムがRAM303にロードされ実行される。RAM303は、後述の中間データ格納部501として機能し得る(図5参照)。   The RAM 303 is used for temporary storage of data. In the present embodiment, intermediate data and temporary variables are stored in the RAM 303, and a program for executing processing in the present embodiment described below is loaded to the RAM 303 and executed. The RAM 303 can function as an intermediate data storage unit 501 described later (see FIG. 5).

NetworkI/F304は有線LANや無線LAN等のLANに接続されており、外部機器との間におけるデータの送受信に用いられる。例えば、レンダリング装置103は、NetworkI/F304を介して、ホスト装置101から送信された中間データを受信し、また、該受信した中間データに基づき作成したラスタ画像を、NetworkI/F304を介して、外部装置に送信する。   The Network I / F 304 is connected to a LAN such as a wired LAN or a wireless LAN, and is used to transmit and receive data with an external device. For example, the rendering device 103 receives intermediate data transmitted from the host device 101 via the Network I / F 304, and externally generates a raster image created based on the received intermediate data via the Network I / F 304. Send to device.

外部記憶装置305は、主に永続的なデータの保存に用いられ、本実施例では、以下で説明する本実施例における処理を実行するためのプログラム、中間データ、ラスタ画像の格納先として用いられる。RAM303に格納するには容量が大きすぎるデータが、外部記憶装置305に一時的に退避されることもある。外部記憶装置305は、後述の中間データ格納部501やラスタ画像格納部503として機能し得る(図5参照)。   The external storage device 305 is mainly used for permanent data storage, and in this embodiment, it is used as a storage destination of a program, intermediate data, and raster image for executing the processing in this embodiment described below. . Data that is too large to be stored in the RAM 303 may be temporarily saved in the external storage device 305. The external storage device 305 can function as an intermediate data storage unit 501 and a raster image storage unit 503 described later (see FIG. 5).

ASIC306は、中間データに対してレンダリング処理を実行することでラスタ画像を作成する。ASIC306は、後述のレンダリング処理部502における処理を担う(図5参照)。   The ASIC 306 creates a raster image by performing rendering processing on the intermediate data. The ASIC 306 is responsible for the processing in the rendering processing unit 502 described later (see FIG. 5).

<ホスト装置の機能構成について>
以下、本実施例におけるホスト装置101の機能構成について、図4を用いて説明する。図4は、本実施例におけるホスト装置101の機能構成を示すブロック図である。
<Functional Configuration of Host Device>
Hereinafter, the functional configuration of the host apparatus 101 in the present embodiment will be described with reference to FIG. FIG. 4 is a block diagram showing a functional configuration of the host apparatus 101 in the present embodiment.

上述したように、CPU203はRAM204にロードされたプログラムを実行するが、ここではプログラム410を実行するケースを示す。これにより、PDLデータ解釈部402と、中間データ作成部403と、画素ずれ制御部404と、比較画像作成部405と、画素ずれ検知部406と、画像オブジェクトデータ変換部407と、プリレンダリング画像格納部408とが実現される。また、ホスト装置101は、印刷データ格納部401と、中間データ格納部409とを有する。   As described above, the CPU 203 executes the program loaded into the RAM 204, but here shows the case of executing the program 410. Thus, the PDL data interpretation unit 402, the intermediate data generation unit 403, the pixel shift control unit 404, the comparison image generation unit 405, the pixel shift detection unit 406, the image object data conversion unit 407, and the pre-rendered image storage And the unit 408 is realized. The host device 101 further includes a print data storage unit 401 and an intermediate data storage unit 409.

印刷データ格納部401に格納される印刷データは、PDLデータと、使用するレンダリングシステムの情報(レンダリングシステム情報とする)とを含む。PDLデータには、画像オブジェクト、線オブジェクト、塗りオブジェクト等の描画オブジェクトに関する情報が記述されている。また、レンダリングシステム情報には、レンダリングシステムの情報、具体的には例えば、レンダリング装置103に搭載されるASICにおいて取り扱い可能なアフィン係数のビット精度等が含まれる。   The print data stored in the print data storage unit 401 includes PDL data and information of a rendering system to be used (referred to as rendering system information). The PDL data describes information on drawing objects such as image objects, line objects, and filling objects. The rendering system information also includes information on the rendering system, specifically, for example, the bit precision of affine coefficients that can be handled by the ASIC mounted on the rendering device 103.

PDLデータ解釈部402は、PDLデータに対する解析処理を実行する。この解析処理により、ドキュメントのページ数、レンダリング対象となるページの大きさ等の情報、及び、ページ中に含まれるオブジェクトの種類を特定するための情報(即ち属性情報)が、PDLデータから読み取られる。   The PDL data interpretation unit 402 executes analysis processing on PDL data. Through this analysis process, information such as the number of pages of a document, the size of a page to be rendered, and information for specifying the type of an object included in the page (that is, attribute information) are read from PDL data .

中間データ作成部403は、PDLデータに基づき中間データを作成する。また、中間データ作成部403は、画素ずれ制御部404への画素ずれ検知の依頼等の、中間データ作成に関わる処理も実行する。   The intermediate data generation unit 403 generates intermediate data based on the PDL data. The intermediate data generation unit 403 also executes processing relating to intermediate data generation, such as a request for pixel shift detection to the pixel shift control unit 404.

画素ずれ制御部404は、必要に応じて、比較画像作成部405及び画素ずれ検知部406に画素ずれ検知処理を実行させる。この際、画素ずれ制御部404は、元画像とアフィン行列とから成る画像オブジェクトデータ、及び、レンダリング装置103が取り扱い可能なアフィン係数のビット精度の情報を、比較画像作成部405に渡す。また、画素ずれ制御部404は、画素ずれ検知処理の結果に基づき、必要に応じて、画像オブジェクトデータ変換部407に画像オブジェクトデータの変換処理を実行させる。   The pixel shift control unit 404 causes the comparison image generation unit 405 and the pixel shift detection unit 406 to execute pixel shift detection processing as necessary. At this time, the pixel shift control unit 404 passes, to the comparison image creation unit 405, image object data composed of the original image and the affine matrix and information on bit accuracy of affine coefficients that can be handled by the rendering device 103. In addition, the pixel shift control unit 404 causes the image object data conversion unit 407 to perform conversion processing of image object data, as necessary, based on the result of the pixel shift detection processing.

比較画像作成部405は、元画像にアフィン行列を適用することで、画素ずれ検知処理で用いるプリレンダリング画像を作成する。比較画像作成部405によって作成されたプリレンダリング画像は、プリレンダリング画像格納部408に格納される。   The comparison image creation unit 405 creates a pre-rendered image used in the pixel shift detection processing by applying an affine matrix to the original image. The pre-rendered image created by the comparison image creation unit 405 is stored in the pre-rendered image storage unit 408.

画素ずれ検知部406は、比較画像作成部405によって作成された2つのプリレンダリング画像を比較し画素ずれが生じているか(つまり、画像オブジェクトデータを補正しないと不正描画が発生してしまうか)判定し、該判定結果を画素ずれ制御部404に返す。画素ずれ制御部404は、この判定結果の如何によって(具体的には、画素ずれが生じる場合に)、画像オブジェクトデータを変換するよう画像オブジェクトデータ変換部407に指示する。画像オブジェクトデータ変換部407は、この指示に応じて、画像オブジェクトデータを変換する。   The pixel misalignment detection unit 406 compares the two pre-rendered images created by the comparison image creation unit 405 and determines whether pixel misalignment has occurred (that is, incorrect drawing may occur if the image object data is not corrected). Then, the determination result is returned to the pixel shift control unit 404. The pixel shift control unit 404 instructs the image object data conversion unit 407 to convert the image object data according to the determination result (specifically, when the pixel shift occurs). The image object data conversion unit 407 converts image object data in accordance with this instruction.

<アフィン行列の適用について>
アフィン行列は、元画像をどのように拡大ないし縮小(拡縮)、回転、移動するかを決定するための行列である。図6は、アフィン行列を適用することで、元画像を2分の1の大きさの画像に縮小する様子を示している。縮小処理においては、縮小後画像603の座標(x‘,y’)における画素の値を決定する際に、縮小前画像(元画像)601のどの座標(x,y)における画素の値を参照するか、を決定する必要がある。以下、参照する画素を「参照画素」と呼ぶ。
<On the Application of Affine Matrices>
The affine matrix is a matrix for determining how to scale, rotate, and move the original image. FIG. 6 shows how the original image is reduced to a half size image by applying an affine matrix. In the reduction process, when determining the value of the pixel at the coordinates (x ′, y ′) of the image after reduction 603, the value of the pixel at which coordinate (x, y) of the image before reduction (original image) 601 is referred You need to decide what to do. Hereinafter, the pixel to be referred to is referred to as a "reference pixel".

参照画素の座標(x,y)は、逆アフィン変換用行列602の係数a,b,c,dを用いた以下の式(1)〜式(3)を用いて求める。   The coordinates (x, y) of the reference pixel are obtained using the following equations (1) to (3) using the coefficients a, b, c, d of the inverse affine transformation matrix 602.

Figure 2019074916
Figure 2019074916

Figure 2019074916
Figure 2019074916

Figure 2019074916
Figure 2019074916

上記の式(1)〜式(3)を用いて求めた、縮小前画像601の座標(x,y)における画素の値が、縮小後画像603の座標(x‘,y’)における画素の値となる。しかし、参照画素の座標値x、yは必ずしも整数になるとは限らない。x、yの少なくとも何れか一方が小数であった場合には、この小数の値に代えて該値に最近傍の整数値が用いられる。 The value of the pixel at the coordinates (x, y) of the pre-reduction image 601 determined using the above equations (1) to (3) is the value of the pixel at the coordinates (x ′, y ′) of the after-reduction image 603 It becomes a value. However, coordinate values x and y of the reference pixel are not necessarily integers. When at least one of x and y is a decimal, an integer value closest to the value is used instead of the decimal value.

本明細書では、レンダリング装置103におけるレンダリング処理に先立って、ホスト装置101側で元画像にアフィン行列を適用してプリレンダリング画像を作成する処理を、「プリレンダリング処理」と呼ぶ。   In this specification, prior to rendering processing in the rendering device 103, processing for applying an affine matrix to the original image on the host device 101 side to create a pre-rendering image is referred to as "pre-rendering processing".

ホスト装置101が扱えるアフィン係数のビット精度をNビット、レンダリング装置103が扱えるアフィン係数のビット精度をMビットとすると、N>Mを満たす場合に、画素ずれ制御部404は、画素ずれ検知部406に画素ずれ検知を行わせる。比較画像作成部405は、アフィン行列を変えてプリレンダリング処理を2回実行する(各プリレンダリング処理において、アフィン係数のビット精度が異なる)ことで、比較用の2つの画像を作成する。即ち、比較画像作成部405は、Nビット精度のアフィン係数を用いたプリレンダリング処理に依る第1プリレンダリング画像、及び、Mビット精度のアフィン係数を用いたプリレンダリング処理に依る第2プリレンダリング画像を作成する。   Assuming that the bit accuracy of the affine coefficients that can be handled by the host device 101 is N bits and the bit accuracy of the affine coefficients that can be handled by the rendering device 103 is M bits, the pixel misalignment control unit 404 detects the pixel misalignment detection unit 406 when N> M is satisfied. Pixel shift detection. The comparison image creation unit 405 creates two images for comparison by changing the affine matrix and executing the pre-rendering process twice (in each pre-rendering process, the bit precision of the affine coefficients is different). That is, the comparison image generation unit 405 generates a first pre-rendering image based on pre-rendering processing using affine coefficients with N-bit accuracy, and a second pre-rendered image based on pre-rendering processing using affine coefficients using M-bit accuracy Create

次に、画素ずれ検知部406は、第1プリレンダリング画像と第2プリレンダリング画像との各画素について、画素値を比較し該画素値が一致するかチェックする。これにより、第1プリレンダリング画像と第2プリレンダリング画像とが同一か、言い換えると、第1プリレンダリング画像と第2プリレンダリング画像との間で画素ずれが生じていないか判定する。   Next, the pixel misalignment detection unit 406 compares pixel values of each pixel of the first pre-rendered image and the second pre-rendered image, and checks whether the pixel values match. As a result, it is determined whether the first pre-rendered image and the second pre-rendered image are the same, in other words, whether or not there is a pixel shift between the first pre-rendered image and the second pre-rendered image.

<アフィン係数のビット精度の引き下げについて>
レンダリング装置103に搭載されるASIC306で処理可能なアフィン係数のビット精度には制限があり、Mビット精度以下のアフィン係数しか扱えない。従って、ホスト装置101のビット精度(Nビット)と、レンダリング装置のビット精度(Mビット)との間で、N>Mの条件が成り立つ場合、アフィン係数の下位ビットを切り落として、ビット精度をNビット精度からMビット精度へと下げる必要がある。
<Reduction of Bit Accuracy of Affine Coefficient>
The bit precision of the affine coefficients that can be processed by the ASIC 306 mounted on the rendering device 103 is limited, and only affine coefficients less than M bit precision can be handled. Therefore, when the condition of N> M is satisfied between the bit precision (N bits) of the host apparatus 101 and the bit precision (M bits) of the rendering apparatus, the lower bits of the affine coefficient are cut off and the bit precision is N Need to reduce from bit precision to M bit precision.

以下、アフィン係数のビット精度の引き下げについて、図7を用いて説明する。図7は、アフィン係数のビット精度の引き下げを表した図である。列701は、アフィン係数a,b,c,dを表している。また、列702は、ホスト装置101で扱えるNビット精度のアフィン係数の各値を、列703は、レンダリング装置103(ASIC306)で扱えるMビット精度のアフィン係数の各値を表している。行704に示すアフィン係数aについて見ると、ホスト装置101では3.89068988998として取り扱い可能な値が、レンダリング装置103ではMビット精度(N>M)のものしか扱えないために、3.89068988に切り下げられている。行707に示すアフィン係数dについても同様であって、ホスト装置101では1.234323728501として取り扱い可能な値が、1.23432372に切り下げられている。一方で、行705に示すアフィン係数b及び行706に示すアフィン係数cについては、元々の値が0.0であったために、切り下げ後の値も同様に0.0となっている。   Hereinafter, the reduction of the bit precision of the affine coefficient will be described with reference to FIG. FIG. 7 is a diagram showing reduction in bit precision of affine coefficients. Column 701 represents affine coefficients a, b, c, d. A column 702 represents each value of affine coefficients with N-bit precision that can be handled by the host device 101, and a column 703 represents each value of affine coefficients with M-bit precision that can be handled with the rendering device 103 (ASIC 306). As for the affine coefficient a shown in line 704, the value that can be handled as 3.89068988998 in the host device 101 can be rounded down to 3.89068988 because the rendering device 103 can handle only those with M bit precision (N> M). It is done. The same applies to the affine coefficient d shown in the row 707, and the value that can be handled as 1.234323728501 in the host apparatus 101 is rounded down to 1.23432372. On the other hand, with regard to the affine coefficient b shown in the row 705 and the affine coefficient c shown in the row 706, since the original value was 0.0, the value after rounding down is also 0.0.

<プリレンダリング処理によって作成した2つのプリレンダリング画像の比較について>
図8は、Nビット精度のアフィン係数を用いたプリレンダリング処理の結果と、Mビット精度のアフィン係数を用いたプリレンダリング処理の結果とを表している。図示するように、白地に黒枠の元画像801に基づき、Nビット精度のアフィン係数を用いてプリレンダリング処理を実行した結果、第1プリレンダリング画像802が作成される。また、元画像801に基づき、Mビット精度のアフィン係数を用いてプリレンダリング処理を実行した結果、第2プリレンダリング画像803が作成される。作成された第1プリレンダリング画像802及び第2プリレンダリング画像803は、プリレンダリング画像格納部408に格納される。画素ずれ検知部406は、これら2つのプリレンダリング画像の各画素値を比較することで、2つのプリレンダリング画像間で画素ずれが生じていないか、言い換えると、該2つのプリレンダリング画像は同一か判定する。
<About comparison of two pre-rendered images created by pre-rendering process>
FIG. 8 shows the result of pre-rendering processing using affine coefficients with N-bit precision and the result of pre-rendering processing using affine coefficients with M-bit precision. As illustrated, as a result of performing pre-rendering processing using affine coefficients with N-bit accuracy based on the original image 801 with a black frame on a white background, a first pre-rendered image 802 is created. Also, as a result of performing pre-rendering processing using affine coefficients with M-bit accuracy based on the original image 801, a second pre-rendered image 803 is created. The first pre-rendered image 802 and the second pre-rendered image 803 created are stored in the pre-rendered image storage unit 408. The pixel shift detection unit 406 compares the pixel values of these two pre-rendered images to determine whether there is a pixel shift between the two pre-rendered images, in other words, is the two pre-rendered images the same? judge.

図9は、プリレンダリング画像における画素値の比較の様子を表した図である。ここでは、プリレンダリング画像A,B,C,Dはそれぞれ、高さ10画素、幅6画素の60個の画素から成る矩形画像であり、画素ずれ検知部406によって各画素について画素値が比較されるケースを示す。例えば、画素値が(R(赤),G(緑),B(青))の3要素で表現される場合、各画素について、R,G,Bの3要素値が全て一致するかチェックされる。そして、3要素値が全て一致する場合に、画素値が一致すると判定される。尚、画素値の表現形式は必ずしもRGB形式に限定されない。   FIG. 9 is a diagram showing how the pixel values in the pre-rendered image are compared. Here, each of the pre-rendered images A, B, C, and D is a rectangular image consisting of 60 pixels having a height of 10 pixels and a width of 6 pixels, and the pixel shift detection unit 406 compares pixel values for each pixel. Show the case. For example, when a pixel value is expressed by three elements (R (red), G (green), B (blue)), it is checked whether all three element values of R, G, B match for each pixel. Ru. Then, when all the three element values match, it is determined that the pixel values match. The representation format of pixel values is not necessarily limited to the RGB format.

このように総計60個の各画素について画素値が一致するかチェックされ、全画素において画素値が一致する場合は、画素ずれが生じず、少なくとも1個以上の画素において画素値が一致しない場合は、画素ずれが生じると判定される。この判定結果は、画素ずれ制御部404に返される。図9(a)は、画像中の全60画素について画素値が一致することから、プリレンダリング画像Aとプリレンダリング画像Bとの間で画素ずれは生じないと判定されるケースを示している。一方、図9(b)は、画像中の一部の画素(例えば白破線で示す画素901)の画素値が異なるために、プリレンダリング画像Cとプリレンダリング画像Dとの間で画素ずれが生じると判定されるケースを示している。
<画像オブジェクトデータの変換について>
画像オブジェクトデータ変換部407では、画素ずれ検知部406によって画素ずれが生じると判定された場合に、画像オブジェクトデータの変換が行われる。画像オブジェクトデータは、元画像と、複数のアフィン係数から成るアフィン行列とから構成される。
In this way, a total of 60 individual pixels are checked to see if their pixel values match. If the pixel values match for all pixels, no pixel shift occurs and if the pixel values do not match for at least one or more pixels, It is determined that a pixel shift occurs. The determination result is returned to the pixel shift control unit 404. FIG. 9A shows a case where it is determined that no pixel deviation occurs between the pre-rendered image A and the pre-rendered image B because the pixel values match for all 60 pixels in the image. On the other hand, in FIG. 9B, pixel deviation occurs between the pre-rendered image C and the pre-rendered image D because the pixel values of some pixels in the image (for example, the pixel 901 indicated by the white broken line) are different. In the case shown in FIG.
<About conversion of image object data>
The image object data conversion unit 407 converts the image object data when it is determined by the pixel displacement detection unit 406 that pixel displacement occurs. Image object data is composed of an original image and an affine matrix composed of a plurality of affine coefficients.

上述したように、レンダリング装置103が扱えるMビット精度のアフィン係数を用いるレンダリング処理では画素ずれが生じる虞がある。従って本実施例では、画素ずれが生じる場合に、予めホスト装置101側で、画素ずれが生じないよう画像オブジェクトデータを補正する。具体的には、Nビット精度のアフィン係数を用いたプリレンダリング処理の結果画像を元画像として扱うとともに、アフィン行列を、その元画像を等倍出力するものに変更する。   As described above, in the rendering process using the affine coefficients with M-bit precision that can be handled by the rendering apparatus 103, there is a possibility that pixel shift may occur. Therefore, in the present embodiment, when pixel misalignment occurs, the image device data is corrected in advance so that pixel misalignment does not occur on the host apparatus 101 side. Specifically, the image resulting from the pre-rendering process using N-bit precision affine coefficients is treated as an original image, and the affine matrix is changed to output the original image at equal magnification.

図10は、画像オブジェクトデータの変換の説明図であり、変換前後の画像オブジェクトデータを示している。図10(a)は、変換前の画像オブジェクトデータを示し、元画像1001、及び、アフィン係数a、b、c、dから成るアフィン行列1002から構成される。レンダラは、元画像にアフィン行列を適用することで、レンダリング処理の結果画像であるラスタ画像を作成する。   FIG. 10 is an explanatory diagram of conversion of image object data, and shows image object data before and after conversion. FIG. 10A shows image object data before conversion, and is composed of an original image 1001 and an affine matrix 1002 composed of affine coefficients a, b, c, d. The renderer applies an affine matrix to the original image to create a raster image which is an image resulting from the rendering process.

一方、図10(b)は、変換後の画像オブジェクトデータを示す。画像オブジェクトデータの変換により、変換前の画像オブジェクトデータを構成していた元画像1001は、元画像1001をNビット精度のアフィン係数から成るアフィン行列を用いてプリレンダリングした結果の画像1003に置き換えられる。また、変換前の画像オブジェクトデータを構成していたアフィン行列1002も、アフィン係数1、0、0、1から成るアフィン行列1004に置き換えられる。かかる画像オブジェクトデータの変換により、レンダリング装置103のハードウェアレンダラでは、プリレンダリング処理の結果画像を等倍出力するようなレンダリング処理が実行されることとなる。   On the other hand, FIG. 10 (b) shows image object data after conversion. By conversion of the image object data, the original image 1001 constituting the image object data before conversion is replaced with the image 1003 as a result of pre-rendering the original image 1001 using an affine matrix consisting of affine coefficients with N-bit precision. . In addition, the affine matrix 1002 that configures the image object data before conversion is also replaced with an affine matrix 1004 composed of affine coefficients 1, 0, 0, and 1. By the conversion of the image object data, the hardware renderer of the rendering device 103 executes the rendering process to output the image as a result of the pre-rendering process at the same magnification.

画像オブジェクトデータ変換部407によって導出される変換後の画像オブジェクトデータは、画素ずれ制御部404を通じて中間データ作成部403に渡される。そして、この変換後の画像オブジェクトデータに対応する内容が、中間データに記述される。   The converted image object data derived by the image object data conversion unit 407 is transferred to the intermediate data generation unit 403 through the pixel shift control unit 404. Then, contents corresponding to the image object data after this conversion are described in intermediate data.

プリレンダリング画像格納部408には、画素ずれ検知のために、比較画像作成部405によるプリレンダリング処理の結果作成されたプリレンダリング画像が格納される。画素ずれ検知部406は、プリレンダリング画像格納部408に格納されたプリレンダリング画像を用いて、画素ずれが生じるか判定する画素ずれ検知処理を実行する。   The pre-rendering image storage unit 408 stores a pre-rendering image created as a result of the pre-rendering process by the comparison image creating unit 405 for detecting a pixel shift. The pixel shift detection unit 406 executes pixel shift detection processing to determine whether pixel shift occurs using the pre-rendered image stored in the pre-rendered image storage unit 408.

<レンダリング装置の機能構成について>
以下、レンダリング装置103の機能構成について、図5を用いて説明する。
<Functional Configuration of Rendering Device>
Hereinafter, the functional configuration of the rendering device 103 will be described with reference to FIG.

上述したように、CPU302はRAM303にロードされたプログラムを実行するが、ここではプログラム504を実行するケースを示す。これにより、レンダリング処理部502が実現される。また、レンダリング装置103は、中間データ格納部501と、ラスタ画像格納部503とを有する。中間データ格納部501には、ホスト装置101で作成され、レンダリング装置103に送信された中間データが格納されている。この中間データに記述されている画像オブジェクトに関する情報は、ホスト装置101における上述の処理により、レンダリング処理部502での処理に適切な形式となっている。尚、この形式は、レンダリング処理部によって異なる。レンダリング処理部502は、中間データ格納部501に格納されている中間データに対してレンダリング処理を実行することで、ラスタ画像を作成する。レンダリング処理部502によって作成されたラスタ画像は、ラスタ画像格納部503に格納される。尚、本実施例では、ハードウェアレンダラであるASIC306がレンダリング処理部502における処理を担うとしたが、ソフトウェアレンダラが担っても良い。   As described above, the CPU 302 executes the program loaded into the RAM 303. Here, a case where the program 504 is executed is shown. Thus, the rendering processing unit 502 is realized. The rendering device 103 further includes an intermediate data storage unit 501 and a raster image storage unit 503. The intermediate data storage unit 501 stores intermediate data created by the host device 101 and transmitted to the rendering device 103. The information related to the image object described in the intermediate data has a format suitable for the processing in the rendering processing unit 502 by the above-described processing in the host device 101. Note that this format differs depending on the rendering processing unit. The rendering processing unit 502 creates a raster image by performing rendering processing on intermediate data stored in the intermediate data storage unit 501. The raster image created by the rendering processing unit 502 is stored in the raster image storage unit 503. In the present embodiment, the ASIC 306, which is a hardware renderer, takes charge of processing in the rendering processing unit 502. However, a software renderer may take charge of processing.

<画素ずれ検知処理を伴う中間データ作成処理について>
以下、本実施例における画素ずれ検知処理を伴う中間データ作成処理について、図11及び図12を用いて説明する。図11は、本実施例における中間データ作成処理のフローチャートである。
<Intermediate data creation processing with pixel shift detection processing>
Hereinafter, intermediate data creation processing accompanied by pixel shift detection processing in this embodiment will be described using FIGS. 11 and 12. FIG. FIG. 11 is a flowchart of intermediate data creation processing in the present embodiment.

中間データ作成処理ではまず、ステップS1101において、PDLデータ解釈部402は、印刷データに含まれるPDLデータに対する解析処理を実行する。具体的には、PDLデータ解釈部402は、PDLデータに含まれる未処理の描画オブジェクトの1つに着目し、該着目した描画オブジェクト(着目描画オブジェクトとする)を解析し、その解析結果を中間データ作成部403に出力する。   In the intermediate data creation process, in step S1101, the PDL data interpretation unit 402 executes an analysis process on PDL data included in the print data. Specifically, the PDL data interpretation unit 402 focuses on one of the unprocessed rendering objects included in the PDL data, analyzes the rendering object of interest (referred to as a rendering object of interest), and analyzes the analysis result It is output to the data creation unit 403.

ステップS1102において、中間データ作成部403は、PDLデータ解釈部402から渡された解析結果、具体的には着目描画オブジェクトの属性情報に基づき、着目描画オブジェクトが画像オブジェクトか判定する。ステップS1102の判定結果が真、つまり、属性情報によって、着目描画オブジェクトが画像オブジェクトであることが示される場合、ステップS1103に進む。一方、この判定結果が偽、つまり、属性情報によって、着目描画オブジェクトが画像オブジェクト以外のオブジェクト(例えば、塗りオブジェクト又は線オブジェクト)であることが示される場合、ステップS1108に進む。   In step S1102, the intermediate data generation unit 403 determines whether the focused drawing object is an image object based on the analysis result passed from the PDL data interpretation unit 402, specifically, the attribute information of the focused drawing object. If the determination result in step S1102 is true, that is, if the attribute information indicates that the target drawing object is an image object, the process advances to step S1103. On the other hand, if the determination result is false, that is, if the attribute information indicates that the target drawing object is an object other than the image object (for example, a fill object or a line object), the process advances to step S1108.

以下、着目描画オブジェクトが画像オブジェクトと判定された場合(ステップS1102でYESの場合)を説明する。この場合、ステップS1103において、画素ずれ制御部404は、中間データ作成部403から渡される、着目描画オブジェクトの画像オブジェクトデータと、レンダリング装置103で取り扱い可能(処理可能)なアフィン係数のビット精度の情報とを取得する。   Hereinafter, the case where the focused drawing object is determined to be an image object (in the case of YES in step S1102) will be described. In this case, in step S 1103, the pixel misalignment control unit 404 receives the image object data of the drawing object of interest and the information on the bit accuracy of the affine coefficients that can be handled (processed) by the rendering device 103 And get.

ステップS1104において、画素ずれ制御部404は、ホスト装置101で処理可能なビット精度N及びレンダリング装置103で処理可能なビット精度Mについて、N>Mの大小関係を満たすか判定する。ステップS1104の判定結果が真の場合、ステップS1105に進む一方、該判定結果が偽の場合、ステップS1107に進む。   In step S1104, the pixel misalignment control unit 404 determines whether the magnitude relationship of N> M is satisfied for the bit precision N that can be processed by the host apparatus 101 and the bit precision M that can be processed by the rendering apparatus 103. If the determination result in step S1104 is true, the process proceeds to step S1105, while if the determination result is false, the process proceeds to step S1107.

ステップS1105において、比較画像作成部405及び画素ずれ検知部406は、比較画像作成部405及び画素ずれ検知部406に画素ずれ検知処理を実行させることで、不正描画、即ち画素ずれが発生するか判定する。ステップS1105の判定結果が真の場合、ステップS1106に進む一方、該判定結果が偽の場合、ステップS1107に進む。尚、画素ずれ検知処理の詳細は、図12を用いて後述する。   In step S1105, the comparison image generation unit 405 and the pixel shift detection unit 406 cause the comparison image generation unit 405 and the pixel shift detection unit 406 to execute pixel shift detection processing to determine whether incorrect drawing, that is, whether pixel shift occurs. Do. If the determination result in step S1105 is true, the process proceeds to step S1106, while if the determination result is false, the process proceeds to step S1107. The details of the pixel shift detection process will be described later with reference to FIG.

ステップS1106において、画素ずれ制御部404は、画像オブジェクトデータ変換部407に、図10に例示したような、元画像とアフィン行列とから成る画像オブジェクトデータを変換する処理(画像オブジェクトデータ変換処理とする)を実行させる。   In step S1106, the pixel shift control unit 404 causes the image object data conversion unit 407 to convert image object data composed of an original image and an affine matrix as illustrated in FIG. 10 (image object data conversion processing). )).

ステップS1107において、中間データ作成部403は、画像オブジェクトデータに基づき、中間データを作成する。このとき、ステップS1106における画像オブジェクトデータ変換処理が実行された場合、変換後の画像オブジェクトデータに応じた内容が中間データに記述される。一方、画像オブジェクトデータ変換処理が実行されなかった場合(ステップS1104でNOやステップS1105でNOの場合)、変換前の画像オブジェクトデータに応じた内容が中間データに記述される。   In step S1107, the intermediate data generation unit 403 generates intermediate data based on the image object data. At this time, when the image object data conversion process in step S1106 is executed, contents corresponding to the image object data after conversion are described in intermediate data. On the other hand, when the image object data conversion process is not executed (NO in step S1104 or NO in step S1105), contents corresponding to the image object data before conversion are described in the intermediate data.

続いて、着目描画オブジェクトが画像オブジェクトではないと判定された場合(ステップS1102でNOの場合)を説明する。この場合、ステップS1108において、中間データ作成部403は、着目描画オブジェクトの情報を中間データに記述することで、中間データを作成する。   Subsequently, a case where it is determined that the focused drawing object is not an image object (in the case of NO at step S1102) will be described. In this case, in step S1108, the intermediate data generation unit 403 generates intermediate data by describing the information of the drawing object of interest in the intermediate data.

ステップS1107又はステップS1108で着目描画オブジェクトの情報が中間データに記述された後、ステップS1109において、PDLデータ解釈部402は、PDLデータに未処理の描画オブジェクトがあるか判定する。ステップS1109の判定結果が真の場合、ステップS1101に戻る一方、該判定結果が偽の場合、一連の処理は終了する。以上が、本実施例における中間データ作成処理の内容である。   After the information of the drawing object of interest is described in the intermediate data in step S1107 or step S1108, in step S1109, the PDL data interpretation unit 402 determines whether or not there is an unprocessed drawing object in the PDL data. When the determination result in step S1109 is true, the process returns to step S1101. On the other hand, when the determination result is false, a series of processing ends. The above is the contents of the intermediate data creation process in the present embodiment.

続けて、上述の画素ずれ検知処理(図11のステップS1105)について、図12を用いて詳しく説明する。   Subsequently, the above-described pixel shift detection processing (step S1105 in FIG. 11) will be described in detail with reference to FIG.

ステップS1201において、比較画像作成部405は、画素ずれ制御部404から渡される画像オブジェクトデータを用いたプリレンダリング処理を実行する。具体的には、ホスト装置101で処理可能なNビット精度のアフィン係数から成るアフィン行列を元画像に適用することで、第1プリレンダリング画像を作成する。   In step S <b> 1201, the comparison image generation unit 405 executes pre-rendering processing using the image object data transferred from the pixel shift control unit 404. Specifically, the first pre-rendered image is created by applying an affine matrix composed of affine coefficients with N-bit precision that can be processed by the host device 101 to the original image.

ステップS1202において、比較画像作成部405は、画素ずれ制御部404から渡されるレンダリング装置103で取り扱い可能なアフィン係数のビット精度の情報に従って、Nビット精度のアフィン係数の下位ビットを切り落とす。これにより、Mビット精度のアフィン係数から成るアフィン行列を導出する。   In step S 1202, the comparison image generation unit 405 cuts off the lower bits of the affine coefficient with N-bit accuracy according to the information of the bit accuracy of the affine coefficient that can be handled by the rendering device 103 passed from the pixel shift control unit 404. This derives an affine matrix consisting of affine coefficients with M bit precision.

ステップS1203において、比較画像作成部405は、ステップS1202で導出したアフィン行列を元画像に適用するプリレンダリング処理を実行することで、第2プリレンダリング画像を作成する。尚、比較画像作成部405によって作成される、第1プリレンダリング画像及び第2プリレンダリング画像は、プリレンダリング画像格納部408に格納される。   In step S1203, the comparison image creation unit 405 creates a second pre-rendered image by executing a pre-rendering process of applying the affine matrix derived in step S1202 to the original image. The first pre-rendered image and the second pre-rendered image created by the comparative image creating unit 405 are stored in the pre-rendered image storage unit 408.

ステップS1204において、画素ずれ検知部406は、第1プリレンダリング画像を構成する画素のうちの、まだ比較していない1画素に着目する(着目画素の設定)。同様に、画素ずれ検知部406は、第2プリレンダリング画像を構成する画素のうちの、まだ比較していない1画素に着目する。本ステップで設定される、第1プリレンダリング画像の着目画素と第2プリレンダリング画像の着目画素との座標は、同一である。   In step S 1204, the pixel misalignment detection unit 406 focuses on one pixel which has not been compared among the pixels constituting the first pre-rendered image (setting of a target pixel). Similarly, the pixel shift detection unit 406 focuses on one pixel which has not been compared among the pixels constituting the second pre-rendered image. The coordinates of the target pixel of the first pre-rendered image and the target pixel of the second pre-rendered image, which are set in this step, are the same.

ステップS1205において、画素ずれ検知部406は、第1プリレンダリング画像の着目画素と第2プリレンダリング画像の着目画素とを比較し、これらの画素値が一致するか判定する。ステップS1205の判定結果が真の場合、ステップS1206に進む一方、該判定結果が偽の場合、ステップS1208に進む。   In step S1205, the pixel shift detection unit 406 compares the pixel of interest of the first pre-rendered image with the pixel of interest of the second pre-rendered image, and determines whether these pixel values match. If the determination result in step S1205 is true, the process proceeds to step S1206, while if the determination result is false, the process proceeds to step S1208.

ステップS1206において、画素ずれ検知部406は、まだ比較していない画素があるか判定する。ステップS1206の判定結果が真の場合、ステップS1204に戻る一方、該判定結果が偽の場合、ステップS1207に進む。   In step S1206, the pixel shift detection unit 406 determines whether there is a pixel not compared yet. If the determination result in step S1206 is true, the process returns to step S1204. On the other hand, if the determination result is false, the process proceeds to step S1207.

ステップS1207において、画素ずれ検知部406は、判定結果YESを画素ずれ制御部404に返す。   In step S1207, the pixel shift detection unit 406 returns the determination result YES to the pixel shift control unit 404.

第1プリレンダリング画像と第2プリレンダリング画像との着目画素について、これらの画素値が一致しない場合(ステップS1205でNOの場合)、ステップS1208において、画素ずれ検知部406は、判定結果NOを画素ずれ制御部404に返す。以上が、本実施例における画素ずれ検知処理の内容である。   If these pixel values do not match for the target pixel of the first pre-rendered image and the second pre-rendered image (in the case of NO in step S1205), in step S1208, the pixel displacement detection unit 406 It returns to the deviation control unit 404. The above is the contents of the pixel shift detection processing in the present embodiment.

[実施例2]
実施例1では、画素ずれが生じないことを検知するためには、プリレンダリング画像の全ての画素に対して、画素値の比較を行う必要があった。従って、プリレンダリング画像を構成する画素数が多い場合、処理時間が多くかかってしまう。そこで本実施例では、比較対象とする画素の数を減らすことで、処理の高速化を図る。尚、以下では既述の実施例との差分について主に説明し、既述の実施例と同様の内容については説明を適宜省略する。
Example 2
In the first embodiment, in order to detect that no pixel shift occurs, it is necessary to compare pixel values for all pixels of the pre-rendered image. Therefore, when the number of pixels constituting the pre-rendered image is large, the processing time is long. Therefore, in the present embodiment, the processing speed can be increased by reducing the number of pixels to be compared. In the following, differences from the above-described embodiment will be mainly described, and the description of the same contents as the above-described embodiment will be appropriately omitted.

図13は、白地に2本の黒線が引かれた元画像1301に対して、異なるアフィン行列を用いてプリレンダリング処理を行ったときの様子を示している。プリレンダリング画像1302は、アフィン係数b、cがゼロのアフィン行列を用いてプリレンダリング処理を行った場合の結果画像を示している。また、プリレンダリング画像1303は、アフィン係数a、dがゼロのアフィン行列を用いてプリレンダリング処理を行った場合の結果画像を示している。ここでプリレンダリング画像1302は、元画像を0度又は180度回転するプリレンダリング処理の結果得られる画像であり、プリレンダリング画像1303は、元画像を90度又は270度回転するプリレンダリング処理の結果得られる画像である。本実施例の特徴は、プリレンダリング処理による回転の角度が0度、90度、180度、又は270度の場合に、プリレンダリング画像の最外枠の画素のみを比較対象にすることである。このようにする理由は、プリレンダリング処理による回転角度が0度、90度、180度、又は270度のケースで画素ずれが生じる場合、プリレンダリング画像の最外枠の画素の何れかで必ず画素ずれが現れるので、最外枠の画素のみ比較すれば十分だからである。   FIG. 13 shows a state in which pre-rendering processing is performed on an original image 1301 in which two black lines are drawn on a white background using different affine matrices. The pre-rendered image 1302 shows an image resulting from the pre-rendering process using an affine matrix in which the affine coefficients b and c are zero. Further, a pre-rendered image 1303 indicates an image obtained when the pre-rendering process is performed using an affine matrix in which the affine coefficients a and d are zero. Here, the pre-rendering image 1302 is an image obtained as a result of pre-rendering processing of rotating the original image by 0 degrees or 180 degrees, and the pre-rendering image 1303 is a result of pre-rendering processing of rotating the original image by 90 degrees or 270 degrees. It is an image obtained. The feature of this embodiment is to compare only the pixels of the outermost frame of the pre-rendered image when the angle of rotation by the pre-rendering process is 0 degree, 90 degrees, 180 degrees, or 270 degrees. The reason for doing this is that if a pixel shift occurs when the rotation angle in the pre-rendering process is 0 degrees, 90 degrees, 180 degrees, or 270 degrees, the pixels in any of the pixels in the outermost frame of the pre-rendered image must Since a shift appears, it is sufficient to compare only the pixels in the outermost frame.

図14は、本実施例における画素ずれ検知処理において、比較対象となる画素について説明する図である。図中の符号1401は、プリレンダリング画像を示す。ここで挙げるプリレンダリング画像1401は、高さ10画素、幅6画素の60個の画素から成る矩形画像である。   FIG. 14 is a diagram for explaining pixels to be compared in the pixel shift detection process in the present embodiment. Reference numeral 1401 in the figure denotes a pre-rendered image. The pre-rendered image 1401 mentioned here is a rectangular image consisting of 60 pixels of height 10 pixels and width 6 pixels.

符号1402は、実施例1で示したような全ての画素が比較対象となるケースの、プリレンダリング画像1401における比較対象の画素を示しており、比較対象の画素をグレイで表している。これに対し、符号1403は、本実施例の場合、つまり最外枠の画素のみが比較対象となるケースの、プリレンダリング画像1401における比較対象の画素を示しており、比較対象の画素をグレイで表している。符号1402、1403が示すように、これらのケースでは、全画素が比較対象のときに比較する画素の数は60、最外枠の画素のみが比較対象のときに比較する画素の数は28であるから、比較対象の画素数は50%以上低減されることになる。   Reference numeral 1402 indicates the pixel to be compared in the pre-rendered image 1401 in the case where all the pixels as described in the first embodiment are to be compared, and the pixel to be compared is represented by gray. On the other hand, reference numeral 1403 indicates the pixels to be compared in the pre-rendered image 1401 in the case of this embodiment, that is, in the case where only the pixels in the outermost frame are to be compared. It represents. As indicated by reference numerals 1402 and 1403, in these cases, the number of pixels to be compared when all pixels are to be compared is 60, and the number of pixels to be compared when only the outermost frame pixels is to be compared is 28. Because of this, the number of pixels to be compared is reduced by 50% or more.

図15は、本実施例における画素ずれ検知処理のフローチャートである。本実施例における画素ずれ検知処理は、基本的には実施例1と同様である。詳しく説明すると、ステップS1501〜ステップS1503、ステップS1505〜ステップS1508は、実施例1のステップS1201〜ステップS1203、ステップS1205〜ステップS1208と同じである(図12参照)。   FIG. 15 is a flowchart of pixel shift detection processing in the present embodiment. The pixel shift detection process in the present embodiment is basically the same as that in the first embodiment. Describing in detail, step S1501 to step S1503 and step S1505 to step S1508 are the same as step S1201 to step S1203 and step S1205 to step S1208 of the first embodiment (see FIG. 12).

しかし、ステップS1504が実施例1のステップS1204と異なる。ステップS1504において、画素ずれ検知部406はまだ比較していない1画素に着目するが、本実施例ではこの着目の際に、プリレンダリング画像の最外枠に沿って順番に着目するようにする。実施例1では上述したように、プリレンダリング画像の全ての画素について順番に着目するため、この点で本実施例は実施例1と異なる。   However, step S1504 is different from step S1204 of the first embodiment. In step S1504, the pixel shift detection unit 406 focuses on one pixel not compared yet, but in the present embodiment, it focuses on the outermost frame of the pre-rendered image in order at this focus. In the first embodiment, as described above, the present embodiment differs from the first embodiment in this respect, since all the pixels of the pre-rendered image are focused in order.

本実施例により、画素ずれ検知処理を短時間で終了させることが可能になる。   According to this embodiment, it is possible to finish the pixel shift detection process in a short time.

[実施例3]
上述の実施例では、N>Mの関係を満たすときは必ず、画像オブジェクトに対する画素ずれ検知処理が実行される。しかし、画像オブジェクトの中には、画素ずれが発生したとしても、ユーザがそのことに気付きにくいものが存在する。例えば、元画像が白黒2色の画素のみから構成される場合、黒画素がずれるとユーザは画素ずれに容易に気付き易い一方、元画像が様々な色の画素から構成される場合、1色の画素がずれる程度ではユーザが画素ずれに気付くことは非常に難しい。従って本実施例では、元画像中の色数が多い場合に、画素ずれ検知処理をスキップする。尚、以下では既述の実施例との差分について主に説明し、既述の実施例と同様の内容については説明を適宜省略する。
[Example 3]
In the embodiment described above, the pixel shift detection process is performed on the image object whenever the relationship of N> M is satisfied. However, among the image objects, there are objects which are difficult for the user to notice even if a pixel shift occurs. For example, when the original image is composed of only black and white two color pixels, when the black pixel is shifted, the user can easily notice the pixel shift, while when the original image is composed of pixels of various colors, It is very difficult for the user to notice the pixel shift as far as the pixel shifts. Therefore, in the present embodiment, when the number of colors in the original image is large, the pixel shift detection process is skipped. In the following, differences from the above-described embodiment will be mainly described, and the description of the same contents as the above-described embodiment will be appropriately omitted.

図16は、本実施例におけるホスト装置101の機能構成を示すブロック図である。本実施例におけるホスト装置101は、実施例1で示した構成(図4参照)に加えて、元画像判定部1609を更に有する。元画像判定部1609は、元画像中の色数が予め決められた閾値Lを越えるか判定する。そして、この判定結果に応じて、画素ずれ制御部1604は、画素ずれ検知処理を実行するか否かを制御する。   FIG. 16 is a block diagram showing a functional configuration of the host apparatus 101 in the present embodiment. The host device 101 in the present embodiment further includes an original image determination unit 1609 in addition to the configuration (see FIG. 4) shown in the first embodiment. The original image determination unit 1609 determines whether the number of colors in the original image exceeds a predetermined threshold L. Then, in accordance with the determination result, the pixel shift control unit 1604 controls whether to execute the pixel shift detection process.

図17は、本実施例における画素ずれ検知処理のフローチャートである。本実施例における画素ずれ検出処理は、基本的には実施例1と同様であるが(図11参照)、元画像に含まれる色の総数が所定の閾値より多いか判定する元画像判定処理(ステップS1704)を更に有する点で、実施例1と異なる。尚、元画像判定処理の詳細は、図18を用いて後述する。図17に示すように、元画像に含まれる色の総数が所定の閾値より多い場合は、画素ずれ検知処理を実行しない(ステップS1704でYES→ステップS1708)。   FIG. 17 is a flowchart of pixel shift detection processing in the present embodiment. The pixel shift detection process in this embodiment is basically the same as that in the first embodiment (see FIG. 11), but it is determined whether the total number of colors included in the original image is larger than a predetermined threshold ( This embodiment differs from the first embodiment in that step S1704) is further included. The details of the original image determination process will be described later with reference to FIG. As shown in FIG. 17, when the total number of colors included in the original image is larger than a predetermined threshold value, pixel shift detection processing is not executed (YES in step S1704 → step S1708).

<元画像判定処理について>
以下、元画像に含まれる色の総数が所定の閾値より多いか判定する元画像判定処理(図17のステップS1704)について、図18を用いて説明する。
<About original image judgment processing>
Hereinafter, an original image determination process (step S1704 in FIG. 17) of determining whether the total number of colors included in the original image is larger than a predetermined threshold will be described with reference to FIG.

ステップS1801において、元画像判定部1609は、元画像を構成する画素のうち未処理の1画素に着目する(着目画素の設定)。   In step S1801, the original image determination unit 1609 focuses on one unprocessed pixel among the pixels constituting the original image (setting of a target pixel).

ステップS1802において、元画像判定部1609は、着目画素の色を導出し、該導出した色の情報(例えば、RGB形式の場合、RGB各値の組み合わせ)を保存する。   In step S1802, the original image determination unit 1609 derives the color of the pixel of interest, and stores the derived color information (for example, a combination of RGB values in the case of the RGB format).

ステップS1803において、元画像判定部1609は、元画像の全画素の色の導出が終了したか判定する。ステップS1803の判定結果が真の場合、ステップS1804に進む一方、該判定結果が偽の場合、ステップS1801に戻る。   In step S1803, the original image determination unit 1609 determines whether the derivation of the colors of all the pixels of the original image has ended. If the determination result in step S1803 is true, the process proceeds to step S1804. If the determination result is false, the process returns to step S1801.

ステップS1804において、元画像判定部1609は、ステップS1801〜ステップ1803で導出した色の情報(例えば、RGB形式の場合、各画素のRGB値)を用いて、元画像に含まれる色の総数を導出する。   In step S 1804, the original image determination unit 1609 derives the total number of colors included in the original image using the color information (for example, in the case of RGB format, RGB values of each pixel) derived in steps S 1801 to 1803. Do.

ステップS1805において、元画像判定部1609は、ステップS1804で導出した元画像に含まれる色の総数が所定の閾値(Lとする)を越えるか判定する。ステップS1805の判定結果が真の場合、ステップS1806に進む一方、該判定結果が偽の場合、ステップS1807に進む。   In step S1805, the original image determination unit 1609 determines whether the total number of colors included in the original image derived in step S1804 exceeds a predetermined threshold (L). If the determination result in step S1805 is true, the process proceeds to step S1806, while if the determination result is false, the process proceeds to step S1807.

元画像に含まれる色の総数が所定の閾値より大きい場合、ステップS1806において、元画像判定部1609は、判定結果YESを画素ずれ制御部404に返す。   If the total number of colors included in the original image is larger than the predetermined threshold, the original image determination unit 1609 returns a determination result YES to the pixel shift control unit 404 in step S1806.

元画像に含まれる色の総数が所定の閾値以下の場合、ステップS1807において、元画像判定部1609は、判定結果NOを画素ずれ制御部404に返す。以上が、本実施例における元画像判定処理の内容である。   If the total number of colors included in the original image is less than or equal to the predetermined threshold value, the original image determination unit 1609 returns the determination result NO to the pixel shift control unit 404 in step S1807. The above is the contents of the original image determination processing in the present embodiment.

本実施例により、元画像の色数が多い画像オブジェクトに対して画素ずれ検知処理を実行しないよう制御することで、画素ずれ検知処理を高速に終了させることが可能になる。尚、本実施例は、実施例2と組み合わせても良い。   According to this embodiment, by performing control so as not to execute pixel shift detection processing on an image object having a large number of colors of the original image, pixel shift detection processing can be completed at high speed. The present embodiment may be combined with the second embodiment.

[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
[Other embodiments]
The present invention supplies a program that implements one or more functions of the above-described embodiments to a system or apparatus via a network or storage medium, and one or more processors in a computer of the system or apparatus read and execute the program. Can also be realized. It can also be implemented by a circuit (eg, an ASIC) that implements one or more functions.

101 ホスト装置
103 レンダリング装置
403 中間データ作成部
406 画素ずれ検知部
407 画像オブジェクトデータ変換部
101 Host Device 103 Rendering Device 403 Intermediate Data Creation Unit 406 Pixel Deviation Detection Unit 407 Image Object Data Conversion Unit

Claims (12)

レンダリング装置でラスタ画像を作成するために必要な中間データを、PDLデータに基づき作成するホスト装置であって、
前記PDLデータに含まれる画像オブジェクトデータと、前記ホスト装置において処理可能なビット精度と、前記レンダリング装置において処理可能なビット精度とに基づき、前記画像オブジェクトデータの不正描画が発生するか検知する検知手段と、
前記検知手段が、前記不正描画の発生を検知した場合、前記画像オブジェクトデータを変換する変換手段と、
前記変換された画像オブジェクトデータに基づき、前記中間データを作成する作成手段と
を有することを特徴とするホスト装置。
A host device for creating intermediate data necessary for creating a raster image with a rendering device based on PDL data,
A detection means for detecting whether or not the image object data is illegally drawn based on the image object data contained in the PDL data, the bit accuracy processable by the host device, and the bit accuracy processable by the rendering device When,
Conversion means for converting the image object data when the detection means detects the occurrence of the incorrect drawing;
And a creating unit configured to create the intermediate data based on the converted image object data.
前記PDLデータを解釈する解釈手段を更に有し、
前記作成手段は、前記解釈手段による解析結果に基づき、前記中間データを作成することを特徴とする請求項1に記載のホスト装置。
The image processing apparatus further comprises interpretation means for interpreting the PDL data,
The host device according to claim 1, wherein the creation unit creates the intermediate data based on an analysis result by the interpretation unit.
前記ホスト装置において処理可能なビット精度が、前記レンダリング装置において処理可能なビット精度より大きい場合、前記検知手段は、前記不正描画が発生するか検知する一方、前記ホスト装置において処理可能なビット精度が、前記レンダリング装置において処理可能なビット精度以下の場合、前記検知手段は、前記不正描画が発生するか検知しないことを特徴とする請求項1又は2に記載のホスト装置。   If the bit accuracy that can be processed by the host device is larger than the bit accuracy that can be processed by the rendering device, the detection unit detects whether the incorrect drawing occurs, while the bit accuracy that can be processed by the host device is The host device according to claim 1 or 2, wherein the detection unit does not detect whether or not the incorrect drawing occurs if the bit accuracy is less than or equal to the bit accuracy that can be processed by the rendering device. 前記画像オブジェクトデータは、元画像と、該元画像をどのように拡縮、移動、回転するかを決定するためのアフィン行列とから成ることを特徴とする請求項1乃至3の何れか1項に記載のホスト装置。   4. The image object data according to any one of claims 1 to 3, wherein the image object data comprises an original image and an affine matrix for determining how to scale, move, and rotate the original image. Host device described. 前記変換手段は、前記画像オブジェクトデータに含まれる前記元画像を、該元画像に前記アフィン行列を適用した画像に変換し、かつ、前記画像オブジェクトデータに含まれる前記アフィン行列を、該画像を等倍出力する行列に変換することを特徴とする請求項4に記載のホスト装置。   The conversion means converts the original image contained in the image object data into an image obtained by applying the affine matrix to the original image, and the affine matrix contained in the image object data is the image, etc. 5. The host device according to claim 4, wherein the host device is converted into a double output matrix. 前記検知手段は、
前記元画像に、前記ホスト装置において処理可能なビット精度のアフィン係数から成るアフィン行列を適用することで、第1の画像を作成する作成手段と、
前記元画像に、前記レンダリング装置において処理可能なビット精度のアフィン係数から成るアフィン行列を適用することで、第2の画像を作成する作成手段と、
前記第1の画像と前記第2の画像との各画素値が一致するか判定する判定手段と
を有し、
前記判定手段が、前記第1の画像と前記第2の画像との画素値が一致しないと判定した場合、前記検知手段は、前記不正描画が発生することを検知することを特徴とする請求項4又は5に記載のホスト装置。
The detection means is
Creating means for creating a first image by applying, to the original image, an affine matrix composed of bit precision affine coefficients that can be processed by the host device;
Creating means for creating a second image by applying, to the original image, an affine matrix consisting of affine coefficients that can be processed by the rendering apparatus and having bit precision;
And determining means for determining whether the pixel values of the first image and the second image match.
When the determination means determines that the pixel values of the first image and the second image do not match, the detection means detects that the incorrect drawing occurs. The host device according to 4 or 5.
前記判定手段は、前記第1の画像と前記第2の画像との最外枠の画素について、各画素値が一致するか判定することを特徴とする請求項6に記載のホスト装置。   7. The host apparatus according to claim 6, wherein the determination unit determines whether the pixel values of the outermost pixels of the first image and the second image coincide with each other. 前記元画像に含まれる色の総数を導出する導出手段を更に有し、
前記色の総数が所定の閾値より大きい場合、前記検知手段は、前記不正描画が発生するか検知しない一方、前記色の総数が所定の閾値以下の場合、前記検知手段は、前記不正描画が発生するか検知することを特徴とする請求項4乃至7の何れか1項に記載のホスト装置。
It further comprises derivation means for deriving the total number of colors included in the original image,
If the total number of colors is greater than a predetermined threshold, the detection means does not detect whether the incorrect drawing occurs or not, if the total number of colors is less than or equal to the predetermined threshold, the detection means generates the incorrect drawing The host device according to any one of claims 4 to 7, wherein the host device is detected.
前記レンダリング装置は、前記中間データに基づきラスタ画像を作成するハードウェアレンダラを有することを特徴とする請求項1乃至8の何れか1項に記載のホスト装置。   The host device according to any one of claims 1 to 8, wherein the rendering device has a hardware renderer that creates a raster image based on the intermediate data. PDLデータに基づき中間データを作成するホスト装置と、該作成された中間データに基づきラスタ画像を作成するレンダリング装置とを有するシステムであって、
前記ホスト装置は、
前記PDLデータに含まれる画像オブジェクトデータと、前記ホスト装置において処理可能なビット精度と、前記レンダリング装置において処理可能なビット精度とに基づき、前記画像オブジェクトデータの不正描画が発生するか検知する検知手段と、
前記検知手段が、前記不正描画の発生を検知した場合、前記画像オブジェクトデータを変換する変換手段と、
前記変換された画像オブジェクトデータに基づき、前記中間データを作成する作成手段と
を有し、
前記レンダリング装置は、前記中間データに基づきラスタ画像を作成するハードウェアレンダラを有することを特徴とするシステム。
A system comprising: a host device that creates intermediate data based on PDL data; and a rendering device that creates a raster image based on the created intermediate data,
The host device is
A detection means for detecting whether or not the image object data is illegally drawn based on the image object data contained in the PDL data, the bit accuracy processable by the host device, and the bit accuracy processable by the rendering device When,
Conversion means for converting the image object data when the detection means detects the occurrence of the incorrect drawing;
Creating means for creating the intermediate data based on the converted image object data;
The system according to claim 1, wherein the rendering device comprises a hardware renderer for creating a raster image based on the intermediate data.
レンダリング装置でラスタ画像を作成するために必要な中間データを、PDLデータに基づき作成するホスト装置で実行される方法であって、
前記PDLデータに含まれる画像オブジェクトデータと、前記ホスト装置において処理可能なビット精度と、前記レンダリング装置において処理可能なビット精度とに基づき、前記画像オブジェクトデータの不正描画が発生するか検知するステップと、
前記不正描画の発生を検知した場合、前記画像オブジェクトデータを変換するステップと、
前記変換された画像オブジェクトデータに基づき、前記中間データを作成するステップと
を有することを特徴とする方法。
A method executed by a host device for creating intermediate data necessary for creating a raster image with a rendering device based on PDL data,
Detecting whether illegal drawing of the image object data occurs based on image object data included in the PDL data, bit accuracy that can be processed by the host device, and bit accuracy that can be processed by the rendering device; ,
Converting the image object data when the occurrence of the incorrect drawing is detected;
Creating the intermediate data based on the transformed image object data.
コンピュータに、請求項11に記載の方法を実行させるための、プログラム。   A program for making a computer execute the method according to claim 11.
JP2017200375A 2017-10-16 2017-10-16 Host device, system, method, and program Pending JP2019074916A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017200375A JP2019074916A (en) 2017-10-16 2017-10-16 Host device, system, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017200375A JP2019074916A (en) 2017-10-16 2017-10-16 Host device, system, method, and program

Publications (1)

Publication Number Publication Date
JP2019074916A true JP2019074916A (en) 2019-05-16

Family

ID=66544771

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017200375A Pending JP2019074916A (en) 2017-10-16 2017-10-16 Host device, system, method, and program

Country Status (1)

Country Link
JP (1) JP2019074916A (en)

Similar Documents

Publication Publication Date Title
JP5643574B2 (en) Image processing apparatus and image processing method
JP6029344B2 (en) Image processing apparatus, image processing method, and program
US20110075165A1 (en) Image processing system, image processing method and computer readable medium
JP2010034683A (en) Image processing apparatus, and program
EP3211519B1 (en) Method of enhancing quality of image object included in compound document and apparatus for performing method
JP7433912B2 (en) Information processing device, control method for information processing device, program, and storage medium
US8340409B2 (en) Systems and methods for outlining image differences
US8150185B2 (en) Image processing for generating a thin line binary image and extracting vectors
US8907956B2 (en) Line stroking method and system
CN117573048A (en) Automatic document watermark generation method and terminal
EP3032498B1 (en) Image processing apparatus, image processing method, and a program
JP3817473B2 (en) Image output apparatus and image processing method
JP2019074916A (en) Host device, system, method, and program
JP6330790B2 (en) Print control system, print control apparatus, and program
US8891130B2 (en) Print control terminal device, image forming apparatus, print control method, and image forming method
JP6821924B2 (en) Image processing device, image processing method
JP2007083556A (en) Image processor and image processing method
JP6612167B2 (en) Rasterization processing apparatus, rasterization processing method, and program
JP2007081886A (en) Drawing processing apparatus
JP6157234B2 (en) Image processing apparatus, image processing method, and program
JP5326858B2 (en) Image processing apparatus and image processing program
JP6700953B2 (en) Information processing apparatus, information processing method, and program
JP2019192087A (en) Information processing device, program, and information processing method
JP4798008B2 (en) Image processing apparatus and image processing program
JP5477915B2 (en) Print data generation apparatus, print data generation method, and program