Image processing device, image processing method and program

By managing the mode commands in the PDL data in the image processing device, ensuring that the image data in the repeated mode is stored only once, the problem of increased memory usage when generating bitmap data is solved, and more efficient memory usage is achieved and the cost of increased hardware resources is reduced.

JP2025042776APending Publication Date: 2025-03-28CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023149904
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-15
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

When bitmap data based on PDL data defined by multiple schemas, the required memory area increases, resulting in an increase in load on the drawing process and increasing hardware resources to solve this problem can increase costs.

Method used

By implementing the pattern commands in the PDL data in the image processing device, it is ensured that its image data is stored only once for the repetitive pattern, and that this data is managed through the pattern identifier to reduce memory usage.

Benefits of technology

Effectively suppresses the increase in memory areas required to generate bitmap data based on multimodal definitions, thereby reducing the load on the drawing process and avoiding the cost of increasing hardware resources to solve this problem.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025042776000001_ABST
    Figure 2025042776000001_ABST
Patent Text Reader

Abstract

To suppress increase of memory regions that are required in generating bitmap data on the basis of PDL data in which a plurality of patterns are defined.SOLUTION: An image processing device, which generates bitmap data on the basis of PDL data, comprises: obtaining means that obtains the PDL data; identifying means that when the obtaining means obtains PDL data including a command showing that a predetermined range in a page should be drawn by repeating patterns, identifies the patterns defined in the command; and managing means that stores, in a memory, image data on the identified patterns and manages the patterns. The managing means manages the identified patterns so that one image data are stored in the memory, for the same patterns.SELECTED DRAWING: Figure 10
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a process for creating bitmap data from PDL data. [Background technology]

[0002] Data (hereinafter referred to as "PDL data") in which image contents are described in a page description language (hereinafter referred to as "PDL") is known as print job data for instructing an image forming device to perform printing. The image forming device interprets the received PDL data to generate bitmap data, and prints an image on a storage medium based on the generated bitmap data. The PDL data is transmitted from a print control device (computer) to the image forming device.

[0003] Patent Document 1 describes a method for generating PDL data by converting XPS data into a portion where a pattern is repeatedly drawn and the other portion in different methods, thereby generating PDL data in PCL.

[0004] By the way, there are images such as background patterns in which the area to be drawn is expressed by repeating unit images (hereinafter referred to as "patterns"). In PDL data, the content of images such as background patterns is described as pattern commands consisting of various information such as pattern information, size information, and an identifier that identifies the pattern. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] JP 2017-97463 A Summary of the Invention [Problem to be solved by the invention]

[0006] The generated PDL data may differ depending on the printer driver built into the print control device. For example, PDL data may be generated in which the same pattern is defined multiple times for an area in which one type of tint block is to be drawn. When bitmap data is generated based on such PDL data, the same pattern is stored multiple times in memory and the tint block is drawn. For this reason, when the tint block is drawn based on the PDL data, the memory area required increases, which may increase the load of the drawing process. Adding hardware resources to solve this problem would increase costs.

[0007] An object of the present disclosure is to suppress an increase in memory area required when generating bitmap data based on PDL data in which multiple patterns are defined. [Means for solving the problem]

[0008] The image processing device disclosed herein is an image processing device that generates bitmap data based on PDL data, and includes an acquisition means for acquiring the PDL data, an identification means for identifying the pattern defined in the command when PDL data including a command indicating that a pattern is to be repeatedly drawn within a specified range within a page, and a management means for storing and managing image data of the identified pattern in memory, and is characterized in that the management means manages the identified pattern so that one image data for the same pattern is stored in the memory. Effect of the Invention

[0009] According to the technique of the present disclosure, it is possible to suppress an increase in memory area required when generating bitmap data based on PDL data in which multiple patterns are defined. [Brief description of the drawings]

[0010] [Figure 1] FIG. 1 is a block diagram showing a configuration of an image forming apparatus. [Diagram 2] FIG. 2 is a diagram showing the configuration of a printer controller unit. [Diagram 3] FIG. 2 is a block diagram showing a functional configuration related to an image processing operation of the image forming apparatus. [Figure 4] FIG. 4 is a diagram showing an example of an image indicated by a pattern command included in the PDL data. [Diagram 5] FIG. 4 is a diagram showing pattern commands included in PDL data. [Figure 6] FIG. 4 is a diagram showing pattern commands included in PDL data. [Figure 7] FIG. 4 is a diagram showing pattern commands included in PDL data. [Figure 8] FIG. 13 is a diagram for explaining a comparative example of a document storage unit. [Figure 9] FIG. 4 is a diagram for explaining a document storage unit. [Figure 10] 11 is a flowchart for explaining a processing method relating to storing a pattern. [Figure 11] 11 is a flowchart for explaining a pattern search process. [Figure 12] FIG. 4 is a diagram for explaining a document storage unit. [Figure 13] FIG. 4 is a diagram for explaining a document storage unit. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Hereinafter, embodiments for carrying out the technology of the present disclosure will be described with reference to the drawings.

[0012] <Embodiment 1> [Printer configuration] 1 is a block diagram showing the configuration of an image forming apparatus 100, which is an example of a printing apparatus according to this embodiment. The image forming apparatus 100 includes a printer controller unit 103, a printer engine unit 105, and an operation panel unit 104.

[0013] Printer controller unit 103 receives print data including various PDL data from external device 101 such as a host computer (hereinafter, host). Bitmap data, which is image data (page information), is generated by analyzing the print data. This generated image data is sent to printer engine unit 105 via an interface. Printer engine unit 105 forms an image indicated by the image data generated by printer controller unit 103 on paper by an electrophotographic process. Printer engine unit 105 includes each mechanism and an engine control unit that controls each printing process performed by each mechanism. Operation panel unit 104 is a user interface, and an input operation for a user to instruct image forming apparatus 100 to perform a desired operation is performed via operation panel unit 104.

[0014] [Printer controller configuration] 2 is a diagram showing the configuration of the printer controller unit 103. A CPU 202 controls the entire printer controller unit 103. The printer controller unit 103 functions as an input / output unit for data including various PDL data exchanged with the external device 101 by the CPU 202.

[0015] The RAM 204 is a system work memory for the operation of the CPU 202, and is also an image memory for temporarily storing input image data. The ROM 205 stores system control codes and programs for executing various processes described below. The HDD 209 is a hard disk drive, and stores system software for various processes, input image data, and the like.

[0016] The CPU 202 loads control codes and programs stored in the ROM 205 into the RAM 204 and executes them to control the entire image forming apparatus 100 and execute various processes described below. The host I / F 203 controls communication between the printer controller unit 103 and the external device 101.

[0017] A raster image processor (RIP) 206 develops the PDL data into bitmap data. The CPU 202 uses the RIP 206 to generate bitmap data that can be processed by the printer engine unit 105 from the PDL data input via the host I / F 203 in accordance with the control code stored in the ROM 205. The bitmap data is transferred to the printer engine unit 105 as a video signal via an engine I / F unit 207. The engine I / F unit 207 constitutes an input / output unit for signals exchanged with the printer engine unit 105, and controls communication with the printer engine unit 105.

[0018] The operation panel unit I / F 201 functions as an interface between the operation panel unit 104 and the CPU 202. A mode setting or the like instructed by a user operating the operation panel unit 104 is input to the CPU 202 via the operation panel unit I / F 201.

[0019] The CPU 202 controls each of the above-mentioned blocks in accordance with a mode setting instructed from the operation panel unit 104. This control by the CPU 202 is executed based on a control code stored in a ROM 205. Each of the above-mentioned blocks, including the CPU 202, is connected to a system bus 208 so that the CPU 202 can access it.

[0020] [Function configuration] FIG. 3 is a block diagram showing functions related to the image processing operation in the image forming apparatus 100. As shown in FIG.

[0021] The network input / output control unit 301 functions as a printer interface, and controls network input / output with the external device 101 via the host I / F 203. The network input / output control unit 301 receives PDL data transmitted from an external network, and stores the received PDL data in a document storage unit 307.

[0022] The protocol control unit 302 communicates with the outside world by analyzing and transmitting network protocols.

[0023] The PDL data analysis unit 303 acquires the PDL data expanded in the document storage unit 307, analyzes the acquired PDL data, and converts it into intermediate data for each drawing object. The drawing objects are, for example, characters (text objects), figures (graphic objects), and photographs (image objects). The intermediate data generated by the PDL data analysis unit 303 is passed to the data drawing unit 304 via the document storage unit 307 for processing. The PDL data analysis unit 303 is provided with a dedicated interpreter for each PDL type. When receiving PDL data, the CPU 202 identifies the characteristics of the PDL from the command syntax of the file format and specifies the PDL type to be analyzed by the PDL data analysis unit 303.

[0024] The data rendering unit 304 renders the intermediate data into bitmap data using a scanline renderer rendering method. The rendered bitmap data is sequentially rendered in the page memory 305. The page memory 305 temporarily holds the bitmap data rendered by the data rendering unit 304 in the RAM 204, the HDD 209, or the like.

[0025] Panel input / output control unit 306 controls input / output of operation panel unit 104 via operation panel unit I / F 201. Panel input / output control unit 306 controls displaying bitmap data expanded for preview in page memory 305 as a preview image on operation panel unit 104. Panel input / output control unit 306 controls displaying the updated preview image on operation panel unit 104 each time the bitmap data for preview expanded in page memory 305 is updated.

[0026] The document storage unit 307 is a memory realized in a secondary storage device such as the RAM 204 or a hard disk such as the HDD 209, and stores data files including vector data and intermediate data for each block (job) of an input document.

[0027] The print control unit 308 converts the contents of the page memory 305 into a video signal, and transfers the image to the printer engine unit 105 via the engine I / F unit 207 .

[0028] Each functional unit in Fig. 3 is realized by CPU 202 executing a predetermined program, but is not limited to this. Other hardware such as a GPU (Graphics Processing Unit) or an FPGA (Field Programmable Gate Array) for accelerating calculations may also be used. Each functional unit may be realized by cooperation between software and hardware such as a dedicated IC, or some or all of the functions may be realized only by hardware.

[0029] [About pattern commands] FIG. 4 is a diagram showing an example of an image indicated by a pattern command included in the PDL data.

[0030] Fig. 4(a) is a diagram for explaining an image generated by spreadsheet software such as EXCEL (registered trademark). A predetermined range 401 shown in (a-1) of Fig. 4(a) is an area in a page consisting of eight cells, and indicates an area filled with the same pattern.

[0031] Fig. 4(a-2) is an enlarged view of cell A01, which is one of the eight cells included in the predetermined range 401. Fig. 4(a-3) is an enlarged view of pattern P01. As shown in Fig. 4(a), cell A01 is expressed so that the entire cell is filled with the same pattern P01 repeated. Moreover, the eight cells included in the predetermined range 401 are filled with pattern P01, just like cell A01.

[0032] Fig. 4(a-4) is an enlarged view of cell A03, which is a cell different from the cells included in the predetermined range 401. Fig. 4(a-5) is an enlarged view of pattern P02, which is different from pattern P01. Cell A03 is entirely filled with pattern P02 repeated.

[0033] 5, 6, and 7 are diagrams showing examples of pattern commands in which the contents of the image in the predetermined area 401 in FIG. 4(a) are described, and are diagrams showing a part of the PDL data. The page description language in the PDL data will be described as PCL (printer command language). For this reason, the PDL data is sometimes called PCL data.

[0034] FIG. 5 is a diagram showing a pattern command for drawing cell A01 included in predetermined range 401 in FIG. 4(a). The pattern command included in the PDL data defines a pattern used for filling. Specifically, as shown in area CB11 in FIG. 5, image data of 54 bytes of pattern P01 is included. As shown in area 501 of area CB11, an identifier with a value of "10" ("PatternID"="10") is defined as the identifier corresponding to the pattern defined in area CB11.

[0035] In area CB12 in Fig. 5, a pattern with an identifier value of "10" ("PatternID" = "10") is defined as an image for a "brush." ​​A "brush" is a color or image (pattern) used to fill the interior of a shape in a PCL command. Also, the PCL command "Pen (color or image used to fill the outline of a shape)" may be specified instead of a "brush."

[0036] Area CB13 in Fig. 5 defines the range of two-dimensional positions in which the defined pattern is filled by repeating. Specifically, a rectangular area corresponding to cell A01 in Fig. 4(a), which is the drawing area to be filled with the brush, is defined using the coordinates (483,508) of the upper left point and the coordinates (1279,817) of the lower right point. According to the pattern command in Fig. 4, the pattern (brush) defined as the "brush" image in area CB12 is repeatedly drawn in the drawing area defined in area CB13, filling cell A01.

[0037] A command for filling a pattern with PDL data is often composed of three parts: a pattern definition such as area CB11, a brush definition such as area CB12, and a drawing area (fill range) definition such as area CB13.

[0038] The pattern command indicates commands related to pattern definitions that are composed of three PCL commands (BegineRastPattern, ReadRastPattern, EndRastPattern) such as those in field CB11 and associated attribute values.

[0039] FIG. 6 is a diagram showing a pattern command for drawing cell A02 included in the predetermined range 401 in FIG. 4(a). The pattern used for filling in cell A02 is the same as that in cell A01. For this reason, as shown in area CB14 in FIG. 6, a 54-byte pattern P01 is defined as an image for a "brush." ​​However, in the pattern command in FIG. 6, as shown in area 601 of area CB14, an identifier with a value of "18" ("PatternID"="18") is defined as an identifier corresponding to pattern P01 defined in area CB14.

[0040] The predetermined range 401 in FIG. 4(a) is a range to be filled with the same pattern P01, but a pattern command may be generated for each cell included in the predetermined range 401 by the printer driver. In this case, the PDL data contains seven other pattern commands similar to those in FIG. 5, one of which is the pattern command in FIG. 6. Also, in each of the pattern commands indicating the eight cells that make up the predetermined range 401, a different identifier is defined for the pattern defined as an image for the "brush." ​​That is, the pattern P01 is defined for each cell included in the predetermined range 401, and the pattern P01 is associated with a different identifier for each cell. For this reason, in FIG. 6, an identifier with a value of "18" ("PatternID"="18") is defined as an identifier corresponding to the pattern P01.

[0041] FIG. 7 is a diagram showing a pattern command for drawing cell A03 in FIG. 4(a). In the PDL data, a pattern P02 used to fill in cell A03 is defined. Specifically, as shown in area CB17 in FIG. 7, the 44-byte pattern P02 is defined as an image associated with an identifier with a value of "18" ("PatternID"="18"). PCL is designed to allow the reuse of pattern identifiers. For this reason, a pattern command (PCL data) may be generated in which a different pattern or the same pattern is associated with an identifier that has been used once.

[0042] Since PDL data generated by different printer drivers differs, PDL data in which different identifiers are defined for the same pattern may also occur in PDL data representing the contents of an image generated by an application other than a spreadsheet software. Fig. 4(b) is an enlarged view of a dotted ruled line 410 generated by an application other than a spreadsheet software. For example, in the PDL data representing the contents of the ruled line 410, a pattern containing one white and one black is defined as an image with identifier "A" to draw an area 411 included in the ruled line 410. Furthermore, in the PDL data, a pattern identical to identifier "A" may be defined as an image with identifier "B" to be used to draw an area 412 included in the ruled line 410.

[0043] [Comparison example of data stored in document storage unit] As described above, the PDL data received by the printing device may contain a pattern command for each predetermined drawing area (cell), and a pattern may be defined in each pattern command. Image data of a "brush" pattern defined in a pattern command identified by analyzing the PDL data is stored in the document storage unit 307, and is used when repeatedly drawing within the drawing area when the data is expanded into bitmap data. A pattern whose image data is stored in the document storage unit 307 is also called a stored pattern.

[0044] As a comparative example, it is assumed that image data of all patterns defined by pattern commands in the received PDL data is stored in the document storage unit 307. In this case, image data of the same pattern may be stored multiple times in the document storage unit 307.

[0045] Fig. 8 is a diagram for explaining the state in the document storage unit 307 when a pattern is stored by the method of the comparative example. For example, assume that PDL data indicating an image in which a predetermined range 401 is filled with a pattern P01 as shown in Fig. 4(a) is received, and that the PDL data includes pattern commands for each of the eight cells that make up the predetermined range 401. Therefore, even if the patterns for "brush" defined in the eight pattern commands are the same, image data for each of the patterns for "brush" defined in the pattern commands for the eight cells is stored as shown in Fig. 8.

[0046] In this way, in the method of the comparative example, image data of the same pattern may be stored multiple times. That is, in the method of the comparative example, even if the number of drawing areas to be filled with the same pattern increases, the memory area required may increase. In this case, the load of the drawing process increases and the printing performance of the image forming apparatus 100 may deteriorate. It is possible to add hardware such as increasing the memory constituting the document storage unit 307, but adding hardware increases costs.

[0047] [Data stored in the document storage unit according to this embodiment] 9 is a diagram for explaining the document storage unit 307 in this embodiment. The PDL data analysis unit 303 secures storage areas for an identification information storage unit 901 and a pattern storage unit 902 in the document storage unit 307 as necessary. In the document storage unit 307 of this embodiment, the identifier and image data are stored separately. The pattern identifier (Pattern ID) is stored in the identification information storage unit 901, and the pattern image data is stored and managed in the pattern storage unit 902.

[0048] The identification information storage unit 901 is a storage area for storing identifiers associated with patterns defined in each pattern command included in the PDL data.

[0049] In the pattern commands of the eight cells constituting the predetermined range 401, different identifiers are defined for the pattern P01 defined in each pattern command. For example, in the pattern commands constituting the predetermined range 401, each of the eight identifiers is associated with the same pattern P01. Therefore, the identification information storage unit 901 stores eight identifiers from the values ​​"10" to "18".

[0050] The pattern storage unit 902 is an area in which image data of a pattern defined in a pattern command as an image for a "brush" is stored. In this embodiment, unlike the comparative example, a determination is made as to whether or not to store image data of a pattern defined in a pattern command, and image data of a pattern determined to be stored is stored in the pattern storage unit 902. Details will be described later.

[0051] 9, an identifier stored in an identification information storage unit 901 is associated (linked) with an address where image data of a corresponding pattern is stored in a pattern storage unit 902. The image data of a pattern stored in the pattern storage unit 902 can be associated with a plurality of identifiers. Therefore, in this embodiment, unlike the comparative example, it is not necessary to store image data of a pattern as many times as the number of identifiers.

[0052] 9 indicates an association (link) between an identifier and image data of a stored pattern associated with the identifier. In this embodiment, when it is necessary to associate an identifier with a stored pattern, a memory address value (address) is set in the pattern storage unit 902. Then, a link is constructed in the document storage unit 307 so that the image data of the pattern stored in the pattern storage unit 902 can be referenced from the identifier.

[0053] [Pattern Memory Processing] In this embodiment, as shown in Fig. 9, a pattern identifier is stored separately from image data. Then, by associating multiple identifiers with one stored pattern image data, the amount of pattern image data stored in the document storage unit 307, which is the memory area of ​​this embodiment, is reduced. This process is performed by the PDL data analysis unit 303 when analyzing the pattern command.

[0054] Fig. 10 is a flowchart for explaining a processing method of PDL data analysis unit 303 when image data of a pattern defined by a pattern command is stored in document storage unit 307. The series of processes shown in the flowchart of Fig. 10 are performed by CPU 202 expanding program code stored in ROM 205 or HDD 209 into RAM 204 and executing it, thereby realizing each functional unit to execute the processing of each step. Alternatively, some or all of the functions of the steps in Fig. 10 may be realized by hardware such as an ASIC or electronic circuit. The symbol "S" in the explanation of each process indicates each process (step) in the flowchart, and the same applies to the subsequent flowcharts.

[0055] The process of Fig. 10 is performed for each pattern command that is identified by analyzing the received PDL data. That is, the process of the flowchart of Fig. 10 is performed for each set of PCL commands (BegineRastPattern, ReadRastPattern, EndRastPattern).

[0056] First, the flowchart in Fig. 10 will be described taking as an example the case where the pattern command to be processed is the pattern command in Fig. 5. The pattern command in Fig. 5 is assumed to be the pattern command that is analyzed for the first time when the input PDL data is analyzed. For this reason, it is assumed that the document storage unit 307 does not store an identifier or image data.

[0057] In S1001, the PDL data analysis unit 303 starts analyzing the pattern command to be processed that is included in the PDL data, and identifies the pattern defined as the image for the "brush" in the pattern command to be processed. The pattern identified in this step is called the definition pattern of the pattern command to be processed. In the following steps, processing is performed on the definition pattern. If the pattern command to be processed is the pattern command in FIG. 5, the pattern defined in area CB11 in FIG. 5 is identified as the definition pattern.

[0058] In S1002, the PDL data analysis unit 303 searches for a pattern identical to the definition pattern among the patterns already stored in the pattern storage unit 902 of the document storage unit 307. As a result of the search, a setting value indicating whether the same pattern exists or not is acquired.

[0059] FIG. 11 is a flowchart for explaining the detailed process of S1002.

[0060] In S1101, the PDL data analysis unit 303 identifies an identifier associated with a definition pattern from the pattern command to be processed. The PDL data analysis unit 303 determines whether an identifier identical to the identified identifier (identifier of the definition pattern) is stored in the identification information storage unit 901 of the document storage unit 307.

[0061] If the PDL data analysis unit 303 determines that the same identifier as the definition pattern identifier is stored in the identification information storage unit 901 (YES in S1101), the process proceeds to S1102. S1102 to S1104 will be described later. If the PDL data analysis unit 303 determines that the same identifier as the definition pattern identifier is not stored in the identification information storage unit 901 (NO in S1101), the process proceeds to S1105.

[0062] In S1105, the PDL data analysis unit 303 reserves a storage area for storing the identifier of the definition pattern in the identification information storage unit 901 of the document storage unit 307, and stores the identifier of the definition pattern in the reserved storage area. Then, the process proceeds to S1106.

[0063] 5, a memory area ST01 shown in Fig. 9 is secured as a memory area for an identifier of the value "10" ("PatternID"="10"). Then, the PDL data analysis unit 303 stores the identifier of the value "10" ("PatternID"="10") defined as an identifier of the defined pattern in the pattern command of Fig. 5 in the memory area ST01.

[0064] In S1106, the PDL data analysis unit 303 judges whether there is a pattern identical to the definition pattern among the patterns already stored in the pattern storage unit 902. The judgment in S1106 may be executed by setting a limit so that the number of patterns already stored in the pattern storage unit 902 to be compared with the definition pattern is set to a predetermined number or less. By reducing the number of searches, the processing load can be suppressed.

[0065] If the PDL data analysis unit 303 determines that the same pattern as the definition pattern is stored in the pattern storage unit 902 (YES in S1106), the process proceeds to S1108. In S1108, the PDL data analysis unit 303 acquires a setting value where the same pattern exists. Then, the flow chart of FIG. 11 ends, and the process proceeds to S1003 in the flow chart of FIG.

[0066] On the other hand, if the PDL data analysis unit 303 determines that the same pattern as the definition pattern is not stored in the pattern storage unit 902 (NO in S1106), the process proceeds to S1107. In S1107, the PDL data analysis unit 303 acquires a setting value for which no same pattern exists. Then, the flow chart of FIG. 11 ends, and the process proceeds to S1003 in the flow chart of FIG.

[0067] The pattern command in Fig. 5 is the first pattern command in the PDL data. When the pattern command in Fig. 5 is the processing target, image data of the pattern is not stored in the pattern storage unit 902, so the determination in S1106 is NO, and a setting value for which no identical pattern exists is acquired in S1107.

[0068] 10, the PDL data analysis unit 303 determines whether or not to store image data of the definition pattern based on the search result of S1002. If the PDL data analysis unit 303 obtains a setting value for which no identical pattern exists as a result of the processing of S1002, the PDL data analysis unit 303 determines to store image data of the definition pattern. If the PDL data analysis unit 303 obtains a setting value for which no identical pattern exists as a result of the processing of S1002, the PDL data analysis unit 303 determines not to store image data of the definition pattern.

[0069] If the PDL data analysis unit 303 determines that the image data of the definition pattern is to be stored (YES in S1003), the process proceeds to S1004. If the PDL data analysis unit 303 determines that the image data of the definition pattern is not to be stored (YES in S1003), the process proceeds to S1006. The process of S1006 will be described later.

[0070] When the pattern command in FIG. 5 is the processing target, a setting value for which no identical pattern exists is acquired as a result of the processing in S1002, so the determination in S1003 becomes YES and the processing proceeds to S1004.

[0071] In S1004, the PDL data analysis unit 303 stores image data of the definition pattern included in the pattern command to be processed in the pattern storage unit 902. In the case of the pattern command of Fig. 5, information on an area CB11 that defines a pattern P01 is newly stored in the pattern storage unit 902. As shown in Fig. 9, the image data of the pattern P01 is stored in a storage area ST03 having a memory address value of A in the pattern storage unit 902.

[0072] In S1005, the PDL data analysis unit 303 constructs a link in the document storage unit 307 so that the identifier of the definition pattern defined in the pattern command to be processed and the image data of the pattern stored in S1004 are associated with each other.

[0073] 5, the memory address value indicating address A where pattern P01 is stored is stored in storage area ST01 of identification information storage unit 901, where an identifier with a value of "10" ("PatternID"="10") is stored. In this way, in document storage unit 307, a link can be constructed between the identifier of the definition pattern defined in the pattern command to be processed and the image data of the newly stored definition pattern. This completes the process related to storing the pattern.

[0074] A drawing process for filling a drawing area defined by a pattern command with a pattern based on the pattern command of FIG. 5 included in the PDL data and the data stored in the document storage unit 307 will be described.

[0075] The data rendering unit 304 obtains the identifier value "10" ("PatternID"="10") defined in the pattern command area CB12 of FIG. 5. The data rendering unit 304 defines the image data of the pattern P01 associated with the identifier value "10" ("PatternID"="10") in the document storage unit 307 as image data for the "brush". The data rendering unit 304 repeatedly renders the defined pattern P01 (brush) in the rendering area (rectangular area with upper left coordinates (483, 508) and lower right coordinates (1279, 817)) defined in the pattern command area CB13 of FIG. 5. In this way, the filling rendering of the cell A01, which is the rendering area, is performed.

[0076] Next, the flowchart in FIG. 10 will be described taking as an example the case where the pattern command to be processed is the pattern command in FIG. 6. The pattern command in FIG. 6 is assumed to be a pattern command that is analyzed after the pattern command in FIG. 5. For this reason, it is assumed that an identifier with a value of "18" ("PatternID"="18") is not stored in the identification information storage unit 901 of the document storage unit 307. It is also assumed that image data of pattern P01 is stored in the pattern storage unit 902, and is associated with an identifier with a value of "10" ("PatternID"="10"). Details of the processing of steps that have already been described will be omitted.

[0077] The pattern command in Fig. 6 is a pattern command in which the defined identifier (PatternID"="18") is not stored in the identification information storage unit 901, but the pattern defined for the brush is the same as the stored pattern. The process by the PDL data analysis unit 303 for a pattern command in which the same pattern as the stored pattern is defined will be described with reference to Fig. 6.

[0078] In S1001, the pattern defined in area CB14 in Fig. 6 is identified as the defined pattern. Since the pattern defined in area CB14 is pattern P01, pattern P01 is identified as the defined pattern and the processing of the subsequent steps is performed.

[0079] In FIG. 1002, the process of the flowchart in FIG. 11 is carried out.

[0080] In S1101, the PDL data analysis unit 303 determines that the identifier of the value "18" ("PatternID"="18") defined in the pattern command of Fig. 6 to be processed is not stored in the identification information storage unit 901 (S1101: NO). Therefore, the process proceeds to S1105.

[0081] 9 as a storage area for an identifier of the value "18" ("PatternID"="18"). Then, the PDL data analysis unit 303 stores the identifier of the value "18" ("PatternID"="18") in the storage area ST02.

[0082] In S1106, pattern P01, which is the same as the definition pattern, is stored in storage area ST03 of pattern storage unit 902. Therefore, the PDL data analysis unit 303 determines that a pattern which is the same as the definition pattern is stored in pattern storage unit 902 (YES in S1106), and proceeds to S1108.

[0083] In S1108, the PDL data analysis unit 303 acquires the setting value where the same pattern exists, and advances the process to S1003 in FIG.

[0084] In S1003 of FIG. 10, since a setting value in which the same pattern exists was obtained as a result of the processing in S1002, the PDL data analysis unit 303 determines not to store the definition pattern (S1003: NO), and the processing proceeds to S1006.

[0085] In S1006, the PDL data analysis unit 303 constructs a link in the document storage unit 307 so that the identifier defined in the pattern command to be processed is associated with stored image data of the same pattern as the defined pattern.

[0086] Fig. 9 shows the state of the document storage unit 307 after the flowcharts of Fig. 10 and Fig. 11 are performed for the pattern commands of Fig. 5 and Fig. 6. It is assumed that the stored pattern P01 determined to be the same as the definition pattern identified from the pattern command of Fig. 6 is stored in the memory area ST03 having the memory address value A in the pattern storage unit 902. In this case, in S1006, the memory address value A of the pattern P01 is stored in the memory area ST02 of the identification information storage unit 901 in which the identifier "18" defined in the pattern command to be processed is stored.

[0087] In this way, a link can be constructed from the identifier defined in the pattern command to be processed to image data of a stored pattern that is the same as the defined pattern in the document storage unit 307. Also, a link is constructed so that image data of one stored pattern can be referenced from multiple identifiers. This is the process related to storing a pattern.

[0088] In the drawing process related to the pattern command in FIG. 6, the data drawing unit 304 obtains an identifier of the value "18" ("PatternID"="18") defined in the area CB15 of the pattern command in FIG. 6. Then, the data drawing unit 304 defines the image data of the pattern P01 associated with the identifier of the value "18" ("PatternID"="18") in the document storage unit 307 as an image for the "brush". The data drawing unit 304 repeatedly draws the defined pattern P01 (brush) in the drawing area (rectangular area with upper left coordinates (1279, 1453) and lower right coordinates (2075, 1744)) defined in the area CB16 of the pattern command in FIG. 6. In this way, the filling drawing of the cell A02, which is the drawing area, is performed.

[0089] Next, a process will be described in the case where an identifier with the same value as the identifier defined in the pattern command has already been stored in the identification information storage unit 901, and the stored pattern associated with the identifier is not the same as the defined pattern. Specifically, the flowchart in FIG. 10 will be described using the case where the pattern command to be processed is the pattern command in FIG. 7 as an example. The pattern command in FIG. 7 is assumed to be a pattern command that is analyzed after the pattern command in FIG. 5 and the pattern command in FIG. 6. Also, it is assumed that the document storage unit 307 stores the identifier and image data of the pattern in the state shown in FIG. 9. Details of the process will be omitted for the steps that have already been described.

[0090] In S1001, the pattern defined in the field CB17 of the pattern command in Fig. 7 is identified as the defined pattern. Since the pattern defined in the field CB17 in Fig. 7 is pattern P02, the processing of the subsequent steps is performed with pattern P02 as the defined pattern.

[0091] In FIG. 1002, the process of the flowchart in FIG. 11 is carried out.

[0092] 9, the value of the identifier of the value "18" defined in the pattern command in Fig. 7 to be processed ("PatternID"="18") has already been stored in the identification information storage unit 901. Therefore, in S1101, the PDL data analysis unit 303 determines that the identifier of the defined pattern is stored in the identification information storage unit 901 (YES in S1101), and proceeds to S1102.

[0093] In S1102, the PDL data analysis unit 303 refers to a stored pattern associated with an identifier having the same value as the identifier of the defined pattern in the document storage unit 307. Then, the PDL data analysis unit 303 determines whether the referred recorded pattern is the same pattern as the defined pattern.

[0094] If the PDL data analysis unit 303 determines that the stored pattern and the definition pattern are the same (YES in S1102), the process proceeds to S1108. If the PDL data analysis unit 303 determines that the stored pattern and the definition pattern are not the same (NO in S1102), the process proceeds to S1103.

[0095] When the pattern command to be processed is that shown in FIG. 7, the identifier of the defined pattern is an identifier with a value of "18" ("PatternID"="18"). Therefore, in the document storage unit 307, pattern P01 in storage area ST03 associated with the identifier with a value of "18" ("PatternID"="18") is referenced. Then, it is determined whether pattern P01 already stored in storage area ST03 and pattern P02, which is the defined pattern, are the same pattern. Since it is determined that pattern P01 and pattern P02 are not the same (NO in S1102), the process proceeds to S1103.

[0096] In S1103, the PDL data analysis unit 303 determines whether image data of a stored pattern associated with an identifier having the same value as the identifier of the defined pattern in the document storage unit 307 is associated with a plurality of identifiers.

[0097] When the document storage unit 307 is in the state shown in Fig. 9, the pattern in the storage area ST03 associated with the identifier with the value "18" ("PatternID"="18") is also associated with another identifier ("PatternID"="10"). Therefore, when the document storage unit 307 is in the state shown in Fig. 9, it is determined that the stored pattern is associated with multiple identifiers (S1103: YES).

[0098] If the PDL data analysis unit 303 determines that the stored pattern is associated with a plurality of identifiers (YES in S1103), it skips S1104 and advances the process to S1106.

[0099] As described above, in S1106, it is determined whether or not there is a pattern that is the same as the definition pattern among the patterns already stored in the pattern storage unit 902.

[0100] 7 is the pattern command to be processed and the state of the document storage unit 307 is as shown in FIG. 9, the only pattern stored in the pattern storage unit 902 is pattern P01. Therefore, it is determined that the pattern is not the same as pattern P02, which is the definition pattern (S1106: NO), and the process proceeds to S1107. In S1107, the PDL data analysis unit 303 obtains a setting value for which no identical pattern exists, and the flowchart in FIG. 11 ends. Then, the process proceeds to S1003.

[0101] In S1003 of FIG. 10, since a setting value for which no identical pattern exists was acquired as a result of the processing in S1002, it is determined that the definition pattern is to be stored (YES in S1003), and the processing proceeds to S1004.

[0102] When the pattern command in FIG. 7 is to be processed, in S1004, image data of the pattern P02, which is a definition pattern, is newly stored in the storage area ST04 (see FIG. 12) of the pattern storage unit 902.

[0103] In S1005, the PDL data analysis unit 303 stores the identifier defined in the pattern command to be processed in association with the image data of the pattern newly stored in S1004.

[0104] As shown in Fig. 7, the identifier of the defined pattern defined in the pattern command to be processed is a value "18". Therefore, in S1005, a memory address value indicating address B where image data of the same pattern P02 as the defined pattern is stored is stored in the storage area ST02 of the identifier with a value of "18" ("PatternID"="18"). In this way, a link is established between the identifier ("PatternID"="18") and the image data of pattern P02. This is the process related to storing the pattern.

[0105] Fig. 12 is a diagram showing the state of data stored in the document storage unit 307 after the pattern command in Fig. 7 becomes the processing target and the processing in Fig. 10 is performed. By performing the processing on the pattern command in Fig. 7, the link relationship between the identification information storage unit 901 and the pattern storage unit 902 has changed from the state of the document storage unit 307 in Fig. 9.

[0106] In the drawing process for the pattern command in FIG. 7, the data drawing unit 304 acquires an identifier of the value "18" ("PatternID"="18") defined in the area CB18 of the pattern command in FIG. 7. Then, the data drawing unit 304 defines the pattern P02 associated with the identifier of the value "18" ("PatternID"="18") in the document storage unit 307 in FIG. 12 as an image for the "brush". The data drawing unit 304 repeatedly draws the defined pattern P02 (brush) in the drawing area (rectangular area with upper left coordinates (2871, 1435) and lower right coordinates (3667, 1744)) defined in the area CB13 of the pattern command in FIG. 7. In this way, the fill drawing of the cell A03, which is the drawing area, is performed.

[0107] In this way, even if a pattern command that defines a new pattern and has the same identifier as the identifier stored in the identification information storage unit 901 is processed, the link relationship between the identifier and the image data of the pattern can be changed. This prevents multiple patterns from being stored in the document storage unit 307.

[0108] 11, if the PDL data analysis unit 303 determines that the stored pattern associated with the identifier of the definition pattern is not associated with multiple identifiers (NO in S1103), the process proceeds to S1104. In S1104, the PDL data analysis unit 303 deletes the image data of the stored pattern associated with an identifier having the same value as the identifier of the definition pattern in the document storage unit 307. Then, the process proceeds to S1106.

[0109] For example, assume that a pattern command in which an identifier with a value of "18" ("PatternID"="18") and a pattern P03 are defined is the processing target of the flowchart of FIG. 10. Assume also that the identifier and image data of the pattern are stored in the document storage unit 307 in the state shown in FIG. 12. As shown in FIG. 12, the stored pattern associated with the identifier with the value "18" which is the identifier of the defined pattern is the pattern P02, and the pattern P02 is associated with only one identifier. For this reason, the process proceeds to S1104 in the flowchart of FIG. 11, and in S1104, the image data of the pattern P02 stored in the storage area ST04 of the pattern storage unit 902 in FIG. 12 is deleted. Then, in S1004, the image data of the pattern P03 is stored in the pattern storage unit 902, and in S1005, a link is established in the document storage unit 307 between the identifier with the value "18" which is the identifier of the defined pattern and the image data of the pattern P03.

[0110] Also, for example, when the document storage unit 307 stores the identifier and pattern image data in the state shown in FIG. 13(a), it is assumed that the pattern command in FIG. 7 becomes the processing target of the flowcharts in FIG. 10 and FIG.

[0111] 11, the determination is YES in S1101, NO in S1102, YES in S1103, and YES in S1106, and the process proceeds to S1108. Also, the determination is NO in S1003, and the process proceeds to S1006.

[0112] In S1006, as described above, a link is constructed in the document storage unit 307 so that the identifier of the definition pattern is associated with image data of the same pattern as the definition pattern among the patterns already stored in the pattern storage unit 902.

[0113] Fig. 13(b) is a diagram showing the state of the document storage unit 307 after the processing of S1006. The identifier with the value "18" defined in the pattern command of Fig. 7 ("PatternID"="18") is associated with the image data of pattern P02 in the pattern storage unit 902. As shown in Fig. 13(a), before the processing, the identifier with the value "18" was stored in the identification information storage unit 901 and associated with the image data of the stored pattern P01, but this association is released. In the PCL specifications, the same identifier may be reused, so the link can be reconstructed in this way.

[0114] As described above, in this embodiment, when a pattern command is analyzed, a definition pattern identified from the pattern command is compared with patterns already stored in the pattern storage unit 902. If the pattern storage unit 902 contains a pattern identical to the definition pattern, the definition pattern is not stored but is deleted, and the address of the stored pattern is stored in the identification information storage unit 901 so that the identifier of the definition pattern is linked to the stored pattern. This makes it possible to manage patterns so that one image data is stored in memory for the same pattern. Also, it becomes possible to link image data of one pattern stored in the pattern storage unit 902 from multiple identifiers.

[0115] The description of the pattern in the generated PDL data differs depending on the printer driver. Even in the PDL data in which the same pattern is repeatedly drawn and filled in a predetermined range, the same pattern may be defined for each area included in the predetermined range. In this embodiment, even when such PDL data is received, the increase in patterns stored in the memory area during drawing is suppressed. That is, when the drawing process is performed based on the PDL data, the pattern already stored can be repeatedly specified and reused to draw when drawing the same pattern in multiple areas. Therefore, the deterioration of printing performance caused by the increase in patterns stored in the memory area can be suppressed without requiring additional hardware.

[0116] In this embodiment, the pattern command written in PCL is used as an example of the analysis target. The command related to the pattern (unit image used repeatedly in filling) is not limited to the pattern command written in PCL. Furthermore, the page description language is not limited to PCL such as PCLXL or PCL5, and PDL data written in other page description languages ​​is also subject to this embodiment.

[0117] This embodiment may be applied to a system composed of a plurality of devices, or may be applied to an apparatus composed of a single device. For example, an apparatus including the functional units of FIG. 3 may be realized in an image processing apparatus other than the image forming apparatus 100.

[0118] <Other embodiments> The present disclosure can also be realized by a process in which a program for implementing one or more functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that implements one or more functions.

[0119] The disclosure of the above-described embodiment includes the following configurations.

[0120] (Configuration 1) An image processing device that generates bitmap data based on PDL data, An acquisition means for acquiring the PDL data; a specifying means for specifying the pattern defined in a command when PDL data including a command indicating that a pattern is to be repeatedly drawn in a predetermined range within a page is acquired; a management means for storing and managing the image data of the specified pattern in a memory, The management means manages the specified patterns so that one image data is stored in the memory for the same pattern. 13. An image processing device comprising:

[0121] (Configuration 2) The management means includes: If image data of the same pattern as the specified pattern is not stored in the memory, the image data of the specified pattern is stored in the memory in association with an identifier corresponding to the specified pattern; If image data of the same pattern as the specified pattern is stored in the memory, The image data of the specified pattern is not stored in the memory, and image data of the same pattern as the specified pattern among the image data stored in the memory is managed in association with an identifier corresponding to the specified pattern. 2. The image processing device according to claim 1,

[0122] (Configuration 3) The PDL data includes a plurality of the commands, The specifying means specifies a pattern defined in each of the plurality of commands. 3. The image processing device according to configuration 1 or 2.

[0123] (Configuration 4) The method further includes a determination unit for comparing image data of the specified pattern with image data stored in the memory to determine whether image data of the same pattern as the specified pattern is stored in the memory, The management means includes: When the determining means determines that image data of the same pattern as the specified pattern is not stored in the memory, the image data of the specified pattern is stored in the memory in association with an identifier corresponding to the specified pattern. 4. The image processing device according to configuration 2 or 3.

[0124] (Configuration 5) The determining means compares the image data of the specified pattern with the image data stored in the memory and limits the number of image data to a predetermined number. 5. The image processing device according to configuration 4.

[0125] (Configuration 6) The identification means is Identifying an identifier from the command that corresponds to the identified pattern; The management means includes: If an identifier identical to the specified identifier is not stored in the memory, the specified identifier is stored in the memory in association with image data of the specified pattern. 6. The image processing device according to any one of configurations 1 to 5.

[0126] (Configuration 7) The management means includes: If an identifier that is the same as the specified identifier is stored in the memory, When image data of the same pattern as the specified pattern is stored in the memory, the image data associated with the specified identifier is changed. 7. The image processing device according to configuration 6,

[0127] (Configuration 8) a drawing means for drawing based on the PDL data to generate the bitmap data; The image data of the pattern managed by the management means is used when the drawing means draws the pattern repeatedly in the predetermined range. 8. The image processing device according to any one of configurations 1 to 7,

[0128] (Configuration 9) The page description language in the PDL data is PCL. 9. The image processing device according to any one of configurations 1 to 8.

[0129] (Configuration 10) The PDL data is PDL data in which a pattern and an identifier corresponding to the pattern are defined for each of the commands. 10. The image processing device according to any one of configurations 1 to 9.

[0130] (Configuration 11) The pattern is a unit image when the predetermined range is repeatedly drawn with the unit image. 11. The image processing device according to any one of configurations 1 to 10,

[0131] (Configuration 12) An image processing method for generating bitmap data based on PDL data, comprising: acquiring the PDL data; a specifying step of specifying the pattern defined in a command when PDL data including a command indicating that a pattern is to be repeatedly drawn in a predetermined range within a page is acquired; a management step of storing and managing the image data of the specified pattern in a memory, In the management step, the specified patterns are managed so that one image data is stored in the memory for the same pattern. 13. An image processing method comprising:

[0132] (Configuration 13) 12. A program for causing a computer to execute each of the means of the image processing device according to any one of configurations 1 to 11. [Explanation of symbols]

[0133] 100 Image forming device 103 Printer controller 301 Network I / O control unit 303 PDL Data Analysis Department

Claims

1. An image processing device that generates bitmap data based on PDL data, An acquisition means for acquiring the PDL data; a specifying means for specifying the pattern defined in a command when PDL data including a command indicating that a pattern is to be repeatedly drawn in a predetermined range within a page is acquired; a management means for storing and managing the image data of the specified pattern in a memory, The management means manages the specified patterns so that one image data is stored in the memory for the same pattern.

13. An image processing device comprising:

2. The management means includes: If image data of the same pattern as the specified pattern is not stored in the memory, the image data of the specified pattern is stored in the memory in association with an identifier corresponding to the specified pattern; When image data of the same pattern as the specified pattern is stored in the memory, the image data of the specified pattern is not stored in the memory, and the image data of the same pattern as the specified pattern among the image data stored in the memory is managed in association with an identifier corresponding to the specified pattern.

2. The image processing device according to claim 1,

3. The PDL data includes a plurality of the commands, The specifying means specifies a pattern defined in each of the plurality of commands.

2. The image processing device according to claim 1,

4. The method further includes a determination unit for comparing image data of the specified pattern with image data stored in the memory to determine whether image data of the same pattern as the specified pattern is stored in the memory, The management means includes: When the determining means determines that image data of the same pattern as the specified pattern is not stored in the memory, the image data of the specified pattern is stored in the memory in association with an identifier corresponding to the specified pattern.

3. The image processing device according to claim 2.

5. The determining means compares the image data of the specified pattern with the image data stored in the memory and limits the number of image data to a predetermined number.

5. The image processing device according to claim 4.

6. The identification means is Identifying an identifier from the command that corresponds to the identified pattern; The management means includes: If an identifier identical to the specified identifier is not stored in the memory, the specified identifier is stored in the memory in association with image data of the specified pattern.

2. The image processing device according to claim 1,

7. The management means includes: If an identifier that is the same as the specified identifier is stored in the memory, When image data of the same pattern as the specified pattern is stored in the memory, the image data associated with the specified identifier is changed.

7. The image processing device according to claim 6,

8. a drawing means for drawing based on the PDL data to generate the bitmap data; The image data of the pattern managed by the management means is used when the drawing means draws the pattern repeatedly in the predetermined range.

2. The image processing device according to claim 1,

9. The page description language in the PDL data is PCL.

2. The image processing device according to claim 1,

10. The PDL data is PDL data in which a pattern and an identifier corresponding to the pattern are defined for each command.

2. The image processing device according to claim 1,

11. The pattern is a unit image when the predetermined range is repeatedly drawn with the unit image.

2. The image processing device according to claim 1,

12. An image processing method for generating bitmap data based on PDL data, comprising the steps of: An acquisition step of acquiring the PDL data; a specifying step of specifying the pattern defined in a command when PDL data including a command indicating that a pattern is to be repeatedly drawn in a predetermined range within a page is acquired; a management step of storing and managing the image data of the specified pattern in a memory, In the management step, the specified patterns are managed so that one image data is stored in the memory for the same pattern.

13. An image processing method comprising:

13. A program for causing a computer to execute each of the means of the image processing apparatus according to any one of claims 1 to 11.

Citation Information

Patent Citations

  • Print control system, print control device, and program

    JP2017097463A