JP2018058297A - Image formation output control device and image formation output control program - Google Patents

Image formation output control device and image formation output control program Download PDF

Info

Publication number
JP2018058297A
JP2018058297A JP2016198401A JP2016198401A JP2018058297A JP 2018058297 A JP2018058297 A JP 2018058297A JP 2016198401 A JP2016198401 A JP 2016198401A JP 2016198401 A JP2016198401 A JP 2016198401A JP 2018058297 A JP2018058297 A JP 2018058297A
Authority
JP
Japan
Prior art keywords
information
image
duplicate
unit
objects
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
JP2016198401A
Other languages
Japanese (ja)
Inventor
本橋 弘臣
Hiroomi Motohashi
弘臣 本橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2016198401A priority Critical patent/JP2018058297A/en
Priority to US15/726,339 priority patent/US10185903B2/en
Publication of JP2018058297A publication Critical patent/JP2018058297A/en
Pending legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

PROBLEM TO BE SOLVED: To efficiently perform printing output containing image data common to plural pages.SOLUTION: An image formation output control device receives from a processing execution control device for controlling execution of image formation output processing command information of image formation output containing image information, compares a plurality of image information objects being unit images contained in the image information each other, detects the overlapping image information objects having the same contents, rewrites the contents of the objects referring to the image information object having the same contents but a different identification ID so that these objects refer to the image information object having the same identification ID, performs object caching processing to the image information object having the same contents but a different identification ID, and reduces the number of times of drawing with respect to the image object having the same contents but a different identification ID.SELECTED DRAWING: Figure 22

Description

本発明は、画像形成出力制御装置、画像形成出力制御プログラムに関する。   The present invention relates to an image formation output control apparatus and an image formation output control program.

オンデマンド印刷などで使用されるプロダクション市場向けのプリンタは、一般的に、プリンタエンジン本体とDFE(Digital Front End)とを組み合わせて構成される。DFEには、プリンタエンジン側での印刷出力時に最終的に参照されるデータである印刷出力用データ(以降、ラスターデータと呼ぶ)を入稿データに基づいて生成するRIP(Raster Image Processor)処理(または「レンダリング処理」ともいう)を行うための専用ソフトウェアが搭載されている。   A printer for the production market used for on-demand printing or the like is generally configured by combining a printer engine main body and a DFE (Digital Front End). The DFE includes a RIP (Raster Image Processor) process for generating print output data (hereinafter referred to as raster data), which is data that is finally referred to during print output on the printer engine side, based on the submitted data ( Alternatively, dedicated software for performing “rendering processing”) is installed.

RIP処理時に参照される入稿データは、PDF(Portable Document Format)ファイル形式での利用が一般的となっている。また、ラスターデータは、DFEからプリントエンジンに転送され、印刷出力される。PDFファイルには、オブジェクトという単位の画像情報で、画像データ、描画コマンド、テキストデータ、フォントデータが収められている。   The input data that is referred to at the time of RIP processing is generally used in a PDF (Portable Document Format) file format. The raster data is transferred from the DFE to the print engine and printed out. The PDF file stores image data, drawing commands, text data, and font data in units of image information called objects.

このようなオブジェクトのうち、画像データを格納するための画像情報オブジェクトである「Image XObject」や、描画コマンドが格納される描画情報オブジェクトである「Form XObject」については、PDFファイル内の複数のページから同一のオブジェクトを参照することが許容されている。あるPDFファイルにおいて、複数のページから参照されている画像情報オブジェクトや描画情報オブジェクトのことを、再利用オブジェクトと呼ぶ。   Among such objects, “Image XObject” that is an image information object for storing image data and “Form XObject” that is a drawing information object in which a drawing command is stored include a plurality of pages in the PDF file. It is allowed to refer to the same object from In a certain PDF file, an image information object or a drawing information object that is referenced from a plurality of pages is called a reuse object.

また、このようなプリンタでは、一枚毎に個人情報などの内容が変更されている変動情報部分と企業ロゴなどの内容が変更されない固定情報部分とを印刷する、いわゆるバリアブル印刷が行われることがある。バリアブル印刷を行う際には、各ページに共通の画像データをImage XObjectとして格納し、印刷する各ページの内容を定義するためのオブジェクトからImage XObjectを参照する形式でPDFファイルを作成することができる。このようにすると、PDFファイルのファイルサイズを小さくする効果やDFEにおけるRIP処理の効率を高めるといった効果を得ることが可能である。   Also, in such a printer, so-called variable printing is performed, in which a variable information portion in which the content such as personal information is changed for each sheet and a fixed information portion in which the content such as a company logo is not changed are printed. is there. When performing variable printing, image data common to each page can be stored as an Image XObject, and a PDF file can be created in a format that refers to the Image XObject from an object for defining the contents of each page to be printed. . In this way, it is possible to obtain the effect of reducing the file size of the PDF file and the effect of increasing the efficiency of RIP processing in DFE.

また、複数のページに共通する画像データから得られたラスターデータをDFE内部の記憶媒体に保存(キャッシュ)することで、別ページのRIP処理を高速化する、いわゆるオブジェクトキャッシング技術が知られている(例えば、特許文献1参照)。   Also, a so-called object caching technique is known in which raster data obtained from image data common to a plurality of pages is saved (cached) in a storage medium inside the DFE, thereby speeding up RIP processing of another page. (For example, refer to Patent Document 1).

特許文献1には、RIP処理においてオブジェクトキャッシングを行う技術が開示されている。例えば、PC(Personal Computer)上で、Microsoft Officeなどのオフィスアプリケーションプログラムを使用して文書を作成・編集し、Word文書をPDFファイルに変換する場合、Adobe AcrobatやCubePDFのようなPDF生成プログラムが使用される。   Patent Document 1 discloses a technique for performing object caching in RIP processing. For example, when creating and editing a document using an office application program such as Microsoft Office on a PC (Personal Computer) and converting a Word document into a PDF file, a PDF generation program such as Adobe Acrobat or CubePDF is used. Is done.

上述したようなアプリケーションプログラム上で、PDFファイルに変換したい文書を印刷するだけでPDFファイルを生成することが可能な、いわゆるプリンタドライバタイプのPDF生成プログラムを使用して生成されたPDFファイルにおいては、同一の画像データであっても、オブジェクトを識別する識別情報が異なるオブジェクトが存在しているPDFファイルが生成されてしまいがちである。   In a PDF file generated using a so-called printer driver type PDF generation program that can generate a PDF file by simply printing a document to be converted to a PDF file on the application program as described above, Even with the same image data, PDF files tend to be generated in which objects having different identification information for identifying objects exist.

このような同一の画像データであってもオブジェクトの識別情報が異なる場合には、その画像データのオブジェクトに対してはオブジェクトキャッシングを適用できないため、RIP処理を効率よく行うことができない。   Even if the same image data is used, if the object identification information is different, object caching cannot be applied to the object of the image data, so the RIP process cannot be performed efficiently.

本発明は、このような課題を解決するためになされたものであり、複数のページに共通する画像データが含まれる印刷出力を効率よく行うことを目的とする。   SUMMARY An advantage of some aspects of the invention is that print output including image data common to a plurality of pages is efficiently performed.

上記課題を解決するために、本発明の一態様は、画像形成出力対象の画像を出力する命令情報を画像形成出力処理の実行を制御する処理実行制御装置から受信し、前記命令情報を構成する単位画像である複数のオブジェクトに含まれる画像情報を比較し、前記オブジェクトを識別する識別情報がそれぞれ異なる複数の前記オブジェクトにおいて、前記画像情報が重複する重複画像情報オブジェクトを検知する重複画像情報検知部と、画像形成装置が画像形成出力に際して参照する描画情報を前記命令情報に基づいて描画情報生成部に生成させる描画情報生成制御部と、前記画像情報が描画された結果である描画結果情報を記憶する描画結果記憶部と、を含み、前記描画情報生成制御部は、検知された前記重複画像情報オブジェクトに含まれる画像情報の描画結果情報を用い、前記描画情報生成部に前記描画情報を生成させることを特徴とする。   In order to solve the above problems, according to one aspect of the present invention, command information for outputting an image to be imaged and output is received from a process execution control device that controls execution of an image formation output process, and the command information is configured A duplicate image information detection unit that compares image information included in a plurality of objects that are unit images, and detects a duplicate image information object in which the image information overlaps in a plurality of the objects having different identification information for identifying the objects. A drawing information generation control unit that causes the drawing information generation unit to generate drawing information to be referred to when the image forming apparatus performs image formation output based on the command information; and drawing result information that is a result of drawing the image information And the drawing information generation control unit is included in the detected duplicate image information object. Using the drawing result information of the image information, characterized in that to generate the drawing data to the drawing data generating section.

本発明によれば、複数のページに共通する画像データが含まれる印刷出力を効率よく行うことができる。   According to the present invention, it is possible to efficiently perform print output including image data common to a plurality of pages.

本発明の実施形態に係るシステムの運用形態を示す図。The figure which shows the operation | use form of the system which concerns on embodiment of this invention. 本発明の実施形態に係る情報処理装置のハードウェア構成を示すブロック図。The block diagram which shows the hardware constitutions of the information processing apparatus which concerns on embodiment of this invention. 本発明の実施形態に係るDFEの機能構成を示すブロック図。The block diagram which shows the function structure of DFE which concerns on embodiment of this invention. 本発明の実施形態に係るRIPエンジンの機能構成を示すブロック図。The block diagram which shows the function structure of the RIP engine which concerns on embodiment of this invention. 本発明の実施形態に係るプリフライト処理部およびレンダリング処理部の機能構成を示す図。The figure which shows the function structure of the preflight process part which concerns on embodiment of this invention, and a rendering process part. 本発明の実施形態に係るオブジェクト記憶部の機能構成を示すブロック図。The block diagram which shows the function structure of the object memory | storage part which concerns on embodiment of this invention. 本発明の実施形態に係るPDFファイル情報構成を示す図。The figure which shows the PDF file information structure which concerns on embodiment of this invention. 本発明の実施形態に係るPDFファイルの本体部分の情報構成を示す図。The figure which shows the information structure of the main-body part of the PDF file which concerns on embodiment of this invention. 本発明の実施形態に係るImage XObject管理テーブルの情報構成を示す図。The figure which shows the information structure of the Image XObject management table which concerns on embodiment of this invention. 本発明の実施形態に係るForm XObject管理テーブルの情報構成を示す図。The figure which shows the information structure of the Form XObject management table which concerns on embodiment of this invention. 本発明の実施形態に係るシステムの全体動作を示すシーケンス図。The sequence diagram which shows the whole operation | movement of the system which concerns on embodiment of this invention. 本発明の実施形態に係るRIP処理の流れを示すフローチャート。The flowchart which shows the flow of the RIP process which concerns on embodiment of this invention. 本発明の実施形態に係る重複画像データを検知する処理の流れを示すフローチャート。5 is a flowchart showing a flow of processing for detecting duplicate image data according to the embodiment of the present invention. 本発明の実施形態に係る重複画像データを検知する処理の流れを示すフローチャート。5 is a flowchart showing a flow of processing for detecting duplicate image data according to the embodiment of the present invention. 本発明の実施形態に係る重複画像データを検知する処理の流れを示すフローチャート。5 is a flowchart showing a flow of processing for detecting duplicate image data according to the embodiment of the present invention. 本発明の実施形態に係る重複画像データを削除する処理の流れを示すフローチャート。6 is a flowchart showing a flow of processing for deleting duplicate image data according to the embodiment of the present invention. 本発明の実施形態に係る重複描画コマンドを検知する処理の流れを示すフローチャート。6 is a flowchart showing a flow of processing for detecting an overlapping drawing command according to the embodiment of the present invention. 本発明の実施形態に係る重複描画コマンドを検知する処理の流れを示すフローチャート。6 is a flowchart showing a flow of processing for detecting an overlapping drawing command according to the embodiment of the present invention. 本発明の実施形態に係る重複描画コマンドを検知する処理の流れを示すフローチャート。6 is a flowchart showing a flow of processing for detecting an overlapping drawing command according to the embodiment of the present invention. 本発明の実施形態に係る重複描画コマンドを削除する処理の流れを示すフローチャート。6 is a flowchart showing a flow of processing for deleting a duplicate drawing command according to an embodiment of the present invention. 本発明の実施形態に係るPDF形式のファイルを例示した図。The figure which illustrated the file of the PDF format which concerns on embodiment of this invention. 本発明の実施形態に係るプリフライト処理部の他の構成を示す図。The figure which shows the other structure of the preflight process part which concerns on embodiment of this invention. オフィスアプリケーションプログラムを用いて作成された文書ファイルを例示した図。The figure which illustrated the document file created using the office application program. 文書ファイルをPDFファイルに変換する処理の流れを示すシーケンス図。The sequence diagram which shows the flow of the process which converts a document file into a PDF file.

以下、図面を参照して、本発明の実施形態について説明する。本実施形態においては、印刷ジョブを生成するクライアント端末2と、受信した印刷ジョブに基づいて画像形成出力を実行する画像形成装置1を含む画像処理システム3を例に説明を行う。   Embodiments of the present invention will be described below with reference to the drawings. In this embodiment, an image processing system 3 including a client terminal 2 that generates a print job and an image forming apparatus 1 that executes image formation output based on the received print job will be described as an example.

このような構成において、例えば、PC上で、オフィスアプリケーションプログラムを使用して作成した文書を印刷出力する際に、作成された文書からPDFファイルが生成されることがある。図23は、同一の内容であって、オブジェクトの識別情報が異なるオブジェクトが存在しているWord文書を例示した図である。図23の(A)および(B)においては、それぞれ、同一の画像データである企業ロゴPが含まれている。   In such a configuration, for example, when a document created using an office application program is printed out on a PC, a PDF file may be generated from the created document. FIG. 23 is a diagram illustrating a Word document in which objects having the same content but different object identification information exist. In FIGS. 23A and 23B, the company logo P, which is the same image data, is included.

図23に示すようなWord文書は、図24に示す処理に従ってPDFファイルに変換される。図24は、オフィスアプリケーションプログラムを使用して作成された文書をプリンタドライバタイプのPDF生成プログラムを使用してPDFファイルに変換する処理を示すシーケンス図である。なお、図24においては、Word文書からPDFファイルに変換することを「印刷」と定義している。   A Word document as shown in FIG. 23 is converted into a PDF file according to the process shown in FIG. FIG. 24 is a sequence diagram showing processing for converting a document created using the office application program into a PDF file using a printer driver type PDF generation program. In FIG. 24, conversion from a Word document to a PDF file is defined as “printing”.

図24に示すように、オフィスアプリケーションプログラムは、PCのユーザによって行われる印刷指示操作を受け付ける(S2401)と、文書の印刷を開始し(S2402)、1ページ目から印刷を開始する(S2403)命令情報をPDF生成プログラムに受け渡す。   As shown in FIG. 24, when the office application program receives a print instruction operation performed by the user of the PC (S2401), the office application program starts printing the document (S2402) and starts printing from the first page (S2403). Pass information to PDF generation program.

この命令情報には、企業ロゴPの画像を印刷する指示(S2405)、本文A1を印刷する指示(S2407)が含まれる。PDF生成プログラムは、命令情報に基づいて順次、Pageオブジェクト(S2404)、企業ロゴPの画像からImage XObject(S2406)、本文A1からForm XObject(S2408)を生成する。   The command information includes an instruction to print an image of the company logo P (S2405) and an instruction to print the text A1 (S2407). The PDF generation program sequentially generates a Page object (S2404), an image XObject (S2406) from the image of the company logo P, and a Form XObject (S2408) from the text A1 based on the command information.

1ページ目の印刷が終了する(S2409)と、オフィスアプリケーションプログラムは、1ページ目の印刷を開始する(S2410)命令情報をPDF生成プログラムに受け渡す。   When the printing of the first page is completed (S2409), the office application program starts the printing of the first page (S2410) and transfers the command information to the PDF generation program.

この命令情報には、企業ロゴPの画像を印刷する指示(S2412)、本文B1を印刷する指示(S2414)が含まれる。PDF生成プログラムは、命令情報に基づいて順次、Pageオブジェクト(S2411)、企業ロゴPの画像からImage XObject(S2413)、本文A1からForm XObject(S2415)を生成する。   This instruction information includes an instruction to print an image of the company logo P (S2412) and an instruction to print the body text B1 (S2414). The PDF generation program sequentially generates a Page object (S2411), an image XObject (S2413) from the image of the company logo P, and a Form XObject (S2415) from the text A1 based on the command information.

2ページ目の印刷が終了する(S2416)と、オフィスアプリケーションプログラムは、印刷を終了させ(S2417)、印刷終了を通知する(S2418)。図24において説明したように、プリンタドライバタイプのPDF生成プログラムにおいては、S2406およびS2411のそれぞれの処理において、Image XObjectを生成するために、オフィスアプリケーションプログラムから受け取る印刷対象の画像データが同一であるか否かを判断する処理は、一般的には行われない。   When printing of the second page ends (S2416), the office application program ends printing (S2417) and notifies the end of printing (S2418). As described with reference to FIG. 24, in the printer driver type PDF generation program, whether the image data to be printed received from the office application program is the same in order to generate the Image XObject in the processes of S2406 and S2411. Generally, the process of determining whether or not is not performed.

したがって、このような処理を経た場合、企業ロゴPの画像データのように、同一の内容であって、オブジェクトの識別情報が異なるオブジェクトが存在している場合には、それぞれの画像データが独立したオブジェクトとしてPDFファイルに埋め込まれてしまう。このように、同一の内容であって、オブジェクトの識別情報が異なるオブジェクトが存在しているPDFファイルであっても、印刷出力を効率よく行うことが本発明の要旨である。   Therefore, when such processing is performed, if there are objects having the same contents and different object identification information, such as the image data of the company logo P, each image data is independent. It will be embedded in the PDF file as an object. As described above, the gist of the present invention is to efficiently print out even PDF files having the same contents and different object identification information.

図1は、本実施形態に係る画像処理システム3の運用形態を示す図である。図1に示すように、画像処理システム3は、画像形成装置1、クライアント端末2がネットワークを介して接続されて構成されている。   FIG. 1 is a diagram illustrating an operation mode of an image processing system 3 according to the present embodiment. As shown in FIG. 1, the image processing system 3 is configured by connecting an image forming apparatus 1 and a client terminal 2 via a network.

画像形成装置1は、電子写真方式やインクジェット方式等によって印刷出力動作を行うプリンタであり、DFE100およびプリントエンジン150を含む。DFE100は、プリントエンジン150にデジタル画像形成出力を実行させるための制御部である画像形成出力制御装置として機能する。また、プリントエンジン150は感光体や、現像ユニット、搬送機構等の画像形成部を備えており、画像形成出力装置として機能する。そのため、DFE100は、プリントエンジン150が印刷出力を実行する際に参照する画像データであるラスターデータを生成するためにRIP(Raster Image Processor)処理を実行する。ラスターデータが描画情報である。   The image forming apparatus 1 is a printer that performs a print output operation by an electrophotographic method, an inkjet method, or the like, and includes a DFE 100 and a print engine 150. The DFE 100 functions as an image formation output control device that is a control unit for causing the print engine 150 to execute digital image formation output. The print engine 150 includes an image forming unit such as a photoreceptor, a developing unit, and a transport mechanism, and functions as an image forming output device. Therefore, the DFE 100 executes RIP (Raster Image Processor) processing to generate raster data that is image data that is referred to when the print engine 150 executes print output. Raster data is drawing information.

画像形成装置1によって印刷出力を行う場合、クライアント端末2からDFE100にデータを送信する。DFE100は、上述したようにRIP処理を行い、RIP処理によって生成されたラスターデータをプリントエンジン150に送信する。プリントエンジン150は、受信したラスターデータに基づいて印刷出力を実行する。したがって、RIP処理前の印刷データをDFE100に送信することによって、画像形成装置1に印刷出力を実行させることが可能である。   When print output is performed by the image forming apparatus 1, data is transmitted from the client terminal 2 to the DFE 100. The DFE 100 performs RIP processing as described above, and transmits raster data generated by the RIP processing to the print engine 150. The print engine 150 executes print output based on the received raster data. Therefore, it is possible to cause the image forming apparatus 1 to execute print output by transmitting print data before RIP processing to the DFE 100.

クライアント端末2は、システムを使用するオペレータが操作する情報処理端末であり、一般的なPC(Personal Computer)等によって実現される。オペレータは、クライアント端末2を操作してDFE100にデータを送信する。   The client terminal 2 is an information processing terminal operated by an operator who uses the system, and is realized by a general PC (Personal Computer) or the like. The operator operates the client terminal 2 to transmit data to the DFE 100.

次に、本実施形態に係るDFE100、クライアント端末2などの情報処理装置のハードウェア構成について図2を参照して説明する。図2に示すように、DFE100、クライアント端末2は、一般的なサーバやPC(Personal Computer)等と同様の構成を含む。即ち、DFE100は、CPU(Central Processing Unit)10、RAM(Random Access Memory)20、ROM(Read Only Memory)30、HDD(Hard Disk Drive)40およびI/F50がバス80を介して接続されている。また、I/F50にはLCD(Liquid Crystal Display)60および操作部70が接続されている。   Next, a hardware configuration of an information processing apparatus such as the DFE 100 and the client terminal 2 according to the present embodiment will be described with reference to FIG. As shown in FIG. 2, the DFE 100 and the client terminal 2 include configurations similar to a general server, a PC (Personal Computer), and the like. That is, in the DFE 100, a CPU (Central Processing Unit) 10, a RAM (Random Access Memory) 20, a ROM (Read Only Memory) 30, an HDD (Hard Disk Drive) 40, and an I / F 50 are connected via a bus 80. . Further, an LCD (Liquid Crystal Display) 60 and an operation unit 70 are connected to the I / F 50.

CPU10は演算手段であり、情報処理装置全体の動作を制御する。RAM20は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU10が情報を処理する際の作業領域として用いられる。ROM30は、読み出し専用の不揮発性記憶媒体であり、ブートローダやBIOS等のプログラムが格納されている。HDD40は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラム等が格納される。   The CPU 10 is a calculation means and controls the operation of the entire information processing apparatus. The RAM 20 is a volatile storage medium capable of reading and writing information at high speed, and is used as a work area when the CPU 10 processes information. The ROM 30 is a read-only nonvolatile storage medium, and stores programs such as a boot loader and BIOS. The HDD 40 is a non-volatile storage medium that can read and write information, and stores an OS (Operating System), various control programs, application programs, and the like.

I/F50は、バス80と各種のハードウェアやネットワーク等を接続し制御する。LCD60は、ユーザが情報処理装置の状態を確認するための視覚的ユーザインタフェースである。操作部70は、キーボードやマウス等、ユーザが情報処理装置に情報を入力するためのユーザインタフェースである。なお、DFE100においては、LCD60や操作部70等のユーザインタフェースは省略可能である。   The I / F 50 connects and controls the bus 80 and various hardware and networks. The LCD 60 is a visual user interface for the user to check the state of the information processing apparatus. The operation unit 70 is a user interface such as a keyboard and a mouse for a user to input information to the information processing apparatus. In the DFE 100, user interfaces such as the LCD 60 and the operation unit 70 can be omitted.

このようなハードウェア構成において、ROM30に格納されたプログラムや、HDD40若しくは図示しない光学ディスク等の記憶媒体からRAM20にロードされたプログラムに従ってCPU10が演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係るDFE100およびクライアント端末2の機能を実現する機能ブロックが構成される。   In such a hardware configuration, the software control unit is configured by the CPU 10 performing calculations according to a program stored in the ROM 30 or a program loaded into the RAM 20 from a storage medium such as the HDD 40 or an optical disk (not shown). A functional block for realizing the functions of the DFE 100 and the client terminal 2 according to the present embodiment is configured by a combination of the software control unit configured in this way and hardware.

次に、本実施形態に係るDFE100の機能構成について図3を参照して説明する。図3に示すように、DFE100は、DFEコントローラ110、ネットワークI/F101およびディスプレイ102を含む。ネットワークI/F101は、DFE100がネットワークを介して他の機器と情報をやり取りするためのインタフェースである。また、DFEコントローラ110は、デジタル印刷出力されるデータの取得、印刷ジョブの実行等を実行する。DFEコントローラ110は、専用のソフトウェアが情報処理装置にインストールされることによって構成される。   Next, a functional configuration of the DFE 100 according to the present embodiment will be described with reference to FIG. As shown in FIG. 3, the DFE 100 includes a DFE controller 110, a network I / F 101, and a display 102. The network I / F 101 is an interface for the DFE 100 to exchange information with other devices via the network. Further, the DFE controller 110 executes acquisition of data to be digitally printed and execution of a print job. The DFE controller 110 is configured by installing dedicated software in the information processing apparatus.

DFE100は、クライアント端末2から印刷出力の命令情報であるジョブデータを受信し、受信したジョブの制御、RIP処理の実行制御およびプリントエンジン150の制御を行う。クライアント端末2は、DFE100にジョブデータを送信することにより、プリントエンジン150に印刷出力を実行させる。即ち、DFE100は、クライアント端末2に対してデジタルプリント機能を提供するためのサーバとして機能する。   The DFE 100 receives job data that is print output command information from the client terminal 2, and performs control of the received job, execution control of RIP processing, and control of the print engine 150. The client terminal 2 causes the print engine 150 to execute print output by transmitting job data to the DFE 100. That is, the DFE 100 functions as a server for providing a digital print function to the client terminal 2.

DFE100が提供するジョブの制御機能とは、ジョブデータの受け付け、ジョブデータの解析、ラスターデータの作成およびプリントエンジン150による印刷出力等の一連の動作の制御機能である。また、RIP処理の実行制御とは、ジョブデータの解析によって生成された情報に基づいてRIPエンジン120にRIP処理を実行させる制御である。   The job control function provided by the DFE 100 is a control function for a series of operations such as job data reception, job data analysis, raster data creation, and print output by the print engine 150. The RIP process execution control is control for causing the RIP engine 120 to execute the RIP process based on information generated by analyzing job data.

ジョブデータの解析によって生成される情報とは、RIP処理に用いられる情報がDFE100において解読可能な形式に変換された情報である。RIPエンジン120は、DFE100において解読可能な形式に変換された情報を参照し、RIP処理を実行することにより、中間データ、ラスターデータを作成する描画情報生成部である。   Information generated by analyzing job data is information obtained by converting information used for RIP processing into a format that can be read by the DFE 100. The RIP engine 120 is a drawing information generation unit that creates intermediate data and raster data by referring to information converted into a format readable by the DFE 100 and executing RIP processing.

プリントエンジン150の制御機能とは、プリントエンジン150にラスターデータを送信して印刷出力を実行させる機能である。これらの機能は、図3に示す各ブロックによって実現される。図3に示す各ブロックは、図2において説明したように、RAM20にロードされたプログラムやROM30に格納されたプログラムに従ってCPU10が演算処理を行い、他のハードウェアを動作させることにより実現される。   The control function of the print engine 150 is a function that causes the print engine 150 to transmit raster data and execute print output. These functions are realized by the blocks shown in FIG. Each block shown in FIG. 3 is realized by the CPU 10 performing arithmetic processing according to a program loaded in the RAM 20 or a program stored in the ROM 30 and operating other hardware as described in FIG.

また、DFE100が、内部に複数のRIPエンジン120を搭載する構成であってもよい。これは、DFE100にジョブを送信する可能性のある他のデバイスにRIPエンジンが搭載されている場合に、これらの他のデバイスとの印刷出力の差異を低減するためである。   Further, the DFE 100 may be configured to have a plurality of RIP engines 120 mounted therein. This is to reduce the difference in print output from these other devices when the RIP engine is installed in other devices that may transmit jobs to the DFE 100.

なお、DFE100へのジョブデータの入力は、クライアント端末2からネットワークを介した入力の他、USBメモリ等の可搬型記憶媒体を介して入力することも可能である。DFE100へジョブデータを入力する情報処理装置は、画像形成出力処理の実行を制御する処理実行制御装置として機能する。   Note that job data can be input to the DFE 100 from the client terminal 2 via a network, or via a portable storage medium such as a USB memory. An information processing apparatus that inputs job data to the DFE 100 functions as a process execution control apparatus that controls execution of image formation output processing.

主制御部113は、入出力制御部111が受信したジョブデータを画像処理部114に受け渡す描画情報生成制御部として機能する。なお、DFE100においてジョブデータを格納する設定がされている場合、主制御部113はジョブデータをRAM20やHDD40によって実現される記憶領域に格納する構成であってもよい。この記憶領域は、DFE100にUSBインタフェース等を介して接続された記憶装置や、ネットワークを介して接続された記憶装置であっても良い。   The main control unit 113 functions as a drawing information generation control unit that transfers job data received by the input / output control unit 111 to the image processing unit 114. If the DFE 100 is set to store job data, the main control unit 113 may store the job data in a storage area realized by the RAM 20 or the HDD 40. This storage area may be a storage device connected to the DFE 100 via a USB interface or the like, or a storage device connected via a network.

また、例えばDFE100において印刷内容のプレビューを行うなどの目的で、ジョブデータを記憶領域に格納するか否かがジョブデータ中に記述されている場合、主制御部113はその記述に従う。この場合、主制御部113は、ジョブデータに含まれる印刷対象のデータを記憶領域から取得してプレビューデータを画像処理部114に生成させ、UI制御部112に受け渡す。これにより、UI制御部112は、印刷内容のプレビューをディスプレイ102に表示させる。   In addition, when the job data describes whether or not to store the job data in the storage area for the purpose of previewing the print contents in the DFE 100, for example, the main control unit 113 follows the description. In this case, the main control unit 113 acquires print target data included in the job data from the storage area, causes the image processing unit 114 to generate preview data, and passes the preview data to the UI control unit 112. As a result, the UI control unit 112 causes the display 102 to display a preview of the print content.

また、DFE100においてオペレータが印刷設定の変更を行う場合も、記憶領域にジョブデータが格納される。この場合、主制御部113は、ジョブデータを記憶領域から取得してUI制御部112に受け渡す。これにより、ディスプレイ102にジョブデータにおいて指定された印刷設定を変更するためのUIが表示され、オペレータが操作によって変更することが可能となる。   Also, when the operator changes print settings in the DFE 100, job data is stored in the storage area. In this case, the main control unit 113 acquires job data from the storage area and passes it to the UI control unit 112. As a result, a UI for changing the print setting designated in the job data is displayed on the display 102, and the operator can change it by an operation.

オペレータがDFE100を操作して印刷設定を変更した場合、UI制御部112は変更内容を受け付けて主制御部113に通知する。主制御部113は、受け付けた変更内容を対象のジョブデータに反映して更新し、更新後のジョブデータを記憶領域に記憶させる。   When the operator changes the print setting by operating the DFE 100, the UI control unit 112 receives the change content and notifies the main control unit 113 of the change. The main control unit 113 updates the received change contents to reflect the target job data, and stores the updated job data in the storage area.

そして、主制御部113は、ジョブ実行の指示を受け付けると、記憶領域に格納されたジョブデータを画像処理部114もしくはプリンタ制御部115に受け渡す。ジョブ実行の指示は、クライアント端末2からネットワークを介して入力される場合や、DFE100に対するオペレータの操作によって入力される。また、例えば、ジョブデータにおいてジョブの実行時刻が設定されている場合、主制御部113は、設定時刻になると記憶領域に格納されたジョブデータを画像処理部114もしくはプリンタ制御部115に受け渡す。   When the main control unit 113 receives a job execution instruction, the main control unit 113 transfers the job data stored in the storage area to the image processing unit 114 or the printer control unit 115. The job execution instruction is input from the client terminal 2 via the network or by an operator operation on the DFE 100. For example, when the job execution time is set in the job data, the main control unit 113 delivers the job data stored in the storage area to the image processing unit 114 or the printer control unit 115 when the set time comes.

UI制御部112は、上述したようにディスプレイ102への情報の表示や、DFE100に対するオペレータの操作を受け付ける。上述した印刷設定の編集操作において、UI制御部112はジョブデータに含まれるJDF(Job Description Format)情報などの印刷設定情報を解釈してディスプレイ102に印刷ジョブの内容を表示する。   The UI control unit 112 receives information on the display 102 and an operator's operation on the DFE 100 as described above. In the print setting editing operation described above, the UI control unit 112 interprets print setting information such as JDF (Job Description Format) information included in the job data, and displays the contents of the print job on the display 102.

主制御部113は、ジョブの実行指示に基づいてジョブの実行に係る制御を行う。具体的に、主制御部113は、印刷設定情報の解析処理、画像処理部114によるRIP処理、プリンタ制御部115によるプリントエンジン150の制御処理である。主制御部113は、ジョブの実行指示を受けると、ジョブデータに含まれる印刷設定情報を画像処理部114において認識可能な形式に変換する。   The main control unit 113 performs control related to job execution based on a job execution instruction. Specifically, the main control unit 113 performs print setting information analysis processing, RIP processing by the image processing unit 114, and control processing of the print engine 150 by the printer control unit 115. Upon receiving a job execution instruction, the main control unit 113 converts the print setting information included in the job data into a format that can be recognized by the image processing unit 114.

主制御部113は、画像処理部114において認識可能な形式に変換された印刷設定情報を画像処理部114に受け渡し、RIP処理を実行させる。画像処理部114は、複数のRIPエンジン120にRIP内部処理を実行させてラスターデータを生成する。   The main control unit 113 passes the print setting information converted into a format recognizable by the image processing unit 114 to the image processing unit 114, and executes RIP processing. The image processing unit 114 causes the plurality of RIP engines 120 to execute RIP internal processing to generate raster data.

画像格納部116は、RIPエンジン120によって生成されたラスターデータを記憶する記憶部である。画像格納部116は、図2において説明したHDD40等によって実現される。この他、DFE100にUSBインタフェース等を介して接続された記憶装置や、ネットワークを介して接続された記憶装置であっても良い。   The image storage unit 116 is a storage unit that stores raster data generated by the RIP engine 120. The image storage unit 116 is realized by the HDD 40 described with reference to FIG. In addition, a storage device connected to the DFE 100 via a USB interface or the like, or a storage device connected via a network may be used.

プリンタ制御部115は、プリントエンジン150と接続されており、画像格納部116に格納されたラスターデータを読み出してプリントエンジン150に送信することによって印刷出力を実行させる。また、主制御部113からジョブデータに含まれるフィニッシング情報を取得することにより、仕上げ処理のための制御を行う。画像形成装置1がコート加工を行うことができる構成である場合には、プリンタ制御部115によって、コート加工の実行が制御される。   The printer control unit 115 is connected to the print engine 150, and reads out raster data stored in the image storage unit 116 and transmits the raster data to the print engine 150 to execute print output. Further, by obtaining finishing information included in the job data from the main control unit 113, control for finishing processing is performed. When the image forming apparatus 1 is configured to perform the coating process, the printer control unit 115 controls the execution of the coating process.

プリンタ制御部115は、プリントエンジン150との間で情報をやり取りすることにより、プリントエンジン150自身の情報を取得することができる。例えばCIP4規格の場合、印刷設定情報の規格としてデバイス仕様情報をプリンタと送受信するDevCapsという規格が定められている。また、SNMP(Simple Network Management Protocol)という通信プロトコルとMIB(Management Information Base)というデータベースとを利用したプリンタの情報の収集方法も知られている。   The printer control unit 115 can acquire information of the print engine 150 itself by exchanging information with the print engine 150. For example, in the case of the CIP4 standard, a standard called DevCaps for transmitting / receiving device specification information to / from a printer is defined as a standard for print setting information. Also known is a method for collecting printer information using a communication protocol called SNMP (Simple Network Management Protocol) and a database called MIB (Management Information Base).

入出力制御部111は、MIBやJMF(Job Messaging Format)などの仕様に合わせた形で、ネットワークI/F101を介してクライアント端末2との間でデバイスに関する情報のやり取りを行う。その結果、クライアント端末2に表示されたGUIにおいて、DFE100に含まれるRIPエンジン120の情報や、入出力制御部111の情報が反映されることとなる。   The input / output control unit 111 exchanges device-related information with the client terminal 2 via the network I / F 101 in a form that conforms to specifications such as MIB and JMF (Job Messaging Format). As a result, in the GUI displayed on the client terminal 2, information on the RIP engine 120 included in the DFE 100 and information on the input / output control unit 111 are reflected.

主制御部113は、プリンタ制御部115によってプリントエンジン150が制御されて印刷出力が完了すると、ネットワークI/F101を介して印刷ジョブの完了通知をクライアント端末2に通知する。   When the print engine 150 is controlled by the printer control unit 115 and the print output is completed, the main control unit 113 notifies the client terminal 2 of a print job completion notification via the network I / F 101.

次に、本実施形態に係るRIPエンジン120の機能構成について説明する。図4は、本実施形態に係るRIPエンジン120の機能構成を示す図である。上述したように、RIPエンジン120はジョブデータに基づいてRIP内部処理を実行してラスターデータを生成するソフトウェアモジュールである。RIPエンジン120には、例えばアドビ・システムズによって提供されるPDFプリンティングエンジンであるAPPE(Adobe PDF Print Engine)などをベースとして用いることができる。   Next, a functional configuration of the RIP engine 120 according to the present embodiment will be described. FIG. 4 is a diagram illustrating a functional configuration of the RIP engine 120 according to the present embodiment. As described above, the RIP engine 120 is a software module that generates raster data by executing RIP internal processing based on job data. The RIP engine 120 can be based on, for example, APPE (Adobe PDF Print Engine), which is a PDF printing engine provided by Adobe Systems.

図4に示すように、RIPエンジン120は、制御部201と他の部分とによって構成される。制御部201以外の部分が、ベンダーによって拡張可能な拡張部である。制御部201は、拡張部として含まれる様々な機能を利用することによりRIP処理を実行する。   As shown in FIG. 4, the RIP engine 120 includes a control unit 201 and other parts. Portions other than the control unit 201 are expansion units that can be expanded by vendors. The control unit 201 executes RIP processing by using various functions included as an extension unit.

入力部202は、初期化要求やRIP処理の実行要求を受け付け、その要求を制御部201に通知する。制御部201は、RIP処理においてRIPエンジン120に含まれるそれぞれの拡張部を動作させる順番を決定する。また、制御部201は、それらの処理の結果生成されるデータの形式(例えば、ラスタイメージ、プレビューイメージ、PDF、中間データなど)を決定する。   The input unit 202 receives an initialization request or an RIP processing execution request, and notifies the control unit 201 of the request. The control unit 201 determines the order in which each extension unit included in the RIP engine 120 is operated in the RIP process. Further, the control unit 201 determines the format of data generated as a result of these processes (for example, a raster image, preview image, PDF, intermediate data, etc.).

また、制御部201は、入力部202からRIP処理の実行要求を受け付けると、初期化要求を受け付けた際に決定した処理順に従って拡張部の各部を動作させる。プリフライト処理部204は、入力されたジョブデータの内容の妥当性の確認を行う。そしてプリフライト処理部204は、入力されたジョブデータの内容において不正なジョブ属性を発見した場合、その旨を制御部201に通知する。この通知を受けた制御部201は、出力部213を介して画像処理部114や主制御部113等の外部モジュールに不正なジョブ属性の発見に関する情報などを通知する。   In addition, when the control unit 201 receives an RIP process execution request from the input unit 202, the control unit 201 operates each unit of the extension unit according to the processing order determined when the initialization request is received. The preflight processing unit 204 checks the validity of the contents of the input job data. When the preflight processing unit 204 finds an invalid job attribute in the content of the input job data, the preflight processing unit 204 notifies the control unit 201 to that effect. Upon receiving this notification, the control unit 201 notifies the external module such as the image processing unit 114 and the main control unit 113 of information relating to the discovery of an illegal job attribute, etc.

プリフライト処理によって、例えば非対応のフォントが指定されていないか否か、ジョブデータに含まれる画像データに重複するものがあるか否か、画像データに基づいてラスターデータを生成するための描画コマンドに重複するものがあるか否かなどを判定する処理が行われる。この処理の結果、確認された性の情報に基づいて、RIP処理が実行される。またプリフライト処理として、RIPエンジン120に含まれる他のモジュールによる処理が不可能になる事態が発生し得る情報があるか否か判定される。   Drawing command for generating raster data based on image data, for example, whether non-corresponding fonts are specified by preflight processing, whether there are duplicates in image data included in job data, etc. A process for determining whether or not there are overlapping items is performed. As a result of this processing, RIP processing is executed based on the confirmed sex information. In addition, as preflight processing, it is determined whether there is information that may cause a situation in which processing by other modules included in the RIP engine 120 becomes impossible.

図5は、本実施形態に係るプリフライト処理部204およびレンダリング処理部218の機能構成を示すブロック図である。図5に示すように、本実施形態に係るプリフライト処理部204は、重複画像データ検知部219、重複画像データ削除部220、重複描画コマンド検知部221、重複描画コマンド削除部222、PDF構造解析部223を含む。   FIG. 5 is a block diagram illustrating functional configurations of the preflight processing unit 204 and the rendering processing unit 218 according to the present embodiment. As shown in FIG. 5, the preflight processing unit 204 according to the present embodiment includes a duplicate image data detection unit 219, a duplicate image data deletion unit 220, a duplicate drawing command detection unit 221, a duplicate drawing command deletion unit 222, and a PDF structure analysis. Part 223.

重複画像データ検知部219は、PDFファイル301の中に存在する画像情報オブジェクトであるImage XObjectの内容を比較し、他のImage XObjectに同一の内容のImage XObjectがあるか否かを検知する重複画像情報検知部として機能する。重複画像データ検知部219によって検知された同一の内容の他のImage XObjectが、重複画像情報オブジェクトに相当する。   The duplicate image data detection unit 219 compares the contents of Image XObject, which is an image information object existing in the PDF file 301, and detects whether or not there is an Image XObject having the same contents in other Image XObjects. Functions as an information detection unit. Another Image XObject having the same content detected by the duplicate image data detection unit 219 corresponds to a duplicate image information object.

重複画像データ削除部220は、検知された同一の内容を持つ他のImage XObjectを削除する重複画像情報処理制御部として機能する。重複画像データ検知部219による検知結果と重複画像データ削除部220による処理の結果は、Image XObject管理テーブルに反映される。   The duplicate image data deletion unit 220 functions as a duplicate image information processing control unit that deletes other detected Image XObjects having the same content. The detection result by the duplicate image data detection unit 219 and the processing result by the duplicate image data deletion unit 220 are reflected in the Image XObject management table.

重複描画コマンド検知部221は、PDFファイル301の中に存在する描画指示情報のオブジェクトであるForm XObjectの内容を比較し、他のForm XObjectに同一の内容のForm XObjectがあるか否かを検知する重複描画情報検知部として機能する。重複描画コマンド検知部221によって検知された同一の内容の他のForm XObjectが、重複描画指示情報オブジェクトに相当する。   The duplicate drawing command detection unit 221 compares the contents of Form XObject, which is an object of drawing instruction information existing in the PDF file 301, and detects whether or not there is a Form XObject having the same contents in other Form XObjects. It functions as a duplicate drawing information detector. Another Form XObject having the same content detected by the duplicate drawing command detection unit 221 corresponds to the duplicate drawing instruction information object.

重複描画コマンド削除部222は、検知された同一の内容を持つ他のForm XObjectを削除する重複描画情報処理制御部として機能する。重複描画コマンド検知部221による検知結果と重複描画コマンド削除部222による処理の結果は、Form XObject管理テーブルに反映される。   The duplicate drawing command deletion unit 222 functions as a duplicate drawing information processing control unit that deletes other Form XObjects having the same detected content. The detection result by the duplicate drawing command detection unit 221 and the processing result by the duplicate drawing command deletion unit 222 are reflected in the Form XObject management table.

Image XObjectとは、PDF形式のファイルにおいて、自然画などのフルカラー画像やバーコードなどの白黒画像が収められているオブジェクトである。また、PDF形式のファイルでは、JPEGなどの画像圧縮アルゴリズムを利用して得られたエンコードデータをImage XObjectが持つストリームデータとして格納することができる。また、Form XObjectとは、ベクター図形やフォント、イメージなどを描画する手順が記載された描画コマンドが収められているオブジェクトである。   An Image XObject is an object that contains a full-color image such as a natural image or a monochrome image such as a barcode in a PDF file. Also, in the PDF format file, encoded data obtained using an image compression algorithm such as JPEG can be stored as stream data possessed by Image XObject. Form XObject is an object containing a drawing command describing a procedure for drawing a vector graphic, font, image, or the like.

PDF構造解析部223は、ジョブデータに含まれるPDF形式のファイルを解析し、各オブジェクトの開始位置やバイト数の情報を取得する。   The PDF structure analysis unit 223 analyzes a PDF file included in the job data, and acquires information on the start position and the number of bytes of each object.

再度図4に戻り、RIPエンジン120の各拡張部の機能の説明を続ける。ノーマライズ処理部205は、入力されたジョブデータがPDFではなくPostScriptである場合にPDFに変換する。マーク処理部206は、指定されたマークのグラフィック情報を展開し、印刷対象の画像において指定された位置に重畳する。   Returning to FIG. 4 again, the description of the function of each expansion unit of the RIP engine 120 is continued. The normalization processing unit 205 converts the input job data to PDF when it is PostScript instead of PDF. The mark processing unit 206 develops the graphic information of the designated mark and superimposes it on the designated position in the image to be printed.

フォント処理部207は、フォントデータを取り出し、フォントの埋め込み処理やアウトライン化を行う。CMM(Color Management Module)処理部209は、ICC(International Color Consortium)プロファイルに記述された色変換テーブル等に基づいて、入力画像の色空間をCMYK(Cyan,Magenta,Yellow,blacK)へ変換する。ICCプロファイルとは、カラーICC情報、デバイスICC情報である。   The font processing unit 207 extracts font data and performs font embedding processing and outline processing. A CMM (Color Management Module) processing unit 209 converts the color space of an input image into CMYK (Cyan, Magenta, Yellow, blackK) based on a color conversion table described in an ICC (International Color Consortium) profile. The ICC profile is color ICC information and device ICC information.

Trapping処理部210は、トラッピング処理を行う。トラッピング処理とは、境界を接して隣接している異なる色の領域について位置ずれが生じた場合に境界部分に隙間が生じることを防ぐため、それぞれの色の領域を拡張して隙間が埋まるようにする処理である。   The trapping processing unit 210 performs a trapping process. Trapping is a process of expanding each color area to fill the gap in order to prevent gaps from occurring in the boundary when there are misalignments between adjacent color areas that touch the boundary. It is processing to do.

Calibration処理部211は、CMM処理部209による色変換の精度を高めるため、出力デバイスの経時変動や個体差による発色バランスのばらつきの調節作業を実施する。なお、Calibration処理部211による処理は、RIPエンジン120の外部において実行される場合もあり得る。   The calibration processing unit 211 adjusts the variation in the color balance due to the temporal variation of the output device and individual differences in order to increase the accuracy of color conversion by the CMM processing unit 209. Note that the processing by the calibration processing unit 211 may be executed outside the RIP engine 120.

Screening処理部212は、最終出力を意識した網点の生成処理を実施する。なお、Screening処理部212による処理は、Calibration処理部211による処理と同様に、RIPエンジン120の外部において実行される場合もあり得る。出力部213は、外部にRIP結果を送信する。RIP結果は、初期化時に決定したラスタイメージ、プレビューイメージ、PDF、中間データのいずれかの形式のデータである。   The screening processing unit 212 performs a halftone dot generation process in consideration of the final output. Note that the processing by the screening processing unit 212 may be executed outside the RIP engine 120 in the same manner as the processing by the calibration processing unit 211. The output unit 213 transmits the RIP result to the outside. The RIP result is data in any format of raster image, preview image, PDF, and intermediate data determined at initialization.

レンダリング処理部218は、入力データに基づいてラスターデータを生成するレンダリング処理を行い、図5に示すように、オブジェクト描画部224、オブジェクト記憶部225を含んで構成される。また、レンダリング処理部218は、キャッシュされたImage XObject、Form XObjectを各オブジェクトの開始位置やバイト数の情報に基づいて参照し、レンダリング処理を実行する。   The rendering processing unit 218 performs rendering processing for generating raster data based on input data, and includes an object drawing unit 224 and an object storage unit 225 as shown in FIG. Further, the rendering processing unit 218 refers to the cached Image XObject and Form XObject based on the information on the start position and the number of bytes of each object, and executes the rendering process.

オブジェクト記憶部225には、印刷対象のPDFファイルに対してRIP処理を行う過程において、あるImage XObject、Form XObjectに対して初めてRIP処理を行うことによって得られたラスターデータが、オブジェクトの識別情報(例えば、オブジェクトIDなど)と共にキャッシュデータとして保存されている。   In the object storage unit 225, raster data obtained by performing RIP processing on a certain Image XObject or Form XObject for the first time in the process of performing RIP processing on a PDF file to be printed is stored as object identification information ( For example, it is stored as cache data together with an object ID or the like.

オブジェクト記憶部225は、図6に示すように、Image XObject記憶部226、Form XObject記憶部227を含む。Image XObject記憶部226、Form XObject記憶部227は、それぞれ描画結果記憶部として機能する。   As shown in FIG. 6, the object storage unit 225 includes an Image XObject storage unit 226 and a Form XObject storage unit 227. The Image XObject storage unit 226 and the Form XObject storage unit 227 each function as a drawing result storage unit.

オブジェクト描画部224は、オブジェクト記憶部225に記憶されているキャッシュデータを参照することにより、同一のPDFファイル中で再利用されたオブジェクトに関してはRIP処理を行わずに、キャッシュデータをコピーしてラスターデータを生成する処理のみを実行する。   By referring to the cache data stored in the object storage unit 225, the object drawing unit 224 copies the cache data without performing the RIP process for the object reused in the same PDF file, and the raster Only the process of generating data is executed.

Image XObject記憶部226は、あるImage XObjectを識別する識別情報であるオブジェクトIDとそのオブジェクトがレンダリングされた結果生成されたイメージ画像とを対応付けてImage XObjectの描画結果を記憶する。Form XObject記憶部227は、あるForm XObjectを識別する識別情報であるオブジェクトIDとそのオブジェクトがレンダリングされた結果、生成されたイメージ画像とを対応付けてForm XObjectの描画結果を記憶する。   The Image XObject storage unit 226 stores the drawing result of the Image XObject by associating an object ID, which is identification information for identifying a certain Image XObject, with an image generated as a result of rendering the object. The Form XObject storage unit 227 stores the drawing result of the Form XObject by associating the object ID, which is identification information for identifying a certain Form XObject, with the image image generated as a result of rendering the object.

なお、図4に示す各処理部のうち、マーク処理部206、フォント処理部207による処理は、レンダリング処理部218における処理と同時に実行される場合もある。   Of the processing units shown in FIG. 4, the processing by the mark processing unit 206 and the font processing unit 207 may be executed simultaneously with the processing in the rendering processing unit 218.

図7に示すように、PDF形式のファイルは、ヘッダ、本体、相互参照テーブル、トレーラを含み構成される。ヘッダは、PDF形式のファイルであることが定義されている情報である。本体は、例えば、図8(a)に示すImage XObjectや図8(b)に示すForm XObjectなどを含むPDF形式のファイルの本体部分である。   As shown in FIG. 7, the PDF file includes a header, a main body, a cross-reference table, and a trailer. The header is information defined to be a PDF file. The main body is a main body portion of a PDF file including, for example, the Image XObject shown in FIG. 8A and the Form XObject shown in FIG.

相互参照テーブルは、PDF形式のファイルの本体部分にランダムアクセスするための情報であり、オブジェクトの位置情報が含まれる。トレーラは、PDF形式のファイルのファイルサイズ、カタログ情報、暗号辞書などが含まれる情報である。   The cross-reference table is information for randomly accessing the main part of a PDF file, and includes object position information. The trailer is information including the file size of the PDF format file, catalog information, encryption dictionary, and the like.

なお、本実施形態に係る重複画像データ検知部219は、図8(a)に示すような情報構成によってImage XObjectを管理するImage XObject管理テーブルを有している。図9は、本実施形態に係るImage XObject管理テーブルの情報構成を示す図である。   Note that the duplicate image data detection unit 219 according to the present embodiment has an Image XObject management table that manages Image XObjects with an information configuration as shown in FIG. FIG. 9 is a diagram showing an information configuration of the Image XObject management table according to the present embodiment.

Image XObject管理テーブルは、「RecordNo」、「Object−ID」、「Height」、「Width」、「Length」、「ColorSpace」、「Filter」、「StreamHash」、「SameObjList」を含む。   The Image XObject management table includes “RecordNo”, “Object-ID”, “Height”, “Width”, “Length”, “ColorSpace”, “Filter”, “StreamHash”, “SameObjectList”.

「RecordNo」は、Image XObject管理テーブルにおけるレコード番号を示す情報である。「Object−ID」は、PDF形式のファイルにふくまれる単位画像であるオブジェクトを識別するためのオブジェクトIDなどの識別情報である。   “RecordNo” is information indicating a record number in the Image XObject management table. “Object-ID” is identification information such as an object ID for identifying an object which is a unit image included in a PDF file.

「Height」は、オブジェクトの縦方向の長さを示す値であり、「Width」は、オブジェクトの横方向の長さを示す値であり、「Length」は、圧縮されたオブジェクトのストリームデータのバイト列の長さを示す値である。「ColorSpace」は、色空間を示す値であり、「Filter」は、バイト列に適用されるフィルタの種類を示す値である。   “Height” is a value indicating the length of the object in the vertical direction, “Width” is a value indicating the length of the object in the horizontal direction, and “Length” is a byte of the stream data of the compressed object. A value indicating the length of the column. “ColorSpace” is a value indicating the color space, and “Filter” is a value indicating the type of filter applied to the byte string.

また、「StreamHash」は、オブジェクトに含まれる画像のストリームデータから所定の計算手順によって算出された規則性のない固定長の値である。「SameObjList」は、同一の画像データであるオブジェクトのObject−IDを示す情報である。   Further, “StreamHash” is a fixed-length value having no regularity calculated by a predetermined calculation procedure from the stream data of the image included in the object. “SameObjList” is information indicating the Object-ID of an object that is the same image data.

また、本実施形態に係る重複描画コマンド検知部221は、図8(b)に示すような情報構成によってForm XObjectを管理するForm XObject管理テーブルを有している。図10は、本実施形態に係るForm XObject管理テーブルの情報構成を示す図である。   In addition, the duplicate drawing command detection unit 221 according to the present embodiment has a Form XObject management table that manages Form XObjects with an information configuration as shown in FIG. FIG. 10 is a diagram showing an information configuration of the Form XObject management table according to the present embodiment.

Form XObject管理テーブルは、「RecordNo」、「Object−ID」、「Form Type」、「BBox」、「Matrix」、「ResourcesHash」、「StreamHash」、「SameObjList」を含む。   The Form XObject management table includes “RecordNo”, “Object-ID”, “Form Type”, “BBox”, “Matrix”, “ResourceHash”, “StreamHash”, and “SameObjectList”.

「RecordNo」は、Form XObject管理テーブルにおけるレコード番号を示す情報である。「Object−ID」は、PDF形式のファイルにふくまれるオブジェクトを識別するためのオブジェクトIDなどの識別情報である。   “RecordNo” is information indicating a record number in the Form XObject management table. “Object-ID” is identification information such as an object ID for identifying an object included in a PDF file.

「FormType」は、オブジェクトのフォーマット形式を定義する情報であり、「BBox」は、オブジェクトの描画領域を示す情報である。「Matrix」は、フォームを変換するための行列式を示す値である。   “FormType” is information that defines the format format of the object, and “BBox” is information that indicates the drawing area of the object. “Matrix” is a value indicating a determinant for converting the form.

「ResourcesHash」は、レンダリングを行うためにオブジェクトに含まれるリソースデータのstreamデータから所定の計算手順によって算出された規則性のない固定長の値である。「StreamHash」は、オブジェクトに含まれる描画コマンドのstreamデータから所定の計算手順によって算出された規則性のない固定長の値である。「SameObjList」は、同一の画像データであるオブジェクトのObject−IDを示す情報である。   “ResourcesHash” is a fixed-length value having no regularity calculated by a predetermined calculation procedure from stream data of resource data included in an object for rendering. “StreamHash” is a fixed-length value without regularity calculated by a predetermined calculation procedure from the stream data of the drawing command included in the object. “SameObjList” is information indicating the Object-ID of an object that is the same image data.

このように、重複画像データ検知部219は、オブジェクトのデータをキャッシュする際に、Image XObject管理テーブルに基づいてImage XObjectの内容の比較をおこなう。そして、重複画像データ検知部219は、比較結果に基づいて、他のImage XObjectに内容が共通している、すなわち、同一の画像データのImage XObjectがあるか否かを検知する。   In this way, the duplicate image data detection unit 219 compares the contents of the Image XObject based on the Image XObject management table when caching the object data. Based on the comparison result, the duplicate image data detection unit 219 detects whether the content is common to other Image XObjects, that is, whether there is an Image XObject of the same image data.

また、レンダリング処理部218は、同一の内容のImage XObjectの検知結果に基づいて、Image XObject記憶部226に記憶されているImage XObjectを管理する。   Further, the rendering processing unit 218 manages the Image XObject stored in the Image XObject storage unit 226 based on the detection result of the Image XObject having the same content.

重複描画コマンド検知部221は、オブジェクトのデータをキャッシュする際に、Form XObject管理テーブルに基づいて、Form XObjectの内容の比較をおこなう。そして、重複描画コマンド検知部221は、比較結果に基づいて、他のForm XObjectに内容が共通している、すなわち、同一の描画コマンドのForm XObjectがあるか否かを検知する。   The duplicate drawing command detection unit 221 compares the contents of the Form XObject based on the Form XObject management table when caching the object data. Then, based on the comparison result, the duplicate drawing command detection unit 221 detects whether the content is common to other Form XObjects, that is, whether there is a Form XObject of the same drawing command.

また、レンダリング処理部218は、同一の内容のForm XObjectの検知結果に基づいて、Form XObject記憶部227に記憶されているForm XObjectを管理する。   Further, the rendering processing unit 218 manages the Form XObject stored in the Form XObject storage unit 227 based on the detection result of the Form XObject having the same content.

次に、本実施形態に係るシステムの動作について、図11を参照して説明する。図11は、本実施形態に係るワークフローシステムの動作を示すシーケンス図である。クライアント端末2は、システムのGUIに対するオペレータの操作により、DFE100に印刷出力の実行要求であるジョブデータを送信する(S1101)。   Next, the operation of the system according to the present embodiment will be described with reference to FIG. FIG. 11 is a sequence diagram showing the operation of the workflow system according to the present embodiment. The client terminal 2 transmits job data, which is a print output execution request, to the DFE 100 by an operator's operation on the system GUI (S1101).

DFE100はジョブデータを受信すると、DFE内処理としてRIP処理(S1102)を実行し、生成されたラスターデータをプリントエンジン150に送信する(S1103)。そして、プリントエンジン150は、ラスターデータを印刷出力する(S1104)。   Upon receiving the job data, the DFE 100 executes RIP processing (S1102) as DFE internal processing, and transmits the generated raster data to the print engine 150 (S1103). Then, the print engine 150 prints out the raster data (S1104).

次に、図11のS1102におけるDFE内処理で実行されるRIP処理について図12のフローチャートを参照して説明する。図12に示すように、まずは入力部202に対する初期化要求に基づいて制御部201が初期化処理を実行する(S1201)。S1201においては、RIPエンジン120に含まれるそれぞれの拡張部のうち処理を実行させる拡張部や、その順番を決定する。また、処理の結果生成されるデータの形式を決定する。   Next, the RIP process executed in the DFE process in S1102 of FIG. 11 will be described with reference to the flowchart of FIG. As shown in FIG. 12, first, the control unit 201 executes an initialization process based on an initialization request to the input unit 202 (S1201). In S <b> 1201, an extension unit that executes processing among the extension units included in the RIP engine 120 and the order thereof are determined. In addition, the format of data generated as a result of processing is determined.

プリフライト処理部204は、ジョブデータに含まれるPDFファイル301に対して、上述したように、例えば非対応のフォントが指定されていないか否か、ジョブデータに含まれる画像データに重複するものがあるか否か、画像データに基づいてラスターデータを生成するための描画コマンドに重複するものがあるか否かなどを判定するプリフライト処理を実行する(S1202)。S1202の処理の態様については、後述する。   As described above, the preflight processing unit 204 overlaps the image data included in the job data with respect to the PDF file 301 included in the job data, for example, whether or not a non-compatible font is designated. Preflight processing is executed to determine whether or not there is an overlapping drawing command for generating raster data based on image data (S1202). A mode of the processing of S1202 will be described later.

プリフライト処理が完了した後(S1203/YES)、S1201において決定された処理順に従って処理が要求され、最終的にはレンダリング処理部218においてオブジェクト描画処理が実行される(S1204)。なお、レンダリング処理部218は、同一のオブジェクトIDをもつImage XObjectもしくは同一のオブジェクトIDをもつForm XObjectに対しては、後述する処理においてオブジェクトキャッシングされたラスタライズ結果を参照してラスターデータを生成する。   After the preflight processing is completed (S1203 / YES), processing is requested according to the processing order determined in S1201, and finally the object rendering processing is executed in the rendering processing unit 218 (S1204). Note that the rendering processing unit 218 generates raster data for an Image XObject having the same object ID or a Form XObject having the same object ID by referring to a rasterized result obtained by object caching in a process described later.

このとき、オブジェクトキャッシングされたラスタライズ結果を参照してラスターデータが生成されるImage XObjectが重複画像情報参照オブジェクトであり、オブジェクトキャッシングされたラスタライズ結果を参照してラスターデータが生成されるForm XObjectが重複描画指示情報参照オブジェクトである。また、レンダリング処理部218によって、オブジェクトキャッシングに使用されるラスタライズ結果が描画結果情報である。   At this time, Image XObject for which raster data is generated with reference to the rasterized result of object caching is a duplicate image information reference object, and Form XObject for which raster data is generated with reference to the rasterized result of object caching is duplicated. A drawing instruction information reference object. Further, the rasterization result used for object caching by the rendering processing unit 218 is rendering result information.

そのようにして拡張部により処理が実行されてラスターデータが生成されると、出力部213が処理結果を出力する(S1205)。このような処理により、RIPエンジン120におけるRIP処理が完了する。   When the processing is executed by the extension unit in this way and raster data is generated, the output unit 213 outputs the processing result (S1205). By such processing, the RIP processing in the RIP engine 120 is completed.

なお、S1202においては、PDFファイル内の複数のページから参照されている画像データや描画コマンドのラスタライズ結果を保存する、いわゆるオブジェクトキャッシング処理が実行される。以下、本実施形態に係るPDFファイルを最適化する処理について説明する。   In S1202, a so-called object caching process is executed in which image data referenced from a plurality of pages in the PDF file and rasterization results of drawing commands are stored. Hereinafter, processing for optimizing the PDF file according to the present embodiment will be described.

まず、重複画像データを検知する処理について説明する。図13ないし図15は、本実施形態に係る重複画像データを検知する処理の流れを示すフローチャートである。PDFファイル301には、上述したように、ランダムアクセスに対応するために、PDFファイル301に含まれるオブジェクトの位置を示す相互参照テーブルが含まれる。重複画像データ検知部219は、PDFファイル301から、相互参照テーブルを取得する(S1301)。   First, processing for detecting duplicate image data will be described. 13 to 15 are flowcharts showing the flow of processing for detecting duplicate image data according to the present embodiment. As described above, the PDF file 301 includes a cross-reference table indicating the positions of objects included in the PDF file 301 in order to cope with random access. The duplicate image data detection unit 219 acquires a cross-reference table from the PDF file 301 (S1301).

重複画像データ検知部219は、相互参照テーブルからオブジェクトのObject−IDを取得し(S1302)、比較元のオブジェクトのObject−IDを示すcurrentObjIdにセットする(S1303)。なお、初回の重複画像の検知処理時において、重複画像データ検知部219は、RecordNoが0、すなわち、currentObjIdにセットされるObject−IDには、ダミーもしくは無効化されるものを割り当てる。   The duplicate image data detection unit 219 obtains the Object-ID of the object from the cross-reference table (S1302), and sets it in the currentObjectId indicating the Object-ID of the comparison source object (S1303). In the first duplicate image detection process, the duplicate image data detection unit 219 assigns a dummy or invalidated Object-ID set to RecordNo of 0, that is, currentObjectId.

次に重複画像データ検知部219は、S1303の処理においてcurrentObjIdにセットしたObject−IDのオブジェクトの位置情報であるバイトオフセットを相互参照テーブルから取得する(S1304)。そして、重複画像データ検知部219は、PDFファイル301からObject−IDのオブジェクトの位置にあるオブジェクトを抽出し(S1305)、抽出したオブジェクトを比較先のオブジェクトを示す情報としてnewObjにセットする(S1306)。   Next, the duplicate image data detection unit 219 acquires, from the cross-reference table, a byte offset that is the position information of the Object-ID object set in currentObjId in the processing of S1303 (S1304). Then, the duplicate image data detection unit 219 extracts the object at the position of the Object-ID object from the PDF file 301 (S1305), and sets the extracted object as newObj as information indicating the comparison target object (S1306). .

次に、重複画像データ検知部219は、newObjの情報を確認する。具体的には、newObjのType=“XObject”であるか否か(S1307)、Subtype=“Image”であるか否か(S1308)を確認する。これらの処理によって、重複画像データ検知部219は、S1305にて抽出したオブジェクトが、「Image XObject」であるか否かを判定する。   Next, the duplicate image data detection unit 219 confirms information of newObj. Specifically, it is checked whether or not newObject type = “XObject” (S1307), and whether Subtype = “Image” (S1308). Through these processes, the duplicate image data detection unit 219 determines whether or not the object extracted in S1305 is “Image XObject”.

S1307もしくはS1307のいずれかでNOの場合、重複画像データ検知部219は、S1302の処理から再度実行する。したがって、初回の重複画像の検知処理時において、重複画像データ検知部219は、ダミーもしくは無効化されたObject−IDのオブジェクトのバイトオフセットからダミーもしくは無効化されたオブジェクトを抽出する。そのため、初回の重複画像の検知処理時においては、S1302の処理から再度実行する。   In the case of NO in either S1307 or S1307, the duplicate image data detection unit 219 executes again from the processing in S1302. Therefore, at the time of the first duplicate image detection process, the duplicate image data detection unit 219 extracts a dummy or invalidated object from the byte offset of the dummy or invalidated Object-ID object. Therefore, in the first duplicate image detection process, the process is executed again from the process of S1302.

S1307でYESかつS1308でYESの場合、重複画像データ検知部219は、newObjはImage XObjectであると判定する。重複画像データ検知部219は、newObjのオブジェクトとcurrentObjIdにセットしたObject−IDのオブジェクトとにおいて、同一画像検索処理を実行する(B、図14)。   If YES in S1307 and YES in S1308, the duplicate image data detection unit 219 determines that newObj is Image XObject. The duplicate image data detection unit 219 executes the same image search process on the object of newObj and the object of Object-ID set in currentObjId (B, FIG. 14).

同一画像検索処理を行うにあたり、currentRecordIdは、初期値として1以外の値も取り得る。ここでは、currentRecordIdの初期値を1(S1401)として、以後の処理の説明を行う。なお、currentRecordIdの初期値が1以外の自然数であっても、同様の処理が実行される。重複画像データ検知部219は、currentRecordIdに対応するRecordNoのレコード内容をImage XObject管理テーブルから取得し(S1402)、currentObjにセットする(S1403)。   In performing the same image search process, currentRecordId can take a value other than 1 as an initial value. Here, the initial value of currentRecordId is set to 1 (S1401), and the subsequent processing will be described. Note that the same processing is executed even if the initial value of currentRecordId is a natural number other than 1. The duplicate image data detection unit 219 acquires the RecordNo record content corresponding to currentRecordId from the Image XObject management table (S1402), and sets it in currentObject (S1403).

次に、重複画像データ検知部219は、newObjとcurrentObjとの内容を比較する(S1404)。重複画像データ検知部219は、newObjとcurrentObjとにおいてHeightの値が一致するか否か判定する(S1405)。S1405がYESの場合、重複画像データ検知部219は、newObjとcurrentObjとにおいてWidthの値が一致するか否か判定する(S1406)。   Next, the duplicate image data detection unit 219 compares the contents of newObj and currentObj (S1404). The duplicate image data detection unit 219 determines whether the value of Height matches in newObj and currentObj (S1405). When S1405 is YES, the duplicate image data detection unit 219 determines whether the Width value matches in newObj and currentObj (S1406).

S1406がYESの場合、重複画像データ検知部219は、newObjとcurrentObjとにおいてLengthの値が一致するか否か判定する(S1407)。S1407がYESの場合、重複画像データ検知部219は、newObjとcurrentObjとにおいてBitsPerConponentの値が一致するか否か判定する(S1408)。   If S1406 is YES, the duplicate image data detection unit 219 determines whether the Length values match in newObj and currentObj (S1407). When S1407 is YES, the duplicate image data detection unit 219 determines whether or not the value of BitsPerComponent matches in newObj and currentObj (S1408).

S1408がYESの場合、重複画像データ検知部219は、newObjとcurrentObjとにおいてColorSpaceの値が一致するか否か判定する(S1409)。S1409がYESの場合、重複画像データ検知部219は、newObjとcurrentObjとにおいてFilterの値が一致するか否か判定する(S1410)。S1410がYESの場合、重複画像データ検知部219は、StreamHashが一致するか否かを判定する(S1411)。   When S1408 is YES, the duplicate image data detection unit 219 determines whether the value of ColorSpace is the same in newObj and currentObj (S1409). When S1409 is YES, the duplicate image data detection unit 219 determines whether the value of Filter matches in newObj and currentObj (S1410). When S1410 is YES, the duplicate image data detection unit 219 determines whether or not the StreamHash matches (S1411).

なお、ハッシュ値は、元のデータの長さによらず一定の長さであり、同じデータからは必ず同じハッシュ値が得られる一方で、少しでも異なるデータからは、全く異なるハッシュ値が得られるという特性がある。また、ハッシュ値は、情報量の欠損を含む不可逆な計算過程を得て算出されるため、ハッシュ値から元のデータを得ることはできない。   Note that the hash value is a fixed length regardless of the length of the original data, and the same hash value is always obtained from the same data, but a completely different hash value is obtained from even slightly different data. There is a characteristic. Further, since the hash value is calculated by obtaining an irreversible calculation process including a loss of information amount, the original data cannot be obtained from the hash value.

重複画像データ検知部219は、S1411がYESの場合、Streamデータが一致するか否かを判定する(S1412)。なお、異なるStreamデータから同じハッシュ値が得られることは非常にまれであるため、同一画像検索処理を高速化させるためにS1412の処理を省略することも可能である。   If S1411 is YES, the duplicate image data detection unit 219 determines whether the stream data matches (S1412). Note that since it is very rare to obtain the same hash value from different Stream data, the processing of S1412 can be omitted in order to speed up the same image search processing.

S1412(もしくはS1411)でYESの場合、重複画像データ検知部219は、currentRecordIdの値を返す(S1413)。他方、S1405からS1412のいずれかの処理においてNOの場合、重複画像データ検知部219は、currentRecordIdを1インクリメントし(S1414)、次のオブジェクトがある場合(S1415/YES)には、S1402から再度処理を行う。次のオブジェクトがない場合、重複画像データ検知部219は、同一画像検索処理の結果として、同一の画像データがないことを示す「0」を返す(S1416)。   If YES in S1412 (or S1411), the duplicate image data detection unit 219 returns the value of currentRecordId (S1413). On the other hand, if NO in any of the processes from S1405 to S1412, the duplicate image data detection unit 219 increments currentRecordId by 1 (S1414), and if there is a next object (S1415 / YES), the process again from S1402 I do. If there is no next object, the duplicate image data detection unit 219 returns “0” indicating that there is no identical image data as a result of the identical image search process (S1416).

S1412(もしくはS1411)でYESの場合、同一画像検索処理の結果として、currentRecordIdの値を返している(S1413)。これは、currentRecordIdのRecordNoに対応するObject−IDと同一の画像データが存在することを示している(S1501/YES)。   In the case of YES in S1412 (or S1411), the value of currentRecordId is returned as the result of the same image search process (S1413). This indicates that the same image data as the Object-ID corresponding to RecordNo of currentRecordId exists (S1501 / YES).

この時、重複画像データ検知部219は、currentRecordIdのObject−IDをfoundObjIdにセットし(S1503)、Image XObject管理テーブル内のObject−ID=currentObjIdのレコードにおいて、同じ画像データを含むオブジェクトを示すSameObjList[]フィールドにfoundObjIdの値を追加する(S1504)。   At this time, the duplicate image data detection unit 219 sets the object-ID of currentRecordId to the foundObjectId (S1503), and in the record of Object-ID = currentObjectId in the Image XObject management table, SameObjectList indicating the object containing the same image data [ ] Is added to the value of foundObjId (S1504).

次のオブジェクトがある場合(S1505/YES)、重複画像データ検知部219は、S1302から再度同じ処理を実行する。次のオブジェクトがない場合(S1505/NO)、重複画像データ検知部219は、本処理を終了させる。   If there is a next object (S1505 / YES), the duplicate image data detection unit 219 executes the same process again from S1302. If there is no next object (S1505 / NO), the duplicate image data detection unit 219 ends the process.

S1501でNOの場合、currentRecordIdのRecordNoに対応するObject−IDが示すオブジェクトとは異なる画像データを含むオブジェクトが存在することを示している。このとき、重複画像データ検知部219は、Image XObject管理テーブルに新規のオブジェクトを追加する(S1502)。   In the case of NO in S1501, it indicates that there is an object including image data different from the object indicated by the Object-ID corresponding to RecordNo of currentRecordId. At this time, the duplicate image data detection unit 219 adds a new object to the Image XObject management table (S1502).

そして、次のオブジェクトがある場合(S1505/YES)、重複画像データ検知部219は、S1302から再度同じ処理を実行する。他方、次のオブジェクトがない場合(S1505/NO)、重複画像データ検知部219は、本処理を終了させる。   If there is a next object (S1505 / YES), the duplicate image data detection unit 219 executes the same process again from S1302. On the other hand, if there is no next object (S1505 / NO), the duplicate image data detection unit 219 ends this processing.

次に、重複画像データを削除する処理について説明する。図16は、本実施形態に係る重複画像データを削除する処理の流れを示すフローチャートである。重複画像データを削除するにあたり、currentRecordIdは、初期値として1以外の値も取り得る。ここでは、currentRecordIdの初期値が1である(S1601)として、以後の処理の説明を行う。なお、currentRecordIdの初期値が1以外の自然数であっても、同様の処理が実行される。   Next, processing for deleting duplicate image data will be described. FIG. 16 is a flowchart showing a flow of processing for deleting duplicate image data according to this embodiment. In deleting duplicate image data, currentRecordId can take a value other than 1 as an initial value. Here, assuming that the initial value of currentRecordId is 1 (S1601), the subsequent processing will be described. Note that the same processing is executed even if the initial value of currentRecordId is a natural number other than 1.

重複画像データ削除部220は、Image XObject管理テーブルからRecordNo=currentRecordIdのレコードの内容を取得し、currentObjにセットする(S1602)。重複画像データ削除部220は、currentObjの情報リストのうち、SameObjList[]が空の場合(S1603/YES)、currentRecordIdを1インクリメントする(S1612)。   The duplicate image data deletion unit 220 acquires the content of RecordNo = currentRecordId record from the Image XObject management table and sets it in currentObject (S1602). The duplicate image data deletion unit 220 increments the currentRecordId by 1 when the SameObjList [] is empty in the currentObj information list (S1603 / YES) (S1612).

そして、重複画像データ削除部220は、次のオブジェクトが存在する場合には(S1613/YES)、S1602から再度同じ処理を実行し、次のオブジェクトが存在しない場合には(S1613/NO)、本処理を終了させる。   If the next object exists (S1613 / YES), the duplicate image data deletion unit 220 executes the same process again from S1602, and if the next object does not exist (S1613 / NO), End the process.

currentObjの情報リストにおいてSameObjList[]が空ではない場合(S1603/NO)、重複画像データ削除部220は、オブジェクトの参照先を書き換えるための情報であるrewriteObjIdにcurrentObjのObject−IDの値をコピーする(S1604)。次に、重複画像データ削除部220は、オブジェクトを削除するための情報であるdeleteObjList[]のフィールドにcurrentObjのSameObjList[]の内容をコピーする(S1605)。   When SameObjList [] is not empty in the information list of currentObj (S1603 / NO), the duplicate image data deletion unit 220 copies the value of ObjectObject-ID of currentObj to rewriteObjId that is information for rewriting the object reference destination. (S1604). Next, the duplicate image data deletion unit 220 copies the contents of SameObjList [] of currentObj to the field of deleteObjList [] that is information for deleting the object (S1605).

次に、重複画像データ削除部220は、deleteObjIdにdeleteObjList[]の先頭の値をコピーする(S1606)。そして、重複画像データ削除部220は、PDFファイル301からObject−IDの値がdeleteObjIdの値と同じであるオブジェクトを削除し(S1607)、さらにPDFファイル全体をスキャンし、deleteObjIdを参照しているオブジェクトを検索する(S1608)。したがって、重複画像データ削除部220は、重複画像情報検索部として機能する。   Next, the duplicate image data deletion unit 220 copies the first value of deleteObjList [] to deleteObjId (S1606). Then, the duplicate image data deletion unit 220 deletes an object whose Object-ID value is the same as the value of deleteObjId from the PDF file 301 (S1607), further scans the entire PDF file, and refers to the object ObjId. Is searched (S1608). Therefore, the duplicate image data deletion unit 220 functions as a duplicate image information search unit.

重複画像データ削除部220は、検索して見つけたオブジェクトの参照先をrewriteObjIdに書き換え(S1609)、deleteObjList[]の先頭の値を削除する(S1610)。したがって、重複画像データ削除部220は、識別情報書換部としても機能する。   The duplicate image data deletion unit 220 rewrites the reference destination of the object found by the search to rewriteObjId (S1609), and deletes the first value of deleteObjList [] (S1610). Therefore, the duplicate image data deletion unit 220 also functions as an identification information rewriting unit.

重複画像データ削除部220は、deleteObjList[]が空ではない場合、すなわち、deleteObjList[]に何らかの値が記載されている場合(S1611/NO)、S1607から再度同様の処理を実行する。   When the deleteObjList [] is not empty, that is, when some value is described in the deleteObjList [] (S1611 / NO), the duplicate image data deletion unit 220 executes the same process again from S1607.

重複画像データ削除部220は、deleteObjList[]が空の場合(S1611/YES)、currentRecordIdを1インクリメントする(S1612)。検索して見つけたオブジェクトの参照先をrewriteObjIdに書き換えることで、currentObjのObject−ID、すなわち、一つの画像データを使用可能にする。以後は、S1613と同様の処理を行う。   If the deleteObjectList [] is empty (S1611 / YES), the duplicate image data deletion unit 220 increments currentRecordId by 1 (S1612). By rewriting the reference destination of the object found by the search to rewriteObjId, the Object-ID of currentObj, that is, one image data can be used. Thereafter, the same processing as S1613 is performed.

以上説明したように、本実施形態に係るプリフライト処理部204は、オブジェクトを識別するための情報が異なる場合であっても、PDFファイル中において重複する同一の画像データを検知することができる。そのため、プリフライト処理部204において、重複する画像データであると判断された画像データは、レンダリング処理部218において、オブジェクトキャッシングの対象として取り扱われる。このようにすることにより、画像データの再利用オブジェクトに対してレンダリング処理を効率よく実行可能になる。   As described above, the preflight processing unit 204 according to the present embodiment can detect the same image data overlapping in the PDF file even when the information for identifying the object is different. For this reason, the image data determined by the preflight processing unit 204 as overlapping image data is handled as a target for object caching by the rendering processing unit 218. By doing so, rendering processing can be efficiently executed on the reuse object of the image data.

次に、重複描画コマンドを検知する処理について説明する。図17ないし図19は、本実施形態に係る重複画像データを検知する処理の流れを示すフローチャートである。PDFファイル301には、上述したように、ランダムアクセスに対応するために、PDFファイル301に含まれるオブジェクトの位置を示す相互参照テーブルが含まれる。重複描画指示情報検知部として機能する重複描画コマンド検知部221は、PDFファイル301から、相互参照テーブルを取得する(S1701)。   Next, processing for detecting a duplicate drawing command will be described. 17 to 19 are flowcharts showing a flow of processing for detecting duplicate image data according to the present embodiment. As described above, the PDF file 301 includes a cross-reference table indicating the positions of objects included in the PDF file 301 in order to cope with random access. The duplicate drawing command detection unit 221 functioning as a duplicate drawing instruction information detection unit acquires a cross-reference table from the PDF file 301 (S1701).

重複描画コマンド検知部221は、相互参照テーブルからオブジェクトのObject−IDを取得し(S1702)、currentObjIdにセットする(S1703)。なお、初回の重複描画コマンドの検知処理時において、重複描画コマンド検知部221は、Record Noが0、すなわち、currentObjIdにセットされるObject−IDには、ダミーもしくは無効化されるものを割り当てる。   The duplicate drawing command detection unit 221 acquires the Object-ID of the object from the cross-reference table (S1702) and sets it in the currentObjectId (S1703). Note that, during the first duplicate drawing command detection process, the duplicate drawing command detection unit 221 assigns a dummy or invalidated Object-ID set to Record No. 0, that is, currentObjectId.

次に重複描画コマンド検知部221は、S1703の処理においてcurrentObjIdにセットしたObject−IDのオブジェクトの位置情報であるバイトオフセットを相互参照テーブルから取得する(S1704)。そして、PDFファイル301からObject−IDのオブジェクトの位置にあるオブジェクトを抽出し(S1705)、抽出したオブジェクトを比較先のオブジェクトを示す情報としてnewObjにセットする(S1706)。   Next, the duplicate drawing command detection unit 221 acquires, from the cross reference table, a byte offset that is the position information of the Object-ID object set in currentObjId in the processing of S1703 (S1704). Then, an object at the position of the Object-ID object is extracted from the PDF file 301 (S1705), and the extracted object is set in newObj as information indicating a comparison target object (S1706).

重複描画コマンド検知部221は、newObjの情報を確認する。具体的には、newObjのType=“XObject”であるか否か(S1707)、Subtype=“Form”であるか否か(S1708)を確認する。これらの処理によって、重複描画コマンド検知部221は、S1705にて抽出したオブジェクトが、「Form XObject」であるか否かを判定する。   The duplicate drawing command detection unit 221 confirms the information of newObj. More specifically, it is confirmed whether or not newObject type = “XObject” (S1707) and Subtype = “Form” (S1708). Through these processes, the duplicate drawing command detection unit 221 determines whether or not the object extracted in S1705 is “Form XObject”.

S1707もしくはS1708のいずれかの処理でNOの場合、重複描画コマンド検知部221は、S1702の処理から再度実行する。したがって、初回の重複描画コマンドの検知処理時において、重複描画コマンド検知部221は、ダミーもしくは無効化されたObject−IDのオブジェクトのバイトオフセットからダミーもしくは無効化されたオブジェクトを抽出する。そのため、初回の重複描画コマンドの検知処理時においては、S1702の処理から再度実行する。   If NO in either of the processes in S1707 or S1708, the duplicate drawing command detection unit 221 executes again from the process in S1702. Therefore, during the first duplicate drawing command detection process, the duplicate drawing command detection unit 221 extracts a dummy or invalidated object from the byte offset of the dummy or invalidated Object-ID object. For this reason, in the first duplicate drawing command detection process, the process is executed again from the process of S1702.

S1707でYESかつS1708でYESの場合、newObjはImage XObjectである。重複描画コマンド検知部221は、newObjのオブジェクトとcurrentObjIdにセットしたObject−IDのオブジェクトとにおいて、同一描画コマンド検索処理を実行する(D、図18)。   If YES in S1707 and YES in S1708, newObj is Image XObject. The duplicate drawing command detection unit 221 executes the same drawing command search process on the object of newObj and the object of Object-ID set in currentObjId (D, FIG. 18).

同一描画コマンド検索処理を行うにあたり、currentRecordIdが1である(S1801)として、以後の処理の説明を行う。重複描画コマンド検知部221は、currentRecordIdに対応するRecordNoのレコード内容をImage XObject管理テーブルから取得し(S1802)、currentObjにセットする(S1803)。   In performing the same drawing command search process, it is assumed that currentRecordId is 1 (S1801), and the subsequent process will be described. The duplicate drawing command detection unit 221 acquires the RecordNo record content corresponding to currentRecordId from the Image XObject management table (S1802), and sets it in currentObject (S1803).

次に、重複描画コマンド検知部221は、newObjとcurrentObjとの内容を比較する(S1804)。重複描画コマンド検知部221は、newObjとcurrentObjとにおいてForm Typeが一致するか否か判定する(S1805)。S1805がYESの場合、重複描画コマンド検知部221は、newObjとcurrentObjとにおいてBBoxの値が一致するか否か判定する(S1806)。   Next, the duplicate drawing command detection unit 221 compares the contents of newObj and currentObj (S1804). The duplicate drawing command detection unit 221 determines whether or not Form Type matches in newObj and currentObj (S1805). When S1805 is YES, the duplicate drawing command detection unit 221 determines whether or not the value of BBox matches in newObj and currentObj (S1806).

S1806がYESの場合、重複描画コマンド検知部221は、newObjとcurrentObjとにおいてMatrixの値が一致するか否か判定する(S1807)。S1807がYESの場合、重複描画コマンド検知部221は、newObjとcurrentObjとにおいてResourcesHashの値が一致するか否か判定する(S1808)。S1808がYESの場合、重複描画コマンド検知部221は、StreamHashが一致するか否かを判定する(S1809)。   If S1806 is YES, the duplicate drawing command detection unit 221 determines whether the value of Matrix matches in newObj and currentObj (S1807). When S1807 is YES, the duplicate drawing command detection unit 221 determines whether the value of ResourcesHash is the same in newObj and currentObj (S1808). When S1808 is YES, the overlapping drawing command detection unit 221 determines whether or not the StreamHash matches (S1809).

「Resource辞書データ」は、フォームに含まれるフォントを描画するための字形や特性などを示す情報である。S1809がYESの場合、重複描画コマンド検知部221は、newObjとcurrentObjとにおいてResource辞書データ全体が一致するか否か判定する(S1810)。なお、異なるStreamデータから同じハッシュ値が得られることは非常にまれであるため、S1808がYESの場合には、同一描画コマンド検索処理を高速化させるために、S1810の処理を省略することも可能である。   “Resource dictionary data” is information indicating a character shape and characteristics for drawing a font included in the form. If S1809 is YES, the duplicate drawing command detection unit 221 determines whether the entire Resource dictionary data matches in newObj and currentObj (S1810). Since it is very rare that the same hash value is obtained from different Stream data, when S1808 is YES, the process of S1810 can be omitted in order to speed up the same drawing command search process. It is.

「Streamデータ」は、オブジェクトに含まれる描画コマンドのstreamデータである。重複描画コマンド検知部221は、S1810がYESの場合、Streamデータが一致するか否かを判定する(S1811)。なお、異なるStreamデータから同じハッシュ値が得られることは非常にまれであるため、S1809がYESの場合には、同一描画コマンド検索処理を高速化させるために、S1811の処理を省略することも可能である。   “Stream data” is stream data of a drawing command included in the object. If S1810 is YES, the duplicate drawing command detection unit 221 determines whether the stream data matches (S1811). Since it is very rare that the same hash value is obtained from different Stream data, when S1809 is YES, the process of S1811 can be omitted in order to speed up the same drawing command search process. It is.

S1811(もしくはS1809)でYESの場合、重複描画コマンド検知部221は、currentRecordIdの値を返す(S1812)。他方、S1805からS1811のいずれかの処理でNOの場合、重複描画コマンド検知部221は、currentRecordIdを1インクリメントし(S1813)、次のオブジェクトがある場合(S1814/YES)には、S1802から再度処理を行う。次のオブジェクトがない場合、重複描画コマンド検知部221は、同一描画コマンド検索処理の結果として、同一の描画コマンドがないことを示す「0」を返す(S1815)。   If YES in S1811 (or S1809), the duplicate drawing command detection unit 221 returns the value of currentRecordId (S1812). On the other hand, if any of the processes from S1805 to S1811 is NO, the duplicate drawing command detection unit 221 increments currentRecordId by 1 (S1813), and if there is a next object (S1814 / YES), the process from S1802 is performed again. I do. If there is no next object, the duplicate drawing command detection unit 221 returns “0” indicating that there is no same drawing command as a result of the same drawing command search process (S1815).

S1811(もしくはS1809)でYESの場合、同一描画コマンド検索処理の結果として、currentRecordIdの値を返している(S1812)。これは、currentRecordIdのRecordNoに対応するObject−IDと同一の描画コマンドが存在することを示している(S1901/YES)。   If YES in S1811 (or S1809), the value of currentRecordId is returned as the result of the same drawing command search process (S1812). This indicates that the same drawing command as the Object-ID corresponding to RecordNo of currentRecordId exists (S1901 / YES).

この時、重複描画コマンド検知部221は、currentRecordIdのObject−IDをfoundObjIdにセットし(S1903)、Form XObject管理テーブル内のObject−ID=currentObjIdのレコードにおいて、同じ描画コマンドを含むオブジェクトを示すSameObjList[]フィールドにfoundObjIdの値を追加する(S1904)。   At this time, the duplicate drawing command detection unit 221 sets the object-ID of currentRecordId to the foundObjectId (S1903), and in the record of Object-ID = currentObjectId in the Form XObject management table, SameObjectList indicating the object including the same drawing command [ ] Is added to the value of foundObjId (S1904).

次のオブジェクトがある場合(S1905/YES)、重複描画コマンド検知部221は、S1702から再度同じ処理を実行する。次のオブジェクトがない場合(S1905/NO)、重複描画コマンド検知部221は、本処理を終了させる。   When there is a next object (S1905 / YES), the duplicate drawing command detection unit 221 executes the same process again from S1702. If there is no next object (S1905 / NO), the duplicate drawing command detection unit 221 ends this processing.

S1901でNOの場合、currentRecordIdのRecordNoに対応するObject−IDが示すオブジェクトとは異なる描画コマンドを含むオブジェクトが存在することを示している。この時、重複描画コマンド検知部221は、Form XObject管理テーブルに新規のオブジェクトを追加する(S1902)。   If NO in S1901, it indicates that there is an object that includes a drawing command different from the object indicated by the Object-ID corresponding to RecordNo of currentRecordId. At this time, the duplicate drawing command detection unit 221 adds a new object to the Form XObject management table (S1902).

そして、次のオブジェクトがある場合(S1905/YES)、重複描画コマンド検知部221は、S1702から再度同じ処理を実行する。他方、次のオブジェクトがない場合(S1905/NO)、重複描画コマンド検知部221は、本処理を終了させる。   If there is a next object (S1905 / YES), the duplicate drawing command detection unit 221 executes the same process again from S1702. On the other hand, when there is no next object (S1905 / NO), the overlapping drawing command detection unit 221 ends this processing.

次に、重複描画コマンドを削除する処理について説明する。図20は、本実施形態に係る重複描画コマンドを削除する処理の流れを示すフローチャートである。重複描画コマンドを削除するにあたり、currentRecordIdが1である(S2001)として、以後の処理の説明を行う。   Next, processing for deleting a duplicate drawing command will be described. FIG. 20 is a flowchart showing a flow of processing for deleting a duplicate drawing command according to this embodiment. In deleting the duplicate drawing command, it is assumed that currentRecordId is 1 (S2001), and the subsequent processing will be described.

重複描画コマンド削除部222は、Form XObject管理テーブルからRecordNo=currentRecordIdのレコードの内容を取得し、currentObjにセットする(S2002)。重複描画コマンド削除部222は、currentObjの情報リストのうち、SameObjList[]が空の場合(S2003/YES)、currentRecordIdを1インクリメントする(S2012)。   The duplicate drawing command deletion unit 222 acquires the content of RecordNo = currentRecordId record from the Form XObject management table and sets it in currentObject (S2002). The duplicate drawing command deletion unit 222 increments the currentRecordId by 1 when the SameObjList [] is empty in the currentObj information list (S2003 / YES) (S2012).

そして、重複描画コマンド削除部222は、次のオブジェクトが存在する場合には(S2013/YES)、S2002から再度同じ処理を実行し、次のオブジェクトが存在しない場合には(S2013/NO)、本処理を終了させる。   If the next object exists (S2013 / YES), the duplicate drawing command deletion unit 222 executes the same process again from S2002, and if the next object does not exist (S2013 / NO), End the process.

currentObjの情報リストにおいてSameObjList[]が空ではない場合(S2003/NO)、重複描画コマンド削除部222は、オブジェクトの参照先を書き換えるための情報であるrewriteObjIdにcurrentObjのObject−IDの値をコピーする(S2004)。次に、重複描画コマンド削除部222は、オブジェクトを削除するための情報であるdeleteObjList[]のフィールドにcurrentObjのSameObjList[]の内容をコピーする(S2005)。   When SameObjList [] is not empty in the information list of currentObj (S2003 / NO), the duplicate drawing command deletion unit 222 copies the value of Object-ID of currentObj to rewriteObjId that is information for rewriting the reference destination of the object. (S2004). Next, the duplicate drawing command deletion unit 222 copies the contents of SameObjList [] of currentObj to the field of deleteObjList [] that is information for deleting the object (S2005).

次に、重複描画コマンド削除部222は、deleteObjIdにdeleteObjList[]の先頭の値をコピーする(S2006)。そして、重複描画コマンド削除部222は、PDFファイル301からObject−IDの値がdeleteObjIdの値と同じであるオブジェクトを削除し(S2007)、さらにPDFファイル全体をスキャンし、deleteObjIdを参照しているオブジェクトを検索する(S2008)。したがって、重複描画コマンド削除部222は、重複描画指示情報検索部として機能する。   Next, the duplicate drawing command deletion unit 222 copies the first value of deleteObjList [] to deleteObjId (S2006). Then, the duplicate drawing command deletion unit 222 deletes the object whose Object-ID value is the same as the value of deleteObjId from the PDF file 301 (S2007), further scans the entire PDF file, and refers to the object ObjId. Is searched (S2008). Therefore, the duplicate drawing command deletion unit 222 functions as a duplicate drawing instruction information search unit.

重複描画コマンド削除部222は、検索して見つけたオブジェクトの参照先をrewriteObjIdに書き換え(S2009)、deleteObjList[]の先頭の値を削除する(S2010)。したがって、重複描画コマンド削除部222は、識別情報書換部として機能する。   The duplicate drawing command deletion unit 222 rewrites the reference destination of the object found by the search to rewriteObjId (S2009), and deletes the first value of deleteObjList [] (S2010). Therefore, the duplicate drawing command deletion unit 222 functions as an identification information rewriting unit.

重複描画コマンド削除部222は、deleteObjList[]が空ではない場合、すなわち、deleteObjList[]に何らかの値が記載されている場合(S2011/NO)、S2007から再度同様の処理を実行する。   If the deleteObjList [] is not empty, that is, if some value is described in the deleteObjList [] (S2011 / NO), the duplicate drawing command deletion unit 222 executes the same process again from S2007.

重複描画コマンド削除部222は、deleteObjList[]が空の場合(S2011/YES)、currentRecordIdを1インクリメントする(S2012)。検索して見つけたオブジェクトの参照先をrewriteObjIdに書き換えることで、currentObjのObject−ID、すなわち、一つの描画コマンドを使用可能にする。以後は、S2013と同様の処理を行う。   If deleteObjectList [] is empty (S2011 / YES), the duplicate drawing command deletion unit 222 increments currentRecordId by 1 (S2012). By rewriting the reference destination of the object found by the search to “rewriteObjId”, the Object-ID of the currentObj, that is, one drawing command can be used. Thereafter, the same processing as S2013 is performed.

以上説明したように、本実施形態に係るプリフライト処理部204は、オブジェクトを識別するための情報が異なる場合であっても、PDFファイル中において重複する同一の描画コマンドを検知することができる。そのため、プリフライト処理部204において、重複する描画コマンドであると判断された描画コマンドは、レンダリング処理部218において、オブジェクトキャッシングの対象として取り扱われる。このようにすることによって、描画コマンドの再利用オブジェクトに対してレンダリング処理を効率よく実行可能になる。   As described above, the preflight processing unit 204 according to the present embodiment can detect the same drawing command overlapping in the PDF file even when the information for identifying the object is different. Therefore, a drawing command that is determined to be an overlapping drawing command in the preflight processing unit 204 is handled in the rendering processing unit 218 as an object caching target. By doing so, rendering processing can be efficiently executed on the reuse object of the drawing command.

図21は、同一内容であってかつ異なるObject−IDであるImage XObject、Form XObjectを含むPDFファイル301の構造を例示したものである。p1およびp2は、Object−IDは異なるものの、(a)および(b)に示すように、同一のForm XObjectを含んで構成される。   FIG. 21 shows an example of the structure of a PDF file 301 including Image XObject and Form XObject having the same contents and different Object-IDs. Although p1 and p2 have different Object-IDs, as shown in (a) and (b), they are configured to include the same Form XObject.

この時、重複描画コマンド削除部222は、(b)のForm XObjectを削除し、(a)のForm XObjectのForm XObject管理テーブル内のSameObjList[]フィールドに、(b)のForm XObjectのObject−IDを追加する。このようにすることで、p2を効率よくレンダリング処理することができる。   At this time, the duplicate drawing command deletion unit 222 deletes the Form XObject of (b), and the Object-ID of the Form XObject of (b) in the SameObjectList [] field in the Form XObject management table of the Form XObject of (a). Add In this way, p2 can be efficiently rendered.

さらに、p1およびp2は、Object−IDは異なるものの、(c)および(d)に示すように、同一のImage XObjectを含んで構成される。この時、重複画像データ削除部220は、(d)のImage XObjectを削除し、(c)のImage XObjectのImage XObject管理テーブル内のSameObjList[]フィールドに、(d)のImage XObjectのObject−IDを追加する。このようにすることで、p2をさらに効率よくレンダリング処理することができる。   Furthermore, although p1 and p2 have different Object-IDs, as shown in (c) and (d), they are configured to include the same Image XObject. At this time, the duplicate image data deletion unit 220 deletes the Image XObject of (d), and the Object-ID of the Image XObject of (d) in the ImageObjectList [] field of the Image XObject management table of (C) of Image XObject. Add In this way, p2 can be rendered more efficiently.

以上説明したように、本実施形態においては、PDF形式のファイルに、同一の画像データや描画コマンドが検知された場合に、それらの画像データや描画コマンドから一つを選択したオブジェクトを残す。このようにすると、PDFファイル中の再利用オブジェクトの個数を増やすことにより、オブジェクトキャッシングの効果をより高めることが可能となるため、結果的にDFEでのレンダリング処理を効率よく実行することができる。   As described above, in the present embodiment, when the same image data or drawing command is detected in a PDF file, an object selected from the image data or drawing command is left. In this way, by increasing the number of reusable objects in the PDF file, the effect of object caching can be further enhanced, and as a result, rendering processing by DFE can be executed efficiently.

また、PDF形式のファイルにおいては、同一の画像データや描画コマンドであっても、オブジェクトの識別情報が異なる場合には従来のDFEではオブジェクトキャッシングを行うことが不可能であった。しかし、本実施例においてはそのような識別情報が異なるオブジェクトに対してもオブジェクトキャッシングを行うことができる。そのため、より効率のよいレンダリング処理を実行することができる。   Also, in the PDF format file, even if the same image data or drawing command is used, if the object identification information is different, the conventional DFE cannot perform object caching. However, in this embodiment, object caching can be performed even for objects having different identification information. Therefore, more efficient rendering processing can be executed.

なお、プリフライト処理部204の構成を図22に示すように拡張し、入稿されたPDFファイル301に含まれる冗長な画像データを削除し、データサイズを小さくしたPDFファイル302を出力する構成であってもよい。このような構成の場合、レンダリング結果には影響を与えることなくPDFファイル301のデータサイズを小さくしたPDFファイル302を出力することができる。   The configuration of the preflight processing unit 204 is expanded as shown in FIG. 22 to delete the redundant image data included in the submitted PDF file 301 and output the PDF file 302 with a reduced data size. There may be. In such a configuration, it is possible to output a PDF file 302 in which the data size of the PDF file 301 is reduced without affecting the rendering result.

また、図22に示すような構成のプリフライト処理部204を既存のDFEに組み込むことにより、本発明と同様に、同一の画像データや描画コマンドであって、オブジェクトの識別情報が異なる場合にオブジェクトキャッシングを行うことができる。したがって、本実施形態に係るプリフライト処理部204を備えたDFE100は、画像情報編集装置としても機能する。   Further, by incorporating the preflight processing unit 204 configured as shown in FIG. 22 into an existing DFE, as in the present invention, when the same image data or drawing command and the object identification information are different, the object Caching can be performed. Therefore, the DFE 100 including the preflight processing unit 204 according to the present embodiment also functions as an image information editing device.

1 画像形成装置
2 クライアント端末
10 CPU
20 RAM
30 ROM
40 HDD
50 I/F
60 LCD
70 操作部
80 バス
100 DFE
101 ネットワークI/F
102 ディスプレイ
110 DFEコントローラ
111 入出力制御部
112 UI制御部
113 主制御部
114 画像処理部
115 プリンタ制御部
116 画像格納部
120 RIPエンジン
150 プリントエンジン
201 制御部
202 入力部
204 プリフライト処理部
205 ノーマライズ処理部
206 マーク処理部
207 フォント処理部
209 CMM処理部
210 Trapping処理部
211 Calibration処理部
212 Screening処理部
213 出力部
218 レンダリング処理部
219 重複画像データ検知部
220 重複画像データ削除部
221 重複描画コマンド検知部
222 重複描画コマンド削除部
223 PDF構造解析部
224 オブジェクト描画部
225 オブジェクト記憶部
DESCRIPTION OF SYMBOLS 1 Image forming apparatus 2 Client terminal 10 CPU
20 RAM
30 ROM
40 HDD
50 I / F
60 LCD
70 Operation unit 80 Bus 100 DFE
101 Network I / F
DESCRIPTION OF SYMBOLS 102 Display 110 DFE controller 111 Input / output control part 112 UI control part 113 Main control part 114 Image processing part 115 Printer control part 116 Image storage part 120 RIP engine 150 Print engine 201 Control part 202 Input part 204 Preflight processing part 205 Normalization process Unit 206 Mark processing unit 207 Font processing unit 209 CMM processing unit 210 Trapping processing unit 211 Calibration processing unit 212 Screening processing unit 213 Output unit 218 Rendering processing unit 219 Duplicate image data detection unit 220 Duplicate image data deletion unit 221 Duplicate drawing command detection unit 222 Duplicate drawing command deletion unit 223 PDF structure analysis unit 224 Object drawing unit 225 Object storage unit

特開2013−205886号公報JP 2013-205886 A

Claims (10)

画像形成出力対象の画像を出力する命令情報を画像形成出力処理の実行を制御する処理実行制御装置から受信し、前記命令情報を構成する単位画像である複数のオブジェクトに含まれる画像情報を比較し、前記オブジェクトを識別する識別情報がそれぞれ異なる複数の前記オブジェクトにおいて、前記画像情報が重複する重複画像情報オブジェクトを検知する重複画像情報検知部と、
画像形成装置が画像形成出力に際して参照する描画情報を前記命令情報に基づいて描画情報生成部に生成させる描画情報生成制御部と、
前記画像情報が描画された結果である描画結果情報を記憶する描画結果記憶部と、
を含み、
前記描画情報生成制御部は、
検知された前記重複画像情報オブジェクトに含まれる画像情報の描画結果情報を用い、前記描画情報生成部に前記描画情報を生成させることを特徴とする画像形成出力制御装置。
Command information for outputting an image to be image-formed output is received from a process execution control device that controls execution of image formation output processing, and image information included in a plurality of objects that are unit images constituting the command information is compared. A duplicate image information detection unit for detecting a duplicate image information object in which the image information is duplicated in a plurality of the objects having different identification information for identifying the objects;
A drawing information generation control unit that causes the drawing information generation unit to generate drawing information to be referred to by the image forming apparatus at the time of image formation output;
A drawing result storage unit for storing drawing result information which is a result of drawing the image information;
Including
The drawing information generation control unit
An image forming output control apparatus, wherein the drawing information generating unit generates the drawing information using drawing result information of image information included in the detected duplicate image information object.
複数の前記重複画像情報オブジェクトの識別情報がそれぞれ異なる場合に、複数の前記重複画像情報オブジェクトの識別情報を共通のものに書き換える識別情報書換部を含むことを特徴とする請求項1に記載の画像形成出力制御装置。   The image according to claim 1, further comprising an identification information rewriting unit that rewrites the identification information of the plurality of duplicate image information objects to a common one when the identification information of the plurality of duplicate image information objects is different. Formation output control device. 検知された前記重複画像情報オブジェクトを参照しているオブジェクトである重複画像情報参照オブジェクトを検索する重複画像情報検索部
を含み、
前記識別情報書換部は、
前記重複画像情報参照オブジェクトの識別情報を、前記重複画像情報参照オブジェクトが参照している前記重複画像情報オブジェクトの識別情報と共通のものに書き換えることを特徴とする請求項2に記載の画像形成出力制御装置。
A duplicate image information search unit that searches for a duplicate image information reference object that is an object referring to the detected duplicate image information object;
The identification information rewriting unit
3. The image forming output according to claim 2, wherein the identification information of the duplicate image information reference object is rewritten to the common identification information of the duplicate image information object referred to by the duplicate image information reference object. Control device.
前記描画情報生成制御部は、
複数の前記重複画像情報オブジェクトのうち、一の前記重複画像情報オブジェクトに含まれる画像情報に基づいて、前記描画情報生成部に前記描画情報を生成させることを特徴とする請求項1ないし請求項3のいずれか一項に記載の画像形成出力制御装置。
The drawing information generation control unit
4. The drawing information generation unit is configured to generate the drawing information based on image information included in one of the plurality of overlapping image information objects. The image forming output control apparatus according to any one of the above.
画像形成出力対象の画像を出力する命令情報を画像形成出力処理の実行を制御する処理実行制御装置から受信し、前記命令情報を構成する単位画像を描画情報生成部に描画させる複数のオブジェクトに含まれる描画指示情報を比較し、前記オブジェクトを識別する識別情報がそれぞれ異なる複数の前記オブジェクトにおいて、前記描画指示情報が重複する重複描画指示情報オブジェクトを検知する重複描画指示情報検知部と、
画像形成装置が画像形成出力に際して参照する描画情報を前記命令情報に基づいて前記描画情報生成部に生成させる描画情報生成制御部と、
前記描画指示情報が描画された結果である描画結果情報を記憶する描画結果記憶部と、
を含み、
前記描画情報生成制御部は、
検知された前記重複描画指示情報オブジェクトに含まれる描画指示情報の描画結果情報を用い、前記描画情報生成部に前記描画情報を生成させることを特徴とする画像形成出力制御装置。
Included in a plurality of objects that receive command information for outputting an image for image formation output from a process execution control device that controls execution of image formation output processing, and cause the drawing information generation unit to draw unit images constituting the command information An overlapping drawing instruction information detecting unit for detecting an overlapping drawing instruction information object in which the drawing instruction information is duplicated in a plurality of the objects having different identification information for identifying the objects,
A drawing information generation control unit that causes the drawing information generation unit to generate drawing information to be referred to by the image forming apparatus at the time of image formation output;
A drawing result storage unit for storing drawing result information which is a result of drawing the drawing instruction information;
Including
The drawing information generation control unit
An image forming output control apparatus, wherein the drawing information generating unit generates the drawing information using drawing result information of drawing instruction information included in the detected overlapping drawing instruction information object.
複数の前記重複描画指示情報オブジェクトの識別情報がそれぞれ異なる場合に、複数の前記重複描画指示情報オブジェクトの識別情報を共通のものに書き換える識別情報書換部を含むことを特徴とする請求項5に記載の画像形成出力制御装置。   6. The identification information rewriting unit for rewriting the identification information of the plurality of overlapping drawing instruction information objects to a common one when the identification information of the plurality of overlapping drawing instruction information objects is different from each other. Image forming output control device. 検知された前記重複描画指示情報オブジェクトを参照しているオブジェクトである重複描画指示情報参照オブジェクトを検索する重複描画指示情報検索部
を含み、
前記識別情報書換部は、
前記重複描画指示情報参照オブジェクトの識別情報を、前記重複描画指示情報参照オブジェクトが参照している前記重複描画指示情報オブジェクトの識別情報と共通のものに書き換えることを特徴とする請求項6に記載の画像形成出力制御装置。
A duplicate drawing instruction information search unit for searching for a duplicate drawing instruction information reference object that is an object referring to the detected duplicate drawing instruction information object;
The identification information rewriting unit
The identification information of the duplicate drawing instruction information reference object is rewritten to the same identification information as the duplicate drawing instruction information object referred to by the duplicate drawing instruction information reference object. Image forming output control device.
前記描画情報生成制御部は、
複数の前記重複描画指示情報オブジェクトのうち、一の前記重複描画指示情報オブジェクトに含まれる画像情報に基づいて、前記描画情報生成部に前記描画情報を生成させることを特徴とする請求項5ないし請求項7のいずれか一項に記載の画像形成出力制御装置。
The drawing information generation control unit
6. The drawing information generation unit is configured to generate the drawing information based on image information included in one overlapping drawing instruction information object among the plurality of overlapping drawing instruction information objects. Item 8. The image formation output control device according to any one of Items 7 to 9.
画像形成出力対象の画像を出力する命令情報を画像形成出力処理の実行を制御する処理実行制御装置から受信し、前記命令情報を構成する単位画像である複数のオブジェクトに含まれる画像情報を比較し、前記オブジェクトを識別する識別情報がそれぞれ異なる複数の前記オブジェクトにおいて、前記画像情報が重複する重複画像情報オブジェクトを検知するステップと、
画像形成装置が画像形成出力に際して参照する描画情報を生成する描画情報生成部に、前記命令情報に基づいて前記描画情報を生成させるステップと、
前記画像情報が描画された結果である描画結果情報を記憶するステップと、
を実行させ、
前記描画情報生成部に前記描画情報を生成させるステップにおいて、検知された前記重複画像情報オブジェクトに含まれる画像情報の描画結果情報を用い、前記描画情報生成部に前記描画情報を生成させることを特徴とする画像形成出力制御プログラム。
Command information for outputting an image to be image-formed output is received from a process execution control device that controls execution of image formation output processing, and image information included in a plurality of objects that are unit images constituting the command information is compared. Detecting a duplicate image information object in which the image information is duplicated in a plurality of the objects having different identification information for identifying the object;
A step of causing a drawing information generation unit that generates drawing information to be referred to when the image forming apparatus outputs an image to generate the drawing information based on the command information;
Storing drawing result information which is a result of drawing the image information;
And execute
In the step of causing the drawing information generation unit to generate the drawing information, the drawing information generation unit generates the drawing information using drawing result information of the image information included in the detected duplicate image information object. An image formation output control program.
画像形成出力対象の画像を出力する命令情報を画像形成出力処理の実行を制御する処理実行制御装置から受信し、前記命令情報を構成する単位画像を描画情報生成部に描画させる複数のオブジェクトに含まれる描画指示情報を比較し、前記オブジェクトを識別する識別情報がそれぞれ異なる複数の前記オブジェクトにおいて、前記描画指示情報が重複する重複描画指示情報オブジェクトを検知するステップと、
前記命令情報に基づいて前記描画情報生成部に画像形成装置が画像形成出力に際して参照する描画情報を生成させるステップと、
前記描画指示情報が描画された結果である描画結果情報を記憶するステップと、
を含み、
前記描画情報生成部に前記描画情報を生成させるステップにおいて、検知された前記重複描画指示情報オブジェクトに含まれる描画指示情報の描画結果情報を用い、前記描画情報生成部に前記描画情報を生成させることを特徴とする画像形成出力制御プログラム。
Included in a plurality of objects that receive command information for outputting an image for image formation output from a process execution control device that controls execution of image formation output processing, and cause the drawing information generation unit to draw unit images constituting the command information A plurality of objects having different identification information for identifying the objects, and detecting a duplicate drawing instruction information object in which the drawing instruction information is duplicated,
Causing the drawing information generation unit to generate drawing information to be referred to when the image forming apparatus outputs an image based on the command information;
Storing drawing result information which is a result of drawing the drawing instruction information;
Including
In the step of causing the drawing information generation unit to generate the drawing information, the drawing information generation unit generates the drawing information using drawing result information of the drawing instruction information included in the detected overlapping drawing instruction information object. An image forming output control program.
JP2016198401A 2016-10-06 2016-10-06 Image formation output control device and image formation output control program Pending JP2018058297A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016198401A JP2018058297A (en) 2016-10-06 2016-10-06 Image formation output control device and image formation output control program
US15/726,339 US10185903B2 (en) 2016-10-06 2017-10-05 Image forming output control device and non-transitory recording medium storing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016198401A JP2018058297A (en) 2016-10-06 2016-10-06 Image formation output control device and image formation output control program

Publications (1)

Publication Number Publication Date
JP2018058297A true JP2018058297A (en) 2018-04-12

Family

ID=61908045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016198401A Pending JP2018058297A (en) 2016-10-06 2016-10-06 Image formation output control device and image formation output control program

Country Status (1)

Country Link
JP (1) JP2018058297A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7380335B2 (en) 2020-03-03 2023-11-15 京セラドキュメントソリューションズ株式会社 Image processing device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7380335B2 (en) 2020-03-03 2023-11-15 京セラドキュメントソリューションズ株式会社 Image processing device

Similar Documents

Publication Publication Date Title
KR100937785B1 (en) Information processing apparatus including print job retrieval function, information processing method, and recording medium
US20070070377A1 (en) Image forming apparatus and image forming method
JP5404303B2 (en) Image processing apparatus, image processing method, and program
JP4110147B2 (en) Information leakage prevention method, information processing apparatus and driver program for realizing the method
US8351074B2 (en) Color print control method and apparatus for managing color profile used for color matching in association with a virtual printer and paper
US9519443B2 (en) Print data flattening processing of spot color components with any hidden spot color portion removed
JP5161647B2 (en) Document processing apparatus, document processing method, program, and storage medium
US20110141508A1 (en) Variable printing control apparatus and control program
JP5426843B2 (en) Information processing apparatus, information processing method, program, and storage medium for storing program
EP1533692A2 (en) Document processing apparatus and document processing method
JP5448364B2 (en) Print control apparatus, print control method, and program
US10185903B2 (en) Image forming output control device and non-transitory recording medium storing program
JP2018058297A (en) Image formation output control device and image formation output control program
JP6493063B2 (en) Image processing system, process execution control device, image processing method, and control program
JP3854791B2 (en) Image processing apparatus, server apparatus, image processing method, and storage medium
JP2006146814A (en) Information leakage prevention method, information processor for realizing the same, and driver program
US20120307310A1 (en) Image forming apparatus, method for data management, and storage medium
JP2019072894A (en) Image formation device and control method
JP6102595B2 (en) Print job editing method, print job editing program, recording medium recording print job editing program, and print job editing system
JP6477359B2 (en) Image processing system, process execution control device, image processing method, and control program
US8755079B2 (en) Image forming apparatus discriminating whether image data of an object to be subjected to transformation processing is stored in a storage unit
JP6230281B2 (en) Image processing apparatus, control method, and program
US20220413776A1 (en) Image forming apparatus that stores link file indicating path to second resource file in sub folder, instead of first resource file, when second resource file of same content as first resource file, included in image forming job submitted to hot folder, is stored in hot folder storage region, image forming method, and image forming program
JP6772910B2 (en) Control program, image processing system, processing execution control device
JP2016162244A (en) Image processing system, image formation and output control apparatus, and image processing method