WO1997033219A1 - Processeur d'images - Google Patents

Processeur d'images Download PDF

Info

Publication number
WO1997033219A1
WO1997033219A1 PCT/JP1997/000648 JP9700648W WO9733219A1 WO 1997033219 A1 WO1997033219 A1 WO 1997033219A1 JP 9700648 W JP9700648 W JP 9700648W WO 9733219 A1 WO9733219 A1 WO 9733219A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
image
intermediate code
coordinate
vector
Prior art date
Application number
PCT/JP1997/000648
Other languages
English (en)
French (fr)
Inventor
Kazumi Kobayashi
Original Assignee
Copyer Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Copyer Co., Ltd. filed Critical Copyer Co., Ltd.
Priority to DE69737717T priority Critical patent/DE69737717T2/de
Priority to JP53165797A priority patent/JP3527249B2/ja
Priority to EP97903653A priority patent/EP0919909B1/en
Priority to US09/142,264 priority patent/US6266455B1/en
Publication of WO1997033219A1 publication Critical patent/WO1997033219A1/ja

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J5/00Devices or arrangements for controlling character selection
    • B41J5/30Character or syllable selection controlled by recorded information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1245Job translation or job parsing, e.g. page banding by conversion to intermediate or common format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0005Accepting output data; Preparing data for the controlling system
    • G06K2215/0014Transforming the printer input data into internal codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0065Page or partial page composition

Definitions

  • the present invention relates to an image processing apparatus suitable for being applied to a plotter apparatus, a printer apparatus, etc., which converts vector data into raster data and prints for each predetermined unit area, and in particular, converts vector data to intermediate codes.
  • a plotter apparatus a printer apparatus, etc.
  • converts vector data into raster data and prints for each predetermined unit area and in particular, converts vector data to intermediate codes.
  • a raster plotter device that scans a carriage equipped with a recording head and converts the input image data into predetermined unit areas (for example, for each band) as described below.
  • a banding type raster blotter for converting an intermediate code into an intermediate code and converting the intermediate code into raster data.
  • band means a band-shaped area recorded by scanning the head for I times.
  • this banding-type raster plotter apparatus defines the above-mentioned start point and end point and adds the various kinds of modification information to the vector data, and is called a display list. This is converted to an intermediate code, and this intermediate code is subjected to vector Z raster conversion processing (Vector-to-Raster
  • VRC VRC Conversion
  • This intermediate code is data in a format suitable for vector / raster conversion processing, and based on the vector data constituting the input image data, each vector reflecting the above-mentioned modification information on a band-by-band basis. Is constituted by the coordinate data constituting the contour of. A specific example of the intermediate code will be described later.
  • Such banding type rustab mouth cutters use an intermediate code when re-plotting (riblotting) data that was previously blocked.
  • this intermediate code is generated in the form of coordinate data reflecting the above-mentioned modification information and the like. For this reason, it is not easy to change the rotation processing, enlargement processing, reduction processing, line width, etc. later.
  • the input image data for each band is By changing the plot parameters, a question code can be generated.
  • this requires an input buffer memory with a large storage capacity, there is a problem on the component mounting surface. This is not realistic.
  • the image recording means rearranges the image recording positions as shown in Fig. .
  • the rearrangement location is determined in consideration of the image size when the image of the input image data is formed on actual paper.
  • the size of the actual paper and the image size of each image data must be determined before the input image data is converted into the intermediate code. Therefore, the actual paper size must be known based on instructions from the user, information obtained from the print engine 26, and the like. Also, regarding the image size, it is necessary to explicitly indicate the image size in the form of a data header or the like before starting the input of image data, and an explicit instruction from the user. . Therefore, the next input image data 5 'is supplied to the plotter. At this time, if the size of the paper to be fed next is undefined, it is impossible to generate an intermediate code for the input image data. As a result, idle time is generated in the operation of the CPU, and there is a problem in terms of efficient use of the CPU.
  • the present invention has been made in view of the above problems, and converts input image data into raster data without providing a large-capacity memory for bitmap development. It is another object of the present invention to provide an image processing apparatus capable of changing decoration information or the like before plotting without providing an input buffer memory having a large storage capacity.
  • Another object of the present invention is to provide a dual image processing apparatus capable of analyzing input image data and enabling effective use of a CPU even if the paper size to be plotted in advance is not fixed. . Disclosure of the invention
  • An image processing apparatus is an image processing apparatus that forms both images in band units, and is based on coordinate data of end points of each vector of a vector group forming an image and various kinds of modification information of the vector.
  • Data format conversion means for converting the image data into format image data; storage means for storing the entirety of the second data format image data obtained by the data format conversion means;
  • the intermediate unit is composed of coordinate data constituting the outline of each vector in which the various kinds of modification information are reflected in the band unit.
  • Intermediate code generating means for generating a code, and raster data generating means for converting the intermediate code obtained by the intermediate code generating means into corresponding raster data in band units.
  • the image processing apparatus converts vector data, which is input image data having the first data format, into image data (blur intermediate code) of a second data format different from this.
  • image data Blur intermediate code
  • the second data is added to the vector data in the form of adding the various types of modification information described above.
  • the image data in the data format is stored in the storage means.
  • the coordinate data of the second data format is variable-length data, and immediately before the coordinate data of each coordinate point, the data length of the coordinate data and the absolute coordinate / relative A predetermined fixed-length index data for identifying the type of coordinates is added. In this case, if coordinate data of the same type continues, the index data can be omitted for the second and subsequent coordinate data.
  • the coordinate data and the instruction data are distinguished by, for example, a value of a head bit of unit data of a plurality of predetermined bits.
  • the various modification information includes fixed-length pen attribute data, and a fixed-length index data of the identification ffl is added immediately before the pen attribute data. It is preferable that the vane attribute data is added only to the coordinate data of the vector in which the various kinds of modification information have changed, and that the attribute data is omitted for the vector in which the modification information does not change.
  • the image data of the second data format usually has a larger data amount than the image data of the first data format. Is reduced (compressed). Therefore, the storage capacity required for the storage means for storing the image data of the second data format (blur code) is saved.
  • the intermediate code generating means may perform various types of image data of the second data format according to a user's instruction.
  • a means may be provided for using the decoration information designated by the user in preference to the decoration information.
  • the image processing apparatus includes a unit that changes modification information specified by a user among various modification information described in the image data of the second data format stored in the storage unit. You can.
  • the image processing apparatus may be configured such that, when the intermediate code is generated by the intermediate code generating means based on the image data of the second data format, a position and a direction in which a plurality of images are arranged on a sheet. May be provided.
  • the data format conversion unit detects a size of the input image based on the input image data, and outputs an image size representing the detected image size. Means for including the size data in the image data of the second data format, and determining the position and the orientation with reference to the image size data.
  • the image processing apparatus may include a unit for enlarging or reducing an image when the intermediate code generation unit generates a medium code based on the image data of the second data format. Good.
  • the present invention by holding the pre-intermediate code in which the modification information is not determined in the storage means, it is easy to change the modification information and to rearrange both images by such various means.
  • the virtual paper size for plotting and layout display is large in advance, it is possible to analyze the input image data even when the actual paper size to be set is not known in advance. It can be. Since the modification information can be changed for the pre-intermediate code, when converting from the pre-intermediate code to the intermediate code, it is possible to plot the image according to the practical paper size. Also, when roll paper is used as plot paper or when there is a high possibility of continuous data transmission, such as when using a cut sheet feeder, paper that is actually set Even if the size of the image is changed, the input image data can be analyzed in advance based on the pre-intermediate code when the CPU has enough time to process. Therefore, the CPU can be effectively used.
  • the pre-intermediate code can be subjected to various modification information change processing and predetermined layout information, and then converted to raster data and displayed in a modern manner. Therefore, correction and the like can be made while watching the layout displayed on the monitor, and a desired image state and the like can be reliably realized.
  • FIG. 1 is a block diagram of an embodiment in which the image processing device according to the present invention is applied to a plotter device.
  • FIG. 2 is a block diagram showing a hardware configuration when the plotter device according to the embodiment is configured using a CPU.
  • FIG. 3 is a flowchart showing a conversion procedure when converting vector data into raster data in the plotter device according to the embodiment.
  • FIG. 4 is a view showing a format of a pre-intermediate code used in the plotter device according to the above embodiment.
  • FIG. 5 is a diagram for explaining the data structure of the index data and coordinate data constituting the pre-intermediate code.
  • FIG. 6 is a diagram for explaining integer data used in the pre-intermediate code.
  • FIG. 7 is a diagram illustrating an example in which the integer data in FIG. 6 is converted into a pre-intermediate code.
  • FIG. 8 is a diagram for explaining general vector data.
  • FIG. 9 is a diagram conceptually showing a conversion procedure when converting vector data into raster data in a conventional banding type raster plotter device.
  • FIG. 10 is a diagram showing the format of the blurred intermediate code in FIG.
  • FIG. 4 is a diagram for explaining pen attributes.
  • FIG. 11 is a diagram for explaining various variable names of the pen attribute in FIG.
  • FIG. 12 is a diagram for explaining the connection type of the line segment shown in FIG.
  • FIG. 13 is a diagram showing an example of the intermediate code in the above embodiment.
  • FIG. 14 is a diagram for explaining the data sequence of the intermediate code in FIG.
  • FIG. 15 is a diagram showing the format of the intermediate code in the above embodiment.
  • FIG. 16 is a diagram illustrating an example of the input image data in the above embodiment.
  • FIG. 17 is an explanatory diagram of commands used for the input image data of FIG.
  • Fig. 8 is a diagram showing the block results obtained from the input image data of Fig. 16. You.
  • FIG. 19 is a diagram for explaining image rearrangement in the above embodiment.
  • FIG. 20 is a diagram for explaining the image size included in the blurred intermediate code in FIG. BEST MODE FOR CARRYING OUT THE INVENTION
  • the image processing apparatus is applied to an inkjet type plotter apparatus that involves scanning of a carriage equipped with an inkjet recording head.
  • this plotter device temporarily stores a data communication unit 1 for receiving input image data from a host computer device 11 and input image data received by the data communication unit 1.
  • Buffer 2 which is a ring buffer for performing the operation, a data analysis unit 3 for controlling the entire plotter device, and an input unit 5 including an operation panel of the plotter device for inputting various decoration information and the like.
  • an input detection unit 4 that detects various kinds of modification information and the like from the input unit 5 and supplies the information to the data analysis unit 3.
  • Plotter apparatus further control program, pre-intermediate codes of the apparatus, an intermediate code, a storage unit 6 to be modified information such force s memory, to confirm the layout shown Table in advance image or the like for plot
  • a display unit 8 capable of controlling image display of the display unit 8, a printing unit 10 for plotting an image corresponding to the input image data, and a printing unit 1
  • a print control unit 9 for controlling printing of 0.
  • the storage unit 6 includes, for example, a semiconductor memory, a magneto-optical disk, a magnetic disk (a full-width disk, a node disk, and the like).
  • FIG. 2 shows a hardware configuration in a case where the functions of the data analysis unit 3 and the control function of the entire apparatus shown in FIG. 1 are realized using a central processing unit (CPU).
  • CPU central processing unit
  • the CPU bus line 11 includes a CPU 12, F 1 ash R 0 M 13 for storing a program, various fonts and a boot program.
  • An EEPROM 14 for storage, an EEPROM 15 for storing various decoration information set by the user, a RAM 16 used as the input buffer memory 2 and a work area, and an engine interface for communication with the print engine 26 (
  • the engine I / F unit 25 and the I / O bus line 27 are connected to each other.
  • the print engine 26 and the engine I unit 25 correspond to the print control unit 9 and the print unit 10 in FIG. 1, respectively.
  • the I0 bus line 27 has an SCU (Serial Communication Unit) 17 and a PTC (Programmable Timer) for interrupt processing and timer processing.
  • SCU Serial Communication Unit
  • PTC Programmable Timer
  • FI FOR AM 20 is connected to each. Further, the SCU 1 7 is Siri Aruinta one face are connected (serial IF) unit 2 1 force f, the F 10 units 19, key - panel 22 and a liquid crystal (LCD) display device 23 it Connected.
  • the key panel 22 corresponds to the input unit 5 in FIG. 1, and the liquid crystal display 23 corresponds to the display unit 8 in FIG.
  • the FI FOR AM 20 is connected to a parallel interface (parallel IF) unit 24 s'.
  • Serial 1 / Funit 21 or parallel IZF unit 24 power s' Configures the data communication unit 1 in Fig. 1 described above.
  • the CPU 12 stores an arbitrary memory of the Flash R0M13, the EP ROM 14, the EEP ROM 15 and the RAMI 6 (these correspond to the storage unit 6). Each part is controlled according to a program stored in the computer.
  • the data communication unit 1 receives the vector data which is the input image data (S31), and temporarily stores it in the input buffer memory 2.
  • the data analysis unit 3 reads the input image data stored in the input buffer memory 2 and finds the end points (start point and end point) of the single line segment (vector) included in the input image data.
  • the modification information for the single line segment is converted into a blurred intermediate code format, which is image data of the second data format, described later (S32). With this conversion
  • the entire obtained pre-intermediate code is stored in the storage unit 64.
  • the process of storing the input image data in the input buffer memory 2 and the process of converting the data format of the input image data stored in the input buffer memory 2 are performed in parallel.
  • the data analysis unit 3 generates a corresponding intermediate code based on the pre-intermediate code stored in the storage unit 64 (S33). Into an intermediate code. This intermediate code is also stored in another area of the storage unit 64. The intermediate code may be stored for the entire input image, or may be temporarily stored for the required capacity during the subsequent VRC processing.
  • the numerical value representing the coordinates used in the intermediate code uses the unit system by the print dot to actually print. Specifically, a coordinate system of (1/360 inch) unit which is the resolution of the recording head is used. Further, the decoration information held up to the pre-intermediate code is reflected on each line segment. That is, based on the coordinate values of the vector data, the coordinates of the outline of the line segment actually printed are calculated for each band.
  • this blurred intermediate code When converting this blurred intermediate code to intermediate code, the user must change the modification information of each vector (actually, the modification information of a virtual pen for drawing it), change the paper size, etc. The ability to do becomes possible. Also, in the case of a reblot, it is possible to obtain a new image at high speed while enabling the above-mentioned various changes by re-analyzing from the pre-intermediate code.
  • the data analysis unit 3 converts the intermediate code thus obtained into raster data and supplies the raster data to the print engine 26 (S34).
  • the information on a single line and the modification information corresponding to the single line still exist independently of each other. That is, the decoration information is not reflected in the coordinate data of the single line segment, and the decoration information is in a state where it can be changed independently.
  • the second data format has a reduced (compressed) data amount of the entire image data as compared with the first data format.
  • the user instructs the layout display using the input unit 5 shown in FIG. Instructions for displaying this layout
  • the data analysis unit 3 detects this through the input detection unit 4, and reads out the pre-intermediate code stored in the storage unit 6 corresponding to the two designated images. Then, the pre-intermediate code is converted into an intermediate code, converted into raster data, and supplied to a display unit 8 such as a monitor device via a display control unit 7, for example.
  • a display unit 8 such as a monitor device via a display control unit 7, for example.
  • the image specified in (1) can be laid out on the display unit 8.
  • the user looks at the image displayed on the layout, recognizes the plot state before actually performing the plot, and operates the input unit 5 when changing the decoration information. Enter the modification information for the change (including deletion and addition).
  • the input modification information is supplied to the data analysis unit 3 via the input detection unit 4.
  • the data analysis unit 3 When the changed decoration information is supplied, the data analysis unit 3 issues an instruction to change the decoration information stored in the storage unit 6. This change is stored in a memory, for example, EEPROM 115.
  • the data analysis unit 3 preferentially uses the modification information instructed to be changed when converting the pre-intermediate code to the intermediate code based on a preset user instruction, and further uses the intermediate code as raster data. And supplies it to the display unit 8. Thereby, both images according to the modification information changed by the user can be displayed on the monitor.
  • the data analysis unit 3 detects this, reads out the pre-intermediate code corresponding to the currently displayed image from the storage unit 6, and converts the pre-intermediate code into the intermediate code and raster data by the same processing as described above.
  • Supply to printing unit 10. This makes it possible to plot an image or the like according to the modification information changed by the user. If the entire intermediate code is stored and held, plotting can be performed based on the intermediate code.
  • the plotter device converts the vector data into the blur intermediate code which is the vector data having the modification information before the determination, and stores the pre-intermediate code in the storage unit 6. By doing so, even after the vector data is converted to raster data, the modification information stored in the storage unit 6 can be changed, so that the modification of the modification information is facilitated. Can You.
  • FIG. 16 shows an example of input image data assumed in the present embodiment. This is data consisting of commands and coordinate data given to the plotter, and is composed of a character code string such as an ASCII code. Digits such as "0", “1", and "2", which constitute coordinate data (1 000, 2000), are also represented by 1-byte character codes. In this embodiment, each coordinate data of the input image data is represented by 4 bytes.
  • Figure 17 shows an example of the commands used in the example data in Figure 16.
  • P ENW pen number
  • pen width is a pen width specification for specifying the pen width (pen thickness) for multiple pens (virtual in ink jet recording) Instruction.
  • SPEN (Ben number); is a drawing pen designation command for designating a pen to be used.
  • PNDN is a pen down command for pressing the pen specified by the drawing pen specifying command against the paper.
  • PNUP is a pen-up command for instructing the reverse operation of the pen-down command.
  • PMOV X coordinate
  • Y coordinate a pen movement command for linearly moving the specified pen from its current position to the position of (X coordinate, Y coordinate).
  • the dropped pen force is line force drawing, only the current position of simply Ben not performed portrayal if the Penca? Up changes c
  • CIRC radius
  • angle is a circle drawing command to draw a circle with a specified radius by approximating a circular arc of a specified angle unit with a straight line around the current position. It is. If (angle) is omitted, a predetermined angle (for example, 5 ') is adopted as a default value.
  • "DEND;” is a command indicating the end of the input image data.
  • the pen widths of pen 1 and pen 2 are set to "5" and "10", respectively, and then pen 1 is moved to the coordinate point (1 000, 1 000). Then, lower pen 1 and move it to coordinate point (2000, 2000), and then to coordinate point (1000, 2000). Then raise this pen 1.
  • the pen 2 is turned down. Therefore, the pen 2 is moved to the coordinate point (3000, 1 000). Then, move the pen 2 to the coordinate point (3000, 2000) with the pen 2 lowered, and then raise the ben 2.
  • Ben 2 to the coordinate point (4000, 4000 lower Pen 2 to draw a circle with a radius of "800”. Then, raise pen 2 to end this drawing processc
  • Figure 18 shows the image created in this way. You can see that the pen widths of Pen 1 and Pen 2 are different.
  • FIG. Fig. 13 shows specific data examples of the intermediate code.
  • the intermediate code is, for each band, the band number (N-1, N, N + 1, etc.) and the number of horizontal segments (1, 1) of the outline (outline) of each vector included in the band. 2) and the coordinate data of each segment ((XI, Y1), (x6, y6), etc.).
  • Fig. 14 shows how the data in Fig. 13 correspond to the coordinate points on the paper. In this example, a vector having a width W having end points 141 and 149 is plotted. However, the pen width W is exaggerated in the figure.
  • the intermediate code includes coordinate point data, and the coordinate point data defines the outline of a vector obtained by reflecting modification information such as a line width. More specifically, the coordinate point data is obtained by selecting feature points of the outline of the vector obtained for each band.
  • the outline of each band is divided into one or more “horizontal segments”. Each horizontal segment is basically a rectangle and is represented by four vertices. A triangular segment, such as segment 13 1 or 138 in Figure 14, overlaps one of its vertices. Describe multiple times. Thus, in the intermediate code, all horizontal segments are represented by four vertices. In the example of FIG. 1 3, the horizontal segment 1 3 1 is one of its vertices certain coordinate (x 6, y 6) force, "that force being duplicated description? Seen.
  • the intermediate code is a set of rectangles in this way, the coordinates of the four vertices of each rectangle are one unit of data. Since the coordinate data of one point consists of (X coordinate) and (y coordinate), it is represented by a total of eight numerical values. (The data unit consisting of these eight numerical values is called 1 DL (Display Lis).) Therefore, it can be said that the intermediate code is sequential data in which a set of the band number on the actual paper, the number of DLs present in the band, and the DL data is repeated by the number of bands on the paper.
  • the outline of the entire vector is defined by four vertices of eight horizontal segments 131-138.
  • the coordinate points indicated by uppercase X and Y are the four coordinate points that define the outline of the vector reflecting the line width
  • the lowercase X , Y are coordinate points generated by banding processing.
  • the coordinate data of the intermediate code 13 reflects the modification information of the vector. Based on this, it is not possible to change the modification information or rearrange the image. as compared with the case of performing such processing with respect to input image data, it will be understood difficult mosquitoes? involves that force.
  • the tip shape is not considered in the example of FIG. 14, when the tip shape is considered, the contour including the tip shape is determined, and according to the contour, as described above, each horizontal segment Is determined.
  • the intermediate code has a data format as shown in FIG. That is, a set of a node number 161, the number of segments (DL) included in the band 162, and four coordinate point data 163 of each segment is arranged for the number of bands. This makes it easy to generate raster data for each band.
  • the blurring intermediate code is called a file, which is one unit of the plot. Data block. Usually, this file is equivalent to one page of image.
  • Each file is composed of various index data, image size data, decoration data, and coordinate data. Since fixed-length data and variable-length data are mixed in a file, a fixed-length (1 byte in this example) is used as an identifier to indicate the type of data at the beginning of each data. Index data is added.
  • the index data "401" of "FH" indicates that the data immediately after that is the fixed-length file header 4122.
  • the index data 402 of "IS” indicates that the data immediately following is 8-byte integer data representing the image size.
  • the index data 403 "AT” indicates that the data 411 immediately after is the fixed-length pen attribute data.
  • the index data 404 "A3” indicates that the subsequent data 413 is Indicates that it is 3-byte integer absolute coordinate data.
  • Index data 405 “R 2” indicates that subsequent data 415 is relative coordinate data of a 2-byte integer.
  • Index data 406 "A4" indicates that the following data is 4-byte integer absolute coordinate data.
  • the index data 407 of "R3" indicates that the subsequent data is 4-byte integer relative coordinate data.
  • the leading "A” and “R” of the index data 401 to 410 representing the coordinate data indicate the difference between the absolute coordinate and the relative coordinate, and the number following them indicates the number of bytes. .
  • the file header 4111 is a fixed-length area for storing a file number automatically added to image data or an arbitrary file name input by a user when a blur intermediate code is generated by a plotter.
  • the image size data 421 is, as shown in FIG. 20, the horizontal and vertical sizes ⁇ , ⁇ of the outer edge of the image of one file on the virtual paper, represented by the input image data. This image size data is used to generate blurred intermediate code from input image data.
  • the maximum X and minimum X are the maximum and minimum coordinates in the horizontal direction of the X coordinate values of the pixels constituting the image, respectively. It is a standard value. The same is true for Y.
  • ⁇ and ⁇ are each represented by 4-byte (32-bit) unsigned fixed-length data.
  • the pen attribute 4 12 is a fixed length area for storing various kinds of decoration information, and a specific example is shown in FIG.
  • the pen attribute 4 1 2 in Fig. 10 is the pen number (pen Number) 4 1 2 1, pen width 4 1 2 2, and the end that determines the end shape of the line segment used for the vector defined by the subsequent coordinate data Type (lineEnds) 4 1 23, Join type (linejoin) 4 1 24 that determines the shape of the connection between line ends, Fill type (iillType) 4 1 2 5 that defines the fill pattern inside the outline of the line including.
  • the pen number 421 1 takes a value in the range of 0 to 63 and is represented by 6-bit data. Data.
  • Each of the termination type 4123 and the coupling type 4124 has a value in the range of 0 to 4 and is represented by 3 bits.
  • the fill type 4125 has a value in the range of 0 to 396 and is represented by 9-bit data.
  • the present invention is not limited to these specific numerical values.
  • Fig. 12 shows three examples of connection types 4 124.
  • (A) shows the type that connects the outer vertices of the vector outline with a straight line
  • (b) shows the type that connects the outer vertices with an arc
  • (c) shows the type that connects the two vertices.
  • (A) shows the type that connects the outer vertices of the vector outline with a straight line
  • (b) shows the type that connects the outer vertices with an arc
  • (c) shows the type that connects the two vertices.
  • the types that extend the outer contour are the types that extend the outer contour:
  • the vector of the pen attribute data 4 1 2 and the coordinate data, y) 4 are mixed in 1 3 or the like and the force s independently of one another.
  • the pen attribute data 4 12 is omitted during that time. This is because, in general, a vector is a component of a circle, a polygon, or a continuous line segment, and thus it is possible to consider that many vectors have the same pen attribute.
  • the start point of the first vector is represented by absolute coordinate data
  • the subsequent end points are the immediately preceding end points. Expressed in relative coordinates to a point. Considering the example in Fig.
  • the starting point 18 1 of the leading vector 19 1 of the continuous vector 19 1 and 19 2 is expressed in absolute coordinates, and the other end points 18 2 and 18 3 Expressed in relative coordinates from the previous point.
  • the continuous vector 1993, 1994 is also represented by the starting point 184 force s absolute coordinate of the leading vector 1993, and the other endpoints 1885, 186 are Is represented by relative coordinates from the point of.
  • the circle 195 is not shown in detail, but is approximated by a predetermined polygon, so that the side is similarly treated as a continuous vector. Since the absolute value of the relative coordinate may be larger than the absolute coordinate, the force f is expected to be smaller than the absolute value of the relative coordinate by 5 ′ in a general image.
  • the end points other than the start point of the first vector are uniformly relative coordinates.
  • the dedicated index data 402 is set for the image size data 421, but instead the image size data 421 is included in the file header 411. You may.
  • the omission of the Venn attribute data is performed not only for vectors in one set of continuous vectors, but also for multiple continuous vectors. That is, if the pen attribute of a certain continuous vector is the same as the attribute of the preceding continuous vector, the pen attribute data for the latter continuous vector can be omitted. If the pen attribute changes in the middle of the continuous vector, insert the new Venn attribute data there and terminate the point sequence, and treat the subsequent as another continuous vector. This also reduces the amount of data required for the pre-intermediate code.
  • the coordinate data of the pre-intermediate code is variable-length data. For example, if an n-byte integer (l ⁇ n ⁇ 3) is sufficient to represent a coordinate value, the coordinate value is represented by n-byte integer data. This data structure also contributes to pre-intermediate code data compression.
  • one byte is used independently as an index.
  • the index data is added to the beginning of the file .header, pen attribute data, and coordinate data.
  • coordinate data of the same number of bytes is continuous, the index data is omitted for the second and subsequent bytes.
  • the file 'header and pen attribute data following the index data are always one and have a fixed length.
  • the most significant bit of the byte is used to distinguish one byte of index data from the most significant byte of the coordinate data.
  • the most significant bit is ON (1), it indicates the data power index data, and if the most significant bit is OFF (0), it is OFF. If present, it indicates the most significant byte of the coordinate data.
  • the value of the most significant bit is not restricted at all for two or more bytes of data of two or more bytes.
  • the absolute coordinates used in the second data format are absolute coordinates on a sufficiently large virtual sheet, and the coordinates are converted into the coordinates of the actual printing position to be printed on the actual sheet during the intermediate code conversion. I do.
  • the printing position can be freely changed even after the reception of the input image data is completed.
  • the rearrangement process is generally used when using long paper such as roll paper. In the present embodiment, a user's power can be instructed from the operation panel for a rearrangement instruction for saving paper.
  • the data analysis unit 3 rearranges the image print as shown in FIG. 19 (a) to the image print as shown in FIG. 19 (b) based on the pre-intermediate code. . Specifically, for the position information, the origin is moved (offset) with respect to the coordinate value on the pre-intermediate code. An intermediate code is generated by adding. If rotation is necessary at the same time, apply rotation processing.
  • the aspect ratio of the formed image must also be preserved. Can be.
  • one of the X or Y coordinate values may be used and the other applied to the other.
  • the rotation of the image can be performed automatically when the image is rearranged, or can be specified by the user.
  • the pre-intermediate code is converted to intermediate code even if the user sets the paper orientation incorrectly because the image orientation (Portrait / Landscape) can be determined from the image size data in the pre-intermediate code.
  • the intermediate code can be generated by automatically performing the rotation process. This rotation processing is realized by performing a linear transformation on the coordinate values in the blurred intermediate code using the following equation.
  • (x, y) is the coordinates before the transformation
  • ( ⁇ ', y' :) are the coordinates after the transformation.
  • the rotation angle usually + 90 ° or -90 when repositioning. It is.
  • Figure 7 shows an example in which the integer data of Figure 6 is converted into the pre-intermediate codes:
  • the display unit 8 is a monitor device, and the decoration information is changed while performing a layout display on the monitor device and recognizing both images and the like that are actually plotted.
  • a small-sized liquid crystal display unit may be provided as the tenth display unit 8, and only the modification information may be displayed on the small liquid crystal display unit to change the modification information. Accordingly, the display unit 8 can be reduced in size, and thus the plotter device can be formed smaller and more inexpensively.
  • the image processing apparatus according to the present invention can be applied to any apparatus other than the plotter apparatus as long as it employs a banding method.
  • various modifications can be made without departing from the technical concept of the present invention.
  • the image processing apparatus employs the banding method, it is possible to convert input image data into raster data without providing a large-capacity memory.
  • the modification information and the like can be stored before plotting without providing a large storage capacity input buffer memory. Can be changed. Therefore, the cost of the image processing apparatus can be reduced through reduction of the storage capacity of the various memories.
  • the modification information can be changed for the pre-intermediate code, the actual paper size can be set by setting the virtual paper size for the block and layout in advance to be large. It is possible to analyze the input image data even if the size power is not known in advance.
  • the present invention plotter for printing by converting the base-vector data for each predetermined unit area into raster data, the printer device and the like of the design may be utilized to manufacture c

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Record Information Processing For Printing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

明 細 書 画像処理装置 技術分野
本発明は、 所定単位領域毎にベタ トルデータをラスタデータに変換して 印字を行うプロッタ装置, プリンタ装置等に適用して好適な画像処理装置に関 し、 特に、 ベクトルデータを中間コードに変換する画像処理装置に関する。 背景技術
従来、 1ページ分 (若しくは複数ページ分) の全入力画像データを、 一旦、 ラ スタデータに変換し、 これをメモリ上に展開するフルビッ トマップ方式により印 字を行うラスタプロッタ装置が知られている。
このフルビッ トマッブ方式では、 1ぺ一ジ分 (若しくは複数べ一ジ分) のラス タデータを展開する必要があるため、 その展開するための大きな記億領域を有す るメモリが必要となる。 具体的には、 1インチ (25. 4 mm) 当たりのドッ ト 数が 360 d p iのノズルへッ ドを 1 28個有し、 A 0判 (横 X縦: 84 1 mm X 1 1 89mm) の大きさのプロッ トが可能なラスタプロッタ装置では、 1ベ一 ジ分の入力画像データをラスタデータに展開するのに、
1 86 (KBytes) X I 1 89 (mm) / 25. 4 (画)÷ 1 28ノ 360=約 24 MBytes
の記憶容量を有するメモリカ?必要となる。 ここに、 「1 86 (Kb y t e s) 」 は、 後述する 1バンド分の入力画像データをラスタデータに展開するのに必要な メモリの記憶容量である。
このようなフルビッ トマップ方式のラスタプロッタ装置は、 記憶容量の大きな メモリを設ける必要があるため、 ラスタプロッタ装置がコスト高となる問題が めった。
一方、 主に記録へッ ドを搭載したキャリ ッジの走査を伴うラスタプロッタ装置 に用いられ、 入力画像データを、 所定単位領域毎 (例えば 1バンド毎) に後述の 中間コ一ドに変換し、 この中間コードをラスタデータに変換するバンディング方 式のラスタブロッタ装置も知られている。 ここに、 「バンド」 とは、 ヘッ ドの ; I 回の走査で記録される帯状の領域を表わす。
すなわち、 1本のべクタのデータを生成するためには、 図 8に示すようにその ベクタの二つの端点 (始点及び終点) を定義すると共に、 線の長さ, 線幅, 線の 先端形状等のベクタの修飾情報 (プロッタパラメータ) を定義する必要がある。 このため、 このバンデイング方式のラスタプロッタ装置は、 図 9に示すように上 記始点及び終点を定義すると共に各種修飾情報を付加したベタ トルデータを、 一 旦、 いわゆるディスプレイリスト(Display List) と呼ばれる中間コードに変換 し、 この中間コードに対してベク トル Zラスタ変換処理 (Vector- to-Raster
Conversion (VRC) ) を施しラスタデータを生成する。 この中間コードは、 ベ ク トル/ラスタ変換処理に適した形式のデータであり、 入力画像データを構成す るベク トルデータに基づいて、 バンド単位に、 前記修飾情報を反映させた各べク 夕の輪郭を構成する座標データにより構成される。 なお、 中間コードの具体例に ついては、 後述する。
このように印字開始前に生成した中間コードを 1ノ ンド毎にラスタデータに変 換することにより、 上述のフルビッ トマツプ方式のラスタプロッタ装置のよう に、 入力画像データをそのままメモリ上に展開する不都合を防止することがで き、 必要なメモリの記憶容量を低減することができる。
具体的には、 前述の場合と同様、 1インチ (25. 4 mm) 当たりのドッ ト数 が 360 d p iのノズルへッ ドを 128個有し、 A 0判 (横 X縦: 84 1 mmX 1 189mm) の大きさのプロッ トカ呵能なラスタブロッタ装置においては、 上 記 1バンド分の入力画像データをラスタデータに展開するのに必要なメモリの記 憶容量は、
84 1 (mm)/ 25. 4 M X 360 (dpi) X 128 (個) =約 1 86脚 tes となり、 上述のフルビッ トマップ方式のラスタプロッタ装置が必要とするメモリ と比較してその記憶容量を大幅に低減することができる。
このようなバンディング方式のラスタブ口ッタ装置は、 以前ブロッ トしたデ一 タを再プロッ ト (リブロッ ト) する場合には、 中間コードを利用して行うように なっており、 この中間コードは、 前述のように、 上記修飾情報等を反映させた座 標データの形式で生成される。 このため、 後から回転処理, 拡大処理, 縮小処 理, 線幅等の変更を行うことは容易ではない。
なお、 上記入力画像データを一旦記憶する入力バッファメモリの容量を大きく し、 入力バッファメモリに記憶されている入力画像データを利用することによ り、 各バンド毎の入力画像データに対して、 それぞれプロッ トパラメ一タを変更 して中問コードを生成することができる。 しカゝし、 これを行うには、 記憶容量の 大きな入力バッファメモリを必要とするため、 部品実装面上の問題が生ずるう え、 入力バッファメモリの容量を大きくする分、 ラスタプロッタ装置がコス ト高 となり現実的ではない。
さらに、 従来、 複数の画像を用紙上に記録する際に、 用紙の無駄を省くための 画像配置手段を有するものが知られている。 すなわち、 本来であれば図 1 9
( a ) のように、 画像をその入力された順に例えば長尺の用紙に縦に並べて記録 するところ、 画像配置手段により、 図 1 9 ( b ) に示すように画像の記録位置を 再配置する。 従来、 このような画像の再配置を行うには、 入力画像データを中間 コードに変換する際に、 入力画像データの画像を実用紙上に形成した場合の画像 サイズを考慮して再配置場所を決定していた。
しかし、 この方法では、 実用紙のサイズおよひ、個々の画像データの画像サイズ 力 入力画像データを中間コードに変換する以前に確定されている必要がある。 そのため、 実用紙のサイズは、 ユーザからの指示やブリントエンジン 2 6から得 られる情報等により既知でなければならない。 また、 画像サイズについても、 画 像デ—タの入力を開始する前にデータへッダ等の形式で画像サィズが明示的に指 示される力、、 ユーザからの明示的な指示を必要とする。 したがって、 プロッ ト屮 に次の入力画像デ—タカ5 '供給され、 この際、 次に給紙される用紙のサイズが不定 であるとその入力画像データに対する中間コードの生成を行うことができないた め、 C P Uの動作に空き時間を生ずることとなり、 C P Uの効率的な使用という 面における問題があった。
本発明は、 上述の課題に鑑みてなされたものであり、 ビッ トマップ展開用の大 記憶容量のメモリを設けることなく入力画像データをラスタデータに変換するこ とができるとともに、 大記憶容量の入力バッファメモリを設けることなくプロッ ト前に修飾情報等を変更することができる画像処理装置を提供することを目的と する。
本発明の他の目的は、 事前にプロッ トする用紙サイズが不定であっても入力画 像データの解析可能として C P Uの有効使用を図ることができるような両像処理 装置を提供することにある。 発明の開示
本発明による画像処理装置は、 バンド単位に両像の形成を行う画像処理装置で あって、 画像を構成するべクタ群の各べクタの端点の座標データと該ベクタの各 種修飾情報とからなる第 1のデータフォーマッ トの入力画像データを、 前記各種 修飾情報を前記端点の座標データとは独立に保持すると共に前記第 1のデータ フォーマツ トに比べてデータ量力?低減される第 2のデータフォーマツ 卜の画像 データに変換するデータフォーマツ ト変換手段と、 該データフォーマツ ト変換手 段により得られた第 2のデータフォーマツ トの画像データの全体を格納する記憶 手段と、 前記第 2のデータフォーマツ トの画像データに基づいて、 前記バンド単 位に、 前記各種修飾情報を反映させた各べクタの輪郭を構成する座標データから なる中間コ一ドを生成する中間コード生成手段と、 該中間コード生成手段により 得られた中間コードを、 前記バンド単位に、 対応するラスタデータに変換するラ スタデータ生成手段とを備えたものである。
より具体的には、 本画像処理装置は、 第 1のデータフォーマツ トを有する入力 画像データであるべクトルデータをこれと異なる第 2のデータフォーマツ トの画 像データ (ブレ中間コード) に変換することにより、 例えば線幅, 線の先端形状 等の修飾情報が中間コードにおいて確½されてしまう前に、 べク トルデータに上 記各種修飾情報を付加したかたちのまま、 この第 2のデータフォーマツ トの画像 データを記憶手段に保持する。
好ましくは、 前記第 2のデータフォーマツ 卜の座標データは、 直列に連結した ベクタ群の先頭のべクタの始点のみ絶対座標で表わし他の端点は相対座標で表わ す。 また、 好ましくは、 前記第 2のデータフォーマッ トの座標データは可変長デー タであり、 各座標点の座標データに対して、 その直前に、 該座標データのデ一タ 長および絶対座標/相対座標の種別を識別するための予め定められた固定長の指 標データ力付加される。 この場合、 同じ種別の座標データが連続する場合、 2番 目以降の座標デ一タについては前記指標データを省略することができる。
前記第 2のデータフォーマツ トにおいて、 前記座標データと前記指檫データと は、 予め定めた複数ビッ トの単位データの例えば先頭ビッ トの値により区別され る。
前記第 2のデータフォーマツ トにおいて、 前記各種修飾情報は固定長のペン属 性データを含み、 該ペン属性データの直前にも識別 fflの固定長の指標デ一タカ付 加される。 このべン属性デ一タは、 前記各種修飾情報が変化したべクタの座標 データに対してのみ付加され、 修飾情報が変化しないべクタについては省略され ることが望ましい。
このような第 2のデータフォーマツ 卜の構成により、 第 2のデータフォーマツ トの画像デ一タは第 1のデ一タフォ一マツ トの画像デ一タに比べて、 通常、 デー タ量が軽減 (圧縮) される。 したがって、 第 2のデ一タフォ一マツ トの画像デー タ (ブレ中 ^コード) を格納する記憶手段に必要な記憶容量力節減される。
前記中間コ一ド生成手段は、 前記第 2のデータフォーマッ トの画像デ一タに基 づいて中間コードを生成する際に、 ユーザの指示に従い、 前記第 2のデータ フォーマッ トの画像データの各種修飾情報より、 ユーザに指定された修飾情報の 方を優先して用いる手段を備えてもよい。
あるいは、 前記画像処理装置は、 前記記億手段に記憶されている前記第 2の データフォーマツ トの画像データに記述された各種修飾情報のうちユーザにより 指定された修飾情報を変更する手段を備えてもよレ、。
さらには、 前記画像処理装置は、 前記第 2のデータフォーマツ トの画像データ に基づいて前記中間コード生成手段により中間コードを生成する際に、 複数個の 画像を用紙上に配置する位置や向きを決定する手段を備えてもよい。 この場合、 好ましくは、 前記データフォーマツ ト変換手段は、 前記入力画像データに基づい て、 当該入力画像のサイズを検出して、 該検出された画像サイズを表わす画像サ ィズデータを前記第 2のデータフォーマツ トの画像データ内に含め、 前記位置や 向きを決定する手段は、 当該画像サイズデ—タを参照して前記位置や向きを決定 する。
あるいは、 前記画像処理装置は、 前記第 2のデータフォーマツ 卜の画像データ に基づいて前記中間コード生成手段により中問コードを生成する際に、 画像を拡 大または縮小する手段を有してもよい。
本発明によれば、 修飾情報を確定しないプレ中間コードを記憶手段に保持する ことにより、 このような各種手段による修飾情報の変更や、 両像の再配置が容易 となる。
例えば上記ブレ中間コードから中間コードへの変換の際に座標値を変換するこ とによつて用紙上の任意の位置に両像を印字すること力可能となる。 すなわち、 例えば A 0ロール紙上に A 4の画像サイズを持った入力画像デ一タを複数枚印字 したい要望があつた際にプレ中間コードに基づレ、て用紙上の任意の位置に任意の 画像を配置することカ可能となる。
また、 プロッ ト, レイアウト表示の際の仮想的な用紙サイズを予め大きめに設 定しておくことで、 実際にセッ トされる用紙のサイズが事前にわからない場合で も入力画像データの解析を可能とすることができる。 修飾情報の変更はプレ中間 コードに対して行えるため、 プレ中間コードから中間コードへの変換時に、 実用 紙サイズに合わせた画像のプロッ トを行うことができる。 また、 ロール紙をプ ロッ ト用紙として使用する場合や、 カッ トシートフィーダ使用時等のように、 連 続してデータ力 '伝送されてくる可能性が高い場合に、 実際にセッ トされる用紙の サイズが変更された場合でも、 C P Uの処理に余裕があるときに上記プレ中間 コードに基づいて事前に入力画像データの解析を行うことができる。 このため、 C P Uを有効に利用することができる。
レイァゥト表示の際は、 上記プレ中間コ一ドに対して各種の修飾情報の変更処 理を施すと共に所定のレイァゥト情報を付加した後、 ラスタデータに変換してモ 二夕表示することができる。 従って、 モニタ表示されたレイァゥトを見ながら修 正等を加えることができ、 所望する画像状態等を確実に実現することができる。 図面の簡単な説明
図 1は、 本発明に係る画像処理装置をプロッタ装置に適用した実施例のプロッ ク図である。
図 2は、 上記実施例に係るプロッタ装置を、 C P Uを用いて構成した場合の ハードウェア構成を示すブロック図である。
図 3は、 上記実施例に係るプロッタ装置において、 ベク トルデータをラスタ データに変換する場合の変換手順を示すフローチャートである。
図 4は、 上記実施例に係るプロッタ装置で用いられるプレ中間コ一ドのフォー マツ トを示す図である。
図 5は、 上記プレ中間コードを構成する指標データ及び座標データのデータ構 造を説明するための図である。
図 6は、 上記プレ中間コードにおいて用いられる整数データを説明するための 図である。
図 7は、 図 6の整数デ一タがプレ中間コ一ドに変換された一例を示す図であ る。
図 8は、 一般的なべクトルデータを説明するための図である。
図 9は、 従来のバンデイング方式のラスタプロッタ装置において、 ベク トル データをラスタデータに変換する場合の変換手順を概念的に示す図である 図 1 0は、 図 4のブレ中間コードのフォーマツ 卜におけるペン属性を説明する ための図である。
図 1 1は、 図 1 0のペン属性の各種変数名を説明するための図である。
図 1 2は、 図 1 1に示した線分の結合タイプを説明するための図である。
図 1 3は、 上記実施例における中間コードの一例を示す図である。
図 1 4は、 図 1 3の中間コードのデータ列を説明するための図である。
図 1 5は、 上記実施例における中間コードのフォーマツ トを示す図である。 図 1 6は、 上記実施例における入力画像データの一例を示す図である。
図 1 7は、 図 1 6の入力画像データに用いられているコマンドの説明図であ る。
図】 8は、 図 1 6の入力画像データにより得られるブロッ ト結果を示す図であ る。
図 1 9は、 上記実施例における画像の再配置を説明するための図である。 図 2 0は、 図 4のブレ中間コードに含まれる画像サイズを説明するための図で ある。 発明を実施するための最良の形態
以下、 本発明に係る画像処理装置の好ましい実施例について、 図面を参照しな がら詳細に説明する。
本実施例に係る画像処理装置は、 インクジェッ ト記録へッ ドを搭載したキヤ リッジの走査を伴うインクジエツ ト方式のプロッタ装罱に適用したものである。 図 1に示すように、 このプロッタ装置は、 上位のホストコンピュータ装置 1 1 から入力画像データを受信するためのデータ通信部 1 と、 このデータ通信部 1に より受信した入力画像データを、 一旦記憶するためのリングバッファである入力 ノ ッファメモリ 2と、 本プロッタ装置全体の制御を行うデータ解析部 3と、 本ブ ロッタ装置の操作パネルを含み、 各種修飾情報等の入力を行うための入力部 5 と、 この入力部 5からの各種修飾情報等を検出し、 これを上記データ解析部 3に 供給する入力検知部 4とを有している。
プロッタ装置は、 さらに、 本装置の制御プログラム, プリ中間コード, 中間 コード, 修飾情報等力 s記憶される記憶部 6と、 プロッ トを行う画像等を事前に表 示してそのレイアウトの確認を行うことができる表示部 8と、 この表示部 8の画 像表示制御等を行う表示制御部 7と、 上記入力画像デ一タに応じた画像をプロッ トする印字部 1 0と、 この印字部 1 0の印字を制御する印字制御部 9とを有して いる。 記憶部 6は、 例えば半導体メモリ、 光磁気ディスク、 磁気ディスク (フ 口ツビーデノ スク、 ノヽー ドディスク等) 等を含む。
より具体的には、 図 1に示した主としてデータ解析部 3の機能および装置全体 の制御の機能を C P U (中央演算回路) を用いて実現した場合のハードウェア構 成を、 図 2に示す。
すなわち、 この図 2において、 C P Uバスライン 1 1には、 C P U 1 2と、 プ ログラム格納用の F 1 a s h R 0 M 1 3と、 各種フォント及びブートプログラム 格納用の E PROM 14と、 ユーザにより設定された各種修飾情報格納用の EEPROMl 5と、 上記入力バッファメモリ 2および作業領域として用いられ る RAM 1 6と、 プリントエンジン 26への通信用エンジンインターフェース (エンジン I/F) ュニッ ト 25と、 I/Oバスライン 27とがそれぞれ接続さ れている。 プリントエンジン 26およびエンジン I ユニッ ト 25は、 それぞ れ、 図 1の印字制御部 9および印字部 1 0に対応する。
また、 I 0バスライン 27には、 S CU (Serial Communication Unit) 1 7 と、 割り込み処理やタイマ処理等のための PTC (Programmable Timer
Controller) 18と、 P 10ユニッ ト (Progra麵 able 10 Uni 1 9と、
F I FOR AM 20とがそれぞれ接続されている。 また、 SCU 1 7には、 シリ アルインタ一フェース (シリアル I F) ユニッ ト 2 1力 f接続されており、 F 10ユニッ ト 19には、 キ—パネル 22及び液晶 (LCD) 表示器 23がそれ ぞれ接続されている。 キーパネル 22は図 1の入力部 5に対応し、 液晶表示器 2 3は図 1の表示部 8に対応する。 また、 F I FOR AM 20には、 パラレルイン ターフェース (パラレル I F) ユニッ ト 24力 s '接続されている。 シリアル 1/ Fュニッ ト 2 1またはパラレル I ZFュニッ ト 24力 s '前述した図 1のデータ通信 部 1を構成する。
このような構成を有する当該実施例に係るプロッタ装置において、 C PU 12 は、 F l a s h R0M13, E P ROM 14, EE P ROM 1 5, RAMI 6 (これらは記憶部 6に相当する) の任意のメモリに記憶されたプログラムに従つ て各部を制御するようになっている。
本プロッタ装置におけるべクトルデータからラスタデータへの変換手順は、 図 3に示す様になつている。
すなわち、 データ通信部 1力'入力画像データであるべク トルデータを受信し (S 3 1 ) 、 これを入力バッファメモリ 2に一旦記憶する。 次に、 データ解析部 3は、 この入力バッファメモリ 2に記憶された入力画像データを読み出し、 該入 力画像データに含まれる単線分 (ベクタ) の端点 (始点および終点) を求め、 同 時にそれら単線分に対する修飾情報を、 第 2のデータフォーマツ 卜の画像データ である、 後述するブレ中間コードの形式に変換する (S 32) 。 この変換により 得られたプレ中間コード全体は記憶部 6 4に格納される。 入力画像データを入力 ノ ッファメモリ 2へ格納する処理と、 入力バッファメモリ 2に格納された入力画 像データのデータフォーマツ トを変換する処理とは並行して行われるため、 入力 ノ ツファメモリ 2の記憶容量は画像全体の一部に相当するサイズで足りる。 次に、 データ解析部 3は、 図 3に示すように、 記憶部 6 4に格納されたプレ中 間コードに基づいて、 対応する中間コードを生成する (S 3 3 ) すなわち、 ブ レ中間コードを中間コ一ドに変換する。 この中間コードも記憶部 6 4の別の領域 に格納される。 中間コードは入力画像全体について格納しても、 あるいは、 続く V R C処理時に必要な容量分だけ一時的に格納するようにしてもよレ、。 中間コー ド内で使用される座標を表わす数値は、 実際に印字を行うために印字ドッ トによ る単位系を用いる。 具体的には、 記録へッ ドの解像度である ( 1 / 3 6 0 i n c h ) 単位の座標系を用いる。 さらにプレ中間コードまで保留されていた修 飾情報の各線分への反映を行う。 すなわち、 べク トルデータの座標値に基づい て、 バンド毎に実際に印字する線分の輪郭の座標を算出する。
このブレ中間コードから中間コードへの変換の際に、 ユーザは各べクタの修飾 情報 (実際にはそれを描画するための仮想的なペンの修飾情報) の変更や、 用紙 サィズの変更などを行うこと力可能となる。 またリブロッ トの際もプレ中間コー ドから解析をやり直すことで前記の各種変更を可能としながらも、 高速に新たな 画像を得ることが可能となる。
さらに、 データ解析部 3は、 このようにして求められた中間コードをラスタ データに変換して、 プリントエンジン 2 6へ供給する (S 3 4 ) 。
ブレ中間コードのデータフォーマツ トでは、 単線分の情報とその単線分に対応 する修飾情報は依然相互に独立に存在している。 すなわち、 修飾情報は、 単線分 の座標データに反映はされておらず、 修飾情報は独立して変更可能な状態にあ る。 また、 後述するように、 第 2のデータフォーマツ トは第 1のデータフォー マッ トに比べて、 画像デ一タ全体のデ一タ量が低減 (圧縮) されるようになって いる。
ユーザが、 実際にプロッ トを行う前にプロッ ト状態を確認したい場合、 図 1に 示す入力部 5を用いてレイァゥト表示の指示を行う。 このレイァゥト表示の指示 力行われると、 入力検知部 4を介してデータ解析部 3がこれを検出し、 該指定さ れた両像に対応する、 記憶部 6に記憶されているプレ中間コードを読み出す。 そ して、 このプレ中間コードを中間コードに変換すると共に、 ラスタデータに変換 し、 これを表示制御部 7を介して例えばモニタ装置等の表示部 8に供給する,:, こ れにより、 ユーザに指定された画像を上記表示部 8にレイアウト表示することが できる。
次に、 ユーザは、 上記レイアウト表示された画像を見て、 実際にプロッ トを行 う前にプロッ ト状態を認識し、 上記修飾情報の変更を行う場合は、 入力部 5を搡 作して、 該変更 (削除や付加も含む) する修飾情報の入力を行う。 この入力され た修飾情報は、 入力検知部 4を介してデータ解析部 3に供給される。
データ解析部 3は、 上記変更された修飾情報が供給されると、 記憶部 6に記憶 されている修飾情報の変更指示を行う。 この変更内容は、 メモリ、 例えば E E P R O M 1 1 5に格納される。 データ解析部 3は、 予め設定されたユーザの 指示に基づき、 この変更指示された修飾情報を、 プレ中間コードから中間コ一ド に変換する際に優先的に用い、 さらにこの中間コードをラスタデータに変換して 表示部 8に供給する。 これにより、 ユーザにより変更された修飾情報に応じた兩 像をモニタ表示することができる。
また、 ユーザは、 このモニタ表示された画像が所望のものである場合、 上記入 力部 5を操作してプロッ トを指定する。 これにより、 データ解析部 3がこれを検 出して現在レイァゥト表示されている画像に応じたプレ中間コードを記憶部 6か ら読み出し、 先の同様の処理により中間コード及ぴラスタデータに変換して印字 部 1 0に供給する。 これにより、 ユーザにより変更された修飾情報に応じた画像 等をプロッ トすることができる。 なお、 中間コード全体を記憶保持している場合 には、 その中間コードに基づいてプロッ トを行うことができる。
このように、 本プロッタ装置は、 ベク トルデータを中間コードに変換する前 に、 確定前の修飾情報を有するベタ トルデータであるブレ中間コードに変換し、 このプレ中間コードを記憶部 6に記憶しておくことにより、 べク トルデータをラ スタデータに変換した後においても、 記憶部 6に記憶されている修飾情報に対し て変更処理を施すことができるため、 修飾情報の変更を容易化することができ る。
以下、 図 3の処理の順序とは異なる 、 まず、 本実施例が'想定するプロッタの 入力画像データおょぴ中間コードを説明した後、 プレ中間コードについて説明す る。
図 1 6に、 本実施例が想定する入力画像データの一例を示す。 これは、 プロッ 夕に対して与えられるコマンドおよび座標データからなるデータであり、 例えば ASC I Iコードのような文字コ一ド列で構成される。 座標データを表わす ( 1 000, 2000) を構成する" 0 " , " 1" , " 2 " のような各桁数値 ( digits)も 1バイ トの文字コードで表わされる。 本実施例では、 入力画像データの 各座標デ一タは 4バイ トで表わされる。
図 1 7に、 図 1 6のデータ例の中で使用されているコマンドの例を示す。
" I N I T; " は、 画像データを送出開始時に出力される初期化命令である。
" P ENW (ペン番号) , (ペン幅) ; " は、 複数のペン (インクジエツ ト記 録では仮想的なもの) に対してそれぞれのペン幅 (ペン太さ) を指定するための ペン幅指定命令である。
" SPEN (ベン番号) ; " は、 これから使用すべきペンを指定するための作 画ペン指定命令である。
" PNDN ; " は、 作画ペン指定命令で指定したペンを用紙に対して押しつけ るためのペン下げ命令である。
" PNUP ; " は、 ペン下げ命令と逆の動作を指示するペン上げ命令である。
" PMOV (X座標) , (Y座標) ; " は、 指定されたペンをその現在位置か ら (X座標, Y座標) の位置まで直線移動させるためのペン移動命令である。 こ のペン移動の際、 ペン力下がっていれば線力描画され、 ペンカ?上がっていれば描 画は行われず単にベンの現在位置のみが変化する c
" C I RC (半径) , (角度) ; " は、 現在位置を中心として、 指定された角 度単位の円弧を直線で近似することにより、 指定された半径の円を描画するため の円描画命令である。 (角度) を省略した場合は、 予め定めた角度 (例えば 5 ' ) がデフォルト値として採用される。
" D E N D; " は、 入力画像データの終了を示す命令である。 図 1 1の例では、 まず、 ペン 1とペン 2のペン幅をそれぞれ" 5" と" 1 0" に設定し、 その後、 ペン 1を座標点 (1 000, 1 000) へ移動させる。 そこ で、 ペン 1を下げて、 座標点 (2000, 2000) へ移動させ、 さらに座標点 ( 1000, 2000) へ移動させる。 その後、 このペン 1を上げる。 次に、 ベ ン 2を指定し、 座標点 (2000, 1 000) へ移動させた後、 このペン 2をダ ゥンさせる。 そこで、 このペン 2を座標点 (3000, 1 000 ) まで移動させ る。 続いて、 このペン 2を下げたまま座標点 (3000, 2000) へ移動させ た後、 このベン 2を上げる。 さらに、 このベン 2を座標点 (4000, 400 0) へ移動させた後、 ペン 2を下げて半径" 800" の円を描画する。 その後、 ペン 2を上げて、 この作画処理を終了する c
このようにして作画された画像を図 18に示す。 ペン 1とペン 2でぺン幅が異 なっていること力'分かる。
図 1 6のデータ例におけるペン属性としてはベン幅のみを示している力 実際 には、 他の各種修飾情報を付加することができる。
次に、 中問コードの具体的な構成を図 13、 図 1 4、 図 1 5により説明する。 図 13に、 中間コードの具体的なデータ例を示す。 中間コ一ドは、 各バンドに ついて、 バンド番号 (N— 1, N, N+ 1等) と、 そのバンドに含まれる各べク タの輪郭 (アウ トライン) の水平セグメン トの個数 ( 1, 2等) と、 各セグメン トの座標データ ( (X I, Y 1) , (x 6, y 6) 等) とにより構成される。 図 1 3のデータを用紙上の座標点に対応づけた様子を図 14に示す。 この例 は、 端点 14 1, 149を有する幅 Wのべクタをプロッ トしたものである。 但 し、 図ではペン幅 Wは誇張して示してある。
図 13および図 1 4から分かるように、 中間コードは座標点データを含み、 こ の座標点データは、 線幅等の修飾情報を反映させて得られるベクタの輪郭を定め るものである。 より具体的には、 この座標点データは、 個々のバンド毎に得られ るそのべクタの輪郭の特徴点を選択して得たものである。 このバンド毎のべク夕 の輪郭は、 1個または複数個の 「水平セグメント」 に分割される。 各水平セグメ ン トは、 基本的に四角形であり、 4つの頂点により表わされる。 図 1 4のセグメ ント 13 1や 138のように三角形のセグメントは、 そのうちの 1つの頂点を重 複して記述する。 これにより、 中間コードでは、 すべての水平セグメントを 4つ の頂点で表わす。 図 1 3の例では、 水平セグメント 1 3 1は、 その頂点の 1つで ある座標 (x 6, y 6 ) 力、'重複記述されていること力 ?分かる。
中間コードは、 このように四角形の集合となるため、 各四角形の 4頂点の座標 力 つのデ一夕単位となる。 1点の座標データは、 (X座標) と (y座標) から なるため、 計 8個の数値で表わされる (この 8個の数値からなるデータ単位を 1 D L (Di splay Li sりと呼ぶ) 。 したがって、 中間コードは、 実用紙上のパン ド 番号とバンド内に存在する D L数と D Lデータとの組を用紙上のバンド数だけ橾 り返して記述したシ一ケンシャルデ一タであるといえる。
図 1 4の^では、 ベクタ全体の輪郭は、 8個の水平セグメント 1 3 1〜 1 3 8 の 4頂点により定義されている。 図中、 大文字の X, Yで示した座標点 (黒ドッ トで示す) 1 4 2〜 1 4 5は線幅を反映させたベクタの輪郭を定める 4点の座標 点を示し、 小文字の X, yで示した座標点 (白ドッ 卜で示す) 1 4 6〜 1 5 2 は、 バンディング処理により生成された座標点である。
このように、 中間コード 1 3の座標データにはべクタの修飾情報が反映された 形となっており、 これに基づいて、 修飾情報を変更したり画像の再配置をしたり することは、 入力画像データに対してそのような処理を行う場合に比べて、 困難 カ?伴うこと力理解されよう。
なお、 図 1 4の例では先端形状を考慮していないが、 先端形状を考慮した場合 にはその先端形状も含めた輪郭が定まり、 その輪郭に応じて、 上述したように、 各水平セグメン卜が定まる。
図 1 3及び図 1 4の説明から推測されるように、 中間コードは図 1 5に示すよ うなデータフォーマツ トを有する。 すなわち、 ノ ンド番号 1 6 1と、 そのバンド に含まれるセグメント (D L ) の個数 1 6 2と、 各セグメントの 4つの座標点 データ 1 6 3の組を、 バンド数分並べたものである。 これにより、 バンド毎のラ スタデータの生成が容易に行える。
次に、 第 2のデ一タフォ一マツ トを有する画像データであるプレ中間コードの 構造について説明する。
図 4に示すように、 ブレ中間コードは、 プロッ トの 1単位であるファイルと呼 ばれるデ一タブロックを有する。 通常このファィルは 1ページ分の画像に相当す る。 各ファイルは、 各種指標データと、 画像サイズデータと、 修飾データと、 座 標データから構成される。 ファイルには固定長データと可変長データが混在する ため、 各データの先頭にそのデータがどのような種別のデータであるかを示す識 別子としての固定長 (この例では 1バイ ト) の指標データを付加している。 図 4の例では、 " FH" という指標データ 4 0 1は、 その直後のデータが固定 長のファイルヘッダ 4 1 2であることを示している。 " I S" という指標データ 4 02は、 直後のデータが画像サイズを表わす 8バイ ト整数データであることを 示している。 " AT" という指標データ 403は、 その直後のデータ 4 1 1が固 定長のペン属性データであることを示している., " A3" という指標データ 40 4は、 以降のデータ 4 1 3が 3バイ ト整数の絶対座標データであることを示して いる。 " R 2" という指標データ 4 05は、 以降のデータ 4 1 5が 2バイ ト整数 の相対座標データであることを示している。 " A4" という指標データ 4 06 は、 以降のデータが 4バイ ト整数の絶対座標データであることを示している。 " R 3" という指標データ 407は、 以降のデータが 4バイ ト整数の相対座標デー タであることを示している。 このように、 座標データを表わす指標データ 40 1 〜4 1 0の先頭の" A" および" R" は絶対座標および相対座標の別を示し、 そ れに続く数字はバイ ト数を示している。
ファイルヘッダ 4 1 1は、 プロッタにより、 ブレ中間コード生成時に、 画像 デ一タに自動的に付与されるフアイル番号あるいはユーザが入力する任意のファ ィル名称を格納する固定長のエリァである。
画像サイズデータ 42 1は、 図 2 0に示すように、 入力両像データにより表わ された、 仮想用紙上での 1フアイルの画像の外縁の水平方向および垂直方向のサ ィズ ΔΧ, ΔΥである この画像サイズデータは、 入力画像データからブレ中間 コードを生成する際に、
ΔΧ= (最大 X) - (最小 X)
ΔΥ= (最大 Υ) - (最小 Υ)
で算出される。 図 2 0から分かるように、 最大 Xおよび最小 Xは、 それぞれ、 画 像を構成している画素の X座標値のうち、 水平方向における最大および最小の座 標値である。 Yについても同様である。 本例では、 ΔΧ, ΔΥはそれぞれの 4バ イ ト (32ビッ ト) 符号なし固定長データで表わされる。
ペン属性 4 1 2は、 各種修飾情報を格納するための固定長のエリアであり、 そ の具体例を図 1 0に示す。 図 1 0のペン属性 4 1 2は、 後続の座標データで定義 されるベクタに使用するペンの番号 (penNumber) 4 1 2 1、 ペン幅 4 1 2 2、 線分 の端部形状を定める終端タイプ(lineEnds) 4 1 23、 線分の端部同士の結合の形 状を定める結合タイプ(linejoin) 4 1 24、 線分の輪郭内部の塗り潰しパターン を定める塗り潰しタイプ(iillType) 4 1 2 5等を含む。
図】 1に示すように、 本実施例では、 ペン番号 4 1 2 1は 0〜63の範囲の値 をとり、 6ビッ トのデータで表わされる,, ペン幅 4 1 22は、 3 2ビッ トのデー タで表わされる。 終端タイプ 4 1 23および結合タイブ 4 1 24は、 それぞれ、 0〜 4の範囲の値をとり、 3ビッ トで表わされる。 塗り潰しタイプ 4 1 2 5は、 0〜396の範囲の値をとり、 9ビッ トのデータで表わされる。 但し、 本発明は これらの具体的な数値に限定されるものではない。
結合タイプ 4 1 24の 3つの例を図 1 2に示す。 ( a ) はべクタの輪郭の外側 頂点同士を直線で結合するタイプを示し、 (b) は両外側頂点間を円弧で結合す るタイプを示し、 (c) は結合する 2つのべクタの外側側部の輪郭線を延長する タィプを示す:
図 4に示すように、 プレ中間コードのデータ内には、 ベクタのペン属性データ 4 1 2と座標データ , y) 4 1 3等と力 s相互に独立に混在している。 また、 同一ペン属性のベクタ力?続く場合は、 その間、 ペン属性データ 4 1 2力省略され るようになっている。 これは、 一般的に、 ベクタは円や多角形、 連続線分の構成 要素であるため、 多数の同じペン属性のベクタ力続くこと力考えられるからであ る。
また、 連続べクタ ( i番目のベクタの終点が i + 1番目のベクタの始点に一致 する n個のべクタ ( i = l, 2, · · ·, n— 1 ) の組) は、 点列として表現す ることにより、 重複する座標点 ( i番目のベクタの終点 = i + 1番目のベクタの 始点) は 1つの点の座標データのみを保持する。 このような連続べクタについて は、 その先頭のベクタの始点は絶対座標データで表わし、 以降の端点は直前の端 点に対する相対座標で表わす。 図 1 8の例で考えれば、 連続べクタ 1 9 1, 1 9 2の先頭べクタ 1 9 1の始点 1 8 1力絶対座標で表わされ、 他の端点 1 8 2、 1 8 3は前の点からの相対座標で表わされる。 同様に、 連続べクタ 1 9 3, 1 9 4 についても、 その先頭べクタ 1 9 3の始点 1 8 4力 s絶対座標で表わされ、 他の端 点 1 8 5、 1 8 6は前の点からの相対座標で表わされる。 円 1 9 5は、 子細に図 示しないが、 所定の多角形で近似されるので、 その辺は連続べクタとして同様に 扱われる。 なお、 相対座標の方が絶対座標よりもその絶対値が大きくなる場合も ある力 f、 一般的な画像においては相対座標の絶対値の方力5'小さくなると予想され るので、 本実施例では先頭べクタの始点以外の端点は一律に相対座標としてい る。
図 4の例では、 画像サイズデータ 4 2 1に対して専用の指標データ 4 0 2を設 けたが、 この代わりに、 画像サイズデータ 4 2 1をファイルヘッダ 4 1 1内に含 めるようにしてもよい。
以上のようなプレ中間コードの構造により、 画像データのデータ圧縮を図るよ うになつている。
上記ベン属性データの省略は、 1組の連続べクタ内のベクタに対してだけでな く、 複 の連続べクタに対しても行うようになっている。 すなわち、 ある連続 ベクタのペン属性が、 その前の連続べクタの属性と同じ場合、 後者の連続べクタ に対するペン属性データは省略することができる。 連続べクタの途中でペン属性 が変わるような場合、 そこに新しいベン属性データを挿入して点列を打ち切り、 以降を別の連続べクタとして取り扱う。 これによつても、 プレ中間コードに必要 なデータ量が低減される。
プレ中間コードの座標データは可変長データである。 例えば、 ある座標値を表 わすのに nバイ ト整数 (l≤n≤3 ) で十分であれば、 その座標値は nバイ ト整 数データで表現する。 このデータ構造もプレ中間コードのデータ圧縮に寄与す る。
図 5により、 本実施例におけるプレ中間コードを構成する座標データおよび指 標データの構造を説明する。
前述のように、 本プロッタ装置においては、 指標として 1バイ トを独立に使用 するようになつており、 この指標データをファイル .ヘッダ, ペン属性データ, 座標データの先頭に付加するようになっている。 同数のバイ ト数の座標データが 連続する場合には、 2番 ϋ以降のバイ 卜について指標データは省略されるように なっている。 指標データの後に続くファイル 'ヘッダ及びペン属性データは、 必 ず 1個でかつ固定長である。
図 5に示すように、 1バイ 卜の指標データと座標データの最上位 1バイ トとを 区別するために、 当該バイ トの最上位ビッ トを使用する。 すなわち、 プレ中間 コードから 1バイ トを取り出したときに、 その最上位ビッ トが O N ( 1 ) であれ ばそのデータ力指標データであることを示し、 その最上位ビッ トが O F F ( 0 ) であれば座標データの最上位バイ トを示すこととなる, なお、 当然ながら 2バイ ト以上のデータの 2個 以降のバイ 卜についてはその最上位ビッ トの値は何ら制 限されない。
このように、 指標データとの区別のために、 糜標データの最上位 1バイ トの最 上位 1ビッ トは、 識別用ビッ トとして使用できなくなるため、 nバイ ト整数は実 際には、 (n X 8— 1 ) ビッ ト整数となる。 したがって、 1 〜 4バイ ト整数だけ では、 3 1ビッ トを超える整数は表現しきれないこととなる。 このため、 3 2 ビッ 卜でしか表現できない整数データについては、 図 6に示すように 5バイ ト整 数データを用意している。
また、 第 2のデータフォーマッ トで用いられる絶対座標は、 十分に大きい仮想 用紙上の絶対座標であり、 その座標を、 中間コード変換の際に実用紙上へ印字す る実印字位置の座標に変換する。 このように、 プレ中間コードノ中間コード変換 の際に最終的な座標を決定する事によって、 入力画像データを受信完了した後で も印字位置を自由に変えることが出来る。 した力 sつて、 再配置処理等の際にも従 来より自由度の高い再配置印字力可能となる。 再配置処理は、 ロール紙等の長尺 用紙を用いた際に一般に用いられる。 本実施例では、 用紙を節約するための再配 置指示を操作パネルからユーザ力 ^指示することができる。 この指示に応じて、 データ解析部 3がプレ中間コードに基づき、 図 1 9 ( a ) に示すような画像の印 字を、 図 1 9 ( b ) に示すような画像の印字に再配置する。 具体的には、 位置情 報については、 プリ中間コード上の座標値に対して原点移動 (オフセッ ト) 分を 足すことにより中間コードを生成する。 同時に回転の必要な場合には、 回転処理 を施す。
以下、 プレ中間コード内にある上記画像サイズデータを用いて行う、 本実施例 におけるプロッ ト対象の画像の拡大縮小処理および回転処理について説明する。 本実施例においては、 プレ中間コードの生成後に、 例えばプリントエンジン 2 6から得られる実用紙サィズが変更になつた場合でも、 その実用紙サィズに合わ せて画像を拡大縮小すること力 s可能である。 具体的には、 プレ中間コードから得 られる画像サイズと実用紙サイズの比を、 中間コ一ド生成の際にブレ中間コード 中の座標値に乗じることによって、 実用紙に対して適切なサイズの画像を形成す ることができる。 また、 プレ中間コード中に含まれる画像サイズを包含できる最 も小さい定型用紙サィズを新たな画像サィズとして、 これと実用紙サィズとの比 を用いれば、 形成された画像の縦横比も保存することができる。 この代わりに、 画像の縦横比を保存するためには、 Xまたは Y座標値の一方のみの比を用いて、 他方にもその比を適用するようにしてもよい。
画像の回転は、 画像の再配置の際に自動的に行う他、 ユーザの指示によって行 うことも可能である。 自動的に行う場合、 プレ中間コード中の画像サイズデータ から画像の向き (Portrait/Landscape)力分かるので、 ユーザが用紙の向きを間違 えてセッ トした場合でも、 プレ中間コードを中間コードに変換する際に、 自動的 に回転処理を行って中間コードを生成することができる。 この回転処理は、 以下 の式を用いて、 ブレ中間コード中の座標値を一次変換することによって実現され る。
X =x - c o s ^— y - s i n ^
y =y - s ι η ^ + χ · c o s ^
ここに、 (x, y) は変換前の座標であり、 (χ' , y ' :) は変換後の座標であ る。 通常、 は回転角度であり、 再配置の際には通常、 + 90° または—90。 である。
図 7に、 図 6の整数データがプレ中間コードに変換された一例を示す: 図 7か ら分かるように、 C PU力 slitUe-endian対応の場合、 整数データのバイ ト順序 は、 通常のメモリ上と上記プレ中間コード上とで逆になる 上述の実施例の説明では、 表示部 8をモニタ装置とし、 このモニタ装置にレイ ァゥト表示を行い実際にプロッ 卜される両像等を認識しながら修飾情報の変更を 行うこととした。 この代わりに、 十-記表示部 8として小型の液晶表示部を設け、 これに修飾情報のみを表示して該修飾情報の変更等を行うようにしてもよい。 こ れにより、 上記表示部 8を小型化することができることから、 本プロッタ装置を 小型且つさらに安価に形成することができる。
本発明に係る画像処理装置は、 プロッタ装置以外でもバンディング方式を採用 する機器であれば任意のものに適用可能である。 この他、 本発明に係る技術的思 想を逸脱しない範囲であれば種々の変更カ可能であることは勿論である。
本発明に係る画像処理装置は、 バンディング方式を採用しているため大記憶容 量のメモリを設けることなく入力画像データをラスタデータに変換することがで きる。 また、 確定前の修飾情報を有するプレ屮間コードを生成して記憶手段に格 納しておくようにしているため、 大記憶容量の入力バッファメモリを設けること なくプロッ ト前に修飾情報等を変更することができる。 この め上記各種メモリ の記憶容量の削減を通じて本画像処理装置のローコスト化を図ることができる。 また、 修飾情報の変更はプレ中間コードに対して行うことができるため、 ブ ロッ ト, レイァゥトの際の仮想的な用紙サイズを予め大きめに設定しておくこと で、 実際にセッ トされる用紙のサイズ力事前にわからない場合でも入力画像デー タの解析を可能とすることができる。
さらに、 例えばレイアウト時 (特に、 ロール紙をプロッ ト用紙として使用する 場合) や、 カッ トシートフィーダ使用時等のように、 連続してデ一タカ s伝送され てくる可能性が高い場合に、 実際にセッ 卜される用紙のサイズが変更された場合 でも、 C P Uの処理に余裕があるときにプレ中間コードに基づいて事前に入力画 像データの解析を行うことができる。 このため、 C P Uを有効に利用すること力' できる。 産業上の利用可能性
本発明は、 所定単位領域毎にべク トルデータをラスタデータに変換して印字を 行うプロッタ装置, プリンタ装置等の設計、 製造に利用することができる c

Claims

請 求 の 範 囲
1、 バンド単位に画像の形成を行う画像処理装置であって、
画像を構成するべクタ群の各べクタの端点の座標データと該ベクタの各種修飾 情報とからなる第 1のデータフォーマッ トの入力画像デ一タを、 前記各種修飾情 報を前記端点の座標デ一タとは独立に保持すると共に前記第 1のデータフォー マツ トに比べてデータ量が低減される第 2のデータフォーマツ トの画像データに 変換するデータフォーマツ ト変換手段と、
該データフォーマツ ト変換手段により得られた第 2のデータフォーマツ トの画 像デ—タの全体を格納する記憶手段と、
前記第 2のデータフォーマツ トの画像データに基づいて、 前記バンド単位に、 前記各種修飾情報を反映させた各べクタの輪郭を構成する座標デ一タからなる中 問コードを生成する中間コード生成手段と、
該中間コード生成手段により得られた中間コードを、 前記バンド単位に、 対応 するラスタデータに変換するラスタデータ生成手段と、
を備えた画像処理装置。
2、 前記第 2のデータフォーマッ トにおいて、 直列に連結したベクタ群は、 これ らのベクタの端点の座標データで表わし、 かつ、 先頭のベクタの始点のみ絶対座 標で表わし他の端点は相対座標で表わすことを特徴とする請求の範囲第 1項記載 の画像処理装置。
3、 前記第 2のデ—タフォ—マツ 卜の座標データは可変長データであり、 各座標 点の座標データに対して、 その直前に、 該座標データのデータ長および絶対座標 Z相対座標の種別を識別するための予め定められた固定長の指標データカ?付加さ れることを特徴とする請求の範囲第 2項記載の画像処理装置 c
4、 同じ種別の座標データ力 s連続する場合、 2番目以降の座標データについては 前記指標データを省略することを特徴とする請求の範囲第 3項記載の画像処理装 置。
5、 前記第 2のデータフォーマッ トにおいて、 前記座標データと前記指標データ とは、 予め定めた複数ビッ トの単位データの先頭ビッ 卜の値により区別されるこ とを特徴とする請求の範囲第 3項記載の画像処理装置。
6、 前記第 2のデータフォーマツ トにおいて、 前記各種修飾情報は固定長のペン 厲性デ一タを含み、 該ペン厲性デ一タの直前にも識別用の固定長の指標デ一タが 付加されることを特徴とする請求の範囲第 3項記載の画像処理装置。
7、 前記第 2のデータフォーマッ トにおいて、 前記ペン属性データは、 前記各種 修飾情報が変化したベクタの座標データに対してのみ付加されることを特徴とす る請求の範囲第 6項記載の画像処理装置。
8、 前記第 1のデータフォーマッ トの座標データを構成する数値は文字データで 表わされる請求の範囲第 1項記載の画像処理装置。
9、 前記中間コードは、 各バンドについて、 バン ド番号と、 該バンドに含まれる 各べクタの輪郭の水平セグメントの個数と、 各セグメントの座標データとにより 構成されることを特徴とする請求の範囲第 1項記載の画像処理装置。
1 0、 前記中間コ一ド生成手段は、 前記第 2のデ一タフォーマッ トの画像データ に基づいて中間コードを生成する際に、 ユーザの指示に従い、 前記第 2のデータ フォーマッ トの画像データの各種修飾情報より、 ユーザに指定された修飾情報の 方を優先して用いる手段を備えることを特徴とする請求の範囲第 1項記載の画像 処理装置。
1 1、 前記記憶手段に記憶されている前記第 2のデータフォーマツ トの画像デー タに記述された各種修飾情報のうちユーザにより指定された修飾情報を変更する 手段を有することを特徴とする請求の範囲第 1項記載の画像処理装置。
1 2、 前記第 2のデータフォ一マツ トの画像データに基づいて前記中間コ一ド生 成手段により中間コードを生成する際に、 複数個の画像を用紙上に配置する位置 や向きを決定する手段を有することを特徴とする請求の範囲第 1項記載の画像処
1 3、 前記データフォーマツ ト変換手段は、 前記入力画像データに基づいて、 当 該入力兩像のサィズを検出して、 該検出された画像サィズを表わす画像サィズ データを前記第 2のデータフォーマツ 卜の画像データ内に含め、 前記位置や向き を決定する手段は、 当該画像サイズデータを参照して前記位置や向きを決定する ことを特徴とする請求の範囲第〗 2項記載の画像処理装置。
1 4、 前記第 2のデ一タフォーマッ トの画像データに基づいて前記中間コ一ド生 成手段により中間コードを生成する際に、 画像を拡大または縮小する手段を有す ることを特徴とする請求の範囲第 1項記載の画像処理装置。
PCT/JP1997/000648 1996-03-04 1997-03-04 Processeur d'images WO1997033219A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE69737717T DE69737717T2 (de) 1996-03-04 1997-03-04 Bildprozessor
JP53165797A JP3527249B2 (ja) 1996-03-04 1997-03-04 画像処理装置
EP97903653A EP0919909B1 (en) 1996-03-04 1997-03-04 Image processor
US09/142,264 US6266455B1 (en) 1996-03-04 1997-03-04 Image processor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP4647596 1996-03-04
JP8/46475 1996-03-04

Publications (1)

Publication Number Publication Date
WO1997033219A1 true WO1997033219A1 (fr) 1997-09-12

Family

ID=12748228

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1997/000648 WO1997033219A1 (fr) 1996-03-04 1997-03-04 Processeur d'images

Country Status (5)

Country Link
US (1) US6266455B1 (ja)
EP (1) EP0919909B1 (ja)
JP (1) JP3527249B2 (ja)
DE (1) DE69737717T2 (ja)
WO (1) WO1997033219A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005262624A (ja) * 2004-03-18 2005-09-29 Ricoh Co Ltd 画像処理装置および画像処理方法、並びに画像処理方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6765687B2 (en) * 1998-09-10 2004-07-20 Canon Kabushiki Kaisha Image processing method and apparatus
AUPQ289099A0 (en) * 1999-09-16 1999-10-07 Silverbrook Research Pty Ltd Method and apparatus for manipulating a bayer image
US6903839B1 (en) 1999-09-03 2005-06-07 Imagex, Inc. Apparatus for washing of graphic image files
US6633890B1 (en) 1999-09-03 2003-10-14 Timothy A. Laverty Method for washing of graphic image files
AU7337700A (en) * 1999-09-03 2001-04-10 Imagex.Com, Inc. Method and apparatus for washing of graphic image files and load balancing of operations
JP4227263B2 (ja) * 1999-10-12 2009-02-18 キヤノン株式会社 画像処理装置、画像処理方法、及び、記憶媒体
US6771384B1 (en) 2000-01-10 2004-08-03 Kinko's Washington, Inc. Imposition of graphic image files
US6429947B1 (en) 2000-01-10 2002-08-06 Imagex, Inc. Automated, hosted prepress application
US20020191206A1 (en) * 2001-06-18 2002-12-19 Anderson Jeff M. Rendering broker service and method
JP4158374B2 (ja) * 2001-11-19 2008-10-01 ブラザー工業株式会社 画像形成装置およびプログラム
JP4413036B2 (ja) * 2004-02-25 2010-02-10 新光電気工業株式会社 描画装置、描画データ生成装置、描画方法、および描画データ生成方法
JP4766657B2 (ja) 2005-05-02 2011-09-07 キヤノン株式会社 画像処理装置及びその制御方法、プログラム
US8665482B2 (en) * 2007-03-01 2014-03-04 Konica Minolta Laboratory U.S.A., Inc. Raster image processor using a self-tuning banding mode
US7982749B2 (en) * 2008-01-31 2011-07-19 Microsoft Corporation Server-based rasterization of vector graphics
WO2010027324A1 (en) * 2008-09-08 2010-03-11 Scalado Ab Method for indexing images and for reading an index of an image
US8452005B2 (en) * 2009-11-30 2013-05-28 Red Hat, Inc. Unicode-compatible encipherment
US20220266614A1 (en) * 2018-09-12 2022-08-25 David Wachs Mechanical handwriting barcode apparatus and method of use thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01217621A (ja) * 1988-02-26 1989-08-31 Nec Corp 作画データ変換装置
JPH0524301A (ja) * 1991-07-24 1993-02-02 Ricoh Co Ltd プリンタの自動用紙選択方法
JPH06171160A (ja) * 1992-12-08 1994-06-21 Seiko Epson Corp 印刷情報処理装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4254467A (en) * 1979-06-04 1981-03-03 Xerox Corporation Vector to raster processor
US4458330A (en) * 1981-05-13 1984-07-03 Intergraph Corporation Banded vector to raster converter
JPH01277055A (ja) * 1988-04-28 1989-11-07 Dainippon Screen Mfg Co Ltd 多値描画のためのラスターデータ生成方法
US5028848A (en) * 1988-06-27 1991-07-02 Hewlett-Packard Company Tile vector to raster conversion method
JP2755308B2 (ja) * 1988-08-31 1998-05-20 キヤノン株式会社 出力方法及びその装置
US5164711A (en) * 1990-02-08 1992-11-17 International Business Machines Corporation System and method for generating graphical output
US5396582A (en) * 1991-02-06 1995-03-07 Hewlett-Packard Company Raster to vector conversion system and method therefor
US5680521A (en) * 1992-06-15 1997-10-21 Canon Kabushiki Kaisha Printing method and apparatus
JP3582675B2 (ja) * 1994-10-28 2004-10-27 セイコーエプソン株式会社 画像データをメモリに蓄積する装置及び方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01217621A (ja) * 1988-02-26 1989-08-31 Nec Corp 作画データ変換装置
JPH0524301A (ja) * 1991-07-24 1993-02-02 Ricoh Co Ltd プリンタの自動用紙選択方法
JPH06171160A (ja) * 1992-12-08 1994-06-21 Seiko Epson Corp 印刷情報処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP0919909A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005262624A (ja) * 2004-03-18 2005-09-29 Ricoh Co Ltd 画像処理装置および画像処理方法、並びに画像処理方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
US6266455B1 (en) 2001-07-24
DE69737717T2 (de) 2008-01-10
EP0919909A1 (en) 1999-06-02
DE69737717D1 (de) 2007-06-21
EP0919909B1 (en) 2007-05-09
EP0919909A4 (en) 2002-09-11
JP3527249B2 (ja) 2004-05-17

Similar Documents

Publication Publication Date Title
JP3527249B2 (ja) 画像処理装置
US5740335A (en) Method and device for transmitting and processing print data used for printer
JP2790285B2 (ja) フル・ページ・グラフィックス画像表示データ圧縮方法および装置
EP0423051B1 (en) Page printer on which plotter graphics are merged within a text
US6734986B1 (en) Print control apparatus, print data generating apparatus, print control method, print data generating method, and storage medium
US8274719B2 (en) Printing system, print preview method, and preview method using a printer driver
EP1187059B1 (en) Method and apparatus for printing computer generated images
JPH08286860A (ja) 出力制御方法及びその装置とそのコンピュータプログラム製品
KR100477777B1 (ko) 래스터 오브젝트를 생성하기 위한 방법, 시스템, 정보저장 매체, 및 컴퓨터 판독가능 매체
JPH0832471B2 (ja) 出力方法
JP2001219601A (ja) 印刷制御装置および印刷制御装置におけるデータ処理方法
USRE40328E1 (en) Document processing with flexible resolution and output style
JP3450961B2 (ja) 印刷装置及びその制御方法
JPH0330977A (ja) ページプリンタにおける印字基準位置設定方法
JP2000207147A (ja) 印刷デ―タ転送システム
JP3051496B2 (ja) 文書処理方法及びその装置
JP2711860B2 (ja) 出力制御方法およびその装置
JPH09188011A (ja) 記憶手段の管理装置及び記憶手段の管理方法
JP3450958B2 (ja) 印刷装置及び印刷方法
JPH01281963A (ja) 文書処理装置
JP2784823B2 (ja) プリンタの画像編集印字方式
JP2842011B2 (ja) 画像データ生成装置
JPH05274095A (ja) プリンタ制御装置
JP2002326403A (ja) 画像形成装置、画像形成方法及び画像形成プログラム
JPH03112668A (ja) 印刷装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 09142264

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1997903653

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1997903653

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1997903653

Country of ref document: EP