JP7137135B2 - computer program and controller - Google Patents

computer program and controller Download PDF

Info

Publication number
JP7137135B2
JP7137135B2 JP2018183708A JP2018183708A JP7137135B2 JP 7137135 B2 JP7137135 B2 JP 7137135B2 JP 2018183708 A JP2018183708 A JP 2018183708A JP 2018183708 A JP2018183708 A JP 2018183708A JP 7137135 B2 JP7137135 B2 JP 7137135B2
Authority
JP
Japan
Prior art keywords
print
image data
type
print command
command
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
JP2018183708A
Other languages
Japanese (ja)
Other versions
JP2020052895A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2018183708A priority Critical patent/JP7137135B2/en
Publication of JP2020052895A publication Critical patent/JP2020052895A/en
Application granted granted Critical
Publication of JP7137135B2 publication Critical patent/JP7137135B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Description

本明細書は、印刷実行部に画像を印刷させる制御技術に関する。 The present specification relates to control technology for causing a print execution unit to print an image.

従来から、プリンタなどの印刷実行部に画像を印刷させるために、印刷コマンドが印刷実行部に出力されている。印刷コマンドとしては、例えば、IEEE-ISTO(The Institute of Electrical and Electronics Engineers - Industry Standards and Technology Organization)のプリンタワーキンググループ(PWG)によって提案されたPWGラスタというデータ形式の画像データを用いるコマンドなどが、用いられている。PWGラスタの画像データは、ランレングス圧縮の1種であるパックビッツ圧縮と呼ばれる圧縮方法で、圧縮されている。ここで、特許文献1には、パックビッツ圧縮において、圧縮効率を向上させるために、出現回数の多い8bitのデータを4bitのコマンドに変換する方法が、提案されている。 Conventionally, a print command is output to a print execution unit such as a printer in order to cause the print execution unit to print an image. Examples of print commands include commands using image data in a data format called PWG raster proposed by the Printer Working Group (PWG) of the Institute of Electrical and Electronics Engineers - Industry Standards and Technology Organization (IEEE-ISTO). used. PWG raster image data is compressed by a compression method called Packbits compression, which is a type of run-length compression. Here, Patent Document 1 proposes a method of converting 8-bit data, which appears frequently, into a 4-bit command in order to improve compression efficiency in PackBits compression.

特開2003-124817号公報JP-A-2003-124817 特開2015-020281号公報JP 2015-020281 A 特開2015-058652号公報JP 2015-058652 A

ところで、印刷実行部に画像を印刷させるための処理速度を向上する技術が求められている。 By the way, there is a demand for a technique for improving the processing speed for causing the print execution unit to print an image.

本明細書は、印刷実行部に印刷コマンドを出力する際に、印刷実行部による印刷処理速度の向上につながるための新たな技術を開示する。 This specification discloses a new technique for improving the print processing speed of the print execution unit when outputting a print command to the print execution unit.

本明細書に開示された技術は、以下の適用例として実現することが可能である。 The technology disclosed in this specification can be implemented as the following application examples.

[適用例1]印刷実行部に画像を印刷させるためのコンピュータプログラムであって、対象画像の対象画像データを取得する第1取得機能と、第1種印刷コマンドと第2種印刷コマンドとを含む複数種類の印刷コマンドのうちの少なくとも1種の印刷コマンドであって、前記印刷実行部に出力すべき印刷コマンドとして選択される対象印刷コマンドを含む前記少なくとも1種の印刷コマンドを生成するコマンド生成機能と、前記対象印刷コマンドを前記印刷実行部に出力する出力機能と、を、コンピュータに実現させ、前記コマンド生成機能によって実現される前記第1種印刷コマンドを生成する第1生成機能は、前記対象画像データを用いて、画像補間を含む第1サイズ変更処理を実行することによって、第1種画像データを含む前記第1種印刷コマンドを生成する機能を含み、前記コマンド生成機能によって実現される前記第2種印刷コマンドを生成する第2生成機能は、前記対象画像データを用いて、画像補間を含まない第2サイズ変更処理を実行することによって、前記対象画像を表すサイズ変更済画像データを生成する画像サイズ変更機能と、前記サイズ変更済画像データをランレングス圧縮することによって、第2種画像データを含む前記第2種印刷コマンドを生成する圧縮機能と、を含む、コンピュータプログラム。 [Application Example 1] A computer program for causing a print execution unit to print an image, including a first acquisition function for acquiring target image data of a target image, a first type print command, and a second type print command A command generation function for generating at least one print command among a plurality of types of print commands, the at least one print command including a target print command selected as a print command to be output to the print execution unit. and an output function for outputting the target print command to the print execution unit, and a first generation function for generating the first type print command realized by the command generation function, the target a function of generating the first type print command including the first type image data by executing a first size change process including image interpolation using the image data; A second generation function for generating a second type print command generates resized image data representing the target image by performing a second resizing process that does not include image interpolation using the target image data. and a compression function for generating the second type print command including second type image data by run-length compressing the resized image data.

この構成によれば、第1種印刷コマンドに含まれる第1種画像データが、画像補間を含む第1サイズ変更処理を実行することによって生成されるので、第1種印刷コマンドが対象印刷コマンドとして選択される場合には、高画質の印刷を実現できる。また、第2種印刷コマンドに含まれる第2種画像データは、画像補間を含まない第2サイズ変更処理と、ランレングス圧縮と、を実行することによって生成されるので、対象印刷コマンドとして第2種印刷コマンドが選択される場合には、データの圧縮効率を向上させ、印刷実行部に出力される印刷コマンドのデータサイズを小さくできる。それにより、印刷処理速度向上につながる印刷コマンドを印刷実行部に出力できる。
[適用例2]
適用例1に記載のコンピュータプログラムであって、
前記印刷実行部から、前記印刷実行部の能力に関する情報である能力情報を取得する第2取得機能と、
前記能力情報を用いて、前記複数種類の印刷コマンドから前記対象印刷コマンドを選択する選択機能と、
をコンピュータに実現させる、コンピュータプログラム。
[適用例3]
適用例2に記載のコンピュータプログラムであって、
前記能力情報は、前記印刷実行部が受け付ける画像データの解像度である入力解像度に関する情報を含み、
前記選択機能は、前記対象画像データがビットマップデータであり、前記対象画像データのピクセル数と相関を有するサイズが前記入力解像度に基づく入力サイズよりも小さいことを含む条件が満たされる場合に、前記対象印刷コマンドとして前記第2種印刷コマンドを選択し、
前記画像サイズ変更機能は、前記対象画像データのサイズを前記入力サイズに変更する拡大処理を前記第2サイズ変更処理として実行することによって、前記サイズ変更済画像データを生成する、
コンピュータプログラム。
[適用例4]
適用例1から3のいずれかに記載のコンピュータプログラムであって、
前記第2生成機能は、前記対象画像データがドキュメントデータである場合に、前記対象画像データを、非圧縮のビットマップデータと可逆圧縮されたビットマップデータとのいずれかである対象ビットマップデータに変換する変換機能を含み、
前記圧縮機能は、前記対象ビットマップデータと、前記対象ビットマップデータに前記第2サイズ変更処理を実行して得られる画像データと、のいずれかをランレングス圧縮することによって、前記第2種印刷コマンドに含まれる前記第2種画像データを生成する、
コンピュータプログラム。
[適用例5]
適用例1から4のいずれかに記載のコンピュータプログラムであって、
前記画像サイズ変更機能は、前記対象画像データがビットマップデータであり、前記対象画像データのピクセル数と相関を有するサイズが基準サイズよりも大きい場合に、前記対象画像データのサイズを前記基準サイズ以下のサイズに変更する縮小処理と、前記縮小処理によって得られる画像データのサイズを前記印刷実行部が受け付ける画像データの解像度である入力解像度に基づく入力サイズに変更する拡大処理とを、前記第2サイズ変更処理として実行することによって、前記サイズ変更済画像データを生成する、
コンピュータプログラム。
[適用例6]
適用例1から5のいずれかに記載のコンピュータプログラムであって、
前記対象画像を前記印刷実行部に印刷させる指示を受け付ける受付機能と、
前記指示が受け付けられる前に、前記対象画像を表示部に表示させる表示機能と、
を、コンピュータに実現させ、
前記コマンド生成機能は、前記指示が受け付けられる前に、前記第2種印刷コマンドの生成を開始する、
コンピュータプログラム。
[適用例7]
適用例6に記載のコンピュータプログラムであって、
前記第2種印刷コマンドのうちの前記指示が受け付けられる前に生成済の部分を含む特定部分のデータサイズが基準データサイズを超える場合に、前記出力機能に前記第1種印刷コマンドを出力させる出力設定機能を、コンピュータに実現させる、コンピュータプログラム。
[適用例8]
適用例1から7のいずれかに記載のコンピュータプログラムであって、
前記第2生成機能は、前記コンピュータが複数の演算部を備える場合に、前記第2種印刷コマンドを生成する処理に含まれる複数の処理を、前記複数の演算部に並列して実行させる並列処理機能を含む、
コンピュータプログラム。
[適用例9]
適用例8に記載のコンピュータプログラムであって、
前記並列処理機能は、前記第2種画像データに含まれる複数のバンドデータであって前記対象画像に含まれる複数のバンド画像に対応する前記複数のバンドデータのうちの少なくとも一部の複数のバンドデータを生成する処理を、前記複数の演算部に並列して実行させ、
前記複数のバンド画像のうちの前記対象画像の最先に印刷されるべき先端を含む先端バンド画像のサイズは、他の1以上のバンド画像のそれぞれのサイズのうちの最大サイズよりも、小さく、
前記出力機能は、前記先端バンド画像のバンドデータである先端バンドデータを生成する処理が完了した場合には、前記他の1以上のバンド画像のうちの少なくとも1つのバンド画像の前記バンドデータを生成する処理が完了していない場合であっても、前記先端バンドデータを前記印刷実行部に出力する、
コンピュータプログラム。
[適用例10]
印刷実行部に画像を印刷させるための制御装置であって、
対象画像の対象画像データを取得する第1取得部と、
第1種印刷コマンドと第2種印刷コマンドとを含む複数種類の印刷コマンドのうちの少なくとも1種の印刷コマンドであって、前記印刷実行部に出力すべき印刷コマンドとして選択される対象印刷コマンドを含む前記少なくとも1種の印刷コマンドを生成するコマンド生成部と、
前記対象印刷コマンドを前記印刷実行部に出力する出力部と、
を、備え、
前記コマンド生成部によって実現される前記第1種印刷コマンドを生成する第1生成処理は、前記対象画像データを用いて、画像補間を含む第1サイズ変更処理を実行することによって、第1種画像データを含む前記第1種印刷コマンドを生成する処理を含み、
前記コマンド生成部によって実現される前記第2種印刷コマンドを生成する第2生成処理は、
前記対象画像データを用いて、画像補間を含まない第2サイズ変更処理を実行することによって、前記対象画像を表すサイズ変更済画像データを生成する画像サイズ変更処理と、
前記サイズ変更済画像データをランレングス圧縮することによって、第2種画像データを含む前記第2種印刷コマンドを生成する圧縮処理と、
を含む、制御装置。
According to this configuration, since the first-type image data included in the first-type print command is generated by executing the first size change process including image interpolation, the first-type print command is used as the target print command. If selected, high quality printing can be achieved. Also, since the second-type image data included in the second-type print command is generated by executing the second size change processing that does not include image interpolation and run-length compression, the second-type image data is generated as the target print command. When the seed print command is selected, the data compression efficiency can be improved and the data size of the print command output to the print execution unit can be reduced. As a result, it is possible to output a print command that leads to an improvement in print processing speed to the print execution unit.
[Application example 2]
The computer program according to Application Example 1,
a second acquisition function for acquiring capability information, which is information about the capabilities of the print execution unit, from the print execution unit;
a selection function for selecting the target print command from the plurality of types of print commands using the capability information;
A computer program that makes a computer realize
[Application Example 3]
The computer program according to Application Example 2,
The capability information includes information on input resolution, which is the resolution of image data accepted by the print execution unit,
When the target image data is bitmap data and a size correlated with the number of pixels of the target image data is smaller than an input size based on the input resolution, the selecting the second type print command as the target print command;
The image resizing function generates the resized image data by executing an enlarging process of changing the size of the target image data to the input size as the second resizing process.
computer program.
[Application example 4]
The computer program according to any one of Application Examples 1 to 3,
When the target image data is document data, the second generation function converts the target image data into target bitmap data that is either uncompressed bitmap data or reversibly compressed bitmap data. Contains a conversion function that converts,
The compression function performs run-length compression of either the target bitmap data or image data obtained by performing the second size change processing on the target bitmap data, thereby performing the second-type printing. generating the second type image data included in the command;
computer program.
[Application example 5]
The computer program according to any one of Application Examples 1 to 4,
The image size changing function reduces the size of the target image data to the reference size or less when the target image data is bitmap data and the size correlated with the number of pixels of the target image data is larger than the reference size. and an enlargement process of changing the size of the image data obtained by the reduction process to an input size based on the input resolution, which is the resolution of the image data accepted by the print execution unit. generating the resized image data by executing as a modification process;
computer program.
[Application example 6]
The computer program according to any one of Application Examples 1 to 5,
a reception function that receives an instruction to print the target image to the print execution unit;
a display function for displaying the target image on a display unit before the instruction is accepted;
is implemented on a computer,
The command generation function starts generating the second type print command before the instruction is accepted.
computer program.
[Application example 7]
The computer program according to Application Example 6,
Output for causing the output function to output the first type print command when a data size of a specific portion including a portion already generated before the instruction is accepted out of the second type print command exceeds a reference data size. A computer program that causes a computer to implement a setting function.
[Application example 8]
The computer program according to any one of Application Examples 1 to 7,
When the computer includes a plurality of calculation units, the second generation function is parallel processing that causes the plurality of calculation units to execute in parallel a plurality of processes included in the process of generating the type 2 print command. including features,
computer program.
[Application example 9]
The computer program according to Application Example 8,
The parallel processing function is a plurality of bands of at least a part of the plurality of band data included in the second type image data and corresponding to the plurality of band images included in the target image. causing the plurality of calculation units to execute processing for generating data in parallel;
the size of the leading edge band image including the leading edge to be printed first of the target image among the plurality of band images is smaller than the maximum size among the sizes of each of the other one or more band images;
The output function generates the band data of at least one band image out of the other one or more band images when the process of generating leading edge band data, which is the band data of the leading edge band image, is completed. outputting the leading edge band data to the print execution unit even if the processing for printing is not completed;
computer program.
[Application example 10]
A control device for causing a print execution unit to print an image,
a first acquisition unit that acquires target image data of a target image;
a target print command that is at least one of a plurality of types of print commands including a first type print command and a second type print command and is selected as a print command to be output to the print execution unit; a command generator for generating the at least one print command including
an output unit that outputs the target print command to the print execution unit;
provided with
The first generation process for generating the first type print command realized by the command generation unit uses the target image data to perform a first size change process including image interpolation to generate a first type image. including a process of generating the type 1 print command containing data;
A second generation process for generating the second type print command realized by the command generation unit includes:
an image resizing process that uses the target image data to generate resized image data representing the target image by performing a second resizing process that does not involve image interpolation;
a compression process for generating the second type print command including second type image data by run-length compressing the resized image data;
a controller, including

なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、制御方法および制御装置、印刷方法および印刷装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。 The technology disclosed in this specification can be implemented in various forms, for example, a control method and a control device, a printing method and a printing device, a computer for realizing the functions of those methods or devices. It can be implemented in the form of a program, a recording medium recording the computer program (for example, a non-temporary recording medium), or the like.

実施例の画像処理システム1000を示す説明図である。1 is an explanatory diagram showing an image processing system 1000 of an embodiment; FIG. 印刷処理の例を示すフローチャートである。5 is a flowchart showing an example of print processing; (A)~(D)は、設定画面の例を示す概略図である。(E)は、プレビュー画面の例を示す概略図である。(A) to (D) are schematic diagrams showing examples of setting screens. (E) is a schematic diagram showing an example of a preview screen. コマンド生成処理の例を示すフローチャートである。8 is a flowchart illustrating an example of command generation processing; コマンドの種類を選択する処理の例を示すフローチャートである。7 is a flowchart showing an example of processing for selecting a command type; 第1種印刷コマンドの生成処理の例を示すフローチャートである。8 is a flowchart illustrating an example of processing for generating a first type print command; 第2種印刷コマンドの生成処理の例を示すフローチャートである。FIG. 11 is a flowchart illustrating an example of processing for generating a second type print command; FIG. サイズ変更処理の概略図である。FIG. 4 is a schematic diagram of a resizing process; 第2種印刷コマンドのエンコーディング処理の例を示すフローチャートである。FIG. 11 is a flowchart showing an example of encoding processing for a second type print command; FIG. バンド画像の概略図である。1 is a schematic diagram of a band image; FIG. 出力処理の例を示すフローチャートである。8 is a flowchart illustrating an example of output processing; 出力処理の第2実施例のフローチャートである。FIG. 11 is a flow chart of a second embodiment of output processing; FIG.

A.第1実施例:
A-1.端末装置100と複合機200との構成:
図1は、実施例の画像処理システム1000を示す説明図である。画像処理システム1000は、端末装置100と、端末装置100に接続された複合機200と、を含んでいる。後述するように、複合機200は、原稿等の対象物を読み取るスキャナ部280と、画像を印刷するプリンタ部400と、複合機200の全体を制御する制御部299と、を有している。複合機200は、印刷を実行する印刷実行部の例である。
A. First example:
A-1. Configuration of Terminal Device 100 and MFP 200:
FIG. 1 is an explanatory diagram showing an image processing system 1000 of the embodiment. The image processing system 1000 includes a terminal device 100 and a multi-function peripheral 200 connected to the terminal device 100 . As will be described later, the multifunction machine 200 has a scanner section 280 that reads an object such as a document, a printer section 400 that prints an image, and a control section 299 that controls the entire multifunction machine 200 . The MFP 200 is an example of a print execution unit that executes printing.

端末装置100は、パーソナルコンピュータである(例えば、デスクトップコンピュータ、タブレットコンピュータなど)。端末装置100は、プロセッサ110と、記憶装置115と、画像を表示する表示部140と、ユーザによる操作を受け入れる操作部150と、通信インタフェース170と、を有している。これらの要素は、バスを介して互いに接続されている。記憶装置115は、揮発性記憶装置120と、不揮発性記憶装置130と、を含んでいる。 The terminal device 100 is a personal computer (for example, desktop computer, tablet computer, etc.). The terminal device 100 has a processor 110 , a storage device 115 , a display section 140 that displays images, an operation section 150 that receives user operations, and a communication interface 170 . These elements are connected to each other via buses. Storage device 115 includes volatile storage device 120 and non-volatile storage device 130 .

プロセッサ110は、データ処理を行う装置であり、例えば、CPUである。揮発性記憶装置120は、例えば、DRAMであり、不揮発性記憶装置130は、例えば、フラッシュメモリである。 The processor 110 is a device that performs data processing, such as a CPU. The volatile memory device 120 is, for example, a DRAM, and the non-volatile memory device 130 is, for example, a flash memory.

不揮発性記憶装置130は、プログラム132を含む複数のプログラムを格納している。プロセッサ110は、プログラム132を実行することによって、通信インタフェース170を介して接続される複合機200や印刷装置等の画像処理装置を制御する種々の機能を実現する。プログラム132によって実現される機能の詳細については、後述する。プロセッサ110は、プログラム132の実行に利用される種々の中間データを、記憶装置115(例えば、揮発性記憶装置120、不揮発性記憶装置130のいずれか)に、一時的に格納する。本実施例では、プログラム132は、後述するアプリケーションの機能を実現するためのアプリケーションプログラムである。 Nonvolatile storage device 130 stores a plurality of programs including program 132 . By executing the program 132 , the processor 110 realizes various functions of controlling the image processing apparatus such as the multi-function peripheral 200 and the printing apparatus connected via the communication interface 170 . Details of the functions realized by the program 132 will be described later. The processor 110 temporarily stores various intermediate data used for executing the program 132 in the storage device 115 (eg, either the volatile storage device 120 or the nonvolatile storage device 130). In this embodiment, the program 132 is an application program for implementing functions of an application, which will be described later.

表示部140は、画像を表示する装置であり、例えば、液晶ディスプレイである。これに代えて、LEDディスプレイ、有機ELディスプレイなどの、画像を表示する他の種類の装置が採用されてよい。操作部150は、ユーザによる操作を受け取る装置であり、例えば、表示部140上に重ねて配置されたタッチパネルである。これに代えて、ボタン、レバーなどの、ユーザによって操作される他の種類の装置が採用されてよい。ユーザは、操作部150を操作することによって、種々の指示を端末装置100に入力可能である。 The display unit 140 is a device that displays an image, such as a liquid crystal display. Alternatively, other types of devices for displaying images may be employed, such as LED displays, organic EL displays, and the like. The operation unit 150 is a device that receives an operation by a user, and is, for example, a touch panel that is superimposed on the display unit 140 . Alternatively, other types of user operated devices such as buttons, levers, etc. may be employed. A user can input various instructions to the terminal device 100 by operating the operation unit 150 .

通信インタフェース170は、他の装置と通信するためのインタフェースである(例えば、USBインタフェース、有線LANインタフェース、IEEE802.11の無線インタフェース)。通信インタフェース170には、複合機200が接続されている。 The communication interface 170 is an interface for communicating with other devices (eg, USB interface, wired LAN interface, IEEE802.11 wireless interface). A multi-function device 200 is connected to the communication interface 170 .

複合機200は、制御部299と、スキャナ部280と、プリンタ部400と、を有している。制御部299は、プロセッサ210と、記憶装置215と、画像を表示する表示部240と、ユーザによる操作を受け入れる操作部250と、通信インタフェース270と、を有している。これらの要素は、バスを介して互いに接続されている。記憶装置215は、揮発性記憶装置220と、不揮発性記憶装置230と、を含んでいる。 The MFP 200 has a control section 299 , a scanner section 280 and a printer section 400 . The control unit 299 has a processor 210 , a storage device 215 , a display unit 240 that displays images, an operation unit 250 that accepts user operations, and a communication interface 270 . These elements are connected to each other via buses. Storage 215 includes volatile storage 220 and nonvolatile storage 230 .

プロセッサ210は、データ処理を行う装置であり、例えば、CPUである。揮発性記憶装置220は、例えば、DRAMであり、不揮発性記憶装置230は、例えば、フラッシュメモリである。 The processor 210 is a device that performs data processing, such as a CPU. The volatile memory device 220 is, for example, a DRAM, and the non-volatile memory device 230 is, for example, a flash memory.

不揮発性記憶装置230は、プログラム232を格納している。プロセッサ210は、プログラム232を実行することによって、種々の機能を実現する(詳細は、後述)。プロセッサ210は、プログラム232の実行に利用される種々の中間データを、記憶装置(例えば、揮発性記憶装置220、不揮発性記憶装置230のいずれか)に、一時的に格納する。本実施例では、プログラム232は、複合機200の製造者によって、ファームウェアとして、不揮発性記憶装置230に予め格納されている。 The nonvolatile storage device 230 stores programs 232 . The processor 210 implements various functions by executing the program 232 (details will be described later). The processor 210 temporarily stores various intermediate data used for executing the program 232 in a storage device (eg, either the volatile storage device 220 or the nonvolatile storage device 230). In this embodiment, the program 232 is pre-stored in the non-volatile storage device 230 as firmware by the manufacturer of the MFP 200 .

表示部240は、画像を表示する装置であり、例えば、液晶ディスプレイである。これに代えて、LEDディスプレイ、有機ELディスプレイなどの、画像を表示する他の種類の装置が採用されてよい。操作部250は、ユーザによる操作を受け取る装置であり、例えば、表示部240上に重ねて配置されたタッチパネルである。これに代えて、ボタン、レバーなどの、ユーザによって操作される他の種類の装置が採用されてよい。ユーザは、操作部250を操作することによって、種々の指示を複合機200に入力可能である。 The display unit 240 is a device that displays an image, such as a liquid crystal display. Alternatively, other types of devices for displaying images may be employed, such as LED displays, organic EL displays, and the like. The operation unit 250 is a device that receives an operation by a user, and is, for example, a touch panel overlaid on the display unit 240 . Alternatively, other types of user operated devices such as buttons, levers, etc. may be employed. The user can input various instructions to the MFP 200 by operating the operation unit 250 .

通信インタフェース270は、他の装置と通信するためのインタフェースである。本実施例では、通信インタフェース270は、端末装置100の通信インタフェース170に接続されている。 Communication interface 270 is an interface for communicating with other devices. In this embodiment, the communication interface 270 is connected to the communication interface 170 of the terminal device 100 .

スキャナ部280は、CCDやCMOSなどの光電変換素子を用いて光学的に原稿等の対象物を読み取ることによって、読み取った画像(「スキャン画像」と呼ぶ)を表すスキャンデータを生成する。スキャンデータは、例えば、カラーのスキャン画像を表すRGBのビットマップデータである。 The scanner unit 280 optically reads an object such as a document using a photoelectric conversion element such as a CCD or CMOS, thereby generating scan data representing a read image (referred to as a “scan image”). The scan data is, for example, RGB bitmap data representing a color scan image.

プリンタ部400は、所定の方式(例えば、レーザ方式や、インクジェット方式)で、用紙(印刷媒体の一例)上に画像を印刷する装置である。本実施例では、プリンタ部400は、シアンC、マゼンタM、イエロY、ブラックKの4種類のインクを用いてカラー画像を印刷可能なインクジェット方式の印刷装置である。 The printer unit 400 is a device that prints an image on paper (an example of a print medium) using a predetermined method (for example, a laser method or an inkjet method). In this embodiment, the printer unit 400 is an inkjet printing apparatus capable of printing color images using four types of ink, cyan C, magenta M, yellow Y, and black K.

A-2.印刷処理:
図2は、印刷処理の例を示すフローチャートである。本実施例では、複合機200は、他の装置(例えば、端末装置100)によって供給された印刷コマンドを用いて、プリンタ部400に画像を印刷させることができる。端末装置100のプロセッサ110は、プログラム132に従って、印刷コマンドの生成と出力とを行う印刷処理を実行する。プロセッサ110は、ユーザの指示(例えば、操作部150の操作によって入力された指示)に従って、印刷処理のためのアプリケーションを起動する。
A-2. Print processing:
FIG. 2 is a flowchart illustrating an example of print processing. In this embodiment, the MFP 200 can cause the printer unit 400 to print an image using a print command supplied by another device (eg, the terminal device 100). The processor 110 of the terminal device 100 executes print processing for generating and outputting print commands according to the program 132 . Processor 110 activates an application for print processing according to a user's instruction (for example, an instruction input by operating operation unit 150).

S110では、プロセッサ110は、印刷装置を選択するための設定画面を、表示部140に表示させる。図3(A)は、設定画面の例を示す概略図である。この設定画面D1は、利用可能な印刷装置のリストを表している。図3(A)の例では、第1印刷装置を示す第1候補画像B1と、第2印刷装置を示す第2候補画像B2とが、表されている。第1候補画像B1は、複合機200を示していることとする。プロセッサ110は、利用可能な印刷装置を検出し、検出した印刷装置のリストを含む設定画面を、表示部140に表示させる。 In S110, processor 110 causes display unit 140 to display a setting screen for selecting a printing device. FIG. 3A is a schematic diagram showing an example of a setting screen. This setting screen D1 displays a list of available printing devices. In the example of FIG. 3A, a first candidate image B1 representing the first printing device and a second candidate image B2 representing the second printing device are shown. Assume that the first candidate image B<b>1 shows the MFP 200 . Processor 110 detects available printing devices and causes display unit 140 to display a setting screen including a list of the detected printing devices.

プロセッサ110は、SMB(Server Message Block)プロトコル、LPR(Line PRinter daemon)プロトコルなどのネットネットワークプリンタを利用するためのプロトコルに従って、ネットワーク上の印刷装置を検出する。また、プロセッサ110は、USBプロトコルなどの外部装置を利用するためのプロトコルに従って、端末装置100に接続された印刷装置を検出する。 The processor 110 detects printers on the network according to protocols for using network printers, such as SMB (Server Message Block) protocol and LPR (Line PRinter daemon) protocol. Also, the processor 110 detects a printing device connected to the terminal device 100 according to a protocol for using an external device such as the USB protocol.

ユーザは、操作部150を操作することによって、印刷に利用すべき印刷装置を選択する。例えば、ユーザは、操作部150のうち、希望する印刷装置の画像に重なる部分をタップすることによって、印刷装置を選択できる。以下、複合機200が選択されたこととする。また、選択された印刷装置を「対象印刷装置」とも呼ぶ。また、操作部150のうち、表示部140に表示された特定の画像に重なる部分をタップすることを、特定の画像をタップするとも表現する。 A user selects a printing apparatus to be used for printing by operating the operation unit 150 . For example, the user can select a printing device by tapping a portion of the operation unit 150 that overlaps the image of the desired printing device. In the following, it is assumed that the MFP 200 has been selected. The selected printing device is also called a "target printing device". Further, tapping a portion of the operation unit 150 that overlaps a specific image displayed on the display unit 140 is also referred to as tapping the specific image.

S120(図2)では、プロセッサ110は、対象印刷装置の能力情報を取得する。能力情報は、印刷装置の能力に関する情報である。本実施例では、能力情報は、PWGラスタ形式の画像データを含むコマンドに対応しているか否かを示す情報と、対象印刷装置が受け付ける画像データの解像度である入力解像度に関する情報と、を含んでいる。入力解像度は、画素密度を示しており、例えば、ppi(pixel per inch)、または、dpi(dot per inch)の単位で表される。本実施例では、プロセッサ110は、対象印刷装置に、予め決められた手順に従って、能力情報を要求する。対象印刷装置は、要求に応じて、能力情報を端末装置100に供給する。 At S120 (FIG. 2), the processor 110 acquires capability information of the target printing device. The capability information is information about the capabilities of the printing device. In this embodiment, the capability information includes information indicating whether or not commands including image data in the PWG raster format are supported, and information about input resolution, which is the resolution of image data accepted by the target printing apparatus. there is The input resolution indicates pixel density, and is expressed in units of ppi (pixel per inch) or dpi (dot per inch), for example. In this embodiment, the processor 110 requests capability information from the target printing device according to a predetermined procedure. The target printing device supplies capability information to the terminal device 100 in response to the request.

なお、上述したように、複合機200は、印刷とスキャンを実行できる。複合機200からの能力情報は、複合機200が印刷とスキャンを実行できることを示す情報が含まれる。そこで、プロセッサ110は、印刷とスキャンとのいずれかを選択するための設定画面を、表示部140に表示させる。図3(B)は、設定画面の例を示す概略図である。この設定画面D2には、印刷を示す第1画像B11と、スキャンを示す第2画像B12とが、表されている。ユーザは、希望する処理の画像をタップすることによって、希望する処理を選択する。以下、印刷が選択されたこととする。 Note that, as described above, the MFP 200 can perform printing and scanning. The capability information from the MFP 200 includes information indicating that the MFP 200 is capable of printing and scanning. Therefore, processor 110 causes display unit 140 to display a setting screen for selecting either printing or scanning. FIG. 3B is a schematic diagram showing an example of a setting screen. The setting screen D2 displays a first image B11 indicating printing and a second image B12 indicating scanning. The user selects the desired process by tapping the image of the desired process. In the following, it is assumed that printing has been selected.

S130(図2)は、プロセッサ110は、印刷すべき画像である対象画像を選択する。本実施例では、プロセッサ110は、端末装置100の不揮発性記憶装置130に格納済のデータから、ユーザに、対象画像の対象画像データを選択させる。まず、プロセッサ110は、データ形式を選択するための設定画面を、表示部140に表示させる。図3(C)は、設定画面の例を示す概略図である。この設定画面D3には、写真を示す第1ボタンB21と、ドキュメントを示す第2ボタンB22とが、表されている。 At S130 (FIG. 2), the processor 110 selects the target image, which is the image to be printed. In this embodiment, the processor 110 allows the user to select target image data for the target image from data already stored in the nonvolatile storage device 130 of the terminal device 100 . First, processor 110 causes display unit 140 to display a setting screen for selecting a data format. FIG. 3C is a schematic diagram showing an example of a setting screen. The setting screen D3 displays a first button B21 indicating a photograph and a second button B22 indicating a document.

写真は、ビットマップ形式を示している。ビットマップ形式としては、JPEG形式、PNG形式、GIF形式、TIFF形式など、複数の画素のそれぞれの色値を表す、未圧縮、または、圧縮済の、種々の形式が、利用される。本実施例では、予め決められた1以上の形式が、ビットマップ形式として利用される。本実施例では、ビットマップ形式の画像データは、横方向と縦方向と沿ってマトリクス状に配置された複数の画素のそれぞれの色値を示している。そして、複数の画素は、矩形状の画像を示している。 The picture shows the bitmap format. Various uncompressed or compressed bitmap formats, such as JPEG format, PNG format, GIF format, TIFF format, etc., are used to represent the color values of each of a plurality of pixels. In this embodiment, one or more predetermined formats are used as bitmap formats. In this embodiment, the bitmap format image data indicates the color values of each of a plurality of pixels arranged in a matrix along the horizontal and vertical directions. A plurality of pixels represent a rectangular image.

ドキュメント形式は、ビットマップ形式以外のデータ形式である。本実施例では、PDF形式と、予め決められた特定のアプリケ-ションソフトのデータ形式(例えば、ワードプロセッサソフトウェア、表計算ソフトウェア、プレゼンテーションソフトウェアのそれぞれのデータ形式)とが、ドキュメント形式として利用される。以下、特定のアプリケ-ションソフトのデータ形式を、オフィス形式とも呼ぶ。 A document format is a data format other than the bitmap format. In this embodiment, the PDF format and the data formats of predetermined specific application software (for example, the respective data formats of word processor software, spreadsheet software, and presentation software) are used as document formats. Hereinafter, the data format of specific application software will also be referred to as the office format.

ユーザは、希望のデータ形式の画像をタップすることによって、データ形式を選択する。以下、選択されたデータ形式を、対象データ形式とも呼ぶ。データ形式が選択された場合、プロセッサ110は、表示部140に設定画面を表示させて、ユーザに対象画像データを選択させる。図3(D)は、設定画面の例を示す概略図である。この設定画面D4には、対象画像の複数の候補画像CFが、表されている。候補画像CFは、不揮発性記憶装置130に格納済の対象データ形式のデータの画像である。ユーザは、希望の候補画像CFをタップすることによって、対象画像を選択する。設定画面D4中の選択画像SFは、選択された画像を示している。設定画面D4は、さらに、進行ボタンB31を表している。プロセッサ110は、進行ボタンB31がタップされたことに応じて、処理を進行する。 The user selects the data format by tapping the image of the desired data format. The selected data format is hereinafter also referred to as a target data format. When the data format is selected, processor 110 causes display unit 140 to display a setting screen and allows the user to select target image data. FIG. 3D is a schematic diagram showing an example of a setting screen. A plurality of candidate images CF of the target image are displayed on this setting screen D4. The candidate image CF is an image of data in the target data format already stored in the nonvolatile storage device 130 . The user selects the target image by tapping the desired candidate image CF. A selection image SF in the setting screen D4 indicates the selected image. The setting screen D4 also displays a progress button B31. The processor 110 advances the process in response to tapping the advance button B31.

S135(図2)では、プロセッサ110は、選択された対象画像のデータである対象画像データを取得する。例えば、不揮発性記憶装置130から対象画像データが取得される。 At S135 (FIG. 2), the processor 110 obtains target image data, which is the data of the selected target image. For example, target image data is acquired from the non-volatile storage device 130 .

S140では、プロセッサ110は、現行の印刷設定を用いて、コマンド生成処理を開始する。本実施例では、印刷設定は、用紙の種類(光沢紙、普通紙など)、用紙サイズ(L版、A4など)、縁無し印刷の適用の有無、カラーモード(カラー印刷とモノクロ印刷のいずれか)を含んでいる。最初にS140が実行される時には、印刷設定として、予め決められた初期設定が利用される。また、対象画像は、用紙サイズの用紙上の印刷可能な領域を最大限に用いて印刷されることとする(すなわち、対象画像は、用紙上の印刷可能な領域に、最大サイズで印刷される)。印刷コマンドの生成は、図2の処理とは並行して進行する。コマンド生成処理の詳細については、後述する。 At S140, processor 110 begins the command generation process using the current print settings. In this embodiment, the print settings include paper type (glossy paper, plain paper, etc.), paper size (L size, A4, etc.), whether to apply borderless printing, color mode (either color printing or monochrome printing). ). When S140 is executed for the first time, predetermined initial settings are used as print settings. In addition, the target image is printed using the maximum printable area on the paper of the paper size (i.e., the target image is printed in the maximum size on the printable area on the paper). ). Generation of the print command proceeds in parallel with the processing of FIG. Details of the command generation process will be described later.

S150では、プロセッサ110は、対象画像のプレビューを表示部140に表示させる。図3(E)は、プレビュー画面の例を示す概略図である。このプレビュー画面D5は、対象画像PVと、設定ボタンB41~B44と、印刷ボタンB45と、を表している。ユーザは、設定ボタンB41~B44をタップすることによって、用紙の種類と、用紙サイズと、縁無し印刷の設定と、カラーモードと、を変更できる。プロセッサ110は、設定ボタンB41~B44のいずれかが操作された場合、ユーザの操作に応じて、印刷設定を変更する。このように、本実施例では、プレビュー画面D5は、印刷の設定をユーザに選択させるための設定画面である。また、ユーザは、印刷ボタンB45をタップすることによって、対象印刷装置に対象画像を印刷させる指示を、入力できる。 At S150, the processor 110 causes the display unit 140 to display a preview of the target image. FIG. 3E is a schematic diagram showing an example of a preview screen. This preview screen D5 displays a target image PV, setting buttons B41 to B44, and a print button B45. The user can change the paper type, paper size, borderless printing setting, and color mode by tapping the setting buttons B41 to B44. The processor 110 changes the print settings according to the user's operation when any one of the setting buttons B41 to B44 is operated. Thus, in this embodiment, the preview screen D5 is a setting screen for allowing the user to select print settings. Further, the user can input an instruction to print the target image on the target printing device by tapping the print button B45.

S160(図2)では、プロセッサ110は、印刷ボタンB45が操作されたか否かを判断する。印刷ボタンB45が操作されていない場合(S160:No)、S170で、プロセッサ110は、印刷設定が変更されたか否かを判断する。印刷設定が変更されていない場合(S170:No)、プロセッサ110は、S160へ移行する。印刷設定が変更された場合(S170:Yes)、S180で、プロセッサ110は、生成中の印刷コマンドを破棄する。そして、プロセッサ110は、S140へ移行して、現行の印刷設定(すなわち、変更済の印刷設定)を用いて、コマンド生成処理を開始する。ユーザが印刷ボタンB45(図3(E))を操作した場合(図2:S160:Yes)、S190で、プロセッサ110は、出力処理を実行する。出力処理によって、対象印刷コマンドが、対象印刷装置に、出力される(詳細は、後述)。 At S160 (FIG. 2), the processor 110 determines whether or not the print button B45 has been operated. If the print button B45 has not been operated (S160: No), in S170 the processor 110 determines whether the print settings have been changed. If the print settings have not been changed (S170: No), the processor 110 proceeds to S160. If the print settings have been changed (S170: Yes), in S180 processor 110 discards the print command being generated. The processor 110 then moves to S140 and starts the command generation process using the current print settings (that is, the changed print settings). When the user operates the print button B45 (FIG. 3E) (FIG. 2: S160: Yes), in S190, the processor 110 executes the output process. Through the output process, the target print command is output to the target printing device (details will be described later).

対象印刷コマンドの出力(図2:S190)が完了した場合、プロセッサ110は、図2の処理を終了する。対象印刷装置としての複合機200(図1)は、受信した印刷コマンドに従って、対象画像を印刷する。本実施例では、プロセッサ210は、ヘッダデータを解析することによって、受信したコマンドが特定の種類の印刷コマンドであることと、印刷設定とを、特定する。そして、プロセッサ210は、受信したボディデータに含まれる画像データを用いて、プリンタ部400に対象画像を印刷させる。 When the output of the target print command (FIG. 2: S190) is completed, the processor 110 ends the processing of FIG. The MFP 200 (FIG. 1) as the target printing device prints the target image according to the received print command. In this embodiment, processor 210 identifies that the received command is a particular type of print command and print settings by parsing the header data. Processor 210 then causes printer unit 400 to print the target image using the image data included in the received body data.

画像データを用いてプリンタ部400に画像を印刷させる印刷実行処理は、種々の処理であってよい。プロセッサ210は、例えば、印刷コマンドに含まれる画像データが圧縮されている場合、圧縮されたデータを伸張する。そして、プロセッサ210は、画像データの解像度変換処理と、解像度が変換された画像データの色変換処理と、色変換済の画像データを用いるハーフトーン処理と、を実行することによって、印刷データを生成する。解像度変換処理は、画像データの解像度を印刷用の予め決められた印刷解像度に変換する処理である。入力解像度が印刷解像度と同じである場合、解像度変換処理は、省略される。色変換処理は、各画素の色値を、変換前の入力色空間(例えば、RGB色空間)の色値から、印刷用の色空間である印刷色空間の色値に変換する処理である。印刷色空間は、プリンタ部400によって使用される色材に対応する色成分で表される色空間である(本実施例では、CMYK色空間)。ハーフトーン処理は、例えば、誤差拡散法や、ディザマトリクスを用いる方法など、種々の方法の処理であってよい。プロセッサ210は、ハーフトーン処理の結果を表すデータを用いて、印刷データを生成する。印刷データのデータ形式は、プリンタ部400によって解釈可能なデータ形式である。プロセッサ210は、印刷データを、プリンタ部400に供給する。プリンタ部400は、印刷データに従って、画像を印刷する。 The print execution process for causing the printer unit 400 to print an image using image data may be various processes. For example, if the image data included in the print command is compressed, processor 210 decompresses the compressed data. Then, the processor 210 generates print data by executing resolution conversion processing of the image data, color conversion processing of the resolution-converted image data, and halftone processing using the color-converted image data. do. Resolution conversion processing is processing for converting the resolution of image data into a predetermined print resolution for printing. If the input resolution is the same as the print resolution, the resolution conversion process is omitted. The color conversion process is a process of converting the color value of each pixel from the color value of the input color space (for example, RGB color space) before conversion to the color value of the print color space, which is the color space for printing. The print color space is a color space represented by color components corresponding to the colorants used by the printer unit 400 (the CMYK color space in this embodiment). Halftone processing may be processing of various methods such as, for example, an error diffusion method and a method using a dither matrix. Processor 210 uses the data representing the results of the halftone process to generate print data. The data format of the print data is a data format that can be interpreted by the printer unit 400 . Processor 210 supplies print data to printer section 400 . Printer unit 400 prints an image according to the print data.

A-3.コマンド生成処理:
図4は、コマンド生成処理の例を示すフローチャートである。S210では、プロセッサ110は、コマンドの種類を選択する。図5は、コマンドの種類を選択する処理の例を示すフローチャートである。本実施例では、印刷コマンドは、PWGラスタ形式の画像データ含むコマンドと、他の形式の画像データを含むコマンドと、から選択される。以下、他の形式の画像データを含むコマンドを、第1種印刷コマンドと呼び、PWGラスタ形式の画像データ含むコマンドを、第2種印刷コマンドと呼ぶ。第1種印刷コマンドに含まれる画像データを、第1種画像データと呼ぶ。第2種印刷コマンドに含まれる画像データを、第2種画像データとも呼ぶ。
A-3. Command generation process:
FIG. 4 is a flowchart illustrating an example of command generation processing. At S210, processor 110 selects a command type. FIG. 5 is a flow chart showing an example of processing for selecting a command type. In this embodiment, the print command is selected from commands containing image data in PWG raster format and commands containing image data in other formats. Hereinafter, a command including image data in another format will be referred to as a first type print command, and a command including image data in the PWG raster format will be referred to as a second type print command. Image data included in the first type print command is called first type image data. The image data included in the second type print command is also called second type image data.

S310では、プロセッサ110は、対象印刷装置が第2種印刷コマンド(すなわち、PWGラスタ)に対応しているか否かを判断する。対象印刷装置が第2種印刷コマンドに対応していない場合(S310:No)、プロセッサ110は、S370で第1種印刷コマンドを選択し、図5の処理を終了する。 At S310, processor 110 determines whether the target printing device supports type 2 print commands (ie, PWG raster). If the target printing device does not support the second type print command (S310: No), the processor 110 selects the first type print command in S370, and ends the processing of FIG.

対象印刷装置が第2種印刷コマンドに対応している場合(S310:Yes)、S320で、プロセッサ110は、対象印刷装置との通信のインタフェースがUSBであるか否かを判断する。インタフェースがUSBとは異なる場合(S320:No)、プロセッサ110は、S370で第1種印刷コマンドを選択し、図5の処理を終了する。 If the target printing device supports the second type print command (S310: Yes), in S320 the processor 110 determines whether the interface for communication with the target printing device is USB. If the interface is different from USB (S320: No), the processor 110 selects the first type print command in S370, and ends the processing of FIG.

インタフェースがUSBである場合(S320:Yes)、S330で、プロセッサ110は、対象データ形式がビットマップ形式であるか否かを判断する。対象データ形式がビットマップ形式とは異なる場合(S330:No)、プロセッサ110は、S360で第2種印刷コマンドを選択し、図5の処理を終了する。 If the interface is USB (S320: Yes), in S330 processor 110 determines whether the target data format is a bitmap format. If the target data format is different from the bitmap format (S330: No), processor 110 selects the second type print command in S360, and ends the processing of FIG.

対象データ形式がビットマップ形式である場合(S330:Yes)、S340で、プロセッサ110は、対象画像のサイズが第1基準サイズより小さいか否かを判断する。ここで、画像のサイズとしては、解像度(すなわち、ピクセル数)と相関を有する値が用いられる。本実施例では、画像のサイズとして、横方向の画素数と縦方向の画素数とが、用いられる。第1基準サイズは、第1横基準画素数と、第1縦基準画素数と、によって表される。そして、アスペクト比(横方向の画素数に対する縦方向の画素数の比率)に拘わらずに画像のサイズを比較する方法として、解像度の比較に相当する以下の方法が採用される。「対象画像の横方向の画素数が、第1横基準画素数より小さい」という横小条件と「対象画像の縦方向の画素数が、第1縦基準画素数より小さい」という縦小条件との両方が満たされる場合、対象画像のサイズは第1基準サイズより小さい。横小条件と縦小条件との少なくとも一方が満たされない場合、対象画像のサイズは第1基準サイズ以上である。また、横小条件と縦小条件との両方が満たされず、かつ、対象画像の横方向の画素数と縦方向の画素数との少なくとも一方が、第1基準サイズの対応する方向の画素数と同じである場合、対象画像のサイズは、第1基準サイズと同じである。 If the target data format is a bitmap format (S330: Yes), in S340 processor 110 determines whether the size of the target image is smaller than the first reference size. Here, as the image size, a value that is correlated with the resolution (that is, the number of pixels) is used. In this embodiment, the number of pixels in the horizontal direction and the number of pixels in the vertical direction are used as the image size. The first reference size is represented by the first horizontal reference pixel number and the first vertical reference pixel number. As a method for comparing image sizes regardless of the aspect ratio (the ratio of the number of pixels in the vertical direction to the number of pixels in the horizontal direction), the following method corresponding to the comparison of resolutions is adopted. A horizontal minor condition that "the number of pixels in the horizontal direction of the target image is smaller than the first horizontal reference pixel number" and a vertical minor condition that "the number of pixels in the vertical direction of the target image is smaller than the first vertical reference pixel number". is satisfied, the size of the target image is smaller than the first reference size. If at least one of the small horizontal condition and the small vertical condition is not satisfied, the size of the target image is equal to or larger than the first standard size. Moreover, both the horizontal small condition and the vertical small condition are not satisfied, and at least one of the number of pixels in the horizontal direction and the number of pixels in the vertical direction of the target image is less than the number of pixels in the corresponding direction of the first reference size. If so, the size of the target image is the same as the first reference size.

第1基準サイズは、入力解像度に対応するサイズである入力サイズ以下のサイズである。入力サイズは、用紙サイズに予め対応付けられた形状である参照形状(例えば、用紙サイズの用紙上の印刷可能な領域の形状)の画像の解像度が入力解像度と同じである場合のその画像のサイズである。本実施例では、用紙の形状は矩形であり、参照形状は矩形であり、対象画像の形状は矩形であることとしている。ここで、入力解像度は、例えば、600dpiであってよい。また、本実施例では、第1基準サイズは、入力サイズと同じであることとする。すなわち、第1基準サイズに対応する解像度は、入力解像度と同じである。 The first reference size is a size equal to or smaller than the input size, which is the size corresponding to the input resolution. The input size is the size of the reference shape (e.g., the shape of the printable area on a sheet of paper of the size of the paper), which is a shape pre-associated with the paper size, if the resolution of the image is the same as the input resolution. is. In this embodiment, the paper has a rectangular shape, the reference shape has a rectangular shape, and the target image has a rectangular shape. Here, the input resolution may be 600 dpi, for example. Also, in this embodiment, the first reference size is assumed to be the same as the input size. That is, the resolution corresponding to the first reference size is the same as the input resolution.

本実施例では、画像のサイズの大小関係と、解像度の大小関係とは、以下のように関連付けられている。ここで、対象画像の解像度として、用紙サイズの用紙上に最大のサイズで印刷する場合の解像度を採用する。対象画像の解像度が第1基準サイズに対応する解像度よりも高い場合、対象画像のサイズは第1基準サイズよりも大きいと判断される。対象画像の解像度が第1基準サイズに対応する解像度と同じである場合、対象画像のサイズは第1基準サイズと同じと判断される。対象画像の解像度が第1基準サイズに対応する解像度よりも低い場合、対象画像のサイズは第1基準サイズよりも小さいと判断される。後述する他の画像サイズの比較も、同様に行われる。 In the present embodiment, the size relationship of image size and the size relationship of resolution are associated as follows. Here, as the resolution of the target image, the resolution in the case of printing in the maximum size on the paper of the paper size is adopted. If the resolution of the target image is higher than the resolution corresponding to the first reference size, it is determined that the size of the target image is greater than the first reference size. If the resolution of the target image is the same as the resolution corresponding to the first reference size, the size of the target image is determined to be the same as the first reference size. If the resolution of the target image is lower than the resolution corresponding to the first reference size, the size of the target image is determined to be smaller than the first reference size. Other image size comparisons, which will be described later, are performed in a similar manner.

対象画像のサイズが第1基準サイズ以上である場合(S340:No)、プロセッサ110は、S370で第1種印刷コマンドを選択し、図5の処理を終了する。 If the size of the target image is equal to or larger than the first standard size (S340: No), processor 110 selects the first type print command in S370, and ends the processing of FIG.

対象画像のサイズが第1基準サイズより小さい場合(S340:Yes)、S350で、プロセッサ110は、パラメータCpが、閾値Cth以下であるか否かを判断する。パラメータCpは、対象画像データであるビットマップデータの画素を、横方向と縦方向とに辿る場合に、色値が変化する回数である。本実施例では、パラメータCpは、複数の画素行のそれぞれにおける色値が変化する回数と、複数の画素列のそれぞれにおける色値が変化する回数と、の合計値である。同じ色値の複数の画素が連続する場合、パラメータCpは小さくなる。対象画像が複雑なオブジェクトを表す場合に、パラメータCpは大きくなる。このようにパラメータCpは、画像の複雑さを示す指標値である。パラメータCpが小さい場合、ランレングス圧縮による圧縮の効率は、良好である。 If the size of the target image is smaller than the first reference size (S340: Yes), in S350 the processor 110 determines whether the parameter Cp is equal to or less than the threshold Cth. The parameter Cp is the number of times the color value changes when tracing the pixels of the bitmap data, which is the target image data, in the horizontal direction and the vertical direction. In this embodiment, the parameter Cp is the sum of the number of times the color value changes in each of the plurality of pixel rows and the number of times the color value changes in each of the plurality of pixel columns. If multiple pixels with the same color value are consecutive, the parameter Cp becomes smaller. The parameter Cp is large when the target image represents a complex object. Thus, the parameter Cp is an index value indicating the complexity of the image. When the parameter Cp is small, the efficiency of compression by run-length compression is good.

プロセッサ110は、対象画像データを解析することによって、パラメータCpを算出する。そして、パラメータCpが閾値Cthを超える場合(S350:No)、プロセッサ110は、S370で第1種印刷コマンドを選択し、図5の処理を終了する。パラメータCpが閾値Cth以下である場合(S350:Yes)、プロセッサ110は、S360で第2種印刷コマンドを選択し、図5の処理を終了する。 The processor 110 calculates the parameter Cp by analyzing the target image data. Then, if the parameter Cp exceeds the threshold Cth (S350: No), the processor 110 selects the first type print command in S370, and ends the processing of FIG. If the parameter Cp is equal to or less than the threshold Cth (S350: Yes), the processor 110 selects the second type print command in S360, and ends the processing of FIG.

以上により、図5の処理、すなわち、図4のS210が終了する。以下、図5の処理で選択された種類の印刷コマンドを、対象印刷コマンドと呼ぶ。 With the above, the process of FIG. 5, that is, S210 of FIG. 4 ends. The type of print command selected in the process of FIG. 5 is hereinafter referred to as a target print command.

図4のS220では、プロセッサ110は、S210で選択した印刷コマンドの種類を特定する。コマンドの種類が第1種印刷コマンドである場合、プロセッサ110は、S230で、第1種印刷コマンドの生成処理を実行し、図4の処理を終了する。コマンドの種類が第2種印刷コマンドである場合、プロセッサ110は、S240で、第2種印刷コマンドの生成処理を実行し、図4の処理を終了する。 At S220 of FIG. 4, the processor 110 identifies the type of print command selected at S210. If the command type is the first type print command, the processor 110 executes a first type print command generation process in S230, and ends the process of FIG. If the command type is the second type print command, the processor 110 executes a second type print command generation process in S240, and ends the process of FIG.

図6は、第1種印刷コマンドの生成処理(図4:S230)の例を示すフローチャートである。S410では、プロセッサ110は、対象画像データを参照して、対象画像データのデータ形式を特定する。特定されたデータ形式がビットマップである場合、S440で、プロセッサ110は、対象画像のサイズを、入力解像度に対応する入力サイズに変更するサイズ変更処理を実行する。このような処理は、解像度変換処理とも呼ばれる。対象画像の解像度は、入力解像度に変換される。本実施例では、サイズ変更処理では、対象画像のアスペクト比は、維持される。また、入力解像度の対象画像の全体が、用紙サイズに対応付けられた上述の参照形状内に収まるように、サイズ変更処理が行われる。すなわち、サイズ変更処理の後では、対象画像の横方向の画素数と縦方向の画素数との少なくとも一方は、入力サイズの対応する方向の画素数と同じである。そして、対象画像の横方向の画素数と縦方向の画素数とは、いずれも、入力サイズの対応する方向の画素数以下である。なお、S440では、色値は、補間される(画像補間とも呼ぶ)。すなわち、サイズ変更後の対象画素の色値は、サイズ変更前の複数の画素のうち対象画素に近い複数の画素のそれぞれの色値を用いて、算出される(例えば、バイリニア法やバイキュービック法)。また、本実施例では、プロセッサ110は、サイズが変更された画像データを用いて、JPEG形式の画像データを生成する。そして、プロセッサ110は、S490へ移行する。 FIG. 6 is a flow chart showing an example of the first type print command generation processing (FIG. 4: S230). In S410, the processor 110 refers to the target image data and identifies the data format of the target image data. If the specified data format is bitmap, at S440 processor 110 performs a resizing process to resize the target image to the input size corresponding to the input resolution. Such processing is also called resolution conversion processing. The resolution of the target image is converted to the input resolution. In this embodiment, the resizing process maintains the aspect ratio of the target image. Further, size change processing is performed so that the entire target image of the input resolution fits within the above-described reference shape associated with the paper size. That is, after the resizing process, at least one of the number of pixels in the horizontal direction and the number of pixels in the vertical direction of the target image is the same as the number of pixels in the corresponding direction of the input size. Both the number of pixels in the horizontal direction and the number of pixels in the vertical direction of the target image are equal to or less than the number of pixels in the direction corresponding to the input size. Note that at S440, the color values are interpolated (also called image interpolation). That is, the color value of the target pixel after resizing is calculated using the respective color values of a plurality of pixels close to the target pixel among the plurality of pixels before resizing (for example, a bilinear method or a bicubic method). ). Also, in this embodiment, processor 110 generates JPEG format image data using the resized image data. The processor 110 then proceeds to S490.

S410で特定されたデータ形式がオフィス形式である場合、S450で、プロセッサ110は、対象画像データを、ビットマップデータに変換する。本実施例では、プロセッサ110は、JPEG形式のデータを生成する。なお、S450では、アンチエイリアス処理が行われる。ただし、アンチエイリアス処理は省略されてもよい。また、データ形式の変換は、対象画像データのデータ形式に対応するアプリケーションプログラム(図示せず)を利用して、行われてもよい。 If the data format specified at S410 is the office format, at S450 processor 110 converts the target image data into bitmap data. In this example, processor 110 generates data in JPEG format. It should be noted that anti-aliasing is performed in S450. However, anti-aliasing may be omitted. Also, the data format conversion may be performed using an application program (not shown) corresponding to the data format of the target image data.

S460では、プロセッサ110は、S450で生成されたビットマップデータの画像のサイズが入力サイズと異なる場合に、ビットマップデータの画像のサイズを入力サイズに変更するサイズ変更処理を実行する。S460のサイズ変更処理は、S440のサイズ変更処理と同様に行われる。例えば、色値は、補間される。そして、プロセッサ110は、S490へ移行する。ビットマップデータの画像のサイズが入力サイズと同じである場合、サイズ変更処理は省略される。 At S460, if the size of the bitmap data image generated at S450 is different from the input size, the processor 110 performs resizing processing to change the size of the bitmap data image to the input size. The size change processing of S460 is performed in the same manner as the size change processing of S440. For example, color values are interpolated. The processor 110 then proceeds to S490. If the size of the bitmap data image is the same as the input size, the resizing process is omitted.

S410で特定されたデータ形式がPDF形式である場合、S470で、プロセッサ110は、対象画像データを、ビットマップデータに変換する。S470は、S450と同様に、行われる。本実施例では、JPEG形式のデータが、生成される。データ形式の変換は、PDF形式に対応するアプリケーションプログラム(図示せず)を利用して、行われてもよい。 If the data format identified at S410 is the PDF format, at S470 processor 110 converts the target image data into bitmap data. S470 is performed in the same manner as S450. In this embodiment, JPEG format data is generated. Data format conversion may be performed using an application program (not shown) compatible with the PDF format.

S480では、プロセッサ110は、S470で生成されたビットマップデータの画像のサイズが入力サイズと異なる場合に、ビットマップデータの画像のサイズを入力サイズに変更するサイズ変更処理を実行する。S480の処理は、S460の処理と同じである。S480の後、プロセッサ110は、S490へ移行する。 At S480, if the size of the bitmap data image generated at S470 is different from the input size, the processor 110 performs resizing processing to change the size of the bitmap data image to the input size. The processing of S480 is the same as the processing of S460. After S480, the processor 110 moves to S490.

S490では、プロセッサ110は、S440、S450-S460、S470-S480のいずれかによって生成されたビットマップデータ(ここでは、JPEGデータ)である第1種画像データを用いて、第1種印刷コマンドを生成する。第1種印刷コマンドは、対象印刷装置によって解釈可能な形式のデータである。本実施例では、第1種印刷コマンドは、ヘッダデータとボディデータとを含んでいる。ヘッダデータは、このコマンドが第1種印刷コマンドであることを示す情報と、印刷設定を示す情報と、を含んでいる。ボディデータは、第1種画像データを含んでいる。プロセッサ110は、生成した第1種印刷コマンドのデータを、記憶装置115(例えば、揮発性記憶装置120と不揮発性記憶装置130のいずれか一方)に、一時的に格納する。第1種印刷コマンドの生成の完了に応じて、プロセッサ110は、図6の処理を終了する。 In S490, processor 110 issues a first-class print command using first-class image data, which is bitmap data (here, JPEG data) generated in any of S440, S450-S460, and S470-S480. Generate. The first type print command is data in a format that can be interpreted by the target printing device. In this embodiment, the first type print command includes header data and body data. The header data includes information indicating that this command is a first type print command and information indicating print settings. The body data includes first type image data. The processor 110 temporarily stores the data of the generated type 1 print command in the storage device 115 (for example, either one of the volatile storage device 120 and the nonvolatile storage device 130). Upon completion of the generation of the first type print command, the processor 110 terminates the processing of FIG.

図7は、第2種印刷コマンドの生成処理(図4:S240)の例を示すフローチャートである。S510では、プロセッサ110は、対象画像データを参照して、対象画像データのデータ形式を特定する。データ形式がビットマップである場合、S520で、プロセッサ110は、対象画像のサイズが第2基準サイズよりも大きいか否かを判断する。この判断は、図5のS340の判断と同様に行われる(第1基準サイズの代わりに第2基準サイズが用いられる)。第2基準サイズは、入力サイズよりも小さいサイズである。また、本実施例では、第2基準サイズは、第1基準サイズ(図5:S340)よりも小さいサイズである。第2基準サイズは、例えば、用紙サイズに対応する参照形状の画像の解像度が300dpiである場合のその画像のサイズであってよい。 FIG. 7 is a flow chart showing an example of the second type print command generation process (FIG. 4: S240). In S510, the processor 110 refers to the target image data and identifies the data format of the target image data. If the data format is bitmap, at S520 processor 110 determines whether the size of the target image is larger than the second reference size. This determination is made in the same manner as the determination in S340 of FIG. 5 (the second standard size is used instead of the first standard size). The second reference size is a size smaller than the input size. Also, in this embodiment, the second standard size is smaller than the first standard size (FIG. 5: S340). The second standard size may be, for example, the size of the image of the reference shape corresponding to the paper size when the resolution of the image is 300 dpi.

対象画像のサイズが第2基準サイズよりも大きい場合(S520:Yes)、S530で、プロセッサ110は、対象画像のサイズを第2基準サイズに変更するサイズ変更処理を実行する。サイズ変更処理は、図6のS440と同様に、行われる。ただし、入力サイズの代わりに第2基準サイズが用いられる。また、色値の補間を行わずに、サイズが変更される。すなわち、サイズ変更後の対象画素の色値は、サイズ変更前の複数の画素のうち対象画素に最も近い画素の色値と同じ色値に設定される。このサイズ変更によって、対象画像の解像度は、第2基準サイズに対応する解像度と同じになる。S530では、対象画像のサイズが小さくなる。そして、プロセッサ110は、S540へ移行する。対象画像のサイズが第2基準サイズ以下である場合(S520:No)、プロセッサ110は、S530をスキップして、S540へ移行する。 If the size of the target image is larger than the second reference size (S520: Yes), at S530 processor 110 performs resizing processing to change the size of the target image to the second reference size. The size change process is performed in the same manner as S440 in FIG. However, a second reference size is used instead of the input size. Also, the size is changed without interpolating the color values. That is, the color value of the target pixel after resizing is set to the same color value as the color value of the pixel closest to the target pixel among the plurality of pixels before resizing. This resizing makes the resolution of the target image the same as the resolution corresponding to the second reference size. At S530, the size of the target image is reduced. The processor 110 then proceeds to S540. If the size of the target image is equal to or less than the second reference size (S520: No), processor 110 skips S530 and proceeds to S540.

S540では、プロセッサ110は、対象画像のサイズを、入力解像度に対応する入力サイズに変更するサイズ変更処理を実行する。サイズ変更処理は、図6のS440と同様に、行われる。ただし、色値の補間は行われない。また、対象画像の解像度は、入力解像度に変換される。なお、本実施例では、対象画像のサイズが入力サイズよりも大きい場合には、S530で、対象画像のサイズが小さくなるので、S540において、対象画像のサイズは、入力サイズよりも小さい。従って、S540では、対象画像のサイズが大きくなる。 At S540, the processor 110 performs resize processing to resize the target image to the input size corresponding to the input resolution. The size change process is performed in the same manner as S440 in FIG. However, no interpolation of color values is performed. Also, the resolution of the target image is converted to the input resolution. Note that in this embodiment, if the size of the target image is larger than the input size, the size of the target image is reduced in S530, so the size of the target image is smaller than the input size in S540. Therefore, in S540, the size of the target image is increased.

図8は、S540におけるサイズ変更処理の概略図である。左側の第1部分画像PI1は、サイズ変更処理の前の部分画像を示し、右側の第2部分画像PI2は、サイズ変更処理の後の同じ部分画像を示している。各部分画像PI1、PI2の実線の矩形PX1、PX2は、1個の画素を示している。各部分画像PI1、PI2の番号Rnは、行番号を示し、番号Cnは、列番号を示している。第1部分画像PI1は、2行3列の6個の画素PX1で構成され、第2部分画像PI2は、4行6列の24個の画素PX2で構成されている。このように、図8の例では、サイズ変更処理によって、横方向Dxの画素数と縦方向Dyの画素数とが、それぞれ、2倍に増えている。 FIG. 8 is a schematic diagram of the resizing process in S540. The first partial image PI1 on the left shows the partial image before resizing, and the second partial image PI2 on the right shows the same partial image after resizing. Solid-line rectangles PX1 and PX2 of the partial images PI1 and PI2 indicate one pixel. The number Rn of each partial image PI1, PI2 indicates the row number, and the number Cn indicates the column number. The first partial image PI1 is composed of 6 pixels PX1 of 2 rows and 3 columns, and the second partial image PI2 is composed of 24 pixels PX2 of 4 rows and 6 columns. Thus, in the example of FIG. 8, the number of pixels in the horizontal direction Dx and the number of pixels in the vertical direction Dy are doubled by the resizing process.

第1部分画像PI1に示された色値V1~V6は、6個の画素PX1のそれぞれの色値である。第2部分画像PI2に示された色値V1~V6は、24個の画素PX1のそれぞれの色値である。上述したように、S540のサイズ変更処理では、色値の補間は行われない。従って、サイズ変更後の対象画素の色値は、サイズ変更前の複数の画素のうち対象画素に最も近い画素の色値と同じ色値に設定される。例えば、第2部分画像PI2の画素PX21の色値は、第1部分画像PI1の画素PX11の色値と同じ色値に設定される。この結果、第2部分画像PI2に示されるように、サイズ変更後の画像では、同じ色値の複数の画素が、横方向Dxと縦方向Dyとに沿って連続して配置される。 The color values V1 to V6 shown in the first partial image PI1 are the color values of each of the six pixels PX1. The color values V1 to V6 shown in the second partial image PI2 are the color values of each of the 24 pixels PX1. As described above, the resizing process of S540 does not interpolate color values. Therefore, the color value of the target pixel after resizing is set to the same color value as the color value of the pixel closest to the target pixel among the plurality of pixels before resizing. For example, the color value of the pixel PX21 of the second partial image PI2 is set to the same color value as the color value of the pixel PX11 of the first partial image PI1. As a result, as shown in the second partial image PI2, in the resized image, a plurality of pixels with the same color value are arranged continuously along the horizontal direction Dx and the vertical direction Dy.

また、本実施例では、プロセッサ110は、S540で、サイズが変更された画像データを用いて、可逆圧縮されたビットマップデータであるPNG形式の画像データを生成する。そして、プロセッサ110は、S590へ移行する。 In this embodiment, the processor 110 also uses the resized image data to generate PNG format image data, which is losslessly compressed bitmap data, at S540. The processor 110 then proceeds to S590.

S510で特定されたデータ形式がオフィス形式である場合、S550で、プロセッサ110は、対象画像データを、ビットマップデータに変換する。本実施例では、プロセッサ110は、可逆圧縮されたPNG形式のデータを生成する。なお、S550では、アンチエイリアス処理は、行われない。また、データ形式の変換は、対象画像データのデータ形式に対応するアプリケーションプログラム(図示せず)を利用して、行われてもよい。 If the data format specified at S510 is the office format, at S550 processor 110 converts the target image data into bitmap data. In this embodiment, processor 110 generates losslessly compressed PNG format data. Note that anti-aliasing is not performed in S550. Also, the data format conversion may be performed using an application program (not shown) corresponding to the data format of the target image data.

S560では、プロセッサ110は、S550で生成されたビットマップデータの画像のサイズが入力サイズと異なる場合に、ビットマップデータの画像のサイズを入力サイズに変更するサイズ変更処理を実行する。S560のサイズ変更処理は、S540のサイズ変更処理と同様に行われる。色値は、補間されない。対象画像の解像度は、入力解像度に変換される。そして、プロセッサ110は、S590へ移行する。ビットマップデータの画像のサイズが入力サイズと同じである場合、サイズ変更処理は省略される。 At S560, if the size of the bitmap data image generated at S550 is different from the input size, the processor 110 performs resizing processing to change the size of the bitmap data image to the input size. The size change processing of S560 is performed in the same manner as the size change processing of S540. Color values are not interpolated. The resolution of the target image is converted to the input resolution. The processor 110 then proceeds to S590. If the size of the bitmap data image is the same as the input size, the resizing process is omitted.

S510で特定されたデータ形式がPDF形式である場合、S570で、プロセッサ110は、対象画像データを、ビットマップデータに変換する。S570は、S550と同様に、行われる。本実施例では、可逆圧縮されたPNG形式のデータが、生成される。アンチエイリアス処理は、行われない。データ形式の変換は、PDF形式に対応するアプリケーションプログラム(図示せず)を利用して、行われてもよい。 If the data format identified at S510 is the PDF format, at S570 processor 110 converts the target image data into bitmap data. S570 is performed in the same manner as S550. In this embodiment, lossless compressed PNG format data is generated. No anti-aliasing is done. Data format conversion may be performed using an application program (not shown) compatible with the PDF format.

S580では、プロセッサ110は、S570で生成されたビットマップデータの画像のサイズが入力サイズと異なる場合に、ビットマップデータの画像のサイズを入力サイズに変更するサイズ変更処理を実行する。S580の処理は、S560の処理と同じである。S580の後、プロセッサ110は、S590へ移行する。 At S580, if the size of the bitmap data image generated at S570 is different from the input size, the processor 110 performs resizing processing to change the size of the bitmap data image to the input size. The processing of S580 is the same as the processing of S560. After S580, the processor 110 moves to S590.

S590では、プロセッサ110は、第2種印刷コマンドのエンコーディング処理を実行する。図9は、第2種印刷コマンドのエンコーディング処理の例を示すフローチャートである。S610では、プロセッサ110は、プロセッサ110の論理プロセッサ(論理コアとも呼ばれる)の数を用いて、並列処理(スレッドとも呼ばれる)の数を決定する。本実施例では、プロセッサ110は、複数個の論理プロセッサを備え、2個以上のスレッドのそれぞれに論理プロセッサを割り当てて同時に処理することで全体の処理速度を向上する機能(マルチスレッド処理機能とも呼ぶ)を有する。複数個の論理プロセッサは、互いに異なる処理を並列して実行可能な演算部の例である。複数個の論理プロセッサは、複数個の物理コアによって実現されても良く、1個の物理コアが複数個の論理コアを提供することで実現されても良く、これらの組み合わせによって実現されても良い。1個の物理コアが複数個の論理コアを提供する技術としては、例えば、インテル(登録商標)のハイパースレッディングテクノロジが知られている。 In S590, the processor 110 executes encoding processing for the second type print command. FIG. 9 is a flowchart showing an example of encoding processing for the second type print command. At S610, the processor 110 uses the number of logical processors (also called logical cores) of the processor 110 to determine the number of parallel processes (also called threads). In this embodiment, the processor 110 has a plurality of logical processors, and has a function of improving the overall processing speed by assigning a logical processor to each of two or more threads and simultaneously processing them (also called a multithread processing function). ). A plurality of logical processors is an example of a computing unit capable of executing different processes in parallel. A plurality of logical processors may be realized by a plurality of physical cores, may be realized by one physical core providing a plurality of logical cores, or may be realized by a combination of these. . For example, Intel (registered trademark) hyper-threading technology is known as a technology in which one physical core provides a plurality of logical cores.

論理プロセッサ数がL個(Lは1以上の整数)である場合、並列処理の数Mは、1以上、L以下の任意の数であってよい。数Mが多いほど、エンコーディング処理を高速化できる。例えば、並列処理の数Mは、Lと同じ、または、Lよりも小さい値(例えば、L-1)に決定されてよい。 When the number of logical processors is L (L is an integer equal to or greater than 1), the number M of parallel processes may be any number equal to or greater than 1 and equal to or less than L. The higher the number M, the faster the encoding process. For example, the number of parallel processes M may be determined to be equal to L or smaller than L (eg, L−1).

S620では、プロセッサ110は、複数の並列処理のための複数のデータを準備する。本実施例では、第2種印刷コマンドは、ヘッダデータとボディデータとを含んでいる。ヘッダデータの生成と、ボディデータの生成とは、並列に行われる。ヘッダデータは、このコマンドが第2種印刷コマンドであることを示す情報と、印刷設定を示す情報と、を含んでいる。ボディデータは、印刷対象の画像を表す第2種画像データを含んでいる。第2種画像データのデータ形式は、いわゆるPWGラスタ形式である。PWGラスタ形式の画像データは、パックビッツ圧縮と呼ばれる圧縮方法で、圧縮されている。本実施例では、対象画像に含まれる複数のバンド画像のそれぞれパックビッツ圧縮が、複数の並列処理によって行われる。 At S620, the processor 110 prepares multiple data for multiple parallel processing. In this embodiment, the second type print command includes header data and body data. Generation of header data and generation of body data are performed in parallel. The header data includes information indicating that this command is a second type print command and information indicating print settings. The body data includes second type image data representing an image to be printed. The data format of the second type image data is the so-called PWG raster format. Image data in the PWG raster format is compressed by a compression method called PackBits compression. In this embodiment, PackBits compression of each of a plurality of band images included in a target image is performed by a plurality of parallel processes.

図10は、バンド画像の概略図である。図中には、対象画像OIが示されている。先端e1は、対象画像OIの最先に印刷されるべき端である。後端e2は、先端e1とは反対側の端である。縦方向Dyは、先端e1から後端e2へ向かう方向である。対象画像OIは、複数のバンド画像BI1~BI5を含んでいる。これらのバンド画像BI1~BI5は、それぞれ、横方向Dxに向かって延びる矩形状の部分画像である。複数のバンド画像BI1~BI5は、縦方向Dyに向かって並んでいる。 FIG. 10 is a schematic diagram of a band image. A target image OI is shown in the figure. The leading edge e1 is the edge to be printed first of the target image OI. The rear end e2 is the end opposite to the front end e1. A longitudinal direction Dy is a direction from the leading end e1 to the trailing end e2. The target image OI includes a plurality of band images BI1-BI5. Each of these band images BI1 to BI5 is a rectangular partial image extending in the horizontal direction Dx. A plurality of band images BI1 to BI5 are arranged in the vertical direction Dy.

図中の幅W1、W2は、バンド画像BI1~BI5のそれぞれの縦方向Dyの幅である。図示するように、先端e1を含む先端バンド画像BI1の幅W1は、他のバンド画像BI2~BI5の幅W2よりも、小さい。また、バンド画像BI1~BI5の間で、横方向Dxの長さは、同じである。従って、先端バンド画像BI1は、他のバンド画像BI2~BI5よりも、小さい。なお、本実施例では、先端バンド画像BI1の幅W1と、他のバンド画像の幅W2とは、予め決められている。 Widths W1 and W2 in the figure are widths in the vertical direction Dy of each of the band images BI1 to BI5. As shown, the width W1 of the leading edge band image BI1 including the leading edge e1 is smaller than the width W2 of the other band images BI2 to BI5. Moreover, the length of the horizontal direction Dx is the same among the band images BI1 to BI5. Therefore, the leading edge band image BI1 is smaller than the other band images BI2 to BI5. In this embodiment, the width W1 of the leading edge band image BI1 and the width W2 of the other band images are determined in advance.

図9のS620では、プロセッサ110は、図7のS520-S540、S550-S560、S570-S580のいずれかによって生成されたビットマップデータ(ここでは、PNGデータ)を用いて、複数のバンド画像BI1~BI5のそれぞれの非圧縮のビットマップデータである複数のバンドデータを生成する。また、プロセッサ110は、ヘッダデータの生成に要するデータ(例えば、印刷設定を示すデータ)を、生成する。 In S620 of FIG. 9, processor 110 uses the bitmap data (here, PNG data) generated by any of S520-S540, S550-S560, and S570-S580 of FIG. A plurality of band data, which are uncompressed bitmap data of BI5 to BI5, are generated. Processor 110 also generates data required for generating header data (for example, data indicating print settings).

S630では、プロセッサ110は、S620で準備した複数のデータを用いて、第2種印刷コマンドのエンコーディングのための複数の処理を、並行して実行する。本実施例では、プロセッサ110は、ヘッダデータを生成する処理を、最優先で実行する。また、プロセッサ110は、複数のバンド画像BI1~BI5(図10)のそれぞれのバンドデータのパックビッツ圧縮を、先端e1に近いほど高い優先順(すなわち、印刷すべき順)で、実行する。プロセッサ110は、生成したデータを、記憶装置115(例えば、揮発性記憶装置120と不揮発性記憶装置130のいずれか一方)に、一時的に格納する。 In S630, the processor 110 uses the multiple data prepared in S620 to concurrently execute multiple processes for encoding the second type print command. In this embodiment, the processor 110 gives top priority to the process of generating header data. Also, the processor 110 performs PackBits compression of each band data of the plurality of band images BI1 to BI5 (FIG. 10) in a higher priority order (that is, the order to be printed) closer to the leading edge e1. Processor 110 temporarily stores the generated data in storage device 115 (eg, either one of volatile storage device 120 and nonvolatile storage device 130).

なお、図9の処理(すなわち、図7の処理)、ひいては、図4のコマンド生成処理は、図2のS140で開始される。そして、コマンド生成処理は、図2の処理とは並行して進行する。従って、対象画像の選択(図2:S130)の後、印刷ボタンB45(図3(E))が操作されるまでの時間内に、ヘッダデータの生成が完了し得、また、1以上のバンドデータの生成が完了し得る。 9 (that is, the process of FIG. 7) and the command generation process of FIG. 4 are started at S140 of FIG. Then, the command generation process proceeds in parallel with the process of FIG. Therefore, the generation of the header data can be completed within the time from the selection of the target image (FIG. 2: S130) to the operation of the print button B45 (FIG. 3(E)). Data generation can be completed.

A-4.出力処理:
図2のS190で実行される出力処理の詳細について説明する。図11は、出力処理の例を示すフローチャートである。図11の出力処理は、対象印刷コマンドが第2種印刷コマンドである場合の処理を示している。S710では、プロセッサ110は、ヘッダデータを対象印刷装置に出力する。ヘッダデータの生成が未完了である場合、プロセッサ110は、ヘッダデータの生成の完了を待つ。
A-4. Output processing:
Details of the output processing executed in S190 of FIG. 2 will be described. FIG. 11 is a flowchart illustrating an example of output processing. The output process of FIG. 11 shows the process when the target print command is the second type print command. At S710, processor 110 outputs the header data to the target printing device. If generation of header data is incomplete, processor 110 waits for completion of generation of header data.

S720では、プロセッサ110は、圧縮済バンドデータが生成済であるか否かを判断する。記憶装置115に圧縮済バンドデータが格納されている場合(S720:Yes)、S730で、プロセッサ110は、圧縮済バンドデータを対象印刷装置へ出力する。 At S720, processor 110 determines whether compressed band data has been generated. If the compressed band data is stored in the storage device 115 (S720: Yes), the processor 110 outputs the compressed band data to the target printing device in S730.

プロセッサ110は、圧縮済バンドデータの出力を、印刷すべき順に、行う。図9のS630で説明したように、バンドデータの圧縮の優先順は、印刷すべき順である。さらに、最先に印刷されるべき先端e1(図10)を含む先端バンド画像BI1は、他のバンド画像BI2~BI5よりも、小さい。従って、先端バンド画像BI1の圧縮済バンドデータは、他のバンド画像BI2~BI5の圧縮済バンドデータよりも、先に生成される。この結果、図11のS730では、プロセッサ110は、先端バンド画像BI1の圧縮済バンドデータを、速やかに、対象印刷装置に出力できる。 Processor 110 outputs the compressed band data in the order to be printed. As described in S630 of FIG. 9, the priority order of band data compression is the order in which they should be printed. Further, the leading edge band image BI1 including the leading edge e1 (FIG. 10) to be printed first is smaller than the other band images BI2 to BI5. Accordingly, the compressed band data of the leading edge band image BI1 is generated earlier than the compressed band data of the other band images BI2 to BI5. As a result, in S730 of FIG. 11, the processor 110 can quickly output the compressed band data of the leading edge band image BI1 to the target printing device.

本実施例では、複数のバンド画像の複数のバンドデータは、互いに独立である。すなわち、対象バンド画像の複数の画素のそれぞれの色値は、対象バンド画像よりも後端e2側のバンド画像のバンドデータを用いずに、特定可能である。例えば、先端バンド画像BI1の複数の画素のそれぞれの色値は、先端バンド画像BI1よりも後端e2側のバンド画像BI2~BI5のバンドデータを用いずに、先端バンド画像BI1のバンドデータを用いて、特定可能である。このように、対象印刷装置は、全てのバンド画像の圧縮済バンドデータの受信を完了するよりも前に、受信済の圧縮済バンドデータを用いて、受信済の圧縮済バンドデータのバンド画像を印刷できる。 In this embodiment, the multiple band data of the multiple band images are independent of each other. That is, the color value of each of the plurality of pixels of the target band image can be specified without using the band data of the band image on the trailing edge e2 side of the target band image. For example, for the color values of the plurality of pixels of the leading edge band image BI1, the band data of the leading edge band image BI1 is used instead of the band data of the band images BI2 to BI5 on the trailing edge e2 side of the leading edge band image BI1. is identifiable. In this way, the target printing device uses the received compressed band data to print the band images of the received compressed band data before completing the reception of the compressed band data of all band images. can be printed.

なお、対象印刷装置がネットワークに接続されている場合、プロセッサ110は、ネットワークを介して、種々のデータ(例えば、ヘッダデータ、圧縮済バンドデータなど)を対象印刷装置へ出力する。対象印刷装置が端末装置100に直接に接続されている場合、プロセッサ110は、種々のデータを、直接的に、対象印刷装置へ出力する。 If the target printing device is connected to a network, processor 110 outputs various data (eg, header data, compressed band data, etc.) to the target printing device via the network. When the target printing device is directly connected to the terminal device 100, the processor 110 outputs various data directly to the target printing device.

図11のS740では、プロセッサ110は、全てのバンド画像の圧縮済バンドデータを対象印刷装置に出力したか否かを判断する。未処理のバンド画像が残っている場合(S740:No)、プロセッサ110は、S720へ移行する。そして、プロセッサ110は、圧縮済バンドデータを、印刷すべき順番に、対象印刷装置へ出力する。全てのバンド画像の圧縮済バンドデータの出力が完了した場合(S740:Yes)、プロセッサ110は、図11の処理(ひいては、図2のS190)を、終了する。 In S740 of FIG. 11, the processor 110 determines whether or not the compressed band data of all band images have been output to the target printing device. If unprocessed band images remain (S740: No), the processor 110 proceeds to S720. The processor 110 then outputs the compressed band data to the target printing device in the order in which they should be printed. When output of compressed band data of all band images is completed (S740: Yes), processor 110 terminates the processing of FIG. 11 (and thus S190 of FIG. 2).

対象印刷コマンドが第1種印刷コマンドである場合、プロセッサ110は、図11の処理と同様に、ヘッダデータと画像データとを対象印刷装置に出力する。プロセッサ110は、まず、ヘッダデータを対象印刷装置に出力する。続いて、プロセッサ110は、ビットマップデータを、対象印刷装置に出力する。第1種印刷コマンドのビットマップデータが、第2種印刷コマンドのビットマップデータと同様に、互いに独立な複数のバンドデータで構成されている場合、プロセッサ110は、複数のバンドデータの出力を、印刷すべき順に行う。 If the target print command is the first type print command, the processor 110 outputs the header data and the image data to the target printing device, as in the process of FIG. Processor 110 first outputs the header data to the target printing device. Processor 110 then outputs the bitmap data to the target printing device. If the bitmap data of the first type print command is composed of a plurality of mutually independent band data, similar to the bitmap data of the second type print command, the processor 110 outputs the plurality of band data as follows: Do them in the order they should be printed.

A-5.作用効果:
以上のように、端末装置100のプロセッサ110は、図2のS135で、対象画像データを取得する。プロセッサ110は、S140でコマンド生成処理(図4)を開始し、第1種印刷コマンドと第2種印刷コマンドとを含む2種類の印刷コマンドのうち、印刷実行部(例えば、複合機200)に出力すべき対象印刷コマンドを、生成する。プロセッサ110は、S190で図11の出力処理を実行し、対象印刷コマンドを対象印刷装置へ出力する。ここで、図6に示すように、コマンド生成処理(図4)によって実現される第1種印刷コマンドの生成処理は、対象画像データを用いて、画像補間を含む第1サイズ変更処理(S440、S460、S480)を実行することによって、第1種画像データを含む第1種印刷コマンドを生成する(S490)。
A-5. Action effect:
As described above, the processor 110 of the terminal device 100 acquires target image data in S135 of FIG. The processor 110 starts command generation processing (FIG. 4) in S140, and selects two types of print commands, including the first type print command and the second type print command, from the print execution unit (for example, the MFP 200). Generate a target print command to be output. The processor 110 executes the output process of FIG. 11 in S190, and outputs the target print command to the target printing device. Here, as shown in FIG. 6, the generation processing of the first type print command realized by the command generation processing (FIG. 4) uses the target image data to perform the first size change processing including image interpolation (S440, By executing S460, S480), a first type print command including first type image data is generated (S490).

また、本実施例では、コマンド生成処理(図4)によって実現される第2種印刷コマンドの生成処理(図7)は、第2サイズ変更処理(S530、S540、S560、S580)を含んでいる。第2サイズ変更処理は、対象画像データを用いて、画像補間を含まないサイズ変更処理を実行することによって、対象画像を表すサイズ変更済画像データを生成する処理である。また、第2種印刷コマンドの生成処理は、S590の処理、すなわち、図9の処理を含んでいる。図9の処理は、サイズ変更済画像データをランレングス圧縮の例であるパックビッツ圧縮することによって、第2種画像データを含む第2種印刷コマンドを生成する。 In this embodiment, the second type print command generation processing (FIG. 7) realized by the command generation processing (FIG. 4) includes the second size change processing (S530, S540, S560, S580). . The second resizing process is a process of generating resized image data representing the target image by performing resizing processing that does not include image interpolation using the target image data. Also, the process of generating the second type print command includes the process of S590, that is, the process of FIG. The process of FIG. 9 generates a second-type print command including second-type image data by performing PackBits compression, which is an example of run-length compression, on the resized image data.

このように、第1種印刷コマンドに含まれる第1種画像データが、画像補間を含むサイズ変更処理を実行することによって生成されるので、第1種印刷コマンドが対象印刷コマンドとして選択される場合には、高画質の印刷を実現できる。また、第2種印刷コマンドに含まれる第2種画像データは、画像補間を含まない第2サイズ変更処理と、ランレングス圧縮の例であるパックビッツ圧縮と、を実行することによって生成される。従って、対象印刷コマンドとして第2種印刷コマンドが選択される場合には、データの圧縮効率を向上させ、対象印刷装置に出力される印刷コマンドのデータサイズを小さくできる。それにより、印刷処理速度向上につながる印刷コマンドを複合機200に出力できる。例えば、第2種印刷コマンドのデータサイズが小さい場合には、第2種印刷コマンドのデータサイズが大きい場合と比べて、対象印刷装置による第2種印刷コマンドの受信に要する時間が短縮される。従って、端末装置100が第2種印刷コマンドを出力してから対象印刷装置による印刷が完了するまでの印刷の処理に要する時間が、短縮される。 In this way, since the first-type image data included in the first-type print command is generated by executing the size change process including image interpolation, when the first-type print command is selected as the target print command can achieve high-quality printing. The second-type image data included in the second-type print command is generated by executing a second resizing process that does not include image interpolation and packbits compression, which is an example of run-length compression. Therefore, when the second type print command is selected as the target print command, the data compression efficiency can be improved and the data size of the print command output to the target printer can be reduced. As a result, it is possible to output a print command to the multi-function device 200 to improve the print processing speed. For example, when the data size of the second type print command is small, the time required for the target printing device to receive the second type print command is reduced compared to when the data size of the second type print command is large. Therefore, the time required for the printing process from when the terminal device 100 outputs the type 2 print command to when the printing by the target printing device is completed is shortened.

また、図2のS120では、プロセッサ110は、対象印刷装置の能力情報を取得する。そして、図2のS140で実行される図4のS210の処理(すなわち、図5の処理)では、プロセッサ110は、能力情報を用いて、複数種類の印刷コマンドから対象印刷コマンドを選択する。従って、対象印刷装置の能力に適した印刷を実現できる。 Also, in S120 of FIG. 2, the processor 110 acquires the capability information of the target printing device. Then, in the process of S210 of FIG. 4 (that is, the process of FIG. 5) executed in S140 of FIG. 2, the processor 110 selects a target print command from a plurality of types of print commands using the capability information. Therefore, printing suitable for the capabilities of the target printing apparatus can be realized.

また、図2のS120で説明したように、能力情報は、入力解像度に関する情報を含んでいる。そして、本実施例では、図5のS340の第1基準サイズは、入力解像度に基づく入力サイズと同じである。従って、図5の処理では、プロセッサ110は、対象画像データがビットマップデータであり(S330:Yes)、対象画像データのピクセル数と相関を有するサイズが入力解像度に基づく入力サイズよりも小さい(S340:Yes)ことを含む条件が満たされる場合に、対象印刷コマンドとして第2種印刷コマンドを選択する(S360)。そして、プロセッサ110は、第2種印刷コマンドの生成処理(図7)のS540では、対象画像のサイズを入力サイズに変換する拡大処理を実行することによって、サイズ変更済画像データを生成する。このように、対象画像のサイズが入力サイズよりも小さい場合に(図5:S340:Yes)、対象画像のサイズを入力解像度に基づく入力サイズに変換する拡大処理が実行されるので(図7:S540)、パックビッツ圧縮による圧縮の効率を向上できる。 Also, as described in S120 of FIG. 2, the capability information includes information on input resolution. In this embodiment, the first reference size in S340 of FIG. 5 is the same as the input size based on the input resolution. Therefore, in the processing of FIG. 5, the processor 110 determines that the target image data is bitmap data (S330: Yes) and the size correlated with the number of pixels of the target image data is smaller than the input size based on the input resolution (S340 : Yes), the second type print command is selected as the target print command (S360). Then, in S540 of the second type print command generation processing (FIG. 7), the processor 110 generates size-changed image data by executing enlargement processing for converting the size of the target image to the input size. In this way, when the size of the target image is smaller than the input size (Fig. 5: S340: Yes), enlargement processing is performed to convert the size of the target image to the input size based on the input resolution (Fig. 7: S540), the efficiency of compression by PackBits compression can be improved.

また、図5に示すように、第2種印刷コマンド(PWGラスタ)が選択される条件は、以下の条件を含んでいる。
(条件1)対象印刷装置が第2種印刷コマンドに対応している(S310:Yes)
この条件1により、第2種印刷コマンドに対応していない印刷装置に誤って第2種印刷コマンドが出力されることが、抑制される。
Further, as shown in FIG. 5, the conditions for selecting the second type print command (PWG raster) include the following conditions.
(Condition 1) The target printing device supports type 2 print commands (S310: Yes)
Condition 1 prevents the erroneous output of the second type print command to a printing device that does not support the second type print command.

(条件2)対象印刷装置との通信のインタフェースがUSBである(S320:Yes)
パックビッツ圧縮などのランレングス圧縮は、他の種類の圧縮(例えば、JPEG圧縮などの非可逆圧縮)と比べて、圧縮済のデータのサイズが大きくなり易い。すなわち、第2種印刷コマンドのデータサイズは、第1種印刷コマンドのデータサイズと比べて、大きくなりやすい。対象印刷装置との通信のインタフェースがUSBではない場合、通常は、対象印刷装置は、複数の装置によって共用されるネットワーク(例えば、LAN(Local Area Network)、インターネットなど)に接続されている。従って、第2種印刷コマンドの出力完了に要する時間が、長くなり得る。また、第2種印刷コマンドの出力に起因する通信負荷の増大が、他の通信装置の通信に影響を与え得る。対象印刷装置との通信のインタフェースがUSBである場合、通常は、対象印刷装置は、端末装置100のみに接続されている。従って、第2種印刷コマンドの出力を、短時間で、完了できる。また、第2種印刷コマンドの出力が他の通信装置の通信に影響を及ぼすことが、抑制される。
(Condition 2) The interface for communication with the target printing device is USB (S320: Yes)
Run-length compression, such as Packbits compression, tends to result in larger compressed data sizes than other types of compression (eg, lossy compression such as JPEG compression). That is, the data size of the second type print command tends to be larger than the data size of the first type print command. If the interface for communication with the target printing device is not USB, the target printing device is usually connected to a network shared by a plurality of devices (for example, LAN (Local Area Network), Internet, etc.). Therefore, the time required to complete the output of the type 2 print command can be lengthened. Also, an increase in communication load due to the output of the second type print command may affect communication of other communication devices. When the interface for communication with the target printing device is USB, the target printing device is normally connected only to the terminal device 100 . Therefore, the output of the second type print command can be completed in a short time. In addition, it is possible to prevent the output of the type 2 print command from affecting the communication of other communication devices.

(条件3)対象画像データがビットマップデータであり(S330:Yes)、かつ、対象画像のサイズは、第1基準サイズより小さい(S340:Yes)
図7のS520~S540で説明したように、対象画像のサイズが第1基準サイズ(本実施例では、入力サイズと同じ)よりも小さい場合には、S540で、対象画像のサイズが、補間せずに、拡大される。この結果、パックビッツ圧縮による圧縮の効率を向上できる。このように、条件3により、第2種印刷コマンドのデータサイズを抑制できる。
(Condition 3) The target image data is bitmap data (S330: Yes), and the size of the target image is smaller than the first standard size (S340: Yes)
As described in S520 to S540 of FIG. 7, if the size of the target image is smaller than the first reference size (the same as the input size in this embodiment), then in S540 the size of the target image is reduced to the size that cannot be interpolated. is enlarged without As a result, the efficiency of compression by PackBits compression can be improved. Thus, condition 3 can suppress the data size of the second type print command.

(条件4)対象画像データがビットマップデータであり(S330:Yes)、かつ、画像の複雑さを示す指標値(パラメータCp)が、閾値以下である(S350:Yes)
上述したように、パラメータCpが小さい場合、パックビッツ圧縮による圧縮の効率は、良好である。条件4により、第2種印刷コマンドのデータサイズを抑制できる。
(Condition 4) The target image data is bitmap data (S330: Yes), and the index value (parameter Cp) indicating the complexity of the image is equal to or less than the threshold (S350: Yes)
As mentioned above, when the parameter Cp is small, the efficiency of compression by PackBits compression is good. Condition 4 makes it possible to suppress the data size of the second type print command.

また、第2種印刷コマンドの生成処理(図7)では、対象画像データがドキュメントデータである場合(本実施例では、オフィス、または、PDF)、プロセッサ110は、S550、S570で、対象画像データを、可逆圧縮された対象ビットマップデータであるPNGデータに変換する。そして、プロセッサ110は、S590(具体的には、図9のS630)で、対象ビットマップデータと、対象ビットマップデータに第2サイズ変更処理(図7:S560、S580)を実行して得られる画像データと、のいずれかをパックビッツ圧縮することによって、第2種印刷コマンドに含まれる第2種画像データを生成する。画像データの非可逆圧縮は、伸張された画像データの画像中にノイズを発生させ得る。本実施例では、対象画像データは、可逆圧縮された対象ビットマップデータであるPNGデータに変換される。従って、対象ビットマップデータに含まれるノイズが少ないので、パックビッツ圧縮による圧縮の効率を向上できる。 In the process of generating the second type print command (FIG. 7), if the target image data is document data (office or PDF in this embodiment), the processor 110, in S550 and S570, is converted into PNG data, which is reversibly compressed target bitmap data. Then, in S590 (specifically, S630 in FIG. 9), the processor 110 performs the second size change processing (FIG. 7: S560, S580) on the target bitmap data and the target bitmap data. 2nd type image data included in the 2nd type print command is generated by packbits-compressing the image data. Lossy compression of image data can introduce noise in the image of the decompressed image data. In this embodiment, the target image data is converted into PNG data, which is losslessly compressed target bitmap data. Therefore, since the noise contained in the target bitmap data is small, the efficiency of compression by PackBits compression can be improved.

また、第2サイズ変更処理(図7:S560、S580)では、色値の補間を行わずに、画像のサイズが変更される。従って、サイズ変更に起因するノイズは、抑制される。この結果、対象ビットマップデータに含まれるノイズが少ないので、パックビッツ圧縮による圧縮の効率を向上できる。 Also, in the second size change process (FIG. 7: S560, S580), the size of the image is changed without interpolating the color values. Therefore, noise due to resizing is suppressed. As a result, the noise contained in the target bitmap data is small, so the efficiency of compression by PackBits compression can be improved.

また、図7のS520、S530で説明したように、プロセッサ110は、対象画像データがビットマップデータであり、対象画像データのピクセル数と相関を有するサイズが第2基準サイズよりも大きい場合に(S520:Yes)、S530で、対象画像のサイズを第2基準サイズに縮小する。そして、プロセッサ110は、S540で、縮小処理によって得られる画像のサイズを印刷実行部が受け付ける画像データの解像度である入力解像度に基づく入力サイズに拡大する。このように、対象画像のサイズが第2基準サイズよりも大きい場合、プロセッサ110は、対象画像を一旦は縮小し、そして、縮小済の対象画像を、色値を補間せずに拡大するので、サイズ変更済の対象画像において、同じ色値の複数の画素が連続することが促進される。この結果、パックビッツ圧縮による圧縮の効率を向上できる。 Also, as described in S520 and S530 of FIG. 7, the processor 110 outputs ( S520: Yes), in S530, the size of the target image is reduced to the second standard size. Then, in S540, the processor 110 enlarges the size of the image obtained by the reduction process to the input size based on the input resolution, which is the resolution of the image data accepted by the print executing unit. In this way, if the size of the target image is larger than the second reference size, the processor 110 reduces the target image once and then enlarges the reduced target image without interpolating the color values. Contiguous pixels of the same color value are encouraged in the resized target image. As a result, the efficiency of compression by PackBits compression can be improved.

また、図9で説明したように、プロセッサ110は、プロセッサ110が複数の論理プロセッサを備える場合に、第2種印刷コマンドを生成する処理に含まれる複数の処理を、複数の論理プロセッサに並列して実行させる。従って、第2種印刷コマンドの生成に要する時間を、短縮できる。 Further, as described with reference to FIG. 9, when the processor 110 includes a plurality of logical processors, the processor 110 parallelizes a plurality of processes included in the process of generating the second type print command to the plurality of logical processors. to run. Therefore, the time required to generate the second type print command can be shortened.

また、図9のS630、図10で説明したように、プロセッサ110は、第2種画像データに含まれる複数のバンドデータであって対象画像OIに含まれる複数のバンド画像BI1~BI5に対応する複数のバンドデータのうちの少なくとも一部の複数のバンドデータを生成する処理を、複数の論理プロセッサに並列して実行させる。例えば、S610で決定された並列処理の数が3である場合、5個のバンド画像BI1~BI5に対応する5個のバンドデータのうち、3個のバンドデータが、並列して処理される。そして、図10で説明したように、複数のバンド画像BI1~BI5のうちの対象画像OIの最先に印刷されるべき先端e1を含む先端バンド画像BI1のサイズは、他の1以上のバンド画像BI2~BI5のそれぞれのサイズのうちの最大サイズよりも、小さい。従って、プロセッサ110は、先端バンド画像BI1の圧縮済のバンドデータを、速やかに生成できる。 In addition, as described in S630 of FIG. 9 and FIG. 10, the processor 110 corresponds to a plurality of band images BI1 to BI5 included in the target image OI, which are a plurality of band data included in the second type image data. A plurality of logical processors are caused to execute in parallel a process of generating at least a part of a plurality of band data out of a plurality of band data. For example, when the number of parallel processes determined in S610 is 3, 3 band data out of 5 band data corresponding to 5 band images BI1 to BI5 are processed in parallel. Then, as described with reference to FIG. 10, the leading edge band image BI1 including the leading edge e1 to be printed first of the target image OI among the plurality of band images BI1 to BI5 has a size equal to or larger than that of the other one or more band images. It is smaller than the maximum size of each size of BI2 to BI5. Therefore, the processor 110 can quickly generate the compressed band data of the leading edge band image BI1.

さらに、図11で説明したように、プロセッサ110は、先端バンド画像BI1(図10)のバンドデータである先端バンドデータを生成する処理が完了した場合には(S720:Yes)、他の1以上のバンド画像BI2~BI5のうちの少なくとも1つのバンド画像のバンドデータを生成する処理が完了していない場合であっても、先端バンドデータを対象印刷装置に出力する(S730)。従って、対象印刷装置は、印刷を速やかに開始できる。 Furthermore, as described with reference to FIG. 11, when the process of generating leading edge band data, which is the band data of the leading edge band image BI1 (FIG. 10), has been completed (S720: Yes), the processor 110 sets one or more other Even if the process of generating the band data of at least one of the band images BI2 to BI5 has not been completed, the leading edge band data is output to the target printing device (S730). Therefore, the target printing device can start printing immediately.

B.第2実施例:
第2実施例は、第1実施例における図2の印刷処理とは、S140で開始されるコマンド生成処理およびS190の出力処理が異なる。以下、第1実施例とは異なる処理について説明する。
B. Second embodiment:
The second embodiment differs from the printing process of FIG. 2 in the first embodiment in the command generation process started at S140 and the output process at S190. Processing different from that of the first embodiment will be described below.

第1実施例では、図4のS210にてコマンドの種類を選択し、選択されたコマンドの種類に応じて印刷コマンドを生成する。一方、第2実施例では、複数の印刷コマンド(すなわち第1種印刷コマンドおよび第2種印刷コマンド)をそれぞれ生成する。すなわち、プロセッサ110は、図4のS230の処理と図4のS240の処理とを並行して実行する。プロセッサ110が複数個の論理プロセッサを備える場合、プロセッサ110は、S230とS240とのそれぞれに論理プロセッサを割り当てて、S230とS240とを同時に実行してよい。また、プロセッサ110が1つの論理プロセッサを備える場合、プロセッサ110は、S230とS240とを少しずつ交互に進行してよい。以上により、対象画像の選択(図2:S130)の後、印刷ボタンB45(図3(E))が操作されるまでの時間内に、第1種印刷コマンドの生成と第2種印刷コマンドの生成とのそれぞれが、進行する。 In the first embodiment, a command type is selected in S210 of FIG. 4, and a print command is generated according to the selected command type. On the other hand, in the second embodiment, a plurality of print commands (that is, a first type print command and a second type print command) are generated respectively. That is, the processor 110 executes the processing of S230 in FIG. 4 and the processing of S240 in FIG. 4 in parallel. When the processor 110 includes a plurality of logical processors, the processor 110 may allocate logical processors to each of S230 and S240 and execute S230 and S240 simultaneously. In addition, when the processor 110 includes one logical processor, the processor 110 may alternately progress between S230 and S240. As described above, after the target image is selected (FIG. 2: S130), within the time before the print button B45 (FIG. 3(E)) is operated, the first type print command is generated and the second type print command is executed. Each with generation proceeds.

印刷ボタンB45(図3(E))が操作される場合(図2:S160:Yes)、図2のS190で、図12の出力処理が実行される。S805は、図5のS310と同じである。対象印刷装置が第2種印刷コマンドに対応していない場合(S805:No)、プロセッサ110は、S830で、第1種印刷コマンドを対象印刷装置へ出力する。S830は、第1実施例における対象印刷コマンドが第1種印刷コマンドである場合の出力処理と同じであってよい。すなわち、プロセッサ110は、ヘッダデータを対象印刷装置に出力し、続いて、ビットマップデータを、対象印刷装置に出力する。そして、プロセッサ110は、図12の処理を終了する。 When the print button B45 (FIG. 3E) is operated (FIG. 2: S160: Yes), the output process of FIG. 12 is executed in S190 of FIG. S805 is the same as S310 in FIG. If the target printing device does not support the second type print command (S805: No), the processor 110 outputs the first type print command to the target printing device in S830. S830 may be the same as the output process when the target print command is the first type print command in the first embodiment. That is, processor 110 outputs the header data to the target printing device and then outputs the bitmap data to the target printing device. Processor 110 then terminates the processing of FIG.

対象印刷装置が第2種印刷コマンドに対応している場合(S805:Yes)、S810で、プロセッサ110は、第2種印刷コマンドのデータのうち生成済の部分のデータサイズが、基準データサイズ以下であるか否かを判断する。本実施例では、基準データサイズは、予め決められている。 If the target printing device supports the second type print command (S805: Yes), in S810 the processor 110 determines that the data size of the generated part of the data of the second type print command is equal to or less than the reference data size. Determine whether or not In this embodiment, the reference data size is predetermined.

生成済の部分のデータサイズが基準データサイズ以下である場合(S810:Yes)、プロセッサ110は、S820で第2種印刷コマンドのデータを対象印刷装置に出力し、図12の処理を終了する。S820の処理は、図11の処理と同じであってよい。すなわち、プロセッサ110は、印刷すべき順に、圧縮済のバンドデータを対象印刷装置に出力してよい。 If the data size of the generated portion is equal to or smaller than the reference data size (S810: Yes), the processor 110 outputs the data of the second type print command to the target printing device in S820, and ends the processing of FIG. The processing of S820 may be the same as the processing of FIG. That is, the processor 110 may output the compressed band data to the target printing device in the order to be printed.

生成済の部分のデータサイズが基準データサイズを超える場合(S810:No)、プロセッサ110は、S830で第1種印刷コマンドのデータを対象印刷装置に出力し、図12の処理を終了する。 If the data size of the generated portion exceeds the reference data size (S810: No), the processor 110 outputs the data of the first type print command to the target printing device in S830, and ends the processing of FIG.

図12の出力処理、すなわち、図2のS190の終了によって、図2の印刷処理は、終了する。 The printing process in FIG. 2 ends when the output process in FIG. 12, that is, S190 in FIG. 2 ends.

以上のように、図2のS160では、プロセッサ110は、対象画像を対象印刷装置に印刷させる指示を受け付ける。プロセッサ110は、指示が受け付けられる前に(S160:No)、S150で、対象画像を表示部140に表示させる。そして、プロセッサ110は、指示が受け付けられる前に(S160:No)、第2種印刷コマンドを生成する処理を、開始する。従って、指示が受け付けられてから、対象印刷コマンドである第2種印刷コマンドが対象印刷装置に出力されるまでの時間を短縮できる。 As described above, in S160 of FIG. 2, the processor 110 receives an instruction to print the target image on the target printing device. Before the instruction is accepted (S160: No), processor 110 causes display unit 140 to display the target image in S150. Then, the processor 110 starts the process of generating the second type print command before the instruction is accepted (S160: No). Therefore, it is possible to shorten the time from when the instruction is received until the second type print command, which is the target print command, is output to the target printer.

また、図12のS810で説明したように、プロセッサ110は、第2種印刷コマンドのうちの指示が受け付けられる前に生成済の部分のデータサイズが基準データサイズを超える場合に(S810:No)、第1種印刷コマンドを対象印刷装置に出力する(S830)。従って、過度に大きいサイズの第2種印刷コマンドが出力されることを抑制できる。 Also, as described in S810 of FIG. 12, the processor 110 outputs the data size of the portion of the type 2 print command that has already been generated before the instruction is received exceeds the reference data size (S810: No). , the first type print command is output to the target printing device (S830). Therefore, it is possible to prevent the second type print command of an excessively large size from being output.

なお、第2実施例で説明したコマンド生成処理において、プロセッサ110は、まず、図5のS310と同様に、印刷装置が第2種印刷コマンドに対応しているかを判断し、対応していなければ、第2種印刷コマンドを生成せず、第1種印刷コマンドのみを生成してもよい。 Note that in the command generation process described in the second embodiment, the processor 110 first determines whether the printing apparatus supports the second type print command, as in S310 of FIG. , only the first type print command may be generated without generating the second type print command.

C.変形例:
(1)第2種印刷コマンドの生成処理は、図7等で説明した処理に代えて、他の種々の処理であってよい。例えば、S530では、対象画像のサイズは、第2基準サイズよりも小さいサイズに変更されてよい(例えば、第2基準サイズの解像度(例えば、300dpi)の半分の解像度(150dpi)に対応するサイズ)。また、S530のサイズ変更処理では、色値が補間されてもよい。この場合も、S540では、色値を補間せずにサイズが拡大されるので、パックビッツ圧縮による圧縮の効率を向上できる。また、S520、S530、S540に代えて、S560、S580と同様に画像のサイズを入力サイズに変更するサイズ変更処理が実行されてよい。この場合、対象画像の解像度が入力解像度よりも高い場合には、色値を補間せずに画像が縮小される。サイズ変更前の対象画像が、同じ色値の連続する複数の画素を含む場合、サイズ変更後の対象画像も、同じ色値の連続する複数の画素を含み得るので、パックビッツ圧縮による圧縮の効率を向上できる。S550、S570では、対象画像データは、非圧縮のビットマップデータに変換されてよい。S550、S570では、対象画像データは、非可逆圧縮のビットマップデータに変換されてよい。
C. Variant:
(1) The process of generating the second type print command may be various other processes instead of the process described with reference to FIG. 7 and the like. For example, in S530, the size of the target image may be changed to a size smaller than the second reference size (eg, a size corresponding to half the resolution (eg, 300 dpi) of the second reference size (150 dpi)). . Also, in the resizing process of S530, color values may be interpolated. Also in this case, in S540, the size is expanded without interpolating the color values, so the efficiency of compression by PackBits compression can be improved. Also, instead of S520, S530, and S540, resizing processing for changing the size of the image to the input size may be performed in the same manner as in S560 and S580. In this case, if the resolution of the target image is higher than the input resolution, the image is reduced without interpolating the color values. If the target image before resizing contains multiple consecutive pixels with the same color value, the target image after resizing may also contain multiple consecutive pixels with the same color value. can be improved. At S550, S570, the target image data may be converted to uncompressed bitmap data. In S550 and S570, the target image data may be converted into lossy-compressed bitmap data.

また、図7のS520、S530は、省略されてもよい。第2種印刷コマンドを出力するための条件が、図5のS340の条件(対象画像のサイズが第1基準サイズより小さい、すなわち、対象画像のサイズが入力サイズより小さい)を含む場合、図5のS540では、色値を補間せずに対象画像のサイズを拡大するサイズ変更処理が行われる。従って、パックビッツ圧縮による圧縮の効率を向上できる。図7のS520、S530を省略する代わりに、図5のS340が省略されてもよい。この場合、対象画像のサイズが第2基準サイズより大きい場合、すなわち、対象画像のサイズが入力サイズ以上である場合(S520:Yes)、S530で対象画像のサイズが入力サイズよりも小さい第2基準サイズに縮小される。この結果、S540で、対象画像のサイズを適切に拡大できる。 Also, S520 and S530 in FIG. 7 may be omitted. If the condition for outputting the second type print command includes the condition of S340 in FIG. 5 (the size of the target image is smaller than the first standard size, that is, the size of the target image is smaller than the input size) In S540, resizing processing is performed to enlarge the size of the target image without interpolating the color values. Therefore, the efficiency of compression by PackBits compression can be improved. Instead of omitting S520 and S530 of FIG. 7, S340 of FIG. 5 may be omitted. In this case, if the size of the target image is larger than the second reference size, that is, if the size of the target image is equal to or larger than the input size (S520: Yes), the size of the target image is smaller than the input size in S530. reduced in size. As a result, the size of the target image can be appropriately enlarged in S540.

(2)第2種印刷コマンドに含まれる第2種画像データのデータ形式は、パックビッツ圧縮によって圧縮されたビットマップ形式に代えて、他の種々のランレングス圧縮によって圧縮されたビットマップ形式であってよい。プロセッサ110は、図7のS590(例えば、図9のS630)で、予め決められた圧縮方法によって、画像データを圧縮してよい。 (2) The data format of the second type image data included in the second type print command is a bitmap format compressed by various other run-length compression instead of a bitmap format compressed by packbits compression. It's okay. Processor 110 may compress the image data according to a predetermined compression method at S590 of FIG. 7 (eg, S630 of FIG. 9).

(3)対象画像に含まれる複数のバンド画像の構成は、図10のバンド画像BI1~BI5の構成に代えて、他の種々の構成であってよい。例えば、先端バンド画像BI1以外の複数のバンド画像の間で、幅が異なっていてもよい。また、1つの対象画像に含まれるバンド画像の総数は、2以上の任意の数であってよい。また、各バンド画像の幅は、用紙サイズに応じて、決定されてよい。例えば、用紙サイズが大きいほど、バンド画像の幅が大きな幅に決定されてよい。いずれの場合も、バンド画像の形状は、対象画像の最先に印刷されるべき先端から後端に向かう方向に垂直な方向に延びる矩形状の画像であってよい。例えば、図10の例では、各バンド画像BI1~BI5は、先端e1から後端e2へ向かう縦方向Dyに垂直な横方向Dxに延びる矩形状の画像である。そして、対象画像の先端を含む先端バンド画像のサイズ(具体的には、総画素数)は、先端バンド画像以外の他の1以上のバンド画像のそれぞれのサイズのうちの最大サイズよりも小さいことが、好ましい。さらに、先端バンド画像は、対象画像に含まれる複数のバンド画像のうちの最小サイズのバンド画像であることが、好ましい。ただし、複数のバンド画像の間で、サイズが同じであってよい。 (3) The configuration of the plurality of band images included in the target image may be various other configurations instead of the configuration of the band images BI1 to BI5 in FIG. For example, the widths may differ among a plurality of band images other than the leading edge band image BI1. Also, the total number of band images included in one target image may be any number equal to or greater than two. Also, the width of each band image may be determined according to the paper size. For example, the larger the paper size, the larger the width of the band image may be determined. In either case, the shape of the band image may be a rectangular image extending in a direction perpendicular to the direction from the leading edge to the trailing edge of the target image to be printed first. For example, in the example of FIG. 10, each of the band images BI1 to BI5 is a rectangular image extending in the horizontal direction Dx perpendicular to the vertical direction Dy from the leading edge e1 to the trailing edge e2. The size of the leading edge band image including the leading edge of the target image (specifically, the total number of pixels) is smaller than the maximum size among the sizes of one or more other band images other than the leading edge band image. is preferred. Furthermore, it is preferable that the leading edge band image is the smallest size band image among the plurality of band images included in the target image. However, the size may be the same among a plurality of band images.

(4)図9の実施例では、第2種印刷コマンドのヘッダデータを生成する処理と、複数のバンドデータをパックビッツ圧縮する処理とが、並列に行われる。ここで、並列に行われる処理は、他の種々の処理であってよい。例えば、プロセッサ110は、対象画像を複数のバンド画像に区分せずに、ヘッダデータの生成と画像データのパックビッツ圧縮とを、並列に実行してよい。また、対象画像データが複数頁の画像を表す場合、複数頁の画像データのパックビッツ圧縮が、並列に行われてよい。一般的には、第2種印刷コマンドを生成する処理に含まれる任意の複数の処理が、並列に行われてよい。ただし、第2種印刷コマンドは、並列処理を用いずに、生成されてよい。例えば、プロセッサ110は、ヘッダデータ、ボディデータの順に、第2種印刷コマンドに含まれるデータを生成してよい。 (4) In the embodiment of FIG. 9, the process of generating the header data of the type 2 print command and the process of packbits compressing a plurality of band data are performed in parallel. Here, the processing performed in parallel may be other various processing. For example, processor 110 may perform header data generation and PackBits compression of image data in parallel without segmenting the target image into multiple band images. Also, when the target image data represents multiple pages of images, Packbits compression of the multiple pages of image data may be performed in parallel. In general, a plurality of arbitrary processes included in the process of generating the second type print command may be performed in parallel. However, the second type print command may be generated without using parallel processing. For example, the processor 110 may generate data included in the second type print command in order of header data and body data.

(5)第1種印刷コマンドに含まれる第1種画像データのデータ形式は、JPEG形式に代えて、ランレングス圧縮されたデータ形式とは異なる他の任意の形式であってよい。例えば、HEIF(High Efficiency Image File Format)が採用されてよい。 (5) The data format of the type 1 image data included in the type 1 print command may be any format other than the run-length compressed data format instead of the JPEG format. For example, HEIF (High Efficiency Image File Format) may be adopted.

(6)対象印刷装置に出力すべき印刷コマンドの種類を選択する方法は、種々の方法であってよい。例えば、プロセッサ110は、印刷コマンドの種類の選択に利用される能力情報として、ユーザによる操作部150の操作によって入力された能力情報を利用してよい。この場合、図2のS120では、プロセッサ110は、操作部150の操作によって入力された情報を参照することによって、能力情報を取得する。また、プロセッサ110は、能力情報を用いずに、印刷コマンドの種類を選択してよい。 (6) Various methods may be used to select the type of print command to be output to the target printing device. For example, the processor 110 may use capability information input by the user operating the operation unit 150 as capability information used to select the type of print command. In this case, in S120 of FIG. 2, processor 110 acquires ability information by referring to information input by operating operation unit 150 . Alternatively, the processor 110 may select the type of print command without using the capability information.

第2種印刷コマンドを選択するための条件は、図5で説明した条件に代えて、他の任意の条件であってよい。図5のS340の第1基準サイズは、入力サイズよりも小さいサイズであってよい。例えば、第1基準サイズは、入力解像度よりも粗い解像度(例えば、450dpi)に対応するサイズであってよい。S350のパラメータCpは、画像の複雑さを示す任意の指標値であってよい。例えば、パラメータCpは、対象画像に含まれるエッジ画素の総数であってよい。エッジ画素は、公知のエッジ抽出フィルタ(例えば、ソーベルフィルタ)を用いて、検出可能である。また、図5のS310以外の条件(S320、S330、S340、S350)のうち任意の条件が、省略されてよい。 The condition for selecting the second type print command may be any other condition instead of the condition described with reference to FIG. The first reference size in S340 of FIG. 5 may be a size smaller than the input size. For example, the first reference size may be a size corresponding to a coarser resolution (eg, 450 dpi) than the input resolution. The parameter Cp of S350 may be any index value indicative of image complexity. For example, the parameter Cp may be the total number of edge pixels included in the target image. Edge pixels can be detected using a known edge extraction filter (eg, Sobel filter). Also, any of the conditions (S320, S330, S340, S350) other than S310 in FIG. 5 may be omitted.

また、プロセッサ110は、ユーザの指示に応じて、印刷コマンドの種類を選択してよい。例えば、印刷設定が、「画質優先」と「速度優先」とを含む複数のモードから選択される印刷モードを含む場合がある。ここで、プロセッサ110は、「画質優先」が選択される場合には第1種印刷コマンドを選択し、「速度優先」が選択される場合には第2種印刷コマンドを選択してよい。 Also, the processor 110 may select the type of print command according to the user's instruction. For example, print settings may include a print mode selected from a plurality of modes including "priority to image quality" and "priority to speed". Here, the processor 110 may select the first type print command when "prioritize image quality" is selected, and select the second type print command when "prioritize speed" is selected.

(7)コマンド生成処理は、上記実施例の処理に代えて、他の種々の処理であってよい。例えば、第2実施例で、対象印刷装置が第2種印刷コマンドに対応している場合、プロセッサ110は、第1種印刷コマンドの生成処理を実行せずに、第2種印刷コマンドの生成処理を実行してよい。そして、図12の出力処理において、データサイズが基準データサイズを超える場合(S810:No)、プロセッサ110は、第1種印刷コマンドを生成する処理を開始してよい。また、S810において、基準データサイズと比較されるデータサイズは、第2種印刷コマンドのデータのうち生成済の部分のデータサイズに代えて、第2種印刷コマンドのうちの種々の部分のデータサイズであってよい。例えば、完成した第2種印刷コマンドのデータの全体のサイズが、基準データサイズ以下である場合に、S810の判断結果がYesであってよい。一般的には、第2種印刷コマンドのうちの対象画像を対象印刷装置に印刷させる指示が受け付けられる前に生成済の部分を含む特定の部分のデータサイズが基準データサイズと比較されてよい。 (7) The command generation process may be various other processes instead of the processes in the above embodiments. For example, in the second embodiment, if the target printing device supports type 2 print commands, the processor 110 does not execute the type 1 print command generation processing, and executes the type 2 print command generation processing. may be executed. Then, in the output process of FIG. 12, if the data size exceeds the reference data size (S810: No), the processor 110 may start the process of generating the first type print command. In S810, the data size to be compared with the reference data size is the data size of various parts of the second type print command instead of the data size of the generated part of the data of the second type print command. can be For example, when the overall size of the data of the completed type 2 print command is equal to or smaller than the reference data size, the determination result of S810 may be Yes. In general, the data size of a specific portion including the generated portion before receiving an instruction to print the target image on the target printing device in the second type print command may be compared with the reference data size.

(8)利用可能な印刷コマンドの種類の数Kは、3以上であってよい。一般的には、印刷処理において、プロセッサ110は、K種類(Kは2以上の整数)の印刷コマンドのうち、対象印刷コマンドを含む少なくとも1種の印刷コマンドを生成してよい。 (8) The number K of available print command types may be 3 or more. Generally, in print processing, the processor 110 may generate at least one type of print command including the target print command among K types of print commands (K is an integer equal to or greater than 2).

(9)印刷処理は、図2で説明した処理に代えて、他の種々の処理であってよい。例えば、S140は、S160の判断結果がYesである場合に、実行されてよい。このように、プロセッサ110は、コマンド生成処理を、対象画像を対象印刷装置に印刷させる指示を受け付けた後に、開始してよい。また、対象画像のプレビュー(S150)は、省略されてもよい。また、ユーザが変更可能な印刷設定は、図3(E)等で説明した項目に限らず、任意の項目であってよい。例えば、印刷設定は、用紙上の対象画像の印刷サイズを調整する倍率を含んでよい。この場合、判断基準を示すサイズ(入力サイズや基準サイズなど)と比較すべき対象画像のサイズ(ひいては、解像度)は、用紙上の対象画像の調整後の印刷サイズを用いて特定されることが好ましい。例えば、用紙上の対象画像の印刷サイズが小さいサイズに調整される場合、対象画像データの画素数に対する用紙上の対象画像の印刷サイズが小さくなるので、対象画像の解像度は高くなる。プロセッサ110は、この高い解像度に基づいて画像のサイズの大小関係を判断するために、対象画像のサイズと判断基準を示すサイズとの少なくとも一方を、倍率(ひいては、印刷サイズ)を用いて調整することが好ましい。一般的には、判断基準を示すサイズと比較すべき対象画像のサイズとしては、対象画像データのピクセル数と相関を有する種々の値を採用可能である。 (9) The printing process may be various other processes instead of the process described with reference to FIG. For example, S140 may be executed when the determination result of S160 is Yes. In this manner, processor 110 may start the command generation process after receiving an instruction to cause the target printing device to print the target image. Also, the preview of the target image (S150) may be omitted. Also, the print settings that can be changed by the user are not limited to the items described with reference to FIG. For example, the print settings may include a scale factor that adjusts the print size of the target image on paper. In this case, the size (and thus the resolution) of the target image to be compared with the size (input size, reference size, etc.) indicating the judgment criteria may be specified using the adjusted print size of the target image on paper. preferable. For example, when the print size of the target image on paper is adjusted to a smaller size, the print size of the target image on paper becomes smaller with respect to the number of pixels of the target image data, so the resolution of the target image increases. The processor 110 adjusts at least one of the size of the target image and the size indicating the criterion for determination using the magnification (and thus the print size) in order to determine the size relationship of the image based on this high resolution. is preferred. In general, various values having a correlation with the number of pixels of the target image data can be used as the size of the target image to be compared with the size indicating the judgment criteria.

(10)画像を印刷する装置である印刷実行部は、複合機200とは異なる種類の装置であってよい。例えば、単機能の印刷装置であってよい。また、印刷実行部に画像を印刷させる制御装置は、図1の端末装置100のようなパーソナルコンピュータとは異なる種類の装置(例えば、デジタルカメラ、スキャナ、スマートフォン)であってもよい。また、制御装置が、印刷装置の一部であってもよい。例えば、複合機200の制御部299が、端末装置100の代わりに、印刷処理を実行してよい。また、ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、制御装置による制御処理の機能を一部ずつ分担して、全体として、制御処理の機能を提供してもよい(これらの装置を備えるシステムが制御装置に対応する)。 (10) The print execution unit, which is a device that prints images, may be a device of a different type from the multifunction device 200 . For example, it may be a single-function printing device. Also, the control device that causes the print execution unit to print an image may be a device (for example, a digital camera, a scanner, or a smart phone) of a type different from a personal computer such as the terminal device 100 in FIG. Also, the control device may be part of the printing device. For example, the control unit 299 of the multi-function device 200 may execute print processing instead of the terminal device 100 . Further, a plurality of devices (for example, computers) that can communicate with each other via a network may share the function of the control processing by the control device, and provide the function of the control processing as a whole. corresponds to the controller).

上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。 In each of the above embodiments, part of the configuration implemented by hardware may be replaced with software, or conversely, part or all of the configuration implemented by software may be replaced with hardware. good too.

また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD-ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。 In addition, when part or all of the functions of the present invention are realized by a computer program, the program is provided in a form stored in a computer-readable recording medium (for example, a non-temporary recording medium). be able to. The program can be used while being stored in the same or different recording medium (computer-readable recording medium) as when it was provided. "Computer-readable recording medium" is not limited to portable recording media such as memory cards and CD-ROMs, but also internal storage devices such as various ROMs in computers, and hard disk drives that are connected to computers. An external storage device may also be included.

以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。 Although the present invention has been described above based on examples and modifications, the above-described embodiments of the present invention are intended to facilitate understanding of the present invention, and are not intended to limit the present invention. The present invention may be modified and improved without departing from its spirit, and the present invention includes equivalents thereof.

100…端末装置、110…プロセッサ、115…記憶装置、120…揮発性記憶装置、130…不揮発性記憶装置、132…プログラム、140…表示部、150…操作部、170…通信インタフェース、200…複合機、210…プロセッサ、215…記憶装置、220…揮発性記憶装置、230…不揮発性記憶装置、232…プログラム、240…表示部、250…操作部、270…通信インタフェース、280…スキャナ部、299…制御部、400…プリンタ部、1000…画像処理システム DESCRIPTION OF SYMBOLS 100... Terminal device, 110... Processor, 115... Storage device, 120... Volatile storage device, 130... Non-volatile storage device, 132... Program, 140... Display part, 150... Operation part, 170... Communication interface, 200... Composite Machine 210 Processor 215 Storage device 220 Volatile storage device 230 Non-volatile storage device 232 Program 240 Display unit 250 Operation unit 270 Communication interface 280 Scanner unit 299 ... control section 400 ... printer section 1000 ... image processing system

Claims (17)

印刷実行部に画像を印刷させるためのコンピュータプログラムであって、
対象画像の対象画像データを取得する第1取得機能と、
第1種印刷コマンドと第2種印刷コマンドとを含む複数種類の印刷コマンドのうちの少なくとも1種の印刷コマンドであって、前記印刷実行部に出力すべき印刷コマンドとして選択される対象印刷コマンドを含む前記少なくとも1種の印刷コマンドを生成するコマンド生成機能と、
前記対象印刷コマンドを前記印刷実行部に出力する出力機能と、
を、コンピュータに実現させ、
前記コマンド生成機能によって実現される前記第1種印刷コマンドを生成する第1生成機能は、前記対象画像データを用いて、画像補間を含む第1サイズ変更処理を実行することによって、第1種画像データを含む前記第1種印刷コマンドを生成する機能を含み、
前記コマンド生成機能によって実現される前記第2種印刷コマンドを生成する第2生成機能は、
前記対象画像データを用いて、画像補間を含まない第2サイズ変更処理を実行することによって、前記対象画像を表すサイズ変更済画像データを生成する画像サイズ変更機能と、
前記サイズ変更済画像データをランレングス圧縮することによって、第2種画像データを含む前記第2種印刷コマンドを生成する圧縮機能と、
を含み、
前記コンピュータプログラムは、
前記印刷実行部から、前記印刷実行部の能力に関する情報である能力情報を取得する第2取得機能と、
前記能力情報を用いて、前記複数種類の印刷コマンドから前記対象印刷コマンドを選択する選択機能と、
をコンピュータに実現させる、コンピュータプログラム。
A computer program for causing a print execution unit to print an image,
a first acquisition function for acquiring target image data of a target image;
a target print command that is at least one of a plurality of types of print commands including a first type print command and a second type print command and is selected as a print command to be output to the print execution unit; a command generation function for generating the at least one print command comprising;
an output function for outputting the target print command to the print execution unit;
is implemented on a computer,
A first generation function that generates the first type print command realized by the command generation function executes a first size change process including image interpolation using the target image data to generate a first type image. including a function to generate the first type print command including data;
A second generation function that generates the second type print command realized by the command generation function includes:
an image resizing function that uses the target image data to generate resized image data representing the target image by performing a second resizing process that does not involve image interpolation;
a compression function that generates the second type print command including second type image data by run-length compressing the resized image data;
including
Said computer program comprises:
a second acquisition function for acquiring capability information, which is information about the capabilities of the print execution unit, from the print execution unit;
a selection function for selecting the target print command from the plurality of types of print commands using the capability information;
A computer program that makes a computer realize
請求項に記載のコンピュータプログラムであって、
前記能力情報は、前記印刷実行部が受け付ける画像データの解像度である入力解像度に関する情報を含み、
前記選択機能は、前記対象画像データがビットマップデータであり、前記対象画像データのピクセル数と相関を有するサイズが前記入力解像度に基づく入力サイズよりも小さいことを含む条件が満たされる場合に、前記対象印刷コマンドとして前記第2種印刷コマンドを選択し、
前記画像サイズ変更機能は、前記対象画像データのサイズを前記入力サイズに変更する拡大処理を前記第2サイズ変更処理として実行することによって、前記サイズ変更済画像データを生成する、
コンピュータプログラム。
A computer program according to claim 1 , comprising:
The capability information includes information on input resolution, which is the resolution of image data accepted by the print execution unit,
When the target image data is bitmap data and a size correlated with the number of pixels of the target image data is smaller than an input size based on the input resolution, the selecting the second type print command as the target print command;
The image resizing function generates the resized image data by executing an enlarging process of changing the size of the target image data to the input size as the second resizing process.
computer program.
請求項1または2に記載のコンピュータプログラムであって、
前記第2生成機能は、前記対象画像データがドキュメントデータである場合に、前記対象画像データを、非圧縮のビットマップデータと可逆圧縮されたビットマップデータとのいずれかである対象ビットマップデータに変換する変換機能を含み、
前記圧縮機能は、前記対象ビットマップデータと、前記対象ビットマップデータに前記第2サイズ変更処理を実行して得られる画像データと、のいずれかをランレングス圧縮することによって、前記第2種印刷コマンドに含まれる前記第2種画像データを生成する、
コンピュータプログラム。
3. A computer program according to claim 1 or 2 ,
When the target image data is document data, the second generation function converts the target image data into target bitmap data that is either uncompressed bitmap data or reversibly compressed bitmap data. Contains a conversion function that converts,
The compression function performs run-length compression of either the target bitmap data or image data obtained by performing the second size change processing on the target bitmap data, thereby performing the second-type printing. generating the second type image data included in the command;
computer program.
印刷実行部に画像を印刷させるためのコンピュータプログラムであって、
対象画像の対象画像データを取得する第1取得機能と、
第1種印刷コマンドと第2種印刷コマンドとを含む複数種類の印刷コマンドのうちの少なくとも1種の印刷コマンドであって、前記印刷実行部に出力すべき印刷コマンドとして選択される対象印刷コマンドを含む前記少なくとも1種の印刷コマンドを生成するコマンド生成機能と、
前記対象印刷コマンドを前記印刷実行部に出力する出力機能と、
を、コンピュータに実現させ、
前記コマンド生成機能によって実現される前記第1種印刷コマンドを生成する第1生成機能は、前記対象画像データを用いて、画像補間を含む第1サイズ変更処理を実行することによって、第1種画像データを含む前記第1種印刷コマンドを生成する機能を含み、
前記コマンド生成機能によって実現される前記第2種印刷コマンドを生成する第2生成機能は、
前記対象画像データを用いて、画像補間を含まない第2サイズ変更処理を実行することによって、前記対象画像を表すサイズ変更済画像データを生成する画像サイズ変更機能と、
前記サイズ変更済画像データをランレングス圧縮することによって、第2種画像データを含む前記第2種印刷コマンドを生成する圧縮機能と、
を含み、
前記第2生成機能は、前記対象画像データがドキュメントデータである場合に、前記対象画像データを、非圧縮のビットマップデータと可逆圧縮されたビットマップデータとのいずれかである対象ビットマップデータに変換する変換機能を含み、
前記圧縮機能は、前記対象ビットマップデータと、前記対象ビットマップデータに前記第2サイズ変更処理を実行して得られる画像データと、のいずれかをランレングス圧縮することによって、前記第2種印刷コマンドに含まれる前記第2種画像データを生成する、
コンピュータプログラム。
A computer program for causing a print execution unit to print an image,
a first acquisition function for acquiring target image data of a target image;
a target print command that is at least one of a plurality of types of print commands including a first type print command and a second type print command and is selected as a print command to be output to the print execution unit; a command generation function for generating the at least one print command comprising;
an output function for outputting the target print command to the print execution unit;
is implemented on a computer,
A first generation function that generates the first type print command realized by the command generation function executes a first size change process including image interpolation using the target image data to generate a first type image. including a function to generate the first type print command including data;
A second generation function that generates the second type print command realized by the command generation function includes:
an image resizing function that uses the target image data to generate resized image data representing the target image by performing a second resizing process that does not involve image interpolation;
a compression function that generates the second type print command including second type image data by run-length compressing the resized image data;
including
When the target image data is document data, the second generation function converts the target image data into target bitmap data that is either uncompressed bitmap data or reversibly compressed bitmap data. Contains a conversion function that converts,
The compression function performs run-length compression of either the target bitmap data or image data obtained by performing the second size change processing on the target bitmap data, thereby performing the second-type printing. generating the second type image data included in the command;
computer program.
請求項1から4のいずれかに記載のコンピュータプログラムであって、
前記画像サイズ変更機能は、前記対象画像データがビットマップデータであり、前記対象画像データのピクセル数と相関を有するサイズが基準サイズよりも大きい場合に、前記対象画像データのサイズを前記基準サイズ以下のサイズに変更する縮小処理と、前記縮小処理によって得られる画像データのサイズを前記印刷実行部が受け付ける画像データの解像度である入力解像度に基づく入力サイズに変更する拡大処理とを、前記第2サイズ変更処理として実行することによって、前記サイズ変更済画像データを生成する、
コンピュータプログラム。
A computer program according to any one of claims 1 to 4,
The image size changing function reduces the size of the target image data to the reference size or less when the target image data is bitmap data and the size correlated with the number of pixels of the target image data is larger than the reference size. and an enlargement process of changing the size of the image data obtained by the reduction process to an input size based on the input resolution, which is the resolution of the image data accepted by the print execution unit. generating the resized image data by executing as a modification process;
computer program.
印刷実行部に画像を印刷させるためのコンピュータプログラムであって、
対象画像の対象画像データを取得する第1取得機能と、
第1種印刷コマンドと第2種印刷コマンドとを含む複数種類の印刷コマンドのうちの少なくとも1種の印刷コマンドであって、前記印刷実行部に出力すべき印刷コマンドとして選択される対象印刷コマンドを含む前記少なくとも1種の印刷コマンドを生成するコマンド生成機能と、
前記対象印刷コマンドを前記印刷実行部に出力する出力機能と、
を、コンピュータに実現させ、
前記コマンド生成機能によって実現される前記第1種印刷コマンドを生成する第1生成機能は、前記対象画像データを用いて、画像補間を含む第1サイズ変更処理を実行することによって、第1種画像データを含む前記第1種印刷コマンドを生成する機能を含み、
前記コマンド生成機能によって実現される前記第2種印刷コマンドを生成する第2生成機能は、
前記対象画像データを用いて、画像補間を含まない第2サイズ変更処理を実行することによって、前記対象画像を表すサイズ変更済画像データを生成する画像サイズ変更機能と、
前記サイズ変更済画像データをランレングス圧縮することによって、第2種画像データを含む前記第2種印刷コマンドを生成する圧縮機能と、
を含み、
前記画像サイズ変更機能は、前記対象画像データがビットマップデータであり、前記対象画像データのピクセル数と相関を有するサイズが基準サイズよりも大きい場合に、前記対象画像データのサイズを前記基準サイズ以下のサイズに変更する縮小処理と、前記縮小処理によって得られる画像データのサイズを前記印刷実行部が受け付ける画像データの解像度である入力解像度に基づく入力サイズに変更する拡大処理とを、前記第2サイズ変更処理として実行することによって、前記サイズ変更済画像データを生成する、
コンピュータプログラム。
A computer program for causing a print execution unit to print an image,
a first acquisition function for acquiring target image data of a target image;
a target print command that is at least one of a plurality of types of print commands including a first type print command and a second type print command and is selected as a print command to be output to the print execution unit; a command generation function for generating the at least one print command comprising;
an output function for outputting the target print command to the print execution unit;
is implemented on a computer,
A first generation function that generates the first type print command realized by the command generation function executes a first size change process including image interpolation using the target image data to generate a first type image. including a function to generate the first type print command including data;
A second generation function that generates the second type print command realized by the command generation function includes:
an image resizing function that uses the target image data to generate resized image data representing the target image by performing a second resizing process that does not involve image interpolation;
a compression function that generates the second type print command including second type image data by run-length compressing the resized image data;
including
The image size changing function reduces the size of the target image data to the reference size or less when the target image data is bitmap data and the size correlated with the number of pixels of the target image data is larger than the reference size. and an enlargement process of changing the size of the image data obtained by the reduction process to an input size based on the input resolution, which is the resolution of the image data accepted by the print execution unit. generating the resized image data by executing as a modification process;
computer program.
請求項1からのいずれかに記載のコンピュータプログラムであって、
前記対象画像を前記印刷実行部に印刷させる指示を受け付ける受付機能と、
前記指示が受け付けられる前に、前記対象画像を表示部に表示させる表示機能と、
を、コンピュータに実現させ、
前記コマンド生成機能は、前記指示が受け付けられる前に、前記第2種印刷コマンドの生成を開始する、
コンピュータプログラム。
A computer program according to any one of claims 1 to 6 ,
a reception function that receives an instruction to print the target image to the print execution unit;
a display function for displaying the target image on a display unit before the instruction is accepted;
is implemented on a computer,
The command generation function starts generating the second type print command before the instruction is accepted.
computer program.
印刷実行部に画像を印刷させるためのコンピュータプログラムであって、
対象画像の対象画像データを取得する第1取得機能と、
第1種印刷コマンドと第2種印刷コマンドとを含む複数種類の印刷コマンドのうちの少なくとも1種の印刷コマンドであって、前記印刷実行部に出力すべき印刷コマンドとして選択される対象印刷コマンドを含む前記少なくとも1種の印刷コマンドを生成するコマンド生成機能と、
前記対象印刷コマンドを前記印刷実行部に出力する出力機能と、
を、コンピュータに実現させ、
前記コマンド生成機能によって実現される前記第1種印刷コマンドを生成する第1生成機能は、前記対象画像データを用いて、画像補間を含む第1サイズ変更処理を実行することによって、第1種画像データを含む前記第1種印刷コマンドを生成する機能を含み、
前記コマンド生成機能によって実現される前記第2種印刷コマンドを生成する第2生成機能は、
前記対象画像データを用いて、画像補間を含まない第2サイズ変更処理を実行することによって、前記対象画像を表すサイズ変更済画像データを生成する画像サイズ変更機能と、
前記サイズ変更済画像データをランレングス圧縮することによって、第2種画像データを含む前記第2種印刷コマンドを生成する圧縮機能と、
を含み、
前記コンピュータプログラムは、
前記対象画像を前記印刷実行部に印刷させる指示を受け付ける受付機能と、
前記指示が受け付けられる前に、前記対象画像を表示部に表示させる表示機能と、
を、コンピュータに実現させ、
前記コマンド生成機能は、前記指示が受け付けられる前に、前記第2種印刷コマンドの生成を開始する、
コンピュータプログラム。
A computer program for causing a print execution unit to print an image,
a first acquisition function for acquiring target image data of a target image;
a target print command that is at least one of a plurality of types of print commands including a first type print command and a second type print command and is selected as a print command to be output to the print execution unit; a command generation function for generating the at least one print command comprising;
an output function for outputting the target print command to the print execution unit;
is implemented on a computer,
A first generation function that generates the first type print command realized by the command generation function executes a first size change process including image interpolation using the target image data to generate a first type image. including a function to generate the first type print command including data;
A second generation function that generates the second type print command realized by the command generation function includes:
an image resizing function that uses the target image data to generate resized image data representing the target image by performing a second resizing process that does not involve image interpolation;
a compression function that generates the second type print command including second type image data by run-length compressing the resized image data;
including
Said computer program comprises:
a reception function that receives an instruction to print the target image to the print execution unit;
a display function for displaying the target image on a display unit before the instruction is accepted;
is implemented on a computer,
The command generation function starts generating the second type print command before the instruction is accepted.
computer program.
請求項7または8に記載のコンピュータプログラムであって、
前記第2種印刷コマンドのうちの前記指示が受け付けられる前に生成済の部分を含む特定部分のデータサイズが基準データサイズを超える場合に、前記出力機能に前記第1種印刷コマンドを出力させる出力設定機能を、コンピュータに実現させる、コンピュータプログラム。
9. A computer program according to claim 7 or 8 ,
Output for causing the output function to output the first type print command when a data size of a specific portion including a portion already generated before the instruction is accepted out of the second type print command exceeds a reference data size. A computer program that causes a computer to implement a setting function.
請求項1からのいずれかに記載のコンピュータプログラムであって、
前記第2生成機能は、前記コンピュータが複数の演算部を備える場合に、前記第2種印刷コマンドを生成する処理に含まれる複数の処理を、前記複数の演算部に並列して実行させる並列処理機能を含む、
コンピュータプログラム。
A computer program according to any one of claims 1 to 9 ,
When the computer includes a plurality of calculation units, the second generation function is parallel processing that causes the plurality of calculation units to execute in parallel a plurality of processes included in the process of generating the type 2 print command. including features,
computer program.
印刷実行部に画像を印刷させるためのコンピュータプログラムであって、
対象画像の対象画像データを取得する第1取得機能と、
第1種印刷コマンドと第2種印刷コマンドとを含む複数種類の印刷コマンドのうちの少なくとも1種の印刷コマンドであって、前記印刷実行部に出力すべき印刷コマンドとして選択される対象印刷コマンドを含む前記少なくとも1種の印刷コマンドを生成するコマンド生成機能と、
前記対象印刷コマンドを前記印刷実行部に出力する出力機能と、
を、コンピュータに実現させ、
前記コマンド生成機能によって実現される前記第1種印刷コマンドを生成する第1生成機能は、前記対象画像データを用いて、画像補間を含む第1サイズ変更処理を実行することによって、第1種画像データを含む前記第1種印刷コマンドを生成する機能を含み、
前記コマンド生成機能によって実現される前記第2種印刷コマンドを生成する第2生成機能は、
前記対象画像データを用いて、画像補間を含まない第2サイズ変更処理を実行することによって、前記対象画像を表すサイズ変更済画像データを生成する画像サイズ変更機能と、
前記サイズ変更済画像データをランレングス圧縮することによって、第2種画像データを含む前記第2種印刷コマンドを生成する圧縮機能と、
を含み、
前記第2生成機能は、前記コンピュータが複数の演算部を備える場合に、前記第2種印刷コマンドを生成する処理に含まれる複数の処理を、前記複数の演算部に並列して実行させる並列処理機能を含む、
コンピュータプログラム。
A computer program for causing a print execution unit to print an image,
a first acquisition function for acquiring target image data of a target image;
a target print command that is at least one of a plurality of types of print commands including a first type print command and a second type print command and is selected as a print command to be output to the print execution unit; a command generation function for generating the at least one print command comprising;
an output function for outputting the target print command to the print execution unit;
is implemented on a computer,
A first generation function that generates the first type print command realized by the command generation function executes a first size change process including image interpolation using the target image data to generate a first type image. including a function to generate the first type print command including data;
A second generation function that generates the second type print command realized by the command generation function includes:
an image resizing function that uses the target image data to generate resized image data representing the target image by performing a second resizing process that does not involve image interpolation;
a compression function that generates the second type print command including second type image data by run-length compressing the resized image data;
including
When the computer includes a plurality of calculation units, the second generation function is parallel processing that causes the plurality of calculation units to execute in parallel a plurality of processes included in the process of generating the type 2 print command. including features,
computer program.
請求項10または11に記載のコンピュータプログラムであって、
前記並列処理機能は、前記第2種画像データに含まれる複数のバンドデータであって前記対象画像に含まれる複数のバンド画像に対応する前記複数のバンドデータのうちの少なくとも一部の複数のバンドデータを生成する処理を、前記複数の演算部に並列して実行させ、
前記複数のバンド画像のうちの前記対象画像の最先に印刷されるべき先端を含む先端バンド画像のサイズは、他の1以上のバンド画像のそれぞれのサイズのうちの最大サイズよりも、小さく、
前記出力機能は、前記先端バンド画像のバンドデータである先端バンドデータを生成する処理が完了した場合には、前記他の1以上のバンド画像のうちの少なくとも1つのバンド画像の前記バンドデータを生成する処理が完了していない場合であっても、前記先端バンドデータを前記印刷実行部に出力する、
コンピュータプログラム。
12. A computer program according to claim 10 or 11 ,
The parallel processing function is a plurality of bands of at least a part of the plurality of band data included in the second type image data and corresponding to the plurality of band images included in the target image. causing the plurality of calculation units to execute processing for generating data in parallel;
the size of the leading edge band image including the leading edge to be printed first of the target image among the plurality of band images is smaller than the maximum size among the sizes of each of the other one or more band images;
The output function generates the band data of at least one band image out of the other one or more band images when the process of generating leading edge band data, which is the band data of the leading edge band image, is completed. outputting the leading edge band data to the print execution unit even if the processing for printing is not completed;
computer program.
印刷実行部に画像を印刷させるための制御装置であって、
対象画像の対象画像データを取得する第1取得部と、
第1種印刷コマンドと第2種印刷コマンドとを含む複数種類の印刷コマンドのうちの少なくとも1種の印刷コマンドであって、前記印刷実行部に出力すべき印刷コマンドとして選択される対象印刷コマンドを含む前記少なくとも1種の印刷コマンドを生成するコマンド生成部と、
前記対象印刷コマンドを前記印刷実行部に出力する出力部と、
を、備え、
前記コマンド生成部によって実現される前記第1種印刷コマンドを生成する第1生成処理は、前記対象画像データを用いて、画像補間を含む第1サイズ変更処理を実行することによって、第1種画像データを含む前記第1種印刷コマンドを生成する処理を含み、
前記コマンド生成部によって実現される前記第2種印刷コマンドを生成する第2生成処理は、
前記対象画像データを用いて、画像補間を含まない第2サイズ変更処理を実行することによって、前記対象画像を表すサイズ変更済画像データを生成する画像サイズ変更処理と、
前記サイズ変更済画像データをランレングス圧縮することによって、第2種画像データを含む前記第2種印刷コマンドを生成する圧縮処理と、
を含み、
前記制御装置は、
前記印刷実行部から、前記印刷実行部の能力に関する情報である能力情報を取得する第2取得部と、
前記能力情報を用いて、前記複数種類の印刷コマンドから前記対象印刷コマンドを選択する選択部と、
を備える、制御装置。
A control device for causing a print execution unit to print an image,
a first acquisition unit that acquires target image data of a target image;
a target print command that is at least one of a plurality of types of print commands including a first type print command and a second type print command and is selected as a print command to be output to the print execution unit; a command generator for generating the at least one print command including
an output unit that outputs the target print command to the print execution unit;
provided with
The first generation process for generating the first type print command realized by the command generation unit uses the target image data to perform a first size change process including image interpolation to generate a first type image. including a process of generating the type 1 print command containing data;
A second generation process for generating the second type print command realized by the command generation unit includes:
an image resizing process that uses the target image data to generate resized image data representing the target image by performing a second resizing process that does not involve image interpolation;
a compression process for generating the second type print command including second type image data by run-length compressing the resized image data;
including
The control device is
a second acquisition unit that acquires capability information, which is information about the capability of the print execution unit, from the print execution unit;
a selection unit that selects the target print command from the plurality of types of print commands using the capability information;
A controller.
印刷実行部に画像を印刷させるための制御装置であって、
対象画像の対象画像データを取得する第1取得部と、
第1種印刷コマンドと第2種印刷コマンドとを含む複数種類の印刷コマンドのうちの少なくとも1種の印刷コマンドであって、前記印刷実行部に出力すべき印刷コマンドとして選択される対象印刷コマンドを含む前記少なくとも1種の印刷コマンドを生成するコマンド生成部と、
前記対象印刷コマンドを前記印刷実行部に出力する出力部と、
を、備え、
前記コマンド生成部によって実現される前記第1種印刷コマンドを生成する第1生成処理は、前記対象画像データを用いて、画像補間を含む第1サイズ変更処理を実行することによって、第1種画像データを含む前記第1種印刷コマンドを生成する処理を含み、
前記コマンド生成部によって実現される前記第2種印刷コマンドを生成する第2生成処理は、
前記対象画像データを用いて、画像補間を含まない第2サイズ変更処理を実行することによって、前記対象画像を表すサイズ変更済画像データを生成する画像サイズ変更処理と、
前記サイズ変更済画像データをランレングス圧縮することによって、第2種画像データを含む前記第2種印刷コマンドを生成する圧縮処理と、
を含み、
前記第2生成処理は、前記対象画像データがドキュメントデータである場合に、前記対象画像データを、非圧縮のビットマップデータと可逆圧縮されたビットマップデータとのいずれかである対象ビットマップデータに変換する変換処理を含み、
前記圧縮処理は、前記対象ビットマップデータと、前記対象ビットマップデータに前記第2サイズ変更処理を実行して得られる画像データと、のいずれかをランレングス圧縮することによって、前記第2種印刷コマンドに含まれる前記第2種画像データを生成する、
制御装置。
A control device for causing a print execution unit to print an image,
a first acquisition unit that acquires target image data of a target image;
a target print command that is at least one of a plurality of types of print commands including a first type print command and a second type print command and is selected as a print command to be output to the print execution unit; a command generator for generating the at least one print command including
an output unit that outputs the target print command to the print execution unit;
provided with
The first generation process for generating the first type print command realized by the command generation unit uses the target image data to perform a first size change process including image interpolation to generate a first type image. including a process of generating the type 1 print command containing data;
A second generation process for generating the second type print command realized by the command generation unit includes:
an image resizing process that uses the target image data to generate resized image data representing the target image by performing a second resizing process that does not involve image interpolation;
a compression process for generating the second type print command including second type image data by run-length compressing the resized image data;
including
When the target image data is document data, the second generating process converts the target image data into target bitmap data that is either uncompressed bitmap data or reversibly compressed bitmap data. Including conversion processing to convert,
The compression process performs run-length compression of either the target bitmap data or image data obtained by performing the second size change process on the target bitmap data, thereby performing the second-type printing. generating the second type image data included in the command;
Control device.
印刷実行部に画像を印刷させるための制御装置であって、
対象画像の対象画像データを取得する第1取得部と、
第1種印刷コマンドと第2種印刷コマンドとを含む複数種類の印刷コマンドのうちの少なくとも1種の印刷コマンドであって、前記印刷実行部に出力すべき印刷コマンドとして選択される対象印刷コマンドを含む前記少なくとも1種の印刷コマンドを生成するコマンド生成部と、
前記対象印刷コマンドを前記印刷実行部に出力する出力部と、
を、備え、
前記コマンド生成部によって実現される前記第1種印刷コマンドを生成する第1生成処理は、前記対象画像データを用いて、画像補間を含む第1サイズ変更処理を実行することによって、第1種画像データを含む前記第1種印刷コマンドを生成する処理を含み、
前記コマンド生成部によって実現される前記第2種印刷コマンドを生成する第2生成処理は、
前記対象画像データを用いて、画像補間を含まない第2サイズ変更処理を実行することによって、前記対象画像を表すサイズ変更済画像データを生成する画像サイズ変更処理と、
前記サイズ変更済画像データをランレングス圧縮することによって、第2種画像データを含む前記第2種印刷コマンドを生成する圧縮処理と、
を含み、
前記画像サイズ変更処理は、前記対象画像データがビットマップデータであり、前記対象画像データのピクセル数と相関を有するサイズが基準サイズよりも大きい場合に、前記対象画像データのサイズを前記基準サイズ以下のサイズに変更する縮小処理と、前記縮小処理によって得られる画像データのサイズを前記印刷実行部が受け付ける画像データの解像度である入力解像度に基づく入力サイズに変更する拡大処理とを、前記第2サイズ変更処理として実行することによって、前記サイズ変更済画像データを生成する、
制御装置。
A control device for causing a print execution unit to print an image,
a first acquisition unit that acquires target image data of a target image;
a target print command that is at least one of a plurality of types of print commands including a first type print command and a second type print command and is selected as a print command to be output to the print execution unit; a command generator for generating the at least one print command including
an output unit that outputs the target print command to the print execution unit;
provided with
The first generation process for generating the first type print command realized by the command generation unit uses the target image data to perform a first size change process including image interpolation to generate a first type image. including a process of generating the type 1 print command containing data;
A second generation process for generating the second type print command realized by the command generation unit includes:
an image resizing process that uses the target image data to generate resized image data representing the target image by performing a second resizing process that does not involve image interpolation;
a compression process for generating the second type print command including second type image data by run-length compressing the resized image data;
including
In the image size changing process, when the target image data is bitmap data and a size correlated with the number of pixels of the target image data is larger than a reference size, the size of the target image data is reduced to the reference size or less. and an enlargement process of changing the size of the image data obtained by the reduction process to an input size based on the input resolution, which is the resolution of the image data accepted by the print execution unit. generating the resized image data by executing as a modification process;
Control device.
印刷実行部に画像を印刷させるための制御装置であって、
対象画像の対象画像データを取得する第1取得部と、
第1種印刷コマンドと第2種印刷コマンドとを含む複数種類の印刷コマンドのうちの少なくとも1種の印刷コマンドであって、前記印刷実行部に出力すべき印刷コマンドとして選択される対象印刷コマンドを含む前記少なくとも1種の印刷コマンドを生成するコマンド生成部と、
前記対象印刷コマンドを前記印刷実行部に出力する出力部と、
を、備え、
前記コマンド生成部によって実現される前記第1種印刷コマンドを生成する第1生成処理は、前記対象画像データを用いて、画像補間を含む第1サイズ変更処理を実行することによって、第1種画像データを含む前記第1種印刷コマンドを生成する処理を含み、
前記コマンド生成部によって実現される前記第2種印刷コマンドを生成する第2生成処理は、
前記対象画像データを用いて、画像補間を含まない第2サイズ変更処理を実行することによって、前記対象画像を表すサイズ変更済画像データを生成する画像サイズ変更処理と、
前記サイズ変更済画像データをランレングス圧縮することによって、第2種画像データを含む前記第2種印刷コマンドを生成する圧縮処理と、
を含み、
前記制御装置は、
前記対象画像を前記印刷実行部に印刷させる指示を受け付ける受付部と、
前記指示が受け付けられる前に、前記対象画像を表示部に表示させる表示処理部と、
を備え、
前記コマンド生成部は、前記指示が受け付けられる前に、前記第2種印刷コマンドの生成を開始する、
制御装置。
A control device for causing a print execution unit to print an image,
a first acquisition unit that acquires target image data of a target image;
a target print command that is at least one of a plurality of types of print commands including a first type print command and a second type print command and is selected as a print command to be output to the print execution unit; a command generator for generating the at least one print command including
an output unit that outputs the target print command to the print execution unit;
provided with
The first generation process for generating the first type print command realized by the command generation unit uses the target image data to perform a first size change process including image interpolation to generate a first type image. including a process of generating the type 1 print command containing data;
A second generation process for generating the second type print command realized by the command generation unit includes:
an image resizing process that uses the target image data to generate resized image data representing the target image by performing a second resizing process that does not involve image interpolation;
a compression process for generating the second type print command including second type image data by run-length compressing the resized image data;
including
The control device is
a reception unit that receives an instruction to cause the print execution unit to print the target image;
a display processing unit that causes a display unit to display the target image before the instruction is accepted;
with
The command generation unit starts generating the second type print command before the instruction is accepted.
Control device.
印刷実行部に画像を印刷させるための制御装置であって、
対象画像の対象画像データを取得する第1取得部と、
第1種印刷コマンドと第2種印刷コマンドとを含む複数種類の印刷コマンドのうちの少なくとも1種の印刷コマンドであって、前記印刷実行部に出力すべき印刷コマンドとして選択される対象印刷コマンドを含む前記少なくとも1種の印刷コマンドを生成するコマンド生成部と、
前記対象印刷コマンドを前記印刷実行部に出力する出力部と、
を、備え、
前記コマンド生成部によって実現される前記第1種印刷コマンドを生成する第1生成処理は、前記対象画像データを用いて、画像補間を含む第1サイズ変更処理を実行することによって、第1種画像データを含む前記第1種印刷コマンドを生成する処理を含み、
前記コマンド生成部によって実現される前記第2種印刷コマンドを生成する第2生成処理は、
前記対象画像データを用いて、画像補間を含まない第2サイズ変更処理を実行することによって、前記対象画像を表すサイズ変更済画像データを生成する画像サイズ変更処理と、
前記サイズ変更済画像データをランレングス圧縮することによって、第2種画像データを含む前記第2種印刷コマンドを生成する圧縮処理と、
を含み、
前記第2生成処理は、前記制御装置が複数の演算部を備える場合に、前記第2種印刷コマンドを生成する処理に含まれる複数の処理を、前記複数の演算部に並列して実行させる並列処理を含む、
制御装置。
A control device for causing a print execution unit to print an image,
a first acquisition unit that acquires target image data of a target image;
a target print command that is at least one of a plurality of types of print commands including a first type print command and a second type print command and is selected as a print command to be output to the print execution unit; a command generator for generating the at least one print command including
an output unit that outputs the target print command to the print execution unit;
provided with
The first generation process for generating the first type print command realized by the command generation unit uses the target image data to perform a first size change process including image interpolation to generate a first type image. including a process of generating the type 1 print command containing data;
A second generation process for generating the second type print command realized by the command generation unit includes:
an image resizing process that uses the target image data to generate resized image data representing the target image by performing a second resizing process that does not involve image interpolation;
a compression process for generating the second type print command including second type image data by run-length compressing the resized image data;
including
In the case where the control device includes a plurality of calculation units, the second generation process causes the plurality of calculation units to execute in parallel a plurality of processes included in the process of generating the type 2 print command. including processing,
Control device.
JP2018183708A 2018-09-28 2018-09-28 computer program and controller Active JP7137135B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018183708A JP7137135B2 (en) 2018-09-28 2018-09-28 computer program and controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018183708A JP7137135B2 (en) 2018-09-28 2018-09-28 computer program and controller

Publications (2)

Publication Number Publication Date
JP2020052895A JP2020052895A (en) 2020-04-02
JP7137135B2 true JP7137135B2 (en) 2022-09-14

Family

ID=69997370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018183708A Active JP7137135B2 (en) 2018-09-28 2018-09-28 computer program and controller

Country Status (1)

Country Link
JP (1) JP7137135B2 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000196867A (en) 1998-12-25 2000-07-14 Canon Inc Method and device for image processing
JP2000289262A (en) 1999-04-06 2000-10-17 Seiko Epson Corp Printer, print system, print method
JP2003288180A (en) 2002-03-27 2003-10-10 Seiko Epson Corp Printing system, printer host, printer driver and printing possibility ensuring method
JP2005100356A (en) 2003-08-29 2005-04-14 Seiko Epson Corp Printer control program, document operation terminal, document processing system and print data generation method
JP2013078873A (en) 2011-10-03 2013-05-02 Seiko Epson Corp Image processing device and image processing method
JP2013198028A (en) 2012-03-22 2013-09-30 Konica Minolta Inc Information processing device, program, and image forming system
JP2016072785A (en) 2014-09-30 2016-05-09 ブラザー工業株式会社 Printer

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000196867A (en) 1998-12-25 2000-07-14 Canon Inc Method and device for image processing
JP2000289262A (en) 1999-04-06 2000-10-17 Seiko Epson Corp Printer, print system, print method
JP2003288180A (en) 2002-03-27 2003-10-10 Seiko Epson Corp Printing system, printer host, printer driver and printing possibility ensuring method
JP2005100356A (en) 2003-08-29 2005-04-14 Seiko Epson Corp Printer control program, document operation terminal, document processing system and print data generation method
JP2013078873A (en) 2011-10-03 2013-05-02 Seiko Epson Corp Image processing device and image processing method
JP2013198028A (en) 2012-03-22 2013-09-30 Konica Minolta Inc Information processing device, program, and image forming system
JP2016072785A (en) 2014-09-30 2016-05-09 ブラザー工業株式会社 Printer

Also Published As

Publication number Publication date
JP2020052895A (en) 2020-04-02

Similar Documents

Publication Publication Date Title
US9137416B2 (en) Controlling device
US8508775B2 (en) Image processing with body region image and peripheral region image
EP3355568B1 (en) Image processing apparatus and method for controlling the same
US8169656B2 (en) Image processing devices and methods for resizing an original image therefor
JP5304827B2 (en) Control device
JP2006033828A (en) Common exchange format architecture for color printing in multi-function system
JP5477320B2 (en) Image processing device
JP5932313B2 (en) Printing apparatus, print preview display method and program thereof
US8665484B2 (en) Processing tile images including overlap regions
JP5360112B2 (en) Control device
JP7137135B2 (en) computer program and controller
US8144378B2 (en) Image processing device, image processing method, and computer program product
JP2004104735A (en) Image processor, generating device and printing device
US20100165395A1 (en) Image processing apparatus, image processing system, and control method for image processing apparatus
JP6882043B2 (en) Image processing equipment, programs and image processing methods
US8582168B2 (en) Image processing apparatus and processing method thereof
JP5672340B2 (en) Control device
US9001388B2 (en) Imaging forming apparatus to merge print data with a rendering image, method of image forming, and computer-readable recording medium
JP6427960B2 (en) Image processing device
JP2008017032A (en) Image processor and image processing method
JP5978706B2 (en) Printing control program, information processing apparatus, printing system, and printing apparatus
JP2002236566A (en) Page print system and print data generating device
JP2024042401A (en) Image processing apparatus, method for controlling image processing apparatus, and program
US20110158531A1 (en) Image processing apparatus and control method thereof
JP6051526B2 (en) Image processing system, image forming apparatus, image processing 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: 20210720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220706

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220816

R150 Certificate of patent or registration of utility model

Ref document number: 7137135

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150