JP7380335B2 - Image processing device - Google Patents

Image processing device Download PDF

Info

Publication number
JP7380335B2
JP7380335B2 JP2020036242A JP2020036242A JP7380335B2 JP 7380335 B2 JP7380335 B2 JP 7380335B2 JP 2020036242 A JP2020036242 A JP 2020036242A JP 2020036242 A JP2020036242 A JP 2020036242A JP 7380335 B2 JP7380335 B2 JP 7380335B2
Authority
JP
Japan
Prior art keywords
control unit
content stream
data
image processing
operator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020036242A
Other languages
Japanese (ja)
Other versions
JP2021138011A (en
Inventor
祐樹 篠原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2020036242A priority Critical patent/JP7380335B2/en
Publication of JP2021138011A publication Critical patent/JP2021138011A/en
Application granted granted Critical
Publication of JP7380335B2 publication Critical patent/JP7380335B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Storing Facsimile Image Data (AREA)

Description

本発明は、文書ファイルで記述されたオブジェクトに基づき画像データを描画する画像処理装置に関する。 The present invention relates to an image processing device that draws image data based on an object described in a document file.

ファイルの記述に基づき、画像データ(ラスターデータ)を生成することがある。1つのファイルの各ページを描画するとき、同じ画像を複数回描画することがある。例えば、各ページに、企業ロゴをのせる場合がある。ラスタライズで同じ画像を複数回生成しなくて済むように、生成した画像データをキャッシュすることがある。ファイルの記述に基づいてラスタライズするとき、繰り返し登場する画像をキャッシュする技術の一例が特許文献1に記載されている。 Image data (raster data) may be generated based on the file description. When drawing each page of one file, the same image may be drawn multiple times. For example, a company logo may be placed on each page. Generated image data may be cached to avoid having to generate the same image multiple times during rasterization. An example of a technique for caching images that appear repeatedly when rasterizing based on a file description is described in Patent Document 1.

具体的に、特許文献1には、画像形成出力対象の画像を出力する命令情報を処理実行制御装置から受信し、前記命令情報を構成する複数のオブジェクトに含まれる画像情報を比較し、前記オブジェクトを識別する識別情報が異なる複数の前記オブジェクトにおいて、前記画像情報が重複する重複画像情報オブジェクトを検知し、画像形成出力に際して参照する描画情報を命令情報に基づいて生成し、前記画像情報が描画された結果である描画結果情報を記憶し、検知した前記重複画像情報オブジェクトに含まれる画像情報の描画結果情報を用いて、前記描画情報を生成する画像形成出力制御装置が記載されている。オブジェクトの識別情報が異なる部分にキャッシュした画像データを適用しようとする。 Specifically, Patent Document 1 discloses that command information for outputting an image to be formed and output is received from a processing execution control device, image information included in a plurality of objects constituting the command information is compared, Detecting a duplicate image information object in which the image information overlaps among the plurality of objects having different identification information for identifying the images, generating drawing information to be referred to when outputting the image based on command information, and generating the drawing information when the image information is drawn. An image forming output control device is described that stores drawing result information that is a result of the detection, and generates the drawing information using the drawing result information of the image information included in the detected duplicate image information object. Attempting to apply cached image data to parts of objects with different identification information.

特開2018-058297号公報JP2018-058297A

環境に左右されずに同様の画像を描画できるフォーマットとして、PDF(Portable Document Format)がある。PDFファイルは描画内容が所定の規則に則って記述される。PDFは幅広く利用されている。 PDF (Portable Document Format) is a format that allows similar images to be drawn regardless of the environment. In a PDF file, drawing contents are described according to predetermined rules. PDF is widely used.

PDFファイルでの構成要素はオブジェクトと称される。また、番号(ラベル)が付されたオブジェクトのまとまりは間接オブジェクト(Indirect Object)と称されることもある。PDFファイルの記述に基づいた描画処理(ラスタライズ処理)を行うことより、各ページの画像データを生成することができる。近年では、受信したPDFファイルを解析し、描画(ラスタライズ)する画像形成装置もある。つまり、PDFファイルを直接処理できる画像形成装置がある。 Components in a PDF file are called objects. Further, a group of objects to which a number (label) is attached is sometimes referred to as an indirect object. Image data for each page can be generated by performing drawing processing (rasterization processing) based on the description of the PDF file. In recent years, there are also image forming apparatuses that analyze and draw (rasterize) a received PDF file. That is, there are image forming apparatuses that can directly process PDF files.

オブジェクトの中には、同じページ又は同じジョブでの複数回の呼び出し(実行)が想定されているものがある。呼び出しごとに同様の描画処理(ラスタライズ処理)を繰り返すことは、効率が悪い。そこで、繰り返し呼び出すオブジェクトの描画結果(ラスタライズ処理で得られる画像データ)をキャッシュすることがある。つまり、RIP済画像データをキャッシュすることがある。キャッシュした画像データに対応するオブジェクトを再実行するとき、描画処理を省略し、キャッシュした画像データを再利用する。処理を高速化することができる。 Some objects are intended to be called (executed) multiple times on the same page or in the same job. Repeating the same drawing process (rasterization process) for each call is inefficient. Therefore, the drawing results (image data obtained through rasterization processing) of objects that are repeatedly called may be cached. That is, RIP image data may be cached. When re-executing an object corresponding to cached image data, drawing processing is omitted and the cached image data is reused. Processing can be sped up.

しかし、画像データをキャッシュすると、キャッシュに必要なメモリー容量が大きくなる場合があるという問題がある。そのため、搭載メモリーの容量を大きくしなくてはならず、装置の製造コストを抑えることができない。また、キャッシュした画像データを加工して使用する場合もある。描画結果である画像データに、拡大や回転のような加工をした場合、画質低下が顕著に現れる場合があるという問題もある。 However, caching image data poses a problem in that the memory capacity required for caching may increase. Therefore, the capacity of the installed memory must be increased, making it impossible to reduce the manufacturing cost of the device. Also, cached image data may be processed and used. There is also a problem in that when image data that is a drawing result is processed such as enlargement or rotation, the image quality may noticeably deteriorate.

なお、特許文献1記載の装置では、描画結果情報、つまり、画像データをキャッシュする。キャッシュに必要なメモリー容量が大きくなる場合がある。従って、特許文献1記載の技術は上記の問題を含む。 Note that the apparatus described in Patent Document 1 caches drawing result information, that is, image data. The amount of memory required for the cache may be large. Therefore, the technique described in Patent Document 1 includes the above problem.

上記問題点を鑑み、本発明は、画像データの代わりに、繰り返し利用するオブジェクトを高速処理できるように変換したデータをキャッシュし、キャッシュに必要なメモリー容量を抑える。 In view of the above problems, the present invention caches data that has been converted so that objects that are repeatedly used can be processed at high speed instead of image data, thereby reducing the memory capacity required for the cache.

本発明に係る画像処理装置はメモリーと制御部を含む。メモリーはデータをキャッシュする。制御部は、文書ファイルに記述されたオブジェクトに基づき、前記文書ファイルの各ページの画像データを描画する。前記制御部は、前記文書ファイルが含む前記オブジェクトのうち、予め定められた特定オブジェクトのコンテンツストリームである特定コンテンツストリームを初めて実行するとき、前記特定コンテンツストリームが含むオペレーターの記述を前記オペレーターに対応する関数の先頭アドレスに置き換えた変換データを生成する。前記制御部は、生成した前記変換データを前記メモリーにキャッシュする。前記特定コンテンツストリームの2回目以降の実行では、前記制御部は、前記特定コンテンツストリームの代わりに、前記メモリーにキャッシュしてある前記変換データを実行して描画する。 An image processing device according to the present invention includes a memory and a control section. Memory caches data. The control unit draws image data of each page of the document file based on objects described in the document file. When executing for the first time a specific content stream that is a content stream of a predetermined specific object among the objects included in the document file, the control unit may cause a description of an operator included in the specific content stream to correspond to the operator. Generate conversion data replaced with the start address of the function. The control unit caches the generated conversion data in the memory. In the second and subsequent executions of the specific content stream, the control unit executes and draws the converted data cached in the memory instead of the specific content stream.

本発明によれば、繰り返し利用するオブジェクトの内容を、高速に処理できるように変換したデータをキャッシュすることができる。キャッシュに必要なメモリー容量を抑えることができる。 According to the present invention, it is possible to cache data that has been converted so that the contents of objects that are repeatedly used can be processed at high speed. The memory capacity required for cache can be reduced.

実施形態に係る画像処理装置の一例を示す図である。FIG. 1 is a diagram illustrating an example of an image processing device according to an embodiment. 実施形態に係る画像処理装置での文書ファイルに基づくジョブの流れの一例を示す図である。FIG. 3 is a diagram illustrating an example of the flow of a job based on a document file in the image processing apparatus according to the embodiment. コンテンツストリームの一例を示す図である。FIG. 3 is a diagram showing an example of a content stream. 実施形態に係るコンテンツストリームの処理の一例を示す図である。FIG. 3 is a diagram illustrating an example of content stream processing according to the embodiment. 実施形態に係る特定オブジェクト実行時の処理一例を示す図である。FIG. 3 is a diagram illustrating an example of processing when a specific object is executed according to the embodiment. 実施形態に係る変換データの生成処理の一例を示す図である。FIG. 3 is a diagram illustrating an example of conversion data generation processing according to the embodiment. 特定コンテンツストリームと、その変換データの一例を示す図である。FIG. 3 is a diagram illustrating an example of a specific content stream and its converted data. 実施形態に係る変換データによる描画の利点の一例を示す図である。FIG. 7 is a diagram illustrating an example of the advantage of drawing using conversion data according to the embodiment.

以下、図1~図8を用いて、本発明の実施形態に係る画像処理装置100の一例を説明する。本実施形態の説明に記載されている構成、配置等の各要素は、発明の範囲を限定せず単なる説明例にすぎない。 An example of an image processing apparatus 100 according to an embodiment of the present invention will be described below with reference to FIGS. 1 to 8. The elements such as the configuration and arrangement described in the description of this embodiment do not limit the scope of the invention and are merely illustrative examples.

(画像処理装置100)
図1を用いて、実施形態に係る画像処理装置100の一例を説明する。図1は、実施形態に係る画像処理装置100の一例を示す図である。
(Image processing device 100)
An example of an image processing apparatus 100 according to an embodiment will be described using FIG. 1. FIG. 1 is a diagram illustrating an example of an image processing apparatus 100 according to an embodiment.

図1に示すように、画像処理装置100はコンピューター200と通信可能である。例えば、コンピューター200はPCである。コンピューター200は、スマートフォンのような携帯通信装置でもよい。コンピューター200と画像処理装置100は、無線又は有線により通信できる。画像処理装置100には、コンピューター200を複数台接続することができる。 As shown in FIG. 1, an image processing apparatus 100 can communicate with a computer 200. For example, computer 200 is a PC. Computer 200 may be a mobile communication device such as a smartphone. The computer 200 and the image processing device 100 can communicate wirelessly or by wire. A plurality of computers 200 can be connected to the image processing apparatus 100.

画像処理装置100は画像形成装置でもある。画像処理装置100はいわゆる複合機である。なお、画像処理装置100は複合機以外の印刷可能な装置でもよい(例えば、プリンター)。コンピューター200は、画像処理装置100にファイルを送信できる。コンピューター200からのファイルに基づき、画像処理装置100は印刷する。 The image processing device 100 is also an image forming device. The image processing device 100 is a so-called multifunction device. Note that the image processing device 100 may be a printing device other than a multifunction device (for example, a printer). Computer 200 can send files to image processing device 100. The image processing device 100 prints based on the file from the computer 200.

画像処理装置100は制御部1、記憶部2、原稿読取部3、操作パネル4、プリンター部5を含む。制御部1は各部を制御する。制御部1は、制御回路10、画像処理回路11、通信回路部12を含む。例えば、制御回路10はCPUである。制御回路10は制御に関する演算、処理を行う。例えば、画像処理回路11はASICである。画像処理回路11は、各ページの画像データの画像処理を行い、ページごとに出力用画像データを生成する。出力用画像データはトナーをのせるか否かを示す画像データである。 Image processing apparatus 100 includes a control section 1 , a storage section 2 , a document reading section 3 , an operation panel 4 , and a printer section 5 . A control section 1 controls each section. The control section 1 includes a control circuit 10, an image processing circuit 11, and a communication circuit section 12. For example, the control circuit 10 is a CPU. The control circuit 10 performs calculations and processing related to control. For example, the image processing circuit 11 is an ASIC. The image processing circuit 11 performs image processing on the image data of each page and generates output image data for each page. The output image data is image data indicating whether or not toner is to be applied.

通信回路部12は、通信制御回路、通信用メモリーを含む。通信用メモリーは通信用ソフトウェアを記憶する。通信回路部12は制御部1の指示に応じてコンピューター200と通信する。記憶部2はROM21、メモリー22(RAM)、を含む。記憶部2は制御用プログラムや各種データを記憶する。記憶部2はストレージを含んでもよい。ストレージは、HDDやSSDのような大容量の記憶装置である。 The communication circuit section 12 includes a communication control circuit and a communication memory. The communication memory stores communication software. The communication circuit section 12 communicates with the computer 200 according to instructions from the control section 1. The storage unit 2 includes a ROM 21 and a memory 22 (RAM). The storage unit 2 stores control programs and various data. The storage unit 2 may include storage. The storage is a large capacity storage device such as an HDD or SSD.

原稿読取部3は、ランプ、イメージセンサーを含む。ランプは読み取る原稿に光を照射する。イメージセンサーは、原稿の反射光を受け、原稿を読み取る。制御部1は、イメージセンサーが出力するアナログ画像信号をA/D変換する。制御部1は、原稿読取部3の読み取りに基づき、原稿の画像データを生成する。 The document reading section 3 includes a lamp and an image sensor. The lamp irradiates light onto the original to be read. The image sensor receives reflected light from the original and reads the original. The control unit 1 performs A/D conversion on an analog image signal output by the image sensor. The control section 1 generates image data of a document based on the reading by the document reading section 3.

画像処理装置100は操作パネル4を含む。操作パネル4は、表示パネル41、タッチパネル42、ハードキー43を含む。制御部1は表示パネル41の表示を制御する。制御部1は、画面、画像を表示パネル41に表示させる。タッチパネル42とハードキー43の出力に基づき、制御部1は使用者の設定内容を認識する。 Image processing device 100 includes operation panel 4 . The operation panel 4 includes a display panel 41, a touch panel 42, and hard keys 43. The control unit 1 controls the display on the display panel 41. The control unit 1 causes the display panel 41 to display a screen and an image. Based on the outputs of the touch panel 42 and the hard keys 43, the control unit 1 recognizes the user's settings.

プリンター部5は、給紙部5a、用紙搬送部5b、画像形成部5c、定着部5dを含む。制御部1は給紙部5a、用紙搬送部5b、画像形成部5c、定着部5dの動作を制御する。給紙部5aは用紙を収容する。給紙部5aは給紙ローラー、給紙モーターを含む。給紙モーターは給紙ローラーを回転させる。印刷ジョブのとき、制御部1は給紙モーター(給紙ローラー)を回転させる。これにより、用紙が給紙部5aから供給される。用紙搬送部5bは、用紙搬送用の搬送ローラー対、搬送モーターを含む。搬送ローラー対は用紙を搬送する。搬送モーターは搬送ローラー対を回転させる。印刷ジョブのとき、制御部1は、用紙を用紙搬送部5bに搬送させる。 The printer section 5 includes a paper feed section 5a, a paper transport section 5b, an image forming section 5c, and a fixing section 5d. The control section 1 controls the operations of the paper feeding section 5a, the paper transport section 5b, the image forming section 5c, and the fixing section 5d. The paper feed section 5a stores paper. The paper feed section 5a includes a paper feed roller and a paper feed motor. The paper feed motor rotates the paper feed roller. During a print job, the control unit 1 rotates a paper feed motor (paper feed roller). As a result, paper is fed from the paper feed section 5a. The paper transport section 5b includes a pair of transport rollers and a transport motor for transporting the paper. The transport roller pair transports the paper. The conveyance motor rotates a pair of conveyance rollers. During a print job, the control unit 1 causes the paper transport unit 5b to transport the paper.

画像形成部5cは、感光体ドラム、帯電装置、露光装置、現像装置、転写ローラーを含む。出力用画像データに基づき、制御部1はトナー像を画像形成部5cに形成させる。制御部1は、形成されたトナー像の搬送用紙への転写を転写ローラーに行わせる。定着部5dは、ヒーター、加熱回転体、加圧回転体、定着モーターを含む。ヒーターは加熱回転体を熱する。用紙は加熱回転体、加圧回転体のニップを通過する。これにより、トナー像が用紙に定着する。印刷ジョブのとき、制御部1はトナー像の定着を定着部5dに行わせる。用紙搬送部5bは印刷済み用紙を機外に排出する。 The image forming section 5c includes a photosensitive drum, a charging device, an exposure device, a developing device, and a transfer roller. Based on the output image data, the control section 1 causes the image forming section 5c to form a toner image. The control unit 1 causes a transfer roller to transfer the formed toner image onto a conveyance sheet. The fixing unit 5d includes a heater, a heating rotor, a pressure rotor, and a fixing motor. The heater heats the heating rotating body. The paper passes through a nip between a heating rotor and a pressure rotor. This fixes the toner image on the paper. During a print job, the control section 1 causes the fixing section 5d to fix the toner image. The paper transport section 5b discharges the printed paper to the outside of the machine.

(文書ファイルに基づくジョブ)
次に、図2を用いて、実施形態に係る画像処理装置100での文書ファイルに基づくジョブの流れの一例を説明する。図2は、実施形態に係る画像処理装置100での文書ファイルに基づくジョブの流れの一例を示す図である。
(Job based on document file)
Next, an example of the flow of a job based on a document file in the image processing apparatus 100 according to the embodiment will be described using FIG. 2. FIG. 2 is a diagram illustrating an example of the flow of a job based on a document file in the image processing apparatus 100 according to the embodiment.

印刷ジョブを画像処理装置100に行わせることができる。画像データに基づき、画像処理装置100は印刷ジョブを行う。例えば、画像処理装置100は、通信回路部12が受信した文書ファイルに基づいて印刷ジョブを行える。本説明での文書ファイルは、例えば、PDFファイル6である。PDFは、Portable Document Formatの略称である。PDFファイル6は、PDFのファイルフォーマットに準拠して生成されたファイル(データ)である。なお、画像処理装置100の制御回路10は、原稿を読み取って得られた画像データに基づき、PDFファイル6を生成することもできる。 The image processing device 100 can be caused to perform a print job. Based on the image data, the image processing apparatus 100 performs a print job. For example, the image processing apparatus 100 can perform a print job based on the document file received by the communication circuit unit 12. The document file in this description is, for example, a PDF file 6. PDF is an abbreviation for Portable Document Format. The PDF file 6 is a file (data) generated in accordance with the PDF file format. Note that the control circuit 10 of the image processing apparatus 100 can also generate the PDF file 6 based on image data obtained by reading a document.

コンピューター200から画像処理装置100(通信回路部12)に向けて、印刷するPDFファイル6を送信することができる。PDFファイル6を受信したとき、制御部1は、PDFファイル6に基づく印刷ジョブを開始する。また、記憶部2(ストレージ)にPDFファイル6を不揮発的に記憶させておくこともできる。そして、操作パネル4で記憶部2が記憶するPDFファイル6のうち、印刷ジョブに用いるPDFファイル6を選択することもできる。この場合、制御部1は、選択されたPDFファイル6に基づく印刷ジョブを開始する。図2のスタートは、受信、又は、選択により、PDFファイル6に基づいて印刷ジョブを開始する時点である。 A PDF file 6 to be printed can be transmitted from the computer 200 to the image processing device 100 (communication circuit section 12). When receiving the PDF file 6, the control unit 1 starts a print job based on the PDF file 6. Further, the PDF file 6 can also be stored in the storage unit 2 (storage) in a non-volatile manner. Then, from among the PDF files 6 stored in the storage unit 2, the PDF file 6 used for the print job can be selected using the operation panel 4. In this case, the control unit 1 starts a print job based on the selected PDF file 6. The start in FIG. 2 is the point in time when a print job is initiated based on the PDF file 6 upon receipt or selection.

制御部1は、印刷に用いるPDFファイル6をメモリー22(RAM)に記憶させる(ステップ♯11、図1参照)。画像データの生成(描画、ラスタライズ)を開始するには、PDFファイル6の全体をメモリー22に格納する必要がある。PDFファイル6のメモリー22への格納後、制御部1は、PDFの規格(ルール)にのっとった所定の処理を行う(ステップ♯12)。例えば、制御部1は、PDFファイル6が含むトレーラーの参照、相互参照テーブルの開始位置の認識、相互参照テーブルの参照のような処理を行う。 The control unit 1 stores the PDF file 6 used for printing in the memory 22 (RAM) (step #11, see FIG. 1). To start generating image data (drawing, rasterization), it is necessary to store the entire PDF file 6 in the memory 22. After storing the PDF file 6 in the memory 22, the control unit 1 performs predetermined processing in accordance with the PDF standards (rules) (step #12). For example, the control unit 1 performs processing such as referencing the trailer included in the PDF file 6, recognizing the start position of the cross-reference table, and referencing the cross-reference table.

そして、制御部1(制御回路10)は、PDFファイル6の記述に基づき、各ページの画像データの描画(ラスタライズ処理)を開始する(、ステップ♯13)。制御部1は描画処理を行って、例えば、ビットマップ形式の画像データを生成する。 Then, the control unit 1 (control circuit 10) starts drawing (rasterization processing) the image data of each page based on the description of the PDF file 6 (Step #13). The control unit 1 performs drawing processing to generate, for example, image data in bitmap format.

PDFファイル6の記述には、複数のオブジェクトが含まれる。PDFファイル6のオブジェクトとは、ファイルの構成要素である。オブジェクトの種類には、boolean(真偽値)、null、数字、文字列、名前、配列、辞書、ストリーム、オペレーターなどがある。 The description of the PDF file 6 includes a plurality of objects. An object of the PDF file 6 is a component of the file. Types of objects include boolean (true/false value), null, numbers, character strings, names, arrays, dictionaries, streams, operators, and the like.

また、PDFファイル6は、オブジェクトの一種として、間接オブジェクト(Indirect Object)を含む。間接オブジェクトとは、オブジェクトID(番号、ラベル)付きのオブジェクトである。オブジェクトIDを付けた間接オブジェクトは、他のオブジェクトで参照(引用)することができる。間接オブジェクトは、複数のオブジェクト(値)を含む。間接オブジェクトの冒頭部分の書式は「n m obj」である(図3、図7参照)。nはオブジェクト番号であり、正整数である。mは世代番号と称され、非負整数である。例えば、1番目の間接オブジェクトは「1 0 obj」と記述される。間接オブジェクトの終わりの部分の書式は「endobj」である。 Further, the PDF file 6 includes an indirect object as a type of object. An indirect object is an object with an object ID (number, label). An indirect object attached with an object ID can be referenced (quoted) by other objects. An indirect object includes multiple objects (values). The format of the beginning part of the indirect object is "n m obj" (see FIGS. 3 and 7). n is an object number and is a positive integer. m is called a generation number and is a non-negative integer. For example, the first indirect object is described as "1 0 obj". The format of the end of the indirect object is "endobj".

記述に基づき、制御部1は、PDFファイル6が含む各ページの描画(ラスタライズ処理)を終了する(ステップ♯14)。制御部1は、描画結果(各ページの画像データ)への画像処理を行い、出力用画像データを生成する(ステップ♯15)。出力用画像データに基づいて、制御部1はプリンター部5に印刷させる(ステップ♯16→エンド)。なお、PDFファイル6の全ページの描画が終わる前に印刷を開始してもよい。 Based on the description, the control unit 1 ends the drawing (rasterization process) of each page included in the PDF file 6 (step #14). The control unit 1 performs image processing on the drawing results (image data of each page) and generates output image data (step #15). Based on the output image data, the control unit 1 causes the printer unit 5 to print (step #16→end). Note that printing may be started before drawing of all pages of the PDF file 6 is completed.

(コンテンツストリームCS1の処理)
次に、図3~図4を用いて、実施形態に係る画像処理装置100でのコンテンツストリームCS1の処理の一例を説明する。図3は、コンテンツストリームCS1の一例を示す図である。図4は、実施形態に係る画像処理装置100でのコンテンツストリームCS1の処理の一例を示す図である。
(Processing of content stream CS1)
Next, an example of processing of the content stream CS1 in the image processing apparatus 100 according to the embodiment will be described using FIGS. 3 and 4. FIG. 3 is a diagram showing an example of the content stream CS1. FIG. 4 is a diagram illustrating an example of processing of the content stream CS1 in the image processing apparatus 100 according to the embodiment.

PDFファイル6は、コンテンツストリームCS1と呼ばれる記述を含む。コンテンツストリームCS1は、各ページの画像データを描画するための情報を含むオブジェクトである。コンテンツストリームCS1は、例えば、座標の移動、線の太さの変更、色の変更、パスの描画、線の描画、塗りつぶしの描画、フォントの描画、画像の描画、フォームの描画、透明グループの描画を行うための記述を含む。 The PDF file 6 includes a description called content stream CS1. Content stream CS1 is an object containing information for drawing image data of each page. Content stream CS1 includes, for example, moving coordinates, changing line thickness, changing color, drawing path, drawing line, drawing fill, drawing font, drawing image, drawing form, drawing transparent group. Contains a description for performing.

通常、コンテンツストリームCS1はテキスト形式のデータである。コンテンツストリームCS1はオペレーターと呼ばれる記述(オブジェクト)を含む。オペレーターは、各ページの画像データを表現(描画)するためのコマンドである。オペレーターはテキスト形式で記述される。例えば、コンテンツストリームCS1は、オペレーターを複数含む。 Usually, the content stream CS1 is data in text format. Content stream CS1 includes descriptions (objects) called operators. The operator is a command for expressing (drawing) the image data of each page. Operators are written in text format. For example, content stream CS1 includes multiple operators.

図3はコンテンツストリームCS1の一例を示す。streamがコンテンツストリームCS1の始まりを意味する。endstreamは、コンテンツストリームCS1の終わりを意味する。図3に示すコンテンツストリームCS1のうち、「rg」、「re」、「f」がオペレーターである。オペレーターを意味する語は予め定められている。ちなみに、「rg」は塗りつぶし用のRGBの色を設定するオペレーターである。「re」は矩形のパスを追加するオペレーターである。「f」はパスの塗りつぶしの描画を実行するオペレーターである。 FIG. 3 shows an example of content stream CS1. stream means the beginning of content stream CS1. endstream means the end of content stream CS1. In the content stream CS1 shown in FIG. 3, "rg", "re", and "f" are operators. The word meaning operator is predetermined. Incidentally, "rg" is an operator that sets RGB colors for filling. "re" is an operator that adds a rectangular path. "f" is an operator that executes path filling drawing.

図3でのRGB(1、0、0)は赤色を意味する。図3のコンテンツストリームCS1によれば、制御部1(制御回路10)は、色を赤色に設定し、点(0、0)から幅50、高さ50の矩形のパスを設定し、設定したパスを赤色で塗りつぶす描画を行う。 RGB (1, 0, 0) in FIG. 3 means red. According to the content stream CS1 in FIG. 3, the control unit 1 (control circuit 10) sets the color to red, and sets a rectangular path with a width of 50 and a height of 50 from the point (0, 0). Draws to fill the path in red.

図4を用いて、コンテンツストリームCS1の実行時の処理の流れの一例を説明する。例えば、制御部1の制御回路10(CPU)が記述の解析、記述に基づく処理を行う。図4のスタートは、コンテンツストリームCS1の実行を開始する時点である。 An example of the flow of processing when executing the content stream CS1 will be described using FIG. 4. For example, the control circuit 10 (CPU) of the control unit 1 analyzes the description and performs processing based on the description. The start in FIG. 4 is the point in time when execution of the content stream CS1 begins.

まず、制御部1(制御回路10)は、コンテンツストリームCS1からトークンをひとつ取り出す(ステップ♯21)。トークンとは、空白文字で区切られるキーワードである。そして、取り出したトークンに基づき、制御部1は、コンテンツストリームCS1が終端か否かを判定する(ステップ♯22)。取り出したトークンが「endstream」のとき、制御部1は、終端と判定する。取り出したトークンが「endstream」以外のとき、制御部1は、終端ではない判定する。 First, the control unit 1 (control circuit 10) takes out one token from the content stream CS1 (step #21). Tokens are keywords separated by whitespace characters. Then, based on the retrieved token, the control unit 1 determines whether the content stream CS1 is at the end (step #22). When the retrieved token is "endstream", the control unit 1 determines that it is the end stream. When the retrieved token is other than "endstream", the control unit 1 determines that it is not the end.

終端と判定したとき(ステップ♯22のYes)、制御部1は処理を終了する(エンド)。終端ではないと判定したとき(ステップ♯22のNo)、制御部1は、そのトークンがオペレーターか否かを判定する(ステップ♯23)。 When it is determined that it is the end (Yes in step #22), the control unit 1 ends the process (END). When determining that the token is not the end (No in step #22), the control unit 1 determines whether the token is an operator (step #23).

なお、コンテンツストリームCS1を実行するとき、制御部1はオペレーターテーブルをストレージからメモリー22にセットする。オペレーターテーブルは、各オペレーターの名前を含むデータである。制御部1はオペレーターテーブルを介して、オペレーターを実行する。取り出したトークンがオペレーターテーブルに定義された何れかのオペレーターの名前と一致したとき、制御部1はトークンがオペレーターと判定してもよい。取り出したトークンが、オペレーターテーブルが含むオペレーター名のいずれとも一致しないとき、制御部1はトークンがオペレーターでないと判定してもよい。 Note that when executing the content stream CS1, the control unit 1 sets the operator table from the storage to the memory 22. The operator table is data containing the name of each operator. The control unit 1 executes an operator via an operator table. When the retrieved token matches the name of any operator defined in the operator table, the control unit 1 may determine that the token is an operator. When the retrieved token does not match any operator name included in the operator table, the control unit 1 may determine that the token is not an operator.

どのオペレーターにも該当しない場合(オペレーター以外のオブジェクトの場合)(ステップ♯23のNo)、制御部1は、そのオブジェクト(トークン)の値をスタックする(ステップ♯24)。なお、制御部1は、オブジェクト(値)をスタックするためのスタック領域をメモリー22に設定する。つまり、制御部1は、後に登場するオペレーターの処理に必要な値として、スタック領域にオブジェクト(値)を格納する。スタック後、制御部1は、ステップ♯21を行う(ステップ♯21に戻る)。 If the object does not correspond to any operator (in the case of an object other than an operator) (No in step #23), the control unit 1 stacks the value of the object (token) (step #24). Note that the control unit 1 sets a stack area in the memory 22 for stacking objects (values). That is, the control unit 1 stores an object (value) in the stack area as a value necessary for processing of an operator that will appear later. After stacking, the control unit 1 performs step #21 (returns to step #21).

一方、オペレーターと判定したとき(ステップ♯23のYes)、制御部1は、そのオペレーター(オペレーターに対応する関数)を呼び出す(ステップ♯25)。そして、制御部1は、呼び出したオペレーター(関数)で使用する数のオブジェクトをポップする(ステップ♯26)。例えば、オペレーターが「rg」の場合、このオペレーターを実行するには、R、G、Bの3つの値(数値のオブジェクト)が必要である。このように、制御部1は、オペレーターの実行に必要なオブジェクト(値)をスタック領域から読み出す。 On the other hand, when it is determined that the operator is the operator (Yes in step #23), the control unit 1 calls the operator (function corresponding to the operator) (step #25). Then, the control unit 1 pops the number of objects used by the called operator (function) (step #26). For example, if the operator is "rg", three values (numeric objects), R, G, and B, are required to execute this operator. In this manner, the control unit 1 reads objects (values) necessary for executing the operator from the stack area.

実行に3つのオブジェクト(値)が必要なのに、スタックされたオブジェクト(ポップできた値)が2つであれば、オペレーター(関数)を実行できない。そこで、制御部1は、読み出したオブジェクトの数が足りているか否かを判定する(ステップ♯27)。足りない場合(ステップ♯27のNo)、制御部1はエラーと判定する(ステップ♯28)。つまり、制御部1はコンテンツストリームCS1の記述に誤りがあると判定する。この場合、制御部1はコンテンツストリームCS1に基づく処理(描画)を終了する(エンド)。 If three objects (values) are required for execution, but only two objects (values that could be popped) are stacked, the operator (function) cannot be executed. Therefore, the control unit 1 determines whether the number of read objects is sufficient (step #27). If it is insufficient (No in step #27), the control unit 1 determines that there is an error (step #28). In other words, the control unit 1 determines that there is an error in the description of the content stream CS1. In this case, the control unit 1 ends the processing (drawing) based on the content stream CS1 (end).

足りている場合(ステップ♯27のYes)、制御部1は、読み出したオブジェクト(ポップした値)のタイプが適切か否かを判定する(ステップ♯29)。オペレーターが「rg」や「re」の場合、正の数値のオブジェクトが必要である。実行しようとするオペレーターで使用できないオブジェクトが1つでも読み出されているとき、制御部1はタイプが適切ではないと判定する。 If there is enough (Yes in step #27), the control unit 1 determines whether the type of the read object (popped value) is appropriate (step #29). If the operator is "rg" or "re", a positive numerical object is required. If at least one object that cannot be used by the operator attempting to execute is read, the control unit 1 determines that the type is not appropriate.

タイプが適切でないとき(ステップ♯29のNo)、制御部1はエラーと判定する(ステップ♯28)。この場合、コンテンツストリームCS1に基づく処理(描画)を終了する(エンド)。タイプが適切なとき(ステップ♯29のYes)、制御部1はオブジェクト(値)に基づき、オペレーターを実行する(ステップ♯210)。実行後、制御部1は、ステップ♯21を行う(ステップ♯21に戻る)。 If the type is not appropriate (No in step #29), the control unit 1 determines that there is an error (step #28). In this case, the processing (drawing) based on the content stream CS1 is ended (end). When the type is appropriate (Yes in step #29), the control unit 1 executes the operator based on the object (value) (step #210). After execution, the control unit 1 performs step #21 (returns to step #21).

コンテンツストリームCS1を実行することにより、画像データの描画がなされる。例えば、コンテンツストリームCS1の記述で指定されたサイズ、指定されたフォント、指定された位置に、指定された色の文字の画像データが配置される。また、コンテンツストリームCS1の記述で指定されたサイズ、指定された位置に、指定された色で図形が描画される。また、写真のような画像データを貼り付けることも可能である。 Image data is drawn by executing content stream CS1. For example, image data of characters of a specified color are arranged in a size specified in the description of the content stream CS1, in a specified font, and at a specified position. Further, a figure is drawn in the specified color at the size specified in the description of the content stream CS1 and at the specified position. It is also possible to paste image data such as photographs.

(特定オブジェクト7の処理)
次に、実施形態に係る画像処理装置100での特定オブジェクト7の処理の一例を説明する。
(Processing of specific object 7)
Next, an example of processing of the specific object 7 in the image processing apparatus 100 according to the embodiment will be described.

PDFファイル6には、XObjectを含めることができる。XObjectは各ページから独立しているオブジェクトである。XObjectは、1つのPDFファイルの各ページを描画する間、複数回実行することを想定したオブジェクトである。XObjectは、どのページでも参照できるオブジェクトといえる。 The PDF file 6 can include an XObject. XObject is an object that is independent from each page. XObject is an object that is assumed to be executed multiple times while drawing each page of one PDF file. An XObject can be said to be an object that can be referenced on any page.

Form XObjectはXObjectの一種である。PDFファイル6には、Form XObjectと呼ばれるオブジェクト(間接オブジェクト)を含めることができる。描画のため、Form XObjectはコンテンツストリームCS1を含む。つまり、Form XObjectは、描画を行うための記述を含む。 Form XObject is a type of XObject. The PDF file 6 can include an object (indirect object) called Form XObject. For rendering, the Form XObject contains a content stream CS1. That is, Form XObject includes a description for performing drawing.

同じ画像や文字を複数ページに配置することがある。例えば、会社のロゴを各ページに配置することがある。全てのページで、ヘッダーやフッダーに同じ文字列を配置することもある。同じ画像を描画する場合、コンテンツストリームCS1の記述は同じとなる。各ページに同じコンテンツストリームCS1を含めることは可能である。しかし、PDFファイル6に同じ記述を何個も含めることは効率的ではない。1つのPDFファイル6の各ページを描画するとき、複数回使用するオブジェクト(コンテンツストリームCS1)をForm XObjectとしてPDFファイル6に含めることができる。 The same image or text may be placed on multiple pages. For example, a company's logo may be placed on each page. The same string may be placed in the header or footer on all pages. When drawing the same image, the description of the content stream CS1 will be the same. It is possible for each page to contain the same content stream CS1. However, it is not efficient to include many identical descriptions in the PDF file 6. When drawing each page of one PDF file 6, an object (content stream CS1) that is used multiple times can be included in the PDF file 6 as a Form XObject.

Form XObjectは、オブジェクトID(ID番号)が付されたオブジェクト(間接オブジェクト)である。Form XObjectは、1つのPDFファイル6での描画において、複数回実行することが想定されているオブジェクトである。Form XObjectは、1ページの描画中に複数回実行することができる。また、Form XObjectは、どのページでも実行することができる。 Form XObject is an object (indirect object) to which an object ID (ID number) is attached. Form XObject is an object that is expected to be executed multiple times when drawing one PDF file 6. Form XObject can be executed multiple times during drawing of one page. Also, Form XObject can be executed on any page.

Form XObjectと同様に複数回実行するオブジェクトには、TilingPatternObjectがある。TilingPatternObjectは、タイルパターンを描画するためのオブジェクトである。例えば、色違いの四角形を一定の規則で配置した画像がタイルパターンである。背景模様としてタイルパターンを描画することがある。例えば、1つのPDFファイル6の各ページにタイルパターンの背景を含める場合、TilingPatternObjectが複数回実行される。 TilingPatternObject is an object that is executed multiple times like Form XObject. TilingPatternObject is an object for drawing a tile pattern. For example, a tile pattern is an image in which rectangles of different colors are arranged according to a certain rule. A tile pattern may be drawn as a background pattern. For example, when each page of one PDF file 6 includes a tile pattern background, TilingPatternObject is executed multiple times.

画像処理装置100では、これらForm XObjectとTilingPatternObjectを特定オブジェクト7と扱う(図7参照)。特定オブジェクト7とは、特定オブジェクト7以外のオブジェクトとは異なる処理を行うオブジェクトである。 The image processing apparatus 100 treats these Form XObject and TilingPatternObject as specific objects 7 (see FIG. 7). The specific object 7 is an object that performs different processing from objects other than the specific object 7.

特定オブジェクト7は、性質上、コンテンツストリームCS1を含む。以下の説明では、特定オブジェクト7が含むコンテンツストリームCS1を特定コンテンツストリームCS2と称する。 The specific object 7 inherently includes a content stream CS1. In the following description, the content stream CS1 included in the specific object 7 will be referred to as a specific content stream CS2.

1つのPDFファイル6の各ページの画像データを描画(ラスタライズ)するとき、特定コンテンツストリームCS2は複数回実行される場合がある。制御部1(制御回路10)は、特定コンテンツストリームCS2を変換し、変換データ8を生成する。変換データ8は、高速に処理できるように加工されたコンテンツストリームCS1といえる。 When drawing (rasterizing) the image data of each page of one PDF file 6, the specific content stream CS2 may be executed multiple times. The control unit 1 (control circuit 10) converts the specific content stream CS2 and generates converted data 8. The converted data 8 can be said to be a content stream CS1 that has been processed so that it can be processed at high speed.

制御部1は、変換データ8をメモリー22にキャッシュする(記憶させる)(図1参照)。特定コンテンツストリームCS2の代わりに、制御部1は、キャッシュした変換データ8を実行する。特定コンテンツストリームCS2をそのまま実行する場合に比べて、高速にコンテンツストリームCS1の描画結果(画像データ)を得ることができる。 The control unit 1 caches (stores) the converted data 8 in the memory 22 (see FIG. 1). Instead of the specific content stream CS2, the control unit 1 executes the cached conversion data 8. The rendering result (image data) of the content stream CS1 can be obtained faster than when the specific content stream CS2 is executed as is.

特定コンテンツストリームCS2の描画結果(実行して得られる画像データ)そのものはキャッシュしない。ラスタライズで得られた画像データのサイズは大きくなる場合がある。画像データそのものをキャッシュする場合、メモリー22不足が生じないように、容量の大きなメモリー22を搭載する必要がある。容量が大きいほどメモリー22(RAM)は高価である。画像データではなく変換データ8をキャッシュする。キャッシュするデータのサイズは、描画結果(画像データ)そのものをキャッシュする場合に比べて小さい。大容量のメモリー22を搭載する必要がない。画像処理装置100の製造コストを抑えることができる。メモリー22の容量が少ない低価格帯の画像処理装置100でも、PDFファイル6の描画(ラスタライズ)を高速に行うことができる。 The rendering result (image data obtained by executing the specific content stream CS2) itself is not cached. The size of image data obtained by rasterization may become large. When caching the image data itself, it is necessary to install a memory 22 with a large capacity so that the memory 22 does not run out. The larger the capacity, the more expensive the memory 22 (RAM) is. The converted data 8 is cached instead of the image data. The size of data to be cached is smaller than when caching the drawing result (image data) itself. There is no need to install a large capacity memory 22. The manufacturing cost of the image processing device 100 can be suppressed. Even a low-priced image processing apparatus 100 with a small memory 22 capacity can draw (rasterize) the PDF file 6 at high speed.

(特定オブジェクト7の実行時の処理)
次に、図5を用いて、実施形態に係る画像処理装置100での特定オブジェクト7の実行時の処理の一例を説明する。図5は、実施形態に係る画像処理装置100での特定オブジェクト7の実行時の処理一例を示す図である。
(Processing during execution of specific object 7)
Next, an example of processing when the specific object 7 is executed in the image processing apparatus 100 according to the embodiment will be described using FIG. FIG. 5 is a diagram illustrating an example of processing when the specific object 7 is executed in the image processing apparatus 100 according to the embodiment.

特定オブジェクト7の特定コンテンツストリームCS2については、制御部1は、変換データ8を生成する。例えば、制御部1は、Form XObjectのコンテンツストリームCS1について、変換データ8を生成する。PDFファイル6が複数の特定オブジェクト7を含む場合、制御部1は、特定オブジェクト7ごと(特定コンテンツストリームCS2ごと)に、変換データ8を生成する。 Regarding the specific content stream CS2 of the specific object 7, the control unit 1 generates conversion data 8. For example, the control unit 1 generates conversion data 8 for the content stream CS1 of Form XObject. When the PDF file 6 includes a plurality of specific objects 7, the control unit 1 generates conversion data 8 for each specific object 7 (for each specific content stream CS2).

図5のスタートは、特定オブジェクト7が呼び出された時点である。まず、制御部1は、呼び出された特定オブジェクト7の特定コンテンツストリームCS2の変換データ8が既にメモリー22にキャッシュされているか否かを判定する(ステップ♯31)。言い換えると、PDFファイル6に基づく描画(ラスタライズ)の開始後、制御部1は、呼び出した特定オブジェクト7が初めて呼び出したものか否かを判定する。 The start of FIG. 5 is when the specific object 7 is called. First, the control unit 1 determines whether the conversion data 8 of the specific content stream CS2 of the called specific object 7 is already cached in the memory 22 (step #31). In other words, after starting drawing (rasterization) based on the PDF file 6, the control unit 1 determines whether the called specific object 7 is called for the first time.

なお、キャッシュされる変換データ8には、対応する特定オブジェクト7のオブジェクトIDが付される(後述のステップ♯37)。つまり、制御部1は、変換データ8に対応する特定オブジェクト7のオブジェクトIDもキャッシュ領域F2に記憶させる。なお、オブジェクトIDとは、オブジェクト(間接オブジェクト)に付される識別番号である。 Note that the object ID of the corresponding specific object 7 is attached to the cached conversion data 8 (step #37 to be described later). That is, the control unit 1 also stores the object ID of the specific object 7 corresponding to the converted data 8 in the cache area F2. Note that the object ID is an identification number assigned to an object (indirect object).

キャッシュ領域F2が記憶するオブジェクトIDの中に、呼び出した特定オブジェクト7のオブジェクトIDと一致するものがあるとき、制御部1は、変換データ8が既にメモリー22にキャッシュされていると判定する。キャッシュ領域F2が記憶するオブジェクトIDの中に、呼び出した特定オブジェクト7のオブジェクトIDと一致するものがないとき、制御部1は、変換データ8がメモリー22にキャッシュされていないと判定する。 When there is an object ID that matches the object ID of the called specific object 7 among the object IDs stored in the cache area F2, the control unit 1 determines that the converted data 8 is already cached in the memory 22. When there is no object ID that matches the object ID of the called specific object 7 among the object IDs stored in the cache area F2, the control unit 1 determines that the converted data 8 is not cached in the memory 22.

キャッシュ済のとき(ステップ♯31のYes)、制御部1(制御回路10)は、キャッシュされた変換データ8を取得する(ステップ♯32)。そして、制御部1は変換データ8を実行する(ステップ♯33)。これにより、制御部1は、特定コンテンツストリームCS2と同じ描画結果(画像データ)を生成する。そして、制御部1は、呼び出された特定オブジェクト7の処理を終了する(エンド)。例えば、制御部1は、続けて、次のオブジェクトの処理を行う。 When the data has been cached (Yes in step #31), the control unit 1 (control circuit 10) obtains the cached conversion data 8 (step #32). Then, the control unit 1 executes the conversion data 8 (step #33). Thereby, the control unit 1 generates the same drawing result (image data) as the specific content stream CS2. Then, the control unit 1 ends the process of the called specific object 7 (END). For example, the control unit 1 subsequently processes the next object.

キャッシュ済ではないとき(ステップ♯31のNo)、制御部1は、変換データ8の生成用領域F1をメモリー22に確保(設定)する(ステップ♯34)。そして、制御部1は、変換データ生成用オペレーターテーブルをメモリー22にセットする(ステップ♯35)。例えば、制御部1は、記憶部2(ストレージ)に不揮発的に記憶された変換データ生成用オペレーターテーブルを読み出す。あるいは、制御部1は、変換データ生成用オペレーターテーブルを生成してもよい。 If the data has not been cached (No in step #31), the control unit 1 reserves (sets) a generation area F1 for the converted data 8 in the memory 22 (step #34). Then, the control unit 1 sets the conversion data generation operator table in the memory 22 (step #35). For example, the control unit 1 reads an operator table for generating conversion data stored in a storage unit 2 (storage) in a non-volatile manner. Alternatively, the control unit 1 may generate an operator table for generating conversion data.

通常のコンテンツストリームCS1を実行する場合、制御部1は、実行するオペレーターに対応する関数に基づいて処理する。例えば、「f」のオペレーターの場合、制御部1は、塗りつぶしの描画を行う関数を実行する。変換データ生成用オペレーターテーブルには、オペレーターの名前とともに、オペレーターに対応する関数の先頭アドレスが定義される。変換データ生成用オペレーターテーブルを参照することで、制御部1は、オペレーターに対応する関数の先頭アドレスを認識できる。 When executing the normal content stream CS1, the control unit 1 performs processing based on a function corresponding to the executing operator. For example, in the case of the operator "f", the control unit 1 executes a function that performs filling drawing. In the conversion data generation operator table, the name of the operator and the start address of the function corresponding to the operator are defined. By referring to the conversion data generation operator table, the control unit 1 can recognize the start address of the function corresponding to the operator.

制御部1(制御回路10)は、変換データ生成用オペレーターテーブルを用いて、変換データ8を生成する(ステップ♯36)。変換データ8の生成の詳細は後述する。 The control unit 1 (control circuit 10) generates conversion data 8 using the conversion data generation operator table (step #36). Details of generation of the conversion data 8 will be described later.

制御部1は、生成した変換データ8をオブジェクトIDとともに、メモリー22のキャッシュ領域F2に保存する(ステップ♯37、図1参照)。そして、制御部1は、変換データ生成用オペレーターテーブルに変えて、コンテンツストリーム実行用のオペレーターテーブルを設定する(ステップ♯38)。つまり、制御部1は、オペレーターテーブルを通常のコンテンツストリーム実行用のテーブルに戻す。そして、制御部1は、生成した変換データ8を実行する(ステップ♯33→エンド)。これにより、制御部1は、特定コンテンツストリームCS2と同じ描画結果(画像データ)を生成する。 The control unit 1 stores the generated conversion data 8 together with the object ID in the cache area F2 of the memory 22 (step #37, see FIG. 1). Then, the control unit 1 sets an operator table for content stream execution instead of the operator table for generating converted data (step #38). In other words, the control unit 1 returns the operator table to a table for normal content stream execution. Then, the control unit 1 executes the generated conversion data 8 (step #33→end). Thereby, the control unit 1 generates the same drawing result (image data) as the specific content stream CS2.

(変換データ8の生成)
次に、図6、図7を用いて、実施形態に係る変換データ8の生成処理の一例を説明する。図6は、実施形態に係る変換データ8の生成処理の一例を示す図である。図7は、特定コンテンツストリームCS2と、その変換データ8の一例を示す図である。
(Generation of conversion data 8)
Next, an example of the process of generating the conversion data 8 according to the embodiment will be described using FIGS. 6 and 7. FIG. 6 is a diagram illustrating an example of a process for generating conversion data 8 according to the embodiment. FIG. 7 is a diagram showing an example of the specific content stream CS2 and its conversion data 8.

変換データ8は、特定コンテンツストリームCS2の記述内容を変更(加工)したデータである。特定コンテンツストリームCS2よりも高速処理できるように変更がなされる。図6を用いて、変換データ8の生成(図5のステップ♯36)の詳細を述べる。 Conversion data 8 is data obtained by changing (processing) the description content of specific content stream CS2. Changes are made so that it can be processed faster than the specific content stream CS2. The details of generation of converted data 8 (step #36 in FIG. 5) will be described using FIG. 6.

変換データ8の生成処理では、一部の処理が通常のコンテンツストリームCS1の実行時と同様である。例えば、制御部1は、コンテンツストリームCS1の実行時と同様のエラーチェックを行う。図6のスタートは、変換データ8の生成を開始する時点である。 In the process of generating the converted data 8, some of the processes are the same as when executing the normal content stream CS1. For example, the control unit 1 performs the same error check as when executing the content stream CS1. The start in FIG. 6 is the point in time when generating the conversion data 8 is started.

まず、制御部1(制御回路10)は、特定コンテンツストリームCS2からトークンをひとつ取り出す(ステップ♯41)。そして、取り出したトークンに基づき、制御部1は、特定コンテンツストリームCS2が終端か否かを判定する(ステップ♯42)。取り出したトークンが「endstream」のとき、制御部1は、終端と判定する。取り出したトークンが「endstream」以外のとき、制御部1は、終端ではない判定する。 First, the control unit 1 (control circuit 10) takes out one token from the specific content stream CS2 (step #41). Then, based on the retrieved token, the control unit 1 determines whether the specific content stream CS2 is at the end (step #42). When the retrieved token is "endstream", the control unit 1 determines that it is the end stream. When the retrieved token is other than "endstream", the control unit 1 determines that it is not the end.

終端と判定したとき(ステップ♯42のYes)、制御部1は変換データ8の生成処理を終了する(エンド)。終端ではないと判定したとき(ステップ♯42のNo)、制御部1は、そのトークンがオペレーターか否かを判定する(ステップ♯43)。 When it is determined that it is the end (Yes in step #42), the control unit 1 ends the generation process of the converted data 8 (END). When determining that the token is not the end (No in step #42), the control unit 1 determines whether the token is an operator (step #43).

なお、変換データ8の生成のため、制御部1は、変換データ生成用オペレーターテーブルをメモリー22にセットしている(図5のステップ♯35)。取り出したトークンが変換データ生成用オペレーターテーブルに定義された何れかのオペレーターの名前と一致したとき、制御部1はトークンがオペレーターと判定してもよい。取り出したトークンと一致するオペレーター名が変換データ生成用オペレーターテーブルにないとき、制御部1はトークンがオペレーターでないと判定してもよい。 In order to generate the converted data 8, the control unit 1 sets an operator table for generating converted data in the memory 22 (step #35 in FIG. 5). When the retrieved token matches the name of any operator defined in the conversion data generation operator table, the control unit 1 may determine that the token is an operator. When there is no operator name matching the retrieved token in the conversion data generation operator table, the control unit 1 may determine that the token is not an operator.

どのオペレーターにも該当しない場合(オペレーター以外のオブジェクトの場合)(ステップ♯43のNo)、制御部1は、そのオブジェクト(トークン)の値をスタックする(ステップ♯44)。制御部1は、オブジェクト(値)をスタックするためのスタック領域をメモリー22に設定する。スタック後、制御部1は、ステップ♯41を行う(ステップ♯41に戻る)。 If the object does not correspond to any operator (in the case of an object other than an operator) (No in step #43), the control unit 1 stacks the value of the object (token) (step #44). The control unit 1 sets a stack area in the memory 22 for stacking objects (values). After stacking, the control unit 1 performs step #41 (returns to step #41).

一方、オペレーターと判定したとき(ステップ♯43のYes)、制御部1は、オペレーターの実行時に用いる関数の先頭アドレスを変換データ8の生成用領域F1に保存する(ステップ♯45)。なお、制御部1は、上述のステップ♯34にて生成用領域F1を確保している。制御部1は、変換データ生成用オペレーターテーブルを参照して、対応する関数の先頭アドレスを認識する。制御部1は、認識した先頭アドレスを生成用領域F1に書き込む。 On the other hand, when it is determined that the operator is an operator (Yes in step #43), the control unit 1 stores the start address of the function used when executing the operator in the generation area F1 of the conversion data 8 (step #45). Note that the control unit 1 secures the generation area F1 in step #34 described above. The control unit 1 refers to the conversion data generation operator table and recognizes the start address of the corresponding function. The control unit 1 writes the recognized start address into the generation area F1.

そして、制御部1は、先頭アドレスを保存した関数で使用する数のオブジェクトをポップし、生成用領域F1に書き込む(ステップ♯46)。具体的に、制御部1は、先頭アドレスに対応する関数で使用するオブジェクト(値)を、先頭アドレスの後に配置した変換データ8を生成する(図7参照)。例えば、オペレーターが「rg」の場合、このオペレーターを実行するには、R、G、Bの3つの値(数値のオブジェクト)が必要である。この場合、制御部1は、最大3つのオブジェクトを生成用領域F1に書き込む。 Then, the control unit 1 pops the number of objects used by the function whose start address is saved, and writes them into the generation area F1 (step #46). Specifically, the control unit 1 generates conversion data 8 in which an object (value) used in a function corresponding to the start address is placed after the start address (see FIG. 7). For example, if the operator is "rg", three values (numeric objects), R, G, and B, are required to execute this operator. In this case, the control unit 1 writes a maximum of three objects into the generation area F1.

実行に3つのオブジェクト(値)が必要なのに、スタックされたオブジェクト(ポップできた値)が2つであれば、オペレーター(関数)を実行できない。そこで、制御部1は、生成用領域F1に書き込んだオブジェクトの数が足りているか否かを判定する(ステップ♯47)。足りない場合(ステップ♯47のNo)、制御部1はエラーと判定する(ステップ♯48)。つまり、制御部1は、特定コンテンツストリームCS2の記述に誤りがあると判定する。この場合、制御部1は変換データ8の生成処理を終了する(エンド)。 If three objects (values) are required for execution, but only two objects (values that could be popped) are stacked, the operator (function) cannot be executed. Therefore, the control unit 1 determines whether the number of objects written in the generation area F1 is sufficient (step #47). If it is insufficient (No in step #47), the control unit 1 determines that there is an error (step #48). In other words, the control unit 1 determines that there is an error in the description of the specific content stream CS2. In this case, the control unit 1 ends the generation process of the converted data 8 (END).

記述に誤りがあるとき、制御部1は、PDFファイル6の記述エラーを表示パネル41に表示させてもよい。また、制御部1は、PDFファイル6を送信したコンピューター200に向けて、PDFファイル6の記述エラーを知らせるメッセージを通信回路部12に送信させてもよい。 When there is an error in the description, the control unit 1 may display the description error in the PDF file 6 on the display panel 41. Further, the control unit 1 may cause the communication circuit unit 12 to send a message to the computer 200 that has sent the PDF file 6, informing it of a description error in the PDF file 6.

足りている場合(ステップ♯46のYes)、制御部1は、生成用領域F1に書き込んだオブジェクト(ポップした値)のタイプが適切か否かを判定する(ステップ♯49)。オペレーターが「rg」や「re」の場合、数値のオブジェクトが必要である。実行しようとするオペレーターで使用できないオブジェクトが1つでも読み出されているとき、制御部1はタイプが適切ではないと判定する。 If there is enough (Yes in step #46), the control unit 1 determines whether the type of the object (popped value) written in the generation area F1 is appropriate (step #49). If the operator is "rg" or "re", a numeric object is required. If at least one object that cannot be used by the operator attempting to execute is read, the control unit 1 determines that the type is not appropriate.

タイプが適切でないとき(ステップ♯49のNo)、制御部1はエラーと判定する(ステップ♯48)。制御部1は変換データ8の生成処理を終了する(エンド)。タイプが適切なとき(ステップ♯49のYes)、制御部1は、ステップ♯21を行う(ステップ♯21に戻る)。 If the type is not appropriate (No in step #49), the control unit 1 determines that there is an error (step #48). The control unit 1 ends the generation process of the converted data 8 (END). When the type is appropriate (Yes in step #49), the control unit 1 performs step #21 (returns to step #21).

図7は変換データ8の生成の具体例を示す。図7は、図3のコンテンツストリームCS1と同様の特定コンテンツストリームCS2と、その変換データ8の一例を示す。変換データ8の生成過程で記述のエラーチェックが行われる。そのため、変換データ8を実行するとき、エラーをチェックしなくてよい。 FIG. 7 shows a specific example of generation of conversion data 8. FIG. 7 shows an example of a specific content stream CS2 similar to the content stream CS1 of FIG. 3 and its converted data 8. In the process of generating the converted data 8, error checking of the description is performed. Therefore, when executing the conversion data 8, there is no need to check for errors.

また、変換前のコンテンツストリームCS1では、オブジェクト(値)→オペレーターの順に記述される。変換データ8では、オペレーターで用いる関数の先頭アドレス→オブジェクト(値)の順に記述される。スタックとポップを行う必要がない。 In the content stream CS1 before conversion, objects (values) are written in the order of operators. In the conversion data 8, the start address of the function used in the operator is described in the order of the object (value). No need to stack and pop.

また、変換データ8では、オペレーター名が、対応する関数の先頭アドレスに置き換えられる。オペレーターテーブルを参照し、オペレーターの名前に基づき先頭アドレスを認識する手間かいらない。必要な関数を直ちに読み出すことができる。 Furthermore, in conversion data 8, the operator name is replaced with the start address of the corresponding function. There is no need to refer to the operator table and recognize the starting address based on the operator's name. Necessary functions can be read immediately.

変換データ8を実行しても、特定コンテンツストリームCS2を実行しても同じ描画結果が得られる。しかし、高速化の工夫がなされているので、特定コンテンツストリームCS2を実行したときよりも、変換データ8を実行したときの方が、描画(ラスタライズ)を高速に行うことができる。特定コンテンツストリームCS2に対応する描画結果を得るための処理の時間を短くすることができる。 The same rendering result is obtained whether the conversion data 8 is executed or the specific content stream CS2 is executed. However, since measures have been taken to increase the speed, drawing (rasterization) can be performed faster when executing the converted data 8 than when executing the specific content stream CS2. It is possible to shorten the processing time to obtain a drawing result corresponding to the specific content stream CS2.

(変換データ8による描画の利点)
次に、図8を用いて、実施形態に係る変換データ8による描画の利点の一例を説明する。図8は、実施形態に係る変換データ8による描画の利点の一例を示す図である。
(Advantages of drawing using conversion data 8)
Next, an example of the advantage of drawing using the conversion data 8 according to the embodiment will be explained using FIG. 8. FIG. 8 is a diagram illustrating an example of the advantage of drawing using the conversion data 8 according to the embodiment.

特定コンテンツストリームCS2の描画結果(画像データ)を拡大したり、回転したりすることがある。従来技術では、描画結果(画像データ)そのものをキャッシュしたとする。図8の(a)は、キャッシュされた描画結果の一例を示す。 The drawing result (image data) of the specific content stream CS2 may be enlarged or rotated. In the conventional technology, it is assumed that the drawing result (image data) itself is cached. FIG. 8A shows an example of cached drawing results.

キャッシュした画像データを再利用して拡大処理や回転処理を行った場合、画質が低下することがある。図8の(c)はキャッシュされた描画結果を拡大することにより、ジャギーが目立つ結果となった例を示す。 When reusing cached image data to perform enlargement processing or rotation processing, the image quality may deteriorate. FIG. 8C shows an example in which jaggies become noticeable by enlarging the cached drawing result.

画像処理装置100では、変換データ8をキャッシュする。拡大縮小率を指定して変換データ8を実行すれば、なめらかな描画結果(画像データ)を得ることができる。図8の(b)は、指定された倍率に応じて変換データ8を実行し、得られる描画結果の一例を示す。例えば、制御部1は、指定された倍率に応じて、制御部1は、描画に用いるオブジェクト(値)を調整する。 The image processing device 100 caches the converted data 8. By specifying the scaling ratio and executing the conversion data 8, smooth drawing results (image data) can be obtained. FIG. 8B shows an example of a drawing result obtained by executing the conversion data 8 according to the specified magnification. For example, the control unit 1 adjusts the object (value) used for drawing according to the specified magnification.

このようにして、実施形態に係る画像処理装置100(複合機)は、画像処理装置100はメモリー22と制御部1を含む。メモリー22はデータをキャッシュする。制御部1は、文書ファイルに記述されたオブジェクトに基づき、文書ファイルの各ページの画像データを描画する。制御部1は、文書ファイルが含むオブジェクトのうち、予め定められた特定オブジェクト7のコンテンツストリームCS1である特定コンテンツストリームCS2を初めて実行するとき、特定コンテンツストリームCS2が含むオペレーターの記述をオペレーターに対応する関数の先頭アドレスに置き換えた変換データ8を生成する。制御部1は、生成した変換データ8をメモリー22にキャッシュする。特定コンテンツストリームCS2の2回目以降の実行では、制御部1は、特定コンテンツストリームCS2の代わりに、メモリー22にキャッシュしてある変換データを実行して描画する。 In this way, the image processing apparatus 100 (multifunction peripheral) according to the embodiment includes the memory 22 and the control section 1. Memory 22 caches data. The control unit 1 draws image data of each page of the document file based on objects described in the document file. When executing for the first time a specific content stream CS2, which is a content stream CS1 of a predetermined specific object 7 among objects included in a document file, the control unit 1 corresponds to the operator a description of an operator included in the specific content stream CS2. Conversion data 8 is generated that is replaced with the start address of the function. The control unit 1 caches the generated conversion data 8 in the memory 22. In the second and subsequent executions of the specific content stream CS2, the control unit 1 executes and draws the conversion data cached in the memory 22 instead of the specific content stream CS2.

変換データ8を生成することができる。変換データ8をメモリー22にキャッシュすることができる。変換データ8では、オペレーターの記述がアドレスを示す数値に置き換えられている。変換データ8を用いれば、特定コンテンツストリームCS2を実行する場合に比べて、高速に描画することができる。 Conversion data 8 can be generated. Transformed data 8 may be cached in memory 22. In conversion data 8, the operator description is replaced with a numerical value indicating an address. By using the conversion data 8, it is possible to draw faster than when executing the specific content stream CS2.

描画(ラスタライズ)で得られた画像データをそのままキャッシュしない。キャッシュに必要なメモリー22容量を抑えることができる。画像処理装置100に大容量のメモリー22を搭載しなくてすむ。画像処理装置100の製造コストを抑えることができる。 Do not cache image data obtained by drawing (rasterization) as is. The memory 22 capacity required for cache can be suppressed. It is not necessary to install a large capacity memory 22 in the image processing device 100. The manufacturing cost of the image processing device 100 can be suppressed.

また、特定コンテンツストリームCS2により描画される画像について、拡大や回転のような加工を施す場合がある。オブジェクトの描画結果(画像データ)をキャッシュする場合、拡大や回転のような加工を施すと、画質が劣化する場合がある。例えば、ジャギー(階段状のギザギザ)が目立ってしまう場合がある。変換データ8を用いる場合、拡大縮小率を指定すれば、なめらかな描画結果(画像データ)を得ることができる。 Further, the image drawn by the specific content stream CS2 may be subjected to processing such as enlargement or rotation. When caching object drawing results (image data), image quality may deteriorate if processing such as enlargement or rotation is performed. For example, jaggies (step-like jagged edges) may become noticeable. When using the conversion data 8, a smooth drawing result (image data) can be obtained by specifying the scaling ratio.

制御部1は、先頭アドレスに対応する関数で使用するオブジェクトを、先頭アドレスの後に配置した変換データ8を生成する。関数で使用するオブジェクト(値)を関数の後に配置することができる。関数で使用する値をスタックする必要がなくなる。関数の処理を高速化することができる。変換データ8を高速に実行することができる。 The control unit 1 generates conversion data 8 in which an object used in a function corresponding to the start address is placed after the start address. Objects (values) used in functions can be placed after the function. Eliminates the need to stack values used in functions. Function processing can be sped up. The converted data 8 can be executed at high speed.

特定コンテンツストリームCS2を最初に実行するとき、制御部1は、特定コンテンツストリームCS2の記述に基づく描画を行わずに変換データ8を生成する。制御部1は、特定コンテンツストリームCS2の代わりに、生成した変換データ8を実行する。変換データ8を生成後、変換データ8を実行することにより、特定コンテンツストリームCS2に対応する画像データを得ることができる。 When executing the specific content stream CS2 for the first time, the control unit 1 generates the conversion data 8 without performing drawing based on the description of the specific content stream CS2. The control unit 1 executes the generated conversion data 8 instead of the specific content stream CS2. After generating the conversion data 8, by executing the conversion data 8, image data corresponding to the specific content stream CS2 can be obtained.

変換データ8を生成するとき、制御部1は、特定コンテンツストリームCS2の記述にエラーがあるか否かを確認する。制御部1は、エラーがないときに変換データ8を生成する。実行してもエラーが生じない変換データ8を得ることができる。つまり、変換データ8は、エラー有無のチェックが済んでいる。変換データ8を実行するとき、コンテンツストリームCS1の実行時に行うエラーチェック処理を行う必要がない。変換データ8の実行開始から描画結果(画像データ)を得るまでの時間は、特定コンテンツストリームCS2を実行開始してから描画結果(画像データ)を得るまでの時間よりも、確実に短い。変換データ8を用いることにより、高速に描画結果を得ることができる。 When generating the conversion data 8, the control unit 1 checks whether there is an error in the description of the specific content stream CS2. The control unit 1 generates conversion data 8 when there is no error. It is possible to obtain converted data 8 that does not cause any errors even when executed. In other words, the conversion data 8 has been checked for errors. When executing the converted data 8, there is no need to perform error checking processing that is performed when executing the content stream CS1. The time from the start of execution of the conversion data 8 until the drawing result (image data) is obtained is certainly shorter than the time from the start of execution of the specific content stream CS2 until the drawing result (image data) is obtained. By using the conversion data 8, drawing results can be obtained at high speed.

文書ファイルはPDFファイル6である。制御部1は、Form XObjectと、TilingPatternObjectを特定オブジェクト7とする。繰り返しの使用されるオブジェクトのコンテンツストリームCS1について、変換データ8を生成することができる。 The document file is PDF file 6. The control unit 1 sets Form XObject and TilingPatternObject as specific objects 7. Conversion data 8 can be generated for the content stream CS1 of objects that are used repeatedly.

画像処理装置100は生成された画像データに基づき印刷するプリンター部5を含む。大容量のメモリー22を搭載しなくても、文書ファイル(PDFファイル6)の処理開始から出力開始までの時間が短い画像処理装置100を提供することができる。 The image processing device 100 includes a printer unit 5 that prints based on generated image data. It is possible to provide an image processing apparatus 100 that takes a short time from the start of processing of a document file (PDF file 6) to the start of outputting it without installing a large-capacity memory 22.

以上、本発明の実施形態について説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実施することができる。 Although the embodiments of the present invention have been described above, the scope of the present invention is not limited thereto, and various modifications can be made without departing from the gist of the invention.

本発明は、PDFファイルを扱う画像処理装置に利用可能である。 INDUSTRIAL APPLICATION This invention can be utilized for the image processing apparatus which handles a PDF file.

100 画像処理装置 1 制御部
22 メモリー 5 プリンター部
7 特定オブジェクト 8 変換データ
CS2 特定コンテンツストリーム
100 Image processing device 1 Control unit 22 Memory 5 Printer unit 7 Specific object 8 Conversion data CS2 Specific content stream

Claims (6)

データをキャッシュするメモリーと、
文書ファイルに記述されたオブジェクトに基づき、前記文書ファイルの各ページの画像データを描画し、
前記文書ファイルが含む前記オブジェクトのうち、予め定められた特定オブジェクトのコンテンツストリームである特定コンテンツストリームを初めて実行するとき、前記特定コンテンツストリームが含むオペレーターの記述を前記オペレーターに対応する関数の先頭アドレスに置き換えた変換データを生成し、
生成した前記変換データを前記メモリーにキャッシュし、
前記特定コンテンツストリームの2回目以降の実行では、前記特定コンテンツストリームの代わりに、前記メモリーにキャッシュしてある前記変換データを実行して描画する制御部と、を含むことを特徴とする画像処理装置。
memory for caching data,
drawing image data for each page of the document file based on objects described in the document file;
When a specific content stream, which is a content stream of a predetermined specific object among the objects included in the document file, is executed for the first time, the description of the operator included in the specific content stream is set to the start address of the function corresponding to the operator. Generate the replaced conversion data,
caching the generated conversion data in the memory;
An image processing apparatus characterized in that the image processing apparatus includes a control unit that executes and draws the converted data cached in the memory instead of the specific content stream in the second and subsequent executions of the specific content stream. .
前記制御部は、前記先頭アドレスに対応する前記関数で使用するオブジェクトを、前記先頭アドレスの後に配置した前記変換データを生成することを特徴とする請求項1に記載の画像処理装置。 The image processing apparatus according to claim 1, wherein the control unit generates the conversion data in which an object used in the function corresponding to the start address is placed after the start address. 前記特定コンテンツストリームを最初に実行するとき、
前記制御部は、
前記特定コンテンツストリームの記述に基づく描画を行わずに前記変換データを生成し、
前記特定コンテンツストリームの代わりに、生成した前記変換データを実行することを特徴とする請求項1又は2に記載の画像処理装置。
When the specific content stream is executed for the first time,
The control unit includes:
generating the conversion data without performing rendering based on the description of the specific content stream;
The image processing apparatus according to claim 1 or 2, wherein the generated conversion data is executed instead of the specific content stream.
前記制御部は、
前記変換データを生成するとき、前記特定コンテンツストリームの記述にエラーがあるか否かを確認し、
前記エラーがないときに前記変換データを生成することを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
The control unit includes:
When generating the conversion data, check whether there is an error in the description of the specific content stream;
4. The image processing apparatus according to claim 1, wherein the conversion data is generated when there is no error.
前記文書ファイルはPDFファイルであり、
前記制御部は、Form XObjectと、TilingPatternObjectを前記特定オブジェクトとすることを特徴とする請求項1乃至4の何れか1項に記載の画像処理装置。
The document file is a PDF file,
The image processing apparatus according to any one of claims 1 to 4, wherein the control unit uses a Form XObject and a TilingPatternObject as the specific objects.
生成された前記画像データに基づき印刷するプリンター部を含むことを特徴とする請求項1乃至5の何れか1項に記載の画像処理装置。 The image processing apparatus according to any one of claims 1 to 5, further comprising a printer section that prints based on the generated image data.
JP2020036242A 2020-03-03 2020-03-03 Image processing device Active JP7380335B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020036242A JP7380335B2 (en) 2020-03-03 2020-03-03 Image processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020036242A JP7380335B2 (en) 2020-03-03 2020-03-03 Image processing device

Publications (2)

Publication Number Publication Date
JP2021138011A JP2021138011A (en) 2021-09-16
JP7380335B2 true JP7380335B2 (en) 2023-11-15

Family

ID=77667812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020036242A Active JP7380335B2 (en) 2020-03-03 2020-03-03 Image processing device

Country Status (1)

Country Link
JP (1) JP7380335B2 (en)

Families Citing this family (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

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010157099A (en) 2008-12-26 2010-07-15 Canon Inc Print control apparatus, print control method, and computer program
JP2011084045A (en) 2009-10-19 2011-04-28 Canon Inc Image processor, image processing method, and program
JP2012171239A (en) 2011-02-22 2012-09-10 Canon Inc Image forming apparatus, method of controlling the same, and program
JP2015001866A (en) 2013-06-17 2015-01-05 富士ゼロックス株式会社 Print image processing system and program
JP2018058297A (en) 2016-10-06 2018-04-12 株式会社リコー Image formation output control device and image formation output control program
JP2021138011A (en) 2020-03-03 2021-09-16 京セラドキュメントソリューションズ株式会社 Image processing apparatus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010157099A (en) 2008-12-26 2010-07-15 Canon Inc Print control apparatus, print control method, and computer program
JP2011084045A (en) 2009-10-19 2011-04-28 Canon Inc Image processor, image processing method, and program
JP2012171239A (en) 2011-02-22 2012-09-10 Canon Inc Image forming apparatus, method of controlling the same, and program
JP2015001866A (en) 2013-06-17 2015-01-05 富士ゼロックス株式会社 Print image processing system and program
JP2018058297A (en) 2016-10-06 2018-04-12 株式会社リコー Image formation output control device and image formation output control program
JP2021138011A (en) 2020-03-03 2021-09-16 京セラドキュメントソリューションズ株式会社 Image processing apparatus

Also Published As

Publication number Publication date
JP2021138011A (en) 2021-09-16

Similar Documents

Publication Publication Date Title
JP4995057B2 (en) Drawing apparatus, printing apparatus, drawing method, and program
US8810847B2 (en) Information processing apparatus, information processing method, and storage medium storing program thereof
US20080285074A1 (en) Systems, devices, and methods for variable data printing
US8179558B2 (en) Image processing apparatus, image processing method, program and storage medium constructed to generate print data including a bitmap image and attribute data of each pixel of the bitmap image
US8553269B2 (en) Image forming apparatus and computer-readable recording medium storing image forming program for allowing storage section to store repeating use instruction information for repeatedly using band data
JP7380335B2 (en) Image processing device
JP2008527551A (en) How to add marks during the page rasterization process
US7164484B2 (en) Print controller, print control method and printer including determination to store macro as instruction or bitmap
JP2010142980A (en) Printing control program, printing control method, and printing control device
JP4577907B2 (en) Image processing apparatus, image forming apparatus, and printing system
US11630616B2 (en) Information processing apparatus, printing method, and non-transitory computer-readable medium storing support program therefor for controlling a printer for printing a barcode image
JP2020049903A (en) Printer and program
JP4541577B2 (en) Image forming apparatus, image forming method, image forming system, program, and storage medium
JP4877331B2 (en) Image processing apparatus, program, and data processing method
JP2010006066A (en) Image processing device and image processing method
JP4923899B2 (en) Printer driver program
JP2005275545A (en) Document print controller, document print control method and document print control program
JP7413851B2 (en) image forming device
JP7455912B2 (en) Information processing device, inspection device, inspection system, inspection system control method and program
US20230161522A1 (en) Printing system, information processing apparatus, and non-transitory computer readable medium storing program
JP5966805B2 (en) Control device for printing
US8503038B2 (en) Media advance with voiding of sensitive substrates
JP2021035012A (en) Image processing apparatus
JP2023158554A (en) Character image quality adjustment system, character image quality adjustment device, and control method and program therefor
JP2006218819A (en) Image formation apparatus, image processing apparatus, program, and image processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230927

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231016

R150 Certificate of patent or registration of utility model

Ref document number: 7380335

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150